diff --git a/software/cinit/browse_source/cinit-0.0.4/BUGS b/software/cinit/browse_source/cinit-0.0.4/BUGS deleted file mode 100644 index dde5ba14..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/BUGS +++ /dev/null @@ -1,4 +0,0 @@ -To be done before 0.1 (dirty release): -- replace cerr-strings with #defines, so doubled strings are elimenated -- remove all printf()s, as they are debug only -- perhaps remove MAX_DEPS? diff --git a/software/cinit/browse_source/cinit-0.0.4/COPYING b/software/cinit/browse_source/cinit-0.0.4/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.0.4/CREDITS b/software/cinit/browse_source/cinit-0.0.4/CREDITS deleted file mode 100644 index fd3d6ff3..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/CREDITS +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -René Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete diff --git a/software/cinit/browse_source/cinit-0.0.4/Changelog b/software/cinit/browse_source/cinit-0.0.4/Changelog deleted file mode 100644 index 47142a97..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/Changelog +++ /dev/null @@ -1,8 +0,0 @@ -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.0.4/MT/debug b/software/cinit/browse_source/cinit-0.0.4/MT/debug deleted file mode 100644 index c92ba837..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/MT/debug +++ /dev/null @@ -1,213 +0,0 @@ -started up on Linux 2.6.11.10 #2 Tue May 17 11:58:45 CEST 2005 ppc -command line: 'monotone-0.18', 'rename', 'conf/c_shd', 'conf/c_halt' -set locale: LC_CTYPE=C, LC_MESSAGES=C -initial path is /home/user/nico/cinit-0.0.4 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 6 bytes from ANSI_X3.4-1968 to UTF-8 -converting 10 bytes from ANSI_X3.4-1968 to UTF-8 -converting 11 bytes from ANSI_X3.4-1968 to UTF-8 -searching for 'MT' directory with root '/' -search for 'MT' ended at '/home/user/nico/cinit-0.0.4' with '' removed -initializing from directory /home/user/nico/cinit-0.0.4 -found working copy directory /home/user/nico/cinit-0.0.4 -options path is MT/options -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -local dump path is MT/debug -setting dump path to MT/debug -opening rcfile '/home/user/nico/.monotonerc' ... -'/home/user/nico/.monotonerc' is ok -skipping nonexistent rcfile 'MT/monotonerc' -executing rename command -options path is MT/options -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -revision path is MT/revision -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 8 bytes from UTF-8 to ANSI_X3.4-1968 -loading revision id from MT/revision -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 8 bytes from UTF-8 to ANSI_X3.4-1968 -db.fetch("SELECT id FROM 'revisions' WHERE id = '1f5c45fa438bfd4f2c0f851e985d51e983cffaaa'") -db.fetch("SELECT data FROM revisions WHERE id = '1f5c45fa438bfd4f2c0f851e985d51e983cffaaa'") -old manifest is c6e5abc9fa52a464b3984cae46232bfd43feaabd -db.fetch("SELECT id FROM 'manifest_deltas' WHERE id = 'c6e5abc9fa52a464b3984cae46232bfd43feaabd'") -db.fetch("SELECT id FROM 'manifests' WHERE id = 'c6e5abc9fa52a464b3984cae46232bfd43feaabd'") -db.fetch("SELECT id FROM 'manifests' WHERE id = 'c6e5abc9fa52a464b3984cae46232bfd43feaabd'") -db.fetch("SELECT data FROM 'manifests' WHERE id = 'c6e5abc9fa52a464b3984cae46232bfd43feaabd'") -old manifest has 139 entries -work path is MT/work -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 4 bytes from UTF-8 to ANSI_X3.4-1968 -checking for un-committed work file MT/work -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 4 bytes from UTF-8 to ANSI_X3.4-1968 -read rearrangement from MT/work -'conf/c_shd' prefixed to 'conf/c_shd' -'conf/c_halt' prefixed to 'conf/c_halt' -analyzing file 1 : '' -> 'BUGS' -analyzing file 2 : '' -> 'CREDITS' -analyzing file 3 : '' -> 'Changelog' -analyzing file 4 : '' -> 'Makefile' -analyzing file 5 : '' -> 'README' -analyzing file 6 : '' -> 'TODO' -analyzing file 8 : '' -> 'bin/cinit.add.dependency' -analyzing file 9 : '' -> 'bin/cinit.add.getty' -analyzing file 10 : '' -> 'bin/cinit.create.cinit_dir' -analyzing file 11 : '' -> 'bin/cinit.create.empty.service' -analyzing file 12 : '' -> 'bin/cinit.do.not.respawn.service' -analyzing file 13 : '' -> 'bin/cinit.mkheader' -analyzing file 14 : '' -> 'bin/cinit.remove.getty' -analyzing file 15 : '' -> 'bin/cinit.respawn.service' -analyzing file 16 : '' -> 'bin/cinit.shutdown' -analyzing file 17 : '' -> 'bin/cinit.read-conf' -analyzing file 18 : '' -> 'cinit.h' -analyzing file 20 : '' -> 'client/begin_msg.c' -analyzing file 21 : '' -> 'client/connect_sock.c' -analyzing file 22 : '' -> 'client/exec_svc.c' -analyzing file 23 : '' -> 'client/kill_svc.c' -analyzing file 24 : '' -> 'client/msg_change_status.c' -analyzing file 25 : '' -> 'client/msg_start_svc.c' -analyzing file 26 : '' -> 'client/respawn_svc.c' -analyzing file 27 : '' -> 'client/run_run_svc.c' -analyzing file 28 : '' -> 'client/run_svc.c' -analyzing file 30 : '' -> 'comm/do_change_status.c' -analyzing file 31 : '' -> 'comm/do_result.c' -analyzing file 32 : '' -> 'comm/do_start_svc.c' -analyzing file 34 : '' -> 'conf/c_env' -analyzing file 35 : '' -> 'conf/c_init' -analyzing file 36 : '' -> 'conf/c_needs' -analyzing file 37 : '' -> 'conf/c_off' -analyzing file 38 : '' -> 'conf/c_on' -analyzing file 39 : '' -> 'conf/c_params' -analyzing file 40 : '' -> 'conf/c_reboot' -analyzing file 41 : '' -> 'conf/c_respawn' -analyzing file 42 : '' -> 'conf/c_shd' -analyzing file 43 : '' -> 'conf/c_sock' -analyzing file 44 : '' -> 'conf/c_tmp' -analyzing file 45 : '' -> 'conf/c_tmpfs' -analyzing file 46 : '' -> 'conf/c_tmpmount' -analyzing file 47 : '' -> 'conf/c_wants' -analyzing file 48 : '' -> 'conf/cinit_dir' -analyzing file 49 : '' -> 'conf/destdir' -analyzing file 50 : '' -> 'conf/getty_dir' -analyzing file 51 : '' -> 'conf/sleep_svc' -analyzing file 52 : '' -> 'conf/sock_group' -analyzing file 53 : '' -> 'conf/sock_mode' -analyzing file 54 : '' -> 'conf/sock_queue' -analyzing file 55 : '' -> 'conf/sock_user' -skipping preserved file 57 : '' -analyzing file 58 : '' -> 'doc/caveats' -analyzing file 59 : '' -> 'doc/cinit.commands' -analyzing file 61 : '' -> 'doc/fun/testing01' -analyzing file 62 : '' -> 'doc/how_it_works_internally' -analyzing file 63 : '' -> 'doc/ipc.thoughts' -analyzing file 64 : '' -> 'doc/ipc.usenet.posting' -analyzing file 65 : '' -> 'doc/posix.aardvark.bug.report' -analyzing file 66 : '' -> 'doc/shutting.down' -analyzing file 67 : '' -> 'doc/thoughts.closed' -analyzing file 68 : '' -> 'doc/thoughts.open' -analyzing file 70 : '' -> 'generic/mini_printf.c' -analyzing file 71 : '' -> 'generic/set_signals.c' -analyzing file 73 : '' -> 'old/cerr.c' -analyzing file 74 : '' -> 'old/cinit.c01' -analyzing file 75 : '' -> 'old/cinit.c02' -analyzing file 76 : '' -> 'old/cinit.c03' -analyzing file 77 : '' -> 'old/cinit.c04' -analyzing file 78 : '' -> 'old/cinit.c05' -analyzing file 79 : '' -> 'old/cinit.c06' -analyzing file 80 : '' -> 'old/cinit.commands.v01' -analyzing file 81 : '' -> 'old/cinit.h01' -analyzing file 82 : '' -> 'old/cnt_digits.c' -analyzing file 83 : '' -> 'old/do_change_status.c01' -analyzing file 84 : '' -> 'old/idea01' -analyzing file 85 : '' -> 'old/idea02' -analyzing file 86 : '' -> 'old/msg_change_status.c01' -analyzing file 87 : '' -> 'old/msg_start_svc.c' -analyzing file 88 : '' -> 'old/run_init_svc.c01' -analyzing file 89 : '' -> 'old/run_svc.c00' -analyzing file 90 : '' -> 'old/run_svc.c01' -analyzing file 91 : '' -> 'old/run_svc.c02' -analyzing file 92 : '' -> 'old/run_svc.c03' -analyzing file 93 : '' -> 'old/run_svc.c04' -analyzing file 94 : '' -> 'old/run_svc.c05' -analyzing file 95 : '' -> 'old/run_svc.c05.2' -analyzing file 96 : '' -> 'old/run_svc.c06' -analyzing file 97 : '' -> 'old/run_svc.c07' -analyzing file 98 : '' -> 'old/run_svc.c08' -analyzing file 99 : '' -> 'old/run_svc.c09' -analyzing file 100 : '' -> 'old/sig_chld.c' -analyzing file 101 : '' -> 'old/sigio.c01' -analyzing file 103 : '' -> 'sbin/cinit' -analyzing file 105 : '' -> 'serv/add_mod_svc.c' -analyzing file 106 : '' -> 'serv/chk_svc.c' -analyzing file 107 : '' -> 'serv/cinit.c' -analyzing file 108 : '' -> 'serv/list.c' -analyzing file 109 : '' -> 'serv/panic.c' -analyzing file 110 : '' -> 'serv/run_init_svc.c' -analyzing file 111 : '' -> 'serv/sig_reboot.c' -analyzing file 112 : '' -> 'serv/sigio.c' -analyzing file 114 : '' -> 'size/2005-04-26-14:54:44' -analyzing file 115 : '' -> 'size/2005-04-26-16:47:50' -analyzing file 116 : '' -> 'size/2005-04-26-16:48:48' -analyzing file 117 : '' -> 'size/2005-04-26-16:50:45' -analyzing file 118 : '' -> 'size/2005-04-26-17:12:48' -analyzing file 119 : '' -> 'size/2005-04-26-17:13:43' -analyzing file 120 : '' -> 'size/2005-04-26-23:05:33' -analyzing file 121 : '' -> 'size/2005-04-27-00:39:24' -analyzing file 122 : '' -> 'size/2005-04-30-15:18:22' -analyzing file 123 : '' -> 'size/2005-04-30-15:20:40' -analyzing file 124 : '' -> 'size/2005-04-30-15:23:25' -analyzing file 125 : '' -> 'size/2005-04-30-15:25:44' -analyzing file 126 : '' -> 'size/2005-04-30-15:32:43' -analyzing file 127 : '' -> 'size/2005-04-30-15:33:37' -analyzing file 128 : '' -> 'size/2005-04-30-15:41:08' -analyzing file 129 : '' -> 'size/2005-04-30-15:41:18' -analyzing file 130 : '' -> 'size/2005-04-30-15:46:09' -analyzing file 131 : '' -> 'size/2005-04-30-16:48:16' -analyzing file 132 : '' -> 'size/2005-04-30-16:50:05' -analyzing file 133 : '' -> 'size/2005-04-30-17:02:27' -analyzing file 134 : '' -> 'size/2005-04-30-17:03:00' -analyzing file 135 : '' -> 'size/2005-04-30-17:05:11' -analyzing file 136 : '' -> 'size/2005-04-30-17:06:15' -analyzing file 137 : '' -> 'size/2005-04-30-17:11:59' -analyzing file 138 : '' -> 'size/2005-04-30-17:13:43' -analyzing file 139 : '' -> 'size/2005-04-30-22:28:13' -analyzing file 140 : '' -> 'size/2005-04-30-22:34:23' -analyzing file 141 : '' -> 'size/2005-05-02-13:27:51' -analyzing file 142 : '' -> 'size/2005-05-02-13:46:31' -analyzing file 143 : '' -> 'size/2005-05-02-13:49:29' -analyzing file 144 : '' -> 'size/2005-05-02-13:49:58' -analyzing file 145 : '' -> 'size/2005-05-02-13:52:20' -analyzing file 146 : '' -> 'size/2005-05-02-13:55:50' -analyzing file 147 : '' -> 'size/2005-05-02-13:58:14' -analyzing file 148 : '' -> 'size/2005-05-02-13:59:53' -analyzing file 149 : '' -> 'size/2005-05-02-14:00:26' -analyzing file 150 : '' -> 'size/2005-05-02-14:04:19' -skipping preserved directory 151 : 'bin' -skipping preserved directory 152 : 'client' -skipping preserved directory 153 : 'comm' -skipping preserved directory 154 : 'conf' -skipping preserved directory 155 : 'doc' -skipping preserved directory 156 : 'doc/fun' -skipping preserved directory 157 : 'generic' -skipping preserved directory 158 : 'old' -skipping preserved directory 159 : 'sbin' -skipping preserved directory 160 : 'serv' -skipping preserved directory 161 : 'size' -analyzing file 168 : '' -> 'bin/cinit.add.shutdown.reboot.poweroff' -analyzing file 169 : '' -> 'bin/cinit.get-confdir' -analyzing file 171 : '' -> 'bin/not-working/cinit.create.service' -analyzing file 173 : '' -> 'conf/.README' -analyzing file 174 : '' -> 'conf/c_halt' -analyzing file 175 : '' -> 'conf/c_poweroff' -analyzing file 176 : '' -> 'conf/sleep_kill' -analyzing file 178 : '' -> 'doc/.buildwarn' -analyzing file 179 : '' -> 'doc/meta.dependencies' -skipping preserved directory 180 : 'bin/not-working' -adding conf/c_shd -> conf/c_halt to working copy rename set -skipping preserved directory 1 : 'conf' -analyzing file 2 : 'conf/c_shd' -> 'conf/c_halt' -change_set.cc:565: invariant 'I(entries.find(p) == entries.end())' violated diff --git a/software/cinit/browse_source/cinit-0.0.4/MT/log b/software/cinit/browse_source/cinit-0.0.4/MT/log deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.4/MT/options b/software/cinit/browse_source/cinit-0.0.4/MT/options deleted file mode 100644 index 33960254..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/MT/options +++ /dev/null @@ -1,3 +0,0 @@ - branch "info.clinux.cinit" -database "/home/user/nico/monotone.db" - key "" diff --git a/software/cinit/browse_source/cinit-0.0.4/MT/revision b/software/cinit/browse_source/cinit-0.0.4/MT/revision deleted file mode 100644 index 9b3e32e6..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/MT/revision +++ /dev/null @@ -1 +0,0 @@ -81778a4d16c2b27a8e686600dde41795fc5ed6b8 diff --git a/software/cinit/browse_source/cinit-0.0.4/Makefile b/software/cinit/browse_source/cinit-0.0.4/Makefile deleted file mode 100644 index 6726f177..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/Makefile +++ /dev/null @@ -1,83 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefile, use conf/*. -# - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-g -DDEBUG -OPTIMIZE=-Os -LDFLAGS=-static # init should be static per default! - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) -CFLAGS=-pipe -Wall -I. -LD=gcc -STRIP=strip - -# monotone -MT=monotone-0.18 - -# directories and files -DIRS=client bin conf comm generic doc sbin serv -FILES=BUGS Changelog Makefile README TODO cinit.h - -# objects -SERV=serv/sigio.o serv/cinit.o serv/list.o \ - serv/run_init_svc.o serv/panic.o serv/sig_reboot.o - -CLIENT=client/msg_start_svc.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svc.o \ - client/connect_sock.o client/begin_msg.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_start_svc.o - -BOTH=generic/set_signals.o generic/mini_printf.o - -OBJ=$(SERV) $(CLIENT) $(BOTH) $(COMMUNICATION) - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -all: $(CINIT_BIN) sizecheck - -$(CINIT_BIN): $(SBIN) config.h $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ -$(SBIN): - mkdir $(SBIN) -sizecheck: - FILE="size/`date +%Y-%m-%d-%T`"; ls -l sbin/cinit > $$FILE; cat $$FILE -clean: - rm -f *.o */*.o sbin/cinit config.h -config.h: conf/* - ./bin/cinit.mkheader > config.h - -mt-update: - $(MT) add $(DIRS) $(FILES) 2>/dev/null -mt-commit: - $(MT) commit -mt-sync: - $(MT) sync linux.schottelius.org info.clinux.cinit - -install: - chmod 0700 ./scripts/install - ./bin/cinit.install.binary -# rm /sbin/cinit -# cp sbin/cinit /sbin/cinit - -install-conf: - @echo *** Creating very basic configuration. *** - ./bin/cinit.install.conf -install-test: - @echo *** Copying testing configuration. *** - ./bin/cinit.install.test diff --git a/software/cinit/browse_source/cinit-0.0.4/README b/software/cinit/browse_source/cinit-0.0.4/README deleted file mode 100644 index 54da5376..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/README +++ /dev/null @@ -1,92 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features. -It is orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every POSIX compatible system. -- true dependencies -- parallel execution -- highly customisable (see conf/*) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via monotone. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -If it's the first time you operate with cinit, also do: -# make install-example - -This will populate /etc/cinit with some default services for Linux -(mounting root r/w, starting gettys, setting hostname). - -This should work on most Linux systems, still you should have a -look at /etc/cinit and see whether services are correct. - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. - -sampleconfig.tar is the tar-ball I used for testing, beware if you use it: -It loads dvorak at startup! - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit.html diff --git a/software/cinit/browse_source/cinit-0.0.4/TODO b/software/cinit/browse_source/cinit-0.0.4/TODO deleted file mode 100644 index 049a0bbc..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/TODO +++ /dev/null @@ -1,66 +0,0 @@ -- check return values of most functions! -- check errno! -- check whether headers are ok -- remove printfs! -- write manpages (use doc/* as base for that) -- eventually split cinit code to csvc to minimize binary of cinit? -- cleanup comments -- cleanup headers! -- respawn_svc and exec_svc must return pid_t of executed service / watcher -- exec_svc.c: should we also change environment? -- write install-example for non-Linux systems (think of merge also) -- move messages to cinit.h or message.h or conf/msg-*! -- remove MAX_SVC -- change exec_svc to be much more dumb! - *svc, *svc_param_file, *svc_env_file -- remove stat from exec_svc, do before! -- check for possibilies to save ram, free things -- stat() in run_svc -> don't call exec_svc, respawn_svc, run_run_svc -- close(*>2) before forking / executing -- get CTR-ALT-DEL -- check if we caught every signal, which could kill us -- create coala-socket with correct permissions! (550, root:cinit) - -- run_svc_new: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - o should we check strcat and strcpy return values or do we expect them to work? - --------------------------------------------------------------------------------- - -- script merge sysVinit to cinit? -- circulaere abhaengigkeiten? - - script vorher? - --------------------------------------------------------------------------------- - -- create conversion table: - djbdns <-> name_server - dnscache <-> name_caching - qmail,postfix,... <-> MTA - --------------------------------------------------------------------------------- -create_mini_cinit - -> create something which should be runnable - -> mount, fsck, getty - --> for dev in `read /etc/fstab` ... - fsck $dev - --> mount -a - --> mount -n -o remount,rw / - --> getty from /etc/inittab or /sbin/*getty - -> find out, which gettys with which params - -> use it on 'make install' --------------------------------------------------------------------------------- - -signal handlers: -sa.sa_handler=sigint; sigaction(SIGINT,&sa,0); /* ctrl-alt-del */ -sa.sa_handler=sigwinch; sigaction(SIGWINCH,&sa,0); /* keyboard request */ - --------------------------------------------------------------------------------- - -Add support for 'cinit' group, which may shutdown/reboot/halt with -SO_PASSCRED in sockets - --------------------------------------------------------------------------------- -Done -- include '/' in C_RUNS? make double strings? -> no. diff --git a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.0.4/bin/cinit.add.dependency deleted file mode 100644 index 17683dcc..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.add.dependency +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or needs Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -case $DEP in - wants) DEP=$C_WANTS ;; - needs) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could some PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEST="${BASEDIR}/${SVC_A}/${DEP}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.0.4/bin/cinit.add.getty deleted file mode 100644 index 2c97d607..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.add.getty +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && echo * | sed 's/.* //') -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -if [ ! "$mygetty" ]; then - echo "No useable getty found, existing." - exit 1 -fi - -echo -n "Using $mygetty $params ... " -mkdir -p "$DDIR" -ln -s $mygetty "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.0.4/bin/cinit.create.empty.service deleted file mode 100644 index 9fe748d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.create.empty.service +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR -BASEDIR=./testcinit - - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.do.not.respawn.service b/software/cinit/browse_source/cinit-0.0.4/bin/cinit.do.not.respawn.service deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.do.not.respawn.service +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.get-confdir b/software/cinit/browse_source/cinit-0.0.4/bin/cinit.get-confdir deleted file mode 100644 index a36c52f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.get-confdir +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# 2005-05-24 - -# try environment first -if [ "$CINIT_DIR" ]; then - CONFDIR=$CINIT_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -elif [ -d /etc/cinit ]; then - CONFDIR=/etc/cinit -else - echo Did not find cinit configuration 1>&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.0.4/bin/cinit.install.binary deleted file mode 100644 index 4d447257..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.install.binary +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# - - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" "$INSTALL_DIRECTORY" $DESTDIR/$PREFIX/$CINIT_DIR diff --git a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.mkheader b/software/cinit/browse_source/cinit-0.0.4/bin/cinit.mkheader deleted file mode 100644 index e1f35d07..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.mkheader +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric - no I didn't see an easier way - numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - - [ "$numeric" ] || value="\"$value\"" - - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.read-conf b/software/cinit/browse_source/cinit-0.0.4/bin/cinit.read-conf deleted file mode 100644 index 4263129c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.read-conf +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - eval $NAME="$(head -n 1 $conf)" - eval export $NAME -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.0.4/bin/cinit.remove.getty deleted file mode 100644 index 5a885725..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.remove.getty +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR; echo * | sed 's/.* //') - -[ ! "$NUMBER" ] && exit 1 - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r $DDIR -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.respawn.service b/software/cinit/browse_source/cinit-0.0.4/bin/cinit.respawn.service deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.respawn.service +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.0.4/bin/cinit.shutdown deleted file mode 100644 index 49b1dabd..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/bin/cinit.shutdown +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# 2005-05-24 - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -o|--off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -o|--off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.0.4/bin/not-working/cinit.create.service b/software/cinit/browse_source/cinit-0.0.4/bin/not-working/cinit.create.service deleted file mode 100644 index df092275..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/bin/not-working/cinit.create.service +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name (including category)" - echo " I do create a service for you" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -# read input (from gentoo-bug.sh, http://linux.schottelius.org/scripts/#gentoo-bug -reread() -{ - _tmp="" - name="$1" - - while [ ! "$_tmp" ]; do - read -p "$1 [$_tmp]: " _tmp - done - - echo $_tmp -} - - -for svc in $@; do - echo -n "Creating $svc ..." - mkdir -p "${BASEDIR}/${svc}" - cd ${BASEDIR}/${svc} - mkdir -p "${C_WANTS}" "${C_NEEDS}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.4/cinit.h b/software/cinit/browse_source/cinit-0.0.4/cinit.h deleted file mode 100644 index 353071be..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/cinit.h +++ /dev/null @@ -1,129 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* limits: will be obsolete in cinit-1.0 */ -#define MAX_SVC 510 /* maximum services - defines size of array - may later be obsoleted */ -#define MAX_DEPS 32 /* maximum direct dependencies of a service */ -#define BUFSIZE 4096 - -/* paths */ -#define C_ONARG C_ON C_PARAMS -#define C_OFFARG C_OFF C_PARAMS -#define C_ONENV C_ON C_ENV -#define C_OFFENV C_OFF C_ENV - -#define SLASH "/" - -#define CINIT_INIT CINIT_DIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK - -/* commands (maximum: 2^8 = 256)*/ -#define CMD_START_SVC 0 -#define CMD_CHG_STATUS 1 -#define CMD_STOP_SVC 2 -#define CMD_KILL_SVC 3 - -#define CMD_RESCUE 251 -#define CMD_INIT 252 - -#define CMD_HALT 253 -#define CMD_REBOOT 254 -#define CMD_POWEROFF 255 - -/* status of a service */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ -#define ST_FAIL 4 /* failed to start service */ - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* Messages to the outside */ - -#define MSG_ERR_FORK "fork" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_TERMKILL "sigterm" -#define MSG_KILLBILL "sigkill" - -/* array of svc - not needed anymore -struct svc { - char *abs_path; * service identifier * - char status; * tmp, respawn, ran once * - pid_t pid; * pid of the process * -}; - -struct svcl { - struct svc svca[MAX_SVC]; - int process; -}; -*/ - -// extern struct svcl svc_list; -struct listitem { - char *abs_path; - int status; - pid_t pid; - struct listitem *before; - struct listitem *after; -}; - - -/* variables */ -extern struct listitem *list; -extern int sock, logfd; - -/* functions (used by server and client) */ -void cerr(char *string, int status); -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -#define LOG(s) mini_printf(s,logfd) - -int do_start_svc(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -/* int chk_svc(char *svc); -int add_mod_svc(char *svc, char status, pid_t pid); */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int run_init_svc(void); -void sigio(int signal); -void sig_reboot(int signal); -void panic(void); - -/* client / message functions */ -int msg_start_svc(char *svc); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); - - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* Messages to the outside */ diff --git a/software/cinit/browse_source/cinit-0.0.4/client/README b/software/cinit/browse_source/cinit-0.0.4/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.0.4/client/begin_msg.c b/software/cinit/browse_source/cinit-0.0.4/client/begin_msg.c deleted file mode 100644 index 9b569543..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror("i/o: command"); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/client/connect_sock.c b/software/cinit/browse_source/cinit-0.0.4/client/connect_sock.c deleted file mode 100644 index 831121b7..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/client/connect_sock.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - D_PRINTF("socket verbinden"); - - /******************* begin socket *********************/ - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror("socket"); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - perror("connect"); - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/client/exec_svc.c b/software/cinit/browse_source/cinit-0.0.4/client/exec_svc.c deleted file mode 100644 index bdbe53f8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/client/exec_svc.c +++ /dev/null @@ -1,246 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -pid_t exec_svc(char *abspath, int on) -{ - pid_t pid; - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - pid = fork(); - if( pid == -1 ) { - perror("fork"); - return 0; - } - - /***** PARENT ******/ - if(pid > 0) { - waitpid(pid,&tmp,0); - if( WIFEXITED(tmp) ) { - D_PRINTF("EXEC SVC ERFOLGREICH"); - return pid; - } else { - D_PRINTF("EXEC SVC FEHLGESCHLAGEN"); - return 0; - } - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - - if(on) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - D_PRINTF(pathtmp); - - /* readlink retrieves real name, if it is a symlink */ - if ( (tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror("readlink"); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - - if(on) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - tmp++; /* add memory for \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - - if(on) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror("open"); - _exit(1); - } - - argc = 0; - - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror("read"); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG("realloc failed"); - _exit(1); - } - - nargv[argc] = sbuf; - *p = '\0'; - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - argc++; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG("realloc failed"); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(on) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* if a file exists, failing to open it is an error */ - if(fd == -1) { - perror("open"); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror("read"); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG("realloc failed"); - _exit(1); - } - - nenv[argc] = sbuf; - *p = '\0'; - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - argc++; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - perror(MSG_ERR_EXECVE); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.0.4/client/kill_svc.c b/software/cinit/browse_source/cinit-0.0.4/client/kill_svc.c deleted file mode 100644 index d9ce3a8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/client/kill_svc.c +++ /dev/null @@ -1,104 +0,0 @@ -KOPIE VON RUN_SVC - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and beforeo all dependencies - */ -void kill_svc(char *rpath, pid_t pid) -{ - int tmp; - char svc[PATH_MAX], svcparams[PATH_MAX]; - struct stat buf; - - D_PRINTF("starte kill_svc"); - D_PRINTF(rpath); - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - /* FIXME: add log + service name here */ - D_PRINTF("some NEEDED services failed)"); - msg_change_status(abspath, ST_FAIL, 0); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawning"); - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - D_PRINTF("exec_unce"); - pid = exec_svc(abspath); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return 0; - } - - D_PRINTF("Melde status"); - if(!msg_change_status(abspath, tmp, pid) ) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.0.4/client/msg_change_status.c deleted file mode 100644 index 837d87b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -int msg_change_status(char *svc, char status, pid_t pid) -{ - D_PRINTF(svc); - - if(!begin_msg(CMD_CHG_STATUS)) return 0; - - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/client/msg_start_svc.c b/software/cinit/browse_source/cinit-0.0.4/client/msg_start_svc.c deleted file mode 100644 index d7e8867c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/client/msg_start_svc.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -int msg_start_svc(char *svc) -{ - D_PRINTF(svc); - - D_PRINTF("writing message begin"); - if(!begin_msg(CMD_START_SVC)) return 0; - D_PRINTF("writing service infos"); - if(!do_start_svc(sock,svc,ACT_CLIENT)) return 0; - D_PRINTF("reading result"); - if(!do_result(sock,NULL)) return 0; - D_PRINTF("gutes ende"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.0.4/client/respawn_svc.c deleted file mode 100644 index e5c5d4c2..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/client/respawn_svc.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int status; - int pipefd[2]; - - if(pipe(pipefd) == -1) { - perror("pope"); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror("forke"); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&status,sizeof(status)) == -1) { - perror("read pope"); - return 0; - } - return pid; /* return watchers pid */ - } - - /******************** CHILD ********************/ - /* FIXME: add signal handler for shut down */ - - status = 1; - if( write(pipefd[1],&status,sizeof(status)) == -1) { - perror("read pope"); - _exit(1); - } - - while( status ) { - D_PRINTF(abspath); - pid = exec_svc(abspath, status); - - waitpid(pid,&status,0); - - if( ! WIFEXITED(status) ) { - if( WEXITSTATUS(status) ) { - /* sleep conf/c_sleep seconds on error exit */ - sleep(SLEEP_SVC); - D_PRINTF("schlecht gestorben"); - } - } - } - - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.0.4/client/run_run_svc.c b/software/cinit/browse_source/cinit-0.0.4/client/run_run_svc.c deleted file mode 100644 index 9cea0f33..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/client/run_run_svc.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX]; - pid_t pids[MAX_DEPS]; - int status, i=0, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - i++; - } else { - LOG("to many dependencies"); - break; - } - - if(pids[i-1] == -1) { /* err */ - LOG("fork failed"); - return 0; - } - - if(pids[i-1] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,"/"); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - if( ! WIFEXITED(status)) { - ret = 0; - } - i--; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/client/run_svc.c b/software/cinit/browse_source/cinit-0.0.4/client/run_svc.c deleted file mode 100644 index 9c765cc0..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/client/run_svc.c +++ /dev/null @@ -1,111 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and beforeo all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - /* FIXME: add log + service name here */ - D_PRINTF("some NEEDED services failed"); - msg_change_status(abspath, ST_FAIL, 0); - return 0; - } - } - - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - D_PRINTF("Starte wants"); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - /*FIXME: check for C_ON, otherwise we are done! */ - - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - tmp = 1; - pid = exec_svc(abspath, tmp); - tmp = ST_ONCE; - } - - D_PRINTF("Melde status"); - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return 0; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/comm/README b/software/cinit/browse_source/cinit-0.0.4/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.0.4/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.0.4/comm/do_change_status.c deleted file mode 100644 index 5e43654b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/comm/do_change_status.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror("i/o: length"); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror("i/o: service name"); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror("i/o: status"); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror("i/o: PID"); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/comm/do_result.c b/software/cinit/browse_source/cinit-0.0.4/comm/do_result.c deleted file mode 100644 index 3bf78718..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/comm/do_result.c +++ /dev/null @@ -1,32 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int sock2, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(sock2,value,1) == -1) { /* result */ - perror("i/o: result"); - return 0; - } - - return *value; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/comm/do_start_svc.c b/software/cinit/browse_source/cinit-0.0.4/comm/do_start_svc.c deleted file mode 100644 index 959a0001..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/comm/do_start_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_start_svc(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror("i/o: len"); - return 0; - } - - if(tmp > PATH_MAX) return 0; - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror("i/o: service name"); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/.README b/software/cinit/browse_source/cinit-0.0.4/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_env b/software/cinit/browse_source/cinit-0.0.4/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_halt b/software/cinit/browse_source/cinit-0.0.4/conf/c_halt deleted file mode 100644 index bc062a2c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the service we should start when 'halting' (system stop, but no -power off). diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_init b/software/cinit/browse_source/cinit-0.0.4/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_needs b/software/cinit/browse_source/cinit-0.0.4/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_off b/software/cinit/browse_source/cinit-0.0.4/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_on b/software/cinit/browse_source/cinit-0.0.4/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_params b/software/cinit/browse_source/cinit-0.0.4/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_poweroff b/software/cinit/browse_source/cinit-0.0.4/conf/c_poweroff deleted file mode 100644 index 273d4bec..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_poweroff +++ /dev/null @@ -1,3 +0,0 @@ -poweroff - -Name of the service we should start, when system power-off is called. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_reboot b/software/cinit/browse_source/cinit-0.0.4/conf/c_reboot deleted file mode 100644 index 17937b4a..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_reboot +++ /dev/null @@ -1,3 +0,0 @@ -reboot - -Name of the service we should start on reboot. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_respawn b/software/cinit/browse_source/cinit-0.0.4/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_sock b/software/cinit/browse_source/cinit-0.0.4/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_tmp b/software/cinit/browse_source/cinit-0.0.4/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.0.4/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.0.4/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/c_wants b/software/cinit/browse_source/cinit-0.0.4/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/cinit_dir b/software/cinit/browse_source/cinit-0.0.4/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/destdir b/software/cinit/browse_source/cinit-0.0.4/conf/destdir deleted file mode 100644 index 8b137891..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/destdir +++ /dev/null @@ -1 +0,0 @@ - diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/getty_dir b/software/cinit/browse_source/cinit-0.0.4/conf/getty_dir deleted file mode 100644 index 75d31cb2..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-example'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/install_directory b/software/cinit/browse_source/cinit-0.0.4/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/install_prog b/software/cinit/browse_source/cinit-0.0.4/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/prefix b/software/cinit/browse_source/cinit-0.0.4/conf/prefix deleted file mode 100644 index 580ae0cb..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/prefix +++ /dev/null @@ -1,4 +0,0 @@ -/ - -Where to install cinit. Normally this will be /, but you can put in anywhere. -The subdirectory 'sbin' under this prefix must be reabable by the kernel. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/sleep_kill b/software/cinit/browse_source/cinit-0.0.4/conf/sleep_kill deleted file mode 100644 index de1fd006..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/sleep_kill +++ /dev/null @@ -1,5 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/sleep_svc b/software/cinit/browse_source/cinit-0.0.4/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/sock_group b/software/cinit/browse_source/cinit-0.0.4/conf/sock_group deleted file mode 100644 index d4c1adda..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/sock_group +++ /dev/null @@ -1,3 +0,0 @@ -root - -The group, which should own the communication socket. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/sock_mode b/software/cinit/browse_source/cinit-0.0.4/conf/sock_mode deleted file mode 100644 index b2a727b0..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/sock_mode +++ /dev/null @@ -1,3 +0,0 @@ -0770 - -Octal mode of socket. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/sock_queue b/software/cinit/browse_source/cinit-0.0.4/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.0.4/conf/sock_user b/software/cinit/browse_source/cinit-0.0.4/conf/sock_user deleted file mode 100644 index 34274f4f..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/conf/sock_user +++ /dev/null @@ -1,3 +0,0 @@ -root - -The one who should own the communication socket. diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/.buildwarn b/software/cinit/browse_source/cinit-0.0.4/doc/.buildwarn deleted file mode 100644 index 43c26832..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/.buildwarn +++ /dev/null @@ -1,20 +0,0 @@ - -------------- -W A R N I N G -------------- - -**************************************************************************** -THIS IS A PRE-RELEASE, NOT YET THOUGHT TO BE USED IN PRODUCTIVE ENVIRONMENT! -**************************************************************************** - -First of all configure cinit through the configuration files found in conf/. -Especially look at conf/*tmp*. - -The documentation can be found in doc/. - -After reading and configuring use: - - "make all" - to build cinit - "make install" - to install cinit - "make install-example" - to install cinit configuration example - -> WARNING: the last two make targets do not honour $DESTDIR yet! diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/caveats b/software/cinit/browse_source/cinit-0.0.4/doc/caveats deleted file mode 100644 index 3eac4a92..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/caveats +++ /dev/null @@ -1,14 +0,0 @@ -'Geheimnisse' in German - - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporary disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster, if you omit non needed - 'wants' and 'needs' dirs, as they need to be scanned, if they - exist diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/cinit.commands b/software/cinit/browse_source/cinit-0.0.4/doc/cinit.commands deleted file mode 100644 index 3614b3c7..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/cinit.commands +++ /dev/null @@ -1,89 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (uses SO_PEERCRED as -socketoption). - -The communication-protocol is binary. - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service and its dependencies. - CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_INIT: Start all services (again possibly). - - CMD_HALT: Halt the system*) - CMD_REBOOT: Reboot the system*) - CMD_POWEROFF: Power-off the system*) - - *) The commands are not and maybe will never be implemented, - as they are realized as signals. - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) ok, a SID, a service ID: int svc_id; [ really need int? ] - b) fail, [currently only fail is returned] - a) already running - b) svc_name too long / not allowed - - [ A service identification is used for faster searching in cinit. - It is also a hint for developers of external software, that they should not - be able to use CMD_CHG_STATUS, if they didn't start a service. - They should use CMD_STOP_SVC to stop a service. - Starting a service is currently done via exec() in the external program or - a cinit-fork(). ] - -CMD1CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_INIT: Start all services (again possibly). - cinit returns: ready... - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/configuring.cinit b/software/cinit/browse_source/cinit-0.0.4/doc/configuring.cinit deleted file mode 100644 index 61880098..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/configuring.cinit +++ /dev/null @@ -1,12 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, Nico Schottelius 2005-05-28 --------------------------------------------------------------------------------- - -Services -mostly no shell scripts -linking to system configuration -adding services with cinit.add.service? -> later, meta-deps? -pidfilehack - from fefe/minit? - -meta-deps - diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/fun/testing01 b/software/cinit/browse_source/cinit-0.0.4/doc/fun/testing01 deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/fun/testing01 +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/how_it_works_internally b/software/cinit/browse_source/cinit-0.0.4/doc/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/ipc.thoughts b/software/cinit/browse_source/cinit-0.0.4/doc/ipc.thoughts deleted file mode 100644 index d7352559..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/ipc.thoughts +++ /dev/null @@ -1,74 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2), -1024=max fds, -3=already opened (stderr/stdin/stdout), /2= -two fds needed per clients). - -Pipes cannot be use easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR. - -That way, we are forced to mount a temporary filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt and - - poweroff. - -Simple send cinit a signal, what todo: - SIGUSR1: reboot - SIGUSR2: poweroff - TERM: halt - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.0.4/doc/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/meta.dependencies b/software/cinit/browse_source/cinit-0.0.4/doc/meta.dependencies deleted file mode 100644 index 02f05bef..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/meta.dependencies +++ /dev/null @@ -1,55 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycach, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger, bloatig and much slower. - -On the other hand, on would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation. - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -it does not need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.0.4/doc/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/shutting.down b/software/cinit/browse_source/cinit-0.0.4/doc/shutting.down deleted file mode 100644 index d5b0b2f7..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/shutting.down +++ /dev/null @@ -1,60 +0,0 @@ --------------------------------------------------------------------------------- -Shutting down the system -Nico Schotteilus, 2005-05-24 --------------------------------------------------------------------------------- - -cinit wird normalerweise alles herunterfahren und $etwas tun. - -1. What to do to allow a system to shutdown? - -Create /etc/cinit/reboot, /etc/cinit/power-off and /etc/cinit/halt. - -It's in most scenarios also enough to create only one of those -service directories and link all others against the first one: - -[21:38] ei:cinit# mkdir /etc/cinit/power-off -[21:38] ei:cinit# ln -s power-off /etc/cinit/reboot -[21:38] ei:cinit# ln -s power-off /etc/cinit/halt - -Then create the needed services, which are almost always: - - - swapoff: disable swap - - sync: sync buffers to disk - - umount: umount everything - - remount: remount root read-only - - -on oder off????? - -Add dependencies to - -You can also use -What todo when shutting down (reboot, halt, poweroff) the system: - -1. Cycle through service list and -while(processes--) { - Stop_current_processs -} - - - Stop_current_processs - \ if(status = respawn) - | -> kill -TERM pid - | exec_svc(svc/off, svc/off.params) - -kill remaining processes with SIGTERM -sleep(WAIT_KILL) -kill remaining processes with SIGKILL -sync; -umount(*) - -reboot - - -- cycle through running services, kill them the other way round -- stop respawing processes - -- start off-process of running services -- don't shutdown failed services - -kill_svc(struct stat svc); - diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/thoughts.closed b/software/cinit/browse_source/cinit-0.0.4/doc/thoughts.closed deleted file mode 100644 index 1da4bebe..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/thoughts.closed +++ /dev/null @@ -1,24 +0,0 @@ -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporary fs before. - diff --git a/software/cinit/browse_source/cinit-0.0.4/doc/thoughts.open b/software/cinit/browse_source/cinit-0.0.4/doc/thoughts.open deleted file mode 100644 index 5e0a054c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/doc/thoughts.open +++ /dev/null @@ -1,14 +0,0 @@ -- Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. - -- Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. diff --git a/software/cinit/browse_source/cinit-0.0.4/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.0.4/generic/mini_printf.c deleted file mode 100644 index d384e717..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/generic/mini_printf.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print string - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - p = str; - while ( *p != '\0') { - write(fd,p,1); - p++; - } - - write(fd,"\n",1); /* FIXME: only when console */ -} diff --git a/software/cinit/browse_source/cinit-0.0.4/generic/set_signals.c b/software/cinit/browse_source/cinit-0.0.4/generic/set_signals.c deleted file mode 100644 index aa3233b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/generic/set_signals.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - sigaction(SIGUSR2,&sa,NULL); /* USR2 */ - sigaction(SIGQUIT,&sa,NULL); /* QUIT... */ - sigaction(SIGTTIN,&sa,NULL); - sigaction(SIGTTOU,&sa,NULL); - - /* sigio is called to act on the socket */ - if(action == ACT_SERV) { - sa.sa_handler=sigio; - } - sigaction(SIGIO,&sa,NULL); - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } -// sigaction(SIGINT,&sa,NULL); /* FIXME: Testing only: ctr+c = REBOOT!!! */ - sigaction(SIGUSR1,&sa,NULL); - sigaction(SIGTERM,&sa,NULL); - sigaction(SIGHUP,&sa,NULL); - - /* sigstop can't be ignored, do the manpages say */ - /* sigaction(SIGSTOP,&sa,NULL); */ -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/add_mod_svc.c b/software/cinit/browse_source/cinit-0.0.4/old/add_mod_svc.c deleted file mode 100644 index c74778d4..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/add_mod_svc.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * add_svc - * part of cinit - */ - -#include - -#include "cinit.h" - -/* we return the service id or -1 on error*/ -int add_mod_svc(char *svc, char status, pid_t pid) -{ - int tmp = 0; - - /* check if service exists, if so, set new status, return sid */ - tmp = chk_svc(svc); - if( tmp != -1 ) { - svc_list.svca[tmp].status = status; - return tmp; - } - - /* still here? than there is no such service */ - if(svc_list.process < MAX_SVC) { - printf("[%d]: %s (%d)\n",svc_list.process,svc,pid); - svc_list.svca[svc_list.process].abs_path = strdup(svc); - - if(svc_list.svca[svc_list.process].abs_path == NULL) { - LOG("strdup failed!"); - return -1; - } - svc_list.svca[svc_list.process].pid = pid; - /* inkrement later, as we count argv[0..n] */ - (svc_list.process)++; - } else { - LOG("too many services"); - return -1; - } - - /* return _our_ service id */ - return (svc_list.process -1); -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/cerr.c b/software/cinit/browse_source/cinit-0.0.4/old/cerr.c deleted file mode 100644 index b9dec472..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/cerr.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print error to stderr and exist - */ - -#include -#include "cinit.h" - -void cerr(char *string, int status) -{ - char *p; - - p = string; - while ( *p != '\0') { - write(2,p,1); - p++; - } - write(2,"\n",1); - - switch(status) { - case RT_CHLD_FAIL: - case RT_CHLD_OK: - _exit(status); - ;; - case RT_PAR_FAIL: /* FIXME: if status is RT_PAR_FAIL, start sulogin */ - _exit(23); - ;; - case RT_PAR_OK: - return; - ;; - } - -/* FIXME: return if in cinit, _exit on fork() */ -// if(...) -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/cinit.add.shutdown.reboot.poweroff b/software/cinit/browse_source/cinit-0.0.4/old/cinit.add.shutdown.reboot.poweroff deleted file mode 100644 index 23cae705..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/cinit.add.shutdown.reboot.poweroff +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add shutdown/reboot/poweroff service - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -# create halt, link reboot and poweroff to it -mkdir "$BASEDIR/$C_HALT" -ln -s "$C_HALT" "$BASEDIR/$C_REBOOT" -ln -s "$C_HALT" "$BASEDIR/$C_POWEROFF" diff --git a/software/cinit/browse_source/cinit-0.0.4/old/cinit.c01 b/software/cinit/browse_source/cinit-0.0.4/old/cinit.c01 deleted file mode 100644 index e3890013..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/cinit.c01 +++ /dev/null @@ -1,105 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - - -#include - -#define EKEL "/etc/cinit/init/wants" - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/* - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - - /* check if already running / ran / currently starting */ - - /* check for needs -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es, %s\n", pathbuf); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) printf("dir gibt es, %s\n", pathbuf); - - d_tmp = opendir(path); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -int main() -{ - - char buf[256]; - int tmp; - - strcpy(buf,CINIT_DIR); - tmp = strlen(CINIT_DIR); - buf[tmp] = '/'; - strcpy(&buf[tmp+1],C_INIT); - - printf("path: %s\n",buf); - - run_svc("/etc/cinit/init"); - - run_svc("/etc/cinit2/init"); - - run_svc("/NOT_THERE"); - -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/cinit.c02 b/software/cinit/browse_source/cinit-0.0.4/old/cinit.c02 deleted file mode 100644 index 7e5432b4..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/cinit.c02 +++ /dev/null @@ -1,198 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" -#define C_RUN "run" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - -/* wait() */ -#include - -/* strlen */ -#include - -#include - -#define EKEL "/etc/cinit/init/wants" - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/*********************************************************************** - * parallel run forked() run_svc() - */ -#define MAX_PAR 32 - -int run_run_svcs(char *rpath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - pid_t pids[MAX_PAR]; - int tmp,i=0; - - printf("run_run_svcs on: %s\n",rpath); - - d_tmp = opendir(rpath); - - if(d_tmp == NULL) { - printf("Failed to open dir: %s", rpath); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 - || strcmp(tdirent->d_name, "..") == 0) - continue; - - if(i < MAX_PAR) { - pids[i] = fork(); - i++; - } else { - cerr("to many dependencies"); - return 1; - } - - if(pids[i-1] == -1) { /* err */ - cerr("fork failed\n"); - return 0; - } else if(pids[i-1] == 0) { /* child */ - printf("Service zu starten nun: %s\n", tdirent->d_name); - run_svc(tdirent->d_name); - _exit(0); - } else /* the parent simply goes the loop again */ - printf("run_svcs_PARENT\n"); - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { -// printf("waiting for %d ... \n",i); - waitpid(pids[i], &tmp, 0); - i--; - } -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - - char buf[256]; - int tmp; - - strcpy(buf,CINIT_DIR); - tmp = strlen(CINIT_DIR); - buf[tmp] = '/'; - strcpy(&buf[tmp+1],C_INIT); - - printf("path: %s\n",buf); - - run_svc("/etc/cinit/init"); - - run_svc("/NOT_THERE"); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/cinit.c03 b/software/cinit/browse_source/cinit-0.0.4/old/cinit.c03 deleted file mode 100644 index c1b5eb42..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/cinit.c03 +++ /dev/null @@ -1,241 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" -#define C_RUN "run" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - -/* wait() */ -#include - -/* strlen */ -#include - -#include - -#include "cinit.h" - -#define EKEL "/etc/cinit/init/wants" - -/* status of a service */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ - -/* array of svc */ -/* linked list of services */ -/* balanced trees */ -struct svc { - char *abs_path; -// struct svc *next; - int status; /* tmp, respawn, ran once */ - /* evtl: */ -}; - -struct svcl { - struct svc svc_list[1000]; - int process; -} svc_list; - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/*********************************************************************** - * parallel run forked() run_svc() - */ -#define MAX_PAR 32 - -int run_run_svcs(char *rpath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - pid_t pids[MAX_PAR]; - int tmp,i=0; - - printf("run_run_svcs on: %s\n",rpath); - - d_tmp = opendir(rpath); - - if(d_tmp == NULL) { - printf("Failed to open dir: %s", rpath); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 - || strcmp(tdirent->d_name, "..") == 0) - continue; - - if(i < MAX_PAR) { - pids[i] = fork(); - i++; - } else { - cerr("to many dependencies"); - return 1; - } - - if(pids[i-1] == -1) { /* err */ - cerr("fork failed\n"); - return 0; - } else if(pids[i-1] == 0) { /* child */ - printf("Service zu starten nun: %s\n", tdirent->d_name); - run_svc(tdirent->d_name); - _exit(0); - } else /* the parent simply goes the loop again */ - printf("run_svcs_PARENT\n"); - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { -// printf("waiting for %d ... \n",i); - waitpid(pids[i], &tmp, 0); - i--; - } -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* debug */ - getcwd(pathbuf,1024); - - printf("dir: %s\n",pathbuf); - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char pathbuf[MAXPATH]; - struct stat buf; - - strcpy(pathbuf,CINIT_DIR); - strcat(pathbuf,"/"); - strcat(pathbuf,C_INIT); - - printf("path: %s\n",pathbuf); - - svc_list.process = 0; - - /* stat, checkdir */ - if( stat(pathbuf,&buf) ) { - printf("PANIC ACTION: init dir missing\n"); - return 1; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("PANIC ACTION: init is not a dir\n"); - return 1; - } - - if( chdir(pathbuf) == -1) { - printf("PANIC ACTION: chdir(%s) failed!\n",pathbuf); - return 1; - } - run_svc("/etc/cinit/init"); -// run_svc(""); - -// run_svc("/NOT_THERE"); - -// execl("/bin/zsh","zsh", "-l"); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/cinit.c04 b/software/cinit/browse_source/cinit-0.0.4/old/cinit.c04 deleted file mode 100644 index 983c03eb..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/cinit.c04 +++ /dev/null @@ -1,130 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; -int f_in, f_out; - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char pathbuf[PATH_MAX]; - char buf[1223]; - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTP,&sa,NULL); /* ignore ctr+z, stop */ - - D_PRINTF(CINIT_INIT); - - /* count of started processes */ - svc_list.process = 0; - - /* begin to handle signals */ - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* open communication fifos */ - f_in = open(CINIT_DIR SLASH F_IN, O_RDWR); - f_out = open(CINIT_DIR SLASH F_OUT, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed\n",RT_PAR_FAIL); - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; - sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ - sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ - sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* important signal handlers: pipe, child */ -// sa.sa_handler=sig_pipe; -// sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - -// sa.sa_handler=sig_child; -// sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - - /* big TODO: */ - - /* some while/for loop to hang forever, remember, we are init! */ - while(1) { - i=0; - /* read path */ - do { - read(f_in,&buf,1); -// buf1[i] = buf; i++; - } while(buf != '\0'); -// - // printf("Read path: %s\n",buf1); - - i=0; - /* read status */ - do { - read(f_in,&buf,1); - // buf2[i] = buf; i++; - } while(buf != '\0'); - - // status = atoi(buf2); - // printf("Read status: %d\n",status); - - i=0; - /* read pid */ - do { - read(f_in,&buf,1); - // buf3[i] = buf; i++; - } while(buf != '\0'); - - // pid = atoi(buf3); - - - - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/cinit.c05 b/software/cinit/browse_source/cinit-0.0.4/old/cinit.c05 deleted file mode 100644 index 8dec1f46..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/cinit.c05 +++ /dev/null @@ -1,137 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char buf[1223]; - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTOP,&sa,NULL); /* ignore ctr+z, stop */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - - D_PRINTF(CINIT_INIT); - - /* begin to handle signals */ - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* get shared memory */ - - shmfd = shm_open(CINIT_SHM,O_RDWR|O_CREAT,0600); - - if(shmfd == -1) { - perror("Shared memory"); - cerr("shared memory",RT_PAR_FAIL); - } - - /* count of started processes */ - svc_list.process = 0; - - /* open communication fifos */ - f_in = open(CINIT_DIR SLASH F_IN, O_RDWR); - f_out = open(CINIT_DIR SLASH F_OUT, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed",RT_PAR_FAIL); - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; - sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ - sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ - sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* important signal handlers: pipe, child */ -// sa.sa_handler=sig_pipe; - -// sa.sa_handler=sig_child; -// sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - - /* big TODO: */ - - /* some while/for loop to hang forever, remember, we are init! */ - while(1) { - i=0; - /* read path */ - do { - read(f_in,&buf,1); -// buf1[i] = buf; i++; - } while(buf != '\0'); -// - // printf("Read path: %s\n",buf1); - - i=0; - /* read status */ - do { - read(f_in,&buf,1); - // buf2[i] = buf; i++; - } while(buf != '\0'); - - // status = atoi(buf2); - // printf("Read status: %d\n",status); - - i=0; - /* read pid */ - do { - read(f_in,&buf,1); - // buf3[i] = buf; i++; - } while(buf != '\0'); - - // pid = atoi(buf3); - - - - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/cinit.c06 b/software/cinit/browse_source/cinit-0.0.4/old/cinit.c06 deleted file mode 100644 index c48de22c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/cinit.c06 +++ /dev/null @@ -1,158 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; -int sock; - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - struct ucred suck; - int len = sizeof(suck), lens; - int nsock; - struct sockaddr_un sun; - char buf; - - lens=sizeof(sun); - memset(&sun,0,lens); - -/* this is always us! */ -// getsockopt(sock, SOL_SOCKET, SO_PEERCRED, &suck, &len); -// printf("orig angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - do { - //s_tmp[s_idx] = accept(sock,(struct sockaddr *) &sun, (socklen_t *) &lens); - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - // nsock = accept(sock,(struct sockaddr *) &sun, (socklen_t *) &lens); -// if( s_tmp[s_idx] == -1) { - if( nsock == -1) { - if (errno != EAGAIN) { - perror("accept"); - _exit(1); - } else { - break; - } - } - - //getsockopt(s_tmp[s_idx], SOL_SOCKET, SO_PEERCRED, &suck, &len); - getsockopt(nsock, SOL_SOCKET, SO_PEERCRED, &suck, &len); - printf("angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - - read(nsock,&buf,1); - - printf("command: %d\n",buf); - - while ( (len = read(nsock,&buf,1)) ) { -// printf("laenge: %d\n",len); - if(len == -1) { -// if(errno != EINVAL && errno != EAGAIN) { - perror("read"); - return; -// _exit(1); -// } - } - if(buf == 0) break; - write(1,&buf,1); - } - printf("Fertig mit lesen\n"); - - write(nsock,"ok\n",4); - printf("fertig mit schreiben\n"); - } while ( 1 ); - - printf("keine sockets mehr da..., sigio beendet sich jetzt.\n"); -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTOP,&sa,NULL); /* ignore ctr+z, stop */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - sa.sa_handler=sigio; - sigaction(SIGIO,&sa,NULL); /* what todo when data arrived on socket */ - - D_PRINTF(CINIT_INIT); - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* count of started processes */ - svc_list.process = 0; - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; -// sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ -// sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ -// sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* the main loop */ - while(1) ; - -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/cinit.commands.v01 b/software/cinit/browse_source/cinit-0.0.4/old/cinit.commands.v01 deleted file mode 100644 index dfdb67c5..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/cinit.commands.v01 +++ /dev/null @@ -1,85 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (uses SO_PEERCRED as -socketoption). - -The communication-protocol is binary. - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service and its dependencies. - CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_INIT: Start all services (again possibly). - - CMD_HALT: Halt the system. - CMD_REBOOT: Reboot the system. - CMD_POWEROFF: Power-off the system. - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) ok, a SID, a service ID: int svc_id; [ really need int? ] - b) fail, [currently only fail is returned] - a) already running - b) svc_name too long / not allowed - - [ A service identification is used for faster searching in cinit. - It is also a hint for developers of external software, that they should not - be able to use CMD_CHG_STATUS, if they didn't start a service. - They should use CMD_STOP_SVC to stop a service. - Starting a service is currently done via exec() in the external program or - a cinit-fork(). ] - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int svc_id; /* service ID to change */ - 1. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit uncgrafully - UNUSED! respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_INIT: Start all services (again possibly). - cinit returns: ready... - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. diff --git a/software/cinit/browse_source/cinit-0.0.4/old/cinit.create.cinit_dir b/software/cinit/browse_source/cinit-0.0.4/old/cinit.create.cinit_dir deleted file mode 100644 index 6fd58adb..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/cinit.create.cinit_dir +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create our initial directory -# 2005-05-24 - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -mkdir -p $BASEDIR diff --git a/software/cinit/browse_source/cinit-0.0.4/old/cinit.h01 b/software/cinit/browse_source/cinit-0.0.4/old/cinit.h01 deleted file mode 100644 index e07fa2c1..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/cinit.h01 +++ /dev/null @@ -1,80 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ - -/* limits */ -#define MAX_SVC 1024 /* maximum services */ -#define MAX_DEPS 32 /* maximum direct dependencies of a service */ - -/* paths */ -#define CINIT_DIR "/etc/cinit" - -#define F_IN "in" -#define F_OUT "out" -#define SLASH "/" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "./needs" -#define C_WANTS "./wants" -#define C_RUN "./run" -#define C_RESPAWN "respawn" -#define C_PARAMS "params" - -/* return values */ -#define RT_FAIL 0 -#define RT_OK 1 - -#define RT_CHLD_FAIL 1 /* child failed */ -#define RT_CHLD_OK 2 /* child succeded */ -#define RT_PAR_FAIL 3 /* parent failed */ -#define RT_PAR_OK 4 /* parent succeded */ - -/* status of a service-starter (run_run_svc) */ -#define RT_ONE_FAILED 5 /* one ore more failed */ -#define RT_ALL_STARTED 6 /* everything ok */ -#define RT_DEPS_MAX 7 /* too many dependencies */ - -/* status of a service */ -#define ST_NO 0 /* process not existing */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ -#define ST_FAIL 4 /* failed to start service */ - - - -/* variables */ - -/* array of svc */ -/* linked list of services */ -/* balanced trees */ - -struct svc { - char *abs_path; /* service identifier */ - int status; /* tmp, respawn, ran once */ - pid_t pid; /* pid of the process */ -}; - -struct svcl { - struct svc svca[MAX_SVC]; - int process; -}; - -extern struct svcl svc_list; - -/* functions */ - -void cerr(char *string, int status); -int chk_svc(char *svc); -int run_svc(char *rpath); -int add_mod_svc(char *svc, int status); -int run_run_svcs(char *rpath); - diff --git a/software/cinit/browse_source/cinit-0.0.4/old/cnt_digits.c b/software/cinit/browse_source/cinit-0.0.4/old/cnt_digits.c deleted file mode 100644 index a692fa5c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/cnt_digits.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* this code is stolen from gpm */ - -/* what's the english name for potenz ? */ -int x_high_y(int base, int pot_y) -{ - int val = 1; - - if(pot_y == 0) val = 1; - else if(pot_y < 0) val = 0; /* ugly hack ;) */ - else while(pot_y > 0) { - val = val * base; - pot_y--; - } - return val; -} - -/* return characters needed to display int */ -int cnt_digits(int number) -{ - /* 0-9 = 1 10^0 <-> (10^1)-1 - * 10 - 99 = 2 10^1 <-> (10^2)-1 - * 100 - 999 = 3 10^2 <-> (10^3)-1 - * 1000 - 9999 = 4 ... */ - - int ret = 0, num = 0; - - /* non negative, please */ - if(number < 0) number *= -1; - else if(number == 0) ret = 1; - else while(number > num) { - ret++; - num = (x_high_y(10,ret) - 1); - } - - return(ret); -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/do_change_status.c01 b/software/cinit/browse_source/cinit-0.0.4/old/do_change_status.c01 deleted file mode 100644 index 74bb9c1e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/do_change_status.c01 +++ /dev/null @@ -1,65 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - char buf = CMD_CHG_STATUS; - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - D_PRINTF("VERSUCHE STATUS ZU AENDERN"); - printf("socket: %d (cmd=%d)\n",sock2, buf); - - if(action == ACT_READ) { - D_PRINTF("Leeeese"); - fpoint = read; - } else { - D_PRINTF("schreibe"); - fpoint = write; /* don't care about warnings! */ - } - - if(action == ACT_WRITE) { - D_PRINTF("schreibe kommando"); - if(fpoint(sock2,&buf,1) == -1) { /* COMMAND */ - perror("command i/o"); - return 0; - } - tmp = strlen(svc); - sock2 = connect_sock(sock2); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror("i/o: length"); - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror("i/o: service name"); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror("i/o: status"); - printf("Status: %d, *status=%d, sizeof=%d\n",status,*status,sizeof(*status)); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror("i/o: PID"); - return 0; - } - - D_PRINTF("fertig mit statuswechsel lesen"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/idea01 b/software/cinit/browse_source/cinit-0.0.4/old/idea01 deleted file mode 100644 index cf0df9d6..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/idea01 +++ /dev/null @@ -1,121 +0,0 @@ --------------------------------------------------------------------------------- -/etc/cinit - -> init/ - -> shutdown/ - -> reboot/ - - - needs/ -> we wait until all parallel processes are finished _and_ we - don't start if one fails - wants/ -> we start all of them parallel and wait for them? - hold/ - wait -> wait until process finished - run -> program to execute - params -> \n seperated argument list - respawn -> respawn it - -services may only be under /etc/cinit? --------------------------------------------------------------------------------- -Service-Status: - -- abs_path -- status (respawn,tmp,once) --------------------------------------------------------------------------------- - -starting services: - -run_svc("/etc/cinit/service/") - -> exec run $params -Later: - -> check if service already running -> return OK - -> check needs/ -> check wants/ - -> run_svc($cur) - - When run_svc returns, the service is started and all service it needs, too. - - --------------------------------------------------------------------------------- - -> check needs/ - -> exists -> fork( run_run_svcs() ) and continue - (fork) -> fork() run_svc(needs/*); - -> check wants/ - -> exists -> run_svc(wants/*); - -> waitfor(need_run_svc) --------------------------------------------------------------------------------- -run_run_svcs() - -> start parallel (forked) run_svc() for every service --------------------------------------------------------------------------------- - -main() - - run_svc /etc/cinit/init/ - - sleep()? -> simply do nothing -> do we need to fork ourselves? No, we are init. -spaeter: - - open /dev/console W_ONLY - - make stdin == /etc/cinit/in - - make stdout, stderr /dev/console - --------------------------------------------------------------------------------- -eof - -Things, which are clear - -- we need to fork before execl(), as excel() replaces us. -- chdir() _after_ fork() - - -profiles support: profile=$profile - - start - "service.$profile" if exists, instead of - "service" - -starting services: - -cinit: - pipe() - set_status_tmp() - fork() --> failure --> clear_service - cinit_process_watcher(): - fork() - execve(process,args,env) - waitpid() -> for once? PROCESS MUST RETURN! - write_pipe() - rmpipe() - --------------------------------------------------------------------------------- - -What to send over to cinit and read back? - - - first you need two pipes for every process: read+write (on both sides) - - cinit wants - o command - - service temporary - trying to start in right now. - - service executed once - fine - - service executed once and that failed - :-( - - service respawing - o an identifier for the service (i from service list ;-) - - --> makes 2 bytes to read --------------------------------------------------------------------------------- -How cinit works: - -cinit says: I want to start service xyz. (/etc/cinit/init on bootup) -cinit calls run_svc(). --------------------------------------------------------------------------------- - -run_svc(char *relative_path): - - check if service is alr - - fork() - - write cinit: check service, I want to start it - -> returns status of service (see ST_* in cinit.h) - - cinit returns: ok, you are temporary - - [that checked] check if service - o is already started - o is beeing started - x check if rpath S_ISDIR - x chdir(dir) - - check needs - check wants - - for every needs/* start run_svc - - check respawn -> respawn = true - - check run - diff --git a/software/cinit/browse_source/cinit-0.0.4/old/idea02 b/software/cinit/browse_source/cinit-0.0.4/old/idea02 deleted file mode 100644 index 38af8965..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/idea02 +++ /dev/null @@ -1,200 +0,0 @@ --------------------------------------------------------------------------------- -/etc/cinit - -> init/ - -> shutdown/ - -> reboot/ - - - needs/ -> we wait until all parallel processes are finished _and_ we - don't start if one fails - wants/ -> we start all of them parallel and wait for them? - hold/ - wait -> wait until process finished - run -> program to execute - params -> \n seperated argument list - respawn -> respawn it - -services may only be under /etc/cinit? --------------------------------------------------------------------------------- -Service-Status: (see struct svc, cinit.h) - -- abs_path -- status (respawn,tmp,once) -- pid - -abs_path\0status\0pid\0 - --------------------------------------------------------------------------------- - -starting services: - -run_svc("/etc/cinit/service/") - -> exec run $params -Later: - -> check if service already running -> return OK - -> check needs/ -> check wants/ - -> run_svc($cur) - - When run_svc returns, the service is started and all service it needs, too. - - --------------------------------------------------------------------------------- - -> check needs/ - -> exists -> fork( run_run_svcs() ) and continue - (fork) -> fork() run_svc(needs/*); - -> check wants/ - -> exists -> run_svc(wants/*); - -> waitfor(need_run_svc) --------------------------------------------------------------------------------- -run_run_svcs() - -> start parallel (forked) run_svc() for every service --------------------------------------------------------------------------------- - -main() - - run_svc /etc/cinit/init/ - - sleep()? -> simply do nothing -> do we need to fork ourselves? No, we are init. -spaeter: - - open /dev/console W_ONLY - - make stdin == /etc/cinit/in - - make stdout, stderr /dev/console - --------------------------------------------------------------------------------- -eof - -Things, which are clear - -- we need to fork before execl(), as excel() replaces us. -- chdir() _after_ fork() - - -profiles support: profile=$profile - - start - "service.$profile" if exists, instead of - "service" - -starting services: - -cinit: - pipe() - set_status_tmp() - fork() --> failure --> clear_service - cinit_process_watcher(): - fork() - execve(process,args,env) - waitpid() -> for once? PROCESS MUST RETURN! - write_pipe() - rmpipe() - --------------------------------------------------------------------------------- - -What to send over to cinit and read back? - - - first you need two pipes for every process: read+write (on both sides) - - cinit wants - o command - - service temporary - trying to start in right now. - - service executed once - fine - - service executed once and that failed - :-( - - service respawing - o an identifier for the service (i from service list ;-) - - --> makes 2 bytes to read --------------------------------------------------------------------------------- -How cinit works: - -cinit says: I want to start service xyz. (/etc/cinit/init on bootup) -cinit calls run_svc(). --------------------------------------------------------------------------------- - -int run_svc(char *relative_path): - - check if service is already running or temporary (task list!) - -> yes: return RT_PAR_OK - -> no: continue. - - set service to be temporary (ST_TMP) and retrieve SID (service ID) - - walk through dependency tree and call run_svc - - fork() -> so cinit can continue. - - write cinit: check service, I want to start it - -> returns status of service (see ST_* in cinit.h) - - cinit returns: ok, you are temporary - - [that checked] check if service - o is already started - o is beeing started - x check if rpath S_ISDIR - x chdir(dir) - - check needs - check wants - - for every needs/* start run_svc - - check respawn -> respawn = true - - check run - --------------------------------------------------------------------------------- - -add_mod_svc(char *svc, int status) - -> add or modify status of a service - - - check whether service exists, reset status - - if not exists, insert if maximum of services is not reached --------------------------------------------------------------------------------- - -cinit communications proto --------------------------------------------------------------------------------- - -cinit: - -> signal_handler on SIGCHLD - run_init() - -> run_svc(init) - -> fork() -> do the work - -signal_handler_child - waitpid(.*) - -> returns pid - - oder waitpid() in dem run_svc, wenn need/once? - - need: - for i in need/*; do - ( $service & ); - done - wait(.*); - --------------------------------------------------------------------------------- - -cinit: - -run_svc: - checks what it needs (need/*) - need/* - fork() - fork(), fork() - --------------------------------------------------------------------------------- -Kommunikationsproblem: - - -> 1024 ist maximale anzahl offener sockets -> 510 von fifos,pipes - - mehrere FIFOs? - --> kommunikation gesichert, extrem viele fifos... - --> etwas unsauber, aber geregelte kommunikation - - mehrere PIPEs? - --> viele PIPEs (HRHR) - --> programme koennen nur von cinit gefork()ed werden. - - --> eine datei mit prozessen? - --> einen RAM Bereich? --------------------------------------------------------------------------------- - -cinit[1] <-> fifo <-> forker - -forker? --------------------------------------------------------------------------------- - -pfad vorher aufloesen? - --------------------------------------------------------------------------------- -Kommunikation: ::Test:: - - Test mit nur 2 FIFOs! - --------------------------------------------------------------------------------- - -sig_fifo() -read(..) als hauptaufgabe? diff --git a/software/cinit/browse_source/cinit-0.0.4/old/msg_change_status.c01 b/software/cinit/browse_source/cinit-0.0.4/old/msg_change_status.c01 deleted file mode 100644 index cfd66ae3..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/msg_change_status.c01 +++ /dev/null @@ -1,49 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include - -#include "cinit.h" - -int do_change_status(char *svc, char status, pid_t pid, int action) -{ - char buf = CMD_CHG_STATUS; - int tmp = strlen(svc); - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_READ) - fpoint = read; - else - fpoint = write; - - D_PRINTF("versuche status zu aendern"); - - if(write(sock,&buf,1) == -1) { /* write COMMAND */ - perror("write"); - return 0; - } - if(write(sock,&tmp,sizeof(tmp)) == -1) { /* write length */ - perror("write"); - return 0; - } - if(write(sock,svc,tmp) == -1) { /* write service name */ - perror("write"); - return 0; - } - if(write(sock,&buf,1) == -1) { /* write PID */ - perror("write"); - return 0; - } - write(sock,&status,sizeof(status)); /* write status */ - - D_PRINTF("fertig mit schreiben"); - - read(sock,&buf,sizeof(buf)); /* read SID or -1 if error */ - - return buf; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/msg_start_svc.c b/software/cinit/browse_source/cinit-0.0.4/old/msg_start_svc.c deleted file mode 100644 index c6a78bf8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/msg_start_svc.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit we start a service - */ - -#include - -/* return status */ -int msg_start_svc(char *string, int respawn) -{ - char *p; - - p = string; - while ( *p != '\0') { - write(2,p,1); - p++; - } - -/* FIXME: return if in cinit, _exit on fork() */ -// if(...) - _exit(status); -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/read_file.c b/software/cinit/browse_source/cinit-0.0.4/old/read_file.c deleted file mode 100644 index 43a5854b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/read_file.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - - -#include "cinit.h" - -/*********************************************************************** - * read_file: return file content, each line a char* - */ - -char **read_file(char *file) -{ - int tmp; - int fd, argc; - - char buf[BUFSIZE]; - char *p, *sbuf = NULL; - char **nargv = NULL; - - struct stat stbuf; - - D_PRINTF("Lese Datei"); - D_PRINTF(file); - - if( !stat(file,&stbuf) ) { - fd = open(file,O_RDONLY); - - if(fd == -1) { - LOG("params exists, but open params failed"); - return NULL; - } - - D_PRINTF("open ist ok"); - - argc = 0; - - /* most likely one round */ - while ( (tmp = read(fd,buf,BUFSIZE) ) != 0 ) { - if(tmp == -1) { - perror("read"); - return NULL; - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],buf,tmp); - argc += tmp; - } - close(fd); - } - - sbuf[argc] = '\0'; - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() */ - - argc = 0; - - while( (p = strchr(sbuf,'\n')) ) { - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG("realloc failed"); - return NULL; - } - - nargv[argc] = sbuf; - *p = '\0'; - sbuf = p+1; /* is ok, as behind the last \n is a \0 */ - argc++; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - if(nargv == NULL) { - LOG("realloc failed"); - return NULL; - } - - nargv[argc] = NULL; /* terminate argv list */ - - return nargv; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/run_init_svc.c01 b/software/cinit/browse_source/cinit-0.0.4/old/run_init_svc.c01 deleted file mode 100644 index 61467f44..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/run_init_svc.c01 +++ /dev/null @@ -1,50 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * start the first service - */ - -int run_init_svc() -{ - pid_t pid; - - D_PRINTF("Starte initialen starter"); - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror("fork failed\n"); - return RT_PAR_FAIL; - } else if(pid == 0) { /* child */ - /* close fifo */ - close(f_in); close(f_out); - - /* open the other way round */ - f_in = open(CINIT_DIR SLASH F_OUT, O_RDWR); - f_out = open(CINIT_DIR SLASH F_IN, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed\n",RT_CHLD_FAIL); - - /* open stderr, stdin, stdout to files? */ - if ( run_svc(CINIT_INIT) == RT_CHLD_OK) - _exit(EX_OK); - else - _exit(EX_FAIL); - } else - return RT_PAR_OK; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c00 b/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c00 deleted file mode 100644 index ff3bb989..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c00 +++ /dev/null @@ -1,140 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp, sid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - close(sock); /* close old socket connection, we are a fork()! */ - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - tmp = sizeof(addr); - memset(&addr,0,tmp); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - /* FIXME: why do we need tmp????? ... tmp == 1 is wrong!*/ -/* tmp = 1; - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } */ - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - D_PRINTF("some NEEDED services failed)"); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - tmp = ST_ONCE; - sid = 20; - D_PRINTF("Melde status"); - if(!do_change_status(abspath,&tmp,&sid,sock,ACT_WRITE)) { - D_PRINTF("Status nicht gemeldet :((((((((((("); - return 0; - } - D_PRINTF("Status abgesetzt"); - -/* if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - if(respawn_svc(abspath)) { - msg_change_status(sid,ST_RESPAWN); - } else { - D_PRINTF("error in respawn"); - msg_change_status(sid,ST_FAIL); - } - } else { - D_PRINTF("einmal ausfuehren"); - if(exec_svc(abspath)) { - msg_change_status(sid,ST_ONCE); - } else { - D_PRINTF("error einmalig"); - msg_change_status(sid,ST_FAIL); - } - } */ -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c01 b/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c01 deleted file mode 100644 index e7457af0..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c01 +++ /dev/null @@ -1,292 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* perhaps move this code to cinit-static, so it's constant */ - while(tmp < svc_list.process) { - printf("%d\n",tmp); - - if( ! strcmp(rpath,svc_list.svca[tmp].abs_path) ) { - printf("Service im Array\n"); - return 0; - } - tmp++; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* check for respawn? */ - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* debug */ - getcwd(pathbuf,1024); - - printf("dir: %s\n",pathbuf); - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c02 b/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c02 deleted file mode 100644 index 7fb329b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c02 +++ /dev/null @@ -1,282 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* perhaps move this code to cinit-static, so it's constant */ - while(tmp < svc_list.process) { - printf("%d\n",tmp); - - if( ! strcmp(rpath,svc_list.svca[tmp].abs_path) ) { - printf("Service im Array\n"); - return 0; - } - tmp++; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* check for respawn? */ - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c03 b/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c03 deleted file mode 100644 index 9422a7c9..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c03 +++ /dev/null @@ -1,283 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_in[2], p_out[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* create communication pipe */ - if ( pipe(p_in) == -1 || pipe(p_out) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - - /* check for respawn? yes, sometime... */ - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - -beof - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c04 b/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c04 deleted file mode 100644 index 727aa71f..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c04 +++ /dev/null @@ -1,297 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid == -1) { - cerr("fork failed\n", RT_PAR_FAIL); - } else if(pid > 0) { /* parent gets child's PID */ - - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - printf("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - - /* check for needs */ - - /* do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcat(pathtmp,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - pid = fork(); - if(tmp == -1) { - cerr("error ...\n", RT_PAR_FAIL); - } else if(tmp == 0) { - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,rpath); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c05 b/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c05 deleted file mode 100644 index 927a9261..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c05 +++ /dev/null @@ -1,294 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid == -1) { - cerr("fork failed\n", RT_PAR_FAIL); - } else if(pid > 0) { /* parent gets child's PID */ - - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - printf("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c05.2 b/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c05.2 deleted file mode 100644 index 90d94b65..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c05.2 +++ /dev/null @@ -1,320 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* end socket *********************/ - - sid = msg_start_svc(rpath); /* now we are temporary */ - if(sid == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - return 0; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - msg_change_status(sid,ST_FAIL); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - msg_change_status(sid,ST_FAIL); - return 0; - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - /* clone */ - pid = fork(); - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - return 0; - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /*************** THIS BLOCK IS CRAP ******************/ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - msg_change_status(sid,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - msg_change_status(sid,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - /* FIXME: MISSING: - - signal handling (stop respawing) - - waitpid() in while(1) - */ - _exit(0); /* FIXME !!! */ - - /*************** END THIS BLOCK IS CRAP ******************/ - - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - - /*********** CHILD EXECUTION HERE ***********/ - do { - - - } while(respawn); - - - - /* change to service dir */ - if( chdir(rpath) == -1) { - /* FIXME: errno! */ - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c06 b/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c06 deleted file mode 100644 index 7dd265fc..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c06 +++ /dev/null @@ -1,293 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("Fehler"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - msg_start_svc(rpath); - D_PRINTF("in runsvc"); - _exit(0); - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc_client(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return ; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - /* FIXME: pay attention: we are possibly also a fork()! */ - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid > 0) { /* parent gets child's PID */ - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c07 b/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c07 deleted file mode 100644 index e62eff54..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c07 +++ /dev/null @@ -1,304 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - _exit(1); - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - _exit(1); - } - - tmp = msg_start_svc(rpath); /* now we are temporary */ - - D_PRINTF("in runsvc"); - - if(tmp == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - _exit(1); - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - pid = fork(); - /* pay attention: we are also a fork()! */ - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - _exit(1); - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c08 b/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c08 deleted file mode 100644 index 587e13e2..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c08 +++ /dev/null @@ -1,316 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - /* FIXME: cerr */ - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - _exit(1); - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - _exit(1); - } - - sid = msg_start_svc(rpath); /* now we are temporary */ - - D_PRINTF("in runsvc"); - - if(sid == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - _exit(1); - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - pid = fork(); - /* pay attention: we are also a fork()! */ - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - _exit(1); - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /*************** THIS BLOCK IS CRAP ******************/ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - msg_change_status(sid,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - msg_change_status(sid,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - /* FIXME: MISSING: - - signal handling (stop respawing) - - waitpid() in while(1) - */ - _exit(0); /* FIXME !!! */ - - /*************** END THIS BLOCK IS CRAP ******************/ - - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - /* FIXME: errno! */ - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c09 b/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c09 deleted file mode 100644 index ff3bb989..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/run_svc.c09 +++ /dev/null @@ -1,140 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp, sid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - close(sock); /* close old socket connection, we are a fork()! */ - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - tmp = sizeof(addr); - memset(&addr,0,tmp); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - /* FIXME: why do we need tmp????? ... tmp == 1 is wrong!*/ -/* tmp = 1; - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } */ - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - D_PRINTF("some NEEDED services failed)"); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - tmp = ST_ONCE; - sid = 20; - D_PRINTF("Melde status"); - if(!do_change_status(abspath,&tmp,&sid,sock,ACT_WRITE)) { - D_PRINTF("Status nicht gemeldet :((((((((((("); - return 0; - } - D_PRINTF("Status abgesetzt"); - -/* if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - if(respawn_svc(abspath)) { - msg_change_status(sid,ST_RESPAWN); - } else { - D_PRINTF("error in respawn"); - msg_change_status(sid,ST_FAIL); - } - } else { - D_PRINTF("einmal ausfuehren"); - if(exec_svc(abspath)) { - msg_change_status(sid,ST_ONCE); - } else { - D_PRINTF("error einmalig"); - msg_change_status(sid,ST_FAIL); - } - } */ -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/sig_chld.c b/software/cinit/browse_source/cinit-0.0.4/old/sig_chld.c deleted file mode 100644 index e452f570..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/sig_chld.c +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* we are called, when a child exited */ -void sig_chld(int status) -{ - int pstat, i = 0; - pid_t pid; - - /* get pid of child and its status */ - pid = waitpid(chpid,&pstat,0); - - /* the child was either a respawed or once running process */ - - while(i < svc_list.process) { - if(pid == svc_list.svca[i].pid) { /* found service */ - - } - i++; - } - - if( WIFEXITED(pstat) ) printf("Kind gut gestorben\n"); - - printf("kind tot %d ...\n", status); -} diff --git a/software/cinit/browse_source/cinit-0.0.4/old/sigio.c01 b/software/cinit/browse_source/cinit-0.0.4/old/sigio.c01 deleted file mode 100644 index 4e1ee482..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/old/sigio.c01 +++ /dev/null @@ -1,73 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - struct ucred suck; - int len, lens, nsock; - struct sockaddr_un sun; - char buf; - - D_PRINTF("sigio() startet"); - - do { - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - if( nsock == -1) { - if (errno != EAGAIN) { - perror("accept"); - _exit(1); - } else { - break; - } - } - - //getsockopt(s_tmp[s_idx], SOL_SOCKET, SO_PEERCRED, &suck, &len); - getsockopt(nsock, SOL_SOCKET, SO_PEERCRED, &suck, &len); - printf("angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - - read(nsock,&buf,1); - - printf("command: %d\n",buf); - - while ( (len = read(nsock,&buf,1)) ) { -// printf("laenge: %d\n",len); - if(len == -1) { -// if(errno != EINVAL && errno != EAGAIN) { - perror("read"); - return; -// _exit(1); -// } - } - if(buf == 0) break; - write(1,&buf,1); - } - printf("Fertig mit lesen\n"); - - write(nsock,"ok\n",4); - printf("fertig mit schreiben\n"); - } while ( 1 ); - - printf("keine sockets mehr da..., sigio beendet sich jetzt.\n"); -} - - diff --git a/software/cinit/browse_source/cinit-0.0.4/sampleconfig.tar b/software/cinit/browse_source/cinit-0.0.4/sampleconfig.tar deleted file mode 100644 index a2118f37..00000000 Binary files a/software/cinit/browse_source/cinit-0.0.4/sampleconfig.tar and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.0.4/serv/chk_svc.c b/software/cinit/browse_source/cinit-0.0.4/serv/chk_svc.c deleted file mode 100644 index bdc73c31..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/serv/chk_svc.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * chk_svc: check whether service exists - * part of cinit - */ - -#include -#include "cinit.h" - -/* we are called from sigio */ -/* return SID, if service exists, else -1 */ -int chk_svc(char *svc) -{ - int tmp = 0; - - while(tmp < svc_list.process) { - if( ! strcmp(svc,svc_list.svca[tmp].abs_path) ) { - return tmp; - } - tmp++; - } - return -1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/serv/cinit.c b/software/cinit/browse_source/cinit-0.0.4/serv/cinit.c deleted file mode 100644 index 189c2aef..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/serv/cinit.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include - -#include /* nanosleep */ - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock, logfd; - -/*********************************************************************** - * the main procedure - */ - -time_t start; - -int main() -{ - struct stat sbuf; - unsigned long tmp; - pid_t pid; - struct sockaddr_un addr; - struct timespec ts; - - start = time(NULL); - - set_signals(ACT_SERV); /* set signal handlers */ - logfd = 1; /* write to stdout */ - list = NULL; /* list of services is empty currently */ - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - perror("PANIC ACTION"); - panic(); - } - if( ! S_ISDIR(sbuf.st_mode) ) { - LOG("PANIC ACTION: init is not a dir"); - panic(); - } - if( chdir(CINIT_INIT) == -1) { - perror("PANIC ACTION"); - panic(); - } - - /* count of started processes */ - // svc_list.process = 0; - - /******************** TMPDIR **********************/ - tmp = 0; - if(mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,tmp,NULL) == -1) { - perror("mount"); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror("socket"); - panic(); - } - - /* tell the socket, _we_ want to get SIGIO! */ - pid = getpid(); - if(fcntl(sock,F_SETOWN,pid) == -1) { - perror("fcntl"); - panic(); - } - - /* O_SYNC: SIGIO will be called, O_NONBLOCK: don't block cinit */ - if ( fcntl(sock,F_SETFL,O_ASYNC|O_NONBLOCK) == -1) { - perror("fcntl"); - panic(); - } - - tmp = 1; - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - LOG("Does your OS not support SO_PASSCRED (man 7 socket)?"); - panic(); - } - - memset(&addr,0,sizeof(addr)); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(bind(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("bind"); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror("listen"); - panic(); - } - /******************** end socket **********************/ - - /* initial run, only if we are 'real' init' */ -// if( pid == 1) { - run_init_svc(); -// } - - D_PRINTF("fertig gestartet"); - - ts.tv_sec = (1 << ( (sizeof(ts.tv_sec)* 8) -1 )) -1; - /* the main loop: sleep until a signal comes in */ - while(1) { - nanosleep(&ts,NULL); - } -} diff --git a/software/cinit/browse_source/cinit-0.0.4/serv/list.c b/software/cinit/browse_source/cinit-0.0.4/serv/list.c deleted file mode 100644 index 480cf469..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/serv/list.c +++ /dev/null @@ -1,101 +0,0 @@ -/* (c) 2005 by Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * list handling: the processes cinit will execute/executed - * part of cinit - * changed some formatting, Nico Schottelius - */ - -#include -#include -#include "cinit.h" - - -int list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc( sizeof(struct listitem) ); - - if( tmp == NULL ) { - return 0; - } - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members, add this one */ - tmp->after = list; /* after the new element comes the begin */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first element has us as previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if( list == NULL ) { /* think positive */ - return NULL; - } else { - tmp = list->before; - } - D_PRINTF(path); - - do { -#ifdef DEBUG - D_PRINTF(tmp->abs_path); - printf("Listdebug: %s: %d (%d)\n",tmp->abs_path,tmp->status,tmp->pid); -#endif - if(!strcmp(path, tmp->abs_path)) - return tmp; - tmp = tmp->before; - } while(tmp != list); - - return NULL; -} - -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->after->before = tmp->before; - tmp->before->after = tmp->after; - free(tmp->abs_path); - free(tmp); - return 1; -} - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - tmp->status = new_status; - tmp->pid = new_pid; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.4/serv/panic.c b/software/cinit/browse_source/cinit-0.0.4/serv/panic.c deleted file mode 100644 index be44219b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/serv/panic.c +++ /dev/null @@ -1,13 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * panic: if cinit fails. - * part of cinit - */ - -#include "cinit.h" -#include - -void panic(void) -{ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.0.4/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.0.4/serv/run_init_svc.c deleted file mode 100644 index 1a382969..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/serv/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -extern time_t start; - -int run_init_svc() -{ - pid_t pid; - int status; - time_t stop; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - logfd = 1; /* FIXME: shouldn't this be some kind of log, like /dev/log? */ - set_signals(ACT_CLIENT); - /* FIXME: open stderr, stdin, stdout to files / syslog / logable */ - if ( run_svc(CINIT_INIT) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - waitpid(pid, &status,0); - stop = time(NULL); - printf("*** cinit needed %d seconds to start ****\n",(int) stop-start); - return WIFEXITED(status); - } -} diff --git a/software/cinit/browse_source/cinit-0.0.4/serv/sig_reboot.c b/software/cinit/browse_source/cinit-0.0.4/serv/sig_reboot.c deleted file mode 100644 index d430c3a6..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/serv/sig_reboot.c +++ /dev/null @@ -1,134 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called by signal to reboot - */ - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void sig_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - D_PRINTF("sig_reboot() startet"); - - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - D_PRINTF("Bringing down respawn watcher"); - kill(tmp->pid,SIGTERM); - } - - /* execute shutdown service */ - D_PRINTF("Executing off-service"); - exec_svc(tmp->abs_path,0); - tmp = tmp->before; - } while( tmp != list ); - - /* Let's disappear */ - close(sock); - if(umount(CINIT_TMNT) == -1) { - perror("umount"); - } - - /* now: all services are down, lets kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - D_PRINTF("SIGTERM GESENDET"); - - ts.tv_sec = SLEEP_KILL; /* defined in conf/ */ - nanosleep(&ts,NULL); - - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - /* now: we are completly alone. umount everything, go to bed */ - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ - -#define CMD_CNT 5 -#define SWAP_OFF_CMD "/sbin/swapoff" -#define SWAP_OFF_ARG1 "-a" - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-a" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { -// cmd[0] = (char *) malloc(strlen(SWAP_OFF_CMD) +1); -// cmd[1] = (char *) malloc(strlen(SWAP_OFF_CMD) +1); - /* /sbin/swapoff -a */ - cmd[0] = SWAP_OFF_CMD; - cmd[1] = SWAP_OFF_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG1; - cmd[3] = MOUNT_ARG1; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } - - switch(signal) { - case SIGUSR1: /* halt */ - reboot(RB_HALT_SYSTEM); - break; - case SIGTERM: /* power off */ - reboot(RB_POWER_OFF); - break; - case SIGHUP: /* reboot */ - reboot(RB_AUTOBOOT); - break; - } - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.0.4/serv/sigio.c b/software/cinit/browse_source/cinit-0.0.4/serv/sigio.c deleted file mode 100644 index d6842753..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/serv/sigio.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - - D_PRINTF("sigio() startet"); - - do { - /* create new socket */ - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - if( nsock == -1) { - if (errno != EAGAIN) { /* report, but don't panic */ - perror("accept"); - } - - return; - } - - if( read(nsock,&buf[0],1) == -1) { - perror("read-command"); - close(nsock); - continue; - } -#ifdef DEBUG - printf("DEEEEEBUG: command: %d\n",buf[0]); -#endif - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_start_svc(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists */ - buf[0] = 0; - do_result(nsock,&buf[0]); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG("Adding service failed!"); - buf[0] = 0; - do_result(nsock,&buf[0]); - } - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - - if(!tmp) break; - - buf[tmp] = 0; /* terminate buf */ - -#ifdef DEBUG - printf("DEBUG: %s (%d) = %d\n",buf,pid,status); -#endif - - if(!list_modify(buf,status,pid)) { - D_PRINTF("MOD.ERR"); - buf[0] = 0; - } else { - buf[0] = 1; - } - do_result(nsock,buf); - break; - - default: - LOG("Unknown command!"); - break; - } - close(nsock); - } while ( 1 ); - - D_PRINTF("ENDE:SIGIO"); -} diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:41:08 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:41:08 deleted file mode 100644 index d29de765..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:41:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586640 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:46:09 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:46:09 deleted file mode 100644 index 7ecb58be..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-15:46:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586368 Apr 30 15:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-16:50:05 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-16:50:05 deleted file mode 100644 index d87323e5..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-16:50:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587818 Apr 30 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:03:00 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:03:00 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:39:08 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:39:08 deleted file mode 100644 index 0c2bb0af..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:39:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586194 May 6 20:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:54:00 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:54:00 deleted file mode 100644 index fe51f37f..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:55:07 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:55:07 deleted file mode 100644 index 4d2854b5..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:55:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-23:00:07 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-23:00:07 deleted file mode 100644 index c0db4814..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-23:00:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 23:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:31:01 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:31:01 deleted file mode 100644 index 4ad1fccf..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:31:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:31 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:39:02 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:39:02 deleted file mode 100644 index 16613354..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:39:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:43:08 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:43:08 deleted file mode 100644 index 29e5ab44..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:54:04 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:54:04 deleted file mode 100644 index 474189e8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:54:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:18:00 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:18:00 deleted file mode 100644 index 960ca358..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:18:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:14:00 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:14:00 deleted file mode 100644 index 7de2bc3e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:14:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:14 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:43:08 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:43:08 deleted file mode 100644 index 11a18f12..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597245 May 7 14:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:48:01 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:48:01 deleted file mode 100644 index 28b127b9..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:48:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597405 May 7 14:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:55:05 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:55:05 deleted file mode 100644 index 5d0fa0e1..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:55:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:01:01 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:01:01 deleted file mode 100644 index 7c8b202b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:01:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 15:01 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:27:00 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:27:00 deleted file mode 100644 index a2d19633..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:27:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:20:02 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:20:02 deleted file mode 100644 index 23608225..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:20:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602184 May 7 16:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:31:09 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:31:09 deleted file mode 100644 index 40f890cf..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:31:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:31 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:08:09 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:08:09 deleted file mode 100644 index 22b48319..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:08:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-10:44:00 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-10:44:00 deleted file mode 100644 index 4dad0f2e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-10:44:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 64935 May 8 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-12:42:08 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-12:42:08 deleted file mode 100644 index a356e57e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-12:42:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 23195 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:25:05 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:25:05 deleted file mode 100644 index 0b5026c7..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:25:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:30:03 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:30:03 deleted file mode 100644 index 7377ee59..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:30:03 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-21:54:00 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-21:54:00 deleted file mode 100644 index 41ed8e4c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-21:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604637 May 10 21:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:07:06 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:07:06 deleted file mode 100644 index 9579bf3d..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:07:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95212 May 10 22:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-00:14:02 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-00:14:02 deleted file mode 100644 index 86483ada..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-00:14:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-15-22:32:07 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-15-22:32:07 deleted file mode 100644 index 59557c4b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-15-22:32:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 15 22:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-15-23:52:06 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-15-23:52:06 deleted file mode 100644 index 757e6dc6..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-15-23:52:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579305 May 15 23:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-15-23:56:00 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-15-23:56:00 deleted file mode 100644 index 24c85104..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-15-23:56:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605145 May 15 23:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:16:09 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:16:09 deleted file mode 100644 index 27254aa3..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:16:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605205 May 16 00:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-09:58:08 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-09:58:08 deleted file mode 100644 index 90a5b698..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-09:58:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605567 May 16 09:58 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:09:00 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:09:00 deleted file mode 100644 index 4c34f810..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:09:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605583 May 16 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:13:07 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:13:07 deleted file mode 100644 index b6a851e6..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:13:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605619 May 16 10:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:23:05 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:23:05 deleted file mode 100644 index 2c4fc649..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:23:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-14:56:01 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-14:56:01 deleted file mode 100644 index c5e08e25..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-14:56:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95794 May 21 14:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:35:00 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:35:00 deleted file mode 100644 index 0f2d5463..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:35:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:35 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.0.4/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.4/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/BUGS b/software/cinit/browse_source/cinit-0.0.5/BUGS deleted file mode 100644 index 235a8853..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/BUGS +++ /dev/null @@ -1,2 +0,0 @@ -To be done before 0.1 (dirty release): -- replace cerr-strings with #defines, so doubled strings are elimenated diff --git a/software/cinit/browse_source/cinit-0.0.5/COPYING b/software/cinit/browse_source/cinit-0.0.5/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.0.5/CREDITS b/software/cinit/browse_source/cinit-0.0.5/CREDITS deleted file mode 100644 index fd3d6ff3..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/CREDITS +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -René Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete diff --git a/software/cinit/browse_source/cinit-0.0.5/Changelog b/software/cinit/browse_source/cinit-0.0.5/Changelog deleted file mode 100644 index 47142a97..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/Changelog +++ /dev/null @@ -1,8 +0,0 @@ -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.0.5/MT/debug b/software/cinit/browse_source/cinit-0.0.5/MT/debug deleted file mode 100644 index 52dab24b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/MT/debug +++ /dev/null @@ -1,31 +0,0 @@ -started up on Linux 2.6.11.10 #2 Tue May 17 11:58:45 CEST 2005 ppc -command line: 'monotone-0.18', 'sync', 'linux.schottelius.org', 'info.clinux.cinit' -set locale: LC_CTYPE=C, LC_MESSAGES=C -initial path is /home/user/nico/cinit-0.0.5 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 4 bytes from ANSI_X3.4-1968 to UTF-8 -converting 21 bytes from ANSI_X3.4-1968 to UTF-8 -converting 17 bytes from ANSI_X3.4-1968 to UTF-8 -searching for 'MT' directory with root '/' -search for 'MT' ended at '/home/user/nico/cinit-0.0.5' with '' removed -initializing from directory /home/user/nico/cinit-0.0.5 -found working copy directory /home/user/nico/cinit-0.0.5 -options path is MT/options -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -local dump path is MT/debug -setting dump path to MT/debug -opening rcfile '/home/user/nico/.monotonerc' ... -'/home/user/nico/.monotonerc' is ok -skipping nonexistent rcfile 'MT/monotonerc' -executing sync command -db.fetch("SELECT domain, name, value FROM db_vars") -db.fetch("SELECT domain, name, value FROM db_vars") -lua isfunction() failed in get_fn -db.fetch("SELECT id from 'private_keys'") -db.fetch("SELECT id, name, value, keypair, signature FROM 'revision_certs' WHERE name = 'branch'") -db.execute("BEGIN") -connecting to linux.schottelius.org -db.execute("ROLLBACK") diff --git a/software/cinit/browse_source/cinit-0.0.5/MT/log b/software/cinit/browse_source/cinit-0.0.5/MT/log deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.5/MT/options b/software/cinit/browse_source/cinit-0.0.5/MT/options deleted file mode 100644 index 33960254..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/MT/options +++ /dev/null @@ -1,3 +0,0 @@ - branch "info.clinux.cinit" -database "/home/user/nico/monotone.db" - key "" diff --git a/software/cinit/browse_source/cinit-0.0.5/MT/revision b/software/cinit/browse_source/cinit-0.0.5/MT/revision deleted file mode 100644 index ab48024b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/MT/revision +++ /dev/null @@ -1 +0,0 @@ -f44d3b5ff20c704e893aa0bb8a0061bad8bdd7aa diff --git a/software/cinit/browse_source/cinit-0.0.5/Makefile b/software/cinit/browse_source/cinit-0.0.5/Makefile deleted file mode 100644 index a92698ae..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/Makefile +++ /dev/null @@ -1,90 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-g -DDEBUG -OPTIMIZE=-Os - -# if cinit should display how long it needed to start -TIMEME=-DTIME_ME - -# init should be static per default! -LDFLAGS=-static - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-pipe -Wall -Werror -I. -LD=gcc -STRIP=strip - -# monotone -MT=monotone-0.18 - -# directories and files -DIRS=client bin conf comm generic doc sbin serv -FILES=BUGS Changelog Makefile README TODO cinit.h - -# objects -SERV=serv/sigio.o serv/cinit.o serv/list.o \ - serv/run_init_svc.o serv/panic.o serv/sig_reboot.o - -CLIENT=client/msg_start_svc.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svc.o \ - client/connect_sock.o client/begin_msg.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_start_svc.o - -BOTH=generic/set_signals.o generic/mini_printf.o - -OBJ=$(SERV) $(CLIENT) $(BOTH) $(COMMUNICATION) - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -all: $(CINIT_BIN) sizecheck - -$(CINIT_BIN): $(SBIN) config.h $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ -$(SBIN): - mkdir $(SBIN) -sizecheck: - FILE="size/`date +%Y-%m-%d-%T`"; ls -l sbin/cinit > $$FILE; cat $$FILE -clean: - rm -f *.o */*.o sbin/cinit config.h -config.h: conf/* - ./bin/cinit.mkheader > config.h - -mt-update: - $(MT) add $(DIRS) $(FILES) 2>/dev/null -mt-commit: - $(MT) commit -mt-sync: - $(MT) sync linux.schottelius.org info.clinux.cinit - -install: install-dir - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-dir: - ./bin/cinit.install.dir - -install-conf: install-dir - @echo '*** Creating very basic configuration ***' - ./bin/cinit.install.conf - -install-test: install-dir - @echo '***> Copying testing configuration' - ./bin/cinit.install.test diff --git a/software/cinit/browse_source/cinit-0.0.5/README b/software/cinit/browse_source/cinit-0.0.5/README deleted file mode 100644 index c3523e11..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/README +++ /dev/null @@ -1,92 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features. -It is orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every POSIX compatible system. -- true dependencies -- parallel execution -- highly customisable (see conf/*) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via monotone. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -If it's the first time you operate with cinit, also do: -# make install-conf - -This will populate /etc/cinit with some default services for Linux -(mounting root r/w, starting gettys, setting hostname). - -This should work on most Linux systems, still you should have a -look at /etc/cinit and see whether services are correct. - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. - -sampleconfig.tar is the tar-ball I used for testing, beware if you use it: -It loads dvorak at startup! - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit.html diff --git a/software/cinit/browse_source/cinit-0.0.5/TODO b/software/cinit/browse_source/cinit-0.0.5/TODO deleted file mode 100644 index e73d5ca7..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/TODO +++ /dev/null @@ -1,62 +0,0 @@ -- Recheck sources: - - check errno! - - check whether headers are ok -> cleanup headers! - - eventually split cinit code to csvc to minimize binary of cinit? - - cleanup comments - - move messages to cinit.h or message.h or conf/msg-*! - - close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - - panic() should call sulogin - - remove FIXME entries (and what should be fixed, too) - -- Source Logic issues - - Add sulogin possibility - - stat() in run_svc -> don't call exec_svc, respawn_svc, run_run_svc - - remove stat from exec_svc, do before! - - respawn_svc and exec_svc must return pid_t of executed service / watcher - - handle CTR-ALT-DEL / keyboard request? (see caveats) - - check for possibilies to save ram, free things - - create coala-socket with correct permissions! (550, root:cinit) - -> is that really our problem or should a service do that? - - check if we caught every signal, which could kill us - - logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? - - check for other possibilities to create a smaller binary - - strip options - - gcc options - - ld options - - alternative libc (uclibc works fine!) - - perhaps remove MAX_DEPS? - - run_svc_new: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - -- Documentation - - write manpages (use doc/* as base for that) - -- Porting - - add porting code to other unices? - - like openssh guys do? - - polling/signalling is different everywhere - a) use standars poll/select - b) use accelerated os-specfic - -> add the name of the function/the file to use - into conf/poll_func? - - using Linux 2.6 epoll mechanism? - --------------------------------------------------------------------------------- -create_mini_cinit - -> use a tarball? (samples/*) - -> create something which should be runnable - -> mount, fsck, getty - --> for dev in `read /etc/fstab` ... - fsck $dev - --> mount -a - --> mount -n -o remount,rw / - --> getty from /etc/inittab or /sbin/*getty - -> find out, which gettys with which params - -> use it on 'make install' --------------------------------------------------------------------------------- -- Check Spell and Grammar in documentation diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.add.dependency deleted file mode 100644 index 17683dcc..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.add.dependency +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or needs Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -case $DEP in - wants) DEP=$C_WANTS ;; - needs) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could some PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEST="${BASEDIR}/${SVC_A}/${DEP}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.add.getty deleted file mode 100644 index baa74462..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.add.getty +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && echo * | sed 's/.* //') -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -read -p "Getty to use [$mygetty]: " rgetty -read -p "Parameters to pass [$params]: " rparams - -[ "$rgetty" ] && mygetty=$rgetty -[ "$rparams" ] && params=$rparams - -if [ ! "$mygetty" -o ! "$params" ]; then - echo "No useable getty and parameters found, exiting." - exit 1 -fi - -echo -n "Putting $mygetty $params into $DDIR ... " -mkdir -p "$DDIR" -ln -s $mygetty "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.create.empty.service deleted file mode 100644 index 9fe748d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.create.empty.service +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR -BASEDIR=./testcinit - - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.get-confdir b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.get-confdir deleted file mode 100644 index a36c52f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.get-confdir +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# 2005-05-24 - -# try environment first -if [ "$CINIT_DIR" ]; then - CONFDIR=$CINIT_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -elif [ -d /etc/cinit ]; then - CONFDIR=/etc/cinit -else - echo Did not find cinit configuration 1>&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.install.binary deleted file mode 100644 index 08004ac7..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.install.binary +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# - - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.install.conf b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.install.conf deleted file mode 100644 index bd6fadc2..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.install.conf +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# - - -. $(dirname $0)/cinit.read-conf - -echo "*** > Currently missing, sorry." - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.install.dir deleted file mode 100644 index a94a9b9b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.install.dir +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install configuration directory -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" $DESTDIR/$PREFIX/$CINIT_DIR diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.mkheader b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.mkheader deleted file mode 100644 index e1f35d07..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.mkheader +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric - no I didn't see an easier way - numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - - [ "$numeric" ] || value="\"$value\"" - - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.read-conf b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.read-conf deleted file mode 100644 index 4263129c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.read-conf +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - eval $NAME="$(head -n 1 $conf)" - eval export $NAME -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.remove.getty deleted file mode 100644 index 5a885725..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.remove.getty +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR; echo * | sed 's/.* //') - -[ ! "$NUMBER" ] && exit 1 - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r $DDIR -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.0.5/bin/cinit.shutdown deleted file mode 100644 index 49b1dabd..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/cinit.shutdown +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# 2005-05-24 - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -o|--off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -o|--off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.0.5/bin/not-working/cinit.create.service b/software/cinit/browse_source/cinit-0.0.5/bin/not-working/cinit.create.service deleted file mode 100644 index df092275..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/bin/not-working/cinit.create.service +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name (including category)" - echo " I do create a service for you" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -# read input (from gentoo-bug.sh, http://linux.schottelius.org/scripts/#gentoo-bug -reread() -{ - _tmp="" - name="$1" - - while [ ! "$_tmp" ]; do - read -p "$1 [$_tmp]: " _tmp - done - - echo $_tmp -} - - -for svc in $@; do - echo -n "Creating $svc ..." - mkdir -p "${BASEDIR}/${svc}" - cd ${BASEDIR}/${svc} - mkdir -p "${C_WANTS}" "${C_NEEDS}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.5/cinit.h b/software/cinit/browse_source/cinit-0.0.5/cinit.h deleted file mode 100644 index cc9af1b0..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/cinit.h +++ /dev/null @@ -1,136 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* limits: will be obsolete in cinit-1.0 */ -#define MAX_SVC 510 /* maximum services - defines size of array - may later be obsoleted */ -#define MAX_DEPS 32 /* maximum direct dependencies of a service */ -#define BUFSIZE 4096 - -/* paths */ -#define C_ONARG C_ON C_PARAMS -#define C_OFFARG C_OFF C_PARAMS -#define C_ONENV C_ON C_ENV -#define C_OFFENV C_OFF C_ENV - -#define SLASH "/" - -#define CINIT_INIT CINIT_DIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK - -/* commands (maximum: 2^8 = 256)*/ -#define CMD_START_SVC 0 -#define CMD_CHG_STATUS 1 -#define CMD_STOP_SVC 2 -#define CMD_KILL_SVC 3 - -#define CMD_RESCUE 251 -#define CMD_INIT 252 - -#define CMD_HALT 253 -#define CMD_REBOOT 254 -#define CMD_POWEROFF 255 - -/* status of a service */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ -#define ST_FAIL 4 /* failed to start service */ - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* Messages to the outside */ - -#define MSG_ERR_FORK "fork" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_TERMKILL "sigterm" -#define MSG_KILLBILL "sigkill" - -/* array of svc - not needed anymore -struct svc { - char *abs_path; * service identifier * - char status; * tmp, respawn, ran once * - pid_t pid; * pid of the process * -}; - -struct svcl { - struct svc svca[MAX_SVC]; - int process; -}; -*/ - -// extern struct svcl svc_list; -struct listitem { - char *abs_path; - int status; - pid_t pid; - struct listitem *before; - struct listitem *after; -}; - - -/* variables */ -extern struct listitem *list; -extern int sock, logfd; - -/* functions (used by server and client) */ -void cerr(char *string, int status); -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -#define LOG(s) mini_printf(s,logfd) - -int do_start_svc(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -/* int chk_svc(char *svc); -int add_mod_svc(char *svc, char status, pid_t pid); */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int run_init_svc(void); -void sigio(int signal); -void sig_reboot(int signal); -void panic(void); - -/* client / message functions */ -int msg_start_svc(char *svc); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); - -/* listing functions (server only) */ - -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); - - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* Messages to the outside */ diff --git a/software/cinit/browse_source/cinit-0.0.5/client/README b/software/cinit/browse_source/cinit-0.0.5/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.0.5/client/begin_msg.c b/software/cinit/browse_source/cinit-0.0.5/client/begin_msg.c deleted file mode 100644 index 9b569543..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror("i/o: command"); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/client/connect_sock.c b/software/cinit/browse_source/cinit-0.0.5/client/connect_sock.c deleted file mode 100644 index 831121b7..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/client/connect_sock.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - D_PRINTF("socket verbinden"); - - /******************* begin socket *********************/ - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror("socket"); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - perror("connect"); - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/client/exec_svc.c b/software/cinit/browse_source/cinit-0.0.5/client/exec_svc.c deleted file mode 100644 index bdbe53f8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/client/exec_svc.c +++ /dev/null @@ -1,246 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -pid_t exec_svc(char *abspath, int on) -{ - pid_t pid; - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - pid = fork(); - if( pid == -1 ) { - perror("fork"); - return 0; - } - - /***** PARENT ******/ - if(pid > 0) { - waitpid(pid,&tmp,0); - if( WIFEXITED(tmp) ) { - D_PRINTF("EXEC SVC ERFOLGREICH"); - return pid; - } else { - D_PRINTF("EXEC SVC FEHLGESCHLAGEN"); - return 0; - } - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - - if(on) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - D_PRINTF(pathtmp); - - /* readlink retrieves real name, if it is a symlink */ - if ( (tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror("readlink"); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - - if(on) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - tmp++; /* add memory for \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - - if(on) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror("open"); - _exit(1); - } - - argc = 0; - - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror("read"); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG("realloc failed"); - _exit(1); - } - - nargv[argc] = sbuf; - *p = '\0'; - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - argc++; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG("realloc failed"); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(on) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* if a file exists, failing to open it is an error */ - if(fd == -1) { - perror("open"); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror("read"); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG("realloc failed"); - _exit(1); - } - - nenv[argc] = sbuf; - *p = '\0'; - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - argc++; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - perror(MSG_ERR_EXECVE); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.0.5/client/kill_svc.c b/software/cinit/browse_source/cinit-0.0.5/client/kill_svc.c deleted file mode 100644 index d9ce3a8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/client/kill_svc.c +++ /dev/null @@ -1,104 +0,0 @@ -KOPIE VON RUN_SVC - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and beforeo all dependencies - */ -void kill_svc(char *rpath, pid_t pid) -{ - int tmp; - char svc[PATH_MAX], svcparams[PATH_MAX]; - struct stat buf; - - D_PRINTF("starte kill_svc"); - D_PRINTF(rpath); - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - /* FIXME: add log + service name here */ - D_PRINTF("some NEEDED services failed)"); - msg_change_status(abspath, ST_FAIL, 0); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawning"); - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - D_PRINTF("exec_unce"); - pid = exec_svc(abspath); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return 0; - } - - D_PRINTF("Melde status"); - if(!msg_change_status(abspath, tmp, pid) ) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.0.5/client/msg_change_status.c deleted file mode 100644 index 837d87b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -int msg_change_status(char *svc, char status, pid_t pid) -{ - D_PRINTF(svc); - - if(!begin_msg(CMD_CHG_STATUS)) return 0; - - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/client/msg_start_svc.c b/software/cinit/browse_source/cinit-0.0.5/client/msg_start_svc.c deleted file mode 100644 index d7e8867c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/client/msg_start_svc.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -int msg_start_svc(char *svc) -{ - D_PRINTF(svc); - - D_PRINTF("writing message begin"); - if(!begin_msg(CMD_START_SVC)) return 0; - D_PRINTF("writing service infos"); - if(!do_start_svc(sock,svc,ACT_CLIENT)) return 0; - D_PRINTF("reading result"); - if(!do_result(sock,NULL)) return 0; - D_PRINTF("gutes ende"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.0.5/client/respawn_svc.c deleted file mode 100644 index e5c5d4c2..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/client/respawn_svc.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int status; - int pipefd[2]; - - if(pipe(pipefd) == -1) { - perror("pope"); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror("forke"); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&status,sizeof(status)) == -1) { - perror("read pope"); - return 0; - } - return pid; /* return watchers pid */ - } - - /******************** CHILD ********************/ - /* FIXME: add signal handler for shut down */ - - status = 1; - if( write(pipefd[1],&status,sizeof(status)) == -1) { - perror("read pope"); - _exit(1); - } - - while( status ) { - D_PRINTF(abspath); - pid = exec_svc(abspath, status); - - waitpid(pid,&status,0); - - if( ! WIFEXITED(status) ) { - if( WEXITSTATUS(status) ) { - /* sleep conf/c_sleep seconds on error exit */ - sleep(SLEEP_SVC); - D_PRINTF("schlecht gestorben"); - } - } - } - - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.0.5/client/run_run_svc.c b/software/cinit/browse_source/cinit-0.0.5/client/run_run_svc.c deleted file mode 100644 index 9cea0f33..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/client/run_run_svc.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX]; - pid_t pids[MAX_DEPS]; - int status, i=0, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - i++; - } else { - LOG("to many dependencies"); - break; - } - - if(pids[i-1] == -1) { /* err */ - LOG("fork failed"); - return 0; - } - - if(pids[i-1] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,"/"); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - if( ! WIFEXITED(status)) { - ret = 0; - } - i--; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/client/run_svc.c b/software/cinit/browse_source/cinit-0.0.5/client/run_svc.c deleted file mode 100644 index 9c765cc0..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/client/run_svc.c +++ /dev/null @@ -1,111 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and beforeo all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - /* FIXME: add log + service name here */ - D_PRINTF("some NEEDED services failed"); - msg_change_status(abspath, ST_FAIL, 0); - return 0; - } - } - - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - D_PRINTF("Starte wants"); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - /*FIXME: check for C_ON, otherwise we are done! */ - - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - tmp = 1; - pid = exec_svc(abspath, tmp); - tmp = ST_ONCE; - } - - D_PRINTF("Melde status"); - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return 0; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/comm/README b/software/cinit/browse_source/cinit-0.0.5/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.0.5/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.0.5/comm/do_change_status.c deleted file mode 100644 index 5e43654b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/comm/do_change_status.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror("i/o: length"); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror("i/o: service name"); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror("i/o: status"); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror("i/o: PID"); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/comm/do_result.c b/software/cinit/browse_source/cinit-0.0.5/comm/do_result.c deleted file mode 100644 index 3bf78718..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/comm/do_result.c +++ /dev/null @@ -1,32 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int sock2, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(sock2,value,1) == -1) { /* result */ - perror("i/o: result"); - return 0; - } - - return *value; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/comm/do_start_svc.c b/software/cinit/browse_source/cinit-0.0.5/comm/do_start_svc.c deleted file mode 100644 index 959a0001..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/comm/do_start_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_start_svc(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror("i/o: len"); - return 0; - } - - if(tmp > PATH_MAX) return 0; - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror("i/o: service name"); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/.README b/software/cinit/browse_source/cinit-0.0.5/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_env b/software/cinit/browse_source/cinit-0.0.5/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_halt b/software/cinit/browse_source/cinit-0.0.5/conf/c_halt deleted file mode 100644 index bc062a2c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the service we should start when 'halting' (system stop, but no -power off). diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_init b/software/cinit/browse_source/cinit-0.0.5/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_needs b/software/cinit/browse_source/cinit-0.0.5/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_off b/software/cinit/browse_source/cinit-0.0.5/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_on b/software/cinit/browse_source/cinit-0.0.5/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_params b/software/cinit/browse_source/cinit-0.0.5/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_poweroff b/software/cinit/browse_source/cinit-0.0.5/conf/c_poweroff deleted file mode 100644 index 273d4bec..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_poweroff +++ /dev/null @@ -1,3 +0,0 @@ -poweroff - -Name of the service we should start, when system power-off is called. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_reboot b/software/cinit/browse_source/cinit-0.0.5/conf/c_reboot deleted file mode 100644 index 17937b4a..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_reboot +++ /dev/null @@ -1,3 +0,0 @@ -reboot - -Name of the service we should start on reboot. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_respawn b/software/cinit/browse_source/cinit-0.0.5/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_sock b/software/cinit/browse_source/cinit-0.0.5/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_tmp b/software/cinit/browse_source/cinit-0.0.5/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.0.5/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.0.5/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/c_wants b/software/cinit/browse_source/cinit-0.0.5/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/cinit_dir b/software/cinit/browse_source/cinit-0.0.5/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/destdir b/software/cinit/browse_source/cinit-0.0.5/conf/destdir deleted file mode 100644 index 8b137891..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/destdir +++ /dev/null @@ -1 +0,0 @@ - diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/getty_dir b/software/cinit/browse_source/cinit-0.0.5/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/install_directory b/software/cinit/browse_source/cinit-0.0.5/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/install_prog b/software/cinit/browse_source/cinit-0.0.5/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/prefix b/software/cinit/browse_source/cinit-0.0.5/conf/prefix deleted file mode 100644 index 580ae0cb..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/prefix +++ /dev/null @@ -1,4 +0,0 @@ -/ - -Where to install cinit. Normally this will be /, but you can put in anywhere. -The subdirectory 'sbin' under this prefix must be reabable by the kernel. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/sleep_kill b/software/cinit/browse_source/cinit-0.0.5/conf/sleep_kill deleted file mode 100644 index de1fd006..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/sleep_kill +++ /dev/null @@ -1,5 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/sleep_svc b/software/cinit/browse_source/cinit-0.0.5/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/sock_group b/software/cinit/browse_source/cinit-0.0.5/conf/sock_group deleted file mode 100644 index d4c1adda..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/sock_group +++ /dev/null @@ -1,3 +0,0 @@ -root - -The group, which should own the communication socket. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/sock_mode b/software/cinit/browse_source/cinit-0.0.5/conf/sock_mode deleted file mode 100644 index b2a727b0..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/sock_mode +++ /dev/null @@ -1,3 +0,0 @@ -0770 - -Octal mode of socket. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/sock_queue b/software/cinit/browse_source/cinit-0.0.5/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.0.5/conf/sock_user b/software/cinit/browse_source/cinit-0.0.5/conf/sock_user deleted file mode 100644 index 34274f4f..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/conf/sock_user +++ /dev/null @@ -1,3 +0,0 @@ -root - -The one who should own the communication socket. diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/.buildwarn b/software/cinit/browse_source/cinit-0.0.5/doc/.buildwarn deleted file mode 100644 index 11388c21..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/.buildwarn +++ /dev/null @@ -1,21 +0,0 @@ - -------------- -W A R N I N G -------------- - -**************************************************************************** -THIS IS A PRE-RELEASE, NOT YET THOUGHT TO BE USED IN PRODUCTIVE ENVIRONMENT! -**************************************************************************** - -First of all configure cinit through the configuration files found in conf/. -Especially look at conf/*tmp*. - -The documentation can be found in doc/, please read doc/configuring.cinit -before first use. - -After reading and configuring use: - - "make all" - to build cinit - "make install" - to install cinit - "make install-conf" - to install cinit configuration example - -> WARNING: the last make target does not honour $DESTDIR yet! diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/caveats b/software/cinit/browse_source/cinit-0.0.5/doc/caveats deleted file mode 100644 index 5794538b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/caveats +++ /dev/null @@ -1,39 +0,0 @@ -'Geheimnisse' in German - - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporary disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster, if you omit non needed - 'wants' and 'needs' dirs, as they need to be scanned, if they - exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that noone - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what todo when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/cinit.commands b/software/cinit/browse_source/cinit-0.0.5/doc/cinit.commands deleted file mode 100644 index 7f606f4c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/cinit.commands +++ /dev/null @@ -1,92 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (uses SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service and its dependencies. - CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell.**) - CMD_INIT: Start all services (again possibly).**) - - CMD_HALT: Halt the system*) - CMD_REBOOT: Reboot the system*) - CMD_POWEROFF: Power-off the system*) - - *) The commands are not and maybe will never be implemented, - as they are realized another way (using signals). - - **) Not yet implemented. - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) ok, a SID, a service ID: int svc_id; [ really need int? ] - b) fail, [currently only fail is returned] - a) already running - b) svc_name too long / not allowed - - [ A service identification is used for faster searching in cinit. - It is also a hint for developers of external software, that they should not - be able to use CMD_CHG_STATUS, if they didn't start a service. - They should use CMD_STOP_SVC to stop a service. - Starting a service is currently done via exec() in the external program or - a cinit-fork(). ] - -CMD1CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_INIT: Start all services (again possibly). - cinit returns: ready... - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/configuring.cinit b/software/cinit/browse_source/cinit-0.0.5/doc/configuring.cinit deleted file mode 100644 index b899da34..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/configuring.cinit +++ /dev/null @@ -1,75 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, Nico Schottelius 2005-05-28 --------------------------------------------------------------------------------- - -0. Pre-compile configuration - -Have a look at conf/*. Those variable will mostly be used when -compiling cinit. Some will be read later (like destdir). - -1. General configuration layout - -/etc/cinit (configureable via conf/cinit_dir) stores the complete -cinit configuration. - -cinit is service based. -A service consists of - - a base directory (like /etc/cinit/getty/1) - - dependency configuration: - - ./wants - services it wants to be started before (but it - will work anyway) - - ./needs/ - services it needs. If those services fail, this service - won't be started - - - the program to run when switching the service on - - a flag indicating whether to respawn the service: - - ./respawn (simply touch it) - - -Services -2. Hints - -2.0 Service executing / parameters - -on/off -> link -mostly no shell scripts - -linking to system configuration - -2.1 Daemons -pidfilehack -pidfilehack - from fefe/minit? -not forking! -writing to stdout - -2.2 Logging - -Currently there's no special logging support. -When programs write to stdout, it will be displayed on -the same stdout cinit is connected to -(we don't even open /dev/console - we are too lazy currently). - -2.3 Using prepared scripts - -In the bin/ directory of this tarball you'll find: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - -adding services with cinit.add.service? -> later, meta-deps? - -meta-deps - -X. Examples - -X.0 Getty -X.1 OpenSSH - diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/fun/testing01 b/software/cinit/browse_source/cinit-0.0.5/doc/fun/testing01 deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/fun/testing01 +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/how_it_works_internally b/software/cinit/browse_source/cinit-0.0.5/doc/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/ipc.thoughts b/software/cinit/browse_source/cinit-0.0.5/doc/ipc.thoughts deleted file mode 100644 index d7352559..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/ipc.thoughts +++ /dev/null @@ -1,74 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2), -1024=max fds, -3=already opened (stderr/stdin/stdout), /2= -two fds needed per clients). - -Pipes cannot be use easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR. - -That way, we are forced to mount a temporary filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt and - - poweroff. - -Simple send cinit a signal, what todo: - SIGUSR1: reboot - SIGUSR2: poweroff - TERM: halt - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.0.5/doc/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/merging.other.initsystems b/software/cinit/browse_source/cinit-0.0.5/doc/merging.other.initsystems deleted file mode 100644 index 9dd65218..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/merging.other.initsystems +++ /dev/null @@ -1,64 +0,0 @@ --------------------------------------------------------------------------------- -Merging other init systems to cinit -Nico Schottelius 2005-06-02 --------------------------------------------------------------------------------- - -1. Preamble -2. General todo -3. Create a script - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not exclude that he accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much -appreciated. - - -2. General todo - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/meta.dependencies b/software/cinit/browse_source/cinit-0.0.5/doc/meta.dependencies deleted file mode 100644 index f599e37c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/meta.dependencies +++ /dev/null @@ -1,55 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, on would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation. - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -it does not need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/porting.to.other.os b/software/cinit/browse_source/cinit-0.0.5/doc/porting.to.other.os deleted file mode 100644 index 8ef962de..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/porting.to.other.os +++ /dev/null @@ -1,22 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporary filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.0.5/doc/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/shutting.down b/software/cinit/browse_source/cinit-0.0.5/doc/shutting.down deleted file mode 100644 index b5e81fda..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/shutting.down +++ /dev/null @@ -1,61 +0,0 @@ --------------------------------------------------------------------------------- -Shutting down the system -Nico Schotteilus, 2005-05-24 (last change: 2005-06-02) --------------------------------------------------------------------------------- - -cinit will shutdown all running service exactly the reverted -way it started them. - -1. What to do to allow a system to shutdown? - -Create /etc/cinit/reboot, /etc/cinit/power-off and /etc/cinit/halt. - -It's in most scenarios also enough to create only one of those -service directories and link all others against the first one: - -[21:38] ei:cinit# mkdir /etc/cinit/power-off -[21:38] ei:cinit# ln -s power-off /etc/cinit/reboot -[21:38] ei:cinit# ln -s power-off /etc/cinit/halt - -Then create the needed services, which are almost always: - - - swapoff: disable swap - - sync: sync buffers to disk - - umount: umount everything - - remount: remount root read-only - - -on oder off????? - -Add dependencies to - -You can also use -What todo when shutting down (reboot, halt, poweroff) the system: - -1. Cycle through service list and -while(processes--) { - Stop_current_processs -} - - - Stop_current_processs - \ if(status = respawn) - | -> kill -TERM pid - | exec_svc(svc/off, svc/off.params) - -kill remaining processes with SIGTERM -sleep(WAIT_KILL) -kill remaining processes with SIGKILL -sync; -umount(*) - -reboot - - -- cycle through running services, kill them the other way round -- stop respawing processes - -- start off-process of running services -- don't shutdown failed services - -kill_svc(struct stat svc); - diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/thoughts.closed b/software/cinit/browse_source/cinit-0.0.5/doc/thoughts.closed deleted file mode 100644 index 1da4bebe..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/thoughts.closed +++ /dev/null @@ -1,24 +0,0 @@ -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporary fs before. - diff --git a/software/cinit/browse_source/cinit-0.0.5/doc/thoughts.open b/software/cinit/browse_source/cinit-0.0.5/doc/thoughts.open deleted file mode 100644 index 5e0a054c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/doc/thoughts.open +++ /dev/null @@ -1,14 +0,0 @@ -- Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. - -- Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. diff --git a/software/cinit/browse_source/cinit-0.0.5/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.0.5/generic/mini_printf.c deleted file mode 100644 index d384e717..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/generic/mini_printf.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print string - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - p = str; - while ( *p != '\0') { - write(fd,p,1); - p++; - } - - write(fd,"\n",1); /* FIXME: only when console */ -} diff --git a/software/cinit/browse_source/cinit-0.0.5/generic/set_signals.c b/software/cinit/browse_source/cinit-0.0.5/generic/set_signals.c deleted file mode 100644 index aa3233b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/generic/set_signals.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - sigaction(SIGUSR2,&sa,NULL); /* USR2 */ - sigaction(SIGQUIT,&sa,NULL); /* QUIT... */ - sigaction(SIGTTIN,&sa,NULL); - sigaction(SIGTTOU,&sa,NULL); - - /* sigio is called to act on the socket */ - if(action == ACT_SERV) { - sa.sa_handler=sigio; - } - sigaction(SIGIO,&sa,NULL); - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } -// sigaction(SIGINT,&sa,NULL); /* FIXME: Testing only: ctr+c = REBOOT!!! */ - sigaction(SIGUSR1,&sa,NULL); - sigaction(SIGTERM,&sa,NULL); - sigaction(SIGHUP,&sa,NULL); - - /* sigstop can't be ignored, do the manpages say */ - /* sigaction(SIGSTOP,&sa,NULL); */ -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/add_mod_svc.c b/software/cinit/browse_source/cinit-0.0.5/old/add_mod_svc.c deleted file mode 100644 index c74778d4..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/add_mod_svc.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * add_svc - * part of cinit - */ - -#include - -#include "cinit.h" - -/* we return the service id or -1 on error*/ -int add_mod_svc(char *svc, char status, pid_t pid) -{ - int tmp = 0; - - /* check if service exists, if so, set new status, return sid */ - tmp = chk_svc(svc); - if( tmp != -1 ) { - svc_list.svca[tmp].status = status; - return tmp; - } - - /* still here? than there is no such service */ - if(svc_list.process < MAX_SVC) { - printf("[%d]: %s (%d)\n",svc_list.process,svc,pid); - svc_list.svca[svc_list.process].abs_path = strdup(svc); - - if(svc_list.svca[svc_list.process].abs_path == NULL) { - LOG("strdup failed!"); - return -1; - } - svc_list.svca[svc_list.process].pid = pid; - /* inkrement later, as we count argv[0..n] */ - (svc_list.process)++; - } else { - LOG("too many services"); - return -1; - } - - /* return _our_ service id */ - return (svc_list.process -1); -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/cerr.c b/software/cinit/browse_source/cinit-0.0.5/old/cerr.c deleted file mode 100644 index b9dec472..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/cerr.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print error to stderr and exist - */ - -#include -#include "cinit.h" - -void cerr(char *string, int status) -{ - char *p; - - p = string; - while ( *p != '\0') { - write(2,p,1); - p++; - } - write(2,"\n",1); - - switch(status) { - case RT_CHLD_FAIL: - case RT_CHLD_OK: - _exit(status); - ;; - case RT_PAR_FAIL: /* FIXME: if status is RT_PAR_FAIL, start sulogin */ - _exit(23); - ;; - case RT_PAR_OK: - return; - ;; - } - -/* FIXME: return if in cinit, _exit on fork() */ -// if(...) -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/cinit.add.shutdown.reboot.poweroff b/software/cinit/browse_source/cinit-0.0.5/old/cinit.add.shutdown.reboot.poweroff deleted file mode 100644 index 23cae705..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/cinit.add.shutdown.reboot.poweroff +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add shutdown/reboot/poweroff service - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -# create halt, link reboot and poweroff to it -mkdir "$BASEDIR/$C_HALT" -ln -s "$C_HALT" "$BASEDIR/$C_REBOOT" -ln -s "$C_HALT" "$BASEDIR/$C_POWEROFF" diff --git a/software/cinit/browse_source/cinit-0.0.5/old/cinit.c01 b/software/cinit/browse_source/cinit-0.0.5/old/cinit.c01 deleted file mode 100644 index e3890013..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/cinit.c01 +++ /dev/null @@ -1,105 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - - -#include - -#define EKEL "/etc/cinit/init/wants" - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/* - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - - /* check if already running / ran / currently starting */ - - /* check for needs -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es, %s\n", pathbuf); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) printf("dir gibt es, %s\n", pathbuf); - - d_tmp = opendir(path); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -int main() -{ - - char buf[256]; - int tmp; - - strcpy(buf,CINIT_DIR); - tmp = strlen(CINIT_DIR); - buf[tmp] = '/'; - strcpy(&buf[tmp+1],C_INIT); - - printf("path: %s\n",buf); - - run_svc("/etc/cinit/init"); - - run_svc("/etc/cinit2/init"); - - run_svc("/NOT_THERE"); - -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/cinit.c02 b/software/cinit/browse_source/cinit-0.0.5/old/cinit.c02 deleted file mode 100644 index 7e5432b4..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/cinit.c02 +++ /dev/null @@ -1,198 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" -#define C_RUN "run" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - -/* wait() */ -#include - -/* strlen */ -#include - -#include - -#define EKEL "/etc/cinit/init/wants" - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/*********************************************************************** - * parallel run forked() run_svc() - */ -#define MAX_PAR 32 - -int run_run_svcs(char *rpath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - pid_t pids[MAX_PAR]; - int tmp,i=0; - - printf("run_run_svcs on: %s\n",rpath); - - d_tmp = opendir(rpath); - - if(d_tmp == NULL) { - printf("Failed to open dir: %s", rpath); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 - || strcmp(tdirent->d_name, "..") == 0) - continue; - - if(i < MAX_PAR) { - pids[i] = fork(); - i++; - } else { - cerr("to many dependencies"); - return 1; - } - - if(pids[i-1] == -1) { /* err */ - cerr("fork failed\n"); - return 0; - } else if(pids[i-1] == 0) { /* child */ - printf("Service zu starten nun: %s\n", tdirent->d_name); - run_svc(tdirent->d_name); - _exit(0); - } else /* the parent simply goes the loop again */ - printf("run_svcs_PARENT\n"); - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { -// printf("waiting for %d ... \n",i); - waitpid(pids[i], &tmp, 0); - i--; - } -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - - char buf[256]; - int tmp; - - strcpy(buf,CINIT_DIR); - tmp = strlen(CINIT_DIR); - buf[tmp] = '/'; - strcpy(&buf[tmp+1],C_INIT); - - printf("path: %s\n",buf); - - run_svc("/etc/cinit/init"); - - run_svc("/NOT_THERE"); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/cinit.c03 b/software/cinit/browse_source/cinit-0.0.5/old/cinit.c03 deleted file mode 100644 index c1b5eb42..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/cinit.c03 +++ /dev/null @@ -1,241 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" -#define C_RUN "run" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - -/* wait() */ -#include - -/* strlen */ -#include - -#include - -#include "cinit.h" - -#define EKEL "/etc/cinit/init/wants" - -/* status of a service */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ - -/* array of svc */ -/* linked list of services */ -/* balanced trees */ -struct svc { - char *abs_path; -// struct svc *next; - int status; /* tmp, respawn, ran once */ - /* evtl: */ -}; - -struct svcl { - struct svc svc_list[1000]; - int process; -} svc_list; - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/*********************************************************************** - * parallel run forked() run_svc() - */ -#define MAX_PAR 32 - -int run_run_svcs(char *rpath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - pid_t pids[MAX_PAR]; - int tmp,i=0; - - printf("run_run_svcs on: %s\n",rpath); - - d_tmp = opendir(rpath); - - if(d_tmp == NULL) { - printf("Failed to open dir: %s", rpath); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 - || strcmp(tdirent->d_name, "..") == 0) - continue; - - if(i < MAX_PAR) { - pids[i] = fork(); - i++; - } else { - cerr("to many dependencies"); - return 1; - } - - if(pids[i-1] == -1) { /* err */ - cerr("fork failed\n"); - return 0; - } else if(pids[i-1] == 0) { /* child */ - printf("Service zu starten nun: %s\n", tdirent->d_name); - run_svc(tdirent->d_name); - _exit(0); - } else /* the parent simply goes the loop again */ - printf("run_svcs_PARENT\n"); - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { -// printf("waiting for %d ... \n",i); - waitpid(pids[i], &tmp, 0); - i--; - } -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* debug */ - getcwd(pathbuf,1024); - - printf("dir: %s\n",pathbuf); - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char pathbuf[MAXPATH]; - struct stat buf; - - strcpy(pathbuf,CINIT_DIR); - strcat(pathbuf,"/"); - strcat(pathbuf,C_INIT); - - printf("path: %s\n",pathbuf); - - svc_list.process = 0; - - /* stat, checkdir */ - if( stat(pathbuf,&buf) ) { - printf("PANIC ACTION: init dir missing\n"); - return 1; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("PANIC ACTION: init is not a dir\n"); - return 1; - } - - if( chdir(pathbuf) == -1) { - printf("PANIC ACTION: chdir(%s) failed!\n",pathbuf); - return 1; - } - run_svc("/etc/cinit/init"); -// run_svc(""); - -// run_svc("/NOT_THERE"); - -// execl("/bin/zsh","zsh", "-l"); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/cinit.c04 b/software/cinit/browse_source/cinit-0.0.5/old/cinit.c04 deleted file mode 100644 index 983c03eb..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/cinit.c04 +++ /dev/null @@ -1,130 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; -int f_in, f_out; - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char pathbuf[PATH_MAX]; - char buf[1223]; - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTP,&sa,NULL); /* ignore ctr+z, stop */ - - D_PRINTF(CINIT_INIT); - - /* count of started processes */ - svc_list.process = 0; - - /* begin to handle signals */ - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* open communication fifos */ - f_in = open(CINIT_DIR SLASH F_IN, O_RDWR); - f_out = open(CINIT_DIR SLASH F_OUT, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed\n",RT_PAR_FAIL); - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; - sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ - sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ - sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* important signal handlers: pipe, child */ -// sa.sa_handler=sig_pipe; -// sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - -// sa.sa_handler=sig_child; -// sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - - /* big TODO: */ - - /* some while/for loop to hang forever, remember, we are init! */ - while(1) { - i=0; - /* read path */ - do { - read(f_in,&buf,1); -// buf1[i] = buf; i++; - } while(buf != '\0'); -// - // printf("Read path: %s\n",buf1); - - i=0; - /* read status */ - do { - read(f_in,&buf,1); - // buf2[i] = buf; i++; - } while(buf != '\0'); - - // status = atoi(buf2); - // printf("Read status: %d\n",status); - - i=0; - /* read pid */ - do { - read(f_in,&buf,1); - // buf3[i] = buf; i++; - } while(buf != '\0'); - - // pid = atoi(buf3); - - - - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/cinit.c05 b/software/cinit/browse_source/cinit-0.0.5/old/cinit.c05 deleted file mode 100644 index 8dec1f46..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/cinit.c05 +++ /dev/null @@ -1,137 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char buf[1223]; - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTOP,&sa,NULL); /* ignore ctr+z, stop */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - - D_PRINTF(CINIT_INIT); - - /* begin to handle signals */ - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* get shared memory */ - - shmfd = shm_open(CINIT_SHM,O_RDWR|O_CREAT,0600); - - if(shmfd == -1) { - perror("Shared memory"); - cerr("shared memory",RT_PAR_FAIL); - } - - /* count of started processes */ - svc_list.process = 0; - - /* open communication fifos */ - f_in = open(CINIT_DIR SLASH F_IN, O_RDWR); - f_out = open(CINIT_DIR SLASH F_OUT, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed",RT_PAR_FAIL); - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; - sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ - sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ - sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* important signal handlers: pipe, child */ -// sa.sa_handler=sig_pipe; - -// sa.sa_handler=sig_child; -// sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - - /* big TODO: */ - - /* some while/for loop to hang forever, remember, we are init! */ - while(1) { - i=0; - /* read path */ - do { - read(f_in,&buf,1); -// buf1[i] = buf; i++; - } while(buf != '\0'); -// - // printf("Read path: %s\n",buf1); - - i=0; - /* read status */ - do { - read(f_in,&buf,1); - // buf2[i] = buf; i++; - } while(buf != '\0'); - - // status = atoi(buf2); - // printf("Read status: %d\n",status); - - i=0; - /* read pid */ - do { - read(f_in,&buf,1); - // buf3[i] = buf; i++; - } while(buf != '\0'); - - // pid = atoi(buf3); - - - - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/cinit.c06 b/software/cinit/browse_source/cinit-0.0.5/old/cinit.c06 deleted file mode 100644 index c48de22c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/cinit.c06 +++ /dev/null @@ -1,158 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; -int sock; - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - struct ucred suck; - int len = sizeof(suck), lens; - int nsock; - struct sockaddr_un sun; - char buf; - - lens=sizeof(sun); - memset(&sun,0,lens); - -/* this is always us! */ -// getsockopt(sock, SOL_SOCKET, SO_PEERCRED, &suck, &len); -// printf("orig angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - do { - //s_tmp[s_idx] = accept(sock,(struct sockaddr *) &sun, (socklen_t *) &lens); - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - // nsock = accept(sock,(struct sockaddr *) &sun, (socklen_t *) &lens); -// if( s_tmp[s_idx] == -1) { - if( nsock == -1) { - if (errno != EAGAIN) { - perror("accept"); - _exit(1); - } else { - break; - } - } - - //getsockopt(s_tmp[s_idx], SOL_SOCKET, SO_PEERCRED, &suck, &len); - getsockopt(nsock, SOL_SOCKET, SO_PEERCRED, &suck, &len); - printf("angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - - read(nsock,&buf,1); - - printf("command: %d\n",buf); - - while ( (len = read(nsock,&buf,1)) ) { -// printf("laenge: %d\n",len); - if(len == -1) { -// if(errno != EINVAL && errno != EAGAIN) { - perror("read"); - return; -// _exit(1); -// } - } - if(buf == 0) break; - write(1,&buf,1); - } - printf("Fertig mit lesen\n"); - - write(nsock,"ok\n",4); - printf("fertig mit schreiben\n"); - } while ( 1 ); - - printf("keine sockets mehr da..., sigio beendet sich jetzt.\n"); -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTOP,&sa,NULL); /* ignore ctr+z, stop */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - sa.sa_handler=sigio; - sigaction(SIGIO,&sa,NULL); /* what todo when data arrived on socket */ - - D_PRINTF(CINIT_INIT); - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* count of started processes */ - svc_list.process = 0; - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; -// sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ -// sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ -// sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* the main loop */ - while(1) ; - -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/cinit.commands.v01 b/software/cinit/browse_source/cinit-0.0.5/old/cinit.commands.v01 deleted file mode 100644 index dfdb67c5..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/cinit.commands.v01 +++ /dev/null @@ -1,85 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (uses SO_PEERCRED as -socketoption). - -The communication-protocol is binary. - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service and its dependencies. - CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_INIT: Start all services (again possibly). - - CMD_HALT: Halt the system. - CMD_REBOOT: Reboot the system. - CMD_POWEROFF: Power-off the system. - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) ok, a SID, a service ID: int svc_id; [ really need int? ] - b) fail, [currently only fail is returned] - a) already running - b) svc_name too long / not allowed - - [ A service identification is used for faster searching in cinit. - It is also a hint for developers of external software, that they should not - be able to use CMD_CHG_STATUS, if they didn't start a service. - They should use CMD_STOP_SVC to stop a service. - Starting a service is currently done via exec() in the external program or - a cinit-fork(). ] - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int svc_id; /* service ID to change */ - 1. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit uncgrafully - UNUSED! respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_INIT: Start all services (again possibly). - cinit returns: ready... - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. diff --git a/software/cinit/browse_source/cinit-0.0.5/old/cinit.create.cinit_dir b/software/cinit/browse_source/cinit-0.0.5/old/cinit.create.cinit_dir deleted file mode 100644 index 6fd58adb..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/cinit.create.cinit_dir +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create our initial directory -# 2005-05-24 - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -mkdir -p $BASEDIR diff --git a/software/cinit/browse_source/cinit-0.0.5/old/cinit.h01 b/software/cinit/browse_source/cinit-0.0.5/old/cinit.h01 deleted file mode 100644 index e07fa2c1..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/cinit.h01 +++ /dev/null @@ -1,80 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ - -/* limits */ -#define MAX_SVC 1024 /* maximum services */ -#define MAX_DEPS 32 /* maximum direct dependencies of a service */ - -/* paths */ -#define CINIT_DIR "/etc/cinit" - -#define F_IN "in" -#define F_OUT "out" -#define SLASH "/" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "./needs" -#define C_WANTS "./wants" -#define C_RUN "./run" -#define C_RESPAWN "respawn" -#define C_PARAMS "params" - -/* return values */ -#define RT_FAIL 0 -#define RT_OK 1 - -#define RT_CHLD_FAIL 1 /* child failed */ -#define RT_CHLD_OK 2 /* child succeded */ -#define RT_PAR_FAIL 3 /* parent failed */ -#define RT_PAR_OK 4 /* parent succeded */ - -/* status of a service-starter (run_run_svc) */ -#define RT_ONE_FAILED 5 /* one ore more failed */ -#define RT_ALL_STARTED 6 /* everything ok */ -#define RT_DEPS_MAX 7 /* too many dependencies */ - -/* status of a service */ -#define ST_NO 0 /* process not existing */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ -#define ST_FAIL 4 /* failed to start service */ - - - -/* variables */ - -/* array of svc */ -/* linked list of services */ -/* balanced trees */ - -struct svc { - char *abs_path; /* service identifier */ - int status; /* tmp, respawn, ran once */ - pid_t pid; /* pid of the process */ -}; - -struct svcl { - struct svc svca[MAX_SVC]; - int process; -}; - -extern struct svcl svc_list; - -/* functions */ - -void cerr(char *string, int status); -int chk_svc(char *svc); -int run_svc(char *rpath); -int add_mod_svc(char *svc, int status); -int run_run_svcs(char *rpath); - diff --git a/software/cinit/browse_source/cinit-0.0.5/old/cnt_digits.c b/software/cinit/browse_source/cinit-0.0.5/old/cnt_digits.c deleted file mode 100644 index a692fa5c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/cnt_digits.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* this code is stolen from gpm */ - -/* what's the english name for potenz ? */ -int x_high_y(int base, int pot_y) -{ - int val = 1; - - if(pot_y == 0) val = 1; - else if(pot_y < 0) val = 0; /* ugly hack ;) */ - else while(pot_y > 0) { - val = val * base; - pot_y--; - } - return val; -} - -/* return characters needed to display int */ -int cnt_digits(int number) -{ - /* 0-9 = 1 10^0 <-> (10^1)-1 - * 10 - 99 = 2 10^1 <-> (10^2)-1 - * 100 - 999 = 3 10^2 <-> (10^3)-1 - * 1000 - 9999 = 4 ... */ - - int ret = 0, num = 0; - - /* non negative, please */ - if(number < 0) number *= -1; - else if(number == 0) ret = 1; - else while(number > num) { - ret++; - num = (x_high_y(10,ret) - 1); - } - - return(ret); -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/do_change_status.c01 b/software/cinit/browse_source/cinit-0.0.5/old/do_change_status.c01 deleted file mode 100644 index 74bb9c1e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/do_change_status.c01 +++ /dev/null @@ -1,65 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - char buf = CMD_CHG_STATUS; - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - D_PRINTF("VERSUCHE STATUS ZU AENDERN"); - printf("socket: %d (cmd=%d)\n",sock2, buf); - - if(action == ACT_READ) { - D_PRINTF("Leeeese"); - fpoint = read; - } else { - D_PRINTF("schreibe"); - fpoint = write; /* don't care about warnings! */ - } - - if(action == ACT_WRITE) { - D_PRINTF("schreibe kommando"); - if(fpoint(sock2,&buf,1) == -1) { /* COMMAND */ - perror("command i/o"); - return 0; - } - tmp = strlen(svc); - sock2 = connect_sock(sock2); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror("i/o: length"); - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror("i/o: service name"); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror("i/o: status"); - printf("Status: %d, *status=%d, sizeof=%d\n",status,*status,sizeof(*status)); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror("i/o: PID"); - return 0; - } - - D_PRINTF("fertig mit statuswechsel lesen"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/idea01 b/software/cinit/browse_source/cinit-0.0.5/old/idea01 deleted file mode 100644 index cf0df9d6..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/idea01 +++ /dev/null @@ -1,121 +0,0 @@ --------------------------------------------------------------------------------- -/etc/cinit - -> init/ - -> shutdown/ - -> reboot/ - - - needs/ -> we wait until all parallel processes are finished _and_ we - don't start if one fails - wants/ -> we start all of them parallel and wait for them? - hold/ - wait -> wait until process finished - run -> program to execute - params -> \n seperated argument list - respawn -> respawn it - -services may only be under /etc/cinit? --------------------------------------------------------------------------------- -Service-Status: - -- abs_path -- status (respawn,tmp,once) --------------------------------------------------------------------------------- - -starting services: - -run_svc("/etc/cinit/service/") - -> exec run $params -Later: - -> check if service already running -> return OK - -> check needs/ -> check wants/ - -> run_svc($cur) - - When run_svc returns, the service is started and all service it needs, too. - - --------------------------------------------------------------------------------- - -> check needs/ - -> exists -> fork( run_run_svcs() ) and continue - (fork) -> fork() run_svc(needs/*); - -> check wants/ - -> exists -> run_svc(wants/*); - -> waitfor(need_run_svc) --------------------------------------------------------------------------------- -run_run_svcs() - -> start parallel (forked) run_svc() for every service --------------------------------------------------------------------------------- - -main() - - run_svc /etc/cinit/init/ - - sleep()? -> simply do nothing -> do we need to fork ourselves? No, we are init. -spaeter: - - open /dev/console W_ONLY - - make stdin == /etc/cinit/in - - make stdout, stderr /dev/console - --------------------------------------------------------------------------------- -eof - -Things, which are clear - -- we need to fork before execl(), as excel() replaces us. -- chdir() _after_ fork() - - -profiles support: profile=$profile - - start - "service.$profile" if exists, instead of - "service" - -starting services: - -cinit: - pipe() - set_status_tmp() - fork() --> failure --> clear_service - cinit_process_watcher(): - fork() - execve(process,args,env) - waitpid() -> for once? PROCESS MUST RETURN! - write_pipe() - rmpipe() - --------------------------------------------------------------------------------- - -What to send over to cinit and read back? - - - first you need two pipes for every process: read+write (on both sides) - - cinit wants - o command - - service temporary - trying to start in right now. - - service executed once - fine - - service executed once and that failed - :-( - - service respawing - o an identifier for the service (i from service list ;-) - - --> makes 2 bytes to read --------------------------------------------------------------------------------- -How cinit works: - -cinit says: I want to start service xyz. (/etc/cinit/init on bootup) -cinit calls run_svc(). --------------------------------------------------------------------------------- - -run_svc(char *relative_path): - - check if service is alr - - fork() - - write cinit: check service, I want to start it - -> returns status of service (see ST_* in cinit.h) - - cinit returns: ok, you are temporary - - [that checked] check if service - o is already started - o is beeing started - x check if rpath S_ISDIR - x chdir(dir) - - check needs - check wants - - for every needs/* start run_svc - - check respawn -> respawn = true - - check run - diff --git a/software/cinit/browse_source/cinit-0.0.5/old/idea02 b/software/cinit/browse_source/cinit-0.0.5/old/idea02 deleted file mode 100644 index 38af8965..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/idea02 +++ /dev/null @@ -1,200 +0,0 @@ --------------------------------------------------------------------------------- -/etc/cinit - -> init/ - -> shutdown/ - -> reboot/ - - - needs/ -> we wait until all parallel processes are finished _and_ we - don't start if one fails - wants/ -> we start all of them parallel and wait for them? - hold/ - wait -> wait until process finished - run -> program to execute - params -> \n seperated argument list - respawn -> respawn it - -services may only be under /etc/cinit? --------------------------------------------------------------------------------- -Service-Status: (see struct svc, cinit.h) - -- abs_path -- status (respawn,tmp,once) -- pid - -abs_path\0status\0pid\0 - --------------------------------------------------------------------------------- - -starting services: - -run_svc("/etc/cinit/service/") - -> exec run $params -Later: - -> check if service already running -> return OK - -> check needs/ -> check wants/ - -> run_svc($cur) - - When run_svc returns, the service is started and all service it needs, too. - - --------------------------------------------------------------------------------- - -> check needs/ - -> exists -> fork( run_run_svcs() ) and continue - (fork) -> fork() run_svc(needs/*); - -> check wants/ - -> exists -> run_svc(wants/*); - -> waitfor(need_run_svc) --------------------------------------------------------------------------------- -run_run_svcs() - -> start parallel (forked) run_svc() for every service --------------------------------------------------------------------------------- - -main() - - run_svc /etc/cinit/init/ - - sleep()? -> simply do nothing -> do we need to fork ourselves? No, we are init. -spaeter: - - open /dev/console W_ONLY - - make stdin == /etc/cinit/in - - make stdout, stderr /dev/console - --------------------------------------------------------------------------------- -eof - -Things, which are clear - -- we need to fork before execl(), as excel() replaces us. -- chdir() _after_ fork() - - -profiles support: profile=$profile - - start - "service.$profile" if exists, instead of - "service" - -starting services: - -cinit: - pipe() - set_status_tmp() - fork() --> failure --> clear_service - cinit_process_watcher(): - fork() - execve(process,args,env) - waitpid() -> for once? PROCESS MUST RETURN! - write_pipe() - rmpipe() - --------------------------------------------------------------------------------- - -What to send over to cinit and read back? - - - first you need two pipes for every process: read+write (on both sides) - - cinit wants - o command - - service temporary - trying to start in right now. - - service executed once - fine - - service executed once and that failed - :-( - - service respawing - o an identifier for the service (i from service list ;-) - - --> makes 2 bytes to read --------------------------------------------------------------------------------- -How cinit works: - -cinit says: I want to start service xyz. (/etc/cinit/init on bootup) -cinit calls run_svc(). --------------------------------------------------------------------------------- - -int run_svc(char *relative_path): - - check if service is already running or temporary (task list!) - -> yes: return RT_PAR_OK - -> no: continue. - - set service to be temporary (ST_TMP) and retrieve SID (service ID) - - walk through dependency tree and call run_svc - - fork() -> so cinit can continue. - - write cinit: check service, I want to start it - -> returns status of service (see ST_* in cinit.h) - - cinit returns: ok, you are temporary - - [that checked] check if service - o is already started - o is beeing started - x check if rpath S_ISDIR - x chdir(dir) - - check needs - check wants - - for every needs/* start run_svc - - check respawn -> respawn = true - - check run - --------------------------------------------------------------------------------- - -add_mod_svc(char *svc, int status) - -> add or modify status of a service - - - check whether service exists, reset status - - if not exists, insert if maximum of services is not reached --------------------------------------------------------------------------------- - -cinit communications proto --------------------------------------------------------------------------------- - -cinit: - -> signal_handler on SIGCHLD - run_init() - -> run_svc(init) - -> fork() -> do the work - -signal_handler_child - waitpid(.*) - -> returns pid - - oder waitpid() in dem run_svc, wenn need/once? - - need: - for i in need/*; do - ( $service & ); - done - wait(.*); - --------------------------------------------------------------------------------- - -cinit: - -run_svc: - checks what it needs (need/*) - need/* - fork() - fork(), fork() - --------------------------------------------------------------------------------- -Kommunikationsproblem: - - -> 1024 ist maximale anzahl offener sockets -> 510 von fifos,pipes - - mehrere FIFOs? - --> kommunikation gesichert, extrem viele fifos... - --> etwas unsauber, aber geregelte kommunikation - - mehrere PIPEs? - --> viele PIPEs (HRHR) - --> programme koennen nur von cinit gefork()ed werden. - - --> eine datei mit prozessen? - --> einen RAM Bereich? --------------------------------------------------------------------------------- - -cinit[1] <-> fifo <-> forker - -forker? --------------------------------------------------------------------------------- - -pfad vorher aufloesen? - --------------------------------------------------------------------------------- -Kommunikation: ::Test:: - - Test mit nur 2 FIFOs! - --------------------------------------------------------------------------------- - -sig_fifo() -read(..) als hauptaufgabe? diff --git a/software/cinit/browse_source/cinit-0.0.5/old/msg_change_status.c01 b/software/cinit/browse_source/cinit-0.0.5/old/msg_change_status.c01 deleted file mode 100644 index cfd66ae3..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/msg_change_status.c01 +++ /dev/null @@ -1,49 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include - -#include "cinit.h" - -int do_change_status(char *svc, char status, pid_t pid, int action) -{ - char buf = CMD_CHG_STATUS; - int tmp = strlen(svc); - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_READ) - fpoint = read; - else - fpoint = write; - - D_PRINTF("versuche status zu aendern"); - - if(write(sock,&buf,1) == -1) { /* write COMMAND */ - perror("write"); - return 0; - } - if(write(sock,&tmp,sizeof(tmp)) == -1) { /* write length */ - perror("write"); - return 0; - } - if(write(sock,svc,tmp) == -1) { /* write service name */ - perror("write"); - return 0; - } - if(write(sock,&buf,1) == -1) { /* write PID */ - perror("write"); - return 0; - } - write(sock,&status,sizeof(status)); /* write status */ - - D_PRINTF("fertig mit schreiben"); - - read(sock,&buf,sizeof(buf)); /* read SID or -1 if error */ - - return buf; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/msg_start_svc.c b/software/cinit/browse_source/cinit-0.0.5/old/msg_start_svc.c deleted file mode 100644 index c6a78bf8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/msg_start_svc.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit we start a service - */ - -#include - -/* return status */ -int msg_start_svc(char *string, int respawn) -{ - char *p; - - p = string; - while ( *p != '\0') { - write(2,p,1); - p++; - } - -/* FIXME: return if in cinit, _exit on fork() */ -// if(...) - _exit(status); -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/read_file.c b/software/cinit/browse_source/cinit-0.0.5/old/read_file.c deleted file mode 100644 index 43a5854b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/read_file.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - - -#include "cinit.h" - -/*********************************************************************** - * read_file: return file content, each line a char* - */ - -char **read_file(char *file) -{ - int tmp; - int fd, argc; - - char buf[BUFSIZE]; - char *p, *sbuf = NULL; - char **nargv = NULL; - - struct stat stbuf; - - D_PRINTF("Lese Datei"); - D_PRINTF(file); - - if( !stat(file,&stbuf) ) { - fd = open(file,O_RDONLY); - - if(fd == -1) { - LOG("params exists, but open params failed"); - return NULL; - } - - D_PRINTF("open ist ok"); - - argc = 0; - - /* most likely one round */ - while ( (tmp = read(fd,buf,BUFSIZE) ) != 0 ) { - if(tmp == -1) { - perror("read"); - return NULL; - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],buf,tmp); - argc += tmp; - } - close(fd); - } - - sbuf[argc] = '\0'; - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() */ - - argc = 0; - - while( (p = strchr(sbuf,'\n')) ) { - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG("realloc failed"); - return NULL; - } - - nargv[argc] = sbuf; - *p = '\0'; - sbuf = p+1; /* is ok, as behind the last \n is a \0 */ - argc++; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - if(nargv == NULL) { - LOG("realloc failed"); - return NULL; - } - - nargv[argc] = NULL; /* terminate argv list */ - - return nargv; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/run_init_svc.c01 b/software/cinit/browse_source/cinit-0.0.5/old/run_init_svc.c01 deleted file mode 100644 index 61467f44..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/run_init_svc.c01 +++ /dev/null @@ -1,50 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * start the first service - */ - -int run_init_svc() -{ - pid_t pid; - - D_PRINTF("Starte initialen starter"); - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror("fork failed\n"); - return RT_PAR_FAIL; - } else if(pid == 0) { /* child */ - /* close fifo */ - close(f_in); close(f_out); - - /* open the other way round */ - f_in = open(CINIT_DIR SLASH F_OUT, O_RDWR); - f_out = open(CINIT_DIR SLASH F_IN, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed\n",RT_CHLD_FAIL); - - /* open stderr, stdin, stdout to files? */ - if ( run_svc(CINIT_INIT) == RT_CHLD_OK) - _exit(EX_OK); - else - _exit(EX_FAIL); - } else - return RT_PAR_OK; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c00 b/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c00 deleted file mode 100644 index ff3bb989..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c00 +++ /dev/null @@ -1,140 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp, sid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - close(sock); /* close old socket connection, we are a fork()! */ - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - tmp = sizeof(addr); - memset(&addr,0,tmp); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - /* FIXME: why do we need tmp????? ... tmp == 1 is wrong!*/ -/* tmp = 1; - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } */ - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - D_PRINTF("some NEEDED services failed)"); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - tmp = ST_ONCE; - sid = 20; - D_PRINTF("Melde status"); - if(!do_change_status(abspath,&tmp,&sid,sock,ACT_WRITE)) { - D_PRINTF("Status nicht gemeldet :((((((((((("); - return 0; - } - D_PRINTF("Status abgesetzt"); - -/* if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - if(respawn_svc(abspath)) { - msg_change_status(sid,ST_RESPAWN); - } else { - D_PRINTF("error in respawn"); - msg_change_status(sid,ST_FAIL); - } - } else { - D_PRINTF("einmal ausfuehren"); - if(exec_svc(abspath)) { - msg_change_status(sid,ST_ONCE); - } else { - D_PRINTF("error einmalig"); - msg_change_status(sid,ST_FAIL); - } - } */ -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c01 b/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c01 deleted file mode 100644 index e7457af0..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c01 +++ /dev/null @@ -1,292 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* perhaps move this code to cinit-static, so it's constant */ - while(tmp < svc_list.process) { - printf("%d\n",tmp); - - if( ! strcmp(rpath,svc_list.svca[tmp].abs_path) ) { - printf("Service im Array\n"); - return 0; - } - tmp++; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* check for respawn? */ - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* debug */ - getcwd(pathbuf,1024); - - printf("dir: %s\n",pathbuf); - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c02 b/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c02 deleted file mode 100644 index 7fb329b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c02 +++ /dev/null @@ -1,282 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* perhaps move this code to cinit-static, so it's constant */ - while(tmp < svc_list.process) { - printf("%d\n",tmp); - - if( ! strcmp(rpath,svc_list.svca[tmp].abs_path) ) { - printf("Service im Array\n"); - return 0; - } - tmp++; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* check for respawn? */ - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c03 b/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c03 deleted file mode 100644 index 9422a7c9..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c03 +++ /dev/null @@ -1,283 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_in[2], p_out[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* create communication pipe */ - if ( pipe(p_in) == -1 || pipe(p_out) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - - /* check for respawn? yes, sometime... */ - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - -beof - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c04 b/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c04 deleted file mode 100644 index 727aa71f..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c04 +++ /dev/null @@ -1,297 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid == -1) { - cerr("fork failed\n", RT_PAR_FAIL); - } else if(pid > 0) { /* parent gets child's PID */ - - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - printf("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - - /* check for needs */ - - /* do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcat(pathtmp,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - pid = fork(); - if(tmp == -1) { - cerr("error ...\n", RT_PAR_FAIL); - } else if(tmp == 0) { - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,rpath); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c05 b/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c05 deleted file mode 100644 index 927a9261..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c05 +++ /dev/null @@ -1,294 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid == -1) { - cerr("fork failed\n", RT_PAR_FAIL); - } else if(pid > 0) { /* parent gets child's PID */ - - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - printf("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c05.2 b/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c05.2 deleted file mode 100644 index 90d94b65..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c05.2 +++ /dev/null @@ -1,320 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* end socket *********************/ - - sid = msg_start_svc(rpath); /* now we are temporary */ - if(sid == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - return 0; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - msg_change_status(sid,ST_FAIL); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - msg_change_status(sid,ST_FAIL); - return 0; - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - /* clone */ - pid = fork(); - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - return 0; - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /*************** THIS BLOCK IS CRAP ******************/ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - msg_change_status(sid,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - msg_change_status(sid,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - /* FIXME: MISSING: - - signal handling (stop respawing) - - waitpid() in while(1) - */ - _exit(0); /* FIXME !!! */ - - /*************** END THIS BLOCK IS CRAP ******************/ - - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - - /*********** CHILD EXECUTION HERE ***********/ - do { - - - } while(respawn); - - - - /* change to service dir */ - if( chdir(rpath) == -1) { - /* FIXME: errno! */ - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c06 b/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c06 deleted file mode 100644 index 7dd265fc..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c06 +++ /dev/null @@ -1,293 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("Fehler"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - msg_start_svc(rpath); - D_PRINTF("in runsvc"); - _exit(0); - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc_client(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return ; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - /* FIXME: pay attention: we are possibly also a fork()! */ - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid > 0) { /* parent gets child's PID */ - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c07 b/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c07 deleted file mode 100644 index e62eff54..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c07 +++ /dev/null @@ -1,304 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - _exit(1); - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - _exit(1); - } - - tmp = msg_start_svc(rpath); /* now we are temporary */ - - D_PRINTF("in runsvc"); - - if(tmp == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - _exit(1); - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - pid = fork(); - /* pay attention: we are also a fork()! */ - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - _exit(1); - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c08 b/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c08 deleted file mode 100644 index 587e13e2..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c08 +++ /dev/null @@ -1,316 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - /* FIXME: cerr */ - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - _exit(1); - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - _exit(1); - } - - sid = msg_start_svc(rpath); /* now we are temporary */ - - D_PRINTF("in runsvc"); - - if(sid == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - _exit(1); - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - pid = fork(); - /* pay attention: we are also a fork()! */ - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - _exit(1); - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /*************** THIS BLOCK IS CRAP ******************/ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - msg_change_status(sid,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - msg_change_status(sid,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - /* FIXME: MISSING: - - signal handling (stop respawing) - - waitpid() in while(1) - */ - _exit(0); /* FIXME !!! */ - - /*************** END THIS BLOCK IS CRAP ******************/ - - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - /* FIXME: errno! */ - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c09 b/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c09 deleted file mode 100644 index ff3bb989..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/run_svc.c09 +++ /dev/null @@ -1,140 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp, sid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - close(sock); /* close old socket connection, we are a fork()! */ - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - tmp = sizeof(addr); - memset(&addr,0,tmp); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - /* FIXME: why do we need tmp????? ... tmp == 1 is wrong!*/ -/* tmp = 1; - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } */ - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - D_PRINTF("some NEEDED services failed)"); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - tmp = ST_ONCE; - sid = 20; - D_PRINTF("Melde status"); - if(!do_change_status(abspath,&tmp,&sid,sock,ACT_WRITE)) { - D_PRINTF("Status nicht gemeldet :((((((((((("); - return 0; - } - D_PRINTF("Status abgesetzt"); - -/* if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - if(respawn_svc(abspath)) { - msg_change_status(sid,ST_RESPAWN); - } else { - D_PRINTF("error in respawn"); - msg_change_status(sid,ST_FAIL); - } - } else { - D_PRINTF("einmal ausfuehren"); - if(exec_svc(abspath)) { - msg_change_status(sid,ST_ONCE); - } else { - D_PRINTF("error einmalig"); - msg_change_status(sid,ST_FAIL); - } - } */ -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/sig_chld.c b/software/cinit/browse_source/cinit-0.0.5/old/sig_chld.c deleted file mode 100644 index e452f570..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/sig_chld.c +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* we are called, when a child exited */ -void sig_chld(int status) -{ - int pstat, i = 0; - pid_t pid; - - /* get pid of child and its status */ - pid = waitpid(chpid,&pstat,0); - - /* the child was either a respawed or once running process */ - - while(i < svc_list.process) { - if(pid == svc_list.svca[i].pid) { /* found service */ - - } - i++; - } - - if( WIFEXITED(pstat) ) printf("Kind gut gestorben\n"); - - printf("kind tot %d ...\n", status); -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/sig_special.c b/software/cinit/browse_source/cinit-0.0.5/old/sig_special.c deleted file mode 100644 index 6152f515..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/sig_special.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called by signal to reboot - */ - -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_special - * react on special signals: - o SIGINT: ctrl + alt + del - o SIGWINCH: keyboard request - */ - -void sig_special(int signal) -{ - /* not used */ -} diff --git a/software/cinit/browse_source/cinit-0.0.5/old/sigio.c01 b/software/cinit/browse_source/cinit-0.0.5/old/sigio.c01 deleted file mode 100644 index 4e1ee482..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/old/sigio.c01 +++ /dev/null @@ -1,73 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - struct ucred suck; - int len, lens, nsock; - struct sockaddr_un sun; - char buf; - - D_PRINTF("sigio() startet"); - - do { - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - if( nsock == -1) { - if (errno != EAGAIN) { - perror("accept"); - _exit(1); - } else { - break; - } - } - - //getsockopt(s_tmp[s_idx], SOL_SOCKET, SO_PEERCRED, &suck, &len); - getsockopt(nsock, SOL_SOCKET, SO_PEERCRED, &suck, &len); - printf("angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - - read(nsock,&buf,1); - - printf("command: %d\n",buf); - - while ( (len = read(nsock,&buf,1)) ) { -// printf("laenge: %d\n",len); - if(len == -1) { -// if(errno != EINVAL && errno != EAGAIN) { - perror("read"); - return; -// _exit(1); -// } - } - if(buf == 0) break; - write(1,&buf,1); - } - printf("Fertig mit lesen\n"); - - write(nsock,"ok\n",4); - printf("fertig mit schreiben\n"); - } while ( 1 ); - - printf("keine sockets mehr da..., sigio beendet sich jetzt.\n"); -} - - diff --git a/software/cinit/browse_source/cinit-0.0.5/samples/debian.tar b/software/cinit/browse_source/cinit-0.0.5/samples/debian.tar deleted file mode 100644 index a2118f37..00000000 Binary files a/software/cinit/browse_source/cinit-0.0.5/samples/debian.tar and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.0.5/samples/fedora.tar b/software/cinit/browse_source/cinit-0.0.5/samples/fedora.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/samples/fedora.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.5/samples/gentoo.tar b/software/cinit/browse_source/cinit-0.0.5/samples/gentoo.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/samples/gentoo.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.5/samples/mandrake.tar b/software/cinit/browse_source/cinit-0.0.5/samples/mandrake.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/samples/mandrake.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.5/samples/suse.tar b/software/cinit/browse_source/cinit-0.0.5/samples/suse.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/samples/suse.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.5/serv/chk_svc.c b/software/cinit/browse_source/cinit-0.0.5/serv/chk_svc.c deleted file mode 100644 index bdc73c31..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/serv/chk_svc.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * chk_svc: check whether service exists - * part of cinit - */ - -#include -#include "cinit.h" - -/* we are called from sigio */ -/* return SID, if service exists, else -1 */ -int chk_svc(char *svc) -{ - int tmp = 0; - - while(tmp < svc_list.process) { - if( ! strcmp(svc,svc_list.svca[tmp].abs_path) ) { - return tmp; - } - tmp++; - } - return -1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/serv/cinit.c b/software/cinit/browse_source/cinit-0.0.5/serv/cinit.c deleted file mode 100644 index 00bea738..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/serv/cinit.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include - -#include /* nanosleep */ - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock, logfd; - -/*********************************************************************** - * the main procedure - */ - -#ifdef TIME_ME -time_t start; -#endif - -int main() -{ - struct stat sbuf; - pid_t pid; - struct sockaddr_un addr; - struct timespec ts; - -#ifdef TIME_ME - start = time(NULL); -#endif - - set_signals(ACT_SERV); /* set signal handlers */ - logfd = 1; /* write to stdout */ - list = NULL; /* list of services is empty currently */ - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - perror("PANIC ACTION"); - panic(); - } - if( ! S_ISDIR(sbuf.st_mode) ) { - LOG("PANIC ACTION: init is not a dir"); - panic(); - } - if( chdir(CINIT_INIT) == -1) { - perror("PANIC ACTION"); - panic(); - } - - /* count of started processes */ - // svc_list.process = 0; - - /******************** TMPDIR **********************/ - if(mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1) { - perror("mount"); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror("socket"); - panic(); - } - - /* tell the socket, _we_ want to get SIGIO! */ - pid = getpid(); - if(fcntl(sock,F_SETOWN,pid) == -1) { - perror("fcntl"); - panic(); - } - - /* O_SYNC: SIGIO will be called, O_NONBLOCK: don't block cinit */ - if ( fcntl(sock,F_SETFL,O_ASYNC|O_NONBLOCK) == -1) { - perror("fcntl"); - panic(); - } - - memset(&addr,0,sizeof(addr)); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror("bind"); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror("listen"); - panic(); - } - /******************** end socket **********************/ - - /* initial run, only if we are 'real' init' */ -// if( pid == 1) { - run_init_svc(); -// } - - D_PRINTF("fertig gestartet"); - - /* the main loop: sleep until a signal comes in */ - ts.tv_sec = -1; - if(ts.tv_sec < 0) { - D_PRINTF("is signed"); - ts.tv_sec = 1 << ((sizeof(ts.tv_sec) * 8)-1); - ts.tv_sec = ts.tv_sec - 1; - } - - while(1) { - nanosleep(&ts,NULL); - } -} diff --git a/software/cinit/browse_source/cinit-0.0.5/serv/list.c b/software/cinit/browse_source/cinit-0.0.5/serv/list.c deleted file mode 100644 index 38d9663b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/serv/list.c +++ /dev/null @@ -1,97 +0,0 @@ -/* (c) 2005 by Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * list handling: the processes cinit will execute/executed - * part of cinit - * changed some formatting, Nico Schottelius - */ - -#include -#include -#include "cinit.h" - - -int list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc( sizeof(struct listitem) ); - - if( tmp == NULL ) { - return 0; - } - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members, add this one */ - tmp->after = list; /* after the new element comes the begin */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first element has us as previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if( list == NULL ) { /* think positive */ - return NULL; - } else { - tmp = list->before; - } - D_PRINTF(path); - - do { - if(!strcmp(path, tmp->abs_path)) - return tmp; - tmp = tmp->before; - } while(tmp != list); - - return NULL; -} - -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->after->before = tmp->before; - tmp->before->after = tmp->after; - free(tmp->abs_path); - free(tmp); - return 1; -} - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - tmp->status = new_status; - tmp->pid = new_pid; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.5/serv/panic.c b/software/cinit/browse_source/cinit-0.0.5/serv/panic.c deleted file mode 100644 index be44219b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/serv/panic.c +++ /dev/null @@ -1,13 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * panic: if cinit fails. - * part of cinit - */ - -#include "cinit.h" -#include - -void panic(void) -{ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.0.5/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.0.5/serv/run_init_svc.c deleted file mode 100644 index 7dacd06d..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/serv/run_init_svc.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -extern time_t start; - -int run_init_svc() -{ - pid_t pid; - int status; - -#ifdef TIME_ME - time_t stop; -#endif - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - logfd = 1; /* FIXME: shouldn't this be some kind of log, like /dev/log? */ - set_signals(ACT_CLIENT); - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ?*/ - if ( run_svc(CINIT_INIT) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - waitpid(pid, &status,0); -#ifdef TIME_ME - stop = time(NULL); - /* FiXME: remove printf! , remove message -> msg.h */ - printf("*** cinit needed %ld seconds to start ****\n",(int) stop-start); -#endif - return WIFEXITED(status); - } -} diff --git a/software/cinit/browse_source/cinit-0.0.5/serv/sig_reboot.c b/software/cinit/browse_source/cinit-0.0.5/serv/sig_reboot.c deleted file mode 100644 index d430c3a6..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/serv/sig_reboot.c +++ /dev/null @@ -1,134 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called by signal to reboot - */ - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void sig_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - D_PRINTF("sig_reboot() startet"); - - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - D_PRINTF("Bringing down respawn watcher"); - kill(tmp->pid,SIGTERM); - } - - /* execute shutdown service */ - D_PRINTF("Executing off-service"); - exec_svc(tmp->abs_path,0); - tmp = tmp->before; - } while( tmp != list ); - - /* Let's disappear */ - close(sock); - if(umount(CINIT_TMNT) == -1) { - perror("umount"); - } - - /* now: all services are down, lets kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - D_PRINTF("SIGTERM GESENDET"); - - ts.tv_sec = SLEEP_KILL; /* defined in conf/ */ - nanosleep(&ts,NULL); - - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - /* now: we are completly alone. umount everything, go to bed */ - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ - -#define CMD_CNT 5 -#define SWAP_OFF_CMD "/sbin/swapoff" -#define SWAP_OFF_ARG1 "-a" - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-a" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { -// cmd[0] = (char *) malloc(strlen(SWAP_OFF_CMD) +1); -// cmd[1] = (char *) malloc(strlen(SWAP_OFF_CMD) +1); - /* /sbin/swapoff -a */ - cmd[0] = SWAP_OFF_CMD; - cmd[1] = SWAP_OFF_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG1; - cmd[3] = MOUNT_ARG1; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } - - switch(signal) { - case SIGUSR1: /* halt */ - reboot(RB_HALT_SYSTEM); - break; - case SIGTERM: /* power off */ - reboot(RB_POWER_OFF); - break; - case SIGHUP: /* reboot */ - reboot(RB_AUTOBOOT); - break; - } - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.0.5/serv/sigio.c b/software/cinit/browse_source/cinit-0.0.5/serv/sigio.c deleted file mode 100644 index 5e066d52..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/serv/sigio.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - - D_PRINTF("sigio() startet"); - - do { - /* create new socket */ - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - if( nsock == -1) { - if (errno != EAGAIN) { /* report, but don't panic */ - perror("accept"); - } - - return; - } - - if( read(nsock,&buf[0],1) == -1) { - perror("read-command"); - close(nsock); - continue; - } - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_start_svc(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists */ - buf[0] = 0; - do_result(nsock,&buf[0]); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG("Adding service failed!"); - buf[0] = 0; - do_result(nsock,&buf[0]); - } - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - - if(!tmp) break; - - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - D_PRINTF("MOD.ERR"); - buf[0] = 0; - } else { - buf[0] = 1; - } - do_result(nsock,buf); - break; - - default: - LOG("Unknown command!"); - break; - } - close(nsock); - } while ( 1 ); - - D_PRINTF("ENDE:SIGIO"); -} diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:41:08 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:41:08 deleted file mode 100644 index d29de765..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:41:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586640 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:46:09 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:46:09 deleted file mode 100644 index 7ecb58be..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-15:46:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586368 Apr 30 15:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-16:50:05 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-16:50:05 deleted file mode 100644 index d87323e5..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-16:50:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587818 Apr 30 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:03:00 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:03:00 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:39:08 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:39:08 deleted file mode 100644 index 0c2bb0af..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:39:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586194 May 6 20:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:54:00 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:54:00 deleted file mode 100644 index fe51f37f..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:55:07 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:55:07 deleted file mode 100644 index 4d2854b5..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:55:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-23:00:07 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-23:00:07 deleted file mode 100644 index c0db4814..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-23:00:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 23:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:31:01 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:31:01 deleted file mode 100644 index 4ad1fccf..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:31:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:31 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:39:02 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:39:02 deleted file mode 100644 index 16613354..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:39:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:43:08 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:43:08 deleted file mode 100644 index 29e5ab44..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:54:04 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:54:04 deleted file mode 100644 index 474189e8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:54:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:18:00 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:18:00 deleted file mode 100644 index 960ca358..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:18:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:14:00 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:14:00 deleted file mode 100644 index 7de2bc3e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:14:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:14 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:43:08 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:43:08 deleted file mode 100644 index 11a18f12..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597245 May 7 14:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:48:01 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:48:01 deleted file mode 100644 index 28b127b9..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:48:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597405 May 7 14:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:55:05 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:55:05 deleted file mode 100644 index 5d0fa0e1..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:55:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:01:01 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:01:01 deleted file mode 100644 index 7c8b202b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:01:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 15:01 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:27:00 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:27:00 deleted file mode 100644 index a2d19633..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:27:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:20:02 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:20:02 deleted file mode 100644 index 23608225..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:20:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602184 May 7 16:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:31:09 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:31:09 deleted file mode 100644 index 40f890cf..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:31:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:31 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:08:09 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:08:09 deleted file mode 100644 index 22b48319..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:08:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-10:44:00 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-10:44:00 deleted file mode 100644 index 4dad0f2e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-10:44:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 64935 May 8 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-12:42:08 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-12:42:08 deleted file mode 100644 index a356e57e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-12:42:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 23195 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:25:05 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:25:05 deleted file mode 100644 index 0b5026c7..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:25:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:30:03 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:30:03 deleted file mode 100644 index 7377ee59..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:30:03 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-21:54:00 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-21:54:00 deleted file mode 100644 index 41ed8e4c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-21:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604637 May 10 21:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:07:06 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:07:06 deleted file mode 100644 index 9579bf3d..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:07:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95212 May 10 22:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-00:14:02 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-00:14:02 deleted file mode 100644 index 86483ada..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-00:14:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-15-22:32:07 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-15-22:32:07 deleted file mode 100644 index 59557c4b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-15-22:32:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 15 22:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-15-23:52:06 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-15-23:52:06 deleted file mode 100644 index 757e6dc6..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-15-23:52:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579305 May 15 23:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-15-23:56:00 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-15-23:56:00 deleted file mode 100644 index 24c85104..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-15-23:56:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605145 May 15 23:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:16:09 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:16:09 deleted file mode 100644 index 27254aa3..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:16:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605205 May 16 00:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-09:58:08 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-09:58:08 deleted file mode 100644 index 90a5b698..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-09:58:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605567 May 16 09:58 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:09:00 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:09:00 deleted file mode 100644 index 4c34f810..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:09:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605583 May 16 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:13:07 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:13:07 deleted file mode 100644 index b6a851e6..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:13:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605619 May 16 10:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:23:05 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:23:05 deleted file mode 100644 index 2c4fc649..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:23:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-14:56:01 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-14:56:01 deleted file mode 100644 index c5e08e25..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-14:56:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95794 May 21 14:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:35:00 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:35:00 deleted file mode 100644 index 0f2d5463..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:35:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:35 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.0.5/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.5/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/BUGS b/software/cinit/browse_source/cinit-0.0.6/BUGS deleted file mode 100644 index 235a8853..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/BUGS +++ /dev/null @@ -1,2 +0,0 @@ -To be done before 0.1 (dirty release): -- replace cerr-strings with #defines, so doubled strings are elimenated diff --git a/software/cinit/browse_source/cinit-0.0.6/COPYING b/software/cinit/browse_source/cinit-0.0.6/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.0.6/CREDITS b/software/cinit/browse_source/cinit-0.0.6/CREDITS deleted file mode 100644 index fd3d6ff3..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/CREDITS +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -René Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete diff --git a/software/cinit/browse_source/cinit-0.0.6/Changelog b/software/cinit/browse_source/cinit-0.0.6/Changelog deleted file mode 100644 index 47142a97..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/Changelog +++ /dev/null @@ -1,8 +0,0 @@ -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.0.6/MT/debug b/software/cinit/browse_source/cinit-0.0.6/MT/debug deleted file mode 100644 index 52dab24b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/MT/debug +++ /dev/null @@ -1,31 +0,0 @@ -started up on Linux 2.6.11.10 #2 Tue May 17 11:58:45 CEST 2005 ppc -command line: 'monotone-0.18', 'sync', 'linux.schottelius.org', 'info.clinux.cinit' -set locale: LC_CTYPE=C, LC_MESSAGES=C -initial path is /home/user/nico/cinit-0.0.5 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 4 bytes from ANSI_X3.4-1968 to UTF-8 -converting 21 bytes from ANSI_X3.4-1968 to UTF-8 -converting 17 bytes from ANSI_X3.4-1968 to UTF-8 -searching for 'MT' directory with root '/' -search for 'MT' ended at '/home/user/nico/cinit-0.0.5' with '' removed -initializing from directory /home/user/nico/cinit-0.0.5 -found working copy directory /home/user/nico/cinit-0.0.5 -options path is MT/options -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -local dump path is MT/debug -setting dump path to MT/debug -opening rcfile '/home/user/nico/.monotonerc' ... -'/home/user/nico/.monotonerc' is ok -skipping nonexistent rcfile 'MT/monotonerc' -executing sync command -db.fetch("SELECT domain, name, value FROM db_vars") -db.fetch("SELECT domain, name, value FROM db_vars") -lua isfunction() failed in get_fn -db.fetch("SELECT id from 'private_keys'") -db.fetch("SELECT id, name, value, keypair, signature FROM 'revision_certs' WHERE name = 'branch'") -db.execute("BEGIN") -connecting to linux.schottelius.org -db.execute("ROLLBACK") diff --git a/software/cinit/browse_source/cinit-0.0.6/MT/log b/software/cinit/browse_source/cinit-0.0.6/MT/log deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.6/MT/options b/software/cinit/browse_source/cinit-0.0.6/MT/options deleted file mode 100644 index 33960254..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/MT/options +++ /dev/null @@ -1,3 +0,0 @@ - branch "info.clinux.cinit" -database "/home/user/nico/monotone.db" - key "" diff --git a/software/cinit/browse_source/cinit-0.0.6/MT/revision b/software/cinit/browse_source/cinit-0.0.6/MT/revision deleted file mode 100644 index 46a746df..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/MT/revision +++ /dev/null @@ -1 +0,0 @@ -963cdee12452946c9cf0af5b69b95a30983ccfb6 diff --git a/software/cinit/browse_source/cinit-0.0.6/Makefile b/software/cinit/browse_source/cinit-0.0.6/Makefile deleted file mode 100644 index daa9f7ca..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/Makefile +++ /dev/null @@ -1,90 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-g -DDEBUG -OPTIMIZE=-Os -Werror - -# if cinit should display how long it needed to start -TIMEME=-DTIME_ME - -# init should be static per default! -LDFLAGS=-static - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-pipe -Wall -I. -LD=gcc -STRIP=strip - -# monotone -MT=monotone-0.18 - -# directories and files -DIRS=client bin conf comm generic doc sbin serv -FILES=BUGS Changelog Makefile README TODO cinit.h - -# objects -SERV=serv/sigio.o serv/cinit.o serv/list.o \ - serv/run_init_svc.o serv/panic.o serv/sig_reboot.o - -CLIENT=client/msg_start_svc.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svc.o \ - client/connect_sock.o client/begin_msg.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_start_svc.o - -BOTH=generic/set_signals.o generic/mini_printf.o - -OBJ=$(SERV) $(CLIENT) $(BOTH) $(COMMUNICATION) - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -all: $(CINIT_BIN) sizecheck - -$(CINIT_BIN): $(SBIN) config.h $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ -$(SBIN): - mkdir $(SBIN) -sizecheck: - FILE="size/`date +%Y-%m-%d-%T`"; ls -l sbin/cinit > $$FILE; cat $$FILE -clean: - rm -f *.o */*.o sbin/cinit config.h -config.h: conf/* - ./bin/cinit.mkheader > config.h - -mt-update: - $(MT) add $(DIRS) $(FILES) 2>/dev/null -mt-commit: - $(MT) commit -mt-sync: - $(MT) sync linux.schottelius.org info.clinux.cinit - -install: install-dir - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-dir: - ./bin/cinit.install.dir - -install-conf: install-dir - @echo '*** Creating very basic configuration ***' - ./bin/cinit.install.conf - -install-test: install-dir - @echo '***> Copying testing configuration' - ./bin/cinit.install.test diff --git a/software/cinit/browse_source/cinit-0.0.6/README b/software/cinit/browse_source/cinit-0.0.6/README deleted file mode 100644 index c3523e11..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/README +++ /dev/null @@ -1,92 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features. -It is orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every POSIX compatible system. -- true dependencies -- parallel execution -- highly customisable (see conf/*) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via monotone. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -If it's the first time you operate with cinit, also do: -# make install-conf - -This will populate /etc/cinit with some default services for Linux -(mounting root r/w, starting gettys, setting hostname). - -This should work on most Linux systems, still you should have a -look at /etc/cinit and see whether services are correct. - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. - -sampleconfig.tar is the tar-ball I used for testing, beware if you use it: -It loads dvorak at startup! - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit.html diff --git a/software/cinit/browse_source/cinit-0.0.6/TODO b/software/cinit/browse_source/cinit-0.0.6/TODO deleted file mode 100644 index 167014fa..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/TODO +++ /dev/null @@ -1,82 +0,0 @@ -- Recheck sources: - - check errno! - - check whether headers are ok -> cleanup headers! - - eventually split cinit code to csvc to minimize binary of cinit? - - cleanup comments - - move messages to cinit.h or message.h or conf/msg-*! - - close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - - panic() should call sulogin - - remove FIXME entries (and what should be fixed, too) - - check LOG - -- Source Logic issues - - Add sulogin possibility - - stat() in run_svc -> don't call exec_svc, respawn_svc, run_run_svc - - remove stat from exec_svc, do before! - - respawn_svc and exec_svc must return pid_t of executed service / watcher - - handle CTR-ALT-DEL / keyboard request? (see caveats) - - check for possibilies to save ram, free things - - create coala-socket with correct permissions! (550, root:cinit) - -> is that really our problem or should a service do that? - - check if we caught every signal, which could kill us - - logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? - - check for other possibilities to create a smaller binary - - strip options - - gcc options - - ld options - - alternative libc (uclibc works fine!) - - perhaps remove MAX_DEPS? - - run_svc_new: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - - we have to add killing services from outside - -> perhaps completly split client code from cinit? - -> ccinit? ;-) - -> shutting down services is NOT YET possible while cinit is running - -- add fsck to sample configuration - -- Documentation - - write manpages (use doc/* as base for that) - -- Porting - - add porting code to other unices? - - like openssh guys do? - - polling/signalling is different everywhere - a) use standars poll/select - b) use accelerated os-specfic - -> add the name of the function/the file to use - into conf/poll_func? - - using Linux 2.6 epoll mechanism? - --------------------------------------------------------------------------------- -create_mini_cinit - -> use a tarball? (samples/*) - -> create something which should be runnable - -> mount, fsck, getty - --> for dev in `read /etc/fstab` ... - fsck $dev - --> mount -a - --> mount -n -o remount,rw / - --> getty from /etc/inittab or /sbin/*getty - -> find out, which gettys with which params - -> use it on 'make install' --------------------------------------------------------------------------------- -- Check Spell and Grammar in documentation --------------------------------------------------------------------------------- -- Other things - - DELAY - -> be variabel? - -> defined in service? - - link relativ - -> in anleitung - - profiles - -> cinit=? - -> profile=? - -> cprofile=? - - portability? - diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.add.dependency deleted file mode 100644 index 17683dcc..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.add.dependency +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or needs Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -case $DEP in - wants) DEP=$C_WANTS ;; - needs) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could some PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEST="${BASEDIR}/${SVC_A}/${DEP}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.add.getty deleted file mode 100644 index cd8aab55..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.add.getty +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -read -p "Getty to use [$mygetty]: " rgetty -read -p "Parameters to pass [$params]: " rparams - -[ "$rgetty" ] && mygetty=$rgetty -[ "$rparams" ] && params=$rparams - -if [ ! "$mygetty" -o ! "$params" ]; then - echo "No useable getty and parameters found, exiting." - exit 1 -fi - -echo -n "Putting $mygetty $params into $DDIR ... " -mkdir -p "$DDIR" -ln -s $mygetty "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.create.empty.service deleted file mode 100644 index 9fe748d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.create.empty.service +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR -BASEDIR=./testcinit - - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.get-confdir b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.get-confdir deleted file mode 100644 index a36c52f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.get-confdir +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# 2005-05-24 - -# try environment first -if [ "$CINIT_DIR" ]; then - CONFDIR=$CINIT_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -elif [ -d /etc/cinit ]; then - CONFDIR=/etc/cinit -else - echo Did not find cinit configuration 1>&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.install.binary deleted file mode 100644 index 08004ac7..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.install.binary +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# - - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.install.conf b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.install.conf deleted file mode 100644 index bd6fadc2..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.install.conf +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# - - -. $(dirname $0)/cinit.read-conf - -echo "*** > Currently missing, sorry." - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.install.dir deleted file mode 100644 index a94a9b9b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.install.dir +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install configuration directory -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" $DESTDIR/$PREFIX/$CINIT_DIR diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.mkheader b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.mkheader deleted file mode 100644 index e1f35d07..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.mkheader +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric - no I didn't see an easier way - numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - - [ "$numeric" ] || value="\"$value\"" - - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.read-conf b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.read-conf deleted file mode 100644 index 4263129c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.read-conf +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - eval $NAME="$(head -n 1 $conf)" - eval export $NAME -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.remove.getty deleted file mode 100644 index e7b1a6ad..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.remove.getty +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - - -[ ! "$NUMBER" ] && exit 1 - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r $DDIR -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.0.6/bin/cinit.shutdown deleted file mode 100644 index 49b1dabd..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/cinit.shutdown +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# 2005-05-24 - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -o|--off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -o|--off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.0.6/bin/not-working/cinit.create.service b/software/cinit/browse_source/cinit-0.0.6/bin/not-working/cinit.create.service deleted file mode 100644 index df092275..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/bin/not-working/cinit.create.service +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name (including category)" - echo " I do create a service for you" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -# read input (from gentoo-bug.sh, http://linux.schottelius.org/scripts/#gentoo-bug -reread() -{ - _tmp="" - name="$1" - - while [ ! "$_tmp" ]; do - read -p "$1 [$_tmp]: " _tmp - done - - echo $_tmp -} - - -for svc in $@; do - echo -n "Creating $svc ..." - mkdir -p "${BASEDIR}/${svc}" - cd ${BASEDIR}/${svc} - mkdir -p "${C_WANTS}" "${C_NEEDS}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.6/cinit.h b/software/cinit/browse_source/cinit-0.0.6/cinit.h deleted file mode 100644 index 9b207973..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/cinit.h +++ /dev/null @@ -1,132 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* limits: will be obsolete in cinit-1.0 */ -#define MAX_SVC 510 /* maximum services - defines size of array - may later be obsoleted */ -#define MAX_DEPS 32 /* maximum direct dependencies of a service */ -#define BUFSIZE 4096 - -/* paths */ -#define C_ONARG C_ON C_PARAMS -#define C_OFFARG C_OFF C_PARAMS -#define C_ONENV C_ON C_ENV -#define C_OFFENV C_OFF C_ENV - -#define SLASH "/" - -#define CINIT_INIT CINIT_DIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK - -/* commands (maximum: 2^8 = 256)*/ -#define CMD_START_SVC 0 -#define CMD_CHG_STATUS 1 -#define CMD_STOP_SVC 2 -#define CMD_KILL_SVC 3 - -#define CMD_RESCUE 251 -#define CMD_INIT 252 - -#define CMD_HALT 253 -#define CMD_REBOOT 254 -#define CMD_POWEROFF 255 - -/* status of a service */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ -#define ST_FAIL 4 /* failed to start service */ - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* Messages to the outside */ - -#define MSG_ERR_IO "i/o" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_FORK "fork" -#define MSG_BIND "bind" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_FCNTL "fcntl" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_TERMKILL "sigterm" -#define MSG_KILLBILL "sigkill" -#define MSG_INIT_MISS "init dir missing" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" - -struct listitem { - char *abs_path; - int status; - pid_t pid; - struct listitem *before; - struct listitem *after; -}; - - -/* variables */ -extern struct listitem *list; -extern int sock, logfd; - -/* functions (used by server and client) */ -void cerr(char *string, int status); -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -#define LOG(s) mini_printf(s,logfd) - -int do_start_svc(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -/* int chk_svc(char *svc); -int add_mod_svc(char *svc, char status, pid_t pid); */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int run_init_svc(void); -void sigio(int signal); -void sig_reboot(int signal); -void panic(void); - -/* client / message functions */ -int msg_start_svc(char *svc); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); - -/* listing functions (server only) */ - -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); - - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* Messages to the outside */ diff --git a/software/cinit/browse_source/cinit-0.0.6/client/README b/software/cinit/browse_source/cinit-0.0.6/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.0.6/client/begin_msg.c b/software/cinit/browse_source/cinit-0.0.6/client/begin_msg.c deleted file mode 100644 index 9b569543..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror("i/o: command"); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/client/connect_sock.c b/software/cinit/browse_source/cinit-0.0.6/client/connect_sock.c deleted file mode 100644 index 831121b7..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/client/connect_sock.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - D_PRINTF("socket verbinden"); - - /******************* begin socket *********************/ - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror("socket"); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - perror("connect"); - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/client/exec_svc.c b/software/cinit/browse_source/cinit-0.0.6/client/exec_svc.c deleted file mode 100644 index fcbf818d..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/client/exec_svc.c +++ /dev/null @@ -1,246 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -pid_t exec_svc(char *abspath, int on) -{ - pid_t pid; - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - pid = fork(); - if( pid == -1 ) { - perror("fork"); - return 0; - } - - /***** PARENT ******/ - if(pid > 0) { - waitpid(pid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - D_PRINTF("EXEC SVC ERFOLGREICH"); - return pid; - } - } - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - - if(on) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - D_PRINTF(pathtmp); - - /* readlink retrieves real name, if it is a symlink */ - if ( (tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror("readlink"); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - - if(on) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - tmp++; /* the byte to add to memory for \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - - if(on) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror("open"); - _exit(1); - } - - argc = 0; - - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror("read"); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG("realloc failed"); - _exit(1); - } - - nargv[argc] = sbuf; - *p = '\0'; - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - argc++; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG("realloc failed"); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(on) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* if a file exists, failing to open it is an error */ - if(fd == -1) { - perror("open"); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror("read"); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG("realloc failed"); - _exit(1); - } - - nenv[argc] = sbuf; - *p = '\0'; - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - argc++; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - perror(MSG_ERR_EXECVE); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.0.6/client/kill_svc.c b/software/cinit/browse_source/cinit-0.0.6/client/kill_svc.c deleted file mode 100644 index d9ce3a8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/client/kill_svc.c +++ /dev/null @@ -1,104 +0,0 @@ -KOPIE VON RUN_SVC - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and beforeo all dependencies - */ -void kill_svc(char *rpath, pid_t pid) -{ - int tmp; - char svc[PATH_MAX], svcparams[PATH_MAX]; - struct stat buf; - - D_PRINTF("starte kill_svc"); - D_PRINTF(rpath); - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - /* FIXME: add log + service name here */ - D_PRINTF("some NEEDED services failed)"); - msg_change_status(abspath, ST_FAIL, 0); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawning"); - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - D_PRINTF("exec_unce"); - pid = exec_svc(abspath); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return 0; - } - - D_PRINTF("Melde status"); - if(!msg_change_status(abspath, tmp, pid) ) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.0.6/client/msg_change_status.c deleted file mode 100644 index 837d87b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -int msg_change_status(char *svc, char status, pid_t pid) -{ - D_PRINTF(svc); - - if(!begin_msg(CMD_CHG_STATUS)) return 0; - - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/client/msg_start_svc.c b/software/cinit/browse_source/cinit-0.0.6/client/msg_start_svc.c deleted file mode 100644 index d7e8867c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/client/msg_start_svc.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -int msg_start_svc(char *svc) -{ - D_PRINTF(svc); - - D_PRINTF("writing message begin"); - if(!begin_msg(CMD_START_SVC)) return 0; - D_PRINTF("writing service infos"); - if(!do_start_svc(sock,svc,ACT_CLIENT)) return 0; - D_PRINTF("reading result"); - if(!do_result(sock,NULL)) return 0; - D_PRINTF("gutes ende"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.0.6/client/respawn_svc.c deleted file mode 100644 index 6ac56043..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/client/respawn_svc.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -//#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int status; - int pipefd[2]; -// struct sigaction sa; - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&status,sizeof(status)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /******************** CHILD ********************/ -/* FIXME: add handling for SIGTERM! */ -// sa.sa_handler= ( (void*)(int) ) sig_terminate; -// sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - - status = 1; - if( write(pipefd[1],&status,sizeof(status)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - while( status ) { - D_PRINTF(abspath); - pid = exec_svc(abspath, status); - - waitpid(pid,&status,0); - - if( WIFEXITED(status) ) { - if( WEXITSTATUS(status) ) { /* non-zero exit status */ - /* sleep conf/c_sleep seconds on error exit */ - sleep(SLEEP_SVC); - D_PRINTF("schlecht gestorben"); - } - } else { - sleep(SLEEP_SVC); - D_PRINTF("nicht normal gestorben"); - } - } - - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.0.6/client/run_run_svc.c b/software/cinit/browse_source/cinit-0.0.6/client/run_run_svc.c deleted file mode 100644 index 9cea0f33..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/client/run_run_svc.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX]; - pid_t pids[MAX_DEPS]; - int status, i=0, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - i++; - } else { - LOG("to many dependencies"); - break; - } - - if(pids[i-1] == -1) { /* err */ - LOG("fork failed"); - return 0; - } - - if(pids[i-1] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,"/"); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - if( ! WIFEXITED(status)) { - ret = 0; - } - i--; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/client/run_svc.c b/software/cinit/browse_source/cinit-0.0.6/client/run_svc.c deleted file mode 100644 index 9c765cc0..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/client/run_svc.c +++ /dev/null @@ -1,111 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and beforeo all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - /* FIXME: add log + service name here */ - D_PRINTF("some NEEDED services failed"); - msg_change_status(abspath, ST_FAIL, 0); - return 0; - } - } - - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - D_PRINTF("Starte wants"); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - /*FIXME: check for C_ON, otherwise we are done! */ - - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - tmp = 1; - pid = exec_svc(abspath, tmp); - tmp = ST_ONCE; - } - - D_PRINTF("Melde status"); - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return 0; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.0.6/client/sig_terminate.c deleted file mode 100644 index adff9748..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/client/sig_terminate.c +++ /dev/null @@ -1,19 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include "cinit.h" -#include - -void sig_terminate(int signal) -{ - char *nargv[2]; - - nargv[0] = SULOGIN; - nargv[1] = NULL; - - execv(SULOGIN,nargv); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.0.6/comm/README b/software/cinit/browse_source/cinit-0.0.6/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.0.6/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.0.6/comm/do_change_status.c deleted file mode 100644 index 08bac734..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/comm/do_change_status.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/comm/do_result.c b/software/cinit/browse_source/cinit-0.0.6/comm/do_result.c deleted file mode 100644 index 3bf78718..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/comm/do_result.c +++ /dev/null @@ -1,32 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int sock2, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(sock2,value,1) == -1) { /* result */ - perror("i/o: result"); - return 0; - } - - return *value; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/comm/do_start_svc.c b/software/cinit/browse_source/cinit-0.0.6/comm/do_start_svc.c deleted file mode 100644 index 959a0001..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/comm/do_start_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_start_svc(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror("i/o: len"); - return 0; - } - - if(tmp > PATH_MAX) return 0; - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror("i/o: service name"); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/.README b/software/cinit/browse_source/cinit-0.0.6/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_env b/software/cinit/browse_source/cinit-0.0.6/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_halt b/software/cinit/browse_source/cinit-0.0.6/conf/c_halt deleted file mode 100644 index bc062a2c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the service we should start when 'halting' (system stop, but no -power off). diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_init b/software/cinit/browse_source/cinit-0.0.6/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_needs b/software/cinit/browse_source/cinit-0.0.6/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_off b/software/cinit/browse_source/cinit-0.0.6/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_on b/software/cinit/browse_source/cinit-0.0.6/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_params b/software/cinit/browse_source/cinit-0.0.6/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_poweroff b/software/cinit/browse_source/cinit-0.0.6/conf/c_poweroff deleted file mode 100644 index 273d4bec..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_poweroff +++ /dev/null @@ -1,3 +0,0 @@ -poweroff - -Name of the service we should start, when system power-off is called. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_reboot b/software/cinit/browse_source/cinit-0.0.6/conf/c_reboot deleted file mode 100644 index 17937b4a..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_reboot +++ /dev/null @@ -1,3 +0,0 @@ -reboot - -Name of the service we should start on reboot. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_respawn b/software/cinit/browse_source/cinit-0.0.6/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_sock b/software/cinit/browse_source/cinit-0.0.6/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_tmp b/software/cinit/browse_source/cinit-0.0.6/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.0.6/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.0.6/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/c_wants b/software/cinit/browse_source/cinit-0.0.6/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/cinit_dir b/software/cinit/browse_source/cinit-0.0.6/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/destdir b/software/cinit/browse_source/cinit-0.0.6/conf/destdir deleted file mode 100644 index 8b137891..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/destdir +++ /dev/null @@ -1 +0,0 @@ - diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/getty_dir b/software/cinit/browse_source/cinit-0.0.6/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/install_directory b/software/cinit/browse_source/cinit-0.0.6/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/install_prog b/software/cinit/browse_source/cinit-0.0.6/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/prefix b/software/cinit/browse_source/cinit-0.0.6/conf/prefix deleted file mode 100644 index 580ae0cb..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/prefix +++ /dev/null @@ -1,4 +0,0 @@ -/ - -Where to install cinit. Normally this will be /, but you can put in anywhere. -The subdirectory 'sbin' under this prefix must be reabable by the kernel. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/profile b/software/cinit/browse_source/cinit-0.0.6/conf/profile deleted file mode 100644 index 92fc35ba..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/profile +++ /dev/null @@ -1,5 +0,0 @@ -cprofile= - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile=" is the standard. -Under Linux you specify it to the bootloader like grub or lilo. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/sleep_kill b/software/cinit/browse_source/cinit-0.0.6/conf/sleep_kill deleted file mode 100644 index de1fd006..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/sleep_kill +++ /dev/null @@ -1,5 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/sleep_svc b/software/cinit/browse_source/cinit-0.0.6/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/sock_group b/software/cinit/browse_source/cinit-0.0.6/conf/sock_group deleted file mode 100644 index d4c1adda..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/sock_group +++ /dev/null @@ -1,3 +0,0 @@ -root - -The group, which should own the communication socket. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/sock_mode b/software/cinit/browse_source/cinit-0.0.6/conf/sock_mode deleted file mode 100644 index b2a727b0..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/sock_mode +++ /dev/null @@ -1,3 +0,0 @@ -0770 - -Octal mode of socket. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/sock_queue b/software/cinit/browse_source/cinit-0.0.6/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/sock_user b/software/cinit/browse_source/cinit-0.0.6/conf/sock_user deleted file mode 100644 index 34274f4f..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/sock_user +++ /dev/null @@ -1,3 +0,0 @@ -root - -The one who should own the communication socket. diff --git a/software/cinit/browse_source/cinit-0.0.6/conf/sulogin b/software/cinit/browse_source/cinit-0.0.6/conf/sulogin deleted file mode 100644 index 0e8b13d9..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/conf/sulogin +++ /dev/null @@ -1,3 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it only if we panic(). diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/.buildwarn b/software/cinit/browse_source/cinit-0.0.6/doc/.buildwarn deleted file mode 100644 index 9c4a7dbf..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/.buildwarn +++ /dev/null @@ -1,25 +0,0 @@ - -------------- -W A R N I N G -------------- - -**************************************************************************** -THIS IS A PRE-RELEASE, NOT YET THOUGHT TO BE USED IN PRODUCTIVE ENVIRONMENT! -**************************************************************************** - -First of all configure cinit through the configuration files found in conf/. -Especially look at conf/*tmp*. - -The documentation can be found in doc/, read - - doc/configuring.cinit - -_before_ first use. - -After reading and configuring use: - - "make all" - to build cinit - "make install" - to install cinit - "make install-test" - to install cinit configuration example - -> WARNING: the last make target is highly experiemental and - the installed configuration may not be usable on your system! diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/caveats b/software/cinit/browse_source/cinit-0.0.6/doc/caveats deleted file mode 100644 index 11d7a68f..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/caveats +++ /dev/null @@ -1,43 +0,0 @@ -'Geheimnisse' in German - - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporary disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster, if you omit non needed - 'wants' and 'needs' dirs, as they need to be scanned, if they - exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that noone - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what todo when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/cinit.commands b/software/cinit/browse_source/cinit-0.0.6/doc/cinit.commands deleted file mode 100644 index 7f606f4c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/cinit.commands +++ /dev/null @@ -1,92 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (uses SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service and its dependencies. - CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell.**) - CMD_INIT: Start all services (again possibly).**) - - CMD_HALT: Halt the system*) - CMD_REBOOT: Reboot the system*) - CMD_POWEROFF: Power-off the system*) - - *) The commands are not and maybe will never be implemented, - as they are realized another way (using signals). - - **) Not yet implemented. - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) ok, a SID, a service ID: int svc_id; [ really need int? ] - b) fail, [currently only fail is returned] - a) already running - b) svc_name too long / not allowed - - [ A service identification is used for faster searching in cinit. - It is also a hint for developers of external software, that they should not - be able to use CMD_CHG_STATUS, if they didn't start a service. - They should use CMD_STOP_SVC to stop a service. - Starting a service is currently done via exec() in the external program or - a cinit-fork(). ] - -CMD1CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_INIT: Start all services (again possibly). - cinit returns: ready... - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/configuring.cinit b/software/cinit/browse_source/cinit-0.0.6/doc/configuring.cinit deleted file mode 100644 index 1723a5e4..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/configuring.cinit +++ /dev/null @@ -1,179 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, Nico Schottelius 2005-05-28 (Last Modified: 2005-06-05) --------------------------------------------------------------------------------- - -0. Pre-compile configuration -1. General configuration layout -2. Hints -2.0 Service executing / parameters -2.1 Daemons -2.2 Logging -2.3 Using prepared scripts -3. Profiles - - -0. Pre-compile configuration - -Have a look at conf/*. Those variable will mostly be used when -compiling cinit. Some will be read later (like destdir). - -1. General configuration layout - -/etc/cinit (configurable via conf/cinit_dir) stores the complete -cinit configuration. - -cinit is service based. -A service consists of - - a base directory (like /etc/cinit/getty/1) - - dependency configuration: - - ./wants - services it wants to be started before (but it - will work anyway) - - ./needs/ - services it needs. If those services fail, this service - won't be started - - - a flag indicating whether to respawn the service: - - ./respawn (simply touch it) - - - the program to run when switching the service on and off: - - ./on (a link to a program or a shell script) - ./on.params (see conf/c_params, the parameters to pass to the program) - ./on.env (see conf/c_env, the environment to pass to the program) - - ./off (call that when shutting down the service) - ./off.params (the parameters to pass to the program) - ./on.env (the environment to pass to the program) - -You should have a look at the samples/ directory for examples. - -If things are missing, cinit will continue with what's available. -This way you only need the files you use. Some examples: - - /etc/cinit/init: - ./wants -> services it wants - ./needs -> services it needs - That's everything - - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it - That's everything, as it has no dependencies - - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn on service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting - - -2. Hints - -2.0 Service executing / parameters - -The on and off files can and should be links to the programs you want -to execute. This way you save yourself loading the big shell (which is -on many Linux systems bash, why so ever, dash does the job as good, still -beeing small). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. The on script -could look like: - - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). - - -2.1 Daemons - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking - ( The following daemons / servers are known to do that easily: - openssh [ssh server]: -D - bind [dns server/caching]: -f - syslogd [log server]: -n - isc-dhcp3 [dhcp server]: -f - qmail [mta]: normal behaviour - tcpserver [super server]: normal behaviour - xinetd [super server]: -dontfork - openvpn [vpn server]: normal behaviour - oops [http proxy]: normal behaviour - frox [ftp proxy]: "NoDetach" in config - proftpd [ftp server]: -n - vsftpd [ftp server]: normal behaviour (or: config: background=no) - distccd [compile server]: normal behaviour - monotone [vcs]: normal behaviour - cupsd [printer server]: -f or -F - mini-lpd [printer server]: normal behaviour - - And those daemons do not offer the possibility (as of release 0.0.6): - - - apache (only with debug mode) - - portmap (only with debug mode) - - inetd (some variants) - ) - - -The other possibility is to use a program, which will - a) start the daemon - b) look into the pidfile of the daemon - c) will then wait until that pid does not exist anymore - d) and then it exits and cinit will restart it (goto a) now) - -Such a program will be included into one of the next cinit releases, -though I do not recommend using it. You should better contact the -authors and make them implement a clean non-forking mode. - - -2.2 Logging - -Currently there's no special logging support. -When programs write to stdout, it will be displayed on -the same stdout cinit is connected to -(we don't even open /dev/console - we are too lazy currently). - - -2.3 Using prepared scripts - -In the bin/ directory of this tarball you'll find: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - - -3. Profiles - -Since cinit-0.0.6 there is profile in cinit. -Profiles are described in doc/profile.support. - -X. Examples - -Todo. - -X.0 Getty -X.1 OpenSSH diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/fun/testing01 b/software/cinit/browse_source/cinit-0.0.6/doc/fun/testing01 deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/fun/testing01 +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/how_it_works_internally b/software/cinit/browse_source/cinit-0.0.6/doc/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/ipc.thoughts b/software/cinit/browse_source/cinit-0.0.6/doc/ipc.thoughts deleted file mode 100644 index d7352559..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/ipc.thoughts +++ /dev/null @@ -1,74 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2), -1024=max fds, -3=already opened (stderr/stdin/stdout), /2= -two fds needed per clients). - -Pipes cannot be use easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR. - -That way, we are forced to mount a temporary filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt and - - poweroff. - -Simple send cinit a signal, what todo: - SIGUSR1: reboot - SIGUSR2: poweroff - TERM: halt - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.0.6/doc/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/merging.other.initsystems b/software/cinit/browse_source/cinit-0.0.6/doc/merging.other.initsystems deleted file mode 100644 index 9dd65218..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/merging.other.initsystems +++ /dev/null @@ -1,64 +0,0 @@ --------------------------------------------------------------------------------- -Merging other init systems to cinit -Nico Schottelius 2005-06-02 --------------------------------------------------------------------------------- - -1. Preamble -2. General todo -3. Create a script - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not exclude that he accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much -appreciated. - - -2. General todo - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/meta.dependencies b/software/cinit/browse_source/cinit-0.0.6/doc/meta.dependencies deleted file mode 100644 index f599e37c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/meta.dependencies +++ /dev/null @@ -1,55 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, on would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation. - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -it does not need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/porting.to.other.os b/software/cinit/browse_source/cinit-0.0.6/doc/porting.to.other.os deleted file mode 100644 index 3a30809b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporary filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.0.6/doc/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/profile.support b/software/cinit/browse_source/cinit-0.0.6/doc/profile.support deleted file mode 100644 index ab35e494..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/profile.support +++ /dev/null @@ -1,46 +0,0 @@ --------------------------------------------------------------------------------- -Profiles -Nico Schottelius 2005-06-04 --------------------------------------------------------------------------------- - -1. What are profiles? -2. How to use profiles? -3. How to configure profiles? - -1. What are profiles? - -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -2. How to use profiles? - -Simply pass 'cprofile=PROFILENAME' (like cprofile=home) to cinit. -How to pass argumenents to cinit? Under Linux the init-system -gets the kernel arguments as arguments. So you can use - - kernel /usr/src/linux/vmlinuz cprofile=work (grub) - append="cprofile=work" (LILO) - -Other Unices should work like Linux, please consult your local -documentation. - -3. How to configure profiles? - -It's very simple: Normally cinit would call /etc/cinit/init as -primary service and solve all dependencies. If you pass -cprofile=wireless to it, cinit will start /etc/cinit/wireless as -primary service instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit; rsync -a init yourprofile - (standard cp will copy the linked files, not the links, that's - why I use rsync) - -That's it! diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/thoughts.closed b/software/cinit/browse_source/cinit-0.0.6/doc/thoughts.closed deleted file mode 100644 index 1da4bebe..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/thoughts.closed +++ /dev/null @@ -1,24 +0,0 @@ -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporary fs before. - diff --git a/software/cinit/browse_source/cinit-0.0.6/doc/thoughts.open b/software/cinit/browse_source/cinit-0.0.6/doc/thoughts.open deleted file mode 100644 index 5e0a054c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/doc/thoughts.open +++ /dev/null @@ -1,14 +0,0 @@ -- Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. - -- Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. diff --git a/software/cinit/browse_source/cinit-0.0.6/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.0.6/generic/mini_printf.c deleted file mode 100644 index d384e717..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/generic/mini_printf.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print string - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - p = str; - while ( *p != '\0') { - write(fd,p,1); - p++; - } - - write(fd,"\n",1); /* FIXME: only when console */ -} diff --git a/software/cinit/browse_source/cinit-0.0.6/generic/set_signals.c b/software/cinit/browse_source/cinit-0.0.6/generic/set_signals.c deleted file mode 100644 index aa3233b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/generic/set_signals.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - sigaction(SIGUSR2,&sa,NULL); /* USR2 */ - sigaction(SIGQUIT,&sa,NULL); /* QUIT... */ - sigaction(SIGTTIN,&sa,NULL); - sigaction(SIGTTOU,&sa,NULL); - - /* sigio is called to act on the socket */ - if(action == ACT_SERV) { - sa.sa_handler=sigio; - } - sigaction(SIGIO,&sa,NULL); - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } -// sigaction(SIGINT,&sa,NULL); /* FIXME: Testing only: ctr+c = REBOOT!!! */ - sigaction(SIGUSR1,&sa,NULL); - sigaction(SIGTERM,&sa,NULL); - sigaction(SIGHUP,&sa,NULL); - - /* sigstop can't be ignored, do the manpages say */ - /* sigaction(SIGSTOP,&sa,NULL); */ -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/add_mod_svc.c b/software/cinit/browse_source/cinit-0.0.6/old/add_mod_svc.c deleted file mode 100644 index c74778d4..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/add_mod_svc.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * add_svc - * part of cinit - */ - -#include - -#include "cinit.h" - -/* we return the service id or -1 on error*/ -int add_mod_svc(char *svc, char status, pid_t pid) -{ - int tmp = 0; - - /* check if service exists, if so, set new status, return sid */ - tmp = chk_svc(svc); - if( tmp != -1 ) { - svc_list.svca[tmp].status = status; - return tmp; - } - - /* still here? than there is no such service */ - if(svc_list.process < MAX_SVC) { - printf("[%d]: %s (%d)\n",svc_list.process,svc,pid); - svc_list.svca[svc_list.process].abs_path = strdup(svc); - - if(svc_list.svca[svc_list.process].abs_path == NULL) { - LOG("strdup failed!"); - return -1; - } - svc_list.svca[svc_list.process].pid = pid; - /* inkrement later, as we count argv[0..n] */ - (svc_list.process)++; - } else { - LOG("too many services"); - return -1; - } - - /* return _our_ service id */ - return (svc_list.process -1); -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/cerr.c b/software/cinit/browse_source/cinit-0.0.6/old/cerr.c deleted file mode 100644 index b9dec472..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/cerr.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print error to stderr and exist - */ - -#include -#include "cinit.h" - -void cerr(char *string, int status) -{ - char *p; - - p = string; - while ( *p != '\0') { - write(2,p,1); - p++; - } - write(2,"\n",1); - - switch(status) { - case RT_CHLD_FAIL: - case RT_CHLD_OK: - _exit(status); - ;; - case RT_PAR_FAIL: /* FIXME: if status is RT_PAR_FAIL, start sulogin */ - _exit(23); - ;; - case RT_PAR_OK: - return; - ;; - } - -/* FIXME: return if in cinit, _exit on fork() */ -// if(...) -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/cinit.add.shutdown.reboot.poweroff b/software/cinit/browse_source/cinit-0.0.6/old/cinit.add.shutdown.reboot.poweroff deleted file mode 100644 index 23cae705..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/cinit.add.shutdown.reboot.poweroff +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add shutdown/reboot/poweroff service - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -# create halt, link reboot and poweroff to it -mkdir "$BASEDIR/$C_HALT" -ln -s "$C_HALT" "$BASEDIR/$C_REBOOT" -ln -s "$C_HALT" "$BASEDIR/$C_POWEROFF" diff --git a/software/cinit/browse_source/cinit-0.0.6/old/cinit.c01 b/software/cinit/browse_source/cinit-0.0.6/old/cinit.c01 deleted file mode 100644 index e3890013..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/cinit.c01 +++ /dev/null @@ -1,105 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - - -#include - -#define EKEL "/etc/cinit/init/wants" - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/* - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - - /* check if already running / ran / currently starting */ - - /* check for needs -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es, %s\n", pathbuf); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) printf("dir gibt es, %s\n", pathbuf); - - d_tmp = opendir(path); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -int main() -{ - - char buf[256]; - int tmp; - - strcpy(buf,CINIT_DIR); - tmp = strlen(CINIT_DIR); - buf[tmp] = '/'; - strcpy(&buf[tmp+1],C_INIT); - - printf("path: %s\n",buf); - - run_svc("/etc/cinit/init"); - - run_svc("/etc/cinit2/init"); - - run_svc("/NOT_THERE"); - -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/cinit.c02 b/software/cinit/browse_source/cinit-0.0.6/old/cinit.c02 deleted file mode 100644 index 7e5432b4..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/cinit.c02 +++ /dev/null @@ -1,198 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" -#define C_RUN "run" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - -/* wait() */ -#include - -/* strlen */ -#include - -#include - -#define EKEL "/etc/cinit/init/wants" - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/*********************************************************************** - * parallel run forked() run_svc() - */ -#define MAX_PAR 32 - -int run_run_svcs(char *rpath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - pid_t pids[MAX_PAR]; - int tmp,i=0; - - printf("run_run_svcs on: %s\n",rpath); - - d_tmp = opendir(rpath); - - if(d_tmp == NULL) { - printf("Failed to open dir: %s", rpath); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 - || strcmp(tdirent->d_name, "..") == 0) - continue; - - if(i < MAX_PAR) { - pids[i] = fork(); - i++; - } else { - cerr("to many dependencies"); - return 1; - } - - if(pids[i-1] == -1) { /* err */ - cerr("fork failed\n"); - return 0; - } else if(pids[i-1] == 0) { /* child */ - printf("Service zu starten nun: %s\n", tdirent->d_name); - run_svc(tdirent->d_name); - _exit(0); - } else /* the parent simply goes the loop again */ - printf("run_svcs_PARENT\n"); - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { -// printf("waiting for %d ... \n",i); - waitpid(pids[i], &tmp, 0); - i--; - } -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - - char buf[256]; - int tmp; - - strcpy(buf,CINIT_DIR); - tmp = strlen(CINIT_DIR); - buf[tmp] = '/'; - strcpy(&buf[tmp+1],C_INIT); - - printf("path: %s\n",buf); - - run_svc("/etc/cinit/init"); - - run_svc("/NOT_THERE"); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/cinit.c03 b/software/cinit/browse_source/cinit-0.0.6/old/cinit.c03 deleted file mode 100644 index c1b5eb42..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/cinit.c03 +++ /dev/null @@ -1,241 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" -#define C_RUN "run" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - -/* wait() */ -#include - -/* strlen */ -#include - -#include - -#include "cinit.h" - -#define EKEL "/etc/cinit/init/wants" - -/* status of a service */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ - -/* array of svc */ -/* linked list of services */ -/* balanced trees */ -struct svc { - char *abs_path; -// struct svc *next; - int status; /* tmp, respawn, ran once */ - /* evtl: */ -}; - -struct svcl { - struct svc svc_list[1000]; - int process; -} svc_list; - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/*********************************************************************** - * parallel run forked() run_svc() - */ -#define MAX_PAR 32 - -int run_run_svcs(char *rpath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - pid_t pids[MAX_PAR]; - int tmp,i=0; - - printf("run_run_svcs on: %s\n",rpath); - - d_tmp = opendir(rpath); - - if(d_tmp == NULL) { - printf("Failed to open dir: %s", rpath); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 - || strcmp(tdirent->d_name, "..") == 0) - continue; - - if(i < MAX_PAR) { - pids[i] = fork(); - i++; - } else { - cerr("to many dependencies"); - return 1; - } - - if(pids[i-1] == -1) { /* err */ - cerr("fork failed\n"); - return 0; - } else if(pids[i-1] == 0) { /* child */ - printf("Service zu starten nun: %s\n", tdirent->d_name); - run_svc(tdirent->d_name); - _exit(0); - } else /* the parent simply goes the loop again */ - printf("run_svcs_PARENT\n"); - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { -// printf("waiting for %d ... \n",i); - waitpid(pids[i], &tmp, 0); - i--; - } -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* debug */ - getcwd(pathbuf,1024); - - printf("dir: %s\n",pathbuf); - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char pathbuf[MAXPATH]; - struct stat buf; - - strcpy(pathbuf,CINIT_DIR); - strcat(pathbuf,"/"); - strcat(pathbuf,C_INIT); - - printf("path: %s\n",pathbuf); - - svc_list.process = 0; - - /* stat, checkdir */ - if( stat(pathbuf,&buf) ) { - printf("PANIC ACTION: init dir missing\n"); - return 1; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("PANIC ACTION: init is not a dir\n"); - return 1; - } - - if( chdir(pathbuf) == -1) { - printf("PANIC ACTION: chdir(%s) failed!\n",pathbuf); - return 1; - } - run_svc("/etc/cinit/init"); -// run_svc(""); - -// run_svc("/NOT_THERE"); - -// execl("/bin/zsh","zsh", "-l"); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/cinit.c04 b/software/cinit/browse_source/cinit-0.0.6/old/cinit.c04 deleted file mode 100644 index 983c03eb..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/cinit.c04 +++ /dev/null @@ -1,130 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; -int f_in, f_out; - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char pathbuf[PATH_MAX]; - char buf[1223]; - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTP,&sa,NULL); /* ignore ctr+z, stop */ - - D_PRINTF(CINIT_INIT); - - /* count of started processes */ - svc_list.process = 0; - - /* begin to handle signals */ - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* open communication fifos */ - f_in = open(CINIT_DIR SLASH F_IN, O_RDWR); - f_out = open(CINIT_DIR SLASH F_OUT, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed\n",RT_PAR_FAIL); - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; - sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ - sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ - sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* important signal handlers: pipe, child */ -// sa.sa_handler=sig_pipe; -// sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - -// sa.sa_handler=sig_child; -// sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - - /* big TODO: */ - - /* some while/for loop to hang forever, remember, we are init! */ - while(1) { - i=0; - /* read path */ - do { - read(f_in,&buf,1); -// buf1[i] = buf; i++; - } while(buf != '\0'); -// - // printf("Read path: %s\n",buf1); - - i=0; - /* read status */ - do { - read(f_in,&buf,1); - // buf2[i] = buf; i++; - } while(buf != '\0'); - - // status = atoi(buf2); - // printf("Read status: %d\n",status); - - i=0; - /* read pid */ - do { - read(f_in,&buf,1); - // buf3[i] = buf; i++; - } while(buf != '\0'); - - // pid = atoi(buf3); - - - - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/cinit.c05 b/software/cinit/browse_source/cinit-0.0.6/old/cinit.c05 deleted file mode 100644 index 8dec1f46..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/cinit.c05 +++ /dev/null @@ -1,137 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char buf[1223]; - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTOP,&sa,NULL); /* ignore ctr+z, stop */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - - D_PRINTF(CINIT_INIT); - - /* begin to handle signals */ - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* get shared memory */ - - shmfd = shm_open(CINIT_SHM,O_RDWR|O_CREAT,0600); - - if(shmfd == -1) { - perror("Shared memory"); - cerr("shared memory",RT_PAR_FAIL); - } - - /* count of started processes */ - svc_list.process = 0; - - /* open communication fifos */ - f_in = open(CINIT_DIR SLASH F_IN, O_RDWR); - f_out = open(CINIT_DIR SLASH F_OUT, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed",RT_PAR_FAIL); - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; - sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ - sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ - sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* important signal handlers: pipe, child */ -// sa.sa_handler=sig_pipe; - -// sa.sa_handler=sig_child; -// sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - - /* big TODO: */ - - /* some while/for loop to hang forever, remember, we are init! */ - while(1) { - i=0; - /* read path */ - do { - read(f_in,&buf,1); -// buf1[i] = buf; i++; - } while(buf != '\0'); -// - // printf("Read path: %s\n",buf1); - - i=0; - /* read status */ - do { - read(f_in,&buf,1); - // buf2[i] = buf; i++; - } while(buf != '\0'); - - // status = atoi(buf2); - // printf("Read status: %d\n",status); - - i=0; - /* read pid */ - do { - read(f_in,&buf,1); - // buf3[i] = buf; i++; - } while(buf != '\0'); - - // pid = atoi(buf3); - - - - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/cinit.c06 b/software/cinit/browse_source/cinit-0.0.6/old/cinit.c06 deleted file mode 100644 index c48de22c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/cinit.c06 +++ /dev/null @@ -1,158 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; -int sock; - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - struct ucred suck; - int len = sizeof(suck), lens; - int nsock; - struct sockaddr_un sun; - char buf; - - lens=sizeof(sun); - memset(&sun,0,lens); - -/* this is always us! */ -// getsockopt(sock, SOL_SOCKET, SO_PEERCRED, &suck, &len); -// printf("orig angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - do { - //s_tmp[s_idx] = accept(sock,(struct sockaddr *) &sun, (socklen_t *) &lens); - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - // nsock = accept(sock,(struct sockaddr *) &sun, (socklen_t *) &lens); -// if( s_tmp[s_idx] == -1) { - if( nsock == -1) { - if (errno != EAGAIN) { - perror("accept"); - _exit(1); - } else { - break; - } - } - - //getsockopt(s_tmp[s_idx], SOL_SOCKET, SO_PEERCRED, &suck, &len); - getsockopt(nsock, SOL_SOCKET, SO_PEERCRED, &suck, &len); - printf("angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - - read(nsock,&buf,1); - - printf("command: %d\n",buf); - - while ( (len = read(nsock,&buf,1)) ) { -// printf("laenge: %d\n",len); - if(len == -1) { -// if(errno != EINVAL && errno != EAGAIN) { - perror("read"); - return; -// _exit(1); -// } - } - if(buf == 0) break; - write(1,&buf,1); - } - printf("Fertig mit lesen\n"); - - write(nsock,"ok\n",4); - printf("fertig mit schreiben\n"); - } while ( 1 ); - - printf("keine sockets mehr da..., sigio beendet sich jetzt.\n"); -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTOP,&sa,NULL); /* ignore ctr+z, stop */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - sa.sa_handler=sigio; - sigaction(SIGIO,&sa,NULL); /* what todo when data arrived on socket */ - - D_PRINTF(CINIT_INIT); - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* count of started processes */ - svc_list.process = 0; - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; -// sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ -// sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ -// sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* the main loop */ - while(1) ; - -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/cinit.commands.v01 b/software/cinit/browse_source/cinit-0.0.6/old/cinit.commands.v01 deleted file mode 100644 index dfdb67c5..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/cinit.commands.v01 +++ /dev/null @@ -1,85 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (uses SO_PEERCRED as -socketoption). - -The communication-protocol is binary. - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service and its dependencies. - CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_INIT: Start all services (again possibly). - - CMD_HALT: Halt the system. - CMD_REBOOT: Reboot the system. - CMD_POWEROFF: Power-off the system. - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) ok, a SID, a service ID: int svc_id; [ really need int? ] - b) fail, [currently only fail is returned] - a) already running - b) svc_name too long / not allowed - - [ A service identification is used for faster searching in cinit. - It is also a hint for developers of external software, that they should not - be able to use CMD_CHG_STATUS, if they didn't start a service. - They should use CMD_STOP_SVC to stop a service. - Starting a service is currently done via exec() in the external program or - a cinit-fork(). ] - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int svc_id; /* service ID to change */ - 1. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit uncgrafully - UNUSED! respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_INIT: Start all services (again possibly). - cinit returns: ready... - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. diff --git a/software/cinit/browse_source/cinit-0.0.6/old/cinit.create.cinit_dir b/software/cinit/browse_source/cinit-0.0.6/old/cinit.create.cinit_dir deleted file mode 100644 index 6fd58adb..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/cinit.create.cinit_dir +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create our initial directory -# 2005-05-24 - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -mkdir -p $BASEDIR diff --git a/software/cinit/browse_source/cinit-0.0.6/old/cinit.h01 b/software/cinit/browse_source/cinit-0.0.6/old/cinit.h01 deleted file mode 100644 index e07fa2c1..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/cinit.h01 +++ /dev/null @@ -1,80 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ - -/* limits */ -#define MAX_SVC 1024 /* maximum services */ -#define MAX_DEPS 32 /* maximum direct dependencies of a service */ - -/* paths */ -#define CINIT_DIR "/etc/cinit" - -#define F_IN "in" -#define F_OUT "out" -#define SLASH "/" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "./needs" -#define C_WANTS "./wants" -#define C_RUN "./run" -#define C_RESPAWN "respawn" -#define C_PARAMS "params" - -/* return values */ -#define RT_FAIL 0 -#define RT_OK 1 - -#define RT_CHLD_FAIL 1 /* child failed */ -#define RT_CHLD_OK 2 /* child succeded */ -#define RT_PAR_FAIL 3 /* parent failed */ -#define RT_PAR_OK 4 /* parent succeded */ - -/* status of a service-starter (run_run_svc) */ -#define RT_ONE_FAILED 5 /* one ore more failed */ -#define RT_ALL_STARTED 6 /* everything ok */ -#define RT_DEPS_MAX 7 /* too many dependencies */ - -/* status of a service */ -#define ST_NO 0 /* process not existing */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ -#define ST_FAIL 4 /* failed to start service */ - - - -/* variables */ - -/* array of svc */ -/* linked list of services */ -/* balanced trees */ - -struct svc { - char *abs_path; /* service identifier */ - int status; /* tmp, respawn, ran once */ - pid_t pid; /* pid of the process */ -}; - -struct svcl { - struct svc svca[MAX_SVC]; - int process; -}; - -extern struct svcl svc_list; - -/* functions */ - -void cerr(char *string, int status); -int chk_svc(char *svc); -int run_svc(char *rpath); -int add_mod_svc(char *svc, int status); -int run_run_svcs(char *rpath); - diff --git a/software/cinit/browse_source/cinit-0.0.6/old/cnt_digits.c b/software/cinit/browse_source/cinit-0.0.6/old/cnt_digits.c deleted file mode 100644 index a692fa5c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/cnt_digits.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* this code is stolen from gpm */ - -/* what's the english name for potenz ? */ -int x_high_y(int base, int pot_y) -{ - int val = 1; - - if(pot_y == 0) val = 1; - else if(pot_y < 0) val = 0; /* ugly hack ;) */ - else while(pot_y > 0) { - val = val * base; - pot_y--; - } - return val; -} - -/* return characters needed to display int */ -int cnt_digits(int number) -{ - /* 0-9 = 1 10^0 <-> (10^1)-1 - * 10 - 99 = 2 10^1 <-> (10^2)-1 - * 100 - 999 = 3 10^2 <-> (10^3)-1 - * 1000 - 9999 = 4 ... */ - - int ret = 0, num = 0; - - /* non negative, please */ - if(number < 0) number *= -1; - else if(number == 0) ret = 1; - else while(number > num) { - ret++; - num = (x_high_y(10,ret) - 1); - } - - return(ret); -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/do_change_status.c01 b/software/cinit/browse_source/cinit-0.0.6/old/do_change_status.c01 deleted file mode 100644 index 74bb9c1e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/do_change_status.c01 +++ /dev/null @@ -1,65 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - char buf = CMD_CHG_STATUS; - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - D_PRINTF("VERSUCHE STATUS ZU AENDERN"); - printf("socket: %d (cmd=%d)\n",sock2, buf); - - if(action == ACT_READ) { - D_PRINTF("Leeeese"); - fpoint = read; - } else { - D_PRINTF("schreibe"); - fpoint = write; /* don't care about warnings! */ - } - - if(action == ACT_WRITE) { - D_PRINTF("schreibe kommando"); - if(fpoint(sock2,&buf,1) == -1) { /* COMMAND */ - perror("command i/o"); - return 0; - } - tmp = strlen(svc); - sock2 = connect_sock(sock2); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror("i/o: length"); - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror("i/o: service name"); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror("i/o: status"); - printf("Status: %d, *status=%d, sizeof=%d\n",status,*status,sizeof(*status)); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror("i/o: PID"); - return 0; - } - - D_PRINTF("fertig mit statuswechsel lesen"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/idea01 b/software/cinit/browse_source/cinit-0.0.6/old/idea01 deleted file mode 100644 index cf0df9d6..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/idea01 +++ /dev/null @@ -1,121 +0,0 @@ --------------------------------------------------------------------------------- -/etc/cinit - -> init/ - -> shutdown/ - -> reboot/ - - - needs/ -> we wait until all parallel processes are finished _and_ we - don't start if one fails - wants/ -> we start all of them parallel and wait for them? - hold/ - wait -> wait until process finished - run -> program to execute - params -> \n seperated argument list - respawn -> respawn it - -services may only be under /etc/cinit? --------------------------------------------------------------------------------- -Service-Status: - -- abs_path -- status (respawn,tmp,once) --------------------------------------------------------------------------------- - -starting services: - -run_svc("/etc/cinit/service/") - -> exec run $params -Later: - -> check if service already running -> return OK - -> check needs/ -> check wants/ - -> run_svc($cur) - - When run_svc returns, the service is started and all service it needs, too. - - --------------------------------------------------------------------------------- - -> check needs/ - -> exists -> fork( run_run_svcs() ) and continue - (fork) -> fork() run_svc(needs/*); - -> check wants/ - -> exists -> run_svc(wants/*); - -> waitfor(need_run_svc) --------------------------------------------------------------------------------- -run_run_svcs() - -> start parallel (forked) run_svc() for every service --------------------------------------------------------------------------------- - -main() - - run_svc /etc/cinit/init/ - - sleep()? -> simply do nothing -> do we need to fork ourselves? No, we are init. -spaeter: - - open /dev/console W_ONLY - - make stdin == /etc/cinit/in - - make stdout, stderr /dev/console - --------------------------------------------------------------------------------- -eof - -Things, which are clear - -- we need to fork before execl(), as excel() replaces us. -- chdir() _after_ fork() - - -profiles support: profile=$profile - - start - "service.$profile" if exists, instead of - "service" - -starting services: - -cinit: - pipe() - set_status_tmp() - fork() --> failure --> clear_service - cinit_process_watcher(): - fork() - execve(process,args,env) - waitpid() -> for once? PROCESS MUST RETURN! - write_pipe() - rmpipe() - --------------------------------------------------------------------------------- - -What to send over to cinit and read back? - - - first you need two pipes for every process: read+write (on both sides) - - cinit wants - o command - - service temporary - trying to start in right now. - - service executed once - fine - - service executed once and that failed - :-( - - service respawing - o an identifier for the service (i from service list ;-) - - --> makes 2 bytes to read --------------------------------------------------------------------------------- -How cinit works: - -cinit says: I want to start service xyz. (/etc/cinit/init on bootup) -cinit calls run_svc(). --------------------------------------------------------------------------------- - -run_svc(char *relative_path): - - check if service is alr - - fork() - - write cinit: check service, I want to start it - -> returns status of service (see ST_* in cinit.h) - - cinit returns: ok, you are temporary - - [that checked] check if service - o is already started - o is beeing started - x check if rpath S_ISDIR - x chdir(dir) - - check needs - check wants - - for every needs/* start run_svc - - check respawn -> respawn = true - - check run - diff --git a/software/cinit/browse_source/cinit-0.0.6/old/idea02 b/software/cinit/browse_source/cinit-0.0.6/old/idea02 deleted file mode 100644 index 38af8965..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/idea02 +++ /dev/null @@ -1,200 +0,0 @@ --------------------------------------------------------------------------------- -/etc/cinit - -> init/ - -> shutdown/ - -> reboot/ - - - needs/ -> we wait until all parallel processes are finished _and_ we - don't start if one fails - wants/ -> we start all of them parallel and wait for them? - hold/ - wait -> wait until process finished - run -> program to execute - params -> \n seperated argument list - respawn -> respawn it - -services may only be under /etc/cinit? --------------------------------------------------------------------------------- -Service-Status: (see struct svc, cinit.h) - -- abs_path -- status (respawn,tmp,once) -- pid - -abs_path\0status\0pid\0 - --------------------------------------------------------------------------------- - -starting services: - -run_svc("/etc/cinit/service/") - -> exec run $params -Later: - -> check if service already running -> return OK - -> check needs/ -> check wants/ - -> run_svc($cur) - - When run_svc returns, the service is started and all service it needs, too. - - --------------------------------------------------------------------------------- - -> check needs/ - -> exists -> fork( run_run_svcs() ) and continue - (fork) -> fork() run_svc(needs/*); - -> check wants/ - -> exists -> run_svc(wants/*); - -> waitfor(need_run_svc) --------------------------------------------------------------------------------- -run_run_svcs() - -> start parallel (forked) run_svc() for every service --------------------------------------------------------------------------------- - -main() - - run_svc /etc/cinit/init/ - - sleep()? -> simply do nothing -> do we need to fork ourselves? No, we are init. -spaeter: - - open /dev/console W_ONLY - - make stdin == /etc/cinit/in - - make stdout, stderr /dev/console - --------------------------------------------------------------------------------- -eof - -Things, which are clear - -- we need to fork before execl(), as excel() replaces us. -- chdir() _after_ fork() - - -profiles support: profile=$profile - - start - "service.$profile" if exists, instead of - "service" - -starting services: - -cinit: - pipe() - set_status_tmp() - fork() --> failure --> clear_service - cinit_process_watcher(): - fork() - execve(process,args,env) - waitpid() -> for once? PROCESS MUST RETURN! - write_pipe() - rmpipe() - --------------------------------------------------------------------------------- - -What to send over to cinit and read back? - - - first you need two pipes for every process: read+write (on both sides) - - cinit wants - o command - - service temporary - trying to start in right now. - - service executed once - fine - - service executed once and that failed - :-( - - service respawing - o an identifier for the service (i from service list ;-) - - --> makes 2 bytes to read --------------------------------------------------------------------------------- -How cinit works: - -cinit says: I want to start service xyz. (/etc/cinit/init on bootup) -cinit calls run_svc(). --------------------------------------------------------------------------------- - -int run_svc(char *relative_path): - - check if service is already running or temporary (task list!) - -> yes: return RT_PAR_OK - -> no: continue. - - set service to be temporary (ST_TMP) and retrieve SID (service ID) - - walk through dependency tree and call run_svc - - fork() -> so cinit can continue. - - write cinit: check service, I want to start it - -> returns status of service (see ST_* in cinit.h) - - cinit returns: ok, you are temporary - - [that checked] check if service - o is already started - o is beeing started - x check if rpath S_ISDIR - x chdir(dir) - - check needs - check wants - - for every needs/* start run_svc - - check respawn -> respawn = true - - check run - --------------------------------------------------------------------------------- - -add_mod_svc(char *svc, int status) - -> add or modify status of a service - - - check whether service exists, reset status - - if not exists, insert if maximum of services is not reached --------------------------------------------------------------------------------- - -cinit communications proto --------------------------------------------------------------------------------- - -cinit: - -> signal_handler on SIGCHLD - run_init() - -> run_svc(init) - -> fork() -> do the work - -signal_handler_child - waitpid(.*) - -> returns pid - - oder waitpid() in dem run_svc, wenn need/once? - - need: - for i in need/*; do - ( $service & ); - done - wait(.*); - --------------------------------------------------------------------------------- - -cinit: - -run_svc: - checks what it needs (need/*) - need/* - fork() - fork(), fork() - --------------------------------------------------------------------------------- -Kommunikationsproblem: - - -> 1024 ist maximale anzahl offener sockets -> 510 von fifos,pipes - - mehrere FIFOs? - --> kommunikation gesichert, extrem viele fifos... - --> etwas unsauber, aber geregelte kommunikation - - mehrere PIPEs? - --> viele PIPEs (HRHR) - --> programme koennen nur von cinit gefork()ed werden. - - --> eine datei mit prozessen? - --> einen RAM Bereich? --------------------------------------------------------------------------------- - -cinit[1] <-> fifo <-> forker - -forker? --------------------------------------------------------------------------------- - -pfad vorher aufloesen? - --------------------------------------------------------------------------------- -Kommunikation: ::Test:: - - Test mit nur 2 FIFOs! - --------------------------------------------------------------------------------- - -sig_fifo() -read(..) als hauptaufgabe? diff --git a/software/cinit/browse_source/cinit-0.0.6/old/msg_change_status.c01 b/software/cinit/browse_source/cinit-0.0.6/old/msg_change_status.c01 deleted file mode 100644 index cfd66ae3..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/msg_change_status.c01 +++ /dev/null @@ -1,49 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include - -#include "cinit.h" - -int do_change_status(char *svc, char status, pid_t pid, int action) -{ - char buf = CMD_CHG_STATUS; - int tmp = strlen(svc); - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_READ) - fpoint = read; - else - fpoint = write; - - D_PRINTF("versuche status zu aendern"); - - if(write(sock,&buf,1) == -1) { /* write COMMAND */ - perror("write"); - return 0; - } - if(write(sock,&tmp,sizeof(tmp)) == -1) { /* write length */ - perror("write"); - return 0; - } - if(write(sock,svc,tmp) == -1) { /* write service name */ - perror("write"); - return 0; - } - if(write(sock,&buf,1) == -1) { /* write PID */ - perror("write"); - return 0; - } - write(sock,&status,sizeof(status)); /* write status */ - - D_PRINTF("fertig mit schreiben"); - - read(sock,&buf,sizeof(buf)); /* read SID or -1 if error */ - - return buf; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/msg_start_svc.c b/software/cinit/browse_source/cinit-0.0.6/old/msg_start_svc.c deleted file mode 100644 index c6a78bf8..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/msg_start_svc.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit we start a service - */ - -#include - -/* return status */ -int msg_start_svc(char *string, int respawn) -{ - char *p; - - p = string; - while ( *p != '\0') { - write(2,p,1); - p++; - } - -/* FIXME: return if in cinit, _exit on fork() */ -// if(...) - _exit(status); -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/read_file.c b/software/cinit/browse_source/cinit-0.0.6/old/read_file.c deleted file mode 100644 index 43a5854b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/read_file.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - - -#include "cinit.h" - -/*********************************************************************** - * read_file: return file content, each line a char* - */ - -char **read_file(char *file) -{ - int tmp; - int fd, argc; - - char buf[BUFSIZE]; - char *p, *sbuf = NULL; - char **nargv = NULL; - - struct stat stbuf; - - D_PRINTF("Lese Datei"); - D_PRINTF(file); - - if( !stat(file,&stbuf) ) { - fd = open(file,O_RDONLY); - - if(fd == -1) { - LOG("params exists, but open params failed"); - return NULL; - } - - D_PRINTF("open ist ok"); - - argc = 0; - - /* most likely one round */ - while ( (tmp = read(fd,buf,BUFSIZE) ) != 0 ) { - if(tmp == -1) { - perror("read"); - return NULL; - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],buf,tmp); - argc += tmp; - } - close(fd); - } - - sbuf[argc] = '\0'; - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() */ - - argc = 0; - - while( (p = strchr(sbuf,'\n')) ) { - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG("realloc failed"); - return NULL; - } - - nargv[argc] = sbuf; - *p = '\0'; - sbuf = p+1; /* is ok, as behind the last \n is a \0 */ - argc++; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - if(nargv == NULL) { - LOG("realloc failed"); - return NULL; - } - - nargv[argc] = NULL; /* terminate argv list */ - - return nargv; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/run_init_svc.c01 b/software/cinit/browse_source/cinit-0.0.6/old/run_init_svc.c01 deleted file mode 100644 index 61467f44..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/run_init_svc.c01 +++ /dev/null @@ -1,50 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * start the first service - */ - -int run_init_svc() -{ - pid_t pid; - - D_PRINTF("Starte initialen starter"); - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror("fork failed\n"); - return RT_PAR_FAIL; - } else if(pid == 0) { /* child */ - /* close fifo */ - close(f_in); close(f_out); - - /* open the other way round */ - f_in = open(CINIT_DIR SLASH F_OUT, O_RDWR); - f_out = open(CINIT_DIR SLASH F_IN, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed\n",RT_CHLD_FAIL); - - /* open stderr, stdin, stdout to files? */ - if ( run_svc(CINIT_INIT) == RT_CHLD_OK) - _exit(EX_OK); - else - _exit(EX_FAIL); - } else - return RT_PAR_OK; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c00 b/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c00 deleted file mode 100644 index ff3bb989..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c00 +++ /dev/null @@ -1,140 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp, sid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - close(sock); /* close old socket connection, we are a fork()! */ - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - tmp = sizeof(addr); - memset(&addr,0,tmp); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - /* FIXME: why do we need tmp????? ... tmp == 1 is wrong!*/ -/* tmp = 1; - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } */ - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - D_PRINTF("some NEEDED services failed)"); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - tmp = ST_ONCE; - sid = 20; - D_PRINTF("Melde status"); - if(!do_change_status(abspath,&tmp,&sid,sock,ACT_WRITE)) { - D_PRINTF("Status nicht gemeldet :((((((((((("); - return 0; - } - D_PRINTF("Status abgesetzt"); - -/* if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - if(respawn_svc(abspath)) { - msg_change_status(sid,ST_RESPAWN); - } else { - D_PRINTF("error in respawn"); - msg_change_status(sid,ST_FAIL); - } - } else { - D_PRINTF("einmal ausfuehren"); - if(exec_svc(abspath)) { - msg_change_status(sid,ST_ONCE); - } else { - D_PRINTF("error einmalig"); - msg_change_status(sid,ST_FAIL); - } - } */ -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c01 b/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c01 deleted file mode 100644 index e7457af0..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c01 +++ /dev/null @@ -1,292 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* perhaps move this code to cinit-static, so it's constant */ - while(tmp < svc_list.process) { - printf("%d\n",tmp); - - if( ! strcmp(rpath,svc_list.svca[tmp].abs_path) ) { - printf("Service im Array\n"); - return 0; - } - tmp++; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* check for respawn? */ - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* debug */ - getcwd(pathbuf,1024); - - printf("dir: %s\n",pathbuf); - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c02 b/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c02 deleted file mode 100644 index 7fb329b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c02 +++ /dev/null @@ -1,282 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* perhaps move this code to cinit-static, so it's constant */ - while(tmp < svc_list.process) { - printf("%d\n",tmp); - - if( ! strcmp(rpath,svc_list.svca[tmp].abs_path) ) { - printf("Service im Array\n"); - return 0; - } - tmp++; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* check for respawn? */ - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c03 b/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c03 deleted file mode 100644 index 9422a7c9..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c03 +++ /dev/null @@ -1,283 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_in[2], p_out[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* create communication pipe */ - if ( pipe(p_in) == -1 || pipe(p_out) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - - /* check for respawn? yes, sometime... */ - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - -beof - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c04 b/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c04 deleted file mode 100644 index 727aa71f..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c04 +++ /dev/null @@ -1,297 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid == -1) { - cerr("fork failed\n", RT_PAR_FAIL); - } else if(pid > 0) { /* parent gets child's PID */ - - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - printf("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - - /* check for needs */ - - /* do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcat(pathtmp,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - pid = fork(); - if(tmp == -1) { - cerr("error ...\n", RT_PAR_FAIL); - } else if(tmp == 0) { - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,rpath); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c05 b/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c05 deleted file mode 100644 index 927a9261..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c05 +++ /dev/null @@ -1,294 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid == -1) { - cerr("fork failed\n", RT_PAR_FAIL); - } else if(pid > 0) { /* parent gets child's PID */ - - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - printf("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c05.2 b/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c05.2 deleted file mode 100644 index 90d94b65..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c05.2 +++ /dev/null @@ -1,320 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* end socket *********************/ - - sid = msg_start_svc(rpath); /* now we are temporary */ - if(sid == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - return 0; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - msg_change_status(sid,ST_FAIL); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - msg_change_status(sid,ST_FAIL); - return 0; - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - /* clone */ - pid = fork(); - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - return 0; - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /*************** THIS BLOCK IS CRAP ******************/ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - msg_change_status(sid,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - msg_change_status(sid,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - /* FIXME: MISSING: - - signal handling (stop respawing) - - waitpid() in while(1) - */ - _exit(0); /* FIXME !!! */ - - /*************** END THIS BLOCK IS CRAP ******************/ - - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - - /*********** CHILD EXECUTION HERE ***********/ - do { - - - } while(respawn); - - - - /* change to service dir */ - if( chdir(rpath) == -1) { - /* FIXME: errno! */ - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c06 b/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c06 deleted file mode 100644 index 7dd265fc..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c06 +++ /dev/null @@ -1,293 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("Fehler"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - msg_start_svc(rpath); - D_PRINTF("in runsvc"); - _exit(0); - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc_client(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return ; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - /* FIXME: pay attention: we are possibly also a fork()! */ - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid > 0) { /* parent gets child's PID */ - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c07 b/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c07 deleted file mode 100644 index e62eff54..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c07 +++ /dev/null @@ -1,304 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - _exit(1); - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - _exit(1); - } - - tmp = msg_start_svc(rpath); /* now we are temporary */ - - D_PRINTF("in runsvc"); - - if(tmp == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - _exit(1); - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - pid = fork(); - /* pay attention: we are also a fork()! */ - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - _exit(1); - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c08 b/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c08 deleted file mode 100644 index 587e13e2..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c08 +++ /dev/null @@ -1,316 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - /* FIXME: cerr */ - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - _exit(1); - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - _exit(1); - } - - sid = msg_start_svc(rpath); /* now we are temporary */ - - D_PRINTF("in runsvc"); - - if(sid == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - _exit(1); - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - pid = fork(); - /* pay attention: we are also a fork()! */ - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - _exit(1); - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /*************** THIS BLOCK IS CRAP ******************/ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - msg_change_status(sid,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - msg_change_status(sid,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - /* FIXME: MISSING: - - signal handling (stop respawing) - - waitpid() in while(1) - */ - _exit(0); /* FIXME !!! */ - - /*************** END THIS BLOCK IS CRAP ******************/ - - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - /* FIXME: errno! */ - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c09 b/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c09 deleted file mode 100644 index ff3bb989..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/run_svc.c09 +++ /dev/null @@ -1,140 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp, sid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - close(sock); /* close old socket connection, we are a fork()! */ - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - tmp = sizeof(addr); - memset(&addr,0,tmp); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - /* FIXME: why do we need tmp????? ... tmp == 1 is wrong!*/ -/* tmp = 1; - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } */ - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - D_PRINTF("some NEEDED services failed)"); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - tmp = ST_ONCE; - sid = 20; - D_PRINTF("Melde status"); - if(!do_change_status(abspath,&tmp,&sid,sock,ACT_WRITE)) { - D_PRINTF("Status nicht gemeldet :((((((((((("); - return 0; - } - D_PRINTF("Status abgesetzt"); - -/* if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - if(respawn_svc(abspath)) { - msg_change_status(sid,ST_RESPAWN); - } else { - D_PRINTF("error in respawn"); - msg_change_status(sid,ST_FAIL); - } - } else { - D_PRINTF("einmal ausfuehren"); - if(exec_svc(abspath)) { - msg_change_status(sid,ST_ONCE); - } else { - D_PRINTF("error einmalig"); - msg_change_status(sid,ST_FAIL); - } - } */ -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/sig_chld.c b/software/cinit/browse_source/cinit-0.0.6/old/sig_chld.c deleted file mode 100644 index e452f570..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/sig_chld.c +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* we are called, when a child exited */ -void sig_chld(int status) -{ - int pstat, i = 0; - pid_t pid; - - /* get pid of child and its status */ - pid = waitpid(chpid,&pstat,0); - - /* the child was either a respawed or once running process */ - - while(i < svc_list.process) { - if(pid == svc_list.svca[i].pid) { /* found service */ - - } - i++; - } - - if( WIFEXITED(pstat) ) printf("Kind gut gestorben\n"); - - printf("kind tot %d ...\n", status); -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/sig_special.c b/software/cinit/browse_source/cinit-0.0.6/old/sig_special.c deleted file mode 100644 index 6152f515..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/sig_special.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called by signal to reboot - */ - -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_special - * react on special signals: - o SIGINT: ctrl + alt + del - o SIGWINCH: keyboard request - */ - -void sig_special(int signal) -{ - /* not used */ -} diff --git a/software/cinit/browse_source/cinit-0.0.6/old/sigio.c01 b/software/cinit/browse_source/cinit-0.0.6/old/sigio.c01 deleted file mode 100644 index 4e1ee482..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/old/sigio.c01 +++ /dev/null @@ -1,73 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - struct ucred suck; - int len, lens, nsock; - struct sockaddr_un sun; - char buf; - - D_PRINTF("sigio() startet"); - - do { - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - if( nsock == -1) { - if (errno != EAGAIN) { - perror("accept"); - _exit(1); - } else { - break; - } - } - - //getsockopt(s_tmp[s_idx], SOL_SOCKET, SO_PEERCRED, &suck, &len); - getsockopt(nsock, SOL_SOCKET, SO_PEERCRED, &suck, &len); - printf("angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - - read(nsock,&buf,1); - - printf("command: %d\n",buf); - - while ( (len = read(nsock,&buf,1)) ) { -// printf("laenge: %d\n",len); - if(len == -1) { -// if(errno != EINVAL && errno != EAGAIN) { - perror("read"); - return; -// _exit(1); -// } - } - if(buf == 0) break; - write(1,&buf,1); - } - printf("Fertig mit lesen\n"); - - write(nsock,"ok\n",4); - printf("fertig mit schreiben\n"); - } while ( 1 ); - - printf("keine sockets mehr da..., sigio beendet sich jetzt.\n"); -} - - diff --git a/software/cinit/browse_source/cinit-0.0.6/samples/debian.tar b/software/cinit/browse_source/cinit-0.0.6/samples/debian.tar deleted file mode 100644 index a2118f37..00000000 Binary files a/software/cinit/browse_source/cinit-0.0.6/samples/debian.tar and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.0.6/samples/fedora.tar b/software/cinit/browse_source/cinit-0.0.6/samples/fedora.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/samples/fedora.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.6/samples/gentoo.tar b/software/cinit/browse_source/cinit-0.0.6/samples/gentoo.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/samples/gentoo.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.6/samples/mandrake.tar b/software/cinit/browse_source/cinit-0.0.6/samples/mandrake.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/samples/mandrake.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.6/samples/suse.tar b/software/cinit/browse_source/cinit-0.0.6/samples/suse.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/samples/suse.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.6/serv/chk_svc.c b/software/cinit/browse_source/cinit-0.0.6/serv/chk_svc.c deleted file mode 100644 index bdc73c31..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/serv/chk_svc.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * chk_svc: check whether service exists - * part of cinit - */ - -#include -#include "cinit.h" - -/* we are called from sigio */ -/* return SID, if service exists, else -1 */ -int chk_svc(char *svc) -{ - int tmp = 0; - - while(tmp < svc_list.process) { - if( ! strcmp(svc,svc_list.svca[tmp].abs_path) ) { - return tmp; - } - tmp++; - } - return -1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/serv/cinit.c b/software/cinit/browse_source/cinit-0.0.6/serv/cinit.c deleted file mode 100644 index 8e3af84e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/serv/cinit.c +++ /dev/null @@ -1,163 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include -#include - -#include /* nanosleep */ - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock, logfd; - -/*********************************************************************** - * the main procedure - */ - -#ifdef TIME_ME -time_t start; -#endif - -int main(int argc, char **argv) -{ - struct stat sbuf; - pid_t pid; - struct sockaddr_un addr; - struct timespec ts; - char *initdir; - -#ifdef TIME_ME - start = time(NULL); -#endif - - set_signals(ACT_SERV); /* set signal handlers */ - logfd = 1; /* write to stdout */ - list = NULL; /* list of services is empty currently */ - - initdir = CINIT_INIT; - - /* profile support */ - while(argc) { - D_PRINTF(argv[argc-1]); - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - D_PRINTF(initdir); - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - perror(MSG_INIT_MISS); - panic(); - } - if( ! S_ISDIR(sbuf.st_mode) ) { - LOG(MSG_NOT_DIR); - panic(); - } - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - /* tell the socket, _we_ want to get SIGIO! */ - pid = getpid(); - if(fcntl(sock,F_SETOWN,pid) == -1) { - perror(MSG_FCNTL); - panic(); - } - - /* O_SYNC: SIGIO will be called, O_NONBLOCK: don't block cinit */ - if ( fcntl(sock,F_SETFL,O_ASYNC|O_NONBLOCK) == -1) { - perror(MSG_FCNTL); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - /******************** end socket **********************/ - - /* initial run, only if we are 'real' init': not needed */ -// if( pid == 1) { - run_init_svc(); -// } - - D_PRINTF("fertig gestartet"); - - /* the main loop: sleep until a signal comes in */ - ts.tv_sec = -1; - if(ts.tv_sec < 0) { - D_PRINTF("is signed"); - ts.tv_sec = 1 << ((sizeof(ts.tv_sec) * 8)-1); - ts.tv_sec = ts.tv_sec - 1; - } - - while(1) { - nanosleep(&ts,NULL); - } -} diff --git a/software/cinit/browse_source/cinit-0.0.6/serv/list.c b/software/cinit/browse_source/cinit-0.0.6/serv/list.c deleted file mode 100644 index 5fe4a6bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/serv/list.c +++ /dev/null @@ -1,96 +0,0 @@ -/* (c) 2005 by Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * list handling: the processes cinit will execute/executed - * part of cinit - * changed some formatting, Nico Schottelius - */ - -#include -#include -#include "cinit.h" - - -int list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc( sizeof(struct listitem) ); - - if( tmp == NULL ) { - return 0; - } - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members, add this one */ - tmp->after = list; /* after the new element comes the begin */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first element has us as previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if( list == NULL ) { /* think positive */ - return NULL; - } else { - tmp = list->before; - } - - do { - if(!strcmp(path, tmp->abs_path)) - return tmp; - tmp = tmp->before; - } while(tmp != list); - - return NULL; -} - -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->after->before = tmp->before; - tmp->before->after = tmp->after; - free(tmp->abs_path); - free(tmp); - return 1; -} - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - tmp->status = new_status; - tmp->pid = new_pid; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.6/serv/panic.c b/software/cinit/browse_source/cinit-0.0.6/serv/panic.c deleted file mode 100644 index 2f276fa0..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/serv/panic.c +++ /dev/null @@ -1,19 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * panic: if cinit fails, start sulogin - * part of cinit - */ - -#include "cinit.h" -#include - -void panic(void) -{ - char *nargv[2]; - - nargv[0] = SULOGIN; - nargv[1] = NULL; - - execv(SULOGIN,nargv); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.0.6/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.0.6/serv/run_init_svc.c deleted file mode 100644 index 7dacd06d..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/serv/run_init_svc.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -extern time_t start; - -int run_init_svc() -{ - pid_t pid; - int status; - -#ifdef TIME_ME - time_t stop; -#endif - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - logfd = 1; /* FIXME: shouldn't this be some kind of log, like /dev/log? */ - set_signals(ACT_CLIENT); - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ?*/ - if ( run_svc(CINIT_INIT) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - waitpid(pid, &status,0); -#ifdef TIME_ME - stop = time(NULL); - /* FiXME: remove printf! , remove message -> msg.h */ - printf("*** cinit needed %ld seconds to start ****\n",(int) stop-start); -#endif - return WIFEXITED(status); - } -} diff --git a/software/cinit/browse_source/cinit-0.0.6/serv/sig_reboot.c b/software/cinit/browse_source/cinit-0.0.6/serv/sig_reboot.c deleted file mode 100644 index d430c3a6..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/serv/sig_reboot.c +++ /dev/null @@ -1,134 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called by signal to reboot - */ - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void sig_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - D_PRINTF("sig_reboot() startet"); - - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - D_PRINTF("Bringing down respawn watcher"); - kill(tmp->pid,SIGTERM); - } - - /* execute shutdown service */ - D_PRINTF("Executing off-service"); - exec_svc(tmp->abs_path,0); - tmp = tmp->before; - } while( tmp != list ); - - /* Let's disappear */ - close(sock); - if(umount(CINIT_TMNT) == -1) { - perror("umount"); - } - - /* now: all services are down, lets kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - D_PRINTF("SIGTERM GESENDET"); - - ts.tv_sec = SLEEP_KILL; /* defined in conf/ */ - nanosleep(&ts,NULL); - - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - /* now: we are completly alone. umount everything, go to bed */ - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ - -#define CMD_CNT 5 -#define SWAP_OFF_CMD "/sbin/swapoff" -#define SWAP_OFF_ARG1 "-a" - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-a" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { -// cmd[0] = (char *) malloc(strlen(SWAP_OFF_CMD) +1); -// cmd[1] = (char *) malloc(strlen(SWAP_OFF_CMD) +1); - /* /sbin/swapoff -a */ - cmd[0] = SWAP_OFF_CMD; - cmd[1] = SWAP_OFF_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG1; - cmd[3] = MOUNT_ARG1; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } - - switch(signal) { - case SIGUSR1: /* halt */ - reboot(RB_HALT_SYSTEM); - break; - case SIGTERM: /* power off */ - reboot(RB_POWER_OFF); - break; - case SIGHUP: /* reboot */ - reboot(RB_AUTOBOOT); - break; - } - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.0.6/serv/sigio.c b/software/cinit/browse_source/cinit-0.0.6/serv/sigio.c deleted file mode 120000 index 059b397f..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/serv/sigio.c +++ /dev/null @@ -1 +0,0 @@ -sigio_linux.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.6/serv/sigio_linux.c b/software/cinit/browse_source/cinit-0.0.6/serv/sigio_linux.c deleted file mode 100644 index 5e066d52..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/serv/sigio_linux.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - - D_PRINTF("sigio() startet"); - - do { - /* create new socket */ - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - if( nsock == -1) { - if (errno != EAGAIN) { /* report, but don't panic */ - perror("accept"); - } - - return; - } - - if( read(nsock,&buf[0],1) == -1) { - perror("read-command"); - close(nsock); - continue; - } - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_start_svc(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists */ - buf[0] = 0; - do_result(nsock,&buf[0]); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG("Adding service failed!"); - buf[0] = 0; - do_result(nsock,&buf[0]); - } - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - - if(!tmp) break; - - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - D_PRINTF("MOD.ERR"); - buf[0] = 0; - } else { - buf[0] = 1; - } - do_result(nsock,buf); - break; - - default: - LOG("Unknown command!"); - break; - } - close(nsock); - } while ( 1 ); - - D_PRINTF("ENDE:SIGIO"); -} diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:41:08 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:41:08 deleted file mode 100644 index d29de765..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:41:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586640 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:46:09 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:46:09 deleted file mode 100644 index 7ecb58be..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-15:46:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586368 Apr 30 15:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-16:50:05 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-16:50:05 deleted file mode 100644 index d87323e5..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-16:50:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587818 Apr 30 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:03:00 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:03:00 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:39:08 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:39:08 deleted file mode 100644 index 0c2bb0af..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:39:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586194 May 6 20:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:54:00 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:54:00 deleted file mode 100644 index fe51f37f..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:55:07 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:55:07 deleted file mode 100644 index 4d2854b5..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:55:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-23:00:07 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-23:00:07 deleted file mode 100644 index c0db4814..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-23:00:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 23:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:31:01 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:31:01 deleted file mode 100644 index 4ad1fccf..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:31:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:31 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:39:02 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:39:02 deleted file mode 100644 index 16613354..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:39:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:43:08 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:43:08 deleted file mode 100644 index 29e5ab44..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:54:04 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:54:04 deleted file mode 100644 index 474189e8..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:54:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:18:00 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:18:00 deleted file mode 100644 index 960ca358..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:18:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:14:00 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:14:00 deleted file mode 100644 index 7de2bc3e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:14:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:14 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:43:08 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:43:08 deleted file mode 100644 index 11a18f12..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597245 May 7 14:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:48:01 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:48:01 deleted file mode 100644 index 28b127b9..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:48:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597405 May 7 14:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:55:05 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:55:05 deleted file mode 100644 index 5d0fa0e1..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:55:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:01:01 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:01:01 deleted file mode 100644 index 7c8b202b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:01:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 15:01 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:27:00 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:27:00 deleted file mode 100644 index a2d19633..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:27:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:20:02 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:20:02 deleted file mode 100644 index 23608225..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:20:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602184 May 7 16:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:31:09 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:31:09 deleted file mode 100644 index 40f890cf..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:31:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:31 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:08:09 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:08:09 deleted file mode 100644 index 22b48319..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:08:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-10:44:00 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-10:44:00 deleted file mode 100644 index 4dad0f2e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-10:44:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 64935 May 8 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-12:42:08 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-12:42:08 deleted file mode 100644 index a356e57e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-12:42:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 23195 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:25:05 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:25:05 deleted file mode 100644 index 0b5026c7..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:25:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:30:03 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:30:03 deleted file mode 100644 index 7377ee59..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:30:03 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-21:54:00 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-21:54:00 deleted file mode 100644 index 41ed8e4c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-21:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604637 May 10 21:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:07:06 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:07:06 deleted file mode 100644 index 9579bf3d..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:07:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95212 May 10 22:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-00:14:02 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-00:14:02 deleted file mode 100644 index 86483ada..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-00:14:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-15-22:32:07 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-15-22:32:07 deleted file mode 100644 index 59557c4b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-15-22:32:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 15 22:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-15-23:52:06 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-15-23:52:06 deleted file mode 100644 index 757e6dc6..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-15-23:52:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579305 May 15 23:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-15-23:56:00 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-15-23:56:00 deleted file mode 100644 index 24c85104..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-15-23:56:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605145 May 15 23:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:16:09 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:16:09 deleted file mode 100644 index 27254aa3..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:16:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605205 May 16 00:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-09:58:08 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-09:58:08 deleted file mode 100644 index 90a5b698..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-09:58:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605567 May 16 09:58 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:09:00 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:09:00 deleted file mode 100644 index 4c34f810..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:09:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605583 May 16 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:13:07 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:13:07 deleted file mode 100644 index b6a851e6..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:13:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605619 May 16 10:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:23:05 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:23:05 deleted file mode 100644 index 2c4fc649..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:23:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-14:56:01 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-14:56:01 deleted file mode 100644 index c5e08e25..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-14:56:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95794 May 21 14:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:35:00 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:35:00 deleted file mode 100644 index 0f2d5463..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:35:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:35 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.0.6/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.0.6/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.0.6/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.0.6/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.6/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.0.6/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.0.6/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/BUGS b/software/cinit/browse_source/cinit-0.0.7/BUGS deleted file mode 100644 index 235a8853..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/BUGS +++ /dev/null @@ -1,2 +0,0 @@ -To be done before 0.1 (dirty release): -- replace cerr-strings with #defines, so doubled strings are elimenated diff --git a/software/cinit/browse_source/cinit-0.0.7/COPYING b/software/cinit/browse_source/cinit-0.0.7/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.0.7/CREDITS b/software/cinit/browse_source/cinit-0.0.7/CREDITS deleted file mode 100644 index fd3d6ff3..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/CREDITS +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -René Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete diff --git a/software/cinit/browse_source/cinit-0.0.7/Changelog b/software/cinit/browse_source/cinit-0.0.7/Changelog deleted file mode 100644 index 47142a97..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/Changelog +++ /dev/null @@ -1,8 +0,0 @@ -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.0.7/MT/debug b/software/cinit/browse_source/cinit-0.0.7/MT/debug deleted file mode 100644 index 52dab24b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/MT/debug +++ /dev/null @@ -1,31 +0,0 @@ -started up on Linux 2.6.11.10 #2 Tue May 17 11:58:45 CEST 2005 ppc -command line: 'monotone-0.18', 'sync', 'linux.schottelius.org', 'info.clinux.cinit' -set locale: LC_CTYPE=C, LC_MESSAGES=C -initial path is /home/user/nico/cinit-0.0.5 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 4 bytes from ANSI_X3.4-1968 to UTF-8 -converting 21 bytes from ANSI_X3.4-1968 to UTF-8 -converting 17 bytes from ANSI_X3.4-1968 to UTF-8 -searching for 'MT' directory with root '/' -search for 'MT' ended at '/home/user/nico/cinit-0.0.5' with '' removed -initializing from directory /home/user/nico/cinit-0.0.5 -found working copy directory /home/user/nico/cinit-0.0.5 -options path is MT/options -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -local dump path is MT/debug -setting dump path to MT/debug -opening rcfile '/home/user/nico/.monotonerc' ... -'/home/user/nico/.monotonerc' is ok -skipping nonexistent rcfile 'MT/monotonerc' -executing sync command -db.fetch("SELECT domain, name, value FROM db_vars") -db.fetch("SELECT domain, name, value FROM db_vars") -lua isfunction() failed in get_fn -db.fetch("SELECT id from 'private_keys'") -db.fetch("SELECT id, name, value, keypair, signature FROM 'revision_certs' WHERE name = 'branch'") -db.execute("BEGIN") -connecting to linux.schottelius.org -db.execute("ROLLBACK") diff --git a/software/cinit/browse_source/cinit-0.0.7/MT/log b/software/cinit/browse_source/cinit-0.0.7/MT/log deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.7/MT/options b/software/cinit/browse_source/cinit-0.0.7/MT/options deleted file mode 100644 index 33960254..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/MT/options +++ /dev/null @@ -1,3 +0,0 @@ - branch "info.clinux.cinit" -database "/home/user/nico/monotone.db" - key "" diff --git a/software/cinit/browse_source/cinit-0.0.7/MT/revision b/software/cinit/browse_source/cinit-0.0.7/MT/revision deleted file mode 100644 index 53a30a8a..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/MT/revision +++ /dev/null @@ -1 +0,0 @@ -23fa7ccb2e3cc6a85fd3b72274f7bf7611dbd469 diff --git a/software/cinit/browse_source/cinit-0.0.7/Makefile b/software/cinit/browse_source/cinit-0.0.7/Makefile deleted file mode 100644 index 7c4c4eb6..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/Makefile +++ /dev/null @@ -1,92 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -OPTIMIZE=-Werror -#DEBUG=-g -DDEBUG -#OPTIMIZE=-Os -Werror - -# init should be static per default! -LDFLAGS=-static - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-pipe -Wall -I. -LD=gcc -STRIP=strip - -# monotone -MT=monotone-0.18 - -# directories and files -SDIRS=bin client conf comm generic doc serv -FILES=BUGS Changelog Makefile README TODO cinit.h - -# objects -SERV=serv/sigio.o serv/cinit.o serv/list.o \ - serv/run_init_svc.o serv/panic.o serv/sig_reboot.o - -CLIENT=client/msg_start_svc.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svc.o \ - client/connect_sock.o client/begin_msg.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_start_svc.o - -BOTH=generic/set_signals.o generic/mini_printf.o - -OBJ=$(SERV) $(CLIENT) $(BOTH) $(COMMUNICATION) - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -all: $(CINIT_BIN) sizecheck - -$(CINIT_BIN): $(SBIN) config.h $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ -$(SBIN): - mkdir $(SBIN) -sizecheck: - FILE="size/`date +%Y-%m-%d-%T`"; ls -l sbin/cinit > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' -clean: - rm -f *.o */*.o sbin/cinit config.h -config.h: conf/* - ./bin/cinit.mkheader > config.h - -mt-update: - $(MT) add $(SDIRS) $(FILES) 2>/dev/null -mt-commit: - $(MT) commit -mt-sync: - $(MT) sync linux.schottelius.org info.clinux.cinit - -install: install-dir - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-dir: - ./bin/cinit.install.dir - -install-conf: install-dir - @echo '*** Creating very basic configuration ***' - ./bin/cinit.install.conf - -install-test: install-dir - @echo '***> Copying testing configuration' - ./bin/cinit.install.test diff --git a/software/cinit/browse_source/cinit-0.0.7/README b/software/cinit/browse_source/cinit-0.0.7/README deleted file mode 100644 index c3523e11..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/README +++ /dev/null @@ -1,92 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features. -It is orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every POSIX compatible system. -- true dependencies -- parallel execution -- highly customisable (see conf/*) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via monotone. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -If it's the first time you operate with cinit, also do: -# make install-conf - -This will populate /etc/cinit with some default services for Linux -(mounting root r/w, starting gettys, setting hostname). - -This should work on most Linux systems, still you should have a -look at /etc/cinit and see whether services are correct. - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. - -sampleconfig.tar is the tar-ball I used for testing, beware if you use it: -It loads dvorak at startup! - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit.html diff --git a/software/cinit/browse_source/cinit-0.0.7/TODO b/software/cinit/browse_source/cinit-0.0.7/TODO deleted file mode 100644 index 36cc4171..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/TODO +++ /dev/null @@ -1,67 +0,0 @@ -- Recheck sources: - - check errno! - - check whether headers are ok -> cleanup headers! - - eventually split cinit code to csvc to minimize binary of cinit? - - cleanup comments - - move messages to cinit.h or message.h or conf/msg-*! - - close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - - panic() should call sulogin - - remove FIXME entries (and what should be fixed, too) - - check LOG - - recheck 'strip' documentation, what can be stripped without problems - -- Source Logic issues - - Add sulogin possibility - - stat() in run_svc -> don't call exec_svc, respawn_svc, run_run_svc - - remove stat from exec_svc, do before! - - respawn_svc and exec_svc must return pid_t of executed service / watcher - - handle CTR-ALT-DEL / keyboard request? (see caveats) - - check for possibilies to save ram, free things - - create coala-socket with correct permissions! (550, root:cinit) - -> is that really our problem or should a service do that? - - check if we caught every signal, which could kill us - - logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? - - check for other possibilities to create a smaller binary - - strip options - - gcc options - - ld options - - alternative libc (uclibc works fine!) - - perhaps remove MAX_DEPS? - - run_svc_new: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - - we have to add killing services from outside - -> perhaps completly split client code from cinit? - -> ccinit? ;-) - -> shutting down services is NOT YET possible while cinit is running - -- Documentation - - write manpages (use doc/* as base for that) - -- Porting - - add porting code to other unices? - - like openssh guys do? - - polling/signalling is different everywhere - a) use standars poll/select - b) use accelerated os-specfic - -> add the name of the function/the file to use - into conf/poll_func? - - using Linux 2.6 epoll mechanism? - --------------------------------------------------------------------------------- -create_mini_cinit - -> use a tarball? (samples/*) - -> create something which should be runnable - -> mount, fsck, getty - --> for dev in `read /etc/fstab` ... - fsck $dev - --> getty from /etc/inittab or /sbin/*getty - -> find out, which gettys with which params - -> use it on 'make install' --------------------------------------------------------------------------------- -- Check Spell and Grammar in documentation --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.add.dependency deleted file mode 100644 index 17683dcc..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.add.dependency +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or needs Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -case $DEP in - wants) DEP=$C_WANTS ;; - needs) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could some PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEST="${BASEDIR}/${SVC_A}/${DEP}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.add.getty deleted file mode 100644 index cd8aab55..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.add.getty +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -read -p "Getty to use [$mygetty]: " rgetty -read -p "Parameters to pass [$params]: " rparams - -[ "$rgetty" ] && mygetty=$rgetty -[ "$rparams" ] && params=$rparams - -if [ ! "$mygetty" -o ! "$params" ]; then - echo "No useable getty and parameters found, exiting." - exit 1 -fi - -echo -n "Putting $mygetty $params into $DDIR ... " -mkdir -p "$DDIR" -ln -s $mygetty "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.create.empty.service deleted file mode 100644 index 9fe748d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.create.empty.service +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR -BASEDIR=./testcinit - - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.get-confdir b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.get-confdir deleted file mode 100644 index a36c52f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.get-confdir +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# 2005-05-24 - -# try environment first -if [ "$CINIT_DIR" ]; then - CONFDIR=$CINIT_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -elif [ -d /etc/cinit ]; then - CONFDIR=/etc/cinit -else - echo Did not find cinit configuration 1>&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.install.binary deleted file mode 100644 index 08004ac7..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.install.binary +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# - - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.install.conf b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.install.conf deleted file mode 100644 index bd6fadc2..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.install.conf +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# - - -. $(dirname $0)/cinit.read-conf - -echo "*** > Currently missing, sorry." - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.install.dir deleted file mode 100644 index a94a9b9b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.install.dir +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install configuration directory -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" $DESTDIR/$PREFIX/$CINIT_DIR diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.mkheader b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.mkheader deleted file mode 100644 index e1f35d07..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.mkheader +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric - no I didn't see an easier way - numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - - [ "$numeric" ] || value="\"$value\"" - - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.read-conf b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.read-conf deleted file mode 100644 index 4263129c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.read-conf +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - eval $NAME="$(head -n 1 $conf)" - eval export $NAME -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.remove.getty deleted file mode 100644 index e7b1a6ad..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.remove.getty +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - - -[ ! "$NUMBER" ] && exit 1 - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r $DDIR -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.0.7/bin/cinit.shutdown deleted file mode 100644 index 49b1dabd..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/cinit.shutdown +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# 2005-05-24 - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -o|--off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -o|--off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.0.7/bin/not-working/cinit.create.service b/software/cinit/browse_source/cinit-0.0.7/bin/not-working/cinit.create.service deleted file mode 100644 index df092275..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/bin/not-working/cinit.create.service +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name (including category)" - echo " I do create a service for you" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -# read input (from gentoo-bug.sh, http://linux.schottelius.org/scripts/#gentoo-bug -reread() -{ - _tmp="" - name="$1" - - while [ ! "$_tmp" ]; do - read -p "$1 [$_tmp]: " _tmp - done - - echo $_tmp -} - - -for svc in $@; do - echo -n "Creating $svc ..." - mkdir -p "${BASEDIR}/${svc}" - cd ${BASEDIR}/${svc} - mkdir -p "${C_WANTS}" "${C_NEEDS}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.7/cinit.h b/software/cinit/browse_source/cinit-0.0.7/cinit.h deleted file mode 100644 index 2a18c76d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/cinit.h +++ /dev/null @@ -1,130 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* limits: will be obsolete in cinit-1.0 */ -#define MAX_SVC 510 /* maximum services - defines size of array - may later be obsoleted */ -#define MAX_DEPS 32 /* maximum direct dependencies of a service */ -#define BUFSIZE 4096 - -/* paths */ -#define C_ONARG C_ON C_PARAMS -#define C_OFFARG C_OFF C_PARAMS -#define C_ONENV C_ON C_ENV -#define C_OFFENV C_OFF C_ENV - -#define SLASH "/" - -#define CINIT_INIT CINIT_DIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK - -/* commands (maximum: 2^8 = 256)*/ -#define CMD_START_SVC 0 -#define CMD_CHG_STATUS 1 -#define CMD_STOP_SVC 2 -#define CMD_KILL_SVC 3 - -#define CMD_RESCUE 251 -#define CMD_INIT 252 - -#define CMD_HALT 253 -#define CMD_REBOOT 254 -#define CMD_POWEROFF 255 - -/* status of a service - DO NOT USE 0! */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ -#define ST_FAIL 4 /* failed to start service */ -#define ST_TMPNOW 5 /* now you are on it - only for clients */ - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* Messages to the outside */ - -#define MSG_ERR_READ "read" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_FORK "fork" -#define MSG_BIND "bind" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_TERMKILL "sigterm" -#define MSG_KILLBILL "sigkill" -#define MSG_INIT_MISS "init dir missing" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" - -struct listitem { - char *abs_path; - int status; - pid_t pid; - struct listitem *before; - struct listitem *after; -}; - - -/* variables */ -extern struct listitem *list; -extern int sock, logfd; - -/* functions (used by server and client) */ -void cerr(char *string, int status); -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -#define LOG(s) mini_printf(s,logfd) - -int do_start_svc(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int run_init_svc(char *cinit_svc); -void sigio(int signal); -void sig_reboot(int signal); -void panic(void); - -/* client / message functions */ -int msg_start_svc(char *svc); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); - -/* listing functions (server only) */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); - - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif diff --git a/software/cinit/browse_source/cinit-0.0.7/client/README b/software/cinit/browse_source/cinit-0.0.7/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.0.7/client/begin_msg.c b/software/cinit/browse_source/cinit-0.0.7/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/client/connect_sock.c b/software/cinit/browse_source/cinit-0.0.7/client/connect_sock.c deleted file mode 100644 index ee2c0467..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/client/connect_sock.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - /******************* begin socket *********************/ - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - perror(MSG_CONNECT); - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/client/exec_svc.c b/software/cinit/browse_source/cinit-0.0.7/client/exec_svc.c deleted file mode 100644 index 9681ba7f..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/client/exec_svc.c +++ /dev/null @@ -1,246 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -pid_t exec_svc(char *abspath, int on) -{ - pid_t pid; - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - pid = fork(); - if( pid == -1 ) { - perror("fork"); - return 0; - } - - /***** PARENT ******/ - if(pid > 0) { - waitpid(pid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return pid; - } - } - D_PRINTF("EXEC SVC FEHLGESCHLAGEN"); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - - if(on) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - D_PRINTF(pathtmp); - - /* readlink retrieves real name, if it is a symlink */ - if ( (tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror("readlink"); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - - if(on) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - tmp++; /* the byte to add to memory for \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - - if(on) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror("open"); - _exit(1); - } - - argc = 0; - - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror("read"); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG("realloc failed"); - _exit(1); - } - - nargv[argc] = sbuf; - *p = '\0'; - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - argc++; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG("realloc failed"); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(on) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* if a file exists, failing to open it is an error */ - if(fd == -1) { - perror("open"); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror("read"); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG("realloc failed"); - _exit(1); - } - - nenv[argc] = sbuf; - *p = '\0'; - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - argc++; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - perror(MSG_ERR_EXECVE); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.0.7/client/kill_svc.c b/software/cinit/browse_source/cinit-0.0.7/client/kill_svc.c deleted file mode 100644 index a2db549f..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/client/kill_svc.c +++ /dev/null @@ -1,104 +0,0 @@ -KOPIE VON RUN_SVC - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * kill service????? - */ -void kill_svc(char *rpath, pid_t pid) -{ - int tmp; - char svc[PATH_MAX], svcparams[PATH_MAX]; - struct stat buf; - - D_PRINTF("starte kill_svc"); - D_PRINTF(rpath); - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - /* FIXME: add log + service name here */ - D_PRINTF("some NEEDED services failed)"); - msg_change_status(abspath, ST_FAIL, 0); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawning"); - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - D_PRINTF("exec_unce"); - pid = exec_svc(abspath); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return 0; - } - - D_PRINTF("Melde status"); - if(!msg_change_status(abspath, tmp, pid) ) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.0.7/client/msg_change_status.c deleted file mode 100644 index 837d87b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -int msg_change_status(char *svc, char status, pid_t pid) -{ - D_PRINTF(svc); - - if(!begin_msg(CMD_CHG_STATUS)) return 0; - - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/client/msg_start_svc.c b/software/cinit/browse_source/cinit-0.0.7/client/msg_start_svc.c deleted file mode 100644 index c1c1da98..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/client/msg_start_svc.c +++ /dev/null @@ -1,18 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -int msg_start_svc(char *svc) -{ - if(!begin_msg(CMD_START_SVC)) return 0; - if(!do_start_svc(sock,svc,ACT_CLIENT)) return 0; - return (int) do_result(sock,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.0.7/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.0.7/client/respawn_svc.c deleted file mode 100644 index 6ac56043..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/client/respawn_svc.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -//#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int status; - int pipefd[2]; -// struct sigaction sa; - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&status,sizeof(status)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /******************** CHILD ********************/ -/* FIXME: add handling for SIGTERM! */ -// sa.sa_handler= ( (void*)(int) ) sig_terminate; -// sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - - status = 1; - if( write(pipefd[1],&status,sizeof(status)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - while( status ) { - D_PRINTF(abspath); - pid = exec_svc(abspath, status); - - waitpid(pid,&status,0); - - if( WIFEXITED(status) ) { - if( WEXITSTATUS(status) ) { /* non-zero exit status */ - /* sleep conf/c_sleep seconds on error exit */ - sleep(SLEEP_SVC); - D_PRINTF("schlecht gestorben"); - } - } else { - sleep(SLEEP_SVC); - D_PRINTF("nicht normal gestorben"); - } - } - - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.0.7/client/run_run_svc.c b/software/cinit/browse_source/cinit-0.0.7/client/run_run_svc.c deleted file mode 100644 index 546f2385..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/client/run_run_svc.c +++ /dev/null @@ -1,91 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG("to many dependencies"); - break; - } - - if(pids[i] == -1) { /* err */ - LOG("fork failed"); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,"/"); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - i++; - } - } - - closedir(d_tmp); - - /* wait for pids */ - i--; /* the index is one too much since last i++ */ - while(i >= 0) { -#ifdef DEBUG - printf("DEBUG: Warte auf %d (%d) ... \n",pids[i],i); -#endif - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } -#ifdef DEBUG - printf("FERTIG: Warte auf %d (%d) ... \n",pids[i],i); -#endif - i--; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/client/run_svc.c b/software/cinit/browse_source/cinit-0.0.7/client/run_svc.c deleted file mode 100644 index 5f436a44..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/client/run_svc.c +++ /dev/null @@ -1,132 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and beforeo all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct timespec ts; - - D_PRINTF(rpath); - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - do { - tmp = msg_start_svc(abspath); /* check status */ - - switch(tmp) { - case 0: /* failed to communicate */ - case ST_FAIL: /* somebody failed, we won't retry */ - D_PRINTF("kaputt"); - return 0; - break; - case ST_TMP: /* someone is working on it */ - D_PRINTF("warten"); - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case ST_RESPAWN: /* somebody does our work */ - D_PRINTF("schon durch"); - return 1; - break; - case ST_TMPNOW: /* we are on it! */ - break; - } - } while(tmp != ST_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - /* FIXME: add log + service name here */ - D_PRINTF("some NEEDED services failed"); - msg_change_status(abspath, ST_FAIL, 0); - return 0; - } - } - - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - D_PRINTF("Starte wants"); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - /*FIXME: check for C_ON, otherwise we are done! */ - - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - tmp = 1; - pid = exec_svc(abspath, tmp); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return 0; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.0.7/client/sig_terminate.c deleted file mode 100644 index adff9748..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/client/sig_terminate.c +++ /dev/null @@ -1,19 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include "cinit.h" -#include - -void sig_terminate(int signal) -{ - char *nargv[2]; - - nargv[0] = SULOGIN; - nargv[1] = NULL; - - execv(SULOGIN,nargv); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.0.7/comm/README b/software/cinit/browse_source/cinit-0.0.7/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.0.7/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.0.7/comm/do_change_status.c deleted file mode 100644 index 08bac734..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/comm/do_change_status.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/comm/do_result.c b/software/cinit/browse_source/cinit-0.0.7/comm/do_result.c deleted file mode 100644 index 69dc9d11..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/comm/do_result.c +++ /dev/null @@ -1,31 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return 0; - } - return *value; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/comm/do_start_svc.c b/software/cinit/browse_source/cinit-0.0.7/comm/do_start_svc.c deleted file mode 100644 index 90b91712..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/comm/do_start_svc.c +++ /dev/null @@ -1,52 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_start_svc(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - D_PRINTF("zu gross"); - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/.README b/software/cinit/browse_source/cinit-0.0.7/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_env b/software/cinit/browse_source/cinit-0.0.7/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_halt b/software/cinit/browse_source/cinit-0.0.7/conf/c_halt deleted file mode 100644 index bc062a2c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the service we should start when 'halting' (system stop, but no -power off). diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_init b/software/cinit/browse_source/cinit-0.0.7/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_needs b/software/cinit/browse_source/cinit-0.0.7/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_off b/software/cinit/browse_source/cinit-0.0.7/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_on b/software/cinit/browse_source/cinit-0.0.7/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_params b/software/cinit/browse_source/cinit-0.0.7/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_poweroff b/software/cinit/browse_source/cinit-0.0.7/conf/c_poweroff deleted file mode 100644 index 273d4bec..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_poweroff +++ /dev/null @@ -1,3 +0,0 @@ -poweroff - -Name of the service we should start, when system power-off is called. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_reboot b/software/cinit/browse_source/cinit-0.0.7/conf/c_reboot deleted file mode 100644 index 17937b4a..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_reboot +++ /dev/null @@ -1,3 +0,0 @@ -reboot - -Name of the service we should start on reboot. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_respawn b/software/cinit/browse_source/cinit-0.0.7/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_sock b/software/cinit/browse_source/cinit-0.0.7/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_tmp b/software/cinit/browse_source/cinit-0.0.7/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.0.7/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.0.7/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/c_wants b/software/cinit/browse_source/cinit-0.0.7/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/cinit_dir b/software/cinit/browse_source/cinit-0.0.7/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/destdir b/software/cinit/browse_source/cinit-0.0.7/conf/destdir deleted file mode 100644 index 8b137891..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/destdir +++ /dev/null @@ -1 +0,0 @@ - diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/getty_dir b/software/cinit/browse_source/cinit-0.0.7/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/install_directory b/software/cinit/browse_source/cinit-0.0.7/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/install_prog b/software/cinit/browse_source/cinit-0.0.7/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/prefix b/software/cinit/browse_source/cinit-0.0.7/conf/prefix deleted file mode 100644 index 580ae0cb..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/prefix +++ /dev/null @@ -1,4 +0,0 @@ -/ - -Where to install cinit. Normally this will be /, but you can put in anywhere. -The subdirectory 'sbin' under this prefix must be reabable by the kernel. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/profile b/software/cinit/browse_source/cinit-0.0.7/conf/profile deleted file mode 100644 index 92fc35ba..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/profile +++ /dev/null @@ -1,5 +0,0 @@ -cprofile= - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile=" is the standard. -Under Linux you specify it to the bootloader like grub or lilo. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/sleep_kill b/software/cinit/browse_source/cinit-0.0.7/conf/sleep_kill deleted file mode 100644 index de1fd006..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/sleep_kill +++ /dev/null @@ -1,5 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.0.7/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/sleep_svc b/software/cinit/browse_source/cinit-0.0.7/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/sock_group b/software/cinit/browse_source/cinit-0.0.7/conf/sock_group deleted file mode 100644 index d4c1adda..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/sock_group +++ /dev/null @@ -1,3 +0,0 @@ -root - -The group, which should own the communication socket. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/sock_mode b/software/cinit/browse_source/cinit-0.0.7/conf/sock_mode deleted file mode 100644 index b2a727b0..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/sock_mode +++ /dev/null @@ -1,3 +0,0 @@ -0770 - -Octal mode of socket. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/sock_queue b/software/cinit/browse_source/cinit-0.0.7/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/sock_user b/software/cinit/browse_source/cinit-0.0.7/conf/sock_user deleted file mode 100644 index 34274f4f..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/sock_user +++ /dev/null @@ -1,3 +0,0 @@ -root - -The one who should own the communication socket. diff --git a/software/cinit/browse_source/cinit-0.0.7/conf/sulogin b/software/cinit/browse_source/cinit-0.0.7/conf/sulogin deleted file mode 100644 index 0e8b13d9..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/conf/sulogin +++ /dev/null @@ -1,3 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it only if we panic(). diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/.buildwarn b/software/cinit/browse_source/cinit-0.0.7/doc/.buildwarn deleted file mode 100644 index 36cddb27..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/.buildwarn +++ /dev/null @@ -1,19 +0,0 @@ -**************************************************************************** -THIS IS A PRE-RELEASE, NOT YET THOUGHT TO BE USED IN PRODUCTIVE ENVIRONMENT! -**************************************************************************** - -First of all configure cinit through the configuration files found in conf/. - -The documentation can be found in doc/, read - - doc/configuring.cinit - -_before_ first use. - -After reading and configuring use: - - "make all" - to build cinit - "make install" - to install cinit - "make install-test" - to install cinit configuration example - -> WARNING: the last make target is highly experiemental and - the installed configuration may not be usable on your system! diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/FAQ b/software/cinit/browse_source/cinit-0.0.7/doc/FAQ deleted file mode 100644 index dd0de5b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/FAQ +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions [Nico Schottelius, 2005-06-05] --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile=home" will use /etc/cinit/home as starting - point. diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/caveats b/software/cinit/browse_source/cinit-0.0.7/doc/caveats deleted file mode 100644 index 54c3d4f2..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/caveats +++ /dev/null @@ -1,53 +0,0 @@ -'Geheimnisse' in German - - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/cinit.commands b/software/cinit/browse_source/cinit-0.0.7/doc/cinit.commands deleted file mode 100644 index 7f606f4c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/cinit.commands +++ /dev/null @@ -1,92 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (uses SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service and its dependencies. - CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell.**) - CMD_INIT: Start all services (again possibly).**) - - CMD_HALT: Halt the system*) - CMD_REBOOT: Reboot the system*) - CMD_POWEROFF: Power-off the system*) - - *) The commands are not and maybe will never be implemented, - as they are realized another way (using signals). - - **) Not yet implemented. - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) ok, a SID, a service ID: int svc_id; [ really need int? ] - b) fail, [currently only fail is returned] - a) already running - b) svc_name too long / not allowed - - [ A service identification is used for faster searching in cinit. - It is also a hint for developers of external software, that they should not - be able to use CMD_CHG_STATUS, if they didn't start a service. - They should use CMD_STOP_SVC to stop a service. - Starting a service is currently done via exec() in the external program or - a cinit-fork(). ] - -CMD1CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_INIT: Start all services (again possibly). - cinit returns: ready... - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/configuring.cinit b/software/cinit/browse_source/cinit-0.0.7/doc/configuring.cinit deleted file mode 100644 index 1723a5e4..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/configuring.cinit +++ /dev/null @@ -1,179 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, Nico Schottelius 2005-05-28 (Last Modified: 2005-06-05) --------------------------------------------------------------------------------- - -0. Pre-compile configuration -1. General configuration layout -2. Hints -2.0 Service executing / parameters -2.1 Daemons -2.2 Logging -2.3 Using prepared scripts -3. Profiles - - -0. Pre-compile configuration - -Have a look at conf/*. Those variable will mostly be used when -compiling cinit. Some will be read later (like destdir). - -1. General configuration layout - -/etc/cinit (configurable via conf/cinit_dir) stores the complete -cinit configuration. - -cinit is service based. -A service consists of - - a base directory (like /etc/cinit/getty/1) - - dependency configuration: - - ./wants - services it wants to be started before (but it - will work anyway) - - ./needs/ - services it needs. If those services fail, this service - won't be started - - - a flag indicating whether to respawn the service: - - ./respawn (simply touch it) - - - the program to run when switching the service on and off: - - ./on (a link to a program or a shell script) - ./on.params (see conf/c_params, the parameters to pass to the program) - ./on.env (see conf/c_env, the environment to pass to the program) - - ./off (call that when shutting down the service) - ./off.params (the parameters to pass to the program) - ./on.env (the environment to pass to the program) - -You should have a look at the samples/ directory for examples. - -If things are missing, cinit will continue with what's available. -This way you only need the files you use. Some examples: - - /etc/cinit/init: - ./wants -> services it wants - ./needs -> services it needs - That's everything - - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it - That's everything, as it has no dependencies - - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn on service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting - - -2. Hints - -2.0 Service executing / parameters - -The on and off files can and should be links to the programs you want -to execute. This way you save yourself loading the big shell (which is -on many Linux systems bash, why so ever, dash does the job as good, still -beeing small). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. The on script -could look like: - - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). - - -2.1 Daemons - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking - ( The following daemons / servers are known to do that easily: - openssh [ssh server]: -D - bind [dns server/caching]: -f - syslogd [log server]: -n - isc-dhcp3 [dhcp server]: -f - qmail [mta]: normal behaviour - tcpserver [super server]: normal behaviour - xinetd [super server]: -dontfork - openvpn [vpn server]: normal behaviour - oops [http proxy]: normal behaviour - frox [ftp proxy]: "NoDetach" in config - proftpd [ftp server]: -n - vsftpd [ftp server]: normal behaviour (or: config: background=no) - distccd [compile server]: normal behaviour - monotone [vcs]: normal behaviour - cupsd [printer server]: -f or -F - mini-lpd [printer server]: normal behaviour - - And those daemons do not offer the possibility (as of release 0.0.6): - - - apache (only with debug mode) - - portmap (only with debug mode) - - inetd (some variants) - ) - - -The other possibility is to use a program, which will - a) start the daemon - b) look into the pidfile of the daemon - c) will then wait until that pid does not exist anymore - d) and then it exits and cinit will restart it (goto a) now) - -Such a program will be included into one of the next cinit releases, -though I do not recommend using it. You should better contact the -authors and make them implement a clean non-forking mode. - - -2.2 Logging - -Currently there's no special logging support. -When programs write to stdout, it will be displayed on -the same stdout cinit is connected to -(we don't even open /dev/console - we are too lazy currently). - - -2.3 Using prepared scripts - -In the bin/ directory of this tarball you'll find: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - - -3. Profiles - -Since cinit-0.0.6 there is profile in cinit. -Profiles are described in doc/profile.support. - -X. Examples - -Todo. - -X.0 Getty -X.1 OpenSSH diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/fun/testing01 b/software/cinit/browse_source/cinit-0.0.7/doc/fun/testing01 deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/fun/testing01 +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/how_it_works_internally b/software/cinit/browse_source/cinit-0.0.7/doc/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/ipc.thoughts b/software/cinit/browse_source/cinit-0.0.7/doc/ipc.thoughts deleted file mode 100644 index 01f8eda5..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/ipc.thoughts +++ /dev/null @@ -1,74 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2), -1024=max fds, -3=already opened (stderr/stdin/stdout), /2= -two fds needed per clients). - -Pipes cannot be use easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR. - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt and - - poweroff. - -Simple send cinit a signal, what to do: - SIGUSR1: reboot - SIGUSR2: poweroff - TERM: halt - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.0.7/doc/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/merging.other.initsystems b/software/cinit/browse_source/cinit-0.0.7/doc/merging.other.initsystems deleted file mode 100644 index a2496e40..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/merging.other.initsystems +++ /dev/null @@ -1,64 +0,0 @@ --------------------------------------------------------------------------------- -Merging other init systems to cinit -Nico Schottelius 2005-06-02 --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not exclude that he accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much -appreciated. - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/meta.dependencies b/software/cinit/browse_source/cinit-0.0.7/doc/meta.dependencies deleted file mode 100644 index f599e37c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/meta.dependencies +++ /dev/null @@ -1,55 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, on would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation. - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -it does not need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/optimising.cinit b/software/cinit/browse_source/cinit-0.0.7/doc/optimising.cinit deleted file mode 100644 index 740fdc85..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/optimising.cinit +++ /dev/null @@ -1,22 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, Nico Schottelius 2005-06-09 (Last Modified: ) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - - diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/porting.to.other.os b/software/cinit/browse_source/cinit-0.0.7/doc/porting.to.other.os deleted file mode 100644 index d19599bb..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.0.7/doc/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/profile.support b/software/cinit/browse_source/cinit-0.0.7/doc/profile.support deleted file mode 100644 index ab35e494..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/profile.support +++ /dev/null @@ -1,46 +0,0 @@ --------------------------------------------------------------------------------- -Profiles -Nico Schottelius 2005-06-04 --------------------------------------------------------------------------------- - -1. What are profiles? -2. How to use profiles? -3. How to configure profiles? - -1. What are profiles? - -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -2. How to use profiles? - -Simply pass 'cprofile=PROFILENAME' (like cprofile=home) to cinit. -How to pass argumenents to cinit? Under Linux the init-system -gets the kernel arguments as arguments. So you can use - - kernel /usr/src/linux/vmlinuz cprofile=work (grub) - append="cprofile=work" (LILO) - -Other Unices should work like Linux, please consult your local -documentation. - -3. How to configure profiles? - -It's very simple: Normally cinit would call /etc/cinit/init as -primary service and solve all dependencies. If you pass -cprofile=wireless to it, cinit will start /etc/cinit/wireless as -primary service instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit; rsync -a init yourprofile - (standard cp will copy the linked files, not the links, that's - why I use rsync) - -That's it! diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/thoughts.closed b/software/cinit/browse_source/cinit-0.0.7/doc/thoughts.closed deleted file mode 100644 index 76f0041c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/thoughts.closed +++ /dev/null @@ -1,24 +0,0 @@ -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - diff --git a/software/cinit/browse_source/cinit-0.0.7/doc/thoughts.open b/software/cinit/browse_source/cinit-0.0.7/doc/thoughts.open deleted file mode 100644 index 5e0a054c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/doc/thoughts.open +++ /dev/null @@ -1,14 +0,0 @@ -- Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. - -- Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. diff --git a/software/cinit/browse_source/cinit-0.0.7/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.0.7/generic/mini_printf.c deleted file mode 100644 index d384e717..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/generic/mini_printf.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print string - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - p = str; - while ( *p != '\0') { - write(fd,p,1); - p++; - } - - write(fd,"\n",1); /* FIXME: only when console */ -} diff --git a/software/cinit/browse_source/cinit-0.0.7/generic/set_signals.c b/software/cinit/browse_source/cinit-0.0.7/generic/set_signals.c deleted file mode 100644 index aa3233b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/generic/set_signals.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - sigaction(SIGUSR2,&sa,NULL); /* USR2 */ - sigaction(SIGQUIT,&sa,NULL); /* QUIT... */ - sigaction(SIGTTIN,&sa,NULL); - sigaction(SIGTTOU,&sa,NULL); - - /* sigio is called to act on the socket */ - if(action == ACT_SERV) { - sa.sa_handler=sigio; - } - sigaction(SIGIO,&sa,NULL); - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } -// sigaction(SIGINT,&sa,NULL); /* FIXME: Testing only: ctr+c = REBOOT!!! */ - sigaction(SIGUSR1,&sa,NULL); - sigaction(SIGTERM,&sa,NULL); - sigaction(SIGHUP,&sa,NULL); - - /* sigstop can't be ignored, do the manpages say */ - /* sigaction(SIGSTOP,&sa,NULL); */ -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/add_mod_svc.c b/software/cinit/browse_source/cinit-0.0.7/old/add_mod_svc.c deleted file mode 100644 index c74778d4..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/add_mod_svc.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * add_svc - * part of cinit - */ - -#include - -#include "cinit.h" - -/* we return the service id or -1 on error*/ -int add_mod_svc(char *svc, char status, pid_t pid) -{ - int tmp = 0; - - /* check if service exists, if so, set new status, return sid */ - tmp = chk_svc(svc); - if( tmp != -1 ) { - svc_list.svca[tmp].status = status; - return tmp; - } - - /* still here? than there is no such service */ - if(svc_list.process < MAX_SVC) { - printf("[%d]: %s (%d)\n",svc_list.process,svc,pid); - svc_list.svca[svc_list.process].abs_path = strdup(svc); - - if(svc_list.svca[svc_list.process].abs_path == NULL) { - LOG("strdup failed!"); - return -1; - } - svc_list.svca[svc_list.process].pid = pid; - /* inkrement later, as we count argv[0..n] */ - (svc_list.process)++; - } else { - LOG("too many services"); - return -1; - } - - /* return _our_ service id */ - return (svc_list.process -1); -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/cerr.c b/software/cinit/browse_source/cinit-0.0.7/old/cerr.c deleted file mode 100644 index b9dec472..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/cerr.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print error to stderr and exist - */ - -#include -#include "cinit.h" - -void cerr(char *string, int status) -{ - char *p; - - p = string; - while ( *p != '\0') { - write(2,p,1); - p++; - } - write(2,"\n",1); - - switch(status) { - case RT_CHLD_FAIL: - case RT_CHLD_OK: - _exit(status); - ;; - case RT_PAR_FAIL: /* FIXME: if status is RT_PAR_FAIL, start sulogin */ - _exit(23); - ;; - case RT_PAR_OK: - return; - ;; - } - -/* FIXME: return if in cinit, _exit on fork() */ -// if(...) -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/cinit.add.shutdown.reboot.poweroff b/software/cinit/browse_source/cinit-0.0.7/old/cinit.add.shutdown.reboot.poweroff deleted file mode 100644 index 23cae705..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/cinit.add.shutdown.reboot.poweroff +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add shutdown/reboot/poweroff service - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -# create halt, link reboot and poweroff to it -mkdir "$BASEDIR/$C_HALT" -ln -s "$C_HALT" "$BASEDIR/$C_REBOOT" -ln -s "$C_HALT" "$BASEDIR/$C_POWEROFF" diff --git a/software/cinit/browse_source/cinit-0.0.7/old/cinit.c01 b/software/cinit/browse_source/cinit-0.0.7/old/cinit.c01 deleted file mode 100644 index e3890013..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/cinit.c01 +++ /dev/null @@ -1,105 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - - -#include - -#define EKEL "/etc/cinit/init/wants" - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/* - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - - /* check if already running / ran / currently starting */ - - /* check for needs -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es, %s\n", pathbuf); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) printf("dir gibt es, %s\n", pathbuf); - - d_tmp = opendir(path); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -int main() -{ - - char buf[256]; - int tmp; - - strcpy(buf,CINIT_DIR); - tmp = strlen(CINIT_DIR); - buf[tmp] = '/'; - strcpy(&buf[tmp+1],C_INIT); - - printf("path: %s\n",buf); - - run_svc("/etc/cinit/init"); - - run_svc("/etc/cinit2/init"); - - run_svc("/NOT_THERE"); - -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/cinit.c02 b/software/cinit/browse_source/cinit-0.0.7/old/cinit.c02 deleted file mode 100644 index 7e5432b4..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/cinit.c02 +++ /dev/null @@ -1,198 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" -#define C_RUN "run" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - -/* wait() */ -#include - -/* strlen */ -#include - -#include - -#define EKEL "/etc/cinit/init/wants" - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/*********************************************************************** - * parallel run forked() run_svc() - */ -#define MAX_PAR 32 - -int run_run_svcs(char *rpath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - pid_t pids[MAX_PAR]; - int tmp,i=0; - - printf("run_run_svcs on: %s\n",rpath); - - d_tmp = opendir(rpath); - - if(d_tmp == NULL) { - printf("Failed to open dir: %s", rpath); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 - || strcmp(tdirent->d_name, "..") == 0) - continue; - - if(i < MAX_PAR) { - pids[i] = fork(); - i++; - } else { - cerr("to many dependencies"); - return 1; - } - - if(pids[i-1] == -1) { /* err */ - cerr("fork failed\n"); - return 0; - } else if(pids[i-1] == 0) { /* child */ - printf("Service zu starten nun: %s\n", tdirent->d_name); - run_svc(tdirent->d_name); - _exit(0); - } else /* the parent simply goes the loop again */ - printf("run_svcs_PARENT\n"); - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { -// printf("waiting for %d ... \n",i); - waitpid(pids[i], &tmp, 0); - i--; - } -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - - char buf[256]; - int tmp; - - strcpy(buf,CINIT_DIR); - tmp = strlen(CINIT_DIR); - buf[tmp] = '/'; - strcpy(&buf[tmp+1],C_INIT); - - printf("path: %s\n",buf); - - run_svc("/etc/cinit/init"); - - run_svc("/NOT_THERE"); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/cinit.c03 b/software/cinit/browse_source/cinit-0.0.7/old/cinit.c03 deleted file mode 100644 index c1b5eb42..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/cinit.c03 +++ /dev/null @@ -1,241 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" -#define C_RUN "run" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - -/* wait() */ -#include - -/* strlen */ -#include - -#include - -#include "cinit.h" - -#define EKEL "/etc/cinit/init/wants" - -/* status of a service */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ - -/* array of svc */ -/* linked list of services */ -/* balanced trees */ -struct svc { - char *abs_path; -// struct svc *next; - int status; /* tmp, respawn, ran once */ - /* evtl: */ -}; - -struct svcl { - struct svc svc_list[1000]; - int process; -} svc_list; - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/*********************************************************************** - * parallel run forked() run_svc() - */ -#define MAX_PAR 32 - -int run_run_svcs(char *rpath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - pid_t pids[MAX_PAR]; - int tmp,i=0; - - printf("run_run_svcs on: %s\n",rpath); - - d_tmp = opendir(rpath); - - if(d_tmp == NULL) { - printf("Failed to open dir: %s", rpath); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 - || strcmp(tdirent->d_name, "..") == 0) - continue; - - if(i < MAX_PAR) { - pids[i] = fork(); - i++; - } else { - cerr("to many dependencies"); - return 1; - } - - if(pids[i-1] == -1) { /* err */ - cerr("fork failed\n"); - return 0; - } else if(pids[i-1] == 0) { /* child */ - printf("Service zu starten nun: %s\n", tdirent->d_name); - run_svc(tdirent->d_name); - _exit(0); - } else /* the parent simply goes the loop again */ - printf("run_svcs_PARENT\n"); - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { -// printf("waiting for %d ... \n",i); - waitpid(pids[i], &tmp, 0); - i--; - } -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* debug */ - getcwd(pathbuf,1024); - - printf("dir: %s\n",pathbuf); - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char pathbuf[MAXPATH]; - struct stat buf; - - strcpy(pathbuf,CINIT_DIR); - strcat(pathbuf,"/"); - strcat(pathbuf,C_INIT); - - printf("path: %s\n",pathbuf); - - svc_list.process = 0; - - /* stat, checkdir */ - if( stat(pathbuf,&buf) ) { - printf("PANIC ACTION: init dir missing\n"); - return 1; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("PANIC ACTION: init is not a dir\n"); - return 1; - } - - if( chdir(pathbuf) == -1) { - printf("PANIC ACTION: chdir(%s) failed!\n",pathbuf); - return 1; - } - run_svc("/etc/cinit/init"); -// run_svc(""); - -// run_svc("/NOT_THERE"); - -// execl("/bin/zsh","zsh", "-l"); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/cinit.c04 b/software/cinit/browse_source/cinit-0.0.7/old/cinit.c04 deleted file mode 100644 index 983c03eb..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/cinit.c04 +++ /dev/null @@ -1,130 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; -int f_in, f_out; - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char pathbuf[PATH_MAX]; - char buf[1223]; - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTP,&sa,NULL); /* ignore ctr+z, stop */ - - D_PRINTF(CINIT_INIT); - - /* count of started processes */ - svc_list.process = 0; - - /* begin to handle signals */ - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* open communication fifos */ - f_in = open(CINIT_DIR SLASH F_IN, O_RDWR); - f_out = open(CINIT_DIR SLASH F_OUT, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed\n",RT_PAR_FAIL); - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; - sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ - sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ - sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* important signal handlers: pipe, child */ -// sa.sa_handler=sig_pipe; -// sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - -// sa.sa_handler=sig_child; -// sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - - /* big TODO: */ - - /* some while/for loop to hang forever, remember, we are init! */ - while(1) { - i=0; - /* read path */ - do { - read(f_in,&buf,1); -// buf1[i] = buf; i++; - } while(buf != '\0'); -// - // printf("Read path: %s\n",buf1); - - i=0; - /* read status */ - do { - read(f_in,&buf,1); - // buf2[i] = buf; i++; - } while(buf != '\0'); - - // status = atoi(buf2); - // printf("Read status: %d\n",status); - - i=0; - /* read pid */ - do { - read(f_in,&buf,1); - // buf3[i] = buf; i++; - } while(buf != '\0'); - - // pid = atoi(buf3); - - - - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/cinit.c05 b/software/cinit/browse_source/cinit-0.0.7/old/cinit.c05 deleted file mode 100644 index 8dec1f46..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/cinit.c05 +++ /dev/null @@ -1,137 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char buf[1223]; - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTOP,&sa,NULL); /* ignore ctr+z, stop */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - - D_PRINTF(CINIT_INIT); - - /* begin to handle signals */ - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* get shared memory */ - - shmfd = shm_open(CINIT_SHM,O_RDWR|O_CREAT,0600); - - if(shmfd == -1) { - perror("Shared memory"); - cerr("shared memory",RT_PAR_FAIL); - } - - /* count of started processes */ - svc_list.process = 0; - - /* open communication fifos */ - f_in = open(CINIT_DIR SLASH F_IN, O_RDWR); - f_out = open(CINIT_DIR SLASH F_OUT, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed",RT_PAR_FAIL); - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; - sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ - sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ - sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* important signal handlers: pipe, child */ -// sa.sa_handler=sig_pipe; - -// sa.sa_handler=sig_child; -// sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - - /* big TODO: */ - - /* some while/for loop to hang forever, remember, we are init! */ - while(1) { - i=0; - /* read path */ - do { - read(f_in,&buf,1); -// buf1[i] = buf; i++; - } while(buf != '\0'); -// - // printf("Read path: %s\n",buf1); - - i=0; - /* read status */ - do { - read(f_in,&buf,1); - // buf2[i] = buf; i++; - } while(buf != '\0'); - - // status = atoi(buf2); - // printf("Read status: %d\n",status); - - i=0; - /* read pid */ - do { - read(f_in,&buf,1); - // buf3[i] = buf; i++; - } while(buf != '\0'); - - // pid = atoi(buf3); - - - - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/cinit.c06 b/software/cinit/browse_source/cinit-0.0.7/old/cinit.c06 deleted file mode 100644 index c48de22c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/cinit.c06 +++ /dev/null @@ -1,158 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; -int sock; - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - struct ucred suck; - int len = sizeof(suck), lens; - int nsock; - struct sockaddr_un sun; - char buf; - - lens=sizeof(sun); - memset(&sun,0,lens); - -/* this is always us! */ -// getsockopt(sock, SOL_SOCKET, SO_PEERCRED, &suck, &len); -// printf("orig angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - do { - //s_tmp[s_idx] = accept(sock,(struct sockaddr *) &sun, (socklen_t *) &lens); - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - // nsock = accept(sock,(struct sockaddr *) &sun, (socklen_t *) &lens); -// if( s_tmp[s_idx] == -1) { - if( nsock == -1) { - if (errno != EAGAIN) { - perror("accept"); - _exit(1); - } else { - break; - } - } - - //getsockopt(s_tmp[s_idx], SOL_SOCKET, SO_PEERCRED, &suck, &len); - getsockopt(nsock, SOL_SOCKET, SO_PEERCRED, &suck, &len); - printf("angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - - read(nsock,&buf,1); - - printf("command: %d\n",buf); - - while ( (len = read(nsock,&buf,1)) ) { -// printf("laenge: %d\n",len); - if(len == -1) { -// if(errno != EINVAL && errno != EAGAIN) { - perror("read"); - return; -// _exit(1); -// } - } - if(buf == 0) break; - write(1,&buf,1); - } - printf("Fertig mit lesen\n"); - - write(nsock,"ok\n",4); - printf("fertig mit schreiben\n"); - } while ( 1 ); - - printf("keine sockets mehr da..., sigio beendet sich jetzt.\n"); -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTOP,&sa,NULL); /* ignore ctr+z, stop */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - sa.sa_handler=sigio; - sigaction(SIGIO,&sa,NULL); /* what todo when data arrived on socket */ - - D_PRINTF(CINIT_INIT); - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* count of started processes */ - svc_list.process = 0; - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; -// sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ -// sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ -// sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* the main loop */ - while(1) ; - -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/cinit.commands.v01 b/software/cinit/browse_source/cinit-0.0.7/old/cinit.commands.v01 deleted file mode 100644 index dfdb67c5..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/cinit.commands.v01 +++ /dev/null @@ -1,85 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (uses SO_PEERCRED as -socketoption). - -The communication-protocol is binary. - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service and its dependencies. - CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_INIT: Start all services (again possibly). - - CMD_HALT: Halt the system. - CMD_REBOOT: Reboot the system. - CMD_POWEROFF: Power-off the system. - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) ok, a SID, a service ID: int svc_id; [ really need int? ] - b) fail, [currently only fail is returned] - a) already running - b) svc_name too long / not allowed - - [ A service identification is used for faster searching in cinit. - It is also a hint for developers of external software, that they should not - be able to use CMD_CHG_STATUS, if they didn't start a service. - They should use CMD_STOP_SVC to stop a service. - Starting a service is currently done via exec() in the external program or - a cinit-fork(). ] - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int svc_id; /* service ID to change */ - 1. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit uncgrafully - UNUSED! respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_INIT: Start all services (again possibly). - cinit returns: ready... - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. diff --git a/software/cinit/browse_source/cinit-0.0.7/old/cinit.create.cinit_dir b/software/cinit/browse_source/cinit-0.0.7/old/cinit.create.cinit_dir deleted file mode 100644 index 6fd58adb..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/cinit.create.cinit_dir +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create our initial directory -# 2005-05-24 - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -mkdir -p $BASEDIR diff --git a/software/cinit/browse_source/cinit-0.0.7/old/cinit.h01 b/software/cinit/browse_source/cinit-0.0.7/old/cinit.h01 deleted file mode 100644 index e07fa2c1..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/cinit.h01 +++ /dev/null @@ -1,80 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ - -/* limits */ -#define MAX_SVC 1024 /* maximum services */ -#define MAX_DEPS 32 /* maximum direct dependencies of a service */ - -/* paths */ -#define CINIT_DIR "/etc/cinit" - -#define F_IN "in" -#define F_OUT "out" -#define SLASH "/" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "./needs" -#define C_WANTS "./wants" -#define C_RUN "./run" -#define C_RESPAWN "respawn" -#define C_PARAMS "params" - -/* return values */ -#define RT_FAIL 0 -#define RT_OK 1 - -#define RT_CHLD_FAIL 1 /* child failed */ -#define RT_CHLD_OK 2 /* child succeded */ -#define RT_PAR_FAIL 3 /* parent failed */ -#define RT_PAR_OK 4 /* parent succeded */ - -/* status of a service-starter (run_run_svc) */ -#define RT_ONE_FAILED 5 /* one ore more failed */ -#define RT_ALL_STARTED 6 /* everything ok */ -#define RT_DEPS_MAX 7 /* too many dependencies */ - -/* status of a service */ -#define ST_NO 0 /* process not existing */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ -#define ST_FAIL 4 /* failed to start service */ - - - -/* variables */ - -/* array of svc */ -/* linked list of services */ -/* balanced trees */ - -struct svc { - char *abs_path; /* service identifier */ - int status; /* tmp, respawn, ran once */ - pid_t pid; /* pid of the process */ -}; - -struct svcl { - struct svc svca[MAX_SVC]; - int process; -}; - -extern struct svcl svc_list; - -/* functions */ - -void cerr(char *string, int status); -int chk_svc(char *svc); -int run_svc(char *rpath); -int add_mod_svc(char *svc, int status); -int run_run_svcs(char *rpath); - diff --git a/software/cinit/browse_source/cinit-0.0.7/old/cnt_digits.c b/software/cinit/browse_source/cinit-0.0.7/old/cnt_digits.c deleted file mode 100644 index a692fa5c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/cnt_digits.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* this code is stolen from gpm */ - -/* what's the english name for potenz ? */ -int x_high_y(int base, int pot_y) -{ - int val = 1; - - if(pot_y == 0) val = 1; - else if(pot_y < 0) val = 0; /* ugly hack ;) */ - else while(pot_y > 0) { - val = val * base; - pot_y--; - } - return val; -} - -/* return characters needed to display int */ -int cnt_digits(int number) -{ - /* 0-9 = 1 10^0 <-> (10^1)-1 - * 10 - 99 = 2 10^1 <-> (10^2)-1 - * 100 - 999 = 3 10^2 <-> (10^3)-1 - * 1000 - 9999 = 4 ... */ - - int ret = 0, num = 0; - - /* non negative, please */ - if(number < 0) number *= -1; - else if(number == 0) ret = 1; - else while(number > num) { - ret++; - num = (x_high_y(10,ret) - 1); - } - - return(ret); -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/do_change_status.c01 b/software/cinit/browse_source/cinit-0.0.7/old/do_change_status.c01 deleted file mode 100644 index 74bb9c1e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/do_change_status.c01 +++ /dev/null @@ -1,65 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - char buf = CMD_CHG_STATUS; - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - D_PRINTF("VERSUCHE STATUS ZU AENDERN"); - printf("socket: %d (cmd=%d)\n",sock2, buf); - - if(action == ACT_READ) { - D_PRINTF("Leeeese"); - fpoint = read; - } else { - D_PRINTF("schreibe"); - fpoint = write; /* don't care about warnings! */ - } - - if(action == ACT_WRITE) { - D_PRINTF("schreibe kommando"); - if(fpoint(sock2,&buf,1) == -1) { /* COMMAND */ - perror("command i/o"); - return 0; - } - tmp = strlen(svc); - sock2 = connect_sock(sock2); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror("i/o: length"); - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror("i/o: service name"); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror("i/o: status"); - printf("Status: %d, *status=%d, sizeof=%d\n",status,*status,sizeof(*status)); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror("i/o: PID"); - return 0; - } - - D_PRINTF("fertig mit statuswechsel lesen"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/idea01 b/software/cinit/browse_source/cinit-0.0.7/old/idea01 deleted file mode 100644 index cf0df9d6..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/idea01 +++ /dev/null @@ -1,121 +0,0 @@ --------------------------------------------------------------------------------- -/etc/cinit - -> init/ - -> shutdown/ - -> reboot/ - - - needs/ -> we wait until all parallel processes are finished _and_ we - don't start if one fails - wants/ -> we start all of them parallel and wait for them? - hold/ - wait -> wait until process finished - run -> program to execute - params -> \n seperated argument list - respawn -> respawn it - -services may only be under /etc/cinit? --------------------------------------------------------------------------------- -Service-Status: - -- abs_path -- status (respawn,tmp,once) --------------------------------------------------------------------------------- - -starting services: - -run_svc("/etc/cinit/service/") - -> exec run $params -Later: - -> check if service already running -> return OK - -> check needs/ -> check wants/ - -> run_svc($cur) - - When run_svc returns, the service is started and all service it needs, too. - - --------------------------------------------------------------------------------- - -> check needs/ - -> exists -> fork( run_run_svcs() ) and continue - (fork) -> fork() run_svc(needs/*); - -> check wants/ - -> exists -> run_svc(wants/*); - -> waitfor(need_run_svc) --------------------------------------------------------------------------------- -run_run_svcs() - -> start parallel (forked) run_svc() for every service --------------------------------------------------------------------------------- - -main() - - run_svc /etc/cinit/init/ - - sleep()? -> simply do nothing -> do we need to fork ourselves? No, we are init. -spaeter: - - open /dev/console W_ONLY - - make stdin == /etc/cinit/in - - make stdout, stderr /dev/console - --------------------------------------------------------------------------------- -eof - -Things, which are clear - -- we need to fork before execl(), as excel() replaces us. -- chdir() _after_ fork() - - -profiles support: profile=$profile - - start - "service.$profile" if exists, instead of - "service" - -starting services: - -cinit: - pipe() - set_status_tmp() - fork() --> failure --> clear_service - cinit_process_watcher(): - fork() - execve(process,args,env) - waitpid() -> for once? PROCESS MUST RETURN! - write_pipe() - rmpipe() - --------------------------------------------------------------------------------- - -What to send over to cinit and read back? - - - first you need two pipes for every process: read+write (on both sides) - - cinit wants - o command - - service temporary - trying to start in right now. - - service executed once - fine - - service executed once and that failed - :-( - - service respawing - o an identifier for the service (i from service list ;-) - - --> makes 2 bytes to read --------------------------------------------------------------------------------- -How cinit works: - -cinit says: I want to start service xyz. (/etc/cinit/init on bootup) -cinit calls run_svc(). --------------------------------------------------------------------------------- - -run_svc(char *relative_path): - - check if service is alr - - fork() - - write cinit: check service, I want to start it - -> returns status of service (see ST_* in cinit.h) - - cinit returns: ok, you are temporary - - [that checked] check if service - o is already started - o is beeing started - x check if rpath S_ISDIR - x chdir(dir) - - check needs - check wants - - for every needs/* start run_svc - - check respawn -> respawn = true - - check run - diff --git a/software/cinit/browse_source/cinit-0.0.7/old/idea02 b/software/cinit/browse_source/cinit-0.0.7/old/idea02 deleted file mode 100644 index 38af8965..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/idea02 +++ /dev/null @@ -1,200 +0,0 @@ --------------------------------------------------------------------------------- -/etc/cinit - -> init/ - -> shutdown/ - -> reboot/ - - - needs/ -> we wait until all parallel processes are finished _and_ we - don't start if one fails - wants/ -> we start all of them parallel and wait for them? - hold/ - wait -> wait until process finished - run -> program to execute - params -> \n seperated argument list - respawn -> respawn it - -services may only be under /etc/cinit? --------------------------------------------------------------------------------- -Service-Status: (see struct svc, cinit.h) - -- abs_path -- status (respawn,tmp,once) -- pid - -abs_path\0status\0pid\0 - --------------------------------------------------------------------------------- - -starting services: - -run_svc("/etc/cinit/service/") - -> exec run $params -Later: - -> check if service already running -> return OK - -> check needs/ -> check wants/ - -> run_svc($cur) - - When run_svc returns, the service is started and all service it needs, too. - - --------------------------------------------------------------------------------- - -> check needs/ - -> exists -> fork( run_run_svcs() ) and continue - (fork) -> fork() run_svc(needs/*); - -> check wants/ - -> exists -> run_svc(wants/*); - -> waitfor(need_run_svc) --------------------------------------------------------------------------------- -run_run_svcs() - -> start parallel (forked) run_svc() for every service --------------------------------------------------------------------------------- - -main() - - run_svc /etc/cinit/init/ - - sleep()? -> simply do nothing -> do we need to fork ourselves? No, we are init. -spaeter: - - open /dev/console W_ONLY - - make stdin == /etc/cinit/in - - make stdout, stderr /dev/console - --------------------------------------------------------------------------------- -eof - -Things, which are clear - -- we need to fork before execl(), as excel() replaces us. -- chdir() _after_ fork() - - -profiles support: profile=$profile - - start - "service.$profile" if exists, instead of - "service" - -starting services: - -cinit: - pipe() - set_status_tmp() - fork() --> failure --> clear_service - cinit_process_watcher(): - fork() - execve(process,args,env) - waitpid() -> for once? PROCESS MUST RETURN! - write_pipe() - rmpipe() - --------------------------------------------------------------------------------- - -What to send over to cinit and read back? - - - first you need two pipes for every process: read+write (on both sides) - - cinit wants - o command - - service temporary - trying to start in right now. - - service executed once - fine - - service executed once and that failed - :-( - - service respawing - o an identifier for the service (i from service list ;-) - - --> makes 2 bytes to read --------------------------------------------------------------------------------- -How cinit works: - -cinit says: I want to start service xyz. (/etc/cinit/init on bootup) -cinit calls run_svc(). --------------------------------------------------------------------------------- - -int run_svc(char *relative_path): - - check if service is already running or temporary (task list!) - -> yes: return RT_PAR_OK - -> no: continue. - - set service to be temporary (ST_TMP) and retrieve SID (service ID) - - walk through dependency tree and call run_svc - - fork() -> so cinit can continue. - - write cinit: check service, I want to start it - -> returns status of service (see ST_* in cinit.h) - - cinit returns: ok, you are temporary - - [that checked] check if service - o is already started - o is beeing started - x check if rpath S_ISDIR - x chdir(dir) - - check needs - check wants - - for every needs/* start run_svc - - check respawn -> respawn = true - - check run - --------------------------------------------------------------------------------- - -add_mod_svc(char *svc, int status) - -> add or modify status of a service - - - check whether service exists, reset status - - if not exists, insert if maximum of services is not reached --------------------------------------------------------------------------------- - -cinit communications proto --------------------------------------------------------------------------------- - -cinit: - -> signal_handler on SIGCHLD - run_init() - -> run_svc(init) - -> fork() -> do the work - -signal_handler_child - waitpid(.*) - -> returns pid - - oder waitpid() in dem run_svc, wenn need/once? - - need: - for i in need/*; do - ( $service & ); - done - wait(.*); - --------------------------------------------------------------------------------- - -cinit: - -run_svc: - checks what it needs (need/*) - need/* - fork() - fork(), fork() - --------------------------------------------------------------------------------- -Kommunikationsproblem: - - -> 1024 ist maximale anzahl offener sockets -> 510 von fifos,pipes - - mehrere FIFOs? - --> kommunikation gesichert, extrem viele fifos... - --> etwas unsauber, aber geregelte kommunikation - - mehrere PIPEs? - --> viele PIPEs (HRHR) - --> programme koennen nur von cinit gefork()ed werden. - - --> eine datei mit prozessen? - --> einen RAM Bereich? --------------------------------------------------------------------------------- - -cinit[1] <-> fifo <-> forker - -forker? --------------------------------------------------------------------------------- - -pfad vorher aufloesen? - --------------------------------------------------------------------------------- -Kommunikation: ::Test:: - - Test mit nur 2 FIFOs! - --------------------------------------------------------------------------------- - -sig_fifo() -read(..) als hauptaufgabe? diff --git a/software/cinit/browse_source/cinit-0.0.7/old/msg_change_status.c01 b/software/cinit/browse_source/cinit-0.0.7/old/msg_change_status.c01 deleted file mode 100644 index cfd66ae3..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/msg_change_status.c01 +++ /dev/null @@ -1,49 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include - -#include "cinit.h" - -int do_change_status(char *svc, char status, pid_t pid, int action) -{ - char buf = CMD_CHG_STATUS; - int tmp = strlen(svc); - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_READ) - fpoint = read; - else - fpoint = write; - - D_PRINTF("versuche status zu aendern"); - - if(write(sock,&buf,1) == -1) { /* write COMMAND */ - perror("write"); - return 0; - } - if(write(sock,&tmp,sizeof(tmp)) == -1) { /* write length */ - perror("write"); - return 0; - } - if(write(sock,svc,tmp) == -1) { /* write service name */ - perror("write"); - return 0; - } - if(write(sock,&buf,1) == -1) { /* write PID */ - perror("write"); - return 0; - } - write(sock,&status,sizeof(status)); /* write status */ - - D_PRINTF("fertig mit schreiben"); - - read(sock,&buf,sizeof(buf)); /* read SID or -1 if error */ - - return buf; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/msg_start_svc.c b/software/cinit/browse_source/cinit-0.0.7/old/msg_start_svc.c deleted file mode 100644 index c6a78bf8..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/msg_start_svc.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit we start a service - */ - -#include - -/* return status */ -int msg_start_svc(char *string, int respawn) -{ - char *p; - - p = string; - while ( *p != '\0') { - write(2,p,1); - p++; - } - -/* FIXME: return if in cinit, _exit on fork() */ -// if(...) - _exit(status); -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/read_file.c b/software/cinit/browse_source/cinit-0.0.7/old/read_file.c deleted file mode 100644 index 43a5854b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/read_file.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - - -#include "cinit.h" - -/*********************************************************************** - * read_file: return file content, each line a char* - */ - -char **read_file(char *file) -{ - int tmp; - int fd, argc; - - char buf[BUFSIZE]; - char *p, *sbuf = NULL; - char **nargv = NULL; - - struct stat stbuf; - - D_PRINTF("Lese Datei"); - D_PRINTF(file); - - if( !stat(file,&stbuf) ) { - fd = open(file,O_RDONLY); - - if(fd == -1) { - LOG("params exists, but open params failed"); - return NULL; - } - - D_PRINTF("open ist ok"); - - argc = 0; - - /* most likely one round */ - while ( (tmp = read(fd,buf,BUFSIZE) ) != 0 ) { - if(tmp == -1) { - perror("read"); - return NULL; - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],buf,tmp); - argc += tmp; - } - close(fd); - } - - sbuf[argc] = '\0'; - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() */ - - argc = 0; - - while( (p = strchr(sbuf,'\n')) ) { - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG("realloc failed"); - return NULL; - } - - nargv[argc] = sbuf; - *p = '\0'; - sbuf = p+1; /* is ok, as behind the last \n is a \0 */ - argc++; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - if(nargv == NULL) { - LOG("realloc failed"); - return NULL; - } - - nargv[argc] = NULL; /* terminate argv list */ - - return nargv; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/run_init_svc.c01 b/software/cinit/browse_source/cinit-0.0.7/old/run_init_svc.c01 deleted file mode 100644 index 61467f44..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/run_init_svc.c01 +++ /dev/null @@ -1,50 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * start the first service - */ - -int run_init_svc() -{ - pid_t pid; - - D_PRINTF("Starte initialen starter"); - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror("fork failed\n"); - return RT_PAR_FAIL; - } else if(pid == 0) { /* child */ - /* close fifo */ - close(f_in); close(f_out); - - /* open the other way round */ - f_in = open(CINIT_DIR SLASH F_OUT, O_RDWR); - f_out = open(CINIT_DIR SLASH F_IN, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed\n",RT_CHLD_FAIL); - - /* open stderr, stdin, stdout to files? */ - if ( run_svc(CINIT_INIT) == RT_CHLD_OK) - _exit(EX_OK); - else - _exit(EX_FAIL); - } else - return RT_PAR_OK; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c00 b/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c00 deleted file mode 100644 index ff3bb989..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c00 +++ /dev/null @@ -1,140 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp, sid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - close(sock); /* close old socket connection, we are a fork()! */ - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - tmp = sizeof(addr); - memset(&addr,0,tmp); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - /* FIXME: why do we need tmp????? ... tmp == 1 is wrong!*/ -/* tmp = 1; - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } */ - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - D_PRINTF("some NEEDED services failed)"); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - tmp = ST_ONCE; - sid = 20; - D_PRINTF("Melde status"); - if(!do_change_status(abspath,&tmp,&sid,sock,ACT_WRITE)) { - D_PRINTF("Status nicht gemeldet :((((((((((("); - return 0; - } - D_PRINTF("Status abgesetzt"); - -/* if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - if(respawn_svc(abspath)) { - msg_change_status(sid,ST_RESPAWN); - } else { - D_PRINTF("error in respawn"); - msg_change_status(sid,ST_FAIL); - } - } else { - D_PRINTF("einmal ausfuehren"); - if(exec_svc(abspath)) { - msg_change_status(sid,ST_ONCE); - } else { - D_PRINTF("error einmalig"); - msg_change_status(sid,ST_FAIL); - } - } */ -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c01 b/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c01 deleted file mode 100644 index e7457af0..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c01 +++ /dev/null @@ -1,292 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* perhaps move this code to cinit-static, so it's constant */ - while(tmp < svc_list.process) { - printf("%d\n",tmp); - - if( ! strcmp(rpath,svc_list.svca[tmp].abs_path) ) { - printf("Service im Array\n"); - return 0; - } - tmp++; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* check for respawn? */ - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* debug */ - getcwd(pathbuf,1024); - - printf("dir: %s\n",pathbuf); - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c02 b/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c02 deleted file mode 100644 index 7fb329b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c02 +++ /dev/null @@ -1,282 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* perhaps move this code to cinit-static, so it's constant */ - while(tmp < svc_list.process) { - printf("%d\n",tmp); - - if( ! strcmp(rpath,svc_list.svca[tmp].abs_path) ) { - printf("Service im Array\n"); - return 0; - } - tmp++; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* check for respawn? */ - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c03 b/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c03 deleted file mode 100644 index 9422a7c9..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c03 +++ /dev/null @@ -1,283 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_in[2], p_out[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* create communication pipe */ - if ( pipe(p_in) == -1 || pipe(p_out) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - - /* check for respawn? yes, sometime... */ - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - -beof - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c04 b/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c04 deleted file mode 100644 index 727aa71f..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c04 +++ /dev/null @@ -1,297 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid == -1) { - cerr("fork failed\n", RT_PAR_FAIL); - } else if(pid > 0) { /* parent gets child's PID */ - - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - printf("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - - /* check for needs */ - - /* do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcat(pathtmp,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - pid = fork(); - if(tmp == -1) { - cerr("error ...\n", RT_PAR_FAIL); - } else if(tmp == 0) { - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,rpath); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c05 b/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c05 deleted file mode 100644 index 927a9261..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c05 +++ /dev/null @@ -1,294 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid == -1) { - cerr("fork failed\n", RT_PAR_FAIL); - } else if(pid > 0) { /* parent gets child's PID */ - - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - printf("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c05.2 b/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c05.2 deleted file mode 100644 index 90d94b65..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c05.2 +++ /dev/null @@ -1,320 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* end socket *********************/ - - sid = msg_start_svc(rpath); /* now we are temporary */ - if(sid == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - return 0; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - msg_change_status(sid,ST_FAIL); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - msg_change_status(sid,ST_FAIL); - return 0; - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - /* clone */ - pid = fork(); - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - return 0; - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /*************** THIS BLOCK IS CRAP ******************/ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - msg_change_status(sid,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - msg_change_status(sid,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - /* FIXME: MISSING: - - signal handling (stop respawing) - - waitpid() in while(1) - */ - _exit(0); /* FIXME !!! */ - - /*************** END THIS BLOCK IS CRAP ******************/ - - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - - /*********** CHILD EXECUTION HERE ***********/ - do { - - - } while(respawn); - - - - /* change to service dir */ - if( chdir(rpath) == -1) { - /* FIXME: errno! */ - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c06 b/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c06 deleted file mode 100644 index 7dd265fc..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c06 +++ /dev/null @@ -1,293 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("Fehler"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - msg_start_svc(rpath); - D_PRINTF("in runsvc"); - _exit(0); - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc_client(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return ; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - /* FIXME: pay attention: we are possibly also a fork()! */ - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid > 0) { /* parent gets child's PID */ - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c07 b/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c07 deleted file mode 100644 index e62eff54..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c07 +++ /dev/null @@ -1,304 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - _exit(1); - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - _exit(1); - } - - tmp = msg_start_svc(rpath); /* now we are temporary */ - - D_PRINTF("in runsvc"); - - if(tmp == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - _exit(1); - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - pid = fork(); - /* pay attention: we are also a fork()! */ - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - _exit(1); - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c08 b/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c08 deleted file mode 100644 index 587e13e2..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c08 +++ /dev/null @@ -1,316 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - /* FIXME: cerr */ - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - _exit(1); - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - _exit(1); - } - - sid = msg_start_svc(rpath); /* now we are temporary */ - - D_PRINTF("in runsvc"); - - if(sid == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - _exit(1); - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - pid = fork(); - /* pay attention: we are also a fork()! */ - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - _exit(1); - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /*************** THIS BLOCK IS CRAP ******************/ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - msg_change_status(sid,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - msg_change_status(sid,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - /* FIXME: MISSING: - - signal handling (stop respawing) - - waitpid() in while(1) - */ - _exit(0); /* FIXME !!! */ - - /*************** END THIS BLOCK IS CRAP ******************/ - - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - /* FIXME: errno! */ - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c09 b/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c09 deleted file mode 100644 index ff3bb989..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/run_svc.c09 +++ /dev/null @@ -1,140 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp, sid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - close(sock); /* close old socket connection, we are a fork()! */ - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - tmp = sizeof(addr); - memset(&addr,0,tmp); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - /* FIXME: why do we need tmp????? ... tmp == 1 is wrong!*/ -/* tmp = 1; - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } */ - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - D_PRINTF("some NEEDED services failed)"); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - tmp = ST_ONCE; - sid = 20; - D_PRINTF("Melde status"); - if(!do_change_status(abspath,&tmp,&sid,sock,ACT_WRITE)) { - D_PRINTF("Status nicht gemeldet :((((((((((("); - return 0; - } - D_PRINTF("Status abgesetzt"); - -/* if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - if(respawn_svc(abspath)) { - msg_change_status(sid,ST_RESPAWN); - } else { - D_PRINTF("error in respawn"); - msg_change_status(sid,ST_FAIL); - } - } else { - D_PRINTF("einmal ausfuehren"); - if(exec_svc(abspath)) { - msg_change_status(sid,ST_ONCE); - } else { - D_PRINTF("error einmalig"); - msg_change_status(sid,ST_FAIL); - } - } */ -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/sig_chld.c b/software/cinit/browse_source/cinit-0.0.7/old/sig_chld.c deleted file mode 100644 index e452f570..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/sig_chld.c +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* we are called, when a child exited */ -void sig_chld(int status) -{ - int pstat, i = 0; - pid_t pid; - - /* get pid of child and its status */ - pid = waitpid(chpid,&pstat,0); - - /* the child was either a respawed or once running process */ - - while(i < svc_list.process) { - if(pid == svc_list.svca[i].pid) { /* found service */ - - } - i++; - } - - if( WIFEXITED(pstat) ) printf("Kind gut gestorben\n"); - - printf("kind tot %d ...\n", status); -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/sig_special.c b/software/cinit/browse_source/cinit-0.0.7/old/sig_special.c deleted file mode 100644 index 6152f515..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/sig_special.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called by signal to reboot - */ - -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_special - * react on special signals: - o SIGINT: ctrl + alt + del - o SIGWINCH: keyboard request - */ - -void sig_special(int signal) -{ - /* not used */ -} diff --git a/software/cinit/browse_source/cinit-0.0.7/old/sigio.c01 b/software/cinit/browse_source/cinit-0.0.7/old/sigio.c01 deleted file mode 100644 index 4e1ee482..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/old/sigio.c01 +++ /dev/null @@ -1,73 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - struct ucred suck; - int len, lens, nsock; - struct sockaddr_un sun; - char buf; - - D_PRINTF("sigio() startet"); - - do { - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - if( nsock == -1) { - if (errno != EAGAIN) { - perror("accept"); - _exit(1); - } else { - break; - } - } - - //getsockopt(s_tmp[s_idx], SOL_SOCKET, SO_PEERCRED, &suck, &len); - getsockopt(nsock, SOL_SOCKET, SO_PEERCRED, &suck, &len); - printf("angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - - read(nsock,&buf,1); - - printf("command: %d\n",buf); - - while ( (len = read(nsock,&buf,1)) ) { -// printf("laenge: %d\n",len); - if(len == -1) { -// if(errno != EINVAL && errno != EAGAIN) { - perror("read"); - return; -// _exit(1); -// } - } - if(buf == 0) break; - write(1,&buf,1); - } - printf("Fertig mit lesen\n"); - - write(nsock,"ok\n",4); - printf("fertig mit schreiben\n"); - } while ( 1 ); - - printf("keine sockets mehr da..., sigio beendet sich jetzt.\n"); -} - - diff --git a/software/cinit/browse_source/cinit-0.0.7/samples/README b/software/cinit/browse_source/cinit-0.0.7/samples/README deleted file mode 100644 index 21532d87..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/samples/README +++ /dev/null @@ -1,5 +0,0 @@ -There is currently only one sample (debian.tar). - -The others are only linked to it, because the multi-distribution -support is already included into bin/cinit.install.test. - diff --git a/software/cinit/browse_source/cinit-0.0.7/samples/debian.tar b/software/cinit/browse_source/cinit-0.0.7/samples/debian.tar deleted file mode 100644 index 3e68759b..00000000 Binary files a/software/cinit/browse_source/cinit-0.0.7/samples/debian.tar and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.0.7/samples/fedora.tar b/software/cinit/browse_source/cinit-0.0.7/samples/fedora.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/samples/fedora.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.7/samples/gentoo.tar b/software/cinit/browse_source/cinit-0.0.7/samples/gentoo.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/samples/gentoo.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.7/samples/mandrake.tar b/software/cinit/browse_source/cinit-0.0.7/samples/mandrake.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/samples/mandrake.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.7/samples/suse.tar b/software/cinit/browse_source/cinit-0.0.7/samples/suse.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/samples/suse.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.7/serv/chk_svc.c b/software/cinit/browse_source/cinit-0.0.7/serv/chk_svc.c deleted file mode 100644 index bdc73c31..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/serv/chk_svc.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * chk_svc: check whether service exists - * part of cinit - */ - -#include -#include "cinit.h" - -/* we are called from sigio */ -/* return SID, if service exists, else -1 */ -int chk_svc(char *svc) -{ - int tmp = 0; - - while(tmp < svc_list.process) { - if( ! strcmp(svc,svc_list.svca[tmp].abs_path) ) { - return tmp; - } - tmp++; - } - return -1; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/serv/cinit.c b/software/cinit/browse_source/cinit-0.0.7/serv/cinit.c deleted file mode 100644 index d7817cfe..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/serv/cinit.c +++ /dev/null @@ -1,158 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include -#include - -#include /* nanosleep */ - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock, logfd; - -/*********************************************************************** - * the main procedure - */ - -int main(int argc, char **argv) -{ - struct stat sbuf; - pid_t pid; - struct sockaddr_un addr; - struct timespec ts; - char *initdir; - - set_signals(ACT_SERV); /* set signal handlers */ - logfd = 1; /* write to stdout */ - list = NULL; /* list of services is empty currently */ - - initdir = CINIT_INIT; - - /* profile support */ - while(argc) { - D_PRINTF(argv[argc-1]); - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - D_PRINTF(initdir); - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - perror(MSG_INIT_MISS); - panic(); - } - if( ! S_ISDIR(sbuf.st_mode) ) { - LOG(MSG_NOT_DIR); - panic(); - } - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - /* tell the socket, _we_ want to get SIGIO! */ - pid = getpid(); - if(fcntl(sock,F_SETOWN,pid) == -1) { - perror(MSG_FCNTL); - panic(); - } - - /* O_SYNC: SIGIO will be called, O_NONBLOCK: don't block cinit */ - if ( fcntl(sock,F_SETFL,O_ASYNC|O_NONBLOCK) == -1) { - perror(MSG_FCNTL); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - /******************** end socket **********************/ - - /* initial run, only if we are 'real' init': not needed */ -// if( pid == 1) { -// if(! run_init_svc() ) { -// panic(); -// } -// } - - run_init_svc(initdir); - free(initdir); - - D_PRINTF("fertig gestartet"); - - /* calculate biggest value */ - ts.tv_sec = -1; - if(ts.tv_sec < 0) { - ts.tv_sec = 1 << ((sizeof(ts.tv_sec) * 8)-1); - ts.tv_sec = ts.tv_sec - 1; - } - while(1) { - nanosleep(&ts,NULL); - } -} diff --git a/software/cinit/browse_source/cinit-0.0.7/serv/list.c b/software/cinit/browse_source/cinit-0.0.7/serv/list.c deleted file mode 100644 index 3bb29b06..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/serv/list.c +++ /dev/null @@ -1,97 +0,0 @@ -/* (c) 2005 by Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * list handling: the processes cinit will execute/executed - * part of cinit - * changed some formatting, Nico Schottelius - */ - -#include -#include -#include "cinit.h" - - -int list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc( sizeof(struct listitem) ); - - if( tmp == NULL ) { - return 0; - } - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members, add this one */ - tmp->after = list; /* after the new element comes the begin */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first element has us as previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if( list == NULL ) { /* think positive */ - return NULL; - } else { - tmp = list->before; - } - - do { - if(!strcmp(path, tmp->abs_path)) - return tmp; - tmp = tmp->before; - } while(tmp != list); - - return NULL; -} - -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->after->before = tmp->before; - tmp->before->after = tmp->after; - free(tmp->abs_path); - free(tmp); - return 1; -} - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if( tmp == NULL ) { - D_PRINTF("nix zu aendern da"); - return 0; - } - tmp->status = new_status; - tmp->pid = new_pid; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.7/serv/panic.c b/software/cinit/browse_source/cinit-0.0.7/serv/panic.c deleted file mode 100644 index a130945f..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/serv/panic.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * panic: if cinit fails, start sulogin - * part of cinit - */ - -#include "cinit.h" -#include - -void panic(void) -{ - char *nargv[2]; - - nargv[0] = SULOGIN; - nargv[1] = NULL; - - /* FIXME: perhaps fork before? And return to standard after? */ - execv(SULOGIN,nargv); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.0.7/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.0.7/serv/run_init_svc.c deleted file mode 100644 index 8a405a70..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/serv/run_init_svc.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - int status; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - logfd = 1; /* FIXME: shouldn't this be some kind of log, like /dev/log? */ - set_signals(ACT_CLIENT); - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ?*/ - if ( run_svc(cinit_svc) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - waitpid(pid, &status,0); - - /* return to init what happened */ - if(WIFEXITED(status)) { - return (! WEXITSTATUS(status) ); - } else { - return 0; - } - } -} diff --git a/software/cinit/browse_source/cinit-0.0.7/serv/sig_reboot.c b/software/cinit/browse_source/cinit-0.0.7/serv/sig_reboot.c deleted file mode 100644 index d362f3c1..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/serv/sig_reboot.c +++ /dev/null @@ -1,136 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called by signal to reboot - */ - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void sig_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - D_PRINTF("sig_reboot() startet"); - - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - D_PRINTF("Bringing down respawn watcher"); - kill(tmp->pid,SIGTERM); - } - - /* execute shutdown service */ - D_PRINTF("Executing off-service"); - exec_svc(tmp->abs_path,0); - tmp = tmp->before; - } while( tmp != list ); - - /* Let's disappear */ - close(sock); - if(umount(CINIT_TMNT) == -1) { - perror("umount"); - } - - /* now: all services are down, lets kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - D_PRINTF("SIGTERM GESENDET"); - - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - /* now: we are completly alone. umount everything, go to bed */ - - /* sync data to disk */ - sync(); - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ - -#define CMD_CNT 5 -#define SWAP_OFF_CMD "/sbin/swapoff" -#define SWAP_OFF_ARG1 "-a" - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-a" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { -// cmd[0] = (char *) malloc(strlen(SWAP_OFF_CMD) +1); -// cmd[1] = (char *) malloc(strlen(SWAP_OFF_CMD) +1); - /* /sbin/swapoff -a */ - cmd[0] = SWAP_OFF_CMD; - cmd[1] = SWAP_OFF_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG2; - cmd[3] = MOUNT_ARG3; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } - - switch(signal) { - case SIGUSR1: /* halt */ - reboot(RB_HALT_SYSTEM); - break; - case SIGTERM: /* power off */ - reboot(RB_POWER_OFF); - break; - case SIGHUP: /* reboot */ - reboot(RB_AUTOBOOT); - break; - } - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.0.7/serv/sigio.c b/software/cinit/browse_source/cinit-0.0.7/serv/sigio.c deleted file mode 100644 index 9c292c35..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/serv/sigio.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - do { - /* create new socket */ - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - if( nsock == -1) { - if( errno != EAGAIN ) { /* report, but don't panic */ - perror("accept"); - } - return; - } - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_start_svc(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - D_PRINTF("Service schon da"); - buf[0] = list_tmp->status; - do_result(nsock,&buf[0]); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG("Adding service failed!"); - buf[0] = 0; - do_result(nsock,&buf[0]); - } else { - buf[0] = ST_TMPNOW; - do_result(nsock,&buf[0]); - } - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - - if(!tmp) break; - - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - D_PRINTF("**** MOD.ERR ***"); - buf[0] = 0; - } else { - buf[0] = 1; - } - do_result(nsock,buf); - break; - - default: - LOG("Unknown command!"); - break; - } - close(nsock); - } while ( 1 ); - - D_PRINTF("ENDE:SIGIO"); -} diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:41:08 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:41:08 deleted file mode 100644 index d29de765..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:41:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586640 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:46:09 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:46:09 deleted file mode 100644 index 7ecb58be..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-15:46:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586368 Apr 30 15:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-16:50:05 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-16:50:05 deleted file mode 100644 index d87323e5..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-16:50:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587818 Apr 30 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:03:00 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:03:00 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:39:08 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:39:08 deleted file mode 100644 index 0c2bb0af..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:39:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586194 May 6 20:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:54:00 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:54:00 deleted file mode 100644 index fe51f37f..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:55:07 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:55:07 deleted file mode 100644 index 4d2854b5..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:55:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-23:00:07 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-23:00:07 deleted file mode 100644 index c0db4814..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-23:00:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 23:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:31:01 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:31:01 deleted file mode 100644 index 4ad1fccf..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:31:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:31 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:39:02 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:39:02 deleted file mode 100644 index 16613354..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:39:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:43:08 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:43:08 deleted file mode 100644 index 29e5ab44..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:54:04 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:54:04 deleted file mode 100644 index 474189e8..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:54:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:18:00 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:18:00 deleted file mode 100644 index 960ca358..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:18:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:14:00 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:14:00 deleted file mode 100644 index 7de2bc3e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:14:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:14 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:43:08 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:43:08 deleted file mode 100644 index 11a18f12..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597245 May 7 14:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:48:01 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:48:01 deleted file mode 100644 index 28b127b9..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:48:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597405 May 7 14:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:55:05 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:55:05 deleted file mode 100644 index 5d0fa0e1..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:55:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:01:01 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:01:01 deleted file mode 100644 index 7c8b202b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:01:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 15:01 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:27:00 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:27:00 deleted file mode 100644 index a2d19633..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:27:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:20:02 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:20:02 deleted file mode 100644 index 23608225..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:20:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602184 May 7 16:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:31:09 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:31:09 deleted file mode 100644 index 40f890cf..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:31:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:31 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:08:09 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:08:09 deleted file mode 100644 index 22b48319..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:08:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-10:44:00 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-10:44:00 deleted file mode 100644 index 4dad0f2e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-10:44:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 64935 May 8 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-12:42:08 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-12:42:08 deleted file mode 100644 index a356e57e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-12:42:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 23195 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:25:05 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:25:05 deleted file mode 100644 index 0b5026c7..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:25:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:30:03 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:30:03 deleted file mode 100644 index 7377ee59..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:30:03 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-21:54:00 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-21:54:00 deleted file mode 100644 index 41ed8e4c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-21:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604637 May 10 21:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:07:06 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:07:06 deleted file mode 100644 index 9579bf3d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:07:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95212 May 10 22:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-00:14:02 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-00:14:02 deleted file mode 100644 index 86483ada..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-00:14:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-15-22:32:07 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-15-22:32:07 deleted file mode 100644 index 59557c4b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-15-22:32:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 15 22:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-15-23:52:06 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-15-23:52:06 deleted file mode 100644 index 757e6dc6..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-15-23:52:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579305 May 15 23:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-15-23:56:00 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-15-23:56:00 deleted file mode 100644 index 24c85104..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-15-23:56:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605145 May 15 23:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:16:09 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:16:09 deleted file mode 100644 index 27254aa3..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:16:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605205 May 16 00:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-09:58:08 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-09:58:08 deleted file mode 100644 index 90a5b698..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-09:58:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605567 May 16 09:58 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:09:00 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:09:00 deleted file mode 100644 index 4c34f810..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:09:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605583 May 16 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:13:07 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:13:07 deleted file mode 100644 index b6a851e6..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:13:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605619 May 16 10:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:23:05 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:23:05 deleted file mode 100644 index 2c4fc649..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:23:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-14:56:01 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-14:56:01 deleted file mode 100644 index c5e08e25..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-14:56:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95794 May 21 14:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:35:00 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:35:00 deleted file mode 100644 index 0f2d5463..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:35:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:35 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.0.7/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-08-10:23:04 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-08-10:23:04 deleted file mode 100644 index 0858c419..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-08-10:23:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53724 Jun 8 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-08:44:09 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-08:44:09 deleted file mode 100644 index b96788fa..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-08:44:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53524 Jun 9 08:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-10:00:08 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-10:00:08 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-11:47:04 b/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-11:47:04 deleted file mode 100644 index 531df2bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.7/size/2005-06-09-11:47:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/ b/software/cinit/browse_source/cinit-0.0.8/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.0.8/CHANGES b/software/cinit/browse_source/cinit-0.0.8/CHANGES deleted file mode 100644 index 57da4622..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/CHANGES +++ /dev/null @@ -1,22 +0,0 @@ -- support for variabel delay (delay) - -> support for user killing their shutdown! -- fixed cpu-consuming bug -- fixed killing service watcher and service at the same time - (results in zombies before reboot) -- support for killing services -- support for starting services (as defined) -- support for borken, forking daemons -- support for RESCUE --> restore system? -> exec /sbin/cinit! -- added script to test cinit in UML -15:05 < telmich> added cinit.uml.test - -- adding cleaning of broken processes (aka ZOMBIES) - -- Added documentation: - - "rescue mode" - - updating cinit - - security - - testing in UML - - diff --git a/software/cinit/browse_source/cinit-0.0.8/COPYING b/software/cinit/browse_source/cinit-0.0.8/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.0.8/CREDITS b/software/cinit/browse_source/cinit-0.0.8/CREDITS deleted file mode 100644 index eb881b2b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/CREDITS +++ /dev/null @@ -1,16 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: 2005-06-10) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -René Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) diff --git a/software/cinit/browse_source/cinit-0.0.8/Changelog b/software/cinit/browse_source/cinit-0.0.8/Changelog deleted file mode 100644 index 47142a97..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/Changelog +++ /dev/null @@ -1,8 +0,0 @@ -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.0.8/MT/debug b/software/cinit/browse_source/cinit-0.0.8/MT/debug deleted file mode 100644 index da4b82f5..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/MT/debug +++ /dev/null @@ -1,231 +0,0 @@ -started up on Linux 2.6.11.11 #1 Fri Jun 3 00:29:38 CEST 2005 ppc -command line: 'monotone-0.18', 'rename', 'comm/do_start_svc.c', 'comm/do_svc_name.c' -set locale: LC_CTYPE=C, LC_MESSAGES=C -initial path is /home/user/nico/cinit-0.0.8 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 6 bytes from ANSI_X3.4-1968 to UTF-8 -converting 19 bytes from ANSI_X3.4-1968 to UTF-8 -converting 18 bytes from ANSI_X3.4-1968 to UTF-8 -searching for 'MT' directory with root '/' -search for 'MT' ended at '/home/user/nico/cinit-0.0.8' with '' removed -initializing from directory /home/user/nico/cinit-0.0.8 -found working copy directory /home/user/nico/cinit-0.0.8 -options path is MT/options -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -local dump path is MT/debug -setting dump path to MT/debug -opening rcfile '/home/user/nico/.monotonerc' ... -'/home/user/nico/.monotonerc' is ok -skipping nonexistent rcfile 'MT/monotonerc' -executing rename command -options path is MT/options -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -revision path is MT/revision -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 8 bytes from UTF-8 to ANSI_X3.4-1968 -loading revision id from MT/revision -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 8 bytes from UTF-8 to ANSI_X3.4-1968 -db.fetch("SELECT id FROM 'revisions' WHERE id = '4c49cfb4ff9e37e1086fc76a3edd6164f662be4f'") -db.fetch("SELECT data FROM revisions WHERE id = '4c49cfb4ff9e37e1086fc76a3edd6164f662be4f'") -old manifest is bb60c844676ecb012b67fcef727729ee26b90ef6 -db.fetch("SELECT id FROM 'manifest_deltas' WHERE id = 'bb60c844676ecb012b67fcef727729ee26b90ef6'") -db.fetch("SELECT id FROM 'manifests' WHERE id = 'bb60c844676ecb012b67fcef727729ee26b90ef6'") -db.fetch("SELECT id FROM 'manifests' WHERE id = 'bb60c844676ecb012b67fcef727729ee26b90ef6'") -db.fetch("SELECT data FROM 'manifests' WHERE id = 'bb60c844676ecb012b67fcef727729ee26b90ef6'") -old manifest has 165 entries -work path is MT/work -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 4 bytes from UTF-8 to ANSI_X3.4-1968 -checking for un-committed work file MT/work -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 4 bytes from UTF-8 to ANSI_X3.4-1968 -read rearrangement from MT/work -'comm/do_start_svc.c' prefixed to 'comm/do_start_svc.c' -'comm/do_svc_name.c' prefixed to 'comm/do_svc_name.c' -analyzing file 1 : '' -> 'CREDITS' -analyzing file 2 : '' -> 'Changelog' -analyzing file 3 : '' -> 'Makefile' -analyzing file 4 : '' -> 'README' -analyzing file 5 : '' -> 'TODO' -analyzing file 7 : '' -> 'bin/cinit.add.dependency' -analyzing file 8 : '' -> 'bin/cinit.add.getty' -analyzing file 9 : '' -> 'bin/cinit.create.empty.service' -analyzing file 10 : '' -> 'bin/cinit.get-confdir' -analyzing file 11 : '' -> 'bin/cinit.install.binary' -analyzing file 12 : '' -> 'bin/cinit.install.conf' -analyzing file 13 : '' -> 'bin/cinit.install.dir' -analyzing file 14 : '' -> 'bin/cinit.install.test' -analyzing file 15 : '' -> 'bin/cinit.mkheader' -analyzing file 16 : '' -> 'bin/cinit.read-conf' -analyzing file 17 : '' -> 'bin/cinit.reboot' -analyzing file 18 : '' -> 'bin/cinit.remove.getty' -analyzing file 19 : '' -> 'bin/cinit.respawn.off' -analyzing file 20 : '' -> 'bin/cinit.respawn.on' -analyzing file 21 : '' -> 'bin/cinit.shutdown' -analyzing file 22 : '' -> 'bin/cinit.wait.for.daemon' -analyzing file 24 : '' -> 'bin/not-working/cinit.create.service' -analyzing file 25 : '' -> 'cinit.h' -analyzing file 27 : '' -> 'client/README' -analyzing file 28 : '' -> 'client/begin_msg.c' -analyzing file 29 : '' -> 'client/connect_sock.c' -analyzing file 30 : '' -> 'client/exec_svc.c' -analyzing file 31 : '' -> 'client/kill_svc.c' -analyzing file 32 : '' -> 'client/msg_change_status.c' -analyzing file 33 : '' -> 'client/msg_svc_on_off.c' -analyzing file 34 : '' -> 'client/respawn_svc.c' -analyzing file 35 : '' -> 'client/run_run_svc.c' -analyzing file 36 : '' -> 'client/run_svc.c' -analyzing file 37 : '' -> 'client/sig_terminate.c' -analyzing file 39 : '' -> 'comm/README' -analyzing file 40 : '' -> 'comm/do_change_status.c' -analyzing file 41 : '' -> 'comm/do_result.c' -analyzing file 42 : '' -> 'comm/do_start_svc.c' -analyzing file 44 : '' -> 'conf/.README' -analyzing file 45 : '' -> 'conf/c_env' -analyzing file 46 : '' -> 'conf/c_halt' -analyzing file 47 : '' -> 'conf/c_init' -analyzing file 48 : '' -> 'conf/c_needs' -analyzing file 49 : '' -> 'conf/c_off' -analyzing file 50 : '' -> 'conf/c_on' -analyzing file 51 : '' -> 'conf/c_params' -analyzing file 52 : '' -> 'conf/c_poweroff' -analyzing file 53 : '' -> 'conf/c_reboot' -analyzing file 54 : '' -> 'conf/c_respawn' -analyzing file 55 : '' -> 'conf/c_sock' -analyzing file 56 : '' -> 'conf/c_tmp' -analyzing file 57 : '' -> 'conf/c_tmpfs' -analyzing file 58 : '' -> 'conf/c_tmpmount' -analyzing file 59 : '' -> 'conf/c_wants' -analyzing file 60 : '' -> 'conf/cinit_dir' -analyzing file 61 : '' -> 'conf/destdir' -analyzing file 62 : '' -> 'conf/getty_dir' -analyzing file 63 : '' -> 'conf/install_directory' -analyzing file 64 : '' -> 'conf/install_prog' -analyzing file 65 : '' -> 'conf/max_deps' -analyzing file 66 : '' -> 'conf/prefix' -analyzing file 67 : '' -> 'conf/profile' -analyzing file 68 : '' -> 'conf/sleep_init' -analyzing file 69 : '' -> 'conf/sleep_kill' -analyzing file 70 : '' -> 'conf/sleep_kill_svc' -analyzing file 71 : '' -> 'conf/sleep_rerun' -analyzing file 72 : '' -> 'conf/sleep_svc' -analyzing file 73 : '' -> 'conf/sock_queue' -analyzing file 74 : '' -> 'conf/sulogin' -analyzing file 76 : '' -> 'doc/.buildwarn' -analyzing file 77 : '' -> 'doc/FAQ' -analyzing file 78 : '' -> 'doc/caveats' -analyzing file 79 : '' -> 'doc/cinit.commands' -analyzing file 80 : '' -> 'doc/compiles.on' -analyzing file 81 : '' -> 'doc/configuring.cinit' -analyzing file 82 : '' -> 'doc/cservice' -analyzing file 83 : '' -> 'doc/daemons.backgrounding' -analyzing file 85 : '' -> 'doc/fun/testing01' -analyzing file 86 : '' -> 'doc/how_it_works_internally' -analyzing file 87 : '' -> 'doc/ipc.thoughts' -analyzing file 88 : '' -> 'doc/ipc.usenet.posting' -analyzing file 89 : '' -> 'doc/merging.other.initsystems' -analyzing file 90 : '' -> 'doc/meta.dependencies' -analyzing file 91 : '' -> 'doc/optimising.cinit' -analyzing file 92 : '' -> 'doc/porting.to.other.os' -analyzing file 93 : '' -> 'doc/posix.aardvark.bug.report' -analyzing file 94 : '' -> 'doc/profile.support' -analyzing file 95 : '' -> 'doc/security' -analyzing file 96 : '' -> 'doc/thoughts.closed' -analyzing file 97 : '' -> 'doc/thoughts.open' -analyzing file 98 : '' -> 'doc/using.rescue' -analyzing file 100 : '' -> 'generic/mini_printf.c' -analyzing file 101 : '' -> 'generic/set_signals.c' -analyzing file 103 : '' -> 'old/cerr.c' -analyzing file 104 : '' -> 'old/cinit.c01' -analyzing file 105 : '' -> 'old/cinit.c02' -analyzing file 106 : '' -> 'old/cinit.c03' -analyzing file 107 : '' -> 'old/cinit.c04' -analyzing file 108 : '' -> 'old/cinit.c05' -analyzing file 109 : '' -> 'old/cinit.c06' -analyzing file 110 : '' -> 'old/cinit.commands.v01' -analyzing file 111 : '' -> 'old/cinit.h01' -analyzing file 112 : '' -> 'old/cnt_digits.c' -analyzing file 113 : '' -> 'old/do_change_status.c01' -analyzing file 114 : '' -> 'old/idea01' -analyzing file 115 : '' -> 'old/idea02' -analyzing file 116 : '' -> 'old/msg_change_status.c01' -analyzing file 117 : '' -> 'old/msg_start_svc.c' -analyzing file 118 : '' -> 'old/run_init_svc.c01' -analyzing file 119 : '' -> 'old/run_svc.c00' -analyzing file 120 : '' -> 'old/run_svc.c01' -analyzing file 121 : '' -> 'old/run_svc.c02' -analyzing file 122 : '' -> 'old/run_svc.c03' -analyzing file 123 : '' -> 'old/run_svc.c04' -analyzing file 124 : '' -> 'old/run_svc.c05' -analyzing file 125 : '' -> 'old/run_svc.c05.2' -analyzing file 126 : '' -> 'old/run_svc.c06' -analyzing file 127 : '' -> 'old/run_svc.c07' -analyzing file 128 : '' -> 'old/run_svc.c08' -analyzing file 129 : '' -> 'old/run_svc.c09' -analyzing file 130 : '' -> 'old/sig_chld.c' -analyzing file 131 : '' -> 'old/sigio.c01' -analyzing file 133 : '' -> 'serv/cinit.c' -analyzing file 134 : '' -> 'serv/list.c' -analyzing file 135 : '' -> 'serv/panic.c' -analyzing file 136 : '' -> 'serv/run_init_svc.c' -analyzing file 137 : '' -> 'serv/sig_reboot.c' -analyzing file 138 : '' -> 'serv/sigio.c' -analyzing file 140 : '' -> 'size/2005-04-26-14:54:44' -analyzing file 141 : '' -> 'size/2005-04-26-16:47:50' -analyzing file 142 : '' -> 'size/2005-04-26-16:48:48' -analyzing file 143 : '' -> 'size/2005-04-26-16:50:45' -analyzing file 144 : '' -> 'size/2005-04-26-17:12:48' -analyzing file 145 : '' -> 'size/2005-04-26-17:13:43' -analyzing file 146 : '' -> 'size/2005-04-26-23:05:33' -analyzing file 147 : '' -> 'size/2005-04-27-00:39:24' -analyzing file 148 : '' -> 'size/2005-04-30-15:18:22' -analyzing file 149 : '' -> 'size/2005-04-30-15:20:40' -analyzing file 150 : '' -> 'size/2005-04-30-15:23:25' -analyzing file 151 : '' -> 'size/2005-04-30-15:25:44' -analyzing file 152 : '' -> 'size/2005-04-30-15:32:43' -analyzing file 153 : '' -> 'size/2005-04-30-15:33:37' -analyzing file 154 : '' -> 'size/2005-04-30-15:41:08' -analyzing file 155 : '' -> 'size/2005-04-30-15:41:18' -analyzing file 156 : '' -> 'size/2005-04-30-15:46:09' -analyzing file 157 : '' -> 'size/2005-04-30-16:48:16' -analyzing file 158 : '' -> 'size/2005-04-30-16:50:05' -analyzing file 159 : '' -> 'size/2005-04-30-17:02:27' -analyzing file 160 : '' -> 'size/2005-04-30-17:03:00' -analyzing file 161 : '' -> 'size/2005-04-30-17:05:11' -analyzing file 162 : '' -> 'size/2005-04-30-17:06:15' -analyzing file 163 : '' -> 'size/2005-04-30-17:11:59' -analyzing file 164 : '' -> 'size/2005-04-30-17:13:43' -analyzing file 165 : '' -> 'size/2005-04-30-22:28:13' -analyzing file 166 : '' -> 'size/2005-04-30-22:34:23' -analyzing file 167 : '' -> 'size/2005-05-02-13:27:51' -analyzing file 168 : '' -> 'size/2005-05-02-13:46:31' -analyzing file 169 : '' -> 'size/2005-05-02-13:49:29' -analyzing file 170 : '' -> 'size/2005-05-02-13:49:58' -analyzing file 171 : '' -> 'size/2005-05-02-13:52:20' -analyzing file 172 : '' -> 'size/2005-05-02-13:55:50' -analyzing file 173 : '' -> 'size/2005-05-02-13:58:14' -analyzing file 174 : '' -> 'size/2005-05-02-13:59:53' -analyzing file 175 : '' -> 'size/2005-05-02-14:00:26' -analyzing file 176 : '' -> 'size/2005-05-02-14:04:19' -skipping preserved directory 177 : 'bin' -skipping preserved directory 178 : 'bin/not-working' -skipping preserved directory 179 : 'client' -skipping preserved directory 180 : 'comm' -skipping preserved directory 181 : 'conf' -skipping preserved directory 182 : 'doc' -skipping preserved directory 183 : 'doc/fun' -skipping preserved directory 184 : 'generic' -skipping preserved directory 185 : 'old' -skipping preserved directory 186 : 'serv' -skipping preserved directory 187 : 'size' -analyzing file 193 : '' -> 'comm/do_svc_name.c' -analyzing file 195 : '' -> 'serv/.sigio.c.swo' -adding comm/do_start_svc.c -> comm/do_svc_name.c to working copy rename set -skipping preserved directory 1 : 'comm' -analyzing file 2 : 'comm/do_start_svc.c' -> 'comm/do_svc_name.c' -change_set.cc:565: invariant 'I(entries.find(p) == entries.end())' violated diff --git a/software/cinit/browse_source/cinit-0.0.8/MT/log b/software/cinit/browse_source/cinit-0.0.8/MT/log deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.8/MT/options b/software/cinit/browse_source/cinit-0.0.8/MT/options deleted file mode 100644 index 33960254..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/MT/options +++ /dev/null @@ -1,3 +0,0 @@ - branch "info.clinux.cinit" -database "/home/user/nico/monotone.db" - key "" diff --git a/software/cinit/browse_source/cinit-0.0.8/MT/revision b/software/cinit/browse_source/cinit-0.0.8/MT/revision deleted file mode 100644 index 5a43e29b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/MT/revision +++ /dev/null @@ -1 +0,0 @@ -407ad04a93f6addbbb4d764cbce17fb8d46d2cce diff --git a/software/cinit/browse_source/cinit-0.0.8/Makefile b/software/cinit/browse_source/cinit-0.0.8/Makefile deleted file mode 100644 index 856c1337..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/Makefile +++ /dev/null @@ -1,108 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -#DEBUG=-g -DDEBUG -OPTIMIZE=-Os -Werror - -# init should be static per default! -LDFLAGS=-static - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-pipe -Wall -I. -LD=gcc -STRIP=strip -R .comment -R .note.ABI-tag - -# monotone -MT=monotone-0.18 - -# directories and files -SDIRS=bin client conf comm doc generic serv util -FILES=Changelog Makefile README TODO cinit.h - -# objects -SERV=serv/sigio.o serv/cinit.o serv/list.o \ - serv/run_init_svc.o serv/panic.o serv/sig_reboot.o \ - serv/sig_child.o - -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -BOTH=generic/set_signals.o generic/mini_printf.o - -OBJ=$(SERV) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - $(CLIENT) $(COMMUNICATION) - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -all: cinit cservice sizecheck - -cinit: $(CINIT_BIN) - -$(CINIT_BIN): $(SBIN) config.h $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -$(SBIN): - mkdir $(SBIN) - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%T`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' -clean: - rm -f *.o */*.o sbin/cinit config.h - -config.h: conf/* - ./bin/cinit.mkheader > config.h - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice: $(SBIN) config.h $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -# monotone -mt-update: - $(MT) add $(SDIRS) $(FILES) 2>/dev/null -mt-commit: - $(MT) commit -mt-sync: - $(MT) sync linux.schottelius.org info.clinux.cinit - -install: install-dir - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-dir: - ./bin/cinit.install.dir - -install-conf: install-dir - @echo '*** Creating very basic configuration ***' - ./bin/cinit.install.conf - -install-test: install-dir - @echo '***> Copying testing configuration' - ./bin/cinit.install.test diff --git a/software/cinit/browse_source/cinit-0.0.8/README b/software/cinit/browse_source/cinit-0.0.8/README deleted file mode 100644 index ded26a82..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/README +++ /dev/null @@ -1,111 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via monotone. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ -(some I do use for testing, beware if you use it: It loads the -dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.0.8/TODO b/software/cinit/browse_source/cinit-0.0.8/TODO deleted file mode 100644 index f21401ea..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/TODO +++ /dev/null @@ -1,86 +0,0 @@ --------------------------------------------------------------------------------- -- Recheck sources: - - check errno! - - eventually split cinit code to csvc to minimize binary of cinit? - - close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? - - remove FIXME entries (and what should be fixed, too) - - cservice -p does not work, kill -TERM does! - - cleanup sig_reboot.c - - memset for timespecs? --------------------------------------------------------------------------------- -- Source Logic issues - - cservice: remove trailing slash of service names, - absolute the service names? - - add reading of delay to run_svc, storing in list - - handle multiple killing within sigio (fork) ? - - add shutdown/reboot/.../ -> cinit.commands! - - socket / general access from outside/non-root? - - move umount, swapoff and remount to off of init? - -> cleanup sig_reboot.c - - handle CTR-ALT-DEL / keyboard request? (see caveats) - - check for possibilies to save ram, free things - - create coala-socket with correct permissions! (550, root:cinit) - -> is that really our problem or should a service do that? - - check if we caught every signal, which could kill us - - logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? - - check for other possibilities to create a smaller binary - - strip options - - gcc options - - ld options - - alternative libc (uclibc and dietlibc work fine!) - - run_svc: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - - the service watcher has somehow to handle SIGTERM and killing the process - -> global pid_t variable would do it - -> split code to cclient? - -> we have to add killing services from outside - -> perhaps completly split client code from cinit? - -> ccinit? ;-) - -> shutting down services is NOT YET possible while cinit is running - - cservice: - o shutdown/reboot/halt system (through socket?) -> no. - o show service list? -> no. - o respawn services - o exec services - o shutting down service _AND_ dependencies on it???? - -> recursive searching in /etc/cinit/{*/}*/needs (not wants) - -> also without. - - really need swapoff? --------------------------------------------------------------------------------- -- Documentation - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml --------------------------------------------------------------------------------- -- Porting - - add porting code to other unices? - - like openssh guys do? - - polling/signalling is different everywhere - a) use standars poll/select - b) use accelerated os-specfic - -> add the name of the function/the file to use - into conf/poll_func? - o kqueue for freebsd/openbsd? - o epoll or sigio (current) for Linux? - o poll for netbsd - - using Linux 2.6 epoll mechanism? - --------------------------------------------------------------------------------- -create_mini_cinit - -> use a tarball? (samples/*) - -> create something which should be runnable - -> mount, fsck, getty - --> for dev in `read /etc/fstab` ... - fsck $dev - --> getty from /etc/inittab or /sbin/*getty - -> find out, which gettys with which params - -> use it on 'make install' --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.add.dependency deleted file mode 100644 index 17683dcc..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.add.dependency +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or needs Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -case $DEP in - wants) DEP=$C_WANTS ;; - needs) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could some PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEST="${BASEDIR}/${SVC_A}/${DEP}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.add.getty deleted file mode 100644 index cd8aab55..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.add.getty +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -read -p "Getty to use [$mygetty]: " rgetty -read -p "Parameters to pass [$params]: " rparams - -[ "$rgetty" ] && mygetty=$rgetty -[ "$rparams" ] && params=$rparams - -if [ ! "$mygetty" -o ! "$params" ]; then - echo "No useable getty and parameters found, exiting." - exit 1 -fi - -echo -n "Putting $mygetty $params into $DDIR ... " -mkdir -p "$DDIR" -ln -s $mygetty "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.create.empty.service deleted file mode 100644 index 9fe748d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.create.empty.service +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR -BASEDIR=./testcinit - - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.get-confdir b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.get-confdir deleted file mode 100644 index a36c52f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.get-confdir +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# 2005-05-24 - -# try environment first -if [ "$CINIT_DIR" ]; then - CONFDIR=$CINIT_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -elif [ -d /etc/cinit ]; then - CONFDIR=/etc/cinit -else - echo Did not find cinit configuration 1>&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.install.binary deleted file mode 100644 index 0f7825cf..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.install.binary +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# - - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $DESTDIR/$PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.install.conf b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.install.conf deleted file mode 100644 index bd6fadc2..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.install.conf +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# - - -. $(dirname $0)/cinit.read-conf - -echo "*** > Currently missing, sorry." - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.install.dir deleted file mode 100644 index a94a9b9b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.install.dir +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install configuration directory -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" $DESTDIR/$PREFIX/$CINIT_DIR diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.mkheader b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.mkheader deleted file mode 100644 index e1f35d07..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.mkheader +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric - no I didn't see an easier way - numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - - [ "$numeric" ] || value="\"$value\"" - - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.read-conf b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.read-conf deleted file mode 100644 index 4263129c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.read-conf +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - eval $NAME="$(head -n 1 $conf)" - eval export $NAME -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.remove.getty deleted file mode 100644 index e7b1a6ad..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.remove.getty +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - - -[ ! "$NUMBER" ] && exit 1 - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r $DDIR -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.shutdown deleted file mode 100644 index 49b1dabd..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.shutdown +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# 2005-05-24 - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -o|--off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -o|--off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.uml.test deleted file mode 100644 index 7ed7df0c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.0.8 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG init=/sbin/cinit umid=cinit$$" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.0.8/bin/cinit.wait.for.daemon deleted file mode 100644 index a0ca091f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 - -PIDFILE=$1; shift -DAEMON=$1; shift - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(cat "$PIDFILE" | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(cat "$PIDFILE" | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.0.8/cinit.h b/software/cinit/browse_source/cinit-0.0.8/cinit.h deleted file mode 100644 index b1c21577..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/cinit.h +++ /dev/null @@ -1,132 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* paths */ -#define C_ONARG C_ON C_PARAMS -#define C_OFFARG C_OFF C_PARAMS -#define C_ONENV C_ON C_ENV -#define C_OFFENV C_OFF C_ENV - -#define SLASH "/" - -#define CINIT_INIT CINIT_DIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK - -/* commands (maximum: 2^8 = 256)*/ -#define CMD_START_SVC 1 -#define CMD_CHG_STATUS 2 -#define CMD_STOP_SVC 3 -#define CMD_RESCUE 4 -#define CMD_HALT 5 -#define CMD_REBOOT 6 -#define CMD_POWEROFF 7 - -/* status of a service - DO NOT USE 0! */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ -#define ST_FAIL 4 /* failed to start service */ -#define ST_TMPNOW 5 /* now you are on it - only for clients */ -#define ST_OFF 6 /* Switching service off */ - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* Messages to the outside */ -#define MSG_ERR_OPEN "open" -#define MSG_ERR_READ "read" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_FORK "fork" -#define MSG_BIND "bind" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_TERMKILL "sigterm" -#define MSG_KILLBILL "sigkill" -#define MSG_INIT_MISS "initial service missing" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" - -struct listitem { - char *abs_path; /* name of service */ - int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - struct listitem *before; /* previous item */ - struct listitem *after; /* next item */ -}; - -/* variables */ -extern struct listitem *list; /* the process linked chain */ -extern int sock; /* current writing/reading socket */ -extern int logfd; /* log file deskriptor, currently unused */ -extern pid_t cpid; /* used by main() and reused be respaw_svc() */ - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -#define LOG(s) mini_printf(s,logfd) - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int run_init_svc(char *cinit_svc); -void sigio(int signal); -void sig_reboot(int signal); -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, int action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); -void sig_terminate(int signal); - -/* listing functions (server only) */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); - -/* util */ -int msg_reboot(char cmd); - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif diff --git a/software/cinit/browse_source/cinit-0.0.8/client/README b/software/cinit/browse_source/cinit-0.0.8/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.0.8/client/begin_msg.c b/software/cinit/browse_source/cinit-0.0.8/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/client/connect_sock.c b/software/cinit/browse_source/cinit-0.0.8/client/connect_sock.c deleted file mode 100644 index 06f735c3..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/client/connect_sock.c +++ /dev/null @@ -1,40 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - /******************* begin socket *********************/ - /* FIXME: reuse socke later?*/ - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { -// perror(MSG_CONNECT); /* no errors to the outside */ - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/client/exec_svc.c b/software/cinit/browse_source/cinit-0.0.8/client/exec_svc.c deleted file mode 100644 index 4b5d436f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/client/exec_svc.c +++ /dev/null @@ -1,261 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -pid_t exec_svc(char *abspath, int on) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(on) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(on) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(on) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(on) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* if a file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - perror(MSG_ERR_EXECVE); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.0.8/client/kill_svc.c b/software/cinit/browse_source/cinit-0.0.8/client/kill_svc.c deleted file mode 100644 index a2db549f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/client/kill_svc.c +++ /dev/null @@ -1,104 +0,0 @@ -KOPIE VON RUN_SVC - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * kill service????? - */ -void kill_svc(char *rpath, pid_t pid) -{ - int tmp; - char svc[PATH_MAX], svcparams[PATH_MAX]; - struct stat buf; - - D_PRINTF("starte kill_svc"); - D_PRINTF(rpath); - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - /* FIXME: add log + service name here */ - D_PRINTF("some NEEDED services failed)"); - msg_change_status(abspath, ST_FAIL, 0); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawning"); - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - D_PRINTF("exec_unce"); - pid = exec_svc(abspath); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return 0; - } - - D_PRINTF("Melde status"); - if(!msg_change_status(abspath, tmp, pid) ) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.0.8/client/msg_change_status.c deleted file mode 100644 index 490abfbe..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/client/msg_change_status.c +++ /dev/null @@ -1,27 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return 0; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.0.8/client/msg_svc_on_off.c deleted file mode 100644 index 6f5bb88c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/client/msg_svc_on_off.c +++ /dev/null @@ -1,30 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, int action) -{ - char cmd; - - if(action) { - cmd = CMD_START_SVC; - } else { - cmd = CMD_STOP_SVC; - } - - if(!begin_msg(cmd)) return 0; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return 0; - return (int) do_result(sock,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.0.8/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.0.8/client/respawn_svc.c deleted file mode 100644 index f95a4c2d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/client/respawn_svc.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, 1) ) { - /* only sleep if the service execited itself and is not - killed by sig_term */ - if(cpid != 0) { - D_PRINTF(abspath); - sleep(SLEEP_SVC); - D_PRINTF("fertig"); - } - } - } while( cpid ); /* cpid is reset by sig_terminate() */ - - /* start off task */ - exec_svc(abspath,0); - - /* write cinit that we killed it */ - msg_change_status(abspath,ST_OFF,0); - - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.0.8/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.0.8/client/run_run_svcs.c deleted file mode 100644 index e16f0bce..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/client/run_run_svcs.c +++ /dev/null @@ -1,83 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/client/run_svc.c b/software/cinit/browse_source/cinit-0.0.8/client/run_svc.c deleted file mode 100644 index f90b41ac..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/client/run_svc.c +++ /dev/null @@ -1,124 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and beforeo all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct timespec ts; - - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,1); /* check status */ - - switch(tmp) { - case 0: /* failed to communicate */ - case ST_FAIL: /* somebody failed, we won't retry */ - return 0; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case ST_RESPAWN: /* somebody does our work */ - return 1; - break; - case ST_TMPNOW: /* we are on it! */ - break; - } - } while(tmp != ST_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - msg_change_status(abspath, ST_FAIL, 0); - return 0; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, 1); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - D_PRINTF(abspath); - D_PRINTF("exec fehlgeschlagen"); - return 0; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - D_PRINTF("msg change fehlgeschlagen"); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.0.8/client/sig_terminate.c deleted file mode 100644 index a5427b5c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/client/sig_terminate.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - if( kill(cpid,SIGKILL) == -1) { - perror(MSG_TERMKILL); - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - return; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/comm/README b/software/cinit/browse_source/cinit-0.0.8/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.0.8/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.0.8/comm/do_change_status.c deleted file mode 100644 index 08bac734..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/comm/do_change_status.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/comm/do_result.c b/software/cinit/browse_source/cinit-0.0.8/comm/do_result.c deleted file mode 100644 index 16bc14a8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/comm/do_result.c +++ /dev/null @@ -1,32 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return 0; - } - - return *value; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.0.8/comm/do_svc_name.c deleted file mode 100644 index 80fc32f1..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/comm/do_svc_name.c +++ /dev/null @@ -1,52 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - D_PRINTF("zu gross"); - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/.README b/software/cinit/browse_source/cinit-0.0.8/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_delay b/software/cinit/browse_source/cinit-0.0.8/conf/c_delay deleted file mode 100644 index 36b73392..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGKILL for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_env b/software/cinit/browse_source/cinit-0.0.8/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_halt b/software/cinit/browse_source/cinit-0.0.8/conf/c_halt deleted file mode 100644 index bc062a2c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the service we should start when 'halting' (system stop, but no -power off). diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_init b/software/cinit/browse_source/cinit-0.0.8/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_needs b/software/cinit/browse_source/cinit-0.0.8/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_off b/software/cinit/browse_source/cinit-0.0.8/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_on b/software/cinit/browse_source/cinit-0.0.8/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_params b/software/cinit/browse_source/cinit-0.0.8/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_poweroff b/software/cinit/browse_source/cinit-0.0.8/conf/c_poweroff deleted file mode 100644 index 273d4bec..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_poweroff +++ /dev/null @@ -1,3 +0,0 @@ -poweroff - -Name of the service we should start, when system power-off is called. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_reboot b/software/cinit/browse_source/cinit-0.0.8/conf/c_reboot deleted file mode 100644 index 17937b4a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_reboot +++ /dev/null @@ -1,3 +0,0 @@ -reboot - -Name of the service we should start on reboot. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_respawn b/software/cinit/browse_source/cinit-0.0.8/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_sock b/software/cinit/browse_source/cinit-0.0.8/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_tmp b/software/cinit/browse_source/cinit-0.0.8/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.0.8/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.0.8/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/c_wants b/software/cinit/browse_source/cinit-0.0.8/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/cinit_dir b/software/cinit/browse_source/cinit-0.0.8/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/destdir b/software/cinit/browse_source/cinit-0.0.8/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/getty_dir b/software/cinit/browse_source/cinit-0.0.8/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/install_directory b/software/cinit/browse_source/cinit-0.0.8/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/install_prog b/software/cinit/browse_source/cinit-0.0.8/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/max_delay b/software/cinit/browse_source/cinit-0.0.8/conf/max_delay deleted file mode 100644 index 149fa16c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/max_delay +++ /dev/null @@ -1,7 +0,0 @@ -4 - -Maximum number of digits which may be in the delay file. -If there are more, the string "12345678901" will be cut to the -right length "1234567890". I don't think you'll ever need -a timeout greater 4 digits (9999 seconds are 166,65~ minutes, are -2 hours, 46 minutes and 39 seconds). See doc/configuring.cinit. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/max_deps b/software/cinit/browse_source/cinit-0.0.8/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/prefix b/software/cinit/browse_source/cinit-0.0.8/conf/prefix deleted file mode 100644 index 580ae0cb..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/prefix +++ /dev/null @@ -1,4 +0,0 @@ -/ - -Where to install cinit. Normally this will be /, but you can put in anywhere. -The subdirectory 'sbin' under this prefix must be reabable by the kernel. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/profile b/software/cinit/browse_source/cinit-0.0.8/conf/profile deleted file mode 100644 index 92fc35ba..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/profile +++ /dev/null @@ -1,5 +0,0 @@ -cprofile= - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile=" is the standard. -Under Linux you specify it to the bootloader like grub or lilo. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/sleep_init b/software/cinit/browse_source/cinit-0.0.8/conf/sleep_init deleted file mode 100644 index c78c1bb6..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/sleep_init +++ /dev/null @@ -1,11 +0,0 @@ -86400 - -The delay used in the main loop. It looks like some implementations -cannot handle the biggest integer value, as it has been calculated: - - /* calculate biggest value */ - ts.tv_sec = -1; - if(ts.tv_sec < 0) { - ts.tv_sec = 1 << ((sizeof(ts.tv_sec) * 8)-1); - ts.tv_sec = ts.tv_sec - 1; - } diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/sleep_kill b/software/cinit/browse_source/cinit-0.0.8/conf/sleep_kill deleted file mode 100644 index de1fd006..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/sleep_kill +++ /dev/null @@ -1,5 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.0.8/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.0.8/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/sleep_svc b/software/cinit/browse_source/cinit-0.0.8/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/sock_queue b/software/cinit/browse_source/cinit-0.0.8/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.0.8/conf/sulogin b/software/cinit/browse_source/cinit-0.0.8/conf/sulogin deleted file mode 100644 index 4f003994..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/conf/sulogin +++ /dev/null @@ -1,4 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it only if we panic(). -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/.buildwarn b/software/cinit/browse_source/cinit-0.0.8/doc/.buildwarn deleted file mode 100644 index 36cddb27..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/.buildwarn +++ /dev/null @@ -1,19 +0,0 @@ -**************************************************************************** -THIS IS A PRE-RELEASE, NOT YET THOUGHT TO BE USED IN PRODUCTIVE ENVIRONMENT! -**************************************************************************** - -First of all configure cinit through the configuration files found in conf/. - -The documentation can be found in doc/, read - - doc/configuring.cinit - -_before_ first use. - -After reading and configuring use: - - "make all" - to build cinit - "make install" - to install cinit - "make install-test" - to install cinit configuration example - -> WARNING: the last make target is highly experiemental and - the installed configuration may not be usable on your system! diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/FAQ b/software/cinit/browse_source/cinit-0.0.8/doc/FAQ deleted file mode 100644 index 7de033c2..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile=home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/caveats b/software/cinit/browse_source/cinit-0.0.8/doc/caveats deleted file mode 100644 index 9b73366a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/caveats +++ /dev/null @@ -1,59 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/cinit.commands b/software/cinit/browse_source/cinit-0.0.8/doc/cinit.commands deleted file mode 100644 index 5d7b473c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/cinit.commands +++ /dev/null @@ -1,77 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (uses SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. **) - - CMD_RESCUE: Kill everything, and spawn a sulogin shell.**) - CMD_INIT: Start all services (again possibly).**) - - CMD_HALT: Halt the system*) - CMD_REBOOT: Reboot the system*) - CMD_POWEROFF: Power-off the system*) - - *) The commands are not and maybe will never be implemented, - as they are realized another way (using signals). - - **) Not yet implemented. - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/compiles.on b/software/cinit/browse_source/cinit-0.0.8/doc/compiles.on deleted file mode 100644 index 3fe83479..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/compiles.on +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -compiles.on, -Nico Schottelius 2005-06-09 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit is known to compile on: - -x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 - -Please report your configuration, if it's not listed here. diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/configuring.cinit b/software/cinit/browse_source/cinit-0.0.8/doc/configuring.cinit deleted file mode 100644 index e0dc76f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/configuring.cinit +++ /dev/null @@ -1,181 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, -Nico Schottelius 2005-05-28 (Last Modified: 2005-06-05) --------------------------------------------------------------------------------- - -0. Pre-compile configuration -1. General configuration layout -2. Hints -2.0 Service executing / parameters -2.1 Daemons -2.2 Logging -2.3 Using prepared scripts -3. Profiles - - -0. Pre-compile configuration - -Have a look at conf/*. Those variable will mostly be used when -compiling cinit. Some will be read later (like destdir). - -1. General configuration layout - -/etc/cinit (configurable via conf/cinit_dir) stores the complete -cinit configuration. - -cinit is service based. -A service consists of - - a base directory (like /etc/cinit/getty/1) - - dependency configuration: - - ./wants - services it wants to be started before (but it - will work anyway) - - ./needs/ - services it needs. If those services fail, this service - won't be started - - - a flag indicating whether to respawn the service: - - ./respawn (simply touch it) - - - a delay: how long to wait for the service (in seconds) before - sending SIGKILL after the SIGTERM (only for respawning processes): - - ./delay (one line with only the digits) - - If delay is non-existing or not readable, the delay from - conf/sleep_kill_svc is taken. - - - the program to run when switching the service on and off: - - ./on (a link to a program or a shell script) - ./on.params (see conf/c_params, the parameters to pass to the program) - ./on.env (see conf/c_env, the environment to pass to the program) - - ./off (call that when shutting down the service) - ./off.params (the parameters to pass to the program) - ./on.env (the environment to pass to the program) - -You should have a look at the samples/ directory for examples. - -If things are missing, cinit will continue with what's available. -This way you only need the files you use. Some examples: - - /etc/cinit/init: - ./wants -> services it wants - ./needs -> services it needs - That's everything - - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it - That's everything, as it has no dependencies - - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn on service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting - - -2. Hints - -2.0 Service executing / parameters - -The on and off files can and should be links to the programs you want -to execute. This way you save yourself loading the big shell (which is -on many Linux systems bash, why so ever, dash does the job as good, still -beeing small). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. The on script -could look like: - - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). - - -2.1 Daemons - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking (Please have a look at -daemons.backgrounding for a list of known daemons and their switches -to avoid backgrounding). - -The other possibility is to use a program, which will - a) start the daemon - b) look into the pidfile of the daemon - c) will then wait until that pid does not exist anymore - d) and then it exits and cinit will restart it (goto a) now) - -Such a program is included into this cinit release, -though I do not recommend using it. You should better contact the -authors and make them implement a clean non-forking mode. - -The name of the program (actually a shell script) is "cinit.wait.for.daemon". - -You will use it as the "on" part of the service and you have to add - - a) the pidfile to on.params - b) the daemon binary - -Thus the service would look like: - - svc-broken-daemon/ - on -> /usr/sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - -2.2 Logging - -Currently there's no special logging support. -When programs write to stdout, it will be displayed on -the same stdout cinit is connected to -(we don't even open /dev/console - we are too lazy currently). - - -2.3 Using prepared scripts - -In the bin/ directory of this tarball you'll find: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - - -3. Profiles - -Since cinit-0.0.6 there is profile in cinit. -Profiles are described in doc/profile.support. - -X. Examples - -Can be found in the tarballs below samples/. diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/cservice b/software/cinit/browse_source/cinit-0.0.8/doc/cservice deleted file mode 100644 index af816e62..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/cservice +++ /dev/null @@ -1,23 +0,0 @@ --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phears] - - - - start a service (including all needed dependencies) - - - stop a respawing service, don't care about other services - - - reboot - - - halt - - - poweroff (on some systems the same as halt) - --------------------------------------------------------------------------------- - - - --------------------------------------------------------------------------------- - -o - (only) start a service (only the service, no dependencies) - -t - (tho) start a service (including all dependencies) - - - stop a respawing service and stop all depending services diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/daemons.backgrounding b/software/cinit/browse_source/cinit-0.0.8/doc/daemons.backgrounding deleted file mode 100644 index e3864065..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/daemons.backgrounding +++ /dev/null @@ -1,57 +0,0 @@ --------------------------------------------------------------------------------- -daemons backgrounding, -Nico Schottelius 2005-06-12 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -0. Definition - -A daemon is a program which runs in the background, not having a tty -associated necesserally. Running in background does not mean it has -to background (fork()) itself, but that you cannot control it directly -from a shell. - -1. Daemons and cinit - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - - - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking - -The following daemons / servers are known to avoid backgrounding easily: - - bind [dns server/caching]: -f - cupsd [printer server]: -f or -F - dhcp3 (isc) [dhcp server]: -f - distccd [compile server]: normal behaviour - frox [ftp proxy]: "NoDetach" in config - mini-lpd [printer server]: normal behaviour - metalog [log server]: normal behaviour - monotone [vcs]: normal behaviour - nessusd ["security server"]: normal behaviour - ntpd [time server]: -n - oops [http proxy]: normal behaviour - openssh [ssh server]: -D - openvpn [vpn server]: normal behaviour - pbbuttonsd [power management]:normal behaviour - proftpd [ftp server]: -n - qmail [mta]: normal behaviour - rsync ["file server"]: --no-detach - slapd [ldap]: -d - snmpd [snmp daemon]: -f - svnserve [vcs]: --foreground - syslogd [log server]: -n - tcpserver [super server]: normal behaviour - vsftpd [ftp server]: normal behaviour (or: config: background=no) - xinetd [super server]: -dontfork - -Those are the daemons that do not offer the possibility (as of release 0.0.8): - - - apache (only with debug mode) - - inetd (some variants) - - nscd (no switch, no configuraton option) - - portmap (only with debug mode) diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/fun/testing01 b/software/cinit/browse_source/cinit-0.0.8/doc/fun/testing01 deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/fun/testing01 +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/how_it_works_internally b/software/cinit/browse_source/cinit-0.0.8/doc/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/ipc.thoughts b/software/cinit/browse_source/cinit-0.0.8/doc/ipc.thoughts deleted file mode 100644 index 06ad5b8d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/ipc.thoughts +++ /dev/null @@ -1,79 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2), -1024=max fds, -3=already opened (stderr/stdin/stdout), /2= -two fds needed per client). - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt and - - poweroff. - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.0.8/doc/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/merging.other.initsystems b/software/cinit/browse_source/cinit-0.0.8/doc/merging.other.initsystems deleted file mode 100644 index b209042c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/merging.other.initsystems +++ /dev/null @@ -1,63 +0,0 @@ --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not exclude that he accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated. - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/meta.dependencies b/software/cinit/browse_source/cinit-0.0.8/doc/meta.dependencies deleted file mode 100644 index 28558e50..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/meta.dependencies +++ /dev/null @@ -1,55 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, on would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation. - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -it does not need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/optimising.cinit b/software/cinit/browse_source/cinit-0.0.8/doc/optimising.cinit deleted file mode 100644 index 4e5a1708..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/optimising.cinit +++ /dev/null @@ -1,23 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - - diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/porting.to.other.os b/software/cinit/browse_source/cinit-0.0.8/doc/porting.to.other.os deleted file mode 100644 index fcc838af..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.0.8/doc/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/profile.support b/software/cinit/browse_source/cinit-0.0.8/doc/profile.support deleted file mode 100644 index b39d517e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/profile.support +++ /dev/null @@ -1,51 +0,0 @@ --------------------------------------------------------------------------------- -Profiles, -Nico Schottelius, 2005-06-04 --------------------------------------------------------------------------------- - -1. What are profiles? -2. How to use profiles? -3. How to configure profiles? - - -1. What are profiles? - -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -2. How to use profiles? - -Simply pass 'cprofile=PROFILENAME' (like cprofile=home) to cinit. -How to pass argumenents to cinit? Under Linux the init-system -gets the kernel arguments as arguments. So you can use - - kernel /usr/src/linux/vmlinuz cprofile=work (grub) - append="cprofile=work" (LILO) - -Other Unices should work like Linux, please consult your local -documentation. - - -3. How to configure profiles? - -It's very simple: Normally cinit would call /etc/cinit/init as -primary service and solve all dependencies. If you pass -cprofile=wireless to it, cinit will start /etc/cinit/wireless as -primary service instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/init; tar c . | (mkdir ../yp; cd ../yp; tar x ) - -That's it! diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/removing.zombies b/software/cinit/browse_source/cinit-0.0.8/doc/removing.zombies deleted file mode 100644 index c34f5f8b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - Still cinit will currently keep the behaviour of reaping the vestiges - broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/replacing.init b/software/cinit/browse_source/cinit-0.0.8/doc/replacing.init deleted file mode 100644 index 655182b4..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/replacing.init +++ /dev/null @@ -1,10 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and copy cinit to init (cp /sbin/cinit /sbin/init), reboot. - diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/security b/software/cinit/browse_source/cinit-0.0.8/doc/security deleted file mode 100644 index 63eb0571..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/security +++ /dev/null @@ -1,29 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console. diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/testing.cinit.in.uml b/software/cinit/browse_source/cinit-0.0.8/doc/testing.cinit.in.uml deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/testing.cinit.in.uml +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/thoughts.closed b/software/cinit/browse_source/cinit-0.0.8/doc/thoughts.closed deleted file mode 100644 index 0660ea65..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/thoughts.closed +++ /dev/null @@ -1,43 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/thoughts.open b/software/cinit/browse_source/cinit-0.0.8/doc/thoughts.open deleted file mode 100644 index 209830be..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/thoughts.open +++ /dev/null @@ -1,8 +0,0 @@ - -- Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/updating.cinit b/software/cinit/browse_source/cinit-0.0.8/doc/updating.cinit deleted file mode 100644 index 214f1dc7..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/updating.cinit +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything, including cinit and leave -you behind with only a shell. diff --git a/software/cinit/browse_source/cinit-0.0.8/doc/using.rescue b/software/cinit/browse_source/cinit-0.0.8/doc/using.rescue deleted file mode 100644 index cec43f76..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/doc/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user". - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.0.8/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.0.8/generic/mini_printf.c deleted file mode 100644 index 669d663a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/generic/mini_printf.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print string - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - p = str; - while ( *p != '\0') { - write(fd,p,1); - ++p; - } - - write(fd,"\n",1); /* FIXME: only when console */ -} diff --git a/software/cinit/browse_source/cinit-0.0.8/generic/set_signals.c b/software/cinit/browse_source/cinit-0.0.8/generic/set_signals.c deleted file mode 100644 index beceff73..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/generic/set_signals.c +++ /dev/null @@ -1,48 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c and ctr+alt+del */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGQUIT,&sa,NULL); /* QUIT... */ - sigaction(SIGTTIN,&sa,NULL); - sigaction(SIGTTOU,&sa,NULL); - sigaction(SIGSTOP,&sa,NULL); - - /* cleaning dead processes */ - if(action == ACT_SERV) { - sa.sa_handler=sig_child; - } - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - /* sigio is called to act on the socket */ - if(action == ACT_SERV) { - sa.sa_handler=sigio; - } - sigaction(SIGIO,&sa,NULL); - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } - sigaction(SIGUSR1,&sa,NULL); /* halt */ - sigaction(SIGUSR2,&sa,NULL); /* Rescue */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGHUP,&sa,NULL); /* reboot */ - -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/add_mod_svc.c b/software/cinit/browse_source/cinit-0.0.8/old/add_mod_svc.c deleted file mode 100644 index c74778d4..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/add_mod_svc.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * add_svc - * part of cinit - */ - -#include - -#include "cinit.h" - -/* we return the service id or -1 on error*/ -int add_mod_svc(char *svc, char status, pid_t pid) -{ - int tmp = 0; - - /* check if service exists, if so, set new status, return sid */ - tmp = chk_svc(svc); - if( tmp != -1 ) { - svc_list.svca[tmp].status = status; - return tmp; - } - - /* still here? than there is no such service */ - if(svc_list.process < MAX_SVC) { - printf("[%d]: %s (%d)\n",svc_list.process,svc,pid); - svc_list.svca[svc_list.process].abs_path = strdup(svc); - - if(svc_list.svca[svc_list.process].abs_path == NULL) { - LOG("strdup failed!"); - return -1; - } - svc_list.svca[svc_list.process].pid = pid; - /* inkrement later, as we count argv[0..n] */ - (svc_list.process)++; - } else { - LOG("too many services"); - return -1; - } - - /* return _our_ service id */ - return (svc_list.process -1); -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cerr.c b/software/cinit/browse_source/cinit-0.0.8/old/cerr.c deleted file mode 100644 index b9dec472..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cerr.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print error to stderr and exist - */ - -#include -#include "cinit.h" - -void cerr(char *string, int status) -{ - char *p; - - p = string; - while ( *p != '\0') { - write(2,p,1); - p++; - } - write(2,"\n",1); - - switch(status) { - case RT_CHLD_FAIL: - case RT_CHLD_OK: - _exit(status); - ;; - case RT_PAR_FAIL: /* FIXME: if status is RT_PAR_FAIL, start sulogin */ - _exit(23); - ;; - case RT_PAR_OK: - return; - ;; - } - -/* FIXME: return if in cinit, _exit on fork() */ -// if(...) -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/chk_svc.c b/software/cinit/browse_source/cinit-0.0.8/old/chk_svc.c deleted file mode 100644 index bdc73c31..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/chk_svc.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * chk_svc: check whether service exists - * part of cinit - */ - -#include -#include "cinit.h" - -/* we are called from sigio */ -/* return SID, if service exists, else -1 */ -int chk_svc(char *svc) -{ - int tmp = 0; - - while(tmp < svc_list.process) { - if( ! strcmp(svc,svc_list.svca[tmp].abs_path) ) { - return tmp; - } - tmp++; - } - return -1; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cinit.add.shutdown.reboot.poweroff b/software/cinit/browse_source/cinit-0.0.8/old/cinit.add.shutdown.reboot.poweroff deleted file mode 100644 index 23cae705..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cinit.add.shutdown.reboot.poweroff +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add shutdown/reboot/poweroff service - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -# create halt, link reboot and poweroff to it -mkdir "$BASEDIR/$C_HALT" -ln -s "$C_HALT" "$BASEDIR/$C_REBOOT" -ln -s "$C_HALT" "$BASEDIR/$C_POWEROFF" diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cinit.c01 b/software/cinit/browse_source/cinit-0.0.8/old/cinit.c01 deleted file mode 100644 index e3890013..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cinit.c01 +++ /dev/null @@ -1,105 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - - -#include - -#define EKEL "/etc/cinit/init/wants" - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/* - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - - /* check if already running / ran / currently starting */ - - /* check for needs -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es, %s\n", pathbuf); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) printf("dir gibt es, %s\n", pathbuf); - - d_tmp = opendir(path); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -int main() -{ - - char buf[256]; - int tmp; - - strcpy(buf,CINIT_DIR); - tmp = strlen(CINIT_DIR); - buf[tmp] = '/'; - strcpy(&buf[tmp+1],C_INIT); - - printf("path: %s\n",buf); - - run_svc("/etc/cinit/init"); - - run_svc("/etc/cinit2/init"); - - run_svc("/NOT_THERE"); - -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cinit.c02 b/software/cinit/browse_source/cinit-0.0.8/old/cinit.c02 deleted file mode 100644 index 7e5432b4..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cinit.c02 +++ /dev/null @@ -1,198 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" -#define C_RUN "run" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - -/* wait() */ -#include - -/* strlen */ -#include - -#include - -#define EKEL "/etc/cinit/init/wants" - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/*********************************************************************** - * parallel run forked() run_svc() - */ -#define MAX_PAR 32 - -int run_run_svcs(char *rpath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - pid_t pids[MAX_PAR]; - int tmp,i=0; - - printf("run_run_svcs on: %s\n",rpath); - - d_tmp = opendir(rpath); - - if(d_tmp == NULL) { - printf("Failed to open dir: %s", rpath); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 - || strcmp(tdirent->d_name, "..") == 0) - continue; - - if(i < MAX_PAR) { - pids[i] = fork(); - i++; - } else { - cerr("to many dependencies"); - return 1; - } - - if(pids[i-1] == -1) { /* err */ - cerr("fork failed\n"); - return 0; - } else if(pids[i-1] == 0) { /* child */ - printf("Service zu starten nun: %s\n", tdirent->d_name); - run_svc(tdirent->d_name); - _exit(0); - } else /* the parent simply goes the loop again */ - printf("run_svcs_PARENT\n"); - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { -// printf("waiting for %d ... \n",i); - waitpid(pids[i], &tmp, 0); - i--; - } -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - - char buf[256]; - int tmp; - - strcpy(buf,CINIT_DIR); - tmp = strlen(CINIT_DIR); - buf[tmp] = '/'; - strcpy(&buf[tmp+1],C_INIT); - - printf("path: %s\n",buf); - - run_svc("/etc/cinit/init"); - - run_svc("/NOT_THERE"); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cinit.c03 b/software/cinit/browse_source/cinit-0.0.8/old/cinit.c03 deleted file mode 100644 index c1b5eb42..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cinit.c03 +++ /dev/null @@ -1,241 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -#define CINIT_DIR "/etc/cinit" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "needs" -#define C_WANTS "wants" -#define C_RUN "run" - -/* opendir() */ -#include -#include - -/* *stat() */ -#include -#include - -/* wait() */ -#include - -/* strlen */ -#include - -#include - -#include "cinit.h" - -#define EKEL "/etc/cinit/init/wants" - -/* status of a service */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ - -/* array of svc */ -/* linked list of services */ -/* balanced trees */ -struct svc { - char *abs_path; -// struct svc *next; - int status; /* tmp, respawn, ran once */ - /* evtl: */ -}; - -struct svcl { - struct svc svc_list[1000]; - int process; -} svc_list; - -void cerr(char *msg) -{ - printf("%s\n", msg); -} - -/*********************************************************************** - * parallel run forked() run_svc() - */ -#define MAX_PAR 32 - -int run_run_svcs(char *rpath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - pid_t pids[MAX_PAR]; - int tmp,i=0; - - printf("run_run_svcs on: %s\n",rpath); - - d_tmp = opendir(rpath); - - if(d_tmp == NULL) { - printf("Failed to open dir: %s", rpath); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 - || strcmp(tdirent->d_name, "..") == 0) - continue; - - if(i < MAX_PAR) { - pids[i] = fork(); - i++; - } else { - cerr("to many dependencies"); - return 1; - } - - if(pids[i-1] == -1) { /* err */ - cerr("fork failed\n"); - return 0; - } else if(pids[i-1] == 0) { /* child */ - printf("Service zu starten nun: %s\n", tdirent->d_name); - run_svc(tdirent->d_name); - _exit(0); - } else /* the parent simply goes the loop again */ - printf("run_svcs_PARENT\n"); - } - - closedir(d_tmp); - - /* wait for pids */ - while(i >= 0) { -// printf("waiting for %d ... \n",i); - waitpid(pids[i], &tmp, 0); - i--; - } -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* debug */ - getcwd(pathbuf,1024); - - printf("dir: %s\n",pathbuf); - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - cerr("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char pathbuf[MAXPATH]; - struct stat buf; - - strcpy(pathbuf,CINIT_DIR); - strcat(pathbuf,"/"); - strcat(pathbuf,C_INIT); - - printf("path: %s\n",pathbuf); - - svc_list.process = 0; - - /* stat, checkdir */ - if( stat(pathbuf,&buf) ) { - printf("PANIC ACTION: init dir missing\n"); - return 1; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("PANIC ACTION: init is not a dir\n"); - return 1; - } - - if( chdir(pathbuf) == -1) { - printf("PANIC ACTION: chdir(%s) failed!\n",pathbuf); - return 1; - } - run_svc("/etc/cinit/init"); -// run_svc(""); - -// run_svc("/NOT_THERE"); - -// execl("/bin/zsh","zsh", "-l"); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cinit.c04 b/software/cinit/browse_source/cinit-0.0.8/old/cinit.c04 deleted file mode 100644 index 983c03eb..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cinit.c04 +++ /dev/null @@ -1,130 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; -int f_in, f_out; - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char pathbuf[PATH_MAX]; - char buf[1223]; - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTP,&sa,NULL); /* ignore ctr+z, stop */ - - D_PRINTF(CINIT_INIT); - - /* count of started processes */ - svc_list.process = 0; - - /* begin to handle signals */ - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* open communication fifos */ - f_in = open(CINIT_DIR SLASH F_IN, O_RDWR); - f_out = open(CINIT_DIR SLASH F_OUT, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed\n",RT_PAR_FAIL); - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; - sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ - sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ - sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* important signal handlers: pipe, child */ -// sa.sa_handler=sig_pipe; -// sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - -// sa.sa_handler=sig_child; -// sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - - /* big TODO: */ - - /* some while/for loop to hang forever, remember, we are init! */ - while(1) { - i=0; - /* read path */ - do { - read(f_in,&buf,1); -// buf1[i] = buf; i++; - } while(buf != '\0'); -// - // printf("Read path: %s\n",buf1); - - i=0; - /* read status */ - do { - read(f_in,&buf,1); - // buf2[i] = buf; i++; - } while(buf != '\0'); - - // status = atoi(buf2); - // printf("Read status: %d\n",status); - - i=0; - /* read pid */ - do { - read(f_in,&buf,1); - // buf3[i] = buf; i++; - } while(buf != '\0'); - - // pid = atoi(buf3); - - - - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cinit.c05 b/software/cinit/browse_source/cinit-0.0.8/old/cinit.c05 deleted file mode 100644 index 8dec1f46..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cinit.c05 +++ /dev/null @@ -1,137 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - char buf[1223]; - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTOP,&sa,NULL); /* ignore ctr+z, stop */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - - D_PRINTF(CINIT_INIT); - - /* begin to handle signals */ - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* get shared memory */ - - shmfd = shm_open(CINIT_SHM,O_RDWR|O_CREAT,0600); - - if(shmfd == -1) { - perror("Shared memory"); - cerr("shared memory",RT_PAR_FAIL); - } - - /* count of started processes */ - svc_list.process = 0; - - /* open communication fifos */ - f_in = open(CINIT_DIR SLASH F_IN, O_RDWR); - f_out = open(CINIT_DIR SLASH F_OUT, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed",RT_PAR_FAIL); - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; - sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ - sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ - sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* important signal handlers: pipe, child */ -// sa.sa_handler=sig_pipe; - -// sa.sa_handler=sig_child; -// sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - - /* big TODO: */ - - /* some while/for loop to hang forever, remember, we are init! */ - while(1) { - i=0; - /* read path */ - do { - read(f_in,&buf,1); -// buf1[i] = buf; i++; - } while(buf != '\0'); -// - // printf("Read path: %s\n",buf1); - - i=0; - /* read status */ - do { - read(f_in,&buf,1); - // buf2[i] = buf; i++; - } while(buf != '\0'); - - // status = atoi(buf2); - // printf("Read status: %d\n",status); - - i=0; - /* read pid */ - do { - read(f_in,&buf,1); - // buf3[i] = buf; i++; - } while(buf != '\0'); - - // pid = atoi(buf3); - - - - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cinit.c06 b/software/cinit/browse_source/cinit-0.0.8/old/cinit.c06 deleted file mode 100644 index c48de22c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cinit.c06 +++ /dev/null @@ -1,158 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* printf() */ -//#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* global variable */ -struct svcl svc_list; -int sock; - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - struct ucred suck; - int len = sizeof(suck), lens; - int nsock; - struct sockaddr_un sun; - char buf; - - lens=sizeof(sun); - memset(&sun,0,lens); - -/* this is always us! */ -// getsockopt(sock, SOL_SOCKET, SO_PEERCRED, &suck, &len); -// printf("orig angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - do { - //s_tmp[s_idx] = accept(sock,(struct sockaddr *) &sun, (socklen_t *) &lens); - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - // nsock = accept(sock,(struct sockaddr *) &sun, (socklen_t *) &lens); -// if( s_tmp[s_idx] == -1) { - if( nsock == -1) { - if (errno != EAGAIN) { - perror("accept"); - _exit(1); - } else { - break; - } - } - - //getsockopt(s_tmp[s_idx], SOL_SOCKET, SO_PEERCRED, &suck, &len); - getsockopt(nsock, SOL_SOCKET, SO_PEERCRED, &suck, &len); - printf("angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - - read(nsock,&buf,1); - - printf("command: %d\n",buf); - - while ( (len = read(nsock,&buf,1)) ) { -// printf("laenge: %d\n",len); - if(len == -1) { -// if(errno != EINVAL && errno != EAGAIN) { - perror("read"); - return; -// _exit(1); -// } - } - if(buf == 0) break; - write(1,&buf,1); - } - printf("Fertig mit lesen\n"); - - write(nsock,"ok\n",4); - printf("fertig mit schreiben\n"); - } while ( 1 ); - - printf("keine sockets mehr da..., sigio beendet sich jetzt.\n"); -} - -/*********************************************************************** - * the main procedure - */ - -int main() -{ - struct stat sbuf; - int i; - - struct sigaction sa; - - /* signal handlers to ignore */ - sa.sa_handler=SIG_IGN; -// sigaction(SIGINT,&sa,NULL); /* ignore ctr+c */ - sigaction(SIGSTOP,&sa,NULL); /* ignore ctr+z, stop */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGCHLD,&sa,NULL); /* what todo when child exited */ - - sa.sa_handler=sigio; - sigaction(SIGIO,&sa,NULL); /* what todo when data arrived on socket */ - - D_PRINTF(CINIT_INIT); - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - cerr("PANIC ACTION: init dir missing", RT_PAR_FAIL); - } else if( ! S_ISDIR(sbuf.st_mode) ) { - cerr("PANIC ACTION: init is not a dir", RT_PAR_FAIL); - } - - if( chdir(CINIT_INIT) == -1) - cerr("PANIC ACTION: chdir to /etc/cinit/init failed!",RT_PAR_FAIL); - - /* count of started processes */ - svc_list.process = 0; - - /* initial run, only if we are 'real' init' */ -// if( getpid() == 1) { - i = run_init_svc(); - printf("Initialer Start rueckgabe: %d\n", i); -// } - - /* signal handlers to do special things with */ - // something else sa.sa_handler=SIG_IGN; -// sigaction(SIGUSR1,&sa,NULL); /* reboot on sigusr1 */ -// sigaction(SIGUSR1,&sa,NULL); /* power-off on sigusr2 */ -// sigaction(SIGTERM,&sa,NULL); /* halt on sigterm */ - - /* the main loop */ - while(1) ; - -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cinit.commands.v01 b/software/cinit/browse_source/cinit-0.0.8/old/cinit.commands.v01 deleted file mode 100644 index dfdb67c5..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cinit.commands.v01 +++ /dev/null @@ -1,85 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, Nico Schottelius 2005-04-28 --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (uses SO_PEERCRED as -socketoption). - -The communication-protocol is binary. - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service and its dependencies. - CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_INIT: Start all services (again possibly). - - CMD_HALT: Halt the system. - CMD_REBOOT: Reboot the system. - CMD_POWEROFF: Power-off the system. - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) ok, a SID, a service ID: int svc_id; [ really need int? ] - b) fail, [currently only fail is returned] - a) already running - b) svc_name too long / not allowed - - [ A service identification is used for faster searching in cinit. - It is also a hint for developers of external software, that they should not - be able to use CMD_CHG_STATUS, if they didn't start a service. - They should use CMD_STOP_SVC to stop a service. - Starting a service is currently done via exec() in the external program or - a cinit-fork(). ] - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int svc_id; /* service ID to change */ - 1. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit uncgrafully - UNUSED! respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_KILL_SVC: Shutdown a service, don't care about its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: ready... - -CMD_INIT: Start all services (again possibly). - cinit returns: ready... - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cinit.create.cinit_dir b/software/cinit/browse_source/cinit-0.0.8/old/cinit.create.cinit_dir deleted file mode 100644 index 6fd58adb..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cinit.create.cinit_dir +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create our initial directory -# 2005-05-24 - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -mkdir -p $BASEDIR diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cinit.create.service b/software/cinit/browse_source/cinit-0.0.8/old/cinit.create.service deleted file mode 100644 index df092275..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cinit.create.service +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name (including category)" - echo " I do create a service for you" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -# read input (from gentoo-bug.sh, http://linux.schottelius.org/scripts/#gentoo-bug -reread() -{ - _tmp="" - name="$1" - - while [ ! "$_tmp" ]; do - read -p "$1 [$_tmp]: " _tmp - done - - echo $_tmp -} - - -for svc in $@; do - echo -n "Creating $svc ..." - mkdir -p "${BASEDIR}/${svc}" - cd ${BASEDIR}/${svc} - mkdir -p "${C_WANTS}" "${C_NEEDS}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cinit.h01 b/software/cinit/browse_source/cinit-0.0.8/old/cinit.h01 deleted file mode 100644 index e07fa2c1..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cinit.h01 +++ /dev/null @@ -1,80 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ - -/* limits */ -#define MAX_SVC 1024 /* maximum services */ -#define MAX_DEPS 32 /* maximum direct dependencies of a service */ - -/* paths */ -#define CINIT_DIR "/etc/cinit" - -#define F_IN "in" -#define F_OUT "out" -#define SLASH "/" - -#define C_INIT "init" -#define C_SHD "shutdown" -#define C_REBOOT "reboot" - -#define C_NEEDS "./needs" -#define C_WANTS "./wants" -#define C_RUN "./run" -#define C_RESPAWN "respawn" -#define C_PARAMS "params" - -/* return values */ -#define RT_FAIL 0 -#define RT_OK 1 - -#define RT_CHLD_FAIL 1 /* child failed */ -#define RT_CHLD_OK 2 /* child succeded */ -#define RT_PAR_FAIL 3 /* parent failed */ -#define RT_PAR_OK 4 /* parent succeded */ - -/* status of a service-starter (run_run_svc) */ -#define RT_ONE_FAILED 5 /* one ore more failed */ -#define RT_ALL_STARTED 6 /* everything ok */ -#define RT_DEPS_MAX 7 /* too many dependencies */ - -/* status of a service */ -#define ST_NO 0 /* process not existing */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ -#define ST_FAIL 4 /* failed to start service */ - - - -/* variables */ - -/* array of svc */ -/* linked list of services */ -/* balanced trees */ - -struct svc { - char *abs_path; /* service identifier */ - int status; /* tmp, respawn, ran once */ - pid_t pid; /* pid of the process */ -}; - -struct svcl { - struct svc svca[MAX_SVC]; - int process; -}; - -extern struct svcl svc_list; - -/* functions */ - -void cerr(char *string, int status); -int chk_svc(char *svc); -int run_svc(char *rpath); -int add_mod_svc(char *svc, int status); -int run_run_svcs(char *rpath); - diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cnt_digits.c b/software/cinit/browse_source/cinit-0.0.8/old/cnt_digits.c deleted file mode 100644 index a692fa5c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cnt_digits.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* this code is stolen from gpm */ - -/* what's the english name for potenz ? */ -int x_high_y(int base, int pot_y) -{ - int val = 1; - - if(pot_y == 0) val = 1; - else if(pot_y < 0) val = 0; /* ugly hack ;) */ - else while(pot_y > 0) { - val = val * base; - pot_y--; - } - return val; -} - -/* return characters needed to display int */ -int cnt_digits(int number) -{ - /* 0-9 = 1 10^0 <-> (10^1)-1 - * 10 - 99 = 2 10^1 <-> (10^2)-1 - * 100 - 999 = 3 10^2 <-> (10^3)-1 - * 1000 - 9999 = 4 ... */ - - int ret = 0, num = 0; - - /* non negative, please */ - if(number < 0) number *= -1; - else if(number == 0) ret = 1; - else while(number > num) { - ret++; - num = (x_high_y(10,ret) - 1); - } - - return(ret); -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/cservice.c01 b/software/cinit/browse_source/cinit-0.0.8/old/cservice.c01 deleted file mode 100644 index 0e06cc95..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/cservice.c01 +++ /dev/null @@ -1,185 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cservice: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include -#include - -#include /* nanosleep */ - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock, logfd; - -/*********************************************************************** - * cservice - control cinit - */ - -#define CSERVICE_BANNER "cservice - control cinit\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncservice -[fund] \n" \ - "\t-u\t- (up) start a service (including all needed depedencies)\n" \ - "\t-d\t- (down) kill a respawing service\n\n" \ - "\t-f\t- (force) force starting service and all dependencies\n" \ - "\t-n\t- (no dependency) start a service, don't care about dependencies\n\n" - - -void usage(char *stext) -{ - write(1,CSERVICE_BANNER,strlen(CSERVICE_BANNER)); - write(1,stext,strlen(stext)); - write(1,USAGE_TEXT,strlen(USAGE_TEXT)); - _exit(1); - -} - -int main(int argc, char **argv) -{ - struct stat sbuf; - pid_t pid; - struct sockaddr_un addr; - char svc_dir[PATH_MAX+1]; - int tmp; - - /* argv */ - if(argc != 3) usage("Too less arguments!"); - if(argv[1][0] != '-') usage("Wrong arguments"); - if(strlen(argv[1]) != 2) usage("Wrong parameter length"); - - - switch(argv[1][1]) { - case 'o': /* on */ -// run_-vc(argv[2]); - break; - - case 'k': /* kill */ -// msg_kill_svc(argv[2]); - break; - - case 'p': /* power off */ - msg_reboot(CMD_POWEROFF); - break; - - case 'r': /* reboot */ - msg_reboot(CMD_REBOOT); - break; - - case 'h': /* halt */ - msg_reboot(CMD_HALT); - break; - - default: - usage("Unknown parameter"); - break; - } - - - /* absolute the service */ - if( argv[2][0] == '/') { - if(strlen(argv[2]) > PATH_MAX) usage("Servicename too long"); - - strcpy(svc_dir,argv[2]); - } else { - if( ( strlen(CINIT_DIR)+strlen(argv[2]) ) > PATH_MAX) - usage("Servicename too long"); - strcpy(svc_dir,CINIT_DIR); - strcat(svc_dir,argv[2]); - } - - tmp = readlink(svc_dir,svc_dir,PATH_MAX); - - if(tmp == -1) { - if(errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - } - - /* stat, checkdir */ - if( stat(svc_dir,&sbuf) ) { - perror(MSG_INIT_MISS); - _exit(1); - } - if( ! S_ISDIR(sbuf.st_mode) ) { - mini_printf(MSG_NOT_DIR); - _exit(1); - } - if( chdir(svc_dir) == -1) { - perror(MSG_CHDIR); - _exit(1); - } - - switch(argv[1][1]) { - case 't': - break; - - case 'h': - /* recursive find dependencies, this will take long time :( */ - find_deps(svc_dir) - break; - - case 'i': - run_svc(svc_dir); - break; - - case 'l': - break; - - case 'o': - break; - - default: usage("Unknown Parameter"); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - } - - /* tell the socket, _we_ want to get SIGIO! */ - pid = getpid(); - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/do_change_status.c01 b/software/cinit/browse_source/cinit-0.0.8/old/do_change_status.c01 deleted file mode 100644 index 74bb9c1e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/do_change_status.c01 +++ /dev/null @@ -1,65 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - char buf = CMD_CHG_STATUS; - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - D_PRINTF("VERSUCHE STATUS ZU AENDERN"); - printf("socket: %d (cmd=%d)\n",sock2, buf); - - if(action == ACT_READ) { - D_PRINTF("Leeeese"); - fpoint = read; - } else { - D_PRINTF("schreibe"); - fpoint = write; /* don't care about warnings! */ - } - - if(action == ACT_WRITE) { - D_PRINTF("schreibe kommando"); - if(fpoint(sock2,&buf,1) == -1) { /* COMMAND */ - perror("command i/o"); - return 0; - } - tmp = strlen(svc); - sock2 = connect_sock(sock2); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror("i/o: length"); - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror("i/o: service name"); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror("i/o: status"); - printf("Status: %d, *status=%d, sizeof=%d\n",status,*status,sizeof(*status)); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror("i/o: PID"); - return 0; - } - - D_PRINTF("fertig mit statuswechsel lesen"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/idea01 b/software/cinit/browse_source/cinit-0.0.8/old/idea01 deleted file mode 100644 index cf0df9d6..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/idea01 +++ /dev/null @@ -1,121 +0,0 @@ --------------------------------------------------------------------------------- -/etc/cinit - -> init/ - -> shutdown/ - -> reboot/ - - - needs/ -> we wait until all parallel processes are finished _and_ we - don't start if one fails - wants/ -> we start all of them parallel and wait for them? - hold/ - wait -> wait until process finished - run -> program to execute - params -> \n seperated argument list - respawn -> respawn it - -services may only be under /etc/cinit? --------------------------------------------------------------------------------- -Service-Status: - -- abs_path -- status (respawn,tmp,once) --------------------------------------------------------------------------------- - -starting services: - -run_svc("/etc/cinit/service/") - -> exec run $params -Later: - -> check if service already running -> return OK - -> check needs/ -> check wants/ - -> run_svc($cur) - - When run_svc returns, the service is started and all service it needs, too. - - --------------------------------------------------------------------------------- - -> check needs/ - -> exists -> fork( run_run_svcs() ) and continue - (fork) -> fork() run_svc(needs/*); - -> check wants/ - -> exists -> run_svc(wants/*); - -> waitfor(need_run_svc) --------------------------------------------------------------------------------- -run_run_svcs() - -> start parallel (forked) run_svc() for every service --------------------------------------------------------------------------------- - -main() - - run_svc /etc/cinit/init/ - - sleep()? -> simply do nothing -> do we need to fork ourselves? No, we are init. -spaeter: - - open /dev/console W_ONLY - - make stdin == /etc/cinit/in - - make stdout, stderr /dev/console - --------------------------------------------------------------------------------- -eof - -Things, which are clear - -- we need to fork before execl(), as excel() replaces us. -- chdir() _after_ fork() - - -profiles support: profile=$profile - - start - "service.$profile" if exists, instead of - "service" - -starting services: - -cinit: - pipe() - set_status_tmp() - fork() --> failure --> clear_service - cinit_process_watcher(): - fork() - execve(process,args,env) - waitpid() -> for once? PROCESS MUST RETURN! - write_pipe() - rmpipe() - --------------------------------------------------------------------------------- - -What to send over to cinit and read back? - - - first you need two pipes for every process: read+write (on both sides) - - cinit wants - o command - - service temporary - trying to start in right now. - - service executed once - fine - - service executed once and that failed - :-( - - service respawing - o an identifier for the service (i from service list ;-) - - --> makes 2 bytes to read --------------------------------------------------------------------------------- -How cinit works: - -cinit says: I want to start service xyz. (/etc/cinit/init on bootup) -cinit calls run_svc(). --------------------------------------------------------------------------------- - -run_svc(char *relative_path): - - check if service is alr - - fork() - - write cinit: check service, I want to start it - -> returns status of service (see ST_* in cinit.h) - - cinit returns: ok, you are temporary - - [that checked] check if service - o is already started - o is beeing started - x check if rpath S_ISDIR - x chdir(dir) - - check needs - check wants - - for every needs/* start run_svc - - check respawn -> respawn = true - - check run - diff --git a/software/cinit/browse_source/cinit-0.0.8/old/idea02 b/software/cinit/browse_source/cinit-0.0.8/old/idea02 deleted file mode 100644 index 38af8965..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/idea02 +++ /dev/null @@ -1,200 +0,0 @@ --------------------------------------------------------------------------------- -/etc/cinit - -> init/ - -> shutdown/ - -> reboot/ - - - needs/ -> we wait until all parallel processes are finished _and_ we - don't start if one fails - wants/ -> we start all of them parallel and wait for them? - hold/ - wait -> wait until process finished - run -> program to execute - params -> \n seperated argument list - respawn -> respawn it - -services may only be under /etc/cinit? --------------------------------------------------------------------------------- -Service-Status: (see struct svc, cinit.h) - -- abs_path -- status (respawn,tmp,once) -- pid - -abs_path\0status\0pid\0 - --------------------------------------------------------------------------------- - -starting services: - -run_svc("/etc/cinit/service/") - -> exec run $params -Later: - -> check if service already running -> return OK - -> check needs/ -> check wants/ - -> run_svc($cur) - - When run_svc returns, the service is started and all service it needs, too. - - --------------------------------------------------------------------------------- - -> check needs/ - -> exists -> fork( run_run_svcs() ) and continue - (fork) -> fork() run_svc(needs/*); - -> check wants/ - -> exists -> run_svc(wants/*); - -> waitfor(need_run_svc) --------------------------------------------------------------------------------- -run_run_svcs() - -> start parallel (forked) run_svc() for every service --------------------------------------------------------------------------------- - -main() - - run_svc /etc/cinit/init/ - - sleep()? -> simply do nothing -> do we need to fork ourselves? No, we are init. -spaeter: - - open /dev/console W_ONLY - - make stdin == /etc/cinit/in - - make stdout, stderr /dev/console - --------------------------------------------------------------------------------- -eof - -Things, which are clear - -- we need to fork before execl(), as excel() replaces us. -- chdir() _after_ fork() - - -profiles support: profile=$profile - - start - "service.$profile" if exists, instead of - "service" - -starting services: - -cinit: - pipe() - set_status_tmp() - fork() --> failure --> clear_service - cinit_process_watcher(): - fork() - execve(process,args,env) - waitpid() -> for once? PROCESS MUST RETURN! - write_pipe() - rmpipe() - --------------------------------------------------------------------------------- - -What to send over to cinit and read back? - - - first you need two pipes for every process: read+write (on both sides) - - cinit wants - o command - - service temporary - trying to start in right now. - - service executed once - fine - - service executed once and that failed - :-( - - service respawing - o an identifier for the service (i from service list ;-) - - --> makes 2 bytes to read --------------------------------------------------------------------------------- -How cinit works: - -cinit says: I want to start service xyz. (/etc/cinit/init on bootup) -cinit calls run_svc(). --------------------------------------------------------------------------------- - -int run_svc(char *relative_path): - - check if service is already running or temporary (task list!) - -> yes: return RT_PAR_OK - -> no: continue. - - set service to be temporary (ST_TMP) and retrieve SID (service ID) - - walk through dependency tree and call run_svc - - fork() -> so cinit can continue. - - write cinit: check service, I want to start it - -> returns status of service (see ST_* in cinit.h) - - cinit returns: ok, you are temporary - - [that checked] check if service - o is already started - o is beeing started - x check if rpath S_ISDIR - x chdir(dir) - - check needs - check wants - - for every needs/* start run_svc - - check respawn -> respawn = true - - check run - --------------------------------------------------------------------------------- - -add_mod_svc(char *svc, int status) - -> add or modify status of a service - - - check whether service exists, reset status - - if not exists, insert if maximum of services is not reached --------------------------------------------------------------------------------- - -cinit communications proto --------------------------------------------------------------------------------- - -cinit: - -> signal_handler on SIGCHLD - run_init() - -> run_svc(init) - -> fork() -> do the work - -signal_handler_child - waitpid(.*) - -> returns pid - - oder waitpid() in dem run_svc, wenn need/once? - - need: - for i in need/*; do - ( $service & ); - done - wait(.*); - --------------------------------------------------------------------------------- - -cinit: - -run_svc: - checks what it needs (need/*) - need/* - fork() - fork(), fork() - --------------------------------------------------------------------------------- -Kommunikationsproblem: - - -> 1024 ist maximale anzahl offener sockets -> 510 von fifos,pipes - - mehrere FIFOs? - --> kommunikation gesichert, extrem viele fifos... - --> etwas unsauber, aber geregelte kommunikation - - mehrere PIPEs? - --> viele PIPEs (HRHR) - --> programme koennen nur von cinit gefork()ed werden. - - --> eine datei mit prozessen? - --> einen RAM Bereich? --------------------------------------------------------------------------------- - -cinit[1] <-> fifo <-> forker - -forker? --------------------------------------------------------------------------------- - -pfad vorher aufloesen? - --------------------------------------------------------------------------------- -Kommunikation: ::Test:: - - Test mit nur 2 FIFOs! - --------------------------------------------------------------------------------- - -sig_fifo() -read(..) als hauptaufgabe? diff --git a/software/cinit/browse_source/cinit-0.0.8/old/msg_change_status.c01 b/software/cinit/browse_source/cinit-0.0.8/old/msg_change_status.c01 deleted file mode 100644 index cfd66ae3..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/msg_change_status.c01 +++ /dev/null @@ -1,49 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include - -#include "cinit.h" - -int do_change_status(char *svc, char status, pid_t pid, int action) -{ - char buf = CMD_CHG_STATUS; - int tmp = strlen(svc); - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_READ) - fpoint = read; - else - fpoint = write; - - D_PRINTF("versuche status zu aendern"); - - if(write(sock,&buf,1) == -1) { /* write COMMAND */ - perror("write"); - return 0; - } - if(write(sock,&tmp,sizeof(tmp)) == -1) { /* write length */ - perror("write"); - return 0; - } - if(write(sock,svc,tmp) == -1) { /* write service name */ - perror("write"); - return 0; - } - if(write(sock,&buf,1) == -1) { /* write PID */ - perror("write"); - return 0; - } - write(sock,&status,sizeof(status)); /* write status */ - - D_PRINTF("fertig mit schreiben"); - - read(sock,&buf,sizeof(buf)); /* read SID or -1 if error */ - - return buf; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/msg_start_svc.c b/software/cinit/browse_source/cinit-0.0.8/old/msg_start_svc.c deleted file mode 100644 index c6a78bf8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/msg_start_svc.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit we start a service - */ - -#include - -/* return status */ -int msg_start_svc(char *string, int respawn) -{ - char *p; - - p = string; - while ( *p != '\0') { - write(2,p,1); - p++; - } - -/* FIXME: return if in cinit, _exit on fork() */ -// if(...) - _exit(status); -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/read_file.c b/software/cinit/browse_source/cinit-0.0.8/old/read_file.c deleted file mode 100644 index 43a5854b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/read_file.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - - -#include "cinit.h" - -/*********************************************************************** - * read_file: return file content, each line a char* - */ - -char **read_file(char *file) -{ - int tmp; - int fd, argc; - - char buf[BUFSIZE]; - char *p, *sbuf = NULL; - char **nargv = NULL; - - struct stat stbuf; - - D_PRINTF("Lese Datei"); - D_PRINTF(file); - - if( !stat(file,&stbuf) ) { - fd = open(file,O_RDONLY); - - if(fd == -1) { - LOG("params exists, but open params failed"); - return NULL; - } - - D_PRINTF("open ist ok"); - - argc = 0; - - /* most likely one round */ - while ( (tmp = read(fd,buf,BUFSIZE) ) != 0 ) { - if(tmp == -1) { - perror("read"); - return NULL; - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],buf,tmp); - argc += tmp; - } - close(fd); - } - - sbuf[argc] = '\0'; - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() */ - - argc = 0; - - while( (p = strchr(sbuf,'\n')) ) { - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG("realloc failed"); - return NULL; - } - - nargv[argc] = sbuf; - *p = '\0'; - sbuf = p+1; /* is ok, as behind the last \n is a \0 */ - argc++; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - if(nargv == NULL) { - LOG("realloc failed"); - return NULL; - } - - nargv[argc] = NULL; /* terminate argv list */ - - return nargv; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/run_init_svc.c01 b/software/cinit/browse_source/cinit-0.0.8/old/run_init_svc.c01 deleted file mode 100644 index 61467f44..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/run_init_svc.c01 +++ /dev/null @@ -1,50 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * start the first service - */ - -int run_init_svc() -{ - pid_t pid; - - D_PRINTF("Starte initialen starter"); - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror("fork failed\n"); - return RT_PAR_FAIL; - } else if(pid == 0) { /* child */ - /* close fifo */ - close(f_in); close(f_out); - - /* open the other way round */ - f_in = open(CINIT_DIR SLASH F_OUT, O_RDWR); - f_out = open(CINIT_DIR SLASH F_IN, O_RDWR); - if(f_in == -1 || f_out == -1) cerr("opening fifo failed\n",RT_CHLD_FAIL); - - /* open stderr, stdin, stdout to files? */ - if ( run_svc(CINIT_INIT) == RT_CHLD_OK) - _exit(EX_OK); - else - _exit(EX_FAIL); - } else - return RT_PAR_OK; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c00 b/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c00 deleted file mode 100644 index ff3bb989..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c00 +++ /dev/null @@ -1,140 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp, sid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - close(sock); /* close old socket connection, we are a fork()! */ - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - tmp = sizeof(addr); - memset(&addr,0,tmp); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - /* FIXME: why do we need tmp????? ... tmp == 1 is wrong!*/ -/* tmp = 1; - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } */ - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - D_PRINTF("some NEEDED services failed)"); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - tmp = ST_ONCE; - sid = 20; - D_PRINTF("Melde status"); - if(!do_change_status(abspath,&tmp,&sid,sock,ACT_WRITE)) { - D_PRINTF("Status nicht gemeldet :((((((((((("); - return 0; - } - D_PRINTF("Status abgesetzt"); - -/* if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - if(respawn_svc(abspath)) { - msg_change_status(sid,ST_RESPAWN); - } else { - D_PRINTF("error in respawn"); - msg_change_status(sid,ST_FAIL); - } - } else { - D_PRINTF("einmal ausfuehren"); - if(exec_svc(abspath)) { - msg_change_status(sid,ST_ONCE); - } else { - D_PRINTF("error einmalig"); - msg_change_status(sid,ST_FAIL); - } - } */ -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c01 b/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c01 deleted file mode 100644 index e7457af0..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c01 +++ /dev/null @@ -1,292 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* perhaps move this code to cinit-static, so it's constant */ - while(tmp < svc_list.process) { - printf("%d\n",tmp); - - if( ! strcmp(rpath,svc_list.svca[tmp].abs_path) ) { - printf("Service im Array\n"); - return 0; - } - tmp++; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* check for respawn? */ - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether _one_ service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check if already running / ran / currently starting */ - - /* debug */ - getcwd(pathbuf,1024); - - printf("dir: %s\n",pathbuf); - - /* check for service dir */ - if( stat(path,&buf) ) { - printf("no such service: %s\n", path); - return 1; - } - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c02 b/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c02 deleted file mode 100644 index 7fb329b6..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c02 +++ /dev/null @@ -1,282 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* perhaps move this code to cinit-static, so it's constant */ - while(tmp < svc_list.process) { - printf("%d\n",tmp); - - if( ! strcmp(rpath,svc_list.svca[tmp].abs_path) ) { - printf("Service im Array\n"); - return 0; - } - tmp++; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* check for respawn? */ - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c03 b/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c03 deleted file mode 100644 index 9422a7c9..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c03 +++ /dev/null @@ -1,283 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_in[2], p_out[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* create communication pipe */ - if ( pipe(p_in) == -1 || pipe(p_out) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - - /* check for respawn? yes, sometime... */ - - /* check for needs -> forked() */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - tmp = fork(); - if(tmp == -1) { - printf("error ...\n"); - exit(1); - } else if(tmp == 0) { /* child */ - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - printf("ZOOOMBIE\n"); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /* fork before chdir */ - pid = fork(); - - if(pid == -1) { - printf("ERORERER\n"); - return 0; - } else if(pid > 0) { /* parent gets child's PID */ - - /* NOT IF RESPAWN */ - if(!respawn) { - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) - return RT_PAR_OK; - else - return RT_PAR_FAIL; - } /* else */ /* Was tun, wenn respawn? nochmal forken als beobachter, - oder signal? */ - } - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - /* THis saVES US THE OTHER STRCMP!!!!! */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check, whether we should respawn fixme: much earlier! */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( !stat(pathtmp,&buf) ) respawn = 1; - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - -beof - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c04 b/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c04 deleted file mode 100644 index 727aa71f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c04 +++ /dev/null @@ -1,297 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid == -1) { - cerr("fork failed\n", RT_PAR_FAIL); - } else if(pid > 0) { /* parent gets child's PID */ - - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - printf("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - - /* check for needs */ - - /* do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcat(pathtmp,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathbuf); - pid = fork(); - if(tmp == -1) { - cerr("error ...\n", RT_PAR_FAIL); - } else if(tmp == 0) { - printf("child for run_run_svcs()\n"); - run_run_svcs(pathbuf); - _exit(0); - } - else - printf("parent\n"); - } - - /* check for wants -> forked() ? */ - strcpy(pathbuf,rpath); - strcat(pathbuf,"/"); - strcat(pathbuf,C_WANTS); - - if( ! stat(pathbuf,&buf) ) { - printf("dir gibt es auch: %s\n", pathbuf); - run_run_svcs(pathbuf); - } - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if run is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c05 b/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c05 deleted file mode 100644 index 927a9261..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c05 +++ /dev/null @@ -1,294 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets relative path */ -int run_svc_new(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid == -1) { - cerr("fork failed\n", RT_PAR_FAIL); - } else if(pid > 0) { /* parent gets child's PID */ - - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - printf("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathbuf,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} - - -/*********************************************************************** - * run_svc: gets a wants/needs directory - * returns whether the service failed or not - */ -int run_svc(char *path) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char *p, pathbuf[1024]; - struct stat buf; - int tmp; - - /* check for service/run */ - strcpy(pathbuf,path); - strcat(pathbuf,"/"); - strcat(pathbuf,C_RUN); - - d_tmp = opendir(pathbuf); - - if(d_tmp == NULL) { - printf("failed to open dir..."); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - if (strcmp(tdirent->d_name, ".") == 0 || strcmp(tdirent->d_name, "..") == 0) - continue; - - p=tdirent->d_name; - while(*p != '\0') { - write(1,p,1); - p++; - } - write(1,"\n",1); - } - - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c05.2 b/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c05.2 deleted file mode 100644 index 90d94b65..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c05.2 +++ /dev/null @@ -1,320 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* end socket *********************/ - - sid = msg_start_svc(rpath); /* now we are temporary */ - if(sid == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - return 0; - } - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - msg_change_status(sid,ST_FAIL); - return 0; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - msg_change_status(sid,ST_FAIL); - return 0; - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - /* clone */ - pid = fork(); - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - return 0; - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /*************** THIS BLOCK IS CRAP ******************/ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - msg_change_status(sid,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - msg_change_status(sid,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - /* FIXME: MISSING: - - signal handling (stop respawing) - - waitpid() in while(1) - */ - _exit(0); /* FIXME !!! */ - - /*************** END THIS BLOCK IS CRAP ******************/ - - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - - /*********** CHILD EXECUTION HERE ***********/ - do { - - - } while(respawn); - - - - /* change to service dir */ - if( chdir(rpath) == -1) { - /* FIXME: errno! */ - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c06 b/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c06 deleted file mode 100644 index 7dd265fc..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c06 +++ /dev/null @@ -1,293 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("Fehler"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - msg_start_svc(rpath); - D_PRINTF("in runsvc"); - _exit(0); - - /* check if service is already (beeing) started */ - if ( (tmp = chk_svc_client(rpath) ) != ST_NO) return tmp; - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - return ; - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - return 0; - } - - /* get our own service ID */ - sid = add_mod_svc(rpath,ST_TMP); - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) respawn = 1; - - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) - cerr("pipe failed",RT_PAR_FAIL); - } - - /* fork at the beginning and before chdir */ - pid = fork(); - - /* FIXME: pay attention: we are possibly also a fork()! */ - - if( pid == -1 ) cerr("fork failed",RT_PAR_FAIL); - - if(pid > 0) { /* parent gets child's PID */ - if(respawn) { - /* read the final byte from child */ - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == ST_RESPAWN) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } else { /* execute once */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c07 b/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c07 deleted file mode 100644 index e62eff54..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c07 +++ /dev/null @@ -1,304 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - _exit(1); - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - _exit(1); - } - - tmp = msg_start_svc(rpath); /* now we are temporary */ - - D_PRINTF("in runsvc"); - - if(tmp == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - _exit(1); - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - pid = fork(); - /* pay attention: we are also a fork()! */ - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - _exit(1); - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - add_mod_svc(rpath,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c08 b/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c08 deleted file mode 100644 index 587e13e2..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c08 +++ /dev/null @@ -1,316 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp=0, respawn = 0, status, fd, cnt, sid; - int p_com[2]; /* talk to respawnig watcher */ - char pathbuf[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - char **nargv, *sbuf, *p; /* the argv for the executed process */ - struct stat buf; - pid_t pid; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - /* close old socket connection */ - D_PRINTF("beginne socket zeugs"); - close(sock); - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - _exit(1); - } - memset(&addr,0,sizeof(addr)); - strcpy(addr.sun_path, CINIT_SOCK); - - addr.sun_family = AF_UNIX; - tmp = sizeof(addr); - - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - cerr("Does your OS not support SO_PASSCRED (man 7 socket)?",RT_PAR_FAIL); - /* FIXME: cerr */ - } - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - _exit(1); - } - - /******************* end socket *********************/ - - /* check whether service exists */ - if( stat(rpath,&buf) ) { - printf("Service does not exist %s\n",rpath); - _exit(1); - } else if( ! S_ISDIR(buf.st_mode) ) { - printf("Service is not a dir (%s)!\n",rpath); - _exit(1); - } - - sid = msg_start_svc(rpath); /* now we are temporary */ - - D_PRINTF("in runsvc"); - - if(sid == -1) { - cerr("cinit returned start error",RT_CHLD_FAIL); - _exit(1); - } - - /* check, whether we should respawn */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); /* FIXME: check return values */ - if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - respawn = 1; - } - - /* if respawn, we have to create a pipe to talk with child */ - if(respawn) { - if ( pipe(p_com) == -1 ) { - perror("pipe"); - cerr("pipe failed",RT_PAR_FAIL); - } - } - - pid = fork(); - /* pay attention: we are also a fork()! */ - if( pid == -1 ) { - perror("fork"); - cerr("fork failed",RT_CHLD_FAIL); - _exit(1); - } - - _exit(0); - - /* the following block handles parent situation */ - - if(pid > 0) { /* parent gets child's PID */ - - /*************** THIS BLOCK IS CRAP ******************/ - - /* FIXME: when respawing, we'll watch our child */ - if(respawn) { - tmp = MSG_FAIL; - read(p_com[0],&tmp,1); /* FIXME: check return */ - if(tmp == MSG_OK) { - D_PRINTF("kind sagte, wir respawnenen jetzt\n"); - msg_change_status(sid,ST_RESPAWN); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { /* child failed */ - printf("kind sagte, respawn kaputt\n"); - msg_change_status(sid,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - /* FIXME: MISSING: - - signal handling (stop respawing) - - waitpid() in while(1) - */ - _exit(0); /* FIXME !!! */ - - /*************** END THIS BLOCK IS CRAP ******************/ - - } else /* don't RESPAWN */ { /* execute only once */ - D_PRINTF("Warte EINMAL auf mein Kind..."); - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - add_mod_svc(rpath,ST_ONCE); /* FIXME: search bei sid! */ - return RT_PAR_OK; - } else { - add_mod_svc(rpath,ST_FAIL); /* FIXME: search bei sid! */ - return RT_PAR_FAIL; - } - } - } - /* done till here. PARENTS EXECUTION ENDED! */ - - /*********** CHILD EXECUTION HERE ***********/ - - /* change to service dir */ - if( chdir(rpath) == -1) { - /* FIXME: errno! */ - printf("chdir(%s) failed!\n",rpath); - return 1; - } - - /* getcwd returns the full service name */ - if(getcwd(pathbuf,PATH_MAX) == NULL) return 0; - - printf("absolut and current %s\n",pathbuf); - - /* check for needs */ - - /* CHECKME: do we need absolute paths anymore? */ - // strcpy(pathbuf,rpath); - // strcat(pathbuf,"/"); - strcpy(pathtmp,C_NEEDS); - if( ! stat(pathtmp,&buf) ) { - printf("going for %s\n",pathtmp); - if( run_run_svcs(pathtmp) != RT_ALL_STARTED ) { - cerr("couldn't start all services I depend on\n",RT_CHLD_FAIL); - } - } - - /* check for wants -> forked() ? */ -// strcpy(pathbuf,rpath); -// strcat(pathbuf,"/"); - strcpy(pathtmp,C_WANTS); - - if( ! stat(pathtmp,&buf) ) { - printf("dir gibt es auch: %s\n", pathtmp); - run_run_svcs(pathtmp); /* don't care if everything went well */ - } - - /* everything is started, now start ourselves! */ - - /**** RETRIEVE REAL BINARY NAME ****/ - /* .../run */ -// strcpy(pathtmp,pathbuf); -// strcat(pathtmp,"/"); -// strcpy(pathtmp,C_RUN); /* FIXME: check return values */ - - /* readlink retrieves real name, if "./run" is a symlink */ - if ( (tmp = readlink(C_RUN,pathtmp,PATH_MAX) ) == -1) { - if (errno != EINVAL) cerr("readlinx failed\n",RT_CHLD_FAIL); - - /* binary is not a link, copy that to argv0 */ - sbuf = (char *) malloc( strlen(pathbuf) + strlen(C_RUN) + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strcpy(sbuf,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); /* FIXME: check return values */ - - } else { /* it's a link, copy to sbuf */ - sbuf = (char *) malloc( tmp + 1 ); - if(sbuf == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - strncpy(sbuf,pathtmp,tmp); - sbuf[tmp] = '\0'; - } - printf("argv0: %s\n",sbuf); - - /**** BUILD ARGV ****/ - - /* STOPPPPPPPED ********** - broken code: malloc of char* missing! */ - nargv = malloc( sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[0] = sbuf; - - /**** read params ****/ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_PARAMS); - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - if(fd == -1) cerr("open params failed\n",RT_CHLD_FAIL); - - sbuf = NULL; - cnt = 0; - /* most likely one round */ - while ( (tmp = read(fd,pathtmp,PATH_MAX-1) ) != 0 ) { - if(tmp == -1) cerr("read params failed\n",RT_CHLD_FAIL); - - /* STRCHR >> tmp ???? */ - /* terminate for strchr - do we really need that? */ - pathtmp[PATH_MAX-1] = '\0'; - - sbuf = realloc(sbuf,cnt + tmp + 1); - if(sbuf == NULL) cerr("realloc failed\n",RT_CHLD_FAIL); - - /* copy to temporary buffer */ - strncpy(&sbuf[cnt],pathtmp,tmp); - - cnt += tmp; - printf("Groesse: %d (%d)\n",tmp,cnt+1); - } - close(fd); - } /* if params */ - sbuf[cnt] = '\0'; - - /* build argv, now really */ - /* use the allocated buffer and replace \n with \0 ;-) */ - - cnt = 1; -// p = sbuf; - while ( *sbuf != '\0' ) { - p = strchr(sbuf,'\n'); /* set p to next \n */ - - nargv = realloc(nargv,(cnt+1) * sizeof(char *) ); - if(nargv == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); -// nargv[cnt] = malloc( sizeof(char *) ); -// if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = sbuf; /* beginning of argv[cnt] */ - *p = '\0'; /* end argv[cnt] */ - - tmp = p - sbuf; - printf("argv[%d]: %s (%d)\n",cnt,nargv[cnt],tmp); - sbuf = p+1; - cnt++; - } - /* GNAAAAAAAAAA: correct???? */ - /* close argv list */ - nargv[cnt] = malloc( sizeof(char *) ); - if(nargv[cnt] == NULL) cerr("malloc failed\n",RT_CHLD_FAIL); - - nargv[cnt] = NULL; - - // char *strchr(const char *s, int c); - /* end buffer */ - - /* get size of argv[n] */ - - /* run the fscking service */ - strcpy(pathtmp,pathbuf); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RUN); - printf("Service starten: %s \n", pathtmp); - - /* nothing to run, so it's finished */ - if( stat(pathtmp,&buf) ) _exit(0); - - //execl(pathtmp,pathtmp,"/bin/ls","-l", "/bin/echo"); - execv(pathtmp,nargv); - -// _exit(1); - -/* - if(respawn) - tmp = 0; - execl(); - return 1; -*/ -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c09 b/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c09 deleted file mode 100644 index ff3bb989..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/run_svc.c09 +++ /dev/null @@ -1,140 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* Run a service */ -/* We _MUST_ return!!! */ -int run_svc(char *rpath) -{ - int tmp, sid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct sockaddr_un addr; - - D_PRINTF("starte run_svc"); - D_PRINTF(rpath); - - /******************* begin socket *********************/ - close(sock); /* close old socket connection, we are a fork()! */ - - sock = socket(PF_UNIX,SOCK_STREAM,0); - if( sock == -1 ) { - perror("socket"); - return 0; - } - tmp = sizeof(addr); - memset(&addr,0,tmp); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - /* FIXME: why do we need tmp????? ... tmp == 1 is wrong!*/ -/* tmp = 1; - if(setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &tmp, sizeof(tmp)) == -1) { - perror("passcred"); - return 0; - } */ - - if(connect(sock,(struct sockaddr *)&addr,tmp) == -1) { - perror("connect"); - return 0; - } - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror("getcwd"); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror("chdir"); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror("getcwd2"); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror("chdir2"); - return 0; - } - - /******************* REGISTER SERVICE ***************/ - D_PRINTF(abspath); - tmp = msg_start_svc(abspath); /* mark us as temporary */ - if(tmp == -1) return 1; /* already started */ - - /******************* BEGIN DEPENDENCIES ***************/ - D_PRINTF("Starte needs"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_NEEDS); - if( ! run_run_svcs(pathtmp) ) { - D_PRINTF("some NEEDED services failed)"); - return 0; - } - - D_PRINTF("Starte wants"); - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_WANTS); - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,"/"); - strcat(pathtmp,C_RESPAWN); - - tmp = ST_ONCE; - sid = 20; - D_PRINTF("Melde status"); - if(!do_change_status(abspath,&tmp,&sid,sock,ACT_WRITE)) { - D_PRINTF("Status nicht gemeldet :((((((((((("); - return 0; - } - D_PRINTF("Status abgesetzt"); - -/* if( stat(pathtmp,&buf) == 0) { - D_PRINTF("Respawn, ja das werden wir tun"); - if(respawn_svc(abspath)) { - msg_change_status(sid,ST_RESPAWN); - } else { - D_PRINTF("error in respawn"); - msg_change_status(sid,ST_FAIL); - } - } else { - D_PRINTF("einmal ausfuehren"); - if(exec_svc(abspath)) { - msg_change_status(sid,ST_ONCE); - } else { - D_PRINTF("error einmalig"); - msg_change_status(sid,ST_FAIL); - } - } */ -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/sig_chld.c b/software/cinit/browse_source/cinit-0.0.8/old/sig_chld.c deleted file mode 100644 index e452f570..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/sig_chld.c +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* we are called, when a child exited */ -void sig_chld(int status) -{ - int pstat, i = 0; - pid_t pid; - - /* get pid of child and its status */ - pid = waitpid(chpid,&pstat,0); - - /* the child was either a respawed or once running process */ - - while(i < svc_list.process) { - if(pid == svc_list.svca[i].pid) { /* found service */ - - } - i++; - } - - if( WIFEXITED(pstat) ) printf("Kind gut gestorben\n"); - - printf("kind tot %d ...\n", status); -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/sig_special.c b/software/cinit/browse_source/cinit-0.0.8/old/sig_special.c deleted file mode 100644 index 6152f515..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/sig_special.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called by signal to reboot - */ - -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_special - * react on special signals: - o SIGINT: ctrl + alt + del - o SIGWINCH: keyboard request - */ - -void sig_special(int signal) -{ - /* not used */ -} diff --git a/software/cinit/browse_source/cinit-0.0.8/old/sigio.c01 b/software/cinit/browse_source/cinit-0.0.8/old/sigio.c01 deleted file mode 100644 index 4e1ee482..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/sigio.c01 +++ /dev/null @@ -1,73 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - struct ucred suck; - int len, lens, nsock; - struct sockaddr_un sun; - char buf; - - D_PRINTF("sigio() startet"); - - do { - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - if( nsock == -1) { - if (errno != EAGAIN) { - perror("accept"); - _exit(1); - } else { - break; - } - } - - //getsockopt(s_tmp[s_idx], SOL_SOCKET, SO_PEERCRED, &suck, &len); - getsockopt(nsock, SOL_SOCKET, SO_PEERCRED, &suck, &len); - printf("angreifer: pid: %d uid: %d gid: %d\n",suck.pid,suck.uid,suck.gid); - - - read(nsock,&buf,1); - - printf("command: %d\n",buf); - - while ( (len = read(nsock,&buf,1)) ) { -// printf("laenge: %d\n",len); - if(len == -1) { -// if(errno != EINVAL && errno != EAGAIN) { - perror("read"); - return; -// _exit(1); -// } - } - if(buf == 0) break; - write(1,&buf,1); - } - printf("Fertig mit lesen\n"); - - write(nsock,"ok\n",4); - printf("fertig mit schreiben\n"); - } while ( 1 ); - - printf("keine sockets mehr da..., sigio beendet sich jetzt.\n"); -} - - diff --git a/software/cinit/browse_source/cinit-0.0.8/old/sock_group b/software/cinit/browse_source/cinit-0.0.8/old/sock_group deleted file mode 100644 index d4c1adda..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/sock_group +++ /dev/null @@ -1,3 +0,0 @@ -root - -The group, which should own the communication socket. diff --git a/software/cinit/browse_source/cinit-0.0.8/old/sock_mode b/software/cinit/browse_source/cinit-0.0.8/old/sock_mode deleted file mode 100644 index b2a727b0..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/sock_mode +++ /dev/null @@ -1,3 +0,0 @@ -0770 - -Octal mode of socket. diff --git a/software/cinit/browse_source/cinit-0.0.8/old/sock_user b/software/cinit/browse_source/cinit-0.0.8/old/sock_user deleted file mode 100644 index 34274f4f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/old/sock_user +++ /dev/null @@ -1,3 +0,0 @@ -root - -The one who should own the communication socket. diff --git a/software/cinit/browse_source/cinit-0.0.8/samples/README b/software/cinit/browse_source/cinit-0.0.8/samples/README deleted file mode 100644 index 21532d87..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/samples/README +++ /dev/null @@ -1,5 +0,0 @@ -There is currently only one sample (debian.tar). - -The others are only linked to it, because the multi-distribution -support is already included into bin/cinit.install.test. - diff --git a/software/cinit/browse_source/cinit-0.0.8/samples/debian.tar b/software/cinit/browse_source/cinit-0.0.8/samples/debian.tar deleted file mode 100644 index 3e68759b..00000000 Binary files a/software/cinit/browse_source/cinit-0.0.8/samples/debian.tar and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.0.8/samples/fedora.tar b/software/cinit/browse_source/cinit-0.0.8/samples/fedora.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/samples/fedora.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.8/samples/gentoo.tar b/software/cinit/browse_source/cinit-0.0.8/samples/gentoo.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/samples/gentoo.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.8/samples/mandrake.tar b/software/cinit/browse_source/cinit-0.0.8/samples/mandrake.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/samples/mandrake.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.8/samples/suse.tar b/software/cinit/browse_source/cinit-0.0.8/samples/suse.tar deleted file mode 120000 index 1ba34d8e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/samples/suse.tar +++ /dev/null @@ -1 +0,0 @@ -debian.tar \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.0.8/sbin/cservice b/software/cinit/browse_source/cinit-0.0.8/sbin/cservice deleted file mode 100644 index fcec3b22..00000000 Binary files a/software/cinit/browse_source/cinit-0.0.8/sbin/cservice and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.0.8/serv/cinit.c b/software/cinit/browse_source/cinit-0.0.8/serv/cinit.c deleted file mode 100644 index 8147c4b8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/serv/cinit.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include -#include - -#include /* nanosleep */ - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock, logfd; -pid_t cpid; - -/*********************************************************************** - * the main procedure - */ - -int main(int argc, char **argv) -{ - struct stat sbuf; - struct sockaddr_un addr; - struct timespec ts; - char *initdir; - - set_signals(ACT_SERV); /* set signal handlers */ - logfd = 1; /* write to stdout */ - list = NULL; /* list of services is empty currently */ - - initdir = CINIT_INIT; - - /* profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* stat, checkdir */ - if( stat(CINIT_INIT,&sbuf) ) { - perror(MSG_INIT_MISS); - panic(); - } - if( ! S_ISDIR(sbuf.st_mode) ) { - LOG(MSG_NOT_DIR); - panic(); - } - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - /* tell the socket, _we_ want to get SIGIO! */ - cpid = getpid(); - if(fcntl(sock,F_SETOWN,cpid) == -1) { - perror(MSG_FCNTL); - panic(); - } - - /* O_SYNC: SIGIO will be called, O_NONBLOCK: don't block cinit */ - if ( fcntl(sock,F_SETFL,O_ASYNC|O_NONBLOCK) == -1) { - perror(MSG_FCNTL); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - /******************** end socket **********************/ - - /* initial run, only if we are 'real' init': not needed */ -// if( cpid == 1) { -// if(! run_init_svc() ) { -// panic(); -// } -// } - - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - ts.tv_sec = SLEEP_INIT; - while(1) { - nanosleep(&ts,NULL); - } -} diff --git a/software/cinit/browse_source/cinit-0.0.8/serv/list.c b/software/cinit/browse_source/cinit-0.0.8/serv/list.c deleted file mode 100644 index 50f863a5..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/serv/list.c +++ /dev/null @@ -1,106 +0,0 @@ -/* (c) 2005 by Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * list handling: the processes cinit will execute/executed - * part of cinit - * changed some formatting, Nico Schottelius - */ - -#include -#include -#include "cinit.h" - - -int list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc( sizeof(struct listitem) ); - - if( tmp == NULL ) { - return 0; - } - - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members, add this one */ - tmp->after = list; /* after the new element comes the begin */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first element has us as previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if( list == NULL ) { /* think positive */ - return NULL; - } else { - tmp = list; - } - - do { - if( !strcmp(path, tmp->abs_path) ) { - return tmp; - } - tmp = tmp->before; - } while(tmp != list); - - return NULL; -} - -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->after->before = tmp->before; - tmp->before->after = tmp->after; - free(tmp->abs_path); - free(tmp); - return 1; -} - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - -// D_PRINTF(path); - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/serv/panic.c b/software/cinit/browse_source/cinit-0.0.8/serv/panic.c deleted file mode 100644 index a130945f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/serv/panic.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * panic: if cinit fails, start sulogin - * part of cinit - */ - -#include "cinit.h" -#include - -void panic(void) -{ - char *nargv[2]; - - nargv[0] = SULOGIN; - nargv[1] = NULL; - - /* FIXME: perhaps fork before? And return to standard after? */ - execv(SULOGIN,nargv); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.0.8/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.0.8/serv/run_init_svc.c deleted file mode 100644 index 8a405a70..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/serv/run_init_svc.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - int status; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - logfd = 1; /* FIXME: shouldn't this be some kind of log, like /dev/log? */ - set_signals(ACT_CLIENT); - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ?*/ - if ( run_svc(cinit_svc) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - waitpid(pid, &status,0); - - /* return to init what happened */ - if(WIFEXITED(status)) { - return (! WEXITSTATUS(status) ); - } else { - return 0; - } - } -} diff --git a/software/cinit/browse_source/cinit-0.0.8/serv/sig_child.c b/software/cinit/browse_source/cinit-0.0.8/serv/sig_child.c deleted file mode 100644 index e6af3ead..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/serv/sig_child.c +++ /dev/null @@ -1,22 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called, when a child dies. Remove it. - */ - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_child - * collect the children - */ - -void sig_child(int signal) -{ - do { - signal = waitpid(-1,&signal,WNOHANG); - } while( signal > 0); -} diff --git a/software/cinit/browse_source/cinit-0.0.8/serv/sig_reboot.c b/software/cinit/browse_source/cinit-0.0.8/serv/sig_reboot.c deleted file mode 100644 index e1a9974e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/serv/sig_reboot.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called by signal to reboot - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void sig_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - /* Let's disappear, we don't care about clients anymore */ - close(sock); - if(umount(CINIT_TMNT) == -1) { - perror(CINIT_TMNT); - } - - /********* first SIGTERM the respawning processes **********/ - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - kill(tmp->pid,SIGTERM); - } - tmp = tmp->before; - } while( tmp != list ); - - /********* now wait for the respawn watchers to return *****/ - tmp = list->before; - do { - if( tmp->status == ST_RESPAWN) { - /* wait until the respawn watcher terminated */ - waitpid(tmp->pid,&i,0); - } - - /* execute shutdown service FIXME: parallelize that?*/ - exec_svc(tmp->abs_path,0); - tmp = tmp->before; - } while( tmp != list ); - - /* now: all services are down, lets kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ -#define CMD_CNT 4 -#define SWAP_OFF_CMD "/sbin/swapoff" -#define SWAP_OFF_ARG1 "-a" - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-a" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - -#define RESCUE_CMD "/bin/sh" - - /* now: we are completly alone. umount everything, go to bed */ - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { - /* /sbin/swapoff -a */ - cmd[0] = SWAP_OFF_CMD; - cmd[1] = SWAP_OFF_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG2; - cmd[3] = MOUNT_ARG3; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } else { - _exit(1); - } - - switch(signal) { - case SIGTERM: /* power off */ - reboot(RB_POWER_OFF); - break; - case SIGHUP: /* reboot */ - reboot(RB_AUTOBOOT); - break; - case SIGUSR1: /* halt */ - reboot(RB_HALT_SYSTEM); - break; - case SIGUSR2: /* rescue - destroy ourself */ - cmd[0] = RESCUE_CMD; - cmd[1] = NULL; - execv(cmd[0],cmd); - break; - } - - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.0.8/serv/sigio.c b/software/cinit/browse_source/cinit-0.0.8/serv/sigio.c deleted file mode 100644 index 1d6273ad..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/serv/sigio.c +++ /dev/null @@ -1,142 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int signal) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - do { - /* create new socket */ - nsock = accept(sock,(struct sockaddr *) NULL, (socklen_t *) NULL); - - if( nsock == -1) { - if( errno != EAGAIN ) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } - return; - } - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = 0; - } else { - status = ST_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP RESPAWNING *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - D_PRINTF(buf); - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - D_PRINTF("respawner ausschalten"); - kill(list_tmp->pid,SIGTERM); - - D_PRINTF("warten auf pid..."); - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - - D_PRINTF("liste modifizieren"); - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - D_PRINTF("mod-aus fail"); - status = ST_FAIL; - } else { /* return status */ - D_PRINTF("kein respawn"); - status = list_tmp->status; - } - } - } else { /* no service there */ - status = ST_OFF; - } - do_result(nsock,&status); - break; - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - - if(!tmp) break; - - buf[tmp] = 0; /* terminate buf */ - - /* BUUUUUUUUUUUUUUG */ - if(!list_modify(buf,status,pid)) { - D_PRINTF("**** MOD.ERR ***"); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } while ( 1 ); -} diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:41:08 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:41:08 deleted file mode 100644 index d29de765..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:41:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586640 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:46:09 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:46:09 deleted file mode 100644 index 7ecb58be..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-15:46:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586368 Apr 30 15:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-16:50:05 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-16:50:05 deleted file mode 100644 index d87323e5..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-16:50:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587818 Apr 30 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:03:00 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:03:00 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:39:08 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:39:08 deleted file mode 100644 index 0c2bb0af..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:39:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586194 May 6 20:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:54:00 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:54:00 deleted file mode 100644 index fe51f37f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:55:07 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:55:07 deleted file mode 100644 index 4d2854b5..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:55:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-23:00:07 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-23:00:07 deleted file mode 100644 index c0db4814..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-23:00:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 23:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:31:01 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:31:01 deleted file mode 100644 index 4ad1fccf..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:31:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:31 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:39:02 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:39:02 deleted file mode 100644 index 16613354..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:39:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:43:08 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:43:08 deleted file mode 100644 index 29e5ab44..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:54:04 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:54:04 deleted file mode 100644 index 474189e8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:54:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:18:00 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:18:00 deleted file mode 100644 index 960ca358..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:18:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:18 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:14:00 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:14:00 deleted file mode 100644 index 7de2bc3e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:14:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:14 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:43:08 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:43:08 deleted file mode 100644 index 11a18f12..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597245 May 7 14:43 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:48:01 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:48:01 deleted file mode 100644 index 28b127b9..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:48:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597405 May 7 14:48 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:55:05 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:55:05 deleted file mode 100644 index 5d0fa0e1..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:55:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:55 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:01:01 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:01:01 deleted file mode 100644 index 7c8b202b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:01:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 15:01 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:27:00 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:27:00 deleted file mode 100644 index a2d19633..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:27:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:27 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:20:02 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:20:02 deleted file mode 100644 index 23608225..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:20:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602184 May 7 16:20 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:31:09 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:31:09 deleted file mode 100644 index 40f890cf..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:31:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:31 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:08:09 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:08:09 deleted file mode 100644 index 22b48319..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:08:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-10:44:00 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-10:44:00 deleted file mode 100644 index 4dad0f2e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-10:44:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 64935 May 8 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-12:42:08 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-12:42:08 deleted file mode 100644 index a356e57e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-12:42:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 23195 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:25:05 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:25:05 deleted file mode 100644 index 0b5026c7..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:25:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:30:03 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:30:03 deleted file mode 100644 index 7377ee59..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:30:03 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-21:54:00 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-21:54:00 deleted file mode 100644 index 41ed8e4c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-21:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604637 May 10 21:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:07:06 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:07:06 deleted file mode 100644 index 9579bf3d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:07:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95212 May 10 22:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-00:14:02 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-00:14:02 deleted file mode 100644 index 86483ada..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-00:14:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-15-22:32:07 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-15-22:32:07 deleted file mode 100644 index 59557c4b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-15-22:32:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 15 22:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-15-23:52:06 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-15-23:52:06 deleted file mode 100644 index 757e6dc6..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-15-23:52:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579305 May 15 23:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-15-23:56:00 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-15-23:56:00 deleted file mode 100644 index 24c85104..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-15-23:56:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605145 May 15 23:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:16:09 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:16:09 deleted file mode 100644 index 27254aa3..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:16:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605205 May 16 00:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-09:58:08 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-09:58:08 deleted file mode 100644 index 90a5b698..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-09:58:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605567 May 16 09:58 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:09:00 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:09:00 deleted file mode 100644 index 4c34f810..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:09:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605583 May 16 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:13:07 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:13:07 deleted file mode 100644 index b6a851e6..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:13:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605619 May 16 10:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:23:05 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:23:05 deleted file mode 100644 index 2c4fc649..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:23:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-14:56:01 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-14:56:01 deleted file mode 100644 index c5e08e25..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-14:56:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95794 May 21 14:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:35:00 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:35:00 deleted file mode 100644 index 0f2d5463..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:35:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:35 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.0.8/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-08-10:23:04 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-08-10:23:04 deleted file mode 100644 index 0858c419..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-08-10:23:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53724 Jun 8 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-08:44:09 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-08:44:09 deleted file mode 100644 index b96788fa..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-08:44:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53524 Jun 9 08:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-10:00:08 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-10:00:08 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-11:47:04 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-11:47:04 deleted file mode 100644 index 531df2bc..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-09-11:47:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-10-18:14:05 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-10-18:14:05 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-10-18:14:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-12-18:09:08 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-12-18:09:08 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-12-18:09:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-08:13:08 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-08:13:08 deleted file mode 100644 index eab7486c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-08:13:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 13 08:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-10:01:02 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-10:01:02 deleted file mode 100644 index cd4e9dad..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-10:01:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52380 Jun 14 10:01 cinit --rwx------ 1 nico users 47356 Jun 14 10:01 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-06:46:05 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-06:46:05 deleted file mode 100644 index e0e1051d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-06:46:05 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:46 cinit --rwx------ 1 nico users 47324 Jun 15 06:46 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-16-12:18:07 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-16-12:18:07 deleted file mode 100644 index 43633af1..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-16-12:18:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 16 12:18 cinit --rwx------ 1 nico users 50860 Jun 16 12:18 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.0.8/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.0.8/util/README b/software/cinit/browse_source/cinit-0.0.8/util/README deleted file mode 100644 index 782cdc8d..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/util/README +++ /dev/null @@ -1,2 +0,0 @@ -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.0.8/util/cservice.c b/software/cinit/browse_source/cinit-0.0.8/util/cservice.c deleted file mode 100644 index 6cba27ee..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/util/cservice.c +++ /dev/null @@ -1,119 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cservice: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include -#include - -#include /* nanosleep */ - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock, logfd; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define CSERVICE_BANNER "cservice - control cinit\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncservice -[phears] \n" \ - "\t-e\t- (ein,on) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n" \ - "\n-h, -p, -s and -r need the \"Magic Word\" to do their work: \"thilo\"\n" \ - -/*********************************************************************** - * usage: tell the user what's wrong and a help text - */ -void usage(char *stext) -{ - write(1,CSERVICE_BANNER,strlen(CSERVICE_BANNER)); - write(1,stext,strlen(stext)); - write(1,USAGE_TEXT,strlen(USAGE_TEXT)); - _exit(1); - -} - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 3) usage("Too less arguments!"); - if(argv[1][0] != '-') usage("Wrong arguments"); - if(strlen(argv[1]) != 2) usage("Wrong parameter length"); - - switch(argv[1][1]) { - case 'e': /* ein */ - if(run_svc(argv[2])) { - mini_printf("Successfully started.",1); - } else { - mini_printf("An error occured",1); - } - break; - - case 'a': /* aus */ - if(msg_svc_on_off(argv[2],0) ) { - mini_printf("Successfully stoped.",1); - } else { - mini_printf("An error occured",1); - } - break; - - case 'p': /* power off */ - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - msg_reboot(CMD_RESCUE); - break; - - default: - usage("Unknown parameter"); - break; - } - D_PRINTF("wir beenden uns");; - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.0.8/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.0.8/util/msg_reboot.c deleted file mode 100644 index 931bfc58..00000000 --- a/software/cinit/browse_source/cinit-0.0.8/util/msg_reboot.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - D_PRINTF("aus damit"); - if(!begin_msg(cmd)) return 0; - D_PRINTF("abschliessen"); - close(sock); - D_PRINTF("und programm terminieren"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.1/ b/software/cinit/browse_source/cinit-0.1/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.1/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.1/COPYING b/software/cinit/browse_source/cinit-0.1/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.1/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.1/CREDITS b/software/cinit/browse_source/cinit-0.1/CREDITS deleted file mode 100644 index b3a9701b..00000000 --- a/software/cinit/browse_source/cinit-0.1/CREDITS +++ /dev/null @@ -1,18 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: 2005-06-17) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -René Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing, testing cinit and cinit documentation diff --git a/software/cinit/browse_source/cinit-0.1/Changelog b/software/cinit/browse_source/cinit-0.1/Changelog deleted file mode 100644 index 47142a97..00000000 --- a/software/cinit/browse_source/cinit-0.1/Changelog +++ /dev/null @@ -1,8 +0,0 @@ -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.1/MT/debug b/software/cinit/browse_source/cinit-0.1/MT/debug deleted file mode 100644 index bc085cb4..00000000 --- a/software/cinit/browse_source/cinit-0.1/MT/debug +++ /dev/null @@ -1,228 +0,0 @@ -started up on Linux 2.6.11.11 #2 Thu Jun 16 11:02:54 CEST 2005 ppc -command line: 'monotone-0.18', 'drop', 'old/add_mod_svc.c', 'old/cerr.c', 'old/chk_svc.c', 'old/cinit.add.shutdown.reboot.poweroff', 'old/cinit.c01', 'old/cinit.c02', 'old/cinit.c03', 'old/cinit.c04', 'old/cinit.c05', 'old/cinit.c06', 'old/cinit.commands -set locale: LC_CTYPE=C, LC_MESSAGES=C -initial path is /home/user/nico/cinit-0.1 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 4 bytes from ANSI_X3.4-1968 to UTF-8 -converting 17 bytes from ANSI_X3.4-1968 to UTF-8 -converting 10 bytes from ANSI_X3.4-1968 to UTF-8 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 38 bytes from ANSI_X3.4-1968 to UTF-8 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 22 bytes from ANSI_X3.4-1968 to UTF-8 -converting 26 bytes from ANSI_X3.4-1968 to UTF-8 -converting 24 bytes from ANSI_X3.4-1968 to UTF-8 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 16 bytes from ANSI_X3.4-1968 to UTF-8 -converting 16 bytes from ANSI_X3.4-1968 to UTF-8 -converting 24 bytes from ANSI_X3.4-1968 to UTF-8 -converting 10 bytes from ANSI_X3.4-1968 to UTF-8 -converting 10 bytes from ANSI_X3.4-1968 to UTF-8 -converting 14 bytes from ANSI_X3.4-1968 to UTF-8 -converting 25 bytes from ANSI_X3.4-1968 to UTF-8 -converting 19 bytes from ANSI_X3.4-1968 to UTF-8 -converting 15 bytes from ANSI_X3.4-1968 to UTF-8 -converting 20 bytes from ANSI_X3.4-1968 to UTF-8 -converting 15 bytes from ANSI_X3.4-1968 to UTF-8 -converting 15 bytes from ANSI_X3.4-1968 to UTF-8 -converting 15 bytes from ANSI_X3.4-1968 to UTF-8 -converting 15 bytes from ANSI_X3.4-1968 to UTF-8 -converting 15 bytes from ANSI_X3.4-1968 to UTF-8 -converting 15 bytes from ANSI_X3.4-1968 to UTF-8 -converting 17 bytes from ANSI_X3.4-1968 to UTF-8 -converting 15 bytes from ANSI_X3.4-1968 to UTF-8 -converting 15 bytes from ANSI_X3.4-1968 to UTF-8 -converting 15 bytes from ANSI_X3.4-1968 to UTF-8 -converting 15 bytes from ANSI_X3.4-1968 to UTF-8 -converting 14 bytes from ANSI_X3.4-1968 to UTF-8 -converting 17 bytes from ANSI_X3.4-1968 to UTF-8 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 14 bytes from ANSI_X3.4-1968 to UTF-8 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -converting 13 bytes from ANSI_X3.4-1968 to UTF-8 -searching for 'MT' directory with root '/' -search for 'MT' ended at '/home/user/nico/cinit-0.1' with '' removed -initializing from directory /home/user/nico/cinit-0.1 -found working copy directory /home/user/nico/cinit-0.1 -options path is MT/options -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -local dump path is MT/debug -setting dump path to MT/debug -opening rcfile '/home/user/nico/.monotonerc' ... -'/home/user/nico/.monotonerc' is ok -skipping nonexistent rcfile 'MT/monotonerc' -executing drop command -options path is MT/options -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 7 bytes from UTF-8 to ANSI_X3.4-1968 -revision path is MT/revision -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 8 bytes from UTF-8 to ANSI_X3.4-1968 -loading revision id from MT/revision -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 8 bytes from UTF-8 to ANSI_X3.4-1968 -db.fetch("SELECT id FROM 'revisions' WHERE id = '961f11f3afa0de0d84ac8e073d3998f6419420c6'") -db.fetch("SELECT data FROM revisions WHERE id = '961f11f3afa0de0d84ac8e073d3998f6419420c6'") -old manifest is 7ead28bc2e63a2eac769cf9998268c9efee68cc2 -db.fetch("SELECT id FROM 'manifest_deltas' WHERE id = '7ead28bc2e63a2eac769cf9998268c9efee68cc2'") -db.fetch("SELECT id FROM 'manifests' WHERE id = '7ead28bc2e63a2eac769cf9998268c9efee68cc2'") -db.fetch("SELECT id FROM 'manifests' WHERE id = '7ead28bc2e63a2eac769cf9998268c9efee68cc2'") -db.fetch("SELECT data FROM 'manifests' WHERE id = '7ead28bc2e63a2eac769cf9998268c9efee68cc2'") -old manifest has 176 entries -work path is MT/work -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 4 bytes from UTF-8 to ANSI_X3.4-1968 -checking for un-committed work file MT/work -converting 2 bytes from UTF-8 to ANSI_X3.4-1968 -converting 4 bytes from UTF-8 to ANSI_X3.4-1968 -read rearrangement from MT/work -'old/add_mod_svc.c' prefixed to 'old/add_mod_svc.c' -'old/cerr.c' prefixed to 'old/cerr.c' -'old/chk_svc.c' prefixed to 'old/chk_svc.c' -'old/cinit.add.shutdown.reboot.poweroff' prefixed to 'old/cinit.add.shutdown.reboot.poweroff' -'old/cinit.c01' prefixed to 'old/cinit.c01' -'old/cinit.c02' prefixed to 'old/cinit.c02' -'old/cinit.c03' prefixed to 'old/cinit.c03' -'old/cinit.c04' prefixed to 'old/cinit.c04' -'old/cinit.c05' prefixed to 'old/cinit.c05' -'old/cinit.c06' prefixed to 'old/cinit.c06' -'old/cinit.commands.v01' prefixed to 'old/cinit.commands.v01' -'old/cinit.create.cinit_dir' prefixed to 'old/cinit.create.cinit_dir' -'old/cinit.create.service' prefixed to 'old/cinit.create.service' -'old/cinit.h01' prefixed to 'old/cinit.h01' -'old/cnt_digits.c' prefixed to 'old/cnt_digits.c' -'old/cservice.c01' prefixed to 'old/cservice.c01' -'old/do_change_status.c01' prefixed to 'old/do_change_status.c01' -'old/idea01' prefixed to 'old/idea01' -'old/idea02' prefixed to 'old/idea02' -'old/kill_svc.c' prefixed to 'old/kill_svc.c' -'old/msg_change_status.c01' prefixed to 'old/msg_change_status.c01' -'old/msg_start_svc.c' prefixed to 'old/msg_start_svc.c' -'old/read_file.c' prefixed to 'old/read_file.c' -'old/run_init_svc.c01' prefixed to 'old/run_init_svc.c01' -'old/run_svc.c00' prefixed to 'old/run_svc.c00' -'old/run_svc.c01' prefixed to 'old/run_svc.c01' -'old/run_svc.c02' prefixed to 'old/run_svc.c02' -'old/run_svc.c03' prefixed to 'old/run_svc.c03' -'old/run_svc.c04' prefixed to 'old/run_svc.c04' -'old/run_svc.c05' prefixed to 'old/run_svc.c05' -'old/run_svc.c05.2' prefixed to 'old/run_svc.c05.2' -'old/run_svc.c06' prefixed to 'old/run_svc.c06' -'old/run_svc.c07' prefixed to 'old/run_svc.c07' -'old/run_svc.c08' prefixed to 'old/run_svc.c08' -'old/run_svc.c09' prefixed to 'old/run_svc.c09' -'old/sig_chld.c' prefixed to 'old/sig_chld.c' -'old/sig_special.c' prefixed to 'old/sig_special.c' -'old/sigio.c01' prefixed to 'old/sigio.c01' -'old/sock_group' prefixed to 'old/sock_group' -'old/sock_mode' prefixed to 'old/sock_mode' -'old/sock_user' prefixed to 'old/sock_user' -analyzing file 1 : '' -> 'CREDITS' -analyzing file 2 : '' -> 'Changelog' -analyzing file 3 : '' -> 'Makefile' -analyzing file 4 : '' -> 'README' -analyzing file 5 : '' -> 'TODO' -analyzing file 7 : '' -> 'bin/cinit.add.dependency' -analyzing file 8 : '' -> 'bin/cinit.add.getty' -analyzing file 9 : '' -> 'bin/cinit.create.empty.service' -analyzing file 10 : '' -> 'bin/cinit.get-confdir' -analyzing file 11 : '' -> 'bin/cinit.install.binary' -analyzing file 12 : '' -> 'bin/cinit.install.conf' -analyzing file 13 : '' -> 'bin/cinit.install.dir' -analyzing file 14 : '' -> 'bin/cinit.install.test' -analyzing file 15 : '' -> 'bin/cinit.mkheader' -analyzing file 16 : '' -> 'bin/cinit.read-conf' -analyzing file 17 : '' -> 'bin/cinit.reboot' -analyzing file 18 : '' -> 'bin/cinit.remove.getty' -analyzing file 19 : '' -> 'bin/cinit.respawn.off' -analyzing file 20 : '' -> 'bin/cinit.respawn.on' -analyzing file 21 : '' -> 'bin/cinit.shutdown' -analyzing file 22 : '' -> 'bin/cinit.uml.test' -analyzing file 23 : '' -> 'bin/cinit.wait.for.daemon' -analyzing file 24 : '' -> 'cinit.h' -analyzing file 26 : '' -> 'client/README' -analyzing file 27 : '' -> 'client/begin_msg.c' -analyzing file 28 : '' -> 'client/connect_sock.c' -analyzing file 29 : '' -> 'client/exec_svc.c' -analyzing file 30 : '' -> 'client/msg_change_status.c' -analyzing file 31 : '' -> 'client/msg_svc_on_off.c' -analyzing file 32 : '' -> 'client/respawn_svc.c' -analyzing file 33 : '' -> 'client/run_run_svcs.c' -analyzing file 34 : '' -> 'client/run_svc.c' -analyzing file 35 : '' -> 'client/sig_terminate.c' -analyzing file 37 : '' -> 'comm/README' -analyzing file 38 : '' -> 'comm/do_change_status.c' -analyzing file 39 : '' -> 'comm/do_result.c' -analyzing file 40 : '' -> 'comm/do_svc_name.c' -analyzing file 42 : '' -> 'conf/.README' -analyzing file 43 : '' -> 'conf/c_delay' -analyzing file 44 : '' -> 'conf/c_env' -analyzing file 45 : '' -> 'conf/c_halt' -analyzing file 46 : '' -> 'conf/c_init' -analyzing file 47 : '' -> 'conf/c_needs' -analyzing file 48 : '' -> 'conf/c_off' -analyzing file 49 : '' -> 'conf/c_on' -analyzing file 50 : '' -> 'conf/c_params' -analyzing file 51 : '' -> 'conf/c_poweroff' -analyzing file 52 : '' -> 'conf/c_reboot' -analyzing file 53 : '' -> 'conf/c_respawn' -analyzing file 54 : '' -> 'conf/c_sock' -analyzing file 55 : '' -> 'conf/c_tmp' -analyzing file 56 : '' -> 'conf/c_tmpfs' -analyzing file 57 : '' -> 'conf/c_tmpmount' -analyzing file 58 : '' -> 'conf/c_wants' -analyzing file 59 : '' -> 'conf/cinit_dir' -analyzing file 60 : '' -> 'conf/destdir' -analyzing file 61 : '' -> 'conf/getty_dir' -analyzing file 62 : '' -> 'conf/install_directory' -analyzing file 63 : '' -> 'conf/install_prog' -analyzing file 64 : '' -> 'conf/max_delay' -analyzing file 65 : '' -> 'conf/max_deps' -analyzing file 66 : '' -> 'conf/prefix' -analyzing file 67 : '' -> 'conf/profile' -analyzing file 68 : '' -> 'conf/sleep_kill' -analyzing file 69 : '' -> 'conf/sleep_kill_svc' -analyzing file 70 : '' -> 'conf/sleep_rerun' -analyzing file 71 : '' -> 'conf/sleep_svc' -analyzing file 72 : '' -> 'conf/sock_queue' -analyzing file 73 : '' -> 'conf/sulogin' -analyzing file 75 : '' -> 'doc/.buildwarn' -analyzing file 76 : '' -> 'doc/FAQ' -analyzing file 77 : '' -> 'doc/caveats' -analyzing file 78 : '' -> 'doc/intern/cinit.commands' -analyzing file 79 : '' -> 'doc/compiles.on' -analyzing file 80 : '' -> 'doc/configuring.cinit' -analyzing file 81 : '' -> 'doc/cservice' -analyzing file 82 : '' -> 'doc/daemons.backgrounding' -analyzing file 83 : '' -> 'doc/debugging.configuration' -analyzing file 85 : '' -> 'doc/extern/ipc.thoughts' -analyzing file 86 : '' -> 'doc/extern/ipc.usenet.posting' -analyzing file 87 : '' -> 'doc/extern/linux.kernel.eats.arguments' -analyzing file 88 : '' -> 'doc/extern/posix.aardvark.bug.report' -analyzing file 90 : '' -> 'doc/fun/testing01' -analyzing file 92 : '' -> 'doc/intern/README' -analyzing file 93 : '' -> 'doc/intern/how_it_works_internally' -analyzing file 94 : '' -> 'doc/intern/socket.poll_vs_o_async' -analyzing file 95 : '' -> 'doc/merging.other.initsystems' -analyzing file 96 : '' -> 'doc/meta.dependencies' -analyzing file 97 : '' -> 'doc/optimising.cinit' -analyzing file 98 : '' -> 'doc/porting.to.other.os' -analyzing file 99 : '' -> 'doc/profile.support' -analyzing file 100 : '' -> 'doc/removing.zombies' -analyzing file 101 : '' -> 'doc/replacing.init' -analyzing file 102 : '' -> 'doc/security' -analyzing file 103 : '' -> 'doc/testing.cinit.in.uml' -analyzing file 104 : '' -> 'doc/thoughts.closed' -analyzing file 105 : '' -> 'doc/updating.cinit' -analyzing file 106 : '' -> 'doc/using.rescue' -analyzing file 108 : '' -> 'generic/mini_printf.c' -analyzing file 109 : '' -> 'generic/set_signals.c' -path_component.cc:53: invariant 'I(!null_name(*i))' violated diff --git a/software/cinit/browse_source/cinit-0.1/MT/log b/software/cinit/browse_source/cinit-0.1/MT/log deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.1/MT/options b/software/cinit/browse_source/cinit-0.1/MT/options deleted file mode 100644 index 33960254..00000000 --- a/software/cinit/browse_source/cinit-0.1/MT/options +++ /dev/null @@ -1,3 +0,0 @@ - branch "info.clinux.cinit" -database "/home/user/nico/monotone.db" - key "" diff --git a/software/cinit/browse_source/cinit-0.1/MT/revision b/software/cinit/browse_source/cinit-0.1/MT/revision deleted file mode 100644 index adf3ce2a..00000000 --- a/software/cinit/browse_source/cinit-0.1/MT/revision +++ /dev/null @@ -1 +0,0 @@ -5ea29233555d7715f4935224eef7421a311c5af0 diff --git a/software/cinit/browse_source/cinit-0.1/Makefile b/software/cinit/browse_source/cinit-0.1/Makefile deleted file mode 100644 index 8228031b..00000000 --- a/software/cinit/browse_source/cinit-0.1/Makefile +++ /dev/null @@ -1,106 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -#DEBUG=-g -DDEBUG -OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS=-static - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -LD=gcc -STRIP=strip -R .comment -R .note.ABI-tag - -# monotone -MT=monotone-0.18 - -# directories and files -SDIRS=bin client conf comm doc generic serv util -FILES=Changelog Makefile README TODO cinit.h - -# objects -SERV=serv/sigio.o serv/cinit.o serv/list.o \ - serv/run_init_svc.o serv/panic.o serv/sig_reboot.o \ - serv/sig_child.o - -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -BOTH=generic/set_signals.o generic/mini_printf.o - -OBJ=$(SERV) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - $(CLIENT) $(COMMUNICATION) - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -all: cinit cservice sizecheck - -cinit: $(CINIT_BIN) - -$(CSVC_OBJ) $(OBJ): config.h - -$(CINIT_BIN): $(SBIN) $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -$(SBIN): - mkdir $(SBIN) - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%T`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' -clean: - rm -f *.o */*.o sbin/cinit config.h - -config.h: conf/* - ./bin/cinit.mkheader > config.h - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -# monotone -mt-update: - $(MT) add $(SDIRS) $(FILES) 2>/dev/null -mt-commit: - $(MT) commit -mt-sync: - $(MT) sync linux.schottelius.org info.clinux.cinit - -install: install-dir - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-dir: - ./bin/cinit.install.dir - -install-test: - @echo "***> Please get a sample from http://linux.schottelius.org/cinit/" - @echo "***\ This make target is no longer supported" diff --git a/software/cinit/browse_source/cinit-0.1/README b/software/cinit/browse_source/cinit-0.1/README deleted file mode 100644 index 8b6cf8f5..00000000 --- a/software/cinit/browse_source/cinit-0.1/README +++ /dev/null @@ -1,110 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via monotone. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.1/TODO b/software/cinit/browse_source/cinit-0.1/TODO deleted file mode 100644 index d83746d6..00000000 --- a/software/cinit/browse_source/cinit-0.1/TODO +++ /dev/null @@ -1,51 +0,0 @@ --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) - - cleanup sig_reboot.c - - memset for timespecs? - - move umount, swapoff and remount to off of init? - -> cleanup sig_reboot.c - - run_svc: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - - do we really need swapoff? --------------------------------------------------------------------------------- -- Documentation - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml --------------------------------------------------------------------------------- -create_mini_cinit / configuration samples - -> use a tarball? (samples/*) - -> create something which should be runnable - -> mount, fsck, getty - --> for dev in `read /etc/fstab` ... - fsck $dev - --> getty from /etc/inittab or /sbin/*getty - -> find out, which gettys with which params - -> use it on 'make install' --------------------------------------------------------------------------------- -Optional tasks: - - - check for other possibilities to create a smaller binary - - strip options - - gcc options - - ld options - - alternative libc (uclibc and dietlibc work fine!) - --------------------------------------------------------------------------------- -Things I did not do and I don't know whether we have to care about: - -- Porting - - add porting code to other unices? - - like openssh guys do? - -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.1/bin/cinit.add.dependency deleted file mode 100644 index a47844fb..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.add.dependency +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -case $DEP in - wants) DEP=$C_WANTS ;; - needs) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could some PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEST="${BASEDIR}/${SVC_A}/${DEP}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.1/bin/cinit.add.getty deleted file mode 100644 index cd8aab55..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.add.getty +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -read -p "Getty to use [$mygetty]: " rgetty -read -p "Parameters to pass [$params]: " rparams - -[ "$rgetty" ] && mygetty=$rgetty -[ "$rparams" ] && params=$rparams - -if [ ! "$mygetty" -o ! "$params" ]; then - echo "No useable getty and parameters found, exiting." - exit 1 -fi - -echo -n "Putting $mygetty $params into $DDIR ... " -mkdir -p "$DDIR" -ln -s $mygetty "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.1/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.get-confdir b/software/cinit/browse_source/cinit-0.1/bin/cinit.get-confdir deleted file mode 100644 index a36c52f9..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.get-confdir +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# 2005-05-24 - -# try environment first -if [ "$CINIT_DIR" ]; then - CONFDIR=$CINIT_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -elif [ -d /etc/cinit ]; then - CONFDIR=/etc/cinit -else - echo Did not find cinit configuration 1>&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.1/bin/cinit.install.binary deleted file mode 100644 index f65b3487..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.install.binary +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# - - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $DESTDIR/$PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $DESTDIR/$PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $DESTDIR/$PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.install.conf b/software/cinit/browse_source/cinit-0.1/bin/cinit.install.conf deleted file mode 100644 index bd6fadc2..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.install.conf +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# - - -. $(dirname $0)/cinit.read-conf - -echo "*** > Currently missing, sorry." - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.1/bin/cinit.install.dir deleted file mode 100644 index 69f8a00f..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.install.dir +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install configuration directory -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/$CINIT_DIR/$C_TMP" diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.1/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.mkheader b/software/cinit/browse_source/cinit-0.1/bin/cinit.mkheader deleted file mode 100644 index e1f35d07..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.mkheader +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric - no I didn't see an easier way - numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - - [ "$numeric" ] || value="\"$value\"" - - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.read-conf b/software/cinit/browse_source/cinit-0.1/bin/cinit.read-conf deleted file mode 100644 index 39d4ba06..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.read-conf +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/* - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME="$(head -n 1 $conf)" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.1/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.1/bin/cinit.remove.getty deleted file mode 100644 index e7b1a6ad..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.remove.getty +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - - -[ ! "$NUMBER" ] && exit 1 - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r $DDIR -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.1/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.1/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.1/bin/cinit.shutdown deleted file mode 100644 index 0134ed3f..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.shutdown +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off`) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.1/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.1/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.1/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.1/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.1/cinit.h b/software/cinit/browse_source/cinit-0.1/cinit.h deleted file mode 100644 index e8ab63da..00000000 --- a/software/cinit/browse_source/cinit-0.1/cinit.h +++ /dev/null @@ -1,138 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* paths */ -#define C_ONARG C_ON C_PARAMS -#define C_OFFARG C_OFF C_PARAMS -#define C_ONENV C_ON C_ENV -#define C_OFFENV C_OFF C_ENV - -#define SLASH "/" - -#define CINIT_INIT CINIT_DIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -/* commands (maximum: 2^8 = 256)*/ -#define CMD_START_SVC 1 -#define CMD_CHG_STATUS 2 -#define CMD_STOP_SVC 3 -#define CMD_RESCUE 4 -#define CMD_HALT 5 -#define CMD_REBOOT 6 -#define CMD_POWEROFF 7 -#define CMD_UPDATE 8 - -/* status of a service - DO NOT USE 0! */ -#define ST_TMP 1 /* currently working on it */ -#define ST_ONCE 2 /* executed once */ -#define ST_RESPAWN 3 /* running and respawning */ -#define ST_FAIL 4 /* failed to start service */ -#define ST_TMPNOW 5 /* now you are on it - only for clients */ -#define ST_OFF 6 /* Switching service off */ - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* Messages to the outside */ -#define MSG_CINIT "cinit-0.1 booting..." -#define MSG_ERR_OPEN "open" -#define MSG_ERR_READ "read" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_FORK "fork" -#define MSG_BIND "bind" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_TERMKILL "sigterm" -#define MSG_KILLBILL "sigkill" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" - -#define LOG_SVC_FAIL "Service failed" -#define LOG_NEED_FAIL "One or more need failed" - -struct listitem { - char *abs_path; /* name of service */ - int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - struct listitem *before; /* previous item */ - struct listitem *after; /* next item */ -}; - -/* variables */ -extern struct listitem *list; /* the process linked chain */ -extern int sock; /* current writing/reading socket */ -extern pid_t cpid; /* used by main() and reused be respaw_svc() */ - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -#define LOG(s) mini_printf(s,1) - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int run_init_svc(char *cinit_svc); -void sigio(int socket); -void sig_reboot(int signal); -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, int action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); -void sig_terminate(int signal); - -/* listing functions (server only) */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); - -/* util */ -int msg_reboot(char cmd); - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif diff --git a/software/cinit/browse_source/cinit-0.1/client/README b/software/cinit/browse_source/cinit-0.1/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.1/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.1/client/begin_msg.c b/software/cinit/browse_source/cinit-0.1/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.1/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.1/client/connect_sock.c b/software/cinit/browse_source/cinit-0.1/client/connect_sock.c deleted file mode 100644 index de161327..00000000 --- a/software/cinit/browse_source/cinit-0.1/client/connect_sock.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.1/client/exec_svc.c b/software/cinit/browse_source/cinit-0.1/client/exec_svc.c deleted file mode 100644 index a0914545..00000000 --- a/software/cinit/browse_source/cinit-0.1/client/exec_svc.c +++ /dev/null @@ -1,265 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -pid_t exec_svc(char *abspath, int on) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - D_PRINTF(abspath); - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - LOG(abspath); - LOG(LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(on) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(on) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(on) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(on) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* if a file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - perror(MSG_ERR_EXECVE); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.1/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.1/client/msg_change_status.c deleted file mode 100644 index 5338d6c0..00000000 --- a/software/cinit/browse_source/cinit-0.1/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -int msg_change_status(char *svc, char status, pid_t pid) -{ - D_PRINTF(svc); - - if(!begin_msg(CMD_CHG_STATUS)) { - return 0; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.1/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.1/client/msg_svc_on_off.c deleted file mode 100644 index 71351043..00000000 --- a/software/cinit/browse_source/cinit-0.1/client/msg_svc_on_off.c +++ /dev/null @@ -1,32 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, int action) -{ - char cmd; - - D_PRINTF(svc); - - if(action) { - cmd = CMD_START_SVC; - } else { - cmd = CMD_STOP_SVC; - } - - if(!begin_msg(cmd)) return 0; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return 0; - return (int) do_result(sock,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.1/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.1/client/respawn_svc.c deleted file mode 100644 index 2b68944f..00000000 --- a/software/cinit/browse_source/cinit-0.1/client/respawn_svc.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, 1) ) { - /* only sleep if the service exited itself and is not - killed by sig_term */ - if(cpid != 0) { - sleep(SLEEP_SVC); - } - } - } while( cpid ); /* cpid is reset by sig_terminate() */ - - /* start off task */ - exec_svc(abspath,0); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.1/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.1/client/run_run_svcs.c deleted file mode 100644 index 3ad819a5..00000000 --- a/software/cinit/browse_source/cinit-0.1/client/run_run_svcs.c +++ /dev/null @@ -1,85 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.1/client/run_svc.c b/software/cinit/browse_source/cinit-0.1/client/run_svc.c deleted file mode 100644 index a4474176..00000000 --- a/software/cinit/browse_source/cinit-0.1/client/run_svc.c +++ /dev/null @@ -1,133 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and beforeo all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct timespec ts; - - D_PRINTF(rpath); - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return 0; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return 0; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return 0; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return 0; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,1); /* check status */ - - switch(tmp) { - case 0: /* failed to communicate */ - case ST_FAIL: /* somebody failed, we won't retry */ - D_PRINTF("fail"); - return 0; - break; - case ST_TMP: /* someone is working on it */ - D_PRINTF("schon tmp"); - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case ST_RESPAWN: /* somebody does our work */ - D_PRINTF("schon erledigt"); - return 1; - break; - case ST_TMPNOW: /* we are on it! */ - D_PRINTF("wir sind dran"); - break; - } - } while(tmp != ST_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - D_PRINTF(pathtmp); - - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - LOG(abspath); - LOG(LOG_NEED_FAIL); - msg_change_status(abspath, ST_FAIL, 0); - return 0; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - D_PRINTF(pathtmp); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, 1); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return 0; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.1/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.1/client/sig_terminate.c deleted file mode 100644 index f169e4b4..00000000 --- a/software/cinit/browse_source/cinit-0.1/client/sig_terminate.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - D_PRINTF("ausssachalten"); - - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.1/comm/README b/software/cinit/browse_source/cinit-0.1/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.1/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.1/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.1/comm/do_change_status.c deleted file mode 100644 index a1b7dfd4..00000000 --- a/software/cinit/browse_source/cinit-0.1/comm/do_change_status.c +++ /dev/null @@ -1,71 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - D_PRINTF(svc); - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.1/comm/do_result.c b/software/cinit/browse_source/cinit-0.1/comm/do_result.c deleted file mode 100644 index 5ee9cece..00000000 --- a/software/cinit/browse_source/cinit-0.1/comm/do_result.c +++ /dev/null @@ -1,32 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return 0; - } - - return *value; -} diff --git a/software/cinit/browse_source/cinit-0.1/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.1/comm/do_svc_name.c deleted file mode 100644 index aad24e15..00000000 --- a/software/cinit/browse_source/cinit-0.1/comm/do_svc_name.c +++ /dev/null @@ -1,54 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - D_PRINTF(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - D_PRINTF("zu gross"); - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.1/conf/.README b/software/cinit/browse_source/cinit-0.1/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_delay b/software/cinit/browse_source/cinit-0.1/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_env b/software/cinit/browse_source/cinit-0.1/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_halt b/software/cinit/browse_source/cinit-0.1/conf/c_halt deleted file mode 100644 index bc062a2c..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the service we should start when 'halting' (system stop, but no -power off). diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_init b/software/cinit/browse_source/cinit-0.1/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_needs b/software/cinit/browse_source/cinit-0.1/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_off b/software/cinit/browse_source/cinit-0.1/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_on b/software/cinit/browse_source/cinit-0.1/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_params b/software/cinit/browse_source/cinit-0.1/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_poweroff b/software/cinit/browse_source/cinit-0.1/conf/c_poweroff deleted file mode 100644 index 273d4bec..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_poweroff +++ /dev/null @@ -1,3 +0,0 @@ -poweroff - -Name of the service we should start, when system power-off is called. diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_reboot b/software/cinit/browse_source/cinit-0.1/conf/c_reboot deleted file mode 100644 index 17937b4a..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_reboot +++ /dev/null @@ -1,3 +0,0 @@ -reboot - -Name of the service we should start on reboot. diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_respawn b/software/cinit/browse_source/cinit-0.1/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_sock b/software/cinit/browse_source/cinit-0.1/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_tmp b/software/cinit/browse_source/cinit-0.1/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.1/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.1/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.1/conf/c_wants b/software/cinit/browse_source/cinit-0.1/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.1/conf/cinit_dir b/software/cinit/browse_source/cinit-0.1/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.1/conf/destdir b/software/cinit/browse_source/cinit-0.1/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.1/conf/getty_dir b/software/cinit/browse_source/cinit-0.1/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.1/conf/install_directory b/software/cinit/browse_source/cinit-0.1/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.1/conf/install_prog b/software/cinit/browse_source/cinit-0.1/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.1/conf/max_delay b/software/cinit/browse_source/cinit-0.1/conf/max_delay deleted file mode 100644 index 149fa16c..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/max_delay +++ /dev/null @@ -1,7 +0,0 @@ -4 - -Maximum number of digits which may be in the delay file. -If there are more, the string "12345678901" will be cut to the -right length "1234567890". I don't think you'll ever need -a timeout greater 4 digits (9999 seconds are 166,65~ minutes, are -2 hours, 46 minutes and 39 seconds). See doc/configuring.cinit. diff --git a/software/cinit/browse_source/cinit-0.1/conf/max_deps b/software/cinit/browse_source/cinit-0.1/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.1/conf/prefix b/software/cinit/browse_source/cinit-0.1/conf/prefix deleted file mode 100644 index c22ff3ee..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be reabable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.1/conf/profile b/software/cinit/browse_source/cinit-0.1/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.1/conf/sleep_kill b/software/cinit/browse_source/cinit-0.1/conf/sleep_kill deleted file mode 100644 index de1fd006..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/sleep_kill +++ /dev/null @@ -1,5 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. diff --git a/software/cinit/browse_source/cinit-0.1/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.1/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.1/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.1/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.1/conf/sleep_svc b/software/cinit/browse_source/cinit-0.1/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.1/conf/sock_queue b/software/cinit/browse_source/cinit-0.1/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.1/conf/sulogin b/software/cinit/browse_source/cinit-0.1/conf/sulogin deleted file mode 100644 index 4f003994..00000000 --- a/software/cinit/browse_source/cinit-0.1/conf/sulogin +++ /dev/null @@ -1,4 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it only if we panic(). -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.1/doc/.buildwarn b/software/cinit/browse_source/cinit-0.1/doc/.buildwarn deleted file mode 100644 index e6182137..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/.buildwarn +++ /dev/null @@ -1,17 +0,0 @@ -**************************************************************************** -First of all configure cinit through the configuration files found in conf/. - -The documentation can be found in doc/, read - - README and doc/configuring.cinit - -_before_ first use. - -After reading and configuring use: - - "make all" - to build cinit - "make install" - to install cinit - -After that you'll have to configure it. Some sample configuratios can be -fuond on the cinit homepage http://linux.schottelius.org/cinit/. -**************************************************************************** diff --git a/software/cinit/browse_source/cinit-0.1/doc/FAQ b/software/cinit/browse_source/cinit-0.1/doc/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.1/doc/caveats b/software/cinit/browse_source/cinit-0.1/doc/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.1/doc/compiles.on b/software/cinit/browse_source/cinit-0.1/doc/compiles.on deleted file mode 100644 index 3fe83479..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/compiles.on +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -compiles.on, -Nico Schottelius 2005-06-09 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit is known to compile on: - -x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 - -Please report your configuration, if it's not listed here. diff --git a/software/cinit/browse_source/cinit-0.1/doc/configuring.cinit b/software/cinit/browse_source/cinit-0.1/doc/configuring.cinit deleted file mode 100644 index a88ba00f..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/configuring.cinit +++ /dev/null @@ -1,189 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, -Nico Schottelius 2005-05-28 (Last Modified: 2005-06-05) --------------------------------------------------------------------------------- - -0. Pre-compile configuration -1. General configuration layout -2. Hints -2.0 Service executing / parameters -2.1 Daemons -2.2 Logging -2.3 Using prepared scripts -3. Profiles - - -0. Pre-compile configuration - -Have a look at conf/*. Those variable will mostly be used when -compiling cinit. Some will be read later (like destdir). - - -1. General configuration layout - -/etc/cinit (configurable via conf/cinit_dir) stores the complete -cinit configuration. - -cinit is service based. -A service consists of - - a base directory (like /etc/cinit/getty/1) - - dependency configuration: - - ./wants - services it wants to be started before (but it - will work anyway) - - ./needs/ - services it needs. If those services fail, this service - won't be started. - - - a flag indicating whether to respawn the service: - - ./respawn (simply touch it) - - - a delay: how long to wait for the service (in seconds) before - sending SIGKILL after the SIGTERM (only for respawning processes): - - ./delay (one line with only the digits) - - If delay is non-existing or not readable, the delay from - conf/sleep_kill_svc is taken. The maximum length of this - number ("9999" uses length 4, "42" needs 2 bytes) can be adjusted - at compile time in conf/max_delay. Internally this is a signed - integer, so the maximum size depends on your system. Though - I don't think anybody will want to wait for a service as long as - an integer would allow. - - - the program to run when switching the service on and off: - - ./on (a link to a program or a shell script) - ./on.params (see conf/c_params, the parameters to pass to the program) - ./on.env (see conf/c_env, the environment to pass to the program) - - ./off (call that when shutting down the service) - ./off.params (the parameters to pass to the program) - ./on.env (the environment to pass to the program) - -You should have a look at the samples/ directory for examples. - -If things are missing, cinit will continue with what's available. -This way you only need the files you use. Some examples: - - /etc/cinit/init: - ./wants -> services it wants - ./needs -> services it needs - That's everything - - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it - That's everything, as it has no dependencies - - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn on service - delay -> wait this time before sending SIGKILL after SIGTERM - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting - - -2. Hints - -2.0 Service executing / parameters - -The on and off files can and should be links to the programs you want -to execute. This way you save yourself loading the big shell (which is -on many Linux systems bash, why so ever, dash does the job as good, still -beeing small). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. The on script -could look like: - - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). - - -2.1 Daemons - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking (Please have a look at -daemons.backgrounding for a list of known daemons and their switches -to avoid backgrounding). - -The other possibility is to use a program, which will - a) start the daemon - b) look into the pidfile of the daemon - c) will then wait until that pid does not exist anymore - d) and then it exits and cinit will restart it (goto a) now) - -Such a program is included into this cinit release, -though I do not recommend using it. You should better contact the -authors and make them implement a clean non-forking mode. - -The name of the program (actually a shell script) is "cinit.wait.for.daemon". - -You will use it as the "on" part of the service and you have to add - - a) the pidfile to on.params - b) the daemon binary - -Thus the service would look like: - - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -2.2 Logging - -Currently there's no special logging support. -When programs write to stdout, it will be displayed on -the same stdout cinit is connected to -(we don't even open /dev/console - we are too lazy currently). - - -2.3 Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - - -3. Profiles - -Since cinit-0.0.6 there is profile in cinit. -Profiles are described in doc/profile.support. - -X. Examples - -Can be found in the tarballs below samples/. diff --git a/software/cinit/browse_source/cinit-0.1/doc/cservice b/software/cinit/browse_source/cinit-0.1/doc/cservice deleted file mode 100644 index 8dae0c2f..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/cservice +++ /dev/null @@ -1,34 +0,0 @@ --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.1/doc/daemons.backgrounding b/software/cinit/browse_source/cinit-0.1/doc/daemons.backgrounding deleted file mode 100644 index 1af6741b..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/daemons.backgrounding +++ /dev/null @@ -1,57 +0,0 @@ --------------------------------------------------------------------------------- -daemons backgrounding, -Nico Schottelius 2005-06-12 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -0. Definition - -A daemon is a program which runs in the background, not having a tty -associated necesserally. Running in background does not mean it has -to background (fork()) itself, but that you cannot control it directly -from a shell. - -1. Daemons and cinit - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking - -The following daemons / servers are known to avoid backgrounding easily: - - bind [dns server/caching]: -f - cron (vixie) [schedular]: -f - cupsd [printer server]: -f or -F - dhcp3 (isc) [dhcp server]: -f - distccd [compile server]: normal behaviour - frox [ftp proxy]: "NoDetach" in config - mini-lpd [printer server]: normal behaviour - metalog [log server]: normal behaviour - monotone [vcs]: normal behaviour - nessusd ["security server"]: normal behaviour - ntpd [time server]: -n - oops [http proxy]: normal behaviour - openssh [ssh server]: -D - openvpn [vpn server]: normal behaviour - pbbuttonsd [power management]:normal behaviour - proftpd [ftp server]: -n - qmail [mta]: normal behaviour - rsync ["file server"]: --no-detach - slapd [ldap]: -d - snmpd [snmp daemon]: -f - svnserve [vcs]: --foreground - syslogd [log server]: -n - tcpserver [super server]: normal behaviour - vsftpd [ftp server]: normal behaviour (or: config: background=no) - xinetd [super server]: -dontfork - -Those are the daemons that do not offer the possibility (as of release 0.0.8): - - - apache (only with debug mode) - - atd (no switch, no configuraton option) - - inetd (some variants) - - nscd (no switch, no configuraton option) - - portmap (only with debug mode) diff --git a/software/cinit/browse_source/cinit-0.1/doc/debugging.configuration b/software/cinit/browse_source/cinit-0.1/doc/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.1/doc/extern/README b/software/cinit/browse_source/cinit-0.1/doc/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.1/doc/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.1/doc/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.1/doc/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.1/doc/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.1/doc/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.1/doc/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.1/doc/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.1/doc/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.1/doc/fun/testing01 b/software/cinit/browse_source/cinit-0.1/doc/fun/testing01 deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/fun/testing01 +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.1/doc/intern/README b/software/cinit/browse_source/cinit-0.1/doc/intern/README deleted file mode 100644 index af6f9e9d..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/intern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/intern/ - The documentation in this directory describes cinit internals. diff --git a/software/cinit/browse_source/cinit-0.1/doc/intern/cinit.commands b/software/cinit/browse_source/cinit-0.1/doc/intern/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/intern/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.1/doc/intern/how_it_works_internally b/software/cinit/browse_source/cinit-0.1/doc/intern/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/intern/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.1/doc/intern/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.1/doc/intern/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/intern/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.1/doc/merging.other.initsystems b/software/cinit/browse_source/cinit-0.1/doc/merging.other.initsystems deleted file mode 100644 index c324a935..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/merging.other.initsystems +++ /dev/null @@ -1,64 +0,0 @@ --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.1/doc/meta.dependencies b/software/cinit/browse_source/cinit-0.1/doc/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.1/doc/optimising.cinit b/software/cinit/browse_source/cinit-0.1/doc/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.1/doc/porting.to.other.os b/software/cinit/browse_source/cinit-0.1/doc/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.1/doc/profile.support b/software/cinit/browse_source/cinit-0.1/doc/profile.support deleted file mode 100644 index 7bc607b8..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/profile.support +++ /dev/null @@ -1,72 +0,0 @@ --------------------------------------------------------------------------------- -Profiles, -Nico Schottelius, 2005-06-04 --------------------------------------------------------------------------------- - -1. What are profiles? -2. How to use profiles? -3. How to configure profiles? -4. Some examples - - -1. What are profiles? - -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -2. How to use profiles? - -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. -How to pass argumenents to cinit? Under Linux the init-system -gets the kernel arguments (see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -3. How to configure profiles? - -It's very simple: Normally cinit would call /etc/cinit/init as -primary service and solve all dependencies. If you pass -cprofile=wireless to it, cinit will start /etc/cinit/wireless as -primary service instead. - - [Note: /etc/cinit/yourprofile is the service that will be started. - You need/should/must NOT create /etc/cinit/yourprofile/init!] - -So the only thing you have to do is to create a service directory -below /etc/cinit with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/init; tar c . | (mkdir ../yp; cd ../yp; tar x ) - -That's it! - - -4. Some examples - -Here are some examples we found in #cLinux: - - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work - diff --git a/software/cinit/browse_source/cinit-0.1/doc/removing.zombies b/software/cinit/browse_source/cinit-0.1/doc/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.1/doc/replacing.init b/software/cinit/browse_source/cinit-0.1/doc/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.1/doc/security b/software/cinit/browse_source/cinit-0.1/doc/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.1/doc/testing.cinit.in.uml b/software/cinit/browse_source/cinit-0.1/doc/testing.cinit.in.uml deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/testing.cinit.in.uml +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.1/doc/thoughts.closed b/software/cinit/browse_source/cinit-0.1/doc/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.1/doc/updating.cinit b/software/cinit/browse_source/cinit-0.1/doc/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.1/doc/using.rescue b/software/cinit/browse_source/cinit-0.1/doc/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.1/doc/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.1/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.1/generic/mini_printf.c deleted file mode 100644 index 669d663a..00000000 --- a/software/cinit/browse_source/cinit-0.1/generic/mini_printf.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print string - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - p = str; - while ( *p != '\0') { - write(fd,p,1); - ++p; - } - - write(fd,"\n",1); /* FIXME: only when console */ -} diff --git a/software/cinit/browse_source/cinit-0.1/generic/set_signals.c b/software/cinit/browse_source/cinit-0.1/generic/set_signals.c deleted file mode 100644 index cc8bb12d..00000000 --- a/software/cinit/browse_source/cinit-0.1/generic/set_signals.c +++ /dev/null @@ -1,49 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c and ctr+alt+del */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGQUIT,&sa,NULL); /* QUIT... */ - sigaction(SIGTTIN,&sa,NULL); - sigaction(SIGTTOU,&sa,NULL); - sigaction(SIGSTOP,&sa,NULL); - - /* cleaning dead processes */ - if(action == ACT_SERV) { - sa.sa_handler=sig_child; - } - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - /* sigio is called to act on the socket */ - if(action == ACT_SERV) { - sa.sa_handler=sigio; - } - sigaction(SIGIO,&sa,NULL); - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } - sigaction(SIGUSR1,&sa,NULL); /* halt */ - sigaction(SIGUSR2,&sa,NULL); /* Rescue */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGHUP,&sa,NULL); /* reboot */ - sigaction(SIGCONT,&sa,NULL); /* update */ - -} diff --git a/software/cinit/browse_source/cinit-0.1/generic/set_signals.c01 b/software/cinit/browse_source/cinit-0.1/generic/set_signals.c01 deleted file mode 100644 index ff35a78a..00000000 --- a/software/cinit/browse_source/cinit-0.1/generic/set_signals.c01 +++ /dev/null @@ -1,40 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - D_PRINTF("Signale setzen"); - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c and ctr+alt+del */ - - /* what todo when a child exited, cleaning dead processes */ - if(action == ACT_SERV) { - sa.sa_handler=sig_child; -// SA_NOCLDSTOP - } - sigaction(SIGCHLD,&sa,NULL); - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } - sigaction(SIGUSR1,&sa,NULL); /* halt */ - sigaction(SIGUSR2,&sa,NULL); /* rescue */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGHUP,&sa,NULL); /* reboot */ - -} diff --git a/software/cinit/browse_source/cinit-0.1/sbin/cservice b/software/cinit/browse_source/cinit-0.1/sbin/cservice deleted file mode 100644 index ce3090c7..00000000 Binary files a/software/cinit/browse_source/cinit-0.1/sbin/cservice and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.1/serv/cinit.c b/software/cinit/browse_source/cinit-0.1/serv/cinit.c deleted file mode 100644 index 234150c8..00000000 --- a/software/cinit/browse_source/cinit-0.1/serv/cinit.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include - -#include /* poll */ - -#include "cinit.h" - -/* global variables */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * the main procedure - */ - -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - set_signals(ACT_SERV); /* set signal handlers */ - - /* tell the world we are there */ - LOG(MSG_CINIT); - - /* read args, profile support */ - while(argc > 1) { -#ifdef DEBUG - printf("argc=%d\n, argv=%s",argc,argv[argc-1]); -#endif - D_PRINTF(argv[argc-1]); - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - D_PRINTF(initdir); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if ( fcntl(sock,F_SETFL,O_ASYNC|O_NONBLOCK) == -1) { - perror(MSG_FCNTL); - panic(); - } - - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - /* look if a packet reached us */ - D_PRINTF("sigio starten"); - sigio(sock); - } - } - } - D_PRINTF("hier sollte man nicht sein"); -} diff --git a/software/cinit/browse_source/cinit-0.1/serv/list.c b/software/cinit/browse_source/cinit-0.1/serv/list.c deleted file mode 100644 index 50f863a5..00000000 --- a/software/cinit/browse_source/cinit-0.1/serv/list.c +++ /dev/null @@ -1,106 +0,0 @@ -/* (c) 2005 by Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * list handling: the processes cinit will execute/executed - * part of cinit - * changed some formatting, Nico Schottelius - */ - -#include -#include -#include "cinit.h" - - -int list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc( sizeof(struct listitem) ); - - if( tmp == NULL ) { - return 0; - } - - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members, add this one */ - tmp->after = list; /* after the new element comes the begin */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first element has us as previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if( list == NULL ) { /* think positive */ - return NULL; - } else { - tmp = list; - } - - do { - if( !strcmp(path, tmp->abs_path) ) { - return tmp; - } - tmp = tmp->before; - } while(tmp != list); - - return NULL; -} - -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->after->before = tmp->before; - tmp->before->after = tmp->after; - free(tmp->abs_path); - free(tmp); - return 1; -} - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - -// D_PRINTF(path); - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.1/serv/panic.c b/software/cinit/browse_source/cinit-0.1/serv/panic.c deleted file mode 100644 index a130945f..00000000 --- a/software/cinit/browse_source/cinit-0.1/serv/panic.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * panic: if cinit fails, start sulogin - * part of cinit - */ - -#include "cinit.h" -#include - -void panic(void) -{ - char *nargv[2]; - - nargv[0] = SULOGIN; - nargv[1] = NULL; - - /* FIXME: perhaps fork before? And return to standard after? */ - execv(SULOGIN,nargv); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.1/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.1/serv/run_init_svc.c deleted file mode 100644 index 873bb9bc..00000000 --- a/software/cinit/browse_source/cinit-0.1/serv/run_init_svc.c +++ /dev/null @@ -1,44 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - D_PRINTF(cinit_svc); - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - close(sock); - set_signals(ACT_CLIENT); - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ?*/ - if ( run_svc(cinit_svc) ) - _exit(0); - else - _exit(1); - } - /* parent exits, we don't care about our children */ - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.1/serv/sig_child.c b/software/cinit/browse_source/cinit-0.1/serv/sig_child.c deleted file mode 100644 index e941a1ba..00000000 --- a/software/cinit/browse_source/cinit-0.1/serv/sig_child.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called, when a child dies. Remove it. - */ - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_child - * collect the children - */ - -void sig_child(int signal) -{ - do { - D_PRINTF("kind entfernen"); - signal = waitpid(-1,&signal,WNOHANG); - } while( signal > 0); -} diff --git a/software/cinit/browse_source/cinit-0.1/serv/sig_reboot.c b/software/cinit/browse_source/cinit-0.1/serv/sig_reboot.c deleted file mode 100644 index 8a2d0c0b..00000000 --- a/software/cinit/browse_source/cinit-0.1/serv/sig_reboot.c +++ /dev/null @@ -1,158 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called by signal to reboot - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void sig_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - /* Let's disappear, we don't care about clients anymore */ - close(sock); - /********* first SIGTERM the respawning processes **********/ - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - kill(tmp->pid,SIGTERM); - } - tmp = tmp->before; - } while( tmp != list ); - - /********* now wait for the respawn watchers to return *****/ - tmp = list->before; - do { - if( tmp->status == ST_RESPAWN) { - /* wait until the respawn watcher terminated */ - waitpid(tmp->pid,&i,0); - } - - /* execute shutdown service FIXME: parallelize that?*/ - exec_svc(tmp->abs_path,0); - tmp = tmp->before; - } while( tmp != list ); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - - /* release tmp */ - if(umount(CINIT_TMNT) == -1) { - perror(CINIT_TMNT); - } - - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ -#define CMD_CNT 4 -#define SWAP_OFF_CMD "/sbin/swapoff" -#define SWAP_OFF_ARG1 "-a" - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-arfd" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - -#define RESCUE_CMD "/bin/sh" - - /* now: we are completley alone. umount everything, go to bed */ - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { - /* /sbin/swapoff -a */ - cmd[0] = SWAP_OFF_CMD; - cmd[1] = SWAP_OFF_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG2; - cmd[3] = MOUNT_ARG3; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } else { - _exit(1); - } - - switch(signal) { - case SIGTERM: /* power off */ - D_PRINTF("ausmachen"); - reboot(RB_POWER_OFF); - break; - case SIGHUP: /* reboot */ - D_PRINTF("reboot"); - reboot(RB_AUTOBOOT); - break; - case SIGUSR1: /* halt */ - D_PRINTF("halten"); - reboot(RB_HALT_SYSTEM); - break; - case SIGUSR2: /* rescue - destroy ourself */ - D_PRINTF("rescue"); - cmd[0] = RESCUE_CMD; - cmd[1] = NULL; - execv(cmd[0],cmd); - break; - case SIGCONT: /* update */ - D_PRINTF(CINIT_BIN); - cmd[0] = CINIT_BIN; - cmd[1] = NULL; - execv(cmd[0],cmd); - break; - } - - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.1/serv/sigio.c b/software/cinit/browse_source/cinit-0.1/serv/sigio.c deleted file mode 100644 index b8237f48..00000000 --- a/software/cinit/browse_source/cinit-0.1/serv/sigio.c +++ /dev/null @@ -1,151 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( - (nsock = accept(socket,(struct sockaddr *) NULL, (socklen_t *) NULL) ) - != -1) { - - D_PRINTF("sigio..."); - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - -#ifdef DEBUG - printf("CMD: %d\n",buf[0]); -#endif - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - D_PRINTF(buf); - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = 0; - } else { - status = ST_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP RESPAWNING *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - D_PRINTF(buf); - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - D_PRINTF("respawner ausschalten"); - kill(list_tmp->pid,SIGTERM); - -#ifdef DEBUG - printf("pid=%d\n",list_tmp->pid); -#endif - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - - D_PRINTF("liste modifizieren"); - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - D_PRINTF("mod-aus fail"); - status = ST_FAIL; - } else { /* return status */ - D_PRINTF("kein respawn"); - status = list_tmp->status; - } - } - } else { /* no service there */ - status = ST_OFF; - } - do_result(nsock,&status); - break; - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - D_PRINTF(buf); - - if(!list_modify(buf,status,pid)) { - LOG(MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - if( errno != EAGAIN ) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } - - D_PRINTF("ENDE"); -} diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.1/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.1/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.1/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.1/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.1/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.1/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.1/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.1/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:41:08 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:41:08 deleted file mode 100644 index d29de765..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:41:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586640 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:46:09 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:46:09 deleted file mode 100644 index 7ecb58be..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-15:46:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586368 Apr 30 15:46 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-16:50:05 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-16:50:05 deleted file mode 100644 index d87323e5..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-16:50:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587818 Apr 30 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:03:00 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:03:00 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.1/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.1/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.1/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:39:08 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:39:08 deleted file mode 100644 index 0c2bb0af..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:39:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586194 May 6 20:39 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:54:00 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:54:00 deleted file mode 100644 index fe51f37f..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:54 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:55:07 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:55:07 deleted file mode 100644 index 4d2854b5..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:55:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:55 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-23:00:07 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-23:00:07 deleted file mode 100644 index c0db4814..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-23:00:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 23:00 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.1/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:31:01 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:31:01 deleted file mode 100644 index 4ad1fccf..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:31:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:31 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:39:02 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:39:02 deleted file mode 100644 index 16613354..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:39:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:43:08 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:43:08 deleted file mode 100644 index 29e5ab44..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:43 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:54:04 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:54:04 deleted file mode 100644 index 474189e8..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:54:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:54 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:18:00 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:18:00 deleted file mode 100644 index 960ca358..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:18:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:18 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:14:00 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:14:00 deleted file mode 100644 index 7de2bc3e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:14:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:14 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:43:08 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:43:08 deleted file mode 100644 index 11a18f12..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597245 May 7 14:43 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:48:01 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:48:01 deleted file mode 100644 index 28b127b9..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:48:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597405 May 7 14:48 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:55:05 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:55:05 deleted file mode 100644 index 5d0fa0e1..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:55:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:55 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:01:01 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:01:01 deleted file mode 100644 index 7c8b202b..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:01:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 15:01 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:27:00 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:27:00 deleted file mode 100644 index a2d19633..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:27:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:27 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:20:02 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:20:02 deleted file mode 100644 index 23608225..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:20:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602184 May 7 16:20 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:31:09 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:31:09 deleted file mode 100644 index 40f890cf..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:31:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:31 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:08:09 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:08:09 deleted file mode 100644 index 22b48319..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:08:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.1/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-10:44:00 b/software/cinit/browse_source/cinit-0.1/size/2005-05-08-10:44:00 deleted file mode 100644 index 4dad0f2e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-10:44:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 64935 May 8 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.1/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-12:42:08 b/software/cinit/browse_source/cinit-0.1/size/2005-05-08-12:42:08 deleted file mode 100644 index a356e57e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-12:42:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 23195 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.1/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.1/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.1/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.1/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.1/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.1/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.1/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:25:05 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:25:05 deleted file mode 100644 index 0b5026c7..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:25:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:30:03 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:30:03 deleted file mode 100644 index 7377ee59..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:30:03 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-21:54:00 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-21:54:00 deleted file mode 100644 index 41ed8e4c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-21:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604637 May 10 21:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:07:06 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:07:06 deleted file mode 100644 index 9579bf3d..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:07:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95212 May 10 22:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.1/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-00:14:02 b/software/cinit/browse_source/cinit-0.1/size/2005-05-11-00:14:02 deleted file mode 100644 index 86483ada..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-00:14:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.1/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.1/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.1/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.1/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.1/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.1/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.1/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.1/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-15-22:32:07 b/software/cinit/browse_source/cinit-0.1/size/2005-05-15-22:32:07 deleted file mode 100644 index 59557c4b..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-15-22:32:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 15 22:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-15-23:52:06 b/software/cinit/browse_source/cinit-0.1/size/2005-05-15-23:52:06 deleted file mode 100644 index 757e6dc6..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-15-23:52:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579305 May 15 23:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-15-23:56:00 b/software/cinit/browse_source/cinit-0.1/size/2005-05-15-23:56:00 deleted file mode 100644 index 24c85104..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-15-23:56:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605145 May 15 23:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:16:09 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:16:09 deleted file mode 100644 index 27254aa3..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:16:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605205 May 16 00:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-09:58:08 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-09:58:08 deleted file mode 100644 index 90a5b698..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-09:58:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605567 May 16 09:58 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:09:00 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:09:00 deleted file mode 100644 index 4c34f810..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:09:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605583 May 16 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:13:07 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:13:07 deleted file mode 100644 index b6a851e6..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:13:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605619 May 16 10:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:23:05 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:23:05 deleted file mode 100644 index 2c4fc649..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:23:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.1/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.1/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-14:56:01 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-14:56:01 deleted file mode 100644 index c5e08e25..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-14:56:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95794 May 21 14:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:35:00 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:35:00 deleted file mode 100644 index 0f2d5463..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:35:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:35 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.1/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.1/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.1/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.1/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.1/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.1/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.1/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.1/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.1/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.1/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.1/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.1/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.1/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-08-10:23:04 b/software/cinit/browse_source/cinit-0.1/size/2005-06-08-10:23:04 deleted file mode 100644 index 0858c419..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-08-10:23:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53724 Jun 8 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-08:44:09 b/software/cinit/browse_source/cinit-0.1/size/2005-06-09-08:44:09 deleted file mode 100644 index b96788fa..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-08:44:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53524 Jun 9 08:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.1/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-10:00:08 b/software/cinit/browse_source/cinit-0.1/size/2005-06-09-10:00:08 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.1/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.1/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.1/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.1/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-11:47:04 b/software/cinit/browse_source/cinit-0.1/size/2005-06-09-11:47:04 deleted file mode 100644 index 531df2bc..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-09-11:47:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.1/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-10-18:14:05 b/software/cinit/browse_source/cinit-0.1/size/2005-06-10-18:14:05 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-10-18:14:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.1/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.1/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.1/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.1/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.1/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.1/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-12-18:09:08 b/software/cinit/browse_source/cinit-0.1/size/2005-06-12-18:09:08 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-12-18:09:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.1/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-13-08:13:08 b/software/cinit/browse_source/cinit-0.1/size/2005-06-13-08:13:08 deleted file mode 100644 index eab7486c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-13-08:13:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 13 08:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.1/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.1/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.1/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.1/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.1/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.1/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.1/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-10:01:02 b/software/cinit/browse_source/cinit-0.1/size/2005-06-14-10:01:02 deleted file mode 100644 index cd4e9dad..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-10:01:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52380 Jun 14 10:01 cinit --rwx------ 1 nico users 47356 Jun 14 10:01 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.1/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.1/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.1/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.1/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-06:46:05 b/software/cinit/browse_source/cinit-0.1/size/2005-06-15-06:46:05 deleted file mode 100644 index e0e1051d..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-06:46:05 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:46 cinit --rwx------ 1 nico users 47324 Jun 15 06:46 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.1/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.1/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.1/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.1/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.1/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.1/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.1/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.1/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-16-12:18:07 b/software/cinit/browse_source/cinit-0.1/size/2005-06-16-12:18:07 deleted file mode 100644 index 43633af1..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-16-12:18:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 16 12:18 cinit --rwx------ 1 nico users 50860 Jun 16 12:18 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.1/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.1/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.1/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.1/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.1/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.1/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.1/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.1/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.1/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.1/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.1/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.1/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.1/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-10:35:02 b/software/cinit/browse_source/cinit-0.1/size/2005-06-22-10:35:02 deleted file mode 100644 index 41fcadb2..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-10:35:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47584 Jun 22 10:35 cinit --rwx------ 1 nico users 46760 Jun 22 10:35 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.1/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.1/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.1/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.1/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.1/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.1/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.1/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.1/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.1/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.1/util/README b/software/cinit/browse_source/cinit-0.1/util/README deleted file mode 100644 index 782cdc8d..00000000 --- a/software/cinit/browse_source/cinit-0.1/util/README +++ /dev/null @@ -1,2 +0,0 @@ -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.1/util/cservice.c b/software/cinit/browse_source/cinit-0.1/util/cservice.c deleted file mode 100644 index 28cfb5c4..00000000 --- a/software/cinit/browse_source/cinit-0.1/util/cservice.c +++ /dev/null @@ -1,156 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cservice: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define CSERVICE_BANNER "cservice - control cinit\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncservice -[phearsu] \n" \ - "\t-e\t- (ein,on) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n" \ - "\t-u\t- (update) Hot-Reboot system and update cinit\n" \ - "\n-h, -p, -r, -s and -u need the \"Magic Word\" to do their work: \"thilo\"\n" \ - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - if(re == NULL) return NULL; - - strcpy(re,pathtmp); - - return re; -} - -/*********************************************************************** - * usage: tell the user what's wrong and a help text - */ -void usage(char *stext) -{ - write(1,CSERVICE_BANNER,strlen(CSERVICE_BANNER)); - write(1,stext,strlen(stext)); - write(1,USAGE_TEXT,strlen(USAGE_TEXT)); - _exit(1); -} - - - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 3) usage("Too less arguments!"); - if(argv[1][0] != '-') usage("Wrong arguments"); - if(strlen(argv[1]) != 2) usage("Wrong parameter length"); - - switch(argv[1][1]) { - case 'e': /* ein */ - if(run_svc(argv[2])) { - mini_printf("Successfully started.",1); - } else { - mini_printf("An error occured",1); - } - break; - - case 'a': /* aus */ - if( msg_svc_on_off( fuzzy_path(argv[2]),0 ) ) { - mini_printf("Successfully stoped.",1); - } else { - mini_printf("An error occured",1); - } - break; - - case 'p': /* power off */ - mini_printf("Powering off...",1); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - mini_printf("Halting...",1); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - mini_printf("Rebooting...",1); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - mini_printf("Rescue mode...",1); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - mini_printf("Update and hot reboot in progress...",1); - msg_reboot(CMD_UPDATE); - break; - - default: - usage("Unknown parameter"); - break; - } - D_PRINTF("wir beenden uns");; - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.1/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.1/util/msg_reboot.c deleted file mode 100644 index 931bfc58..00000000 --- a/software/cinit/browse_source/cinit-0.1/util/msg_reboot.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - D_PRINTF("aus damit"); - if(!begin_msg(cmd)) return 0; - D_PRINTF("abschliessen"); - close(sock); - D_PRINTF("und programm terminieren"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.2.1/ b/software/cinit/browse_source/cinit-0.2.1/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.2.1/.exclude b/software/cinit/browse_source/cinit-0.2.1/.exclude deleted file mode 100644 index 1a2d31e7..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/.exclude +++ /dev/null @@ -1,2 +0,0 @@ -tmp -.git diff --git a/software/cinit/browse_source/cinit-0.2.1/.gitignore b/software/cinit/browse_source/cinit-0.2.1/.gitignore deleted file mode 100644 index 68048ad3..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -MT -*.o -*.a -ccontrol -cservice -cinit -*0? -config.h -ddoc -tmp diff --git a/software/cinit/browse_source/cinit-0.2.1/CHANGES b/software/cinit/browse_source/cinit-0.2.1/CHANGES deleted file mode 100644 index f42f47a7..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/CHANGES +++ /dev/null @@ -1,27 +0,0 @@ -cinit-0.2.1: (Bugfix release) -- Fixed problem in contrib+tools/Makefile when installing -- added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) -cinit-0.2: -- Much more verbose error reporting -- You can now also disable 'once ran' services, -- You can restart services with csevice -r -- Online speech in German is available -- C_DELAY support - variable delay for sending SIGKILL after SIGTERM -- First /etc/csys configuration example (wasserstoff) is available -- a Mailing list was created -- Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) -- Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) -- Removed unecessary signalling -- Added many helper scripts to install services (cinit.install.service*) -- Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) -- Added ccontrol, which allows to control cinit -- Added update (-u) via ccontrol -- Stripped cservice, which now "only" controls services -- Removed swapoff from cinit code, should be handled by off -- Much better error and processing descriptions -- A bit more verbose reporting -- Restructured run_svc, now with better error detection -- Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.2.1/COPYING b/software/cinit/browse_source/cinit-0.2.1/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.2.1/CREDITS b/software/cinit/browse_source/cinit-0.2.1/CREDITS deleted file mode 100644 index b009a48c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/CREDITS +++ /dev/null @@ -1,23 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: 2005-09-25) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -René Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding diff --git a/software/cinit/browse_source/cinit-0.2.1/Changelog b/software/cinit/browse_source/cinit-0.2.1/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.2.1/Makefile b/software/cinit/browse_source/cinit-0.2.1/Makefile deleted file mode 100644 index a2f373af..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/Makefile +++ /dev/null @@ -1,106 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -include Makefile.include - -# directories and files -DDOC=ddoc -SDIRS=bin client conf comm doc generic serv util -CDIRS=contrib+tools -FILES=Changelog Makefile README TODO cinit.h - -# objects -SERV=serv/sigio.o serv/cinit.o serv/list.o \ - serv/run_init_svc.o serv/panic.o serv/sig_reboot.o \ - serv/sig_child.o - -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -BOTH=generic/set_signals.o generic/mini_printf.o generic/usage.o - -OBJ=$(SERV) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -CCO_OBJ=util/ccontrol.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -all:: cinit cservice ccontrol sizecheck docs - -cinit: $(CINIT_BIN) - -docs: $(DDOC) bin/cdoc-man.sh - ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 - ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 - -$(DDOC): - mkdir $(DDOC) - -$(CSVC_OBJ) $(OBJ): config.h - -$(CINIT_BIN): $(SBIN) $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -$(SBIN): - mkdir $(SBIN) - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%T`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' - -clean:: - rm -f *.o */*.o sbin/* config.h ddoc/* - -config.h: conf/* - ./bin/cinit.mkheader > config.h - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install:: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -all install clean:: - @for subdir in $(CDIRS); do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && $(MAKE) $(MAKEFLAGS) $@) \ - || exit 1;\ - done; diff --git a/software/cinit/browse_source/cinit-0.2.1/Makefile.include b/software/cinit/browse_source/cinit-0.2.1/Makefile.include deleted file mode 100644 index fe1813c8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/Makefile.include +++ /dev/null @@ -1,24 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -OPTIMIZE=-Werror -#DEBUG=-g -DDEBUG -OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! - but not the other programs! -CINIT_LDFLAGS=-static - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -LD=gcc -STRIP=strip -R .comment -R .note diff --git a/software/cinit/browse_source/cinit-0.2.1/README b/software/cinit/browse_source/cinit-0.2.1/README deleted file mode 100644 index 27f07c12..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/README +++ /dev/null @@ -1,110 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.2.1/TODO b/software/cinit/browse_source/cinit-0.2.1/TODO deleted file mode 100644 index a53193ba..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/TODO +++ /dev/null @@ -1,116 +0,0 @@ -- change client handler (SIGCHILD!) code -- perhaps use dnotify? -- recheck warm reboot -- fix cservice -- print service name or cinit: before _everything_ WE print - -TESTING: - - does cinit eat zombies? - - is the reporting ok? - - does cservice and ccontrol what's expected? - -# cinit.create.empty.service: can only be started from the bin directory - -- compile cinit static and other tools dynamically per default - -- Fix Switching services off !! -- Remove RUN_RUN_SVCs, move code to run_svc so one can determine which - services failed? - --> sequentieller ablauf! - --> parallel ablauf, struct-array mit namen und ergebnis? - --> for dep in deps/*; do fork(run_svc() ); done - -----> while(any_is_running) { sleep } - -------> array durchsuchen, ergebnis nutzen. - - ueberpruefen von wo aus run_svc() aufgerufen wird - -- Fix SIGCHILD problem: - - exec_svc wants to waitpid() itself, so SIG_CHILD makes problems - - respawn_svc: does that need to act on SIGCHLD if the master process - is still running? - - kill respawn -> sigchild cleans up, we do not get waitpid perhaps? -- remove umount code? -- remove zombies, but keep away from SIGCHILD problems -- remove mount /etc/cinit/tmp code - -> how to replace? -- fix bug in Makefile: linking happens twice -- do not kill respawing service, if off exists -- ccontrol -- manpages -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren -- ddoc zuendefuehren - -- remove umount, swapoff? ---> to services? - -- on.out, on.err, on.in? - -> reading/writing from/to files - ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! -- implement "no_kill" until cinit-0.2 or 0.3? - -Doku!!! - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) - - memset for timespecs? - - move umount, swapoff and remount to off of init? - -> cleanup sig_reboot.c - - run_svc: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - - do we really need swapoff? --------------------------------------------------------------------------------- -- Documentation - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml --------------------------------------------------------------------------------- -Things I did not do and I don't know whether we have to care about: - -- Porting - - add porting code to other unices? - - like openssh guys do? - -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -[OLD BUGS] -- remove cinit watcher? - -> sig_child -> cycle through list? -- DOKU: what happens when a service does not terminate.... - und er als once drin ist -- MANPAGE! -- execve() fails -> no sleep!! -- multiple zombies sometimes - problemservices - -> zombies of respawn watchers are not caught! - -> sig_chld also therein - -> problematic due to wait for child --doubled cinit instance - - nur einmal -- free() everything before starting child -- cservice! - - prozess nur einmal -> WARTET! cinit auch! -doku: - cservice einmal starten -> wartet auf ende - cint ersetzt init bei gentoo - an error occuerd-> verbose - multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. -11:09 < folken23> telmich: oder service allready started. diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.2.1/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.get-confdir b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.binary deleted file mode 100644 index 026395c6..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.binary +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $DESTDIR/$PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $DESTDIR/$PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $DESTDIR/$PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.standard.dirs deleted file mode 100644 index 9829b68e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.standard.dirs +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/getty" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/local-services" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/local-tuning" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/mount" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/network" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.mkheader b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.mkheader deleted file mode 100644 index e1f35d07..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.mkheader +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric - no I didn't see an easier way - numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - - [ "$numeric" ] || value="\"$value\"" - - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.read-conf b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.read-conf deleted file mode 100644 index eb63e69a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.read-conf +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/* - -set -e - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME="$(head -n 1 $conf)" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.release b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.release deleted file mode 100644 index dba81edd..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.release +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: Fr Okt 28 01:24:58 CEST 2005 - - -if [ $# -ne 2 ]; then - echo $(basename $0): source-dir version - exit 1 -fi - -DIR=$1 -VERSION=$2 -OUT_NAME=cinit-${VERSION}.tar.bz2 -D_HOST=creme.schottelius.org -D_DIR=www/org/schottelius/linux/cinit/archives/ -D_SOURCE=www/org/schottelius/linux/cinit/browse_source/ - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -( cd "$DIR" && make clean ) || exit 1 - -echo "Creating bzip2 compressed tar" -tar cj -X $DIR/.exclude -f "$OUT_NAME" $DIR -chmod 0644 "$OUT_NAME" -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type d -exec chmod 0755 {} \\;" diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.2.1/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.2.1/cinit-conf/FRAMEWORK b/software/cinit/browse_source/cinit-0.2.1/cinit-conf/FRAMEWORK deleted file mode 100644 index 45421810..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/cinit-conf/FRAMEWORK +++ /dev/null @@ -1,5 +0,0 @@ -welcome-screen [optional] - | -display_standard_layout - | - ... diff --git a/software/cinit/browse_source/cinit-0.2.1/cinit-conf/bin/cinit-conf.sh b/software/cinit/browse_source/cinit-0.2.1/cinit-conf/bin/cinit-conf.sh deleted file mode 100644 index 0e29816e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/cinit-conf/bin/cinit-conf.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: 2005-08-08 -# cinit-conf - -LIBEXEC=$(dirname $0)/../libexec/cinit-conf/ - -. ${LIBEXEC}/dialog-alias.sh - -dialog --calendar "Test" 0 0 18 12 1982 -dialog --checklist "Checktest" 0 0 0 item1 on item2 off item3 on -dialog --infobox "Infotext" 0 0 -dialog --inputbox "inputbox" 0 0 "vorgegebener text" -dialog --menu "menu" 0 0 0 tag1 item1 tag2 item2 bla blub -dialog --infobox "Infotext" 0 0 -dialog --msgbox "Infotext" 0 0 -dialog --radiolist "Infotext" 0 0 0 tag1 item1 on tag2 item2 off -dialog --textbox ~/.bashrc 0 0 -dialog --yesno "Ja oder nein?" 0 0 - -dialog --gauge "Checktest" 0 0 10 - -#dialog --inputmenu "Infotext" 0 0 0 tag1 item1 tag2 item2 bla blub diff --git a/software/cinit/browse_source/cinit-0.2.1/cinit-conf/libexec/cinit-conf/dialog-alias.sh b/software/cinit/browse_source/cinit-0.2.1/cinit-conf/libexec/cinit-conf/dialog-alias.sh deleted file mode 100644 index 89813726..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/cinit-conf/libexec/cinit-conf/dialog-alias.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# the cLinux project -# Created: 2004-12-25 -# Last-Modified: -# choose the correct dialog version - -if [ -z "$DISPLAY" ]; then - alias dialog="dialog --shadow --backtitle \"$full_version\"" -else - alias dialog="Xdialog --backtitle \"$full_version\"" -fi diff --git a/software/cinit/browse_source/cinit-0.2.1/cinit.h b/software/cinit/browse_source/cinit-0.2.1/cinit.h deleted file mode 100644 index 5aa5a0e2..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/cinit.h +++ /dev/null @@ -1,191 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* paths */ -#define C_ONARG C_ON C_PARAMS -#define C_OFFARG C_OFF C_PARAMS -#define C_ONENV C_ON C_ENV -#define C_OFFENV C_OFF C_ENV - -#define SLASH "/" -#define MSG_DP ": " - -#define CINIT_INIT CINIT_DIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -/* commands (maximum: 2^8 = 256, because we use a single byte)*/ -enum commands { CMD_START_SVC=1, - CMD_STOP_SVC, - CMD_CHG_STATUS, - CMD_RESCUE, - CMD_HALT, - CMD_REBOOT, - CMD_POWEROFF, - CMD_UPDATE, - CMD_WBOOT }; - -/* status of a service and return codes - errors and success */ -enum svc_status { RT_TMPNOW=1, /* now you are on it - only for clients */ - RT_ERR_COMM, /* communication failed */ - RT_ERR, /* service starting failed */ - RT_SVC_FAILED, /* tried earlier, service failed, won't retry */ - RT_UNSPEC, /* some kind of error, unspecified */ - RT_SUCCESS, /* successfully started: respawning or once */ - RT_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - ST_OFF, /* service is off */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ - }; - - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* Messages to the outside */ -#define MSG_CINIT "cinit-0.2: Booting from " -#define MSG_NOT_ONE "cinit should not be started directly, but by your kernel." -#define MSG_USAGE "cinit: [cprofile:profile]\n" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_READ "read" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_FORK "fork" -#define MSG_BIND "bind" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_TERMKILL "sigterm" -#define MSG_KILLBILL "sigkill" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_SVC_FAIL "Service failed" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_START_SVC "Starting " -#define MSG_STOP_SVC "Stoping " -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_POWER_OFF "Powering off..." -#define MSG_HALT "Halting system ..." -#define MSG_REBOOT "Rebooting ..." -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - - -struct listitem { - char *abs_path; /* name of service */ - int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - struct listitem *before; /* previous item */ - struct listitem *after; /* next item */ -}; - -/* variables */ -extern struct listitem *list; /* the process linked chain */ -extern int sock; /* current writing/reading socket */ -extern pid_t cpid; /* used by main() and reused be respaw_svc() */ - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int run_init_svc(char *cinit_svc); -void sigio(int socket); -void sig_reboot(int signal); -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); -void sig_terminate(int signal); - -/* listing functions (server only) */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); - -/* util */ -int msg_reboot(char cmd); - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } diff --git a/software/cinit/browse_source/cinit-0.2.1/client/README b/software/cinit/browse_source/cinit-0.2.1/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.2.1/client/begin_msg.c b/software/cinit/browse_source/cinit-0.2.1/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.2.1/client/connect_sock.c b/software/cinit/browse_source/cinit-0.2.1/client/connect_sock.c deleted file mode 100644 index de161327..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/client/connect_sock.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.2.1/client/exec_svc.c b/software/cinit/browse_source/cinit-0.2.1/client/exec_svc.c deleted file mode 100644 index 0734a512..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/client/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.2.1/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.2.1/client/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.2.1/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.2.1/client/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/client/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.2.1/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.2.1/client/respawn_svc.c deleted file mode 100644 index 2bef057f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/client/respawn_svc.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while( cpid ); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.2.1/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.2.1/client/run_run_svcs.c deleted file mode 100644 index 3ad819a5..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/client/run_run_svcs.c +++ /dev/null @@ -1,85 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.2.1/client/run_svc.c b/software/cinit/browse_source/cinit-0.2.1/client/run_svc.c deleted file mode 100644 index 5ece19d9..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/client/run_svc.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.2.1/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.2.1/client/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/client/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.2.1/comm/README b/software/cinit/browse_source/cinit-0.2.1/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.2.1/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.2.1/comm/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/comm/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.2.1/comm/do_result.c b/software/cinit/browse_source/cinit-0.2.1/comm/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/comm/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.2.1/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.2.1/comm/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/comm/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/.README b/software/cinit/browse_source/cinit-0.2.1/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_delay b/software/cinit/browse_source/cinit-0.2.1/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_env b/software/cinit/browse_source/cinit-0.2.1/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_halt b/software/cinit/browse_source/cinit-0.2.1/conf/c_halt deleted file mode 100644 index bc062a2c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the service we should start when 'halting' (system stop, but no -power off). diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_init b/software/cinit/browse_source/cinit-0.2.1/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_needs b/software/cinit/browse_source/cinit-0.2.1/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_off b/software/cinit/browse_source/cinit-0.2.1/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_on b/software/cinit/browse_source/cinit-0.2.1/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_params b/software/cinit/browse_source/cinit-0.2.1/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_poweroff b/software/cinit/browse_source/cinit-0.2.1/conf/c_poweroff deleted file mode 100644 index 273d4bec..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_poweroff +++ /dev/null @@ -1,3 +0,0 @@ -poweroff - -Name of the service we should start, when system power-off is called. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_reboot b/software/cinit/browse_source/cinit-0.2.1/conf/c_reboot deleted file mode 100644 index 17937b4a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_reboot +++ /dev/null @@ -1,3 +0,0 @@ -reboot - -Name of the service we should start on reboot. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_respawn b/software/cinit/browse_source/cinit-0.2.1/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_sock b/software/cinit/browse_source/cinit-0.2.1/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_tmp b/software/cinit/browse_source/cinit-0.2.1/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.2.1/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.2.1/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/c_wants b/software/cinit/browse_source/cinit-0.2.1/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/cinit_dir b/software/cinit/browse_source/cinit-0.2.1/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/destdir b/software/cinit/browse_source/cinit-0.2.1/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/getty_dir b/software/cinit/browse_source/cinit-0.2.1/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/install_directory b/software/cinit/browse_source/cinit-0.2.1/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/install_prog b/software/cinit/browse_source/cinit-0.2.1/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/max_delay b/software/cinit/browse_source/cinit-0.2.1/conf/max_delay deleted file mode 100644 index 149fa16c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/max_delay +++ /dev/null @@ -1,7 +0,0 @@ -4 - -Maximum number of digits which may be in the delay file. -If there are more, the string "12345678901" will be cut to the -right length "1234567890". I don't think you'll ever need -a timeout greater 4 digits (9999 seconds are 166,65~ minutes, are -2 hours, 46 minutes and 39 seconds). See doc/configuring.cinit. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/max_deps b/software/cinit/browse_source/cinit-0.2.1/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/prefix b/software/cinit/browse_source/cinit-0.2.1/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/profile b/software/cinit/browse_source/cinit-0.2.1/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/sleep_kill b/software/cinit/browse_source/cinit-0.2.1/conf/sleep_kill deleted file mode 100644 index de1fd006..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/sleep_kill +++ /dev/null @@ -1,5 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.2.1/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.2.1/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/sleep_svc b/software/cinit/browse_source/cinit-0.2.1/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/sock_queue b/software/cinit/browse_source/cinit-0.2.1/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.2.1/conf/sulogin b/software/cinit/browse_source/cinit-0.2.1/conf/sulogin deleted file mode 100644 index 4f003994..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/conf/sulogin +++ /dev/null @@ -1,4 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it only if we panic(). -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.2.1/contrib+tools/Makefile deleted file mode 100644 index 1de8214d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -#DEBUG=-g -DDEBUG -OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = $(HOME) -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o ../generic/usage.o ../generic/mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/README b/software/cinit/browse_source/cinit-0.2.1/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.2.1/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.2.1/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.2.1/contrib+tools/cinit-vis.pl deleted file mode 100644 index 3956ff47..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.2.1/contrib+tools/cinit.graph.text.c deleted file mode 100644 index ffd33c39..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -//#include -#include -#include -#include -#include -#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.gaph.text - textual representatio of the cinitdirectory - */ - -#define CSERVICE_BANNER "cinit.gaph.text - textual representatio of the cinitdirectory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.gaph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.2.1/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.2.1/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.2.1/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/.buildwarn b/software/cinit/browse_source/cinit-0.2.1/doc/.buildwarn deleted file mode 100644 index 72ebaf6d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/.buildwarn +++ /dev/null @@ -1,18 +0,0 @@ -**************************************************************************** -First of all configure cinit through the configuration files found in conf/. - -The documentation can be found in doc/, read - - README and doc/configuring.cinit - -_before_ first use. - -After reading and configuring use: - - "make all" - to build cinit - "make install" - to install cinit - "make install-miniconf" - to install a minimal cinit-configuration - -After that you'll have to configure it. Some sample configurations can be -found on the cinit homepage at http://linux.schottelius.org/cinit/. -**************************************************************************** diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/FAQ b/software/cinit/browse_source/cinit-0.2.1/doc/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/caveats b/software/cinit/browse_source/cinit-0.2.1/doc/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/author b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/availability b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/examples b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/files b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/path b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/see also b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/compiles.on b/software/cinit/browse_source/cinit-0.2.1/doc/compiles.on deleted file mode 100644 index 3fe83479..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/compiles.on +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -compiles.on, -Nico Schottelius 2005-06-09 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit is known to compile on: - -x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 - -Please report your configuration, if it's not listed here. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/configuring.cinit b/software/cinit/browse_source/cinit-0.2.1/doc/configuring.cinit deleted file mode 100644 index a88ba00f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/configuring.cinit +++ /dev/null @@ -1,189 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, -Nico Schottelius 2005-05-28 (Last Modified: 2005-06-05) --------------------------------------------------------------------------------- - -0. Pre-compile configuration -1. General configuration layout -2. Hints -2.0 Service executing / parameters -2.1 Daemons -2.2 Logging -2.3 Using prepared scripts -3. Profiles - - -0. Pre-compile configuration - -Have a look at conf/*. Those variable will mostly be used when -compiling cinit. Some will be read later (like destdir). - - -1. General configuration layout - -/etc/cinit (configurable via conf/cinit_dir) stores the complete -cinit configuration. - -cinit is service based. -A service consists of - - a base directory (like /etc/cinit/getty/1) - - dependency configuration: - - ./wants - services it wants to be started before (but it - will work anyway) - - ./needs/ - services it needs. If those services fail, this service - won't be started. - - - a flag indicating whether to respawn the service: - - ./respawn (simply touch it) - - - a delay: how long to wait for the service (in seconds) before - sending SIGKILL after the SIGTERM (only for respawning processes): - - ./delay (one line with only the digits) - - If delay is non-existing or not readable, the delay from - conf/sleep_kill_svc is taken. The maximum length of this - number ("9999" uses length 4, "42" needs 2 bytes) can be adjusted - at compile time in conf/max_delay. Internally this is a signed - integer, so the maximum size depends on your system. Though - I don't think anybody will want to wait for a service as long as - an integer would allow. - - - the program to run when switching the service on and off: - - ./on (a link to a program or a shell script) - ./on.params (see conf/c_params, the parameters to pass to the program) - ./on.env (see conf/c_env, the environment to pass to the program) - - ./off (call that when shutting down the service) - ./off.params (the parameters to pass to the program) - ./on.env (the environment to pass to the program) - -You should have a look at the samples/ directory for examples. - -If things are missing, cinit will continue with what's available. -This way you only need the files you use. Some examples: - - /etc/cinit/init: - ./wants -> services it wants - ./needs -> services it needs - That's everything - - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it - That's everything, as it has no dependencies - - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn on service - delay -> wait this time before sending SIGKILL after SIGTERM - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting - - -2. Hints - -2.0 Service executing / parameters - -The on and off files can and should be links to the programs you want -to execute. This way you save yourself loading the big shell (which is -on many Linux systems bash, why so ever, dash does the job as good, still -beeing small). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. The on script -could look like: - - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). - - -2.1 Daemons - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking (Please have a look at -daemons.backgrounding for a list of known daemons and their switches -to avoid backgrounding). - -The other possibility is to use a program, which will - a) start the daemon - b) look into the pidfile of the daemon - c) will then wait until that pid does not exist anymore - d) and then it exits and cinit will restart it (goto a) now) - -Such a program is included into this cinit release, -though I do not recommend using it. You should better contact the -authors and make them implement a clean non-forking mode. - -The name of the program (actually a shell script) is "cinit.wait.for.daemon". - -You will use it as the "on" part of the service and you have to add - - a) the pidfile to on.params - b) the daemon binary - -Thus the service would look like: - - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -2.2 Logging - -Currently there's no special logging support. -When programs write to stdout, it will be displayed on -the same stdout cinit is connected to -(we don't even open /dev/console - we are too lazy currently). - - -2.3 Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - - -3. Profiles - -Since cinit-0.0.6 there is profile in cinit. -Profiles are described in doc/profile.support. - -X. Examples - -Can be found in the tarballs below samples/. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/author b/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/path b/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/see also b/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/daemons.backgrounding b/software/cinit/browse_source/cinit-0.2.1/doc/daemons.backgrounding deleted file mode 100644 index c021fdb2..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/daemons.backgrounding +++ /dev/null @@ -1,71 +0,0 @@ --------------------------------------------------------------------------------- -daemons backgrounding, -Nico Schottelius 2005-06-12 (Last Modified: 2005-10-15) --------------------------------------------------------------------------------- - -0. Definition - -A daemon is a program which runs in the background, not having a tty -associated necesserally. Running in background does not mean it has -to background (fork()) itself, but that you cannot control it directly -from a shell. - -1. Daemons and cinit - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking - -The following daemons / servers are known to avoid backgrounding easily: - - acpid [x86 power management]: -f (undocumentated but works) - asterisk [pbx]: -f - bind [dns server/caching]: -f - cardmgr [pcmcia/cardbus]: -f - cron (vixie) [schedular]: -f - cupsd [printer server]: -f or -F - dhclient [dhcp client]: -d - dhcp3 (isc) [dhcp server]: -f - distccd [compile server]: normal behaviour - fam [file alteration monitor]:-f - fcron [schedular]: -f - frox [ftp proxy]: "NoDetach" in config - gdm [display manager]: -nodaemon - hybrid [irc server]: -foreground - icecast2 [sound streamer]: normal behaviour - mini-lpd [printer server]: normal behaviour - metalog [log server]: normal behaviour - monotone [vcs]: normal behaviour - mpd [music server]: --no-daemon - nessusd ["security server"]: normal behaviour - ntpd [time server]: -n - oidentd [identd server]: -i - oops [http proxy]: normal behaviour - openssh [ssh server]: -D - openvpn [vpn server]: normal behaviour - pbbuttonsd [power management]:normal behaviour - proftpd [ftp server]: -n - qmail [mta]: normal behaviour - rsync ["file server"]: --no-detach - silcd ["secure chat server"]: -F, --foreground - slapd [ldap]: -d - snmpd [snmp daemon]: -f - svnserve [vcs]: --foreground - syslogd [log server]: -n - syslog-ng [log server]: -F - tcpserver [super server]: normal behaviour - udhcpc [dhcp client]: normal behaviour - vsftpd [ftp server]: normal behaviour (or: config: background=no) - xinetd [super server]: -dontfork - -Those are the daemons that do not offer the possibility (as of release 0.2): - - apache (only with debug mode) - atd (no switch, no configuraton option) - inetd (some variants) - nscd (no switch, no configuraton option) - portmap (only with debug mode) diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/debugging.configuration b/software/cinit/browse_source/cinit-0.2.1/doc/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/extern/README b/software/cinit/browse_source/cinit-0.2.1/doc/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.2.1/doc/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.2.1/doc/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.2.1/doc/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.2.1/doc/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/intern/README b/software/cinit/browse_source/cinit-0.2.1/doc/intern/README deleted file mode 100644 index af6f9e9d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/intern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/intern/ - The documentation in this directory describes cinit internals. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/intern/cinit.commands b/software/cinit/browse_source/cinit-0.2.1/doc/intern/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/intern/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/intern/how_it_works_internally b/software/cinit/browse_source/cinit-0.2.1/doc/intern/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/intern/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/intern/service.status b/software/cinit/browse_source/cinit-0.2.1/doc/intern/service.status deleted file mode 100644 index 7bfaff81..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/intern/service.status +++ /dev/null @@ -1,26 +0,0 @@ --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/intern/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.2.1/doc/intern/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/intern/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/merging.other.initsystems b/software/cinit/browse_source/cinit-0.2.1/doc/merging.other.initsystems deleted file mode 100644 index c324a935..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/merging.other.initsystems +++ /dev/null @@ -1,64 +0,0 @@ --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/meta.dependencies b/software/cinit/browse_source/cinit-0.2.1/doc/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/optimising.cinit b/software/cinit/browse_source/cinit-0.2.1/doc/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/porting.to.other.os b/software/cinit/browse_source/cinit-0.2.1/doc/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/problems b/software/cinit/browse_source/cinit-0.2.1/doc/problems deleted file mode 100644 index a3440a3a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/problems +++ /dev/null @@ -1,9 +0,0 @@ -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/profile.support b/software/cinit/browse_source/cinit-0.2.1/doc/profile.support deleted file mode 100644 index 7bc607b8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/profile.support +++ /dev/null @@ -1,72 +0,0 @@ --------------------------------------------------------------------------------- -Profiles, -Nico Schottelius, 2005-06-04 --------------------------------------------------------------------------------- - -1. What are profiles? -2. How to use profiles? -3. How to configure profiles? -4. Some examples - - -1. What are profiles? - -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -2. How to use profiles? - -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. -How to pass argumenents to cinit? Under Linux the init-system -gets the kernel arguments (see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -3. How to configure profiles? - -It's very simple: Normally cinit would call /etc/cinit/init as -primary service and solve all dependencies. If you pass -cprofile=wireless to it, cinit will start /etc/cinit/wireless as -primary service instead. - - [Note: /etc/cinit/yourprofile is the service that will be started. - You need/should/must NOT create /etc/cinit/yourprofile/init!] - -So the only thing you have to do is to create a service directory -below /etc/cinit with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/init; tar c . | (mkdir ../yp; cd ../yp; tar x ) - -That's it! - - -4. Some examples - -Here are some examples we found in #cLinux: - - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work - diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/removing.zombies b/software/cinit/browse_source/cinit-0.2.1/doc/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/replacing.init b/software/cinit/browse_source/cinit-0.2.1/doc/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/security b/software/cinit/browse_source/cinit-0.2.1/doc/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/testing.cinit.in.uml b/software/cinit/browse_source/cinit-0.2.1/doc/testing.cinit.in.uml deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/testing.cinit.in.uml +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/thoughts.closed b/software/cinit/browse_source/cinit-0.2.1/doc/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/updating.cinit b/software/cinit/browse_source/cinit-0.2.1/doc/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.2.1/doc/using.rescue b/software/cinit/browse_source/cinit-0.2.1/doc/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/doc/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.2.1/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.2.1/generic/mini_printf.c deleted file mode 100644 index 91f136c8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/generic/mini_printf.c +++ /dev/null @@ -1,22 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print string - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - size_t length = 0; - - p = str; - while ( *p != '\0') { - ++length; - ++p; - } - write(fd,str,length); - /* \n is put by outside function */ - /* write(fd,"\n",1); */ -} diff --git a/software/cinit/browse_source/cinit-0.2.1/generic/set_signals.c b/software/cinit/browse_source/cinit-0.2.1/generic/set_signals.c deleted file mode 100644 index ee76c724..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/generic/set_signals.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c and ctr+alt+del */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGTTIN,&sa,NULL); - sigaction(SIGTTOU,&sa,NULL); - sigaction(SIGSTOP,&sa,NULL); - - sigaction(SIGQUIT,&sa,NULL); /* warm reboot??? */ - - /* cleaning dead processes - only process 1 */ - if(action == ACT_SERV) { - sa.sa_handler=sig_child; - } - /* server and client need sig_chld - really??? FIXME in exec_svc then! */ - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } - sigaction(SIGUSR1,&sa,NULL); /* halt */ - sigaction(SIGUSR2,&sa,NULL); /* Rescue */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGHUP,&sa,NULL); /* reboot */ - sigaction(SIGCONT,&sa,NULL); /* update */ - -} diff --git a/software/cinit/browse_source/cinit-0.2.1/generic/usage.c b/software/cinit/browse_source/cinit-0.2.1/generic/usage.c deleted file mode 100644 index e434bcaf..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/generic/usage.c +++ /dev/null @@ -1,19 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * usage: tell the world what we want - no capitalism - * part of cLinux/cinit - */ - -#include -#include "cinit.h" - -/*********************************************************************** - * usage: tell the user what's wrong and a help text - */ -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.2.1/serv/cinit.c b/software/cinit/browse_source/cinit-0.2.1/serv/cinit.c deleted file mode 100644 index 9c1565ab..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/serv/cinit.c +++ /dev/null @@ -1,136 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include - -#include /* poll */ - -#include "cinit.h" - -/* global variables */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * the main procedure - */ - -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.2.1/serv/list.c b/software/cinit/browse_source/cinit-0.2.1/serv/list.c deleted file mode 100644 index f7107d89..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/serv/list.c +++ /dev/null @@ -1,104 +0,0 @@ -/* (c) 2005 by Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * list handling: the processes cinit will execute/executed - * part of cinit - * changed some formatting, Nico Schottelius - */ - -#include -#include -#include "cinit.h" - -int list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc( sizeof(struct listitem) ); - - if( tmp == NULL ) { - return 0; - } - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if( list == NULL ) { /* think positive */ - return NULL; - } else { - tmp = list; - } - - do { - if( !strcmp(path, tmp->abs_path) ) { - return tmp; - } - tmp = tmp->before; - } while(tmp != list); - - return NULL; -} - -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->after->before = tmp->before; - tmp->before->after = tmp->after; - free(tmp->abs_path); - free(tmp); - return 1; -} - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - -// D_PRINTF(path); - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.2.1/serv/panic.c b/software/cinit/browse_source/cinit-0.2.1/serv/panic.c deleted file mode 100644 index 2f276fa0..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/serv/panic.c +++ /dev/null @@ -1,19 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * panic: if cinit fails, start sulogin - * part of cinit - */ - -#include "cinit.h" -#include - -void panic(void) -{ - char *nargv[2]; - - nargv[0] = SULOGIN; - nargv[1] = NULL; - - execv(SULOGIN,nargv); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.2.1/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.2.1/serv/run_init_svc.c deleted file mode 100644 index ad5378f0..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/serv/run_init_svc.c +++ /dev/null @@ -1,43 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - close(sock); - set_signals(ACT_CLIENT); - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ?*/ - if ( run_svc(cinit_svc) >= RT_SUCCESS ) - _exit(0); - else - _exit(1); - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.2.1/serv/sig_child.c b/software/cinit/browse_source/cinit-0.2.1/serv/sig_child.c deleted file mode 100644 index c8368b2b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/serv/sig_child.c +++ /dev/null @@ -1,21 +0,0 @@ -/* cinit - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * We are called, when a child dies. Remove it. - */ - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_child - * collect the children - */ - -void sig_child(int signal) -{ - do { - signal = waitpid(-1,&signal,WNOHANG); - } while( signal > 0); -} diff --git a/software/cinit/browse_source/cinit-0.2.1/serv/sig_reboot.c b/software/cinit/browse_source/cinit-0.2.1/serv/sig_reboot.c deleted file mode 100644 index 9ef1e663..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/serv/sig_reboot.c +++ /dev/null @@ -1,147 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called by signal to reboot - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void sig_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - /* Let's disappear, we don't care about clients anymore */ - close(sock); - /********* first SIGTERM the respawning processes **********/ - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - kill(tmp->pid,SIGTERM); - } - tmp = tmp->before; - } while( tmp != list ); - - /********* now wait for the respawn watchers to return *****/ - tmp = list->before; - do { - if( tmp->status == ST_RESPAWN) { - /* wait until the respawn watcher terminated */ - waitpid(tmp->pid,&i,0); - } - - /* execute shutdown service FIXME: parallelize that?*/ - exec_svc(tmp->abs_path,CMD_STOP_SVC); - tmp = tmp->before; - } while( tmp != list ); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - - /* release tmp */ - if(umount(CINIT_TMNT) == -1) { - perror(CINIT_TMNT); - } - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ -#define CMD_CNT 4 - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-arfd" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - -#define RESCUE_CMD "/bin/sh" - - /* now: we are completley alone. umount everything, go to bed */ - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG2; - cmd[3] = MOUNT_ARG3; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } else { - _exit(1); - } - - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - reboot(RB_POWER_OFF); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - reboot(RB_AUTOBOOT); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - reboot(RB_HALT_SYSTEM); - break; - case SIGUSR2: /* rescue - destroy ourself */ - LOG(MSG_RESCUE); - cmd[0] = RESCUE_CMD; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - case SIGCONT: /* update */ - LOG(MSG_UPDATE); - cmd[0] = CINIT_BIN; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - } - - /* do not exit, Linux does that for us */ -} diff --git a/software/cinit/browse_source/cinit-0.2.1/serv/sigio.c b/software/cinit/browse_source/cinit-0.2.1/serv/sigio.c deleted file mode 100644 index 4ce3b0bd..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/serv/sigio.c +++ /dev/null @@ -1,142 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( - (nsock = accept(socket,(struct sockaddr *) NULL, (socklen_t *) NULL) ) - != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.2.1/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.2.1/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.2.1/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.2.1/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.2.1/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.2.1/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.2.1/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.2.1/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.2.1/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.2.1/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.2.1/util/README b/software/cinit/browse_source/cinit-0.2.1/util/README deleted file mode 100644 index 782cdc8d..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/util/README +++ /dev/null @@ -1,2 +0,0 @@ -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.2.1/util/ccontrol.c b/software/cinit/browse_source/cinit-0.2.1/util/ccontrol.c deleted file mode 100644 index f4876eba..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/util/ccontrol.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.2.1/util/cservice.c b/software/cinit/browse_source/cinit-0.2.1/util/cservice.c deleted file mode 100644 index 3cb6828a..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/util/cservice.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.2.1/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.2.1/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.2.1/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.2/ b/software/cinit/browse_source/cinit-0.2/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.2/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.2/.exclude b/software/cinit/browse_source/cinit-0.2/.exclude deleted file mode 100644 index 1a2d31e7..00000000 --- a/software/cinit/browse_source/cinit-0.2/.exclude +++ /dev/null @@ -1,2 +0,0 @@ -tmp -.git diff --git a/software/cinit/browse_source/cinit-0.2/.gitignore b/software/cinit/browse_source/cinit-0.2/.gitignore deleted file mode 100644 index 68048ad3..00000000 --- a/software/cinit/browse_source/cinit-0.2/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -MT -*.o -*.a -ccontrol -cservice -cinit -*0? -config.h -ddoc -tmp diff --git a/software/cinit/browse_source/cinit-0.2/CHANGES b/software/cinit/browse_source/cinit-0.2/CHANGES deleted file mode 100644 index a0a33785..00000000 --- a/software/cinit/browse_source/cinit-0.2/CHANGES +++ /dev/null @@ -1,23 +0,0 @@ -cinit-0.2: -- Much more verbose error reporting -- You can now also disable 'once ran' services, -- You can restart services with csevice -r -- Online speech in German is available -- C_DELAY support - variable delay for sending SIGKILL after SIGTERM -- First /etc/csys configuration example (wasserstoff) is available -- a Mailing list was created -- Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) -- Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) -- Removed unecessary signalling -- Added many helper scripts to install services (cinit.install.service*) -- Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) -- Added ccontrol, which allows to control cinit -- Added update (-u) and warm reboot function (-w) via ccontrol -- Stripped cservice, which now "only" controls services -- Removed swapoff from cinit code, should be handled by off -- Much better error and processing descriptions -- A bit more verbose reporting -- Restructured run_svc, now with better error detection -- Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.2/COPYING b/software/cinit/browse_source/cinit-0.2/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.2/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.2/CREDITS b/software/cinit/browse_source/cinit-0.2/CREDITS deleted file mode 100644 index b009a48c..00000000 --- a/software/cinit/browse_source/cinit-0.2/CREDITS +++ /dev/null @@ -1,23 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: 2005-09-25) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding diff --git a/software/cinit/browse_source/cinit-0.2/Changelog b/software/cinit/browse_source/cinit-0.2/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.2/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.2/Makefile b/software/cinit/browse_source/cinit-0.2/Makefile deleted file mode 100644 index a2f373af..00000000 --- a/software/cinit/browse_source/cinit-0.2/Makefile +++ /dev/null @@ -1,106 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -include Makefile.include - -# directories and files -DDOC=ddoc -SDIRS=bin client conf comm doc generic serv util -CDIRS=contrib+tools -FILES=Changelog Makefile README TODO cinit.h - -# objects -SERV=serv/sigio.o serv/cinit.o serv/list.o \ - serv/run_init_svc.o serv/panic.o serv/sig_reboot.o \ - serv/sig_child.o - -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -BOTH=generic/set_signals.o generic/mini_printf.o generic/usage.o - -OBJ=$(SERV) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -CCO_OBJ=util/ccontrol.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -all:: cinit cservice ccontrol sizecheck docs - -cinit: $(CINIT_BIN) - -docs: $(DDOC) bin/cdoc-man.sh - ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 - ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 - -$(DDOC): - mkdir $(DDOC) - -$(CSVC_OBJ) $(OBJ): config.h - -$(CINIT_BIN): $(SBIN) $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -$(SBIN): - mkdir $(SBIN) - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%T`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' - -clean:: - rm -f *.o */*.o sbin/* config.h ddoc/* - -config.h: conf/* - ./bin/cinit.mkheader > config.h - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install:: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -all install clean:: - @for subdir in $(CDIRS); do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && $(MAKE) $(MAKEFLAGS) $@) \ - || exit 1;\ - done; diff --git a/software/cinit/browse_source/cinit-0.2/Makefile.include b/software/cinit/browse_source/cinit-0.2/Makefile.include deleted file mode 100644 index fe1813c8..00000000 --- a/software/cinit/browse_source/cinit-0.2/Makefile.include +++ /dev/null @@ -1,24 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -OPTIMIZE=-Werror -#DEBUG=-g -DDEBUG -OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! - but not the other programs! -CINIT_LDFLAGS=-static - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -LD=gcc -STRIP=strip -R .comment -R .note diff --git a/software/cinit/browse_source/cinit-0.2/README b/software/cinit/browse_source/cinit-0.2/README deleted file mode 100644 index 27f07c12..00000000 --- a/software/cinit/browse_source/cinit-0.2/README +++ /dev/null @@ -1,110 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.2/TODO b/software/cinit/browse_source/cinit-0.2/TODO deleted file mode 100644 index 5c98eb1a..00000000 --- a/software/cinit/browse_source/cinit-0.2/TODO +++ /dev/null @@ -1,112 +0,0 @@ -- print service name or cinit: before _everything_ WE print - -TESTING: - - does cinit eat zombies? - - is the reporting ok? - - does cservice and ccontrol what's expected? - -# cinit.create.empty.service: can only be started from the bin directory - -- compile cinit static and other tools dynamically per default - -- Fix Switching services off !! -- Remove RUN_RUN_SVCs, move code to run_svc so one can determine which - services failed? - --> sequentieller ablauf! - --> parallel ablauf, struct-array mit namen und ergebnis? - --> for dep in deps/*; do fork(run_svc() ); done - -----> while(any_is_running) { sleep } - -------> array durchsuchen, ergebnis nutzen. - - ueberpruefen von wo aus run_svc() aufgerufen wird - -- Fix SIGCHILD problem: - - exec_svc wants to waitpid() itself, so SIG_CHILD makes problems - - respawn_svc: does that need to act on SIGCHLD if the master process - is still running? - - kill respawn -> sigchild cleans up, we do not get waitpid perhaps? -- remove umount code? -- remove zombies, but keep away from SIGCHILD problems -- remove mount /etc/cinit/tmp code - -> how to replace? -- fix bug in Makefile: linking happens twice -- do not kill respawing service, if off exists -- ccontrol -- manpages -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren -- ddoc zuendefuehren - -- remove umount, swapoff? ---> to services? - -- on.out, on.err, on.in? - -> reading/writing from/to files - ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! -- implement "no_kill" until cinit-0.2 or 0.3? - -Doku!!! - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) - - memset for timespecs? - - move umount, swapoff and remount to off of init? - -> cleanup sig_reboot.c - - run_svc: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - - do we really need swapoff? --------------------------------------------------------------------------------- -- Documentation - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml --------------------------------------------------------------------------------- -Things I did not do and I don't know whether we have to care about: - -- Porting - - add porting code to other unices? - - like openssh guys do? - -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -[OLD BUGS] -- remove cinit watcher? - -> sig_child -> cycle through list? -- DOKU: what happens when a service does not terminate.... - und er als once drin ist -- MANPAGE! -- execve() fails -> no sleep!! -- multiple zombies sometimes - problemservices - -> zombies of respawn watchers are not caught! - -> sig_chld also therein - -> problematic due to wait for child --doubled cinit instance - - nur einmal -- free() everything before starting child -- cservice! - - prozess nur einmal -> WARTET! cinit auch! -doku: - cservice einmal starten -> wartet auf ende - cint ersetzt init bei gentoo - an error occuerd-> verbose - multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. -11:09 < folken23> telmich: oder service allready started. diff --git a/software/cinit/browse_source/cinit-0.2/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.2/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.2/bin/cinit.add.dependency deleted file mode 100644 index a47844fb..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.add.dependency +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -case $DEP in - wants) DEP=$C_WANTS ;; - needs) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could some PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEST="${BASEDIR}/${SVC_A}/${DEP}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.2/bin/cinit.add.getty deleted file mode 100644 index 6b3a84df..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo "Putting $mygetty $params into $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.2/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.get-confdir b/software/cinit/browse_source/cinit-0.2/bin/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.2/bin/cinit.install.binary deleted file mode 100644 index 026395c6..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.binary +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $DESTDIR/$PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $DESTDIR/$PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $DESTDIR/$PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.2/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.2/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.standard-dirs b/software/cinit/browse_source/cinit-0.2/bin/cinit.install.standard-dirs deleted file mode 100644 index 9829b68e..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.standard-dirs +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/getty" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/local-services" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/local-tuning" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/mount" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/network" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.2/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.mkheader b/software/cinit/browse_source/cinit-0.2/bin/cinit.mkheader deleted file mode 100644 index e1f35d07..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.mkheader +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric - no I didn't see an easier way - numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - - [ "$numeric" ] || value="\"$value\"" - - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.read-conf b/software/cinit/browse_source/cinit-0.2/bin/cinit.read-conf deleted file mode 100644 index eb63e69a..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.read-conf +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/* - -set -e - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME="$(head -n 1 $conf)" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.2/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.release b/software/cinit/browse_source/cinit-0.2/bin/cinit.release deleted file mode 100644 index 5bab3fc5..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.release +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 - - -if [ $# -ne 2 ]; then - echo $(basename $0): source-dir version - exit 1 -fi - -DIR=$1 -VERSION=$2 - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -( cd "$DIR" && make clean ) || exit 1 - -tar cvj -X $DIR/.exclude -f cinit-${VERSION}.tar.bz2 $DIR diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.2/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.2/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.2/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.2/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.2/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.2/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.2/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.2/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.2/cinit-conf/FRAMEWORK b/software/cinit/browse_source/cinit-0.2/cinit-conf/FRAMEWORK deleted file mode 100644 index 45421810..00000000 --- a/software/cinit/browse_source/cinit-0.2/cinit-conf/FRAMEWORK +++ /dev/null @@ -1,5 +0,0 @@ -welcome-screen [optional] - | -display_standard_layout - | - ... diff --git a/software/cinit/browse_source/cinit-0.2/cinit-conf/bin/cinit-conf.sh b/software/cinit/browse_source/cinit-0.2/cinit-conf/bin/cinit-conf.sh deleted file mode 100644 index 0e29816e..00000000 --- a/software/cinit/browse_source/cinit-0.2/cinit-conf/bin/cinit-conf.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: 2005-08-08 -# cinit-conf - -LIBEXEC=$(dirname $0)/../libexec/cinit-conf/ - -. ${LIBEXEC}/dialog-alias.sh - -dialog --calendar "Test" 0 0 18 12 1982 -dialog --checklist "Checktest" 0 0 0 item1 on item2 off item3 on -dialog --infobox "Infotext" 0 0 -dialog --inputbox "inputbox" 0 0 "vorgegebener text" -dialog --menu "menu" 0 0 0 tag1 item1 tag2 item2 bla blub -dialog --infobox "Infotext" 0 0 -dialog --msgbox "Infotext" 0 0 -dialog --radiolist "Infotext" 0 0 0 tag1 item1 on tag2 item2 off -dialog --textbox ~/.bashrc 0 0 -dialog --yesno "Ja oder nein?" 0 0 - -dialog --gauge "Checktest" 0 0 10 - -#dialog --inputmenu "Infotext" 0 0 0 tag1 item1 tag2 item2 bla blub diff --git a/software/cinit/browse_source/cinit-0.2/cinit-conf/libexec/cinit-conf/dialog-alias.sh b/software/cinit/browse_source/cinit-0.2/cinit-conf/libexec/cinit-conf/dialog-alias.sh deleted file mode 100644 index 89813726..00000000 --- a/software/cinit/browse_source/cinit-0.2/cinit-conf/libexec/cinit-conf/dialog-alias.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# the cLinux project -# Created: 2004-12-25 -# Last-Modified: -# choose the correct dialog version - -if [ -z "$DISPLAY" ]; then - alias dialog="dialog --shadow --backtitle \"$full_version\"" -else - alias dialog="Xdialog --backtitle \"$full_version\"" -fi diff --git a/software/cinit/browse_source/cinit-0.2/cinit.h b/software/cinit/browse_source/cinit-0.2/cinit.h deleted file mode 100644 index 5aa5a0e2..00000000 --- a/software/cinit/browse_source/cinit-0.2/cinit.h +++ /dev/null @@ -1,191 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * header of cinit - */ - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* paths */ -#define C_ONARG C_ON C_PARAMS -#define C_OFFARG C_OFF C_PARAMS -#define C_ONENV C_ON C_ENV -#define C_OFFENV C_OFF C_ENV - -#define SLASH "/" -#define MSG_DP ": " - -#define CINIT_INIT CINIT_DIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -/* commands (maximum: 2^8 = 256, because we use a single byte)*/ -enum commands { CMD_START_SVC=1, - CMD_STOP_SVC, - CMD_CHG_STATUS, - CMD_RESCUE, - CMD_HALT, - CMD_REBOOT, - CMD_POWEROFF, - CMD_UPDATE, - CMD_WBOOT }; - -/* status of a service and return codes - errors and success */ -enum svc_status { RT_TMPNOW=1, /* now you are on it - only for clients */ - RT_ERR_COMM, /* communication failed */ - RT_ERR, /* service starting failed */ - RT_SVC_FAILED, /* tried earlier, service failed, won't retry */ - RT_UNSPEC, /* some kind of error, unspecified */ - RT_SUCCESS, /* successfully started: respawning or once */ - RT_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - ST_OFF, /* service is off */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ - }; - - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* Messages to the outside */ -#define MSG_CINIT "cinit-0.2: Booting from " -#define MSG_NOT_ONE "cinit should not be started directly, but by your kernel." -#define MSG_USAGE "cinit: [cprofile:profile]\n" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_READ "read" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_FORK "fork" -#define MSG_BIND "bind" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_TERMKILL "sigterm" -#define MSG_KILLBILL "sigkill" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_SVC_FAIL "Service failed" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_START_SVC "Starting " -#define MSG_STOP_SVC "Stoping " -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_POWER_OFF "Powering off..." -#define MSG_HALT "Halting system ..." -#define MSG_REBOOT "Rebooting ..." -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - - -struct listitem { - char *abs_path; /* name of service */ - int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - struct listitem *before; /* previous item */ - struct listitem *after; /* next item */ -}; - -/* variables */ -extern struct listitem *list; /* the process linked chain */ -extern int sock; /* current writing/reading socket */ -extern pid_t cpid; /* used by main() and reused be respaw_svc() */ - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int run_init_svc(char *cinit_svc); -void sigio(int socket); -void sig_reboot(int signal); -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); -void sig_terminate(int signal); - -/* listing functions (server only) */ -int list_insert(char *path, int status); -struct listitem *list_search(char *path); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); - -/* util */ -int msg_reboot(char cmd); - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } diff --git a/software/cinit/browse_source/cinit-0.2/client/README b/software/cinit/browse_source/cinit-0.2/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.2/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.2/client/begin_msg.c b/software/cinit/browse_source/cinit-0.2/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.2/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.2/client/connect_sock.c b/software/cinit/browse_source/cinit-0.2/client/connect_sock.c deleted file mode 100644 index de161327..00000000 --- a/software/cinit/browse_source/cinit-0.2/client/connect_sock.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.2/client/exec_svc.c b/software/cinit/browse_source/cinit-0.2/client/exec_svc.c deleted file mode 100644 index 0734a512..00000000 --- a/software/cinit/browse_source/cinit-0.2/client/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.2/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.2/client/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.2/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.2/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.2/client/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.2/client/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.2/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.2/client/respawn_svc.c deleted file mode 100644 index 2bef057f..00000000 --- a/software/cinit/browse_source/cinit-0.2/client/respawn_svc.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while( cpid ); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.2/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.2/client/run_run_svcs.c deleted file mode 100644 index 3ad819a5..00000000 --- a/software/cinit/browse_source/cinit-0.2/client/run_run_svcs.c +++ /dev/null @@ -1,85 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.2/client/run_svc.c b/software/cinit/browse_source/cinit-0.2/client/run_svc.c deleted file mode 100644 index 5ece19d9..00000000 --- a/software/cinit/browse_source/cinit-0.2/client/run_svc.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp = use-it-for-all bitch*/ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* get current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.2/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.2/client/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.2/client/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.2/comm/README b/software/cinit/browse_source/cinit-0.2/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.2/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.2/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.2/comm/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.2/comm/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.2/comm/do_result.c b/software/cinit/browse_source/cinit-0.2/comm/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.2/comm/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.2/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.2/comm/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.2/comm/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.2/conf/.README b/software/cinit/browse_source/cinit-0.2/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_delay b/software/cinit/browse_source/cinit-0.2/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_env b/software/cinit/browse_source/cinit-0.2/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_halt b/software/cinit/browse_source/cinit-0.2/conf/c_halt deleted file mode 100644 index bc062a2c..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the service we should start when 'halting' (system stop, but no -power off). diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_init b/software/cinit/browse_source/cinit-0.2/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_needs b/software/cinit/browse_source/cinit-0.2/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_off b/software/cinit/browse_source/cinit-0.2/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_on b/software/cinit/browse_source/cinit-0.2/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_params b/software/cinit/browse_source/cinit-0.2/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_poweroff b/software/cinit/browse_source/cinit-0.2/conf/c_poweroff deleted file mode 100644 index 273d4bec..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_poweroff +++ /dev/null @@ -1,3 +0,0 @@ -poweroff - -Name of the service we should start, when system power-off is called. diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_reboot b/software/cinit/browse_source/cinit-0.2/conf/c_reboot deleted file mode 100644 index 17937b4a..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_reboot +++ /dev/null @@ -1,3 +0,0 @@ -reboot - -Name of the service we should start on reboot. diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_respawn b/software/cinit/browse_source/cinit-0.2/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_sock b/software/cinit/browse_source/cinit-0.2/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_tmp b/software/cinit/browse_source/cinit-0.2/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.2/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.2/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.2/conf/c_wants b/software/cinit/browse_source/cinit-0.2/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.2/conf/cinit_dir b/software/cinit/browse_source/cinit-0.2/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.2/conf/destdir b/software/cinit/browse_source/cinit-0.2/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.2/conf/getty_dir b/software/cinit/browse_source/cinit-0.2/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.2/conf/install_directory b/software/cinit/browse_source/cinit-0.2/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.2/conf/install_prog b/software/cinit/browse_source/cinit-0.2/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.2/conf/max_delay b/software/cinit/browse_source/cinit-0.2/conf/max_delay deleted file mode 100644 index 149fa16c..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/max_delay +++ /dev/null @@ -1,7 +0,0 @@ -4 - -Maximum number of digits which may be in the delay file. -If there are more, the string "12345678901" will be cut to the -right length "1234567890". I don't think you'll ever need -a timeout greater 4 digits (9999 seconds are 166,65~ minutes, are -2 hours, 46 minutes and 39 seconds). See doc/configuring.cinit. diff --git a/software/cinit/browse_source/cinit-0.2/conf/max_deps b/software/cinit/browse_source/cinit-0.2/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.2/conf/prefix b/software/cinit/browse_source/cinit-0.2/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.2/conf/profile b/software/cinit/browse_source/cinit-0.2/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.2/conf/sleep_kill b/software/cinit/browse_source/cinit-0.2/conf/sleep_kill deleted file mode 100644 index de1fd006..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/sleep_kill +++ /dev/null @@ -1,5 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. diff --git a/software/cinit/browse_source/cinit-0.2/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.2/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.2/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.2/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.2/conf/sleep_svc b/software/cinit/browse_source/cinit-0.2/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.2/conf/sock_queue b/software/cinit/browse_source/cinit-0.2/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.2/conf/sulogin b/software/cinit/browse_source/cinit-0.2/conf/sulogin deleted file mode 100644 index 4f003994..00000000 --- a/software/cinit/browse_source/cinit-0.2/conf/sulogin +++ /dev/null @@ -1,4 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it only if we panic(). -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.2/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.2/contrib+tools/Makefile deleted file mode 100644 index d9a9ab41..00000000 --- a/software/cinit/browse_source/cinit-0.2/contrib+tools/Makefile +++ /dev/null @@ -1,69 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -#DEBUG=-g -DDEBUG -OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = $(HOME) -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o ../generic/usage.o ../generic/mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl \ - cinit-vis-killerfox.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - $(INSTALL) $(PROGRAMS) $(SCRIPTS) $(DESTDIR)$(bindir) diff --git a/software/cinit/browse_source/cinit-0.2/contrib+tools/README b/software/cinit/browse_source/cinit-0.2/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.2/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.2/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.2/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.2/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.2/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.2/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.2/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.2/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.2/contrib+tools/cinit-vis.pl deleted file mode 100644 index 3956ff47..00000000 --- a/software/cinit/browse_source/cinit-0.2/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.2/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.2/contrib+tools/cinit.graph.text.c deleted file mode 100644 index ffd33c39..00000000 --- a/software/cinit/browse_source/cinit-0.2/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -//#include -#include -#include -#include -#include -#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.gaph.text - textual representatio of the cinitdirectory - */ - -#define CSERVICE_BANNER "cinit.gaph.text - textual representatio of the cinitdirectory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.gaph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.2/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.2/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.2/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.2/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.2/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.2/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.2/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.2/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.2/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.2/doc/.buildwarn b/software/cinit/browse_source/cinit-0.2/doc/.buildwarn deleted file mode 100644 index 72ebaf6d..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/.buildwarn +++ /dev/null @@ -1,18 +0,0 @@ -**************************************************************************** -First of all configure cinit through the configuration files found in conf/. - -The documentation can be found in doc/, read - - README and doc/configuring.cinit - -_before_ first use. - -After reading and configuring use: - - "make all" - to build cinit - "make install" - to install cinit - "make install-miniconf" - to install a minimal cinit-configuration - -After that you'll have to configure it. Some sample configurations can be -found on the cinit homepage at http://linux.schottelius.org/cinit/. -**************************************************************************** diff --git a/software/cinit/browse_source/cinit-0.2/doc/FAQ b/software/cinit/browse_source/cinit-0.2/doc/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.2/doc/caveats b/software/cinit/browse_source/cinit-0.2/doc/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/author b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/availability b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/examples b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/files b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/path b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/see also b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/doc/compiles.on b/software/cinit/browse_source/cinit-0.2/doc/compiles.on deleted file mode 100644 index 3fe83479..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/compiles.on +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -compiles.on, -Nico Schottelius 2005-06-09 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit is known to compile on: - -x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 - -Please report your configuration, if it's not listed here. diff --git a/software/cinit/browse_source/cinit-0.2/doc/configuring.cinit b/software/cinit/browse_source/cinit-0.2/doc/configuring.cinit deleted file mode 100644 index a88ba00f..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/configuring.cinit +++ /dev/null @@ -1,189 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, -Nico Schottelius 2005-05-28 (Last Modified: 2005-06-05) --------------------------------------------------------------------------------- - -0. Pre-compile configuration -1. General configuration layout -2. Hints -2.0 Service executing / parameters -2.1 Daemons -2.2 Logging -2.3 Using prepared scripts -3. Profiles - - -0. Pre-compile configuration - -Have a look at conf/*. Those variable will mostly be used when -compiling cinit. Some will be read later (like destdir). - - -1. General configuration layout - -/etc/cinit (configurable via conf/cinit_dir) stores the complete -cinit configuration. - -cinit is service based. -A service consists of - - a base directory (like /etc/cinit/getty/1) - - dependency configuration: - - ./wants - services it wants to be started before (but it - will work anyway) - - ./needs/ - services it needs. If those services fail, this service - won't be started. - - - a flag indicating whether to respawn the service: - - ./respawn (simply touch it) - - - a delay: how long to wait for the service (in seconds) before - sending SIGKILL after the SIGTERM (only for respawning processes): - - ./delay (one line with only the digits) - - If delay is non-existing or not readable, the delay from - conf/sleep_kill_svc is taken. The maximum length of this - number ("9999" uses length 4, "42" needs 2 bytes) can be adjusted - at compile time in conf/max_delay. Internally this is a signed - integer, so the maximum size depends on your system. Though - I don't think anybody will want to wait for a service as long as - an integer would allow. - - - the program to run when switching the service on and off: - - ./on (a link to a program or a shell script) - ./on.params (see conf/c_params, the parameters to pass to the program) - ./on.env (see conf/c_env, the environment to pass to the program) - - ./off (call that when shutting down the service) - ./off.params (the parameters to pass to the program) - ./on.env (the environment to pass to the program) - -You should have a look at the samples/ directory for examples. - -If things are missing, cinit will continue with what's available. -This way you only need the files you use. Some examples: - - /etc/cinit/init: - ./wants -> services it wants - ./needs -> services it needs - That's everything - - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it - That's everything, as it has no dependencies - - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn on service - delay -> wait this time before sending SIGKILL after SIGTERM - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting - - -2. Hints - -2.0 Service executing / parameters - -The on and off files can and should be links to the programs you want -to execute. This way you save yourself loading the big shell (which is -on many Linux systems bash, why so ever, dash does the job as good, still -beeing small). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. The on script -could look like: - - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). - - -2.1 Daemons - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking (Please have a look at -daemons.backgrounding for a list of known daemons and their switches -to avoid backgrounding). - -The other possibility is to use a program, which will - a) start the daemon - b) look into the pidfile of the daemon - c) will then wait until that pid does not exist anymore - d) and then it exits and cinit will restart it (goto a) now) - -Such a program is included into this cinit release, -though I do not recommend using it. You should better contact the -authors and make them implement a clean non-forking mode. - -The name of the program (actually a shell script) is "cinit.wait.for.daemon". - -You will use it as the "on" part of the service and you have to add - - a) the pidfile to on.params - b) the daemon binary - -Thus the service would look like: - - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -2.2 Logging - -Currently there's no special logging support. -When programs write to stdout, it will be displayed on -the same stdout cinit is connected to -(we don't even open /dev/console - we are too lazy currently). - - -2.3 Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - - -3. Profiles - -Since cinit-0.0.6 there is profile in cinit. -Profiles are described in doc/profile.support. - -X. Examples - -Can be found in the tarballs below samples/. diff --git a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/author b/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/path b/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/see also b/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/doc/daemons.backgrounding b/software/cinit/browse_source/cinit-0.2/doc/daemons.backgrounding deleted file mode 100644 index 3c5e1af1..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/daemons.backgrounding +++ /dev/null @@ -1,69 +0,0 @@ --------------------------------------------------------------------------------- -daemons backgrounding, -Nico Schottelius 2005-06-12 (Last Modified: 2005-10-02) --------------------------------------------------------------------------------- - -0. Definition - -A daemon is a program which runs in the background, not having a tty -associated necesserally. Running in background does not mean it has -to background (fork()) itself, but that you cannot control it directly -from a shell. - -1. Daemons and cinit - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking - -The following daemons / servers are known to avoid backgrounding easily: - - acpid [x86 power management]: -f (undocumentated but works) - asterisk [pbx]: -f - bind [dns server/caching]: -f - cardmgr [pcmcia/cardbus]: -f - cron (vixie) [schedular]: -f - cupsd [printer server]: -f or -F - dhclient [dhcp client]: -d - dhcp3 (isc) [dhcp server]: -f - distccd [compile server]: normal behaviour - fcron [schedular]: -f - frox [ftp proxy]: "NoDetach" in config - gdm [display manager]: -nodaemon - hybrid [irc server]: -foreground - icecast2 [sound streamer]: normal behaviour - mini-lpd [printer server]: normal behaviour - metalog [log server]: normal behaviour - monotone [vcs]: normal behaviour - mpd [music server]: --no-daemon - nessusd ["security server"]: normal behaviour - ntpd [time server]: -n - oidentd [identd server]: -i - oops [http proxy]: normal behaviour - openssh [ssh server]: -D - openvpn [vpn server]: normal behaviour - pbbuttonsd [power management]:normal behaviour - proftpd [ftp server]: -n - qmail [mta]: normal behaviour - rsync ["file server"]: --no-detach - slapd [ldap]: -d - snmpd [snmp daemon]: -f - svnserve [vcs]: --foreground - syslogd [log server]: -n - syslog-ng [log server]: -F - tcpserver [super server]: normal behaviour - udhcpc [dhcp client]: normal behaviour - vsftpd [ftp server]: normal behaviour (or: config: background=no) - xinetd [super server]: -dontfork - -Those are the daemons that do not offer the possibility (as of release 0.2): - - apache (only with debug mode) - atd (no switch, no configuraton option) - inetd (some variants) - nscd (no switch, no configuraton option) - portmap (only with debug mode) diff --git a/software/cinit/browse_source/cinit-0.2/doc/debugging.configuration b/software/cinit/browse_source/cinit-0.2/doc/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.2/doc/extern/README b/software/cinit/browse_source/cinit-0.2/doc/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.2/doc/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.2/doc/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.2/doc/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.2/doc/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.2/doc/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.2/doc/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.2/doc/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.2/doc/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.2/doc/intern/README b/software/cinit/browse_source/cinit-0.2/doc/intern/README deleted file mode 100644 index af6f9e9d..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/intern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/intern/ - The documentation in this directory describes cinit internals. diff --git a/software/cinit/browse_source/cinit-0.2/doc/intern/cinit.commands b/software/cinit/browse_source/cinit-0.2/doc/intern/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/intern/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.2/doc/intern/how_it_works_internally b/software/cinit/browse_source/cinit-0.2/doc/intern/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/intern/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.2/doc/intern/service.status b/software/cinit/browse_source/cinit-0.2/doc/intern/service.status deleted file mode 100644 index 7bfaff81..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/intern/service.status +++ /dev/null @@ -1,26 +0,0 @@ --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.2/doc/intern/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.2/doc/intern/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/intern/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.2/doc/merging.other.initsystems b/software/cinit/browse_source/cinit-0.2/doc/merging.other.initsystems deleted file mode 100644 index c324a935..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/merging.other.initsystems +++ /dev/null @@ -1,64 +0,0 @@ --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.2/doc/meta.dependencies b/software/cinit/browse_source/cinit-0.2/doc/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.2/doc/optimising.cinit b/software/cinit/browse_source/cinit-0.2/doc/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.2/doc/porting.to.other.os b/software/cinit/browse_source/cinit-0.2/doc/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.2/doc/problems b/software/cinit/browse_source/cinit-0.2/doc/problems deleted file mode 100644 index a3440a3a..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/problems +++ /dev/null @@ -1,9 +0,0 @@ -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - diff --git a/software/cinit/browse_source/cinit-0.2/doc/profile.support b/software/cinit/browse_source/cinit-0.2/doc/profile.support deleted file mode 100644 index 7bc607b8..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/profile.support +++ /dev/null @@ -1,72 +0,0 @@ --------------------------------------------------------------------------------- -Profiles, -Nico Schottelius, 2005-06-04 --------------------------------------------------------------------------------- - -1. What are profiles? -2. How to use profiles? -3. How to configure profiles? -4. Some examples - - -1. What are profiles? - -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -2. How to use profiles? - -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. -How to pass argumenents to cinit? Under Linux the init-system -gets the kernel arguments (see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -3. How to configure profiles? - -It's very simple: Normally cinit would call /etc/cinit/init as -primary service and solve all dependencies. If you pass -cprofile=wireless to it, cinit will start /etc/cinit/wireless as -primary service instead. - - [Note: /etc/cinit/yourprofile is the service that will be started. - You need/should/must NOT create /etc/cinit/yourprofile/init!] - -So the only thing you have to do is to create a service directory -below /etc/cinit with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/init; tar c . | (mkdir ../yp; cd ../yp; tar x ) - -That's it! - - -4. Some examples - -Here are some examples we found in #cLinux: - - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work - diff --git a/software/cinit/browse_source/cinit-0.2/doc/removing.zombies b/software/cinit/browse_source/cinit-0.2/doc/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.2/doc/replacing.init b/software/cinit/browse_source/cinit-0.2/doc/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.2/doc/security b/software/cinit/browse_source/cinit-0.2/doc/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.2/doc/testing.cinit.in.uml b/software/cinit/browse_source/cinit-0.2/doc/testing.cinit.in.uml deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/testing.cinit.in.uml +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.2/doc/thoughts.closed b/software/cinit/browse_source/cinit-0.2/doc/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.2/doc/updating.cinit b/software/cinit/browse_source/cinit-0.2/doc/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.2/doc/using.rescue b/software/cinit/browse_source/cinit-0.2/doc/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.2/doc/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.2/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.2/generic/mini_printf.c deleted file mode 100644 index 91f136c8..00000000 --- a/software/cinit/browse_source/cinit-0.2/generic/mini_printf.c +++ /dev/null @@ -1,22 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * print string - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - size_t length = 0; - - p = str; - while ( *p != '\0') { - ++length; - ++p; - } - write(fd,str,length); - /* \n is put by outside function */ - /* write(fd,"\n",1); */ -} diff --git a/software/cinit/browse_source/cinit-0.2/generic/set_signals.c b/software/cinit/browse_source/cinit-0.2/generic/set_signals.c deleted file mode 100644 index ee76c724..00000000 --- a/software/cinit/browse_source/cinit-0.2/generic/set_signals.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c and ctr+alt+del */ - sigaction(SIGPIPE,&sa,NULL); /* what todo when pipe/fifo closed */ - sigaction(SIGTTIN,&sa,NULL); - sigaction(SIGTTOU,&sa,NULL); - sigaction(SIGSTOP,&sa,NULL); - - sigaction(SIGQUIT,&sa,NULL); /* warm reboot??? */ - - /* cleaning dead processes - only process 1 */ - if(action == ACT_SERV) { - sa.sa_handler=sig_child; - } - /* server and client need sig_chld - really??? FIXME in exec_svc then! */ - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } - sigaction(SIGUSR1,&sa,NULL); /* halt */ - sigaction(SIGUSR2,&sa,NULL); /* Rescue */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGHUP,&sa,NULL); /* reboot */ - sigaction(SIGCONT,&sa,NULL); /* update */ - -} diff --git a/software/cinit/browse_source/cinit-0.2/generic/usage.c b/software/cinit/browse_source/cinit-0.2/generic/usage.c deleted file mode 100644 index e434bcaf..00000000 --- a/software/cinit/browse_source/cinit-0.2/generic/usage.c +++ /dev/null @@ -1,19 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * usage: tell the world what we want - no capitalism - * part of cLinux/cinit - */ - -#include -#include "cinit.h" - -/*********************************************************************** - * usage: tell the user what's wrong and a help text - */ -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.2/serv/cinit.c b/software/cinit/browse_source/cinit-0.2/serv/cinit.c deleted file mode 100644 index 9c1565ab..00000000 --- a/software/cinit/browse_source/cinit-0.2/serv/cinit.c +++ /dev/null @@ -1,136 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include - -#include /* poll */ - -#include "cinit.h" - -/* global variables */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * the main procedure - */ - -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.2/serv/list.c b/software/cinit/browse_source/cinit-0.2/serv/list.c deleted file mode 100644 index f7107d89..00000000 --- a/software/cinit/browse_source/cinit-0.2/serv/list.c +++ /dev/null @@ -1,104 +0,0 @@ -/* (c) 2005 by Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * list handling: the processes cinit will execute/executed - * part of cinit - * changed some formatting, Nico Schottelius - */ - -#include -#include -#include "cinit.h" - -int list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc( sizeof(struct listitem) ); - - if( tmp == NULL ) { - return 0; - } - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if( list == NULL ) { /* think positive */ - return NULL; - } else { - tmp = list; - } - - do { - if( !strcmp(path, tmp->abs_path) ) { - return tmp; - } - tmp = tmp->before; - } while(tmp != list); - - return NULL; -} - -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->after->before = tmp->before; - tmp->before->after = tmp->after; - free(tmp->abs_path); - free(tmp); - return 1; -} - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - -// D_PRINTF(path); - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.2/serv/panic.c b/software/cinit/browse_source/cinit-0.2/serv/panic.c deleted file mode 100644 index 2f276fa0..00000000 --- a/software/cinit/browse_source/cinit-0.2/serv/panic.c +++ /dev/null @@ -1,19 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * panic: if cinit fails, start sulogin - * part of cinit - */ - -#include "cinit.h" -#include - -void panic(void) -{ - char *nargv[2]; - - nargv[0] = SULOGIN; - nargv[1] = NULL; - - execv(SULOGIN,nargv); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.2/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.2/serv/run_init_svc.c deleted file mode 100644 index ad5378f0..00000000 --- a/software/cinit/browse_source/cinit-0.2/serv/run_init_svc.c +++ /dev/null @@ -1,43 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run initial service - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - close(sock); - set_signals(ACT_CLIENT); - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ?*/ - if ( run_svc(cinit_svc) >= RT_SUCCESS ) - _exit(0); - else - _exit(1); - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.2/serv/sig_child.c b/software/cinit/browse_source/cinit-0.2/serv/sig_child.c deleted file mode 100644 index c8368b2b..00000000 --- a/software/cinit/browse_source/cinit-0.2/serv/sig_child.c +++ /dev/null @@ -1,21 +0,0 @@ -/* cinit - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * We are called, when a child dies. Remove it. - */ - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_child - * collect the children - */ - -void sig_child(int signal) -{ - do { - signal = waitpid(-1,&signal,WNOHANG); - } while( signal > 0); -} diff --git a/software/cinit/browse_source/cinit-0.2/serv/sig_reboot.c b/software/cinit/browse_source/cinit-0.2/serv/sig_reboot.c deleted file mode 100644 index 9ef1e663..00000000 --- a/software/cinit/browse_source/cinit-0.2/serv/sig_reboot.c +++ /dev/null @@ -1,147 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * We are called by signal to reboot - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void sig_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - /* Let's disappear, we don't care about clients anymore */ - close(sock); - /********* first SIGTERM the respawning processes **********/ - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - kill(tmp->pid,SIGTERM); - } - tmp = tmp->before; - } while( tmp != list ); - - /********* now wait for the respawn watchers to return *****/ - tmp = list->before; - do { - if( tmp->status == ST_RESPAWN) { - /* wait until the respawn watcher terminated */ - waitpid(tmp->pid,&i,0); - } - - /* execute shutdown service FIXME: parallelize that?*/ - exec_svc(tmp->abs_path,CMD_STOP_SVC); - tmp = tmp->before; - } while( tmp != list ); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - - /* release tmp */ - if(umount(CINIT_TMNT) == -1) { - perror(CINIT_TMNT); - } - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ -#define CMD_CNT 4 - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-arfd" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - -#define RESCUE_CMD "/bin/sh" - - /* now: we are completley alone. umount everything, go to bed */ - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG2; - cmd[3] = MOUNT_ARG3; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } else { - _exit(1); - } - - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - reboot(RB_POWER_OFF); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - reboot(RB_AUTOBOOT); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - reboot(RB_HALT_SYSTEM); - break; - case SIGUSR2: /* rescue - destroy ourself */ - LOG(MSG_RESCUE); - cmd[0] = RESCUE_CMD; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - case SIGCONT: /* update */ - LOG(MSG_UPDATE); - cmd[0] = CINIT_BIN; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - } - - /* do not exit, Linux does that for us */ -} diff --git a/software/cinit/browse_source/cinit-0.2/serv/sigio.c b/software/cinit/browse_source/cinit-0.2/serv/sigio.c deleted file mode 100644 index 4ce3b0bd..00000000 --- a/software/cinit/browse_source/cinit-0.2/serv/sigio.c +++ /dev/null @@ -1,142 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( - (nsock = accept(socket,(struct sockaddr *) NULL, (socklen_t *) NULL) ) - != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.2/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.2/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.2/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.2/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.2/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.2/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.2/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.2/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.2/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.2/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.2/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.2/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.2/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.2/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.2/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.2/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.2/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.2/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.2/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.2/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.2/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.2/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.2/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.2/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.2/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.2/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.2/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.2/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.2/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.2/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.2/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.2/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.2/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.2/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.2/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.2/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.2/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.2/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.2/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.2/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.2/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.2/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.2/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.2/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.2/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.2/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.2/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.2/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.2/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.2/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.2/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.2/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.2/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.2/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.2/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.2/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.2/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.2/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.2/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.2/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.2/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.2/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.2/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.2/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.2/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.2/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.2/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.2/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.2/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.2/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.2/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.2/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.2/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.2/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.2/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.2/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.2/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.2/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.2/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.2/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.2/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.2/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.2/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.2/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.2/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.2/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.2/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.2/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.2/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.2/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.2/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.2/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.2/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.2/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.2/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.2/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.2/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.2/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.2/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.2/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.2/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.2/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.2/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.2/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.2/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.2/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.2/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.2/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.2/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.2/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.2/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.2/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.2/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.2/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.2/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.2/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.2/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.2/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.2/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.2/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.2/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.2/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.2/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.2/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.2/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.2/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.2/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.2/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.2/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.2/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.2/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.2/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.2/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.2/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.2/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.2/util/README b/software/cinit/browse_source/cinit-0.2/util/README deleted file mode 100644 index 782cdc8d..00000000 --- a/software/cinit/browse_source/cinit-0.2/util/README +++ /dev/null @@ -1,2 +0,0 @@ -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.2/util/ccontrol.c b/software/cinit/browse_source/cinit-0.2/util/ccontrol.c deleted file mode 100644 index f4876eba..00000000 --- a/software/cinit/browse_source/cinit-0.2/util/ccontrol.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.2/util/cservice.c b/software/cinit/browse_source/cinit-0.2/util/cservice.c deleted file mode 100644 index 3cb6828a..00000000 --- a/software/cinit/browse_source/cinit-0.2/util/cservice.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -/* mount */ -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.2/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.2/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.2/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre1/ b/software/cinit/browse_source/cinit-0.3pre1/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre1/.exclude b/software/cinit/browse_source/cinit-0.3pre1/.exclude deleted file mode 100644 index 1a2d31e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/.exclude +++ /dev/null @@ -1,2 +0,0 @@ -tmp -.git diff --git a/software/cinit/browse_source/cinit-0.3pre1/.gitignore b/software/cinit/browse_source/cinit-0.3pre1/.gitignore deleted file mode 100644 index 0f53ad16..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/CHANGES b/software/cinit/browse_source/cinit-0.3pre1/CHANGES deleted file mode 100644 index bb34eb02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/CHANGES +++ /dev/null @@ -1,33 +0,0 @@ -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre1/COPYING b/software/cinit/browse_source/cinit-0.3pre1/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre1/CREDITS b/software/cinit/browse_source/cinit-0.3pre1/CREDITS deleted file mode 100644 index b009a48c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/CREDITS +++ /dev/null @@ -1,23 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: 2005-09-25) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding diff --git a/software/cinit/browse_source/cinit-0.3pre1/Changelog b/software/cinit/browse_source/cinit-0.3pre1/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre1/Makefile b/software/cinit/browse_source/cinit-0.3pre1/Makefile deleted file mode 100644 index 9c174b63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/Makefile +++ /dev/null @@ -1,85 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# directories and files -DDOC=ddoc -SDIRS=bin client conf comm doc generic serv util -CDIRS=contrib+tools - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -%.o: %.c - $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< - -all: sources - -sources: - $(MAKE) -C src all - -docs: $(DDOC) bin/cdoc-man.sh - ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 - ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 - -$(DDOC): - mkdir $(DDOC) - -$(CSVC_OBJ) $(OBJ): $(CONFIG_H) - -$(SBIN): - mkdir $(SBIN) - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' - -clean: - $(MAKE) -C src clean - #rm -f *.o */*.o */*/*.o sbin/* $(CONFIG_H) ddoc/* - rm -f tmpbin/* - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install:: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -#all install clean:: -# @for subdir in $(CDIRS); do \ -# echo "Making $@ in $$subdir"; \ -# (cd $$subdir && $(MAKE) $(MAKEFLAGS) $@) \ -# || exit 1;\ -# done; - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured diff --git a/software/cinit/browse_source/cinit-0.3pre1/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre1/NEXTTODO deleted file mode 100644 index 0e74f3ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/NEXTTODO +++ /dev/null @@ -1,20 +0,0 @@ -- create - * svc_add_needs - - also adds 'needed by'! - * svc_add_wants - - also adds 'wanted by'! - * Same for svc_del_{needs/wants} - * svc_on() that tries to start a service - * svc_off() that tries to stop a service -- define how it should work (doc/braindums/big-picture.text) -- define service status in one document, so repeatition stops! -- define messages - a) human readable - b) binary data? - ? -- replace cinit_ipc_logon with cinit_ipc_init... -- cleanup run_svc -- implement do_reboot.c -- define messages! -- cleanup sig_child -- test and release cinit-0.3rc1 diff --git a/software/cinit/browse_source/cinit-0.3pre1/README b/software/cinit/browse_source/cinit-0.3pre1/README deleted file mode 100644 index 27f07c12..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/README +++ /dev/null @@ -1,110 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre1/ROADMAP b/software/cinit/browse_source/cinit-0.3pre1/ROADMAP deleted file mode 100644 index c1df7de8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/ROADMAP +++ /dev/null @@ -1,116 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes - * ~ Mid of November 2006: Have a compile-able cinit - * ~ End of November 2006: Have a testsystem booting cinit - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) - code: double check to remove Linux specific source from general tree - code: seperate ipc from the rest - code: fix / check signal handlers - code: cleanup makefile - code: add porting code: add support for any unix in general - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. - code: add special directory (/etc/cinit/special?) for os specific binaries - -> halt, poweroff, reboot (NOTHING MORE THEY CAN DO) - -> SHOULD NOT BE IN THE PATH - code: move production code to src/ - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre1/TODO b/software/cinit/browse_source/cinit-0.3pre1/TODO deleted file mode 100644 index 1b2191f1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/TODO +++ /dev/null @@ -1,261 +0,0 @@ --------------------------------------------------------------------------------- -Generate automatic asciidoc from conf/* --------------------------------------------------------------------------------- -Add handler for ctrl+alt+delete - * document in paths --------------------------------------------------------------------------------- -pre-compile config: conf/* - --------------------------------------------------------------------------------- -panic: - read configuratio from defaults/panic* - -> write execute_something before! --------------------------------------------------------------------------------- -comm: - tmpnow: search for pid in list, - save the pid in the list, so we know whether our executer died! --------------------------------------------------------------------------------- -Logging / cinit: - fuer unsere eigenen ausgaben auch multilog? - - Logger: shared memory? --------------------------------------------------------------------------------- -Implement full starting logic in server? --------------------------------------------------------------------------------- -Build full dependency tree at start? And begin from the end? --------------------------------------------------------------------------------- -comm/*: - int read - int write - --> fuer pipes - -run_init_svc - muss alle services wissen, die gestartet werden - - start_services_with_deps - gibt pointer auf struktur zurueck - -> Anzahl Services (array!) - -> Service: - Name (Pfad) - Ergebniss - -> beim fehler, die nachricht, strerror? - http://www.opengroup.org/onlinepubs/009695399/functions/strerror.html - - -Beim starten werden needs und wants als needs behandelt, weil -jeder starter _alle_ services zurueckgeben muss. - - Ein Prozess kann maximal 512 abhaengigkeiten haben. - -> open files - - -Neues cinit: - Wenn service fehlschlaegt, wird eine Struktur zurueckgegeben. - - Diese enhaelt: - - int success = - enum { SVC_SUCCESS, SVC_FAILED, SVC_NEED_FAILED, ... } - - char *reason; - - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s - - Rekursives herunter/rauffahren --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary -- remove sigio(), create new functions: - - one for cleaning up the socket - - one for doing the communication (specify two fd's) -- put some logic around exec_svc: - o put waiting code herein -> waiting code to structure! -- cleanup serv/sig_reboot.c:7: - o implement os-specific reboot function --------------------------------------------------------------------------------- -1. Entfernung mount -2. kommunikation ueber - 1. einen fork pro service - fork(fork) -3. Socket wird erst nach einem Signal erstellt - -> Konfiguration sollte SIGWHATEVER senden -4. Vielleicht panicen, wenn init fehlschlaegt? --------------------------------------------------------------------------------- -Als naechstes: - -- add code do implement stopping / restarting with dependency tree - o add used_by to the list of services - o used_by should be a simple (double?) linked list --------------------------------------------------------------------------------- -Documentation: - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring --------------------------------------------------------------------------------- -Add "used" by to each service, so we can track which services to shutdown. --------------------------------------------------------------------------------- -- perhaps use dnotify? -- recheck warm reboot -- fix cservice -- print service name or cinit: before _everything_ WE print - -TESTING: - - does cinit eat zombies? - - is the reporting ok? - - does cservice and ccontrol what's expected? - -# cinit.create.empty.service: can only be started from the bin directory - -- compile cinit static and other tools dynamically per default - -- Fix Switching services off !! -- Remove RUN_RUN_SVCs, move code to run_svc so one can determine which - services failed? - --> sequentieller ablauf! - --> parallel ablauf, struct-array mit namen und ergebnis? - --> for dep in deps/*; do fork(run_svc() ); done - -----> while(any_is_running) { sleep } - -------> array durchsuchen, ergebnis nutzen. - - ueberpruefen von wo aus run_svc() aufgerufen wird - -- Fix SIGCHILD problem: - - exec_svc wants to waitpid() itself, so SIG_CHILD makes problems - - respawn_svc: does that need to act on SIGCHLD if the master process - is still running? - - kill respawn -> sigchild cleans up, we do not get waitpid perhaps? -- remove umount code? -- remove zombies, but keep away from SIGCHILD problems -- remove mount /etc/cinit/tmp code - -> how to replace? -- fix bug in Makefile: linking happens twice -- do not kill respawing service, if off exists -- ccontrol -- manpages -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren -- ddoc zuendefuehren - -- remove umount, swapoff? ---> to services? - -- on.out, on.err, on.in? - -> reading/writing from/to files - ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! -- implement "no_kill" until cinit-0.2 or 0.3? - -Doku!!! - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) - - memset for timespecs? - - move umount, swapoff and remount to off of init? - -> cleanup sig_reboot.c - - run_svc: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - - do we really need swapoff? --------------------------------------------------------------------------------- -- Documentation - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml --------------------------------------------------------------------------------- -Things I did not do and I don't know whether we have to care about: - -- Porting - - add porting code to other unices? - - like openssh guys do? - -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -[OLD BUGS] -- remove cinit watcher? - -> sig_child -> cycle through list? -- DOKU: what happens when a service does not terminate.... - und er als once drin ist -- MANPAGE! -- execve() fails -> no sleep!! -- multiple zombies sometimes - problemservices - -> zombies of respawn watchers are not caught! - -> sig_chld also therein - -> problematic due to wait for child --doubled cinit instance - - nur einmal -- free() everything before starting child -- cservice! - - prozess nur einmal -> WARTET! cinit auch! -doku: - cservice einmal starten -> wartet auf ende - cint ersetzt init bei gentoo - an error occuerd-> verbose - multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -possible BUGS: - -[14:44] freelsd:cinit-0.2.2% ./sbin/cservice -e ein - -ein: No such file or directory -Bad address -: Service does not exist - -cinit-0.2.2: -USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND -root 1 96.7 0.0 1580 336 ? R 18:59 5:49 /sbin/cinit -root 2 0.0 0.0 0 0 ? SN 18:59 0:00 [ksoftirqd/0] -root 3 0.0 0.0 0 0 ? S 18:59 0:00 [watchdog/0] -root 4 0.0 0.0 0 0 ? S< 18:59 0:00 [events/0] -root 5 0.0 0.0 0 0 ? S< 18:59 0:00 [khelper] -root 6 0.0 0.0 0 0 ? S< 18:59 0:00 [kthread] -root 10 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [khubd] -root 12 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [kblockd/0] -root 99 0.0 0.0 0 0 ? S 18:59 0:00 \_ [pdflush] -root 100 0.0 0.0 0 0 ? S 18:59 0:00 \_ [pdflush] -root 102 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [aio/0] -root 727 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [kseriod] -root 101 0.0 0.0 0 0 ? S 18:59 0:00 [kswapd0] -root 800 0.0 0.0 0 0 ? S 18:59 0:00 [khpsbpkt] -root 803 0.0 0.0 0 0 ? S 18:59 0:00 [pccardd] -root 838 0.0 0.0 0 0 ? S 18:59 0:00 [kjournald] -root 1923 0.0 0.0 1584 200 ? S 18:59 0:00 /sbin/cinit -root 1924 0.0 0.3 3624 1936 tty2 Rs 18:59 0:00 \_ -zsh -root 1969 0.0 0.0 1580 320 tty2 S 19:05 0:00 \_ cservice -e 3 -root 1972 0.0 0.1 2604 828 tty2 R+ 19:05 0:00 \_ ps axuwwf -root 1945 0.0 0.0 0 0 tty2 Z 19:01 0:00 [loadkeys] -cinit: [cprofile:profile] -cinit should not be started directly, but by your kernel. -umount raus -/etc/cinit/specials/... rein - -1. Doku auf asciidoc umstellen -2. den signalhandler code fixen -3. den tempmount entfernen - ---> cinit-0.3-rc1 --------------------------------------------------------------------------------- -Check: use of perror, strerror+write? --------------------------------------------------------------------------------- -Check: tuning of ipc-code? -local-services schlaegt fehl, ist aber nichts drin! diff --git a/software/cinit/browse_source/cinit-0.3pre1/TODO.doc b/software/cinit/browse_source/cinit-0.3pre1/TODO.doc deleted file mode 100644 index 71ed721d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/TODO.doc +++ /dev/null @@ -1,12 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre1/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.configure.mark deleted file mode 100644 index aa648411..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.release b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.release deleted file mode 100644 index c5e15859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.release +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: Fr Okt 28 01:24:58 CEST 2005 - - -if [ $# -ne 2 ]; then - echo $(basename $0): source-dir version - exit 1 -fi - -DIR=$1 -VERSION=$2 -OUT_NAME=cinit-${VERSION}.tar.bz2 -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -( cd "$DIR" && make clean ) || exit 1 - -echo "Creating bzip2 compressed tar" -tar cj -X $DIR/.exclude -f "$OUT_NAME" $DIR -chmod 0644 "$OUT_NAME" -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type d -exec chmod 0755 {} \\;" -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre1/client/README b/software/cinit/browse_source/cinit-0.3pre1/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre1/client/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre1/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/client/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre1/client/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/client/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/client/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre1/client/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/client/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre1/client/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre1/client/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/client/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre1/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre1/client/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/client/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre1/client/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/client/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/client/run_svc.c b/software/cinit/browse_source/cinit-0.3pre1/client/run_svc.c deleted file mode 100644 index 7fea6a92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/client/run_svc.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre1/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre1/client/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/client/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/comm/README b/software/cinit/browse_source/cinit-0.3pre1/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.3pre1/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre1/comm/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/comm/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/comm/do_result.c b/software/cinit/browse_source/cinit-0.3pre1/comm/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/comm/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre1/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre1/comm/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/comm/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/.README b/software/cinit/browse_source/cinit-0.3pre1/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre1/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre1/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_env b/software/cinit/browse_source/cinit-0.3pre1/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_halt b/software/cinit/browse_source/cinit-0.3pre1/conf/c_halt deleted file mode 100644 index 4eed340f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the link belowe c_special, which links to the program -to be executed right before halting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_init b/software/cinit/browse_source/cinit-0.3pre1/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre1/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_off b/software/cinit/browse_source/cinit-0.3pre1/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_on b/software/cinit/browse_source/cinit-0.3pre1/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre1/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_params b/software/cinit/browse_source/cinit-0.3pre1/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_poweroff b/software/cinit/browse_source/cinit-0.3pre1/conf/c_poweroff deleted file mode 100644 index 5b5c9c9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_poweroff +++ /dev/null @@ -1,4 +0,0 @@ -poweroff - -Name of the link belowe c_special, which links to the program -to be executed right before powering off the system. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_reboot b/software/cinit/browse_source/cinit-0.3pre1/conf/c_reboot deleted file mode 100644 index 8702388f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_reboot +++ /dev/null @@ -1,4 +0,0 @@ -reboot - -Name of the link belowe c_special, which links to the program -to be executed right before rebooting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre1/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre1/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre1/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre1/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre1/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_umount b/software/cinit/browse_source/cinit-0.3pre1/conf/c_umount deleted file mode 100644 index ab96b0a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_umount +++ /dev/null @@ -1,6 +0,0 @@ -umount - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -It should normally be a shellscript with the OS-specific umount procedure. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre1/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/cc b/software/cinit/browse_source/cinit-0.3pre1/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/cflags b/software/cinit/browse_source/cinit-0.3pre1/conf/cflags deleted file mode 100644 index c0ef65ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/cflags +++ /dev/null @@ -1,3 +0,0 @@ --pipe -W -Wall -Werror -Iheaders -g - -Standard flags to pass to (g)cc. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre1/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/confdir b/software/cinit/browse_source/cinit-0.3pre1/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/destdir b/software/cinit/browse_source/cinit-0.3pre1/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre1/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre1/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre1/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre1/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/ld b/software/cinit/browse_source/cinit-0.3pre1/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre1/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre1/conf/max_delay deleted file mode 100644 index 149fa16c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/max_delay +++ /dev/null @@ -1,7 +0,0 @@ -4 - -Maximum number of digits which may be in the delay file. -If there are more, the string "12345678901" will be cut to the -right length "1234567890". I don't think you'll ever need -a timeout greater 4 digits (9999 seconds are 166,65~ minutes, are -2 hours, 46 minutes and 39 seconds). See doc/configuring.cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre1/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre1/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre1/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre1/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/os b/software/cinit/browse_source/cinit-0.3pre1/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre1/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre1/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre1/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/prefix b/software/cinit/browse_source/cinit-0.3pre1/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/profile b/software/cinit/browse_source/cinit-0.3pre1/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre1/conf/service_categories deleted file mode 100644 index d632b875..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/service_categories +++ /dev/null @@ -1,4 +0,0 @@ -getty local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre1/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre1/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre1/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre1/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre1/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/strip b/software/cinit/browse_source/cinit-0.3pre1/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre1/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre1/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre1/conf/version b/software/cinit/browse_source/cinit-0.3pre1/conf/version deleted file mode 100644 index 6fb871b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/Makefile deleted file mode 100644 index 8441c90b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o ../generic/usage.o ../generic/mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/cinit-vis.pl deleted file mode 100644 index 3956ff47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/cinit.graph.text.c deleted file mode 100644 index bc6fb6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.gaph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.gaph.text - textual representatio of the cinitdirectory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.gaph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre1/doc/.buildwarn deleted file mode 100644 index 72ebaf6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/.buildwarn +++ /dev/null @@ -1,18 +0,0 @@ -**************************************************************************** -First of all configure cinit through the configuration files found in conf/. - -The documentation can be found in doc/, read - - README and doc/configuring.cinit - -_before_ first use. - -After reading and configuring use: - - "make all" - to build cinit - "make install" - to install cinit - "make install-miniconf" - to install a minimal cinit-configuration - -After that you'll have to configure it. Some sample configurations can be -found on the cinit homepage at http://linux.schottelius.org/cinit/. -**************************************************************************** diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre1/doc/Makefile deleted file mode 100644 index 704903da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -INSTALL=install -CCOLLECT=ccollect.sh -LN=ln -sf - -prefix=/usr/packages/ccollect-git -bindir=$(prefix)/bin -destination=$(bindir)/$(CCOLLECT) - -path_dir=/usr/local/bin -path_destination=$(path_dir)/$(CCOLLECT) - -# where to publish -host=creme.schottelius.org -dir=www/org/schottelius/linux/ccollect -docdir=$(dir)/doc - -# -# End user targets -# -all: - @echo "Creating asciidoc based documentation" - @asciidoc -n -o ccollect.html doc/ccollect.text - -%.html: %.text - echo asciidoc $< -n $> -o $^.html $^.text $@ - - -install: install-script install-link - -install-link: install-script - $(LN) $(destination) $(path_destination) - -install-script: - $(INSTALL) -D -m 0755 -s $(CCOLLECT) $(destination) - -documentation: - @echo "Generating HTML-documentation (en de) ..." - @asciidoc -n -o doc/ccollect.html doc/ccollect.text - @asciidoc -n -o doc/ccollect-DE.html doc/ccollect-DE.text - -# -# Developer targets -# -update: - @cg-update creme - -push-work: - @cg-push creme - @cg-push sygroup - -publish-doc: documentation - @echo "Transferring files to $(host)" - @chmod a+r doc/*.html doc/*.text - @scp doc/*.text doc/*.html $(host):$(docdir) diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre1/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre1/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre1/doc/devel/communication.text deleted file mode 100644 index 82f77774..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/communication.text +++ /dev/null @@ -1,221 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -The byte order is host specific (may be little or big endian). - - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre1/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre1/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre1/doc/devel/ipc.text deleted file mode 100644 index 7013a985..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/ipc.text +++ /dev/null @@ -1,108 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre1/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre1/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre1/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre1/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre1/doc/man/cinit.text deleted file mode 100644 index 11d56be2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/man/cinit.text +++ /dev/null @@ -1,54 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -ccollect is a backup utility written in the sh-scripting language. -It does not depend on a specific shell, only `/bin/sh` needs to be -bourne shell compatibel (like 'dash', 'ksh', 'zsh', 'bash', ...). - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard service (which is confdir/init/) - -BUGS ----- -cinit is not tested nor documented very well currently. - -Additionally the porting to other OS is not finished yet. - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre1/doc/man/cservice deleted file mode 100644 index 8dae0c2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/man/cservice +++ /dev/null @@ -1,34 +0,0 @@ --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre1/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre1/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre1/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/caveats b/software/cinit/browse_source/cinit-0.3pre1/doc/user/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/compiles.on b/software/cinit/browse_source/cinit-0.3pre1/doc/user/compiles.on deleted file mode 100644 index 3fe83479..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/compiles.on +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -compiles.on, -Nico Schottelius 2005-06-09 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit is known to compile on: - -x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 - -Please report your configuration, if it's not listed here. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/config-dirs b/software/cinit/browse_source/cinit-0.3pre1/doc/user/config-dirs deleted file mode 100644 index 4a8fbb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/config-dirs +++ /dev/null @@ -1,19 +0,0 @@ -configuring - - /etc/cinit/defaults/panic -> link to something to execute on panic - (most likely /sbin/sulogin) - - /etc/cinit/defaults/tmp -> link to a directory where - the socket should be created, - after finishing boot - - What todo right before halting/rebooting/powering off - /etc/cinit/special/ - -> halt - -> reboot - -> poweroff - -Configuration -------------- - -Send kill signal diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/configuring.cinit b/software/cinit/browse_source/cinit-0.3pre1/doc/user/configuring.cinit deleted file mode 100644 index a88ba00f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/configuring.cinit +++ /dev/null @@ -1,189 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, -Nico Schottelius 2005-05-28 (Last Modified: 2005-06-05) --------------------------------------------------------------------------------- - -0. Pre-compile configuration -1. General configuration layout -2. Hints -2.0 Service executing / parameters -2.1 Daemons -2.2 Logging -2.3 Using prepared scripts -3. Profiles - - -0. Pre-compile configuration - -Have a look at conf/*. Those variable will mostly be used when -compiling cinit. Some will be read later (like destdir). - - -1. General configuration layout - -/etc/cinit (configurable via conf/cinit_dir) stores the complete -cinit configuration. - -cinit is service based. -A service consists of - - a base directory (like /etc/cinit/getty/1) - - dependency configuration: - - ./wants - services it wants to be started before (but it - will work anyway) - - ./needs/ - services it needs. If those services fail, this service - won't be started. - - - a flag indicating whether to respawn the service: - - ./respawn (simply touch it) - - - a delay: how long to wait for the service (in seconds) before - sending SIGKILL after the SIGTERM (only for respawning processes): - - ./delay (one line with only the digits) - - If delay is non-existing or not readable, the delay from - conf/sleep_kill_svc is taken. The maximum length of this - number ("9999" uses length 4, "42" needs 2 bytes) can be adjusted - at compile time in conf/max_delay. Internally this is a signed - integer, so the maximum size depends on your system. Though - I don't think anybody will want to wait for a service as long as - an integer would allow. - - - the program to run when switching the service on and off: - - ./on (a link to a program or a shell script) - ./on.params (see conf/c_params, the parameters to pass to the program) - ./on.env (see conf/c_env, the environment to pass to the program) - - ./off (call that when shutting down the service) - ./off.params (the parameters to pass to the program) - ./on.env (the environment to pass to the program) - -You should have a look at the samples/ directory for examples. - -If things are missing, cinit will continue with what's available. -This way you only need the files you use. Some examples: - - /etc/cinit/init: - ./wants -> services it wants - ./needs -> services it needs - That's everything - - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it - That's everything, as it has no dependencies - - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn on service - delay -> wait this time before sending SIGKILL after SIGTERM - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting - - -2. Hints - -2.0 Service executing / parameters - -The on and off files can and should be links to the programs you want -to execute. This way you save yourself loading the big shell (which is -on many Linux systems bash, why so ever, dash does the job as good, still -beeing small). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. The on script -could look like: - - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). - - -2.1 Daemons - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking (Please have a look at -daemons.backgrounding for a list of known daemons and their switches -to avoid backgrounding). - -The other possibility is to use a program, which will - a) start the daemon - b) look into the pidfile of the daemon - c) will then wait until that pid does not exist anymore - d) and then it exits and cinit will restart it (goto a) now) - -Such a program is included into this cinit release, -though I do not recommend using it. You should better contact the -authors and make them implement a clean non-forking mode. - -The name of the program (actually a shell script) is "cinit.wait.for.daemon". - -You will use it as the "on" part of the service and you have to add - - a) the pidfile to on.params - b) the daemon binary - -Thus the service would look like: - - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -2.2 Logging - -Currently there's no special logging support. -When programs write to stdout, it will be displayed on -the same stdout cinit is connected to -(we don't even open /dev/console - we are too lazy currently). - - -2.3 Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - - -3. Profiles - -Since cinit-0.0.6 there is profile in cinit. -Profiles are described in doc/profile.support. - -X. Examples - -Can be found in the tarballs below samples/. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre1/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/daemons.backgrounding b/software/cinit/browse_source/cinit-0.3pre1/doc/user/daemons.backgrounding deleted file mode 100644 index f7b7fdf5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/daemons.backgrounding +++ /dev/null @@ -1,71 +0,0 @@ --------------------------------------------------------------------------------- -daemons backgrounding, -Nico Schottelius 2005-06-12 (Last Modified: 2005-10-15) --------------------------------------------------------------------------------- - -0. Definition - -A daemon is a program which runs in the background, not having a tty -associated necesserally. Running in background does not mean it has -to background (fork()) itself, but that you cannot control it directly -from a shell. - -1. Daemons and cinit - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking - -The following daemons / servers are known to avoid backgrounding easily: - - acpid [x86 power management]: -f (undocumentated but works) - apache [webserver]: -DFOREGROUND - asterisk [pbx]: -f - bind [dns server/caching]: -f - cardmgr [pcmcia/cardbus]: -f - cron (vixie) [schedular]: -f - cupsd [printer server]: -f or -F - dhclient [dhcp client]: -d - dhcp3 (isc) [dhcp server]: -f - distccd [compile server]: normal behaviour - fam [file alteration monitor]:-f - fcron [schedular]: -f - frox [ftp proxy]: "NoDetach" in config - gdm [display manager]: -nodaemon - hybrid [irc server]: -foreground - icecast2 [sound streamer]: normal behaviour - mini-lpd [printer server]: normal behaviour - metalog [log server]: normal behaviour - monotone [vcs]: normal behaviour - mpd [music server]: --no-daemon - nessusd ["security server"]: normal behaviour - ntpd [time server]: -n - oidentd [identd server]: -i - oops [http proxy]: normal behaviour - openssh [ssh server]: -D - openvpn [vpn server]: normal behaviour - pbbuttonsd [power management]:normal behaviour - proftpd [ftp server]: -n - qmail [mta]: normal behaviour - rsync ["file server"]: --no-detach - silcd ["secure chat server"]: -F, --foreground - slapd [ldap]: -d - snmpd [snmp daemon]: -f - svnserve [vcs]: --foreground - syslogd [log server]: -n - syslog-ng [log server]: -F - tcpserver [super server]: normal behaviour - udhcpc [dhcp client]: normal behaviour - vsftpd [ftp server]: normal behaviour (or: config: background=no) - xinetd [super server]: -dontfork - -Those are the daemons that do not offer the possibility (as of release 0.2): - - atd (no switch, no configuraton option) - inetd (some variants) - nscd (no switch, no configuraton option) - portmap (only with debug mode) diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre1/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre1/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre1/doc/user/installing-cinit.text deleted file mode 100644 index 084a225e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/installing-cinit.text +++ /dev/null @@ -1,25 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 -:Author Initials: NS - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -For cross compiling see 'cross-compiling.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre1/doc/user/main.text deleted file mode 100644 index 6308e4c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre1/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre1/doc/user/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre1/doc/user/paths.text deleted file mode 100644 index 0b8c6b39..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/paths.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Introduction ------------- -The base directory under which all configurations are found -is '/etc/cinit'. - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services - conf -> general configuration ----------------------------------------------------------------------- - - -General pathnames -~~~~~~~~~~~~~~~~~~ -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - 'name'.params - the parameter to pass to 'name' when executing - - 'name'.env - the environment to pass to 'name' when executing - - -Name.params -^^^^^^^^^^^ -The 'params' file is a simple file containing one argument on each -line. - -Name.env -^^^^^^^^ -The 'env' file contains one assignment on each line. -"testvar=testvalue". - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. - -. The executable files in this directory are: - - panic{.*} - - umount{.*} - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory -which may contain the following files: - -. List of files - - on - What to execute when starting the service - * on.env - Environment to pass to 'on' - * on.params - Parameters to pass to 'on' - - off - What to execute when stopping the service - * off.env - Environment to pass to 'on' - * off.params - Parameters to pass to 'on' - - respawn - An empty file that tells cinit to restart the service - when it exits - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/problems b/software/cinit/browse_source/cinit-0.3pre1/doc/user/problems deleted file mode 100644 index a3440a3a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/problems +++ /dev/null @@ -1,9 +0,0 @@ -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/profile.support b/software/cinit/browse_source/cinit-0.3pre1/doc/user/profile.support deleted file mode 100644 index 7bc607b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/profile.support +++ /dev/null @@ -1,72 +0,0 @@ --------------------------------------------------------------------------------- -Profiles, -Nico Schottelius, 2005-06-04 --------------------------------------------------------------------------------- - -1. What are profiles? -2. How to use profiles? -3. How to configure profiles? -4. Some examples - - -1. What are profiles? - -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -2. How to use profiles? - -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. -How to pass argumenents to cinit? Under Linux the init-system -gets the kernel arguments (see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -3. How to configure profiles? - -It's very simple: Normally cinit would call /etc/cinit/init as -primary service and solve all dependencies. If you pass -cprofile=wireless to it, cinit will start /etc/cinit/wireless as -primary service instead. - - [Note: /etc/cinit/yourprofile is the service that will be started. - You need/should/must NOT create /etc/cinit/yourprofile/init!] - -So the only thing you have to do is to create a service directory -below /etc/cinit with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/init; tar c . | (mkdir ../yp; cd ../yp; tar x ) - -That's it! - - -4. Some examples - -Here are some examples we found in #cLinux: - - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work - diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre1/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre1/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre1/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre1/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.read-conf deleted file mode 100644 index 4f3c1cb7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/* - -set -e - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre1/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre1/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre1/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre1/serv/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/serv/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre1/serv/sig_child.c b/software/cinit/browse_source/cinit-0.3pre1/serv/sig_child.c deleted file mode 100644 index cee8042e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/serv/sig_child.c +++ /dev/null @@ -1,35 +0,0 @@ -/* cinit - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * We are called, when a child dies. Remove it. - */ - -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_child - * collect the children - * FIXME: check whether we've race conditions when reciieving multiiple - * signals - * Perhaps disable listening to sig_child in meantime? - */ - -void sig_child(int tmp) -{ - struct listitem *svc; - - do { - /* check if it's a watched child */ - tmp = waitpid(-1, &tmp, WNOHANG); - - /* restart service, if we are watching it */ - svc = list_search_pid((pid_t) tmp); - - if( svc != NULL ) { - svc->pid = exec_svc(svc->abs_path, CMD_START_SVC); - } - } while( tmp > 0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre1/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/Makefile b/software/cinit/browse_source/cinit-0.3pre1/src/Makefile deleted file mode 100644 index 13e1a854..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/Makefile +++ /dev/null @@ -1,135 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -include Makefile.tests - -# Build tools / locations -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin - -# directories and files -CONFIG_H=headers/config.h - -# -# objects for the cinit part -# -CINIT_HEADERS=$(shell cat headers/listing) -CINIT_CORE_OBJ=$(shell cat core/objects) -CINIT_GENERIC_OBJ=$(shell cat generic/objects) -CINIT_SVC_OBJ=$(shell cat svc/objects) - -# -# The current link may be missing in the first run -# -CINIT_IPC_OBJ=$(shell cat ipc/current/objects 2>/dev/null) -CINIT_OS_OBJ=$(shell cat os/current/objects 2>/dev/null) - -CINIT_OBJ=$(CINIT_CORE_OBJ) $(CINIT_IPC_OBJ) $(CINIT_OS_OBJ) \ - $(CINIT_GENERIC_OBJ) $(CINIT_SVC_OBJ) - -# -# Dependencies -# -$(CINIT_OBJ): $(CINIT_HEADERS) - -# -# Client modules -# -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -BOTH=generic/set_signals.o generic/mini_printf.o generic/usage.o - -OBJ=$(SERV) $(SERV_OS) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -CCO_OBJ=util/ccontrol.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -%.o: %.c - $(CC) -c -o $@ $< - -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: cinit - -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -$(CINIT_OBJ): $(CONFIG_H) - -cinit: $(CINIT_OBJ) - $(LD) $^ -o $@ - - -#$(CINIT_BIN): $(SBIN) $(OBJ) -# $(LD) $(LDFLAGS) $(OBJ) -o $@ -# $(STRIP) $@ - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' - - - -.PHONY: clean -clean: - rm -f .configured - rm -f $(CINIT_OBJ) - rm -f ../tmpbin/* - -distclean: - rm -f os/current ipc/current - -$(CONFIG_H): ../conf/* - ../scripts/cinit.mkheader > $(CONFIG_H) - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre1/src/Makefile.tests deleted file mode 100644 index 88cbb5df..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/Makefile.tests +++ /dev/null @@ -1,25 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre1/src/core/build_argv.c deleted file mode 100644 index bb72a9b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/core/build_argv.c +++ /dev/null @@ -1,220 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write paramaters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "cinit.h" -#include "build_argv.h" - - /* - * FIXME: we are perhaps loosing a byte, the \0 for the full - * string of argv and envp! too tired to check. - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - * - */ - - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int fd; - int argc; - char pathtmp[PATH_MAX+1]; - char *p; - char *sbuf = NULL; - struct stat buf; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - printf("basename %s\n",basename); - - /*********************************************************************** - * Try to get realname (for links) - */ - if ( ( tmp = readlink(basename,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc( sizeof(char *) ); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc( tmp ); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - strcat(pathtmp,C_PARAMS); - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - return BA_E_PARAMS; - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - return BA_E_PARAMS; - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) { - return BA_E_MEM; - } - - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - } else { /* end of string */ - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(bav->argv == NULL) { - return BA_E_MEM; - } - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,bav->argv[0]); - strcat(pathtmp,C_ENV); - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - return BA_E_ENV; - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - return BA_E_ENV; - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre1/src/core/cinit.c deleted file mode 100644 index e99618a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/core/cinit.c +++ /dev/null @@ -1,88 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "cinit.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ - -struct listitem *list; -pid_t cpid; - -int main(int argc, char **argv) -{ - char *initdir; - - list = NULL; /* empty list of services */ - initdir = CINIT_INIT; /* default init dir */ - - /* FIXME: RE-ENABLE as SOON AS PRODUCTIVE cpid = getpid(); - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - set_signals(ACT_SERV); - - /* Look whether we should start a profile */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_SVCDIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* FIXME: do we really need three calls? */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* pre-calculate service tree */ - gen_svc_tree(initdir); - - mini_printf("test\n",1); - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* listen for incomming messages: should never return */ - if(!cinit_ipc_listen()) { - panic(); - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre1/src/core/do_reboot.c deleted file mode 100644 index c190f634..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/core/do_reboot.c +++ /dev/null @@ -1,74 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "ipc.h" -#include "cinit.h" -#include "os.h" -#include "messages.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - struct timespec ts; - //char **cmd; - //int i; - - /* shutdown all services: take care about the dependency tree */ - - /* do not listen to client requests anymore - * FIXME: perhaps before shutdown? */ - cinit_ipc_destroy(); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - /* FIXME make SLEEP_KILL an optional configuration statement */ - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - ts.tv_nsec = 0; - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* execute umount, as defined in conf/umount */ - - /* execute_sth(CINIT_UMOUNT); */ - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/core/objects b/software/cinit/browse_source/cinit-0.3pre1/src/core/objects deleted file mode 100644 index fd49e8d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/core/objects +++ /dev/null @@ -1,6 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/run_init_svc.o -core/set_signals.o -core/do_reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre1/src/core/panic.c deleted file mode 100644 index 39092aef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/core/panic.c +++ /dev/null @@ -1,30 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include "cinit.h" -#include - -void panic(void) -{ - char *nargv[2]; - - execute_sth(CINIT_PANIC); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - execv(SULOGIN,nargv); - - /* there's nothing todo, if everything fails */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/core/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre1/src/core/run_init_svc.c deleted file mode 100644 index 42edb167..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/core/run_init_svc.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/core/run_svc.c b/software/cinit/browse_source/cinit-0.3pre1/src/core/run_svc.c deleted file mode 100644 index 4a7eabf1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/core/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre1/src/core/set_signals.c deleted file mode 100644 index 57dfc242..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/core/set_signals.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006-2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include -#include -#include "cinit.h" - -void sig_child(int signal) { signal=2; } /* HACK */ - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=sig_child; - } - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - if(action == ACT_SERV) { - sa.sa_handler=do_reboot; - } - sigaction(SIGHUP,&sa,NULL); /* reboot */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGUSR1,&sa,NULL); /* halt */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre1/src/generic/execute_sth.c deleted file mode 100644 index d2700fdf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/generic/execute_sth.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ -#include "cinit.h" -#include "build_argv.h" - -void execute_sth(char *basename) -{ - struct ba_argv bav; - int tmp; - - if( ( tmp = cinit_build_argv(basename,&bav) ) != BA_OK) { - if(tmp != BA_E_MEM) { - print_errno(basename); - } /* do not print something on memory errors */ - _exit(1); /* FIXME: adjust exit code? */ - } - - execve((bav.argv)[0],bav.argv,bav.envp); - print_errno(basename); - _exit(1); /* FIXME: return specific error code, so cinit knows - * what happened! - sure? perhaps this gets non - * standard errors from other programs, too ... */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre1/src/generic/mini_printf.c deleted file mode 100644 index e4e16678..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Print to the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while ( *p ) p++; - - write(fd,str,(size_t) (p - str) ); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/generic/objects b/software/cinit/browse_source/cinit-0.3pre1/src/generic/objects deleted file mode 100644 index ba33ac4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/generic/objects +++ /dev/null @@ -1,5 +0,0 @@ -generic/execute_sth.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre1/src/generic/path_absolute.c deleted file mode 100644 index ae524326..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "cinit.h" /* print_errno */ -#include "messages.h" /* print_errno */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_CHDIR); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre1/src/generic/path_append.c deleted file mode 100644 index 361b349e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/generic/path_append.c +++ /dev/null @@ -1,29 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre1/src/generic/print_errno.c deleted file mode 100644 index 7415d556..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre1/src/generic/usage.c deleted file mode 100644 index 076cfa9b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/generic/usage.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * - */ - -#include -#include "cinit.h" - -/*********************************************************************** - * usage: tell the user what's wrong and a help text - */ -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/headers/build_argv.h b/software/cinit/browse_source/cinit-0.3pre1/src/headers/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/headers/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/headers/cinit.h b/software/cinit/browse_source/cinit-0.3pre1/src/headers/cinit.h deleted file mode 100644 index 5d4cbdaa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/headers/cinit.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_H -#define _CINIT_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_UMOUNT CINIT_CONFDIR SLASH C_UMOUNT - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -//extern int sock; /* current writing/reading socket */ -//extern pid_t cpid; /* used by main() and reused be respaw_svc() */ - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -int run_init_svc(char *cinit_svc); -void sigio(int socket); -void do_reboot(int signal); -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); -void sig_terminate(int signal); - -/* generic */ -void execute_sth(char *basename); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); - -/* util */ -int msg_reboot(char cmd); -void print_errno(char *text); - -/* service */ -int svc_known(char *svc); -int svc_create(char *svc); -int gen_svc_tree(char *svc); - -/* os-functions */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - -#endif /* _CINIT_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/headers/comm.h b/software/cinit/browse_source/cinit-0.3pre1/src/headers/comm.h deleted file mode 100644 index 88f7c4fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/headers/comm.h +++ /dev/null @@ -1,90 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_START_SVC=1, /* the client wants US to start a service */ - CMD_START_SVC_ONLY, /* start this service without dependencies */ - CMD_STOP_SVC, /* stop svc and all svcs that need it */ - CMD_STOP_SVC_ONLY, /* we should stop _only_ this service */ - CMD_STOP_SVC_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ - CMD_RESCUE, /* we should start the rescue mode */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ - CMD_INFO /* send information about that service */ -}; - -/*********************************************************************** - * status of a service and return codes - errors and success - */ -enum svc_status { - ST_TMPNOW=1, /* the client is now starting the service NEEDED??? */ - ST_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - - ST_OFF, /* service is off */ - ST_OFF_ALL, /* service and those that need it are off */ - ST_OFF_ALL_F, /* same, but something failed */ - ST_OFF_WANTS, /* service + those that need or want it are off */ - ST_OFF_WANTS_F, /* same, but something failed */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/headers/ipc.h b/software/cinit/browse_source/cinit-0.3pre1/src/headers/ipc.h deleted file mode 100644 index 66b3bc86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/headers/ipc.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init (client init) */ -int cinit_ipc_connect(void); /* connect to init */ -int cinit_ipc_csend(void *data); /* send to the server from a client */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/headers/listing b/software/cinit/browse_source/cinit-0.3pre1/src/headers/listing deleted file mode 100644 index 736feba6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/headers/listing +++ /dev/null @@ -1,5 +0,0 @@ -headers/cinit.h -headers/config.h -headers/ipc.h -headers/messages.h -headers/os.h diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/headers/messages.h b/software/cinit/browse_source/cinit-0.3pre1/src/headers/messages.h deleted file mode 100644 index 1ae95e2c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/headers/messages.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -/* Messages to the outside */ -#define MSG_BIND "bind" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_KILLBILL "sigkill" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_TERMKILL "sigterm" -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_SVC_FAIL "Service failed" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_START_SVC "Starting " -#define MSG_STOP_SVC "Stoping " -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_POWER_OFF "Powering off..." -#define MSG_HALT "Halting system ..." -#define MSG_REBOOT "Rebooting ..." -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/headers/os.h b/software/cinit/browse_source/cinit-0.3pre1/src/headers/os.h deleted file mode 100644 index e36d5a8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/headers/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/headers/svc.h b/software/cinit/browse_source/cinit-0.3pre1/src/headers/svc.h deleted file mode 100644 index 31496a2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/headers/svc.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_SVC_H -#define _CINIT_SVC_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - char *abs_path; /* name of service */ - int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - struct listitem *before; /* previous item */ - struct listitem *after; /* next item */ - struct listitem *wanted; /* list of services that want this service */ - struct listitem *needed; /* list of services that need this service */ -}; - -/* variables */ -extern struct listitem *list; /* the process linked chain */ - -/* list functions */ -int list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -inline struct listitem *list_search_pid(pid_t pid); -int list_display_all(); - - -/* service */ -int svc_known(char *svc); -int svc_create(char *svc); -int gen_svc_tree(char *svc); - -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_connect.c b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_connect.c deleted file mode 100644 index a744980c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_connect.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel */ - k_in = ftok(IPC_KEY,IPC_IN); - k_out = ftok(IPC_KEY,IPC_OUT); - - if(k_in == -1 || k_out == -1) { - perror("ftok"); - exit(1); - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - perror("msgget"); - exit(1); - } - - /* wrong tabsto ;-) */ -while (1) { - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror("msgrcv"); - exit(1); - } - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 43a0012f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,62 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(IPC_KEY,IPC_OUT); - k_out = ftok(IPC_KEY,IPC_IN); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 299885c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ - -#include "msgq.h" /* mq_in, mq_out */ -#include "cinit.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(mq_in,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(mq_out,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index 9ae072a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* msgget */ - -#include "cinit.h" -#include "config.h" -#include "msgq.h" - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_in = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_in == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* to_client */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - if(k_tmp == -1) { - perror(MSG_MSGQ_FTOK); - return 0; - } - mq_out = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_out == -1) { - perror(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index d21e561e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,47 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* perror */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - - struct msg_client m_client; - - while (1) { - /* FIXME: change msg structure */ - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror(MSG_MSGQ_MSGRCV); - } - - printf("pid: %d, m_client\n",m_client.pid); - - /* use pid as the message type - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - return 0; - } */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index a744980c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel */ - k_in = ftok(IPC_KEY,IPC_IN); - k_out = ftok(IPC_KEY,IPC_OUT); - - if(k_in == -1 || k_out == -1) { - perror("ftok"); - exit(1); - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - perror("msgget"); - exit(1); - } - - /* wrong tabsto ;-) */ -while (1) { - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror("msgrcv"); - exit(1); - } - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index 08c0e252..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "cinit.h" /* print_errno */ -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - key_t k_in, k_out; /* FIXME: remove one variable */ - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - k_out = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_sclose.c b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_sclose.c deleted file mode 100644 index 69165e4d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/cinit_ipc_sclose.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Close the ressources from the server, clean state for forks. - * - */ - -int cinit_ipc_sclose(void) -{ - return 1; /* nothing to do when using message queues */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/msgq.h deleted file mode 100644 index 01c6e769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * part of cinit - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define MSGQ_TO_SERVER 'i' /* also for ftok */ -#define MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables - */ -int mq_in; /* input */ -int mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_FTOK "ftok" -#define MSG_MSGQ_MSGGET "msgget" -#define MSG_MSGQ_MSGRCV "msgrcv" -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre1/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre1/src/os/freebsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre1/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre1/src/os/freebsd/poweroff.c deleted file mode 100644 index 61e5ef5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre1/src/os/freebsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre1/src/os/linux/halt.c deleted file mode 100644 index 0ecf8ced..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre1/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre1/src/os/linux/poweroff.c deleted file mode 100644 index 5f503678..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre1/src/os/linux/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre1/src/os/openbsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre1/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre1/src/os/openbsd/poweroff.c deleted file mode 100644 index 45168122..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre1/src/os/openbsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/svc/entry_add.c b/software/cinit/browse_source/cinit-0.3pre1/src/svc/entry_add.c deleted file mode 100644 index 08a64e3a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/svc/entry_add.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "messages.h" - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * size: size of an element in the list (for initialisation) - */ -int entry_add(void *list, void *new) -{ - if( list == NULL ) { /* new list */ - list = new; - list->prev = list; - list->next = list; - } else { /* already existing */ - new->next = list; /* new-> first */ - new->prev = list->prev; /* last <- new */ - list->prev->next = new; /* last -> new */ - list->prev = new; /* new <- first */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre1/src/svc/gen_svc_tree.c deleted file mode 100644 index bf04f619..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,96 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include -#include -#include /* PATH_MAX */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" -#include "messages.h" - -int gen_svc_tree(char *svc) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - DIR *d_tmp; - struct dirent *tdirent; - - mini_printf("Adding service: ",1); - mini_printf(svc,1); - mini_printf("\n",1); - - /* only do something if the service is not already known */ - if(svc_known(svc)) return 1; - - /* create a template, so other instances won't try to recreate us */ - if(!svc_create(svc)) return 0; - - /* check needs */ - strcpy(buf,svc); - if(!path_append(buf,C_NEEDS)) return 0; - - d_tmp = opendir(buf); - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_CHDIR); - return 0; - } - - /* if there is no such dir, we are finished */ - if(d_tmp != NULL) { - if(chdir(buf) == -1) { - print_errno(buf); - return 0; - } - - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - mini_printf(tdirent->d_name,1); - mini_printf("\n",1); - - /* skip non-working directories */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* add all needs to our tree (call us recursively) */ - if(!gen_svc_tree(buf)) return 0; - } - if(chdir(svc) == -1) { - print_errno(svc); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - } else { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - } - /* read service information */ - /* svc_add_needs(svc); */ - - /* check for wants */ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_delete.c deleted file mode 100644 index a8bfc4bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_delete.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "svc.h" - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->after->before = tmp->before; - tmp->before->after = tmp->after; - free(tmp->abs_path); - free(tmp); - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_display_all.c deleted file mode 100644 index 00077e39..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_display_all.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ -#include "cinit.h" -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if( list == NULL ) { - return 0; - } else { - tmp = list; - } - - do { - mini_printf("Service: ",1); - mini_printf(tmp->abs_path,1); - mini_printf("\n",1); - tmp = tmp->before; - } while(tmp != list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_insert.c deleted file mode 100644 index 080fecd3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_insert.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "svc.h" -#include "messages.h" - -int list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc( sizeof(struct listitem) ); - - if( tmp == NULL ) { - return 0; - } - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_modify.c deleted file mode 100644 index 4a93c41c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_modify.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - -// D_PRINTF(path); - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_search.c deleted file mode 100644 index e9bf1869..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_search.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "cinit.h" -#include "svc.h" - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if( list == NULL ) { /* think positive */ - return NULL; - } else { - tmp = list; - } - - do { - if( !strcmp(path, tmp->abs_path) ) { - return tmp; - } - tmp = tmp->before; - } while(tmp != list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_search_pid.c deleted file mode 100644 index 01727884..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/svc/list_search_pid.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "svc.h" - -/* find service by pid, needs to be online because it is called - * by a signal handler - */ -inline struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if( list == NULL ) { - return NULL; - } else { - tmp = list; - } - - do { - if( pid == tmp->pid) { - return tmp; - } - tmp = tmp->before; - } while(tmp != list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/svc/objects b/software/cinit/browse_source/cinit-0.3pre1/src/svc/objects deleted file mode 100644 index 3fc2f70c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/svc/objects +++ /dev/null @@ -1,9 +0,0 @@ -svc/gen_svc_tree.o -svc/list_delete.o -svc/list_display_all.o -svc/list_insert.o -svc/list_modify.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_known.o -svc/svc_create.o diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre1/src/svc/svc_add_needs.c deleted file mode 100644 index 4ec20cc8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/svc/svc_add_needs.c +++ /dev/null @@ -1,66 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -//#include -//#include -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre1/src/svc/svc_create.c deleted file mode 100644 index 58e530db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/svc/svc_create.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include "svc.h" - -int svc_create(char *svc) -{ - /* status is currently -1 -> unset */ - /* FIXME: do NOT use list_insert, as it does not - * check whether the service already exists! - * - * Is that really an issue? We are most likely only called - * from gen_svc_tree, which checks before... - */ - - return list_insert(svc,-1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/svc/svc_known.c b/software/cinit/browse_source/cinit-0.3pre1/src/svc/svc_known.c deleted file mode 100644 index c2baf28e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/svc/svc_known.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include "svc.h" - -int svc_known(char *svc) -{ - return (list_search(svc) != NULL) ? 1 : 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre1/src/test/test_build_argv+link.c deleted file mode 100644 index e37169fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre1/src/test/test_build_argv.c deleted file mode 100644 index 0b2678be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre1/src/test/test_gen_svc_tree.c deleted file mode 100644 index 93ad54ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre1/util/README b/software/cinit/browse_source/cinit-0.3pre1/util/README deleted file mode 100644 index 782cdc8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/util/README +++ /dev/null @@ -1,2 +0,0 @@ -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre1/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre1/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre1/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre1/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre1/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre1/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre1/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre10/ b/software/cinit/browse_source/cinit-0.3pre10/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre10/.exclude b/software/cinit/browse_source/cinit-0.3pre10/.exclude deleted file mode 100644 index 1a2d31e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/.exclude +++ /dev/null @@ -1,2 +0,0 @@ -tmp -.git diff --git a/software/cinit/browse_source/cinit-0.3pre10/.gitignore b/software/cinit/browse_source/cinit-0.3pre10/.gitignore deleted file mode 100644 index 29615f14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -*.html -*.htm -*.man -*.texi -*.texi -*.docbook -src/halt.kill -src/poweroff.kill -src/reboot.kill -doc/man/*.[0-9] -doc/man/*.xml -src/cmd diff --git a/software/cinit/browse_source/cinit-0.3pre10/CHANGES b/software/cinit/browse_source/cinit-0.3pre10/CHANGES deleted file mode 100644 index 8a13a003..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/CHANGES +++ /dev/null @@ -1,77 +0,0 @@ -cinit-0.3pre10: - - Fixed make install target - - Added halt.kill, poweroff.kill and reboot.kill (including manpages!) - - Fixed invalid comparision in core/cinit.c - - Be verbose: Print what we execute - - Updated documentation - -cinit-0.3pre9: 2007-05-15 - - Implemented sleeping before respawn (static delay) - - Report broken links on execution, but ignore empty services - - Cleaned up message queue error reporting - -cinit-0.3pre8: 2007-04-06 - - Updated and merged documentation: Codingstyle and Codingguide - - Cleaned sigaction-code (fixes segfault on glibc) - - Cleaned object listings - - Added notifications at shutdown - - Fixed status check - -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre10/COPYING b/software/cinit/browse_source/cinit-0.3pre10/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre10/CREDITS b/software/cinit/browse_source/cinit-0.3pre10/CREDITS deleted file mode 100644 index febdcf4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/CREDITS +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: ls -l) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding -Tonnerre Lombard - * NetBSD support (host + hints) diff --git a/software/cinit/browse_source/cinit-0.3pre10/Changelog b/software/cinit/browse_source/cinit-0.3pre10/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre10/Makefile b/software/cinit/browse_source/cinit-0.3pre10/Makefile deleted file mode 100644 index cce0f217..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/Makefile +++ /dev/null @@ -1,108 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation -dev-all: all sizecheck - -install clean dist distclean: - @for subdir in ${CDIRS}; do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && ${MAKE} ${MAKEFLAGS} $@) || break; \ - done; - -.PHONY: sources -sources: - ${MAKE} -C src all - -.PHONY: documentation -documentation: - ${MAKE} -C doc documentation - -sizecheck: sources - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $$FILE; cat $$FILE; \ - cg-add $$FILE - cg-commit $$FILE -m "Size added" - #cg-commit $$FILE -m "Size: $$(awk '{ print $5 }' $$FILE)" - -source-size: clean - @echo -n "Source size (in KiB): " - @du -s src/ | awk '{ sum+=$$1 } END { print sum }' - - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - - -################################################################################ -# Tests -# -tests: - # does not work, due getting killed, due to design :-) - #./scripts/internal/compile_run_as_compiler.sh - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -################################################################################ -# old -#DDOC=ddoc -#SDIRS=bin client conf comm doc generic serv util -# DO NOT CHANGE THIS. -#SBIN=sbin -#CINIT_BIN=$(SBIN)/cinit -# -#%.o: %.c -# $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< -#$(DDOC): -# mkdir $(DDOC) -# -#$(SBIN): -# mkdir $(SBIN) -# -#docs: $(DDOC) bin/cdoc-man.sh -# ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 -# ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 -#$(CSVC_OBJ) $(OBJ): $(CONFIG_H) -#clean: -# $(MAKE) -C src clean -# rm -f tmpbin/* -################################################################################ -#cservice: $(SBIN)/cservice -# -#$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) -# $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ -# $(STRIP) $@ -# -#ccontrol: $(SBIN)/ccontrol -# -#$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) -# $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ -# $(STRIP) $@ -# -#install:: install-dir cinit cservice ccontrol -# @echo '*** Installing cinit ***' -# ./bin/cinit.install.binary diff --git a/software/cinit/browse_source/cinit-0.3pre10/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre10/NEXTTODO deleted file mode 100644 index a12e1e08..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/NEXTTODO +++ /dev/null @@ -1,14 +0,0 @@ -- create cmd! - * cinit-0.3 client - * check ipc code in cinit - * check that cinit reads a command - core/cinit.c is ok -- create some boot profiles -- cinit.install.standard.dirs.argv -check needs: - really started, after started or after finished starting? -wants: - are they checked? - -implement commands! -- fix devel/codingguideline.text! diff --git a/software/cinit/browse_source/cinit-0.3pre10/README b/software/cinit/browse_source/cinit-0.3pre10/README deleted file mode 100644 index 00f2651b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/README +++ /dev/null @@ -1,106 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Unix -- true dependencies (soft and hard!) -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -FIXME: Add mailing list here - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre10/ROADMAP b/software/cinit/browse_source/cinit-0.3pre10/ROADMAP deleted file mode 100644 index 8b0e6526..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/ROADMAP +++ /dev/null @@ -1,115 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree [DONE] - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers [DONE] - code: cleanup makefile - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. [DONE] - code: add special directory (/etc/cinit/conf?) for non-services [DONE] - code: move production code to src/ [DONE] - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory [DONE] - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre10/TODO b/software/cinit/browse_source/cinit-0.3pre10/TODO deleted file mode 100644 index a583a941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/TODO +++ /dev/null @@ -1,327 +0,0 @@ --------------------------------------------------------------------------------- -- define how it should work (doc/braindums/big-picture.text) -- define service status in one document, so repeatition stops! --------------------------------------------------------------------------------- -- remove client/ from top level --------------------------------------------------------------------------------- -Generate automatic asciidoc from conf/* --------------------------------------------------------------------------------- - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s - - Rekursives herunter/rauffahren --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary --------------------------------------------------------------------------------- -1. Entfernung mount - -> Example configuration - -> was man alles machen muss --------------------------------------------------------------------------------- -- add code do implement stopping / restarting with dependency tree --------------------------------------------------------------------------------- -- print service name or cinit: before _everything_ WE print - - - is the reporting ok? - -# cinit.create.empty.service: can only be started from the bin directory - -- Fix Switching services off !! -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren - -- on.out, on.err, on.in? - -> reading/writing from/to files - -- implement "no_kill" until cinit-0.2 or 0.3? - - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) --------------------------------------------------------------------------------- -Helper scripts, rausgenommen aus Der Doku, muessen fuer -cinit-0.3 ueberprueft werden: - -Configure help scripts -~~~~~~~~~~~~~~~~~~~~~~ -cinit-conf later -Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring - * add scripts! see below - - define coding guidelines -> general, with url? - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? - -Documentation -------------- - -developer -~~~~~~~~~ -- ST_IN_LIST == startup marker, used to (NOT) insert services into startup -- dep_needs_wants_add is used to add dependencies of a service to the general - starter list - - -user ----- -- do we really need swapoff? remove umount, swapoff! - * to services! - -> they have to do it! -- dependencies with leading '.' (dot) are ignored. -- about cinit-configuration structure - * cconfig - * svc/ - * special/ (or however we called it) - - panic - - halt - - poweroff - - reboot - --------------------------------------------------------------------------------- -FAQ -~~~ -- DOKU: what happens when a service does not terminate.... - und er als once drin ist ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! - -- multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - --------------------------------------------------------------------------------- -csvc: -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -cinit: -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! - -Child handlin -~~~~~~~~~~~~~g -- free() everything before starting child - -Later -~~~~~ -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? - -> yep, clean environment! -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -- Doc - * main.text -> cleanup / remove / split - * config-dirs - * FAQ - * ideas - * meta.dependencies - - config/hints/meta depps - * optimising - - integrate into other - * README.text - - update - * replacing.init - - update / integrate - * special-services.text - - into configuring/hints? - * TODO - - into paths, if necessary - * updating.cinit - - update as soon as update is possible? - * using.rescue - - update as soon as update is possible? - * 'os-integration.text' - * 'daemons.backgrounding' - * There are some hints on how to migrate to cinit in general and also - some os specific help in the file 'migrating-init-systems.text', -- CODECHECK: - * what happens with the wants of the last services? - - are they added? - - are they added at the correct position? -- scripts - * `cinit.check.config` (doc/user/configuring.cinit.text) - -> circular depedencies! -- Doc.next: - - installing: report! - -> write report script. -- Doc later - * current-init-problems.text - - current-init-problems.text explains why cinit does not use nor recommends the use of shell scripts. - * special-services.text - -- Begin documentation - * Check Makefile - * Integrate Makefile into main Makefile - * create manpage - * Write a small manual - - install - - configure - - boot (different OS) - * generate asciidoc! -- Doc way: - * installing - * configuring - - testconfig! - * booting - - different OS / bootloader - * debugging -- Shutdomn code: - * begin at init, then shutdown wants/needs, ... -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- replace cinit_ipc_logon with cinit_ipc_init... - * delay ipc code -> after start! - -- Cleanup / create object lists - object-lists/ - cinit - cservice - ccontrol - cinit.halt - cinit.reboot - cinit.shutdown (shell script?!?) - - -TODO.pre9: - - Done: - - pfad korrigieren (home/..../ -> cinit.release) - - cg-add nicht aufrufen beim make all! -ser/nico/oeffentlich/computer/projekte/cinit/cinit-0.3pre8/doc' -FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $FILE; cat $FILE; \ - cg-add $FILE --rwx------ 1 nico nico 72601 2007-04-06 17:52 src/cinit -There is no GIT repository here (.git not found) -make: *** [sizecheck] Fehler 1 - - setup VM for testing: qemu/kvm/virtualbox (no commercial bloaty) - -> uml! - - sleep when respawnig! - -> static delay of five seconds - do_reboot.c: - is ipc closed? -> check! => done! - - ignore msgrcv: Interrupted system call -Session terminated, killing shell...msgq-destroy: Invalid argument -msgq-destroy: Invalid argument - - do not print an error if /etc/cinit/conf/last is non-existent! - => print it. Do not not print it, as this can aid debugging. - include locking via shm, remove test on pid1 - => not necessary imho currently - - -TODO.pre10: - Done: - cleanup client/ comm/ contrib+tools/ util/ tmp/ - Debugging cinit-configuration: - ls -lR /etc/cinit - or: cinit.read.... - -TODO.pre11: - Remove some debugging, re-introduce DEBUG() macro.. - Fix doc: - - make dist should cleanup cc / ld to sane values? - or do I experiement in tmp/*? - - http://linux.schottelius.org/cinit/browse_source/current/doc/user/config-dirs - conf/c_halt - - IPC: - * check msqg-code - * documentate the ipc functions: update devel/ipc.text - * check cinit_read_command() (devel/ipc.h) - - do_reboot.c: - write cinit_svc_shutdown - - implement do_reboot() - * so not only booting with cinit works, but also the shutdown - - write libcinit for use in cmd() - - find out why gettimeofday() and time() do strange things when called in SIG_CHLD - => bug opened in glibc, got to code testprogram - - write cinit.conf.check - * report broken links in needs/wants - * report circular dependencies - - pretty print, reporting is ugly! - Add handler for ctrl+alt+delete - * document in paths - * check whether there's an os-unspecific way to do that - cleanup bin/ - - write sys-v-init-shutdown-wrapper - * shutdown - * halt - * reboot - * poweroff - - write manpages for - - *.kill - - cmd - - install: - make install => does not overwrite critical targets - * cinit - * *.kill (see client/*) - * cmd - make force-install => overwrites /sbin/{halt,poweroff,reboot}? - => with script that wraps cmd - make install-template: - * creates categories - make install-miniconf: - * creates categories - * creates one service starting a shell (depending on the OS!) - - cleanup src/ - finish ipc code so clients can access cinit - implement CMD_INFO (see comm.h) - - -TODO.pre12: - Check and clean doc/ - Remove *TODO*+ROADMAP and leave behin doc/TODO - -TODO.pre13: - code cmd=(cservice ccontrol halt reboot shutdown poweroff) - => halt/r/... also with kill ... - Test, release and prepare for final cinit-0.3 - -TODO.0.3.1 - add log support - cinit logs to - -> shm saver - services log to - -TODO unclear - - create migration scripts diff --git a/software/cinit/browse_source/cinit-0.3pre10/TODO.doc b/software/cinit/browse_source/cinit-0.3pre10/TODO.doc deleted file mode 100644 index a170a50d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/TODO.doc +++ /dev/null @@ -1,29 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - -caveats -------- - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- cinit ignores the Keyboard request -- Currently there is no support to react on 'ctr+alt+del': -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - diff --git a/software/cinit/browse_source/cinit-0.3pre10/TODO.optimisations b/software/cinit/browse_source/cinit-0.3pre10/TODO.optimisations deleted file mode 100644 index 8a686b4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/TODO.optimisations +++ /dev/null @@ -1,19 +0,0 @@ -This file describes enhancements or optimisations that -could be done / checked. - - -Code ----- - -fork() -~~~~~~ - -Security -^^^^^^^^^ -- Closed fds? -- Close other things? -- IPC? - -Cleanup -^^^^^^^ -- Do we have to reset signals or is that done anyway by fork()? diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre10/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.configure.mark deleted file mode 100644 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/.README b/software/cinit/browse_source/cinit-0.3pre10/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre10/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre10/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_env b/software/cinit/browse_source/cinit-0.3pre10/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_init b/software/cinit/browse_source/cinit-0.3pre10/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_last b/software/cinit/browse_source/cinit-0.3pre10/conf/c_last deleted file mode 100644 index 8debf155..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_last +++ /dev/null @@ -1,7 +0,0 @@ -last - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -This maybe a shellscript with the OS-specific umount procedure (like umount -a), -see doc/user/configuring.cinit for more details. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre10/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_off b/software/cinit/browse_source/cinit-0.3pre10/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_on b/software/cinit/browse_source/cinit-0.3pre10/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre10/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_params b/software/cinit/browse_source/cinit-0.3pre10/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre10/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre10/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre10/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre10/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre10/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre10/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/cc b/software/cinit/browse_source/cinit-0.3pre10/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/cflags b/software/cinit/browse_source/cinit-0.3pre10/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre10/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/confdir b/software/cinit/browse_source/cinit-0.3pre10/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/destdir b/software/cinit/browse_source/cinit-0.3pre10/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre10/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre10/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre10/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre10/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/ld b/software/cinit/browse_source/cinit-0.3pre10/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre10/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre10/conf/max_delay deleted file mode 100644 index 30725bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/max_delay +++ /dev/null @@ -1,4 +0,0 @@ -30 - -Maximum number of seconds to sleep between retrying to start it -(respawn only). diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre10/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre10/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre10/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre10/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/os b/software/cinit/browse_source/cinit-0.3pre10/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre10/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre10/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre10/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/prefix b/software/cinit/browse_source/cinit-0.3pre10/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/profile b/software/cinit/browse_source/cinit-0.3pre10/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre10/conf/service_categories deleted file mode 100644 index 2216ea97..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/service_categories +++ /dev/null @@ -1,7 +0,0 @@ -getty init local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. - -Btw, 'init' is the first service and has always to be there, but it does not really -fit into here, because it's a real one, compraed to the pseudo services. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre10/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/strip b/software/cinit/browse_source/cinit-0.3pre10/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre10/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre10/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf/version b/software/cinit/browse_source/cinit-0.3pre10/conf/version deleted file mode 100644 index 23ac5f86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre10" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre10/conf2/README b/software/cinit/browse_source/cinit-0.3pre10/conf2/README deleted file mode 100644 index c753107d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/conf2/README +++ /dev/null @@ -1,33 +0,0 @@ -Migrate conf/ to general conf/-buildsystem (write documentation for it). - -gpm2 may be an example for this! - -conf/targets: - targets to make available in Makefile and their dependencies - - abstract the build-process somehow, so one can create build-targets? - - c-programs/ (includes cc / ld) - cinit (link to conf/object_listings cinit?) -conf/object_listings - lists of dependencies: - conf/object_listings/cinit contains all objects needed for cinit - -conf/programs/ - like cc, ld, install, ... - -conf/built-options/ - like --... in ./configure - -conf/install/ - - options/ - destdir (prefixed before everything) - prefix (standard prefix) - bin (relative to prefix, if not beginning with a /) - sbin (relative to prefix, if not beginning with a /) - lib (relative to prefix, if not beginning with a /) - targets/ - cinit/ - built-target (link to conf/targets/cinit) - destination (relative to diff --git a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/Makefile deleted file mode 100644 index 23cc41f0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o usage.o mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/cinit-vis.pl deleted file mode 100644 index 4a439fc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/svc/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/cinit.graph.text.c deleted file mode 100644 index 5e5316ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -//#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.graph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.graph.text - textual representatio of the cinit directory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.graph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/cinit.h b/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/cinit.h deleted file mode 100644 index cbde3195..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/cinit.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Dummy header file to intgrate mini_printf and usage - */ - -#ifndef CINIT_DUMMY_HEADER -#define CINIT_DUMMY_HEADER - -void usage(char *banner, char *text); -void mini_printf(char *str,int fd); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/mini_printf.c deleted file mode 120000 index 3e9a596c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/mini_printf.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/mini_printf.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/usage.c b/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/usage.c deleted file mode 120000 index c26691ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/contrib+tools/usage.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/usage.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre10/doc/.buildwarn deleted file mode 100644 index 3a0354dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/.buildwarn +++ /dev/null @@ -1,23 +0,0 @@ -**************************************************************************** -Welcome, cinit greets you. -**************************************************************************** - -Hints: ------- - - Settings used for compiling (not only) can be found in conf/* - - The boot configuration normally resides below /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text _BEFORE_ installing. - -Building cinit --------------- - - "make all" - to build cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre10/doc/Makefile deleted file mode 100644 index abff8b3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -A2X=a2x -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text man/halt.kill.text man/poweroff.kill.text \ - man/reboot.kill.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DEVELDOCS = devel/codingguideline.text -DOCS = $(MANDOCS) $(USERDOCS) $(DEVELDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -#TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpages" - @echo "pdf: only generate pdfs (requires: fop)" - -install: $(DOC_ALL) - @echo "===> Copy " man/*.[0-9] "to the correct manpaths" - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -#%.man: %.mandocbook -# ${DOCBOOKTOMAN} --to-stdout $< > $@ - -%.man: %.text - ${A2X} -f manpage $< - -%.pdf: %.text - ${A2X} -f pdf $< - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - rm -f man/*.texi man/*.xml man/*.[0-9] - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/README.text b/software/cinit/browse_source/cinit-0.3pre10/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/root-vm-testing b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/root-vm-testing deleted file mode 100644 index a8773dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/root-vm-testing +++ /dev/null @@ -1,9 +0,0 @@ -[19:33] denkbrett:root% cat uml-mount.sh -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl - -denkbrett# tar cfj ~nico/projekte/cinit/conf-vm-2007-03-05.tar.bz2 cinit -denkbrett# chown -R nico cinit -denkbrett# chown nico ../sbin - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/shutdown.text deleted file mode 100644 index ac76425d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/shutdown.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} - * no, implemented that directly into cinit! -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process - * create mappers for target OS - - Linux - - {free,net,open}bsd - - others may contribute theirself -- also implement poweroff - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement halt - * kill -USR1 1 - - -The implementation ------------------ -x shutdown is initiated -x disable communication (nobody can influence us anymore) -x install special signal handler? - - no. we do not care about zombies anymore, we are gone soon anyway - - simply reset to the default -- begin to shutdown services - * where to start? - * begin shutdown at the end of the tree, viewing/sorting it by the 'needed_by' - -> where to begin sort? - -> worst implementation: scan all services (easy for now) - -> result: list of services, that noone needs :-) - * stop those services and step above - - stop a service, as soon as noone needs it anymore - * check all needed_by links - * more or less the inverted gen_svc_tree -- how to shutdown a service - * if existing, call off - - if off does not exist: - * if respawn: send sigterm to the process - * also implement sigkill at this stage? - - think we can delay it to the end - - otherwise users can use off! - - implement environment for off ($cinit_respawn_pid, $cinit_service_name) - - do *NOT* care about the return value, we can't do anything for it - anymore anyway -- after all services are shutdown, kill all remaining services - * SIGTERM - * wait(defined_time_in_seconds) - * SIGKILL -- call the last command - * to cleanup the system - - umount -a (if needed) - - swapoff (if needed) - - sync (if needed) -- switch off diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/sizes b/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/sizes deleted file mode 100644 index ddd30f75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/braindumps/sizes +++ /dev/null @@ -1,6 +0,0 @@ -sysvinit: -root 1 0.0 0.0 1944 648 ? Ss 02:12 0:00 init [2] - -cinit-0.3pre8-glibc-linux: -compiler 25323 0.0 0.0 1564 392 pts/2 S+ 20:22 0:00 ./cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre10/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre10/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/codingguideline.text b/software/cinit/browse_source/cinit-0.3pre10/doc/devel/codingguideline.text deleted file mode 100644 index d4686d8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/codingguideline.text +++ /dev/null @@ -1,149 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. -Indent variable names, so the names begin all at the same position. -Use three spaces to place them. - - -Whitespaces ------------ -Where to put or avoid whitespaces (space or linefeed (lf)). - - -Spaces -~~~~~~ -- After closing brace "if(test) return 0;" -- Spaces before and after '=', '>', '<', '==', '!='', '>=', '<=', '>>', '<<', '&', '&&', '|', '||' -- After start of comment and before end of comment: '/* text */' - - - After ')', ',' - -No spaces -~~~~~~~~~ -- Within braces and code "(!test)", -- Before braces "if(code)" -- No space before ), so if '))', do not put a space after the first ')' - - -Linebreaks -~~~~~~~~~~ -This somehow includes the setting of braces (indirectly through (not) setting -spaces. - -If -^^ - -Put the if, the braces and the opening curly brace on one line, -put the closing one together with `else` and the new opening -curly brace on one line: - ------------------------------------------------------------------------------- -if(...) { - /* code */ -} else { - /* else: code */ -} ------------------------------------------------------------------------------- - -While -^^^^^ ------------------------------------------------------------------------------- -while(condition) { - /* repeat */ -} ------------------------------------------------------------------------------- - -Do-While -^^^^^^^^ ------------------------------------------------------------------------------- -do { - /* something */ -} while(running); ------------------------------------------------------------------------------- - -Switch -^^^^^^ - ------------------------------------------------------------------------------- -switch(value) { - case DO_SOMETHING: - /* code */ - break; - default: - break; -} ------------------------------------------------------------------------------- - - - -Where to put curly braces -------------------------- - -Functions -~~~~~~~~~ -Opening and closing curly braces are placed on a seperate row: - ------------------------------------------------------------------------------- -int func(int params) -{ - body -} ------------------------------------------------------------------------------- - - -If, else, while, do-while -~~~~~~~~~~~~~~~~~~~~~~~~~ -See above. - - -Comments ---------- -where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - -If there is more than one line containing a comment, try to adjust them -so they look the same in width and position: - ------------------------------------------------------------------------------- - int illuminati = 23; /* do not want to comment that */ - int the_answer_to_everything = 42; /* 42. */ - - [...] - - while(illuminati < the_answer_to_everything) { /* only try before them */ - overtake_world(&self); /* overtake is complex */ - } ------------------------------------------------------------------------------- - - -Header -------- -Put a header into each file, containing: - - - Date of file being put into existence (year is enough) - - Name and e-mail (obfuscated if you want) of the author(s) - - Description of the function - - Copyright statement (if not included GPLv2 or later is assumed) - - -Includes -~~~~~~~~ -Include system headers first, then place own headers. Comment the includes, -wherefore you added them. Example: - ------------------------------------------------------------------------------- -#include /* write */ -#include "cinit.h> /* cinit_ipc_* */ ------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre10/doc/devel/communication.text deleted file mode 100644 index 08db7666..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/communication.text +++ /dev/null @@ -1,224 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -The byte order is host specific (may be little or big endian). - -Type -~~~~ -Messages are binary data. - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre10/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre10/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre10/doc/devel/ipc.text deleted file mode 100644 index 20700417..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/ipc.text +++ /dev/null @@ -1,141 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - -Abstraction layer: cinit_ipc_* ------------------------------- -You can choose or even reimplement ipc code for cinit. You only have to create -a directory below src/ipc/ and create the following necessary functions: - -int cinit_ipc_init(void); -~~~~~~~~~~~~~~~~~~~~~~~~~ -Initialise the IPC functions in cinit. - - -int cinit_ipc_listen(void); -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Never ending looping function that listens for commands and passes the -retrieved command to read_command(). - -other -~~~~~~ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - - -cinit_get_data(int ident, int size, void *data) => read size bytes from client -with ident - -/***************************************************************************** - * Functions: in clients - */ - int cinit_ipc_logon(void); /* logon to init (client init) */ - int cinit_ipc_connect(void); /* connect to init */ - int cinit_ipc_csend(void *data); /* send to the server from a client */ - - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre10/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre10/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre10/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre10/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre10/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre10/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre10/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre10/doc/man/cinit.text deleted file mode 100644 index bd9bd0ab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre10/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/man/halt.kill.text b/software/cinit/browse_source/cinit-0.3pre10/doc/man/halt.kill.text deleted file mode 100644 index 4a31e257..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/man/halt.kill.text +++ /dev/null @@ -1,46 +0,0 @@ -halt.kill(8) -============ -Nico Schottelius - - -NAME ----- -halt.kill - Halts systems running cinit through a kill call - -SYNOPSIS --------- -'halt.kill' - - -DESCRIPTION ------------ -You normally halt your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to halt -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute halt.kill, your system will be halted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/man/poweroff.kill.text b/software/cinit/browse_source/cinit-0.3pre10/doc/man/poweroff.kill.text deleted file mode 100644 index 62807ba1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/man/poweroff.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -poweroff.kill(8) -================ -Nico Schottelius - - -NAME ----- -poweroff.kill - Halts and powers off systems running cinit through a kill call - -SYNOPSIS --------- -'poweroff.kill' - - -DESCRIPTION ------------ -You normally poweroff your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to poweroff -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute poweroff.kill, your system will be - powered off. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), reboot.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/man/reboot.kill.text b/software/cinit/browse_source/cinit-0.3pre10/doc/man/reboot.kill.text deleted file mode 100644 index a748553e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/man/reboot.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -reboot.kill(8) -============== -Nico Schottelius - - -NAME ----- -reboot.kill - Reboots systems running cinit through a kill call - -SYNOPSIS --------- -'reboot.kill' - - -DESCRIPTION ------------ -You normally reboot your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to reboot -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute reboot.kill, your system will be - rebooted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), poweroff.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre10/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/NEW_using_cinit_freebsd b/software/cinit/browse_source/cinit-0.3pre10/doc/user/NEW_using_cinit_freebsd deleted file mode 100644 index 05499166..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/NEW_using_cinit_freebsd +++ /dev/null @@ -1,21 +0,0 @@ -11:33 < mux> from sys/kern/init_main.c: -11:33 < telmich> mux: that's true; I just tried with linux and I tell the - bootloader, who tells the kernel then -11:33 < mux> static char init_path[MAXPATHLEN] = -11:33 < mux> #ifdef INIT_PATH __XSTRING(INIT_PATH); -11:33 < mux> #else -"/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall"; -11:33 < mux> #endif -11:33 < mux> but you give a loader tunable -11:34 < mux> if ((var = getenv("init_path")) != NULL) { -11:34 < mux> strlcpy(init_path, var, sizeof(init_path)); -11:34 < mux> freeenv(var); -11:34 < mux> } -11:34 < mux> here you are -11:34 < telmich> ahh, that's good -11:34 * telmich has to try cinit on freebsd the next days :-) -12:34 < mux> (s/you give/you can give/) -11:35 < mux> so, simply init_path)="/sbin/cinit" in /boot/loader.conf should do - it -11:35 < mux> minus the typo - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre10/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/configuring.cinit.text deleted file mode 100644 index c04da745..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/configuring.cinit.text +++ /dev/null @@ -1,327 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - -The cinit configuration consists of -- a special configuration directory -- and the service definitions. - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - -Conf ----- -The special configuration directory is normally called `conf/` -(defined at compile-time in `conf/c_confdir`). - -For all executables into this directory apply the same rules as mentioned -below in "Execution: on and off": Appened .params specifies parameters, -appended .env specifies environment. - - -conf/last -~~~~~~~~~ -This is the last part that will be executed. After it has finished, cinit -will halt, power-off or reboot your machine. - -You can use it for whatever task to accomplish (as most things of cinit), but -the idea behind it is to use it for cleaning up things that are not covered -by the off parts of the services. This maybe swapoff (although this is an unecessary -call before poweroff, imho and even if needed this could be handled within the -off part of the same services that enabled it) or `umount -a` for everything -manually mounted and not unmounted yet. - - -conf/sleep_before_kill -~~~~~~~~~~~~~~~~~~~~~~ -This file contains just one line: The number of seconds to sleep after SIGTERM was sent -to every remaining process before sending SIGKILL to all processes. If this file -is unreadable or not existent, cinit will fall back to the value compiled in -(which was specified at build time in conf/sleep_kill). - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start). - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - - -Debugging the configuration ----------------------------- -Use `ls -lR /etc/cinit` or one of the tools found in contrib+tools/. - - -Examples --------- -Currently there are some example configurations available -at http://unix.schottelius.org/cinit/samples/cinit-0.3/, sorted -by host on which they are created. - -In near future, there will also be a file name configuration.example.text, -which will lead you to a sample configuration. - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/daemons.backgrounding.text deleted file mode 100644 index 1218f9a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,83 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- dovecot [imap/pop3 server]: -F -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- freeradius [radiusd]: -f -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openpbx [pbx]: -f -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre10/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre10/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre10/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/problems-and-solutions.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/problems-and-solutions.text deleted file mode 100644 index 92cdd241..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/problems-and-solutions.text +++ /dev/null @@ -1,33 +0,0 @@ -cinit - Problems occured and solutions used -=========================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2007-05-28 -:Author Initials: NS - -This documentes describes real problems people had with -cinit and their appropriate solutions. Feel free to add -your problems and solutions here. - - -Introduction ------------- - - -Adding problems and solutions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Simply add your problem and solution and sign your paragraph -with your name. Then send the diff -u to the cinit mailinglist -or setup a git-repository so I can pull the changes. - - -Hibernate ---------- -uses /sbin/runlevel, which should *not* respond with 0 or 6 -as the second number. As cinit does not have /sbin/runlevel, -because cinit does not have any runlevels, you could hardcode -it to values hibernate accepts: - ----------------------------------------------------------------------- -#!/bin/sh -echo N 2 ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/problems.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/problems.text deleted file mode 100644 index 4fe8a315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/problems.text +++ /dev/null @@ -1,114 +0,0 @@ -Problems using cinit -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-24 -:Author Initials: NS - - -Using a high-speed, true dependency aware, profile supporting -logical acting and reliable init system like cinit is not -completly problem free. This document describes some common -problems you may have and their solutions. - - -Possible problems ------------------ - -Confused users -~~~~~~~~~~~~~~ -Compared to traditional init systems like sys-v-init or bsd-init -cinit introduces a complet new boot concept. This does not just -mean that you have services instead of shell-scripts (which is -one reason cinit is starting up faster), but also that the boot -order may be changed dynamically at bootup:, if a service fails. -And even if no service fails, the boot order may be different -on each boot, because processes are started in parallel and -may return earlier or later on each boot. To coordinate the -parallel running processes, cinit uses depencies, which are pretty -easy to understad when configurung, but may need some more -detailled watching at boot to understand it. - -The 'confused users'-problem is perhaps also the biggest -problem for introducing cinit as a replacement to current -init systems. - - -Configuration issues -~~~~~~~~~~~~~~~~~~~~ - -Not marking services as respawn -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When cinit starts, it will wait for every service to exit. -So if you have a dependency on a service -that never exits, the whole init process may hang (dependending -on the dependencies). If you have services that are intendet -*not* to exit after start, you *have* to mark those with -`respawn`: Those services are started and watched by cinit -and will be restarted. This was a design choice to ensure -that all 'always running' processes *are* restarted. - -I did not find any service that should not exit and not -have a respawn flag. If you really really really have such -a service and you can prove to me that the respawn flag -would do harm to your system, I will think about implementing -a flag that tells cinit not to wait for it, but mark it -as successfully run after it has been started. - -User interaction -~~~~~~~~~~~~~~~~ - -User input -~~~~~~~~~~ -There may be the situation that you have to press a key -or enter some data when a service starts up (like entering -the password for your crypto harddisks). With cinit, this -will look like a mess, because other services may write to -the same console the service wrote a user prompt. - -The best solution for this problem is in my humble -opinion to create an user-input daemon that serialises -the requests and displays one after another. - -This could look like this: Your daemon wants to ask for -a passphrase for the SSL-certificate. You add aa needs -to this daemon to the 'input-daemon'. When you -start this service, it will contact the input-daemon -running on another virtual console and displaying a text -and an input field that is passed back to this service. -After that the input daemon changes back to the initial -console or asks for the next input, if there is another -request available. - -This input daemon may also be run on a graphical (X11) display. -. -Output to the user -~~~~~~~~~~~~~~~~~~ -When cinit starts up there may be many messages printed -out that also may look like printed random order. -To prevent your endusers from being confused you can create -some kind of graphical interface (like a framebuffer -or X11 display) that reads the output of cinit and converts -it to flashing images. It could look like this: - ----------------------------------------------------------------------- - - Your (graphical?) display: - -------------------------------------------------------------- - | /-----------------\ | - | | Red border, | | - | | failed to start | | - | \-----------------/ | - | | - | /------ | - | | Green border, | - | image van | - | | - | | - | | - | | - | | - | | - -------------------------------------------------------------- - - ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre10/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/respawning-sleep.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/respawning-sleep.text deleted file mode 100644 index 24ed17e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/respawning-sleep.text +++ /dev/null @@ -1,52 +0,0 @@ -cinit - Respawning and sleeping -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-13 -:Author Initials: NS - - -How cinit sleeps, before a service is respawned. - -Introduction ------------- -When a service, that is configured to be respawning, exits cinit restarts it. -Because services may be broken and thus cinit would try to restart it many -times in a second, it is necessary to sleep between restarts. - -The big question: How to sleep? ------------------------------------- -The first possibility is to sleep a fixed amount of time between restarts: -For instance one second. This is not a good solution, because this waits -one unecessary second if the process just crashed. It may be too less, if -the service is really broken. - -The second possibility is to sleep a dynamic amount of time. - - -The next big question: How long to sleep? ------------------------------------------ -I think that as long as a service is broken we should not investigate to much -time into restarting it. So we can define a maximum amount of time to sleep -(for instance 30 seconds). The minimum amount of time to sleep is zero seconds. - -When the service is first started, the sleep time defaults to the minimum -amount of time. Each time the service is restarted, the sleep time is adjusted: - -sleep time (st) = Maximum sleep time (mst) / Time the process was running (tr) - -- If tr is < 1 it is adjusted to 1 and thus st is set to mst. -- If tr is > mst, st is set to 0. - - -How to force restart of a service? ----------------------------------- -Use cvsc (to be implemented). - - -Hom is it implemented? ----------------------- -Everytime cinit has to respawn a service it has to fork() itself. -The sleep call is implemented in the fork, so cinit itself does not have -to care about it. After the sleep time is over or the fork() recieves -SIGALARM it executes the real service. cinit itself records as start time -the current time plus sleep time. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre10/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre10/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre10/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre10/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/cconfig.mk.makefile b/software/cinit/browse_source/cinit-0.3pre10/scripts/cconfig.mk.makefile deleted file mode 100644 index 822addce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/cconfig.mk.makefile +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-20, 0110 CEST -# cconfig: create makefile from conf/ directory -# currently: all files -# later: only built-defines -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "#" -echo "# Warning: Autogenerated by $0, do not edit. " -echo "#" -for conf in ${CONFS}; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - echo "${NAME}=${value}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.read-conf deleted file mode 100644 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/README b/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/README deleted file mode 100644 index 64c0d174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/README +++ /dev/null @@ -1 +0,0 @@ -Scripts used to generate or aid in creating a configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/freebsd/create_services.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/freebsd/create_services.sh deleted file mode 100644 index 52e123a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/freebsd/create_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to create from stdin -# Create services (add correct dependencies) -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/freebsd/enable_services.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/freebsd/enable_services.sh deleted file mode 100644 index ce4563a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/freebsd/enable_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to enabled from stdin -# Services must already exist -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/freebsd/search_enabled_services.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/freebsd/search_enabled_services.sh deleted file mode 100644 index 69e519b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/freebsd/search_enabled_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search for enabled services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/freebsd/search_services.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/freebsd/search_services.sh deleted file mode 100644 index 2043e857..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/configuration/freebsd/search_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search all services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of all services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/cinit.release b/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/cinit.release deleted file mode 100644 index 2afc436e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/cinit.release +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: ls -l - -# only release if I tell it to release -[ "$1" = "now" ] || exit 23 - -#if [ $# -ne 2 ]; then -# echo "This is a maintainer-only script to release cinit" -# echo $(basename $0): source-dir version -# exit 1 -#fi - -set -x - -# paths -DIR="$(cd $(dirname $0)/../../; pwd -P)" -DDIR="$(cd $(dirname $0)/../../../; pwd -P)" -RDIR=$(basename "$DIR") - -# version -VERSION="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')" -VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')" -VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):$/\1/')" -OUT_NAME="cinit-${VERSION}.tar.bz2" - -# remote -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ -LINK=current - -echo "=> Version directory: $VERSION" -echo "=> Version conf/version: $VERSION_CONF" -echo "=> Version CHANGES: $VERSION_CHANGES" - -if [ "$VERSION" = "$VERSION_CONF" -a "$VERSION" = "$VERSION_CHANGES" ]; then - echo "=> Version confirmed." -else - echo "*** VERSION MISMATCH ***" - exit 42 -fi - -echo -n "=> Continue? " -read yes - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -# do the work! -( cd "$DIR" && make dist ) || exit 1 - -echo "Creating bzip2 compressed tar" -cd $DDIR -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$RDIR" -chmod 0644 "$OUT_NAME" - -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" - -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" - -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$RDIR\" \"$LINK\"" - -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/compile+run.sh deleted file mode 100644 index 30ec68a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/compile+run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -if [ ! "$1" ]; then - echo "HOSTNAME" - exit 23 -fi - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$host" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/compile_local.sh deleted file mode 100644 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/compile_run_as_compiler.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/compile_run_as_compiler.sh deleted file mode 100644 index f1ba01d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/compile_run_as_compiler.sh +++ /dev/null @@ -1,14 +0,0 @@ -what=$(dirname $0)/../../ -what_real=$(cd "$what" && pwd -P) -dest=~compiler/cinit-test - -set -e -sudo rsync -av "${what_real}/" "$dest" -sudo chown -R compiler "$dest" -sudo -u compiler "${dest}/scripts/internal/compile_local.sh" -sudo -u compiler "${dest}/src/cinit" & -sleep 13 -sudo -u compiler "${dest}/scripts/internal/stop_cinit.sh" - -# exit 0 for make -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/compile_test.sh deleted file mode 100644 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/create_test_config.sh deleted file mode 100644 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/find_right_version.sh deleted file mode 100644 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/stop_cinit.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/stop_cinit.sh deleted file mode 100644 index 86e4d82b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/stop_cinit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Linux specific, but don't care, I am the only person that should use it - -killall -TERM cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/test_on_hosts.sh deleted file mode 100644 index e6df35ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net bot.unixkiste.org suckz.eu jiffies.forkbomb.ch" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/valgrind deleted file mode 100644 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre10/scripts/report.compile deleted file mode 100644 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre10/scripts/wrapper/linux-sysvinit/shutdown b/software/cinit/browse_source/cinit-0.3pre10/scripts/wrapper/linux-sysvinit/shutdown deleted file mode 100644 index ce413d17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/scripts/wrapper/linux-sysvinit/shutdown +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-cinit /at/ schottelius.org) -# 2007-05-21 -# Behave as being shutdown from Linux' sysvinit - -# parse options, display usage - -# all the functions - -usage() -{ - -cat << cinit_usage - -*** cinit linux-sysvinit shutdown wrapper *** - -Usage shutdown [-akrhHPfnc] [-t secs] time [warning message] - -a: use /etc/shutdown.allow - -k: don't really shutdown, only warn. - -r: reboot after shutdown. - -h: halt after shutdown. - -P: halt action is to turn off power. - -H: halt action is to just halt. - -f: do a 'fast' reboot (skip fsck). - -F: Force fsck on reboot. - -n: do not go through "init" but go down real fast. - -c: cancel a running shutdown. - -t secs: delay between warning and kill signal. - ** the "time" argument is mandatory! (try "now") ** - -You can also call "cmd" directly instead of using this wrapper. - -cinit_usage - -} - -# the main part -usage diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre10/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre10/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2007-02-23-202443 b/software/cinit/browse_source/cinit-0.3pre10/size/2007-02-23-202443 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2007-02-23-202443 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2007-02-23-202720 b/software/cinit/browse_source/cinit-0.3pre10/size/2007-02-23-202720 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2007-02-23-202720 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2007-03-07-231936 b/software/cinit/browse_source/cinit-0.3pre10/size/2007-03-07-231936 deleted file mode 100644 index c2ef3d0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2007-03-07-231936 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71213 2007-03-07 23:18 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/size/2007-04-06-011811 b/software/cinit/browse_source/cinit-0.3pre10/size/2007-04-06-011811 deleted file mode 100644 index 73de8724..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/size/2007-04-06-011811 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71281 2007-04-06 01:17 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/Makefile b/software/cinit/browse_source/cinit-0.3pre10/src/Makefile deleted file mode 100644 index 9639727e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/Makefile +++ /dev/null @@ -1,142 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -#include Makefile.tests - -# Build tools / locations -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin - -# directories and files -CONFIG_H=include/config.h - -BIN=cinit halt.kill poweroff.kill reboot.kill cmd - -# -# All objects depend on headers. More or less. FIXME: use gcc -M -# -CINIT_HEADERS=$(shell cat include/listing) - -CINIT_OBJ=$(shell cat object_lists/cinit) -HALTKILL_OBJ=$(shell cat object_lists/halt.kill) -POWEROFFKILL_OBJ=$(shell cat object_lists/poweroff.kill) -REBOOTKILL_OBJ=$(shell cat object_lists/reboot.kill) -CMD_OBJ=$(shell cat object_lists/cmd) - -# -# Client modules -# -OBJ=$(CINIT_OBJ) $(HALTKILL_OBJ) $(POWEROFFKILL_OBJ) $(REBOOTKILL_OBJ) - -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: $(BIN) - - -# -# Generic -# -$(OBJ): $(CINIT_HEADERS) - -%.o: %.c - $(CC) -c -o $@ $< - - - -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -$(CINIT_OBJ): $(CONFIG_H) - - -$(CONFIG_H): ../conf/* - ../scripts/cinit.mkheader > $(CONFIG_H) - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -#install: install-dir cinit cservice ccontrol -install: $(BIN) - @echo '*** Installing cinit ***' - cp $^ /sbin -# ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# -cinit: $(CINIT_OBJ) - $(LD) $^ -o $@ - -halt.kill: $(HALTKILL_OBJ) - $(LD) $^ -o $@ - -poweroff.kill: $(POWEROFFKILL_OBJ) - $(LD) $^ -o $@ - -reboot.kill: $(REBOOTKILL_OBJ) - $(LD) $^ -o $@ - -cmd: $(CMD_OBJ) - $(LD) $^ -o $@ - -uml: cinit - ../../vm/uml/uml-mount.sh - cp cinit ../../vm/uml/root/sbin/cinit - ../../vm/uml/uml-umount.sh - -umlstart: uml - ../../vm/uml/uml-start.sh - -################################################################################ -# -# Generic targets -# - -.PHONY: dist -dist: distclean - -.PHONY: distclean -distclean: clean - rm -f os/current ipc/current .configured - -.PHONY: clean -clean: - rm -f ../tmpbin/*.configured - rm -f $(BIN) $(CINIT_OBJ) - rm -f client/*.o test/*.o diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre10/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre10/src/ancient/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/do_result.c b/software/cinit/browse_source/cinit-0.3pre10/src/ancient/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre10/src/ancient/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre10/src/ancient/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre10/src/ancient/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre10/src/ancient/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre10/src/ancient/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre10/src/ancient/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/run_init_svc2.c b/software/cinit/browse_source/cinit-0.3pre10/src/ancient/run_init_svc2.c deleted file mode 100644 index b613ed6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/run_init_svc2.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre10/src/ancient/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/run_svc.c b/software/cinit/browse_source/cinit-0.3pre10/src/ancient/run_svc.c deleted file mode 100644 index 95cc324d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre10/src/ancient/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ancient/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/client/cmd.c b/software/cinit/browse_source/cinit-0.3pre10/src/client/cmd.c deleted file mode 100644 index e74fb666..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/client/cmd.c +++ /dev/null @@ -1,108 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cmd - the cinit client program - sends commands to cinit - */ - -/* --e: enable service (including dependencies) --eo: enable only the service without dependencies --en: enable service and what it needs, but not its wants - --d: disable service (including needs) --do: disable only the service without dependencies --dw: disable service and needs, but not the wants - --h: halt --p: poweroff --r: reboot - -*/ - -/* #define USAGE_TEXT "cmd - cinit management\n\n" \ - "Usage:\n\ncmd -[phurs]\n" \ - " -s - Service operation\n\n" \ - " start: Start service\n" \ - " start: Start service\n" \ - "\t-s\t- (service) Power off the system\n" \ - "\t-s\t- (service) Power off the system\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -*/ - -/* Arguments: - - -e: enable service - -d: disable service - - -o: only: omit dependencies on disable / enable - - -h: halt system - -r: reboot system - -p: power off - - -*/ - -#define C_USAGE(error) usage(USAGE_TEXT,error) -#define LOG(a,b) mini_printf(a,1); minit_printf(b,1); - -#include /* getopt */ - -#define OPTIONS "deohpr" - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - int opt; - - while((opt = getopt(argc,argv,OPTIONS)) != -1) { - switch(opt) { - case 'p': /* power off */ - // LOG(MSG_POWER_OFF); - // msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ -// mini_printf(",1); -// cinit_halt(); - break; - - case 'r': /* reboot */ - // LOG(MSG_REBOOT); - // msg_reboot(CMD_REBOOT); - break; - - default: - // C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - } - - /* argv */ -/* if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); -*/ - return 0; -} -/* - case 's': - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - -*/ diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/client/halt.kill.c b/software/cinit/browse_source/cinit-0.3pre10/src/client/halt.kill.c deleted file mode 100644 index 38c31c92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/client/halt.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Halt the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "cinit.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_HALT) == -1) { - print_errno(MSG_HALT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/client/poweroff.kill.c b/software/cinit/browse_source/cinit-0.3pre10/src/client/poweroff.kill.c deleted file mode 100644 index aa95acd5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/client/poweroff.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "cinit.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_POWEROFF) == -1) { - print_errno(MSG_POWEROFF_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/client/reboot.kill.c b/software/cinit/browse_source/cinit-0.3pre10/src/client/reboot.kill.c deleted file mode 100644 index b329dd60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/client/reboot.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "cinit.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_REBOOT) == -1) { - print_errno(MSG_REBOOT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/comm/README b/software/cinit/browse_source/cinit-0.3pre10/src/comm/README deleted file mode 100644 index 74a0b376..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/comm/README +++ /dev/null @@ -1,20 +0,0 @@ -All abstracted communication functions. Do not depend on the underlying -inter process communication mechanism. - - - send_command(): client function: sends a command to cinit - - send_service(): client function: send the service name to operate on - - - read_command(): server function: reads beginning of a command - * Extracts the command - * reads client identification (=pid) - * calls other functions, depending on the command send => switch() - - read_service(): server function: reads service - - - write_answer(): server function: answer? - * sends answers to clients => senseful? - - - TODO: - - define information function, that returns various information about - a service - diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/comm/read_command.c b/software/cinit/browse_source/cinit-0.3pre10/src/comm/read_command.c deleted file mode 100644 index 8226bef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/comm/read_command.c +++ /dev/null @@ -1,58 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cinit reads a command sent by a client, called by ipc listener - * - */ - -#include "comm.h" /* message struct definition */ -#include "reboot.h" /* reboot abstraction layer */ - -void read_command(struct s_cmd cmd) -{ - switch(cmd.cmd) { - case CMD_SVC_START: - nextbytes= ... - data - break; - - case CMD_SVC_START_ONLY: - break; - - case CMD_SVC_START_NEEDS: - break; - - case CMD_SVC_STOP: - break; - - case CMD_SVC_STOP_ONLY: - break; - - case CMD_SVC_STOP_WANTS - break; - - /* halt/shutdown/poweroff */ - case CMD_HALT: - cinit_do_halt(); - break; - - case CMD_REBOOT: - cinit_do_halt(); - break; - - case CMD_POWEROFF: - cinit_do_poweroff(); - break; - - /* return error to client */ - default: - break; - - - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/comm/send_command.c b/software/cinit/browse_source/cinit-0.3pre10/src/comm/send_command.c deleted file mode 100644 index bd2849dc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/comm/send_command.c +++ /dev/null @@ -1,15 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * A client sends a command to cinit - */ - -#include "comm.h" /* message struct definition */ - -send_command(struct s_cmd cmd) -{ - /* cinit_ipc_to_server() */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre10/src/core/build_argv.c deleted file mode 100644 index 95add5e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/core/build_argv.c +++ /dev/null @@ -1,166 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "intern.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX+1]; - char *sbuf = NULL; - char *p; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename,pathtmp,PATH_MAX)) == -1) { - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - /* FIXME check bounds! */ - strcpy(pathtmp,basename); - strcat(pathtmp,C_PARAMS); - /* ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL - * ORC_OK: Ok, have a filled buffer (perhaps NULL, too) - * other: Error, print errno - */ - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p+1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,basename); - strcat(pathtmp,C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - sbuf = p+1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre10/src/core/cinit.c deleted file mode 100644 index 384f8d3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/core/cinit.c +++ /dev/null @@ -1,94 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "intern.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ -// pid_t cpid; - - - /* FIXME: RE-ENABLE as SOON AS PRODUCTIVE cpid = getpid(); - * Is this really needed or should we lock() ourselves? - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - /* Look whether we should start a profile */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc-1], strlen(PROFILE) ) ) { - initdir = (char *) malloc( - strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc-1][strlen(PROFILE)]); - break; - } - --argc; - } - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* listen to signals */ - set_signals(ACT_SERV); - - /* pre-calculate service tree */ - if(!gen_svc_tree(initdir)) { - panic(); - } - - /* free, if we malloc()ed before */ - if(strcmp(initdir,CINIT_INIT)) { - free(initdir); - } - - /* start tree from the bottom */ - if(!tree_exec(svc_init)) { - panic(); - } - - D_PRINTF("=> cinit started.\n"); - - /* listen for incomming messages: should never return */ - if(!cinit_ipc_listen()) { - panic(); - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre10/src/core/do_reboot.c deleted file mode 100644 index c6c715be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/core/do_reboot.c +++ /dev/null @@ -1,97 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include - -#include "ipc.h" - -/* cleaned up own headers */ -#include "intern.h" /* set_signals */ -#include "svc.h" /* shutdown_services */ -#include "messages.h" /* messages */ -#include "reboot.h" /* cinit_poweroff&co */ - -/* cleaned headers */ -#include /* kill() */ - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - //char **cmd; - //int i; - - /* - * New code: - * 0. close user ipc - * - notify user! - * - do not allow user interupt anymore - * 1. shutdown services - * - notify user! - * 2. kill -TERM all processes - * - notify user! - * 3. kill -KILL all processes - * - notify user! - * 4. execute /etc/cinit/conf/{halt,reboot,poweroff} - * - notify user! - */ - - /* do not listen to client requests anymore */ - /* and tell the user what happens */ - LOG(MSG_SHUTDOWN_START); - cinit_ipc_destroy(); - set_signals(ACT_CLIENT); /* reset signal handlers */ - - /* shutdown all services: take care about the dependency tree */ - LOG(MSG_SHUTDOWN_SVC); - shutdown_services(svc_list); - - LOG(MSG_SHUTDOWN_KILL); - /* now: all services are down, let's kill all other processes */ - if(kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - if(kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* Execute the last command */ - LOG(MSG_SHUTDOWN_LAST); - execute_and_wait(CINIT_LAST); - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } - /* FIXME: should we exit? */ - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre10/src/core/panic.c deleted file mode 100644 index d3dd9459..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/core/panic.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include /* execv */ - -#include "intern.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) _exit(0); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - if(execv(SULOGIN,nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* there's nothing todo, if everything fails */ - _exit(23); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre10/src/core/set_signals.c deleted file mode 100644 index 0ebb6899..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/core/set_signals.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ -#include "intern.h" /* defines */ -#include "reboot.h" /* reboot related */ -#include "signals.h" /* reboot related */ - -void set_signals(int action) -{ - struct sigaction sa; - - sigemptyset(&sa.sa_mask); /* no other signals should be blocked */ - sa.sa_flags = 0; - - if(action == ACT_SERV) { - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - } else { - sa.sa_handler = SIG_DFL; - } - - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - sa.sa_flags = 0; /* reset flags */ - if(action == ACT_SERV) { - sa.sa_handler = do_reboot; - } - sigaction(SIG_CINIT_HALT, &sa, NULL); /* halt */ - sigaction(SIG_CINIT_POWEROFF, &sa, NULL); /* poweroff */ - sigaction(SIG_CINIT_REBOOT, &sa, NULL); /* reboot */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre10/src/core/sig_child.c deleted file mode 100644 index bdf964ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/core/sig_child.c +++ /dev/null @@ -1,93 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The child handler - * - */ - -#include /* waitpid */ -#include /* NULL */ -#include /* gettimeofday() */ /* FIXME: CHECK POSIX */ -#include /* time(),gettime.. */ /* FIXME: CHECK POSIX */ - -#include "intern.h" /* mini_printf */ -#include "svc.h" /* list_search_pid */ -#include "messages.h" /* messages/D_PRINTF */ - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - /* New code: - * - search for pid in service list - * * if (respawn) -> start new - * - insert delay? if exit code is non-zero? if uptime too less? - * * if (once) -> update service status - * * else ignore, but reap away - */ - pid_t pid; - int delay; - struct listitem *svc; -// struct timeval now; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - /* check if it's a watched child */ - svc = list_search_pid((pid_t) pid); - - //mini_printf("WHILE1: hier drinne?\n",1); - - if(svc != NULL) { - /* Check, that we are operating on it =. that it is no normal child */ - if(svc->status & ST_ONCE_RUN - || svc->status & ST_SH_RESPAWN - || svc->status & ST_RESPAWNING) { - mini_printf("WHILE: svc bekannt!\n",1); - if(WIFEXITED(tmp) && !WEXITSTATUS(tmp)) { - svc_success(svc); - } else { - svc_fail(svc); - } - } - - //mini_printf("WHILE: Vorm respawn!\n",1); - /* respawn: restart: FIXME Delay for regular dying services */ - if(svc->status == ST_RESPAWNING) { - D_PRINTF("WHILE: IM respawn!\n"); - svc_report_status(svc->abs_path,MSG_SVC_RESTART,NULL); - D_PRINTF("WHILE: IM respawn: nach report status!\n"); - - //delay = MAX_DELAY / (time(NULL) - svc->start); - /* if(gettimeofday(&now,NULL) == -1) { - print_errno(MSG_GETTIMEOFDAY);; - delay = 0; - } else { - delay = MAX_DELAY / (now.tv_sec - svc->start); - } */ - - delay = 5; - - /* int test = time(NULL); - test++; - D_PRINTF("WHILE: IM respawn / for printf!\n"); - printf("sig_child: %d, %d, %d, %d\n", - MAX_DELAY, - (int) time(NULL), - (int) svc->start, - (int) (test - svc->start) - ); */ - - // mini_printf("WHILE: Vorm SVC_START!\n",1); - svc_start(svc,delay); - } - //mini_printf("WHILE: NACH respawn!\n",1); - } else { - /* FIXME remove in production version */ - D_PRINTF("Cleanup: reparenting\n"); - } - //mini_printf("WHILE2: Ende sigchild\n",1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre10/src/generic/execute_and_wait.c deleted file mode 100644 index ab808ff1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/generic/execute_and_wait.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* fork */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* exec / child */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* wait / parent */ - waitpid(pid,&status,0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre10/src/generic/execute_sth.c deleted file mode 100644 index ac34b3ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/generic/execute_sth.c +++ /dev/null @@ -1,43 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ - -#include "intern.h" -#include "build_argv.h" -#include "messages.h" /* D_PRINTF */ - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - /* FIXME remove later */ - D_PRINTF("ES::"); - D_PRINTF(basename); - D_PRINTF("\n"); - - tmp = cinit_build_argv(basename,&bav); - if((tmp = cinit_build_argv(basename,&bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - /* tell the user what we execute */ - mini_printf(MSG_INTRO_EXEC,1); - mini_printf((bav.argv)[0],1); - mini_printf("\n",1); - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for cinit to recognize - it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre10/src/generic/file_exists.c deleted file mode 100644 index 11cda58f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/generic/file_exists.c +++ /dev/null @@ -1,64 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* errno */ -#include /* stat */ -#include /* NULL */ - -#include "intern.h" /* print_errno() */ -#include "svc.h" /* svc_report_status() */ -#include "messages.h" /* messages.. */ - -int file_exists(char *filename) -{ - struct stat buf; - - D_PRINTF("FE: "); - D_PRINTF(filename); - D_PRINTF("\n"); - - /* check: - * - is it a link? if so, is it broken? report! - * - is it non existent? -> return non-existent - * - is it existent, but not a regular file? report! - */ - if(lstat(filename,&buf) == -1) { /* lstat fails? */ - if(errno == ENOENT) { - mini_printf("NIX DA: ok.\n",1); - return FE_NOT; - } else { - mini_printf("anderer fehler.\n",1); - print_errno(filename); - return FE_ERR; - } - } else { - if(S_ISLNK(buf.st_mode)) { /* is a link */ - mini_printf("ist nen link\n",1); - - /* check link destination */ - if(stat(filename,&buf) == -1) { /* do real stat(): */ - if(errno == ENOENT) { - svc_report_status(filename,MSG_BROKENLINK,NULL); - return FE_NOLINK; - } else { - mini_printf("anderer fehler.\n",1); - print_errno(filename); - return FE_ERR; - } - } - } - } /* caught all stat() errors */ - - if(!S_ISREG(buf.st_mode)) { - svc_report_status(filename,MSG_NONREGULAR,NULL); - return FE_OTHER; - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre10/src/generic/mini_printf.c deleted file mode 100644 index d5b0d1f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd,str,(size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre10/src/generic/openreadclose.c deleted file mode 100644 index b271b410..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/generic/openreadclose.c +++ /dev/null @@ -1,66 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "intern.h" /* ORC_* */ - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - *where = NULL; - - /* what a wonderful loop */ - while((fd = open(filename,O_RDONLY)) == -1) { - if(errno == ENOENT) return ORC_ERR_NONEXISTENT; - if(errno != EINTR) return ORC_ERR_OPEN; - } - - cnt = 0; - while (1) { - tmp = read(fd,buf,512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where,cnt + 1); - if(*where == NULL) return ORC_ERR_MEM; - - /* FIXME check correctness of copied buffer... - * and get some sleep..soon, very soon! */ - strncpy(&(*where)[cnt-tmp],buf,tmp); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) continue; - return ORC_ERR_CLOSE; - } - - /* terminate string! */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre10/src/generic/path_absolute.c deleted file mode 100644 index ef8b002e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre10/src/generic/path_append.c deleted file mode 100644 index 87cc49ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/generic/path_append.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre10/src/generic/print_errno.c deleted file mode 100644 index 0286f550..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre10/src/generic/sleep_before_kill.c deleted file mode 100644 index e3c92615..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,43 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Sleep: - * read configuration, - * fallback to builtin value if not possible, - * sleep. - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE,&content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) tmp = SLEEP_KILL; - free(content); - } else { - mini_printf(MSG_BUILTIN_SLEEP,1); - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts,NULL) == -1) { - print_errno(MSG_ERR_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre10/src/generic/strip_final_newline.c deleted file mode 100644 index 4629bb9f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/generic/strip_final_newline.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) { - return NULL; - } - - p = strrchr(str,'\n'); - if(p) { - if(*(p+1) == '\0') { - *p = '\0'; /* DO NOT FORGET TO TERMINATE STRING */ - str = realloc(str,(p-str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre10/src/generic/usage.c deleted file mode 100644 index 260b4ea5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/generic/usage.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * usage: tell the user what's wrong and a help text - * - */ - -#include /* _exit() */ -#include "intern.h" /* mini_printf */ - -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre10/src/include/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/include/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/include/comm.h b/software/cinit/browse_source/cinit-0.3pre10/src/include/comm.h deleted file mode 100644 index 4fbe8c50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/include/comm.h +++ /dev/null @@ -1,81 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ -#include /* pid_t */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_MIN='A', /* minimum command number */ - CMD_SVC_START, /* the client wants US to start a service */ - CMD_SVC_START_ONLY, /* start this service without dependencies */ - CMD_SVC_START_NEEDS, /* start this service, needs, but no wants */ - CMD_SVC_STOP, /* stop svc and all svcs that need it */ - CMD_SVC_STOP_ONLY, /* we should stop _only_ this service */ - CMD_SVC_STOP_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ /* FIXME: NEEDED? */ - CMD_RESCUE, /* we should start the rescue mode */ /* UNIMPLEMENTED */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ /* UNIMPLEMENTED */ - CMD_INFO, /* send information about that service */ /* UNIMPLEMENTED */ - CMD_MAX , /* maximum command number */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * client issues a command: start_command - */ -struct s_cmd { - char cmd; - pid_t pid; -}; - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/include/intern.h b/software/cinit/browse_source/cinit-0.3pre10/src/include/intern.h deleted file mode 100644 index e37a8352..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/include/intern.h +++ /dev/null @@ -1,113 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * internal header - */ - - -#ifndef _CINIT_INTERN_H -#define _CINIT_INTERN_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_NOLINK, /* file is a broken symbolic link*/ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_LAST CINIT_CONFDIR SLASH C_LAST -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* needed by set_signals */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* core functions */ -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -//int msg_reboot(char cmd); -void print_errno(char *text); - -#endif /* _CINIT_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre10/src/include/ipc.h deleted file mode 100644 index 66b3bc86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/include/ipc.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init (client init) */ -int cinit_ipc_connect(void); /* connect to init */ -int cinit_ipc_csend(void *data); /* send to the server from a client */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/include/listing b/software/cinit/browse_source/cinit-0.3pre10/src/include/listing deleted file mode 100644 index edf4b7e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/include/listing +++ /dev/null @@ -1,9 +0,0 @@ -include/intern.h -include/comm.h -include/config.h -include/ipc.h -include/messages.h -include/os.h -include/reboot.h -include/signals.h -include/svc.h diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre10/src/include/messages.h deleted file mode 100644 index 582d4dc4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/include/messages.h +++ /dev/null @@ -1,161 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * All messages - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -/* OLD Messages to the outside */ -//#define MSG_BIND "bind" -//#define MSG_CONNECT "connect" -//#define MSG_FCNTL "fcntl" -//#define MSG_LISTEN "listen" -//#define MSG_SOCKET "socket" -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# include -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) {} -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ - -/* services: how they should be printed - * /etc/cinit/svc/long/name: started once - * /etc/cinit/svc/long/name: is respawning - * /etc/cinit/svc/long/name: FAILED (why it happened) - */ - -#define MSG_INTRO_CINIT "cinit:" -#define MSG_INTRO_SPACE MSG_INTRO_CINIT " " -#define MSG_INTRO_SVC MSG_INTRO_CINIT -//#define MSG_INTRO_SVC MSG_INTRO_CINIT "service:" -#define MSG_INTRO_STOP MSG_INTRO_CINIT "stop: " -#define MSG_INTRO_EXEC MSG_INTRO_CINIT "exec: " - -/* FIXME: remove/append, but no intro! */ -#define MSG_INTRO_FAIL "FAILED " -#define MSG_INTRO_RESPAWN MSG_INTRO_CINIT "respawn: " -#define MSG_INTRO_OK MSG_INTRO_CINIT "ok: " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" - - -#define MSG_BUILTIN_SLEEP MSG_INTRO_STOP "Using built-in sleep" - -#define MSG_TREE_EXEC MSG_INTRO_SPACE "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_FATAL_PANIC MSG_INTRO_SPACE "I tried everything, but even panic() failed: " -#define MSG_ERR_SLEEP MSG_INTRO_SPACE "Sleep did not succeed" -#define MSG_GETTIMEOFDAY MSG_INTRO_SPACE "gettimeofday() failed!" - -/* execution */ -//#define MSG_EXECUTING MSG_INTRO_EXEC - -/* stat() errors */ -#define MSG_NONREGULAR "Is not a regular file." -#define MSG_BROKENLINK "Is a broken link." - -/* Service messages */ -#define MSG_SVC_START "Starting... " -#define MSG_SVC_STOP "Stoping... " -#define MSG_SVC_RESTART "Restarted." -#define MSG_SVC_SLEEP "Sleeping before restart" -#define MSG_SVC_OK_ONCE "Started once." -#define MSG_SVC_OK_RESPAWN "Is respawning." - -/* Status messages */ -#define MSG_SHUTDOWN_START MSG_INTRO_STOP "\nBeginning the shutdown process..." -#define MSG_SHUTDOWN_SVC MSG_INTRO_STOP "Shutting down services now..." -#define MSG_SHUTDOWN_KILL MSG_INTRO_STOP "Killing remaining processes..." -#define MSG_SHUTDOWN_LAST MSG_INTRO_STOP "Executing final service..." -#define MSG_POWER_OFF MSG_INTRO_STOP "Powering off..." -#define MSG_HALT MSG_INTRO_STOP "Halting system ..." -#define MSG_REBOOT MSG_INTRO_STOP "Rebooting ..." - -/* client messages */ -#define MSG_HALT_KILL "halt.kill" -#define MSG_REBOOT_KILL "reboot.kill" -#define MSG_POWEROFF_KILL "poweroff.kill" - - -/* reboot */ -#define MSG_TERMKILL MSG_INTRO_FAIL "SIGTERM" -#define MSG_KILLBILL MSG_INTRO_FAIL "SIGKILL" - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre10/src/include/os.h deleted file mode 100644 index b3320c0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/include/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/include/reboot.h b/software/cinit/browse_source/cinit-0.3pre10/src/include/reboot.h deleted file mode 100644 index cd8a345e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/include/reboot.h +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot specific functions - * - */ - -#ifndef CINIT_REBOOT_HEADER -#define CINIT_REBOOT_HEADER - -/***************************************************************************** - * the main reboot function - */ -void do_reboot(int signal); - - -/***************************************************************************** - * os specific functions - */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - - -/***************************************************************************** - * Functions: abstract do_reboot - */ -#define cinit_do_reboot() do_reboot(SIGHUP) -#define cinit_do_halt() do_reboot(SIGUSR1) -#define cinit_do_poweroff() do_reboot(SIGTERM) - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/include/signals.h b/software/cinit/browse_source/cinit-0.3pre10/src/include/signals.h deleted file mode 100644 index a51e402d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/include/signals.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Define signals to use: needs signal.h to be included before. - */ - -#ifndef CINIT_SIGNALS_HEADER -#define CINIT_SIGNALS_HEADER - -#define SIG_CINIT_HALT SIGUSR1 -#define SIG_CINIT_POWEROFF SIGTERM -#define SIG_CINIT_REBOOT SIGHUP - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre10/src/include/svc.h deleted file mode 100644 index 1f78e427..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/include/svc.h +++ /dev/null @@ -1,129 +0,0 @@ -/*********************************************************************** - * - * 2006,2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - - -#ifndef _CINIT_SVC_H -#define _CINIT_SVC_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char *abs_path; /* name of service */ - long int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - time_t start; /* time the process was started last time */ - - - struct dep *wanted; /* list of services that want this service */ - struct dep *needed; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *svc_init; /* the services to start */ -extern struct listitem *svc_list; /* the list of services */ - -/* list functions */ -struct listitem *list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); -//int list_display_all(); /* debug only */ - - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -int svc_set_status(struct listitem *li, int status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void svc_start(struct listitem *li, int delay); -void shutdown_services(struct listitem *start); - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -/*********************************************************************** - * status of a service and return codes - errors and success - */ -enum svc_status_old { - ST_TMPNOW=1, /* the client is now starting the service NEEDED??? */ - ST_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - - ST_OFF, /* service is off */ - ST_OFF_ALL, /* service and those that need it are off */ - ST_OFF_ALL_F, /* same, but something failed */ - ST_OFF_WANTS, /* service + those that need or want it are off */ - ST_OFF_WANTS_F, /* same, but something failed */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ -}; - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum svc_status { - /* first define basics */ - ST_SH_ONCE = 0x1, /* service SHould be started once */ - ST_SH_RESPAWN = 0x2, /* service SHould respawn */ - ST_ONCE_OK = 0x4, /* service was successfully started once */ - ST_ONCE_FAIL = 0x8, /* service failed to start */ - ST_RESPAWNING = 0x10, /* service is respawning */ - ST_NEED_FAILD = 0x20, /* this service is not started, need failed */ - ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - ST_ONCE_RUN = 0x100 /* the once process is currently running */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum svc_needs_status { - SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - SNS_NEEDS_FAILED, /* one ore more needs failed */ - SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq-rt/README b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq-rt/README deleted file mode 100644 index cc1a1b7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq-rt/README +++ /dev/null @@ -1,2 +0,0 @@ -This implementation uses the new realtime inferface of -posix instead of the old one functions. diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq-rt/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq-rt/cinit_ipc_init.c deleted file mode 100644 index ef22b6d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq-rt/cinit_ipc_init.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include - -#include "cinit.h" -#include "config.h" -#include "msgq-rt.h" - -int cinit_ipc_init(void) -{ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq-rt/mq_open.c b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq-rt/mq_open.c deleted file mode 100644 index 445e7dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq-rt/mq_open.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -int main() -{ - mqd_t readq = mq_open("/test",O_RDWR|O_CREAT|O_EXCL); - //mqd_t readq = mq_open("/bin/ls",O_RDWR|O_CREAT|O_EXCL); - - if(readq == -1) { - perror("oh nein"); - return 1; - } - mqd_t writeq = mq_open("/bin/cp",O_WRONLY|O_CREAT|O_EXCL); - if(readq == -1) { - perror("oh oh nein"); - return 1; - } -} - - diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq-rt/msgq-rt.h b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq-rt/msgq-rt.h deleted file mode 100644 index d09a2808..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq-rt/msgq-rt.h +++ /dev/null @@ -1,39 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#define MSGQ_PATHNAME "/cinit" /* identifier */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index aa0f27c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ - -#include "msgq.h" /* mq_in, mq_out */ -#include "intern.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(mq_in,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(mq_out,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index 67edc538..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,46 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* message queue */ - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_in = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_in == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* to_client */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_out = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index 30a5d5bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,59 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* printf() */ - -#include /* ftok */ -#include /* msgget */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "config.h" -#include "msgq.h" -#include "comm.h" /* the cmd struct */ - -int cinit_ipc_listen(void) -{ - int tmp; - - //struct msg_client m_client; - - struct s_cmd cmd; - - while (1) { - mini_printf("IPC loop\n",1); - - tmp = msgrcv(mq_in,&cmd,(sizeof cmd),0,0); - - if(tmp == -1) { - if(errno != EINTR) { - print_errno(MSG_MSGQ_MSGRCV); - } - continue; - } - - printf("pid: %d, cmd: %c\n",cmd.pid,cmd.cmd); - - //read_command(cmd); - - /* use pid as the message type - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - return 0; - } */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index c279bf58..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "intern.h" /* print_errno */ -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - key_t k_in, k_out; /* FIXME: remove one variable */ - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - k_out = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_sclose.c b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_sclose.c deleted file mode 100644 index a2e3d992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/cinit_ipc_sclose.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Close the ressources from the server, clean state for forks. - * - */ - -int cinit_ipc_sclose(void) -{ - return 1; /* nothing to do when using message queues */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/msgq.h deleted file mode 100644 index 01c6e769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * part of cinit - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define MSGQ_TO_SERVER 'i' /* also for ftok */ -#define MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables - */ -int mq_in; /* input */ -int mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_FTOK "ftok" -#define MSG_MSGQ_MSGGET "msgget" -#define MSG_MSGQ_MSGRCV "msgrcv" -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/socket+linux-tmpfs/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/socket+linux-tmpfs/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/socket+linux-tmpfs/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/socket+linux-tmpfs/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre10/src/ipc/socket+linux-tmpfs/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/ipc/socket+linux-tmpfs/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/libcinit/README b/software/cinit/browse_source/cinit-0.3pre10/src/libcinit/README deleted file mode 100644 index 096cc779..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/libcinit/README +++ /dev/null @@ -1,22 +0,0 @@ -Build a small library that can be used by different applications, that provides: - - Constants / Macros: - for cinit_halt: - CINIT_HALT - CINIT_REBOOT - CINIT_POWEROFF - - for cinit_svc_start/stop: - CINIT_SVC_NORMAL - CINIT_SVC_NEEDS - CINIT_SVC_ONLY - CINIT_SVC_WANTS - - Functions: - void cinit_halt(int how); - int cinit_svc_start(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - -This lib must then include: - - choosen ipc functions diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/libcinit/cinit_halt.c b/software/cinit/browse_source/cinit-0.3pre10/src/libcinit/cinit_halt.c deleted file mode 100644 index c388ba89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/libcinit/cinit_halt.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cinit_halt(): call for library - */ - - -#include "" /* include global header */ -int cinit_halt(int how) -{ - switch(how) { - case 'p': /* power off */ - break; - - default: - break; - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/cinit deleted file mode 100644 index b080f1b2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/cinit +++ /dev/null @@ -1,51 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/set_signals.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/gen_halt_tree.o -svc/list_delete.o -svc/list_insert.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/shutdown_services.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_start.o -svc/svc_fail.o diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/cmd b/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/cmd deleted file mode 100644 index 92add0a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/cmd +++ /dev/null @@ -1 +0,0 @@ -client/cmd.o diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/halt.kill b/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/halt.kill deleted file mode 100644 index e5b12a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/halt.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/halt.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/poweroff.kill b/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/poweroff.kill deleted file mode 100644 index 306fc0bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/poweroff.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/poweroff.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/reboot.kill b/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/reboot.kill deleted file mode 100644 index f851badf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/object_lists/reboot.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/reboot.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre10/src/os/freebsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre10/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre10/src/os/freebsd/poweroff.c deleted file mode 100644 index c73dd079..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre10/src/os/freebsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre10/src/os/linux/halt.c deleted file mode 100644 index 5ee3eb53..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre10/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre10/src/os/linux/poweroff.c deleted file mode 100644 index c7d2b1c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre10/src/os/linux/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre10/src/os/netbsd/halt.c deleted file mode 100644 index 972aecf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/netbsd/halt.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre10/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre10/src/os/netbsd/poweroff.c deleted file mode 100644 index 17d7b259..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre10/src/os/netbsd/reboot.c deleted file mode 100644 index 14313e17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/netbsd/reboot.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre10/src/os/openbsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre10/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre10/src/os/openbsd/poweroff.c deleted file mode 100644 index bf4120e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre10/src/os/openbsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/check_add_deps.c deleted file mode 100644 index 36d8a2cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/check_add_deps.c +++ /dev/null @@ -1,128 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers, check: - * getcwd */ -#include - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" -#include "svc.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - /* FIXME remove in production */ - D_PRINTF("CAD::"); - D_PRINTF(svc->abs_path); - D_PRINTF("\n"); - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf,C_NEEDS)) return 0; - } else { - if(!path_append(buf,C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent=readdir(d_tmp))!=NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* skip non-working directories / broken links - * path_absolute reports errors on failure */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - dep_entry_add(&(new_svc->needed),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs),deps); - } else { - dep_entry_add(&(new_svc->wanted),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants),deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/dep_create.c deleted file mode 100644 index 691d66b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/dep_create.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/dep_entry_add.c deleted file mode 100644 index 2ac16443..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/dep_entry_add.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(*deplist == NULL) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/dep_entry_del.c deleted file mode 100644 index ab822a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/dep_entry_del.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ - -#include "svc.h" /* struct *dep */ - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* last service in the list */ - if(del->next == del && del->prev == del) { - tmp=NULL; - } else { - /* remove from list */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/dep_needs_wants_add.c deleted file mode 100644 index 58e18b14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,65 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ - -#include "svc.h" /* struct *dep */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed; - } else { - end = svc->wanted; - } - - /* Place to the first dependency of this service */ - tmp = end; - if(tmp != NULL) { - do { - /* Add service to the starter list, which - * - should be started once - * - should be respawned (both VIRGIN services!) - * - and which are not already in the list! - */ - if(((tmp->svc->status & ST_SH_ONCE) || - (tmp->svc->status & ST_SH_RESPAWN)) && - !(tmp->svc->status & ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= ST_IN_LIST; - dep_entry_add(list,new); - } - /* FIXME: Clearify if we should go forward or backwards? - * this decision will influence starting order - * and may thereby add a minimal mount of speed enhancement - * - * As far as I can see it is not predictable, which way is - * better, because it heavily depends on the other services. - * - * If you know better, provide me with a patch ;-) - */ - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/gen_halt_tree.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/gen_halt_tree.c deleted file mode 100644 index fc297de7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/gen_halt_tree.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * This function reads the full service tree and generates - * a list of services to begin shutdown (those that are not - * wanted or needed by any other service). - */ - -#include /* NULL */ - -#include "svc.h" /* structs */ -#include "intern.h" /* structs */ - -struct dep *gen_halt_list(struct listitem *svc_tree) -{ - struct dep *list = NULL, *new = NULL; - struct listitem *tmp; - - /* no tree? nothing to shutdown. */ - if(!svc_tree) { - return NULL; - } - - /* find all services that do not depend on other services: - * - empty wants? (currently ignore them) - * - empty needs! - */ - tmp = svc_tree; - do { - if(tmp->needs == NULL) { - /* create new dependency */ - new = dep_create(tmp); - if(!new) return NULL; - - dep_entry_add(&list,new); - } - tmp = tmp->next; - } while(tmp != svc_tree); - - return list; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/gen_svc_tree.c deleted file mode 100644 index 80ea6463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include - -#include "intern.h" /* functions */ -#include "svc.h" - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li=list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return NULL; - - if(!check_add_deps(li,DEP_NEEDS)) return NULL; - if(!check_add_deps(li,DEP_WANTS)) return NULL; - - /* no dependencies? then you are a start service */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&svc_init,deps); - - /* Mark it as being in the startup list, so it does not - * get added again in a dep_needs_wants_add call */ - li->status |= ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_delete.c deleted file mode 100644 index d036b979..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_delete.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* free */ -#include "intern.h" /* list_search */ -#include "svc.h" /* listitem */ - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if(tmp == NULL) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - - free(tmp->abs_path); - free(tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_display_all.c deleted file mode 100644 index 4955acbb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_display_all.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ - -#include "messages.h" /* D_PRINTF */ -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return 0; - } else { - tmp = svc_list; - } - - do { - D_PRINTF("Service: "); - D_PRINTF(tmp->abs_path); - D_PRINTF("\n"); - - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_insert.c deleted file mode 100644 index a0ad6f2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_insert.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* malloc */ -#include /* bzero / memset */ -#include "svc.h" /* the list pointer */ - -struct listitem *list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) return NULL; - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_modify.c deleted file mode 100644 index 267539d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_modify.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED. Not in use anymore. - * - * part of cLinux/cinit - * - * List handling - */ - -#error "NOT IN USE" - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if(tmp == NULL) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_search.c deleted file mode 100644 index 6591f988..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_search.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ - -#include "intern.h" -#include "svc.h" - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_search_pid.c deleted file mode 100644 index 4f9634c9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/list_search_pid.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Search by pid - */ - -#include /* NULL */ -#include /* pid_t */ - -#include "svc.h" /* struct listitem */ - -struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return NULL; - } else { - tmp = svc_list; - } - - do { - if(pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/shutdown_services.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/shutdown_services.c deleted file mode 100644 index 3432c8ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/shutdown_services.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Shutdown all services: This is more or less the negative - * version of 'tree_exec()' - */ - -#include "svc.h" /* struct */ -void shutdown_services(struct listitem *svc) -{ - while(0) { - svc++; - } - /* stop services in the correct order: - * - begin at a random process, and walk the tree up to the wanted_by and needed_by - * - switch to next service, as soon as this tree is finished - */ - -// while(we_are_wanted_or_needed) { -// shutdown_services(next_wants_or_needs_us); -// } - -// shutdown_services(svc) - - /* begin at svc, iterate until a service without dependencies is found, - * continue stopping through wanted-by / needed-by / wants / needs */ - - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_add_needs.c deleted file mode 100644 index 2c045328..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_add_needs.c +++ /dev/null @@ -1,69 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED! - * - * part of cLinux/cinit - * - * List handling - */ - -#error "NOT IN USE" - -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_create.c deleted file mode 100644 index 3d9e05bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_create.c +++ /dev/null @@ -1,52 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* strcpy */ -#include /* stat */ -#include /* stat */ -#include /* PATH_MAX */ -#include /* errno */ - -#include "svc.h" /* listitem */ -#include "intern.h" /* path_append */ -#include "messages.h" /* D_PRINTF */ - -/* checking for existence is done before! */ -/* FIXME: check heedars for conformance with POSIX */ -struct listitem *svc_create(char *svc) -{ - char buf[PATH_MAX+1]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc,-1); - if(!li) return NULL; - - /* FIXME: add two path length checks? svc and svc+strlen(C_RESPAWN)? */ - strcpy(buf,svc); - if(!path_append(buf,C_RESPAWN)) return NULL; - - if(stat(buf,&statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li,ST_SH_ONCE); - } else { - return NULL; - } - } else { - /* FIXME remove debug */ - D_PRINTF("respawn: "); - D_PRINTF(li->abs_path); - D_PRINTF("\n"); - - svc_set_status(li,ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_fail.c deleted file mode 100644 index 7c150c85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_fail.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Mark the service as being failed - */ - -#include "svc.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) - li->status = ST_ONCE_FAIL; - else { - /* FIXME: do something senseful, record time of dead? */ - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_needs_status.c deleted file mode 100644 index ad00ed4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_needs_status.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return status of the needs of this service - */ - -#include /* NULL */ - -#include "svc.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - - if(deps == NULL) return SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* worst case: need failed */ - if((deps->svc->status & ST_NEED_FAILD) || - (deps->svc->status & ST_ONCE_FAIL)) { - retval = SNS_NEEDS_FAILED; - break; - } - /* services are being started */ - if((deps->svc->status & ST_SH_ONCE) || - (deps->svc->status & ST_SH_RESPAWN)) { - retval = SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_report_status.c deleted file mode 100644 index 3802afe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_report_status.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Tell the world what happened to the service - */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC,1); - mini_printf(svc,1); - mini_printf(": ",1); - mini_printf(msg,1); - if(err) { - mini_printf(" (",1); - mini_printf(err,1); - mini_printf(")",1); - } - mini_printf("\n",1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_respawn_check.c deleted file mode 100644 index 0fae4def..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED? not in use. - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#error "NOT IN USE" - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX+1]; - - strcpy(buf,svc->abs_path); - if(!path_append(buf,C_RESPAWN)) return 0 -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_set_status.c deleted file mode 100644 index 73d5da91..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_set_status.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_set_status(struct listitem *li, int status) -{ - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_should_respawn.c deleted file mode 100644 index 04acfe1d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return whether should respawn or not - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_start.c deleted file mode 100644 index 8ab08e3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_start.c +++ /dev/null @@ -1,93 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* nanosleep() */ -//#include /* gettimeofday() */ - -#include "svc.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li, int delay) -{ - char buf[PATH_MAX+1]; - struct timespec ts; - - /* FIXME: All cleanup must go here - * close(fds); - * reset signals - * reset env? - * - * FIXME: Add logging possibility to here - * open (0,1,2) to other processes, if specified */ - D_PRINTF("VORM Fork()\n"); - li->pid = fork(); - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path,MSG_SVC_FORK,strerror(errno)); - svc_set_status(li,ST_BAD_ERR); - return; - } - /********************** parent ************************/ - if(li->pid > 0) { - D_PRINTF("ELTERN\n"); - /* set start time */ - li->start = time(NULL); - - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_RUN; - else - li->status = ST_RESPAWNING; - return; - } - - /********************** Client / fork() ************************/ - /* sleep, if necesseray */ - printf("Delay: %d\n", delay); - if(delay) { - ts.tv_sec = delay; - ts.tv_nsec = 0; - - /* FIXME: also report value; int2char */ - svc_report_status(li->abs_path,MSG_SVC_SLEEP,NULL); - - /* do not need to check for errors, because we can continue anyway */ - nanosleep(&ts,NULL); - } - svc_report_status(li->abs_path,MSG_SVC_START,NULL); - - /* length check is done by path_append */ - strcpy(buf,li->abs_path); - if(!path_append(buf,C_ON)) return; - - /* Check for existence */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - _exit(0); /* nothing there? fine! */ - } - - if(li->status == FE_FILE) { - /* FIXME: reset signals: Is this necessary? Or does fork clean it anyway? */ - set_signals(ACT_CLIENT); - - /* and now, fire it up */ - execute_sth(buf); - } else { - /* either no file or an error */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_success.c deleted file mode 100644 index dc4057e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/svc_success.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include /* NULL */ - -#include "svc.h" /* listitem, svc_report_status */ -#include "messages.h" /* messages */ - -void svc_success(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) { - svc_report_status(li->abs_path,MSG_SVC_OK_ONCE,NULL); - li->status = ST_ONCE_OK; - } else { - svc_report_status(li->abs_path,MSG_SVC_OK_RESPAWN,NULL); - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre10/src/svc/tree_exec.c deleted file mode 100644 index 1a789457..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/svc/tree_exec.c +++ /dev/null @@ -1,67 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - -#include /* NULL */ - -#include "intern.h" /* mini_printf */ -#include "svc.h" /* svc_init */ -#include "messages.h" /* messages */ - -/* some thoughts... - * - * - we already generated the tree, we now need to start it from - * the ends - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - - mini_printf(MSG_TREE_EXEC,1); - - /* the main starting loop: All services in this list should be - * started, but it is possible that dependent services are in the - * list. In this case simply skip the current service - */ - do { - switch(svc_needs_status(tmp->svc)) { - case SNS_NEEDS_STARTED: - svc_report_status(tmp->svc->abs_path,"Needs sind durch",NULL); - /* execute service, add dependencies, remowe from list */ - svc_start(tmp->svc,0); - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_FAILED: - /* mark service as NEED_FAILD and delete from list */ - svc_report_status(tmp->svc->abs_path,MSG_SVC_NEED_FAIL,NULL); - svc_set_status(tmp->svc,ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_UNFINISHED: - svc_report_status(tmp->svc->abs_path,"Needs am abarbeiten",NULL); - /* continue with the next item */ - tmp = tmp->next; - break; - } - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/test/test-newline.c b/software/cinit/browse_source/cinit-0.3pre10/src/test/test-newline.c deleted file mode 100644 index 95e03a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/test/test-newline.c +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include -#include - -char *strip_final_newline(char *test1); - -int main() -{ - //char *test1 = "zeile1\nzeile2\n"; - //char *test2 = "zeile1\nzeile2\nzeile3"; - char *test1; - char *test2; - - test1 = malloc(50); - test2 = malloc(50); - - strcpy(test1,"zeile1\nzeile2\n"); - strcpy(test2,"zeile1\nzeile2\nzeile3"); - - char *result; - result = strip_final_newline(test1); - printf("A%sA\n",result); - - result = strip_final_newline(test2); - printf("B%sB\n",result); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre10/src/test/test_build_argv+link.c deleted file mode 100644 index f74b4f36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre10/src/test/test_build_argv.c deleted file mode 100644 index 3938aa0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre10/src/test/test_gen_svc_tree.c deleted file mode 100644 index c13c46b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre10/src/test/test_openreadclose.c deleted file mode 100644 index 2f722da5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file,&data); - - printf("%s\n",data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre10/util/README b/software/cinit/browse_source/cinit-0.3pre10/util/README deleted file mode 100644 index f66e0ddb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/util/README +++ /dev/null @@ -1,4 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre10/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre10/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre10/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre10/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre10/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre10/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre10/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre11/ b/software/cinit/browse_source/cinit-0.3pre11/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre11/.gitignore b/software/cinit/browse_source/cinit-0.3pre11/.gitignore deleted file mode 100644 index c346b4fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -*.html -*.htm -*.man -*.texi -*.texi -*.docbook -src/halt.kill -src/poweroff.kill -src/reboot.kill -doc/man/*.[0-9] -doc/man/*.xml -src/cmd -.*.swp -.exclude -src/.configured diff --git a/software/cinit/browse_source/cinit-0.3pre11/CHANGES b/software/cinit/browse_source/cinit-0.3pre11/CHANGES deleted file mode 100644 index a0e4605f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/CHANGES +++ /dev/null @@ -1,82 +0,0 @@ -cinit-0.3pre11: 2007-09-01 - - Added basic communication: - * client binary "cmd" with argument -v returns cinit-version - - Updated {halt,reboot,poweroff}.kill - -cinit-0.3pre10: - - Fixed make install target - - Added halt.kill, poweroff.kill and reboot.kill (including manpages!) - - Fixed invalid comparision in core/cinit.c - - Be verbose: Print what we execute - - Updated documentation - -cinit-0.3pre9: 2007-05-15 - - Implemented sleeping before respawn (static delay) - - Report broken links on execution, but ignore empty services - - Cleaned up message queue error reporting - -cinit-0.3pre8: 2007-04-06 - - Updated and merged documentation: Codingstyle and Codingguide - - Cleaned sigaction-code (fixes segfault on glibc) - - Cleaned object listings - - Added notifications at shutdown - - Fixed status check - -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre11/COPYING b/software/cinit/browse_source/cinit-0.3pre11/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre11/CREDITS b/software/cinit/browse_source/cinit-0.3pre11/CREDITS deleted file mode 100644 index febdcf4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/CREDITS +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: ls -l) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding -Tonnerre Lombard - * NetBSD support (host + hints) diff --git a/software/cinit/browse_source/cinit-0.3pre11/Changelog b/software/cinit/browse_source/cinit-0.3pre11/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre11/Makefile b/software/cinit/browse_source/cinit-0.3pre11/Makefile deleted file mode 100644 index cce0f217..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/Makefile +++ /dev/null @@ -1,108 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation -dev-all: all sizecheck - -install clean dist distclean: - @for subdir in ${CDIRS}; do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && ${MAKE} ${MAKEFLAGS} $@) || break; \ - done; - -.PHONY: sources -sources: - ${MAKE} -C src all - -.PHONY: documentation -documentation: - ${MAKE} -C doc documentation - -sizecheck: sources - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $$FILE; cat $$FILE; \ - cg-add $$FILE - cg-commit $$FILE -m "Size added" - #cg-commit $$FILE -m "Size: $$(awk '{ print $5 }' $$FILE)" - -source-size: clean - @echo -n "Source size (in KiB): " - @du -s src/ | awk '{ sum+=$$1 } END { print sum }' - - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - - -################################################################################ -# Tests -# -tests: - # does not work, due getting killed, due to design :-) - #./scripts/internal/compile_run_as_compiler.sh - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -################################################################################ -# old -#DDOC=ddoc -#SDIRS=bin client conf comm doc generic serv util -# DO NOT CHANGE THIS. -#SBIN=sbin -#CINIT_BIN=$(SBIN)/cinit -# -#%.o: %.c -# $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< -#$(DDOC): -# mkdir $(DDOC) -# -#$(SBIN): -# mkdir $(SBIN) -# -#docs: $(DDOC) bin/cdoc-man.sh -# ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 -# ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 -#$(CSVC_OBJ) $(OBJ): $(CONFIG_H) -#clean: -# $(MAKE) -C src clean -# rm -f tmpbin/* -################################################################################ -#cservice: $(SBIN)/cservice -# -#$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) -# $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ -# $(STRIP) $@ -# -#ccontrol: $(SBIN)/ccontrol -# -#$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) -# $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ -# $(STRIP) $@ -# -#install:: install-dir cinit cservice ccontrol -# @echo '*** Installing cinit ***' -# ./bin/cinit.install.binary diff --git a/software/cinit/browse_source/cinit-0.3pre11/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre11/NEXTTODO deleted file mode 100644 index fd2517a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/NEXTTODO +++ /dev/null @@ -1,16 +0,0 @@ --------------------------------------------------------------------------------- -- create some boot profiles -- cinit.install.standard.dirs.argv -check needs: - really started, after started or after finished starting? -wants: - are they checked? - -implement commands! -- fix devel/codingguideline.text! -- chdir to / after startup - -merge svc_need_status to svc_status - -cinit-communication: - cinit_get_failed_needs(char *name, int *cnt); diff --git a/software/cinit/browse_source/cinit-0.3pre11/README b/software/cinit/browse_source/cinit-0.3pre11/README deleted file mode 100644 index 00f2651b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/README +++ /dev/null @@ -1,106 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Unix -- true dependencies (soft and hard!) -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -FIXME: Add mailing list here - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre11/ROADMAP b/software/cinit/browse_source/cinit-0.3pre11/ROADMAP deleted file mode 100644 index 8b0e6526..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/ROADMAP +++ /dev/null @@ -1,115 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree [DONE] - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers [DONE] - code: cleanup makefile - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. [DONE] - code: add special directory (/etc/cinit/conf?) for non-services [DONE] - code: move production code to src/ [DONE] - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory [DONE] - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre11/TODO b/software/cinit/browse_source/cinit-0.3pre11/TODO deleted file mode 100644 index a583a941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/TODO +++ /dev/null @@ -1,327 +0,0 @@ --------------------------------------------------------------------------------- -- define how it should work (doc/braindums/big-picture.text) -- define service status in one document, so repeatition stops! --------------------------------------------------------------------------------- -- remove client/ from top level --------------------------------------------------------------------------------- -Generate automatic asciidoc from conf/* --------------------------------------------------------------------------------- - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s - - Rekursives herunter/rauffahren --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary --------------------------------------------------------------------------------- -1. Entfernung mount - -> Example configuration - -> was man alles machen muss --------------------------------------------------------------------------------- -- add code do implement stopping / restarting with dependency tree --------------------------------------------------------------------------------- -- print service name or cinit: before _everything_ WE print - - - is the reporting ok? - -# cinit.create.empty.service: can only be started from the bin directory - -- Fix Switching services off !! -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren - -- on.out, on.err, on.in? - -> reading/writing from/to files - -- implement "no_kill" until cinit-0.2 or 0.3? - - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) --------------------------------------------------------------------------------- -Helper scripts, rausgenommen aus Der Doku, muessen fuer -cinit-0.3 ueberprueft werden: - -Configure help scripts -~~~~~~~~~~~~~~~~~~~~~~ -cinit-conf later -Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring - * add scripts! see below - - define coding guidelines -> general, with url? - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? - -Documentation -------------- - -developer -~~~~~~~~~ -- ST_IN_LIST == startup marker, used to (NOT) insert services into startup -- dep_needs_wants_add is used to add dependencies of a service to the general - starter list - - -user ----- -- do we really need swapoff? remove umount, swapoff! - * to services! - -> they have to do it! -- dependencies with leading '.' (dot) are ignored. -- about cinit-configuration structure - * cconfig - * svc/ - * special/ (or however we called it) - - panic - - halt - - poweroff - - reboot - --------------------------------------------------------------------------------- -FAQ -~~~ -- DOKU: what happens when a service does not terminate.... - und er als once drin ist ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! - -- multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - --------------------------------------------------------------------------------- -csvc: -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -cinit: -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! - -Child handlin -~~~~~~~~~~~~~g -- free() everything before starting child - -Later -~~~~~ -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? - -> yep, clean environment! -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -- Doc - * main.text -> cleanup / remove / split - * config-dirs - * FAQ - * ideas - * meta.dependencies - - config/hints/meta depps - * optimising - - integrate into other - * README.text - - update - * replacing.init - - update / integrate - * special-services.text - - into configuring/hints? - * TODO - - into paths, if necessary - * updating.cinit - - update as soon as update is possible? - * using.rescue - - update as soon as update is possible? - * 'os-integration.text' - * 'daemons.backgrounding' - * There are some hints on how to migrate to cinit in general and also - some os specific help in the file 'migrating-init-systems.text', -- CODECHECK: - * what happens with the wants of the last services? - - are they added? - - are they added at the correct position? -- scripts - * `cinit.check.config` (doc/user/configuring.cinit.text) - -> circular depedencies! -- Doc.next: - - installing: report! - -> write report script. -- Doc later - * current-init-problems.text - - current-init-problems.text explains why cinit does not use nor recommends the use of shell scripts. - * special-services.text - -- Begin documentation - * Check Makefile - * Integrate Makefile into main Makefile - * create manpage - * Write a small manual - - install - - configure - - boot (different OS) - * generate asciidoc! -- Doc way: - * installing - * configuring - - testconfig! - * booting - - different OS / bootloader - * debugging -- Shutdomn code: - * begin at init, then shutdown wants/needs, ... -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- replace cinit_ipc_logon with cinit_ipc_init... - * delay ipc code -> after start! - -- Cleanup / create object lists - object-lists/ - cinit - cservice - ccontrol - cinit.halt - cinit.reboot - cinit.shutdown (shell script?!?) - - -TODO.pre9: - - Done: - - pfad korrigieren (home/..../ -> cinit.release) - - cg-add nicht aufrufen beim make all! -ser/nico/oeffentlich/computer/projekte/cinit/cinit-0.3pre8/doc' -FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $FILE; cat $FILE; \ - cg-add $FILE --rwx------ 1 nico nico 72601 2007-04-06 17:52 src/cinit -There is no GIT repository here (.git not found) -make: *** [sizecheck] Fehler 1 - - setup VM for testing: qemu/kvm/virtualbox (no commercial bloaty) - -> uml! - - sleep when respawnig! - -> static delay of five seconds - do_reboot.c: - is ipc closed? -> check! => done! - - ignore msgrcv: Interrupted system call -Session terminated, killing shell...msgq-destroy: Invalid argument -msgq-destroy: Invalid argument - - do not print an error if /etc/cinit/conf/last is non-existent! - => print it. Do not not print it, as this can aid debugging. - include locking via shm, remove test on pid1 - => not necessary imho currently - - -TODO.pre10: - Done: - cleanup client/ comm/ contrib+tools/ util/ tmp/ - Debugging cinit-configuration: - ls -lR /etc/cinit - or: cinit.read.... - -TODO.pre11: - Remove some debugging, re-introduce DEBUG() macro.. - Fix doc: - - make dist should cleanup cc / ld to sane values? - or do I experiement in tmp/*? - - http://linux.schottelius.org/cinit/browse_source/current/doc/user/config-dirs - conf/c_halt - - IPC: - * check msqg-code - * documentate the ipc functions: update devel/ipc.text - * check cinit_read_command() (devel/ipc.h) - - do_reboot.c: - write cinit_svc_shutdown - - implement do_reboot() - * so not only booting with cinit works, but also the shutdown - - write libcinit for use in cmd() - - find out why gettimeofday() and time() do strange things when called in SIG_CHLD - => bug opened in glibc, got to code testprogram - - write cinit.conf.check - * report broken links in needs/wants - * report circular dependencies - - pretty print, reporting is ugly! - Add handler for ctrl+alt+delete - * document in paths - * check whether there's an os-unspecific way to do that - cleanup bin/ - - write sys-v-init-shutdown-wrapper - * shutdown - * halt - * reboot - * poweroff - - write manpages for - - *.kill - - cmd - - install: - make install => does not overwrite critical targets - * cinit - * *.kill (see client/*) - * cmd - make force-install => overwrites /sbin/{halt,poweroff,reboot}? - => with script that wraps cmd - make install-template: - * creates categories - make install-miniconf: - * creates categories - * creates one service starting a shell (depending on the OS!) - - cleanup src/ - finish ipc code so clients can access cinit - implement CMD_INFO (see comm.h) - - -TODO.pre12: - Check and clean doc/ - Remove *TODO*+ROADMAP and leave behin doc/TODO - -TODO.pre13: - code cmd=(cservice ccontrol halt reboot shutdown poweroff) - => halt/r/... also with kill ... - Test, release and prepare for final cinit-0.3 - -TODO.0.3.1 - add log support - cinit logs to - -> shm saver - services log to - -TODO unclear - - create migration scripts diff --git a/software/cinit/browse_source/cinit-0.3pre11/TODO.doc b/software/cinit/browse_source/cinit-0.3pre11/TODO.doc deleted file mode 100644 index a170a50d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/TODO.doc +++ /dev/null @@ -1,29 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - -caveats -------- - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- cinit ignores the Keyboard request -- Currently there is no support to react on 'ctr+alt+del': -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - diff --git a/software/cinit/browse_source/cinit-0.3pre11/TODO.lucky b/software/cinit/browse_source/cinit-0.3pre11/TODO.lucky deleted file mode 100644 index 3ac57ee5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/TODO.lucky +++ /dev/null @@ -1,16 +0,0 @@ -18:18 hey, ich hatte gerade ein wenig lust mich mit cinit zu befassen, hier also mein - kleiner bug-report: in src/include fehlt cinit.h, (alles auf das aktuelle - tarball bezogen), ich hab's aus pre9 genommen, hatte ich noch da, da git nicht - wollte(Cannot get remote repository information.), ausserdem hast du _ statt - - in doc/man/cinit.text verwendet bei der email, das mag docbook nicht, die - beiden zeilen habe ich korrigiert, danch ging schon mal make all und auch make - ins -18:35 und warum installiert er die man pages nicht mit? -07:20 so, kleiner zwischenbericht, das argv problem bei lvm gibt es mit pre10 nicht - mehr, d.h. dass man auch kein shell-skript mehr braucht um lvm/luks-devices zu - mounten :) -07:20 soweit sieht eig. alles gut aus -07:21 wenn das so bleibt, dann werd' ich dauerhaft auf cinit umsteigen :) -07:21 und wenn sich die gelegenheit bietet, dann stell ich cinit auch mal in der - info-ag von unserer schule vor :) - diff --git a/software/cinit/browse_source/cinit-0.3pre11/TODO.optimisations b/software/cinit/browse_source/cinit-0.3pre11/TODO.optimisations deleted file mode 100644 index 8a686b4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/TODO.optimisations +++ /dev/null @@ -1,19 +0,0 @@ -This file describes enhancements or optimisations that -could be done / checked. - - -Code ----- - -fork() -~~~~~~ - -Security -^^^^^^^^^ -- Closed fds? -- Close other things? -- IPC? - -Cleanup -^^^^^^^ -- Do we have to reset signals or is that done anyway by fork()? diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre11/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.configure.mark deleted file mode 100644 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/.README b/software/cinit/browse_source/cinit-0.3pre11/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre11/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre11/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_env b/software/cinit/browse_source/cinit-0.3pre11/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_init b/software/cinit/browse_source/cinit-0.3pre11/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_last b/software/cinit/browse_source/cinit-0.3pre11/conf/c_last deleted file mode 100644 index 8debf155..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_last +++ /dev/null @@ -1,7 +0,0 @@ -last - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -This maybe a shellscript with the OS-specific umount procedure (like umount -a), -see doc/user/configuring.cinit for more details. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre11/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_off b/software/cinit/browse_source/cinit-0.3pre11/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_on b/software/cinit/browse_source/cinit-0.3pre11/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre11/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_params b/software/cinit/browse_source/cinit-0.3pre11/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre11/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre11/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre11/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre11/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre11/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre11/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/cc b/software/cinit/browse_source/cinit-0.3pre11/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/cflags b/software/cinit/browse_source/cinit-0.3pre11/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre11/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/confdir b/software/cinit/browse_source/cinit-0.3pre11/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/destdir b/software/cinit/browse_source/cinit-0.3pre11/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre11/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre11/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre11/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre11/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/ld b/software/cinit/browse_source/cinit-0.3pre11/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre11/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre11/conf/max_delay deleted file mode 100644 index 30725bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/max_delay +++ /dev/null @@ -1,4 +0,0 @@ -30 - -Maximum number of seconds to sleep between retrying to start it -(respawn only). diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre11/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre11/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre11/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre11/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/os b/software/cinit/browse_source/cinit-0.3pre11/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre11/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre11/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre11/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/prefix b/software/cinit/browse_source/cinit-0.3pre11/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/profile b/software/cinit/browse_source/cinit-0.3pre11/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre11/conf/service_categories deleted file mode 100644 index 2216ea97..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/service_categories +++ /dev/null @@ -1,7 +0,0 @@ -getty init local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. - -Btw, 'init' is the first service and has always to be there, but it does not really -fit into here, because it's a real one, compraed to the pseudo services. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre11/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/strip b/software/cinit/browse_source/cinit-0.3pre11/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre11/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre11/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf/version b/software/cinit/browse_source/cinit-0.3pre11/conf/version deleted file mode 100644 index d1de0411..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre11" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre11/conf2/README b/software/cinit/browse_source/cinit-0.3pre11/conf2/README deleted file mode 100644 index c753107d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/conf2/README +++ /dev/null @@ -1,33 +0,0 @@ -Migrate conf/ to general conf/-buildsystem (write documentation for it). - -gpm2 may be an example for this! - -conf/targets: - targets to make available in Makefile and their dependencies - - abstract the build-process somehow, so one can create build-targets? - - c-programs/ (includes cc / ld) - cinit (link to conf/object_listings cinit?) -conf/object_listings - lists of dependencies: - conf/object_listings/cinit contains all objects needed for cinit - -conf/programs/ - like cc, ld, install, ... - -conf/built-options/ - like --... in ./configure - -conf/install/ - - options/ - destdir (prefixed before everything) - prefix (standard prefix) - bin (relative to prefix, if not beginning with a /) - sbin (relative to prefix, if not beginning with a /) - lib (relative to prefix, if not beginning with a /) - targets/ - cinit/ - built-target (link to conf/targets/cinit) - destination (relative to diff --git a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/Makefile deleted file mode 100644 index 23cc41f0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o usage.o mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/cinit-vis.pl deleted file mode 100644 index 4a439fc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/svc/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/cinit.graph.text.c deleted file mode 100644 index 5e5316ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -//#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.graph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.graph.text - textual representatio of the cinit directory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.graph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/cinit.h b/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/cinit.h deleted file mode 100644 index cbde3195..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/cinit.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Dummy header file to intgrate mini_printf and usage - */ - -#ifndef CINIT_DUMMY_HEADER -#define CINIT_DUMMY_HEADER - -void usage(char *banner, char *text); -void mini_printf(char *str,int fd); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/mini_printf.c deleted file mode 120000 index 3e9a596c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/mini_printf.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/mini_printf.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/usage.c b/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/usage.c deleted file mode 120000 index c26691ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/contrib+tools/usage.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/usage.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre11/doc/.buildwarn deleted file mode 100644 index 3a0354dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/.buildwarn +++ /dev/null @@ -1,23 +0,0 @@ -**************************************************************************** -Welcome, cinit greets you. -**************************************************************************** - -Hints: ------- - - Settings used for compiling (not only) can be found in conf/* - - The boot configuration normally resides below /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text _BEFORE_ installing. - -Building cinit --------------- - - "make all" - to build cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre11/doc/Makefile deleted file mode 100644 index abff8b3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -A2X=a2x -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text man/halt.kill.text man/poweroff.kill.text \ - man/reboot.kill.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DEVELDOCS = devel/codingguideline.text -DOCS = $(MANDOCS) $(USERDOCS) $(DEVELDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -#TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpages" - @echo "pdf: only generate pdfs (requires: fop)" - -install: $(DOC_ALL) - @echo "===> Copy " man/*.[0-9] "to the correct manpaths" - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -#%.man: %.mandocbook -# ${DOCBOOKTOMAN} --to-stdout $< > $@ - -%.man: %.text - ${A2X} -f manpage $< - -%.pdf: %.text - ${A2X} -f pdf $< - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - rm -f man/*.texi man/*.xml man/*.[0-9] - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/README.text b/software/cinit/browse_source/cinit-0.3pre11/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/root-vm-testing b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/root-vm-testing deleted file mode 100644 index a8773dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/root-vm-testing +++ /dev/null @@ -1,9 +0,0 @@ -[19:33] denkbrett:root% cat uml-mount.sh -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl - -denkbrett# tar cfj ~nico/projekte/cinit/conf-vm-2007-03-05.tar.bz2 cinit -denkbrett# chown -R nico cinit -denkbrett# chown nico ../sbin - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/shutdown.text deleted file mode 100644 index ac76425d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/shutdown.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} - * no, implemented that directly into cinit! -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process - * create mappers for target OS - - Linux - - {free,net,open}bsd - - others may contribute theirself -- also implement poweroff - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement halt - * kill -USR1 1 - - -The implementation ------------------ -x shutdown is initiated -x disable communication (nobody can influence us anymore) -x install special signal handler? - - no. we do not care about zombies anymore, we are gone soon anyway - - simply reset to the default -- begin to shutdown services - * where to start? - * begin shutdown at the end of the tree, viewing/sorting it by the 'needed_by' - -> where to begin sort? - -> worst implementation: scan all services (easy for now) - -> result: list of services, that noone needs :-) - * stop those services and step above - - stop a service, as soon as noone needs it anymore - * check all needed_by links - * more or less the inverted gen_svc_tree -- how to shutdown a service - * if existing, call off - - if off does not exist: - * if respawn: send sigterm to the process - * also implement sigkill at this stage? - - think we can delay it to the end - - otherwise users can use off! - - implement environment for off ($cinit_respawn_pid, $cinit_service_name) - - do *NOT* care about the return value, we can't do anything for it - anymore anyway -- after all services are shutdown, kill all remaining services - * SIGTERM - * wait(defined_time_in_seconds) - * SIGKILL -- call the last command - * to cleanup the system - - umount -a (if needed) - - swapoff (if needed) - - sync (if needed) -- switch off diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/sizes b/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/sizes deleted file mode 100644 index ddd30f75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/braindumps/sizes +++ /dev/null @@ -1,6 +0,0 @@ -sysvinit: -root 1 0.0 0.0 1944 648 ? Ss 02:12 0:00 init [2] - -cinit-0.3pre8-glibc-linux: -compiler 25323 0.0 0.0 1564 392 pts/2 S+ 20:22 0:00 ./cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre11/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre11/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/codingguideline.text b/software/cinit/browse_source/cinit-0.3pre11/doc/devel/codingguideline.text deleted file mode 100644 index d4686d8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/codingguideline.text +++ /dev/null @@ -1,149 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. -Indent variable names, so the names begin all at the same position. -Use three spaces to place them. - - -Whitespaces ------------ -Where to put or avoid whitespaces (space or linefeed (lf)). - - -Spaces -~~~~~~ -- After closing brace "if(test) return 0;" -- Spaces before and after '=', '>', '<', '==', '!='', '>=', '<=', '>>', '<<', '&', '&&', '|', '||' -- After start of comment and before end of comment: '/* text */' - - - After ')', ',' - -No spaces -~~~~~~~~~ -- Within braces and code "(!test)", -- Before braces "if(code)" -- No space before ), so if '))', do not put a space after the first ')' - - -Linebreaks -~~~~~~~~~~ -This somehow includes the setting of braces (indirectly through (not) setting -spaces. - -If -^^ - -Put the if, the braces and the opening curly brace on one line, -put the closing one together with `else` and the new opening -curly brace on one line: - ------------------------------------------------------------------------------- -if(...) { - /* code */ -} else { - /* else: code */ -} ------------------------------------------------------------------------------- - -While -^^^^^ ------------------------------------------------------------------------------- -while(condition) { - /* repeat */ -} ------------------------------------------------------------------------------- - -Do-While -^^^^^^^^ ------------------------------------------------------------------------------- -do { - /* something */ -} while(running); ------------------------------------------------------------------------------- - -Switch -^^^^^^ - ------------------------------------------------------------------------------- -switch(value) { - case DO_SOMETHING: - /* code */ - break; - default: - break; -} ------------------------------------------------------------------------------- - - - -Where to put curly braces -------------------------- - -Functions -~~~~~~~~~ -Opening and closing curly braces are placed on a seperate row: - ------------------------------------------------------------------------------- -int func(int params) -{ - body -} ------------------------------------------------------------------------------- - - -If, else, while, do-while -~~~~~~~~~~~~~~~~~~~~~~~~~ -See above. - - -Comments ---------- -where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - -If there is more than one line containing a comment, try to adjust them -so they look the same in width and position: - ------------------------------------------------------------------------------- - int illuminati = 23; /* do not want to comment that */ - int the_answer_to_everything = 42; /* 42. */ - - [...] - - while(illuminati < the_answer_to_everything) { /* only try before them */ - overtake_world(&self); /* overtake is complex */ - } ------------------------------------------------------------------------------- - - -Header -------- -Put a header into each file, containing: - - - Date of file being put into existence (year is enough) - - Name and e-mail (obfuscated if you want) of the author(s) - - Description of the function - - Copyright statement (if not included GPLv2 or later is assumed) - - -Includes -~~~~~~~~ -Include system headers first, then place own headers. Comment the includes, -wherefore you added them. Example: - ------------------------------------------------------------------------------- -#include /* write */ -#include "cinit.h> /* cinit_ipc_* */ ------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre11/doc/devel/communication.text deleted file mode 100644 index ea5351a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/communication.text +++ /dev/null @@ -1,247 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - - -Numbers -~~~~~~~ -Can be found in include/cinit.h. - - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -Can't use a structure, were missing the point that we cannot transfer dynamic -length strings. Thus the protocol consists of: - - client(int) => cinit - cinit(ini) => client - => after that follows command specific data - -The byte order is host specific (may be little or big endian). - -STRUCTURE WITH STATIC SIZE. MSGRCV! -IPC LAYER CREATES TRANSPORT! - -Type -~~~~ -Messages are binary data. - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: What's the status of service XYZ? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Code, length of service name, the service name (without \0). -int, int, char[]; - - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre11/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre11/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre11/doc/devel/ipc.text deleted file mode 100644 index cdab4fcc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/ipc.text +++ /dev/null @@ -1,141 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - -Abstraction layer: cinit_ipc_* ------------------------------- -You can choose or even reimplement ipc code for cinit. You only have to create -a directory below src/ipc/ and create the following necessary functions: - -int cinit_ipc_init(void); -~~~~~~~~~~~~~~~~~~~~~~~~~ -Initialise the IPC functions in cinit. - - -int cinit_ipc_listen(void); -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Never ending looping function that listens for commands and passes the -retrieved command to read_command(). - -other -~~~~~~ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - - -cinit_get_data(int ident, int size, void *data) => read size bytes from client -with ident - -/***************************************************************************** - * Functions: in clients - */ - int cinit_ipc_logon(void); /* logon to init (client init) */ - int cinit_ipc_connect(void); /* connect to init */ - int cinit_ipc_csend(struct cinit_message *data); /* send to the server from a client */ - - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre11/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre11/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre11/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre11/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre11/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre11/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre11/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre11/doc/man/cinit.text deleted file mode 100644 index 19d0015a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre11/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/man/halt.kill.text b/software/cinit/browse_source/cinit-0.3pre11/doc/man/halt.kill.text deleted file mode 100644 index 4a31e257..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/man/halt.kill.text +++ /dev/null @@ -1,46 +0,0 @@ -halt.kill(8) -============ -Nico Schottelius - - -NAME ----- -halt.kill - Halts systems running cinit through a kill call - -SYNOPSIS --------- -'halt.kill' - - -DESCRIPTION ------------ -You normally halt your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to halt -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute halt.kill, your system will be halted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/man/poweroff.kill.text b/software/cinit/browse_source/cinit-0.3pre11/doc/man/poweroff.kill.text deleted file mode 100644 index 62807ba1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/man/poweroff.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -poweroff.kill(8) -================ -Nico Schottelius - - -NAME ----- -poweroff.kill - Halts and powers off systems running cinit through a kill call - -SYNOPSIS --------- -'poweroff.kill' - - -DESCRIPTION ------------ -You normally poweroff your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to poweroff -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute poweroff.kill, your system will be - powered off. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), reboot.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/man/reboot.kill.text b/software/cinit/browse_source/cinit-0.3pre11/doc/man/reboot.kill.text deleted file mode 100644 index a748553e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/man/reboot.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -reboot.kill(8) -============== -Nico Schottelius - - -NAME ----- -reboot.kill - Reboots systems running cinit through a kill call - -SYNOPSIS --------- -'reboot.kill' - - -DESCRIPTION ------------ -You normally reboot your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to reboot -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute reboot.kill, your system will be - rebooted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), poweroff.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/todo/0.3pre11 b/software/cinit/browse_source/cinit-0.3pre11/doc/todo/0.3pre11 deleted file mode 100644 index ec532269..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/todo/0.3pre11 +++ /dev/null @@ -1,10 +0,0 @@ -Done: -- cleanup ipc: - merge cinit_ipc_logon() and cinit_ipc_connect()? - => already done! -- finish cmd in general, perhaps only including one command. -[18:51] denkbrett:src# LANG=C cp cinit /sbin/cinit -cp: cannot create regular file `/sbin/cinit': Text file busy - => mv & cp! - => documentation! - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/todo/0.3pre12 b/software/cinit/browse_source/cinit-0.3pre11/doc/todo/0.3pre12 deleted file mode 100644 index a47b1a14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/todo/0.3pre12 +++ /dev/null @@ -1,28 +0,0 @@ - -- begin to write documentation about client functions -- cleanup communication: - put parts of comm.h into cinit.h => global exposure - or define new structure in cinit.h? -- there seems to be a race condition in the execution of the - dependency tree: it happens that services that depend on - mounted /proc, have needs on mount/proc are still exited - before /proc is mounted. - problem of cinit or of mount, exiting too early? - guess the first one, so fix it :-) - --------------------------------------------------------------------------------- -Add -Hallo, - -Liebster Nico, wuerdest du die dazu durchringen "make install" und -vllt. sogar "make install-test" in die cinit 0.3er branch aufnehmen? - -vlg Lucky --------------------------------------------------------------------------------- - -Use http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html - --------------------------------------------------------------------------------- - -cleanup ipc! -where to call !cinit_ipc_logon and !cinit_ipc_connect? diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/todo/0.3pre13 b/software/cinit/browse_source/cinit-0.3pre11/doc/todo/0.3pre13 deleted file mode 100644 index fb360486..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/todo/0.3pre13 +++ /dev/null @@ -1,9 +0,0 @@ -- create libcinit.a/so and link against it -- global symbol to track the connection to cinit in the client - => cinit_ipc_cinit() - initalise ipc in the client (only once) -- cleanup headers: - seems to make more sense, to have more than one exposed header. - cinit.h gets to fast too big. so splitoff to: - /* main */ - /* ... */ - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre11/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/NEW_using_cinit_freebsd b/software/cinit/browse_source/cinit-0.3pre11/doc/user/NEW_using_cinit_freebsd deleted file mode 100644 index 05499166..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/NEW_using_cinit_freebsd +++ /dev/null @@ -1,21 +0,0 @@ -11:33 < mux> from sys/kern/init_main.c: -11:33 < telmich> mux: that's true; I just tried with linux and I tell the - bootloader, who tells the kernel then -11:33 < mux> static char init_path[MAXPATHLEN] = -11:33 < mux> #ifdef INIT_PATH __XSTRING(INIT_PATH); -11:33 < mux> #else -"/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall"; -11:33 < mux> #endif -11:33 < mux> but you give a loader tunable -11:34 < mux> if ((var = getenv("init_path")) != NULL) { -11:34 < mux> strlcpy(init_path, var, sizeof(init_path)); -11:34 < mux> freeenv(var); -11:34 < mux> } -11:34 < mux> here you are -11:34 < telmich> ahh, that's good -11:34 * telmich has to try cinit on freebsd the next days :-) -12:34 < mux> (s/you give/you can give/) -11:35 < mux> so, simply init_path)="/sbin/cinit" in /boot/loader.conf should do - it -11:35 < mux> minus the typo - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre11/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/configuring.cinit.text deleted file mode 100644 index c04da745..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/configuring.cinit.text +++ /dev/null @@ -1,327 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - -The cinit configuration consists of -- a special configuration directory -- and the service definitions. - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - -Conf ----- -The special configuration directory is normally called `conf/` -(defined at compile-time in `conf/c_confdir`). - -For all executables into this directory apply the same rules as mentioned -below in "Execution: on and off": Appened .params specifies parameters, -appended .env specifies environment. - - -conf/last -~~~~~~~~~ -This is the last part that will be executed. After it has finished, cinit -will halt, power-off or reboot your machine. - -You can use it for whatever task to accomplish (as most things of cinit), but -the idea behind it is to use it for cleaning up things that are not covered -by the off parts of the services. This maybe swapoff (although this is an unecessary -call before poweroff, imho and even if needed this could be handled within the -off part of the same services that enabled it) or `umount -a` for everything -manually mounted and not unmounted yet. - - -conf/sleep_before_kill -~~~~~~~~~~~~~~~~~~~~~~ -This file contains just one line: The number of seconds to sleep after SIGTERM was sent -to every remaining process before sending SIGKILL to all processes. If this file -is unreadable or not existent, cinit will fall back to the value compiled in -(which was specified at build time in conf/sleep_kill). - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start). - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - - -Debugging the configuration ----------------------------- -Use `ls -lR /etc/cinit` or one of the tools found in contrib+tools/. - - -Examples --------- -Currently there are some example configurations available -at http://unix.schottelius.org/cinit/samples/cinit-0.3/, sorted -by host on which they are created. - -In near future, there will also be a file name configuration.example.text, -which will lead you to a sample configuration. - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/daemons.backgrounding.text deleted file mode 100644 index 1218f9a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,83 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- dovecot [imap/pop3 server]: -F -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- freeradius [radiusd]: -f -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openpbx [pbx]: -f -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre11/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre11/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre11/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/problems-and-solutions.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/problems-and-solutions.text deleted file mode 100644 index 92cdd241..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/problems-and-solutions.text +++ /dev/null @@ -1,33 +0,0 @@ -cinit - Problems occured and solutions used -=========================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2007-05-28 -:Author Initials: NS - -This documentes describes real problems people had with -cinit and their appropriate solutions. Feel free to add -your problems and solutions here. - - -Introduction ------------- - - -Adding problems and solutions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Simply add your problem and solution and sign your paragraph -with your name. Then send the diff -u to the cinit mailinglist -or setup a git-repository so I can pull the changes. - - -Hibernate ---------- -uses /sbin/runlevel, which should *not* respond with 0 or 6 -as the second number. As cinit does not have /sbin/runlevel, -because cinit does not have any runlevels, you could hardcode -it to values hibernate accepts: - ----------------------------------------------------------------------- -#!/bin/sh -echo N 2 ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/problems.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/problems.text deleted file mode 100644 index 4fe8a315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/problems.text +++ /dev/null @@ -1,114 +0,0 @@ -Problems using cinit -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-24 -:Author Initials: NS - - -Using a high-speed, true dependency aware, profile supporting -logical acting and reliable init system like cinit is not -completly problem free. This document describes some common -problems you may have and their solutions. - - -Possible problems ------------------ - -Confused users -~~~~~~~~~~~~~~ -Compared to traditional init systems like sys-v-init or bsd-init -cinit introduces a complet new boot concept. This does not just -mean that you have services instead of shell-scripts (which is -one reason cinit is starting up faster), but also that the boot -order may be changed dynamically at bootup:, if a service fails. -And even if no service fails, the boot order may be different -on each boot, because processes are started in parallel and -may return earlier or later on each boot. To coordinate the -parallel running processes, cinit uses depencies, which are pretty -easy to understad when configurung, but may need some more -detailled watching at boot to understand it. - -The 'confused users'-problem is perhaps also the biggest -problem for introducing cinit as a replacement to current -init systems. - - -Configuration issues -~~~~~~~~~~~~~~~~~~~~ - -Not marking services as respawn -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When cinit starts, it will wait for every service to exit. -So if you have a dependency on a service -that never exits, the whole init process may hang (dependending -on the dependencies). If you have services that are intendet -*not* to exit after start, you *have* to mark those with -`respawn`: Those services are started and watched by cinit -and will be restarted. This was a design choice to ensure -that all 'always running' processes *are* restarted. - -I did not find any service that should not exit and not -have a respawn flag. If you really really really have such -a service and you can prove to me that the respawn flag -would do harm to your system, I will think about implementing -a flag that tells cinit not to wait for it, but mark it -as successfully run after it has been started. - -User interaction -~~~~~~~~~~~~~~~~ - -User input -~~~~~~~~~~ -There may be the situation that you have to press a key -or enter some data when a service starts up (like entering -the password for your crypto harddisks). With cinit, this -will look like a mess, because other services may write to -the same console the service wrote a user prompt. - -The best solution for this problem is in my humble -opinion to create an user-input daemon that serialises -the requests and displays one after another. - -This could look like this: Your daemon wants to ask for -a passphrase for the SSL-certificate. You add aa needs -to this daemon to the 'input-daemon'. When you -start this service, it will contact the input-daemon -running on another virtual console and displaying a text -and an input field that is passed back to this service. -After that the input daemon changes back to the initial -console or asks for the next input, if there is another -request available. - -This input daemon may also be run on a graphical (X11) display. -. -Output to the user -~~~~~~~~~~~~~~~~~~ -When cinit starts up there may be many messages printed -out that also may look like printed random order. -To prevent your endusers from being confused you can create -some kind of graphical interface (like a framebuffer -or X11 display) that reads the output of cinit and converts -it to flashing images. It could look like this: - ----------------------------------------------------------------------- - - Your (graphical?) display: - -------------------------------------------------------------- - | /-----------------\ | - | | Red border, | | - | | failed to start | | - | \-----------------/ | - | | - | /------ | - | | Green border, | - | image van | - | | - | | - | | - | | - | | - | | - -------------------------------------------------------------- - - ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre11/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/respawning-sleep.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/respawning-sleep.text deleted file mode 100644 index 24ed17e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/respawning-sleep.text +++ /dev/null @@ -1,52 +0,0 @@ -cinit - Respawning and sleeping -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-13 -:Author Initials: NS - - -How cinit sleeps, before a service is respawned. - -Introduction ------------- -When a service, that is configured to be respawning, exits cinit restarts it. -Because services may be broken and thus cinit would try to restart it many -times in a second, it is necessary to sleep between restarts. - -The big question: How to sleep? ------------------------------------- -The first possibility is to sleep a fixed amount of time between restarts: -For instance one second. This is not a good solution, because this waits -one unecessary second if the process just crashed. It may be too less, if -the service is really broken. - -The second possibility is to sleep a dynamic amount of time. - - -The next big question: How long to sleep? ------------------------------------------ -I think that as long as a service is broken we should not investigate to much -time into restarting it. So we can define a maximum amount of time to sleep -(for instance 30 seconds). The minimum amount of time to sleep is zero seconds. - -When the service is first started, the sleep time defaults to the minimum -amount of time. Each time the service is restarted, the sleep time is adjusted: - -sleep time (st) = Maximum sleep time (mst) / Time the process was running (tr) - -- If tr is < 1 it is adjusted to 1 and thus st is set to mst. -- If tr is > mst, st is set to 0. - - -How to force restart of a service? ----------------------------------- -Use cvsc (to be implemented). - - -Hom is it implemented? ----------------------- -Everytime cinit has to respawn a service it has to fork() itself. -The sleep call is implemented in the fork, so cinit itself does not have -to care about it. After the sleep time is over or the fork() recieves -SIGALARM it executes the real service. cinit itself records as start time -the current time plus sleep time. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre11/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre11/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre11/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre11/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/cconfig.mk.makefile b/software/cinit/browse_source/cinit-0.3pre11/scripts/cconfig.mk.makefile deleted file mode 100644 index 822addce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/cconfig.mk.makefile +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-20, 0110 CEST -# cconfig: create makefile from conf/ directory -# currently: all files -# later: only built-defines -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "#" -echo "# Warning: Autogenerated by $0, do not edit. " -echo "#" -for conf in ${CONFS}; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - echo "${NAME}=${value}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.read-conf deleted file mode 100644 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/README b/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/README deleted file mode 100644 index 64c0d174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/README +++ /dev/null @@ -1 +0,0 @@ -Scripts used to generate or aid in creating a configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/freebsd/create_services.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/freebsd/create_services.sh deleted file mode 100644 index 52e123a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/freebsd/create_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to create from stdin -# Create services (add correct dependencies) -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/freebsd/enable_services.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/freebsd/enable_services.sh deleted file mode 100644 index ce4563a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/freebsd/enable_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to enabled from stdin -# Services must already exist -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/freebsd/search_enabled_services.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/freebsd/search_enabled_services.sh deleted file mode 100644 index 69e519b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/freebsd/search_enabled_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search for enabled services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/freebsd/search_services.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/freebsd/search_services.sh deleted file mode 100644 index 2043e857..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/configuration/freebsd/search_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search all services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of all services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/cinit.release b/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/cinit.release deleted file mode 100644 index 54f1fbe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/cinit.release +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: ls -l - -# only release if I tell it to release -[ "$1" = "now" ] || exit 23 - -#if [ $# -ne 2 ]; then -# echo "This is a maintainer-only script to release cinit" -# echo $(basename $0): source-dir version -# exit 1 -#fi - -# paths -DIR="$(cd $(dirname $0)/../../; pwd -P)" -DDIR="$(cd $(dirname $0)/../../../; pwd -P)" -RDIR=$(basename "$DIR") - -# version -VERSION="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')" -VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')" -VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):.*/\1/')" -OUT_NAME="cinit-${VERSION}.tar.bz2" - -# remote -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ -LINK=current - -echo "=> Version directory: $VERSION" -echo "=> Version conf/version: $VERSION_CONF" -echo "=> Version CHANGES: $VERSION_CHANGES" - -if [ "$VERSION" = "$VERSION_CONF" -a "$VERSION" = "$VERSION_CHANGES" ]; then - echo "=> Version confirmed." -else - echo "*** VERSION MISMATCH ***" - exit 42 -fi - -echo -n "=> Continue? " -read yes - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -# do the work! -( cd "$DIR" && make dist ) || exit 1 - -echo "Creating bzip2 compressed tar" -cd $DDIR -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$RDIR" -chmod 0644 "$OUT_NAME" - -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" - -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" - -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$RDIR\" \"$LINK\"" - -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/compile+run.sh deleted file mode 100644 index 30ec68a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/compile+run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -if [ ! "$1" ]; then - echo "HOSTNAME" - exit 23 -fi - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$host" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/compile_local.sh deleted file mode 100644 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/compile_run_as_compiler.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/compile_run_as_compiler.sh deleted file mode 100644 index f1ba01d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/compile_run_as_compiler.sh +++ /dev/null @@ -1,14 +0,0 @@ -what=$(dirname $0)/../../ -what_real=$(cd "$what" && pwd -P) -dest=~compiler/cinit-test - -set -e -sudo rsync -av "${what_real}/" "$dest" -sudo chown -R compiler "$dest" -sudo -u compiler "${dest}/scripts/internal/compile_local.sh" -sudo -u compiler "${dest}/src/cinit" & -sleep 13 -sudo -u compiler "${dest}/scripts/internal/stop_cinit.sh" - -# exit 0 for make -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/compile_test.sh deleted file mode 100644 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/create_test_config.sh deleted file mode 100644 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/find_right_version.sh deleted file mode 100644 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/stop_cinit.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/stop_cinit.sh deleted file mode 100644 index 86e4d82b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/stop_cinit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Linux specific, but don't care, I am the only person that should use it - -killall -TERM cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/test_on_hosts.sh deleted file mode 100644 index e6df35ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net bot.unixkiste.org suckz.eu jiffies.forkbomb.ch" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/valgrind deleted file mode 100644 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre11/scripts/report.compile deleted file mode 100644 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre11/scripts/wrapper/linux-sysvinit/shutdown b/software/cinit/browse_source/cinit-0.3pre11/scripts/wrapper/linux-sysvinit/shutdown deleted file mode 100644 index ce413d17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/scripts/wrapper/linux-sysvinit/shutdown +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-cinit /at/ schottelius.org) -# 2007-05-21 -# Behave as being shutdown from Linux' sysvinit - -# parse options, display usage - -# all the functions - -usage() -{ - -cat << cinit_usage - -*** cinit linux-sysvinit shutdown wrapper *** - -Usage shutdown [-akrhHPfnc] [-t secs] time [warning message] - -a: use /etc/shutdown.allow - -k: don't really shutdown, only warn. - -r: reboot after shutdown. - -h: halt after shutdown. - -P: halt action is to turn off power. - -H: halt action is to just halt. - -f: do a 'fast' reboot (skip fsck). - -F: Force fsck on reboot. - -n: do not go through "init" but go down real fast. - -c: cancel a running shutdown. - -t secs: delay between warning and kill signal. - ** the "time" argument is mandatory! (try "now") ** - -You can also call "cmd" directly instead of using this wrapper. - -cinit_usage - -} - -# the main part -usage diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre11/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre11/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2007-02-23-202443 b/software/cinit/browse_source/cinit-0.3pre11/size/2007-02-23-202443 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2007-02-23-202443 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2007-02-23-202720 b/software/cinit/browse_source/cinit-0.3pre11/size/2007-02-23-202720 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2007-02-23-202720 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2007-03-07-231936 b/software/cinit/browse_source/cinit-0.3pre11/size/2007-03-07-231936 deleted file mode 100644 index c2ef3d0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2007-03-07-231936 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71213 2007-03-07 23:18 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/size/2007-04-06-011811 b/software/cinit/browse_source/cinit-0.3pre11/size/2007-04-06-011811 deleted file mode 100644 index 73de8724..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/size/2007-04-06-011811 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71281 2007-04-06 01:17 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/Makefile b/software/cinit/browse_source/cinit-0.3pre11/src/Makefile deleted file mode 100644 index 5743d482..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/Makefile +++ /dev/null @@ -1,157 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -#include Makefile.tests - -################################################################################ -# -# Build tools / locations -# - -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin - -################################################################################ -# -# All objects / binaries -# depend on headers. More or less. FIXME: use gcc -M -# -BIN=halt.kill poweroff.kill reboot.kill cmd -CINIT=cinit -ALLBIN=${BIN} ${CINIT} - -# headers -CONFIG_H=include/config.h -CINIT_HEADERS=${shell cat include/listing} - -# objects -CINIT_OBJ=${shell cat object_lists/cinit} -HALTKILL_OBJ=${shell cat object_lists/halt.kill} -POWEROFFKILL_OBJ=${shell cat object_lists/poweroff.kill} -REBOOTKILL_OBJ=${shell cat object_lists/reboot.kill} -CMD_OBJ=${shell cat object_lists/cmd} - -# -# All objects -# -OBJ=${CINIT_OBJ} ${HALTKILL_OBJ} ${POWEROFFKILL_OBJ} ${REBOOTKILL_OBJ} - -################################################################################ -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: ${ALLBIN} - - -################################################################################ -# -# Generic -# -${OBJ}: ${CINIT_HEADERS} - -%.o: %.c - ${CC} -c -o $@ $< - -################################################################################ -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -${CINIT_OBJ}: ${CONFIG_H} - -${CONFIG_H}: ../conf/* - ../scripts/cinit.mkheader > ${CONFIG_H} - -################################################################################ -# -# Install targets -# - -#install: install-dir cinit cservice ccontrol -install: install-cinit install-utilities - -install-utilities: ${BIN} - @echo '*** Installing utilities ***' - install $^ /sbin -install-cinit: cinit - @echo '*** Installing cinit ***' - @echo "Need to delete cinit before reinstalling it {text file busy problem}" - rm -f /sbin/cinit - install $^ /sbin - -# FIXME: target broken -install-miniconf: - ./bin/cinit.install.miniconf - -# FIXME: target broken -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# - -cinit: ${CINIT_OBJ} - ${LD} $^ -o $@ - -halt.kill: ${HALTKILL_OBJ} - ${LD} $^ -o $@ - -poweroff.kill: ${POWEROFFKILL_OBJ} - ${LD} $^ -o $@ - -reboot.kill: ${REBOOTKILL_OBJ} - ${LD} $^ -o $@ - -cmd: ${CMD_OBJ} - ${LD} $^ -o $@ - -################################################################################ -# -# Internal test targets -# - -uml: cinit cmd - ../../vm/uml/uml-mount.sh - cp cinit cmd ../../vm/uml/root/sbin/ - ../../vm/uml/uml-umount.sh - -umlstart: uml - ../../vm/uml/uml-start.sh - -################################################################################ -# -# Clenaup targets -# - -.PHONY: dist -dist: distclean - -.PHONY: distclean -distclean: clean - rm -f os/current ipc/current .configured - -.PHONY: clean -clean: - rm -f ../tmpbin/*.configured - rm -f ${BIN} ${CINIT_OBJ} - rm -f client/*.o test/*.o diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre11/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre11/src/ancient/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/do_result.c b/software/cinit/browse_source/cinit-0.3pre11/src/ancient/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre11/src/ancient/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre11/src/ancient/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre11/src/ancient/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre11/src/ancient/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre11/src/ancient/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre11/src/ancient/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/run_init_svc2.c b/software/cinit/browse_source/cinit-0.3pre11/src/ancient/run_init_svc2.c deleted file mode 100644 index b613ed6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/run_init_svc2.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre11/src/ancient/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/run_svc.c b/software/cinit/browse_source/cinit-0.3pre11/src/ancient/run_svc.c deleted file mode 100644 index 95cc324d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre11/src/ancient/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ancient/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/client/cmd.c b/software/cinit/browse_source/cinit-0.3pre11/src/client/cmd.c deleted file mode 100644 index 957bd0a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/client/cmd.c +++ /dev/null @@ -1,102 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cmd - the cinit client program - sends commands to cinit - */ - -#include /* getopt */ -#include /* signals */ -#include /* printf() */ -#include /* free() */ - -#include "cmd.h" /* own header */ -#include "signals.h" /* which signal */ -#include "svc.h" /* service related */ -#include "intern.h" /* print_errno() */ - -#include "cinit.h" /* cinit external */ - -#define C_USAGE(error) usage(USAGE_TEXT,error) -#define LOG(a,b) mini_printf(a,1); minit_printf(b,1); - -enum CMD_ARGS { - CMD_ENABLE, - CMD_DISABLE, - CMD_STATUS -}; - -enum CMD_OPTS { - CMD_NO_WANTS = 0x1, - CMD_NO_NEEDS = 0x2 -}; - -/*********************************************************************** - * cmd: main - */ -int main(int argc, char **argv) -{ - int opt, tmp, what; - char *svc; - - tmp = 0; - - /* FIXME: change e/d: make it a must to specify - * -d w(ants) excluded) - * -e n(eeds excluded) - * -d i(nclude everything) - */ - - while((opt = getopt(argc,argv,CMD_OPTIONS)) != -1) { - switch(opt) { - /********************************************/ - case 'e': /* enable service */ - what = CMD_ENABLE; - svc = optarg; - break; - - case 'd': /* disable service */ - what = CMD_DISABLE; - svc = optarg; - break; - - /********************************************/ - case 's': /* get status */ - what = CMD_STATUS; - svc = optarg; - break; - - case 'v': /* get version of cinit */ - svc = cinit_get_version(); - if(svc) { - printf("Version of cinit: %s\n",svc); - free(svc); - return 0; - } else { - printf("Cannot get version of cinit!\n"); - return 1; - } - break; - - /* FIXME: add -V: version of cmd */ - } - } - - switch(what) { - case CMD_STATUS: - printf("get status\n"); - tmp = cinit_get_svc_status(svc); - printf("Status is: %d\n",tmp); - /*switch(tmp) { - case ST_SH_ONCE: - break; - case ST_NEED_FAILD: - break; - }*/ - break; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/client/halt.kill.c b/software/cinit/browse_source/cinit-0.3pre11/src/client/halt.kill.c deleted file mode 100644 index a84cdf2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/client/halt.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Halt the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_HALT) == -1) { - print_errno(MSG_HALT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/client/poweroff.kill.c b/software/cinit/browse_source/cinit-0.3pre11/src/client/poweroff.kill.c deleted file mode 100644 index 801e119c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/client/poweroff.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_POWEROFF) == -1) { - print_errno(MSG_POWEROFF_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/client/reboot.kill.c b/software/cinit/browse_source/cinit-0.3pre11/src/client/reboot.kill.c deleted file mode 100644 index cd90feda..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/client/reboot.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_REBOOT) == -1) { - print_errno(MSG_REBOOT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/comm/README b/software/cinit/browse_source/cinit-0.3pre11/src/comm/README deleted file mode 100644 index 74a0b376..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/comm/README +++ /dev/null @@ -1,20 +0,0 @@ -All abstracted communication functions. Do not depend on the underlying -inter process communication mechanism. - - - send_command(): client function: sends a command to cinit - - send_service(): client function: send the service name to operate on - - - read_command(): server function: reads beginning of a command - * Extracts the command - * reads client identification (=pid) - * calls other functions, depending on the command send => switch() - - read_service(): server function: reads service - - - write_answer(): server function: answer? - * sends answers to clients => senseful? - - - TODO: - - define information function, that returns various information about - a service - diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/comm/read_command.c b/software/cinit/browse_source/cinit-0.3pre11/src/comm/read_command.c deleted file mode 100644 index a308edba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/comm/read_command.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cinit reads a command sent by a client, called by ipc listener - * - */ - -#include /* strncpy */ - -#include "config.h" /* VERSION */ -#include "comm.h" /* message struct definition - OLD?*/ -#include "cinit.h" /* structures */ - -int read_command(struct cinit_question qsn, struct cinit_answer *asr) -{ - switch(qsn.cmd) { - case CINIT_MSG_GET_VERSION: - asr->ret = CINIT_MSG_OK; - strncpy(asr->data,VERSION,PATH_MAX); - break; - - case CMD_SVC_START: - break; - - case CMD_SVC_START_ONLY: - break; - - case CMD_SVC_START_NEEDS: - break; - - case CMD_SVC_STOP: - break; - - case CMD_SVC_STOP_ONLY: - break; - - case CMD_SVC_STOP_WANTS: - break; - - /* return error to client */ - default: - break; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/comm/send_command.c b/software/cinit/browse_source/cinit-0.3pre11/src/comm/send_command.c deleted file mode 100644 index bd2849dc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/comm/send_command.c +++ /dev/null @@ -1,15 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * A client sends a command to cinit - */ - -#include "comm.h" /* message struct definition */ - -send_command(struct s_cmd cmd) -{ - /* cinit_ipc_to_server() */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre11/src/core/build_argv.c deleted file mode 100644 index 95add5e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/core/build_argv.c +++ /dev/null @@ -1,166 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "intern.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX+1]; - char *sbuf = NULL; - char *p; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename,pathtmp,PATH_MAX)) == -1) { - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - /* FIXME check bounds! */ - strcpy(pathtmp,basename); - strcat(pathtmp,C_PARAMS); - /* ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL - * ORC_OK: Ok, have a filled buffer (perhaps NULL, too) - * other: Error, print errno - */ - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p+1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,basename); - strcat(pathtmp,C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - sbuf = p+1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre11/src/core/cinit.c deleted file mode 100644 index ff73fedd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/core/cinit.c +++ /dev/null @@ -1,104 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "intern.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ -// pid_t cpid; - - - /* FIXME: RE-ENABLE as SOON AS PRODUCTIVE cpid = getpid(); - * Is this really needed or should we lock() ourselves? - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - /* Look whether we should start a profile */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc-1], strlen(PROFILE) ) ) { - initdir = (char *) malloc( - strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc-1][strlen(PROFILE)]); - break; - } - --argc; - } - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* listen to signals */ - set_signals(ACT_SERV); - - /* pre-calculate service tree */ - if(!gen_svc_tree(initdir)) { - panic(); - } - - /* free, if we malloc()ed before */ - if(strcmp(initdir,CINIT_INIT)) { - free(initdir); - } - - /* change to /, so applications have that as cwd, too - * Is that really seneful? Does that help any application? - * If not, just for looking nice, that's not a reason to - * enable it. - if(chdir(SLASH) == -1) { - print_errno(SLASH); - panic(); - } */ - - /* start tree from the bottom */ - if(!tree_exec(svc_init)) { - panic(); - } - - D_PRINTF("=> cinit started.\n"); - - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - /* listen for incomming messages: should never return */ - if(!cinit_ipc_listen()) { - panic(); - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre11/src/core/do_reboot.c deleted file mode 100644 index c6c715be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/core/do_reboot.c +++ /dev/null @@ -1,97 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include - -#include "ipc.h" - -/* cleaned up own headers */ -#include "intern.h" /* set_signals */ -#include "svc.h" /* shutdown_services */ -#include "messages.h" /* messages */ -#include "reboot.h" /* cinit_poweroff&co */ - -/* cleaned headers */ -#include /* kill() */ - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - //char **cmd; - //int i; - - /* - * New code: - * 0. close user ipc - * - notify user! - * - do not allow user interupt anymore - * 1. shutdown services - * - notify user! - * 2. kill -TERM all processes - * - notify user! - * 3. kill -KILL all processes - * - notify user! - * 4. execute /etc/cinit/conf/{halt,reboot,poweroff} - * - notify user! - */ - - /* do not listen to client requests anymore */ - /* and tell the user what happens */ - LOG(MSG_SHUTDOWN_START); - cinit_ipc_destroy(); - set_signals(ACT_CLIENT); /* reset signal handlers */ - - /* shutdown all services: take care about the dependency tree */ - LOG(MSG_SHUTDOWN_SVC); - shutdown_services(svc_list); - - LOG(MSG_SHUTDOWN_KILL); - /* now: all services are down, let's kill all other processes */ - if(kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - if(kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* Execute the last command */ - LOG(MSG_SHUTDOWN_LAST); - execute_and_wait(CINIT_LAST); - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } - /* FIXME: should we exit? */ - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre11/src/core/panic.c deleted file mode 100644 index d3dd9459..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/core/panic.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include /* execv */ - -#include "intern.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) _exit(0); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - if(execv(SULOGIN,nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* there's nothing todo, if everything fails */ - _exit(23); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre11/src/core/set_signals.c deleted file mode 100644 index 0ebb6899..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/core/set_signals.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ -#include "intern.h" /* defines */ -#include "reboot.h" /* reboot related */ -#include "signals.h" /* reboot related */ - -void set_signals(int action) -{ - struct sigaction sa; - - sigemptyset(&sa.sa_mask); /* no other signals should be blocked */ - sa.sa_flags = 0; - - if(action == ACT_SERV) { - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - } else { - sa.sa_handler = SIG_DFL; - } - - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - sa.sa_flags = 0; /* reset flags */ - if(action == ACT_SERV) { - sa.sa_handler = do_reboot; - } - sigaction(SIG_CINIT_HALT, &sa, NULL); /* halt */ - sigaction(SIG_CINIT_POWEROFF, &sa, NULL); /* poweroff */ - sigaction(SIG_CINIT_REBOOT, &sa, NULL); /* reboot */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre11/src/core/sig_child.c deleted file mode 100644 index f8903263..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/core/sig_child.c +++ /dev/null @@ -1,91 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The child handler - * - */ - -#include /* waitpid */ -#include /* NULL */ -#include /* gettimeofday() */ /* FIXME: CHECK POSIX */ -#include /* time(),gettime.. */ /* FIXME: CHECK POSIX */ - -#include "intern.h" /* mini_printf */ -#include "svc.h" /* list_search_pid */ -#include "messages.h" /* messages/D_PRINTF */ - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - /* New code: - * - search for pid in service list - * * if (respawn) -> start new - * - insert delay? if exit code is non-zero? if uptime too less? - * * if (once) -> update service status - * * else ignore, but reap away - */ - pid_t pid; - int delay; - struct listitem *svc; -// struct timeval now; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - /* check if it's a watched child */ - svc = list_search_pid((pid_t) pid); - - if(svc != NULL) { - /* Check, that we are operating on it =. that it is no normal child */ - if(svc->status & ST_ONCE_RUN - || svc->status & ST_SH_RESPAWN - || svc->status & ST_RESPAWNING) { - mini_printf("WHILE: svc bekannt!\n",1); - if(WIFEXITED(tmp) && !WEXITSTATUS(tmp)) { - svc_success(svc); - } else { - svc_fail(svc); - } - } - - //mini_printf("WHILE: Vorm respawn!\n",1); - /* respawn: restart: FIXME Delay for regular dying services */ - if(svc->status == ST_RESPAWNING) { - D_PRINTF("WHILE: IM respawn!\n"); - svc_report_status(svc->abs_path,MSG_SVC_RESTART,NULL); - D_PRINTF("WHILE: IM respawn: nach report status!\n"); - - //delay = MAX_DELAY / (time(NULL) - svc->start); - /* if(gettimeofday(&now,NULL) == -1) { - print_errno(MSG_GETTIMEOFDAY);; - delay = 0; - } else { - delay = MAX_DELAY / (now.tv_sec - svc->start); - } */ - - delay = 5; - - /* int test = time(NULL); - test++; - D_PRINTF("WHILE: IM respawn / for printf!\n"); - printf("sig_child: %d, %d, %d, %d\n", - MAX_DELAY, - (int) time(NULL), - (int) svc->start, - (int) (test - svc->start) - ); */ - - // mini_printf("WHILE: Vorm SVC_START!\n",1); - svc_start(svc,delay); - } - //mini_printf("WHILE: NACH respawn!\n",1); - } else { - /* FIXME remove in production version */ - D_PRINTF("Cleanup: reparenting\n"); - } - //mini_printf("WHILE2: Ende sigchild\n",1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre11/src/generic/execute_and_wait.c deleted file mode 100644 index ab808ff1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/generic/execute_and_wait.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* fork */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* exec / child */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* wait / parent */ - waitpid(pid,&status,0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre11/src/generic/execute_sth.c deleted file mode 100644 index 02593940..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/generic/execute_sth.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ - -#include "intern.h" -#include "build_argv.h" -#include "messages.h" /* D_PRINTF */ - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - tmp = cinit_build_argv(basename,&bav); - if((tmp = cinit_build_argv(basename,&bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - /* tell the user what we execute */ - mini_printf(MSG_INTRO_EXEC,1); - mini_printf((bav.argv)[0],1); - mini_printf("\n",1); - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for cinit to recognize - it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre11/src/generic/file_exists.c deleted file mode 100644 index 8f383525..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/generic/file_exists.c +++ /dev/null @@ -1,58 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* errno */ -#include /* stat */ -#include /* NULL */ - -#include "intern.h" /* print_errno() */ -#include "svc.h" /* svc_report_status() */ -#include "messages.h" /* messages.. */ - -int file_exists(char *filename) -{ - struct stat buf; - - /* check: - * - is it a link? if so, is it broken? report! - * - is it non existent? -> return non-existent - * - is it existent, but not a regular file? report! - */ - if(lstat(filename,&buf) == -1) { /* lstat fails? */ - if(errno == ENOENT) { - mini_printf("NIX DA: ok.\n",1); - return FE_NOT; - } else { - mini_printf("anderer fehler.\n",1); - print_errno(filename); - return FE_ERR; - } - } else { - if(S_ISLNK(buf.st_mode)) { /* is a link */ - /* check link destination */ - if(stat(filename,&buf) == -1) { /* do real stat(): */ - if(errno == ENOENT) { - svc_report_status(filename,MSG_BROKENLINK,NULL); - return FE_NOLINK; - } else { - mini_printf("anderer fehler.\n",1); - print_errno(filename); - return FE_ERR; - } - } - } - } /* caught all stat() errors */ - - if(!S_ISREG(buf.st_mode)) { - svc_report_status(filename,MSG_NONREGULAR,NULL); - return FE_OTHER; - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre11/src/generic/mini_printf.c deleted file mode 100644 index d5b0d1f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd,str,(size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre11/src/generic/openreadclose.c deleted file mode 100644 index b271b410..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/generic/openreadclose.c +++ /dev/null @@ -1,66 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "intern.h" /* ORC_* */ - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - *where = NULL; - - /* what a wonderful loop */ - while((fd = open(filename,O_RDONLY)) == -1) { - if(errno == ENOENT) return ORC_ERR_NONEXISTENT; - if(errno != EINTR) return ORC_ERR_OPEN; - } - - cnt = 0; - while (1) { - tmp = read(fd,buf,512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where,cnt + 1); - if(*where == NULL) return ORC_ERR_MEM; - - /* FIXME check correctness of copied buffer... - * and get some sleep..soon, very soon! */ - strncpy(&(*where)[cnt-tmp],buf,tmp); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) continue; - return ORC_ERR_CLOSE; - } - - /* terminate string! */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre11/src/generic/path_absolute.c deleted file mode 100644 index ef8b002e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre11/src/generic/path_append.c deleted file mode 100644 index 87cc49ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/generic/path_append.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre11/src/generic/print_errno.c deleted file mode 100644 index 0286f550..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre11/src/generic/sleep_before_kill.c deleted file mode 100644 index e3c92615..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,43 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Sleep: - * read configuration, - * fallback to builtin value if not possible, - * sleep. - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE,&content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) tmp = SLEEP_KILL; - free(content); - } else { - mini_printf(MSG_BUILTIN_SLEEP,1); - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts,NULL) == -1) { - print_errno(MSG_ERR_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre11/src/generic/strip_final_newline.c deleted file mode 100644 index 4629bb9f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/generic/strip_final_newline.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) { - return NULL; - } - - p = strrchr(str,'\n'); - if(p) { - if(*(p+1) == '\0') { - *p = '\0'; /* DO NOT FORGET TO TERMINATE STRING */ - str = realloc(str,(p-str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre11/src/generic/usage.c deleted file mode 100644 index 260b4ea5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/generic/usage.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * usage: tell the user what's wrong and a help text - * - */ - -#include /* _exit() */ -#include "intern.h" /* mini_printf */ - -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre11/src/include/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/include/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre11/src/include/cinit.h deleted file mode 100644 index 0d817641..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/include/cinit.h +++ /dev/null @@ -1,54 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Header file for external programs (in theory) - */ - -#ifndef CINIT_EXTERNAL_HEADER -#define CINIT_EXTERNAL_HEADER - -/* includes */ -#include /* required for functions */ -#include /* PATH_MAX */ - -/* - * structures: independent of the ipc code! - */ - -/* messages from the client */ -struct cinit_question { - int32_t cmd; - char data[PATH_MAX]; - int32_t options; -}; - -/* messages from cinit */ -struct cinit_answer { - int32_t ret; - int32_t options; - char data[PATH_MAX]; -}; - -/* codes for messages */ -enum { - /* questions */ - CINIT_MSG_QUESTIONS=1000, /* begin questions at 1000 */ - CINIT_MSG_GET_STATUS, /* status of a service */ - CINIT_MSG_GET_VERSION, /* version of cinit */ - - /* answers */ - CINIT_MSG_ANSWERS=2000, /* begin answers at 2000 */ - CINIT_MSG_OK, /* general ok value */ - CINIT_MSG_SVC_UNKNOWN /* Services is not known */ -}; - -/* functions */ -int32_t cinit_get_svc_status(char *); -char *cinit_get_version(void); -int cinit_send_to(struct cinit_question *, struct cinit_answer *); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/include/cmd.h b/software/cinit/browse_source/cinit-0.3pre11/src/include/cmd.h deleted file mode 100644 index ffffdd15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/include/cmd.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Header file for the cmd (cinit management) - */ - -#ifndef CINIT_CMD_HEADER -#define CINIT_CMD_HEADER - -#define CMD_USAGE "cmd - cinit management\n\n" \ - "Usage:\n\ncmd -[ed nw v]\n" \ - " -e: enable service\n" \ - " including dependencies\n" \ - " -d: disable service\n" \ - " including dependencies\n" \ - " -n: without needs\n" \ - " Skip wants when en/disabling\n" \ - " -w: without wants\n" \ - " Skip needs when en/disabling\n" \ - " -s: get status\n" \ - " of specified service\n" \ - " -v: get version\n" \ - " of cinit\n" \ - "" - -#define CMD_OPTIONS "e:d:hnprs:vw" - -#define MSG_KILL "kill()" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/include/comm.h b/software/cinit/browse_source/cinit-0.3pre11/src/include/comm.h deleted file mode 100644 index 4fbe8c50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/include/comm.h +++ /dev/null @@ -1,81 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ -#include /* pid_t */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_MIN='A', /* minimum command number */ - CMD_SVC_START, /* the client wants US to start a service */ - CMD_SVC_START_ONLY, /* start this service without dependencies */ - CMD_SVC_START_NEEDS, /* start this service, needs, but no wants */ - CMD_SVC_STOP, /* stop svc and all svcs that need it */ - CMD_SVC_STOP_ONLY, /* we should stop _only_ this service */ - CMD_SVC_STOP_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ /* FIXME: NEEDED? */ - CMD_RESCUE, /* we should start the rescue mode */ /* UNIMPLEMENTED */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ /* UNIMPLEMENTED */ - CMD_INFO, /* send information about that service */ /* UNIMPLEMENTED */ - CMD_MAX , /* maximum command number */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * client issues a command: start_command - */ -struct s_cmd { - char cmd; - pid_t pid; -}; - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/include/intern.h b/software/cinit/browse_source/cinit-0.3pre11/src/include/intern.h deleted file mode 100644 index 323dd1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/include/intern.h +++ /dev/null @@ -1,116 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * internal header - */ - - -#ifndef _CINIT_INTERN_H -#define _CINIT_INTERN_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* structures: answer / question */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_NOLINK, /* file is a broken symbolic link*/ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_LAST CINIT_CONFDIR SLASH C_LAST -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* needed by set_signals */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* core functions */ -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* communication */ -int read_command(struct cinit_question, struct cinit_answer *); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -void print_errno(char *text); - -#endif /* _CINIT_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre11/src/include/ipc.h deleted file mode 100644 index f10fa998..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/include/ipc.h +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/* FIXME: change to cinit/types.h later */ -#include "cinit.h" - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init */ - -int cinit_ipc_connect(void); /* connect to init */ - -int cinit_ipc_csend(struct cinit_question *); /* ask the server */ -int cinit_ipc_cread(struct cinit_answer *); /* read answer */ - -int cinit_ipc_logoff(void); /* logoff */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/include/listing b/software/cinit/browse_source/cinit-0.3pre11/src/include/listing deleted file mode 100644 index edf4b7e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/include/listing +++ /dev/null @@ -1,9 +0,0 @@ -include/intern.h -include/comm.h -include/config.h -include/ipc.h -include/messages.h -include/os.h -include/reboot.h -include/signals.h -include/svc.h diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre11/src/include/messages.h deleted file mode 100644 index 582d4dc4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/include/messages.h +++ /dev/null @@ -1,161 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * All messages - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -/* OLD Messages to the outside */ -//#define MSG_BIND "bind" -//#define MSG_CONNECT "connect" -//#define MSG_FCNTL "fcntl" -//#define MSG_LISTEN "listen" -//#define MSG_SOCKET "socket" -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# include -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) {} -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ - -/* services: how they should be printed - * /etc/cinit/svc/long/name: started once - * /etc/cinit/svc/long/name: is respawning - * /etc/cinit/svc/long/name: FAILED (why it happened) - */ - -#define MSG_INTRO_CINIT "cinit:" -#define MSG_INTRO_SPACE MSG_INTRO_CINIT " " -#define MSG_INTRO_SVC MSG_INTRO_CINIT -//#define MSG_INTRO_SVC MSG_INTRO_CINIT "service:" -#define MSG_INTRO_STOP MSG_INTRO_CINIT "stop: " -#define MSG_INTRO_EXEC MSG_INTRO_CINIT "exec: " - -/* FIXME: remove/append, but no intro! */ -#define MSG_INTRO_FAIL "FAILED " -#define MSG_INTRO_RESPAWN MSG_INTRO_CINIT "respawn: " -#define MSG_INTRO_OK MSG_INTRO_CINIT "ok: " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" - - -#define MSG_BUILTIN_SLEEP MSG_INTRO_STOP "Using built-in sleep" - -#define MSG_TREE_EXEC MSG_INTRO_SPACE "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_FATAL_PANIC MSG_INTRO_SPACE "I tried everything, but even panic() failed: " -#define MSG_ERR_SLEEP MSG_INTRO_SPACE "Sleep did not succeed" -#define MSG_GETTIMEOFDAY MSG_INTRO_SPACE "gettimeofday() failed!" - -/* execution */ -//#define MSG_EXECUTING MSG_INTRO_EXEC - -/* stat() errors */ -#define MSG_NONREGULAR "Is not a regular file." -#define MSG_BROKENLINK "Is a broken link." - -/* Service messages */ -#define MSG_SVC_START "Starting... " -#define MSG_SVC_STOP "Stoping... " -#define MSG_SVC_RESTART "Restarted." -#define MSG_SVC_SLEEP "Sleeping before restart" -#define MSG_SVC_OK_ONCE "Started once." -#define MSG_SVC_OK_RESPAWN "Is respawning." - -/* Status messages */ -#define MSG_SHUTDOWN_START MSG_INTRO_STOP "\nBeginning the shutdown process..." -#define MSG_SHUTDOWN_SVC MSG_INTRO_STOP "Shutting down services now..." -#define MSG_SHUTDOWN_KILL MSG_INTRO_STOP "Killing remaining processes..." -#define MSG_SHUTDOWN_LAST MSG_INTRO_STOP "Executing final service..." -#define MSG_POWER_OFF MSG_INTRO_STOP "Powering off..." -#define MSG_HALT MSG_INTRO_STOP "Halting system ..." -#define MSG_REBOOT MSG_INTRO_STOP "Rebooting ..." - -/* client messages */ -#define MSG_HALT_KILL "halt.kill" -#define MSG_REBOOT_KILL "reboot.kill" -#define MSG_POWEROFF_KILL "poweroff.kill" - - -/* reboot */ -#define MSG_TERMKILL MSG_INTRO_FAIL "SIGTERM" -#define MSG_KILLBILL MSG_INTRO_FAIL "SIGKILL" - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre11/src/include/os.h deleted file mode 100644 index b3320c0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/include/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/include/reboot.h b/software/cinit/browse_source/cinit-0.3pre11/src/include/reboot.h deleted file mode 100644 index cd8a345e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/include/reboot.h +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot specific functions - * - */ - -#ifndef CINIT_REBOOT_HEADER -#define CINIT_REBOOT_HEADER - -/***************************************************************************** - * the main reboot function - */ -void do_reboot(int signal); - - -/***************************************************************************** - * os specific functions - */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - - -/***************************************************************************** - * Functions: abstract do_reboot - */ -#define cinit_do_reboot() do_reboot(SIGHUP) -#define cinit_do_halt() do_reboot(SIGUSR1) -#define cinit_do_poweroff() do_reboot(SIGTERM) - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/include/signals.h b/software/cinit/browse_source/cinit-0.3pre11/src/include/signals.h deleted file mode 100644 index a51e402d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/include/signals.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Define signals to use: needs signal.h to be included before. - */ - -#ifndef CINIT_SIGNALS_HEADER -#define CINIT_SIGNALS_HEADER - -#define SIG_CINIT_HALT SIGUSR1 -#define SIG_CINIT_POWEROFF SIGTERM -#define SIG_CINIT_REBOOT SIGHUP - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre11/src/include/svc.h deleted file mode 100644 index 86c83e62..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/include/svc.h +++ /dev/null @@ -1,130 +0,0 @@ -/*********************************************************************** - * - * 2006,2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - - -#ifndef _CINIT_SVC_H -#define _CINIT_SVC_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char *abs_path; /* name of service */ - long int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - time_t start; /* time the process was started last time */ - - - struct dep *wanted; /* list of services that want this service */ - struct dep *needed; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *svc_init; /* the services to start */ -extern struct listitem *svc_list; /* the list of services */ - -/* list functions */ -struct listitem *list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); -//int list_display_all(); /* debug only */ - - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -int svc_set_status(struct listitem *li, int status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void svc_start(struct listitem *li, int delay); -void shutdown_services(struct listitem *start); - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -/*********************************************************************** - * status of a service and return codes - errors and success - */ -enum svc_status_old { - ST_TMPNOW=1, /* the client is now starting the service NEEDED??? */ - ST_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - - ST_OFF, /* service is off */ - ST_OFF_ALL, /* service and those that need it are off */ - ST_OFF_ALL_F, /* same, but something failed */ - ST_OFF_WANTS, /* service + those that need or want it are off */ - ST_OFF_WANTS_F, /* same, but something failed */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ -}; - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum svc_status { - /* first define basics */ - ST_SH_ONCE = 0x1, /* service SHould be started once */ - ST_SH_RESPAWN = 0x2, /* service SHould respawn */ - ST_ONCE_OK = 0x4, /* service was successfully started once */ - ST_ONCE_FAIL = 0x8, /* service failed to start */ - ST_RESPAWNING = 0x10, /* service is respawning */ - ST_NEED_FAILD = 0x20, /* this service is not started, need failed */ - ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - ST_ONCE_RUN = 0x100, /* the once process is currently running */ - ST_NOT_EXIST = 0x200 /* there's no such service in our database */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum svc_needs_status { - SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - SNS_NEEDS_FAILED, /* one ore more needs failed */ - SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq-rt/README b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq-rt/README deleted file mode 100644 index cc1a1b7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq-rt/README +++ /dev/null @@ -1,2 +0,0 @@ -This implementation uses the new realtime inferface of -posix instead of the old one functions. diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq-rt/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq-rt/cinit_ipc_init.c deleted file mode 100644 index ef22b6d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq-rt/cinit_ipc_init.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include - -#include "cinit.h" -#include "config.h" -#include "msgq-rt.h" - -int cinit_ipc_init(void) -{ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq-rt/mq_open.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq-rt/mq_open.c deleted file mode 100644 index 445e7dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq-rt/mq_open.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -int main() -{ - mqd_t readq = mq_open("/test",O_RDWR|O_CREAT|O_EXCL); - //mqd_t readq = mq_open("/bin/ls",O_RDWR|O_CREAT|O_EXCL); - - if(readq == -1) { - perror("oh nein"); - return 1; - } - mqd_t writeq = mq_open("/bin/cp",O_WRONLY|O_CREAT|O_EXCL); - if(readq == -1) { - perror("oh oh nein"); - return 1; - } -} - - diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq-rt/msgq-rt.h b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq-rt/msgq-rt.h deleted file mode 100644 index d09a2808..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq-rt/msgq-rt.h +++ /dev/null @@ -1,39 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#define MSGQ_PATHNAME "/cinit" /* identifier */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_cread.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_cread.c deleted file mode 100644 index f2c23568..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_cread.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client reads messages from cinit - * - */ - -/* FIXME: cleanup headers */ -#include /* ftok */ -#include /* msgget */ - -#include /* memcpy() */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* __cinit_cpid */ - - #include -int cinit_ipc_cread(struct cinit_answer *buf) -{ - struct msgq_server msg; - - if(msgrcv(mq_in, &msg, sizeof(msg.asr), __cinit_cpid, 0) == -1) { - /* FIXME: msg* */ - print_errno("msgrcv,cread"); - return 0; - } - memcpy(buf, &(msg.asr), sizeof(*buf)); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 1f173bef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client sends messages to cinit - * - */ - -/* FIXME: cleanup headers */ -#include /* ftok */ -#include /* msgget */ - -#include /* memcpy() */ -#include "config.h" -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structure */ - -int cinit_ipc_csend(struct cinit_question *qsn) -{ - struct msgq_client msg; - - msg.mtype = 1; /* cinit = 1 */ - msg.w.pid = __cinit_cpid; - - /* copy structure into the msgq-structure */ - memcpy(&(msg.w.qsn), qsn, sizeof(msg.w.qsn)); - - if(msgsnd(mq_out, &msg, sizeof(msg.w), 0) == -1) { - /* FIXME: msg */ - print_errno("msgsnd,csend"); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index aa0f27c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ - -#include "msgq.h" /* mq_in, mq_out */ -#include "intern.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(mq_in,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(mq_out,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index 67edc538..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,46 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* message queue */ - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_in = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_in == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* to_client */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_out = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index b43c515f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,74 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* printf() */ - -#include /* ftok */ -#include /* msgget */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "config.h" -#include "msgq.h" /* structs */ -#include "comm.h" /* the cmd struct */ - -int cinit_ipc_listen(void) -{ - int tmp; - struct msgq_client qsn; - struct msgq_server asr; - - while (1) { - qsn.mtype = 1; /* listen only to mtype = 1, == init */ - tmp = msgrcv(mq_in, &qsn, sizeof (qsn.w), 0, 0); - - if(tmp == -1) { - if(errno != EINTR) { - print_errno(MSG_MSGQ_MSGRCV); - } - continue; - } - - printf("pid: %d, cmd: %d\n",qsn.w.pid, qsn.w.qsn.cmd); - - if(!read_command(qsn.w.qsn, &(asr.asr))) { - /* FIXME: msg */ - printf("read command failed\n"); - } - - /* answer something for now */ - asr.mtype = qsn.w.pid; - /* FIXME: do different things on differen errnos ... */ - if(msgsnd(mq_out, &asr, sizeof(asr.asr), 0) == -1) { - print_errno("msgsend/answer"); - } - - /* - - switch(msg.cmd) { - case CINIT_MSG_GET_STATUS: - break; - - } - - * send back: use pid as the message type - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - return 0; - } */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index ac8306d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Disconnect from cinit - * - */ - -int cinit_ipc_logoff(void) -{ - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index b085dc87..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,46 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* getpid() */ - -#include "config.h" -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msgq constants */ - -int cinit_ipc_logon(void) -{ - key_t k_in, k_out; /* FIXME: remove one variable */ - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - k_out = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* FIXME: do not create new queue => cinit should have created them! */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* we use the pid as identifier, so initialise it here */ - /* FIXME: check whether posix includes transfer of pid anyway */ - __cinit_cpid = getpid(); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/msgq.h deleted file mode 100644 index 314e3e9a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * part of cinit - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER -/* FIXME: add _cinit_ to it, we may be in client namespace now! */ - -//#include /* structures */ -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define MSGQ_TO_SERVER 'i' /* also for ftok */ -#define MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables: FIXME: rename, we're in client namespace! - */ -int mq_in; /* input */ -int mq_out; /* output */ -pid_t __cinit_cpid; /* our (p)id*/ - -/*********************************************************************** - * structures - */ - -/* wrapper needed: msgsnd wants size of everything, - * everything = struct|array after mtype - */ -struct msgq_wrapper { - pid_t pid; - struct cinit_question qsn; -}; - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - struct msgq_wrapper w; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server { - long mtype; - struct cinit_answer asr; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_FTOK "ftok" -#define MSG_MSGQ_MSGGET "msgget" -#define MSG_MSGQ_MSGRCV "msgrcv" -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/socket+linux-tmpfs/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/socket+linux-tmpfs/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/socket+linux-tmpfs/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/socket+linux-tmpfs/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre11/src/ipc/socket+linux-tmpfs/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/ipc/socket+linux-tmpfs/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/README b/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/README deleted file mode 100644 index 096cc779..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/README +++ /dev/null @@ -1,22 +0,0 @@ -Build a small library that can be used by different applications, that provides: - - Constants / Macros: - for cinit_halt: - CINIT_HALT - CINIT_REBOOT - CINIT_POWEROFF - - for cinit_svc_start/stop: - CINIT_SVC_NORMAL - CINIT_SVC_NEEDS - CINIT_SVC_ONLY - CINIT_SVC_WANTS - - Functions: - void cinit_halt(int how); - int cinit_svc_start(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - -This lib must then include: - - choosen ipc functions diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_enable_service.c b/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_enable_service.c deleted file mode 100644 index f357d7bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_enable_service.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * enables a service - */ - - -#include "" /* include global header */ - -int cinit_enable_service(char *name, int how) -{ - int tmp; - - /* every client has to connect to cinit first */ - tmp = cinit_ipc_logon(); - if(!tmp) return 0; - - switch(how) { - case 'p': /* power off */ - break; - - default: - break; - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_get_svc_status.c b/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_get_svc_status.c deleted file mode 100644 index 07344586..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_get_svc_status.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Retrieves status of a service - */ - - -#include /* malloc */ -#include /* str* */ -#include /* integers */ - -#include "cinit.h" /* header for clients */ - -/* returns either the status (>0) - * or -1 on memory error - */ -int32_t cinit_get_svc_status(char *name) -{ - struct cinit_question ask; - struct cinit_answer answer; - - ask.cmd = CINIT_MSG_GET_STATUS; - strcpy((ask.data), name); - ask.options = 0; - - cinit_send_to(&ask, &answer); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_get_version.c b/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_get_version.c deleted file mode 100644 index 557982d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_get_version.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Retrieves version of cinit - */ - -#include /* malloc */ -#include /* str*, memset */ -#include /* NULL */ - -#include "cinit.h" /* header for clients */ - -char *cinit_get_version() -{ - struct cinit_question ask; - struct cinit_answer answer; - char *ret; - - memset(&ask,'\0',sizeof(ask)); - ask.cmd = CINIT_MSG_GET_VERSION; - - if(!cinit_send_to(&ask, &answer)) return NULL; - - ret = malloc(strlen(answer.data) +1); - if(!ret) return NULL; - strcpy(ret,answer.data); - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_halt.c b/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_halt.c deleted file mode 100644 index c388ba89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_halt.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cinit_halt(): call for library - */ - - -#include "" /* include global header */ -int cinit_halt(int how) -{ - switch(how) { - case 'p': /* power off */ - break; - - default: - break; - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_read_from.c b/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_read_from.c deleted file mode 100644 index 54499be3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_read_from.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read data from cinit to the client - */ - - -#include "ipc.h" /* IPC */ - -/* gets a bunch of bytes and returns the answer from cinit */ -int cinit_read_from(char **dest, int len) -{ - if(!cinit_ipc_logon()) return NULL; - if(!cinit_ipc_connect()) return NULL; - - /* FIXME: add length to ipc function? */ - if(!cinit_ipc_csend(data)) return NULL; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_send_to.c b/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_send_to.c deleted file mode 100644 index 49edc481..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/libcinit/cinit_send_to.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * sends data from the client to cinit - */ - - -#include "ipc.h" /* IPC */ -#include "cinit.h" /* struct cinit_message */ - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) -{ - if(!cinit_ipc_logon()) return 0; - if(!cinit_ipc_csend(data)) return 0; - if(!cinit_ipc_cread(res)) return 0; - if(!cinit_ipc_logoff()) return 0; - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/cinit deleted file mode 100644 index a19741e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/cinit +++ /dev/null @@ -1,51 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/set_signals.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/gen_halt_tree.o -svc/list_delete.o -svc/list_insert.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/shutdown_services.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_start.o -svc/svc_fail.o -comm/read_command.o diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/cmd b/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/cmd deleted file mode 100644 index 48a8211b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/cmd +++ /dev/null @@ -1,10 +0,0 @@ -client/cmd.o -generic/print_errno.o -generic/mini_printf.o -libcinit/cinit_get_svc_status.o -libcinit/cinit_get_version.o -libcinit/cinit_send_to.o -ipc/current/cinit_ipc_logon.o -ipc/current/cinit_ipc_csend.o -ipc/current/cinit_ipc_cread.o -ipc/current/cinit_ipc_logoff.o diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/halt.kill b/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/halt.kill deleted file mode 100644 index e5b12a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/halt.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/halt.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/poweroff.kill b/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/poweroff.kill deleted file mode 100644 index 306fc0bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/poweroff.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/poweroff.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/reboot.kill b/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/reboot.kill deleted file mode 100644 index f851badf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/object_lists/reboot.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/reboot.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre11/src/os/freebsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre11/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre11/src/os/freebsd/poweroff.c deleted file mode 100644 index c73dd079..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre11/src/os/freebsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre11/src/os/linux/halt.c deleted file mode 100644 index 5ee3eb53..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre11/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre11/src/os/linux/poweroff.c deleted file mode 100644 index c7d2b1c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre11/src/os/linux/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre11/src/os/netbsd/halt.c deleted file mode 100644 index 972aecf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/netbsd/halt.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre11/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre11/src/os/netbsd/poweroff.c deleted file mode 100644 index 17d7b259..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre11/src/os/netbsd/reboot.c deleted file mode 100644 index 14313e17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/netbsd/reboot.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre11/src/os/openbsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre11/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre11/src/os/openbsd/poweroff.c deleted file mode 100644 index bf4120e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre11/src/os/openbsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/check_add_deps.c deleted file mode 100644 index 36d8a2cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/check_add_deps.c +++ /dev/null @@ -1,128 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers, check: - * getcwd */ -#include - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" -#include "svc.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - /* FIXME remove in production */ - D_PRINTF("CAD::"); - D_PRINTF(svc->abs_path); - D_PRINTF("\n"); - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf,C_NEEDS)) return 0; - } else { - if(!path_append(buf,C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent=readdir(d_tmp))!=NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* skip non-working directories / broken links - * path_absolute reports errors on failure */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - dep_entry_add(&(new_svc->needed),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs),deps); - } else { - dep_entry_add(&(new_svc->wanted),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants),deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/dep_create.c deleted file mode 100644 index 691d66b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/dep_create.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/dep_entry_add.c deleted file mode 100644 index 2ac16443..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/dep_entry_add.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(*deplist == NULL) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/dep_entry_del.c deleted file mode 100644 index ab822a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/dep_entry_del.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ - -#include "svc.h" /* struct *dep */ - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* last service in the list */ - if(del->next == del && del->prev == del) { - tmp=NULL; - } else { - /* remove from list */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/dep_needs_wants_add.c deleted file mode 100644 index 58e18b14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,65 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ - -#include "svc.h" /* struct *dep */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed; - } else { - end = svc->wanted; - } - - /* Place to the first dependency of this service */ - tmp = end; - if(tmp != NULL) { - do { - /* Add service to the starter list, which - * - should be started once - * - should be respawned (both VIRGIN services!) - * - and which are not already in the list! - */ - if(((tmp->svc->status & ST_SH_ONCE) || - (tmp->svc->status & ST_SH_RESPAWN)) && - !(tmp->svc->status & ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= ST_IN_LIST; - dep_entry_add(list,new); - } - /* FIXME: Clearify if we should go forward or backwards? - * this decision will influence starting order - * and may thereby add a minimal mount of speed enhancement - * - * As far as I can see it is not predictable, which way is - * better, because it heavily depends on the other services. - * - * If you know better, provide me with a patch ;-) - */ - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/gen_halt_tree.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/gen_halt_tree.c deleted file mode 100644 index fc297de7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/gen_halt_tree.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * This function reads the full service tree and generates - * a list of services to begin shutdown (those that are not - * wanted or needed by any other service). - */ - -#include /* NULL */ - -#include "svc.h" /* structs */ -#include "intern.h" /* structs */ - -struct dep *gen_halt_list(struct listitem *svc_tree) -{ - struct dep *list = NULL, *new = NULL; - struct listitem *tmp; - - /* no tree? nothing to shutdown. */ - if(!svc_tree) { - return NULL; - } - - /* find all services that do not depend on other services: - * - empty wants? (currently ignore them) - * - empty needs! - */ - tmp = svc_tree; - do { - if(tmp->needs == NULL) { - /* create new dependency */ - new = dep_create(tmp); - if(!new) return NULL; - - dep_entry_add(&list,new); - } - tmp = tmp->next; - } while(tmp != svc_tree); - - return list; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/gen_svc_tree.c deleted file mode 100644 index 80ea6463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include - -#include "intern.h" /* functions */ -#include "svc.h" - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li=list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return NULL; - - if(!check_add_deps(li,DEP_NEEDS)) return NULL; - if(!check_add_deps(li,DEP_WANTS)) return NULL; - - /* no dependencies? then you are a start service */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&svc_init,deps); - - /* Mark it as being in the startup list, so it does not - * get added again in a dep_needs_wants_add call */ - li->status |= ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_delete.c deleted file mode 100644 index d036b979..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_delete.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* free */ -#include "intern.h" /* list_search */ -#include "svc.h" /* listitem */ - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if(tmp == NULL) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - - free(tmp->abs_path); - free(tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_display_all.c deleted file mode 100644 index 4955acbb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_display_all.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ - -#include "messages.h" /* D_PRINTF */ -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return 0; - } else { - tmp = svc_list; - } - - do { - D_PRINTF("Service: "); - D_PRINTF(tmp->abs_path); - D_PRINTF("\n"); - - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_insert.c deleted file mode 100644 index a0ad6f2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_insert.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* malloc */ -#include /* bzero / memset */ -#include "svc.h" /* the list pointer */ - -struct listitem *list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) return NULL; - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_modify.c deleted file mode 100644 index 267539d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_modify.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED. Not in use anymore. - * - * part of cLinux/cinit - * - * List handling - */ - -#error "NOT IN USE" - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if(tmp == NULL) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_search.c deleted file mode 100644 index 6591f988..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_search.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ - -#include "intern.h" -#include "svc.h" - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_search_pid.c deleted file mode 100644 index 4f9634c9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/list_search_pid.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Search by pid - */ - -#include /* NULL */ -#include /* pid_t */ - -#include "svc.h" /* struct listitem */ - -struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return NULL; - } else { - tmp = svc_list; - } - - do { - if(pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/shutdown_services.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/shutdown_services.c deleted file mode 100644 index 3432c8ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/shutdown_services.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Shutdown all services: This is more or less the negative - * version of 'tree_exec()' - */ - -#include "svc.h" /* struct */ -void shutdown_services(struct listitem *svc) -{ - while(0) { - svc++; - } - /* stop services in the correct order: - * - begin at a random process, and walk the tree up to the wanted_by and needed_by - * - switch to next service, as soon as this tree is finished - */ - -// while(we_are_wanted_or_needed) { -// shutdown_services(next_wants_or_needs_us); -// } - -// shutdown_services(svc) - - /* begin at svc, iterate until a service without dependencies is found, - * continue stopping through wanted-by / needed-by / wants / needs */ - - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_add_needs.c deleted file mode 100644 index 2c045328..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_add_needs.c +++ /dev/null @@ -1,69 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED! - * - * part of cLinux/cinit - * - * List handling - */ - -#error "NOT IN USE" - -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_create.c deleted file mode 100644 index 3d9e05bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_create.c +++ /dev/null @@ -1,52 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* strcpy */ -#include /* stat */ -#include /* stat */ -#include /* PATH_MAX */ -#include /* errno */ - -#include "svc.h" /* listitem */ -#include "intern.h" /* path_append */ -#include "messages.h" /* D_PRINTF */ - -/* checking for existence is done before! */ -/* FIXME: check heedars for conformance with POSIX */ -struct listitem *svc_create(char *svc) -{ - char buf[PATH_MAX+1]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc,-1); - if(!li) return NULL; - - /* FIXME: add two path length checks? svc and svc+strlen(C_RESPAWN)? */ - strcpy(buf,svc); - if(!path_append(buf,C_RESPAWN)) return NULL; - - if(stat(buf,&statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li,ST_SH_ONCE); - } else { - return NULL; - } - } else { - /* FIXME remove debug */ - D_PRINTF("respawn: "); - D_PRINTF(li->abs_path); - D_PRINTF("\n"); - - svc_set_status(li,ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_fail.c deleted file mode 100644 index 7c150c85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_fail.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Mark the service as being failed - */ - -#include "svc.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) - li->status = ST_ONCE_FAIL; - else { - /* FIXME: do something senseful, record time of dead? */ - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_needs_status.c deleted file mode 100644 index ad00ed4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_needs_status.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return status of the needs of this service - */ - -#include /* NULL */ - -#include "svc.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - - if(deps == NULL) return SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* worst case: need failed */ - if((deps->svc->status & ST_NEED_FAILD) || - (deps->svc->status & ST_ONCE_FAIL)) { - retval = SNS_NEEDS_FAILED; - break; - } - /* services are being started */ - if((deps->svc->status & ST_SH_ONCE) || - (deps->svc->status & ST_SH_RESPAWN)) { - retval = SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_report_status.c deleted file mode 100644 index 3802afe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_report_status.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Tell the world what happened to the service - */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC,1); - mini_printf(svc,1); - mini_printf(": ",1); - mini_printf(msg,1); - if(err) { - mini_printf(" (",1); - mini_printf(err,1); - mini_printf(")",1); - } - mini_printf("\n",1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_respawn_check.c deleted file mode 100644 index 0fae4def..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED? not in use. - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#error "NOT IN USE" - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX+1]; - - strcpy(buf,svc->abs_path); - if(!path_append(buf,C_RESPAWN)) return 0 -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_set_status.c deleted file mode 100644 index 73d5da91..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_set_status.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_set_status(struct listitem *li, int status) -{ - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_should_respawn.c deleted file mode 100644 index 04acfe1d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return whether should respawn or not - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_start.c deleted file mode 100644 index 8ab08e3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_start.c +++ /dev/null @@ -1,93 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* nanosleep() */ -//#include /* gettimeofday() */ - -#include "svc.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li, int delay) -{ - char buf[PATH_MAX+1]; - struct timespec ts; - - /* FIXME: All cleanup must go here - * close(fds); - * reset signals - * reset env? - * - * FIXME: Add logging possibility to here - * open (0,1,2) to other processes, if specified */ - D_PRINTF("VORM Fork()\n"); - li->pid = fork(); - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path,MSG_SVC_FORK,strerror(errno)); - svc_set_status(li,ST_BAD_ERR); - return; - } - /********************** parent ************************/ - if(li->pid > 0) { - D_PRINTF("ELTERN\n"); - /* set start time */ - li->start = time(NULL); - - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_RUN; - else - li->status = ST_RESPAWNING; - return; - } - - /********************** Client / fork() ************************/ - /* sleep, if necesseray */ - printf("Delay: %d\n", delay); - if(delay) { - ts.tv_sec = delay; - ts.tv_nsec = 0; - - /* FIXME: also report value; int2char */ - svc_report_status(li->abs_path,MSG_SVC_SLEEP,NULL); - - /* do not need to check for errors, because we can continue anyway */ - nanosleep(&ts,NULL); - } - svc_report_status(li->abs_path,MSG_SVC_START,NULL); - - /* length check is done by path_append */ - strcpy(buf,li->abs_path); - if(!path_append(buf,C_ON)) return; - - /* Check for existence */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - _exit(0); /* nothing there? fine! */ - } - - if(li->status == FE_FILE) { - /* FIXME: reset signals: Is this necessary? Or does fork clean it anyway? */ - set_signals(ACT_CLIENT); - - /* and now, fire it up */ - execute_sth(buf); - } else { - /* either no file or an error */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_success.c deleted file mode 100644 index dc4057e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/svc_success.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include /* NULL */ - -#include "svc.h" /* listitem, svc_report_status */ -#include "messages.h" /* messages */ - -void svc_success(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) { - svc_report_status(li->abs_path,MSG_SVC_OK_ONCE,NULL); - li->status = ST_ONCE_OK; - } else { - svc_report_status(li->abs_path,MSG_SVC_OK_RESPAWN,NULL); - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre11/src/svc/tree_exec.c deleted file mode 100644 index 1a789457..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/svc/tree_exec.c +++ /dev/null @@ -1,67 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - -#include /* NULL */ - -#include "intern.h" /* mini_printf */ -#include "svc.h" /* svc_init */ -#include "messages.h" /* messages */ - -/* some thoughts... - * - * - we already generated the tree, we now need to start it from - * the ends - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - - mini_printf(MSG_TREE_EXEC,1); - - /* the main starting loop: All services in this list should be - * started, but it is possible that dependent services are in the - * list. In this case simply skip the current service - */ - do { - switch(svc_needs_status(tmp->svc)) { - case SNS_NEEDS_STARTED: - svc_report_status(tmp->svc->abs_path,"Needs sind durch",NULL); - /* execute service, add dependencies, remowe from list */ - svc_start(tmp->svc,0); - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_FAILED: - /* mark service as NEED_FAILD and delete from list */ - svc_report_status(tmp->svc->abs_path,MSG_SVC_NEED_FAIL,NULL); - svc_set_status(tmp->svc,ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_UNFINISHED: - svc_report_status(tmp->svc->abs_path,"Needs am abarbeiten",NULL); - /* continue with the next item */ - tmp = tmp->next; - break; - } - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/data1.c b/software/cinit/browse_source/cinit-0.3pre11/src/test/data1.c deleted file mode 100644 index 341c6615..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/data1.c +++ /dev/null @@ -1,47 +0,0 @@ -#include -#include -#include - -int main() -{ - int a, b, e; - char *c = "/etc/cinit/svc/...", *data; - - int a2, b2; - char *c2; - - a2 = b2 = 0; - - a = 1001; - b = strlen(c); - c2 = malloc(b+1); - if(!c2) return 40; - - e = sizeof(a) + sizeof(b) + b; - - printf("e=%d (b=%d)\n",e,b); - - data = malloc(e); - if(!data) return 20; - - /* in */ - strcpy(data,(char *) &a); - e = sizeof(a); - strcpy(&data[e],(char *) &b); - e += sizeof(b); - strcpy(&data[e],c); - - /* out */ - strncpy((char *) &a2,data,sizeof(a2)); - printf("a2=%d\n",a2); - e = sizeof(a2); - - strncpy((char *) &b2,&data[e],sizeof(b2)); - printf("b2=%d\n",b2); - e += sizeof(b2); - - strncpy(c2,&data[e],b2); - printf("c2=%s\n",c2); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/memcpy.c b/software/cinit/browse_source/cinit-0.3pre11/src/test/memcpy.c deleted file mode 100644 index b3abfcb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/memcpy.c +++ /dev/null @@ -1,46 +0,0 @@ -#include /* memcpy() */ -#include - -struct cinit_answer { - int options; - char data[2045]; -}; - -int f1(struct cinit_answer *buf); -int f2(struct cinit_answer *buf); - - -int f2(struct cinit_answer *buf) -{ - struct cinit_answer msg; - - printf("f2: %p\n",buf); - - msg.options = 12; - strcpy(msg.data,"stringit"); - - printf("addr= %p\n", memcpy(buf,&msg,sizeof(*buf))); - - printf("ok\n"); - - return 1; -} - -int f1(struct cinit_answer *buf) -{ - printf("f1: %p\n",buf); - printf("ret=%d\n",f2(buf)); - - return 1; -} - -int main() -{ - struct cinit_answer test; - - if(!f1(&test)) return 1; - - printf("s: %s d: %d\n",test.data, test.options); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/test-newline.c b/software/cinit/browse_source/cinit-0.3pre11/src/test/test-newline.c deleted file mode 100644 index 95e03a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/test-newline.c +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include -#include - -char *strip_final_newline(char *test1); - -int main() -{ - //char *test1 = "zeile1\nzeile2\n"; - //char *test2 = "zeile1\nzeile2\nzeile3"; - char *test1; - char *test2; - - test1 = malloc(50); - test2 = malloc(50); - - strcpy(test1,"zeile1\nzeile2\n"); - strcpy(test2,"zeile1\nzeile2\nzeile3"); - - char *result; - result = strip_final_newline(test1); - printf("A%sA\n",result); - - result = strip_final_newline(test2); - printf("B%sB\n",result); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre11/src/test/test_build_argv+link.c deleted file mode 100644 index f74b4f36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre11/src/test/test_build_argv.c deleted file mode 100644 index 3938aa0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre11/src/test/test_gen_svc_tree.c deleted file mode 100644 index c13c46b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre11/src/test/test_openreadclose.c deleted file mode 100644 index 2f722da5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file,&data); - - printf("%s\n",data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/tired.c b/software/cinit/browse_source/cinit-0.3pre11/src/test/tired.c deleted file mode 100644 index 112424ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/tired.c +++ /dev/null @@ -1,22 +0,0 @@ -#include - -struct msgq_server_short { - long mtype; - int mu; -}; - -main() -{ - struct msgq_server_short t1, *t2; - - t2 = &t1; - - int a = sizeof(t1); - int b = sizeof(t2); - int c = sizeof(*t2); - - printf("a=%d,b=%d,c=%d\n",a,b,c); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/src/test/transfer_structure.c b/software/cinit/browse_source/cinit-0.3pre11/src/test/transfer_structure.c deleted file mode 100644 index 5e95b997..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/src/test/transfer_structure.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include - -struct test { - char buf[2048]; - int cmd; -}; - -struct badtest { - char *buf; - int cmd; -}; - -#define PATH "/etc/cinit/svc/local-tuning/udev" - -int main() -{ - struct test cmd; - struct badtest nocmd; - int pfd[2]; - int tmp; - - strcpy(cmd.buf,"/which/service/to/disable"); - cmd.cmd = 42; - - if(pipe(pfd) == -1) return 1; - nocmd.cmd = 42; - nocmd.buf = malloc(strlen(PATH)+1); - strcpy(nocmd.buf,PATH); - - - if(fork() > 1) { - tmp = write(pfd[1],&cmd,sizeof(cmd)); - printf("PA: tmp=%d\n",tmp); - - tmp = write(pfd[1],&nocmd,sizeof(nocmd)); - printf("PA: tmp2=%d\n",tmp); - } else { - strcpy(cmd.buf,""); - cmd.cmd = 0; - - tmp = read(pfd[0],&cmd,sizeof(cmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n",tmp,cmd.cmd,cmd.buf); - - free(nocmd.buf); - nocmd.cmd = 0; - - tmp = read(pfd[0],&nocmd,sizeof(nocmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n",tmp,nocmd.cmd,nocmd.buf); - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre11/util/README b/software/cinit/browse_source/cinit-0.3pre11/util/README deleted file mode 100644 index f66e0ddb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/util/README +++ /dev/null @@ -1,4 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre11/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre11/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre11/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre11/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre11/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre11/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre11/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre12/ b/software/cinit/browse_source/cinit-0.3pre12/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre12/.gitignore b/software/cinit/browse_source/cinit-0.3pre12/.gitignore deleted file mode 100644 index c346b4fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -*.html -*.htm -*.man -*.texi -*.texi -*.docbook -src/halt.kill -src/poweroff.kill -src/reboot.kill -doc/man/*.[0-9] -doc/man/*.xml -src/cmd -.*.swp -.exclude -src/.configured diff --git a/software/cinit/browse_source/cinit-0.3pre12/CHANGES b/software/cinit/browse_source/cinit-0.3pre12/CHANGES deleted file mode 100644 index 9683857e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/CHANGES +++ /dev/null @@ -1,90 +0,0 @@ -cinit-0.3pre12: 2007-09-06 - - Added DESTDIR support - - Added support to get service status via cmd: cmd -s - * also supports relative paths to CINIT_DIR ("/etc/cinit") - - Fixed git clone problem: hooks are needed for dumb git - - Fixed bug: We did not wait for services to finsh, which we depend on being - ran once. - -cinit-0.3pre11: 2007-09-01 - - Added basic communication: - * client binary "cmd" with argument -v returns cinit-version - - Updated {halt,reboot,poweroff}.kill - -cinit-0.3pre10: - - Fixed make install target - - Added halt.kill, poweroff.kill and reboot.kill (including manpages!) - - Fixed invalid comparision in core/cinit.c - - Be verbose: Print what we execute - - Updated documentation - -cinit-0.3pre9: 2007-05-15 - - Implemented sleeping before respawn (static delay) - - Report broken links on execution, but ignore empty services - - Cleaned up message queue error reporting - -cinit-0.3pre8: 2007-04-06 - - Updated and merged documentation: Codingstyle and Codingguide - - Cleaned sigaction-code (fixes segfault on glibc) - - Cleaned object listings - - Added notifications at shutdown - - Fixed status check - -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre12/COPYING b/software/cinit/browse_source/cinit-0.3pre12/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre12/CREDITS b/software/cinit/browse_source/cinit-0.3pre12/CREDITS deleted file mode 100644 index febdcf4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/CREDITS +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: ls -l) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding -Tonnerre Lombard - * NetBSD support (host + hints) diff --git a/software/cinit/browse_source/cinit-0.3pre12/Changelog b/software/cinit/browse_source/cinit-0.3pre12/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre12/Makefile b/software/cinit/browse_source/cinit-0.3pre12/Makefile deleted file mode 100644 index cce0f217..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/Makefile +++ /dev/null @@ -1,108 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation -dev-all: all sizecheck - -install clean dist distclean: - @for subdir in ${CDIRS}; do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && ${MAKE} ${MAKEFLAGS} $@) || break; \ - done; - -.PHONY: sources -sources: - ${MAKE} -C src all - -.PHONY: documentation -documentation: - ${MAKE} -C doc documentation - -sizecheck: sources - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $$FILE; cat $$FILE; \ - cg-add $$FILE - cg-commit $$FILE -m "Size added" - #cg-commit $$FILE -m "Size: $$(awk '{ print $5 }' $$FILE)" - -source-size: clean - @echo -n "Source size (in KiB): " - @du -s src/ | awk '{ sum+=$$1 } END { print sum }' - - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - - -################################################################################ -# Tests -# -tests: - # does not work, due getting killed, due to design :-) - #./scripts/internal/compile_run_as_compiler.sh - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -################################################################################ -# old -#DDOC=ddoc -#SDIRS=bin client conf comm doc generic serv util -# DO NOT CHANGE THIS. -#SBIN=sbin -#CINIT_BIN=$(SBIN)/cinit -# -#%.o: %.c -# $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< -#$(DDOC): -# mkdir $(DDOC) -# -#$(SBIN): -# mkdir $(SBIN) -# -#docs: $(DDOC) bin/cdoc-man.sh -# ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 -# ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 -#$(CSVC_OBJ) $(OBJ): $(CONFIG_H) -#clean: -# $(MAKE) -C src clean -# rm -f tmpbin/* -################################################################################ -#cservice: $(SBIN)/cservice -# -#$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) -# $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ -# $(STRIP) $@ -# -#ccontrol: $(SBIN)/ccontrol -# -#$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) -# $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ -# $(STRIP) $@ -# -#install:: install-dir cinit cservice ccontrol -# @echo '*** Installing cinit ***' -# ./bin/cinit.install.binary diff --git a/software/cinit/browse_source/cinit-0.3pre12/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre12/NEXTTODO deleted file mode 100644 index fd2517a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/NEXTTODO +++ /dev/null @@ -1,16 +0,0 @@ --------------------------------------------------------------------------------- -- create some boot profiles -- cinit.install.standard.dirs.argv -check needs: - really started, after started or after finished starting? -wants: - are they checked? - -implement commands! -- fix devel/codingguideline.text! -- chdir to / after startup - -merge svc_need_status to svc_status - -cinit-communication: - cinit_get_failed_needs(char *name, int *cnt); diff --git a/software/cinit/browse_source/cinit-0.3pre12/README b/software/cinit/browse_source/cinit-0.3pre12/README deleted file mode 100644 index 00f2651b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/README +++ /dev/null @@ -1,106 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Unix -- true dependencies (soft and hard!) -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -FIXME: Add mailing list here - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre12/ROADMAP b/software/cinit/browse_source/cinit-0.3pre12/ROADMAP deleted file mode 100644 index 945f30bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/ROADMAP +++ /dev/null @@ -1,115 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit [DONE] - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree [DONE] - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers [DONE] - code: cleanup makefile - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. [DONE] - code: add special directory (/etc/cinit/conf?) for non-services [DONE] - code: move production code to src/ [DONE] - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory [DONE] - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre12/TODO b/software/cinit/browse_source/cinit-0.3pre12/TODO deleted file mode 100644 index a583a941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/TODO +++ /dev/null @@ -1,327 +0,0 @@ --------------------------------------------------------------------------------- -- define how it should work (doc/braindums/big-picture.text) -- define service status in one document, so repeatition stops! --------------------------------------------------------------------------------- -- remove client/ from top level --------------------------------------------------------------------------------- -Generate automatic asciidoc from conf/* --------------------------------------------------------------------------------- - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s - - Rekursives herunter/rauffahren --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary --------------------------------------------------------------------------------- -1. Entfernung mount - -> Example configuration - -> was man alles machen muss --------------------------------------------------------------------------------- -- add code do implement stopping / restarting with dependency tree --------------------------------------------------------------------------------- -- print service name or cinit: before _everything_ WE print - - - is the reporting ok? - -# cinit.create.empty.service: can only be started from the bin directory - -- Fix Switching services off !! -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren - -- on.out, on.err, on.in? - -> reading/writing from/to files - -- implement "no_kill" until cinit-0.2 or 0.3? - - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) --------------------------------------------------------------------------------- -Helper scripts, rausgenommen aus Der Doku, muessen fuer -cinit-0.3 ueberprueft werden: - -Configure help scripts -~~~~~~~~~~~~~~~~~~~~~~ -cinit-conf later -Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring - * add scripts! see below - - define coding guidelines -> general, with url? - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? - -Documentation -------------- - -developer -~~~~~~~~~ -- ST_IN_LIST == startup marker, used to (NOT) insert services into startup -- dep_needs_wants_add is used to add dependencies of a service to the general - starter list - - -user ----- -- do we really need swapoff? remove umount, swapoff! - * to services! - -> they have to do it! -- dependencies with leading '.' (dot) are ignored. -- about cinit-configuration structure - * cconfig - * svc/ - * special/ (or however we called it) - - panic - - halt - - poweroff - - reboot - --------------------------------------------------------------------------------- -FAQ -~~~ -- DOKU: what happens when a service does not terminate.... - und er als once drin ist ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! - -- multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - --------------------------------------------------------------------------------- -csvc: -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -cinit: -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! - -Child handlin -~~~~~~~~~~~~~g -- free() everything before starting child - -Later -~~~~~ -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? - -> yep, clean environment! -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -- Doc - * main.text -> cleanup / remove / split - * config-dirs - * FAQ - * ideas - * meta.dependencies - - config/hints/meta depps - * optimising - - integrate into other - * README.text - - update - * replacing.init - - update / integrate - * special-services.text - - into configuring/hints? - * TODO - - into paths, if necessary - * updating.cinit - - update as soon as update is possible? - * using.rescue - - update as soon as update is possible? - * 'os-integration.text' - * 'daemons.backgrounding' - * There are some hints on how to migrate to cinit in general and also - some os specific help in the file 'migrating-init-systems.text', -- CODECHECK: - * what happens with the wants of the last services? - - are they added? - - are they added at the correct position? -- scripts - * `cinit.check.config` (doc/user/configuring.cinit.text) - -> circular depedencies! -- Doc.next: - - installing: report! - -> write report script. -- Doc later - * current-init-problems.text - - current-init-problems.text explains why cinit does not use nor recommends the use of shell scripts. - * special-services.text - -- Begin documentation - * Check Makefile - * Integrate Makefile into main Makefile - * create manpage - * Write a small manual - - install - - configure - - boot (different OS) - * generate asciidoc! -- Doc way: - * installing - * configuring - - testconfig! - * booting - - different OS / bootloader - * debugging -- Shutdomn code: - * begin at init, then shutdown wants/needs, ... -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- replace cinit_ipc_logon with cinit_ipc_init... - * delay ipc code -> after start! - -- Cleanup / create object lists - object-lists/ - cinit - cservice - ccontrol - cinit.halt - cinit.reboot - cinit.shutdown (shell script?!?) - - -TODO.pre9: - - Done: - - pfad korrigieren (home/..../ -> cinit.release) - - cg-add nicht aufrufen beim make all! -ser/nico/oeffentlich/computer/projekte/cinit/cinit-0.3pre8/doc' -FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $FILE; cat $FILE; \ - cg-add $FILE --rwx------ 1 nico nico 72601 2007-04-06 17:52 src/cinit -There is no GIT repository here (.git not found) -make: *** [sizecheck] Fehler 1 - - setup VM for testing: qemu/kvm/virtualbox (no commercial bloaty) - -> uml! - - sleep when respawnig! - -> static delay of five seconds - do_reboot.c: - is ipc closed? -> check! => done! - - ignore msgrcv: Interrupted system call -Session terminated, killing shell...msgq-destroy: Invalid argument -msgq-destroy: Invalid argument - - do not print an error if /etc/cinit/conf/last is non-existent! - => print it. Do not not print it, as this can aid debugging. - include locking via shm, remove test on pid1 - => not necessary imho currently - - -TODO.pre10: - Done: - cleanup client/ comm/ contrib+tools/ util/ tmp/ - Debugging cinit-configuration: - ls -lR /etc/cinit - or: cinit.read.... - -TODO.pre11: - Remove some debugging, re-introduce DEBUG() macro.. - Fix doc: - - make dist should cleanup cc / ld to sane values? - or do I experiement in tmp/*? - - http://linux.schottelius.org/cinit/browse_source/current/doc/user/config-dirs - conf/c_halt - - IPC: - * check msqg-code - * documentate the ipc functions: update devel/ipc.text - * check cinit_read_command() (devel/ipc.h) - - do_reboot.c: - write cinit_svc_shutdown - - implement do_reboot() - * so not only booting with cinit works, but also the shutdown - - write libcinit for use in cmd() - - find out why gettimeofday() and time() do strange things when called in SIG_CHLD - => bug opened in glibc, got to code testprogram - - write cinit.conf.check - * report broken links in needs/wants - * report circular dependencies - - pretty print, reporting is ugly! - Add handler for ctrl+alt+delete - * document in paths - * check whether there's an os-unspecific way to do that - cleanup bin/ - - write sys-v-init-shutdown-wrapper - * shutdown - * halt - * reboot - * poweroff - - write manpages for - - *.kill - - cmd - - install: - make install => does not overwrite critical targets - * cinit - * *.kill (see client/*) - * cmd - make force-install => overwrites /sbin/{halt,poweroff,reboot}? - => with script that wraps cmd - make install-template: - * creates categories - make install-miniconf: - * creates categories - * creates one service starting a shell (depending on the OS!) - - cleanup src/ - finish ipc code so clients can access cinit - implement CMD_INFO (see comm.h) - - -TODO.pre12: - Check and clean doc/ - Remove *TODO*+ROADMAP and leave behin doc/TODO - -TODO.pre13: - code cmd=(cservice ccontrol halt reboot shutdown poweroff) - => halt/r/... also with kill ... - Test, release and prepare for final cinit-0.3 - -TODO.0.3.1 - add log support - cinit logs to - -> shm saver - services log to - -TODO unclear - - create migration scripts diff --git a/software/cinit/browse_source/cinit-0.3pre12/TODO.doc b/software/cinit/browse_source/cinit-0.3pre12/TODO.doc deleted file mode 100644 index a170a50d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/TODO.doc +++ /dev/null @@ -1,29 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - -caveats -------- - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- cinit ignores the Keyboard request -- Currently there is no support to react on 'ctr+alt+del': -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - diff --git a/software/cinit/browse_source/cinit-0.3pre12/TODO.lucky b/software/cinit/browse_source/cinit-0.3pre12/TODO.lucky deleted file mode 100644 index 3ac57ee5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/TODO.lucky +++ /dev/null @@ -1,16 +0,0 @@ -18:18 hey, ich hatte gerade ein wenig lust mich mit cinit zu befassen, hier also mein - kleiner bug-report: in src/include fehlt cinit.h, (alles auf das aktuelle - tarball bezogen), ich hab's aus pre9 genommen, hatte ich noch da, da git nicht - wollte(Cannot get remote repository information.), ausserdem hast du _ statt - - in doc/man/cinit.text verwendet bei der email, das mag docbook nicht, die - beiden zeilen habe ich korrigiert, danch ging schon mal make all und auch make - ins -18:35 und warum installiert er die man pages nicht mit? -07:20 so, kleiner zwischenbericht, das argv problem bei lvm gibt es mit pre10 nicht - mehr, d.h. dass man auch kein shell-skript mehr braucht um lvm/luks-devices zu - mounten :) -07:20 soweit sieht eig. alles gut aus -07:21 wenn das so bleibt, dann werd' ich dauerhaft auf cinit umsteigen :) -07:21 und wenn sich die gelegenheit bietet, dann stell ich cinit auch mal in der - info-ag von unserer schule vor :) - diff --git a/software/cinit/browse_source/cinit-0.3pre12/TODO.optimisations b/software/cinit/browse_source/cinit-0.3pre12/TODO.optimisations deleted file mode 100644 index 8a686b4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/TODO.optimisations +++ /dev/null @@ -1,19 +0,0 @@ -This file describes enhancements or optimisations that -could be done / checked. - - -Code ----- - -fork() -~~~~~~ - -Security -^^^^^^^^^ -- Closed fds? -- Close other things? -- IPC? - -Cleanup -^^^^^^^ -- Do we have to reset signals or is that done anyway by fork()? diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre12/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.configure.mark deleted file mode 100644 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/.README b/software/cinit/browse_source/cinit-0.3pre12/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre12/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre12/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_env b/software/cinit/browse_source/cinit-0.3pre12/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_init b/software/cinit/browse_source/cinit-0.3pre12/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_last b/software/cinit/browse_source/cinit-0.3pre12/conf/c_last deleted file mode 100644 index 8debf155..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_last +++ /dev/null @@ -1,7 +0,0 @@ -last - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -This maybe a shellscript with the OS-specific umount procedure (like umount -a), -see doc/user/configuring.cinit for more details. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre12/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_off b/software/cinit/browse_source/cinit-0.3pre12/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_on b/software/cinit/browse_source/cinit-0.3pre12/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre12/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_params b/software/cinit/browse_source/cinit-0.3pre12/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre12/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre12/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre12/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre12/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre12/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre12/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/cc b/software/cinit/browse_source/cinit-0.3pre12/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/cflags b/software/cinit/browse_source/cinit-0.3pre12/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre12/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/confdir b/software/cinit/browse_source/cinit-0.3pre12/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/destdir b/software/cinit/browse_source/cinit-0.3pre12/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre12/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre12/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre12/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre12/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/ld b/software/cinit/browse_source/cinit-0.3pre12/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre12/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre12/conf/max_delay deleted file mode 100644 index 30725bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/max_delay +++ /dev/null @@ -1,4 +0,0 @@ -30 - -Maximum number of seconds to sleep between retrying to start it -(respawn only). diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre12/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre12/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre12/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre12/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/os b/software/cinit/browse_source/cinit-0.3pre12/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre12/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre12/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre12/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/prefix b/software/cinit/browse_source/cinit-0.3pre12/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/profile b/software/cinit/browse_source/cinit-0.3pre12/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre12/conf/service_categories deleted file mode 100644 index 2216ea97..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/service_categories +++ /dev/null @@ -1,7 +0,0 @@ -getty init local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. - -Btw, 'init' is the first service and has always to be there, but it does not really -fit into here, because it's a real one, compraed to the pseudo services. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre12/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/strip b/software/cinit/browse_source/cinit-0.3pre12/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre12/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre12/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf/version b/software/cinit/browse_source/cinit-0.3pre12/conf/version deleted file mode 100644 index 5f00ce98..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre12" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre12/conf2/README b/software/cinit/browse_source/cinit-0.3pre12/conf2/README deleted file mode 100644 index c753107d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/conf2/README +++ /dev/null @@ -1,33 +0,0 @@ -Migrate conf/ to general conf/-buildsystem (write documentation for it). - -gpm2 may be an example for this! - -conf/targets: - targets to make available in Makefile and their dependencies - - abstract the build-process somehow, so one can create build-targets? - - c-programs/ (includes cc / ld) - cinit (link to conf/object_listings cinit?) -conf/object_listings - lists of dependencies: - conf/object_listings/cinit contains all objects needed for cinit - -conf/programs/ - like cc, ld, install, ... - -conf/built-options/ - like --... in ./configure - -conf/install/ - - options/ - destdir (prefixed before everything) - prefix (standard prefix) - bin (relative to prefix, if not beginning with a /) - sbin (relative to prefix, if not beginning with a /) - lib (relative to prefix, if not beginning with a /) - targets/ - cinit/ - built-target (link to conf/targets/cinit) - destination (relative to diff --git a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/Makefile deleted file mode 100644 index 23cc41f0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o usage.o mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/cinit-vis.pl deleted file mode 100644 index 4a439fc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/svc/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/cinit.graph.text.c deleted file mode 100644 index 5e5316ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -//#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.graph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.graph.text - textual representatio of the cinit directory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.graph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/cinit.h b/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/cinit.h deleted file mode 100644 index cbde3195..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/cinit.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Dummy header file to intgrate mini_printf and usage - */ - -#ifndef CINIT_DUMMY_HEADER -#define CINIT_DUMMY_HEADER - -void usage(char *banner, char *text); -void mini_printf(char *str,int fd); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/mini_printf.c deleted file mode 120000 index 3e9a596c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/mini_printf.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/mini_printf.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/usage.c b/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/usage.c deleted file mode 120000 index c26691ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/contrib+tools/usage.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/usage.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre12/doc/.buildwarn deleted file mode 100644 index 3a0354dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/.buildwarn +++ /dev/null @@ -1,23 +0,0 @@ -**************************************************************************** -Welcome, cinit greets you. -**************************************************************************** - -Hints: ------- - - Settings used for compiling (not only) can be found in conf/* - - The boot configuration normally resides below /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text _BEFORE_ installing. - -Building cinit --------------- - - "make all" - to build cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre12/doc/Makefile deleted file mode 100644 index 0daac842..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -A2X=a2x -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text man/halt.kill.text man/poweroff.kill.text \ - man/reboot.kill.text man/cmd.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DEVELDOCS = devel/codingguideline.text -DOCS = $(MANDOCS) $(USERDOCS) $(DEVELDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -#TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpages" - @echo "pdf: only generate pdfs (requires: fop)" - -install: $(DOC_ALL) - @echo "===> Copy " man/*.[0-9] "to the correct manpaths" - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -#%.man: %.mandocbook -# ${DOCBOOKTOMAN} --to-stdout $< > $@ - -%.man: %.text - ${A2X} -f manpage $< - -%.pdf: %.text - ${A2X} -f pdf $< - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - rm -f man/*.texi man/*.xml man/*.[0-9] - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/README.text b/software/cinit/browse_source/cinit-0.3pre12/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/root-vm-testing b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/root-vm-testing deleted file mode 100644 index a8773dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/root-vm-testing +++ /dev/null @@ -1,9 +0,0 @@ -[19:33] denkbrett:root% cat uml-mount.sh -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl - -denkbrett# tar cfj ~nico/projekte/cinit/conf-vm-2007-03-05.tar.bz2 cinit -denkbrett# chown -R nico cinit -denkbrett# chown nico ../sbin - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/shutdown.text deleted file mode 100644 index ac76425d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/shutdown.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} - * no, implemented that directly into cinit! -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process - * create mappers for target OS - - Linux - - {free,net,open}bsd - - others may contribute theirself -- also implement poweroff - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement halt - * kill -USR1 1 - - -The implementation ------------------ -x shutdown is initiated -x disable communication (nobody can influence us anymore) -x install special signal handler? - - no. we do not care about zombies anymore, we are gone soon anyway - - simply reset to the default -- begin to shutdown services - * where to start? - * begin shutdown at the end of the tree, viewing/sorting it by the 'needed_by' - -> where to begin sort? - -> worst implementation: scan all services (easy for now) - -> result: list of services, that noone needs :-) - * stop those services and step above - - stop a service, as soon as noone needs it anymore - * check all needed_by links - * more or less the inverted gen_svc_tree -- how to shutdown a service - * if existing, call off - - if off does not exist: - * if respawn: send sigterm to the process - * also implement sigkill at this stage? - - think we can delay it to the end - - otherwise users can use off! - - implement environment for off ($cinit_respawn_pid, $cinit_service_name) - - do *NOT* care about the return value, we can't do anything for it - anymore anyway -- after all services are shutdown, kill all remaining services - * SIGTERM - * wait(defined_time_in_seconds) - * SIGKILL -- call the last command - * to cleanup the system - - umount -a (if needed) - - swapoff (if needed) - - sync (if needed) -- switch off diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/sizes b/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/sizes deleted file mode 100644 index ddd30f75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/braindumps/sizes +++ /dev/null @@ -1,6 +0,0 @@ -sysvinit: -root 1 0.0 0.0 1944 648 ? Ss 02:12 0:00 init [2] - -cinit-0.3pre8-glibc-linux: -compiler 25323 0.0 0.0 1564 392 pts/2 S+ 20:22 0:00 ./cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre12/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre12/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/codingguideline.text b/software/cinit/browse_source/cinit-0.3pre12/doc/devel/codingguideline.text deleted file mode 100644 index d4686d8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/codingguideline.text +++ /dev/null @@ -1,149 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. -Indent variable names, so the names begin all at the same position. -Use three spaces to place them. - - -Whitespaces ------------ -Where to put or avoid whitespaces (space or linefeed (lf)). - - -Spaces -~~~~~~ -- After closing brace "if(test) return 0;" -- Spaces before and after '=', '>', '<', '==', '!='', '>=', '<=', '>>', '<<', '&', '&&', '|', '||' -- After start of comment and before end of comment: '/* text */' - - - After ')', ',' - -No spaces -~~~~~~~~~ -- Within braces and code "(!test)", -- Before braces "if(code)" -- No space before ), so if '))', do not put a space after the first ')' - - -Linebreaks -~~~~~~~~~~ -This somehow includes the setting of braces (indirectly through (not) setting -spaces. - -If -^^ - -Put the if, the braces and the opening curly brace on one line, -put the closing one together with `else` and the new opening -curly brace on one line: - ------------------------------------------------------------------------------- -if(...) { - /* code */ -} else { - /* else: code */ -} ------------------------------------------------------------------------------- - -While -^^^^^ ------------------------------------------------------------------------------- -while(condition) { - /* repeat */ -} ------------------------------------------------------------------------------- - -Do-While -^^^^^^^^ ------------------------------------------------------------------------------- -do { - /* something */ -} while(running); ------------------------------------------------------------------------------- - -Switch -^^^^^^ - ------------------------------------------------------------------------------- -switch(value) { - case DO_SOMETHING: - /* code */ - break; - default: - break; -} ------------------------------------------------------------------------------- - - - -Where to put curly braces -------------------------- - -Functions -~~~~~~~~~ -Opening and closing curly braces are placed on a seperate row: - ------------------------------------------------------------------------------- -int func(int params) -{ - body -} ------------------------------------------------------------------------------- - - -If, else, while, do-while -~~~~~~~~~~~~~~~~~~~~~~~~~ -See above. - - -Comments ---------- -where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - -If there is more than one line containing a comment, try to adjust them -so they look the same in width and position: - ------------------------------------------------------------------------------- - int illuminati = 23; /* do not want to comment that */ - int the_answer_to_everything = 42; /* 42. */ - - [...] - - while(illuminati < the_answer_to_everything) { /* only try before them */ - overtake_world(&self); /* overtake is complex */ - } ------------------------------------------------------------------------------- - - -Header -------- -Put a header into each file, containing: - - - Date of file being put into existence (year is enough) - - Name and e-mail (obfuscated if you want) of the author(s) - - Description of the function - - Copyright statement (if not included GPLv2 or later is assumed) - - -Includes -~~~~~~~~ -Include system headers first, then place own headers. Comment the includes, -wherefore you added them. Example: - ------------------------------------------------------------------------------- -#include /* write */ -#include "cinit.h> /* cinit_ipc_* */ ------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre12/doc/devel/communication.text deleted file mode 100644 index ea5351a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/communication.text +++ /dev/null @@ -1,247 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - - -Numbers -~~~~~~~ -Can be found in include/cinit.h. - - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -Can't use a structure, were missing the point that we cannot transfer dynamic -length strings. Thus the protocol consists of: - - client(int) => cinit - cinit(ini) => client - => after that follows command specific data - -The byte order is host specific (may be little or big endian). - -STRUCTURE WITH STATIC SIZE. MSGRCV! -IPC LAYER CREATES TRANSPORT! - -Type -~~~~ -Messages are binary data. - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: What's the status of service XYZ? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Code, length of service name, the service name (without \0). -int, int, char[]; - - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre12/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre12/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre12/doc/devel/ipc.text deleted file mode 100644 index cdab4fcc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/ipc.text +++ /dev/null @@ -1,141 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - -Abstraction layer: cinit_ipc_* ------------------------------- -You can choose or even reimplement ipc code for cinit. You only have to create -a directory below src/ipc/ and create the following necessary functions: - -int cinit_ipc_init(void); -~~~~~~~~~~~~~~~~~~~~~~~~~ -Initialise the IPC functions in cinit. - - -int cinit_ipc_listen(void); -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Never ending looping function that listens for commands and passes the -retrieved command to read_command(). - -other -~~~~~~ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - - -cinit_get_data(int ident, int size, void *data) => read size bytes from client -with ident - -/***************************************************************************** - * Functions: in clients - */ - int cinit_ipc_logon(void); /* logon to init (client init) */ - int cinit_ipc_connect(void); /* connect to init */ - int cinit_ipc_csend(struct cinit_message *data); /* send to the server from a client */ - - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre12/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre12/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre12/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre12/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre12/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre12/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre12/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre12/doc/man/cinit.text deleted file mode 100644 index 19d0015a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/man/cmd.text b/software/cinit/browse_source/cinit-0.3pre12/doc/man/cmd.text deleted file mode 100644 index ccd372d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/man/cmd.text +++ /dev/null @@ -1,81 +0,0 @@ -cmd(8) -====== -Nico Schottelius - - -NAME ----- -cmd - cinit management and information tool - - -SYNOPSIS --------- -'cmd' [-ed (i|w|n)] [-(p|s) ] [-v] - - -DESCRIPTION ------------ -cmd adds the management possibility to cinit(8). You can retrieve -several information from cinit and change services. - -OPTIONS -------- --d:: - Disable service (see below for required parameters) - (NOT YET IMPLEMENTED) - --e:: - Enable service - - i: Included all needs and wants - - n: Exclude needs - - w: Exclude wants - (NOT YET IMPLEMENTED) - --p:: - Retrieve last process id (pid) for the specific service. For respawn - services this is the pid of the running service. For services that are - started only once it is the pid it had when running. - (NOT YET IMPLEMENTED) - --s:: - Retrieve status of a service. Warning: Do not add trailing slash. - Path can be specified absolute (/etc/cinit/svc/mount/root) or - relative (mount/root). - --v:: - Get version of cinit. - - - -EXAMPLES --------- -Get version:: - [8:44] denkbrett:src# cmd -v - - Version of cinit: 0.3pre12 - -Get status:: - [8:37] denkbrett:src# ./cmd -s mount/root - - Status of /etc/cinit/svc/mount/root is: 2001 - - -BUGS ----- -Not everything is implemented. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License Version 3 (GPLv3). diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre12/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/man/halt.kill.text b/software/cinit/browse_source/cinit-0.3pre12/doc/man/halt.kill.text deleted file mode 100644 index 4a31e257..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/man/halt.kill.text +++ /dev/null @@ -1,46 +0,0 @@ -halt.kill(8) -============ -Nico Schottelius - - -NAME ----- -halt.kill - Halts systems running cinit through a kill call - -SYNOPSIS --------- -'halt.kill' - - -DESCRIPTION ------------ -You normally halt your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to halt -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute halt.kill, your system will be halted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/man/poweroff.kill.text b/software/cinit/browse_source/cinit-0.3pre12/doc/man/poweroff.kill.text deleted file mode 100644 index 62807ba1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/man/poweroff.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -poweroff.kill(8) -================ -Nico Schottelius - - -NAME ----- -poweroff.kill - Halts and powers off systems running cinit through a kill call - -SYNOPSIS --------- -'poweroff.kill' - - -DESCRIPTION ------------ -You normally poweroff your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to poweroff -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute poweroff.kill, your system will be - powered off. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), reboot.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/man/reboot.kill.text b/software/cinit/browse_source/cinit-0.3pre12/doc/man/reboot.kill.text deleted file mode 100644 index a748553e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/man/reboot.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -reboot.kill(8) -============== -Nico Schottelius - - -NAME ----- -reboot.kill - Reboots systems running cinit through a kill call - -SYNOPSIS --------- -'reboot.kill' - - -DESCRIPTION ------------ -You normally reboot your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to reboot -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute reboot.kill, your system will be - rebooted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), poweroff.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre11 b/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre11 deleted file mode 100644 index ec532269..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre11 +++ /dev/null @@ -1,10 +0,0 @@ -Done: -- cleanup ipc: - merge cinit_ipc_logon() and cinit_ipc_connect()? - => already done! -- finish cmd in general, perhaps only including one command. -[18:51] denkbrett:src# LANG=C cp cinit /sbin/cinit -cp: cannot create regular file `/sbin/cinit': Text file busy - => mv & cp! - => documentation! - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre12 b/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre12 deleted file mode 100644 index edbe41d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre12 +++ /dev/null @@ -1,41 +0,0 @@ -Wished release date: 6/7. September - --------------------------------------------------------------------------------- -Done: -- begin to write documentation about client functions - => noone needs that anyway. skip and concentrate on functions now. - -cleanup ipc! - where to call !cinit_ipc_logon and !cinit_ipc_connect? - --------------------------------------------------------------------------------- -Add -Hallo, - -Liebster Nico, wuerdest du die dazu durchringen "make install" und -vllt. sogar "make install-test" in die cinit 0.3er branch aufnehmen? - -vlg Lucky - ==> added make install in previous releases, make test maybe come back - later again. -- cleanup communication: - put parts of comm.h into cinit.h => global exposure - or define new structure in cinit.h? - => removed comm.h -- check svc path in cmd: if it's relative, add /etc/cinit/svc to it - => added. -- add update for git => so cloning does not fail! - => added hook. -Use http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html - => partly implemented - -- remove manual pid support, use the one supplied by msgctl() - => ok. -- there seems to be a race condition in the execution of the - dependency tree: it happens that services that depend on - mounted /proc, have needs on mount/proc are still exited - before /proc is mounted. - problem of cinit or of mount, exiting too early? - guess the first one, so fix it :-) - - => missing check in svc_needs_status.c diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre13 b/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre13 deleted file mode 100644 index 7ab3802f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre13 +++ /dev/null @@ -1,17 +0,0 @@ -Wished released date: 10./11. September - -- add get_svc_pid() -- cleanup cmd: add real usage, add -h for help -- cleanup msgq.h: namespace! -- cleanup cinit_ipc_logon()! -- create libcinit.a/so and link against it -- global symbol to track the connection to cinit in the client - => cinit_ipc_cinit() - initalise ipc in the client (only once) -- cleanup headers: - seems to make more sense, to have more than one exposed header. - cinit.h gets to fast too big. so splitoff to: - /* main */ - /* ... */ -- map status numbers to messages - -Done: diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre14 b/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre14 deleted file mode 100644 index e44373ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre14 +++ /dev/null @@ -1,3 +0,0 @@ -Wished release date: 13. September -- add support for shutting down services on halt -- diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre15 deleted file mode 100644 index a8a98f93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre15 +++ /dev/null @@ -1,2 +0,0 @@ -Wished release date: 20. September -- Add support for starting/stoping services via cmd diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre16 b/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre16 deleted file mode 100644 index a5884020..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre16 +++ /dev/null @@ -1,8 +0,0 @@ -Wished release date: 27. September -- check porting code: - * advise users to set conf/os - * add uname -r | tr ... as make osconfig -- check that all parts of cinit compile at least under: - * linux, linux on 64bit - * FreeBSD - * NetBSD diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre17 b/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre17 deleted file mode 100644 index 82976e37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.3pre17 +++ /dev/null @@ -1,11 +0,0 @@ -Wished release date: 3. October - -"Code quality assurance release" - -- Fix bugs all outstanding bugs. -- Give cinit some time, write some documentation and make pre17 the last pre of the 0.3 - serie. -- Give the code out to other developers, request explicit strong critics - => So even - "This could be in theory, if Mars is behind Pluto on Sunday evening" bugs - are out. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.4 b/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.4 deleted file mode 100644 index 285af994..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/todo/0.4 +++ /dev/null @@ -1,37 +0,0 @@ -16:13 < KillerFox> telmich: hast du eigentlich schon hooks in cinit? -20:07 < KillerFox> Vapier fĂ¼hrt mal wieder Selbstgespräche. -23:39 < telmich> KillerFox: wozu? -23:42 < KillerFox> telmich: es wäre durchaus interessant, um z.B. sterbende Prozesse wieder zu - starten und so. -23:42 < KillerFox> oder einen Hinweis per Mail zu verschicken. -23:43 < telmich> ahh, du meinst so benachrichtigungen von cinit an $prozess? -23:43 < KillerFox> jein -23:43 < KillerFox> du machst z.B. /etc/cinit/hooks/ -23:43 < KillerFox> darin gibts dann Scripte die bei bestimmten Ereignise aufgerufen werden. -23:43 < KillerFox> z.B. wenn ein Prozess stirbt -23:44 < KillerFox> du kannst dir natĂ¼rlich auch Ă¼berlegen, es auf Prozessebene herunter zu - hacken -23:44 < telmich> ja, eher letzeres -23:44 < KillerFox> so könnte man auch ein paar nette Sachen machen. z.B. Aufräumarbeiten - nachdem ein Prozess beendet wurde oder so -23:45 < KillerFox> telmich: ich finde beides Sinnvoller -23:45 < KillerFox> telmich: globale und lokale Hooks -23:45 < KillerFox> lokale Ă¼berschreiben globale oder so -23:45 < telmich> oder laufen beide -23:45 < KillerFox> oder man kaskadiert sie. -23:45 < KillerFox> genau -23:46 < KillerFox> sinnvolle hooks: pre-start, start, post-start, pre-stop, stop, post-stop, - crash -23:46 < KillerFox> oder sowas -23:47 < KillerFox> vielleicht fallen dir noch mehr ein. -23:48 < KillerFox> die Kommunikation könnte man dann wahlweise Ă¼ber Parameter oder - Umgebungsvariablen lösen -23:48 < KillerFox> um z.B. mitzuteilen welcher Prozess gestoppt wurde -23:49 < KillerFox> z.B. wenn man in pre-stop je nach Bedingung den Stop-Vorgang abbrechen will. -23:49 < telmich> via ${ipc} => kommt darauf an, was implementiert ist; zZ ist es ja msgq -23:50 < telmich> ahh, so -23:50 < telmich> das waere noch recht trivial ueber pipes -23:50 < KillerFox> fifos/sockets, was auch immer. -23:50 < KillerFox> das mĂ¼sste man dann mit einer Bibliothek lösen oder so -23:50 < telmich> ja, die ist auch im aufbau in libcinit/ - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre12/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/NEW_using_cinit_freebsd b/software/cinit/browse_source/cinit-0.3pre12/doc/user/NEW_using_cinit_freebsd deleted file mode 100644 index 05499166..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/NEW_using_cinit_freebsd +++ /dev/null @@ -1,21 +0,0 @@ -11:33 < mux> from sys/kern/init_main.c: -11:33 < telmich> mux: that's true; I just tried with linux and I tell the - bootloader, who tells the kernel then -11:33 < mux> static char init_path[MAXPATHLEN] = -11:33 < mux> #ifdef INIT_PATH __XSTRING(INIT_PATH); -11:33 < mux> #else -"/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall"; -11:33 < mux> #endif -11:33 < mux> but you give a loader tunable -11:34 < mux> if ((var = getenv("init_path")) != NULL) { -11:34 < mux> strlcpy(init_path, var, sizeof(init_path)); -11:34 < mux> freeenv(var); -11:34 < mux> } -11:34 < mux> here you are -11:34 < telmich> ahh, that's good -11:34 * telmich has to try cinit on freebsd the next days :-) -12:34 < mux> (s/you give/you can give/) -11:35 < mux> so, simply init_path)="/sbin/cinit" in /boot/loader.conf should do - it -11:35 < mux> minus the typo - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre12/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/configuring.cinit.text deleted file mode 100644 index c04da745..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/configuring.cinit.text +++ /dev/null @@ -1,327 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - -The cinit configuration consists of -- a special configuration directory -- and the service definitions. - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - -Conf ----- -The special configuration directory is normally called `conf/` -(defined at compile-time in `conf/c_confdir`). - -For all executables into this directory apply the same rules as mentioned -below in "Execution: on and off": Appened .params specifies parameters, -appended .env specifies environment. - - -conf/last -~~~~~~~~~ -This is the last part that will be executed. After it has finished, cinit -will halt, power-off or reboot your machine. - -You can use it for whatever task to accomplish (as most things of cinit), but -the idea behind it is to use it for cleaning up things that are not covered -by the off parts of the services. This maybe swapoff (although this is an unecessary -call before poweroff, imho and even if needed this could be handled within the -off part of the same services that enabled it) or `umount -a` for everything -manually mounted and not unmounted yet. - - -conf/sleep_before_kill -~~~~~~~~~~~~~~~~~~~~~~ -This file contains just one line: The number of seconds to sleep after SIGTERM was sent -to every remaining process before sending SIGKILL to all processes. If this file -is unreadable or not existent, cinit will fall back to the value compiled in -(which was specified at build time in conf/sleep_kill). - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start). - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - - -Debugging the configuration ----------------------------- -Use `ls -lR /etc/cinit` or one of the tools found in contrib+tools/. - - -Examples --------- -Currently there are some example configurations available -at http://unix.schottelius.org/cinit/samples/cinit-0.3/, sorted -by host on which they are created. - -In near future, there will also be a file name configuration.example.text, -which will lead you to a sample configuration. - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/daemons.backgrounding.text deleted file mode 100644 index 1218f9a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,83 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- dovecot [imap/pop3 server]: -F -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- freeradius [radiusd]: -f -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openpbx [pbx]: -f -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre12/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre12/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre12/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/problems-and-solutions.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/problems-and-solutions.text deleted file mode 100644 index 92cdd241..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/problems-and-solutions.text +++ /dev/null @@ -1,33 +0,0 @@ -cinit - Problems occured and solutions used -=========================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2007-05-28 -:Author Initials: NS - -This documentes describes real problems people had with -cinit and their appropriate solutions. Feel free to add -your problems and solutions here. - - -Introduction ------------- - - -Adding problems and solutions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Simply add your problem and solution and sign your paragraph -with your name. Then send the diff -u to the cinit mailinglist -or setup a git-repository so I can pull the changes. - - -Hibernate ---------- -uses /sbin/runlevel, which should *not* respond with 0 or 6 -as the second number. As cinit does not have /sbin/runlevel, -because cinit does not have any runlevels, you could hardcode -it to values hibernate accepts: - ----------------------------------------------------------------------- -#!/bin/sh -echo N 2 ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/problems.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/problems.text deleted file mode 100644 index 4fe8a315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/problems.text +++ /dev/null @@ -1,114 +0,0 @@ -Problems using cinit -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-24 -:Author Initials: NS - - -Using a high-speed, true dependency aware, profile supporting -logical acting and reliable init system like cinit is not -completly problem free. This document describes some common -problems you may have and their solutions. - - -Possible problems ------------------ - -Confused users -~~~~~~~~~~~~~~ -Compared to traditional init systems like sys-v-init or bsd-init -cinit introduces a complet new boot concept. This does not just -mean that you have services instead of shell-scripts (which is -one reason cinit is starting up faster), but also that the boot -order may be changed dynamically at bootup:, if a service fails. -And even if no service fails, the boot order may be different -on each boot, because processes are started in parallel and -may return earlier or later on each boot. To coordinate the -parallel running processes, cinit uses depencies, which are pretty -easy to understad when configurung, but may need some more -detailled watching at boot to understand it. - -The 'confused users'-problem is perhaps also the biggest -problem for introducing cinit as a replacement to current -init systems. - - -Configuration issues -~~~~~~~~~~~~~~~~~~~~ - -Not marking services as respawn -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When cinit starts, it will wait for every service to exit. -So if you have a dependency on a service -that never exits, the whole init process may hang (dependending -on the dependencies). If you have services that are intendet -*not* to exit after start, you *have* to mark those with -`respawn`: Those services are started and watched by cinit -and will be restarted. This was a design choice to ensure -that all 'always running' processes *are* restarted. - -I did not find any service that should not exit and not -have a respawn flag. If you really really really have such -a service and you can prove to me that the respawn flag -would do harm to your system, I will think about implementing -a flag that tells cinit not to wait for it, but mark it -as successfully run after it has been started. - -User interaction -~~~~~~~~~~~~~~~~ - -User input -~~~~~~~~~~ -There may be the situation that you have to press a key -or enter some data when a service starts up (like entering -the password for your crypto harddisks). With cinit, this -will look like a mess, because other services may write to -the same console the service wrote a user prompt. - -The best solution for this problem is in my humble -opinion to create an user-input daemon that serialises -the requests and displays one after another. - -This could look like this: Your daemon wants to ask for -a passphrase for the SSL-certificate. You add aa needs -to this daemon to the 'input-daemon'. When you -start this service, it will contact the input-daemon -running on another virtual console and displaying a text -and an input field that is passed back to this service. -After that the input daemon changes back to the initial -console or asks for the next input, if there is another -request available. - -This input daemon may also be run on a graphical (X11) display. -. -Output to the user -~~~~~~~~~~~~~~~~~~ -When cinit starts up there may be many messages printed -out that also may look like printed random order. -To prevent your endusers from being confused you can create -some kind of graphical interface (like a framebuffer -or X11 display) that reads the output of cinit and converts -it to flashing images. It could look like this: - ----------------------------------------------------------------------- - - Your (graphical?) display: - -------------------------------------------------------------- - | /-----------------\ | - | | Red border, | | - | | failed to start | | - | \-----------------/ | - | | - | /------ | - | | Green border, | - | image van | - | | - | | - | | - | | - | | - | | - -------------------------------------------------------------- - - ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre12/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/respawning-sleep.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/respawning-sleep.text deleted file mode 100644 index 24ed17e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/respawning-sleep.text +++ /dev/null @@ -1,52 +0,0 @@ -cinit - Respawning and sleeping -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-13 -:Author Initials: NS - - -How cinit sleeps, before a service is respawned. - -Introduction ------------- -When a service, that is configured to be respawning, exits cinit restarts it. -Because services may be broken and thus cinit would try to restart it many -times in a second, it is necessary to sleep between restarts. - -The big question: How to sleep? ------------------------------------- -The first possibility is to sleep a fixed amount of time between restarts: -For instance one second. This is not a good solution, because this waits -one unecessary second if the process just crashed. It may be too less, if -the service is really broken. - -The second possibility is to sleep a dynamic amount of time. - - -The next big question: How long to sleep? ------------------------------------------ -I think that as long as a service is broken we should not investigate to much -time into restarting it. So we can define a maximum amount of time to sleep -(for instance 30 seconds). The minimum amount of time to sleep is zero seconds. - -When the service is first started, the sleep time defaults to the minimum -amount of time. Each time the service is restarted, the sleep time is adjusted: - -sleep time (st) = Maximum sleep time (mst) / Time the process was running (tr) - -- If tr is < 1 it is adjusted to 1 and thus st is set to mst. -- If tr is > mst, st is set to 0. - - -How to force restart of a service? ----------------------------------- -Use cvsc (to be implemented). - - -Hom is it implemented? ----------------------- -Everytime cinit has to respawn a service it has to fork() itself. -The sleep call is implemented in the fork, so cinit itself does not have -to care about it. After the sleep time is over or the fork() recieves -SIGALARM it executes the real service. cinit itself records as start time -the current time plus sleep time. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre12/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre12/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre12/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre12/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/cconfig.mk.makefile b/software/cinit/browse_source/cinit-0.3pre12/scripts/cconfig.mk.makefile deleted file mode 100644 index 822addce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/cconfig.mk.makefile +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-20, 0110 CEST -# cconfig: create makefile from conf/ directory -# currently: all files -# later: only built-defines -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "#" -echo "# Warning: Autogenerated by $0, do not edit. " -echo "#" -for conf in ${CONFS}; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - echo "${NAME}=${value}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.read-conf deleted file mode 100644 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/README b/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/README deleted file mode 100644 index 64c0d174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/README +++ /dev/null @@ -1 +0,0 @@ -Scripts used to generate or aid in creating a configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/freebsd/create_services.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/freebsd/create_services.sh deleted file mode 100644 index 52e123a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/freebsd/create_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to create from stdin -# Create services (add correct dependencies) -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/freebsd/enable_services.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/freebsd/enable_services.sh deleted file mode 100644 index ce4563a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/freebsd/enable_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to enabled from stdin -# Services must already exist -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/freebsd/search_enabled_services.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/freebsd/search_enabled_services.sh deleted file mode 100644 index 69e519b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/freebsd/search_enabled_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search for enabled services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/freebsd/search_services.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/freebsd/search_services.sh deleted file mode 100644 index 2043e857..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/configuration/freebsd/search_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search all services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of all services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/cinit.release b/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/cinit.release deleted file mode 100644 index 54f1fbe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/cinit.release +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: ls -l - -# only release if I tell it to release -[ "$1" = "now" ] || exit 23 - -#if [ $# -ne 2 ]; then -# echo "This is a maintainer-only script to release cinit" -# echo $(basename $0): source-dir version -# exit 1 -#fi - -# paths -DIR="$(cd $(dirname $0)/../../; pwd -P)" -DDIR="$(cd $(dirname $0)/../../../; pwd -P)" -RDIR=$(basename "$DIR") - -# version -VERSION="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')" -VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')" -VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):.*/\1/')" -OUT_NAME="cinit-${VERSION}.tar.bz2" - -# remote -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ -LINK=current - -echo "=> Version directory: $VERSION" -echo "=> Version conf/version: $VERSION_CONF" -echo "=> Version CHANGES: $VERSION_CHANGES" - -if [ "$VERSION" = "$VERSION_CONF" -a "$VERSION" = "$VERSION_CHANGES" ]; then - echo "=> Version confirmed." -else - echo "*** VERSION MISMATCH ***" - exit 42 -fi - -echo -n "=> Continue? " -read yes - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -# do the work! -( cd "$DIR" && make dist ) || exit 1 - -echo "Creating bzip2 compressed tar" -cd $DDIR -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$RDIR" -chmod 0644 "$OUT_NAME" - -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" - -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" - -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$RDIR\" \"$LINK\"" - -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/compile+run.sh deleted file mode 100644 index 30ec68a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/compile+run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -if [ ! "$1" ]; then - echo "HOSTNAME" - exit 23 -fi - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$host" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/compile_local.sh deleted file mode 100644 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/compile_run_as_compiler.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/compile_run_as_compiler.sh deleted file mode 100644 index f1ba01d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/compile_run_as_compiler.sh +++ /dev/null @@ -1,14 +0,0 @@ -what=$(dirname $0)/../../ -what_real=$(cd "$what" && pwd -P) -dest=~compiler/cinit-test - -set -e -sudo rsync -av "${what_real}/" "$dest" -sudo chown -R compiler "$dest" -sudo -u compiler "${dest}/scripts/internal/compile_local.sh" -sudo -u compiler "${dest}/src/cinit" & -sleep 13 -sudo -u compiler "${dest}/scripts/internal/stop_cinit.sh" - -# exit 0 for make -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/compile_test.sh deleted file mode 100644 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/create_test_config.sh deleted file mode 100644 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/find_right_version.sh deleted file mode 100644 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/qemu-test.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/qemu-test.sh deleted file mode 100644 index fd41312e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/qemu-test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-03: For testing cinit in qemu -# - -emud="${HOME}/emu" -img="${emud}/debian-hd.img" -ddir="${emud}/mount" -loop=/dev/loop1 -fsck="/sbin/fsck.jfs" - -# my jfs is on the first partition, 512*63 bytes offset -offset="32256" - -set -e -set -x -sudo losetup -o "${offset}" "${loop}" "${img}" -sudo "${fsck}" "${loop}" -sudo mount "${loop}" "${ddir}" - -sudo umount "${loop}" -sudo losetup -d "${loop}" diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/stop_cinit.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/stop_cinit.sh deleted file mode 100644 index 86e4d82b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/stop_cinit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Linux specific, but don't care, I am the only person that should use it - -killall -TERM cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/test_on_hosts.sh deleted file mode 100644 index afeb2627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net jiffies.forkbomb.ch ddna044.netstream.ch" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/valgrind deleted file mode 100644 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre12/scripts/report.compile deleted file mode 100644 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre12/scripts/wrapper/linux-sysvinit/shutdown b/software/cinit/browse_source/cinit-0.3pre12/scripts/wrapper/linux-sysvinit/shutdown deleted file mode 100644 index ce413d17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/scripts/wrapper/linux-sysvinit/shutdown +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-cinit /at/ schottelius.org) -# 2007-05-21 -# Behave as being shutdown from Linux' sysvinit - -# parse options, display usage - -# all the functions - -usage() -{ - -cat << cinit_usage - -*** cinit linux-sysvinit shutdown wrapper *** - -Usage shutdown [-akrhHPfnc] [-t secs] time [warning message] - -a: use /etc/shutdown.allow - -k: don't really shutdown, only warn. - -r: reboot after shutdown. - -h: halt after shutdown. - -P: halt action is to turn off power. - -H: halt action is to just halt. - -f: do a 'fast' reboot (skip fsck). - -F: Force fsck on reboot. - -n: do not go through "init" but go down real fast. - -c: cancel a running shutdown. - -t secs: delay between warning and kill signal. - ** the "time" argument is mandatory! (try "now") ** - -You can also call "cmd" directly instead of using this wrapper. - -cinit_usage - -} - -# the main part -usage diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre12/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre12/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2007-02-23-202443 b/software/cinit/browse_source/cinit-0.3pre12/size/2007-02-23-202443 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2007-02-23-202443 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2007-02-23-202720 b/software/cinit/browse_source/cinit-0.3pre12/size/2007-02-23-202720 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2007-02-23-202720 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2007-03-07-231936 b/software/cinit/browse_source/cinit-0.3pre12/size/2007-03-07-231936 deleted file mode 100644 index c2ef3d0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2007-03-07-231936 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71213 2007-03-07 23:18 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/size/2007-04-06-011811 b/software/cinit/browse_source/cinit-0.3pre12/size/2007-04-06-011811 deleted file mode 100644 index 73de8724..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/size/2007-04-06-011811 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71281 2007-04-06 01:17 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/Makefile b/software/cinit/browse_source/cinit-0.3pre12/src/Makefile deleted file mode 100644 index 50074ca9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/Makefile +++ /dev/null @@ -1,160 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -################################################################################ -# -# Build tools / locations -# - -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin -DESTDIR= - -################################################################################ -# -# All objects / binaries -# depend on headers. More or less. FIXME: use gcc -M -# -BIN=halt.kill poweroff.kill reboot.kill cmd -CINIT=cinit -ALLBIN=${BIN} ${CINIT} - -# headers -CONFIG_H=include/config.h -CINIT_HEADERS=${shell cat include/listing} - -# objects -CINIT_OBJ=${shell cat object_lists/cinit} -HALTKILL_OBJ=${shell cat object_lists/halt.kill} -POWEROFFKILL_OBJ=${shell cat object_lists/poweroff.kill} -REBOOTKILL_OBJ=${shell cat object_lists/reboot.kill} -CMD_OBJ=${shell cat object_lists/cmd} - -# -# All objects -# -OBJ=${CINIT_OBJ} ${HALTKILL_OBJ} ${POWEROFFKILL_OBJ} ${REBOOTKILL_OBJ} - -################################################################################ -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: ${ALLBIN} - - -################################################################################ -# -# Generic -# -${OBJ}: ${CINIT_HEADERS} - -%.o: %.c - ${CC} -c -o $@ $< - -################################################################################ -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -${CINIT_OBJ}: ${CONFIG_H} - -${CONFIG_H}: ../conf/* - ../scripts/cinit.mkheader > ${CONFIG_H} - -################################################################################ -# -# Install targets -# - -#install: install-dir cinit cservice ccontrol -install: install-cinit install-utilities - -install-sbin: - install -d ${DESTDIR}/sbin - -install-utilities: install-sbin ${BIN} - @echo '*** Installing utilities ***' - install ${BIN} ${DESTDIR}/sbin - -install-cinit: install-sbin cinit - @echo '*** Installing cinit ***' - @echo "Need to delete cinit before reinstalling it {text file busy problem}" - rm -f ${DESTDIR}/sbin/cinit - install cinit ${DESTDIR}/sbin - -# FIXME: target broken -install-miniconf: - ./bin/cinit.install.miniconf - -# FIXME: target broken -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# - -cinit: ${CINIT_OBJ} - ${LD} $^ -o $@ - -halt.kill: ${HALTKILL_OBJ} - ${LD} $^ -o $@ - -poweroff.kill: ${POWEROFFKILL_OBJ} - ${LD} $^ -o $@ - -reboot.kill: ${REBOOTKILL_OBJ} - ${LD} $^ -o $@ - -cmd: ${CMD_OBJ} - ${LD} $^ -o $@ - -################################################################################ -# -# Internal test targets -# - -uml: cinit cmd - ../../vm/uml/uml-mount.sh - cp cinit cmd ../../vm/uml/root/sbin/ - ../../vm/uml/uml-umount.sh - -umlstart: uml - ../../vm/uml/uml-start.sh - -################################################################################ -# -# Clenaup targets -# - -.PHONY: dist -dist: distclean - -.PHONY: distclean -distclean: clean - rm -f os/current ipc/current .configured - -.PHONY: clean -clean: - rm -f ../tmpbin/*.configured - rm -f ${BIN} ${CINIT_OBJ} - rm -f client/*.o test/*.o diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre12/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/comm.h b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/comm.h deleted file mode 100644 index 4fbe8c50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/comm.h +++ /dev/null @@ -1,81 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ -#include /* pid_t */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_MIN='A', /* minimum command number */ - CMD_SVC_START, /* the client wants US to start a service */ - CMD_SVC_START_ONLY, /* start this service without dependencies */ - CMD_SVC_START_NEEDS, /* start this service, needs, but no wants */ - CMD_SVC_STOP, /* stop svc and all svcs that need it */ - CMD_SVC_STOP_ONLY, /* we should stop _only_ this service */ - CMD_SVC_STOP_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ /* FIXME: NEEDED? */ - CMD_RESCUE, /* we should start the rescue mode */ /* UNIMPLEMENTED */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ /* UNIMPLEMENTED */ - CMD_INFO, /* send information about that service */ /* UNIMPLEMENTED */ - CMD_MAX , /* maximum command number */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * client issues a command: start_command - */ -struct s_cmd { - char cmd; - pid_t pid; -}; - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/do_result.c b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/run_init_svc2.c b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/run_init_svc2.c deleted file mode 100644 index b613ed6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/run_init_svc2.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/run_svc.c b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/run_svc.c deleted file mode 100644 index 95cc324d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre12/src/ancient/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ancient/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/client/cmd.c b/software/cinit/browse_source/cinit-0.3pre12/src/client/cmd.c deleted file mode 100644 index c43d107b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/client/cmd.c +++ /dev/null @@ -1,128 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cmd - the cinit client program - sends commands to cinit - */ - -#include /* getopt */ -#include /* signals */ -#include /* printf() */ -#include /* free() */ -#include /* strncmp */ - -#include /* integers */ - -#include "cmd.h" /* own header */ -#include "signals.h" /* which signal */ -#include "svc.h" /* service related */ -#include "intern.h" /* print_errno() */ - -#include "cinit.h" /* cinit external */ - -#define C_USAGE(error) usage(USAGE_TEXT,error) -#define LOG(a,b) mini_printf(a,1); minit_printf(b,1); - -/*********************************************************************** - * cmd: main - */ -int main(int argc, char **argv) -{ - int opt, tmp; - int32_t status; - char *svc, *p = NULL; - - tmp = 0; - - /* FIXME: change e/d: make it a must to specify - * -d w(ants) excluded) - * -e n(eeds excluded) - * -d i(nclude everything) - */ - - while((opt = getopt(argc,argv,CMD_OPTIONS)) != -1) { - switch(opt) { - /********************************************/ - case 'e': /* enable service */ - svc = optarg; - break; - - case 'd': /* disable service */ - svc = optarg; - break; - - /********************************************/ - case 's': /* get status */ - svc = optarg; - - /* relative path, add the cinit svc path in front of it */ - if(strncmp(svc,SLASH,strlen(SLASH))) { - p = malloc(strlen(CINIT_DIR) - + strlen(SLASH) - + strlen(SVCDIR) - + strlen(SLASH) - + strlen(svc) - + 1); - if(!p) { - /* bad error */ - return 2; - } - strcpy(p,CINIT_DIR); - strcat(p,SLASH); - strcat(p,SVCDIR); - strcat(p,SLASH); - strcat(p,svc); - svc = p; - } - - status = cinit_get_svc_status(svc); - if(status < 0) { - printf("Communication error\n"); - tmp = 1; - } else { - switch(status) { - case CINIT_MSG_SVC_UNKNOWN: - printf("Unknown service: %s\n",svc); - tmp = 1; - break; - case CINIT_MSG_OK: - printf("Status of %s is: %d\n",svc, status); - tmp = 0; - break; - /* should not happen */ - default: - printf("Unknown status returned for %s: %d\n",svc, status); - tmp = 3; - break; - } - } - if(p) free(p); - return tmp; - - break; - - case 'v': /* get version of cinit */ - svc = cinit_get_version(); - if(svc) { - printf("Version of cinit: %s\n",svc); - free(svc); - return 0; - } else { - printf("Cannot get version of cinit!\n"); - return 1; - } - break; - - /* FIXME: add -V: version of cmd */ - - default: - printf("Unimplemented option :-)\n"); - return 1; - break; - } - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/client/halt.kill.c b/software/cinit/browse_source/cinit-0.3pre12/src/client/halt.kill.c deleted file mode 100644 index a84cdf2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/client/halt.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Halt the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_HALT) == -1) { - print_errno(MSG_HALT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/client/poweroff.kill.c b/software/cinit/browse_source/cinit-0.3pre12/src/client/poweroff.kill.c deleted file mode 100644 index 801e119c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/client/poweroff.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_POWEROFF) == -1) { - print_errno(MSG_POWEROFF_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/client/reboot.kill.c b/software/cinit/browse_source/cinit-0.3pre12/src/client/reboot.kill.c deleted file mode 100644 index cd90feda..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/client/reboot.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_REBOOT) == -1) { - print_errno(MSG_REBOOT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/comm/README b/software/cinit/browse_source/cinit-0.3pre12/src/comm/README deleted file mode 100644 index 74a0b376..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/comm/README +++ /dev/null @@ -1,20 +0,0 @@ -All abstracted communication functions. Do not depend on the underlying -inter process communication mechanism. - - - send_command(): client function: sends a command to cinit - - send_service(): client function: send the service name to operate on - - - read_command(): server function: reads beginning of a command - * Extracts the command - * reads client identification (=pid) - * calls other functions, depending on the command send => switch() - - read_service(): server function: reads service - - - write_answer(): server function: answer? - * sends answers to clients => senseful? - - - TODO: - - define information function, that returns various information about - a service - diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/comm/answer_svc_status.c b/software/cinit/browse_source/cinit-0.3pre12/src/comm/answer_svc_status.c deleted file mode 100644 index 1c91897a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/comm/answer_svc_status.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * return status of service - * - */ - -#include /* strncpy */ -#include "svc.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_status(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_MSG_SVC_UNKNOWN; - } else { - asr->ret = CINIT_MSG_OK; - asr->options = tmp->status; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/comm/read_command.c b/software/cinit/browse_source/cinit-0.3pre12/src/comm/read_command.c deleted file mode 100644 index 10b4abd8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/comm/read_command.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cinit reads a command sent by a client, called by ipc listener - * - */ - -#include /* strncpy */ -#include "config.h" /* VERSION */ -#include "cinit.h" /* structures */ -#include "intern.h" /* answer_svc_status() */ - -int read_command(struct cinit_question qsn, struct cinit_answer *asr) -{ - switch(qsn.cmd) { - case CINIT_MSG_GET_VERSION: - asr->ret = CINIT_MSG_OK; - strncpy(asr->data,VERSION,PATH_MAX); - break; - - case CINIT_MSG_GET_STATUS: - if(!answer_svc_status(qsn.data, asr)) return 0; - /* FIXME: handle return 0 in parten */ - break; - - /* Unknown command */ - default: - return 0; - break; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre12/src/core/build_argv.c deleted file mode 100644 index 95add5e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/core/build_argv.c +++ /dev/null @@ -1,166 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "intern.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX+1]; - char *sbuf = NULL; - char *p; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename,pathtmp,PATH_MAX)) == -1) { - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - /* FIXME check bounds! */ - strcpy(pathtmp,basename); - strcat(pathtmp,C_PARAMS); - /* ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL - * ORC_OK: Ok, have a filled buffer (perhaps NULL, too) - * other: Error, print errno - */ - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p+1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,basename); - strcat(pathtmp,C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - sbuf = p+1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre12/src/core/cinit.c deleted file mode 100644 index ff73fedd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/core/cinit.c +++ /dev/null @@ -1,104 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "intern.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ -// pid_t cpid; - - - /* FIXME: RE-ENABLE as SOON AS PRODUCTIVE cpid = getpid(); - * Is this really needed or should we lock() ourselves? - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - /* Look whether we should start a profile */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc-1], strlen(PROFILE) ) ) { - initdir = (char *) malloc( - strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc-1][strlen(PROFILE)]); - break; - } - --argc; - } - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* listen to signals */ - set_signals(ACT_SERV); - - /* pre-calculate service tree */ - if(!gen_svc_tree(initdir)) { - panic(); - } - - /* free, if we malloc()ed before */ - if(strcmp(initdir,CINIT_INIT)) { - free(initdir); - } - - /* change to /, so applications have that as cwd, too - * Is that really seneful? Does that help any application? - * If not, just for looking nice, that's not a reason to - * enable it. - if(chdir(SLASH) == -1) { - print_errno(SLASH); - panic(); - } */ - - /* start tree from the bottom */ - if(!tree_exec(svc_init)) { - panic(); - } - - D_PRINTF("=> cinit started.\n"); - - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - /* listen for incomming messages: should never return */ - if(!cinit_ipc_listen()) { - panic(); - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre12/src/core/do_reboot.c deleted file mode 100644 index c6c715be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/core/do_reboot.c +++ /dev/null @@ -1,97 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include - -#include "ipc.h" - -/* cleaned up own headers */ -#include "intern.h" /* set_signals */ -#include "svc.h" /* shutdown_services */ -#include "messages.h" /* messages */ -#include "reboot.h" /* cinit_poweroff&co */ - -/* cleaned headers */ -#include /* kill() */ - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - //char **cmd; - //int i; - - /* - * New code: - * 0. close user ipc - * - notify user! - * - do not allow user interupt anymore - * 1. shutdown services - * - notify user! - * 2. kill -TERM all processes - * - notify user! - * 3. kill -KILL all processes - * - notify user! - * 4. execute /etc/cinit/conf/{halt,reboot,poweroff} - * - notify user! - */ - - /* do not listen to client requests anymore */ - /* and tell the user what happens */ - LOG(MSG_SHUTDOWN_START); - cinit_ipc_destroy(); - set_signals(ACT_CLIENT); /* reset signal handlers */ - - /* shutdown all services: take care about the dependency tree */ - LOG(MSG_SHUTDOWN_SVC); - shutdown_services(svc_list); - - LOG(MSG_SHUTDOWN_KILL); - /* now: all services are down, let's kill all other processes */ - if(kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - if(kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* Execute the last command */ - LOG(MSG_SHUTDOWN_LAST); - execute_and_wait(CINIT_LAST); - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } - /* FIXME: should we exit? */ - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre12/src/core/panic.c deleted file mode 100644 index d3dd9459..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/core/panic.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include /* execv */ - -#include "intern.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) _exit(0); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - if(execv(SULOGIN,nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* there's nothing todo, if everything fails */ - _exit(23); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre12/src/core/set_signals.c deleted file mode 100644 index 0ebb6899..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/core/set_signals.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ -#include "intern.h" /* defines */ -#include "reboot.h" /* reboot related */ -#include "signals.h" /* reboot related */ - -void set_signals(int action) -{ - struct sigaction sa; - - sigemptyset(&sa.sa_mask); /* no other signals should be blocked */ - sa.sa_flags = 0; - - if(action == ACT_SERV) { - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - } else { - sa.sa_handler = SIG_DFL; - } - - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - sa.sa_flags = 0; /* reset flags */ - if(action == ACT_SERV) { - sa.sa_handler = do_reboot; - } - sigaction(SIG_CINIT_HALT, &sa, NULL); /* halt */ - sigaction(SIG_CINIT_POWEROFF, &sa, NULL); /* poweroff */ - sigaction(SIG_CINIT_REBOOT, &sa, NULL); /* reboot */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre12/src/core/sig_child.c deleted file mode 100644 index f8903263..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/core/sig_child.c +++ /dev/null @@ -1,91 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The child handler - * - */ - -#include /* waitpid */ -#include /* NULL */ -#include /* gettimeofday() */ /* FIXME: CHECK POSIX */ -#include /* time(),gettime.. */ /* FIXME: CHECK POSIX */ - -#include "intern.h" /* mini_printf */ -#include "svc.h" /* list_search_pid */ -#include "messages.h" /* messages/D_PRINTF */ - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - /* New code: - * - search for pid in service list - * * if (respawn) -> start new - * - insert delay? if exit code is non-zero? if uptime too less? - * * if (once) -> update service status - * * else ignore, but reap away - */ - pid_t pid; - int delay; - struct listitem *svc; -// struct timeval now; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - /* check if it's a watched child */ - svc = list_search_pid((pid_t) pid); - - if(svc != NULL) { - /* Check, that we are operating on it =. that it is no normal child */ - if(svc->status & ST_ONCE_RUN - || svc->status & ST_SH_RESPAWN - || svc->status & ST_RESPAWNING) { - mini_printf("WHILE: svc bekannt!\n",1); - if(WIFEXITED(tmp) && !WEXITSTATUS(tmp)) { - svc_success(svc); - } else { - svc_fail(svc); - } - } - - //mini_printf("WHILE: Vorm respawn!\n",1); - /* respawn: restart: FIXME Delay for regular dying services */ - if(svc->status == ST_RESPAWNING) { - D_PRINTF("WHILE: IM respawn!\n"); - svc_report_status(svc->abs_path,MSG_SVC_RESTART,NULL); - D_PRINTF("WHILE: IM respawn: nach report status!\n"); - - //delay = MAX_DELAY / (time(NULL) - svc->start); - /* if(gettimeofday(&now,NULL) == -1) { - print_errno(MSG_GETTIMEOFDAY);; - delay = 0; - } else { - delay = MAX_DELAY / (now.tv_sec - svc->start); - } */ - - delay = 5; - - /* int test = time(NULL); - test++; - D_PRINTF("WHILE: IM respawn / for printf!\n"); - printf("sig_child: %d, %d, %d, %d\n", - MAX_DELAY, - (int) time(NULL), - (int) svc->start, - (int) (test - svc->start) - ); */ - - // mini_printf("WHILE: Vorm SVC_START!\n",1); - svc_start(svc,delay); - } - //mini_printf("WHILE: NACH respawn!\n",1); - } else { - /* FIXME remove in production version */ - D_PRINTF("Cleanup: reparenting\n"); - } - //mini_printf("WHILE2: Ende sigchild\n",1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre12/src/generic/execute_and_wait.c deleted file mode 100644 index ab808ff1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/generic/execute_and_wait.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* fork */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* exec / child */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* wait / parent */ - waitpid(pid,&status,0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre12/src/generic/execute_sth.c deleted file mode 100644 index 02593940..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/generic/execute_sth.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ - -#include "intern.h" -#include "build_argv.h" -#include "messages.h" /* D_PRINTF */ - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - tmp = cinit_build_argv(basename,&bav); - if((tmp = cinit_build_argv(basename,&bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - /* tell the user what we execute */ - mini_printf(MSG_INTRO_EXEC,1); - mini_printf((bav.argv)[0],1); - mini_printf("\n",1); - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for cinit to recognize - it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre12/src/generic/file_exists.c deleted file mode 100644 index 8f383525..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/generic/file_exists.c +++ /dev/null @@ -1,58 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* errno */ -#include /* stat */ -#include /* NULL */ - -#include "intern.h" /* print_errno() */ -#include "svc.h" /* svc_report_status() */ -#include "messages.h" /* messages.. */ - -int file_exists(char *filename) -{ - struct stat buf; - - /* check: - * - is it a link? if so, is it broken? report! - * - is it non existent? -> return non-existent - * - is it existent, but not a regular file? report! - */ - if(lstat(filename,&buf) == -1) { /* lstat fails? */ - if(errno == ENOENT) { - mini_printf("NIX DA: ok.\n",1); - return FE_NOT; - } else { - mini_printf("anderer fehler.\n",1); - print_errno(filename); - return FE_ERR; - } - } else { - if(S_ISLNK(buf.st_mode)) { /* is a link */ - /* check link destination */ - if(stat(filename,&buf) == -1) { /* do real stat(): */ - if(errno == ENOENT) { - svc_report_status(filename,MSG_BROKENLINK,NULL); - return FE_NOLINK; - } else { - mini_printf("anderer fehler.\n",1); - print_errno(filename); - return FE_ERR; - } - } - } - } /* caught all stat() errors */ - - if(!S_ISREG(buf.st_mode)) { - svc_report_status(filename,MSG_NONREGULAR,NULL); - return FE_OTHER; - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre12/src/generic/mini_printf.c deleted file mode 100644 index d5b0d1f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd,str,(size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre12/src/generic/openreadclose.c deleted file mode 100644 index b271b410..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/generic/openreadclose.c +++ /dev/null @@ -1,66 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "intern.h" /* ORC_* */ - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - *where = NULL; - - /* what a wonderful loop */ - while((fd = open(filename,O_RDONLY)) == -1) { - if(errno == ENOENT) return ORC_ERR_NONEXISTENT; - if(errno != EINTR) return ORC_ERR_OPEN; - } - - cnt = 0; - while (1) { - tmp = read(fd,buf,512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where,cnt + 1); - if(*where == NULL) return ORC_ERR_MEM; - - /* FIXME check correctness of copied buffer... - * and get some sleep..soon, very soon! */ - strncpy(&(*where)[cnt-tmp],buf,tmp); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) continue; - return ORC_ERR_CLOSE; - } - - /* terminate string! */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre12/src/generic/path_absolute.c deleted file mode 100644 index ef8b002e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre12/src/generic/path_append.c deleted file mode 100644 index 87cc49ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/generic/path_append.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre12/src/generic/print_errno.c deleted file mode 100644 index 0286f550..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre12/src/generic/sleep_before_kill.c deleted file mode 100644 index e3c92615..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,43 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Sleep: - * read configuration, - * fallback to builtin value if not possible, - * sleep. - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE,&content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) tmp = SLEEP_KILL; - free(content); - } else { - mini_printf(MSG_BUILTIN_SLEEP,1); - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts,NULL) == -1) { - print_errno(MSG_ERR_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre12/src/generic/strip_final_newline.c deleted file mode 100644 index 4629bb9f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/generic/strip_final_newline.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) { - return NULL; - } - - p = strrchr(str,'\n'); - if(p) { - if(*(p+1) == '\0') { - *p = '\0'; /* DO NOT FORGET TO TERMINATE STRING */ - str = realloc(str,(p-str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre12/src/generic/usage.c deleted file mode 100644 index 260b4ea5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/generic/usage.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * usage: tell the user what's wrong and a help text - * - */ - -#include /* _exit() */ -#include "intern.h" /* mini_printf */ - -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre12/src/include/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/include/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre12/src/include/cinit.h deleted file mode 100644 index ecf87648..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/include/cinit.h +++ /dev/null @@ -1,55 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Header file for external programs (in theory) - */ - -#ifndef CINIT_EXTERNAL_HEADER -#define CINIT_EXTERNAL_HEADER - -/* includes */ -#include /* required for functions */ -#include /* PATH_MAX */ - -/* - * structures: independent of the ipc code! - */ - -/* messages from the client */ -struct cinit_question { - int32_t cmd; - char data[PATH_MAX]; - int32_t options; -}; - -/* messages from cinit */ -struct cinit_answer { - int32_t ret; - int32_t options; - char data[PATH_MAX]; -}; - -/* codes for messages */ -enum { - /* questions */ - CINIT_MSG_QUESTIONS=1000, /* begin questions at 1000 */ - CINIT_MSG_GET_STATUS, /* status of a service */ - CINIT_MSG_GET_VERSION, /* version of cinit */ - - /* answers */ - CINIT_MSG_ANSWERS=2000, /* begin answers at 2000 */ - CINIT_MSG_OK, /* general ok value */ - CINIT_MSG_ERR, /* general error value */ - CINIT_MSG_SVC_UNKNOWN /* Services is not known */ -}; - -/* functions */ -int32_t cinit_get_svc_status(char *); -char *cinit_get_version(void); -int cinit_send_to(struct cinit_question *, struct cinit_answer *); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/include/cmd.h b/software/cinit/browse_source/cinit-0.3pre12/src/include/cmd.h deleted file mode 100644 index f68f85ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/include/cmd.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Header file for the cmd (cinit management) - */ - -#ifndef CINIT_CMD_HEADER -#define CINIT_CMD_HEADER - -#define CMD_USAGE "cmd - cinit management\n\n" \ - "Usage:\n\ncmd -[ed nw v]\n" \ - " -e: enable service\n" \ - " including dependencies\n" \ - " -d: disable service\n" \ - " including dependencies\n" \ - " -n: without needs\n" \ - " Skip wants when en/disabling\n" \ - " -w: without wants\n" \ - " Skip needs when en/disabling\n" \ - " -s: get status\n" \ - " of specified service\n" \ - " -v: get version\n" \ - " of cinit\n" \ - "" - -#define CMD_OPTIONS "e:d:p:s:vV" - -#define MSG_KILL "kill()" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/include/intern.h b/software/cinit/browse_source/cinit-0.3pre12/src/include/intern.h deleted file mode 100644 index a691cb7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/include/intern.h +++ /dev/null @@ -1,117 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * internal header - */ - - -#ifndef _CINIT_INTERN_H -#define _CINIT_INTERN_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* structures: answer / question */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_NOLINK, /* file is a broken symbolic link*/ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_LAST CINIT_CONFDIR SLASH C_LAST -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* needed by set_signals */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* core functions */ -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* communication */ -int read_command(struct cinit_question, struct cinit_answer *); -int answer_svc_status(char *, struct cinit_answer *); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -void print_errno(char *text); - -#endif /* _CINIT_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre12/src/include/ipc.h deleted file mode 100644 index f10fa998..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/include/ipc.h +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/* FIXME: change to cinit/types.h later */ -#include "cinit.h" - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init */ - -int cinit_ipc_connect(void); /* connect to init */ - -int cinit_ipc_csend(struct cinit_question *); /* ask the server */ -int cinit_ipc_cread(struct cinit_answer *); /* read answer */ - -int cinit_ipc_logoff(void); /* logoff */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/include/listing b/software/cinit/browse_source/cinit-0.3pre12/src/include/listing deleted file mode 100644 index bccdad37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/include/listing +++ /dev/null @@ -1,8 +0,0 @@ -include/intern.h -include/config.h -include/ipc.h -include/messages.h -include/os.h -include/reboot.h -include/signals.h -include/svc.h diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre12/src/include/messages.h deleted file mode 100644 index 582d4dc4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/include/messages.h +++ /dev/null @@ -1,161 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * All messages - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -/* OLD Messages to the outside */ -//#define MSG_BIND "bind" -//#define MSG_CONNECT "connect" -//#define MSG_FCNTL "fcntl" -//#define MSG_LISTEN "listen" -//#define MSG_SOCKET "socket" -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# include -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) {} -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ - -/* services: how they should be printed - * /etc/cinit/svc/long/name: started once - * /etc/cinit/svc/long/name: is respawning - * /etc/cinit/svc/long/name: FAILED (why it happened) - */ - -#define MSG_INTRO_CINIT "cinit:" -#define MSG_INTRO_SPACE MSG_INTRO_CINIT " " -#define MSG_INTRO_SVC MSG_INTRO_CINIT -//#define MSG_INTRO_SVC MSG_INTRO_CINIT "service:" -#define MSG_INTRO_STOP MSG_INTRO_CINIT "stop: " -#define MSG_INTRO_EXEC MSG_INTRO_CINIT "exec: " - -/* FIXME: remove/append, but no intro! */ -#define MSG_INTRO_FAIL "FAILED " -#define MSG_INTRO_RESPAWN MSG_INTRO_CINIT "respawn: " -#define MSG_INTRO_OK MSG_INTRO_CINIT "ok: " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" - - -#define MSG_BUILTIN_SLEEP MSG_INTRO_STOP "Using built-in sleep" - -#define MSG_TREE_EXEC MSG_INTRO_SPACE "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_FATAL_PANIC MSG_INTRO_SPACE "I tried everything, but even panic() failed: " -#define MSG_ERR_SLEEP MSG_INTRO_SPACE "Sleep did not succeed" -#define MSG_GETTIMEOFDAY MSG_INTRO_SPACE "gettimeofday() failed!" - -/* execution */ -//#define MSG_EXECUTING MSG_INTRO_EXEC - -/* stat() errors */ -#define MSG_NONREGULAR "Is not a regular file." -#define MSG_BROKENLINK "Is a broken link." - -/* Service messages */ -#define MSG_SVC_START "Starting... " -#define MSG_SVC_STOP "Stoping... " -#define MSG_SVC_RESTART "Restarted." -#define MSG_SVC_SLEEP "Sleeping before restart" -#define MSG_SVC_OK_ONCE "Started once." -#define MSG_SVC_OK_RESPAWN "Is respawning." - -/* Status messages */ -#define MSG_SHUTDOWN_START MSG_INTRO_STOP "\nBeginning the shutdown process..." -#define MSG_SHUTDOWN_SVC MSG_INTRO_STOP "Shutting down services now..." -#define MSG_SHUTDOWN_KILL MSG_INTRO_STOP "Killing remaining processes..." -#define MSG_SHUTDOWN_LAST MSG_INTRO_STOP "Executing final service..." -#define MSG_POWER_OFF MSG_INTRO_STOP "Powering off..." -#define MSG_HALT MSG_INTRO_STOP "Halting system ..." -#define MSG_REBOOT MSG_INTRO_STOP "Rebooting ..." - -/* client messages */ -#define MSG_HALT_KILL "halt.kill" -#define MSG_REBOOT_KILL "reboot.kill" -#define MSG_POWEROFF_KILL "poweroff.kill" - - -/* reboot */ -#define MSG_TERMKILL MSG_INTRO_FAIL "SIGTERM" -#define MSG_KILLBILL MSG_INTRO_FAIL "SIGKILL" - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre12/src/include/os.h deleted file mode 100644 index b3320c0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/include/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/include/reboot.h b/software/cinit/browse_source/cinit-0.3pre12/src/include/reboot.h deleted file mode 100644 index cd8a345e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/include/reboot.h +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot specific functions - * - */ - -#ifndef CINIT_REBOOT_HEADER -#define CINIT_REBOOT_HEADER - -/***************************************************************************** - * the main reboot function - */ -void do_reboot(int signal); - - -/***************************************************************************** - * os specific functions - */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - - -/***************************************************************************** - * Functions: abstract do_reboot - */ -#define cinit_do_reboot() do_reboot(SIGHUP) -#define cinit_do_halt() do_reboot(SIGUSR1) -#define cinit_do_poweroff() do_reboot(SIGTERM) - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/include/signals.h b/software/cinit/browse_source/cinit-0.3pre12/src/include/signals.h deleted file mode 100644 index a51e402d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/include/signals.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Define signals to use: needs signal.h to be included before. - */ - -#ifndef CINIT_SIGNALS_HEADER -#define CINIT_SIGNALS_HEADER - -#define SIG_CINIT_HALT SIGUSR1 -#define SIG_CINIT_POWEROFF SIGTERM -#define SIG_CINIT_REBOOT SIGHUP - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre12/src/include/svc.h deleted file mode 100644 index 1be02a16..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/include/svc.h +++ /dev/null @@ -1,109 +0,0 @@ -/*********************************************************************** - * - * 2006,2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - - -#ifndef _CINIT_SVC_H -#define _CINIT_SVC_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char *abs_path; /* name of service */ - long int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - time_t start; /* time the process was started last time */ - - - struct dep *wanted; /* list of services that want this service */ - struct dep *needed; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *svc_init; /* the services to start */ -extern struct listitem *svc_list; /* the list of services */ - -/* list functions */ -struct listitem *list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); -//int list_display_all(); /* debug only */ - - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -int svc_set_status(struct listitem *li, int status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void svc_start(struct listitem *li, int delay); -void shutdown_services(struct listitem *start); - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum svc_status { - /* first define basics */ - ST_SH_ONCE = 0x1, /* service SHould be started once */ - ST_SH_RESPAWN = 0x2, /* service SHould respawn */ - ST_ONCE_OK = 0x4, /* service was successfully started once */ - ST_ONCE_FAIL = 0x8, /* service failed to start */ - ST_RESPAWNING = 0x10, /* service is respawning */ - ST_NEED_FAILD = 0x20, /* this service is not started, need failed */ - ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - ST_ONCE_RUN = 0x100, /* the once process is currently running */ - ST_NOT_EXIST = 0x200 /* there's no such service in our database */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum svc_needs_status { - SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - SNS_NEEDS_FAILED, /* one ore more needs failed */ - SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq-rt/README b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq-rt/README deleted file mode 100644 index cc1a1b7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq-rt/README +++ /dev/null @@ -1,2 +0,0 @@ -This implementation uses the new realtime inferface of -posix instead of the old one functions. diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq-rt/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq-rt/cinit_ipc_init.c deleted file mode 100644 index ef22b6d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq-rt/cinit_ipc_init.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include - -#include "cinit.h" -#include "config.h" -#include "msgq-rt.h" - -int cinit_ipc_init(void) -{ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq-rt/mq_open.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq-rt/mq_open.c deleted file mode 100644 index 445e7dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq-rt/mq_open.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -int main() -{ - mqd_t readq = mq_open("/test",O_RDWR|O_CREAT|O_EXCL); - //mqd_t readq = mq_open("/bin/ls",O_RDWR|O_CREAT|O_EXCL); - - if(readq == -1) { - perror("oh nein"); - return 1; - } - mqd_t writeq = mq_open("/bin/cp",O_WRONLY|O_CREAT|O_EXCL); - if(readq == -1) { - perror("oh oh nein"); - return 1; - } -} - - diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq-rt/msgq-rt.h b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq-rt/msgq-rt.h deleted file mode 100644 index d09a2808..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq-rt/msgq-rt.h +++ /dev/null @@ -1,39 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#define MSGQ_PATHNAME "/cinit" /* identifier */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_cread.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_cread.c deleted file mode 100644 index ca9da8fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_cread.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client reads messages from cinit - * - */ - -#include /* msg* */ -#include /* memcpy() */ -#include /* getpid() */ -#include - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msq specific */ - -int cinit_ipc_cread(struct cinit_answer *buf) -{ - struct msgq_server asr; - - asr.mtype = getpid(); - - if(msgrcv(__cinit_mq_in, &asr, sizeof(asr.asr), asr.mtype, 0) == -1) { - /* FIXME: msg* */ - print_errno("msgrcv,cread"); - return 0; - } - memcpy(buf, &(asr.asr), sizeof(*buf)); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 316a0a2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client sends messages to cinit - * - */ - -#include /* msgget */ -#include /* memcpy() */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structure */ - -int cinit_ipc_csend(struct cinit_question *qsn) -{ - struct msgq_client msg; - - msg.mtype = 1; /* cinit = 1 */ - - /* copy question structure into the msgq-structure */ - memcpy(&(msg.qsn), qsn, sizeof(msg.qsn)); - - if(msgsnd(__cinit_mq_out, &msg, sizeof(msg), 0) == -1) { - /* FIXME: msg */ - print_errno("msgsnd,csend"); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 1169a731..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ - -#include "msgq.h" /* mq_in, mq_out */ -#include "intern.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(__cinit_mq_in, IPC_RMID, NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(__cinit_mq_out, IPC_RMID, NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index d425abb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,46 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* message queue */ - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_in == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* to_client */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index f0b8f993..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,61 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* printf() */ - -#include /* msgget */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structs */ - -int cinit_ipc_listen(void) -{ - int tmp; - struct msgq_client qsn; - struct msgq_server asr; - struct msqid_ds msq; - - while (1) { - qsn.mtype = 1; /* listen only to mtype = 1, == init */ - tmp = msgrcv(__cinit_mq_in, &qsn, sizeof (qsn.qsn), 0, 0); - - if(tmp == -1) { - if(errno != EINTR) { - print_errno(MSG_MSGQ_MSGRCV); - } - continue; - } - - if(msgctl(__cinit_mq_in, IPC_STAT, &msq) == -1) { - /* FIXME: do MSG_ */ - print_errno("msgctl"); - continue; - } - - printf("pid direkt: self: %d (peer: %d)\n",msq.msg_lrpid, msq.msg_lspid); - - if(!read_command(qsn.qsn, &(asr.asr))) { - /* FIXME: msg; mini_printf! */ - printf("read command failed\n"); - - asr.asr.ret = CINIT_MSG_ERR; - } - - - asr.mtype = msq.msg_lspid; - if(msgsnd(__cinit_mq_out, &asr, sizeof(asr.asr), 0) == -1) { - /* FIXME: do different things on differen errnos ... */ - print_errno("msgsend/answer"); - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index ac8306d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Disconnect from cinit - * - */ - -int cinit_ipc_logoff(void) -{ - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index 40d73e5a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* getpid() */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msgq constants */ - -int cinit_ipc_logon(void) -{ - key_t k_in, k_out; /* FIXME: remove one variable */ - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - k_out = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* FIXME: do not create new queue => cinit should have created them! */ - __cinit_mq_in = msgget(k_in,0666 | IPC_CREAT); - __cinit_mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(__cinit_mq_in == -1 || __cinit_mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/msgq.h deleted file mode 100644 index d8adde83..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * part of cinit - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER -/* FIXME: add _cinit_ to it, we may be in client namespace now! */ - -//#include /* structures */ -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define MSGQ_TO_SERVER 'i' /* also for ftok */ -#define MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables: FIXME: rename, we're in client namespace! - */ -int __cinit_mq_in; /* input */ -int __cinit_mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - struct cinit_question qsn; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server { - long mtype; - struct cinit_answer asr; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_FTOK "ftok" -#define MSG_MSGQ_MSGGET "msgget" -#define MSG_MSGQ_MSGRCV "msgrcv" -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/socket+linux-tmpfs/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/socket+linux-tmpfs/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/socket+linux-tmpfs/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/socket+linux-tmpfs/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre12/src/ipc/socket+linux-tmpfs/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/ipc/socket+linux-tmpfs/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/README b/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/README deleted file mode 100644 index 096cc779..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/README +++ /dev/null @@ -1,22 +0,0 @@ -Build a small library that can be used by different applications, that provides: - - Constants / Macros: - for cinit_halt: - CINIT_HALT - CINIT_REBOOT - CINIT_POWEROFF - - for cinit_svc_start/stop: - CINIT_SVC_NORMAL - CINIT_SVC_NEEDS - CINIT_SVC_ONLY - CINIT_SVC_WANTS - - Functions: - void cinit_halt(int how); - int cinit_svc_start(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - -This lib must then include: - - choosen ipc functions diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_enable_service.c b/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_enable_service.c deleted file mode 100644 index f357d7bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_enable_service.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * enables a service - */ - - -#include "" /* include global header */ - -int cinit_enable_service(char *name, int how) -{ - int tmp; - - /* every client has to connect to cinit first */ - tmp = cinit_ipc_logon(); - if(!tmp) return 0; - - switch(how) { - case 'p': /* power off */ - break; - - default: - break; - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_get_svc_status.c b/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_get_svc_status.c deleted file mode 100644 index 262ea7da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_get_svc_status.c +++ /dev/null @@ -1,30 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Retrieves status of a service - */ - - -#include /* str* */ -#include /* integers */ -#include "cinit.h" /* header for clients */ - -/* returns either the status (>0) - * or -1 on memory error - */ -int32_t cinit_get_svc_status(char *name) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - qsn.cmd = CINIT_MSG_GET_STATUS; - strcpy((qsn.data), name); - qsn.options = 0; - - if(!cinit_send_to(&qsn, &asr)) return -1; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_get_version.c b/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_get_version.c deleted file mode 100644 index 557982d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_get_version.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Retrieves version of cinit - */ - -#include /* malloc */ -#include /* str*, memset */ -#include /* NULL */ - -#include "cinit.h" /* header for clients */ - -char *cinit_get_version() -{ - struct cinit_question ask; - struct cinit_answer answer; - char *ret; - - memset(&ask,'\0',sizeof(ask)); - ask.cmd = CINIT_MSG_GET_VERSION; - - if(!cinit_send_to(&ask, &answer)) return NULL; - - ret = malloc(strlen(answer.data) +1); - if(!ret) return NULL; - strcpy(ret,answer.data); - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_halt.c b/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_halt.c deleted file mode 100644 index c388ba89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_halt.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cinit_halt(): call for library - */ - - -#include "" /* include global header */ -int cinit_halt(int how) -{ - switch(how) { - case 'p': /* power off */ - break; - - default: - break; - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_read_from.c b/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_read_from.c deleted file mode 100644 index 54499be3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_read_from.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read data from cinit to the client - */ - - -#include "ipc.h" /* IPC */ - -/* gets a bunch of bytes and returns the answer from cinit */ -int cinit_read_from(char **dest, int len) -{ - if(!cinit_ipc_logon()) return NULL; - if(!cinit_ipc_connect()) return NULL; - - /* FIXME: add length to ipc function? */ - if(!cinit_ipc_csend(data)) return NULL; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_send_to.c b/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_send_to.c deleted file mode 100644 index 49edc481..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/libcinit/cinit_send_to.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * sends data from the client to cinit - */ - - -#include "ipc.h" /* IPC */ -#include "cinit.h" /* struct cinit_message */ - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) -{ - if(!cinit_ipc_logon()) return 0; - if(!cinit_ipc_csend(data)) return 0; - if(!cinit_ipc_cread(res)) return 0; - if(!cinit_ipc_logoff()) return 0; - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/cinit deleted file mode 100644 index 5a582a82..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/cinit +++ /dev/null @@ -1,52 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/set_signals.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/gen_halt_tree.o -svc/list_delete.o -svc/list_insert.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/shutdown_services.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_start.o -svc/svc_fail.o -comm/read_command.o -comm/answer_svc_status.o diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/cmd b/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/cmd deleted file mode 100644 index 48a8211b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/cmd +++ /dev/null @@ -1,10 +0,0 @@ -client/cmd.o -generic/print_errno.o -generic/mini_printf.o -libcinit/cinit_get_svc_status.o -libcinit/cinit_get_version.o -libcinit/cinit_send_to.o -ipc/current/cinit_ipc_logon.o -ipc/current/cinit_ipc_csend.o -ipc/current/cinit_ipc_cread.o -ipc/current/cinit_ipc_logoff.o diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/halt.kill b/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/halt.kill deleted file mode 100644 index e5b12a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/halt.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/halt.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/poweroff.kill b/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/poweroff.kill deleted file mode 100644 index 306fc0bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/poweroff.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/poweroff.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/reboot.kill b/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/reboot.kill deleted file mode 100644 index f851badf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/object_lists/reboot.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/reboot.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre12/src/os/freebsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre12/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre12/src/os/freebsd/poweroff.c deleted file mode 100644 index c73dd079..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre12/src/os/freebsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre12/src/os/linux/halt.c deleted file mode 100644 index 5ee3eb53..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre12/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre12/src/os/linux/poweroff.c deleted file mode 100644 index c7d2b1c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre12/src/os/linux/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre12/src/os/netbsd/halt.c deleted file mode 100644 index 972aecf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/netbsd/halt.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre12/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre12/src/os/netbsd/poweroff.c deleted file mode 100644 index 17d7b259..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre12/src/os/netbsd/reboot.c deleted file mode 100644 index 14313e17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/netbsd/reboot.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre12/src/os/openbsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre12/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre12/src/os/openbsd/poweroff.c deleted file mode 100644 index bf4120e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre12/src/os/openbsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/check_add_deps.c deleted file mode 100644 index 36d8a2cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/check_add_deps.c +++ /dev/null @@ -1,128 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers, check: - * getcwd */ -#include - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" -#include "svc.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - /* FIXME remove in production */ - D_PRINTF("CAD::"); - D_PRINTF(svc->abs_path); - D_PRINTF("\n"); - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf,C_NEEDS)) return 0; - } else { - if(!path_append(buf,C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent=readdir(d_tmp))!=NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* skip non-working directories / broken links - * path_absolute reports errors on failure */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - dep_entry_add(&(new_svc->needed),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs),deps); - } else { - dep_entry_add(&(new_svc->wanted),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants),deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/dep_create.c deleted file mode 100644 index 691d66b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/dep_create.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/dep_entry_add.c deleted file mode 100644 index 2ac16443..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/dep_entry_add.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(*deplist == NULL) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/dep_entry_del.c deleted file mode 100644 index ab822a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/dep_entry_del.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ - -#include "svc.h" /* struct *dep */ - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* last service in the list */ - if(del->next == del && del->prev == del) { - tmp=NULL; - } else { - /* remove from list */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/dep_needs_wants_add.c deleted file mode 100644 index a4271e6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,64 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ -#include "svc.h" /* struct *dep */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed; - } else { - end = svc->wanted; - } - - /* Place to the first dependency of this service */ - tmp = end; - if(tmp != NULL) { - do { - /* Add service to the starter list, which - * - should be started once - * - should be respawned (both VIRGIN services!) - * - and which are not already in the list! - */ - if(((tmp->svc->status & ST_SH_ONCE) || - (tmp->svc->status & ST_SH_RESPAWN)) && - !(tmp->svc->status & ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= ST_IN_LIST; - dep_entry_add(list,new); - } - /* FIXME: Clearify if we should go forward or backwards? - * this decision will influence starting order - * and may thereby add a minimal mount of speed enhancement - * - * As far as I can see it is not predictable, which way is - * better, because it heavily depends on the other services. - * - * If you know better, provide me with a patch ;-) - */ - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/gen_halt_tree.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/gen_halt_tree.c deleted file mode 100644 index fc297de7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/gen_halt_tree.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * This function reads the full service tree and generates - * a list of services to begin shutdown (those that are not - * wanted or needed by any other service). - */ - -#include /* NULL */ - -#include "svc.h" /* structs */ -#include "intern.h" /* structs */ - -struct dep *gen_halt_list(struct listitem *svc_tree) -{ - struct dep *list = NULL, *new = NULL; - struct listitem *tmp; - - /* no tree? nothing to shutdown. */ - if(!svc_tree) { - return NULL; - } - - /* find all services that do not depend on other services: - * - empty wants? (currently ignore them) - * - empty needs! - */ - tmp = svc_tree; - do { - if(tmp->needs == NULL) { - /* create new dependency */ - new = dep_create(tmp); - if(!new) return NULL; - - dep_entry_add(&list,new); - } - tmp = tmp->next; - } while(tmp != svc_tree); - - return list; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/gen_svc_tree.c deleted file mode 100644 index 80ea6463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include - -#include "intern.h" /* functions */ -#include "svc.h" - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li=list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return NULL; - - if(!check_add_deps(li,DEP_NEEDS)) return NULL; - if(!check_add_deps(li,DEP_WANTS)) return NULL; - - /* no dependencies? then you are a start service */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&svc_init,deps); - - /* Mark it as being in the startup list, so it does not - * get added again in a dep_needs_wants_add call */ - li->status |= ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_delete.c deleted file mode 100644 index d036b979..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_delete.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* free */ -#include "intern.h" /* list_search */ -#include "svc.h" /* listitem */ - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if(tmp == NULL) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - - free(tmp->abs_path); - free(tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_display_all.c deleted file mode 100644 index 4955acbb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_display_all.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ - -#include "messages.h" /* D_PRINTF */ -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return 0; - } else { - tmp = svc_list; - } - - do { - D_PRINTF("Service: "); - D_PRINTF(tmp->abs_path); - D_PRINTF("\n"); - - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_insert.c deleted file mode 100644 index a0ad6f2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_insert.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* malloc */ -#include /* bzero / memset */ -#include "svc.h" /* the list pointer */ - -struct listitem *list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) return NULL; - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_modify.c deleted file mode 100644 index 267539d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_modify.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED. Not in use anymore. - * - * part of cLinux/cinit - * - * List handling - */ - -#error "NOT IN USE" - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if(tmp == NULL) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_search.c deleted file mode 100644 index 3b1733e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_search.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "svc.h" /* struct listitem */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_search_pid.c deleted file mode 100644 index 4f9634c9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/list_search_pid.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Search by pid - */ - -#include /* NULL */ -#include /* pid_t */ - -#include "svc.h" /* struct listitem */ - -struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return NULL; - } else { - tmp = svc_list; - } - - do { - if(pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/shutdown_services.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/shutdown_services.c deleted file mode 100644 index 3432c8ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/shutdown_services.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Shutdown all services: This is more or less the negative - * version of 'tree_exec()' - */ - -#include "svc.h" /* struct */ -void shutdown_services(struct listitem *svc) -{ - while(0) { - svc++; - } - /* stop services in the correct order: - * - begin at a random process, and walk the tree up to the wanted_by and needed_by - * - switch to next service, as soon as this tree is finished - */ - -// while(we_are_wanted_or_needed) { -// shutdown_services(next_wants_or_needs_us); -// } - -// shutdown_services(svc) - - /* begin at svc, iterate until a service without dependencies is found, - * continue stopping through wanted-by / needed-by / wants / needs */ - - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_add_needs.c deleted file mode 100644 index 2c045328..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_add_needs.c +++ /dev/null @@ -1,69 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED! - * - * part of cLinux/cinit - * - * List handling - */ - -#error "NOT IN USE" - -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_create.c deleted file mode 100644 index a9e489d5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_create.c +++ /dev/null @@ -1,47 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* strcpy */ -#include /* stat */ -#include /* stat */ -#include /* PATH_MAX */ -#include /* errno */ - -#include "svc.h" /* listitem */ -#include "intern.h" /* path_append */ -#include "messages.h" /* D_PRINTF */ - -/* checking for existence is done before! */ -/* FIXME: check heedars for conformance with POSIX */ -struct listitem *svc_create(char *svc) -{ - char buf[PATH_MAX+1]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc,-1); - if(!li) return NULL; - - /* FIXME: add two path length checks? svc and svc+strlen(C_RESPAWN)? */ - strcpy(buf,svc); - if(!path_append(buf,C_RESPAWN)) return NULL; - - if(stat(buf,&statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li,ST_SH_ONCE); - } else { - return NULL; - } - } else { - svc_set_status(li,ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_fail.c deleted file mode 100644 index 7c150c85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_fail.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Mark the service as being failed - */ - -#include "svc.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) - li->status = ST_ONCE_FAIL; - else { - /* FIXME: do something senseful, record time of dead? */ - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_needs_status.c deleted file mode 100644 index 5723563a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_needs_status.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return status of the needs of this service - */ - -#include /* NULL */ -#include "svc.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - - if(deps == NULL) return SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* worst case: need failed */ - if((deps->svc->status & ST_NEED_FAILD) || - (deps->svc->status & ST_ONCE_FAIL) || - (deps->svc->status & ST_BAD_ERR) ){ - retval = SNS_NEEDS_FAILED; - break; - } - /* services are being started */ - if((deps->svc->status & ST_SH_ONCE) || - (deps->svc->status & ST_SH_RESPAWN) || - (deps->svc->status & ST_ONCE_RUN) ){ - retval = SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_report_status.c deleted file mode 100644 index 3802afe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_report_status.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Tell the world what happened to the service - */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC,1); - mini_printf(svc,1); - mini_printf(": ",1); - mini_printf(msg,1); - if(err) { - mini_printf(" (",1); - mini_printf(err,1); - mini_printf(")",1); - } - mini_printf("\n",1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_respawn_check.c deleted file mode 100644 index 0fae4def..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED? not in use. - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#error "NOT IN USE" - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX+1]; - - strcpy(buf,svc->abs_path); - if(!path_append(buf,C_RESPAWN)) return 0 -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_set_status.c deleted file mode 100644 index 73d5da91..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_set_status.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_set_status(struct listitem *li, int status) -{ - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_should_respawn.c deleted file mode 100644 index 04acfe1d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return whether should respawn or not - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_start.c deleted file mode 100644 index 6e7b8651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_start.c +++ /dev/null @@ -1,91 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* nanosleep() */ -//#include /* gettimeofday() */ - -#include "svc.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li, int delay) -{ - char buf[PATH_MAX+1]; - struct timespec ts; - - /* FIXME: All cleanup must go here - * close(fds); - * reset signals - * reset env? - * - * FIXME: Add logging possibility to here - * open (0,1,2) to other processes, if specified */ - li->pid = fork(); - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path,MSG_SVC_FORK,strerror(errno)); - svc_set_status(li,ST_BAD_ERR); - return; - } - /********************** parent ************************/ - if(li->pid > 0) { - /* set start time */ - li->start = time(NULL); - - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_RUN; - else - li->status = ST_RESPAWNING; - return; - } - - /********************** Client / fork() ************************/ - /* sleep, if necesseray */ - printf("Delay: %d\n", delay); - if(delay) { - ts.tv_sec = delay; - ts.tv_nsec = 0; - - /* FIXME: also report value; int2char */ - svc_report_status(li->abs_path,MSG_SVC_SLEEP,NULL); - - /* do not need to check for errors, because we can continue anyway */ - nanosleep(&ts,NULL); - } - svc_report_status(li->abs_path,MSG_SVC_START,NULL); - - /* length check is done by path_append */ - strcpy(buf,li->abs_path); - if(!path_append(buf,C_ON)) return; - - /* Check for existence */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - _exit(0); /* nothing there? fine! */ - } - - if(li->status == FE_FILE) { - /* FIXME: reset signals: Is this necessary? Or does fork clean it anyway? */ - set_signals(ACT_CLIENT); - - /* and now, fire it up */ - execute_sth(buf); - } else { - /* either no file or an error */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_success.c deleted file mode 100644 index dc4057e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/svc_success.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include /* NULL */ - -#include "svc.h" /* listitem, svc_report_status */ -#include "messages.h" /* messages */ - -void svc_success(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) { - svc_report_status(li->abs_path,MSG_SVC_OK_ONCE,NULL); - li->status = ST_ONCE_OK; - } else { - svc_report_status(li->abs_path,MSG_SVC_OK_RESPAWN,NULL); - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre12/src/svc/tree_exec.c deleted file mode 100644 index a6b5525e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/svc/tree_exec.c +++ /dev/null @@ -1,68 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - -#include /* NULL */ - -#include "intern.h" /* mini_printf */ -#include "svc.h" /* svc_init */ -#include "messages.h" /* messages */ - -/* some thoughts... - * - * - we already generated the tree, now we need to start it from - * the endings - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - - mini_printf(MSG_TREE_EXEC,1); - - /* the main starting loop: All services in this list should be - * started, but it is possible that dependent services are in the - * list. In this case simply skip the current service - */ - do { - switch(svc_needs_status(tmp->svc)) { - case SNS_NEEDS_STARTED: - svc_report_status(tmp->svc->abs_path,"Needs sind durch",NULL); - /* execute service, add dependencies, remowe from list */ - svc_start(tmp->svc,0); - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_FAILED: - /* mark service as NEED_FAILD and delete from list */ - svc_report_status(tmp->svc->abs_path,MSG_SVC_NEED_FAIL,NULL); - svc_set_status(tmp->svc,ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - /* We never enter this path! */ - case SNS_NEEDS_UNFINISHED: - svc_report_status(tmp->svc->abs_path,"NEEDS AM ABARBEITEN",NULL); - /* continue with the next item */ - tmp = tmp->next; - break; - } - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/data1.c b/software/cinit/browse_source/cinit-0.3pre12/src/test/data1.c deleted file mode 100644 index 341c6615..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/data1.c +++ /dev/null @@ -1,47 +0,0 @@ -#include -#include -#include - -int main() -{ - int a, b, e; - char *c = "/etc/cinit/svc/...", *data; - - int a2, b2; - char *c2; - - a2 = b2 = 0; - - a = 1001; - b = strlen(c); - c2 = malloc(b+1); - if(!c2) return 40; - - e = sizeof(a) + sizeof(b) + b; - - printf("e=%d (b=%d)\n",e,b); - - data = malloc(e); - if(!data) return 20; - - /* in */ - strcpy(data,(char *) &a); - e = sizeof(a); - strcpy(&data[e],(char *) &b); - e += sizeof(b); - strcpy(&data[e],c); - - /* out */ - strncpy((char *) &a2,data,sizeof(a2)); - printf("a2=%d\n",a2); - e = sizeof(a2); - - strncpy((char *) &b2,&data[e],sizeof(b2)); - printf("b2=%d\n",b2); - e += sizeof(b2); - - strncpy(c2,&data[e],b2); - printf("c2=%s\n",c2); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/memcpy.c b/software/cinit/browse_source/cinit-0.3pre12/src/test/memcpy.c deleted file mode 100644 index b3abfcb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/memcpy.c +++ /dev/null @@ -1,46 +0,0 @@ -#include /* memcpy() */ -#include - -struct cinit_answer { - int options; - char data[2045]; -}; - -int f1(struct cinit_answer *buf); -int f2(struct cinit_answer *buf); - - -int f2(struct cinit_answer *buf) -{ - struct cinit_answer msg; - - printf("f2: %p\n",buf); - - msg.options = 12; - strcpy(msg.data,"stringit"); - - printf("addr= %p\n", memcpy(buf,&msg,sizeof(*buf))); - - printf("ok\n"); - - return 1; -} - -int f1(struct cinit_answer *buf) -{ - printf("f1: %p\n",buf); - printf("ret=%d\n",f2(buf)); - - return 1; -} - -int main() -{ - struct cinit_answer test; - - if(!f1(&test)) return 1; - - printf("s: %s d: %d\n",test.data, test.options); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/test-newline.c b/software/cinit/browse_source/cinit-0.3pre12/src/test/test-newline.c deleted file mode 100644 index 95e03a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/test-newline.c +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include -#include - -char *strip_final_newline(char *test1); - -int main() -{ - //char *test1 = "zeile1\nzeile2\n"; - //char *test2 = "zeile1\nzeile2\nzeile3"; - char *test1; - char *test2; - - test1 = malloc(50); - test2 = malloc(50); - - strcpy(test1,"zeile1\nzeile2\n"); - strcpy(test2,"zeile1\nzeile2\nzeile3"); - - char *result; - result = strip_final_newline(test1); - printf("A%sA\n",result); - - result = strip_final_newline(test2); - printf("B%sB\n",result); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre12/src/test/test_build_argv+link.c deleted file mode 100644 index f74b4f36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre12/src/test/test_build_argv.c deleted file mode 100644 index 3938aa0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre12/src/test/test_gen_svc_tree.c deleted file mode 100644 index c13c46b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre12/src/test/test_openreadclose.c deleted file mode 100644 index 2f722da5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file,&data); - - printf("%s\n",data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/tired.c b/software/cinit/browse_source/cinit-0.3pre12/src/test/tired.c deleted file mode 100644 index 112424ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/tired.c +++ /dev/null @@ -1,22 +0,0 @@ -#include - -struct msgq_server_short { - long mtype; - int mu; -}; - -main() -{ - struct msgq_server_short t1, *t2; - - t2 = &t1; - - int a = sizeof(t1); - int b = sizeof(t2); - int c = sizeof(*t2); - - printf("a=%d,b=%d,c=%d\n",a,b,c); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/src/test/transfer_structure.c b/software/cinit/browse_source/cinit-0.3pre12/src/test/transfer_structure.c deleted file mode 100644 index 5e95b997..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/src/test/transfer_structure.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include - -struct test { - char buf[2048]; - int cmd; -}; - -struct badtest { - char *buf; - int cmd; -}; - -#define PATH "/etc/cinit/svc/local-tuning/udev" - -int main() -{ - struct test cmd; - struct badtest nocmd; - int pfd[2]; - int tmp; - - strcpy(cmd.buf,"/which/service/to/disable"); - cmd.cmd = 42; - - if(pipe(pfd) == -1) return 1; - nocmd.cmd = 42; - nocmd.buf = malloc(strlen(PATH)+1); - strcpy(nocmd.buf,PATH); - - - if(fork() > 1) { - tmp = write(pfd[1],&cmd,sizeof(cmd)); - printf("PA: tmp=%d\n",tmp); - - tmp = write(pfd[1],&nocmd,sizeof(nocmd)); - printf("PA: tmp2=%d\n",tmp); - } else { - strcpy(cmd.buf,""); - cmd.cmd = 0; - - tmp = read(pfd[0],&cmd,sizeof(cmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n",tmp,cmd.cmd,cmd.buf); - - free(nocmd.buf); - nocmd.cmd = 0; - - tmp = read(pfd[0],&nocmd,sizeof(nocmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n",tmp,nocmd.cmd,nocmd.buf); - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre12/util/README b/software/cinit/browse_source/cinit-0.3pre12/util/README deleted file mode 100644 index f66e0ddb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/util/README +++ /dev/null @@ -1,4 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre12/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre12/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre12/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre12/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre12/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre12/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre12/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre13/ b/software/cinit/browse_source/cinit-0.3pre13/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre13/.gitignore b/software/cinit/browse_source/cinit-0.3pre13/.gitignore deleted file mode 100644 index c346b4fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -*.html -*.htm -*.man -*.texi -*.texi -*.docbook -src/halt.kill -src/poweroff.kill -src/reboot.kill -doc/man/*.[0-9] -doc/man/*.xml -src/cmd -.*.swp -.exclude -src/.configured diff --git a/software/cinit/browse_source/cinit-0.3pre13/CHANGES b/software/cinit/browse_source/cinit-0.3pre13/CHANGES deleted file mode 100644 index 7e2b83a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/CHANGES +++ /dev/null @@ -1,99 +0,0 @@ -cinit-0.3pre13: 2007-09-26 - - Added -V (get cmd version), -h (help), -p (get pid) to cmd - - Cleaned up namemsage in msgq.h - - Added global service lock - - Splitted of svc.h to svc.h, svc-intern.h and svc-messages.h - - Prepared logic splitoff from cinit_ipc_listen() - - Fixed bug: fork() has a general race condition - (see src/test/fork-latency.c) through use of global lock - -cinit-0.3pre12: 2007-09-06 - - Added DESTDIR support - - Added support to get service status via cmd: cmd -s - * also supports relative paths to CINIT_DIR ("/etc/cinit") - - Fixed git clone problem: hooks are needed for dumb git - - Fixed bug: We did not wait for services to finsh, which we depend on being - ran once. - -cinit-0.3pre11: 2007-09-01 - - Added basic communication: - * client binary "cmd" with argument -v returns cinit-version - - Updated {halt,reboot,poweroff}.kill - -cinit-0.3pre10: - - Fixed make install target - - Added halt.kill, poweroff.kill and reboot.kill (including manpages!) - - Fixed invalid comparision in core/cinit.c - - Be verbose: Print what we execute - - Updated documentation - -cinit-0.3pre9: 2007-05-15 - - Implemented sleeping before respawn (static delay) - - Report broken links on execution, but ignore empty services - - Cleaned up message queue error reporting - -cinit-0.3pre8: 2007-04-06 - - Updated and merged documentation: Codingstyle and Codingguide - - Cleaned sigaction-code (fixes segfault on glibc) - - Cleaned object listings - - Added notifications at shutdown - - Fixed status check - -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre13/COPYING b/software/cinit/browse_source/cinit-0.3pre13/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre13/CREDITS b/software/cinit/browse_source/cinit-0.3pre13/CREDITS deleted file mode 100644 index febdcf4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/CREDITS +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: ls -l) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding -Tonnerre Lombard - * NetBSD support (host + hints) diff --git a/software/cinit/browse_source/cinit-0.3pre13/Changelog b/software/cinit/browse_source/cinit-0.3pre13/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre13/Makefile b/software/cinit/browse_source/cinit-0.3pre13/Makefile deleted file mode 100644 index cce0f217..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/Makefile +++ /dev/null @@ -1,108 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation -dev-all: all sizecheck - -install clean dist distclean: - @for subdir in ${CDIRS}; do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && ${MAKE} ${MAKEFLAGS} $@) || break; \ - done; - -.PHONY: sources -sources: - ${MAKE} -C src all - -.PHONY: documentation -documentation: - ${MAKE} -C doc documentation - -sizecheck: sources - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $$FILE; cat $$FILE; \ - cg-add $$FILE - cg-commit $$FILE -m "Size added" - #cg-commit $$FILE -m "Size: $$(awk '{ print $5 }' $$FILE)" - -source-size: clean - @echo -n "Source size (in KiB): " - @du -s src/ | awk '{ sum+=$$1 } END { print sum }' - - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - - -################################################################################ -# Tests -# -tests: - # does not work, due getting killed, due to design :-) - #./scripts/internal/compile_run_as_compiler.sh - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -################################################################################ -# old -#DDOC=ddoc -#SDIRS=bin client conf comm doc generic serv util -# DO NOT CHANGE THIS. -#SBIN=sbin -#CINIT_BIN=$(SBIN)/cinit -# -#%.o: %.c -# $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< -#$(DDOC): -# mkdir $(DDOC) -# -#$(SBIN): -# mkdir $(SBIN) -# -#docs: $(DDOC) bin/cdoc-man.sh -# ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 -# ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 -#$(CSVC_OBJ) $(OBJ): $(CONFIG_H) -#clean: -# $(MAKE) -C src clean -# rm -f tmpbin/* -################################################################################ -#cservice: $(SBIN)/cservice -# -#$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) -# $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ -# $(STRIP) $@ -# -#ccontrol: $(SBIN)/ccontrol -# -#$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) -# $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ -# $(STRIP) $@ -# -#install:: install-dir cinit cservice ccontrol -# @echo '*** Installing cinit ***' -# ./bin/cinit.install.binary diff --git a/software/cinit/browse_source/cinit-0.3pre13/README b/software/cinit/browse_source/cinit-0.3pre13/README deleted file mode 100644 index 00f2651b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/README +++ /dev/null @@ -1,106 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Unix -- true dependencies (soft and hard!) -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -FIXME: Add mailing list here - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre13/ROADMAP b/software/cinit/browse_source/cinit-0.3pre13/ROADMAP deleted file mode 100644 index 0bf98337..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/ROADMAP +++ /dev/null @@ -1,115 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit [DONE] - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree [DONE] - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers [DONE] - code: cleanup makefile [DONE] - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. [DONE] - code: add special directory (/etc/cinit/conf?) for non-services [DONE] - code: move production code to src/ [DONE] - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory [DONE] - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) [DONE] - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre13/TODO b/software/cinit/browse_source/cinit-0.3pre13/TODO deleted file mode 100644 index cdb08485..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/TODO +++ /dev/null @@ -1,307 +0,0 @@ --------------------------------------------------------------------------------- -- define service status in one document, so repeatition stops! --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary --------------------------------------------------------------------------------- -- add code do implement stopping / restarting with dependency tree --------------------------------------------------------------------------------- -# cinit.create.empty.service: can only be started from the bin directory - -- Fix Switching services off !! -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren - -- on.out, on.err, on.in? - -> reading/writing from/to files - -- implement "no_kill" until cinit-0.2 or 0.3? - - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) --------------------------------------------------------------------------------- -Helper scripts, rausgenommen aus Der Doku, muessen fuer -cinit-0.3 ueberprueft werden: - -Configure help scripts -~~~~~~~~~~~~~~~~~~~~~~ -cinit-conf later -Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring - * add scripts! see below - - define coding guidelines -> general, with url? - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? - -Documentation -------------- - -developer -~~~~~~~~~ -- ST_IN_LIST == startup marker, used to (NOT) insert services into startup -- dep_needs_wants_add is used to add dependencies of a service to the general - starter list - - -user ----- -- do we really need swapoff? remove umount, swapoff! - * to services! - -> they have to do it! -- dependencies with leading '.' (dot) are ignored. -- about cinit-configuration structure - * cconfig - * svc/ - * special/ (or however we called it) - - panic - - halt - - poweroff - - reboot - --------------------------------------------------------------------------------- -FAQ -~~~ -- DOKU: what happens when a service does not terminate.... - und er als once drin ist ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! - -- multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - --------------------------------------------------------------------------------- -csvc: -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -cinit: -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! - -Child handlin -~~~~~~~~~~~~~g -- free() everything before starting child - -Later -~~~~~ -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? - -> yep, clean environment! -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -- Doc - * main.text -> cleanup / remove / split - * config-dirs - * FAQ - * ideas - * meta.dependencies - - config/hints/meta depps - * optimising - - integrate into other - * README.text - - update - * replacing.init - - update / integrate - * special-services.text - - into configuring/hints? - * TODO - - into paths, if necessary - * updating.cinit - - update as soon as update is possible? - * using.rescue - - update as soon as update is possible? - * 'os-integration.text' - * 'daemons.backgrounding' - * There are some hints on how to migrate to cinit in general and also - some os specific help in the file 'migrating-init-systems.text', -- CODECHECK: - * what happens with the wants of the last services? - - are they added? - - are they added at the correct position? -- scripts - * `cinit.check.config` (doc/user/configuring.cinit.text) - -> circular depedencies! -- Doc.next: - - installing: report! - -> write report script. -- Doc later - * current-init-problems.text - - current-init-problems.text explains why cinit does not use nor recommends the use of shell scripts. - * special-services.text - -- Begin documentation - * Check Makefile - * Integrate Makefile into main Makefile - * create manpage - * Write a small manual - - install - - configure - - boot (different OS) - * generate asciidoc! -- Doc way: - * installing - * configuring - - testconfig! - * booting - - different OS / bootloader - * debugging -- Shutdomn code: - * begin at init, then shutdown wants/needs, ... -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- replace cinit_ipc_logon with cinit_ipc_init... - * delay ipc code -> after start! - -- Cleanup / create object lists - object-lists/ - cinit - cservice - ccontrol - cinit.halt - cinit.reboot - cinit.shutdown (shell script?!?) - - -TODO.pre9: - - Done: - - pfad korrigieren (home/..../ -> cinit.release) - - cg-add nicht aufrufen beim make all! -ser/nico/oeffentlich/computer/projekte/cinit/cinit-0.3pre8/doc' -FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $FILE; cat $FILE; \ - cg-add $FILE --rwx------ 1 nico nico 72601 2007-04-06 17:52 src/cinit -There is no GIT repository here (.git not found) -make: *** [sizecheck] Fehler 1 - - setup VM for testing: qemu/kvm/virtualbox (no commercial bloaty) - -> uml! - - sleep when respawnig! - -> static delay of five seconds - do_reboot.c: - is ipc closed? -> check! => done! - - ignore msgrcv: Interrupted system call -Session terminated, killing shell...msgq-destroy: Invalid argument -msgq-destroy: Invalid argument - - do not print an error if /etc/cinit/conf/last is non-existent! - => print it. Do not not print it, as this can aid debugging. - include locking via shm, remove test on pid1 - => not necessary imho currently - - -TODO.pre10: - Done: - cleanup client/ comm/ contrib+tools/ util/ tmp/ - Debugging cinit-configuration: - ls -lR /etc/cinit - or: cinit.read.... - -TODO.pre11: - Remove some debugging, re-introduce DEBUG() macro.. - Fix doc: - - make dist should cleanup cc / ld to sane values? - or do I experiement in tmp/*? - - http://linux.schottelius.org/cinit/browse_source/current/doc/user/config-dirs - conf/c_halt - - IPC: - * check msqg-code - * documentate the ipc functions: update devel/ipc.text - * check cinit_read_command() (devel/ipc.h) - - do_reboot.c: - write cinit_svc_shutdown - - implement do_reboot() - * so not only booting with cinit works, but also the shutdown - - write libcinit for use in cmd() - - find out why gettimeofday() and time() do strange things when called in SIG_CHLD - => bug opened in glibc, got to code testprogram - - write cinit.conf.check - * report broken links in needs/wants - * report circular dependencies - - pretty print, reporting is ugly! - Add handler for ctrl+alt+delete - * document in paths - * check whether there's an os-unspecific way to do that - cleanup bin/ - - write sys-v-init-shutdown-wrapper - * shutdown - * halt - * reboot - * poweroff - - write manpages for - - *.kill - - cmd - - install: - make install => does not overwrite critical targets - * cinit - * *.kill (see client/*) - * cmd - make force-install => overwrites /sbin/{halt,poweroff,reboot}? - => with script that wraps cmd - make install-template: - * creates categories - make install-miniconf: - * creates categories - * creates one service starting a shell (depending on the OS!) - - cleanup src/ - finish ipc code so clients can access cinit - implement CMD_INFO (see comm.h) - - -TODO.pre12: - Check and clean doc/ - Remove *TODO*+ROADMAP and leave behin doc/TODO - -TODO.pre13: - code cmd=(cservice ccontrol halt reboot shutdown poweroff) - => halt/r/... also with kill ... - Test, release and prepare for final cinit-0.3 - -TODO.0.3.1 - add log support - cinit logs to - -> shm saver - services log to - -TODO unclear - - create migration scripts diff --git a/software/cinit/browse_source/cinit-0.3pre13/TODO.doc b/software/cinit/browse_source/cinit-0.3pre13/TODO.doc deleted file mode 100644 index a170a50d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/TODO.doc +++ /dev/null @@ -1,29 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - -caveats -------- - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- cinit ignores the Keyboard request -- Currently there is no support to react on 'ctr+alt+del': -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - diff --git a/software/cinit/browse_source/cinit-0.3pre13/TODO.lucky b/software/cinit/browse_source/cinit-0.3pre13/TODO.lucky deleted file mode 100644 index 3ac57ee5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/TODO.lucky +++ /dev/null @@ -1,16 +0,0 @@ -18:18 hey, ich hatte gerade ein wenig lust mich mit cinit zu befassen, hier also mein - kleiner bug-report: in src/include fehlt cinit.h, (alles auf das aktuelle - tarball bezogen), ich hab's aus pre9 genommen, hatte ich noch da, da git nicht - wollte(Cannot get remote repository information.), ausserdem hast du _ statt - - in doc/man/cinit.text verwendet bei der email, das mag docbook nicht, die - beiden zeilen habe ich korrigiert, danch ging schon mal make all und auch make - ins -18:35 und warum installiert er die man pages nicht mit? -07:20 so, kleiner zwischenbericht, das argv problem bei lvm gibt es mit pre10 nicht - mehr, d.h. dass man auch kein shell-skript mehr braucht um lvm/luks-devices zu - mounten :) -07:20 soweit sieht eig. alles gut aus -07:21 wenn das so bleibt, dann werd' ich dauerhaft auf cinit umsteigen :) -07:21 und wenn sich die gelegenheit bietet, dann stell ich cinit auch mal in der - info-ag von unserer schule vor :) - diff --git a/software/cinit/browse_source/cinit-0.3pre13/TODO.optimisations b/software/cinit/browse_source/cinit-0.3pre13/TODO.optimisations deleted file mode 100644 index 8a686b4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/TODO.optimisations +++ /dev/null @@ -1,19 +0,0 @@ -This file describes enhancements or optimisations that -could be done / checked. - - -Code ----- - -fork() -~~~~~~ - -Security -^^^^^^^^^ -- Closed fds? -- Close other things? -- IPC? - -Cleanup -^^^^^^^ -- Do we have to reset signals or is that done anyway by fork()? diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre13/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.configure.mark deleted file mode 100644 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/.README b/software/cinit/browse_source/cinit-0.3pre13/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre13/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre13/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_env b/software/cinit/browse_source/cinit-0.3pre13/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_init b/software/cinit/browse_source/cinit-0.3pre13/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_last b/software/cinit/browse_source/cinit-0.3pre13/conf/c_last deleted file mode 100644 index 8debf155..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_last +++ /dev/null @@ -1,7 +0,0 @@ -last - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -This maybe a shellscript with the OS-specific umount procedure (like umount -a), -see doc/user/configuring.cinit for more details. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre13/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_off b/software/cinit/browse_source/cinit-0.3pre13/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_on b/software/cinit/browse_source/cinit-0.3pre13/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre13/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_params b/software/cinit/browse_source/cinit-0.3pre13/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre13/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre13/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre13/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre13/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre13/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre13/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/cc b/software/cinit/browse_source/cinit-0.3pre13/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/cflags b/software/cinit/browse_source/cinit-0.3pre13/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre13/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/confdir b/software/cinit/browse_source/cinit-0.3pre13/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/destdir b/software/cinit/browse_source/cinit-0.3pre13/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre13/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre13/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre13/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre13/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/ld b/software/cinit/browse_source/cinit-0.3pre13/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre13/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre13/conf/max_delay deleted file mode 100644 index 30725bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/max_delay +++ /dev/null @@ -1,4 +0,0 @@ -30 - -Maximum number of seconds to sleep between retrying to start it -(respawn only). diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre13/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre13/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre13/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre13/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/os b/software/cinit/browse_source/cinit-0.3pre13/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre13/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre13/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre13/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/prefix b/software/cinit/browse_source/cinit-0.3pre13/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/profile b/software/cinit/browse_source/cinit-0.3pre13/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre13/conf/service_categories deleted file mode 100644 index 2216ea97..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/service_categories +++ /dev/null @@ -1,7 +0,0 @@ -getty init local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. - -Btw, 'init' is the first service and has always to be there, but it does not really -fit into here, because it's a real one, compraed to the pseudo services. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre13/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/strip b/software/cinit/browse_source/cinit-0.3pre13/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre13/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre13/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf/version b/software/cinit/browse_source/cinit-0.3pre13/conf/version deleted file mode 100644 index a84bd425..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre13" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre13/conf2/README b/software/cinit/browse_source/cinit-0.3pre13/conf2/README deleted file mode 100644 index c753107d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/conf2/README +++ /dev/null @@ -1,33 +0,0 @@ -Migrate conf/ to general conf/-buildsystem (write documentation for it). - -gpm2 may be an example for this! - -conf/targets: - targets to make available in Makefile and their dependencies - - abstract the build-process somehow, so one can create build-targets? - - c-programs/ (includes cc / ld) - cinit (link to conf/object_listings cinit?) -conf/object_listings - lists of dependencies: - conf/object_listings/cinit contains all objects needed for cinit - -conf/programs/ - like cc, ld, install, ... - -conf/built-options/ - like --... in ./configure - -conf/install/ - - options/ - destdir (prefixed before everything) - prefix (standard prefix) - bin (relative to prefix, if not beginning with a /) - sbin (relative to prefix, if not beginning with a /) - lib (relative to prefix, if not beginning with a /) - targets/ - cinit/ - built-target (link to conf/targets/cinit) - destination (relative to diff --git a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/Makefile deleted file mode 100644 index 23cc41f0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o usage.o mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/cinit-vis.pl deleted file mode 100644 index 4a439fc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/svc/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/cinit.graph.text.c deleted file mode 100644 index 5e5316ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -//#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.graph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.graph.text - textual representatio of the cinit directory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.graph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/cinit.h b/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/cinit.h deleted file mode 100644 index cbde3195..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/cinit.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Dummy header file to intgrate mini_printf and usage - */ - -#ifndef CINIT_DUMMY_HEADER -#define CINIT_DUMMY_HEADER - -void usage(char *banner, char *text); -void mini_printf(char *str,int fd); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/mini_printf.c deleted file mode 120000 index 3e9a596c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/mini_printf.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/mini_printf.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/usage.c b/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/usage.c deleted file mode 120000 index c26691ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/contrib+tools/usage.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/usage.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre13/doc/.buildwarn deleted file mode 100644 index 41183a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/.buildwarn +++ /dev/null @@ -1,24 +0,0 @@ - -Welcome to the cinit -******************** - -Hints: ------- - - Settings can be found in conf/* (also used for compiling) - - Cinit configuration is normally found in /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text BEFORE installing. - -Building cinit --------------- - - "make all" - to build cinit - "make install" - to install cinit, documentation and core tools - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre13/doc/Makefile deleted file mode 100644 index 0daac842..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -A2X=a2x -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text man/halt.kill.text man/poweroff.kill.text \ - man/reboot.kill.text man/cmd.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DEVELDOCS = devel/codingguideline.text -DOCS = $(MANDOCS) $(USERDOCS) $(DEVELDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -#TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpages" - @echo "pdf: only generate pdfs (requires: fop)" - -install: $(DOC_ALL) - @echo "===> Copy " man/*.[0-9] "to the correct manpaths" - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -#%.man: %.mandocbook -# ${DOCBOOKTOMAN} --to-stdout $< > $@ - -%.man: %.text - ${A2X} -f manpage $< - -%.pdf: %.text - ${A2X} -f pdf $< - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - rm -f man/*.texi man/*.xml man/*.[0-9] - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/README.text b/software/cinit/browse_source/cinit-0.3pre13/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/root-vm-testing b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/root-vm-testing deleted file mode 100644 index a8773dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/root-vm-testing +++ /dev/null @@ -1,9 +0,0 @@ -[19:33] denkbrett:root% cat uml-mount.sh -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl - -denkbrett# tar cfj ~nico/projekte/cinit/conf-vm-2007-03-05.tar.bz2 cinit -denkbrett# chown -R nico cinit -denkbrett# chown nico ../sbin - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/shutdown.text deleted file mode 100644 index ac76425d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/shutdown.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} - * no, implemented that directly into cinit! -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process - * create mappers for target OS - - Linux - - {free,net,open}bsd - - others may contribute theirself -- also implement poweroff - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement halt - * kill -USR1 1 - - -The implementation ------------------ -x shutdown is initiated -x disable communication (nobody can influence us anymore) -x install special signal handler? - - no. we do not care about zombies anymore, we are gone soon anyway - - simply reset to the default -- begin to shutdown services - * where to start? - * begin shutdown at the end of the tree, viewing/sorting it by the 'needed_by' - -> where to begin sort? - -> worst implementation: scan all services (easy for now) - -> result: list of services, that noone needs :-) - * stop those services and step above - - stop a service, as soon as noone needs it anymore - * check all needed_by links - * more or less the inverted gen_svc_tree -- how to shutdown a service - * if existing, call off - - if off does not exist: - * if respawn: send sigterm to the process - * also implement sigkill at this stage? - - think we can delay it to the end - - otherwise users can use off! - - implement environment for off ($cinit_respawn_pid, $cinit_service_name) - - do *NOT* care about the return value, we can't do anything for it - anymore anyway -- after all services are shutdown, kill all remaining services - * SIGTERM - * wait(defined_time_in_seconds) - * SIGKILL -- call the last command - * to cleanup the system - - umount -a (if needed) - - swapoff (if needed) - - sync (if needed) -- switch off diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/sizes b/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/sizes deleted file mode 100644 index ddd30f75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/braindumps/sizes +++ /dev/null @@ -1,6 +0,0 @@ -sysvinit: -root 1 0.0 0.0 1944 648 ? Ss 02:12 0:00 init [2] - -cinit-0.3pre8-glibc-linux: -compiler 25323 0.0 0.0 1564 392 pts/2 S+ 20:22 0:00 ./cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre13/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre13/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/codingguideline.text b/software/cinit/browse_source/cinit-0.3pre13/doc/devel/codingguideline.text deleted file mode 100644 index d4686d8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/codingguideline.text +++ /dev/null @@ -1,149 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. -Indent variable names, so the names begin all at the same position. -Use three spaces to place them. - - -Whitespaces ------------ -Where to put or avoid whitespaces (space or linefeed (lf)). - - -Spaces -~~~~~~ -- After closing brace "if(test) return 0;" -- Spaces before and after '=', '>', '<', '==', '!='', '>=', '<=', '>>', '<<', '&', '&&', '|', '||' -- After start of comment and before end of comment: '/* text */' - - - After ')', ',' - -No spaces -~~~~~~~~~ -- Within braces and code "(!test)", -- Before braces "if(code)" -- No space before ), so if '))', do not put a space after the first ')' - - -Linebreaks -~~~~~~~~~~ -This somehow includes the setting of braces (indirectly through (not) setting -spaces. - -If -^^ - -Put the if, the braces and the opening curly brace on one line, -put the closing one together with `else` and the new opening -curly brace on one line: - ------------------------------------------------------------------------------- -if(...) { - /* code */ -} else { - /* else: code */ -} ------------------------------------------------------------------------------- - -While -^^^^^ ------------------------------------------------------------------------------- -while(condition) { - /* repeat */ -} ------------------------------------------------------------------------------- - -Do-While -^^^^^^^^ ------------------------------------------------------------------------------- -do { - /* something */ -} while(running); ------------------------------------------------------------------------------- - -Switch -^^^^^^ - ------------------------------------------------------------------------------- -switch(value) { - case DO_SOMETHING: - /* code */ - break; - default: - break; -} ------------------------------------------------------------------------------- - - - -Where to put curly braces -------------------------- - -Functions -~~~~~~~~~ -Opening and closing curly braces are placed on a seperate row: - ------------------------------------------------------------------------------- -int func(int params) -{ - body -} ------------------------------------------------------------------------------- - - -If, else, while, do-while -~~~~~~~~~~~~~~~~~~~~~~~~~ -See above. - - -Comments ---------- -where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - -If there is more than one line containing a comment, try to adjust them -so they look the same in width and position: - ------------------------------------------------------------------------------- - int illuminati = 23; /* do not want to comment that */ - int the_answer_to_everything = 42; /* 42. */ - - [...] - - while(illuminati < the_answer_to_everything) { /* only try before them */ - overtake_world(&self); /* overtake is complex */ - } ------------------------------------------------------------------------------- - - -Header -------- -Put a header into each file, containing: - - - Date of file being put into existence (year is enough) - - Name and e-mail (obfuscated if you want) of the author(s) - - Description of the function - - Copyright statement (if not included GPLv2 or later is assumed) - - -Includes -~~~~~~~~ -Include system headers first, then place own headers. Comment the includes, -wherefore you added them. Example: - ------------------------------------------------------------------------------- -#include /* write */ -#include "cinit.h> /* cinit_ipc_* */ ------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre13/doc/devel/communication.text deleted file mode 100644 index ea5351a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/communication.text +++ /dev/null @@ -1,247 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - - -Numbers -~~~~~~~ -Can be found in include/cinit.h. - - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -Can't use a structure, were missing the point that we cannot transfer dynamic -length strings. Thus the protocol consists of: - - client(int) => cinit - cinit(ini) => client - => after that follows command specific data - -The byte order is host specific (may be little or big endian). - -STRUCTURE WITH STATIC SIZE. MSGRCV! -IPC LAYER CREATES TRANSPORT! - -Type -~~~~ -Messages are binary data. - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: What's the status of service XYZ? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Code, length of service name, the service name (without \0). -int, int, char[]; - - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre13/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre13/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre13/doc/devel/ipc.text deleted file mode 100644 index cdab4fcc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/ipc.text +++ /dev/null @@ -1,141 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - -Abstraction layer: cinit_ipc_* ------------------------------- -You can choose or even reimplement ipc code for cinit. You only have to create -a directory below src/ipc/ and create the following necessary functions: - -int cinit_ipc_init(void); -~~~~~~~~~~~~~~~~~~~~~~~~~ -Initialise the IPC functions in cinit. - - -int cinit_ipc_listen(void); -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Never ending looping function that listens for commands and passes the -retrieved command to read_command(). - -other -~~~~~~ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - - -cinit_get_data(int ident, int size, void *data) => read size bytes from client -with ident - -/***************************************************************************** - * Functions: in clients - */ - int cinit_ipc_logon(void); /* logon to init (client init) */ - int cinit_ipc_connect(void); /* connect to init */ - int cinit_ipc_csend(struct cinit_message *data); /* send to the server from a client */ - - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre13/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre13/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre13/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre13/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre13/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre13/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre13/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre13/doc/man/cinit.text deleted file mode 100644 index 19d0015a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/man/cmd.text b/software/cinit/browse_source/cinit-0.3pre13/doc/man/cmd.text deleted file mode 100644 index ccd372d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/man/cmd.text +++ /dev/null @@ -1,81 +0,0 @@ -cmd(8) -====== -Nico Schottelius - - -NAME ----- -cmd - cinit management and information tool - - -SYNOPSIS --------- -'cmd' [-ed (i|w|n)] [-(p|s) ] [-v] - - -DESCRIPTION ------------ -cmd adds the management possibility to cinit(8). You can retrieve -several information from cinit and change services. - -OPTIONS -------- --d:: - Disable service (see below for required parameters) - (NOT YET IMPLEMENTED) - --e:: - Enable service - - i: Included all needs and wants - - n: Exclude needs - - w: Exclude wants - (NOT YET IMPLEMENTED) - --p:: - Retrieve last process id (pid) for the specific service. For respawn - services this is the pid of the running service. For services that are - started only once it is the pid it had when running. - (NOT YET IMPLEMENTED) - --s:: - Retrieve status of a service. Warning: Do not add trailing slash. - Path can be specified absolute (/etc/cinit/svc/mount/root) or - relative (mount/root). - --v:: - Get version of cinit. - - - -EXAMPLES --------- -Get version:: - [8:44] denkbrett:src# cmd -v - - Version of cinit: 0.3pre12 - -Get status:: - [8:37] denkbrett:src# ./cmd -s mount/root - - Status of /etc/cinit/svc/mount/root is: 2001 - - -BUGS ----- -Not everything is implemented. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License Version 3 (GPLv3). diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre13/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/man/halt.kill.text b/software/cinit/browse_source/cinit-0.3pre13/doc/man/halt.kill.text deleted file mode 100644 index 4a31e257..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/man/halt.kill.text +++ /dev/null @@ -1,46 +0,0 @@ -halt.kill(8) -============ -Nico Schottelius - - -NAME ----- -halt.kill - Halts systems running cinit through a kill call - -SYNOPSIS --------- -'halt.kill' - - -DESCRIPTION ------------ -You normally halt your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to halt -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute halt.kill, your system will be halted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/man/poweroff.kill.text b/software/cinit/browse_source/cinit-0.3pre13/doc/man/poweroff.kill.text deleted file mode 100644 index 62807ba1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/man/poweroff.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -poweroff.kill(8) -================ -Nico Schottelius - - -NAME ----- -poweroff.kill - Halts and powers off systems running cinit through a kill call - -SYNOPSIS --------- -'poweroff.kill' - - -DESCRIPTION ------------ -You normally poweroff your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to poweroff -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute poweroff.kill, your system will be - powered off. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), reboot.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/man/reboot.kill.text b/software/cinit/browse_source/cinit-0.3pre13/doc/man/reboot.kill.text deleted file mode 100644 index a748553e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/man/reboot.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -reboot.kill(8) -============== -Nico Schottelius - - -NAME ----- -reboot.kill - Reboots systems running cinit through a kill call - -SYNOPSIS --------- -'reboot.kill' - - -DESCRIPTION ------------ -You normally reboot your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to reboot -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute reboot.kill, your system will be - rebooted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), poweroff.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre11 b/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre11 deleted file mode 100644 index ec532269..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre11 +++ /dev/null @@ -1,10 +0,0 @@ -Done: -- cleanup ipc: - merge cinit_ipc_logon() and cinit_ipc_connect()? - => already done! -- finish cmd in general, perhaps only including one command. -[18:51] denkbrett:src# LANG=C cp cinit /sbin/cinit -cp: cannot create regular file `/sbin/cinit': Text file busy - => mv & cp! - => documentation! - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre12 b/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre12 deleted file mode 100644 index edbe41d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre12 +++ /dev/null @@ -1,41 +0,0 @@ -Wished release date: 6/7. September - --------------------------------------------------------------------------------- -Done: -- begin to write documentation about client functions - => noone needs that anyway. skip and concentrate on functions now. - -cleanup ipc! - where to call !cinit_ipc_logon and !cinit_ipc_connect? - --------------------------------------------------------------------------------- -Add -Hallo, - -Liebster Nico, wuerdest du die dazu durchringen "make install" und -vllt. sogar "make install-test" in die cinit 0.3er branch aufnehmen? - -vlg Lucky - ==> added make install in previous releases, make test maybe come back - later again. -- cleanup communication: - put parts of comm.h into cinit.h => global exposure - or define new structure in cinit.h? - => removed comm.h -- check svc path in cmd: if it's relative, add /etc/cinit/svc to it - => added. -- add update for git => so cloning does not fail! - => added hook. -Use http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html - => partly implemented - -- remove manual pid support, use the one supplied by msgctl() - => ok. -- there seems to be a race condition in the execution of the - dependency tree: it happens that services that depend on - mounted /proc, have needs on mount/proc are still exited - before /proc is mounted. - problem of cinit or of mount, exiting too early? - guess the first one, so fix it :-) - - => missing check in svc_needs_status.c diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre13 b/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre13 deleted file mode 100644 index ff8d4296..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre13 +++ /dev/null @@ -1,19 +0,0 @@ -Wished released date: 10./11. September - --------------------------------------------------------------------------------- -Done: -- add get_svc_pid() -- cleanup msgq.h: namespace! -- cleanup cmd: add real usage, add -h for help -- cleanup cinit_ipc_logon()! [already done before] -- cleanup headers: ==> not yet needed. - seems to make more sense, to have more than one exposed header. - cinit.h gets to fast too big. so splitoff to: - /* main */ - /* ... */ -- create libcinit.a/so and link against it => not need right now. -- pre12 seems to have an IPC problem: Fix it. ==> problem with not finishing cinit startup -- global symbol to track the connection to cinit in the client - => cinit_ipc_cinit() - initalise ipc in the client (only once) - => not really our problem, client should be able to remember - whether she called us once or twice. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre13.race-condition b/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre13.race-condition deleted file mode 100644 index 19bea29a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre13.race-condition +++ /dev/null @@ -1,12 +0,0 @@ -09:49 < telmich> is it possible, that if I fork() and call _exit(0) in the child, that the - _exit(0) is executed earlier than the fork() call returns in the parent? -09:49 < telmich> I'm having some race condition in cinit, where the pid is not yet updated in - the service structure, and the child exited before and thus cinit does not - update the service -09:49 < telmich> as being run -09:51 < telmich> rexy_: currently I'm thinking about implementing a lock before starting the - fork() -09:51 < telmich> rexy_: thus cinit will react differently, if the starting function is still - running -09:51 < telmich> rexy_: but I'm somehow confused, that fork() allows such race condition - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre14 b/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre14 deleted file mode 100644 index 588106d0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre14 +++ /dev/null @@ -1,37 +0,0 @@ -Wished release date: 13. September -- add support for shutting down services on halt -- cleanup msgq/cinit_ipc_listen.c -- add minimal test-suite: - cmd -s /etc/cinit/svc/init - cmd -p /etc/cinit/svc/init - cmd -v - cmd -V -- move logic out of the child handler: - => use the new while()-loop in core/cinit.c! - - time() and co. are problematic in a child handler! - - introduce global list of services to execute - => perhaps reuse already existing dependency-list? - - tree_exec(): check whether adding something to the dep list hurts - => don't think so. - expand / change ipc handler: - make it return the message - move while() loop to core/cinit.c - - in the while loop, the global dependency list should - be empty. - - if it is not, we should start something. - - => chance cinit_ipc_listen() to use without while() loop - => export logic to core/cinit.c -- map status numbers to messages -- Cleanup doc/user/NEW_using_cinit_freebsd - => make a real document! -- change to GPLv3? - => ask Markus (cinit), Killerfox (cconfig) and Peter (cconfig) -- write / update manpage for cmd! --------------------------------------------------------------------------------- -Done: diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre15 deleted file mode 100644 index 62deb436..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre15 +++ /dev/null @@ -1,17 +0,0 @@ -Wished release date: 20. September -- Add support for starting/stoping services via cmd -- create some boot profiles -- cinit.install.standard.dirs.argv -- code check: - * check needs: - really started, after started or after finished starting? - * wants: - are they checked? - -- fix devel/codingguideline.text! - -- perhaps merge svc_need_status to svc_status - -cinit-communication: - cinit_get_failed_needs(char *name, int *cnt); - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre16 b/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre16 deleted file mode 100644 index 16e6efb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre16 +++ /dev/null @@ -1,9 +0,0 @@ -Wished release date: 27. September -- check porting code: - * advise users to set conf/os - * add uname -r | tr ... as make osconfig -- check that all parts of cinit compile at least under: - * linux, linux on 64bit - * FreeBSD - * NetBSD -- cleanup output diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre17 b/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre17 deleted file mode 100644 index 82976e37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.3pre17 +++ /dev/null @@ -1,11 +0,0 @@ -Wished release date: 3. October - -"Code quality assurance release" - -- Fix bugs all outstanding bugs. -- Give cinit some time, write some documentation and make pre17 the last pre of the 0.3 - serie. -- Give the code out to other developers, request explicit strong critics - => So even - "This could be in theory, if Mars is behind Pluto on Sunday evening" bugs - are out. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.4 b/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.4 deleted file mode 100644 index 3b772d4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.4 +++ /dev/null @@ -1,44 +0,0 @@ --------------------------------------------------------------------------------- -Clean service status messages: - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s --------------------------------------------------------------------------------- -16:13 < KillerFox> telmich: hast du eigentlich schon hooks in cinit? -20:07 < KillerFox> Vapier fĂ¼hrt mal wieder Selbstgespräche. -23:39 < telmich> KillerFox: wozu? -23:42 < KillerFox> telmich: es wäre durchaus interessant, um z.B. sterbende Prozesse wieder zu - starten und so. -23:42 < KillerFox> oder einen Hinweis per Mail zu verschicken. -23:43 < telmich> ahh, du meinst so benachrichtigungen von cinit an $prozess? -23:43 < KillerFox> jein -23:43 < KillerFox> du machst z.B. /etc/cinit/hooks/ -23:43 < KillerFox> darin gibts dann Scripte die bei bestimmten Ereignise aufgerufen werden. -23:43 < KillerFox> z.B. wenn ein Prozess stirbt -23:44 < KillerFox> du kannst dir natĂ¼rlich auch Ă¼berlegen, es auf Prozessebene herunter zu - hacken -23:44 < telmich> ja, eher letzeres -23:44 < KillerFox> so könnte man auch ein paar nette Sachen machen. z.B. Aufräumarbeiten - nachdem ein Prozess beendet wurde oder so -23:45 < KillerFox> telmich: ich finde beides Sinnvoller -23:45 < KillerFox> telmich: globale und lokale Hooks -23:45 < KillerFox> lokale Ă¼berschreiben globale oder so -23:45 < telmich> oder laufen beide -23:45 < KillerFox> oder man kaskadiert sie. -23:45 < KillerFox> genau -23:46 < KillerFox> sinnvolle hooks: pre-start, start, post-start, pre-stop, stop, post-stop, - crash -23:46 < KillerFox> oder sowas -23:47 < KillerFox> vielleicht fallen dir noch mehr ein. -23:48 < KillerFox> die Kommunikation könnte man dann wahlweise Ă¼ber Parameter oder - Umgebungsvariablen lösen -23:48 < KillerFox> um z.B. mitzuteilen welcher Prozess gestoppt wurde -23:49 < KillerFox> z.B. wenn man in pre-stop je nach Bedingung den Stop-Vorgang abbrechen will. -23:49 < telmich> via ${ipc} => kommt darauf an, was implementiert ist; zZ ist es ja msgq -23:50 < telmich> ahh, so -23:50 < telmich> das waere noch recht trivial ueber pipes -23:50 < KillerFox> fifos/sockets, was auch immer. -23:50 < KillerFox> das mĂ¼sste man dann mit einer Bibliothek lösen oder so -23:50 < telmich> ja, die ist auch im aufbau in libcinit/ - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.4.1 b/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.4.1 deleted file mode 100644 index b0d7685d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/todo/0.4.1 +++ /dev/null @@ -1,2 +0,0 @@ -- Generate automatic asciidoc from conf/* - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre13/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/NEW_using_cinit_freebsd b/software/cinit/browse_source/cinit-0.3pre13/doc/user/NEW_using_cinit_freebsd deleted file mode 100644 index 05499166..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/NEW_using_cinit_freebsd +++ /dev/null @@ -1,21 +0,0 @@ -11:33 < mux> from sys/kern/init_main.c: -11:33 < telmich> mux: that's true; I just tried with linux and I tell the - bootloader, who tells the kernel then -11:33 < mux> static char init_path[MAXPATHLEN] = -11:33 < mux> #ifdef INIT_PATH __XSTRING(INIT_PATH); -11:33 < mux> #else -"/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall"; -11:33 < mux> #endif -11:33 < mux> but you give a loader tunable -11:34 < mux> if ((var = getenv("init_path")) != NULL) { -11:34 < mux> strlcpy(init_path, var, sizeof(init_path)); -11:34 < mux> freeenv(var); -11:34 < mux> } -11:34 < mux> here you are -11:34 < telmich> ahh, that's good -11:34 * telmich has to try cinit on freebsd the next days :-) -12:34 < mux> (s/you give/you can give/) -11:35 < mux> so, simply init_path)="/sbin/cinit" in /boot/loader.conf should do - it -11:35 < mux> minus the typo - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre13/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/configuring.cinit.text deleted file mode 100644 index c04da745..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/configuring.cinit.text +++ /dev/null @@ -1,327 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - -The cinit configuration consists of -- a special configuration directory -- and the service definitions. - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - -Conf ----- -The special configuration directory is normally called `conf/` -(defined at compile-time in `conf/c_confdir`). - -For all executables into this directory apply the same rules as mentioned -below in "Execution: on and off": Appened .params specifies parameters, -appended .env specifies environment. - - -conf/last -~~~~~~~~~ -This is the last part that will be executed. After it has finished, cinit -will halt, power-off or reboot your machine. - -You can use it for whatever task to accomplish (as most things of cinit), but -the idea behind it is to use it for cleaning up things that are not covered -by the off parts of the services. This maybe swapoff (although this is an unecessary -call before poweroff, imho and even if needed this could be handled within the -off part of the same services that enabled it) or `umount -a` for everything -manually mounted and not unmounted yet. - - -conf/sleep_before_kill -~~~~~~~~~~~~~~~~~~~~~~ -This file contains just one line: The number of seconds to sleep after SIGTERM was sent -to every remaining process before sending SIGKILL to all processes. If this file -is unreadable or not existent, cinit will fall back to the value compiled in -(which was specified at build time in conf/sleep_kill). - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start). - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - - -Debugging the configuration ----------------------------- -Use `ls -lR /etc/cinit` or one of the tools found in contrib+tools/. - - -Examples --------- -Currently there are some example configurations available -at http://unix.schottelius.org/cinit/samples/cinit-0.3/, sorted -by host on which they are created. - -In near future, there will also be a file name configuration.example.text, -which will lead you to a sample configuration. - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/daemons.backgrounding.text deleted file mode 100644 index 5b61b91d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- dnsmasq [dhcp/tfpt/dns]: -k -- dovecot [imap/pop3 server]: -F -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- freeradius [radiusd]: -f -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openpbx [pbx]: -f -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre13/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre13/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre13/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/problems-and-solutions.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/problems-and-solutions.text deleted file mode 100644 index 92cdd241..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/problems-and-solutions.text +++ /dev/null @@ -1,33 +0,0 @@ -cinit - Problems occured and solutions used -=========================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2007-05-28 -:Author Initials: NS - -This documentes describes real problems people had with -cinit and their appropriate solutions. Feel free to add -your problems and solutions here. - - -Introduction ------------- - - -Adding problems and solutions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Simply add your problem and solution and sign your paragraph -with your name. Then send the diff -u to the cinit mailinglist -or setup a git-repository so I can pull the changes. - - -Hibernate ---------- -uses /sbin/runlevel, which should *not* respond with 0 or 6 -as the second number. As cinit does not have /sbin/runlevel, -because cinit does not have any runlevels, you could hardcode -it to values hibernate accepts: - ----------------------------------------------------------------------- -#!/bin/sh -echo N 2 ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/problems.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/problems.text deleted file mode 100644 index 4fe8a315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/problems.text +++ /dev/null @@ -1,114 +0,0 @@ -Problems using cinit -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-24 -:Author Initials: NS - - -Using a high-speed, true dependency aware, profile supporting -logical acting and reliable init system like cinit is not -completly problem free. This document describes some common -problems you may have and their solutions. - - -Possible problems ------------------ - -Confused users -~~~~~~~~~~~~~~ -Compared to traditional init systems like sys-v-init or bsd-init -cinit introduces a complet new boot concept. This does not just -mean that you have services instead of shell-scripts (which is -one reason cinit is starting up faster), but also that the boot -order may be changed dynamically at bootup:, if a service fails. -And even if no service fails, the boot order may be different -on each boot, because processes are started in parallel and -may return earlier or later on each boot. To coordinate the -parallel running processes, cinit uses depencies, which are pretty -easy to understad when configurung, but may need some more -detailled watching at boot to understand it. - -The 'confused users'-problem is perhaps also the biggest -problem for introducing cinit as a replacement to current -init systems. - - -Configuration issues -~~~~~~~~~~~~~~~~~~~~ - -Not marking services as respawn -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When cinit starts, it will wait for every service to exit. -So if you have a dependency on a service -that never exits, the whole init process may hang (dependending -on the dependencies). If you have services that are intendet -*not* to exit after start, you *have* to mark those with -`respawn`: Those services are started and watched by cinit -and will be restarted. This was a design choice to ensure -that all 'always running' processes *are* restarted. - -I did not find any service that should not exit and not -have a respawn flag. If you really really really have such -a service and you can prove to me that the respawn flag -would do harm to your system, I will think about implementing -a flag that tells cinit not to wait for it, but mark it -as successfully run after it has been started. - -User interaction -~~~~~~~~~~~~~~~~ - -User input -~~~~~~~~~~ -There may be the situation that you have to press a key -or enter some data when a service starts up (like entering -the password for your crypto harddisks). With cinit, this -will look like a mess, because other services may write to -the same console the service wrote a user prompt. - -The best solution for this problem is in my humble -opinion to create an user-input daemon that serialises -the requests and displays one after another. - -This could look like this: Your daemon wants to ask for -a passphrase for the SSL-certificate. You add aa needs -to this daemon to the 'input-daemon'. When you -start this service, it will contact the input-daemon -running on another virtual console and displaying a text -and an input field that is passed back to this service. -After that the input daemon changes back to the initial -console or asks for the next input, if there is another -request available. - -This input daemon may also be run on a graphical (X11) display. -. -Output to the user -~~~~~~~~~~~~~~~~~~ -When cinit starts up there may be many messages printed -out that also may look like printed random order. -To prevent your endusers from being confused you can create -some kind of graphical interface (like a framebuffer -or X11 display) that reads the output of cinit and converts -it to flashing images. It could look like this: - ----------------------------------------------------------------------- - - Your (graphical?) display: - -------------------------------------------------------------- - | /-----------------\ | - | | Red border, | | - | | failed to start | | - | \-----------------/ | - | | - | /------ | - | | Green border, | - | image van | - | | - | | - | | - | | - | | - | | - -------------------------------------------------------------- - - ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre13/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/respawning-sleep.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/respawning-sleep.text deleted file mode 100644 index 24ed17e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/respawning-sleep.text +++ /dev/null @@ -1,52 +0,0 @@ -cinit - Respawning and sleeping -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-13 -:Author Initials: NS - - -How cinit sleeps, before a service is respawned. - -Introduction ------------- -When a service, that is configured to be respawning, exits cinit restarts it. -Because services may be broken and thus cinit would try to restart it many -times in a second, it is necessary to sleep between restarts. - -The big question: How to sleep? ------------------------------------- -The first possibility is to sleep a fixed amount of time between restarts: -For instance one second. This is not a good solution, because this waits -one unecessary second if the process just crashed. It may be too less, if -the service is really broken. - -The second possibility is to sleep a dynamic amount of time. - - -The next big question: How long to sleep? ------------------------------------------ -I think that as long as a service is broken we should not investigate to much -time into restarting it. So we can define a maximum amount of time to sleep -(for instance 30 seconds). The minimum amount of time to sleep is zero seconds. - -When the service is first started, the sleep time defaults to the minimum -amount of time. Each time the service is restarted, the sleep time is adjusted: - -sleep time (st) = Maximum sleep time (mst) / Time the process was running (tr) - -- If tr is < 1 it is adjusted to 1 and thus st is set to mst. -- If tr is > mst, st is set to 0. - - -How to force restart of a service? ----------------------------------- -Use cvsc (to be implemented). - - -Hom is it implemented? ----------------------- -Everytime cinit has to respawn a service it has to fork() itself. -The sleep call is implemented in the fork, so cinit itself does not have -to care about it. After the sleep time is over or the fork() recieves -SIGALARM it executes the real service. cinit itself records as start time -the current time plus sleep time. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre13/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre13/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre13/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre13/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/cconfig.mk.makefile b/software/cinit/browse_source/cinit-0.3pre13/scripts/cconfig.mk.makefile deleted file mode 100644 index 822addce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/cconfig.mk.makefile +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-20, 0110 CEST -# cconfig: create makefile from conf/ directory -# currently: all files -# later: only built-defines -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "#" -echo "# Warning: Autogenerated by $0, do not edit. " -echo "#" -for conf in ${CONFS}; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - echo "${NAME}=${value}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.read-conf deleted file mode 100644 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/README b/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/README deleted file mode 100644 index 64c0d174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/README +++ /dev/null @@ -1 +0,0 @@ -Scripts used to generate or aid in creating a configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/freebsd/create_services.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/freebsd/create_services.sh deleted file mode 100644 index 52e123a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/freebsd/create_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to create from stdin -# Create services (add correct dependencies) -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/freebsd/enable_services.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/freebsd/enable_services.sh deleted file mode 100644 index ce4563a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/freebsd/enable_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to enabled from stdin -# Services must already exist -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/freebsd/search_enabled_services.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/freebsd/search_enabled_services.sh deleted file mode 100644 index 69e519b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/freebsd/search_enabled_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search for enabled services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/freebsd/search_services.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/freebsd/search_services.sh deleted file mode 100644 index 2043e857..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/configuration/freebsd/search_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search all services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of all services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/cinit.release b/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/cinit.release deleted file mode 100644 index 54f1fbe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/cinit.release +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: ls -l - -# only release if I tell it to release -[ "$1" = "now" ] || exit 23 - -#if [ $# -ne 2 ]; then -# echo "This is a maintainer-only script to release cinit" -# echo $(basename $0): source-dir version -# exit 1 -#fi - -# paths -DIR="$(cd $(dirname $0)/../../; pwd -P)" -DDIR="$(cd $(dirname $0)/../../../; pwd -P)" -RDIR=$(basename "$DIR") - -# version -VERSION="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')" -VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')" -VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):.*/\1/')" -OUT_NAME="cinit-${VERSION}.tar.bz2" - -# remote -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ -LINK=current - -echo "=> Version directory: $VERSION" -echo "=> Version conf/version: $VERSION_CONF" -echo "=> Version CHANGES: $VERSION_CHANGES" - -if [ "$VERSION" = "$VERSION_CONF" -a "$VERSION" = "$VERSION_CHANGES" ]; then - echo "=> Version confirmed." -else - echo "*** VERSION MISMATCH ***" - exit 42 -fi - -echo -n "=> Continue? " -read yes - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -# do the work! -( cd "$DIR" && make dist ) || exit 1 - -echo "Creating bzip2 compressed tar" -cd $DDIR -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$RDIR" -chmod 0644 "$OUT_NAME" - -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" - -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" - -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$RDIR\" \"$LINK\"" - -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/compile+run.sh deleted file mode 100644 index 30ec68a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/compile+run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -if [ ! "$1" ]; then - echo "HOSTNAME" - exit 23 -fi - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$host" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/compile_local.sh deleted file mode 100644 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/compile_run_as_compiler.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/compile_run_as_compiler.sh deleted file mode 100644 index f1ba01d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/compile_run_as_compiler.sh +++ /dev/null @@ -1,14 +0,0 @@ -what=$(dirname $0)/../../ -what_real=$(cd "$what" && pwd -P) -dest=~compiler/cinit-test - -set -e -sudo rsync -av "${what_real}/" "$dest" -sudo chown -R compiler "$dest" -sudo -u compiler "${dest}/scripts/internal/compile_local.sh" -sudo -u compiler "${dest}/src/cinit" & -sleep 13 -sudo -u compiler "${dest}/scripts/internal/stop_cinit.sh" - -# exit 0 for make -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/compile_test.sh deleted file mode 100644 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/create_test_config.sh deleted file mode 100644 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/find_right_version.sh deleted file mode 100644 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/qemu-test.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/qemu-test.sh deleted file mode 100644 index fd41312e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/qemu-test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-03: For testing cinit in qemu -# - -emud="${HOME}/emu" -img="${emud}/debian-hd.img" -ddir="${emud}/mount" -loop=/dev/loop1 -fsck="/sbin/fsck.jfs" - -# my jfs is on the first partition, 512*63 bytes offset -offset="32256" - -set -e -set -x -sudo losetup -o "${offset}" "${loop}" "${img}" -sudo "${fsck}" "${loop}" -sudo mount "${loop}" "${ddir}" - -sudo umount "${loop}" -sudo losetup -d "${loop}" diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/stop_cinit.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/stop_cinit.sh deleted file mode 100644 index 86e4d82b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/stop_cinit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Linux specific, but don't care, I am the only person that should use it - -killall -TERM cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/test_on_hosts.sh deleted file mode 100644 index afeb2627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net jiffies.forkbomb.ch ddna044.netstream.ch" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/valgrind deleted file mode 100644 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre13/scripts/report.compile deleted file mode 100644 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre13/scripts/wrapper/linux-sysvinit/shutdown b/software/cinit/browse_source/cinit-0.3pre13/scripts/wrapper/linux-sysvinit/shutdown deleted file mode 100644 index ce413d17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/scripts/wrapper/linux-sysvinit/shutdown +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-cinit /at/ schottelius.org) -# 2007-05-21 -# Behave as being shutdown from Linux' sysvinit - -# parse options, display usage - -# all the functions - -usage() -{ - -cat << cinit_usage - -*** cinit linux-sysvinit shutdown wrapper *** - -Usage shutdown [-akrhHPfnc] [-t secs] time [warning message] - -a: use /etc/shutdown.allow - -k: don't really shutdown, only warn. - -r: reboot after shutdown. - -h: halt after shutdown. - -P: halt action is to turn off power. - -H: halt action is to just halt. - -f: do a 'fast' reboot (skip fsck). - -F: Force fsck on reboot. - -n: do not go through "init" but go down real fast. - -c: cancel a running shutdown. - -t secs: delay between warning and kill signal. - ** the "time" argument is mandatory! (try "now") ** - -You can also call "cmd" directly instead of using this wrapper. - -cinit_usage - -} - -# the main part -usage diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre13/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre13/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2007-02-23-202443 b/software/cinit/browse_source/cinit-0.3pre13/size/2007-02-23-202443 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2007-02-23-202443 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2007-02-23-202720 b/software/cinit/browse_source/cinit-0.3pre13/size/2007-02-23-202720 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2007-02-23-202720 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2007-03-07-231936 b/software/cinit/browse_source/cinit-0.3pre13/size/2007-03-07-231936 deleted file mode 100644 index c2ef3d0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2007-03-07-231936 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71213 2007-03-07 23:18 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/size/2007-04-06-011811 b/software/cinit/browse_source/cinit-0.3pre13/size/2007-04-06-011811 deleted file mode 100644 index 73de8724..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/size/2007-04-06-011811 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71281 2007-04-06 01:17 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/Makefile b/software/cinit/browse_source/cinit-0.3pre13/src/Makefile deleted file mode 100644 index 27a9f4bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/Makefile +++ /dev/null @@ -1,161 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -################################################################################ -# -# Build tools / locations -# - -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin -DESTDIR= -#DESTDIR=/home/user/nico/emu/dst - -################################################################################ -# -# All objects / binaries -# depend on headers. More or less. FIXME: use gcc -M -# -BIN=halt.kill poweroff.kill reboot.kill cmd -CINIT=cinit -ALLBIN=${BIN} ${CINIT} - -# headers -CONFIG_H=include/config.h -CINIT_HEADERS=${shell cat include/listing} - -# objects -CINIT_OBJ=${shell cat object_lists/cinit} -HALTKILL_OBJ=${shell cat object_lists/halt.kill} -POWEROFFKILL_OBJ=${shell cat object_lists/poweroff.kill} -REBOOTKILL_OBJ=${shell cat object_lists/reboot.kill} -CMD_OBJ=${shell cat object_lists/cmd} - -# -# All objects -# -OBJ=${CINIT_OBJ} ${HALTKILL_OBJ} ${POWEROFFKILL_OBJ} ${REBOOTKILL_OBJ} - -################################################################################ -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: ${ALLBIN} - - -################################################################################ -# -# Generic -# -${OBJ}: ${CINIT_HEADERS} - -%.o: %.c - ${CC} -c -o $@ $< - -################################################################################ -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -${CINIT_OBJ}: ${CONFIG_H} - -${CONFIG_H}: ../conf/* - ../scripts/cinit.mkheader > ${CONFIG_H} - -################################################################################ -# -# Install targets -# - -#install: install-dir cinit cservice ccontrol -install: install-cinit install-utilities - -install-sbin: - install -d ${DESTDIR}/sbin - -install-utilities: install-sbin ${BIN} - @echo '*** Installing utilities ***' - install ${BIN} ${DESTDIR}/sbin - -install-cinit: install-sbin cinit - @echo '*** Installing cinit ***' - @echo "Need to delete cinit before reinstalling it {text file busy problem}" - rm -f ${DESTDIR}/sbin/cinit - install cinit ${DESTDIR}/sbin - -# FIXME: target broken -install-miniconf: - ./bin/cinit.install.miniconf - -# FIXME: target broken -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# - -cinit: ${CINIT_OBJ} - ${LD} $^ -o $@ - -halt.kill: ${HALTKILL_OBJ} - ${LD} $^ -o $@ - -poweroff.kill: ${POWEROFFKILL_OBJ} - ${LD} $^ -o $@ - -reboot.kill: ${REBOOTKILL_OBJ} - ${LD} $^ -o $@ - -cmd: ${CMD_OBJ} - ${LD} $^ -o $@ - -################################################################################ -# -# Internal test targets -# - -uml: cinit cmd - ../../vm/uml/uml-mount.sh - cp cinit cmd ../../vm/uml/root/sbin/ - ../../vm/uml/uml-umount.sh - -umlstart: uml - ../../vm/uml/uml-start.sh - -################################################################################ -# -# Clenaup targets -# - -.PHONY: dist -dist: distclean - -.PHONY: distclean -distclean: clean - rm -f os/current ipc/current .configured - -.PHONY: clean -clean: - rm -f ../tmpbin/*.configured - rm -f ${BIN} ${CINIT_OBJ} ${CINIT} - rm -f client/*.o test/*.o diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre13/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/comm.h b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/comm.h deleted file mode 100644 index 4fbe8c50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/comm.h +++ /dev/null @@ -1,81 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ -#include /* pid_t */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_MIN='A', /* minimum command number */ - CMD_SVC_START, /* the client wants US to start a service */ - CMD_SVC_START_ONLY, /* start this service without dependencies */ - CMD_SVC_START_NEEDS, /* start this service, needs, but no wants */ - CMD_SVC_STOP, /* stop svc and all svcs that need it */ - CMD_SVC_STOP_ONLY, /* we should stop _only_ this service */ - CMD_SVC_STOP_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ /* FIXME: NEEDED? */ - CMD_RESCUE, /* we should start the rescue mode */ /* UNIMPLEMENTED */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ /* UNIMPLEMENTED */ - CMD_INFO, /* send information about that service */ /* UNIMPLEMENTED */ - CMD_MAX , /* maximum command number */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * client issues a command: start_command - */ -struct s_cmd { - char cmd; - pid_t pid; -}; - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/do_result.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/run_init_svc2.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/run_init_svc2.c deleted file mode 100644 index b613ed6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/run_init_svc2.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/run_svc.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/run_svc.c deleted file mode 100644 index 95cc324d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/unused-coded/cinit_read_from.c b/software/cinit/browse_source/cinit-0.3pre13/src/ancient/unused-coded/cinit_read_from.c deleted file mode 100644 index 54499be3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ancient/unused-coded/cinit_read_from.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read data from cinit to the client - */ - - -#include "ipc.h" /* IPC */ - -/* gets a bunch of bytes and returns the answer from cinit */ -int cinit_read_from(char **dest, int len) -{ - if(!cinit_ipc_logon()) return NULL; - if(!cinit_ipc_connect()) return NULL; - - /* FIXME: add length to ipc function? */ - if(!cinit_ipc_csend(data)) return NULL; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/client/cmd.c b/software/cinit/browse_source/cinit-0.3pre13/src/client/cmd.c deleted file mode 100644 index 80756fd5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/client/cmd.c +++ /dev/null @@ -1,159 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cmd - the cinit client program - sends commands to cinit - */ - -#include /* getopt */ -#include /* signals */ -#include /* printf() */ -#include /* free() */ -#include /* strncmp */ - -#include /* integers */ -#include /* PATH_MAX */ - -#include "cmd.h" /* own header */ -#include "signals.h" /* which signal */ -#include "svc.h" /* service related */ -#include "intern.h" /* print_errno() */ - -#include "cinit.h" /* cinit external */ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cmd: main - */ -int main(int argc, char **argv) -{ - int opt, tmp, cnt; - int32_t status; - pid_t pid; - char *svc, *p = NULL; - char buf[PATH_MAX]; - - cnt = tmp = 0; - - /* - * -d w(ants) excluded) - * -e n(eeds excluded) - * -d i(nclude everything) - */ - - while((opt = getopt(argc,argv,CMD_OPTIONS)) != -1) { - ++cnt; - switch(opt) { - /********************************************/ - case 'h': /* help */ - printf(CMD_USAGE); - return 0; - break; - - case 'V': /* version */ - printf("%s\n",CMD_VERSION); - return 0; - break; - /********************************************/ - case 'e': /* enable service */ - svc = optarg; - break; - - case 'd': /* disable service */ - svc = optarg; - break; - - /********************************************/ - case 'p': /* get pid */ - case 's': /* get status */ - svc = optarg; - - /* relative path, add the cinit svc path in front of it */ - /* FIXME: use buf! */ - if(strncmp(svc,SLASH,strlen(SLASH))) { - p = malloc(strlen(CINIT_DIR) - + strlen(SLASH) - + strlen(SVCDIR) - + strlen(SLASH) - + strlen(svc) - + 1); - if(!p) { - /* bad error */ - return 2; - } - strcpy(p,CINIT_DIR); - strcat(p,SLASH); - strcat(p,SVCDIR); - strcat(p,SLASH); - strcat(p,svc); - svc = p; - } - - if(opt == 's') { - status = cinit_get_svc_status(svc); - if(status < 0) { - printf("Communication error\n"); - tmp = 1; - } else { - switch(status) { - case CINIT_MSG_SVC_UNKNOWN: - printf("Unknown service: %s\n",svc); - tmp = 1; - break; - case CINIT_MSG_OK: - printf("Status of %s is: %d\n",svc, status); - tmp = 0; - break; - /* should not happen */ - default: - printf("Unknown status returned for %s: %d\n",svc, status); - tmp = 3; - break; - } - } - } else { /* -p */ - pid = cinit_svc_get_pid(svc); - if(pid == 0) { - printf("Unknown service: %s\n",svc); - tmp = 1; - } else { - printf("PID of %s: %d\n",svc, pid); - tmp = 0; - } - } - - if(p) free(p); - return tmp; - - break; - - case 'v': /* get version of cinit */ - tmp = cinit_get_version(buf); - if(tmp) { - printf("Version of cinit: %s\n", buf); - return 0; - } else { - printf("Cannot get version of cinit!\n"); - return 1; - } - break; - - /* FIXME: add -V: version of cmd */ - - default: - printf("Unimplemented option :-)\n"); - return 1; - break; - } - } - - if(!cnt) { - printf(CMD_USAGE); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/client/halt.kill.c b/software/cinit/browse_source/cinit-0.3pre13/src/client/halt.kill.c deleted file mode 100644 index a84cdf2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/client/halt.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Halt the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_HALT) == -1) { - print_errno(MSG_HALT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/client/poweroff.kill.c b/software/cinit/browse_source/cinit-0.3pre13/src/client/poweroff.kill.c deleted file mode 100644 index 801e119c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/client/poweroff.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_POWEROFF) == -1) { - print_errno(MSG_POWEROFF_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/client/reboot.kill.c b/software/cinit/browse_source/cinit-0.3pre13/src/client/reboot.kill.c deleted file mode 100644 index cd90feda..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/client/reboot.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_REBOOT) == -1) { - print_errno(MSG_REBOOT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/comm/README b/software/cinit/browse_source/cinit-0.3pre13/src/comm/README deleted file mode 100644 index 74a0b376..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/comm/README +++ /dev/null @@ -1,20 +0,0 @@ -All abstracted communication functions. Do not depend on the underlying -inter process communication mechanism. - - - send_command(): client function: sends a command to cinit - - send_service(): client function: send the service name to operate on - - - read_command(): server function: reads beginning of a command - * Extracts the command - * reads client identification (=pid) - * calls other functions, depending on the command send => switch() - - read_service(): server function: reads service - - - write_answer(): server function: answer? - * sends answers to clients => senseful? - - - TODO: - - define information function, that returns various information about - a service - diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/comm/answer_svc_pid.c b/software/cinit/browse_source/cinit-0.3pre13/src/comm/answer_svc_pid.c deleted file mode 100644 index 20c97269..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/comm/answer_svc_pid.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * return pid of service - * - */ - -#include /* strncpy */ -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_pid(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_MSG_SVC_UNKNOWN; - } else { - asr->ret = CINIT_MSG_OK; - asr->options = tmp->pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/comm/answer_svc_status.c b/software/cinit/browse_source/cinit-0.3pre13/src/comm/answer_svc_status.c deleted file mode 100644 index 6382435f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/comm/answer_svc_status.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * return status of service - * - */ - -#include /* strncpy */ -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_status(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_MSG_SVC_UNKNOWN; - } else { - asr->ret = CINIT_MSG_OK; - asr->options = tmp->status; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/comm/answer_version.c b/software/cinit/browse_source/cinit-0.3pre13/src/comm/answer_version.c deleted file mode 100644 index bdad913d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/comm/answer_version.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * return version of cinit - * - */ - -#include /* strncpy */ -#include "config.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_version(struct cinit_answer *asr) -{ - asr->ret = CINIT_MSG_OK; - strncpy(asr->data, VERSION, PATH_MAX); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/comm/read_command.c b/software/cinit/browse_source/cinit-0.3pre13/src/comm/read_command.c deleted file mode 100644 index 5226309d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/comm/read_command.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cinit reads a command sent by a client, called by ipc listener - * - */ - -#include "cinit.h" /* structures */ -#include "intern.h" /* answer_svc_status() */ - -int read_command(struct cinit_question qsn, struct cinit_answer *asr) -{ - switch(qsn.cmd) { - case CINIT_MSG_GET_VERSION: - if(!answer_version(asr)) return 0; - break; - - case CINIT_MSG_GET_STATUS: - if(!answer_svc_status(qsn.data, asr)) return 0; - break; - - case CINIT_MSG_GET_PID: - if(!answer_svc_pid(qsn.data, asr)) return 0; - break; - - /* Unknown command: should not happen :-) */ - default: - return 0; - break; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre13/src/core/build_argv.c deleted file mode 100644 index 95add5e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/core/build_argv.c +++ /dev/null @@ -1,166 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "intern.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX+1]; - char *sbuf = NULL; - char *p; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename,pathtmp,PATH_MAX)) == -1) { - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - /* FIXME check bounds! */ - strcpy(pathtmp,basename); - strcat(pathtmp,C_PARAMS); - /* ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL - * ORC_OK: Ok, have a filled buffer (perhaps NULL, too) - * other: Error, print errno - */ - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p+1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,basename); - strcat(pathtmp,C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - sbuf = p+1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre13/src/core/cinit.c deleted file mode 100644 index 9a0491f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/core/cinit.c +++ /dev/null @@ -1,112 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "intern.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc-intern.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; -int svc_lock = 0; /* global svc-lock */ - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ - - - /* Is this really needed? - pid_t cpid; - - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - /* Look whether we should start a profile */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc-1], strlen(PROFILE) ) ) { - initdir = malloc(strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc-1][strlen(PROFILE)]); - break; - } - --argc; - } - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* listen to signals */ - set_signals(ACT_SERV); - - /* pre-calculate service tree */ - if(!gen_svc_tree(initdir)) { - panic(); - } - - /* free, if we malloc()ed before */ - if(strcmp(initdir,CINIT_INIT)) { - free(initdir); - } - - /* change to /, so applications have that as cwd, too - * Is that really seneful? Does that help any application? - * If not, just for looking nice, that's not a reason to - * enable it. - if(chdir(SLASH) == -1) { - print_errno(SLASH); - panic(); - } */ - - if(!tree_exec(svc_init)) { - panic(); - } - - while(1) { - cinit_ipc_listen(); - - /* check dependency list: perhaps we need to restart something */ - /* implement in cinit-0.3pre14/5 */ - - // tree_exec(svc_init); - // reuse tree_exec()? - // if(dep) { svc_start() .. ? - } - - /* OLD: - if(!cinit_ipc_listen()) { - panic(); - } */ - - /* never reached */ - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre13/src/core/do_reboot.c deleted file mode 100644 index f108bd0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/core/do_reboot.c +++ /dev/null @@ -1,97 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include - -#include "ipc.h" - -/* cleaned up own headers */ -#include "intern.h" /* set_signals */ -#include "svc-intern.h" /* shutdown_services */ -#include "messages.h" /* messages */ -#include "reboot.h" /* cinit_poweroff&co */ - -/* cleaned headers */ -#include /* kill() */ - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - //char **cmd; - //int i; - - /* - * New code: - * 0. close user ipc - * - notify user! - * - do not allow user interupt anymore - * 1. shutdown services - * - notify user! - * 2. kill -TERM all processes - * - notify user! - * 3. kill -KILL all processes - * - notify user! - * 4. execute /etc/cinit/conf/{halt,reboot,poweroff} - * - notify user! - */ - - /* do not listen to client requests anymore */ - /* and tell the user what happens */ - LOG(MSG_SHUTDOWN_START); - cinit_ipc_destroy(); - set_signals(ACT_CLIENT); /* reset signal handlers */ - - /* shutdown all services: take care about the dependency tree */ - LOG(MSG_SHUTDOWN_SVC); - shutdown_services(svc_list); - - LOG(MSG_SHUTDOWN_KILL); - /* now: all services are down, let's kill all other processes */ - if(kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - if(kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* Execute the last command */ - LOG(MSG_SHUTDOWN_LAST); - execute_and_wait(CINIT_LAST); - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } - /* FIXME: should we exit? */ - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre13/src/core/panic.c deleted file mode 100644 index d3dd9459..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/core/panic.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include /* execv */ - -#include "intern.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) _exit(0); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - if(execv(SULOGIN,nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* there's nothing todo, if everything fails */ - _exit(23); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre13/src/core/set_signals.c deleted file mode 100644 index 0ebb6899..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/core/set_signals.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ -#include "intern.h" /* defines */ -#include "reboot.h" /* reboot related */ -#include "signals.h" /* reboot related */ - -void set_signals(int action) -{ - struct sigaction sa; - - sigemptyset(&sa.sa_mask); /* no other signals should be blocked */ - sa.sa_flags = 0; - - if(action == ACT_SERV) { - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - } else { - sa.sa_handler = SIG_DFL; - } - - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - sa.sa_flags = 0; /* reset flags */ - if(action == ACT_SERV) { - sa.sa_handler = do_reboot; - } - sigaction(SIG_CINIT_HALT, &sa, NULL); /* halt */ - sigaction(SIG_CINIT_POWEROFF, &sa, NULL); /* poweroff */ - sigaction(SIG_CINIT_REBOOT, &sa, NULL); /* reboot */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre13/src/core/sig_child.c deleted file mode 100644 index 728e2cf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/core/sig_child.c +++ /dev/null @@ -1,94 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The child handler - * - */ - -#include /* waitpid */ -#include /* NULL */ -#include /* gettimeofday() */ /* FIXME: CHECK POSIX */ -#include /* time(),gettime.. */ /* FIXME: CHECK POSIX */ - -#include "intern.h" /* mini_printf */ -#include "svc-intern.h" /* list_search_pid */ -#include "svc.h" /* list_search_pid */ -#include "messages.h" /* messages/D_PRINTF */ - -extern int svc_lock; - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - /* New code: - * - search for pid in service list - * * if (respawn) -> start new - * - insert delay? if exit code is non-zero? if uptime too less? - * * if (once) -> update service status - * * else ignore, but reap away - */ - pid_t pid; - int delay; - struct listitem *svc; - - - /* wait until the lock is reset */ - if(svc_lock) return; - -// struct timeval now; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - /* check if it's a watched child */ - svc = list_search_pid((pid_t) pid); - - if(svc != NULL) { - /* Check, that we are operating on it =. that it is no normal child */ - /* Also check for ST_SH_* to catch race conditions, where - * status is not yet updated => does that make sense or is - * the status overwritten after we return out of here? - */ - printf("CHILD: %s (%ld) (%d) bekannt!\n",svc->abs_path, svc->status, pid); - - if(svc->status & CINIT_ST_ONCE_RUN - || svc->status & CINIT_ST_RESPAWNING) { - if(WIFEXITED(tmp) && !WEXITSTATUS(tmp)) { - svc_success(svc); - } else { - svc_fail(svc); - } - } - //mini_printf("WHILE: Vorm respawn!\n",1); - /* respawn: restart: FIXME Delay for regular dying services */ - if(svc->status == CINIT_ST_RESPAWNING) { - svc_report_status(svc->abs_path,MSG_SVC_RESTART,NULL); - - //delay = MAX_DELAY / (time(NULL) - svc->start); - /* if(gettimeofday(&now,NULL) == -1) { - print_errno(MSG_GETTIMEOFDAY);; - delay = 0; - } else { - delay = MAX_DELAY / (now.tv_sec - svc->start); - } */ - - delay = 5; - - /* int test = time(NULL); - test++; - D_PRINTF("WHILE: IM respawn / for printf!\n"); - printf("sig_child: %d, %d, %d, %d\n", - MAX_DELAY, - (int) time(NULL), - (int) svc->start, - (int) (test - svc->start) - ); */ - - svc_start(svc,delay); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre13/src/generic/execute_and_wait.c deleted file mode 100644 index ab808ff1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/generic/execute_and_wait.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* fork */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* exec / child */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* wait / parent */ - waitpid(pid,&status,0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre13/src/generic/execute_sth.c deleted file mode 100644 index 02593940..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/generic/execute_sth.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ - -#include "intern.h" -#include "build_argv.h" -#include "messages.h" /* D_PRINTF */ - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - tmp = cinit_build_argv(basename,&bav); - if((tmp = cinit_build_argv(basename,&bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - /* tell the user what we execute */ - mini_printf(MSG_INTRO_EXEC,1); - mini_printf((bav.argv)[0],1); - mini_printf("\n",1); - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for cinit to recognize - it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre13/src/generic/file_exists.c deleted file mode 100644 index 26d3f53c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/generic/file_exists.c +++ /dev/null @@ -1,60 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* errno */ -#include /* stat */ -#include /* NULL */ - -#include "intern.h" /* print_errno() */ -#include "svc-intern.h" /* svc_report_status() */ -#include "messages.h" /* messages.. */ - -int file_exists(char *filename) -{ - struct stat buf; - - /* check: - * - is it a link? if so, is it broken? report! - * - is it non existent? -> return non-existent - * - is it existent, but not a regular file? report! - */ - if(lstat(filename,&buf) == -1) { /* lstat fails? */ - if(errno == ENOENT) { - /* FIXME: remove later */ - printf("%s is not existing! => ok, most likely\n",filename); - return FE_NOT; - } else { - mini_printf("anderer fehler.\n",1); - print_errno(filename); - return FE_ERR; - } - } else { - if(S_ISLNK(buf.st_mode)) { /* is a link */ - /* check link destination */ - if(stat(filename,&buf) == -1) { /* do real stat(): */ - if(errno == ENOENT) { - svc_report_status(filename,MSG_BROKENLINK,NULL); - return FE_NOLINK; - } else { - /* FIXME: MSG_*, ?? */ - mini_printf("anderer fehler.\n",1); - print_errno(filename); - return FE_ERR; - } - } - } - } /* caught all stat() errors */ - - if(!S_ISREG(buf.st_mode)) { - svc_report_status(filename,MSG_NONREGULAR,NULL); - return FE_OTHER; - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre13/src/generic/mini_printf.c deleted file mode 100644 index d5b0d1f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd,str,(size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre13/src/generic/openreadclose.c deleted file mode 100644 index b271b410..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/generic/openreadclose.c +++ /dev/null @@ -1,66 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "intern.h" /* ORC_* */ - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - *where = NULL; - - /* what a wonderful loop */ - while((fd = open(filename,O_RDONLY)) == -1) { - if(errno == ENOENT) return ORC_ERR_NONEXISTENT; - if(errno != EINTR) return ORC_ERR_OPEN; - } - - cnt = 0; - while (1) { - tmp = read(fd,buf,512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where,cnt + 1); - if(*where == NULL) return ORC_ERR_MEM; - - /* FIXME check correctness of copied buffer... - * and get some sleep..soon, very soon! */ - strncpy(&(*where)[cnt-tmp],buf,tmp); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) continue; - return ORC_ERR_CLOSE; - } - - /* terminate string! */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre13/src/generic/path_absolute.c deleted file mode 100644 index ef8b002e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre13/src/generic/path_append.c deleted file mode 100644 index 87cc49ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/generic/path_append.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre13/src/generic/print_errno.c deleted file mode 100644 index 0286f550..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre13/src/generic/sleep_before_kill.c deleted file mode 100644 index e3c92615..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,43 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Sleep: - * read configuration, - * fallback to builtin value if not possible, - * sleep. - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE,&content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) tmp = SLEEP_KILL; - free(content); - } else { - mini_printf(MSG_BUILTIN_SLEEP,1); - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts,NULL) == -1) { - print_errno(MSG_ERR_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre13/src/generic/strip_final_newline.c deleted file mode 100644 index 4629bb9f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/generic/strip_final_newline.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) { - return NULL; - } - - p = strrchr(str,'\n'); - if(p) { - if(*(p+1) == '\0') { - *p = '\0'; /* DO NOT FORGET TO TERMINATE STRING */ - str = realloc(str,(p-str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre13/src/generic/usage.c deleted file mode 100644 index 260b4ea5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/generic/usage.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * usage: tell the user what's wrong and a help text - * - */ - -#include /* _exit() */ -#include "intern.h" /* mini_printf */ - -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre13/src/include/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre13/src/include/cinit.h deleted file mode 100644 index b2c762aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/cinit.h +++ /dev/null @@ -1,66 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Header file for external programs (in theory) - */ - -#ifndef __CINIT_EXTERNAL_HEADER -#define __CINIT_EXTERNAL_HEADER - -/* includes */ -#include /* required for functions */ -#include /* PATH_MAX */ -#include /* pid_t */ - -/* - * structures: independent of the ipc code! - */ - -/* messages from the client */ -struct cinit_question { - int32_t cmd; - char data[PATH_MAX]; - int32_t options; -}; - -/* messages from cinit */ -struct cinit_answer { - int32_t ret; - int32_t options; - char data[PATH_MAX]; -}; - -/* codes for messages */ -enum { - /* questions */ - CINIT_MSG_QUESTIONS=1000, /* begin questions at 1000 */ - CINIT_MSG_GET_STATUS, /* status of a service */ - CINIT_MSG_GET_PID, /* get pid of a service */ - CINIT_MSG_GET_VERSION, /* version of cinit */ - - /* answers */ - CINIT_MSG_ANSWERS=2000, /* begin answers at 2000 */ - CINIT_MSG_OK, /* general ok value */ - CINIT_MSG_ERR, /* general error value */ - CINIT_MSG_SVC_UNKNOWN /* Services is not known */ -}; - -struct cinit_msg_msg { - int code; - char *msg; -}; - -//struct cinit_msg_msg cinit_codes2messages[] = { - -//} - -/* functions */ -pid_t cinit_svc_get_pid(char *); -int32_t cinit_get_svc_status(char *); -int cinit_get_version(char *); -int cinit_send_to(struct cinit_question *, struct cinit_answer *); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/cmd.h b/software/cinit/browse_source/cinit-0.3pre13/src/include/cmd.h deleted file mode 100644 index 0645aff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/cmd.h +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Header file for the cmd (cinit management) - */ - -#ifndef CINIT_CMD_HEADER -#define CINIT_CMD_HEADER - -#define CMD_USAGE "cmd - cinit management\n\n" \ - "cmd -[ed] -[nw] -[ps] [service] -[v]\n\n" \ - " -e: enable service\n" \ - " including dependencies\n" \ - " -d: disable service\n" \ - " including dependencies\n\n" \ - " -n: without needs\n" \ - " Skip wants when en/disabling\n" \ - " -w: without wants\n" \ - " Skip needs when en/disabling\n\n" \ - " -h: get help\n" \ - " this messages" \ - " -p: get process id (pid)\n" \ - " of specified service\n" \ - " -s: get status\n" \ - " of specified service\n" \ - " -v: get version\n" \ - " of cinit\n" \ - " -V: get version\n" \ - " of cmd\n" \ - "" - -#define CMD_OPTIONS "e:d:hp:s:vV" - -#define MSG_KILL "kill()" -#define CMD_VERSION "cmd 0.1" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/intern.h b/software/cinit/browse_source/cinit-0.3pre13/src/include/intern.h deleted file mode 100644 index 9a373de1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/intern.h +++ /dev/null @@ -1,114 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * internal header - */ - - -#ifndef _CINIT_INTERN_H -#define _CINIT_INTERN_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* structures: answer / question */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_NOLINK, /* file is a broken symbolic link*/ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_LAST CINIT_CONFDIR SLASH C_LAST -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* needed by set_signals */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -void mini_printf(char *str, int fd); -void set_signals(int action); -//void usage(char *banner, char *stext); - -/* core functions */ -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -//int msg_svc_on_off(char *svc, char action); -//int msg_change_status(char *svc, char status, pid_t pid); -//int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* communication */ -int read_command(struct cinit_question, struct cinit_answer *); -int answer_svc_status(char *, struct cinit_answer *); -int answer_svc_pid(char *, struct cinit_answer *); -int answer_version(struct cinit_answer *); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -void print_errno(char *text); - -#endif /* INTERN */ diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre13/src/include/ipc.h deleted file mode 100644 index f10fa998..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/ipc.h +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/* FIXME: change to cinit/types.h later */ -#include "cinit.h" - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init */ - -int cinit_ipc_connect(void); /* connect to init */ - -int cinit_ipc_csend(struct cinit_question *); /* ask the server */ -int cinit_ipc_cread(struct cinit_answer *); /* read answer */ - -int cinit_ipc_logoff(void); /* logoff */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/listing b/software/cinit/browse_source/cinit-0.3pre13/src/include/listing deleted file mode 100644 index bccdad37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/listing +++ /dev/null @@ -1,8 +0,0 @@ -include/intern.h -include/config.h -include/ipc.h -include/messages.h -include/os.h -include/reboot.h -include/signals.h -include/svc.h diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre13/src/include/messages.h deleted file mode 100644 index 6b6a5ef6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/messages.h +++ /dev/null @@ -1,154 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * All messages - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -//#define MSG_ERR_DEPS "Too many dependencies" -//#define MSG_ERR_ACCEPT "accept" -//#define MSG_ERR_WAITPID "waitpid" -//#define MSG_ERR_POLL "poll" -//#define MSG_ERR_MODIFY "modify list failed" -//#define MSG_ERR_COMM "Communication failed" - -//#define MSG_ERR_LESS_ARGS "Too less arguments!" -//#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -//#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -//#define LOG_NEED_FAIL "One or more need failed" -//#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# include -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) {} -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ - -/* services: how they should be printed - * /etc/cinit/svc/long/name: started once - * /etc/cinit/svc/long/name: is respawning - * /etc/cinit/svc/long/name: FAILED (why it happened) - */ - -#define MSG_INTRO_CINIT "cinit:" -#define MSG_INTRO_SPACE MSG_INTRO_CINIT " " -#define MSG_INTRO_SVC MSG_INTRO_CINIT -#define MSG_INTRO_STOP MSG_INTRO_CINIT "stop: " -#define MSG_INTRO_EXEC MSG_INTRO_CINIT "exec: " - -/* FIXME: remove/append, but no intro! */ -#define MSG_INTRO_FAIL "FAILED " -#define MSG_INTRO_RESPAWN MSG_INTRO_CINIT "respawn: " -#define MSG_INTRO_OK MSG_INTRO_CINIT "ok: " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" - - -#define MSG_BUILTIN_SLEEP MSG_INTRO_STOP "Using built-in sleep" - -#define MSG_TREE_EXEC MSG_INTRO_SPACE "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_FATAL_PANIC MSG_INTRO_SPACE "I tried everything, but even panic() failed: " -#define MSG_ERR_SLEEP MSG_INTRO_SPACE "Sleep did not succeed" -#define MSG_GETTIMEOFDAY MSG_INTRO_SPACE "gettimeofday() failed!" - -/* execution */ -//#define MSG_EXECUTING MSG_INTRO_EXEC - -/* stat() errors */ -#define MSG_NONREGULAR "Is not a regular file." -#define MSG_BROKENLINK "Is a broken link." - -/* Service messages */ -#define MSG_SVC_START "Starting... " -#define MSG_SVC_STOP "Stoping... " -#define MSG_SVC_RESTART "Restarted." -#define MSG_SVC_SLEEP "Sleeping before restart" -#define MSG_SVC_OK_ONCE "Started once." -#define MSG_SVC_OK_RESPAWN "Is respawning." - -/* Status messages */ -#define MSG_SHUTDOWN_START MSG_INTRO_STOP "\nBeginning the shutdown process..." -#define MSG_SHUTDOWN_SVC MSG_INTRO_STOP "Shutting down services now..." -#define MSG_SHUTDOWN_KILL MSG_INTRO_STOP "Killing remaining processes..." -#define MSG_SHUTDOWN_LAST MSG_INTRO_STOP "Executing final service..." -#define MSG_POWER_OFF MSG_INTRO_STOP "Powering off..." -#define MSG_HALT MSG_INTRO_STOP "Halting system ..." -#define MSG_REBOOT MSG_INTRO_STOP "Rebooting ..." - -/* client messages */ -#define MSG_HALT_KILL "halt.kill" -#define MSG_REBOOT_KILL "reboot.kill" -#define MSG_POWEROFF_KILL "poweroff.kill" - - -/* reboot */ -#define MSG_TERMKILL MSG_INTRO_FAIL "SIGTERM" -#define MSG_KILLBILL MSG_INTRO_FAIL "SIGKILL" - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre13/src/include/os.h deleted file mode 100644 index b3320c0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/reboot.h b/software/cinit/browse_source/cinit-0.3pre13/src/include/reboot.h deleted file mode 100644 index cd8a345e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/reboot.h +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot specific functions - * - */ - -#ifndef CINIT_REBOOT_HEADER -#define CINIT_REBOOT_HEADER - -/***************************************************************************** - * the main reboot function - */ -void do_reboot(int signal); - - -/***************************************************************************** - * os specific functions - */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - - -/***************************************************************************** - * Functions: abstract do_reboot - */ -#define cinit_do_reboot() do_reboot(SIGHUP) -#define cinit_do_halt() do_reboot(SIGUSR1) -#define cinit_do_poweroff() do_reboot(SIGTERM) - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/signals.h b/software/cinit/browse_source/cinit-0.3pre13/src/include/signals.h deleted file mode 100644 index a51e402d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/signals.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Define signals to use: needs signal.h to be included before. - */ - -#ifndef CINIT_SIGNALS_HEADER -#define CINIT_SIGNALS_HEADER - -#define SIG_CINIT_HALT SIGUSR1 -#define SIG_CINIT_POWEROFF SIGTERM -#define SIG_CINIT_REBOOT SIGHUP - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/svc-intern.h b/software/cinit/browse_source/cinit-0.3pre13/src/include/svc-intern.h deleted file mode 100644 index 35ea3438..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/svc-intern.h +++ /dev/null @@ -1,82 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Internal service specifics - */ - - -#ifndef __CINIT_SVC_INTERN_H -#define __CINIT_SVC_INTERN_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char *abs_path; /* name of service */ - long int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - time_t start; /* time the process was started last time */ - - - struct dep *wanted; /* list of services that want this service */ - struct dep *needed; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *svc_init; /* the services to start */ -extern struct listitem *svc_list; /* the list of services */ - -/* list functions */ -struct listitem *list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -int svc_set_status(struct listitem *li, int status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void svc_start(struct listitem *li, int delay); -void shutdown_services(struct listitem *start); - - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -#endif /* _CINIT_SVC_INTERN_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/svc-messages.h b/software/cinit/browse_source/cinit-0.3pre13/src/include/svc-messages.h deleted file mode 100644 index eb3b51bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/svc-messages.h +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Service status messages - */ - - -#ifndef __CINIT_SVC_MESSAGES_H -#define __CINIT_SVC_MESSAGES_H - -#include "svc.h" - -struct cinit_svc_msg { - int code; - char *msg; -}; - -struct cinit_svc_msg cinit_svc_msg_codes[] = { - { CINIT_ST_SH_ONCE, "Service should be started once" }, - { CINIT_ST_SH_RESPAWN, "Service should respawn" }, - { CINIT_ST_ONCE_OK, "Service successfully started once" }, - { CINIT_ST_ONCE_FAIL, "Service failed to start once" }, - { CINIT_ST_RESPAWNING, "Service is respawning" }, - { CINIT_ST_NEED_FAILD, "One ore more needs failed" }, - { CINIT_ST_IN_LIST, "Service is in starter list" }, - { CINIT_ST_BAD_ERR, "Some strange error happened" }, - { CINIT_ST_ONCE_RUN, "Service is currently running once" }, - { CINIT_ST_NOT_EXIST, "This service does not exist" } -}; - -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre13/src/include/svc.h deleted file mode 100644 index bbf40c83..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/include/svc.h +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Service status (also exposed to the outside) - */ - - -#ifndef __CINIT_SVC_H -#define __CINIT_SVC_H - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum cinit_svc_status { - /* first define basics */ - CINIT_ST_SH_ONCE = 0x1, /* service SHould be started once */ - CINIT_ST_SH_RESPAWN = 0x2, /* service SHould respawn */ - CINIT_ST_ONCE_OK = 0x4, /* service was successfully started once */ - CINIT_ST_ONCE_FAIL = 0x8, /* service failed to start */ - CINIT_ST_RESPAWNING = 0x10, /* service is respawning */ - CINIT_ST_NEED_FAILD = 0x20, /* this service is not started, need failed */ - CINIT_ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - CINIT_ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - CINIT_ST_ONCE_RUN = 0x100, /* the once process is currently running */ - CINIT_ST_NOT_EXIST = 0x200 /* there's no such service in our database */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum cinit_svc_needs_status { - CINIT_SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - CINIT_SNS_NEEDS_FAILED, /* one ore more needs failed */ - CINIT_SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq-rt/README b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq-rt/README deleted file mode 100644 index cc1a1b7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq-rt/README +++ /dev/null @@ -1,2 +0,0 @@ -This implementation uses the new realtime inferface of -posix instead of the old one functions. diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq-rt/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq-rt/cinit_ipc_init.c deleted file mode 100644 index ef22b6d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq-rt/cinit_ipc_init.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include - -#include "cinit.h" -#include "config.h" -#include "msgq-rt.h" - -int cinit_ipc_init(void) -{ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq-rt/mq_open.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq-rt/mq_open.c deleted file mode 100644 index 445e7dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq-rt/mq_open.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -int main() -{ - mqd_t readq = mq_open("/test",O_RDWR|O_CREAT|O_EXCL); - //mqd_t readq = mq_open("/bin/ls",O_RDWR|O_CREAT|O_EXCL); - - if(readq == -1) { - perror("oh nein"); - return 1; - } - mqd_t writeq = mq_open("/bin/cp",O_WRONLY|O_CREAT|O_EXCL); - if(readq == -1) { - perror("oh oh nein"); - return 1; - } -} - - diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq-rt/msgq-rt.h b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq-rt/msgq-rt.h deleted file mode 100644 index d09a2808..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq-rt/msgq-rt.h +++ /dev/null @@ -1,39 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#define MSGQ_PATHNAME "/cinit" /* identifier */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_cread.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_cread.c deleted file mode 100644 index a3d443cd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_cread.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client reads messages from cinit - * - */ - -#include /* msg* */ -#include /* memcpy() */ -#include /* getpid() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msq specific */ - -int cinit_ipc_cread(struct cinit_answer *buf) -{ - struct msgq_server asr; - - if(msgrcv(__cinit_mq_in, &asr, sizeof(asr.asr), getpid(), 0) == -1) { - print_errno(MSG_MSGQ_MSGRCV); - return 0; - } - memcpy(buf, &(asr.asr), sizeof(*buf)); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 1b686a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client sends messages to cinit - * - */ - -#include /* msgget */ -#include /* memcpy() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structure */ - -int cinit_ipc_csend(struct cinit_question *qsn) -{ - struct msgq_client msg; - - msg.mtype = 1; /* cinit = 1 */ - - /* copy question structure into the msgq-structure */ - memcpy(&(msg.qsn), qsn, sizeof(msg.qsn)); - - if(msgsnd(__cinit_mq_out, &msg, sizeof(msg.qsn), 0) == -1) { - print_errno(MSG_MSGQ_MSGSEND); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 8186cba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ -#include "msgq.h" /* mq_in, mq_out */ -#include "intern.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(__cinit_mq_in, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(__cinit_mq_out, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index d5102f13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* message queue */ - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index 96962d6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,63 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* printf() */ - -#include /* msgget */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structs */ - -int cinit_ipc_listen(void) -{ - int tmp; - struct cinit_msgq_client qsn; - struct cinit_msgq_server asr; - struct msqid_ds msq; - - /* FIXME: remove debug */ - printf("MSGQ-IPC: Listening...\n"); - - tmp = msgrcv(__cinit_mq_in, &qsn, sizeof (qsn.qsn), 0, 0); - - /* message system problem */ - if(tmp == -1) { - if(errno != EINTR) { - print_errno(__CINIT_MSG_MSGQ_MSGRCV); - } - - return -1; - } - - /* retrieve pid */ - if(msgctl(__cinit_mq_in, IPC_STAT, &msq) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGCTL); - return -1; - } - - // debug code - //printf("pid direkt: self: %d (peer: %d)\n",msq.msg_lrpid, msq.msg_lspid); - - if(!read_command(qsn.qsn, &(asr.asr))) { - /* FIXME: mini_print */ - printf("read command failed\n"); - - asr.asr.ret = CINIT_MSG_ERR; - } - - asr.mtype = msq.msg_lspid; - if(msgsnd(__cinit_mq_out, &asr, sizeof(asr.asr), 0) == -1) { - /* FIXME: do different things on differen errnos ... */ - print_errno("msgsend/answer"); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index ac8306d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Disconnect from cinit - * - */ - -int cinit_ipc_logoff(void) -{ - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index e15b12f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msgq constants */ - -int cinit_ipc_logon(void) -{ - key_t k_tmp; - - /* generiere nen schluessel: andersrum als im Server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, 0); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, 0); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/msgq.h deleted file mode 100644 index 68398764..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,58 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * header of message queuing interface - * - */ - -#ifndef __CINIT_IPC_HEADER -#define __CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define __CINIT_MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define __CINIT_MSGQ_TO_SERVER 'i' /* also for ftok */ -#define __CINIT_MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define __CINIT_MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables: FIXME: rename, we're in client namespace! - */ -int __cinit_mq_in; /* input */ -int __cinit_mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct cinit_msgq_client { - long mtype; - struct cinit_question qsn; -}; - -/* messages _from_ the server _to_ the client */ -struct cinit_msgq_server { - long mtype; - struct cinit_answer asr; -}; - -/*********************************************************************** - * Messages - */ - -#define __CINIT_MSG_MSGQ_FTOK "ftok" -#define __CINIT_MSG_MSGQ_MSGGET "msgget" -#define __CINIT_MSG_MSGQ_MSGCTL "msgctl" -#define __CINIT_MSG_MSGQ_MSGSEND "msgsend" -#define __CINIT_MSG_MSGQ_MSGRCV "msgrcv" -#define __CINIT_MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/socket+linux-tmpfs/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/socket+linux-tmpfs/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/socket+linux-tmpfs/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/socket+linux-tmpfs/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre13/src/ipc/socket+linux-tmpfs/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/ipc/socket+linux-tmpfs/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/README b/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/README deleted file mode 100644 index 096cc779..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/README +++ /dev/null @@ -1,22 +0,0 @@ -Build a small library that can be used by different applications, that provides: - - Constants / Macros: - for cinit_halt: - CINIT_HALT - CINIT_REBOOT - CINIT_POWEROFF - - for cinit_svc_start/stop: - CINIT_SVC_NORMAL - CINIT_SVC_NEEDS - CINIT_SVC_ONLY - CINIT_SVC_WANTS - - Functions: - void cinit_halt(int how); - int cinit_svc_start(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - -This lib must then include: - - choosen ipc functions diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_get_svc_status.c b/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_get_svc_status.c deleted file mode 100644 index 262ea7da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_get_svc_status.c +++ /dev/null @@ -1,30 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Retrieves status of a service - */ - - -#include /* str* */ -#include /* integers */ -#include "cinit.h" /* header for clients */ - -/* returns either the status (>0) - * or -1 on memory error - */ -int32_t cinit_get_svc_status(char *name) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - qsn.cmd = CINIT_MSG_GET_STATUS; - strcpy((qsn.data), name); - qsn.options = 0; - - if(!cinit_send_to(&qsn, &asr)) return -1; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_get_version.c b/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_get_version.c deleted file mode 100644 index 659443fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_get_version.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Retrieves version of cinit - */ - -#include /* malloc */ -#include /* str*, memset */ -#include /* NULL */ - -#include "cinit.h" /* header for clients */ - -int cinit_get_version(char *buf) -{ - struct cinit_question ask; - struct cinit_answer asr; - - memset(&ask, '\0', sizeof(ask)); - memset(&asr, '\0', sizeof(asr)); - ask.cmd = CINIT_MSG_GET_VERSION; - - if(!cinit_send_to(&ask, &asr)) return 0; - - if(asr.ret != CINIT_MSG_OK) return 0; - - /* buf is always big enough to save the version string */ - strcpy(buf, asr.data); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_halt.c b/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_halt.c deleted file mode 100644 index c388ba89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_halt.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cinit_halt(): call for library - */ - - -#include "" /* include global header */ -int cinit_halt(int how) -{ - switch(how) { - case 'p': /* power off */ - break; - - default: - break; - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_send_to.c b/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_send_to.c deleted file mode 100644 index 49edc481..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_send_to.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * sends data from the client to cinit - */ - - -#include "ipc.h" /* IPC */ -#include "cinit.h" /* struct cinit_message */ - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) -{ - if(!cinit_ipc_logon()) return 0; - if(!cinit_ipc_csend(data)) return 0; - if(!cinit_ipc_cread(res)) return 0; - if(!cinit_ipc_logoff()) return 0; - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_svc_get_pid.c b/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_svc_get_pid.c deleted file mode 100644 index 8cb270d5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/libcinit/cinit_svc_get_pid.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Retrieves status of a service - */ - - -#include /* str* */ -#include "cinit.h" /* header for clients */ - -/* returns either the status (>0) - * or -1 on memory error - */ -pid_t cinit_svc_get_pid(char *name) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - qsn.cmd = CINIT_MSG_GET_PID; - strcpy((qsn.data), name); - qsn.options = 0; - - if(!cinit_send_to(&qsn, &asr)) return -1; - - if(asr.ret == CINIT_MSG_OK) { - return asr.options; - } else { - return (pid_t) 0; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/cinit deleted file mode 100644 index 612d7e3a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/cinit +++ /dev/null @@ -1,54 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/set_signals.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/gen_halt_tree.o -svc/list_delete.o -svc/list_insert.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/shutdown_services.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_start.o -svc/svc_fail.o -comm/read_command.o -comm/answer_svc_status.o -comm/answer_svc_pid.o -comm/answer_version.o diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/cmd b/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/cmd deleted file mode 100644 index bc72c3bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/cmd +++ /dev/null @@ -1,11 +0,0 @@ -client/cmd.o -generic/print_errno.o -generic/mini_printf.o -libcinit/cinit_get_svc_status.o -libcinit/cinit_get_version.o -libcinit/cinit_send_to.o -ipc/current/cinit_ipc_logon.o -ipc/current/cinit_ipc_csend.o -ipc/current/cinit_ipc_cread.o -ipc/current/cinit_ipc_logoff.o -libcinit/cinit_svc_get_pid.o diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/halt.kill b/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/halt.kill deleted file mode 100644 index e5b12a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/halt.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/halt.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/poweroff.kill b/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/poweroff.kill deleted file mode 100644 index 306fc0bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/poweroff.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/poweroff.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/reboot.kill b/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/reboot.kill deleted file mode 100644 index f851badf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/object_lists/reboot.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/reboot.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre13/src/os/freebsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre13/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre13/src/os/freebsd/poweroff.c deleted file mode 100644 index c73dd079..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre13/src/os/freebsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre13/src/os/linux/halt.c deleted file mode 100644 index 5ee3eb53..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre13/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre13/src/os/linux/poweroff.c deleted file mode 100644 index c7d2b1c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre13/src/os/linux/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre13/src/os/netbsd/halt.c deleted file mode 100644 index 972aecf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/netbsd/halt.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre13/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre13/src/os/netbsd/poweroff.c deleted file mode 100644 index 17d7b259..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre13/src/os/netbsd/reboot.c deleted file mode 100644 index 14313e17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/netbsd/reboot.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre13/src/os/openbsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre13/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre13/src/os/openbsd/poweroff.c deleted file mode 100644 index bf4120e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre13/src/os/openbsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/check_add_deps.c deleted file mode 100644 index a6ec06d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/check_add_deps.c +++ /dev/null @@ -1,128 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers, check: - * getcwd */ -#include - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" -#include "svc-intern.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - /* FIXME remove in production */ - D_PRINTF("CAD::"); - D_PRINTF(svc->abs_path); - D_PRINTF("\n"); - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf,C_NEEDS)) return 0; - } else { - if(!path_append(buf,C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent=readdir(d_tmp))!=NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* skip non-working directories / broken links - * path_absolute reports errors on failure */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - dep_entry_add(&(new_svc->needed),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs),deps); - } else { - dep_entry_add(&(new_svc->wanted),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants),deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/dep_create.c deleted file mode 100644 index 542cb329..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/dep_create.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc-intern.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/dep_entry_add.c deleted file mode 100644 index 254f7431..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/dep_entry_add.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc-intern.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(*deplist == NULL) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/dep_entry_del.c deleted file mode 100644 index 7a914929..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/dep_entry_del.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc-intern.h" /* struct *dep */ - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* last service in the list */ - if(del->next == del && del->prev == del) { - tmp=NULL; - } else { - /* remove from list */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/dep_needs_wants_add.c deleted file mode 100644 index c82a4bef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,65 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ -#include "svc-intern.h" /* struct *dep */ -#include "svc.h" /* struct *dep */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed; - } else { - end = svc->wanted; - } - - /* Place to the first dependency of this service */ - tmp = end; - if(tmp != NULL) { - do { - /* Add service to the starter list, which - * - should be started once - * - should be respawned (both VIRGIN services!) - * - and which are not already in the list! - */ - if(((tmp->svc->status & CINIT_ST_SH_ONCE) || - (tmp->svc->status & CINIT_ST_SH_RESPAWN)) && - !(tmp->svc->status & CINIT_ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= CINIT_ST_IN_LIST; - dep_entry_add(list,new); - } - /* FIXME: Clearify if we should go forward or backwards? - * this decision will influence starting order - * and may thereby add a minimal mount of speed enhancement - * - * As far as I can see it is not predictable, which way is - * better, because it heavily depends on the other services. - * - * If you know better, provide me with a patch ;-) - */ - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/gen_halt_tree.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/gen_halt_tree.c deleted file mode 100644 index 1801bbaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/gen_halt_tree.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * This function reads the full service tree and generates - * a list of services to begin shutdown (those that are not - * wanted or needed by any other service). - */ - -#include /* NULL */ - -#include "svc-intern.h" /* structs */ -#include "intern.h" /* structs */ - -struct dep *gen_halt_list(struct listitem *svc_tree) -{ - struct dep *list = NULL, *new = NULL; - struct listitem *tmp; - - /* no tree? nothing to shutdown. */ - if(!svc_tree) { - return NULL; - } - - /* find all services that do not depend on other services: - * - empty wants? (currently ignore them) - * - empty needs! - */ - tmp = svc_tree; - do { - if(tmp->needs == NULL) { - /* create new dependency */ - new = dep_create(tmp); - if(!new) return NULL; - - dep_entry_add(&list,new); - } - tmp = tmp->next; - } while(tmp != svc_tree); - - return list; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/gen_svc_tree.c deleted file mode 100644 index 59f68cb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include - -#include "intern.h" /* functions */ -#include "svc.h" /* constants */ -#include "svc-intern.h" /* functions */ - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li=list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return NULL; - - if(!check_add_deps(li,DEP_NEEDS)) return NULL; - if(!check_add_deps(li,DEP_WANTS)) return NULL; - - /* no dependencies? then you are a start service */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&svc_init,deps); - - /* Mark it as being in the startup list, so it does not - * get added again in a dep_needs_wants_add call */ - li->status |= CINIT_ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_delete.c deleted file mode 100644 index 7ead6275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_delete.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* free */ -#include "intern.h" /* list_search */ -#include "svc-intern.h" /* listitem */ - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if(tmp == NULL) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - - free(tmp->abs_path); - free(tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_display_all.c deleted file mode 100644 index 4955acbb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_display_all.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ - -#include "messages.h" /* D_PRINTF */ -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return 0; - } else { - tmp = svc_list; - } - - do { - D_PRINTF("Service: "); - D_PRINTF(tmp->abs_path); - D_PRINTF("\n"); - - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_insert.c deleted file mode 100644 index 0e99ad6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_insert.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* malloc */ -#include /* bzero / memset */ -#include "svc-intern.h" /* the list pointer */ - -struct listitem *list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) return NULL; - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_modify.c deleted file mode 100644 index 267539d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_modify.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED. Not in use anymore. - * - * part of cLinux/cinit - * - * List handling - */ - -#error "NOT IN USE" - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if(tmp == NULL) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_search.c deleted file mode 100644 index 6ceb43d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_search.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "svc-intern.h" /* struct listitem */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_search_pid.c deleted file mode 100644 index 112c8eab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/list_search_pid.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Search by pid - */ - -#include /* NULL */ -#include /* pid_t */ -#include "svc-intern.h" /* struct listitem */ - -struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return NULL; - } else { - tmp = svc_list; - } - - do { - if(pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/shutdown_services.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/shutdown_services.c deleted file mode 100644 index 280de8ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/shutdown_services.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Shutdown all services: This is more or less the negative - * version of 'tree_exec()' - */ - -#include "svc-intern.h" /* struct */ - -void shutdown_services(struct listitem *svc) -{ - while(0) { - svc++; - } - /* stop services in the correct order: - * - begin at a random process, and walk the tree up to the wanted_by and needed_by - * - switch to next service, as soon as this tree is finished - */ - -// while(we_are_wanted_or_needed) { -// shutdown_services(next_wants_or_needs_us); -// } - -// shutdown_services(svc) - - /* begin at svc, iterate until a service without dependencies is found, - * continue stopping through wanted-by / needed-by / wants / needs */ - - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_add_needs.c deleted file mode 100644 index 2c045328..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_add_needs.c +++ /dev/null @@ -1,69 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED! - * - * part of cLinux/cinit - * - * List handling - */ - -#error "NOT IN USE" - -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_create.c deleted file mode 100644 index 18ca7c9a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_create.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* strcpy */ -#include /* stat */ -#include /* stat */ -#include /* PATH_MAX */ -#include /* errno */ - -#include "svc.h" /* constants */ -#include "svc-intern.h" /* listitem */ -#include "intern.h" /* path_append */ -#include "messages.h" /* D_PRINTF */ - -/* checking for existence is done before! */ -/* FIXME: check heedars for conformance with POSIX */ -struct listitem *svc_create(char *svc) -{ - char buf[PATH_MAX+1]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc,-1); - if(!li) return NULL; - - /* FIXME: add two path length checks? svc and svc+strlen(C_RESPAWN)? */ - strcpy(buf,svc); - if(!path_append(buf,C_RESPAWN)) return NULL; - - if(stat(buf,&statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li,CINIT_ST_SH_ONCE); - } else { - return NULL; - } - } else { - svc_set_status(li,CINIT_ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_fail.c deleted file mode 100644 index 35d22fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_fail.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Mark the service as being failed - */ - -#include "svc.h" -#include "svc-intern.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) - li->status = CINIT_ST_ONCE_FAIL; - else { - /* FIXME: do something senseful, record time of dead? */ - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_needs_status.c deleted file mode 100644 index 74846a69..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_needs_status.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return status of the needs of this service - */ - -#include /* NULL */ -#include "svc.h" /* service information */ -#include "svc-intern.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = CINIT_SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - - if(deps == NULL) return CINIT_SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* worst case: need failed */ - if((deps->svc->status & CINIT_ST_NEED_FAILD) || - (deps->svc->status & CINIT_ST_ONCE_FAIL) || - (deps->svc->status & CINIT_ST_BAD_ERR) ){ - retval = CINIT_SNS_NEEDS_FAILED; - break; - } - /* services are being started */ - if((deps->svc->status & CINIT_ST_SH_ONCE) || - (deps->svc->status & CINIT_ST_SH_RESPAWN) || - (deps->svc->status & CINIT_ST_ONCE_RUN) ){ - // printf("%s (%ld) waits for %s (%ld)\n",svc->abs_path, svc->status, deps->svc->abs_path, deps->svc->status); - retval = CINIT_SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_report_status.c deleted file mode 100644 index 3802afe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_report_status.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Tell the world what happened to the service - */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC,1); - mini_printf(svc,1); - mini_printf(": ",1); - mini_printf(msg,1); - if(err) { - mini_printf(" (",1); - mini_printf(err,1); - mini_printf(")",1); - } - mini_printf("\n",1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_respawn_check.c deleted file mode 100644 index 0fae4def..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED? not in use. - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#error "NOT IN USE" - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX+1]; - - strcpy(buf,svc->abs_path); - if(!path_append(buf,C_RESPAWN)) return 0 -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_set_status.c deleted file mode 100644 index 52f28ac1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_set_status.c +++ /dev/null @@ -1,18 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc-intern.h" - -/* checking for existence is done before! */ -int svc_set_status(struct listitem *li, int status) -{ - /* FIXME: also set time? */ - - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_should_respawn.c deleted file mode 100644 index 91bc592c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return whether should respawn or not - */ - -#include "svc-intern.h" -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & CINIT_ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_start.c deleted file mode 100644 index 1c8cdc72..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_start.c +++ /dev/null @@ -1,120 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* nanosleep() */ -//#include /* gettimeofday() */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ - -extern int svc_lock; - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li, int delay) -{ - char buf[PATH_MAX+1]; - struct timespec ts; - - /* set global lock to avoid race condition */ - svc_lock = 1; - - /* first update status before forking ! */ - if(li->status & CINIT_ST_SH_ONCE) - li->status = CINIT_ST_ONCE_RUN; - else - li->status = CINIT_ST_RESPAWNING; - - /* set start time */ - li->start = time(NULL); - - /* FIXME: All cleanup must go here - * close(fds); - * reset signals - * reset env? - * - * FIXME: Add logging possibility to here - * open (0,1,2) to other processes, if specified */ - - /* BUG: - * the following child may return _before_ - * the fork returns in the parent. - * Thus this pid may not be registered. - * - * And that's the reason why we need the global svc_lock! - */ - li->pid = fork(); - - /********************** parent ************************/ - if(li->pid > 0) { - svc_lock = 0; - printf("%s is at %d\n",li->abs_path, li->pid); - return; - } - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path,MSG_SVC_FORK,strerror(errno)); - svc_set_status(li,CINIT_ST_BAD_ERR); - return; - } - - /********************** Client / fork() ************************/ - /* sleep, if necesseray */ - if(delay) { - ts.tv_sec = delay; - ts.tv_nsec = 0; - - /* FIXME: also report value; int2char */ - printf("Delay: %d\n", delay); - svc_report_status(li->abs_path,MSG_SVC_SLEEP,NULL); - - /* do not need to check for errors, because we can continue anyway */ - /* WRONG: FIXME: look whether to sleep again */ - nanosleep(&ts,NULL); - } - svc_report_status(li->abs_path,MSG_SVC_START,NULL); - - /* length check is done by path_append */ - strcpy(buf,li->abs_path); - if(!path_append(buf,C_ON)) return; - - /* Check for existence */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - /* FIXME: remove later */ - printf("********************\n"); - printf("WO/EXE: %s\n",li->abs_path); - printf("********************\n"); - /* probably a problem: we exit too fast, cinit does not - * yet have us in the process list. is that possible? - * => catch with sleep */ - //sleep(2); - _exit(0); /* nothing there? fine! */ - } - - if(li->status == FE_FILE) { - /* FIXME: reset signals: Is this necessary? Or does fork clean it anyway? */ - set_signals(ACT_CLIENT); - - /* and now, fire it up */ - execute_sth(buf); - } else { - /* FIXME: report? */ - /* either no file or an error */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_success.c deleted file mode 100644 index 63caeb10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/svc_success.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include /* NULL */ - -#include "svc.h" /* listitem, svc_report_status */ -#include "svc-intern.h" /* listitem, svc_report_status */ -#include "messages.h" /* messages */ - -void svc_success(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) { - svc_report_status(li->abs_path,MSG_SVC_OK_ONCE,NULL); - li->status = CINIT_ST_ONCE_OK; - } else { - svc_report_status(li->abs_path,MSG_SVC_OK_RESPAWN,NULL); - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre13/src/svc/tree_exec.c deleted file mode 100644 index a2fa2d81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/svc/tree_exec.c +++ /dev/null @@ -1,92 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - - -#include /* NULL */ - -#include /* NULL */ -#include "intern.h" /* mini_printf */ -#include "messages.h" /* messages */ -#include "svc.h" /* svc_init */ -#include "svc-intern.h" /* svc_init */ - -/* some thoughts... - * - * - we already generated the tree, now we need to start it from - * the endings - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - struct dep *hack; - struct timespec ts; - - mini_printf(MSG_TREE_EXEC,1); - - /* the main starting loop: All services in this list should be - * started, but it is possible that dependent services are in the - * list. In this case simply skip the current service - */ - do { - switch(svc_needs_status(tmp->svc)) { - case CINIT_SNS_NEEDS_STARTED: - /* FIXME: MSG_* */ - svc_report_status(tmp->svc->abs_path,"Finished needs.", NULL); - /* execute service, add dependencies, remowe from list */ - svc_start(tmp->svc,0); - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_FAILED: - /* mark service as NEED_FAILD and delete from list */ - svc_report_status(tmp->svc->abs_path,MSG_SVC_NEED_FAIL,NULL); - svc_set_status(tmp->svc,CINIT_ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_UNFINISHED: - /* FIXME: continue here! */ - - hack = tmp->svc->needs; - do { - // get needs -// printf("%s waits for %s",tmp->svc->abs_path,hack->svc->abs_path); - // display status of needs - // printf("%s: %ld\n",hack->svc->abs_path,hack->svc->status); - hack = hack->next; - } while(hack != tmp->svc->needs); - - tmp = tmp->next; /* continue with the next item */ - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep(&ts,NULL); - break; - } - /* This case happens, if it's the last service waiting for something */ - /* if(tmp == tmp->next) { - - nanosleep()? - printf("BUUUUUUUUUUUUUG, exit\n"); - break; - } */ - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/data1.c b/software/cinit/browse_source/cinit-0.3pre13/src/test/data1.c deleted file mode 100644 index 341c6615..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/data1.c +++ /dev/null @@ -1,47 +0,0 @@ -#include -#include -#include - -int main() -{ - int a, b, e; - char *c = "/etc/cinit/svc/...", *data; - - int a2, b2; - char *c2; - - a2 = b2 = 0; - - a = 1001; - b = strlen(c); - c2 = malloc(b+1); - if(!c2) return 40; - - e = sizeof(a) + sizeof(b) + b; - - printf("e=%d (b=%d)\n",e,b); - - data = malloc(e); - if(!data) return 20; - - /* in */ - strcpy(data,(char *) &a); - e = sizeof(a); - strcpy(&data[e],(char *) &b); - e += sizeof(b); - strcpy(&data[e],c); - - /* out */ - strncpy((char *) &a2,data,sizeof(a2)); - printf("a2=%d\n",a2); - e = sizeof(a2); - - strncpy((char *) &b2,&data[e],sizeof(b2)); - printf("b2=%d\n",b2); - e += sizeof(b2); - - strncpy(c2,&data[e],b2); - printf("c2=%s\n",c2); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/fork-latency.c b/software/cinit/browse_source/cinit-0.3pre13/src/test/fork-latency.c deleted file mode 100644 index 7d813479..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/fork-latency.c +++ /dev/null @@ -1,104 +0,0 @@ -/************* - * - * A very small program to show that the child() of a fork() - * proceess can exit before fork() returns in the parent - * - * Nico Schottelius, Copying: GPLv3, 20070925 - * - * I run it this way: ./fork-latency | grep "child exited" | sort | uniq | wc -l - * => Number of children that exited before we recorded them! - * - * Or: ./fork-latency | grep "found" | sort | uniq | wc -l - * => children, which exited after fork() returned. - * - * Some interesting facts: - * - * - Very often the children exit before fork() returns: - * - * [8:58] denkbrett:test% ./fork-latency | grep "found" | sort | uniq | wc -l - * 2 - * - * - It looks like waitpid() returns more than once the same pid (MAX=500): - * - * [9:01] denkbrett:test% ./fork-latency | grep "child exited before fork" | wc -l - * 8435 - * - * [9:02] denkbrett:test% ./fork-latency | grep "found" | wc -l - * 111 - * - * [9:02] denkbrett:test% ./fork-latency | grep "found" > TMP - * [9:03] denkbrett:test% head TMP - * (475) found - * (475) found - * (475) found - * (374) found - * (374) found - * (374) found - * (374) found - * (373) found - * (374) found - * (374) found - * - * - * Imho waitpid() should return 0, because we specified WNOHANG and - * SA_NOCLDSTOP, if no child changed status - */ - - -#include /* fork() */ -#include /* sigaction, sigemtpyset */ -#include /* waitpid */ -#include /* printf, NULL */ - -#define MAX 500 /* number of forks */ - -pid_t list[MAX]; -int i=MAX; - -void sig_child(int status) -{ - int o; - int found; - pid_t pid; - - while((pid = waitpid(-1, &status, WNOHANG)) > 0) { - if(pid == -1) return; /* ignore errors */ - - found = 0; - // no need to search the whole list, use o = i instead - //for(o = 0; o < MAX; o++) { - for(o = i; o < MAX; o++) { - if(list[o] == pid) { - found = 1; - break; - } - } - if(found) { - printf("(%d) found\n", i); - } else { - printf("(%d) child exited before fork() returned\n", i); - } - } -} - -int main() -{ - struct sigaction sa; - sigemptyset(&sa.sa_mask); - - sa.sa_flags = 0; - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - sigaction(SIGCHLD,&sa,NULL); - - for(i=MAX-1; i >= 0; i--) list[i] = 0; - - i=MAX; - - for(i = MAX-1;i >= 0; i--) { - list[i] = fork(); - - /* child exists immediately */ - if(list[i] == 0) return 0; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/memcpy.c b/software/cinit/browse_source/cinit-0.3pre13/src/test/memcpy.c deleted file mode 100644 index b3abfcb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/memcpy.c +++ /dev/null @@ -1,46 +0,0 @@ -#include /* memcpy() */ -#include - -struct cinit_answer { - int options; - char data[2045]; -}; - -int f1(struct cinit_answer *buf); -int f2(struct cinit_answer *buf); - - -int f2(struct cinit_answer *buf) -{ - struct cinit_answer msg; - - printf("f2: %p\n",buf); - - msg.options = 12; - strcpy(msg.data,"stringit"); - - printf("addr= %p\n", memcpy(buf,&msg,sizeof(*buf))); - - printf("ok\n"); - - return 1; -} - -int f1(struct cinit_answer *buf) -{ - printf("f1: %p\n",buf); - printf("ret=%d\n",f2(buf)); - - return 1; -} - -int main() -{ - struct cinit_answer test; - - if(!f1(&test)) return 1; - - printf("s: %s d: %d\n",test.data, test.options); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/test-newline.c b/software/cinit/browse_source/cinit-0.3pre13/src/test/test-newline.c deleted file mode 100644 index 95e03a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/test-newline.c +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include -#include - -char *strip_final_newline(char *test1); - -int main() -{ - //char *test1 = "zeile1\nzeile2\n"; - //char *test2 = "zeile1\nzeile2\nzeile3"; - char *test1; - char *test2; - - test1 = malloc(50); - test2 = malloc(50); - - strcpy(test1,"zeile1\nzeile2\n"); - strcpy(test2,"zeile1\nzeile2\nzeile3"); - - char *result; - result = strip_final_newline(test1); - printf("A%sA\n",result); - - result = strip_final_newline(test2); - printf("B%sB\n",result); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre13/src/test/test_build_argv+link.c deleted file mode 100644 index f74b4f36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre13/src/test/test_build_argv.c deleted file mode 100644 index 3938aa0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre13/src/test/test_gen_svc_tree.c deleted file mode 100644 index c13c46b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre13/src/test/test_openreadclose.c deleted file mode 100644 index 2f722da5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file,&data); - - printf("%s\n",data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/tired.c b/software/cinit/browse_source/cinit-0.3pre13/src/test/tired.c deleted file mode 100644 index 112424ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/tired.c +++ /dev/null @@ -1,22 +0,0 @@ -#include - -struct msgq_server_short { - long mtype; - int mu; -}; - -main() -{ - struct msgq_server_short t1, *t2; - - t2 = &t1; - - int a = sizeof(t1); - int b = sizeof(t2); - int c = sizeof(*t2); - - printf("a=%d,b=%d,c=%d\n",a,b,c); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/src/test/transfer_structure.c b/software/cinit/browse_source/cinit-0.3pre13/src/test/transfer_structure.c deleted file mode 100644 index 5e95b997..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/src/test/transfer_structure.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include - -struct test { - char buf[2048]; - int cmd; -}; - -struct badtest { - char *buf; - int cmd; -}; - -#define PATH "/etc/cinit/svc/local-tuning/udev" - -int main() -{ - struct test cmd; - struct badtest nocmd; - int pfd[2]; - int tmp; - - strcpy(cmd.buf,"/which/service/to/disable"); - cmd.cmd = 42; - - if(pipe(pfd) == -1) return 1; - nocmd.cmd = 42; - nocmd.buf = malloc(strlen(PATH)+1); - strcpy(nocmd.buf,PATH); - - - if(fork() > 1) { - tmp = write(pfd[1],&cmd,sizeof(cmd)); - printf("PA: tmp=%d\n",tmp); - - tmp = write(pfd[1],&nocmd,sizeof(nocmd)); - printf("PA: tmp2=%d\n",tmp); - } else { - strcpy(cmd.buf,""); - cmd.cmd = 0; - - tmp = read(pfd[0],&cmd,sizeof(cmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n",tmp,cmd.cmd,cmd.buf); - - free(nocmd.buf); - nocmd.cmd = 0; - - tmp = read(pfd[0],&nocmd,sizeof(nocmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n",tmp,nocmd.cmd,nocmd.buf); - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre13/util/README b/software/cinit/browse_source/cinit-0.3pre13/util/README deleted file mode 100644 index f66e0ddb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/util/README +++ /dev/null @@ -1,4 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre13/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre13/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre13/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre13/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre13/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre13/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre13/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/ b/software/cinit/browse_source/cinit-0.3pre14/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre14/.gitignore b/software/cinit/browse_source/cinit-0.3pre14/.gitignore deleted file mode 100644 index 2afe5e76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/.gitignore +++ /dev/null @@ -1,32 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -*.html -*.htm -*.man -*.texi -*.texi -*.docbook -src/halt.kill -src/poweroff.kill -src/reboot.kill -doc/man/*.[0-9] -doc/man/*.xml -src/cmd -.*.swp -.exclude -src/.configured -src/cinit.halt -src/cinit.poweroff -src/cinit.reboot diff --git a/software/cinit/browse_source/cinit-0.3pre14/CHANGES b/software/cinit/browse_source/cinit-0.3pre14/CHANGES deleted file mode 100644 index ce8f4b43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/CHANGES +++ /dev/null @@ -1,108 +0,0 @@ -cinit-0.3pre14: 2008-03-17 - - Added test-suite for cmd - - Added support to shutdown services in cinit and cmd - (without needs and wants) - - Added linux-sysvinit wrapper for shutdown (See - scripts/wrapper/linux-sysvinit/shutdown) - - Rewrote most parts of cmd (to make it more beautiful) - - Changed license to GPL 3.0 - -cinit-0.3pre13: 2007-09-26 - - Added -V (get cmd version), -h (help), -p (get pid) to cmd - - Cleaned up namemsage in msgq.h - - Added global service lock - - Splitted of svc.h to svc.h, svc-intern.h and svc-messages.h - - Prepared logic splitoff from cinit_ipc_listen() - - Fixed bug: fork() has a general race condition - (see src/test/fork-latency.c) through use of global lock - -cinit-0.3pre12: 2007-09-06 - - Added DESTDIR support - - Added support to get service status via cmd: cmd -s - * also supports relative paths to CINIT_DIR ("/etc/cinit") - - Fixed git clone problem: hooks are needed for dumb git - - Fixed bug: We did not wait for services to finsh, which we depend on being - ran once. - -cinit-0.3pre11: 2007-09-01 - - Added basic communication: - * client binary "cmd" with argument -v returns cinit-version - - Updated {halt,reboot,poweroff}.kill - -cinit-0.3pre10: - - Fixed make install target - - Added halt.kill, poweroff.kill and reboot.kill (including manpages!) - - Fixed invalid comparision in core/cinit.c - - Be verbose: Print what we execute - - Updated documentation - -cinit-0.3pre9: 2007-05-15 - - Implemented sleeping before respawn (static delay) - - Report broken links on execution, but ignore empty services - - Cleaned up message queue error reporting - -cinit-0.3pre8: 2007-04-06 - - Updated and merged documentation: Codingstyle and Codingguide - - Cleaned sigaction-code (fixes segfault on glibc) - - Cleaned object listings - - Added notifications at shutdown - - Fixed status check - -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre14/COPYING b/software/cinit/browse_source/cinit-0.3pre14/COPYING deleted file mode 100644 index 94a9ed02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/COPYING +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/software/cinit/browse_source/cinit-0.3pre14/CREDITS b/software/cinit/browse_source/cinit-0.3pre14/CREDITS deleted file mode 100644 index febdcf4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/CREDITS +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: ls -l) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding -Tonnerre Lombard - * NetBSD support (host + hints) diff --git a/software/cinit/browse_source/cinit-0.3pre14/Changelog b/software/cinit/browse_source/cinit-0.3pre14/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre14/Makefile b/software/cinit/browse_source/cinit-0.3pre14/Makefile deleted file mode 100644 index c55cf030..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/Makefile +++ /dev/null @@ -1,80 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation -dev-all: all sizecheck - -install clean dist distclean: - @for subdir in ${CDIRS}; do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && ${MAKE} ${MAKEFLAGS} $@) || break; \ - done; - -.PHONY: sources -sources: - ${MAKE} -C src all - -.PHONY: documentation -documentation: - ${MAKE} -C doc documentation - -sizecheck: sources - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $$FILE; cat $$FILE; \ - cg-add $$FILE - cg-commit $$FILE -m "Size added" - #cg-commit $$FILE -m "Size: $$(awk '{ print $5 }' $$FILE)" - -source-size: clean - @echo -n "Source size (in KiB): " - @du -s src/ | awk '{ sum+=$$1 } END { print sum }' - - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - - -################################################################################ -# Tests -# -tests: - # does not work, due getting killed, due to design :-) - #./scripts/internal/compile_run_as_compiler.sh - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -################################################################################ -# -# Developer targets -# - -release: ./scripts/internal/cinit.release - ./scripts/internal/cinit.release now - -scripts/internal/cinit.release: ./scripts/internal/test-cmd.sh - ./scripts/internal/test-cmd.sh - diff --git a/software/cinit/browse_source/cinit-0.3pre14/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre14/NEXTTODO deleted file mode 100644 index 3942d764..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/NEXTTODO +++ /dev/null @@ -1,48 +0,0 @@ -- Add service start/stop to cmd --> then continue in cinit itself. - - cinit_svc_disable.c - -- remove malloc for paths - use - -- cleanly define functions for cmd - --------------------------------------------------------------------------------- -- svc_stop_wait() - => calls svc_stop() and waits until the process - is finished - => pay attention for child handler! - => wait for that specific PID! - => use global lock? -- answer_svc_stop(char *svc, int method) - => is called by the IPC methods - => checks whether the service exists - => returns the status of the service (NOT_EXISTS or - the new one) - => calls svc_stop_wait(), which returns - => method = - o including needed_by - o including wanted_by - o including needed_by and wanted_by - o only the service - -- cinit blocking while shutting down - => not good! - => only needed when being in ipc! - => otherwise tree_stop() catches that again. -- -- Documentate off exit codes: - * 0: successfully stopped - * 1: internal error: service status unknown - * 2: ...? - -Done for pre14: -- svc_stop() - => stops an existing service - => sets status - => calls "off" -- svc_stop_deps() => takes care about dependencies - -- Add comment about path_absolute in manpage of cmd => requires the directory - to be there. diff --git a/software/cinit/browse_source/cinit-0.3pre14/README b/software/cinit/browse_source/cinit-0.3pre14/README deleted file mode 100644 index 00f2651b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/README +++ /dev/null @@ -1,106 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Unix -- true dependencies (soft and hard!) -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -FIXME: Add mailing list here - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre14/ROADMAP b/software/cinit/browse_source/cinit-0.3pre14/ROADMAP deleted file mode 100644 index 0bf98337..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/ROADMAP +++ /dev/null @@ -1,115 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit [DONE] - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree [DONE] - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers [DONE] - code: cleanup makefile [DONE] - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. [DONE] - code: add special directory (/etc/cinit/conf?) for non-services [DONE] - code: move production code to src/ [DONE] - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory [DONE] - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) [DONE] - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre14/TODO b/software/cinit/browse_source/cinit-0.3pre14/TODO deleted file mode 100644 index cdb08485..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/TODO +++ /dev/null @@ -1,307 +0,0 @@ --------------------------------------------------------------------------------- -- define service status in one document, so repeatition stops! --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary --------------------------------------------------------------------------------- -- add code do implement stopping / restarting with dependency tree --------------------------------------------------------------------------------- -# cinit.create.empty.service: can only be started from the bin directory - -- Fix Switching services off !! -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren - -- on.out, on.err, on.in? - -> reading/writing from/to files - -- implement "no_kill" until cinit-0.2 or 0.3? - - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) --------------------------------------------------------------------------------- -Helper scripts, rausgenommen aus Der Doku, muessen fuer -cinit-0.3 ueberprueft werden: - -Configure help scripts -~~~~~~~~~~~~~~~~~~~~~~ -cinit-conf later -Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring - * add scripts! see below - - define coding guidelines -> general, with url? - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? - -Documentation -------------- - -developer -~~~~~~~~~ -- ST_IN_LIST == startup marker, used to (NOT) insert services into startup -- dep_needs_wants_add is used to add dependencies of a service to the general - starter list - - -user ----- -- do we really need swapoff? remove umount, swapoff! - * to services! - -> they have to do it! -- dependencies with leading '.' (dot) are ignored. -- about cinit-configuration structure - * cconfig - * svc/ - * special/ (or however we called it) - - panic - - halt - - poweroff - - reboot - --------------------------------------------------------------------------------- -FAQ -~~~ -- DOKU: what happens when a service does not terminate.... - und er als once drin ist ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! - -- multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - --------------------------------------------------------------------------------- -csvc: -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -cinit: -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! - -Child handlin -~~~~~~~~~~~~~g -- free() everything before starting child - -Later -~~~~~ -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? - -> yep, clean environment! -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -- Doc - * main.text -> cleanup / remove / split - * config-dirs - * FAQ - * ideas - * meta.dependencies - - config/hints/meta depps - * optimising - - integrate into other - * README.text - - update - * replacing.init - - update / integrate - * special-services.text - - into configuring/hints? - * TODO - - into paths, if necessary - * updating.cinit - - update as soon as update is possible? - * using.rescue - - update as soon as update is possible? - * 'os-integration.text' - * 'daemons.backgrounding' - * There are some hints on how to migrate to cinit in general and also - some os specific help in the file 'migrating-init-systems.text', -- CODECHECK: - * what happens with the wants of the last services? - - are they added? - - are they added at the correct position? -- scripts - * `cinit.check.config` (doc/user/configuring.cinit.text) - -> circular depedencies! -- Doc.next: - - installing: report! - -> write report script. -- Doc later - * current-init-problems.text - - current-init-problems.text explains why cinit does not use nor recommends the use of shell scripts. - * special-services.text - -- Begin documentation - * Check Makefile - * Integrate Makefile into main Makefile - * create manpage - * Write a small manual - - install - - configure - - boot (different OS) - * generate asciidoc! -- Doc way: - * installing - * configuring - - testconfig! - * booting - - different OS / bootloader - * debugging -- Shutdomn code: - * begin at init, then shutdown wants/needs, ... -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- replace cinit_ipc_logon with cinit_ipc_init... - * delay ipc code -> after start! - -- Cleanup / create object lists - object-lists/ - cinit - cservice - ccontrol - cinit.halt - cinit.reboot - cinit.shutdown (shell script?!?) - - -TODO.pre9: - - Done: - - pfad korrigieren (home/..../ -> cinit.release) - - cg-add nicht aufrufen beim make all! -ser/nico/oeffentlich/computer/projekte/cinit/cinit-0.3pre8/doc' -FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $FILE; cat $FILE; \ - cg-add $FILE --rwx------ 1 nico nico 72601 2007-04-06 17:52 src/cinit -There is no GIT repository here (.git not found) -make: *** [sizecheck] Fehler 1 - - setup VM for testing: qemu/kvm/virtualbox (no commercial bloaty) - -> uml! - - sleep when respawnig! - -> static delay of five seconds - do_reboot.c: - is ipc closed? -> check! => done! - - ignore msgrcv: Interrupted system call -Session terminated, killing shell...msgq-destroy: Invalid argument -msgq-destroy: Invalid argument - - do not print an error if /etc/cinit/conf/last is non-existent! - => print it. Do not not print it, as this can aid debugging. - include locking via shm, remove test on pid1 - => not necessary imho currently - - -TODO.pre10: - Done: - cleanup client/ comm/ contrib+tools/ util/ tmp/ - Debugging cinit-configuration: - ls -lR /etc/cinit - or: cinit.read.... - -TODO.pre11: - Remove some debugging, re-introduce DEBUG() macro.. - Fix doc: - - make dist should cleanup cc / ld to sane values? - or do I experiement in tmp/*? - - http://linux.schottelius.org/cinit/browse_source/current/doc/user/config-dirs - conf/c_halt - - IPC: - * check msqg-code - * documentate the ipc functions: update devel/ipc.text - * check cinit_read_command() (devel/ipc.h) - - do_reboot.c: - write cinit_svc_shutdown - - implement do_reboot() - * so not only booting with cinit works, but also the shutdown - - write libcinit for use in cmd() - - find out why gettimeofday() and time() do strange things when called in SIG_CHLD - => bug opened in glibc, got to code testprogram - - write cinit.conf.check - * report broken links in needs/wants - * report circular dependencies - - pretty print, reporting is ugly! - Add handler for ctrl+alt+delete - * document in paths - * check whether there's an os-unspecific way to do that - cleanup bin/ - - write sys-v-init-shutdown-wrapper - * shutdown - * halt - * reboot - * poweroff - - write manpages for - - *.kill - - cmd - - install: - make install => does not overwrite critical targets - * cinit - * *.kill (see client/*) - * cmd - make force-install => overwrites /sbin/{halt,poweroff,reboot}? - => with script that wraps cmd - make install-template: - * creates categories - make install-miniconf: - * creates categories - * creates one service starting a shell (depending on the OS!) - - cleanup src/ - finish ipc code so clients can access cinit - implement CMD_INFO (see comm.h) - - -TODO.pre12: - Check and clean doc/ - Remove *TODO*+ROADMAP and leave behin doc/TODO - -TODO.pre13: - code cmd=(cservice ccontrol halt reboot shutdown poweroff) - => halt/r/... also with kill ... - Test, release and prepare for final cinit-0.3 - -TODO.0.3.1 - add log support - cinit logs to - -> shm saver - services log to - -TODO unclear - - create migration scripts diff --git a/software/cinit/browse_source/cinit-0.3pre14/TODO.doc b/software/cinit/browse_source/cinit-0.3pre14/TODO.doc deleted file mode 100644 index a170a50d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/TODO.doc +++ /dev/null @@ -1,29 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - -caveats -------- - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- cinit ignores the Keyboard request -- Currently there is no support to react on 'ctr+alt+del': -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - diff --git a/software/cinit/browse_source/cinit-0.3pre14/TODO.lucky b/software/cinit/browse_source/cinit-0.3pre14/TODO.lucky deleted file mode 100644 index 3ac57ee5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/TODO.lucky +++ /dev/null @@ -1,16 +0,0 @@ -18:18 hey, ich hatte gerade ein wenig lust mich mit cinit zu befassen, hier also mein - kleiner bug-report: in src/include fehlt cinit.h, (alles auf das aktuelle - tarball bezogen), ich hab's aus pre9 genommen, hatte ich noch da, da git nicht - wollte(Cannot get remote repository information.), ausserdem hast du _ statt - - in doc/man/cinit.text verwendet bei der email, das mag docbook nicht, die - beiden zeilen habe ich korrigiert, danch ging schon mal make all und auch make - ins -18:35 und warum installiert er die man pages nicht mit? -07:20 so, kleiner zwischenbericht, das argv problem bei lvm gibt es mit pre10 nicht - mehr, d.h. dass man auch kein shell-skript mehr braucht um lvm/luks-devices zu - mounten :) -07:20 soweit sieht eig. alles gut aus -07:21 wenn das so bleibt, dann werd' ich dauerhaft auf cinit umsteigen :) -07:21 und wenn sich die gelegenheit bietet, dann stell ich cinit auch mal in der - info-ag von unserer schule vor :) - diff --git a/software/cinit/browse_source/cinit-0.3pre14/TODO.optimisations b/software/cinit/browse_source/cinit-0.3pre14/TODO.optimisations deleted file mode 100644 index 8a686b4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/TODO.optimisations +++ /dev/null @@ -1,19 +0,0 @@ -This file describes enhancements or optimisations that -could be done / checked. - - -Code ----- - -fork() -~~~~~~ - -Security -^^^^^^^^^ -- Closed fds? -- Close other things? -- IPC? - -Cleanup -^^^^^^^ -- Do we have to reset signals or is that done anyway by fork()? diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre14/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.configure.mark deleted file mode 100644 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/.README b/software/cinit/browse_source/cinit-0.3pre14/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre14/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre14/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_env b/software/cinit/browse_source/cinit-0.3pre14/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_init b/software/cinit/browse_source/cinit-0.3pre14/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_last b/software/cinit/browse_source/cinit-0.3pre14/conf/c_last deleted file mode 100644 index 8debf155..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_last +++ /dev/null @@ -1,7 +0,0 @@ -last - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -This maybe a shellscript with the OS-specific umount procedure (like umount -a), -see doc/user/configuring.cinit for more details. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre14/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_off b/software/cinit/browse_source/cinit-0.3pre14/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_on b/software/cinit/browse_source/cinit-0.3pre14/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre14/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_params b/software/cinit/browse_source/cinit-0.3pre14/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre14/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre14/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre14/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre14/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre14/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre14/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/cc b/software/cinit/browse_source/cinit-0.3pre14/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/cflags b/software/cinit/browse_source/cinit-0.3pre14/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre14/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/confdir b/software/cinit/browse_source/cinit-0.3pre14/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/destdir b/software/cinit/browse_source/cinit-0.3pre14/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre14/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre14/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre14/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre14/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/ld b/software/cinit/browse_source/cinit-0.3pre14/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre14/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre14/conf/max_delay deleted file mode 100644 index 30725bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/max_delay +++ /dev/null @@ -1,4 +0,0 @@ -30 - -Maximum number of seconds to sleep between retrying to start it -(respawn only). diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre14/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre14/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre14/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre14/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/os b/software/cinit/browse_source/cinit-0.3pre14/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre14/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre14/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre14/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/prefix b/software/cinit/browse_source/cinit-0.3pre14/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/profile b/software/cinit/browse_source/cinit-0.3pre14/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre14/conf/service_categories deleted file mode 100644 index 2216ea97..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/service_categories +++ /dev/null @@ -1,7 +0,0 @@ -getty init local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. - -Btw, 'init' is the first service and has always to be there, but it does not really -fit into here, because it's a real one, compraed to the pseudo services. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre14/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/strip b/software/cinit/browse_source/cinit-0.3pre14/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre14/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre14/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf/version b/software/cinit/browse_source/cinit-0.3pre14/conf/version deleted file mode 100644 index 56476ae6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre14" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre14/conf2/README b/software/cinit/browse_source/cinit-0.3pre14/conf2/README deleted file mode 100644 index c753107d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/conf2/README +++ /dev/null @@ -1,33 +0,0 @@ -Migrate conf/ to general conf/-buildsystem (write documentation for it). - -gpm2 may be an example for this! - -conf/targets: - targets to make available in Makefile and their dependencies - - abstract the build-process somehow, so one can create build-targets? - - c-programs/ (includes cc / ld) - cinit (link to conf/object_listings cinit?) -conf/object_listings - lists of dependencies: - conf/object_listings/cinit contains all objects needed for cinit - -conf/programs/ - like cc, ld, install, ... - -conf/built-options/ - like --... in ./configure - -conf/install/ - - options/ - destdir (prefixed before everything) - prefix (standard prefix) - bin (relative to prefix, if not beginning with a /) - sbin (relative to prefix, if not beginning with a /) - lib (relative to prefix, if not beginning with a /) - targets/ - cinit/ - built-target (link to conf/targets/cinit) - destination (relative to diff --git a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/Makefile deleted file mode 100644 index 23cc41f0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o usage.o mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/cinit-vis.pl deleted file mode 100644 index 4a439fc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/svc/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/cinit.graph.text.c deleted file mode 100644 index 5e5316ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -//#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.graph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.graph.text - textual representatio of the cinit directory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.graph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/cinit.h b/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/cinit.h deleted file mode 100644 index cbde3195..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/cinit.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Dummy header file to intgrate mini_printf and usage - */ - -#ifndef CINIT_DUMMY_HEADER -#define CINIT_DUMMY_HEADER - -void usage(char *banner, char *text); -void mini_printf(char *str,int fd); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/mini_printf.c deleted file mode 120000 index 3e9a596c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/mini_printf.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/mini_printf.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/usage.c b/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/usage.c deleted file mode 120000 index c26691ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/contrib+tools/usage.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/usage.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre14/doc/.buildwarn deleted file mode 100644 index 41183a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/.buildwarn +++ /dev/null @@ -1,24 +0,0 @@ - -Welcome to the cinit -******************** - -Hints: ------- - - Settings can be found in conf/* (also used for compiling) - - Cinit configuration is normally found in /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text BEFORE installing. - -Building cinit --------------- - - "make all" - to build cinit - "make install" - to install cinit, documentation and core tools - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre14/doc/Makefile deleted file mode 100644 index 0daac842..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -A2X=a2x -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text man/halt.kill.text man/poweroff.kill.text \ - man/reboot.kill.text man/cmd.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DEVELDOCS = devel/codingguideline.text -DOCS = $(MANDOCS) $(USERDOCS) $(DEVELDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -#TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpages" - @echo "pdf: only generate pdfs (requires: fop)" - -install: $(DOC_ALL) - @echo "===> Copy " man/*.[0-9] "to the correct manpaths" - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -#%.man: %.mandocbook -# ${DOCBOOKTOMAN} --to-stdout $< > $@ - -%.man: %.text - ${A2X} -f manpage $< - -%.pdf: %.text - ${A2X} -f pdf $< - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - rm -f man/*.texi man/*.xml man/*.[0-9] - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/README.text b/software/cinit/browse_source/cinit-0.3pre14/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/root-vm-testing b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/root-vm-testing deleted file mode 100644 index a8773dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/root-vm-testing +++ /dev/null @@ -1,9 +0,0 @@ -[19:33] denkbrett:root% cat uml-mount.sh -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl - -denkbrett# tar cfj ~nico/projekte/cinit/conf-vm-2007-03-05.tar.bz2 cinit -denkbrett# chown -R nico cinit -denkbrett# chown nico ../sbin - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/shutdown.text deleted file mode 100644 index ac76425d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/shutdown.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} - * no, implemented that directly into cinit! -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process - * create mappers for target OS - - Linux - - {free,net,open}bsd - - others may contribute theirself -- also implement poweroff - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement halt - * kill -USR1 1 - - -The implementation ------------------ -x shutdown is initiated -x disable communication (nobody can influence us anymore) -x install special signal handler? - - no. we do not care about zombies anymore, we are gone soon anyway - - simply reset to the default -- begin to shutdown services - * where to start? - * begin shutdown at the end of the tree, viewing/sorting it by the 'needed_by' - -> where to begin sort? - -> worst implementation: scan all services (easy for now) - -> result: list of services, that noone needs :-) - * stop those services and step above - - stop a service, as soon as noone needs it anymore - * check all needed_by links - * more or less the inverted gen_svc_tree -- how to shutdown a service - * if existing, call off - - if off does not exist: - * if respawn: send sigterm to the process - * also implement sigkill at this stage? - - think we can delay it to the end - - otherwise users can use off! - - implement environment for off ($cinit_respawn_pid, $cinit_service_name) - - do *NOT* care about the return value, we can't do anything for it - anymore anyway -- after all services are shutdown, kill all remaining services - * SIGTERM - * wait(defined_time_in_seconds) - * SIGKILL -- call the last command - * to cleanup the system - - umount -a (if needed) - - swapoff (if needed) - - sync (if needed) -- switch off diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/sizes b/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/sizes deleted file mode 100644 index ddd30f75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/braindumps/sizes +++ /dev/null @@ -1,6 +0,0 @@ -sysvinit: -root 1 0.0 0.0 1944 648 ? Ss 02:12 0:00 init [2] - -cinit-0.3pre8-glibc-linux: -compiler 25323 0.0 0.0 1564 392 pts/2 S+ 20:22 0:00 ./cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre14/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre14/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/codingguideline.text b/software/cinit/browse_source/cinit-0.3pre14/doc/devel/codingguideline.text deleted file mode 100644 index d4686d8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/codingguideline.text +++ /dev/null @@ -1,149 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. -Indent variable names, so the names begin all at the same position. -Use three spaces to place them. - - -Whitespaces ------------ -Where to put or avoid whitespaces (space or linefeed (lf)). - - -Spaces -~~~~~~ -- After closing brace "if(test) return 0;" -- Spaces before and after '=', '>', '<', '==', '!='', '>=', '<=', '>>', '<<', '&', '&&', '|', '||' -- After start of comment and before end of comment: '/* text */' - - - After ')', ',' - -No spaces -~~~~~~~~~ -- Within braces and code "(!test)", -- Before braces "if(code)" -- No space before ), so if '))', do not put a space after the first ')' - - -Linebreaks -~~~~~~~~~~ -This somehow includes the setting of braces (indirectly through (not) setting -spaces. - -If -^^ - -Put the if, the braces and the opening curly brace on one line, -put the closing one together with `else` and the new opening -curly brace on one line: - ------------------------------------------------------------------------------- -if(...) { - /* code */ -} else { - /* else: code */ -} ------------------------------------------------------------------------------- - -While -^^^^^ ------------------------------------------------------------------------------- -while(condition) { - /* repeat */ -} ------------------------------------------------------------------------------- - -Do-While -^^^^^^^^ ------------------------------------------------------------------------------- -do { - /* something */ -} while(running); ------------------------------------------------------------------------------- - -Switch -^^^^^^ - ------------------------------------------------------------------------------- -switch(value) { - case DO_SOMETHING: - /* code */ - break; - default: - break; -} ------------------------------------------------------------------------------- - - - -Where to put curly braces -------------------------- - -Functions -~~~~~~~~~ -Opening and closing curly braces are placed on a seperate row: - ------------------------------------------------------------------------------- -int func(int params) -{ - body -} ------------------------------------------------------------------------------- - - -If, else, while, do-while -~~~~~~~~~~~~~~~~~~~~~~~~~ -See above. - - -Comments ---------- -where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - -If there is more than one line containing a comment, try to adjust them -so they look the same in width and position: - ------------------------------------------------------------------------------- - int illuminati = 23; /* do not want to comment that */ - int the_answer_to_everything = 42; /* 42. */ - - [...] - - while(illuminati < the_answer_to_everything) { /* only try before them */ - overtake_world(&self); /* overtake is complex */ - } ------------------------------------------------------------------------------- - - -Header -------- -Put a header into each file, containing: - - - Date of file being put into existence (year is enough) - - Name and e-mail (obfuscated if you want) of the author(s) - - Description of the function - - Copyright statement (if not included GPLv2 or later is assumed) - - -Includes -~~~~~~~~ -Include system headers first, then place own headers. Comment the includes, -wherefore you added them. Example: - ------------------------------------------------------------------------------- -#include /* write */ -#include "cinit.h> /* cinit_ipc_* */ ------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre14/doc/devel/communication.text deleted file mode 100644 index 64ea30cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/communication.text +++ /dev/null @@ -1,248 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - - -Numbers -~~~~~~~ -Can be found in include/cinit.h. - - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -Can't use a structure, were missing the point that we cannot transfer dynamic -length strings. Thus the protocol consists of: - - client(int) => cinit - cinit(ini) => client - => after that follows command specific data - -The byte order is host specific (may be little or big endian). - -STRUCTURE WITH STATIC SIZE. MSGRCV! -IPC LAYER CREATES TRANSPORT! - -Type -~~~~ -Messages are binary data. - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: What's the status of service XYZ? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Code, length of service name, the service name (without \0). -int, int, char[]; - - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre14/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre14/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre14/doc/devel/ipc.text deleted file mode 100644 index e57ac039..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/ipc.text +++ /dev/null @@ -1,169 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - -Abstraction layer: cinit_ipc_* ------------------------------- -You can choose or even reimplement ipc code for cinit. You only have to create -a directory below src/ipc/ and create the following necessary functions: - -int cinit_ipc_init(void); -~~~~~~~~~~~~~~~~~~~~~~~~~ -Initialise the IPC functions in cinit. - - -int cinit_ipc_listen(void); -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Never ending looping function that listens for commands and passes the -retrieved command to read_command(). - -other -~~~~~~ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - - -cinit_get_data(int ident, int size, void *data) => read size bytes from client -with ident - -/***************************************************************************** - * Functions: in clients - */ - int cinit_ipc_logon(void); /* logon to init (client init) */ - int cinit_ipc_connect(void); /* connect to init */ - int cinit_ipc_csend(struct cinit_message *data); /* send to the server from a client */ - - --------------------------------------------------------------------------------- -Messages: - - struct cinit_question qsn; - struct cinit_answer asr; - -question: - -answer: - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) - -> return 0 on ipc errors - --------------------------------------------------------------------------------- -enable / disable services: - - - send svc - - send flags - - - recv return: - CINIT_ASW_SVC_STOPPED: successfully stopped the service - - CINIT_ASW_SVC_ERR: failed to stop the service - CINIT_ASW_SVC_WANTS: wants failed - CINIT_ASW_SVC_NEEDS: needs failed - opt contains number of failed services - retriev them from cinit after that - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre14/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre14/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre14/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre14/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/gpl3-header b/software/cinit/browse_source/cinit-0.3pre14/doc/gpl3-header deleted file mode 100644 index 27f761be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/gpl3-header +++ /dev/null @@ -1,23 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * purpose_of_this_file_is_also_there_behind_the_big_header - * - */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre14/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre14/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre14/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre14/doc/man/cinit.text deleted file mode 100644 index 19d0015a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/man/cmd.text b/software/cinit/browse_source/cinit-0.3pre14/doc/man/cmd.text deleted file mode 100644 index 76bce74b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/man/cmd.text +++ /dev/null @@ -1,88 +0,0 @@ -cmd(8) -====== -Nico Schottelius - - -NAME ----- -cmd - cinit management and information tool - - -SYNOPSIS --------- -'cmd' [-ed (i|w|n)] [-(p|s) ] [-v] - - -DESCRIPTION ------------ -cmd adds the management possibility to cinit(8). You can retrieve -several information from cinit and change services. - -OPTIONS -------- --d:: - Disable service (see below for required parameters) - (NOT YET IMPLEMENTED) - --e:: - Enable service - - i: Included all needs and wants - - n: Exclude needs - - w: Exclude wants - (NOT YET IMPLEMENTED) - --p:: - Retrieve last process id (pid) for the specific service. For respawn - services this is the pid of the running service. For services that are - started only once it is the pid it had when running. - (NOT YET IMPLEMENTED) - --s:: - Retrieve status of a service. Warning: Do not add trailing slash. - Path can be specified absolute (/etc/cinit/svc/mount/root) or - relative (mount/root). - --v:: - Get version of cinit. - --V:: - Get version of cmd. - - - -EXAMPLES --------- -Get version:: - [8:44] denkbrett:src# cmd -v - - Version of cinit: 0.3pre12 - -Get status:: - [8:37] denkbrett:src# ./cmd -s mount/root - - Status of /etc/cinit/svc/mount/root is: 2001 - - -EXIT STATUS ------------ -Cmd returns 0 on success, 1 on user errors, 2 on communication errors. - -BUGS ----- -Not everything is implemented. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License Version 3 (GPLv3). diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre14/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/man/halt.kill.text b/software/cinit/browse_source/cinit-0.3pre14/doc/man/halt.kill.text deleted file mode 100644 index 4a31e257..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/man/halt.kill.text +++ /dev/null @@ -1,46 +0,0 @@ -halt.kill(8) -============ -Nico Schottelius - - -NAME ----- -halt.kill - Halts systems running cinit through a kill call - -SYNOPSIS --------- -'halt.kill' - - -DESCRIPTION ------------ -You normally halt your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to halt -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute halt.kill, your system will be halted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/man/poweroff.kill.text b/software/cinit/browse_source/cinit-0.3pre14/doc/man/poweroff.kill.text deleted file mode 100644 index 62807ba1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/man/poweroff.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -poweroff.kill(8) -================ -Nico Schottelius - - -NAME ----- -poweroff.kill - Halts and powers off systems running cinit through a kill call - -SYNOPSIS --------- -'poweroff.kill' - - -DESCRIPTION ------------ -You normally poweroff your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to poweroff -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute poweroff.kill, your system will be - powered off. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), reboot.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/man/reboot.kill.text b/software/cinit/browse_source/cinit-0.3pre14/doc/man/reboot.kill.text deleted file mode 100644 index a748553e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/man/reboot.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -reboot.kill(8) -============== -Nico Schottelius - - -NAME ----- -reboot.kill - Reboots systems running cinit through a kill call - -SYNOPSIS --------- -'reboot.kill' - - -DESCRIPTION ------------ -You normally reboot your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to reboot -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute reboot.kill, your system will be - rebooted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), poweroff.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre11 b/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre11 deleted file mode 100644 index ec532269..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre11 +++ /dev/null @@ -1,10 +0,0 @@ -Done: -- cleanup ipc: - merge cinit_ipc_logon() and cinit_ipc_connect()? - => already done! -- finish cmd in general, perhaps only including one command. -[18:51] denkbrett:src# LANG=C cp cinit /sbin/cinit -cp: cannot create regular file `/sbin/cinit': Text file busy - => mv & cp! - => documentation! - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre12 b/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre12 deleted file mode 100644 index edbe41d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre12 +++ /dev/null @@ -1,41 +0,0 @@ -Wished release date: 6/7. September - --------------------------------------------------------------------------------- -Done: -- begin to write documentation about client functions - => noone needs that anyway. skip and concentrate on functions now. - -cleanup ipc! - where to call !cinit_ipc_logon and !cinit_ipc_connect? - --------------------------------------------------------------------------------- -Add -Hallo, - -Liebster Nico, wuerdest du die dazu durchringen "make install" und -vllt. sogar "make install-test" in die cinit 0.3er branch aufnehmen? - -vlg Lucky - ==> added make install in previous releases, make test maybe come back - later again. -- cleanup communication: - put parts of comm.h into cinit.h => global exposure - or define new structure in cinit.h? - => removed comm.h -- check svc path in cmd: if it's relative, add /etc/cinit/svc to it - => added. -- add update for git => so cloning does not fail! - => added hook. -Use http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html - => partly implemented - -- remove manual pid support, use the one supplied by msgctl() - => ok. -- there seems to be a race condition in the execution of the - dependency tree: it happens that services that depend on - mounted /proc, have needs on mount/proc are still exited - before /proc is mounted. - problem of cinit or of mount, exiting too early? - guess the first one, so fix it :-) - - => missing check in svc_needs_status.c diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre13 b/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre13 deleted file mode 100644 index ff8d4296..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre13 +++ /dev/null @@ -1,19 +0,0 @@ -Wished released date: 10./11. September - --------------------------------------------------------------------------------- -Done: -- add get_svc_pid() -- cleanup msgq.h: namespace! -- cleanup cmd: add real usage, add -h for help -- cleanup cinit_ipc_logon()! [already done before] -- cleanup headers: ==> not yet needed. - seems to make more sense, to have more than one exposed header. - cinit.h gets to fast too big. so splitoff to: - /* main */ - /* ... */ -- create libcinit.a/so and link against it => not need right now. -- pre12 seems to have an IPC problem: Fix it. ==> problem with not finishing cinit startup -- global symbol to track the connection to cinit in the client - => cinit_ipc_cinit() - initalise ipc in the client (only once) - => not really our problem, client should be able to remember - whether she called us once or twice. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre13.race-condition b/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre13.race-condition deleted file mode 100644 index 19bea29a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre13.race-condition +++ /dev/null @@ -1,12 +0,0 @@ -09:49 < telmich> is it possible, that if I fork() and call _exit(0) in the child, that the - _exit(0) is executed earlier than the fork() call returns in the parent? -09:49 < telmich> I'm having some race condition in cinit, where the pid is not yet updated in - the service structure, and the child exited before and thus cinit does not - update the service -09:49 < telmich> as being run -09:51 < telmich> rexy_: currently I'm thinking about implementing a lock before starting the - fork() -09:51 < telmich> rexy_: thus cinit will react differently, if the starting function is still - running -09:51 < telmich> rexy_: but I'm somehow confused, that fork() allows such race condition - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre14 b/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre14 deleted file mode 100644 index e002d60c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre14 +++ /dev/null @@ -1,3 +0,0 @@ -Wished release date: 13. September -- add support for shutting down services - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre15 deleted file mode 100644 index 60ae294a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre15 +++ /dev/null @@ -1,62 +0,0 @@ -Wished release date: 20. September -- Add support for starting/stoping services via cmd - - add support for additional information (like which services stopped - when having dependencies) - - if cinit has to stop / start others, how to report? - - add strings to cinit internally to a buffer? - -> or struct cinit_answer + status - -- add support to enable services - -- create some boot profiles -- cinit.install.standard.dirs.argv -- code check: - * check needs: - really started, after started or after finished starting? - * wants: - are they checked? - -- fix devel/codingguideline.text! - -- perhaps merge svc_need_status to svc_status - -cinit-communication: - cinit_get_failed_needs(char *name, int *cnt); -- add support for shutting down services on halt -- cleanup msgq/cinit_ipc_listen.c -- move logic out of the child handler: - => use the new while()-loop in core/cinit.c! - - time() and co. are problematic in a child handler! - - introduce global list of services to execute - => perhaps reuse already existing dependency-list? - - tree_exec(): check whether adding something to the dep list hurts - => don't think so. - expand / change ipc handler: - make it return the message - move while() loop to core/cinit.c - - in the while loop, the global dependency list should - be empty. - - if it is not, we should start something. - - => chance cinit_ipc_listen() to use without while() loop - => export logic to core/cinit.c -- map status numbers to messages -- Cleanup doc/user/NEW_using_cinit_freebsd - => make a real document! -- change to GPLv3? - => ask Markus (cinit), Killerfox (cconfig) and Peter (cconfig) -- write / update manpage for cmd! -- add sleep() support after service exited. - --------------------------------------------------------------------------------- -Done: -- add minimal test-suite: - cmd -s /etc/cinit/svc/init - cmd -p /etc/cinit/svc/init - cmd -v - cmd -V diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre16 b/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre16 deleted file mode 100644 index 16e6efb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre16 +++ /dev/null @@ -1,9 +0,0 @@ -Wished release date: 27. September -- check porting code: - * advise users to set conf/os - * add uname -r | tr ... as make osconfig -- check that all parts of cinit compile at least under: - * linux, linux on 64bit - * FreeBSD - * NetBSD -- cleanup output diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre17 b/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre17 deleted file mode 100644 index 82976e37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.3pre17 +++ /dev/null @@ -1,11 +0,0 @@ -Wished release date: 3. October - -"Code quality assurance release" - -- Fix bugs all outstanding bugs. -- Give cinit some time, write some documentation and make pre17 the last pre of the 0.3 - serie. -- Give the code out to other developers, request explicit strong critics - => So even - "This could be in theory, if Mars is behind Pluto on Sunday evening" bugs - are out. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.4 b/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.4 deleted file mode 100644 index 3b772d4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.4 +++ /dev/null @@ -1,44 +0,0 @@ --------------------------------------------------------------------------------- -Clean service status messages: - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s --------------------------------------------------------------------------------- -16:13 < KillerFox> telmich: hast du eigentlich schon hooks in cinit? -20:07 < KillerFox> Vapier fĂ¼hrt mal wieder Selbstgespräche. -23:39 < telmich> KillerFox: wozu? -23:42 < KillerFox> telmich: es wäre durchaus interessant, um z.B. sterbende Prozesse wieder zu - starten und so. -23:42 < KillerFox> oder einen Hinweis per Mail zu verschicken. -23:43 < telmich> ahh, du meinst so benachrichtigungen von cinit an $prozess? -23:43 < KillerFox> jein -23:43 < KillerFox> du machst z.B. /etc/cinit/hooks/ -23:43 < KillerFox> darin gibts dann Scripte die bei bestimmten Ereignise aufgerufen werden. -23:43 < KillerFox> z.B. wenn ein Prozess stirbt -23:44 < KillerFox> du kannst dir natĂ¼rlich auch Ă¼berlegen, es auf Prozessebene herunter zu - hacken -23:44 < telmich> ja, eher letzeres -23:44 < KillerFox> so könnte man auch ein paar nette Sachen machen. z.B. Aufräumarbeiten - nachdem ein Prozess beendet wurde oder so -23:45 < KillerFox> telmich: ich finde beides Sinnvoller -23:45 < KillerFox> telmich: globale und lokale Hooks -23:45 < KillerFox> lokale Ă¼berschreiben globale oder so -23:45 < telmich> oder laufen beide -23:45 < KillerFox> oder man kaskadiert sie. -23:45 < KillerFox> genau -23:46 < KillerFox> sinnvolle hooks: pre-start, start, post-start, pre-stop, stop, post-stop, - crash -23:46 < KillerFox> oder sowas -23:47 < KillerFox> vielleicht fallen dir noch mehr ein. -23:48 < KillerFox> die Kommunikation könnte man dann wahlweise Ă¼ber Parameter oder - Umgebungsvariablen lösen -23:48 < KillerFox> um z.B. mitzuteilen welcher Prozess gestoppt wurde -23:49 < KillerFox> z.B. wenn man in pre-stop je nach Bedingung den Stop-Vorgang abbrechen will. -23:49 < telmich> via ${ipc} => kommt darauf an, was implementiert ist; zZ ist es ja msgq -23:50 < telmich> ahh, so -23:50 < telmich> das waere noch recht trivial ueber pipes -23:50 < KillerFox> fifos/sockets, was auch immer. -23:50 < KillerFox> das mĂ¼sste man dann mit einer Bibliothek lösen oder so -23:50 < telmich> ja, die ist auch im aufbau in libcinit/ - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.4.1 b/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.4.1 deleted file mode 100644 index b0d7685d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/todo/0.4.1 +++ /dev/null @@ -1,2 +0,0 @@ -- Generate automatic asciidoc from conf/* - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre14/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre14/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/configuring.cinit.text deleted file mode 100644 index c04da745..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/configuring.cinit.text +++ /dev/null @@ -1,327 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - -The cinit configuration consists of -- a special configuration directory -- and the service definitions. - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - -Conf ----- -The special configuration directory is normally called `conf/` -(defined at compile-time in `conf/c_confdir`). - -For all executables into this directory apply the same rules as mentioned -below in "Execution: on and off": Appened .params specifies parameters, -appended .env specifies environment. - - -conf/last -~~~~~~~~~ -This is the last part that will be executed. After it has finished, cinit -will halt, power-off or reboot your machine. - -You can use it for whatever task to accomplish (as most things of cinit), but -the idea behind it is to use it for cleaning up things that are not covered -by the off parts of the services. This maybe swapoff (although this is an unecessary -call before poweroff, imho and even if needed this could be handled within the -off part of the same services that enabled it) or `umount -a` for everything -manually mounted and not unmounted yet. - - -conf/sleep_before_kill -~~~~~~~~~~~~~~~~~~~~~~ -This file contains just one line: The number of seconds to sleep after SIGTERM was sent -to every remaining process before sending SIGKILL to all processes. If this file -is unreadable or not existent, cinit will fall back to the value compiled in -(which was specified at build time in conf/sleep_kill). - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start). - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - - -Debugging the configuration ----------------------------- -Use `ls -lR /etc/cinit` or one of the tools found in contrib+tools/. - - -Examples --------- -Currently there are some example configurations available -at http://unix.schottelius.org/cinit/samples/cinit-0.3/, sorted -by host on which they are created. - -In near future, there will also be a file name configuration.example.text, -which will lead you to a sample configuration. - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/daemons.backgrounding.text deleted file mode 100644 index 5b61b91d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- dnsmasq [dhcp/tfpt/dns]: -k -- dovecot [imap/pop3 server]: -F -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- freeradius [radiusd]: -f -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openpbx [pbx]: -f -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre14/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/freebsd.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/freebsd.text deleted file mode 100644 index 05499166..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/freebsd.text +++ /dev/null @@ -1,21 +0,0 @@ -11:33 < mux> from sys/kern/init_main.c: -11:33 < telmich> mux: that's true; I just tried with linux and I tell the - bootloader, who tells the kernel then -11:33 < mux> static char init_path[MAXPATHLEN] = -11:33 < mux> #ifdef INIT_PATH __XSTRING(INIT_PATH); -11:33 < mux> #else -"/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall"; -11:33 < mux> #endif -11:33 < mux> but you give a loader tunable -11:34 < mux> if ((var = getenv("init_path")) != NULL) { -11:34 < mux> strlcpy(init_path, var, sizeof(init_path)); -11:34 < mux> freeenv(var); -11:34 < mux> } -11:34 < mux> here you are -11:34 < telmich> ahh, that's good -11:34 * telmich has to try cinit on freebsd the next days :-) -12:34 < mux> (s/you give/you can give/) -11:35 < mux> so, simply init_path)="/sbin/cinit" in /boot/loader.conf should do - it -11:35 < mux> minus the typo - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre14/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre14/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/problems-and-solutions.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/problems-and-solutions.text deleted file mode 100644 index 92cdd241..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/problems-and-solutions.text +++ /dev/null @@ -1,33 +0,0 @@ -cinit - Problems occured and solutions used -=========================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2007-05-28 -:Author Initials: NS - -This documentes describes real problems people had with -cinit and their appropriate solutions. Feel free to add -your problems and solutions here. - - -Introduction ------------- - - -Adding problems and solutions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Simply add your problem and solution and sign your paragraph -with your name. Then send the diff -u to the cinit mailinglist -or setup a git-repository so I can pull the changes. - - -Hibernate ---------- -uses /sbin/runlevel, which should *not* respond with 0 or 6 -as the second number. As cinit does not have /sbin/runlevel, -because cinit does not have any runlevels, you could hardcode -it to values hibernate accepts: - ----------------------------------------------------------------------- -#!/bin/sh -echo N 2 ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/problems.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/problems.text deleted file mode 100644 index 4fe8a315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/problems.text +++ /dev/null @@ -1,114 +0,0 @@ -Problems using cinit -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-24 -:Author Initials: NS - - -Using a high-speed, true dependency aware, profile supporting -logical acting and reliable init system like cinit is not -completly problem free. This document describes some common -problems you may have and their solutions. - - -Possible problems ------------------ - -Confused users -~~~~~~~~~~~~~~ -Compared to traditional init systems like sys-v-init or bsd-init -cinit introduces a complet new boot concept. This does not just -mean that you have services instead of shell-scripts (which is -one reason cinit is starting up faster), but also that the boot -order may be changed dynamically at bootup:, if a service fails. -And even if no service fails, the boot order may be different -on each boot, because processes are started in parallel and -may return earlier or later on each boot. To coordinate the -parallel running processes, cinit uses depencies, which are pretty -easy to understad when configurung, but may need some more -detailled watching at boot to understand it. - -The 'confused users'-problem is perhaps also the biggest -problem for introducing cinit as a replacement to current -init systems. - - -Configuration issues -~~~~~~~~~~~~~~~~~~~~ - -Not marking services as respawn -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When cinit starts, it will wait for every service to exit. -So if you have a dependency on a service -that never exits, the whole init process may hang (dependending -on the dependencies). If you have services that are intendet -*not* to exit after start, you *have* to mark those with -`respawn`: Those services are started and watched by cinit -and will be restarted. This was a design choice to ensure -that all 'always running' processes *are* restarted. - -I did not find any service that should not exit and not -have a respawn flag. If you really really really have such -a service and you can prove to me that the respawn flag -would do harm to your system, I will think about implementing -a flag that tells cinit not to wait for it, but mark it -as successfully run after it has been started. - -User interaction -~~~~~~~~~~~~~~~~ - -User input -~~~~~~~~~~ -There may be the situation that you have to press a key -or enter some data when a service starts up (like entering -the password for your crypto harddisks). With cinit, this -will look like a mess, because other services may write to -the same console the service wrote a user prompt. - -The best solution for this problem is in my humble -opinion to create an user-input daemon that serialises -the requests and displays one after another. - -This could look like this: Your daemon wants to ask for -a passphrase for the SSL-certificate. You add aa needs -to this daemon to the 'input-daemon'. When you -start this service, it will contact the input-daemon -running on another virtual console and displaying a text -and an input field that is passed back to this service. -After that the input daemon changes back to the initial -console or asks for the next input, if there is another -request available. - -This input daemon may also be run on a graphical (X11) display. -. -Output to the user -~~~~~~~~~~~~~~~~~~ -When cinit starts up there may be many messages printed -out that also may look like printed random order. -To prevent your endusers from being confused you can create -some kind of graphical interface (like a framebuffer -or X11 display) that reads the output of cinit and converts -it to flashing images. It could look like this: - ----------------------------------------------------------------------- - - Your (graphical?) display: - -------------------------------------------------------------- - | /-----------------\ | - | | Red border, | | - | | failed to start | | - | \-----------------/ | - | | - | /------ | - | | Green border, | - | image van | - | | - | | - | | - | | - | | - | | - -------------------------------------------------------------- - - ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre14/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/respawning-sleep.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/respawning-sleep.text deleted file mode 100644 index 24ed17e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/respawning-sleep.text +++ /dev/null @@ -1,52 +0,0 @@ -cinit - Respawning and sleeping -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-13 -:Author Initials: NS - - -How cinit sleeps, before a service is respawned. - -Introduction ------------- -When a service, that is configured to be respawning, exits cinit restarts it. -Because services may be broken and thus cinit would try to restart it many -times in a second, it is necessary to sleep between restarts. - -The big question: How to sleep? ------------------------------------- -The first possibility is to sleep a fixed amount of time between restarts: -For instance one second. This is not a good solution, because this waits -one unecessary second if the process just crashed. It may be too less, if -the service is really broken. - -The second possibility is to sleep a dynamic amount of time. - - -The next big question: How long to sleep? ------------------------------------------ -I think that as long as a service is broken we should not investigate to much -time into restarting it. So we can define a maximum amount of time to sleep -(for instance 30 seconds). The minimum amount of time to sleep is zero seconds. - -When the service is first started, the sleep time defaults to the minimum -amount of time. Each time the service is restarted, the sleep time is adjusted: - -sleep time (st) = Maximum sleep time (mst) / Time the process was running (tr) - -- If tr is < 1 it is adjusted to 1 and thus st is set to mst. -- If tr is > mst, st is set to 0. - - -How to force restart of a service? ----------------------------------- -Use cvsc (to be implemented). - - -Hom is it implemented? ----------------------- -Everytime cinit has to respawn a service it has to fork() itself. -The sleep call is implemented in the fork, so cinit itself does not have -to care about it. After the sleep time is over or the fork() recieves -SIGALARM it executes the real service. cinit itself records as start time -the current time plus sleep time. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre14/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre14/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre14/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre14/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/cconfig.mk.makefile b/software/cinit/browse_source/cinit-0.3pre14/scripts/cconfig.mk.makefile deleted file mode 100644 index 822addce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/cconfig.mk.makefile +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-20, 0110 CEST -# cconfig: create makefile from conf/ directory -# currently: all files -# later: only built-defines -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "#" -echo "# Warning: Autogenerated by $0, do not edit. " -echo "#" -for conf in ${CONFS}; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - echo "${NAME}=${value}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.read-conf deleted file mode 100644 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/README b/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/README deleted file mode 100644 index 64c0d174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/README +++ /dev/null @@ -1 +0,0 @@ -Scripts used to generate or aid in creating a configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/freebsd/create_services.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/freebsd/create_services.sh deleted file mode 100644 index 52e123a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/freebsd/create_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to create from stdin -# Create services (add correct dependencies) -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/freebsd/enable_services.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/freebsd/enable_services.sh deleted file mode 100644 index ce4563a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/freebsd/enable_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to enabled from stdin -# Services must already exist -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/freebsd/search_enabled_services.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/freebsd/search_enabled_services.sh deleted file mode 100644 index 69e519b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/freebsd/search_enabled_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search for enabled services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/freebsd/search_services.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/freebsd/search_services.sh deleted file mode 100644 index 2043e857..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/configuration/freebsd/search_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search all services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of all services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/cinit.release b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/cinit.release deleted file mode 100644 index 54f1fbe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/cinit.release +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: ls -l - -# only release if I tell it to release -[ "$1" = "now" ] || exit 23 - -#if [ $# -ne 2 ]; then -# echo "This is a maintainer-only script to release cinit" -# echo $(basename $0): source-dir version -# exit 1 -#fi - -# paths -DIR="$(cd $(dirname $0)/../../; pwd -P)" -DDIR="$(cd $(dirname $0)/../../../; pwd -P)" -RDIR=$(basename "$DIR") - -# version -VERSION="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')" -VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')" -VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):.*/\1/')" -OUT_NAME="cinit-${VERSION}.tar.bz2" - -# remote -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ -LINK=current - -echo "=> Version directory: $VERSION" -echo "=> Version conf/version: $VERSION_CONF" -echo "=> Version CHANGES: $VERSION_CHANGES" - -if [ "$VERSION" = "$VERSION_CONF" -a "$VERSION" = "$VERSION_CHANGES" ]; then - echo "=> Version confirmed." -else - echo "*** VERSION MISMATCH ***" - exit 42 -fi - -echo -n "=> Continue? " -read yes - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -# do the work! -( cd "$DIR" && make dist ) || exit 1 - -echo "Creating bzip2 compressed tar" -cd $DDIR -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$RDIR" -chmod 0644 "$OUT_NAME" - -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" - -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" - -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$RDIR\" \"$LINK\"" - -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/compile+run.sh deleted file mode 100644 index 30ec68a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/compile+run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -if [ ! "$1" ]; then - echo "HOSTNAME" - exit 23 -fi - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$host" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/compile_local.sh deleted file mode 100644 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/compile_run_as_compiler.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/compile_run_as_compiler.sh deleted file mode 100644 index f1ba01d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/compile_run_as_compiler.sh +++ /dev/null @@ -1,14 +0,0 @@ -what=$(dirname $0)/../../ -what_real=$(cd "$what" && pwd -P) -dest=~compiler/cinit-test - -set -e -sudo rsync -av "${what_real}/" "$dest" -sudo chown -R compiler "$dest" -sudo -u compiler "${dest}/scripts/internal/compile_local.sh" -sudo -u compiler "${dest}/src/cinit" & -sleep 13 -sudo -u compiler "${dest}/scripts/internal/stop_cinit.sh" - -# exit 0 for make -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/compile_test.sh deleted file mode 100644 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/create_test_config.sh deleted file mode 100644 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/find_right_version.sh deleted file mode 100644 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/qemu-test.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/qemu-test.sh deleted file mode 100644 index fd41312e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/qemu-test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-03: For testing cinit in qemu -# - -emud="${HOME}/emu" -img="${emud}/debian-hd.img" -ddir="${emud}/mount" -loop=/dev/loop1 -fsck="/sbin/fsck.jfs" - -# my jfs is on the first partition, 512*63 bytes offset -offset="32256" - -set -e -set -x -sudo losetup -o "${offset}" "${loop}" "${img}" -sudo "${fsck}" "${loop}" -sudo mount "${loop}" "${ddir}" - -sudo umount "${loop}" -sudo losetup -d "${loop}" diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/stop_cinit.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/stop_cinit.sh deleted file mode 100644 index 86e4d82b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/stop_cinit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Linux specific, but don't care, I am the only person that should use it - -killall -TERM cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/test-cmd.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/test-cmd.sh deleted file mode 100644 index dbfc5c73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/test-cmd.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-27: Test cmd -# - - -echo "Testing cmd..." -sudo /sbin/cmd -s /etc/cinit/svc/init -sudo /sbin/cmd -p /etc/cinit/svc/init -sudo /sbin/cmd -v -sudo /sbin/cmd -V diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/test_on_hosts.sh deleted file mode 100644 index afeb2627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net jiffies.forkbomb.ch ddna044.netstream.ch" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/valgrind deleted file mode 100644 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre14/scripts/report.compile deleted file mode 100644 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre14/scripts/wrapper/linux-sysvinit/shutdown b/software/cinit/browse_source/cinit-0.3pre14/scripts/wrapper/linux-sysvinit/shutdown deleted file mode 100644 index b8cf3837..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/scripts/wrapper/linux-sysvinit/shutdown +++ /dev/null @@ -1,207 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-cinit /at/ schottelius.org) -# 2007-05-21 -# Behave as being shutdown from Linux' sysvinit - -# Always needed variables / functions -_0_short=${0##*/} -_o_seperator=":" -_oecho_seperator=":" -_eecho_seperator=">" - -# ok-exit/echo -_oecho() -{ - echo "${_0_short}${_oecho_seperator}" "$@" -} - -_oexit() -{ - _oecho "$@" - exit 0 -} - -# error-exit/echo -_eecho() -{ - echo "${_0_short}${_oecho_seperator}" "$@" >&2 -} - -_eexit() -{ - _eecho "$@" - exit 1 -} - -# Program specific variables - -time_t=0 # -t sec -warn_only_k=0 # -k -reboot_r=0 # -r -halt_h=0 # -h -poweroff_P=0 # -P -cancel_c=0 # -c -time=-1 # [time] -message="" # [warning-message] -cmd="" # what to execute internally -pidfile="/var/run/cinit.shutdown" -pid="" -runs="" - -version="0.1" -version_date="2007-10-30" - -message_intro="The system is going down for" -message_reboot="reboot" -message_halt="halt" -message_poweroff="poweroff" - -# unimplemented: -a, -H, -f, -F -# deprecated and thus not implemented: -n - -# traping signals -trap_signals() -{ - _oexit "Aborted shutdown" -} - -# all the functions - -usage() -{ - -cat << cinit_usage - -*** cinit linux-sysvinit shutdown wrapper (Version ${version} ${version_date}) *** - -Usage shutdown [-akrhHPfnc] [-t secs] time [warning message] - -a: use /etc/shutdown.allow - -k: don't really shutdown, only warn. - -r: reboot after shutdown. - -h: halt after shutdown. - -P: halt action is to turn off power. - -H: halt action is to just halt. - -f: do a 'fast' reboot (skip fsck). - -F: Force fsck on reboot. - -n: do not go through "init" but go down real fast. - -c: cancel a running shutdown. - -t secs: delay between warning and kill signal. - ** the "time" argument is mandatory! (try "now") ** - -You can also call "cinit.{halt|reboot|poweroff}" directly -(instead of using this wrapper). - -cinit_usage - -exit 0 - -} - -warn() -{ - ( echo ""; echo "$@"; echo "" ) | wall - ( echo ""; echo "$@"; echo "" ) -} - -if [ "$#" -lt 1 ]; then - usage -fi - -# getopt! -while [ "$#" -ge 1 ]; do - arg="$1"; shift - - case "${arg}" in - -a|-F|-f|-n) - _oexit "Sorry, ${arg} is not implemented." - ;; - -t) - if [ "$#" -lt 1 ]; then - _eexit "-t needs the time argument" - fi - time_t="$1"; shift - ;; - -k) - warn_only_k=1 - cmd=true - ;; - -r) - reboot_r=1 - cmd=cinit.reboot - message_what="${message_reboot}" - ;; - -h|-H) - halt_h=1 - cmd=cinit.halt - message_what="${message_halt}" - ;; - -P) - poweroff_P=1 - cmd=cinit.poweroff - message_what="${message_poweroff}" - ;; - -c) - cancel_c=1 - ;; - *) - # time unset? - if [ "${time}" = -1 ]; then - time="${arg}" - [ "${time}" = "now" ] && time=0 - elif [ -z "${message}" ]; then - message="${arg}" - else - _eexit "Already specified time and message" - fi - ;; - esac -done - -if [ -f "${pidfile}" ]; then - pid=$(cat "${pidfile}") - runs=$(kill -CONT "${pid}" >/dev/null 2>&1 && echo yes) -fi - -# do cancel or abort or locking -if [ "${cancel_c}" -eq 1 ]; then - if [ "${runs}" ]; then - kill -TERM "${pid}" - _oexit "Terminated running shutdown at \"${pid}\"." - else - _eexit "Cannot abort shutdown, not running." - fi -fi - -if [ -z "${time}" ]; then - usage -fi - -if [ -z "${cmd}" ]; then - _eexit "You need to specify one of -h, -P, -H, -r." -fi - -# add lock -if [ "${pid}" ]; then - if [ "${runs}" ]; then - _eexit "Shutdown already running." - else - _oecho "Overwriting stale pidfile" - fi -fi -echo $$ > "${pidfile}" - -if [ "${message}" ]; then - warn "${message}" -fi - -# signals to abort on -trap trap_signals INT HUP TERM - -while [ "${time}" -gt 0 ]; do - warn "${message_intro} ${message_what} in ${time} minute(s)." - sleep 60 - time=$((${time}-1)) -done - -warn "${message_intro} ${message_what} now." -"${cmd}" diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre14/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre14/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2007-02-23-202443 b/software/cinit/browse_source/cinit-0.3pre14/size/2007-02-23-202443 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2007-02-23-202443 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2007-02-23-202720 b/software/cinit/browse_source/cinit-0.3pre14/size/2007-02-23-202720 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2007-02-23-202720 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2007-03-07-231936 b/software/cinit/browse_source/cinit-0.3pre14/size/2007-03-07-231936 deleted file mode 100644 index c2ef3d0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2007-03-07-231936 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71213 2007-03-07 23:18 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/size/2007-04-06-011811 b/software/cinit/browse_source/cinit-0.3pre14/size/2007-04-06-011811 deleted file mode 100644 index 73de8724..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/size/2007-04-06-011811 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71281 2007-04-06 01:17 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/Makefile b/software/cinit/browse_source/cinit-0.3pre14/src/Makefile deleted file mode 100644 index cd9045e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/Makefile +++ /dev/null @@ -1,176 +0,0 @@ -# -# 2008 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. - -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . - -# -# Don't edit Makefiles, use conf/* for configuration. -# - -################################################################################ -# -# Build tools / locations -# - -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin -DESTDIR= -#DESTDIR=/home/user/nico/emu/dst - -################################################################################ -# -# All objects / binaries -# depend on headers. More or less. FIXME: use gcc -M -# -BIN=cinit.halt cinit.poweroff cinit.reboot cmd -CINIT=cinit -ALLBIN=${BIN} ${CINIT} - -# headers -CONFIG_H=include/config.h -CINIT_HEADERS=${shell cat include/listing} - -# objects -CINIT_OBJ=${shell cat object_lists/cinit} -HALTKILL_OBJ=${shell cat object_lists/halt.kill} -POWEROFFKILL_OBJ=${shell cat object_lists/poweroff.kill} -REBOOTKILL_OBJ=${shell cat object_lists/reboot.kill} -CMD_OBJ=${shell cat object_lists/cmd} - -# -# All objects -# -OBJ=${CINIT_OBJ} ${HALTKILL_OBJ} ${POWEROFFKILL_OBJ} ${REBOOTKILL_OBJ} - -################################################################################ -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: ${ALLBIN} - - -################################################################################ -# -# Generic -# -${OBJ}: ${CINIT_HEADERS} - -%.o: %.c - ${CC} -c -o $@ $< - -################################################################################ -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -${CINIT_OBJ}: ${CONFIG_H} - -${CONFIG_H}: ../conf/* - ../scripts/cinit.mkheader > ${CONFIG_H} - -################################################################################ -# -# Install targets -# - -#install: install-dir cinit cservice ccontrol -install: install-cinit install-utilities - -install-sbin: - install -d ${DESTDIR}/sbin - -install-utilities: install-sbin ${BIN} - @echo '*** Installing utilities ***' - install ${BIN} ${DESTDIR}/sbin - -install-cinit: install-sbin cinit - @echo '*** Installing cinit ***' - @echo "Need to delete cinit before reinstalling it {text file busy problem}" - rm -f ${DESTDIR}/sbin/cinit - install cinit ${DESTDIR}/sbin - -# FIXME: target broken -install-miniconf: - ./bin/cinit.install.miniconf - -# FIXME: target broken -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# - -cinit: ${CINIT_OBJ} - ${LD} $^ -o $@ - -cinit.halt: ${HALTKILL_OBJ} - ${LD} $^ -o $@ - -cinit.poweroff: ${POWEROFFKILL_OBJ} - ${LD} $^ -o $@ - -cinit.reboot: ${REBOOTKILL_OBJ} - ${LD} $^ -o $@ - -cmd: ${CMD_OBJ} - ${LD} $^ -o $@ - -################################################################################ -# -# Internal test targets -# - -uml: cinit cmd - ../../vm/uml/uml-mount.sh - cp cinit cmd ../../vm/uml/root/sbin/ - ../../vm/uml/uml-umount.sh - -umlstart: uml - ../../vm/uml/uml-start.sh - -################################################################################ -# -# Clenaup targets -# - -.PHONY: clean -.PHONY: dist -.PHONY: distclean - -dist: distclean - -distclean: clean - rm -f os/current ipc/current .configured - -clean: - rm -f ../tmpbin/*.configured - rm -f ${BIN} ${CINIT_OBJ} ${CINIT} - rm -f client/*.o test/*.o diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre14/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/STOPPED b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/STOPPED deleted file mode 100644 index a0013ca6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/STOPPED +++ /dev/null @@ -1,12 +0,0 @@ -0. Definition Nachrichten -0.1 Definition returncodes und co... - - -1. execute_sth: finish, so we can use it for panic - -2. MSGQ: - beidseitig implemenntieren - ipc header integrieren - Dokumentieren - - conf/* von msgq saeubern diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/charp_to_flag.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/charp_to_flag.c deleted file mode 100644 index 927ba6b7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/charp_to_flag.c +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Convert char pointer to uint32_t flag - * - */ - -#include /* strchr */ -#include /* NULL */ - -#include "cinit.h" /* cinit */ - -uint32_t charp_to_flag(char *str) -{ - uint32_t ret = 0; - - if(str != NULL) { - if(strchr(str, CINIT_CMD_SVC_WANTS) != NULL) ret |= CINIT_QSN_SVC_WANTS; - if(strchr(str, CINIT_CMD_SVC_NEEDS) != NULL) ret |= CINIT_QSN_SVC_NEEDS; - } - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/comm.h b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/comm.h deleted file mode 100644 index 4fbe8c50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/comm.h +++ /dev/null @@ -1,81 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ -#include /* pid_t */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_MIN='A', /* minimum command number */ - CMD_SVC_START, /* the client wants US to start a service */ - CMD_SVC_START_ONLY, /* start this service without dependencies */ - CMD_SVC_START_NEEDS, /* start this service, needs, but no wants */ - CMD_SVC_STOP, /* stop svc and all svcs that need it */ - CMD_SVC_STOP_ONLY, /* we should stop _only_ this service */ - CMD_SVC_STOP_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ /* FIXME: NEEDED? */ - CMD_RESCUE, /* we should start the rescue mode */ /* UNIMPLEMENTED */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ /* UNIMPLEMENTED */ - CMD_INFO, /* send information about that service */ /* UNIMPLEMENTED */ - CMD_MAX , /* maximum command number */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * client issues a command: start_command - */ -struct s_cmd { - char cmd; - pid_t pid; -}; - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/do_reboot.c.orig b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/do_reboot.c.orig deleted file mode 100644 index 9c4c8331..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/do_reboot.c.orig +++ /dev/null @@ -1,144 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" -#include "os.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - /* Let's disappear, we don't care about clients anymore */ - close(sock); - /********* first SIGTERM the respawning processes **********/ - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - kill(tmp->pid,SIGTERM); - } - tmp = tmp->before; - } while( tmp != list ); - - /********* now wait for the respawn watchers to return *****/ - tmp = list->before; - do { - if( tmp->status == ST_RESPAWN) { - /* wait until the respawn watcher terminated */ - waitpid(tmp->pid,&i,0); - } - - /* execute shutdown service FIXME: parallelize that?*/ - exec_svc(tmp->abs_path,CMD_STOP_SVC); - tmp = tmp->before; - } while( tmp != list ); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ -#define CMD_CNT 4 - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-arfd" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - -#define RESCUE_CMD "/bin/sh" - - /* now: we are completley alone. umount everything, go to bed */ - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG2; - cmd[3] = MOUNT_ARG3; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } else { - _exit(1); - } - - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - case SIGUSR2: /* rescue - destroy ourself */ - LOG(MSG_RESCUE); - cmd[0] = RESCUE_CMD; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - case SIGCONT: /* update */ - LOG(MSG_UPDATE); - cmd[0] = CINIT_BIN; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - } - - /* do not exit, Linux does that for us */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/do_result.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/main.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/main.c deleted file mode 100644 index 226cd4a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/main.c +++ /dev/null @@ -1,88 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * main.c - * main part of cinit - */ - -#include /* ftok */ -#include /* msgget */ -#include /* perror */ -#include /* exit */ - -#include "cinit.h" - -/* global variables */ -struct listitem *list; -pid_t cpid; - -/*********************************************************************** - * the main procedure - */ - -int main(int argc, char **argv) -{ - char *initdir; - key_t msg_key; - int msq_id; - - initdir = CINIT_INIT; /* default init dir */ - list = NULL; /* list of services is empty currently */ - cpid = getpid(); /* no comment */ - - if(cpid != 1) { - usage(CINIT_VERSION,MSG_USAGE); - } - - /* set signal handlers */ - set_signals(ACT_SERV); - - /* read arguments, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /* create message queues */ - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* wait until we recieved the signal to create the socket */ - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/pipes b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/pipes deleted file mode 100644 index 581b1274..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/pipes +++ /dev/null @@ -1,17 +0,0 @@ - /* create pipes */ - if(pipe(pfd) == -1) { - perror(MSG_ERR_PIPE); - panic(); - } - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } - diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/run_init_svc2.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/run_init_svc2.c deleted file mode 100644 index b613ed6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/run_init_svc2.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/run_svc.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/run_svc.c deleted file mode 100644 index 95cc324d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/test-signal.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/test-signal.c deleted file mode 100644 index ae7e50b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/test-signal.c +++ /dev/null @@ -1,54 +0,0 @@ -/* test case for glibc */ - -#include -#include /* sigaction, sigemtpyset */ -#include -#include -#include -#include -#include - -void sig_child(int tmp) -{ - struct timeval tv; - pid_t pid; - - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - gettimeofday(&tv,NULL); - printf("sighandler: %d\n",tv.tv_sec); - } -} - -int main() -{ - struct sigaction sa; - struct timeval tv; - struct timespec ts; - pid_t pid; - - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - - sigaction(SIGCHLD,&sa,NULL); - - while(1) { - pid = fork(); - - /* child */ - if(!pid) { - ts.tv_sec = 2; - nanosleep(&ts,NULL); - gettimeofday(&tv,NULL); - - printf("child: %d\n",tv.tv_sec); - return 0; - } - - ts.tv_nsec = 100000; - nanosleep(&ts,NULL); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/unused-coded/cinit_read_from.c b/software/cinit/browse_source/cinit-0.3pre14/src/ancient/unused-coded/cinit_read_from.c deleted file mode 100644 index 54499be3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ancient/unused-coded/cinit_read_from.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read data from cinit to the client - */ - - -#include "ipc.h" /* IPC */ - -/* gets a bunch of bytes and returns the answer from cinit */ -int cinit_read_from(char **dest, int len) -{ - if(!cinit_ipc_logon()) return NULL; - if(!cinit_ipc_connect()) return NULL; - - /* FIXME: add length to ipc function? */ - if(!cinit_ipc_csend(data)) return NULL; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/client/cmd.c b/software/cinit/browse_source/cinit-0.3pre14/src/client/cmd.c deleted file mode 100644 index a68d523f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/client/cmd.c +++ /dev/null @@ -1,230 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * cmd - the cinit client program - sends commands to cinit - * - */ - -#include /* getopt */ -#include /* signals */ -#include /* printf() */ -#include /* free() */ -#include /* strncmp */ - -#include /* integers */ -#include /* PATH_MAX */ - -#include "cmd.h" /* own header */ -#include "signals.h" /* which signal */ -#include "svc.h" /* service related */ -#include "intern.h" /* print_errno() */ - -#include "cinit.h" /* cinit external */ - -#define C_USAGE(error) usage(USAGE_TEXT,error) -#define MSG_IPC_ERROR "An IPC error occured while connecting to cinit. " \ - "Is cinit running?\n" -#define MSG_UNKNOWN_SVC "Unknown service: %s\n" -#define MSG_UNKNOWN_RET "Unknown return code: %d\n" - -enum { - NOTHING, - ENABLE, - DISABLE, - PID, - STATUS -} whattodo; - -/*********************************************************************** - * cmd: main - */ -int main(int argc, char **argv) -{ - char buf[CINIT_DATA_LEN]; - char *flag = NULL; - int opt; - int what = NOTHING; - uint32_t ret; - - union { - uint32_t status; - pid_t pid; - } u; - - - /* - * -d w(ants) excluded) - * -e n(eeds excluded) - * -d i(nclude everything) - */ - -/* check for - * d|e: - * check for flags - * p|s: - * continue with service - * h|v|V: print and exit - */ - while((opt = getopt(argc, argv, CMD_OPTIONS)) != -1) { - switch(opt) { - /********************************************/ - /* Non-Continuing parameters */ - /********************************************/ - case 'h': /* help */ - printf(CMD_USAGE); - return 0; - break; - - /********************************************/ - case 'v': /* get version of cinit */ - ret = cinit_get_version(buf); - switch(ret) { - case CINIT_ASW_OK: - printf("Version of cinit: %s\n", buf); - return 0; - break; - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - return what; - break; - - /********************************************/ - case 'V': /* version */ - printf("Version of cmd: %s\n", CMD_VERSION); - return 0; - break; - - /********************************************/ - /* Continuing parameters */ - /********************************************/ - case 'e': /* enable service */ - what = ENABLE; - flag = optarg; - break; - - case 'd': /* disable service */ - what = DISABLE; - flag = optarg; - break; - - /********************************************/ - case 'p': /* get pid */ - what = PID; - break; - - /********************************************/ - case 's': /* get status */ - what = STATUS; - break; - /********************************************/ - - default: - fprintf(stderr,"Sorry, I did not understand what you want. Try -h, please.\n"); - return 1; - break; - } - } - - if(what == NOTHING) { - fprintf(stderr, "That is not much you request from me. Try -h for help.\n"); - return 1; - } - - if(!path_absolute(argv[optind], buf, CINIT_DATA_LEN)) return 1; - - switch(what) { - case ENABLE: - case DISABLE: - /* fill flag */ - u.status |= cinit_flag_to_uint32_t(flag); - - if(!(u.status = cinit_svc_disable(buf, u.status))) { - fprintf(stderr, MSG_IPC_ERROR); - return 2; - } - - /* if(!cinit_svc_enable(buf, flag)) { - fprintf(stderr, MSG_IPC_ERROR); - return 2; - } - */ - break; - - case PID: - ret = cinit_svc_get_pid(buf, &(u.pid)); - switch(ret) { - case CINIT_ASW_OK: - printf("PID of %s: %d\n",buf, u.pid); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf(MSG_UNKNOWN_SVC, buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - - case STATUS: - ret = cinit_get_svc_status(buf, &(u.status)); - switch(ret) { - case CINIT_ASW_OK: - printf("Status of %s is: %d\n", buf, u.status); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf("Unknown service: %s\n", buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - } - - return what; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/client/halt.kill.c b/software/cinit/browse_source/cinit-0.3pre14/src/client/halt.kill.c deleted file mode 100644 index a84cdf2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/client/halt.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Halt the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_HALT) == -1) { - print_errno(MSG_HALT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/client/poweroff.kill.c b/software/cinit/browse_source/cinit-0.3pre14/src/client/poweroff.kill.c deleted file mode 100644 index 801e119c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/client/poweroff.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_POWEROFF) == -1) { - print_errno(MSG_POWEROFF_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/client/reboot.kill.c b/software/cinit/browse_source/cinit-0.3pre14/src/client/reboot.kill.c deleted file mode 100644 index cd90feda..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/client/reboot.kill.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1,SIG_CINIT_REBOOT) == -1) { - print_errno(MSG_REBOOT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/comm/README b/software/cinit/browse_source/cinit-0.3pre14/src/comm/README deleted file mode 100644 index 74a0b376..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/comm/README +++ /dev/null @@ -1,20 +0,0 @@ -All abstracted communication functions. Do not depend on the underlying -inter process communication mechanism. - - - send_command(): client function: sends a command to cinit - - send_service(): client function: send the service name to operate on - - - read_command(): server function: reads beginning of a command - * Extracts the command - * reads client identification (=pid) - * calls other functions, depending on the command send => switch() - - read_service(): server function: reads service - - - write_answer(): server function: answer? - * sends answers to clients => senseful? - - - TODO: - - define information function, that returns various information about - a service - diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_svc_disable.c b/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_svc_disable.c deleted file mode 100644 index 1cea237a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_svc_disable.c +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * disables a service - * - */ - -#include "svc-intern.h" /* list_search */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_disable(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = svc_disable(tmp); - asr->opt = 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_svc_pid.c b/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_svc_pid.c deleted file mode 100644 index 58b24bbe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_svc_pid.c +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * return pid of service - * - */ - -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_pid(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = CINIT_ASW_OK; - asr->opt = tmp->pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_svc_status.c b/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_svc_status.c deleted file mode 100644 index 2a2648a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_svc_status.c +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * returns status of service - * - */ - -#include /* strncpy */ -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_status(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = CINIT_ASW_OK; - asr->opt = tmp->status; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_svc_stop.c b/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_svc_stop.c deleted file mode 100644 index 539c3cb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_svc_stop.c +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return stop status - * - */ - -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_stop(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_MSG_SVC_UNKNOWN; - } else { - asr->ret = CINIT_MSG_OK; - svc_stop(tmp); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_version.c b/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_version.c deleted file mode 100644 index 73343169..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/comm/answer_version.c +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * return version of cinit - * - */ - -#include "config.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_version(struct cinit_answer *asr) -{ - asr->ret = CINIT_ASW_OK; - cinit_cp_data(asr->data, VERSION); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/comm/cinit_append_data.c b/software/cinit/browse_source/cinit-0.3pre14/src/comm/cinit_append_data.c deleted file mode 100644 index a6046f41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/comm/cinit_append_data.c +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Append data to the existing field - * - */ - -#include /* strncpy */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -void cinit_append_data(char data[], char *src) -{ - strncat(data, src, CINIT_DATA_LEN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/comm/cinit_cp_data.c b/software/cinit/browse_source/cinit-0.3pre14/src/comm/cinit_cp_data.c deleted file mode 100644 index bcc982b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/comm/cinit_cp_data.c +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * fill the data field of qsn and asn - * - */ - -#include /* strncpy */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -void cinit_cp_data(char data[], char *src) -{ - strncpy(data, src, CINIT_DATA_LEN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/comm/read_command.c b/software/cinit/browse_source/cinit-0.3pre14/src/comm/read_command.c deleted file mode 100644 index ef10cd96..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/comm/read_command.c +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * cinit reads a command sent by a client, called by ipc listener - * - */ - -#include "cinit.h" /* structures */ -#include "intern.h" /* answer_svc_status() */ - -int read_command(struct cinit_question qsn, struct cinit_answer *asr) -{ - switch(qsn.cmd) { - case CINIT_QSN_GET_VERSION: - if(!answer_version(asr)) return 0; - break; - - case CINIT_QSN_GET_STATUS: - if(!answer_svc_status(qsn.data, asr)) return 0; - break; - - case CINIT_QSN_GET_PID: - if(!answer_svc_pid(qsn.data, asr)) return 0; - break; - - case CINIT_QSN_SVC_DISABLE: - if(!answer_svc_disable(qsn.data, asr)) return 0; - break; - - /* FIXME: stopped here - case CINIT_MSG_SVC_ENABLE: - if(!answer_svc_enable(qsn.data, asr)) return 0; - break; */ - - /* Unknown command: should not happen :-) */ - default: - return 0; - break; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre14/src/core/build_argv.c deleted file mode 100644 index ed26da0a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/core/build_argv.c +++ /dev/null @@ -1,179 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "intern.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX+1]; - char *sbuf = NULL; - char *p; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename,pathtmp,PATH_MAX)) == -1) { - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - /* FIXME check bounds! */ - strcpy(pathtmp,basename); - strcat(pathtmp,C_PARAMS); - /* ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL - * ORC_OK: Ok, have a filled buffer (perhaps NULL, too) - * other: Error, print errno - */ - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p+1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,basename); - strcat(pathtmp,C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - sbuf = p+1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre14/src/core/cinit.c deleted file mode 100644 index f2f7ab98..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/core/cinit.c +++ /dev/null @@ -1,126 +0,0 @@ -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "intern.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc-intern.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; -int svc_lock = 0; /* global svc-lock */ - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ - - - /* Is this really needed? - pid_t cpid; - - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - /* Look whether we should start a profile */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc-1], strlen(PROFILE) ) ) { - initdir = malloc(strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc-1][strlen(PROFILE)]); - break; - } - --argc; - } - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* listen to signals */ - set_signals(ACT_SERV); - - /* pre-calculate service tree */ - if(!gen_svc_tree(initdir)) { - panic(); - } - - /* free, if we malloc()ed before */ - if(strcmp(initdir,CINIT_INIT)) { - free(initdir); - } - - /* change to /, so applications have that as cwd, too - * Is that really seneful? Does that help any application? - * If not, just for looking nice, that's not a reason to - * enable it. - if(chdir(SLASH) == -1) { - print_errno(SLASH); - panic(); - } */ - - if(!tree_exec(svc_init)) { - panic(); - } - - while(1) { - cinit_ipc_listen(); - - /* check dependency list: perhaps we need to restart something */ - /* implement in cinit-0.3pre14/5 */ - - // tree_exec(svc_init); - // reuse tree_exec()? - // if(dep) { svc_start() .. ? - } - - /* OLD: - if(!cinit_ipc_listen()) { - panic(); - } */ - - /* never reached */ - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre14/src/core/do_reboot.c deleted file mode 100644 index 9c656995..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/core/do_reboot.c +++ /dev/null @@ -1,111 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Reboot - */ - -#include -#include -#include -#include -#include -#include - -#include "ipc.h" - -/* cleaned up own headers */ -#include "intern.h" /* set_signals */ -#include "svc-intern.h" /* shutdown_services */ -#include "messages.h" /* messages */ -#include "reboot.h" /* cinit_poweroff&co */ - -/* cleaned headers */ -#include /* kill() */ - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - //char **cmd; - //int i; - - /* - * New code: - * 0. close user ipc - * - notify user! - * - do not allow user interupt anymore - * 1. shutdown services - * - notify user! - * 2. kill -TERM all processes - * - notify user! - * 3. kill -KILL all processes - * - notify user! - * 4. execute /etc/cinit/conf/{halt,reboot,poweroff} - * - notify user! - */ - - /* do not listen to client requests anymore */ - /* and tell the user what happens */ - LOG(MSG_SHUTDOWN_START); - cinit_ipc_destroy(); - set_signals(ACT_CLIENT); /* reset signal handlers */ - - /* shutdown all services: take care about the dependency tree */ - LOG(MSG_SHUTDOWN_SVC); - shutdown_services(svc_list); - - LOG(MSG_SHUTDOWN_KILL); - /* now: all services are down, let's kill all other processes */ - if(kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - if(kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* Execute the last command */ - LOG(MSG_SHUTDOWN_LAST); - execute_and_wait(CINIT_LAST); - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } - /* FIXME: should we exit? */ - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre14/src/core/panic.c deleted file mode 100644 index b9fff270..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/core/panic.c +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Execute something - */ - -#include /* execv */ - -#include "intern.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) _exit(0); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - if(execv(SULOGIN,nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* there's nothing todo, if everything fails */ - _exit(23); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre14/src/core/set_signals.c deleted file mode 100644 index b12fb34f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/core/set_signals.c +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Define signal handlers - */ - - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ -#include "intern.h" /* defines */ -#include "reboot.h" /* reboot related */ -#include "signals.h" /* reboot related */ - -void set_signals(int action) -{ - struct sigaction sa; - - sigemptyset(&sa.sa_mask); /* no other signals should be blocked */ - sa.sa_flags = 0; - - if(action == ACT_SERV) { - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - } else { - sa.sa_handler = SIG_DFL; - } - - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - sa.sa_flags = 0; /* reset flags */ - if(action == ACT_SERV) { - sa.sa_handler = do_reboot; - } - sigaction(SIG_CINIT_HALT, &sa, NULL); /* halt */ - sigaction(SIG_CINIT_POWEROFF, &sa, NULL); /* poweroff */ - sigaction(SIG_CINIT_REBOOT, &sa, NULL); /* reboot */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre14/src/core/sig_child.c deleted file mode 100644 index c81a43f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/core/sig_child.c +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * The child handler - * - */ - -#include /* waitpid */ -#include /* NULL */ -#include /* gettimeofday() */ /* FIXME: CHECK POSIX */ -#include /* time(),gettime.. */ /* FIXME: CHECK POSIX */ - -#include "intern.h" /* mini_printf */ -#include "svc-intern.h" /* list_search_pid */ -#include "svc.h" /* list_search_pid */ -#include "messages.h" /* messages/D_PRINTF */ - -extern int svc_lock; - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - /* New code: - * - search for pid in service list - * * if (respawn) -> start new - * - insert delay? if exit code is non-zero? if uptime too less? - * * if (once) -> update service status - * * else ignore, but reap away - */ - pid_t pid; - int delay; - struct listitem *svc; - - - /* wait until the lock is reset */ - if(svc_lock) return; - -// struct timeval now; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - /* check if it's a watched child */ - svc = list_search_pid((pid_t) pid); - - if(svc != NULL) { - /* Check, that we are operating on it =. that it is no normal child */ - /* Also check for ST_SH_* to catch race conditions, where - * status is not yet updated => does that make sense or is - * the status overwritten after we return out of here? - */ - printf("CHILD: %s (%u) (%d) bekannt!\n",svc->abs_path, svc->status, pid); - - if(svc->status & CINIT_ST_ONCE_RUN - || svc->status & CINIT_ST_RESPAWNING) { - if(WIFEXITED(tmp) && !WEXITSTATUS(tmp)) { - svc_success(svc); - } else { - svc_fail(svc); - } - } - //mini_printf("WHILE: Vorm respawn!\n",1); - /* respawn: restart: FIXME Delay for regular dying services */ - if(svc->status == CINIT_ST_RESPAWNING) { - svc_report_status(svc->abs_path,MSG_SVC_RESTART,NULL); - - //delay = MAX_DELAY / (time(NULL) - svc->start); - /* if(gettimeofday(&now,NULL) == -1) { - print_errno(MSG_GETTIMEOFDAY);; - delay = 0; - } else { - delay = MAX_DELAY / (now.tv_sec - svc->start); - } */ - - delay = 5; - - /* int test = time(NULL); - test++; - D_PRINTF("WHILE: IM respawn / for printf!\n"); - printf("sig_child: %d, %d, %d, %d\n", - MAX_DELAY, - (int) time(NULL), - (int) svc->start, - (int) (test - svc->start) - ); */ - - svc_start(svc,delay); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre14/src/generic/execute_and_wait.c deleted file mode 100644 index ab808ff1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/generic/execute_and_wait.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* fork */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* exec / child */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* wait / parent */ - waitpid(pid,&status,0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre14/src/generic/execute_sth.c deleted file mode 100644 index 02593940..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/generic/execute_sth.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ - -#include "intern.h" -#include "build_argv.h" -#include "messages.h" /* D_PRINTF */ - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - tmp = cinit_build_argv(basename,&bav); - if((tmp = cinit_build_argv(basename,&bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - /* tell the user what we execute */ - mini_printf(MSG_INTRO_EXEC,1); - mini_printf((bav.argv)[0],1); - mini_printf("\n",1); - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for cinit to recognize - it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre14/src/generic/file_exists.c deleted file mode 100644 index 26d3f53c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/generic/file_exists.c +++ /dev/null @@ -1,60 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* errno */ -#include /* stat */ -#include /* NULL */ - -#include "intern.h" /* print_errno() */ -#include "svc-intern.h" /* svc_report_status() */ -#include "messages.h" /* messages.. */ - -int file_exists(char *filename) -{ - struct stat buf; - - /* check: - * - is it a link? if so, is it broken? report! - * - is it non existent? -> return non-existent - * - is it existent, but not a regular file? report! - */ - if(lstat(filename,&buf) == -1) { /* lstat fails? */ - if(errno == ENOENT) { - /* FIXME: remove later */ - printf("%s is not existing! => ok, most likely\n",filename); - return FE_NOT; - } else { - mini_printf("anderer fehler.\n",1); - print_errno(filename); - return FE_ERR; - } - } else { - if(S_ISLNK(buf.st_mode)) { /* is a link */ - /* check link destination */ - if(stat(filename,&buf) == -1) { /* do real stat(): */ - if(errno == ENOENT) { - svc_report_status(filename,MSG_BROKENLINK,NULL); - return FE_NOLINK; - } else { - /* FIXME: MSG_*, ?? */ - mini_printf("anderer fehler.\n",1); - print_errno(filename); - return FE_ERR; - } - } - } - } /* caught all stat() errors */ - - if(!S_ISREG(buf.st_mode)) { - svc_report_status(filename,MSG_NONREGULAR,NULL); - return FE_OTHER; - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre14/src/generic/mini_printf.c deleted file mode 100644 index 627ff3f0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/generic/mini_printf.c +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd,str,(size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre14/src/generic/openreadclose.c deleted file mode 100644 index b271b410..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/generic/openreadclose.c +++ /dev/null @@ -1,66 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "intern.h" /* ORC_* */ - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - *where = NULL; - - /* what a wonderful loop */ - while((fd = open(filename,O_RDONLY)) == -1) { - if(errno == ENOENT) return ORC_ERR_NONEXISTENT; - if(errno != EINTR) return ORC_ERR_OPEN; - } - - cnt = 0; - while (1) { - tmp = read(fd,buf,512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where,cnt + 1); - if(*where == NULL) return ORC_ERR_MEM; - - /* FIXME check correctness of copied buffer... - * and get some sleep..soon, very soon! */ - strncpy(&(*where)[cnt-tmp],buf,tmp); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) continue; - return ORC_ERR_CLOSE; - } - - /* terminate string! */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre14/src/generic/path_absolute.c deleted file mode 100644 index 4749cc39..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/generic/path_absolute.c +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * create an absulte path - * - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath, size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre14/src/generic/path_append.c deleted file mode 100644 index 87cc49ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/generic/path_append.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre14/src/generic/print_errno.c deleted file mode 100644 index 0286f550..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre14/src/generic/sleep_before_kill.c deleted file mode 100644 index e3c92615..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,43 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Sleep: - * read configuration, - * fallback to builtin value if not possible, - * sleep. - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE,&content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) tmp = SLEEP_KILL; - free(content); - } else { - mini_printf(MSG_BUILTIN_SLEEP,1); - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts,NULL) == -1) { - print_errno(MSG_ERR_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre14/src/generic/strip_final_newline.c deleted file mode 100644 index 4629bb9f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/generic/strip_final_newline.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) { - return NULL; - } - - p = strrchr(str,'\n'); - if(p) { - if(*(p+1) == '\0') { - *p = '\0'; /* DO NOT FORGET TO TERMINATE STRING */ - str = realloc(str,(p-str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre14/src/generic/usage.c deleted file mode 100644 index 260b4ea5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/generic/usage.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * usage: tell the user what's wrong and a help text - * - */ - -#include /* _exit() */ -#include "intern.h" /* mini_printf */ - -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre14/src/include/build_argv.h deleted file mode 100644 index 18b7bf5b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/build_argv.h +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre14/src/include/cinit.h deleted file mode 100644 index c295ff48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/cinit.h +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Header file for external programs (in theory) - */ - -#ifndef __CINIT_EXTERNAL_HEADER -#define __CINIT_EXTERNAL_HEADER - -/* includes */ -#include /* required for functions */ -#include /* PATH_MAX */ -#include /* pid_t */ - -/* limits */ -#define CINIT_DATA_LEN (PATH_MAX+1) - -/* - * structures: independent of the ipc code! - */ - -/* messages from the client */ -struct cinit_question { - uint32_t cmd; - uint32_t opt; - char data[CINIT_DATA_LEN]; -}; - -/* messages from cinit */ -struct cinit_answer { - uint32_t ret; - uint32_t opt; - char data[CINIT_DATA_LEN]; -}; - -/*********************************************************************** - * codes for messages - */ -enum { /* questions */ - CINIT_QSN_GET_STATUS = 0x01, /* status of a service */ - CINIT_QSN_GET_PID = 0x02, /* get pid of a service */ - CINIT_QSN_GET_VERSION = 0x04, /* version of cinit */ - CINIT_QSN_SVC_DISABLE = 0x08, /* service: stop */ - CINIT_QSN_SVC_ENABLE = 0x10, /* service: start */ - CINIT_QSN_SVC_NEEDS = 0x20, /* in/exclude needs */ - CINIT_QSN_SVC_WANTS = 0x40, /* in/exclude wants */ - CINIT_QSN_SVC_LIST = 0x80, /* list services */ - - CINIT_QSN_QUESTION_END = 0xffff /* last message */ -}; - -enum { /* answers */ - CINIT_ASW_IPC_ERROR = 0x00, /* bad error */ - CINIT_ASW_OK = 0x01, /* general ok value */ - CINIT_ASW_SVC_UNKNOWN = 0x04, /* Services is not known */ - CINIT_ASW_SVC_DISABLED = 0x08, /* service: stop */ - CINIT_ASW_SVC_ENABLED = 0x10, /* service: start */ - CINIT_ASW_SVC_ERR = 0x20, /* in/excluded needs */ - CINIT_ASW_SVC_WANTS = 0x40, /* in/excluded wants */ - CINIT_ASW_SVC_NEEDS = 0x80, /* in/excluded needs */ - CINIT_ASW_ERR_INTERN = 0x100, /* cinit internal error */ - - CINIT_ASW_ANSWER_END = 0xffff /* last message */ -}; - -enum cinit_svc_flags { - CINIT_CMD_SVC_WANTS = 'w', - CINIT_CMD_SVC_NEEDS = 'n' -}; - -struct cinit_msg_msg { - int code; - char *msg; -}; - -//struct cinit_msg_msg cinit_codes2messages[] = { - -//} - -/* functions */ -int cinit_send_to(struct cinit_question *, struct cinit_answer *); -void cinit_cp_data(char data[], char *src); - -void cinit_prepare_comm(struct cinit_question *qsn, - struct cinit_answer *asr, - uint32_t cmd); - -uint32_t cinit_flag_to_uint32_t(char *); -uint32_t cinit_get_version(char *); -uint32_t cinit_get_svc_status(char *, uint32_t *); -uint32_t cinit_svc_disable(char *svc, uint32_t flag); -uint32_t cinit_svc_enable(char *svc, uint32_t flag); -uint32_t cinit_svc_get_pid(char *, pid_t *status); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/cmd.h b/software/cinit/browse_source/cinit-0.3pre14/src/include/cmd.h deleted file mode 100644 index eb29be93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/cmd.h +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Header file for the cmd (cinit management) - */ - -#ifndef CINIT_CMD_HEADER -#define CINIT_CMD_HEADER - -#define CMD_USAGE "cmd - cinit management\n\n" \ - "cmd -[de [nw]] -[ps] [service] -[hvV]\n\n" \ - " -d: disable service\n" \ - " n: without needs\n" \ - " Skip needs when en/disabling\n\n"\ - " w: without wants\n" \ - " Skip wants when en/disabling\n" \ - " -e: enable service\n" \ - " see above\n" \ - " -h: get help\n" \ - " this messages" \ - " -p: get process id (pid)\n" \ - " of specified service\n" \ - " -s: get status\n" \ - " of specified service\n" \ - " -v: get version\n" \ - " of cinit\n" \ - " -V: get version\n" \ - " of cmd\n" \ - "" - -#define CMD_OPTIONS "e::d::hpsvV" - -#define MSG_KILL "kill()" -#define CMD_VERSION "0.2" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/intern.h b/software/cinit/browse_source/cinit-0.3pre14/src/include/intern.h deleted file mode 100644 index be41eb17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/intern.h +++ /dev/null @@ -1,129 +0,0 @@ -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * internal header - */ - - -#ifndef _CINIT_INTERN_H -#define _CINIT_INTERN_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* structures: answer / question */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_NOLINK, /* file is a broken symbolic link*/ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_LAST CINIT_CONFDIR SLASH C_LAST -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* needed by set_signals */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -void mini_printf(char *str, int fd); -void set_signals(int action); -//void usage(char *banner, char *stext); - -/* core functions */ -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -//int msg_svc_on_off(char *svc, char action); -//int msg_change_status(char *svc, char status, pid_t pid); -//int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* communication */ -int read_command(struct cinit_question, struct cinit_answer *); -int answer_svc_status(char *, struct cinit_answer *); -int answer_svc_pid(char *, struct cinit_answer *); -int answer_version(struct cinit_answer *); -int answer_svc_disable(char *, struct cinit_answer *); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -void print_errno(char *text); - -#endif /* INTERN */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre14/src/include/ipc.h deleted file mode 100644 index e06bd734..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/ipc.h +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/* FIXME: change to cinit/types.h later */ -#include "cinit.h" - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init */ - -int cinit_ipc_connect(void); /* connect to init */ - -int cinit_ipc_csend(struct cinit_question *); /* ask the server */ -int cinit_ipc_cread(struct cinit_answer *); /* read answer */ - -int cinit_ipc_logoff(void); /* logoff */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/listing b/software/cinit/browse_source/cinit-0.3pre14/src/include/listing deleted file mode 100644 index bccdad37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/listing +++ /dev/null @@ -1,8 +0,0 @@ -include/intern.h -include/config.h -include/ipc.h -include/messages.h -include/os.h -include/reboot.h -include/signals.h -include/svc.h diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre14/src/include/messages.h deleted file mode 100644 index 6fa101e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/messages.h +++ /dev/null @@ -1,168 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * All messages - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -//#define MSG_ERR_DEPS "Too many dependencies" -//#define MSG_ERR_ACCEPT "accept" -//#define MSG_ERR_WAITPID "waitpid" -//#define MSG_ERR_POLL "poll" -//#define MSG_ERR_MODIFY "modify list failed" -//#define MSG_ERR_COMM "Communication failed" - -//#define MSG_ERR_LESS_ARGS "Too less arguments!" -//#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -//#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -//#define LOG_NEED_FAIL "One or more need failed" -//#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# include -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) {} -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ - -/* services: how they should be printed - * /etc/cinit/svc/long/name: started once - * /etc/cinit/svc/long/name: is respawning - * /etc/cinit/svc/long/name: FAILED (why it happened) - */ - -#define MSG_INTRO_CINIT "cinit:" -#define MSG_INTRO_SPACE MSG_INTRO_CINIT " " -#define MSG_INTRO_SVC MSG_INTRO_CINIT -#define MSG_INTRO_STOP MSG_INTRO_CINIT "stop: " -#define MSG_INTRO_EXEC MSG_INTRO_CINIT "exec: " - -/* FIXME: remove/append, but no intro! */ -#define MSG_INTRO_FAIL "FAILED " -#define MSG_INTRO_RESPAWN MSG_INTRO_CINIT "respawn: " -#define MSG_INTRO_OK MSG_INTRO_CINIT "ok: " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" - - -#define MSG_BUILTIN_SLEEP MSG_INTRO_STOP "Using built-in sleep" - -#define MSG_TREE_EXEC MSG_INTRO_SPACE "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_FATAL_PANIC MSG_INTRO_SPACE "I tried everything, but even panic() failed: " -#define MSG_ERR_SLEEP MSG_INTRO_SPACE "Sleep did not succeed" -#define MSG_GETTIMEOFDAY MSG_INTRO_SPACE "gettimeofday() failed!" - -/* execution */ -//#define MSG_EXECUTING MSG_INTRO_EXEC - -/* stat() errors */ -#define MSG_NONREGULAR "Is not a regular file." -#define MSG_BROKENLINK "Is a broken link." - -/* Service messages */ -#define MSG_SVC_START "Starting... " -#define MSG_SVC_STOP "Stoping... " -#define MSG_SVC_RESTART "Restarted." -#define MSG_SVC_SLEEP "Sleeping before restart" -#define MSG_SVC_OK_ONCE "Started once." -#define MSG_SVC_OK_RESPAWN "Is respawning." - -/* Status messages */ -#define MSG_SHUTDOWN_START MSG_INTRO_STOP "\nBeginning the shutdown process..." -#define MSG_SHUTDOWN_SVC MSG_INTRO_STOP "Shutting down services now..." -#define MSG_SHUTDOWN_KILL MSG_INTRO_STOP "Killing remaining processes..." -#define MSG_SHUTDOWN_LAST MSG_INTRO_STOP "Executing final service..." -#define MSG_POWER_OFF MSG_INTRO_STOP "Powering off..." -#define MSG_HALT MSG_INTRO_STOP "Halting system ..." -#define MSG_REBOOT MSG_INTRO_STOP "Rebooting ..." - -/* client messages */ -#define MSG_HALT_KILL "halt.kill" -#define MSG_REBOOT_KILL "reboot.kill" -#define MSG_POWEROFF_KILL "poweroff.kill" - - -/* reboot */ -#define MSG_TERMKILL MSG_INTRO_FAIL "SIGTERM" -#define MSG_KILLBILL MSG_INTRO_FAIL "SIGKILL" - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre14/src/include/os.h deleted file mode 100644 index d6173a83..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/os.h +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/reboot.h b/software/cinit/browse_source/cinit-0.3pre14/src/include/reboot.h deleted file mode 100644 index 4e490bd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/reboot.h +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * reboot specific functions - * - */ - -#ifndef CINIT_REBOOT_HEADER -#define CINIT_REBOOT_HEADER - -/***************************************************************************** - * the main reboot function - */ -void do_reboot(int signal); - - -/***************************************************************************** - * os specific functions - */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - - -/***************************************************************************** - * Functions: abstract do_reboot - */ -#define cinit_do_reboot() do_reboot(SIGHUP) -#define cinit_do_halt() do_reboot(SIGUSR1) -#define cinit_do_poweroff() do_reboot(SIGTERM) - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/signals.h b/software/cinit/browse_source/cinit-0.3pre14/src/include/signals.h deleted file mode 100644 index 2fcac6cd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/signals.h +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Define signals to use: needs signal.h to be included before. - */ - -#ifndef CINIT_SIGNALS_HEADER -#define CINIT_SIGNALS_HEADER - -#define SIG_CINIT_HALT SIGUSR1 -#define SIG_CINIT_POWEROFF SIGTERM -#define SIG_CINIT_REBOOT SIGHUP - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/svc-intern.h b/software/cinit/browse_source/cinit-0.3pre14/src/include/svc-intern.h deleted file mode 100644 index 200ee7f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/svc-intern.h +++ /dev/null @@ -1,102 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Internal service specifics - */ - - -#ifndef __CINIT_SVC_INTERN_H -#define __CINIT_SVC_INTERN_H - -/* includes */ -#include /* pid_t */ -#include /* int types */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* LEN */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char abs_path[CINIT_DATA_LEN]; /* name of service */ - uint32_t status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - time_t start; /* time the process was started last time */ - - - struct dep *wanted_by; /* list of services that want this service */ - struct dep *needed_by; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *svc_init; /* the services to start */ -extern struct listitem *svc_list; /* the list of services */ - -/* list functions */ -struct listitem *list_insert(char *path, uint32_t status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -uint32_t svc_set_status(struct listitem *li, uint32_t status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void shutdown_services(struct listitem *start); - -void svc_start(struct listitem *, int); -void svc_stop(struct listitem *); -void svc_stop_deps(struct listitem *, int); -uint32_t svc_disable(struct listitem *); - - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -#endif /* _CINIT_SVC_INTERN_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/svc-messages.h b/software/cinit/browse_source/cinit-0.3pre14/src/include/svc-messages.h deleted file mode 100644 index 14873228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/svc-messages.h +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Service status messages - */ - - -#ifndef __CINIT_SVC_MESSAGES_H -#define __CINIT_SVC_MESSAGES_H - -#include "svc.h" - -struct cinit_svc_msg { - int code; - char *msg; -}; - -struct cinit_svc_msg cinit_svc_msg_codes[] = { - { CINIT_ST_SH_ONCE, "Service should be started once" }, - { CINIT_ST_SH_RESPAWN, "Service should respawn" }, - { CINIT_ST_ONCE_OK, "Service successfully started once" }, - { CINIT_ST_ONCE_FAIL, "Service failed to start once" }, - { CINIT_ST_RESPAWNING, "Service is respawning" }, - { CINIT_ST_NEED_FAILD, "One ore more needs failed" }, - { CINIT_ST_IN_LIST, "Service is in starter list" }, - { CINIT_ST_BAD_ERR, "Some strange error happened" }, - { CINIT_ST_ONCE_RUN, "Service is currently running once" }, - { CINIT_ST_NOT_EXIST, "This service does not exist" } -}; - -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre14/src/include/svc.h deleted file mode 100644 index 94c541cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/include/svc.h +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Service status (also exposed to the outside) - */ - - -#ifndef __CINIT_SVC_H -#define __CINIT_SVC_H - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum cinit_svc_status { - /* first define basics */ - CINIT_ST_SH_ONCE = 0x1, /* service SHould be started once */ - CINIT_ST_SH_RESPAWN = 0x2, /* service SHould respawn */ - CINIT_ST_ONCE_OK = 0x4, /* service was successfully started once */ - CINIT_ST_ONCE_FAIL = 0x8, /* service failed to start */ - CINIT_ST_RESPAWNING = 0x10, /* service is respawning */ - CINIT_ST_NEED_FAILD = 0x20, /* this service is not started, need failed */ - CINIT_ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - CINIT_ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - CINIT_ST_ONCE_RUN = 0x100, /* the once process is currently running */ - CINIT_ST_NOT_EXIST = 0x200, /* there's no such service in our database */ - CINIT_ST_STOPPING = 0x400, /* service was running, is being stopped */ - CINIT_ST_STOPPED = 0x800 /* service is stopped */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum cinit_svc_needs_status { - CINIT_SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - CINIT_SNS_NEEDS_FAILED, /* one ore more needs failed */ - CINIT_SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -/*********************************************************************** - * How to start/stop a service - */ -enum cinit_svc_start_stop_options { - CINIT_SSSO_COMPLETE = 0x0, /* with all dependencies */ - CINIT_SSSO_WO_NEEDS = 0x1, /* without needs */ - CINIT_SSSO_WO_WANTS = 0x2, /* without wants */ - CINIT_SSSO_WO_BOTH = 0x4 /* without both */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq-rt/README b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq-rt/README deleted file mode 100644 index cc1a1b7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq-rt/README +++ /dev/null @@ -1,2 +0,0 @@ -This implementation uses the new realtime inferface of -posix instead of the old one functions. diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq-rt/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq-rt/cinit_ipc_init.c deleted file mode 100644 index ef22b6d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq-rt/cinit_ipc_init.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include - -#include "cinit.h" -#include "config.h" -#include "msgq-rt.h" - -int cinit_ipc_init(void) -{ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq-rt/mq_open.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq-rt/mq_open.c deleted file mode 100644 index 445e7dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq-rt/mq_open.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -int main() -{ - mqd_t readq = mq_open("/test",O_RDWR|O_CREAT|O_EXCL); - //mqd_t readq = mq_open("/bin/ls",O_RDWR|O_CREAT|O_EXCL); - - if(readq == -1) { - perror("oh nein"); - return 1; - } - mqd_t writeq = mq_open("/bin/cp",O_WRONLY|O_CREAT|O_EXCL); - if(readq == -1) { - perror("oh oh nein"); - return 1; - } -} - - diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq-rt/msgq-rt.h b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq-rt/msgq-rt.h deleted file mode 100644 index d09a2808..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq-rt/msgq-rt.h +++ /dev/null @@ -1,39 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#define MSGQ_PATHNAME "/cinit" /* identifier */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_cread.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_cread.c deleted file mode 100644 index a3d443cd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_cread.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client reads messages from cinit - * - */ - -#include /* msg* */ -#include /* memcpy() */ -#include /* getpid() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msq specific */ - -int cinit_ipc_cread(struct cinit_answer *buf) -{ - struct msgq_server asr; - - if(msgrcv(__cinit_mq_in, &asr, sizeof(asr.asr), getpid(), 0) == -1) { - print_errno(MSG_MSGQ_MSGRCV); - return 0; - } - memcpy(buf, &(asr.asr), sizeof(*buf)); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 1b686a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client sends messages to cinit - * - */ - -#include /* msgget */ -#include /* memcpy() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structure */ - -int cinit_ipc_csend(struct cinit_question *qsn) -{ - struct msgq_client msg; - - msg.mtype = 1; /* cinit = 1 */ - - /* copy question structure into the msgq-structure */ - memcpy(&(msg.qsn), qsn, sizeof(msg.qsn)); - - if(msgsnd(__cinit_mq_out, &msg, sizeof(msg.qsn), 0) == -1) { - print_errno(MSG_MSGQ_MSGSEND); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 8186cba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ -#include "msgq.h" /* mq_in, mq_out */ -#include "intern.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(__cinit_mq_in, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(__cinit_mq_out, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index d5102f13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* message queue */ - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index fb4aac52..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * Listen to messages - * - */ - -#include /* printf() */ - -#include /* msg* */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structs */ - -int cinit_ipc_listen(void) -{ - int tmp; - struct cinit_msgq_client qsn; - struct cinit_msgq_server asr; - struct msqid_ds msq; - - tmp = msgrcv(__cinit_mq_in, &qsn, sizeof (qsn.qsn), 0, 0); - - /* message system problem */ - if(tmp == -1) { - if(errno != EINTR) { - print_errno(__CINIT_MSG_MSGQ_MSGRCV); - } - return -1; - } - - /* retrieve pid */ - if(msgctl(__cinit_mq_in, IPC_STAT, &msq) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGCTL); - return -1; - } - - if(!read_command(qsn.qsn, &(asr.asr))) { - /* FIXME: mini_print */ - printf("read command failed\n"); - - asr.asr.ret = CINIT_ASW_ERR_INTERN; - } - - asr.mtype = msq.msg_lspid; - if(msgsnd(__cinit_mq_out, &asr, sizeof(asr.asr), 0) == -1) { - /* FIXME: do different things on differen errnos ... */ - print_errno("msgsend/answer"); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index ac8306d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Disconnect from cinit - * - */ - -int cinit_ipc_logoff(void) -{ - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index e15b12f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msgq constants */ - -int cinit_ipc_logon(void) -{ - key_t k_tmp; - - /* generiere nen schluessel: andersrum als im Server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, 0); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, 0); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/msgq.h deleted file mode 100644 index 68398764..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,58 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * header of message queuing interface - * - */ - -#ifndef __CINIT_IPC_HEADER -#define __CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define __CINIT_MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define __CINIT_MSGQ_TO_SERVER 'i' /* also for ftok */ -#define __CINIT_MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define __CINIT_MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables: FIXME: rename, we're in client namespace! - */ -int __cinit_mq_in; /* input */ -int __cinit_mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct cinit_msgq_client { - long mtype; - struct cinit_question qsn; -}; - -/* messages _from_ the server _to_ the client */ -struct cinit_msgq_server { - long mtype; - struct cinit_answer asr; -}; - -/*********************************************************************** - * Messages - */ - -#define __CINIT_MSG_MSGQ_FTOK "ftok" -#define __CINIT_MSG_MSGQ_MSGGET "msgget" -#define __CINIT_MSG_MSGQ_MSGCTL "msgctl" -#define __CINIT_MSG_MSGQ_MSGSEND "msgsend" -#define __CINIT_MSG_MSGQ_MSGRCV "msgrcv" -#define __CINIT_MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/socket+linux-tmpfs/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/socket+linux-tmpfs/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/socket+linux-tmpfs/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/socket+linux-tmpfs/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre14/src/ipc/socket+linux-tmpfs/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/ipc/socket+linux-tmpfs/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/README b/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/README deleted file mode 100644 index 096cc779..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/README +++ /dev/null @@ -1,22 +0,0 @@ -Build a small library that can be used by different applications, that provides: - - Constants / Macros: - for cinit_halt: - CINIT_HALT - CINIT_REBOOT - CINIT_POWEROFF - - for cinit_svc_start/stop: - CINIT_SVC_NORMAL - CINIT_SVC_NEEDS - CINIT_SVC_ONLY - CINIT_SVC_WANTS - - Functions: - void cinit_halt(int how); - int cinit_svc_start(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - -This lib must then include: - - choosen ipc functions diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_flag_to_uint32_t.c b/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_flag_to_uint32_t.c deleted file mode 100644 index bfca5f71..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_flag_to_uint32_t.c +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Converts cher * to uint32_t for svc operations - * - */ - - -#include /* NULL */ -#include /* strchr */ -#include /* integers */ - -#include "cinit.h" /* constants */ - -uint32_t cinit_flag_to_uint32_t(char *flag) -{ - uint32_t ret = 0; /* no flags */ - - if(flag != NULL) { - if(strchr(flag, CINIT_CMD_SVC_NEEDS)) { - ret |= CINIT_QSN_SVC_NEEDS; - } - if(strchr(flag, CINIT_CMD_SVC_WANTS)) { - ret |= CINIT_QSN_SVC_WANTS; - } - } - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_get_svc_status.c b/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_get_svc_status.c deleted file mode 100644 index 7a6d9a1a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_get_svc_status.c +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves status of a service - * - */ - - -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_get_svc_status(char *name, uint32_t *status) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_STATUS); - cinit_cp_data((qsn.data), name); - - if(!cinit_send_to(&qsn, &asr)) return CINIT_ASW_IPC_ERROR; - - *status = asr.options; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_get_version.c b/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_get_version.c deleted file mode 100644 index bf887f05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_get_version.c +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves version of cinit - */ - -#include "cinit.h" /* header for clients */ - -uint32_t cinit_get_version(char *buf) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_VERSION); - if(!cinit_send_to(&qsn, &asr)) return CINIT_ASW_IPC_ERROR; - cinit_cp_data(buf, asr.data); - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_halt.c b/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_halt.c deleted file mode 100644 index c9b5838f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_halt.c +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * purpose_of_this_file_is_also_there_behind_the_big_header - * - */ - -#include "" /* include global header */ -int cinit_halt(int how) -{ - switch(how) { - case 'p': /* power off */ - break; - - default: - break; - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_prepare_comm.c b/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_prepare_comm.c deleted file mode 100644 index 9be95d24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_prepare_comm.c +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Prepares the communication - */ - -#include /* str*, memset */ -#include /* uint32_t */ - -#include "cinit.h" /* header for clients */ - -void cinit_prepare_comm(struct cinit_question *qsn, struct cinit_answer *asr, uint32_t cmd) -{ - memset(qsn, '\0', sizeof(struct cinit_question)); - memset(asr, '\0', sizeof(struct cinit_answer)); - - qsn->cmd = cmd; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_send_to.c b/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_send_to.c deleted file mode 100644 index 86fddfaa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_send_to.c +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * sends data from the client to cinit - * - */ - -#include "ipc.h" /* IPC */ -#include "cinit.h" /* struct cinit_message */ - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) -{ - if(!cinit_ipc_logon()) return 0; - if(!cinit_ipc_csend(data)) return 0; - if(!cinit_ipc_cread(res)) return 0; - if(!cinit_ipc_logoff()) return 0; - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_svc_disable.c b/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_svc_disable.c deleted file mode 100644 index d206666a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_svc_disable.c +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Disables a service - * - */ - - -#include /* integers */ - -#include "cinit.h" /* header for clients */ - -/* - * to cinit: - * disable + flags - * from cinit: - * status - * unknown service - * disabled the service - * - * disabled the service and needs - * disabled the service and wants - * disabled the service and needs and wants - * - * if it is one of the last three it follows - * uint32_t num: how many services stopped - * num times - * - * uint32_t len (excluding \0) - * char name[] - */ - -uint32_t cinit_svc_disable(char *svc, uint32_t flag) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_SVC_DISABLE); - cinit_cp_data((qsn.data), svc); - - qsn.opt = flag; - - if(!cinit_send_to(&qsn, &asr)) return CINIT_ASW_IPC_ERROR; - - /* FIXME: 0.3pre15: add retrieval of services */ - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_svc_enable.c b/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_svc_enable.c deleted file mode 100644 index 207b69ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_svc_enable.c +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves pid of a service - * - */ - -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_enable(char *svc, uint32_t flag) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_SVC_START); - cinit_cp_data((qsn.data), svc); - - qsn.opt = flag; - - if(!cinit_send_to(&qsn, &asr)) return CINIT_ASW_IPC_ERROR; - - /* add logic to display started services here - * or: - * add logic to start dependend services in here: - * want to start a -> cinit returns needs b - */ - - return CINIT_ASW_IPC_ERROR; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_svc_get_pid.c b/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_svc_get_pid.c deleted file mode 100644 index 3d24347a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/libcinit/cinit_svc_get_pid.c +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves pid of a service - * - */ - -#include /* pid_t */ -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_get_pid(char *name, pid_t *status) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_PID); - cinit_cp_data((qsn.data), name); - - if(!cinit_send_to(&qsn, &asr)) return CINIT_ASW_IPC_ERROR; - - *status = asr.options; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/cinit deleted file mode 100644 index be5da3d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/cinit +++ /dev/null @@ -1,59 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/set_signals.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/gen_halt_tree.o -svc/list_delete.o -svc/list_insert.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/svc_disable.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/shutdown_services.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_fail.o -svc/svc_start.o -svc/svc_stop.o -svc/svc_stop_deps.o -comm/read_command.o -comm/answer_svc_status.o -comm/answer_svc_pid.o -comm/answer_version.o -comm/cinit_cp_data.o -comm/answer_svc_disable.o diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/cmd b/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/cmd deleted file mode 100644 index d7965ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/cmd +++ /dev/null @@ -1,17 +0,0 @@ -client/cmd.o -comm/cinit_cp_data.o -generic/print_errno.o -generic/path_absolute.o -generic/mini_printf.o -libcinit/cinit_get_svc_status.o -libcinit/cinit_get_version.o -libcinit/cinit_send_to.o -ipc/current/cinit_ipc_logon.o -ipc/current/cinit_ipc_csend.o -ipc/current/cinit_ipc_cread.o -ipc/current/cinit_ipc_logoff.o -libcinit/cinit_svc_get_pid.o -libcinit/cinit_prepare_comm.o -libcinit/cinit_svc_enable.o -libcinit/cinit_svc_disable.o -libcinit/cinit_flag_to_uint32_t.o diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/halt.kill b/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/halt.kill deleted file mode 100644 index e5b12a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/halt.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/halt.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/poweroff.kill b/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/poweroff.kill deleted file mode 100644 index 306fc0bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/poweroff.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/poweroff.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/reboot.kill b/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/reboot.kill deleted file mode 100644 index f851badf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/object_lists/reboot.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/reboot.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre14/src/os/freebsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre14/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre14/src/os/freebsd/poweroff.c deleted file mode 100644 index c73dd079..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre14/src/os/freebsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre14/src/os/linux/halt.c deleted file mode 100644 index 5ee3eb53..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre14/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre14/src/os/linux/poweroff.c deleted file mode 100644 index c7d2b1c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre14/src/os/linux/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre14/src/os/netbsd/halt.c deleted file mode 100644 index 972aecf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/netbsd/halt.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre14/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre14/src/os/netbsd/poweroff.c deleted file mode 100644 index 17d7b259..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre14/src/os/netbsd/reboot.c deleted file mode 100644 index 14313e17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/netbsd/reboot.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre14/src/os/openbsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre14/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre14/src/os/openbsd/poweroff.c deleted file mode 100644 index bf4120e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre14/src/os/openbsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/check_add_deps.c deleted file mode 100644 index db78f3f1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/check_add_deps.c +++ /dev/null @@ -1,137 +0,0 @@ -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers, check: - * getcwd */ -#include - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" -#include "svc-intern.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath, PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf, C_NEEDS)) return 0; - } else { - if(!path_append(buf, C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent = readdir(d_tmp)) != NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* skip non-working directories / broken links - * path_absolute reports errors on failure */ - if(!path_absolute(tdirent->d_name, buf, PATH_MAX+1)) continue; - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - dep_entry_add(&(new_svc->needed_by), deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs), deps); - } else { - dep_entry_add(&(new_svc->wanted_by), deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants), deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/dep_create.c deleted file mode 100644 index 6fa0474c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/dep_create.c +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc-intern.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/dep_entry_add.c deleted file mode 100644 index 32b75ff1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/dep_entry_add.c +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc-intern.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(*deplist == NULL) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/dep_entry_del.c deleted file mode 100644 index 4f94f896..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/dep_entry_del.c +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc-intern.h" /* struct *dep */ - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* last service in the list */ - if(del->next == del && del->prev == del) { - tmp = NULL; - } else { - /* remove from list */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/dep_needs_wants_add.c deleted file mode 100644 index 39e8ab8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ -#include "svc-intern.h" /* struct *dep */ -#include "svc.h" /* struct *dep */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed_by; - } else { - end = svc->wanted_by; - } - - /* Place to the first dependency of this service */ - tmp = end; - if(tmp != NULL) { - do { - /* Add service to the starter list, which - * - should be started once - * - should be respawned (both VIRGIN services!) - * - and which are not already in the list! - */ - if(((tmp->svc->status & CINIT_ST_SH_ONCE) || - (tmp->svc->status & CINIT_ST_SH_RESPAWN)) && - !(tmp->svc->status & CINIT_ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= CINIT_ST_IN_LIST; - dep_entry_add(list, new); - } - /* FIXME: Clearify if we should go forward or backwards? - * this decision will influence starting order - * and may thereby add a minimal mount of speed enhancement - * - * As far as I can see it is not predictable, which way is - * better, because it heavily depends on the other services. - * - * If you know better, provide me with a patch ;-) - */ - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/gen_halt_tree.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/gen_halt_tree.c deleted file mode 100644 index f3b66886..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/gen_halt_tree.c +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * This function reads the full service tree and generates - * a list of services to begin shutdown (those that are not - * wanted or needed by any other service). - */ - -#include /* NULL */ - -#include "svc-intern.h" /* structs */ -#include "intern.h" /* structs */ - -struct dep *gen_halt_list(struct listitem *svc_tree) -{ - struct dep *list = NULL, *new = NULL; - struct listitem *tmp; - - /* no tree? nothing to shutdown. */ - if(!svc_tree) { - return NULL; - } - - /* find all services that do not depend on other services: - * - empty wants? (currently ignore them) - * - empty needs! - */ - tmp = svc_tree; - do { - if(tmp->needs == NULL) { - /* create new dependency */ - new = dep_create(tmp); - if(!new) return NULL; - - dep_entry_add(&list,new); - } - tmp = tmp->next; - } while(tmp != svc_tree); - - return list; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/gen_svc_tree.c deleted file mode 100644 index caa9a136..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Pre calculate the service tree - */ - -#include - -#include "intern.h" /* functions */ -#include "svc.h" /* constants */ -#include "svc-intern.h" /* functions */ - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li=list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return NULL; - - if(!check_add_deps(li, DEP_NEEDS)) return NULL; - if(!check_add_deps(li, DEP_WANTS)) return NULL; - - /* no dependencies? then you are a start service */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&svc_init,deps); - - /* Mark it as being in the startup list, so it does not - * get added again in a dep_needs_wants_add call */ - li->status |= CINIT_ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_delete.c deleted file mode 100644 index 2f466bee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_delete.c +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* free */ -#include "intern.h" /* list_search */ -#include "svc-intern.h" /* listitem */ - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if(tmp == NULL) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - - free(tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_display_all.c deleted file mode 100644 index 9d1cf018..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_display_all.c +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ - -#include "messages.h" /* D_PRINTF */ -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return 0; - } else { - tmp = svc_list; - } - - do { - D_PRINTF("Service: "); - D_PRINTF(tmp->abs_path); - D_PRINTF("\n"); - - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_insert.c deleted file mode 100644 index 4d5b370a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_insert.c +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* uint32_t */ -#include /* malloc */ -#include /* bzero / memset */ -#include "svc-intern.h" /* the list pointer */ - -struct listitem *list_insert(char *path, uint32_t status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - cinit_cp_data(tmp->abs_path, path); - - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_modify.c deleted file mode 100644 index 03ad7235..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_modify.c +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED. Not in use anymore. - * - * List handling - */ - -#error "NOT IN USE" - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if(tmp == NULL) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_search.c deleted file mode 100644 index d03fcd1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_search.c +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "svc-intern.h" /* struct listitem */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_search_pid.c deleted file mode 100644 index 81b5d6b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/list_search_pid.c +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Search by pid - */ - -#include /* NULL */ -#include /* pid_t */ -#include "svc-intern.h" /* struct listitem */ - -struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return NULL; - } else { - tmp = svc_list; - } - - do { - if(pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/shutdown_services.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/shutdown_services.c deleted file mode 100644 index 79c190ab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/shutdown_services.c +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Shutdown all services: This is more or less the negative - * version of 'tree_exec()' - */ - -#include "svc-intern.h" /* struct */ - -void shutdown_services(struct listitem *svc) -{ - while(0) { - svc++; - } - /* stop services in the correct order: - * - begin at a random process, and walk the tree up to the wanted_by and needed_by - * - switch to next service, as soon as this tree is finished - */ - -// while(we_are_wanted_or_needed) { -// shutdown_services(next_wants_or_needs_us); -// } - -// shutdown_services(svc) - - /* begin at svc, iterate until a service without dependencies is found, - * continue stopping through wanted-by / needed-by / wants / needs */ - - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_add_needs.c deleted file mode 100644 index da9ac7ce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_add_needs.c +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED! - * - * List handling - */ - -#error "NOT IN USE" - -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_create.c deleted file mode 100644 index 66ae7735..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_create.c +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* stat */ -#include /* errno */ - -#include "svc.h" /* constants */ -#include "svc-intern.h" /* listitem */ -#include "intern.h" /* path_append */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -/* checking for existence is done before! */ -struct listitem *svc_create(char *svc) -{ - char buf[CINIT_DATA_LEN]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc, -1); - if(!li) return NULL; - - cinit_cp_data(buf, svc); - if(!path_append(buf, C_RESPAWN)) return NULL; - - if(stat(buf, &statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li, CINIT_ST_SH_ONCE); - } else { - return NULL; - } - } else { - svc_set_status(li, CINIT_ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_disable.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_disable.c deleted file mode 100644 index 3afa7303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_disable.c +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Disable a service without dependencies - */ - -#include - -#include "svc-intern.h" -#include "svc.h" -#include "cinit.h" - -/* checking for existence is done before! */ -uint32_t svc_disable(struct listitem *li) -{ - svc_set_status(li, CINIT_ST_STOPPING); - svc_stop(li); - svc_set_status(li, CINIT_ST_STOPPED); - - return CINIT_ASW_SVC_DISABLED; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_fail.c deleted file mode 100644 index e4bba714..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_fail.c +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Mark the service as being failed - */ - -#include "svc.h" -#include "svc-intern.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) - li->status = CINIT_ST_ONCE_FAIL; - else { - /* FIXME: do something senseful, record time of dead? */ - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_needs_status.c deleted file mode 100644 index 90bde0b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_needs_status.c +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return status of the needs of this service - */ - -#include /* NULL */ -#include "svc.h" /* service information */ -#include "svc-intern.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = CINIT_SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - - if(deps == NULL) return CINIT_SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* worst case: need failed */ - if((deps->svc->status & CINIT_ST_NEED_FAILD) || - (deps->svc->status & CINIT_ST_ONCE_FAIL) || - (deps->svc->status & CINIT_ST_BAD_ERR) ){ - retval = CINIT_SNS_NEEDS_FAILED; - break; - } - /* services are being started */ - if((deps->svc->status & CINIT_ST_SH_ONCE) || - (deps->svc->status & CINIT_ST_SH_RESPAWN) || - (deps->svc->status & CINIT_ST_ONCE_RUN) ){ - // printf("%s (%ld) waits for %s (%ld)\n",svc->abs_path, svc->status, deps->svc->abs_path, deps->svc->status); - retval = CINIT_SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_report_status.c deleted file mode 100644 index 97cba239..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_report_status.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Tell the world what happened to the service - */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC,1); - mini_printf(svc,1); - mini_printf(": ",1); - mini_printf(msg,1); - if(err) { - mini_printf(" (",1); - mini_printf(err,1); - mini_printf(")",1); - } - mini_printf("\n",1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_respawn_check.c deleted file mode 100644 index ab60ce8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED? not in use. - * - * Check whether service is existent - */ - -#error "NOT IN USE" - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX+1]; - - strcpy(buf,svc->abs_path); - if(!path_append(buf,C_RESPAWN)) return 0 -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_set_status.c deleted file mode 100644 index 121162f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_set_status.c +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set the status of a service - */ - -#include - -#include "svc-intern.h" - -/* checking for existence is done before! */ -uint32_t svc_set_status(struct listitem *li, uint32_t status) -{ - /* FIXME: also set time? */ - - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_should_respawn.c deleted file mode 100644 index 0b72369d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return whether should respawn or not - */ - -#include "svc-intern.h" -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & CINIT_ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_start.c deleted file mode 100644 index b4a1d9c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_start.c +++ /dev/null @@ -1,120 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* nanosleep() */ -//#include /* gettimeofday() */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -extern int svc_lock; - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li, int delay) -{ - char buf[CINIT_DATA_LEN]; - struct timespec ts; - - /* set global lock to avoid race condition */ - svc_lock = 1; - - /* first update status before forking ! */ - if(li->status & CINIT_ST_SH_ONCE) - li->status = CINIT_ST_ONCE_RUN; - else - li->status = CINIT_ST_RESPAWNING; - - /* set start time */ - li->start = time(NULL); - - /* FIXME: All cleanup must go here - * close(fds); - * reset signals - * reset env? - * - * FIXME: Add logging possibility to here - * open (0,1,2) to other processes, if specified */ - - /* BUG: - * the following child may return _before_ - * the fork returns in the parent. - * Thus this pid may not be registered. - * - * And that's the reason why we need the global svc_lock! - */ - li->pid = fork(); - - /********************** parent ************************/ - if(li->pid > 0) { - svc_lock = 0; - printf("%s is at %d\n", li->abs_path, li->pid); - return; - } - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path, MSG_SVC_FORK, strerror(errno)); - svc_set_status(li, CINIT_ST_BAD_ERR); - return; - } - - /********************** Client / fork() ************************/ - /* sleep, if necesseray */ - if(delay) { - ts.tv_sec = delay; - ts.tv_nsec = 0; - - /* FIXME: also report value; int2char */ - printf("Delay: %d\n", delay); - svc_report_status(li->abs_path, MSG_SVC_SLEEP, NULL); - - /* do not need to check for errors, because we can continue anyway */ - /* WRONG: FIXME: look whether to sleep again */ - nanosleep(&ts, NULL); - } - svc_report_status(li->abs_path, MSG_SVC_START, NULL); - - cinit_cp_data(buf, li->abs_path); - if(!path_append(buf, C_ON)) return; - - /* Check for existence */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - /* FIXME: remove later */ - printf("********************\n"); - printf("WO/EXE: %s\n",li->abs_path); - printf("********************\n"); - /* probably a problem: we exit too fast, cinit does not - * yet have us in the process list. is that possible? - * => catch with sleep */ - //sleep(2); - _exit(0); /* nothing there? fine! */ - } - - if(li->status == FE_FILE) { - /* FIXME: reset signals: Is this necessary? Or does fork clean it anyway? */ - set_signals(ACT_CLIENT); - - /* and now, fire it up */ - execute_sth(buf); - } else { - /* FIXME: report? */ - /* either no file or an error */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_stop.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_stop.c deleted file mode 100644 index 0c77caf7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_stop.c +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Stop a service - * - * Status: Written, looks finished, but untested. - * - * respawn: - * - disable respawning: set status to ST_RESPAWN_STOP - * - send term signal? no => can be done in "off" - * => set environment CINIT_SVC_PID - * once and respawn: - * - look for 'off' binary, execute if present - * - mark service as off or delete it? - */ - - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* waitpid */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ -#include "cinit.h" /* CINIT_DATA_LEN */ - - -void svc_stop(struct listitem *li) -{ - char buf[CINIT_DATA_LEN]; - int status; - - svc_set_status(li, CINIT_ST_STOPPING); - - li->pid = fork(); - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path, MSG_SVC_FORK, strerror(errno)); - svc_set_status(li, CINIT_ST_BAD_ERR); - return; - } - - /********************** Parent / fork() ************************/ - /* FIXME: 0.3pre15: look at the status / return value */ - waitpid(li->pid, &status, 0); - - /********************** Client / fork() ************************/ - svc_report_status(li->abs_path, MSG_SVC_STOP, NULL); - - cinit_cp_data(buf, li->abs_path); - if(!path_append(buf, C_OFF)) _exit(1); - - /* Check for existence */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - _exit(0); - } - - if(li->status == FE_FILE) { - /* FIXME: reset signals: Is this necessary? Or does fork clean it anyway? */ - set_signals(ACT_CLIENT); - - /* and now, fire it up */ - execute_sth(buf); - } else { - /* FIXME: report? */ - /* either no file or an error */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_stop_deps.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_stop_deps.c deleted file mode 100644 index 12c64df2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_stop_deps.c +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Stop a service, taking care about its dependencies - */ - -#include "svc.h" /* enums */ -#include "svc-intern.h" /* struct listitem */ - -/* - * how == CINIT_SSSO_COMPLETE => stop needs/wants before - * how & CINIT_SSSO_WO_NEEDS => omit needs - * how & CINIT_SSSO_WO_WANTS => omit wants - */ - -void svc_stop_deps(struct listitem *li, int how) -{ - struct dep *tmp; - - /* shutdown depending services first: needed_by */ - tmp = li->needed_by; - do { - if(how & CINIT_SSSO_WO_NEEDS) break; - svc_stop_deps(tmp->svc, how); - tmp = tmp->next; - } while(tmp != li->needed_by); - - /* shutdown depending services first: wanted_by */ - tmp = li->wanted_by; - do { - if(how & CINIT_SSSO_WO_WANTS) break; - svc_stop_deps(tmp->svc, how); - tmp = tmp->next; - } while(tmp != li->wanted_by); - - svc_stop(li); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_success.c deleted file mode 100644 index fa740ce5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/svc_success.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set the status of a service - */ - -#include /* NULL */ - -#include "svc.h" /* listitem, svc_report_status */ -#include "svc-intern.h" /* listitem, svc_report_status */ -#include "messages.h" /* messages */ - -void svc_success(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) { - svc_report_status(li->abs_path,MSG_SVC_OK_ONCE,NULL); - li->status = CINIT_ST_ONCE_OK; - } else { - svc_report_status(li->abs_path,MSG_SVC_OK_RESPAWN,NULL); - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre14/src/svc/tree_exec.c deleted file mode 100644 index ed913af4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/svc/tree_exec.c +++ /dev/null @@ -1,106 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Start the service tree we created - */ - - -#include /* NULL */ - -#include /* NULL */ -#include "intern.h" /* mini_printf */ -#include "messages.h" /* messages */ -#include "svc.h" /* svc_init */ -#include "svc-intern.h" /* svc_init */ - -/* some thoughts... - * - * - we already generated the tree, now we need to start it from - * the endings - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - struct dep *hack; - struct timespec ts; - - mini_printf(MSG_TREE_EXEC, 1); - - /* the main starting loop: All services in this list should be - * started, but it is possible that dependent services are in the - * list. In this case simply skip the current service - */ - do { - switch(svc_needs_status(tmp->svc)) { - case CINIT_SNS_NEEDS_STARTED: - /* FIXME: MSG_* */ - svc_report_status(tmp->svc->abs_path,"Finished needs.", NULL); - /* execute service, add dependencies, remowe from list */ - svc_start(tmp->svc,0); - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_FAILED: - /* mark service as NEED_FAILD and delete from list */ - svc_report_status(tmp->svc->abs_path,MSG_SVC_NEED_FAIL,NULL); - svc_set_status(tmp->svc,CINIT_ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_UNFINISHED: - /* FIXME: continue here! */ - - hack = tmp->svc->needs; - do { - // get needs -// printf("%s waits for %s",tmp->svc->abs_path,hack->svc->abs_path); - // display status of needs - // printf("%s: %ld\n",hack->svc->abs_path,hack->svc->status); - hack = hack->next; - } while(hack != tmp->svc->needs); - - tmp = tmp->next; /* continue with the next item */ - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep(&ts,NULL); - break; - } - /* This case happens, if it's the last service waiting for something */ - /* if(tmp == tmp->next) { - - nanosleep()? - printf("BUUUUUUUUUUUUUG, exit\n"); - break; - } */ - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/data1.c b/software/cinit/browse_source/cinit-0.3pre14/src/test/data1.c deleted file mode 100644 index 341c6615..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/data1.c +++ /dev/null @@ -1,47 +0,0 @@ -#include -#include -#include - -int main() -{ - int a, b, e; - char *c = "/etc/cinit/svc/...", *data; - - int a2, b2; - char *c2; - - a2 = b2 = 0; - - a = 1001; - b = strlen(c); - c2 = malloc(b+1); - if(!c2) return 40; - - e = sizeof(a) + sizeof(b) + b; - - printf("e=%d (b=%d)\n",e,b); - - data = malloc(e); - if(!data) return 20; - - /* in */ - strcpy(data,(char *) &a); - e = sizeof(a); - strcpy(&data[e],(char *) &b); - e += sizeof(b); - strcpy(&data[e],c); - - /* out */ - strncpy((char *) &a2,data,sizeof(a2)); - printf("a2=%d\n",a2); - e = sizeof(a2); - - strncpy((char *) &b2,&data[e],sizeof(b2)); - printf("b2=%d\n",b2); - e += sizeof(b2); - - strncpy(c2,&data[e],b2); - printf("c2=%s\n",c2); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/fork-latency.c b/software/cinit/browse_source/cinit-0.3pre14/src/test/fork-latency.c deleted file mode 100644 index 7d813479..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/fork-latency.c +++ /dev/null @@ -1,104 +0,0 @@ -/************* - * - * A very small program to show that the child() of a fork() - * proceess can exit before fork() returns in the parent - * - * Nico Schottelius, Copying: GPLv3, 20070925 - * - * I run it this way: ./fork-latency | grep "child exited" | sort | uniq | wc -l - * => Number of children that exited before we recorded them! - * - * Or: ./fork-latency | grep "found" | sort | uniq | wc -l - * => children, which exited after fork() returned. - * - * Some interesting facts: - * - * - Very often the children exit before fork() returns: - * - * [8:58] denkbrett:test% ./fork-latency | grep "found" | sort | uniq | wc -l - * 2 - * - * - It looks like waitpid() returns more than once the same pid (MAX=500): - * - * [9:01] denkbrett:test% ./fork-latency | grep "child exited before fork" | wc -l - * 8435 - * - * [9:02] denkbrett:test% ./fork-latency | grep "found" | wc -l - * 111 - * - * [9:02] denkbrett:test% ./fork-latency | grep "found" > TMP - * [9:03] denkbrett:test% head TMP - * (475) found - * (475) found - * (475) found - * (374) found - * (374) found - * (374) found - * (374) found - * (373) found - * (374) found - * (374) found - * - * - * Imho waitpid() should return 0, because we specified WNOHANG and - * SA_NOCLDSTOP, if no child changed status - */ - - -#include /* fork() */ -#include /* sigaction, sigemtpyset */ -#include /* waitpid */ -#include /* printf, NULL */ - -#define MAX 500 /* number of forks */ - -pid_t list[MAX]; -int i=MAX; - -void sig_child(int status) -{ - int o; - int found; - pid_t pid; - - while((pid = waitpid(-1, &status, WNOHANG)) > 0) { - if(pid == -1) return; /* ignore errors */ - - found = 0; - // no need to search the whole list, use o = i instead - //for(o = 0; o < MAX; o++) { - for(o = i; o < MAX; o++) { - if(list[o] == pid) { - found = 1; - break; - } - } - if(found) { - printf("(%d) found\n", i); - } else { - printf("(%d) child exited before fork() returned\n", i); - } - } -} - -int main() -{ - struct sigaction sa; - sigemptyset(&sa.sa_mask); - - sa.sa_flags = 0; - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - sigaction(SIGCHLD,&sa,NULL); - - for(i=MAX-1; i >= 0; i--) list[i] = 0; - - i=MAX; - - for(i = MAX-1;i >= 0; i--) { - list[i] = fork(); - - /* child exists immediately */ - if(list[i] == 0) return 0; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/memcpy.c b/software/cinit/browse_source/cinit-0.3pre14/src/test/memcpy.c deleted file mode 100644 index b3abfcb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/memcpy.c +++ /dev/null @@ -1,46 +0,0 @@ -#include /* memcpy() */ -#include - -struct cinit_answer { - int options; - char data[2045]; -}; - -int f1(struct cinit_answer *buf); -int f2(struct cinit_answer *buf); - - -int f2(struct cinit_answer *buf) -{ - struct cinit_answer msg; - - printf("f2: %p\n",buf); - - msg.options = 12; - strcpy(msg.data,"stringit"); - - printf("addr= %p\n", memcpy(buf,&msg,sizeof(*buf))); - - printf("ok\n"); - - return 1; -} - -int f1(struct cinit_answer *buf) -{ - printf("f1: %p\n",buf); - printf("ret=%d\n",f2(buf)); - - return 1; -} - -int main() -{ - struct cinit_answer test; - - if(!f1(&test)) return 1; - - printf("s: %s d: %d\n",test.data, test.options); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/test-newline.c b/software/cinit/browse_source/cinit-0.3pre14/src/test/test-newline.c deleted file mode 100644 index 95e03a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/test-newline.c +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include -#include - -char *strip_final_newline(char *test1); - -int main() -{ - //char *test1 = "zeile1\nzeile2\n"; - //char *test2 = "zeile1\nzeile2\nzeile3"; - char *test1; - char *test2; - - test1 = malloc(50); - test2 = malloc(50); - - strcpy(test1,"zeile1\nzeile2\n"); - strcpy(test2,"zeile1\nzeile2\nzeile3"); - - char *result; - result = strip_final_newline(test1); - printf("A%sA\n",result); - - result = strip_final_newline(test2); - printf("B%sB\n",result); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre14/src/test/test_build_argv+link.c deleted file mode 100644 index f74b4f36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre14/src/test/test_build_argv.c deleted file mode 100644 index 3938aa0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre14/src/test/test_gen_svc_tree.c deleted file mode 100644 index c13c46b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre14/src/test/test_openreadclose.c deleted file mode 100644 index 2f722da5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file,&data); - - printf("%s\n",data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/tired.c b/software/cinit/browse_source/cinit-0.3pre14/src/test/tired.c deleted file mode 100644 index 112424ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/tired.c +++ /dev/null @@ -1,22 +0,0 @@ -#include - -struct msgq_server_short { - long mtype; - int mu; -}; - -main() -{ - struct msgq_server_short t1, *t2; - - t2 = &t1; - - int a = sizeof(t1); - int b = sizeof(t2); - int c = sizeof(*t2); - - printf("a=%d,b=%d,c=%d\n",a,b,c); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/src/test/transfer_structure.c b/software/cinit/browse_source/cinit-0.3pre14/src/test/transfer_structure.c deleted file mode 100644 index 5e95b997..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/src/test/transfer_structure.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include - -struct test { - char buf[2048]; - int cmd; -}; - -struct badtest { - char *buf; - int cmd; -}; - -#define PATH "/etc/cinit/svc/local-tuning/udev" - -int main() -{ - struct test cmd; - struct badtest nocmd; - int pfd[2]; - int tmp; - - strcpy(cmd.buf,"/which/service/to/disable"); - cmd.cmd = 42; - - if(pipe(pfd) == -1) return 1; - nocmd.cmd = 42; - nocmd.buf = malloc(strlen(PATH)+1); - strcpy(nocmd.buf,PATH); - - - if(fork() > 1) { - tmp = write(pfd[1],&cmd,sizeof(cmd)); - printf("PA: tmp=%d\n",tmp); - - tmp = write(pfd[1],&nocmd,sizeof(nocmd)); - printf("PA: tmp2=%d\n",tmp); - } else { - strcpy(cmd.buf,""); - cmd.cmd = 0; - - tmp = read(pfd[0],&cmd,sizeof(cmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n",tmp,cmd.cmd,cmd.buf); - - free(nocmd.buf); - nocmd.cmd = 0; - - tmp = read(pfd[0],&nocmd,sizeof(nocmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n",tmp,nocmd.cmd,nocmd.buf); - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre14/util/README b/software/cinit/browse_source/cinit-0.3pre14/util/README deleted file mode 100644 index f66e0ddb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/util/README +++ /dev/null @@ -1,4 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre14/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre14/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre14/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre14/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre14/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre14/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre14/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/ b/software/cinit/browse_source/cinit-0.3pre15/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre15/.ditz-config b/software/cinit/browse_source/cinit-0.3pre15/.ditz-config deleted file mode 100644 index e831e23d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/.ditz-config +++ /dev/null @@ -1,4 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/config -name: Nico Schottelius -email: nico@ikn.schottelius.org -issue_dir: bugs diff --git a/software/cinit/browse_source/cinit-0.3pre15/.gitignore b/software/cinit/browse_source/cinit-0.3pre15/.gitignore deleted file mode 100644 index 08ec3283..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -*.o -*.a -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -*.html -*.htm -*.man -*.texi -*.texi -*.docbook -src/halt.kill -src/poweroff.kill -src/reboot.kill -doc/man/*.[0-9] -doc/man/*.xml -src/cmd -.*.swp -.exclude -src/.configured -src/cinit.halt -src/cinit.poweroff -src/cinit.reboot diff --git a/software/cinit/browse_source/cinit-0.3pre15/COPYING b/software/cinit/browse_source/cinit-0.3pre15/COPYING deleted file mode 100644 index 94a9ed02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/COPYING +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/software/cinit/browse_source/cinit-0.3pre15/CREDITS b/software/cinit/browse_source/cinit-0.3pre15/CREDITS deleted file mode 100644 index febdcf4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/CREDITS +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: ls -l) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding -Tonnerre Lombard - * NetBSD support (host + hints) diff --git a/software/cinit/browse_source/cinit-0.3pre15/Makefile b/software/cinit/browse_source/cinit-0.3pre15/Makefile deleted file mode 100644 index 3866bf5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/Makefile +++ /dev/null @@ -1,128 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation -dev-all: all sizecheck - -install clean dist distclean: - @for subdir in ${CDIRS}; do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && ${MAKE} ${MAKEFLAGS} $@) || break; \ - done; - -.PHONY: sources -sources: - ${MAKE} -C src all - -.PHONY: documentation -documentation: - ${MAKE} -C doc documentation - -sizecheck: sources - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $$FILE; cat $$FILE; \ - cg-add $$FILE - cg-commit $$FILE -m "Size added" - #cg-commit $$FILE -m "Size: $$(awk '{ print $5 }' $$FILE)" - -source-size: clean - @echo -n "Source size (in KiB): " - @du -s src/ | awk '{ sum+=$$1 } END { print sum }' - - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - - -################################################################################ -# Tests -# -tests: - # does not work, due getting killed, due to design :-) - #./scripts/internal/compile_run_as_compiler.sh - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -DEBIAN=lenny -UMLDIR=test/uml -CONFDIR=etc/cinit/ - -uml-install-debian: - mkdir -p $(UMLDIR) - sudo /usr/sbin/debootstrap $(DEBIAN) $(UMLDIR) - me=$$(whoami); sudo chown -R $$me $(UMLDIR) - -# only install binaries, no need to test documentation -uml-install-config: - rsync -av --delete ./$(CONFDIR) $(UMLDIR)/$(CONFDIR) - -uml-install-cinit: - dir=$$(cd $(UMLDIR); pwd -P); make -C src DESTDIR=$$dir install - -uml-run: uml-install-config - dir=$$(cd $(UMLDIR); pwd -P); linux root=/dev/root rootflags=$$dir rootfstype=hostfs init=/sbin/cinit - -uml-run-sysv: - dir=$$(cd $(UMLDIR); pwd -P); linux root=/dev/root rootflags=$$dir rootfstype=hostfs - -# debian-etch -de-install: - rsync -av --delete ./ root@de:cinit - rsync -av --delete ./etc/cinit/ root@de:/etc/cinit - ssh root@de '(cd cinit; make clean install)' - -de-run: - ssh root@de reboot - -UBUNTUHOST=cinit@192.168.122.2 -UBUNTUCONF=./etc/cinit-ubuntu -UBUNTUINSTALL="cd cinit && make clean && sudo make install" -UBUNTUTEST="sudo reboot" -ubuntu-install: - rsync -av --delete ./ $(UBUNTUHOST):cinit -# rsync -av --delete ./$(UBUNTUCONF) $(UBUNTUHOST):/etc/cinit - ssh "$(UBUNTUHOST)" $(UBUNTUINSTALL) - -ubuntu-test: ubuntu-install - ssh "$(UBUNTUHOST)" $(UBUNTUTEST) - -################################################################################ -# -# Developer targets -# - -release: ./scripts/internal/cinit.release - ./scripts/internal/cinit.release now - -scripts/internal/cinit.release: ./scripts/internal/test-cmd.sh - ./scripts/internal/test-cmd.sh - -cinitconfconfdir=../cinit-conf/conf -sync-conf: - rsync --delete -av ./conf/ $(cinitconfconfdir) - cd $(cinitconfconfdir); git add .; git commit -m "sync with cinit/conf" - diff --git a/software/cinit/browse_source/cinit-0.3pre15/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre15/NEXTTODO deleted file mode 100644 index 401f8dc9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/NEXTTODO +++ /dev/null @@ -1,42 +0,0 @@ --------------------------------------------------------------------------------- -- Add service start/stop to cinit - cinit_svc_disable.c - --------------------------------------------------------------------------------- -- svc_stop_wait() - => calls svc_stop() and waits until the process - is finished - => pay attention for child handler! - => wait for that specific PID! - => use global lock? -- answer_svc_stop(char *svc, int method) - => is called by the IPC methods - => checks whether the service exists - => returns the status of the service (NOT_EXISTS or - the new one) - => calls svc_stop_wait(), which returns - => method = - o including needed_by - o including wanted_by - o including needed_by and wanted_by - o only the service - -- cinit blocking while shutting down - => not good! - => only needed when being in ipc! - => otherwise tree_stop() catches that again. -- -- Documentate off exit codes: - * 0: successfully stopped - * 1: internal error: service status unknown - * 2: ...? - -Done for pre14: -- svc_stop() - => stops an existing service - => sets status - => calls "off" -- svc_stop_deps() => takes care about dependencies - -- Add comment about path_absolute in manpage of cmd => requires the directory - to be there. diff --git a/software/cinit/browse_source/cinit-0.3pre15/PLAN-2009 b/software/cinit/browse_source/cinit-0.3pre15/PLAN-2009 deleted file mode 100644 index b4022532..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/PLAN-2009 +++ /dev/null @@ -1,12 +0,0 @@ -1. get the situation -2. fix the problems -3. release 0.3 --------------------------------------------------------------------------------- -1. - - SIGCHLD not handled carefully - - service status changing not supported - - shutdown needs to be checked - - documentation is a mess --------------------------------------------------------------------------------- -2. began to cleanup child handler - - test on linux and freebsd diff --git a/software/cinit/browse_source/cinit-0.3pre15/README b/software/cinit/browse_source/cinit-0.3pre15/README deleted file mode 100644 index 00f2651b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/README +++ /dev/null @@ -1,106 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Unix -- true dependencies (soft and hard!) -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -FIXME: Add mailing list here - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre15/ROADMAP b/software/cinit/browse_source/cinit-0.3pre15/ROADMAP deleted file mode 100644 index 0bf98337..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/ROADMAP +++ /dev/null @@ -1,115 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit [DONE] - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree [DONE] - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers [DONE] - code: cleanup makefile [DONE] - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. [DONE] - code: add special directory (/etc/cinit/conf?) for non-services [DONE] - code: move production code to src/ [DONE] - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory [DONE] - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) [DONE] - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre15/TODO b/software/cinit/browse_source/cinit-0.3pre15/TODO deleted file mode 100644 index 44bce2bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/TODO +++ /dev/null @@ -1,277 +0,0 @@ -svc_stop vs. svc_disable: coded tired? - - --------------------------------------------------------------------------------- -- define service status in one document, so repeatition stops! --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary --------------------------------------------------------------------------------- -- add code do implement stopping / restarting with dependency tree --------------------------------------------------------------------------------- -# cinit.create.empty.service: can only be started from the bin directory - -- Fix Switching services off !! -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren - -- on.out, on.err, on.in? - -> reading/writing from/to files - -- implement "no_kill" until cinit-0.2 or 0.3? - - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) --------------------------------------------------------------------------------- -Helper scripts, rausgenommen aus Der Doku, muessen fuer -cinit-0.3 ueberprueft werden: - -Configure help scripts -~~~~~~~~~~~~~~~~~~~~~~ -cinit-conf later -Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - - Configuring - * add scripts! see below - - define coding guidelines -> general, with url? - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? - -Documentation -------------- - -developer -~~~~~~~~~ -- ST_IN_LIST == startup marker, used to (NOT) insert services into startup -- dep_needs_wants_add is used to add dependencies of a service to the general - starter list - - -user ----- -- do we really need swapoff? remove umount, swapoff! - * to services! - -> they have to do it! -- dependencies with leading '.' (dot) are ignored. -- about cinit-configuration structure - * cconfig - * svc/ - * special/ (or however we called it) - - panic - - halt - - poweroff - - reboot - --------------------------------------------------------------------------------- -FAQ -~~~ -- DOKU: what happens when a service does not terminate.... - und er als once drin ist ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! - -- multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - --------------------------------------------------------------------------------- -csvc: -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -cinit: -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! - -Child handlin -~~~~~~~~~~~~~g -- free() everything before starting child - -Later -~~~~~ -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? - -> yep, clean environment! -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -- Doc - * main.text -> cleanup / remove / split - * config-dirs - * FAQ - * ideas - * meta.dependencies - - config/hints/meta depps - * optimising - - integrate into other - * README.text - - update - * replacing.init - - update / integrate - * special-services.text - - into configuring/hints? - * TODO - - into paths, if necessary - * updating.cinit - - update as soon as update is possible? - * using.rescue - - update as soon as update is possible? - * 'os-integration.text' - * 'daemons.backgrounding' - * There are some hints on how to migrate to cinit in general and also - some os specific help in the file 'migrating-init-systems.text', -- CODECHECK: - * what happens with the wants of the last services? - - are they added? - - are they added at the correct position? -- scripts - * `cinit.check.config` (doc/user/configuring.cinit.text) - -> circular depedencies! -- Doc.next: - - installing: report! - -> write report script. -- Doc later - * current-init-problems.text - - current-init-problems.text explains why cinit does not use nor recommends the use of shell scripts. - * special-services.text - -- Begin documentation - * Check Makefile - * Integrate Makefile into main Makefile - * create manpage - * Write a small manual - - install - - configure - - boot (different OS) - * generate asciidoc! -- Doc way: - * installing - * configuring - - testconfig! - * booting - - different OS / bootloader - * debugging -- Shutdomn code: - * begin at init, then shutdown wants/needs, ... -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- replace cinit_ipc_logon with cinit_ipc_init... - * delay ipc code -> after start! - -- Cleanup / create object lists - object-lists/ - cinit - cservice - ccontrol - cinit.halt - cinit.reboot - cinit.shutdown (shell script?!?) - - -TODO.pre9: - - Done: - - pfad korrigieren (home/..../ -> cinit.release) - - cg-add nicht aufrufen beim make all! -ser/nico/oeffentlich/computer/projekte/cinit/cinit-0.3pre8/doc' -FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $FILE; cat $FILE; \ - cg-add $FILE --rwx------ 1 nico nico 72601 2007-04-06 17:52 src/cinit -There is no GIT repository here (.git not found) -make: *** [sizecheck] Fehler 1 - - setup VM for testing: qemu/kvm/virtualbox (no commercial bloaty) - -> uml! - - sleep when respawnig! - -> static delay of five seconds - do_reboot.c: - is ipc closed? -> check! => done! - - ignore msgrcv: Interrupted system call -Session terminated, killing shell...msgq-destroy: Invalid argument -msgq-destroy: Invalid argument - - do not print an error if /etc/cinit/conf/last is non-existent! - => print it. Do not not print it, as this can aid debugging. - include locking via shm, remove test on pid1 - => not necessary imho currently - - -TODO.pre11: - Remove some debugging, re-introduce DEBUG() macro.. - Fix doc: - - make dist should cleanup cc / ld to sane values? - or do I experiement in tmp/*? - - http://linux.schottelius.org/cinit/browse_source/current/doc/user/config-dirs - conf/c_halt - - IPC: - * check msqg-code - * documentate the ipc functions: update devel/ipc.text - * check cinit_read_command() (devel/ipc.h) - - do_reboot.c: - write cinit_svc_shutdown - - implement do_reboot() - * so not only booting with cinit works, but also the shutdown - - write libcinit for use in cmd() - - find out why gettimeofday() and time() do strange things when called in SIG_CHLD - => bug opened in glibc, got to code testprogram - - write cinit.conf.check - * report broken links in needs/wants - * report circular dependencies - - pretty print, reporting is ugly! - Add handler for ctrl+alt+delete - * document in paths - * check whether there's an os-unspecific way to do that - cleanup bin/ - - write sys-v-init-shutdown-wrapper - * shutdown - * halt - * reboot - * poweroff - - write manpages for - - *.kill - - cmd - - install: - make install => does not overwrite critical targets - * cinit - * *.kill (see client/*) - * cmd - make force-install => overwrites /sbin/{halt,poweroff,reboot}? - => with script that wraps cmd - make install-template: - * creates categories - make install-miniconf: - * creates categories - * creates one service starting a shell (depending on the OS!) diff --git a/software/cinit/browse_source/cinit-0.3pre15/TODO.doc b/software/cinit/browse_source/cinit-0.3pre15/TODO.doc deleted file mode 100644 index 962c7b5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/TODO.doc +++ /dev/null @@ -1,16 +0,0 @@ -caveats -------- -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- cinit ignores the Keyboard request -- Currently there is no support to react on 'ctr+alt+del': -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - diff --git a/software/cinit/browse_source/cinit-0.3pre15/bin/cinit.reboot.sh b/software/cinit/browse_source/cinit-0.3pre15/bin/cinit.reboot.sh deleted file mode 100755 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/bin/cinit.reboot.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre15/bin/cinit.shutdown.sh b/software/cinit/browse_source/cinit-0.3pre15/bin/cinit.shutdown.sh deleted file mode 100755 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/bin/cinit.shutdown.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre15/bin/cinit.wait.for.daemon.sh b/software/cinit/browse_source/cinit-0.3pre15/bin/cinit.wait.for.daemon.sh deleted file mode 100755 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/bin/cinit.wait.for.daemon.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre15/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml b/software/cinit/browse_source/cinit-0.3pre15/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml deleted file mode 100644 index d815cbd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "Documentate: How to cross compile" -desc: |- - conf/os to destination os - conf/cc - conf/ld - conf/cflags - conf/ldflags -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-07 06:31:53.866741 Z -references: [] - -id: 25822475f5d01c35eb9edd8d75c065c83032701b -log_events: -- - 2009-09-07 06:31:54.990478 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre15/bugs/project.yaml b/software/cinit/browse_source/cinit-0.3pre15/bugs/project.yaml deleted file mode 100644 index 2e4b4c93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/bugs/project.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/project -name: cinit -version: "0.5" -components: -- !ditz.rubyforge.org,2008-03-06/component - name: cinit -- !ditz.rubyforge.org,2008-03-06/component - name: core -- !ditz.rubyforge.org,2008-03-06/component - name: user interface -- !ditz.rubyforge.org,2008-03-06/component - name: portability -- !ditz.rubyforge.org,2008-03-06/component - name: documentation -releases: -- !ditz.rubyforge.org,2008-03-06/release - name: "0.3" - status: :unreleased - release_time: - log_events: - - - 2009-09-07 06:28:02.974644 Z - - Nico Schottelius - - created - - The first cleaned up version -- !ditz.rubyforge.org,2008-03-06/release - name: future - status: :unreleased - release_time: - log_events: - - - 2009-09-07 06:29:14.264777 Z - - Nico Schottelius - - created - - All things to be fixed in the future. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/.README b/software/cinit/browse_source/cinit-0.3pre15/conf/.README deleted file mode 100644 index c4d984c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/.README +++ /dev/null @@ -1,7 +0,0 @@ -This is an example for a cinit and cinit-conf configuration. - -The first line of a file contains the configuration value, -the rest of the file may contain a description. - -The conf/ directory is shared by cinit and cinit-conf and may contain files that -are only relevant for one of the two projects. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre15/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre15/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_desaster b/software/cinit/browse_source/cinit-0.3pre15/conf/c_desaster deleted file mode 100644 index 153a63cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_desaster +++ /dev/null @@ -1,5 +0,0 @@ -/bin/sh - -The path to a program, that we execute if nothing -else helps. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_env b/software/cinit/browse_source/cinit-0.3pre15/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_init b/software/cinit/browse_source/cinit-0.3pre15/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_last b/software/cinit/browse_source/cinit-0.3pre15/conf/c_last deleted file mode 100644 index 8debf155..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_last +++ /dev/null @@ -1,7 +0,0 @@ -last - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -This maybe a shellscript with the OS-specific umount procedure (like umount -a), -see doc/user/configuring.cinit for more details. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre15/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_off b/software/cinit/browse_source/cinit-0.3pre15/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_on b/software/cinit/browse_source/cinit-0.3pre15/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre15/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_params b/software/cinit/browse_source/cinit-0.3pre15/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre15/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre15/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre15/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre15/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre15/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre15/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/cc b/software/cinit/browse_source/cinit-0.3pre15/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/cflags b/software/cinit/browse_source/cinit-0.3pre15/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre15/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/cinitconfdir b/software/cinit/browse_source/cinit-0.3pre15/conf/cinitconfdir deleted file mode 100644 index 9dc3b52b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/cinitconfdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -General cinit-configuration (below cinitdir) diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/destdir b/software/cinit/browse_source/cinit-0.3pre15/conf/destdir deleted file mode 100644 index 3326ace6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/destdir +++ /dev/null @@ -1,6 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. - -cinit-conf uses this file for installing the configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/gettydir b/software/cinit/browse_source/cinit-0.3pre15/conf/gettydir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/gettydir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre15/conf/install_directory deleted file mode 100644 index 80cab694..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to pass to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre15/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre15/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/ld b/software/cinit/browse_source/cinit-0.3pre15/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre15/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre15/conf/max_delay deleted file mode 100644 index 30725bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/max_delay +++ /dev/null @@ -1,4 +0,0 @@ -30 - -Maximum number of seconds to sleep between retrying to start it -(respawn only). diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre15/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre15/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre15/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre15/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/os b/software/cinit/browse_source/cinit-0.3pre15/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre15/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre15/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre15/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/prefix b/software/cinit/browse_source/cinit-0.3pre15/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/profile b/software/cinit/browse_source/cinit-0.3pre15/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre15/conf/service_categories deleted file mode 100644 index 2216ea97..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/service_categories +++ /dev/null @@ -1,7 +0,0 @@ -getty init local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. - -Btw, 'init' is the first service and has always to be there, but it does not really -fit into here, because it's a real one, compraed to the pseudo services. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre15/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/strip b/software/cinit/browse_source/cinit-0.3pre15/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre15/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf/version b/software/cinit/browse_source/cinit-0.3pre15/conf/version deleted file mode 100644 index 78545521..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre15" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre15/conf2/README b/software/cinit/browse_source/cinit-0.3pre15/conf2/README deleted file mode 100644 index c753107d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/conf2/README +++ /dev/null @@ -1,33 +0,0 @@ -Migrate conf/ to general conf/-buildsystem (write documentation for it). - -gpm2 may be an example for this! - -conf/targets: - targets to make available in Makefile and their dependencies - - abstract the build-process somehow, so one can create build-targets? - - c-programs/ (includes cc / ld) - cinit (link to conf/object_listings cinit?) -conf/object_listings - lists of dependencies: - conf/object_listings/cinit contains all objects needed for cinit - -conf/programs/ - like cc, ld, install, ... - -conf/built-options/ - like --... in ./configure - -conf/install/ - - options/ - destdir (prefixed before everything) - prefix (standard prefix) - bin (relative to prefix, if not beginning with a /) - sbin (relative to prefix, if not beginning with a /) - lib (relative to prefix, if not beginning with a /) - targets/ - cinit/ - built-target (link to conf/targets/cinit) - destination (relative to diff --git a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/Makefile deleted file mode 100644 index 23cc41f0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o usage.o mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/cconfig.graph.xml.rb deleted file mode 100755 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/cinit-vis.pl deleted file mode 100755 index 4a439fc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/svc/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/cinit.graph.text.c deleted file mode 100644 index 5e5316ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -//#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.graph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.graph.text - textual representatio of the cinit directory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.graph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/cinit.h b/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/cinit.h deleted file mode 100644 index cbde3195..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/cinit.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Dummy header file to intgrate mini_printf and usage - */ - -#ifndef CINIT_DUMMY_HEADER -#define CINIT_DUMMY_HEADER - -void usage(char *banner, char *text); -void mini_printf(char *str,int fd); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100755 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/mini_printf.c deleted file mode 120000 index 3e9a596c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/mini_printf.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/mini_printf.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/usage.c b/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/usage.c deleted file mode 120000 index c26691ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/contrib+tools/usage.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/usage.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre15/doc/.buildwarn deleted file mode 100644 index 41183a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/.buildwarn +++ /dev/null @@ -1,24 +0,0 @@ - -Welcome to the cinit -******************** - -Hints: ------- - - Settings can be found in conf/* (also used for compiling) - - Cinit configuration is normally found in /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text BEFORE installing. - -Building cinit --------------- - - "make all" - to build cinit - "make install" - to install cinit, documentation and core tools - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre15/doc/Makefile deleted file mode 100644 index 0daac842..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -A2X=a2x -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text man/halt.kill.text man/poweroff.kill.text \ - man/reboot.kill.text man/cmd.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DEVELDOCS = devel/codingguideline.text -DOCS = $(MANDOCS) $(USERDOCS) $(DEVELDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -#TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpages" - @echo "pdf: only generate pdfs (requires: fop)" - -install: $(DOC_ALL) - @echo "===> Copy " man/*.[0-9] "to the correct manpaths" - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -#%.man: %.mandocbook -# ${DOCBOOKTOMAN} --to-stdout $< > $@ - -%.man: %.text - ${A2X} -f manpage $< - -%.pdf: %.text - ${A2X} -f pdf $< - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - rm -f man/*.texi man/*.xml man/*.[0-9] - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/README.text b/software/cinit/browse_source/cinit-0.3pre15/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/Changelog b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/TODO.lucky b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/TODO.lucky deleted file mode 100644 index 3ac57ee5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/TODO.lucky +++ /dev/null @@ -1,16 +0,0 @@ -18:18 hey, ich hatte gerade ein wenig lust mich mit cinit zu befassen, hier also mein - kleiner bug-report: in src/include fehlt cinit.h, (alles auf das aktuelle - tarball bezogen), ich hab's aus pre9 genommen, hatte ich noch da, da git nicht - wollte(Cannot get remote repository information.), ausserdem hast du _ statt - - in doc/man/cinit.text verwendet bei der email, das mag docbook nicht, die - beiden zeilen habe ich korrigiert, danch ging schon mal make all und auch make - ins -18:35 und warum installiert er die man pages nicht mit? -07:20 so, kleiner zwischenbericht, das argv problem bei lvm gibt es mit pre10 nicht - mehr, d.h. dass man auch kein shell-skript mehr braucht um lvm/luks-devices zu - mounten :) -07:20 soweit sieht eig. alles gut aus -07:21 wenn das so bleibt, dann werd' ich dauerhaft auf cinit umsteigen :) -07:21 und wenn sich die gelegenheit bietet, dann stell ich cinit auch mal in der - info-ag von unserer schule vor :) - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/root-vm-testing b/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/root-vm-testing deleted file mode 100644 index a8773dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/root-vm-testing +++ /dev/null @@ -1,9 +0,0 @@ -[19:33] denkbrett:root% cat uml-mount.sh -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl - -denkbrett# tar cfj ~nico/projekte/cinit/conf-vm-2007-03-05.tar.bz2 cinit -denkbrett# chown -R nico cinit -denkbrett# chown nico ../sbin - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/shutdown.text deleted file mode 100644 index ac76425d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/shutdown.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} - * no, implemented that directly into cinit! -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process - * create mappers for target OS - - Linux - - {free,net,open}bsd - - others may contribute theirself -- also implement poweroff - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement halt - * kill -USR1 1 - - -The implementation ------------------ -x shutdown is initiated -x disable communication (nobody can influence us anymore) -x install special signal handler? - - no. we do not care about zombies anymore, we are gone soon anyway - - simply reset to the default -- begin to shutdown services - * where to start? - * begin shutdown at the end of the tree, viewing/sorting it by the 'needed_by' - -> where to begin sort? - -> worst implementation: scan all services (easy for now) - -> result: list of services, that noone needs :-) - * stop those services and step above - - stop a service, as soon as noone needs it anymore - * check all needed_by links - * more or less the inverted gen_svc_tree -- how to shutdown a service - * if existing, call off - - if off does not exist: - * if respawn: send sigterm to the process - * also implement sigkill at this stage? - - think we can delay it to the end - - otherwise users can use off! - - implement environment for off ($cinit_respawn_pid, $cinit_service_name) - - do *NOT* care about the return value, we can't do anything for it - anymore anyway -- after all services are shutdown, kill all remaining services - * SIGTERM - * wait(defined_time_in_seconds) - * SIGKILL -- call the last command - * to cleanup the system - - umount -a (if needed) - - swapoff (if needed) - - sync (if needed) -- switch off diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/sizes b/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/sizes deleted file mode 100644 index ddd30f75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/braindumps/sizes +++ /dev/null @@ -1,6 +0,0 @@ -sysvinit: -root 1 0.0 0.0 1944 648 ? Ss 02:12 0:00 init [2] - -cinit-0.3pre8-glibc-linux: -compiler 25323 0.0 0.0 1564 392 pts/2 S+ 20:22 0:00 ./cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/changes/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre15/doc/changes/0.3pre15 deleted file mode 100644 index bd197d02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/changes/0.3pre15 +++ /dev/null @@ -1,3 +0,0 @@ -Released: 2009-09-23 -Changes: - * Changed child handling (no function calls in sig_child handler anymore) diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/changes/00-before-0.3pre15 b/software/cinit/browse_source/cinit-0.3pre15/doc/changes/00-before-0.3pre15 deleted file mode 100644 index ce8f4b43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/changes/00-before-0.3pre15 +++ /dev/null @@ -1,108 +0,0 @@ -cinit-0.3pre14: 2008-03-17 - - Added test-suite for cmd - - Added support to shutdown services in cinit and cmd - (without needs and wants) - - Added linux-sysvinit wrapper for shutdown (See - scripts/wrapper/linux-sysvinit/shutdown) - - Rewrote most parts of cmd (to make it more beautiful) - - Changed license to GPL 3.0 - -cinit-0.3pre13: 2007-09-26 - - Added -V (get cmd version), -h (help), -p (get pid) to cmd - - Cleaned up namemsage in msgq.h - - Added global service lock - - Splitted of svc.h to svc.h, svc-intern.h and svc-messages.h - - Prepared logic splitoff from cinit_ipc_listen() - - Fixed bug: fork() has a general race condition - (see src/test/fork-latency.c) through use of global lock - -cinit-0.3pre12: 2007-09-06 - - Added DESTDIR support - - Added support to get service status via cmd: cmd -s - * also supports relative paths to CINIT_DIR ("/etc/cinit") - - Fixed git clone problem: hooks are needed for dumb git - - Fixed bug: We did not wait for services to finsh, which we depend on being - ran once. - -cinit-0.3pre11: 2007-09-01 - - Added basic communication: - * client binary "cmd" with argument -v returns cinit-version - - Updated {halt,reboot,poweroff}.kill - -cinit-0.3pre10: - - Fixed make install target - - Added halt.kill, poweroff.kill and reboot.kill (including manpages!) - - Fixed invalid comparision in core/cinit.c - - Be verbose: Print what we execute - - Updated documentation - -cinit-0.3pre9: 2007-05-15 - - Implemented sleeping before respawn (static delay) - - Report broken links on execution, but ignore empty services - - Cleaned up message queue error reporting - -cinit-0.3pre8: 2007-04-06 - - Updated and merged documentation: Codingstyle and Codingguide - - Cleaned sigaction-code (fixes segfault on glibc) - - Cleaned object listings - - Added notifications at shutdown - - Fixed status check - -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/Doxyfile b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/Doxyfile deleted file mode 100644 index d7de54af..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/Doxyfile +++ /dev/null @@ -1,305 +0,0 @@ -# Doxyfile 1.5.6 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = cinit -PROJECT_NUMBER = 0.3pre15 -OUTPUT_DIRECTORY = /home/user/nico/oeffentlich/computer/projekte/cinit/doxygen -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = YES -STRIP_FROM_PATH = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = NO -QT_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = NO -INHERIT_DOCS = YES -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 3 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO -OPTIMIZE_FOR_FORTRAN = NO -OPTIMIZE_OUTPUT_VHDL = NO -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -SIP_SUPPORT = NO -IDL_PROPERTY_SUPPORT = YES -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -TYPEDEF_HIDES_STRUCT = NO -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = YES -EXTRACT_PRIVATE = YES -EXTRACT_STATIC = YES -EXTRACT_LOCAL_CLASSES = YES -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = YES -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = YES -SORT_BRIEF_DOCS = NO -SORT_GROUP_NAMES = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = YES -SHOW_DIRECTORIES = NO -SHOW_FILES = YES -SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.f90 \ - *.f \ - *.vhd \ - *.vhdl \ - *.C \ - *.CC \ - *.C++ \ - *.II \ - *.I++ \ - *.H \ - *.HH \ - *.H++ \ - *.CS \ - *.PHP \ - *.PHP3 \ - *.M \ - *.MM \ - *.PY \ - *.F90 \ - *.F \ - *.VHD \ - *.VHDL -RECURSIVE = YES -EXCLUDE = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src/ancient/ \ - /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src/test/ -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = YES -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = YES -REFERENCES_RELATION = YES -REFERENCES_LINK_SOURCE = YES -USE_HTAGS = NO -VERBATIM_HEADERS = YES -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = YES -GENERATE_HTMLHELP = NO -GENERATE_DOCSET = NO -DOCSET_FEEDNAME = "Doxygen generated docs" -DOCSET_BUNDLE_ID = org.doxygen.Project -HTML_DYNAMIC_SECTIONS = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -CHM_INDEX_ENCODING = -BINARY_TOC = NO -TOC_EXPAND = NO -DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = NONE -TREEVIEW_WIDTH = 250 -FORMULA_FONTSIZE = 10 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = YES -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = YES -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = NO -MSCGEN_PATH = -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = YES -DOT_FONTNAME = FreeSans -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 1000 -DOT_TRANSPARENT = YES -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = NO diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/cinit-status-translation.dia b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/cinit-status-translation.dia deleted file mode 100644 index 55935dd0..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/cinit-status-translation.dia and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/cinit-status-translation.png b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/cinit-status-translation.png deleted file mode 100644 index 6bafa119..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/cinit-status-translation.png and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/codingguideline.text b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/codingguideline.text deleted file mode 100644 index d4686d8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/codingguideline.text +++ /dev/null @@ -1,149 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. -Indent variable names, so the names begin all at the same position. -Use three spaces to place them. - - -Whitespaces ------------ -Where to put or avoid whitespaces (space or linefeed (lf)). - - -Spaces -~~~~~~ -- After closing brace "if(test) return 0;" -- Spaces before and after '=', '>', '<', '==', '!='', '>=', '<=', '>>', '<<', '&', '&&', '|', '||' -- After start of comment and before end of comment: '/* text */' - - - After ')', ',' - -No spaces -~~~~~~~~~ -- Within braces and code "(!test)", -- Before braces "if(code)" -- No space before ), so if '))', do not put a space after the first ')' - - -Linebreaks -~~~~~~~~~~ -This somehow includes the setting of braces (indirectly through (not) setting -spaces. - -If -^^ - -Put the if, the braces and the opening curly brace on one line, -put the closing one together with `else` and the new opening -curly brace on one line: - ------------------------------------------------------------------------------- -if(...) { - /* code */ -} else { - /* else: code */ -} ------------------------------------------------------------------------------- - -While -^^^^^ ------------------------------------------------------------------------------- -while(condition) { - /* repeat */ -} ------------------------------------------------------------------------------- - -Do-While -^^^^^^^^ ------------------------------------------------------------------------------- -do { - /* something */ -} while(running); ------------------------------------------------------------------------------- - -Switch -^^^^^^ - ------------------------------------------------------------------------------- -switch(value) { - case DO_SOMETHING: - /* code */ - break; - default: - break; -} ------------------------------------------------------------------------------- - - - -Where to put curly braces -------------------------- - -Functions -~~~~~~~~~ -Opening and closing curly braces are placed on a seperate row: - ------------------------------------------------------------------------------- -int func(int params) -{ - body -} ------------------------------------------------------------------------------- - - -If, else, while, do-while -~~~~~~~~~~~~~~~~~~~~~~~~~ -See above. - - -Comments ---------- -where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - -If there is more than one line containing a comment, try to adjust them -so they look the same in width and position: - ------------------------------------------------------------------------------- - int illuminati = 23; /* do not want to comment that */ - int the_answer_to_everything = 42; /* 42. */ - - [...] - - while(illuminati < the_answer_to_everything) { /* only try before them */ - overtake_world(&self); /* overtake is complex */ - } ------------------------------------------------------------------------------- - - -Header -------- -Put a header into each file, containing: - - - Date of file being put into existence (year is enough) - - Name and e-mail (obfuscated if you want) of the author(s) - - Description of the function - - Copyright statement (if not included GPLv2 or later is assumed) - - -Includes -~~~~~~~~ -Include system headers first, then place own headers. Comment the includes, -wherefore you added them. Example: - ------------------------------------------------------------------------------- -#include /* write */ -#include "cinit.h> /* cinit_ipc_* */ ------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/communication.text deleted file mode 100644 index 64ea30cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/communication.text +++ /dev/null @@ -1,248 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - - -Numbers -~~~~~~~ -Can be found in include/cinit.h. - - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -Can't use a structure, were missing the point that we cannot transfer dynamic -length strings. Thus the protocol consists of: - - client(int) => cinit - cinit(ini) => client - => after that follows command specific data - -The byte order is host specific (may be little or big endian). - -STRUCTURE WITH STATIC SIZE. MSGRCV! -IPC LAYER CREATES TRANSPORT! - -Type -~~~~ -Messages are binary data. - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: What's the status of service XYZ? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Code, length of service name, the service name (without \0). -int, int, char[]; - - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/ipc.text deleted file mode 100644 index e57ac039..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/ipc.text +++ /dev/null @@ -1,169 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - -Abstraction layer: cinit_ipc_* ------------------------------- -You can choose or even reimplement ipc code for cinit. You only have to create -a directory below src/ipc/ and create the following necessary functions: - -int cinit_ipc_init(void); -~~~~~~~~~~~~~~~~~~~~~~~~~ -Initialise the IPC functions in cinit. - - -int cinit_ipc_listen(void); -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Never ending looping function that listens for commands and passes the -retrieved command to read_command(). - -other -~~~~~~ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - - -cinit_get_data(int ident, int size, void *data) => read size bytes from client -with ident - -/***************************************************************************** - * Functions: in clients - */ - int cinit_ipc_logon(void); /* logon to init (client init) */ - int cinit_ipc_connect(void); /* connect to init */ - int cinit_ipc_csend(struct cinit_message *data); /* send to the server from a client */ - - --------------------------------------------------------------------------------- -Messages: - - struct cinit_question qsn; - struct cinit_answer asr; - -question: - -answer: - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) - -> return 0 on ipc errors - --------------------------------------------------------------------------------- -enable / disable services: - - - send svc - - send flags - - - recv return: - CINIT_ASW_SVC_STOPPED: successfully stopped the service - - CINIT_ASW_SVC_ERR: failed to stop the service - CINIT_ASW_SVC_WANTS: wants failed - CINIT_ASW_SVC_NEEDS: needs failed - opt contains number of failed services - retriev them from cinit after that - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/testing-cinit-in-vm.text b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/testing-cinit-in-vm.text deleted file mode 100644 index 824b94c9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/testing-cinit-in-vm.text +++ /dev/null @@ -1,11 +0,0 @@ - -m = manually -a = automated - -m Install OS of your choice into KVM, including make, gcc, ssh and rsync -m Startup VM -a Transfer data to VM -a Compile cinit on VM -a Install cinit and configuration on VM -m Configure bootloader to add cinit as alternative choice -m Reboot and start cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre15/doc/devel/testing.text deleted file mode 100644 index 6ac0b6da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/devel/testing.text +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. - - - --------------------------------------------------------------------------------- -Using a raw (x86) hd image: -Access partition 1 via losetup: - -sudo losetup -o 32256 /dev/loop0 "$hierabs/debian-hd.img" -linux ubd0=/dev/loop0 init=/sbin/cinit "$@" - -Offset was taken from fdisk: - -[19:22] denkbrett:emu# fdisk -l -u /dev/sda - -Disk /dev/sda: 80.0 GB, 80026361856 bytes -255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors -Units = sectors of 1 * 512 = 512 bytes -Disk identifier: 0x1669c708 - - Device Boot Start End Blocks Id System -/dev/sda1 63 19535039 9767488+ 83 Linux -/dev/sda2 19535040 23438834 1951897+ 82 Linux swap / Solaris -/dev/sda3 23438835 156296384 66428775 83 Linux - -===> 63*512bytes spaeter beginnt sda1 - -[19:23] denkbrett:~% echo 512\*63 |bc -l -32256 - -Results in losetup -o 32256 /dev/loop0 ./debian-hd.img - -Scripts from the nsbin project (lo-*) can be used. -It can be found at http://unix.schottelius.org/cgi-bin/gitweb.cgi. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/gpl3-header b/software/cinit/browse_source/cinit-0.3pre15/doc/gpl3-header deleted file mode 100644 index 27f761be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/gpl3-header +++ /dev/null @@ -1,23 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * purpose_of_this_file_is_also_there_behind_the_big_header - * - */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre15/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre15/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre15/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre15/doc/man/cinit.text deleted file mode 100644 index 19d0015a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/man/cmd.text b/software/cinit/browse_source/cinit-0.3pre15/doc/man/cmd.text deleted file mode 100644 index b834fabf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/man/cmd.text +++ /dev/null @@ -1,89 +0,0 @@ -cmd(8) -====== -Nico Schottelius - - -NAME ----- -cmd - cinit management and information tool - - -SYNOPSIS --------- -'cmd' [-ed (i|w|n)] [-(p|s) ] [-v] - - -DESCRIPTION ------------ -cmd adds the management possibility to cinit(8). You can retrieve -several information from cinit and change services. - -OPTIONS -------- --d:: - Disable service (see below for required parameters) - (NOT YET IMPLEMENTED) - --e:: - Enable service - - i: Included all needs and wants - - n: Exclude needs - - w: Exclude wants - (NOT YET IMPLEMENTED) - --p:: - Retrieve last process id (pid) for the specific service. For respawn - services this is the pid of the running service. For services that are - started only once it is the pid it had when running. - (NOT YET IMPLEMENTED) - --s:: - Retrieve status of a service. Warning: Do not add trailing slash. - Path can be specified absolute (/etc/cinit/svc/mount/root) or - relative (mount/root). - --v:: - Get version of cinit. - --V:: - Get version of cmd. - - - -EXAMPLES --------- -Get version:: - [8:44] denkbrett:src# cmd -v - - Version of cinit: 0.3pre12 - -Get status:: - [8:37] denkbrett:src# ./cmd -s mount/root - - Status of /etc/cinit/svc/mount/root is: 2001 - - -EXIT STATUS ------------ -Cmd returns 0 on success, 1 on user errors, 2 on communication errors and -3 on unknown reason errors. - -BUGS ----- -Not everything is implemented. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License Version 3 (GPLv3). diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre15/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/man/halt.kill.text b/software/cinit/browse_source/cinit-0.3pre15/doc/man/halt.kill.text deleted file mode 100644 index 4a31e257..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/man/halt.kill.text +++ /dev/null @@ -1,46 +0,0 @@ -halt.kill(8) -============ -Nico Schottelius - - -NAME ----- -halt.kill - Halts systems running cinit through a kill call - -SYNOPSIS --------- -'halt.kill' - - -DESCRIPTION ------------ -You normally halt your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to halt -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute halt.kill, your system will be halted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/man/poweroff.kill.text b/software/cinit/browse_source/cinit-0.3pre15/doc/man/poweroff.kill.text deleted file mode 100644 index 62807ba1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/man/poweroff.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -poweroff.kill(8) -================ -Nico Schottelius - - -NAME ----- -poweroff.kill - Halts and powers off systems running cinit through a kill call - -SYNOPSIS --------- -'poweroff.kill' - - -DESCRIPTION ------------ -You normally poweroff your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to poweroff -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute poweroff.kill, your system will be - powered off. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), reboot.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/man/reboot.kill.text b/software/cinit/browse_source/cinit-0.3pre15/doc/man/reboot.kill.text deleted file mode 100644 index a748553e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/man/reboot.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -reboot.kill(8) -============== -Nico Schottelius - - -NAME ----- -reboot.kill - Reboots systems running cinit through a kill call - -SYNOPSIS --------- -'reboot.kill' - - -DESCRIPTION ------------ -You normally reboot your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to reboot -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute reboot.kill, your system will be - rebooted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), poweroff.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre11 b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre11 deleted file mode 100644 index ec532269..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre11 +++ /dev/null @@ -1,10 +0,0 @@ -Done: -- cleanup ipc: - merge cinit_ipc_logon() and cinit_ipc_connect()? - => already done! -- finish cmd in general, perhaps only including one command. -[18:51] denkbrett:src# LANG=C cp cinit /sbin/cinit -cp: cannot create regular file `/sbin/cinit': Text file busy - => mv & cp! - => documentation! - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre12 b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre12 deleted file mode 100644 index edbe41d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre12 +++ /dev/null @@ -1,41 +0,0 @@ -Wished release date: 6/7. September - --------------------------------------------------------------------------------- -Done: -- begin to write documentation about client functions - => noone needs that anyway. skip and concentrate on functions now. - -cleanup ipc! - where to call !cinit_ipc_logon and !cinit_ipc_connect? - --------------------------------------------------------------------------------- -Add -Hallo, - -Liebster Nico, wuerdest du die dazu durchringen "make install" und -vllt. sogar "make install-test" in die cinit 0.3er branch aufnehmen? - -vlg Lucky - ==> added make install in previous releases, make test maybe come back - later again. -- cleanup communication: - put parts of comm.h into cinit.h => global exposure - or define new structure in cinit.h? - => removed comm.h -- check svc path in cmd: if it's relative, add /etc/cinit/svc to it - => added. -- add update for git => so cloning does not fail! - => added hook. -Use http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html - => partly implemented - -- remove manual pid support, use the one supplied by msgctl() - => ok. -- there seems to be a race condition in the execution of the - dependency tree: it happens that services that depend on - mounted /proc, have needs on mount/proc are still exited - before /proc is mounted. - problem of cinit or of mount, exiting too early? - guess the first one, so fix it :-) - - => missing check in svc_needs_status.c diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre13 b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre13 deleted file mode 100644 index ff8d4296..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre13 +++ /dev/null @@ -1,19 +0,0 @@ -Wished released date: 10./11. September - --------------------------------------------------------------------------------- -Done: -- add get_svc_pid() -- cleanup msgq.h: namespace! -- cleanup cmd: add real usage, add -h for help -- cleanup cinit_ipc_logon()! [already done before] -- cleanup headers: ==> not yet needed. - seems to make more sense, to have more than one exposed header. - cinit.h gets to fast too big. so splitoff to: - /* main */ - /* ... */ -- create libcinit.a/so and link against it => not need right now. -- pre12 seems to have an IPC problem: Fix it. ==> problem with not finishing cinit startup -- global symbol to track the connection to cinit in the client - => cinit_ipc_cinit() - initalise ipc in the client (only once) - => not really our problem, client should be able to remember - whether she called us once or twice. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre13.race-condition b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre13.race-condition deleted file mode 100644 index 19bea29a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre13.race-condition +++ /dev/null @@ -1,12 +0,0 @@ -09:49 < telmich> is it possible, that if I fork() and call _exit(0) in the child, that the - _exit(0) is executed earlier than the fork() call returns in the parent? -09:49 < telmich> I'm having some race condition in cinit, where the pid is not yet updated in - the service structure, and the child exited before and thus cinit does not - update the service -09:49 < telmich> as being run -09:51 < telmich> rexy_: currently I'm thinking about implementing a lock before starting the - fork() -09:51 < telmich> rexy_: thus cinit will react differently, if the starting function is still - running -09:51 < telmich> rexy_: but I'm somehow confused, that fork() allows such race condition - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre14 b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre14 deleted file mode 100644 index e002d60c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre14 +++ /dev/null @@ -1,3 +0,0 @@ -Wished release date: 13. September -- add support for shutting down services - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre15 deleted file mode 100644 index 8f81446a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre15 +++ /dev/null @@ -1,62 +0,0 @@ -Wished release date: 20. September -- Add support for starting/stoping services via cmd - - add support for additional information (like which services stopped - when having dependencies) - - if cinit has to stop / start others, how to report? - - add strings to cinit internally to a buffer? - -> or struct cinit_answer + status - -- add support to enable services - -- create some boot profiles -- cinit.install.standard.dirs.argv -- code check: - * check needs: - really started, after started or after finished starting? - * wants: - are they checked? - -- fix devel/codingguideline.text! - -- perhaps merge svc_need_status to svc_status - -cinit-communication: - cinit_get_failed_needs(char *name, int *cnt); -- add support for shutting down services on halt -- cleanup msgq/cinit_ipc_listen.c -- move logic out of the child handler: - => use the new while()-loop in core/cinit.c! - - time() and co. are problematic in a child handler! - - introduce global list of services to execute - => perhaps reuse already existing dependency-list? - - tree_exec(): check whether adding something to the dep list hurts - => don't think so. - expand / change ipc handler: - make it return the message - move while() loop to core/cinit.c - - in the while loop, the global dependency list should - be empty. - - if it is not, we should start something. - - => chance cinit_ipc_listen() to use without while() loop - => export logic to core/cinit.c -- map status numbers to messages -- Cleanup doc/user/NEW_using_cinit_freebsd - => make a real document! -- write / update manpage for cmd! -- add sleep() support after service exited. - --------------------------------------------------------------------------------- -Done: -- add minimal test-suite: - cmd -s /etc/cinit/svc/init - cmd -p /etc/cinit/svc/init - cmd -v - cmd -V -- change to GPLv3? - => ask Markus (cinit), Killerfox (cconfig) and Peter (cconfig) diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre16 b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre16 deleted file mode 100644 index 16e6efb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre16 +++ /dev/null @@ -1,9 +0,0 @@ -Wished release date: 27. September -- check porting code: - * advise users to set conf/os - * add uname -r | tr ... as make osconfig -- check that all parts of cinit compile at least under: - * linux, linux on 64bit - * FreeBSD - * NetBSD -- cleanup output diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre17 b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre17 deleted file mode 100644 index 82976e37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre17 +++ /dev/null @@ -1,11 +0,0 @@ -Wished release date: 3. October - -"Code quality assurance release" - -- Fix bugs all outstanding bugs. -- Give cinit some time, write some documentation and make pre17 the last pre of the 0.3 - serie. -- Give the code out to other developers, request explicit strong critics - => So even - "This could be in theory, if Mars is behind Pluto on Sunday evening" bugs - are out. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre18 b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre18 deleted file mode 100644 index d02aac8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre18 +++ /dev/null @@ -1,3 +0,0 @@ -- add support to manually set status of a service: - cmd -s respawn, failed, once, ... -- make get status = -g diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre19 b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre19 deleted file mode 100644 index 2e4dfe15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.3pre19 +++ /dev/null @@ -1,4 +0,0 @@ -- enable fast shutdown: - - ignores services and jumps directly to conf/last -- enable ultrafast shutdown - - even skips conf/last diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.4 b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.4 deleted file mode 100644 index 3b772d4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.4 +++ /dev/null @@ -1,44 +0,0 @@ --------------------------------------------------------------------------------- -Clean service status messages: - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s --------------------------------------------------------------------------------- -16:13 < KillerFox> telmich: hast du eigentlich schon hooks in cinit? -20:07 < KillerFox> Vapier fĂ¼hrt mal wieder Selbstgespräche. -23:39 < telmich> KillerFox: wozu? -23:42 < KillerFox> telmich: es wäre durchaus interessant, um z.B. sterbende Prozesse wieder zu - starten und so. -23:42 < KillerFox> oder einen Hinweis per Mail zu verschicken. -23:43 < telmich> ahh, du meinst so benachrichtigungen von cinit an $prozess? -23:43 < KillerFox> jein -23:43 < KillerFox> du machst z.B. /etc/cinit/hooks/ -23:43 < KillerFox> darin gibts dann Scripte die bei bestimmten Ereignise aufgerufen werden. -23:43 < KillerFox> z.B. wenn ein Prozess stirbt -23:44 < KillerFox> du kannst dir natĂ¼rlich auch Ă¼berlegen, es auf Prozessebene herunter zu - hacken -23:44 < telmich> ja, eher letzeres -23:44 < KillerFox> so könnte man auch ein paar nette Sachen machen. z.B. Aufräumarbeiten - nachdem ein Prozess beendet wurde oder so -23:45 < KillerFox> telmich: ich finde beides Sinnvoller -23:45 < KillerFox> telmich: globale und lokale Hooks -23:45 < KillerFox> lokale Ă¼berschreiben globale oder so -23:45 < telmich> oder laufen beide -23:45 < KillerFox> oder man kaskadiert sie. -23:45 < KillerFox> genau -23:46 < KillerFox> sinnvolle hooks: pre-start, start, post-start, pre-stop, stop, post-stop, - crash -23:46 < KillerFox> oder sowas -23:47 < KillerFox> vielleicht fallen dir noch mehr ein. -23:48 < KillerFox> die Kommunikation könnte man dann wahlweise Ă¼ber Parameter oder - Umgebungsvariablen lösen -23:48 < KillerFox> um z.B. mitzuteilen welcher Prozess gestoppt wurde -23:49 < KillerFox> z.B. wenn man in pre-stop je nach Bedingung den Stop-Vorgang abbrechen will. -23:49 < telmich> via ${ipc} => kommt darauf an, was implementiert ist; zZ ist es ja msgq -23:50 < telmich> ahh, so -23:50 < telmich> das waere noch recht trivial ueber pipes -23:50 < KillerFox> fifos/sockets, was auch immer. -23:50 < KillerFox> das mĂ¼sste man dann mit einer Bibliothek lösen oder so -23:50 < telmich> ja, die ist auch im aufbau in libcinit/ - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.4.1 b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.4.1 deleted file mode 100644 index b0d7685d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/0.4.1 +++ /dev/null @@ -1,2 +0,0 @@ -- Generate automatic asciidoc from conf/* - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/long_list b/software/cinit/browse_source/cinit-0.3pre15/doc/todo/long_list deleted file mode 100644 index ec11f18d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/todo/long_list +++ /dev/null @@ -1,21 +0,0 @@ -Code ----- - -Performance -~~~~~~~~~~~ - -- Perhaps replace malloc for path with static buffer? - -Compatibility -~~~~~~~~~~~~~ -- create migration scripts - -Usage -~~~~~ -- Aid in debugging cinit-configuration (check without reboot) -- Integrate into OS package system - -Other -~~~~~ -- add log support to shm -- Check and clean doc/: Remove *TODO*+ROADMAP and leave behin doc/TODO (or ditz) diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre15/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre15/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/configuring.cinit.text deleted file mode 100644 index c04da745..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/configuring.cinit.text +++ /dev/null @@ -1,327 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - -The cinit configuration consists of -- a special configuration directory -- and the service definitions. - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - -Conf ----- -The special configuration directory is normally called `conf/` -(defined at compile-time in `conf/c_confdir`). - -For all executables into this directory apply the same rules as mentioned -below in "Execution: on and off": Appened .params specifies parameters, -appended .env specifies environment. - - -conf/last -~~~~~~~~~ -This is the last part that will be executed. After it has finished, cinit -will halt, power-off or reboot your machine. - -You can use it for whatever task to accomplish (as most things of cinit), but -the idea behind it is to use it for cleaning up things that are not covered -by the off parts of the services. This maybe swapoff (although this is an unecessary -call before poweroff, imho and even if needed this could be handled within the -off part of the same services that enabled it) or `umount -a` for everything -manually mounted and not unmounted yet. - - -conf/sleep_before_kill -~~~~~~~~~~~~~~~~~~~~~~ -This file contains just one line: The number of seconds to sleep after SIGTERM was sent -to every remaining process before sending SIGKILL to all processes. If this file -is unreadable or not existent, cinit will fall back to the value compiled in -(which was specified at build time in conf/sleep_kill). - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start). - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - - -Debugging the configuration ----------------------------- -Use `ls -lR /etc/cinit` or one of the tools found in contrib+tools/. - - -Examples --------- -Currently there are some example configurations available -at http://unix.schottelius.org/cinit/samples/cinit-0.3/, sorted -by host on which they are created. - -In near future, there will also be a file name configuration.example.text, -which will lead you to a sample configuration. - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/daemons.backgrounding.text deleted file mode 100644 index 5b61b91d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- dnsmasq [dhcp/tfpt/dns]: -k -- dovecot [imap/pop3 server]: -F -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- freeradius [radiusd]: -f -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openpbx [pbx]: -f -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre15/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/freebsd.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/freebsd.text deleted file mode 100644 index 05499166..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/freebsd.text +++ /dev/null @@ -1,21 +0,0 @@ -11:33 < mux> from sys/kern/init_main.c: -11:33 < telmich> mux: that's true; I just tried with linux and I tell the - bootloader, who tells the kernel then -11:33 < mux> static char init_path[MAXPATHLEN] = -11:33 < mux> #ifdef INIT_PATH __XSTRING(INIT_PATH); -11:33 < mux> #else -"/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall"; -11:33 < mux> #endif -11:33 < mux> but you give a loader tunable -11:34 < mux> if ((var = getenv("init_path")) != NULL) { -11:34 < mux> strlcpy(init_path, var, sizeof(init_path)); -11:34 < mux> freeenv(var); -11:34 < mux> } -11:34 < mux> here you are -11:34 < telmich> ahh, that's good -11:34 * telmich has to try cinit on freebsd the next days :-) -12:34 < mux> (s/you give/you can give/) -11:35 < mux> so, simply init_path)="/sbin/cinit" in /boot/loader.conf should do - it -11:35 < mux> minus the typo - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre15/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre15/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/problems-and-solutions.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/problems-and-solutions.text deleted file mode 100644 index 92cdd241..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/problems-and-solutions.text +++ /dev/null @@ -1,33 +0,0 @@ -cinit - Problems occured and solutions used -=========================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2007-05-28 -:Author Initials: NS - -This documentes describes real problems people had with -cinit and their appropriate solutions. Feel free to add -your problems and solutions here. - - -Introduction ------------- - - -Adding problems and solutions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Simply add your problem and solution and sign your paragraph -with your name. Then send the diff -u to the cinit mailinglist -or setup a git-repository so I can pull the changes. - - -Hibernate ---------- -uses /sbin/runlevel, which should *not* respond with 0 or 6 -as the second number. As cinit does not have /sbin/runlevel, -because cinit does not have any runlevels, you could hardcode -it to values hibernate accepts: - ----------------------------------------------------------------------- -#!/bin/sh -echo N 2 ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/problems.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/problems.text deleted file mode 100644 index 4fe8a315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/problems.text +++ /dev/null @@ -1,114 +0,0 @@ -Problems using cinit -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-24 -:Author Initials: NS - - -Using a high-speed, true dependency aware, profile supporting -logical acting and reliable init system like cinit is not -completly problem free. This document describes some common -problems you may have and their solutions. - - -Possible problems ------------------ - -Confused users -~~~~~~~~~~~~~~ -Compared to traditional init systems like sys-v-init or bsd-init -cinit introduces a complet new boot concept. This does not just -mean that you have services instead of shell-scripts (which is -one reason cinit is starting up faster), but also that the boot -order may be changed dynamically at bootup:, if a service fails. -And even if no service fails, the boot order may be different -on each boot, because processes are started in parallel and -may return earlier or later on each boot. To coordinate the -parallel running processes, cinit uses depencies, which are pretty -easy to understad when configurung, but may need some more -detailled watching at boot to understand it. - -The 'confused users'-problem is perhaps also the biggest -problem for introducing cinit as a replacement to current -init systems. - - -Configuration issues -~~~~~~~~~~~~~~~~~~~~ - -Not marking services as respawn -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When cinit starts, it will wait for every service to exit. -So if you have a dependency on a service -that never exits, the whole init process may hang (dependending -on the dependencies). If you have services that are intendet -*not* to exit after start, you *have* to mark those with -`respawn`: Those services are started and watched by cinit -and will be restarted. This was a design choice to ensure -that all 'always running' processes *are* restarted. - -I did not find any service that should not exit and not -have a respawn flag. If you really really really have such -a service and you can prove to me that the respawn flag -would do harm to your system, I will think about implementing -a flag that tells cinit not to wait for it, but mark it -as successfully run after it has been started. - -User interaction -~~~~~~~~~~~~~~~~ - -User input -~~~~~~~~~~ -There may be the situation that you have to press a key -or enter some data when a service starts up (like entering -the password for your crypto harddisks). With cinit, this -will look like a mess, because other services may write to -the same console the service wrote a user prompt. - -The best solution for this problem is in my humble -opinion to create an user-input daemon that serialises -the requests and displays one after another. - -This could look like this: Your daemon wants to ask for -a passphrase for the SSL-certificate. You add aa needs -to this daemon to the 'input-daemon'. When you -start this service, it will contact the input-daemon -running on another virtual console and displaying a text -and an input field that is passed back to this service. -After that the input daemon changes back to the initial -console or asks for the next input, if there is another -request available. - -This input daemon may also be run on a graphical (X11) display. -. -Output to the user -~~~~~~~~~~~~~~~~~~ -When cinit starts up there may be many messages printed -out that also may look like printed random order. -To prevent your endusers from being confused you can create -some kind of graphical interface (like a framebuffer -or X11 display) that reads the output of cinit and converts -it to flashing images. It could look like this: - ----------------------------------------------------------------------- - - Your (graphical?) display: - -------------------------------------------------------------- - | /-----------------\ | - | | Red border, | | - | | failed to start | | - | \-----------------/ | - | | - | /------ | - | | Green border, | - | image van | - | | - | | - | | - | | - | | - | | - -------------------------------------------------------------- - - ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre15/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/respawning-sleep.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/respawning-sleep.text deleted file mode 100644 index 24ed17e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/respawning-sleep.text +++ /dev/null @@ -1,52 +0,0 @@ -cinit - Respawning and sleeping -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-13 -:Author Initials: NS - - -How cinit sleeps, before a service is respawned. - -Introduction ------------- -When a service, that is configured to be respawning, exits cinit restarts it. -Because services may be broken and thus cinit would try to restart it many -times in a second, it is necessary to sleep between restarts. - -The big question: How to sleep? ------------------------------------- -The first possibility is to sleep a fixed amount of time between restarts: -For instance one second. This is not a good solution, because this waits -one unecessary second if the process just crashed. It may be too less, if -the service is really broken. - -The second possibility is to sleep a dynamic amount of time. - - -The next big question: How long to sleep? ------------------------------------------ -I think that as long as a service is broken we should not investigate to much -time into restarting it. So we can define a maximum amount of time to sleep -(for instance 30 seconds). The minimum amount of time to sleep is zero seconds. - -When the service is first started, the sleep time defaults to the minimum -amount of time. Each time the service is restarted, the sleep time is adjusted: - -sleep time (st) = Maximum sleep time (mst) / Time the process was running (tr) - -- If tr is < 1 it is adjusted to 1 and thus st is set to mst. -- If tr is > mst, st is set to 0. - - -How to force restart of a service? ----------------------------------- -Use cvsc (to be implemented). - - -Hom is it implemented? ----------------------- -Everytime cinit has to respawn a service it has to fork() itself. -The sleep call is implemented in the fork, so cinit itself does not have -to care about it. After the sleep time is over or the fork() recieves -SIGALARM it executes the real service. cinit itself records as start time -the current time plus sleep time. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre15/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre15/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre15/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre15/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/conf/last b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/conf/last deleted file mode 100755 index f722a251..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/conf/last +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -umount -a -sync -# report, there should be nothing left -ps axuwww -umount -a diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/conf/last.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/conf/last.params deleted file mode 100755 index ec169e3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/conf/last.params +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -echo "This is the last command executed" -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/conf/sleep_before_kill deleted file mode 100644 index 7ed6ff82..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/conf/sleep_before_kill +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/conf/sleep_before_kill.README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/conf/sleep_before_kill.README deleted file mode 100644 index e9d11095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/conf/sleep_before_kill.README +++ /dev/null @@ -1,2 +0,0 @@ -Test with 30 seconds sleep, that is really enough to see if it differs from -builtin 2 seconds. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/needs/proc b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/on.env b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/on.params deleted file mode 100644 index db1290b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty1 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/respawn b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/wants/hostname b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/1/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/needs/proc b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/on.env b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/on.params deleted file mode 100644 index bc8c9b28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty2 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/respawn b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/wants/hostname b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/2/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/needs/proc b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/on.env b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/on.params deleted file mode 100644 index 7efd5e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty3 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/respawn b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/wants/hostname b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/3/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/needs/proc b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/on.env b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/on.params deleted file mode 100644 index 47e2d7a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty4 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/respawn b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/wants/hostname b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/getty/4/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/acpid b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/acpid deleted file mode 120000 index 88098497..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/acpid +++ /dev/null @@ -1 +0,0 @@ -../../local-services/acpid \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/eth0.dhcp b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/eth0.dhcp deleted file mode 120000 index 8d2c9b8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/eth0.dhcp +++ /dev/null @@ -1 +0,0 @@ -../../network/eth0.dhcp \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/getty-2 b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/getty-2 deleted file mode 120000 index 92f3bf2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/getty-2 +++ /dev/null @@ -1 +0,0 @@ -../../getty/2 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/getty-3 b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/getty-3 deleted file mode 120000 index 9c0aeaed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/getty-3 +++ /dev/null @@ -1 +0,0 @@ -../../getty/3 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/getty-4 b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/getty-4 deleted file mode 120000 index 7b967eed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/getty-4 +++ /dev/null @@ -1 +0,0 @@ -../../getty/4 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/keyboard deleted file mode 120000 index c4488690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/loopback b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/loopback deleted file mode 120000 index 69fe6f89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/loopback +++ /dev/null @@ -1 +0,0 @@ -../../network/loopback \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/rescue-shell b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/rescue-shell deleted file mode 120000 index be06dd0a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/rescue-shell +++ /dev/null @@ -1 +0,0 @@ -../../rescue-shell \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/sysfs b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/sysfs deleted file mode 120000 index 67c524a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/needs/sysfs +++ /dev/null @@ -1 +0,0 @@ -../../mount/sysfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/on deleted file mode 120000 index 7bbf7ccd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/on +++ /dev/null @@ -1 +0,0 @@ -/bin/echo \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/on.params deleted file mode 100644 index 6e271318..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/on.params +++ /dev/null @@ -1 +0,0 @@ -*** cinit successfully started *** diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/wants/quiet-kernel b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/wants/quiet-kernel deleted file mode 120000 index 8da32e9b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/wants/quiet-kernel +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/quiet-kernel \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/wants/udev b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/wants/udev deleted file mode 120000 index 9dfe9879..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/init/wants/udev +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/udev \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/README deleted file mode 100644 index d5190e7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/README +++ /dev/null @@ -1 +0,0 @@ -Load acpi drivers before we are started. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/needs/acpi b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/needs/acpi deleted file mode 120000 index 888ba93b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/needs/acpi +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/drivers/acpi \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/needs/proc b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/needs/root b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/on deleted file mode 120000 index 43369f77..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/acpid \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/on.params deleted file mode 100644 index 105c5f3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/on.params +++ /dev/null @@ -1 +0,0 @@ --f diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/respawn b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/acpid/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/metalog/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/metalog/README deleted file mode 100644 index 628fab6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/metalog/README +++ /dev/null @@ -1,2 +0,0 @@ -Metalog is a smart syslogd replacement and it does not fork -normally. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/metalog/needs/root b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/metalog/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/metalog/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/metalog/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/metalog/on deleted file mode 120000 index 54fdda86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/metalog/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/metalog \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log deleted file mode 120000 index 515549d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-dev-log \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/needs/root b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/on deleted file mode 120000 index 099ec19b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/syslog-ng \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/on.params deleted file mode 100644 index ee1f6c5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/on.params +++ /dev/null @@ -1 +0,0 @@ --F diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/respawn b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-services/syslog-ng/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-dev-log/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-dev-log/README deleted file mode 100644 index dd8ef91c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-dev-log/README +++ /dev/null @@ -1,5 +0,0 @@ -Remove /dev/log from previous run, so syslog* (syslog-ng,metalog,syslogd) -can start. - -We're directly needed by the syslog variants, so if they are -not started, we are not started. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-dev-log/needs/root b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-dev-log/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-dev-log/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-dev-log/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-dev-log/on deleted file mode 120000 index 3530dc46..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-dev-log/on +++ /dev/null @@ -1 +0,0 @@ -/bin/rm \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-dev-log/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-dev-log/on.params deleted file mode 100644 index 6d8ffbb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-dev-log/on.params +++ /dev/null @@ -1,2 +0,0 @@ --f -/dev/log diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-mtab/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-mtab/README deleted file mode 100644 index 20ff9536..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-mtab/README +++ /dev/null @@ -1 +0,0 @@ -Remove the /etc/mtab, so it's in a clean state. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-mtab/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-mtab/on deleted file mode 120000 index 3530dc46..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-mtab/on +++ /dev/null @@ -1 +0,0 @@ -/bin/rm \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-mtab/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-mtab/on.params deleted file mode 100644 index fceff107..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/clean-mtab/on.params +++ /dev/null @@ -1,2 +0,0 @@ --f -/etc/mtab diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/README deleted file mode 100644 index fa12de87..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/README +++ /dev/null @@ -1 +0,0 @@ -Enable unicode on the Linux console. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/needs/proc b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/needs/udev b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/needs/udev deleted file mode 120000 index 45ebbd7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/needs/udev +++ /dev/null @@ -1 +0,0 @@ -../../udev/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/off b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/off deleted file mode 120000 index d1b3dabc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/off +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/unicode_stop \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/on deleted file mode 120000 index 1a8ea15c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/on +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/unicode_start \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/on.env b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/console-unicode/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params deleted file mode 100644 index 6999c48d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params +++ /dev/null @@ -1 +0,0 @@ -cpufreq_ondemand diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand deleted file mode 120000 index 8d465d25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand +++ /dev/null @@ -1 +0,0 @@ -../cpufreq_ondemand \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino deleted file mode 120000 index 7a81f768..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino +++ /dev/null @@ -1 +0,0 @@ -../speedstep-centrino \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs deleted file mode 120000 index abdd5e9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs +++ /dev/null @@ -1 +0,0 @@ -../../../mount/sysfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/on deleted file mode 100755 index 9ded0cc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/on +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params deleted file mode 100644 index b0daf284..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params +++ /dev/null @@ -1 +0,0 @@ -speedstep-centrino diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/crypto/aes/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/crypto/aes/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/crypto/aes/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/crypto/aes/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/crypto/aes/on.params deleted file mode 100644 index 9ccaeece..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/crypto/aes/on.params +++ /dev/null @@ -1 +0,0 @@ -aes diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/crypto/dm_crypt/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/crypto/dm_crypt/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/crypto/dm_crypt/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params deleted file mode 100644 index d2a85215..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params +++ /dev/null @@ -1 +0,0 @@ -dm_crypt diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ac/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ac/README deleted file mode 100644 index a8b1c282..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ac/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi ac information. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ac/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ac/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ac/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params deleted file mode 100644 index a9eb3bbf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params +++ /dev/null @@ -1 +0,0 @@ -ac diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/battery/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/battery/README deleted file mode 100644 index 448a4a0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/battery/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi battery information. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/battery/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/battery/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/battery/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params deleted file mode 100644 index 37ac71bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params +++ /dev/null @@ -1 +0,0 @@ -battery diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/button/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/button/README deleted file mode 100644 index bda85f4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/button/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi buttons. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/button/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/button/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/button/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params deleted file mode 100644 index ef3f216a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params +++ /dev/null @@ -1 +0,0 @@ -button diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/fan/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/fan/README deleted file mode 100644 index d9ad05c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/fan/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi fans. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/fan/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/fan/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/fan/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params deleted file mode 100644 index 6de1f525..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params +++ /dev/null @@ -1 +0,0 @@ -fan diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README deleted file mode 100644 index ff0f6f4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README +++ /dev/null @@ -1 +0,0 @@ -Extra functionality for my ibm t60. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params deleted file mode 100644 index 80916c68..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params +++ /dev/null @@ -1 +0,0 @@ -ibm_acpi diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac deleted file mode 120000 index 4d2aefc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac +++ /dev/null @@ -1 +0,0 @@ -../ac \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery deleted file mode 120000 index 990e6bcd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery +++ /dev/null @@ -1 +0,0 @@ -../battery \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/button b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/button deleted file mode 120000 index b99dcf7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/button +++ /dev/null @@ -1 +0,0 @@ -../button \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan deleted file mode 120000 index 7923f9b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan +++ /dev/null @@ -1 +0,0 @@ -../fan \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi deleted file mode 120000 index d32add47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi +++ /dev/null @@ -1 +0,0 @@ -../ibm_acpi \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal deleted file mode 120000 index f2d6718c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal +++ /dev/null @@ -1 +0,0 @@ -../thermal \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README deleted file mode 100644 index da0b9c13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi thermal information: temperature and fans. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params deleted file mode 100644 index a175d50f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params +++ /dev/null @@ -1 +0,0 @@ -thermal diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/eth0/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/eth0/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/eth0/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/eth0/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/eth0/on.params deleted file mode 100644 index 9f318065..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/drivers/eth0/on.params +++ /dev/null @@ -1 +0,0 @@ -e1000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/keyboard/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/keyboard/on deleted file mode 120000 index a5ce029b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/keyboard/on +++ /dev/null @@ -1 +0,0 @@ -/bin/loadkeys \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/keyboard/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/keyboard/on.params deleted file mode 100644 index 1c96d177..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/keyboard/on.params +++ /dev/null @@ -1 +0,0 @@ -us diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/quiet-kernel/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/quiet-kernel/on deleted file mode 120000 index 09bd56b7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/quiet-kernel/on +++ /dev/null @@ -1 +0,0 @@ -/bin/dmesg \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/quiet-kernel/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/quiet-kernel/on.params deleted file mode 100644 index d22a4869..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/quiet-kernel/on.params +++ /dev/null @@ -1 +0,0 @@ --n1 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/udev/needs/proc b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/udev/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/udev/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/udev/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/udev/on deleted file mode 120000 index 1ecced27..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/udev/on +++ /dev/null @@ -1 +0,0 @@ -/etc/init.d/udev \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/udev/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/udev/on.params deleted file mode 100644 index d44e18fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/local-tuning/udev/on.params +++ /dev/null @@ -1 +0,0 @@ -start diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/README deleted file mode 100644 index 7d699823..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/README +++ /dev/null @@ -1,3 +0,0 @@ -Need to load keyboard layout before trying to decrypt. -I also need dm_crypt and the aes module, as both are not -compiled into my kernel. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes deleted file mode 120000 index 15b8e7d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/crypto/aes \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt deleted file mode 120000 index 9066e234..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/crypto/dm_crypt \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard deleted file mode 120000 index 34376346..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/on deleted file mode 100755 index a40f7a4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/luksopen/on +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -# read key until success -while true; do - cryptsetup luksOpen /dev/sda3 home && break -done diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen deleted file mode 120000 index f0585cf1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen +++ /dev/null @@ -1 +0,0 @@ -../luksopen/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/on.params deleted file mode 100644 index 05280cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/home.dm_crypt/on.params +++ /dev/null @@ -1 +0,0 @@ -/home diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/proc/needs/clean-mtab b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/proc/needs/clean-mtab deleted file mode 120000 index 0bea57c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/proc/needs/clean-mtab +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-mtab \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/proc/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/proc/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/proc/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/proc/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/proc/on.params deleted file mode 100644 index 4c3fcfb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/proc/on.params +++ /dev/null @@ -1 +0,0 @@ -/proc diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/fsck/needs/udev b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/fsck/needs/udev deleted file mode 120000 index 3d36cb50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/fsck/needs/udev +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/udev/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/fsck/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/fsck/on deleted file mode 100755 index ea236360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/fsck/on +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Wrapper for fsck that returns 1 on success... -# Nico Schottelius -# 2007-05-25 -# for cLinux/cinit - -fsck=/sbin/fsck -dev="$1" - -"$fsck" "$dev" - -# return of 1 == repaired successful -if [ $? -gt 1 ]; then - exit 1 -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/fsck/on.old b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/fsck/on.old deleted file mode 120000 index 2a85786a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/fsck/on.old +++ /dev/null @@ -1 +0,0 @@ -/sbin/fsck.jfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/fsck/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/fsck/on.params deleted file mode 100644 index 90020847..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/fsck/on.params +++ /dev/null @@ -1 +0,0 @@ -/dev/hda1 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/needs/fsck b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/needs/fsck deleted file mode 120000 index c2e5e63f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/needs/fsck +++ /dev/null @@ -1 +0,0 @@ -../fsck \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/on.params deleted file mode 100644 index 6a052263..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/root/on.params +++ /dev/null @@ -1,4 +0,0 @@ --n --o -remount,rw -/ diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/sysfs/README b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/sysfs/README deleted file mode 100644 index e01cb66a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/sysfs/README +++ /dev/null @@ -1 +0,0 @@ -Udev needs us. diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/sysfs/needs/clean-mtab b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/sysfs/needs/clean-mtab deleted file mode 120000 index 0bea57c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/sysfs/needs/clean-mtab +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-mtab \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/sysfs/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/sysfs/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/sysfs/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/sysfs/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/sysfs/on.params deleted file mode 100644 index a6b724ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/mount/sysfs/on.params +++ /dev/null @@ -1,4 +0,0 @@ -sysfs --t -sysfs -/sys diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/needs/load-driver b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/needs/load-driver deleted file mode 120000 index 2c9afe03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/needs/load-driver +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/drivers/eth0 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/needs/root b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/needs/root deleted file mode 120000 index 68ea58e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/on deleted file mode 120000 index 639430c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/udhcpc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/on.params deleted file mode 100644 index 5f192cbc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/on.params +++ /dev/null @@ -1,4 +0,0 @@ --f --n --i -eth0 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/respawn b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/eth0.dhcp/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/hostname/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/hostname/on deleted file mode 120000 index 5779a119..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/hostname/on +++ /dev/null @@ -1 +0,0 @@ -/bin/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/hostname/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/hostname/on.params deleted file mode 100644 index 3614fe72..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/hostname/on.params +++ /dev/null @@ -1 +0,0 @@ -cinit-host diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/loopback/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/loopback/on deleted file mode 120000 index e27843a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/loopback/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/ifconfig \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/loopback/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/loopback/on.params deleted file mode 100644 index e58476c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/network/loopback/on.params +++ /dev/null @@ -1,3 +0,0 @@ -lo -127.0.0.1 -up diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/remote-services/sshd/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/remote-services/sshd/on deleted file mode 120000 index cf9865a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/remote-services/sshd/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/sshd \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/remote-services/sshd/on.params b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/remote-services/sshd/on.params deleted file mode 100644 index eb11be00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/remote-services/sshd/on.params +++ /dev/null @@ -1 +0,0 @@ --D diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/rescue-shell/on b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/rescue-shell/on deleted file mode 120000 index db1611f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/rescue-shell/on +++ /dev/null @@ -1 +0,0 @@ -/bin/sh \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/rescue-shell/on.env b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/rescue-shell/on.env deleted file mode 100644 index 54ba45f1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/rescue-shell/on.env +++ /dev/null @@ -1,2 +0,0 @@ -TERM=linux -PATH=/sbin:/bin:/usr/sbin:/usr/bin diff --git a/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/rescue-shell/respawn b/software/cinit/browse_source/cinit-0.3pre15/etc/cinit/svc/rescue-shell/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/README b/software/cinit/browse_source/cinit-0.3pre15/examples/README deleted file mode 100644 index f803f9b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains example configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/README deleted file mode 100644 index a862330c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/README +++ /dev/null @@ -1 +0,0 @@ -Example configurations for cinit-0.3. diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/README deleted file mode 100644 index 0b059353..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/README +++ /dev/null @@ -1,5 +0,0 @@ -This directory contains configuration examples from -'denkbrett' which is Nico Schottelius' main notebook. - -It's a x86 Linux notebook, so x86 and Linux specific -services will be loaded (like acpid, udev). diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 deleted file mode 100644 index 22889cc0..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README deleted file mode 100644 index e0582b25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -shell running, getty missing diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 deleted file mode 100644 index bc129f72..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README deleted file mode 100644 index b5a39918..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -getty on tty2 running, but displays -"Unable to determine your tty name". -Possibly problem with empty /dev. diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 deleted file mode 100644 index 2b1bc744..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README deleted file mode 100644 index 9f87a662..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added fsck for root filesystem -and added (currently) unneeded /proc service. diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 deleted file mode 100644 index 31a73e9a..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README deleted file mode 100644 index 3f43b0d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added needs /proc to getty/1 and 2. -Now we can login through getty! diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 deleted file mode 100644 index 9a490a32..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README deleted file mode 100644 index cb778400..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added service "network/hostname" and added it as wants to -the gettys. diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 deleted file mode 100644 index 42d30cdc..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README deleted file mode 100644 index b1aac768..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added respawn to the rescue-shell and the gettys. -Also added TERM=linux so agetty can pass that to -the shell. diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 deleted file mode 100644 index 9b75a07b..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README deleted file mode 100644 index cdedced3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added eth0 and a driver loader as well as added it -to the init list. If everything goes well, I'll have -dynamic network running after reboot :-) diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 deleted file mode 100644 index 2a50bf51..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README deleted file mode 100644 index d54c9da3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added luksopen and dm_crypt support. UNTESTED. diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 deleted file mode 100644 index 4d53ad3c..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README deleted file mode 100644 index 6e166f28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added acpid, removed luksopen currently from the dependency -list. diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 deleted file mode 100644 index 7af7167f..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README deleted file mode 100644 index b45f2595..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added support for the loopback device (network/loopback). diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 deleted file mode 100644 index 907f4bf1..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README deleted file mode 100644 index 0fa9cf4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added two more getties: getty/3 and getty/4 and added -them to init/needs. And yes, this configuration is in -use on my production system :-) diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 deleted file mode 100644 index f91c0c58..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README deleted file mode 100644 index 80b538b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added unicode_start/stop and made it wants for gettys. -Added the sys-v-init-udev-script to init/wants, I am currently -to lazy to reimplement the whole udev bunch. Anyone else? ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 deleted file mode 100644 index 98454c86..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README deleted file mode 100644 index 78e81d56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Sleep before kill decreased to 2. diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 deleted file mode 100644 index 1880c52d..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README deleted file mode 100644 index 740026e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added support for cpufreq (ondemand) on IBM T60. diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 deleted file mode 100644 index f79a8ee6..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README deleted file mode 100644 index bfc5c0ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added mount /proc as requirement for acpid! diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 deleted file mode 100644 index a2b8fdea..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README deleted file mode 100644 index 3493ca3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added dmesg -n1 so there's less noise on startup. diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 deleted file mode 100644 index 8df7a9c9..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README deleted file mode 100644 index cb6f8d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README +++ /dev/null @@ -1,7 +0,0 @@ -- Added needs: - unicode / console: /proc - udev: /proc - syslog-ng: mount/root - -- fixed mount/root/fsck: missed "then" - diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 deleted file mode 100644 index 33f75a62..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README deleted file mode 100644 index 07e6f29e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added respawn for syslog-ng diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 deleted file mode 100644 index e3b7df82..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README deleted file mode 100644 index 650274b7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Add TERM=linux to console-unicode and also depend it on udev so -devices are existing. diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 deleted file mode 100644 index d8c7dd55..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README deleted file mode 100644 index f6d5eb89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -acpid needs to write to /var/run! diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/rsync b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/rsync deleted file mode 100755 index f9649179..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/rsync +++ /dev/null @@ -1,2 +0,0 @@ -chmod a+r * -rsync -av ./ nico@home.schottelius.org:unix/cinit/samples/cinit-0.3/denkbrett/ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/rsync.local b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/rsync.local deleted file mode 100755 index d7ee374b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/rsync.local +++ /dev/null @@ -1,3 +0,0 @@ -DIR=~nico/projekte/cinit/configs/denkbrett/ -rsync -av ./ "$DIR" -chown nico "$DIR"/* diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 deleted file mode 100644 index 1b760767..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 deleted file mode 100644 index 61cf45c1..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre15/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/README b/software/cinit/browse_source/cinit-0.3pre15/scripts/README deleted file mode 100644 index 95afabe2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/README +++ /dev/null @@ -1,3 +0,0 @@ -Scripts for internal use. - -Users: Use bin/ for usable helper programs. diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/build/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre15/scripts/build/cinit.configure.ipc deleted file mode 100755 index b8154ba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/build/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/build/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre15/scripts/build/cinit.configure.mark deleted file mode 100755 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/build/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/build/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre15/scripts/build/cinit.configure.os deleted file mode 100755 index ece6f53c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/build/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/build/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre15/scripts/build/cinit.configure.tools deleted file mode 100755 index 39c2f00d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/build/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../../tmpbin/ -CC=$(head -n 1 "$HIER/../../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../../conf/cflags") -LD=$(head -n 1 "$HIER/../../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/cconfig.mk.makefile b/software/cinit/browse_source/cinit-0.3pre15/scripts/cconfig.mk.makefile deleted file mode 100755 index 822addce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/cconfig.mk.makefile +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-20, 0110 CEST -# cconfig: create makefile from conf/ directory -# currently: all files -# later: only built-defines -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "#" -echo "# Warning: Autogenerated by $0, do not edit. " -echo "#" -for conf in ${CONFS}; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - echo "${NAME}=${value}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre15/scripts/cinit.build-env deleted file mode 100755 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre15/scripts/cinit.get-confdir deleted file mode 100755 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre15/scripts/cinit.mkheader deleted file mode 100755 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre15/scripts/cinit.read-conf deleted file mode 100755 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/README b/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/README deleted file mode 100644 index 64c0d174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/README +++ /dev/null @@ -1 +0,0 @@ -Scripts used to generate or aid in creating a configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/freebsd/create_services.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/freebsd/create_services.sh deleted file mode 100644 index 52e123a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/freebsd/create_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to create from stdin -# Create services (add correct dependencies) -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/freebsd/enable_services.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/freebsd/enable_services.sh deleted file mode 100644 index ce4563a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/freebsd/enable_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to enabled from stdin -# Services must already exist -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/freebsd/search_enabled_services.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/freebsd/search_enabled_services.sh deleted file mode 100644 index 69e519b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/freebsd/search_enabled_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search for enabled services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/freebsd/search_services.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/freebsd/search_services.sh deleted file mode 100644 index 2043e857..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/configuration/freebsd/search_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search all services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of all services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/create_baseconfig.sh deleted file mode 100755 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/cinit.release b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/cinit.release deleted file mode 100755 index 7390a296..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/cinit.release +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: ls -l - -if [ $# -ne 1 ]; then - echo "This is a maintainer-only script to release cinit" - echo $(basename $0): version - exit 1 -fi - -# paths -D_BASE="/home/users/nico/privat/computer/net/netzseiten/www.nico.schottelius.org/src/software/cinit" -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ - -# versions to check -VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')" -VERSION_ARGV="$1" -VERSION_GIT="$(git describe)" - -echo "=> Version commandline: $VERSION_ARGV" -echo "=> Version conf/version: $VERSION_CONF" -echo "=> Version git: $VERSION_GIT" - -if [ "$VERSION_ARGV" = "$VERSION_CONF" -a "$VERSION_ARGV" = "$VERSION_GIT" ]; then - echo "=> Version confirmed." -else - echo "*** VERSION MISMATCH ***" - exit 42 -fi - -# Finally, accept the right version -VERSION="$VERSION_GIT" -NAME="cinit-${VERSION}" -TARNAME="cinit-${VERSION}.tar.bz2" -TARPATH="$D_DIR/$TARNAME" - -echo -n "=> Continue to release $NAME? " -read yes - -git archive $VERSION --prefix="${NAME}/" --output="${TARPATH}" -( cd "$D_SOURCE" && tar xvf "$TARPATH" ) - -echo "Please do not forget to update the website..." - -################################################################################ -# Unused, but interesting - -# make sure the examples are not executed anymore -exit 0 - -# match cinit-$version as directory name -VERSION_DIR="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')" - -# grep version string from CHANGES file (often used, obsoleted here) -VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):.*/\1/')" - -# Correct umask 077 results -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$RDIR\" \"$LINK\"" - -# Create archive -echo "Creating bzip2 compressed tar" -cd $DDIR -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$RDIR" -chmod 0644 "$OUT_NAME" - -# Transfer to a remote host -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" - -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" - - - diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/compile+run.sh deleted file mode 100755 index 30ec68a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/compile+run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -if [ ! "$1" ]; then - echo "HOSTNAME" - exit 23 -fi - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$host" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/compile_local.sh deleted file mode 100755 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/compile_run_as_compiler.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/compile_run_as_compiler.sh deleted file mode 100755 index f1ba01d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/compile_run_as_compiler.sh +++ /dev/null @@ -1,14 +0,0 @@ -what=$(dirname $0)/../../ -what_real=$(cd "$what" && pwd -P) -dest=~compiler/cinit-test - -set -e -sudo rsync -av "${what_real}/" "$dest" -sudo chown -R compiler "$dest" -sudo -u compiler "${dest}/scripts/internal/compile_local.sh" -sudo -u compiler "${dest}/src/cinit" & -sleep 13 -sudo -u compiler "${dest}/scripts/internal/stop_cinit.sh" - -# exit 0 for make -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/compile_test.sh deleted file mode 100755 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/create_test_config.sh deleted file mode 100755 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/find_right_version.sh deleted file mode 100755 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/indent_script b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/indent_script deleted file mode 100755 index 5e1a8b0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/indent_script +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-linux at schottelius.org) -# indents like kr with a little bit more beauty look -# 13-May-2004 -# written for the monotone project, adapted for all my projects -# -# Copying: GPLv3 - -if [ $# -lt 1 ]; then - echo "$0: " - exit 1 -fi - -opts="" -opts="${opts} -bap" # --blank-lines-after-procedures -opts="${opts} -bbb" # --blank-lines-before-block-comments -opts="${opts} -bad" # --blank-lines-after-declarations -opts="${opts} -bbo" # --break-before-boolean-operator -opts="${opts} -br" # --braces-on-if-line -opts="${opts} -brs" # --braces-on-struct-decl-line -opts="${opts} -cdb" # --comment-delimiters-on-blank-lines -opts="${opts} -cbi0" # --case-brace-indentation -opts="${opts} -cdw" # --cuddle-do-while -opts="${opts} -ce" # --cuddle-else, see -br -opts="${opts} -ci0" # --continuation-indentation (see -lp) -opts="${opts} -cli3" # --case-indentation -opts="${opts} -cp33" # --else-endif-columnn -opts="${opts} -cs" # --space-after-cast -opts="${opts} -d0" # --line-comments-indentationn -opts="${opts} -di0" # --declaration-indentation -opts="${opts} -fca" # --format-all-comments -opts="${opts} -hnl" # --honour-newlines -opts="${opts} -i3" # --indent-level -opts="${opts} -ip0" # --parameter-indentation -opts="${opts} -l80" # --line-length -opts="${opts} -lc80" # --line-length -opts="${opts} -lp" # --continue-at-parentheses -opts="${opts} -lps" # --leave-preprocessor-space -opts="${opts} -nbc" # --no-blank-lines-after-commas -opts="${opts} -nbfda" # --dont-break-function-decl-args -opts="${opts} -nbfde" # NOT --break-function-decl-args -opts="${opts} -nfc1" # --dont-format-first-column-comments -opts="${opts} -npcs" # --no-space-after-function-call-names -opts="${opts} -nprs" # --no-space-after-parentheses -opts="${opts} -npsl" # --dont-break-procedure-type -opts="${opts} -nsaf" # --no-space-after-for -opts="${opts} -nsai" # --no-space-after-if -opts="${opts} -nsaw" # --no-space-after-while -opts="${opts} -npsl" # --dont-break-procedure-type -opts="${opts} -nut" # --no-tabs -opts="${opts} -nv" # --no-verbosity -opts="${opts} -npro" # --ignore-profile -opts="${opts} -pi0" # --paren-indentationn -opts="${opts} -ppi3" # preprocessor indent -opts="${opts} -sbi0" # --struct-brace-indentation -opts="${opts} -sc" # --start-left-side-of-comments -opts="${opts} -sob" # --swallow-optional-blank-lines -opts="${opts} -ss" # --space-special-semicolon - - - -for file in "$@"; do - indent $opts "$file" -done - # old: -# -ad \ -# -ts3 -nut -sc -ce -cdw -cli0 -nbc lp -ppi3 -di1 -c33 -cd33 -ncdb -ci3 -cp33 -cs -d0 -di0 -l75 -nfc1 -nfca -hnl -ip0 -nprs -saf -sai -saw -nsob -nss -npsl "$file" diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/old/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/old/cdoc-man.sh deleted file mode 100755 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/old/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/qemu-test.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/qemu-test.sh deleted file mode 100755 index fd41312e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/qemu-test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-03: For testing cinit in qemu -# - -emud="${HOME}/emu" -img="${emud}/debian-hd.img" -ddir="${emud}/mount" -loop=/dev/loop1 -fsck="/sbin/fsck.jfs" - -# my jfs is on the first partition, 512*63 bytes offset -offset="32256" - -set -e -set -x -sudo losetup -o "${offset}" "${loop}" "${img}" -sudo "${fsck}" "${loop}" -sudo mount "${loop}" "${ddir}" - -sudo umount "${loop}" -sudo losetup -d "${loop}" diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/stop_cinit.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/stop_cinit.sh deleted file mode 100755 index 86e4d82b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/stop_cinit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Linux specific, but don't care, I am the only person that should use it - -killall -TERM cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/test-cmd.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/test-cmd.sh deleted file mode 100755 index dbfc5c73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/test-cmd.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-27: Test cmd -# - - -echo "Testing cmd..." -sudo /sbin/cmd -s /etc/cinit/svc/init -sudo /sbin/cmd -p /etc/cinit/svc/init -sudo /sbin/cmd -v -sudo /sbin/cmd -V diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/test/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/test/cinit.uml.test deleted file mode 100755 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/test/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/test_on_hosts.sh deleted file mode 100755 index afeb2627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net jiffies.forkbomb.ch ddna044.netstream.ch" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/valgrind deleted file mode 100755 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre15/scripts/report.compile deleted file mode 100755 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre15/scripts/wrapper/linux-sysvinit/shutdown b/software/cinit/browse_source/cinit-0.3pre15/scripts/wrapper/linux-sysvinit/shutdown deleted file mode 100755 index b8cf3837..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/scripts/wrapper/linux-sysvinit/shutdown +++ /dev/null @@ -1,207 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-cinit /at/ schottelius.org) -# 2007-05-21 -# Behave as being shutdown from Linux' sysvinit - -# Always needed variables / functions -_0_short=${0##*/} -_o_seperator=":" -_oecho_seperator=":" -_eecho_seperator=">" - -# ok-exit/echo -_oecho() -{ - echo "${_0_short}${_oecho_seperator}" "$@" -} - -_oexit() -{ - _oecho "$@" - exit 0 -} - -# error-exit/echo -_eecho() -{ - echo "${_0_short}${_oecho_seperator}" "$@" >&2 -} - -_eexit() -{ - _eecho "$@" - exit 1 -} - -# Program specific variables - -time_t=0 # -t sec -warn_only_k=0 # -k -reboot_r=0 # -r -halt_h=0 # -h -poweroff_P=0 # -P -cancel_c=0 # -c -time=-1 # [time] -message="" # [warning-message] -cmd="" # what to execute internally -pidfile="/var/run/cinit.shutdown" -pid="" -runs="" - -version="0.1" -version_date="2007-10-30" - -message_intro="The system is going down for" -message_reboot="reboot" -message_halt="halt" -message_poweroff="poweroff" - -# unimplemented: -a, -H, -f, -F -# deprecated and thus not implemented: -n - -# traping signals -trap_signals() -{ - _oexit "Aborted shutdown" -} - -# all the functions - -usage() -{ - -cat << cinit_usage - -*** cinit linux-sysvinit shutdown wrapper (Version ${version} ${version_date}) *** - -Usage shutdown [-akrhHPfnc] [-t secs] time [warning message] - -a: use /etc/shutdown.allow - -k: don't really shutdown, only warn. - -r: reboot after shutdown. - -h: halt after shutdown. - -P: halt action is to turn off power. - -H: halt action is to just halt. - -f: do a 'fast' reboot (skip fsck). - -F: Force fsck on reboot. - -n: do not go through "init" but go down real fast. - -c: cancel a running shutdown. - -t secs: delay between warning and kill signal. - ** the "time" argument is mandatory! (try "now") ** - -You can also call "cinit.{halt|reboot|poweroff}" directly -(instead of using this wrapper). - -cinit_usage - -exit 0 - -} - -warn() -{ - ( echo ""; echo "$@"; echo "" ) | wall - ( echo ""; echo "$@"; echo "" ) -} - -if [ "$#" -lt 1 ]; then - usage -fi - -# getopt! -while [ "$#" -ge 1 ]; do - arg="$1"; shift - - case "${arg}" in - -a|-F|-f|-n) - _oexit "Sorry, ${arg} is not implemented." - ;; - -t) - if [ "$#" -lt 1 ]; then - _eexit "-t needs the time argument" - fi - time_t="$1"; shift - ;; - -k) - warn_only_k=1 - cmd=true - ;; - -r) - reboot_r=1 - cmd=cinit.reboot - message_what="${message_reboot}" - ;; - -h|-H) - halt_h=1 - cmd=cinit.halt - message_what="${message_halt}" - ;; - -P) - poweroff_P=1 - cmd=cinit.poweroff - message_what="${message_poweroff}" - ;; - -c) - cancel_c=1 - ;; - *) - # time unset? - if [ "${time}" = -1 ]; then - time="${arg}" - [ "${time}" = "now" ] && time=0 - elif [ -z "${message}" ]; then - message="${arg}" - else - _eexit "Already specified time and message" - fi - ;; - esac -done - -if [ -f "${pidfile}" ]; then - pid=$(cat "${pidfile}") - runs=$(kill -CONT "${pid}" >/dev/null 2>&1 && echo yes) -fi - -# do cancel or abort or locking -if [ "${cancel_c}" -eq 1 ]; then - if [ "${runs}" ]; then - kill -TERM "${pid}" - _oexit "Terminated running shutdown at \"${pid}\"." - else - _eexit "Cannot abort shutdown, not running." - fi -fi - -if [ -z "${time}" ]; then - usage -fi - -if [ -z "${cmd}" ]; then - _eexit "You need to specify one of -h, -P, -H, -r." -fi - -# add lock -if [ "${pid}" ]; then - if [ "${runs}" ]; then - _eexit "Shutdown already running." - else - _oecho "Overwriting stale pidfile" - fi -fi -echo $$ > "${pidfile}" - -if [ "${message}" ]; then - warn "${message}" -fi - -# signals to abort on -trap trap_signals INT HUP TERM - -while [ "${time}" -gt 0 ]; do - warn "${message_intro} ${message_what} in ${time} minute(s)." - sleep 60 - time=$((${time}-1)) -done - -warn "${message_intro} ${message_what} now." -"${cmd}" diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:41:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:41:08 deleted file mode 100644 index d29de765..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:41:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586640 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:46:09 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:46:09 deleted file mode 100644 index 7ecb58be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-15:46:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586368 Apr 30 15:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-16:50:05 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-16:50:05 deleted file mode 100644 index d87323e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-16:50:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587818 Apr 30 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:03:00 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:03:00 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:39:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:39:08 deleted file mode 100644 index 0c2bb0af..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:39:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586194 May 6 20:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:54:00 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:54:00 deleted file mode 100644 index fe51f37f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:55:07 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:55:07 deleted file mode 100644 index 4d2854b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:55:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-23:00:07 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-23:00:07 deleted file mode 100644 index c0db4814..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-23:00:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 23:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:31:01 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:31:01 deleted file mode 100644 index 4ad1fccf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:31:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:31 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:39:02 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:39:02 deleted file mode 100644 index 16613354..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:39:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:43:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:43:08 deleted file mode 100644 index 29e5ab44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:54:04 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:54:04 deleted file mode 100644 index 474189e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:54:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:18:00 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:18:00 deleted file mode 100644 index 960ca358..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:18:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:14:00 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:14:00 deleted file mode 100644 index 7de2bc3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:14:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:14 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:43:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:43:08 deleted file mode 100644 index 11a18f12..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597245 May 7 14:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:48:01 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:48:01 deleted file mode 100644 index 28b127b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:48:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597405 May 7 14:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:55:05 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:55:05 deleted file mode 100644 index 5d0fa0e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:55:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:01:01 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:01:01 deleted file mode 100644 index 7c8b202b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:01:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 15:01 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:27:00 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:27:00 deleted file mode 100644 index a2d19633..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:27:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:20:02 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:20:02 deleted file mode 100644 index 23608225..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:20:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602184 May 7 16:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:31:09 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:31:09 deleted file mode 100644 index 40f890cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:31:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:31 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:08:09 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:08:09 deleted file mode 100644 index 22b48319..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:08:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-10:44:00 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-10:44:00 deleted file mode 100644 index 4dad0f2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-10:44:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 64935 May 8 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-12:42:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-12:42:08 deleted file mode 100644 index a356e57e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-12:42:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 23195 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:25:05 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:25:05 deleted file mode 100644 index 0b5026c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:25:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:30:03 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:30:03 deleted file mode 100644 index 7377ee59..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:30:03 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-21:54:00 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-21:54:00 deleted file mode 100644 index 41ed8e4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-21:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604637 May 10 21:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:07:06 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:07:06 deleted file mode 100644 index 9579bf3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:07:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95212 May 10 22:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-00:14:02 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-00:14:02 deleted file mode 100644 index 86483ada..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-00:14:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-15-22:32:07 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-15-22:32:07 deleted file mode 100644 index 59557c4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-15-22:32:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 15 22:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-15-23:52:06 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-15-23:52:06 deleted file mode 100644 index 757e6dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-15-23:52:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579305 May 15 23:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-15-23:56:00 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-15-23:56:00 deleted file mode 100644 index 24c85104..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-15-23:56:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605145 May 15 23:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:16:09 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:16:09 deleted file mode 100644 index 27254aa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:16:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605205 May 16 00:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-09:58:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-09:58:08 deleted file mode 100644 index 90a5b698..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-09:58:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605567 May 16 09:58 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:09:00 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:09:00 deleted file mode 100644 index 4c34f810..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:09:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605583 May 16 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:13:07 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:13:07 deleted file mode 100644 index b6a851e6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:13:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605619 May 16 10:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:23:05 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:23:05 deleted file mode 100644 index 2c4fc649..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:23:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-14:56:01 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-14:56:01 deleted file mode 100644 index c5e08e25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-14:56:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95794 May 21 14:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:35:00 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:35:00 deleted file mode 100644 index 0f2d5463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:35:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:35 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-08-10:23:04 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-08-10:23:04 deleted file mode 100644 index 0858c419..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-08-10:23:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53724 Jun 8 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-08:44:09 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-08:44:09 deleted file mode 100644 index b96788fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-08:44:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53524 Jun 9 08:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-10:00:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-10:00:08 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-11:47:04 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-11:47:04 deleted file mode 100644 index 531df2bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-09-11:47:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-10-18:14:05 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-10-18:14:05 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-10-18:14:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-12-18:09:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-12-18:09:08 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-12-18:09:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-08:13:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-08:13:08 deleted file mode 100644 index eab7486c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-08:13:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 13 08:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-10:01:02 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-10:01:02 deleted file mode 100644 index cd4e9dad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-10:01:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52380 Jun 14 10:01 cinit --rwx------ 1 nico users 47356 Jun 14 10:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-06:46:05 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-06:46:05 deleted file mode 100644 index e0e1051d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-06:46:05 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:46 cinit --rwx------ 1 nico users 47324 Jun 15 06:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-16-12:18:07 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-16-12:18:07 deleted file mode 100644 index 43633af1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-16-12:18:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 16 12:18 cinit --rwx------ 1 nico users 50860 Jun 16 12:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-10:35:02 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-10:35:02 deleted file mode 100644 index 41fcadb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-10:35:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47584 Jun 22 10:35 cinit --rwx------ 1 nico users 46760 Jun 22 10:35 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-25-11:56:07 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-25-11:56:07 deleted file mode 100644 index 0f917aee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-25-11:56:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47712 Jun 25 11:56 cinit --rwx------ 1 nico users 46760 Jun 25 11:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:11:07 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:11:07 deleted file mode 100644 index 7e4c645b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:11:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:11 cinit --rwx------ 1 nico users 50860 Jul 6 08:11 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:08:05 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:08:05 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:08:05 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:13:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:13:08 deleted file mode 100644 index 2b09e08b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-07-06-10:13:08 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:13 cinit --rwx------ 1 nico users 50860 Jul 6 10:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-08-08-01:00:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-08-08-01:00:08 deleted file mode 100644 index 9c0c4908..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-08-08-01:00:08 +++ /dev/null @@ -1,3 +0,0 @@ -total 840 --rwx------ 1 root root 429764 Aug 8 01:00 cinit --rwx------ 1 root root 426052 Aug 8 01:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-08-29-21:48:00 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-08-29-21:48:00 deleted file mode 100644 index caa24bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-08-29-21:48:00 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 root root 437404 2005-08-29 21:47 cinit --rwx------ 1 root root 436316 2005-08-29 21:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-05:57:00 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-05:57:00 deleted file mode 100644 index ba396d14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-05:57:00 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:57 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:56 cinit --rwx------ 1 nico nico 440412 Sep 3 05:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-05:58:07 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-05:58:07 deleted file mode 100644 index 65f0cc50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-05:58:07 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-03 05:58 ccontrol --rwx------ 1 root root 444508 2005-09-03 05:58 cinit --rwx------ 1 root root 440412 2005-09-03 05:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:43:02 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:43:02 deleted file mode 100644 index 027a5b67..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:43:02 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:43 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:43 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:51:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:51:08 deleted file mode 100644 index a0fdf121..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:51:08 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:43 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:51 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:58:04 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:58:04 deleted file mode 100644 index 5c6da786..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-09:58:04 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:58 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:58 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre15/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-17-00:31:08 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-17-00:31:08 deleted file mode 100644 index b95123d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-17-00:31:08 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 00:31 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:31 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:08:04 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:08:04 deleted file mode 100644 index df9d08a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:08:04 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:08 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:08 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-11:46:07 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-11:46:07 deleted file mode 100644 index 7b96d3d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-11:46:07 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:46 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:46 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-15:19:05 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-15:19:05 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-15:19:05 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-11-29-235707 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-11-29-235707 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-11-29-235707 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-185602 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-185602 deleted file mode 100644 index d90770a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-185602 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71836 2006-12-03 18:56 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-185901 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-185901 deleted file mode 100644 index 61cc9bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-185901 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71768 2006-12-03 18:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-06-180205 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-06-180205 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-06-180205 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-213702 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-213702 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-213702 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre15/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2007-02-23-202443 b/software/cinit/browse_source/cinit-0.3pre15/size/2007-02-23-202443 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2007-02-23-202443 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2007-02-23-202720 b/software/cinit/browse_source/cinit-0.3pre15/size/2007-02-23-202720 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2007-02-23-202720 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2007-03-07-231936 b/software/cinit/browse_source/cinit-0.3pre15/size/2007-03-07-231936 deleted file mode 100644 index c2ef3d0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2007-03-07-231936 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71213 2007-03-07 23:18 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/size/2007-04-06-011811 b/software/cinit/browse_source/cinit-0.3pre15/size/2007-04-06-011811 deleted file mode 100644 index 73de8724..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/size/2007-04-06-011811 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71281 2007-04-06 01:17 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/Makefile b/software/cinit/browse_source/cinit-0.3pre15/src/Makefile deleted file mode 100644 index 285c739b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/Makefile +++ /dev/null @@ -1,176 +0,0 @@ -# -# 2008 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. - -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . - -# -# Don't edit Makefiles, use conf/* for configuration. -# - -################################################################################ -# -# Build tools / locations -# - -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin -DESTDIR= -#DESTDIR=/home/user/nico/emu/dst - -################################################################################ -# -# All objects / binaries -# depend on headers. More or less. FIXME: use gcc -M -# -BIN=cinit.halt cinit.poweroff cinit.reboot cmd -CINIT=cinit -ALLBIN=${BIN} ${CINIT} - -# headers -CONFIG_H=include/config.h -CINIT_HEADERS=${shell cat include/listing} - -# objects -CINIT_OBJ=${shell cat object_lists/cinit} -HALTKILL_OBJ=${shell cat object_lists/halt.kill} -POWEROFFKILL_OBJ=${shell cat object_lists/poweroff.kill} -REBOOTKILL_OBJ=${shell cat object_lists/reboot.kill} -CMD_OBJ=${shell cat object_lists/cmd} - -# -# All objects -# -OBJ=${CINIT_OBJ} ${HALTKILL_OBJ} ${POWEROFFKILL_OBJ} ${REBOOTKILL_OBJ} - -################################################################################ -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: ${ALLBIN} - - -################################################################################ -# -# Generic -# -${OBJ}: ${CINIT_HEADERS} - -%.o: %.c - ${CC} -c -o $@ $< - -################################################################################ -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../scripts/build/cinit.configure.os - @../scripts/build/cinit.configure.tools - @../scripts/build/cinit.configure.ipc - @../scripts/build/cinit.configure.mark - -${CINIT_OBJ}: ${CONFIG_H} - -${CONFIG_H}: ../conf/* - ../scripts/cinit.mkheader > ${CONFIG_H} - -################################################################################ -# -# Install targets -# - -#install: install-dir cinit cservice ccontrol -install: install-cinit install-utilities - -install-sbin: - install -d ${DESTDIR}/sbin - -install-utilities: install-sbin ${BIN} - @echo '*** Installing utilities ***' - install ${BIN} ${DESTDIR}/sbin - -install-cinit: install-sbin cinit - @echo '*** Installing cinit ***' - @echo "Need to delete cinit before reinstalling it {text file busy problem}" - rm -f ${DESTDIR}/sbin/cinit - install cinit ${DESTDIR}/sbin - -# FIXME: target broken -install-miniconf: - ./bin/cinit.install.miniconf - -# FIXME: target broken -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# - -cinit: ${CINIT_OBJ} - ${LD} $^ -o $@ - -cinit.halt: ${HALTKILL_OBJ} - ${LD} $^ -o $@ - -cinit.poweroff: ${POWEROFFKILL_OBJ} - ${LD} $^ -o $@ - -cinit.reboot: ${REBOOTKILL_OBJ} - ${LD} $^ -o $@ - -cmd: ${CMD_OBJ} - ${LD} $^ -o $@ - -################################################################################ -# -# Internal test targets -# - -uml: cinit cmd - ../../vm/uml/uml-mount.sh - cp cinit cmd ../../vm/uml/root/sbin/ - ../../vm/uml/uml-umount.sh - -umlstart: uml - ../../vm/uml/uml-start.sh - -################################################################################ -# -# Clenaup targets -# - -.PHONY: clean -.PHONY: dist -.PHONY: distclean - -dist: distclean - -distclean: clean - rm -f os/current ipc/current .configured - -clean: - rm -f ../tmpbin/*.configured - rm -f ${BIN} ${CINIT_OBJ} ${CINIT} - find . -name \*.o -exec rm {} \; diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre15/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/README b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/README deleted file mode 100644 index f66e0ddb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/README +++ /dev/null @@ -1,4 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/STOPPED b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/STOPPED deleted file mode 100644 index a0013ca6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/STOPPED +++ /dev/null @@ -1,12 +0,0 @@ -0. Definition Nachrichten -0.1 Definition returncodes und co... - - -1. execute_sth: finish, so we can use it for panic - -2. MSGQ: - beidseitig implemenntieren - ipc header integrieren - Dokumentieren - - conf/* von msgq saeubern diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/charp_to_flag.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/charp_to_flag.c deleted file mode 100644 index ae4321a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/charp_to_flag.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Convert char pointer to uint32_t flag - * - */ - -#include /* strchr */ -#include /* NULL */ - -#include "cinit.h" /* cinit */ - -uint32_t charp_to_flag(char *str) -{ - uint32_t ret = 0; - - if(str != NULL) { - if(strchr(str, CINIT_CMD_SVC_WANTS) != NULL) - ret |= CINIT_QSN_SVC_WANTS; - if(strchr(str, CINIT_CMD_SVC_NEEDS) != NULL) - ret |= CINIT_QSN_SVC_NEEDS; - } - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/cinit_get_svc_status.c01 b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/cinit_get_svc_status.c01 deleted file mode 100644 index cdc9d8c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/cinit_get_svc_status.c01 +++ /dev/null @@ -1,54 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Retrieves status of a service - */ - - -#include /* malloc */ -#include /* str* */ -#include /* integers */ - -#include "cinit.h" /* header for clients */ - -/* returns either the status (>0) - * or -1 on memory error - */ -int32_t cinit_get_svc_status(char *name) -{ - /* fixme: s32 int! */ - int tmp; - int32_t res; - char *p, *answer; - int offset = 0, len = strlen(name); - - p = malloc(len + 2 * sizeof(tmp)); - if(!p) return -1; - - /* code */ - tmp = CINIT_MSG_GET_STATUS; - strncpy(p,(char *) &tmp, sizeof(tmp)); - offset += sizeof(tmp); - - /* length */ - strncpy(&p[offset],(char *) &len, sizeof(len)); - offset += sizeof(len); - - /* data */ - strncpy(p, (char *) name, len); - - answer = cinit_send_to(p,len); - - if(answer) { - strncpy((char *) &res, answer, sizeof(res)); - free(answer); - } else { - res = -1; - } - - free(name); - return res; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/comm.h b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/comm.h deleted file mode 100644 index 4fbe8c50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/comm.h +++ /dev/null @@ -1,81 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ -#include /* pid_t */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_MIN='A', /* minimum command number */ - CMD_SVC_START, /* the client wants US to start a service */ - CMD_SVC_START_ONLY, /* start this service without dependencies */ - CMD_SVC_START_NEEDS, /* start this service, needs, but no wants */ - CMD_SVC_STOP, /* stop svc and all svcs that need it */ - CMD_SVC_STOP_ONLY, /* we should stop _only_ this service */ - CMD_SVC_STOP_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ /* FIXME: NEEDED? */ - CMD_RESCUE, /* we should start the rescue mode */ /* UNIMPLEMENTED */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ /* UNIMPLEMENTED */ - CMD_INFO, /* send information about that service */ /* UNIMPLEMENTED */ - CMD_MAX , /* maximum command number */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * client issues a command: start_command - */ -struct s_cmd { - char cmd; - pid_t pid; -}; - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/cservice.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/do_change_status.c deleted file mode 100644 index 58c0bbf0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/do_change_status.c +++ /dev/null @@ -1,72 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t * pid, int sock2, - int action) -{ - int tmp; - - ssize_t(*fpoint) (int, void *, size_t); - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - tmp = strlen(svc); - } - - if(fpoint(sock2, &tmp, sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2, svc, tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2, status, sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2, pid, sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/do_reboot.c.orig b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/do_reboot.c.orig deleted file mode 100644 index 9c4c8331..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/do_reboot.c.orig +++ /dev/null @@ -1,144 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" -#include "os.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - /* Let's disappear, we don't care about clients anymore */ - close(sock); - /********* first SIGTERM the respawning processes **********/ - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - kill(tmp->pid,SIGTERM); - } - tmp = tmp->before; - } while( tmp != list ); - - /********* now wait for the respawn watchers to return *****/ - tmp = list->before; - do { - if( tmp->status == ST_RESPAWN) { - /* wait until the respawn watcher terminated */ - waitpid(tmp->pid,&i,0); - } - - /* execute shutdown service FIXME: parallelize that?*/ - exec_svc(tmp->abs_path,CMD_STOP_SVC); - tmp = tmp->before; - } while( tmp != list ); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ -#define CMD_CNT 4 - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-arfd" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - -#define RESCUE_CMD "/bin/sh" - - /* now: we are completley alone. umount everything, go to bed */ - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG2; - cmd[3] = MOUNT_ARG3; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } else { - _exit(1); - } - - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - case SIGUSR2: /* rescue - destroy ourself */ - LOG(MSG_RESCUE); - cmd[0] = RESCUE_CMD; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - case SIGCONT: /* update */ - LOG(MSG_UPDATE); - cmd[0] = CINIT_BIN; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - } - - /* do not exit, Linux does that for us */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/do_result.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/do_result.c deleted file mode 100644 index d302e4df..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/do_result.c +++ /dev/null @@ -1,35 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t(*fpoint) (int, void *, size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - } - - if(fpoint(nsock, value, 1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} - -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/do_svc_name.c deleted file mode 100644 index b56523d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/do_svc_name.c +++ /dev/null @@ -1,59 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - - ssize_t(*fpoint) (int, void *, size_t); - - /* - * set pointers - */ - if(action == ACT_CLIENT) { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* - * read / write lenght - */ - if(fpoint(sock2, &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* - * write/read service name - */ - if(fpoint(sock2, svc, tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/exec_svc.c deleted file mode 100644 index 35e71ba4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/exec_svc.c +++ /dev/null @@ -1,298 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if(cpid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid, &tmp, 0); - if(WIFEXITED(tmp)) { - if(!WEXITSTATUS(tmp)) { - return cpid; - } - } - SERVICE_LOG(abspath, LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ON); - } else { - strcat(pathtmp, C_OFF); - } - - /* - * readlink retrieves real name, if it is a symlink - */ - if((tmp = readlink(pathtmp, pathtmp, PATH_MAX)) == -1) { - - /* - * nothing there? fine, exit - */ - if(errno == ENOENT) { - _exit(0); - } else if(errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* - * restore original name, file is not a link - */ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ON); - } else { - strcat(pathtmp, C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* - * add '\0', readlink forgets it - */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; neither - * readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc(sizeof(char *)); - if(nargv == NULL) - _exit(1); - - *nargv = (char *) malloc(tmp); - if(*nargv == NULL) - _exit(1); - - strcpy(*nargv, pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ONARG); - } else { - strcat(pathtmp, C_OFFARG); - } - - /* - * open params file - */ - if(!stat(pathtmp, &buf)) { - fd = open(pathtmp, O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* - * fill sbuf with content - */ - while((tmp = read(fd, pathtmp, PATH_MAX)) != 0) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf, argc + tmp + 1); - strncpy(&sbuf[argc], pathtmp, tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* - * The idea is to reuse the allocated memory. We'll simply * replace the \n - * with \0 and set a char* to it. * We'll lose the last byte (the initial - * \0), but we * don't care, as we die some seconds later with execv() * oh, - * we'll only lose it, if the file is terminated by \n - */ - - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* - * set to the beginning - */ - nargv[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - } else { - /* - * set to the end of sbuf, not to the \0, but one before - */ - p = sbuf + (strlen(sbuf) - 1); - } - - /* - * if next byte is 0, the end of string is found - */ - if(*(p + 1) == '\0') { - sbuf = NULL; - } else { - sbuf = p + 1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ONENV); - } else { - strcat(pathtmp, C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if(!stat(pathtmp, &buf)) { - fd = open(pathtmp, O_RDONLY); - - /* - * file exists, failing to open it is an error - */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while((tmp = read(fd, pathtmp, PATH_MAX)) != 0) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf, argc + tmp + 1); - strncpy(&sbuf[argc], pathtmp, tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - } else { - /* - * set to the end of sbuf, not to the \0, but one before - */ - p = sbuf + (strlen(sbuf) - 1); - } - - if(*(p + 1) == '\0') { - sbuf = NULL; - } else { - sbuf = p + 1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0], nargv, nenv); - - /* - * we should never reach this block - */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* - * FIXME: remove debug, remove double printing without loosing info - */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/main.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/main.c deleted file mode 100644 index 9016eac1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/main.c +++ /dev/null @@ -1,106 +0,0 @@ - -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * main.c - * main part of cinit - */ - -#include /* ftok */ -#include /* msgget */ -#include /* perror */ -#include /* exit */ - -#include "cinit.h" - -/* global variables */ -struct listitem *list; -pid_t cpid; - -/*********************************************************************** - * the main procedure - */ - -int main(int argc, char **argv) -{ - char *initdir; - key_t msg_key; - int msq_id; - - initdir = CINIT_INIT; /* default init dir */ - list = NULL; /* list of services is empty currently */ - cpid = getpid(); /* no comment */ - - if(cpid != 1) { - usage(CINIT_VERSION, MSG_USAGE); - } - - /* - * set signal handlers - */ - set_signals(ACT_SERV); - - /* - * read arguments, profile support - */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc - 1], strlen(PROFILE))) { - initdir = (char *) malloc(strlen(CINIT_DIR) + - strlen(&argv[argc - 1][strlen(PROFILE)]) + - 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_DIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc - 1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* - * tell the world we are there FIXME: do we really need three calls? - */ - mini_printf(MSG_BOOTING, 1); - mini_printf(initdir, 1); - mini_printf("\n", 1); - - if(chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /* - * create message queues - */ - - /* - * start init or profile - */ - run_init_svc(initdir); - - /* - * free, if we malloc()ed before - */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* - * wait until we recieved the signal to create the socket - */ - - /* - * our life is polling a socket - */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if((plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/msg_change_status.c deleted file mode 100644 index 40a46946..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/msg_change_status.c +++ /dev/null @@ -1,30 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc, &status, &pid, sock, ACT_CLIENT)) { - return 0; - } - if(!do_result(sock, NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/msg_svc_on_off.c deleted file mode 100644 index 350d41fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/msg_svc_on_off.c +++ /dev/null @@ -1,26 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) - return RT_ERR_COMM; - if(!do_svc_name(sock, svc, ACT_CLIENT)) - return RT_ERR_COMM; - return (int) do_result(sock, NULL); -} - -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/pipes b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/pipes deleted file mode 100644 index 581b1274..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/pipes +++ /dev/null @@ -1,17 +0,0 @@ - /* create pipes */ - if(pipe(pfd) == -1) { - perror(MSG_ERR_PIPE); - panic(); - } - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } - diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/respawn_svc.c deleted file mode 100644 index d52984be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/respawn_svc.c +++ /dev/null @@ -1,114 +0,0 @@ - -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX + 1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* - * if we read anything, our child succeded - */ - if(read(pipefd[0], &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM, &sa, NULL); /* term = kill respawing process */ - /* - * sigterm handler should kill first our watching pid, reset the pid to 0 - * and then we'll kill ourselves - */ - - tmp = 1; - if(write(pipefd[1], &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* - * try to read delay into sock - */ - strcpy(delay, abspath); - strcat(delay, SLASH); - strcat(delay, C_DELAY); - - /* - * reuse sock to specify delay - */ - sock = -1; - tmp = open(delay, O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp, &delay[0], PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* - * exec_svc will set cpid accordingly - */ - if(!exec_svc(abspath, CMD_START_SVC)) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* - * FIXME: put most code of sig_terminate here, look for no_kill - */ - - /* - * start off task - */ - exec_svc(abspath, CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/run_init_svc.c deleted file mode 100644 index 2cc30262..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/run_init_svc.c +++ /dev/null @@ -1,57 +0,0 @@ - -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* - * leave cinit alone - */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* - * FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully - * anyway */ - } - /* - * parent exits, we don't care about our children - */ - return 1; -} - -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/run_init_svc2.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/run_init_svc2.c deleted file mode 100644 index 338b1a11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/run_init_svc2.c +++ /dev/null @@ -1,58 +0,0 @@ - -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) -{ - rpath = "test"; - return 0; -} /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* - * leave cinit alone - */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) - _exit(1); - - /* - * FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully - * anyway */ - } - /* - * parent exits, we don't care about our children - */ - return 1; -} - -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/run_run_svcs.c deleted file mode 100644 index b12cbb54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/run_run_svcs.c +++ /dev/null @@ -1,95 +0,0 @@ - -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX + 1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* - * if there is no such dir, we are finished - */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while((tdirent = readdir(d_tmp)) != NULL) { - /* - * ignore . and .. and everything with a . at the beginning - */ - if(*(tdirent->d_name) == '.') - continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf, abspath); - strcat(pathbuf, SLASH); - strcat(pathbuf, tdirent->d_name); - if(run_svc(pathbuf)) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* - * wait for pids - */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* - * if anything failed, we failed - */ - if(!WIFEXITED(status)) { - ret = 0; - } else { - if(WEXITSTATUS(status)) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/run_svc.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/run_svc.c deleted file mode 100644 index 194c981f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/run_svc.c +++ /dev/null @@ -1,144 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* - * save current working dir - */ - if(!(int) getcwd(pathtmp, PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* - * change to rpath - */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* - * get absolute name of rpath - */ - if(!(int) getcwd(abspath, PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* - * change back - */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath, CMD_START_SVC); /* check status */ - - switch (tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts, NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN, 1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_NEEDS); - - /* - * check for needs - */ - if(stat(pathtmp, &buf) == 0) { - if(!run_run_svcs(pathtmp)) { - SERVICE_LOG(abspath, LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_WANTS); - - if(stat(pathtmp, &buf) == 0) { - run_run_svcs(pathtmp); /* don't care about what happens with the want - * svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_RESPAWN); - - if(stat(pathtmp, &buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid)) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} - -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/set_signals.c01 b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/set_signals.c01 deleted file mode 100644 index ff35a78a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/set_signals.c01 +++ /dev/null @@ -1,40 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - D_PRINTF("Signale setzen"); - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c and ctr+alt+del */ - - /* what todo when a child exited, cleaning dead processes */ - if(action == ACT_SERV) { - sa.sa_handler=sig_child; -// SA_NOCLDSTOP - } - sigaction(SIGCHLD,&sa,NULL); - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } - sigaction(SIGUSR1,&sa,NULL); /* halt */ - sigaction(SIGUSR2,&sa,NULL); /* rescue */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGHUP,&sa,NULL); /* reboot */ - -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/sig_terminate.c deleted file mode 100644 index bc7171fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/sig_terminate.c +++ /dev/null @@ -1,73 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* - * FIXME: only send SIGTERM, if not_kill does not exist - */ - if(kill(cpid, SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* - * variabel delay - */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* - * if it still exists... - */ - if(kill(cpid, 0) != -1) { - /* - * kill if there is a delay - */ - if(sock != 0) { - nanosleep(&ts, NULL); - status = kill(cpid, SIGKILL); - if(status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* - * remove zombie if killed, if delay is zero wait for it - */ - waitpid(cpid, &status, 0); - - /* - * reset the watching pid to zero (NOT THE WATCHER's!) - */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/test-signal.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/test-signal.c deleted file mode 100644 index a081fb76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/test-signal.c +++ /dev/null @@ -1,56 +0,0 @@ - -/* test case for glibc */ - -#include -#include /* sigaction, sigemtpyset */ -#include -#include -#include -#include -#include - -void sig_child(int tmp) -{ - struct timeval tv; - pid_t pid; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - gettimeofday(&tv, NULL); - printf("sighandler: %d\n", tv.tv_sec); - } -} - -int main() -{ - struct sigaction sa; - struct timeval tv; - struct timespec ts; - pid_t pid; - - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - - sigaction(SIGCHLD, &sa, NULL); - - while(1) { - pid = fork(); - - /* - * child - */ - if(!pid) { - ts.tv_sec = 2; - nanosleep(&ts, NULL); - gettimeofday(&tv, NULL); - - printf("child: %d\n", tv.tv_sec); - return 0; - } - - ts.tv_nsec = 100000; - nanosleep(&ts, NULL); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/unused-coded/cinit_read_from.c b/software/cinit/browse_source/cinit-0.3pre15/src/ancient/unused-coded/cinit_read_from.c deleted file mode 100644 index 54499be3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ancient/unused-coded/cinit_read_from.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read data from cinit to the client - */ - - -#include "ipc.h" /* IPC */ - -/* gets a bunch of bytes and returns the answer from cinit */ -int cinit_read_from(char **dest, int len) -{ - if(!cinit_ipc_logon()) return NULL; - if(!cinit_ipc_connect()) return NULL; - - /* FIXME: add length to ipc function? */ - if(!cinit_ipc_csend(data)) return NULL; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/client/cmd.c b/software/cinit/browse_source/cinit-0.3pre15/src/client/cmd.c deleted file mode 100644 index d85e417c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/client/cmd.c +++ /dev/null @@ -1,259 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * cmd - the cinit client program - sends commands to cinit - * - */ - -#include /* getopt */ -#include /* signals */ -#include /* printf() */ -#include /* free() */ -#include /* strncmp */ - -#include /* integers */ -#include /* PATH_MAX */ - -#include "cmd.h" /* own header */ -#include "signals.h" /* which signal */ -#include "svc.h" /* service related */ -#include "intern.h" /* print_errno() */ - -#include "cinit.h" /* cinit external */ - -#define C_USAGE(error) usage(USAGE_TEXT,error) -#define MSG_IPC_ERROR "An IPC error occured while connecting to cinit. " \ - "Is cinit running?\n" -#define MSG_UNKNOWN_SVC "Unknown service: %s\n" -#define MSG_UNKNOWN_RET "Unknown return code: %d\n" - -enum { - NOTHING, - ENABLE, - DISABLE, - PID, - STATUS -} whattodo; - -/*********************************************************************** - * cmd: main - */ -int main(int argc, char **argv) -{ - char buf[CINIT_DATA_LEN]; - char *flag = NULL; - int opt; - int what = NOTHING; - uint32_t ret; - uint32_t (*fp)(char *, uint32_t); /* to select enable or disable */ - - - union { - uint32_t status; - pid_t pid; - } u; - - /* - * -d w(ants) excluded) - * -e n(eeds excluded) - * -d i(nclude everything) - */ - - /* check for - * d|e: - * check for flags - * p|s: - * continue with service - * h|v|V: print and exit - */ - while((opt = getopt(argc, argv, CMD_OPTIONS)) != -1) { - switch (opt) { - - /******************************************** - * Non-continuing parameters - */ - - /******************************************** - * help - */ - case 'h': - printf(CMD_USAGE); - return 0; - break; - - /********************************************/ - case 'v': /* get version of cinit */ - ret = cinit_get_version(buf); - switch (ret) { - case CINIT_ASW_OK: - printf("Version of cinit: %s\n", buf); - return 0; - break; - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - return what; - break; - - /********************************************/ - case 'V': /* version */ - printf("Version of cmd: %s\n", CMD_VERSION); - return 0; - break; - - /********************************************/ - /* - * Continuing parameters - */ - - /********************************************/ - case 'e': /* enable service */ - what = ENABLE; - flag = optarg; - break; - - case 'd': /* disable service */ - what = DISABLE; - flag = optarg; - break; - - /********************************************/ - case 'p': /* get pid */ - what = PID; - break; - - /********************************************/ - case 's': /* get status */ - what = STATUS; - break; - - /********************************************/ - - default: - fprintf(stderr, - "Sorry, I did not understand what you want. Try -h, please.\n"); - return 1; - break; - } - } - - if(what == NOTHING) { - fprintf(stderr, - "That is not much you request from me. Try -h for help.\n"); - return 1; - } - - if(!path_absolute(argv[optind], buf, CINIT_DATA_LEN)) - return 1; - - fp = NULL; - switch (what) { - case ENABLE: - fp = cinit_svc_enable; - case DISABLE: - if(!fp) fp = cinit_svc_disable; - - u.status |= cinit_flag_to_uint32_t(flag); - - ret = fp(buf, u.status); - - switch (ret) { - case CINIT_ASW_OK: - printf("Set status of %s.\n", buf); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf(MSG_UNKNOWN_SVC, buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - - case PID: - ret = cinit_svc_get_pid(buf, &(u.pid)); - switch (ret) { - case CINIT_ASW_OK: - printf("PID of %s: %d\n", buf, u.pid); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf(MSG_UNKNOWN_SVC, buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - - case STATUS: - ret = cinit_svc_get_status(buf, &(u.status)); - switch (ret) { - case CINIT_ASW_OK: - printf("Status of %s is: %d\n", buf, u.status); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf("Unknown service: %s\n", buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - } - - return what; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/client/halt.kill.c b/software/cinit/browse_source/cinit-0.3pre15/src/client/halt.kill.c deleted file mode 100644 index eeb4c53a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/client/halt.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Halt the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_HALT) == -1) { - print_errno(MSG_HALT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/client/poweroff.kill.c b/software/cinit/browse_source/cinit-0.3pre15/src/client/poweroff.kill.c deleted file mode 100644 index 7066fedc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/client/poweroff.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_POWEROFF) == -1) { - print_errno(MSG_POWEROFF_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/client/reboot.kill.c b/software/cinit/browse_source/cinit-0.3pre15/src/client/reboot.kill.c deleted file mode 100644 index 4592b379..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/client/reboot.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_REBOOT) == -1) { - print_errno(MSG_REBOOT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/comm/README b/software/cinit/browse_source/cinit-0.3pre15/src/comm/README deleted file mode 100644 index b43969f2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/comm/README +++ /dev/null @@ -1,22 +0,0 @@ -This directory contains the server (aka cinit) part of the communication process. - -All the communication functions do not depend on the underlying -inter process communication mechanism. Use the following functions: - - - send_command(): client function: sends a command to cinit - - send_service(): client function: send the service name to operate on - - - read_command(): server function: reads beginning of a command - * Extracts the command - * reads client identification (=pid) - * calls other functions, depending on the command send => switch() - - read_service(): server function: reads service - - - write_answer(): server function: answer? - * sends answers to clients => senseful? - - - TODO: - - define information function, that returns various information about - a service - diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_svc_disable.c b/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_svc_disable.c deleted file mode 100644 index 94258487..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_svc_disable.c +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * disables a service - * - */ - -#include "svc-intern.h" /* list_search */ -#include "cinit.h" /* structure: cinit_answer */ - - -/** - * Returns the answer to the disable request to the client. - */ -int answer_svc_disable(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = svc_disable(tmp); - asr->opt = 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_svc_pid.c b/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_svc_pid.c deleted file mode 100644 index 2fdf11c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_svc_pid.c +++ /dev/null @@ -1,42 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * return pid of service - * - */ - -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_pid(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = CINIT_ASW_OK; - asr->opt = tmp->pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_svc_status.c b/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_svc_status.c deleted file mode 100644 index 99d0adf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_svc_status.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * returns status of service - * - */ - -#include /* strncpy */ -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_status(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = CINIT_ASW_OK; - asr->opt = tmp->status; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_svc_stop.c b/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_svc_stop.c deleted file mode 100644 index 73d32f8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_svc_stop.c +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Disable a service (with or without dependencies) - * - */ - -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_stop(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - if(tmp->status & (CINIT_ST_RESPAWNING | CINIT_ST_ONCE_RUN)) { - asr->ret = svc_disable(tmp); - } else { /* not running, nothing todo */ - asr->ret = CINIT_ASW_OK; - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_version.c b/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_version.c deleted file mode 100644 index e57cf552..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/comm/answer_version.c +++ /dev/null @@ -1,35 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * return version of cinit - * - */ - -#include "config.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_version(struct cinit_answer *asr) -{ - asr->ret = CINIT_ASW_OK; - cinit_cp_data(asr->data, VERSION); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/comm/cinit_append_data.c b/software/cinit/browse_source/cinit-0.3pre15/src/comm/cinit_append_data.c deleted file mode 100644 index 46c8a3e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/comm/cinit_append_data.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Append data to the existing field - * - */ - -#include /* strncpy */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -void cinit_append_data(char data[], char *src) -{ - strncat(data, src, CINIT_DATA_LEN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/comm/cinit_cp_data.c b/software/cinit/browse_source/cinit-0.3pre15/src/comm/cinit_cp_data.c deleted file mode 100644 index dd107ea8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/comm/cinit_cp_data.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * fill the data field of qsn and asn - * - */ - -#include /* strncpy */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -void cinit_cp_data(char data[], char *src) -{ - strncpy(data, src, CINIT_DATA_LEN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/comm/read_command.c b/software/cinit/browse_source/cinit-0.3pre15/src/comm/read_command.c deleted file mode 100644 index 3cc17300..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/comm/read_command.c +++ /dev/null @@ -1,66 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * cinit reads a command sent by a client, called by ipc listener - * - */ - -#include "cinit.h" /* structures */ -#include "intern.h" /* answer_svc_status() */ - -int read_command(struct cinit_question qsn, struct cinit_answer *asr) -{ - switch (qsn.cmd) { - case CINIT_QSN_GET_VERSION: - if(!answer_version(asr)) - return 0; - break; - - case CINIT_QSN_GET_STATUS: - if(!answer_svc_status(qsn.data, asr)) - return 0; - break; - - case CINIT_QSN_GET_PID: - if(!answer_svc_pid(qsn.data, asr)) - return 0; - break; - - case CINIT_QSN_SVC_DISABLE: - if(!answer_svc_disable(qsn.data, asr)) - return 0; - break; - - /* - * FIXME: stopped here case CINIT_MSG_SVC_ENABLE: - * if(!answer_svc_enable(qsn.data, asr)) return 0; break; - */ - - /* - * Unknown command: should not happen :-) - */ - default: - return 0; - break; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre15/src/core/build_argv.c deleted file mode 100644 index 89d50626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/core/build_argv.c +++ /dev/null @@ -1,193 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "intern.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX + 1]; - char *sbuf = NULL; - char *p; - - /* - * sane values - */ - bav->argv = NULL; - bav->envp = NULL; - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename, pathtmp, PATH_MAX)) == -1) { - /* - * nothing there? - */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if(errno != EINVAL) { - return BA_E_OTHER; - } - tmp = strlen(basename); - strncpy(pathtmp, basename, tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; neither - * readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) - return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) - return BA_E_MEM; - - strncpy(*(bav->argv), pathtmp, tmp); - - /********************** read params *********************/ - /* - * FIXME check bounds! - */ - strcpy(pathtmp, basename); - strcat(pathtmp, C_PARAMS); - /* - * ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL ORC_OK: Ok, have a filled - * buffer (perhaps NULL, too) other: Error, print errno - */ - tmp = openreadclose(pathtmp, &sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) - return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p + 1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) - return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp, basename); - strcat(pathtmp, C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp, &sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) - return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - sbuf = p + 1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre15/src/core/cinit.c deleted file mode 100644 index eb214502..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/core/cinit.c +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ -#include /* struct sigaction */ - -#include "intern.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc-intern.h" /* gen_svc_tree */ -#include "signals.h" /* signals used by cinit */ - -struct listitem *svc_list = NULL; /* services in a dependency tree */ -struct dep *deps_pending = NULL; /* the first services to be started */ -int svc_exited; /* did some service exit? */ - -struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END]; -int cinit_global_signals[SIGCINIT_END]; - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ - - /* - * Is this really needed? pid_t cpid; - * - * if(cpid != 1) { mini_printf(CINIT_VERSION,2); mini_printf(MSG_USAGE,2); - * return 0; } - */ - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING, 1); mini_printf(initdir, 1); mini_printf("\n", 1); - - /* Should we start a profile? */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc - 1], strlen(PROFILE))) { - initdir = malloc(strlen(CINIT_SVCDIR) + - strlen(&argv[argc - 1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc - 1][strlen(PROFILE)]); - break; - } - --argc; - } - - /* no configuration? - panic! */ - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize communication (IPC) */ - if(!cinit_ipc_init()) panic(); - - /* Init signal handler */ - signal_init_map(sigstages, cinit_global_signals); - set_signals(SIGSTAGE_DAEMON); - - /* build service dependency tree */ - if(!gen_svc_tree(initdir)) panic(); - - /* unused now, free if allocated */ - if(strcmp(initdir, CINIT_INIT)) free(initdir); - - /* FIXME: what todo? - * change to /, so applications have that as cwd, too Is that really - * seneful? Does that help any application? If not, just for looking nice, - * that's not a reason to enable it. if(chdir(SLASH) == -1) { - * print_errno(SLASH); panic(); } - */ - - /* the main startup routine */ - if(!tree_exec(deps_pending)) panic(); - - /* listen to commands after startup */ - while(1) { - /* react on service changes (=process exited) */ - if(svc_exited) svc_status_changed(deps_pending); - - /* handle the changes */ - if(deps_pending) svc_handle_pending(deps_pending); - - /* listen until we get a message or get interrupted */ - cinit_ipc_listen(); - - /* - * check dependency list: perhaps we need to restart something - */ - /* - * implement in cinit-0.3pre14/5 - */ - - // tree_exec(deps_pending); - // reuse tree_exec()? - // if(dep) { svc_start() .. ? - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre15/src/core/do_reboot.c deleted file mode 100644 index b9a3b8a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/core/do_reboot.c +++ /dev/null @@ -1,93 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Reboot: includes shutdown, reboot and poweroff - */ - -#include /* kill() */ -#include /* exit */ - -#include "signals.h" /* signal handling */ -#include "reboot.h" /* cinit_poweroff&co */ -#include "messages.h" /* messages */ -#include "svc-intern.h" /* shutdown_services */ -#include "intern.h" /* many functions */ -#include "ipc.h" /* disable ipc */ - -void do_reboot(int signal) -{ - /* - * do not listen to client requests anymore - * and tell the user what happens - */ - LOG(MSG_SHUTDOWN_START); - cinit_ipc_destroy(); - set_signals(SIGSTAGE_REBOOT); - - /* - * shutdown all services: take care about the dependency tree - */ - LOG(MSG_SHUTDOWN_SVC); - shutdown_services(svc_list); - - /* - * now: all services are down, let's kill all other processes - */ - LOG(MSG_SHUTDOWN_TERM); - if(kill(-1, SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - LOG(MSG_SHUTDOWN_KILL); - if(kill(-1, SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* - * Execute the last command - */ - LOG(MSG_SHUTDOWN_LAST); - execute_and_wait(CINIT_LAST); - - /* - * do what we really wanted to do - */ - switch (signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } - /* - * FIXME: should we exit? - */ - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre15/src/core/panic.c deleted file mode 100644 index 16d6ed11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/core/panic.c +++ /dev/null @@ -1,50 +0,0 @@ - -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Execute something - */ - -#include /* execv */ - -#include "intern.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) - _exit(0); - - /*********************************************************************** - * In case nothing helps, try to execute something that is always there. - * (conf/c_desaster) - */ - nargv[0] = C_DESASTER; - nargv[1] = NULL; - - if(execv(nargv[0], nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* We tried everything possible, die now. */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre15/src/core/set_signals.c deleted file mode 100644 index 41ccfc8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/core/set_signals.c +++ /dev/null @@ -1,65 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set signal handlers - */ - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ - -//#include "intern.h" /* defines */ -//#include "reboot.h" /* reboot related */ -#include "signals.h" /* reboot related */ - -void set_signals(int stage) -{ - int i; - - for(i = 0; i < SIGCINIT_END; i++) { - sigaction(cinit_global_signals[i], &sigstages[stage][i], NULL); /* what - * todo - * when - * a - * child - * exited - */ - } - -// struct sigaction sa; - // sigemptyset(&sa.sa_mask); /* no other signals should be blocked */ - // sa.sa_flags = 0; -// if(action == ACT_SERV) { -// sa.sa_handler = sig_child; -// sa.sa_flags = SA_NOCLDSTOP; -// } else { -// sa.sa_handler = SIG_DFL; -// } - -// sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - -// sa.sa_flags = 0; /* reset flags */ -// if(action == ACT_SERV) { -// sa.sa_handler = do_reboot; -// } -// sigaction(SIG_CINIT_HALT, &sa, NULL); /* halt */ -// sigaction(SIG_CINIT_POWEROFF, &sa, NULL); /* poweroff */ -// sigaction(SIG_CINIT_REBOOT, &sa, NULL); /* reboot */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre15/src/core/sig_child.c deleted file mode 100644 index 08f15c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/core/sig_child.c +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * The child handler (may *not* exec other functions!) - * - */ - -#include "svc-intern.h" /* marking */ - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - tmp = 2; /* FIXME: how to tell stupid gcc that tmp is a must? */ - svc_exited = 1; /* FIXME: catch possible race conditions in svc_status_changed() */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/core/signal_init_map.c b/software/cinit/browse_source/cinit-0.3pre15/src/core/signal_init_map.c deleted file mode 100644 index a07395f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/core/signal_init_map.c +++ /dev/null @@ -1,66 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Define signal handlers / actions for the different internal stages - */ - -#include -#include "signals.h" -#include "reboot.h" -#include "intern.h" - -void signal_init_map(struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END], - int cinit_signals[SIGCINIT_END]) -{ - /* - * First map signals to index - */ - cinit_signals[SIGCINIT_HALT] = SIGUSR1; - cinit_signals[SIGCINIT_POWEROFF] = SIGTERM; - cinit_signals[SIGCINIT_REBOOT] = SIGHUP; - cinit_signals[SIGCINIT_CHILD] = SIGCHLD; - - /* - * Then add the actions for daemon - */ - sigstages[SIGSTAGE_DAEMON][SIGCINIT_HALT].sa_handler = do_reboot; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_POWEROFF].sa_handler = do_reboot; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_REBOOT].sa_handler = do_reboot; - - sigstages[SIGSTAGE_DAEMON][SIGCINIT_CHILD].sa_handler = sig_child; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_CHILD].sa_flags = SA_NOCLDSTOP; - - /* - * Then add the actions for client (=fork> - */ - sigstages[SIGSTAGE_CLIENT][SIGCINIT_HALT].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_POWEROFF].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_REBOOT].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_CHILD].sa_handler = SIG_DFL; - - /* - * Then add the actions for shutdown - */ - sigstages[SIGSTAGE_REBOOT][SIGCINIT_HALT].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_POWEROFF].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_REBOOT].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_CHILD].sa_handler = SIG_IGN; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre15/src/generic/execute_and_wait.c deleted file mode 100644 index 3816e5c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/generic/execute_and_wait.c +++ /dev/null @@ -1,52 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* - * fork - */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* - * exec / child - */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* - * wait / parent - */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre15/src/generic/execute_sth.c deleted file mode 100644 index 79197769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/generic/execute_sth.c +++ /dev/null @@ -1,41 +0,0 @@ - -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ - -#include "intern.h" -#include "build_argv.h" -#include "messages.h" /* D_PRINTF */ - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - tmp = cinit_build_argv(basename, &bav); - if((tmp = cinit_build_argv(basename, &bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - /* - * tell the user what we execute - */ - mini_printf(MSG_INTRO_EXEC, 1); - mini_printf((bav.argv)[0], 1); - mini_printf("\n", 1); - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for - * cinit to recognize it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre15/src/generic/file_exists.c deleted file mode 100644 index 72294eba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/generic/file_exists.c +++ /dev/null @@ -1,66 +0,0 @@ - -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* errno */ -#include /* stat */ -#include /* NULL */ - -#include "intern.h" /* print_errno() */ -#include "svc-intern.h" /* svc_report_status() */ -#include "messages.h" /* messages.. */ - -int file_exists(char *filename) -{ - struct stat buf; - - /* - * check: - is it a link? if so, is it broken? report! - is it non existent? - * -> return non-existent - is it existent, but not a regular file? report! - */ - if(lstat(filename, &buf) == -1) { /* lstat fails? */ - if(errno == ENOENT) { - /* - * FIXME: remove later - */ - printf("%s is not existing! => ok, most likely\n", filename); - return FE_NOT; - } else { - mini_printf("anderer fehler.\n", 1); - print_errno(filename); - return FE_ERR; - } - } else { - if(S_ISLNK(buf.st_mode)) { /* is a link */ - /* - * check link destination - */ - if(stat(filename, &buf) == -1) { /* do real stat(): */ - if(errno == ENOENT) { - svc_report_status(filename, MSG_BROKENLINK, NULL); - return FE_NOLINK; - } else { - /* - * FIXME: MSG_*, ?? - */ - mini_printf("anderer fehler.\n", 1); - print_errno(filename); - return FE_ERR; - } - } - } - } /* caught all stat() errors */ - - if(!S_ISREG(buf.st_mode)) { - svc_report_status(filename, MSG_NONREGULAR, NULL); - return FE_OTHER; - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre15/src/generic/mini_printf.c deleted file mode 100644 index 752a2187..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/generic/mini_printf.c +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str, int fd) -{ - char *p; - - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd, str, (size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre15/src/generic/openreadclose.c deleted file mode 100644 index e9d65961..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/generic/openreadclose.c +++ /dev/null @@ -1,77 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "intern.h" /* ORC_* */ - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - *where = NULL; - - /* - * what a wonderful loop - */ - while((fd = open(filename, O_RDONLY)) == -1) { - if(errno == ENOENT) - return ORC_ERR_NONEXISTENT; - if(errno != EINTR) - return ORC_ERR_OPEN; - } - - cnt = 0; - while(1) { - tmp = read(fd, buf, 512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where, cnt + 1); - if(*where == NULL) - return ORC_ERR_MEM; - - /* - * FIXME check correctness of copied buffer... and get some sleep..soon, - * very soon! - */ - strncpy(&(*where)[cnt - tmp], buf, tmp); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) - continue; - return ORC_ERR_CLOSE; - } - - /* - * terminate string! - */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre15/src/generic/path_absolute.c deleted file mode 100644 index 9bafdc7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/generic/path_absolute.c +++ /dev/null @@ -1,56 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * create an absulte path - * - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX + 1]; - - if(!getcwd(oldpath, PATH_MAX + 1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath, size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre15/src/generic/path_append.c deleted file mode 100644 index 084cc4c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/generic/path_append.c +++ /dev/null @@ -1,31 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end - 1], SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) - return 0; - strcat(path, SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) - return 0; - } - strcat(path, append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre15/src/generic/print_errno.c deleted file mode 100644 index 9aeab78f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/generic/print_errno.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre15/src/generic/sleep_before_kill.c deleted file mode 100644 index d32ca274..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,56 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Let's sleep a little bit - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE, &content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) - tmp = SLEEP_KILL; - free(content); - } else { - mini_printf(MSG_BUILTIN_SLEEP, 1); - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts, NULL) == -1) { - print_errno(MSG_ERR_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre15/src/generic/strip_final_newline.c deleted file mode 100644 index 924a23b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/generic/strip_final_newline.c +++ /dev/null @@ -1,36 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* - * don't get fooled by bad pointers - */ - if(str == NULL) { - return NULL; - } - - p = strrchr(str, '\n'); - if(p) { - if(*(p + 1) == '\0') { - *p = '\0'; /* DO NOT FORGET TO TERMINATE STRING */ - str = realloc(str, (p - str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre15/src/generic/usage.c deleted file mode 100644 index 5b4a26d7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/generic/usage.c +++ /dev/null @@ -1,24 +0,0 @@ - -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * usage: tell the user what's wrong and a help text - * - */ - -#include /* _exit() */ -#include "intern.h" /* mini_printf */ - -void usage(char *banner, char *text) -{ - /* - * print banner + error message - */ - mini_printf(banner, 1); - mini_printf(text, 1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre15/src/include/build_argv.h deleted file mode 100644 index 18b7bf5b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/build_argv.h +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre15/src/include/cinit.h deleted file mode 100644 index 2f7421b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/cinit.h +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Header file for external programs (in theory) - */ - -#ifndef __CINIT_EXTERNAL_HEADER -#define __CINIT_EXTERNAL_HEADER - -/* includes */ -#include /* required for functions */ -#include /* PATH_MAX */ -#include /* pid_t */ - -/* limits */ -#define CINIT_DATA_LEN (PATH_MAX+1) - -/* - * structures: independent of the ipc code! - */ - -/* messages from the client */ -struct cinit_question { - uint32_t cmd; - uint32_t opt; - char data[CINIT_DATA_LEN]; -}; - -/* messages from cinit */ -struct cinit_answer { - uint32_t ret; - uint32_t opt; - char data[CINIT_DATA_LEN]; -}; - -/*********************************************************************** - * codes for messages - */ -enum { /* questions */ - CINIT_QSN_GET_STATUS = 0x01, /* status of a service */ - CINIT_QSN_GET_PID = 0x02, /* get pid of a service */ - CINIT_QSN_GET_VERSION = 0x04, /* version of cinit */ - CINIT_QSN_SVC_DISABLE = 0x08, /* service: stop */ - CINIT_QSN_SVC_ENABLE = 0x10, /* service: start */ - CINIT_QSN_SVC_NEEDS = 0x20, /* in/exclude needs */ - CINIT_QSN_SVC_WANTS = 0x40, /* in/exclude wants */ - CINIT_QSN_SVC_LIST = 0x80, /* list services */ - - CINIT_QSN_QUESTION_END = 0xffff /* last message */ -}; - -enum { /* answers */ - CINIT_ASW_IPC_ERROR = 0x00, /* bad error */ - CINIT_ASW_OK = 0x01, /* general ok value */ - CINIT_ASW_SVC_UNKNOWN = 0x04, /* Services is not known */ - CINIT_ASW_SVC_DISABLED = 0x08, /* service: stop */ - CINIT_ASW_SVC_ENABLED = 0x10, /* service: start */ - CINIT_ASW_SVC_ERR = 0x20, /* in/excluded needs */ - CINIT_ASW_SVC_WANTS = 0x40, /* in/excluded wants */ - CINIT_ASW_SVC_NEEDS = 0x80, /* in/excluded needs */ - CINIT_ASW_ERR_INTERN = 0x100, /* cinit internal error */ - - CINIT_ASW_ANSWER_END = 0xffff /* last message */ -}; - -enum cinit_svc_flags { - CINIT_CMD_SVC_WANTS = 'w', - CINIT_CMD_SVC_NEEDS = 'n' -}; - -struct cinit_msg_msg { - int code; - char *msg; -}; - -//struct cinit_msg_msg cinit_codes2messages[] = { - -//} - -/* functions */ -int cinit_send_to(struct cinit_question *, struct cinit_answer *); -void cinit_cp_data(char data[], char *src); - -void cinit_prepare_comm(struct cinit_question *qsn, - struct cinit_answer *asr, - uint32_t cmd); - -uint32_t cinit_flag_to_uint32_t(char *); -uint32_t cinit_get_version(char *); -uint32_t cinit_svc_disable(char *svc, uint32_t flag); -uint32_t cinit_svc_enable(char *svc, uint32_t flag); -uint32_t cinit_svc_get_pid(char *, pid_t *status); -uint32_t cinit_svc_get_status(char *, uint32_t *); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/cmd.h b/software/cinit/browse_source/cinit-0.3pre15/src/include/cmd.h deleted file mode 100644 index eb29be93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/cmd.h +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Header file for the cmd (cinit management) - */ - -#ifndef CINIT_CMD_HEADER -#define CINIT_CMD_HEADER - -#define CMD_USAGE "cmd - cinit management\n\n" \ - "cmd -[de [nw]] -[ps] [service] -[hvV]\n\n" \ - " -d: disable service\n" \ - " n: without needs\n" \ - " Skip needs when en/disabling\n\n"\ - " w: without wants\n" \ - " Skip wants when en/disabling\n" \ - " -e: enable service\n" \ - " see above\n" \ - " -h: get help\n" \ - " this messages" \ - " -p: get process id (pid)\n" \ - " of specified service\n" \ - " -s: get status\n" \ - " of specified service\n" \ - " -v: get version\n" \ - " of cinit\n" \ - " -V: get version\n" \ - " of cmd\n" \ - "" - -#define CMD_OPTIONS "e::d::hpsvV" - -#define MSG_KILL "kill()" -#define CMD_VERSION "0.2" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/intern.h b/software/cinit/browse_source/cinit-0.3pre15/src/include/intern.h deleted file mode 100644 index b214c9cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/intern.h +++ /dev/null @@ -1,125 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * internal stuff only :-) - * - */ - - -#ifndef _CINIT_INTERN_H -#define _CINIT_INTERN_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* structures: answer / question */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_NOLINK, /* file is a broken symbolic link*/ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_LAST CINIT_CONFDIR SLASH C_LAST -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* functions (used by server and client) */ -void mini_printf(char *str, int fd); -//void usage(char *banner, char *stext); - -/* core functions */ -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -//int msg_svc_on_off(char *svc, char action); -//int msg_change_status(char *svc, char status, pid_t pid); -//int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* communication */ -int read_command(struct cinit_question, struct cinit_answer *); -int answer_svc_status(char *, struct cinit_answer *); -int answer_svc_pid(char *, struct cinit_answer *); -int answer_version(struct cinit_answer *); -int answer_svc_disable(char *, struct cinit_answer *); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -void print_errno(char *text); - -#endif /* INTERN */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre15/src/include/ipc.h deleted file mode 100644 index e06bd734..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/ipc.h +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/* FIXME: change to cinit/types.h later */ -#include "cinit.h" - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init */ - -int cinit_ipc_connect(void); /* connect to init */ - -int cinit_ipc_csend(struct cinit_question *); /* ask the server */ -int cinit_ipc_cread(struct cinit_answer *); /* read answer */ - -int cinit_ipc_logoff(void); /* logoff */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/listing b/software/cinit/browse_source/cinit-0.3pre15/src/include/listing deleted file mode 100644 index bccdad37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/listing +++ /dev/null @@ -1,8 +0,0 @@ -include/intern.h -include/config.h -include/ipc.h -include/messages.h -include/os.h -include/reboot.h -include/signals.h -include/svc.h diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre15/src/include/messages.h deleted file mode 100644 index 53bf64bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/messages.h +++ /dev/null @@ -1,169 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * All messages - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -//#define MSG_ERR_DEPS "Too many dependencies" -//#define MSG_ERR_ACCEPT "accept" -//#define MSG_ERR_WAITPID "waitpid" -//#define MSG_ERR_POLL "poll" -//#define MSG_ERR_MODIFY "modify list failed" -//#define MSG_ERR_COMM "Communication failed" - -//#define MSG_ERR_LESS_ARGS "Too less arguments!" -//#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -//#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -//#define LOG_NEED_FAIL "One or more need failed" -//#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# include -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) {} -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ - -/* services: how they should be printed - * /etc/cinit/svc/long/name: started once - * /etc/cinit/svc/long/name: is respawning - * /etc/cinit/svc/long/name: FAILED (why it happened) - */ - -#define MSG_INTRO_CINIT "cinit:" -#define MSG_INTRO_SPACE MSG_INTRO_CINIT " " -#define MSG_INTRO_SVC MSG_INTRO_CINIT -#define MSG_INTRO_STOP MSG_INTRO_CINIT "stop: " -#define MSG_INTRO_EXEC MSG_INTRO_CINIT "exec: " - -/* FIXME: remove/append, but no intro! */ -#define MSG_INTRO_FAIL "FAILED " -#define MSG_INTRO_RESPAWN MSG_INTRO_CINIT "respawn: " -#define MSG_INTRO_OK MSG_INTRO_CINIT "ok: " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" - - -#define MSG_BUILTIN_SLEEP MSG_INTRO_STOP "Using built-in sleep" - -#define MSG_TREE_EXEC MSG_INTRO_SPACE "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_FATAL_PANIC MSG_INTRO_SPACE "I tried everything, but even panic() failed: " -#define MSG_ERR_SLEEP MSG_INTRO_SPACE "Sleep did not succeed" -#define MSG_GETTIMEOFDAY MSG_INTRO_SPACE "gettimeofday() failed!" - -/* execution */ -//#define MSG_EXECUTING MSG_INTRO_EXEC - -/* stat() errors */ -#define MSG_NONREGULAR "Is not a regular file." -#define MSG_BROKENLINK "Is a broken link." - -/* Service messages */ -#define MSG_SVC_START "Starting... " -#define MSG_SVC_STOP "Stoping... " -#define MSG_SVC_RESTART "Restarted." -#define MSG_SVC_SLEEP "Sleeping before restart" -#define MSG_SVC_OK_ONCE "Started once." -#define MSG_SVC_OK_RESPAWN "Is respawning." - -/* Status messages */ -#define MSG_SHUTDOWN_START MSG_INTRO_STOP "\nBeginning the shutdown process..." -#define MSG_SHUTDOWN_SVC MSG_INTRO_STOP "Shutting down services now..." -#define MSG_SHUTDOWN_TERM MSG_INTRO_STOP "Terminating remaining processes..." -#define MSG_SHUTDOWN_KILL MSG_INTRO_STOP "Killing remaining processes..." -#define MSG_SHUTDOWN_LAST MSG_INTRO_STOP "Executing final service..." -#define MSG_POWER_OFF MSG_INTRO_STOP "Powering off..." -#define MSG_HALT MSG_INTRO_STOP "Halting system ..." -#define MSG_REBOOT MSG_INTRO_STOP "Rebooting ..." - -/* client messages */ -#define MSG_HALT_KILL "halt.kill" -#define MSG_REBOOT_KILL "reboot.kill" -#define MSG_POWEROFF_KILL "poweroff.kill" - - -/* reboot */ -#define MSG_TERMKILL MSG_INTRO_FAIL "SIGTERM" -#define MSG_KILLBILL MSG_INTRO_FAIL "SIGKILL" - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre15/src/include/os.h deleted file mode 100644 index d6173a83..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/os.h +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/reboot.h b/software/cinit/browse_source/cinit-0.3pre15/src/include/reboot.h deleted file mode 100644 index 4e490bd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/reboot.h +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * reboot specific functions - * - */ - -#ifndef CINIT_REBOOT_HEADER -#define CINIT_REBOOT_HEADER - -/***************************************************************************** - * the main reboot function - */ -void do_reboot(int signal); - - -/***************************************************************************** - * os specific functions - */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - - -/***************************************************************************** - * Functions: abstract do_reboot - */ -#define cinit_do_reboot() do_reboot(SIGHUP) -#define cinit_do_halt() do_reboot(SIGUSR1) -#define cinit_do_poweroff() do_reboot(SIGTERM) - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/signals.h b/software/cinit/browse_source/cinit-0.3pre15/src/include/signals.h deleted file mode 100644 index 7c5e2e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/signals.h +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Define signals to use: needs signal.h to be included before. - */ - -#ifndef CINIT_SIGNALS_HEADER -#define CINIT_SIGNALS_HEADER - -#define SIG_CINIT_HALT SIGUSR1 -#define SIG_CINIT_POWEROFF SIGTERM -#define SIG_CINIT_REBOOT SIGHUP -#define SIG_CINIT_CHILD SIGCHLD - -enum { - SIGSTAGE_REBOOT, - SIGSTAGE_DAEMON, - SIGSTAGE_CLIENT, - SIGSTAGE_END -}; - -enum { - SIGCINIT_HALT, - SIGCINIT_POWEROFF, - SIGCINIT_REBOOT, - SIGCINIT_CHILD, - SIGCINIT_END -}; - -#include -struct cinit_signal_map { - int signal; - struct sigaction sigstages; -}; - - -void signal_init_map(struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END], int cinit_signals[SIGCINIT_END]); -void set_signals(int stage); - -/* global vars */ -extern int cinit_global_signals[SIGCINIT_END]; /* maps signal codes to index */ -extern struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END]; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/svc-intern.h b/software/cinit/browse_source/cinit-0.3pre15/src/include/svc-intern.h deleted file mode 100644 index 38d3bad0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/svc-intern.h +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Internal service specifics - * - */ - -#ifndef __CINIT_SVC_INTERN_H -#define __CINIT_SVC_INTERN_H - -/* includes */ -#include /* pid_t */ -#include /* int types */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* LEN */ - -/* service tree item */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char abs_path[CINIT_DATA_LEN]; /* name of service */ - uint32_t status; /* current status */ - int waitpid; /* result of last waitpid call */ - pid_t pid; /* pid of service / respawn watcher */ - time_t start; /* time the process was started last time */ - time_t exited; /* time the process exited */ - - - struct dep *wanted_by; /* list of services that want this service */ - struct dep *needed_by; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ - - struct listitem *changed; /* list of changed services */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *deps_pending; /* the services to handle */ -extern struct listitem *svc_list; /* the list of services */ -extern int svc_exited; /* mark change */ - -/* list functions */ -struct listitem *list_insert(char *path, uint32_t status); -int list_delete_byname(char *path); -int list_delete_bypointer(struct listitem *); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -uint32_t svc_set_status(struct listitem *li, uint32_t status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void shutdown_services(struct listitem *start); - -void svc_start(struct listitem *); -void svc_stop_deps(struct listitem *, int); -uint32_t svc_disable(struct listitem *); -int svc_status_changed(); -int svc_handle_pending(struct dep *pending); - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -#endif /* _CINIT_SVC_INTERN_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/svc-messages.h b/software/cinit/browse_source/cinit-0.3pre15/src/include/svc-messages.h deleted file mode 100644 index 14873228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/svc-messages.h +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Service status messages - */ - - -#ifndef __CINIT_SVC_MESSAGES_H -#define __CINIT_SVC_MESSAGES_H - -#include "svc.h" - -struct cinit_svc_msg { - int code; - char *msg; -}; - -struct cinit_svc_msg cinit_svc_msg_codes[] = { - { CINIT_ST_SH_ONCE, "Service should be started once" }, - { CINIT_ST_SH_RESPAWN, "Service should respawn" }, - { CINIT_ST_ONCE_OK, "Service successfully started once" }, - { CINIT_ST_ONCE_FAIL, "Service failed to start once" }, - { CINIT_ST_RESPAWNING, "Service is respawning" }, - { CINIT_ST_NEED_FAILD, "One ore more needs failed" }, - { CINIT_ST_IN_LIST, "Service is in starter list" }, - { CINIT_ST_BAD_ERR, "Some strange error happened" }, - { CINIT_ST_ONCE_RUN, "Service is currently running once" }, - { CINIT_ST_NOT_EXIST, "This service does not exist" } -}; - -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre15/src/include/svc.h deleted file mode 100644 index ac8bc552..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/include/svc.h +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Service status (also exposed to the outside) - */ - - -#ifndef __CINIT_SVC_H -#define __CINIT_SVC_H - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum cinit_svc_status { - /* first define basics */ - CINIT_ST_SH_ONCE = 0x1, /* service SHould be started once yx*/ - CINIT_ST_SH_RESPAWN = 0x2, /* service SHould respawn yx*/ - CINIT_ST_ONCE_OK = 0x4, /* service was successfully started once */ - CINIT_ST_ONCE_FAIL = 0x8, /* service failed to start */ - CINIT_ST_RESPAWNING = 0x10, /* service is respawning */ - CINIT_ST_NEED_FAILD = 0x20, /* this service is not started, need failed x*/ - CINIT_ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - CINIT_ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - CINIT_ST_ONCE_RUN = 0x100, /* the once process is currently running yx*/ - CINIT_ST_NOT_EXIST = 0x200, /* there's no such service in our database */ - CINIT_ST_SH_STOP = 0x400, /* service was running, is being stopped x*/ - CINIT_ST_STOPPED = 0x800, /* service is stopped x*/ - CINIT_ST_STOP_FAIL = 0x1000 /* service failed to stop..strange situation */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum cinit_svc_needs_status { - CINIT_SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - CINIT_SNS_NEEDS_FAILED, /* one ore more needs failed */ - CINIT_SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -/*********************************************************************** - * How to start/stop a service - */ -enum cinit_svc_start_stop_options { - CINIT_SSSO_COMPLETE = 0x0, /* with all dependencies */ - CINIT_SSSO_WO_NEEDS = 0x1, /* without needs */ - CINIT_SSSO_WO_WANTS = 0x2, /* without wants */ - CINIT_SSSO_WO_BOTH = 0x4 /* without both */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq-rt/README b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq-rt/README deleted file mode 100644 index cc1a1b7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq-rt/README +++ /dev/null @@ -1,2 +0,0 @@ -This implementation uses the new realtime inferface of -posix instead of the old one functions. diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq-rt/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq-rt/cinit_ipc_init.c deleted file mode 100644 index ef22b6d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq-rt/cinit_ipc_init.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include - -#include "cinit.h" -#include "config.h" -#include "msgq-rt.h" - -int cinit_ipc_init(void) -{ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq-rt/mq_open.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq-rt/mq_open.c deleted file mode 100644 index 445e7dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq-rt/mq_open.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -int main() -{ - mqd_t readq = mq_open("/test",O_RDWR|O_CREAT|O_EXCL); - //mqd_t readq = mq_open("/bin/ls",O_RDWR|O_CREAT|O_EXCL); - - if(readq == -1) { - perror("oh nein"); - return 1; - } - mqd_t writeq = mq_open("/bin/cp",O_WRONLY|O_CREAT|O_EXCL); - if(readq == -1) { - perror("oh oh nein"); - return 1; - } -} - - diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq-rt/msgq-rt.h b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq-rt/msgq-rt.h deleted file mode 100644 index d09a2808..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq-rt/msgq-rt.h +++ /dev/null @@ -1,39 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#define MSGQ_PATHNAME "/cinit" /* identifier */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_cread.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_cread.c deleted file mode 100644 index ef811fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_cread.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client reads messages from cinit - * - */ - -#include /* msg* */ -#include /* memcpy() */ -#include /* getpid() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msq specific */ - -int cinit_ipc_cread(struct cinit_answer *buf) -{ - struct cinit_msgq_server asr; - - if(msgrcv(__cinit_mq_in, &asr, sizeof(asr.asr), getpid(), 0) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGRCV); - return 0; - } - memcpy(buf, &(asr.asr), sizeof(*buf)); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 04683ab1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client sends messages to cinit - * - */ - -#include /* msgget */ -#include /* memcpy() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structure */ - -int cinit_ipc_csend(struct cinit_question *qsn) -{ - struct cinit_msgq_client msg; - - msg.mtype = 1; /* cinit = 1 */ - - /* copy question structure into the msgq-structure */ - memcpy(&(msg.qsn), qsn, sizeof(msg.qsn)); - - if(msgsnd(__cinit_mq_out, &msg, sizeof(msg.qsn), 0) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGSEND); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 8186cba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ -#include "msgq.h" /* mq_in, mq_out */ -#include "intern.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(__cinit_mq_in, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(__cinit_mq_out, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index d5102f13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* message queue */ - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index fb4aac52..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * Listen to messages - * - */ - -#include /* printf() */ - -#include /* msg* */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structs */ - -int cinit_ipc_listen(void) -{ - int tmp; - struct cinit_msgq_client qsn; - struct cinit_msgq_server asr; - struct msqid_ds msq; - - tmp = msgrcv(__cinit_mq_in, &qsn, sizeof (qsn.qsn), 0, 0); - - /* message system problem */ - if(tmp == -1) { - if(errno != EINTR) { - print_errno(__CINIT_MSG_MSGQ_MSGRCV); - } - return -1; - } - - /* retrieve pid */ - if(msgctl(__cinit_mq_in, IPC_STAT, &msq) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGCTL); - return -1; - } - - if(!read_command(qsn.qsn, &(asr.asr))) { - /* FIXME: mini_print */ - printf("read command failed\n"); - - asr.asr.ret = CINIT_ASW_ERR_INTERN; - } - - asr.mtype = msq.msg_lspid; - if(msgsnd(__cinit_mq_out, &asr, sizeof(asr.asr), 0) == -1) { - /* FIXME: do different things on differen errnos ... */ - print_errno("msgsend/answer"); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index ac8306d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Disconnect from cinit - * - */ - -int cinit_ipc_logoff(void) -{ - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index e15b12f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msgq constants */ - -int cinit_ipc_logon(void) -{ - key_t k_tmp; - - /* generiere nen schluessel: andersrum als im Server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, 0); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, 0); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/msgq.h deleted file mode 100644 index 68398764..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,58 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * header of message queuing interface - * - */ - -#ifndef __CINIT_IPC_HEADER -#define __CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define __CINIT_MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define __CINIT_MSGQ_TO_SERVER 'i' /* also for ftok */ -#define __CINIT_MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define __CINIT_MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables: FIXME: rename, we're in client namespace! - */ -int __cinit_mq_in; /* input */ -int __cinit_mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct cinit_msgq_client { - long mtype; - struct cinit_question qsn; -}; - -/* messages _from_ the server _to_ the client */ -struct cinit_msgq_server { - long mtype; - struct cinit_answer asr; -}; - -/*********************************************************************** - * Messages - */ - -#define __CINIT_MSG_MSGQ_FTOK "ftok" -#define __CINIT_MSG_MSGQ_MSGGET "msgget" -#define __CINIT_MSG_MSGQ_MSGCTL "msgctl" -#define __CINIT_MSG_MSGQ_MSGSEND "msgsend" -#define __CINIT_MSG_MSGQ_MSGRCV "msgrcv" -#define __CINIT_MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/socket+linux-tmpfs/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/socket+linux-tmpfs/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/socket+linux-tmpfs/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/socket+linux-tmpfs/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre15/src/ipc/socket+linux-tmpfs/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/ipc/socket+linux-tmpfs/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/README b/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/README deleted file mode 100644 index 096cc779..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/README +++ /dev/null @@ -1,22 +0,0 @@ -Build a small library that can be used by different applications, that provides: - - Constants / Macros: - for cinit_halt: - CINIT_HALT - CINIT_REBOOT - CINIT_POWEROFF - - for cinit_svc_start/stop: - CINIT_SVC_NORMAL - CINIT_SVC_NEEDS - CINIT_SVC_ONLY - CINIT_SVC_WANTS - - Functions: - void cinit_halt(int how); - int cinit_svc_start(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - -This lib must then include: - - choosen ipc functions diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_flag_to_uint32_t.c b/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_flag_to_uint32_t.c deleted file mode 100644 index 89949c8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_flag_to_uint32_t.c +++ /dev/null @@ -1,46 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Converts cher * to uint32_t for svc operations - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* integers */ - -#include "cinit.h" /* constants */ - -uint32_t cinit_flag_to_uint32_t(char *flag) -{ - uint32_t ret = 0; /* no flags */ - - if(flag != NULL) { - if(strchr(flag, CINIT_CMD_SVC_NEEDS)) { - ret |= CINIT_QSN_SVC_NEEDS; - } - if(strchr(flag, CINIT_CMD_SVC_WANTS)) { - ret |= CINIT_QSN_SVC_WANTS; - } - } - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_get_version.c b/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_get_version.c deleted file mode 100644 index 794e25bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_get_version.c +++ /dev/null @@ -1,38 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves version of cinit - */ - -#include "cinit.h" /* header for clients */ - -uint32_t cinit_get_version(char *buf) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_VERSION); - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - cinit_cp_data(buf, asr.data); - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_halt.c b/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_halt.c deleted file mode 100644 index f5e9c96a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_halt.c +++ /dev/null @@ -1,39 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * purpose_of_this_file_is_also_there_behind_the_big_header - * - */ - -#include "" /* include global header */ -int cinit_halt(int how) -{ - switch (how) { - case 'p': /* power off */ - break; - - default: - break; - } -} - -return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_prepare_comm.c b/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_prepare_comm.c deleted file mode 100644 index 8badc744..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_prepare_comm.c +++ /dev/null @@ -1,37 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Prepares the communication - */ - -#include /* str*, memset */ -#include /* uint32_t */ - -#include "cinit.h" /* header for clients */ - -void cinit_prepare_comm(struct cinit_question *qsn, struct cinit_answer *asr, - uint32_t cmd) -{ - memset(qsn, '\0', sizeof(struct cinit_question)); - memset(asr, '\0', sizeof(struct cinit_answer)); - - qsn->cmd = cmd; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_send_to.c b/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_send_to.c deleted file mode 100644 index cfd3a35c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_send_to.c +++ /dev/null @@ -1,41 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * sends data from the client to cinit - * - */ - -#include "ipc.h" /* IPC */ -#include "cinit.h" /* struct cinit_message */ - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) -{ - if(!cinit_ipc_logon()) - return 0; - if(!cinit_ipc_csend(data)) - return 0; - if(!cinit_ipc_cread(res)) - return 0; - if(!cinit_ipc_logoff()) - return 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_svc_disable.c b/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_svc_disable.c deleted file mode 100644 index 6c25c330..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_svc_disable.c +++ /dev/null @@ -1,68 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Disables a service - * - */ - -#include /* integers */ - -#include "cinit.h" /* header for clients */ - -/* - * to cinit: - * disable + flags - * from cinit: - * status - * unknown service - * disabled the service - * - * disabled the service and needs - * disabled the service and wants - * disabled the service and needs and wants - * - * if it is one of the last three it follows - * uint32_t num: how many services stopped - * num times - * - * uint32_t len (excluding \0) - * char name[] - */ - -uint32_t cinit_svc_disable(char *svc, uint32_t flag) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_SVC_DISABLE); - cinit_cp_data((qsn.data), svc); - - qsn.opt = flag; - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - /* - * FIXME: 0.3pre15: add retrieval of services - */ - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_svc_enable.c b/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_svc_enable.c deleted file mode 100644 index 701a2b89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_svc_enable.c +++ /dev/null @@ -1,48 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves pid of a service - * - */ - -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_enable(char *svc, uint32_t flag) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_SVC_ENABLE); - cinit_cp_data((qsn.data), svc); - - qsn.opt = flag; - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - /* - * add logic to display started services here or: add logic to start - * dependend services in here: want to start a -> cinit returns needs b - */ - - return CINIT_ASW_IPC_ERROR; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_svc_get_pid.c b/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_svc_get_pid.c deleted file mode 100644 index 715fe953..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_svc_get_pid.c +++ /dev/null @@ -1,44 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves pid of a service - * - */ - -#include /* pid_t */ -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_get_pid(char *name, pid_t * status) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_PID); - cinit_cp_data((qsn.data), name); - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - *status = asr.opt; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_svc_get_status.c b/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_svc_get_status.c deleted file mode 100644 index be8a1a4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/libcinit/cinit_svc_get_status.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves status of a service - * - */ - -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_get_status(char *name, uint32_t * status) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_STATUS); - cinit_cp_data((qsn.data), name); - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - *status = asr.opt; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/cinit deleted file mode 100644 index 577bcf6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/cinit +++ /dev/null @@ -1,62 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/set_signals.o -core/signal_init_map.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/gen_halt_tree.o -svc/list_delete_byname.o -svc/list_delete_bypointer.o -svc/list_insert.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/svc_handle_pending.o -svc/svc_status_changed.o -svc/svc_disable.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/shutdown_services.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_fail.o -svc/svc_start.o -svc/svc_stop_deps.o -comm/read_command.o -comm/answer_svc_status.o -comm/answer_svc_pid.o -comm/answer_version.o -comm/cinit_cp_data.o -comm/answer_svc_disable.o diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/cmd b/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/cmd deleted file mode 100644 index a32be1f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/cmd +++ /dev/null @@ -1,17 +0,0 @@ -client/cmd.o -comm/cinit_cp_data.o -generic/print_errno.o -generic/path_absolute.o -generic/mini_printf.o -ipc/current/cinit_ipc_logon.o -ipc/current/cinit_ipc_csend.o -ipc/current/cinit_ipc_cread.o -ipc/current/cinit_ipc_logoff.o -libcinit/cinit_get_version.o -libcinit/cinit_send_to.o -libcinit/cinit_svc_get_pid.o -libcinit/cinit_svc_get_status.o -libcinit/cinit_prepare_comm.o -libcinit/cinit_svc_enable.o -libcinit/cinit_svc_disable.o -libcinit/cinit_flag_to_uint32_t.o diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/halt.kill b/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/halt.kill deleted file mode 100644 index e5b12a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/halt.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/halt.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/poweroff.kill b/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/poweroff.kill deleted file mode 100644 index 306fc0bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/poweroff.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/poweroff.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/reboot.kill b/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/reboot.kill deleted file mode 100644 index f851badf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/object_lists/reboot.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/reboot.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre15/src/os/freebsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre15/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre15/src/os/freebsd/poweroff.c deleted file mode 100644 index c73dd079..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre15/src/os/freebsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre15/src/os/linux/halt.c deleted file mode 100644 index 5ee3eb53..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre15/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre15/src/os/linux/poweroff.c deleted file mode 100644 index c7d2b1c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre15/src/os/linux/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre15/src/os/netbsd/halt.c deleted file mode 100644 index 972aecf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/netbsd/halt.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre15/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre15/src/os/netbsd/poweroff.c deleted file mode 100644 index 17d7b259..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre15/src/os/netbsd/reboot.c deleted file mode 100644 index 14313e17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/netbsd/reboot.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre15/src/os/openbsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre15/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre15/src/os/openbsd/poweroff.c deleted file mode 100644 index bf4120e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre15/src/os/openbsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/check_add_deps.c deleted file mode 100644 index b3fcd691..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/check_add_deps.c +++ /dev/null @@ -1,128 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Add dependencies to a service - */ - -#include /* getcwd */ - -#include /* DIR */ -#include /* errno */ - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_* */ -#include "svc-intern.h" /* DEP_* */ - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX + 1]; - char oldpath[PATH_MAX + 1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath, PATH_MAX + 1)) { - print_errno(MSG_GETCWD); - return 0; - } - - /* Create path */ - strncpy(buf, svc->abs_path, PATH_MAX+1); - if(type == DEP_NEEDS) { - if(!path_append(buf, C_NEEDS)) return 0; - } else { - if(!path_append(buf, C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent = readdir(d_tmp)) != NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* - * skip non-working directories / broken links path_absolute reports - * errors on failure - */ - if(!path_absolute(tdirent->d_name, buf, PATH_MAX + 1)) continue; - - /* 1. create the service we depend on 2. initialize its dependencies */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* - * We need ALL dependencies, as we are called only once per service; no - * need to test that first! And the other service CANNOT know anything - * about us yet, so we always add us to its list. - */ - - /* - * Dependencies: - a.needs b; add b to the list of dependencies. - - * a.needs b; add a to the list of needed by b. 1. check whether the - * dependency already exists 2. otherwise add it 3. do it once for needs, - * once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - /* add us to the other service */ - dep_entry_add(&(new_svc->needed_by), deps); - - /* add other service to us */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs), deps); - } else { - /* add us to the other service */ - dep_entry_add(&(new_svc->wanted_by), deps); - - /* add other service to us */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants), deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/dep_create.c deleted file mode 100644 index 1bf513ee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/dep_create.c +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc-intern.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/dep_entry_add.c deleted file mode 100644 index 41b67d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/dep_entry_add.c +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Add a new item to a (non-)empty list - */ - -#include "svc-intern.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(!(*deplist)) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/dep_entry_del.c deleted file mode 100644 index 460b37ce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/dep_entry_del.c +++ /dev/null @@ -1,55 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc-intern.h" /* struct *dep */ - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* - * last service in the list - */ - if(del->next == del && del->prev == del) { - tmp = NULL; - } else { - /* - * remove from list - */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/dep_needs_wants_add.c deleted file mode 100644 index cfb7b242..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ -#include "svc-intern.h" /* struct *dep */ -#include "svc.h" /* struct *dep */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed_by; - } else { - end = svc->wanted_by; - } - - /* - * Place to the first dependency of this service - */ - tmp = end; - if(tmp != NULL) { - do { - /* - * Add service to the starter list, which - should be started once - - * should be respawned (both VIRGIN services!) - and which are not - * already in the list! - */ - if(((tmp->svc->status & CINIT_ST_SH_ONCE) || - (tmp->svc->status & CINIT_ST_SH_RESPAWN)) && - !(tmp->svc->status & CINIT_ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= CINIT_ST_IN_LIST; - dep_entry_add(list, new); - } - - /* - * FIXME: Clearify if we should go forward or backwards? this decision - * will influence starting order and may thereby add a minimal mount - * of speed enhancement As far as I can see it is not predictable, - * which way is better, because it heavily depends on the other - * services. If you know better, provide me with a patch ;-) - */ - - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/gen_halt_tree.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/gen_halt_tree.c deleted file mode 100644 index fee84d11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/gen_halt_tree.c +++ /dev/null @@ -1,64 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * This function reads the full service tree and generates - * a list of services to begin shutdown (those that are not - * wanted or needed by any other service). - */ - -#include /* NULL */ - -#include "svc-intern.h" /* structs */ -#include "intern.h" /* structs */ - -struct dep *gen_halt_list(struct listitem *svc_tree) -{ - struct dep *list = NULL, *new = NULL; - struct listitem *tmp; - - /* - * no tree? nothing to shutdown. - */ - if(!svc_tree) { - return NULL; - } - - /* - * find all services that do not depend on other services: - empty wants? - * (currently ignore them) - empty needs! - */ - tmp = svc_tree; - do { - if(tmp->needs == NULL) { - /* - * create new dependency - */ - new = dep_create(tmp); - if(!new) - return NULL; - - dep_entry_add(&list, new); - } - tmp = tmp->next; - } while(tmp != svc_tree); - - return list; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/gen_svc_tree.c deleted file mode 100644 index ceb4acf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Pre calculate the service tree (recursive calling) - */ - -#include - -#include "intern.h" /* functions */ -#include "svc.h" /* constants */ -#include "svc-intern.h" /* functions */ - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li = list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li = svc_create(svc))) return NULL; - - /* add dependencies */ - if(!check_add_deps(li, DEP_NEEDS)) return NULL; - if(!check_add_deps(li, DEP_WANTS)) return NULL; - - /* If it has no dependencies, then the service is a start service. */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&deps_pending, deps); - - /* - * Mark it as being in the startup list, so it does not get added again - * in a dep_needs_wants_add call - */ - li->status |= CINIT_ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_delete_byname.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_delete_byname.c deleted file mode 100644 index 5bceb289..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_delete_byname.c +++ /dev/null @@ -1,47 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* free */ -#include "intern.h" /* list_search */ -#include "svc-intern.h" /* listitem */ - -/* ... */ -int list_delete_byname(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if(tmp == NULL) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - - free(tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_delete_bypointer.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_delete_bypointer.c deleted file mode 100644 index d50b51b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_delete_bypointer.c +++ /dev/null @@ -1,42 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* free */ -#include "svc-intern.h" /* listitem */ - -int list_delete_bypointer(struct listitem *li) -{ - /* FIXME: add warning? this case should not happen */ - if(li == NULL) { - return 0; - } - - li->next->prev = li->prev; - li->prev->next = li->next; - - free(li); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_display_all.c deleted file mode 100644 index b94758f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_display_all.c +++ /dev/null @@ -1,49 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ - -#include "messages.h" /* D_PRINTF */ -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return 0; - } else { - tmp = svc_list; - } - - do { - D_PRINTF("Service: "); - D_PRINTF(tmp->abs_path); - D_PRINTF("\n"); - - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_insert.c deleted file mode 100644 index 9f87be69..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_insert.c +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Insert service into service list - * - */ - -#include /* uint32_t */ -#include /* malloc */ -#include /* bzero / memset */ -#include "svc-intern.h" /* the list pointer */ - -struct listitem *list_insert(char *path, uint32_t status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - cinit_cp_data(tmp->abs_path, path); - - tmp->status = status; - tmp->pid = 0; - tmp->changed = NULL; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_modify.c deleted file mode 100644 index f527d98d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_modify.c +++ /dev/null @@ -1,57 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED. Not in use anymore. - * - * List handling - */ - -#error "NOT IN USE" - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if(tmp == NULL) { - return 0; - } - - /* - * delete objects, which are killed - */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_search.c deleted file mode 100644 index ff4578c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_search.c +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "svc-intern.h" /* struct listitem */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) return NULL; - - tmp = svc_list; - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_search_pid.c deleted file mode 100644 index 0633d95e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/list_search_pid.c +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Search by pid - * - */ - -#include /* NULL */ -#include /* pid_t */ -#include "svc-intern.h" /* struct listitem */ - -inline struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) return NULL; - - tmp = svc_list; - - do { - if(pid == tmp->pid) return tmp; /* found service */ - - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/shutdown_services.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/shutdown_services.c deleted file mode 100644 index e17dea04..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/shutdown_services.c +++ /dev/null @@ -1,48 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Shutdown all services: This is more or less the negative - * version of 'tree_exec()' - */ - -#include "svc-intern.h" /* struct */ -#include "svc.h" /* defines */ - -void shutdown_services(struct listitem *svc) -{ - /* - * The shutdown procedure: - * - * - take the list of running services - * - begin at the first (could be any) service and - * - shutdown all services that depend on that service - * --> recursive - * - take the next service (if there is still one ;-) - */ - - while(svc) { - svc_stop_deps(svc, CINIT_SSSO_COMPLETE); - svc = svc->next; - list_delete_bypointer(svc->prev); - } - - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_add_needs.c deleted file mode 100644 index be6c6312..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_add_needs.c +++ /dev/null @@ -1,92 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED! - * - * List handling - */ - -#error "NOT IN USE" - -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - /* - * retrieve service entries in global service list - */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* - * and exit if one is missing - */ - if(!svc_needs || !svc_is_needed) { - return 0; - } - - /* - * first add needs - */ - - /* - * now add needed_by - */ - - malloc... /* for adding */ - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* - * write generic function for dependencies or even all lists - */ - dep_entry_add(list_pointer, new_entry); - - if(list == NULL) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path, path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_create.c deleted file mode 100644 index 081a1b78..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_create.c +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Create a service, checking for existence is done before. - */ - -#include /* NULL */ -#include /* stat */ -#include /* errno */ - -#include "svc.h" /* constants */ -#include "svc-intern.h" /* listitem */ -#include "intern.h" /* path_append */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -struct listitem *svc_create(char *svc) -{ - char buf[CINIT_DATA_LEN]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc, -1); - if(!li) return NULL; - - cinit_cp_data(buf, svc); - if(!path_append(buf, C_RESPAWN)) return NULL; - - if(stat(buf, &statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li, CINIT_ST_SH_ONCE); - } else { - return NULL; - } - } else { - svc_set_status(li, CINIT_ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_disable.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_disable.c deleted file mode 100644 index e0704bfc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_disable.c +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Stop a service - * - * Status: Written, looks finished, but untested. - * - * respawn: - * - disable respawning: set status to ST_RESPAWN_STOP - * - send term signal? no => can be done in "off" - * => set environment CINIT_SVC_PID - * once and respawn: - * - look for 'off' binary, execute if present - * - mark service as off or delete it? - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* waitpid */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ -#include "cinit.h" /* CINIT_DATA_LEN */ -#include "signals.h" /* signal handling */ - -uint32_t svc_disable(struct listitem *li) -{ - char buf[CINIT_DATA_LEN]; - - svc_set_status(li, CINIT_ST_SH_STOP); - - li->pid = fork(); - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path, MSG_SVC_FORK, strerror(errno)); - svc_set_status(li, CINIT_ST_BAD_ERR); - return CINIT_ASW_ERR_INTERN; - } - - /********************** Parent / fork() ************************/ - if(li->pid > 0) { - /* FIXME: why duplicate? */ - svc_set_status(li, CINIT_ST_SH_STOP); - return CINIT_ASW_OK; - } - - /********************** Client / fork() ************************/ - svc_report_status(li->abs_path, MSG_SVC_STOP, NULL); - - cinit_cp_data(buf, li->abs_path); - if(!path_append(buf, C_OFF)) _exit(1); - - /* - * Check for existence - */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - _exit(0); - } - - if(li->status == FE_FILE) { - /* - * FIXME: reset signals: Is this necessary? Or does fork clean it anyway? - */ - set_signals(SIGSTAGE_CLIENT); - - /* - * and now, fire it up - */ - execute_sth(buf); - } else { - /* - * FIXME: report? - */ - /* - * either no file or an error - */ - _exit(1); - } - - /* FIXME: we will never return ... */ - return CINIT_ASW_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_fail.c deleted file mode 100644 index 63ed7ff9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_fail.c +++ /dev/null @@ -1,38 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Mark the service as being failed - */ - -#include "svc.h" -#include "svc-intern.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) - li->status = CINIT_ST_ONCE_FAIL; - else { - /* - * FIXME: do something senseful, record time of dead? - */ - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_handle_pending.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_handle_pending.c deleted file mode 100644 index c8ae2f68..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_handle_pending.c +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Handle pending services - * - */ - -#include /* NULL */ - -#include /* NULL */ -#include "intern.h" /* mini_printf */ -#include "messages.h" /* messages */ -#include "svc.h" /* svc_init */ -#include "svc-intern.h" /* svc_init */ - -/*********************************************************************** - * go through the pending list and exit at the end. - * we will be called again after something changed: - * svc_status_changed() is triggered by the death of one or more children - * and sets up changes - */ -int svc_handle_pending(struct dep *pending) -{ - struct dep *tmp = pending; - struct dep *hack; - struct timespec ts; - - mini_printf(MSG_TREE_EXEC, 1); - - /* apply changes to changed services */ - while(tmp != NULL) { - /* to be started */ - if(tmp->svc->status & (CINIT_ST_SH_ONCE | CINIT_ST_SH_RESPAWN)) { - svc_start(tmp->svc); - tmp = dep_entry_del(tmp); - } - - switch(svc_needs_status(tmp->svc)) { - case CINIT_SNS_NEEDS_STARTED: - /* - * FIXME: MSG_* - */ - svc_report_status(tmp->svc->abs_path, "Finished needs.", NULL); - - /* execute service, add dependencies, remove from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_FAILED: - /* - * mark service as NEED_FAILD and delete from list - */ - /* FIXME: reporting moved to svc_needs_status.c */ - //svc_report_status(tmp->svc->abs_path, MSG_SVC_NEED_FAIL, NULL); - svc_set_status(tmp->svc, CINIT_ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_UNFINISHED: - /* - * FIXME: continue here! - */ - - hack = tmp->svc->needs; - do { - // get needs -// printf("%s waits for %s",tmp->svc->abs_path,hack->svc->abs_path); - // display status of needs - // printf("%s: %ld\n",hack->svc->abs_path,hack->svc->status); - hack = hack->next; - } while(hack != tmp->svc->needs); - - tmp = tmp->next; /* continue with the next item */ - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep(&ts, NULL); - break; - } - /* - * This case happens, if it's the last service waiting for something - */ - /* - * if(tmp == tmp->next) { - * - * nanosleep()? printf("BUUUUUUUUUUUUUG, exit\n"); break; } - */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_needs_status.c deleted file mode 100644 index 9b9e0243..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_needs_status.c +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return status of the needs of this service - * - */ - -#include /* NULL */ -#include "svc.h" /* service information */ -#include "svc-intern.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = CINIT_SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - - if(deps == NULL) - return CINIT_SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* - * worst case: need failed - */ - if((deps->svc->status & CINIT_ST_NEED_FAILD) || - (deps->svc->status & CINIT_ST_ONCE_FAIL) || - (deps->svc->status & CINIT_ST_BAD_ERR)) { - printf("%s not started, because %s failed.\n", svc->abs_path, deps->svc->abs_path); - retval = CINIT_SNS_NEEDS_FAILED; - break; - } - /* - * services are being started - */ - if((deps->svc->status & CINIT_ST_SH_ONCE) || - (deps->svc->status & CINIT_ST_SH_RESPAWN) || - (deps->svc->status & CINIT_ST_ONCE_RUN)) { - // printf("%s (%ld) waits for %s (%ld)\n",svc->abs_path, svc->status, - // deps->svc->abs_path, deps->svc->status); - retval = CINIT_SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_report_status.c deleted file mode 100644 index 9a1c1bab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_report_status.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Tell the world what happened to the service - */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC, 1); - mini_printf(svc, 1); - mini_printf(": ", 1); - mini_printf(msg, 1); - if(err) { - mini_printf(" (", 1); - mini_printf(err, 1); - mini_printf(")", 1); - } - mini_printf("\n", 1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_respawn_check.c deleted file mode 100644 index 86fe71ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,40 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED? not in use. - * - * Check whether service is existent - */ - -#error "NOT IN USE" - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX + 1]; - - strcpy(buf, svc->abs_path); - if(!path_append(buf, C_RESPAWN)) - return 0} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_set_status.c deleted file mode 100644 index 647ea20a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_set_status.c +++ /dev/null @@ -1,37 +0,0 @@ - -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set the status of a service - */ - -#include - -#include "svc-intern.h" - -/* checking for existence is done before! */ -uint32_t svc_set_status(struct listitem *li, uint32_t status) -{ - /* - * FIXME: also set time? - */ - - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_should_respawn.c deleted file mode 100644 index a217261a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return whether should respawn or not - */ - -#include "svc-intern.h" -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & CINIT_ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_start.c deleted file mode 100644 index 0715697a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_start.c +++ /dev/null @@ -1,142 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* nanosleep() */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ -#include "cinit.h" /* CINIT_DATA_LEN */ -#include "signals.h" /* signal handling */ - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li) -{ - char buf[CINIT_DATA_LEN]; - struct timespec ts; - int delay = 0; /* FIXME: to be calculated by waitpid status, if respawing */ - - /* first update status before forking ! */ - if(li->status & CINIT_ST_SH_ONCE) li->status = CINIT_ST_ONCE_RUN; - else li->status = CINIT_ST_RESPAWNING; - - /* set start time */ - li->start = time(NULL); - - /* - * FIXME: All cleanup must go here close(fds); reset signals reset env? - * FIXME: Add logging possibility to here open (0,1,2) to other processes, - * if specified - */ - - /* - * BUG: the following child may return _before_ the fork returns in the - * parent. Thus this pid may not be registered. And that's the reason why - * we need the global svc_lock! - */ - li->pid = fork(); - - /********************** parent ************************/ - if(li->pid > 0) { - printf("%s is at %d\n", li->abs_path, li->pid); - return; - } - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path, MSG_SVC_FORK, strerror(errno)); - svc_set_status(li, CINIT_ST_BAD_ERR); - return; - } - - /********************** Client / fork() ************************/ - /* - * sleep, if necesseray - */ - if(delay) { - ts.tv_sec = delay; - ts.tv_nsec = 0; - - /* - * FIXME: also report value; int2char - */ - printf("Delay: %d\n", delay); - svc_report_status(li->abs_path, MSG_SVC_SLEEP, NULL); - - /* - * do not need to check for errors, because we can continue anyway - */ - /* - * WRONG: FIXME: look whether to sleep again - */ - nanosleep(&ts, NULL); - } - svc_report_status(li->abs_path, MSG_SVC_START, NULL); - - cinit_cp_data(buf, li->abs_path); - if(!path_append(buf, C_ON)) - return; - - /* - * Check for existence - */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - /* - * FIXME: remove later - */ - printf("********************\n"); - printf("WO/EXE: %s\n", li->abs_path); - printf("********************\n"); - /* - * probably a problem: we exit too fast, cinit does not yet have us in - * the process list. is that possible? => catch with sleep - */ - // sleep(2); - _exit(0); /* nothing there? fine! */ - } - - if(li->status == FE_FILE) { - set_signals(SIGSTAGE_CLIENT); - - /* - * and now, fire it up - */ - execute_sth(buf); - } else { - /* - * FIXME: report? - */ - /* - * either no file or an error - */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_status_changed.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_status_changed.c deleted file mode 100644 index eeff8af7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_status_changed.c +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * - * 2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Handle changed services - * - */ - -#include /* Macros for waitpid */ -#include /* NULL */ -//#include /* gettimeofday() */ /* FIXME: CHECK POSIX */ -#include /* time() */ - -#include "svc-intern.h" /* listem */ -#include "svc.h" /* service status */ -#include "intern.h" /* mini_printf */ -//#include "messages.h" /* messages/D_PRINTF */ - - -/*********************************************************************** - * register changes from our children - */ -int svc_status_changed() -{ - int success; - int tmp = 0; - struct listitem *svc; - pid_t pid; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - svc = list_search_pid(pid); - - if(!svc) continue; /* ignore stuff from our lazy children */ - - success = (WIFEXITED(svc->waitpid) && !WEXITSTATUS(svc->waitpid)) ? 1 : 0; - svc->exited = time(NULL); - - /************************************************************************ - * Update status using a "status translation table" - */ - - /* once running service exited */ - if(svc->status & CINIT_ST_ONCE_RUN) { - if(success) { - svc->status = CINIT_ST_ONCE_OK; - } else { - svc->status = CINIT_ST_ONCE_FAIL; - } - } - /* respawing service died */ - else if(svc->status & CINIT_ST_RESPAWNING) { - svc->status = CINIT_ST_SH_RESPAWN; - } - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_stop_deps.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_stop_deps.c deleted file mode 100644 index 02d6d6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_stop_deps.c +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - FIXME: not needed anymore! -> change to svc_status_changed() - * Stop a service, taking care about its dependencies - */ - -#include "svc.h" /* enums */ -#include "svc-intern.h" /* struct listitem */ - -/* - * how == CINIT_SSSO_COMPLETE => stop needs/wants before - * how & CINIT_SSSO_WO_NEEDS => omit needs - * how & CINIT_SSSO_WO_WANTS => omit wants - */ - -void svc_stop_deps(struct listitem *li, int how) -{ - struct dep *tmp; - - /* - * don't continue if already being stopped - */ - if(li->status & CINIT_ST_SH_STOP) return; - - /* - * shutdown depending services first: needed_by - */ - tmp = li->needed_by; - do { - if(how & CINIT_SSSO_WO_NEEDS) - break; - svc_stop_deps(tmp->svc, how); - tmp = tmp->next; - } while(tmp != li->needed_by); - - /* - * shutdown depending services first: wanted_by - */ - tmp = li->wanted_by; - do { - if(how & CINIT_SSSO_WO_WANTS) - break; - svc_stop_deps(tmp->svc, how); - tmp = tmp->next; - } while(tmp != li->wanted_by); - - svc_disable(li); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_success.c deleted file mode 100644 index cef5b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/svc_success.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set the status of a service - */ - -#include /* NULL */ - -#include "svc.h" /* listitem, svc_report_status */ -#include "svc-intern.h" /* listitem, svc_report_status */ -#include "messages.h" /* messages */ - -void svc_success(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) { - svc_report_status(li->abs_path, MSG_SVC_OK_ONCE, NULL); - li->status = CINIT_ST_ONCE_OK; - } else { - svc_report_status(li->abs_path, MSG_SVC_OK_RESPAWN, NULL); - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre15/src/svc/tree_exec.c deleted file mode 100644 index 5e58572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/svc/tree_exec.c +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Start the service tree we created - */ - -#include /* NULL */ - -#include /* NULL */ -#include "intern.h" /* mini_printf */ -#include "messages.h" /* messages */ -#include "svc.h" /* svc_init */ -#include "svc-intern.h" /* svc_init */ - -/* some thoughts... - * - * - we already generated the tree, now we need to start it from - * the endings - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - struct dep *hack; - struct timespec ts; - - mini_printf(MSG_TREE_EXEC, 1); - - /* - * the main starting loop: All services in this list should be started, but - * it is possible that dependent services are in the list. In this case - * simply skip the current service - */ - do { - switch (svc_needs_status(tmp->svc)) { - case CINIT_SNS_NEEDS_STARTED: - /* - * FIXME: MSG_* - */ - svc_report_status(tmp->svc->abs_path, "Finished needs.", NULL); - - /* execute service, add dependencies, remove from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_FAILED: - /* - * mark service as NEED_FAILD and delete from list - */ - /* FIXME: reporting moved to svc_needs_status.c */ - //svc_report_status(tmp->svc->abs_path, MSG_SVC_NEED_FAIL, NULL); - svc_set_status(tmp->svc, CINIT_ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_UNFINISHED: - /* - * FIXME: continue here! - */ - - hack = tmp->svc->needs; - do { - // get needs -// printf("%s waits for %s",tmp->svc->abs_path,hack->svc->abs_path); - // display status of needs - // printf("%s: %ld\n",hack->svc->abs_path,hack->svc->status); - hack = hack->next; - } while(hack != tmp->svc->needs); - - tmp = tmp->next; /* continue with the next item */ - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep(&ts, NULL); - break; - } - /* - * This case happens, if it's the last service waiting for something - */ - /* - * if(tmp == tmp->next) { - * - * nanosleep()? printf("BUUUUUUUUUUUUUG, exit\n"); break; } - */ - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/data1.c b/software/cinit/browse_source/cinit-0.3pre15/src/test/data1.c deleted file mode 100644 index 5be9b26a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/data1.c +++ /dev/null @@ -1,53 +0,0 @@ -#include -#include -#include - -int main() -{ - int a, b, e; - char *c = "/etc/cinit/svc/...", *data; - - int a2, b2; - char *c2; - - a2 = b2 = 0; - - a = 1001; - b = strlen(c); - c2 = malloc(b + 1); - if(!c2) - return 40; - - e = sizeof(a) + sizeof(b) + b; - - printf("e=%d (b=%d)\n", e, b); - - data = malloc(e); - if(!data) - return 20; - - /* - * in - */ - strcpy(data, (char *) &a); - e = sizeof(a); - strcpy(&data[e], (char *) &b); - e += sizeof(b); - strcpy(&data[e], c); - - /* - * out - */ - strncpy((char *) &a2, data, sizeof(a2)); - printf("a2=%d\n", a2); - e = sizeof(a2); - - strncpy((char *) &b2, &data[e], sizeof(b2)); - printf("b2=%d\n", b2); - e += sizeof(b2); - - strncpy(c2, &data[e], b2); - printf("c2=%s\n", c2); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c b/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c deleted file mode 100644 index 77cc731a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c +++ /dev/null @@ -1,147 +0,0 @@ -/************* - * - * A very small program to show that the child() of a fork() - * proceess can / CANNOT exit before fork() returns in the parent - * - * Nico Schottelius, Copying: GPLv3, 20070925 - * - * I run it this way: - - * % ./fork-latency | grep "Unknown child exited" | sort | uniq | wc -l - * => Number of children that exited before we recorded them! (should be 0) - * - * % ./fork-latency | grep "found" | sort | uniq | wc -l - * => children, which exited after fork() returned. - * - * % ./fork-latency | grep "found" | wc -l - * => should equal MAX (see sourcecode) - * - * % ./fork-latency | wc -l - * => should also equal MAX (see sourcecode) - * - * Some interesting facts: - * - * - With MAX=5000 I get: - * - * [20:02] ikn:test% ./fork-latency | grep "found" | wc -l - * 731705 - * [20:03] ikn:test% ./fork-latency | wc -l - * 734683 - * - * [20:04] ikn:test% ./fork-latency | sort | head -n 4 - * 1339) found - * 1339) found - * 1339) found - * 1339) found - * - * - * I'm wondering, why even with WNOHANG I get to check pids twice, - * also because I'm clearing the pid, after I found it (list[o] = 0). - * - -This code is weired (using return intead of exit, see below): - -[20:38] ikn:test% ./fork-latency > D -[20:38] ikn:test% cat D -MAX=2 -MAX=2 -[1] Forked 12264 -MAX=2 -[1] Forked 12264 -[0] Forked 12265 -(12264) found -(12265) found -[20:38] ikn:test% - - -With _exit: - -[21:17] ikn:test% ./fork-latency > E -[21:17] ikn:test% cat E -MAX=2 -[1] Forked 15388 -[0] Forked 15389 -(15388) found -(15389) found - - - */ - -#include /* fork() */ -#include /* sigaction, sigemtpyset */ -#include /* waitpid */ -#include /* printf, NULL */ - -#define MAX 20000 /* number of forks */ - -pid_t list[MAX]; -int i; -int got_sig; - -void sig_child(int sig) -{ - got_sig = 1; -} - -void reap_child() -{ - int o; - int found; - int status; - pid_t pid; - - got_sig = 0; - - /* WNOHANG is evil: it makes us call the loop MORE THAN ONCE - * PER DEAD CHILD! -> registering a dead child via signal - * handler makes WNOHANG obsolete - */ - //while((pid = waitpid(-1, &status, WNOHANG)) > 0) { - while((pid = waitpid(-1, &status, 0)) > 0) { - found = 0; - // no need to search the whole list, use o = i instead - // for(o = 0; o < MAX; o++) { - for(o = i; o < MAX; o++) { - if(list[o] == pid) { - list[o] = 0; /* empty */ - found = 1; - break; - } - } - if(found) { - printf("(%d) found\n", pid); - } else { - printf("(%d) Unknown child exited\n", pid); - } - } -} - -int main() -{ - struct sigaction sa; - - /* listen to SIGCHLD */ - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - sigaction(SIGCHLD, &sa, NULL); - - i = MAX; - - printf("MAX=%d\n", i); - - for(i = MAX - 1; i >= 0; i--) { - list[i] = fork(); - /* child exists immediately */ - if(list[i] == 0) _exit(0); - - /* this causes a different behaviour */ - /* if(list[i] == 0) return 0; */ - - printf("[%d] Forked %d\n", i, list[i]); - - /* parent code */ - if(got_sig) reap_child(); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.A b/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.A deleted file mode 100644 index bd0df9f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.A +++ /dev/null @@ -1,8 +0,0 @@ -Forking 1 -Forking 1 -(11456) found -Forking 0 -Forking 1 -(11456) found -Forking 0 -(11457) found diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.B b/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.B deleted file mode 100644 index 95f042c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.B +++ /dev/null @@ -1,7 +0,0 @@ -Forking 1 (0) -Forking 1 (11799) -Forking 0 (0) -Forking 1 (11799) -Forking 0 (11800) -(11799) found -(11800) found diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.C b/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.C deleted file mode 100644 index 9c1b6922..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.C +++ /dev/null @@ -1,5 +0,0 @@ -[1] Forked 11905 -[1] Forked 11905 -[0] Forked 11906 -(11905) found -(11906) found diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.D b/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.D deleted file mode 100644 index 4adfec55..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.D +++ /dev/null @@ -1,8 +0,0 @@ -MAX=2 -MAX=2 -[1] Forked 12264 -MAX=2 -[1] Forked 12264 -[0] Forked 12265 -(12264) found -(12265) found diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.E b/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.E deleted file mode 100644 index 4a4190a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.E +++ /dev/null @@ -1,5 +0,0 @@ -MAX=2 -[1] Forked 15388 -[0] Forked 15389 -(15388) found -(15389) found diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.F b/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.F deleted file mode 100644 index a7ebfe81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.F +++ /dev/null @@ -1,40001 +0,0 @@ -MAX=20000 -[19999] Forked 17761 -[19998] Forked 17762 -(17761) found -(17762) found -[19997] Forked 17763 -[19996] Forked 17764 -(17763) found -(17764) found -[19995] Forked 17765 -(17765) found -[19994] Forked 17766 -(17766) found -[19993] Forked 17767 -(17767) found -[19992] Forked 17768 -(17768) found -[19991] Forked 17769 -(17769) found -[19990] Forked 17770 -(17770) found -[19989] Forked 17771 -(17771) found -[19988] Forked 17772 -(17772) found -[19987] Forked 17773 -(17773) found -[19986] Forked 17774 -(17774) found -[19985] Forked 17775 -(17775) found -[19984] Forked 17776 -(17776) found -[19983] Forked 17777 -(17777) found -[19982] Forked 17778 -(17778) found -[19981] Forked 17779 -(17779) found -[19980] Forked 17780 -(17780) found -[19979] Forked 17781 -(17781) found -[19978] Forked 17782 -(17782) found -[19977] Forked 17783 -(17783) found -[19976] Forked 17784 -(17784) found -[19975] Forked 17785 -(17785) found -[19974] Forked 17786 -(17786) found -[19973] Forked 17787 -(17787) found -[19972] Forked 17788 -(17788) found -[19971] Forked 17789 -(17789) found -[19970] Forked 17790 -(17790) found -[19969] Forked 17791 -(17791) found -[19968] Forked 17792 -(17792) found -[19967] Forked 17793 -[19966] Forked 17794 -(17793) found -(17794) found -[19965] Forked 17795 -[19964] Forked 17796 -(17795) found -(17796) found -[19963] Forked 17797 -[19962] Forked 17798 -(17797) found -(17798) found -[19961] Forked 17799 -[19960] Forked 17800 -(17799) found -(17800) found -[19959] Forked 17801 -[19958] Forked 17802 -(17801) found -(17802) found -[19957] Forked 17803 -[19956] Forked 17804 -(17803) found -(17804) found -[19955] Forked 17805 -[19954] Forked 17806 -(17805) found -(17806) found -[19953] Forked 17807 -[19952] Forked 17808 -(17807) found -(17808) found -[19951] Forked 17809 -[19950] Forked 17810 -(17809) found -(17810) found -[19949] Forked 17811 -[19948] Forked 17812 -(17811) found -(17812) found -[19947] Forked 17813 -[19946] Forked 17814 -(17813) found -(17814) found -[19945] Forked 17815 -[19944] Forked 17816 -(17815) found -(17816) found -[19943] Forked 17817 -[19942] Forked 17818 -(17817) found -(17818) found -[19941] Forked 17819 -[19940] Forked 17820 -(17819) found -(17820) found -[19939] Forked 17821 -[19938] Forked 17822 -(17821) found -(17822) found -[19937] Forked 17823 -[19936] Forked 17824 -(17823) found -(17824) found -[19935] Forked 17825 -[19934] Forked 17826 -(17825) found -(17826) found -[19933] Forked 17827 -[19932] Forked 17828 -(17827) found -(17828) found -[19931] Forked 17829 -[19930] Forked 17830 -(17829) found -(17830) found -[19929] Forked 17831 -[19928] Forked 17832 -(17831) found -(17832) found -[19927] Forked 17833 -[19926] Forked 17834 -(17833) found -(17834) found -[19925] Forked 17835 -[19924] Forked 17836 -(17835) found -(17836) found -[19923] Forked 17837 -[19922] Forked 17838 -(17837) found -(17838) found -[19921] Forked 17839 -[19920] Forked 17840 -(17839) found -(17840) found -[19919] Forked 17841 -[19918] Forked 17842 -(17841) found -(17842) found -[19917] Forked 17843 -[19916] Forked 17844 -(17843) found -(17844) found -[19915] Forked 17845 -[19914] Forked 17846 -(17845) found -(17846) found -[19913] Forked 17847 -[19912] Forked 17848 -(17847) found -(17848) found -[19911] Forked 17849 -[19910] Forked 17850 -(17849) found -(17850) found -[19909] Forked 17851 -[19908] Forked 17852 -(17851) found -(17852) found -[19907] Forked 17853 -[19906] Forked 17854 -(17853) found -(17854) found -[19905] Forked 17855 -[19904] Forked 17856 -(17855) found -(17856) found -[19903] Forked 17857 -[19902] Forked 17858 -(17857) found -(17858) found -[19901] Forked 17859 -[19900] Forked 17860 -(17859) found -(17860) found -[19899] Forked 17861 -[19898] Forked 17862 -(17861) found -(17862) found -[19897] Forked 17863 -[19896] Forked 17864 -(17863) found -(17864) found -[19895] Forked 17865 -[19894] Forked 17866 -(17865) found -(17866) found -[19893] Forked 17867 -[19892] Forked 17868 -(17867) found -(17868) found -[19891] Forked 17869 -[19890] Forked 17870 -(17869) found -(17870) found -[19889] Forked 17871 -[19888] Forked 17872 -(17871) found -(17872) found -[19887] Forked 17873 -[19886] Forked 17874 -(17873) found -(17874) found -[19885] Forked 17875 -[19884] Forked 17876 -(17875) found -(17876) found -[19883] Forked 17877 -[19882] Forked 17878 -(17877) found -(17878) found -[19881] Forked 17879 -[19880] Forked 17880 -(17879) found -(17880) found -[19879] Forked 17881 -[19878] Forked 17882 -(17881) found -(17882) found -[19877] Forked 17883 -[19876] Forked 17884 -(17883) found -(17884) found -[19875] Forked 17885 -[19874] Forked 17886 -(17885) found -(17886) found -[19873] Forked 17887 -[19872] Forked 17888 -(17887) found -(17888) found -[19871] Forked 17889 -[19870] Forked 17890 -(17889) found -(17890) found -[19869] Forked 17891 -[19868] Forked 17892 -(17891) found -(17892) found -[19867] Forked 17893 -[19866] Forked 17894 -(17893) found -(17894) found -[19865] Forked 17895 -[19864] Forked 17896 -(17895) found -(17896) found -[19863] Forked 17897 -[19862] Forked 17898 -(17897) found -(17898) found -[19861] Forked 17899 -[19860] Forked 17900 -(17899) found -(17900) found -[19859] Forked 17901 -[19858] Forked 17902 -(17901) found -(17902) found -[19857] Forked 17903 -[19856] Forked 17904 -(17903) found -(17904) found -[19855] Forked 17905 -[19854] Forked 17906 -(17905) found -(17906) found -[19853] Forked 17907 -[19852] Forked 17908 -(17907) found -(17908) found -[19851] Forked 17909 -[19850] Forked 17910 -(17909) found -(17910) found -[19849] Forked 17911 -[19848] Forked 17912 -(17911) found -(17912) found -[19847] Forked 17913 -[19846] Forked 17914 -(17913) found -(17914) found -[19845] Forked 17915 -[19844] Forked 17916 -(17915) found -(17916) found -[19843] Forked 17917 -[19842] Forked 17918 -(17917) found -(17918) found -[19841] Forked 17919 -[19840] Forked 17920 -(17919) found -(17920) found -[19839] Forked 17921 -[19838] Forked 17922 -(17921) found -(17922) found -[19837] Forked 17923 -[19836] Forked 17924 -(17923) found -(17924) found -[19835] Forked 17925 -(17925) found -[19834] Forked 17926 -(17926) found -[19833] Forked 17927 -(17927) found -[19832] Forked 17928 -(17928) found -[19831] Forked 17929 -(17929) found -[19830] Forked 17930 -(17930) found -[19829] Forked 17931 -(17931) found -[19828] Forked 17932 -[19827] Forked 17933 -(17932) found -(17933) found -[19826] Forked 17934 -(17934) found -[19825] Forked 17935 -(17935) found -[19824] Forked 17936 -(17936) found -[19823] Forked 17937 -(17937) found -[19822] Forked 17938 -(17938) found -[19821] Forked 17939 -(17939) found -[19820] Forked 17940 -(17940) found -[19819] Forked 17941 -(17941) found -[19818] Forked 17942 -(17942) found -[19817] Forked 17943 -(17943) found -[19816] Forked 17944 -(17944) found -[19815] Forked 17945 -(17945) found -[19814] Forked 17946 -(17946) found -[19813] Forked 17947 -(17947) found -[19812] Forked 17948 -(17948) found -[19811] Forked 17949 -(17949) found -[19810] Forked 17950 -(17950) found -[19809] Forked 17951 -(17951) found -[19808] Forked 17952 -(17952) found -[19807] Forked 17953 -(17953) found -[19806] Forked 17954 -(17954) found -[19805] Forked 17955 -(17955) found -[19804] Forked 17956 -(17956) found -[19803] Forked 17957 -(17957) found -[19802] Forked 17958 -(17958) found -[19801] Forked 17959 -(17959) found -[19800] Forked 17960 -(17960) found -[19799] Forked 17961 -(17961) found -[19798] Forked 17962 -(17962) found -[19797] Forked 17963 -(17963) found -[19796] Forked 17964 -(17964) found -[19795] Forked 17965 -(17965) found -[19794] Forked 17966 -(17966) found -[19793] Forked 17967 -(17967) found -[19792] Forked 17968 -(17968) found -[19791] Forked 17969 -(17969) found -[19790] Forked 17970 -[19789] Forked 17971 -(17970) found -(17971) found -[19788] Forked 17972 -[19787] Forked 17973 -(17972) found -(17973) found -[19786] Forked 17974 -[19785] Forked 17975 -(17974) found -(17975) found -[19784] Forked 17976 -[19783] Forked 17977 -(17976) found -(17977) found -[19782] Forked 17978 -[19781] Forked 17979 -(17978) found -(17979) found -[19780] Forked 17980 -[19779] Forked 17981 -(17981) found -(17980) found -[19778] Forked 17982 -(17982) found -[19777] Forked 17983 -(17983) found -[19776] Forked 17984 -(17984) found -[19775] Forked 17985 -(17985) found -[19774] Forked 17986 -(17986) found -[19773] Forked 17987 -(17987) found -[19772] Forked 17988 -(17988) found -[19771] Forked 17989 -(17989) found -[19770] Forked 17990 -(17990) found -[19769] Forked 17991 -(17991) found -[19768] Forked 17992 -(17992) found -[19767] Forked 17993 -(17993) found -[19766] Forked 17994 -(17994) found -[19765] Forked 17995 -(17995) found -[19764] Forked 17996 -(17996) found -[19763] Forked 17997 -(17997) found -[19762] Forked 17998 -(17998) found -[19761] Forked 17999 -(17999) found -[19760] Forked 18000 -(18000) found -[19759] Forked 18001 -(18001) found -[19758] Forked 18002 -(18002) found -[19757] Forked 18003 -(18003) found -[19756] Forked 18004 -(18004) found -[19755] Forked 18005 -(18005) found -[19754] Forked 18006 -(18006) found -[19753] Forked 18007 -(18007) found -[19752] Forked 18008 -(18008) found -[19751] Forked 18009 -(18009) found -[19750] Forked 18010 -(18010) found -[19749] Forked 18011 -(18011) found -[19748] Forked 18012 -(18012) found -[19747] Forked 18013 -(18013) found -[19746] Forked 18014 -(18014) found -[19745] Forked 18015 -(18015) found -[19744] Forked 18016 -(18016) found -[19743] Forked 18017 -(18017) found -[19742] Forked 18018 -(18018) found -[19741] Forked 18019 -(18019) found -[19740] Forked 18020 -(18020) found -[19739] Forked 18021 -(18021) found -[19738] Forked 18022 -(18022) found -[19737] Forked 18023 -(18023) found -[19736] Forked 18024 -(18024) found -[19735] Forked 18025 -(18025) found -[19734] Forked 18026 -(18026) found -[19733] Forked 18027 -(18027) found -[19732] Forked 18028 -(18028) found -[19731] Forked 18029 -(18029) found -[19730] Forked 18030 -(18030) found -[19729] Forked 18031 -(18031) found -[19728] Forked 18032 -(18032) found -[19727] Forked 18033 -(18033) found -[19726] Forked 18034 -(18034) found -[19725] Forked 18035 -(18035) found -[19724] Forked 18036 -(18036) found -[19723] Forked 18037 -(18037) found -[19722] Forked 18038 -(18038) found -[19721] Forked 18039 -(18039) found -[19720] Forked 18040 -(18040) found -[19719] Forked 18041 -(18041) found -[19718] Forked 18042 -[19717] Forked 18043 -(18042) found -(18043) found -[19716] Forked 18044 -[19715] Forked 18045 -(18044) found -(18045) found -[19714] Forked 18046 -[19713] Forked 18047 -(18046) found -(18047) found -[19712] Forked 18048 -[19711] Forked 18049 -(18049) found -(18048) found -[19710] Forked 18050 -(18050) found -[19709] Forked 18051 -(18051) found -[19708] Forked 18052 -(18052) found -[19707] Forked 18053 -(18053) found -[19706] Forked 18055 -(18055) found -[19705] Forked 18056 -(18056) found -[19704] Forked 18057 -(18057) found -[19703] Forked 18058 -(18058) found -[19702] Forked 18059 -(18059) found -[19701] Forked 18060 -(18060) found -[19700] Forked 18061 -(18061) found -[19699] Forked 18062 -(18062) found -[19698] Forked 18063 -(18063) found -[19697] Forked 18064 -(18064) found -[19696] Forked 18065 -(18065) found -[19695] Forked 18066 -(18066) found -[19694] Forked 18067 -(18067) found -[19693] Forked 18068 -(18068) found -[19692] Forked 18069 -(18069) found -[19691] Forked 18070 -(18070) found -[19690] Forked 18071 -(18071) found -[19689] Forked 18072 -(18072) found -[19688] Forked 18073 -(18073) found -[19687] Forked 18074 -(18074) found -[19686] Forked 18075 -(18075) found -[19685] Forked 18076 -(18076) found -[19684] Forked 18077 -(18077) found -[19683] Forked 18078 -(18078) found -[19682] Forked 18079 -(18079) found -[19681] Forked 18080 -(18080) found -[19680] Forked 18081 -(18081) found -[19679] Forked 18082 -(18082) found -[19678] Forked 18083 -(18083) found -[19677] Forked 18084 -(18084) found -[19676] Forked 18085 -(18085) found -[19675] Forked 18086 -(18086) found -[19674] Forked 18087 -(18087) found -[19673] Forked 18088 -(18088) found -[19672] Forked 18089 -(18089) found -[19671] Forked 18090 -(18090) found -[19670] Forked 18091 -(18091) found -[19669] Forked 18092 -(18092) found -[19668] Forked 18093 -(18093) found -[19667] Forked 18094 -(18094) found -[19666] Forked 18095 -(18095) found -[19665] Forked 18096 -(18096) found -[19664] Forked 18097 -(18097) found -[19663] Forked 18098 -(18098) found -[19662] Forked 18099 -(18099) found -[19661] Forked 18100 -(18100) found -[19660] Forked 18101 -(18101) found -[19659] Forked 18102 -(18102) found -[19658] Forked 18103 -(18103) found -[19657] Forked 18104 -(18104) found -[19656] Forked 18105 -(18105) found -[19655] Forked 18106 -(18106) found -[19654] Forked 18107 -(18107) found -[19653] Forked 18108 -(18108) found -[19652] Forked 18109 -(18109) found -[19651] Forked 18110 -(18110) found -[19650] Forked 18111 -(18111) found -[19649] Forked 18112 -(18112) found -[19648] Forked 18113 -[19647] Forked 18114 -(18113) found -(18114) found -[19646] Forked 18115 -[19645] Forked 18116 -(18115) found -(18116) found -[19644] Forked 18117 -[19643] Forked 18118 -(18117) found -(18118) found -[19642] Forked 18119 -[19641] Forked 18120 -(18119) found -(18120) found -[19640] Forked 18121 -[19639] Forked 18122 -(18121) found -(18122) found -[19638] Forked 18123 -[19637] Forked 18124 -(18123) found -(18124) found -[19636] Forked 18125 -[19635] Forked 18126 -(18125) found -(18126) found -[19634] Forked 18127 -[19633] Forked 18128 -(18127) found -(18128) found -[19632] Forked 18129 -[19631] Forked 18130 -(18129) found -(18130) found -[19630] Forked 18131 -[19629] Forked 18132 -(18131) found -(18132) found -[19628] Forked 18133 -[19627] Forked 18134 -(18133) found -(18134) found -[19626] Forked 18135 -[19625] Forked 18136 -(18135) found -(18136) found -[19624] Forked 18137 -[19623] Forked 18138 -(18137) found -(18138) found -[19622] Forked 18139 -[19621] Forked 18140 -(18139) found -(18140) found -[19620] Forked 18141 -[19619] Forked 18142 -(18141) found -(18142) found -[19618] Forked 18143 -[19617] Forked 18144 -(18143) found -(18144) found -[19616] Forked 18145 -[19615] Forked 18146 -(18145) found -(18146) found -[19614] Forked 18147 -[19613] Forked 18148 -(18147) found -(18148) found -[19612] Forked 18149 -[19611] Forked 18150 -(18149) found -(18150) found -[19610] Forked 18151 -[19609] Forked 18152 -(18151) found -(18152) found -[19608] Forked 18153 -[19607] Forked 18154 -(18153) found -(18154) found -[19606] Forked 18155 -[19605] Forked 18156 -(18155) found -(18156) found -[19604] Forked 18157 -[19603] Forked 18158 -(18157) found -(18158) found -[19602] Forked 18159 -[19601] Forked 18160 -(18159) found -(18160) found -[19600] Forked 18161 -(18161) found -[19599] Forked 18162 -(18162) found -[19598] Forked 18163 -(18163) found -[19597] Forked 18164 -(18164) found -[19596] Forked 18165 -(18165) found -[19595] Forked 18166 -(18166) found -[19594] Forked 18167 -(18167) found -[19593] Forked 18168 -(18168) found -[19592] Forked 18169 -(18169) found -[19591] Forked 18170 -(18170) found -[19590] Forked 18171 -(18171) found -[19589] Forked 18172 -(18172) found -[19588] Forked 18173 -(18173) found -[19587] Forked 18174 -(18174) found -[19586] Forked 18175 -(18175) found -[19585] Forked 18176 -(18176) found -[19584] Forked 18177 -(18177) found -[19583] Forked 18178 -(18178) found -[19582] Forked 18179 -(18179) found -[19581] Forked 18180 -(18180) found -[19580] Forked 18181 -(18181) found -[19579] Forked 18182 -(18182) found -[19578] Forked 18183 -(18183) found -[19577] Forked 18184 -(18184) found -[19576] Forked 18185 -(18185) found -[19575] Forked 18186 -(18186) found -[19574] Forked 18187 -(18187) found -[19573] Forked 18188 -(18188) found -[19572] Forked 18189 -(18189) found -[19571] Forked 18190 -(18190) found -[19570] Forked 18191 -(18191) found -[19569] Forked 18192 -(18192) found -[19568] Forked 18193 -(18193) found -[19567] Forked 18194 -(18194) found -[19566] Forked 18195 -(18195) found -[19565] Forked 18196 -(18196) found -[19564] Forked 18197 -[19563] Forked 18198 -(18197) found -(18198) found -[19562] Forked 18199 -[19561] Forked 18200 -(18199) found -(18200) found -[19560] Forked 18201 -[19559] Forked 18202 -(18201) found -(18202) found -[19558] Forked 18203 -[19557] Forked 18204 -(18203) found -(18204) found -[19556] Forked 18205 -[19555] Forked 18206 -(18205) found -(18206) found -[19554] Forked 18207 -[19553] Forked 18208 -(18207) found -(18208) found -[19552] Forked 18209 -[19551] Forked 18210 -(18209) found -(18210) found -[19550] Forked 18211 -[19549] Forked 18212 -(18211) found -(18212) found -[19548] Forked 18213 -[19547] Forked 18214 -(18213) found -(18214) found -[19546] Forked 18215 -[19545] Forked 18216 -(18215) found -(18216) found -[19544] Forked 18217 -[19543] Forked 18218 -(18217) found -(18218) found -[19542] Forked 18219 -[19541] Forked 18220 -(18219) found -(18220) found -[19540] Forked 18221 -[19539] Forked 18222 -(18221) found -(18222) found -[19538] Forked 18223 -[19537] Forked 18224 -(18223) found -(18224) found -[19536] Forked 18225 -[19535] Forked 18226 -(18225) found -(18226) found -[19534] Forked 18227 -[19533] Forked 18228 -(18227) found -(18228) found -[19532] Forked 18229 -[19531] Forked 18230 -(18229) found -(18230) found -[19530] Forked 18231 -[19529] Forked 18232 -(18231) found -(18232) found -[19528] Forked 18233 -[19527] Forked 18234 -(18233) found -(18234) found -[19526] Forked 18235 -[19525] Forked 18236 -(18235) found -(18236) found -[19524] Forked 18237 -[19523] Forked 18238 -(18237) found -(18238) found -[19522] Forked 18239 -[19521] Forked 18240 -(18239) found -(18240) found -[19520] Forked 18241 -[19519] Forked 18242 -(18241) found -(18242) found -[19518] Forked 18243 -[19517] Forked 18244 -(18243) found -(18244) found -[19516] Forked 18245 -[19515] Forked 18246 -(18245) found -(18246) found -[19514] Forked 18247 -[19513] Forked 18248 -(18247) found -(18248) found -[19512] Forked 18249 -[19511] Forked 18250 -(18249) found -(18250) found -[19510] Forked 18251 -[19509] Forked 18252 -(18251) found -(18252) found -[19508] Forked 18253 -[19507] Forked 18254 -(18253) found -(18254) found -[19506] Forked 18255 -[19505] Forked 18256 -(18255) found -(18256) found -[19504] Forked 18257 -[19503] Forked 18258 -(18257) found -(18258) found -[19502] Forked 18259 -[19501] Forked 18260 -(18259) found -(18260) found -[19500] Forked 18261 -[19499] Forked 18262 -(18261) found -(18262) found -[19498] Forked 18263 -[19497] Forked 18264 -(18263) found -(18264) found -[19496] Forked 18265 -[19495] Forked 18266 -(18265) found -(18266) found -[19494] Forked 18267 -[19493] Forked 18268 -(18267) found -(18268) found -[19492] Forked 18269 -[19491] Forked 18270 -(18269) found -(18270) found -[19490] Forked 18271 -[19489] Forked 18272 -(18271) found -(18272) found -[19488] Forked 18273 -[19487] Forked 18274 -(18273) found -(18274) found -[19486] Forked 18275 -[19485] Forked 18276 -(18275) found -(18276) found -[19484] Forked 18277 -[19483] Forked 18278 -(18277) found -(18278) found -[19482] Forked 18279 -[19481] Forked 18280 -(18279) found -(18280) found -[19480] Forked 18281 -[19479] Forked 18282 -(18281) found -(18282) found -[19478] Forked 18283 -[19477] Forked 18284 -(18283) found -(18284) found -[19476] Forked 18285 -[19475] Forked 18286 -(18285) found -(18286) found -[19474] Forked 18287 -[19473] Forked 18288 -(18287) found -(18288) found -[19472] Forked 18289 -[19471] Forked 18290 -(18289) found -(18290) found -[19470] Forked 18291 -[19469] Forked 18292 -(18291) found -(18292) found -[19468] Forked 18293 -[19467] Forked 18294 -(18293) found -(18294) found -[19466] Forked 18295 -[19465] Forked 18296 -(18295) found -(18296) found -[19464] Forked 18297 -[19463] Forked 18298 -(18297) found -(18298) found -[19462] Forked 18299 -[19461] Forked 18300 -(18299) found -(18300) found -[19460] Forked 18301 -[19459] Forked 18302 -(18301) found -(18302) found -[19458] Forked 18303 -[19457] Forked 18304 -(18303) found -(18304) found -[19456] Forked 18305 -[19455] Forked 18306 -(18305) found -(18306) found -[19454] Forked 18307 -[19453] Forked 18308 -(18307) found -(18308) found -[19452] Forked 18309 -[19451] Forked 18310 -(18309) found -(18310) found -[19450] Forked 18311 -[19449] Forked 18312 -(18311) found -(18312) found -[19448] Forked 18313 -[19447] Forked 18314 -(18313) found -(18314) found -[19446] Forked 18315 -[19445] Forked 18316 -(18315) found -(18316) found -[19444] Forked 18317 -[19443] Forked 18318 -(18317) found -(18318) found -[19442] Forked 18319 -[19441] Forked 18320 -(18319) found -(18320) found -[19440] Forked 18321 -[19439] Forked 18322 -(18321) found -(18322) found -[19438] Forked 18323 -[19437] Forked 18324 -(18323) found -(18324) found -[19436] Forked 18325 -[19435] Forked 18326 -(18325) found -(18326) found -[19434] Forked 18327 -[19433] Forked 18328 -(18327) found -(18328) found -[19432] Forked 18329 -[19431] Forked 18330 -(18329) found -(18330) found -[19430] Forked 18331 -[19429] Forked 18332 -(18331) found -(18332) found -[19428] Forked 18333 -[19427] Forked 18334 -(18333) found -(18334) found -[19426] Forked 18335 -[19425] Forked 18336 -(18335) found -(18336) found -[19424] Forked 18337 -(18337) found -[19423] Forked 18338 -[19422] Forked 18339 -(18338) found -(18339) found -[19421] Forked 18340 -[19420] Forked 18341 -(18340) found -(18341) found -[19419] Forked 18342 -[19418] Forked 18343 -(18342) found -(18343) found -[19417] Forked 18344 -[19416] Forked 18345 -(18344) found -(18345) found -[19415] Forked 18346 -[19414] Forked 18347 -(18346) found -(18347) found -[19413] Forked 18348 -[19412] Forked 18349 -(18348) found -(18349) found -[19411] Forked 18350 -[19410] Forked 18351 -(18350) found -(18351) found -[19409] Forked 18352 -[19408] Forked 18353 -(18352) found -(18353) found -[19407] Forked 18354 -[19406] Forked 18355 -(18354) found -(18355) found -[19405] Forked 18356 -[19404] Forked 18357 -(18356) found -(18357) found -[19403] Forked 18358 -[19402] Forked 18359 -(18358) found -(18359) found -[19401] Forked 18360 -[19400] Forked 18361 -(18360) found -(18361) found -[19399] Forked 18362 -[19398] Forked 18363 -(18362) found -(18363) found -[19397] Forked 18364 -[19396] Forked 18365 -(18364) found -(18365) found -[19395] Forked 18366 -[19394] Forked 18367 -(18366) found -(18367) found -[19393] Forked 18368 -[19392] Forked 18369 -(18368) found -(18369) found -[19391] Forked 18370 -[19390] Forked 18371 -(18370) found -(18371) found -[19389] Forked 18372 -[19388] Forked 18373 -(18372) found -(18373) found -[19387] Forked 18374 -[19386] Forked 18375 -(18374) found -(18375) found -[19385] Forked 18376 -[19384] Forked 18377 -(18376) found -(18377) found -[19383] Forked 18378 -[19382] Forked 18379 -(18378) found -(18379) found -[19381] Forked 18380 -(18380) found -[19380] Forked 18381 -(18381) found -[19379] Forked 18382 -(18382) found -[19378] Forked 18383 -(18383) found -[19377] Forked 18384 -(18384) found -[19376] Forked 18385 -(18385) found -[19375] Forked 18386 -(18386) found -[19374] Forked 18387 -(18387) found -[19373] Forked 18388 -(18388) found -[19372] Forked 18389 -(18389) found -[19371] Forked 18390 -(18390) found -[19370] Forked 18391 -(18391) found -[19369] Forked 18392 -(18392) found -[19368] Forked 18393 -(18393) found -[19367] Forked 18394 -(18394) found -[19366] Forked 18395 -(18395) found -[19365] Forked 18396 -(18396) found -[19364] Forked 18397 -(18397) found -[19363] Forked 18398 -(18398) found -[19362] Forked 18399 -(18399) found -[19361] Forked 18400 -(18400) found -[19360] Forked 18401 -(18401) found -[19359] Forked 18402 -(18402) found -[19358] Forked 18403 -(18403) found -[19357] Forked 18404 -(18404) found -[19356] Forked 18405 -(18405) found -[19355] Forked 18406 -(18406) found -[19354] Forked 18407 -(18407) found -[19353] Forked 18408 -(18408) found -[19352] Forked 18409 -(18409) found -[19351] Forked 18410 -(18410) found -[19350] Forked 18411 -(18411) found -[19349] Forked 18412 -(18412) found -[19348] Forked 18413 -(18413) found -[19347] Forked 18414 -(18414) found -[19346] Forked 18415 -(18415) found -[19345] Forked 18416 -(18416) found -[19344] Forked 18417 -(18417) found -[19343] Forked 18418 -(18418) found -[19342] Forked 18419 -[19341] Forked 18420 -(18419) found -(18420) found -[19340] Forked 18421 -[19339] Forked 18422 -(18421) found -(18422) found -[19338] Forked 18423 -[19337] Forked 18424 -(18423) found -(18424) found -[19336] Forked 18425 -[19335] Forked 18426 -(18425) found -(18426) found -[19334] Forked 18427 -[19333] Forked 18428 -(18427) found -(18428) found -[19332] Forked 18429 -[19331] Forked 18430 -(18429) found -(18430) found -[19330] Forked 18431 -[19329] Forked 18432 -(18431) found -(18432) found -[19328] Forked 18433 -[19327] Forked 18434 -(18433) found -(18434) found -[19326] Forked 18435 -[19325] Forked 18436 -(18435) found -(18436) found -[19324] Forked 18437 -[19323] Forked 18438 -(18437) found -(18438) found -[19322] Forked 18439 -[19321] Forked 18440 -(18439) found -(18440) found -[19320] Forked 18441 -[19319] Forked 18442 -(18441) found -(18442) found -[19318] Forked 18443 -[19317] Forked 18444 -(18443) found -(18444) found -[19316] Forked 18445 -[19315] Forked 18446 -(18445) found -(18446) found -[19314] Forked 18447 -[19313] Forked 18448 -(18447) found -(18448) found -[19312] Forked 18449 -[19311] Forked 18450 -(18449) found -(18450) found -[19310] Forked 18451 -[19309] Forked 18452 -(18451) found -(18452) found -[19308] Forked 18453 -[19307] Forked 18454 -(18453) found -(18454) found -[19306] Forked 18455 -[19305] Forked 18456 -(18455) found -(18456) found -[19304] Forked 18457 -[19303] Forked 18458 -(18457) found -(18458) found -[19302] Forked 18459 -[19301] Forked 18460 -(18459) found -(18460) found -[19300] Forked 18461 -[19299] Forked 18462 -(18461) found -(18462) found -[19298] Forked 18463 -(18463) found -[19297] Forked 18464 -(18464) found -[19296] Forked 18466 -(18466) found -[19295] Forked 18467 -(18467) found -[19294] Forked 18468 -(18468) found -[19293] Forked 18469 -(18469) found -[19292] Forked 18470 -(18470) found -[19291] Forked 18471 -(18471) found -[19290] Forked 18472 -(18472) found -[19289] Forked 18473 -(18473) found -[19288] Forked 18474 -(18474) found -[19287] Forked 18475 -(18475) found -[19286] Forked 18476 -(18476) found -[19285] Forked 18477 -(18477) found -[19284] Forked 18478 -(18478) found -[19283] Forked 18479 -(18479) found -[19282] Forked 18480 -(18480) found -[19281] Forked 18481 -(18481) found -[19280] Forked 18482 -(18482) found -[19279] Forked 18483 -(18483) found -[19278] Forked 18484 -(18484) found -[19277] Forked 18485 -(18485) found -[19276] Forked 18486 -(18486) found -[19275] Forked 18487 -(18487) found -[19274] Forked 18488 -(18488) found -[19273] Forked 18489 -(18489) found -[19272] Forked 18490 -(18490) found -[19271] Forked 18491 -(18491) found -[19270] Forked 18492 -(18492) found -[19269] Forked 18493 -(18493) found -[19268] Forked 18494 -(18494) found -[19267] Forked 18495 -(18495) found -[19266] Forked 18496 -(18496) found -[19265] Forked 18497 -(18497) found -[19264] Forked 18498 -(18498) found -[19263] Forked 18499 -(18499) found -[19262] Forked 18500 -(18500) found -[19261] Forked 18501 -(18501) found -[19260] Forked 18502 -(18502) found -[19259] Forked 18503 -[19258] Forked 18504 -(18503) found -(18504) found -[19257] Forked 18505 -[19256] Forked 18506 -(18505) found -(18506) found -[19255] Forked 18507 -[19254] Forked 18508 -(18507) found -(18508) found -[19253] Forked 18509 -[19252] Forked 18510 -(18509) found -(18510) found -[19251] Forked 18511 -[19250] Forked 18512 -(18511) found -(18512) found -[19249] Forked 18513 -[19248] Forked 18514 -(18513) found -(18514) found -[19247] Forked 18515 -[19246] Forked 18516 -(18515) found -(18516) found -[19245] Forked 18517 -[19244] Forked 18518 -(18518) found -(18517) found -[19243] Forked 18519 -(18519) found -[19242] Forked 18520 -(18520) found -[19241] Forked 18521 -(18521) found -[19240] Forked 18522 -(18522) found -[19239] Forked 18523 -(18523) found -[19238] Forked 18524 -(18524) found -[19237] Forked 18525 -(18525) found -[19236] Forked 18526 -(18526) found -[19235] Forked 18527 -(18527) found -[19234] Forked 18528 -(18528) found -[19233] Forked 18529 -(18529) found -[19232] Forked 18530 -(18530) found -[19231] Forked 18531 -(18531) found -[19230] Forked 18532 -(18532) found -[19229] Forked 18533 -(18533) found -[19228] Forked 18534 -(18534) found -[19227] Forked 18535 -(18535) found -[19226] Forked 18536 -(18536) found -[19225] Forked 18537 -(18537) found -[19224] Forked 18538 -(18538) found -[19223] Forked 18539 -(18539) found -[19222] Forked 18540 -(18540) found -[19221] Forked 18541 -(18541) found -[19220] Forked 18542 -(18542) found -[19219] Forked 18543 -(18543) found -[19218] Forked 18544 -(18544) found -[19217] Forked 18545 -(18545) found -[19216] Forked 18546 -(18546) found -[19215] Forked 18547 -(18547) found -[19214] Forked 18548 -(18548) found -[19213] Forked 18549 -(18549) found -[19212] Forked 18550 -(18550) found -[19211] Forked 18551 -(18551) found -[19210] Forked 18552 -(18552) found -[19209] Forked 18553 -(18553) found -[19208] Forked 18554 -(18554) found -[19207] Forked 18555 -(18555) found -[19206] Forked 18556 -(18556) found -[19205] Forked 18557 -(18557) found -[19204] Forked 18558 -(18558) found -[19203] Forked 18559 -(18559) found -[19202] Forked 18560 -(18560) found -[19201] Forked 18561 -(18561) found -[19200] Forked 18562 -(18562) found -[19199] Forked 18563 -(18563) found -[19198] Forked 18564 -(18564) found -[19197] Forked 18565 -(18565) found -[19196] Forked 18566 -(18566) found -[19195] Forked 18567 -(18567) found -[19194] Forked 18568 -(18568) found -[19193] Forked 18569 -(18569) found -[19192] Forked 18570 -(18570) found -[19191] Forked 18571 -(18571) found -[19190] Forked 18572 -(18572) found -[19189] Forked 18573 -(18573) found -[19188] Forked 18574 -(18574) found -[19187] Forked 18575 -[19186] Forked 18576 -(18575) found -(18576) found -[19185] Forked 18577 -[19184] Forked 18578 -(18577) found -(18578) found -[19183] Forked 18579 -[19182] Forked 18580 -(18579) found -(18580) found -[19181] Forked 18581 -[19180] Forked 18582 -(18581) found -(18582) found -[19179] Forked 18583 -[19178] Forked 18584 -(18583) found -(18584) found -[19177] Forked 18585 -[19176] Forked 18586 -(18585) found -(18586) found -[19175] Forked 18587 -[19174] Forked 18588 -(18587) found -(18588) found -[19173] Forked 18589 -[19172] Forked 18590 -(18589) found -(18590) found -[19171] Forked 18591 -[19170] Forked 18592 -(18591) found -(18592) found -[19169] Forked 18593 -[19168] Forked 18594 -(18593) found -(18594) found -[19167] Forked 18595 -[19166] Forked 18596 -(18595) found -(18596) found -[19165] Forked 18597 -[19164] Forked 18598 -(18597) found -(18598) found -[19163] Forked 18599 -[19162] Forked 18600 -(18599) found -(18600) found -[19161] Forked 18601 -[19160] Forked 18602 -(18601) found -(18602) found -[19159] Forked 18603 -[19158] Forked 18604 -(18603) found -(18604) found -[19157] Forked 18605 -[19156] Forked 18606 -(18605) found -(18606) found -[19155] Forked 18607 -[19154] Forked 18608 -(18607) found -(18608) found -[19153] Forked 18609 -[19152] Forked 18610 -(18609) found -(18610) found -[19151] Forked 18612 -[19150] Forked 18613 -(18612) found -(18613) found -[19149] Forked 18614 -[19148] Forked 18615 -(18614) found -(18615) found -[19147] Forked 18616 -[19146] Forked 18617 -(18616) found -(18617) found -[19145] Forked 18618 -[19144] Forked 18619 -(18618) found -(18619) found -[19143] Forked 18620 -(18620) found -[19142] Forked 18621 -(18621) found -[19141] Forked 18622 -(18622) found -[19140] Forked 18623 -(18623) found -[19139] Forked 18624 -(18624) found -[19138] Forked 18625 -(18625) found -[19137] Forked 18626 -(18626) found -[19136] Forked 18627 -(18627) found -[19135] Forked 18628 -(18628) found -[19134] Forked 18629 -(18629) found -[19133] Forked 18630 -(18630) found -[19132] Forked 18631 -(18631) found -[19131] Forked 18632 -(18632) found -[19130] Forked 18633 -(18633) found -[19129] Forked 18634 -(18634) found -[19128] Forked 18635 -(18635) found -[19127] Forked 18636 -(18636) found -[19126] Forked 18637 -(18637) found -[19125] Forked 18638 -(18638) found -[19124] Forked 18639 -(18639) found -[19123] Forked 18640 -(18640) found -[19122] Forked 18641 -(18641) found -[19121] Forked 18642 -(18642) found -[19120] Forked 18643 -(18643) found -[19119] Forked 18644 -(18644) found -[19118] Forked 18645 -(18645) found -[19117] Forked 18646 -(18646) found -[19116] Forked 18647 -(18647) found -[19115] Forked 18648 -(18648) found -[19114] Forked 18649 -(18649) found -[19113] Forked 18650 -(18650) found -[19112] Forked 18651 -(18651) found -[19111] Forked 18652 -(18652) found -[19110] Forked 18653 -(18653) found -[19109] Forked 18654 -(18654) found -[19108] Forked 18655 -(18655) found -[19107] Forked 18656 -(18656) found -[19106] Forked 18657 -[19105] Forked 18658 -(18657) found -(18658) found -[19104] Forked 18659 -[19103] Forked 18660 -(18659) found -(18660) found -[19102] Forked 18661 -[19101] Forked 18662 -(18661) found -(18662) found -[19100] Forked 18663 -[19099] Forked 18664 -(18663) found -(18664) found -[19098] Forked 18665 -[19097] Forked 18666 -(18665) found -(18666) found -[19096] Forked 18667 -[19095] Forked 18668 -(18667) found -(18668) found -[19094] Forked 18669 -[19093] Forked 18670 -(18669) found -(18670) found -[19092] Forked 18671 -[19091] Forked 18672 -(18671) found -(18672) found -[19090] Forked 18673 -[19089] Forked 18674 -(18673) found -(18674) found -[19088] Forked 18675 -[19087] Forked 18676 -(18675) found -(18676) found -[19086] Forked 18677 -[19085] Forked 18678 -(18677) found -(18678) found -[19084] Forked 18679 -[19083] Forked 18680 -(18679) found -(18680) found -[19082] Forked 18681 -[19081] Forked 18682 -(18681) found -(18682) found -[19080] Forked 18683 -[19079] Forked 18684 -(18683) found -(18684) found -[19078] Forked 18685 -[19077] Forked 18686 -(18685) found -(18686) found -[19076] Forked 18687 -[19075] Forked 18688 -(18687) found -(18688) found -[19074] Forked 18689 -[19073] Forked 18690 -(18689) found -(18690) found -[19072] Forked 18691 -[19071] Forked 18692 -(18691) found -(18692) found -[19070] Forked 18693 -[19069] Forked 18694 -(18693) found -(18694) found -[19068] Forked 18695 -[19067] Forked 18696 -(18695) found -(18696) found -[19066] Forked 18697 -[19065] Forked 18698 -(18697) found -(18698) found -[19064] Forked 18699 -[19063] Forked 18700 -(18699) found -(18700) found -[19062] Forked 18701 -[19061] Forked 18702 -(18701) found -(18702) found -[19060] Forked 18703 -[19059] Forked 18704 -(18703) found -(18704) found -[19058] Forked 18705 -[19057] Forked 18706 -(18705) found -(18706) found -[19056] Forked 18707 -[19055] Forked 18708 -(18707) found -(18708) found -[19054] Forked 18709 -[19053] Forked 18710 -(18709) found -(18710) found -[19052] Forked 18711 -[19051] Forked 18712 -(18711) found -(18712) found -[19050] Forked 18713 -[19049] Forked 18714 -(18713) found -(18714) found -[19048] Forked 18715 -[19047] Forked 18716 -(18715) found -(18716) found -[19046] Forked 18717 -[19045] Forked 18718 -(18717) found -(18718) found -[19044] Forked 18719 -[19043] Forked 18720 -(18719) found -(18720) found -[19042] Forked 18721 -[19041] Forked 18722 -(18721) found -(18722) found -[19040] Forked 18723 -[19039] Forked 18724 -(18723) found -(18724) found -[19038] Forked 18725 -[19037] Forked 18726 -(18725) found -(18726) found -[19036] Forked 18727 -[19035] Forked 18728 -(18727) found -(18728) found -[19034] Forked 18729 -[19033] Forked 18730 -(18729) found -(18730) found -[19032] Forked 18731 -[19031] Forked 18732 -(18731) found -(18732) found -[19030] Forked 18733 -[19029] Forked 18734 -(18733) found -(18734) found -[19028] Forked 18735 -[19027] Forked 18736 -(18735) found -(18736) found -[19026] Forked 18737 -(18737) found -[19025] Forked 18738 -[19024] Forked 18739 -(18738) found -(18739) found -[19023] Forked 18740 -[19022] Forked 18741 -(18740) found -(18741) found -[19021] Forked 18742 -[19020] Forked 18743 -(18742) found -(18743) found -[19019] Forked 18744 -[19018] Forked 18745 -(18744) found -(18745) found -[19017] Forked 18746 -[19016] Forked 18747 -(18746) found -(18747) found -[19015] Forked 18748 -[19014] Forked 18749 -(18748) found -(18749) found -[19013] Forked 18750 -[19012] Forked 18751 -(18750) found -(18751) found -[19011] Forked 18752 -[19010] Forked 18753 -(18752) found -(18753) found -[19009] Forked 18754 -[19008] Forked 18755 -(18754) found -(18755) found -[19007] Forked 18756 -[19006] Forked 18757 -(18756) found -(18757) found -[19005] Forked 18758 -[19004] Forked 18759 -(18758) found -(18759) found -[19003] Forked 18760 -[19002] Forked 18761 -(18760) found -(18761) found -[19001] Forked 18762 -[19000] Forked 18763 -(18762) found -(18763) found -[18999] Forked 18764 -[18998] Forked 18765 -(18764) found -(18765) found -[18997] Forked 18766 -[18996] Forked 18767 -(18766) found -(18767) found -[18995] Forked 18768 -[18994] Forked 18769 -(18768) found -(18769) found -[18993] Forked 18770 -[18992] Forked 18771 -(18770) found -(18771) found -[18991] Forked 18772 -[18990] Forked 18773 -(18772) found -(18773) found -[18989] Forked 18774 -[18988] Forked 18775 -(18774) found -(18775) found -[18987] Forked 18776 -[18986] Forked 18777 -(18776) found -(18777) found -[18985] Forked 18778 -[18984] Forked 18779 -(18778) found -(18779) found -[18983] Forked 18780 -[18982] Forked 18781 -(18780) found -(18781) found -[18981] Forked 18782 -[18980] Forked 18783 -(18782) found -(18783) found -[18979] Forked 18784 -[18978] Forked 18785 -(18784) found -(18785) found -[18977] Forked 18786 -[18976] Forked 18787 -(18786) found -(18787) found -[18975] Forked 18788 -[18974] Forked 18789 -(18788) found -(18789) found -[18973] Forked 18790 -[18972] Forked 18791 -(18790) found -(18791) found -[18971] Forked 18792 -(18792) found -[18970] Forked 18793 -(18793) found -[18969] Forked 18794 -(18794) found -[18968] Forked 18795 -(18795) found -[18967] Forked 18796 -(18796) found -[18966] Forked 18797 -(18797) found -[18965] Forked 18798 -(18798) found -[18964] Forked 18799 -(18799) found -[18963] Forked 18800 -(18800) found -[18962] Forked 18801 -(18801) found -[18961] Forked 18802 -(18802) found -[18960] Forked 18803 -(18803) found -[18959] Forked 18804 -(18804) found -[18958] Forked 18805 -(18805) found -[18957] Forked 18806 -(18806) found -[18956] Forked 18807 -(18807) found -[18955] Forked 18808 -(18808) found -[18954] Forked 18809 -(18809) found -[18953] Forked 18810 -(18810) found -[18952] Forked 18811 -(18811) found -[18951] Forked 18812 -(18812) found -[18950] Forked 18813 -(18813) found -[18949] Forked 18814 -(18814) found -[18948] Forked 18815 -(18815) found -[18947] Forked 18816 -(18816) found -[18946] Forked 18817 -(18817) found -[18945] Forked 18818 -(18818) found -[18944] Forked 18819 -(18819) found -[18943] Forked 18820 -(18820) found -[18942] Forked 18821 -(18821) found -[18941] Forked 18822 -(18822) found -[18940] Forked 18823 -(18823) found -[18939] Forked 18824 -(18824) found -[18938] Forked 18825 -(18825) found -[18937] Forked 18826 -(18826) found -[18936] Forked 18827 -(18827) found -[18935] Forked 18828 -(18828) found -[18934] Forked 18829 -[18933] Forked 18830 -(18829) found -(18830) found -[18932] Forked 18831 -[18931] Forked 18832 -(18831) found -(18832) found -[18930] Forked 18833 -[18929] Forked 18834 -(18833) found -(18834) found -[18928] Forked 18835 -[18927] Forked 18836 -(18835) found -(18836) found -[18926] Forked 18837 -[18925] Forked 18838 -(18837) found -(18838) found -[18924] Forked 18839 -[18923] Forked 18840 -(18839) found -(18840) found -[18922] Forked 18841 -[18921] Forked 18842 -(18841) found -(18842) found -[18920] Forked 18843 -[18919] Forked 18844 -(18843) found -(18844) found -[18918] Forked 18845 -[18917] Forked 18846 -(18845) found -(18846) found -[18916] Forked 18847 -[18915] Forked 18848 -(18847) found -(18848) found -[18914] Forked 18849 -[18913] Forked 18850 -(18849) found -(18850) found -[18912] Forked 18851 -[18911] Forked 18852 -(18851) found -(18852) found -[18910] Forked 18853 -[18909] Forked 18854 -(18853) found -(18854) found -[18908] Forked 18855 -[18907] Forked 18856 -(18855) found -(18856) found -[18906] Forked 18857 -[18905] Forked 18858 -(18857) found -(18858) found -[18904] Forked 18859 -[18903] Forked 18860 -(18859) found -(18860) found -[18902] Forked 18861 -[18901] Forked 18862 -(18861) found -(18862) found -[18900] Forked 18863 -[18899] Forked 18864 -(18863) found -(18864) found -[18898] Forked 18865 -[18897] Forked 18866 -(18865) found -(18866) found -[18896] Forked 18867 -(18867) found -[18895] Forked 18868 -[18894] Forked 18869 -(18868) found -(18869) found -[18893] Forked 18870 -[18892] Forked 18871 -(18870) found -(18871) found -[18891] Forked 18872 -(18872) found -[18890] Forked 18873 -(18873) found -[18889] Forked 18874 -(18874) found -[18888] Forked 18875 -(18875) found -[18887] Forked 18876 -(18876) found -[18886] Forked 18877 -(18877) found -[18885] Forked 18878 -(18878) found -[18884] Forked 18879 -(18879) found -[18883] Forked 18880 -(18880) found -[18882] Forked 18881 -(18881) found -[18881] Forked 18882 -(18882) found -[18880] Forked 18883 -(18883) found -[18879] Forked 18884 -(18884) found -[18878] Forked 18885 -(18885) found -[18877] Forked 18886 -(18886) found -[18876] Forked 18887 -(18887) found -[18875] Forked 18888 -(18888) found -[18874] Forked 18889 -(18889) found -[18873] Forked 18890 -(18890) found -[18872] Forked 18891 -(18891) found -[18871] Forked 18892 -(18892) found -[18870] Forked 18895 -(18895) found -[18869] Forked 18896 -(18896) found -[18868] Forked 18897 -(18897) found -[18867] Forked 18898 -(18898) found -[18866] Forked 18899 -(18899) found -[18865] Forked 18900 -(18900) found -[18864] Forked 18901 -(18901) found -[18863] Forked 18902 -(18902) found -[18862] Forked 18903 -(18903) found -[18861] Forked 18904 -(18904) found -[18860] Forked 18905 -(18905) found -[18859] Forked 18906 -(18906) found -[18858] Forked 18907 -(18907) found -[18857] Forked 18908 -(18908) found -[18856] Forked 18909 -(18909) found -[18855] Forked 18910 -(18910) found -[18854] Forked 18911 -(18911) found -[18853] Forked 18912 -(18912) found -[18852] Forked 18913 -[18851] Forked 18914 -(18913) found -(18914) found -[18850] Forked 18915 -[18849] Forked 18916 -(18915) found -(18916) found -[18848] Forked 18917 -[18847] Forked 18918 -(18917) found -(18918) found -[18846] Forked 18919 -[18845] Forked 18920 -(18920) found -(18919) found -[18844] Forked 18921 -(18921) found -[18843] Forked 18922 -(18922) found -[18842] Forked 18923 -(18923) found -[18841] Forked 18925 -(18925) found -[18840] Forked 18926 -(18926) found -[18839] Forked 18927 -(18927) found -[18838] Forked 18928 -(18928) found -[18837] Forked 18929 -(18929) found -[18836] Forked 18930 -(18930) found -[18835] Forked 18931 -(18931) found -[18834] Forked 18932 -(18932) found -[18833] Forked 18933 -(18933) found -[18832] Forked 18934 -(18934) found -[18831] Forked 18935 -(18935) found -[18830] Forked 18936 -(18936) found -[18829] Forked 18937 -(18937) found -[18828] Forked 18938 -(18938) found -[18827] Forked 18939 -(18939) found -[18826] Forked 18940 -(18940) found -[18825] Forked 18941 -(18941) found -[18824] Forked 18942 -(18942) found -[18823] Forked 18943 -(18943) found -[18822] Forked 18944 -(18944) found -[18821] Forked 18945 -(18945) found -[18820] Forked 18946 -[18819] Forked 18947 -(18946) found -(18947) found -[18818] Forked 18948 -[18817] Forked 18949 -(18948) found -(18949) found -[18816] Forked 18950 -[18815] Forked 18951 -(18950) found -(18951) found -[18814] Forked 18952 -[18813] Forked 18953 -(18952) found -(18953) found -[18812] Forked 18954 -[18811] Forked 18955 -(18954) found -(18955) found -[18810] Forked 18956 -[18809] Forked 18957 -(18956) found -(18957) found -[18808] Forked 18958 -[18807] Forked 18959 -(18958) found -(18959) found -[18806] Forked 18960 -[18805] Forked 18961 -(18960) found -(18961) found -[18804] Forked 18962 -[18803] Forked 18963 -(18962) found -(18963) found -[18802] Forked 18964 -[18801] Forked 18965 -(18964) found -(18965) found -[18800] Forked 18966 -[18799] Forked 18967 -(18966) found -(18967) found -[18798] Forked 18968 -(18968) found -[18797] Forked 18969 -(18969) found -[18796] Forked 18970 -[18795] Forked 18971 -(18970) found -(18971) found -[18794] Forked 18972 -[18793] Forked 18973 -(18972) found -(18973) found -[18792] Forked 18974 -[18791] Forked 18975 -(18974) found -(18975) found -[18790] Forked 18976 -[18789] Forked 18977 -(18976) found -(18977) found -[18788] Forked 18978 -[18787] Forked 18979 -(18978) found -(18979) found -[18786] Forked 18980 -[18785] Forked 18981 -(18980) found -(18981) found -[18784] Forked 18982 -[18783] Forked 18983 -(18982) found -(18983) found -[18782] Forked 18984 -[18781] Forked 18985 -(18984) found -(18985) found -[18780] Forked 18986 -[18779] Forked 18987 -(18986) found -(18987) found -[18778] Forked 18988 -[18777] Forked 18990 -(18988) found -(18990) found -[18776] Forked 18991 -(18991) found -[18775] Forked 18992 -(18992) found -[18774] Forked 18993 -(18993) found -[18773] Forked 18994 -(18994) found -[18772] Forked 18995 -(18995) found -[18771] Forked 18996 -(18996) found -[18770] Forked 18997 -(18997) found -[18769] Forked 18998 -(18998) found -[18768] Forked 18999 -(18999) found -[18767] Forked 19000 -(19000) found -[18766] Forked 19001 -(19001) found -[18765] Forked 19002 -(19002) found -[18764] Forked 19003 -(19003) found -[18763] Forked 19004 -(19004) found -[18762] Forked 19005 -(19005) found -[18761] Forked 19006 -(19006) found -[18760] Forked 19007 -(19007) found -[18759] Forked 19008 -(19008) found -[18758] Forked 19009 -(19009) found -[18757] Forked 19010 -(19010) found -[18756] Forked 19011 -(19011) found -[18755] Forked 19012 -(19012) found -[18754] Forked 19013 -(19013) found -[18753] Forked 19014 -(19014) found -[18752] Forked 19015 -(19015) found -[18751] Forked 19017 -(19017) found -[18750] Forked 19018 -(19018) found -[18749] Forked 19019 -(19019) found -[18748] Forked 19020 -(19020) found -[18747] Forked 19021 -(19021) found -[18746] Forked 19022 -(19022) found -[18745] Forked 19023 -(19023) found -[18744] Forked 19024 -(19024) found -[18743] Forked 19025 -(19025) found -[18742] Forked 19026 -(19026) found -[18741] Forked 19027 -(19027) found -[18740] Forked 19028 -(19028) found -[18739] Forked 19029 -(19029) found -[18738] Forked 19030 -(19030) found -[18737] Forked 19031 -[18736] Forked 19032 -(19031) found -(19032) found -[18735] Forked 19033 -[18734] Forked 19034 -(19033) found -(19034) found -[18733] Forked 19035 -[18732] Forked 19036 -(19035) found -(19036) found -[18731] Forked 19037 -[18730] Forked 19038 -(19037) found -(19038) found -[18729] Forked 19039 -[18728] Forked 19040 -(19039) found -(19040) found -[18727] Forked 19041 -[18726] Forked 19042 -(19041) found -(19042) found -[18725] Forked 19043 -[18724] Forked 19044 -(19043) found -(19044) found -[18723] Forked 19045 -[18722] Forked 19046 -(19045) found -(19046) found -[18721] Forked 19047 -[18720] Forked 19048 -(19047) found -(19048) found -[18719] Forked 19049 -[18718] Forked 19050 -(19049) found -(19050) found -[18717] Forked 19051 -[18716] Forked 19052 -(19051) found -(19052) found -[18715] Forked 19053 -[18714] Forked 19054 -(19053) found -(19054) found -[18713] Forked 19055 -[18712] Forked 19056 -(19055) found -(19056) found -[18711] Forked 19057 -[18710] Forked 19058 -(19057) found -(19058) found -[18709] Forked 19059 -[18708] Forked 19060 -(19059) found -(19060) found -[18707] Forked 19061 -[18706] Forked 19062 -(19061) found -(19062) found -[18705] Forked 19063 -[18704] Forked 19064 -(19063) found -(19064) found -[18703] Forked 19065 -[18702] Forked 19066 -(19065) found -(19066) found -[18701] Forked 19067 -[18700] Forked 19068 -(19067) found -(19068) found -[18699] Forked 19069 -[18698] Forked 19070 -(19069) found -(19070) found -[18697] Forked 19071 -[18696] Forked 19072 -(19071) found -(19072) found -[18695] Forked 19073 -[18694] Forked 19074 -(19073) found -(19074) found -[18693] Forked 19075 -[18692] Forked 19076 -(19075) found -(19076) found -[18691] Forked 19077 -[18690] Forked 19078 -(19077) found -(19078) found -[18689] Forked 19079 -(19079) found -[18688] Forked 19080 -[18687] Forked 19081 -(19080) found -(19081) found -[18686] Forked 19082 -[18685] Forked 19083 -(19082) found -(19083) found -[18684] Forked 19084 -[18683] Forked 19085 -(19084) found -(19085) found -[18682] Forked 19086 -[18681] Forked 19087 -(19086) found -(19087) found -[18680] Forked 19088 -[18679] Forked 19089 -(19088) found -(19089) found -[18678] Forked 19090 -[18677] Forked 19091 -(19090) found -(19091) found -[18676] Forked 19092 -[18675] Forked 19093 -(19092) found -(19093) found -[18674] Forked 19094 -[18673] Forked 19095 -(19094) found -(19095) found -[18672] Forked 19096 -[18671] Forked 19097 -(19096) found -(19097) found -[18670] Forked 19098 -[18669] Forked 19099 -(19098) found -(19099) found -[18668] Forked 19100 -[18667] Forked 19101 -(19100) found -(19101) found -[18666] Forked 19102 -[18665] Forked 19104 -(19102) found -(19104) found -[18664] Forked 19105 -[18663] Forked 19106 -(19105) found -(19106) found -[18662] Forked 19107 -[18661] Forked 19108 -(19107) found -(19108) found -[18660] Forked 19109 -[18659] Forked 19110 -(19109) found -(19110) found -[18658] Forked 19111 -[18657] Forked 19112 -(19111) found -(19112) found -[18656] Forked 19113 -[18655] Forked 19114 -(19113) found -(19114) found -[18654] Forked 19115 -[18653] Forked 19116 -(19115) found -(19116) found -[18652] Forked 19117 -[18651] Forked 19118 -(19117) found -(19118) found -[18650] Forked 19119 -[18649] Forked 19120 -(19119) found -(19120) found -[18648] Forked 19121 -[18647] Forked 19122 -(19121) found -(19122) found -[18646] Forked 19123 -[18645] Forked 19124 -(19123) found -(19124) found -[18644] Forked 19125 -[18643] Forked 19126 -(19125) found -(19126) found -[18642] Forked 19127 -[18641] Forked 19128 -(19127) found -(19128) found -[18640] Forked 19129 -[18639] Forked 19130 -(19129) found -(19130) found -[18638] Forked 19131 -[18637] Forked 19132 -(19131) found -(19132) found -[18636] Forked 19133 -[18635] Forked 19134 -(19133) found -(19134) found -[18634] Forked 19135 -[18633] Forked 19136 -(19135) found -(19136) found -[18632] Forked 19137 -[18631] Forked 19138 -(19137) found -(19138) found -[18630] Forked 19139 -[18629] Forked 19140 -(19139) found -(19140) found -[18628] Forked 19141 -[18627] Forked 19142 -(19141) found -(19142) found -[18626] Forked 19143 -[18625] Forked 19144 -(19143) found -(19144) found -[18624] Forked 19145 -[18623] Forked 19146 -(19145) found -(19146) found -[18622] Forked 19147 -[18621] Forked 19148 -(19147) found -(19148) found -[18620] Forked 19149 -[18619] Forked 19150 -(19149) found -(19150) found -[18618] Forked 19151 -[18617] Forked 19152 -(19151) found -(19152) found -[18616] Forked 19153 -[18615] Forked 19154 -(19153) found -(19154) found -[18614] Forked 19155 -[18613] Forked 19156 -(19155) found -(19156) found -[18612] Forked 19157 -[18611] Forked 19158 -(19157) found -(19158) found -[18610] Forked 19159 -[18609] Forked 19160 -(19159) found -(19160) found -[18608] Forked 19161 -[18607] Forked 19162 -(19161) found -(19162) found -[18606] Forked 19163 -[18605] Forked 19164 -(19163) found -(19164) found -[18604] Forked 19165 -[18603] Forked 19166 -(19165) found -(19166) found -[18602] Forked 19167 -[18601] Forked 19168 -(19167) found -(19168) found -[18600] Forked 19169 -[18599] Forked 19170 -(19169) found -(19170) found -[18598] Forked 19171 -(19171) found -[18597] Forked 19172 -(19172) found -[18596] Forked 19173 -(19173) found -[18595] Forked 19174 -(19174) found -[18594] Forked 19175 -(19175) found -[18593] Forked 19176 -(19176) found -[18592] Forked 19177 -(19177) found -[18591] Forked 19178 -(19178) found -[18590] Forked 19179 -(19179) found -[18589] Forked 19180 -(19180) found -[18588] Forked 19181 -(19181) found -[18587] Forked 19182 -(19182) found -[18586] Forked 19183 -(19183) found -[18585] Forked 19184 -(19184) found -[18584] Forked 19185 -(19185) found -[18583] Forked 19186 -(19186) found -[18582] Forked 19187 -(19187) found -[18581] Forked 19188 -(19188) found -[18580] Forked 19189 -(19189) found -[18579] Forked 19191 -(19191) found -[18578] Forked 19192 -(19192) found -[18577] Forked 19193 -(19193) found -[18576] Forked 19194 -(19194) found -[18575] Forked 19195 -(19195) found -[18574] Forked 19196 -(19196) found -[18573] Forked 19197 -(19197) found -[18572] Forked 19198 -(19198) found -[18571] Forked 19199 -(19199) found -[18570] Forked 19200 -(19200) found -[18569] Forked 19201 -(19201) found -[18568] Forked 19202 -(19202) found -[18567] Forked 19203 -(19203) found -[18566] Forked 19204 -(19204) found -[18565] Forked 19205 -(19205) found -[18564] Forked 19206 -(19206) found -[18563] Forked 19207 -[18562] Forked 19208 -(19207) found -(19208) found -[18561] Forked 19209 -[18560] Forked 19210 -(19209) found -(19210) found -[18559] Forked 19211 -[18558] Forked 19212 -(19211) found -(19212) found -[18557] Forked 19213 -[18556] Forked 19214 -(19213) found -(19214) found -[18555] Forked 19215 -[18554] Forked 19216 -(19215) found -(19216) found -[18553] Forked 19217 -[18552] Forked 19218 -(19217) found -(19218) found -[18551] Forked 19219 -[18550] Forked 19220 -(19219) found -(19220) found -[18549] Forked 19221 -[18548] Forked 19222 -(19221) found -(19222) found -[18547] Forked 19223 -[18546] Forked 19224 -(19223) found -(19224) found -[18545] Forked 19225 -[18544] Forked 19226 -(19225) found -(19226) found -[18543] Forked 19227 -[18542] Forked 19228 -(19227) found -(19228) found -[18541] Forked 19229 -[18540] Forked 19230 -(19229) found -(19230) found -[18539] Forked 19231 -[18538] Forked 19232 -(19231) found -(19232) found -[18537] Forked 19233 -[18536] Forked 19234 -(19233) found -(19234) found -[18535] Forked 19235 -[18534] Forked 19236 -(19235) found -(19236) found -[18533] Forked 19237 -[18532] Forked 19238 -(19237) found -(19238) found -[18531] Forked 19239 -[18530] Forked 19240 -(19239) found -(19240) found -[18529] Forked 19241 -[18528] Forked 19242 -(19241) found -(19242) found -[18527] Forked 19243 -[18526] Forked 19244 -(19243) found -(19244) found -[18525] Forked 19245 -[18524] Forked 19246 -(19245) found -(19246) found -[18523] Forked 19247 -[18522] Forked 19248 -(19247) found -(19248) found -[18521] Forked 19249 -[18520] Forked 19250 -(19249) found -(19250) found -[18519] Forked 19251 -[18518] Forked 19252 -(19251) found -(19252) found -[18517] Forked 19253 -(19253) found -[18516] Forked 19254 -[18515] Forked 19255 -(19254) found -(19255) found -[18514] Forked 19256 -[18513] Forked 19257 -(19256) found -(19257) found -[18512] Forked 19258 -[18511] Forked 19259 -(19258) found -(19259) found -[18510] Forked 19260 -[18509] Forked 19261 -(19260) found -(19261) found -[18508] Forked 19262 -[18507] Forked 19263 -(19262) found -(19263) found -[18506] Forked 19264 -[18505] Forked 19265 -(19264) found -(19265) found -[18504] Forked 19266 -[18503] Forked 19267 -(19266) found -(19267) found -[18502] Forked 19268 -[18501] Forked 19269 -(19268) found -(19269) found -[18500] Forked 19270 -[18499] Forked 19271 -(19270) found -(19271) found -[18498] Forked 19272 -[18497] Forked 19273 -(19272) found -(19273) found -[18496] Forked 19274 -[18495] Forked 19275 -(19274) found -(19275) found -[18494] Forked 19276 -[18493] Forked 19277 -(19276) found -(19277) found -[18492] Forked 19278 -[18491] Forked 19279 -(19278) found -(19279) found -[18490] Forked 19280 -[18489] Forked 19281 -(19280) found -(19281) found -[18488] Forked 19282 -[18487] Forked 19283 -(19282) found -(19283) found -[18486] Forked 19284 -[18485] Forked 19285 -(19284) found -(19285) found -[18484] Forked 19286 -[18483] Forked 19287 -(19286) found -(19287) found -[18482] Forked 19288 -[18481] Forked 19289 -(19288) found -(19289) found -[18480] Forked 19290 -[18479] Forked 19291 -(19290) found -(19291) found -[18478] Forked 19292 -[18477] Forked 19293 -(19292) found -(19293) found -[18476] Forked 19294 -[18475] Forked 19295 -(19294) found -(19295) found -[18474] Forked 19296 -[18473] Forked 19297 -(19296) found -(19297) found -[18472] Forked 19298 -(19298) found -[18471] Forked 19299 -(19299) found -[18470] Forked 19300 -(19300) found -[18469] Forked 19301 -(19301) found -[18468] Forked 19302 -(19302) found -[18467] Forked 19303 -(19303) found -[18466] Forked 19304 -(19304) found -[18465] Forked 19305 -(19305) found -[18464] Forked 19306 -(19306) found -[18463] Forked 19307 -(19307) found -[18462] Forked 19308 -(19308) found -[18461] Forked 19309 -(19309) found -[18460] Forked 19310 -(19310) found -[18459] Forked 19311 -(19311) found -[18458] Forked 19312 -(19312) found -[18457] Forked 19313 -(19313) found -[18456] Forked 19314 -(19314) found -[18455] Forked 19315 -(19315) found -[18454] Forked 19316 -(19316) found -[18453] Forked 19317 -(19317) found -[18452] Forked 19318 -(19318) found -[18451] Forked 19319 -(19319) found -[18450] Forked 19320 -(19320) found -[18449] Forked 19321 -(19321) found -[18448] Forked 19322 -(19322) found -[18447] Forked 19323 -(19323) found -[18446] Forked 19324 -(19324) found -[18445] Forked 19325 -(19325) found -[18444] Forked 19326 -(19326) found -[18443] Forked 19327 -(19327) found -[18442] Forked 19328 -(19328) found -[18441] Forked 19329 -(19329) found -[18440] Forked 19330 -(19330) found -[18439] Forked 19331 -(19331) found -[18438] Forked 19332 -(19332) found -[18437] Forked 19333 -(19333) found -[18436] Forked 19334 -(19334) found -[18435] Forked 19335 -(19335) found -[18434] Forked 19336 -(19336) found -[18433] Forked 19337 -(19337) found -[18432] Forked 19338 -[18431] Forked 19339 -(19338) found -(19339) found -[18430] Forked 19340 -[18429] Forked 19341 -(19340) found -(19341) found -[18428] Forked 19342 -[18427] Forked 19343 -(19342) found -(19343) found -[18426] Forked 19344 -[18425] Forked 19345 -(19344) found -(19345) found -[18424] Forked 19346 -(19346) found -[18423] Forked 19347 -(19347) found -[18422] Forked 19348 -[18421] Forked 19349 -(19348) found -(19349) found -[18420] Forked 19350 -[18419] Forked 19351 -(19350) found -(19351) found -[18418] Forked 19352 -[18417] Forked 19353 -(19352) found -(19353) found -[18416] Forked 19354 -[18415] Forked 19355 -(19354) found -(19355) found -[18414] Forked 19356 -[18413] Forked 19357 -(19356) found -(19357) found -[18412] Forked 19358 -[18411] Forked 19359 -(19358) found -(19359) found -[18410] Forked 19360 -[18409] Forked 19361 -(19360) found -(19361) found -[18408] Forked 19362 -[18407] Forked 19363 -(19362) found -(19363) found -[18406] Forked 19364 -[18405] Forked 19365 -(19364) found -(19365) found -[18404] Forked 19366 -[18403] Forked 19367 -(19366) found -(19367) found -[18402] Forked 19368 -[18401] Forked 19369 -(19368) found -(19369) found -[18400] Forked 19370 -[18399] Forked 19371 -(19370) found -(19371) found -[18398] Forked 19372 -[18397] Forked 19373 -(19372) found -(19373) found -[18396] Forked 19374 -[18395] Forked 19375 -(19374) found -(19375) found -[18394] Forked 19376 -[18393] Forked 19378 -(19376) found -(19378) found -[18392] Forked 19379 -(19379) found -[18391] Forked 19380 -(19380) found -[18390] Forked 19381 -(19381) found -[18389] Forked 19382 -(19382) found -[18388] Forked 19383 -(19383) found -[18387] Forked 19384 -(19384) found -[18386] Forked 19385 -(19385) found -[18385] Forked 19386 -(19386) found -[18384] Forked 19387 -(19387) found -[18383] Forked 19388 -(19388) found -[18382] Forked 19389 -(19389) found -[18381] Forked 19390 -(19390) found -[18380] Forked 19391 -(19391) found -[18379] Forked 19392 -(19392) found -[18378] Forked 19393 -(19393) found -[18377] Forked 19394 -(19394) found -[18376] Forked 19395 -(19395) found -[18375] Forked 19396 -(19396) found -[18374] Forked 19397 -(19397) found -[18373] Forked 19398 -(19398) found -[18372] Forked 19399 -(19399) found -[18371] Forked 19400 -(19400) found -[18370] Forked 19401 -(19401) found -[18369] Forked 19402 -(19402) found -[18368] Forked 19403 -(19403) found -[18367] Forked 19404 -(19404) found -[18366] Forked 19405 -(19405) found -[18365] Forked 19406 -(19406) found -[18364] Forked 19407 -(19407) found -[18363] Forked 19408 -(19408) found -[18362] Forked 19409 -(19409) found -[18361] Forked 19410 -(19410) found -[18360] Forked 19411 -(19411) found -[18359] Forked 19412 -(19412) found -[18358] Forked 19413 -(19413) found -[18357] Forked 19414 -(19414) found -[18356] Forked 19415 -(19415) found -[18355] Forked 19416 -(19416) found -[18354] Forked 19417 -(19417) found -[18353] Forked 19418 -(19418) found -[18352] Forked 19419 -(19419) found -[18351] Forked 19420 -(19420) found -[18350] Forked 19421 -(19421) found -[18349] Forked 19422 -(19422) found -[18348] Forked 19423 -(19423) found -[18347] Forked 19424 -(19424) found -[18346] Forked 19425 -(19425) found -[18345] Forked 19426 -(19426) found -[18344] Forked 19427 -(19427) found -[18343] Forked 19428 -(19428) found -[18342] Forked 19429 -(19429) found -[18341] Forked 19430 -(19430) found -[18340] Forked 19431 -(19431) found -[18339] Forked 19432 -(19432) found -[18338] Forked 19433 -(19433) found -[18337] Forked 19434 -(19434) found -[18336] Forked 19435 -(19435) found -[18335] Forked 19436 -(19436) found -[18334] Forked 19437 -(19437) found -[18333] Forked 19438 -(19438) found -[18332] Forked 19439 -(19439) found -[18331] Forked 19440 -(19440) found -[18330] Forked 19441 -(19441) found -[18329] Forked 19442 -(19442) found -[18328] Forked 19443 -(19443) found -[18327] Forked 19444 -(19444) found -[18326] Forked 19445 -(19445) found -[18325] Forked 19446 -(19446) found -[18324] Forked 19447 -(19447) found -[18323] Forked 19448 -(19448) found -[18322] Forked 19449 -(19449) found -[18321] Forked 19450 -(19450) found -[18320] Forked 19451 -(19451) found -[18319] Forked 19452 -(19452) found -[18318] Forked 19453 -(19453) found -[18317] Forked 19454 -[18316] Forked 19455 -(19454) found -(19455) found -[18315] Forked 19456 -[18314] Forked 19457 -(19456) found -(19457) found -[18313] Forked 19458 -[18312] Forked 19459 -(19458) found -(19459) found -[18311] Forked 19460 -[18310] Forked 19461 -(19460) found -(19461) found -[18309] Forked 19462 -[18308] Forked 19463 -(19462) found -(19463) found -[18307] Forked 19464 -[18306] Forked 19465 -(19464) found -(19465) found -[18305] Forked 19466 -[18304] Forked 19467 -(19466) found -(19467) found -[18303] Forked 19468 -[18302] Forked 19469 -(19468) found -(19469) found -[18301] Forked 19470 -[18300] Forked 19471 -(19470) found -(19471) found -[18299] Forked 19472 -[18298] Forked 19473 -(19472) found -(19473) found -[18297] Forked 19474 -[18296] Forked 19475 -(19474) found -(19475) found -[18295] Forked 19476 -[18294] Forked 19477 -(19476) found -(19477) found -[18293] Forked 19478 -[18292] Forked 19479 -(19478) found -(19479) found -[18291] Forked 19480 -[18290] Forked 19481 -(19480) found -(19481) found -[18289] Forked 19482 -[18288] Forked 19483 -(19482) found -(19483) found -[18287] Forked 19484 -[18286] Forked 19485 -(19484) found -(19485) found -[18285] Forked 19486 -[18284] Forked 19487 -(19486) found -(19487) found -[18283] Forked 19488 -[18282] Forked 19489 -(19488) found -(19489) found -[18281] Forked 19490 -[18280] Forked 19491 -(19490) found -(19491) found -[18279] Forked 19492 -[18278] Forked 19493 -(19492) found -(19493) found -[18277] Forked 19494 -[18276] Forked 19495 -(19494) found -(19495) found -[18275] Forked 19496 -[18274] Forked 19497 -(19496) found -(19497) found -[18273] Forked 19498 -[18272] Forked 19499 -(19498) found -(19499) found -[18271] Forked 19500 -(19500) found -[18270] Forked 19501 -(19501) found -[18269] Forked 19502 -(19502) found -[18268] Forked 19503 -(19503) found -[18267] Forked 19504 -(19504) found -[18266] Forked 19505 -(19505) found -[18265] Forked 19506 -(19506) found -[18264] Forked 19507 -(19507) found -[18263] Forked 19508 -(19508) found -[18262] Forked 19509 -(19509) found -[18261] Forked 19510 -(19510) found -[18260] Forked 19511 -(19511) found -[18259] Forked 19512 -(19512) found -[18258] Forked 19513 -(19513) found -[18257] Forked 19514 -(19514) found -[18256] Forked 19515 -(19515) found -[18255] Forked 19516 -(19516) found -[18254] Forked 19517 -(19517) found -[18253] Forked 19518 -(19518) found -[18252] Forked 19519 -(19519) found -[18251] Forked 19520 -(19520) found -[18250] Forked 19521 -(19521) found -[18249] Forked 19522 -(19522) found -[18248] Forked 19523 -(19523) found -[18247] Forked 19524 -(19524) found -[18246] Forked 19525 -(19525) found -[18245] Forked 19526 -(19526) found -[18244] Forked 19527 -(19527) found -[18243] Forked 19528 -(19528) found -[18242] Forked 19529 -(19529) found -[18241] Forked 19530 -(19530) found -[18240] Forked 19531 -(19531) found -[18239] Forked 19532 -(19532) found -[18238] Forked 19533 -(19533) found -[18237] Forked 19534 -(19534) found -[18236] Forked 19535 -[18235] Forked 19536 -(19535) found -(19536) found -[18234] Forked 19537 -[18233] Forked 19538 -(19537) found -(19538) found -[18232] Forked 19539 -[18231] Forked 19540 -(19539) found -(19540) found -[18230] Forked 19541 -[18229] Forked 19542 -(19541) found -(19542) found -[18228] Forked 19543 -[18227] Forked 19544 -(19543) found -(19544) found -[18226] Forked 19545 -[18225] Forked 19546 -(19545) found -(19546) found -[18224] Forked 19547 -[18223] Forked 19548 -(19547) found -(19548) found -[18222] Forked 19549 -[18221] Forked 19550 -(19549) found -(19550) found -[18220] Forked 19551 -[18219] Forked 19552 -(19551) found -(19552) found -[18218] Forked 19553 -[18217] Forked 19554 -(19553) found -(19554) found -[18216] Forked 19555 -[18215] Forked 19556 -(19555) found -(19556) found -[18214] Forked 19557 -[18213] Forked 19558 -(19557) found -(19558) found -[18212] Forked 19559 -[18211] Forked 19560 -(19559) found -(19560) found -[18210] Forked 19561 -[18209] Forked 19562 -(19561) found -(19562) found -[18208] Forked 19563 -[18207] Forked 19564 -(19563) found -(19564) found -[18206] Forked 19565 -[18205] Forked 19566 -(19565) found -(19566) found -[18204] Forked 19567 -[18203] Forked 19568 -(19567) found -(19568) found -[18202] Forked 19569 -[18201] Forked 19570 -(19569) found -(19570) found -[18200] Forked 19571 -[18199] Forked 19572 -(19571) found -(19572) found -[18198] Forked 19573 -[18197] Forked 19574 -(19573) found -(19574) found -[18196] Forked 19575 -[18195] Forked 19576 -(19575) found -(19576) found -[18194] Forked 19577 -[18193] Forked 19578 -(19577) found -(19578) found -[18192] Forked 19579 -[18191] Forked 19580 -(19579) found -(19580) found -[18190] Forked 19581 -[18189] Forked 19582 -(19581) found -(19582) found -[18188] Forked 19583 -[18187] Forked 19584 -(19583) found -(19584) found -[18186] Forked 19585 -[18185] Forked 19586 -(19585) found -(19586) found -[18184] Forked 19587 -[18183] Forked 19588 -(19587) found -(19588) found -[18182] Forked 19589 -[18181] Forked 19590 -(19589) found -(19590) found -[18180] Forked 19591 -[18179] Forked 19592 -(19591) found -(19592) found -[18178] Forked 19593 -[18177] Forked 19594 -(19593) found -(19594) found -[18176] Forked 19595 -[18175] Forked 19596 -(19595) found -(19596) found -[18174] Forked 19597 -[18173] Forked 19598 -(19597) found -(19598) found -[18172] Forked 19599 -[18171] Forked 19600 -(19599) found -(19600) found -[18170] Forked 19601 -[18169] Forked 19602 -(19601) found -(19602) found -[18168] Forked 19603 -[18167] Forked 19604 -(19603) found -(19604) found -[18166] Forked 19605 -[18165] Forked 19606 -(19605) found -(19606) found -[18164] Forked 19607 -[18163] Forked 19608 -(19607) found -(19608) found -[18162] Forked 19609 -[18161] Forked 19610 -(19609) found -(19610) found -[18160] Forked 19611 -[18159] Forked 19612 -(19611) found -(19612) found -[18158] Forked 19613 -[18157] Forked 19614 -(19613) found -(19614) found -[18156] Forked 19615 -[18155] Forked 19616 -(19615) found -(19616) found -[18154] Forked 19617 -[18153] Forked 19618 -(19617) found -(19618) found -[18152] Forked 19619 -[18151] Forked 19620 -(19619) found -(19620) found -[18150] Forked 19621 -[18149] Forked 19622 -(19621) found -(19622) found -[18148] Forked 19623 -[18147] Forked 19624 -(19623) found -(19624) found -[18146] Forked 19625 -[18145] Forked 19626 -(19625) found -(19626) found -[18144] Forked 19627 -(19627) found -[18143] Forked 19628 -(19628) found -[18142] Forked 19629 -(19629) found -[18141] Forked 19630 -(19630) found -[18140] Forked 19631 -(19631) found -[18139] Forked 19632 -(19632) found -[18138] Forked 19633 -(19633) found -[18137] Forked 19634 -(19634) found -[18136] Forked 19635 -(19635) found -[18135] Forked 19636 -(19636) found -[18134] Forked 19637 -(19637) found -[18133] Forked 19638 -(19638) found -[18132] Forked 19639 -(19639) found -[18131] Forked 19640 -(19640) found -[18130] Forked 19641 -(19641) found -[18129] Forked 19642 -(19642) found -[18128] Forked 19643 -(19643) found -[18127] Forked 19644 -(19644) found -[18126] Forked 19645 -(19645) found -[18125] Forked 19646 -(19646) found -[18124] Forked 19647 -(19647) found -[18123] Forked 19648 -(19648) found -[18122] Forked 19649 -(19649) found -[18121] Forked 19650 -(19650) found -[18120] Forked 19651 -(19651) found -[18119] Forked 19652 -(19652) found -[18118] Forked 19653 -(19653) found -[18117] Forked 19654 -(19654) found -[18116] Forked 19655 -(19655) found -[18115] Forked 19656 -(19656) found -[18114] Forked 19657 -(19657) found -[18113] Forked 19658 -(19658) found -[18112] Forked 19659 -(19659) found -[18111] Forked 19660 -(19660) found -[18110] Forked 19661 -(19661) found -[18109] Forked 19662 -(19662) found -[18108] Forked 19663 -(19663) found -[18107] Forked 19664 -(19664) found -[18106] Forked 19665 -[18105] Forked 19666 -(19665) found -(19666) found -[18104] Forked 19667 -[18103] Forked 19668 -(19667) found -(19668) found -[18102] Forked 19669 -[18101] Forked 19670 -(19669) found -(19670) found -[18100] Forked 19671 -[18099] Forked 19672 -(19671) found -(19672) found -[18098] Forked 19673 -[18097] Forked 19674 -(19673) found -(19674) found -[18096] Forked 19675 -[18095] Forked 19676 -(19675) found -(19676) found -[18094] Forked 19677 -[18093] Forked 19678 -(19677) found -(19678) found -[18092] Forked 19679 -[18091] Forked 19680 -(19679) found -(19680) found -[18090] Forked 19681 -[18089] Forked 19682 -(19681) found -(19682) found -[18088] Forked 19683 -[18087] Forked 19684 -(19683) found -(19684) found -[18086] Forked 19685 -[18085] Forked 19686 -(19685) found -(19686) found -[18084] Forked 19687 -[18083] Forked 19688 -(19687) found -(19688) found -[18082] Forked 19689 -[18081] Forked 19690 -(19689) found -(19690) found -[18080] Forked 19691 -[18079] Forked 19692 -(19691) found -(19692) found -[18078] Forked 19693 -[18077] Forked 19694 -(19693) found -(19694) found -[18076] Forked 19695 -[18075] Forked 19696 -(19695) found -(19696) found -[18074] Forked 19697 -[18073] Forked 19698 -(19697) found -(19698) found -[18072] Forked 19699 -[18071] Forked 19700 -(19699) found -(19700) found -[18070] Forked 19701 -[18069] Forked 19702 -(19701) found -(19702) found -[18068] Forked 19703 -[18067] Forked 19704 -(19703) found -(19704) found -[18066] Forked 19705 -[18065] Forked 19706 -(19705) found -(19706) found -[18064] Forked 19707 -[18063] Forked 19708 -(19707) found -(19708) found -[18062] Forked 19709 -(19709) found -[18061] Forked 19710 -(19710) found -[18060] Forked 19711 -(19711) found -[18059] Forked 19712 -(19712) found -[18058] Forked 19713 -(19713) found -[18057] Forked 19714 -(19714) found -[18056] Forked 19715 -(19715) found -[18055] Forked 19716 -(19716) found -[18054] Forked 19717 -(19717) found -[18053] Forked 19718 -(19718) found -[18052] Forked 19719 -(19719) found -[18051] Forked 19720 -(19720) found -[18050] Forked 19721 -(19721) found -[18049] Forked 19722 -(19722) found -[18048] Forked 19723 -(19723) found -[18047] Forked 19724 -(19724) found -[18046] Forked 19725 -(19725) found -[18045] Forked 19726 -(19726) found -[18044] Forked 19727 -(19727) found -[18043] Forked 19728 -(19728) found -[18042] Forked 19729 -(19729) found -[18041] Forked 19730 -(19730) found -[18040] Forked 19731 -(19731) found -[18039] Forked 19732 -(19732) found -[18038] Forked 19733 -(19733) found -[18037] Forked 19734 -(19734) found -[18036] Forked 19735 -(19735) found -[18035] Forked 19736 -(19736) found -[18034] Forked 19737 -(19737) found -[18033] Forked 19738 -(19738) found -[18032] Forked 19739 -(19739) found -[18031] Forked 19740 -(19740) found -[18030] Forked 19741 -(19741) found -[18029] Forked 19742 -(19742) found -[18028] Forked 19743 -(19743) found -[18027] Forked 19744 -(19744) found -[18026] Forked 19745 -(19745) found -[18025] Forked 19746 -(19746) found -[18024] Forked 19747 -(19747) found -[18023] Forked 19748 -(19748) found -[18022] Forked 19749 -[18021] Forked 19750 -(19749) found -(19750) found -[18020] Forked 19751 -[18019] Forked 19752 -(19751) found -(19752) found -[18018] Forked 19753 -[18017] Forked 19754 -(19753) found -(19754) found -[18016] Forked 19755 -[18015] Forked 19756 -(19755) found -(19756) found -[18014] Forked 19757 -[18013] Forked 19758 -(19757) found -(19758) found -[18012] Forked 19759 -[18011] Forked 19760 -(19759) found -(19760) found -[18010] Forked 19761 -[18009] Forked 19762 -(19761) found -(19762) found -[18008] Forked 19763 -[18007] Forked 19764 -(19763) found -(19764) found -[18006] Forked 19765 -[18005] Forked 19766 -(19765) found -(19766) found -[18004] Forked 19767 -[18003] Forked 19768 -(19767) found -(19768) found -[18002] Forked 19769 -[18001] Forked 19770 -(19769) found -(19770) found -[18000] Forked 19771 -[17999] Forked 19772 -(19771) found -(19772) found -[17998] Forked 19773 -[17997] Forked 19774 -(19773) found -(19774) found -[17996] Forked 19775 -[17995] Forked 19776 -(19776) found -(19775) found -[17994] Forked 19777 -(19777) found -[17993] Forked 19778 -(19778) found -[17992] Forked 19779 -(19779) found -[17991] Forked 19780 -(19780) found -[17990] Forked 19781 -(19781) found -[17989] Forked 19782 -(19782) found -[17988] Forked 19783 -(19783) found -[17987] Forked 19784 -(19784) found -[17986] Forked 19785 -(19785) found -[17985] Forked 19786 -(19786) found -[17984] Forked 19787 -(19787) found -[17983] Forked 19788 -(19788) found -[17982] Forked 19789 -(19789) found -[17981] Forked 19790 -(19790) found -[17980] Forked 19791 -(19791) found -[17979] Forked 19792 -(19792) found -[17978] Forked 19793 -(19793) found -[17977] Forked 19794 -(19794) found -[17976] Forked 19795 -(19795) found -[17975] Forked 19796 -(19796) found -[17974] Forked 19797 -(19797) found -[17973] Forked 19798 -(19798) found -[17972] Forked 19799 -(19799) found -[17971] Forked 19800 -(19800) found -[17970] Forked 19801 -(19801) found -[17969] Forked 19802 -(19802) found -[17968] Forked 19803 -(19803) found -[17967] Forked 19804 -(19804) found -[17966] Forked 19805 -(19805) found -[17965] Forked 19806 -(19806) found -[17964] Forked 19807 -(19807) found -[17963] Forked 19808 -(19808) found -[17962] Forked 19809 -(19809) found -[17961] Forked 19810 -(19810) found -[17960] Forked 19811 -(19811) found -[17959] Forked 19812 -(19812) found -[17958] Forked 19813 -(19813) found -[17957] Forked 19814 -(19814) found -[17956] Forked 19815 -(19815) found -[17955] Forked 19816 -(19816) found -[17954] Forked 19817 -(19817) found -[17953] Forked 19818 -(19818) found -[17952] Forked 19819 -(19819) found -[17951] Forked 19820 -(19820) found -[17950] Forked 19821 -(19821) found -[17949] Forked 19822 -(19822) found -[17948] Forked 19823 -(19823) found -[17947] Forked 19824 -(19824) found -[17946] Forked 19825 -(19825) found -[17945] Forked 19826 -[17944] Forked 19827 -(19826) found -(19827) found -[17943] Forked 19828 -[17942] Forked 19829 -(19828) found -(19829) found -[17941] Forked 19830 -[17940] Forked 19831 -(19830) found -(19831) found -[17939] Forked 19832 -[17938] Forked 19833 -(19832) found -(19833) found -[17937] Forked 19834 -[17936] Forked 19835 -(19834) found -(19835) found -[17935] Forked 19836 -[17934] Forked 19837 -(19836) found -(19837) found -[17933] Forked 19838 -[17932] Forked 19839 -(19838) found -(19839) found -[17931] Forked 19840 -[17930] Forked 19841 -(19840) found -(19841) found -[17929] Forked 19842 -[17928] Forked 19843 -(19842) found -(19843) found -[17927] Forked 19844 -[17926] Forked 19845 -(19844) found -(19845) found -[17925] Forked 19846 -[17924] Forked 19847 -(19846) found -(19847) found -[17923] Forked 19848 -[17922] Forked 19849 -(19848) found -(19849) found -[17921] Forked 19850 -[17920] Forked 19851 -(19850) found -(19851) found -[17919] Forked 19852 -[17918] Forked 19853 -(19852) found -(19853) found -[17917] Forked 19854 -[17916] Forked 19855 -(19854) found -(19855) found -[17915] Forked 19856 -[17914] Forked 19857 -(19856) found -(19857) found -[17913] Forked 19858 -[17912] Forked 19859 -(19858) found -(19859) found -[17911] Forked 19860 -[17910] Forked 19861 -(19860) found -(19861) found -[17909] Forked 19862 -[17908] Forked 19863 -(19862) found -(19863) found -[17907] Forked 19864 -[17906] Forked 19865 -(19864) found -(19865) found -[17905] Forked 19866 -[17904] Forked 19867 -(19866) found -(19867) found -[17903] Forked 19868 -[17902] Forked 19869 -(19869) found -(19868) found -[17901] Forked 19870 -(19870) found -[17900] Forked 19871 -(19871) found -[17899] Forked 19872 -(19872) found -[17898] Forked 19873 -(19873) found -[17897] Forked 19874 -(19874) found -[17896] Forked 19875 -(19875) found -[17895] Forked 19876 -(19876) found -[17894] Forked 19877 -(19877) found -[17893] Forked 19878 -(19878) found -[17892] Forked 19879 -(19879) found -[17891] Forked 19880 -(19880) found -[17890] Forked 19881 -(19881) found -[17889] Forked 19882 -(19882) found -[17888] Forked 19883 -(19883) found -[17887] Forked 19884 -(19884) found -[17886] Forked 19885 -(19885) found -[17885] Forked 19886 -(19886) found -[17884] Forked 19887 -(19887) found -[17883] Forked 19888 -(19888) found -[17882] Forked 19889 -(19889) found -[17881] Forked 19890 -(19890) found -[17880] Forked 19891 -(19891) found -[17879] Forked 19892 -(19892) found -[17878] Forked 19893 -(19893) found -[17877] Forked 19894 -(19894) found -[17876] Forked 19895 -(19895) found -[17875] Forked 19896 -(19896) found -[17874] Forked 19897 -(19897) found -[17873] Forked 19898 -(19898) found -[17872] Forked 19899 -(19899) found -[17871] Forked 19900 -(19900) found -[17870] Forked 19901 -(19901) found -[17869] Forked 19902 -(19902) found -[17868] Forked 19903 -(19903) found -[17867] Forked 19904 -(19904) found -[17866] Forked 19905 -(19905) found -[17865] Forked 19906 -[17864] Forked 19907 -(19906) found -(19907) found -[17863] Forked 19908 -[17862] Forked 19909 -(19908) found -(19909) found -[17861] Forked 19910 -[17860] Forked 19911 -(19910) found -(19911) found -[17859] Forked 19912 -[17858] Forked 19913 -(19912) found -(19913) found -[17857] Forked 19914 -[17856] Forked 19915 -(19914) found -(19915) found -[17855] Forked 19916 -[17854] Forked 19917 -(19916) found -(19917) found -[17853] Forked 19918 -[17852] Forked 19919 -(19918) found -(19919) found -[17851] Forked 19920 -[17850] Forked 19921 -(19920) found -(19921) found -[17849] Forked 19922 -[17848] Forked 19923 -(19922) found -(19923) found -[17847] Forked 19924 -[17846] Forked 19925 -(19924) found -(19925) found -[17845] Forked 19926 -[17844] Forked 19927 -(19926) found -(19927) found -[17843] Forked 19928 -[17842] Forked 19929 -(19928) found -(19929) found -[17841] Forked 19930 -[17840] Forked 19931 -(19930) found -(19931) found -[17839] Forked 19932 -[17838] Forked 19933 -(19932) found -(19933) found -[17837] Forked 19934 -[17836] Forked 19935 -(19934) found -(19935) found -[17835] Forked 19936 -[17834] Forked 19937 -(19936) found -(19937) found -[17833] Forked 19938 -[17832] Forked 19939 -(19938) found -(19939) found -[17831] Forked 19940 -[17830] Forked 19941 -(19940) found -(19941) found -[17829] Forked 19942 -[17828] Forked 19943 -(19942) found -(19943) found -[17827] Forked 19944 -[17826] Forked 19945 -(19944) found -(19945) found -[17825] Forked 19946 -[17824] Forked 19947 -(19946) found -(19947) found -[17823] Forked 19948 -[17822] Forked 19949 -(19948) found -(19949) found -[17821] Forked 19950 -(19950) found -[17820] Forked 19951 -(19951) found -[17819] Forked 19952 -(19952) found -[17818] Forked 19953 -(19953) found -[17817] Forked 19954 -(19954) found -[17816] Forked 19955 -(19955) found -[17815] Forked 19956 -(19956) found -[17814] Forked 19957 -(19957) found -[17813] Forked 19958 -(19958) found -[17812] Forked 19959 -(19959) found -[17811] Forked 19960 -(19960) found -[17810] Forked 19961 -(19961) found -[17809] Forked 19962 -(19962) found -[17808] Forked 19963 -(19963) found -[17807] Forked 19964 -(19964) found -[17806] Forked 19965 -(19965) found -[17805] Forked 19966 -(19966) found -[17804] Forked 19967 -(19967) found -[17803] Forked 19968 -(19968) found -[17802] Forked 19969 -(19969) found -[17801] Forked 19970 -(19970) found -[17800] Forked 19971 -(19971) found -[17799] Forked 19972 -(19972) found -[17798] Forked 19973 -(19973) found -[17797] Forked 19974 -(19974) found -[17796] Forked 19975 -(19975) found -[17795] Forked 19976 -(19976) found -[17794] Forked 19977 -(19977) found -[17793] Forked 19978 -(19978) found -[17792] Forked 19979 -(19979) found -[17791] Forked 19980 -(19980) found -[17790] Forked 19981 -(19981) found -[17789] Forked 19982 -(19982) found -[17788] Forked 19983 -(19983) found -[17787] Forked 19984 -(19984) found -[17786] Forked 19985 -(19985) found -[17785] Forked 19986 -(19986) found -[17784] Forked 19987 -(19987) found -[17783] Forked 19988 -(19988) found -[17782] Forked 19989 -[17781] Forked 19990 -(19989) found -(19990) found -[17780] Forked 19991 -[17779] Forked 19992 -(19991) found -(19992) found -[17778] Forked 19993 -[17777] Forked 19994 -(19993) found -(19994) found -[17776] Forked 19995 -[17775] Forked 19996 -(19995) found -(19996) found -[17774] Forked 19997 -[17773] Forked 19998 -(19997) found -(19998) found -[17772] Forked 19999 -[17771] Forked 20000 -(19999) found -(20000) found -[17770] Forked 20001 -[17769] Forked 20002 -(20001) found -(20002) found -[17768] Forked 20003 -[17767] Forked 20004 -(20003) found -(20004) found -[17766] Forked 20005 -[17765] Forked 20006 -(20005) found -(20006) found -[17764] Forked 20007 -[17763] Forked 20008 -(20007) found -(20008) found -[17762] Forked 20009 -[17761] Forked 20010 -(20009) found -(20010) found -[17760] Forked 20011 -[17759] Forked 20012 -(20011) found -(20012) found -[17758] Forked 20013 -[17757] Forked 20014 -(20013) found -(20014) found -[17756] Forked 20015 -[17755] Forked 20016 -(20015) found -(20016) found -[17754] Forked 20017 -[17753] Forked 20018 -(20017) found -(20018) found -[17752] Forked 20019 -[17751] Forked 20020 -(20019) found -(20020) found -[17750] Forked 20021 -[17749] Forked 20022 -(20021) found -(20022) found -[17748] Forked 20023 -[17747] Forked 20024 -(20023) found -(20024) found -[17746] Forked 20025 -[17745] Forked 20026 -(20025) found -(20026) found -[17744] Forked 20027 -[17743] Forked 20029 -(20027) found -(20029) found -[17742] Forked 20030 -(20030) found -[17741] Forked 20031 -(20031) found -[17740] Forked 20032 -(20032) found -[17739] Forked 20033 -(20033) found -[17738] Forked 20034 -(20034) found -[17737] Forked 20035 -(20035) found -[17736] Forked 20036 -(20036) found -[17735] Forked 20037 -(20037) found -[17734] Forked 20038 -(20038) found -[17733] Forked 20039 -(20039) found -[17732] Forked 20040 -(20040) found -[17731] Forked 20041 -(20041) found -[17730] Forked 20042 -(20042) found -[17729] Forked 20043 -(20043) found -[17728] Forked 20044 -(20044) found -[17727] Forked 20045 -(20045) found -[17726] Forked 20046 -(20046) found -[17725] Forked 20047 -(20047) found -[17724] Forked 20048 -(20048) found -[17723] Forked 20049 -(20049) found -[17722] Forked 20050 -(20050) found -[17721] Forked 20051 -(20051) found -[17720] Forked 20052 -(20052) found -[17719] Forked 20053 -(20053) found -[17718] Forked 20054 -(20054) found -[17717] Forked 20055 -(20055) found -[17716] Forked 20056 -(20056) found -[17715] Forked 20057 -(20057) found -[17714] Forked 20058 -(20058) found -[17713] Forked 20059 -(20059) found -[17712] Forked 20060 -(20060) found -[17711] Forked 20061 -(20061) found -[17710] Forked 20062 -(20062) found -[17709] Forked 20063 -(20063) found -[17708] Forked 20064 -(20064) found -[17707] Forked 20065 -(20065) found -[17706] Forked 20066 -(20066) found -[17705] Forked 20067 -(20067) found -[17704] Forked 20068 -(20068) found -[17703] Forked 20069 -(20069) found -[17702] Forked 20070 -(20070) found -[17701] Forked 20071 -(20071) found -[17700] Forked 20072 -(20072) found -[17699] Forked 20073 -(20073) found -[17698] Forked 20074 -(20074) found -[17697] Forked 20075 -(20075) found -[17696] Forked 20076 -(20076) found -[17695] Forked 20077 -(20077) found -[17694] Forked 20078 -(20078) found -[17693] Forked 20079 -(20079) found -[17692] Forked 20080 -(20080) found -[17691] Forked 20081 -(20081) found -[17690] Forked 20082 -(20082) found -[17689] Forked 20083 -(20083) found -[17688] Forked 20084 -(20084) found -[17687] Forked 20085 -(20085) found -[17686] Forked 20086 -(20086) found -[17685] Forked 20087 -(20087) found -[17684] Forked 20088 -(20088) found -[17683] Forked 20089 -(20089) found -[17682] Forked 20090 -(20090) found -[17681] Forked 20091 -(20091) found -[17680] Forked 20092 -(20092) found -[17679] Forked 20093 -(20093) found -[17678] Forked 20094 -(20094) found -[17677] Forked 20095 -(20095) found -[17676] Forked 20096 -(20096) found -[17675] Forked 20097 -(20097) found -[17674] Forked 20098 -(20098) found -[17673] Forked 20099 -(20099) found -[17672] Forked 20100 -(20100) found -[17671] Forked 20101 -(20101) found -[17670] Forked 20102 -(20102) found -[17669] Forked 20103 -[17668] Forked 20104 -(20103) found -(20104) found -[17667] Forked 20105 -[17666] Forked 20106 -(20105) found -(20106) found -[17665] Forked 20107 -[17664] Forked 20108 -(20107) found -(20108) found -[17663] Forked 20109 -[17662] Forked 20110 -(20109) found -(20110) found -[17661] Forked 20111 -[17660] Forked 20112 -(20111) found -(20112) found -[17659] Forked 20113 -[17658] Forked 20114 -(20113) found -(20114) found -[17657] Forked 20115 -[17656] Forked 20116 -(20115) found -(20116) found -[17655] Forked 20117 -[17654] Forked 20118 -(20117) found -(20118) found -[17653] Forked 20119 -[17652] Forked 20120 -(20119) found -(20120) found -[17651] Forked 20121 -[17650] Forked 20122 -(20121) found -(20122) found -[17649] Forked 20123 -[17648] Forked 20124 -(20123) found -(20124) found -[17647] Forked 20125 -[17646] Forked 20126 -(20125) found -(20126) found -[17645] Forked 20127 -[17644] Forked 20128 -(20127) found -(20128) found -[17643] Forked 20129 -[17642] Forked 20130 -(20129) found -(20130) found -[17641] Forked 20131 -[17640] Forked 20132 -(20131) found -(20132) found -[17639] Forked 20133 -[17638] Forked 20134 -(20133) found -(20134) found -[17637] Forked 20135 -[17636] Forked 20136 -(20135) found -(20136) found -[17635] Forked 20137 -[17634] Forked 20138 -(20137) found -(20138) found -[17633] Forked 20139 -[17632] Forked 20140 -(20139) found -(20140) found -[17631] Forked 20141 -[17630] Forked 20142 -(20141) found -(20142) found -[17629] Forked 20143 -[17628] Forked 20144 -(20143) found -(20144) found -[17627] Forked 20145 -[17626] Forked 20146 -(20145) found -(20146) found -[17625] Forked 20147 -[17624] Forked 20148 -(20147) found -(20148) found -[17623] Forked 20149 -[17622] Forked 20150 -(20150) found -(20149) found -[17621] Forked 20151 -(20151) found -[17620] Forked 20152 -(20152) found -[17619] Forked 20153 -(20153) found -[17618] Forked 20154 -(20154) found -[17617] Forked 20155 -(20155) found -[17616] Forked 20156 -(20156) found -[17615] Forked 20157 -(20157) found -[17614] Forked 20158 -(20158) found -[17613] Forked 20159 -(20159) found -[17612] Forked 20160 -(20160) found -[17611] Forked 20161 -(20161) found -[17610] Forked 20162 -(20162) found -[17609] Forked 20163 -(20163) found -[17608] Forked 20164 -(20164) found -[17607] Forked 20165 -(20165) found -[17606] Forked 20166 -(20166) found -[17605] Forked 20167 -(20167) found -[17604] Forked 20168 -(20168) found -[17603] Forked 20169 -(20169) found -[17602] Forked 20170 -(20170) found -[17601] Forked 20171 -(20171) found -[17600] Forked 20172 -(20172) found -[17599] Forked 20173 -(20173) found -[17598] Forked 20174 -(20174) found -[17597] Forked 20175 -(20175) found -[17596] Forked 20176 -(20176) found -[17595] Forked 20177 -(20177) found -[17594] Forked 20178 -(20178) found -[17593] Forked 20179 -(20179) found -[17592] Forked 20180 -(20180) found -[17591] Forked 20181 -(20181) found -[17590] Forked 20182 -(20182) found -[17589] Forked 20183 -(20183) found -[17588] Forked 20184 -(20184) found -[17587] Forked 20185 -(20185) found -[17586] Forked 20186 -(20186) found -[17585] Forked 20187 -(20187) found -[17584] Forked 20188 -(20188) found -[17583] Forked 20189 -(20189) found -[17582] Forked 20190 -(20190) found -[17581] Forked 20191 -(20191) found -[17580] Forked 20192 -(20192) found -[17579] Forked 20193 -(20193) found -[17578] Forked 20194 -(20194) found -[17577] Forked 20195 -(20195) found -[17576] Forked 20196 -(20196) found -[17575] Forked 20197 -(20197) found -[17574] Forked 20198 -(20198) found -[17573] Forked 20199 -(20199) found -[17572] Forked 20200 -(20200) found -[17571] Forked 20201 -[17570] Forked 20202 -(20201) found -(20202) found -[17569] Forked 20203 -[17568] Forked 20204 -(20203) found -(20204) found -[17567] Forked 20205 -[17566] Forked 20206 -(20205) found -(20206) found -[17565] Forked 20207 -(20207) found -[17564] Forked 20208 -(20208) found -[17563] Forked 20209 -(20209) found -[17562] Forked 20210 -(20210) found -[17561] Forked 20211 -(20211) found -[17560] Forked 20212 -(20212) found -[17559] Forked 20213 -(20213) found -[17558] Forked 20214 -(20214) found -[17557] Forked 20215 -(20215) found -[17556] Forked 20216 -(20216) found -[17555] Forked 20217 -(20217) found -[17554] Forked 20218 -(20218) found -[17553] Forked 20219 -(20219) found -[17552] Forked 20220 -(20220) found -[17551] Forked 20221 -(20221) found -[17550] Forked 20222 -(20222) found -[17549] Forked 20223 -(20223) found -[17548] Forked 20224 -(20224) found -[17547] Forked 20225 -(20225) found -[17546] Forked 20226 -(20226) found -[17545] Forked 20227 -(20227) found -[17544] Forked 20228 -(20228) found -[17543] Forked 20229 -(20229) found -[17542] Forked 20230 -(20230) found -[17541] Forked 20231 -(20231) found -[17540] Forked 20232 -(20232) found -[17539] Forked 20233 -(20233) found -[17538] Forked 20234 -(20234) found -[17537] Forked 20235 -(20235) found -[17536] Forked 20236 -(20236) found -[17535] Forked 20237 -(20237) found -[17534] Forked 20238 -(20238) found -[17533] Forked 20239 -(20239) found -[17532] Forked 20240 -(20240) found -[17531] Forked 20241 -(20241) found -[17530] Forked 20242 -[17529] Forked 20243 -(20242) found -(20243) found -[17528] Forked 20244 -[17527] Forked 20245 -(20244) found -(20245) found -[17526] Forked 20246 -[17525] Forked 20247 -(20246) found -(20247) found -[17524] Forked 20248 -[17523] Forked 20249 -(20248) found -(20249) found -[17522] Forked 20250 -[17521] Forked 20251 -(20250) found -(20251) found -[17520] Forked 20252 -[17519] Forked 20253 -(20252) found -(20253) found -[17518] Forked 20254 -[17517] Forked 20255 -(20254) found -(20255) found -[17516] Forked 20256 -[17515] Forked 20257 -(20256) found -(20257) found -[17514] Forked 20258 -[17513] Forked 20259 -(20258) found -(20259) found -[17512] Forked 20260 -[17511] Forked 20261 -(20260) found -(20261) found -[17510] Forked 20262 -[17509] Forked 20263 -(20262) found -(20263) found -[17508] Forked 20264 -[17507] Forked 20265 -(20264) found -(20265) found -[17506] Forked 20266 -[17505] Forked 20267 -(20266) found -(20267) found -[17504] Forked 20268 -[17503] Forked 20269 -(20268) found -(20269) found -[17502] Forked 20270 -[17501] Forked 20271 -(20270) found -(20271) found -[17500] Forked 20272 -[17499] Forked 20273 -(20272) found -(20273) found -[17498] Forked 20274 -[17497] Forked 20275 -(20274) found -(20275) found -[17496] Forked 20276 -[17495] Forked 20277 -(20276) found -(20277) found -[17494] Forked 20278 -[17493] Forked 20279 -(20278) found -(20279) found -[17492] Forked 20280 -[17491] Forked 20281 -(20280) found -(20281) found -[17490] Forked 20282 -[17489] Forked 20283 -(20282) found -(20283) found -[17488] Forked 20284 -[17487] Forked 20285 -(20284) found -(20285) found -[17486] Forked 20286 -[17485] Forked 20287 -(20286) found -(20287) found -[17484] Forked 20288 -[17483] Forked 20289 -(20288) found -(20289) found -[17482] Forked 20290 -[17481] Forked 20291 -(20290) found -(20291) found -[17480] Forked 20292 -[17479] Forked 20293 -(20292) found -(20293) found -[17478] Forked 20294 -[17477] Forked 20295 -(20294) found -(20295) found -[17476] Forked 20296 -[17475] Forked 20297 -(20296) found -(20297) found -[17474] Forked 20298 -[17473] Forked 20299 -(20298) found -(20299) found -[17472] Forked 20300 -[17471] Forked 20301 -(20300) found -(20301) found -[17470] Forked 20302 -[17469] Forked 20303 -(20302) found -(20303) found -[17468] Forked 20304 -[17467] Forked 20305 -(20304) found -(20305) found -[17466] Forked 20306 -[17465] Forked 20307 -(20306) found -(20307) found -[17464] Forked 20308 -[17463] Forked 20309 -(20308) found -(20309) found -[17462] Forked 20310 -[17461] Forked 20311 -(20310) found -(20311) found -[17460] Forked 20312 -[17459] Forked 20313 -(20312) found -(20313) found -[17458] Forked 20314 -[17457] Forked 20315 -(20314) found -(20315) found -[17456] Forked 20316 -[17455] Forked 20317 -(20316) found -(20317) found -[17454] Forked 20318 -[17453] Forked 20319 -(20318) found -(20319) found -[17452] Forked 20320 -[17451] Forked 20321 -(20320) found -(20321) found -[17450] Forked 20322 -[17449] Forked 20323 -(20322) found -(20323) found -[17448] Forked 20324 -[17447] Forked 20325 -(20324) found -(20325) found -[17446] Forked 20326 -[17445] Forked 20327 -(20326) found -(20327) found -[17444] Forked 20328 -[17443] Forked 20329 -(20328) found -(20329) found -[17442] Forked 20330 -[17441] Forked 20331 -(20330) found -(20331) found -[17440] Forked 20332 -[17439] Forked 20333 -(20332) found -(20333) found -[17438] Forked 20334 -(20334) found -[17437] Forked 20335 -(20335) found -[17436] Forked 20336 -(20336) found -[17435] Forked 20337 -(20337) found -[17434] Forked 20338 -(20338) found -[17433] Forked 20339 -(20339) found -[17432] Forked 20340 -(20340) found -[17431] Forked 20341 -(20341) found -[17430] Forked 20342 -(20342) found -[17429] Forked 20343 -(20343) found -[17428] Forked 20344 -(20344) found -[17427] Forked 20345 -(20345) found -[17426] Forked 20346 -(20346) found -[17425] Forked 20347 -(20347) found -[17424] Forked 20348 -(20348) found -[17423] Forked 20349 -(20349) found -[17422] Forked 20350 -(20350) found -[17421] Forked 20351 -(20351) found -[17420] Forked 20352 -(20352) found -[17419] Forked 20353 -(20353) found -[17418] Forked 20354 -(20354) found -[17417] Forked 20355 -(20355) found -[17416] Forked 20356 -(20356) found -[17415] Forked 20357 -(20357) found -[17414] Forked 20358 -(20358) found -[17413] Forked 20359 -(20359) found -[17412] Forked 20360 -(20360) found -[17411] Forked 20361 -(20361) found -[17410] Forked 20362 -(20362) found -[17409] Forked 20363 -(20363) found -[17408] Forked 20364 -(20364) found -[17407] Forked 20365 -(20365) found -[17406] Forked 20366 -(20366) found -[17405] Forked 20367 -(20367) found -[17404] Forked 20368 -(20368) found -[17403] Forked 20369 -(20369) found -[17402] Forked 20370 -(20370) found -[17401] Forked 20371 -(20371) found -[17400] Forked 20372 -(20372) found -[17399] Forked 20373 -[17398] Forked 20374 -(20373) found -(20374) found -[17397] Forked 20375 -[17396] Forked 20376 -(20375) found -(20376) found -[17395] Forked 20377 -[17394] Forked 20378 -(20377) found -(20378) found -[17393] Forked 20379 -[17392] Forked 20380 -(20379) found -(20380) found -[17391] Forked 20381 -[17390] Forked 20382 -(20381) found -(20382) found -[17389] Forked 20383 -[17388] Forked 20384 -(20383) found -(20384) found -[17387] Forked 20385 -[17386] Forked 20386 -(20385) found -(20386) found -[17385] Forked 20387 -[17384] Forked 20388 -(20387) found -(20388) found -[17383] Forked 20389 -[17382] Forked 20390 -(20389) found -(20390) found -[17381] Forked 20391 -[17380] Forked 20392 -(20391) found -(20392) found -[17379] Forked 20393 -[17378] Forked 20394 -(20393) found -(20394) found -[17377] Forked 20395 -[17376] Forked 20396 -(20395) found -(20396) found -[17375] Forked 20397 -[17374] Forked 20398 -(20397) found -(20398) found -[17373] Forked 20399 -[17372] Forked 20400 -(20399) found -(20400) found -[17371] Forked 20401 -[17370] Forked 20402 -(20401) found -(20402) found -[17369] Forked 20403 -[17368] Forked 20404 -(20403) found -(20404) found -[17367] Forked 20405 -[17366] Forked 20406 -(20405) found -(20406) found -[17365] Forked 20407 -[17364] Forked 20408 -(20407) found -(20408) found -[17363] Forked 20409 -[17362] Forked 20410 -(20409) found -(20410) found -[17361] Forked 20411 -[17360] Forked 20412 -(20411) found -(20412) found -[17359] Forked 20413 -[17358] Forked 20414 -(20413) found -(20414) found -[17357] Forked 20415 -[17356] Forked 20416 -(20415) found -(20416) found -[17355] Forked 20417 -(20417) found -[17354] Forked 20418 -(20418) found -[17353] Forked 20419 -(20419) found -[17352] Forked 20420 -(20420) found -[17351] Forked 20421 -(20421) found -[17350] Forked 20422 -(20422) found -[17349] Forked 20423 -(20423) found -[17348] Forked 20424 -(20424) found -[17347] Forked 20425 -(20425) found -[17346] Forked 20426 -(20426) found -[17345] Forked 20427 -(20427) found -[17344] Forked 20428 -(20428) found -[17343] Forked 20429 -(20429) found -[17342] Forked 20430 -(20430) found -[17341] Forked 20431 -(20431) found -[17340] Forked 20432 -(20432) found -[17339] Forked 20433 -(20433) found -[17338] Forked 20434 -(20434) found -[17337] Forked 20435 -(20435) found -[17336] Forked 20436 -(20436) found -[17335] Forked 20437 -(20437) found -[17334] Forked 20438 -(20438) found -[17333] Forked 20439 -(20439) found -[17332] Forked 20440 -(20440) found -[17331] Forked 20441 -(20441) found -[17330] Forked 20442 -(20442) found -[17329] Forked 20443 -(20443) found -[17328] Forked 20444 -(20444) found -[17327] Forked 20445 -(20445) found -[17326] Forked 20446 -(20446) found -[17325] Forked 20447 -(20447) found -[17324] Forked 20448 -(20448) found -[17323] Forked 20449 -(20449) found -[17322] Forked 20450 -(20450) found -[17321] Forked 20451 -(20451) found -[17320] Forked 20452 -(20452) found -[17319] Forked 20453 -(20453) found -[17318] Forked 20454 -(20454) found -[17317] Forked 20455 -(20455) found -[17316] Forked 20456 -[17315] Forked 20457 -(20456) found -(20457) found -[17314] Forked 20458 -[17313] Forked 20459 -(20458) found -(20459) found -[17312] Forked 20460 -[17311] Forked 20461 -(20460) found -(20461) found -[17310] Forked 20462 -[17309] Forked 20463 -(20462) found -(20463) found -[17308] Forked 20464 -[17307] Forked 20465 -(20464) found -(20465) found -[17306] Forked 20466 -[17305] Forked 20467 -(20466) found -(20467) found -[17304] Forked 20468 -[17303] Forked 20469 -(20468) found -(20469) found -[17302] Forked 20470 -[17301] Forked 20471 -(20470) found -(20471) found -[17300] Forked 20472 -[17299] Forked 20473 -(20472) found -(20473) found -[17298] Forked 20474 -[17297] Forked 20475 -(20474) found -(20475) found -[17296] Forked 20476 -[17295] Forked 20477 -(20476) found -(20477) found -[17294] Forked 20478 -[17293] Forked 20479 -(20478) found -(20479) found -[17292] Forked 20480 -[17291] Forked 20481 -(20480) found -(20481) found -[17290] Forked 20482 -[17289] Forked 20483 -(20482) found -(20483) found -[17288] Forked 20484 -[17287] Forked 20485 -(20484) found -(20485) found -[17286] Forked 20486 -[17285] Forked 20487 -(20486) found -(20487) found -[17284] Forked 20488 -[17283] Forked 20489 -(20488) found -(20489) found -[17282] Forked 20490 -[17281] Forked 20491 -(20490) found -(20491) found -[17280] Forked 20492 -[17279] Forked 20493 -(20492) found -(20493) found -[17278] Forked 20494 -(20494) found -[17277] Forked 20495 -[17276] Forked 20496 -(20495) found -(20496) found -[17275] Forked 20497 -[17274] Forked 20498 -(20497) found -(20498) found -[17273] Forked 20499 -(20499) found -[17272] Forked 20500 -(20500) found -[17271] Forked 20501 -(20501) found -[17270] Forked 20502 -(20502) found -[17269] Forked 20503 -(20503) found -[17268] Forked 20504 -(20504) found -[17267] Forked 20505 -(20505) found -[17266] Forked 20506 -(20506) found -[17265] Forked 20507 -(20507) found -[17264] Forked 20508 -(20508) found -[17263] Forked 20509 -(20509) found -[17262] Forked 20510 -(20510) found -[17261] Forked 20511 -(20511) found -[17260] Forked 20512 -(20512) found -[17259] Forked 20513 -(20513) found -[17258] Forked 20514 -(20514) found -[17257] Forked 20515 -(20515) found -[17256] Forked 20516 -(20516) found -[17255] Forked 20517 -(20517) found -[17254] Forked 20518 -(20518) found -[17253] Forked 20519 -(20519) found -[17252] Forked 20520 -(20520) found -[17251] Forked 20521 -(20521) found -[17250] Forked 20522 -(20522) found -[17249] Forked 20523 -(20523) found -[17248] Forked 20524 -(20524) found -[17247] Forked 20525 -(20525) found -[17246] Forked 20526 -(20526) found -[17245] Forked 20527 -(20527) found -[17244] Forked 20528 -(20528) found -[17243] Forked 20529 -(20529) found -[17242] Forked 20530 -(20530) found -[17241] Forked 20531 -(20531) found -[17240] Forked 20532 -(20532) found -[17239] Forked 20533 -(20533) found -[17238] Forked 20534 -(20534) found -[17237] Forked 20535 -(20535) found -[17236] Forked 20536 -(20536) found -[17235] Forked 20537 -(20537) found -[17234] Forked 20538 -[17233] Forked 20539 -(20538) found -(20539) found -[17232] Forked 20540 -[17231] Forked 20541 -(20540) found -(20541) found -[17230] Forked 20542 -[17229] Forked 20543 -(20542) found -(20543) found -[17228] Forked 20544 -[17227] Forked 20545 -(20544) found -(20545) found -[17226] Forked 20546 -[17225] Forked 20547 -(20546) found -(20547) found -[17224] Forked 20548 -[17223] Forked 20549 -(20548) found -(20549) found -[17222] Forked 20550 -[17221] Forked 20551 -(20550) found -(20551) found -[17220] Forked 20552 -[17219] Forked 20553 -(20552) found -(20553) found -[17218] Forked 20554 -[17217] Forked 20555 -(20554) found -(20555) found -[17216] Forked 20556 -[17215] Forked 20557 -(20556) found -(20557) found -[17214] Forked 20558 -[17213] Forked 20559 -(20558) found -(20559) found -[17212] Forked 20560 -[17211] Forked 20561 -(20560) found -(20561) found -[17210] Forked 20562 -[17209] Forked 20563 -(20562) found -(20563) found -[17208] Forked 20564 -[17207] Forked 20565 -(20564) found -(20565) found -[17206] Forked 20566 -[17205] Forked 20567 -(20566) found -(20567) found -[17204] Forked 20568 -[17203] Forked 20569 -(20568) found -(20569) found -[17202] Forked 20570 -[17201] Forked 20571 -(20570) found -(20571) found -[17200] Forked 20572 -[17199] Forked 20573 -(20572) found -(20573) found -[17198] Forked 20574 -[17197] Forked 20575 -(20574) found -(20575) found -[17196] Forked 20576 -[17195] Forked 20577 -(20576) found -(20577) found -[17194] Forked 20578 -[17193] Forked 20579 -(20578) found -(20579) found -[17192] Forked 20580 -[17191] Forked 20581 -(20580) found -(20581) found -[17190] Forked 20582 -[17189] Forked 20583 -(20582) found -(20583) found -[17188] Forked 20584 -[17187] Forked 20585 -(20584) found -(20585) found -[17186] Forked 20586 -[17185] Forked 20587 -(20586) found -(20587) found -[17184] Forked 20588 -[17183] Forked 20589 -(20588) found -(20589) found -[17182] Forked 20590 -[17181] Forked 20591 -(20590) found -(20591) found -[17180] Forked 20592 -[17179] Forked 20593 -(20592) found -(20593) found -[17178] Forked 20594 -[17177] Forked 20595 -(20594) found -(20595) found -[17176] Forked 20596 -[17175] Forked 20597 -(20596) found -(20597) found -[17174] Forked 20598 -[17173] Forked 20599 -(20598) found -(20599) found -[17172] Forked 20600 -[17171] Forked 20601 -(20600) found -(20601) found -[17170] Forked 20602 -[17169] Forked 20603 -(20602) found -(20603) found -[17168] Forked 20604 -[17167] Forked 20605 -(20604) found -(20605) found -[17166] Forked 20606 -[17165] Forked 20607 -(20606) found -(20607) found -[17164] Forked 20608 -[17163] Forked 20609 -(20608) found -(20609) found -[17162] Forked 20610 -[17161] Forked 20611 -(20610) found -(20611) found -[17160] Forked 20612 -[17159] Forked 20613 -(20612) found -(20613) found -[17158] Forked 20614 -[17157] Forked 20615 -(20614) found -(20615) found -[17156] Forked 20616 -[17155] Forked 20617 -(20616) found -(20617) found -[17154] Forked 20618 -[17153] Forked 20619 -(20618) found -(20619) found -[17152] Forked 20620 -[17151] Forked 20621 -(20620) found -(20621) found -[17150] Forked 20622 -[17149] Forked 20623 -(20622) found -(20623) found -[17148] Forked 20624 -[17147] Forked 20625 -(20624) found -(20625) found -[17146] Forked 20626 -[17145] Forked 20627 -(20626) found -(20627) found -[17144] Forked 20628 -[17143] Forked 20629 -(20628) found -(20629) found -[17142] Forked 20630 -(20630) found -[17141] Forked 20631 -(20631) found -[17140] Forked 20632 -(20632) found -[17139] Forked 20633 -(20633) found -[17138] Forked 20634 -(20634) found -[17137] Forked 20635 -(20635) found -[17136] Forked 20636 -(20636) found -[17135] Forked 20637 -(20637) found -[17134] Forked 20638 -(20638) found -[17133] Forked 20639 -(20639) found -[17132] Forked 20640 -(20640) found -[17131] Forked 20641 -(20641) found -[17130] Forked 20642 -(20642) found -[17129] Forked 20643 -(20643) found -[17128] Forked 20644 -(20644) found -[17127] Forked 20645 -(20645) found -[17126] Forked 20646 -(20646) found -[17125] Forked 20647 -(20647) found -[17124] Forked 20648 -(20648) found -[17123] Forked 20649 -(20649) found -[17122] Forked 20650 -(20650) found -[17121] Forked 20651 -(20651) found -[17120] Forked 20652 -(20652) found -[17119] Forked 20653 -(20653) found -[17118] Forked 20654 -(20654) found -[17117] Forked 20655 -(20655) found -[17116] Forked 20656 -(20656) found -[17115] Forked 20657 -(20657) found -[17114] Forked 20658 -(20658) found -[17113] Forked 20659 -(20659) found -[17112] Forked 20660 -(20660) found -[17111] Forked 20661 -(20661) found -[17110] Forked 20662 -(20662) found -[17109] Forked 20663 -(20663) found -[17108] Forked 20664 -[17107] Forked 20665 -(20664) found -(20665) found -[17106] Forked 20666 -[17105] Forked 20667 -(20666) found -(20667) found -[17104] Forked 20668 -[17103] Forked 20669 -(20668) found -(20669) found -[17102] Forked 20670 -[17101] Forked 20671 -(20670) found -(20671) found -[17100] Forked 20672 -[17099] Forked 20673 -(20672) found -(20673) found -[17098] Forked 20674 -[17097] Forked 20675 -(20674) found -(20675) found -[17096] Forked 20676 -[17095] Forked 20677 -(20676) found -(20677) found -[17094] Forked 20678 -[17093] Forked 20679 -(20678) found -(20679) found -[17092] Forked 20680 -[17091] Forked 20681 -(20680) found -(20681) found -[17090] Forked 20682 -[17089] Forked 20683 -(20682) found -(20683) found -[17088] Forked 20684 -[17087] Forked 20685 -(20684) found -(20685) found -[17086] Forked 20686 -[17085] Forked 20687 -(20686) found -(20687) found -[17084] Forked 20688 -[17083] Forked 20689 -(20688) found -(20689) found -[17082] Forked 20690 -[17081] Forked 20691 -(20690) found -(20691) found -[17080] Forked 20692 -[17079] Forked 20693 -(20692) found -(20693) found -[17078] Forked 20694 -[17077] Forked 20695 -(20694) found -(20695) found -[17076] Forked 20696 -[17075] Forked 20697 -(20696) found -(20697) found -[17074] Forked 20698 -[17073] Forked 20699 -(20698) found -(20699) found -[17072] Forked 20700 -[17071] Forked 20701 -(20700) found -(20701) found -[17070] Forked 20702 -[17069] Forked 20703 -(20702) found -(20703) found -[17068] Forked 20704 -[17067] Forked 20706 -(20704) found -(20706) found -[17066] Forked 20707 -(20707) found -[17065] Forked 20708 -(20708) found -[17064] Forked 20709 -(20709) found -[17063] Forked 20710 -(20710) found -[17062] Forked 20711 -(20711) found -[17061] Forked 20712 -(20712) found -[17060] Forked 20713 -(20713) found -[17059] Forked 20714 -(20714) found -[17058] Forked 20715 -(20715) found -[17057] Forked 20716 -(20716) found -[17056] Forked 20717 -(20717) found -[17055] Forked 20718 -(20718) found -[17054] Forked 20719 -(20719) found -[17053] Forked 20720 -(20720) found -[17052] Forked 20721 -(20721) found -[17051] Forked 20722 -(20722) found -[17050] Forked 20723 -(20723) found -[17049] Forked 20724 -(20724) found -[17048] Forked 20725 -(20725) found -[17047] Forked 20726 -(20726) found -[17046] Forked 20727 -(20727) found -[17045] Forked 20728 -(20728) found -[17044] Forked 20729 -(20729) found -[17043] Forked 20730 -(20730) found -[17042] Forked 20731 -(20731) found -[17041] Forked 20732 -(20732) found -[17040] Forked 20733 -(20733) found -[17039] Forked 20734 -(20734) found -[17038] Forked 20735 -(20735) found -[17037] Forked 20736 -(20736) found -[17036] Forked 20737 -(20737) found -[17035] Forked 20738 -(20738) found -[17034] Forked 20739 -(20739) found -[17033] Forked 20740 -(20740) found -[17032] Forked 20741 -(20741) found -[17031] Forked 20742 -(20742) found -[17030] Forked 20743 -(20743) found -[17029] Forked 20744 -(20744) found -[17028] Forked 20745 -(20745) found -[17027] Forked 20746 -(20746) found -[17026] Forked 20747 -(20747) found -[17025] Forked 20748 -(20748) found -[17024] Forked 20749 -(20749) found -[17023] Forked 20750 -(20750) found -[17022] Forked 20751 -(20751) found -[17021] Forked 20752 -(20752) found -[17020] Forked 20753 -(20753) found -[17019] Forked 20754 -(20754) found -[17018] Forked 20755 -(20755) found -[17017] Forked 20756 -(20756) found -[17016] Forked 20757 -(20757) found -[17015] Forked 20758 -(20758) found -[17014] Forked 20759 -(20759) found -[17013] Forked 20760 -(20760) found -[17012] Forked 20761 -(20761) found -[17011] Forked 20762 -(20762) found -[17010] Forked 20763 -(20763) found -[17009] Forked 20764 -(20764) found -[17008] Forked 20765 -(20765) found -[17007] Forked 20766 -(20766) found -[17006] Forked 20767 -(20767) found -[17005] Forked 20768 -(20768) found -[17004] Forked 20769 -(20769) found -[17003] Forked 20770 -(20770) found -[17002] Forked 20771 -(20771) found -[17001] Forked 20772 -(20772) found -[17000] Forked 20773 -(20773) found -[16999] Forked 20774 -(20774) found -[16998] Forked 20775 -(20775) found -[16997] Forked 20776 -(20776) found -[16996] Forked 20777 -(20777) found -[16995] Forked 20778 -(20778) found -[16994] Forked 20779 -(20779) found -[16993] Forked 20780 -(20780) found -[16992] Forked 20781 -(20781) found -[16991] Forked 20782 -[16990] Forked 20783 -(20782) found -(20783) found -[16989] Forked 20784 -[16988] Forked 20785 -(20784) found -(20785) found -[16987] Forked 20786 -[16986] Forked 20787 -(20786) found -(20787) found -[16985] Forked 20788 -[16984] Forked 20789 -(20788) found -(20789) found -[16983] Forked 20790 -[16982] Forked 20791 -(20790) found -(20791) found -[16981] Forked 20792 -[16980] Forked 20793 -(20792) found -(20793) found -[16979] Forked 20794 -[16978] Forked 20795 -(20794) found -(20795) found -[16977] Forked 20796 -[16976] Forked 20797 -(20796) found -(20797) found -[16975] Forked 20798 -[16974] Forked 20799 -(20798) found -(20799) found -[16973] Forked 20800 -[16972] Forked 20801 -(20800) found -(20801) found -[16971] Forked 20802 -[16970] Forked 20803 -(20802) found -(20803) found -[16969] Forked 20804 -[16968] Forked 20805 -(20804) found -(20805) found -[16967] Forked 20806 -[16966] Forked 20807 -(20806) found -(20807) found -[16965] Forked 20808 -[16964] Forked 20809 -(20808) found -(20809) found -[16963] Forked 20810 -[16962] Forked 20811 -(20810) found -(20811) found -[16961] Forked 20812 -[16960] Forked 20813 -(20812) found -(20813) found -[16959] Forked 20814 -[16958] Forked 20815 -(20814) found -(20815) found -[16957] Forked 20816 -[16956] Forked 20817 -(20816) found -(20817) found -[16955] Forked 20818 -[16954] Forked 20819 -(20818) found -(20819) found -[16953] Forked 20820 -[16952] Forked 20821 -(20820) found -(20821) found -[16951] Forked 20822 -[16950] Forked 20823 -(20822) found -(20823) found -[16949] Forked 20824 -(20824) found -[16948] Forked 20825 -(20825) found -[16947] Forked 20826 -(20826) found -[16946] Forked 20827 -(20827) found -[16945] Forked 20828 -(20828) found -[16944] Forked 20829 -(20829) found -[16943] Forked 20830 -(20830) found -[16942] Forked 20831 -(20831) found -[16941] Forked 20832 -(20832) found -[16940] Forked 20833 -(20833) found -[16939] Forked 20834 -(20834) found -[16938] Forked 20835 -(20835) found -[16937] Forked 20836 -(20836) found -[16936] Forked 20837 -(20837) found -[16935] Forked 20838 -(20838) found -[16934] Forked 20839 -(20839) found -[16933] Forked 20840 -(20840) found -[16932] Forked 20841 -(20841) found -[16931] Forked 20842 -(20842) found -[16930] Forked 20843 -(20843) found -[16929] Forked 20844 -(20844) found -[16928] Forked 20845 -(20845) found -[16927] Forked 20846 -(20846) found -[16926] Forked 20847 -(20847) found -[16925] Forked 20848 -(20848) found -[16924] Forked 20849 -(20849) found -[16923] Forked 20850 -(20850) found -[16922] Forked 20851 -(20851) found -[16921] Forked 20852 -(20852) found -[16920] Forked 20853 -(20853) found -[16919] Forked 20854 -(20854) found -[16918] Forked 20855 -(20855) found -[16917] Forked 20856 -(20856) found -[16916] Forked 20857 -(20857) found -[16915] Forked 20858 -(20858) found -[16914] Forked 20859 -(20859) found -[16913] Forked 20860 -[16912] Forked 20861 -(20860) found -(20861) found -[16911] Forked 20862 -[16910] Forked 20863 -(20862) found -(20863) found -[16909] Forked 20864 -[16908] Forked 20865 -(20865) found -(20864) found -[16907] Forked 20866 -(20866) found -[16906] Forked 20867 -(20867) found -[16905] Forked 20868 -(20868) found -[16904] Forked 20869 -(20869) found -[16903] Forked 20870 -(20870) found -[16902] Forked 20871 -(20871) found -[16901] Forked 20872 -(20872) found -[16900] Forked 20873 -(20873) found -[16899] Forked 20874 -(20874) found -[16898] Forked 20875 -(20875) found -[16897] Forked 20876 -(20876) found -[16896] Forked 20877 -(20877) found -[16895] Forked 20878 -(20878) found -[16894] Forked 20879 -(20879) found -[16893] Forked 20880 -(20880) found -[16892] Forked 20881 -(20881) found -[16891] Forked 20882 -(20882) found -[16890] Forked 20883 -(20883) found -[16889] Forked 20884 -(20884) found -[16888] Forked 20885 -(20885) found -[16887] Forked 20886 -(20886) found -[16886] Forked 20887 -(20887) found -[16885] Forked 20888 -(20888) found -[16884] Forked 20889 -(20889) found -[16883] Forked 20890 -(20890) found -[16882] Forked 20891 -(20891) found -[16881] Forked 20892 -(20892) found -[16880] Forked 20893 -(20893) found -[16879] Forked 20894 -(20894) found -[16878] Forked 20895 -(20895) found -[16877] Forked 20896 -(20896) found -[16876] Forked 20897 -(20897) found -[16875] Forked 20898 -(20898) found -[16874] Forked 20899 -(20899) found -[16873] Forked 20900 -(20900) found -[16872] Forked 20901 -(20901) found -[16871] Forked 20902 -(20902) found -[16870] Forked 20903 -(20903) found -[16869] Forked 20904 -(20904) found -[16868] Forked 20905 -(20905) found -[16867] Forked 20906 -(20906) found -[16866] Forked 20907 -(20907) found -[16865] Forked 20908 -(20908) found -[16864] Forked 20909 -(20909) found -[16863] Forked 20910 -(20910) found -[16862] Forked 20911 -(20911) found -[16861] Forked 20912 -(20912) found -[16860] Forked 20913 -(20913) found -[16859] Forked 20914 -(20914) found -[16858] Forked 20915 -(20915) found -[16857] Forked 20916 -(20916) found -[16856] Forked 20917 -(20917) found -[16855] Forked 20918 -(20918) found -[16854] Forked 20919 -(20919) found -[16853] Forked 20920 -(20920) found -[16852] Forked 20921 -(20921) found -[16851] Forked 20922 -(20922) found -[16850] Forked 20923 -(20923) found -[16849] Forked 20924 -(20924) found -[16848] Forked 20925 -(20925) found -[16847] Forked 20926 -(20926) found -[16846] Forked 20927 -(20927) found -[16845] Forked 20928 -(20928) found -[16844] Forked 20929 -(20929) found -[16843] Forked 20930 -[16842] Forked 20931 -(20930) found -(20931) found -[16841] Forked 20932 -[16840] Forked 20933 -(20932) found -(20933) found -[16839] Forked 20934 -[16838] Forked 20935 -(20934) found -(20935) found -[16837] Forked 20936 -[16836] Forked 20937 -(20936) found -(20937) found -[16835] Forked 20938 -[16834] Forked 20939 -(20938) found -(20939) found -[16833] Forked 20940 -[16832] Forked 20941 -(20940) found -(20941) found -[16831] Forked 20942 -[16830] Forked 20943 -(20942) found -(20943) found -[16829] Forked 20944 -[16828] Forked 20945 -(20944) found -(20945) found -[16827] Forked 20946 -[16826] Forked 20947 -(20946) found -(20947) found -[16825] Forked 20948 -(20948) found -[16824] Forked 20949 -(20949) found -[16823] Forked 20950 -[16822] Forked 20951 -(20950) found -(20951) found -[16821] Forked 20952 -[16820] Forked 20953 -(20952) found -(20953) found -[16819] Forked 20954 -[16818] Forked 20955 -(20954) found -(20955) found -[16817] Forked 20956 -[16816] Forked 20957 -(20956) found -(20957) found -[16815] Forked 20958 -[16814] Forked 20959 -(20958) found -(20959) found -[16813] Forked 20960 -[16812] Forked 20961 -(20960) found -(20961) found -[16811] Forked 20962 -[16810] Forked 20963 -(20962) found -(20963) found -[16809] Forked 20964 -[16808] Forked 20965 -(20964) found -(20965) found -[16807] Forked 20966 -[16806] Forked 20967 -(20966) found -(20967) found -[16805] Forked 20968 -[16804] Forked 20969 -(20968) found -(20969) found -[16803] Forked 20970 -[16802] Forked 20971 -(20970) found -(20971) found -[16801] Forked 20972 -[16800] Forked 20973 -(20972) found -(20973) found -[16799] Forked 20974 -(20974) found -[16798] Forked 20975 -(20975) found -[16797] Forked 20976 -(20976) found -[16796] Forked 20977 -(20977) found -[16795] Forked 20978 -(20978) found -[16794] Forked 20979 -(20979) found -[16793] Forked 20980 -(20980) found -[16792] Forked 20981 -(20981) found -[16791] Forked 20982 -(20982) found -[16790] Forked 20983 -(20983) found -[16789] Forked 20984 -(20984) found -[16788] Forked 20985 -(20985) found -[16787] Forked 20986 -(20986) found -[16786] Forked 20987 -(20987) found -[16785] Forked 20988 -(20988) found -[16784] Forked 20989 -(20989) found -[16783] Forked 20990 -(20990) found -[16782] Forked 20991 -(20991) found -[16781] Forked 20992 -(20992) found -[16780] Forked 20993 -(20993) found -[16779] Forked 20994 -(20994) found -[16778] Forked 20995 -(20995) found -[16777] Forked 20996 -(20996) found -[16776] Forked 20997 -(20997) found -[16775] Forked 20998 -(20998) found -[16774] Forked 20999 -(20999) found -[16773] Forked 21000 -(21000) found -[16772] Forked 21001 -(21001) found -[16771] Forked 21002 -(21002) found -[16770] Forked 21003 -(21003) found -[16769] Forked 21004 -(21004) found -[16768] Forked 21005 -(21005) found -[16767] Forked 21006 -(21006) found -[16766] Forked 21007 -(21007) found -[16765] Forked 21008 -(21008) found -[16764] Forked 21009 -(21009) found -[16763] Forked 21010 -(21010) found -[16762] Forked 21011 -[16761] Forked 21012 -(21011) found -(21012) found -[16760] Forked 21013 -[16759] Forked 21014 -(21013) found -(21014) found -[16758] Forked 21015 -[16757] Forked 21016 -(21015) found -(21016) found -[16756] Forked 21017 -[16755] Forked 21018 -(21017) found -(21018) found -[16754] Forked 21019 -[16753] Forked 21020 -(21019) found -(21020) found -[16752] Forked 21021 -[16751] Forked 21022 -(21021) found -(21022) found -[16750] Forked 21023 -[16749] Forked 21024 -(21023) found -(21024) found -[16748] Forked 21025 -[16747] Forked 21026 -(21025) found -(21026) found -[16746] Forked 21027 -[16745] Forked 21028 -(21027) found -(21028) found -[16744] Forked 21029 -[16743] Forked 21030 -(21029) found -(21030) found -[16742] Forked 21031 -[16741] Forked 21032 -(21031) found -(21032) found -[16740] Forked 21033 -[16739] Forked 21034 -(21033) found -(21034) found -[16738] Forked 21035 -[16737] Forked 21036 -(21035) found -(21036) found -[16736] Forked 21037 -[16735] Forked 21038 -(21037) found -(21038) found -[16734] Forked 21039 -[16733] Forked 21040 -(21039) found -(21040) found -[16732] Forked 21041 -[16731] Forked 21042 -(21041) found -(21042) found -[16730] Forked 21043 -[16729] Forked 21044 -(21043) found -(21044) found -[16728] Forked 21045 -[16727] Forked 21046 -(21045) found -(21046) found -[16726] Forked 21047 -[16725] Forked 21048 -(21047) found -(21048) found -[16724] Forked 21049 -[16723] Forked 21050 -(21049) found -(21050) found -[16722] Forked 21051 -[16721] Forked 21052 -(21051) found -(21052) found -[16720] Forked 21053 -[16719] Forked 21054 -(21053) found -(21054) found -[16718] Forked 21055 -[16717] Forked 21056 -(21055) found -(21056) found -[16716] Forked 21057 -[16715] Forked 21058 -(21057) found -(21058) found -[16714] Forked 21059 -[16713] Forked 21060 -(21059) found -(21060) found -[16712] Forked 21061 -[16711] Forked 21062 -(21061) found -(21062) found -[16710] Forked 21063 -[16709] Forked 21064 -(21063) found -(21064) found -[16708] Forked 21065 -[16707] Forked 21066 -(21065) found -(21066) found -[16706] Forked 21067 -[16705] Forked 21068 -(21067) found -(21068) found -[16704] Forked 21069 -[16703] Forked 21070 -(21069) found -(21070) found -[16702] Forked 21071 -[16701] Forked 21072 -(21071) found -(21072) found -[16700] Forked 21073 -[16699] Forked 21074 -(21073) found -(21074) found -[16698] Forked 21075 -[16697] Forked 21076 -(21075) found -(21076) found -[16696] Forked 21077 -[16695] Forked 21078 -(21077) found -(21078) found -[16694] Forked 21079 -[16693] Forked 21080 -(21079) found -(21080) found -[16692] Forked 21081 -(21081) found -[16691] Forked 21082 -[16690] Forked 21083 -(21082) found -(21083) found -[16689] Forked 21084 -[16688] Forked 21085 -(21084) found -(21085) found -[16687] Forked 21086 -[16686] Forked 21087 -(21086) found -(21087) found -[16685] Forked 21088 -[16684] Forked 21089 -(21088) found -(21089) found -[16683] Forked 21090 -[16682] Forked 21091 -(21090) found -(21091) found -[16681] Forked 21092 -[16680] Forked 21093 -(21093) found -(21092) found -[16679] Forked 21094 -(21094) found -[16678] Forked 21095 -(21095) found -[16677] Forked 21096 -(21096) found -[16676] Forked 21097 -(21097) found -[16675] Forked 21098 -(21098) found -[16674] Forked 21099 -(21099) found -[16673] Forked 21100 -(21100) found -[16672] Forked 21101 -(21101) found -[16671] Forked 21102 -(21102) found -[16670] Forked 21103 -(21103) found -[16669] Forked 21104 -(21104) found -[16668] Forked 21105 -(21105) found -[16667] Forked 21106 -(21106) found -[16666] Forked 21107 -(21107) found -[16665] Forked 21108 -(21108) found -[16664] Forked 21109 -(21109) found -[16663] Forked 21110 -(21110) found -[16662] Forked 21111 -(21111) found -[16661] Forked 21112 -(21112) found -[16660] Forked 21113 -(21113) found -[16659] Forked 21114 -(21114) found -[16658] Forked 21115 -(21115) found -[16657] Forked 21116 -(21116) found -[16656] Forked 21117 -(21117) found -[16655] Forked 21118 -(21118) found -[16654] Forked 21119 -(21119) found -[16653] Forked 21120 -(21120) found -[16652] Forked 21121 -(21121) found -[16651] Forked 21122 -(21122) found -[16650] Forked 21123 -(21123) found -[16649] Forked 21124 -(21124) found -[16648] Forked 21125 -(21125) found -[16647] Forked 21126 -(21126) found -[16646] Forked 21127 -(21127) found -[16645] Forked 21128 -(21128) found -[16644] Forked 21129 -(21129) found -[16643] Forked 21130 -(21130) found -[16642] Forked 21131 -(21131) found -[16641] Forked 21132 -(21132) found -[16640] Forked 21133 -(21133) found -[16639] Forked 21134 -(21134) found -[16638] Forked 21135 -[16637] Forked 21136 -(21135) found -(21136) found -[16636] Forked 21137 -[16635] Forked 21138 -(21137) found -(21138) found -[16634] Forked 21139 -[16633] Forked 21140 -(21139) found -(21140) found -[16632] Forked 21141 -[16631] Forked 21142 -(21141) found -(21142) found -[16630] Forked 21143 -[16629] Forked 21144 -(21143) found -(21144) found -[16628] Forked 21145 -[16627] Forked 21146 -(21145) found -(21146) found -[16626] Forked 21147 -[16625] Forked 21148 -(21147) found -(21148) found -[16624] Forked 21149 -[16623] Forked 21150 -(21149) found -(21150) found -[16622] Forked 21151 -[16621] Forked 21152 -(21151) found -(21152) found -[16620] Forked 21153 -[16619] Forked 21154 -(21153) found -(21154) found -[16618] Forked 21155 -[16617] Forked 21156 -(21155) found -(21156) found -[16616] Forked 21157 -[16615] Forked 21158 -(21157) found -(21158) found -[16614] Forked 21159 -[16613] Forked 21160 -(21159) found -(21160) found -[16612] Forked 21161 -[16611] Forked 21162 -(21161) found -(21162) found -[16610] Forked 21163 -[16609] Forked 21164 -(21163) found -(21164) found -[16608] Forked 21165 -[16607] Forked 21166 -(21165) found -(21166) found -[16606] Forked 21167 -[16605] Forked 21168 -(21167) found -(21168) found -[16604] Forked 21169 -[16603] Forked 21170 -(21169) found -(21170) found -[16602] Forked 21171 -[16601] Forked 21172 -(21171) found -(21172) found -[16600] Forked 21173 -[16599] Forked 21175 -(21173) found -(21175) found -[16598] Forked 21176 -(21176) found -[16597] Forked 21177 -(21177) found -[16596] Forked 21178 -(21178) found -[16595] Forked 21179 -(21179) found -[16594] Forked 21180 -(21180) found -[16593] Forked 21181 -(21181) found -[16592] Forked 21182 -(21182) found -[16591] Forked 21183 -(21183) found -[16590] Forked 21184 -(21184) found -[16589] Forked 21185 -(21185) found -[16588] Forked 21186 -(21186) found -[16587] Forked 21187 -(21187) found -[16586] Forked 21188 -(21188) found -[16585] Forked 21189 -(21189) found -[16584] Forked 21190 -(21190) found -[16583] Forked 21191 -(21191) found -[16582] Forked 21192 -(21192) found -[16581] Forked 21193 -(21193) found -[16580] Forked 21194 -(21194) found -[16579] Forked 21195 -(21195) found -[16578] Forked 21196 -(21196) found -[16577] Forked 21197 -(21197) found -[16576] Forked 21198 -(21198) found -[16575] Forked 21199 -(21199) found -[16574] Forked 21200 -(21200) found -[16573] Forked 21201 -(21201) found -[16572] Forked 21202 -(21202) found -[16571] Forked 21203 -(21203) found -[16570] Forked 21204 -(21204) found -[16569] Forked 21205 -(21205) found -[16568] Forked 21206 -(21206) found -[16567] Forked 21207 -(21207) found -[16566] Forked 21208 -(21208) found -[16565] Forked 21209 -(21209) found -[16564] Forked 21210 -(21210) found -[16563] Forked 21211 -(21211) found -[16562] Forked 21212 -(21212) found -[16561] Forked 21213 -(21213) found -[16560] Forked 21214 -(21214) found -[16559] Forked 21215 -(21215) found -[16558] Forked 21216 -[16557] Forked 21217 -(21216) found -(21217) found -[16556] Forked 21218 -[16555] Forked 21219 -(21218) found -(21219) found -[16554] Forked 21220 -[16553] Forked 21221 -(21220) found -(21221) found -[16552] Forked 21222 -[16551] Forked 21223 -(21222) found -(21223) found -[16550] Forked 21224 -[16549] Forked 21225 -(21224) found -(21225) found -[16548] Forked 21226 -[16547] Forked 21227 -(21226) found -(21227) found -[16546] Forked 21228 -[16545] Forked 21229 -(21228) found -(21229) found -[16544] Forked 21230 -[16543] Forked 21231 -(21230) found -(21231) found -[16542] Forked 21232 -[16541] Forked 21233 -(21232) found -(21233) found -[16540] Forked 21234 -[16539] Forked 21235 -(21234) found -(21235) found -[16538] Forked 21236 -[16537] Forked 21237 -(21236) found -(21237) found -[16536] Forked 21238 -[16535] Forked 21239 -(21238) found -(21239) found -[16534] Forked 21240 -[16533] Forked 21241 -(21240) found -(21241) found -[16532] Forked 21242 -[16531] Forked 21243 -(21242) found -(21243) found -[16530] Forked 21244 -[16529] Forked 21245 -(21244) found -(21245) found -[16528] Forked 21246 -[16527] Forked 21247 -(21246) found -(21247) found -[16526] Forked 21248 -[16525] Forked 21249 -(21248) found -(21249) found -[16524] Forked 21250 -[16523] Forked 21251 -(21250) found -(21251) found -[16522] Forked 21252 -[16521] Forked 21253 -(21252) found -(21253) found -[16520] Forked 21254 -[16519] Forked 21255 -(21254) found -(21255) found -[16518] Forked 21256 -[16517] Forked 21257 -(21256) found -(21257) found -[16516] Forked 21258 -[16515] Forked 21259 -(21258) found -(21259) found -[16514] Forked 21260 -[16513] Forked 21261 -(21260) found -(21261) found -[16512] Forked 21262 -(21262) found -[16511] Forked 21263 -(21263) found -[16510] Forked 21264 -(21264) found -[16509] Forked 21265 -(21265) found -[16508] Forked 21266 -(21266) found -[16507] Forked 21267 -(21267) found -[16506] Forked 21268 -(21268) found -[16505] Forked 21269 -(21269) found -[16504] Forked 21270 -(21270) found -[16503] Forked 21271 -(21271) found -[16502] Forked 21272 -(21272) found -[16501] Forked 21273 -(21273) found -[16500] Forked 21274 -(21274) found -[16499] Forked 21275 -(21275) found -[16498] Forked 21276 -(21276) found -[16497] Forked 21277 -(21277) found -[16496] Forked 21278 -(21278) found -[16495] Forked 21279 -(21279) found -[16494] Forked 21280 -(21280) found -[16493] Forked 21281 -(21281) found -[16492] Forked 21282 -(21282) found -[16491] Forked 21283 -(21283) found -[16490] Forked 21284 -(21284) found -[16489] Forked 21285 -(21285) found -[16488] Forked 21286 -(21286) found -[16487] Forked 21287 -(21287) found -[16486] Forked 21288 -(21288) found -[16485] Forked 21289 -(21289) found -[16484] Forked 21290 -(21290) found -[16483] Forked 21291 -(21291) found -[16482] Forked 21292 -(21292) found -[16481] Forked 21293 -(21293) found -[16480] Forked 21294 -(21294) found -[16479] Forked 21295 -(21295) found -[16478] Forked 21296 -(21296) found -[16477] Forked 21297 -[16476] Forked 21298 -(21297) found -(21298) found -[16475] Forked 21299 -[16474] Forked 21300 -(21299) found -(21300) found -[16473] Forked 21301 -[16472] Forked 21302 -(21301) found -(21302) found -[16471] Forked 21303 -[16470] Forked 21304 -(21303) found -(21304) found -[16469] Forked 21305 -[16468] Forked 21306 -(21305) found -(21306) found -[16467] Forked 21307 -[16466] Forked 21308 -(21307) found -(21308) found -[16465] Forked 21309 -[16464] Forked 21310 -(21309) found -(21310) found -[16463] Forked 21311 -[16462] Forked 21312 -(21311) found -(21312) found -[16461] Forked 21313 -[16460] Forked 21314 -(21313) found -(21314) found -[16459] Forked 21315 -[16458] Forked 21316 -(21315) found -(21316) found -[16457] Forked 21317 -[16456] Forked 21318 -(21317) found -(21318) found -[16455] Forked 21319 -[16454] Forked 21320 -(21319) found -(21320) found -[16453] Forked 21321 -[16452] Forked 21322 -(21321) found -(21322) found -[16451] Forked 21323 -[16450] Forked 21324 -(21323) found -(21324) found -[16449] Forked 21325 -[16448] Forked 21326 -(21325) found -(21326) found -[16447] Forked 21327 -[16446] Forked 21328 -(21327) found -(21328) found -[16445] Forked 21329 -[16444] Forked 21330 -(21329) found -(21330) found -[16443] Forked 21331 -[16442] Forked 21332 -(21331) found -(21332) found -[16441] Forked 21333 -[16440] Forked 21334 -(21333) found -(21334) found -[16439] Forked 21335 -[16438] Forked 21336 -(21335) found -(21336) found -[16437] Forked 21337 -[16436] Forked 21338 -(21337) found -(21338) found -[16435] Forked 21339 -[16434] Forked 21340 -(21339) found -(21340) found -[16433] Forked 21341 -[16432] Forked 21342 -(21341) found -(21342) found -[16431] Forked 21343 -[16430] Forked 21344 -(21343) found -(21344) found -[16429] Forked 21345 -[16428] Forked 21346 -(21345) found -(21346) found -[16427] Forked 21347 -[16426] Forked 21348 -(21347) found -(21348) found -[16425] Forked 21349 -[16424] Forked 21350 -(21349) found -(21350) found -[16423] Forked 21351 -[16422] Forked 21352 -(21351) found -(21352) found -[16421] Forked 21353 -[16420] Forked 21354 -(21353) found -(21354) found -[16419] Forked 21355 -[16418] Forked 21356 -(21355) found -(21356) found -[16417] Forked 21357 -[16416] Forked 21358 -(21357) found -(21358) found -[16415] Forked 21359 -[16414] Forked 21360 -(21359) found -(21360) found -[16413] Forked 21361 -[16412] Forked 21362 -(21361) found -(21362) found -[16411] Forked 21363 -[16410] Forked 21364 -(21363) found -(21364) found -[16409] Forked 21365 -[16408] Forked 21366 -(21365) found -(21366) found -[16407] Forked 21367 -[16406] Forked 21368 -(21367) found -(21368) found -[16405] Forked 21369 -[16404] Forked 21370 -(21369) found -(21370) found -[16403] Forked 21371 -[16402] Forked 21372 -(21371) found -(21372) found -[16401] Forked 21373 -[16400] Forked 21374 -(21373) found -(21374) found -[16399] Forked 21375 -[16398] Forked 21376 -(21375) found -(21376) found -[16397] Forked 21377 -[16396] Forked 21378 -(21377) found -(21378) found -[16395] Forked 21379 -[16394] Forked 21380 -(21379) found -(21380) found -[16393] Forked 21381 -[16392] Forked 21382 -(21381) found -(21382) found -[16391] Forked 21383 -[16390] Forked 21384 -(21383) found -(21384) found -[16389] Forked 21385 -[16388] Forked 21386 -(21385) found -(21386) found -[16387] Forked 21387 -[16386] Forked 21388 -(21387) found -(21388) found -[16385] Forked 21389 -(21389) found -[16384] Forked 21390 -(21390) found -[16383] Forked 21391 -(21391) found -[16382] Forked 21392 -(21392) found -[16381] Forked 21393 -(21393) found -[16380] Forked 21394 -(21394) found -[16379] Forked 21395 -(21395) found -[16378] Forked 21396 -(21396) found -[16377] Forked 21397 -(21397) found -[16376] Forked 21398 -(21398) found -[16375] Forked 21399 -(21399) found -[16374] Forked 21400 -(21400) found -[16373] Forked 21401 -(21401) found -[16372] Forked 21402 -(21402) found -[16371] Forked 21403 -(21403) found -[16370] Forked 21404 -(21404) found -[16369] Forked 21405 -(21405) found -[16368] Forked 21406 -(21406) found -[16367] Forked 21407 -(21407) found -[16366] Forked 21408 -(21408) found -[16365] Forked 21409 -(21409) found -[16364] Forked 21410 -(21410) found -[16363] Forked 21411 -(21411) found -[16362] Forked 21412 -(21412) found -[16361] Forked 21413 -(21413) found -[16360] Forked 21414 -(21414) found -[16359] Forked 21415 -(21415) found -[16358] Forked 21416 -(21416) found -[16357] Forked 21417 -(21417) found -[16356] Forked 21418 -(21418) found -[16355] Forked 21419 -(21419) found -[16354] Forked 21420 -(21420) found -[16353] Forked 21421 -(21421) found -[16352] Forked 21422 -(21422) found -[16351] Forked 21423 -(21423) found -[16350] Forked 21424 -(21424) found -[16349] Forked 21425 -(21425) found -[16348] Forked 21426 -(21426) found -[16347] Forked 21427 -(21427) found -[16346] Forked 21428 -[16345] Forked 21429 -(21428) found -(21429) found -[16344] Forked 21430 -[16343] Forked 21431 -(21430) found -(21431) found -[16342] Forked 21432 -(21432) found -[16341] Forked 21433 -[16340] Forked 21434 -(21433) found -(21434) found -[16339] Forked 21435 -[16338] Forked 21436 -(21435) found -(21436) found -[16337] Forked 21437 -[16336] Forked 21438 -(21437) found -(21438) found -[16335] Forked 21439 -[16334] Forked 21440 -(21439) found -(21440) found -[16333] Forked 21441 -[16332] Forked 21442 -(21441) found -(21442) found -[16331] Forked 21443 -[16330] Forked 21444 -(21443) found -(21444) found -[16329] Forked 21445 -[16328] Forked 21446 -(21445) found -(21446) found -[16327] Forked 21447 -[16326] Forked 21448 -(21447) found -(21448) found -[16325] Forked 21449 -[16324] Forked 21450 -(21449) found -(21450) found -[16323] Forked 21451 -[16322] Forked 21452 -(21451) found -(21452) found -[16321] Forked 21453 -[16320] Forked 21454 -(21453) found -(21454) found -[16319] Forked 21455 -[16318] Forked 21456 -(21455) found -(21456) found -[16317] Forked 21457 -[16316] Forked 21458 -(21457) found -(21458) found -[16315] Forked 21459 -[16314] Forked 21460 -(21459) found -(21460) found -[16313] Forked 21461 -[16312] Forked 21462 -(21461) found -(21462) found -[16311] Forked 21463 -[16310] Forked 21464 -(21463) found -(21464) found -[16309] Forked 21465 -[16308] Forked 21466 -(21465) found -(21466) found -[16307] Forked 21467 -[16306] Forked 21468 -(21468) found -(21467) found -[16305] Forked 21469 -(21469) found -[16304] Forked 21470 -(21470) found -[16303] Forked 21471 -(21471) found -[16302] Forked 21472 -(21472) found -[16301] Forked 21473 -(21473) found -[16300] Forked 21474 -(21474) found -[16299] Forked 21475 -(21475) found -[16298] Forked 21476 -(21476) found -[16297] Forked 21477 -(21477) found -[16296] Forked 21478 -(21478) found -[16295] Forked 21479 -(21479) found -[16294] Forked 21480 -(21480) found -[16293] Forked 21481 -(21481) found -[16292] Forked 21482 -(21482) found -[16291] Forked 21483 -(21483) found -[16290] Forked 21484 -(21484) found -[16289] Forked 21485 -(21485) found -[16288] Forked 21486 -(21486) found -[16287] Forked 21487 -(21487) found -[16286] Forked 21488 -(21488) found -[16285] Forked 21489 -(21489) found -[16284] Forked 21490 -(21490) found -[16283] Forked 21491 -(21491) found -[16282] Forked 21492 -(21492) found -[16281] Forked 21493 -(21493) found -[16280] Forked 21494 -(21494) found -[16279] Forked 21495 -(21495) found -[16278] Forked 21496 -(21496) found -[16277] Forked 21497 -(21497) found -[16276] Forked 21498 -(21498) found -[16275] Forked 21499 -(21499) found -[16274] Forked 21500 -(21500) found -[16273] Forked 21501 -(21501) found -[16272] Forked 21502 -(21502) found -[16271] Forked 21503 -[16270] Forked 21504 -(21503) found -(21504) found -[16269] Forked 21505 -[16268] Forked 21506 -(21505) found -(21506) found -[16267] Forked 21507 -[16266] Forked 21508 -(21507) found -(21508) found -[16265] Forked 21509 -[16264] Forked 21510 -(21509) found -(21510) found -[16263] Forked 21511 -[16262] Forked 21512 -(21511) found -(21512) found -[16261] Forked 21513 -[16260] Forked 21514 -(21513) found -(21514) found -[16259] Forked 21515 -[16258] Forked 21516 -(21515) found -(21516) found -[16257] Forked 21517 -[16256] Forked 21518 -(21517) found -(21518) found -[16255] Forked 21519 -[16254] Forked 21520 -(21519) found -(21520) found -[16253] Forked 21521 -[16252] Forked 21522 -(21521) found -(21522) found -[16251] Forked 21523 -[16250] Forked 21524 -(21523) found -(21524) found -[16249] Forked 21525 -[16248] Forked 21526 -(21525) found -(21526) found -[16247] Forked 21527 -[16246] Forked 21528 -(21527) found -(21528) found -[16245] Forked 21529 -[16244] Forked 21530 -(21529) found -(21530) found -[16243] Forked 21531 -[16242] Forked 21532 -(21531) found -(21532) found -[16241] Forked 21533 -[16240] Forked 21534 -(21533) found -(21534) found -[16239] Forked 21535 -[16238] Forked 21536 -(21535) found -(21536) found -[16237] Forked 21537 -[16236] Forked 21538 -(21537) found -(21538) found -[16235] Forked 21539 -[16234] Forked 21540 -(21539) found -(21540) found -[16233] Forked 21541 -[16232] Forked 21542 -(21541) found -(21542) found -[16231] Forked 21543 -[16230] Forked 21544 -(21543) found -(21544) found -[16229] Forked 21545 -(21545) found -[16228] Forked 21546 -(21546) found -[16227] Forked 21547 -(21547) found -[16226] Forked 21548 -(21548) found -[16225] Forked 21549 -(21549) found -[16224] Forked 21550 -(21550) found -[16223] Forked 21551 -(21551) found -[16222] Forked 21552 -(21552) found -[16221] Forked 21553 -(21553) found -[16220] Forked 21554 -(21554) found -[16219] Forked 21555 -(21555) found -[16218] Forked 21556 -(21556) found -[16217] Forked 21557 -(21557) found -[16216] Forked 21558 -(21558) found -[16215] Forked 21559 -(21559) found -[16214] Forked 21560 -(21560) found -[16213] Forked 21561 -(21561) found -[16212] Forked 21562 -(21562) found -[16211] Forked 21563 -(21563) found -[16210] Forked 21564 -(21564) found -[16209] Forked 21565 -(21565) found -[16208] Forked 21566 -(21566) found -[16207] Forked 21567 -(21567) found -[16206] Forked 21568 -(21568) found -[16205] Forked 21569 -(21569) found -[16204] Forked 21570 -(21570) found -[16203] Forked 21571 -(21571) found -[16202] Forked 21572 -(21572) found -[16201] Forked 21573 -(21573) found -[16200] Forked 21574 -(21574) found -[16199] Forked 21575 -(21575) found -[16198] Forked 21576 -(21576) found -[16197] Forked 21577 -(21577) found -[16196] Forked 21578 -(21578) found -[16195] Forked 21579 -(21579) found -[16194] Forked 21580 -(21580) found -[16193] Forked 21581 -(21581) found -[16192] Forked 21582 -(21582) found -[16191] Forked 21583 -(21583) found -[16190] Forked 21584 -[16189] Forked 21585 -(21584) found -(21585) found -[16188] Forked 21586 -[16187] Forked 21587 -(21586) found -(21587) found -[16186] Forked 21588 -[16185] Forked 21589 -(21588) found -(21589) found -[16184] Forked 21590 -[16183] Forked 21591 -(21590) found -(21591) found -[16182] Forked 21592 -[16181] Forked 21593 -(21592) found -(21593) found -[16180] Forked 21594 -[16179] Forked 21595 -(21594) found -(21595) found -[16178] Forked 21596 -[16177] Forked 21597 -(21596) found -(21597) found -[16176] Forked 21598 -[16175] Forked 21599 -(21598) found -(21599) found -[16174] Forked 21600 -[16173] Forked 21601 -(21600) found -(21601) found -[16172] Forked 21602 -[16171] Forked 21603 -(21602) found -(21603) found -[16170] Forked 21604 -[16169] Forked 21605 -(21604) found -(21605) found -[16168] Forked 21606 -[16167] Forked 21607 -(21606) found -(21607) found -[16166] Forked 21608 -[16165] Forked 21609 -(21608) found -(21609) found -[16164] Forked 21610 -[16163] Forked 21611 -(21610) found -(21611) found -[16162] Forked 21612 -[16161] Forked 21613 -(21612) found -(21613) found -[16160] Forked 21614 -[16159] Forked 21615 -(21614) found -(21615) found -[16158] Forked 21616 -[16157] Forked 21617 -(21616) found -(21617) found -[16156] Forked 21618 -[16155] Forked 21619 -(21618) found -(21619) found -[16154] Forked 21620 -[16153] Forked 21621 -(21620) found -(21621) found -[16152] Forked 21622 -[16151] Forked 21623 -(21622) found -(21623) found -[16150] Forked 21624 -[16149] Forked 21625 -(21624) found -(21625) found -[16148] Forked 21626 -[16147] Forked 21627 -(21626) found -(21627) found -[16146] Forked 21628 -(21628) found -[16145] Forked 21630 -(21630) found -[16144] Forked 21631 -(21631) found -[16143] Forked 21632 -(21632) found -[16142] Forked 21633 -(21633) found -[16141] Forked 21634 -(21634) found -[16140] Forked 21635 -(21635) found -[16139] Forked 21636 -(21636) found -[16138] Forked 21637 -(21637) found -[16137] Forked 21638 -(21638) found -[16136] Forked 21639 -(21639) found -[16135] Forked 21640 -(21640) found -[16134] Forked 21641 -(21641) found -[16133] Forked 21642 -(21642) found -[16132] Forked 21643 -(21643) found -[16131] Forked 21644 -(21644) found -[16130] Forked 21645 -(21645) found -[16129] Forked 21646 -(21646) found -[16128] Forked 21647 -(21647) found -[16127] Forked 21648 -(21648) found -[16126] Forked 21649 -(21649) found -[16125] Forked 21650 -(21650) found -[16124] Forked 21651 -(21651) found -[16123] Forked 21652 -(21652) found -[16122] Forked 21653 -(21653) found -[16121] Forked 21654 -(21654) found -[16120] Forked 21655 -(21655) found -[16119] Forked 21656 -(21656) found -[16118] Forked 21657 -(21657) found -[16117] Forked 21658 -(21658) found -[16116] Forked 21659 -(21659) found -[16115] Forked 21660 -(21660) found -[16114] Forked 21661 -(21661) found -[16113] Forked 21662 -(21662) found -[16112] Forked 21663 -(21663) found -[16111] Forked 21664 -(21664) found -[16110] Forked 21665 -(21665) found -[16109] Forked 21666 -(21666) found -[16108] Forked 21667 -(21667) found -[16107] Forked 21668 -[16106] Forked 21669 -(21668) found -(21669) found -[16105] Forked 21670 -[16104] Forked 21671 -(21670) found -(21671) found -[16103] Forked 21672 -[16102] Forked 21673 -(21672) found -(21673) found -[16101] Forked 21674 -[16100] Forked 21675 -(21674) found -(21675) found -[16099] Forked 21676 -[16098] Forked 21677 -(21676) found -(21677) found -[16097] Forked 21678 -[16096] Forked 21679 -(21678) found -(21679) found -[16095] Forked 21680 -[16094] Forked 21681 -(21680) found -(21681) found -[16093] Forked 21682 -[16092] Forked 21683 -(21682) found -(21683) found -[16091] Forked 21684 -[16090] Forked 21685 -(21684) found -(21685) found -[16089] Forked 21686 -[16088] Forked 21687 -(21686) found -(21687) found -[16087] Forked 21688 -[16086] Forked 21689 -(21688) found -(21689) found -[16085] Forked 21690 -[16084] Forked 21691 -(21690) found -(21691) found -[16083] Forked 21692 -[16082] Forked 21693 -(21692) found -(21693) found -[16081] Forked 21694 -[16080] Forked 21695 -(21694) found -(21695) found -[16079] Forked 21696 -(21696) found -[16078] Forked 21697 -(21697) found -[16077] Forked 21698 -(21698) found -[16076] Forked 21699 -(21699) found -[16075] Forked 21700 -(21700) found -[16074] Forked 21701 -(21701) found -[16073] Forked 21702 -(21702) found -[16072] Forked 21703 -(21703) found -[16071] Forked 21704 -(21704) found -[16070] Forked 21705 -(21705) found -[16069] Forked 21706 -(21706) found -[16068] Forked 21707 -(21707) found -[16067] Forked 21708 -(21708) found -[16066] Forked 21709 -(21709) found -[16065] Forked 21710 -(21710) found -[16064] Forked 21711 -(21711) found -[16063] Forked 21712 -(21712) found -[16062] Forked 21713 -(21713) found -[16061] Forked 21714 -(21714) found -[16060] Forked 21715 -(21715) found -[16059] Forked 21716 -(21716) found -[16058] Forked 21717 -(21717) found -[16057] Forked 21718 -(21718) found -[16056] Forked 21719 -(21719) found -[16055] Forked 21720 -(21720) found -[16054] Forked 21721 -(21721) found -[16053] Forked 21722 -(21722) found -[16052] Forked 21723 -(21723) found -[16051] Forked 21724 -(21724) found -[16050] Forked 21725 -(21725) found -[16049] Forked 21726 -(21726) found -[16048] Forked 21727 -(21727) found -[16047] Forked 21728 -(21728) found -[16046] Forked 21729 -(21729) found -[16045] Forked 21730 -(21730) found -[16044] Forked 21731 -(21731) found -[16043] Forked 21732 -(21732) found -[16042] Forked 21733 -(21733) found -[16041] Forked 21734 -(21734) found -[16040] Forked 21735 -(21735) found -[16039] Forked 21736 -(21736) found -[16038] Forked 21737 -(21737) found -[16037] Forked 21738 -(21738) found -[16036] Forked 21739 -(21739) found -[16035] Forked 21740 -(21740) found -[16034] Forked 21741 -(21741) found -[16033] Forked 21742 -(21742) found -[16032] Forked 21743 -(21743) found -[16031] Forked 21744 -(21744) found -[16030] Forked 21745 -(21745) found -[16029] Forked 21746 -[16028] Forked 21747 -(21746) found -(21747) found -[16027] Forked 21748 -[16026] Forked 21749 -(21748) found -(21749) found -[16025] Forked 21750 -[16024] Forked 21751 -(21750) found -(21751) found -[16023] Forked 21752 -(21752) found -[16022] Forked 21753 -[16021] Forked 21754 -(21753) found -(21754) found -[16020] Forked 21755 -(21755) found -[16019] Forked 21756 -(21756) found -[16018] Forked 21757 -[16017] Forked 21758 -(21757) found -(21758) found -[16016] Forked 21759 -[16015] Forked 21760 -(21759) found -(21760) found -[16014] Forked 21761 -[16013] Forked 21762 -(21761) found -(21762) found -[16012] Forked 21763 -[16011] Forked 21764 -(21763) found -(21764) found -[16010] Forked 21765 -[16009] Forked 21766 -(21765) found -(21766) found -[16008] Forked 21767 -[16007] Forked 21768 -(21767) found -(21768) found -[16006] Forked 21769 -[16005] Forked 21770 -(21769) found -(21770) found -[16004] Forked 21771 -[16003] Forked 21772 -(21771) found -(21772) found -[16002] Forked 21773 -[16001] Forked 21774 -(21773) found -(21774) found -[16000] Forked 21775 -[15999] Forked 21776 -(21775) found -(21776) found -[15998] Forked 21777 -[15997] Forked 21778 -(21777) found -(21778) found -[15996] Forked 21779 -[15995] Forked 21780 -(21779) found -(21780) found -[15994] Forked 21781 -[15993] Forked 21782 -(21781) found -(21782) found -[15992] Forked 21783 -[15991] Forked 21785 -(21783) found -(21785) found -[15990] Forked 21786 -(21786) found -[15989] Forked 21787 -(21787) found -[15988] Forked 21788 -(21788) found -[15987] Forked 21789 -(21789) found -[15986] Forked 21790 -(21790) found -[15985] Forked 21791 -(21791) found -[15984] Forked 21792 -(21792) found -[15983] Forked 21793 -(21793) found -[15982] Forked 21794 -(21794) found -[15981] Forked 21795 -(21795) found -[15980] Forked 21796 -(21796) found -[15979] Forked 21797 -(21797) found -[15978] Forked 21798 -(21798) found -[15977] Forked 21799 -(21799) found -[15976] Forked 21800 -(21800) found -[15975] Forked 21801 -(21801) found -[15974] Forked 21802 -(21802) found -[15973] Forked 21803 -(21803) found -[15972] Forked 21804 -(21804) found -[15971] Forked 21805 -(21805) found -[15970] Forked 21806 -(21806) found -[15969] Forked 21807 -(21807) found -[15968] Forked 21808 -(21808) found -[15967] Forked 21809 -(21809) found -[15966] Forked 21810 -(21810) found -[15965] Forked 21811 -(21811) found -[15964] Forked 21812 -(21812) found -[15963] Forked 21813 -(21813) found -[15962] Forked 21814 -(21814) found -[15961] Forked 21815 -(21815) found -[15960] Forked 21816 -(21816) found -[15959] Forked 21817 -(21817) found -[15958] Forked 21818 -(21818) found -[15957] Forked 21819 -(21819) found -[15956] Forked 21820 -(21820) found -[15955] Forked 21821 -(21821) found -[15954] Forked 21822 -(21822) found -[15953] Forked 21823 -(21823) found -[15952] Forked 21824 -(21824) found -[15951] Forked 21825 -(21825) found -[15950] Forked 21826 -(21826) found -[15949] Forked 21827 -(21827) found -[15948] Forked 21828 -(21828) found -[15947] Forked 21829 -(21829) found -[15946] Forked 21830 -(21830) found -[15945] Forked 21831 -(21831) found -[15944] Forked 21832 -(21832) found -[15943] Forked 21833 -(21833) found -[15942] Forked 21834 -(21834) found -[15941] Forked 21835 -(21835) found -[15940] Forked 21836 -(21836) found -[15939] Forked 21837 -(21837) found -[15938] Forked 21838 -(21838) found -[15937] Forked 21839 -(21839) found -[15936] Forked 21840 -(21840) found -[15935] Forked 21841 -(21841) found -[15934] Forked 21842 -(21842) found -[15933] Forked 21843 -(21843) found -[15932] Forked 21844 -(21844) found -[15931] Forked 21845 -(21845) found -[15930] Forked 21846 -(21846) found -[15929] Forked 21847 -(21847) found -[15928] Forked 21848 -(21848) found -[15927] Forked 21849 -(21849) found -[15926] Forked 21850 -(21850) found -[15925] Forked 21851 -(21851) found -[15924] Forked 21852 -(21852) found -[15923] Forked 21853 -(21853) found -[15922] Forked 21854 -(21854) found -[15921] Forked 21855 -(21855) found -[15920] Forked 21856 -(21856) found -[15919] Forked 21857 -(21857) found -[15918] Forked 21858 -(21858) found -[15917] Forked 21859 -(21859) found -[15916] Forked 21860 -(21860) found -[15915] Forked 21861 -(21861) found -[15914] Forked 21862 -(21862) found -[15913] Forked 21863 -(21863) found -[15912] Forked 21864 -(21864) found -[15911] Forked 21865 -(21865) found -[15910] Forked 21866 -(21866) found -[15909] Forked 21867 -(21867) found -[15908] Forked 21868 -(21868) found -[15907] Forked 21869 -(21869) found -[15906] Forked 21870 -(21870) found -[15905] Forked 21871 -(21871) found -[15904] Forked 21872 -(21872) found -[15903] Forked 21873 -(21873) found -[15902] Forked 21874 -(21874) found -[15901] Forked 21875 -(21875) found -[15900] Forked 21876 -(21876) found -[15899] Forked 21877 -(21877) found -[15898] Forked 21878 -(21878) found -[15897] Forked 21879 -(21879) found -[15896] Forked 21880 -(21880) found -[15895] Forked 21881 -(21881) found -[15894] Forked 21882 -(21882) found -[15893] Forked 21883 -(21883) found -[15892] Forked 21884 -(21884) found -[15891] Forked 21885 -(21885) found -[15890] Forked 21886 -(21886) found -[15889] Forked 21887 -(21887) found -[15888] Forked 21888 -(21888) found -[15887] Forked 21889 -(21889) found -[15886] Forked 21890 -(21890) found -[15885] Forked 21891 -(21891) found -[15884] Forked 21892 -(21892) found -[15883] Forked 21893 -(21893) found -[15882] Forked 21894 -(21894) found -[15881] Forked 21895 -(21895) found -[15880] Forked 21896 -[15879] Forked 21897 -(21896) found -(21897) found -[15878] Forked 21898 -[15877] Forked 21899 -(21898) found -(21899) found -[15876] Forked 21900 -[15875] Forked 21901 -(21900) found -(21901) found -[15874] Forked 21902 -[15873] Forked 21903 -(21902) found -(21903) found -[15872] Forked 21904 -[15871] Forked 21905 -(21904) found -(21905) found -[15870] Forked 21906 -[15869] Forked 21907 -(21906) found -(21907) found -[15868] Forked 21908 -[15867] Forked 21909 -(21908) found -(21909) found -[15866] Forked 21910 -[15865] Forked 21911 -(21910) found -(21911) found -[15864] Forked 21912 -[15863] Forked 21913 -(21912) found -(21913) found -[15862] Forked 21914 -[15861] Forked 21915 -(21914) found -(21915) found -[15860] Forked 21916 -[15859] Forked 21917 -(21916) found -(21917) found -[15858] Forked 21918 -[15857] Forked 21919 -(21918) found -(21919) found -[15856] Forked 21920 -[15855] Forked 21921 -(21920) found -(21921) found -[15854] Forked 21922 -[15853] Forked 21923 -(21922) found -(21923) found -[15852] Forked 21924 -[15851] Forked 21925 -(21924) found -(21925) found -[15850] Forked 21926 -[15849] Forked 21927 -(21926) found -(21927) found -[15848] Forked 21928 -[15847] Forked 21929 -(21928) found -(21929) found -[15846] Forked 21930 -[15845] Forked 21931 -(21930) found -(21931) found -[15844] Forked 21932 -[15843] Forked 21933 -(21932) found -(21933) found -[15842] Forked 21934 -[15841] Forked 21935 -(21934) found -(21935) found -[15840] Forked 21936 -[15839] Forked 21937 -(21936) found -(21937) found -[15838] Forked 21938 -[15837] Forked 21939 -(21938) found -(21939) found -[15836] Forked 21940 -[15835] Forked 21941 -(21940) found -(21941) found -[15834] Forked 21942 -[15833] Forked 21943 -(21942) found -(21943) found -[15832] Forked 21944 -[15831] Forked 21945 -(21944) found -(21945) found -[15830] Forked 21946 -[15829] Forked 21947 -(21946) found -(21947) found -[15828] Forked 21948 -[15827] Forked 21949 -(21948) found -(21949) found -[15826] Forked 21950 -[15825] Forked 21951 -(21950) found -(21951) found -[15824] Forked 21952 -[15823] Forked 21953 -(21952) found -(21953) found -[15822] Forked 21954 -[15821] Forked 21955 -(21954) found -(21955) found -[15820] Forked 21956 -[15819] Forked 21957 -(21956) found -(21957) found -[15818] Forked 21958 -[15817] Forked 21959 -(21958) found -(21959) found -[15816] Forked 21960 -[15815] Forked 21961 -(21960) found -(21961) found -[15814] Forked 21962 -[15813] Forked 21963 -(21962) found -(21963) found -[15812] Forked 21964 -[15811] Forked 21965 -(21964) found -(21965) found -[15810] Forked 21966 -[15809] Forked 21967 -(21966) found -(21967) found -[15808] Forked 21968 -[15807] Forked 21969 -(21968) found -(21969) found -[15806] Forked 21970 -[15805] Forked 21971 -(21970) found -(21971) found -[15804] Forked 21972 -[15803] Forked 21973 -(21972) found -(21973) found -[15802] Forked 21974 -[15801] Forked 21975 -(21974) found -(21975) found -[15800] Forked 21976 -[15799] Forked 21977 -(21976) found -(21977) found -[15798] Forked 21978 -[15797] Forked 21979 -(21978) found -(21979) found -[15796] Forked 21980 -[15795] Forked 21981 -(21980) found -(21981) found -[15794] Forked 21982 -[15793] Forked 21983 -(21982) found -(21983) found -[15792] Forked 21984 -[15791] Forked 21985 -(21984) found -(21985) found -[15790] Forked 21986 -[15789] Forked 21987 -(21986) found -(21987) found -[15788] Forked 21988 -[15787] Forked 21989 -(21988) found -(21989) found -[15786] Forked 21990 -[15785] Forked 21991 -(21990) found -(21991) found -[15784] Forked 21992 -[15783] Forked 21993 -(21992) found -(21993) found -[15782] Forked 21994 -[15781] Forked 21995 -(21994) found -(21995) found -[15780] Forked 21996 -[15779] Forked 21997 -(21996) found -(21997) found -[15778] Forked 21998 -[15777] Forked 21999 -(21998) found -(21999) found -[15776] Forked 22000 -[15775] Forked 22001 -(22000) found -(22001) found -[15774] Forked 22002 -[15773] Forked 22004 -(22002) found -(22004) found -[15772] Forked 22005 -(22005) found -[15771] Forked 22006 -(22006) found -[15770] Forked 22007 -(22007) found -[15769] Forked 22008 -(22008) found -[15768] Forked 22009 -(22009) found -[15767] Forked 22010 -(22010) found -[15766] Forked 22011 -(22011) found -[15765] Forked 22012 -(22012) found -[15764] Forked 22013 -(22013) found -[15763] Forked 22014 -(22014) found -[15762] Forked 22015 -(22015) found -[15761] Forked 22016 -(22016) found -[15760] Forked 22017 -(22017) found -[15759] Forked 22018 -(22018) found -[15758] Forked 22019 -(22019) found -[15757] Forked 22020 -(22020) found -[15756] Forked 22021 -(22021) found -[15755] Forked 22022 -(22022) found -[15754] Forked 22023 -(22023) found -[15753] Forked 22024 -(22024) found -[15752] Forked 22025 -(22025) found -[15751] Forked 22026 -(22026) found -[15750] Forked 22027 -(22027) found -[15749] Forked 22028 -(22028) found -[15748] Forked 22029 -(22029) found -[15747] Forked 22030 -(22030) found -[15746] Forked 22031 -(22031) found -[15745] Forked 22032 -(22032) found -[15744] Forked 22033 -(22033) found -[15743] Forked 22034 -(22034) found -[15742] Forked 22035 -(22035) found -[15741] Forked 22036 -(22036) found -[15740] Forked 22037 -(22037) found -[15739] Forked 22038 -(22038) found -[15738] Forked 22039 -(22039) found -[15737] Forked 22040 -(22040) found -[15736] Forked 22041 -(22041) found -[15735] Forked 22042 -(22042) found -[15734] Forked 22043 -(22043) found -[15733] Forked 22044 -(22044) found -[15732] Forked 22045 -(22045) found -[15731] Forked 22046 -(22046) found -[15730] Forked 22047 -(22047) found -[15729] Forked 22048 -(22048) found -[15728] Forked 22049 -(22049) found -[15727] Forked 22050 -(22050) found -[15726] Forked 22051 -(22051) found -[15725] Forked 22052 -(22052) found -[15724] Forked 22053 -(22053) found -[15723] Forked 22054 -(22054) found -[15722] Forked 22055 -(22055) found -[15721] Forked 22056 -(22056) found -[15720] Forked 22057 -(22057) found -[15719] Forked 22058 -(22058) found -[15718] Forked 22059 -(22059) found -[15717] Forked 22060 -(22060) found -[15716] Forked 22061 -(22061) found -[15715] Forked 22062 -(22062) found -[15714] Forked 22063 -(22063) found -[15713] Forked 22064 -(22064) found -[15712] Forked 22065 -(22065) found -[15711] Forked 22066 -[15710] Forked 22067 -(22066) found -(22067) found -[15709] Forked 22068 -[15708] Forked 22069 -(22068) found -(22069) found -[15707] Forked 22070 -[15706] Forked 22071 -(22070) found -(22071) found -[15705] Forked 22072 -[15704] Forked 22073 -(22072) found -(22073) found -[15703] Forked 22074 -[15702] Forked 22075 -(22074) found -(22075) found -[15701] Forked 22076 -[15700] Forked 22077 -(22076) found -(22077) found -[15699] Forked 22078 -[15698] Forked 22079 -(22078) found -(22079) found -[15697] Forked 22080 -[15696] Forked 22081 -(22080) found -(22081) found -[15695] Forked 22082 -[15694] Forked 22083 -(22082) found -(22083) found -[15693] Forked 22084 -(22084) found -[15692] Forked 22085 -[15691] Forked 22086 -(22085) found -(22086) found -[15690] Forked 22087 -[15689] Forked 22088 -(22087) found -(22088) found -[15688] Forked 22089 -[15687] Forked 22090 -(22089) found -(22090) found -[15686] Forked 22091 -[15685] Forked 22092 -(22091) found -(22092) found -[15684] Forked 22093 -[15683] Forked 22094 -(22093) found -(22094) found -[15682] Forked 22095 -[15681] Forked 22096 -(22095) found -(22096) found -[15680] Forked 22097 -[15679] Forked 22098 -(22097) found -(22098) found -[15678] Forked 22099 -[15677] Forked 22100 -(22099) found -(22100) found -[15676] Forked 22101 -[15675] Forked 22102 -(22101) found -(22102) found -[15674] Forked 22103 -[15673] Forked 22104 -(22103) found -(22104) found -[15672] Forked 22105 -[15671] Forked 22106 -(22105) found -(22106) found -[15670] Forked 22107 -[15669] Forked 22108 -(22107) found -(22108) found -[15668] Forked 22109 -(22109) found -[15667] Forked 22110 -(22110) found -[15666] Forked 22111 -(22111) found -[15665] Forked 22112 -(22112) found -[15664] Forked 22113 -(22113) found -[15663] Forked 22114 -(22114) found -[15662] Forked 22115 -(22115) found -[15661] Forked 22116 -(22116) found -[15660] Forked 22117 -(22117) found -[15659] Forked 22118 -(22118) found -[15658] Forked 22119 -(22119) found -[15657] Forked 22120 -(22120) found -[15656] Forked 22121 -(22121) found -[15655] Forked 22122 -(22122) found -[15654] Forked 22123 -(22123) found -[15653] Forked 22124 -(22124) found -[15652] Forked 22125 -(22125) found -[15651] Forked 22126 -(22126) found -[15650] Forked 22127 -(22127) found -[15649] Forked 22128 -(22128) found -[15648] Forked 22129 -(22129) found -[15647] Forked 22130 -(22130) found -[15646] Forked 22131 -(22131) found -[15645] Forked 22132 -(22132) found -[15644] Forked 22133 -(22133) found -[15643] Forked 22134 -(22134) found -[15642] Forked 22135 -(22135) found -[15641] Forked 22136 -(22136) found -[15640] Forked 22137 -(22137) found -[15639] Forked 22138 -(22138) found -[15638] Forked 22139 -(22139) found -[15637] Forked 22140 -(22140) found -[15636] Forked 22141 -(22141) found -[15635] Forked 22142 -(22142) found -[15634] Forked 22143 -(22143) found -[15633] Forked 22144 -(22144) found -[15632] Forked 22145 -(22145) found -[15631] Forked 22146 -(22146) found -[15630] Forked 22147 -(22147) found -[15629] Forked 22148 -[15628] Forked 22149 -(22148) found -(22149) found -[15627] Forked 22150 -[15626] Forked 22151 -(22150) found -(22151) found -[15625] Forked 22152 -[15624] Forked 22153 -(22152) found -(22153) found -[15623] Forked 22154 -[15622] Forked 22155 -(22154) found -(22155) found -[15621] Forked 22156 -[15620] Forked 22157 -(22156) found -(22157) found -[15619] Forked 22158 -[15618] Forked 22159 -(22158) found -(22159) found -[15617] Forked 22160 -[15616] Forked 22161 -(22160) found -(22161) found -[15615] Forked 22162 -[15614] Forked 22163 -(22162) found -(22163) found -[15613] Forked 22164 -[15612] Forked 22165 -(22164) found -(22165) found -[15611] Forked 22166 -[15610] Forked 22167 -(22167) found -(22166) found -[15609] Forked 22168 -(22168) found -[15608] Forked 22169 -(22169) found -[15607] Forked 22170 -(22170) found -[15606] Forked 22171 -(22171) found -[15605] Forked 22172 -(22172) found -[15604] Forked 22173 -(22173) found -[15603] Forked 22174 -(22174) found -[15602] Forked 22175 -(22175) found -[15601] Forked 22176 -(22176) found -[15600] Forked 22177 -(22177) found -[15599] Forked 22178 -(22178) found -[15598] Forked 22179 -(22179) found -[15597] Forked 22180 -(22180) found -[15596] Forked 22181 -(22181) found -[15595] Forked 22182 -(22182) found -[15594] Forked 22183 -[15593] Forked 22184 -(22183) found -(22184) found -[15592] Forked 22185 -[15591] Forked 22186 -(22185) found -(22186) found -[15590] Forked 22187 -[15589] Forked 22188 -(22187) found -(22188) found -[15588] Forked 22189 -[15587] Forked 22190 -(22189) found -(22190) found -[15586] Forked 22191 -[15585] Forked 22192 -(22191) found -(22192) found -[15584] Forked 22193 -[15583] Forked 22194 -(22193) found -(22194) found -[15582] Forked 22195 -[15581] Forked 22196 -(22195) found -(22196) found -[15580] Forked 22197 -[15579] Forked 22198 -(22197) found -(22198) found -[15578] Forked 22199 -[15577] Forked 22200 -(22199) found -(22200) found -[15576] Forked 22201 -[15575] Forked 22202 -(22201) found -(22202) found -[15574] Forked 22203 -[15573] Forked 22204 -(22203) found -(22204) found -[15572] Forked 22205 -[15571] Forked 22206 -(22205) found -(22206) found -[15570] Forked 22207 -[15569] Forked 22209 -(22207) found -(22209) found -[15568] Forked 22210 -(22210) found -[15567] Forked 22211 -(22211) found -[15566] Forked 22212 -(22212) found -[15565] Forked 22213 -(22213) found -[15564] Forked 22214 -(22214) found -[15563] Forked 22215 -(22215) found -[15562] Forked 22216 -(22216) found -[15561] Forked 22217 -(22217) found -[15560] Forked 22218 -(22218) found -[15559] Forked 22219 -(22219) found -[15558] Forked 22220 -(22220) found -[15557] Forked 22221 -(22221) found -[15556] Forked 22222 -(22222) found -[15555] Forked 22223 -(22223) found -[15554] Forked 22224 -(22224) found -[15553] Forked 22225 -(22225) found -[15552] Forked 22226 -(22226) found -[15551] Forked 22227 -(22227) found -[15550] Forked 22228 -(22228) found -[15549] Forked 22229 -(22229) found -[15548] Forked 22230 -(22230) found -[15547] Forked 22231 -(22231) found -[15546] Forked 22232 -(22232) found -[15545] Forked 22233 -(22233) found -[15544] Forked 22234 -(22234) found -[15543] Forked 22235 -(22235) found -[15542] Forked 22236 -(22236) found -[15541] Forked 22237 -(22237) found -[15540] Forked 22238 -(22238) found -[15539] Forked 22239 -(22239) found -[15538] Forked 22240 -(22240) found -[15537] Forked 22241 -(22241) found -[15536] Forked 22242 -(22242) found -[15535] Forked 22243 -(22243) found -[15534] Forked 22244 -(22244) found -[15533] Forked 22245 -(22245) found -[15532] Forked 22246 -(22246) found -[15531] Forked 22247 -(22247) found -[15530] Forked 22248 -(22248) found -[15529] Forked 22249 -(22249) found -[15528] Forked 22250 -(22250) found -[15527] Forked 22251 -(22251) found -[15526] Forked 22252 -(22252) found -[15525] Forked 22253 -(22253) found -[15524] Forked 22254 -(22254) found -[15523] Forked 22255 -(22255) found -[15522] Forked 22256 -(22256) found -[15521] Forked 22257 -(22257) found -[15520] Forked 22258 -(22258) found -[15519] Forked 22259 -(22259) found -[15518] Forked 22260 -(22260) found -[15517] Forked 22261 -[15516] Forked 22262 -(22261) found -(22262) found -[15515] Forked 22263 -[15514] Forked 22264 -(22263) found -(22264) found -[15513] Forked 22265 -(22265) found -[15512] Forked 22266 -(22266) found -[15511] Forked 22267 -(22267) found -[15510] Forked 22268 -(22268) found -[15509] Forked 22269 -(22269) found -[15508] Forked 22270 -(22270) found -[15507] Forked 22271 -(22271) found -[15506] Forked 22272 -(22272) found -[15505] Forked 22273 -(22273) found -[15504] Forked 22274 -(22274) found -[15503] Forked 22275 -(22275) found -[15502] Forked 22276 -(22276) found -[15501] Forked 22277 -(22277) found -[15500] Forked 22278 -(22278) found -[15499] Forked 22279 -(22279) found -[15498] Forked 22280 -(22280) found -[15497] Forked 22281 -(22281) found -[15496] Forked 22282 -(22282) found -[15495] Forked 22283 -(22283) found -[15494] Forked 22284 -(22284) found -[15493] Forked 22285 -(22285) found -[15492] Forked 22286 -(22286) found -[15491] Forked 22287 -(22287) found -[15490] Forked 22288 -(22288) found -[15489] Forked 22289 -(22289) found -[15488] Forked 22290 -(22290) found -[15487] Forked 22291 -(22291) found -[15486] Forked 22292 -(22292) found -[15485] Forked 22293 -(22293) found -[15484] Forked 22294 -(22294) found -[15483] Forked 22295 -(22295) found -[15482] Forked 22296 -(22296) found -[15481] Forked 22297 -(22297) found -[15480] Forked 22298 -(22298) found -[15479] Forked 22299 -(22299) found -[15478] Forked 22300 -(22300) found -[15477] Forked 22301 -(22301) found -[15476] Forked 22302 -(22302) found -[15475] Forked 22303 -(22303) found -[15474] Forked 22304 -[15473] Forked 22305 -(22304) found -(22305) found -[15472] Forked 22306 -[15471] Forked 22307 -(22306) found -(22307) found -[15470] Forked 22308 -[15469] Forked 22309 -(22308) found -(22309) found -[15468] Forked 22310 -[15467] Forked 22311 -(22310) found -(22311) found -[15466] Forked 22312 -[15465] Forked 22313 -(22312) found -(22313) found -[15464] Forked 22314 -[15463] Forked 22315 -(22314) found -(22315) found -[15462] Forked 22316 -[15461] Forked 22317 -(22316) found -(22317) found -[15460] Forked 22318 -[15459] Forked 22319 -(22318) found -(22319) found -[15458] Forked 22320 -[15457] Forked 22321 -(22320) found -(22321) found -[15456] Forked 22322 -[15455] Forked 22323 -(22322) found -(22323) found -[15454] Forked 22324 -[15453] Forked 22325 -(22324) found -(22325) found -[15452] Forked 22326 -[15451] Forked 22327 -(22326) found -(22327) found -[15450] Forked 22328 -[15449] Forked 22329 -(22328) found -(22329) found -[15448] Forked 22330 -[15447] Forked 22331 -(22330) found -(22331) found -[15446] Forked 22332 -[15445] Forked 22333 -(22332) found -(22333) found -[15444] Forked 22334 -[15443] Forked 22335 -(22334) found -(22335) found -[15442] Forked 22336 -[15441] Forked 22337 -(22336) found -(22337) found -[15440] Forked 22338 -[15439] Forked 22339 -(22338) found -(22339) found -[15438] Forked 22340 -[15437] Forked 22341 -(22340) found -(22341) found -[15436] Forked 22342 -[15435] Forked 22343 -(22342) found -(22343) found -[15434] Forked 22344 -[15433] Forked 22345 -(22344) found -(22345) found -[15432] Forked 22346 -[15431] Forked 22347 -(22346) found -(22347) found -[15430] Forked 22348 -(22348) found -[15429] Forked 22349 -(22349) found -[15428] Forked 22350 -(22350) found -[15427] Forked 22351 -(22351) found -[15426] Forked 22352 -(22352) found -[15425] Forked 22353 -(22353) found -[15424] Forked 22354 -(22354) found -[15423] Forked 22355 -(22355) found -[15422] Forked 22356 -(22356) found -[15421] Forked 22357 -(22357) found -[15420] Forked 22358 -(22358) found -[15419] Forked 22359 -(22359) found -[15418] Forked 22360 -(22360) found -[15417] Forked 22361 -(22361) found -[15416] Forked 22362 -(22362) found -[15415] Forked 22363 -(22363) found -[15414] Forked 22364 -(22364) found -[15413] Forked 22365 -(22365) found -[15412] Forked 22366 -(22366) found -[15411] Forked 22367 -(22367) found -[15410] Forked 22368 -(22368) found -[15409] Forked 22369 -(22369) found -[15408] Forked 22370 -(22370) found -[15407] Forked 22371 -(22371) found -[15406] Forked 22372 -(22372) found -[15405] Forked 22373 -(22373) found -[15404] Forked 22374 -(22374) found -[15403] Forked 22375 -(22375) found -[15402] Forked 22376 -(22376) found -[15401] Forked 22377 -(22377) found -[15400] Forked 22378 -(22378) found -[15399] Forked 22379 -(22379) found -[15398] Forked 22380 -(22380) found -[15397] Forked 22381 -(22381) found -[15396] Forked 22382 -(22382) found -[15395] Forked 22383 -(22383) found -[15394] Forked 22384 -(22384) found -[15393] Forked 22385 -(22385) found -[15392] Forked 22386 -(22386) found -[15391] Forked 22387 -[15390] Forked 22388 -(22387) found -(22388) found -[15389] Forked 22389 -[15388] Forked 22390 -(22389) found -(22390) found -[15387] Forked 22391 -[15386] Forked 22392 -(22391) found -(22392) found -[15385] Forked 22393 -[15384] Forked 22394 -(22393) found -(22394) found -[15383] Forked 22395 -[15382] Forked 22396 -(22395) found -(22396) found -[15381] Forked 22397 -[15380] Forked 22398 -(22397) found -(22398) found -[15379] Forked 22399 -[15378] Forked 22400 -(22399) found -(22400) found -[15377] Forked 22401 -[15376] Forked 22402 -(22401) found -(22402) found -[15375] Forked 22403 -[15374] Forked 22404 -(22403) found -(22404) found -[15373] Forked 22405 -[15372] Forked 22406 -(22405) found -(22406) found -[15371] Forked 22407 -[15370] Forked 22408 -(22407) found -(22408) found -[15369] Forked 22409 -[15368] Forked 22410 -(22409) found -(22410) found -[15367] Forked 22411 -[15366] Forked 22412 -(22411) found -(22412) found -[15365] Forked 22413 -[15364] Forked 22414 -(22413) found -(22414) found -[15363] Forked 22415 -[15362] Forked 22416 -(22415) found -(22416) found -[15361] Forked 22417 -[15360] Forked 22418 -(22417) found -(22418) found -[15359] Forked 22419 -[15358] Forked 22420 -(22420) found -(22419) found -[15357] Forked 22421 -(22421) found -[15356] Forked 22422 -(22422) found -[15355] Forked 22423 -(22423) found -[15354] Forked 22424 -(22424) found -[15353] Forked 22425 -(22425) found -[15352] Forked 22426 -(22426) found -[15351] Forked 22427 -(22427) found -[15350] Forked 22428 -(22428) found -[15349] Forked 22429 -(22429) found -[15348] Forked 22430 -(22430) found -[15347] Forked 22431 -(22431) found -[15346] Forked 22432 -(22432) found -[15345] Forked 22433 -(22433) found -[15344] Forked 22434 -(22434) found -[15343] Forked 22435 -(22435) found -[15342] Forked 22436 -(22436) found -[15341] Forked 22437 -(22437) found -[15340] Forked 22438 -(22438) found -[15339] Forked 22439 -(22439) found -[15338] Forked 22440 -(22440) found -[15337] Forked 22441 -(22441) found -[15336] Forked 22442 -(22442) found -[15335] Forked 22443 -(22443) found -[15334] Forked 22444 -(22444) found -[15333] Forked 22445 -(22445) found -[15332] Forked 22446 -(22446) found -[15331] Forked 22447 -(22447) found -[15330] Forked 22448 -(22448) found -[15329] Forked 22449 -(22449) found -[15328] Forked 22450 -(22450) found -[15327] Forked 22451 -(22451) found -[15326] Forked 22452 -(22452) found -[15325] Forked 22453 -(22453) found -[15324] Forked 22454 -(22454) found -[15323] Forked 22455 -(22455) found -[15322] Forked 22456 -(22456) found -[15321] Forked 22457 -(22457) found -[15320] Forked 22458 -(22458) found -[15319] Forked 22459 -(22459) found -[15318] Forked 22460 -(22460) found -[15317] Forked 22461 -(22461) found -[15316] Forked 22462 -(22462) found -[15315] Forked 22463 -(22463) found -[15314] Forked 22464 -(22464) found -[15313] Forked 22465 -(22465) found -[15312] Forked 22466 -(22466) found -[15311] Forked 22467 -(22467) found -[15310] Forked 22468 -(22468) found -[15309] Forked 22469 -(22469) found -[15308] Forked 22470 -[15307] Forked 22471 -(22470) found -(22471) found -[15306] Forked 22472 -[15305] Forked 22473 -(22472) found -(22473) found -[15304] Forked 22474 -[15303] Forked 22475 -(22474) found -(22475) found -[15302] Forked 22476 -[15301] Forked 22477 -(22476) found -(22477) found -[15300] Forked 22478 -[15299] Forked 22479 -(22478) found -(22479) found -[15298] Forked 22480 -[15297] Forked 22481 -(22480) found -(22481) found -[15296] Forked 22482 -[15295] Forked 22483 -(22482) found -(22483) found -[15294] Forked 22484 -[15293] Forked 22485 -(22484) found -(22485) found -[15292] Forked 22486 -[15291] Forked 22487 -(22486) found -(22487) found -[15290] Forked 22488 -[15289] Forked 22489 -(22488) found -(22489) found -[15288] Forked 22490 -[15287] Forked 22491 -(22490) found -(22491) found -[15286] Forked 22492 -[15285] Forked 22493 -(22492) found -(22493) found -[15284] Forked 22494 -[15283] Forked 22495 -(22494) found -(22495) found -[15282] Forked 22496 -[15281] Forked 22497 -(22496) found -(22497) found -[15280] Forked 22498 -[15279] Forked 22499 -(22498) found -(22499) found -[15278] Forked 22500 -[15277] Forked 22501 -(22500) found -(22501) found -[15276] Forked 22502 -[15275] Forked 22503 -(22502) found -(22503) found -[15274] Forked 22504 -[15273] Forked 22505 -(22504) found -(22505) found -[15272] Forked 22506 -(22506) found -[15271] Forked 22507 -[15270] Forked 22508 -(22507) found -(22508) found -[15269] Forked 22509 -[15268] Forked 22510 -(22509) found -(22510) found -[15267] Forked 22511 -(22511) found -[15266] Forked 22512 -(22512) found -[15265] Forked 22513 -(22513) found -[15264] Forked 22514 -(22514) found -[15263] Forked 22515 -(22515) found -[15262] Forked 22516 -(22516) found -[15261] Forked 22517 -(22517) found -[15260] Forked 22518 -(22518) found -[15259] Forked 22519 -(22519) found -[15258] Forked 22520 -(22520) found -[15257] Forked 22521 -(22521) found -[15256] Forked 22522 -(22522) found -[15255] Forked 22523 -(22523) found -[15254] Forked 22524 -(22524) found -[15253] Forked 22525 -(22525) found -[15252] Forked 22526 -(22526) found -[15251] Forked 22527 -(22527) found -[15250] Forked 22528 -(22528) found -[15249] Forked 22529 -(22529) found -[15248] Forked 22530 -(22530) found -[15247] Forked 22531 -(22531) found -[15246] Forked 22532 -(22532) found -[15245] Forked 22533 -(22533) found -[15244] Forked 22534 -(22534) found -[15243] Forked 22535 -(22535) found -[15242] Forked 22536 -(22536) found -[15241] Forked 22537 -(22537) found -[15240] Forked 22538 -(22538) found -[15239] Forked 22539 -(22539) found -[15238] Forked 22540 -(22540) found -[15237] Forked 22541 -(22541) found -[15236] Forked 22542 -(22542) found -[15235] Forked 22543 -(22543) found -[15234] Forked 22544 -(22544) found -[15233] Forked 22545 -(22545) found -[15232] Forked 22546 -(22546) found -[15231] Forked 22547 -(22547) found -[15230] Forked 22548 -(22548) found -[15229] Forked 22549 -(22549) found -[15228] Forked 22550 -[15227] Forked 22551 -(22550) found -(22551) found -[15226] Forked 22552 -[15225] Forked 22553 -(22552) found -(22553) found -[15224] Forked 22554 -[15223] Forked 22555 -(22554) found -(22555) found -[15222] Forked 22556 -[15221] Forked 22557 -(22556) found -(22557) found -[15220] Forked 22558 -[15219] Forked 22559 -(22558) found -(22559) found -[15218] Forked 22560 -[15217] Forked 22561 -(22560) found -(22561) found -[15216] Forked 22562 -[15215] Forked 22563 -(22563) found -(22562) found -[15214] Forked 22564 -(22564) found -[15213] Forked 22565 -(22565) found -[15212] Forked 22566 -(22566) found -[15211] Forked 22567 -(22567) found -[15210] Forked 22568 -(22568) found -[15209] Forked 22569 -(22569) found -[15208] Forked 22570 -(22570) found -[15207] Forked 22571 -(22571) found -[15206] Forked 22572 -(22572) found -[15205] Forked 22573 -(22573) found -[15204] Forked 22574 -(22574) found -[15203] Forked 22575 -(22575) found -[15202] Forked 22576 -(22576) found -[15201] Forked 22577 -(22577) found -[15200] Forked 22578 -(22578) found -[15199] Forked 22579 -(22579) found -[15198] Forked 22580 -(22580) found -[15197] Forked 22581 -(22581) found -[15196] Forked 22582 -(22582) found -[15195] Forked 22583 -(22583) found -[15194] Forked 22584 -(22584) found -[15193] Forked 22585 -[15192] Forked 22586 -(22585) found -(22586) found -[15191] Forked 22587 -[15190] Forked 22588 -(22587) found -(22588) found -[15189] Forked 22589 -[15188] Forked 22590 -(22589) found -(22590) found -[15187] Forked 22591 -[15186] Forked 22592 -(22591) found -(22592) found -[15185] Forked 22593 -[15184] Forked 22594 -(22593) found -(22594) found -[15183] Forked 22595 -[15182] Forked 22596 -(22595) found -(22596) found -[15181] Forked 22597 -[15180] Forked 22598 -(22597) found -(22598) found -[15179] Forked 22599 -[15178] Forked 22600 -(22599) found -(22600) found -[15177] Forked 22601 -[15176] Forked 22602 -(22601) found -(22602) found -[15175] Forked 22603 -[15174] Forked 22604 -(22603) found -(22604) found -[15173] Forked 22605 -[15172] Forked 22606 -(22605) found -(22606) found -[15171] Forked 22607 -[15170] Forked 22608 -(22607) found -(22608) found -[15169] Forked 22609 -[15168] Forked 22610 -(22609) found -(22610) found -[15167] Forked 22611 -[15166] Forked 22612 -(22611) found -(22612) found -[15165] Forked 22613 -[15164] Forked 22614 -(22613) found -(22614) found -[15163] Forked 22615 -[15162] Forked 22616 -(22615) found -(22616) found -[15161] Forked 22617 -[15160] Forked 22618 -(22617) found -(22618) found -[15159] Forked 22619 -[15158] Forked 22620 -(22619) found -(22620) found -[15157] Forked 22621 -[15156] Forked 22622 -(22621) found -(22622) found -[15155] Forked 22623 -[15154] Forked 22624 -(22623) found -(22624) found -[15153] Forked 22625 -[15152] Forked 22627 -(22625) found -(22627) found -[15151] Forked 22628 -(22628) found -[15150] Forked 22629 -(22629) found -[15149] Forked 22630 -(22630) found -[15148] Forked 22631 -(22631) found -[15147] Forked 22632 -(22632) found -[15146] Forked 22633 -(22633) found -[15145] Forked 22634 -(22634) found -[15144] Forked 22635 -(22635) found -[15143] Forked 22636 -(22636) found -[15142] Forked 22637 -(22637) found -[15141] Forked 22638 -(22638) found -[15140] Forked 22639 -(22639) found -[15139] Forked 22640 -(22640) found -[15138] Forked 22641 -(22641) found -[15137] Forked 22642 -(22642) found -[15136] Forked 22644 -(22644) found -[15135] Forked 22645 -(22645) found -[15134] Forked 22646 -(22646) found -[15133] Forked 22647 -(22647) found -[15132] Forked 22648 -(22648) found -[15131] Forked 22649 -(22649) found -[15130] Forked 22650 -(22650) found -[15129] Forked 22651 -(22651) found -[15128] Forked 22652 -(22652) found -[15127] Forked 22653 -(22653) found -[15126] Forked 22654 -(22654) found -[15125] Forked 22655 -(22655) found -[15124] Forked 22656 -(22656) found -[15123] Forked 22657 -(22657) found -[15122] Forked 22658 -(22658) found -[15121] Forked 22659 -(22659) found -[15120] Forked 22660 -(22660) found -[15119] Forked 22661 -(22661) found -[15118] Forked 22662 -(22662) found -[15117] Forked 22663 -(22663) found -[15116] Forked 22664 -(22664) found -[15115] Forked 22665 -(22665) found -[15114] Forked 22666 -(22666) found -[15113] Forked 22667 -(22667) found -[15112] Forked 22668 -(22668) found -[15111] Forked 22669 -(22669) found -[15110] Forked 22670 -(22670) found -[15109] Forked 22671 -(22671) found -[15108] Forked 22672 -(22672) found -[15107] Forked 22673 -(22673) found -[15106] Forked 22674 -(22674) found -[15105] Forked 22675 -(22675) found -[15104] Forked 22676 -(22676) found -[15103] Forked 22677 -(22677) found -[15102] Forked 22678 -(22678) found -[15101] Forked 22679 -(22679) found -[15100] Forked 22680 -(22680) found -[15099] Forked 22681 -(22681) found -[15098] Forked 22682 -(22682) found -[15097] Forked 22683 -(22683) found -[15096] Forked 22684 -(22684) found -[15095] Forked 22685 -(22685) found -[15094] Forked 22686 -(22686) found -[15093] Forked 22687 -(22687) found -[15092] Forked 22688 -(22688) found -[15091] Forked 22689 -(22689) found -[15090] Forked 22690 -(22690) found -[15089] Forked 22691 -(22691) found -[15088] Forked 22692 -(22692) found -[15087] Forked 22693 -(22693) found -[15086] Forked 22694 -(22694) found -[15085] Forked 22695 -(22695) found -[15084] Forked 22696 -(22696) found -[15083] Forked 22697 -(22697) found -[15082] Forked 22698 -(22698) found -[15081] Forked 22699 -(22699) found -[15080] Forked 22700 -(22700) found -[15079] Forked 22701 -(22701) found -[15078] Forked 22702 -(22702) found -[15077] Forked 22703 -(22703) found -[15076] Forked 22704 -[15075] Forked 22705 -(22704) found -(22705) found -[15074] Forked 22706 -[15073] Forked 22707 -(22706) found -(22707) found -[15072] Forked 22708 -[15071] Forked 22709 -(22708) found -(22709) found -[15070] Forked 22710 -[15069] Forked 22711 -(22710) found -(22711) found -[15068] Forked 22712 -[15067] Forked 22713 -(22712) found -(22713) found -[15066] Forked 22714 -[15065] Forked 22715 -(22714) found -(22715) found -[15064] Forked 22716 -[15063] Forked 22717 -(22716) found -(22717) found -[15062] Forked 22718 -[15061] Forked 22719 -(22718) found -(22719) found -[15060] Forked 22720 -[15059] Forked 22721 -(22720) found -(22721) found -[15058] Forked 22722 -[15057] Forked 22723 -(22722) found -(22723) found -[15056] Forked 22724 -[15055] Forked 22725 -(22724) found -(22725) found -[15054] Forked 22726 -[15053] Forked 22727 -(22726) found -(22727) found -[15052] Forked 22728 -[15051] Forked 22729 -(22728) found -(22729) found -[15050] Forked 22730 -[15049] Forked 22731 -(22730) found -(22731) found -[15048] Forked 22732 -[15047] Forked 22733 -(22732) found -(22733) found -[15046] Forked 22734 -[15045] Forked 22735 -(22734) found -(22735) found -[15044] Forked 22736 -[15043] Forked 22737 -(22736) found -(22737) found -[15042] Forked 22738 -[15041] Forked 22739 -(22738) found -(22739) found -[15040] Forked 22740 -[15039] Forked 22741 -(22740) found -(22741) found -[15038] Forked 22742 -[15037] Forked 22743 -(22742) found -(22743) found -[15036] Forked 22744 -[15035] Forked 22745 -(22744) found -(22745) found -[15034] Forked 22746 -[15033] Forked 22747 -(22746) found -(22747) found -[15032] Forked 22748 -(22748) found -[15031] Forked 22749 -(22749) found -[15030] Forked 22750 -(22750) found -[15029] Forked 22751 -(22751) found -[15028] Forked 22752 -(22752) found -[15027] Forked 22753 -(22753) found -[15026] Forked 22754 -(22754) found -[15025] Forked 22755 -(22755) found -[15024] Forked 22756 -(22756) found -[15023] Forked 22757 -(22757) found -[15022] Forked 22758 -(22758) found -[15021] Forked 22759 -(22759) found -[15020] Forked 22760 -(22760) found -[15019] Forked 22761 -(22761) found -[15018] Forked 22762 -(22762) found -[15017] Forked 22763 -(22763) found -[15016] Forked 22764 -(22764) found -[15015] Forked 22765 -(22765) found -[15014] Forked 22766 -(22766) found -[15013] Forked 22767 -(22767) found -[15012] Forked 22768 -(22768) found -[15011] Forked 22769 -(22769) found -[15010] Forked 22770 -(22770) found -[15009] Forked 22771 -(22771) found -[15008] Forked 22772 -(22772) found -[15007] Forked 22773 -(22773) found -[15006] Forked 22774 -(22774) found -[15005] Forked 22775 -(22775) found -[15004] Forked 22776 -(22776) found -[15003] Forked 22777 -(22777) found -[15002] Forked 22778 -(22778) found -[15001] Forked 22779 -(22779) found -[15000] Forked 22780 -(22780) found -[14999] Forked 22781 -(22781) found -[14998] Forked 22782 -(22782) found -[14997] Forked 22783 -(22783) found -[14996] Forked 22784 -[14995] Forked 22785 -(22784) found -(22785) found -[14994] Forked 22786 -[14993] Forked 22787 -(22786) found -(22787) found -[14992] Forked 22788 -[14991] Forked 22789 -(22788) found -(22789) found -[14990] Forked 22790 -[14989] Forked 22791 -(22790) found -(22791) found -[14988] Forked 22792 -[14987] Forked 22793 -(22792) found -(22793) found -[14986] Forked 22794 -[14985] Forked 22795 -(22794) found -(22795) found -[14984] Forked 22796 -[14983] Forked 22797 -(22796) found -(22797) found -[14982] Forked 22798 -[14981] Forked 22799 -(22798) found -(22799) found -[14980] Forked 22800 -[14979] Forked 22801 -(22800) found -(22801) found -[14978] Forked 22802 -[14977] Forked 22803 -(22802) found -(22803) found -[14976] Forked 22804 -[14975] Forked 22805 -(22804) found -(22805) found -[14974] Forked 22806 -[14973] Forked 22807 -(22806) found -(22807) found -[14972] Forked 22808 -[14971] Forked 22809 -(22808) found -(22809) found -[14970] Forked 22810 -[14969] Forked 22811 -(22810) found -(22811) found -[14968] Forked 22812 -[14967] Forked 22813 -(22812) found -(22813) found -[14966] Forked 22814 -[14965] Forked 22815 -(22814) found -(22815) found -[14964] Forked 22816 -[14963] Forked 22817 -(22816) found -(22817) found -[14962] Forked 22818 -[14961] Forked 22819 -(22818) found -(22819) found -[14960] Forked 22820 -[14959] Forked 22821 -(22820) found -(22821) found -[14958] Forked 22822 -[14957] Forked 22824 -(22822) found -(22824) found -[14956] Forked 22825 -(22825) found -[14955] Forked 22826 -(22826) found -[14954] Forked 22827 -(22827) found -[14953] Forked 22828 -(22828) found -[14952] Forked 22829 -(22829) found -[14951] Forked 22830 -(22830) found -[14950] Forked 22831 -(22831) found -[14949] Forked 22832 -(22832) found -[14948] Forked 22833 -(22833) found -[14947] Forked 22834 -(22834) found -[14946] Forked 22835 -(22835) found -[14945] Forked 22836 -(22836) found -[14944] Forked 22837 -(22837) found -[14943] Forked 22838 -(22838) found -[14942] Forked 22839 -(22839) found -[14941] Forked 22840 -(22840) found -[14940] Forked 22841 -(22841) found -[14939] Forked 22842 -(22842) found -[14938] Forked 22843 -(22843) found -[14937] Forked 22844 -(22844) found -[14936] Forked 22845 -(22845) found -[14935] Forked 22846 -(22846) found -[14934] Forked 22847 -(22847) found -[14933] Forked 22848 -(22848) found -[14932] Forked 22849 -(22849) found -[14931] Forked 22850 -(22850) found -[14930] Forked 22851 -(22851) found -[14929] Forked 22852 -(22852) found -[14928] Forked 22853 -(22853) found -[14927] Forked 22854 -(22854) found -[14926] Forked 22855 -(22855) found -[14925] Forked 22856 -(22856) found -[14924] Forked 22857 -(22857) found -[14923] Forked 22858 -(22858) found -[14922] Forked 22859 -(22859) found -[14921] Forked 22860 -(22860) found -[14920] Forked 22861 -(22861) found -[14919] Forked 22862 -(22862) found -[14918] Forked 22863 -[14917] Forked 22864 -(22863) found -(22864) found -[14916] Forked 22865 -[14915] Forked 22866 -(22865) found -(22866) found -[14914] Forked 22867 -[14913] Forked 22868 -(22867) found -(22868) found -[14912] Forked 22869 -[14911] Forked 22870 -(22869) found -(22870) found -[14910] Forked 22871 -[14909] Forked 22872 -(22871) found -(22872) found -[14908] Forked 22873 -[14907] Forked 22874 -(22873) found -(22874) found -[14906] Forked 22875 -[14905] Forked 22876 -(22875) found -(22876) found -[14904] Forked 22877 -[14903] Forked 22878 -(22877) found -(22878) found -[14902] Forked 22879 -[14901] Forked 22880 -(22879) found -(22880) found -[14900] Forked 22881 -[14899] Forked 22882 -(22881) found -(22882) found -[14898] Forked 22883 -[14897] Forked 22884 -(22883) found -(22884) found -[14896] Forked 22885 -[14895] Forked 22886 -(22885) found -(22886) found -[14894] Forked 22887 -[14893] Forked 22888 -(22887) found -(22888) found -[14892] Forked 22889 -[14891] Forked 22890 -(22889) found -(22890) found -[14890] Forked 22891 -[14889] Forked 22892 -(22891) found -(22892) found -[14888] Forked 22893 -[14887] Forked 22894 -(22893) found -(22894) found -[14886] Forked 22895 -[14885] Forked 22896 -(22895) found -(22896) found -[14884] Forked 22897 -[14883] Forked 22898 -(22897) found -(22898) found -[14882] Forked 22899 -[14881] Forked 22900 -(22899) found -(22900) found -[14880] Forked 22901 -[14879] Forked 22902 -(22901) found -(22902) found -[14878] Forked 22903 -[14877] Forked 22904 -(22903) found -(22904) found -[14876] Forked 22905 -[14875] Forked 22906 -(22905) found -(22906) found -[14874] Forked 22907 -(22907) found -[14873] Forked 22908 -(22908) found -[14872] Forked 22909 -(22909) found -[14871] Forked 22910 -(22910) found -[14870] Forked 22911 -(22911) found -[14869] Forked 22912 -(22912) found -[14868] Forked 22913 -(22913) found -[14867] Forked 22914 -(22914) found -[14866] Forked 22915 -(22915) found -[14865] Forked 22916 -(22916) found -[14864] Forked 22917 -(22917) found -[14863] Forked 22918 -(22918) found -[14862] Forked 22919 -(22919) found -[14861] Forked 22920 -(22920) found -[14860] Forked 22921 -(22921) found -[14859] Forked 22922 -(22922) found -[14858] Forked 22923 -(22923) found -[14857] Forked 22924 -(22924) found -[14856] Forked 22925 -(22925) found -[14855] Forked 22926 -(22926) found -[14854] Forked 22927 -(22927) found -[14853] Forked 22928 -(22928) found -[14852] Forked 22929 -(22929) found -[14851] Forked 22930 -(22930) found -[14850] Forked 22931 -(22931) found -[14849] Forked 22932 -(22932) found -[14848] Forked 22933 -(22933) found -[14847] Forked 22934 -(22934) found -[14846] Forked 22935 -(22935) found -[14845] Forked 22936 -(22936) found -[14844] Forked 22937 -(22937) found -[14843] Forked 22938 -(22938) found -[14842] Forked 22939 -(22939) found -[14841] Forked 22940 -(22940) found -[14840] Forked 22941 -(22941) found -[14839] Forked 22942 -(22942) found -[14838] Forked 22943 -(22943) found -[14837] Forked 22944 -(22944) found -[14836] Forked 22945 -(22945) found -[14835] Forked 22946 -[14834] Forked 22947 -(22946) found -(22947) found -[14833] Forked 22948 -[14832] Forked 22949 -(22948) found -(22949) found -[14831] Forked 22950 -[14830] Forked 22951 -(22950) found -(22951) found -[14829] Forked 22952 -[14828] Forked 22953 -(22952) found -(22953) found -[14827] Forked 22954 -[14826] Forked 22955 -(22954) found -(22955) found -[14825] Forked 22956 -[14824] Forked 22957 -(22956) found -(22957) found -[14823] Forked 22958 -[14822] Forked 22959 -(22958) found -(22959) found -[14821] Forked 22960 -[14820] Forked 22961 -(22960) found -(22961) found -[14819] Forked 22962 -[14818] Forked 22963 -(22962) found -(22963) found -[14817] Forked 22964 -[14816] Forked 22965 -(22964) found -(22965) found -[14815] Forked 22966 -[14814] Forked 22967 -(22966) found -(22967) found -[14813] Forked 22968 -[14812] Forked 22969 -(22968) found -(22969) found -[14811] Forked 22970 -[14810] Forked 22971 -(22970) found -(22971) found -[14809] Forked 22972 -[14808] Forked 22973 -(22972) found -(22973) found -[14807] Forked 22974 -[14806] Forked 22975 -(22974) found -(22975) found -[14805] Forked 22976 -[14804] Forked 22977 -(22976) found -(22977) found -[14803] Forked 22978 -[14802] Forked 22979 -(22978) found -(22979) found -[14801] Forked 22980 -[14800] Forked 22981 -(22980) found -(22981) found -[14799] Forked 22982 -[14798] Forked 22983 -(22982) found -(22983) found -[14797] Forked 22984 -[14796] Forked 22985 -(22984) found -(22985) found -[14795] Forked 22986 -[14794] Forked 22987 -(22986) found -(22987) found -[14793] Forked 22988 -[14792] Forked 22989 -(22988) found -(22989) found -[14791] Forked 22990 -(22990) found -[14790] Forked 22991 -(22991) found -[14789] Forked 22992 -(22992) found -[14788] Forked 22993 -(22993) found -[14787] Forked 22994 -(22994) found -[14786] Forked 22995 -(22995) found -[14785] Forked 22996 -(22996) found -[14784] Forked 22997 -(22997) found -[14783] Forked 22998 -(22998) found -[14782] Forked 22999 -(22999) found -[14781] Forked 23000 -(23000) found -[14780] Forked 23001 -(23001) found -[14779] Forked 23002 -(23002) found -[14778] Forked 23003 -(23003) found -[14777] Forked 23004 -(23004) found -[14776] Forked 23005 -(23005) found -[14775] Forked 23006 -(23006) found -[14774] Forked 23007 -(23007) found -[14773] Forked 23008 -(23008) found -[14772] Forked 23009 -(23009) found -[14771] Forked 23010 -(23010) found -[14770] Forked 23011 -(23011) found -[14769] Forked 23012 -(23012) found -[14768] Forked 23013 -(23013) found -[14767] Forked 23014 -(23014) found -[14766] Forked 23015 -(23015) found -[14765] Forked 23016 -(23016) found -[14764] Forked 23017 -(23017) found -[14763] Forked 23018 -(23018) found -[14762] Forked 23019 -(23019) found -[14761] Forked 23020 -(23020) found -[14760] Forked 23021 -(23021) found -[14759] Forked 23022 -(23022) found -[14758] Forked 23023 -(23023) found -[14757] Forked 23024 -(23024) found -[14756] Forked 23025 -(23025) found -[14755] Forked 23026 -(23026) found -[14754] Forked 23027 -(23027) found -[14753] Forked 23028 -(23028) found -[14752] Forked 23029 -[14751] Forked 23030 -(23029) found -(23030) found -[14750] Forked 23031 -[14749] Forked 23032 -(23031) found -(23032) found -[14748] Forked 23033 -[14747] Forked 23034 -(23033) found -(23034) found -[14746] Forked 23035 -[14745] Forked 23036 -(23035) found -(23036) found -[14744] Forked 23037 -[14743] Forked 23038 -(23037) found -(23038) found -[14742] Forked 23039 -[14741] Forked 23040 -(23039) found -(23040) found -[14740] Forked 23041 -[14739] Forked 23042 -(23041) found -(23042) found -[14738] Forked 23043 -[14737] Forked 23044 -(23043) found -(23044) found -[14736] Forked 23045 -[14735] Forked 23046 -(23045) found -(23046) found -[14734] Forked 23047 -[14733] Forked 23048 -(23047) found -(23048) found -[14732] Forked 23049 -[14731] Forked 23050 -(23049) found -(23050) found -[14730] Forked 23051 -[14729] Forked 23052 -(23051) found -(23052) found -[14728] Forked 23053 -[14727] Forked 23054 -(23053) found -(23054) found -[14726] Forked 23055 -[14725] Forked 23056 -(23055) found -(23056) found -[14724] Forked 23057 -[14723] Forked 23058 -(23057) found -(23058) found -[14722] Forked 23059 -[14721] Forked 23060 -(23059) found -(23060) found -[14720] Forked 23061 -[14719] Forked 23062 -(23061) found -(23062) found -[14718] Forked 23063 -[14717] Forked 23064 -(23063) found -(23064) found -[14716] Forked 23065 -[14715] Forked 23066 -(23065) found -(23066) found -[14714] Forked 23067 -[14713] Forked 23069 -(23067) found -(23069) found -[14712] Forked 23070 -(23070) found -[14711] Forked 23071 -(23071) found -[14710] Forked 23072 -(23072) found -[14709] Forked 23073 -(23073) found -[14708] Forked 23074 -(23074) found -[14707] Forked 23075 -(23075) found -[14706] Forked 23076 -(23076) found -[14705] Forked 23077 -(23077) found -[14704] Forked 23078 -(23078) found -[14703] Forked 23079 -(23079) found -[14702] Forked 23080 -(23080) found -[14701] Forked 23081 -(23081) found -[14700] Forked 23082 -(23082) found -[14699] Forked 23083 -(23083) found -[14698] Forked 23084 -(23084) found -[14697] Forked 23085 -(23085) found -[14696] Forked 23086 -(23086) found -[14695] Forked 23087 -(23087) found -[14694] Forked 23088 -(23088) found -[14693] Forked 23089 -(23089) found -[14692] Forked 23090 -(23090) found -[14691] Forked 23091 -(23091) found -[14690] Forked 23092 -(23092) found -[14689] Forked 23093 -(23093) found -[14688] Forked 23094 -(23094) found -[14687] Forked 23095 -(23095) found -[14686] Forked 23096 -(23096) found -[14685] Forked 23097 -(23097) found -[14684] Forked 23098 -(23098) found -[14683] Forked 23099 -(23099) found -[14682] Forked 23100 -(23100) found -[14681] Forked 23101 -(23101) found -[14680] Forked 23102 -(23102) found -[14679] Forked 23103 -(23103) found -[14678] Forked 23104 -(23104) found -[14677] Forked 23105 -(23105) found -[14676] Forked 23106 -(23106) found -[14675] Forked 23107 -(23107) found -[14674] Forked 23108 -(23108) found -[14673] Forked 23109 -(23109) found -[14672] Forked 23110 -(23110) found -[14671] Forked 23111 -(23111) found -[14670] Forked 23112 -(23112) found -[14669] Forked 23113 -(23113) found -[14668] Forked 23114 -(23114) found -[14667] Forked 23115 -(23115) found -[14666] Forked 23116 -(23116) found -[14665] Forked 23117 -(23117) found -[14664] Forked 23118 -(23118) found -[14663] Forked 23119 -(23119) found -[14662] Forked 23120 -(23120) found -[14661] Forked 23121 -(23121) found -[14660] Forked 23122 -(23122) found -[14659] Forked 23123 -(23123) found -[14658] Forked 23124 -(23124) found -[14657] Forked 23125 -(23125) found -[14656] Forked 23126 -(23126) found -[14655] Forked 23127 -(23127) found -[14654] Forked 23128 -(23128) found -[14653] Forked 23129 -(23129) found -[14652] Forked 23130 -(23130) found -[14651] Forked 23131 -(23131) found -[14650] Forked 23132 -(23132) found -[14649] Forked 23133 -(23133) found -[14648] Forked 23134 -(23134) found -[14647] Forked 23135 -(23135) found -[14646] Forked 23136 -(23136) found -[14645] Forked 23137 -(23137) found -[14644] Forked 23138 -(23138) found -[14643] Forked 23139 -(23139) found -[14642] Forked 23140 -(23140) found -[14641] Forked 23141 -(23141) found -[14640] Forked 23142 -[14639] Forked 23143 -(23142) found -(23143) found -[14638] Forked 23144 -[14637] Forked 23145 -(23144) found -(23145) found -[14636] Forked 23146 -[14635] Forked 23147 -(23146) found -(23147) found -[14634] Forked 23148 -[14633] Forked 23149 -(23148) found -(23149) found -[14632] Forked 23150 -[14631] Forked 23151 -(23150) found -(23151) found -[14630] Forked 23152 -[14629] Forked 23153 -(23152) found -(23153) found -[14628] Forked 23154 -[14627] Forked 23155 -(23154) found -(23155) found -[14626] Forked 23156 -[14625] Forked 23157 -(23156) found -(23157) found -[14624] Forked 23158 -[14623] Forked 23159 -(23158) found -(23159) found -[14622] Forked 23160 -[14621] Forked 23161 -(23160) found -(23161) found -[14620] Forked 23162 -[14619] Forked 23163 -(23162) found -(23163) found -[14618] Forked 23164 -[14617] Forked 23165 -(23164) found -(23165) found -[14616] Forked 23166 -[14615] Forked 23167 -(23166) found -(23167) found -[14614] Forked 23168 -[14613] Forked 23169 -(23169) found -(23168) found -[14612] Forked 23170 -(23170) found -[14611] Forked 23171 -(23171) found -[14610] Forked 23172 -(23172) found -[14609] Forked 23173 -(23173) found -[14608] Forked 23174 -(23174) found -[14607] Forked 23175 -(23175) found -[14606] Forked 23176 -(23176) found -[14605] Forked 23177 -(23177) found -[14604] Forked 23178 -(23178) found -[14603] Forked 23179 -(23179) found -[14602] Forked 23180 -(23180) found -[14601] Forked 23181 -(23181) found -[14600] Forked 23182 -(23182) found -[14599] Forked 23183 -(23183) found -[14598] Forked 23184 -(23184) found -[14597] Forked 23185 -(23185) found -[14596] Forked 23186 -(23186) found -[14595] Forked 23187 -(23187) found -[14594] Forked 23188 -(23188) found -[14593] Forked 23189 -(23189) found -[14592] Forked 23190 -(23190) found -[14591] Forked 23191 -(23191) found -[14590] Forked 23192 -(23192) found -[14589] Forked 23193 -(23193) found -[14588] Forked 23194 -(23194) found -[14587] Forked 23195 -(23195) found -[14586] Forked 23196 -(23196) found -[14585] Forked 23197 -(23197) found -[14584] Forked 23198 -(23198) found -[14583] Forked 23199 -(23199) found -[14582] Forked 23200 -(23200) found -[14581] Forked 23201 -(23201) found -[14580] Forked 23202 -(23202) found -[14579] Forked 23203 -(23203) found -[14578] Forked 23204 -(23204) found -[14577] Forked 23205 -(23205) found -[14576] Forked 23206 -(23206) found -[14575] Forked 23207 -(23207) found -[14574] Forked 23208 -(23208) found -[14573] Forked 23209 -(23209) found -[14572] Forked 23210 -(23210) found -[14571] Forked 23211 -(23211) found -[14570] Forked 23212 -(23212) found -[14569] Forked 23213 -(23213) found -[14568] Forked 23214 -(23214) found -[14567] Forked 23215 -(23215) found -[14566] Forked 23216 -(23216) found -[14565] Forked 23217 -(23217) found -[14564] Forked 23218 -(23218) found -[14563] Forked 23219 -(23219) found -[14562] Forked 23220 -[14561] Forked 23221 -(23220) found -(23221) found -[14560] Forked 23222 -[14559] Forked 23223 -(23222) found -(23223) found -[14558] Forked 23224 -[14557] Forked 23225 -(23224) found -(23225) found -[14556] Forked 23226 -[14555] Forked 23227 -(23226) found -(23227) found -[14554] Forked 23228 -[14553] Forked 23229 -(23228) found -(23229) found -[14552] Forked 23230 -[14551] Forked 23231 -(23230) found -(23231) found -[14550] Forked 23232 -[14549] Forked 23233 -(23232) found -(23233) found -[14548] Forked 23234 -[14547] Forked 23235 -(23234) found -(23235) found -[14546] Forked 23236 -[14545] Forked 23237 -(23236) found -(23237) found -[14544] Forked 23238 -[14543] Forked 23239 -(23238) found -(23239) found -[14542] Forked 23240 -[14541] Forked 23241 -(23240) found -(23241) found -[14540] Forked 23242 -[14539] Forked 23243 -(23242) found -(23243) found -[14538] Forked 23244 -[14537] Forked 23245 -(23244) found -(23245) found -[14536] Forked 23246 -[14535] Forked 23247 -(23246) found -(23247) found -[14534] Forked 23248 -[14533] Forked 23249 -(23248) found -(23249) found -[14532] Forked 23250 -[14531] Forked 23251 -(23250) found -(23251) found -[14530] Forked 23252 -[14529] Forked 23253 -(23252) found -(23253) found -[14528] Forked 23254 -[14527] Forked 23255 -(23254) found -(23255) found -[14526] Forked 23256 -[14525] Forked 23257 -(23256) found -(23257) found -[14524] Forked 23258 -[14523] Forked 23259 -(23258) found -(23259) found -[14522] Forked 23260 -[14521] Forked 23261 -(23260) found -(23261) found -[14520] Forked 23262 -[14519] Forked 23263 -(23262) found -(23263) found -[14518] Forked 23264 -[14517] Forked 23265 -(23264) found -(23265) found -[14516] Forked 23266 -[14515] Forked 23267 -(23266) found -(23267) found -[14514] Forked 23268 -[14513] Forked 23269 -(23268) found -(23269) found -[14512] Forked 23270 -[14511] Forked 23271 -(23270) found -(23271) found -[14510] Forked 23272 -[14509] Forked 23273 -(23272) found -(23273) found -[14508] Forked 23274 -[14507] Forked 23275 -(23274) found -(23275) found -[14506] Forked 23276 -[14505] Forked 23277 -(23276) found -(23277) found -[14504] Forked 23278 -[14503] Forked 23279 -(23278) found -(23279) found -[14502] Forked 23280 -[14501] Forked 23281 -(23280) found -(23281) found -[14500] Forked 23282 -[14499] Forked 23283 -(23282) found -(23283) found -[14498] Forked 23284 -[14497] Forked 23285 -(23284) found -(23285) found -[14496] Forked 23286 -[14495] Forked 23287 -(23286) found -(23287) found -[14494] Forked 23288 -[14493] Forked 23289 -(23288) found -(23289) found -[14492] Forked 23290 -[14491] Forked 23291 -(23290) found -(23291) found -[14490] Forked 23292 -[14489] Forked 23293 -(23292) found -(23293) found -[14488] Forked 23294 -[14487] Forked 23295 -(23294) found -(23295) found -[14486] Forked 23296 -[14485] Forked 23297 -(23296) found -(23297) found -[14484] Forked 23298 -[14483] Forked 23299 -(23298) found -(23299) found -[14482] Forked 23300 -[14481] Forked 23301 -(23300) found -(23301) found -[14480] Forked 23302 -[14479] Forked 23303 -(23302) found -(23303) found -[14478] Forked 23304 -[14477] Forked 23305 -(23304) found -(23305) found -[14476] Forked 23306 -[14475] Forked 23307 -(23306) found -(23307) found -[14474] Forked 23308 -[14473] Forked 23309 -(23308) found -(23309) found -[14472] Forked 23310 -[14471] Forked 23311 -(23310) found -(23311) found -[14470] Forked 23312 -(23312) found -[14469] Forked 23313 -(23313) found -[14468] Forked 23314 -(23314) found -[14467] Forked 23315 -(23315) found -[14466] Forked 23316 -(23316) found -[14465] Forked 23317 -(23317) found -[14464] Forked 23318 -(23318) found -[14463] Forked 23319 -(23319) found -[14462] Forked 23320 -(23320) found -[14461] Forked 23321 -(23321) found -[14460] Forked 23322 -(23322) found -[14459] Forked 23323 -(23323) found -[14458] Forked 23324 -(23324) found -[14457] Forked 23325 -(23325) found -[14456] Forked 23326 -(23326) found -[14455] Forked 23327 -(23327) found -[14454] Forked 23328 -(23328) found -[14453] Forked 23329 -(23329) found -[14452] Forked 23330 -(23330) found -[14451] Forked 23331 -(23331) found -[14450] Forked 23332 -(23332) found -[14449] Forked 23333 -(23333) found -[14448] Forked 23334 -(23334) found -[14447] Forked 23335 -(23335) found -[14446] Forked 23336 -(23336) found -[14445] Forked 23337 -(23337) found -[14444] Forked 23338 -(23338) found -[14443] Forked 23339 -(23339) found -[14442] Forked 23340 -(23340) found -[14441] Forked 23341 -(23341) found -[14440] Forked 23342 -(23342) found -[14439] Forked 23343 -(23343) found -[14438] Forked 23344 -(23344) found -[14437] Forked 23345 -(23345) found -[14436] Forked 23346 -(23346) found -[14435] Forked 23347 -(23347) found -[14434] Forked 23348 -(23348) found -[14433] Forked 23349 -(23349) found -[14432] Forked 23350 -[14431] Forked 23351 -(23350) found -(23351) found -[14430] Forked 23352 -[14429] Forked 23353 -(23352) found -(23353) found -[14428] Forked 23354 -[14427] Forked 23355 -(23354) found -(23355) found -[14426] Forked 23356 -[14425] Forked 23357 -(23356) found -(23357) found -[14424] Forked 23358 -[14423] Forked 23359 -(23358) found -(23359) found -[14422] Forked 23360 -[14421] Forked 23361 -(23360) found -(23361) found -[14420] Forked 23362 -[14419] Forked 23363 -(23362) found -(23363) found -[14418] Forked 23364 -[14417] Forked 23365 -(23364) found -(23365) found -[14416] Forked 23366 -(23366) found -[14415] Forked 23367 -(23367) found -[14414] Forked 23368 -[14413] Forked 23369 -(23368) found -(23369) found -[14412] Forked 23370 -[14411] Forked 23371 -(23370) found -(23371) found -[14410] Forked 23372 -[14409] Forked 23373 -(23372) found -(23373) found -[14408] Forked 23374 -[14407] Forked 23375 -(23374) found -(23375) found -[14406] Forked 23376 -[14405] Forked 23377 -(23376) found -(23377) found -[14404] Forked 23378 -[14403] Forked 23379 -(23378) found -(23379) found -[14402] Forked 23380 -[14401] Forked 23381 -(23380) found -(23381) found -[14400] Forked 23382 -[14399] Forked 23383 -(23382) found -(23383) found -[14398] Forked 23384 -[14397] Forked 23385 -(23384) found -(23385) found -[14396] Forked 23386 -[14395] Forked 23387 -(23386) found -(23387) found -[14394] Forked 23388 -[14393] Forked 23389 -(23388) found -(23389) found -[14392] Forked 23390 -[14391] Forked 23391 -(23390) found -(23391) found -[14390] Forked 23392 -[14389] Forked 23393 -(23392) found -(23393) found -[14388] Forked 23394 -[14387] Forked 23395 -(23394) found -(23395) found -[14386] Forked 23396 -[14385] Forked 23397 -(23396) found -(23397) found -[14384] Forked 23398 -[14383] Forked 23399 -(23398) found -(23399) found -[14382] Forked 23400 -[14381] Forked 23401 -(23400) found -(23401) found -[14380] Forked 23402 -[14379] Forked 23403 -(23402) found -(23403) found -[14378] Forked 23404 -[14377] Forked 23405 -(23404) found -(23405) found -[14376] Forked 23406 -[14375] Forked 23407 -(23406) found -(23407) found -[14374] Forked 23408 -[14373] Forked 23409 -(23408) found -(23409) found -[14372] Forked 23410 -[14371] Forked 23411 -(23410) found -(23411) found -[14370] Forked 23412 -[14369] Forked 23413 -(23412) found -(23413) found -[14368] Forked 23414 -[14367] Forked 23415 -(23414) found -(23415) found -[14366] Forked 23416 -[14365] Forked 23417 -(23416) found -(23417) found -[14364] Forked 23418 -[14363] Forked 23419 -(23419) found -(23418) found -[14362] Forked 23420 -(23420) found -[14361] Forked 23421 -(23421) found -[14360] Forked 23422 -(23422) found -[14359] Forked 23423 -(23423) found -[14358] Forked 23424 -(23424) found -[14357] Forked 23425 -(23425) found -[14356] Forked 23426 -(23426) found -[14355] Forked 23427 -(23427) found -[14354] Forked 23428 -(23428) found -[14353] Forked 23429 -(23429) found -[14352] Forked 23430 -(23430) found -[14351] Forked 23431 -(23431) found -[14350] Forked 23432 -(23432) found -[14349] Forked 23433 -(23433) found -[14348] Forked 23434 -(23434) found -[14347] Forked 23435 -(23435) found -[14346] Forked 23436 -(23436) found -[14345] Forked 23437 -(23437) found -[14344] Forked 23438 -(23438) found -[14343] Forked 23439 -(23439) found -[14342] Forked 23440 -(23440) found -[14341] Forked 23441 -(23441) found -[14340] Forked 23442 -(23442) found -[14339] Forked 23443 -(23443) found -[14338] Forked 23444 -(23444) found -[14337] Forked 23445 -(23445) found -[14336] Forked 23446 -(23446) found -[14335] Forked 23447 -(23447) found -[14334] Forked 23448 -(23448) found -[14333] Forked 23449 -(23449) found -[14332] Forked 23450 -(23450) found -[14331] Forked 23451 -(23451) found -[14330] Forked 23452 -(23452) found -[14329] Forked 23453 -(23453) found -[14328] Forked 23454 -(23454) found -[14327] Forked 23455 -(23455) found -[14326] Forked 23456 -(23456) found -[14325] Forked 23457 -(23457) found -[14324] Forked 23458 -(23458) found -[14323] Forked 23459 -(23459) found -[14322] Forked 23460 -(23460) found -[14321] Forked 23461 -(23461) found -[14320] Forked 23462 -(23462) found -[14319] Forked 23463 -(23463) found -[14318] Forked 23464 -(23464) found -[14317] Forked 23465 -(23465) found -[14316] Forked 23466 -(23466) found -[14315] Forked 23467 -(23467) found -[14314] Forked 23468 -(23468) found -[14313] Forked 23469 -[14312] Forked 23470 -(23469) found -(23470) found -[14311] Forked 23471 -[14310] Forked 23472 -(23471) found -(23472) found -[14309] Forked 23473 -[14308] Forked 23474 -(23473) found -(23474) found -[14307] Forked 23475 -[14306] Forked 23476 -(23475) found -(23476) found -[14305] Forked 23477 -[14304] Forked 23478 -(23477) found -(23478) found -[14303] Forked 23479 -[14302] Forked 23480 -(23479) found -(23480) found -[14301] Forked 23481 -[14300] Forked 23482 -(23481) found -(23482) found -[14299] Forked 23483 -[14298] Forked 23484 -(23483) found -(23484) found -[14297] Forked 23485 -[14296] Forked 23486 -(23485) found -(23486) found -[14295] Forked 23487 -[14294] Forked 23488 -(23487) found -(23488) found -[14293] Forked 23489 -[14292] Forked 23490 -(23489) found -(23490) found -[14291] Forked 23491 -[14290] Forked 23492 -(23491) found -(23492) found -[14289] Forked 23493 -[14288] Forked 23494 -(23493) found -(23494) found -[14287] Forked 23495 -[14286] Forked 23496 -(23495) found -(23496) found -[14285] Forked 23497 -[14284] Forked 23498 -(23497) found -(23498) found -[14283] Forked 23499 -[14282] Forked 23500 -(23499) found -(23500) found -[14281] Forked 23501 -[14280] Forked 23502 -(23501) found -(23502) found -[14279] Forked 23503 -[14278] Forked 23504 -(23503) found -(23504) found -[14277] Forked 23505 -[14276] Forked 23506 -(23505) found -(23506) found -[14275] Forked 23507 -[14274] Forked 23508 -(23507) found -(23508) found -[14273] Forked 23509 -[14272] Forked 23510 -(23509) found -(23510) found -[14271] Forked 23511 -[14270] Forked 23512 -(23511) found -(23512) found -[14269] Forked 23513 -[14268] Forked 23514 -(23513) found -(23514) found -[14267] Forked 23515 -[14266] Forked 23516 -(23516) found -(23515) found -[14265] Forked 23517 -(23517) found -[14264] Forked 23518 -(23518) found -[14263] Forked 23519 -(23519) found -[14262] Forked 23520 -(23520) found -[14261] Forked 23521 -(23521) found -[14260] Forked 23522 -(23522) found -[14259] Forked 23523 -(23523) found -[14258] Forked 23524 -(23524) found -[14257] Forked 23525 -(23525) found -[14256] Forked 23526 -(23526) found -[14255] Forked 23527 -(23527) found -[14254] Forked 23528 -(23528) found -[14253] Forked 23529 -(23529) found -[14252] Forked 23530 -(23530) found -[14251] Forked 23531 -(23531) found -[14250] Forked 23532 -(23532) found -[14249] Forked 23533 -(23533) found -[14248] Forked 23534 -(23534) found -[14247] Forked 23535 -(23535) found -[14246] Forked 23536 -(23536) found -[14245] Forked 23537 -(23537) found -[14244] Forked 23538 -(23538) found -[14243] Forked 23539 -(23539) found -[14242] Forked 23540 -(23540) found -[14241] Forked 23541 -(23541) found -[14240] Forked 23542 -(23542) found -[14239] Forked 23543 -(23543) found -[14238] Forked 23544 -(23544) found -[14237] Forked 23545 -(23545) found -[14236] Forked 23546 -(23546) found -[14235] Forked 23547 -(23547) found -[14234] Forked 23548 -(23548) found -[14233] Forked 23549 -(23549) found -[14232] Forked 23550 -(23550) found -[14231] Forked 23551 -(23551) found -[14230] Forked 23552 -(23552) found -[14229] Forked 23553 -(23553) found -[14228] Forked 23554 -(23554) found -[14227] Forked 23555 -(23555) found -[14226] Forked 23556 -(23556) found -[14225] Forked 23557 -(23557) found -[14224] Forked 23558 -(23558) found -[14223] Forked 23559 -(23559) found -[14222] Forked 23560 -(23560) found -[14221] Forked 23561 -(23561) found -[14220] Forked 23562 -(23562) found -[14219] Forked 23563 -(23563) found -[14218] Forked 23564 -(23564) found -[14217] Forked 23565 -(23565) found -[14216] Forked 23566 -(23566) found -[14215] Forked 23567 -(23567) found -[14214] Forked 23568 -(23568) found -[14213] Forked 23569 -(23569) found -[14212] Forked 23570 -(23570) found -[14211] Forked 23571 -(23571) found -[14210] Forked 23572 -(23572) found -[14209] Forked 23573 -(23573) found -[14208] Forked 23574 -(23574) found -[14207] Forked 23575 -(23575) found -[14206] Forked 23576 -(23576) found -[14205] Forked 23577 -(23577) found -[14204] Forked 23578 -(23578) found -[14203] Forked 23579 -(23579) found -[14202] Forked 23580 -(23580) found -[14201] Forked 23581 -(23581) found -[14200] Forked 23582 -(23582) found -[14199] Forked 23583 -(23583) found -[14198] Forked 23584 -(23584) found -[14197] Forked 23585 -[14196] Forked 23586 -(23585) found -(23586) found -[14195] Forked 23587 -[14194] Forked 23588 -(23587) found -(23588) found -[14193] Forked 23589 -[14192] Forked 23590 -(23589) found -(23590) found -[14191] Forked 23591 -[14190] Forked 23592 -(23591) found -(23592) found -[14189] Forked 23593 -[14188] Forked 23594 -(23593) found -(23594) found -[14187] Forked 23595 -[14186] Forked 23596 -(23595) found -(23596) found -[14185] Forked 23597 -[14184] Forked 23598 -(23597) found -(23598) found -[14183] Forked 23599 -[14182] Forked 23600 -(23599) found -(23600) found -[14181] Forked 23601 -[14180] Forked 23602 -(23601) found -(23602) found -[14179] Forked 23603 -[14178] Forked 23604 -(23603) found -(23604) found -[14177] Forked 23605 -[14176] Forked 23606 -(23605) found -(23606) found -[14175] Forked 23607 -[14174] Forked 23608 -(23607) found -(23608) found -[14173] Forked 23609 -[14172] Forked 23610 -(23609) found -(23610) found -[14171] Forked 23611 -[14170] Forked 23612 -(23611) found -(23612) found -[14169] Forked 23613 -[14168] Forked 23614 -(23613) found -(23614) found -[14167] Forked 23615 -[14166] Forked 23616 -(23615) found -(23616) found -[14165] Forked 23617 -[14164] Forked 23618 -(23617) found -(23618) found -[14163] Forked 23619 -[14162] Forked 23620 -(23619) found -(23620) found -[14161] Forked 23621 -[14160] Forked 23622 -(23621) found -(23622) found -[14159] Forked 23623 -[14158] Forked 23624 -(23623) found -(23624) found -[14157] Forked 23625 -[14156] Forked 23626 -(23625) found -(23626) found -[14155] Forked 23627 -[14154] Forked 23628 -(23627) found -(23628) found -[14153] Forked 23629 -[14152] Forked 23630 -(23629) found -(23630) found -[14151] Forked 23631 -[14150] Forked 23632 -(23631) found -(23632) found -[14149] Forked 23633 -[14148] Forked 23634 -(23633) found -(23634) found -[14147] Forked 23635 -[14146] Forked 23636 -(23635) found -(23636) found -[14145] Forked 23637 -[14144] Forked 23638 -(23637) found -(23638) found -[14143] Forked 23639 -[14142] Forked 23640 -(23639) found -(23640) found -[14141] Forked 23641 -[14140] Forked 23642 -(23641) found -(23642) found -[14139] Forked 23643 -[14138] Forked 23644 -(23643) found -(23644) found -[14137] Forked 23645 -[14136] Forked 23646 -(23645) found -(23646) found -[14135] Forked 23647 -[14134] Forked 23648 -(23647) found -(23648) found -[14133] Forked 23649 -[14132] Forked 23650 -(23649) found -(23650) found -[14131] Forked 23651 -[14130] Forked 23652 -(23651) found -(23652) found -[14129] Forked 23653 -[14128] Forked 23654 -(23653) found -(23654) found -[14127] Forked 23655 -[14126] Forked 23656 -(23655) found -(23656) found -[14125] Forked 23657 -[14124] Forked 23658 -(23657) found -(23658) found -[14123] Forked 23659 -[14122] Forked 23660 -(23659) found -(23660) found -[14121] Forked 23661 -[14120] Forked 23662 -(23661) found -(23662) found -[14119] Forked 23663 -[14118] Forked 23664 -(23663) found -(23664) found -[14117] Forked 23665 -[14116] Forked 23666 -(23665) found -(23666) found -[14115] Forked 23667 -[14114] Forked 23668 -(23667) found -(23668) found -[14113] Forked 23669 -[14112] Forked 23670 -(23669) found -(23670) found -[14111] Forked 23671 -[14110] Forked 23672 -(23671) found -(23672) found -[14109] Forked 23673 -[14108] Forked 23674 -(23673) found -(23674) found -[14107] Forked 23675 -[14106] Forked 23676 -(23675) found -(23676) found -[14105] Forked 23677 -[14104] Forked 23678 -(23677) found -(23678) found -[14103] Forked 23679 -[14102] Forked 23680 -(23679) found -(23680) found -[14101] Forked 23681 -[14100] Forked 23682 -(23681) found -(23682) found -[14099] Forked 23683 -[14098] Forked 23684 -(23683) found -(23684) found -[14097] Forked 23685 -[14096] Forked 23686 -(23685) found -(23686) found -[14095] Forked 23687 -[14094] Forked 23688 -(23687) found -(23688) found -[14093] Forked 23689 -[14092] Forked 23690 -(23689) found -(23690) found -[14091] Forked 23691 -[14090] Forked 23692 -(23691) found -(23692) found -[14089] Forked 23693 -[14088] Forked 23694 -(23693) found -(23694) found -[14087] Forked 23695 -[14086] Forked 23696 -(23695) found -(23696) found -[14085] Forked 23697 -[14084] Forked 23698 -(23697) found -(23698) found -[14083] Forked 23699 -[14082] Forked 23700 -(23699) found -(23700) found -[14081] Forked 23701 -[14080] Forked 23702 -(23701) found -(23702) found -[14079] Forked 23703 -[14078] Forked 23704 -(23703) found -(23704) found -[14077] Forked 23705 -[14076] Forked 23706 -(23705) found -(23706) found -[14075] Forked 23707 -[14074] Forked 23708 -(23707) found -(23708) found -[14073] Forked 23709 -[14072] Forked 23710 -(23709) found -(23710) found -[14071] Forked 23711 -[14070] Forked 23712 -(23711) found -(23712) found -[14069] Forked 23713 -[14068] Forked 23714 -(23713) found -(23714) found -[14067] Forked 23715 -[14066] Forked 23716 -(23715) found -(23716) found -[14065] Forked 23717 -[14064] Forked 23718 -(23717) found -(23718) found -[14063] Forked 23719 -(23719) found -[14062] Forked 23720 -(23720) found -[14061] Forked 23721 -(23721) found -[14060] Forked 23722 -(23722) found -[14059] Forked 23723 -(23723) found -[14058] Forked 23724 -(23724) found -[14057] Forked 23725 -(23725) found -[14056] Forked 23726 -(23726) found -[14055] Forked 23727 -(23727) found -[14054] Forked 23728 -(23728) found -[14053] Forked 23729 -(23729) found -[14052] Forked 23730 -(23730) found -[14051] Forked 23731 -(23731) found -[14050] Forked 23732 -(23732) found -[14049] Forked 23733 -(23733) found -[14048] Forked 23734 -(23734) found -[14047] Forked 23735 -(23735) found -[14046] Forked 23736 -(23736) found -[14045] Forked 23737 -(23737) found -[14044] Forked 23738 -(23738) found -[14043] Forked 23739 -(23739) found -[14042] Forked 23740 -(23740) found -[14041] Forked 23741 -(23741) found -[14040] Forked 23742 -(23742) found -[14039] Forked 23743 -(23743) found -[14038] Forked 23744 -(23744) found -[14037] Forked 23745 -(23745) found -[14036] Forked 23746 -(23746) found -[14035] Forked 23747 -(23747) found -[14034] Forked 23748 -(23748) found -[14033] Forked 23749 -(23749) found -[14032] Forked 23750 -(23750) found -[14031] Forked 23751 -(23751) found -[14030] Forked 23752 -(23752) found -[14029] Forked 23753 -(23753) found -[14028] Forked 23754 -(23754) found -[14027] Forked 23755 -(23755) found -[14026] Forked 23756 -(23756) found -[14025] Forked 23757 -[14024] Forked 23758 -(23757) found -(23758) found -[14023] Forked 23759 -[14022] Forked 23760 -(23759) found -(23760) found -[14021] Forked 23761 -[14020] Forked 23762 -(23761) found -(23762) found -[14019] Forked 23763 -[14018] Forked 23764 -(23763) found -(23764) found -[14017] Forked 23765 -[14016] Forked 23766 -(23765) found -(23766) found -[14015] Forked 23767 -[14014] Forked 23768 -(23767) found -(23768) found -[14013] Forked 23769 -[14012] Forked 23770 -(23769) found -(23770) found -[14011] Forked 23771 -[14010] Forked 23772 -(23771) found -(23772) found -[14009] Forked 23773 -[14008] Forked 23774 -(23773) found -(23774) found -[14007] Forked 23775 -[14006] Forked 23776 -(23775) found -(23776) found -[14005] Forked 23777 -[14004] Forked 23778 -(23777) found -(23778) found -[14003] Forked 23779 -[14002] Forked 23780 -(23779) found -(23780) found -[14001] Forked 23781 -[14000] Forked 23782 -(23781) found -(23782) found -[13999] Forked 23783 -[13998] Forked 23784 -(23783) found -(23784) found -[13997] Forked 23785 -[13996] Forked 23786 -(23785) found -(23786) found -[13995] Forked 23787 -[13994] Forked 23788 -(23787) found -(23788) found -[13993] Forked 23789 -[13992] Forked 23790 -(23789) found -(23790) found -[13991] Forked 23791 -[13990] Forked 23792 -(23791) found -(23792) found -[13989] Forked 23793 -[13988] Forked 23794 -(23793) found -(23794) found -[13987] Forked 23795 -[13986] Forked 23796 -(23795) found -(23796) found -[13985] Forked 23797 -[13984] Forked 23798 -(23797) found -(23798) found -[13983] Forked 23799 -[13982] Forked 23800 -(23799) found -(23800) found -[13981] Forked 23801 -[13980] Forked 23802 -(23801) found -(23802) found -[13979] Forked 23803 -[13978] Forked 23804 -(23803) found -(23804) found -[13977] Forked 23805 -[13976] Forked 23806 -(23805) found -(23806) found -[13975] Forked 23807 -[13974] Forked 23808 -(23807) found -(23808) found -[13973] Forked 23809 -[13972] Forked 23810 -(23809) found -(23810) found -[13971] Forked 23811 -[13970] Forked 23812 -(23811) found -(23812) found -[13969] Forked 23813 -[13968] Forked 23814 -(23813) found -(23814) found -[13967] Forked 23815 -[13966] Forked 23816 -(23815) found -(23816) found -[13965] Forked 23817 -[13964] Forked 23818 -(23817) found -(23818) found -[13963] Forked 23819 -[13962] Forked 23820 -(23819) found -(23820) found -[13961] Forked 23821 -[13960] Forked 23822 -(23821) found -(23822) found -[13959] Forked 23823 -[13958] Forked 23824 -(23823) found -(23824) found -[13957] Forked 23825 -[13956] Forked 23826 -(23825) found -(23826) found -[13955] Forked 23827 -[13954] Forked 23828 -(23827) found -(23828) found -[13953] Forked 23829 -[13952] Forked 23830 -(23829) found -(23830) found -[13951] Forked 23831 -[13950] Forked 23832 -(23831) found -(23832) found -[13949] Forked 23833 -[13948] Forked 23834 -(23833) found -(23834) found -[13947] Forked 23835 -[13946] Forked 23836 -(23835) found -(23836) found -[13945] Forked 23837 -[13944] Forked 23838 -(23837) found -(23838) found -[13943] Forked 23839 -[13942] Forked 23840 -(23839) found -(23840) found -[13941] Forked 23841 -[13940] Forked 23842 -(23841) found -(23842) found -[13939] Forked 23843 -[13938] Forked 23844 -(23843) found -(23844) found -[13937] Forked 23845 -[13936] Forked 23847 -(23845) found -(23847) found -[13935] Forked 23848 -(23848) found -[13934] Forked 23849 -(23849) found -[13933] Forked 23850 -(23850) found -[13932] Forked 23851 -(23851) found -[13931] Forked 23852 -(23852) found -[13930] Forked 23853 -(23853) found -[13929] Forked 23854 -(23854) found -[13928] Forked 23855 -(23855) found -[13927] Forked 23856 -(23856) found -[13926] Forked 23857 -(23857) found -[13925] Forked 23858 -(23858) found -[13924] Forked 23859 -(23859) found -[13923] Forked 23860 -(23860) found -[13922] Forked 23861 -(23861) found -[13921] Forked 23862 -(23862) found -[13920] Forked 23863 -(23863) found -[13919] Forked 23864 -(23864) found -[13918] Forked 23865 -(23865) found -[13917] Forked 23866 -(23866) found -[13916] Forked 23867 -(23867) found -[13915] Forked 23868 -(23868) found -[13914] Forked 23869 -(23869) found -[13913] Forked 23870 -(23870) found -[13912] Forked 23871 -(23871) found -[13911] Forked 23872 -(23872) found -[13910] Forked 23873 -(23873) found -[13909] Forked 23874 -(23874) found -[13908] Forked 23875 -(23875) found -[13907] Forked 23876 -(23876) found -[13906] Forked 23877 -(23877) found -[13905] Forked 23878 -(23878) found -[13904] Forked 23879 -(23879) found -[13903] Forked 23880 -(23880) found -[13902] Forked 23881 -(23881) found -[13901] Forked 23882 -(23882) found -[13900] Forked 23883 -(23883) found -[13899] Forked 23884 -(23884) found -[13898] Forked 23885 -(23885) found -[13897] Forked 23886 -(23886) found -[13896] Forked 23887 -(23887) found -[13895] Forked 23888 -(23888) found -[13894] Forked 23889 -(23889) found -[13893] Forked 23890 -(23890) found -[13892] Forked 23891 -(23891) found -[13891] Forked 23892 -(23892) found -[13890] Forked 23893 -(23893) found -[13889] Forked 23894 -(23894) found -[13888] Forked 23895 -(23895) found -[13887] Forked 23896 -(23896) found -[13886] Forked 23897 -(23897) found -[13885] Forked 23898 -(23898) found -[13884] Forked 23899 -(23899) found -[13883] Forked 23900 -(23900) found -[13882] Forked 23901 -(23901) found -[13881] Forked 23902 -(23902) found -[13880] Forked 23903 -(23903) found -[13879] Forked 23904 -(23904) found -[13878] Forked 23905 -(23905) found -[13877] Forked 23906 -(23906) found -[13876] Forked 23907 -(23907) found -[13875] Forked 23908 -(23908) found -[13874] Forked 23909 -(23909) found -[13873] Forked 23910 -(23910) found -[13872] Forked 23911 -(23911) found -[13871] Forked 23912 -(23912) found -[13870] Forked 23913 -(23913) found -[13869] Forked 23914 -(23914) found -[13868] Forked 23915 -(23915) found -[13867] Forked 23916 -(23916) found -[13866] Forked 23917 -(23917) found -[13865] Forked 23918 -[13864] Forked 23919 -(23918) found -(23919) found -[13863] Forked 23920 -[13862] Forked 23921 -(23920) found -(23921) found -[13861] Forked 23922 -[13860] Forked 23923 -(23922) found -(23923) found -[13859] Forked 23924 -(23924) found -[13858] Forked 23925 -[13857] Forked 23926 -(23926) found -(23925) found -[13856] Forked 23927 -(23927) found -[13855] Forked 23928 -(23928) found -[13854] Forked 23929 -(23929) found -[13853] Forked 23930 -(23930) found -[13852] Forked 23931 -(23931) found -[13851] Forked 23932 -(23932) found -[13850] Forked 23933 -(23933) found -[13849] Forked 23934 -(23934) found -[13848] Forked 23935 -(23935) found -[13847] Forked 23936 -(23936) found -[13846] Forked 23937 -(23937) found -[13845] Forked 23938 -(23938) found -[13844] Forked 23939 -(23939) found -[13843] Forked 23940 -(23940) found -[13842] Forked 23941 -(23941) found -[13841] Forked 23942 -(23942) found -[13840] Forked 23943 -[13839] Forked 23944 -(23943) found -(23944) found -[13838] Forked 23945 -[13837] Forked 23946 -(23946) found -(23945) found -[13836] Forked 23947 -(23947) found -[13835] Forked 23948 -(23948) found -[13834] Forked 23949 -(23949) found -[13833] Forked 23950 -(23950) found -[13832] Forked 23951 -(23951) found -[13831] Forked 23952 -(23952) found -[13830] Forked 23953 -(23953) found -[13829] Forked 23954 -(23954) found -[13828] Forked 23955 -(23955) found -[13827] Forked 23956 -(23956) found -[13826] Forked 23957 -(23957) found -[13825] Forked 23958 -(23958) found -[13824] Forked 23959 -(23959) found -[13823] Forked 23960 -(23960) found -[13822] Forked 23961 -(23961) found -[13821] Forked 23962 -(23962) found -[13820] Forked 23963 -(23963) found -[13819] Forked 23964 -(23964) found -[13818] Forked 23965 -(23965) found -[13817] Forked 23966 -(23966) found -[13816] Forked 23967 -(23967) found -[13815] Forked 23968 -(23968) found -[13814] Forked 23969 -(23969) found -[13813] Forked 23970 -(23970) found -[13812] Forked 23971 -(23971) found -[13811] Forked 23972 -(23972) found -[13810] Forked 23973 -(23973) found -[13809] Forked 23974 -(23974) found -[13808] Forked 23975 -(23975) found -[13807] Forked 23976 -(23976) found -[13806] Forked 23977 -(23977) found -[13805] Forked 23978 -(23978) found -[13804] Forked 23979 -(23979) found -[13803] Forked 23980 -(23980) found -[13802] Forked 23981 -(23981) found -[13801] Forked 23982 -(23982) found -[13800] Forked 23983 -(23983) found -[13799] Forked 23984 -(23984) found -[13798] Forked 23985 -[13797] Forked 23986 -(23985) found -(23986) found -[13796] Forked 23987 -[13795] Forked 23988 -(23987) found -(23988) found -[13794] Forked 23989 -[13793] Forked 23990 -(23989) found -(23990) found -[13792] Forked 23991 -[13791] Forked 23992 -(23991) found -(23992) found -[13790] Forked 23993 -[13789] Forked 23994 -(23993) found -(23994) found -[13788] Forked 23995 -[13787] Forked 23996 -(23995) found -(23996) found -[13786] Forked 23997 -[13785] Forked 23998 -(23997) found -(23998) found -[13784] Forked 23999 -[13783] Forked 24000 -(23999) found -(24000) found -[13782] Forked 24001 -[13781] Forked 24002 -(24001) found -(24002) found -[13780] Forked 24003 -[13779] Forked 24004 -(24004) found -(24003) found -[13778] Forked 24005 -(24005) found -[13777] Forked 24006 -(24006) found -[13776] Forked 24007 -(24007) found -[13775] Forked 24008 -(24008) found -[13774] Forked 24009 -(24009) found -[13773] Forked 24010 -(24010) found -[13772] Forked 24011 -(24011) found -[13771] Forked 24012 -(24012) found -[13770] Forked 24013 -(24013) found -[13769] Forked 24014 -(24014) found -[13768] Forked 24015 -(24015) found -[13767] Forked 24016 -(24016) found -[13766] Forked 24017 -(24017) found -[13765] Forked 24018 -(24018) found -[13764] Forked 24019 -[13763] Forked 24020 -(24019) found -(24020) found -[13762] Forked 24021 -[13761] Forked 24022 -(24021) found -(24022) found -[13760] Forked 24023 -[13759] Forked 24024 -(24023) found -(24024) found -[13758] Forked 24025 -[13757] Forked 24026 -(24025) found -(24026) found -[13756] Forked 24027 -[13755] Forked 24028 -(24027) found -(24028) found -[13754] Forked 24029 -[13753] Forked 24030 -(24029) found -(24030) found -[13752] Forked 24031 -[13751] Forked 24032 -(24031) found -(24032) found -[13750] Forked 24033 -[13749] Forked 24034 -(24033) found -(24034) found -[13748] Forked 24035 -[13747] Forked 24036 -(24035) found -(24036) found -[13746] Forked 24037 -[13745] Forked 24038 -(24037) found -(24038) found -[13744] Forked 24039 -[13743] Forked 24040 -(24039) found -(24040) found -[13742] Forked 24041 -[13741] Forked 24042 -(24041) found -(24042) found -[13740] Forked 24043 -[13739] Forked 24044 -(24043) found -(24044) found -[13738] Forked 24045 -(24045) found -[13737] Forked 24046 -[13736] Forked 24048 -(24046) found -(24048) found -[13735] Forked 24049 -(24049) found -[13734] Forked 24050 -(24050) found -[13733] Forked 24051 -(24051) found -[13732] Forked 24052 -(24052) found -[13731] Forked 24053 -(24053) found -[13730] Forked 24054 -(24054) found -[13729] Forked 24055 -(24055) found -[13728] Forked 24056 -(24056) found -[13727] Forked 24057 -(24057) found -[13726] Forked 24058 -(24058) found -[13725] Forked 24059 -(24059) found -[13724] Forked 24060 -(24060) found -[13723] Forked 24061 -(24061) found -[13722] Forked 24062 -(24062) found -[13721] Forked 24063 -(24063) found -[13720] Forked 24064 -(24064) found -[13719] Forked 24065 -(24065) found -[13718] Forked 24066 -(24066) found -[13717] Forked 24067 -(24067) found -[13716] Forked 24068 -(24068) found -[13715] Forked 24069 -(24069) found -[13714] Forked 24070 -(24070) found -[13713] Forked 24071 -(24071) found -[13712] Forked 24072 -(24072) found -[13711] Forked 24073 -(24073) found -[13710] Forked 24074 -(24074) found -[13709] Forked 24075 -(24075) found -[13708] Forked 24076 -(24076) found -[13707] Forked 24077 -(24077) found -[13706] Forked 24078 -(24078) found -[13705] Forked 24079 -(24079) found -[13704] Forked 24080 -(24080) found -[13703] Forked 24081 -(24081) found -[13702] Forked 24082 -(24082) found -[13701] Forked 24083 -(24083) found -[13700] Forked 24084 -(24084) found -[13699] Forked 24085 -(24085) found -[13698] Forked 24086 -(24086) found -[13697] Forked 24087 -(24087) found -[13696] Forked 24088 -(24088) found -[13695] Forked 24089 -(24089) found -[13694] Forked 24090 -(24090) found -[13693] Forked 24091 -(24091) found -[13692] Forked 24092 -(24092) found -[13691] Forked 24093 -(24093) found -[13690] Forked 24094 -(24094) found -[13689] Forked 24095 -(24095) found -[13688] Forked 24096 -(24096) found -[13687] Forked 24097 -(24097) found -[13686] Forked 24098 -(24098) found -[13685] Forked 24099 -(24099) found -[13684] Forked 24100 -(24100) found -[13683] Forked 24101 -(24101) found -[13682] Forked 24102 -(24102) found -[13681] Forked 24103 -(24103) found -[13680] Forked 24104 -(24104) found -[13679] Forked 24105 -(24105) found -[13678] Forked 24106 -(24106) found -[13677] Forked 24107 -(24107) found -[13676] Forked 24108 -(24108) found -[13675] Forked 24109 -(24109) found -[13674] Forked 24110 -(24110) found -[13673] Forked 24111 -(24111) found -[13672] Forked 24112 -(24112) found -[13671] Forked 24113 -(24113) found -[13670] Forked 24114 -(24114) found -[13669] Forked 24115 -(24115) found -[13668] Forked 24116 -(24116) found -[13667] Forked 24117 -(24117) found -[13666] Forked 24118 -(24118) found -[13665] Forked 24119 -(24119) found -[13664] Forked 24120 -(24120) found -[13663] Forked 24121 -(24121) found -[13662] Forked 24122 -(24122) found -[13661] Forked 24123 -(24123) found -[13660] Forked 24124 -(24124) found -[13659] Forked 24125 -(24125) found -[13658] Forked 24126 -[13657] Forked 24127 -(24126) found -(24127) found -[13656] Forked 24128 -[13655] Forked 24129 -(24128) found -(24129) found -[13654] Forked 24130 -[13653] Forked 24131 -(24130) found -(24131) found -[13652] Forked 24132 -[13651] Forked 24133 -(24132) found -(24133) found -[13650] Forked 24134 -[13649] Forked 24135 -(24135) found -(24134) found -[13648] Forked 24136 -(24136) found -[13647] Forked 24137 -(24137) found -[13646] Forked 24139 -(24139) found -[13645] Forked 24140 -(24140) found -[13644] Forked 24141 -(24141) found -[13643] Forked 24142 -(24142) found -[13642] Forked 24143 -(24143) found -[13641] Forked 24144 -(24144) found -[13640] Forked 24145 -(24145) found -[13639] Forked 24146 -(24146) found -[13638] Forked 24147 -(24147) found -[13637] Forked 24148 -(24148) found -[13636] Forked 24149 -(24149) found -[13635] Forked 24150 -(24150) found -[13634] Forked 24151 -(24151) found -[13633] Forked 24152 -(24152) found -[13632] Forked 24153 -(24153) found -[13631] Forked 24154 -[13630] Forked 24155 -(24154) found -(24155) found -[13629] Forked 24156 -[13628] Forked 24157 -(24156) found -(24157) found -[13627] Forked 24158 -[13626] Forked 24159 -(24158) found -(24159) found -[13625] Forked 24160 -[13624] Forked 24161 -(24160) found -(24161) found -[13623] Forked 24162 -[13622] Forked 24163 -(24162) found -(24163) found -[13621] Forked 24164 -(24164) found -[13620] Forked 24165 -(24165) found -[13619] Forked 24166 -(24166) found -[13618] Forked 24167 -(24167) found -[13617] Forked 24168 -(24168) found -[13616] Forked 24169 -(24169) found -[13615] Forked 24170 -(24170) found -[13614] Forked 24171 -(24171) found -[13613] Forked 24172 -(24172) found -[13612] Forked 24173 -(24173) found -[13611] Forked 24174 -(24174) found -[13610] Forked 24175 -(24175) found -[13609] Forked 24176 -(24176) found -[13608] Forked 24177 -(24177) found -[13607] Forked 24178 -(24178) found -[13606] Forked 24179 -(24179) found -[13605] Forked 24180 -(24180) found -[13604] Forked 24181 -(24181) found -[13603] Forked 24182 -(24182) found -[13602] Forked 24183 -(24183) found -[13601] Forked 24184 -(24184) found -[13600] Forked 24185 -(24185) found -[13599] Forked 24186 -(24186) found -[13598] Forked 24187 -(24187) found -[13597] Forked 24188 -(24188) found -[13596] Forked 24189 -(24189) found -[13595] Forked 24190 -(24190) found -[13594] Forked 24191 -(24191) found -[13593] Forked 24192 -(24192) found -[13592] Forked 24193 -(24193) found -[13591] Forked 24194 -(24194) found -[13590] Forked 24195 -(24195) found -[13589] Forked 24196 -(24196) found -[13588] Forked 24197 -(24197) found -[13587] Forked 24198 -(24198) found -[13586] Forked 24199 -(24199) found -[13585] Forked 24200 -[13584] Forked 24201 -(24200) found -(24201) found -[13583] Forked 24202 -[13582] Forked 24203 -(24202) found -(24203) found -[13581] Forked 24204 -[13580] Forked 24205 -(24204) found -(24205) found -[13579] Forked 24206 -[13578] Forked 24207 -(24206) found -(24207) found -[13577] Forked 24208 -[13576] Forked 24209 -(24208) found -(24209) found -[13575] Forked 24210 -[13574] Forked 24211 -(24210) found -(24211) found -[13573] Forked 24212 -[13572] Forked 24213 -(24212) found -(24213) found -[13571] Forked 24214 -[13570] Forked 24215 -(24214) found -(24215) found -[13569] Forked 24216 -[13568] Forked 24217 -(24216) found -(24217) found -[13567] Forked 24218 -[13566] Forked 24219 -(24218) found -(24219) found -[13565] Forked 24220 -[13564] Forked 24221 -(24220) found -(24221) found -[13563] Forked 24222 -[13562] Forked 24224 -(24222) found -(24224) found -[13561] Forked 24225 -(24225) found -[13560] Forked 24226 -(24226) found -[13559] Forked 24227 -(24227) found -[13558] Forked 24228 -(24228) found -[13557] Forked 24229 -(24229) found -[13556] Forked 24230 -(24230) found -[13555] Forked 24231 -(24231) found -[13554] Forked 24232 -(24232) found -[13553] Forked 24233 -(24233) found -[13552] Forked 24234 -(24234) found -[13551] Forked 24235 -(24235) found -[13550] Forked 24236 -(24236) found -[13549] Forked 24237 -(24237) found -[13548] Forked 24238 -(24238) found -[13547] Forked 24239 -(24239) found -[13546] Forked 24240 -(24240) found -[13545] Forked 24241 -(24241) found -[13544] Forked 24242 -(24242) found -[13543] Forked 24243 -(24243) found -[13542] Forked 24244 -(24244) found -[13541] Forked 24245 -(24245) found -[13540] Forked 24246 -(24246) found -[13539] Forked 24247 -(24247) found -[13538] Forked 24248 -(24248) found -[13537] Forked 24249 -(24249) found -[13536] Forked 24250 -(24250) found -[13535] Forked 24251 -(24251) found -[13534] Forked 24252 -(24252) found -[13533] Forked 24253 -(24253) found -[13532] Forked 24254 -(24254) found -[13531] Forked 24255 -(24255) found -[13530] Forked 24256 -(24256) found -[13529] Forked 24257 -(24257) found -[13528] Forked 24258 -(24258) found -[13527] Forked 24259 -(24259) found -[13526] Forked 24260 -(24260) found -[13525] Forked 24261 -(24261) found -[13524] Forked 24262 -(24262) found -[13523] Forked 24263 -(24263) found -[13522] Forked 24264 -(24264) found -[13521] Forked 24265 -(24265) found -[13520] Forked 24266 -(24266) found -[13519] Forked 24267 -(24267) found -[13518] Forked 24268 -(24268) found -[13517] Forked 24269 -(24269) found -[13516] Forked 24270 -(24270) found -[13515] Forked 24271 -(24271) found -[13514] Forked 24272 -(24272) found -[13513] Forked 24273 -(24273) found -[13512] Forked 24274 -(24274) found -[13511] Forked 24275 -(24275) found -[13510] Forked 24276 -[13509] Forked 24277 -(24276) found -(24277) found -[13508] Forked 24278 -[13507] Forked 24279 -(24278) found -(24279) found -[13506] Forked 24280 -[13505] Forked 24281 -(24280) found -(24281) found -[13504] Forked 24282 -[13503] Forked 24283 -(24282) found -(24283) found -[13502] Forked 24284 -[13501] Forked 24285 -(24284) found -(24285) found -[13500] Forked 24286 -[13499] Forked 24287 -(24286) found -(24287) found -[13498] Forked 24288 -[13497] Forked 24289 -(24288) found -(24289) found -[13496] Forked 24290 -[13495] Forked 24291 -(24290) found -(24291) found -[13494] Forked 24292 -[13493] Forked 24293 -(24292) found -(24293) found -[13492] Forked 24294 -[13491] Forked 24295 -(24294) found -(24295) found -[13490] Forked 24296 -[13489] Forked 24297 -(24296) found -(24297) found -[13488] Forked 24298 -[13487] Forked 24299 -(24298) found -(24299) found -[13486] Forked 24300 -[13485] Forked 24301 -(24300) found -(24301) found -[13484] Forked 24302 -[13483] Forked 24303 -(24302) found -(24303) found -[13482] Forked 24304 -[13481] Forked 24305 -(24304) found -(24305) found -[13480] Forked 24306 -[13479] Forked 24307 -(24306) found -(24307) found -[13478] Forked 24308 -[13477] Forked 24309 -(24308) found -(24309) found -[13476] Forked 24310 -[13475] Forked 24311 -(24310) found -(24311) found -[13474] Forked 24312 -[13473] Forked 24313 -(24312) found -(24313) found -[13472] Forked 24314 -[13471] Forked 24315 -(24314) found -(24315) found -[13470] Forked 24316 -[13469] Forked 24317 -(24316) found -(24317) found -[13468] Forked 24319 -[13467] Forked 24320 -(24319) found -(24320) found -[13466] Forked 24321 -(24321) found -[13465] Forked 24322 -(24322) found -[13464] Forked 24323 -(24323) found -[13463] Forked 24324 -(24324) found -[13462] Forked 24325 -(24325) found -[13461] Forked 24326 -(24326) found -[13460] Forked 24327 -(24327) found -[13459] Forked 24328 -(24328) found -[13458] Forked 24329 -(24329) found -[13457] Forked 24330 -(24330) found -[13456] Forked 24331 -(24331) found -[13455] Forked 24332 -(24332) found -[13454] Forked 24333 -(24333) found -[13453] Forked 24334 -(24334) found -[13452] Forked 24335 -(24335) found -[13451] Forked 24336 -(24336) found -[13450] Forked 24337 -(24337) found -[13449] Forked 24338 -(24338) found -[13448] Forked 24339 -(24339) found -[13447] Forked 24340 -(24340) found -[13446] Forked 24341 -(24341) found -[13445] Forked 24342 -(24342) found -[13444] Forked 24343 -(24343) found -[13443] Forked 24344 -(24344) found -[13442] Forked 24345 -(24345) found -[13441] Forked 24346 -(24346) found -[13440] Forked 24347 -(24347) found -[13439] Forked 24348 -(24348) found -[13438] Forked 24349 -(24349) found -[13437] Forked 24350 -(24350) found -[13436] Forked 24351 -(24351) found -[13435] Forked 24352 -(24352) found -[13434] Forked 24353 -(24353) found -[13433] Forked 24354 -(24354) found -[13432] Forked 24355 -(24355) found -[13431] Forked 24356 -(24356) found -[13430] Forked 24357 -[13429] Forked 24358 -(24357) found -(24358) found -[13428] Forked 24359 -[13427] Forked 24360 -(24359) found -(24360) found -[13426] Forked 24361 -[13425] Forked 24362 -(24361) found -(24362) found -[13424] Forked 24363 -[13423] Forked 24364 -(24363) found -(24364) found -[13422] Forked 24365 -[13421] Forked 24366 -(24365) found -(24366) found -[13420] Forked 24367 -[13419] Forked 24368 -(24367) found -(24368) found -[13418] Forked 24369 -[13417] Forked 24370 -(24369) found -(24370) found -[13416] Forked 24371 -[13415] Forked 24372 -(24371) found -(24372) found -[13414] Forked 24373 -[13413] Forked 24374 -(24373) found -(24374) found -[13412] Forked 24375 -[13411] Forked 24376 -(24375) found -(24376) found -[13410] Forked 24377 -[13409] Forked 24378 -(24377) found -(24378) found -[13408] Forked 24379 -(24379) found -[13407] Forked 24380 -[13406] Forked 24381 -(24380) found -(24381) found -[13405] Forked 24382 -[13404] Forked 24383 -(24382) found -(24383) found -[13403] Forked 24384 -[13402] Forked 24385 -(24384) found -(24385) found -[13401] Forked 24386 -[13400] Forked 24387 -(24386) found -(24387) found -[13399] Forked 24388 -[13398] Forked 24389 -(24388) found -(24389) found -[13397] Forked 24390 -[13396] Forked 24391 -(24390) found -(24391) found -[13395] Forked 24392 -[13394] Forked 24393 -(24392) found -(24393) found -[13393] Forked 24394 -[13392] Forked 24395 -(24394) found -(24395) found -[13391] Forked 24396 -[13390] Forked 24397 -(24396) found -(24397) found -[13389] Forked 24398 -[13388] Forked 24399 -(24398) found -(24399) found -[13387] Forked 24400 -[13386] Forked 24401 -(24400) found -(24401) found -[13385] Forked 24402 -(24402) found -[13384] Forked 24403 -(24403) found -[13383] Forked 24404 -(24404) found -[13382] Forked 24405 -(24405) found -[13381] Forked 24406 -(24406) found -[13380] Forked 24407 -(24407) found -[13379] Forked 24408 -(24408) found -[13378] Forked 24409 -(24409) found -[13377] Forked 24410 -(24410) found -[13376] Forked 24411 -(24411) found -[13375] Forked 24412 -(24412) found -[13374] Forked 24413 -(24413) found -[13373] Forked 24414 -(24414) found -[13372] Forked 24415 -(24415) found -[13371] Forked 24416 -(24416) found -[13370] Forked 24417 -(24417) found -[13369] Forked 24418 -(24418) found -[13368] Forked 24419 -(24419) found -[13367] Forked 24420 -(24420) found -[13366] Forked 24421 -(24421) found -[13365] Forked 24422 -(24422) found -[13364] Forked 24423 -(24423) found -[13363] Forked 24424 -(24424) found -[13362] Forked 24425 -(24425) found -[13361] Forked 24426 -(24426) found -[13360] Forked 24427 -(24427) found -[13359] Forked 24428 -(24428) found -[13358] Forked 24429 -(24429) found -[13357] Forked 24430 -(24430) found -[13356] Forked 24431 -(24431) found -[13355] Forked 24432 -(24432) found -[13354] Forked 24433 -(24433) found -[13353] Forked 24434 -(24434) found -[13352] Forked 24435 -(24435) found -[13351] Forked 24436 -(24436) found -[13350] Forked 24437 -(24437) found -[13349] Forked 24438 -(24438) found -[13348] Forked 24439 -(24439) found -[13347] Forked 24440 -(24440) found -[13346] Forked 24441 -(24441) found -[13345] Forked 24442 -[13344] Forked 24443 -(24442) found -(24443) found -[13343] Forked 24444 -[13342] Forked 24445 -(24444) found -(24445) found -[13341] Forked 24446 -[13340] Forked 24447 -(24446) found -(24447) found -[13339] Forked 24448 -[13338] Forked 24449 -(24448) found -(24449) found -[13337] Forked 24450 -[13336] Forked 24451 -(24450) found -(24451) found -[13335] Forked 24452 -[13334] Forked 24453 -(24452) found -(24453) found -[13333] Forked 24454 -[13332] Forked 24455 -(24454) found -(24455) found -[13331] Forked 24456 -[13330] Forked 24457 -(24456) found -(24457) found -[13329] Forked 24458 -[13328] Forked 24459 -(24458) found -(24459) found -[13327] Forked 24460 -[13326] Forked 24461 -(24460) found -(24461) found -[13325] Forked 24462 -[13324] Forked 24463 -(24462) found -(24463) found -[13323] Forked 24464 -[13322] Forked 24465 -(24464) found -(24465) found -[13321] Forked 24466 -[13320] Forked 24467 -(24466) found -(24467) found -[13319] Forked 24468 -[13318] Forked 24469 -(24468) found -(24469) found -[13317] Forked 24470 -[13316] Forked 24473 -(24470) found -(24473) found -[13315] Forked 24474 -[13314] Forked 24475 -(24474) found -(24475) found -[13313] Forked 24476 -[13312] Forked 24477 -(24476) found -(24477) found -[13311] Forked 24478 -[13310] Forked 24479 -(24478) found -(24479) found -[13309] Forked 24480 -[13308] Forked 24481 -(24480) found -(24481) found -[13307] Forked 24482 -[13306] Forked 24483 -(24482) found -(24483) found -[13305] Forked 24484 -[13304] Forked 24485 -(24484) found -(24485) found -[13303] Forked 24486 -(24486) found -[13302] Forked 24487 -(24487) found -[13301] Forked 24488 -(24488) found -[13300] Forked 24489 -(24489) found -[13299] Forked 24490 -(24490) found -[13298] Forked 24491 -(24491) found -[13297] Forked 24492 -(24492) found -[13296] Forked 24493 -(24493) found -[13295] Forked 24494 -(24494) found -[13294] Forked 24495 -(24495) found -[13293] Forked 24496 -(24496) found -[13292] Forked 24497 -(24497) found -[13291] Forked 24498 -(24498) found -[13290] Forked 24499 -(24499) found -[13289] Forked 24500 -(24500) found -[13288] Forked 24501 -(24501) found -[13287] Forked 24502 -(24502) found -[13286] Forked 24503 -(24503) found -[13285] Forked 24504 -(24504) found -[13284] Forked 24505 -(24505) found -[13283] Forked 24506 -(24506) found -[13282] Forked 24507 -(24507) found -[13281] Forked 24508 -(24508) found -[13280] Forked 24509 -(24509) found -[13279] Forked 24510 -(24510) found -[13278] Forked 24511 -(24511) found -[13277] Forked 24512 -(24512) found -[13276] Forked 24513 -(24513) found -[13275] Forked 24514 -(24514) found -[13274] Forked 24515 -(24515) found -[13273] Forked 24516 -(24516) found -[13272] Forked 24517 -(24517) found -[13271] Forked 24518 -(24518) found -[13270] Forked 24519 -(24519) found -[13269] Forked 24520 -(24520) found -[13268] Forked 24521 -(24521) found -[13267] Forked 24522 -(24522) found -[13266] Forked 24523 -(24523) found -[13265] Forked 24524 -(24524) found -[13264] Forked 24525 -[13263] Forked 24526 -(24525) found -(24526) found -[13262] Forked 24527 -[13261] Forked 24528 -(24527) found -(24528) found -[13260] Forked 24529 -[13259] Forked 24530 -(24529) found -(24530) found -[13258] Forked 24531 -[13257] Forked 24532 -(24531) found -(24532) found -[13256] Forked 24533 -[13255] Forked 24534 -(24533) found -(24534) found -[13254] Forked 24535 -[13253] Forked 24536 -(24535) found -(24536) found -[13252] Forked 24537 -[13251] Forked 24538 -(24537) found -(24538) found -[13250] Forked 24539 -[13249] Forked 24540 -(24539) found -(24540) found -[13248] Forked 24541 -[13247] Forked 24542 -(24541) found -(24542) found -[13246] Forked 24543 -[13245] Forked 24544 -(24543) found -(24544) found -[13244] Forked 24545 -[13243] Forked 24546 -(24545) found -(24546) found -[13242] Forked 24547 -[13241] Forked 24548 -(24547) found -(24548) found -[13240] Forked 24549 -[13239] Forked 24550 -(24549) found -(24550) found -[13238] Forked 24551 -[13237] Forked 24552 -(24551) found -(24552) found -[13236] Forked 24553 -[13235] Forked 24554 -(24553) found -(24554) found -[13234] Forked 24555 -[13233] Forked 24556 -(24555) found -(24556) found -[13232] Forked 24557 -[13231] Forked 24558 -(24558) found -(24557) found -[13230] Forked 24559 -(24559) found -[13229] Forked 24560 -(24560) found -[13228] Forked 24561 -(24561) found -[13227] Forked 24562 -(24562) found -[13226] Forked 24563 -[13225] Forked 24564 -(24563) found -(24564) found -[13224] Forked 24565 -[13223] Forked 24566 -(24565) found -(24566) found -[13222] Forked 24567 -(24567) found -[13221] Forked 24568 -(24568) found -[13220] Forked 24569 -(24569) found -[13219] Forked 24570 -(24570) found -[13218] Forked 24571 -(24571) found -[13217] Forked 24572 -(24572) found -[13216] Forked 24573 -(24573) found -[13215] Forked 24574 -(24574) found -[13214] Forked 24575 -(24575) found -[13213] Forked 24576 -(24576) found -[13212] Forked 24577 -(24577) found -[13211] Forked 24578 -(24578) found -[13210] Forked 24579 -(24579) found -[13209] Forked 24580 -(24580) found -[13208] Forked 24581 -(24581) found -[13207] Forked 24582 -(24582) found -[13206] Forked 24583 -(24583) found -[13205] Forked 24584 -(24584) found -[13204] Forked 24585 -(24585) found -[13203] Forked 24586 -(24586) found -[13202] Forked 24587 -(24587) found -[13201] Forked 24588 -(24588) found -[13200] Forked 24589 -(24589) found -[13199] Forked 24590 -(24590) found -[13198] Forked 24591 -(24591) found -[13197] Forked 24592 -(24592) found -[13196] Forked 24593 -(24593) found -[13195] Forked 24594 -(24594) found -[13194] Forked 24595 -(24595) found -[13193] Forked 24596 -(24596) found -[13192] Forked 24597 -(24597) found -[13191] Forked 24598 -(24598) found -[13190] Forked 24599 -(24599) found -[13189] Forked 24600 -(24600) found -[13188] Forked 24601 -(24601) found -[13187] Forked 24602 -(24602) found -[13186] Forked 24603 -(24603) found -[13185] Forked 24604 -(24604) found -[13184] Forked 24605 -(24605) found -[13183] Forked 24606 -[13182] Forked 24607 -(24606) found -(24607) found -[13181] Forked 24608 -[13180] Forked 24609 -(24608) found -(24609) found -[13179] Forked 24610 -[13178] Forked 24611 -(24610) found -(24611) found -[13177] Forked 24612 -[13176] Forked 24613 -(24612) found -(24613) found -[13175] Forked 24614 -[13174] Forked 24615 -(24614) found -(24615) found -[13173] Forked 24616 -[13172] Forked 24617 -(24616) found -(24617) found -[13171] Forked 24618 -[13170] Forked 24619 -(24618) found -(24619) found -[13169] Forked 24620 -[13168] Forked 24621 -(24620) found -(24621) found -[13167] Forked 24622 -[13166] Forked 24623 -(24622) found -(24623) found -[13165] Forked 24624 -[13164] Forked 24625 -(24624) found -(24625) found -[13163] Forked 24626 -[13162] Forked 24627 -(24626) found -(24627) found -[13161] Forked 24628 -[13160] Forked 24629 -(24628) found -(24629) found -[13159] Forked 24630 -[13158] Forked 24631 -(24630) found -(24631) found -[13157] Forked 24632 -[13156] Forked 24633 -(24632) found -(24633) found -[13155] Forked 24634 -[13154] Forked 24635 -(24634) found -(24635) found -[13153] Forked 24636 -[13152] Forked 24637 -(24636) found -(24637) found -[13151] Forked 24638 -[13150] Forked 24639 -(24638) found -(24639) found -[13149] Forked 24640 -[13148] Forked 24641 -(24640) found -(24641) found -[13147] Forked 24642 -[13146] Forked 24643 -(24642) found -(24643) found -[13145] Forked 24644 -[13144] Forked 24645 -(24644) found -(24645) found -[13143] Forked 24646 -[13142] Forked 24647 -(24646) found -(24647) found -[13141] Forked 24648 -[13140] Forked 24649 -(24648) found -(24649) found -[13139] Forked 24650 -(24650) found -[13138] Forked 24651 -(24651) found -[13137] Forked 24652 -(24652) found -[13136] Forked 24653 -(24653) found -[13135] Forked 24654 -(24654) found -[13134] Forked 24655 -(24655) found -[13133] Forked 24656 -(24656) found -[13132] Forked 24657 -(24657) found -[13131] Forked 24658 -(24658) found -[13130] Forked 24659 -(24659) found -[13129] Forked 24660 -(24660) found -[13128] Forked 24661 -(24661) found -[13127] Forked 24662 -(24662) found -[13126] Forked 24663 -(24663) found -[13125] Forked 24664 -(24664) found -[13124] Forked 24665 -(24665) found -[13123] Forked 24666 -(24666) found -[13122] Forked 24667 -(24667) found -[13121] Forked 24668 -(24668) found -[13120] Forked 24669 -(24669) found -[13119] Forked 24670 -(24670) found -[13118] Forked 24671 -(24671) found -[13117] Forked 24672 -(24672) found -[13116] Forked 24673 -(24673) found -[13115] Forked 24674 -(24674) found -[13114] Forked 24675 -(24675) found -[13113] Forked 24676 -(24676) found -[13112] Forked 24677 -(24677) found -[13111] Forked 24678 -(24678) found -[13110] Forked 24679 -(24679) found -[13109] Forked 24680 -(24680) found -[13108] Forked 24681 -(24681) found -[13107] Forked 24682 -(24682) found -[13106] Forked 24683 -(24683) found -[13105] Forked 24684 -(24684) found -[13104] Forked 24685 -(24685) found -[13103] Forked 24686 -(24686) found -[13102] Forked 24687 -(24687) found -[13101] Forked 24688 -[13100] Forked 24689 -(24688) found -(24689) found -[13099] Forked 24690 -[13098] Forked 24691 -(24690) found -(24691) found -[13097] Forked 24692 -[13096] Forked 24693 -(24692) found -(24693) found -[13095] Forked 24694 -[13094] Forked 24695 -(24694) found -(24695) found -[13093] Forked 24696 -[13092] Forked 24697 -(24696) found -(24697) found -[13091] Forked 24698 -[13090] Forked 24699 -(24698) found -(24699) found -[13089] Forked 24700 -[13088] Forked 24701 -(24700) found -(24701) found -[13087] Forked 24702 -[13086] Forked 24703 -(24702) found -(24703) found -[13085] Forked 24704 -[13084] Forked 24705 -(24704) found -(24705) found -[13083] Forked 24706 -[13082] Forked 24707 -(24706) found -(24707) found -[13081] Forked 24708 -[13080] Forked 24709 -(24708) found -(24709) found -[13079] Forked 24710 -[13078] Forked 24711 -(24710) found -(24711) found -[13077] Forked 24712 -[13076] Forked 24713 -(24712) found -(24713) found -[13075] Forked 24714 -[13074] Forked 24715 -(24714) found -(24715) found -[13073] Forked 24716 -[13072] Forked 24717 -(24716) found -(24717) found -[13071] Forked 24718 -[13070] Forked 24719 -(24718) found -(24719) found -[13069] Forked 24720 -[13068] Forked 24721 -(24721) found -(24720) found -[13067] Forked 24722 -(24722) found -[13066] Forked 24723 -(24723) found -[13065] Forked 24724 -(24724) found -[13064] Forked 24725 -(24725) found -[13063] Forked 24726 -[13062] Forked 24727 -(24726) found -(24727) found -[13061] Forked 24728 -[13060] Forked 24729 -(24728) found -(24729) found -[13059] Forked 24730 -[13058] Forked 24731 -(24730) found -(24731) found -[13057] Forked 24732 -[13056] Forked 24733 -(24732) found -(24733) found -[13055] Forked 24734 -[13054] Forked 24735 -(24734) found -(24735) found -[13053] Forked 24736 -[13052] Forked 24737 -(24736) found -(24737) found -[13051] Forked 24738 -[13050] Forked 24739 -(24738) found -(24739) found -[13049] Forked 24740 -[13048] Forked 24741 -(24740) found -(24741) found -[13047] Forked 24742 -[13046] Forked 24743 -(24742) found -(24743) found -[13045] Forked 24744 -[13044] Forked 24745 -(24744) found -(24745) found -[13043] Forked 24746 -[13042] Forked 24747 -(24746) found -(24747) found -[13041] Forked 24748 -[13040] Forked 24749 -(24748) found -(24749) found -[13039] Forked 24750 -[13038] Forked 24751 -(24750) found -(24751) found -[13037] Forked 24752 -[13036] Forked 24753 -(24752) found -(24753) found -[13035] Forked 24754 -[13034] Forked 24755 -(24754) found -(24755) found -[13033] Forked 24756 -[13032] Forked 24757 -(24756) found -(24757) found -[13031] Forked 24758 -[13030] Forked 24759 -(24758) found -(24759) found -[13029] Forked 24760 -[13028] Forked 24761 -(24760) found -(24761) found -[13027] Forked 24762 -[13026] Forked 24763 -(24762) found -(24763) found -[13025] Forked 24764 -[13024] Forked 24765 -(24764) found -(24765) found -[13023] Forked 24766 -[13022] Forked 24767 -(24766) found -(24767) found -[13021] Forked 24768 -[13020] Forked 24769 -(24768) found -(24769) found -[13019] Forked 24770 -[13018] Forked 24771 -(24770) found -(24771) found -[13017] Forked 24772 -[13016] Forked 24773 -(24772) found -(24773) found -[13015] Forked 24774 -(24774) found -[13014] Forked 24775 -(24775) found -[13013] Forked 24776 -(24776) found -[13012] Forked 24777 -(24777) found -[13011] Forked 24778 -(24778) found -[13010] Forked 24779 -(24779) found -[13009] Forked 24780 -(24780) found -[13008] Forked 24781 -(24781) found -[13007] Forked 24782 -(24782) found -[13006] Forked 24783 -(24783) found -[13005] Forked 24784 -(24784) found -[13004] Forked 24785 -(24785) found -[13003] Forked 24786 -(24786) found -[13002] Forked 24787 -(24787) found -[13001] Forked 24788 -(24788) found -[13000] Forked 24789 -(24789) found -[12999] Forked 24790 -(24790) found -[12998] Forked 24791 -(24791) found -[12997] Forked 24792 -(24792) found -[12996] Forked 24793 -(24793) found -[12995] Forked 24794 -(24794) found -[12994] Forked 24795 -(24795) found -[12993] Forked 24796 -(24796) found -[12992] Forked 24797 -(24797) found -[12991] Forked 24798 -(24798) found -[12990] Forked 24799 -(24799) found -[12989] Forked 24800 -(24800) found -[12988] Forked 24801 -(24801) found -[12987] Forked 24802 -(24802) found -[12986] Forked 24803 -(24803) found -[12985] Forked 24804 -(24804) found -[12984] Forked 24805 -(24805) found -[12983] Forked 24806 -(24806) found -[12982] Forked 24807 -(24807) found -[12981] Forked 24808 -(24808) found -[12980] Forked 24809 -[12979] Forked 24810 -(24809) found -(24810) found -[12978] Forked 24811 -[12977] Forked 24812 -(24811) found -(24812) found -[12976] Forked 24813 -[12975] Forked 24814 -(24813) found -(24814) found -[12974] Forked 24815 -[12973] Forked 24816 -(24815) found -(24816) found -[12972] Forked 24817 -[12971] Forked 24818 -(24817) found -(24818) found -[12970] Forked 24819 -[12969] Forked 24820 -(24819) found -(24820) found -[12968] Forked 24821 -[12967] Forked 24822 -(24821) found -(24822) found -[12966] Forked 24823 -[12965] Forked 24824 -(24823) found -(24824) found -[12964] Forked 24825 -[12963] Forked 24826 -(24825) found -(24826) found -[12962] Forked 24827 -[12961] Forked 24828 -(24827) found -(24828) found -[12960] Forked 24829 -[12959] Forked 24830 -(24829) found -(24830) found -[12958] Forked 24831 -[12957] Forked 24832 -(24831) found -(24832) found -[12956] Forked 24833 -[12955] Forked 24834 -(24833) found -(24834) found -[12954] Forked 24835 -[12953] Forked 24836 -(24835) found -(24836) found -[12952] Forked 24837 -[12951] Forked 24838 -(24837) found -(24838) found -[12950] Forked 24839 -[12949] Forked 24840 -(24839) found -(24840) found -[12948] Forked 24841 -[12947] Forked 24842 -(24841) found -(24842) found -[12946] Forked 24843 -[12945] Forked 24844 -(24843) found -(24844) found -[12944] Forked 24845 -[12943] Forked 24846 -(24845) found -(24846) found -[12942] Forked 24847 -[12941] Forked 24848 -(24847) found -(24848) found -[12940] Forked 24849 -[12939] Forked 24850 -(24849) found -(24850) found -[12938] Forked 24851 -[12937] Forked 24852 -(24851) found -(24852) found -[12936] Forked 24853 -[12935] Forked 24854 -(24853) found -(24854) found -[12934] Forked 24855 -(24855) found -[12933] Forked 24856 -(24856) found -[12932] Forked 24857 -(24857) found -[12931] Forked 24858 -(24858) found -[12930] Forked 24859 -(24859) found -[12929] Forked 24860 -(24860) found -[12928] Forked 24861 -(24861) found -[12927] Forked 24862 -(24862) found -[12926] Forked 24863 -(24863) found -[12925] Forked 24864 -(24864) found -[12924] Forked 24865 -(24865) found -[12923] Forked 24866 -(24866) found -[12922] Forked 24867 -(24867) found -[12921] Forked 24868 -(24868) found -[12920] Forked 24869 -(24869) found -[12919] Forked 24870 -(24870) found -[12918] Forked 24871 -(24871) found -[12917] Forked 24872 -(24872) found -[12916] Forked 24873 -(24873) found -[12915] Forked 24874 -(24874) found -[12914] Forked 24875 -(24875) found -[12913] Forked 24876 -(24876) found -[12912] Forked 24877 -(24877) found -[12911] Forked 24878 -(24878) found -[12910] Forked 24879 -(24879) found -[12909] Forked 24880 -(24880) found -[12908] Forked 24881 -(24881) found -[12907] Forked 24882 -(24882) found -[12906] Forked 24883 -(24883) found -[12905] Forked 24884 -(24884) found -[12904] Forked 24885 -(24885) found -[12903] Forked 24886 -(24886) found -[12902] Forked 24887 -(24887) found -[12901] Forked 24888 -(24888) found -[12900] Forked 24889 -(24889) found -[12899] Forked 24890 -[12898] Forked 24891 -(24890) found -(24891) found -[12897] Forked 24892 -[12896] Forked 24893 -(24892) found -(24893) found -[12895] Forked 24894 -[12894] Forked 24895 -(24894) found -(24895) found -[12893] Forked 24896 -[12892] Forked 24897 -(24896) found -(24897) found -[12891] Forked 24898 -[12890] Forked 24899 -(24898) found -(24899) found -[12889] Forked 24900 -[12888] Forked 24901 -(24900) found -(24901) found -[12887] Forked 24902 -[12886] Forked 24903 -(24902) found -(24903) found -[12885] Forked 24904 -[12884] Forked 24905 -(24904) found -(24905) found -[12883] Forked 24906 -[12882] Forked 24907 -(24906) found -(24907) found -[12881] Forked 24908 -[12880] Forked 24909 -(24908) found -(24909) found -[12879] Forked 24910 -[12878] Forked 24911 -(24910) found -(24911) found -[12877] Forked 24912 -[12876] Forked 24913 -(24912) found -(24913) found -[12875] Forked 24914 -[12874] Forked 24915 -(24914) found -(24915) found -[12873] Forked 24916 -[12872] Forked 24917 -(24916) found -(24917) found -[12871] Forked 24918 -[12870] Forked 24919 -(24918) found -(24919) found -[12869] Forked 24920 -[12868] Forked 24921 -(24920) found -(24921) found -[12867] Forked 24922 -[12866] Forked 24923 -(24922) found -(24923) found -[12865] Forked 24924 -[12864] Forked 24925 -(24924) found -(24925) found -[12863] Forked 24926 -[12862] Forked 24927 -(24926) found -(24927) found -[12861] Forked 24928 -[12860] Forked 24929 -(24928) found -(24929) found -[12859] Forked 24930 -[12858] Forked 24931 -(24930) found -(24931) found -[12857] Forked 24932 -[12856] Forked 24933 -(24932) found -(24933) found -[12855] Forked 24934 -[12854] Forked 24935 -(24934) found -(24935) found -[12853] Forked 24936 -[12852] Forked 24937 -(24936) found -(24937) found -[12851] Forked 24938 -[12850] Forked 24939 -(24938) found -(24939) found -[12849] Forked 24940 -[12848] Forked 24941 -(24940) found -(24941) found -[12847] Forked 24942 -[12846] Forked 24943 -(24942) found -(24943) found -[12845] Forked 24944 -[12844] Forked 24945 -(24944) found -(24945) found -[12843] Forked 24946 -[12842] Forked 24947 -(24946) found -(24947) found -[12841] Forked 24948 -(24948) found -[12840] Forked 24949 -(24949) found -[12839] Forked 24950 -[12838] Forked 24951 -(24950) found -(24951) found -[12837] Forked 24952 -[12836] Forked 24953 -(24952) found -(24953) found -[12835] Forked 24954 -[12834] Forked 24955 -(24954) found -(24955) found -[12833] Forked 24956 -[12832] Forked 24957 -(24956) found -(24957) found -[12831] Forked 24958 -[12830] Forked 24959 -(24958) found -(24959) found -[12829] Forked 24960 -[12828] Forked 24961 -(24960) found -(24961) found -[12827] Forked 24962 -[12826] Forked 24963 -(24962) found -(24963) found -[12825] Forked 24964 -[12824] Forked 24965 -(24964) found -(24965) found -[12823] Forked 24966 -[12822] Forked 24967 -(24966) found -(24967) found -[12821] Forked 24968 -[12820] Forked 24969 -(24968) found -(24969) found -[12819] Forked 24970 -[12818] Forked 24971 -(24970) found -(24971) found -[12817] Forked 24972 -[12816] Forked 24973 -(24972) found -(24973) found -[12815] Forked 24974 -[12814] Forked 24975 -(24974) found -(24975) found -[12813] Forked 24976 -[12812] Forked 24977 -(24976) found -(24977) found -[12811] Forked 24978 -[12810] Forked 24979 -(24978) found -(24979) found -[12809] Forked 24980 -[12808] Forked 24981 -(24980) found -(24981) found -[12807] Forked 24982 -[12806] Forked 24983 -(24982) found -(24983) found -[12805] Forked 24984 -[12804] Forked 24985 -(24984) found -(24985) found -[12803] Forked 24986 -[12802] Forked 24987 -(24986) found -(24987) found -[12801] Forked 24988 -[12800] Forked 24989 -(24988) found -(24989) found -[12799] Forked 24990 -[12798] Forked 24991 -(24990) found -(24991) found -[12797] Forked 24992 -[12796] Forked 24993 -(24992) found -(24993) found -[12795] Forked 24994 -[12794] Forked 24996 -(24994) found -(24996) found -[12793] Forked 24997 -[12792] Forked 24998 -(24997) found -(24998) found -[12791] Forked 24999 -[12790] Forked 25000 -(24999) found -(25000) found -[12789] Forked 25001 -[12788] Forked 25002 -(25001) found -(25002) found -[12787] Forked 25003 -[12786] Forked 25004 -(25003) found -(25004) found -[12785] Forked 25005 -[12784] Forked 25006 -(25005) found -(25006) found -[12783] Forked 25007 -[12782] Forked 25008 -(25007) found -(25008) found -[12781] Forked 25009 -[12780] Forked 25010 -(25009) found -(25010) found -[12779] Forked 25011 -[12778] Forked 25012 -(25011) found -(25012) found -[12777] Forked 25013 -[12776] Forked 25014 -(25013) found -(25014) found -[12775] Forked 25015 -[12774] Forked 25016 -(25015) found -(25016) found -[12773] Forked 25017 -[12772] Forked 25018 -(25017) found -(25018) found -[12771] Forked 25019 -[12770] Forked 25020 -(25019) found -(25020) found -[12769] Forked 25021 -[12768] Forked 25023 -(25021) found -(25023) found -[12767] Forked 25024 -(25024) found -[12766] Forked 25025 -(25025) found -[12765] Forked 25026 -(25026) found -[12764] Forked 25027 -(25027) found -[12763] Forked 25028 -(25028) found -[12762] Forked 25029 -(25029) found -[12761] Forked 25030 -(25030) found -[12760] Forked 25031 -(25031) found -[12759] Forked 25032 -(25032) found -[12758] Forked 25033 -(25033) found -[12757] Forked 25034 -(25034) found -[12756] Forked 25035 -(25035) found -[12755] Forked 25036 -(25036) found -[12754] Forked 25037 -(25037) found -[12753] Forked 25038 -(25038) found -[12752] Forked 25039 -(25039) found -[12751] Forked 25040 -(25040) found -[12750] Forked 25041 -(25041) found -[12749] Forked 25042 -(25042) found -[12748] Forked 25043 -(25043) found -[12747] Forked 25044 -(25044) found -[12746] Forked 25045 -(25045) found -[12745] Forked 25046 -(25046) found -[12744] Forked 25047 -(25047) found -[12743] Forked 25048 -(25048) found -[12742] Forked 25049 -(25049) found -[12741] Forked 25050 -(25050) found -[12740] Forked 25051 -(25051) found -[12739] Forked 25052 -(25052) found -[12738] Forked 25053 -(25053) found -[12737] Forked 25054 -(25054) found -[12736] Forked 25055 -(25055) found -[12735] Forked 25056 -(25056) found -[12734] Forked 25057 -(25057) found -[12733] Forked 25058 -(25058) found -[12732] Forked 25059 -(25059) found -[12731] Forked 25060 -(25060) found -[12730] Forked 25061 -(25061) found -[12729] Forked 25062 -[12728] Forked 25063 -(25063) found -(25062) found -[12727] Forked 25064 -(25064) found -[12726] Forked 25065 -(25065) found -[12725] Forked 25066 -(25066) found -[12724] Forked 25067 -(25067) found -[12723] Forked 25068 -(25068) found -[12722] Forked 25069 -(25069) found -[12721] Forked 25070 -(25070) found -[12720] Forked 25071 -(25071) found -[12719] Forked 25072 -(25072) found -[12718] Forked 25073 -(25073) found -[12717] Forked 25074 -(25074) found -[12716] Forked 25075 -(25075) found -[12715] Forked 25076 -(25076) found -[12714] Forked 25077 -(25077) found -[12713] Forked 25078 -(25078) found -[12712] Forked 25079 -(25079) found -[12711] Forked 25080 -(25080) found -[12710] Forked 25081 -(25081) found -[12709] Forked 25082 -(25082) found -[12708] Forked 25083 -(25083) found -[12707] Forked 25084 -(25084) found -[12706] Forked 25085 -(25085) found -[12705] Forked 25086 -(25086) found -[12704] Forked 25087 -(25087) found -[12703] Forked 25088 -(25088) found -[12702] Forked 25089 -(25089) found -[12701] Forked 25090 -(25090) found -[12700] Forked 25091 -(25091) found -[12699] Forked 25092 -(25092) found -[12698] Forked 25093 -(25093) found -[12697] Forked 25094 -(25094) found -[12696] Forked 25095 -(25095) found -[12695] Forked 25096 -(25096) found -[12694] Forked 25097 -(25097) found -[12693] Forked 25098 -(25098) found -[12692] Forked 25099 -(25099) found -[12691] Forked 25100 -(25100) found -[12690] Forked 25101 -(25101) found -[12689] Forked 25102 -(25102) found -[12688] Forked 25103 -(25103) found -[12687] Forked 25104 -(25104) found -[12686] Forked 25105 -(25105) found -[12685] Forked 25106 -(25106) found -[12684] Forked 25107 -(25107) found -[12683] Forked 25108 -(25108) found -[12682] Forked 25109 -(25109) found -[12681] Forked 25110 -(25110) found -[12680] Forked 25111 -(25111) found -[12679] Forked 25112 -(25112) found -[12678] Forked 25113 -(25113) found -[12677] Forked 25114 -(25114) found -[12676] Forked 25115 -(25115) found -[12675] Forked 25116 -(25116) found -[12674] Forked 25117 -(25117) found -[12673] Forked 25118 -(25118) found -[12672] Forked 25119 -(25119) found -[12671] Forked 25120 -(25120) found -[12670] Forked 25121 -(25121) found -[12669] Forked 25122 -(25122) found -[12668] Forked 25123 -(25123) found -[12667] Forked 25124 -(25124) found -[12666] Forked 25125 -(25125) found -[12665] Forked 25126 -(25126) found -[12664] Forked 25127 -(25127) found -[12663] Forked 25128 -(25128) found -[12662] Forked 25129 -(25129) found -[12661] Forked 25130 -(25130) found -[12660] Forked 25131 -(25131) found -[12659] Forked 25132 -[12658] Forked 25133 -(25132) found -(25133) found -[12657] Forked 25134 -[12656] Forked 25135 -(25134) found -(25135) found -[12655] Forked 25136 -[12654] Forked 25137 -(25136) found -(25137) found -[12653] Forked 25138 -[12652] Forked 25139 -(25138) found -(25139) found -[12651] Forked 25140 -[12650] Forked 25141 -(25140) found -(25141) found -[12649] Forked 25142 -[12648] Forked 25143 -(25142) found -(25143) found -[12647] Forked 25144 -[12646] Forked 25145 -(25144) found -(25145) found -[12645] Forked 25146 -[12644] Forked 25147 -(25146) found -(25147) found -[12643] Forked 25148 -[12642] Forked 25149 -(25148) found -(25149) found -[12641] Forked 25150 -[12640] Forked 25151 -(25150) found -(25151) found -[12639] Forked 25152 -[12638] Forked 25153 -(25152) found -(25153) found -[12637] Forked 25154 -[12636] Forked 25155 -(25154) found -(25155) found -[12635] Forked 25156 -[12634] Forked 25157 -(25156) found -(25157) found -[12633] Forked 25158 -[12632] Forked 25159 -(25158) found -(25159) found -[12631] Forked 25160 -[12630] Forked 25161 -(25160) found -(25161) found -[12629] Forked 25162 -[12628] Forked 25163 -(25162) found -(25163) found -[12627] Forked 25164 -[12626] Forked 25165 -(25164) found -(25165) found -[12625] Forked 25166 -[12624] Forked 25167 -(25166) found -(25167) found -[12623] Forked 25168 -[12622] Forked 25169 -(25168) found -(25169) found -[12621] Forked 25170 -[12620] Forked 25171 -(25170) found -(25171) found -[12619] Forked 25172 -[12618] Forked 25173 -(25172) found -(25173) found -[12617] Forked 25174 -[12616] Forked 25175 -(25174) found -(25175) found -[12615] Forked 25176 -[12614] Forked 25177 -(25176) found -(25177) found -[12613] Forked 25178 -[12612] Forked 25179 -(25178) found -(25179) found -[12611] Forked 25180 -[12610] Forked 25181 -(25180) found -(25181) found -[12609] Forked 25182 -[12608] Forked 25183 -(25182) found -(25183) found -[12607] Forked 25184 -[12606] Forked 25185 -(25184) found -(25185) found -[12605] Forked 25186 -[12604] Forked 25187 -(25186) found -(25187) found -[12603] Forked 25188 -[12602] Forked 25189 -(25188) found -(25189) found -[12601] Forked 25190 -[12600] Forked 25191 -(25190) found -(25191) found -[12599] Forked 25192 -[12598] Forked 25193 -(25192) found -(25193) found -[12597] Forked 25194 -[12596] Forked 25195 -(25194) found -(25195) found -[12595] Forked 25196 -[12594] Forked 25197 -(25196) found -(25197) found -[12593] Forked 25198 -[12592] Forked 25199 -(25198) found -(25199) found -[12591] Forked 25200 -[12590] Forked 25201 -(25200) found -(25201) found -[12589] Forked 25202 -[12588] Forked 25203 -(25202) found -(25203) found -[12587] Forked 25204 -[12586] Forked 25205 -(25204) found -(25205) found -[12585] Forked 25206 -[12584] Forked 25207 -(25206) found -(25207) found -[12583] Forked 25208 -[12582] Forked 25209 -(25208) found -(25209) found -[12581] Forked 25210 -[12580] Forked 25211 -(25210) found -(25211) found -[12579] Forked 25212 -[12578] Forked 25213 -(25212) found -(25213) found -[12577] Forked 25214 -[12576] Forked 25215 -(25214) found -(25215) found -[12575] Forked 25216 -[12574] Forked 25217 -(25216) found -(25217) found -[12573] Forked 25218 -[12572] Forked 25219 -(25218) found -(25219) found -[12571] Forked 25220 -[12570] Forked 25221 -(25220) found -(25221) found -[12569] Forked 25222 -[12568] Forked 25223 -(25222) found -(25223) found -[12567] Forked 25224 -(25224) found -[12566] Forked 25225 -(25225) found -[12565] Forked 25226 -(25226) found -[12564] Forked 25227 -(25227) found -[12563] Forked 25228 -(25228) found -[12562] Forked 25229 -(25229) found -[12561] Forked 25230 -(25230) found -[12560] Forked 25231 -(25231) found -[12559] Forked 25232 -(25232) found -[12558] Forked 25233 -(25233) found -[12557] Forked 25234 -(25234) found -[12556] Forked 25235 -(25235) found -[12555] Forked 25236 -(25236) found -[12554] Forked 25237 -(25237) found -[12553] Forked 25238 -(25238) found -[12552] Forked 25239 -(25239) found -[12551] Forked 25240 -(25240) found -[12550] Forked 25241 -(25241) found -[12549] Forked 25242 -(25242) found -[12548] Forked 25243 -(25243) found -[12547] Forked 25244 -(25244) found -[12546] Forked 25245 -(25245) found -[12545] Forked 25246 -(25246) found -[12544] Forked 25247 -(25247) found -[12543] Forked 25248 -(25248) found -[12542] Forked 25249 -(25249) found -[12541] Forked 25250 -(25250) found -[12540] Forked 25251 -(25251) found -[12539] Forked 25252 -(25252) found -[12538] Forked 25253 -(25253) found -[12537] Forked 25254 -(25254) found -[12536] Forked 25255 -(25255) found -[12535] Forked 25256 -(25256) found -[12534] Forked 25257 -(25257) found -[12533] Forked 25258 -(25258) found -[12532] Forked 25259 -(25259) found -[12531] Forked 25260 -(25260) found -[12530] Forked 25261 -[12529] Forked 25262 -(25261) found -(25262) found -[12528] Forked 25263 -[12527] Forked 25264 -(25263) found -(25264) found -[12526] Forked 25265 -[12525] Forked 25266 -(25265) found -(25266) found -[12524] Forked 25267 -[12523] Forked 25268 -(25267) found -(25268) found -[12522] Forked 25269 -[12521] Forked 25270 -(25269) found -(25270) found -[12520] Forked 25271 -[12519] Forked 25273 -(25271) found -(25273) found -[12518] Forked 25274 -(25274) found -[12517] Forked 25275 -(25275) found -[12516] Forked 25276 -(25276) found -[12515] Forked 25277 -(25277) found -[12514] Forked 25278 -(25278) found -[12513] Forked 25279 -(25279) found -[12512] Forked 25280 -(25280) found -[12511] Forked 25281 -(25281) found -[12510] Forked 25282 -(25282) found -[12509] Forked 25283 -(25283) found -[12508] Forked 25284 -(25284) found -[12507] Forked 25285 -(25285) found -[12506] Forked 25286 -(25286) found -[12505] Forked 25287 -(25287) found -[12504] Forked 25288 -(25288) found -[12503] Forked 25289 -(25289) found -[12502] Forked 25290 -(25290) found -[12501] Forked 25291 -(25291) found -[12500] Forked 25292 -(25292) found -[12499] Forked 25293 -[12498] Forked 25294 -(25293) found -(25294) found -[12497] Forked 25295 -[12496] Forked 25296 -(25295) found -(25296) found -[12495] Forked 25297 -[12494] Forked 25298 -(25297) found -(25298) found -[12493] Forked 25299 -[12492] Forked 25300 -(25299) found -(25300) found -[12491] Forked 25301 -[12490] Forked 25302 -(25301) found -(25302) found -[12489] Forked 25303 -[12488] Forked 25304 -(25303) found -(25304) found -[12487] Forked 25305 -[12486] Forked 25306 -(25305) found -(25306) found -[12485] Forked 25307 -[12484] Forked 25308 -(25307) found -(25308) found -[12483] Forked 25309 -[12482] Forked 25310 -(25309) found -(25310) found -[12481] Forked 25311 -[12480] Forked 25312 -(25311) found -(25312) found -[12479] Forked 25313 -[12478] Forked 25314 -(25313) found -(25314) found -[12477] Forked 25315 -[12476] Forked 25316 -(25315) found -(25316) found -[12475] Forked 25317 -[12474] Forked 25318 -(25317) found -(25318) found -[12473] Forked 25319 -[12472] Forked 25320 -(25319) found -(25320) found -[12471] Forked 25321 -[12470] Forked 25322 -(25321) found -(25322) found -[12469] Forked 25323 -[12468] Forked 25324 -(25323) found -(25324) found -[12467] Forked 25325 -[12466] Forked 25326 -(25325) found -(25326) found -[12465] Forked 25327 -[12464] Forked 25328 -(25327) found -(25328) found -[12463] Forked 25329 -[12462] Forked 25330 -(25329) found -(25330) found -[12461] Forked 25331 -[12460] Forked 25332 -(25331) found -(25332) found -[12459] Forked 25333 -[12458] Forked 25334 -(25333) found -(25334) found -[12457] Forked 25335 -[12456] Forked 25336 -(25335) found -(25336) found -[12455] Forked 25337 -[12454] Forked 25338 -(25337) found -(25338) found -[12453] Forked 25339 -[12452] Forked 25340 -(25339) found -(25340) found -[12451] Forked 25341 -[12450] Forked 25342 -(25341) found -(25342) found -[12449] Forked 25343 -[12448] Forked 25344 -(25343) found -(25344) found -[12447] Forked 25345 -(25345) found -[12446] Forked 25346 -(25346) found -[12445] Forked 25347 -(25347) found -[12444] Forked 25348 -(25348) found -[12443] Forked 25349 -(25349) found -[12442] Forked 25350 -(25350) found -[12441] Forked 25351 -(25351) found -[12440] Forked 25352 -(25352) found -[12439] Forked 25353 -(25353) found -[12438] Forked 25354 -(25354) found -[12437] Forked 25355 -(25355) found -[12436] Forked 25356 -(25356) found -[12435] Forked 25357 -(25357) found -[12434] Forked 25358 -(25358) found -[12433] Forked 25359 -(25359) found -[12432] Forked 25360 -(25360) found -[12431] Forked 25361 -(25361) found -[12430] Forked 25362 -(25362) found -[12429] Forked 25363 -(25363) found -[12428] Forked 25364 -(25364) found -[12427] Forked 25365 -(25365) found -[12426] Forked 25366 -(25366) found -[12425] Forked 25367 -(25367) found -[12424] Forked 25368 -(25368) found -[12423] Forked 25369 -(25369) found -[12422] Forked 25370 -(25370) found -[12421] Forked 25371 -(25371) found -[12420] Forked 25372 -(25372) found -[12419] Forked 25373 -(25373) found -[12418] Forked 25374 -(25374) found -[12417] Forked 25375 -(25375) found -[12416] Forked 25376 -(25376) found -[12415] Forked 25377 -(25377) found -[12414] Forked 25378 -(25378) found -[12413] Forked 25379 -(25379) found -[12412] Forked 25380 -(25380) found -[12411] Forked 25381 -[12410] Forked 25382 -(25381) found -(25382) found -[12409] Forked 25383 -(25383) found -[12408] Forked 25384 -(25384) found -[12407] Forked 25385 -(25385) found -[12406] Forked 25386 -(25386) found -[12405] Forked 25387 -(25387) found -[12404] Forked 25388 -(25388) found -[12403] Forked 25389 -(25389) found -[12402] Forked 25390 -[12401] Forked 25391 -(25390) found -(25391) found -[12400] Forked 25392 -[12399] Forked 25393 -(25392) found -(25393) found -[12398] Forked 25394 -[12397] Forked 25395 -(25394) found -(25395) found -[12396] Forked 25396 -[12395] Forked 25397 -(25396) found -(25397) found -[12394] Forked 25398 -[12393] Forked 25399 -(25398) found -(25399) found -[12392] Forked 25400 -[12391] Forked 25401 -(25400) found -(25401) found -[12390] Forked 25402 -[12389] Forked 25403 -(25402) found -(25403) found -[12388] Forked 25404 -[12387] Forked 25405 -(25404) found -(25405) found -[12386] Forked 25406 -[12385] Forked 25407 -(25406) found -(25407) found -[12384] Forked 25408 -[12383] Forked 25409 -(25408) found -(25409) found -[12382] Forked 25410 -[12381] Forked 25411 -(25410) found -(25411) found -[12380] Forked 25412 -[12379] Forked 25413 -(25412) found -(25413) found -[12378] Forked 25414 -[12377] Forked 25416 -(25414) found -(25416) found -[12376] Forked 25417 -[12375] Forked 25418 -(25417) found -(25418) found -[12374] Forked 25419 -[12373] Forked 25420 -(25419) found -(25420) found -[12372] Forked 25421 -[12371] Forked 25422 -(25421) found -(25422) found -[12370] Forked 25423 -[12369] Forked 25424 -(25423) found -(25424) found -[12368] Forked 25426 -[12367] Forked 25428 -(25426) found -(25428) found -[12366] Forked 25430 -[12365] Forked 25431 -(25430) found -(25431) found -[12364] Forked 25432 -[12363] Forked 25433 -(25432) found -(25433) found -[12362] Forked 25434 -[12361] Forked 25435 -(25434) found -(25435) found -[12360] Forked 25436 -[12359] Forked 25437 -(25436) found -(25437) found -[12358] Forked 25438 -[12357] Forked 25439 -(25438) found -(25439) found -[12356] Forked 25440 -[12355] Forked 25441 -(25440) found -(25441) found -[12354] Forked 25442 -[12353] Forked 25443 -(25442) found -(25443) found -[12352] Forked 25444 -[12351] Forked 25449 -(25444) found -(25449) found -[12350] Forked 25450 -[12349] Forked 25451 -(25450) found -(25451) found -[12348] Forked 25452 -[12347] Forked 25453 -(25452) found -(25453) found -[12346] Forked 25454 -[12345] Forked 25455 -(25454) found -(25455) found -[12344] Forked 25456 -[12343] Forked 25457 -(25456) found -(25457) found -[12342] Forked 25458 -[12341] Forked 25459 -(25458) found -(25459) found -[12340] Forked 25460 -[12339] Forked 25461 -(25460) found -(25461) found -[12338] Forked 25462 -[12337] Forked 25463 -(25462) found -(25463) found -[12336] Forked 25464 -[12335] Forked 25465 -(25464) found -(25465) found -[12334] Forked 25466 -[12333] Forked 25467 -(25466) found -(25467) found -[12332] Forked 25468 -[12331] Forked 25469 -(25468) found -(25469) found -[12330] Forked 25470 -[12329] Forked 25471 -(25470) found -(25471) found -[12328] Forked 25472 -[12327] Forked 25474 -(25472) found -(25474) found -[12326] Forked 25475 -(25475) found -[12325] Forked 25476 -(25476) found -[12324] Forked 25477 -(25477) found -[12323] Forked 25478 -(25478) found -[12322] Forked 25479 -(25479) found -[12321] Forked 25480 -(25480) found -[12320] Forked 25481 -(25481) found -[12319] Forked 25482 -(25482) found -[12318] Forked 25483 -(25483) found -[12317] Forked 25484 -(25484) found -[12316] Forked 25485 -(25485) found -[12315] Forked 25486 -(25486) found -[12314] Forked 25487 -(25487) found -[12313] Forked 25488 -(25488) found -[12312] Forked 25489 -(25489) found -[12311] Forked 25490 -(25490) found -[12310] Forked 25491 -(25491) found -[12309] Forked 25492 -(25492) found -[12308] Forked 25493 -(25493) found -[12307] Forked 25494 -(25494) found -[12306] Forked 25495 -(25495) found -[12305] Forked 25496 -(25496) found -[12304] Forked 25497 -(25497) found -[12303] Forked 25498 -(25498) found -[12302] Forked 25499 -(25499) found -[12301] Forked 25500 -(25500) found -[12300] Forked 25501 -(25501) found -[12299] Forked 25502 -(25502) found -[12298] Forked 25503 -(25503) found -[12297] Forked 25504 -(25504) found -[12296] Forked 25505 -(25505) found -[12295] Forked 25506 -(25506) found -[12294] Forked 25507 -(25507) found -[12293] Forked 25508 -(25508) found -[12292] Forked 25509 -(25509) found -[12291] Forked 25510 -(25510) found -[12290] Forked 25511 -(25511) found -[12289] Forked 25512 -(25512) found -[12288] Forked 25513 -(25513) found -[12287] Forked 25514 -[12286] Forked 25515 -(25514) found -(25515) found -[12285] Forked 25516 -[12284] Forked 25517 -(25516) found -(25517) found -[12283] Forked 25518 -[12282] Forked 25519 -(25518) found -(25519) found -[12281] Forked 25520 -[12280] Forked 25521 -(25520) found -(25521) found -[12279] Forked 25522 -[12278] Forked 25523 -(25522) found -(25523) found -[12277] Forked 25524 -[12276] Forked 25525 -(25524) found -(25525) found -[12275] Forked 25526 -[12274] Forked 25527 -(25526) found -(25527) found -[12273] Forked 25528 -[12272] Forked 25529 -(25528) found -(25529) found -[12271] Forked 25530 -[12270] Forked 25531 -(25530) found -(25531) found -[12269] Forked 25532 -[12268] Forked 25533 -(25532) found -(25533) found -[12267] Forked 25534 -[12266] Forked 25535 -(25534) found -(25535) found -[12265] Forked 25536 -[12264] Forked 25537 -(25536) found -(25537) found -[12263] Forked 25538 -[12262] Forked 25539 -(25538) found -(25539) found -[12261] Forked 25540 -[12260] Forked 25541 -(25540) found -(25541) found -[12259] Forked 25542 -[12258] Forked 25543 -(25542) found -(25543) found -[12257] Forked 25544 -[12256] Forked 25545 -(25544) found -(25545) found -[12255] Forked 25546 -[12254] Forked 25547 -(25546) found -(25547) found -[12253] Forked 25548 -[12252] Forked 25549 -(25548) found -(25549) found -[12251] Forked 25550 -[12250] Forked 25551 -(25550) found -(25551) found -[12249] Forked 25552 -[12248] Forked 25553 -(25552) found -(25553) found -[12247] Forked 25554 -[12246] Forked 25555 -(25554) found -(25555) found -[12245] Forked 25556 -[12244] Forked 25557 -(25556) found -(25557) found -[12243] Forked 25558 -(25558) found -[12242] Forked 25559 -(25559) found -[12241] Forked 25560 -(25560) found -[12240] Forked 25561 -(25561) found -[12239] Forked 25562 -(25562) found -[12238] Forked 25563 -(25563) found -[12237] Forked 25564 -(25564) found -[12236] Forked 25565 -(25565) found -[12235] Forked 25566 -(25566) found -[12234] Forked 25567 -(25567) found -[12233] Forked 25568 -(25568) found -[12232] Forked 25569 -(25569) found -[12231] Forked 25570 -(25570) found -[12230] Forked 25571 -(25571) found -[12229] Forked 25572 -(25572) found -[12228] Forked 25573 -(25573) found -[12227] Forked 25574 -(25574) found -[12226] Forked 25575 -(25575) found -[12225] Forked 25576 -(25576) found -[12224] Forked 25577 -(25577) found -[12223] Forked 25578 -(25578) found -[12222] Forked 25579 -(25579) found -[12221] Forked 25580 -(25580) found -[12220] Forked 25581 -(25581) found -[12219] Forked 25582 -(25582) found -[12218] Forked 25583 -(25583) found -[12217] Forked 25584 -(25584) found -[12216] Forked 25585 -(25585) found -[12215] Forked 25586 -(25586) found -[12214] Forked 25587 -(25587) found -[12213] Forked 25588 -(25588) found -[12212] Forked 25589 -(25589) found -[12211] Forked 25590 -(25590) found -[12210] Forked 25591 -(25591) found -[12209] Forked 25592 -(25592) found -[12208] Forked 25593 -(25593) found -[12207] Forked 25595 -(25595) found -[12206] Forked 25596 -(25596) found -[12205] Forked 25597 -(25597) found -[12204] Forked 25598 -(25598) found -[12203] Forked 25599 -(25599) found -[12202] Forked 25600 -(25600) found -[12201] Forked 25601 -(25601) found -[12200] Forked 25602 -(25602) found -[12199] Forked 25603 -(25603) found -[12198] Forked 25604 -(25604) found -[12197] Forked 25605 -(25605) found -[12196] Forked 25606 -(25606) found -[12195] Forked 25607 -(25607) found -[12194] Forked 25608 -(25608) found -[12193] Forked 25609 -(25609) found -[12192] Forked 25610 -(25610) found -[12191] Forked 25611 -(25611) found -[12190] Forked 25612 -(25612) found -[12189] Forked 25613 -(25613) found -[12188] Forked 25614 -(25614) found -[12187] Forked 25615 -(25615) found -[12186] Forked 25616 -(25616) found -[12185] Forked 25617 -(25617) found -[12184] Forked 25618 -(25618) found -[12183] Forked 25619 -(25619) found -[12182] Forked 25620 -(25620) found -[12181] Forked 25621 -(25621) found -[12180] Forked 25622 -(25622) found -[12179] Forked 25623 -(25623) found -[12178] Forked 25624 -(25624) found -[12177] Forked 25625 -(25625) found -[12176] Forked 25626 -(25626) found -[12175] Forked 25627 -(25627) found -[12174] Forked 25628 -(25628) found -[12173] Forked 25629 -(25629) found -[12172] Forked 25630 -(25630) found -[12171] Forked 25631 -(25631) found -[12170] Forked 25632 -(25632) found -[12169] Forked 25633 -(25633) found -[12168] Forked 25634 -(25634) found -[12167] Forked 25635 -(25635) found -[12166] Forked 25636 -[12165] Forked 25637 -(25636) found -(25637) found -[12164] Forked 25638 -[12163] Forked 25639 -(25638) found -(25639) found -[12162] Forked 25640 -[12161] Forked 25641 -(25640) found -(25641) found -[12160] Forked 25642 -[12159] Forked 25643 -(25642) found -(25643) found -[12158] Forked 25644 -[12157] Forked 25645 -(25644) found -(25645) found -[12156] Forked 25646 -[12155] Forked 25647 -(25646) found -(25647) found -[12154] Forked 25648 -[12153] Forked 25649 -(25648) found -(25649) found -[12152] Forked 25650 -[12151] Forked 25651 -(25650) found -(25651) found -[12150] Forked 25652 -[12149] Forked 25653 -(25652) found -(25653) found -[12148] Forked 25654 -[12147] Forked 25655 -(25654) found -(25655) found -[12146] Forked 25656 -[12145] Forked 25657 -(25656) found -(25657) found -[12144] Forked 25658 -[12143] Forked 25659 -(25658) found -(25659) found -[12142] Forked 25660 -[12141] Forked 25661 -(25660) found -(25661) found -[12140] Forked 25662 -[12139] Forked 25663 -(25662) found -(25663) found -[12138] Forked 25664 -[12137] Forked 25665 -(25664) found -(25665) found -[12136] Forked 25666 -[12135] Forked 25667 -(25666) found -(25667) found -[12134] Forked 25668 -[12133] Forked 25669 -(25668) found -(25669) found -[12132] Forked 25670 -[12131] Forked 25671 -(25670) found -(25671) found -[12130] Forked 25672 -[12129] Forked 25673 -(25672) found -(25673) found -[12128] Forked 25674 -[12127] Forked 25675 -(25674) found -(25675) found -[12126] Forked 25676 -[12125] Forked 25677 -(25676) found -(25677) found -[12124] Forked 25678 -[12123] Forked 25679 -(25678) found -(25679) found -[12122] Forked 25680 -[12121] Forked 25681 -(25680) found -(25681) found -[12120] Forked 25682 -[12119] Forked 25683 -(25682) found -(25683) found -[12118] Forked 25684 -[12117] Forked 25685 -(25684) found -(25685) found -[12116] Forked 25686 -[12115] Forked 25687 -(25686) found -(25687) found -[12114] Forked 25688 -[12113] Forked 25689 -(25688) found -(25689) found -[12112] Forked 25690 -[12111] Forked 25691 -(25690) found -(25691) found -[12110] Forked 25692 -[12109] Forked 25693 -(25692) found -(25693) found -[12108] Forked 25694 -[12107] Forked 25695 -(25694) found -(25695) found -[12106] Forked 25696 -[12105] Forked 25697 -(25696) found -(25697) found -[12104] Forked 25698 -[12103] Forked 25699 -(25698) found -(25699) found -[12102] Forked 25700 -[12101] Forked 25701 -(25700) found -(25701) found -[12100] Forked 25702 -[12099] Forked 25703 -(25702) found -(25703) found -[12098] Forked 25704 -[12097] Forked 25705 -(25704) found -(25705) found -[12096] Forked 25706 -[12095] Forked 25707 -(25706) found -(25707) found -[12094] Forked 25708 -[12093] Forked 25709 -(25708) found -(25709) found -[12092] Forked 25710 -[12091] Forked 25711 -(25710) found -(25711) found -[12090] Forked 25712 -[12089] Forked 25713 -(25712) found -(25713) found -[12088] Forked 25714 -[12087] Forked 25715 -(25714) found -(25715) found -[12086] Forked 25716 -[12085] Forked 25717 -(25716) found -(25717) found -[12084] Forked 25718 -[12083] Forked 25719 -(25718) found -(25719) found -[12082] Forked 25720 -[12081] Forked 25721 -(25720) found -(25721) found -[12080] Forked 25722 -[12079] Forked 25723 -(25722) found -(25723) found -[12078] Forked 25724 -[12077] Forked 25725 -(25724) found -(25725) found -[12076] Forked 25726 -(25726) found -[12075] Forked 25727 -(25727) found -[12074] Forked 25728 -(25728) found -[12073] Forked 25729 -(25729) found -[12072] Forked 25730 -(25730) found -[12071] Forked 25731 -(25731) found -[12070] Forked 25732 -(25732) found -[12069] Forked 25733 -(25733) found -[12068] Forked 25734 -(25734) found -[12067] Forked 25735 -(25735) found -[12066] Forked 25736 -(25736) found -[12065] Forked 25737 -(25737) found -[12064] Forked 25738 -(25738) found -[12063] Forked 25739 -(25739) found -[12062] Forked 25740 -(25740) found -[12061] Forked 25741 -(25741) found -[12060] Forked 25742 -(25742) found -[12059] Forked 25743 -(25743) found -[12058] Forked 25744 -(25744) found -[12057] Forked 25745 -(25745) found -[12056] Forked 25746 -(25746) found -[12055] Forked 25747 -(25747) found -[12054] Forked 25748 -(25748) found -[12053] Forked 25749 -(25749) found -[12052] Forked 25750 -(25750) found -[12051] Forked 25751 -(25751) found -[12050] Forked 25752 -(25752) found -[12049] Forked 25753 -(25753) found -[12048] Forked 25754 -(25754) found -[12047] Forked 25755 -(25755) found -[12046] Forked 25756 -(25756) found -[12045] Forked 25757 -(25757) found -[12044] Forked 25758 -(25758) found -[12043] Forked 25759 -(25759) found -[12042] Forked 25760 -(25760) found -[12041] Forked 25761 -(25761) found -[12040] Forked 25762 -(25762) found -[12039] Forked 25763 -(25763) found -[12038] Forked 25764 -[12037] Forked 25765 -(25764) found -(25765) found -[12036] Forked 25766 -[12035] Forked 25767 -(25766) found -(25767) found -[12034] Forked 25768 -[12033] Forked 25769 -(25768) found -(25769) found -[12032] Forked 25770 -[12031] Forked 25771 -(25770) found -(25771) found -[12030] Forked 25772 -[12029] Forked 25774 -(25772) found -(25774) found -[12028] Forked 25775 -[12027] Forked 25776 -(25775) found -(25776) found -[12026] Forked 25777 -[12025] Forked 25778 -(25777) found -(25778) found -[12024] Forked 25779 -[12023] Forked 25780 -(25780) found -(25779) found -[12022] Forked 25781 -(25781) found -[12021] Forked 25782 -(25782) found -[12020] Forked 25783 -(25783) found -[12019] Forked 25784 -(25784) found -[12018] Forked 25785 -(25785) found -[12017] Forked 25786 -(25786) found -[12016] Forked 25787 -(25787) found -[12015] Forked 25788 -(25788) found -[12014] Forked 25789 -(25789) found -[12013] Forked 25790 -(25790) found -[12012] Forked 25791 -(25791) found -[12011] Forked 25792 -(25792) found -[12010] Forked 25793 -(25793) found -[12009] Forked 25794 -(25794) found -[12008] Forked 25795 -(25795) found -[12007] Forked 25796 -(25796) found -[12006] Forked 25797 -(25797) found -[12005] Forked 25798 -(25798) found -[12004] Forked 25799 -(25799) found -[12003] Forked 25800 -(25800) found -[12002] Forked 25801 -(25801) found -[12001] Forked 25802 -(25802) found -[12000] Forked 25803 -(25803) found -[11999] Forked 25804 -(25804) found -[11998] Forked 25805 -(25805) found -[11997] Forked 25806 -(25806) found -[11996] Forked 25807 -(25807) found -[11995] Forked 25808 -(25808) found -[11994] Forked 25809 -(25809) found -[11993] Forked 25810 -(25810) found -[11992] Forked 25811 -(25811) found -[11991] Forked 25812 -(25812) found -[11990] Forked 25813 -(25813) found -[11989] Forked 25814 -(25814) found -[11988] Forked 25815 -(25815) found -[11987] Forked 25816 -(25816) found -[11986] Forked 25817 -(25817) found -[11985] Forked 25818 -(25818) found -[11984] Forked 25819 -(25819) found -[11983] Forked 25820 -(25820) found -[11982] Forked 25821 -(25821) found -[11981] Forked 25822 -(25822) found -[11980] Forked 25823 -(25823) found -[11979] Forked 25824 -(25824) found -[11978] Forked 25825 -(25825) found -[11977] Forked 25826 -(25826) found -[11976] Forked 25827 -(25827) found -[11975] Forked 25828 -(25828) found -[11974] Forked 25829 -(25829) found -[11973] Forked 25830 -(25830) found -[11972] Forked 25831 -(25831) found -[11971] Forked 25832 -(25832) found -[11970] Forked 25833 -(25833) found -[11969] Forked 25834 -(25834) found -[11968] Forked 25835 -(25835) found -[11967] Forked 25836 -[11966] Forked 25837 -(25836) found -(25837) found -[11965] Forked 25838 -[11964] Forked 25839 -(25838) found -(25839) found -[11963] Forked 25840 -[11962] Forked 25841 -(25840) found -(25841) found -[11961] Forked 25842 -[11960] Forked 25843 -(25842) found -(25843) found -[11959] Forked 25844 -[11958] Forked 25845 -(25844) found -(25845) found -[11957] Forked 25846 -[11956] Forked 25847 -(25846) found -(25847) found -[11955] Forked 25848 -[11954] Forked 25849 -(25848) found -(25849) found -[11953] Forked 25850 -[11952] Forked 25851 -(25850) found -(25851) found -[11951] Forked 25852 -[11950] Forked 25853 -(25852) found -(25853) found -[11949] Forked 25854 -[11948] Forked 25855 -(25854) found -(25855) found -[11947] Forked 25856 -[11946] Forked 25857 -(25856) found -(25857) found -[11945] Forked 25858 -[11944] Forked 25859 -(25858) found -(25859) found -[11943] Forked 25860 -[11942] Forked 25861 -(25860) found -(25861) found -[11941] Forked 25862 -[11940] Forked 25863 -(25862) found -(25863) found -[11939] Forked 25864 -[11938] Forked 25865 -(25864) found -(25865) found -[11937] Forked 25866 -[11936] Forked 25867 -(25866) found -(25867) found -[11935] Forked 25868 -[11934] Forked 25869 -(25868) found -(25869) found -[11933] Forked 25870 -[11932] Forked 25871 -(25870) found -(25871) found -[11931] Forked 25872 -[11930] Forked 25873 -(25872) found -(25873) found -[11929] Forked 25874 -[11928] Forked 25875 -(25874) found -(25875) found -[11927] Forked 25876 -[11926] Forked 25877 -(25876) found -(25877) found -[11925] Forked 25878 -[11924] Forked 25879 -(25878) found -(25879) found -[11923] Forked 25880 -(25880) found -[11922] Forked 25881 -(25881) found -[11921] Forked 25882 -(25882) found -[11920] Forked 25883 -(25883) found -[11919] Forked 25884 -(25884) found -[11918] Forked 25885 -(25885) found -[11917] Forked 25886 -(25886) found -[11916] Forked 25887 -(25887) found -[11915] Forked 25888 -(25888) found -[11914] Forked 25889 -(25889) found -[11913] Forked 25890 -(25890) found -[11912] Forked 25891 -(25891) found -[11911] Forked 25892 -(25892) found -[11910] Forked 25893 -(25893) found -[11909] Forked 25894 -(25894) found -[11908] Forked 25895 -(25895) found -[11907] Forked 25896 -(25896) found -[11906] Forked 25897 -(25897) found -[11905] Forked 25898 -(25898) found -[11904] Forked 25899 -(25899) found -[11903] Forked 25900 -(25900) found -[11902] Forked 25901 -(25901) found -[11901] Forked 25902 -(25902) found -[11900] Forked 25903 -(25903) found -[11899] Forked 25904 -(25904) found -[11898] Forked 25905 -(25905) found -[11897] Forked 25906 -(25906) found -[11896] Forked 25907 -(25907) found -[11895] Forked 25908 -(25908) found -[11894] Forked 25909 -(25909) found -[11893] Forked 25910 -(25910) found -[11892] Forked 25911 -(25911) found -[11891] Forked 25912 -(25912) found -[11890] Forked 25913 -(25913) found -[11889] Forked 25914 -(25914) found -[11888] Forked 25915 -(25915) found -[11887] Forked 25916 -(25916) found -[11886] Forked 25917 -[11885] Forked 25918 -(25917) found -(25918) found -[11884] Forked 25919 -[11883] Forked 25920 -(25919) found -(25920) found -[11882] Forked 25921 -[11881] Forked 25922 -(25921) found -(25922) found -[11880] Forked 25923 -[11879] Forked 25924 -(25923) found -(25924) found -[11878] Forked 25925 -[11877] Forked 25926 -(25925) found -(25926) found -[11876] Forked 25927 -[11875] Forked 25928 -(25927) found -(25928) found -[11874] Forked 25929 -[11873] Forked 25930 -(25929) found -(25930) found -[11872] Forked 25931 -[11871] Forked 25932 -(25931) found -(25932) found -[11870] Forked 25933 -[11869] Forked 25934 -(25933) found -(25934) found -[11868] Forked 25935 -[11867] Forked 25936 -(25935) found -(25936) found -[11866] Forked 25937 -[11865] Forked 25938 -(25937) found -(25938) found -[11864] Forked 25939 -[11863] Forked 25940 -(25939) found -(25940) found -[11862] Forked 25941 -[11861] Forked 25942 -(25941) found -(25942) found -[11860] Forked 25943 -[11859] Forked 25944 -(25943) found -(25944) found -[11858] Forked 25945 -[11857] Forked 25946 -(25945) found -(25946) found -[11856] Forked 25947 -[11855] Forked 25948 -(25947) found -(25948) found -[11854] Forked 25949 -[11853] Forked 25950 -(25949) found -(25950) found -[11852] Forked 25951 -[11851] Forked 25952 -(25951) found -(25952) found -[11850] Forked 25953 -[11849] Forked 25954 -(25953) found -(25954) found -[11848] Forked 25955 -[11847] Forked 25956 -(25955) found -(25956) found -[11846] Forked 25957 -[11845] Forked 25958 -(25957) found -(25958) found -[11844] Forked 25959 -[11843] Forked 25960 -(25959) found -(25960) found -[11842] Forked 25961 -[11841] Forked 25962 -(25961) found -(25962) found -[11840] Forked 25963 -[11839] Forked 25964 -(25963) found -(25964) found -[11838] Forked 25965 -[11837] Forked 25966 -(25965) found -(25966) found -[11836] Forked 25967 -[11835] Forked 25968 -(25967) found -(25968) found -[11834] Forked 25969 -[11833] Forked 25970 -(25969) found -(25970) found -[11832] Forked 25971 -[11831] Forked 25972 -(25971) found -(25972) found -[11830] Forked 25973 -[11829] Forked 25974 -(25973) found -(25974) found -[11828] Forked 25975 -[11827] Forked 25976 -(25975) found -(25976) found -[11826] Forked 25977 -[11825] Forked 25978 -(25977) found -(25978) found -[11824] Forked 25979 -[11823] Forked 25980 -(25979) found -(25980) found -[11822] Forked 25981 -[11821] Forked 25982 -(25981) found -(25982) found -[11820] Forked 25983 -[11819] Forked 25984 -(25983) found -(25984) found -[11818] Forked 25985 -[11817] Forked 25986 -(25985) found -(25986) found -[11816] Forked 25987 -[11815] Forked 25988 -(25987) found -(25988) found -[11814] Forked 25989 -[11813] Forked 25990 -(25989) found -(25990) found -[11812] Forked 25991 -[11811] Forked 25992 -(25991) found -(25992) found -[11810] Forked 25993 -[11809] Forked 25994 -(25993) found -(25994) found -[11808] Forked 25995 -[11807] Forked 25996 -(25995) found -(25996) found -[11806] Forked 25997 -[11805] Forked 25998 -(25997) found -(25998) found -[11804] Forked 25999 -[11803] Forked 26000 -(25999) found -(26000) found -[11802] Forked 26001 -(26001) found -[11801] Forked 26002 -[11800] Forked 26003 -(26002) found -(26003) found -[11799] Forked 26004 -[11798] Forked 26005 -(26004) found -(26005) found -[11797] Forked 26006 -[11796] Forked 26007 -(26006) found -(26007) found -[11795] Forked 26008 -[11794] Forked 26009 -(26008) found -(26009) found -[11793] Forked 26010 -[11792] Forked 26011 -(26010) found -(26011) found -[11791] Forked 26012 -[11790] Forked 26013 -(26012) found -(26013) found -[11789] Forked 26014 -[11788] Forked 26015 -(26014) found -(26015) found -[11787] Forked 26016 -[11786] Forked 26017 -(26016) found -(26017) found -[11785] Forked 26018 -[11784] Forked 26019 -(26018) found -(26019) found -[11783] Forked 26020 -[11782] Forked 26021 -(26020) found -(26021) found -[11781] Forked 26022 -[11780] Forked 26023 -(26022) found -(26023) found -[11779] Forked 26024 -[11778] Forked 26025 -(26024) found -(26025) found -[11777] Forked 26026 -[11776] Forked 26027 -(26026) found -(26027) found -[11775] Forked 26028 -[11774] Forked 26029 -(26028) found -(26029) found -[11773] Forked 26030 -[11772] Forked 26031 -(26030) found -(26031) found -[11771] Forked 26032 -[11770] Forked 26033 -(26032) found -(26033) found -[11769] Forked 26034 -[11768] Forked 26035 -(26034) found -(26035) found -[11767] Forked 26036 -[11766] Forked 26037 -(26036) found -(26037) found -[11765] Forked 26038 -[11764] Forked 26039 -(26038) found -(26039) found -[11763] Forked 26040 -[11762] Forked 26041 -(26040) found -(26041) found -[11761] Forked 26042 -[11760] Forked 26043 -(26042) found -(26043) found -[11759] Forked 26044 -[11758] Forked 26045 -(26044) found -(26045) found -[11757] Forked 26046 -[11756] Forked 26047 -(26046) found -(26047) found -[11755] Forked 26048 -[11754] Forked 26050 -(26048) found -(26050) found -[11753] Forked 26051 -(26051) found -[11752] Forked 26052 -(26052) found -[11751] Forked 26053 -(26053) found -[11750] Forked 26054 -(26054) found -[11749] Forked 26055 -(26055) found -[11748] Forked 26056 -(26056) found -[11747] Forked 26057 -(26057) found -[11746] Forked 26058 -(26058) found -[11745] Forked 26059 -(26059) found -[11744] Forked 26060 -(26060) found -[11743] Forked 26061 -(26061) found -[11742] Forked 26062 -(26062) found -[11741] Forked 26063 -(26063) found -[11740] Forked 26064 -(26064) found -[11739] Forked 26065 -(26065) found -[11738] Forked 26066 -(26066) found -[11737] Forked 26067 -(26067) found -[11736] Forked 26068 -(26068) found -[11735] Forked 26069 -(26069) found -[11734] Forked 26070 -(26070) found -[11733] Forked 26071 -(26071) found -[11732] Forked 26072 -(26072) found -[11731] Forked 26073 -(26073) found -[11730] Forked 26074 -(26074) found -[11729] Forked 26075 -(26075) found -[11728] Forked 26076 -(26076) found -[11727] Forked 26077 -(26077) found -[11726] Forked 26078 -(26078) found -[11725] Forked 26079 -(26079) found -[11724] Forked 26080 -(26080) found -[11723] Forked 26081 -(26081) found -[11722] Forked 26082 -(26082) found -[11721] Forked 26083 -(26083) found -[11720] Forked 26084 -(26084) found -[11719] Forked 26085 -(26085) found -[11718] Forked 26086 -(26086) found -[11717] Forked 26087 -(26087) found -[11716] Forked 26088 -(26088) found -[11715] Forked 26089 -(26089) found -[11714] Forked 26090 -(26090) found -[11713] Forked 26091 -(26091) found -[11712] Forked 26092 -(26092) found -[11711] Forked 26093 -(26093) found -[11710] Forked 26094 -(26094) found -[11709] Forked 26095 -(26095) found -[11708] Forked 26096 -(26096) found -[11707] Forked 26097 -(26097) found -[11706] Forked 26098 -(26098) found -[11705] Forked 26099 -(26099) found -[11704] Forked 26100 -(26100) found -[11703] Forked 26101 -(26101) found -[11702] Forked 26102 -(26102) found -[11701] Forked 26103 -(26103) found -[11700] Forked 26104 -(26104) found -[11699] Forked 26105 -(26105) found -[11698] Forked 26106 -(26106) found -[11697] Forked 26107 -(26107) found -[11696] Forked 26108 -(26108) found -[11695] Forked 26109 -(26109) found -[11694] Forked 26110 -(26110) found -[11693] Forked 26111 -(26111) found -[11692] Forked 26112 -(26112) found -[11691] Forked 26113 -(26113) found -[11690] Forked 26114 -(26114) found -[11689] Forked 26115 -(26115) found -[11688] Forked 26116 -(26116) found -[11687] Forked 26117 -(26117) found -[11686] Forked 26118 -(26118) found -[11685] Forked 26119 -(26119) found -[11684] Forked 26120 -(26120) found -[11683] Forked 26121 -(26121) found -[11682] Forked 26122 -[11681] Forked 26123 -(26122) found -(26123) found -[11680] Forked 26124 -[11679] Forked 26125 -(26124) found -(26125) found -[11678] Forked 26126 -[11677] Forked 26127 -(26126) found -(26127) found -[11676] Forked 26128 -[11675] Forked 26129 -(26128) found -(26129) found -[11674] Forked 26130 -[11673] Forked 26131 -(26130) found -(26131) found -[11672] Forked 26132 -[11671] Forked 26133 -(26132) found -(26133) found -[11670] Forked 26134 -[11669] Forked 26135 -(26134) found -(26135) found -[11668] Forked 26136 -[11667] Forked 26137 -(26136) found -(26137) found -[11666] Forked 26138 -[11665] Forked 26139 -(26138) found -(26139) found -[11664] Forked 26140 -[11663] Forked 26141 -(26140) found -(26141) found -[11662] Forked 26142 -[11661] Forked 26143 -(26142) found -(26143) found -[11660] Forked 26144 -[11659] Forked 26145 -(26144) found -(26145) found -[11658] Forked 26146 -[11657] Forked 26147 -(26146) found -(26147) found -[11656] Forked 26148 -[11655] Forked 26149 -(26148) found -(26149) found -[11654] Forked 26150 -[11653] Forked 26151 -(26150) found -(26151) found -[11652] Forked 26152 -[11651] Forked 26153 -(26152) found -(26153) found -[11650] Forked 26154 -[11649] Forked 26155 -(26154) found -(26155) found -[11648] Forked 26156 -[11647] Forked 26157 -(26156) found -(26157) found -[11646] Forked 26158 -[11645] Forked 26159 -(26158) found -(26159) found -[11644] Forked 26160 -[11643] Forked 26161 -(26160) found -(26161) found -[11642] Forked 26162 -[11641] Forked 26163 -(26162) found -(26163) found -[11640] Forked 26164 -[11639] Forked 26165 -(26164) found -(26165) found -[11638] Forked 26166 -[11637] Forked 26168 -(26166) found -(26168) found -[11636] Forked 26169 -(26169) found -[11635] Forked 26170 -(26170) found -[11634] Forked 26171 -(26171) found -[11633] Forked 26172 -(26172) found -[11632] Forked 26173 -(26173) found -[11631] Forked 26174 -(26174) found -[11630] Forked 26175 -(26175) found -[11629] Forked 26176 -(26176) found -[11628] Forked 26177 -(26177) found -[11627] Forked 26178 -(26178) found -[11626] Forked 26179 -(26179) found -[11625] Forked 26180 -(26180) found -[11624] Forked 26181 -(26181) found -[11623] Forked 26182 -(26182) found -[11622] Forked 26183 -(26183) found -[11621] Forked 26184 -(26184) found -[11620] Forked 26185 -(26185) found -[11619] Forked 26186 -(26186) found -[11618] Forked 26187 -(26187) found -[11617] Forked 26188 -(26188) found -[11616] Forked 26189 -(26189) found -[11615] Forked 26190 -(26190) found -[11614] Forked 26191 -(26191) found -[11613] Forked 26192 -(26192) found -[11612] Forked 26193 -(26193) found -[11611] Forked 26194 -(26194) found -[11610] Forked 26195 -(26195) found -[11609] Forked 26196 -(26196) found -[11608] Forked 26197 -(26197) found -[11607] Forked 26198 -(26198) found -[11606] Forked 26199 -(26199) found -[11605] Forked 26200 -(26200) found -[11604] Forked 26201 -(26201) found -[11603] Forked 26202 -(26202) found -[11602] Forked 26203 -[11601] Forked 26204 -(26203) found -(26204) found -[11600] Forked 26205 -[11599] Forked 26206 -(26205) found -(26206) found -[11598] Forked 26207 -(26207) found -[11597] Forked 26208 -(26208) found -[11596] Forked 26209 -(26209) found -[11595] Forked 26210 -(26210) found -[11594] Forked 26211 -(26211) found -[11593] Forked 26212 -(26212) found -[11592] Forked 26213 -(26213) found -[11591] Forked 26214 -(26214) found -[11590] Forked 26215 -(26215) found -[11589] Forked 26216 -(26216) found -[11588] Forked 26217 -(26217) found -[11587] Forked 26218 -(26218) found -[11586] Forked 26219 -(26219) found -[11585] Forked 26220 -(26220) found -[11584] Forked 26221 -(26221) found -[11583] Forked 26222 -(26222) found -[11582] Forked 26223 -(26223) found -[11581] Forked 26224 -(26224) found -[11580] Forked 26225 -(26225) found -[11579] Forked 26226 -(26226) found -[11578] Forked 26227 -(26227) found -[11577] Forked 26228 -(26228) found -[11576] Forked 26229 -(26229) found -[11575] Forked 26230 -(26230) found -[11574] Forked 26231 -(26231) found -[11573] Forked 26232 -(26232) found -[11572] Forked 26233 -(26233) found -[11571] Forked 26234 -(26234) found -[11570] Forked 26235 -(26235) found -[11569] Forked 26236 -(26236) found -[11568] Forked 26237 -(26237) found -[11567] Forked 26238 -(26238) found -[11566] Forked 26239 -(26239) found -[11565] Forked 26240 -(26240) found -[11564] Forked 26241 -(26241) found -[11563] Forked 26242 -(26242) found -[11562] Forked 26243 -(26243) found -[11561] Forked 26244 -(26244) found -[11560] Forked 26245 -(26245) found -[11559] Forked 26246 -(26246) found -[11558] Forked 26247 -(26247) found -[11557] Forked 26248 -(26248) found -[11556] Forked 26249 -(26249) found -[11555] Forked 26250 -(26250) found -[11554] Forked 26251 -(26251) found -[11553] Forked 26252 -(26252) found -[11552] Forked 26253 -(26253) found -[11551] Forked 26254 -(26254) found -[11550] Forked 26255 -(26255) found -[11549] Forked 26256 -(26256) found -[11548] Forked 26257 -(26257) found -[11547] Forked 26258 -(26258) found -[11546] Forked 26259 -(26259) found -[11545] Forked 26260 -(26260) found -[11544] Forked 26261 -(26261) found -[11543] Forked 26262 -(26262) found -[11542] Forked 26263 -(26263) found -[11541] Forked 26264 -(26264) found -[11540] Forked 26265 -(26265) found -[11539] Forked 26266 -(26266) found -[11538] Forked 26267 -(26267) found -[11537] Forked 26268 -(26268) found -[11536] Forked 26269 -(26269) found -[11535] Forked 26270 -(26270) found -[11534] Forked 26271 -(26271) found -[11533] Forked 26272 -(26272) found -[11532] Forked 26273 -(26273) found -[11531] Forked 26274 -[11530] Forked 26275 -(26274) found -(26275) found -[11529] Forked 26276 -[11528] Forked 26277 -(26276) found -(26277) found -[11527] Forked 26278 -[11526] Forked 26279 -(26278) found -(26279) found -[11525] Forked 26280 -[11524] Forked 26281 -(26280) found -(26281) found -[11523] Forked 26282 -[11522] Forked 26283 -(26282) found -(26283) found -[11521] Forked 26284 -[11520] Forked 26285 -(26284) found -(26285) found -[11519] Forked 26286 -[11518] Forked 26287 -(26286) found -(26287) found -[11517] Forked 26288 -[11516] Forked 26289 -(26288) found -(26289) found -[11515] Forked 26290 -[11514] Forked 26291 -(26290) found -(26291) found -[11513] Forked 26292 -[11512] Forked 26293 -(26292) found -(26293) found -[11511] Forked 26294 -[11510] Forked 26295 -(26294) found -(26295) found -[11509] Forked 26296 -[11508] Forked 26297 -(26296) found -(26297) found -[11507] Forked 26298 -[11506] Forked 26299 -(26298) found -(26299) found -[11505] Forked 26300 -[11504] Forked 26301 -(26300) found -(26301) found -[11503] Forked 26302 -[11502] Forked 26303 -(26302) found -(26303) found -[11501] Forked 26304 -[11500] Forked 26305 -(26304) found -(26305) found -[11499] Forked 26306 -[11498] Forked 26307 -(26306) found -(26307) found -[11497] Forked 26308 -[11496] Forked 26309 -(26308) found -(26309) found -[11495] Forked 26310 -[11494] Forked 26311 -(26310) found -(26311) found -[11493] Forked 26312 -[11492] Forked 26314 -(26312) found -(26314) found -[11491] Forked 26315 -(26315) found -[11490] Forked 26316 -(26316) found -[11489] Forked 26317 -(26317) found -[11488] Forked 26318 -(26318) found -[11487] Forked 26319 -(26319) found -[11486] Forked 26320 -(26320) found -[11485] Forked 26321 -(26321) found -[11484] Forked 26322 -(26322) found -[11483] Forked 26323 -(26323) found -[11482] Forked 26324 -(26324) found -[11481] Forked 26325 -(26325) found -[11480] Forked 26326 -(26326) found -[11479] Forked 26327 -(26327) found -[11478] Forked 26328 -(26328) found -[11477] Forked 26329 -(26329) found -[11476] Forked 26330 -(26330) found -[11475] Forked 26331 -(26331) found -[11474] Forked 26332 -(26332) found -[11473] Forked 26333 -(26333) found -[11472] Forked 26334 -(26334) found -[11471] Forked 26335 -(26335) found -[11470] Forked 26336 -(26336) found -[11469] Forked 26337 -(26337) found -[11468] Forked 26338 -(26338) found -[11467] Forked 26339 -(26339) found -[11466] Forked 26340 -(26340) found -[11465] Forked 26341 -(26341) found -[11464] Forked 26342 -(26342) found -[11463] Forked 26343 -(26343) found -[11462] Forked 26344 -(26344) found -[11461] Forked 26345 -(26345) found -[11460] Forked 26346 -(26346) found -[11459] Forked 26347 -(26347) found -[11458] Forked 26348 -(26348) found -[11457] Forked 26349 -(26349) found -[11456] Forked 26350 -(26350) found -[11455] Forked 26351 -(26351) found -[11454] Forked 26352 -(26352) found -[11453] Forked 26353 -(26353) found -[11452] Forked 26354 -(26354) found -[11451] Forked 26355 -(26355) found -[11450] Forked 26356 -(26356) found -[11449] Forked 26357 -(26357) found -[11448] Forked 26358 -(26358) found -[11447] Forked 26359 -(26359) found -[11446] Forked 26360 -(26360) found -[11445] Forked 26361 -(26361) found -[11444] Forked 26362 -(26362) found -[11443] Forked 26363 -(26363) found -[11442] Forked 26364 -(26364) found -[11441] Forked 26365 -(26365) found -[11440] Forked 26366 -(26366) found -[11439] Forked 26367 -(26367) found -[11438] Forked 26368 -(26368) found -[11437] Forked 26369 -(26369) found -[11436] Forked 26370 -(26370) found -[11435] Forked 26371 -(26371) found -[11434] Forked 26372 -(26372) found -[11433] Forked 26373 -(26373) found -[11432] Forked 26374 -(26374) found -[11431] Forked 26375 -(26375) found -[11430] Forked 26376 -(26376) found -[11429] Forked 26377 -(26377) found -[11428] Forked 26378 -(26378) found -[11427] Forked 26379 -(26379) found -[11426] Forked 26380 -(26380) found -[11425] Forked 26381 -(26381) found -[11424] Forked 26382 -(26382) found -[11423] Forked 26383 -(26383) found -[11422] Forked 26384 -(26384) found -[11421] Forked 26385 -(26385) found -[11420] Forked 26386 -(26386) found -[11419] Forked 26387 -(26387) found -[11418] Forked 26388 -(26388) found -[11417] Forked 26389 -(26389) found -[11416] Forked 26390 -(26390) found -[11415] Forked 26391 -(26391) found -[11414] Forked 26392 -(26392) found -[11413] Forked 26393 -(26393) found -[11412] Forked 26394 -(26394) found -[11411] Forked 26395 -(26395) found -[11410] Forked 26396 -(26396) found -[11409] Forked 26397 -(26397) found -[11408] Forked 26398 -(26398) found -[11407] Forked 26399 -(26399) found -[11406] Forked 26400 -(26400) found -[11405] Forked 26401 -(26401) found -[11404] Forked 26402 -(26402) found -[11403] Forked 26403 -(26403) found -[11402] Forked 26404 -(26404) found -[11401] Forked 26405 -(26405) found -[11400] Forked 26406 -(26406) found -[11399] Forked 26407 -(26407) found -[11398] Forked 26408 -(26408) found -[11397] Forked 26409 -(26409) found -[11396] Forked 26410 -(26410) found -[11395] Forked 26411 -(26411) found -[11394] Forked 26412 -(26412) found -[11393] Forked 26413 -(26413) found -[11392] Forked 26414 -(26414) found -[11391] Forked 26415 -(26415) found -[11390] Forked 26416 -(26416) found -[11389] Forked 26417 -(26417) found -[11388] Forked 26418 -(26418) found -[11387] Forked 26419 -(26419) found -[11386] Forked 26420 -(26420) found -[11385] Forked 26421 -(26421) found -[11384] Forked 26422 -(26422) found -[11383] Forked 26423 -(26423) found -[11382] Forked 26424 -(26424) found -[11381] Forked 26425 -(26425) found -[11380] Forked 26426 -(26426) found -[11379] Forked 26427 -(26427) found -[11378] Forked 26428 -(26428) found -[11377] Forked 26429 -(26429) found -[11376] Forked 26430 -(26430) found -[11375] Forked 26431 -(26431) found -[11374] Forked 26432 -(26432) found -[11373] Forked 26433 -(26433) found -[11372] Forked 26434 -(26434) found -[11371] Forked 26435 -(26435) found -[11370] Forked 26436 -(26436) found -[11369] Forked 26437 -(26437) found -[11368] Forked 26438 -(26438) found -[11367] Forked 26439 -(26439) found -[11366] Forked 26440 -(26440) found -[11365] Forked 26441 -(26441) found -[11364] Forked 26442 -(26442) found -[11363] Forked 26443 -(26443) found -[11362] Forked 26444 -(26444) found -[11361] Forked 26445 -(26445) found -[11360] Forked 26446 -(26446) found -[11359] Forked 26447 -(26447) found -[11358] Forked 26448 -(26448) found -[11357] Forked 26449 -(26449) found -[11356] Forked 26450 -(26450) found -[11355] Forked 26451 -(26451) found -[11354] Forked 26452 -(26452) found -[11353] Forked 26453 -(26453) found -[11352] Forked 26454 -(26454) found -[11351] Forked 26455 -(26455) found -[11350] Forked 26456 -(26456) found -[11349] Forked 26457 -(26457) found -[11348] Forked 26458 -(26458) found -[11347] Forked 26459 -(26459) found -[11346] Forked 26460 -(26460) found -[11345] Forked 26461 -(26461) found -[11344] Forked 26462 -(26462) found -[11343] Forked 26463 -(26463) found -[11342] Forked 26464 -(26464) found -[11341] Forked 26465 -(26465) found -[11340] Forked 26466 -(26466) found -[11339] Forked 26467 -(26467) found -[11338] Forked 26468 -(26468) found -[11337] Forked 26469 -(26469) found -[11336] Forked 26470 -(26470) found -[11335] Forked 26471 -(26471) found -[11334] Forked 26472 -(26472) found -[11333] Forked 26473 -(26473) found -[11332] Forked 26474 -(26474) found -[11331] Forked 26475 -(26475) found -[11330] Forked 26476 -(26476) found -[11329] Forked 26477 -(26477) found -[11328] Forked 26478 -(26478) found -[11327] Forked 26479 -(26479) found -[11326] Forked 26480 -(26480) found -[11325] Forked 26481 -(26481) found -[11324] Forked 26482 -(26482) found -[11323] Forked 26483 -(26483) found -[11322] Forked 26484 -(26484) found -[11321] Forked 26485 -(26485) found -[11320] Forked 26486 -(26486) found -[11319] Forked 26487 -(26487) found -[11318] Forked 26488 -(26488) found -[11317] Forked 26489 -(26489) found -[11316] Forked 26490 -(26490) found -[11315] Forked 26491 -(26491) found -[11314] Forked 26492 -(26492) found -[11313] Forked 26493 -[11312] Forked 26494 -(26493) found -(26494) found -[11311] Forked 26495 -[11310] Forked 26496 -(26495) found -(26496) found -[11309] Forked 26497 -[11308] Forked 26498 -(26497) found -(26498) found -[11307] Forked 26499 -[11306] Forked 26500 -(26499) found -(26500) found -[11305] Forked 26501 -[11304] Forked 26502 -(26501) found -(26502) found -[11303] Forked 26503 -[11302] Forked 26504 -(26503) found -(26504) found -[11301] Forked 26505 -[11300] Forked 26506 -(26505) found -(26506) found -[11299] Forked 26507 -[11298] Forked 26508 -(26507) found -(26508) found -[11297] Forked 26509 -[11296] Forked 26510 -(26509) found -(26510) found -[11295] Forked 26511 -[11294] Forked 26512 -(26511) found -(26512) found -[11293] Forked 26513 -[11292] Forked 26514 -(26513) found -(26514) found -[11291] Forked 26515 -[11290] Forked 26516 -(26515) found -(26516) found -[11289] Forked 26517 -[11288] Forked 26518 -(26517) found -(26518) found -[11287] Forked 26519 -[11286] Forked 26520 -(26519) found -(26520) found -[11285] Forked 26521 -[11284] Forked 26522 -(26521) found -(26522) found -[11283] Forked 26523 -[11282] Forked 26524 -(26523) found -(26524) found -[11281] Forked 26525 -[11280] Forked 26526 -(26525) found -(26526) found -[11279] Forked 26527 -[11278] Forked 26528 -(26527) found -(26528) found -[11277] Forked 26529 -[11276] Forked 26530 -(26529) found -(26530) found -[11275] Forked 26531 -[11274] Forked 26532 -(26531) found -(26532) found -[11273] Forked 26533 -[11272] Forked 26534 -(26533) found -(26534) found -[11271] Forked 26535 -[11270] Forked 26536 -(26535) found -(26536) found -[11269] Forked 26537 -[11268] Forked 26538 -(26537) found -(26538) found -[11267] Forked 26539 -(26539) found -[11266] Forked 26540 -(26540) found -[11265] Forked 26541 -(26541) found -[11264] Forked 26542 -(26542) found -[11263] Forked 26543 -(26543) found -[11262] Forked 26544 -(26544) found -[11261] Forked 26545 -(26545) found -[11260] Forked 26546 -(26546) found -[11259] Forked 26547 -(26547) found -[11258] Forked 26548 -(26548) found -[11257] Forked 26549 -(26549) found -[11256] Forked 26550 -(26550) found -[11255] Forked 26551 -(26551) found -[11254] Forked 26552 -(26552) found -[11253] Forked 26553 -(26553) found -[11252] Forked 26554 -(26554) found -[11251] Forked 26555 -(26555) found -[11250] Forked 26556 -(26556) found -[11249] Forked 26557 -(26557) found -[11248] Forked 26558 -(26558) found -[11247] Forked 26559 -(26559) found -[11246] Forked 26560 -(26560) found -[11245] Forked 26561 -(26561) found -[11244] Forked 26562 -(26562) found -[11243] Forked 26563 -(26563) found -[11242] Forked 26564 -(26564) found -[11241] Forked 26565 -(26565) found -[11240] Forked 26566 -(26566) found -[11239] Forked 26567 -(26567) found -[11238] Forked 26568 -(26568) found -[11237] Forked 26569 -(26569) found -[11236] Forked 26570 -(26570) found -[11235] Forked 26571 -(26571) found -[11234] Forked 26572 -(26572) found -[11233] Forked 26573 -(26573) found -[11232] Forked 26574 -(26574) found -[11231] Forked 26575 -[11230] Forked 26576 -(26575) found -(26576) found -[11229] Forked 26577 -[11228] Forked 26578 -(26577) found -(26578) found -[11227] Forked 26579 -[11226] Forked 26580 -(26579) found -(26580) found -[11225] Forked 26581 -[11224] Forked 26582 -(26581) found -(26582) found -[11223] Forked 26583 -[11222] Forked 26584 -(26583) found -(26584) found -[11221] Forked 26585 -[11220] Forked 26586 -(26585) found -(26586) found -[11219] Forked 26587 -[11218] Forked 26588 -(26587) found -(26588) found -[11217] Forked 26589 -[11216] Forked 26590 -(26589) found -(26590) found -[11215] Forked 26591 -[11214] Forked 26592 -(26591) found -(26592) found -[11213] Forked 26593 -[11212] Forked 26594 -(26593) found -(26594) found -[11211] Forked 26595 -[11210] Forked 26596 -(26595) found -(26596) found -[11209] Forked 26597 -[11208] Forked 26598 -(26597) found -(26598) found -[11207] Forked 26599 -[11206] Forked 26600 -(26599) found -(26600) found -[11205] Forked 26601 -[11204] Forked 26602 -(26601) found -(26602) found -[11203] Forked 26603 -[11202] Forked 26604 -(26603) found -(26604) found -[11201] Forked 26605 -[11200] Forked 26606 -(26605) found -(26606) found -[11199] Forked 26607 -[11198] Forked 26608 -(26607) found -(26608) found -[11197] Forked 26609 -[11196] Forked 26610 -(26609) found -(26610) found -[11195] Forked 26611 -[11194] Forked 26612 -(26611) found -(26612) found -[11193] Forked 26613 -[11192] Forked 26614 -(26613) found -(26614) found -[11191] Forked 26615 -[11190] Forked 26616 -(26615) found -(26616) found -[11189] Forked 26617 -[11188] Forked 26618 -(26617) found -(26618) found -[11187] Forked 26619 -[11186] Forked 26620 -(26619) found -(26620) found -[11185] Forked 26621 -(26621) found -[11184] Forked 26622 -(26622) found -[11183] Forked 26623 -(26623) found -[11182] Forked 26624 -(26624) found -[11181] Forked 26625 -(26625) found -[11180] Forked 26626 -(26626) found -[11179] Forked 26627 -(26627) found -[11178] Forked 26628 -(26628) found -[11177] Forked 26629 -(26629) found -[11176] Forked 26630 -(26630) found -[11175] Forked 26631 -(26631) found -[11174] Forked 26632 -(26632) found -[11173] Forked 26633 -(26633) found -[11172] Forked 26634 -(26634) found -[11171] Forked 26635 -(26635) found -[11170] Forked 26636 -(26636) found -[11169] Forked 26637 -(26637) found -[11168] Forked 26638 -(26638) found -[11167] Forked 26639 -(26639) found -[11166] Forked 26640 -(26640) found -[11165] Forked 26641 -(26641) found -[11164] Forked 26642 -(26642) found -[11163] Forked 26643 -(26643) found -[11162] Forked 26644 -(26644) found -[11161] Forked 26645 -(26645) found -[11160] Forked 26646 -(26646) found -[11159] Forked 26647 -(26647) found -[11158] Forked 26648 -(26648) found -[11157] Forked 26649 -(26649) found -[11156] Forked 26650 -(26650) found -[11155] Forked 26651 -(26651) found -[11154] Forked 26652 -(26652) found -[11153] Forked 26653 -(26653) found -[11152] Forked 26654 -(26654) found -[11151] Forked 26655 -[11150] Forked 26656 -(26655) found -(26656) found -[11149] Forked 26657 -[11148] Forked 26658 -(26657) found -(26658) found -[11147] Forked 26659 -[11146] Forked 26660 -(26659) found -(26660) found -[11145] Forked 26661 -[11144] Forked 26662 -(26661) found -(26662) found -[11143] Forked 26663 -[11142] Forked 26664 -(26663) found -(26664) found -[11141] Forked 26665 -[11140] Forked 26666 -(26665) found -(26666) found -[11139] Forked 26667 -[11138] Forked 26668 -(26667) found -(26668) found -[11137] Forked 26669 -[11136] Forked 26670 -(26669) found -(26670) found -[11135] Forked 26671 -[11134] Forked 26672 -(26671) found -(26672) found -[11133] Forked 26673 -[11132] Forked 26674 -(26674) found -(26673) found -[11131] Forked 26675 -(26675) found -[11130] Forked 26676 -(26676) found -[11129] Forked 26677 -(26677) found -[11128] Forked 26678 -(26678) found -[11127] Forked 26679 -(26679) found -[11126] Forked 26680 -(26680) found -[11125] Forked 26681 -(26681) found -[11124] Forked 26682 -(26682) found -[11123] Forked 26683 -(26683) found -[11122] Forked 26684 -(26684) found -[11121] Forked 26685 -(26685) found -[11120] Forked 26686 -(26686) found -[11119] Forked 26687 -(26687) found -[11118] Forked 26688 -(26688) found -[11117] Forked 26689 -(26689) found -[11116] Forked 26690 -(26690) found -[11115] Forked 26691 -(26691) found -[11114] Forked 26692 -(26692) found -[11113] Forked 26693 -(26693) found -[11112] Forked 26694 -(26694) found -[11111] Forked 26695 -(26695) found -[11110] Forked 26696 -(26696) found -[11109] Forked 26697 -(26697) found -[11108] Forked 26698 -(26698) found -[11107] Forked 26699 -(26699) found -[11106] Forked 26700 -(26700) found -[11105] Forked 26701 -(26701) found -[11104] Forked 26702 -(26702) found -[11103] Forked 26703 -(26703) found -[11102] Forked 26704 -(26704) found -[11101] Forked 26705 -(26705) found -[11100] Forked 26706 -(26706) found -[11099] Forked 26707 -(26707) found -[11098] Forked 26708 -(26708) found -[11097] Forked 26709 -(26709) found -[11096] Forked 26710 -(26710) found -[11095] Forked 26711 -(26711) found -[11094] Forked 26712 -(26712) found -[11093] Forked 26713 -(26713) found -[11092] Forked 26714 -(26714) found -[11091] Forked 26715 -(26715) found -[11090] Forked 26716 -(26716) found -[11089] Forked 26717 -(26717) found -[11088] Forked 26718 -(26718) found -[11087] Forked 26719 -(26719) found -[11086] Forked 26720 -(26720) found -[11085] Forked 26721 -(26721) found -[11084] Forked 26722 -(26722) found -[11083] Forked 26723 -(26723) found -[11082] Forked 26724 -(26724) found -[11081] Forked 26725 -[11080] Forked 26726 -(26725) found -(26726) found -[11079] Forked 26727 -[11078] Forked 26728 -(26727) found -(26728) found -[11077] Forked 26729 -[11076] Forked 26730 -(26729) found -(26730) found -[11075] Forked 26731 -[11074] Forked 26732 -(26731) found -(26732) found -[11073] Forked 26733 -[11072] Forked 26734 -(26733) found -(26734) found -[11071] Forked 26735 -[11070] Forked 26736 -(26735) found -(26736) found -[11069] Forked 26737 -[11068] Forked 26738 -(26737) found -(26738) found -[11067] Forked 26739 -[11066] Forked 26740 -(26739) found -(26740) found -[11065] Forked 26741 -[11064] Forked 26742 -(26741) found -(26742) found -[11063] Forked 26743 -[11062] Forked 26744 -(26743) found -(26744) found -[11061] Forked 26745 -[11060] Forked 26746 -(26745) found -(26746) found -[11059] Forked 26747 -[11058] Forked 26748 -(26747) found -(26748) found -[11057] Forked 26749 -[11056] Forked 26750 -(26749) found -(26750) found -[11055] Forked 26751 -[11054] Forked 26752 -(26751) found -(26752) found -[11053] Forked 26753 -[11052] Forked 26754 -(26753) found -(26754) found -[11051] Forked 26755 -[11050] Forked 26756 -(26755) found -(26756) found -[11049] Forked 26757 -[11048] Forked 26758 -(26757) found -(26758) found -[11047] Forked 26759 -[11046] Forked 26760 -(26759) found -(26760) found -[11045] Forked 26761 -[11044] Forked 26762 -(26761) found -(26762) found -[11043] Forked 26763 -[11042] Forked 26764 -(26763) found -(26764) found -[11041] Forked 26765 -[11040] Forked 26766 -(26765) found -(26766) found -[11039] Forked 26767 -[11038] Forked 26768 -(26767) found -(26768) found -[11037] Forked 26769 -[11036] Forked 26770 -(26769) found -(26770) found -[11035] Forked 26771 -[11034] Forked 26772 -(26771) found -(26772) found -[11033] Forked 26773 -[11032] Forked 26774 -(26773) found -(26774) found -[11031] Forked 26775 -[11030] Forked 26776 -(26775) found -(26776) found -[11029] Forked 26777 -[11028] Forked 26778 -(26777) found -(26778) found -[11027] Forked 26779 -[11026] Forked 26780 -(26779) found -(26780) found -[11025] Forked 26781 -(26781) found -[11024] Forked 26782 -[11023] Forked 26783 -(26782) found -(26783) found -[11022] Forked 26784 -[11021] Forked 26785 -(26784) found -(26785) found -[11020] Forked 26786 -[11019] Forked 26787 -(26786) found -(26787) found -[11018] Forked 26788 -[11017] Forked 26789 -(26788) found -(26789) found -[11016] Forked 26790 -[11015] Forked 26791 -(26790) found -(26791) found -[11014] Forked 26792 -[11013] Forked 26793 -(26792) found -(26793) found -[11012] Forked 26794 -[11011] Forked 26795 -(26794) found -(26795) found -[11010] Forked 26796 -[11009] Forked 26797 -(26796) found -(26797) found -[11008] Forked 26798 -[11007] Forked 26799 -(26798) found -(26799) found -[11006] Forked 26800 -[11005] Forked 26801 -(26800) found -(26801) found -[11004] Forked 26802 -[11003] Forked 26803 -(26802) found -(26803) found -[11002] Forked 26804 -[11001] Forked 26805 -(26804) found -(26805) found -[11000] Forked 26806 -[10999] Forked 26807 -(26806) found -(26807) found -[10998] Forked 26808 -[10997] Forked 26809 -(26808) found -(26809) found -[10996] Forked 26810 -[10995] Forked 26811 -(26810) found -(26811) found -[10994] Forked 26812 -(26812) found -[10993] Forked 26813 -(26813) found -[10992] Forked 26814 -(26814) found -[10991] Forked 26815 -(26815) found -[10990] Forked 26816 -(26816) found -[10989] Forked 26817 -(26817) found -[10988] Forked 26818 -(26818) found -[10987] Forked 26819 -(26819) found -[10986] Forked 26820 -(26820) found -[10985] Forked 26822 -(26822) found -[10984] Forked 26823 -(26823) found -[10983] Forked 26824 -(26824) found -[10982] Forked 26825 -(26825) found -[10981] Forked 26826 -(26826) found -[10980] Forked 26827 -(26827) found -[10979] Forked 26828 -(26828) found -[10978] Forked 26829 -(26829) found -[10977] Forked 26830 -(26830) found -[10976] Forked 26831 -(26831) found -[10975] Forked 26832 -(26832) found -[10974] Forked 26833 -(26833) found -[10973] Forked 26834 -(26834) found -[10972] Forked 26835 -(26835) found -[10971] Forked 26836 -(26836) found -[10970] Forked 26837 -(26837) found -[10969] Forked 26838 -(26838) found -[10968] Forked 26839 -(26839) found -[10967] Forked 26840 -(26840) found -[10966] Forked 26841 -(26841) found -[10965] Forked 26842 -(26842) found -[10964] Forked 26843 -(26843) found -[10963] Forked 26844 -(26844) found -[10962] Forked 26845 -(26845) found -[10961] Forked 26846 -(26846) found -[10960] Forked 26847 -(26847) found -[10959] Forked 26848 -(26848) found -[10958] Forked 26849 -(26849) found -[10957] Forked 26850 -(26850) found -[10956] Forked 26851 -(26851) found -[10955] Forked 26852 -(26852) found -[10954] Forked 26853 -(26853) found -[10953] Forked 26854 -(26854) found -[10952] Forked 26855 -(26855) found -[10951] Forked 26856 -(26856) found -[10950] Forked 26857 -(26857) found -[10949] Forked 26858 -(26858) found -[10948] Forked 26859 -(26859) found -[10947] Forked 26860 -(26860) found -[10946] Forked 26861 -(26861) found -[10945] Forked 26862 -(26862) found -[10944] Forked 26863 -(26863) found -[10943] Forked 26864 -(26864) found -[10942] Forked 26865 -(26865) found -[10941] Forked 26866 -(26866) found -[10940] Forked 26867 -(26867) found -[10939] Forked 26868 -(26868) found -[10938] Forked 26869 -(26869) found -[10937] Forked 26870 -(26870) found -[10936] Forked 26871 -(26871) found -[10935] Forked 26872 -(26872) found -[10934] Forked 26873 -(26873) found -[10933] Forked 26874 -(26874) found -[10932] Forked 26875 -(26875) found -[10931] Forked 26876 -(26876) found -[10930] Forked 26877 -(26877) found -[10929] Forked 26878 -(26878) found -[10928] Forked 26879 -(26879) found -[10927] Forked 26880 -(26880) found -[10926] Forked 26881 -(26881) found -[10925] Forked 26882 -(26882) found -[10924] Forked 26883 -(26883) found -[10923] Forked 26884 -(26884) found -[10922] Forked 26885 -(26885) found -[10921] Forked 26886 -(26886) found -[10920] Forked 26887 -(26887) found -[10919] Forked 26888 -(26888) found -[10918] Forked 26889 -[10917] Forked 26890 -(26889) found -(26890) found -[10916] Forked 26891 -[10915] Forked 26892 -(26891) found -(26892) found -[10914] Forked 26893 -[10913] Forked 26894 -(26893) found -(26894) found -[10912] Forked 26895 -[10911] Forked 26896 -(26895) found -(26896) found -[10910] Forked 26897 -[10909] Forked 26898 -(26897) found -(26898) found -[10908] Forked 26899 -[10907] Forked 26900 -(26899) found -(26900) found -[10906] Forked 26901 -[10905] Forked 26902 -(26901) found -(26902) found -[10904] Forked 26903 -[10903] Forked 26904 -(26903) found -(26904) found -[10902] Forked 26905 -[10901] Forked 26906 -(26905) found -(26906) found -[10900] Forked 26907 -[10899] Forked 26908 -(26907) found -(26908) found -[10898] Forked 26909 -[10897] Forked 26910 -(26909) found -(26910) found -[10896] Forked 26911 -[10895] Forked 26912 -(26911) found -(26912) found -[10894] Forked 26913 -[10893] Forked 26914 -(26913) found -(26914) found -[10892] Forked 26915 -[10891] Forked 26916 -(26915) found -(26916) found -[10890] Forked 26917 -[10889] Forked 26918 -(26917) found -(26918) found -[10888] Forked 26919 -[10887] Forked 26920 -(26919) found -(26920) found -[10886] Forked 26921 -[10885] Forked 26922 -(26921) found -(26922) found -[10884] Forked 26923 -[10883] Forked 26924 -(26923) found -(26924) found -[10882] Forked 26925 -[10881] Forked 26926 -(26925) found -(26926) found -[10880] Forked 26927 -[10879] Forked 26928 -(26927) found -(26928) found -[10878] Forked 26929 -[10877] Forked 26930 -(26929) found -(26930) found -[10876] Forked 26931 -[10875] Forked 26932 -(26931) found -(26932) found -[10874] Forked 26933 -[10873] Forked 26934 -(26933) found -(26934) found -[10872] Forked 26935 -(26935) found -[10871] Forked 26936 -(26936) found -[10870] Forked 26937 -(26937) found -[10869] Forked 26938 -(26938) found -[10868] Forked 26939 -(26939) found -[10867] Forked 26940 -(26940) found -[10866] Forked 26941 -(26941) found -[10865] Forked 26942 -(26942) found -[10864] Forked 26943 -(26943) found -[10863] Forked 26944 -(26944) found -[10862] Forked 26945 -(26945) found -[10861] Forked 26946 -(26946) found -[10860] Forked 26947 -(26947) found -[10859] Forked 26948 -(26948) found -[10858] Forked 26949 -(26949) found -[10857] Forked 26950 -(26950) found -[10856] Forked 26951 -(26951) found -[10855] Forked 26952 -(26952) found -[10854] Forked 26953 -(26953) found -[10853] Forked 26954 -(26954) found -[10852] Forked 26955 -(26955) found -[10851] Forked 26956 -(26956) found -[10850] Forked 26957 -(26957) found -[10849] Forked 26958 -(26958) found -[10848] Forked 26959 -(26959) found -[10847] Forked 26960 -(26960) found -[10846] Forked 26961 -(26961) found -[10845] Forked 26962 -(26962) found -[10844] Forked 26963 -(26963) found -[10843] Forked 26964 -(26964) found -[10842] Forked 26965 -(26965) found -[10841] Forked 26966 -(26966) found -[10840] Forked 26967 -(26967) found -[10839] Forked 26968 -(26968) found -[10838] Forked 26969 -(26969) found -[10837] Forked 26970 -[10836] Forked 26971 -(26970) found -(26971) found -[10835] Forked 26972 -[10834] Forked 26973 -(26972) found -(26973) found -[10833] Forked 26974 -[10832] Forked 26975 -(26974) found -(26975) found -[10831] Forked 26976 -[10830] Forked 26977 -(26976) found -(26977) found -[10829] Forked 26978 -[10828] Forked 26979 -(26978) found -(26979) found -[10827] Forked 26980 -[10826] Forked 26981 -(26980) found -(26981) found -[10825] Forked 26982 -[10824] Forked 26983 -(26982) found -(26983) found -[10823] Forked 26984 -[10822] Forked 26985 -(26984) found -(26985) found -[10821] Forked 26986 -[10820] Forked 26987 -(26986) found -(26987) found -[10819] Forked 26988 -[10818] Forked 26989 -(26988) found -(26989) found -[10817] Forked 26990 -[10816] Forked 26991 -(26990) found -(26991) found -[10815] Forked 26992 -[10814] Forked 26993 -(26992) found -(26993) found -[10813] Forked 26994 -[10812] Forked 26995 -(26994) found -(26995) found -[10811] Forked 26996 -[10810] Forked 26997 -(26996) found -(26997) found -[10809] Forked 26998 -[10808] Forked 26999 -(26998) found -(26999) found -[10807] Forked 27000 -[10806] Forked 27001 -(27000) found -(27001) found -[10805] Forked 27002 -[10804] Forked 27003 -(27002) found -(27003) found -[10803] Forked 27004 -[10802] Forked 27005 -(27004) found -(27005) found -[10801] Forked 27006 -[10800] Forked 27007 -(27006) found -(27007) found -[10799] Forked 27008 -[10798] Forked 27009 -(27008) found -(27009) found -[10797] Forked 27010 -[10796] Forked 27011 -(27010) found -(27011) found -[10795] Forked 27012 -[10794] Forked 27013 -(27012) found -(27013) found -[10793] Forked 27014 -[10792] Forked 27015 -(27014) found -(27015) found -[10791] Forked 27016 -(27016) found -[10790] Forked 27017 -(27017) found -[10789] Forked 27018 -(27018) found -[10788] Forked 27019 -(27019) found -[10787] Forked 27020 -(27020) found -[10786] Forked 27021 -(27021) found -[10785] Forked 27022 -(27022) found -[10784] Forked 27023 -(27023) found -[10783] Forked 27024 -(27024) found -[10782] Forked 27025 -(27025) found -[10781] Forked 27026 -(27026) found -[10780] Forked 27027 -(27027) found -[10779] Forked 27028 -(27028) found -[10778] Forked 27029 -(27029) found -[10777] Forked 27030 -(27030) found -[10776] Forked 27031 -(27031) found -[10775] Forked 27032 -(27032) found -[10774] Forked 27033 -(27033) found -[10773] Forked 27034 -(27034) found -[10772] Forked 27035 -(27035) found -[10771] Forked 27036 -(27036) found -[10770] Forked 27037 -(27037) found -[10769] Forked 27038 -(27038) found -[10768] Forked 27039 -(27039) found -[10767] Forked 27040 -(27040) found -[10766] Forked 27041 -(27041) found -[10765] Forked 27042 -(27042) found -[10764] Forked 27043 -(27043) found -[10763] Forked 27044 -(27044) found -[10762] Forked 27045 -(27045) found -[10761] Forked 27046 -(27046) found -[10760] Forked 27047 -(27047) found -[10759] Forked 27048 -(27048) found -[10758] Forked 27049 -(27049) found -[10757] Forked 27050 -(27050) found -[10756] Forked 27051 -(27051) found -[10755] Forked 27052 -[10754] Forked 27053 -(27052) found -(27053) found -[10753] Forked 27054 -[10752] Forked 27055 -(27054) found -(27055) found -[10751] Forked 27056 -[10750] Forked 27057 -(27056) found -(27057) found -[10749] Forked 27058 -[10748] Forked 27059 -(27058) found -(27059) found -[10747] Forked 27060 -[10746] Forked 27061 -(27060) found -(27061) found -[10745] Forked 27062 -[10744] Forked 27063 -(27062) found -(27063) found -[10743] Forked 27064 -[10742] Forked 27065 -(27064) found -(27065) found -[10741] Forked 27066 -[10740] Forked 27067 -(27066) found -(27067) found -[10739] Forked 27068 -[10738] Forked 27069 -(27068) found -(27069) found -[10737] Forked 27070 -[10736] Forked 27071 -(27070) found -(27071) found -[10735] Forked 27072 -[10734] Forked 27073 -(27072) found -(27073) found -[10733] Forked 27074 -[10732] Forked 27075 -(27074) found -(27075) found -[10731] Forked 27076 -[10730] Forked 27077 -(27076) found -(27077) found -[10729] Forked 27078 -[10728] Forked 27079 -(27078) found -(27079) found -[10727] Forked 27080 -[10726] Forked 27081 -(27080) found -(27081) found -[10725] Forked 27082 -[10724] Forked 27083 -(27082) found -(27083) found -[10723] Forked 27084 -[10722] Forked 27085 -(27084) found -(27085) found -[10721] Forked 27086 -[10720] Forked 27087 -(27086) found -(27087) found -[10719] Forked 27088 -[10718] Forked 27089 -(27088) found -(27089) found -[10717] Forked 27090 -[10716] Forked 27091 -(27090) found -(27091) found -[10715] Forked 27092 -[10714] Forked 27093 -(27092) found -(27093) found -[10713] Forked 27094 -[10712] Forked 27095 -(27094) found -(27095) found -[10711] Forked 27096 -[10710] Forked 27097 -(27096) found -(27097) found -[10709] Forked 27098 -[10708] Forked 27099 -(27098) found -(27099) found -[10707] Forked 27100 -[10706] Forked 27101 -(27100) found -(27101) found -[10705] Forked 27102 -[10704] Forked 27103 -(27102) found -(27103) found -[10703] Forked 27104 -[10702] Forked 27105 -(27104) found -(27105) found -[10701] Forked 27106 -[10700] Forked 27107 -(27106) found -(27107) found -[10699] Forked 27108 -[10698] Forked 27109 -(27108) found -(27109) found -[10697] Forked 27110 -[10696] Forked 27111 -(27110) found -(27111) found -[10695] Forked 27112 -[10694] Forked 27113 -(27112) found -(27113) found -[10693] Forked 27114 -[10692] Forked 27115 -(27114) found -(27115) found -[10691] Forked 27116 -[10690] Forked 27117 -(27116) found -(27117) found -[10689] Forked 27118 -[10688] Forked 27119 -(27118) found -(27119) found -[10687] Forked 27120 -[10686] Forked 27121 -(27120) found -(27121) found -[10685] Forked 27122 -[10684] Forked 27123 -(27122) found -(27123) found -[10683] Forked 27124 -[10682] Forked 27125 -(27124) found -(27125) found -[10681] Forked 27126 -[10680] Forked 27127 -(27126) found -(27127) found -[10679] Forked 27128 -[10678] Forked 27129 -(27128) found -(27129) found -[10677] Forked 27130 -[10676] Forked 27131 -(27130) found -(27131) found -[10675] Forked 27132 -[10674] Forked 27133 -(27132) found -(27133) found -[10673] Forked 27134 -[10672] Forked 27135 -(27134) found -(27135) found -[10671] Forked 27136 -[10670] Forked 27138 -(27136) found -(27138) found -[10669] Forked 27139 -(27139) found -[10668] Forked 27140 -(27140) found -[10667] Forked 27141 -(27141) found -[10666] Forked 27142 -(27142) found -[10665] Forked 27143 -(27143) found -[10664] Forked 27144 -(27144) found -[10663] Forked 27145 -(27145) found -[10662] Forked 27146 -(27146) found -[10661] Forked 27147 -(27147) found -[10660] Forked 27148 -(27148) found -[10659] Forked 27149 -(27149) found -[10658] Forked 27150 -(27150) found -[10657] Forked 27151 -(27151) found -[10656] Forked 27152 -(27152) found -[10655] Forked 27153 -(27153) found -[10654] Forked 27154 -(27154) found -[10653] Forked 27155 -(27155) found -[10652] Forked 27156 -(27156) found -[10651] Forked 27157 -(27157) found -[10650] Forked 27158 -(27158) found -[10649] Forked 27159 -(27159) found -[10648] Forked 27160 -(27160) found -[10647] Forked 27161 -(27161) found -[10646] Forked 27162 -(27162) found -[10645] Forked 27163 -(27163) found -[10644] Forked 27164 -(27164) found -[10643] Forked 27165 -(27165) found -[10642] Forked 27166 -(27166) found -[10641] Forked 27167 -(27167) found -[10640] Forked 27168 -(27168) found -[10639] Forked 27169 -(27169) found -[10638] Forked 27170 -(27170) found -[10637] Forked 27171 -(27171) found -[10636] Forked 27172 -(27172) found -[10635] Forked 27173 -(27173) found -[10634] Forked 27174 -(27174) found -[10633] Forked 27175 -(27175) found -[10632] Forked 27176 -(27176) found -[10631] Forked 27177 -(27177) found -[10630] Forked 27178 -(27178) found -[10629] Forked 27179 -(27179) found -[10628] Forked 27180 -(27180) found -[10627] Forked 27181 -(27181) found -[10626] Forked 27182 -(27182) found -[10625] Forked 27183 -(27183) found -[10624] Forked 27184 -(27184) found -[10623] Forked 27185 -(27185) found -[10622] Forked 27186 -(27186) found -[10621] Forked 27187 -(27187) found -[10620] Forked 27188 -(27188) found -[10619] Forked 27189 -(27189) found -[10618] Forked 27190 -(27190) found -[10617] Forked 27191 -(27191) found -[10616] Forked 27192 -(27192) found -[10615] Forked 27193 -(27193) found -[10614] Forked 27194 -(27194) found -[10613] Forked 27195 -(27195) found -[10612] Forked 27196 -(27196) found -[10611] Forked 27197 -(27197) found -[10610] Forked 27198 -(27198) found -[10609] Forked 27199 -(27199) found -[10608] Forked 27200 -(27200) found -[10607] Forked 27201 -(27201) found -[10606] Forked 27202 -(27202) found -[10605] Forked 27203 -(27203) found -[10604] Forked 27204 -(27204) found -[10603] Forked 27205 -(27205) found -[10602] Forked 27206 -(27206) found -[10601] Forked 27207 -(27207) found -[10600] Forked 27208 -(27208) found -[10599] Forked 27209 -(27209) found -[10598] Forked 27210 -(27210) found -[10597] Forked 27211 -(27211) found -[10596] Forked 27212 -(27212) found -[10595] Forked 27213 -(27213) found -[10594] Forked 27214 -(27214) found -[10593] Forked 27215 -(27215) found -[10592] Forked 27216 -(27216) found -[10591] Forked 27217 -(27217) found -[10590] Forked 27218 -(27218) found -[10589] Forked 27219 -(27219) found -[10588] Forked 27220 -(27220) found -[10587] Forked 27221 -(27221) found -[10586] Forked 27222 -(27222) found -[10585] Forked 27223 -(27223) found -[10584] Forked 27224 -(27224) found -[10583] Forked 27225 -(27225) found -[10582] Forked 27226 -(27226) found -[10581] Forked 27227 -(27227) found -[10580] Forked 27228 -(27228) found -[10579] Forked 27229 -(27229) found -[10578] Forked 27230 -(27230) found -[10577] Forked 27231 -(27231) found -[10576] Forked 27232 -(27232) found -[10575] Forked 27233 -(27233) found -[10574] Forked 27234 -(27234) found -[10573] Forked 27235 -(27235) found -[10572] Forked 27236 -(27236) found -[10571] Forked 27237 -(27237) found -[10570] Forked 27238 -(27238) found -[10569] Forked 27239 -(27239) found -[10568] Forked 27240 -(27240) found -[10567] Forked 27241 -(27241) found -[10566] Forked 27242 -(27242) found -[10565] Forked 27243 -(27243) found -[10564] Forked 27244 -(27244) found -[10563] Forked 27245 -(27245) found -[10562] Forked 27246 -(27246) found -[10561] Forked 27247 -(27247) found -[10560] Forked 27248 -(27248) found -[10559] Forked 27249 -(27249) found -[10558] Forked 27250 -[10557] Forked 27251 -(27250) found -(27251) found -[10556] Forked 27252 -[10555] Forked 27253 -(27252) found -(27253) found -[10554] Forked 27254 -[10553] Forked 27255 -(27254) found -(27255) found -[10552] Forked 27256 -[10551] Forked 27257 -(27256) found -(27257) found -[10550] Forked 27258 -[10549] Forked 27259 -(27258) found -(27259) found -[10548] Forked 27260 -[10547] Forked 27261 -(27260) found -(27261) found -[10546] Forked 27262 -[10545] Forked 27263 -(27262) found -(27263) found -[10544] Forked 27264 -[10543] Forked 27265 -(27264) found -(27265) found -[10542] Forked 27266 -[10541] Forked 27267 -(27266) found -(27267) found -[10540] Forked 27268 -[10539] Forked 27269 -(27268) found -(27269) found -[10538] Forked 27270 -[10537] Forked 27271 -(27270) found -(27271) found -[10536] Forked 27272 -[10535] Forked 27273 -(27272) found -(27273) found -[10534] Forked 27274 -[10533] Forked 27275 -(27274) found -(27275) found -[10532] Forked 27276 -[10531] Forked 27277 -(27276) found -(27277) found -[10530] Forked 27278 -[10529] Forked 27279 -(27278) found -(27279) found -[10528] Forked 27280 -[10527] Forked 27281 -(27280) found -(27281) found -[10526] Forked 27282 -[10525] Forked 27283 -(27282) found -(27283) found -[10524] Forked 27284 -[10523] Forked 27285 -(27284) found -(27285) found -[10522] Forked 27286 -[10521] Forked 27287 -(27286) found -(27287) found -[10520] Forked 27288 -[10519] Forked 27289 -(27288) found -(27289) found -[10518] Forked 27290 -[10517] Forked 27291 -(27290) found -(27291) found -[10516] Forked 27292 -[10515] Forked 27293 -(27292) found -(27293) found -[10514] Forked 27294 -(27294) found -[10513] Forked 27295 -(27295) found -[10512] Forked 27296 -(27296) found -[10511] Forked 27297 -(27297) found -[10510] Forked 27298 -(27298) found -[10509] Forked 27299 -(27299) found -[10508] Forked 27300 -(27300) found -[10507] Forked 27301 -(27301) found -[10506] Forked 27302 -(27302) found -[10505] Forked 27303 -(27303) found -[10504] Forked 27304 -(27304) found -[10503] Forked 27305 -(27305) found -[10502] Forked 27306 -(27306) found -[10501] Forked 27307 -(27307) found -[10500] Forked 27308 -(27308) found -[10499] Forked 27309 -(27309) found -[10498] Forked 27310 -(27310) found -[10497] Forked 27311 -(27311) found -[10496] Forked 27312 -(27312) found -[10495] Forked 27313 -(27313) found -[10494] Forked 27314 -(27314) found -[10493] Forked 27315 -(27315) found -[10492] Forked 27316 -(27316) found -[10491] Forked 27317 -(27317) found -[10490] Forked 27318 -(27318) found -[10489] Forked 27319 -(27319) found -[10488] Forked 27320 -(27320) found -[10487] Forked 27321 -(27321) found -[10486] Forked 27322 -(27322) found -[10485] Forked 27323 -(27323) found -[10484] Forked 27324 -(27324) found -[10483] Forked 27325 -(27325) found -[10482] Forked 27326 -(27326) found -[10481] Forked 27327 -(27327) found -[10480] Forked 27328 -(27328) found -[10479] Forked 27329 -(27329) found -[10478] Forked 27330 -(27330) found -[10477] Forked 27331 -[10476] Forked 27332 -(27331) found -(27332) found -[10475] Forked 27333 -[10474] Forked 27334 -(27333) found -(27334) found -[10473] Forked 27335 -[10472] Forked 27336 -(27335) found -(27336) found -[10471] Forked 27337 -[10470] Forked 27338 -(27337) found -(27338) found -[10469] Forked 27339 -[10468] Forked 27340 -(27339) found -(27340) found -[10467] Forked 27341 -(27341) found -[10466] Forked 27342 -(27342) found -[10465] Forked 27343 -[10464] Forked 27344 -(27343) found -(27344) found -[10463] Forked 27345 -[10462] Forked 27346 -(27345) found -(27346) found -[10461] Forked 27347 -[10460] Forked 27348 -(27347) found -(27348) found -[10459] Forked 27349 -[10458] Forked 27350 -(27349) found -(27350) found -[10457] Forked 27351 -[10456] Forked 27352 -(27351) found -(27352) found -[10455] Forked 27353 -[10454] Forked 27354 -(27353) found -(27354) found -[10453] Forked 27355 -[10452] Forked 27356 -(27355) found -(27356) found -[10451] Forked 27357 -[10450] Forked 27358 -(27357) found -(27358) found -[10449] Forked 27359 -[10448] Forked 27360 -(27359) found -(27360) found -[10447] Forked 27361 -[10446] Forked 27362 -(27361) found -(27362) found -[10445] Forked 27363 -[10444] Forked 27364 -(27363) found -(27364) found -[10443] Forked 27365 -[10442] Forked 27366 -(27365) found -(27366) found -[10441] Forked 27367 -[10440] Forked 27368 -(27367) found -(27368) found -[10439] Forked 27369 -(27369) found -[10438] Forked 27370 -[10437] Forked 27371 -(27370) found -(27371) found -[10436] Forked 27372 -[10435] Forked 27373 -[10434] Forked 27374 -(27372) found -(27373) found -(27374) found -[10433] Forked 27375 -(27375) found -[10432] Forked 27376 -(27376) found -[10431] Forked 27377 -(27377) found -[10430] Forked 27378 -(27378) found -[10429] Forked 27379 -(27379) found -[10428] Forked 27380 -(27380) found -[10427] Forked 27381 -(27381) found -[10426] Forked 27382 -(27382) found -[10425] Forked 27383 -(27383) found -[10424] Forked 27384 -(27384) found -[10423] Forked 27385 -(27385) found -[10422] Forked 27386 -(27386) found -[10421] Forked 27387 -(27387) found -[10420] Forked 27388 -(27388) found -[10419] Forked 27389 -(27389) found -[10418] Forked 27390 -(27390) found -[10417] Forked 27391 -(27391) found -[10416] Forked 27392 -(27392) found -[10415] Forked 27393 -(27393) found -[10414] Forked 27394 -(27394) found -[10413] Forked 27395 -(27395) found -[10412] Forked 27396 -(27396) found -[10411] Forked 27397 -(27397) found -[10410] Forked 27398 -(27398) found -[10409] Forked 27399 -(27399) found -[10408] Forked 27400 -(27400) found -[10407] Forked 27401 -(27401) found -[10406] Forked 27402 -(27402) found -[10405] Forked 27403 -(27403) found -[10404] Forked 27404 -(27404) found -[10403] Forked 27405 -(27405) found -[10402] Forked 27406 -(27406) found -[10401] Forked 27407 -(27407) found -[10400] Forked 27408 -(27408) found -[10399] Forked 27409 -(27409) found -[10398] Forked 27410 -(27410) found -[10397] Forked 27411 -[10396] Forked 27412 -(27411) found -(27412) found -[10395] Forked 27413 -[10394] Forked 27414 -(27413) found -(27414) found -[10393] Forked 27415 -[10392] Forked 27416 -(27415) found -(27416) found -[10391] Forked 27417 -[10390] Forked 27418 -(27417) found -(27418) found -[10389] Forked 27419 -[10388] Forked 27420 -(27419) found -(27420) found -[10387] Forked 27421 -[10386] Forked 27422 -(27421) found -(27422) found -[10385] Forked 27423 -[10384] Forked 27424 -(27423) found -(27424) found -[10383] Forked 27425 -[10382] Forked 27426 -(27425) found -(27426) found -[10381] Forked 27427 -[10380] Forked 27428 -(27427) found -(27428) found -[10379] Forked 27429 -[10378] Forked 27430 -(27429) found -(27430) found -[10377] Forked 27431 -[10376] Forked 27432 -(27431) found -(27432) found -[10375] Forked 27433 -[10374] Forked 27434 -(27433) found -(27434) found -[10373] Forked 27435 -[10372] Forked 27436 -(27435) found -(27436) found -[10371] Forked 27437 -[10370] Forked 27438 -(27437) found -(27438) found -[10369] Forked 27439 -[10368] Forked 27440 -(27439) found -(27440) found -[10367] Forked 27441 -[10366] Forked 27442 -(27441) found -(27442) found -[10365] Forked 27443 -[10364] Forked 27444 -(27443) found -(27444) found -[10363] Forked 27445 -[10362] Forked 27446 -(27445) found -(27446) found -[10361] Forked 27447 -[10360] Forked 27448 -(27447) found -(27448) found -[10359] Forked 27449 -[10358] Forked 27450 -(27449) found -(27450) found -[10357] Forked 27451 -[10356] Forked 27452 -(27451) found -(27452) found -[10355] Forked 27453 -[10354] Forked 27454 -(27453) found -(27454) found -[10353] Forked 27455 -(27455) found -[10352] Forked 27456 -(27456) found -[10351] Forked 27457 -(27457) found -[10350] Forked 27458 -(27458) found -[10349] Forked 27459 -(27459) found -[10348] Forked 27460 -(27460) found -[10347] Forked 27461 -(27461) found -[10346] Forked 27462 -(27462) found -[10345] Forked 27463 -(27463) found -[10344] Forked 27464 -(27464) found -[10343] Forked 27465 -(27465) found -[10342] Forked 27466 -(27466) found -[10341] Forked 27467 -(27467) found -[10340] Forked 27468 -(27468) found -[10339] Forked 27469 -(27469) found -[10338] Forked 27470 -(27470) found -[10337] Forked 27471 -(27471) found -[10336] Forked 27472 -(27472) found -[10335] Forked 27473 -(27473) found -[10334] Forked 27474 -(27474) found -[10333] Forked 27475 -(27475) found -[10332] Forked 27476 -(27476) found -[10331] Forked 27477 -(27477) found -[10330] Forked 27478 -(27478) found -[10329] Forked 27479 -(27479) found -[10328] Forked 27480 -(27480) found -[10327] Forked 27481 -(27481) found -[10326] Forked 27482 -(27482) found -[10325] Forked 27483 -(27483) found -[10324] Forked 27484 -(27484) found -[10323] Forked 27485 -(27485) found -[10322] Forked 27486 -(27486) found -[10321] Forked 27487 -(27487) found -[10320] Forked 27488 -(27488) found -[10319] Forked 27489 -(27489) found -[10318] Forked 27490 -(27490) found -[10317] Forked 27491 -(27491) found -[10316] Forked 27492 -(27492) found -[10315] Forked 27493 -[10314] Forked 27494 -(27493) found -(27494) found -[10313] Forked 27495 -[10312] Forked 27496 -(27495) found -(27496) found -[10311] Forked 27497 -[10310] Forked 27498 -(27497) found -(27498) found -[10309] Forked 27499 -[10308] Forked 27500 -(27499) found -(27500) found -[10307] Forked 27501 -[10306] Forked 27502 -(27501) found -(27502) found -[10305] Forked 27503 -[10304] Forked 27504 -(27503) found -(27504) found -[10303] Forked 27505 -[10302] Forked 27506 -(27505) found -(27506) found -[10301] Forked 27507 -[10300] Forked 27508 -(27507) found -(27508) found -[10299] Forked 27509 -[10298] Forked 27510 -(27509) found -(27510) found -[10297] Forked 27511 -[10296] Forked 27512 -(27511) found -(27512) found -[10295] Forked 27513 -[10294] Forked 27514 -(27513) found -(27514) found -[10293] Forked 27515 -[10292] Forked 27516 -(27515) found -(27516) found -[10291] Forked 27517 -[10290] Forked 27518 -(27517) found -(27518) found -[10289] Forked 27519 -[10288] Forked 27520 -(27519) found -(27520) found -[10287] Forked 27521 -[10286] Forked 27522 -(27521) found -(27522) found -[10285] Forked 27523 -[10284] Forked 27524 -(27523) found -(27524) found -[10283] Forked 27525 -[10282] Forked 27526 -(27525) found -(27526) found -[10281] Forked 27527 -[10280] Forked 27528 -(27527) found -(27528) found -[10279] Forked 27529 -[10278] Forked 27530 -(27529) found -(27530) found -[10277] Forked 27531 -[10276] Forked 27532 -(27531) found -(27532) found -[10275] Forked 27533 -[10274] Forked 27534 -(27533) found -(27534) found -[10273] Forked 27535 -[10272] Forked 27536 -(27535) found -(27536) found -[10271] Forked 27537 -(27537) found -[10270] Forked 27538 -(27538) found -[10269] Forked 27539 -(27539) found -[10268] Forked 27540 -(27540) found -[10267] Forked 27541 -(27541) found -[10266] Forked 27542 -(27542) found -[10265] Forked 27543 -(27543) found -[10264] Forked 27544 -(27544) found -[10263] Forked 27545 -(27545) found -[10262] Forked 27546 -(27546) found -[10261] Forked 27547 -(27547) found -[10260] Forked 27548 -(27548) found -[10259] Forked 27549 -(27549) found -[10258] Forked 27550 -(27550) found -[10257] Forked 27551 -(27551) found -[10256] Forked 27552 -(27552) found -[10255] Forked 27553 -(27553) found -[10254] Forked 27554 -(27554) found -[10253] Forked 27555 -(27555) found -[10252] Forked 27556 -(27556) found -[10251] Forked 27557 -(27557) found -[10250] Forked 27558 -(27558) found -[10249] Forked 27559 -(27559) found -[10248] Forked 27560 -(27560) found -[10247] Forked 27561 -(27561) found -[10246] Forked 27562 -(27562) found -[10245] Forked 27563 -(27563) found -[10244] Forked 27564 -(27564) found -[10243] Forked 27565 -(27565) found -[10242] Forked 27566 -(27566) found -[10241] Forked 27567 -(27567) found -[10240] Forked 27568 -(27568) found -[10239] Forked 27569 -(27569) found -[10238] Forked 27570 -(27570) found -[10237] Forked 27571 -(27571) found -[10236] Forked 27572 -(27572) found -[10235] Forked 27573 -(27573) found -[10234] Forked 27574 -(27574) found -[10233] Forked 27575 -(27575) found -[10232] Forked 27576 -[10231] Forked 27577 -(27576) found -(27577) found -[10230] Forked 27578 -[10229] Forked 27579 -(27578) found -(27579) found -[10228] Forked 27580 -[10227] Forked 27581 -(27580) found -(27581) found -[10226] Forked 27582 -[10225] Forked 27583 -(27582) found -(27583) found -[10224] Forked 27584 -[10223] Forked 27585 -(27584) found -(27585) found -[10222] Forked 27586 -[10221] Forked 27587 -(27586) found -(27587) found -[10220] Forked 27588 -[10219] Forked 27589 -(27588) found -(27589) found -[10218] Forked 27590 -[10217] Forked 27591 -(27590) found -(27591) found -[10216] Forked 27592 -[10215] Forked 27593 -(27592) found -(27593) found -[10214] Forked 27594 -[10213] Forked 27595 -(27594) found -(27595) found -[10212] Forked 27596 -[10211] Forked 27597 -(27596) found -(27597) found -[10210] Forked 27598 -[10209] Forked 27599 -(27598) found -(27599) found -[10208] Forked 27600 -[10207] Forked 27601 -(27600) found -(27601) found -[10206] Forked 27602 -[10205] Forked 27603 -(27602) found -(27603) found -[10204] Forked 27604 -[10203] Forked 27605 -(27604) found -(27605) found -[10202] Forked 27606 -[10201] Forked 27607 -(27606) found -(27607) found -[10200] Forked 27608 -[10199] Forked 27609 -(27608) found -(27609) found -[10198] Forked 27610 -[10197] Forked 27611 -(27610) found -(27611) found -[10196] Forked 27612 -[10195] Forked 27613 -(27612) found -(27613) found -[10194] Forked 27614 -[10193] Forked 27615 -(27614) found -(27615) found -[10192] Forked 27616 -[10191] Forked 27617 -(27616) found -(27617) found -[10190] Forked 27618 -[10189] Forked 27619 -(27618) found -(27619) found -[10188] Forked 27620 -(27620) found -[10187] Forked 27621 -(27621) found -[10186] Forked 27622 -(27622) found -[10185] Forked 27623 -(27623) found -[10184] Forked 27624 -(27624) found -[10183] Forked 27625 -(27625) found -[10182] Forked 27626 -(27626) found -[10181] Forked 27627 -(27627) found -[10180] Forked 27628 -(27628) found -[10179] Forked 27629 -(27629) found -[10178] Forked 27630 -(27630) found -[10177] Forked 27631 -(27631) found -[10176] Forked 27632 -(27632) found -[10175] Forked 27633 -(27633) found -[10174] Forked 27634 -(27634) found -[10173] Forked 27635 -(27635) found -[10172] Forked 27636 -(27636) found -[10171] Forked 27637 -(27637) found -[10170] Forked 27638 -(27638) found -[10169] Forked 27639 -(27639) found -[10168] Forked 27640 -(27640) found -[10167] Forked 27641 -(27641) found -[10166] Forked 27642 -(27642) found -[10165] Forked 27643 -(27643) found -[10164] Forked 27644 -(27644) found -[10163] Forked 27645 -(27645) found -[10162] Forked 27646 -(27646) found -[10161] Forked 27647 -(27647) found -[10160] Forked 27648 -(27648) found -[10159] Forked 27649 -(27649) found -[10158] Forked 27650 -(27650) found -[10157] Forked 27651 -(27651) found -[10156] Forked 27652 -(27652) found -[10155] Forked 27653 -(27653) found -[10154] Forked 27654 -(27654) found -[10153] Forked 27655 -(27655) found -[10152] Forked 27656 -(27656) found -[10151] Forked 27657 -(27657) found -[10150] Forked 27658 -[10149] Forked 27659 -(27658) found -(27659) found -[10148] Forked 27660 -[10147] Forked 27661 -(27660) found -(27661) found -[10146] Forked 27662 -[10145] Forked 27663 -(27662) found -(27663) found -[10144] Forked 27664 -[10143] Forked 27665 -(27664) found -(27665) found -[10142] Forked 27666 -[10141] Forked 27667 -(27666) found -(27667) found -[10140] Forked 27668 -[10139] Forked 27669 -(27668) found -(27669) found -[10138] Forked 27670 -[10137] Forked 27671 -(27670) found -(27671) found -[10136] Forked 27672 -[10135] Forked 27673 -(27672) found -(27673) found -[10134] Forked 27674 -[10133] Forked 27675 -(27674) found -(27675) found -[10132] Forked 27676 -[10131] Forked 27677 -(27676) found -(27677) found -[10130] Forked 27678 -[10129] Forked 27679 -(27678) found -(27679) found -[10128] Forked 27680 -[10127] Forked 27681 -(27680) found -(27681) found -[10126] Forked 27682 -[10125] Forked 27683 -(27682) found -(27683) found -[10124] Forked 27684 -[10123] Forked 27685 -(27684) found -(27685) found -[10122] Forked 27686 -[10121] Forked 27687 -(27686) found -(27687) found -[10120] Forked 27688 -[10119] Forked 27689 -(27688) found -(27689) found -[10118] Forked 27691 -[10117] Forked 27692 -(27691) found -(27692) found -[10116] Forked 27693 -[10115] Forked 27694 -(27693) found -(27694) found -[10114] Forked 27695 -[10113] Forked 27696 -(27695) found -(27696) found -[10112] Forked 27697 -[10111] Forked 27698 -(27697) found -(27698) found -[10110] Forked 27699 -[10109] Forked 27700 -(27699) found -(27700) found -[10108] Forked 27701 -[10107] Forked 27702 -(27701) found -(27702) found -[10106] Forked 27703 -(27703) found -[10105] Forked 27704 -(27704) found -[10104] Forked 27705 -(27705) found -[10103] Forked 27706 -(27706) found -[10102] Forked 27707 -(27707) found -[10101] Forked 27708 -(27708) found -[10100] Forked 27709 -(27709) found -[10099] Forked 27710 -(27710) found -[10098] Forked 27711 -(27711) found -[10097] Forked 27712 -(27712) found -[10096] Forked 27713 -(27713) found -[10095] Forked 27714 -(27714) found -[10094] Forked 27715 -(27715) found -[10093] Forked 27716 -(27716) found -[10092] Forked 27717 -(27717) found -[10091] Forked 27718 -(27718) found -[10090] Forked 27719 -(27719) found -[10089] Forked 27720 -(27720) found -[10088] Forked 27721 -(27721) found -[10087] Forked 27722 -(27722) found -[10086] Forked 27723 -(27723) found -[10085] Forked 27724 -(27724) found -[10084] Forked 27725 -(27725) found -[10083] Forked 27726 -(27726) found -[10082] Forked 27727 -(27727) found -[10081] Forked 27728 -(27728) found -[10080] Forked 27729 -(27729) found -[10079] Forked 27730 -(27730) found -[10078] Forked 27731 -(27731) found -[10077] Forked 27732 -(27732) found -[10076] Forked 27733 -(27733) found -[10075] Forked 27734 -(27734) found -[10074] Forked 27735 -(27735) found -[10073] Forked 27736 -(27736) found -[10072] Forked 27737 -(27737) found -[10071] Forked 27738 -(27738) found -[10070] Forked 27739 -(27739) found -[10069] Forked 27740 -(27740) found -[10068] Forked 27741 -(27741) found -[10067] Forked 27742 -[10066] Forked 27743 -(27742) found -(27743) found -[10065] Forked 27744 -[10064] Forked 27745 -(27744) found -(27745) found -[10063] Forked 27746 -[10062] Forked 27747 -(27746) found -(27747) found -[10061] Forked 27748 -[10060] Forked 27749 -(27748) found -(27749) found -[10059] Forked 27750 -[10058] Forked 27751 -(27750) found -(27751) found -[10057] Forked 27752 -[10056] Forked 27753 -(27752) found -(27753) found -[10055] Forked 27754 -[10054] Forked 27756 -(27754) found -(27756) found -[10053] Forked 27757 -(27757) found -[10052] Forked 27758 -(27758) found -[10051] Forked 27759 -(27759) found -[10050] Forked 27760 -(27760) found -[10049] Forked 27761 -(27761) found -[10048] Forked 27762 -(27762) found -[10047] Forked 27763 -(27763) found -[10046] Forked 27764 -(27764) found -[10045] Forked 27765 -(27765) found -[10044] Forked 27766 -(27766) found -[10043] Forked 27767 -(27767) found -[10042] Forked 27768 -(27768) found -[10041] Forked 27769 -(27769) found -[10040] Forked 27770 -(27770) found -[10039] Forked 27771 -(27771) found -[10038] Forked 27772 -(27772) found -[10037] Forked 27773 -(27773) found -[10036] Forked 27774 -(27774) found -[10035] Forked 27775 -(27775) found -[10034] Forked 27776 -(27776) found -[10033] Forked 27777 -(27777) found -[10032] Forked 27778 -(27778) found -[10031] Forked 27779 -(27779) found -[10030] Forked 27780 -(27780) found -[10029] Forked 27781 -(27781) found -[10028] Forked 27782 -(27782) found -[10027] Forked 27783 -(27783) found -[10026] Forked 27784 -(27784) found -[10025] Forked 27785 -(27785) found -[10024] Forked 27786 -(27786) found -[10023] Forked 27787 -(27787) found -[10022] Forked 27788 -(27788) found -[10021] Forked 27789 -(27789) found -[10020] Forked 27790 -(27790) found -[10019] Forked 27791 -(27791) found -[10018] Forked 27792 -(27792) found -[10017] Forked 27793 -(27793) found -[10016] Forked 27794 -(27794) found -[10015] Forked 27795 -(27795) found -[10014] Forked 27796 -(27796) found -[10013] Forked 27797 -(27797) found -[10012] Forked 27798 -(27798) found -[10011] Forked 27799 -(27799) found -[10010] Forked 27800 -(27800) found -[10009] Forked 27801 -(27801) found -[10008] Forked 27802 -(27802) found -[10007] Forked 27803 -(27803) found -[10006] Forked 27804 -(27804) found -[10005] Forked 27805 -(27805) found -[10004] Forked 27806 -(27806) found -[10003] Forked 27807 -(27807) found -[10002] Forked 27808 -(27808) found -[10001] Forked 27809 -(27809) found -[10000] Forked 27810 -(27810) found -[9999] Forked 27811 -(27811) found -[9998] Forked 27812 -[9997] Forked 27813 -(27812) found -(27813) found -[9996] Forked 27814 -[9995] Forked 27815 -(27814) found -(27815) found -[9994] Forked 27816 -[9993] Forked 27817 -(27816) found -(27817) found -[9992] Forked 27818 -[9991] Forked 27819 -(27818) found -(27819) found -[9990] Forked 27820 -[9989] Forked 27821 -(27820) found -(27821) found -[9988] Forked 27822 -[9987] Forked 27823 -(27822) found -(27823) found -[9986] Forked 27824 -[9985] Forked 27825 -(27824) found -(27825) found -[9984] Forked 27826 -[9983] Forked 27827 -(27826) found -(27827) found -[9982] Forked 27828 -[9981] Forked 27829 -(27828) found -(27829) found -[9980] Forked 27831 -[9979] Forked 27832 -(27831) found -(27832) found -[9978] Forked 27833 -[9977] Forked 27834 -(27833) found -(27834) found -[9976] Forked 27835 -[9975] Forked 27836 -(27835) found -(27836) found -[9974] Forked 27837 -[9973] Forked 27838 -(27837) found -(27838) found -[9972] Forked 27839 -[9971] Forked 27840 -(27839) found -(27840) found -[9970] Forked 27841 -[9969] Forked 27842 -(27841) found -(27842) found -[9968] Forked 27843 -[9967] Forked 27844 -(27843) found -(27844) found -[9966] Forked 27845 -[9965] Forked 27846 -(27845) found -(27846) found -[9964] Forked 27847 -[9963] Forked 27848 -(27847) found -(27848) found -[9962] Forked 27849 -[9961] Forked 27850 -(27849) found -(27850) found -[9960] Forked 27851 -[9959] Forked 27852 -(27851) found -(27852) found -[9958] Forked 27853 -(27853) found -[9957] Forked 27854 -(27854) found -[9956] Forked 27855 -(27855) found -[9955] Forked 27856 -(27856) found -[9954] Forked 27857 -(27857) found -[9953] Forked 27858 -(27858) found -[9952] Forked 27859 -(27859) found -[9951] Forked 27860 -(27860) found -[9950] Forked 27861 -(27861) found -[9949] Forked 27862 -(27862) found -[9948] Forked 27863 -(27863) found -[9947] Forked 27864 -(27864) found -[9946] Forked 27865 -(27865) found -[9945] Forked 27866 -(27866) found -[9944] Forked 27867 -(27867) found -[9943] Forked 27868 -(27868) found -[9942] Forked 27869 -(27869) found -[9941] Forked 27870 -(27870) found -[9940] Forked 27871 -(27871) found -[9939] Forked 27872 -(27872) found -[9938] Forked 27873 -(27873) found -[9937] Forked 27874 -(27874) found -[9936] Forked 27875 -(27875) found -[9935] Forked 27876 -(27876) found -[9934] Forked 27877 -(27877) found -[9933] Forked 27878 -(27878) found -[9932] Forked 27879 -(27879) found -[9931] Forked 27880 -(27880) found -[9930] Forked 27881 -(27881) found -[9929] Forked 27882 -(27882) found -[9928] Forked 27883 -(27883) found -[9927] Forked 27884 -(27884) found -[9926] Forked 27885 -(27885) found -[9925] Forked 27886 -(27886) found -[9924] Forked 27887 -(27887) found -[9923] Forked 27888 -(27888) found -[9922] Forked 27889 -(27889) found -[9921] Forked 27890 -(27890) found -[9920] Forked 27891 -(27891) found -[9919] Forked 27892 -(27892) found -[9918] Forked 27893 -(27893) found -[9917] Forked 27894 -[9916] Forked 27895 -(27894) found -(27895) found -[9915] Forked 27896 -[9914] Forked 27897 -(27896) found -(27897) found -[9913] Forked 27898 -[9912] Forked 27899 -(27898) found -(27899) found -[9911] Forked 27900 -[9910] Forked 27901 -(27900) found -(27901) found -[9909] Forked 27902 -[9908] Forked 27903 -(27902) found -(27903) found -[9907] Forked 27904 -[9906] Forked 27905 -(27904) found -(27905) found -[9905] Forked 27906 -[9904] Forked 27907 -(27906) found -(27907) found -[9903] Forked 27908 -[9902] Forked 27909 -(27908) found -(27909) found -[9901] Forked 27910 -[9900] Forked 27911 -(27910) found -(27911) found -[9899] Forked 27912 -[9898] Forked 27913 -(27912) found -(27913) found -[9897] Forked 27914 -[9896] Forked 27915 -(27914) found -(27915) found -[9895] Forked 27916 -[9894] Forked 27917 -(27916) found -(27917) found -[9893] Forked 27918 -[9892] Forked 27919 -(27918) found -(27919) found -[9891] Forked 27920 -[9890] Forked 27921 -(27920) found -(27921) found -[9889] Forked 27922 -[9888] Forked 27923 -(27922) found -(27923) found -[9887] Forked 27924 -[9886] Forked 27925 -(27924) found -(27925) found -[9885] Forked 27926 -[9884] Forked 27927 -(27926) found -(27927) found -[9883] Forked 27928 -[9882] Forked 27929 -(27928) found -(27929) found -[9881] Forked 27930 -[9880] Forked 27931 -(27930) found -(27931) found -[9879] Forked 27932 -[9878] Forked 27933 -(27932) found -(27933) found -[9877] Forked 27934 -(27934) found -[9876] Forked 27935 -(27935) found -[9875] Forked 27936 -(27936) found -[9874] Forked 27937 -(27937) found -[9873] Forked 27938 -(27938) found -[9872] Forked 27939 -(27939) found -[9871] Forked 27940 -(27940) found -[9870] Forked 27941 -(27941) found -[9869] Forked 27942 -(27942) found -[9868] Forked 27943 -(27943) found -[9867] Forked 27944 -(27944) found -[9866] Forked 27945 -(27945) found -[9865] Forked 27946 -(27946) found -[9864] Forked 27947 -(27947) found -[9863] Forked 27948 -(27948) found -[9862] Forked 27949 -(27949) found -[9861] Forked 27950 -(27950) found -[9860] Forked 27951 -(27951) found -[9859] Forked 27952 -(27952) found -[9858] Forked 27953 -(27953) found -[9857] Forked 27954 -(27954) found -[9856] Forked 27955 -(27955) found -[9855] Forked 27956 -(27956) found -[9854] Forked 27957 -(27957) found -[9853] Forked 27958 -(27958) found -[9852] Forked 27959 -(27959) found -[9851] Forked 27960 -(27960) found -[9850] Forked 27961 -(27961) found -[9849] Forked 27962 -(27962) found -[9848] Forked 27963 -(27963) found -[9847] Forked 27964 -(27964) found -[9846] Forked 27965 -(27965) found -[9845] Forked 27966 -(27966) found -[9844] Forked 27967 -(27967) found -[9843] Forked 27968 -(27968) found -[9842] Forked 27969 -(27969) found -[9841] Forked 27970 -(27970) found -[9840] Forked 27971 -(27971) found -[9839] Forked 27972 -(27972) found -[9838] Forked 27973 -[9837] Forked 27974 -(27973) found -(27974) found -[9836] Forked 27975 -[9835] Forked 27976 -(27975) found -(27976) found -[9834] Forked 27977 -[9833] Forked 27978 -(27977) found -(27978) found -[9832] Forked 27979 -[9831] Forked 27980 -(27979) found -(27980) found -[9830] Forked 27981 -[9829] Forked 27982 -(27981) found -(27982) found -[9828] Forked 27983 -[9827] Forked 27984 -(27983) found -(27984) found -[9826] Forked 27985 -[9825] Forked 27986 -(27985) found -(27986) found -[9824] Forked 27988 -[9823] Forked 27989 -(27988) found -(27989) found -[9822] Forked 27990 -[9821] Forked 27991 -(27990) found -(27991) found -[9820] Forked 27992 -(27992) found -[9819] Forked 27993 -[9818] Forked 27994 -(27993) found -(27994) found -[9817] Forked 27995 -[9816] Forked 27996 -(27995) found -(27996) found -[9815] Forked 27997 -[9814] Forked 27998 -(27998) found -(27997) found -[9813] Forked 27999 -(27999) found -[9812] Forked 28000 -(28000) found -[9811] Forked 28001 -(28001) found -[9810] Forked 28002 -(28002) found -[9809] Forked 28003 -(28003) found -[9808] Forked 28004 -(28004) found -[9807] Forked 28005 -(28005) found -[9806] Forked 28006 -(28006) found -[9805] Forked 28007 -(28007) found -[9804] Forked 28008 -(28008) found -[9803] Forked 28009 -(28009) found -[9802] Forked 28010 -(28010) found -[9801] Forked 28011 -(28011) found -[9800] Forked 28012 -(28012) found -[9799] Forked 28013 -(28013) found -[9798] Forked 28014 -(28014) found -[9797] Forked 28015 -(28015) found -[9796] Forked 28016 -(28016) found -[9795] Forked 28017 -(28017) found -[9794] Forked 28018 -(28018) found -[9793] Forked 28019 -(28019) found -[9792] Forked 28020 -(28020) found -[9791] Forked 28021 -(28021) found -[9790] Forked 28022 -(28022) found -[9789] Forked 28023 -(28023) found -[9788] Forked 28024 -(28024) found -[9787] Forked 28025 -(28025) found -[9786] Forked 28026 -(28026) found -[9785] Forked 28027 -(28027) found -[9784] Forked 28028 -(28028) found -[9783] Forked 28029 -(28029) found -[9782] Forked 28030 -(28030) found -[9781] Forked 28031 -(28031) found -[9780] Forked 28032 -(28032) found -[9779] Forked 28033 -(28033) found -[9778] Forked 28034 -(28034) found -[9777] Forked 28035 -(28035) found -[9776] Forked 28036 -(28036) found -[9775] Forked 28037 -(28037) found -[9774] Forked 28038 -(28038) found -[9773] Forked 28039 -(28039) found -[9772] Forked 28040 -(28040) found -[9771] Forked 28041 -(28041) found -[9770] Forked 28042 -(28042) found -[9769] Forked 28043 -(28043) found -[9768] Forked 28044 -(28044) found -[9767] Forked 28045 -(28045) found -[9766] Forked 28047 -(28047) found -[9765] Forked 28048 -(28048) found -[9764] Forked 28049 -(28049) found -[9763] Forked 28050 -(28050) found -[9762] Forked 28051 -(28051) found -[9761] Forked 28052 -(28052) found -[9760] Forked 28053 -(28053) found -[9759] Forked 28054 -(28054) found -[9758] Forked 28055 -(28055) found -[9757] Forked 28056 -(28056) found -[9756] Forked 28057 -(28057) found -[9755] Forked 28058 -(28058) found -[9754] Forked 28059 -(28059) found -[9753] Forked 28060 -(28060) found -[9752] Forked 28061 -(28061) found -[9751] Forked 28062 -(28062) found -[9750] Forked 28063 -(28063) found -[9749] Forked 28064 -(28064) found -[9748] Forked 28065 -(28065) found -[9747] Forked 28066 -(28066) found -[9746] Forked 28067 -(28067) found -[9745] Forked 28068 -(28068) found -[9744] Forked 28069 -(28069) found -[9743] Forked 28070 -(28070) found -[9742] Forked 28071 -(28071) found -[9741] Forked 28072 -(28072) found -[9740] Forked 28073 -(28073) found -[9739] Forked 28074 -(28074) found -[9738] Forked 28075 -(28075) found -[9737] Forked 28076 -(28076) found -[9736] Forked 28077 -(28077) found -[9735] Forked 28078 -(28078) found -[9734] Forked 28079 -(28079) found -[9733] Forked 28080 -(28080) found -[9732] Forked 28081 -(28081) found -[9731] Forked 28082 -(28082) found -[9730] Forked 28083 -(28083) found -[9729] Forked 28084 -(28084) found -[9728] Forked 28085 -(28085) found -[9727] Forked 28086 -(28086) found -[9726] Forked 28087 -(28087) found -[9725] Forked 28088 -(28088) found -[9724] Forked 28089 -(28089) found -[9723] Forked 28090 -(28090) found -[9722] Forked 28091 -(28091) found -[9721] Forked 28092 -(28092) found -[9720] Forked 28093 -(28093) found -[9719] Forked 28094 -(28094) found -[9718] Forked 28095 -(28095) found -[9717] Forked 28096 -(28096) found -[9716] Forked 28097 -(28097) found -[9715] Forked 28098 -(28098) found -[9714] Forked 28099 -(28099) found -[9713] Forked 28100 -(28100) found -[9712] Forked 28101 -(28101) found -[9711] Forked 28102 -(28102) found -[9710] Forked 28103 -(28103) found -[9709] Forked 28104 -[9708] Forked 28105 -(28104) found -(28105) found -[9707] Forked 28106 -[9706] Forked 28107 -(28106) found -(28107) found -[9705] Forked 28108 -[9704] Forked 28109 -(28108) found -(28109) found -[9703] Forked 28110 -[9702] Forked 28111 -(28110) found -(28111) found -[9701] Forked 28112 -[9700] Forked 28113 -(28112) found -(28113) found -[9699] Forked 28114 -[9698] Forked 28115 -(28114) found -(28115) found -[9697] Forked 28116 -[9696] Forked 28117 -(28116) found -(28117) found -[9695] Forked 28118 -(28118) found -[9694] Forked 28119 -(28119) found -[9693] Forked 28120 -[9692] Forked 28121 -(28120) found -(28121) found -[9691] Forked 28122 -[9690] Forked 28123 -(28122) found -(28123) found -[9689] Forked 28124 -[9688] Forked 28125 -(28124) found -(28125) found -[9687] Forked 28126 -[9686] Forked 28127 -(28126) found -(28127) found -[9685] Forked 28128 -[9684] Forked 28129 -(28128) found -(28129) found -[9683] Forked 28130 -[9682] Forked 28131 -(28130) found -(28131) found -[9681] Forked 28132 -[9680] Forked 28133 -(28132) found -(28133) found -[9679] Forked 28134 -[9678] Forked 28135 -(28134) found -(28135) found -[9677] Forked 28136 -[9676] Forked 28137 -(28136) found -(28137) found -[9675] Forked 28138 -[9674] Forked 28139 -(28138) found -(28139) found -[9673] Forked 28140 -[9672] Forked 28141 -(28140) found -(28141) found -[9671] Forked 28142 -[9670] Forked 28143 -(28142) found -(28143) found -[9669] Forked 28144 -[9668] Forked 28145 -(28144) found -(28145) found -[9667] Forked 28146 -[9666] Forked 28147 -(28146) found -(28147) found -[9665] Forked 28148 -[9664] Forked 28149 -(28148) found -(28149) found -[9663] Forked 28150 -[9662] Forked 28151 -(28150) found -(28151) found -[9661] Forked 28152 -[9660] Forked 28153 -(28152) found -(28153) found -[9659] Forked 28154 -[9658] Forked 28155 -(28154) found -(28155) found -[9657] Forked 28156 -[9656] Forked 28157 -(28156) found -(28157) found -[9655] Forked 28158 -[9654] Forked 28159 -(28158) found -(28159) found -[9653] Forked 28160 -[9652] Forked 28161 -(28160) found -(28161) found -[9651] Forked 28162 -[9650] Forked 28163 -(28162) found -(28163) found -[9649] Forked 28164 -[9648] Forked 28165 -(28164) found -(28165) found -[9647] Forked 28166 -[9646] Forked 28167 -(28166) found -(28167) found -[9645] Forked 28168 -[9644] Forked 28169 -(28168) found -(28169) found -[9643] Forked 28170 -[9642] Forked 28171 -(28170) found -(28171) found -[9641] Forked 28172 -[9640] Forked 28173 -(28172) found -(28173) found -[9639] Forked 28174 -[9638] Forked 28175 -(28174) found -(28175) found -[9637] Forked 28176 -[9636] Forked 28177 -(28176) found -(28177) found -[9635] Forked 28178 -[9634] Forked 28179 -(28178) found -(28179) found -[9633] Forked 28180 -[9632] Forked 28181 -(28180) found -(28181) found -[9631] Forked 28182 -[9630] Forked 28183 -(28182) found -(28183) found -[9629] Forked 28184 -[9628] Forked 28185 -(28184) found -(28185) found -[9627] Forked 28186 -[9626] Forked 28187 -(28186) found -(28187) found -[9625] Forked 28188 -[9624] Forked 28189 -(28188) found -(28189) found -[9623] Forked 28190 -[9622] Forked 28191 -(28190) found -(28191) found -[9621] Forked 28192 -(28192) found -[9620] Forked 28193 -(28193) found -[9619] Forked 28194 -(28194) found -[9618] Forked 28195 -(28195) found -[9617] Forked 28196 -(28196) found -[9616] Forked 28197 -(28197) found -[9615] Forked 28198 -(28198) found -[9614] Forked 28199 -(28199) found -[9613] Forked 28200 -(28200) found -[9612] Forked 28201 -(28201) found -[9611] Forked 28202 -(28202) found -[9610] Forked 28203 -(28203) found -[9609] Forked 28204 -(28204) found -[9608] Forked 28205 -(28205) found -[9607] Forked 28206 -(28206) found -[9606] Forked 28207 -(28207) found -[9605] Forked 28208 -(28208) found -[9604] Forked 28209 -(28209) found -[9603] Forked 28210 -(28210) found -[9602] Forked 28211 -(28211) found -[9601] Forked 28212 -(28212) found -[9600] Forked 28213 -(28213) found -[9599] Forked 28214 -(28214) found -[9598] Forked 28215 -(28215) found -[9597] Forked 28216 -(28216) found -[9596] Forked 28217 -(28217) found -[9595] Forked 28218 -(28218) found -[9594] Forked 28219 -(28219) found -[9593] Forked 28220 -(28220) found -[9592] Forked 28221 -(28221) found -[9591] Forked 28222 -(28222) found -[9590] Forked 28223 -(28223) found -[9589] Forked 28224 -(28224) found -[9588] Forked 28225 -(28225) found -[9587] Forked 28226 -[9586] Forked 28227 -(28226) found -(28227) found -[9585] Forked 28228 -[9584] Forked 28229 -(28228) found -(28229) found -[9583] Forked 28230 -[9582] Forked 28231 -(28230) found -(28231) found -[9581] Forked 28232 -[9580] Forked 28233 -(28232) found -(28233) found -[9579] Forked 28234 -[9578] Forked 28235 -(28234) found -(28235) found -[9577] Forked 28236 -[9576] Forked 28237 -(28236) found -(28237) found -[9575] Forked 28238 -[9574] Forked 28239 -(28238) found -(28239) found -[9573] Forked 28240 -[9572] Forked 28241 -(28240) found -(28241) found -[9571] Forked 28242 -[9570] Forked 28243 -(28242) found -(28243) found -[9569] Forked 28244 -[9568] Forked 28245 -(28244) found -(28245) found -[9567] Forked 28246 -[9566] Forked 28247 -(28246) found -(28247) found -[9565] Forked 28248 -[9564] Forked 28249 -(28248) found -(28249) found -[9563] Forked 28250 -[9562] Forked 28251 -(28250) found -(28251) found -[9561] Forked 28252 -[9560] Forked 28253 -(28252) found -(28253) found -[9559] Forked 28254 -[9558] Forked 28255 -(28254) found -(28255) found -[9557] Forked 28256 -[9556] Forked 28257 -(28256) found -(28257) found -[9555] Forked 28258 -[9554] Forked 28259 -(28258) found -(28259) found -[9553] Forked 28260 -[9552] Forked 28261 -(28260) found -(28261) found -[9551] Forked 28262 -[9550] Forked 28263 -(28262) found -(28263) found -[9549] Forked 28264 -[9548] Forked 28265 -(28264) found -(28265) found -[9547] Forked 28266 -[9546] Forked 28267 -(28266) found -(28267) found -[9545] Forked 28268 -[9544] Forked 28269 -(28268) found -(28269) found -[9543] Forked 28270 -[9542] Forked 28271 -(28270) found -(28271) found -[9541] Forked 28272 -(28272) found -[9540] Forked 28273 -(28273) found -[9539] Forked 28274 -(28274) found -[9538] Forked 28275 -(28275) found -[9537] Forked 28276 -(28276) found -[9536] Forked 28277 -(28277) found -[9535] Forked 28278 -(28278) found -[9534] Forked 28279 -(28279) found -[9533] Forked 28280 -(28280) found -[9532] Forked 28281 -(28281) found -[9531] Forked 28282 -(28282) found -[9530] Forked 28283 -(28283) found -[9529] Forked 28284 -(28284) found -[9528] Forked 28285 -(28285) found -[9527] Forked 28286 -(28286) found -[9526] Forked 28287 -(28287) found -[9525] Forked 28288 -(28288) found -[9524] Forked 28289 -(28289) found -[9523] Forked 28290 -(28290) found -[9522] Forked 28291 -(28291) found -[9521] Forked 28292 -(28292) found -[9520] Forked 28293 -(28293) found -[9519] Forked 28294 -(28294) found -[9518] Forked 28295 -(28295) found -[9517] Forked 28296 -(28296) found -[9516] Forked 28297 -(28297) found -[9515] Forked 28298 -(28298) found -[9514] Forked 28299 -(28299) found -[9513] Forked 28300 -(28300) found -[9512] Forked 28301 -(28301) found -[9511] Forked 28302 -(28302) found -[9510] Forked 28303 -(28303) found -[9509] Forked 28304 -(28304) found -[9508] Forked 28305 -(28305) found -[9507] Forked 28306 -(28306) found -[9506] Forked 28307 -(28307) found -[9505] Forked 28308 -(28308) found -[9504] Forked 28309 -[9503] Forked 28310 -(28309) found -(28310) found -[9502] Forked 28311 -[9501] Forked 28312 -(28311) found -(28312) found -[9500] Forked 28313 -[9499] Forked 28314 -(28313) found -(28314) found -[9498] Forked 28315 -[9497] Forked 28316 -(28315) found -(28316) found -[9496] Forked 28317 -[9495] Forked 28318 -(28317) found -(28318) found -[9494] Forked 28319 -[9493] Forked 28320 -(28319) found -(28320) found -[9492] Forked 28321 -[9491] Forked 28322 -(28321) found -(28322) found -[9490] Forked 28323 -[9489] Forked 28324 -(28323) found -(28324) found -[9488] Forked 28325 -[9487] Forked 28326 -(28325) found -(28326) found -[9486] Forked 28327 -[9485] Forked 28328 -(28327) found -(28328) found -[9484] Forked 28329 -(28329) found -[9483] Forked 28330 -[9482] Forked 28331 -(28330) found -(28331) found -[9481] Forked 28332 -[9480] Forked 28333 -(28332) found -(28333) found -[9479] Forked 28334 -[9478] Forked 28335 -(28334) found -(28335) found -[9477] Forked 28336 -[9476] Forked 28337 -(28336) found -(28337) found -[9475] Forked 28338 -[9474] Forked 28339 -(28338) found -(28339) found -[9473] Forked 28340 -[9472] Forked 28341 -(28340) found -(28341) found -[9471] Forked 28342 -[9470] Forked 28343 -(28342) found -(28343) found -[9469] Forked 28344 -[9468] Forked 28345 -(28344) found -(28345) found -[9467] Forked 28346 -[9466] Forked 28347 -(28346) found -(28347) found -[9465] Forked 28348 -[9464] Forked 28349 -(28348) found -(28349) found -[9463] Forked 28350 -[9462] Forked 28351 -(28350) found -(28351) found -[9461] Forked 28352 -[9460] Forked 28353 -(28352) found -(28353) found -[9459] Forked 28354 -(28354) found -[9458] Forked 28355 -(28355) found -[9457] Forked 28356 -(28356) found -[9456] Forked 28357 -(28357) found -[9455] Forked 28358 -(28358) found -[9454] Forked 28359 -(28359) found -[9453] Forked 28360 -(28360) found -[9452] Forked 28361 -(28361) found -[9451] Forked 28362 -(28362) found -[9450] Forked 28363 -(28363) found -[9449] Forked 28364 -(28364) found -[9448] Forked 28365 -(28365) found -[9447] Forked 28366 -(28366) found -[9446] Forked 28367 -(28367) found -[9445] Forked 28368 -(28368) found -[9444] Forked 28369 -(28369) found -[9443] Forked 28370 -(28370) found -[9442] Forked 28371 -(28371) found -[9441] Forked 28372 -(28372) found -[9440] Forked 28373 -(28373) found -[9439] Forked 28374 -(28374) found -[9438] Forked 28375 -(28375) found -[9437] Forked 28376 -(28376) found -[9436] Forked 28377 -(28377) found -[9435] Forked 28378 -(28378) found -[9434] Forked 28379 -(28379) found -[9433] Forked 28380 -(28380) found -[9432] Forked 28381 -(28381) found -[9431] Forked 28382 -(28382) found -[9430] Forked 28383 -(28383) found -[9429] Forked 28384 -(28384) found -[9428] Forked 28385 -(28385) found -[9427] Forked 28386 -(28386) found -[9426] Forked 28387 -(28387) found -[9425] Forked 28388 -(28388) found -[9424] Forked 28389 -[9423] Forked 28390 -(28389) found -(28390) found -[9422] Forked 28391 -[9421] Forked 28392 -(28391) found -(28392) found -[9420] Forked 28393 -[9419] Forked 28394 -(28393) found -(28394) found -[9418] Forked 28395 -[9417] Forked 28396 -(28395) found -(28396) found -[9416] Forked 28397 -[9415] Forked 28398 -(28397) found -(28398) found -[9414] Forked 28399 -[9413] Forked 28400 -(28399) found -(28400) found -[9412] Forked 28401 -[9411] Forked 28402 -(28401) found -(28402) found -[9410] Forked 28403 -[9409] Forked 28404 -(28403) found -(28404) found -[9408] Forked 28405 -[9407] Forked 28406 -(28405) found -(28406) found -[9406] Forked 28407 -[9405] Forked 28408 -(28407) found -(28408) found -[9404] Forked 28409 -[9403] Forked 28410 -(28409) found -(28410) found -[9402] Forked 28411 -[9401] Forked 28412 -(28411) found -(28412) found -[9400] Forked 28413 -[9399] Forked 28414 -(28413) found -(28414) found -[9398] Forked 28415 -[9397] Forked 28416 -(28415) found -(28416) found -[9396] Forked 28417 -[9395] Forked 28418 -(28417) found -(28418) found -[9394] Forked 28419 -[9393] Forked 28420 -(28419) found -(28420) found -[9392] Forked 28421 -[9391] Forked 28422 -(28421) found -(28422) found -[9390] Forked 28423 -[9389] Forked 28424 -(28423) found -(28424) found -[9388] Forked 28425 -[9387] Forked 28426 -(28425) found -(28426) found -[9386] Forked 28427 -[9385] Forked 28428 -(28427) found -(28428) found -[9384] Forked 28429 -[9383] Forked 28430 -(28429) found -(28430) found -[9382] Forked 28431 -[9381] Forked 28432 -(28431) found -(28432) found -[9380] Forked 28433 -[9379] Forked 28434 -(28433) found -(28434) found -[9378] Forked 28435 -(28435) found -[9377] Forked 28436 -(28436) found -[9376] Forked 28437 -(28437) found -[9375] Forked 28438 -(28438) found -[9374] Forked 28439 -(28439) found -[9373] Forked 28440 -(28440) found -[9372] Forked 28441 -(28441) found -[9371] Forked 28442 -(28442) found -[9370] Forked 28443 -(28443) found -[9369] Forked 28444 -(28444) found -[9368] Forked 28445 -(28445) found -[9367] Forked 28446 -(28446) found -[9366] Forked 28447 -(28447) found -[9365] Forked 28448 -(28448) found -[9364] Forked 28449 -(28449) found -[9363] Forked 28450 -(28450) found -[9362] Forked 28451 -(28451) found -[9361] Forked 28452 -(28452) found -[9360] Forked 28453 -(28453) found -[9359] Forked 28454 -(28454) found -[9358] Forked 28455 -(28455) found -[9357] Forked 28456 -(28456) found -[9356] Forked 28457 -(28457) found -[9355] Forked 28458 -(28458) found -[9354] Forked 28459 -(28459) found -[9353] Forked 28460 -(28460) found -[9352] Forked 28461 -(28461) found -[9351] Forked 28462 -(28462) found -[9350] Forked 28463 -(28463) found -[9349] Forked 28464 -(28464) found -[9348] Forked 28465 -(28465) found -[9347] Forked 28466 -(28466) found -[9346] Forked 28467 -(28467) found -[9345] Forked 28468 -(28468) found -[9344] Forked 28469 -(28469) found -[9343] Forked 28470 -[9342] Forked 28471 -(28470) found -(28471) found -[9341] Forked 28472 -[9340] Forked 28473 -(28472) found -(28473) found -[9339] Forked 28474 -[9338] Forked 28475 -(28474) found -(28475) found -[9337] Forked 28476 -[9336] Forked 28477 -(28476) found -(28477) found -[9335] Forked 28478 -[9334] Forked 28479 -(28478) found -(28479) found -[9333] Forked 28480 -[9332] Forked 28481 -(28480) found -(28481) found -[9331] Forked 28482 -[9330] Forked 28483 -(28482) found -(28483) found -[9329] Forked 28484 -[9328] Forked 28485 -(28484) found -(28485) found -[9327] Forked 28486 -[9326] Forked 28487 -(28486) found -(28487) found -[9325] Forked 28488 -[9324] Forked 28489 -(28488) found -(28489) found -[9323] Forked 28490 -[9322] Forked 28491 -(28490) found -(28491) found -[9321] Forked 28492 -[9320] Forked 28493 -(28492) found -(28493) found -[9319] Forked 28494 -[9318] Forked 28495 -(28494) found -(28495) found -[9317] Forked 28496 -[9316] Forked 28497 -(28496) found -(28497) found -[9315] Forked 28498 -[9314] Forked 28499 -(28498) found -(28499) found -[9313] Forked 28500 -[9312] Forked 28501 -(28500) found -(28501) found -[9311] Forked 28502 -[9310] Forked 28503 -(28502) found -(28503) found -[9309] Forked 28504 -[9308] Forked 28505 -(28504) found -(28505) found -[9307] Forked 28506 -[9306] Forked 28507 -(28506) found -(28507) found -[9305] Forked 28508 -[9304] Forked 28509 -(28508) found -(28509) found -[9303] Forked 28510 -[9302] Forked 28511 -(28510) found -(28511) found -[9301] Forked 28512 -[9300] Forked 28513 -(28512) found -(28513) found -[9299] Forked 28514 -[9298] Forked 28515 -(28514) found -(28515) found -[9297] Forked 28516 -(28516) found -[9296] Forked 28517 -(28517) found -[9295] Forked 28518 -(28518) found -[9294] Forked 28519 -(28519) found -[9293] Forked 28520 -(28520) found -[9292] Forked 28521 -(28521) found -[9291] Forked 28522 -(28522) found -[9290] Forked 28523 -(28523) found -[9289] Forked 28524 -(28524) found -[9288] Forked 28525 -(28525) found -[9287] Forked 28526 -(28526) found -[9286] Forked 28527 -(28527) found -[9285] Forked 28528 -(28528) found -[9284] Forked 28529 -(28529) found -[9283] Forked 28530 -(28530) found -[9282] Forked 28531 -(28531) found -[9281] Forked 28532 -(28532) found -[9280] Forked 28533 -(28533) found -[9279] Forked 28534 -(28534) found -[9278] Forked 28535 -(28535) found -[9277] Forked 28536 -(28536) found -[9276] Forked 28537 -(28537) found -[9275] Forked 28538 -(28538) found -[9274] Forked 28539 -(28539) found -[9273] Forked 28540 -(28540) found -[9272] Forked 28541 -(28541) found -[9271] Forked 28542 -(28542) found -[9270] Forked 28543 -(28543) found -[9269] Forked 28544 -(28544) found -[9268] Forked 28545 -(28545) found -[9267] Forked 28546 -(28546) found -[9266] Forked 28547 -(28547) found -[9265] Forked 28548 -(28548) found -[9264] Forked 28549 -(28549) found -[9263] Forked 28550 -[9262] Forked 28551 -(28550) found -(28551) found -[9261] Forked 28552 -[9260] Forked 28553 -(28552) found -(28553) found -[9259] Forked 28554 -[9258] Forked 28555 -(28554) found -(28555) found -[9257] Forked 28556 -[9256] Forked 28557 -(28556) found -(28557) found -[9255] Forked 28558 -[9254] Forked 28559 -(28558) found -(28559) found -[9253] Forked 28560 -[9252] Forked 28561 -(28560) found -(28561) found -[9251] Forked 28562 -[9250] Forked 28563 -(28562) found -(28563) found -[9249] Forked 28564 -[9248] Forked 28565 -(28564) found -(28565) found -[9247] Forked 28566 -[9246] Forked 28567 -(28566) found -(28567) found -[9245] Forked 28568 -[9244] Forked 28569 -(28568) found -(28569) found -[9243] Forked 28570 -[9242] Forked 28571 -(28570) found -(28571) found -[9241] Forked 28572 -(28572) found -[9240] Forked 28573 -[9239] Forked 28574 -(28573) found -(28574) found -[9238] Forked 28575 -[9237] Forked 28576 -(28575) found -(28576) found -[9236] Forked 28577 -[9235] Forked 28578 -(28577) found -(28578) found -[9234] Forked 28579 -[9233] Forked 28580 -(28579) found -(28580) found -[9232] Forked 28581 -[9231] Forked 28582 -(28581) found -(28582) found -[9230] Forked 28583 -[9229] Forked 28584 -(28583) found -(28584) found -[9228] Forked 28585 -[9227] Forked 28586 -(28585) found -(28586) found -[9226] Forked 28587 -[9225] Forked 28588 -(28587) found -(28588) found -[9224] Forked 28589 -[9223] Forked 28590 -(28589) found -(28590) found -[9222] Forked 28591 -[9221] Forked 28592 -(28591) found -(28592) found -[9220] Forked 28593 -[9219] Forked 28594 -(28593) found -(28594) found -[9218] Forked 28595 -[9217] Forked 28596 -(28595) found -(28596) found -[9216] Forked 28597 -[9215] Forked 28598 -(28597) found -(28598) found -[9214] Forked 28599 -[9213] Forked 28600 -(28599) found -(28600) found -[9212] Forked 28601 -[9211] Forked 28602 -(28601) found -(28602) found -[9210] Forked 28603 -[9209] Forked 28604 -(28603) found -(28604) found -[9208] Forked 28605 -[9207] Forked 28606 -(28605) found -(28606) found -[9206] Forked 28607 -[9205] Forked 28608 -(28607) found -(28608) found -[9204] Forked 28609 -[9203] Forked 28610 -(28609) found -(28610) found -[9202] Forked 28611 -[9201] Forked 28612 -(28611) found -(28612) found -[9200] Forked 28613 -[9199] Forked 28614 -(28613) found -(28614) found -[9198] Forked 28615 -[9197] Forked 28616 -(28615) found -(28616) found -[9196] Forked 28617 -[9195] Forked 28618 -(28617) found -(28618) found -[9194] Forked 28619 -[9193] Forked 28620 -(28619) found -(28620) found -[9192] Forked 28621 -[9191] Forked 28622 -(28621) found -(28622) found -[9190] Forked 28623 -[9189] Forked 28624 -(28623) found -(28624) found -[9188] Forked 28625 -[9187] Forked 28626 -(28625) found -(28626) found -[9186] Forked 28627 -[9185] Forked 28628 -(28627) found -(28628) found -[9184] Forked 28629 -[9183] Forked 28630 -(28629) found -(28630) found -[9182] Forked 28631 -[9181] Forked 28632 -(28631) found -(28632) found -[9180] Forked 28633 -[9179] Forked 28634 -(28633) found -(28634) found -[9178] Forked 28635 -[9177] Forked 28636 -(28635) found -(28636) found -[9176] Forked 28637 -[9175] Forked 28638 -(28637) found -(28638) found -[9174] Forked 28639 -[9173] Forked 28640 -(28639) found -(28640) found -[9172] Forked 28641 -(28641) found -[9171] Forked 28642 -(28642) found -[9170] Forked 28643 -(28643) found -[9169] Forked 28644 -(28644) found -[9168] Forked 28645 -(28645) found -[9167] Forked 28646 -(28646) found -[9166] Forked 28647 -(28647) found -[9165] Forked 28648 -(28648) found -[9164] Forked 28649 -(28649) found -[9163] Forked 28650 -(28650) found -[9162] Forked 28651 -(28651) found -[9161] Forked 28652 -(28652) found -[9160] Forked 28653 -(28653) found -[9159] Forked 28654 -(28654) found -[9158] Forked 28655 -(28655) found -[9157] Forked 28656 -(28656) found -[9156] Forked 28657 -(28657) found -[9155] Forked 28658 -(28658) found -[9154] Forked 28659 -(28659) found -[9153] Forked 28660 -(28660) found -[9152] Forked 28661 -(28661) found -[9151] Forked 28662 -(28662) found -[9150] Forked 28663 -(28663) found -[9149] Forked 28664 -(28664) found -[9148] Forked 28665 -(28665) found -[9147] Forked 28666 -(28666) found -[9146] Forked 28667 -(28667) found -[9145] Forked 28668 -(28668) found -[9144] Forked 28669 -(28669) found -[9143] Forked 28670 -(28670) found -[9142] Forked 28671 -(28671) found -[9141] Forked 28672 -(28672) found -[9140] Forked 28673 -(28673) found -[9139] Forked 28674 -(28674) found -[9138] Forked 28675 -(28675) found -[9137] Forked 28676 -(28676) found -[9136] Forked 28677 -(28677) found -[9135] Forked 28679 -(28679) found -[9134] Forked 28680 -[9133] Forked 28681 -(28680) found -(28681) found -[9132] Forked 28682 -[9131] Forked 28683 -(28682) found -(28683) found -[9130] Forked 28684 -[9129] Forked 28685 -(28684) found -(28685) found -[9128] Forked 28686 -[9127] Forked 28687 -(28686) found -(28687) found -[9126] Forked 28688 -[9125] Forked 28689 -(28688) found -(28689) found -[9124] Forked 28690 -[9123] Forked 28691 -(28690) found -(28691) found -[9122] Forked 28692 -[9121] Forked 28693 -(28692) found -(28693) found -[9120] Forked 28694 -[9119] Forked 28696 -(28694) found -(28696) found -[9118] Forked 28697 -[9117] Forked 28698 -(28697) found -(28698) found -[9116] Forked 28699 -[9115] Forked 28700 -(28699) found -(28700) found -[9114] Forked 28701 -[9113] Forked 28702 -(28701) found -(28702) found -[9112] Forked 28703 -[9111] Forked 28704 -(28703) found -(28704) found -[9110] Forked 28705 -[9109] Forked 28706 -(28705) found -(28706) found -[9108] Forked 28707 -[9107] Forked 28708 -(28707) found -(28708) found -[9106] Forked 28709 -[9105] Forked 28710 -(28709) found -(28710) found -[9104] Forked 28711 -[9103] Forked 28712 -(28711) found -(28712) found -[9102] Forked 28713 -[9101] Forked 28714 -(28713) found -(28714) found -[9100] Forked 28715 -[9099] Forked 28716 -(28715) found -(28716) found -[9098] Forked 28717 -[9097] Forked 28718 -(28717) found -(28718) found -[9096] Forked 28719 -[9095] Forked 28720 -(28719) found -(28720) found -[9094] Forked 28721 -[9093] Forked 28722 -(28721) found -(28722) found -[9092] Forked 28723 -[9091] Forked 28724 -(28723) found -(28724) found -[9090] Forked 28725 -(28725) found -[9089] Forked 28726 -(28726) found -[9088] Forked 28727 -(28727) found -[9087] Forked 28728 -(28728) found -[9086] Forked 28729 -(28729) found -[9085] Forked 28730 -(28730) found -[9084] Forked 28731 -(28731) found -[9083] Forked 28732 -(28732) found -[9082] Forked 28733 -(28733) found -[9081] Forked 28734 -(28734) found -[9080] Forked 28735 -(28735) found -[9079] Forked 28736 -(28736) found -[9078] Forked 28737 -(28737) found -[9077] Forked 28738 -(28738) found -[9076] Forked 28739 -(28739) found -[9075] Forked 28740 -(28740) found -[9074] Forked 28741 -(28741) found -[9073] Forked 28742 -(28742) found -[9072] Forked 28743 -(28743) found -[9071] Forked 28744 -(28744) found -[9070] Forked 28745 -(28745) found -[9069] Forked 28746 -(28746) found -[9068] Forked 28747 -(28747) found -[9067] Forked 28748 -(28748) found -[9066] Forked 28749 -(28749) found -[9065] Forked 28750 -(28750) found -[9064] Forked 28751 -(28751) found -[9063] Forked 28752 -(28752) found -[9062] Forked 28753 -(28753) found -[9061] Forked 28754 -(28754) found -[9060] Forked 28755 -(28755) found -[9059] Forked 28756 -(28756) found -[9058] Forked 28757 -(28757) found -[9057] Forked 28758 -(28758) found -[9056] Forked 28759 -(28759) found -[9055] Forked 28760 -(28760) found -[9054] Forked 28761 -(28761) found -[9053] Forked 28762 -[9052] Forked 28763 -(28762) found -(28763) found -[9051] Forked 28764 -[9050] Forked 28765 -(28764) found -(28765) found -[9049] Forked 28766 -[9048] Forked 28767 -(28767) found -(28766) found -[9047] Forked 28768 -(28768) found -[9046] Forked 28769 -(28769) found -[9045] Forked 28770 -(28770) found -[9044] Forked 28771 -(28771) found -[9043] Forked 28772 -(28772) found -[9042] Forked 28773 -(28773) found -[9041] Forked 28774 -(28774) found -[9040] Forked 28775 -(28775) found -[9039] Forked 28776 -(28776) found -[9038] Forked 28777 -(28777) found -[9037] Forked 28778 -(28778) found -[9036] Forked 28779 -(28779) found -[9035] Forked 28780 -(28780) found -[9034] Forked 28781 -(28781) found -[9033] Forked 28782 -(28782) found -[9032] Forked 28783 -(28783) found -[9031] Forked 28784 -(28784) found -[9030] Forked 28785 -(28785) found -[9029] Forked 28786 -(28786) found -[9028] Forked 28787 -(28787) found -[9027] Forked 28788 -(28788) found -[9026] Forked 28789 -(28789) found -[9025] Forked 28790 -(28790) found -[9024] Forked 28791 -(28791) found -[9023] Forked 28792 -(28792) found -[9022] Forked 28793 -(28793) found -[9021] Forked 28794 -(28794) found -[9020] Forked 28795 -(28795) found -[9019] Forked 28796 -(28796) found -[9018] Forked 28797 -(28797) found -[9017] Forked 28798 -(28798) found -[9016] Forked 28799 -(28799) found -[9015] Forked 28800 -(28800) found -[9014] Forked 28801 -(28801) found -[9013] Forked 28802 -(28802) found -[9012] Forked 28803 -(28803) found -[9011] Forked 28804 -(28804) found -[9010] Forked 28805 -(28805) found -[9009] Forked 28806 -(28806) found -[9008] Forked 28807 -(28807) found -[9007] Forked 28808 -(28808) found -[9006] Forked 28809 -(28809) found -[9005] Forked 28810 -(28810) found -[9004] Forked 28811 -(28811) found -[9003] Forked 28812 -(28812) found -[9002] Forked 28813 -(28813) found -[9001] Forked 28814 -(28814) found -[9000] Forked 28815 -(28815) found -[8999] Forked 28816 -(28816) found -[8998] Forked 28817 -(28817) found -[8997] Forked 28818 -(28818) found -[8996] Forked 28819 -(28819) found -[8995] Forked 28820 -(28820) found -[8994] Forked 28821 -(28821) found -[8993] Forked 28822 -(28822) found -[8992] Forked 28823 -(28823) found -[8991] Forked 28824 -(28824) found -[8990] Forked 28825 -(28825) found -[8989] Forked 28826 -(28826) found -[8988] Forked 28827 -(28827) found -[8987] Forked 28828 -(28828) found -[8986] Forked 28829 -(28829) found -[8985] Forked 28830 -(28830) found -[8984] Forked 28831 -(28831) found -[8983] Forked 28832 -(28832) found -[8982] Forked 28833 -[8981] Forked 28834 -(28833) found -(28834) found -[8980] Forked 28835 -[8979] Forked 28836 -(28835) found -(28836) found -[8978] Forked 28837 -[8977] Forked 28838 -(28837) found -(28838) found -[8976] Forked 28839 -[8975] Forked 28840 -(28840) found -(28839) found -[8974] Forked 28841 -(28841) found -[8973] Forked 28842 -(28842) found -[8972] Forked 28843 -(28843) found -[8971] Forked 28844 -(28844) found -[8970] Forked 28845 -(28845) found -[8969] Forked 28846 -(28846) found -[8968] Forked 28847 -(28847) found -[8967] Forked 28848 -(28848) found -[8966] Forked 28849 -(28849) found -[8965] Forked 28850 -(28850) found -[8964] Forked 28851 -(28851) found -[8963] Forked 28852 -(28852) found -[8962] Forked 28853 -(28853) found -[8961] Forked 28854 -(28854) found -[8960] Forked 28855 -(28855) found -[8959] Forked 28856 -(28856) found -[8958] Forked 28857 -(28857) found -[8957] Forked 28858 -(28858) found -[8956] Forked 28859 -(28859) found -[8955] Forked 28860 -(28860) found -[8954] Forked 28861 -(28861) found -[8953] Forked 28862 -(28862) found -[8952] Forked 28863 -(28863) found -[8951] Forked 28864 -(28864) found -[8950] Forked 28865 -(28865) found -[8949] Forked 28866 -(28866) found -[8948] Forked 28867 -(28867) found -[8947] Forked 28868 -(28868) found -[8946] Forked 28869 -(28869) found -[8945] Forked 28870 -(28870) found -[8944] Forked 28871 -(28871) found -[8943] Forked 28872 -(28872) found -[8942] Forked 28873 -(28873) found -[8941] Forked 28874 -(28874) found -[8940] Forked 28875 -(28875) found -[8939] Forked 28876 -(28876) found -[8938] Forked 28877 -(28877) found -[8937] Forked 28878 -(28878) found -[8936] Forked 28879 -(28879) found -[8935] Forked 28880 -(28880) found -[8934] Forked 28881 -(28881) found -[8933] Forked 28882 -(28882) found -[8932] Forked 28883 -(28883) found -[8931] Forked 28884 -(28884) found -[8930] Forked 28885 -(28885) found -[8929] Forked 28886 -(28886) found -[8928] Forked 28887 -(28887) found -[8927] Forked 28888 -(28888) found -[8926] Forked 28889 -(28889) found -[8925] Forked 28890 -(28890) found -[8924] Forked 28891 -(28891) found -[8923] Forked 28892 -(28892) found -[8922] Forked 28893 -(28893) found -[8921] Forked 28894 -(28894) found -[8920] Forked 28895 -(28895) found -[8919] Forked 28896 -(28896) found -[8918] Forked 28897 -(28897) found -[8917] Forked 28898 -(28898) found -[8916] Forked 28899 -(28899) found -[8915] Forked 28900 -(28900) found -[8914] Forked 28901 -[8913] Forked 28902 -(28901) found -(28902) found -[8912] Forked 28903 -[8911] Forked 28904 -(28903) found -(28904) found -[8910] Forked 28905 -[8909] Forked 28906 -(28905) found -(28906) found -[8908] Forked 28907 -[8907] Forked 28908 -(28907) found -(28908) found -[8906] Forked 28909 -[8905] Forked 28910 -(28909) found -(28910) found -[8904] Forked 28911 -[8903] Forked 28912 -(28911) found -(28912) found -[8902] Forked 28913 -[8901] Forked 28914 -(28913) found -(28914) found -[8900] Forked 28915 -[8899] Forked 28916 -(28915) found -(28916) found -[8898] Forked 28917 -[8897] Forked 28918 -(28917) found -(28918) found -[8896] Forked 28919 -[8895] Forked 28920 -(28919) found -(28920) found -[8894] Forked 28921 -(28921) found -[8893] Forked 28922 -(28922) found -[8892] Forked 28923 -[8891] Forked 28924 -(28923) found -(28924) found -[8890] Forked 28925 -[8889] Forked 28926 -(28925) found -(28926) found -[8888] Forked 28927 -[8887] Forked 28928 -(28927) found -(28928) found -[8886] Forked 28929 -[8885] Forked 28930 -(28929) found -(28930) found -[8884] Forked 28931 -[8883] Forked 28932 -(28931) found -(28932) found -[8882] Forked 28933 -[8881] Forked 28934 -(28933) found -(28934) found -[8880] Forked 28935 -[8879] Forked 28936 -(28935) found -(28936) found -[8878] Forked 28937 -[8877] Forked 28938 -(28937) found -(28938) found -[8876] Forked 28939 -[8875] Forked 28940 -(28939) found -(28940) found -[8874] Forked 28941 -[8873] Forked 28942 -(28941) found -(28942) found -[8872] Forked 28943 -[8871] Forked 28944 -(28943) found -(28944) found -[8870] Forked 28945 -(28945) found -[8869] Forked 28946 -(28946) found -[8868] Forked 28947 -(28947) found -[8867] Forked 28948 -(28948) found -[8866] Forked 28949 -(28949) found -[8865] Forked 28950 -(28950) found -[8864] Forked 28951 -(28951) found -[8863] Forked 28952 -(28952) found -[8862] Forked 28953 -(28953) found -[8861] Forked 28954 -(28954) found -[8860] Forked 28955 -(28955) found -[8859] Forked 28956 -(28956) found -[8858] Forked 28957 -(28957) found -[8857] Forked 28958 -(28958) found -[8856] Forked 28959 -(28959) found -[8855] Forked 28960 -(28960) found -[8854] Forked 28961 -(28961) found -[8853] Forked 28962 -(28962) found -[8852] Forked 28963 -(28963) found -[8851] Forked 28964 -(28964) found -[8850] Forked 28965 -(28965) found -[8849] Forked 28966 -(28966) found -[8848] Forked 28967 -(28967) found -[8847] Forked 28968 -(28968) found -[8846] Forked 28969 -(28969) found -[8845] Forked 28970 -(28970) found -[8844] Forked 28971 -(28971) found -[8843] Forked 28972 -(28972) found -[8842] Forked 28973 -(28973) found -[8841] Forked 28974 -(28974) found -[8840] Forked 28975 -(28975) found -[8839] Forked 28976 -(28976) found -[8838] Forked 28977 -(28977) found -[8837] Forked 28978 -(28978) found -[8836] Forked 28979 -(28979) found -[8835] Forked 28980 -(28980) found -[8834] Forked 28981 -(28981) found -[8833] Forked 28982 -[8832] Forked 28983 -(28983) found -(28982) found -[8831] Forked 28984 -(28984) found -[8830] Forked 28985 -(28985) found -[8829] Forked 28986 -(28986) found -[8828] Forked 28987 -(28987) found -[8827] Forked 28988 -(28988) found -[8826] Forked 28989 -(28989) found -[8825] Forked 28990 -(28990) found -[8824] Forked 28991 -(28991) found -[8823] Forked 28992 -(28992) found -[8822] Forked 28993 -(28993) found -[8821] Forked 28994 -(28994) found -[8820] Forked 28995 -(28995) found -[8819] Forked 28996 -(28996) found -[8818] Forked 28997 -(28997) found -[8817] Forked 28998 -(28998) found -[8816] Forked 28999 -(28999) found -[8815] Forked 29000 -(29000) found -[8814] Forked 29001 -(29001) found -[8813] Forked 29002 -(29002) found -[8812] Forked 29003 -(29003) found -[8811] Forked 29004 -(29004) found -[8810] Forked 29005 -(29005) found -[8809] Forked 29006 -(29006) found -[8808] Forked 29007 -(29007) found -[8807] Forked 29008 -(29008) found -[8806] Forked 29009 -(29009) found -[8805] Forked 29010 -(29010) found -[8804] Forked 29011 -(29011) found -[8803] Forked 29012 -(29012) found -[8802] Forked 29013 -(29013) found -[8801] Forked 29014 -(29014) found -[8800] Forked 29015 -(29015) found -[8799] Forked 29016 -(29016) found -[8798] Forked 29017 -(29017) found -[8797] Forked 29018 -(29018) found -[8796] Forked 29019 -(29019) found -[8795] Forked 29020 -(29020) found -[8794] Forked 29021 -(29021) found -[8793] Forked 29022 -(29022) found -[8792] Forked 29023 -(29023) found -[8791] Forked 29024 -(29024) found -[8790] Forked 29025 -(29025) found -[8789] Forked 29026 -(29026) found -[8788] Forked 29027 -(29027) found -[8787] Forked 29028 -(29028) found -[8786] Forked 29029 -(29029) found -[8785] Forked 29030 -(29030) found -[8784] Forked 29031 -(29031) found -[8783] Forked 29032 -(29032) found -[8782] Forked 29033 -(29033) found -[8781] Forked 29034 -(29034) found -[8780] Forked 29035 -(29035) found -[8779] Forked 29036 -(29036) found -[8778] Forked 29037 -(29037) found -[8777] Forked 29038 -(29038) found -[8776] Forked 29039 -(29039) found -[8775] Forked 29040 -(29040) found -[8774] Forked 29041 -(29041) found -[8773] Forked 29042 -(29042) found -[8772] Forked 29043 -(29043) found -[8771] Forked 29044 -(29044) found -[8770] Forked 29045 -(29045) found -[8769] Forked 29046 -(29046) found -[8768] Forked 29047 -(29047) found -[8767] Forked 29048 -(29048) found -[8766] Forked 29049 -(29049) found -[8765] Forked 29050 -(29050) found -[8764] Forked 29051 -(29051) found -[8763] Forked 29052 -[8762] Forked 29053 -(29052) found -(29053) found -[8761] Forked 29054 -[8760] Forked 29055 -(29054) found -(29055) found -[8759] Forked 29056 -[8758] Forked 29057 -(29056) found -(29057) found -[8757] Forked 29058 -[8756] Forked 29059 -(29058) found -(29059) found -[8755] Forked 29060 -[8754] Forked 29061 -(29060) found -(29061) found -[8753] Forked 29062 -[8752] Forked 29063 -(29062) found -(29063) found -[8751] Forked 29064 -[8750] Forked 29065 -(29064) found -(29065) found -[8749] Forked 29066 -[8748] Forked 29067 -(29066) found -(29067) found -[8747] Forked 29068 -[8746] Forked 29069 -(29068) found -(29069) found -[8745] Forked 29070 -[8744] Forked 29071 -(29070) found -(29071) found -[8743] Forked 29072 -[8742] Forked 29073 -(29072) found -(29073) found -[8741] Forked 29074 -[8740] Forked 29075 -(29074) found -(29075) found -[8739] Forked 29076 -[8738] Forked 29077 -(29076) found -(29077) found -[8737] Forked 29078 -[8736] Forked 29079 -(29078) found -(29079) found -[8735] Forked 29080 -[8734] Forked 29081 -(29080) found -(29081) found -[8733] Forked 29082 -[8732] Forked 29083 -(29082) found -(29083) found -[8731] Forked 29084 -[8730] Forked 29085 -(29084) found -(29085) found -[8729] Forked 29086 -[8728] Forked 29087 -(29086) found -(29087) found -[8727] Forked 29088 -[8726] Forked 29089 -(29088) found -(29089) found -[8725] Forked 29090 -[8724] Forked 29091 -(29090) found -(29091) found -[8723] Forked 29092 -[8722] Forked 29093 -(29092) found -(29093) found -[8721] Forked 29094 -[8720] Forked 29095 -(29094) found -(29095) found -[8719] Forked 29096 -[8718] Forked 29097 -(29096) found -(29097) found -[8717] Forked 29098 -[8716] Forked 29099 -(29098) found -(29099) found -[8715] Forked 29100 -[8714] Forked 29101 -(29100) found -(29101) found -[8713] Forked 29102 -[8712] Forked 29103 -(29102) found -(29103) found -[8711] Forked 29104 -[8710] Forked 29105 -(29104) found -(29105) found -[8709] Forked 29106 -[8708] Forked 29107 -(29106) found -(29107) found -[8707] Forked 29108 -[8706] Forked 29109 -(29108) found -(29109) found -[8705] Forked 29110 -[8704] Forked 29111 -(29110) found -(29111) found -[8703] Forked 29112 -[8702] Forked 29113 -(29112) found -(29113) found -[8701] Forked 29114 -[8700] Forked 29115 -(29114) found -(29115) found -[8699] Forked 29116 -[8698] Forked 29117 -(29116) found -(29117) found -[8697] Forked 29118 -[8696] Forked 29119 -(29118) found -(29119) found -[8695] Forked 29120 -[8694] Forked 29122 -(29120) found -(29122) found -[8693] Forked 29123 -(29123) found -[8692] Forked 29124 -(29124) found -[8691] Forked 29125 -(29125) found -[8690] Forked 29126 -(29126) found -[8689] Forked 29127 -(29127) found -[8688] Forked 29128 -(29128) found -[8687] Forked 29129 -(29129) found -[8686] Forked 29130 -(29130) found -[8685] Forked 29131 -(29131) found -[8684] Forked 29132 -(29132) found -[8683] Forked 29133 -(29133) found -[8682] Forked 29134 -(29134) found -[8681] Forked 29135 -(29135) found -[8680] Forked 29136 -(29136) found -[8679] Forked 29137 -(29137) found -[8678] Forked 29138 -(29138) found -[8677] Forked 29139 -(29139) found -[8676] Forked 29140 -(29140) found -[8675] Forked 29141 -(29141) found -[8674] Forked 29142 -(29142) found -[8673] Forked 29143 -(29143) found -[8672] Forked 29144 -(29144) found -[8671] Forked 29145 -(29145) found -[8670] Forked 29146 -(29146) found -[8669] Forked 29147 -(29147) found -[8668] Forked 29148 -(29148) found -[8667] Forked 29149 -(29149) found -[8666] Forked 29150 -(29150) found -[8665] Forked 29151 -(29151) found -[8664] Forked 29152 -(29152) found -[8663] Forked 29153 -(29153) found -[8662] Forked 29154 -(29154) found -[8661] Forked 29155 -(29155) found -[8660] Forked 29156 -(29156) found -[8659] Forked 29157 -(29157) found -[8658] Forked 29158 -(29158) found -[8657] Forked 29159 -(29159) found -[8656] Forked 29160 -(29160) found -[8655] Forked 29161 -(29161) found -[8654] Forked 29162 -(29162) found -[8653] Forked 29163 -(29163) found -[8652] Forked 29164 -(29164) found -[8651] Forked 29165 -(29165) found -[8650] Forked 29166 -(29166) found -[8649] Forked 29167 -(29167) found -[8648] Forked 29168 -(29168) found -[8647] Forked 29169 -(29169) found -[8646] Forked 29170 -(29170) found -[8645] Forked 29171 -(29171) found -[8644] Forked 29172 -(29172) found -[8643] Forked 29173 -(29173) found -[8642] Forked 29174 -[8641] Forked 29175 -(29174) found -(29175) found -[8640] Forked 29176 -[8639] Forked 29177 -(29176) found -(29177) found -[8638] Forked 29178 -[8637] Forked 29179 -(29178) found -(29179) found -[8636] Forked 29180 -[8635] Forked 29181 -(29180) found -(29181) found -[8634] Forked 29182 -[8633] Forked 29183 -(29182) found -(29183) found -[8632] Forked 29184 -[8631] Forked 29185 -(29184) found -(29185) found -[8630] Forked 29186 -[8629] Forked 29187 -(29186) found -(29187) found -[8628] Forked 29188 -[8627] Forked 29189 -(29188) found -(29189) found -[8626] Forked 29190 -[8625] Forked 29191 -(29190) found -(29191) found -[8624] Forked 29192 -[8623] Forked 29193 -(29192) found -(29193) found -[8622] Forked 29194 -[8621] Forked 29195 -(29194) found -(29195) found -[8620] Forked 29196 -[8619] Forked 29197 -(29196) found -(29197) found -[8618] Forked 29198 -[8617] Forked 29199 -(29198) found -(29199) found -[8616] Forked 29200 -[8615] Forked 29201 -(29200) found -(29201) found -[8614] Forked 29202 -[8613] Forked 29203 -(29202) found -(29203) found -[8612] Forked 29204 -[8611] Forked 29205 -(29204) found -(29205) found -[8610] Forked 29206 -[8609] Forked 29207 -(29206) found -(29207) found -[8608] Forked 29208 -[8607] Forked 29209 -(29208) found -(29209) found -[8606] Forked 29210 -[8605] Forked 29211 -(29210) found -(29211) found -[8604] Forked 29212 -[8603] Forked 29213 -(29212) found -(29213) found -[8602] Forked 29214 -[8601] Forked 29215 -(29214) found -(29215) found -[8600] Forked 29216 -[8599] Forked 29217 -(29216) found -(29217) found -[8598] Forked 29218 -[8597] Forked 29219 -(29218) found -(29219) found -[8596] Forked 29220 -[8595] Forked 29221 -(29220) found -(29221) found -[8594] Forked 29222 -[8593] Forked 29223 -(29222) found -(29223) found -[8592] Forked 29224 -[8591] Forked 29225 -(29224) found -(29225) found -[8590] Forked 29226 -[8589] Forked 29227 -(29226) found -(29227) found -[8588] Forked 29228 -[8587] Forked 29229 -(29228) found -(29229) found -[8586] Forked 29230 -[8585] Forked 29231 -(29230) found -(29231) found -[8584] Forked 29232 -[8583] Forked 29233 -(29232) found -(29233) found -[8582] Forked 29234 -[8581] Forked 29235 -(29234) found -(29235) found -[8580] Forked 29236 -[8579] Forked 29237 -(29236) found -(29237) found -[8578] Forked 29238 -[8577] Forked 29239 -(29238) found -(29239) found -[8576] Forked 29240 -[8575] Forked 29241 -(29240) found -(29241) found -[8574] Forked 29242 -[8573] Forked 29243 -(29242) found -(29243) found -[8572] Forked 29244 -[8571] Forked 29245 -(29244) found -(29245) found -[8570] Forked 29246 -[8569] Forked 29247 -(29246) found -(29247) found -[8568] Forked 29248 -[8567] Forked 29249 -(29248) found -(29249) found -[8566] Forked 29250 -[8565] Forked 29251 -(29250) found -(29251) found -[8564] Forked 29252 -[8563] Forked 29253 -(29252) found -(29253) found -[8562] Forked 29254 -[8561] Forked 29255 -(29254) found -(29255) found -[8560] Forked 29256 -[8559] Forked 29257 -(29256) found -(29257) found -[8558] Forked 29258 -[8557] Forked 29259 -(29258) found -(29259) found -[8556] Forked 29260 -[8555] Forked 29261 -(29260) found -(29261) found -[8554] Forked 29262 -[8553] Forked 29263 -(29262) found -(29263) found -[8552] Forked 29264 -[8551] Forked 29265 -(29264) found -(29265) found -[8550] Forked 29266 -(29266) found -[8549] Forked 29267 -(29267) found -[8548] Forked 29268 -(29268) found -[8547] Forked 29269 -(29269) found -[8546] Forked 29270 -(29270) found -[8545] Forked 29271 -(29271) found -[8544] Forked 29272 -(29272) found -[8543] Forked 29273 -(29273) found -[8542] Forked 29274 -(29274) found -[8541] Forked 29275 -(29275) found -[8540] Forked 29276 -(29276) found -[8539] Forked 29277 -(29277) found -[8538] Forked 29278 -(29278) found -[8537] Forked 29279 -(29279) found -[8536] Forked 29280 -(29280) found -[8535] Forked 29281 -(29281) found -[8534] Forked 29282 -(29282) found -[8533] Forked 29283 -(29283) found -[8532] Forked 29284 -(29284) found -[8531] Forked 29285 -(29285) found -[8530] Forked 29286 -(29286) found -[8529] Forked 29287 -(29287) found -[8528] Forked 29288 -(29288) found -[8527] Forked 29289 -(29289) found -[8526] Forked 29290 -(29290) found -[8525] Forked 29291 -(29291) found -[8524] Forked 29292 -(29292) found -[8523] Forked 29293 -(29293) found -[8522] Forked 29294 -(29294) found -[8521] Forked 29295 -(29295) found -[8520] Forked 29296 -(29296) found -[8519] Forked 29297 -(29297) found -[8518] Forked 29298 -(29298) found -[8517] Forked 29299 -(29299) found -[8516] Forked 29300 -(29300) found -[8515] Forked 29301 -(29301) found -[8514] Forked 29302 -[8513] Forked 29303 -(29302) found -(29303) found -[8512] Forked 29304 -[8511] Forked 29305 -(29304) found -(29305) found -[8510] Forked 29306 -[8509] Forked 29307 -(29306) found -(29307) found -[8508] Forked 29308 -[8507] Forked 29309 -(29308) found -(29309) found -[8506] Forked 29310 -[8505] Forked 29311 -(29310) found -(29311) found -[8504] Forked 29312 -[8503] Forked 29313 -(29312) found -(29313) found -[8502] Forked 29314 -[8501] Forked 29315 -(29314) found -(29315) found -[8500] Forked 29316 -(29316) found -[8499] Forked 29317 -[8498] Forked 29318 -(29317) found -(29318) found -[8497] Forked 29319 -[8496] Forked 29320 -(29319) found -(29320) found -[8495] Forked 29321 -[8494] Forked 29322 -(29321) found -(29322) found -[8493] Forked 29323 -[8492] Forked 29324 -(29323) found -(29324) found -[8491] Forked 29325 -[8490] Forked 29326 -(29325) found -(29326) found -[8489] Forked 29327 -[8488] Forked 29328 -(29327) found -(29328) found -[8487] Forked 29329 -[8486] Forked 29330 -(29329) found -(29330) found -[8485] Forked 29331 -[8484] Forked 29332 -(29331) found -(29332) found -[8483] Forked 29333 -[8482] Forked 29334 -(29333) found -(29334) found -[8481] Forked 29335 -[8480] Forked 29336 -(29335) found -(29336) found -[8479] Forked 29337 -[8478] Forked 29338 -(29337) found -(29338) found -[8477] Forked 29339 -[8476] Forked 29340 -(29339) found -(29340) found -[8475] Forked 29341 -[8474] Forked 29342 -(29341) found -(29342) found -[8473] Forked 29343 -[8472] Forked 29344 -(29343) found -(29344) found -[8471] Forked 29345 -[8470] Forked 29346 -(29345) found -(29346) found -[8469] Forked 29347 -[8468] Forked 29348 -(29347) found -(29348) found -[8467] Forked 29349 -[8466] Forked 29350 -(29349) found -(29350) found -[8465] Forked 29351 -[8464] Forked 29352 -(29351) found -(29352) found -[8463] Forked 29353 -[8462] Forked 29354 -(29353) found -(29354) found -[8461] Forked 29355 -[8460] Forked 29356 -(29355) found -(29356) found -[8459] Forked 29357 -[8458] Forked 29358 -(29357) found -(29358) found -[8457] Forked 29359 -[8456] Forked 29360 -(29359) found -(29360) found -[8455] Forked 29361 -[8454] Forked 29362 -(29361) found -(29362) found -[8453] Forked 29363 -[8452] Forked 29364 -(29363) found -(29364) found -[8451] Forked 29365 -[8450] Forked 29366 -(29365) found -(29366) found -[8449] Forked 29367 -[8448] Forked 29368 -(29367) found -(29368) found -[8447] Forked 29369 -[8446] Forked 29370 -(29369) found -(29370) found -[8445] Forked 29371 -[8444] Forked 29372 -(29371) found -(29372) found -[8443] Forked 29373 -[8442] Forked 29374 -(29373) found -(29374) found -[8441] Forked 29375 -[8440] Forked 29376 -(29375) found -(29376) found -[8439] Forked 29377 -[8438] Forked 29378 -(29377) found -(29378) found -[8437] Forked 29379 -[8436] Forked 29380 -(29379) found -(29380) found -[8435] Forked 29381 -[8434] Forked 29382 -(29381) found -(29382) found -[8433] Forked 29383 -[8432] Forked 29384 -(29383) found -(29384) found -[8431] Forked 29385 -[8430] Forked 29386 -(29385) found -(29386) found -[8429] Forked 29387 -[8428] Forked 29388 -(29387) found -(29388) found -[8427] Forked 29389 -[8426] Forked 29390 -(29389) found -(29390) found -[8425] Forked 29391 -[8424] Forked 29392 -(29391) found -(29392) found -[8423] Forked 29393 -[8422] Forked 29394 -(29393) found -(29394) found -[8421] Forked 29395 -[8420] Forked 29396 -(29395) found -(29396) found -[8419] Forked 29397 -[8418] Forked 29398 -(29397) found -(29398) found -[8417] Forked 29399 -[8416] Forked 29400 -(29399) found -(29400) found -[8415] Forked 29401 -[8414] Forked 29402 -(29401) found -(29402) found -[8413] Forked 29403 -[8412] Forked 29404 -(29403) found -(29404) found -[8411] Forked 29405 -[8410] Forked 29406 -(29405) found -(29406) found -[8409] Forked 29407 -[8408] Forked 29408 -(29407) found -(29408) found -[8407] Forked 29409 -[8406] Forked 29410 -(29409) found -(29410) found -[8405] Forked 29411 -[8404] Forked 29412 -(29411) found -(29412) found -[8403] Forked 29413 -[8402] Forked 29414 -(29413) found -(29414) found -[8401] Forked 29415 -[8400] Forked 29416 -(29415) found -(29416) found -[8399] Forked 29417 -[8398] Forked 29418 -(29417) found -(29418) found -[8397] Forked 29419 -[8396] Forked 29420 -(29419) found -(29420) found -[8395] Forked 29421 -[8394] Forked 29422 -(29421) found -(29422) found -[8393] Forked 29423 -[8392] Forked 29424 -(29423) found -(29424) found -[8391] Forked 29425 -[8390] Forked 29426 -(29425) found -(29426) found -[8389] Forked 29427 -[8388] Forked 29428 -(29427) found -(29428) found -[8387] Forked 29429 -[8386] Forked 29430 -(29429) found -(29430) found -[8385] Forked 29431 -[8384] Forked 29432 -(29431) found -(29432) found -[8383] Forked 29433 -[8382] Forked 29434 -(29433) found -(29434) found -[8381] Forked 29435 -(29435) found -[8380] Forked 29436 -(29436) found -[8379] Forked 29437 -(29437) found -[8378] Forked 29438 -(29438) found -[8377] Forked 29439 -(29439) found -[8376] Forked 29440 -(29440) found -[8375] Forked 29441 -(29441) found -[8374] Forked 29442 -(29442) found -[8373] Forked 29443 -(29443) found -[8372] Forked 29444 -(29444) found -[8371] Forked 29445 -(29445) found -[8370] Forked 29446 -(29446) found -[8369] Forked 29447 -(29447) found -[8368] Forked 29448 -(29448) found -[8367] Forked 29449 -(29449) found -[8366] Forked 29450 -(29450) found -[8365] Forked 29451 -(29451) found -[8364] Forked 29452 -(29452) found -[8363] Forked 29453 -(29453) found -[8362] Forked 29454 -(29454) found -[8361] Forked 29455 -(29455) found -[8360] Forked 29456 -(29456) found -[8359] Forked 29457 -(29457) found -[8358] Forked 29458 -(29458) found -[8357] Forked 29459 -(29459) found -[8356] Forked 29460 -(29460) found -[8355] Forked 29461 -(29461) found -[8354] Forked 29462 -(29462) found -[8353] Forked 29463 -(29463) found -[8352] Forked 29464 -(29464) found -[8351] Forked 29465 -(29465) found -[8350] Forked 29466 -(29466) found -[8349] Forked 29467 -(29467) found -[8348] Forked 29468 -(29468) found -[8347] Forked 29469 -(29469) found -[8346] Forked 29470 -(29470) found -[8345] Forked 29471 -(29471) found -[8344] Forked 29472 -(29472) found -[8343] Forked 29473 -[8342] Forked 29474 -(29473) found -(29474) found -[8341] Forked 29475 -[8340] Forked 29476 -(29475) found -(29476) found -[8339] Forked 29477 -[8338] Forked 29478 -(29477) found -(29478) found -[8337] Forked 29479 -[8336] Forked 29480 -(29479) found -(29480) found -[8335] Forked 29481 -[8334] Forked 29482 -(29481) found -(29482) found -[8333] Forked 29483 -[8332] Forked 29484 -(29483) found -(29484) found -[8331] Forked 29485 -[8330] Forked 29486 -(29485) found -(29486) found -[8329] Forked 29487 -[8328] Forked 29488 -(29487) found -(29488) found -[8327] Forked 29489 -[8326] Forked 29490 -(29489) found -(29490) found -[8325] Forked 29491 -[8324] Forked 29492 -(29491) found -(29492) found -[8323] Forked 29493 -[8322] Forked 29494 -(29493) found -(29494) found -[8321] Forked 29495 -[8320] Forked 29496 -(29495) found -(29496) found -[8319] Forked 29497 -[8318] Forked 29498 -(29497) found -(29498) found -[8317] Forked 29499 -[8316] Forked 29500 -(29499) found -(29500) found -[8315] Forked 29501 -[8314] Forked 29502 -(29501) found -(29502) found -[8313] Forked 29503 -[8312] Forked 29504 -(29503) found -(29504) found -[8311] Forked 29505 -[8310] Forked 29506 -(29505) found -(29506) found -[8309] Forked 29507 -[8308] Forked 29508 -(29507) found -(29508) found -[8307] Forked 29509 -[8306] Forked 29510 -(29509) found -(29510) found -[8305] Forked 29511 -[8304] Forked 29512 -(29511) found -(29512) found -[8303] Forked 29513 -[8302] Forked 29514 -(29513) found -(29514) found -[8301] Forked 29515 -[8300] Forked 29516 -(29515) found -(29516) found -[8299] Forked 29517 -(29517) found -[8298] Forked 29518 -(29518) found -[8297] Forked 29519 -(29519) found -[8296] Forked 29520 -(29520) found -[8295] Forked 29521 -(29521) found -[8294] Forked 29522 -(29522) found -[8293] Forked 29523 -(29523) found -[8292] Forked 29524 -(29524) found -[8291] Forked 29525 -(29525) found -[8290] Forked 29526 -(29526) found -[8289] Forked 29527 -(29527) found -[8288] Forked 29528 -(29528) found -[8287] Forked 29529 -(29529) found -[8286] Forked 29530 -(29530) found -[8285] Forked 29531 -(29531) found -[8284] Forked 29532 -(29532) found -[8283] Forked 29533 -(29533) found -[8282] Forked 29534 -(29534) found -[8281] Forked 29535 -(29535) found -[8280] Forked 29536 -(29536) found -[8279] Forked 29537 -(29537) found -[8278] Forked 29538 -(29538) found -[8277] Forked 29539 -(29539) found -[8276] Forked 29540 -(29540) found -[8275] Forked 29541 -(29541) found -[8274] Forked 29542 -(29542) found -[8273] Forked 29543 -(29543) found -[8272] Forked 29544 -(29544) found -[8271] Forked 29545 -(29545) found -[8270] Forked 29546 -(29546) found -[8269] Forked 29547 -(29547) found -[8268] Forked 29548 -(29548) found -[8267] Forked 29549 -(29549) found -[8266] Forked 29550 -(29550) found -[8265] Forked 29551 -(29551) found -[8264] Forked 29552 -(29552) found -[8263] Forked 29553 -(29553) found -[8262] Forked 29554 -(29554) found -[8261] Forked 29555 -(29555) found -[8260] Forked 29556 -[8259] Forked 29557 -(29556) found -(29557) found -[8258] Forked 29558 -[8257] Forked 29559 -(29558) found -(29559) found -[8256] Forked 29560 -[8255] Forked 29561 -(29560) found -(29561) found -[8254] Forked 29562 -[8253] Forked 29563 -(29562) found -(29563) found -[8252] Forked 29564 -[8251] Forked 29565 -(29564) found -(29565) found -[8250] Forked 29566 -[8249] Forked 29567 -(29566) found -(29567) found -[8248] Forked 29568 -[8247] Forked 29569 -(29568) found -(29569) found -[8246] Forked 29570 -[8245] Forked 29571 -(29570) found -(29571) found -[8244] Forked 29572 -[8243] Forked 29573 -(29572) found -(29573) found -[8242] Forked 29574 -[8241] Forked 29575 -(29574) found -(29575) found -[8240] Forked 29576 -[8239] Forked 29577 -(29576) found -(29577) found -[8238] Forked 29578 -[8237] Forked 29579 -(29578) found -(29579) found -[8236] Forked 29580 -[8235] Forked 29581 -(29580) found -(29581) found -[8234] Forked 29582 -[8233] Forked 29583 -(29582) found -(29583) found -[8232] Forked 29584 -[8231] Forked 29585 -(29584) found -(29585) found -[8230] Forked 29586 -[8229] Forked 29587 -(29586) found -(29587) found -[8228] Forked 29588 -[8227] Forked 29589 -(29588) found -(29589) found -[8226] Forked 29590 -[8225] Forked 29591 -(29590) found -(29591) found -[8224] Forked 29592 -[8223] Forked 29593 -(29592) found -(29593) found -[8222] Forked 29594 -(29594) found -[8221] Forked 29595 -[8220] Forked 29596 -(29595) found -(29596) found -[8219] Forked 29597 -[8218] Forked 29598 -(29597) found -(29598) found -[8217] Forked 29599 -(29599) found -[8216] Forked 29600 -(29600) found -[8215] Forked 29601 -(29601) found -[8214] Forked 29602 -(29602) found -[8213] Forked 29603 -(29603) found -[8212] Forked 29604 -(29604) found -[8211] Forked 29605 -(29605) found -[8210] Forked 29606 -(29606) found -[8209] Forked 29607 -(29607) found -[8208] Forked 29608 -(29608) found -[8207] Forked 29609 -(29609) found -[8206] Forked 29610 -(29610) found -[8205] Forked 29611 -(29611) found -[8204] Forked 29612 -(29612) found -[8203] Forked 29613 -(29613) found -[8202] Forked 29614 -(29614) found -[8201] Forked 29615 -(29615) found -[8200] Forked 29616 -(29616) found -[8199] Forked 29617 -(29617) found -[8198] Forked 29618 -(29618) found -[8197] Forked 29619 -(29619) found -[8196] Forked 29620 -(29620) found -[8195] Forked 29621 -(29621) found -[8194] Forked 29622 -(29622) found -[8193] Forked 29623 -(29623) found -[8192] Forked 29624 -(29624) found -[8191] Forked 29625 -(29625) found -[8190] Forked 29626 -(29626) found -[8189] Forked 29627 -(29627) found -[8188] Forked 29628 -(29628) found -[8187] Forked 29629 -(29629) found -[8186] Forked 29630 -(29630) found -[8185] Forked 29631 -(29631) found -[8184] Forked 29632 -(29632) found -[8183] Forked 29633 -(29633) found -[8182] Forked 29634 -(29634) found -[8181] Forked 29635 -(29635) found -[8180] Forked 29636 -(29636) found -[8179] Forked 29637 -(29637) found -[8178] Forked 29638 -[8177] Forked 29639 -(29638) found -(29639) found -[8176] Forked 29640 -[8175] Forked 29641 -(29640) found -(29641) found -[8174] Forked 29642 -[8173] Forked 29643 -(29642) found -(29643) found -[8172] Forked 29644 -[8171] Forked 29645 -(29644) found -(29645) found -[8170] Forked 29646 -[8169] Forked 29647 -(29646) found -(29647) found -[8168] Forked 29648 -[8167] Forked 29649 -(29648) found -(29649) found -[8166] Forked 29650 -[8165] Forked 29651 -(29650) found -(29651) found -[8164] Forked 29652 -[8163] Forked 29653 -(29652) found -(29653) found -[8162] Forked 29654 -[8161] Forked 29655 -(29654) found -(29655) found -[8160] Forked 29656 -[8159] Forked 29657 -(29656) found -(29657) found -[8158] Forked 29658 -[8157] Forked 29659 -(29658) found -(29659) found -[8156] Forked 29660 -[8155] Forked 29661 -(29660) found -(29661) found -[8154] Forked 29662 -[8153] Forked 29663 -(29662) found -(29663) found -[8152] Forked 29664 -[8151] Forked 29665 -(29665) found -(29664) found -[8150] Forked 29666 -(29666) found -[8149] Forked 29667 -(29667) found -[8148] Forked 29668 -(29668) found -[8147] Forked 29669 -(29669) found -[8146] Forked 29670 -(29670) found -[8145] Forked 29671 -(29671) found -[8144] Forked 29672 -(29672) found -[8143] Forked 29673 -(29673) found -[8142] Forked 29674 -(29674) found -[8141] Forked 29675 -(29675) found -[8140] Forked 29676 -(29676) found -[8139] Forked 29677 -(29677) found -[8138] Forked 29678 -(29678) found -[8137] Forked 29679 -(29679) found -[8136] Forked 29680 -(29680) found -[8135] Forked 29681 -(29681) found -[8134] Forked 29682 -(29682) found -[8133] Forked 29683 -(29683) found -[8132] Forked 29684 -(29684) found -[8131] Forked 29685 -(29685) found -[8130] Forked 29686 -(29686) found -[8129] Forked 29687 -(29687) found -[8128] Forked 29688 -(29688) found -[8127] Forked 29689 -(29689) found -[8126] Forked 29690 -(29690) found -[8125] Forked 29691 -(29691) found -[8124] Forked 29692 -(29692) found -[8123] Forked 29693 -(29693) found -[8122] Forked 29694 -(29694) found -[8121] Forked 29695 -(29695) found -[8120] Forked 29696 -(29696) found -[8119] Forked 29697 -(29697) found -[8118] Forked 29698 -(29698) found -[8117] Forked 29699 -(29699) found -[8116] Forked 29700 -(29700) found -[8115] Forked 29701 -(29701) found -[8114] Forked 29702 -(29702) found -[8113] Forked 29703 -(29703) found -[8112] Forked 29704 -(29704) found -[8111] Forked 29705 -(29705) found -[8110] Forked 29706 -(29706) found -[8109] Forked 29707 -(29707) found -[8108] Forked 29708 -(29708) found -[8107] Forked 29709 -(29709) found -[8106] Forked 29710 -(29710) found -[8105] Forked 29711 -(29711) found -[8104] Forked 29712 -(29712) found -[8103] Forked 29713 -(29713) found -[8102] Forked 29714 -[8101] Forked 29715 -(29714) found -(29715) found -[8100] Forked 29716 -[8099] Forked 29717 -(29716) found -(29717) found -[8098] Forked 29718 -[8097] Forked 29719 -(29718) found -(29719) found -[8096] Forked 29720 -[8095] Forked 29721 -(29720) found -(29721) found -[8094] Forked 29722 -[8093] Forked 29723 -(29722) found -(29723) found -[8092] Forked 29724 -[8091] Forked 29725 -(29724) found -(29725) found -[8090] Forked 29726 -[8089] Forked 29727 -(29726) found -(29727) found -[8088] Forked 29728 -[8087] Forked 29729 -(29728) found -(29729) found -[8086] Forked 29730 -[8085] Forked 29731 -(29730) found -(29731) found -[8084] Forked 29732 -[8083] Forked 29733 -(29732) found -(29733) found -[8082] Forked 29734 -[8081] Forked 29735 -(29734) found -(29735) found -[8080] Forked 29736 -[8079] Forked 29737 -(29737) found -(29736) found -[8078] Forked 29738 -(29738) found -[8077] Forked 29739 -(29739) found -[8076] Forked 29740 -(29740) found -[8075] Forked 29741 -(29741) found -[8074] Forked 29742 -(29742) found -[8073] Forked 29743 -(29743) found -[8072] Forked 29744 -(29744) found -[8071] Forked 29745 -(29745) found -[8070] Forked 29746 -(29746) found -[8069] Forked 29747 -(29747) found -[8068] Forked 29748 -(29748) found -[8067] Forked 29749 -(29749) found -[8066] Forked 29750 -(29750) found -[8065] Forked 29751 -(29751) found -[8064] Forked 29752 -(29752) found -[8063] Forked 29753 -(29753) found -[8062] Forked 29754 -(29754) found -[8061] Forked 29755 -(29755) found -[8060] Forked 29756 -(29756) found -[8059] Forked 29757 -(29757) found -[8058] Forked 29758 -(29758) found -[8057] Forked 29759 -(29759) found -[8056] Forked 29760 -(29760) found -[8055] Forked 29761 -(29761) found -[8054] Forked 29762 -(29762) found -[8053] Forked 29763 -(29763) found -[8052] Forked 29764 -(29764) found -[8051] Forked 29765 -(29765) found -[8050] Forked 29766 -(29766) found -[8049] Forked 29767 -(29767) found -[8048] Forked 29768 -(29768) found -[8047] Forked 29769 -(29769) found -[8046] Forked 29770 -(29770) found -[8045] Forked 29771 -(29771) found -[8044] Forked 29772 -(29772) found -[8043] Forked 29773 -(29773) found -[8042] Forked 29774 -(29774) found -[8041] Forked 29775 -(29775) found -[8040] Forked 29776 -(29776) found -[8039] Forked 29777 -(29777) found -[8038] Forked 29778 -(29778) found -[8037] Forked 29779 -(29779) found -[8036] Forked 29780 -(29780) found -[8035] Forked 29781 -(29781) found -[8034] Forked 29782 -(29782) found -[8033] Forked 29783 -(29783) found -[8032] Forked 29784 -(29784) found -[8031] Forked 29785 -(29785) found -[8030] Forked 29786 -(29786) found -[8029] Forked 29787 -(29787) found -[8028] Forked 29788 -(29788) found -[8027] Forked 29789 -[8026] Forked 29790 -(29789) found -(29790) found -[8025] Forked 29791 -[8024] Forked 29792 -(29791) found -(29792) found -[8023] Forked 29793 -[8022] Forked 29794 -(29793) found -(29794) found -[8021] Forked 29795 -[8020] Forked 29796 -(29795) found -(29796) found -[8019] Forked 29797 -[8018] Forked 29798 -(29797) found -(29798) found -[8017] Forked 29799 -[8016] Forked 29800 -(29799) found -(29800) found -[8015] Forked 29801 -[8014] Forked 29802 -(29801) found -(29802) found -[8013] Forked 29803 -[8012] Forked 29804 -(29803) found -(29804) found -[8011] Forked 29805 -[8010] Forked 29806 -(29805) found -(29806) found -[8009] Forked 29807 -[8008] Forked 29810 -(29807) found -(29810) found -[8007] Forked 29811 -[8006] Forked 29812 -(29811) found -(29812) found -[8005] Forked 29813 -[8004] Forked 29814 -(29813) found -(29814) found -[8003] Forked 29815 -[8002] Forked 29816 -(29815) found -(29816) found -[8001] Forked 29817 -[8000] Forked 29818 -(29817) found -(29818) found -[7999] Forked 29819 -[7998] Forked 29820 -(29819) found -(29820) found -[7997] Forked 29821 -[7996] Forked 29822 -(29821) found -(29822) found -[7995] Forked 29823 -[7994] Forked 29824 -(29823) found -(29824) found -[7993] Forked 29825 -[7992] Forked 29826 -(29825) found -(29826) found -[7991] Forked 29827 -[7990] Forked 29828 -(29827) found -(29828) found -[7989] Forked 29829 -[7988] Forked 29830 -(29829) found -(29830) found -[7987] Forked 29831 -[7986] Forked 29832 -(29831) found -(29832) found -[7985] Forked 29833 -[7984] Forked 29834 -(29833) found -(29834) found -[7983] Forked 29835 -(29835) found -[7982] Forked 29836 -(29836) found -[7981] Forked 29837 -(29837) found -[7980] Forked 29838 -(29838) found -[7979] Forked 29839 -(29839) found -[7978] Forked 29840 -(29840) found -[7977] Forked 29841 -(29841) found -[7976] Forked 29842 -(29842) found -[7975] Forked 29843 -(29843) found -[7974] Forked 29844 -(29844) found -[7973] Forked 29845 -(29845) found -[7972] Forked 29846 -(29846) found -[7971] Forked 29847 -(29847) found -[7970] Forked 29848 -(29848) found -[7969] Forked 29849 -(29849) found -[7968] Forked 29850 -(29850) found -[7967] Forked 29851 -(29851) found -[7966] Forked 29852 -(29852) found -[7965] Forked 29853 -(29853) found -[7964] Forked 29854 -(29854) found -[7963] Forked 29855 -(29855) found -[7962] Forked 29856 -(29856) found -[7961] Forked 29857 -(29857) found -[7960] Forked 29858 -(29858) found -[7959] Forked 29859 -(29859) found -[7958] Forked 29860 -(29860) found -[7957] Forked 29861 -(29861) found -[7956] Forked 29862 -(29862) found -[7955] Forked 29863 -(29863) found -[7954] Forked 29864 -(29864) found -[7953] Forked 29865 -(29865) found -[7952] Forked 29866 -(29866) found -[7951] Forked 29867 -(29867) found -[7950] Forked 29868 -(29868) found -[7949] Forked 29869 -(29869) found -[7948] Forked 29870 -(29870) found -[7947] Forked 29871 -(29871) found -[7946] Forked 29872 -(29872) found -[7945] Forked 29873 -[7944] Forked 29874 -(29873) found -(29874) found -[7943] Forked 29875 -[7942] Forked 29876 -(29875) found -(29876) found -[7941] Forked 29877 -[7940] Forked 29878 -(29877) found -(29878) found -[7939] Forked 29879 -[7938] Forked 29880 -(29879) found -(29880) found -[7937] Forked 29881 -[7936] Forked 29882 -(29881) found -(29882) found -[7935] Forked 29883 -[7934] Forked 29884 -(29883) found -(29884) found -[7933] Forked 29885 -[7932] Forked 29886 -(29885) found -(29886) found -[7931] Forked 29887 -[7930] Forked 29888 -(29887) found -(29888) found -[7929] Forked 29889 -[7928] Forked 29890 -(29889) found -(29890) found -[7927] Forked 29891 -[7926] Forked 29892 -(29891) found -(29892) found -[7925] Forked 29893 -[7924] Forked 29894 -(29893) found -(29894) found -[7923] Forked 29895 -[7922] Forked 29896 -(29895) found -(29896) found -[7921] Forked 29897 -[7920] Forked 29898 -(29897) found -(29898) found -[7919] Forked 29899 -[7918] Forked 29900 -(29899) found -(29900) found -[7917] Forked 29901 -[7916] Forked 29902 -(29901) found -(29902) found -[7915] Forked 29903 -[7914] Forked 29904 -(29903) found -(29904) found -[7913] Forked 29905 -[7912] Forked 29906 -(29905) found -(29906) found -[7911] Forked 29907 -[7910] Forked 29908 -(29907) found -(29908) found -[7909] Forked 29909 -[7908] Forked 29910 -(29909) found -(29910) found -[7907] Forked 29911 -[7906] Forked 29912 -(29911) found -(29912) found -[7905] Forked 29913 -[7904] Forked 29914 -(29913) found -(29914) found -[7903] Forked 29915 -[7902] Forked 29916 -(29915) found -(29916) found -[7901] Forked 29917 -(29917) found -[7900] Forked 29918 -(29918) found -[7899] Forked 29919 -(29919) found -[7898] Forked 29920 -(29920) found -[7897] Forked 29921 -(29921) found -[7896] Forked 29922 -(29922) found -[7895] Forked 29923 -(29923) found -[7894] Forked 29924 -(29924) found -[7893] Forked 29925 -(29925) found -[7892] Forked 29926 -(29926) found -[7891] Forked 29927 -(29927) found -[7890] Forked 29928 -(29928) found -[7889] Forked 29929 -(29929) found -[7888] Forked 29930 -(29930) found -[7887] Forked 29931 -(29931) found -[7886] Forked 29932 -(29932) found -[7885] Forked 29933 -(29933) found -[7884] Forked 29934 -(29934) found -[7883] Forked 29935 -(29935) found -[7882] Forked 29936 -(29936) found -[7881] Forked 29937 -(29937) found -[7880] Forked 29938 -(29938) found -[7879] Forked 29939 -(29939) found -[7878] Forked 29940 -(29940) found -[7877] Forked 29941 -(29941) found -[7876] Forked 29942 -(29942) found -[7875] Forked 29943 -(29943) found -[7874] Forked 29944 -(29944) found -[7873] Forked 29945 -(29945) found -[7872] Forked 29946 -(29946) found -[7871] Forked 29947 -(29947) found -[7870] Forked 29948 -(29948) found -[7869] Forked 29949 -(29949) found -[7868] Forked 29950 -(29950) found -[7867] Forked 29951 -(29951) found -[7866] Forked 29952 -(29952) found -[7865] Forked 29953 -(29953) found -[7864] Forked 29954 -(29954) found -[7863] Forked 29955 -(29955) found -[7862] Forked 29956 -[7861] Forked 29957 -(29956) found -(29957) found -[7860] Forked 29958 -[7859] Forked 29959 -(29958) found -(29959) found -[7858] Forked 29960 -[7857] Forked 29961 -(29960) found -(29961) found -[7856] Forked 29962 -[7855] Forked 29963 -(29962) found -(29963) found -[7854] Forked 29964 -[7853] Forked 29965 -(29964) found -(29965) found -[7852] Forked 29966 -[7851] Forked 29967 -(29966) found -(29967) found -[7850] Forked 29968 -[7849] Forked 29969 -(29968) found -(29969) found -[7848] Forked 29970 -[7847] Forked 29972 -(29970) found -(29972) found -[7846] Forked 29973 -[7845] Forked 29974 -(29973) found -(29974) found -[7844] Forked 29975 -[7843] Forked 29976 -(29975) found -(29976) found -[7842] Forked 29977 -[7841] Forked 29978 -(29977) found -(29978) found -[7840] Forked 29979 -[7839] Forked 29980 -(29979) found -(29980) found -[7838] Forked 29981 -[7837] Forked 29982 -(29981) found -(29982) found -[7836] Forked 29983 -[7835] Forked 29984 -(29983) found -(29984) found -[7834] Forked 29985 -[7833] Forked 29986 -(29985) found -(29986) found -[7832] Forked 29987 -[7831] Forked 29988 -(29987) found -(29988) found -[7830] Forked 29989 -[7829] Forked 29990 -(29989) found -(29990) found -[7828] Forked 29991 -[7827] Forked 29992 -(29992) found -(29991) found -[7826] Forked 29993 -(29993) found -[7825] Forked 29994 -(29994) found -[7824] Forked 29995 -(29995) found -[7823] Forked 29996 -(29996) found -[7822] Forked 29997 -(29997) found -[7821] Forked 29998 -(29998) found -[7820] Forked 29999 -(29999) found -[7819] Forked 30000 -(30000) found -[7818] Forked 30001 -(30001) found -[7817] Forked 30002 -(30002) found -[7816] Forked 30003 -(30003) found -[7815] Forked 30004 -(30004) found -[7814] Forked 30005 -(30005) found -[7813] Forked 30006 -(30006) found -[7812] Forked 30007 -(30007) found -[7811] Forked 30008 -(30008) found -[7810] Forked 30009 -(30009) found -[7809] Forked 30010 -(30010) found -[7808] Forked 30011 -(30011) found -[7807] Forked 30012 -(30012) found -[7806] Forked 30013 -(30013) found -[7805] Forked 30014 -(30014) found -[7804] Forked 30015 -(30015) found -[7803] Forked 30016 -(30016) found -[7802] Forked 30017 -(30017) found -[7801] Forked 30018 -(30018) found -[7800] Forked 30019 -(30019) found -[7799] Forked 30020 -(30020) found -[7798] Forked 30021 -(30021) found -[7797] Forked 30022 -(30022) found -[7796] Forked 30023 -(30023) found -[7795] Forked 30024 -(30024) found -[7794] Forked 30025 -(30025) found -[7793] Forked 30026 -(30026) found -[7792] Forked 30027 -(30027) found -[7791] Forked 30028 -(30028) found -[7790] Forked 30029 -(30029) found -[7789] Forked 30030 -(30030) found -[7788] Forked 30031 -(30031) found -[7787] Forked 30032 -(30032) found -[7786] Forked 30033 -(30033) found -[7785] Forked 30034 -(30034) found -[7784] Forked 30035 -(30035) found -[7783] Forked 30036 -(30036) found -[7782] Forked 30037 -(30037) found -[7781] Forked 30038 -(30038) found -[7780] Forked 30039 -(30039) found -[7779] Forked 30040 -(30040) found -[7778] Forked 30041 -(30041) found -[7777] Forked 30042 -(30042) found -[7776] Forked 30043 -(30043) found -[7775] Forked 30044 -(30044) found -[7774] Forked 30045 -(30045) found -[7773] Forked 30046 -(30046) found -[7772] Forked 30047 -(30047) found -[7771] Forked 30048 -(30048) found -[7770] Forked 30049 -(30049) found -[7769] Forked 30050 -(30050) found -[7768] Forked 30051 -(30051) found -[7767] Forked 30052 -(30052) found -[7766] Forked 30053 -(30053) found -[7765] Forked 30054 -(30054) found -[7764] Forked 30055 -(30055) found -[7763] Forked 30056 -(30056) found -[7762] Forked 30057 -(30057) found -[7761] Forked 30058 -(30058) found -[7760] Forked 30059 -(30059) found -[7759] Forked 30060 -(30060) found -[7758] Forked 30061 -(30061) found -[7757] Forked 30062 -(30062) found -[7756] Forked 30063 -(30063) found -[7755] Forked 30064 -[7754] Forked 30065 -(30064) found -(30065) found -[7753] Forked 30066 -[7752] Forked 30067 -(30066) found -(30067) found -[7751] Forked 30068 -[7750] Forked 30069 -(30068) found -(30069) found -[7749] Forked 30070 -[7748] Forked 30071 -(30070) found -(30071) found -[7747] Forked 30072 -[7746] Forked 30073 -(30072) found -(30073) found -[7745] Forked 30074 -[7744] Forked 30075 -(30074) found -(30075) found -[7743] Forked 30076 -[7742] Forked 30077 -(30076) found -(30077) found -[7741] Forked 30078 -[7740] Forked 30079 -(30078) found -(30079) found -[7739] Forked 30080 -[7738] Forked 30081 -(30080) found -(30081) found -[7737] Forked 30083 -[7736] Forked 30084 -(30083) found -(30084) found -[7735] Forked 30085 -[7734] Forked 30086 -(30085) found -(30086) found -[7733] Forked 30087 -[7732] Forked 30088 -(30087) found -(30088) found -[7731] Forked 30089 -[7730] Forked 30090 -(30089) found -(30090) found -[7729] Forked 30091 -[7728] Forked 30092 -(30091) found -(30092) found -[7727] Forked 30093 -[7726] Forked 30094 -(30093) found -(30094) found -[7725] Forked 30095 -[7724] Forked 30096 -(30095) found -(30096) found -[7723] Forked 30097 -[7722] Forked 30098 -(30097) found -(30098) found -[7721] Forked 30099 -[7720] Forked 30100 -(30099) found -(30100) found -[7719] Forked 30101 -[7718] Forked 30102 -(30101) found -(30102) found -[7717] Forked 30103 -[7716] Forked 30104 -(30103) found -(30104) found -[7715] Forked 30105 -[7714] Forked 30106 -(30105) found -(30106) found -[7713] Forked 30107 -[7712] Forked 30108 -(30107) found -(30108) found -[7711] Forked 30109 -[7710] Forked 30110 -(30109) found -(30110) found -[7709] Forked 30111 -(30111) found -[7708] Forked 30112 -(30112) found -[7707] Forked 30113 -(30113) found -[7706] Forked 30114 -(30114) found -[7705] Forked 30115 -(30115) found -[7704] Forked 30116 -(30116) found -[7703] Forked 30117 -(30117) found -[7702] Forked 30118 -(30118) found -[7701] Forked 30119 -(30119) found -[7700] Forked 30120 -(30120) found -[7699] Forked 30121 -(30121) found -[7698] Forked 30122 -(30122) found -[7697] Forked 30123 -(30123) found -[7696] Forked 30124 -(30124) found -[7695] Forked 30125 -(30125) found -[7694] Forked 30126 -(30126) found -[7693] Forked 30127 -(30127) found -[7692] Forked 30128 -(30128) found -[7691] Forked 30129 -(30129) found -[7690] Forked 30130 -(30130) found -[7689] Forked 30131 -(30131) found -[7688] Forked 30132 -(30132) found -[7687] Forked 30133 -(30133) found -[7686] Forked 30134 -(30134) found -[7685] Forked 30135 -(30135) found -[7684] Forked 30136 -(30136) found -[7683] Forked 30137 -(30137) found -[7682] Forked 30138 -(30138) found -[7681] Forked 30139 -(30139) found -[7680] Forked 30140 -(30140) found -[7679] Forked 30141 -(30141) found -[7678] Forked 30142 -(30142) found -[7677] Forked 30143 -(30143) found -[7676] Forked 30144 -(30144) found -[7675] Forked 30145 -[7674] Forked 30146 -(30145) found -(30146) found -[7673] Forked 30147 -[7672] Forked 30148 -(30148) found -(30147) found -[7671] Forked 30149 -(30149) found -[7670] Forked 30150 -(30150) found -[7669] Forked 30151 -(30151) found -[7668] Forked 30152 -(30152) found -[7667] Forked 30153 -(30153) found -[7666] Forked 30154 -(30154) found -[7665] Forked 30155 -(30155) found -[7664] Forked 30156 -(30156) found -[7663] Forked 30157 -(30157) found -[7662] Forked 30158 -(30158) found -[7661] Forked 30159 -(30159) found -[7660] Forked 30160 -(30160) found -[7659] Forked 30161 -(30161) found -[7658] Forked 30162 -(30162) found -[7657] Forked 30163 -(30163) found -[7656] Forked 30164 -(30164) found -[7655] Forked 30165 -(30165) found -[7654] Forked 30166 -(30166) found -[7653] Forked 30167 -(30167) found -[7652] Forked 30168 -(30168) found -[7651] Forked 30169 -(30169) found -[7650] Forked 30170 -(30170) found -[7649] Forked 30171 -(30171) found -[7648] Forked 30172 -(30172) found -[7647] Forked 30173 -(30173) found -[7646] Forked 30174 -(30174) found -[7645] Forked 30175 -(30175) found -[7644] Forked 30176 -(30176) found -[7643] Forked 30177 -(30177) found -[7642] Forked 30178 -(30178) found -[7641] Forked 30179 -(30179) found -[7640] Forked 30180 -(30180) found -[7639] Forked 30181 -(30181) found -[7638] Forked 30182 -(30182) found -[7637] Forked 30183 -(30183) found -[7636] Forked 30184 -(30184) found -[7635] Forked 30185 -(30185) found -[7634] Forked 30186 -(30186) found -[7633] Forked 30187 -(30187) found -[7632] Forked 30188 -(30188) found -[7631] Forked 30189 -(30189) found -[7630] Forked 30190 -(30190) found -[7629] Forked 30191 -(30191) found -[7628] Forked 30192 -(30192) found -[7627] Forked 30193 -(30193) found -[7626] Forked 30194 -(30194) found -[7625] Forked 30195 -(30195) found -[7624] Forked 30196 -(30196) found -[7623] Forked 30197 -(30197) found -[7622] Forked 30198 -(30198) found -[7621] Forked 30199 -(30199) found -[7620] Forked 30200 -(30200) found -[7619] Forked 30201 -(30201) found -[7618] Forked 30202 -(30202) found -[7617] Forked 30203 -(30203) found -[7616] Forked 30204 -(30204) found -[7615] Forked 30205 -(30205) found -[7614] Forked 30206 -(30206) found -[7613] Forked 30207 -(30207) found -[7612] Forked 30208 -(30208) found -[7611] Forked 30209 -(30209) found -[7610] Forked 30210 -(30210) found -[7609] Forked 30211 -(30211) found -[7608] Forked 30212 -(30212) found -[7607] Forked 30213 -(30213) found -[7606] Forked 30214 -(30214) found -[7605] Forked 30215 -(30215) found -[7604] Forked 30216 -(30216) found -[7603] Forked 30217 -(30217) found -[7602] Forked 30218 -(30218) found -[7601] Forked 30219 -(30219) found -[7600] Forked 30220 -(30220) found -[7599] Forked 30221 -(30221) found -[7598] Forked 30222 -(30222) found -[7597] Forked 30223 -(30223) found -[7596] Forked 30224 -(30224) found -[7595] Forked 30225 -(30225) found -[7594] Forked 30226 -(30226) found -[7593] Forked 30227 -(30227) found -[7592] Forked 30228 -(30228) found -[7591] Forked 30229 -(30229) found -[7590] Forked 30230 -(30230) found -[7589] Forked 30231 -(30231) found -[7588] Forked 30232 -(30232) found -[7587] Forked 30233 -(30233) found -[7586] Forked 30234 -(30234) found -[7585] Forked 30235 -(30235) found -[7584] Forked 30236 -(30236) found -[7583] Forked 30237 -(30237) found -[7582] Forked 30238 -(30238) found -[7581] Forked 30239 -(30239) found -[7580] Forked 30240 -(30240) found -[7579] Forked 30241 -(30241) found -[7578] Forked 30242 -(30242) found -[7577] Forked 30243 -(30243) found -[7576] Forked 30244 -(30244) found -[7575] Forked 30245 -(30245) found -[7574] Forked 30246 -(30246) found -[7573] Forked 30247 -(30247) found -[7572] Forked 30248 -(30248) found -[7571] Forked 30249 -(30249) found -[7570] Forked 30250 -(30250) found -[7569] Forked 30251 -(30251) found -[7568] Forked 30252 -(30252) found -[7567] Forked 30253 -(30253) found -[7566] Forked 30254 -(30254) found -[7565] Forked 30255 -(30255) found -[7564] Forked 30256 -(30256) found -[7563] Forked 30257 -(30257) found -[7562] Forked 30258 -(30258) found -[7561] Forked 30259 -(30259) found -[7560] Forked 30260 -(30260) found -[7559] Forked 30261 -(30261) found -[7558] Forked 30262 -(30262) found -[7557] Forked 30263 -(30263) found -[7556] Forked 30264 -(30264) found -[7555] Forked 30265 -(30265) found -[7554] Forked 30266 -(30266) found -[7553] Forked 30267 -(30267) found -[7552] Forked 30268 -(30268) found -[7551] Forked 30269 -(30269) found -[7550] Forked 30270 -(30270) found -[7549] Forked 30271 -(30271) found -[7548] Forked 30272 -(30272) found -[7547] Forked 30273 -(30273) found -[7546] Forked 30274 -(30274) found -[7545] Forked 30275 -(30275) found -[7544] Forked 30276 -(30276) found -[7543] Forked 30277 -(30277) found -[7542] Forked 30278 -(30278) found -[7541] Forked 30279 -(30279) found -[7540] Forked 30280 -(30280) found -[7539] Forked 30281 -[7538] Forked 30282 -(30281) found -(30282) found -[7537] Forked 30283 -[7536] Forked 30284 -(30283) found -(30284) found -[7535] Forked 30285 -[7534] Forked 30286 -(30285) found -(30286) found -[7533] Forked 30287 -[7532] Forked 30288 -(30287) found -(30288) found -[7531] Forked 30289 -[7530] Forked 30290 -(30290) found -(30289) found -[7529] Forked 30291 -(30291) found -[7528] Forked 30292 -(30292) found -[7527] Forked 30293 -(30293) found -[7526] Forked 30294 -(30294) found -[7525] Forked 30295 -(30295) found -[7524] Forked 30296 -(30296) found -[7523] Forked 30297 -(30297) found -[7522] Forked 30298 -(30298) found -[7521] Forked 30299 -(30299) found -[7520] Forked 30300 -(30300) found -[7519] Forked 30301 -(30301) found -[7518] Forked 30302 -(30302) found -[7517] Forked 30303 -(30303) found -[7516] Forked 30304 -(30304) found -[7515] Forked 30305 -(30305) found -[7514] Forked 30306 -(30306) found -[7513] Forked 30307 -(30307) found -[7512] Forked 30308 -(30308) found -[7511] Forked 30309 -(30309) found -[7510] Forked 30310 -(30310) found -[7509] Forked 30311 -(30311) found -[7508] Forked 30312 -(30312) found -[7507] Forked 30313 -(30313) found -[7506] Forked 30314 -(30314) found -[7505] Forked 30315 -(30315) found -[7504] Forked 30316 -(30316) found -[7503] Forked 30317 -(30317) found -[7502] Forked 30318 -(30318) found -[7501] Forked 30319 -(30319) found -[7500] Forked 30320 -(30320) found -[7499] Forked 30321 -(30321) found -[7498] Forked 30322 -(30322) found -[7497] Forked 30323 -(30323) found -[7496] Forked 30324 -(30324) found -[7495] Forked 30325 -(30325) found -[7494] Forked 30326 -(30326) found -[7493] Forked 30327 -(30327) found -[7492] Forked 30328 -(30328) found -[7491] Forked 30329 -(30329) found -[7490] Forked 30330 -(30330) found -[7489] Forked 30331 -(30331) found -[7488] Forked 30332 -(30332) found -[7487] Forked 30333 -(30333) found -[7486] Forked 30334 -(30334) found -[7485] Forked 30335 -(30335) found -[7484] Forked 30336 -(30336) found -[7483] Forked 30337 -(30337) found -[7482] Forked 30338 -(30338) found -[7481] Forked 30339 -(30339) found -[7480] Forked 30340 -(30340) found -[7479] Forked 30341 -(30341) found -[7478] Forked 30342 -(30342) found -[7477] Forked 30343 -(30343) found -[7476] Forked 30344 -(30344) found -[7475] Forked 30345 -(30345) found -[7474] Forked 30346 -(30346) found -[7473] Forked 30347 -(30347) found -[7472] Forked 30348 -(30348) found -[7471] Forked 30349 -(30349) found -[7470] Forked 30350 -(30350) found -[7469] Forked 30351 -(30351) found -[7468] Forked 30352 -(30352) found -[7467] Forked 30353 -(30353) found -[7466] Forked 30354 -[7465] Forked 30355 -(30354) found -(30355) found -[7464] Forked 30356 -[7463] Forked 30357 -(30356) found -(30357) found -[7462] Forked 30358 -[7461] Forked 30359 -(30358) found -(30359) found -[7460] Forked 30360 -[7459] Forked 30361 -(30360) found -(30361) found -[7458] Forked 30362 -[7457] Forked 30363 -(30362) found -(30363) found -[7456] Forked 30364 -[7455] Forked 30365 -(30364) found -(30365) found -[7454] Forked 30366 -[7453] Forked 30367 -(30366) found -(30367) found -[7452] Forked 30368 -[7451] Forked 30369 -(30368) found -(30369) found -[7450] Forked 30370 -[7449] Forked 30371 -(30370) found -(30371) found -[7448] Forked 30372 -[7447] Forked 30373 -(30372) found -(30373) found -[7446] Forked 30374 -[7445] Forked 30375 -(30374) found -(30375) found -[7444] Forked 30376 -[7443] Forked 30377 -(30376) found -(30377) found -[7442] Forked 30378 -[7441] Forked 30379 -(30378) found -(30379) found -[7440] Forked 30380 -[7439] Forked 30381 -(30380) found -(30381) found -[7438] Forked 30382 -[7437] Forked 30383 -(30382) found -(30383) found -[7436] Forked 30384 -[7435] Forked 30385 -(30384) found -(30385) found -[7434] Forked 30386 -[7433] Forked 30387 -(30386) found -(30387) found -[7432] Forked 30388 -[7431] Forked 30389 -(30388) found -(30389) found -[7430] Forked 30390 -[7429] Forked 30391 -(30390) found -(30391) found -[7428] Forked 30392 -[7427] Forked 30393 -(30392) found -(30393) found -[7426] Forked 30394 -[7425] Forked 30395 -(30394) found -(30395) found -[7424] Forked 30396 -[7423] Forked 30397 -(30396) found -(30397) found -[7422] Forked 30398 -[7421] Forked 30399 -(30398) found -(30399) found -[7420] Forked 30400 -(30400) found -[7419] Forked 30401 -(30401) found -[7418] Forked 30402 -(30402) found -[7417] Forked 30403 -(30403) found -[7416] Forked 30404 -(30404) found -[7415] Forked 30405 -(30405) found -[7414] Forked 30406 -(30406) found -[7413] Forked 30407 -(30407) found -[7412] Forked 30408 -(30408) found -[7411] Forked 30409 -(30409) found -[7410] Forked 30410 -(30410) found -[7409] Forked 30411 -(30411) found -[7408] Forked 30412 -(30412) found -[7407] Forked 30413 -(30413) found -[7406] Forked 30414 -(30414) found -[7405] Forked 30415 -(30415) found -[7404] Forked 30416 -(30416) found -[7403] Forked 30417 -(30417) found -[7402] Forked 30418 -(30418) found -[7401] Forked 30419 -(30419) found -[7400] Forked 30420 -(30420) found -[7399] Forked 30421 -(30421) found -[7398] Forked 30422 -(30422) found -[7397] Forked 30423 -(30423) found -[7396] Forked 30424 -(30424) found -[7395] Forked 30425 -(30425) found -[7394] Forked 30426 -(30426) found -[7393] Forked 30427 -(30427) found -[7392] Forked 30428 -(30428) found -[7391] Forked 30429 -(30429) found -[7390] Forked 30430 -(30430) found -[7389] Forked 30431 -(30431) found -[7388] Forked 30432 -(30432) found -[7387] Forked 30433 -(30433) found -[7386] Forked 30434 -[7385] Forked 30435 -(30434) found -(30435) found -[7384] Forked 30436 -[7383] Forked 30437 -(30436) found -(30437) found -[7382] Forked 30438 -[7381] Forked 30439 -(30438) found -(30439) found -[7380] Forked 30440 -[7379] Forked 30441 -(30440) found -(30441) found -[7378] Forked 30442 -[7377] Forked 30443 -(30442) found -(30443) found -[7376] Forked 30444 -[7375] Forked 30445 -(30444) found -(30445) found -[7374] Forked 30446 -[7373] Forked 30447 -(30446) found -(30447) found -[7372] Forked 30448 -[7371] Forked 30449 -(30448) found -(30449) found -[7370] Forked 30450 -[7369] Forked 30451 -(30450) found -(30451) found -[7368] Forked 30452 -[7367] Forked 30453 -(30452) found -(30453) found -[7366] Forked 30454 -[7365] Forked 30455 -(30454) found -(30455) found -[7364] Forked 30456 -[7363] Forked 30457 -(30456) found -(30457) found -[7362] Forked 30458 -[7361] Forked 30459 -(30458) found -(30459) found -[7360] Forked 30460 -[7359] Forked 30461 -(30460) found -(30461) found -[7358] Forked 30462 -[7357] Forked 30463 -(30462) found -(30463) found -[7356] Forked 30464 -[7355] Forked 30465 -(30464) found -(30465) found -[7354] Forked 30466 -[7353] Forked 30467 -(30466) found -(30467) found -[7352] Forked 30468 -[7351] Forked 30469 -(30468) found -(30469) found -[7350] Forked 30470 -[7349] Forked 30471 -(30470) found -(30471) found -[7348] Forked 30472 -[7347] Forked 30473 -(30472) found -(30473) found -[7346] Forked 30474 -[7345] Forked 30475 -(30474) found -(30475) found -[7344] Forked 30476 -[7343] Forked 30477 -(30476) found -(30477) found -[7342] Forked 30478 -[7341] Forked 30479 -(30478) found -(30479) found -[7340] Forked 30480 -[7339] Forked 30481 -(30480) found -(30481) found -[7338] Forked 30482 -[7337] Forked 30483 -(30482) found -(30483) found -[7336] Forked 30484 -[7335] Forked 30485 -(30484) found -(30485) found -[7334] Forked 30486 -[7333] Forked 30487 -(30486) found -(30487) found -[7332] Forked 30488 -[7331] Forked 30489 -(30488) found -(30489) found -[7330] Forked 30490 -[7329] Forked 30491 -(30490) found -(30491) found -[7328] Forked 30492 -[7327] Forked 30493 -(30492) found -(30493) found -[7326] Forked 30494 -[7325] Forked 30495 -(30494) found -(30495) found -[7324] Forked 30496 -[7323] Forked 30497 -(30496) found -(30497) found -[7322] Forked 30498 -[7321] Forked 30499 -(30498) found -(30499) found -[7320] Forked 30500 -[7319] Forked 30501 -(30500) found -(30501) found -[7318] Forked 30502 -[7317] Forked 30503 -(30502) found -(30503) found -[7316] Forked 30504 -[7315] Forked 30505 -(30504) found -(30505) found -[7314] Forked 30506 -[7313] Forked 30507 -(30506) found -(30507) found -[7312] Forked 30509 -(30509) found -[7311] Forked 30510 -(30510) found -[7310] Forked 30511 -[7309] Forked 30512 -(30511) found -(30512) found -[7308] Forked 30513 -[7307] Forked 30515 -(30513) found -(30515) found -[7306] Forked 30516 -[7305] Forked 30517 -(30516) found -(30517) found -[7304] Forked 30518 -[7303] Forked 30519 -(30518) found -(30519) found -[7302] Forked 30521 -[7301] Forked 30522 -(30521) found -(30522) found -[7300] Forked 30523 -[7299] Forked 30524 -(30523) found -(30524) found -[7298] Forked 30525 -[7297] Forked 30526 -(30525) found -(30526) found -[7296] Forked 30528 -(30528) found -[7295] Forked 30529 -(30529) found -[7294] Forked 30530 -(30530) found -[7293] Forked 30531 -(30531) found -[7292] Forked 30532 -(30532) found -[7291] Forked 30534 -(30534) found -[7290] Forked 30535 -(30535) found -[7289] Forked 30536 -(30536) found -[7288] Forked 30537 -(30537) found -[7287] Forked 30538 -(30538) found -[7286] Forked 30540 -(30540) found -[7285] Forked 30541 -(30541) found -[7284] Forked 30542 -(30542) found -[7283] Forked 30543 -(30543) found -[7282] Forked 30544 -(30544) found -[7281] Forked 30545 -(30545) found -[7280] Forked 30546 -(30546) found -[7279] Forked 30547 -(30547) found -[7278] Forked 30548 -(30548) found -[7277] Forked 30549 -(30549) found -[7276] Forked 30550 -(30550) found -[7275] Forked 30551 -(30551) found -[7274] Forked 30552 -(30552) found -[7273] Forked 30553 -(30553) found -[7272] Forked 30554 -(30554) found -[7271] Forked 30555 -(30555) found -[7270] Forked 30556 -(30556) found -[7269] Forked 30557 -(30557) found -[7268] Forked 30558 -(30558) found -[7267] Forked 30559 -(30559) found -[7266] Forked 30560 -(30560) found -[7265] Forked 30561 -(30561) found -[7264] Forked 30562 -(30562) found -[7263] Forked 30563 -(30563) found -[7262] Forked 30564 -(30564) found -[7261] Forked 30565 -(30565) found -[7260] Forked 30566 -(30566) found -[7259] Forked 30567 -(30567) found -[7258] Forked 30568 -(30568) found -[7257] Forked 30569 -(30569) found -[7256] Forked 30570 -(30570) found -[7255] Forked 30571 -(30571) found -[7254] Forked 30572 -(30572) found -[7253] Forked 30573 -(30573) found -[7252] Forked 30574 -(30574) found -[7251] Forked 30575 -(30575) found -[7250] Forked 30576 -(30576) found -[7249] Forked 30577 -(30577) found -[7248] Forked 30578 -(30578) found -[7247] Forked 30579 -(30579) found -[7246] Forked 30580 -(30580) found -[7245] Forked 30581 -(30581) found -[7244] Forked 30582 -(30582) found -[7243] Forked 30583 -(30583) found -[7242] Forked 30584 -(30584) found -[7241] Forked 30585 -(30585) found -[7240] Forked 30586 -(30586) found -[7239] Forked 30587 -(30587) found -[7238] Forked 30588 -(30588) found -[7237] Forked 30589 -(30589) found -[7236] Forked 30590 -(30590) found -[7235] Forked 30591 -(30591) found -[7234] Forked 30592 -(30592) found -[7233] Forked 30593 -(30593) found -[7232] Forked 30594 -(30594) found -[7231] Forked 30595 -(30595) found -[7230] Forked 30596 -(30596) found -[7229] Forked 30597 -(30597) found -[7228] Forked 30598 -(30598) found -[7227] Forked 30599 -(30599) found -[7226] Forked 30600 -(30600) found -[7225] Forked 30601 -(30601) found -[7224] Forked 30602 -(30602) found -[7223] Forked 30603 -(30603) found -[7222] Forked 30604 -(30604) found -[7221] Forked 30605 -(30605) found -[7220] Forked 30606 -[7219] Forked 30607 -(30606) found -(30607) found -[7218] Forked 30608 -[7217] Forked 30609 -(30608) found -(30609) found -[7216] Forked 30610 -[7215] Forked 30611 -(30610) found -(30611) found -[7214] Forked 30612 -[7213] Forked 30613 -(30612) found -(30613) found -[7212] Forked 30614 -[7211] Forked 30615 -(30614) found -(30615) found -[7210] Forked 30616 -[7209] Forked 30617 -(30616) found -(30617) found -[7208] Forked 30618 -[7207] Forked 30619 -(30618) found -(30619) found -[7206] Forked 30620 -[7205] Forked 30621 -(30620) found -(30621) found -[7204] Forked 30622 -[7203] Forked 30623 -(30622) found -(30623) found -[7202] Forked 30624 -[7201] Forked 30625 -(30624) found -(30625) found -[7200] Forked 30626 -[7199] Forked 30627 -(30627) found -(30626) found -[7198] Forked 30628 -(30628) found -[7197] Forked 30629 -(30629) found -[7196] Forked 30630 -(30630) found -[7195] Forked 30631 -(30631) found -[7194] Forked 30632 -(30632) found -[7193] Forked 30633 -(30633) found -[7192] Forked 30634 -(30634) found -[7191] Forked 30635 -(30635) found -[7190] Forked 30636 -(30636) found -[7189] Forked 30637 -(30637) found -[7188] Forked 30638 -(30638) found -[7187] Forked 30639 -(30639) found -[7186] Forked 30640 -(30640) found -[7185] Forked 30641 -(30641) found -[7184] Forked 30642 -(30642) found -[7183] Forked 30643 -(30643) found -[7182] Forked 30644 -(30644) found -[7181] Forked 30645 -(30645) found -[7180] Forked 30646 -(30646) found -[7179] Forked 30647 -(30647) found -[7178] Forked 30648 -(30648) found -[7177] Forked 30649 -(30649) found -[7176] Forked 30650 -(30650) found -[7175] Forked 30651 -(30651) found -[7174] Forked 30652 -(30652) found -[7173] Forked 30653 -(30653) found -[7172] Forked 30654 -(30654) found -[7171] Forked 30655 -(30655) found -[7170] Forked 30656 -(30656) found -[7169] Forked 30657 -(30657) found -[7168] Forked 30658 -(30658) found -[7167] Forked 30659 -(30659) found -[7166] Forked 30660 -(30660) found -[7165] Forked 30661 -(30661) found -[7164] Forked 30662 -(30662) found -[7163] Forked 30663 -(30663) found -[7162] Forked 30664 -(30664) found -[7161] Forked 30665 -(30665) found -[7160] Forked 30666 -(30666) found -[7159] Forked 30667 -(30667) found -[7158] Forked 30668 -(30668) found -[7157] Forked 30669 -(30669) found -[7156] Forked 30670 -(30670) found -[7155] Forked 30671 -(30671) found -[7154] Forked 30672 -(30672) found -[7153] Forked 30673 -(30673) found -[7152] Forked 30674 -(30674) found -[7151] Forked 30675 -(30675) found -[7150] Forked 30676 -(30676) found -[7149] Forked 30677 -(30677) found -[7148] Forked 30678 -[7147] Forked 30679 -(30678) found -(30679) found -[7146] Forked 30680 -[7145] Forked 30681 -(30680) found -(30681) found -[7144] Forked 30682 -[7143] Forked 30683 -(30682) found -(30683) found -[7142] Forked 30684 -[7141] Forked 30685 -(30684) found -(30685) found -[7140] Forked 30686 -[7139] Forked 30687 -(30686) found -(30687) found -[7138] Forked 30688 -[7137] Forked 30689 -(30688) found -(30689) found -[7136] Forked 30690 -[7135] Forked 30691 -(30690) found -(30691) found -[7134] Forked 30692 -[7133] Forked 30693 -(30692) found -(30693) found -[7132] Forked 30694 -[7131] Forked 30695 -(30694) found -(30695) found -[7130] Forked 30696 -[7129] Forked 30697 -(30696) found -(30697) found -[7128] Forked 30698 -[7127] Forked 30699 -(30698) found -(30699) found -[7126] Forked 30700 -[7125] Forked 30701 -(30700) found -(30701) found -[7124] Forked 30702 -[7123] Forked 30703 -(30702) found -(30703) found -[7122] Forked 30704 -[7121] Forked 30705 -(30704) found -(30705) found -[7120] Forked 30706 -[7119] Forked 30707 -(30706) found -(30707) found -[7118] Forked 30708 -[7117] Forked 30709 -(30708) found -(30709) found -[7116] Forked 30710 -[7115] Forked 30711 -(30710) found -(30711) found -[7114] Forked 30712 -[7113] Forked 30713 -(30712) found -(30713) found -[7112] Forked 30714 -[7111] Forked 30715 -(30714) found -(30715) found -[7110] Forked 30716 -[7109] Forked 30717 -(30716) found -(30717) found -[7108] Forked 30718 -[7107] Forked 30719 -(30718) found -(30719) found -[7106] Forked 30720 -[7105] Forked 30721 -(30720) found -(30721) found -[7104] Forked 30722 -[7103] Forked 30723 -(30722) found -(30723) found -[7102] Forked 30724 -(30724) found -[7101] Forked 30725 -(30725) found -[7100] Forked 30726 -(30726) found -[7099] Forked 30727 -(30727) found -[7098] Forked 30728 -(30728) found -[7097] Forked 30729 -(30729) found -[7096] Forked 30730 -(30730) found -[7095] Forked 30731 -(30731) found -[7094] Forked 30732 -(30732) found -[7093] Forked 30733 -(30733) found -[7092] Forked 30734 -(30734) found -[7091] Forked 30735 -(30735) found -[7090] Forked 30736 -(30736) found -[7089] Forked 30737 -(30737) found -[7088] Forked 30738 -(30738) found -[7087] Forked 30739 -(30739) found -[7086] Forked 30740 -(30740) found -[7085] Forked 30741 -(30741) found -[7084] Forked 30742 -(30742) found -[7083] Forked 30743 -(30743) found -[7082] Forked 30744 -(30744) found -[7081] Forked 30745 -(30745) found -[7080] Forked 30746 -(30746) found -[7079] Forked 30747 -(30747) found -[7078] Forked 30748 -(30748) found -[7077] Forked 30749 -(30749) found -[7076] Forked 30750 -(30750) found -[7075] Forked 30751 -(30751) found -[7074] Forked 30752 -(30752) found -[7073] Forked 30753 -(30753) found -[7072] Forked 30754 -(30754) found -[7071] Forked 30755 -(30755) found -[7070] Forked 30756 -(30756) found -[7069] Forked 30757 -(30757) found -[7068] Forked 30758 -(30758) found -[7067] Forked 30759 -[7066] Forked 30760 -(30759) found -(30760) found -[7065] Forked 30761 -[7064] Forked 30762 -(30761) found -(30762) found -[7063] Forked 30763 -[7062] Forked 30764 -(30764) found -(30763) found -[7061] Forked 30765 -(30765) found -[7060] Forked 30766 -(30766) found -[7059] Forked 30767 -(30767) found -[7058] Forked 30768 -(30768) found -[7057] Forked 30769 -(30769) found -[7056] Forked 30770 -(30770) found -[7055] Forked 30771 -(30771) found -[7054] Forked 30772 -(30772) found -[7053] Forked 30773 -(30773) found -[7052] Forked 30774 -(30774) found -[7051] Forked 30775 -(30775) found -[7050] Forked 30776 -(30776) found -[7049] Forked 30777 -(30777) found -[7048] Forked 30778 -(30778) found -[7047] Forked 30779 -(30779) found -[7046] Forked 30780 -(30780) found -[7045] Forked 30781 -(30781) found -[7044] Forked 30782 -(30782) found -[7043] Forked 30783 -(30783) found -[7042] Forked 30784 -(30784) found -[7041] Forked 30785 -(30785) found -[7040] Forked 30786 -(30786) found -[7039] Forked 30787 -(30787) found -[7038] Forked 30788 -(30788) found -[7037] Forked 30789 -(30789) found -[7036] Forked 30790 -(30790) found -[7035] Forked 30791 -(30791) found -[7034] Forked 30792 -(30792) found -[7033] Forked 30793 -(30793) found -[7032] Forked 30794 -(30794) found -[7031] Forked 30795 -(30795) found -[7030] Forked 30796 -(30796) found -[7029] Forked 30797 -(30797) found -[7028] Forked 30798 -(30798) found -[7027] Forked 30799 -(30799) found -[7026] Forked 30800 -(30800) found -[7025] Forked 30801 -(30801) found -[7024] Forked 30802 -(30802) found -[7023] Forked 30803 -(30803) found -[7022] Forked 30804 -(30804) found -[7021] Forked 30805 -(30805) found -[7020] Forked 30806 -(30806) found -[7019] Forked 30807 -(30807) found -[7018] Forked 30808 -(30808) found -[7017] Forked 30809 -(30809) found -[7016] Forked 30810 -(30810) found -[7015] Forked 30811 -(30811) found -[7014] Forked 30812 -(30812) found -[7013] Forked 30813 -(30813) found -[7012] Forked 30814 -(30814) found -[7011] Forked 30815 -(30815) found -[7010] Forked 30816 -(30816) found -[7009] Forked 30817 -(30817) found -[7008] Forked 30818 -(30818) found -[7007] Forked 30819 -(30819) found -[7006] Forked 30820 -(30820) found -[7005] Forked 30821 -(30821) found -[7004] Forked 30822 -(30822) found -[7003] Forked 30823 -(30823) found -[7002] Forked 30824 -(30824) found -[7001] Forked 30825 -(30825) found -[7000] Forked 30826 -(30826) found -[6999] Forked 30827 -(30827) found -[6998] Forked 30828 -(30828) found -[6997] Forked 30829 -[6996] Forked 30831 -(30829) found -(30831) found -[6995] Forked 30832 -[6994] Forked 30833 -(30832) found -(30833) found -[6993] Forked 30834 -[6992] Forked 30835 -(30834) found -(30835) found -[6991] Forked 30837 -[6990] Forked 30838 -(30837) found -(30838) found -[6989] Forked 30839 -[6988] Forked 30840 -(30839) found -(30840) found -[6987] Forked 30841 -[6986] Forked 30843 -(30841) found -(30843) found -[6985] Forked 30844 -[6984] Forked 30845 -(30844) found -(30845) found -[6983] Forked 30846 -[6982] Forked 30847 -(30846) found -(30847) found -[6981] Forked 30849 -[6980] Forked 30850 -(30849) found -(30850) found -[6979] Forked 30851 -[6978] Forked 30852 -(30851) found -(30852) found -[6977] Forked 30853 -[6976] Forked 30855 -(30853) found -(30855) found -[6975] Forked 30856 -[6974] Forked 30857 -(30856) found -(30857) found -[6973] Forked 30858 -[6972] Forked 30859 -(30858) found -(30859) found -[6971] Forked 30861 -[6970] Forked 30862 -(30861) found -(30862) found -[6969] Forked 30863 -[6968] Forked 30864 -(30863) found -(30864) found -[6967] Forked 30865 -[6966] Forked 30866 -(30865) found -(30866) found -[6965] Forked 30867 -[6964] Forked 30868 -(30867) found -(30868) found -[6963] Forked 30869 -[6962] Forked 30870 -(30869) found -(30870) found -[6961] Forked 30871 -[6960] Forked 30872 -(30871) found -(30872) found -[6959] Forked 30873 -[6958] Forked 30874 -(30873) found -(30874) found -[6957] Forked 30875 -[6956] Forked 30876 -(30875) found -(30876) found -[6955] Forked 30877 -[6954] Forked 30878 -(30877) found -(30878) found -[6953] Forked 30879 -[6952] Forked 30880 -(30879) found -(30880) found -[6951] Forked 30881 -[6950] Forked 30882 -(30881) found -(30882) found -[6949] Forked 30883 -[6948] Forked 30884 -(30883) found -(30884) found -[6947] Forked 30885 -[6946] Forked 30886 -(30885) found -(30886) found -[6945] Forked 30887 -[6944] Forked 30888 -(30887) found -(30888) found -[6943] Forked 30889 -[6942] Forked 30890 -(30889) found -(30890) found -[6941] Forked 30891 -[6940] Forked 30892 -(30891) found -(30892) found -[6939] Forked 30893 -[6938] Forked 30894 -(30893) found -(30894) found -[6937] Forked 30895 -[6936] Forked 30896 -(30895) found -(30896) found -[6935] Forked 30897 -[6934] Forked 30898 -(30897) found -(30898) found -[6933] Forked 30899 -[6932] Forked 30900 -(30899) found -(30900) found -[6931] Forked 30901 -[6930] Forked 30902 -(30901) found -(30902) found -[6929] Forked 30903 -[6928] Forked 30904 -(30903) found -(30904) found -[6927] Forked 30905 -[6926] Forked 30906 -(30905) found -(30906) found -[6925] Forked 30907 -[6924] Forked 30908 -(30907) found -(30908) found -[6923] Forked 30909 -[6922] Forked 30910 -(30909) found -(30910) found -[6921] Forked 30911 -[6920] Forked 30912 -(30911) found -(30912) found -[6919] Forked 30913 -[6918] Forked 30914 -(30913) found -(30914) found -[6917] Forked 30915 -[6916] Forked 30916 -(30915) found -(30916) found -[6915] Forked 30917 -[6914] Forked 30918 -(30917) found -(30918) found -[6913] Forked 30919 -[6912] Forked 30920 -(30919) found -(30920) found -[6911] Forked 30921 -[6910] Forked 30923 -(30921) found -(30923) found -[6909] Forked 30924 -(30924) found -[6908] Forked 30925 -(30925) found -[6907] Forked 30926 -(30926) found -[6906] Forked 30927 -(30927) found -[6905] Forked 30928 -(30928) found -[6904] Forked 30929 -(30929) found -[6903] Forked 30930 -(30930) found -[6902] Forked 30931 -(30931) found -[6901] Forked 30932 -(30932) found -[6900] Forked 30933 -(30933) found -[6899] Forked 30934 -(30934) found -[6898] Forked 30935 -(30935) found -[6897] Forked 30936 -(30936) found -[6896] Forked 30937 -(30937) found -[6895] Forked 30938 -(30938) found -[6894] Forked 30939 -(30939) found -[6893] Forked 30940 -(30940) found -[6892] Forked 30941 -(30941) found -[6891] Forked 30942 -(30942) found -[6890] Forked 30943 -(30943) found -[6889] Forked 30944 -(30944) found -[6888] Forked 30945 -(30945) found -[6887] Forked 30946 -(30946) found -[6886] Forked 30947 -(30947) found -[6885] Forked 30948 -(30948) found -[6884] Forked 30949 -(30949) found -[6883] Forked 30950 -(30950) found -[6882] Forked 30951 -(30951) found -[6881] Forked 30952 -(30952) found -[6880] Forked 30953 -(30953) found -[6879] Forked 30954 -(30954) found -[6878] Forked 30955 -(30955) found -[6877] Forked 30956 -(30956) found -[6876] Forked 30957 -(30957) found -[6875] Forked 30958 -(30958) found -[6874] Forked 30959 -(30959) found -[6873] Forked 30960 -(30960) found -[6872] Forked 30961 -(30961) found -[6871] Forked 30962 -(30962) found -[6870] Forked 30963 -[6869] Forked 30964 -(30963) found -(30964) found -[6868] Forked 30965 -[6867] Forked 30966 -(30965) found -(30966) found -[6866] Forked 30967 -[6865] Forked 30968 -(30967) found -(30968) found -[6864] Forked 30969 -[6863] Forked 30970 -(30969) found -(30970) found -[6862] Forked 30971 -[6861] Forked 30972 -(30971) found -(30972) found -[6860] Forked 30973 -[6859] Forked 30974 -(30973) found -(30974) found -[6858] Forked 30975 -[6857] Forked 30976 -(30975) found -(30976) found -[6856] Forked 30977 -[6855] Forked 30978 -(30977) found -(30978) found -[6854] Forked 30979 -[6853] Forked 30980 -(30979) found -(30980) found -[6852] Forked 30981 -[6851] Forked 30982 -(30981) found -(30982) found -[6850] Forked 30983 -[6849] Forked 30984 -(30983) found -(30984) found -[6848] Forked 30985 -[6847] Forked 30986 -(30985) found -(30986) found -[6846] Forked 30987 -[6845] Forked 30988 -(30987) found -(30988) found -[6844] Forked 30989 -[6843] Forked 30990 -(30989) found -(30990) found -[6842] Forked 30991 -[6841] Forked 30992 -(30991) found -(30992) found -[6840] Forked 30993 -[6839] Forked 30994 -(30993) found -(30994) found -[6838] Forked 30995 -[6837] Forked 30996 -(30995) found -(30996) found -[6836] Forked 30997 -[6835] Forked 30998 -(30997) found -(30998) found -[6834] Forked 30999 -[6833] Forked 31000 -(30999) found -(31000) found -[6832] Forked 31001 -[6831] Forked 31003 -(31001) found -(31003) found -[6830] Forked 31004 -(31004) found -[6829] Forked 31005 -(31005) found -[6828] Forked 31006 -(31006) found -[6827] Forked 31007 -(31007) found -[6826] Forked 31008 -(31008) found -[6825] Forked 31009 -(31009) found -[6824] Forked 31010 -(31010) found -[6823] Forked 31011 -(31011) found -[6822] Forked 31012 -(31012) found -[6821] Forked 31013 -(31013) found -[6820] Forked 31014 -(31014) found -[6819] Forked 31015 -(31015) found -[6818] Forked 31016 -(31016) found -[6817] Forked 31017 -(31017) found -[6816] Forked 31018 -(31018) found -[6815] Forked 31019 -(31019) found -[6814] Forked 31020 -(31020) found -[6813] Forked 31021 -(31021) found -[6812] Forked 31022 -(31022) found -[6811] Forked 31023 -(31023) found -[6810] Forked 31024 -(31024) found -[6809] Forked 31025 -(31025) found -[6808] Forked 31026 -(31026) found -[6807] Forked 31027 -(31027) found -[6806] Forked 31028 -(31028) found -[6805] Forked 31029 -(31029) found -[6804] Forked 31030 -(31030) found -[6803] Forked 31031 -(31031) found -[6802] Forked 31032 -(31032) found -[6801] Forked 31033 -(31033) found -[6800] Forked 31034 -(31034) found -[6799] Forked 31035 -(31035) found -[6798] Forked 31036 -(31036) found -[6797] Forked 31037 -(31037) found -[6796] Forked 31038 -(31038) found -[6795] Forked 31039 -(31039) found -[6794] Forked 31040 -(31040) found -[6793] Forked 31041 -(31041) found -[6792] Forked 31042 -(31042) found -[6791] Forked 31043 -(31043) found -[6790] Forked 31044 -(31044) found -[6789] Forked 31045 -[6788] Forked 31046 -(31045) found -(31046) found -[6787] Forked 31047 -[6786] Forked 31048 -(31047) found -(31048) found -[6785] Forked 31049 -[6784] Forked 31050 -(31049) found -(31050) found -[6783] Forked 31051 -[6782] Forked 31052 -(31051) found -(31052) found -[6781] Forked 31053 -[6780] Forked 31054 -(31053) found -(31054) found -[6779] Forked 31055 -[6778] Forked 31056 -(31055) found -(31056) found -[6777] Forked 31057 -[6776] Forked 31058 -(31057) found -(31058) found -[6775] Forked 31059 -[6774] Forked 31060 -(31059) found -(31060) found -[6773] Forked 31061 -[6772] Forked 31062 -(31061) found -(31062) found -[6771] Forked 31064 -[6770] Forked 31065 -(31064) found -(31065) found -[6769] Forked 31066 -[6768] Forked 31067 -(31066) found -(31067) found -[6767] Forked 31068 -[6766] Forked 31069 -(31068) found -(31069) found -[6765] Forked 31070 -[6764] Forked 31071 -(31070) found -(31071) found -[6763] Forked 31072 -[6762] Forked 31073 -(31072) found -(31073) found -[6761] Forked 31074 -[6760] Forked 31075 -(31074) found -(31075) found -[6759] Forked 31076 -[6758] Forked 31077 -(31076) found -(31077) found -[6757] Forked 31078 -[6756] Forked 31079 -(31078) found -(31079) found -[6755] Forked 31080 -[6754] Forked 31081 -(31080) found -(31081) found -[6753] Forked 31082 -[6752] Forked 31083 -(31082) found -(31083) found -[6751] Forked 31084 -[6750] Forked 31086 -(31084) found -(31086) found -[6749] Forked 31087 -(31087) found -[6748] Forked 31088 -(31088) found -[6747] Forked 31089 -(31089) found -[6746] Forked 31090 -(31090) found -[6745] Forked 31091 -(31091) found -[6744] Forked 31092 -(31092) found -[6743] Forked 31093 -(31093) found -[6742] Forked 31094 -(31094) found -[6741] Forked 31095 -(31095) found -[6740] Forked 31096 -(31096) found -[6739] Forked 31097 -(31097) found -[6738] Forked 31098 -(31098) found -[6737] Forked 31099 -(31099) found -[6736] Forked 31100 -(31100) found -[6735] Forked 31101 -(31101) found -[6734] Forked 31102 -(31102) found -[6733] Forked 31103 -(31103) found -[6732] Forked 31104 -(31104) found -[6731] Forked 31105 -(31105) found -[6730] Forked 31106 -(31106) found -[6729] Forked 31107 -(31107) found -[6728] Forked 31108 -(31108) found -[6727] Forked 31109 -(31109) found -[6726] Forked 31110 -(31110) found -[6725] Forked 31111 -(31111) found -[6724] Forked 31112 -(31112) found -[6723] Forked 31113 -(31113) found -[6722] Forked 31114 -(31114) found -[6721] Forked 31115 -(31115) found -[6720] Forked 31116 -(31116) found -[6719] Forked 31117 -(31117) found -[6718] Forked 31118 -(31118) found -[6717] Forked 31119 -(31119) found -[6716] Forked 31120 -(31120) found -[6715] Forked 31121 -(31121) found -[6714] Forked 31122 -(31122) found -[6713] Forked 31123 -(31123) found -[6712] Forked 31124 -(31124) found -[6711] Forked 31125 -(31125) found -[6710] Forked 31126 -(31126) found -[6709] Forked 31127 -(31127) found -[6708] Forked 31128 -[6707] Forked 31129 -(31128) found -(31129) found -[6706] Forked 31130 -[6705] Forked 31131 -(31130) found -(31131) found -[6704] Forked 31132 -[6703] Forked 31133 -(31132) found -(31133) found -[6702] Forked 31134 -[6701] Forked 31135 -(31134) found -(31135) found -[6700] Forked 31136 -[6699] Forked 31137 -(31136) found -(31137) found -[6698] Forked 31138 -[6697] Forked 31139 -(31138) found -(31139) found -[6696] Forked 31140 -[6695] Forked 31141 -(31140) found -(31141) found -[6694] Forked 31142 -[6693] Forked 31143 -(31142) found -(31143) found -[6692] Forked 31144 -[6691] Forked 31145 -(31144) found -(31145) found -[6690] Forked 31146 -[6689] Forked 31147 -(31146) found -(31147) found -[6688] Forked 31148 -[6687] Forked 31149 -(31148) found -(31149) found -[6686] Forked 31150 -[6685] Forked 31151 -(31150) found -(31151) found -[6684] Forked 31152 -[6683] Forked 31153 -(31152) found -(31153) found -[6682] Forked 31154 -[6681] Forked 31155 -(31154) found -(31155) found -[6680] Forked 31156 -[6679] Forked 31157 -(31156) found -(31157) found -[6678] Forked 31158 -[6677] Forked 31159 -(31158) found -(31159) found -[6676] Forked 31160 -[6675] Forked 31161 -(31160) found -(31161) found -[6674] Forked 31162 -[6673] Forked 31163 -(31162) found -(31163) found -[6672] Forked 31164 -[6671] Forked 31165 -(31164) found -(31165) found -[6670] Forked 31166 -[6669] Forked 31167 -(31166) found -(31167) found -[6668] Forked 31168 -[6667] Forked 31169 -(31168) found -(31169) found -[6666] Forked 31170 -[6665] Forked 31171 -(31170) found -(31171) found -[6664] Forked 31172 -[6663] Forked 31173 -(31172) found -(31173) found -[6662] Forked 31174 -[6661] Forked 31175 -(31174) found -(31175) found -[6660] Forked 31176 -[6659] Forked 31177 -(31176) found -(31177) found -[6658] Forked 31178 -[6657] Forked 31179 -(31178) found -(31179) found -[6656] Forked 31180 -[6655] Forked 31181 -(31180) found -(31181) found -[6654] Forked 31182 -[6653] Forked 31183 -(31182) found -(31183) found -[6652] Forked 31184 -[6651] Forked 31185 -(31184) found -(31185) found -[6650] Forked 31186 -[6649] Forked 31187 -(31186) found -(31187) found -[6648] Forked 31188 -[6647] Forked 31189 -(31188) found -(31189) found -[6646] Forked 31190 -[6645] Forked 31191 -(31190) found -(31191) found -[6644] Forked 31192 -[6643] Forked 31193 -(31192) found -(31193) found -[6642] Forked 31194 -[6641] Forked 31195 -(31194) found -(31195) found -[6640] Forked 31196 -[6639] Forked 31197 -(31196) found -(31197) found -[6638] Forked 31198 -[6637] Forked 31199 -(31198) found -(31199) found -[6636] Forked 31200 -[6635] Forked 31201 -(31200) found -(31201) found -[6634] Forked 31202 -[6633] Forked 31203 -(31202) found -(31203) found -[6632] Forked 31204 -[6631] Forked 31205 -(31204) found -(31205) found -[6630] Forked 31206 -[6629] Forked 31207 -(31206) found -(31207) found -[6628] Forked 31208 -[6627] Forked 31209 -(31208) found -(31209) found -[6626] Forked 31210 -[6625] Forked 31211 -(31210) found -(31211) found -[6624] Forked 31212 -[6623] Forked 31213 -(31212) found -(31213) found -[6622] Forked 31214 -[6621] Forked 31215 -(31214) found -(31215) found -[6620] Forked 31216 -[6619] Forked 31217 -(31216) found -(31217) found -[6618] Forked 31218 -[6617] Forked 31219 -(31218) found -(31219) found -[6616] Forked 31220 -[6615] Forked 31221 -(31220) found -(31221) found -[6614] Forked 31222 -[6613] Forked 31223 -(31222) found -(31223) found -[6612] Forked 31224 -[6611] Forked 31225 -(31224) found -(31225) found -[6610] Forked 31226 -[6609] Forked 31227 -(31226) found -(31227) found -[6608] Forked 31228 -[6607] Forked 31229 -(31228) found -(31229) found -[6606] Forked 31230 -[6605] Forked 31231 -(31230) found -(31231) found -[6604] Forked 31232 -[6603] Forked 31233 -(31232) found -(31233) found -[6602] Forked 31234 -[6601] Forked 31235 -(31234) found -(31235) found -[6600] Forked 31236 -[6599] Forked 31237 -(31236) found -(31237) found -[6598] Forked 31238 -[6597] Forked 31239 -(31238) found -(31239) found -[6596] Forked 31240 -[6595] Forked 31241 -(31240) found -(31241) found -[6594] Forked 31242 -[6593] Forked 31243 -(31242) found -(31243) found -[6592] Forked 31244 -[6591] Forked 31245 -(31244) found -(31245) found -[6590] Forked 31246 -[6589] Forked 31247 -(31246) found -(31247) found -[6588] Forked 31248 -[6587] Forked 31249 -(31248) found -(31249) found -[6586] Forked 31250 -[6585] Forked 31251 -(31250) found -(31251) found -[6584] Forked 31252 -[6583] Forked 31253 -(31252) found -(31253) found -[6582] Forked 31254 -[6581] Forked 31255 -(31254) found -(31255) found -[6580] Forked 31256 -[6579] Forked 31257 -(31256) found -(31257) found -[6578] Forked 31258 -[6577] Forked 31259 -(31258) found -(31259) found -[6576] Forked 31260 -[6575] Forked 31261 -(31260) found -(31261) found -[6574] Forked 31262 -(31262) found -[6573] Forked 31263 -(31263) found -[6572] Forked 31264 -(31264) found -[6571] Forked 31265 -(31265) found -[6570] Forked 31266 -(31266) found -[6569] Forked 31267 -(31267) found -[6568] Forked 31268 -(31268) found -[6567] Forked 31269 -(31269) found -[6566] Forked 31270 -(31270) found -[6565] Forked 31271 -(31271) found -[6564] Forked 31272 -(31272) found -[6563] Forked 31273 -(31273) found -[6562] Forked 31274 -(31274) found -[6561] Forked 31275 -(31275) found -[6560] Forked 31276 -(31276) found -[6559] Forked 31277 -(31277) found -[6558] Forked 31278 -(31278) found -[6557] Forked 31279 -(31279) found -[6556] Forked 31280 -(31280) found -[6555] Forked 31281 -(31281) found -[6554] Forked 31282 -(31282) found -[6553] Forked 31283 -(31283) found -[6552] Forked 31284 -(31284) found -[6551] Forked 31285 -(31285) found -[6550] Forked 31286 -(31286) found -[6549] Forked 31287 -(31287) found -[6548] Forked 31288 -(31288) found -[6547] Forked 31289 -(31289) found -[6546] Forked 31290 -(31290) found -[6545] Forked 31291 -(31291) found -[6544] Forked 31292 -(31292) found -[6543] Forked 31293 -(31293) found -[6542] Forked 31294 -(31294) found -[6541] Forked 31295 -(31295) found -[6540] Forked 31296 -(31296) found -[6539] Forked 31297 -(31297) found -[6538] Forked 31298 -(31298) found -[6537] Forked 31299 -(31299) found -[6536] Forked 31300 -[6535] Forked 31301 -(31300) found -(31301) found -[6534] Forked 31302 -[6533] Forked 31303 -(31302) found -(31303) found -[6532] Forked 31304 -(31304) found -[6531] Forked 31305 -[6530] Forked 31306 -(31305) found -(31306) found -[6529] Forked 31307 -[6528] Forked 31308 -(31307) found -(31308) found -[6527] Forked 31309 -[6526] Forked 31310 -(31309) found -(31310) found -[6525] Forked 31311 -[6524] Forked 31312 -(31311) found -(31312) found -[6523] Forked 31313 -[6522] Forked 31314 -(31313) found -(31314) found -[6521] Forked 31315 -[6520] Forked 31316 -(31315) found -(31316) found -[6519] Forked 31317 -[6518] Forked 31318 -(31317) found -(31318) found -[6517] Forked 31319 -[6516] Forked 31320 -(31320) found -(31319) found -[6515] Forked 31321 -(31321) found -[6514] Forked 31322 -(31322) found -[6513] Forked 31323 -(31323) found -[6512] Forked 31324 -(31324) found -[6511] Forked 31325 -(31325) found -[6510] Forked 31326 -(31326) found -[6509] Forked 31327 -(31327) found -[6508] Forked 31328 -(31328) found -[6507] Forked 31329 -(31329) found -[6506] Forked 31330 -(31330) found -[6505] Forked 31331 -(31331) found -[6504] Forked 31332 -(31332) found -[6503] Forked 31333 -(31333) found -[6502] Forked 31334 -(31334) found -[6501] Forked 31335 -(31335) found -[6500] Forked 31336 -(31336) found -[6499] Forked 31337 -(31337) found -[6498] Forked 31338 -(31338) found -[6497] Forked 31339 -(31339) found -[6496] Forked 31340 -(31340) found -[6495] Forked 31341 -(31341) found -[6494] Forked 31342 -(31342) found -[6493] Forked 31343 -(31343) found -[6492] Forked 31344 -(31344) found -[6491] Forked 31345 -(31345) found -[6490] Forked 31346 -(31346) found -[6489] Forked 31347 -(31347) found -[6488] Forked 31348 -(31348) found -[6487] Forked 31349 -(31349) found -[6486] Forked 31350 -(31350) found -[6485] Forked 31351 -(31351) found -[6484] Forked 31352 -(31352) found -[6483] Forked 31353 -(31353) found -[6482] Forked 31354 -(31354) found -[6481] Forked 31355 -(31355) found -[6480] Forked 31356 -(31356) found -[6479] Forked 31357 -(31357) found -[6478] Forked 31358 -(31358) found -[6477] Forked 31359 -(31359) found -[6476] Forked 31360 -(31360) found -[6475] Forked 31361 -(31361) found -[6474] Forked 31362 -(31362) found -[6473] Forked 31363 -(31363) found -[6472] Forked 31364 -(31364) found -[6471] Forked 31365 -(31365) found -[6470] Forked 31366 -(31366) found -[6469] Forked 31367 -(31367) found -[6468] Forked 31368 -(31368) found -[6467] Forked 31369 -(31369) found -[6466] Forked 31370 -(31370) found -[6465] Forked 31371 -(31371) found -[6464] Forked 31372 -(31372) found -[6463] Forked 31373 -(31373) found -[6462] Forked 31374 -(31374) found -[6461] Forked 31375 -[6460] Forked 31376 -(31375) found -(31376) found -[6459] Forked 31377 -[6458] Forked 31378 -(31377) found -(31378) found -[6457] Forked 31379 -[6456] Forked 31380 -(31379) found -(31380) found -[6455] Forked 31381 -[6454] Forked 31382 -(31381) found -(31382) found -[6453] Forked 31383 -[6452] Forked 31384 -(31383) found -(31384) found -[6451] Forked 31385 -[6450] Forked 31386 -(31385) found -(31386) found -[6449] Forked 31387 -[6448] Forked 31388 -(31387) found -(31388) found -[6447] Forked 31389 -[6446] Forked 31390 -(31389) found -(31390) found -[6445] Forked 31391 -[6444] Forked 31392 -(31391) found -(31392) found -[6443] Forked 31393 -[6442] Forked 31394 -(31393) found -(31394) found -[6441] Forked 31395 -[6440] Forked 31396 -(31395) found -(31396) found -[6439] Forked 31397 -[6438] Forked 31398 -(31397) found -(31398) found -[6437] Forked 31399 -[6436] Forked 31400 -(31399) found -(31400) found -[6435] Forked 31401 -[6434] Forked 31402 -(31401) found -(31402) found -[6433] Forked 31403 -[6432] Forked 31404 -(31403) found -(31404) found -[6431] Forked 31405 -[6430] Forked 31406 -(31405) found -(31406) found -[6429] Forked 31407 -[6428] Forked 31408 -(31407) found -(31408) found -[6427] Forked 31409 -[6426] Forked 31410 -(31409) found -(31410) found -[6425] Forked 31411 -[6424] Forked 31412 -(31411) found -(31412) found -[6423] Forked 31413 -[6422] Forked 31415 -(31413) found -(31415) found -[6421] Forked 31416 -(31416) found -[6420] Forked 31417 -(31417) found -[6419] Forked 31418 -(31418) found -[6418] Forked 31419 -(31419) found -[6417] Forked 31420 -(31420) found -[6416] Forked 31421 -(31421) found -[6415] Forked 31422 -(31422) found -[6414] Forked 31423 -(31423) found -[6413] Forked 31424 -(31424) found -[6412] Forked 31425 -(31425) found -[6411] Forked 31426 -(31426) found -[6410] Forked 31427 -(31427) found -[6409] Forked 31428 -(31428) found -[6408] Forked 31429 -(31429) found -[6407] Forked 31430 -(31430) found -[6406] Forked 31431 -(31431) found -[6405] Forked 31432 -(31432) found -[6404] Forked 31433 -(31433) found -[6403] Forked 31434 -(31434) found -[6402] Forked 31435 -(31435) found -[6401] Forked 31436 -(31436) found -[6400] Forked 31437 -(31437) found -[6399] Forked 31438 -(31438) found -[6398] Forked 31439 -(31439) found -[6397] Forked 31440 -(31440) found -[6396] Forked 31441 -(31441) found -[6395] Forked 31442 -(31442) found -[6394] Forked 31443 -(31443) found -[6393] Forked 31444 -(31444) found -[6392] Forked 31445 -(31445) found -[6391] Forked 31446 -(31446) found -[6390] Forked 31447 -(31447) found -[6389] Forked 31448 -(31448) found -[6388] Forked 31449 -(31449) found -[6387] Forked 31450 -(31450) found -[6386] Forked 31451 -(31451) found -[6385] Forked 31452 -(31452) found -[6384] Forked 31453 -(31453) found -[6383] Forked 31454 -(31454) found -[6382] Forked 31455 -(31455) found -[6381] Forked 31456 -(31456) found -[6380] Forked 31457 -(31457) found -[6379] Forked 31458 -(31458) found -[6378] Forked 31459 -(31459) found -[6377] Forked 31460 -(31460) found -[6376] Forked 31461 -(31461) found -[6375] Forked 31462 -(31462) found -[6374] Forked 31463 -(31463) found -[6373] Forked 31464 -(31464) found -[6372] Forked 31465 -(31465) found -[6371] Forked 31466 -(31466) found -[6370] Forked 31467 -(31467) found -[6369] Forked 31468 -(31468) found -[6368] Forked 31469 -(31469) found -[6367] Forked 31470 -(31470) found -[6366] Forked 31471 -(31471) found -[6365] Forked 31472 -(31472) found -[6364] Forked 31473 -(31473) found -[6363] Forked 31474 -(31474) found -[6362] Forked 31475 -(31475) found -[6361] Forked 31476 -(31476) found -[6360] Forked 31477 -(31477) found -[6359] Forked 31478 -(31478) found -[6358] Forked 31479 -(31479) found -[6357] Forked 31480 -(31480) found -[6356] Forked 31481 -(31481) found -[6355] Forked 31482 -(31482) found -[6354] Forked 31483 -(31483) found -[6353] Forked 31484 -(31484) found -[6352] Forked 31485 -(31485) found -[6351] Forked 31486 -(31486) found -[6350] Forked 31487 -(31487) found -[6349] Forked 31488 -(31488) found -[6348] Forked 31489 -[6347] Forked 31490 -(31489) found -(31490) found -[6346] Forked 31491 -[6345] Forked 31492 -(31491) found -(31492) found -[6344] Forked 31493 -[6343] Forked 31494 -(31493) found -(31494) found -[6342] Forked 31495 -[6341] Forked 31496 -(31495) found -(31496) found -[6340] Forked 31497 -[6339] Forked 31498 -(31497) found -(31498) found -[6338] Forked 31499 -[6337] Forked 31500 -(31499) found -(31500) found -[6336] Forked 31501 -[6335] Forked 31502 -(31501) found -(31502) found -[6334] Forked 31503 -[6333] Forked 31504 -(31503) found -(31504) found -[6332] Forked 31505 -[6331] Forked 31506 -(31505) found -(31506) found -[6330] Forked 31507 -[6329] Forked 31508 -(31507) found -(31508) found -[6328] Forked 31509 -[6327] Forked 31510 -(31509) found -(31510) found -[6326] Forked 31511 -[6325] Forked 31512 -(31511) found -(31512) found -[6324] Forked 31513 -[6323] Forked 31514 -(31513) found -(31514) found -[6322] Forked 31515 -[6321] Forked 31516 -(31515) found -(31516) found -[6320] Forked 31517 -[6319] Forked 31518 -(31517) found -(31518) found -[6318] Forked 31519 -[6317] Forked 31520 -(31519) found -(31520) found -[6316] Forked 31521 -[6315] Forked 31522 -(31521) found -(31522) found -[6314] Forked 31523 -[6313] Forked 31524 -(31523) found -(31524) found -[6312] Forked 31525 -[6311] Forked 31526 -(31525) found -(31526) found -[6310] Forked 31527 -[6309] Forked 31528 -(31527) found -(31528) found -[6308] Forked 31529 -[6307] Forked 31530 -(31529) found -(31530) found -[6306] Forked 31531 -[6305] Forked 31532 -(31531) found -(31532) found -[6304] Forked 31533 -[6303] Forked 31534 -(31533) found -(31534) found -[6302] Forked 31535 -(31535) found -[6301] Forked 31536 -(31536) found -[6300] Forked 31537 -(31537) found -[6299] Forked 31538 -(31538) found -[6298] Forked 31539 -(31539) found -[6297] Forked 31540 -(31540) found -[6296] Forked 31541 -(31541) found -[6295] Forked 31542 -(31542) found -[6294] Forked 31543 -(31543) found -[6293] Forked 31544 -(31544) found -[6292] Forked 31545 -(31545) found -[6291] Forked 31546 -(31546) found -[6290] Forked 31547 -(31547) found -[6289] Forked 31548 -(31548) found -[6288] Forked 31549 -(31549) found -[6287] Forked 31550 -(31550) found -[6286] Forked 31551 -(31551) found -[6285] Forked 31552 -(31552) found -[6284] Forked 31553 -(31553) found -[6283] Forked 31554 -(31554) found -[6282] Forked 31555 -(31555) found -[6281] Forked 31556 -(31556) found -[6280] Forked 31557 -(31557) found -[6279] Forked 31558 -(31558) found -[6278] Forked 31559 -(31559) found -[6277] Forked 31560 -(31560) found -[6276] Forked 31561 -(31561) found -[6275] Forked 31562 -(31562) found -[6274] Forked 31563 -(31563) found -[6273] Forked 31564 -(31564) found -[6272] Forked 31565 -(31565) found -[6271] Forked 31566 -(31566) found -[6270] Forked 31567 -(31567) found -[6269] Forked 31568 -(31568) found -[6268] Forked 31569 -(31569) found -[6267] Forked 31570 -(31570) found -[6266] Forked 31571 -[6265] Forked 31572 -(31571) found -(31572) found -[6264] Forked 31573 -[6263] Forked 31574 -(31573) found -(31574) found -[6262] Forked 31575 -[6261] Forked 31576 -(31575) found -(31576) found -[6260] Forked 31577 -[6259] Forked 31578 -(31577) found -(31578) found -[6258] Forked 31579 -[6257] Forked 31580 -(31579) found -(31580) found -[6256] Forked 31581 -[6255] Forked 31582 -(31581) found -(31582) found -[6254] Forked 31583 -[6253] Forked 31584 -(31583) found -(31584) found -[6252] Forked 31585 -[6251] Forked 31586 -(31585) found -(31586) found -[6250] Forked 31587 -[6249] Forked 31588 -(31587) found -(31588) found -[6248] Forked 31589 -[6247] Forked 31590 -(31589) found -(31590) found -[6246] Forked 31591 -[6245] Forked 31592 -(31591) found -(31592) found -[6244] Forked 31593 -[6243] Forked 31594 -(31593) found -(31594) found -[6242] Forked 31595 -[6241] Forked 31596 -(31595) found -(31596) found -[6240] Forked 31597 -[6239] Forked 31598 -(31597) found -(31598) found -[6238] Forked 31599 -[6237] Forked 31600 -(31599) found -(31600) found -[6236] Forked 31601 -[6235] Forked 31602 -(31601) found -(31602) found -[6234] Forked 31603 -[6233] Forked 31604 -(31603) found -(31604) found -[6232] Forked 31605 -[6231] Forked 31606 -(31605) found -(31606) found -[6230] Forked 31607 -[6229] Forked 31608 -(31607) found -(31608) found -[6228] Forked 31609 -[6227] Forked 31610 -(31609) found -(31610) found -[6226] Forked 31611 -[6225] Forked 31612 -(31611) found -(31612) found -[6224] Forked 31613 -[6223] Forked 31614 -(31613) found -(31614) found -[6222] Forked 31615 -[6221] Forked 31616 -(31615) found -(31616) found -[6220] Forked 31617 -(31617) found -[6219] Forked 31618 -(31618) found -[6218] Forked 31619 -(31619) found -[6217] Forked 31620 -(31620) found -[6216] Forked 31621 -(31621) found -[6215] Forked 31622 -(31622) found -[6214] Forked 31623 -(31623) found -[6213] Forked 31624 -(31624) found -[6212] Forked 31625 -(31625) found -[6211] Forked 31626 -(31626) found -[6210] Forked 31627 -(31627) found -[6209] Forked 31628 -(31628) found -[6208] Forked 31629 -(31629) found -[6207] Forked 31630 -(31630) found -[6206] Forked 31631 -(31631) found -[6205] Forked 31632 -(31632) found -[6204] Forked 31633 -(31633) found -[6203] Forked 31634 -(31634) found -[6202] Forked 31635 -(31635) found -[6201] Forked 31636 -(31636) found -[6200] Forked 31637 -(31637) found -[6199] Forked 31638 -(31638) found -[6198] Forked 31639 -(31639) found -[6197] Forked 31640 -(31640) found -[6196] Forked 31641 -(31641) found -[6195] Forked 31642 -(31642) found -[6194] Forked 31643 -(31643) found -[6193] Forked 31644 -(31644) found -[6192] Forked 31645 -(31645) found -[6191] Forked 31646 -(31646) found -[6190] Forked 31647 -(31647) found -[6189] Forked 31648 -(31648) found -[6188] Forked 31649 -(31649) found -[6187] Forked 31650 -(31650) found -[6186] Forked 31651 -(31651) found -[6185] Forked 31652 -(31652) found -[6184] Forked 31653 -[6183] Forked 31654 -(31653) found -(31654) found -[6182] Forked 31655 -[6181] Forked 31656 -(31655) found -(31656) found -[6180] Forked 31657 -[6179] Forked 31658 -(31657) found -(31658) found -[6178] Forked 31659 -[6177] Forked 31660 -(31659) found -(31660) found -[6176] Forked 31661 -[6175] Forked 31662 -(31661) found -(31662) found -[6174] Forked 31663 -[6173] Forked 31664 -(31663) found -(31664) found -[6172] Forked 31665 -[6171] Forked 31666 -(31665) found -(31666) found -[6170] Forked 31667 -[6169] Forked 31668 -(31667) found -(31668) found -[6168] Forked 31669 -[6167] Forked 31670 -(31669) found -(31670) found -[6166] Forked 31671 -[6165] Forked 31672 -(31671) found -(31672) found -[6164] Forked 31673 -[6163] Forked 31674 -(31673) found -(31674) found -[6162] Forked 31675 -[6161] Forked 31676 -(31675) found -(31676) found -[6160] Forked 31677 -[6159] Forked 31678 -(31677) found -(31678) found -[6158] Forked 31679 -[6157] Forked 31680 -(31679) found -(31680) found -[6156] Forked 31681 -[6155] Forked 31682 -(31681) found -(31682) found -[6154] Forked 31683 -[6153] Forked 31684 -(31683) found -(31684) found -[6152] Forked 31685 -[6151] Forked 31686 -(31685) found -(31686) found -[6150] Forked 31687 -[6149] Forked 31688 -(31687) found -(31688) found -[6148] Forked 31689 -[6147] Forked 31691 -(31689) found -(31691) found -[6146] Forked 31692 -(31692) found -[6145] Forked 31693 -(31693) found -[6144] Forked 31694 -(31694) found -[6143] Forked 31695 -(31695) found -[6142] Forked 31696 -(31696) found -[6141] Forked 31697 -(31697) found -[6140] Forked 31698 -(31698) found -[6139] Forked 31699 -(31699) found -[6138] Forked 31700 -(31700) found -[6137] Forked 31701 -(31701) found -[6136] Forked 31702 -(31702) found -[6135] Forked 31703 -(31703) found -[6134] Forked 31704 -(31704) found -[6133] Forked 31705 -(31705) found -[6132] Forked 31706 -(31706) found -[6131] Forked 31707 -(31707) found -[6130] Forked 31708 -(31708) found -[6129] Forked 31709 -(31709) found -[6128] Forked 31710 -(31710) found -[6127] Forked 31711 -(31711) found -[6126] Forked 31712 -(31712) found -[6125] Forked 31713 -(31713) found -[6124] Forked 31714 -(31714) found -[6123] Forked 31715 -(31715) found -[6122] Forked 31716 -(31716) found -[6121] Forked 31717 -(31717) found -[6120] Forked 31718 -(31718) found -[6119] Forked 31719 -(31719) found -[6118] Forked 31720 -(31720) found -[6117] Forked 31721 -(31721) found -[6116] Forked 31722 -(31722) found -[6115] Forked 31723 -(31723) found -[6114] Forked 31724 -(31724) found -[6113] Forked 31725 -(31725) found -[6112] Forked 31726 -(31726) found -[6111] Forked 31727 -(31727) found -[6110] Forked 31728 -(31728) found -[6109] Forked 31729 -(31729) found -[6108] Forked 31730 -(31730) found -[6107] Forked 31731 -(31731) found -[6106] Forked 31732 -(31732) found -[6105] Forked 31733 -(31733) found -[6104] Forked 31734 -(31734) found -[6103] Forked 31735 -(31735) found -[6102] Forked 31736 -(31736) found -[6101] Forked 31737 -(31737) found -[6100] Forked 31738 -(31738) found -[6099] Forked 31739 -(31739) found -[6098] Forked 31740 -(31740) found -[6097] Forked 31741 -(31741) found -[6096] Forked 31742 -(31742) found -[6095] Forked 31743 -(31743) found -[6094] Forked 31744 -(31744) found -[6093] Forked 31745 -(31745) found -[6092] Forked 31746 -(31746) found -[6091] Forked 31747 -(31747) found -[6090] Forked 31748 -(31748) found -[6089] Forked 31749 -(31749) found -[6088] Forked 31750 -(31750) found -[6087] Forked 31751 -(31751) found -[6086] Forked 31752 -(31752) found -[6085] Forked 31753 -(31753) found -[6084] Forked 31754 -(31754) found -[6083] Forked 31755 -(31755) found -[6082] Forked 31756 -(31756) found -[6081] Forked 31757 -(31757) found -[6080] Forked 31758 -(31758) found -[6079] Forked 31759 -(31759) found -[6078] Forked 31760 -(31760) found -[6077] Forked 31761 -(31761) found -[6076] Forked 31762 -(31762) found -[6075] Forked 31763 -(31763) found -[6074] Forked 31764 -(31764) found -[6073] Forked 31765 -(31765) found -[6072] Forked 31766 -[6071] Forked 31767 -(31766) found -(31767) found -[6070] Forked 31768 -[6069] Forked 31769 -(31768) found -(31769) found -[6068] Forked 31770 -[6067] Forked 31771 -(31770) found -(31771) found -[6066] Forked 31772 -[6065] Forked 31773 -(31772) found -(31773) found -[6064] Forked 31774 -[6063] Forked 31775 -(31774) found -(31775) found -[6062] Forked 31776 -[6061] Forked 31777 -(31776) found -(31777) found -[6060] Forked 31778 -[6059] Forked 31779 -(31778) found -(31779) found -[6058] Forked 31780 -[6057] Forked 31781 -(31780) found -(31781) found -[6056] Forked 31782 -[6055] Forked 31783 -(31782) found -(31783) found -[6054] Forked 31784 -[6053] Forked 31785 -(31784) found -(31785) found -[6052] Forked 31786 -[6051] Forked 31787 -(31786) found -(31787) found -[6050] Forked 31788 -[6049] Forked 31789 -(31788) found -(31789) found -[6048] Forked 31790 -[6047] Forked 31791 -(31790) found -(31791) found -[6046] Forked 31792 -[6045] Forked 31793 -(31792) found -(31793) found -[6044] Forked 31794 -[6043] Forked 31795 -(31794) found -(31795) found -[6042] Forked 31796 -[6041] Forked 31797 -(31796) found -(31797) found -[6040] Forked 31798 -[6039] Forked 31799 -(31798) found -(31799) found -[6038] Forked 31800 -[6037] Forked 31801 -(31800) found -(31801) found -[6036] Forked 31802 -[6035] Forked 31803 -(31802) found -(31803) found -[6034] Forked 31804 -[6033] Forked 31805 -(31804) found -(31805) found -[6032] Forked 31806 -[6031] Forked 31807 -(31806) found -(31807) found -[6030] Forked 31808 -[6029] Forked 31809 -(31808) found -(31809) found -[6028] Forked 31810 -[6027] Forked 31811 -(31810) found -(31811) found -[6026] Forked 31812 -[6025] Forked 31813 -(31812) found -(31813) found -[6024] Forked 31814 -[6023] Forked 31815 -(31814) found -(31815) found -[6022] Forked 31816 -[6021] Forked 31817 -(31816) found -(31817) found -[6020] Forked 31818 -[6019] Forked 31819 -(31818) found -(31819) found -[6018] Forked 31820 -[6017] Forked 31821 -(31820) found -(31821) found -[6016] Forked 31822 -[6015] Forked 31823 -(31822) found -(31823) found -[6014] Forked 31824 -[6013] Forked 31825 -(31824) found -(31825) found -[6012] Forked 31826 -[6011] Forked 31827 -(31826) found -(31827) found -[6010] Forked 31828 -[6009] Forked 31829 -(31828) found -(31829) found -[6008] Forked 31830 -[6007] Forked 31831 -(31830) found -(31831) found -[6006] Forked 31832 -[6005] Forked 31833 -(31832) found -(31833) found -[6004] Forked 31834 -[6003] Forked 31835 -(31834) found -(31835) found -[6002] Forked 31836 -[6001] Forked 31837 -(31836) found -(31837) found -[6000] Forked 31838 -[5999] Forked 31839 -(31838) found -(31839) found -[5998] Forked 31840 -[5997] Forked 31841 -(31840) found -(31841) found -[5996] Forked 31842 -[5995] Forked 31843 -(31842) found -(31843) found -[5994] Forked 31844 -[5993] Forked 31845 -(31844) found -(31845) found -[5992] Forked 31846 -[5991] Forked 31847 -(31846) found -(31847) found -[5990] Forked 31848 -[5989] Forked 31849 -(31848) found -(31849) found -[5988] Forked 31850 -[5987] Forked 31851 -(31850) found -(31851) found -[5986] Forked 31852 -[5985] Forked 31853 -(31852) found -(31853) found -[5984] Forked 31854 -[5983] Forked 31855 -(31854) found -(31855) found -[5982] Forked 31856 -[5981] Forked 31857 -(31856) found -(31857) found -[5980] Forked 31858 -(31858) found -[5979] Forked 31859 -(31859) found -[5978] Forked 31860 -(31860) found -[5977] Forked 31861 -(31861) found -[5976] Forked 31862 -(31862) found -[5975] Forked 31863 -(31863) found -[5974] Forked 31864 -(31864) found -[5973] Forked 31865 -(31865) found -[5972] Forked 31866 -(31866) found -[5971] Forked 31867 -(31867) found -[5970] Forked 31868 -(31868) found -[5969] Forked 31869 -(31869) found -[5968] Forked 31870 -(31870) found -[5967] Forked 31871 -(31871) found -[5966] Forked 31872 -(31872) found -[5965] Forked 31873 -(31873) found -[5964] Forked 31874 -(31874) found -[5963] Forked 31875 -(31875) found -[5962] Forked 31876 -(31876) found -[5961] Forked 31877 -(31877) found -[5960] Forked 31878 -(31878) found -[5959] Forked 31879 -(31879) found -[5958] Forked 31880 -(31880) found -[5957] Forked 31881 -(31881) found -[5956] Forked 31882 -(31882) found -[5955] Forked 31883 -(31883) found -[5954] Forked 31884 -(31884) found -[5953] Forked 31885 -(31885) found -[5952] Forked 31886 -(31886) found -[5951] Forked 31887 -(31887) found -[5950] Forked 31888 -(31888) found -[5949] Forked 31889 -(31889) found -[5948] Forked 31890 -(31890) found -[5947] Forked 31891 -(31891) found -[5946] Forked 31892 -(31892) found -[5945] Forked 31893 -[5944] Forked 31894 -(31893) found -(31894) found -[5943] Forked 31895 -[5942] Forked 31896 -(31895) found -(31896) found -[5941] Forked 31897 -[5940] Forked 31898 -(31897) found -(31898) found -[5939] Forked 31899 -[5938] Forked 31900 -(31899) found -(31900) found -[5937] Forked 31901 -[5936] Forked 31902 -(31901) found -(31902) found -[5935] Forked 31903 -[5934] Forked 31904 -(31903) found -(31904) found -[5933] Forked 31905 -[5932] Forked 31906 -(31905) found -(31906) found -[5931] Forked 31907 -[5930] Forked 31908 -(31907) found -(31908) found -[5929] Forked 31909 -[5928] Forked 31910 -(31909) found -(31910) found -[5927] Forked 31911 -[5926] Forked 31912 -(31911) found -(31912) found -[5925] Forked 31913 -[5924] Forked 31914 -(31913) found -(31914) found -[5923] Forked 31915 -[5922] Forked 31916 -(31915) found -(31916) found -[5921] Forked 31917 -[5920] Forked 31918 -(31917) found -(31918) found -[5919] Forked 31919 -[5918] Forked 31920 -(31919) found -(31920) found -[5917] Forked 31921 -[5916] Forked 31922 -(31921) found -(31922) found -[5915] Forked 31923 -[5914] Forked 31924 -(31923) found -(31924) found -[5913] Forked 31925 -[5912] Forked 31926 -(31925) found -(31926) found -[5911] Forked 31927 -[5910] Forked 31928 -(31927) found -(31928) found -[5909] Forked 31929 -[5908] Forked 31930 -(31929) found -(31930) found -[5907] Forked 31931 -[5906] Forked 31933 -(31931) found -(31933) found -[5905] Forked 31934 -(31934) found -[5904] Forked 31935 -(31935) found -[5903] Forked 31936 -(31936) found -[5902] Forked 31937 -(31937) found -[5901] Forked 31938 -(31938) found -[5900] Forked 31939 -(31939) found -[5899] Forked 31940 -(31940) found -[5898] Forked 31941 -(31941) found -[5897] Forked 31942 -(31942) found -[5896] Forked 31943 -(31943) found -[5895] Forked 31944 -(31944) found -[5894] Forked 31945 -(31945) found -[5893] Forked 31946 -(31946) found -[5892] Forked 31947 -(31947) found -[5891] Forked 31948 -(31948) found -[5890] Forked 31949 -(31949) found -[5889] Forked 31950 -(31950) found -[5888] Forked 31951 -(31951) found -[5887] Forked 31952 -(31952) found -[5886] Forked 31953 -[5885] Forked 31954 -(31953) found -(31954) found -[5884] Forked 31955 -[5883] Forked 31956 -(31955) found -(31956) found -[5882] Forked 31957 -[5881] Forked 31958 -(31957) found -(31958) found -[5880] Forked 31959 -[5879] Forked 31960 -(31959) found -(31960) found -[5878] Forked 31961 -[5877] Forked 31962 -(31961) found -(31962) found -[5876] Forked 31963 -[5875] Forked 31964 -(31963) found -(31964) found -[5874] Forked 31965 -[5873] Forked 31966 -(31965) found -(31966) found -[5872] Forked 31967 -[5871] Forked 31968 -(31967) found -(31968) found -[5870] Forked 31969 -[5869] Forked 31970 -(31969) found -(31970) found -[5868] Forked 31971 -[5867] Forked 31972 -(31971) found -(31972) found -[5866] Forked 31973 -[5865] Forked 31974 -(31973) found -(31974) found -[5864] Forked 31975 -[5863] Forked 31976 -(31975) found -(31976) found -[5862] Forked 31977 -(31977) found -[5861] Forked 31978 -(31978) found -[5860] Forked 31979 -(31979) found -[5859] Forked 31980 -(31980) found -[5858] Forked 31981 -(31981) found -[5857] Forked 31982 -(31982) found -[5856] Forked 31983 -(31983) found -[5855] Forked 31984 -(31984) found -[5854] Forked 31985 -(31985) found -[5853] Forked 31986 -(31986) found -[5852] Forked 31987 -(31987) found -[5851] Forked 31988 -(31988) found -[5850] Forked 31989 -(31989) found -[5849] Forked 31990 -(31990) found -[5848] Forked 31991 -(31991) found -[5847] Forked 31992 -(31992) found -[5846] Forked 31993 -(31993) found -[5845] Forked 31994 -(31994) found -[5844] Forked 31995 -(31995) found -[5843] Forked 31996 -(31996) found -[5842] Forked 31997 -(31997) found -[5841] Forked 31998 -(31998) found -[5840] Forked 31999 -(31999) found -[5839] Forked 32000 -(32000) found -[5838] Forked 32001 -(32001) found -[5837] Forked 32002 -(32002) found -[5836] Forked 32003 -(32003) found -[5835] Forked 32004 -(32004) found -[5834] Forked 32005 -(32005) found -[5833] Forked 32006 -(32006) found -[5832] Forked 32007 -(32007) found -[5831] Forked 32008 -(32008) found -[5830] Forked 32009 -(32009) found -[5829] Forked 32010 -(32010) found -[5828] Forked 32011 -(32011) found -[5827] Forked 32012 -(32012) found -[5826] Forked 32013 -(32013) found -[5825] Forked 32014 -(32014) found -[5824] Forked 32015 -(32015) found -[5823] Forked 32016 -[5822] Forked 32017 -(32016) found -(32017) found -[5821] Forked 32018 -[5820] Forked 32019 -(32018) found -(32019) found -[5819] Forked 32020 -[5818] Forked 32021 -(32020) found -(32021) found -[5817] Forked 32022 -[5816] Forked 32023 -(32022) found -(32023) found -[5815] Forked 32024 -[5814] Forked 32025 -(32024) found -(32025) found -[5813] Forked 32026 -[5812] Forked 32027 -(32026) found -(32027) found -[5811] Forked 32028 -[5810] Forked 32029 -(32028) found -(32029) found -[5809] Forked 32030 -[5808] Forked 32031 -(32030) found -(32031) found -[5807] Forked 32032 -[5806] Forked 32033 -(32032) found -(32033) found -[5805] Forked 32034 -[5804] Forked 32035 -(32034) found -(32035) found -[5803] Forked 32036 -[5802] Forked 32037 -(32036) found -(32037) found -[5801] Forked 32038 -[5800] Forked 32039 -(32038) found -(32039) found -[5799] Forked 32040 -[5798] Forked 32041 -(32040) found -(32041) found -[5797] Forked 32042 -[5796] Forked 32043 -(32042) found -(32043) found -[5795] Forked 32044 -[5794] Forked 32045 -(32044) found -(32045) found -[5793] Forked 32046 -[5792] Forked 32047 -(32047) found -(32046) found -[5791] Forked 32048 -(32048) found -[5790] Forked 32049 -(32049) found -[5789] Forked 32050 -(32050) found -[5788] Forked 32051 -(32051) found -[5787] Forked 32052 -(32052) found -[5786] Forked 32053 -(32053) found -[5785] Forked 32054 -(32054) found -[5784] Forked 32055 -(32055) found -[5783] Forked 32056 -(32056) found -[5782] Forked 32057 -(32057) found -[5781] Forked 32058 -(32058) found -[5780] Forked 32059 -(32059) found -[5779] Forked 32060 -(32060) found -[5778] Forked 32061 -(32061) found -[5777] Forked 32062 -(32062) found -[5776] Forked 32063 -(32063) found -[5775] Forked 32064 -(32064) found -[5774] Forked 32065 -(32065) found -[5773] Forked 32066 -[5772] Forked 32067 -(32066) found -(32067) found -[5771] Forked 32068 -[5770] Forked 32069 -(32068) found -(32069) found -[5769] Forked 32070 -[5768] Forked 32071 -(32070) found -(32071) found -[5767] Forked 32072 -[5766] Forked 32073 -(32072) found -(32073) found -[5765] Forked 32074 -[5764] Forked 32075 -(32074) found -(32075) found -[5763] Forked 32076 -[5762] Forked 32077 -(32076) found -(32077) found -[5761] Forked 32078 -[5760] Forked 32079 -(32078) found -(32079) found -[5759] Forked 32080 -[5758] Forked 32081 -(32080) found -(32081) found -[5757] Forked 32082 -[5756] Forked 32083 -(32082) found -(32083) found -[5755] Forked 32084 -[5754] Forked 32085 -(32084) found -(32085) found -[5753] Forked 32086 -[5752] Forked 32087 -(32086) found -(32087) found -[5751] Forked 32088 -[5750] Forked 32089 -(32089) found -(32088) found -[5749] Forked 32090 -(32090) found -[5748] Forked 32091 -(32091) found -[5747] Forked 32092 -(32092) found -[5746] Forked 32093 -(32093) found -[5745] Forked 32094 -(32094) found -[5744] Forked 32095 -(32095) found -[5743] Forked 32096 -(32096) found -[5742] Forked 32097 -(32097) found -[5741] Forked 32098 -(32098) found -[5740] Forked 32099 -(32099) found -[5739] Forked 32100 -(32100) found -[5738] Forked 32101 -(32101) found -[5737] Forked 32102 -(32102) found -[5736] Forked 32103 -(32103) found -[5735] Forked 32104 -(32104) found -[5734] Forked 32105 -(32105) found -[5733] Forked 32106 -(32106) found -[5732] Forked 32107 -(32107) found -[5731] Forked 32108 -(32108) found -[5730] Forked 32109 -(32109) found -[5729] Forked 32110 -(32110) found -[5728] Forked 32111 -(32111) found -[5727] Forked 32112 -(32112) found -[5726] Forked 32113 -(32113) found -[5725] Forked 32115 -(32115) found -[5724] Forked 32116 -(32116) found -[5723] Forked 32117 -(32117) found -[5722] Forked 32118 -(32118) found -[5721] Forked 32119 -(32119) found -[5720] Forked 32120 -(32120) found -[5719] Forked 32121 -(32121) found -[5718] Forked 32122 -(32122) found -[5717] Forked 32123 -(32123) found -[5716] Forked 32124 -(32124) found -[5715] Forked 32125 -(32125) found -[5714] Forked 32126 -(32126) found -[5713] Forked 32127 -(32127) found -[5712] Forked 32128 -(32128) found -[5711] Forked 32129 -(32129) found -[5710] Forked 32130 -(32130) found -[5709] Forked 32131 -(32131) found -[5708] Forked 32132 -(32132) found -[5707] Forked 32133 -(32133) found -[5706] Forked 32134 -(32134) found -[5705] Forked 32135 -(32135) found -[5704] Forked 32136 -(32136) found -[5703] Forked 32137 -(32137) found -[5702] Forked 32138 -(32138) found -[5701] Forked 32139 -(32139) found -[5700] Forked 32140 -(32140) found -[5699] Forked 32141 -[5698] Forked 32142 -(32141) found -(32142) found -[5697] Forked 32143 -[5696] Forked 32144 -(32143) found -(32144) found -[5695] Forked 32145 -[5694] Forked 32146 -(32145) found -(32146) found -[5693] Forked 32147 -[5692] Forked 32148 -(32147) found -(32148) found -[5691] Forked 32149 -[5690] Forked 32150 -(32149) found -(32150) found -[5689] Forked 32151 -[5688] Forked 32152 -(32151) found -(32152) found -[5687] Forked 32153 -[5686] Forked 32154 -(32153) found -(32154) found -[5685] Forked 32155 -[5684] Forked 32157 -(32155) found -(32157) found -[5683] Forked 32158 -(32158) found -[5682] Forked 32159 -(32159) found -[5681] Forked 32160 -(32160) found -[5680] Forked 32161 -(32161) found -[5679] Forked 32162 -(32162) found -[5678] Forked 32163 -(32163) found -[5677] Forked 32164 -(32164) found -[5676] Forked 32165 -(32165) found -[5675] Forked 32166 -(32166) found -[5674] Forked 32167 -(32167) found -[5673] Forked 32168 -(32168) found -[5672] Forked 32169 -(32169) found -[5671] Forked 32170 -(32170) found -[5670] Forked 32171 -(32171) found -[5669] Forked 32172 -(32172) found -[5668] Forked 32173 -(32173) found -[5667] Forked 32174 -(32174) found -[5666] Forked 32175 -(32175) found -[5665] Forked 32176 -(32176) found -[5664] Forked 32177 -(32177) found -[5663] Forked 32178 -(32178) found -[5662] Forked 32179 -(32179) found -[5661] Forked 32180 -(32180) found -[5660] Forked 32181 -(32181) found -[5659] Forked 32182 -(32182) found -[5658] Forked 32183 -(32183) found -[5657] Forked 32184 -(32184) found -[5656] Forked 32185 -(32185) found -[5655] Forked 32186 -(32186) found -[5654] Forked 32187 -(32187) found -[5653] Forked 32188 -(32188) found -[5652] Forked 32189 -(32189) found -[5651] Forked 32190 -(32190) found -[5650] Forked 32191 -(32191) found -[5649] Forked 32192 -(32192) found -[5648] Forked 32193 -(32193) found -[5647] Forked 32194 -(32194) found -[5646] Forked 32195 -(32195) found -[5645] Forked 32196 -(32196) found -[5644] Forked 32197 -(32197) found -[5643] Forked 32198 -(32198) found -[5642] Forked 32199 -(32199) found -[5641] Forked 32200 -(32200) found -[5640] Forked 32201 -(32201) found -[5639] Forked 32202 -(32202) found -[5638] Forked 32203 -(32203) found -[5637] Forked 32204 -(32204) found -[5636] Forked 32205 -(32205) found -[5635] Forked 32206 -(32206) found -[5634] Forked 32207 -(32207) found -[5633] Forked 32208 -(32208) found -[5632] Forked 32209 -(32209) found -[5631] Forked 32210 -(32210) found -[5630] Forked 32211 -(32211) found -[5629] Forked 32212 -(32212) found -[5628] Forked 32213 -(32213) found -[5627] Forked 32214 -(32214) found -[5626] Forked 32215 -(32215) found -[5625] Forked 32216 -(32216) found -[5624] Forked 32217 -(32217) found -[5623] Forked 32218 -(32218) found -[5622] Forked 32219 -(32219) found -[5621] Forked 32220 -(32220) found -[5620] Forked 32221 -(32221) found -[5619] Forked 32222 -(32222) found -[5618] Forked 32223 -(32223) found -[5617] Forked 32224 -(32224) found -[5616] Forked 32225 -(32225) found -[5615] Forked 32226 -(32226) found -[5614] Forked 32227 -(32227) found -[5613] Forked 32228 -(32228) found -[5612] Forked 32229 -(32229) found -[5611] Forked 32230 -(32230) found -[5610] Forked 32231 -(32231) found -[5609] Forked 32232 -(32232) found -[5608] Forked 32233 -(32233) found -[5607] Forked 32234 -(32234) found -[5606] Forked 32235 -(32235) found -[5605] Forked 32236 -(32236) found -[5604] Forked 32237 -(32237) found -[5603] Forked 32238 -(32238) found -[5602] Forked 32239 -(32239) found -[5601] Forked 32240 -(32240) found -[5600] Forked 32241 -(32241) found -[5599] Forked 32242 -(32242) found -[5598] Forked 32243 -(32243) found -[5597] Forked 32244 -(32244) found -[5596] Forked 32245 -(32245) found -[5595] Forked 32246 -(32246) found -[5594] Forked 32247 -(32247) found -[5593] Forked 32248 -(32248) found -[5592] Forked 32249 -[5591] Forked 32250 -(32249) found -(32250) found -[5590] Forked 32251 -[5589] Forked 32252 -(32251) found -(32252) found -[5588] Forked 32253 -[5587] Forked 32254 -(32253) found -(32254) found -[5586] Forked 32255 -[5585] Forked 32256 -(32255) found -(32256) found -[5584] Forked 32257 -[5583] Forked 32258 -(32257) found -(32258) found -[5582] Forked 32259 -[5581] Forked 32260 -(32259) found -(32260) found -[5580] Forked 32261 -[5579] Forked 32262 -(32261) found -(32262) found -[5578] Forked 32263 -[5577] Forked 32264 -(32263) found -(32264) found -[5576] Forked 32265 -[5575] Forked 32266 -(32265) found -(32266) found -[5574] Forked 32267 -[5573] Forked 32268 -(32267) found -(32268) found -[5572] Forked 32269 -[5571] Forked 32270 -(32269) found -(32270) found -[5570] Forked 32271 -[5569] Forked 32272 -(32271) found -(32272) found -[5568] Forked 32273 -[5567] Forked 32274 -(32273) found -(32274) found -[5566] Forked 32275 -[5565] Forked 32276 -(32275) found -(32276) found -[5564] Forked 32277 -[5563] Forked 32278 -(32277) found -(32278) found -[5562] Forked 32279 -[5561] Forked 32280 -(32279) found -(32280) found -[5560] Forked 32281 -[5559] Forked 32282 -(32281) found -(32282) found -[5558] Forked 32283 -[5557] Forked 32284 -(32283) found -(32284) found -[5556] Forked 32285 -[5555] Forked 32286 -(32285) found -(32286) found -[5554] Forked 32287 -[5553] Forked 32288 -(32287) found -(32288) found -[5552] Forked 32289 -[5551] Forked 32290 -(32289) found -(32290) found -[5550] Forked 32291 -[5549] Forked 32292 -(32291) found -(32292) found -[5548] Forked 32293 -[5547] Forked 32294 -(32293) found -(32294) found -[5546] Forked 32295 -(32295) found -[5545] Forked 32296 -(32296) found -[5544] Forked 32297 -(32297) found -[5543] Forked 32298 -(32298) found -[5542] Forked 32299 -(32299) found -[5541] Forked 32300 -(32300) found -[5540] Forked 32301 -(32301) found -[5539] Forked 32302 -(32302) found -[5538] Forked 32303 -(32303) found -[5537] Forked 32304 -(32304) found -[5536] Forked 32305 -(32305) found -[5535] Forked 32306 -(32306) found -[5534] Forked 32307 -(32307) found -[5533] Forked 32308 -(32308) found -[5532] Forked 32309 -(32309) found -[5531] Forked 32310 -(32310) found -[5530] Forked 32311 -(32311) found -[5529] Forked 32312 -(32312) found -[5528] Forked 32313 -(32313) found -[5527] Forked 32314 -(32314) found -[5526] Forked 32315 -(32315) found -[5525] Forked 32316 -(32316) found -[5524] Forked 32317 -(32317) found -[5523] Forked 32318 -(32318) found -[5522] Forked 32319 -(32319) found -[5521] Forked 32320 -(32320) found -[5520] Forked 32321 -(32321) found -[5519] Forked 32322 -(32322) found -[5518] Forked 32323 -(32323) found -[5517] Forked 32324 -(32324) found -[5516] Forked 32325 -(32325) found -[5515] Forked 32326 -(32326) found -[5514] Forked 32327 -(32327) found -[5513] Forked 32328 -(32328) found -[5512] Forked 32329 -(32329) found -[5511] Forked 32330 -[5510] Forked 32331 -(32330) found -(32331) found -[5509] Forked 32332 -[5508] Forked 32333 -(32332) found -(32333) found -[5507] Forked 32334 -[5506] Forked 32335 -(32334) found -(32335) found -[5505] Forked 32336 -[5504] Forked 32337 -(32336) found -(32337) found -[5503] Forked 32338 -[5502] Forked 32339 -(32338) found -(32339) found -[5501] Forked 32340 -[5500] Forked 32341 -(32340) found -(32341) found -[5499] Forked 32342 -[5498] Forked 32343 -(32342) found -(32343) found -[5497] Forked 32344 -[5496] Forked 32345 -(32344) found -(32345) found -[5495] Forked 32346 -[5494] Forked 32347 -(32346) found -(32347) found -[5493] Forked 32348 -[5492] Forked 32349 -(32348) found -(32349) found -[5491] Forked 32350 -[5490] Forked 32351 -(32350) found -(32351) found -[5489] Forked 32352 -[5488] Forked 32353 -(32352) found -(32353) found -[5487] Forked 32354 -[5486] Forked 32355 -(32354) found -(32355) found -[5485] Forked 32356 -[5484] Forked 32357 -(32356) found -(32357) found -[5483] Forked 32358 -[5482] Forked 32359 -(32358) found -(32359) found -[5481] Forked 32360 -[5480] Forked 32361 -(32360) found -(32361) found -[5479] Forked 32362 -[5478] Forked 32363 -(32362) found -(32363) found -[5477] Forked 32364 -[5476] Forked 32365 -(32364) found -(32365) found -[5475] Forked 32366 -[5474] Forked 32367 -(32366) found -(32367) found -[5473] Forked 32368 -[5472] Forked 32369 -(32368) found -(32369) found -[5471] Forked 32370 -[5470] Forked 32371 -(32370) found -(32371) found -[5469] Forked 32372 -[5468] Forked 32373 -(32372) found -(32373) found -[5467] Forked 32374 -[5466] Forked 32375 -(32374) found -(32375) found -[5465] Forked 32376 -[5464] Forked 32377 -(32376) found -(32377) found -[5463] Forked 32378 -[5462] Forked 32379 -(32378) found -(32379) found -[5461] Forked 32380 -[5460] Forked 32381 -(32380) found -(32381) found -[5459] Forked 32382 -[5458] Forked 32383 -(32382) found -(32383) found -[5457] Forked 32384 -[5456] Forked 32385 -(32384) found -(32385) found -[5455] Forked 32386 -[5454] Forked 32387 -(32386) found -(32387) found -[5453] Forked 32388 -[5452] Forked 32389 -(32388) found -(32389) found -[5451] Forked 32390 -[5450] Forked 32391 -(32390) found -(32391) found -[5449] Forked 32392 -[5448] Forked 32393 -(32392) found -(32393) found -[5447] Forked 32394 -[5446] Forked 32395 -(32394) found -(32395) found -[5445] Forked 32396 -[5444] Forked 32397 -(32396) found -(32397) found -[5443] Forked 32398 -[5442] Forked 32399 -(32398) found -(32399) found -[5441] Forked 32400 -[5440] Forked 32401 -(32400) found -(32401) found -[5439] Forked 32402 -[5438] Forked 32403 -(32402) found -(32403) found -[5437] Forked 32404 -[5436] Forked 32405 -(32404) found -(32405) found -[5435] Forked 32406 -[5434] Forked 32407 -(32406) found -(32407) found -[5433] Forked 32408 -[5432] Forked 32409 -(32408) found -(32409) found -[5431] Forked 32410 -[5430] Forked 32411 -(32410) found -(32411) found -[5429] Forked 32412 -[5428] Forked 32413 -(32412) found -(32413) found -[5427] Forked 32414 -[5426] Forked 32415 -(32414) found -(32415) found -[5425] Forked 32416 -[5424] Forked 32417 -(32416) found -(32417) found -[5423] Forked 32418 -(32418) found -[5422] Forked 32419 -[5421] Forked 32420 -(32419) found -(32420) found -[5420] Forked 32421 -[5419] Forked 32422 -(32421) found -(32422) found -[5418] Forked 32423 -[5417] Forked 32424 -(32423) found -(32424) found -[5416] Forked 32425 -[5415] Forked 32426 -(32425) found -(32426) found -[5414] Forked 32427 -[5413] Forked 32428 -(32427) found -(32428) found -[5412] Forked 32429 -[5411] Forked 32430 -(32429) found -(32430) found -[5410] Forked 32431 -[5409] Forked 32432 -(32431) found -(32432) found -[5408] Forked 32433 -[5407] Forked 32434 -(32433) found -(32434) found -[5406] Forked 32435 -[5405] Forked 32436 -(32435) found -(32436) found -[5404] Forked 32437 -[5403] Forked 32438 -(32437) found -(32438) found -[5402] Forked 32439 -[5401] Forked 32440 -(32439) found -(32440) found -[5400] Forked 32441 -[5399] Forked 32442 -(32441) found -(32442) found -[5398] Forked 32443 -[5397] Forked 32444 -(32443) found -(32444) found -[5396] Forked 32445 -[5395] Forked 32446 -(32445) found -(32446) found -[5394] Forked 32447 -[5393] Forked 32448 -(32447) found -(32448) found -[5392] Forked 32449 -[5391] Forked 32450 -(32449) found -(32450) found -[5390] Forked 32451 -[5389] Forked 32452 -(32451) found -(32452) found -[5388] Forked 32453 -[5387] Forked 32454 -(32453) found -(32454) found -[5386] Forked 32455 -[5385] Forked 32456 -(32455) found -(32456) found -[5384] Forked 32457 -[5383] Forked 32458 -(32457) found -(32458) found -[5382] Forked 32459 -[5381] Forked 32460 -(32459) found -(32460) found -[5380] Forked 32461 -[5379] Forked 32462 -(32461) found -(32462) found -[5378] Forked 32463 -[5377] Forked 32464 -(32463) found -(32464) found -[5376] Forked 32465 -[5375] Forked 32466 -(32465) found -(32466) found -[5374] Forked 32467 -[5373] Forked 32468 -(32467) found -(32468) found -[5372] Forked 32469 -[5371] Forked 32470 -(32469) found -(32470) found -[5370] Forked 32471 -[5369] Forked 32472 -(32471) found -(32472) found -[5368] Forked 32473 -[5367] Forked 32474 -(32473) found -(32474) found -[5366] Forked 32475 -[5365] Forked 32476 -(32475) found -(32476) found -[5364] Forked 32477 -[5363] Forked 32478 -(32477) found -(32478) found -[5362] Forked 32479 -[5361] Forked 32480 -(32479) found -(32480) found -[5360] Forked 32481 -[5359] Forked 32482 -(32481) found -(32482) found -[5358] Forked 32483 -[5357] Forked 32484 -(32483) found -(32484) found -[5356] Forked 32485 -[5355] Forked 32486 -(32485) found -(32486) found -[5354] Forked 32487 -[5353] Forked 32488 -(32487) found -(32488) found -[5352] Forked 32489 -[5351] Forked 32490 -(32489) found -(32490) found -[5350] Forked 32491 -[5349] Forked 32492 -(32491) found -(32492) found -[5348] Forked 32493 -[5347] Forked 32494 -(32493) found -(32494) found -[5346] Forked 32495 -[5345] Forked 32496 -(32495) found -(32496) found -[5344] Forked 32497 -[5343] Forked 32498 -(32497) found -(32498) found -[5342] Forked 32499 -[5341] Forked 32500 -(32499) found -(32500) found -[5340] Forked 32501 -[5339] Forked 32502 -(32501) found -(32502) found -[5338] Forked 32503 -[5337] Forked 32504 -(32503) found -(32504) found -[5336] Forked 32505 -[5335] Forked 32506 -(32505) found -(32506) found -[5334] Forked 32507 -[5333] Forked 32508 -(32507) found -(32508) found -[5332] Forked 32509 -[5331] Forked 32510 -(32509) found -(32510) found -[5330] Forked 32511 -[5329] Forked 32512 -(32511) found -(32512) found -[5328] Forked 32513 -[5327] Forked 32514 -(32513) found -(32514) found -[5326] Forked 32515 -[5325] Forked 32516 -(32515) found -(32516) found -[5324] Forked 32517 -[5323] Forked 32518 -(32517) found -(32518) found -[5322] Forked 32519 -[5321] Forked 32520 -(32519) found -(32520) found -[5320] Forked 32521 -[5319] Forked 32522 -(32521) found -(32522) found -[5318] Forked 32523 -[5317] Forked 32524 -(32523) found -(32524) found -[5316] Forked 32525 -[5315] Forked 32526 -(32525) found -(32526) found -[5314] Forked 32527 -[5313] Forked 32528 -(32527) found -(32528) found -[5312] Forked 32529 -[5311] Forked 32530 -(32529) found -(32530) found -[5310] Forked 32531 -[5309] Forked 32532 -(32531) found -(32532) found -[5308] Forked 32533 -[5307] Forked 32534 -(32533) found -(32534) found -[5306] Forked 32535 -[5305] Forked 32536 -(32535) found -(32536) found -[5304] Forked 32537 -[5303] Forked 32538 -(32537) found -(32538) found -[5302] Forked 32539 -[5301] Forked 32540 -(32539) found -(32540) found -[5300] Forked 32541 -[5299] Forked 32542 -(32541) found -(32542) found -[5298] Forked 32543 -(32543) found -[5297] Forked 32544 -(32544) found -[5296] Forked 32545 -(32545) found -[5295] Forked 32546 -(32546) found -[5294] Forked 32547 -(32547) found -[5293] Forked 32548 -(32548) found -[5292] Forked 32549 -(32549) found -[5291] Forked 32550 -[5290] Forked 32551 -(32550) found -(32551) found -[5289] Forked 32552 -[5288] Forked 32553 -(32552) found -(32553) found -[5287] Forked 32554 -[5286] Forked 32555 -(32554) found -(32555) found -[5285] Forked 32556 -[5284] Forked 32557 -(32556) found -(32557) found -[5283] Forked 32558 -[5282] Forked 32559 -(32558) found -(32559) found -[5281] Forked 32560 -[5280] Forked 32561 -(32560) found -(32561) found -[5279] Forked 32562 -[5278] Forked 32563 -(32562) found -(32563) found -[5277] Forked 32564 -[5276] Forked 32565 -(32564) found -(32565) found -[5275] Forked 32566 -[5274] Forked 32567 -(32566) found -(32567) found -[5273] Forked 32568 -[5272] Forked 32569 -(32568) found -(32569) found -[5271] Forked 32570 -[5270] Forked 32571 -(32570) found -(32571) found -[5269] Forked 32572 -[5268] Forked 32573 -(32572) found -(32573) found -[5267] Forked 32574 -[5266] Forked 32575 -(32574) found -(32575) found -[5265] Forked 32576 -[5264] Forked 32577 -(32576) found -(32577) found -[5263] Forked 32578 -[5262] Forked 32579 -(32578) found -(32579) found -[5261] Forked 32580 -[5260] Forked 32581 -(32580) found -(32581) found -[5259] Forked 32582 -[5258] Forked 32583 -(32582) found -(32583) found -[5257] Forked 32584 -[5256] Forked 32585 -(32584) found -(32585) found -[5255] Forked 32586 -[5254] Forked 32587 -(32586) found -(32587) found -[5253] Forked 32588 -[5252] Forked 32589 -(32588) found -(32589) found -[5251] Forked 32590 -[5250] Forked 32591 -(32590) found -(32591) found -[5249] Forked 32592 -[5248] Forked 32593 -(32592) found -(32593) found -[5247] Forked 32594 -(32594) found -[5246] Forked 32595 -(32595) found -[5245] Forked 32596 -(32596) found -[5244] Forked 32597 -(32597) found -[5243] Forked 32598 -(32598) found -[5242] Forked 32599 -(32599) found -[5241] Forked 32600 -(32600) found -[5240] Forked 32601 -(32601) found -[5239] Forked 32602 -(32602) found -[5238] Forked 32603 -(32603) found -[5237] Forked 32604 -(32604) found -[5236] Forked 32605 -(32605) found -[5235] Forked 32606 -(32606) found -[5234] Forked 32607 -(32607) found -[5233] Forked 32608 -(32608) found -[5232] Forked 32609 -(32609) found -[5231] Forked 32610 -(32610) found -[5230] Forked 32611 -(32611) found -[5229] Forked 32612 -(32612) found -[5228] Forked 32613 -(32613) found -[5227] Forked 32614 -(32614) found -[5226] Forked 32615 -(32615) found -[5225] Forked 32616 -(32616) found -[5224] Forked 32617 -(32617) found -[5223] Forked 32618 -(32618) found -[5222] Forked 32619 -(32619) found -[5221] Forked 32620 -(32620) found -[5220] Forked 32621 -(32621) found -[5219] Forked 32622 -(32622) found -[5218] Forked 32623 -(32623) found -[5217] Forked 32624 -(32624) found -[5216] Forked 32625 -(32625) found -[5215] Forked 32626 -(32626) found -[5214] Forked 32627 -(32627) found -[5213] Forked 32628 -(32628) found -[5212] Forked 32629 -(32629) found -[5211] Forked 32630 -(32630) found -[5210] Forked 32631 -(32631) found -[5209] Forked 32632 -(32632) found -[5208] Forked 32633 -(32633) found -[5207] Forked 32634 -[5206] Forked 32635 -(32634) found -(32635) found -[5205] Forked 32636 -[5204] Forked 32637 -(32636) found -(32637) found -[5203] Forked 32638 -[5202] Forked 32639 -(32638) found -(32639) found -[5201] Forked 32640 -[5200] Forked 32641 -(32640) found -(32641) found -[5199] Forked 32642 -[5198] Forked 32643 -(32642) found -(32643) found -[5197] Forked 32644 -[5196] Forked 32645 -(32644) found -(32645) found -[5195] Forked 32646 -[5194] Forked 32647 -(32646) found -(32647) found -[5193] Forked 32648 -[5192] Forked 32649 -(32648) found -(32649) found -[5191] Forked 32650 -[5190] Forked 32651 -(32650) found -(32651) found -[5189] Forked 32652 -[5188] Forked 32653 -(32652) found -(32653) found -[5187] Forked 32654 -[5186] Forked 32655 -(32654) found -(32655) found -[5185] Forked 32656 -[5184] Forked 32657 -(32656) found -(32657) found -[5183] Forked 32658 -[5182] Forked 32659 -(32658) found -(32659) found -[5181] Forked 32660 -(32660) found -[5180] Forked 32661 -[5179] Forked 32662 -(32661) found -(32662) found -[5178] Forked 32663 -[5177] Forked 32664 -(32663) found -(32664) found -[5176] Forked 32665 -[5175] Forked 32666 -(32665) found -(32666) found -[5174] Forked 32667 -[5173] Forked 32668 -(32667) found -(32668) found -[5172] Forked 32669 -[5171] Forked 32670 -(32669) found -(32670) found -[5170] Forked 32671 -[5169] Forked 32672 -(32671) found -(32672) found -[5168] Forked 32673 -(32673) found -[5167] Forked 32674 -(32674) found -[5166] Forked 32675 -(32675) found -[5165] Forked 32676 -(32676) found -[5164] Forked 32677 -(32677) found -[5163] Forked 32678 -(32678) found -[5162] Forked 32679 -(32679) found -[5161] Forked 32680 -(32680) found -[5160] Forked 32681 -(32681) found -[5159] Forked 32682 -(32682) found -[5158] Forked 32683 -(32683) found -[5157] Forked 32684 -(32684) found -[5156] Forked 32685 -(32685) found -[5155] Forked 32686 -(32686) found -[5154] Forked 32687 -(32687) found -[5153] Forked 32688 -(32688) found -[5152] Forked 32689 -(32689) found -[5151] Forked 32690 -(32690) found -[5150] Forked 32691 -(32691) found -[5149] Forked 32692 -(32692) found -[5148] Forked 32693 -(32693) found -[5147] Forked 32694 -(32694) found -[5146] Forked 32695 -(32695) found -[5145] Forked 32696 -(32696) found -[5144] Forked 32697 -(32697) found -[5143] Forked 32698 -(32698) found -[5142] Forked 32699 -(32699) found -[5141] Forked 32700 -(32700) found -[5140] Forked 32701 -(32701) found -[5139] Forked 32702 -(32702) found -[5138] Forked 32703 -(32703) found -[5137] Forked 32704 -(32704) found -[5136] Forked 32705 -(32705) found -[5135] Forked 32706 -(32706) found -[5134] Forked 32707 -(32707) found -[5133] Forked 32708 -(32708) found -[5132] Forked 32709 -(32709) found -[5131] Forked 32710 -(32710) found -[5130] Forked 32711 -(32711) found -[5129] Forked 32712 -[5128] Forked 32713 -(32712) found -(32713) found -[5127] Forked 32714 -[5126] Forked 32715 -(32714) found -(32715) found -[5125] Forked 32716 -[5124] Forked 32717 -(32716) found -(32717) found -[5123] Forked 32718 -[5122] Forked 32719 -(32718) found -(32719) found -[5121] Forked 32720 -[5120] Forked 32721 -(32720) found -(32721) found -[5119] Forked 32722 -[5118] Forked 32723 -(32722) found -(32723) found -[5117] Forked 32724 -[5116] Forked 32725 -(32724) found -(32725) found -[5115] Forked 32726 -[5114] Forked 32727 -(32726) found -(32727) found -[5113] Forked 32728 -[5112] Forked 32729 -(32728) found -(32729) found -[5111] Forked 32730 -[5110] Forked 32731 -(32730) found -(32731) found -[5109] Forked 32732 -[5108] Forked 32733 -(32732) found -(32733) found -[5107] Forked 32734 -[5106] Forked 32735 -(32734) found -(32735) found -[5105] Forked 32736 -[5104] Forked 32737 -(32736) found -(32737) found -[5103] Forked 32738 -[5102] Forked 32739 -(32738) found -(32739) found -[5101] Forked 32740 -[5100] Forked 32741 -(32740) found -(32741) found -[5099] Forked 32742 -[5098] Forked 32743 -(32742) found -(32743) found -[5097] Forked 32744 -[5096] Forked 32745 -(32744) found -(32745) found -[5095] Forked 32746 -[5094] Forked 32747 -(32746) found -(32747) found -[5093] Forked 32748 -[5092] Forked 32749 -(32748) found -(32749) found -[5091] Forked 32750 -[5090] Forked 32751 -(32750) found -(32751) found -[5089] Forked 32752 -[5088] Forked 32753 -(32752) found -(32753) found -[5087] Forked 32754 -[5086] Forked 32755 -(32754) found -(32755) found -[5085] Forked 32756 -[5084] Forked 32757 -(32756) found -(32757) found -[5083] Forked 32758 -[5082] Forked 32759 -(32758) found -(32759) found -[5081] Forked 32760 -[5080] Forked 32761 -(32760) found -(32761) found -[5079] Forked 32762 -[5078] Forked 32763 -(32762) found -(32763) found -[5077] Forked 32764 -[5076] Forked 32765 -(32764) found -(32765) found -[5075] Forked 32766 -[5074] Forked 32767 -(32766) found -(32767) found -[5073] Forked 300 -[5072] Forked 301 -(300) found -(301) found -[5071] Forked 302 -[5070] Forked 303 -(302) found -(303) found -[5069] Forked 304 -[5068] Forked 305 -(304) found -(305) found -[5067] Forked 306 -[5066] Forked 307 -(306) found -(307) found -[5065] Forked 308 -(308) found -[5064] Forked 310 -(310) found -[5063] Forked 311 -(311) found -[5062] Forked 312 -(312) found -[5061] Forked 313 -(313) found -[5060] Forked 314 -(314) found -[5059] Forked 315 -(315) found -[5058] Forked 316 -(316) found -[5057] Forked 317 -(317) found -[5056] Forked 318 -(318) found -[5055] Forked 319 -(319) found -[5054] Forked 320 -(320) found -[5053] Forked 321 -(321) found -[5052] Forked 322 -(322) found -[5051] Forked 323 -(323) found -[5050] Forked 324 -(324) found -[5049] Forked 325 -(325) found -[5048] Forked 328 -(328) found -[5047] Forked 330 -(330) found -[5046] Forked 331 -(331) found -[5045] Forked 332 -(332) found -[5044] Forked 333 -(333) found -[5043] Forked 334 -(334) found -[5042] Forked 335 -(335) found -[5041] Forked 336 -(336) found -[5040] Forked 337 -(337) found -[5039] Forked 338 -(338) found -[5038] Forked 339 -(339) found -[5037] Forked 340 -(340) found -[5036] Forked 341 -(341) found -[5035] Forked 342 -(342) found -[5034] Forked 343 -(343) found -[5033] Forked 344 -(344) found -[5032] Forked 345 -(345) found -[5031] Forked 346 -(346) found -[5030] Forked 347 -(347) found -[5029] Forked 348 -(348) found -[5028] Forked 349 -(349) found -[5027] Forked 350 -(350) found -[5026] Forked 351 -(351) found -[5025] Forked 352 -(352) found -[5024] Forked 353 -(353) found -[5023] Forked 354 -(354) found -[5022] Forked 355 -(355) found -[5021] Forked 356 -(356) found -[5020] Forked 357 -(357) found -[5019] Forked 358 -(358) found -[5018] Forked 359 -(359) found -[5017] Forked 360 -(360) found -[5016] Forked 361 -(361) found -[5015] Forked 362 -(362) found -[5014] Forked 363 -(363) found -[5013] Forked 364 -[5012] Forked 365 -(364) found -(365) found -[5011] Forked 366 -[5010] Forked 367 -(366) found -(367) found -[5009] Forked 368 -[5008] Forked 369 -(368) found -(369) found -[5007] Forked 370 -[5006] Forked 371 -(370) found -(371) found -[5005] Forked 372 -[5004] Forked 373 -(372) found -(373) found -[5003] Forked 374 -[5002] Forked 375 -(374) found -(375) found -[5001] Forked 376 -[5000] Forked 377 -(376) found -(377) found -[4999] Forked 378 -[4998] Forked 379 -(378) found -(379) found -[4997] Forked 380 -[4996] Forked 381 -(380) found -(381) found -[4995] Forked 383 -[4994] Forked 384 -(383) found -(384) found -[4993] Forked 385 -[4992] Forked 386 -(385) found -(386) found -[4991] Forked 387 -[4990] Forked 388 -(387) found -(388) found -[4989] Forked 389 -[4988] Forked 390 -(389) found -(390) found -[4987] Forked 391 -[4986] Forked 392 -(391) found -(392) found -[4985] Forked 393 -[4984] Forked 394 -(393) found -(394) found -[4983] Forked 395 -[4982] Forked 396 -(395) found -(396) found -[4981] Forked 397 -[4980] Forked 398 -(397) found -(398) found -[4979] Forked 399 -[4978] Forked 401 -(399) found -(401) found -[4977] Forked 402 -[4976] Forked 403 -(402) found -(403) found -[4975] Forked 404 -[4974] Forked 405 -(404) found -(405) found -[4973] Forked 407 -[4972] Forked 408 -(407) found -(408) found -[4971] Forked 409 -[4970] Forked 410 -(409) found -(410) found -[4969] Forked 411 -[4968] Forked 412 -(411) found -(412) found -[4967] Forked 413 -[4966] Forked 414 -(413) found -(414) found -[4965] Forked 415 -[4964] Forked 416 -(415) found -(416) found -[4963] Forked 417 -[4962] Forked 418 -(417) found -(418) found -[4961] Forked 419 -[4960] Forked 420 -(419) found -(420) found -[4959] Forked 421 -[4958] Forked 422 -(421) found -(422) found -[4957] Forked 423 -[4956] Forked 424 -(423) found -(424) found -[4955] Forked 425 -[4954] Forked 426 -(425) found -(426) found -[4953] Forked 427 -[4952] Forked 429 -(427) found -(429) found -[4951] Forked 430 -[4950] Forked 431 -(430) found -(431) found -[4949] Forked 432 -[4948] Forked 433 -(432) found -(433) found -[4947] Forked 434 -[4946] Forked 435 -(434) found -(435) found -[4945] Forked 436 -[4944] Forked 437 -(436) found -(437) found -[4943] Forked 438 -[4942] Forked 439 -(439) found -(438) found -[4941] Forked 440 -(440) found -[4940] Forked 441 -(441) found -[4939] Forked 442 -(442) found -[4938] Forked 443 -(443) found -[4937] Forked 444 -(444) found -[4936] Forked 445 -(445) found -[4935] Forked 446 -(446) found -[4934] Forked 447 -(447) found -[4933] Forked 448 -(448) found -[4932] Forked 449 -(449) found -[4931] Forked 450 -(450) found -[4930] Forked 451 -(451) found -[4929] Forked 452 -(452) found -[4928] Forked 453 -(453) found -[4927] Forked 454 -(454) found -[4926] Forked 455 -(455) found -[4925] Forked 456 -(456) found -[4924] Forked 457 -(457) found -[4923] Forked 458 -(458) found -[4922] Forked 459 -(459) found -[4921] Forked 460 -(460) found -[4920] Forked 461 -(461) found -[4919] Forked 462 -(462) found -[4918] Forked 463 -(463) found -[4917] Forked 464 -(464) found -[4916] Forked 465 -(465) found -[4915] Forked 466 -(466) found -[4914] Forked 467 -(467) found -[4913] Forked 468 -(468) found -[4912] Forked 469 -(469) found -[4911] Forked 470 -(470) found -[4910] Forked 471 -(471) found -[4909] Forked 472 -(472) found -[4908] Forked 473 -(473) found -[4907] Forked 474 -(474) found -[4906] Forked 475 -(475) found -[4905] Forked 476 -(476) found -[4904] Forked 477 -(477) found -[4903] Forked 478 -(478) found -[4902] Forked 479 -(479) found -[4901] Forked 480 -(480) found -[4900] Forked 481 -(481) found -[4899] Forked 482 -(482) found -[4898] Forked 483 -(483) found -[4897] Forked 484 -(484) found -[4896] Forked 485 -(485) found -[4895] Forked 486 -(486) found -[4894] Forked 487 -(487) found -[4893] Forked 488 -(488) found -[4892] Forked 489 -(489) found -[4891] Forked 490 -(490) found -[4890] Forked 491 -(491) found -[4889] Forked 492 -(492) found -[4888] Forked 493 -(493) found -[4887] Forked 494 -(494) found -[4886] Forked 495 -(495) found -[4885] Forked 496 -(496) found -[4884] Forked 497 -(497) found -[4883] Forked 498 -(498) found -[4882] Forked 499 -(499) found -[4881] Forked 500 -(500) found -[4880] Forked 501 -(501) found -[4879] Forked 502 -(502) found -[4878] Forked 503 -(503) found -[4877] Forked 504 -(504) found -[4876] Forked 505 -(505) found -[4875] Forked 506 -(506) found -[4874] Forked 507 -(507) found -[4873] Forked 508 -(508) found -[4872] Forked 509 -(509) found -[4871] Forked 510 -(510) found -[4870] Forked 511 -(511) found -[4869] Forked 512 -(512) found -[4868] Forked 513 -(513) found -[4867] Forked 514 -(514) found -[4866] Forked 515 -(515) found -[4865] Forked 516 -(516) found -[4864] Forked 517 -(517) found -[4863] Forked 518 -(518) found -[4862] Forked 519 -[4861] Forked 520 -(519) found -(520) found -[4860] Forked 521 -[4859] Forked 522 -(521) found -(522) found -[4858] Forked 523 -[4857] Forked 524 -(523) found -(524) found -[4856] Forked 525 -[4855] Forked 526 -(525) found -(526) found -[4854] Forked 527 -[4853] Forked 528 -(527) found -(528) found -[4852] Forked 529 -[4851] Forked 530 -(529) found -(530) found -[4850] Forked 531 -[4849] Forked 532 -(531) found -(532) found -[4848] Forked 533 -[4847] Forked 534 -(533) found -(534) found -[4846] Forked 535 -[4845] Forked 536 -(535) found -(536) found -[4844] Forked 537 -[4843] Forked 538 -(537) found -(538) found -[4842] Forked 539 -[4841] Forked 540 -(539) found -(540) found -[4840] Forked 541 -[4839] Forked 542 -(541) found -(542) found -[4838] Forked 543 -[4837] Forked 544 -(543) found -(544) found -[4836] Forked 545 -[4835] Forked 546 -(545) found -(546) found -[4834] Forked 547 -[4833] Forked 548 -(547) found -(548) found -[4832] Forked 549 -[4831] Forked 550 -(549) found -(550) found -[4830] Forked 551 -[4829] Forked 552 -(551) found -(552) found -[4828] Forked 553 -[4827] Forked 554 -(553) found -(554) found -[4826] Forked 555 -[4825] Forked 556 -(555) found -(556) found -[4824] Forked 557 -[4823] Forked 558 -(557) found -(558) found -[4822] Forked 559 -[4821] Forked 560 -(559) found -(560) found -[4820] Forked 561 -[4819] Forked 562 -(561) found -(562) found -[4818] Forked 563 -[4817] Forked 564 -(563) found -(564) found -[4816] Forked 565 -(565) found -[4815] Forked 566 -(566) found -[4814] Forked 567 -(567) found -[4813] Forked 568 -(568) found -[4812] Forked 569 -(569) found -[4811] Forked 570 -(570) found -[4810] Forked 571 -(571) found -[4809] Forked 572 -(572) found -[4808] Forked 573 -(573) found -[4807] Forked 574 -(574) found -[4806] Forked 575 -(575) found -[4805] Forked 576 -(576) found -[4804] Forked 577 -(577) found -[4803] Forked 578 -(578) found -[4802] Forked 579 -(579) found -[4801] Forked 580 -(580) found -[4800] Forked 581 -(581) found -[4799] Forked 582 -(582) found -[4798] Forked 583 -(583) found -[4797] Forked 584 -(584) found -[4796] Forked 585 -(585) found -[4795] Forked 586 -(586) found -[4794] Forked 587 -(587) found -[4793] Forked 588 -(588) found -[4792] Forked 589 -(589) found -[4791] Forked 590 -(590) found -[4790] Forked 591 -(591) found -[4789] Forked 592 -(592) found -[4788] Forked 593 -(593) found -[4787] Forked 594 -(594) found -[4786] Forked 595 -(595) found -[4785] Forked 596 -(596) found -[4784] Forked 597 -(597) found -[4783] Forked 598 -(598) found -[4782] Forked 599 -(599) found -[4781] Forked 600 -[4780] Forked 601 -(600) found -(601) found -[4779] Forked 602 -[4778] Forked 603 -(602) found -(603) found -[4777] Forked 604 -[4776] Forked 606 -(604) found -(606) found -[4775] Forked 607 -[4774] Forked 609 -(607) found -(609) found -[4773] Forked 610 -[4772] Forked 612 -(610) found -(612) found -[4771] Forked 613 -[4770] Forked 615 -(613) found -(615) found -[4769] Forked 616 -[4768] Forked 617 -(616) found -(617) found -[4767] Forked 618 -[4766] Forked 619 -(618) found -(619) found -[4765] Forked 620 -[4764] Forked 621 -(620) found -(621) found -[4763] Forked 622 -[4762] Forked 623 -(622) found -(623) found -[4761] Forked 624 -[4760] Forked 625 -(624) found -(625) found -[4759] Forked 626 -[4758] Forked 627 -(626) found -(627) found -[4757] Forked 628 -[4756] Forked 629 -(628) found -(629) found -[4755] Forked 630 -[4754] Forked 631 -(630) found -(631) found -[4753] Forked 632 -[4752] Forked 633 -(632) found -(633) found -[4751] Forked 634 -[4750] Forked 635 -(634) found -(635) found -[4749] Forked 636 -[4748] Forked 637 -(636) found -(637) found -[4747] Forked 638 -[4746] Forked 639 -(638) found -(639) found -[4745] Forked 640 -[4744] Forked 641 -(640) found -(641) found -[4743] Forked 642 -[4742] Forked 643 -(642) found -(643) found -[4741] Forked 644 -[4740] Forked 646 -(644) found -(646) found -[4739] Forked 647 -(647) found -[4738] Forked 648 -(648) found -[4737] Forked 649 -(649) found -[4736] Forked 650 -(650) found -[4735] Forked 651 -(651) found -[4734] Forked 652 -(652) found -[4733] Forked 653 -(653) found -[4732] Forked 654 -(654) found -[4731] Forked 655 -(655) found -[4730] Forked 656 -(656) found -[4729] Forked 657 -(657) found -[4728] Forked 658 -(658) found -[4727] Forked 659 -(659) found -[4726] Forked 660 -(660) found -[4725] Forked 661 -(661) found -[4724] Forked 662 -(662) found -[4723] Forked 663 -(663) found -[4722] Forked 664 -(664) found -[4721] Forked 665 -(665) found -[4720] Forked 666 -(666) found -[4719] Forked 667 -(667) found -[4718] Forked 668 -(668) found -[4717] Forked 669 -(669) found -[4716] Forked 670 -(670) found -[4715] Forked 671 -(671) found -[4714] Forked 672 -(672) found -[4713] Forked 673 -(673) found -[4712] Forked 674 -(674) found -[4711] Forked 675 -(675) found -[4710] Forked 677 -(677) found -[4709] Forked 678 -(678) found -[4708] Forked 679 -(679) found -[4707] Forked 680 -(680) found -[4706] Forked 681 -(681) found -[4705] Forked 682 -(682) found -[4704] Forked 683 -(683) found -[4703] Forked 684 -(684) found -[4702] Forked 685 -(685) found -[4701] Forked 686 -[4700] Forked 687 -(686) found -(687) found -[4699] Forked 688 -[4698] Forked 689 -(688) found -(689) found -[4697] Forked 690 -[4696] Forked 691 -(691) found -(690) found -[4695] Forked 692 -(692) found -[4694] Forked 693 -(693) found -[4693] Forked 694 -(694) found -[4692] Forked 695 -(695) found -[4691] Forked 696 -(696) found -[4690] Forked 697 -(697) found -[4689] Forked 698 -(698) found -[4688] Forked 699 -(699) found -[4687] Forked 700 -(700) found -[4686] Forked 701 -(701) found -[4685] Forked 702 -(702) found -[4684] Forked 703 -(703) found -[4683] Forked 704 -(704) found -[4682] Forked 705 -(705) found -[4681] Forked 706 -(706) found -[4680] Forked 707 -(707) found -[4679] Forked 708 -(708) found -[4678] Forked 709 -(709) found -[4677] Forked 710 -(710) found -[4676] Forked 711 -(711) found -[4675] Forked 712 -(712) found -[4674] Forked 713 -(713) found -[4673] Forked 714 -(714) found -[4672] Forked 715 -(715) found -[4671] Forked 716 -(716) found -[4670] Forked 717 -(717) found -[4669] Forked 718 -(718) found -[4668] Forked 719 -(719) found -[4667] Forked 720 -(720) found -[4666] Forked 721 -(721) found -[4665] Forked 722 -(722) found -[4664] Forked 723 -(723) found -[4663] Forked 724 -(724) found -[4662] Forked 725 -(725) found -[4661] Forked 726 -(726) found -[4660] Forked 727 -(727) found -[4659] Forked 728 -(728) found -[4658] Forked 729 -(729) found -[4657] Forked 730 -(730) found -[4656] Forked 731 -(731) found -[4655] Forked 732 -(732) found -[4654] Forked 734 -(734) found -[4653] Forked 735 -(735) found -[4652] Forked 737 -(737) found -[4651] Forked 740 -(740) found -[4650] Forked 742 -(742) found -[4649] Forked 744 -(744) found -[4648] Forked 745 -(745) found -[4647] Forked 746 -(746) found -[4646] Forked 747 -(747) found -[4645] Forked 748 -(748) found -[4644] Forked 749 -(749) found -[4643] Forked 750 -(750) found -[4642] Forked 751 -(751) found -[4641] Forked 752 -(752) found -[4640] Forked 753 -(753) found -[4639] Forked 754 -(754) found -[4638] Forked 755 -(755) found -[4637] Forked 756 -(756) found -[4636] Forked 757 -(757) found -[4635] Forked 758 -(758) found -[4634] Forked 759 -(759) found -[4633] Forked 760 -(760) found -[4632] Forked 761 -(761) found -[4631] Forked 762 -(762) found -[4630] Forked 763 -(763) found -[4629] Forked 764 -(764) found -[4628] Forked 765 -(765) found -[4627] Forked 766 -(766) found -[4626] Forked 767 -(767) found -[4625] Forked 768 -(768) found -[4624] Forked 769 -(769) found -[4623] Forked 770 -(770) found -[4622] Forked 771 -(771) found -[4621] Forked 772 -(772) found -[4620] Forked 773 -(773) found -[4619] Forked 774 -(774) found -[4618] Forked 775 -(775) found -[4617] Forked 776 -(776) found -[4616] Forked 777 -(777) found -[4615] Forked 778 -(778) found -[4614] Forked 780 -(780) found -[4613] Forked 781 -(781) found -[4612] Forked 782 -(782) found -[4611] Forked 783 -(783) found -[4610] Forked 784 -(784) found -[4609] Forked 785 -(785) found -[4608] Forked 786 -(786) found -[4607] Forked 787 -(787) found -[4606] Forked 788 -(788) found -[4605] Forked 789 -(789) found -[4604] Forked 790 -(790) found -[4603] Forked 791 -(791) found -[4602] Forked 792 -(792) found -[4601] Forked 793 -(793) found -[4600] Forked 794 -[4599] Forked 795 -(794) found -(795) found -[4598] Forked 796 -[4597] Forked 797 -(796) found -(797) found -[4596] Forked 798 -[4595] Forked 799 -(798) found -(799) found -[4594] Forked 800 -[4593] Forked 801 -(800) found -(801) found -[4592] Forked 802 -[4591] Forked 803 -(802) found -(803) found -[4590] Forked 804 -[4589] Forked 805 -(804) found -(805) found -[4588] Forked 806 -[4587] Forked 807 -(806) found -(807) found -[4586] Forked 808 -[4585] Forked 809 -(808) found -(809) found -[4584] Forked 810 -[4583] Forked 811 -(810) found -(811) found -[4582] Forked 812 -[4581] Forked 813 -(812) found -(813) found -[4580] Forked 814 -[4579] Forked 815 -(814) found -(815) found -[4578] Forked 816 -[4577] Forked 817 -(816) found -(817) found -[4576] Forked 818 -[4575] Forked 819 -(818) found -(819) found -[4574] Forked 820 -[4573] Forked 821 -(820) found -(821) found -[4572] Forked 822 -[4571] Forked 823 -(822) found -(823) found -[4570] Forked 824 -[4569] Forked 825 -(824) found -(825) found -[4568] Forked 826 -[4567] Forked 827 -(826) found -(827) found -[4566] Forked 828 -[4565] Forked 829 -(828) found -(829) found -[4564] Forked 830 -[4563] Forked 831 -(830) found -(831) found -[4562] Forked 832 -(832) found -[4561] Forked 833 -[4560] Forked 834 -(833) found -(834) found -[4559] Forked 835 -[4558] Forked 836 -(835) found -(836) found -[4557] Forked 837 -[4556] Forked 838 -(837) found -(838) found -[4555] Forked 839 -[4554] Forked 840 -(839) found -(840) found -[4553] Forked 841 -[4552] Forked 842 -(841) found -(842) found -[4551] Forked 843 -[4550] Forked 844 -(843) found -(844) found -[4549] Forked 845 -[4548] Forked 847 -(845) found -(847) found -[4547] Forked 848 -[4546] Forked 849 -(848) found -(849) found -[4545] Forked 850 -[4544] Forked 851 -(850) found -(851) found -[4543] Forked 852 -[4542] Forked 853 -(852) found -(853) found -[4541] Forked 854 -[4540] Forked 855 -(854) found -(855) found -[4539] Forked 856 -[4538] Forked 857 -(856) found -(857) found -[4537] Forked 858 -(858) found -[4536] Forked 859 -[4535] Forked 860 -(859) found -(860) found -[4534] Forked 861 -[4533] Forked 862 -(861) found -(862) found -[4532] Forked 863 -[4531] Forked 864 -(863) found -(864) found -[4530] Forked 865 -[4529] Forked 866 -(865) found -(866) found -[4528] Forked 867 -[4527] Forked 868 -(867) found -(868) found -[4526] Forked 869 -[4525] Forked 870 -(869) found -(870) found -[4524] Forked 871 -[4523] Forked 872 -(871) found -(872) found -[4522] Forked 873 -[4521] Forked 874 -(873) found -(874) found -[4520] Forked 875 -[4519] Forked 876 -(875) found -(876) found -[4518] Forked 877 -[4517] Forked 879 -(877) found -(879) found -[4516] Forked 880 -(880) found -[4515] Forked 881 -(881) found -[4514] Forked 882 -(882) found -[4513] Forked 883 -(883) found -[4512] Forked 884 -(884) found -[4511] Forked 885 -(885) found -[4510] Forked 886 -(886) found -[4509] Forked 887 -(887) found -[4508] Forked 888 -(888) found -[4507] Forked 889 -(889) found -[4506] Forked 890 -(890) found -[4505] Forked 891 -(891) found -[4504] Forked 892 -(892) found -[4503] Forked 893 -(893) found -[4502] Forked 894 -(894) found -[4501] Forked 895 -(895) found -[4500] Forked 896 -(896) found -[4499] Forked 897 -(897) found -[4498] Forked 898 -(898) found -[4497] Forked 899 -(899) found -[4496] Forked 900 -(900) found -[4495] Forked 901 -(901) found -[4494] Forked 902 -(902) found -[4493] Forked 903 -(903) found -[4492] Forked 904 -(904) found -[4491] Forked 905 -(905) found -[4490] Forked 906 -(906) found -[4489] Forked 907 -(907) found -[4488] Forked 908 -(908) found -[4487] Forked 909 -(909) found -[4486] Forked 910 -(910) found -[4485] Forked 911 -(911) found -[4484] Forked 912 -(912) found -[4483] Forked 913 -(913) found -[4482] Forked 914 -(914) found -[4481] Forked 915 -(915) found -[4480] Forked 916 -(916) found -[4479] Forked 917 -(917) found -[4478] Forked 918 -[4477] Forked 919 -(918) found -(919) found -[4476] Forked 920 -[4475] Forked 921 -(920) found -(921) found -[4474] Forked 922 -[4473] Forked 923 -(922) found -(923) found -[4472] Forked 924 -[4471] Forked 925 -(924) found -(925) found -[4470] Forked 926 -[4469] Forked 927 -(926) found -(927) found -[4468] Forked 941 -[4467] Forked 942 -(941) found -(942) found -[4466] Forked 943 -[4465] Forked 944 -(943) found -(944) found -[4464] Forked 945 -[4463] Forked 946 -(945) found -(946) found -[4462] Forked 947 -[4461] Forked 950 -(947) found -(950) found -[4460] Forked 951 -[4459] Forked 952 -(951) found -(952) found -[4458] Forked 953 -[4457] Forked 954 -(953) found -(954) found -[4456] Forked 955 -[4455] Forked 956 -(955) found -(956) found -[4454] Forked 957 -[4453] Forked 958 -(957) found -(958) found -[4452] Forked 959 -[4451] Forked 960 -(959) found -(960) found -[4450] Forked 961 -[4449] Forked 962 -(961) found -(962) found -[4448] Forked 963 -[4447] Forked 964 -(963) found -(964) found -[4446] Forked 965 -[4445] Forked 966 -(965) found -(966) found -[4444] Forked 967 -[4443] Forked 968 -(967) found -(968) found -[4442] Forked 969 -[4441] Forked 970 -(969) found -(970) found -[4440] Forked 971 -[4439] Forked 972 -(971) found -(972) found -[4438] Forked 973 -[4437] Forked 974 -(973) found -(974) found -[4436] Forked 975 -[4435] Forked 976 -(975) found -(976) found -[4434] Forked 977 -[4433] Forked 978 -(977) found -(978) found -[4432] Forked 979 -(979) found -[4431] Forked 980 -(980) found -[4430] Forked 981 -(981) found -[4429] Forked 982 -(982) found -[4428] Forked 983 -(983) found -[4427] Forked 984 -(984) found -[4426] Forked 985 -(985) found -[4425] Forked 986 -(986) found -[4424] Forked 987 -(987) found -[4423] Forked 988 -(988) found -[4422] Forked 989 -(989) found -[4421] Forked 990 -(990) found -[4420] Forked 991 -(991) found -[4419] Forked 992 -(992) found -[4418] Forked 993 -(993) found -[4417] Forked 994 -(994) found -[4416] Forked 995 -(995) found -[4415] Forked 996 -(996) found -[4414] Forked 997 -(997) found -[4413] Forked 998 -(998) found -[4412] Forked 999 -(999) found -[4411] Forked 1000 -(1000) found -[4410] Forked 1001 -(1001) found -[4409] Forked 1002 -(1002) found -[4408] Forked 1003 -(1003) found -[4407] Forked 1004 -(1004) found -[4406] Forked 1005 -(1005) found -[4405] Forked 1006 -(1006) found -[4404] Forked 1007 -(1007) found -[4403] Forked 1008 -(1008) found -[4402] Forked 1009 -(1009) found -[4401] Forked 1010 -(1010) found -[4400] Forked 1011 -(1011) found -[4399] Forked 1012 -(1012) found -[4398] Forked 1013 -(1013) found -[4397] Forked 1014 -(1014) found -[4396] Forked 1015 -(1015) found -[4395] Forked 1016 -[4394] Forked 1017 -(1016) found -(1017) found -[4393] Forked 1018 -[4392] Forked 1019 -(1018) found -(1019) found -[4391] Forked 1020 -[4390] Forked 1021 -(1020) found -(1021) found -[4389] Forked 1022 -[4388] Forked 1023 -(1022) found -(1023) found -[4387] Forked 1024 -[4386] Forked 1025 -(1024) found -(1025) found -[4385] Forked 1026 -[4384] Forked 1027 -(1026) found -(1027) found -[4383] Forked 1028 -[4382] Forked 1029 -(1028) found -(1029) found -[4381] Forked 1030 -[4380] Forked 1031 -(1030) found -(1031) found -[4379] Forked 1032 -[4378] Forked 1033 -(1032) found -(1033) found -[4377] Forked 1034 -[4376] Forked 1035 -(1034) found -(1035) found -[4375] Forked 1036 -[4374] Forked 1037 -(1036) found -(1037) found -[4373] Forked 1038 -[4372] Forked 1039 -(1038) found -(1039) found -[4371] Forked 1040 -[4370] Forked 1041 -(1040) found -(1041) found -[4369] Forked 1042 -[4368] Forked 1043 -(1042) found -(1043) found -[4367] Forked 1044 -[4366] Forked 1045 -(1044) found -(1045) found -[4365] Forked 1046 -[4364] Forked 1047 -(1046) found -(1047) found -[4363] Forked 1048 -[4362] Forked 1049 -(1048) found -(1049) found -[4361] Forked 1050 -[4360] Forked 1051 -(1050) found -(1051) found -[4359] Forked 1052 -[4358] Forked 1053 -(1052) found -(1053) found -[4357] Forked 1054 -[4356] Forked 1055 -(1054) found -(1055) found -[4355] Forked 1056 -[4354] Forked 1057 -(1056) found -(1057) found -[4353] Forked 1058 -[4352] Forked 1059 -(1058) found -(1059) found -[4351] Forked 1060 -[4350] Forked 1061 -(1060) found -(1061) found -[4349] Forked 1062 -(1062) found -[4348] Forked 1063 -(1063) found -[4347] Forked 1064 -(1064) found -[4346] Forked 1065 -(1065) found -[4345] Forked 1066 -(1066) found -[4344] Forked 1067 -(1067) found -[4343] Forked 1068 -(1068) found -[4342] Forked 1069 -(1069) found -[4341] Forked 1070 -(1070) found -[4340] Forked 1071 -(1071) found -[4339] Forked 1072 -(1072) found -[4338] Forked 1073 -(1073) found -[4337] Forked 1074 -(1074) found -[4336] Forked 1075 -(1075) found -[4335] Forked 1076 -(1076) found -[4334] Forked 1077 -(1077) found -[4333] Forked 1078 -(1078) found -[4332] Forked 1079 -(1079) found -[4331] Forked 1080 -(1080) found -[4330] Forked 1081 -(1081) found -[4329] Forked 1082 -(1082) found -[4328] Forked 1083 -(1083) found -[4327] Forked 1084 -(1084) found -[4326] Forked 1085 -(1085) found -[4325] Forked 1086 -(1086) found -[4324] Forked 1087 -(1087) found -[4323] Forked 1088 -(1088) found -[4322] Forked 1089 -(1089) found -[4321] Forked 1090 -(1090) found -[4320] Forked 1091 -(1091) found -[4319] Forked 1092 -(1092) found -[4318] Forked 1093 -(1093) found -[4317] Forked 1094 -(1094) found -[4316] Forked 1095 -(1095) found -[4315] Forked 1096 -(1096) found -[4314] Forked 1097 -(1097) found -[4313] Forked 1098 -[4312] Forked 1099 -(1098) found -(1099) found -[4311] Forked 1100 -[4310] Forked 1101 -(1100) found -(1101) found -[4309] Forked 1102 -[4308] Forked 1103 -(1102) found -(1103) found -[4307] Forked 1104 -[4306] Forked 1106 -(1104) found -(1106) found -[4305] Forked 1108 -[4304] Forked 1109 -(1108) found -(1109) found -[4303] Forked 1111 -[4302] Forked 1113 -(1111) found -(1113) found -[4301] Forked 1114 -[4300] Forked 1115 -(1114) found -(1115) found -[4299] Forked 1116 -[4298] Forked 1117 -(1116) found -(1117) found -[4297] Forked 1118 -[4296] Forked 1119 -(1118) found -(1119) found -[4295] Forked 1120 -[4294] Forked 1121 -(1120) found -(1121) found -[4293] Forked 1122 -[4292] Forked 1123 -(1122) found -(1123) found -[4291] Forked 1124 -[4290] Forked 1125 -(1124) found -(1125) found -[4289] Forked 1126 -[4288] Forked 1127 -(1126) found -(1127) found -[4287] Forked 1128 -[4286] Forked 1129 -(1128) found -(1129) found -[4285] Forked 1130 -[4284] Forked 1131 -(1130) found -(1131) found -[4283] Forked 1132 -[4282] Forked 1133 -(1132) found -(1133) found -[4281] Forked 1134 -[4280] Forked 1135 -(1134) found -(1135) found -[4279] Forked 1136 -[4278] Forked 1137 -(1136) found -(1137) found -[4277] Forked 1138 -[4276] Forked 1139 -(1138) found -(1139) found -[4275] Forked 1140 -[4274] Forked 1141 -(1141) found -(1140) found -[4273] Forked 1142 -(1142) found -[4272] Forked 1143 -(1143) found -[4271] Forked 1144 -(1144) found -[4270] Forked 1145 -(1145) found -[4269] Forked 1146 -(1146) found -[4268] Forked 1147 -(1147) found -[4267] Forked 1148 -(1148) found -[4266] Forked 1149 -(1149) found -[4265] Forked 1150 -(1150) found -[4264] Forked 1151 -(1151) found -[4263] Forked 1152 -(1152) found -[4262] Forked 1153 -(1153) found -[4261] Forked 1154 -(1154) found -[4260] Forked 1155 -(1155) found -[4259] Forked 1156 -(1156) found -[4258] Forked 1157 -(1157) found -[4257] Forked 1158 -(1158) found -[4256] Forked 1159 -(1159) found -[4255] Forked 1160 -(1160) found -[4254] Forked 1161 -(1161) found -[4253] Forked 1162 -(1162) found -[4252] Forked 1163 -(1163) found -[4251] Forked 1164 -(1164) found -[4250] Forked 1165 -(1165) found -[4249] Forked 1166 -(1166) found -[4248] Forked 1167 -(1167) found -[4247] Forked 1168 -(1168) found -[4246] Forked 1169 -(1169) found -[4245] Forked 1170 -(1170) found -[4244] Forked 1171 -(1171) found -[4243] Forked 1172 -(1172) found -[4242] Forked 1173 -(1173) found -[4241] Forked 1174 -(1174) found -[4240] Forked 1175 -(1175) found -[4239] Forked 1176 -(1176) found -[4238] Forked 1177 -(1177) found -[4237] Forked 1178 -(1178) found -[4236] Forked 1179 -(1179) found -[4235] Forked 1180 -[4234] Forked 1181 -(1180) found -(1181) found -[4233] Forked 1182 -[4232] Forked 1183 -(1182) found -(1183) found -[4231] Forked 1184 -[4230] Forked 1185 -(1184) found -(1185) found -[4229] Forked 1186 -[4228] Forked 1188 -(1186) found -(1188) found -[4227] Forked 1190 -(1190) found -[4226] Forked 1191 -(1191) found -[4225] Forked 1192 -(1192) found -[4224] Forked 1193 -(1193) found -[4223] Forked 1194 -(1194) found -[4222] Forked 1195 -(1195) found -[4221] Forked 1196 -(1196) found -[4220] Forked 1197 -(1197) found -[4219] Forked 1198 -(1198) found -[4218] Forked 1199 -(1199) found -[4217] Forked 1200 -(1200) found -[4216] Forked 1201 -(1201) found -[4215] Forked 1202 -(1202) found -[4214] Forked 1203 -(1203) found -[4213] Forked 1204 -(1204) found -[4212] Forked 1205 -(1205) found -[4211] Forked 1206 -(1206) found -[4210] Forked 1207 -(1207) found -[4209] Forked 1208 -(1208) found -[4208] Forked 1209 -(1209) found -[4207] Forked 1210 -(1210) found -[4206] Forked 1211 -(1211) found -[4205] Forked 1212 -(1212) found -[4204] Forked 1213 -(1213) found -[4203] Forked 1214 -(1214) found -[4202] Forked 1215 -(1215) found -[4201] Forked 1216 -(1216) found -[4200] Forked 1217 -(1217) found -[4199] Forked 1218 -(1218) found -[4198] Forked 1219 -(1219) found -[4197] Forked 1220 -(1220) found -[4196] Forked 1221 -(1221) found -[4195] Forked 1222 -(1222) found -[4194] Forked 1223 -(1223) found -[4193] Forked 1224 -(1224) found -[4192] Forked 1225 -(1225) found -[4191] Forked 1226 -(1226) found -[4190] Forked 1227 -(1227) found -[4189] Forked 1228 -(1228) found -[4188] Forked 1229 -(1229) found -[4187] Forked 1230 -(1230) found -[4186] Forked 1231 -(1231) found -[4185] Forked 1232 -(1232) found -[4184] Forked 1233 -(1233) found -[4183] Forked 1234 -(1234) found -[4182] Forked 1235 -(1235) found -[4181] Forked 1236 -(1236) found -[4180] Forked 1237 -(1237) found -[4179] Forked 1238 -(1238) found -[4178] Forked 1239 -(1239) found -[4177] Forked 1240 -(1240) found -[4176] Forked 1241 -(1241) found -[4175] Forked 1242 -(1242) found -[4174] Forked 1243 -(1243) found -[4173] Forked 1244 -(1244) found -[4172] Forked 1245 -(1245) found -[4171] Forked 1246 -(1246) found -[4170] Forked 1247 -(1247) found -[4169] Forked 1248 -(1248) found -[4168] Forked 1249 -(1249) found -[4167] Forked 1250 -(1250) found -[4166] Forked 1251 -(1251) found -[4165] Forked 1252 -[4164] Forked 1253 -(1252) found -(1253) found -[4163] Forked 1254 -[4162] Forked 1255 -(1254) found -(1255) found -[4161] Forked 1256 -[4160] Forked 1257 -(1256) found -(1257) found -[4159] Forked 1258 -[4158] Forked 1259 -(1258) found -(1259) found -[4157] Forked 1260 -[4156] Forked 1261 -(1260) found -(1261) found -[4155] Forked 1262 -[4154] Forked 1263 -(1262) found -(1263) found -[4153] Forked 1264 -[4152] Forked 1265 -(1264) found -(1265) found -[4151] Forked 1266 -[4150] Forked 1267 -(1266) found -(1267) found -[4149] Forked 1268 -[4148] Forked 1269 -(1268) found -(1269) found -[4147] Forked 1270 -[4146] Forked 1271 -(1270) found -(1271) found -[4145] Forked 1272 -[4144] Forked 1273 -(1272) found -(1273) found -[4143] Forked 1274 -[4142] Forked 1275 -(1274) found -(1275) found -[4141] Forked 1276 -[4140] Forked 1277 -(1276) found -(1277) found -[4139] Forked 1278 -[4138] Forked 1279 -(1278) found -(1279) found -[4137] Forked 1280 -[4136] Forked 1281 -(1280) found -(1281) found -[4135] Forked 1282 -[4134] Forked 1283 -(1282) found -(1283) found -[4133] Forked 1284 -[4132] Forked 1285 -(1284) found -(1285) found -[4131] Forked 1286 -[4130] Forked 1287 -(1286) found -(1287) found -[4129] Forked 1288 -[4128] Forked 1289 -(1288) found -(1289) found -[4127] Forked 1290 -[4126] Forked 1291 -(1290) found -(1291) found -[4125] Forked 1292 -[4124] Forked 1293 -(1292) found -(1293) found -[4123] Forked 1294 -[4122] Forked 1295 -(1294) found -(1295) found -[4121] Forked 1296 -[4120] Forked 1297 -(1296) found -(1297) found -[4119] Forked 1298 -[4118] Forked 1299 -(1298) found -(1299) found -[4117] Forked 1300 -[4116] Forked 1301 -(1300) found -(1301) found -[4115] Forked 1302 -[4114] Forked 1303 -(1302) found -(1303) found -[4113] Forked 1304 -[4112] Forked 1305 -(1304) found -(1305) found -[4111] Forked 1306 -[4110] Forked 1307 -(1306) found -(1307) found -[4109] Forked 1308 -[4108] Forked 1309 -(1308) found -(1309) found -[4107] Forked 1310 -[4106] Forked 1312 -(1310) found -(1312) found -[4105] Forked 1313 -[4104] Forked 1314 -(1314) found -(1313) found -[4103] Forked 1315 -(1315) found -[4102] Forked 1316 -(1316) found -[4101] Forked 1317 -(1317) found -[4100] Forked 1318 -(1318) found -[4099] Forked 1319 -(1319) found -[4098] Forked 1320 -(1320) found -[4097] Forked 1321 -(1321) found -[4096] Forked 1322 -(1322) found -[4095] Forked 1323 -(1323) found -[4094] Forked 1324 -(1324) found -[4093] Forked 1325 -(1325) found -[4092] Forked 1326 -(1326) found -[4091] Forked 1327 -(1327) found -[4090] Forked 1328 -(1328) found -[4089] Forked 1329 -(1329) found -[4088] Forked 1330 -(1330) found -[4087] Forked 1331 -(1331) found -[4086] Forked 1332 -(1332) found -[4085] Forked 1333 -(1333) found -[4084] Forked 1334 -(1334) found -[4083] Forked 1335 -(1335) found -[4082] Forked 1336 -(1336) found -[4081] Forked 1337 -(1337) found -[4080] Forked 1338 -(1338) found -[4079] Forked 1339 -(1339) found -[4078] Forked 1340 -(1340) found -[4077] Forked 1341 -(1341) found -[4076] Forked 1342 -(1342) found -[4075] Forked 1343 -(1343) found -[4074] Forked 1344 -(1344) found -[4073] Forked 1345 -(1345) found -[4072] Forked 1346 -(1346) found -[4071] Forked 1347 -(1347) found -[4070] Forked 1348 -(1348) found -[4069] Forked 1349 -(1349) found -[4068] Forked 1350 -(1350) found -[4067] Forked 1351 -(1351) found -[4066] Forked 1352 -(1352) found -[4065] Forked 1353 -(1353) found -[4064] Forked 1354 -(1354) found -[4063] Forked 1355 -(1355) found -[4062] Forked 1356 -(1356) found -[4061] Forked 1357 -(1357) found -[4060] Forked 1358 -(1358) found -[4059] Forked 1359 -(1359) found -[4058] Forked 1360 -(1360) found -[4057] Forked 1361 -(1361) found -[4056] Forked 1362 -(1362) found -[4055] Forked 1363 -(1363) found -[4054] Forked 1364 -(1364) found -[4053] Forked 1365 -(1365) found -[4052] Forked 1366 -(1366) found -[4051] Forked 1367 -(1367) found -[4050] Forked 1368 -(1368) found -[4049] Forked 1369 -(1369) found -[4048] Forked 1370 -(1370) found -[4047] Forked 1371 -(1371) found -[4046] Forked 1372 -(1372) found -[4045] Forked 1373 -[4044] Forked 1374 -(1373) found -(1374) found -[4043] Forked 1375 -[4042] Forked 1376 -(1375) found -(1376) found -[4041] Forked 1377 -[4040] Forked 1378 -(1377) found -(1378) found -[4039] Forked 1379 -[4038] Forked 1380 -(1379) found -(1380) found -[4037] Forked 1381 -[4036] Forked 1382 -(1381) found -(1382) found -[4035] Forked 1383 -[4034] Forked 1384 -(1383) found -(1384) found -[4033] Forked 1385 -[4032] Forked 1386 -(1385) found -(1386) found -[4031] Forked 1387 -[4030] Forked 1388 -(1387) found -(1388) found -[4029] Forked 1389 -[4028] Forked 1390 -(1389) found -(1390) found -[4027] Forked 1391 -[4026] Forked 1392 -(1391) found -(1392) found -[4025] Forked 1393 -[4024] Forked 1394 -(1393) found -(1394) found -[4023] Forked 1395 -[4022] Forked 1396 -(1395) found -(1396) found -[4021] Forked 1397 -[4020] Forked 1398 -(1397) found -(1398) found -[4019] Forked 1399 -[4018] Forked 1400 -(1399) found -(1400) found -[4017] Forked 1401 -[4016] Forked 1402 -(1401) found -(1402) found -[4015] Forked 1403 -[4014] Forked 1404 -(1403) found -(1404) found -[4013] Forked 1405 -[4012] Forked 1406 -(1405) found -(1406) found -[4011] Forked 1407 -[4010] Forked 1408 -(1407) found -(1408) found -[4009] Forked 1409 -[4008] Forked 1410 -(1409) found -(1410) found -[4007] Forked 1411 -[4006] Forked 1412 -(1411) found -(1412) found -[4005] Forked 1413 -[4004] Forked 1414 -(1413) found -(1414) found -[4003] Forked 1415 -[4002] Forked 1416 -(1415) found -(1416) found -[4001] Forked 1417 -[4000] Forked 1418 -(1417) found -(1418) found -[3999] Forked 1419 -[3998] Forked 1420 -(1419) found -(1420) found -[3997] Forked 1421 -[3996] Forked 1422 -(1421) found -(1422) found -[3995] Forked 1423 -[3994] Forked 1424 -(1423) found -(1424) found -[3993] Forked 1425 -[3992] Forked 1426 -(1425) found -(1426) found -[3991] Forked 1427 -[3990] Forked 1428 -(1427) found -(1428) found -[3989] Forked 1429 -[3988] Forked 1430 -(1429) found -(1430) found -[3987] Forked 1431 -[3986] Forked 1432 -(1431) found -(1432) found -[3985] Forked 1433 -[3984] Forked 1434 -(1433) found -(1434) found -[3983] Forked 1435 -[3982] Forked 1436 -(1435) found -(1436) found -[3981] Forked 1437 -[3980] Forked 1438 -(1437) found -(1438) found -[3979] Forked 1440 -[3978] Forked 1441 -(1440) found -(1441) found -[3977] Forked 1442 -[3976] Forked 1443 -(1442) found -(1443) found -[3975] Forked 1444 -[3974] Forked 1445 -(1444) found -(1445) found -[3973] Forked 1446 -[3972] Forked 1447 -(1446) found -(1447) found -[3971] Forked 1448 -[3970] Forked 1449 -(1448) found -(1449) found -[3969] Forked 1450 -[3968] Forked 1451 -(1450) found -(1451) found -[3967] Forked 1452 -[3966] Forked 1453 -(1452) found -(1453) found -[3965] Forked 1454 -[3964] Forked 1455 -(1454) found -(1455) found -[3963] Forked 1456 -[3962] Forked 1457 -(1456) found -(1457) found -[3961] Forked 1458 -[3960] Forked 1459 -(1458) found -(1459) found -[3959] Forked 1460 -[3958] Forked 1461 -(1460) found -(1461) found -[3957] Forked 1462 -[3956] Forked 1463 -(1462) found -(1463) found -[3955] Forked 1464 -[3954] Forked 1465 -(1464) found -(1465) found -[3953] Forked 1466 -(1466) found -[3952] Forked 1467 -(1467) found -[3951] Forked 1468 -(1468) found -[3950] Forked 1469 -(1469) found -[3949] Forked 1470 -(1470) found -[3948] Forked 1471 -(1471) found -[3947] Forked 1472 -(1472) found -[3946] Forked 1473 -(1473) found -[3945] Forked 1474 -(1474) found -[3944] Forked 1475 -(1475) found -[3943] Forked 1476 -(1476) found -[3942] Forked 1477 -(1477) found -[3941] Forked 1478 -(1478) found -[3940] Forked 1479 -(1479) found -[3939] Forked 1480 -(1480) found -[3938] Forked 1481 -(1481) found -[3937] Forked 1482 -(1482) found -[3936] Forked 1483 -(1483) found -[3935] Forked 1484 -(1484) found -[3934] Forked 1485 -(1485) found -[3933] Forked 1486 -(1486) found -[3932] Forked 1487 -(1487) found -[3931] Forked 1488 -(1488) found -[3930] Forked 1489 -(1489) found -[3929] Forked 1490 -(1490) found -[3928] Forked 1491 -(1491) found -[3927] Forked 1492 -(1492) found -[3926] Forked 1493 -(1493) found -[3925] Forked 1494 -(1494) found -[3924] Forked 1495 -(1495) found -[3923] Forked 1496 -(1496) found -[3922] Forked 1497 -(1497) found -[3921] Forked 1498 -(1498) found -[3920] Forked 1499 -(1499) found -[3919] Forked 1500 -(1500) found -[3918] Forked 1501 -[3917] Forked 1502 -(1501) found -(1502) found -[3916] Forked 1503 -[3915] Forked 1504 -(1503) found -(1504) found -[3914] Forked 1505 -[3913] Forked 1506 -(1505) found -(1506) found -[3912] Forked 1507 -[3911] Forked 1508 -(1507) found -(1508) found -[3910] Forked 1509 -[3909] Forked 1510 -(1509) found -(1510) found -[3908] Forked 1511 -[3907] Forked 1512 -(1511) found -(1512) found -[3906] Forked 1513 -[3905] Forked 1514 -(1513) found -(1514) found -[3904] Forked 1515 -[3903] Forked 1516 -(1515) found -(1516) found -[3902] Forked 1517 -[3901] Forked 1518 -(1517) found -(1518) found -[3900] Forked 1519 -[3899] Forked 1520 -(1519) found -(1520) found -[3898] Forked 1521 -[3897] Forked 1522 -(1521) found -(1522) found -[3896] Forked 1523 -[3895] Forked 1524 -(1523) found -(1524) found -[3894] Forked 1525 -[3893] Forked 1526 -(1525) found -(1526) found -[3892] Forked 1527 -[3891] Forked 1528 -(1527) found -(1528) found -[3890] Forked 1529 -[3889] Forked 1530 -(1529) found -(1530) found -[3888] Forked 1531 -[3887] Forked 1532 -(1531) found -(1532) found -[3886] Forked 1533 -[3885] Forked 1534 -(1533) found -(1534) found -[3884] Forked 1535 -[3883] Forked 1536 -(1535) found -(1536) found -[3882] Forked 1537 -[3881] Forked 1538 -(1537) found -(1538) found -[3880] Forked 1539 -[3879] Forked 1540 -(1539) found -(1540) found -[3878] Forked 1541 -[3877] Forked 1542 -(1541) found -(1542) found -[3876] Forked 1543 -[3875] Forked 1544 -(1543) found -(1544) found -[3874] Forked 1545 -[3873] Forked 1546 -(1545) found -(1546) found -[3872] Forked 1547 -(1547) found -[3871] Forked 1548 -(1548) found -[3870] Forked 1549 -(1549) found -[3869] Forked 1550 -(1550) found -[3868] Forked 1551 -(1551) found -[3867] Forked 1552 -(1552) found -[3866] Forked 1553 -(1553) found -[3865] Forked 1554 -(1554) found -[3864] Forked 1555 -(1555) found -[3863] Forked 1556 -(1556) found -[3862] Forked 1557 -(1557) found -[3861] Forked 1558 -(1558) found -[3860] Forked 1559 -(1559) found -[3859] Forked 1560 -(1560) found -[3858] Forked 1561 -(1561) found -[3857] Forked 1562 -(1562) found -[3856] Forked 1563 -(1563) found -[3855] Forked 1564 -(1564) found -[3854] Forked 1565 -(1565) found -[3853] Forked 1566 -(1566) found -[3852] Forked 1567 -(1567) found -[3851] Forked 1568 -(1568) found -[3850] Forked 1569 -(1569) found -[3849] Forked 1570 -(1570) found -[3848] Forked 1571 -(1571) found -[3847] Forked 1572 -(1572) found -[3846] Forked 1573 -(1573) found -[3845] Forked 1574 -(1574) found -[3844] Forked 1575 -(1575) found -[3843] Forked 1576 -(1576) found -[3842] Forked 1577 -(1577) found -[3841] Forked 1578 -(1578) found -[3840] Forked 1579 -(1579) found -[3839] Forked 1580 -(1580) found -[3838] Forked 1581 -[3837] Forked 1582 -(1581) found -(1582) found -[3836] Forked 1583 -[3835] Forked 1584 -(1583) found -(1584) found -[3834] Forked 1585 -[3833] Forked 1586 -(1585) found -(1586) found -[3832] Forked 1587 -[3831] Forked 1588 -(1587) found -(1588) found -[3830] Forked 1589 -[3829] Forked 1590 -(1589) found -(1590) found -[3828] Forked 1591 -[3827] Forked 1592 -(1591) found -(1592) found -[3826] Forked 1593 -[3825] Forked 1595 -(1593) found -(1595) found -[3824] Forked 1596 -[3823] Forked 1597 -(1596) found -(1597) found -[3822] Forked 1598 -[3821] Forked 1599 -(1598) found -(1599) found -[3820] Forked 1600 -[3819] Forked 1601 -(1600) found -(1601) found -[3818] Forked 1602 -[3817] Forked 1603 -(1602) found -(1603) found -[3816] Forked 1604 -[3815] Forked 1605 -(1604) found -(1605) found -[3814] Forked 1606 -[3813] Forked 1607 -(1606) found -(1607) found -[3812] Forked 1608 -[3811] Forked 1609 -(1608) found -(1609) found -[3810] Forked 1610 -[3809] Forked 1611 -(1610) found -(1611) found -[3808] Forked 1612 -[3807] Forked 1613 -(1612) found -(1613) found -[3806] Forked 1614 -[3805] Forked 1615 -(1614) found -(1615) found -[3804] Forked 1616 -[3803] Forked 1617 -(1616) found -(1617) found -[3802] Forked 1618 -[3801] Forked 1619 -(1618) found -(1619) found -[3800] Forked 1620 -[3799] Forked 1621 -(1620) found -(1621) found -[3798] Forked 1622 -[3797] Forked 1623 -(1622) found -(1623) found -[3796] Forked 1624 -[3795] Forked 1625 -(1624) found -(1625) found -[3794] Forked 1626 -[3793] Forked 1627 -(1626) found -(1627) found -[3792] Forked 1628 -(1628) found -[3791] Forked 1629 -(1629) found -[3790] Forked 1630 -(1630) found -[3789] Forked 1631 -(1631) found -[3788] Forked 1632 -(1632) found -[3787] Forked 1633 -(1633) found -[3786] Forked 1634 -(1634) found -[3785] Forked 1635 -(1635) found -[3784] Forked 1636 -(1636) found -[3783] Forked 1637 -(1637) found -[3782] Forked 1638 -(1638) found -[3781] Forked 1639 -(1639) found -[3780] Forked 1640 -(1640) found -[3779] Forked 1641 -(1641) found -[3778] Forked 1642 -(1642) found -[3777] Forked 1643 -(1643) found -[3776] Forked 1644 -(1644) found -[3775] Forked 1645 -(1645) found -[3774] Forked 1646 -(1646) found -[3773] Forked 1647 -(1647) found -[3772] Forked 1648 -(1648) found -[3771] Forked 1649 -(1649) found -[3770] Forked 1650 -(1650) found -[3769] Forked 1651 -(1651) found -[3768] Forked 1652 -(1652) found -[3767] Forked 1653 -(1653) found -[3766] Forked 1654 -(1654) found -[3765] Forked 1655 -(1655) found -[3764] Forked 1656 -(1656) found -[3763] Forked 1657 -(1657) found -[3762] Forked 1658 -(1658) found -[3761] Forked 1659 -(1659) found -[3760] Forked 1660 -(1660) found -[3759] Forked 1661 -(1661) found -[3758] Forked 1662 -(1662) found -[3757] Forked 1663 -[3756] Forked 1664 -(1663) found -(1664) found -[3755] Forked 1665 -[3754] Forked 1666 -(1665) found -(1666) found -[3753] Forked 1668 -[3752] Forked 1669 -(1668) found -(1669) found -[3751] Forked 1670 -[3750] Forked 1671 -(1670) found -(1671) found -[3749] Forked 1672 -[3748] Forked 1673 -(1672) found -(1673) found -[3747] Forked 1674 -[3746] Forked 1675 -(1674) found -(1675) found -[3745] Forked 1676 -[3744] Forked 1677 -(1676) found -(1677) found -[3743] Forked 1679 -[3742] Forked 1680 -(1679) found -(1680) found -[3741] Forked 1681 -[3740] Forked 1682 -(1681) found -(1682) found -[3739] Forked 1683 -[3738] Forked 1684 -(1683) found -(1684) found -[3737] Forked 1685 -[3736] Forked 1686 -(1685) found -(1686) found -[3735] Forked 1687 -[3734] Forked 1688 -(1687) found -(1688) found -[3733] Forked 1689 -[3732] Forked 1690 -(1689) found -(1690) found -[3731] Forked 1691 -[3730] Forked 1692 -(1691) found -(1692) found -[3729] Forked 1693 -[3728] Forked 1694 -(1693) found -(1694) found -[3727] Forked 1695 -[3726] Forked 1696 -(1695) found -(1696) found -[3725] Forked 1697 -[3724] Forked 1698 -(1697) found -(1698) found -[3723] Forked 1699 -[3722] Forked 1700 -(1699) found -(1700) found -[3721] Forked 1701 -[3720] Forked 1702 -(1701) found -(1702) found -[3719] Forked 1703 -[3718] Forked 1704 -(1703) found -(1704) found -[3717] Forked 1705 -[3716] Forked 1706 -(1705) found -(1706) found -[3715] Forked 1707 -[3714] Forked 1708 -(1707) found -(1708) found -[3713] Forked 1709 -[3712] Forked 1710 -(1709) found -(1710) found -[3711] Forked 1711 -(1711) found -[3710] Forked 1712 -(1712) found -[3709] Forked 1713 -(1713) found -[3708] Forked 1714 -(1714) found -[3707] Forked 1715 -(1715) found -[3706] Forked 1716 -(1716) found -[3705] Forked 1717 -(1717) found -[3704] Forked 1718 -(1718) found -[3703] Forked 1719 -(1719) found -[3702] Forked 1720 -(1720) found -[3701] Forked 1721 -(1721) found -[3700] Forked 1722 -(1722) found -[3699] Forked 1723 -(1723) found -[3698] Forked 1724 -(1724) found -[3697] Forked 1725 -(1725) found -[3696] Forked 1726 -(1726) found -[3695] Forked 1727 -(1727) found -[3694] Forked 1728 -(1728) found -[3693] Forked 1729 -(1729) found -[3692] Forked 1730 -(1730) found -[3691] Forked 1731 -(1731) found -[3690] Forked 1732 -(1732) found -[3689] Forked 1733 -(1733) found -[3688] Forked 1734 -(1734) found -[3687] Forked 1735 -(1735) found -[3686] Forked 1736 -(1736) found -[3685] Forked 1737 -(1737) found -[3684] Forked 1738 -(1738) found -[3683] Forked 1739 -(1739) found -[3682] Forked 1740 -(1740) found -[3681] Forked 1741 -(1741) found -[3680] Forked 1742 -(1742) found -[3679] Forked 1744 -(1744) found -[3678] Forked 1746 -(1746) found -[3677] Forked 1747 -(1747) found -[3676] Forked 1748 -[3675] Forked 1749 -(1748) found -(1749) found -[3674] Forked 1750 -[3673] Forked 1751 -(1750) found -(1751) found -[3672] Forked 1752 -[3671] Forked 1753 -(1752) found -(1753) found -[3670] Forked 1754 -[3669] Forked 1755 -(1754) found -(1755) found -[3668] Forked 1756 -[3667] Forked 1757 -(1756) found -(1757) found -[3666] Forked 1758 -[3665] Forked 1760 -(1758) found -(1760) found -[3664] Forked 1761 -[3663] Forked 1762 -(1761) found -(1762) found -[3662] Forked 1763 -[3661] Forked 1764 -(1763) found -(1764) found -[3660] Forked 1765 -[3659] Forked 1766 -(1765) found -(1766) found -[3658] Forked 1767 -[3657] Forked 1768 -(1767) found -(1768) found -[3656] Forked 1769 -[3655] Forked 1770 -(1769) found -(1770) found -[3654] Forked 1771 -[3653] Forked 1772 -(1771) found -(1772) found -[3652] Forked 1773 -[3651] Forked 1774 -(1773) found -(1774) found -[3650] Forked 1775 -[3649] Forked 1776 -(1775) found -(1776) found -[3648] Forked 1777 -[3647] Forked 1778 -(1777) found -(1778) found -[3646] Forked 1779 -[3645] Forked 1780 -(1779) found -(1780) found -[3644] Forked 1781 -[3643] Forked 1782 -(1781) found -(1782) found -[3642] Forked 1783 -[3641] Forked 1784 -(1783) found -(1784) found -[3640] Forked 1785 -[3639] Forked 1786 -(1785) found -(1786) found -[3638] Forked 1787 -[3637] Forked 1788 -(1787) found -(1788) found -[3636] Forked 1789 -[3635] Forked 1790 -(1789) found -(1790) found -[3634] Forked 1791 -[3633] Forked 1792 -(1791) found -(1792) found -[3632] Forked 1793 -[3631] Forked 1794 -(1793) found -(1794) found -[3630] Forked 1795 -[3629] Forked 1796 -(1795) found -(1796) found -[3628] Forked 1797 -[3627] Forked 1798 -(1797) found -(1798) found -[3626] Forked 1799 -[3625] Forked 1800 -(1799) found -(1800) found -[3624] Forked 1801 -[3623] Forked 1802 -(1801) found -(1802) found -[3622] Forked 1803 -[3621] Forked 1804 -(1803) found -(1804) found -[3620] Forked 1805 -[3619] Forked 1806 -(1805) found -(1806) found -[3618] Forked 1807 -[3617] Forked 1808 -(1807) found -(1808) found -[3616] Forked 1809 -[3615] Forked 1810 -(1809) found -(1810) found -[3614] Forked 1811 -[3613] Forked 1812 -(1811) found -(1812) found -[3612] Forked 1813 -[3611] Forked 1814 -(1813) found -(1814) found -[3610] Forked 1815 -(1815) found -[3609] Forked 1816 -[3608] Forked 1817 -(1816) found -(1817) found -[3607] Forked 1818 -[3606] Forked 1819 -(1818) found -(1819) found -[3605] Forked 1820 -[3604] Forked 1821 -(1820) found -(1821) found -[3603] Forked 1822 -[3602] Forked 1823 -(1822) found -(1823) found -[3601] Forked 1824 -[3600] Forked 1825 -(1824) found -(1825) found -[3599] Forked 1826 -[3598] Forked 1827 -(1826) found -(1827) found -[3597] Forked 1828 -[3596] Forked 1829 -(1828) found -(1829) found -[3595] Forked 1830 -[3594] Forked 1831 -(1830) found -(1831) found -[3593] Forked 1832 -[3592] Forked 1833 -(1832) found -(1833) found -[3591] Forked 1834 -[3590] Forked 1835 -(1834) found -(1835) found -[3589] Forked 1836 -[3588] Forked 1837 -(1836) found -(1837) found -[3587] Forked 1838 -(1838) found -[3586] Forked 1839 -(1839) found -[3585] Forked 1840 -(1840) found -[3584] Forked 1841 -(1841) found -[3583] Forked 1842 -(1842) found -[3582] Forked 1843 -(1843) found -[3581] Forked 1844 -(1844) found -[3580] Forked 1845 -(1845) found -[3579] Forked 1846 -(1846) found -[3578] Forked 1847 -(1847) found -[3577] Forked 1848 -(1848) found -[3576] Forked 1849 -(1849) found -[3575] Forked 1850 -(1850) found -[3574] Forked 1851 -(1851) found -[3573] Forked 1852 -(1852) found -[3572] Forked 1853 -(1853) found -[3571] Forked 1854 -(1854) found -[3570] Forked 1855 -(1855) found -[3569] Forked 1856 -(1856) found -[3568] Forked 1857 -(1857) found -[3567] Forked 1858 -(1858) found -[3566] Forked 1859 -(1859) found -[3565] Forked 1860 -(1860) found -[3564] Forked 1861 -(1861) found -[3563] Forked 1862 -(1862) found -[3562] Forked 1863 -(1863) found -[3561] Forked 1864 -(1864) found -[3560] Forked 1865 -(1865) found -[3559] Forked 1866 -(1866) found -[3558] Forked 1867 -(1867) found -[3557] Forked 1868 -(1868) found -[3556] Forked 1869 -(1869) found -[3555] Forked 1870 -(1870) found -[3554] Forked 1871 -(1871) found -[3553] Forked 1872 -(1872) found -[3552] Forked 1873 -(1873) found -[3551] Forked 1874 -(1874) found -[3550] Forked 1875 -(1875) found -[3549] Forked 1876 -(1876) found -[3548] Forked 1877 -[3547] Forked 1878 -(1877) found -(1878) found -[3546] Forked 1879 -[3545] Forked 1880 -(1879) found -(1880) found -[3544] Forked 1881 -[3543] Forked 1882 -(1881) found -(1882) found -[3542] Forked 1883 -[3541] Forked 1884 -(1883) found -(1884) found -[3540] Forked 1885 -[3539] Forked 1886 -(1885) found -(1886) found -[3538] Forked 1887 -[3537] Forked 1888 -(1887) found -(1888) found -[3536] Forked 1889 -[3535] Forked 1890 -(1889) found -(1890) found -[3534] Forked 1891 -[3533] Forked 1892 -(1891) found -(1892) found -[3532] Forked 1893 -[3531] Forked 1894 -(1893) found -(1894) found -[3530] Forked 1895 -[3529] Forked 1896 -(1896) found -(1895) found -[3528] Forked 1897 -(1897) found -[3527] Forked 1898 -(1898) found -[3526] Forked 1899 -(1899) found -[3525] Forked 1900 -(1900) found -[3524] Forked 1901 -(1901) found -[3523] Forked 1902 -(1902) found -[3522] Forked 1903 -(1903) found -[3521] Forked 1904 -(1904) found -[3520] Forked 1905 -(1905) found -[3519] Forked 1906 -(1906) found -[3518] Forked 1907 -(1907) found -[3517] Forked 1908 -(1908) found -[3516] Forked 1909 -(1909) found -[3515] Forked 1910 -(1910) found -[3514] Forked 1911 -(1911) found -[3513] Forked 1912 -(1912) found -[3512] Forked 1913 -(1913) found -[3511] Forked 1914 -(1914) found -[3510] Forked 1915 -(1915) found -[3509] Forked 1916 -(1916) found -[3508] Forked 1917 -(1917) found -[3507] Forked 1918 -(1918) found -[3506] Forked 1919 -(1919) found -[3505] Forked 1920 -(1920) found -[3504] Forked 1921 -(1921) found -[3503] Forked 1922 -(1922) found -[3502] Forked 1923 -(1923) found -[3501] Forked 1924 -(1924) found -[3500] Forked 1925 -(1925) found -[3499] Forked 1926 -(1926) found -[3498] Forked 1927 -(1927) found -[3497] Forked 1928 -(1928) found -[3496] Forked 1929 -(1929) found -[3495] Forked 1930 -(1930) found -[3494] Forked 1931 -(1931) found -[3493] Forked 1932 -(1932) found -[3492] Forked 1933 -(1933) found -[3491] Forked 1934 -(1934) found -[3490] Forked 1935 -(1935) found -[3489] Forked 1936 -(1936) found -[3488] Forked 1937 -(1937) found -[3487] Forked 1938 -(1938) found -[3486] Forked 1939 -(1939) found -[3485] Forked 1940 -(1940) found -[3484] Forked 1941 -(1941) found -[3483] Forked 1942 -(1942) found -[3482] Forked 1943 -(1943) found -[3481] Forked 1944 -(1944) found -[3480] Forked 1945 -(1945) found -[3479] Forked 1946 -(1946) found -[3478] Forked 1947 -(1947) found -[3477] Forked 1948 -(1948) found -[3476] Forked 1949 -(1949) found -[3475] Forked 1950 -[3474] Forked 1951 -(1950) found -(1951) found -[3473] Forked 1952 -[3472] Forked 1953 -(1952) found -(1953) found -[3471] Forked 1954 -[3470] Forked 1955 -(1954) found -(1955) found -[3469] Forked 1956 -[3468] Forked 1957 -(1956) found -(1957) found -[3467] Forked 1958 -[3466] Forked 1959 -(1958) found -(1959) found -[3465] Forked 1960 -[3464] Forked 1961 -(1960) found -(1961) found -[3463] Forked 1962 -[3462] Forked 1963 -(1962) found -(1963) found -[3461] Forked 1964 -[3460] Forked 1965 -(1964) found -(1965) found -[3459] Forked 1966 -[3458] Forked 1967 -(1966) found -(1967) found -[3457] Forked 1968 -[3456] Forked 1969 -(1968) found -(1969) found -[3455] Forked 1970 -[3454] Forked 1971 -(1970) found -(1971) found -[3453] Forked 1972 -[3452] Forked 1973 -(1972) found -(1973) found -[3451] Forked 1974 -[3450] Forked 1975 -(1974) found -(1975) found -[3449] Forked 1976 -[3448] Forked 1977 -(1976) found -(1977) found -[3447] Forked 1978 -[3446] Forked 1979 -(1978) found -(1979) found -[3445] Forked 1980 -[3444] Forked 1981 -(1980) found -(1981) found -[3443] Forked 1982 -[3442] Forked 1983 -(1982) found -(1983) found -[3441] Forked 1984 -[3440] Forked 1985 -(1984) found -(1985) found -[3439] Forked 1986 -[3438] Forked 1987 -(1986) found -(1987) found -[3437] Forked 1988 -(1988) found -[3436] Forked 1989 -[3435] Forked 1990 -(1989) found -(1990) found -[3434] Forked 1991 -[3433] Forked 1992 -(1991) found -(1992) found -[3432] Forked 1993 -(1993) found -[3431] Forked 1994 -(1994) found -[3430] Forked 1995 -(1995) found -[3429] Forked 1996 -(1996) found -[3428] Forked 1997 -(1997) found -[3427] Forked 1998 -(1998) found -[3426] Forked 1999 -(1999) found -[3425] Forked 2000 -(2000) found -[3424] Forked 2001 -(2001) found -[3423] Forked 2002 -(2002) found -[3422] Forked 2003 -(2003) found -[3421] Forked 2004 -(2004) found -[3420] Forked 2005 -(2005) found -[3419] Forked 2006 -(2006) found -[3418] Forked 2007 -(2007) found -[3417] Forked 2008 -(2008) found -[3416] Forked 2009 -(2009) found -[3415] Forked 2010 -(2010) found -[3414] Forked 2011 -(2011) found -[3413] Forked 2012 -(2012) found -[3412] Forked 2013 -(2013) found -[3411] Forked 2014 -(2014) found -[3410] Forked 2015 -(2015) found -[3409] Forked 2016 -(2016) found -[3408] Forked 2017 -(2017) found -[3407] Forked 2018 -(2018) found -[3406] Forked 2019 -(2019) found -[3405] Forked 2020 -(2020) found -[3404] Forked 2021 -(2021) found -[3403] Forked 2022 -(2022) found -[3402] Forked 2023 -(2023) found -[3401] Forked 2024 -(2024) found -[3400] Forked 2025 -(2025) found -[3399] Forked 2026 -(2026) found -[3398] Forked 2027 -(2027) found -[3397] Forked 2028 -(2028) found -[3396] Forked 2029 -(2029) found -[3395] Forked 2030 -(2030) found -[3394] Forked 2031 -[3393] Forked 2032 -(2031) found -(2032) found -[3392] Forked 2033 -[3391] Forked 2034 -(2033) found -(2034) found -[3390] Forked 2035 -[3389] Forked 2036 -(2035) found -(2036) found -[3388] Forked 2037 -[3387] Forked 2038 -(2037) found -(2038) found -[3386] Forked 2039 -[3385] Forked 2040 -(2039) found -(2040) found -[3384] Forked 2041 -[3383] Forked 2042 -(2041) found -(2042) found -[3382] Forked 2043 -[3381] Forked 2044 -(2043) found -(2044) found -[3380] Forked 2045 -[3379] Forked 2046 -(2045) found -(2046) found -[3378] Forked 2047 -[3377] Forked 2048 -(2047) found -(2048) found -[3376] Forked 2049 -[3375] Forked 2050 -(2049) found -(2050) found -[3374] Forked 2051 -[3373] Forked 2052 -(2051) found -(2052) found -[3372] Forked 2053 -[3371] Forked 2054 -(2053) found -(2054) found -[3370] Forked 2055 -[3369] Forked 2056 -(2055) found -(2056) found -[3368] Forked 2057 -[3367] Forked 2058 -(2057) found -(2058) found -[3366] Forked 2059 -[3365] Forked 2060 -(2059) found -(2060) found -[3364] Forked 2061 -[3363] Forked 2062 -(2061) found -(2062) found -[3362] Forked 2063 -[3361] Forked 2064 -(2064) found -(2063) found -[3360] Forked 2065 -(2065) found -[3359] Forked 2066 -(2066) found -[3358] Forked 2067 -(2067) found -[3357] Forked 2068 -(2068) found -[3356] Forked 2070 -(2070) found -[3355] Forked 2071 -(2071) found -[3354] Forked 2072 -(2072) found -[3353] Forked 2073 -(2073) found -[3352] Forked 2074 -(2074) found -[3351] Forked 2075 -(2075) found -[3350] Forked 2076 -(2076) found -[3349] Forked 2077 -(2077) found -[3348] Forked 2078 -(2078) found -[3347] Forked 2079 -(2079) found -[3346] Forked 2080 -(2080) found -[3345] Forked 2081 -(2081) found -[3344] Forked 2082 -(2082) found -[3343] Forked 2083 -(2083) found -[3342] Forked 2084 -(2084) found -[3341] Forked 2085 -(2085) found -[3340] Forked 2086 -(2086) found -[3339] Forked 2087 -(2087) found -[3338] Forked 2088 -(2088) found -[3337] Forked 2089 -(2089) found -[3336] Forked 2090 -(2090) found -[3335] Forked 2091 -(2091) found -[3334] Forked 2092 -(2092) found -[3333] Forked 2093 -(2093) found -[3332] Forked 2094 -(2094) found -[3331] Forked 2095 -(2095) found -[3330] Forked 2096 -(2096) found -[3329] Forked 2097 -(2097) found -[3328] Forked 2098 -(2098) found -[3327] Forked 2099 -(2099) found -[3326] Forked 2100 -(2100) found -[3325] Forked 2101 -(2101) found -[3324] Forked 2102 -(2102) found -[3323] Forked 2103 -(2103) found -[3322] Forked 2104 -(2104) found -[3321] Forked 2105 -(2105) found -[3320] Forked 2106 -(2106) found -[3319] Forked 2109 -(2109) found -[3318] Forked 2110 -(2110) found -[3317] Forked 2111 -(2111) found -[3316] Forked 2112 -[3315] Forked 2113 -(2112) found -(2113) found -[3314] Forked 2114 -[3313] Forked 2115 -(2114) found -(2115) found -[3312] Forked 2116 -[3311] Forked 2117 -(2116) found -(2117) found -[3310] Forked 2118 -[3309] Forked 2119 -(2118) found -(2119) found -[3308] Forked 2120 -[3307] Forked 2121 -(2120) found -(2121) found -[3306] Forked 2122 -[3305] Forked 2123 -(2122) found -(2123) found -[3304] Forked 2124 -[3303] Forked 2125 -(2124) found -(2125) found -[3302] Forked 2126 -[3301] Forked 2127 -(2126) found -(2127) found -[3300] Forked 2128 -[3299] Forked 2129 -(2128) found -(2129) found -[3298] Forked 2130 -[3297] Forked 2131 -(2130) found -(2131) found -[3296] Forked 2132 -[3295] Forked 2133 -(2132) found -(2133) found -[3294] Forked 2134 -[3293] Forked 2135 -(2134) found -(2135) found -[3292] Forked 2136 -[3291] Forked 2137 -(2136) found -(2137) found -[3290] Forked 2138 -[3289] Forked 2139 -(2138) found -(2139) found -[3288] Forked 2140 -[3287] Forked 2141 -(2140) found -(2141) found -[3286] Forked 2142 -[3285] Forked 2143 -(2142) found -(2143) found -[3284] Forked 2144 -[3283] Forked 2145 -(2144) found -(2145) found -[3282] Forked 2146 -[3281] Forked 2147 -(2146) found -(2147) found -[3280] Forked 2148 -[3279] Forked 2149 -(2148) found -(2149) found -[3278] Forked 2150 -[3277] Forked 2151 -(2150) found -(2151) found -[3276] Forked 2152 -[3275] Forked 2153 -(2152) found -(2153) found -[3274] Forked 2154 -(2154) found -[3273] Forked 2155 -(2155) found -[3272] Forked 2156 -(2156) found -[3271] Forked 2157 -(2157) found -[3270] Forked 2158 -(2158) found -[3269] Forked 2160 -(2160) found -[3268] Forked 2161 -(2161) found -[3267] Forked 2162 -(2162) found -[3266] Forked 2163 -(2163) found -[3265] Forked 2164 -(2164) found -[3264] Forked 2165 -(2165) found -[3263] Forked 2166 -(2166) found -[3262] Forked 2167 -(2167) found -[3261] Forked 2168 -(2168) found -[3260] Forked 2169 -(2169) found -[3259] Forked 2170 -(2170) found -[3258] Forked 2171 -(2171) found -[3257] Forked 2172 -(2172) found -[3256] Forked 2173 -(2173) found -[3255] Forked 2174 -(2174) found -[3254] Forked 2175 -(2175) found -[3253] Forked 2176 -(2176) found -[3252] Forked 2177 -(2177) found -[3251] Forked 2178 -(2178) found -[3250] Forked 2179 -(2179) found -[3249] Forked 2180 -(2180) found -[3248] Forked 2181 -(2181) found -[3247] Forked 2182 -(2182) found -[3246] Forked 2183 -(2183) found -[3245] Forked 2184 -(2184) found -[3244] Forked 2185 -(2185) found -[3243] Forked 2186 -(2186) found -[3242] Forked 2187 -(2187) found -[3241] Forked 2188 -(2188) found -[3240] Forked 2189 -(2189) found -[3239] Forked 2190 -(2190) found -[3238] Forked 2191 -(2191) found -[3237] Forked 2192 -(2192) found -[3236] Forked 2193 -[3235] Forked 2194 -(2193) found -(2194) found -[3234] Forked 2195 -[3233] Forked 2196 -(2195) found -(2196) found -[3232] Forked 2197 -[3231] Forked 2198 -(2197) found -(2198) found -[3230] Forked 2199 -[3229] Forked 2200 -(2199) found -(2200) found -[3228] Forked 2201 -[3227] Forked 2202 -(2201) found -(2202) found -[3226] Forked 2203 -[3225] Forked 2204 -(2203) found -(2204) found -[3224] Forked 2205 -[3223] Forked 2206 -(2205) found -(2206) found -[3222] Forked 2207 -[3221] Forked 2208 -(2207) found -(2208) found -[3220] Forked 2209 -[3219] Forked 2210 -(2209) found -(2210) found -[3218] Forked 2211 -[3217] Forked 2212 -(2211) found -(2212) found -[3216] Forked 2213 -[3215] Forked 2214 -(2213) found -(2214) found -[3214] Forked 2215 -[3213] Forked 2216 -(2215) found -(2216) found -[3212] Forked 2217 -[3211] Forked 2218 -(2217) found -(2218) found -[3210] Forked 2219 -[3209] Forked 2220 -(2219) found -(2220) found -[3208] Forked 2221 -[3207] Forked 2222 -(2221) found -(2222) found -[3206] Forked 2223 -[3205] Forked 2224 -(2223) found -(2224) found -[3204] Forked 2225 -[3203] Forked 2226 -(2225) found -(2226) found -[3202] Forked 2227 -[3201] Forked 2228 -(2227) found -(2228) found -[3200] Forked 2229 -[3199] Forked 2230 -(2229) found -(2230) found -[3198] Forked 2231 -[3197] Forked 2232 -(2231) found -(2232) found -[3196] Forked 2233 -[3195] Forked 2234 -(2234) found -(2233) found -[3194] Forked 2235 -(2235) found -[3193] Forked 2236 -(2236) found -[3192] Forked 2237 -(2237) found -[3191] Forked 2238 -(2238) found -[3190] Forked 2239 -(2239) found -[3189] Forked 2240 -(2240) found -[3188] Forked 2241 -(2241) found -[3187] Forked 2242 -(2242) found -[3186] Forked 2243 -(2243) found -[3185] Forked 2244 -(2244) found -[3184] Forked 2245 -(2245) found -[3183] Forked 2246 -(2246) found -[3182] Forked 2247 -(2247) found -[3181] Forked 2248 -(2248) found -[3180] Forked 2249 -(2249) found -[3179] Forked 2250 -(2250) found -[3178] Forked 2251 -(2251) found -[3177] Forked 2252 -(2252) found -[3176] Forked 2253 -(2253) found -[3175] Forked 2254 -(2254) found -[3174] Forked 2255 -(2255) found -[3173] Forked 2256 -(2256) found -[3172] Forked 2257 -(2257) found -[3171] Forked 2258 -(2258) found -[3170] Forked 2259 -(2259) found -[3169] Forked 2260 -(2260) found -[3168] Forked 2261 -(2261) found -[3167] Forked 2265 -(2265) found -[3166] Forked 2266 -(2266) found -[3165] Forked 2267 -(2267) found -[3164] Forked 2268 -(2268) found -[3163] Forked 2269 -(2269) found -[3162] Forked 2270 -(2270) found -[3161] Forked 2271 -(2271) found -[3160] Forked 2272 -(2272) found -[3159] Forked 2273 -(2273) found -[3158] Forked 2274 -(2274) found -[3157] Forked 2275 -(2275) found -[3156] Forked 2276 -[3155] Forked 2277 -(2276) found -(2277) found -[3154] Forked 2278 -[3153] Forked 2279 -(2278) found -(2279) found -[3152] Forked 2280 -[3151] Forked 2281 -(2280) found -(2281) found -[3150] Forked 2282 -[3149] Forked 2283 -(2282) found -(2283) found -[3148] Forked 2284 -[3147] Forked 2285 -(2284) found -(2285) found -[3146] Forked 2286 -[3145] Forked 2287 -(2286) found -(2287) found -[3144] Forked 2288 -[3143] Forked 2289 -(2288) found -(2289) found -[3142] Forked 2290 -[3141] Forked 2291 -(2290) found -(2291) found -[3140] Forked 2292 -[3139] Forked 2293 -(2292) found -(2293) found -[3138] Forked 2294 -[3137] Forked 2295 -(2294) found -(2295) found -[3136] Forked 2296 -[3135] Forked 2297 -(2296) found -(2297) found -[3134] Forked 2298 -[3133] Forked 2299 -(2298) found -(2299) found -[3132] Forked 2300 -[3131] Forked 2301 -(2300) found -(2301) found -[3130] Forked 2302 -[3129] Forked 2303 -(2302) found -(2303) found -[3128] Forked 2304 -[3127] Forked 2305 -(2304) found -(2305) found -[3126] Forked 2306 -[3125] Forked 2307 -(2306) found -(2307) found -[3124] Forked 2308 -[3123] Forked 2309 -(2308) found -(2309) found -[3122] Forked 2310 -[3121] Forked 2311 -(2310) found -(2311) found -[3120] Forked 2312 -[3119] Forked 2313 -(2312) found -(2313) found -[3118] Forked 2314 -[3117] Forked 2315 -(2314) found -(2315) found -[3116] Forked 2316 -[3115] Forked 2317 -(2316) found -(2317) found -[3114] Forked 2318 -[3113] Forked 2319 -(2318) found -(2319) found -[3112] Forked 2320 -(2320) found -[3111] Forked 2321 -(2321) found -[3110] Forked 2322 -(2322) found -[3109] Forked 2323 -(2323) found -[3108] Forked 2324 -(2324) found -[3107] Forked 2325 -(2325) found -[3106] Forked 2326 -(2326) found -[3105] Forked 2327 -(2327) found -[3104] Forked 2328 -(2328) found -[3103] Forked 2329 -(2329) found -[3102] Forked 2330 -(2330) found -[3101] Forked 2331 -(2331) found -[3100] Forked 2332 -(2332) found -[3099] Forked 2333 -(2333) found -[3098] Forked 2334 -(2334) found -[3097] Forked 2335 -(2335) found -[3096] Forked 2336 -(2336) found -[3095] Forked 2337 -(2337) found -[3094] Forked 2338 -(2338) found -[3093] Forked 2339 -(2339) found -[3092] Forked 2340 -(2340) found -[3091] Forked 2341 -(2341) found -[3090] Forked 2342 -(2342) found -[3089] Forked 2343 -(2343) found -[3088] Forked 2344 -(2344) found -[3087] Forked 2345 -(2345) found -[3086] Forked 2346 -(2346) found -[3085] Forked 2347 -(2347) found -[3084] Forked 2348 -(2348) found -[3083] Forked 2349 -(2349) found -[3082] Forked 2350 -(2350) found -[3081] Forked 2351 -(2351) found -[3080] Forked 2352 -(2352) found -[3079] Forked 2353 -(2353) found -[3078] Forked 2354 -(2354) found -[3077] Forked 2355 -(2355) found -[3076] Forked 2356 -(2356) found -[3075] Forked 2357 -(2357) found -[3074] Forked 2358 -(2358) found -[3073] Forked 2359 -[3072] Forked 2360 -(2359) found -(2360) found -[3071] Forked 2361 -[3070] Forked 2362 -(2361) found -(2362) found -[3069] Forked 2363 -[3068] Forked 2364 -(2363) found -(2364) found -[3067] Forked 2365 -[3066] Forked 2366 -(2365) found -(2366) found -[3065] Forked 2367 -[3064] Forked 2368 -(2367) found -(2368) found -[3063] Forked 2369 -[3062] Forked 2370 -(2369) found -(2370) found -[3061] Forked 2371 -[3060] Forked 2372 -(2371) found -(2372) found -[3059] Forked 2373 -[3058] Forked 2374 -(2373) found -(2374) found -[3057] Forked 2375 -[3056] Forked 2376 -(2375) found -(2376) found -[3055] Forked 2377 -[3054] Forked 2378 -(2377) found -(2378) found -[3053] Forked 2379 -[3052] Forked 2380 -(2379) found -(2380) found -[3051] Forked 2381 -[3050] Forked 2382 -(2381) found -(2382) found -[3049] Forked 2383 -[3048] Forked 2384 -(2383) found -(2384) found -[3047] Forked 2385 -[3046] Forked 2386 -(2385) found -(2386) found -[3045] Forked 2387 -[3044] Forked 2388 -(2387) found -(2388) found -[3043] Forked 2389 -[3042] Forked 2390 -(2389) found -(2390) found -[3041] Forked 2391 -[3040] Forked 2392 -(2391) found -(2392) found -[3039] Forked 2393 -[3038] Forked 2394 -(2393) found -(2394) found -[3037] Forked 2395 -[3036] Forked 2396 -(2395) found -(2396) found -[3035] Forked 2397 -[3034] Forked 2399 -(2397) found -(2399) found -[3033] Forked 2400 -(2400) found -[3032] Forked 2401 -(2401) found -[3031] Forked 2402 -(2402) found -[3030] Forked 2404 -(2404) found -[3029] Forked 2405 -(2405) found -[3028] Forked 2406 -(2406) found -[3027] Forked 2407 -(2407) found -[3026] Forked 2408 -(2408) found -[3025] Forked 2409 -(2409) found -[3024] Forked 2410 -(2410) found -[3023] Forked 2411 -(2411) found -[3022] Forked 2412 -(2412) found -[3021] Forked 2413 -(2413) found -[3020] Forked 2414 -(2414) found -[3019] Forked 2415 -(2415) found -[3018] Forked 2416 -(2416) found -[3017] Forked 2417 -(2417) found -[3016] Forked 2418 -(2418) found -[3015] Forked 2419 -(2419) found -[3014] Forked 2420 -(2420) found -[3013] Forked 2421 -(2421) found -[3012] Forked 2422 -(2422) found -[3011] Forked 2423 -(2423) found -[3010] Forked 2424 -(2424) found -[3009] Forked 2425 -(2425) found -[3008] Forked 2426 -(2426) found -[3007] Forked 2427 -(2427) found -[3006] Forked 2428 -(2428) found -[3005] Forked 2429 -(2429) found -[3004] Forked 2430 -(2430) found -[3003] Forked 2431 -(2431) found -[3002] Forked 2432 -(2432) found -[3001] Forked 2433 -(2433) found -[3000] Forked 2434 -(2434) found -[2999] Forked 2435 -(2435) found -[2998] Forked 2436 -(2436) found -[2997] Forked 2437 -(2437) found -[2996] Forked 2438 -(2438) found -[2995] Forked 2439 -(2439) found -[2994] Forked 2440 -(2440) found -[2993] Forked 2441 -[2992] Forked 2442 -(2441) found -(2442) found -[2991] Forked 2443 -[2990] Forked 2444 -(2443) found -(2444) found -[2989] Forked 2445 -[2988] Forked 2446 -(2445) found -(2446) found -[2987] Forked 2447 -[2986] Forked 2448 -(2447) found -(2448) found -[2985] Forked 2449 -[2984] Forked 2450 -(2449) found -(2450) found -[2983] Forked 2451 -[2982] Forked 2452 -(2451) found -(2452) found -[2981] Forked 2453 -[2980] Forked 2454 -(2453) found -(2454) found -[2979] Forked 2455 -[2978] Forked 2456 -(2455) found -(2456) found -[2977] Forked 2457 -[2976] Forked 2458 -(2457) found -(2458) found -[2975] Forked 2459 -[2974] Forked 2460 -(2459) found -(2460) found -[2973] Forked 2461 -[2972] Forked 2462 -(2461) found -(2462) found -[2971] Forked 2463 -[2970] Forked 2464 -(2463) found -(2464) found -[2969] Forked 2465 -[2968] Forked 2466 -(2465) found -(2466) found -[2967] Forked 2467 -[2966] Forked 2468 -(2467) found -(2468) found -[2965] Forked 2469 -[2964] Forked 2470 -(2469) found -(2470) found -[2963] Forked 2471 -[2962] Forked 2472 -(2471) found -(2472) found -[2961] Forked 2473 -[2960] Forked 2474 -(2473) found -(2474) found -[2959] Forked 2475 -[2958] Forked 2476 -(2475) found -(2476) found -[2957] Forked 2477 -[2956] Forked 2478 -(2477) found -(2478) found -[2955] Forked 2479 -[2954] Forked 2480 -(2479) found -(2480) found -[2953] Forked 2481 -[2952] Forked 2482 -(2481) found -(2482) found -[2951] Forked 2483 -[2950] Forked 2484 -(2483) found -(2484) found -[2949] Forked 2485 -(2485) found -[2948] Forked 2486 -(2486) found -[2947] Forked 2487 -(2487) found -[2946] Forked 2488 -(2488) found -[2945] Forked 2489 -(2489) found -[2944] Forked 2490 -(2490) found -[2943] Forked 2491 -(2491) found -[2942] Forked 2492 -(2492) found -[2941] Forked 2493 -(2493) found -[2940] Forked 2494 -(2494) found -[2939] Forked 2495 -(2495) found -[2938] Forked 2496 -(2496) found -[2937] Forked 2497 -(2497) found -[2936] Forked 2498 -(2498) found -[2935] Forked 2499 -(2499) found -[2934] Forked 2500 -(2500) found -[2933] Forked 2501 -(2501) found -[2932] Forked 2502 -(2502) found -[2931] Forked 2503 -(2503) found -[2930] Forked 2504 -(2504) found -[2929] Forked 2505 -(2505) found -[2928] Forked 2506 -(2506) found -[2927] Forked 2507 -(2507) found -[2926] Forked 2508 -(2508) found -[2925] Forked 2509 -(2509) found -[2924] Forked 2510 -(2510) found -[2923] Forked 2512 -(2512) found -[2922] Forked 2513 -(2513) found -[2921] Forked 2514 -(2514) found -[2920] Forked 2515 -(2515) found -[2919] Forked 2516 -(2516) found -[2918] Forked 2517 -(2517) found -[2917] Forked 2518 -(2518) found -[2916] Forked 2519 -(2519) found -[2915] Forked 2520 -(2520) found -[2914] Forked 2521 -(2521) found -[2913] Forked 2522 -(2522) found -[2912] Forked 2523 -(2523) found -[2911] Forked 2525 -[2910] Forked 2526 -(2525) found -(2526) found -[2909] Forked 2527 -[2908] Forked 2528 -(2527) found -(2528) found -[2907] Forked 2529 -[2906] Forked 2530 -(2529) found -(2530) found -[2905] Forked 2531 -[2904] Forked 2532 -(2531) found -(2532) found -[2903] Forked 2533 -[2902] Forked 2534 -(2533) found -(2534) found -[2901] Forked 2535 -[2900] Forked 2536 -(2535) found -(2536) found -[2899] Forked 2537 -[2898] Forked 2538 -(2537) found -(2538) found -[2897] Forked 2539 -[2896] Forked 2541 -(2539) found -(2541) found -[2895] Forked 2542 -[2894] Forked 2543 -(2542) found -(2543) found -[2893] Forked 2544 -[2892] Forked 2545 -(2544) found -(2545) found -[2891] Forked 2546 -[2890] Forked 2547 -(2546) found -(2547) found -[2889] Forked 2548 -[2888] Forked 2549 -(2548) found -(2549) found -[2887] Forked 2550 -[2886] Forked 2551 -(2550) found -(2551) found -[2885] Forked 2552 -[2884] Forked 2553 -(2552) found -(2553) found -[2883] Forked 2554 -[2882] Forked 2555 -(2554) found -(2555) found -[2881] Forked 2556 -[2880] Forked 2557 -(2556) found -(2557) found -[2879] Forked 2558 -[2878] Forked 2559 -(2558) found -(2559) found -[2877] Forked 2560 -[2876] Forked 2561 -(2560) found -(2561) found -[2875] Forked 2562 -[2874] Forked 2563 -(2562) found -(2563) found -[2873] Forked 2564 -[2872] Forked 2565 -(2564) found -(2565) found -[2871] Forked 2566 -[2870] Forked 2567 -(2566) found -(2567) found -[2869] Forked 2568 -[2868] Forked 2569 -(2568) found -(2569) found -[2867] Forked 2570 -(2570) found -[2866] Forked 2571 -(2571) found -[2865] Forked 2572 -(2572) found -[2864] Forked 2573 -(2573) found -[2863] Forked 2574 -(2574) found -[2862] Forked 2575 -(2575) found -[2861] Forked 2576 -(2576) found -[2860] Forked 2577 -(2577) found -[2859] Forked 2578 -(2578) found -[2858] Forked 2579 -(2579) found -[2857] Forked 2580 -(2580) found -[2856] Forked 2581 -(2581) found -[2855] Forked 2582 -(2582) found -[2854] Forked 2583 -(2583) found -[2853] Forked 2584 -(2584) found -[2852] Forked 2585 -(2585) found -[2851] Forked 2586 -(2586) found -[2850] Forked 2587 -(2587) found -[2849] Forked 2588 -(2588) found -[2848] Forked 2589 -(2589) found -[2847] Forked 2590 -(2590) found -[2846] Forked 2591 -(2591) found -[2845] Forked 2592 -(2592) found -[2844] Forked 2593 -(2593) found -[2843] Forked 2594 -(2594) found -[2842] Forked 2595 -(2595) found -[2841] Forked 2596 -(2596) found -[2840] Forked 2597 -(2597) found -[2839] Forked 2598 -(2598) found -[2838] Forked 2599 -(2599) found -[2837] Forked 2600 -(2600) found -[2836] Forked 2601 -(2601) found -[2835] Forked 2602 -(2602) found -[2834] Forked 2603 -(2603) found -[2833] Forked 2604 -(2604) found -[2832] Forked 2605 -(2605) found -[2831] Forked 2606 -(2606) found -[2830] Forked 2607 -(2607) found -[2829] Forked 2608 -(2608) found -[2828] Forked 2609 -(2609) found -[2827] Forked 2610 -(2610) found -[2826] Forked 2611 -[2825] Forked 2612 -(2611) found -(2612) found -[2824] Forked 2613 -[2823] Forked 2614 -(2613) found -(2614) found -[2822] Forked 2615 -[2821] Forked 2616 -(2615) found -(2616) found -[2820] Forked 2617 -[2819] Forked 2618 -(2617) found -(2618) found -[2818] Forked 2619 -[2817] Forked 2620 -(2619) found -(2620) found -[2816] Forked 2621 -[2815] Forked 2622 -(2621) found -(2622) found -[2814] Forked 2623 -[2813] Forked 2624 -(2623) found -(2624) found -[2812] Forked 2625 -[2811] Forked 2626 -(2625) found -(2626) found -[2810] Forked 2627 -[2809] Forked 2628 -(2627) found -(2628) found -[2808] Forked 2629 -[2807] Forked 2630 -(2629) found -(2630) found -[2806] Forked 2631 -[2805] Forked 2632 -(2631) found -(2632) found -[2804] Forked 2633 -[2803] Forked 2634 -(2633) found -(2634) found -[2802] Forked 2635 -[2801] Forked 2636 -(2635) found -(2636) found -[2800] Forked 2637 -[2799] Forked 2638 -(2637) found -(2638) found -[2798] Forked 2639 -[2797] Forked 2640 -(2639) found -(2640) found -[2796] Forked 2641 -[2795] Forked 2642 -(2641) found -(2642) found -[2794] Forked 2643 -[2793] Forked 2644 -(2643) found -(2644) found -[2792] Forked 2645 -[2791] Forked 2646 -(2645) found -(2646) found -[2790] Forked 2647 -[2789] Forked 2648 -(2647) found -(2648) found -[2788] Forked 2649 -[2787] Forked 2650 -(2649) found -(2650) found -[2786] Forked 2651 -(2651) found -[2785] Forked 2652 -(2652) found -[2784] Forked 2653 -(2653) found -[2783] Forked 2654 -(2654) found -[2782] Forked 2655 -(2655) found -[2781] Forked 2659 -(2659) found -[2780] Forked 2662 -(2662) found -[2779] Forked 2663 -(2663) found -[2778] Forked 2664 -(2664) found -[2777] Forked 2665 -(2665) found -[2776] Forked 2666 -(2666) found -[2775] Forked 2669 -(2669) found -[2774] Forked 2670 -(2670) found -[2773] Forked 2671 -(2671) found -[2772] Forked 2672 -(2672) found -[2771] Forked 2673 -(2673) found -[2770] Forked 2674 -(2674) found -[2769] Forked 2675 -(2675) found -[2768] Forked 2676 -(2676) found -[2767] Forked 2677 -(2677) found -[2766] Forked 2678 -(2678) found -[2765] Forked 2679 -(2679) found -[2764] Forked 2680 -(2680) found -[2763] Forked 2681 -(2681) found -[2762] Forked 2682 -(2682) found -[2761] Forked 2683 -(2683) found -[2760] Forked 2684 -(2684) found -[2759] Forked 2685 -(2685) found -[2758] Forked 2686 -(2686) found -[2757] Forked 2687 -(2687) found -[2756] Forked 2688 -(2688) found -[2755] Forked 2689 -(2689) found -[2754] Forked 2690 -(2690) found -[2753] Forked 2691 -(2691) found -[2752] Forked 2692 -(2692) found -[2751] Forked 2693 -(2693) found -[2750] Forked 2694 -(2694) found -[2749] Forked 2695 -(2695) found -[2748] Forked 2696 -(2696) found -[2747] Forked 2697 -[2746] Forked 2698 -(2697) found -(2698) found -[2745] Forked 2699 -[2744] Forked 2700 -(2699) found -(2700) found -[2743] Forked 2701 -[2742] Forked 2703 -(2701) found -(2703) found -[2741] Forked 2704 -[2740] Forked 2705 -(2704) found -(2705) found -[2739] Forked 2706 -[2738] Forked 2707 -(2706) found -(2707) found -[2737] Forked 2708 -[2736] Forked 2709 -(2708) found -(2709) found -[2735] Forked 2710 -[2734] Forked 2711 -(2710) found -(2711) found -[2733] Forked 2712 -[2732] Forked 2713 -(2712) found -(2713) found -[2731] Forked 2714 -[2730] Forked 2715 -(2714) found -(2715) found -[2729] Forked 2716 -[2728] Forked 2717 -(2716) found -(2717) found -[2727] Forked 2718 -[2726] Forked 2719 -(2718) found -(2719) found -[2725] Forked 2720 -[2724] Forked 2723 -(2720) found -(2723) found -[2723] Forked 2725 -(2725) found -[2722] Forked 2728 -[2721] Forked 2729 -(2728) found -(2729) found -[2720] Forked 2730 -[2719] Forked 2731 -(2730) found -(2731) found -[2718] Forked 2732 -[2717] Forked 2733 -(2732) found -(2733) found -[2716] Forked 2734 -[2715] Forked 2735 -(2734) found -(2735) found -[2714] Forked 2736 -[2713] Forked 2737 -(2736) found -(2737) found -[2712] Forked 2738 -[2711] Forked 2739 -(2738) found -(2739) found -[2710] Forked 2740 -[2709] Forked 2741 -(2740) found -(2741) found -[2708] Forked 2742 -[2707] Forked 2743 -(2742) found -(2743) found -[2706] Forked 2744 -[2705] Forked 2745 -(2744) found -(2745) found -[2704] Forked 2746 -(2746) found -[2703] Forked 2747 -(2747) found -[2702] Forked 2748 -(2748) found -[2701] Forked 2749 -(2749) found -[2700] Forked 2750 -(2750) found -[2699] Forked 2751 -(2751) found -[2698] Forked 2752 -(2752) found -[2697] Forked 2753 -(2753) found -[2696] Forked 2754 -(2754) found -[2695] Forked 2755 -(2755) found -[2694] Forked 2756 -(2756) found -[2693] Forked 2757 -(2757) found -[2692] Forked 2758 -(2758) found -[2691] Forked 2760 -(2760) found -[2690] Forked 2761 -(2761) found -[2689] Forked 2762 -(2762) found -[2688] Forked 2763 -(2763) found -[2687] Forked 2764 -(2764) found -[2686] Forked 2765 -(2765) found -[2685] Forked 2766 -(2766) found -[2684] Forked 2767 -(2767) found -[2683] Forked 2768 -(2768) found -[2682] Forked 2769 -(2769) found -[2681] Forked 2770 -(2770) found -[2680] Forked 2771 -(2771) found -[2679] Forked 2772 -(2772) found -[2678] Forked 2773 -(2773) found -[2677] Forked 2774 -(2774) found -[2676] Forked 2775 -(2775) found -[2675] Forked 2776 -(2776) found -[2674] Forked 2777 -(2777) found -[2673] Forked 2778 -(2778) found -[2672] Forked 2779 -(2779) found -[2671] Forked 2780 -(2780) found -[2670] Forked 2781 -(2781) found -[2669] Forked 2782 -(2782) found -[2668] Forked 2783 -(2783) found -[2667] Forked 2784 -(2784) found -[2666] Forked 2785 -[2665] Forked 2786 -(2785) found -(2786) found -[2664] Forked 2787 -[2663] Forked 2788 -(2787) found -(2788) found -[2662] Forked 2789 -[2661] Forked 2790 -(2789) found -(2790) found -[2660] Forked 2791 -[2659] Forked 2792 -(2791) found -(2792) found -[2658] Forked 2793 -[2657] Forked 2794 -(2793) found -(2794) found -[2656] Forked 2795 -[2655] Forked 2796 -(2795) found -(2796) found -[2654] Forked 2797 -[2653] Forked 2798 -(2797) found -(2798) found -[2652] Forked 2799 -[2651] Forked 2800 -(2799) found -(2800) found -[2650] Forked 2801 -[2649] Forked 2802 -(2801) found -(2802) found -[2648] Forked 2803 -[2647] Forked 2804 -(2803) found -(2804) found -[2646] Forked 2805 -[2645] Forked 2806 -(2805) found -(2806) found -[2644] Forked 2807 -[2643] Forked 2808 -(2807) found -(2808) found -[2642] Forked 2809 -[2641] Forked 2810 -(2809) found -(2810) found -[2640] Forked 2811 -[2639] Forked 2812 -(2811) found -(2812) found -[2638] Forked 2813 -[2637] Forked 2814 -(2813) found -(2814) found -[2636] Forked 2815 -[2635] Forked 2816 -(2815) found -(2816) found -[2634] Forked 2817 -[2633] Forked 2818 -(2817) found -(2818) found -[2632] Forked 2819 -[2631] Forked 2820 -(2819) found -(2820) found -[2630] Forked 2821 -[2629] Forked 2822 -(2821) found -(2822) found -[2628] Forked 2823 -[2627] Forked 2824 -(2823) found -(2824) found -[2626] Forked 2825 -[2625] Forked 2826 -(2825) found -(2826) found -[2624] Forked 2827 -[2623] Forked 2830 -(2827) found -(2830) found -[2622] Forked 2831 -(2831) found -[2621] Forked 2832 -(2832) found -[2620] Forked 2833 -(2833) found -[2619] Forked 2834 -(2834) found -[2618] Forked 2835 -(2835) found -[2617] Forked 2836 -(2836) found -[2616] Forked 2837 -(2837) found -[2615] Forked 2838 -(2838) found -[2614] Forked 2839 -(2839) found -[2613] Forked 2840 -(2840) found -[2612] Forked 2841 -(2841) found -[2611] Forked 2843 -(2843) found -[2610] Forked 2844 -(2844) found -[2609] Forked 2845 -(2845) found -[2608] Forked 2846 -(2846) found -[2607] Forked 2847 -(2847) found -[2606] Forked 2848 -(2848) found -[2605] Forked 2849 -(2849) found -[2604] Forked 2850 -(2850) found -[2603] Forked 2851 -(2851) found -[2602] Forked 2852 -(2852) found -[2601] Forked 2853 -(2853) found -[2600] Forked 2854 -(2854) found -[2599] Forked 2855 -(2855) found -[2598] Forked 2856 -(2856) found -[2597] Forked 2857 -(2857) found -[2596] Forked 2858 -(2858) found -[2595] Forked 2859 -(2859) found -[2594] Forked 2860 -(2860) found -[2593] Forked 2861 -(2861) found -[2592] Forked 2862 -(2862) found -[2591] Forked 2863 -(2863) found -[2590] Forked 2864 -(2864) found -[2589] Forked 2865 -(2865) found -[2588] Forked 2866 -(2866) found -[2587] Forked 2867 -(2867) found -[2586] Forked 2868 -(2868) found -[2585] Forked 2869 -(2869) found -[2584] Forked 2870 -[2583] Forked 2871 -(2870) found -(2871) found -[2582] Forked 2872 -[2581] Forked 2873 -(2872) found -(2873) found -[2580] Forked 2874 -[2579] Forked 2875 -(2874) found -(2875) found -[2578] Forked 2876 -(2876) found -[2577] Forked 2877 -[2576] Forked 2878 -(2877) found -(2878) found -[2575] Forked 2879 -[2574] Forked 2880 -(2879) found -(2880) found -[2573] Forked 2881 -[2572] Forked 2882 -(2881) found -(2882) found -[2571] Forked 2883 -[2570] Forked 2884 -(2883) found -(2884) found -[2569] Forked 2885 -[2568] Forked 2886 -(2885) found -(2886) found -[2567] Forked 2887 -[2566] Forked 2888 -(2887) found -(2888) found -[2565] Forked 2889 -[2564] Forked 2890 -(2889) found -(2890) found -[2563] Forked 2891 -[2562] Forked 2892 -(2891) found -(2892) found -[2561] Forked 2893 -[2560] Forked 2894 -(2893) found -(2894) found -[2559] Forked 2895 -[2558] Forked 2896 -(2895) found -(2896) found -[2557] Forked 2897 -[2556] Forked 2898 -(2897) found -(2898) found -[2555] Forked 2899 -[2554] Forked 2900 -(2899) found -(2900) found -[2553] Forked 2901 -[2552] Forked 2902 -(2901) found -(2902) found -[2551] Forked 2903 -[2550] Forked 2904 -(2903) found -(2904) found -[2549] Forked 2905 -(2905) found -[2548] Forked 2906 -(2906) found -[2547] Forked 2907 -[2546] Forked 2908 -(2907) found -(2908) found -[2545] Forked 2909 -[2544] Forked 2910 -(2909) found -(2910) found -[2543] Forked 2911 -[2542] Forked 2912 -(2911) found -(2912) found -[2541] Forked 2913 -[2540] Forked 2914 -(2913) found -(2914) found -[2539] Forked 2915 -[2538] Forked 2916 -(2915) found -(2916) found -[2537] Forked 2917 -[2536] Forked 2918 -(2917) found -(2918) found -[2535] Forked 2919 -[2534] Forked 2920 -(2919) found -(2920) found -[2533] Forked 2921 -[2532] Forked 2922 -(2921) found -(2922) found -[2531] Forked 2923 -[2530] Forked 2924 -(2923) found -(2924) found -[2529] Forked 2925 -[2528] Forked 2926 -(2925) found -(2926) found -[2527] Forked 2927 -[2526] Forked 2928 -(2927) found -(2928) found -[2525] Forked 2929 -[2524] Forked 2930 -(2929) found -(2930) found -[2523] Forked 2932 -[2522] Forked 2933 -(2932) found -(2933) found -[2521] Forked 2934 -[2520] Forked 2935 -(2934) found -(2935) found -[2519] Forked 2936 -[2518] Forked 2937 -(2936) found -(2937) found -[2517] Forked 2938 -[2516] Forked 2939 -(2938) found -(2939) found -[2515] Forked 2940 -[2514] Forked 2941 -(2940) found -(2941) found -[2513] Forked 2942 -[2512] Forked 2943 -(2942) found -(2943) found -[2511] Forked 2944 -[2510] Forked 2945 -(2944) found -(2945) found -[2509] Forked 2946 -[2508] Forked 2947 -(2946) found -(2947) found -[2507] Forked 2948 -[2506] Forked 2949 -(2948) found -(2949) found -[2505] Forked 2950 -[2504] Forked 2951 -(2950) found -(2951) found -[2503] Forked 2952 -[2502] Forked 2953 -(2952) found -(2953) found -[2501] Forked 2956 -[2500] Forked 2957 -(2956) found -(2957) found -[2499] Forked 2958 -[2498] Forked 2959 -(2958) found -(2959) found -[2497] Forked 2960 -[2496] Forked 2961 -(2960) found -(2961) found -[2495] Forked 2962 -[2494] Forked 2963 -(2962) found -(2963) found -[2493] Forked 2964 -[2492] Forked 2965 -(2964) found -(2965) found -[2491] Forked 2966 -[2490] Forked 2967 -(2966) found -(2967) found -[2489] Forked 2968 -[2488] Forked 2969 -(2968) found -(2969) found -[2487] Forked 2970 -[2486] Forked 2971 -(2970) found -(2971) found -[2485] Forked 2972 -[2484] Forked 2973 -(2972) found -(2973) found -[2483] Forked 2974 -[2482] Forked 2975 -(2974) found -(2975) found -[2481] Forked 2976 -[2480] Forked 2977 -(2976) found -(2977) found -[2479] Forked 2978 -[2478] Forked 2979 -(2978) found -(2979) found -[2477] Forked 2980 -[2476] Forked 2981 -(2980) found -(2981) found -[2475] Forked 2983 -[2474] Forked 2984 -(2983) found -(2984) found -[2473] Forked 2987 -[2472] Forked 2992 -(2987) found -(2992) found -[2471] Forked 3049 -[2470] Forked 3050 -(3049) found -(3050) found -[2469] Forked 3051 -[2468] Forked 3052 -(3051) found -(3052) found -[2467] Forked 3053 -[2466] Forked 3054 -(3053) found -(3054) found -[2465] Forked 3055 -[2464] Forked 3056 -(3055) found -(3056) found -[2463] Forked 3057 -[2462] Forked 3058 -(3057) found -(3058) found -[2461] Forked 3059 -[2460] Forked 3060 -(3059) found -(3060) found -[2459] Forked 3061 -[2458] Forked 3062 -(3061) found -(3062) found -[2457] Forked 3063 -[2456] Forked 3064 -(3063) found -(3064) found -[2455] Forked 3065 -[2454] Forked 3066 -(3065) found -(3066) found -[2453] Forked 3067 -[2452] Forked 3068 -(3067) found -(3068) found -[2451] Forked 3069 -(3069) found -[2450] Forked 3070 -(3070) found -[2449] Forked 3071 -(3071) found -[2448] Forked 3072 -(3072) found -[2447] Forked 3073 -(3073) found -[2446] Forked 3074 -(3074) found -[2445] Forked 3075 -(3075) found -[2444] Forked 3076 -(3076) found -[2443] Forked 3077 -(3077) found -[2442] Forked 3078 -(3078) found -[2441] Forked 3079 -(3079) found -[2440] Forked 3080 -(3080) found -[2439] Forked 3081 -(3081) found -[2438] Forked 3082 -(3082) found -[2437] Forked 3083 -(3083) found -[2436] Forked 3085 -(3085) found -[2435] Forked 3086 -(3086) found -[2434] Forked 3087 -(3087) found -[2433] Forked 3088 -(3088) found -[2432] Forked 3089 -(3089) found -[2431] Forked 3090 -(3090) found -[2430] Forked 3091 -(3091) found -[2429] Forked 3093 -(3093) found -[2428] Forked 3094 -(3094) found -[2427] Forked 3095 -(3095) found -[2426] Forked 3096 -(3096) found -[2425] Forked 3097 -(3097) found -[2424] Forked 3098 -(3098) found -[2423] Forked 3099 -(3099) found -[2422] Forked 3101 -(3101) found -[2421] Forked 3102 -(3102) found -[2420] Forked 3103 -(3103) found -[2419] Forked 3104 -(3104) found -[2418] Forked 3105 -(3105) found -[2417] Forked 3106 -(3106) found -[2416] Forked 3107 -(3107) found -[2415] Forked 3108 -(3108) found -[2414] Forked 3109 -(3109) found -[2413] Forked 3110 -[2412] Forked 3112 -(3110) found -(3112) found -[2411] Forked 3113 -[2410] Forked 3114 -(3113) found -(3114) found -[2409] Forked 3115 -[2408] Forked 3116 -(3115) found -(3116) found -[2407] Forked 3117 -[2406] Forked 3118 -(3117) found -(3118) found -[2405] Forked 3119 -[2404] Forked 3120 -(3119) found -(3120) found -[2403] Forked 3121 -[2402] Forked 3123 -(3121) found -(3123) found -[2401] Forked 3124 -[2400] Forked 3126 -(3124) found -(3126) found -[2399] Forked 3128 -[2398] Forked 3129 -(3128) found -(3129) found -[2397] Forked 3130 -[2396] Forked 3131 -(3130) found -(3131) found -[2395] Forked 3132 -[2394] Forked 3133 -(3132) found -(3133) found -[2393] Forked 3134 -[2392] Forked 3135 -(3134) found -(3135) found -[2391] Forked 3136 -[2390] Forked 3137 -(3136) found -(3137) found -[2389] Forked 3138 -[2388] Forked 3139 -(3138) found -(3139) found -[2387] Forked 3140 -[2386] Forked 3141 -(3140) found -(3141) found -[2385] Forked 3142 -[2384] Forked 3143 -(3142) found -(3143) found -[2383] Forked 3144 -[2382] Forked 3145 -(3144) found -(3145) found -[2381] Forked 3147 -[2380] Forked 3148 -(3147) found -(3148) found -[2379] Forked 3149 -[2378] Forked 3150 -(3149) found -(3150) found -[2377] Forked 3151 -[2376] Forked 3152 -(3151) found -(3152) found -[2375] Forked 3153 -[2374] Forked 3154 -(3153) found -(3154) found -[2373] Forked 3155 -[2372] Forked 3156 -(3155) found -(3156) found -[2371] Forked 3157 -[2370] Forked 3158 -(3157) found -(3158) found -[2369] Forked 3159 -(3159) found -[2368] Forked 3160 -(3160) found -[2367] Forked 3163 -(3163) found -[2366] Forked 3164 -(3164) found -[2365] Forked 3165 -(3165) found -[2364] Forked 3166 -(3166) found -[2363] Forked 3167 -(3167) found -[2362] Forked 3168 -(3168) found -[2361] Forked 3169 -(3169) found -[2360] Forked 3170 -(3170) found -[2359] Forked 3171 -(3171) found -[2358] Forked 3172 -(3172) found -[2357] Forked 3173 -(3173) found -[2356] Forked 3174 -(3174) found -[2355] Forked 3175 -(3175) found -[2354] Forked 3176 -(3176) found -[2353] Forked 3177 -(3177) found -[2352] Forked 3178 -(3178) found -[2351] Forked 3179 -(3179) found -[2350] Forked 3180 -(3180) found -[2349] Forked 3181 -(3181) found -[2348] Forked 3182 -(3182) found -[2347] Forked 3183 -(3183) found -[2346] Forked 3184 -(3184) found -[2345] Forked 3185 -(3185) found -[2344] Forked 3186 -(3186) found -[2343] Forked 3187 -(3187) found -[2342] Forked 3188 -(3188) found -[2341] Forked 3189 -(3189) found -[2340] Forked 3190 -(3190) found -[2339] Forked 3191 -(3191) found -[2338] Forked 3192 -(3192) found -[2337] Forked 3195 -(3195) found -[2336] Forked 3196 -(3196) found -[2335] Forked 3197 -(3197) found -[2334] Forked 3198 -(3198) found -[2333] Forked 3199 -(3199) found -[2332] Forked 3200 -(3200) found -[2331] Forked 3201 -[2330] Forked 3202 -(3201) found -(3202) found -[2329] Forked 3203 -[2328] Forked 3204 -(3203) found -(3204) found -[2327] Forked 3205 -[2326] Forked 3206 -(3205) found -(3206) found -[2325] Forked 3207 -[2324] Forked 3208 -(3207) found -(3208) found -[2323] Forked 3209 -[2322] Forked 3210 -(3209) found -(3210) found -[2321] Forked 3211 -[2320] Forked 3212 -(3211) found -(3212) found -[2319] Forked 3213 -[2318] Forked 3214 -(3213) found -(3214) found -[2317] Forked 3215 -[2316] Forked 3216 -(3215) found -(3216) found -[2315] Forked 3217 -[2314] Forked 3218 -(3217) found -(3218) found -[2313] Forked 3219 -[2312] Forked 3220 -(3219) found -(3220) found -[2311] Forked 3221 -[2310] Forked 3222 -(3221) found -(3222) found -[2309] Forked 3223 -[2308] Forked 3224 -(3223) found -(3224) found -[2307] Forked 3225 -[2306] Forked 3227 -(3225) found -(3227) found -[2305] Forked 3228 -[2304] Forked 3229 -(3228) found -(3229) found -[2303] Forked 3230 -[2302] Forked 3231 -(3230) found -(3231) found -[2301] Forked 3232 -[2300] Forked 3233 -(3232) found -(3233) found -[2299] Forked 3234 -[2298] Forked 3235 -(3234) found -(3235) found -[2297] Forked 3236 -[2296] Forked 3237 -(3236) found -(3237) found -[2295] Forked 3238 -[2294] Forked 3239 -(3238) found -(3239) found -[2293] Forked 3240 -[2292] Forked 3241 -(3240) found -(3241) found -[2291] Forked 3242 -[2290] Forked 3243 -(3242) found -(3243) found -[2289] Forked 3244 -[2288] Forked 3245 -(3244) found -(3245) found -[2287] Forked 3249 -(3249) found -[2286] Forked 3250 -(3250) found -[2285] Forked 3251 -(3251) found -[2284] Forked 3252 -(3252) found -[2283] Forked 3253 -(3253) found -[2282] Forked 3254 -(3254) found -[2281] Forked 3255 -(3255) found -[2280] Forked 3256 -(3256) found -[2279] Forked 3257 -(3257) found -[2278] Forked 3258 -(3258) found -[2277] Forked 3259 -(3259) found -[2276] Forked 3260 -(3260) found -[2275] Forked 3261 -(3261) found -[2274] Forked 3262 -(3262) found -[2273] Forked 3263 -(3263) found -[2272] Forked 3264 -(3264) found -[2271] Forked 3265 -(3265) found -[2270] Forked 3266 -(3266) found -[2269] Forked 3267 -(3267) found -[2268] Forked 3268 -(3268) found -[2267] Forked 3269 -(3269) found -[2266] Forked 3270 -(3270) found -[2265] Forked 3271 -(3271) found -[2264] Forked 3272 -(3272) found -[2263] Forked 3273 -(3273) found -[2262] Forked 3274 -(3274) found -[2261] Forked 3275 -(3275) found -[2260] Forked 3276 -(3276) found -[2259] Forked 3277 -(3277) found -[2258] Forked 3278 -(3278) found -[2257] Forked 3279 -(3279) found -[2256] Forked 3280 -(3280) found -[2255] Forked 3281 -(3281) found -[2254] Forked 3282 -(3282) found -[2253] Forked 3283 -(3283) found -[2252] Forked 3284 -(3284) found -[2251] Forked 3285 -(3285) found -[2250] Forked 3286 -(3286) found -[2249] Forked 3287 -[2248] Forked 3288 -(3287) found -(3288) found -[2247] Forked 3289 -[2246] Forked 3290 -(3289) found -(3290) found -[2245] Forked 3291 -[2244] Forked 3292 -(3291) found -(3292) found -[2243] Forked 3293 -[2242] Forked 3294 -(3293) found -(3294) found -[2241] Forked 3295 -[2240] Forked 3296 -(3295) found -(3296) found -[2239] Forked 3297 -[2238] Forked 3298 -(3297) found -(3298) found -[2237] Forked 3299 -[2236] Forked 3300 -(3299) found -(3300) found -[2235] Forked 3301 -[2234] Forked 3302 -(3301) found -(3302) found -[2233] Forked 3303 -[2232] Forked 3304 -(3303) found -(3304) found -[2231] Forked 3305 -[2230] Forked 3306 -(3305) found -(3306) found -[2229] Forked 3307 -[2228] Forked 3308 -(3307) found -(3308) found -[2227] Forked 3309 -[2226] Forked 3310 -(3309) found -(3310) found -[2225] Forked 3311 -[2224] Forked 3312 -(3311) found -(3312) found -[2223] Forked 3313 -[2222] Forked 3314 -(3313) found -(3314) found -[2221] Forked 3315 -[2220] Forked 3317 -(3315) found -(3317) found -[2219] Forked 3318 -[2218] Forked 3319 -(3318) found -(3319) found -[2217] Forked 3320 -[2216] Forked 3321 -(3320) found -(3321) found -[2215] Forked 3322 -[2214] Forked 3323 -(3322) found -(3323) found -[2213] Forked 3324 -[2212] Forked 3325 -(3324) found -(3325) found -[2211] Forked 3326 -[2210] Forked 3327 -(3326) found -(3327) found -[2209] Forked 3333 -[2208] Forked 3334 -(3333) found -(3334) found -[2207] Forked 3335 -(3335) found -[2206] Forked 3336 -(3336) found -[2205] Forked 3337 -(3337) found -[2204] Forked 3338 -(3338) found -[2203] Forked 3339 -(3339) found -[2202] Forked 3340 -(3340) found -[2201] Forked 3341 -(3341) found -[2200] Forked 3342 -(3342) found -[2199] Forked 3343 -(3343) found -[2198] Forked 3344 -(3344) found -[2197] Forked 3345 -(3345) found -[2196] Forked 3347 -(3347) found -[2195] Forked 3348 -(3348) found -[2194] Forked 3349 -(3349) found -[2193] Forked 3350 -(3350) found -[2192] Forked 3351 -(3351) found -[2191] Forked 3352 -(3352) found -[2190] Forked 3353 -(3353) found -[2189] Forked 3354 -(3354) found -[2188] Forked 3355 -(3355) found -[2187] Forked 3356 -(3356) found -[2186] Forked 3357 -(3357) found -[2185] Forked 3358 -(3358) found -[2184] Forked 3359 -(3359) found -[2183] Forked 3360 -(3360) found -[2182] Forked 3361 -(3361) found -[2181] Forked 3362 -(3362) found -[2180] Forked 3363 -(3363) found -[2179] Forked 3364 -(3364) found -[2178] Forked 3365 -(3365) found -[2177] Forked 3366 -(3366) found -[2176] Forked 3367 -(3367) found -[2175] Forked 3368 -(3368) found -[2174] Forked 3369 -(3369) found -[2173] Forked 3370 -(3370) found -[2172] Forked 3371 -(3371) found -[2171] Forked 3372 -(3372) found -[2170] Forked 3373 -(3373) found -[2169] Forked 3382 -[2168] Forked 3383 -(3382) found -(3383) found -[2167] Forked 3384 -[2166] Forked 3385 -(3384) found -(3385) found -[2165] Forked 3386 -[2164] Forked 3387 -(3386) found -(3387) found -[2163] Forked 3388 -[2162] Forked 3389 -(3388) found -(3389) found -[2161] Forked 3390 -[2160] Forked 3391 -(3390) found -(3391) found -[2159] Forked 3392 -[2158] Forked 3393 -(3392) found -(3393) found -[2157] Forked 3394 -[2156] Forked 3395 -(3394) found -(3395) found -[2155] Forked 3396 -[2154] Forked 3397 -(3396) found -(3397) found -[2153] Forked 3398 -[2152] Forked 3399 -(3398) found -(3399) found -[2151] Forked 3401 -[2150] Forked 3402 -(3401) found -(3402) found -[2149] Forked 3403 -[2148] Forked 3404 -(3403) found -(3404) found -[2147] Forked 3405 -[2146] Forked 3406 -(3405) found -(3406) found -[2145] Forked 3407 -[2144] Forked 3408 -(3407) found -(3408) found -[2143] Forked 3409 -[2142] Forked 3410 -(3409) found -(3410) found -[2141] Forked 3411 -[2140] Forked 3412 -(3411) found -(3412) found -[2139] Forked 3413 -[2138] Forked 3414 -(3413) found -(3414) found -[2137] Forked 3415 -[2136] Forked 3416 -(3415) found -(3416) found -[2135] Forked 3417 -[2134] Forked 3418 -(3417) found -(3418) found -[2133] Forked 3419 -[2132] Forked 3420 -(3419) found -(3420) found -[2131] Forked 3421 -[2130] Forked 3422 -(3421) found -(3422) found -[2129] Forked 3423 -[2128] Forked 3424 -(3423) found -(3424) found -[2127] Forked 3425 -[2126] Forked 3426 -(3425) found -(3426) found -[2125] Forked 3427 -(3427) found -[2124] Forked 3428 -(3428) found -[2123] Forked 3429 -(3429) found -[2122] Forked 3430 -(3430) found -[2121] Forked 3431 -(3431) found -[2120] Forked 3432 -(3432) found -[2119] Forked 3433 -(3433) found -[2118] Forked 3434 -(3434) found -[2117] Forked 3435 -(3435) found -[2116] Forked 3436 -(3436) found -[2115] Forked 3437 -(3437) found -[2114] Forked 3438 -(3438) found -[2113] Forked 3439 -(3439) found -[2112] Forked 3440 -(3440) found -[2111] Forked 3441 -(3441) found -[2110] Forked 3442 -(3442) found -[2109] Forked 3443 -(3443) found -[2108] Forked 3444 -(3444) found -[2107] Forked 3445 -(3445) found -[2106] Forked 3446 -(3446) found -[2105] Forked 3447 -(3447) found -[2104] Forked 3448 -(3448) found -[2103] Forked 3449 -(3449) found -[2102] Forked 3450 -(3450) found -[2101] Forked 3451 -(3451) found -[2100] Forked 3452 -(3452) found -[2099] Forked 3453 -(3453) found -[2098] Forked 3454 -(3454) found -[2097] Forked 3455 -(3455) found -[2096] Forked 3456 -(3456) found -[2095] Forked 3457 -(3457) found -[2094] Forked 3458 -(3458) found -[2093] Forked 3459 -(3459) found -[2092] Forked 3460 -(3460) found -[2091] Forked 3461 -(3461) found -[2090] Forked 3462 -(3462) found -[2089] Forked 3463 -(3463) found -[2088] Forked 3464 -(3464) found -[2087] Forked 3465 -[2086] Forked 3466 -(3465) found -(3466) found -[2085] Forked 3467 -[2084] Forked 3468 -(3467) found -(3468) found -[2083] Forked 3469 -[2082] Forked 3470 -(3469) found -(3470) found -[2081] Forked 3471 -[2080] Forked 3472 -(3471) found -(3472) found -[2079] Forked 3473 -[2078] Forked 3474 -(3473) found -(3474) found -[2077] Forked 3475 -[2076] Forked 3476 -(3475) found -(3476) found -[2075] Forked 3477 -[2074] Forked 3478 -(3477) found -(3478) found -[2073] Forked 3479 -[2072] Forked 3480 -(3480) found -(3479) found -[2071] Forked 3481 -(3481) found -[2070] Forked 3482 -(3482) found -[2069] Forked 3483 -(3483) found -[2068] Forked 3484 -(3484) found -[2067] Forked 3485 -(3485) found -[2066] Forked 3486 -(3486) found -[2065] Forked 3487 -(3487) found -[2064] Forked 3488 -(3488) found -[2063] Forked 3489 -(3489) found -[2062] Forked 3490 -(3490) found -[2061] Forked 3491 -(3491) found -[2060] Forked 3492 -(3492) found -[2059] Forked 3493 -[2058] Forked 3494 -(3493) found -(3494) found -[2057] Forked 3495 -[2056] Forked 3496 -(3495) found -(3496) found -[2055] Forked 3497 -(3497) found -[2054] Forked 3498 -(3498) found -[2053] Forked 3499 -(3499) found -[2052] Forked 3500 -(3500) found -[2051] Forked 3501 -(3501) found -[2050] Forked 3502 -(3502) found -[2049] Forked 3503 -(3503) found -[2048] Forked 3504 -(3504) found -[2047] Forked 3505 -(3505) found -[2046] Forked 3506 -(3506) found -[2045] Forked 3507 -(3507) found -[2044] Forked 3508 -(3508) found -[2043] Forked 3509 -(3509) found -[2042] Forked 3510 -(3510) found -[2041] Forked 3511 -(3511) found -[2040] Forked 3512 -(3512) found -[2039] Forked 3513 -(3513) found -[2038] Forked 3514 -(3514) found -[2037] Forked 3515 -(3515) found -[2036] Forked 3516 -(3516) found -[2035] Forked 3517 -(3517) found -[2034] Forked 3518 -(3518) found -[2033] Forked 3519 -(3519) found -[2032] Forked 3520 -(3520) found -[2031] Forked 3521 -(3521) found -[2030] Forked 3522 -(3522) found -[2029] Forked 3523 -(3523) found -[2028] Forked 3524 -(3524) found -[2027] Forked 3525 -(3525) found -[2026] Forked 3526 -(3526) found -[2025] Forked 3527 -(3527) found -[2024] Forked 3528 -(3528) found -[2023] Forked 3529 -(3529) found -[2022] Forked 3530 -(3530) found -[2021] Forked 3531 -(3531) found -[2020] Forked 3532 -(3532) found -[2019] Forked 3533 -(3533) found -[2018] Forked 3534 -[2017] Forked 3535 -(3534) found -(3535) found -[2016] Forked 3536 -[2015] Forked 3537 -(3536) found -(3537) found -[2014] Forked 3538 -[2013] Forked 3539 -(3538) found -(3539) found -[2012] Forked 3540 -[2011] Forked 3541 -(3540) found -(3541) found -[2010] Forked 3542 -[2009] Forked 3543 -(3542) found -(3543) found -[2008] Forked 3544 -[2007] Forked 3545 -(3544) found -(3545) found -[2006] Forked 3546 -[2005] Forked 3548 -(3546) found -(3548) found -[2004] Forked 3549 -(3549) found -[2003] Forked 3550 -(3550) found -[2002] Forked 3551 -(3551) found -[2001] Forked 3552 -(3552) found -[2000] Forked 3553 -(3553) found -[1999] Forked 3554 -(3554) found -[1998] Forked 3555 -(3555) found -[1997] Forked 3556 -(3556) found -[1996] Forked 3557 -(3557) found -[1995] Forked 3558 -(3558) found -[1994] Forked 3559 -(3559) found -[1993] Forked 3560 -(3560) found -[1992] Forked 3561 -(3561) found -[1991] Forked 3562 -(3562) found -[1990] Forked 3563 -(3563) found -[1989] Forked 3564 -(3564) found -[1988] Forked 3565 -(3565) found -[1987] Forked 3566 -(3566) found -[1986] Forked 3567 -(3567) found -[1985] Forked 3568 -(3568) found -[1984] Forked 3569 -(3569) found -[1983] Forked 3570 -(3570) found -[1982] Forked 3571 -(3571) found -[1981] Forked 3572 -(3572) found -[1980] Forked 3573 -(3573) found -[1979] Forked 3574 -(3574) found -[1978] Forked 3575 -(3575) found -[1977] Forked 3576 -(3576) found -[1976] Forked 3577 -(3577) found -[1975] Forked 3578 -(3578) found -[1974] Forked 3579 -(3579) found -[1973] Forked 3580 -(3580) found -[1972] Forked 3581 -(3581) found -[1971] Forked 3582 -(3582) found -[1970] Forked 3583 -(3583) found -[1969] Forked 3584 -(3584) found -[1968] Forked 3585 -(3585) found -[1967] Forked 3586 -(3586) found -[1966] Forked 3587 -(3587) found -[1965] Forked 3588 -(3588) found -[1964] Forked 3589 -(3589) found -[1963] Forked 3590 -(3590) found -[1962] Forked 3591 -(3591) found -[1961] Forked 3592 -(3592) found -[1960] Forked 3593 -(3593) found -[1959] Forked 3594 -(3594) found -[1958] Forked 3595 -(3595) found -[1957] Forked 3596 -(3596) found -[1956] Forked 3597 -(3597) found -[1955] Forked 3598 -(3598) found -[1954] Forked 3599 -(3599) found -[1953] Forked 3600 -(3600) found -[1952] Forked 3601 -(3601) found -[1951] Forked 3602 -(3602) found -[1950] Forked 3603 -(3603) found -[1949] Forked 3604 -(3604) found -[1948] Forked 3605 -(3605) found -[1947] Forked 3606 -(3606) found -[1946] Forked 3607 -(3607) found -[1945] Forked 3608 -[1944] Forked 3609 -(3608) found -(3609) found -[1943] Forked 3610 -[1942] Forked 3611 -(3610) found -(3611) found -[1941] Forked 3612 -[1940] Forked 3613 -(3612) found -(3613) found -[1939] Forked 3614 -[1938] Forked 3615 -(3614) found -(3615) found -[1937] Forked 3616 -[1936] Forked 3617 -(3616) found -(3617) found -[1935] Forked 3618 -[1934] Forked 3619 -(3618) found -(3619) found -[1933] Forked 3620 -[1932] Forked 3621 -(3620) found -(3621) found -[1931] Forked 3622 -[1930] Forked 3623 -(3622) found -(3623) found -[1929] Forked 3624 -[1928] Forked 3625 -(3624) found -(3625) found -[1927] Forked 3626 -[1926] Forked 3627 -(3626) found -(3627) found -[1925] Forked 3628 -[1924] Forked 3629 -(3628) found -(3629) found -[1923] Forked 3630 -[1922] Forked 3631 -(3630) found -(3631) found -[1921] Forked 3632 -[1920] Forked 3633 -(3632) found -(3633) found -[1919] Forked 3634 -[1918] Forked 3635 -(3634) found -(3635) found -[1917] Forked 3636 -[1916] Forked 3637 -(3636) found -(3637) found -[1915] Forked 3638 -[1914] Forked 3639 -(3638) found -(3639) found -[1913] Forked 3640 -[1912] Forked 3641 -(3640) found -(3641) found -[1911] Forked 3642 -[1910] Forked 3643 -(3642) found -(3643) found -[1909] Forked 3644 -[1908] Forked 3645 -(3644) found -(3645) found -[1907] Forked 3646 -[1906] Forked 3647 -(3646) found -(3647) found -[1905] Forked 3648 -[1904] Forked 3649 -(3648) found -(3649) found -[1903] Forked 3650 -[1902] Forked 3651 -(3650) found -(3651) found -[1901] Forked 3652 -(3652) found -[1900] Forked 3653 -(3653) found -[1899] Forked 3654 -(3654) found -[1898] Forked 3655 -(3655) found -[1897] Forked 3656 -(3656) found -[1896] Forked 3658 -(3658) found -[1895] Forked 3659 -(3659) found -[1894] Forked 3660 -(3660) found -[1893] Forked 3661 -(3661) found -[1892] Forked 3662 -(3662) found -[1891] Forked 3663 -(3663) found -[1890] Forked 3664 -(3664) found -[1889] Forked 3665 -(3665) found -[1888] Forked 3666 -(3666) found -[1887] Forked 3667 -(3667) found -[1886] Forked 3669 -(3669) found -[1885] Forked 3670 -(3670) found -[1884] Forked 3671 -(3671) found -[1883] Forked 3672 -(3672) found -[1882] Forked 3673 -(3673) found -[1881] Forked 3674 -(3674) found -[1880] Forked 3675 -(3675) found -[1879] Forked 3676 -(3676) found -[1878] Forked 3677 -(3677) found -[1877] Forked 3678 -(3678) found -[1876] Forked 3679 -(3679) found -[1875] Forked 3680 -(3680) found -[1874] Forked 3681 -(3681) found -[1873] Forked 3682 -(3682) found -[1872] Forked 3683 -(3683) found -[1871] Forked 3684 -(3684) found -[1870] Forked 3685 -(3685) found -[1869] Forked 3686 -(3686) found -[1868] Forked 3687 -(3687) found -[1867] Forked 3688 -(3688) found -[1866] Forked 3689 -(3689) found -[1865] Forked 3690 -(3690) found -[1864] Forked 3691 -(3691) found -[1863] Forked 3692 -[1862] Forked 3693 -(3692) found -(3693) found -[1861] Forked 3694 -[1860] Forked 3695 -(3694) found -(3695) found -[1859] Forked 3696 -[1858] Forked 3697 -(3696) found -(3697) found -[1857] Forked 3698 -[1856] Forked 3699 -(3698) found -(3699) found -[1855] Forked 3700 -[1854] Forked 3701 -(3700) found -(3701) found -[1853] Forked 3702 -[1852] Forked 3703 -(3702) found -(3703) found -[1851] Forked 3704 -[1850] Forked 3705 -(3704) found -(3705) found -[1849] Forked 3706 -[1848] Forked 3707 -(3706) found -(3707) found -[1847] Forked 3708 -[1846] Forked 3709 -(3708) found -(3709) found -[1845] Forked 3710 -[1844] Forked 3711 -(3710) found -(3711) found -[1843] Forked 3712 -[1842] Forked 3713 -(3712) found -(3713) found -[1841] Forked 3714 -[1840] Forked 3715 -(3714) found -(3715) found -[1839] Forked 3716 -[1838] Forked 3717 -(3716) found -(3717) found -[1837] Forked 3718 -[1836] Forked 3719 -(3718) found -(3719) found -[1835] Forked 3720 -[1834] Forked 3721 -(3720) found -(3721) found -[1833] Forked 3722 -[1832] Forked 3723 -(3722) found -(3723) found -[1831] Forked 3724 -[1830] Forked 3725 -(3724) found -(3725) found -[1829] Forked 3726 -[1828] Forked 3727 -(3726) found -(3727) found -[1827] Forked 3728 -[1826] Forked 3729 -(3728) found -(3729) found -[1825] Forked 3730 -[1824] Forked 3731 -(3730) found -(3731) found -[1823] Forked 3732 -[1822] Forked 3733 -(3732) found -(3733) found -[1821] Forked 3734 -[1820] Forked 3735 -(3735) found -(3734) found -[1819] Forked 3736 -(3736) found -[1818] Forked 3737 -(3737) found -[1817] Forked 3738 -(3738) found -[1816] Forked 3739 -(3739) found -[1815] Forked 3740 -(3740) found -[1814] Forked 3741 -(3741) found -[1813] Forked 3742 -(3742) found -[1812] Forked 3743 -(3743) found -[1811] Forked 3744 -(3744) found -[1810] Forked 3745 -(3745) found -[1809] Forked 3746 -(3746) found -[1808] Forked 3747 -(3747) found -[1807] Forked 3748 -(3748) found -[1806] Forked 3749 -(3749) found -[1805] Forked 3750 -(3750) found -[1804] Forked 3751 -(3751) found -[1803] Forked 3752 -(3752) found -[1802] Forked 3753 -(3753) found -[1801] Forked 3754 -(3754) found -[1800] Forked 3755 -(3755) found -[1799] Forked 3756 -(3756) found -[1798] Forked 3757 -(3757) found -[1797] Forked 3758 -(3758) found -[1796] Forked 3759 -(3759) found -[1795] Forked 3760 -(3760) found -[1794] Forked 3761 -(3761) found -[1793] Forked 3762 -(3762) found -[1792] Forked 3763 -(3763) found -[1791] Forked 3764 -(3764) found -[1790] Forked 3765 -(3765) found -[1789] Forked 3766 -(3766) found -[1788] Forked 3767 -(3767) found -[1787] Forked 3768 -(3768) found -[1786] Forked 3769 -(3769) found -[1785] Forked 3770 -(3770) found -[1784] Forked 3771 -(3771) found -[1783] Forked 3772 -(3772) found -[1782] Forked 3773 -(3773) found -[1781] Forked 3774 -[1780] Forked 3775 -(3774) found -(3775) found -[1779] Forked 3776 -[1778] Forked 3777 -(3776) found -(3777) found -[1777] Forked 3778 -[1776] Forked 3779 -(3778) found -(3779) found -[1775] Forked 3780 -[1774] Forked 3781 -(3780) found -(3781) found -[1773] Forked 3782 -[1772] Forked 3783 -(3782) found -(3783) found -[1771] Forked 3784 -[1770] Forked 3785 -(3784) found -(3785) found -[1769] Forked 3786 -[1768] Forked 3787 -(3786) found -(3787) found -[1767] Forked 3788 -[1766] Forked 3789 -(3788) found -(3789) found -[1765] Forked 3790 -[1764] Forked 3791 -(3790) found -(3791) found -[1763] Forked 3792 -[1762] Forked 3793 -(3792) found -(3793) found -[1761] Forked 3794 -[1760] Forked 3795 -(3794) found -(3795) found -[1759] Forked 3796 -[1758] Forked 3797 -(3796) found -(3797) found -[1757] Forked 3798 -[1756] Forked 3799 -(3798) found -(3799) found -[1755] Forked 3800 -[1754] Forked 3801 -(3800) found -(3801) found -[1753] Forked 3802 -[1752] Forked 3803 -(3802) found -(3803) found -[1751] Forked 3804 -[1750] Forked 3805 -(3804) found -(3805) found -[1749] Forked 3806 -[1748] Forked 3807 -(3806) found -(3807) found -[1747] Forked 3808 -[1746] Forked 3809 -(3808) found -(3809) found -[1745] Forked 3810 -[1744] Forked 3811 -(3810) found -(3811) found -[1743] Forked 3812 -[1742] Forked 3814 -(3812) found -(3814) found -[1741] Forked 3815 -[1740] Forked 3816 -(3815) found -(3816) found -[1739] Forked 3817 -(3817) found -[1738] Forked 3818 -(3818) found -[1737] Forked 3819 -(3819) found -[1736] Forked 3820 -(3820) found -[1735] Forked 3821 -(3821) found -[1734] Forked 3822 -(3822) found -[1733] Forked 3823 -(3823) found -[1732] Forked 3824 -(3824) found -[1731] Forked 3825 -(3825) found -[1730] Forked 3826 -(3826) found -[1729] Forked 3827 -(3827) found -[1728] Forked 3828 -(3828) found -[1727] Forked 3829 -(3829) found -[1726] Forked 3830 -(3830) found -[1725] Forked 3831 -(3831) found -[1724] Forked 3832 -(3832) found -[1723] Forked 3833 -(3833) found -[1722] Forked 3834 -(3834) found -[1721] Forked 3835 -(3835) found -[1720] Forked 3836 -(3836) found -[1719] Forked 3837 -(3837) found -[1718] Forked 3838 -(3838) found -[1717] Forked 3839 -(3839) found -[1716] Forked 3840 -(3840) found -[1715] Forked 3841 -(3841) found -[1714] Forked 3842 -(3842) found -[1713] Forked 3843 -(3843) found -[1712] Forked 3844 -(3844) found -[1711] Forked 3845 -(3845) found -[1710] Forked 3846 -(3846) found -[1709] Forked 3847 -(3847) found -[1708] Forked 3848 -(3848) found -[1707] Forked 3849 -(3849) found -[1706] Forked 3850 -(3850) found -[1705] Forked 3851 -(3851) found -[1704] Forked 3852 -(3852) found -[1703] Forked 3853 -(3853) found -[1702] Forked 3854 -(3854) found -[1701] Forked 3855 -(3855) found -[1700] Forked 3856 -[1699] Forked 3857 -(3856) found -(3857) found -[1698] Forked 3858 -[1697] Forked 3859 -(3858) found -(3859) found -[1696] Forked 3860 -[1695] Forked 3861 -(3860) found -(3861) found -[1694] Forked 3862 -[1693] Forked 3863 -(3862) found -(3863) found -[1692] Forked 3864 -[1691] Forked 3865 -(3864) found -(3865) found -[1690] Forked 3866 -[1689] Forked 3867 -(3866) found -(3867) found -[1688] Forked 3868 -[1687] Forked 3869 -(3868) found -(3869) found -[1686] Forked 3870 -[1685] Forked 3871 -(3870) found -(3871) found -[1684] Forked 3872 -[1683] Forked 3873 -(3872) found -(3873) found -[1682] Forked 3874 -[1681] Forked 3875 -(3874) found -(3875) found -[1680] Forked 3876 -[1679] Forked 3877 -(3876) found -(3877) found -[1678] Forked 3878 -[1677] Forked 3879 -(3878) found -(3879) found -[1676] Forked 3880 -[1675] Forked 3881 -(3880) found -(3881) found -[1674] Forked 3882 -[1673] Forked 3883 -(3882) found -(3883) found -[1672] Forked 3884 -[1671] Forked 3885 -(3884) found -(3885) found -[1670] Forked 3886 -[1669] Forked 3887 -(3886) found -(3887) found -[1668] Forked 3888 -[1667] Forked 3889 -(3888) found -(3889) found -[1666] Forked 3890 -[1665] Forked 3891 -(3890) found -(3891) found -[1664] Forked 3892 -[1663] Forked 3893 -(3892) found -(3893) found -[1662] Forked 3894 -[1661] Forked 3896 -(3894) found -(3896) found -[1660] Forked 3897 -(3897) found -[1659] Forked 3898 -(3898) found -[1658] Forked 3899 -(3899) found -[1657] Forked 3900 -(3900) found -[1656] Forked 3901 -(3901) found -[1655] Forked 3902 -(3902) found -[1654] Forked 3903 -(3903) found -[1653] Forked 3904 -(3904) found -[1652] Forked 3905 -(3905) found -[1651] Forked 3906 -(3906) found -[1650] Forked 3907 -(3907) found -[1649] Forked 3908 -(3908) found -[1648] Forked 3909 -(3909) found -[1647] Forked 3910 -(3910) found -[1646] Forked 3911 -(3911) found -[1645] Forked 3912 -(3912) found -[1644] Forked 3913 -(3913) found -[1643] Forked 3914 -(3914) found -[1642] Forked 3915 -(3915) found -[1641] Forked 3916 -(3916) found -[1640] Forked 3917 -(3917) found -[1639] Forked 3919 -(3919) found -[1638] Forked 3920 -(3920) found -[1637] Forked 3921 -(3921) found -[1636] Forked 3922 -(3922) found -[1635] Forked 3923 -(3923) found -[1634] Forked 3924 -(3924) found -[1633] Forked 3925 -(3925) found -[1632] Forked 3926 -(3926) found -[1631] Forked 3927 -(3927) found -[1630] Forked 3928 -(3928) found -[1629] Forked 3929 -(3929) found -[1628] Forked 3930 -(3930) found -[1627] Forked 3931 -(3931) found -[1626] Forked 3932 -(3932) found -[1625] Forked 3933 -(3933) found -[1624] Forked 3934 -(3934) found -[1623] Forked 3935 -(3935) found -[1622] Forked 3936 -(3936) found -[1621] Forked 3937 -(3937) found -[1620] Forked 3938 -(3938) found -[1619] Forked 3939 -(3939) found -[1618] Forked 3940 -(3940) found -[1617] Forked 3941 -(3941) found -[1616] Forked 3942 -(3942) found -[1615] Forked 3943 -(3943) found -[1614] Forked 3944 -(3944) found -[1613] Forked 3945 -(3945) found -[1612] Forked 3946 -(3946) found -[1611] Forked 3947 -(3947) found -[1610] Forked 3948 -(3948) found -[1609] Forked 3949 -(3949) found -[1608] Forked 3950 -(3950) found -[1607] Forked 3951 -(3951) found -[1606] Forked 3952 -(3952) found -[1605] Forked 3953 -(3953) found -[1604] Forked 3954 -(3954) found -[1603] Forked 3955 -(3955) found -[1602] Forked 3956 -(3956) found -[1601] Forked 3957 -(3957) found -[1600] Forked 3958 -(3958) found -[1599] Forked 3959 -(3959) found -[1598] Forked 3960 -(3960) found -[1597] Forked 3961 -(3961) found -[1596] Forked 3962 -(3962) found -[1595] Forked 3963 -(3963) found -[1594] Forked 3964 -(3964) found -[1593] Forked 3965 -(3965) found -[1592] Forked 3966 -(3966) found -[1591] Forked 3967 -(3967) found -[1590] Forked 3968 -(3968) found -[1589] Forked 3969 -[1588] Forked 3970 -(3969) found -(3970) found -[1587] Forked 3971 -[1586] Forked 3972 -(3971) found -(3972) found -[1585] Forked 3973 -[1584] Forked 3974 -(3973) found -(3974) found -[1583] Forked 3975 -[1582] Forked 3976 -(3975) found -(3976) found -[1581] Forked 3977 -[1580] Forked 3978 -(3977) found -(3978) found -[1579] Forked 3979 -[1578] Forked 3980 -(3979) found -(3980) found -[1577] Forked 3981 -[1576] Forked 3982 -(3981) found -(3982) found -[1575] Forked 3983 -[1574] Forked 3984 -(3983) found -(3984) found -[1573] Forked 3985 -[1572] Forked 3986 -(3985) found -(3986) found -[1571] Forked 3987 -[1570] Forked 3988 -(3987) found -(3988) found -[1569] Forked 3989 -[1568] Forked 3990 -(3989) found -(3990) found -[1567] Forked 3991 -[1566] Forked 3992 -(3991) found -(3992) found -[1565] Forked 3993 -[1564] Forked 3994 -(3993) found -(3994) found -[1563] Forked 3995 -[1562] Forked 3996 -(3995) found -(3996) found -[1561] Forked 3997 -[1560] Forked 3998 -(3997) found -(3998) found -[1559] Forked 3999 -[1558] Forked 4000 -(3999) found -(4000) found -[1557] Forked 4001 -[1556] Forked 4002 -(4001) found -(4002) found -[1555] Forked 4003 -[1554] Forked 4004 -(4003) found -(4004) found -[1553] Forked 4005 -[1552] Forked 4006 -(4005) found -(4006) found -[1551] Forked 4007 -[1550] Forked 4008 -(4007) found -(4008) found -[1549] Forked 4009 -[1548] Forked 4010 -(4009) found -(4010) found -[1547] Forked 4011 -[1546] Forked 4012 -(4011) found -(4012) found -[1545] Forked 4013 -[1544] Forked 4015 -(4013) found -(4015) found -[1543] Forked 4016 -(4016) found -[1542] Forked 4017 -(4017) found -[1541] Forked 4018 -(4018) found -[1540] Forked 4019 -(4019) found -[1539] Forked 4020 -(4020) found -[1538] Forked 4021 -(4021) found -[1537] Forked 4022 -(4022) found -[1536] Forked 4023 -(4023) found -[1535] Forked 4024 -(4024) found -[1534] Forked 4025 -(4025) found -[1533] Forked 4026 -(4026) found -[1532] Forked 4028 -(4028) found -[1531] Forked 4029 -(4029) found -[1530] Forked 4030 -(4030) found -[1529] Forked 4031 -(4031) found -[1528] Forked 4032 -(4032) found -[1527] Forked 4034 -(4034) found -[1526] Forked 4035 -(4035) found -[1525] Forked 4036 -(4036) found -[1524] Forked 4037 -(4037) found -[1523] Forked 4038 -(4038) found -[1522] Forked 4039 -(4039) found -[1521] Forked 4040 -(4040) found -[1520] Forked 4041 -(4041) found -[1519] Forked 4042 -(4042) found -[1518] Forked 4043 -(4043) found -[1517] Forked 4044 -(4044) found -[1516] Forked 4045 -(4045) found -[1515] Forked 4046 -(4046) found -[1514] Forked 4047 -(4047) found -[1513] Forked 4048 -(4048) found -[1512] Forked 4049 -(4049) found -[1511] Forked 4052 -(4052) found -[1510] Forked 4053 -(4053) found -[1509] Forked 4054 -(4054) found -[1508] Forked 4055 -(4055) found -[1507] Forked 4056 -[1506] Forked 4057 -(4056) found -(4057) found -[1505] Forked 4058 -[1504] Forked 4059 -(4058) found -(4059) found -[1503] Forked 4060 -[1502] Forked 4061 -(4060) found -(4061) found -[1501] Forked 4062 -[1500] Forked 4063 -(4062) found -(4063) found -[1499] Forked 4064 -[1498] Forked 4065 -(4064) found -(4065) found -[1497] Forked 4066 -[1496] Forked 4067 -(4066) found -(4067) found -[1495] Forked 4068 -[1494] Forked 4069 -(4068) found -(4069) found -[1493] Forked 4070 -[1492] Forked 4071 -(4070) found -(4071) found -[1491] Forked 4072 -[1490] Forked 4074 -(4072) found -(4074) found -[1489] Forked 4075 -[1488] Forked 4076 -(4075) found -(4076) found -[1487] Forked 4077 -[1486] Forked 4078 -(4077) found -(4078) found -[1485] Forked 4079 -[1484] Forked 4080 -(4079) found -(4080) found -[1483] Forked 4081 -[1482] Forked 4082 -(4081) found -(4082) found -[1481] Forked 4083 -[1480] Forked 4086 -(4083) found -(4086) found -[1479] Forked 4088 -[1478] Forked 4089 -(4088) found -(4089) found -[1477] Forked 4090 -[1476] Forked 4093 -(4090) found -(4093) found -[1475] Forked 4095 -[1474] Forked 4096 -(4095) found -(4096) found -[1473] Forked 4097 -[1472] Forked 4098 -(4097) found -(4098) found -[1471] Forked 4099 -[1470] Forked 4100 -(4099) found -(4100) found -[1469] Forked 4101 -[1468] Forked 4102 -(4101) found -(4102) found -[1467] Forked 4103 -[1466] Forked 4104 -(4103) found -(4104) found -[1465] Forked 4105 -[1464] Forked 4106 -(4105) found -(4106) found -[1463] Forked 4107 -[1462] Forked 4108 -(4107) found -(4108) found -[1461] Forked 4109 -[1460] Forked 4110 -(4109) found -(4110) found -[1459] Forked 4111 -[1458] Forked 4112 -(4111) found -(4112) found -[1457] Forked 4113 -[1456] Forked 4114 -(4113) found -(4114) found -[1455] Forked 4115 -[1454] Forked 4116 -(4115) found -(4116) found -[1453] Forked 4117 -[1452] Forked 4118 -(4117) found -(4118) found -[1451] Forked 4119 -[1450] Forked 4120 -(4119) found -(4120) found -[1449] Forked 4121 -[1448] Forked 4122 -(4121) found -(4122) found -[1447] Forked 4123 -[1446] Forked 4124 -(4123) found -(4124) found -[1445] Forked 4125 -[1444] Forked 4126 -(4125) found -(4126) found -[1443] Forked 4127 -[1442] Forked 4128 -(4127) found -(4128) found -[1441] Forked 4129 -[1440] Forked 4130 -(4129) found -(4130) found -[1439] Forked 4131 -[1438] Forked 4132 -(4131) found -(4132) found -[1437] Forked 4133 -[1436] Forked 4134 -(4133) found -(4134) found -[1435] Forked 4135 -[1434] Forked 4136 -(4135) found -(4136) found -[1433] Forked 4137 -[1432] Forked 4138 -(4137) found -(4138) found -[1431] Forked 4139 -[1430] Forked 4140 -(4139) found -(4140) found -[1429] Forked 4141 -[1428] Forked 4142 -(4141) found -(4142) found -[1427] Forked 4143 -[1426] Forked 4144 -(4143) found -(4144) found -[1425] Forked 4145 -[1424] Forked 4146 -(4145) found -(4146) found -[1423] Forked 4147 -[1422] Forked 4148 -(4147) found -(4148) found -[1421] Forked 4149 -[1420] Forked 4150 -(4149) found -(4150) found -[1419] Forked 4151 -[1418] Forked 4152 -(4151) found -(4152) found -[1417] Forked 4153 -(4153) found -[1416] Forked 4154 -(4154) found -[1415] Forked 4155 -(4155) found -[1414] Forked 4156 -(4156) found -[1413] Forked 4157 -(4157) found -[1412] Forked 4158 -(4158) found -[1411] Forked 4159 -(4159) found -[1410] Forked 4160 -(4160) found -[1409] Forked 4161 -(4161) found -[1408] Forked 4162 -(4162) found -[1407] Forked 4163 -(4163) found -[1406] Forked 4164 -(4164) found -[1405] Forked 4165 -(4165) found -[1404] Forked 4166 -(4166) found -[1403] Forked 4167 -(4167) found -[1402] Forked 4168 -(4168) found -[1401] Forked 4169 -(4169) found -[1400] Forked 4170 -(4170) found -[1399] Forked 4171 -(4171) found -[1398] Forked 4172 -(4172) found -[1397] Forked 4173 -(4173) found -[1396] Forked 4174 -(4174) found -[1395] Forked 4175 -(4175) found -[1394] Forked 4176 -(4176) found -[1393] Forked 4177 -(4177) found -[1392] Forked 4178 -(4178) found -[1391] Forked 4179 -(4179) found -[1390] Forked 4180 -(4180) found -[1389] Forked 4181 -(4181) found -[1388] Forked 4182 -(4182) found -[1387] Forked 4183 -(4183) found -[1386] Forked 4184 -(4184) found -[1385] Forked 4185 -(4185) found -[1384] Forked 4186 -(4186) found -[1383] Forked 4187 -(4187) found -[1382] Forked 4188 -(4188) found -[1381] Forked 4189 -(4189) found -[1380] Forked 4190 -(4190) found -[1379] Forked 4191 -[1378] Forked 4192 -(4191) found -(4192) found -[1377] Forked 4193 -[1376] Forked 4194 -(4193) found -(4194) found -[1375] Forked 4195 -[1374] Forked 4196 -(4195) found -(4196) found -[1373] Forked 4197 -[1372] Forked 4198 -(4197) found -(4198) found -[1371] Forked 4199 -[1370] Forked 4200 -(4199) found -(4200) found -[1369] Forked 4201 -[1368] Forked 4202 -(4201) found -(4202) found -[1367] Forked 4203 -[1366] Forked 4204 -(4203) found -(4204) found -[1365] Forked 4205 -[1364] Forked 4206 -(4205) found -(4206) found -[1363] Forked 4207 -[1362] Forked 4208 -(4207) found -(4208) found -[1361] Forked 4209 -[1360] Forked 4210 -(4209) found -(4210) found -[1359] Forked 4211 -[1358] Forked 4212 -(4211) found -(4212) found -[1357] Forked 4213 -[1356] Forked 4214 -(4213) found -(4214) found -[1355] Forked 4215 -[1354] Forked 4216 -(4215) found -(4216) found -[1353] Forked 4217 -[1352] Forked 4218 -(4217) found -(4218) found -[1351] Forked 4219 -[1350] Forked 4220 -(4219) found -(4220) found -[1349] Forked 4221 -[1348] Forked 4222 -(4221) found -(4222) found -[1347] Forked 4223 -[1346] Forked 4224 -(4223) found -(4224) found -[1345] Forked 4225 -[1344] Forked 4226 -(4225) found -(4226) found -[1343] Forked 4227 -[1342] Forked 4228 -(4227) found -(4228) found -[1341] Forked 4229 -(4229) found -[1340] Forked 4230 -[1339] Forked 4231 -(4230) found -(4231) found -[1338] Forked 4232 -[1337] Forked 4233 -(4232) found -(4233) found -[1336] Forked 4234 -(4234) found -[1335] Forked 4235 -(4235) found -[1334] Forked 4236 -(4236) found -[1333] Forked 4237 -(4237) found -[1332] Forked 4238 -(4238) found -[1331] Forked 4239 -(4239) found -[1330] Forked 4240 -(4240) found -[1329] Forked 4242 -(4242) found -[1328] Forked 4243 -(4243) found -[1327] Forked 4244 -(4244) found -[1326] Forked 4245 -(4245) found -[1325] Forked 4247 -(4247) found -[1324] Forked 4248 -(4248) found -[1323] Forked 4249 -(4249) found -[1322] Forked 4250 -(4250) found -[1321] Forked 4251 -(4251) found -[1320] Forked 4252 -(4252) found -[1319] Forked 4254 -(4254) found -[1318] Forked 4255 -(4255) found -[1317] Forked 4256 -(4256) found -[1316] Forked 4257 -(4257) found -[1315] Forked 4258 -(4258) found -[1314] Forked 4259 -(4259) found -[1313] Forked 4260 -(4260) found -[1312] Forked 4261 -(4261) found -[1311] Forked 4262 -(4262) found -[1310] Forked 4263 -(4263) found -[1309] Forked 4264 -(4264) found -[1308] Forked 4265 -(4265) found -[1307] Forked 4266 -(4266) found -[1306] Forked 4267 -(4267) found -[1305] Forked 4268 -(4268) found -[1304] Forked 4269 -(4269) found -[1303] Forked 4270 -(4270) found -[1302] Forked 4271 -(4271) found -[1301] Forked 4272 -(4272) found -[1300] Forked 4273 -(4273) found -[1299] Forked 4274 -(4274) found -[1298] Forked 4275 -(4275) found -[1297] Forked 4276 -[1296] Forked 4277 -(4276) found -(4277) found -[1295] Forked 4278 -[1294] Forked 4279 -(4278) found -(4279) found -[1293] Forked 4280 -[1292] Forked 4281 -(4280) found -(4281) found -[1291] Forked 4282 -[1290] Forked 4284 -(4282) found -(4284) found -[1289] Forked 4285 -[1288] Forked 4286 -(4285) found -(4286) found -[1287] Forked 4287 -[1286] Forked 4288 -(4287) found -(4288) found -[1285] Forked 4289 -[1284] Forked 4290 -(4290) found -(4289) found -[1283] Forked 4291 -(4291) found -[1282] Forked 4292 -(4292) found -[1281] Forked 4293 -(4293) found -[1280] Forked 4294 -(4294) found -[1279] Forked 4295 -(4295) found -[1278] Forked 4296 -(4296) found -[1277] Forked 4297 -(4297) found -[1276] Forked 4298 -(4298) found -[1275] Forked 4299 -(4299) found -[1274] Forked 4300 -(4300) found -[1273] Forked 4301 -(4301) found -[1272] Forked 4302 -(4302) found -[1271] Forked 4303 -(4303) found -[1270] Forked 4304 -(4304) found -[1269] Forked 4305 -(4305) found -[1268] Forked 4306 -(4306) found -[1267] Forked 4307 -(4307) found -[1266] Forked 4308 -(4308) found -[1265] Forked 4309 -(4309) found -[1264] Forked 4310 -(4310) found -[1263] Forked 4311 -(4311) found -[1262] Forked 4312 -(4312) found -[1261] Forked 4313 -(4313) found -[1260] Forked 4314 -(4314) found -[1259] Forked 4315 -(4315) found -[1258] Forked 4316 -(4316) found -[1257] Forked 4317 -(4317) found -[1256] Forked 4318 -(4318) found -[1255] Forked 4319 -(4319) found -[1254] Forked 4320 -(4320) found -[1253] Forked 4321 -(4321) found -[1252] Forked 4322 -(4322) found -[1251] Forked 4323 -(4323) found -[1250] Forked 4324 -(4324) found -[1249] Forked 4325 -(4325) found -[1248] Forked 4326 -(4326) found -[1247] Forked 4327 -(4327) found -[1246] Forked 4328 -(4328) found -[1245] Forked 4329 -(4329) found -[1244] Forked 4330 -(4330) found -[1243] Forked 4331 -(4331) found -[1242] Forked 4332 -(4332) found -[1241] Forked 4333 -(4333) found -[1240] Forked 4334 -(4334) found -[1239] Forked 4335 -(4335) found -[1238] Forked 4336 -(4336) found -[1237] Forked 4337 -(4337) found -[1236] Forked 4338 -(4338) found -[1235] Forked 4339 -(4339) found -[1234] Forked 4340 -(4340) found -[1233] Forked 4341 -(4341) found -[1232] Forked 4342 -(4342) found -[1231] Forked 4343 -(4343) found -[1230] Forked 4344 -(4344) found -[1229] Forked 4345 -(4345) found -[1228] Forked 4346 -(4346) found -[1227] Forked 4347 -(4347) found -[1226] Forked 4348 -(4348) found -[1225] Forked 4349 -[1224] Forked 4350 -(4349) found -(4350) found -[1223] Forked 4351 -[1222] Forked 4352 -(4351) found -(4352) found -[1221] Forked 4353 -[1220] Forked 4354 -(4353) found -(4354) found -[1219] Forked 4355 -[1218] Forked 4356 -(4355) found -(4356) found -[1217] Forked 4357 -[1216] Forked 4358 -(4357) found -(4358) found -[1215] Forked 4359 -[1214] Forked 4360 -(4359) found -(4360) found -[1213] Forked 4361 -[1212] Forked 4362 -(4361) found -(4362) found -[1211] Forked 4363 -[1210] Forked 4364 -(4363) found -(4364) found -[1209] Forked 4365 -[1208] Forked 4366 -(4365) found -(4366) found -[1207] Forked 4367 -[1206] Forked 4368 -(4367) found -(4368) found -[1205] Forked 4369 -[1204] Forked 4370 -(4369) found -(4370) found -[1203] Forked 4371 -[1202] Forked 4372 -(4371) found -(4372) found -[1201] Forked 4373 -[1200] Forked 4374 -(4373) found -(4374) found -[1199] Forked 4375 -[1198] Forked 4376 -(4375) found -(4376) found -[1197] Forked 4377 -[1196] Forked 4378 -(4377) found -(4378) found -[1195] Forked 4379 -[1194] Forked 4380 -(4379) found -(4380) found -[1193] Forked 4381 -[1192] Forked 4382 -(4381) found -(4382) found -[1191] Forked 4383 -[1190] Forked 4384 -(4383) found -(4384) found -[1189] Forked 4385 -[1188] Forked 4386 -(4385) found -(4386) found -[1187] Forked 4387 -[1186] Forked 4388 -(4387) found -(4388) found -[1185] Forked 4389 -[1184] Forked 4390 -(4389) found -(4390) found -[1183] Forked 4391 -[1182] Forked 4392 -(4391) found -(4392) found -[1181] Forked 4393 -(4393) found -[1180] Forked 4394 -(4394) found -[1179] Forked 4395 -(4395) found -[1178] Forked 4396 -(4396) found -[1177] Forked 4397 -(4397) found -[1176] Forked 4398 -(4398) found -[1175] Forked 4399 -(4399) found -[1174] Forked 4400 -(4400) found -[1173] Forked 4401 -(4401) found -[1172] Forked 4402 -(4402) found -[1171] Forked 4403 -(4403) found -[1170] Forked 4404 -(4404) found -[1169] Forked 4405 -(4405) found -[1168] Forked 4406 -(4406) found -[1167] Forked 4407 -(4407) found -[1166] Forked 4408 -(4408) found -[1165] Forked 4409 -(4409) found -[1164] Forked 4410 -(4410) found -[1163] Forked 4411 -(4411) found -[1162] Forked 4412 -(4412) found -[1161] Forked 4413 -(4413) found -[1160] Forked 4414 -(4414) found -[1159] Forked 4415 -(4415) found -[1158] Forked 4416 -(4416) found -[1157] Forked 4417 -(4417) found -[1156] Forked 4418 -(4418) found -[1155] Forked 4419 -(4419) found -[1154] Forked 4420 -(4420) found -[1153] Forked 4421 -(4421) found -[1152] Forked 4422 -(4422) found -[1151] Forked 4423 -(4423) found -[1150] Forked 4424 -(4424) found -[1149] Forked 4425 -(4425) found -[1148] Forked 4426 -(4426) found -[1147] Forked 4427 -(4427) found -[1146] Forked 4428 -(4428) found -[1145] Forked 4429 -(4429) found -[1144] Forked 4430 -(4430) found -[1143] Forked 4431 -[1142] Forked 4432 -(4431) found -(4432) found -[1141] Forked 4433 -[1140] Forked 4434 -(4433) found -(4434) found -[1139] Forked 4435 -[1138] Forked 4436 -(4435) found -(4436) found -[1137] Forked 4437 -[1136] Forked 4438 -(4437) found -(4438) found -[1135] Forked 4439 -[1134] Forked 4440 -(4439) found -(4440) found -[1133] Forked 4441 -[1132] Forked 4442 -(4441) found -(4442) found -[1131] Forked 4443 -[1130] Forked 4444 -(4443) found -(4444) found -[1129] Forked 4445 -[1128] Forked 4446 -(4445) found -(4446) found -[1127] Forked 4447 -[1126] Forked 4448 -(4447) found -(4448) found -[1125] Forked 4449 -[1124] Forked 4450 -(4449) found -(4450) found -[1123] Forked 4451 -[1122] Forked 4452 -(4451) found -(4452) found -[1121] Forked 4453 -[1120] Forked 4454 -(4453) found -(4454) found -[1119] Forked 4455 -[1118] Forked 4456 -(4455) found -(4456) found -[1117] Forked 4457 -[1116] Forked 4458 -(4457) found -(4458) found -[1115] Forked 4459 -[1114] Forked 4460 -(4459) found -(4460) found -[1113] Forked 4461 -[1112] Forked 4462 -(4461) found -(4462) found -[1111] Forked 4463 -[1110] Forked 4464 -(4463) found -(4464) found -[1109] Forked 4465 -[1108] Forked 4466 -(4465) found -(4466) found -[1107] Forked 4467 -[1106] Forked 4468 -(4467) found -(4468) found -[1105] Forked 4469 -[1104] Forked 4470 -(4469) found -(4470) found -[1103] Forked 4471 -[1102] Forked 4472 -(4471) found -(4472) found -[1101] Forked 4473 -[1100] Forked 4474 -(4473) found -(4474) found -[1099] Forked 4475 -(4475) found -[1098] Forked 4476 -(4476) found -[1097] Forked 4477 -(4477) found -[1096] Forked 4478 -(4478) found -[1095] Forked 4479 -(4479) found -[1094] Forked 4480 -(4480) found -[1093] Forked 4481 -(4481) found -[1092] Forked 4482 -(4482) found -[1091] Forked 4483 -(4483) found -[1090] Forked 4484 -(4484) found -[1089] Forked 4485 -(4485) found -[1088] Forked 4486 -(4486) found -[1087] Forked 4487 -(4487) found -[1086] Forked 4488 -(4488) found -[1085] Forked 4489 -(4489) found -[1084] Forked 4490 -(4490) found -[1083] Forked 4491 -(4491) found -[1082] Forked 4492 -(4492) found -[1081] Forked 4493 -(4493) found -[1080] Forked 4494 -(4494) found -[1079] Forked 4495 -(4495) found -[1078] Forked 4496 -(4496) found -[1077] Forked 4497 -(4497) found -[1076] Forked 4498 -(4498) found -[1075] Forked 4499 -(4499) found -[1074] Forked 4500 -(4500) found -[1073] Forked 4501 -(4501) found -[1072] Forked 4502 -(4502) found -[1071] Forked 4503 -(4503) found -[1070] Forked 4504 -(4504) found -[1069] Forked 4505 -(4505) found -[1068] Forked 4506 -(4506) found -[1067] Forked 4507 -(4507) found -[1066] Forked 4508 -(4508) found -[1065] Forked 4509 -(4509) found -[1064] Forked 4510 -(4510) found -[1063] Forked 4511 -(4511) found -[1062] Forked 4512 -(4512) found -[1061] Forked 4513 -(4513) found -[1060] Forked 4514 -[1059] Forked 4515 -(4514) found -(4515) found -[1058] Forked 4516 -[1057] Forked 4517 -(4516) found -(4517) found -[1056] Forked 4518 -[1055] Forked 4519 -(4518) found -(4519) found -[1054] Forked 4520 -[1053] Forked 4521 -(4520) found -(4521) found -[1052] Forked 4522 -[1051] Forked 4523 -(4522) found -(4523) found -[1050] Forked 4524 -[1049] Forked 4525 -(4524) found -(4525) found -[1048] Forked 4526 -[1047] Forked 4527 -(4526) found -(4527) found -[1046] Forked 4528 -[1045] Forked 4529 -(4528) found -(4529) found -[1044] Forked 4530 -[1043] Forked 4531 -(4530) found -(4531) found -[1042] Forked 4532 -[1041] Forked 4533 -(4532) found -(4533) found -[1040] Forked 4534 -(4534) found -[1039] Forked 4535 -(4535) found -[1038] Forked 4536 -[1037] Forked 4537 -(4536) found -(4537) found -[1036] Forked 4538 -[1035] Forked 4539 -(4538) found -(4539) found -[1034] Forked 4540 -[1033] Forked 4541 -(4540) found -(4541) found -[1032] Forked 4542 -[1031] Forked 4543 -(4542) found -(4543) found -[1030] Forked 4544 -[1029] Forked 4545 -(4544) found -(4545) found -[1028] Forked 4546 -[1027] Forked 4547 -(4546) found -(4547) found -[1026] Forked 4548 -[1025] Forked 4549 -(4548) found -(4549) found -[1024] Forked 4550 -[1023] Forked 4551 -(4550) found -(4551) found -[1022] Forked 4552 -[1021] Forked 4553 -(4552) found -(4553) found -[1020] Forked 4554 -[1019] Forked 4555 -(4554) found -(4555) found -[1018] Forked 4556 -(4556) found -[1017] Forked 4557 -(4557) found -[1016] Forked 4558 -(4558) found -[1015] Forked 4559 -(4559) found -[1014] Forked 4560 -(4560) found -[1013] Forked 4561 -(4561) found -[1012] Forked 4562 -(4562) found -[1011] Forked 4563 -(4563) found -[1010] Forked 4564 -(4564) found -[1009] Forked 4565 -(4565) found -[1008] Forked 4566 -(4566) found -[1007] Forked 4567 -(4567) found -[1006] Forked 4568 -(4568) found -[1005] Forked 4569 -(4569) found -[1004] Forked 4570 -(4570) found -[1003] Forked 4571 -(4571) found -[1002] Forked 4572 -(4572) found -[1001] Forked 4573 -(4573) found -[1000] Forked 4574 -(4574) found -[999] Forked 4575 -(4575) found -[998] Forked 4576 -(4576) found -[997] Forked 4577 -(4577) found -[996] Forked 4578 -(4578) found -[995] Forked 4579 -(4579) found -[994] Forked 4580 -(4580) found -[993] Forked 4581 -(4581) found -[992] Forked 4582 -(4582) found -[991] Forked 4583 -(4583) found -[990] Forked 4584 -(4584) found -[989] Forked 4585 -(4585) found -[988] Forked 4586 -(4586) found -[987] Forked 4587 -(4587) found -[986] Forked 4588 -(4588) found -[985] Forked 4589 -(4589) found -[984] Forked 4590 -(4590) found -[983] Forked 4591 -(4591) found -[982] Forked 4593 -(4593) found -[981] Forked 4594 -(4594) found -[980] Forked 4595 -(4595) found -[979] Forked 4596 -[978] Forked 4597 -(4596) found -(4597) found -[977] Forked 4598 -[976] Forked 4599 -(4598) found -(4599) found -[975] Forked 4600 -[974] Forked 4601 -(4600) found -(4601) found -[973] Forked 4602 -[972] Forked 4603 -(4602) found -(4603) found -[971] Forked 4604 -[970] Forked 4605 -(4604) found -(4605) found -[969] Forked 4606 -[968] Forked 4607 -(4606) found -(4607) found -[967] Forked 4608 -[966] Forked 4609 -(4608) found -(4609) found -[965] Forked 4610 -[964] Forked 4611 -(4610) found -(4611) found -[963] Forked 4612 -[962] Forked 4613 -(4612) found -(4613) found -[961] Forked 4614 -[960] Forked 4615 -(4614) found -(4615) found -[959] Forked 4616 -[958] Forked 4617 -(4616) found -(4617) found -[957] Forked 4618 -[956] Forked 4619 -(4618) found -(4619) found -[955] Forked 4620 -[954] Forked 4621 -(4620) found -(4621) found -[953] Forked 4622 -[952] Forked 4623 -(4623) found -(4622) found -[951] Forked 4624 -(4624) found -[950] Forked 4625 -(4625) found -[949] Forked 4626 -(4626) found -[948] Forked 4627 -(4627) found -[947] Forked 4628 -(4628) found -[946] Forked 4629 -(4629) found -[945] Forked 4630 -(4630) found -[944] Forked 4631 -(4631) found -[943] Forked 4632 -(4632) found -[942] Forked 4633 -[941] Forked 4634 -(4633) found -(4634) found -[940] Forked 4635 -[939] Forked 4636 -(4636) found -(4635) found -[938] Forked 4637 -(4637) found -[937] Forked 4638 -(4638) found -[936] Forked 4639 -(4639) found -[935] Forked 4640 -(4640) found -[934] Forked 4641 -(4641) found -[933] Forked 4642 -(4642) found -[932] Forked 4643 -(4643) found -[931] Forked 4644 -(4644) found -[930] Forked 4645 -(4645) found -[929] Forked 4646 -(4646) found -[928] Forked 4647 -(4647) found -[927] Forked 4648 -(4648) found -[926] Forked 4649 -(4649) found -[925] Forked 4650 -(4650) found -[924] Forked 4651 -(4651) found -[923] Forked 4652 -(4652) found -[922] Forked 4653 -(4653) found -[921] Forked 4654 -(4654) found -[920] Forked 4655 -(4655) found -[919] Forked 4656 -(4656) found -[918] Forked 4657 -(4657) found -[917] Forked 4658 -(4658) found -[916] Forked 4659 -(4659) found -[915] Forked 4660 -(4660) found -[914] Forked 4661 -(4661) found -[913] Forked 4662 -(4662) found -[912] Forked 4663 -(4663) found -[911] Forked 4664 -(4664) found -[910] Forked 4665 -(4665) found -[909] Forked 4666 -(4666) found -[908] Forked 4667 -(4667) found -[907] Forked 4668 -(4668) found -[906] Forked 4669 -(4669) found -[905] Forked 4670 -(4670) found -[904] Forked 4671 -(4671) found -[903] Forked 4672 -(4672) found -[902] Forked 4673 -(4673) found -[901] Forked 4674 -[900] Forked 4675 -(4674) found -(4675) found -[899] Forked 4676 -[898] Forked 4677 -(4676) found -(4677) found -[897] Forked 4678 -[896] Forked 4679 -(4678) found -(4679) found -[895] Forked 4680 -[894] Forked 4681 -(4680) found -(4681) found -[893] Forked 4682 -[892] Forked 4683 -(4682) found -(4683) found -[891] Forked 4684 -[890] Forked 4685 -(4684) found -(4685) found -[889] Forked 4686 -[888] Forked 4687 -(4686) found -(4687) found -[887] Forked 4688 -[886] Forked 4689 -(4688) found -(4689) found -[885] Forked 4690 -[884] Forked 4691 -(4690) found -(4691) found -[883] Forked 4692 -[882] Forked 4693 -(4692) found -(4693) found -[881] Forked 4694 -[880] Forked 4695 -(4694) found -(4695) found -[879] Forked 4696 -[878] Forked 4697 -(4696) found -(4697) found -[877] Forked 4698 -[876] Forked 4699 -(4698) found -(4699) found -[875] Forked 4700 -[874] Forked 4701 -(4700) found -(4701) found -[873] Forked 4702 -[872] Forked 4703 -(4702) found -(4703) found -[871] Forked 4704 -[870] Forked 4705 -(4704) found -(4705) found -[869] Forked 4706 -[868] Forked 4707 -(4706) found -(4707) found -[867] Forked 4708 -[866] Forked 4709 -(4708) found -(4709) found -[865] Forked 4710 -[864] Forked 4711 -(4710) found -(4711) found -[863] Forked 4712 -[862] Forked 4713 -(4712) found -(4713) found -[861] Forked 4714 -[860] Forked 4715 -(4714) found -(4715) found -[859] Forked 4716 -[858] Forked 4717 -(4716) found -(4717) found -[857] Forked 4718 -(4718) found -[856] Forked 4719 -(4719) found -[855] Forked 4720 -(4720) found -[854] Forked 4721 -(4721) found -[853] Forked 4722 -(4722) found -[852] Forked 4723 -(4723) found -[851] Forked 4724 -(4724) found -[850] Forked 4725 -(4725) found -[849] Forked 4726 -(4726) found -[848] Forked 4727 -(4727) found -[847] Forked 4728 -(4728) found -[846] Forked 4729 -(4729) found -[845] Forked 4730 -(4730) found -[844] Forked 4731 -(4731) found -[843] Forked 4732 -(4732) found -[842] Forked 4733 -(4733) found -[841] Forked 4734 -(4734) found -[840] Forked 4735 -(4735) found -[839] Forked 4736 -(4736) found -[838] Forked 4737 -(4737) found -[837] Forked 4738 -(4738) found -[836] Forked 4739 -(4739) found -[835] Forked 4740 -(4740) found -[834] Forked 4741 -(4741) found -[833] Forked 4742 -(4742) found -[832] Forked 4743 -(4743) found -[831] Forked 4744 -(4744) found -[830] Forked 4745 -(4745) found -[829] Forked 4746 -(4746) found -[828] Forked 4747 -(4747) found -[827] Forked 4748 -(4748) found -[826] Forked 4749 -(4749) found -[825] Forked 4750 -(4750) found -[824] Forked 4751 -(4751) found -[823] Forked 4752 -(4752) found -[822] Forked 4753 -(4753) found -[821] Forked 4754 -(4754) found -[820] Forked 4755 -(4755) found -[819] Forked 4756 -(4756) found -[818] Forked 4757 -(4757) found -[817] Forked 4758 -[816] Forked 4759 -(4758) found -(4759) found -[815] Forked 4760 -[814] Forked 4761 -(4760) found -(4761) found -[813] Forked 4762 -[812] Forked 4763 -(4762) found -(4763) found -[811] Forked 4764 -[810] Forked 4765 -(4764) found -(4765) found -[809] Forked 4766 -[808] Forked 4767 -(4766) found -(4767) found -[807] Forked 4768 -[806] Forked 4769 -(4768) found -(4769) found -[805] Forked 4770 -[804] Forked 4771 -(4770) found -(4771) found -[803] Forked 4772 -[802] Forked 4773 -(4772) found -(4773) found -[801] Forked 4774 -[800] Forked 4775 -(4774) found -(4775) found -[799] Forked 4776 -[798] Forked 4777 -(4776) found -(4777) found -[797] Forked 4778 -[796] Forked 4779 -(4778) found -(4779) found -[795] Forked 4780 -[794] Forked 4781 -(4780) found -(4781) found -[793] Forked 4782 -[792] Forked 4783 -(4782) found -(4783) found -[791] Forked 4784 -[790] Forked 4785 -(4784) found -(4785) found -[789] Forked 4786 -[788] Forked 4787 -(4786) found -(4787) found -[787] Forked 4788 -[786] Forked 4789 -(4788) found -(4789) found -[785] Forked 4790 -[784] Forked 4791 -(4790) found -(4791) found -[783] Forked 4792 -[782] Forked 4793 -(4792) found -(4793) found -[781] Forked 4794 -[780] Forked 4795 -(4794) found -(4795) found -[779] Forked 4796 -[778] Forked 4797 -(4796) found -(4797) found -[777] Forked 4798 -[776] Forked 4799 -(4798) found -(4799) found -[775] Forked 4800 -[774] Forked 4801 -[773] Forked 4802 -[772] Forked 4803 -[771] Forked 4804 -[770] Forked 4805 -[769] Forked 4806 -[768] Forked 4807 -[767] Forked 4809 -(4800) found -(4801) found -(4802) found -(4803) found -(4804) found -(4805) found -(4806) found -(4807) found -(4809) found -[766] Forked 4810 -(4810) found -[765] Forked 4811 -(4811) found -[764] Forked 4812 -(4812) found -[763] Forked 4813 -(4813) found -[762] Forked 4814 -(4814) found -[761] Forked 4815 -(4815) found -[760] Forked 4816 -(4816) found -[759] Forked 4817 -(4817) found -[758] Forked 4818 -(4818) found -[757] Forked 4819 -(4819) found -[756] Forked 4820 -(4820) found -[755] Forked 4821 -(4821) found -[754] Forked 4822 -(4822) found -[753] Forked 4823 -(4823) found -[752] Forked 4824 -(4824) found -[751] Forked 4825 -(4825) found -[750] Forked 4826 -(4826) found -[749] Forked 4827 -(4827) found -[748] Forked 4828 -(4828) found -[747] Forked 4829 -(4829) found -[746] Forked 4830 -(4830) found -[745] Forked 4831 -(4831) found -[744] Forked 4832 -(4832) found -[743] Forked 4833 -(4833) found -[742] Forked 4834 -(4834) found -[741] Forked 4835 -(4835) found -[740] Forked 4836 -(4836) found -[739] Forked 4837 -(4837) found -[738] Forked 4838 -(4838) found -[737] Forked 4839 -(4839) found -[736] Forked 4840 -(4840) found -[735] Forked 4841 -(4841) found -[734] Forked 4842 -[733] Forked 4843 -(4842) found -(4843) found -[732] Forked 4844 -[731] Forked 4845 -(4844) found -(4845) found -[730] Forked 4846 -[729] Forked 4847 -(4846) found -(4847) found -[728] Forked 4848 -[727] Forked 4849 -(4848) found -(4849) found -[726] Forked 4850 -[725] Forked 4851 -(4850) found -(4851) found -[724] Forked 4852 -[723] Forked 4853 -(4852) found -(4853) found -[722] Forked 4854 -[721] Forked 4855 -(4854) found -(4855) found -[720] Forked 4856 -[719] Forked 4857 -(4856) found -(4857) found -[718] Forked 4858 -[717] Forked 4859 -(4858) found -(4859) found -[716] Forked 4860 -[715] Forked 4861 -(4860) found -(4861) found -[714] Forked 4862 -[713] Forked 4863 -(4862) found -(4863) found -[712] Forked 4864 -[711] Forked 4865 -(4864) found -(4865) found -[710] Forked 4866 -[709] Forked 4867 -(4866) found -(4867) found -[708] Forked 4868 -[707] Forked 4869 -(4868) found -(4869) found -[706] Forked 4870 -[705] Forked 4871 -(4870) found -(4871) found -[704] Forked 4872 -[703] Forked 4873 -(4872) found -(4873) found -[702] Forked 4874 -[701] Forked 4875 -(4874) found -(4875) found -[700] Forked 4876 -(4876) found -[699] Forked 4877 -[698] Forked 4878 -(4877) found -(4878) found -[697] Forked 4879 -[696] Forked 4881 -(4879) found -(4881) found -[695] Forked 4882 -(4882) found -[694] Forked 4883 -(4883) found -[693] Forked 4884 -(4884) found -[692] Forked 4885 -(4885) found -[691] Forked 4886 -(4886) found -[690] Forked 4887 -(4887) found -[689] Forked 4888 -(4888) found -[688] Forked 4889 -(4889) found -[687] Forked 4890 -(4890) found -[686] Forked 4891 -(4891) found -[685] Forked 4892 -(4892) found -[684] Forked 4893 -(4893) found -[683] Forked 4894 -(4894) found -[682] Forked 4895 -(4895) found -[681] Forked 4896 -(4896) found -[680] Forked 4897 -(4897) found -[679] Forked 4898 -(4898) found -[678] Forked 4899 -(4899) found -[677] Forked 4900 -(4900) found -[676] Forked 4901 -(4901) found -[675] Forked 4902 -(4902) found -[674] Forked 4903 -(4903) found -[673] Forked 4904 -(4904) found -[672] Forked 4905 -(4905) found -[671] Forked 4906 -(4906) found -[670] Forked 4907 -(4907) found -[669] Forked 4908 -(4908) found -[668] Forked 4909 -(4909) found -[667] Forked 4910 -(4910) found -[666] Forked 4911 -(4911) found -[665] Forked 4912 -(4912) found -[664] Forked 4913 -(4913) found -[663] Forked 4914 -(4914) found -[662] Forked 4915 -(4915) found -[661] Forked 4916 -(4916) found -[660] Forked 4917 -(4917) found -[659] Forked 4918 -(4918) found -[658] Forked 4919 -(4919) found -[657] Forked 4920 -(4920) found -[656] Forked 4921 -(4921) found -[655] Forked 4922 -(4922) found -[654] Forked 4923 -(4923) found -[653] Forked 4924 -(4924) found -[652] Forked 4925 -(4925) found -[651] Forked 4926 -(4926) found -[650] Forked 4927 -(4927) found -[649] Forked 4928 -(4928) found -[648] Forked 4929 -(4929) found -[647] Forked 4930 -(4930) found -[646] Forked 4931 -(4931) found -[645] Forked 4932 -(4932) found -[644] Forked 4933 -(4933) found -[643] Forked 4934 -(4934) found -[642] Forked 4935 -(4935) found -[641] Forked 4936 -(4936) found -[640] Forked 4937 -(4937) found -[639] Forked 4938 -(4938) found -[638] Forked 4939 -(4939) found -[637] Forked 4940 -(4940) found -[636] Forked 4941 -(4941) found -[635] Forked 4942 -(4942) found -[634] Forked 4943 -(4943) found -[633] Forked 4944 -(4944) found -[632] Forked 4945 -(4945) found -[631] Forked 4946 -(4946) found -[630] Forked 4947 -(4947) found -[629] Forked 4948 -(4948) found -[628] Forked 4949 -(4949) found -[627] Forked 4950 -(4950) found -[626] Forked 4951 -(4951) found -[625] Forked 4952 -(4952) found -[624] Forked 4953 -(4953) found -[623] Forked 4954 -(4954) found -[622] Forked 4955 -(4955) found -[621] Forked 4956 -[620] Forked 4957 -(4956) found -(4957) found -[619] Forked 4958 -[618] Forked 4959 -(4958) found -(4959) found -[617] Forked 4960 -[616] Forked 4961 -(4960) found -(4961) found -[615] Forked 4962 -[614] Forked 4963 -(4962) found -(4963) found -[613] Forked 4964 -[612] Forked 4965 -(4964) found -(4965) found -[611] Forked 4966 -[610] Forked 4967 -(4966) found -(4967) found -[609] Forked 4968 -[608] Forked 4969 -(4968) found -(4969) found -[607] Forked 4970 -[606] Forked 4971 -(4970) found -(4971) found -[605] Forked 4972 -[604] Forked 4973 -(4972) found -(4973) found -[603] Forked 4974 -[602] Forked 4975 -(4974) found -(4975) found -[601] Forked 4976 -[600] Forked 4977 -(4976) found -(4977) found -[599] Forked 4978 -[598] Forked 4979 -(4978) found -(4979) found -[597] Forked 4980 -[596] Forked 4981 -(4980) found -(4981) found -[595] Forked 4982 -[594] Forked 4983 -(4982) found -(4983) found -[593] Forked 4984 -[592] Forked 4985 -(4984) found -(4985) found -[591] Forked 4986 -[590] Forked 4987 -(4986) found -(4987) found -[589] Forked 4988 -[588] Forked 4989 -(4988) found -(4989) found -[587] Forked 4990 -[586] Forked 4991 -(4990) found -(4991) found -[585] Forked 4992 -[584] Forked 4993 -(4992) found -(4993) found -[583] Forked 4994 -[582] Forked 4995 -(4994) found -(4995) found -[581] Forked 4996 -[580] Forked 4997 -(4996) found -(4997) found -[579] Forked 4998 -[578] Forked 4999 -(4998) found -(4999) found -[577] Forked 5000 -[576] Forked 5001 -(5000) found -(5001) found -[575] Forked 5002 -(5002) found -[574] Forked 5003 -(5003) found -[573] Forked 5004 -(5004) found -[572] Forked 5005 -(5005) found -[571] Forked 5006 -(5006) found -[570] Forked 5007 -(5007) found -[569] Forked 5008 -(5008) found -[568] Forked 5009 -(5009) found -[567] Forked 5010 -(5010) found -[566] Forked 5011 -(5011) found -[565] Forked 5012 -(5012) found -[564] Forked 5013 -(5013) found -[563] Forked 5014 -(5014) found -[562] Forked 5015 -(5015) found -[561] Forked 5016 -(5016) found -[560] Forked 5017 -(5017) found -[559] Forked 5018 -(5018) found -[558] Forked 5019 -(5019) found -[557] Forked 5020 -(5020) found -[556] Forked 5021 -(5021) found -[555] Forked 5022 -(5022) found -[554] Forked 5023 -(5023) found -[553] Forked 5024 -(5024) found -[552] Forked 5025 -(5025) found -[551] Forked 5026 -(5026) found -[550] Forked 5027 -(5027) found -[549] Forked 5028 -(5028) found -[548] Forked 5029 -(5029) found -[547] Forked 5030 -(5030) found -[546] Forked 5031 -(5031) found -[545] Forked 5032 -(5032) found -[544] Forked 5033 -(5033) found -[543] Forked 5034 -(5034) found -[542] Forked 5035 -(5035) found -[541] Forked 5036 -(5036) found -[540] Forked 5037 -[539] Forked 5038 -(5037) found -(5038) found -[538] Forked 5039 -[537] Forked 5040 -(5039) found -(5040) found -[536] Forked 5041 -[535] Forked 5042 -(5041) found -(5042) found -[534] Forked 5043 -[533] Forked 5044 -(5043) found -(5044) found -[532] Forked 5045 -[531] Forked 5046 -(5045) found -(5046) found -[530] Forked 5047 -[529] Forked 5048 -(5047) found -(5048) found -[528] Forked 5049 -[527] Forked 5050 -(5049) found -(5050) found -[526] Forked 5051 -[525] Forked 5052 -(5051) found -(5052) found -[524] Forked 5053 -[523] Forked 5054 -(5053) found -(5054) found -[522] Forked 5055 -[521] Forked 5056 -(5055) found -(5056) found -[520] Forked 5057 -[519] Forked 5058 -(5057) found -(5058) found -[518] Forked 5059 -[517] Forked 5060 -(5059) found -(5060) found -[516] Forked 5061 -[515] Forked 5062 -(5061) found -(5062) found -[514] Forked 5063 -[513] Forked 5064 -(5063) found -(5064) found -[512] Forked 5065 -[511] Forked 5066 -(5065) found -(5066) found -[510] Forked 5067 -[509] Forked 5068 -(5067) found -(5068) found -[508] Forked 5069 -[507] Forked 5070 -(5069) found -(5070) found -[506] Forked 5071 -[505] Forked 5072 -(5071) found -(5072) found -[504] Forked 5073 -[503] Forked 5074 -(5073) found -(5074) found -[502] Forked 5075 -[501] Forked 5076 -(5075) found -(5076) found -[500] Forked 5077 -[499] Forked 5078 -(5077) found -(5078) found -[498] Forked 5079 -[497] Forked 5080 -(5079) found -(5080) found -[496] Forked 5081 -[495] Forked 5082 -(5081) found -(5082) found -[494] Forked 5083 -(5083) found -[493] Forked 5084 -(5084) found -[492] Forked 5085 -(5085) found -[491] Forked 5086 -(5086) found -[490] Forked 5087 -(5087) found -[489] Forked 5088 -(5088) found -[488] Forked 5089 -(5089) found -[487] Forked 5090 -(5090) found -[486] Forked 5091 -(5091) found -[485] Forked 5092 -(5092) found -[484] Forked 5093 -(5093) found -[483] Forked 5094 -(5094) found -[482] Forked 5095 -(5095) found -[481] Forked 5096 -(5096) found -[480] Forked 5097 -(5097) found -[479] Forked 5098 -(5098) found -[478] Forked 5099 -(5099) found -[477] Forked 5100 -(5100) found -[476] Forked 5101 -(5101) found -[475] Forked 5102 -(5102) found -[474] Forked 5103 -(5103) found -[473] Forked 5104 -(5104) found -[472] Forked 5105 -(5105) found -[471] Forked 5106 -(5106) found -[470] Forked 5107 -(5107) found -[469] Forked 5108 -(5108) found -[468] Forked 5109 -(5109) found -[467] Forked 5110 -(5110) found -[466] Forked 5111 -(5111) found -[465] Forked 5112 -(5112) found -[464] Forked 5113 -(5113) found -[463] Forked 5114 -(5114) found -[462] Forked 5115 -(5115) found -[461] Forked 5116 -(5116) found -[460] Forked 5117 -(5117) found -[459] Forked 5118 -(5118) found -[458] Forked 5119 -(5119) found -[457] Forked 5120 -[456] Forked 5121 -(5120) found -(5121) found -[455] Forked 5122 -[454] Forked 5123 -(5122) found -(5123) found -[453] Forked 5124 -[452] Forked 5125 -(5124) found -(5125) found -[451] Forked 5126 -[450] Forked 5127 -(5126) found -(5127) found -[449] Forked 5128 -[448] Forked 5129 -(5128) found -(5129) found -[447] Forked 5130 -[446] Forked 5131 -(5130) found -(5131) found -[445] Forked 5132 -[444] Forked 5133 -(5132) found -(5133) found -[443] Forked 5134 -[442] Forked 5135 -(5134) found -(5135) found -[441] Forked 5136 -(5136) found -[440] Forked 5137 -(5137) found -[439] Forked 5138 -(5138) found -[438] Forked 5139 -(5139) found -[437] Forked 5140 -(5140) found -[436] Forked 5141 -(5141) found -[435] Forked 5142 -(5142) found -[434] Forked 5143 -(5143) found -[433] Forked 5144 -[432] Forked 5145 -(5144) found -(5145) found -[431] Forked 5146 -[430] Forked 5147 -(5146) found -(5147) found -[429] Forked 5148 -[428] Forked 5149 -(5148) found -(5149) found -[427] Forked 5150 -[426] Forked 5151 -(5150) found -(5151) found -[425] Forked 5152 -[424] Forked 5153 -(5152) found -(5153) found -[423] Forked 5154 -[422] Forked 5155 -(5154) found -(5155) found -[421] Forked 5156 -[420] Forked 5157 -(5156) found -(5157) found -[419] Forked 5158 -[418] Forked 5159 -(5158) found -(5159) found -[417] Forked 5160 -[416] Forked 5161 -(5160) found -(5161) found -[415] Forked 5162 -[414] Forked 5164 -(5162) found -(5164) found -[413] Forked 5165 -(5165) found -[412] Forked 5166 -(5166) found -[411] Forked 5167 -(5167) found -[410] Forked 5168 -(5168) found -[409] Forked 5169 -(5169) found -[408] Forked 5170 -(5170) found -[407] Forked 5171 -(5171) found -[406] Forked 5172 -(5172) found -[405] Forked 5173 -(5173) found -[404] Forked 5174 -(5174) found -[403] Forked 5175 -(5175) found -[402] Forked 5176 -(5176) found -[401] Forked 5177 -(5177) found -[400] Forked 5178 -(5178) found -[399] Forked 5179 -(5179) found -[398] Forked 5180 -(5180) found -[397] Forked 5181 -(5181) found -[396] Forked 5182 -(5182) found -[395] Forked 5183 -(5183) found -[394] Forked 5184 -(5184) found -[393] Forked 5185 -(5185) found -[392] Forked 5186 -(5186) found -[391] Forked 5187 -(5187) found -[390] Forked 5188 -(5188) found -[389] Forked 5189 -(5189) found -[388] Forked 5190 -(5190) found -[387] Forked 5191 -(5191) found -[386] Forked 5192 -(5192) found -[385] Forked 5193 -(5193) found -[384] Forked 5194 -(5194) found -[383] Forked 5195 -(5195) found -[382] Forked 5196 -(5196) found -[381] Forked 5197 -(5197) found -[380] Forked 5198 -(5198) found -[379] Forked 5199 -[378] Forked 5200 -(5199) found -(5200) found -[377] Forked 5201 -[376] Forked 5202 -(5201) found -(5202) found -[375] Forked 5203 -[374] Forked 5204 -(5203) found -(5204) found -[373] Forked 5205 -[372] Forked 5206 -(5205) found -(5206) found -[371] Forked 5207 -[370] Forked 5208 -(5207) found -(5208) found -[369] Forked 5209 -[368] Forked 5210 -(5209) found -(5210) found -[367] Forked 5211 -[366] Forked 5212 -(5211) found -(5212) found -[365] Forked 5213 -[364] Forked 5214 -(5213) found -(5214) found -[363] Forked 5215 -[362] Forked 5216 -(5215) found -(5216) found -[361] Forked 5217 -[360] Forked 5218 -(5217) found -(5218) found -[359] Forked 5219 -[358] Forked 5220 -(5219) found -(5220) found -[357] Forked 5221 -[356] Forked 5222 -(5221) found -(5222) found -[355] Forked 5223 -[354] Forked 5224 -(5223) found -(5224) found -[353] Forked 5225 -[352] Forked 5226 -(5225) found -(5226) found -[351] Forked 5227 -[350] Forked 5228 -(5227) found -(5228) found -[349] Forked 5229 -[348] Forked 5230 -(5229) found -(5230) found -[347] Forked 5231 -[346] Forked 5232 -(5231) found -(5232) found -[345] Forked 5233 -[344] Forked 5234 -(5233) found -(5234) found -[343] Forked 5235 -[342] Forked 5236 -(5235) found -(5236) found -[341] Forked 5237 -[340] Forked 5238 -(5237) found -(5238) found -[339] Forked 5239 -[338] Forked 5240 -(5239) found -(5240) found -[337] Forked 5241 -[336] Forked 5242 -(5241) found -(5242) found -[335] Forked 5243 -[334] Forked 5244 -(5243) found -(5244) found -[333] Forked 5245 -(5245) found -[332] Forked 5246 -(5246) found -[331] Forked 5247 -(5247) found -[330] Forked 5248 -(5248) found -[329] Forked 5249 -(5249) found -[328] Forked 5250 -(5250) found -[327] Forked 5251 -(5251) found -[326] Forked 5252 -(5252) found -[325] Forked 5253 -(5253) found -[324] Forked 5254 -(5254) found -[323] Forked 5255 -(5255) found -[322] Forked 5256 -(5256) found -[321] Forked 5257 -(5257) found -[320] Forked 5258 -(5258) found -[319] Forked 5259 -(5259) found -[318] Forked 5260 -(5260) found -[317] Forked 5261 -(5261) found -[316] Forked 5262 -(5262) found -[315] Forked 5263 -(5263) found -[314] Forked 5264 -(5264) found -[313] Forked 5265 -(5265) found -[312] Forked 5266 -(5266) found -[311] Forked 5267 -(5267) found -[310] Forked 5268 -(5268) found -[309] Forked 5269 -(5269) found -[308] Forked 5270 -(5270) found -[307] Forked 5271 -(5271) found -[306] Forked 5272 -(5272) found -[305] Forked 5273 -(5273) found -[304] Forked 5274 -(5274) found -[303] Forked 5275 -(5275) found -[302] Forked 5276 -(5276) found -[301] Forked 5277 -(5277) found -[300] Forked 5278 -(5278) found -[299] Forked 5279 -(5279) found -[298] Forked 5280 -(5280) found -[297] Forked 5281 -[296] Forked 5282 -(5281) found -(5282) found -[295] Forked 5283 -[294] Forked 5284 -(5283) found -(5284) found -[293] Forked 5285 -[292] Forked 5286 -(5285) found -(5286) found -[291] Forked 5287 -[290] Forked 5288 -(5287) found -(5288) found -[289] Forked 5289 -[288] Forked 5290 -(5289) found -(5290) found -[287] Forked 5291 -[286] Forked 5292 -(5291) found -(5292) found -[285] Forked 5293 -[284] Forked 5294 -(5293) found -(5294) found -[283] Forked 5295 -[282] Forked 5296 -(5295) found -(5296) found -[281] Forked 5297 -[280] Forked 5298 -(5297) found -(5298) found -[279] Forked 5299 -[278] Forked 5300 -(5299) found -(5300) found -[277] Forked 5301 -[276] Forked 5302 -(5301) found -(5302) found -[275] Forked 5303 -[274] Forked 5304 -(5303) found -(5304) found -[273] Forked 5305 -[272] Forked 5306 -(5305) found -(5306) found -[271] Forked 5307 -[270] Forked 5308 -(5307) found -(5308) found -[269] Forked 5309 -[268] Forked 5310 -(5309) found -(5310) found -[267] Forked 5311 -[266] Forked 5312 -(5311) found -(5312) found -[265] Forked 5313 -[264] Forked 5314 -(5313) found -(5314) found -[263] Forked 5315 -[262] Forked 5316 -(5315) found -(5316) found -[261] Forked 5317 -[260] Forked 5318 -(5317) found -(5318) found -[259] Forked 5319 -[258] Forked 5320 -(5319) found -(5320) found -[257] Forked 5321 -[256] Forked 5322 -(5321) found -(5322) found -[255] Forked 5323 -[254] Forked 5324 -(5323) found -(5324) found -[253] Forked 5325 -[252] Forked 5326 -(5325) found -(5326) found -[251] Forked 5327 -(5327) found -[250] Forked 5328 -(5328) found -[249] Forked 5329 -(5329) found -[248] Forked 5330 -(5330) found -[247] Forked 5331 -(5331) found -[246] Forked 5332 -(5332) found -[245] Forked 5333 -(5333) found -[244] Forked 5334 -(5334) found -[243] Forked 5335 -(5335) found -[242] Forked 5336 -(5336) found -[241] Forked 5337 -(5337) found -[240] Forked 5338 -(5338) found -[239] Forked 5339 -(5339) found -[238] Forked 5340 -(5340) found -[237] Forked 5341 -(5341) found -[236] Forked 5342 -(5342) found -[235] Forked 5343 -(5343) found -[234] Forked 5344 -(5344) found -[233] Forked 5345 -(5345) found -[232] Forked 5346 -(5346) found -[231] Forked 5347 -(5347) found -[230] Forked 5348 -(5348) found -[229] Forked 5349 -(5349) found -[228] Forked 5350 -(5350) found -[227] Forked 5351 -(5351) found -[226] Forked 5352 -(5352) found -[225] Forked 5353 -(5353) found -[224] Forked 5354 -(5354) found -[223] Forked 5355 -(5355) found -[222] Forked 5356 -(5356) found -[221] Forked 5357 -(5357) found -[220] Forked 5358 -(5358) found -[219] Forked 5359 -(5359) found -[218] Forked 5360 -(5360) found -[217] Forked 5361 -(5361) found -[216] Forked 5362 -(5362) found -[215] Forked 5363 -[214] Forked 5364 -(5363) found -(5364) found -[213] Forked 5365 -[212] Forked 5366 -(5365) found -(5366) found -[211] Forked 5367 -[210] Forked 5368 -(5367) found -(5368) found -[209] Forked 5369 -[208] Forked 5370 -(5369) found -(5370) found -[207] Forked 5371 -[206] Forked 5372 -(5371) found -(5372) found -[205] Forked 5373 -[204] Forked 5374 -(5373) found -(5374) found -[203] Forked 5375 -[202] Forked 5376 -(5375) found -(5376) found -[201] Forked 5377 -[200] Forked 5378 -(5377) found -(5378) found -[199] Forked 5379 -[198] Forked 5380 -(5379) found -(5380) found -[197] Forked 5381 -[196] Forked 5382 -(5381) found -(5382) found -[195] Forked 5383 -[194] Forked 5384 -(5383) found -(5384) found -[193] Forked 5385 -[192] Forked 5386 -(5385) found -(5386) found -[191] Forked 5387 -[190] Forked 5388 -(5387) found -(5388) found -[189] Forked 5389 -[188] Forked 5390 -(5389) found -(5390) found -[187] Forked 5391 -[186] Forked 5392 -(5391) found -(5392) found -[185] Forked 5393 -[184] Forked 5394 -(5393) found -(5394) found -[183] Forked 5395 -[182] Forked 5396 -(5395) found -(5396) found -[181] Forked 5397 -[180] Forked 5398 -(5397) found -(5398) found -[179] Forked 5399 -[178] Forked 5400 -(5399) found -(5400) found -[177] Forked 5401 -[176] Forked 5403 -(5401) found -(5403) found -[175] Forked 5404 -(5404) found -[174] Forked 5405 -(5405) found -[173] Forked 5406 -(5406) found -[172] Forked 5407 -(5407) found -[171] Forked 5408 -(5408) found -[170] Forked 5409 -(5409) found -[169] Forked 5410 -(5410) found -[168] Forked 5411 -(5411) found -[167] Forked 5412 -(5412) found -[166] Forked 5413 -(5413) found -[165] Forked 5414 -(5414) found -[164] Forked 5415 -(5415) found -[163] Forked 5416 -(5416) found -[162] Forked 5417 -(5417) found -[161] Forked 5418 -(5418) found -[160] Forked 5419 -(5419) found -[159] Forked 5420 -(5420) found -[158] Forked 5421 -(5421) found -[157] Forked 5422 -(5422) found -[156] Forked 5423 -(5423) found -[155] Forked 5424 -(5424) found -[154] Forked 5425 -(5425) found -[153] Forked 5426 -(5426) found -[152] Forked 5427 -(5427) found -[151] Forked 5428 -(5428) found -[150] Forked 5429 -(5429) found -[149] Forked 5430 -(5430) found -[148] Forked 5431 -(5431) found -[147] Forked 5432 -(5432) found -[146] Forked 5433 -(5433) found -[145] Forked 5434 -(5434) found -[144] Forked 5435 -(5435) found -[143] Forked 5436 -(5436) found -[142] Forked 5437 -(5437) found -[141] Forked 5438 -(5438) found -[140] Forked 5439 -(5439) found -[139] Forked 5440 -(5440) found -[138] Forked 5441 -(5441) found -[137] Forked 5442 -(5442) found -[136] Forked 5443 -[135] Forked 5444 -(5443) found -(5444) found -[134] Forked 5445 -[133] Forked 5446 -(5446) found -(5445) found -[132] Forked 5447 -(5447) found -[131] Forked 5448 -(5448) found -[130] Forked 5449 -(5449) found -[129] Forked 5450 -(5450) found -[128] Forked 5451 -(5451) found -[127] Forked 5452 -(5452) found -[126] Forked 5453 -(5453) found -[125] Forked 5454 -(5454) found -[124] Forked 5455 -(5455) found -[123] Forked 5456 -(5456) found -[122] Forked 5457 -(5457) found -[121] Forked 5458 -(5458) found -[120] Forked 5459 -(5459) found -[119] Forked 5460 -(5460) found -[118] Forked 5461 -(5461) found -[117] Forked 5462 -(5462) found -[116] Forked 5463 -(5463) found -[115] Forked 5464 -(5464) found -[114] Forked 5465 -(5465) found -[113] Forked 5466 -(5466) found -[112] Forked 5467 -(5467) found -[111] Forked 5468 -(5468) found -[110] Forked 5469 -(5469) found -[109] Forked 5470 -(5470) found -[108] Forked 5471 -(5471) found -[107] Forked 5472 -(5472) found -[106] Forked 5473 -(5473) found -[105] Forked 5474 -(5474) found -[104] Forked 5475 -(5475) found -[103] Forked 5476 -(5476) found -[102] Forked 5477 -(5477) found -[101] Forked 5478 -(5478) found -[100] Forked 5479 -(5479) found -[99] Forked 5480 -(5480) found -[98] Forked 5481 -(5481) found -[97] Forked 5482 -(5482) found -[96] Forked 5483 -(5483) found -[95] Forked 5484 -(5484) found -[94] Forked 5485 -(5485) found -[93] Forked 5486 -(5486) found -[92] Forked 5487 -(5487) found -[91] Forked 5488 -(5488) found -[90] Forked 5489 -(5489) found -[89] Forked 5490 -(5490) found -[88] Forked 5491 -(5491) found -[87] Forked 5492 -(5492) found -[86] Forked 5493 -(5493) found -[85] Forked 5494 -(5494) found -[84] Forked 5495 -(5495) found -[83] Forked 5496 -(5496) found -[82] Forked 5497 -(5497) found -[81] Forked 5498 -(5498) found -[80] Forked 5499 -(5499) found -[79] Forked 5500 -(5500) found -[78] Forked 5501 -(5501) found -[77] Forked 5502 -(5502) found -[76] Forked 5503 -(5503) found -[75] Forked 5504 -(5504) found -[74] Forked 5505 -(5505) found -[73] Forked 5506 -(5506) found -[72] Forked 5507 -(5507) found -[71] Forked 5508 -(5508) found -[70] Forked 5509 -(5509) found -[69] Forked 5510 -(5510) found -[68] Forked 5511 -(5511) found -[67] Forked 5512 -(5512) found -[66] Forked 5513 -(5513) found -[65] Forked 5514 -(5514) found -[64] Forked 5515 -(5515) found -[63] Forked 5516 -(5516) found -[62] Forked 5517 -(5517) found -[61] Forked 5518 -(5518) found -[60] Forked 5519 -(5519) found -[59] Forked 5520 -(5520) found -[58] Forked 5521 -(5521) found -[57] Forked 5522 -(5522) found -[56] Forked 5523 -(5523) found -[55] Forked 5524 -(5524) found -[54] Forked 5525 -(5525) found -[53] Forked 5526 -(5526) found -[52] Forked 5527 -(5527) found -[51] Forked 5528 -(5528) found -[50] Forked 5529 -(5529) found -[49] Forked 5530 -(5530) found -[48] Forked 5531 -(5531) found -[47] Forked 5532 -(5532) found -[46] Forked 5533 -(5533) found -[45] Forked 5534 -(5534) found -[44] Forked 5535 -(5535) found -[43] Forked 5536 -(5536) found -[42] Forked 5537 -(5537) found -[41] Forked 5538 -(5538) found -[40] Forked 5539 -(5539) found -[39] Forked 5540 -(5540) found -[38] Forked 5541 -(5541) found -[37] Forked 5542 -(5542) found -[36] Forked 5543 -(5543) found -[35] Forked 5544 -(5544) found -[34] Forked 5545 -(5545) found -[33] Forked 5546 -(5546) found -[32] Forked 5547 -(5547) found -[31] Forked 5548 -(5548) found -[30] Forked 5549 -(5549) found -[29] Forked 5550 -(5550) found -[28] Forked 5551 -[27] Forked 5552 -(5551) found -(5552) found -[26] Forked 5553 -[25] Forked 5554 -(5553) found -(5554) found -[24] Forked 5555 -[23] Forked 5556 -(5555) found -(5556) found -[22] Forked 5557 -[21] Forked 5558 -(5557) found -(5558) found -[20] Forked 5559 -[19] Forked 5560 -(5559) found -(5560) found -[18] Forked 5561 -[17] Forked 5562 -(5561) found -(5562) found -[16] Forked 5563 -[15] Forked 5564 -(5563) found -(5564) found -[14] Forked 5565 -[13] Forked 5566 -(5565) found -(5566) found -[12] Forked 5567 -(5567) found -[11] Forked 5568 -[10] Forked 5569 -(5568) found -(5569) found -[9] Forked 5570 -[8] Forked 5571 -(5570) found -(5571) found -[7] Forked 5572 -[6] Forked 5573 -(5572) found -(5573) found -[5] Forked 5574 -[4] Forked 5575 -(5574) found -(5575) found -[3] Forked 5576 -[2] Forked 5577 -(5576) found -(5577) found -[1] Forked 5578 -[0] Forked 5579 -(5578) found -(5579) found diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.G b/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.G deleted file mode 100644 index 7e9c89f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/fork-latency.c.G +++ /dev/null @@ -1,40001 +0,0 @@ -MAX=20000 -[19999] Forked 18452 -(18452) found -[19998] Forked 18453 -(18453) found -[19997] Forked 18454 -(18454) found -[19996] Forked 18455 -(18455) found -[19995] Forked 18456 -(18456) found -[19994] Forked 18457 -(18457) found -[19993] Forked 18458 -(18458) found -[19992] Forked 18459 -(18459) found -[19991] Forked 18460 -(18460) found -[19990] Forked 18461 -(18461) found -[19989] Forked 18462 -(18462) found -[19988] Forked 18463 -(18463) found -[19987] Forked 18464 -(18464) found -[19986] Forked 18466 -(18466) found -[19985] Forked 18467 -(18467) found -[19984] Forked 18468 -(18468) found -[19983] Forked 18469 -(18469) found -[19982] Forked 18470 -(18470) found -[19981] Forked 18471 -(18471) found -[19980] Forked 18472 -(18472) found -[19979] Forked 18473 -(18473) found -[19978] Forked 18474 -(18474) found -[19977] Forked 18475 -(18475) found -[19976] Forked 18476 -(18476) found -[19975] Forked 18477 -(18477) found -[19974] Forked 18478 -(18478) found -[19973] Forked 18479 -(18479) found -[19972] Forked 18480 -(18480) found -[19971] Forked 18481 -(18481) found -[19970] Forked 18482 -(18482) found -[19969] Forked 18483 -(18483) found -[19968] Forked 18484 -(18484) found -[19967] Forked 18485 -(18485) found -[19966] Forked 18486 -(18486) found -[19965] Forked 18487 -(18487) found -[19964] Forked 18488 -(18488) found -[19963] Forked 18489 -(18489) found -[19962] Forked 18490 -(18490) found -[19961] Forked 18491 -(18491) found -[19960] Forked 18492 -(18492) found -[19959] Forked 18493 -(18493) found -[19958] Forked 18494 -(18494) found -[19957] Forked 18495 -(18495) found -[19956] Forked 18496 -(18496) found -[19955] Forked 18497 -(18497) found -[19954] Forked 18498 -(18498) found -[19953] Forked 18499 -(18499) found -[19952] Forked 18500 -(18500) found -[19951] Forked 18501 -(18501) found -[19950] Forked 18502 -(18502) found -[19949] Forked 18503 -(18503) found -[19948] Forked 18504 -(18504) found -[19947] Forked 18505 -(18505) found -[19946] Forked 18506 -(18506) found -[19945] Forked 18507 -(18507) found -[19944] Forked 18508 -(18508) found -[19943] Forked 18509 -(18509) found -[19942] Forked 18510 -(18510) found -[19941] Forked 18511 -(18511) found -[19940] Forked 18512 -(18512) found -[19939] Forked 18513 -(18513) found -[19938] Forked 18514 -(18514) found -[19937] Forked 18515 -(18515) found -[19936] Forked 18516 -(18516) found -[19935] Forked 18517 -(18517) found -[19934] Forked 18518 -(18518) found -[19933] Forked 18519 -(18519) found -[19932] Forked 18520 -(18520) found -[19931] Forked 18521 -(18521) found -[19930] Forked 18522 -(18522) found -[19929] Forked 18523 -(18523) found -[19928] Forked 18524 -(18524) found -[19927] Forked 18525 -(18525) found -[19926] Forked 18526 -(18526) found -[19925] Forked 18527 -(18527) found -[19924] Forked 18528 -(18528) found -[19923] Forked 18529 -(18529) found -[19922] Forked 18530 -(18530) found -[19921] Forked 18531 -(18531) found -[19920] Forked 18532 -(18532) found -[19919] Forked 18533 -(18533) found -[19918] Forked 18534 -(18534) found -[19917] Forked 18535 -(18535) found -[19916] Forked 18536 -(18536) found -[19915] Forked 18537 -(18537) found -[19914] Forked 18538 -(18538) found -[19913] Forked 18539 -(18539) found -[19912] Forked 18540 -(18540) found -[19911] Forked 18541 -(18541) found -[19910] Forked 18542 -(18542) found -[19909] Forked 18543 -(18543) found -[19908] Forked 18544 -(18544) found -[19907] Forked 18545 -(18545) found -[19906] Forked 18546 -(18546) found -[19905] Forked 18547 -(18547) found -[19904] Forked 18548 -(18548) found -[19903] Forked 18549 -(18549) found -[19902] Forked 18550 -(18550) found -[19901] Forked 18551 -(18551) found -[19900] Forked 18552 -(18552) found -[19899] Forked 18553 -(18553) found -[19898] Forked 18554 -(18554) found -[19897] Forked 18555 -(18555) found -[19896] Forked 18556 -(18556) found -[19895] Forked 18557 -(18557) found -[19894] Forked 18558 -(18558) found -[19893] Forked 18559 -(18559) found -[19892] Forked 18560 -(18560) found -[19891] Forked 18561 -[19890] Forked 18562 -(18561) found -(18562) found -[19889] Forked 18563 -[19888] Forked 18564 -(18563) found -(18564) found -[19887] Forked 18565 -[19886] Forked 18567 -(18565) found -(18567) found -[19885] Forked 18568 -[19884] Forked 18569 -(18568) found -(18569) found -[19883] Forked 18570 -[19882] Forked 18571 -(18570) found -(18571) found -[19881] Forked 18572 -[19880] Forked 18573 -(18572) found -(18573) found -[19879] Forked 18574 -[19878] Forked 18575 -(18574) found -(18575) found -[19877] Forked 18576 -[19876] Forked 18577 -(18576) found -(18577) found -[19875] Forked 18578 -[19874] Forked 18579 -(18578) found -(18579) found -[19873] Forked 18580 -[19872] Forked 18581 -(18580) found -(18581) found -[19871] Forked 18582 -[19870] Forked 18583 -(18582) found -(18583) found -[19869] Forked 18584 -[19868] Forked 18585 -(18584) found -(18585) found -[19867] Forked 18586 -[19866] Forked 18587 -(18586) found -(18587) found -[19865] Forked 18588 -[19864] Forked 18589 -(18588) found -(18589) found -[19863] Forked 18590 -[19862] Forked 18591 -(18590) found -(18591) found -[19861] Forked 18592 -[19860] Forked 18593 -(18592) found -(18593) found -[19859] Forked 18594 -[19858] Forked 18595 -(18594) found -(18595) found -[19857] Forked 18596 -[19856] Forked 18597 -(18596) found -(18597) found -[19855] Forked 18598 -[19854] Forked 18599 -(18598) found -(18599) found -[19853] Forked 18600 -[19852] Forked 18601 -(18600) found -(18601) found -[19851] Forked 18602 -[19850] Forked 18603 -(18602) found -(18603) found -[19849] Forked 18604 -[19848] Forked 18605 -(18604) found -(18605) found -[19847] Forked 18606 -[19846] Forked 18607 -(18606) found -(18607) found -[19845] Forked 18608 -[19844] Forked 18609 -(18608) found -(18609) found -[19843] Forked 18610 -[19842] Forked 18612 -(18610) found -(18612) found -[19841] Forked 18613 -[19840] Forked 18614 -(18613) found -(18614) found -[19839] Forked 18615 -[19838] Forked 18616 -(18615) found -(18616) found -[19837] Forked 18617 -[19836] Forked 18618 -(18617) found -(18618) found -[19835] Forked 18619 -[19834] Forked 18620 -(18619) found -(18620) found -[19833] Forked 18621 -[19832] Forked 18622 -(18621) found -(18622) found -[19831] Forked 18623 -[19830] Forked 18624 -(18623) found -(18624) found -[19829] Forked 18625 -[19828] Forked 18626 -(18625) found -(18626) found -[19827] Forked 18627 -[19826] Forked 18628 -(18627) found -(18628) found -[19825] Forked 18629 -[19824] Forked 18630 -(18629) found -(18630) found -[19823] Forked 18631 -[19822] Forked 18632 -(18631) found -(18632) found -[19821] Forked 18633 -[19820] Forked 18634 -(18633) found -(18634) found -[19819] Forked 18635 -[19818] Forked 18636 -(18635) found -(18636) found -[19817] Forked 18637 -[19816] Forked 18638 -(18637) found -(18638) found -[19815] Forked 18639 -[19814] Forked 18640 -(18639) found -(18640) found -[19813] Forked 18641 -[19812] Forked 18642 -(18641) found -(18642) found -[19811] Forked 18643 -[19810] Forked 18644 -(18643) found -(18644) found -[19809] Forked 18645 -[19808] Forked 18646 -(18645) found -(18646) found -[19807] Forked 18647 -[19806] Forked 18648 -(18647) found -(18648) found -[19805] Forked 18649 -[19804] Forked 18650 -(18649) found -(18650) found -[19803] Forked 18651 -[19802] Forked 18652 -(18651) found -(18652) found -[19801] Forked 18653 -[19800] Forked 18654 -(18653) found -(18654) found -[19799] Forked 18655 -(18655) found -[19798] Forked 18656 -(18656) found -[19797] Forked 18657 -(18657) found -[19796] Forked 18658 -(18658) found -[19795] Forked 18659 -(18659) found -[19794] Forked 18660 -(18660) found -[19793] Forked 18661 -(18661) found -[19792] Forked 18662 -(18662) found -[19791] Forked 18663 -(18663) found -[19790] Forked 18664 -(18664) found -[19789] Forked 18665 -(18665) found -[19788] Forked 18666 -(18666) found -[19787] Forked 18667 -(18667) found -[19786] Forked 18668 -(18668) found -[19785] Forked 18669 -(18669) found -[19784] Forked 18670 -(18670) found -[19783] Forked 18671 -(18671) found -[19782] Forked 18672 -(18672) found -[19781] Forked 18673 -(18673) found -[19780] Forked 18674 -(18674) found -[19779] Forked 18675 -(18675) found -[19778] Forked 18676 -(18676) found -[19777] Forked 18677 -(18677) found -[19776] Forked 18678 -(18678) found -[19775] Forked 18679 -(18679) found -[19774] Forked 18680 -(18680) found -[19773] Forked 18681 -(18681) found -[19772] Forked 18682 -(18682) found -[19771] Forked 18683 -(18683) found -[19770] Forked 18684 -(18684) found -[19769] Forked 18685 -(18685) found -[19768] Forked 18686 -(18686) found -[19767] Forked 18687 -(18687) found -[19766] Forked 18688 -(18688) found -[19765] Forked 18689 -(18689) found -[19764] Forked 18690 -(18690) found -[19763] Forked 18691 -(18691) found -[19762] Forked 18692 -(18692) found -[19761] Forked 18693 -[19760] Forked 18694 -(18693) found -(18694) found -[19759] Forked 18695 -(18695) found -[19758] Forked 18696 -(18696) found -[19757] Forked 18697 -(18697) found -[19756] Forked 18698 -(18698) found -[19755] Forked 18699 -[19754] Forked 18700 -(18699) found -(18700) found -[19753] Forked 18701 -[19752] Forked 18702 -(18701) found -(18702) found -[19751] Forked 18703 -[19750] Forked 18704 -(18703) found -(18704) found -[19749] Forked 18705 -[19748] Forked 18706 -(18705) found -(18706) found -[19747] Forked 18707 -[19746] Forked 18708 -(18707) found -(18708) found -[19745] Forked 18709 -[19744] Forked 18710 -(18709) found -(18710) found -[19743] Forked 18711 -[19742] Forked 18712 -(18711) found -(18712) found -[19741] Forked 18713 -[19740] Forked 18714 -(18713) found -(18714) found -[19739] Forked 18715 -[19738] Forked 18716 -(18715) found -(18716) found -[19737] Forked 18717 -[19736] Forked 18718 -(18717) found -(18718) found -[19735] Forked 18719 -[19734] Forked 18720 -(18719) found -(18720) found -[19733] Forked 18721 -[19732] Forked 18722 -(18721) found -(18722) found -[19731] Forked 18723 -[19730] Forked 18724 -(18723) found -(18724) found -[19729] Forked 18725 -[19728] Forked 18726 -(18725) found -(18726) found -[19727] Forked 18727 -[19726] Forked 18728 -(18727) found -(18728) found -[19725] Forked 18729 -[19724] Forked 18730 -(18729) found -(18730) found -[19723] Forked 18731 -[19722] Forked 18732 -(18731) found -(18732) found -[19721] Forked 18733 -[19720] Forked 18734 -(18733) found -(18734) found -[19719] Forked 18735 -[19718] Forked 18736 -(18735) found -(18736) found -[19717] Forked 18737 -[19716] Forked 18738 -(18737) found -(18738) found -[19715] Forked 18739 -[19714] Forked 18740 -(18739) found -(18740) found -[19713] Forked 18741 -[19712] Forked 18742 -(18741) found -(18742) found -[19711] Forked 18743 -[19710] Forked 18744 -(18743) found -(18744) found -[19709] Forked 18745 -(18745) found -[19708] Forked 18746 -(18746) found -[19707] Forked 18747 -[19706] Forked 18748 -(18747) found -(18748) found -[19705] Forked 18749 -[19704] Forked 18750 -(18749) found -(18750) found -[19703] Forked 18751 -[19702] Forked 18752 -(18751) found -(18752) found -[19701] Forked 18753 -[19700] Forked 18754 -(18753) found -(18754) found -[19699] Forked 18755 -[19698] Forked 18756 -(18755) found -(18756) found -[19697] Forked 18757 -[19696] Forked 18758 -(18757) found -(18758) found -[19695] Forked 18759 -[19694] Forked 18760 -(18759) found -(18760) found -[19693] Forked 18761 -[19692] Forked 18762 -(18761) found -(18762) found -[19691] Forked 18763 -[19690] Forked 18764 -(18763) found -(18764) found -[19689] Forked 18765 -[19688] Forked 18766 -(18765) found -(18766) found -[19687] Forked 18767 -[19686] Forked 18768 -(18767) found -(18768) found -[19685] Forked 18769 -[19684] Forked 18770 -(18769) found -(18770) found -[19683] Forked 18771 -[19682] Forked 18772 -(18771) found -(18772) found -[19681] Forked 18773 -[19680] Forked 18774 -(18773) found -(18774) found -[19679] Forked 18775 -[19678] Forked 18776 -(18775) found -(18776) found -[19677] Forked 18777 -[19676] Forked 18778 -(18777) found -(18778) found -[19675] Forked 18779 -[19674] Forked 18780 -(18779) found -(18780) found -[19673] Forked 18781 -[19672] Forked 18782 -(18781) found -(18782) found -[19671] Forked 18783 -[19670] Forked 18784 -(18783) found -(18784) found -[19669] Forked 18785 -[19668] Forked 18786 -(18785) found -(18786) found -[19667] Forked 18787 -[19666] Forked 18788 -(18787) found -(18788) found -[19665] Forked 18789 -[19664] Forked 18790 -(18789) found -(18790) found -[19663] Forked 18791 -[19662] Forked 18792 -(18791) found -(18792) found -[19661] Forked 18793 -[19660] Forked 18794 -(18793) found -(18794) found -[19659] Forked 18795 -[19658] Forked 18796 -(18795) found -(18796) found -[19657] Forked 18797 -[19656] Forked 18798 -(18797) found -(18798) found -[19655] Forked 18799 -[19654] Forked 18800 -(18799) found -(18800) found -[19653] Forked 18801 -[19652] Forked 18802 -(18801) found -(18802) found -[19651] Forked 18803 -[19650] Forked 18804 -(18803) found -(18804) found -[19649] Forked 18805 -[19648] Forked 18806 -(18805) found -(18806) found -[19647] Forked 18807 -[19646] Forked 18808 -(18807) found -(18808) found -[19645] Forked 18809 -[19644] Forked 18810 -(18809) found -(18810) found -[19643] Forked 18811 -[19642] Forked 18812 -(18811) found -(18812) found -[19641] Forked 18813 -[19640] Forked 18814 -(18813) found -(18814) found -[19639] Forked 18815 -[19638] Forked 18816 -(18815) found -(18816) found -[19637] Forked 18817 -[19636] Forked 18818 -(18817) found -(18818) found -[19635] Forked 18819 -[19634] Forked 18820 -(18819) found -(18820) found -[19633] Forked 18821 -[19632] Forked 18822 -(18821) found -(18822) found -[19631] Forked 18823 -[19630] Forked 18824 -(18823) found -(18824) found -[19629] Forked 18825 -[19628] Forked 18826 -(18825) found -(18826) found -[19627] Forked 18827 -[19626] Forked 18828 -(18827) found -(18828) found -[19625] Forked 18829 -[19624] Forked 18830 -(18829) found -(18830) found -[19623] Forked 18831 -[19622] Forked 18832 -(18831) found -(18832) found -[19621] Forked 18833 -[19620] Forked 18834 -(18833) found -(18834) found -[19619] Forked 18835 -[19618] Forked 18836 -(18835) found -(18836) found -[19617] Forked 18837 -[19616] Forked 18838 -(18837) found -(18838) found -[19615] Forked 18839 -[19614] Forked 18840 -(18839) found -(18840) found -[19613] Forked 18841 -[19612] Forked 18842 -(18842) found -(18841) found -[19611] Forked 18843 -(18843) found -[19610] Forked 18844 -(18844) found -[19609] Forked 18845 -(18845) found -[19608] Forked 18846 -(18846) found -[19607] Forked 18847 -(18847) found -[19606] Forked 18848 -(18848) found -[19605] Forked 18849 -(18849) found -[19604] Forked 18850 -(18850) found -[19603] Forked 18851 -(18851) found -[19602] Forked 18852 -(18852) found -[19601] Forked 18853 -(18853) found -[19600] Forked 18854 -(18854) found -[19599] Forked 18855 -(18855) found -[19598] Forked 18856 -(18856) found -[19597] Forked 18857 -(18857) found -[19596] Forked 18858 -(18858) found -[19595] Forked 18859 -(18859) found -[19594] Forked 18860 -(18860) found -[19593] Forked 18861 -(18861) found -[19592] Forked 18862 -(18862) found -[19591] Forked 18863 -(18863) found -[19590] Forked 18864 -(18864) found -[19589] Forked 18865 -(18865) found -[19588] Forked 18866 -(18866) found -[19587] Forked 18867 -(18867) found -[19586] Forked 18868 -(18868) found -[19585] Forked 18869 -(18869) found -[19584] Forked 18870 -(18870) found -[19583] Forked 18871 -(18871) found -[19582] Forked 18872 -(18872) found -[19581] Forked 18873 -(18873) found -[19580] Forked 18874 -(18874) found -[19579] Forked 18875 -(18875) found -[19578] Forked 18876 -(18876) found -[19577] Forked 18877 -(18877) found -[19576] Forked 18878 -[19575] Forked 18879 -(18878) found -(18879) found -[19574] Forked 18880 -[19573] Forked 18881 -(18880) found -(18881) found -[19572] Forked 18882 -[19571] Forked 18883 -(18882) found -(18883) found -[19570] Forked 18884 -[19569] Forked 18885 -(18884) found -(18885) found -[19568] Forked 18886 -[19567] Forked 18887 -(18886) found -(18887) found -[19566] Forked 18888 -[19565] Forked 18889 -(18888) found -(18889) found -[19564] Forked 18890 -[19563] Forked 18891 -(18890) found -(18891) found -[19562] Forked 18892 -[19561] Forked 18893 -(18892) found -(18893) found -[19560] Forked 18894 -[19559] Forked 18895 -(18894) found -(18895) found -[19558] Forked 18896 -[19557] Forked 18897 -(18896) found -(18897) found -[19556] Forked 18898 -[19555] Forked 18899 -(18898) found -(18899) found -[19554] Forked 18900 -[19553] Forked 18901 -(18900) found -(18901) found -[19552] Forked 18902 -[19551] Forked 18903 -(18902) found -(18903) found -[19550] Forked 18904 -[19549] Forked 18905 -(18904) found -(18905) found -[19548] Forked 18906 -[19547] Forked 18907 -(18906) found -(18907) found -[19546] Forked 18908 -[19545] Forked 18909 -(18908) found -(18909) found -[19544] Forked 18910 -[19543] Forked 18911 -(18910) found -(18911) found -[19542] Forked 18912 -(18912) found -[19541] Forked 18913 -(18913) found -[19540] Forked 18914 -(18914) found -[19539] Forked 18915 -(18915) found -[19538] Forked 18916 -(18916) found -[19537] Forked 18917 -(18917) found -[19536] Forked 18918 -(18918) found -[19535] Forked 18919 -(18919) found -[19534] Forked 18920 -(18920) found -[19533] Forked 18921 -(18921) found -[19532] Forked 18922 -(18922) found -[19531] Forked 18923 -(18923) found -[19530] Forked 18924 -(18924) found -[19529] Forked 18925 -(18925) found -[19528] Forked 18926 -(18926) found -[19527] Forked 18927 -(18927) found -[19526] Forked 18928 -(18928) found -[19525] Forked 18929 -(18929) found -[19524] Forked 18930 -(18930) found -[19523] Forked 18931 -(18931) found -[19522] Forked 18932 -(18932) found -[19521] Forked 18933 -(18933) found -[19520] Forked 18934 -(18934) found -[19519] Forked 18935 -(18935) found -[19518] Forked 18936 -(18936) found -[19517] Forked 18937 -(18937) found -[19516] Forked 18938 -(18938) found -[19515] Forked 18939 -(18939) found -[19514] Forked 18940 -(18940) found -[19513] Forked 18941 -(18941) found -[19512] Forked 18942 -(18942) found -[19511] Forked 18943 -(18943) found -[19510] Forked 18944 -(18944) found -[19509] Forked 18945 -(18945) found -[19508] Forked 18946 -(18946) found -[19507] Forked 18947 -(18947) found -[19506] Forked 18948 -(18948) found -[19505] Forked 18949 -[19504] Forked 18950 -(18949) found -(18950) found -[19503] Forked 18951 -[19502] Forked 18952 -(18951) found -(18952) found -[19501] Forked 18953 -[19500] Forked 18954 -(18953) found -(18954) found -[19499] Forked 18955 -[19498] Forked 18956 -(18955) found -(18956) found -[19497] Forked 18957 -[19496] Forked 18958 -(18957) found -(18958) found -[19495] Forked 18959 -[19494] Forked 18960 -(18959) found -(18960) found -[19493] Forked 18961 -[19492] Forked 18962 -(18961) found -(18962) found -[19491] Forked 18963 -[19490] Forked 18964 -(18963) found -(18964) found -[19489] Forked 18965 -[19488] Forked 18966 -(18965) found -(18966) found -[19487] Forked 18967 -[19486] Forked 18968 -(18967) found -(18968) found -[19485] Forked 18969 -[19484] Forked 18970 -(18969) found -(18970) found -[19483] Forked 18971 -[19482] Forked 18972 -(18971) found -(18972) found -[19481] Forked 18973 -[19480] Forked 18974 -(18973) found -(18974) found -[19479] Forked 18975 -[19478] Forked 18976 -(18975) found -(18976) found -[19477] Forked 18977 -[19476] Forked 18978 -(18977) found -(18978) found -[19475] Forked 18979 -[19474] Forked 18980 -(18979) found -(18980) found -[19473] Forked 18981 -[19472] Forked 18982 -(18981) found -(18982) found -[19471] Forked 18983 -[19470] Forked 18984 -(18983) found -(18984) found -[19469] Forked 18985 -[19468] Forked 18986 -(18985) found -(18986) found -[19467] Forked 18987 -[19466] Forked 18988 -(18987) found -(18988) found -[19465] Forked 18989 -[19464] Forked 18990 -(18989) found -(18990) found -[19463] Forked 18991 -[19462] Forked 18992 -(18991) found -(18992) found -[19461] Forked 18993 -[19460] Forked 18994 -(18993) found -(18994) found -[19459] Forked 18995 -[19458] Forked 18996 -(18995) found -(18996) found -[19457] Forked 18997 -(18997) found -[19456] Forked 18998 -(18998) found -[19455] Forked 18999 -(18999) found -[19454] Forked 19000 -(19000) found -[19453] Forked 19001 -(19001) found -[19452] Forked 19002 -(19002) found -[19451] Forked 19003 -(19003) found -[19450] Forked 19004 -(19004) found -[19449] Forked 19005 -(19005) found -[19448] Forked 19006 -(19006) found -[19447] Forked 19007 -(19007) found -[19446] Forked 19008 -(19008) found -[19445] Forked 19009 -(19009) found -[19444] Forked 19010 -(19010) found -[19443] Forked 19011 -(19011) found -[19442] Forked 19012 -(19012) found -[19441] Forked 19013 -(19013) found -[19440] Forked 19014 -(19014) found -[19439] Forked 19015 -(19015) found -[19438] Forked 19016 -(19016) found -[19437] Forked 19017 -(19017) found -[19436] Forked 19018 -(19018) found -[19435] Forked 19019 -(19019) found -[19434] Forked 19020 -(19020) found -[19433] Forked 19021 -(19021) found -[19432] Forked 19022 -(19022) found -[19431] Forked 19023 -(19023) found -[19430] Forked 19024 -(19024) found -[19429] Forked 19025 -(19025) found -[19428] Forked 19026 -[19427] Forked 19027 -(19026) found -(19027) found -[19426] Forked 19028 -[19425] Forked 19029 -(19028) found -(19029) found -[19424] Forked 19030 -[19423] Forked 19031 -(19030) found -(19031) found -[19422] Forked 19032 -[19421] Forked 19033 -(19032) found -(19033) found -[19420] Forked 19034 -[19419] Forked 19035 -(19034) found -(19035) found -[19418] Forked 19036 -[19417] Forked 19037 -(19036) found -(19037) found -[19416] Forked 19038 -[19415] Forked 19039 -(19038) found -(19039) found -[19414] Forked 19040 -[19413] Forked 19041 -(19040) found -(19041) found -[19412] Forked 19042 -[19411] Forked 19043 -(19042) found -(19043) found -[19410] Forked 19044 -[19409] Forked 19045 -(19044) found -(19045) found -[19408] Forked 19046 -[19407] Forked 19047 -(19046) found -(19047) found -[19406] Forked 19048 -[19405] Forked 19049 -(19048) found -(19049) found -[19404] Forked 19050 -[19403] Forked 19051 -(19050) found -(19051) found -[19402] Forked 19052 -[19401] Forked 19053 -(19052) found -(19053) found -[19400] Forked 19054 -[19399] Forked 19055 -(19054) found -(19055) found -[19398] Forked 19056 -[19397] Forked 19057 -(19056) found -(19057) found -[19396] Forked 19058 -[19395] Forked 19059 -(19058) found -(19059) found -[19394] Forked 19060 -[19393] Forked 19061 -(19060) found -(19061) found -[19392] Forked 19062 -[19391] Forked 19063 -(19062) found -(19063) found -[19390] Forked 19064 -(19064) found -[19389] Forked 19065 -[19388] Forked 19066 -(19065) found -(19066) found -[19387] Forked 19067 -[19386] Forked 19068 -(19067) found -(19068) found -[19385] Forked 19069 -[19384] Forked 19070 -(19069) found -(19070) found -[19383] Forked 19071 -(19071) found -[19382] Forked 19072 -(19072) found -[19381] Forked 19073 -(19073) found -[19380] Forked 19074 -(19074) found -[19379] Forked 19075 -(19075) found -[19378] Forked 19076 -(19076) found -[19377] Forked 19077 -(19077) found -[19376] Forked 19078 -(19078) found -[19375] Forked 19079 -(19079) found -[19374] Forked 19080 -(19080) found -[19373] Forked 19081 -(19081) found -[19372] Forked 19082 -(19082) found -[19371] Forked 19084 -(19084) found -[19370] Forked 19085 -(19085) found -[19369] Forked 19086 -(19086) found -[19368] Forked 19087 -(19087) found -[19367] Forked 19088 -(19088) found -[19366] Forked 19089 -(19089) found -[19365] Forked 19090 -(19090) found -[19364] Forked 19091 -(19091) found -[19363] Forked 19092 -(19092) found -[19362] Forked 19093 -(19093) found -[19361] Forked 19094 -(19094) found -[19360] Forked 19097 -(19097) found -[19359] Forked 19098 -(19098) found -[19358] Forked 19099 -(19099) found -[19357] Forked 19100 -(19100) found -[19356] Forked 19102 -(19102) found -[19355] Forked 19104 -(19104) found -[19354] Forked 19105 -(19105) found -[19353] Forked 19106 -(19106) found -[19352] Forked 19107 -(19107) found -[19351] Forked 19108 -(19108) found -[19350] Forked 19109 -(19109) found -[19349] Forked 19110 -(19110) found -[19348] Forked 19111 -(19111) found -[19347] Forked 19112 -(19112) found -[19346] Forked 19113 -[19345] Forked 19114 -(19113) found -(19114) found -[19344] Forked 19115 -[19343] Forked 19116 -(19115) found -(19116) found -[19342] Forked 19117 -[19341] Forked 19118 -(19117) found -(19118) found -[19340] Forked 19119 -[19339] Forked 19120 -(19119) found -(19120) found -[19338] Forked 19122 -[19337] Forked 19123 -(19122) found -(19123) found -[19336] Forked 19124 -[19335] Forked 19125 -(19124) found -(19125) found -[19334] Forked 19126 -[19333] Forked 19127 -(19126) found -(19127) found -[19332] Forked 19128 -[19331] Forked 19129 -(19128) found -(19129) found -[19330] Forked 19130 -[19329] Forked 19131 -(19130) found -(19131) found -[19328] Forked 19132 -[19327] Forked 19133 -(19132) found -(19133) found -[19326] Forked 19134 -[19325] Forked 19135 -(19134) found -(19135) found -[19324] Forked 19136 -[19323] Forked 19137 -(19136) found -(19137) found -[19322] Forked 19138 -[19321] Forked 19139 -(19138) found -(19139) found -[19320] Forked 19140 -[19319] Forked 19141 -(19140) found -(19141) found -[19318] Forked 19142 -[19317] Forked 19143 -(19142) found -(19143) found -[19316] Forked 19144 -[19315] Forked 19145 -(19144) found -(19145) found -[19314] Forked 19146 -[19313] Forked 19147 -(19146) found -(19147) found -[19312] Forked 19148 -[19311] Forked 19149 -(19148) found -(19149) found -[19310] Forked 19150 -[19309] Forked 19151 -(19150) found -(19151) found -[19308] Forked 19152 -[19307] Forked 19153 -(19152) found -(19153) found -[19306] Forked 19154 -[19305] Forked 19155 -(19154) found -(19155) found -[19304] Forked 19156 -[19303] Forked 19157 -(19156) found -(19157) found -[19302] Forked 19158 -[19301] Forked 19159 -(19158) found -(19159) found -[19300] Forked 19160 -[19299] Forked 19161 -(19160) found -(19161) found -[19298] Forked 19162 -[19297] Forked 19163 -(19162) found -(19163) found -[19296] Forked 19164 -[19295] Forked 19165 -(19164) found -(19165) found -[19294] Forked 19166 -[19293] Forked 19167 -(19166) found -(19167) found -[19292] Forked 19168 -[19291] Forked 19169 -(19168) found -(19169) found -[19290] Forked 19170 -[19289] Forked 19171 -(19170) found -(19171) found -[19288] Forked 19172 -[19287] Forked 19173 -(19172) found -(19173) found -[19286] Forked 19174 -[19285] Forked 19175 -(19174) found -(19175) found -[19284] Forked 19176 -[19283] Forked 19177 -(19176) found -(19177) found -[19282] Forked 19178 -[19281] Forked 19179 -(19178) found -(19179) found -[19280] Forked 19180 -[19279] Forked 19181 -(19180) found -(19181) found -[19278] Forked 19182 -[19277] Forked 19183 -(19182) found -(19183) found -[19276] Forked 19184 -[19275] Forked 19186 -(19184) found -(19186) found -[19274] Forked 19187 -(19187) found -[19273] Forked 19188 -[19272] Forked 19189 -(19188) found -(19189) found -[19271] Forked 19191 -[19270] Forked 19192 -(19191) found -(19192) found -[19269] Forked 19193 -[19268] Forked 19194 -(19193) found -(19194) found -[19267] Forked 19195 -[19266] Forked 19196 -(19195) found -(19196) found -[19265] Forked 19197 -[19264] Forked 19198 -(19197) found -(19198) found -[19263] Forked 19199 -[19262] Forked 19200 -(19199) found -(19200) found -[19261] Forked 19201 -[19260] Forked 19202 -(19201) found -(19202) found -[19259] Forked 19203 -[19258] Forked 19204 -(19203) found -(19204) found -[19257] Forked 19205 -[19256] Forked 19206 -(19205) found -(19206) found -[19255] Forked 19207 -[19254] Forked 19208 -(19207) found -(19208) found -[19253] Forked 19209 -[19252] Forked 19210 -(19209) found -(19210) found -[19251] Forked 19211 -[19250] Forked 19212 -(19211) found -(19212) found -[19249] Forked 19213 -[19248] Forked 19214 -(19213) found -(19214) found -[19247] Forked 19215 -[19246] Forked 19216 -(19215) found -(19216) found -[19245] Forked 19217 -[19244] Forked 19218 -(19217) found -(19218) found -[19243] Forked 19219 -[19242] Forked 19220 -(19219) found -(19220) found -[19241] Forked 19221 -[19240] Forked 19222 -(19221) found -(19222) found -[19239] Forked 19223 -[19238] Forked 19224 -(19223) found -(19224) found -[19237] Forked 19225 -[19236] Forked 19226 -(19225) found -(19226) found -[19235] Forked 19227 -[19234] Forked 19228 -(19227) found -(19228) found -[19233] Forked 19229 -[19232] Forked 19230 -(19229) found -(19230) found -[19231] Forked 19231 -[19230] Forked 19232 -(19231) found -(19232) found -[19229] Forked 19233 -[19228] Forked 19234 -(19233) found -(19234) found -[19227] Forked 19235 -[19226] Forked 19236 -(19235) found -(19236) found -[19225] Forked 19237 -[19224] Forked 19238 -(19237) found -(19238) found -[19223] Forked 19239 -[19222] Forked 19240 -(19239) found -(19240) found -[19221] Forked 19241 -[19220] Forked 19242 -(19241) found -(19242) found -[19219] Forked 19243 -[19218] Forked 19244 -(19243) found -(19244) found -[19217] Forked 19245 -[19216] Forked 19246 -(19245) found -(19246) found -[19215] Forked 19247 -[19214] Forked 19248 -(19247) found -(19248) found -[19213] Forked 19249 -[19212] Forked 19250 -(19249) found -(19250) found -[19211] Forked 19251 -(19251) found -[19210] Forked 19252 -(19252) found -[19209] Forked 19253 -(19253) found -[19208] Forked 19254 -(19254) found -[19207] Forked 19255 -(19255) found -[19206] Forked 19256 -(19256) found -[19205] Forked 19257 -(19257) found -[19204] Forked 19258 -(19258) found -[19203] Forked 19259 -(19259) found -[19202] Forked 19260 -(19260) found -[19201] Forked 19261 -(19261) found -[19200] Forked 19262 -(19262) found -[19199] Forked 19263 -(19263) found -[19198] Forked 19264 -(19264) found -[19197] Forked 19265 -(19265) found -[19196] Forked 19266 -(19266) found -[19195] Forked 19267 -(19267) found -[19194] Forked 19268 -(19268) found -[19193] Forked 19269 -(19269) found -[19192] Forked 19270 -(19270) found -[19191] Forked 19271 -(19271) found -[19190] Forked 19272 -(19272) found -[19189] Forked 19273 -(19273) found -[19188] Forked 19274 -(19274) found -[19187] Forked 19275 -(19275) found -[19186] Forked 19276 -(19276) found -[19185] Forked 19277 -(19277) found -[19184] Forked 19278 -(19278) found -[19183] Forked 19279 -(19279) found -[19182] Forked 19280 -(19280) found -[19181] Forked 19281 -(19281) found -[19180] Forked 19282 -(19282) found -[19179] Forked 19283 -(19283) found -[19178] Forked 19284 -(19284) found -[19177] Forked 19285 -(19285) found -[19176] Forked 19286 -(19286) found -[19175] Forked 19287 -(19287) found -[19174] Forked 19288 -[19173] Forked 19289 -(19288) found -(19289) found -[19172] Forked 19290 -(19290) found -[19171] Forked 19291 -(19291) found -[19170] Forked 19292 -(19292) found -[19169] Forked 19293 -(19293) found -[19168] Forked 19294 -(19294) found -[19167] Forked 19295 -(19295) found -[19166] Forked 19296 -(19296) found -[19165] Forked 19297 -(19297) found -[19164] Forked 19298 -(19298) found -[19163] Forked 19299 -(19299) found -[19162] Forked 19300 -(19300) found -[19161] Forked 19301 -(19301) found -[19160] Forked 19302 -(19302) found -[19159] Forked 19303 -(19303) found -[19158] Forked 19304 -(19304) found -[19157] Forked 19305 -(19305) found -[19156] Forked 19306 -(19306) found -[19155] Forked 19307 -(19307) found -[19154] Forked 19308 -(19308) found -[19153] Forked 19309 -(19309) found -[19152] Forked 19310 -(19310) found -[19151] Forked 19311 -(19311) found -[19150] Forked 19312 -(19312) found -[19149] Forked 19313 -(19313) found -[19148] Forked 19314 -(19314) found -[19147] Forked 19315 -(19315) found -[19146] Forked 19316 -(19316) found -[19145] Forked 19317 -(19317) found -[19144] Forked 19318 -(19318) found -[19143] Forked 19319 -(19319) found -[19142] Forked 19320 -[19141] Forked 19321 -(19321) found -(19320) found -[19140] Forked 19322 -(19322) found -[19139] Forked 19323 -(19323) found -[19138] Forked 19324 -(19324) found -[19137] Forked 19325 -(19325) found -[19136] Forked 19326 -(19326) found -[19135] Forked 19327 -(19327) found -[19134] Forked 19328 -(19328) found -[19133] Forked 19329 -(19329) found -[19132] Forked 19330 -(19330) found -[19131] Forked 19331 -(19331) found -[19130] Forked 19332 -(19332) found -[19129] Forked 19333 -(19333) found -[19128] Forked 19334 -(19334) found -[19127] Forked 19335 -(19335) found -[19126] Forked 19336 -(19336) found -[19125] Forked 19337 -(19337) found -[19124] Forked 19338 -(19338) found -[19123] Forked 19339 -(19339) found -[19122] Forked 19340 -(19340) found -[19121] Forked 19341 -(19341) found -[19120] Forked 19342 -(19342) found -[19119] Forked 19343 -(19343) found -[19118] Forked 19344 -(19344) found -[19117] Forked 19345 -(19345) found -[19116] Forked 19346 -(19346) found -[19115] Forked 19347 -(19347) found -[19114] Forked 19348 -(19348) found -[19113] Forked 19349 -(19349) found -[19112] Forked 19352 -(19352) found -[19111] Forked 19353 -(19353) found -[19110] Forked 19354 -(19354) found -[19109] Forked 19355 -(19355) found -[19108] Forked 19356 -(19356) found -[19107] Forked 19357 -(19357) found -[19106] Forked 19359 -(19359) found -[19105] Forked 19360 -(19360) found -[19104] Forked 19361 -(19361) found -[19103] Forked 19362 -(19362) found -[19102] Forked 19363 -(19363) found -[19101] Forked 19364 -(19364) found -[19100] Forked 19365 -(19365) found -[19099] Forked 19366 -(19366) found -[19098] Forked 19367 -(19367) found -[19097] Forked 19368 -(19368) found -[19096] Forked 19369 -(19369) found -[19095] Forked 19370 -(19370) found -[19094] Forked 19371 -(19371) found -[19093] Forked 19372 -(19372) found -[19092] Forked 19373 -(19373) found -[19091] Forked 19374 -(19374) found -[19090] Forked 19375 -(19375) found -[19089] Forked 19376 -(19376) found -[19088] Forked 19377 -(19377) found -[19087] Forked 19378 -(19378) found -[19086] Forked 19379 -(19379) found -[19085] Forked 19380 -(19380) found -[19084] Forked 19381 -(19381) found -[19083] Forked 19382 -(19382) found -[19082] Forked 19383 -(19383) found -[19081] Forked 19384 -(19384) found -[19080] Forked 19385 -(19385) found -[19079] Forked 19386 -(19386) found -[19078] Forked 19387 -(19387) found -[19077] Forked 19388 -(19388) found -[19076] Forked 19389 -(19389) found -[19075] Forked 19390 -(19390) found -[19074] Forked 19391 -(19391) found -[19073] Forked 19392 -(19392) found -[19072] Forked 19393 -(19393) found -[19071] Forked 19394 -(19394) found -[19070] Forked 19395 -(19395) found -[19069] Forked 19396 -(19396) found -[19068] Forked 19397 -[19067] Forked 19398 -(19397) found -(19398) found -[19066] Forked 19399 -[19065] Forked 19400 -(19399) found -(19400) found -[19064] Forked 19401 -[19063] Forked 19402 -(19401) found -(19402) found -[19062] Forked 19403 -[19061] Forked 19404 -(19403) found -(19404) found -[19060] Forked 19405 -[19059] Forked 19406 -(19405) found -(19406) found -[19058] Forked 19407 -[19057] Forked 19408 -(19407) found -(19408) found -[19056] Forked 19409 -[19055] Forked 19410 -(19409) found -(19410) found -[19054] Forked 19411 -[19053] Forked 19412 -(19411) found -(19412) found -[19052] Forked 19413 -[19051] Forked 19414 -(19413) found -(19414) found -[19050] Forked 19415 -[19049] Forked 19416 -(19415) found -(19416) found -[19048] Forked 19417 -[19047] Forked 19418 -(19417) found -(19418) found -[19046] Forked 19419 -[19045] Forked 19420 -(19419) found -(19420) found -[19044] Forked 19421 -[19043] Forked 19422 -(19421) found -(19422) found -[19042] Forked 19423 -[19041] Forked 19424 -(19423) found -(19424) found -[19040] Forked 19425 -[19039] Forked 19426 -(19425) found -(19426) found -[19038] Forked 19427 -[19037] Forked 19428 -(19427) found -(19428) found -[19036] Forked 19429 -(19429) found -[19035] Forked 19430 -(19430) found -[19034] Forked 19431 -(19431) found -[19033] Forked 19432 -(19432) found -[19032] Forked 19433 -(19433) found -[19031] Forked 19434 -(19434) found -[19030] Forked 19435 -(19435) found -[19029] Forked 19436 -(19436) found -[19028] Forked 19437 -(19437) found -[19027] Forked 19438 -(19438) found -[19026] Forked 19439 -(19439) found -[19025] Forked 19440 -(19440) found -[19024] Forked 19441 -(19441) found -[19023] Forked 19442 -(19442) found -[19022] Forked 19443 -(19443) found -[19021] Forked 19444 -(19444) found -[19020] Forked 19445 -(19445) found -[19019] Forked 19446 -(19446) found -[19018] Forked 19447 -(19447) found -[19017] Forked 19448 -(19448) found -[19016] Forked 19449 -(19449) found -[19015] Forked 19450 -(19450) found -[19014] Forked 19451 -(19451) found -[19013] Forked 19452 -(19452) found -[19012] Forked 19453 -(19453) found -[19011] Forked 19454 -(19454) found -[19010] Forked 19455 -[19009] Forked 19456 -(19455) found -(19456) found -[19008] Forked 19457 -[19007] Forked 19458 -(19457) found -(19458) found -[19006] Forked 19459 -[19005] Forked 19460 -(19459) found -(19460) found -[19004] Forked 19461 -[19003] Forked 19462 -(19461) found -(19462) found -[19002] Forked 19463 -[19001] Forked 19464 -(19463) found -(19464) found -[19000] Forked 19465 -[18999] Forked 19466 -(19465) found -(19466) found -[18998] Forked 19467 -[18997] Forked 19468 -(19467) found -(19468) found -[18996] Forked 19469 -[18995] Forked 19470 -(19469) found -(19470) found -[18994] Forked 19471 -[18993] Forked 19472 -(19471) found -(19472) found -[18992] Forked 19473 -[18991] Forked 19474 -(19473) found -(19474) found -[18990] Forked 19475 -[18989] Forked 19476 -(19475) found -(19476) found -[18988] Forked 19477 -[18987] Forked 19478 -(19477) found -(19478) found -[18986] Forked 19479 -[18985] Forked 19480 -(19479) found -(19480) found -[18984] Forked 19481 -[18983] Forked 19482 -(19481) found -(19482) found -[18982] Forked 19483 -[18981] Forked 19484 -(19483) found -(19484) found -[18980] Forked 19485 -[18979] Forked 19486 -(19485) found -(19486) found -[18978] Forked 19487 -[18977] Forked 19488 -(19487) found -(19488) found -[18976] Forked 19489 -[18975] Forked 19490 -(19489) found -(19490) found -[18974] Forked 19491 -[18973] Forked 19492 -(19491) found -(19492) found -[18972] Forked 19493 -[18971] Forked 19494 -(19493) found -(19494) found -[18970] Forked 19495 -(19495) found -[18969] Forked 19496 -[18968] Forked 19497 -(19496) found -(19497) found -[18967] Forked 19498 -[18966] Forked 19499 -(19498) found -(19499) found -[18965] Forked 19500 -(19500) found -[18964] Forked 19501 -[18963] Forked 19502 -(19501) found -(19502) found -[18962] Forked 19503 -[18961] Forked 19504 -(19503) found -(19504) found -[18960] Forked 19505 -[18959] Forked 19506 -(19505) found -(19506) found -[18958] Forked 19507 -[18957] Forked 19508 -(19507) found -(19508) found -[18956] Forked 19509 -[18955] Forked 19510 -(19509) found -(19510) found -[18954] Forked 19511 -[18953] Forked 19512 -(19511) found -(19512) found -[18952] Forked 19513 -[18951] Forked 19514 -(19513) found -(19514) found -[18950] Forked 19515 -[18949] Forked 19516 -(19515) found -(19516) found -[18948] Forked 19517 -[18947] Forked 19518 -(19517) found -(19518) found -[18946] Forked 19519 -[18945] Forked 19520 -(19519) found -(19520) found -[18944] Forked 19521 -[18943] Forked 19522 -(19521) found -(19522) found -[18942] Forked 19523 -[18941] Forked 19524 -(19523) found -(19524) found -[18940] Forked 19525 -[18939] Forked 19526 -(19525) found -(19526) found -[18938] Forked 19527 -[18937] Forked 19528 -(19527) found -(19528) found -[18936] Forked 19529 -[18935] Forked 19530 -(19529) found -(19530) found -[18934] Forked 19531 -[18933] Forked 19532 -(19531) found -(19532) found -[18932] Forked 19533 -[18931] Forked 19534 -(19533) found -(19534) found -[18930] Forked 19535 -[18929] Forked 19536 -(19535) found -(19536) found -[18928] Forked 19537 -[18927] Forked 19538 -(19537) found -(19538) found -[18926] Forked 19539 -[18925] Forked 19540 -(19539) found -(19540) found -[18924] Forked 19541 -[18923] Forked 19542 -(19541) found -(19542) found -[18922] Forked 19543 -[18921] Forked 19544 -(19543) found -(19544) found -[18920] Forked 19545 -[18919] Forked 19546 -(19545) found -(19546) found -[18918] Forked 19547 -[18917] Forked 19548 -(19547) found -(19548) found -[18916] Forked 19549 -[18915] Forked 19550 -(19549) found -(19550) found -[18914] Forked 19551 -[18913] Forked 19552 -(19551) found -(19552) found -[18912] Forked 19553 -[18911] Forked 19554 -(19553) found -(19554) found -[18910] Forked 19555 -[18909] Forked 19556 -(19555) found -(19556) found -[18908] Forked 19557 -[18907] Forked 19558 -(19557) found -(19558) found -[18906] Forked 19559 -[18905] Forked 19560 -(19559) found -(19560) found -[18904] Forked 19561 -[18903] Forked 19562 -(19561) found -(19562) found -[18902] Forked 19563 -[18901] Forked 19564 -(19563) found -(19564) found -[18900] Forked 19565 -[18899] Forked 19566 -(19565) found -(19566) found -[18898] Forked 19567 -[18897] Forked 19568 -(19567) found -(19568) found -[18896] Forked 19569 -[18895] Forked 19570 -(19569) found -(19570) found -[18894] Forked 19571 -[18893] Forked 19572 -(19571) found -(19572) found -[18892] Forked 19573 -[18891] Forked 19574 -(19573) found -(19574) found -[18890] Forked 19575 -[18889] Forked 19576 -(19575) found -(19576) found -[18888] Forked 19577 -[18887] Forked 19578 -(19577) found -(19578) found -[18886] Forked 19579 -[18885] Forked 19580 -(19579) found -(19580) found -[18884] Forked 19581 -[18883] Forked 19582 -(19581) found -(19582) found -[18882] Forked 19583 -[18881] Forked 19584 -(19583) found -(19584) found -[18880] Forked 19585 -[18879] Forked 19586 -(19585) found -(19586) found -[18878] Forked 19587 -[18877] Forked 19588 -(19587) found -(19588) found -[18876] Forked 19589 -[18875] Forked 19590 -(19589) found -(19590) found -[18874] Forked 19591 -[18873] Forked 19592 -(19591) found -(19592) found -[18872] Forked 19593 -[18871] Forked 19594 -(19593) found -(19594) found -[18870] Forked 19595 -[18869] Forked 19596 -(19595) found -(19596) found -[18868] Forked 19597 -[18867] Forked 19598 -(19597) found -(19598) found -[18866] Forked 19599 -[18865] Forked 19600 -(19599) found -(19600) found -[18864] Forked 19601 -[18863] Forked 19602 -(19601) found -(19602) found -[18862] Forked 19603 -[18861] Forked 19604 -(19603) found -(19604) found -[18860] Forked 19605 -[18859] Forked 19606 -(19605) found -(19606) found -[18858] Forked 19607 -[18857] Forked 19608 -(19607) found -(19608) found -[18856] Forked 19609 -[18855] Forked 19610 -(19609) found -(19610) found -[18854] Forked 19611 -[18853] Forked 19612 -(19611) found -(19612) found -[18852] Forked 19613 -[18851] Forked 19614 -(19613) found -(19614) found -[18850] Forked 19615 -[18849] Forked 19616 -(19615) found -(19616) found -[18848] Forked 19617 -[18847] Forked 19618 -(19617) found -(19618) found -[18846] Forked 19619 -[18845] Forked 19620 -(19619) found -(19620) found -[18844] Forked 19621 -[18843] Forked 19622 -(19621) found -(19622) found -[18842] Forked 19623 -[18841] Forked 19624 -(19623) found -(19624) found -[18840] Forked 19625 -[18839] Forked 19626 -(19625) found -(19626) found -[18838] Forked 19627 -[18837] Forked 19628 -(19627) found -(19628) found -[18836] Forked 19629 -[18835] Forked 19630 -(19629) found -(19630) found -[18834] Forked 19631 -[18833] Forked 19632 -(19631) found -(19632) found -[18832] Forked 19633 -[18831] Forked 19634 -(19633) found -(19634) found -[18830] Forked 19635 -[18829] Forked 19636 -(19635) found -(19636) found -[18828] Forked 19637 -[18827] Forked 19638 -(19637) found -(19638) found -[18826] Forked 19639 -[18825] Forked 19640 -(19639) found -(19640) found -[18824] Forked 19641 -[18823] Forked 19642 -(19641) found -(19642) found -[18822] Forked 19643 -[18821] Forked 19644 -(19643) found -(19644) found -[18820] Forked 19645 -[18819] Forked 19646 -(19645) found -(19646) found -[18818] Forked 19647 -[18817] Forked 19648 -(19647) found -(19648) found -[18816] Forked 19649 -[18815] Forked 19650 -(19649) found -(19650) found -[18814] Forked 19651 -[18813] Forked 19652 -(19651) found -(19652) found -[18812] Forked 19653 -[18811] Forked 19654 -(19653) found -(19654) found -[18810] Forked 19655 -[18809] Forked 19656 -(19655) found -(19656) found -[18808] Forked 19657 -[18807] Forked 19658 -(19657) found -(19658) found -[18806] Forked 19659 -[18805] Forked 19660 -(19659) found -(19660) found -[18804] Forked 19661 -[18803] Forked 19662 -(19661) found -(19662) found -[18802] Forked 19663 -[18801] Forked 19664 -(19663) found -(19664) found -[18800] Forked 19665 -[18799] Forked 19666 -(19665) found -(19666) found -[18798] Forked 19667 -[18797] Forked 19668 -(19667) found -(19668) found -[18796] Forked 19669 -[18795] Forked 19670 -(19669) found -(19670) found -[18794] Forked 19671 -[18793] Forked 19672 -(19671) found -(19672) found -[18792] Forked 19673 -[18791] Forked 19674 -(19673) found -(19674) found -[18790] Forked 19675 -[18789] Forked 19676 -(19675) found -(19676) found -[18788] Forked 19677 -[18787] Forked 19678 -(19677) found -(19678) found -[18786] Forked 19679 -[18785] Forked 19680 -(19679) found -(19680) found -[18784] Forked 19681 -(19681) found -[18783] Forked 19682 -(19682) found -[18782] Forked 19683 -(19683) found -[18781] Forked 19684 -(19684) found -[18780] Forked 19685 -(19685) found -[18779] Forked 19686 -(19686) found -[18778] Forked 19687 -(19687) found -[18777] Forked 19688 -(19688) found -[18776] Forked 19689 -(19689) found -[18775] Forked 19690 -(19690) found -[18774] Forked 19691 -(19691) found -[18773] Forked 19692 -(19692) found -[18772] Forked 19693 -(19693) found -[18771] Forked 19694 -(19694) found -[18770] Forked 19695 -(19695) found -[18769] Forked 19696 -(19696) found -[18768] Forked 19697 -(19697) found -[18767] Forked 19698 -(19698) found -[18766] Forked 19699 -(19699) found -[18765] Forked 19700 -(19700) found -[18764] Forked 19701 -(19701) found -[18763] Forked 19702 -(19702) found -[18762] Forked 19703 -(19703) found -[18761] Forked 19704 -(19704) found -[18760] Forked 19705 -(19705) found -[18759] Forked 19706 -(19706) found -[18758] Forked 19707 -(19707) found -[18757] Forked 19708 -(19708) found -[18756] Forked 19709 -(19709) found -[18755] Forked 19710 -(19710) found -[18754] Forked 19711 -(19711) found -[18753] Forked 19712 -(19712) found -[18752] Forked 19713 -(19713) found -[18751] Forked 19714 -(19714) found -[18750] Forked 19715 -(19715) found -[18749] Forked 19716 -(19716) found -[18748] Forked 19717 -[18747] Forked 19718 -(19717) found -(19718) found -[18746] Forked 19719 -[18745] Forked 19720 -(19719) found -(19720) found -[18744] Forked 19721 -[18743] Forked 19722 -(19721) found -(19722) found -[18742] Forked 19723 -[18741] Forked 19724 -(19723) found -(19724) found -[18740] Forked 19725 -[18739] Forked 19726 -(19725) found -(19726) found -[18738] Forked 19727 -[18737] Forked 19728 -(19727) found -(19728) found -[18736] Forked 19729 -[18735] Forked 19730 -(19729) found -(19730) found -[18734] Forked 19731 -[18733] Forked 19732 -(19731) found -(19732) found -[18732] Forked 19733 -[18731] Forked 19734 -(19733) found -(19734) found -[18730] Forked 19735 -[18729] Forked 19736 -(19735) found -(19736) found -[18728] Forked 19737 -[18727] Forked 19738 -(19737) found -(19738) found -[18726] Forked 19739 -[18725] Forked 19740 -(19739) found -(19740) found -[18724] Forked 19741 -[18723] Forked 19742 -(19741) found -(19742) found -[18722] Forked 19743 -[18721] Forked 19744 -(19743) found -(19744) found -[18720] Forked 19745 -[18719] Forked 19746 -(19745) found -(19746) found -[18718] Forked 19747 -[18717] Forked 19748 -(19747) found -(19748) found -[18716] Forked 19749 -[18715] Forked 19750 -(19749) found -(19750) found -[18714] Forked 19751 -[18713] Forked 19752 -(19751) found -(19752) found -[18712] Forked 19753 -[18711] Forked 19755 -(19753) found -(19755) found -[18710] Forked 19756 -(19756) found -[18709] Forked 19757 -(19757) found -[18708] Forked 19758 -(19758) found -[18707] Forked 19759 -(19759) found -[18706] Forked 19760 -(19760) found -[18705] Forked 19761 -(19761) found -[18704] Forked 19762 -(19762) found -[18703] Forked 19763 -(19763) found -[18702] Forked 19764 -(19764) found -[18701] Forked 19765 -(19765) found -[18700] Forked 19766 -(19766) found -[18699] Forked 19767 -(19767) found -[18698] Forked 19768 -(19768) found -[18697] Forked 19769 -(19769) found -[18696] Forked 19770 -(19770) found -[18695] Forked 19771 -(19771) found -[18694] Forked 19772 -(19772) found -[18693] Forked 19773 -(19773) found -[18692] Forked 19774 -(19774) found -[18691] Forked 19775 -(19775) found -[18690] Forked 19776 -(19776) found -[18689] Forked 19777 -(19777) found -[18688] Forked 19778 -(19778) found -[18687] Forked 19779 -(19779) found -[18686] Forked 19780 -(19780) found -[18685] Forked 19781 -(19781) found -[18684] Forked 19782 -(19782) found -[18683] Forked 19783 -(19783) found -[18682] Forked 19784 -(19784) found -[18681] Forked 19785 -(19785) found -[18680] Forked 19786 -(19786) found -[18679] Forked 19787 -(19787) found -[18678] Forked 19788 -(19788) found -[18677] Forked 19789 -(19789) found -[18676] Forked 19790 -(19790) found -[18675] Forked 19791 -(19791) found -[18674] Forked 19792 -(19792) found -[18673] Forked 19793 -(19793) found -[18672] Forked 19794 -(19794) found -[18671] Forked 19795 -(19795) found -[18670] Forked 19796 -(19796) found -[18669] Forked 19797 -[18668] Forked 19798 -(19797) found -(19798) found -[18667] Forked 19799 -[18666] Forked 19800 -(19799) found -(19800) found -[18665] Forked 19801 -[18664] Forked 19802 -(19801) found -(19802) found -[18663] Forked 19803 -[18662] Forked 19804 -(19803) found -(19804) found -[18661] Forked 19805 -[18660] Forked 19806 -(19805) found -(19806) found -[18659] Forked 19807 -[18658] Forked 19808 -(19807) found -(19808) found -[18657] Forked 19809 -[18656] Forked 19810 -(19809) found -(19810) found -[18655] Forked 19811 -[18654] Forked 19812 -(19811) found -(19812) found -[18653] Forked 19813 -[18652] Forked 19814 -(19813) found -(19814) found -[18651] Forked 19815 -[18650] Forked 19816 -(19815) found -(19816) found -[18649] Forked 19817 -[18648] Forked 19818 -(19817) found -(19818) found -[18647] Forked 19819 -[18646] Forked 19820 -(19819) found -(19820) found -[18645] Forked 19821 -[18644] Forked 19822 -(19821) found -(19822) found -[18643] Forked 19823 -[18642] Forked 19824 -(19823) found -(19824) found -[18641] Forked 19825 -[18640] Forked 19826 -(19825) found -(19826) found -[18639] Forked 19827 -[18638] Forked 19828 -(19827) found -(19828) found -[18637] Forked 19829 -[18636] Forked 19830 -(19829) found -(19830) found -[18635] Forked 19831 -[18634] Forked 19832 -(19831) found -(19832) found -[18633] Forked 19833 -[18632] Forked 19834 -(19833) found -(19834) found -[18631] Forked 19835 -[18630] Forked 19836 -(19835) found -(19836) found -[18629] Forked 19837 -[18628] Forked 19838 -(19837) found -(19838) found -[18627] Forked 19839 -[18626] Forked 19840 -(19839) found -(19840) found -[18625] Forked 19841 -[18624] Forked 19842 -(19841) found -(19842) found -[18623] Forked 19843 -[18622] Forked 19844 -(19843) found -(19844) found -[18621] Forked 19845 -(19845) found -[18620] Forked 19846 -(19846) found -[18619] Forked 19847 -(19847) found -[18618] Forked 19848 -(19848) found -[18617] Forked 19849 -(19849) found -[18616] Forked 19850 -(19850) found -[18615] Forked 19851 -(19851) found -[18614] Forked 19852 -(19852) found -[18613] Forked 19853 -(19853) found -[18612] Forked 19854 -(19854) found -[18611] Forked 19855 -(19855) found -[18610] Forked 19856 -(19856) found -[18609] Forked 19857 -(19857) found -[18608] Forked 19858 -(19858) found -[18607] Forked 19859 -(19859) found -[18606] Forked 19860 -(19860) found -[18605] Forked 19861 -(19861) found -[18604] Forked 19862 -(19862) found -[18603] Forked 19863 -(19863) found -[18602] Forked 19864 -(19864) found -[18601] Forked 19865 -(19865) found -[18600] Forked 19866 -(19866) found -[18599] Forked 19867 -(19867) found -[18598] Forked 19868 -(19868) found -[18597] Forked 19869 -(19869) found -[18596] Forked 19870 -(19870) found -[18595] Forked 19871 -(19871) found -[18594] Forked 19872 -(19872) found -[18593] Forked 19873 -(19873) found -[18592] Forked 19874 -(19874) found -[18591] Forked 19875 -(19875) found -[18590] Forked 19876 -(19876) found -[18589] Forked 19877 -(19877) found -[18588] Forked 19878 -(19878) found -[18587] Forked 19879 -[18586] Forked 19880 -(19879) found -(19880) found -[18585] Forked 19881 -[18584] Forked 19882 -(19881) found -(19882) found -[18583] Forked 19883 -[18582] Forked 19884 -(19883) found -(19884) found -[18581] Forked 19885 -[18580] Forked 19886 -(19885) found -(19886) found -[18579] Forked 19887 -[18578] Forked 19888 -(19887) found -(19888) found -[18577] Forked 19889 -[18576] Forked 19890 -(19889) found -(19890) found -[18575] Forked 19891 -[18574] Forked 19892 -(19891) found -(19892) found -[18573] Forked 19893 -[18572] Forked 19894 -(19893) found -(19894) found -[18571] Forked 19895 -[18570] Forked 19896 -(19895) found -(19896) found -[18569] Forked 19897 -[18568] Forked 19898 -(19897) found -(19898) found -[18567] Forked 19899 -[18566] Forked 19900 -(19899) found -(19900) found -[18565] Forked 19901 -[18564] Forked 19902 -(19901) found -(19902) found -[18563] Forked 19903 -[18562] Forked 19904 -(19903) found -(19904) found -[18561] Forked 19905 -[18560] Forked 19906 -(19905) found -(19906) found -[18559] Forked 19907 -[18558] Forked 19908 -(19907) found -(19908) found -[18557] Forked 19909 -[18556] Forked 19910 -(19909) found -(19910) found -[18555] Forked 19911 -[18554] Forked 19912 -(19911) found -(19912) found -[18553] Forked 19913 -[18552] Forked 19914 -(19913) found -(19914) found -[18551] Forked 19915 -[18550] Forked 19916 -(19915) found -(19916) found -[18549] Forked 19917 -[18548] Forked 19918 -(19917) found -(19918) found -[18547] Forked 19919 -[18546] Forked 19920 -(19919) found -(19920) found -[18545] Forked 19921 -[18544] Forked 19922 -(19921) found -(19922) found -[18543] Forked 19923 -[18542] Forked 19924 -(19923) found -(19924) found -[18541] Forked 19925 -[18540] Forked 19926 -(19925) found -(19926) found -[18539] Forked 19927 -[18538] Forked 19928 -(19927) found -(19928) found -[18537] Forked 19929 -[18536] Forked 19930 -(19929) found -(19930) found -[18535] Forked 19931 -[18534] Forked 19932 -(19931) found -(19932) found -[18533] Forked 19933 -[18532] Forked 19934 -(19933) found -(19934) found -[18531] Forked 19935 -[18530] Forked 19936 -(19935) found -(19936) found -[18529] Forked 19937 -[18528] Forked 19938 -(19937) found -(19938) found -[18527] Forked 19939 -[18526] Forked 19940 -(19939) found -(19940) found -[18525] Forked 19941 -[18524] Forked 19942 -(19941) found -(19942) found -[18523] Forked 19943 -[18522] Forked 19944 -(19943) found -(19944) found -[18521] Forked 19945 -[18520] Forked 19946 -(19945) found -(19946) found -[18519] Forked 19947 -[18518] Forked 19948 -(19947) found -(19948) found -[18517] Forked 19949 -[18516] Forked 19950 -(19949) found -(19950) found -[18515] Forked 19951 -[18514] Forked 19952 -(19951) found -(19952) found -[18513] Forked 19953 -[18512] Forked 19954 -(19953) found -(19954) found -[18511] Forked 19955 -[18510] Forked 19956 -(19955) found -(19956) found -[18509] Forked 19957 -[18508] Forked 19958 -(19957) found -(19958) found -[18507] Forked 19959 -[18506] Forked 19960 -(19959) found -(19960) found -[18505] Forked 19961 -[18504] Forked 19962 -(19961) found -(19962) found -[18503] Forked 19963 -[18502] Forked 19964 -(19963) found -(19964) found -[18501] Forked 19965 -[18500] Forked 19966 -(19965) found -(19966) found -[18499] Forked 19967 -[18498] Forked 19968 -(19967) found -(19968) found -[18497] Forked 19969 -[18496] Forked 19970 -(19969) found -(19970) found -[18495] Forked 19971 -(19971) found -[18494] Forked 19972 -(19972) found -[18493] Forked 19973 -(19973) found -[18492] Forked 19974 -(19974) found -[18491] Forked 19975 -(19975) found -[18490] Forked 19976 -(19976) found -[18489] Forked 19977 -(19977) found -[18488] Forked 19978 -(19978) found -[18487] Forked 19979 -(19979) found -[18486] Forked 19980 -(19980) found -[18485] Forked 19981 -(19981) found -[18484] Forked 19982 -(19982) found -[18483] Forked 19983 -(19983) found -[18482] Forked 19984 -(19984) found -[18481] Forked 19985 -(19985) found -[18480] Forked 19986 -(19986) found -[18479] Forked 19987 -(19987) found -[18478] Forked 19988 -(19988) found -[18477] Forked 19989 -(19989) found -[18476] Forked 19990 -(19990) found -[18475] Forked 19991 -(19991) found -[18474] Forked 19992 -(19992) found -[18473] Forked 19993 -(19993) found -[18472] Forked 19994 -(19994) found -[18471] Forked 19995 -(19995) found -[18470] Forked 19996 -(19996) found -[18469] Forked 19997 -(19997) found -[18468] Forked 19998 -(19998) found -[18467] Forked 19999 -(19999) found -[18466] Forked 20000 -(20000) found -[18465] Forked 20001 -(20001) found -[18464] Forked 20002 -(20002) found -[18463] Forked 20003 -(20003) found -[18462] Forked 20004 -(20004) found -[18461] Forked 20005 -(20005) found -[18460] Forked 20006 -(20006) found -[18459] Forked 20007 -(20007) found -[18458] Forked 20008 -[18457] Forked 20009 -(20008) found -(20009) found -[18456] Forked 20010 -[18455] Forked 20011 -(20010) found -(20011) found -[18454] Forked 20012 -[18453] Forked 20014 -(20012) found -(20014) found -[18452] Forked 20015 -(20015) found -[18451] Forked 20016 -(20016) found -[18450] Forked 20017 -(20017) found -[18449] Forked 20018 -(20018) found -[18448] Forked 20019 -(20019) found -[18447] Forked 20020 -(20020) found -[18446] Forked 20021 -(20021) found -[18445] Forked 20022 -(20022) found -[18444] Forked 20023 -(20023) found -[18443] Forked 20024 -(20024) found -[18442] Forked 20025 -(20025) found -[18441] Forked 20026 -(20026) found -[18440] Forked 20027 -(20027) found -[18439] Forked 20028 -(20028) found -[18438] Forked 20029 -(20029) found -[18437] Forked 20030 -(20030) found -[18436] Forked 20031 -(20031) found -[18435] Forked 20032 -(20032) found -[18434] Forked 20033 -(20033) found -[18433] Forked 20034 -(20034) found -[18432] Forked 20035 -(20035) found -[18431] Forked 20036 -(20036) found -[18430] Forked 20037 -(20037) found -[18429] Forked 20038 -(20038) found -[18428] Forked 20039 -(20039) found -[18427] Forked 20040 -(20040) found -[18426] Forked 20041 -(20041) found -[18425] Forked 20042 -(20042) found -[18424] Forked 20043 -(20043) found -[18423] Forked 20044 -(20044) found -[18422] Forked 20045 -(20045) found -[18421] Forked 20046 -(20046) found -[18420] Forked 20047 -(20047) found -[18419] Forked 20048 -(20048) found -[18418] Forked 20049 -(20049) found -[18417] Forked 20050 -(20050) found -[18416] Forked 20051 -(20051) found -[18415] Forked 20052 -(20052) found -[18414] Forked 20053 -(20053) found -[18413] Forked 20054 -(20054) found -[18412] Forked 20055 -(20055) found -[18411] Forked 20056 -(20056) found -[18410] Forked 20057 -(20057) found -[18409] Forked 20058 -(20058) found -[18408] Forked 20059 -(20059) found -[18407] Forked 20060 -(20060) found -[18406] Forked 20061 -(20061) found -[18405] Forked 20062 -(20062) found -[18404] Forked 20063 -(20063) found -[18403] Forked 20064 -(20064) found -[18402] Forked 20065 -(20065) found -[18401] Forked 20066 -(20066) found -[18400] Forked 20067 -(20067) found -[18399] Forked 20068 -(20068) found -[18398] Forked 20069 -(20069) found -[18397] Forked 20070 -(20070) found -[18396] Forked 20071 -(20071) found -[18395] Forked 20072 -(20072) found -[18394] Forked 20073 -(20073) found -[18393] Forked 20074 -(20074) found -[18392] Forked 20075 -(20075) found -[18391] Forked 20076 -(20076) found -[18390] Forked 20077 -(20077) found -[18389] Forked 20078 -(20078) found -[18388] Forked 20079 -(20079) found -[18387] Forked 20080 -(20080) found -[18386] Forked 20081 -[18385] Forked 20082 -(20081) found -(20082) found -[18384] Forked 20083 -[18383] Forked 20084 -(20083) found -(20084) found -[18382] Forked 20085 -[18381] Forked 20086 -(20085) found -(20086) found -[18380] Forked 20087 -(20087) found -[18379] Forked 20088 -(20088) found -[18378] Forked 20089 -(20089) found -[18377] Forked 20090 -(20090) found -[18376] Forked 20091 -(20091) found -[18375] Forked 20092 -(20092) found -[18374] Forked 20093 -(20093) found -[18373] Forked 20094 -(20094) found -[18372] Forked 20095 -(20095) found -[18371] Forked 20096 -(20096) found -[18370] Forked 20097 -(20097) found -[18369] Forked 20098 -(20098) found -[18368] Forked 20099 -(20099) found -[18367] Forked 20100 -(20100) found -[18366] Forked 20101 -(20101) found -[18365] Forked 20102 -(20102) found -[18364] Forked 20103 -(20103) found -[18363] Forked 20104 -(20104) found -[18362] Forked 20105 -(20105) found -[18361] Forked 20106 -(20106) found -[18360] Forked 20107 -(20107) found -[18359] Forked 20108 -(20108) found -[18358] Forked 20109 -(20109) found -[18357] Forked 20110 -(20110) found -[18356] Forked 20111 -(20111) found -[18355] Forked 20112 -(20112) found -[18354] Forked 20113 -(20113) found -[18353] Forked 20114 -(20114) found -[18352] Forked 20115 -(20115) found -[18351] Forked 20116 -(20116) found -[18350] Forked 20117 -(20117) found -[18349] Forked 20118 -(20118) found -[18348] Forked 20119 -(20119) found -[18347] Forked 20120 -(20120) found -[18346] Forked 20121 -(20121) found -[18345] Forked 20122 -(20122) found -[18344] Forked 20123 -(20123) found -[18343] Forked 20124 -(20124) found -[18342] Forked 20125 -(20125) found -[18341] Forked 20126 -(20126) found -[18340] Forked 20127 -(20127) found -[18339] Forked 20128 -(20128) found -[18338] Forked 20129 -(20129) found -[18337] Forked 20130 -(20130) found -[18336] Forked 20131 -(20131) found -[18335] Forked 20132 -(20132) found -[18334] Forked 20133 -(20133) found -[18333] Forked 20134 -(20134) found -[18332] Forked 20135 -(20135) found -[18331] Forked 20136 -(20136) found -[18330] Forked 20137 -(20137) found -[18329] Forked 20138 -(20138) found -[18328] Forked 20139 -(20139) found -[18327] Forked 20140 -(20140) found -[18326] Forked 20141 -(20141) found -[18325] Forked 20142 -(20142) found -[18324] Forked 20143 -(20143) found -[18323] Forked 20144 -(20144) found -[18322] Forked 20145 -(20145) found -[18321] Forked 20146 -(20146) found -[18320] Forked 20147 -(20147) found -[18319] Forked 20148 -(20148) found -[18318] Forked 20149 -(20149) found -[18317] Forked 20150 -(20150) found -[18316] Forked 20151 -(20151) found -[18315] Forked 20152 -(20152) found -[18314] Forked 20153 -(20153) found -[18313] Forked 20154 -(20154) found -[18312] Forked 20155 -(20155) found -[18311] Forked 20156 -(20156) found -[18310] Forked 20157 -(20157) found -[18309] Forked 20158 -(20158) found -[18308] Forked 20159 -(20159) found -[18307] Forked 20160 -(20160) found -[18306] Forked 20161 -(20161) found -[18305] Forked 20162 -(20162) found -[18304] Forked 20163 -(20163) found -[18303] Forked 20164 -(20164) found -[18302] Forked 20165 -(20165) found -[18301] Forked 20166 -(20166) found -[18300] Forked 20167 -(20167) found -[18299] Forked 20168 -(20168) found -[18298] Forked 20169 -(20169) found -[18297] Forked 20170 -(20170) found -[18296] Forked 20171 -(20171) found -[18295] Forked 20172 -(20172) found -[18294] Forked 20173 -(20173) found -[18293] Forked 20174 -(20174) found -[18292] Forked 20175 -(20175) found -[18291] Forked 20176 -(20176) found -[18290] Forked 20177 -(20177) found -[18289] Forked 20178 -(20178) found -[18288] Forked 20179 -(20179) found -[18287] Forked 20180 -(20180) found -[18286] Forked 20181 -(20181) found -[18285] Forked 20182 -(20182) found -[18284] Forked 20183 -(20183) found -[18283] Forked 20184 -(20184) found -[18282] Forked 20185 -(20185) found -[18281] Forked 20186 -(20186) found -[18280] Forked 20187 -(20187) found -[18279] Forked 20188 -(20188) found -[18278] Forked 20189 -[18277] Forked 20190 -(20189) found -(20190) found -[18276] Forked 20191 -[18275] Forked 20192 -(20191) found -(20192) found -[18274] Forked 20193 -[18273] Forked 20194 -(20193) found -(20194) found -[18272] Forked 20195 -[18271] Forked 20196 -(20195) found -(20196) found -[18270] Forked 20197 -[18269] Forked 20198 -(20197) found -(20198) found -[18268] Forked 20199 -[18267] Forked 20200 -(20199) found -(20200) found -[18266] Forked 20201 -[18265] Forked 20202 -(20201) found -(20202) found -[18264] Forked 20203 -[18263] Forked 20204 -(20203) found -(20204) found -[18262] Forked 20205 -[18261] Forked 20206 -(20205) found -(20206) found -[18260] Forked 20207 -[18259] Forked 20208 -(20207) found -(20208) found -[18258] Forked 20209 -[18257] Forked 20210 -(20209) found -(20210) found -[18256] Forked 20211 -[18255] Forked 20212 -(20211) found -(20212) found -[18254] Forked 20213 -[18253] Forked 20214 -(20213) found -(20214) found -[18252] Forked 20215 -[18251] Forked 20216 -(20215) found -(20216) found -[18250] Forked 20217 -[18249] Forked 20218 -(20217) found -(20218) found -[18248] Forked 20219 -[18247] Forked 20220 -(20219) found -(20220) found -[18246] Forked 20221 -[18245] Forked 20222 -(20221) found -(20222) found -[18244] Forked 20223 -[18243] Forked 20225 -(20223) found -(20225) found -[18242] Forked 20226 -(20226) found -[18241] Forked 20227 -(20227) found -[18240] Forked 20228 -(20228) found -[18239] Forked 20229 -(20229) found -[18238] Forked 20230 -(20230) found -[18237] Forked 20231 -(20231) found -[18236] Forked 20232 -(20232) found -[18235] Forked 20233 -(20233) found -[18234] Forked 20234 -(20234) found -[18233] Forked 20235 -(20235) found -[18232] Forked 20236 -(20236) found -[18231] Forked 20237 -(20237) found -[18230] Forked 20238 -(20238) found -[18229] Forked 20239 -(20239) found -[18228] Forked 20240 -(20240) found -[18227] Forked 20241 -(20241) found -[18226] Forked 20242 -(20242) found -[18225] Forked 20243 -(20243) found -[18224] Forked 20244 -(20244) found -[18223] Forked 20245 -(20245) found -[18222] Forked 20246 -(20246) found -[18221] Forked 20247 -(20247) found -[18220] Forked 20248 -(20248) found -[18219] Forked 20249 -(20249) found -[18218] Forked 20250 -(20250) found -[18217] Forked 20251 -(20251) found -[18216] Forked 20252 -(20252) found -[18215] Forked 20253 -(20253) found -[18214] Forked 20254 -(20254) found -[18213] Forked 20255 -(20255) found -[18212] Forked 20256 -(20256) found -[18211] Forked 20257 -(20257) found -[18210] Forked 20258 -(20258) found -[18209] Forked 20259 -(20259) found -[18208] Forked 20260 -(20260) found -[18207] Forked 20261 -(20261) found -[18206] Forked 20262 -(20262) found -[18205] Forked 20263 -(20263) found -[18204] Forked 20264 -(20264) found -[18203] Forked 20265 -(20265) found -[18202] Forked 20266 -(20266) found -[18201] Forked 20267 -(20267) found -[18200] Forked 20268 -(20268) found -[18199] Forked 20269 -(20269) found -[18198] Forked 20270 -(20270) found -[18197] Forked 20271 -(20271) found -[18196] Forked 20272 -(20272) found -[18195] Forked 20273 -(20273) found -[18194] Forked 20274 -(20274) found -[18193] Forked 20275 -(20275) found -[18192] Forked 20276 -(20276) found -[18191] Forked 20277 -(20277) found -[18190] Forked 20278 -(20278) found -[18189] Forked 20279 -(20279) found -[18188] Forked 20280 -(20280) found -[18187] Forked 20281 -(20281) found -[18186] Forked 20282 -(20282) found -[18185] Forked 20283 -(20283) found -[18184] Forked 20284 -(20284) found -[18183] Forked 20285 -(20285) found -[18182] Forked 20286 -(20286) found -[18181] Forked 20287 -(20287) found -[18180] Forked 20288 -(20288) found -[18179] Forked 20289 -(20289) found -[18178] Forked 20290 -(20290) found -[18177] Forked 20291 -(20291) found -[18176] Forked 20292 -(20292) found -[18175] Forked 20293 -(20293) found -[18174] Forked 20294 -(20294) found -[18173] Forked 20295 -(20295) found -[18172] Forked 20296 -(20296) found -[18171] Forked 20297 -(20297) found -[18170] Forked 20298 -(20298) found -[18169] Forked 20299 -(20299) found -[18168] Forked 20300 -(20300) found -[18167] Forked 20301 -(20301) found -[18166] Forked 20302 -(20302) found -[18165] Forked 20303 -(20303) found -[18164] Forked 20304 -(20304) found -[18163] Forked 20305 -(20305) found -[18162] Forked 20306 -(20306) found -[18161] Forked 20307 -(20307) found -[18160] Forked 20308 -(20308) found -[18159] Forked 20309 -(20309) found -[18158] Forked 20310 -(20310) found -[18157] Forked 20311 -(20311) found -[18156] Forked 20312 -(20312) found -[18155] Forked 20313 -(20313) found -[18154] Forked 20314 -(20314) found -[18153] Forked 20315 -(20315) found -[18152] Forked 20316 -(20316) found -[18151] Forked 20317 -(20317) found -[18150] Forked 20318 -(20318) found -[18149] Forked 20319 -(20319) found -[18148] Forked 20320 -(20320) found -[18147] Forked 20321 -(20321) found -[18146] Forked 20322 -(20322) found -[18145] Forked 20323 -(20323) found -[18144] Forked 20324 -(20324) found -[18143] Forked 20325 -(20325) found -[18142] Forked 20326 -(20326) found -[18141] Forked 20327 -(20327) found -[18140] Forked 20328 -(20328) found -[18139] Forked 20329 -(20329) found -[18138] Forked 20330 -(20330) found -[18137] Forked 20331 -(20331) found -[18136] Forked 20332 -(20332) found -[18135] Forked 20333 -(20333) found -[18134] Forked 20334 -(20334) found -[18133] Forked 20335 -(20335) found -[18132] Forked 20336 -(20336) found -[18131] Forked 20337 -(20337) found -[18130] Forked 20338 -(20338) found -[18129] Forked 20339 -(20339) found -[18128] Forked 20340 -(20340) found -[18127] Forked 20341 -(20341) found -[18126] Forked 20342 -[18125] Forked 20343 -(20342) found -(20343) found -[18124] Forked 20344 -[18123] Forked 20345 -(20344) found -(20345) found -[18122] Forked 20346 -[18121] Forked 20347 -(20346) found -(20347) found -[18120] Forked 20348 -[18119] Forked 20349 -(20348) found -(20349) found -[18118] Forked 20350 -[18117] Forked 20351 -(20350) found -(20351) found -[18116] Forked 20352 -[18115] Forked 20353 -(20352) found -(20353) found -[18114] Forked 20354 -[18113] Forked 20355 -(20354) found -(20355) found -[18112] Forked 20356 -[18111] Forked 20357 -(20356) found -(20357) found -[18110] Forked 20358 -[18109] Forked 20359 -(20358) found -(20359) found -[18108] Forked 20360 -[18107] Forked 20361 -(20360) found -(20361) found -[18106] Forked 20362 -[18105] Forked 20363 -(20362) found -(20363) found -[18104] Forked 20364 -[18103] Forked 20365 -(20364) found -(20365) found -[18102] Forked 20366 -[18101] Forked 20367 -(20366) found -(20367) found -[18100] Forked 20368 -[18099] Forked 20369 -(20368) found -(20369) found -[18098] Forked 20370 -[18097] Forked 20371 -(20370) found -(20371) found -[18096] Forked 20372 -[18095] Forked 20373 -(20372) found -(20373) found -[18094] Forked 20374 -[18093] Forked 20375 -(20374) found -(20375) found -[18092] Forked 20376 -[18091] Forked 20377 -(20376) found -(20377) found -[18090] Forked 20378 -[18089] Forked 20379 -(20378) found -(20379) found -[18088] Forked 20380 -[18087] Forked 20381 -(20380) found -(20381) found -[18086] Forked 20382 -[18085] Forked 20383 -(20382) found -(20383) found -[18084] Forked 20384 -[18083] Forked 20385 -(20384) found -(20385) found -[18082] Forked 20386 -[18081] Forked 20387 -(20386) found -(20387) found -[18080] Forked 20388 -[18079] Forked 20389 -(20388) found -(20389) found -[18078] Forked 20390 -[18077] Forked 20391 -(20390) found -(20391) found -[18076] Forked 20392 -[18075] Forked 20393 -(20392) found -(20393) found -[18074] Forked 20394 -[18073] Forked 20395 -(20394) found -(20395) found -[18072] Forked 20396 -[18071] Forked 20397 -(20396) found -(20397) found -[18070] Forked 20398 -[18069] Forked 20399 -(20398) found -(20399) found -[18068] Forked 20400 -[18067] Forked 20401 -(20400) found -(20401) found -[18066] Forked 20402 -[18065] Forked 20403 -(20402) found -(20403) found -[18064] Forked 20404 -[18063] Forked 20405 -(20404) found -(20405) found -[18062] Forked 20406 -[18061] Forked 20407 -(20406) found -(20407) found -[18060] Forked 20408 -[18059] Forked 20409 -(20408) found -(20409) found -[18058] Forked 20410 -[18057] Forked 20411 -(20410) found -(20411) found -[18056] Forked 20412 -[18055] Forked 20413 -(20412) found -(20413) found -[18054] Forked 20414 -[18053] Forked 20415 -(20414) found -(20415) found -[18052] Forked 20416 -[18051] Forked 20417 -(20416) found -(20417) found -[18050] Forked 20418 -[18049] Forked 20419 -(20418) found -(20419) found -[18048] Forked 20420 -[18047] Forked 20421 -(20420) found -(20421) found -[18046] Forked 20422 -[18045] Forked 20423 -(20422) found -(20423) found -[18044] Forked 20424 -[18043] Forked 20425 -(20424) found -(20425) found -[18042] Forked 20426 -[18041] Forked 20427 -(20426) found -(20427) found -[18040] Forked 20428 -[18039] Forked 20429 -(20428) found -(20429) found -[18038] Forked 20430 -[18037] Forked 20431 -(20430) found -(20431) found -[18036] Forked 20432 -(20432) found -[18035] Forked 20433 -(20433) found -[18034] Forked 20434 -(20434) found -[18033] Forked 20435 -(20435) found -[18032] Forked 20436 -(20436) found -[18031] Forked 20437 -(20437) found -[18030] Forked 20438 -(20438) found -[18029] Forked 20439 -(20439) found -[18028] Forked 20440 -(20440) found -[18027] Forked 20441 -(20441) found -[18026] Forked 20442 -(20442) found -[18025] Forked 20443 -(20443) found -[18024] Forked 20444 -(20444) found -[18023] Forked 20445 -(20445) found -[18022] Forked 20446 -(20446) found -[18021] Forked 20447 -(20447) found -[18020] Forked 20448 -(20448) found -[18019] Forked 20449 -(20449) found -[18018] Forked 20450 -(20450) found -[18017] Forked 20451 -(20451) found -[18016] Forked 20452 -(20452) found -[18015] Forked 20453 -(20453) found -[18014] Forked 20454 -(20454) found -[18013] Forked 20455 -(20455) found -[18012] Forked 20456 -(20456) found -[18011] Forked 20457 -(20457) found -[18010] Forked 20458 -(20458) found -[18009] Forked 20459 -(20459) found -[18008] Forked 20460 -(20460) found -[18007] Forked 20461 -(20461) found -[18006] Forked 20462 -(20462) found -[18005] Forked 20463 -(20463) found -[18004] Forked 20464 -(20464) found -[18003] Forked 20465 -(20465) found -[18002] Forked 20466 -(20466) found -[18001] Forked 20467 -(20467) found -[18000] Forked 20468 -[17999] Forked 20469 -(20468) found -(20469) found -[17998] Forked 20470 -[17997] Forked 20471 -(20470) found -(20471) found -[17996] Forked 20472 -(20472) found -[17995] Forked 20473 -[17994] Forked 20474 -(20473) found -(20474) found -[17993] Forked 20475 -[17992] Forked 20476 -(20475) found -(20476) found -[17991] Forked 20477 -[17990] Forked 20478 -(20477) found -(20478) found -[17989] Forked 20479 -[17988] Forked 20480 -(20479) found -(20480) found -[17987] Forked 20481 -[17986] Forked 20482 -(20481) found -(20482) found -[17985] Forked 20483 -(20483) found -[17984] Forked 20484 -[17983] Forked 20485 -(20484) found -(20485) found -[17982] Forked 20486 -[17981] Forked 20487 -(20486) found -(20487) found -[17980] Forked 20488 -[17979] Forked 20489 -(20488) found -(20489) found -[17978] Forked 20490 -[17977] Forked 20491 -(20490) found -(20491) found -[17976] Forked 20492 -[17975] Forked 20493 -(20492) found -(20493) found -[17974] Forked 20494 -[17973] Forked 20495 -(20494) found -(20495) found -[17972] Forked 20496 -[17971] Forked 20497 -(20496) found -(20497) found -[17970] Forked 20498 -[17969] Forked 20499 -(20498) found -(20499) found -[17968] Forked 20500 -[17967] Forked 20501 -(20500) found -(20501) found -[17966] Forked 20502 -[17965] Forked 20503 -(20502) found -(20503) found -[17964] Forked 20504 -[17963] Forked 20505 -(20504) found -(20505) found -[17962] Forked 20506 -[17961] Forked 20507 -(20506) found -(20507) found -[17960] Forked 20508 -[17959] Forked 20509 -(20508) found -(20509) found -[17958] Forked 20510 -[17957] Forked 20511 -(20510) found -(20511) found -[17956] Forked 20512 -(20512) found -[17955] Forked 20513 -(20513) found -[17954] Forked 20514 -(20514) found -[17953] Forked 20515 -(20515) found -[17952] Forked 20516 -(20516) found -[17951] Forked 20517 -(20517) found -[17950] Forked 20518 -(20518) found -[17949] Forked 20519 -(20519) found -[17948] Forked 20520 -(20520) found -[17947] Forked 20521 -(20521) found -[17946] Forked 20522 -(20522) found -[17945] Forked 20523 -(20523) found -[17944] Forked 20524 -(20524) found -[17943] Forked 20525 -(20525) found -[17942] Forked 20526 -(20526) found -[17941] Forked 20527 -(20527) found -[17940] Forked 20528 -(20528) found -[17939] Forked 20529 -(20529) found -[17938] Forked 20530 -(20530) found -[17937] Forked 20531 -(20531) found -[17936] Forked 20532 -(20532) found -[17935] Forked 20533 -(20533) found -[17934] Forked 20534 -(20534) found -[17933] Forked 20535 -(20535) found -[17932] Forked 20536 -(20536) found -[17931] Forked 20537 -(20537) found -[17930] Forked 20538 -(20538) found -[17929] Forked 20539 -(20539) found -[17928] Forked 20540 -(20540) found -[17927] Forked 20541 -(20541) found -[17926] Forked 20542 -(20542) found -[17925] Forked 20543 -(20543) found -[17924] Forked 20544 -(20544) found -[17923] Forked 20545 -(20545) found -[17922] Forked 20546 -(20546) found -[17921] Forked 20547 -(20547) found -[17920] Forked 20548 -[17919] Forked 20549 -(20548) found -(20549) found -[17918] Forked 20550 -[17917] Forked 20551 -(20550) found -(20551) found -[17916] Forked 20552 -[17915] Forked 20553 -(20552) found -(20553) found -[17914] Forked 20554 -[17913] Forked 20555 -(20554) found -(20555) found -[17912] Forked 20556 -[17911] Forked 20557 -(20556) found -(20557) found -[17910] Forked 20558 -[17909] Forked 20559 -(20558) found -(20559) found -[17908] Forked 20560 -[17907] Forked 20561 -(20560) found -(20561) found -[17906] Forked 20562 -[17905] Forked 20563 -(20562) found -(20563) found -[17904] Forked 20564 -[17903] Forked 20565 -(20564) found -(20565) found -[17902] Forked 20566 -[17901] Forked 20567 -(20566) found -(20567) found -[17900] Forked 20568 -[17899] Forked 20569 -(20568) found -(20569) found -[17898] Forked 20570 -[17897] Forked 20571 -(20570) found -(20571) found -[17896] Forked 20572 -[17895] Forked 20573 -(20572) found -(20573) found -[17894] Forked 20574 -[17893] Forked 20575 -(20574) found -(20575) found -[17892] Forked 20576 -[17891] Forked 20577 -(20576) found -(20577) found -[17890] Forked 20578 -[17889] Forked 20579 -(20578) found -(20579) found -[17888] Forked 20580 -(20580) found -[17887] Forked 20581 -(20581) found -[17886] Forked 20582 -[17885] Forked 20583 -(20582) found -(20583) found -[17884] Forked 20584 -[17883] Forked 20585 -(20584) found -(20585) found -[17882] Forked 20586 -[17881] Forked 20587 -(20586) found -(20587) found -[17880] Forked 20588 -[17879] Forked 20589 -(20588) found -(20589) found -[17878] Forked 20590 -[17877] Forked 20591 -(20590) found -(20591) found -[17876] Forked 20592 -[17875] Forked 20593 -(20592) found -(20593) found -[17874] Forked 20594 -[17873] Forked 20595 -(20594) found -(20595) found -[17872] Forked 20596 -[17871] Forked 20597 -(20596) found -(20597) found -[17870] Forked 20598 -[17869] Forked 20599 -(20598) found -(20599) found -[17868] Forked 20600 -[17867] Forked 20601 -(20600) found -(20601) found -[17866] Forked 20602 -[17865] Forked 20603 -(20602) found -(20603) found -[17864] Forked 20604 -[17863] Forked 20605 -(20604) found -(20605) found -[17862] Forked 20606 -[17861] Forked 20607 -(20606) found -(20607) found -[17860] Forked 20608 -[17859] Forked 20609 -(20608) found -(20609) found -[17858] Forked 20610 -[17857] Forked 20611 -(20610) found -(20611) found -[17856] Forked 20612 -[17855] Forked 20613 -(20612) found -(20613) found -[17854] Forked 20614 -[17853] Forked 20615 -(20614) found -(20615) found -[17852] Forked 20616 -[17851] Forked 20617 -(20616) found -(20617) found -[17850] Forked 20618 -[17849] Forked 20619 -(20618) found -(20619) found -[17848] Forked 20620 -[17847] Forked 20621 -(20620) found -(20621) found -[17846] Forked 20622 -[17845] Forked 20623 -(20622) found -(20623) found -[17844] Forked 20624 -[17843] Forked 20625 -(20624) found -(20625) found -[17842] Forked 20626 -[17841] Forked 20627 -(20626) found -(20627) found -[17840] Forked 20628 -[17839] Forked 20629 -(20628) found -(20629) found -[17838] Forked 20630 -[17837] Forked 20631 -(20630) found -(20631) found -[17836] Forked 20632 -[17835] Forked 20633 -(20632) found -(20633) found -[17834] Forked 20634 -[17833] Forked 20635 -(20634) found -(20635) found -[17832] Forked 20636 -[17831] Forked 20637 -(20636) found -(20637) found -[17830] Forked 20638 -(20638) found -[17829] Forked 20639 -(20639) found -[17828] Forked 20640 -(20640) found -[17827] Forked 20641 -(20641) found -[17826] Forked 20642 -(20642) found -[17825] Forked 20643 -(20643) found -[17824] Forked 20644 -(20644) found -[17823] Forked 20645 -(20645) found -[17822] Forked 20646 -(20646) found -[17821] Forked 20647 -(20647) found -[17820] Forked 20648 -(20648) found -[17819] Forked 20649 -(20649) found -[17818] Forked 20650 -(20650) found -[17817] Forked 20651 -(20651) found -[17816] Forked 20652 -(20652) found -[17815] Forked 20653 -(20653) found -[17814] Forked 20654 -(20654) found -[17813] Forked 20655 -(20655) found -[17812] Forked 20656 -(20656) found -[17811] Forked 20657 -(20657) found -[17810] Forked 20658 -(20658) found -[17809] Forked 20659 -(20659) found -[17808] Forked 20660 -(20660) found -[17807] Forked 20661 -(20661) found -[17806] Forked 20662 -(20662) found -[17805] Forked 20663 -(20663) found -[17804] Forked 20664 -(20664) found -[17803] Forked 20665 -(20665) found -[17802] Forked 20666 -(20666) found -[17801] Forked 20667 -(20667) found -[17800] Forked 20668 -(20668) found -[17799] Forked 20669 -(20669) found -[17798] Forked 20670 -(20670) found -[17797] Forked 20671 -(20671) found -[17796] Forked 20672 -(20672) found -[17795] Forked 20673 -[17794] Forked 20674 -(20673) found -(20674) found -[17793] Forked 20675 -[17792] Forked 20676 -(20676) found -(20675) found -[17791] Forked 20677 -(20677) found -[17790] Forked 20678 -(20678) found -[17789] Forked 20679 -(20679) found -[17788] Forked 20680 -(20680) found -[17787] Forked 20681 -(20681) found -[17786] Forked 20682 -(20682) found -[17785] Forked 20683 -(20683) found -[17784] Forked 20684 -(20684) found -[17783] Forked 20685 -(20685) found -[17782] Forked 20686 -(20686) found -[17781] Forked 20687 -(20687) found -[17780] Forked 20688 -(20688) found -[17779] Forked 20689 -(20689) found -[17778] Forked 20690 -(20690) found -[17777] Forked 20691 -(20691) found -[17776] Forked 20692 -(20692) found -[17775] Forked 20693 -(20693) found -[17774] Forked 20694 -(20694) found -[17773] Forked 20695 -(20695) found -[17772] Forked 20696 -(20696) found -[17771] Forked 20697 -(20697) found -[17770] Forked 20698 -(20698) found -[17769] Forked 20699 -(20699) found -[17768] Forked 20700 -(20700) found -[17767] Forked 20701 -(20701) found -[17766] Forked 20702 -(20702) found -[17765] Forked 20703 -(20703) found -[17764] Forked 20704 -(20704) found -[17763] Forked 20705 -(20705) found -[17762] Forked 20706 -(20706) found -[17761] Forked 20707 -(20707) found -[17760] Forked 20708 -(20708) found -[17759] Forked 20709 -(20709) found -[17758] Forked 20710 -(20710) found -[17757] Forked 20711 -(20711) found -[17756] Forked 20712 -(20712) found -[17755] Forked 20713 -(20713) found -[17754] Forked 20714 -(20714) found -[17753] Forked 20715 -(20715) found -[17752] Forked 20716 -(20716) found -[17751] Forked 20717 -(20717) found -[17750] Forked 20718 -(20718) found -[17749] Forked 20719 -(20719) found -[17748] Forked 20720 -(20720) found -[17747] Forked 20721 -(20721) found -[17746] Forked 20722 -(20722) found -[17745] Forked 20723 -(20723) found -[17744] Forked 20724 -(20724) found -[17743] Forked 20725 -(20725) found -[17742] Forked 20726 -(20726) found -[17741] Forked 20727 -(20727) found -[17740] Forked 20728 -(20728) found -[17739] Forked 20729 -(20729) found -[17738] Forked 20730 -(20730) found -[17737] Forked 20731 -(20731) found -[17736] Forked 20732 -(20732) found -[17735] Forked 20733 -(20733) found -[17734] Forked 20734 -(20734) found -[17733] Forked 20735 -(20735) found -[17732] Forked 20736 -(20736) found -[17731] Forked 20737 -(20737) found -[17730] Forked 20738 -(20738) found -[17729] Forked 20739 -(20739) found -[17728] Forked 20740 -(20740) found -[17727] Forked 20741 -(20741) found -[17726] Forked 20742 -(20742) found -[17725] Forked 20743 -(20743) found -[17724] Forked 20744 -[17723] Forked 20745 -(20744) found -(20745) found -[17722] Forked 20746 -[17721] Forked 20747 -(20746) found -(20747) found -[17720] Forked 20748 -[17719] Forked 20749 -(20748) found -(20749) found -[17718] Forked 20750 -[17717] Forked 20751 -(20750) found -(20751) found -[17716] Forked 20752 -[17715] Forked 20753 -(20752) found -(20753) found -[17714] Forked 20754 -[17713] Forked 20755 -(20754) found -(20755) found -[17712] Forked 20756 -[17711] Forked 20757 -(20756) found -(20757) found -[17710] Forked 20758 -[17709] Forked 20759 -(20758) found -(20759) found -[17708] Forked 20760 -[17707] Forked 20761 -(20760) found -(20761) found -[17706] Forked 20762 -[17705] Forked 20763 -(20762) found -(20763) found -[17704] Forked 20764 -[17703] Forked 20765 -(20764) found -(20765) found -[17702] Forked 20766 -[17701] Forked 20767 -(20766) found -(20767) found -[17700] Forked 20768 -[17699] Forked 20769 -(20768) found -(20769) found -[17698] Forked 20770 -[17697] Forked 20771 -(20770) found -(20771) found -[17696] Forked 20772 -[17695] Forked 20773 -(20772) found -(20773) found -[17694] Forked 20774 -[17693] Forked 20775 -(20774) found -(20775) found -[17692] Forked 20776 -[17691] Forked 20777 -(20776) found -(20777) found -[17690] Forked 20778 -[17689] Forked 20779 -(20778) found -(20779) found -[17688] Forked 20780 -[17687] Forked 20781 -(20780) found -(20781) found -[17686] Forked 20782 -[17685] Forked 20783 -(20782) found -(20783) found -[17684] Forked 20784 -[17683] Forked 20785 -(20784) found -(20785) found -[17682] Forked 20786 -[17681] Forked 20787 -(20786) found -(20787) found -[17680] Forked 20788 -[17679] Forked 20789 -(20788) found -(20789) found -[17678] Forked 20790 -[17677] Forked 20791 -(20790) found -(20791) found -[17676] Forked 20792 -[17675] Forked 20793 -(20792) found -(20793) found -[17674] Forked 20794 -[17673] Forked 20795 -(20794) found -(20795) found -[17672] Forked 20796 -[17671] Forked 20797 -(20796) found -(20797) found -[17670] Forked 20798 -[17669] Forked 20799 -(20798) found -(20799) found -[17668] Forked 20800 -[17667] Forked 20801 -(20800) found -(20801) found -[17666] Forked 20802 -[17665] Forked 20803 -(20802) found -(20803) found -[17664] Forked 20804 -[17663] Forked 20805 -(20804) found -(20805) found -[17662] Forked 20806 -[17661] Forked 20807 -(20806) found -(20807) found -[17660] Forked 20808 -[17659] Forked 20809 -(20808) found -(20809) found -[17658] Forked 20810 -[17657] Forked 20811 -(20810) found -(20811) found -[17656] Forked 20812 -[17655] Forked 20813 -(20812) found -(20813) found -[17654] Forked 20814 -[17653] Forked 20815 -(20814) found -(20815) found -[17652] Forked 20816 -[17651] Forked 20817 -(20816) found -(20817) found -[17650] Forked 20818 -[17649] Forked 20819 -(20818) found -(20819) found -[17648] Forked 20820 -[17647] Forked 20821 -(20820) found -(20821) found -[17646] Forked 20822 -[17645] Forked 20823 -(20822) found -(20823) found -[17644] Forked 20824 -[17643] Forked 20825 -(20824) found -(20825) found -[17642] Forked 20826 -[17641] Forked 20827 -(20826) found -(20827) found -[17640] Forked 20828 -[17639] Forked 20829 -(20828) found -(20829) found -[17638] Forked 20830 -[17637] Forked 20831 -(20830) found -(20831) found -[17636] Forked 20832 -[17635] Forked 20833 -(20832) found -(20833) found -[17634] Forked 20834 -(20834) found -[17633] Forked 20835 -[17632] Forked 20836 -(20835) found -(20836) found -[17631] Forked 20837 -[17630] Forked 20838 -(20837) found -(20838) found -[17629] Forked 20839 -[17628] Forked 20840 -(20839) found -(20840) found -[17627] Forked 20841 -[17626] Forked 20842 -(20841) found -(20842) found -[17625] Forked 20843 -[17624] Forked 20844 -(20843) found -(20844) found -[17623] Forked 20845 -[17622] Forked 20846 -(20845) found -(20846) found -[17621] Forked 20847 -[17620] Forked 20848 -(20847) found -(20848) found -[17619] Forked 20849 -[17618] Forked 20850 -(20849) found -(20850) found -[17617] Forked 20851 -[17616] Forked 20852 -(20851) found -(20852) found -[17615] Forked 20853 -[17614] Forked 20854 -(20853) found -(20854) found -[17613] Forked 20855 -[17612] Forked 20856 -(20855) found -(20856) found -[17611] Forked 20857 -[17610] Forked 20858 -(20857) found -(20858) found -[17609] Forked 20859 -[17608] Forked 20860 -(20859) found -(20860) found -[17607] Forked 20861 -[17606] Forked 20862 -(20861) found -(20862) found -[17605] Forked 20863 -[17604] Forked 20864 -(20863) found -(20864) found -[17603] Forked 20865 -[17602] Forked 20866 -(20865) found -(20866) found -[17601] Forked 20867 -[17600] Forked 20868 -(20867) found -(20868) found -[17599] Forked 20869 -[17598] Forked 20870 -(20869) found -(20870) found -[17597] Forked 20871 -[17596] Forked 20872 -(20871) found -(20872) found -[17595] Forked 20873 -[17594] Forked 20874 -(20873) found -(20874) found -[17593] Forked 20875 -[17592] Forked 20876 -(20875) found -(20876) found -[17591] Forked 20877 -[17590] Forked 20878 -(20877) found -(20878) found -[17589] Forked 20879 -[17588] Forked 20880 -(20879) found -(20880) found -[17587] Forked 20881 -[17586] Forked 20882 -(20881) found -(20882) found -[17585] Forked 20883 -[17584] Forked 20884 -(20883) found -(20884) found -[17583] Forked 20885 -[17582] Forked 20886 -(20885) found -(20886) found -[17581] Forked 20887 -[17580] Forked 20888 -(20887) found -(20888) found -[17579] Forked 20889 -[17578] Forked 20890 -(20889) found -(20890) found -[17577] Forked 20891 -[17576] Forked 20892 -(20891) found -(20892) found -[17575] Forked 20893 -[17574] Forked 20894 -(20893) found -(20894) found -[17573] Forked 20895 -[17572] Forked 20896 -(20895) found -(20896) found -[17571] Forked 20897 -[17570] Forked 20898 -(20897) found -(20898) found -[17569] Forked 20899 -[17568] Forked 20900 -(20899) found -(20900) found -[17567] Forked 20901 -[17566] Forked 20902 -(20901) found -(20902) found -[17565] Forked 20903 -[17564] Forked 20904 -(20903) found -(20904) found -[17563] Forked 20905 -[17562] Forked 20906 -(20905) found -(20906) found -[17561] Forked 20907 -[17560] Forked 20908 -(20907) found -(20908) found -[17559] Forked 20909 -[17558] Forked 20910 -(20909) found -(20910) found -[17557] Forked 20911 -[17556] Forked 20912 -(20911) found -(20912) found -[17555] Forked 20913 -[17554] Forked 20914 -(20913) found -(20914) found -[17553] Forked 20915 -[17552] Forked 20916 -(20915) found -(20916) found -[17551] Forked 20917 -[17550] Forked 20918 -(20917) found -(20918) found -[17549] Forked 20919 -[17548] Forked 20920 -(20919) found -(20920) found -[17547] Forked 20921 -[17546] Forked 20922 -(20921) found -(20922) found -[17545] Forked 20923 -[17544] Forked 20924 -(20923) found -(20924) found -[17543] Forked 20925 -[17542] Forked 20926 -(20925) found -(20926) found -[17541] Forked 20927 -[17540] Forked 20928 -(20927) found -(20928) found -[17539] Forked 20929 -[17538] Forked 20930 -(20929) found -(20930) found -[17537] Forked 20931 -[17536] Forked 20932 -(20931) found -(20932) found -[17535] Forked 20933 -[17534] Forked 20934 -(20933) found -(20934) found -[17533] Forked 20935 -[17532] Forked 20936 -(20935) found -(20936) found -[17531] Forked 20937 -[17530] Forked 20938 -(20937) found -(20938) found -[17529] Forked 20939 -[17528] Forked 20940 -(20939) found -(20940) found -[17527] Forked 20941 -[17526] Forked 20942 -(20941) found -(20942) found -[17525] Forked 20943 -[17524] Forked 20944 -(20943) found -(20944) found -[17523] Forked 20945 -[17522] Forked 20946 -(20945) found -(20946) found -[17521] Forked 20947 -[17520] Forked 20948 -(20947) found -(20948) found -[17519] Forked 20949 -[17518] Forked 20950 -(20949) found -(20950) found -[17517] Forked 20951 -[17516] Forked 20952 -(20951) found -(20952) found -[17515] Forked 20953 -[17514] Forked 20954 -(20953) found -(20954) found -[17513] Forked 20955 -[17512] Forked 20956 -(20955) found -(20956) found -[17511] Forked 20957 -[17510] Forked 20958 -(20957) found -(20958) found -[17509] Forked 20959 -[17508] Forked 20960 -(20959) found -(20960) found -[17507] Forked 20961 -[17506] Forked 20962 -(20961) found -(20962) found -[17505] Forked 20963 -[17504] Forked 20964 -(20963) found -(20964) found -[17503] Forked 20965 -[17502] Forked 20966 -(20965) found -(20966) found -[17501] Forked 20967 -[17500] Forked 20968 -(20967) found -(20968) found -[17499] Forked 20969 -[17498] Forked 20970 -(20969) found -(20970) found -[17497] Forked 20971 -[17496] Forked 20972 -(20971) found -(20972) found -[17495] Forked 20973 -(20973) found -[17494] Forked 20974 -(20974) found -[17493] Forked 20975 -(20975) found -[17492] Forked 20976 -(20976) found -[17491] Forked 20977 -(20977) found -[17490] Forked 20978 -(20978) found -[17489] Forked 20979 -(20979) found -[17488] Forked 20980 -(20980) found -[17487] Forked 20981 -(20981) found -[17486] Forked 20982 -(20982) found -[17485] Forked 20983 -(20983) found -[17484] Forked 20984 -(20984) found -[17483] Forked 20985 -(20985) found -[17482] Forked 20986 -(20986) found -[17481] Forked 20987 -(20987) found -[17480] Forked 20988 -(20988) found -[17479] Forked 20989 -(20989) found -[17478] Forked 20990 -(20990) found -[17477] Forked 20991 -(20991) found -[17476] Forked 20992 -(20992) found -[17475] Forked 20993 -(20993) found -[17474] Forked 20994 -(20994) found -[17473] Forked 20995 -(20995) found -[17472] Forked 20996 -(20996) found -[17471] Forked 20997 -(20997) found -[17470] Forked 20998 -(20998) found -[17469] Forked 20999 -(20999) found -[17468] Forked 21000 -(21000) found -[17467] Forked 21001 -(21001) found -[17466] Forked 21002 -(21002) found -[17465] Forked 21003 -(21003) found -[17464] Forked 21004 -(21004) found -[17463] Forked 21005 -(21005) found -[17462] Forked 21006 -(21006) found -[17461] Forked 21007 -(21007) found -[17460] Forked 21008 -[17459] Forked 21009 -(21008) found -(21009) found -[17458] Forked 21010 -[17457] Forked 21011 -(21010) found -(21011) found -[17456] Forked 21012 -[17455] Forked 21013 -(21012) found -(21013) found -[17454] Forked 21014 -[17453] Forked 21015 -(21014) found -(21015) found -[17452] Forked 21016 -[17451] Forked 21017 -(21016) found -(21017) found -[17450] Forked 21018 -[17449] Forked 21019 -(21018) found -(21019) found -[17448] Forked 21020 -[17447] Forked 21021 -(21020) found -(21021) found -[17446] Forked 21022 -[17445] Forked 21023 -(21022) found -(21023) found -[17444] Forked 21024 -[17443] Forked 21025 -(21024) found -(21025) found -[17442] Forked 21026 -[17441] Forked 21027 -(21026) found -(21027) found -[17440] Forked 21028 -[17439] Forked 21029 -(21028) found -(21029) found -[17438] Forked 21030 -[17437] Forked 21031 -(21030) found -(21031) found -[17436] Forked 21032 -[17435] Forked 21033 -(21032) found -(21033) found -[17434] Forked 21034 -[17433] Forked 21035 -(21034) found -(21035) found -[17432] Forked 21036 -[17431] Forked 21037 -(21036) found -(21037) found -[17430] Forked 21038 -[17429] Forked 21039 -(21038) found -(21039) found -[17428] Forked 21040 -[17427] Forked 21041 -(21040) found -(21041) found -[17426] Forked 21042 -[17425] Forked 21043 -(21042) found -(21043) found -[17424] Forked 21044 -[17423] Forked 21045 -(21044) found -(21045) found -[17422] Forked 21046 -[17421] Forked 21047 -(21046) found -(21047) found -[17420] Forked 21048 -[17419] Forked 21049 -(21048) found -(21049) found -[17418] Forked 21050 -[17417] Forked 21051 -(21050) found -(21051) found -[17416] Forked 21052 -[17415] Forked 21053 -(21052) found -(21053) found -[17414] Forked 21054 -(21054) found -[17413] Forked 21055 -(21055) found -[17412] Forked 21056 -(21056) found -[17411] Forked 21057 -(21057) found -[17410] Forked 21058 -(21058) found -[17409] Forked 21059 -(21059) found -[17408] Forked 21060 -(21060) found -[17407] Forked 21061 -(21061) found -[17406] Forked 21062 -(21062) found -[17405] Forked 21063 -(21063) found -[17404] Forked 21064 -(21064) found -[17403] Forked 21065 -(21065) found -[17402] Forked 21066 -(21066) found -[17401] Forked 21067 -(21067) found -[17400] Forked 21068 -(21068) found -[17399] Forked 21069 -(21069) found -[17398] Forked 21070 -(21070) found -[17397] Forked 21071 -(21071) found -[17396] Forked 21072 -(21072) found -[17395] Forked 21073 -(21073) found -[17394] Forked 21074 -(21074) found -[17393] Forked 21075 -(21075) found -[17392] Forked 21076 -(21076) found -[17391] Forked 21077 -(21077) found -[17390] Forked 21078 -(21078) found -[17389] Forked 21079 -(21079) found -[17388] Forked 21080 -(21080) found -[17387] Forked 21081 -(21081) found -[17386] Forked 21082 -(21082) found -[17385] Forked 21083 -(21083) found -[17384] Forked 21084 -(21084) found -[17383] Forked 21085 -(21085) found -[17382] Forked 21086 -(21086) found -[17381] Forked 21087 -(21087) found -[17380] Forked 21088 -[17379] Forked 21089 -(21088) found -(21089) found -[17378] Forked 21090 -[17377] Forked 21091 -(21090) found -(21091) found -[17376] Forked 21092 -[17375] Forked 21093 -(21092) found -(21093) found -[17374] Forked 21094 -[17373] Forked 21095 -(21094) found -(21095) found -[17372] Forked 21096 -[17371] Forked 21097 -(21096) found -(21097) found -[17370] Forked 21098 -[17369] Forked 21099 -(21098) found -(21099) found -[17368] Forked 21100 -[17367] Forked 21101 -(21100) found -(21101) found -[17366] Forked 21102 -[17365] Forked 21103 -(21102) found -(21103) found -[17364] Forked 21104 -[17363] Forked 21105 -(21104) found -(21105) found -[17362] Forked 21106 -[17361] Forked 21107 -(21106) found -(21107) found -[17360] Forked 21108 -[17359] Forked 21109 -(21108) found -(21109) found -[17358] Forked 21110 -[17357] Forked 21111 -(21110) found -(21111) found -[17356] Forked 21112 -[17355] Forked 21113 -(21112) found -(21113) found -[17354] Forked 21114 -[17353] Forked 21115 -(21114) found -(21115) found -[17352] Forked 21116 -[17351] Forked 21117 -(21116) found -(21117) found -[17350] Forked 21118 -[17349] Forked 21119 -(21118) found -(21119) found -[17348] Forked 21120 -[17347] Forked 21121 -(21120) found -(21121) found -[17346] Forked 21122 -[17345] Forked 21123 -(21122) found -(21123) found -[17344] Forked 21124 -[17343] Forked 21125 -(21124) found -(21125) found -[17342] Forked 21126 -[17341] Forked 21127 -(21126) found -(21127) found -[17340] Forked 21128 -[17339] Forked 21129 -(21128) found -(21129) found -[17338] Forked 21130 -[17337] Forked 21131 -(21130) found -(21131) found -[17336] Forked 21132 -[17335] Forked 21133 -(21132) found -(21133) found -[17334] Forked 21134 -(21134) found -[17333] Forked 21135 -(21135) found -[17332] Forked 21136 -(21136) found -[17331] Forked 21137 -(21137) found -[17330] Forked 21138 -(21138) found -[17329] Forked 21139 -(21139) found -[17328] Forked 21140 -(21140) found -[17327] Forked 21141 -(21141) found -[17326] Forked 21142 -(21142) found -[17325] Forked 21143 -(21143) found -[17324] Forked 21144 -(21144) found -[17323] Forked 21145 -(21145) found -[17322] Forked 21146 -(21146) found -[17321] Forked 21147 -(21147) found -[17320] Forked 21148 -(21148) found -[17319] Forked 21149 -(21149) found -[17318] Forked 21150 -(21150) found -[17317] Forked 21151 -(21151) found -[17316] Forked 21152 -(21152) found -[17315] Forked 21153 -(21153) found -[17314] Forked 21154 -(21154) found -[17313] Forked 21155 -(21155) found -[17312] Forked 21156 -(21156) found -[17311] Forked 21157 -(21157) found -[17310] Forked 21158 -(21158) found -[17309] Forked 21159 -(21159) found -[17308] Forked 21160 -(21160) found -[17307] Forked 21161 -(21161) found -[17306] Forked 21162 -(21162) found -[17305] Forked 21163 -(21163) found -[17304] Forked 21164 -(21164) found -[17303] Forked 21165 -(21165) found -[17302] Forked 21166 -(21166) found -[17301] Forked 21167 -(21167) found -[17300] Forked 21168 -(21168) found -[17299] Forked 21169 -[17298] Forked 21170 -(21169) found -(21170) found -[17297] Forked 21171 -[17296] Forked 21172 -(21171) found -(21172) found -[17295] Forked 21173 -[17294] Forked 21174 -(21173) found -(21174) found -[17293] Forked 21175 -[17292] Forked 21176 -(21175) found -(21176) found -[17291] Forked 21177 -[17290] Forked 21178 -(21177) found -(21178) found -[17289] Forked 21179 -[17288] Forked 21180 -(21179) found -(21180) found -[17287] Forked 21181 -[17286] Forked 21182 -(21181) found -(21182) found -[17285] Forked 21183 -[17284] Forked 21184 -(21183) found -(21184) found -[17283] Forked 21185 -[17282] Forked 21186 -(21185) found -(21186) found -[17281] Forked 21187 -[17280] Forked 21188 -(21187) found -(21188) found -[17279] Forked 21189 -[17278] Forked 21190 -(21189) found -(21190) found -[17277] Forked 21191 -[17276] Forked 21192 -(21191) found -(21192) found -[17275] Forked 21193 -[17274] Forked 21194 -(21193) found -(21194) found -[17273] Forked 21195 -[17272] Forked 21196 -(21195) found -(21196) found -[17271] Forked 21197 -[17270] Forked 21198 -(21197) found -(21198) found -[17269] Forked 21199 -[17268] Forked 21200 -(21199) found -(21200) found -[17267] Forked 21201 -[17266] Forked 21202 -(21201) found -(21202) found -[17265] Forked 21203 -[17264] Forked 21204 -(21203) found -(21204) found -[17263] Forked 21205 -[17262] Forked 21206 -(21205) found -(21206) found -[17261] Forked 21207 -[17260] Forked 21208 -(21207) found -(21208) found -[17259] Forked 21209 -[17258] Forked 21210 -(21209) found -(21210) found -[17257] Forked 21211 -[17256] Forked 21212 -(21211) found -(21212) found -[17255] Forked 21213 -[17254] Forked 21214 -(21213) found -(21214) found -[17253] Forked 21215 -(21215) found -[17252] Forked 21216 -(21216) found -[17251] Forked 21217 -(21217) found -[17250] Forked 21218 -(21218) found -[17249] Forked 21219 -(21219) found -[17248] Forked 21220 -(21220) found -[17247] Forked 21221 -(21221) found -[17246] Forked 21222 -(21222) found -[17245] Forked 21223 -(21223) found -[17244] Forked 21224 -(21224) found -[17243] Forked 21225 -(21225) found -[17242] Forked 21226 -(21226) found -[17241] Forked 21227 -(21227) found -[17240] Forked 21228 -(21228) found -[17239] Forked 21229 -(21229) found -[17238] Forked 21230 -(21230) found -[17237] Forked 21231 -(21231) found -[17236] Forked 21232 -(21232) found -[17235] Forked 21233 -(21233) found -[17234] Forked 21234 -(21234) found -[17233] Forked 21235 -(21235) found -[17232] Forked 21236 -(21236) found -[17231] Forked 21237 -(21237) found -[17230] Forked 21238 -(21238) found -[17229] Forked 21239 -(21239) found -[17228] Forked 21240 -(21240) found -[17227] Forked 21241 -(21241) found -[17226] Forked 21242 -(21242) found -[17225] Forked 21243 -(21243) found -[17224] Forked 21244 -(21244) found -[17223] Forked 21245 -(21245) found -[17222] Forked 21246 -(21246) found -[17221] Forked 21247 -(21247) found -[17220] Forked 21248 -(21248) found -[17219] Forked 21249 -(21249) found -[17218] Forked 21250 -[17217] Forked 21251 -(21250) found -(21251) found -[17216] Forked 21252 -(21252) found -[17215] Forked 21253 -(21253) found -[17214] Forked 21254 -(21254) found -[17213] Forked 21255 -[17212] Forked 21256 -(21255) found -(21256) found -[17211] Forked 21257 -[17210] Forked 21258 -(21257) found -(21258) found -[17209] Forked 21259 -[17208] Forked 21260 -(21259) found -(21260) found -[17207] Forked 21261 -[17206] Forked 21262 -(21261) found -(21262) found -[17205] Forked 21263 -[17204] Forked 21264 -(21263) found -(21264) found -[17203] Forked 21265 -[17202] Forked 21266 -(21265) found -(21266) found -[17201] Forked 21267 -[17200] Forked 21268 -(21267) found -(21268) found -[17199] Forked 21269 -[17198] Forked 21270 -(21269) found -(21270) found -[17197] Forked 21271 -[17196] Forked 21272 -(21271) found -(21272) found -[17195] Forked 21273 -[17194] Forked 21274 -(21273) found -(21274) found -[17193] Forked 21275 -[17192] Forked 21276 -(21275) found -(21276) found -[17191] Forked 21277 -[17190] Forked 21279 -(21277) found -(21279) found -[17189] Forked 21280 -(21280) found -[17188] Forked 21281 -(21281) found -[17187] Forked 21282 -(21282) found -[17186] Forked 21283 -(21283) found -[17185] Forked 21284 -(21284) found -[17184] Forked 21285 -(21285) found -[17183] Forked 21286 -(21286) found -[17182] Forked 21287 -(21287) found -[17181] Forked 21288 -(21288) found -[17180] Forked 21289 -(21289) found -[17179] Forked 21290 -(21290) found -[17178] Forked 21291 -(21291) found -[17177] Forked 21292 -(21292) found -[17176] Forked 21293 -(21293) found -[17175] Forked 21294 -(21294) found -[17174] Forked 21295 -(21295) found -[17173] Forked 21296 -(21296) found -[17172] Forked 21297 -(21297) found -[17171] Forked 21298 -(21298) found -[17170] Forked 21299 -(21299) found -[17169] Forked 21300 -(21300) found -[17168] Forked 21301 -(21301) found -[17167] Forked 21302 -(21302) found -[17166] Forked 21303 -(21303) found -[17165] Forked 21304 -(21304) found -[17164] Forked 21305 -(21305) found -[17163] Forked 21306 -(21306) found -[17162] Forked 21307 -(21307) found -[17161] Forked 21308 -(21308) found -[17160] Forked 21309 -(21309) found -[17159] Forked 21310 -(21310) found -[17158] Forked 21311 -(21311) found -[17157] Forked 21312 -(21312) found -[17156] Forked 21313 -(21313) found -[17155] Forked 21314 -(21314) found -[17154] Forked 21315 -(21315) found -[17153] Forked 21316 -(21316) found -[17152] Forked 21317 -(21317) found -[17151] Forked 21318 -(21318) found -[17150] Forked 21319 -(21319) found -[17149] Forked 21320 -(21320) found -[17148] Forked 21321 -(21321) found -[17147] Forked 21322 -(21322) found -[17146] Forked 21323 -(21323) found -[17145] Forked 21324 -(21324) found -[17144] Forked 21325 -(21325) found -[17143] Forked 21326 -(21326) found -[17142] Forked 21327 -(21327) found -[17141] Forked 21328 -(21328) found -[17140] Forked 21329 -(21329) found -[17139] Forked 21330 -(21330) found -[17138] Forked 21331 -(21331) found -[17137] Forked 21332 -[17136] Forked 21333 -(21332) found -(21333) found -[17135] Forked 21334 -[17134] Forked 21335 -(21334) found -(21335) found -[17133] Forked 21336 -[17132] Forked 21337 -(21336) found -(21337) found -[17131] Forked 21338 -[17130] Forked 21339 -(21338) found -(21339) found -[17129] Forked 21340 -[17128] Forked 21341 -(21340) found -(21341) found -[17127] Forked 21342 -[17126] Forked 21343 -(21342) found -(21343) found -[17125] Forked 21344 -[17124] Forked 21345 -(21344) found -(21345) found -[17123] Forked 21346 -[17122] Forked 21347 -(21346) found -(21347) found -[17121] Forked 21348 -[17120] Forked 21349 -(21348) found -(21349) found -[17119] Forked 21350 -[17118] Forked 21351 -(21350) found -(21351) found -[17117] Forked 21352 -[17116] Forked 21353 -(21352) found -(21353) found -[17115] Forked 21354 -[17114] Forked 21355 -(21354) found -(21355) found -[17113] Forked 21356 -[17112] Forked 21357 -(21356) found -(21357) found -[17111] Forked 21358 -[17110] Forked 21359 -(21358) found -(21359) found -[17109] Forked 21360 -[17108] Forked 21361 -(21360) found -(21361) found -[17107] Forked 21362 -[17106] Forked 21363 -(21362) found -(21363) found -[17105] Forked 21364 -[17104] Forked 21365 -(21364) found -(21365) found -[17103] Forked 21366 -[17102] Forked 21367 -(21366) found -(21367) found -[17101] Forked 21368 -[17100] Forked 21369 -(21368) found -(21369) found -[17099] Forked 21370 -[17098] Forked 21371 -(21370) found -(21371) found -[17097] Forked 21372 -[17096] Forked 21373 -(21372) found -(21373) found -[17095] Forked 21374 -[17094] Forked 21375 -(21374) found -(21375) found -[17093] Forked 21376 -[17092] Forked 21377 -(21376) found -(21377) found -[17091] Forked 21378 -[17090] Forked 21379 -(21379) found -(21378) found -[17089] Forked 21380 -(21380) found -[17088] Forked 21381 -(21381) found -[17087] Forked 21382 -(21382) found -[17086] Forked 21383 -(21383) found -[17085] Forked 21384 -(21384) found -[17084] Forked 21385 -(21385) found -[17083] Forked 21386 -(21386) found -[17082] Forked 21387 -(21387) found -[17081] Forked 21388 -(21388) found -[17080] Forked 21389 -(21389) found -[17079] Forked 21390 -(21390) found -[17078] Forked 21391 -(21391) found -[17077] Forked 21392 -(21392) found -[17076] Forked 21393 -(21393) found -[17075] Forked 21394 -(21394) found -[17074] Forked 21395 -(21395) found -[17073] Forked 21396 -(21396) found -[17072] Forked 21397 -(21397) found -[17071] Forked 21398 -(21398) found -[17070] Forked 21399 -(21399) found -[17069] Forked 21400 -(21400) found -[17068] Forked 21401 -(21401) found -[17067] Forked 21402 -(21402) found -[17066] Forked 21403 -(21403) found -[17065] Forked 21404 -(21404) found -[17064] Forked 21405 -(21405) found -[17063] Forked 21406 -(21406) found -[17062] Forked 21407 -(21407) found -[17061] Forked 21408 -(21408) found -[17060] Forked 21409 -(21409) found -[17059] Forked 21410 -(21410) found -[17058] Forked 21411 -(21411) found -[17057] Forked 21412 -(21412) found -[17056] Forked 21413 -[17055] Forked 21414 -(21413) found -(21414) found -[17054] Forked 21415 -[17053] Forked 21416 -(21415) found -(21416) found -[17052] Forked 21417 -[17051] Forked 21418 -(21417) found -(21418) found -[17050] Forked 21419 -[17049] Forked 21420 -(21419) found -(21420) found -[17048] Forked 21421 -[17047] Forked 21422 -(21421) found -(21422) found -[17046] Forked 21423 -[17045] Forked 21424 -(21423) found -(21424) found -[17044] Forked 21425 -[17043] Forked 21426 -(21425) found -(21426) found -[17042] Forked 21427 -[17041] Forked 21428 -(21427) found -(21428) found -[17040] Forked 21429 -[17039] Forked 21430 -(21429) found -(21430) found -[17038] Forked 21431 -[17037] Forked 21432 -(21431) found -(21432) found -[17036] Forked 21433 -[17035] Forked 21434 -(21433) found -(21434) found -[17034] Forked 21435 -[17033] Forked 21436 -(21435) found -(21436) found -[17032] Forked 21437 -[17031] Forked 21438 -(21437) found -(21438) found -[17030] Forked 21439 -[17029] Forked 21440 -(21439) found -(21440) found -[17028] Forked 21441 -[17027] Forked 21442 -(21441) found -(21442) found -[17026] Forked 21443 -[17025] Forked 21444 -(21443) found -(21444) found -[17024] Forked 21445 -[17023] Forked 21446 -(21445) found -(21446) found -[17022] Forked 21447 -[17021] Forked 21448 -(21447) found -(21448) found -[17020] Forked 21449 -[17019] Forked 21450 -(21449) found -(21450) found -[17018] Forked 21451 -[17017] Forked 21452 -(21451) found -(21452) found -[17016] Forked 21453 -[17015] Forked 21454 -(21454) found -(21453) found -[17014] Forked 21455 -(21455) found -[17013] Forked 21456 -(21456) found -[17012] Forked 21457 -(21457) found -[17011] Forked 21458 -(21458) found -[17010] Forked 21459 -(21459) found -[17009] Forked 21460 -(21460) found -[17008] Forked 21461 -(21461) found -[17007] Forked 21462 -(21462) found -[17006] Forked 21463 -(21463) found -[17005] Forked 21464 -(21464) found -[17004] Forked 21465 -(21465) found -[17003] Forked 21466 -(21466) found -[17002] Forked 21467 -(21467) found -[17001] Forked 21468 -(21468) found -[17000] Forked 21469 -(21469) found -[16999] Forked 21470 -(21470) found -[16998] Forked 21471 -(21471) found -[16997] Forked 21472 -(21472) found -[16996] Forked 21473 -(21473) found -[16995] Forked 21474 -(21474) found -[16994] Forked 21475 -(21475) found -[16993] Forked 21476 -(21476) found -[16992] Forked 21477 -(21477) found -[16991] Forked 21478 -(21478) found -[16990] Forked 21479 -(21479) found -[16989] Forked 21480 -(21480) found -[16988] Forked 21481 -(21481) found -[16987] Forked 21482 -(21482) found -[16986] Forked 21483 -(21483) found -[16985] Forked 21484 -(21484) found -[16984] Forked 21485 -(21485) found -[16983] Forked 21486 -(21486) found -[16982] Forked 21487 -(21487) found -[16981] Forked 21488 -(21488) found -[16980] Forked 21489 -(21489) found -[16979] Forked 21490 -[16978] Forked 21491 -(21490) found -(21491) found -[16977] Forked 21492 -[16976] Forked 21493 -(21492) found -(21493) found -[16975] Forked 21494 -[16974] Forked 21495 -(21494) found -(21495) found -[16973] Forked 21496 -[16972] Forked 21497 -(21496) found -(21497) found -[16971] Forked 21498 -[16970] Forked 21499 -(21498) found -(21499) found -[16969] Forked 21500 -[16968] Forked 21501 -(21500) found -(21501) found -[16967] Forked 21502 -[16966] Forked 21503 -(21502) found -(21503) found -[16965] Forked 21504 -[16964] Forked 21505 -(21504) found -(21505) found -[16963] Forked 21506 -[16962] Forked 21507 -(21506) found -(21507) found -[16961] Forked 21508 -[16960] Forked 21509 -(21508) found -(21509) found -[16959] Forked 21510 -[16958] Forked 21511 -(21510) found -(21511) found -[16957] Forked 21512 -[16956] Forked 21513 -(21512) found -(21513) found -[16955] Forked 21514 -[16954] Forked 21515 -(21514) found -(21515) found -[16953] Forked 21516 -[16952] Forked 21517 -(21516) found -(21517) found -[16951] Forked 21518 -[16950] Forked 21519 -(21518) found -(21519) found -[16949] Forked 21520 -[16948] Forked 21521 -(21520) found -(21521) found -[16947] Forked 21522 -[16946] Forked 21523 -(21522) found -(21523) found -[16945] Forked 21524 -[16944] Forked 21525 -(21524) found -(21525) found -[16943] Forked 21526 -[16942] Forked 21527 -(21526) found -(21527) found -[16941] Forked 21528 -[16940] Forked 21529 -(21528) found -(21529) found -[16939] Forked 21530 -[16938] Forked 21531 -(21530) found -(21531) found -[16937] Forked 21532 -[16936] Forked 21533 -(21532) found -(21533) found -[16935] Forked 21534 -[16934] Forked 21535 -(21534) found -(21535) found -[16933] Forked 21536 -[16932] Forked 21537 -(21536) found -(21537) found -[16931] Forked 21538 -[16930] Forked 21539 -(21538) found -(21539) found -[16929] Forked 21540 -[16928] Forked 21541 -(21540) found -(21541) found -[16927] Forked 21542 -[16926] Forked 21543 -(21542) found -(21543) found -[16925] Forked 21544 -[16924] Forked 21545 -(21544) found -(21545) found -[16923] Forked 21546 -[16922] Forked 21547 -(21546) found -(21547) found -[16921] Forked 21548 -[16920] Forked 21549 -(21548) found -(21549) found -[16919] Forked 21550 -[16918] Forked 21551 -(21550) found -(21551) found -[16917] Forked 21552 -[16916] Forked 21553 -(21552) found -(21553) found -[16915] Forked 21554 -[16914] Forked 21555 -(21554) found -(21555) found -[16913] Forked 21556 -[16912] Forked 21557 -(21556) found -(21557) found -[16911] Forked 21558 -[16910] Forked 21559 -(21558) found -(21559) found -[16909] Forked 21560 -[16908] Forked 21561 -(21560) found -(21561) found -[16907] Forked 21562 -[16906] Forked 21563 -(21562) found -(21563) found -[16905] Forked 21564 -[16904] Forked 21565 -(21564) found -(21565) found -[16903] Forked 21566 -[16902] Forked 21567 -(21566) found -(21567) found -[16901] Forked 21568 -[16900] Forked 21569 -(21568) found -(21569) found -[16899] Forked 21570 -[16898] Forked 21571 -(21570) found -(21571) found -[16897] Forked 21572 -[16896] Forked 21573 -(21572) found -(21573) found -[16895] Forked 21574 -[16894] Forked 21575 -(21574) found -(21575) found -[16893] Forked 21576 -[16892] Forked 21577 -(21576) found -(21577) found -[16891] Forked 21578 -[16890] Forked 21579 -(21578) found -(21579) found -[16889] Forked 21580 -[16888] Forked 21581 -(21580) found -(21581) found -[16887] Forked 21582 -[16886] Forked 21583 -(21582) found -(21583) found -[16885] Forked 21584 -[16884] Forked 21585 -(21584) found -(21585) found -[16883] Forked 21586 -[16882] Forked 21587 -(21586) found -(21587) found -[16881] Forked 21588 -[16880] Forked 21589 -(21588) found -(21589) found -[16879] Forked 21590 -[16878] Forked 21591 -(21590) found -(21591) found -[16877] Forked 21592 -[16876] Forked 21593 -(21592) found -(21593) found -[16875] Forked 21594 -[16874] Forked 21595 -(21594) found -(21595) found -[16873] Forked 21596 -[16872] Forked 21597 -(21596) found -(21597) found -[16871] Forked 21598 -[16870] Forked 21599 -(21598) found -(21599) found -[16869] Forked 21600 -[16868] Forked 21601 -(21600) found -(21601) found -[16867] Forked 21602 -[16866] Forked 21603 -(21602) found -(21603) found -[16865] Forked 21604 -[16864] Forked 21605 -(21604) found -(21605) found -[16863] Forked 21606 -[16862] Forked 21607 -(21606) found -(21607) found -[16861] Forked 21608 -[16860] Forked 21609 -(21608) found -(21609) found -[16859] Forked 21610 -[16858] Forked 21611 -(21610) found -(21611) found -[16857] Forked 21612 -[16856] Forked 21613 -(21612) found -(21613) found -[16855] Forked 21614 -[16854] Forked 21615 -(21614) found -(21615) found -[16853] Forked 21616 -[16852] Forked 21617 -(21616) found -(21617) found -[16851] Forked 21618 -[16850] Forked 21619 -(21618) found -(21619) found -[16849] Forked 21620 -[16848] Forked 21621 -(21620) found -(21621) found -[16847] Forked 21622 -[16846] Forked 21623 -(21622) found -(21623) found -[16845] Forked 21624 -[16844] Forked 21625 -(21624) found -(21625) found -[16843] Forked 21626 -[16842] Forked 21627 -(21626) found -(21627) found -[16841] Forked 21628 -[16840] Forked 21630 -(21628) found -(21630) found -[16839] Forked 21631 -(21631) found -[16838] Forked 21632 -(21632) found -[16837] Forked 21633 -(21633) found -[16836] Forked 21634 -(21634) found -[16835] Forked 21635 -(21635) found -[16834] Forked 21636 -(21636) found -[16833] Forked 21637 -(21637) found -[16832] Forked 21638 -(21638) found -[16831] Forked 21639 -(21639) found -[16830] Forked 21640 -(21640) found -[16829] Forked 21641 -(21641) found -[16828] Forked 21642 -(21642) found -[16827] Forked 21643 -(21643) found -[16826] Forked 21644 -(21644) found -[16825] Forked 21645 -(21645) found -[16824] Forked 21646 -(21646) found -[16823] Forked 21647 -(21647) found -[16822] Forked 21648 -(21648) found -[16821] Forked 21649 -(21649) found -[16820] Forked 21650 -(21650) found -[16819] Forked 21651 -(21651) found -[16818] Forked 21652 -(21652) found -[16817] Forked 21653 -(21653) found -[16816] Forked 21654 -(21654) found -[16815] Forked 21655 -(21655) found -[16814] Forked 21656 -(21656) found -[16813] Forked 21657 -(21657) found -[16812] Forked 21658 -(21658) found -[16811] Forked 21659 -(21659) found -[16810] Forked 21660 -[16809] Forked 21661 -(21660) found -(21661) found -[16808] Forked 21662 -[16807] Forked 21663 -(21662) found -(21663) found -[16806] Forked 21664 -[16805] Forked 21665 -(21664) found -(21665) found -[16804] Forked 21666 -[16803] Forked 21667 -(21666) found -(21667) found -[16802] Forked 21668 -[16801] Forked 21669 -(21668) found -(21669) found -[16800] Forked 21670 -[16799] Forked 21671 -(21670) found -(21671) found -[16798] Forked 21672 -[16797] Forked 21673 -(21672) found -(21673) found -[16796] Forked 21674 -[16795] Forked 21675 -(21674) found -(21675) found -[16794] Forked 21676 -[16793] Forked 21677 -(21676) found -(21677) found -[16792] Forked 21678 -[16791] Forked 21679 -(21678) found -(21679) found -[16790] Forked 21680 -[16789] Forked 21681 -(21680) found -(21681) found -[16788] Forked 21682 -[16787] Forked 21683 -(21682) found -(21683) found -[16786] Forked 21684 -[16785] Forked 21685 -(21684) found -(21685) found -[16784] Forked 21686 -[16783] Forked 21687 -(21686) found -(21687) found -[16782] Forked 21688 -[16781] Forked 21689 -(21688) found -(21689) found -[16780] Forked 21690 -[16779] Forked 21691 -(21690) found -(21691) found -[16778] Forked 21692 -[16777] Forked 21693 -(21692) found -(21693) found -[16776] Forked 21694 -[16775] Forked 21695 -(21694) found -(21695) found -[16774] Forked 21696 -[16773] Forked 21697 -(21696) found -(21697) found -[16772] Forked 21698 -(21698) found -[16771] Forked 21699 -[16770] Forked 21700 -(21699) found -(21700) found -[16769] Forked 21701 -[16768] Forked 21702 -(21701) found -(21702) found -[16767] Forked 21703 -[16766] Forked 21704 -(21703) found -(21704) found -[16765] Forked 21705 -[16764] Forked 21706 -(21705) found -(21706) found -[16763] Forked 21707 -[16762] Forked 21708 -(21707) found -(21708) found -[16761] Forked 21709 -[16760] Forked 21710 -(21709) found -(21710) found -[16759] Forked 21711 -[16758] Forked 21712 -(21711) found -(21712) found -[16757] Forked 21713 -[16756] Forked 21714 -(21713) found -(21714) found -[16755] Forked 21715 -[16754] Forked 21716 -(21715) found -(21716) found -[16753] Forked 21717 -[16752] Forked 21718 -(21717) found -(21718) found -[16751] Forked 21719 -[16750] Forked 21720 -(21719) found -(21720) found -[16749] Forked 21721 -[16748] Forked 21722 -(21721) found -(21722) found -[16747] Forked 21723 -[16746] Forked 21724 -(21723) found -(21724) found -[16745] Forked 21725 -[16744] Forked 21726 -(21725) found -(21726) found -[16743] Forked 21727 -[16742] Forked 21728 -(21727) found -(21728) found -[16741] Forked 21729 -[16740] Forked 21730 -(21729) found -(21730) found -[16739] Forked 21731 -[16738] Forked 21732 -(21731) found -(21732) found -[16737] Forked 21733 -[16736] Forked 21734 -(21733) found -(21734) found -[16735] Forked 21735 -[16734] Forked 21736 -(21735) found -(21736) found -[16733] Forked 21737 -[16732] Forked 21738 -(21737) found -(21738) found -[16731] Forked 21739 -[16730] Forked 21740 -(21739) found -(21740) found -[16729] Forked 21741 -[16728] Forked 21742 -(21741) found -(21742) found -[16727] Forked 21743 -[16726] Forked 21744 -(21743) found -(21744) found -[16725] Forked 21745 -[16724] Forked 21746 -(21745) found -(21746) found -[16723] Forked 21747 -[16722] Forked 21749 -(21747) found -(21749) found -[16721] Forked 21750 -(21750) found -[16720] Forked 21751 -(21751) found -[16719] Forked 21752 -(21752) found -[16718] Forked 21753 -(21753) found -[16717] Forked 21754 -(21754) found -[16716] Forked 21755 -(21755) found -[16715] Forked 21756 -(21756) found -[16714] Forked 21757 -(21757) found -[16713] Forked 21758 -(21758) found -[16712] Forked 21759 -(21759) found -[16711] Forked 21760 -(21760) found -[16710] Forked 21761 -(21761) found -[16709] Forked 21762 -(21762) found -[16708] Forked 21763 -(21763) found -[16707] Forked 21764 -(21764) found -[16706] Forked 21765 -(21765) found -[16705] Forked 21766 -(21766) found -[16704] Forked 21767 -(21767) found -[16703] Forked 21768 -(21768) found -[16702] Forked 21769 -(21769) found -[16701] Forked 21770 -(21770) found -[16700] Forked 21771 -(21771) found -[16699] Forked 21772 -(21772) found -[16698] Forked 21773 -(21773) found -[16697] Forked 21774 -(21774) found -[16696] Forked 21775 -(21775) found -[16695] Forked 21776 -(21776) found -[16694] Forked 21777 -(21777) found -[16693] Forked 21778 -(21778) found -[16692] Forked 21779 -(21779) found -[16691] Forked 21780 -(21780) found -[16690] Forked 21781 -(21781) found -[16689] Forked 21782 -(21782) found -[16688] Forked 21783 -(21783) found -[16687] Forked 21784 -(21784) found -[16686] Forked 21785 -(21785) found -[16685] Forked 21786 -(21786) found -[16684] Forked 21787 -[16683] Forked 21788 -(21787) found -(21788) found -[16682] Forked 21789 -[16681] Forked 21790 -(21789) found -(21790) found -[16680] Forked 21791 -[16679] Forked 21792 -(21791) found -(21792) found -[16678] Forked 21793 -[16677] Forked 21794 -(21793) found -(21794) found -[16676] Forked 21795 -[16675] Forked 21796 -(21795) found -(21796) found -[16674] Forked 21797 -[16673] Forked 21798 -(21797) found -(21798) found -[16672] Forked 21799 -[16671] Forked 21800 -(21799) found -(21800) found -[16670] Forked 21801 -[16669] Forked 21802 -(21801) found -(21802) found -[16668] Forked 21803 -[16667] Forked 21804 -(21803) found -(21804) found -[16666] Forked 21805 -[16665] Forked 21806 -(21805) found -(21806) found -[16664] Forked 21807 -[16663] Forked 21808 -(21807) found -(21808) found -[16662] Forked 21809 -[16661] Forked 21810 -(21809) found -(21810) found -[16660] Forked 21811 -[16659] Forked 21812 -(21811) found -(21812) found -[16658] Forked 21813 -[16657] Forked 21814 -(21813) found -(21814) found -[16656] Forked 21815 -[16655] Forked 21816 -(21815) found -(21816) found -[16654] Forked 21817 -[16653] Forked 21818 -(21817) found -(21818) found -[16652] Forked 21819 -[16651] Forked 21820 -(21819) found -(21820) found -[16650] Forked 21821 -[16649] Forked 21822 -(21821) found -(21822) found -[16648] Forked 21823 -[16647] Forked 21824 -(21823) found -(21824) found -[16646] Forked 21825 -[16645] Forked 21826 -(21825) found -(21826) found -[16644] Forked 21827 -[16643] Forked 21828 -(21827) found -(21828) found -[16642] Forked 21829 -[16641] Forked 21830 -(21829) found -(21830) found -[16640] Forked 21831 -[16639] Forked 21832 -(21831) found -(21832) found -[16638] Forked 21833 -[16637] Forked 21834 -(21833) found -(21834) found -[16636] Forked 21835 -[16635] Forked 21836 -(21835) found -(21836) found -[16634] Forked 21837 -[16633] Forked 21838 -(21837) found -(21838) found -[16632] Forked 21839 -[16631] Forked 21840 -(21839) found -(21840) found -[16630] Forked 21841 -[16629] Forked 21842 -(21841) found -(21842) found -[16628] Forked 21843 -[16627] Forked 21844 -(21843) found -(21844) found -[16626] Forked 21845 -[16625] Forked 21846 -(21845) found -(21846) found -[16624] Forked 21847 -[16623] Forked 21848 -(21847) found -(21848) found -[16622] Forked 21849 -[16621] Forked 21850 -(21849) found -(21850) found -[16620] Forked 21851 -[16619] Forked 21852 -(21851) found -(21852) found -[16618] Forked 21853 -[16617] Forked 21854 -(21853) found -(21854) found -[16616] Forked 21855 -[16615] Forked 21856 -(21855) found -(21856) found -[16614] Forked 21857 -[16613] Forked 21858 -(21857) found -(21858) found -[16612] Forked 21859 -[16611] Forked 21860 -(21859) found -(21860) found -[16610] Forked 21861 -[16609] Forked 21862 -(21861) found -(21862) found -[16608] Forked 21863 -[16607] Forked 21864 -(21863) found -(21864) found -[16606] Forked 21865 -[16605] Forked 21867 -(21865) found -(21867) found -[16604] Forked 21868 -(21868) found -[16603] Forked 21869 -(21869) found -[16602] Forked 21870 -(21870) found -[16601] Forked 21871 -(21871) found -[16600] Forked 21872 -(21872) found -[16599] Forked 21873 -(21873) found -[16598] Forked 21874 -(21874) found -[16597] Forked 21875 -(21875) found -[16596] Forked 21876 -(21876) found -[16595] Forked 21877 -(21877) found -[16594] Forked 21878 -(21878) found -[16593] Forked 21879 -(21879) found -[16592] Forked 21880 -(21880) found -[16591] Forked 21881 -(21881) found -[16590] Forked 21882 -(21882) found -[16589] Forked 21883 -(21883) found -[16588] Forked 21884 -(21884) found -[16587] Forked 21885 -(21885) found -[16586] Forked 21886 -(21886) found -[16585] Forked 21887 -(21887) found -[16584] Forked 21888 -(21888) found -[16583] Forked 21889 -(21889) found -[16582] Forked 21890 -(21890) found -[16581] Forked 21891 -(21891) found -[16580] Forked 21892 -(21892) found -[16579] Forked 21893 -(21893) found -[16578] Forked 21894 -(21894) found -[16577] Forked 21895 -(21895) found -[16576] Forked 21896 -(21896) found -[16575] Forked 21897 -(21897) found -[16574] Forked 21898 -(21898) found -[16573] Forked 21899 -(21899) found -[16572] Forked 21900 -(21900) found -[16571] Forked 21901 -(21901) found -[16570] Forked 21902 -(21902) found -[16569] Forked 21903 -(21903) found -[16568] Forked 21904 -(21904) found -[16567] Forked 21905 -(21905) found -[16566] Forked 21906 -(21906) found -[16565] Forked 21907 -(21907) found -[16564] Forked 21908 -(21908) found -[16563] Forked 21909 -(21909) found -[16562] Forked 21910 -(21910) found -[16561] Forked 21911 -(21911) found -[16560] Forked 21912 -(21912) found -[16559] Forked 21913 -(21913) found -[16558] Forked 21914 -[16557] Forked 21915 -(21914) found -(21915) found -[16556] Forked 21916 -[16555] Forked 21917 -(21916) found -(21917) found -[16554] Forked 21918 -[16553] Forked 21919 -(21918) found -(21919) found -[16552] Forked 21920 -[16551] Forked 21921 -(21920) found -(21921) found -[16550] Forked 21922 -[16549] Forked 21923 -(21922) found -(21923) found -[16548] Forked 21924 -[16547] Forked 21925 -(21924) found -(21925) found -[16546] Forked 21926 -[16545] Forked 21927 -(21926) found -(21927) found -[16544] Forked 21928 -[16543] Forked 21929 -(21928) found -(21929) found -[16542] Forked 21930 -[16541] Forked 21931 -(21930) found -(21931) found -[16540] Forked 21932 -[16539] Forked 21933 -(21932) found -(21933) found -[16538] Forked 21934 -[16537] Forked 21935 -(21934) found -(21935) found -[16536] Forked 21936 -[16535] Forked 21937 -(21936) found -(21937) found -[16534] Forked 21938 -[16533] Forked 21939 -(21938) found -(21939) found -[16532] Forked 21940 -[16531] Forked 21941 -(21940) found -(21941) found -[16530] Forked 21942 -[16529] Forked 21943 -(21942) found -(21943) found -[16528] Forked 21944 -[16527] Forked 21945 -(21944) found -(21945) found -[16526] Forked 21946 -[16525] Forked 21947 -(21946) found -(21947) found -[16524] Forked 21948 -[16523] Forked 21949 -(21948) found -(21949) found -[16522] Forked 21950 -[16521] Forked 21951 -(21950) found -(21951) found -[16520] Forked 21952 -[16519] Forked 21953 -(21952) found -(21953) found -[16518] Forked 21954 -[16517] Forked 21955 -(21954) found -(21955) found -[16516] Forked 21956 -[16515] Forked 21957 -(21956) found -(21957) found -[16514] Forked 21958 -(21958) found -[16513] Forked 21959 -(21959) found -[16512] Forked 21960 -(21960) found -[16511] Forked 21961 -(21961) found -[16510] Forked 21962 -(21962) found -[16509] Forked 21963 -(21963) found -[16508] Forked 21964 -(21964) found -[16507] Forked 21965 -(21965) found -[16506] Forked 21966 -(21966) found -[16505] Forked 21967 -(21967) found -[16504] Forked 21968 -(21968) found -[16503] Forked 21969 -(21969) found -[16502] Forked 21970 -(21970) found -[16501] Forked 21971 -(21971) found -[16500] Forked 21972 -(21972) found -[16499] Forked 21973 -(21973) found -[16498] Forked 21974 -(21974) found -[16497] Forked 21975 -(21975) found -[16496] Forked 21976 -(21976) found -[16495] Forked 21977 -(21977) found -[16494] Forked 21978 -(21978) found -[16493] Forked 21979 -(21979) found -[16492] Forked 21980 -(21980) found -[16491] Forked 21981 -(21981) found -[16490] Forked 21982 -(21982) found -[16489] Forked 21983 -(21983) found -[16488] Forked 21984 -(21984) found -[16487] Forked 21985 -(21985) found -[16486] Forked 21986 -(21986) found -[16485] Forked 21987 -(21987) found -[16484] Forked 21988 -(21988) found -[16483] Forked 21989 -(21989) found -[16482] Forked 21990 -(21990) found -[16481] Forked 21991 -(21991) found -[16480] Forked 21992 -(21992) found -[16479] Forked 21993 -(21993) found -[16478] Forked 21994 -(21994) found -[16477] Forked 21995 -[16476] Forked 21996 -(21995) found -(21996) found -[16475] Forked 21997 -[16474] Forked 21998 -(21997) found -(21998) found -[16473] Forked 21999 -[16472] Forked 22000 -(21999) found -(22000) found -[16471] Forked 22001 -[16470] Forked 22002 -(22001) found -(22002) found -[16469] Forked 22003 -[16468] Forked 22004 -(22003) found -(22004) found -[16467] Forked 22005 -[16466] Forked 22006 -(22005) found -(22006) found -[16465] Forked 22007 -[16464] Forked 22008 -(22007) found -(22008) found -[16463] Forked 22009 -[16462] Forked 22010 -(22009) found -(22010) found -[16461] Forked 22011 -[16460] Forked 22012 -(22011) found -(22012) found -[16459] Forked 22013 -[16458] Forked 22014 -(22013) found -(22014) found -[16457] Forked 22015 -[16456] Forked 22016 -(22015) found -(22016) found -[16455] Forked 22017 -[16454] Forked 22018 -(22017) found -(22018) found -[16453] Forked 22019 -[16452] Forked 22020 -(22019) found -(22020) found -[16451] Forked 22021 -[16450] Forked 22022 -(22021) found -(22022) found -[16449] Forked 22023 -[16448] Forked 22024 -(22023) found -(22024) found -[16447] Forked 22025 -[16446] Forked 22026 -(22025) found -(22026) found -[16445] Forked 22027 -[16444] Forked 22028 -(22027) found -(22028) found -[16443] Forked 22029 -[16442] Forked 22030 -(22029) found -(22030) found -[16441] Forked 22031 -[16440] Forked 22032 -(22031) found -(22032) found -[16439] Forked 22033 -[16438] Forked 22034 -(22033) found -(22034) found -[16437] Forked 22035 -[16436] Forked 22037 -(22035) found -(22037) found -[16435] Forked 22038 -(22038) found -[16434] Forked 22039 -(22039) found -[16433] Forked 22040 -(22040) found -[16432] Forked 22041 -(22041) found -[16431] Forked 22042 -(22042) found -[16430] Forked 22043 -(22043) found -[16429] Forked 22044 -(22044) found -[16428] Forked 22045 -(22045) found -[16427] Forked 22046 -(22046) found -[16426] Forked 22047 -(22047) found -[16425] Forked 22048 -(22048) found -[16424] Forked 22049 -(22049) found -[16423] Forked 22050 -(22050) found -[16422] Forked 22051 -(22051) found -[16421] Forked 22052 -(22052) found -[16420] Forked 22053 -(22053) found -[16419] Forked 22054 -(22054) found -[16418] Forked 22055 -(22055) found -[16417] Forked 22056 -(22056) found -[16416] Forked 22057 -(22057) found -[16415] Forked 22058 -(22058) found -[16414] Forked 22059 -(22059) found -[16413] Forked 22060 -(22060) found -[16412] Forked 22061 -(22061) found -[16411] Forked 22062 -(22062) found -[16410] Forked 22063 -(22063) found -[16409] Forked 22064 -(22064) found -[16408] Forked 22065 -(22065) found -[16407] Forked 22066 -(22066) found -[16406] Forked 22067 -(22067) found -[16405] Forked 22068 -(22068) found -[16404] Forked 22069 -(22069) found -[16403] Forked 22070 -(22070) found -[16402] Forked 22071 -(22071) found -[16401] Forked 22072 -(22072) found -[16400] Forked 22073 -(22073) found -[16399] Forked 22074 -(22074) found -[16398] Forked 22075 -(22075) found -[16397] Forked 22076 -(22076) found -[16396] Forked 22077 -[16395] Forked 22078 -(22077) found -(22078) found -[16394] Forked 22079 -[16393] Forked 22080 -(22079) found -(22080) found -[16392] Forked 22081 -[16391] Forked 22082 -(22081) found -(22082) found -[16390] Forked 22083 -[16389] Forked 22084 -(22083) found -(22084) found -[16388] Forked 22085 -[16387] Forked 22086 -(22085) found -(22086) found -[16386] Forked 22087 -[16385] Forked 22088 -(22087) found -(22088) found -[16384] Forked 22089 -[16383] Forked 22090 -(22089) found -(22090) found -[16382] Forked 22091 -[16381] Forked 22092 -(22091) found -(22092) found -[16380] Forked 22093 -[16379] Forked 22094 -(22093) found -(22094) found -[16378] Forked 22095 -[16377] Forked 22096 -(22095) found -(22096) found -[16376] Forked 22097 -[16375] Forked 22098 -(22097) found -(22098) found -[16374] Forked 22099 -[16373] Forked 22100 -(22099) found -(22100) found -[16372] Forked 22101 -[16371] Forked 22102 -(22101) found -(22102) found -[16370] Forked 22103 -[16369] Forked 22104 -(22103) found -(22104) found -[16368] Forked 22105 -[16367] Forked 22106 -(22105) found -(22106) found -[16366] Forked 22107 -[16365] Forked 22108 -(22107) found -(22108) found -[16364] Forked 22109 -[16363] Forked 22110 -(22109) found -(22110) found -[16362] Forked 22111 -[16361] Forked 22112 -(22111) found -(22112) found -[16360] Forked 22113 -[16359] Forked 22114 -(22113) found -(22114) found -[16358] Forked 22115 -[16357] Forked 22116 -(22115) found -(22116) found -[16356] Forked 22117 -[16355] Forked 22118 -(22117) found -(22118) found -[16354] Forked 22119 -[16353] Forked 22120 -(22119) found -(22120) found -[16352] Forked 22121 -[16351] Forked 22123 -(22121) found -(22123) found -[16350] Forked 22124 -(22124) found -[16349] Forked 22125 -(22125) found -[16348] Forked 22126 -(22126) found -[16347] Forked 22127 -(22127) found -[16346] Forked 22128 -(22128) found -[16345] Forked 22129 -(22129) found -[16344] Forked 22130 -(22130) found -[16343] Forked 22131 -(22131) found -[16342] Forked 22132 -(22132) found -[16341] Forked 22133 -(22133) found -[16340] Forked 22134 -(22134) found -[16339] Forked 22135 -(22135) found -[16338] Forked 22136 -(22136) found -[16337] Forked 22137 -(22137) found -[16336] Forked 22138 -(22138) found -[16335] Forked 22139 -(22139) found -[16334] Forked 22140 -(22140) found -[16333] Forked 22141 -(22141) found -[16332] Forked 22142 -(22142) found -[16331] Forked 22143 -(22143) found -[16330] Forked 22144 -(22144) found -[16329] Forked 22145 -(22145) found -[16328] Forked 22146 -(22146) found -[16327] Forked 22147 -(22147) found -[16326] Forked 22148 -(22148) found -[16325] Forked 22149 -(22149) found -[16324] Forked 22150 -(22150) found -[16323] Forked 22151 -(22151) found -[16322] Forked 22152 -(22152) found -[16321] Forked 22153 -(22153) found -[16320] Forked 22154 -(22154) found -[16319] Forked 22155 -(22155) found -[16318] Forked 22156 -(22156) found -[16317] Forked 22157 -(22157) found -[16316] Forked 22158 -(22158) found -[16315] Forked 22159 -(22159) found -[16314] Forked 22160 -(22160) found -[16313] Forked 22161 -(22161) found -[16312] Forked 22162 -(22162) found -[16311] Forked 22163 -(22163) found -[16310] Forked 22164 -(22164) found -[16309] Forked 22165 -(22165) found -[16308] Forked 22166 -(22166) found -[16307] Forked 22167 -(22167) found -[16306] Forked 22168 -(22168) found -[16305] Forked 22169 -(22169) found -[16304] Forked 22170 -(22170) found -[16303] Forked 22171 -(22171) found -[16302] Forked 22172 -(22172) found -[16301] Forked 22173 -(22173) found -[16300] Forked 22174 -(22174) found -[16299] Forked 22175 -(22175) found -[16298] Forked 22176 -(22176) found -[16297] Forked 22177 -(22177) found -[16296] Forked 22178 -(22178) found -[16295] Forked 22179 -(22179) found -[16294] Forked 22180 -(22180) found -[16293] Forked 22181 -(22181) found -[16292] Forked 22182 -(22182) found -[16291] Forked 22183 -(22183) found -[16290] Forked 22184 -(22184) found -[16289] Forked 22185 -(22185) found -[16288] Forked 22186 -(22186) found -[16287] Forked 22187 -(22187) found -[16286] Forked 22188 -(22188) found -[16285] Forked 22189 -(22189) found -[16284] Forked 22190 -(22190) found -[16283] Forked 22191 -(22191) found -[16282] Forked 22192 -(22192) found -[16281] Forked 22193 -(22193) found -[16280] Forked 22194 -[16279] Forked 22195 -(22194) found -(22195) found -[16278] Forked 22196 -[16277] Forked 22197 -(22196) found -(22197) found -[16276] Forked 22198 -[16275] Forked 22199 -(22198) found -(22199) found -[16274] Forked 22200 -[16273] Forked 22201 -(22200) found -(22201) found -[16272] Forked 22202 -[16271] Forked 22203 -(22202) found -(22203) found -[16270] Forked 22204 -[16269] Forked 22205 -(22204) found -(22205) found -[16268] Forked 22206 -[16267] Forked 22207 -(22206) found -(22207) found -[16266] Forked 22208 -[16265] Forked 22209 -(22208) found -(22209) found -[16264] Forked 22210 -[16263] Forked 22211 -(22210) found -(22211) found -[16262] Forked 22212 -[16261] Forked 22213 -(22212) found -(22213) found -[16260] Forked 22214 -[16259] Forked 22215 -(22214) found -(22215) found -[16258] Forked 22216 -[16257] Forked 22217 -(22216) found -(22217) found -[16256] Forked 22218 -[16255] Forked 22220 -(22218) found -(22220) found -[16254] Forked 22221 -(22221) found -[16253] Forked 22222 -(22222) found -[16252] Forked 22223 -(22223) found -[16251] Forked 22224 -(22224) found -[16250] Forked 22225 -(22225) found -[16249] Forked 22226 -(22226) found -[16248] Forked 22227 -(22227) found -[16247] Forked 22228 -(22228) found -[16246] Forked 22229 -(22229) found -[16245] Forked 22230 -(22230) found -[16244] Forked 22231 -(22231) found -[16243] Forked 22232 -(22232) found -[16242] Forked 22233 -(22233) found -[16241] Forked 22234 -(22234) found -[16240] Forked 22235 -(22235) found -[16239] Forked 22236 -(22236) found -[16238] Forked 22237 -(22237) found -[16237] Forked 22238 -(22238) found -[16236] Forked 22239 -(22239) found -[16235] Forked 22240 -(22240) found -[16234] Forked 22241 -(22241) found -[16233] Forked 22242 -(22242) found -[16232] Forked 22243 -(22243) found -[16231] Forked 22244 -(22244) found -[16230] Forked 22245 -(22245) found -[16229] Forked 22246 -(22246) found -[16228] Forked 22247 -(22247) found -[16227] Forked 22248 -(22248) found -[16226] Forked 22249 -(22249) found -[16225] Forked 22250 -(22250) found -[16224] Forked 22251 -(22251) found -[16223] Forked 22252 -(22252) found -[16222] Forked 22253 -(22253) found -[16221] Forked 22254 -(22254) found -[16220] Forked 22255 -(22255) found -[16219] Forked 22256 -(22256) found -[16218] Forked 22257 -(22257) found -[16217] Forked 22258 -(22258) found -[16216] Forked 22259 -(22259) found -[16215] Forked 22260 -(22260) found -[16214] Forked 22261 -(22261) found -[16213] Forked 22262 -(22262) found -[16212] Forked 22263 -(22263) found -[16211] Forked 22264 -(22264) found -[16210] Forked 22265 -(22265) found -[16209] Forked 22266 -(22266) found -[16208] Forked 22267 -(22267) found -[16207] Forked 22268 -(22268) found -[16206] Forked 22269 -(22269) found -[16205] Forked 22270 -(22270) found -[16204] Forked 22271 -(22271) found -[16203] Forked 22272 -(22272) found -[16202] Forked 22273 -(22273) found -[16201] Forked 22274 -(22274) found -[16200] Forked 22275 -(22275) found -[16199] Forked 22276 -(22276) found -[16198] Forked 22277 -(22277) found -[16197] Forked 22278 -(22278) found -[16196] Forked 22279 -(22279) found -[16195] Forked 22280 -(22280) found -[16194] Forked 22281 -(22281) found -[16193] Forked 22282 -(22282) found -[16192] Forked 22283 -(22283) found -[16191] Forked 22284 -(22284) found -[16190] Forked 22285 -(22285) found -[16189] Forked 22286 -(22286) found -[16188] Forked 22287 -(22287) found -[16187] Forked 22288 -(22288) found -[16186] Forked 22289 -(22289) found -[16185] Forked 22290 -(22290) found -[16184] Forked 22291 -(22291) found -[16183] Forked 22292 -(22292) found -[16182] Forked 22293 -(22293) found -[16181] Forked 22294 -(22294) found -[16180] Forked 22295 -(22295) found -[16179] Forked 22296 -(22296) found -[16178] Forked 22297 -(22297) found -[16177] Forked 22298 -(22298) found -[16176] Forked 22299 -(22299) found -[16175] Forked 22300 -(22300) found -[16174] Forked 22301 -(22301) found -[16173] Forked 22302 -(22302) found -[16172] Forked 22303 -(22303) found -[16171] Forked 22304 -(22304) found -[16170] Forked 22305 -(22305) found -[16169] Forked 22306 -(22306) found -[16168] Forked 22307 -[16167] Forked 22308 -(22307) found -(22308) found -[16166] Forked 22309 -[16165] Forked 22310 -(22309) found -(22310) found -[16164] Forked 22311 -[16163] Forked 22312 -(22311) found -(22312) found -[16162] Forked 22313 -[16161] Forked 22314 -(22313) found -(22314) found -[16160] Forked 22315 -[16159] Forked 22316 -(22315) found -(22316) found -[16158] Forked 22317 -[16157] Forked 22318 -(22317) found -(22318) found -[16156] Forked 22319 -[16155] Forked 22320 -(22319) found -(22320) found -[16154] Forked 22321 -[16153] Forked 22322 -(22321) found -(22322) found -[16152] Forked 22323 -[16151] Forked 22324 -(22323) found -(22324) found -[16150] Forked 22325 -[16149] Forked 22326 -(22325) found -(22326) found -[16148] Forked 22327 -[16147] Forked 22328 -(22327) found -(22328) found -[16146] Forked 22329 -[16145] Forked 22330 -(22329) found -(22330) found -[16144] Forked 22331 -[16143] Forked 22332 -(22331) found -(22332) found -[16142] Forked 22333 -[16141] Forked 22334 -(22333) found -(22334) found -[16140] Forked 22335 -[16139] Forked 22336 -(22335) found -(22336) found -[16138] Forked 22337 -[16137] Forked 22338 -(22337) found -(22338) found -[16136] Forked 22339 -[16135] Forked 22340 -(22339) found -(22340) found -[16134] Forked 22341 -[16133] Forked 22342 -(22341) found -(22342) found -[16132] Forked 22343 -[16131] Forked 22344 -(22343) found -(22344) found -[16130] Forked 22345 -[16129] Forked 22346 -(22345) found -(22346) found -[16128] Forked 22347 -(22347) found -[16127] Forked 22348 -[16126] Forked 22349 -(22348) found -(22349) found -[16125] Forked 22350 -[16124] Forked 22351 -(22350) found -(22351) found -[16123] Forked 22352 -[16122] Forked 22353 -(22352) found -(22353) found -[16121] Forked 22354 -[16120] Forked 22355 -(22354) found -(22355) found -[16119] Forked 22356 -[16118] Forked 22357 -(22356) found -(22357) found -[16117] Forked 22358 -[16116] Forked 22359 -(22358) found -(22359) found -[16115] Forked 22360 -[16114] Forked 22361 -(22360) found -(22361) found -[16113] Forked 22362 -[16112] Forked 22363 -(22362) found -(22363) found -[16111] Forked 22364 -[16110] Forked 22365 -(22364) found -(22365) found -[16109] Forked 22366 -[16108] Forked 22367 -(22366) found -(22367) found -[16107] Forked 22368 -[16106] Forked 22369 -(22368) found -(22369) found -[16105] Forked 22370 -[16104] Forked 22371 -(22370) found -(22371) found -[16103] Forked 22372 -[16102] Forked 22373 -(22372) found -(22373) found -[16101] Forked 22374 -[16100] Forked 22375 -(22374) found -(22375) found -[16099] Forked 22376 -[16098] Forked 22377 -(22376) found -(22377) found -[16097] Forked 22378 -[16096] Forked 22379 -(22378) found -(22379) found -[16095] Forked 22380 -[16094] Forked 22381 -(22380) found -(22381) found -[16093] Forked 22382 -[16092] Forked 22383 -(22382) found -(22383) found -[16091] Forked 22384 -[16090] Forked 22385 -(22384) found -(22385) found -[16089] Forked 22386 -[16088] Forked 22387 -(22386) found -(22387) found -[16087] Forked 22388 -[16086] Forked 22389 -(22388) found -(22389) found -[16085] Forked 22390 -[16084] Forked 22391 -(22390) found -(22391) found -[16083] Forked 22392 -[16082] Forked 22393 -(22392) found -(22393) found -[16081] Forked 22394 -[16080] Forked 22395 -(22394) found -(22395) found -[16079] Forked 22396 -[16078] Forked 22397 -(22396) found -(22397) found -[16077] Forked 22398 -[16076] Forked 22399 -(22398) found -(22399) found -[16075] Forked 22400 -[16074] Forked 22401 -(22400) found -(22401) found -[16073] Forked 22402 -[16072] Forked 22403 -(22402) found -(22403) found -[16071] Forked 22404 -[16070] Forked 22405 -(22404) found -(22405) found -[16069] Forked 22406 -[16068] Forked 22407 -(22406) found -(22407) found -[16067] Forked 22408 -[16066] Forked 22409 -(22408) found -(22409) found -[16065] Forked 22410 -[16064] Forked 22411 -(22410) found -(22411) found -[16063] Forked 22412 -[16062] Forked 22413 -(22412) found -(22413) found -[16061] Forked 22414 -[16060] Forked 22415 -(22414) found -(22415) found -[16059] Forked 22416 -[16058] Forked 22417 -(22416) found -(22417) found -[16057] Forked 22418 -[16056] Forked 22419 -(22418) found -(22419) found -[16055] Forked 22420 -[16054] Forked 22421 -(22420) found -(22421) found -[16053] Forked 22422 -[16052] Forked 22423 -(22422) found -(22423) found -[16051] Forked 22424 -[16050] Forked 22425 -(22424) found -(22425) found -[16049] Forked 22426 -[16048] Forked 22427 -(22426) found -(22427) found -[16047] Forked 22428 -[16046] Forked 22429 -(22428) found -(22429) found -[16045] Forked 22430 -[16044] Forked 22431 -(22430) found -(22431) found -[16043] Forked 22432 -[16042] Forked 22433 -(22432) found -(22433) found -[16041] Forked 22434 -[16040] Forked 22435 -(22434) found -(22435) found -[16039] Forked 22436 -[16038] Forked 22437 -(22436) found -(22437) found -[16037] Forked 22438 -[16036] Forked 22439 -(22438) found -(22439) found -[16035] Forked 22440 -[16034] Forked 22442 -(22440) found -(22442) found -[16033] Forked 22443 -(22443) found -[16032] Forked 22444 -(22444) found -[16031] Forked 22445 -(22445) found -[16030] Forked 22446 -(22446) found -[16029] Forked 22447 -(22447) found -[16028] Forked 22448 -(22448) found -[16027] Forked 22449 -(22449) found -[16026] Forked 22450 -(22450) found -[16025] Forked 22451 -(22451) found -[16024] Forked 22452 -(22452) found -[16023] Forked 22453 -(22453) found -[16022] Forked 22454 -(22454) found -[16021] Forked 22455 -(22455) found -[16020] Forked 22456 -(22456) found -[16019] Forked 22457 -(22457) found -[16018] Forked 22458 -(22458) found -[16017] Forked 22459 -(22459) found -[16016] Forked 22460 -(22460) found -[16015] Forked 22461 -(22461) found -[16014] Forked 22462 -(22462) found -[16013] Forked 22463 -(22463) found -[16012] Forked 22464 -(22464) found -[16011] Forked 22465 -(22465) found -[16010] Forked 22466 -(22466) found -[16009] Forked 22467 -(22467) found -[16008] Forked 22468 -(22468) found -[16007] Forked 22469 -(22469) found -[16006] Forked 22470 -(22470) found -[16005] Forked 22471 -(22471) found -[16004] Forked 22472 -(22472) found -[16003] Forked 22473 -(22473) found -[16002] Forked 22474 -(22474) found -[16001] Forked 22475 -(22475) found -[16000] Forked 22476 -(22476) found -[15999] Forked 22477 -(22477) found -[15998] Forked 22478 -(22478) found -[15997] Forked 22479 -(22479) found -[15996] Forked 22480 -(22480) found -[15995] Forked 22481 -(22481) found -[15994] Forked 22482 -[15993] Forked 22483 -(22482) found -(22483) found -[15992] Forked 22484 -[15991] Forked 22485 -(22484) found -(22485) found -[15990] Forked 22486 -[15989] Forked 22487 -(22486) found -(22487) found -[15988] Forked 22488 -[15987] Forked 22489 -(22488) found -(22489) found -[15986] Forked 22490 -[15985] Forked 22491 -(22490) found -(22491) found -[15984] Forked 22492 -[15983] Forked 22493 -(22492) found -(22493) found -[15982] Forked 22494 -[15981] Forked 22495 -(22494) found -(22495) found -[15980] Forked 22496 -[15979] Forked 22497 -(22496) found -(22497) found -[15978] Forked 22498 -[15977] Forked 22499 -(22498) found -(22499) found -[15976] Forked 22500 -[15975] Forked 22501 -(22500) found -(22501) found -[15974] Forked 22502 -[15973] Forked 22503 -(22502) found -(22503) found -[15972] Forked 22504 -[15971] Forked 22505 -(22504) found -(22505) found -[15970] Forked 22506 -[15969] Forked 22507 -(22506) found -(22507) found -[15968] Forked 22508 -[15967] Forked 22509 -(22508) found -(22509) found -[15966] Forked 22510 -[15965] Forked 22511 -(22510) found -(22511) found -[15964] Forked 22512 -[15963] Forked 22513 -(22512) found -(22513) found -[15962] Forked 22514 -[15961] Forked 22515 -(22514) found -(22515) found -[15960] Forked 22516 -[15959] Forked 22517 -(22516) found -(22517) found -[15958] Forked 22518 -[15957] Forked 22519 -(22518) found -(22519) found -[15956] Forked 22520 -[15955] Forked 22521 -(22520) found -(22521) found -[15954] Forked 22522 -[15953] Forked 22523 -(22522) found -(22523) found -[15952] Forked 22524 -[15951] Forked 22525 -(22524) found -(22525) found -[15950] Forked 22526 -[15949] Forked 22527 -(22526) found -(22527) found -[15948] Forked 22528 -[15947] Forked 22529 -(22528) found -(22529) found -[15946] Forked 22530 -[15945] Forked 22531 -(22530) found -(22531) found -[15944] Forked 22532 -[15943] Forked 22533 -(22532) found -(22533) found -[15942] Forked 22534 -[15941] Forked 22535 -(22534) found -(22535) found -[15940] Forked 22536 -[15939] Forked 22537 -(22536) found -(22537) found -[15938] Forked 22538 -[15937] Forked 22539 -(22538) found -(22539) found -[15936] Forked 22540 -[15935] Forked 22541 -(22540) found -(22541) found -[15934] Forked 22542 -[15933] Forked 22543 -(22542) found -(22543) found -[15932] Forked 22544 -[15931] Forked 22545 -(22544) found -(22545) found -[15930] Forked 22546 -[15929] Forked 22547 -(22546) found -(22547) found -[15928] Forked 22548 -[15927] Forked 22549 -(22548) found -(22549) found -[15926] Forked 22550 -[15925] Forked 22551 -(22550) found -(22551) found -[15924] Forked 22552 -[15923] Forked 22553 -(22552) found -(22553) found -[15922] Forked 22554 -[15921] Forked 22555 -(22554) found -(22555) found -[15920] Forked 22556 -[15919] Forked 22557 -(22556) found -(22557) found -[15918] Forked 22558 -[15917] Forked 22559 -(22558) found -(22559) found -[15916] Forked 22560 -[15915] Forked 22561 -(22560) found -(22561) found -[15914] Forked 22562 -[15913] Forked 22563 -(22562) found -(22563) found -[15912] Forked 22564 -[15911] Forked 22565 -(22564) found -(22565) found -[15910] Forked 22566 -[15909] Forked 22567 -(22566) found -(22567) found -[15908] Forked 22568 -[15907] Forked 22569 -(22568) found -(22569) found -[15906] Forked 22570 -[15905] Forked 22571 -(22570) found -(22571) found -[15904] Forked 22572 -[15903] Forked 22573 -(22572) found -(22573) found -[15902] Forked 22574 -(22574) found -[15901] Forked 22575 -(22575) found -[15900] Forked 22576 -(22576) found -[15899] Forked 22577 -(22577) found -[15898] Forked 22578 -(22578) found -[15897] Forked 22579 -(22579) found -[15896] Forked 22580 -(22580) found -[15895] Forked 22581 -(22581) found -[15894] Forked 22582 -(22582) found -[15893] Forked 22583 -(22583) found -[15892] Forked 22584 -(22584) found -[15891] Forked 22585 -(22585) found -[15890] Forked 22586 -(22586) found -[15889] Forked 22587 -(22587) found -[15888] Forked 22588 -(22588) found -[15887] Forked 22589 -(22589) found -[15886] Forked 22590 -(22590) found -[15885] Forked 22591 -(22591) found -[15884] Forked 22592 -(22592) found -[15883] Forked 22593 -(22593) found -[15882] Forked 22594 -(22594) found -[15881] Forked 22595 -(22595) found -[15880] Forked 22596 -(22596) found -[15879] Forked 22597 -(22597) found -[15878] Forked 22598 -(22598) found -[15877] Forked 22599 -(22599) found -[15876] Forked 22600 -(22600) found -[15875] Forked 22601 -(22601) found -[15874] Forked 22602 -(22602) found -[15873] Forked 22603 -(22603) found -[15872] Forked 22604 -(22604) found -[15871] Forked 22605 -(22605) found -[15870] Forked 22606 -(22606) found -[15869] Forked 22607 -(22607) found -[15868] Forked 22608 -(22608) found -[15867] Forked 22609 -[15866] Forked 22610 -(22609) found -(22610) found -[15865] Forked 22611 -[15864] Forked 22612 -(22611) found -(22612) found -[15863] Forked 22613 -[15862] Forked 22614 -(22613) found -(22614) found -[15861] Forked 22615 -[15860] Forked 22616 -(22615) found -(22616) found -[15859] Forked 22617 -[15858] Forked 22618 -(22617) found -(22618) found -[15857] Forked 22619 -[15856] Forked 22620 -(22619) found -(22620) found -[15855] Forked 22621 -[15854] Forked 22622 -(22621) found -(22622) found -[15853] Forked 22623 -[15852] Forked 22624 -(22623) found -(22624) found -[15851] Forked 22625 -[15850] Forked 22626 -(22625) found -(22626) found -[15849] Forked 22627 -[15848] Forked 22628 -(22627) found -(22628) found -[15847] Forked 22629 -[15846] Forked 22630 -(22629) found -(22630) found -[15845] Forked 22631 -[15844] Forked 22632 -(22631) found -(22632) found -[15843] Forked 22633 -[15842] Forked 22634 -(22633) found -(22634) found -[15841] Forked 22635 -[15840] Forked 22636 -(22635) found -(22636) found -[15839] Forked 22637 -[15838] Forked 22638 -(22637) found -(22638) found -[15837] Forked 22639 -[15836] Forked 22640 -(22639) found -(22640) found -[15835] Forked 22641 -[15834] Forked 22642 -(22641) found -(22642) found -[15833] Forked 22644 -[15832] Forked 22645 -(22644) found -(22645) found -[15831] Forked 22646 -[15830] Forked 22647 -(22646) found -(22647) found -[15829] Forked 22648 -[15828] Forked 22649 -(22648) found -(22649) found -[15827] Forked 22650 -[15826] Forked 22651 -(22650) found -(22651) found -[15825] Forked 22652 -[15824] Forked 22653 -(22652) found -(22653) found -[15823] Forked 22654 -[15822] Forked 22655 -(22654) found -(22655) found -[15821] Forked 22656 -[15820] Forked 22657 -(22656) found -(22657) found -[15819] Forked 22658 -(22658) found -[15818] Forked 22659 -(22659) found -[15817] Forked 22660 -(22660) found -[15816] Forked 22661 -(22661) found -[15815] Forked 22662 -(22662) found -[15814] Forked 22663 -(22663) found -[15813] Forked 22664 -(22664) found -[15812] Forked 22665 -(22665) found -[15811] Forked 22666 -(22666) found -[15810] Forked 22667 -(22667) found -[15809] Forked 22668 -(22668) found -[15808] Forked 22669 -(22669) found -[15807] Forked 22670 -(22670) found -[15806] Forked 22671 -(22671) found -[15805] Forked 22672 -(22672) found -[15804] Forked 22673 -(22673) found -[15803] Forked 22674 -(22674) found -[15802] Forked 22675 -(22675) found -[15801] Forked 22676 -(22676) found -[15800] Forked 22677 -(22677) found -[15799] Forked 22678 -(22678) found -[15798] Forked 22679 -(22679) found -[15797] Forked 22680 -(22680) found -[15796] Forked 22681 -(22681) found -[15795] Forked 22682 -(22682) found -[15794] Forked 22683 -(22683) found -[15793] Forked 22684 -(22684) found -[15792] Forked 22685 -(22685) found -[15791] Forked 22686 -(22686) found -[15790] Forked 22687 -(22687) found -[15789] Forked 22688 -(22688) found -[15788] Forked 22689 -(22689) found -[15787] Forked 22690 -(22690) found -[15786] Forked 22691 -(22691) found -[15785] Forked 22692 -(22692) found -[15784] Forked 22693 -[15783] Forked 22694 -(22693) found -(22694) found -[15782] Forked 22695 -(22695) found -[15781] Forked 22696 -(22696) found -[15780] Forked 22697 -(22697) found -[15779] Forked 22698 -(22698) found -[15778] Forked 22699 -(22699) found -[15777] Forked 22700 -(22700) found -[15776] Forked 22701 -(22701) found -[15775] Forked 22702 -(22702) found -[15774] Forked 22703 -(22703) found -[15773] Forked 22704 -(22704) found -[15772] Forked 22705 -(22705) found -[15771] Forked 22706 -(22706) found -[15770] Forked 22707 -(22707) found -[15769] Forked 22708 -(22708) found -[15768] Forked 22709 -(22709) found -[15767] Forked 22710 -(22710) found -[15766] Forked 22711 -(22711) found -[15765] Forked 22712 -(22712) found -[15764] Forked 22713 -(22713) found -[15763] Forked 22714 -(22714) found -[15762] Forked 22715 -(22715) found -[15761] Forked 22716 -(22716) found -[15760] Forked 22717 -(22717) found -[15759] Forked 22718 -(22718) found -[15758] Forked 22719 -(22719) found -[15757] Forked 22720 -(22720) found -[15756] Forked 22721 -(22721) found -[15755] Forked 22722 -(22722) found -[15754] Forked 22723 -(22723) found -[15753] Forked 22724 -(22724) found -[15752] Forked 22725 -[15751] Forked 22726 -(22725) found -(22726) found -[15750] Forked 22727 -[15749] Forked 22728 -(22727) found -(22728) found -[15748] Forked 22729 -[15747] Forked 22730 -(22729) found -(22730) found -[15746] Forked 22731 -[15745] Forked 22732 -(22731) found -(22732) found -[15744] Forked 22733 -[15743] Forked 22734 -(22733) found -(22734) found -[15742] Forked 22735 -[15741] Forked 22736 -(22735) found -(22736) found -[15740] Forked 22737 -[15739] Forked 22738 -(22737) found -(22738) found -[15738] Forked 22739 -[15737] Forked 22740 -(22739) found -(22740) found -[15736] Forked 22741 -[15735] Forked 22742 -(22741) found -(22742) found -[15734] Forked 22743 -[15733] Forked 22744 -(22743) found -(22744) found -[15732] Forked 22745 -[15731] Forked 22746 -(22745) found -(22746) found -[15730] Forked 22747 -[15729] Forked 22748 -(22747) found -(22748) found -[15728] Forked 22749 -[15727] Forked 22750 -(22749) found -(22750) found -[15726] Forked 22751 -(22751) found -[15725] Forked 22752 -[15724] Forked 22753 -(22752) found -(22753) found -[15723] Forked 22754 -[15722] Forked 22755 -(22754) found -(22755) found -[15721] Forked 22756 -[15720] Forked 22757 -(22756) found -(22757) found -[15719] Forked 22758 -[15718] Forked 22759 -(22758) found -(22759) found -[15717] Forked 22760 -[15716] Forked 22761 -(22760) found -(22761) found -[15715] Forked 22762 -[15714] Forked 22763 -(22762) found -(22763) found -[15713] Forked 22764 -[15712] Forked 22765 -(22764) found -(22765) found -[15711] Forked 22766 -[15710] Forked 22767 -(22766) found -(22767) found -[15709] Forked 22768 -[15708] Forked 22769 -(22768) found -(22769) found -[15707] Forked 22770 -[15706] Forked 22771 -(22771) found -(22770) found -[15705] Forked 22772 -(22772) found -[15704] Forked 22773 -(22773) found -[15703] Forked 22774 -(22774) found -[15702] Forked 22775 -(22775) found -[15701] Forked 22776 -(22776) found -[15700] Forked 22777 -(22777) found -[15699] Forked 22778 -(22778) found -[15698] Forked 22779 -(22779) found -[15697] Forked 22780 -(22780) found -[15696] Forked 22781 -(22781) found -[15695] Forked 22782 -(22782) found -[15694] Forked 22783 -(22783) found -[15693] Forked 22784 -(22784) found -[15692] Forked 22785 -(22785) found -[15691] Forked 22786 -(22786) found -[15690] Forked 22787 -(22787) found -[15689] Forked 22788 -(22788) found -[15688] Forked 22789 -(22789) found -[15687] Forked 22790 -(22790) found -[15686] Forked 22791 -(22791) found -[15685] Forked 22792 -(22792) found -[15684] Forked 22793 -(22793) found -[15683] Forked 22794 -(22794) found -[15682] Forked 22795 -(22795) found -[15681] Forked 22796 -(22796) found -[15680] Forked 22797 -(22797) found -[15679] Forked 22798 -(22798) found -[15678] Forked 22799 -(22799) found -[15677] Forked 22800 -(22800) found -[15676] Forked 22801 -(22801) found -[15675] Forked 22802 -(22802) found -[15674] Forked 22803 -(22803) found -[15673] Forked 22804 -(22804) found -[15672] Forked 22805 -(22805) found -[15671] Forked 22806 -(22806) found -[15670] Forked 22807 -(22807) found -[15669] Forked 22808 -(22808) found -[15668] Forked 22809 -(22809) found -[15667] Forked 22810 -(22810) found -[15666] Forked 22811 -(22811) found -[15665] Forked 22812 -(22812) found -[15664] Forked 22813 -(22813) found -[15663] Forked 22814 -(22814) found -[15662] Forked 22815 -(22815) found -[15661] Forked 22816 -(22816) found -[15660] Forked 22817 -(22817) found -[15659] Forked 22818 -(22818) found -[15658] Forked 22819 -(22819) found -[15657] Forked 22820 -(22820) found -[15656] Forked 22821 -(22821) found -[15655] Forked 22822 -(22822) found -[15654] Forked 22823 -(22823) found -[15653] Forked 22824 -(22824) found -[15652] Forked 22825 -(22825) found -[15651] Forked 22826 -(22826) found -[15650] Forked 22827 -(22827) found -[15649] Forked 22828 -(22828) found -[15648] Forked 22829 -(22829) found -[15647] Forked 22830 -(22830) found -[15646] Forked 22831 -(22831) found -[15645] Forked 22832 -(22832) found -[15644] Forked 22833 -(22833) found -[15643] Forked 22834 -(22834) found -[15642] Forked 22835 -(22835) found -[15641] Forked 22836 -(22836) found -[15640] Forked 22837 -(22837) found -[15639] Forked 22838 -(22838) found -[15638] Forked 22839 -(22839) found -[15637] Forked 22840 -(22840) found -[15636] Forked 22841 -(22841) found -[15635] Forked 22842 -(22842) found -[15634] Forked 22843 -(22843) found -[15633] Forked 22844 -(22844) found -[15632] Forked 22845 -[15631] Forked 22846 -(22845) found -(22846) found -[15630] Forked 22847 -[15629] Forked 22848 -(22847) found -(22848) found -[15628] Forked 22849 -[15627] Forked 22850 -(22849) found -(22850) found -[15626] Forked 22851 -[15625] Forked 22852 -(22851) found -(22852) found -[15624] Forked 22853 -[15623] Forked 22854 -(22853) found -(22854) found -[15622] Forked 22855 -[15621] Forked 22856 -(22855) found -(22856) found -[15620] Forked 22857 -[15619] Forked 22858 -(22857) found -(22858) found -[15618] Forked 22859 -[15617] Forked 22860 -(22859) found -(22860) found -[15616] Forked 22861 -[15615] Forked 22862 -(22861) found -(22862) found -[15614] Forked 22863 -[15613] Forked 22864 -(22863) found -(22864) found -[15612] Forked 22865 -[15611] Forked 22866 -(22865) found -(22866) found -[15610] Forked 22867 -[15609] Forked 22868 -(22867) found -(22868) found -[15608] Forked 22869 -[15607] Forked 22870 -(22869) found -(22870) found -[15606] Forked 22871 -[15605] Forked 22872 -(22871) found -(22872) found -[15604] Forked 22873 -[15603] Forked 22874 -(22873) found -(22874) found -[15602] Forked 22875 -[15601] Forked 22876 -(22875) found -(22876) found -[15600] Forked 22877 -[15599] Forked 22878 -(22877) found -(22878) found -[15598] Forked 22879 -[15597] Forked 22880 -(22879) found -(22880) found -[15596] Forked 22881 -[15595] Forked 22882 -(22881) found -(22882) found -[15594] Forked 22883 -[15593] Forked 22884 -(22883) found -(22884) found -[15592] Forked 22885 -[15591] Forked 22886 -(22885) found -(22886) found -[15590] Forked 22887 -[15589] Forked 22888 -(22888) found -(22887) found -[15588] Forked 22889 -(22889) found -[15587] Forked 22890 -(22890) found -[15586] Forked 22891 -(22891) found -[15585] Forked 22892 -(22892) found -[15584] Forked 22893 -(22893) found -[15583] Forked 22894 -(22894) found -[15582] Forked 22895 -(22895) found -[15581] Forked 22896 -(22896) found -[15580] Forked 22897 -(22897) found -[15579] Forked 22898 -(22898) found -[15578] Forked 22899 -(22899) found -[15577] Forked 22900 -(22900) found -[15576] Forked 22901 -(22901) found -[15575] Forked 22902 -(22902) found -[15574] Forked 22903 -(22903) found -[15573] Forked 22904 -(22904) found -[15572] Forked 22905 -(22905) found -[15571] Forked 22906 -(22906) found -[15570] Forked 22907 -(22907) found -[15569] Forked 22908 -(22908) found -[15568] Forked 22909 -(22909) found -[15567] Forked 22910 -(22910) found -[15566] Forked 22911 -(22911) found -[15565] Forked 22912 -(22912) found -[15564] Forked 22913 -(22913) found -[15563] Forked 22914 -(22914) found -[15562] Forked 22915 -(22915) found -[15561] Forked 22916 -(22916) found -[15560] Forked 22917 -(22917) found -[15559] Forked 22918 -(22918) found -[15558] Forked 22919 -(22919) found -[15557] Forked 22920 -(22920) found -[15556] Forked 22921 -(22921) found -[15555] Forked 22922 -(22922) found -[15554] Forked 22923 -(22923) found -[15553] Forked 22924 -[15552] Forked 22925 -(22924) found -(22925) found -[15551] Forked 22926 -[15550] Forked 22927 -(22926) found -(22927) found -[15549] Forked 22928 -[15548] Forked 22929 -(22928) found -(22929) found -[15547] Forked 22930 -[15546] Forked 22931 -(22930) found -(22931) found -[15545] Forked 22932 -[15544] Forked 22933 -(22932) found -(22933) found -[15543] Forked 22934 -[15542] Forked 22935 -(22934) found -(22935) found -[15541] Forked 22936 -[15540] Forked 22937 -(22936) found -(22937) found -[15539] Forked 22938 -[15538] Forked 22939 -(22938) found -(22939) found -[15537] Forked 22940 -[15536] Forked 22941 -(22940) found -(22941) found -[15535] Forked 22942 -[15534] Forked 22943 -(22942) found -(22943) found -[15533] Forked 22944 -[15532] Forked 22945 -(22944) found -(22945) found -[15531] Forked 22946 -[15530] Forked 22947 -(22946) found -(22947) found -[15529] Forked 22948 -[15528] Forked 22949 -(22948) found -(22949) found -[15527] Forked 22950 -[15526] Forked 22951 -(22950) found -(22951) found -[15525] Forked 22952 -[15524] Forked 22953 -(22952) found -(22953) found -[15523] Forked 22954 -[15522] Forked 22955 -(22954) found -(22955) found -[15521] Forked 22956 -[15520] Forked 22957 -(22956) found -(22957) found -[15519] Forked 22958 -[15518] Forked 22959 -(22958) found -(22959) found -[15517] Forked 22960 -[15516] Forked 22961 -(22960) found -(22961) found -[15515] Forked 22962 -[15514] Forked 22963 -(22962) found -(22963) found -[15513] Forked 22964 -[15512] Forked 22965 -(22964) found -(22965) found -[15511] Forked 22966 -[15510] Forked 22967 -(22966) found -(22967) found -[15509] Forked 22968 -(22968) found -[15508] Forked 22969 -(22969) found -[15507] Forked 22970 -(22970) found -[15506] Forked 22971 -(22971) found -[15505] Forked 22972 -(22972) found -[15504] Forked 22973 -(22973) found -[15503] Forked 22974 -(22974) found -[15502] Forked 22975 -(22975) found -[15501] Forked 22976 -(22976) found -[15500] Forked 22977 -(22977) found -[15499] Forked 22978 -(22978) found -[15498] Forked 22979 -(22979) found -[15497] Forked 22980 -(22980) found -[15496] Forked 22981 -(22981) found -[15495] Forked 22982 -(22982) found -[15494] Forked 22983 -(22983) found -[15493] Forked 22984 -(22984) found -[15492] Forked 22985 -(22985) found -[15491] Forked 22986 -(22986) found -[15490] Forked 22987 -(22987) found -[15489] Forked 22988 -(22988) found -[15488] Forked 22989 -(22989) found -[15487] Forked 22990 -(22990) found -[15486] Forked 22991 -(22991) found -[15485] Forked 22992 -(22992) found -[15484] Forked 22993 -(22993) found -[15483] Forked 22994 -(22994) found -[15482] Forked 22995 -(22995) found -[15481] Forked 22996 -(22996) found -[15480] Forked 22997 -(22997) found -[15479] Forked 22998 -(22998) found -[15478] Forked 22999 -(22999) found -[15477] Forked 23000 -(23000) found -[15476] Forked 23001 -(23001) found -[15475] Forked 23002 -(23002) found -[15474] Forked 23003 -(23003) found -[15473] Forked 23004 -[15472] Forked 23005 -(23004) found -(23005) found -[15471] Forked 23006 -[15470] Forked 23007 -(23006) found -(23007) found -[15469] Forked 23008 -[15468] Forked 23009 -(23008) found -(23009) found -[15467] Forked 23010 -[15466] Forked 23011 -(23010) found -(23011) found -[15465] Forked 23012 -[15464] Forked 23013 -(23012) found -(23013) found -[15463] Forked 23014 -[15462] Forked 23015 -(23014) found -(23015) found -[15461] Forked 23016 -[15460] Forked 23017 -(23016) found -(23017) found -[15459] Forked 23018 -[15458] Forked 23019 -(23018) found -(23019) found -[15457] Forked 23020 -[15456] Forked 23021 -(23020) found -(23021) found -[15455] Forked 23022 -[15454] Forked 23023 -(23022) found -(23023) found -[15453] Forked 23024 -[15452] Forked 23025 -(23024) found -(23025) found -[15451] Forked 23026 -[15450] Forked 23027 -(23026) found -(23027) found -[15449] Forked 23028 -[15448] Forked 23029 -(23028) found -(23029) found -[15447] Forked 23030 -[15446] Forked 23031 -(23030) found -(23031) found -[15445] Forked 23032 -[15444] Forked 23033 -(23032) found -(23033) found -[15443] Forked 23034 -[15442] Forked 23035 -(23034) found -(23035) found -[15441] Forked 23036 -[15440] Forked 23037 -(23036) found -(23037) found -[15439] Forked 23038 -[15438] Forked 23039 -(23039) found -(23038) found -[15437] Forked 23040 -(23040) found -[15436] Forked 23041 -(23041) found -[15435] Forked 23042 -(23042) found -[15434] Forked 23043 -(23043) found -[15433] Forked 23044 -(23044) found -[15432] Forked 23045 -(23045) found -[15431] Forked 23046 -(23046) found -[15430] Forked 23047 -(23047) found -[15429] Forked 23048 -(23048) found -[15428] Forked 23049 -(23049) found -[15427] Forked 23050 -(23050) found -[15426] Forked 23051 -(23051) found -[15425] Forked 23052 -(23052) found -[15424] Forked 23053 -(23053) found -[15423] Forked 23054 -(23054) found -[15422] Forked 23055 -(23055) found -[15421] Forked 23056 -(23056) found -[15420] Forked 23057 -(23057) found -[15419] Forked 23058 -(23058) found -[15418] Forked 23059 -(23059) found -[15417] Forked 23060 -(23060) found -[15416] Forked 23061 -(23061) found -[15415] Forked 23062 -(23062) found -[15414] Forked 23063 -(23063) found -[15413] Forked 23064 -(23064) found -[15412] Forked 23065 -(23065) found -[15411] Forked 23066 -(23066) found -[15410] Forked 23067 -(23067) found -[15409] Forked 23068 -(23068) found -[15408] Forked 23069 -(23069) found -[15407] Forked 23070 -(23070) found -[15406] Forked 23071 -(23071) found -[15405] Forked 23072 -(23072) found -[15404] Forked 23073 -(23073) found -[15403] Forked 23074 -(23074) found -[15402] Forked 23075 -(23075) found -[15401] Forked 23076 -(23076) found -[15400] Forked 23077 -(23077) found -[15399] Forked 23078 -(23078) found -[15398] Forked 23079 -(23079) found -[15397] Forked 23080 -(23080) found -[15396] Forked 23081 -(23081) found -[15395] Forked 23082 -(23082) found -[15394] Forked 23083 -[15393] Forked 23084 -(23083) found -(23084) found -[15392] Forked 23085 -[15391] Forked 23086 -(23085) found -(23086) found -[15390] Forked 23087 -[15389] Forked 23088 -(23087) found -(23088) found -[15388] Forked 23089 -[15387] Forked 23090 -(23089) found -(23090) found -[15386] Forked 23091 -[15385] Forked 23092 -(23091) found -(23092) found -[15384] Forked 23093 -[15383] Forked 23094 -(23093) found -(23094) found -[15382] Forked 23095 -[15381] Forked 23096 -(23095) found -(23096) found -[15380] Forked 23097 -[15379] Forked 23098 -(23097) found -(23098) found -[15378] Forked 23099 -[15377] Forked 23100 -(23099) found -(23100) found -[15376] Forked 23101 -[15375] Forked 23102 -(23101) found -(23102) found -[15374] Forked 23103 -[15373] Forked 23104 -(23103) found -(23104) found -[15372] Forked 23105 -[15371] Forked 23106 -(23105) found -(23106) found -[15370] Forked 23107 -[15369] Forked 23108 -(23107) found -(23108) found -[15368] Forked 23109 -[15367] Forked 23110 -(23109) found -(23110) found -[15366] Forked 23111 -[15365] Forked 23112 -(23111) found -(23112) found -[15364] Forked 23113 -[15363] Forked 23114 -(23113) found -(23114) found -[15362] Forked 23115 -[15361] Forked 23116 -(23115) found -(23116) found -[15360] Forked 23117 -[15359] Forked 23118 -(23117) found -(23118) found -[15358] Forked 23119 -[15357] Forked 23120 -(23119) found -(23120) found -[15356] Forked 23121 -[15355] Forked 23122 -(23121) found -(23122) found -[15354] Forked 23123 -[15353] Forked 23124 -(23123) found -(23124) found -[15352] Forked 23125 -[15351] Forked 23126 -(23125) found -(23126) found -[15350] Forked 23127 -[15349] Forked 23128 -(23127) found -(23128) found -[15348] Forked 23129 -(23129) found -[15347] Forked 23130 -(23130) found -[15346] Forked 23131 -(23131) found -[15345] Forked 23132 -[15344] Forked 23133 -(23132) found -(23133) found -[15343] Forked 23134 -[15342] Forked 23135 -(23134) found -(23135) found -[15341] Forked 23136 -[15340] Forked 23137 -(23136) found -(23137) found -[15339] Forked 23138 -[15338] Forked 23139 -(23138) found -(23139) found -[15337] Forked 23140 -[15336] Forked 23141 -(23140) found -(23141) found -[15335] Forked 23142 -[15334] Forked 23143 -(23142) found -(23143) found -[15333] Forked 23144 -[15332] Forked 23145 -(23144) found -(23145) found -[15331] Forked 23146 -[15330] Forked 23147 -(23146) found -(23147) found -[15329] Forked 23148 -[15328] Forked 23149 -(23148) found -(23149) found -[15327] Forked 23150 -[15326] Forked 23151 -(23150) found -(23151) found -[15325] Forked 23152 -[15324] Forked 23153 -(23152) found -(23153) found -[15323] Forked 23154 -[15322] Forked 23155 -(23154) found -(23155) found -[15321] Forked 23156 -[15320] Forked 23158 -(23156) found -(23158) found -[15319] Forked 23159 -(23159) found -[15318] Forked 23160 -(23160) found -[15317] Forked 23161 -(23161) found -[15316] Forked 23162 -(23162) found -[15315] Forked 23163 -(23163) found -[15314] Forked 23164 -(23164) found -[15313] Forked 23165 -(23165) found -[15312] Forked 23166 -(23166) found -[15311] Forked 23167 -(23167) found -[15310] Forked 23168 -(23168) found -[15309] Forked 23169 -(23169) found -[15308] Forked 23170 -(23170) found -[15307] Forked 23171 -(23171) found -[15306] Forked 23172 -(23172) found -[15305] Forked 23173 -(23173) found -[15304] Forked 23174 -(23174) found -[15303] Forked 23175 -(23175) found -[15302] Forked 23176 -(23176) found -[15301] Forked 23177 -(23177) found -[15300] Forked 23178 -(23178) found -[15299] Forked 23179 -(23179) found -[15298] Forked 23180 -(23180) found -[15297] Forked 23181 -(23181) found -[15296] Forked 23182 -(23182) found -[15295] Forked 23183 -(23183) found -[15294] Forked 23184 -(23184) found -[15293] Forked 23185 -(23185) found -[15292] Forked 23186 -(23186) found -[15291] Forked 23187 -(23187) found -[15290] Forked 23188 -(23188) found -[15289] Forked 23189 -(23189) found -[15288] Forked 23190 -(23190) found -[15287] Forked 23191 -(23191) found -[15286] Forked 23192 -(23192) found -[15285] Forked 23193 -(23193) found -[15284] Forked 23194 -(23194) found -[15283] Forked 23195 -(23195) found -[15282] Forked 23196 -(23196) found -[15281] Forked 23197 -(23197) found -[15280] Forked 23198 -(23198) found -[15279] Forked 23199 -(23199) found -[15278] Forked 23200 -(23200) found -[15277] Forked 23201 -(23201) found -[15276] Forked 23202 -(23202) found -[15275] Forked 23203 -(23203) found -[15274] Forked 23204 -(23204) found -[15273] Forked 23205 -(23205) found -[15272] Forked 23206 -(23206) found -[15271] Forked 23207 -(23207) found -[15270] Forked 23208 -(23208) found -[15269] Forked 23209 -(23209) found -[15268] Forked 23210 -(23210) found -[15267] Forked 23211 -[15266] Forked 23212 -(23211) found -(23212) found -[15265] Forked 23213 -[15264] Forked 23214 -(23213) found -(23214) found -[15263] Forked 23215 -[15262] Forked 23216 -(23215) found -(23216) found -[15261] Forked 23217 -[15260] Forked 23218 -(23217) found -(23218) found -[15259] Forked 23219 -[15258] Forked 23220 -(23219) found -(23220) found -[15257] Forked 23221 -[15256] Forked 23222 -(23221) found -(23222) found -[15255] Forked 23223 -[15254] Forked 23224 -(23223) found -(23224) found -[15253] Forked 23225 -[15252] Forked 23226 -(23225) found -(23226) found -[15251] Forked 23227 -[15250] Forked 23228 -(23227) found -(23228) found -[15249] Forked 23229 -[15248] Forked 23230 -(23229) found -(23230) found -[15247] Forked 23231 -[15246] Forked 23232 -(23231) found -(23232) found -[15245] Forked 23233 -[15244] Forked 23234 -(23233) found -(23234) found -[15243] Forked 23235 -[15242] Forked 23236 -(23235) found -(23236) found -[15241] Forked 23237 -[15240] Forked 23238 -(23237) found -(23238) found -[15239] Forked 23239 -[15238] Forked 23240 -(23239) found -(23240) found -[15237] Forked 23241 -[15236] Forked 23242 -(23241) found -(23242) found -[15235] Forked 23243 -[15234] Forked 23244 -(23243) found -(23244) found -[15233] Forked 23245 -[15232] Forked 23246 -(23245) found -(23246) found -[15231] Forked 23247 -[15230] Forked 23248 -(23247) found -(23248) found -[15229] Forked 23249 -[15228] Forked 23250 -(23249) found -(23250) found -[15227] Forked 23251 -[15226] Forked 23252 -(23251) found -(23252) found -[15225] Forked 23253 -[15224] Forked 23254 -(23253) found -(23254) found -[15223] Forked 23255 -[15222] Forked 23256 -(23255) found -(23256) found -[15221] Forked 23257 -[15220] Forked 23258 -(23258) found -(23257) found -[15219] Forked 23259 -(23259) found -[15218] Forked 23260 -(23260) found -[15217] Forked 23261 -(23261) found -[15216] Forked 23262 -(23262) found -[15215] Forked 23263 -(23263) found -[15214] Forked 23264 -(23264) found -[15213] Forked 23265 -(23265) found -[15212] Forked 23266 -(23266) found -[15211] Forked 23267 -(23267) found -[15210] Forked 23268 -(23268) found -[15209] Forked 23269 -(23269) found -[15208] Forked 23270 -(23270) found -[15207] Forked 23271 -(23271) found -[15206] Forked 23272 -(23272) found -[15205] Forked 23273 -(23273) found -[15204] Forked 23274 -(23274) found -[15203] Forked 23275 -(23275) found -[15202] Forked 23276 -(23276) found -[15201] Forked 23277 -(23277) found -[15200] Forked 23278 -(23278) found -[15199] Forked 23279 -(23279) found -[15198] Forked 23280 -(23280) found -[15197] Forked 23281 -(23281) found -[15196] Forked 23282 -(23282) found -[15195] Forked 23283 -(23283) found -[15194] Forked 23284 -(23284) found -[15193] Forked 23285 -(23285) found -[15192] Forked 23286 -(23286) found -[15191] Forked 23287 -(23287) found -[15190] Forked 23288 -(23288) found -[15189] Forked 23289 -(23289) found -[15188] Forked 23290 -(23290) found -[15187] Forked 23291 -(23291) found -[15186] Forked 23292 -(23292) found -[15185] Forked 23293 -(23293) found -[15184] Forked 23294 -(23294) found -[15183] Forked 23295 -(23295) found -[15182] Forked 23296 -(23296) found -[15181] Forked 23297 -(23297) found -[15180] Forked 23298 -(23298) found -[15179] Forked 23299 -(23299) found -[15178] Forked 23300 -(23300) found -[15177] Forked 23301 -(23301) found -[15176] Forked 23302 -(23302) found -[15175] Forked 23303 -(23303) found -[15174] Forked 23304 -(23304) found -[15173] Forked 23305 -(23305) found -[15172] Forked 23306 -(23306) found -[15171] Forked 23307 -(23307) found -[15170] Forked 23308 -(23308) found -[15169] Forked 23309 -(23309) found -[15168] Forked 23310 -(23310) found -[15167] Forked 23311 -(23311) found -[15166] Forked 23312 -(23312) found -[15165] Forked 23313 -(23313) found -[15164] Forked 23314 -(23314) found -[15163] Forked 23315 -(23315) found -[15162] Forked 23316 -(23316) found -[15161] Forked 23317 -(23317) found -[15160] Forked 23318 -(23318) found -[15159] Forked 23319 -(23319) found -[15158] Forked 23320 -(23320) found -[15157] Forked 23321 -(23321) found -[15156] Forked 23322 -(23322) found -[15155] Forked 23323 -(23323) found -[15154] Forked 23324 -(23324) found -[15153] Forked 23325 -(23325) found -[15152] Forked 23326 -(23326) found -[15151] Forked 23327 -(23327) found -[15150] Forked 23328 -(23328) found -[15149] Forked 23329 -(23329) found -[15148] Forked 23330 -[15147] Forked 23331 -(23330) found -(23331) found -[15146] Forked 23332 -[15145] Forked 23333 -(23332) found -(23333) found -[15144] Forked 23334 -[15143] Forked 23335 -(23334) found -(23335) found -[15142] Forked 23336 -[15141] Forked 23337 -(23336) found -(23337) found -[15140] Forked 23338 -[15139] Forked 23339 -(23338) found -(23339) found -[15138] Forked 23340 -[15137] Forked 23341 -(23340) found -(23341) found -[15136] Forked 23342 -[15135] Forked 23343 -(23342) found -(23343) found -[15134] Forked 23344 -[15133] Forked 23345 -(23344) found -(23345) found -[15132] Forked 23346 -[15131] Forked 23347 -(23346) found -(23347) found -[15130] Forked 23348 -[15129] Forked 23349 -(23348) found -(23349) found -[15128] Forked 23350 -[15127] Forked 23351 -(23350) found -(23351) found -[15126] Forked 23352 -[15125] Forked 23353 -(23352) found -(23353) found -[15124] Forked 23354 -[15123] Forked 23355 -(23354) found -(23355) found -[15122] Forked 23356 -[15121] Forked 23357 -(23356) found -(23357) found -[15120] Forked 23358 -[15119] Forked 23359 -(23358) found -(23359) found -[15118] Forked 23360 -[15117] Forked 23361 -(23360) found -(23361) found -[15116] Forked 23362 -[15115] Forked 23363 -(23362) found -(23363) found -[15114] Forked 23364 -[15113] Forked 23365 -(23364) found -(23365) found -[15112] Forked 23366 -[15111] Forked 23367 -(23366) found -(23367) found -[15110] Forked 23368 -[15109] Forked 23369 -(23368) found -(23369) found -[15108] Forked 23370 -[15107] Forked 23371 -(23370) found -(23371) found -[15106] Forked 23372 -[15105] Forked 23373 -(23372) found -(23373) found -[15104] Forked 23374 -[15103] Forked 23375 -(23374) found -(23375) found -[15102] Forked 23376 -(23376) found -[15101] Forked 23377 -(23377) found -[15100] Forked 23378 -(23378) found -[15099] Forked 23379 -(23379) found -[15098] Forked 23380 -(23380) found -[15097] Forked 23381 -(23381) found -[15096] Forked 23382 -(23382) found -[15095] Forked 23383 -(23383) found -[15094] Forked 23384 -(23384) found -[15093] Forked 23385 -(23385) found -[15092] Forked 23386 -(23386) found -[15091] Forked 23387 -(23387) found -[15090] Forked 23388 -(23388) found -[15089] Forked 23389 -(23389) found -[15088] Forked 23390 -(23390) found -[15087] Forked 23391 -(23391) found -[15086] Forked 23392 -(23392) found -[15085] Forked 23393 -(23393) found -[15084] Forked 23394 -(23394) found -[15083] Forked 23395 -(23395) found -[15082] Forked 23396 -(23396) found -[15081] Forked 23397 -(23397) found -[15080] Forked 23398 -(23398) found -[15079] Forked 23399 -(23399) found -[15078] Forked 23400 -(23400) found -[15077] Forked 23401 -(23401) found -[15076] Forked 23402 -(23402) found -[15075] Forked 23403 -(23403) found -[15074] Forked 23404 -(23404) found -[15073] Forked 23405 -(23405) found -[15072] Forked 23406 -(23406) found -[15071] Forked 23407 -(23407) found -[15070] Forked 23408 -(23408) found -[15069] Forked 23409 -(23409) found -[15068] Forked 23410 -(23410) found -[15067] Forked 23411 -(23411) found -[15066] Forked 23412 -(23412) found -[15065] Forked 23413 -[15064] Forked 23414 -(23413) found -(23414) found -[15063] Forked 23415 -[15062] Forked 23416 -(23415) found -(23416) found -[15061] Forked 23417 -[15060] Forked 23418 -(23417) found -(23418) found -[15059] Forked 23419 -[15058] Forked 23420 -(23419) found -(23420) found -[15057] Forked 23421 -[15056] Forked 23422 -(23421) found -(23422) found -[15055] Forked 23423 -[15054] Forked 23424 -(23423) found -(23424) found -[15053] Forked 23425 -[15052] Forked 23426 -(23425) found -(23426) found -[15051] Forked 23427 -[15050] Forked 23428 -(23427) found -(23428) found -[15049] Forked 23429 -[15048] Forked 23430 -(23429) found -(23430) found -[15047] Forked 23431 -[15046] Forked 23432 -(23431) found -(23432) found -[15045] Forked 23433 -[15044] Forked 23434 -(23433) found -(23434) found -[15043] Forked 23435 -[15042] Forked 23436 -(23435) found -(23436) found -[15041] Forked 23437 -[15040] Forked 23438 -(23437) found -(23438) found -[15039] Forked 23439 -[15038] Forked 23440 -(23439) found -(23440) found -[15037] Forked 23441 -[15036] Forked 23442 -(23441) found -(23442) found -[15035] Forked 23443 -[15034] Forked 23444 -(23443) found -(23444) found -[15033] Forked 23445 -[15032] Forked 23446 -(23445) found -(23446) found -[15031] Forked 23447 -[15030] Forked 23448 -(23447) found -(23448) found -[15029] Forked 23449 -[15028] Forked 23450 -(23449) found -(23450) found -[15027] Forked 23451 -[15026] Forked 23452 -(23451) found -(23452) found -[15025] Forked 23453 -[15024] Forked 23454 -(23453) found -(23454) found -[15023] Forked 23455 -[15022] Forked 23456 -(23455) found -(23456) found -[15021] Forked 23457 -[15020] Forked 23458 -(23457) found -(23458) found -[15019] Forked 23459 -[15018] Forked 23460 -(23459) found -(23460) found -[15017] Forked 23461 -[15016] Forked 23462 -(23461) found -(23462) found -[15015] Forked 23463 -[15014] Forked 23464 -(23463) found -(23464) found -[15013] Forked 23465 -[15012] Forked 23466 -(23465) found -(23466) found -[15011] Forked 23467 -[15010] Forked 23468 -(23467) found -(23468) found -[15009] Forked 23469 -[15008] Forked 23470 -(23469) found -(23470) found -[15007] Forked 23471 -[15006] Forked 23472 -(23471) found -(23472) found -[15005] Forked 23473 -[15004] Forked 23474 -(23473) found -(23474) found -[15003] Forked 23475 -[15002] Forked 23476 -(23475) found -(23476) found -[15001] Forked 23477 -[15000] Forked 23478 -(23477) found -(23478) found -[14999] Forked 23479 -[14998] Forked 23480 -(23479) found -(23480) found -[14997] Forked 23481 -[14996] Forked 23482 -(23481) found -(23482) found -[14995] Forked 23483 -[14994] Forked 23484 -(23483) found -(23484) found -[14993] Forked 23485 -[14992] Forked 23486 -(23485) found -(23486) found -[14991] Forked 23487 -[14990] Forked 23488 -(23487) found -(23488) found -[14989] Forked 23489 -[14988] Forked 23490 -(23489) found -(23490) found -[14987] Forked 23491 -[14986] Forked 23492 -(23491) found -(23492) found -[14985] Forked 23493 -[14984] Forked 23494 -(23493) found -(23494) found -[14983] Forked 23495 -[14982] Forked 23496 -(23495) found -(23496) found -[14981] Forked 23497 -[14980] Forked 23498 -(23497) found -(23498) found -[14979] Forked 23499 -[14978] Forked 23500 -(23499) found -(23500) found -[14977] Forked 23501 -[14976] Forked 23502 -(23501) found -(23502) found -[14975] Forked 23503 -[14974] Forked 23504 -(23503) found -(23504) found -[14973] Forked 23505 -[14972] Forked 23506 -(23505) found -(23506) found -[14971] Forked 23507 -[14970] Forked 23508 -(23507) found -(23508) found -[14969] Forked 23509 -[14968] Forked 23510 -(23509) found -(23510) found -[14967] Forked 23511 -[14966] Forked 23512 -(23511) found -(23512) found -[14965] Forked 23513 -[14964] Forked 23514 -(23513) found -(23514) found -[14963] Forked 23515 -[14962] Forked 23516 -(23515) found -(23516) found -[14961] Forked 23517 -[14960] Forked 23518 -(23517) found -(23518) found -[14959] Forked 23519 -[14958] Forked 23520 -(23519) found -(23520) found -[14957] Forked 23521 -[14956] Forked 23522 -(23521) found -(23522) found -[14955] Forked 23523 -[14954] Forked 23524 -(23523) found -(23524) found -[14953] Forked 23525 -[14952] Forked 23526 -(23525) found -(23526) found -[14951] Forked 23527 -[14950] Forked 23528 -(23527) found -(23528) found -[14949] Forked 23529 -[14948] Forked 23530 -(23529) found -(23530) found -[14947] Forked 23531 -[14946] Forked 23532 -(23531) found -(23532) found -[14945] Forked 23533 -[14944] Forked 23534 -(23533) found -(23534) found -[14943] Forked 23535 -[14942] Forked 23536 -(23535) found -(23536) found -[14941] Forked 23537 -[14940] Forked 23538 -(23537) found -(23538) found -[14939] Forked 23539 -[14938] Forked 23540 -(23539) found -(23540) found -[14937] Forked 23541 -[14936] Forked 23542 -(23541) found -(23542) found -[14935] Forked 23543 -[14934] Forked 23544 -(23543) found -(23544) found -[14933] Forked 23545 -[14932] Forked 23546 -(23545) found -(23546) found -[14931] Forked 23547 -[14930] Forked 23548 -(23547) found -(23548) found -[14929] Forked 23549 -[14928] Forked 23550 -(23549) found -(23550) found -[14927] Forked 23551 -[14926] Forked 23552 -(23551) found -(23552) found -[14925] Forked 23553 -[14924] Forked 23554 -(23553) found -(23554) found -[14923] Forked 23555 -[14922] Forked 23556 -(23555) found -(23556) found -[14921] Forked 23557 -[14920] Forked 23558 -(23557) found -(23558) found -[14919] Forked 23559 -[14918] Forked 23560 -(23559) found -(23560) found -[14917] Forked 23561 -[14916] Forked 23562 -(23561) found -(23562) found -[14915] Forked 23563 -[14914] Forked 23564 -(23563) found -(23564) found -[14913] Forked 23565 -[14912] Forked 23566 -(23565) found -(23566) found -[14911] Forked 23567 -[14910] Forked 23568 -(23567) found -(23568) found -[14909] Forked 23569 -[14908] Forked 23570 -(23569) found -(23570) found -[14907] Forked 23571 -[14906] Forked 23572 -(23571) found -(23572) found -[14905] Forked 23573 -[14904] Forked 23574 -(23573) found -(23574) found -[14903] Forked 23575 -[14902] Forked 23577 -(23575) found -(23577) found -[14901] Forked 23578 -(23578) found -[14900] Forked 23579 -(23579) found -[14899] Forked 23580 -(23580) found -[14898] Forked 23581 -(23581) found -[14897] Forked 23582 -(23582) found -[14896] Forked 23583 -(23583) found -[14895] Forked 23584 -(23584) found -[14894] Forked 23585 -(23585) found -[14893] Forked 23586 -(23586) found -[14892] Forked 23587 -(23587) found -[14891] Forked 23588 -(23588) found -[14890] Forked 23589 -(23589) found -[14889] Forked 23590 -(23590) found -[14888] Forked 23591 -(23591) found -[14887] Forked 23592 -(23592) found -[14886] Forked 23593 -(23593) found -[14885] Forked 23594 -(23594) found -[14884] Forked 23595 -(23595) found -[14883] Forked 23596 -(23596) found -[14882] Forked 23597 -(23597) found -[14881] Forked 23598 -(23598) found -[14880] Forked 23599 -(23599) found -[14879] Forked 23600 -(23600) found -[14878] Forked 23601 -(23601) found -[14877] Forked 23602 -(23602) found -[14876] Forked 23603 -(23603) found -[14875] Forked 23604 -(23604) found -[14874] Forked 23605 -(23605) found -[14873] Forked 23606 -(23606) found -[14872] Forked 23607 -(23607) found -[14871] Forked 23608 -(23608) found -[14870] Forked 23609 -(23609) found -[14869] Forked 23610 -(23610) found -[14868] Forked 23611 -(23611) found -[14867] Forked 23612 -(23612) found -[14866] Forked 23613 -(23613) found -[14865] Forked 23614 -(23614) found -[14864] Forked 23615 -(23615) found -[14863] Forked 23616 -(23616) found -[14862] Forked 23617 -(23617) found -[14861] Forked 23618 -(23618) found -[14860] Forked 23619 -(23619) found -[14859] Forked 23620 -(23620) found -[14858] Forked 23621 -(23621) found -[14857] Forked 23622 -(23622) found -[14856] Forked 23623 -(23623) found -[14855] Forked 23624 -(23624) found -[14854] Forked 23625 -(23625) found -[14853] Forked 23626 -(23626) found -[14852] Forked 23627 -[14851] Forked 23628 -(23627) found -(23628) found -[14850] Forked 23629 -[14849] Forked 23630 -(23629) found -(23630) found -[14848] Forked 23631 -[14847] Forked 23632 -(23631) found -(23632) found -[14846] Forked 23633 -[14845] Forked 23634 -(23633) found -(23634) found -[14844] Forked 23635 -[14843] Forked 23636 -(23635) found -(23636) found -[14842] Forked 23637 -[14841] Forked 23638 -(23637) found -(23638) found -[14840] Forked 23639 -[14839] Forked 23640 -(23639) found -(23640) found -[14838] Forked 23641 -[14837] Forked 23642 -(23641) found -(23642) found -[14836] Forked 23643 -[14835] Forked 23644 -(23643) found -(23644) found -[14834] Forked 23645 -[14833] Forked 23646 -(23645) found -(23646) found -[14832] Forked 23647 -[14831] Forked 23648 -(23647) found -(23648) found -[14830] Forked 23649 -[14829] Forked 23650 -(23649) found -(23650) found -[14828] Forked 23651 -[14827] Forked 23652 -(23651) found -(23652) found -[14826] Forked 23653 -[14825] Forked 23654 -(23653) found -(23654) found -[14824] Forked 23655 -[14823] Forked 23656 -(23655) found -(23656) found -[14822] Forked 23657 -[14821] Forked 23658 -(23657) found -(23658) found -[14820] Forked 23659 -[14819] Forked 23660 -(23659) found -(23660) found -[14818] Forked 23661 -[14817] Forked 23662 -(23661) found -(23662) found -[14816] Forked 23663 -[14815] Forked 23664 -(23663) found -(23664) found -[14814] Forked 23665 -[14813] Forked 23666 -(23665) found -(23666) found -[14812] Forked 23667 -[14811] Forked 23668 -(23667) found -(23668) found -[14810] Forked 23669 -[14809] Forked 23670 -(23669) found -(23670) found -[14808] Forked 23671 -[14807] Forked 23672 -(23671) found -(23672) found -[14806] Forked 23673 -[14805] Forked 23674 -(23673) found -(23674) found -[14804] Forked 23675 -[14803] Forked 23676 -(23675) found -(23676) found -[14802] Forked 23677 -[14801] Forked 23678 -(23677) found -(23678) found -[14800] Forked 23679 -[14799] Forked 23680 -(23679) found -(23680) found -[14798] Forked 23681 -[14797] Forked 23682 -(23681) found -(23682) found -[14796] Forked 23683 -[14795] Forked 23684 -(23683) found -(23684) found -[14794] Forked 23685 -[14793] Forked 23686 -(23685) found -(23686) found -[14792] Forked 23687 -[14791] Forked 23688 -(23687) found -(23688) found -[14790] Forked 23689 -[14789] Forked 23690 -(23689) found -(23690) found -[14788] Forked 23691 -[14787] Forked 23692 -(23691) found -(23692) found -[14786] Forked 23693 -[14785] Forked 23694 -(23693) found -(23694) found -[14784] Forked 23695 -[14783] Forked 23696 -(23695) found -(23696) found -[14782] Forked 23697 -[14781] Forked 23698 -(23697) found -(23698) found -[14780] Forked 23699 -[14779] Forked 23700 -(23699) found -(23700) found -[14778] Forked 23701 -[14777] Forked 23702 -(23701) found -(23702) found -[14776] Forked 23703 -[14775] Forked 23704 -(23703) found -(23704) found -[14774] Forked 23705 -[14773] Forked 23706 -(23705) found -(23706) found -[14772] Forked 23707 -[14771] Forked 23708 -(23707) found -(23708) found -[14770] Forked 23709 -[14769] Forked 23710 -(23709) found -(23710) found -[14768] Forked 23711 -[14767] Forked 23712 -(23711) found -(23712) found -[14766] Forked 23713 -[14765] Forked 23714 -(23713) found -(23714) found -[14764] Forked 23715 -[14763] Forked 23716 -(23715) found -(23716) found -[14762] Forked 23717 -[14761] Forked 23718 -(23717) found -(23718) found -[14760] Forked 23719 -(23719) found -[14759] Forked 23720 -(23720) found -[14758] Forked 23721 -(23721) found -[14757] Forked 23722 -(23722) found -[14756] Forked 23723 -(23723) found -[14755] Forked 23724 -(23724) found -[14754] Forked 23725 -(23725) found -[14753] Forked 23726 -(23726) found -[14752] Forked 23727 -(23727) found -[14751] Forked 23728 -(23728) found -[14750] Forked 23729 -(23729) found -[14749] Forked 23730 -(23730) found -[14748] Forked 23731 -(23731) found -[14747] Forked 23732 -(23732) found -[14746] Forked 23733 -(23733) found -[14745] Forked 23734 -(23734) found -[14744] Forked 23735 -(23735) found -[14743] Forked 23736 -(23736) found -[14742] Forked 23737 -(23737) found -[14741] Forked 23738 -(23738) found -[14740] Forked 23739 -(23739) found -[14739] Forked 23740 -(23740) found -[14738] Forked 23741 -(23741) found -[14737] Forked 23742 -(23742) found -[14736] Forked 23743 -(23743) found -[14735] Forked 23744 -(23744) found -[14734] Forked 23745 -(23745) found -[14733] Forked 23746 -(23746) found -[14732] Forked 23747 -(23747) found -[14731] Forked 23748 -(23748) found -[14730] Forked 23749 -(23749) found -[14729] Forked 23750 -(23750) found -[14728] Forked 23751 -(23751) found -[14727] Forked 23752 -[14726] Forked 23753 -(23752) found -(23753) found -[14725] Forked 23754 -[14724] Forked 23755 -(23754) found -(23755) found -[14723] Forked 23756 -[14722] Forked 23757 -(23756) found -(23757) found -[14721] Forked 23758 -[14720] Forked 23759 -(23758) found -(23759) found -[14719] Forked 23760 -[14718] Forked 23761 -(23760) found -(23761) found -[14717] Forked 23762 -[14716] Forked 23763 -(23762) found -(23763) found -[14715] Forked 23764 -[14714] Forked 23765 -(23764) found -(23765) found -[14713] Forked 23766 -[14712] Forked 23767 -(23766) found -(23767) found -[14711] Forked 23768 -[14710] Forked 23769 -(23768) found -(23769) found -[14709] Forked 23770 -[14708] Forked 23771 -(23770) found -(23771) found -[14707] Forked 23772 -[14706] Forked 23773 -(23772) found -(23773) found -[14705] Forked 23774 -[14704] Forked 23775 -(23774) found -(23775) found -[14703] Forked 23776 -[14702] Forked 23777 -(23776) found -(23777) found -[14701] Forked 23778 -[14700] Forked 23779 -(23778) found -(23779) found -[14699] Forked 23780 -[14698] Forked 23781 -(23780) found -(23781) found -[14697] Forked 23782 -[14696] Forked 23783 -(23782) found -(23783) found -[14695] Forked 23784 -[14694] Forked 23785 -(23784) found -(23785) found -[14693] Forked 23786 -[14692] Forked 23787 -(23786) found -(23787) found -[14691] Forked 23788 -[14690] Forked 23789 -(23788) found -(23789) found -[14689] Forked 23790 -[14688] Forked 23791 -(23790) found -(23791) found -[14687] Forked 23792 -[14686] Forked 23793 -(23792) found -(23793) found -[14685] Forked 23794 -[14684] Forked 23795 -(23794) found -(23795) found -[14683] Forked 23796 -[14682] Forked 23797 -(23796) found -(23797) found -[14681] Forked 23798 -[14680] Forked 23799 -(23798) found -(23799) found -[14679] Forked 23800 -[14678] Forked 23801 -(23800) found -(23801) found -[14677] Forked 23802 -[14676] Forked 23803 -(23802) found -(23803) found -[14675] Forked 23804 -[14674] Forked 23805 -(23804) found -(23805) found -[14673] Forked 23806 -[14672] Forked 23807 -(23806) found -(23807) found -[14671] Forked 23808 -[14670] Forked 23809 -(23808) found -(23809) found -[14669] Forked 23810 -[14668] Forked 23811 -(23810) found -(23811) found -[14667] Forked 23812 -[14666] Forked 23813 -(23812) found -(23813) found -[14665] Forked 23814 -[14664] Forked 23815 -(23814) found -(23815) found -[14663] Forked 23816 -[14662] Forked 23817 -(23816) found -(23817) found -[14661] Forked 23818 -[14660] Forked 23819 -(23818) found -(23819) found -[14659] Forked 23820 -[14658] Forked 23821 -(23820) found -(23821) found -[14657] Forked 23822 -[14656] Forked 23823 -(23822) found -(23823) found -[14655] Forked 23824 -[14654] Forked 23825 -(23824) found -(23825) found -[14653] Forked 23826 -[14652] Forked 23827 -(23826) found -(23827) found -[14651] Forked 23828 -[14650] Forked 23829 -(23828) found -(23829) found -[14649] Forked 23830 -[14648] Forked 23831 -(23830) found -(23831) found -[14647] Forked 23832 -[14646] Forked 23833 -(23832) found -(23833) found -[14645] Forked 23834 -[14644] Forked 23835 -(23834) found -(23835) found -[14643] Forked 23836 -[14642] Forked 23837 -(23836) found -(23837) found -[14641] Forked 23838 -[14640] Forked 23839 -(23838) found -(23839) found -[14639] Forked 23840 -[14638] Forked 23841 -(23840) found -(23841) found -[14637] Forked 23842 -[14636] Forked 23843 -(23842) found -(23843) found -[14635] Forked 23844 -(23844) found -[14634] Forked 23845 -(23845) found -[14633] Forked 23846 -(23846) found -[14632] Forked 23847 -(23847) found -[14631] Forked 23848 -(23848) found -[14630] Forked 23849 -(23849) found -[14629] Forked 23850 -(23850) found -[14628] Forked 23851 -(23851) found -[14627] Forked 23852 -(23852) found -[14626] Forked 23853 -(23853) found -[14625] Forked 23854 -(23854) found -[14624] Forked 23855 -(23855) found -[14623] Forked 23856 -(23856) found -[14622] Forked 23857 -(23857) found -[14621] Forked 23858 -(23858) found -[14620] Forked 23859 -(23859) found -[14619] Forked 23860 -(23860) found -[14618] Forked 23861 -(23861) found -[14617] Forked 23862 -(23862) found -[14616] Forked 23863 -(23863) found -[14615] Forked 23864 -(23864) found -[14614] Forked 23865 -(23865) found -[14613] Forked 23866 -(23866) found -[14612] Forked 23867 -(23867) found -[14611] Forked 23868 -(23868) found -[14610] Forked 23869 -(23869) found -[14609] Forked 23870 -(23870) found -[14608] Forked 23871 -(23871) found -[14607] Forked 23872 -(23872) found -[14606] Forked 23873 -(23873) found -[14605] Forked 23874 -(23874) found -[14604] Forked 23875 -(23875) found -[14603] Forked 23876 -(23876) found -[14602] Forked 23877 -(23877) found -[14601] Forked 23878 -(23878) found -[14600] Forked 23879 -[14599] Forked 23880 -(23879) found -(23880) found -[14598] Forked 23881 -[14597] Forked 23882 -(23881) found -(23882) found -[14596] Forked 23883 -[14595] Forked 23884 -(23883) found -(23884) found -[14594] Forked 23885 -[14593] Forked 23886 -(23885) found -(23886) found -[14592] Forked 23887 -[14591] Forked 23888 -(23887) found -(23888) found -[14590] Forked 23889 -[14589] Forked 23890 -(23889) found -(23890) found -[14588] Forked 23891 -[14587] Forked 23892 -(23891) found -(23892) found -[14586] Forked 23893 -[14585] Forked 23894 -(23893) found -(23894) found -[14584] Forked 23895 -[14583] Forked 23896 -(23895) found -(23896) found -[14582] Forked 23897 -[14581] Forked 23898 -(23897) found -(23898) found -[14580] Forked 23899 -[14579] Forked 23900 -(23899) found -(23900) found -[14578] Forked 23901 -[14577] Forked 23902 -(23901) found -(23902) found -[14576] Forked 23903 -[14575] Forked 23904 -(23903) found -(23904) found -[14574] Forked 23905 -[14573] Forked 23906 -(23905) found -(23906) found -[14572] Forked 23907 -[14571] Forked 23908 -(23907) found -(23908) found -[14570] Forked 23909 -[14569] Forked 23910 -(23909) found -(23910) found -[14568] Forked 23911 -[14567] Forked 23912 -(23911) found -(23912) found -[14566] Forked 23913 -(23913) found -[14565] Forked 23914 -(23914) found -[14564] Forked 23915 -(23915) found -[14563] Forked 23916 -(23916) found -[14562] Forked 23917 -(23917) found -[14561] Forked 23918 -(23918) found -[14560] Forked 23919 -(23919) found -[14559] Forked 23920 -(23920) found -[14558] Forked 23921 -(23921) found -[14557] Forked 23922 -(23922) found -[14556] Forked 23923 -(23923) found -[14555] Forked 23924 -(23924) found -[14554] Forked 23925 -(23925) found -[14553] Forked 23926 -(23926) found -[14552] Forked 23927 -(23927) found -[14551] Forked 23928 -(23928) found -[14550] Forked 23929 -(23929) found -[14549] Forked 23930 -(23930) found -[14548] Forked 23931 -(23931) found -[14547] Forked 23932 -(23932) found -[14546] Forked 23933 -(23933) found -[14545] Forked 23934 -(23934) found -[14544] Forked 23935 -(23935) found -[14543] Forked 23936 -(23936) found -[14542] Forked 23937 -(23937) found -[14541] Forked 23938 -(23938) found -[14540] Forked 23939 -(23939) found -[14539] Forked 23940 -(23940) found -[14538] Forked 23941 -(23941) found -[14537] Forked 23942 -(23942) found -[14536] Forked 23943 -(23943) found -[14535] Forked 23944 -(23944) found -[14534] Forked 23945 -(23945) found -[14533] Forked 23946 -(23946) found -[14532] Forked 23947 -(23947) found -[14531] Forked 23948 -(23948) found -[14530] Forked 23949 -(23949) found -[14529] Forked 23950 -(23950) found -[14528] Forked 23951 -(23951) found -[14527] Forked 23952 -(23952) found -[14526] Forked 23953 -(23953) found -[14525] Forked 23954 -(23954) found -[14524] Forked 23955 -(23955) found -[14523] Forked 23956 -(23956) found -[14522] Forked 23957 -(23957) found -[14521] Forked 23958 -(23958) found -[14520] Forked 23959 -(23959) found -[14519] Forked 23960 -(23960) found -[14518] Forked 23961 -(23961) found -[14517] Forked 23962 -(23962) found -[14516] Forked 23963 -(23963) found -[14515] Forked 23964 -(23964) found -[14514] Forked 23965 -(23965) found -[14513] Forked 23966 -(23966) found -[14512] Forked 23967 -(23967) found -[14511] Forked 23968 -(23968) found -[14510] Forked 23969 -(23969) found -[14509] Forked 23970 -(23970) found -[14508] Forked 23971 -(23971) found -[14507] Forked 23972 -(23972) found -[14506] Forked 23973 -(23973) found -[14505] Forked 23974 -(23974) found -[14504] Forked 23975 -(23975) found -[14503] Forked 23976 -(23976) found -[14502] Forked 23977 -(23977) found -[14501] Forked 23978 -(23978) found -[14500] Forked 23979 -(23979) found -[14499] Forked 23980 -(23980) found -[14498] Forked 23981 -(23981) found -[14497] Forked 23982 -(23982) found -[14496] Forked 23983 -[14495] Forked 23984 -(23983) found -(23984) found -[14494] Forked 23985 -[14493] Forked 23986 -(23985) found -(23986) found -[14492] Forked 23987 -[14491] Forked 23988 -(23987) found -(23988) found -[14490] Forked 23989 -[14489] Forked 23990 -(23989) found -(23990) found -[14488] Forked 23991 -[14487] Forked 23992 -(23991) found -(23992) found -[14486] Forked 23993 -[14485] Forked 23994 -(23993) found -(23994) found -[14484] Forked 23995 -[14483] Forked 23996 -(23995) found -(23996) found -[14482] Forked 23997 -[14481] Forked 23998 -(23997) found -(23998) found -[14480] Forked 23999 -[14479] Forked 24000 -(23999) found -(24000) found -[14478] Forked 24001 -[14477] Forked 24002 -(24001) found -(24002) found -[14476] Forked 24003 -[14475] Forked 24004 -(24003) found -(24004) found -[14474] Forked 24005 -[14473] Forked 24006 -(24005) found -(24006) found -[14472] Forked 24007 -[14471] Forked 24008 -(24007) found -(24008) found -[14470] Forked 24009 -[14469] Forked 24010 -(24009) found -(24010) found -[14468] Forked 24011 -[14467] Forked 24012 -(24011) found -(24012) found -[14466] Forked 24013 -[14465] Forked 24014 -(24013) found -(24014) found -[14464] Forked 24015 -[14463] Forked 24016 -(24015) found -(24016) found -[14462] Forked 24017 -[14461] Forked 24018 -(24017) found -(24018) found -[14460] Forked 24019 -[14459] Forked 24020 -(24019) found -(24020) found -[14458] Forked 24021 -[14457] Forked 24022 -(24021) found -(24022) found -[14456] Forked 24023 -[14455] Forked 24025 -(24023) found -(24025) found -[14454] Forked 24026 -(24026) found -[14453] Forked 24027 -(24027) found -[14452] Forked 24028 -(24028) found -[14451] Forked 24029 -(24029) found -[14450] Forked 24030 -(24030) found -[14449] Forked 24031 -(24031) found -[14448] Forked 24032 -(24032) found -[14447] Forked 24033 -(24033) found -[14446] Forked 24034 -(24034) found -[14445] Forked 24035 -(24035) found -[14444] Forked 24036 -(24036) found -[14443] Forked 24037 -(24037) found -[14442] Forked 24038 -(24038) found -[14441] Forked 24039 -(24039) found -[14440] Forked 24040 -(24040) found -[14439] Forked 24041 -(24041) found -[14438] Forked 24042 -(24042) found -[14437] Forked 24043 -(24043) found -[14436] Forked 24044 -(24044) found -[14435] Forked 24045 -(24045) found -[14434] Forked 24046 -(24046) found -[14433] Forked 24047 -(24047) found -[14432] Forked 24048 -(24048) found -[14431] Forked 24049 -(24049) found -[14430] Forked 24050 -(24050) found -[14429] Forked 24051 -(24051) found -[14428] Forked 24052 -(24052) found -[14427] Forked 24053 -(24053) found -[14426] Forked 24054 -(24054) found -[14425] Forked 24055 -(24055) found -[14424] Forked 24056 -(24056) found -[14423] Forked 24057 -(24057) found -[14422] Forked 24058 -(24058) found -[14421] Forked 24059 -(24059) found -[14420] Forked 24060 -(24060) found -[14419] Forked 24061 -(24061) found -[14418] Forked 24062 -(24062) found -[14417] Forked 24063 -(24063) found -[14416] Forked 24064 -(24064) found -[14415] Forked 24065 -(24065) found -[14414] Forked 24066 -(24066) found -[14413] Forked 24067 -(24067) found -[14412] Forked 24068 -(24068) found -[14411] Forked 24069 -(24069) found -[14410] Forked 24070 -(24070) found -[14409] Forked 24071 -(24071) found -[14408] Forked 24072 -(24072) found -[14407] Forked 24073 -(24073) found -[14406] Forked 24074 -(24074) found -[14405] Forked 24075 -(24075) found -[14404] Forked 24076 -(24076) found -[14403] Forked 24077 -(24077) found -[14402] Forked 24078 -(24078) found -[14401] Forked 24079 -(24079) found -[14400] Forked 24080 -(24080) found -[14399] Forked 24081 -(24081) found -[14398] Forked 24082 -(24082) found -[14397] Forked 24083 -(24083) found -[14396] Forked 24084 -(24084) found -[14395] Forked 24085 -(24085) found -[14394] Forked 24086 -(24086) found -[14393] Forked 24087 -(24087) found -[14392] Forked 24088 -(24088) found -[14391] Forked 24089 -(24089) found -[14390] Forked 24090 -(24090) found -[14389] Forked 24091 -(24091) found -[14388] Forked 24092 -(24092) found -[14387] Forked 24093 -(24093) found -[14386] Forked 24094 -(24094) found -[14385] Forked 24095 -(24095) found -[14384] Forked 24096 -(24096) found -[14383] Forked 24097 -(24097) found -[14382] Forked 24098 -(24098) found -[14381] Forked 24099 -(24099) found -[14380] Forked 24100 -(24100) found -[14379] Forked 24101 -(24101) found -[14378] Forked 24102 -(24102) found -[14377] Forked 24103 -(24103) found -[14376] Forked 24104 -(24104) found -[14375] Forked 24105 -(24105) found -[14374] Forked 24106 -(24106) found -[14373] Forked 24107 -(24107) found -[14372] Forked 24108 -(24108) found -[14371] Forked 24109 -(24109) found -[14370] Forked 24110 -(24110) found -[14369] Forked 24111 -(24111) found -[14368] Forked 24112 -(24112) found -[14367] Forked 24113 -(24113) found -[14366] Forked 24114 -(24114) found -[14365] Forked 24115 -(24115) found -[14364] Forked 24116 -(24116) found -[14363] Forked 24117 -(24117) found -[14362] Forked 24118 -(24118) found -[14361] Forked 24119 -(24119) found -[14360] Forked 24120 -(24120) found -[14359] Forked 24121 -(24121) found -[14358] Forked 24122 -(24122) found -[14357] Forked 24123 -(24123) found -[14356] Forked 24124 -(24124) found -[14355] Forked 24125 -(24125) found -[14354] Forked 24126 -(24126) found -[14353] Forked 24127 -(24127) found -[14352] Forked 24128 -(24128) found -[14351] Forked 24129 -(24129) found -[14350] Forked 24130 -(24130) found -[14349] Forked 24131 -(24131) found -[14348] Forked 24132 -(24132) found -[14347] Forked 24133 -(24133) found -[14346] Forked 24134 -(24134) found -[14345] Forked 24135 -(24135) found -[14344] Forked 24136 -(24136) found -[14343] Forked 24137 -(24137) found -[14342] Forked 24138 -(24138) found -[14341] Forked 24139 -(24139) found -[14340] Forked 24140 -(24140) found -[14339] Forked 24141 -(24141) found -[14338] Forked 24142 -(24142) found -[14337] Forked 24143 -(24143) found -[14336] Forked 24144 -(24144) found -[14335] Forked 24145 -(24145) found -[14334] Forked 24146 -(24146) found -[14333] Forked 24147 -(24147) found -[14332] Forked 24148 -(24148) found -[14331] Forked 24149 -(24149) found -[14330] Forked 24150 -(24150) found -[14329] Forked 24151 -(24151) found -[14328] Forked 24152 -(24152) found -[14327] Forked 24153 -(24153) found -[14326] Forked 24154 -(24154) found -[14325] Forked 24155 -(24155) found -[14324] Forked 24156 -(24156) found -[14323] Forked 24157 -(24157) found -[14322] Forked 24158 -(24158) found -[14321] Forked 24159 -(24159) found -[14320] Forked 24160 -(24160) found -[14319] Forked 24161 -(24161) found -[14318] Forked 24162 -(24162) found -[14317] Forked 24163 -(24163) found -[14316] Forked 24164 -(24164) found -[14315] Forked 24165 -(24165) found -[14314] Forked 24166 -(24166) found -[14313] Forked 24167 -(24167) found -[14312] Forked 24168 -(24168) found -[14311] Forked 24169 -(24169) found -[14310] Forked 24170 -(24170) found -[14309] Forked 24171 -(24171) found -[14308] Forked 24172 -(24172) found -[14307] Forked 24173 -(24173) found -[14306] Forked 24174 -(24174) found -[14305] Forked 24175 -(24175) found -[14304] Forked 24176 -(24176) found -[14303] Forked 24177 -[14302] Forked 24178 -(24177) found -(24178) found -[14301] Forked 24179 -[14300] Forked 24180 -(24179) found -(24180) found -[14299] Forked 24181 -[14298] Forked 24182 -(24181) found -(24182) found -[14297] Forked 24183 -[14296] Forked 24184 -(24183) found -(24184) found -[14295] Forked 24185 -[14294] Forked 24186 -(24185) found -(24186) found -[14293] Forked 24187 -[14292] Forked 24188 -(24187) found -(24188) found -[14291] Forked 24189 -[14290] Forked 24190 -(24189) found -(24190) found -[14289] Forked 24191 -[14288] Forked 24192 -(24191) found -(24192) found -[14287] Forked 24193 -[14286] Forked 24194 -(24193) found -(24194) found -[14285] Forked 24195 -[14284] Forked 24196 -(24195) found -(24196) found -[14283] Forked 24197 -[14282] Forked 24198 -(24197) found -(24198) found -[14281] Forked 24199 -[14280] Forked 24200 -(24199) found -(24200) found -[14279] Forked 24201 -[14278] Forked 24202 -(24201) found -(24202) found -[14277] Forked 24203 -[14276] Forked 24204 -(24203) found -(24204) found -[14275] Forked 24205 -[14274] Forked 24206 -(24205) found -(24206) found -[14273] Forked 24207 -[14272] Forked 24208 -(24207) found -(24208) found -[14271] Forked 24209 -[14270] Forked 24210 -(24209) found -(24210) found -[14269] Forked 24211 -[14268] Forked 24212 -(24211) found -(24212) found -[14267] Forked 24213 -[14266] Forked 24214 -(24213) found -(24214) found -[14265] Forked 24215 -[14264] Forked 24216 -(24215) found -(24216) found -[14263] Forked 24217 -[14262] Forked 24218 -(24217) found -(24218) found -[14261] Forked 24219 -[14260] Forked 24220 -(24219) found -(24220) found -[14259] Forked 24221 -[14258] Forked 24222 -(24221) found -(24222) found -[14257] Forked 24223 -[14256] Forked 24224 -(24223) found -(24224) found -[14255] Forked 24225 -[14254] Forked 24226 -(24225) found -(24226) found -[14253] Forked 24227 -[14252] Forked 24228 -(24227) found -(24228) found -[14251] Forked 24229 -[14250] Forked 24230 -(24229) found -(24230) found -[14249] Forked 24231 -[14248] Forked 24232 -(24231) found -(24232) found -[14247] Forked 24233 -[14246] Forked 24234 -(24233) found -(24234) found -[14245] Forked 24235 -[14244] Forked 24236 -(24235) found -(24236) found -[14243] Forked 24237 -[14242] Forked 24238 -(24237) found -(24238) found -[14241] Forked 24239 -[14240] Forked 24240 -(24239) found -(24240) found -[14239] Forked 24241 -[14238] Forked 24242 -(24241) found -(24242) found -[14237] Forked 24243 -[14236] Forked 24244 -(24243) found -(24244) found -[14235] Forked 24245 -[14234] Forked 24246 -(24245) found -(24246) found -[14233] Forked 24247 -[14232] Forked 24248 -(24247) found -(24248) found -[14231] Forked 24249 -[14230] Forked 24250 -(24249) found -(24250) found -[14229] Forked 24251 -[14228] Forked 24252 -(24251) found -(24252) found -[14227] Forked 24253 -[14226] Forked 24254 -(24253) found -(24254) found -[14225] Forked 24255 -[14224] Forked 24256 -(24255) found -(24256) found -[14223] Forked 24257 -(24257) found -[14222] Forked 24258 -(24258) found -[14221] Forked 24259 -(24259) found -[14220] Forked 24260 -(24260) found -[14219] Forked 24261 -(24261) found -[14218] Forked 24262 -(24262) found -[14217] Forked 24263 -(24263) found -[14216] Forked 24264 -(24264) found -[14215] Forked 24265 -(24265) found -[14214] Forked 24266 -(24266) found -[14213] Forked 24267 -(24267) found -[14212] Forked 24268 -(24268) found -[14211] Forked 24269 -(24269) found -[14210] Forked 24270 -(24270) found -[14209] Forked 24271 -(24271) found -[14208] Forked 24272 -(24272) found -[14207] Forked 24273 -(24273) found -[14206] Forked 24274 -(24274) found -[14205] Forked 24275 -(24275) found -[14204] Forked 24276 -(24276) found -[14203] Forked 24277 -(24277) found -[14202] Forked 24278 -(24278) found -[14201] Forked 24279 -(24279) found -[14200] Forked 24280 -(24280) found -[14199] Forked 24281 -(24281) found -[14198] Forked 24282 -(24282) found -[14197] Forked 24283 -(24283) found -[14196] Forked 24284 -(24284) found -[14195] Forked 24285 -(24285) found -[14194] Forked 24286 -(24286) found -[14193] Forked 24287 -(24287) found -[14192] Forked 24288 -[14191] Forked 24289 -(24288) found -(24289) found -[14190] Forked 24290 -[14189] Forked 24291 -(24290) found -(24291) found -[14188] Forked 24292 -[14187] Forked 24294 -(24292) found -(24294) found -[14186] Forked 24295 -(24295) found -[14185] Forked 24296 -(24296) found -[14184] Forked 24297 -(24297) found -[14183] Forked 24298 -(24298) found -[14182] Forked 24299 -(24299) found -[14181] Forked 24300 -(24300) found -[14180] Forked 24301 -(24301) found -[14179] Forked 24302 -(24302) found -[14178] Forked 24303 -(24303) found -[14177] Forked 24304 -(24304) found -[14176] Forked 24305 -(24305) found -[14175] Forked 24306 -(24306) found -[14174] Forked 24307 -(24307) found -[14173] Forked 24308 -(24308) found -[14172] Forked 24309 -(24309) found -[14171] Forked 24310 -(24310) found -[14170] Forked 24311 -(24311) found -[14169] Forked 24312 -(24312) found -[14168] Forked 24313 -(24313) found -[14167] Forked 24314 -(24314) found -[14166] Forked 24315 -(24315) found -[14165] Forked 24316 -(24316) found -[14164] Forked 24317 -(24317) found -[14163] Forked 24319 -(24319) found -[14162] Forked 24320 -(24320) found -[14161] Forked 24321 -(24321) found -[14160] Forked 24322 -(24322) found -[14159] Forked 24323 -(24323) found -[14158] Forked 24324 -(24324) found -[14157] Forked 24325 -(24325) found -[14156] Forked 24326 -(24326) found -[14155] Forked 24327 -(24327) found -[14154] Forked 24328 -(24328) found -[14153] Forked 24329 -(24329) found -[14152] Forked 24330 -(24330) found -[14151] Forked 24331 -(24331) found -[14150] Forked 24332 -(24332) found -[14149] Forked 24333 -(24333) found -[14148] Forked 24334 -(24334) found -[14147] Forked 24335 -(24335) found -[14146] Forked 24336 -(24336) found -[14145] Forked 24337 -(24337) found -[14144] Forked 24338 -(24338) found -[14143] Forked 24339 -(24339) found -[14142] Forked 24340 -(24340) found -[14141] Forked 24341 -(24341) found -[14140] Forked 24342 -(24342) found -[14139] Forked 24343 -(24343) found -[14138] Forked 24344 -(24344) found -[14137] Forked 24345 -(24345) found -[14136] Forked 24346 -(24346) found -[14135] Forked 24347 -(24347) found -[14134] Forked 24348 -(24348) found -[14133] Forked 24349 -(24349) found -[14132] Forked 24350 -(24350) found -[14131] Forked 24351 -(24351) found -[14130] Forked 24352 -(24352) found -[14129] Forked 24353 -(24353) found -[14128] Forked 24354 -(24354) found -[14127] Forked 24355 -(24355) found -[14126] Forked 24356 -(24356) found -[14125] Forked 24357 -(24357) found -[14124] Forked 24358 -(24358) found -[14123] Forked 24359 -(24359) found -[14122] Forked 24360 -(24360) found -[14121] Forked 24361 -[14120] Forked 24362 -(24361) found -(24362) found -[14119] Forked 24363 -[14118] Forked 24364 -(24363) found -(24364) found -[14117] Forked 24365 -[14116] Forked 24366 -(24365) found -(24366) found -[14115] Forked 24367 -[14114] Forked 24368 -(24367) found -(24368) found -[14113] Forked 24369 -[14112] Forked 24370 -(24369) found -(24370) found -[14111] Forked 24371 -[14110] Forked 24372 -(24371) found -(24372) found -[14109] Forked 24373 -[14108] Forked 24374 -(24373) found -(24374) found -[14107] Forked 24375 -[14106] Forked 24376 -(24375) found -(24376) found -[14105] Forked 24377 -[14104] Forked 24378 -(24377) found -(24378) found -[14103] Forked 24379 -[14102] Forked 24380 -(24379) found -(24380) found -[14101] Forked 24381 -[14100] Forked 24382 -(24381) found -(24382) found -[14099] Forked 24383 -[14098] Forked 24384 -(24383) found -(24384) found -[14097] Forked 24385 -[14096] Forked 24386 -(24385) found -(24386) found -[14095] Forked 24387 -[14094] Forked 24388 -(24387) found -(24388) found -[14093] Forked 24389 -[14092] Forked 24390 -(24389) found -(24390) found -[14091] Forked 24391 -[14090] Forked 24392 -(24391) found -(24392) found -[14089] Forked 24393 -[14088] Forked 24394 -(24393) found -(24394) found -[14087] Forked 24395 -[14086] Forked 24396 -(24395) found -(24396) found -[14085] Forked 24397 -[14084] Forked 24398 -(24397) found -(24398) found -[14083] Forked 24399 -[14082] Forked 24400 -(24399) found -(24400) found -[14081] Forked 24401 -[14080] Forked 24402 -(24401) found -(24402) found -[14079] Forked 24403 -[14078] Forked 24404 -(24403) found -(24404) found -[14077] Forked 24405 -[14076] Forked 24406 -(24406) found -(24405) found -[14075] Forked 24407 -(24407) found -[14074] Forked 24408 -(24408) found -[14073] Forked 24409 -(24409) found -[14072] Forked 24410 -(24410) found -[14071] Forked 24411 -(24411) found -[14070] Forked 24412 -(24412) found -[14069] Forked 24413 -(24413) found -[14068] Forked 24414 -(24414) found -[14067] Forked 24415 -(24415) found -[14066] Forked 24416 -(24416) found -[14065] Forked 24417 -(24417) found -[14064] Forked 24418 -(24418) found -[14063] Forked 24419 -(24419) found -[14062] Forked 24420 -(24420) found -[14061] Forked 24421 -(24421) found -[14060] Forked 24422 -(24422) found -[14059] Forked 24423 -(24423) found -[14058] Forked 24424 -(24424) found -[14057] Forked 24425 -(24425) found -[14056] Forked 24426 -(24426) found -[14055] Forked 24427 -(24427) found -[14054] Forked 24428 -(24428) found -[14053] Forked 24429 -(24429) found -[14052] Forked 24430 -(24430) found -[14051] Forked 24431 -(24431) found -[14050] Forked 24432 -(24432) found -[14049] Forked 24433 -(24433) found -[14048] Forked 24434 -(24434) found -[14047] Forked 24435 -(24435) found -[14046] Forked 24436 -(24436) found -[14045] Forked 24437 -(24437) found -[14044] Forked 24438 -(24438) found -[14043] Forked 24439 -(24439) found -[14042] Forked 24440 -(24440) found -[14041] Forked 24441 -(24441) found -[14040] Forked 24442 -[14039] Forked 24443 -(24442) found -(24443) found -[14038] Forked 24444 -[14037] Forked 24445 -(24444) found -(24445) found -[14036] Forked 24446 -[14035] Forked 24447 -(24446) found -(24447) found -[14034] Forked 24448 -[14033] Forked 24449 -(24448) found -(24449) found -[14032] Forked 24450 -[14031] Forked 24451 -(24450) found -(24451) found -[14030] Forked 24452 -[14029] Forked 24453 -(24452) found -(24453) found -[14028] Forked 24454 -[14027] Forked 24455 -(24454) found -(24455) found -[14026] Forked 24456 -[14025] Forked 24457 -(24456) found -(24457) found -[14024] Forked 24458 -[14023] Forked 24459 -(24458) found -(24459) found -[14022] Forked 24460 -[14021] Forked 24461 -(24460) found -(24461) found -[14020] Forked 24462 -[14019] Forked 24463 -(24462) found -(24463) found -[14018] Forked 24464 -[14017] Forked 24465 -(24464) found -(24465) found -[14016] Forked 24466 -[14015] Forked 24467 -(24466) found -(24467) found -[14014] Forked 24468 -[14013] Forked 24469 -(24468) found -(24469) found -[14012] Forked 24470 -[14011] Forked 24473 -(24470) found -(24473) found -[14010] Forked 24474 -[14009] Forked 24475 -(24474) found -(24475) found -[14008] Forked 24476 -[14007] Forked 24477 -(24476) found -(24477) found -[14006] Forked 24478 -[14005] Forked 24479 -(24478) found -(24479) found -[14004] Forked 24480 -[14003] Forked 24481 -(24480) found -(24481) found -[14002] Forked 24482 -[14001] Forked 24483 -(24482) found -(24483) found -[14000] Forked 24484 -[13999] Forked 24485 -(24484) found -(24485) found -[13998] Forked 24486 -[13997] Forked 24487 -(24486) found -(24487) found -[13996] Forked 24488 -[13995] Forked 24489 -(24488) found -(24489) found -[13994] Forked 24490 -[13993] Forked 24491 -(24490) found -(24491) found -[13992] Forked 24492 -[13991] Forked 24493 -(24492) found -(24493) found -[13990] Forked 24494 -[13989] Forked 24495 -(24494) found -(24495) found -[13988] Forked 24496 -[13987] Forked 24497 -(24496) found -(24497) found -[13986] Forked 24498 -[13985] Forked 24499 -(24498) found -(24499) found -[13984] Forked 24500 -[13983] Forked 24501 -(24500) found -(24501) found -[13982] Forked 24502 -[13981] Forked 24503 -(24502) found -(24503) found -[13980] Forked 24504 -[13979] Forked 24505 -(24504) found -(24505) found -[13978] Forked 24506 -[13977] Forked 24507 -(24506) found -(24507) found -[13976] Forked 24508 -[13975] Forked 24509 -(24508) found -(24509) found -[13974] Forked 24510 -[13973] Forked 24511 -(24510) found -(24511) found -[13972] Forked 24512 -[13971] Forked 24513 -(24512) found -(24513) found -[13970] Forked 24514 -[13969] Forked 24515 -(24514) found -(24515) found -[13968] Forked 24516 -[13967] Forked 24517 -(24516) found -(24517) found -[13966] Forked 24518 -[13965] Forked 24519 -(24518) found -(24519) found -[13964] Forked 24520 -[13963] Forked 24521 -(24520) found -(24521) found -[13962] Forked 24522 -(24522) found -[13961] Forked 24523 -[13960] Forked 24524 -(24523) found -(24524) found -[13959] Forked 24525 -[13958] Forked 24526 -(24525) found -(24526) found -[13957] Forked 24527 -[13956] Forked 24528 -(24527) found -(24528) found -[13955] Forked 24529 -[13954] Forked 24530 -(24529) found -(24530) found -[13953] Forked 24531 -[13952] Forked 24532 -(24531) found -(24532) found -[13951] Forked 24533 -[13950] Forked 24534 -(24533) found -(24534) found -[13949] Forked 24535 -[13948] Forked 24536 -(24535) found -(24536) found -[13947] Forked 24537 -[13946] Forked 24538 -(24537) found -(24538) found -[13945] Forked 24539 -[13944] Forked 24540 -(24539) found -(24540) found -[13943] Forked 24541 -[13942] Forked 24542 -(24541) found -(24542) found -[13941] Forked 24543 -[13940] Forked 24544 -(24543) found -(24544) found -[13939] Forked 24545 -[13938] Forked 24546 -(24545) found -(24546) found -[13937] Forked 24547 -[13936] Forked 24548 -(24547) found -(24548) found -[13935] Forked 24549 -[13934] Forked 24550 -(24549) found -(24550) found -[13933] Forked 24551 -[13932] Forked 24552 -(24551) found -(24552) found -[13931] Forked 24553 -[13930] Forked 24554 -(24553) found -(24554) found -[13929] Forked 24555 -[13928] Forked 24556 -(24555) found -(24556) found -[13927] Forked 24557 -[13926] Forked 24558 -(24557) found -(24558) found -[13925] Forked 24559 -[13924] Forked 24560 -(24559) found -(24560) found -[13923] Forked 24561 -[13922] Forked 24562 -(24561) found -(24562) found -[13921] Forked 24563 -[13920] Forked 24564 -(24563) found -(24564) found -[13919] Forked 24565 -[13918] Forked 24566 -(24565) found -(24566) found -[13917] Forked 24567 -[13916] Forked 24568 -(24567) found -(24568) found -[13915] Forked 24569 -[13914] Forked 24570 -(24569) found -(24570) found -[13913] Forked 24571 -[13912] Forked 24572 -(24571) found -(24572) found -[13911] Forked 24573 -[13910] Forked 24574 -(24573) found -(24574) found -[13909] Forked 24575 -[13908] Forked 24576 -(24575) found -(24576) found -[13907] Forked 24577 -[13906] Forked 24578 -(24577) found -(24578) found -[13905] Forked 24579 -[13904] Forked 24580 -(24579) found -(24580) found -[13903] Forked 24581 -[13902] Forked 24582 -(24581) found -(24582) found -[13901] Forked 24583 -[13900] Forked 24585 -(24583) found -(24585) found -[13899] Forked 24586 -(24586) found -[13898] Forked 24587 -(24587) found -[13897] Forked 24588 -(24588) found -[13896] Forked 24589 -(24589) found -[13895] Forked 24590 -(24590) found -[13894] Forked 24591 -(24591) found -[13893] Forked 24592 -(24592) found -[13892] Forked 24593 -(24593) found -[13891] Forked 24594 -(24594) found -[13890] Forked 24595 -(24595) found -[13889] Forked 24596 -(24596) found -[13888] Forked 24597 -(24597) found -[13887] Forked 24598 -(24598) found -[13886] Forked 24599 -(24599) found -[13885] Forked 24600 -(24600) found -[13884] Forked 24601 -(24601) found -[13883] Forked 24602 -(24602) found -[13882] Forked 24603 -(24603) found -[13881] Forked 24604 -(24604) found -[13880] Forked 24605 -(24605) found -[13879] Forked 24606 -(24606) found -[13878] Forked 24607 -(24607) found -[13877] Forked 24608 -(24608) found -[13876] Forked 24609 -(24609) found -[13875] Forked 24610 -(24610) found -[13874] Forked 24611 -(24611) found -[13873] Forked 24612 -(24612) found -[13872] Forked 24613 -(24613) found -[13871] Forked 24614 -(24614) found -[13870] Forked 24615 -(24615) found -[13869] Forked 24616 -(24616) found -[13868] Forked 24617 -(24617) found -[13867] Forked 24618 -(24618) found -[13866] Forked 24619 -(24619) found -[13865] Forked 24620 -(24620) found -[13864] Forked 24621 -(24621) found -[13863] Forked 24622 -(24622) found -[13862] Forked 24623 -(24623) found -[13861] Forked 24624 -(24624) found -[13860] Forked 24625 -(24625) found -[13859] Forked 24626 -(24626) found -[13858] Forked 24627 -(24627) found -[13857] Forked 24628 -(24628) found -[13856] Forked 24629 -(24629) found -[13855] Forked 24630 -(24630) found -[13854] Forked 24631 -(24631) found -[13853] Forked 24632 -(24632) found -[13852] Forked 24633 -(24633) found -[13851] Forked 24634 -(24634) found -[13850] Forked 24635 -(24635) found -[13849] Forked 24636 -(24636) found -[13848] Forked 24637 -(24637) found -[13847] Forked 24638 -(24638) found -[13846] Forked 24639 -(24639) found -[13845] Forked 24640 -(24640) found -[13844] Forked 24641 -(24641) found -[13843] Forked 24642 -(24642) found -[13842] Forked 24643 -(24643) found -[13841] Forked 24644 -(24644) found -[13840] Forked 24645 -(24645) found -[13839] Forked 24646 -(24646) found -[13838] Forked 24647 -(24647) found -[13837] Forked 24648 -(24648) found -[13836] Forked 24649 -(24649) found -[13835] Forked 24650 -(24650) found -[13834] Forked 24651 -(24651) found -[13833] Forked 24652 -(24652) found -[13832] Forked 24653 -(24653) found -[13831] Forked 24654 -(24654) found -[13830] Forked 24655 -(24655) found -[13829] Forked 24656 -(24656) found -[13828] Forked 24657 -(24657) found -[13827] Forked 24658 -(24658) found -[13826] Forked 24659 -(24659) found -[13825] Forked 24660 -(24660) found -[13824] Forked 24661 -(24661) found -[13823] Forked 24662 -(24662) found -[13822] Forked 24663 -(24663) found -[13821] Forked 24664 -(24664) found -[13820] Forked 24665 -(24665) found -[13819] Forked 24666 -(24666) found -[13818] Forked 24667 -(24667) found -[13817] Forked 24668 -(24668) found -[13816] Forked 24669 -(24669) found -[13815] Forked 24670 -(24670) found -[13814] Forked 24671 -(24671) found -[13813] Forked 24672 -(24672) found -[13812] Forked 24673 -(24673) found -[13811] Forked 24674 -(24674) found -[13810] Forked 24675 -(24675) found -[13809] Forked 24676 -(24676) found -[13808] Forked 24677 -(24677) found -[13807] Forked 24678 -(24678) found -[13806] Forked 24679 -(24679) found -[13805] Forked 24680 -(24680) found -[13804] Forked 24681 -(24681) found -[13803] Forked 24682 -(24682) found -[13802] Forked 24683 -(24683) found -[13801] Forked 24684 -(24684) found -[13800] Forked 24685 -(24685) found -[13799] Forked 24686 -(24686) found -[13798] Forked 24687 -(24687) found -[13797] Forked 24688 -[13796] Forked 24690 -(24688) found -(24690) found -[13795] Forked 24691 -(24691) found -[13794] Forked 24692 -(24692) found -[13793] Forked 24693 -(24693) found -[13792] Forked 24694 -[13791] Forked 24695 -(24694) found -(24695) found -[13790] Forked 24696 -[13789] Forked 24697 -(24696) found -(24697) found -[13788] Forked 24698 -[13787] Forked 24699 -(24698) found -(24699) found -[13786] Forked 24700 -[13785] Forked 24701 -(24700) found -(24701) found -[13784] Forked 24702 -[13783] Forked 24703 -(24702) found -(24703) found -[13782] Forked 24704 -[13781] Forked 24705 -(24704) found -(24705) found -[13780] Forked 24706 -[13779] Forked 24707 -(24706) found -(24707) found -[13778] Forked 24708 -[13777] Forked 24709 -(24708) found -(24709) found -[13776] Forked 24710 -[13775] Forked 24711 -(24710) found -(24711) found -[13774] Forked 24712 -[13773] Forked 24713 -(24712) found -(24713) found -[13772] Forked 24714 -[13771] Forked 24715 -(24714) found -(24715) found -[13770] Forked 24716 -[13769] Forked 24717 -(24716) found -(24717) found -[13768] Forked 24718 -[13767] Forked 24719 -(24718) found -(24719) found -[13766] Forked 24720 -[13765] Forked 24721 -(24720) found -(24721) found -[13764] Forked 24722 -[13763] Forked 24723 -(24722) found -(24723) found -[13762] Forked 24724 -[13761] Forked 24725 -(24724) found -(24725) found -[13760] Forked 24726 -[13759] Forked 24727 -(24726) found -(24727) found -[13758] Forked 24728 -[13757] Forked 24729 -(24728) found -(24729) found -[13756] Forked 24730 -[13755] Forked 24731 -(24730) found -(24731) found -[13754] Forked 24732 -[13753] Forked 24733 -(24732) found -(24733) found -[13752] Forked 24734 -(24734) found -[13751] Forked 24735 -(24735) found -[13750] Forked 24736 -(24736) found -[13749] Forked 24737 -(24737) found -[13748] Forked 24738 -(24738) found -[13747] Forked 24739 -(24739) found -[13746] Forked 24740 -(24740) found -[13745] Forked 24741 -(24741) found -[13744] Forked 24742 -(24742) found -[13743] Forked 24743 -(24743) found -[13742] Forked 24744 -(24744) found -[13741] Forked 24745 -(24745) found -[13740] Forked 24746 -(24746) found -[13739] Forked 24747 -(24747) found -[13738] Forked 24748 -(24748) found -[13737] Forked 24749 -(24749) found -[13736] Forked 24750 -(24750) found -[13735] Forked 24751 -(24751) found -[13734] Forked 24752 -(24752) found -[13733] Forked 24753 -(24753) found -[13732] Forked 24754 -(24754) found -[13731] Forked 24755 -(24755) found -[13730] Forked 24756 -(24756) found -[13729] Forked 24757 -(24757) found -[13728] Forked 24758 -(24758) found -[13727] Forked 24759 -(24759) found -[13726] Forked 24760 -(24760) found -[13725] Forked 24761 -(24761) found -[13724] Forked 24762 -(24762) found -[13723] Forked 24763 -(24763) found -[13722] Forked 24764 -(24764) found -[13721] Forked 24765 -(24765) found -[13720] Forked 24766 -(24766) found -[13719] Forked 24767 -(24767) found -[13718] Forked 24768 -(24768) found -[13717] Forked 24769 -(24769) found -[13716] Forked 24770 -[13715] Forked 24771 -(24770) found -(24771) found -[13714] Forked 24772 -[13713] Forked 24773 -(24772) found -(24773) found -[13712] Forked 24774 -[13711] Forked 24776 -(24774) found -(24776) found -[13710] Forked 24777 -(24777) found -[13709] Forked 24778 -(24778) found -[13708] Forked 24779 -(24779) found -[13707] Forked 24780 -(24780) found -[13706] Forked 24781 -(24781) found -[13705] Forked 24782 -(24782) found -[13704] Forked 24783 -(24783) found -[13703] Forked 24784 -(24784) found -[13702] Forked 24785 -(24785) found -[13701] Forked 24786 -(24786) found -[13700] Forked 24787 -(24787) found -[13699] Forked 24788 -(24788) found -[13698] Forked 24789 -(24789) found -[13697] Forked 24790 -(24790) found -[13696] Forked 24791 -(24791) found -[13695] Forked 24792 -(24792) found -[13694] Forked 24793 -(24793) found -[13693] Forked 24794 -(24794) found -[13692] Forked 24795 -(24795) found -[13691] Forked 24796 -(24796) found -[13690] Forked 24797 -(24797) found -[13689] Forked 24798 -(24798) found -[13688] Forked 24799 -(24799) found -[13687] Forked 24800 -(24800) found -[13686] Forked 24801 -(24801) found -[13685] Forked 24802 -(24802) found -[13684] Forked 24803 -(24803) found -[13683] Forked 24804 -(24804) found -[13682] Forked 24805 -(24805) found -[13681] Forked 24806 -(24806) found -[13680] Forked 24807 -(24807) found -[13679] Forked 24808 -(24808) found -[13678] Forked 24809 -(24809) found -[13677] Forked 24810 -(24810) found -[13676] Forked 24811 -(24811) found -[13675] Forked 24812 -(24812) found -[13674] Forked 24813 -(24813) found -[13673] Forked 24814 -(24814) found -[13672] Forked 24815 -(24815) found -[13671] Forked 24816 -(24816) found -[13670] Forked 24817 -(24817) found -[13669] Forked 24818 -(24818) found -[13668] Forked 24819 -(24819) found -[13667] Forked 24820 -(24820) found -[13666] Forked 24821 -(24821) found -[13665] Forked 24822 -(24822) found -[13664] Forked 24823 -(24823) found -[13663] Forked 24824 -(24824) found -[13662] Forked 24825 -(24825) found -[13661] Forked 24826 -(24826) found -[13660] Forked 24827 -(24827) found -[13659] Forked 24828 -(24828) found -[13658] Forked 24829 -(24829) found -[13657] Forked 24830 -(24830) found -[13656] Forked 24831 -(24831) found -[13655] Forked 24832 -(24832) found -[13654] Forked 24833 -(24833) found -[13653] Forked 24834 -(24834) found -[13652] Forked 24835 -(24835) found -[13651] Forked 24836 -(24836) found -[13650] Forked 24837 -(24837) found -[13649] Forked 24838 -(24838) found -[13648] Forked 24839 -(24839) found -[13647] Forked 24840 -(24840) found -[13646] Forked 24841 -(24841) found -[13645] Forked 24842 -(24842) found -[13644] Forked 24843 -(24843) found -[13643] Forked 24844 -(24844) found -[13642] Forked 24845 -(24845) found -[13641] Forked 24846 -(24846) found -[13640] Forked 24847 -(24847) found -[13639] Forked 24848 -(24848) found -[13638] Forked 24849 -(24849) found -[13637] Forked 24850 -(24850) found -[13636] Forked 24851 -(24851) found -[13635] Forked 24852 -(24852) found -[13634] Forked 24853 -(24853) found -[13633] Forked 24854 -(24854) found -[13632] Forked 24855 -(24855) found -[13631] Forked 24856 -(24856) found -[13630] Forked 24857 -(24857) found -[13629] Forked 24858 -(24858) found -[13628] Forked 24859 -(24859) found -[13627] Forked 24860 -(24860) found -[13626] Forked 24861 -(24861) found -[13625] Forked 24862 -(24862) found -[13624] Forked 24863 -(24863) found -[13623] Forked 24864 -(24864) found -[13622] Forked 24865 -(24865) found -[13621] Forked 24866 -(24866) found -[13620] Forked 24867 -(24867) found -[13619] Forked 24868 -(24868) found -[13618] Forked 24869 -(24869) found -[13617] Forked 24870 -(24870) found -[13616] Forked 24871 -(24871) found -[13615] Forked 24872 -(24872) found -[13614] Forked 24873 -(24873) found -[13613] Forked 24874 -(24874) found -[13612] Forked 24875 -(24875) found -[13611] Forked 24876 -(24876) found -[13610] Forked 24877 -(24877) found -[13609] Forked 24878 -(24878) found -[13608] Forked 24879 -[13607] Forked 24880 -(24879) found -(24880) found -[13606] Forked 24881 -[13605] Forked 24882 -(24881) found -(24882) found -[13604] Forked 24883 -[13603] Forked 24884 -(24883) found -(24884) found -[13602] Forked 24885 -[13601] Forked 24886 -(24885) found -(24886) found -[13600] Forked 24887 -[13599] Forked 24888 -(24887) found -(24888) found -[13598] Forked 24889 -(24889) found -[13597] Forked 24890 -[13596] Forked 24891 -(24890) found -(24891) found -[13595] Forked 24892 -[13594] Forked 24893 -(24892) found -(24893) found -[13593] Forked 24894 -[13592] Forked 24895 -(24894) found -(24895) found -[13591] Forked 24896 -[13590] Forked 24897 -(24896) found -(24897) found -[13589] Forked 24898 -[13588] Forked 24899 -(24898) found -(24899) found -[13587] Forked 24900 -[13586] Forked 24901 -(24900) found -(24901) found -[13585] Forked 24902 -[13584] Forked 24903 -(24902) found -(24903) found -[13583] Forked 24904 -[13582] Forked 24905 -(24904) found -(24905) found -[13581] Forked 24906 -[13580] Forked 24907 -(24906) found -(24907) found -[13579] Forked 24908 -[13578] Forked 24909 -(24908) found -(24909) found -[13577] Forked 24910 -[13576] Forked 24911 -(24910) found -(24911) found -[13575] Forked 24912 -[13574] Forked 24913 -(24912) found -(24913) found -[13573] Forked 24914 -[13572] Forked 24915 -(24914) found -(24915) found -[13571] Forked 24916 -[13570] Forked 24917 -(24916) found -(24917) found -[13569] Forked 24918 -[13568] Forked 24919 -(24918) found -(24919) found -[13567] Forked 24920 -[13566] Forked 24921 -(24920) found -(24921) found -[13565] Forked 24922 -[13564] Forked 24923 -(24922) found -(24923) found -[13563] Forked 24924 -[13562] Forked 24925 -(24924) found -(24925) found -[13561] Forked 24926 -[13560] Forked 24927 -(24926) found -(24927) found -[13559] Forked 24928 -[13558] Forked 24929 -(24928) found -(24929) found -[13557] Forked 24930 -[13556] Forked 24931 -(24930) found -(24931) found -[13555] Forked 24932 -[13554] Forked 24933 -(24932) found -(24933) found -[13553] Forked 24934 -[13552] Forked 24935 -(24934) found -(24935) found -[13551] Forked 24936 -[13550] Forked 24937 -(24936) found -(24937) found -[13549] Forked 24938 -[13548] Forked 24939 -(24938) found -(24939) found -[13547] Forked 24940 -[13546] Forked 24941 -(24940) found -(24941) found -[13545] Forked 24942 -[13544] Forked 24943 -(24942) found -(24943) found -[13543] Forked 24944 -[13542] Forked 24945 -(24944) found -(24945) found -[13541] Forked 24946 -[13540] Forked 24947 -(24946) found -(24947) found -[13539] Forked 24948 -[13538] Forked 24949 -(24948) found -(24949) found -[13537] Forked 24950 -[13536] Forked 24951 -(24950) found -(24951) found -[13535] Forked 24952 -[13534] Forked 24953 -(24952) found -(24953) found -[13533] Forked 24954 -[13532] Forked 24955 -(24954) found -(24955) found -[13531] Forked 24956 -[13530] Forked 24957 -(24956) found -(24957) found -[13529] Forked 24958 -[13528] Forked 24959 -(24958) found -(24959) found -[13527] Forked 24960 -[13526] Forked 24961 -(24960) found -(24961) found -[13525] Forked 24962 -[13524] Forked 24963 -(24962) found -(24963) found -[13523] Forked 24964 -[13522] Forked 24965 -(24964) found -(24965) found -[13521] Forked 24966 -[13520] Forked 24967 -(24966) found -(24967) found -[13519] Forked 24968 -[13518] Forked 24969 -(24968) found -(24969) found -[13517] Forked 24970 -(24970) found -[13516] Forked 24971 -(24971) found -[13515] Forked 24972 -(24972) found -[13514] Forked 24973 -(24973) found -[13513] Forked 24974 -(24974) found -[13512] Forked 24975 -(24975) found -[13511] Forked 24976 -(24976) found -[13510] Forked 24977 -(24977) found -[13509] Forked 24978 -(24978) found -[13508] Forked 24979 -(24979) found -[13507] Forked 24980 -(24980) found -[13506] Forked 24981 -(24981) found -[13505] Forked 24982 -(24982) found -[13504] Forked 24983 -(24983) found -[13503] Forked 24984 -(24984) found -[13502] Forked 24985 -(24985) found -[13501] Forked 24986 -(24986) found -[13500] Forked 24987 -(24987) found -[13499] Forked 24988 -(24988) found -[13498] Forked 24989 -(24989) found -[13497] Forked 24990 -(24990) found -[13496] Forked 24991 -(24991) found -[13495] Forked 24992 -(24992) found -[13494] Forked 24993 -(24993) found -[13493] Forked 24994 -(24994) found -[13492] Forked 24996 -(24996) found -[13491] Forked 24997 -(24997) found -[13490] Forked 24998 -(24998) found -[13489] Forked 24999 -(24999) found -[13488] Forked 25000 -(25000) found -[13487] Forked 25001 -(25001) found -[13486] Forked 25002 -(25002) found -[13485] Forked 25003 -(25003) found -[13484] Forked 25004 -(25004) found -[13483] Forked 25005 -(25005) found -[13482] Forked 25006 -(25006) found -[13481] Forked 25007 -[13480] Forked 25008 -(25007) found -(25008) found -[13479] Forked 25009 -[13478] Forked 25010 -(25009) found -(25010) found -[13477] Forked 25011 -[13476] Forked 25013 -(25011) found -(25013) found -[13475] Forked 25014 -(25014) found -[13474] Forked 25015 -(25015) found -[13473] Forked 25016 -(25016) found -[13472] Forked 25017 -(25017) found -[13471] Forked 25018 -(25018) found -[13470] Forked 25019 -(25019) found -[13469] Forked 25020 -(25020) found -[13468] Forked 25021 -(25021) found -[13467] Forked 25022 -(25022) found -[13466] Forked 25023 -(25023) found -[13465] Forked 25024 -(25024) found -[13464] Forked 25025 -(25025) found -[13463] Forked 25026 -(25026) found -[13462] Forked 25027 -(25027) found -[13461] Forked 25028 -(25028) found -[13460] Forked 25029 -(25029) found -[13459] Forked 25030 -(25030) found -[13458] Forked 25031 -(25031) found -[13457] Forked 25032 -(25032) found -[13456] Forked 25033 -(25033) found -[13455] Forked 25034 -(25034) found -[13454] Forked 25035 -(25035) found -[13453] Forked 25036 -(25036) found -[13452] Forked 25037 -(25037) found -[13451] Forked 25038 -(25038) found -[13450] Forked 25039 -(25039) found -[13449] Forked 25040 -(25040) found -[13448] Forked 25041 -(25041) found -[13447] Forked 25042 -(25042) found -[13446] Forked 25043 -(25043) found -[13445] Forked 25044 -(25044) found -[13444] Forked 25045 -(25045) found -[13443] Forked 25046 -(25046) found -[13442] Forked 25047 -(25047) found -[13441] Forked 25048 -(25048) found -[13440] Forked 25049 -(25049) found -[13439] Forked 25050 -(25050) found -[13438] Forked 25051 -(25051) found -[13437] Forked 25052 -(25052) found -[13436] Forked 25053 -(25053) found -[13435] Forked 25054 -(25054) found -[13434] Forked 25055 -(25055) found -[13433] Forked 25056 -(25056) found -[13432] Forked 25057 -(25057) found -[13431] Forked 25058 -(25058) found -[13430] Forked 25059 -(25059) found -[13429] Forked 25060 -(25060) found -[13428] Forked 25061 -(25061) found -[13427] Forked 25062 -(25062) found -[13426] Forked 25063 -(25063) found -[13425] Forked 25064 -(25064) found -[13424] Forked 25065 -(25065) found -[13423] Forked 25066 -(25066) found -[13422] Forked 25067 -(25067) found -[13421] Forked 25068 -(25068) found -[13420] Forked 25069 -(25069) found -[13419] Forked 25070 -(25070) found -[13418] Forked 25071 -(25071) found -[13417] Forked 25072 -(25072) found -[13416] Forked 25073 -(25073) found -[13415] Forked 25074 -(25074) found -[13414] Forked 25075 -(25075) found -[13413] Forked 25076 -(25076) found -[13412] Forked 25077 -(25077) found -[13411] Forked 25078 -(25078) found -[13410] Forked 25079 -[13409] Forked 25080 -(25079) found -(25080) found -[13408] Forked 25081 -[13407] Forked 25082 -(25081) found -(25082) found -[13406] Forked 25083 -[13405] Forked 25084 -(25083) found -(25084) found -[13404] Forked 25085 -[13403] Forked 25086 -(25085) found -(25086) found -[13402] Forked 25087 -[13401] Forked 25088 -(25087) found -(25088) found -[13400] Forked 25089 -[13399] Forked 25090 -(25089) found -(25090) found -[13398] Forked 25091 -[13397] Forked 25092 -(25091) found -(25092) found -[13396] Forked 25093 -[13395] Forked 25094 -(25093) found -(25094) found -[13394] Forked 25095 -[13393] Forked 25096 -(25095) found -(25096) found -[13392] Forked 25097 -[13391] Forked 25098 -(25097) found -(25098) found -[13390] Forked 25099 -[13389] Forked 25100 -(25099) found -(25100) found -[13388] Forked 25101 -[13387] Forked 25102 -(25101) found -(25102) found -[13386] Forked 25103 -[13385] Forked 25104 -(25103) found -(25104) found -[13384] Forked 25105 -[13383] Forked 25106 -(25105) found -(25106) found -[13382] Forked 25107 -[13381] Forked 25108 -(25107) found -(25108) found -[13380] Forked 25109 -[13379] Forked 25110 -(25109) found -(25110) found -[13378] Forked 25111 -[13377] Forked 25112 -(25111) found -(25112) found -[13376] Forked 25113 -[13375] Forked 25114 -(25113) found -(25114) found -[13374] Forked 25115 -[13373] Forked 25116 -(25115) found -(25116) found -[13372] Forked 25117 -[13371] Forked 25118 -(25117) found -(25118) found -[13370] Forked 25119 -[13369] Forked 25120 -(25119) found -(25120) found -[13368] Forked 25121 -[13367] Forked 25122 -(25121) found -(25122) found -[13366] Forked 25123 -[13365] Forked 25124 -(25123) found -(25124) found -[13364] Forked 25125 -[13363] Forked 25126 -(25125) found -(25126) found -[13362] Forked 25127 -[13361] Forked 25128 -(25127) found -(25128) found -[13360] Forked 25129 -[13359] Forked 25130 -(25129) found -(25130) found -[13358] Forked 25131 -[13357] Forked 25132 -(25131) found -(25132) found -[13356] Forked 25133 -[13355] Forked 25134 -(25133) found -(25134) found -[13354] Forked 25135 -[13353] Forked 25136 -(25135) found -(25136) found -[13352] Forked 25137 -[13351] Forked 25138 -(25137) found -(25138) found -[13350] Forked 25139 -[13349] Forked 25140 -(25139) found -(25140) found -[13348] Forked 25141 -[13347] Forked 25142 -(25141) found -(25142) found -[13346] Forked 25143 -[13345] Forked 25144 -(25143) found -(25144) found -[13344] Forked 25145 -[13343] Forked 25146 -(25145) found -(25146) found -[13342] Forked 25147 -[13341] Forked 25148 -(25147) found -(25148) found -[13340] Forked 25149 -[13339] Forked 25150 -(25149) found -(25150) found -[13338] Forked 25151 -[13337] Forked 25152 -(25151) found -(25152) found -[13336] Forked 25153 -[13335] Forked 25154 -(25153) found -(25154) found -[13334] Forked 25155 -[13333] Forked 25156 -(25155) found -(25156) found -[13332] Forked 25157 -[13331] Forked 25158 -(25157) found -(25158) found -[13330] Forked 25159 -[13329] Forked 25160 -(25159) found -(25160) found -[13328] Forked 25161 -[13327] Forked 25162 -(25161) found -(25162) found -[13326] Forked 25163 -[13325] Forked 25164 -(25163) found -(25164) found -[13324] Forked 25165 -[13323] Forked 25166 -(25165) found -(25166) found -[13322] Forked 25167 -[13321] Forked 25168 -(25167) found -(25168) found -[13320] Forked 25169 -[13319] Forked 25170 -(25169) found -(25170) found -[13318] Forked 25171 -[13317] Forked 25172 -(25171) found -(25172) found -[13316] Forked 25173 -[13315] Forked 25174 -(25173) found -(25174) found -[13314] Forked 25175 -[13313] Forked 25176 -(25175) found -(25176) found -[13312] Forked 25177 -[13311] Forked 25178 -(25177) found -(25178) found -[13310] Forked 25179 -[13309] Forked 25180 -(25179) found -(25180) found -[13308] Forked 25181 -[13307] Forked 25182 -(25181) found -(25182) found -[13306] Forked 25183 -[13305] Forked 25184 -(25183) found -(25184) found -[13304] Forked 25185 -[13303] Forked 25186 -(25185) found -(25186) found -[13302] Forked 25187 -[13301] Forked 25188 -(25187) found -(25188) found -[13300] Forked 25189 -[13299] Forked 25190 -(25189) found -(25190) found -[13298] Forked 25191 -[13297] Forked 25192 -(25191) found -(25192) found -[13296] Forked 25193 -[13295] Forked 25194 -(25193) found -(25194) found -[13294] Forked 25195 -[13293] Forked 25196 -(25195) found -(25196) found -[13292] Forked 25197 -[13291] Forked 25198 -(25197) found -(25198) found -[13290] Forked 25199 -[13289] Forked 25200 -(25199) found -(25200) found -[13288] Forked 25201 -[13287] Forked 25202 -(25201) found -(25202) found -[13286] Forked 25203 -[13285] Forked 25204 -(25203) found -(25204) found -[13284] Forked 25205 -[13283] Forked 25206 -(25205) found -(25206) found -[13282] Forked 25207 -[13281] Forked 25208 -(25207) found -(25208) found -[13280] Forked 25209 -[13279] Forked 25210 -(25209) found -(25210) found -[13278] Forked 25211 -[13277] Forked 25212 -(25211) found -(25212) found -[13276] Forked 25213 -[13275] Forked 25214 -(25213) found -(25214) found -[13274] Forked 25215 -[13273] Forked 25216 -(25215) found -(25216) found -[13272] Forked 25217 -[13271] Forked 25218 -(25217) found -(25218) found -[13270] Forked 25219 -[13269] Forked 25220 -(25219) found -(25220) found -[13268] Forked 25221 -[13267] Forked 25222 -(25221) found -(25222) found -[13266] Forked 25223 -[13265] Forked 25224 -(25223) found -(25224) found -[13264] Forked 25225 -[13263] Forked 25226 -(25225) found -(25226) found -[13262] Forked 25227 -[13261] Forked 25228 -(25227) found -(25228) found -[13260] Forked 25229 -[13259] Forked 25230 -(25229) found -(25230) found -[13258] Forked 25231 -[13257] Forked 25232 -(25231) found -(25232) found -[13256] Forked 25233 -[13255] Forked 25234 -(25233) found -(25234) found -[13254] Forked 25235 -[13253] Forked 25236 -(25235) found -(25236) found -[13252] Forked 25237 -[13251] Forked 25238 -(25237) found -(25238) found -[13250] Forked 25239 -[13249] Forked 25240 -(25239) found -(25240) found -[13248] Forked 25241 -[13247] Forked 25242 -(25241) found -(25242) found -[13246] Forked 25243 -[13245] Forked 25244 -(25243) found -(25244) found -[13244] Forked 25245 -[13243] Forked 25246 -(25245) found -(25246) found -[13242] Forked 25247 -[13241] Forked 25248 -(25247) found -(25248) found -[13240] Forked 25249 -[13239] Forked 25250 -(25249) found -(25250) found -[13238] Forked 25251 -[13237] Forked 25252 -(25251) found -(25252) found -[13236] Forked 25253 -[13235] Forked 25254 -(25253) found -(25254) found -[13234] Forked 25255 -[13233] Forked 25256 -(25255) found -(25256) found -[13232] Forked 25257 -[13231] Forked 25258 -(25257) found -(25258) found -[13230] Forked 25259 -[13229] Forked 25260 -(25259) found -(25260) found -[13228] Forked 25261 -(25261) found -[13227] Forked 25262 -(25262) found -[13226] Forked 25263 -(25263) found -[13225] Forked 25264 -(25264) found -[13224] Forked 25265 -(25265) found -[13223] Forked 25266 -(25266) found -[13222] Forked 25267 -(25267) found -[13221] Forked 25268 -(25268) found -[13220] Forked 25269 -(25269) found -[13219] Forked 25270 -(25270) found -[13218] Forked 25271 -(25271) found -[13217] Forked 25272 -(25272) found -[13216] Forked 25273 -(25273) found -[13215] Forked 25274 -(25274) found -[13214] Forked 25275 -(25275) found -[13213] Forked 25276 -(25276) found -[13212] Forked 25277 -(25277) found -[13211] Forked 25278 -(25278) found -[13210] Forked 25279 -(25279) found -[13209] Forked 25280 -(25280) found -[13208] Forked 25281 -(25281) found -[13207] Forked 25282 -(25282) found -[13206] Forked 25283 -(25283) found -[13205] Forked 25284 -(25284) found -[13204] Forked 25285 -(25285) found -[13203] Forked 25286 -(25286) found -[13202] Forked 25287 -(25287) found -[13201] Forked 25288 -(25288) found -[13200] Forked 25289 -(25289) found -[13199] Forked 25290 -(25290) found -[13198] Forked 25291 -(25291) found -[13197] Forked 25292 -(25292) found -[13196] Forked 25293 -(25293) found -[13195] Forked 25294 -(25294) found -[13194] Forked 25295 -[13193] Forked 25296 -(25295) found -(25296) found -[13192] Forked 25297 -[13191] Forked 25298 -(25297) found -(25298) found -[13190] Forked 25299 -[13189] Forked 25300 -(25299) found -(25300) found -[13188] Forked 25301 -[13187] Forked 25302 -(25301) found -(25302) found -[13186] Forked 25303 -[13185] Forked 25304 -(25303) found -(25304) found -[13184] Forked 25305 -[13183] Forked 25306 -(25305) found -(25306) found -[13182] Forked 25307 -[13181] Forked 25308 -(25307) found -(25308) found -[13180] Forked 25309 -[13179] Forked 25310 -(25309) found -(25310) found -[13178] Forked 25311 -[13177] Forked 25312 -(25311) found -(25312) found -[13176] Forked 25313 -[13175] Forked 25314 -(25313) found -(25314) found -[13174] Forked 25315 -[13173] Forked 25316 -(25315) found -(25316) found -[13172] Forked 25317 -[13171] Forked 25318 -(25317) found -(25318) found -[13170] Forked 25319 -[13169] Forked 25320 -(25319) found -(25320) found -[13168] Forked 25321 -[13167] Forked 25322 -(25321) found -(25322) found -[13166] Forked 25323 -[13165] Forked 25324 -(25323) found -(25324) found -[13164] Forked 25325 -[13163] Forked 25326 -(25325) found -(25326) found -[13162] Forked 25327 -[13161] Forked 25328 -(25327) found -(25328) found -[13160] Forked 25329 -[13159] Forked 25330 -(25329) found -(25330) found -[13158] Forked 25331 -[13157] Forked 25332 -(25331) found -(25332) found -[13156] Forked 25333 -(25333) found -[13155] Forked 25334 -[13154] Forked 25335 -(25334) found -(25335) found -[13153] Forked 25336 -[13152] Forked 25337 -(25336) found -(25337) found -[13151] Forked 25338 -[13150] Forked 25339 -(25338) found -(25339) found -[13149] Forked 25340 -[13148] Forked 25341 -(25340) found -(25341) found -[13147] Forked 25342 -[13146] Forked 25343 -(25342) found -(25343) found -[13145] Forked 25344 -[13144] Forked 25345 -(25344) found -(25345) found -[13143] Forked 25346 -[13142] Forked 25347 -(25346) found -(25347) found -[13141] Forked 25348 -[13140] Forked 25349 -(25348) found -(25349) found -[13139] Forked 25350 -[13138] Forked 25351 -(25350) found -(25351) found -[13137] Forked 25352 -[13136] Forked 25353 -(25352) found -(25353) found -[13135] Forked 25354 -[13134] Forked 25355 -(25354) found -(25355) found -[13133] Forked 25356 -[13132] Forked 25357 -(25356) found -(25357) found -[13131] Forked 25358 -[13130] Forked 25359 -(25358) found -(25359) found -[13129] Forked 25360 -[13128] Forked 25361 -(25360) found -(25361) found -[13127] Forked 25362 -[13126] Forked 25363 -(25362) found -(25363) found -[13125] Forked 25364 -[13124] Forked 25365 -(25364) found -(25365) found -[13123] Forked 25366 -[13122] Forked 25367 -(25366) found -(25367) found -[13121] Forked 25368 -[13120] Forked 25369 -(25368) found -(25369) found -[13119] Forked 25370 -[13118] Forked 25371 -(25370) found -(25371) found -[13117] Forked 25372 -[13116] Forked 25373 -(25372) found -(25373) found -[13115] Forked 25374 -[13114] Forked 25375 -(25374) found -(25375) found -[13113] Forked 25376 -[13112] Forked 25377 -(25376) found -(25377) found -[13111] Forked 25378 -[13110] Forked 25379 -(25378) found -(25379) found -[13109] Forked 25380 -[13108] Forked 25381 -(25380) found -(25381) found -[13107] Forked 25382 -[13106] Forked 25383 -(25382) found -(25383) found -[13105] Forked 25384 -[13104] Forked 25385 -(25384) found -(25385) found -[13103] Forked 25386 -[13102] Forked 25387 -(25386) found -(25387) found -[13101] Forked 25388 -[13100] Forked 25389 -(25388) found -(25389) found -[13099] Forked 25390 -[13098] Forked 25391 -(25390) found -(25391) found -[13097] Forked 25392 -[13096] Forked 25393 -(25392) found -(25393) found -[13095] Forked 25394 -[13094] Forked 25396 -(25394) found -(25396) found -[13093] Forked 25397 -(25397) found -[13092] Forked 25398 -(25398) found -[13091] Forked 25399 -(25399) found -[13090] Forked 25400 -(25400) found -[13089] Forked 25401 -(25401) found -[13088] Forked 25402 -(25402) found -[13087] Forked 25403 -(25403) found -[13086] Forked 25404 -(25404) found -[13085] Forked 25405 -(25405) found -[13084] Forked 25406 -(25406) found -[13083] Forked 25407 -(25407) found -[13082] Forked 25408 -(25408) found -[13081] Forked 25409 -(25409) found -[13080] Forked 25410 -(25410) found -[13079] Forked 25411 -(25411) found -[13078] Forked 25412 -(25412) found -[13077] Forked 25413 -(25413) found -[13076] Forked 25414 -(25414) found -[13075] Forked 25416 -(25416) found -[13074] Forked 25417 -(25417) found -[13073] Forked 25418 -(25418) found -[13072] Forked 25419 -(25419) found -[13071] Forked 25420 -(25420) found -[13070] Forked 25421 -(25421) found -[13069] Forked 25422 -(25422) found -[13068] Forked 25423 -(25423) found -[13067] Forked 25424 -(25424) found -[13066] Forked 25426 -(25426) found -[13065] Forked 25428 -(25428) found -[13064] Forked 25430 -(25430) found -[13063] Forked 25431 -(25431) found -[13062] Forked 25432 -(25432) found -[13061] Forked 25433 -(25433) found -[13060] Forked 25434 -(25434) found -[13059] Forked 25435 -(25435) found -[13058] Forked 25436 -(25436) found -[13057] Forked 25437 -(25437) found -[13056] Forked 25438 -(25438) found -[13055] Forked 25439 -(25439) found -[13054] Forked 25440 -(25440) found -[13053] Forked 25441 -(25441) found -[13052] Forked 25442 -(25442) found -[13051] Forked 25443 -(25443) found -[13050] Forked 25444 -(25444) found -[13049] Forked 25445 -(25445) found -[13048] Forked 25446 -(25446) found -[13047] Forked 25447 -(25447) found -[13046] Forked 25448 -(25448) found -[13045] Forked 25449 -(25449) found -[13044] Forked 25450 -(25450) found -[13043] Forked 25451 -(25451) found -[13042] Forked 25452 -(25452) found -[13041] Forked 25453 -(25453) found -[13040] Forked 25454 -(25454) found -[13039] Forked 25455 -(25455) found -[13038] Forked 25456 -(25456) found -[13037] Forked 25457 -(25457) found -[13036] Forked 25458 -(25458) found -[13035] Forked 25459 -(25459) found -[13034] Forked 25460 -(25460) found -[13033] Forked 25461 -[13032] Forked 25462 -(25461) found -(25462) found -[13031] Forked 25463 -[13030] Forked 25464 -(25463) found -(25464) found -[13029] Forked 25465 -[13028] Forked 25466 -(25465) found -(25466) found -[13027] Forked 25467 -[13026] Forked 25468 -(25467) found -(25468) found -[13025] Forked 25469 -[13024] Forked 25470 -(25469) found -(25470) found -[13023] Forked 25471 -[13022] Forked 25472 -(25471) found -(25472) found -[13021] Forked 25473 -[13020] Forked 25474 -(25473) found -(25474) found -[13019] Forked 25475 -[13018] Forked 25476 -(25475) found -(25476) found -[13017] Forked 25477 -[13016] Forked 25478 -(25477) found -(25478) found -[13015] Forked 25479 -[13014] Forked 25480 -(25479) found -(25480) found -[13013] Forked 25481 -[13012] Forked 25482 -(25481) found -(25482) found -[13011] Forked 25483 -[13010] Forked 25484 -(25483) found -(25484) found -[13009] Forked 25485 -[13008] Forked 25486 -(25485) found -(25486) found -[13007] Forked 25487 -[13006] Forked 25488 -(25487) found -(25488) found -[13005] Forked 25489 -[13004] Forked 25490 -(25489) found -(25490) found -[13003] Forked 25491 -[13002] Forked 25492 -(25491) found -(25492) found -[13001] Forked 25493 -[13000] Forked 25494 -(25493) found -(25494) found -[12999] Forked 25495 -[12998] Forked 25496 -(25495) found -(25496) found -[12997] Forked 25497 -[12996] Forked 25498 -(25497) found -(25498) found -[12995] Forked 25499 -[12994] Forked 25500 -(25499) found -(25500) found -[12993] Forked 25501 -[12992] Forked 25502 -(25501) found -(25502) found -[12991] Forked 25503 -[12990] Forked 25504 -(25503) found -(25504) found -[12989] Forked 25505 -[12988] Forked 25506 -(25505) found -(25506) found -[12987] Forked 25507 -[12986] Forked 25508 -(25507) found -(25508) found -[12985] Forked 25509 -[12984] Forked 25510 -(25509) found -(25510) found -[12983] Forked 25511 -[12982] Forked 25512 -(25511) found -(25512) found -[12981] Forked 25513 -[12980] Forked 25514 -(25513) found -(25514) found -[12979] Forked 25515 -[12978] Forked 25516 -(25515) found -(25516) found -[12977] Forked 25517 -[12976] Forked 25518 -(25517) found -(25518) found -[12975] Forked 25519 -[12974] Forked 25520 -(25519) found -(25520) found -[12973] Forked 25521 -[12972] Forked 25522 -(25521) found -(25522) found -[12971] Forked 25523 -[12970] Forked 25524 -(25523) found -(25524) found -[12969] Forked 25525 -[12968] Forked 25526 -(25525) found -(25526) found -[12967] Forked 25527 -[12966] Forked 25528 -(25527) found -(25528) found -[12965] Forked 25529 -[12964] Forked 25530 -(25529) found -(25530) found -[12963] Forked 25531 -[12962] Forked 25532 -(25531) found -(25532) found -[12961] Forked 25533 -[12960] Forked 25534 -(25533) found -(25534) found -[12959] Forked 25535 -[12958] Forked 25536 -(25535) found -(25536) found -[12957] Forked 25537 -[12956] Forked 25538 -(25537) found -(25538) found -[12955] Forked 25539 -[12954] Forked 25540 -(25539) found -(25540) found -[12953] Forked 25541 -[12952] Forked 25542 -(25541) found -(25542) found -[12951] Forked 25543 -[12950] Forked 25544 -(25543) found -(25544) found -[12949] Forked 25545 -[12948] Forked 25546 -(25545) found -(25546) found -[12947] Forked 25547 -[12946] Forked 25548 -(25547) found -(25548) found -[12945] Forked 25549 -[12944] Forked 25550 -(25549) found -(25550) found -[12943] Forked 25551 -[12942] Forked 25552 -(25551) found -(25552) found -[12941] Forked 25553 -[12940] Forked 25554 -(25553) found -(25554) found -[12939] Forked 25555 -[12938] Forked 25556 -(25555) found -(25556) found -[12937] Forked 25557 -[12936] Forked 25558 -(25557) found -(25558) found -[12935] Forked 25559 -[12934] Forked 25560 -(25559) found -(25560) found -[12933] Forked 25561 -[12932] Forked 25562 -(25561) found -(25562) found -[12931] Forked 25563 -[12930] Forked 25564 -(25563) found -(25564) found -[12929] Forked 25565 -[12928] Forked 25566 -(25565) found -(25566) found -[12927] Forked 25567 -[12926] Forked 25568 -(25567) found -(25568) found -[12925] Forked 25569 -[12924] Forked 25570 -(25569) found -(25570) found -[12923] Forked 25571 -[12922] Forked 25572 -(25571) found -(25572) found -[12921] Forked 25573 -[12920] Forked 25574 -(25573) found -(25574) found -[12919] Forked 25575 -[12918] Forked 25576 -(25575) found -(25576) found -[12917] Forked 25577 -[12916] Forked 25578 -(25577) found -(25578) found -[12915] Forked 25579 -[12914] Forked 25580 -(25579) found -(25580) found -[12913] Forked 25581 -[12912] Forked 25582 -(25581) found -(25582) found -[12911] Forked 25583 -[12910] Forked 25584 -(25583) found -(25584) found -[12909] Forked 25585 -[12908] Forked 25586 -(25585) found -(25586) found -[12907] Forked 25587 -[12906] Forked 25588 -(25587) found -(25588) found -[12905] Forked 25589 -[12904] Forked 25590 -(25589) found -(25590) found -[12903] Forked 25591 -[12902] Forked 25592 -(25591) found -(25592) found -[12901] Forked 25593 -[12900] Forked 25595 -(25593) found -(25595) found -[12899] Forked 25596 -[12898] Forked 25597 -(25596) found -(25597) found -[12897] Forked 25598 -[12896] Forked 25599 -(25599) found -(25598) found -[12895] Forked 25600 -(25600) found -[12894] Forked 25601 -[12893] Forked 25602 -(25601) found -(25602) found -[12892] Forked 25603 -[12891] Forked 25604 -(25603) found -(25604) found -[12890] Forked 25605 -[12889] Forked 25606 -(25605) found -(25606) found -[12888] Forked 25607 -[12887] Forked 25608 -(25607) found -(25608) found -[12886] Forked 25609 -[12885] Forked 25610 -(25609) found -(25610) found -[12884] Forked 25611 -[12883] Forked 25612 -(25611) found -(25612) found -[12882] Forked 25613 -[12881] Forked 25614 -(25613) found -(25614) found -[12880] Forked 25615 -[12879] Forked 25616 -(25615) found -(25616) found -[12878] Forked 25617 -[12877] Forked 25618 -(25617) found -(25618) found -[12876] Forked 25619 -[12875] Forked 25620 -(25619) found -(25620) found -[12874] Forked 25621 -[12873] Forked 25622 -(25621) found -(25622) found -[12872] Forked 25623 -[12871] Forked 25624 -(25623) found -(25624) found -[12870] Forked 25625 -(25625) found -[12869] Forked 25626 -[12868] Forked 25627 -(25626) found -(25627) found -[12867] Forked 25628 -[12866] Forked 25629 -(25628) found -(25629) found -[12865] Forked 25630 -[12864] Forked 25631 -(25630) found -(25631) found -[12863] Forked 25632 -[12862] Forked 25633 -(25632) found -(25633) found -[12861] Forked 25634 -[12860] Forked 25635 -(25634) found -(25635) found -[12859] Forked 25636 -[12858] Forked 25637 -(25636) found -(25637) found -[12857] Forked 25638 -[12856] Forked 25639 -(25638) found -(25639) found -[12855] Forked 25640 -[12854] Forked 25641 -(25640) found -(25641) found -[12853] Forked 25642 -[12852] Forked 25643 -(25642) found -(25643) found -[12851] Forked 25644 -[12850] Forked 25645 -(25644) found -(25645) found -[12849] Forked 25646 -[12848] Forked 25647 -(25646) found -(25647) found -[12847] Forked 25648 -[12846] Forked 25649 -(25648) found -(25649) found -[12845] Forked 25650 -[12844] Forked 25651 -(25650) found -(25651) found -[12843] Forked 25652 -[12842] Forked 25653 -(25652) found -(25653) found -[12841] Forked 25654 -[12840] Forked 25655 -(25654) found -(25655) found -[12839] Forked 25656 -[12838] Forked 25657 -(25656) found -(25657) found -[12837] Forked 25658 -[12836] Forked 25659 -(25658) found -(25659) found -[12835] Forked 25660 -[12834] Forked 25661 -(25660) found -(25661) found -[12833] Forked 25662 -[12832] Forked 25663 -(25662) found -(25663) found -[12831] Forked 25664 -[12830] Forked 25665 -(25664) found -(25665) found -[12829] Forked 25666 -[12828] Forked 25667 -(25666) found -(25667) found -[12827] Forked 25668 -[12826] Forked 25669 -(25668) found -(25669) found -[12825] Forked 25670 -[12824] Forked 25671 -(25670) found -(25671) found -[12823] Forked 25672 -[12822] Forked 25673 -(25672) found -(25673) found -[12821] Forked 25674 -[12820] Forked 25675 -(25674) found -(25675) found -[12819] Forked 25676 -[12818] Forked 25677 -(25676) found -(25677) found -[12817] Forked 25678 -[12816] Forked 25679 -(25678) found -(25679) found -[12815] Forked 25680 -[12814] Forked 25681 -(25680) found -(25681) found -[12813] Forked 25682 -[12812] Forked 25683 -(25682) found -(25683) found -[12811] Forked 25684 -[12810] Forked 25685 -(25684) found -(25685) found -[12809] Forked 25686 -[12808] Forked 25687 -(25686) found -(25687) found -[12807] Forked 25688 -[12806] Forked 25689 -(25688) found -(25689) found -[12805] Forked 25690 -[12804] Forked 25691 -(25690) found -(25691) found -[12803] Forked 25692 -[12802] Forked 25693 -(25692) found -(25693) found -[12801] Forked 25694 -[12800] Forked 25695 -(25694) found -(25695) found -[12799] Forked 25696 -[12798] Forked 25697 -(25696) found -(25697) found -[12797] Forked 25698 -[12796] Forked 25699 -(25698) found -(25699) found -[12795] Forked 25700 -[12794] Forked 25701 -(25700) found -(25701) found -[12793] Forked 25702 -[12792] Forked 25703 -(25702) found -(25703) found -[12791] Forked 25704 -[12790] Forked 25705 -(25704) found -(25705) found -[12789] Forked 25706 -[12788] Forked 25707 -(25706) found -(25707) found -[12787] Forked 25708 -[12786] Forked 25709 -(25708) found -(25709) found -[12785] Forked 25710 -[12784] Forked 25711 -(25710) found -(25711) found -[12783] Forked 25712 -[12782] Forked 25713 -(25712) found -(25713) found -[12781] Forked 25714 -[12780] Forked 25715 -(25714) found -(25715) found -[12779] Forked 25716 -[12778] Forked 25717 -(25716) found -(25717) found -[12777] Forked 25718 -[12776] Forked 25719 -(25718) found -(25719) found -[12775] Forked 25720 -[12774] Forked 25721 -(25720) found -(25721) found -[12773] Forked 25722 -[12772] Forked 25723 -(25722) found -(25723) found -[12771] Forked 25724 -[12770] Forked 25725 -(25724) found -(25725) found -[12769] Forked 25726 -[12768] Forked 25727 -(25727) found -(25726) found -[12767] Forked 25728 -(25728) found -[12766] Forked 25729 -(25729) found -[12765] Forked 25730 -(25730) found -[12764] Forked 25731 -(25731) found -[12763] Forked 25732 -(25732) found -[12762] Forked 25733 -(25733) found -[12761] Forked 25734 -(25734) found -[12760] Forked 25735 -(25735) found -[12759] Forked 25736 -(25736) found -[12758] Forked 25737 -(25737) found -[12757] Forked 25738 -(25738) found -[12756] Forked 25739 -(25739) found -[12755] Forked 25740 -(25740) found -[12754] Forked 25741 -(25741) found -[12753] Forked 25742 -(25742) found -[12752] Forked 25743 -(25743) found -[12751] Forked 25744 -(25744) found -[12750] Forked 25745 -(25745) found -[12749] Forked 25746 -(25746) found -[12748] Forked 25747 -(25747) found -[12747] Forked 25748 -(25748) found -[12746] Forked 25749 -(25749) found -[12745] Forked 25750 -(25750) found -[12744] Forked 25751 -(25751) found -[12743] Forked 25752 -(25752) found -[12742] Forked 25753 -(25753) found -[12741] Forked 25754 -(25754) found -[12740] Forked 25755 -(25755) found -[12739] Forked 25756 -(25756) found -[12738] Forked 25757 -(25757) found -[12737] Forked 25758 -(25758) found -[12736] Forked 25759 -(25759) found -[12735] Forked 25760 -(25760) found -[12734] Forked 25761 -(25761) found -[12733] Forked 25762 -(25762) found -[12732] Forked 25763 -(25763) found -[12731] Forked 25764 -(25764) found -[12730] Forked 25765 -(25765) found -[12729] Forked 25766 -(25766) found -[12728] Forked 25767 -(25767) found -[12727] Forked 25768 -(25768) found -[12726] Forked 25769 -(25769) found -[12725] Forked 25770 -(25770) found -[12724] Forked 25771 -(25771) found -[12723] Forked 25772 -(25772) found -[12722] Forked 25774 -(25774) found -[12721] Forked 25775 -(25775) found -[12720] Forked 25776 -(25776) found -[12719] Forked 25777 -(25777) found -[12718] Forked 25778 -(25778) found -[12717] Forked 25779 -(25779) found -[12716] Forked 25780 -(25780) found -[12715] Forked 25781 -(25781) found -[12714] Forked 25782 -(25782) found -[12713] Forked 25783 -(25783) found -[12712] Forked 25784 -(25784) found -[12711] Forked 25785 -(25785) found -[12710] Forked 25786 -(25786) found -[12709] Forked 25787 -(25787) found -[12708] Forked 25788 -(25788) found -[12707] Forked 25789 -(25789) found -[12706] Forked 25790 -(25790) found -[12705] Forked 25791 -(25791) found -[12704] Forked 25792 -(25792) found -[12703] Forked 25793 -(25793) found -[12702] Forked 25794 -(25794) found -[12701] Forked 25795 -(25795) found -[12700] Forked 25796 -[12699] Forked 25797 -(25796) found -(25797) found -[12698] Forked 25798 -[12697] Forked 25799 -(25798) found -(25799) found -[12696] Forked 25800 -[12695] Forked 25801 -(25800) found -(25801) found -[12694] Forked 25802 -[12693] Forked 25803 -(25802) found -(25803) found -[12692] Forked 25804 -[12691] Forked 25805 -(25804) found -(25805) found -[12690] Forked 25806 -[12689] Forked 25807 -(25806) found -(25807) found -[12688] Forked 25808 -[12687] Forked 25809 -(25808) found -(25809) found -[12686] Forked 25810 -[12685] Forked 25811 -(25810) found -(25811) found -[12684] Forked 25812 -[12683] Forked 25813 -(25812) found -(25813) found -[12682] Forked 25814 -[12681] Forked 25815 -(25814) found -(25815) found -[12680] Forked 25816 -[12679] Forked 25817 -(25816) found -(25817) found -[12678] Forked 25818 -[12677] Forked 25819 -(25818) found -(25819) found -[12676] Forked 25820 -[12675] Forked 25821 -(25820) found -(25821) found -[12674] Forked 25822 -[12673] Forked 25823 -(25822) found -(25823) found -[12672] Forked 25824 -[12671] Forked 25825 -(25824) found -(25825) found -[12670] Forked 25826 -[12669] Forked 25827 -(25826) found -(25827) found -[12668] Forked 25828 -[12667] Forked 25829 -(25828) found -(25829) found -[12666] Forked 25830 -[12665] Forked 25831 -(25830) found -(25831) found -[12664] Forked 25832 -[12663] Forked 25833 -(25832) found -(25833) found -[12662] Forked 25834 -[12661] Forked 25835 -(25834) found -(25835) found -[12660] Forked 25836 -[12659] Forked 25837 -(25836) found -(25837) found -[12658] Forked 25838 -[12657] Forked 25839 -(25838) found -(25839) found -[12656] Forked 25840 -[12655] Forked 25841 -(25840) found -(25841) found -[12654] Forked 25842 -[12653] Forked 25843 -(25842) found -(25843) found -[12652] Forked 25844 -[12651] Forked 25845 -(25844) found -(25845) found -[12650] Forked 25846 -[12649] Forked 25847 -(25846) found -(25847) found -[12648] Forked 25848 -[12647] Forked 25849 -(25848) found -(25849) found -[12646] Forked 25850 -[12645] Forked 25851 -(25850) found -(25851) found -[12644] Forked 25852 -[12643] Forked 25853 -(25852) found -(25853) found -[12642] Forked 25854 -[12641] Forked 25855 -(25854) found -(25855) found -[12640] Forked 25856 -[12639] Forked 25857 -(25856) found -(25857) found -[12638] Forked 25858 -[12637] Forked 25859 -(25858) found -(25859) found -[12636] Forked 25860 -[12635] Forked 25861 -(25860) found -(25861) found -[12634] Forked 25862 -[12633] Forked 25863 -(25862) found -(25863) found -[12632] Forked 25864 -[12631] Forked 25865 -(25864) found -(25865) found -[12630] Forked 25866 -[12629] Forked 25867 -(25866) found -(25867) found -[12628] Forked 25868 -[12627] Forked 25869 -(25868) found -(25869) found -[12626] Forked 25870 -[12625] Forked 25871 -(25870) found -(25871) found -[12624] Forked 25872 -[12623] Forked 25873 -(25872) found -(25873) found -[12622] Forked 25874 -[12621] Forked 25875 -(25874) found -(25875) found -[12620] Forked 25876 -[12619] Forked 25877 -(25876) found -(25877) found -[12618] Forked 25878 -[12617] Forked 25879 -(25878) found -(25879) found -[12616] Forked 25880 -[12615] Forked 25881 -(25880) found -(25881) found -[12614] Forked 25882 -[12613] Forked 25883 -(25882) found -(25883) found -[12612] Forked 25884 -[12611] Forked 25885 -(25884) found -(25885) found -[12610] Forked 25886 -[12609] Forked 25887 -(25886) found -(25887) found -[12608] Forked 25888 -[12607] Forked 25889 -(25888) found -(25889) found -[12606] Forked 25890 -[12605] Forked 25891 -(25890) found -(25891) found -[12604] Forked 25892 -[12603] Forked 25893 -(25892) found -(25893) found -[12602] Forked 25894 -[12601] Forked 25895 -(25894) found -(25895) found -[12600] Forked 25896 -[12599] Forked 25897 -(25896) found -(25897) found -[12598] Forked 25898 -[12597] Forked 25899 -(25898) found -(25899) found -[12596] Forked 25900 -[12595] Forked 25901 -(25900) found -(25901) found -[12594] Forked 25902 -[12593] Forked 25903 -(25902) found -(25903) found -[12592] Forked 25904 -[12591] Forked 25905 -(25904) found -(25905) found -[12590] Forked 25906 -[12589] Forked 25907 -(25906) found -(25907) found -[12588] Forked 25908 -[12587] Forked 25909 -(25908) found -(25909) found -[12586] Forked 25910 -[12585] Forked 25911 -(25910) found -(25911) found -[12584] Forked 25912 -[12583] Forked 25913 -(25912) found -(25913) found -[12582] Forked 25914 -[12581] Forked 25915 -(25914) found -(25915) found -[12580] Forked 25916 -[12579] Forked 25917 -(25916) found -(25917) found -[12578] Forked 25918 -[12577] Forked 25919 -(25918) found -(25919) found -[12576] Forked 25920 -[12575] Forked 25921 -(25920) found -(25921) found -[12574] Forked 25922 -[12573] Forked 25923 -(25922) found -(25923) found -[12572] Forked 25924 -[12571] Forked 25925 -(25924) found -(25925) found -[12570] Forked 25926 -[12569] Forked 25927 -(25926) found -(25927) found -[12568] Forked 25928 -[12567] Forked 25929 -(25928) found -(25929) found -[12566] Forked 25930 -[12565] Forked 25931 -(25930) found -(25931) found -[12564] Forked 25932 -[12563] Forked 25933 -(25932) found -(25933) found -[12562] Forked 25934 -(25934) found -[12561] Forked 25935 -(25935) found -[12560] Forked 25936 -(25936) found -[12559] Forked 25937 -(25937) found -[12558] Forked 25938 -(25938) found -[12557] Forked 25939 -(25939) found -[12556] Forked 25940 -(25940) found -[12555] Forked 25941 -(25941) found -[12554] Forked 25942 -(25942) found -[12553] Forked 25943 -(25943) found -[12552] Forked 25944 -(25944) found -[12551] Forked 25945 -(25945) found -[12550] Forked 25946 -(25946) found -[12549] Forked 25947 -(25947) found -[12548] Forked 25948 -(25948) found -[12547] Forked 25949 -(25949) found -[12546] Forked 25950 -(25950) found -[12545] Forked 25951 -(25951) found -[12544] Forked 25952 -(25952) found -[12543] Forked 25953 -(25953) found -[12542] Forked 25954 -(25954) found -[12541] Forked 25955 -(25955) found -[12540] Forked 25956 -(25956) found -[12539] Forked 25957 -(25957) found -[12538] Forked 25958 -(25958) found -[12537] Forked 25959 -(25959) found -[12536] Forked 25960 -(25960) found -[12535] Forked 25961 -(25961) found -[12534] Forked 25962 -(25962) found -[12533] Forked 25963 -(25963) found -[12532] Forked 25964 -(25964) found -[12531] Forked 25965 -(25965) found -[12530] Forked 25966 -(25966) found -[12529] Forked 25967 -(25967) found -[12528] Forked 25968 -(25968) found -[12527] Forked 25969 -[12526] Forked 25970 -(25969) found -(25970) found -[12525] Forked 25971 -[12524] Forked 25972 -(25971) found -(25972) found -[12523] Forked 25973 -[12522] Forked 25974 -(25973) found -(25974) found -[12521] Forked 25975 -[12520] Forked 25976 -(25975) found -(25976) found -[12519] Forked 25977 -[12518] Forked 25978 -(25977) found -(25978) found -[12517] Forked 25979 -[12516] Forked 25980 -(25979) found -(25980) found -[12515] Forked 25981 -[12514] Forked 25982 -(25981) found -(25982) found -[12513] Forked 25983 -[12512] Forked 25984 -(25983) found -(25984) found -[12511] Forked 25985 -[12510] Forked 25986 -(25985) found -(25986) found -[12509] Forked 25987 -[12508] Forked 25988 -(25987) found -(25988) found -[12507] Forked 25989 -[12506] Forked 25990 -(25989) found -(25990) found -[12505] Forked 25991 -[12504] Forked 25992 -(25991) found -(25992) found -[12503] Forked 25993 -[12502] Forked 25994 -(25993) found -(25994) found -[12501] Forked 25995 -[12500] Forked 25996 -(25995) found -(25996) found -[12499] Forked 25997 -[12498] Forked 25998 -(25997) found -(25998) found -[12497] Forked 25999 -[12496] Forked 26000 -(25999) found -(26000) found -[12495] Forked 26001 -[12494] Forked 26002 -(26001) found -(26002) found -[12493] Forked 26003 -[12492] Forked 26004 -(26003) found -(26004) found -[12491] Forked 26005 -[12490] Forked 26006 -(26005) found -(26006) found -[12489] Forked 26007 -[12488] Forked 26008 -(26007) found -(26008) found -[12487] Forked 26009 -[12486] Forked 26010 -(26009) found -(26010) found -[12485] Forked 26011 -[12484] Forked 26012 -(26011) found -(26012) found -[12483] Forked 26013 -[12482] Forked 26014 -(26013) found -(26014) found -[12481] Forked 26015 -(26015) found -[12480] Forked 26016 -(26016) found -[12479] Forked 26017 -(26017) found -[12478] Forked 26018 -(26018) found -[12477] Forked 26019 -(26019) found -[12476] Forked 26020 -(26020) found -[12475] Forked 26021 -(26021) found -[12474] Forked 26022 -(26022) found -[12473] Forked 26023 -(26023) found -[12472] Forked 26024 -(26024) found -[12471] Forked 26025 -(26025) found -[12470] Forked 26026 -(26026) found -[12469] Forked 26027 -(26027) found -[12468] Forked 26028 -(26028) found -[12467] Forked 26029 -(26029) found -[12466] Forked 26030 -(26030) found -[12465] Forked 26031 -(26031) found -[12464] Forked 26032 -(26032) found -[12463] Forked 26033 -(26033) found -[12462] Forked 26034 -(26034) found -[12461] Forked 26035 -(26035) found -[12460] Forked 26036 -(26036) found -[12459] Forked 26037 -(26037) found -[12458] Forked 26038 -(26038) found -[12457] Forked 26039 -(26039) found -[12456] Forked 26040 -(26040) found -[12455] Forked 26041 -(26041) found -[12454] Forked 26042 -(26042) found -[12453] Forked 26043 -(26043) found -[12452] Forked 26044 -(26044) found -[12451] Forked 26045 -(26045) found -[12450] Forked 26046 -(26046) found -[12449] Forked 26047 -(26047) found -[12448] Forked 26048 -(26048) found -[12447] Forked 26049 -(26049) found -[12446] Forked 26050 -[12445] Forked 26051 -(26050) found -(26051) found -[12444] Forked 26052 -[12443] Forked 26053 -(26052) found -(26053) found -[12442] Forked 26054 -[12441] Forked 26055 -(26054) found -(26055) found -[12440] Forked 26056 -[12439] Forked 26057 -(26056) found -(26057) found -[12438] Forked 26058 -[12437] Forked 26059 -(26058) found -(26059) found -[12436] Forked 26060 -[12435] Forked 26061 -(26060) found -(26061) found -[12434] Forked 26062 -[12433] Forked 26063 -(26062) found -(26063) found -[12432] Forked 26064 -[12431] Forked 26065 -(26064) found -(26065) found -[12430] Forked 26066 -[12429] Forked 26067 -(26066) found -(26067) found -[12428] Forked 26068 -[12427] Forked 26069 -(26068) found -(26069) found -[12426] Forked 26070 -[12425] Forked 26071 -(26070) found -(26071) found -[12424] Forked 26072 -[12423] Forked 26073 -(26072) found -(26073) found -[12422] Forked 26074 -[12421] Forked 26075 -(26074) found -(26075) found -[12420] Forked 26076 -[12419] Forked 26077 -(26076) found -(26077) found -[12418] Forked 26078 -[12417] Forked 26079 -(26078) found -(26079) found -[12416] Forked 26080 -[12415] Forked 26081 -(26080) found -(26081) found -[12414] Forked 26082 -[12413] Forked 26083 -(26082) found -(26083) found -[12412] Forked 26084 -[12411] Forked 26085 -(26084) found -(26085) found -[12410] Forked 26086 -[12409] Forked 26087 -(26086) found -(26087) found -[12408] Forked 26088 -[12407] Forked 26089 -(26088) found -(26089) found -[12406] Forked 26090 -[12405] Forked 26091 -(26090) found -(26091) found -[12404] Forked 26092 -[12403] Forked 26093 -(26092) found -(26093) found -[12402] Forked 26094 -[12401] Forked 26095 -(26094) found -(26095) found -[12400] Forked 26096 -[12399] Forked 26097 -(26096) found -(26097) found -[12398] Forked 26098 -[12397] Forked 26099 -(26098) found -(26099) found -[12396] Forked 26100 -[12395] Forked 26101 -(26100) found -(26101) found -[12394] Forked 26102 -[12393] Forked 26103 -(26102) found -(26103) found -[12392] Forked 26104 -[12391] Forked 26105 -(26104) found -(26105) found -[12390] Forked 26106 -[12389] Forked 26107 -(26106) found -(26107) found -[12388] Forked 26108 -[12387] Forked 26109 -(26108) found -(26109) found -[12386] Forked 26110 -[12385] Forked 26111 -(26110) found -(26111) found -[12384] Forked 26112 -[12383] Forked 26113 -(26112) found -(26113) found -[12382] Forked 26114 -[12381] Forked 26115 -(26114) found -(26115) found -[12380] Forked 26116 -[12379] Forked 26117 -(26116) found -(26117) found -[12378] Forked 26118 -[12377] Forked 26119 -(26118) found -(26119) found -[12376] Forked 26120 -[12375] Forked 26121 -(26120) found -(26121) found -[12374] Forked 26122 -[12373] Forked 26123 -(26122) found -(26123) found -[12372] Forked 26124 -[12371] Forked 26125 -(26124) found -(26125) found -[12370] Forked 26126 -[12369] Forked 26127 -(26126) found -(26127) found -[12368] Forked 26128 -[12367] Forked 26129 -(26128) found -(26129) found -[12366] Forked 26130 -[12365] Forked 26131 -(26130) found -(26131) found -[12364] Forked 26132 -[12363] Forked 26133 -(26132) found -(26133) found -[12362] Forked 26134 -[12361] Forked 26135 -(26134) found -(26135) found -[12360] Forked 26136 -[12359] Forked 26137 -(26136) found -(26137) found -[12358] Forked 26138 -[12357] Forked 26139 -(26138) found -(26139) found -[12356] Forked 26140 -[12355] Forked 26141 -(26140) found -(26141) found -[12354] Forked 26142 -[12353] Forked 26143 -(26142) found -(26143) found -[12352] Forked 26144 -[12351] Forked 26145 -(26144) found -(26145) found -[12350] Forked 26146 -[12349] Forked 26147 -(26146) found -(26147) found -[12348] Forked 26148 -[12347] Forked 26149 -(26148) found -(26149) found -[12346] Forked 26150 -[12345] Forked 26151 -(26150) found -(26151) found -[12344] Forked 26152 -[12343] Forked 26153 -(26152) found -(26153) found -[12342] Forked 26154 -[12341] Forked 26155 -(26154) found -(26155) found -[12340] Forked 26156 -[12339] Forked 26157 -(26156) found -(26157) found -[12338] Forked 26158 -[12337] Forked 26159 -(26158) found -(26159) found -[12336] Forked 26160 -[12335] Forked 26161 -(26160) found -(26161) found -[12334] Forked 26162 -[12333] Forked 26163 -(26162) found -(26163) found -[12332] Forked 26164 -[12331] Forked 26165 -(26164) found -(26165) found -[12330] Forked 26166 -[12329] Forked 26167 -(26166) found -(26167) found -[12328] Forked 26168 -[12327] Forked 26169 -(26168) found -(26169) found -[12326] Forked 26170 -[12325] Forked 26171 -(26170) found -(26171) found -[12324] Forked 26172 -[12323] Forked 26173 -(26172) found -(26173) found -[12322] Forked 26174 -[12321] Forked 26175 -(26174) found -(26175) found -[12320] Forked 26176 -[12319] Forked 26177 -(26176) found -(26177) found -[12318] Forked 26178 -[12317] Forked 26179 -(26178) found -(26179) found -[12316] Forked 26180 -[12315] Forked 26181 -(26180) found -(26181) found -[12314] Forked 26182 -(26182) found -[12313] Forked 26183 -[12312] Forked 26184 -(26183) found -(26184) found -[12311] Forked 26185 -[12310] Forked 26186 -(26185) found -(26186) found -[12309] Forked 26187 -[12308] Forked 26188 -(26187) found -(26188) found -[12307] Forked 26189 -[12306] Forked 26190 -(26189) found -(26190) found -[12305] Forked 26191 -[12304] Forked 26192 -(26191) found -(26192) found -[12303] Forked 26193 -[12302] Forked 26194 -(26193) found -(26194) found -[12301] Forked 26195 -[12300] Forked 26196 -(26195) found -(26196) found -[12299] Forked 26197 -[12298] Forked 26198 -(26197) found -(26198) found -[12297] Forked 26199 -[12296] Forked 26200 -(26199) found -(26200) found -[12295] Forked 26201 -[12294] Forked 26202 -(26201) found -(26202) found -[12293] Forked 26203 -[12292] Forked 26204 -(26203) found -(26204) found -[12291] Forked 26205 -[12290] Forked 26206 -(26205) found -(26206) found -[12289] Forked 26207 -[12288] Forked 26208 -(26207) found -(26208) found -[12287] Forked 26209 -[12286] Forked 26210 -(26209) found -(26210) found -[12285] Forked 26211 -[12284] Forked 26212 -(26211) found -(26212) found -[12283] Forked 26213 -[12282] Forked 26214 -(26213) found -(26214) found -[12281] Forked 26215 -[12280] Forked 26216 -(26215) found -(26216) found -[12279] Forked 26217 -[12278] Forked 26218 -(26217) found -(26218) found -[12277] Forked 26219 -[12276] Forked 26220 -(26219) found -(26220) found -[12275] Forked 26221 -[12274] Forked 26222 -(26221) found -(26222) found -[12273] Forked 26223 -[12272] Forked 26224 -(26223) found -(26224) found -[12271] Forked 26225 -[12270] Forked 26226 -(26225) found -(26226) found -[12269] Forked 26227 -[12268] Forked 26228 -(26227) found -(26228) found -[12267] Forked 26229 -[12266] Forked 26230 -(26229) found -(26230) found -[12265] Forked 26231 -[12264] Forked 26232 -(26231) found -(26232) found -[12263] Forked 26233 -[12262] Forked 26234 -(26233) found -(26234) found -[12261] Forked 26235 -[12260] Forked 26236 -(26235) found -(26236) found -[12259] Forked 26237 -[12258] Forked 26238 -(26237) found -(26238) found -[12257] Forked 26239 -[12256] Forked 26240 -(26239) found -(26240) found -[12255] Forked 26241 -[12254] Forked 26242 -(26241) found -(26242) found -[12253] Forked 26243 -[12252] Forked 26244 -(26243) found -(26244) found -[12251] Forked 26245 -[12250] Forked 26246 -(26245) found -(26246) found -[12249] Forked 26247 -[12248] Forked 26248 -(26247) found -(26248) found -[12247] Forked 26249 -[12246] Forked 26250 -(26249) found -(26250) found -[12245] Forked 26251 -[12244] Forked 26252 -(26251) found -(26252) found -[12243] Forked 26253 -[12242] Forked 26254 -(26253) found -(26254) found -[12241] Forked 26255 -[12240] Forked 26256 -(26255) found -(26256) found -[12239] Forked 26257 -[12238] Forked 26258 -(26257) found -(26258) found -[12237] Forked 26259 -[12236] Forked 26260 -(26259) found -(26260) found -[12235] Forked 26261 -[12234] Forked 26262 -(26261) found -(26262) found -[12233] Forked 26263 -[12232] Forked 26264 -(26263) found -(26264) found -[12231] Forked 26265 -[12230] Forked 26266 -(26265) found -(26266) found -[12229] Forked 26267 -[12228] Forked 26268 -(26267) found -(26268) found -[12227] Forked 26269 -[12226] Forked 26270 -(26269) found -(26270) found -[12225] Forked 26271 -[12224] Forked 26272 -(26271) found -(26272) found -[12223] Forked 26273 -[12222] Forked 26274 -(26273) found -(26274) found -[12221] Forked 26275 -[12220] Forked 26276 -(26275) found -(26276) found -[12219] Forked 26277 -[12218] Forked 26278 -(26277) found -(26278) found -[12217] Forked 26279 -[12216] Forked 26280 -(26279) found -(26280) found -[12215] Forked 26281 -[12214] Forked 26282 -(26281) found -(26282) found -[12213] Forked 26283 -[12212] Forked 26284 -(26283) found -(26284) found -[12211] Forked 26285 -[12210] Forked 26286 -(26285) found -(26286) found -[12209] Forked 26287 -[12208] Forked 26288 -(26287) found -(26288) found -[12207] Forked 26289 -[12206] Forked 26290 -(26289) found -(26290) found -[12205] Forked 26291 -[12204] Forked 26292 -(26291) found -(26292) found -[12203] Forked 26293 -[12202] Forked 26294 -(26293) found -(26294) found -[12201] Forked 26295 -[12200] Forked 26296 -(26295) found -(26296) found -[12199] Forked 26297 -[12198] Forked 26298 -(26297) found -(26298) found -[12197] Forked 26299 -[12196] Forked 26300 -(26299) found -(26300) found -[12195] Forked 26301 -[12194] Forked 26302 -(26301) found -(26302) found -[12193] Forked 26303 -[12192] Forked 26304 -(26303) found -(26304) found -[12191] Forked 26305 -[12190] Forked 26306 -(26305) found -(26306) found -[12189] Forked 26307 -[12188] Forked 26308 -(26307) found -(26308) found -[12187] Forked 26309 -[12186] Forked 26310 -(26309) found -(26310) found -[12185] Forked 26311 -[12184] Forked 26312 -(26311) found -(26312) found -[12183] Forked 26313 -[12182] Forked 26314 -(26313) found -(26314) found -[12181] Forked 26315 -[12180] Forked 26316 -(26315) found -(26316) found -[12179] Forked 26317 -[12178] Forked 26318 -(26317) found -(26318) found -[12177] Forked 26319 -[12176] Forked 26320 -(26319) found -(26320) found -[12175] Forked 26321 -[12174] Forked 26322 -(26321) found -(26322) found -[12173] Forked 26323 -[12172] Forked 26324 -(26323) found -(26324) found -[12171] Forked 26325 -[12170] Forked 26326 -(26325) found -(26326) found -[12169] Forked 26327 -[12168] Forked 26328 -(26327) found -(26328) found -[12167] Forked 26329 -[12166] Forked 26330 -(26329) found -(26330) found -[12165] Forked 26331 -[12164] Forked 26332 -(26331) found -(26332) found -[12163] Forked 26333 -[12162] Forked 26334 -(26333) found -(26334) found -[12161] Forked 26335 -[12160] Forked 26336 -(26335) found -(26336) found -[12159] Forked 26337 -[12158] Forked 26338 -(26337) found -(26338) found -[12157] Forked 26339 -[12156] Forked 26340 -(26339) found -(26340) found -[12155] Forked 26341 -[12154] Forked 26342 -(26341) found -(26342) found -[12153] Forked 26343 -[12152] Forked 26344 -(26343) found -(26344) found -[12151] Forked 26345 -[12150] Forked 26346 -(26345) found -(26346) found -[12149] Forked 26347 -[12148] Forked 26348 -(26347) found -(26348) found -[12147] Forked 26349 -[12146] Forked 26350 -(26349) found -(26350) found -[12145] Forked 26351 -[12144] Forked 26352 -(26351) found -(26352) found -[12143] Forked 26353 -[12142] Forked 26354 -(26353) found -(26354) found -[12141] Forked 26355 -[12140] Forked 26356 -(26355) found -(26356) found -[12139] Forked 26357 -[12138] Forked 26358 -(26357) found -(26358) found -[12137] Forked 26359 -[12136] Forked 26360 -(26359) found -(26360) found -[12135] Forked 26361 -[12134] Forked 26362 -(26361) found -(26362) found -[12133] Forked 26363 -[12132] Forked 26364 -(26363) found -(26364) found -[12131] Forked 26365 -[12130] Forked 26366 -(26365) found -(26366) found -[12129] Forked 26367 -(26367) found -[12128] Forked 26368 -(26368) found -[12127] Forked 26369 -(26369) found -[12126] Forked 26370 -(26370) found -[12125] Forked 26371 -(26371) found -[12124] Forked 26372 -(26372) found -[12123] Forked 26373 -(26373) found -[12122] Forked 26374 -(26374) found -[12121] Forked 26375 -(26375) found -[12120] Forked 26376 -(26376) found -[12119] Forked 26377 -(26377) found -[12118] Forked 26378 -(26378) found -[12117] Forked 26379 -(26379) found -[12116] Forked 26380 -(26380) found -[12115] Forked 26381 -(26381) found -[12114] Forked 26382 -(26382) found -[12113] Forked 26383 -(26383) found -[12112] Forked 26384 -(26384) found -[12111] Forked 26385 -(26385) found -[12110] Forked 26386 -(26386) found -[12109] Forked 26387 -(26387) found -[12108] Forked 26388 -(26388) found -[12107] Forked 26389 -(26389) found -[12106] Forked 26390 -(26390) found -[12105] Forked 26391 -(26391) found -[12104] Forked 26392 -(26392) found -[12103] Forked 26393 -(26393) found -[12102] Forked 26394 -(26394) found -[12101] Forked 26395 -(26395) found -[12100] Forked 26396 -(26396) found -[12099] Forked 26397 -(26397) found -[12098] Forked 26398 -(26398) found -[12097] Forked 26399 -(26399) found -[12096] Forked 26400 -(26400) found -[12095] Forked 26401 -[12094] Forked 26402 -(26401) found -(26402) found -[12093] Forked 26403 -[12092] Forked 26404 -(26403) found -(26404) found -[12091] Forked 26405 -[12090] Forked 26406 -(26405) found -(26406) found -[12089] Forked 26407 -[12088] Forked 26408 -(26407) found -(26408) found -[12087] Forked 26409 -[12086] Forked 26410 -(26409) found -(26410) found -[12085] Forked 26411 -[12084] Forked 26412 -(26411) found -(26412) found -[12083] Forked 26413 -[12082] Forked 26414 -(26413) found -(26414) found -[12081] Forked 26415 -[12080] Forked 26416 -(26415) found -(26416) found -[12079] Forked 26417 -[12078] Forked 26418 -(26417) found -(26418) found -[12077] Forked 26419 -[12076] Forked 26420 -(26419) found -(26420) found -[12075] Forked 26421 -[12074] Forked 26422 -(26421) found -(26422) found -[12073] Forked 26423 -[12072] Forked 26424 -(26423) found -(26424) found -[12071] Forked 26425 -[12070] Forked 26426 -(26425) found -(26426) found -[12069] Forked 26427 -[12068] Forked 26428 -(26427) found -(26428) found -[12067] Forked 26429 -[12066] Forked 26430 -(26429) found -(26430) found -[12065] Forked 26431 -[12064] Forked 26432 -(26431) found -(26432) found -[12063] Forked 26433 -[12062] Forked 26434 -(26433) found -(26434) found -[12061] Forked 26435 -[12060] Forked 26436 -(26435) found -(26436) found -[12059] Forked 26437 -[12058] Forked 26438 -(26437) found -(26438) found -[12057] Forked 26439 -[12056] Forked 26440 -(26439) found -(26440) found -[12055] Forked 26441 -[12054] Forked 26442 -(26441) found -(26442) found -[12053] Forked 26443 -[12052] Forked 26444 -(26443) found -(26444) found -[12051] Forked 26445 -[12050] Forked 26446 -(26445) found -(26446) found -[12049] Forked 26447 -[12048] Forked 26448 -(26447) found -(26448) found -[12047] Forked 26449 -[12046] Forked 26450 -(26449) found -(26450) found -[12045] Forked 26451 -[12044] Forked 26452 -(26451) found -(26452) found -[12043] Forked 26453 -[12042] Forked 26454 -(26453) found -(26454) found -[12041] Forked 26455 -[12040] Forked 26456 -(26455) found -(26456) found -[12039] Forked 26457 -[12038] Forked 26458 -(26457) found -(26458) found -[12037] Forked 26459 -[12036] Forked 26460 -(26459) found -(26460) found -[12035] Forked 26461 -[12034] Forked 26462 -(26461) found -(26462) found -[12033] Forked 26463 -[12032] Forked 26464 -(26463) found -(26464) found -[12031] Forked 26465 -[12030] Forked 26466 -(26465) found -(26466) found -[12029] Forked 26467 -[12028] Forked 26468 -(26467) found -(26468) found -[12027] Forked 26469 -[12026] Forked 26470 -(26469) found -(26470) found -[12025] Forked 26471 -[12024] Forked 26472 -(26471) found -(26472) found -[12023] Forked 26473 -[12022] Forked 26474 -(26473) found -(26474) found -[12021] Forked 26475 -[12020] Forked 26476 -(26475) found -(26476) found -[12019] Forked 26477 -[12018] Forked 26478 -(26477) found -(26478) found -[12017] Forked 26479 -[12016] Forked 26480 -(26479) found -(26480) found -[12015] Forked 26481 -[12014] Forked 26482 -(26481) found -(26482) found -[12013] Forked 26483 -[12012] Forked 26484 -(26483) found -(26484) found -[12011] Forked 26485 -[12010] Forked 26486 -(26485) found -(26486) found -[12009] Forked 26487 -[12008] Forked 26488 -(26487) found -(26488) found -[12007] Forked 26489 -[12006] Forked 26490 -(26489) found -(26490) found -[12005] Forked 26491 -[12004] Forked 26492 -(26491) found -(26492) found -[12003] Forked 26493 -[12002] Forked 26494 -(26493) found -(26494) found -[12001] Forked 26495 -[12000] Forked 26496 -(26495) found -(26496) found -[11999] Forked 26497 -[11998] Forked 26498 -(26497) found -(26498) found -[11997] Forked 26499 -[11996] Forked 26500 -(26499) found -(26500) found -[11995] Forked 26501 -[11994] Forked 26502 -(26501) found -(26502) found -[11993] Forked 26503 -[11992] Forked 26504 -(26503) found -(26504) found -[11991] Forked 26505 -[11990] Forked 26506 -(26505) found -(26506) found -[11989] Forked 26507 -[11988] Forked 26508 -(26507) found -(26508) found -[11987] Forked 26509 -[11986] Forked 26510 -(26509) found -(26510) found -[11985] Forked 26511 -[11984] Forked 26512 -(26511) found -(26512) found -[11983] Forked 26513 -[11982] Forked 26514 -(26513) found -(26514) found -[11981] Forked 26515 -[11980] Forked 26516 -(26515) found -(26516) found -[11979] Forked 26517 -[11978] Forked 26518 -(26517) found -(26518) found -[11977] Forked 26519 -[11976] Forked 26520 -(26519) found -(26520) found -[11975] Forked 26521 -[11974] Forked 26522 -(26521) found -(26522) found -[11973] Forked 26523 -[11972] Forked 26524 -(26523) found -(26524) found -[11971] Forked 26525 -[11970] Forked 26526 -(26525) found -(26526) found -[11969] Forked 26527 -[11968] Forked 26528 -(26527) found -(26528) found -[11967] Forked 26529 -[11966] Forked 26530 -(26529) found -(26530) found -[11965] Forked 26531 -[11964] Forked 26532 -(26531) found -(26532) found -[11963] Forked 26533 -[11962] Forked 26534 -(26533) found -(26534) found -[11961] Forked 26535 -[11960] Forked 26536 -(26535) found -(26536) found -[11959] Forked 26537 -(26537) found -[11958] Forked 26538 -(26538) found -[11957] Forked 26539 -(26539) found -[11956] Forked 26540 -(26540) found -[11955] Forked 26541 -(26541) found -[11954] Forked 26542 -(26542) found -[11953] Forked 26543 -(26543) found -[11952] Forked 26544 -(26544) found -[11951] Forked 26545 -(26545) found -[11950] Forked 26546 -(26546) found -[11949] Forked 26547 -(26547) found -[11948] Forked 26548 -(26548) found -[11947] Forked 26549 -(26549) found -[11946] Forked 26550 -(26550) found -[11945] Forked 26551 -(26551) found -[11944] Forked 26552 -(26552) found -[11943] Forked 26553 -(26553) found -[11942] Forked 26554 -(26554) found -[11941] Forked 26555 -(26555) found -[11940] Forked 26556 -(26556) found -[11939] Forked 26557 -(26557) found -[11938] Forked 26558 -(26558) found -[11937] Forked 26559 -(26559) found -[11936] Forked 26560 -(26560) found -[11935] Forked 26561 -(26561) found -[11934] Forked 26562 -(26562) found -[11933] Forked 26563 -(26563) found -[11932] Forked 26564 -(26564) found -[11931] Forked 26565 -(26565) found -[11930] Forked 26566 -(26566) found -[11929] Forked 26567 -(26567) found -[11928] Forked 26568 -(26568) found -[11927] Forked 26569 -(26569) found -[11926] Forked 26570 -(26570) found -[11925] Forked 26571 -(26571) found -[11924] Forked 26572 -(26572) found -[11923] Forked 26573 -(26573) found -[11922] Forked 26574 -(26574) found -[11921] Forked 26575 -(26575) found -[11920] Forked 26576 -(26576) found -[11919] Forked 26577 -(26577) found -[11918] Forked 26578 -(26578) found -[11917] Forked 26579 -(26579) found -[11916] Forked 26580 -(26580) found -[11915] Forked 26581 -(26581) found -[11914] Forked 26582 -(26582) found -[11913] Forked 26583 -(26583) found -[11912] Forked 26584 -(26584) found -[11911] Forked 26585 -(26585) found -[11910] Forked 26586 -(26586) found -[11909] Forked 26587 -(26587) found -[11908] Forked 26588 -(26588) found -[11907] Forked 26589 -(26589) found -[11906] Forked 26590 -(26590) found -[11905] Forked 26591 -(26591) found -[11904] Forked 26592 -(26592) found -[11903] Forked 26593 -(26593) found -[11902] Forked 26594 -(26594) found -[11901] Forked 26595 -(26595) found -[11900] Forked 26596 -(26596) found -[11899] Forked 26597 -(26597) found -[11898] Forked 26598 -(26598) found -[11897] Forked 26599 -(26599) found -[11896] Forked 26600 -(26600) found -[11895] Forked 26601 -(26601) found -[11894] Forked 26602 -(26602) found -[11893] Forked 26603 -(26603) found -[11892] Forked 26604 -(26604) found -[11891] Forked 26605 -(26605) found -[11890] Forked 26606 -(26606) found -[11889] Forked 26607 -(26607) found -[11888] Forked 26608 -(26608) found -[11887] Forked 26609 -[11886] Forked 26610 -(26609) found -(26610) found -[11885] Forked 26611 -[11884] Forked 26612 -(26611) found -(26612) found -[11883] Forked 26613 -[11882] Forked 26614 -(26613) found -(26614) found -[11881] Forked 26615 -[11880] Forked 26616 -(26615) found -(26616) found -[11879] Forked 26617 -[11878] Forked 26618 -(26617) found -(26618) found -[11877] Forked 26619 -[11876] Forked 26620 -(26619) found -(26620) found -[11875] Forked 26621 -[11874] Forked 26622 -(26621) found -(26622) found -[11873] Forked 26623 -[11872] Forked 26624 -(26623) found -(26624) found -[11871] Forked 26625 -[11870] Forked 26626 -(26625) found -(26626) found -[11869] Forked 26627 -[11868] Forked 26628 -(26627) found -(26628) found -[11867] Forked 26629 -[11866] Forked 26630 -(26629) found -(26630) found -[11865] Forked 26631 -[11864] Forked 26632 -(26631) found -(26632) found -[11863] Forked 26633 -[11862] Forked 26634 -(26633) found -(26634) found -[11861] Forked 26635 -[11860] Forked 26636 -(26635) found -(26636) found -[11859] Forked 26637 -[11858] Forked 26638 -(26637) found -(26638) found -[11857] Forked 26639 -[11856] Forked 26640 -(26639) found -(26640) found -[11855] Forked 26641 -[11854] Forked 26642 -(26641) found -(26642) found -[11853] Forked 26643 -[11852] Forked 26644 -(26643) found -(26644) found -[11851] Forked 26645 -[11850] Forked 26646 -(26645) found -(26646) found -[11849] Forked 26647 -[11848] Forked 26648 -(26647) found -(26648) found -[11847] Forked 26649 -[11846] Forked 26650 -(26649) found -(26650) found -[11845] Forked 26651 -[11844] Forked 26652 -(26651) found -(26652) found -[11843] Forked 26653 -(26653) found -[11842] Forked 26654 -(26654) found -[11841] Forked 26655 -(26655) found -[11840] Forked 26656 -(26656) found -[11839] Forked 26657 -(26657) found -[11838] Forked 26658 -(26658) found -[11837] Forked 26659 -(26659) found -[11836] Forked 26660 -(26660) found -[11835] Forked 26661 -(26661) found -[11834] Forked 26662 -(26662) found -[11833] Forked 26663 -(26663) found -[11832] Forked 26664 -(26664) found -[11831] Forked 26665 -(26665) found -[11830] Forked 26666 -(26666) found -[11829] Forked 26667 -(26667) found -[11828] Forked 26668 -(26668) found -[11827] Forked 26669 -(26669) found -[11826] Forked 26670 -(26670) found -[11825] Forked 26671 -(26671) found -[11824] Forked 26672 -(26672) found -[11823] Forked 26673 -(26673) found -[11822] Forked 26674 -(26674) found -[11821] Forked 26675 -(26675) found -[11820] Forked 26676 -(26676) found -[11819] Forked 26677 -(26677) found -[11818] Forked 26678 -(26678) found -[11817] Forked 26679 -(26679) found -[11816] Forked 26680 -(26680) found -[11815] Forked 26681 -(26681) found -[11814] Forked 26682 -(26682) found -[11813] Forked 26683 -(26683) found -[11812] Forked 26684 -(26684) found -[11811] Forked 26685 -(26685) found -[11810] Forked 26686 -(26686) found -[11809] Forked 26687 -(26687) found -[11808] Forked 26688 -(26688) found -[11807] Forked 26689 -[11806] Forked 26690 -(26689) found -(26690) found -[11805] Forked 26691 -[11804] Forked 26692 -(26691) found -(26692) found -[11803] Forked 26693 -[11802] Forked 26694 -(26693) found -(26694) found -[11801] Forked 26695 -[11800] Forked 26696 -(26695) found -(26696) found -[11799] Forked 26697 -[11798] Forked 26698 -(26697) found -(26698) found -[11797] Forked 26699 -[11796] Forked 26700 -(26699) found -(26700) found -[11795] Forked 26701 -[11794] Forked 26702 -(26701) found -(26702) found -[11793] Forked 26703 -[11792] Forked 26704 -(26703) found -(26704) found -[11791] Forked 26705 -[11790] Forked 26706 -(26705) found -(26706) found -[11789] Forked 26707 -[11788] Forked 26708 -(26707) found -(26708) found -[11787] Forked 26709 -[11786] Forked 26710 -(26709) found -(26710) found -[11785] Forked 26711 -[11784] Forked 26712 -(26711) found -(26712) found -[11783] Forked 26713 -[11782] Forked 26714 -(26713) found -(26714) found -[11781] Forked 26715 -[11780] Forked 26716 -(26715) found -(26716) found -[11779] Forked 26717 -[11778] Forked 26718 -(26717) found -(26718) found -[11777] Forked 26719 -[11776] Forked 26720 -(26719) found -(26720) found -[11775] Forked 26721 -[11774] Forked 26722 -(26721) found -(26722) found -[11773] Forked 26723 -[11772] Forked 26724 -(26723) found -(26724) found -[11771] Forked 26725 -[11770] Forked 26726 -(26725) found -(26726) found -[11769] Forked 26727 -[11768] Forked 26728 -(26727) found -(26728) found -[11767] Forked 26729 -[11766] Forked 26730 -(26729) found -(26730) found -[11765] Forked 26731 -[11764] Forked 26732 -(26731) found -(26732) found -[11763] Forked 26733 -(26733) found -[11762] Forked 26734 -(26734) found -[11761] Forked 26735 -(26735) found -[11760] Forked 26736 -(26736) found -[11759] Forked 26737 -(26737) found -[11758] Forked 26738 -(26738) found -[11757] Forked 26739 -(26739) found -[11756] Forked 26740 -(26740) found -[11755] Forked 26741 -(26741) found -[11754] Forked 26742 -(26742) found -[11753] Forked 26743 -(26743) found -[11752] Forked 26744 -(26744) found -[11751] Forked 26745 -(26745) found -[11750] Forked 26746 -(26746) found -[11749] Forked 26747 -(26747) found -[11748] Forked 26748 -(26748) found -[11747] Forked 26749 -(26749) found -[11746] Forked 26750 -(26750) found -[11745] Forked 26751 -(26751) found -[11744] Forked 26752 -(26752) found -[11743] Forked 26753 -(26753) found -[11742] Forked 26754 -(26754) found -[11741] Forked 26755 -(26755) found -[11740] Forked 26756 -(26756) found -[11739] Forked 26757 -(26757) found -[11738] Forked 26758 -(26758) found -[11737] Forked 26759 -(26759) found -[11736] Forked 26760 -(26760) found -[11735] Forked 26761 -(26761) found -[11734] Forked 26762 -(26762) found -[11733] Forked 26763 -(26763) found -[11732] Forked 26764 -(26764) found -[11731] Forked 26765 -(26765) found -[11730] Forked 26766 -(26766) found -[11729] Forked 26767 -(26767) found -[11728] Forked 26768 -(26768) found -[11727] Forked 26769 -[11726] Forked 26770 -(26769) found -(26770) found -[11725] Forked 26771 -[11724] Forked 26772 -(26771) found -(26772) found -[11723] Forked 26773 -(26773) found -[11722] Forked 26774 -[11721] Forked 26775 -(26774) found -(26775) found -[11720] Forked 26776 -[11719] Forked 26777 -(26776) found -(26777) found -[11718] Forked 26778 -[11717] Forked 26779 -(26778) found -(26779) found -[11716] Forked 26780 -[11715] Forked 26781 -(26780) found -(26781) found -[11714] Forked 26782 -[11713] Forked 26783 -(26782) found -(26783) found -[11712] Forked 26784 -[11711] Forked 26785 -(26784) found -(26785) found -[11710] Forked 26786 -[11709] Forked 26787 -(26786) found -(26787) found -[11708] Forked 26788 -[11707] Forked 26789 -(26788) found -(26789) found -[11706] Forked 26790 -[11705] Forked 26791 -(26790) found -(26791) found -[11704] Forked 26792 -[11703] Forked 26793 -(26792) found -(26793) found -[11702] Forked 26794 -[11701] Forked 26795 -(26794) found -(26795) found -[11700] Forked 26796 -[11699] Forked 26797 -(26796) found -(26797) found -[11698] Forked 26798 -[11697] Forked 26799 -(26798) found -(26799) found -[11696] Forked 26800 -[11695] Forked 26801 -(26800) found -(26801) found -[11694] Forked 26802 -[11693] Forked 26803 -(26802) found -(26803) found -[11692] Forked 26804 -[11691] Forked 26805 -(26804) found -(26805) found -[11690] Forked 26806 -[11689] Forked 26807 -(26806) found -(26807) found -[11688] Forked 26808 -[11687] Forked 26809 -(26808) found -(26809) found -[11686] Forked 26810 -[11685] Forked 26811 -(26810) found -(26811) found -[11684] Forked 26812 -(26812) found -[11683] Forked 26813 -(26813) found -[11682] Forked 26814 -(26814) found -[11681] Forked 26815 -(26815) found -[11680] Forked 26816 -(26816) found -[11679] Forked 26817 -(26817) found -[11678] Forked 26818 -(26818) found -[11677] Forked 26819 -(26819) found -[11676] Forked 26820 -(26820) found -[11675] Forked 26822 -(26822) found -[11674] Forked 26823 -(26823) found -[11673] Forked 26824 -(26824) found -[11672] Forked 26825 -(26825) found -[11671] Forked 26826 -(26826) found -[11670] Forked 26827 -(26827) found -[11669] Forked 26828 -(26828) found -[11668] Forked 26829 -(26829) found -[11667] Forked 26830 -(26830) found -[11666] Forked 26831 -(26831) found -[11665] Forked 26832 -(26832) found -[11664] Forked 26833 -(26833) found -[11663] Forked 26834 -(26834) found -[11662] Forked 26835 -(26835) found -[11661] Forked 26836 -(26836) found -[11660] Forked 26837 -(26837) found -[11659] Forked 26838 -(26838) found -[11658] Forked 26839 -(26839) found -[11657] Forked 26840 -(26840) found -[11656] Forked 26841 -(26841) found -[11655] Forked 26842 -(26842) found -[11654] Forked 26843 -(26843) found -[11653] Forked 26844 -(26844) found -[11652] Forked 26845 -(26845) found -[11651] Forked 26846 -(26846) found -[11650] Forked 26847 -(26847) found -[11649] Forked 26848 -(26848) found -[11648] Forked 26849 -[11647] Forked 26850 -(26849) found -(26850) found -[11646] Forked 26851 -[11645] Forked 26852 -(26851) found -(26852) found -[11644] Forked 26853 -[11643] Forked 26854 -(26853) found -(26854) found -[11642] Forked 26855 -[11641] Forked 26856 -(26855) found -(26856) found -[11640] Forked 26857 -[11639] Forked 26858 -(26857) found -(26858) found -[11638] Forked 26859 -[11637] Forked 26860 -(26859) found -(26860) found -[11636] Forked 26861 -[11635] Forked 26862 -(26861) found -(26862) found -[11634] Forked 26863 -[11633] Forked 26864 -(26863) found -(26864) found -[11632] Forked 26865 -[11631] Forked 26866 -(26865) found -(26866) found -[11630] Forked 26867 -[11629] Forked 26868 -(26867) found -(26868) found -[11628] Forked 26869 -[11627] Forked 26870 -(26869) found -(26870) found -[11626] Forked 26871 -[11625] Forked 26872 -(26871) found -(26872) found -[11624] Forked 26873 -[11623] Forked 26874 -(26873) found -(26874) found -[11622] Forked 26875 -[11621] Forked 26876 -(26875) found -(26876) found -[11620] Forked 26877 -[11619] Forked 26878 -(26877) found -(26878) found -[11618] Forked 26879 -[11617] Forked 26880 -(26879) found -(26880) found -[11616] Forked 26881 -[11615] Forked 26882 -(26881) found -(26882) found -[11614] Forked 26883 -[11613] Forked 26884 -(26883) found -(26884) found -[11612] Forked 26885 -[11611] Forked 26886 -(26885) found -(26886) found -[11610] Forked 26887 -[11609] Forked 26888 -(26887) found -(26888) found -[11608] Forked 26889 -[11607] Forked 26890 -(26889) found -(26890) found -[11606] Forked 26891 -[11605] Forked 26892 -(26891) found -(26892) found -[11604] Forked 26893 -(26893) found -[11603] Forked 26894 -(26894) found -[11602] Forked 26895 -(26895) found -[11601] Forked 26896 -(26896) found -[11600] Forked 26897 -(26897) found -[11599] Forked 26898 -(26898) found -[11598] Forked 26899 -(26899) found -[11597] Forked 26900 -(26900) found -[11596] Forked 26901 -(26901) found -[11595] Forked 26902 -(26902) found -[11594] Forked 26903 -(26903) found -[11593] Forked 26904 -(26904) found -[11592] Forked 26905 -(26905) found -[11591] Forked 26906 -(26906) found -[11590] Forked 26907 -(26907) found -[11589] Forked 26908 -(26908) found -[11588] Forked 26909 -(26909) found -[11587] Forked 26910 -(26910) found -[11586] Forked 26911 -(26911) found -[11585] Forked 26912 -(26912) found -[11584] Forked 26913 -(26913) found -[11583] Forked 26914 -(26914) found -[11582] Forked 26915 -(26915) found -[11581] Forked 26916 -(26916) found -[11580] Forked 26917 -(26917) found -[11579] Forked 26918 -(26918) found -[11578] Forked 26919 -(26919) found -[11577] Forked 26920 -(26920) found -[11576] Forked 26921 -(26921) found -[11575] Forked 26922 -(26922) found -[11574] Forked 26923 -(26923) found -[11573] Forked 26924 -(26924) found -[11572] Forked 26925 -(26925) found -[11571] Forked 26926 -(26926) found -[11570] Forked 26927 -(26927) found -[11569] Forked 26928 -(26928) found -[11568] Forked 26929 -(26929) found -[11567] Forked 26930 -[11566] Forked 26931 -(26930) found -(26931) found -[11565] Forked 26932 -[11564] Forked 26933 -(26932) found -(26933) found -[11563] Forked 26934 -[11562] Forked 26935 -(26934) found -(26935) found -[11561] Forked 26936 -[11560] Forked 26937 -(26936) found -(26937) found -[11559] Forked 26938 -[11558] Forked 26939 -(26938) found -(26939) found -[11557] Forked 26940 -[11556] Forked 26941 -(26940) found -(26941) found -[11555] Forked 26942 -[11554] Forked 26943 -(26942) found -(26943) found -[11553] Forked 26944 -[11552] Forked 26945 -(26944) found -(26945) found -[11551] Forked 26946 -[11550] Forked 26947 -(26946) found -(26947) found -[11549] Forked 26948 -[11548] Forked 26949 -(26948) found -(26949) found -[11547] Forked 26950 -[11546] Forked 26951 -(26950) found -(26951) found -[11545] Forked 26952 -[11544] Forked 26953 -(26952) found -(26953) found -[11543] Forked 26954 -[11542] Forked 26955 -(26954) found -(26955) found -[11541] Forked 26956 -[11540] Forked 26957 -(26957) found -(26956) found -[11539] Forked 26958 -(26958) found -[11538] Forked 26959 -(26959) found -[11537] Forked 26960 -(26960) found -[11536] Forked 26961 -(26961) found -[11535] Forked 26962 -(26962) found -[11534] Forked 26963 -[11533] Forked 26964 -(26963) found -(26964) found -[11532] Forked 26965 -[11531] Forked 26966 -(26965) found -(26966) found -[11530] Forked 26967 -[11529] Forked 26968 -(26967) found -(26968) found -[11528] Forked 26969 -[11527] Forked 26970 -(26969) found -(26970) found -[11526] Forked 26971 -[11525] Forked 26972 -(26971) found -(26972) found -[11524] Forked 26973 -[11523] Forked 26974 -(26973) found -(26974) found -[11522] Forked 26975 -[11521] Forked 26976 -(26975) found -(26976) found -[11520] Forked 26977 -[11519] Forked 26978 -(26977) found -(26978) found -[11518] Forked 26979 -[11517] Forked 26980 -(26979) found -(26980) found -[11516] Forked 26981 -[11515] Forked 26982 -(26981) found -(26982) found -[11514] Forked 26983 -[11513] Forked 26984 -(26983) found -(26984) found -[11512] Forked 26985 -[11511] Forked 26986 -(26985) found -(26986) found -[11510] Forked 26987 -[11509] Forked 26988 -(26987) found -(26988) found -[11508] Forked 26989 -[11507] Forked 26990 -(26989) found -(26990) found -[11506] Forked 26991 -[11505] Forked 26992 -(26991) found -(26992) found -[11504] Forked 26993 -[11503] Forked 26994 -(26993) found -(26994) found -[11502] Forked 26995 -[11501] Forked 26996 -(26995) found -(26996) found -[11500] Forked 26997 -[11499] Forked 26998 -(26997) found -(26998) found -[11498] Forked 26999 -[11497] Forked 27000 -(26999) found -(27000) found -[11496] Forked 27001 -[11495] Forked 27002 -(27001) found -(27002) found -[11494] Forked 27003 -[11493] Forked 27004 -(27003) found -(27004) found -[11492] Forked 27005 -[11491] Forked 27006 -(27005) found -(27006) found -[11490] Forked 27007 -[11489] Forked 27008 -(27007) found -(27008) found -[11488] Forked 27009 -[11487] Forked 27010 -(27009) found -(27010) found -[11486] Forked 27011 -[11485] Forked 27012 -(27011) found -(27012) found -[11484] Forked 27013 -[11483] Forked 27014 -(27013) found -(27014) found -[11482] Forked 27015 -(27015) found -[11481] Forked 27016 -(27016) found -[11480] Forked 27017 -(27017) found -[11479] Forked 27018 -(27018) found -[11478] Forked 27019 -(27019) found -[11477] Forked 27020 -(27020) found -[11476] Forked 27021 -(27021) found -[11475] Forked 27022 -(27022) found -[11474] Forked 27023 -(27023) found -[11473] Forked 27024 -(27024) found -[11472] Forked 27025 -(27025) found -[11471] Forked 27026 -(27026) found -[11470] Forked 27027 -(27027) found -[11469] Forked 27028 -(27028) found -[11468] Forked 27029 -(27029) found -[11467] Forked 27030 -(27030) found -[11466] Forked 27031 -(27031) found -[11465] Forked 27032 -(27032) found -[11464] Forked 27033 -(27033) found -[11463] Forked 27034 -(27034) found -[11462] Forked 27035 -(27035) found -[11461] Forked 27036 -(27036) found -[11460] Forked 27037 -(27037) found -[11459] Forked 27038 -(27038) found -[11458] Forked 27039 -(27039) found -[11457] Forked 27040 -(27040) found -[11456] Forked 27041 -(27041) found -[11455] Forked 27042 -(27042) found -[11454] Forked 27043 -(27043) found -[11453] Forked 27044 -(27044) found -[11452] Forked 27045 -(27045) found -[11451] Forked 27046 -(27046) found -[11450] Forked 27047 -(27047) found -[11449] Forked 27048 -(27048) found -[11448] Forked 27049 -[11447] Forked 27050 -(27049) found -(27050) found -[11446] Forked 27051 -[11445] Forked 27052 -(27051) found -(27052) found -[11444] Forked 27053 -[11443] Forked 27054 -(27053) found -(27054) found -[11442] Forked 27055 -[11441] Forked 27056 -(27055) found -(27056) found -[11440] Forked 27057 -[11439] Forked 27058 -(27057) found -(27058) found -[11438] Forked 27059 -[11437] Forked 27060 -(27059) found -(27060) found -[11436] Forked 27061 -[11435] Forked 27062 -(27061) found -(27062) found -[11434] Forked 27063 -[11433] Forked 27064 -(27063) found -(27064) found -[11432] Forked 27065 -[11431] Forked 27066 -(27065) found -(27066) found -[11430] Forked 27067 -[11429] Forked 27068 -(27067) found -(27068) found -[11428] Forked 27069 -[11427] Forked 27070 -(27069) found -(27070) found -[11426] Forked 27071 -[11425] Forked 27072 -(27071) found -(27072) found -[11424] Forked 27073 -[11423] Forked 27074 -(27073) found -(27074) found -[11422] Forked 27075 -[11421] Forked 27076 -(27075) found -(27076) found -[11420] Forked 27077 -[11419] Forked 27078 -(27078) found -(27077) found -[11418] Forked 27079 -(27079) found -[11417] Forked 27080 -(27080) found -[11416] Forked 27081 -(27081) found -[11415] Forked 27082 -(27082) found -[11414] Forked 27083 -(27083) found -[11413] Forked 27084 -(27084) found -[11412] Forked 27085 -(27085) found -[11411] Forked 27086 -(27086) found -[11410] Forked 27087 -(27087) found -[11409] Forked 27088 -(27088) found -[11408] Forked 27089 -(27089) found -[11407] Forked 27090 -(27090) found -[11406] Forked 27091 -(27091) found -[11405] Forked 27092 -(27092) found -[11404] Forked 27093 -(27093) found -[11403] Forked 27094 -(27094) found -[11402] Forked 27095 -(27095) found -[11401] Forked 27096 -(27096) found -[11400] Forked 27097 -(27097) found -[11399] Forked 27098 -(27098) found -[11398] Forked 27099 -(27099) found -[11397] Forked 27100 -(27100) found -[11396] Forked 27101 -(27101) found -[11395] Forked 27102 -(27102) found -[11394] Forked 27103 -(27103) found -[11393] Forked 27104 -(27104) found -[11392] Forked 27105 -(27105) found -[11391] Forked 27106 -(27106) found -[11390] Forked 27107 -(27107) found -[11389] Forked 27108 -(27108) found -[11388] Forked 27109 -(27109) found -[11387] Forked 27110 -(27110) found -[11386] Forked 27111 -(27111) found -[11385] Forked 27112 -(27112) found -[11384] Forked 27113 -(27113) found -[11383] Forked 27114 -(27114) found -[11382] Forked 27115 -(27115) found -[11381] Forked 27116 -(27116) found -[11380] Forked 27117 -(27117) found -[11379] Forked 27118 -(27118) found -[11378] Forked 27119 -(27119) found -[11377] Forked 27120 -(27120) found -[11376] Forked 27121 -(27121) found -[11375] Forked 27122 -(27122) found -[11374] Forked 27123 -(27123) found -[11373] Forked 27124 -(27124) found -[11372] Forked 27125 -(27125) found -[11371] Forked 27126 -[11370] Forked 27127 -(27126) found -(27127) found -[11369] Forked 27128 -[11368] Forked 27129 -(27128) found -(27129) found -[11367] Forked 27130 -[11366] Forked 27131 -(27130) found -(27131) found -[11365] Forked 27132 -[11364] Forked 27133 -(27132) found -(27133) found -[11363] Forked 27134 -[11362] Forked 27135 -(27134) found -(27135) found -[11361] Forked 27136 -[11360] Forked 27137 -(27136) found -(27137) found -[11359] Forked 27138 -[11358] Forked 27139 -(27138) found -(27139) found -[11357] Forked 27140 -[11356] Forked 27141 -(27140) found -(27141) found -[11355] Forked 27142 -[11354] Forked 27143 -(27142) found -(27143) found -[11353] Forked 27144 -[11352] Forked 27145 -(27144) found -(27145) found -[11351] Forked 27146 -[11350] Forked 27147 -(27146) found -(27147) found -[11349] Forked 27148 -[11348] Forked 27149 -(27148) found -(27149) found -[11347] Forked 27150 -[11346] Forked 27151 -(27150) found -(27151) found -[11345] Forked 27152 -[11344] Forked 27153 -(27152) found -(27153) found -[11343] Forked 27154 -[11342] Forked 27155 -(27154) found -(27155) found -[11341] Forked 27156 -[11340] Forked 27157 -(27156) found -(27157) found -[11339] Forked 27158 -[11338] Forked 27159 -(27158) found -(27159) found -[11337] Forked 27160 -[11336] Forked 27161 -(27160) found -(27161) found -[11335] Forked 27162 -[11334] Forked 27163 -(27162) found -(27163) found -[11333] Forked 27164 -[11332] Forked 27165 -(27164) found -(27165) found -[11331] Forked 27166 -[11330] Forked 27167 -(27166) found -(27167) found -[11329] Forked 27168 -[11328] Forked 27169 -(27168) found -(27169) found -[11327] Forked 27170 -[11326] Forked 27171 -(27170) found -(27171) found -[11325] Forked 27172 -(27172) found -[11324] Forked 27173 -(27173) found -[11323] Forked 27174 -(27174) found -[11322] Forked 27175 -(27175) found -[11321] Forked 27176 -(27176) found -[11320] Forked 27177 -(27177) found -[11319] Forked 27178 -(27178) found -[11318] Forked 27179 -(27179) found -[11317] Forked 27180 -(27180) found -[11316] Forked 27181 -(27181) found -[11315] Forked 27182 -(27182) found -[11314] Forked 27183 -(27183) found -[11313] Forked 27184 -(27184) found -[11312] Forked 27185 -(27185) found -[11311] Forked 27186 -(27186) found -[11310] Forked 27187 -(27187) found -[11309] Forked 27188 -(27188) found -[11308] Forked 27189 -(27189) found -[11307] Forked 27190 -(27190) found -[11306] Forked 27191 -(27191) found -[11305] Forked 27192 -(27192) found -[11304] Forked 27193 -(27193) found -[11303] Forked 27194 -(27194) found -[11302] Forked 27195 -(27195) found -[11301] Forked 27196 -(27196) found -[11300] Forked 27197 -(27197) found -[11299] Forked 27198 -(27198) found -[11298] Forked 27199 -(27199) found -[11297] Forked 27200 -(27200) found -[11296] Forked 27201 -(27201) found -[11295] Forked 27202 -(27202) found -[11294] Forked 27203 -(27203) found -[11293] Forked 27204 -(27204) found -[11292] Forked 27205 -(27205) found -[11291] Forked 27206 -[11290] Forked 27207 -(27206) found -(27207) found -[11289] Forked 27208 -[11288] Forked 27209 -(27208) found -(27209) found -[11287] Forked 27210 -[11286] Forked 27211 -(27210) found -(27211) found -[11285] Forked 27212 -[11284] Forked 27213 -(27212) found -(27213) found -[11283] Forked 27214 -[11282] Forked 27215 -(27214) found -(27215) found -[11281] Forked 27216 -[11280] Forked 27217 -(27216) found -(27217) found -[11279] Forked 27218 -[11278] Forked 27219 -(27218) found -(27219) found -[11277] Forked 27220 -[11276] Forked 27221 -(27220) found -(27221) found -[11275] Forked 27222 -[11274] Forked 27223 -(27222) found -(27223) found -[11273] Forked 27224 -[11272] Forked 27225 -(27224) found -(27225) found -[11271] Forked 27226 -[11270] Forked 27227 -(27226) found -(27227) found -[11269] Forked 27228 -[11268] Forked 27229 -(27228) found -(27229) found -[11267] Forked 27230 -[11266] Forked 27231 -(27230) found -(27231) found -[11265] Forked 27232 -[11264] Forked 27233 -(27232) found -(27233) found -[11263] Forked 27234 -[11262] Forked 27235 -(27234) found -(27235) found -[11261] Forked 27236 -[11260] Forked 27237 -(27236) found -(27237) found -[11259] Forked 27238 -[11258] Forked 27239 -(27238) found -(27239) found -[11257] Forked 27240 -[11256] Forked 27241 -(27240) found -(27241) found -[11255] Forked 27242 -[11254] Forked 27243 -(27242) found -(27243) found -[11253] Forked 27244 -[11252] Forked 27245 -(27244) found -(27245) found -[11251] Forked 27246 -[11250] Forked 27247 -(27246) found -(27247) found -[11249] Forked 27248 -[11248] Forked 27249 -(27248) found -(27249) found -[11247] Forked 27250 -[11246] Forked 27251 -(27250) found -(27251) found -[11245] Forked 27252 -(27252) found -[11244] Forked 27253 -(27253) found -[11243] Forked 27254 -(27254) found -[11242] Forked 27255 -(27255) found -[11241] Forked 27256 -(27256) found -[11240] Forked 27257 -(27257) found -[11239] Forked 27258 -(27258) found -[11238] Forked 27259 -(27259) found -[11237] Forked 27260 -(27260) found -[11236] Forked 27261 -(27261) found -[11235] Forked 27262 -(27262) found -[11234] Forked 27263 -(27263) found -[11233] Forked 27264 -(27264) found -[11232] Forked 27265 -(27265) found -[11231] Forked 27266 -(27266) found -[11230] Forked 27267 -(27267) found -[11229] Forked 27268 -(27268) found -[11228] Forked 27269 -(27269) found -[11227] Forked 27270 -(27270) found -[11226] Forked 27271 -(27271) found -[11225] Forked 27272 -(27272) found -[11224] Forked 27273 -(27273) found -[11223] Forked 27274 -(27274) found -[11222] Forked 27275 -(27275) found -[11221] Forked 27276 -(27276) found -[11220] Forked 27277 -(27277) found -[11219] Forked 27278 -(27278) found -[11218] Forked 27279 -(27279) found -[11217] Forked 27280 -(27280) found -[11216] Forked 27281 -(27281) found -[11215] Forked 27282 -(27282) found -[11214] Forked 27283 -(27283) found -[11213] Forked 27284 -(27284) found -[11212] Forked 27285 -(27285) found -[11211] Forked 27286 -(27286) found -[11210] Forked 27287 -[11209] Forked 27288 -(27287) found -(27288) found -[11208] Forked 27289 -[11207] Forked 27290 -(27289) found -(27290) found -[11206] Forked 27291 -[11205] Forked 27292 -(27291) found -(27292) found -[11204] Forked 27293 -[11203] Forked 27294 -(27293) found -(27294) found -[11202] Forked 27295 -[11201] Forked 27296 -(27295) found -(27296) found -[11200] Forked 27297 -[11199] Forked 27298 -(27297) found -(27298) found -[11198] Forked 27299 -[11197] Forked 27300 -(27299) found -(27300) found -[11196] Forked 27301 -[11195] Forked 27302 -(27301) found -(27302) found -[11194] Forked 27303 -[11193] Forked 27304 -(27303) found -(27304) found -[11192] Forked 27305 -[11191] Forked 27306 -(27305) found -(27306) found -[11190] Forked 27307 -[11189] Forked 27308 -(27307) found -(27308) found -[11188] Forked 27309 -[11187] Forked 27310 -(27309) found -(27310) found -[11186] Forked 27311 -[11185] Forked 27312 -(27311) found -(27312) found -[11184] Forked 27313 -[11183] Forked 27314 -(27313) found -(27314) found -[11182] Forked 27315 -[11181] Forked 27316 -(27315) found -(27316) found -[11180] Forked 27317 -[11179] Forked 27318 -(27317) found -(27318) found -[11178] Forked 27319 -[11177] Forked 27320 -(27319) found -(27320) found -[11176] Forked 27321 -[11175] Forked 27322 -(27321) found -(27322) found -[11174] Forked 27323 -[11173] Forked 27324 -(27323) found -(27324) found -[11172] Forked 27325 -[11171] Forked 27326 -(27325) found -(27326) found -[11170] Forked 27327 -[11169] Forked 27328 -(27327) found -(27328) found -[11168] Forked 27329 -[11167] Forked 27330 -(27329) found -(27330) found -[11166] Forked 27331 -[11165] Forked 27332 -(27331) found -(27332) found -[11164] Forked 27333 -[11163] Forked 27334 -(27333) found -(27334) found -[11162] Forked 27335 -[11161] Forked 27336 -(27335) found -(27336) found -[11160] Forked 27337 -[11159] Forked 27338 -(27337) found -(27338) found -[11158] Forked 27339 -[11157] Forked 27340 -(27339) found -(27340) found -[11156] Forked 27341 -[11155] Forked 27342 -(27341) found -(27342) found -[11154] Forked 27343 -[11153] Forked 27344 -(27343) found -(27344) found -[11152] Forked 27345 -[11151] Forked 27346 -(27345) found -(27346) found -[11150] Forked 27347 -[11149] Forked 27348 -(27347) found -(27348) found -[11148] Forked 27349 -[11147] Forked 27350 -(27349) found -(27350) found -[11146] Forked 27351 -[11145] Forked 27352 -(27351) found -(27352) found -[11144] Forked 27353 -[11143] Forked 27354 -(27353) found -(27354) found -[11142] Forked 27355 -[11141] Forked 27356 -(27355) found -(27356) found -[11140] Forked 27357 -[11139] Forked 27358 -(27357) found -(27358) found -[11138] Forked 27359 -[11137] Forked 27360 -(27359) found -(27360) found -[11136] Forked 27361 -[11135] Forked 27362 -(27361) found -(27362) found -[11134] Forked 27363 -[11133] Forked 27364 -(27363) found -(27364) found -[11132] Forked 27365 -[11131] Forked 27366 -(27365) found -(27366) found -[11130] Forked 27367 -[11129] Forked 27368 -(27367) found -(27368) found -[11128] Forked 27369 -[11127] Forked 27370 -(27369) found -(27370) found -[11126] Forked 27371 -[11125] Forked 27372 -(27371) found -(27372) found -[11124] Forked 27373 -[11123] Forked 27374 -(27373) found -(27374) found -[11122] Forked 27375 -[11121] Forked 27376 -(27375) found -(27376) found -[11120] Forked 27377 -[11119] Forked 27378 -(27377) found -(27378) found -[11118] Forked 27379 -[11117] Forked 27380 -(27379) found -(27380) found -[11116] Forked 27381 -[11115] Forked 27382 -(27381) found -(27382) found -[11114] Forked 27383 -[11113] Forked 27384 -(27383) found -(27384) found -[11112] Forked 27385 -[11111] Forked 27386 -(27385) found -(27386) found -[11110] Forked 27387 -[11109] Forked 27388 -(27387) found -(27388) found -[11108] Forked 27389 -[11107] Forked 27390 -(27389) found -(27390) found -[11106] Forked 27391 -[11105] Forked 27392 -(27391) found -(27392) found -[11104] Forked 27393 -[11103] Forked 27394 -(27393) found -(27394) found -[11102] Forked 27395 -[11101] Forked 27396 -(27395) found -(27396) found -[11100] Forked 27397 -[11099] Forked 27398 -(27397) found -(27398) found -[11098] Forked 27399 -[11097] Forked 27400 -(27399) found -(27400) found -[11096] Forked 27401 -[11095] Forked 27402 -(27401) found -(27402) found -[11094] Forked 27403 -[11093] Forked 27404 -(27403) found -(27404) found -[11092] Forked 27405 -[11091] Forked 27406 -(27405) found -(27406) found -[11090] Forked 27407 -[11089] Forked 27408 -(27407) found -(27408) found -[11088] Forked 27409 -[11087] Forked 27410 -(27409) found -(27410) found -[11086] Forked 27411 -[11085] Forked 27412 -(27411) found -(27412) found -[11084] Forked 27413 -[11083] Forked 27414 -(27413) found -(27414) found -[11082] Forked 27415 -[11081] Forked 27416 -(27415) found -(27416) found -[11080] Forked 27417 -[11079] Forked 27418 -(27417) found -(27418) found -[11078] Forked 27419 -[11077] Forked 27420 -(27419) found -(27420) found -[11076] Forked 27421 -[11075] Forked 27422 -(27421) found -(27422) found -[11074] Forked 27423 -(27423) found -[11073] Forked 27424 -(27424) found -[11072] Forked 27425 -(27425) found -[11071] Forked 27426 -(27426) found -[11070] Forked 27427 -(27427) found -[11069] Forked 27428 -(27428) found -[11068] Forked 27429 -(27429) found -[11067] Forked 27430 -(27430) found -[11066] Forked 27431 -(27431) found -[11065] Forked 27432 -(27432) found -[11064] Forked 27433 -(27433) found -[11063] Forked 27434 -(27434) found -[11062] Forked 27435 -(27435) found -[11061] Forked 27436 -(27436) found -[11060] Forked 27437 -(27437) found -[11059] Forked 27438 -(27438) found -[11058] Forked 27439 -(27439) found -[11057] Forked 27440 -(27440) found -[11056] Forked 27441 -(27441) found -[11055] Forked 27442 -(27442) found -[11054] Forked 27443 -(27443) found -[11053] Forked 27444 -(27444) found -[11052] Forked 27445 -(27445) found -[11051] Forked 27446 -(27446) found -[11050] Forked 27447 -(27447) found -[11049] Forked 27448 -(27448) found -[11048] Forked 27449 -(27449) found -[11047] Forked 27450 -(27450) found -[11046] Forked 27451 -(27451) found -[11045] Forked 27452 -(27452) found -[11044] Forked 27453 -(27453) found -[11043] Forked 27454 -(27454) found -[11042] Forked 27455 -(27455) found -[11041] Forked 27456 -(27456) found -[11040] Forked 27457 -[11039] Forked 27458 -(27457) found -(27458) found -[11038] Forked 27459 -[11037] Forked 27460 -(27459) found -(27460) found -[11036] Forked 27461 -[11035] Forked 27462 -(27461) found -(27462) found -[11034] Forked 27463 -[11033] Forked 27464 -(27463) found -(27464) found -[11032] Forked 27465 -[11031] Forked 27466 -(27465) found -(27466) found -[11030] Forked 27467 -[11029] Forked 27468 -(27467) found -(27468) found -[11028] Forked 27469 -[11027] Forked 27470 -(27469) found -(27470) found -[11026] Forked 27471 -[11025] Forked 27472 -(27471) found -(27472) found -[11024] Forked 27473 -[11023] Forked 27474 -(27473) found -(27474) found -[11022] Forked 27475 -[11021] Forked 27476 -(27475) found -(27476) found -[11020] Forked 27477 -[11019] Forked 27478 -(27477) found -(27478) found -[11018] Forked 27479 -[11017] Forked 27480 -(27479) found -(27480) found -[11016] Forked 27481 -[11015] Forked 27482 -(27481) found -(27482) found -[11014] Forked 27483 -[11013] Forked 27484 -(27483) found -(27484) found -[11012] Forked 27485 -[11011] Forked 27486 -(27485) found -(27486) found -[11010] Forked 27487 -[11009] Forked 27488 -(27487) found -(27488) found -[11008] Forked 27489 -[11007] Forked 27490 -(27489) found -(27490) found -[11006] Forked 27491 -[11005] Forked 27492 -(27491) found -(27492) found -[11004] Forked 27493 -[11003] Forked 27494 -(27493) found -(27494) found -[11002] Forked 27495 -[11001] Forked 27496 -(27495) found -(27496) found -[11000] Forked 27497 -[10999] Forked 27498 -(27497) found -(27498) found -[10998] Forked 27499 -[10997] Forked 27500 -(27499) found -(27500) found -[10996] Forked 27501 -[10995] Forked 27502 -(27501) found -(27502) found -[10994] Forked 27503 -(27503) found -[10993] Forked 27504 -(27504) found -[10992] Forked 27505 -(27505) found -[10991] Forked 27506 -(27506) found -[10990] Forked 27507 -(27507) found -[10989] Forked 27508 -(27508) found -[10988] Forked 27509 -(27509) found -[10987] Forked 27510 -(27510) found -[10986] Forked 27511 -(27511) found -[10985] Forked 27512 -(27512) found -[10984] Forked 27513 -(27513) found -[10983] Forked 27514 -(27514) found -[10982] Forked 27515 -(27515) found -[10981] Forked 27516 -(27516) found -[10980] Forked 27517 -(27517) found -[10979] Forked 27518 -(27518) found -[10978] Forked 27519 -(27519) found -[10977] Forked 27520 -(27520) found -[10976] Forked 27521 -(27521) found -[10975] Forked 27522 -(27522) found -[10974] Forked 27523 -(27523) found -[10973] Forked 27524 -(27524) found -[10972] Forked 27525 -(27525) found -[10971] Forked 27526 -(27526) found -[10970] Forked 27527 -(27527) found -[10969] Forked 27528 -(27528) found -[10968] Forked 27529 -(27529) found -[10967] Forked 27530 -(27530) found -[10966] Forked 27531 -(27531) found -[10965] Forked 27532 -(27532) found -[10964] Forked 27533 -(27533) found -[10963] Forked 27534 -(27534) found -[10962] Forked 27535 -(27535) found -[10961] Forked 27536 -(27536) found -[10960] Forked 27537 -[10959] Forked 27538 -(27537) found -(27538) found -[10958] Forked 27539 -[10957] Forked 27540 -(27539) found -(27540) found -[10956] Forked 27541 -[10955] Forked 27542 -(27541) found -(27542) found -[10954] Forked 27543 -[10953] Forked 27544 -(27543) found -(27544) found -[10952] Forked 27545 -[10951] Forked 27546 -(27545) found -(27546) found -[10950] Forked 27547 -[10949] Forked 27548 -(27547) found -(27548) found -[10948] Forked 27549 -[10947] Forked 27550 -(27549) found -(27550) found -[10946] Forked 27551 -[10945] Forked 27552 -(27551) found -(27552) found -[10944] Forked 27553 -[10943] Forked 27554 -(27553) found -(27554) found -[10942] Forked 27555 -[10941] Forked 27556 -(27555) found -(27556) found -[10940] Forked 27557 -[10939] Forked 27558 -(27557) found -(27558) found -[10938] Forked 27559 -[10937] Forked 27560 -(27559) found -(27560) found -[10936] Forked 27561 -[10935] Forked 27562 -(27561) found -(27562) found -[10934] Forked 27563 -[10933] Forked 27564 -(27563) found -(27564) found -[10932] Forked 27565 -[10931] Forked 27566 -(27565) found -(27566) found -[10930] Forked 27567 -[10929] Forked 27568 -(27567) found -(27568) found -[10928] Forked 27569 -[10927] Forked 27570 -(27569) found -(27570) found -[10926] Forked 27571 -[10925] Forked 27572 -(27571) found -(27572) found -[10924] Forked 27573 -[10923] Forked 27574 -(27573) found -(27574) found -[10922] Forked 27575 -[10921] Forked 27576 -(27575) found -(27576) found -[10920] Forked 27577 -[10919] Forked 27578 -(27577) found -(27578) found -[10918] Forked 27579 -[10917] Forked 27580 -(27579) found -(27580) found -[10916] Forked 27581 -[10915] Forked 27582 -(27581) found -(27582) found -[10914] Forked 27583 -(27583) found -[10913] Forked 27584 -(27584) found -[10912] Forked 27585 -(27585) found -[10911] Forked 27586 -(27586) found -[10910] Forked 27587 -(27587) found -[10909] Forked 27588 -(27588) found -[10908] Forked 27589 -(27589) found -[10907] Forked 27590 -(27590) found -[10906] Forked 27591 -(27591) found -[10905] Forked 27592 -(27592) found -[10904] Forked 27593 -(27593) found -[10903] Forked 27594 -(27594) found -[10902] Forked 27595 -(27595) found -[10901] Forked 27596 -(27596) found -[10900] Forked 27597 -(27597) found -[10899] Forked 27598 -(27598) found -[10898] Forked 27599 -(27599) found -[10897] Forked 27600 -(27600) found -[10896] Forked 27601 -(27601) found -[10895] Forked 27602 -(27602) found -[10894] Forked 27603 -(27603) found -[10893] Forked 27604 -(27604) found -[10892] Forked 27605 -(27605) found -[10891] Forked 27606 -(27606) found -[10890] Forked 27607 -(27607) found -[10889] Forked 27608 -(27608) found -[10888] Forked 27609 -(27609) found -[10887] Forked 27610 -(27610) found -[10886] Forked 27611 -(27611) found -[10885] Forked 27612 -(27612) found -[10884] Forked 27613 -(27613) found -[10883] Forked 27614 -(27614) found -[10882] Forked 27615 -(27615) found -[10881] Forked 27616 -(27616) found -[10880] Forked 27617 -(27617) found -[10879] Forked 27618 -[10878] Forked 27619 -(27618) found -(27619) found -[10877] Forked 27620 -[10876] Forked 27621 -(27620) found -(27621) found -[10875] Forked 27622 -[10874] Forked 27623 -(27622) found -(27623) found -[10873] Forked 27624 -[10872] Forked 27625 -(27624) found -(27625) found -[10871] Forked 27626 -[10870] Forked 27627 -(27626) found -(27627) found -[10869] Forked 27628 -[10868] Forked 27629 -(27628) found -(27629) found -[10867] Forked 27630 -[10866] Forked 27631 -(27630) found -(27631) found -[10865] Forked 27632 -[10864] Forked 27633 -(27632) found -(27633) found -[10863] Forked 27634 -[10862] Forked 27635 -(27634) found -(27635) found -[10861] Forked 27636 -[10860] Forked 27637 -(27636) found -(27637) found -[10859] Forked 27638 -[10858] Forked 27639 -(27638) found -(27639) found -[10857] Forked 27640 -[10856] Forked 27641 -(27640) found -(27641) found -[10855] Forked 27642 -[10854] Forked 27643 -(27642) found -(27643) found -[10853] Forked 27644 -[10852] Forked 27645 -(27644) found -(27645) found -[10851] Forked 27646 -[10850] Forked 27647 -(27646) found -(27647) found -[10849] Forked 27648 -[10848] Forked 27649 -(27648) found -(27649) found -[10847] Forked 27650 -[10846] Forked 27651 -(27650) found -(27651) found -[10845] Forked 27652 -[10844] Forked 27653 -(27652) found -(27653) found -[10843] Forked 27654 -[10842] Forked 27655 -(27654) found -(27655) found -[10841] Forked 27656 -[10840] Forked 27657 -(27656) found -(27657) found -[10839] Forked 27658 -[10838] Forked 27659 -(27658) found -(27659) found -[10837] Forked 27660 -[10836] Forked 27661 -(27660) found -(27661) found -[10835] Forked 27662 -[10834] Forked 27663 -(27662) found -(27663) found -[10833] Forked 27664 -[10832] Forked 27665 -(27664) found -(27665) found -[10831] Forked 27666 -[10830] Forked 27667 -(27666) found -(27667) found -[10829] Forked 27668 -[10828] Forked 27669 -(27668) found -(27669) found -[10827] Forked 27670 -[10826] Forked 27671 -(27670) found -(27671) found -[10825] Forked 27672 -[10824] Forked 27673 -(27672) found -(27673) found -[10823] Forked 27674 -[10822] Forked 27675 -(27674) found -(27675) found -[10821] Forked 27676 -[10820] Forked 27677 -(27676) found -(27677) found -[10819] Forked 27678 -[10818] Forked 27679 -(27678) found -(27679) found -[10817] Forked 27680 -[10816] Forked 27681 -(27680) found -(27681) found -[10815] Forked 27682 -[10814] Forked 27683 -(27682) found -(27683) found -[10813] Forked 27684 -[10812] Forked 27685 -(27684) found -(27685) found -[10811] Forked 27686 -[10810] Forked 27687 -(27686) found -(27687) found -[10809] Forked 27688 -[10808] Forked 27689 -(27688) found -(27689) found -[10807] Forked 27691 -[10806] Forked 27692 -(27691) found -(27692) found -[10805] Forked 27693 -[10804] Forked 27694 -(27693) found -(27694) found -[10803] Forked 27695 -[10802] Forked 27696 -(27695) found -(27696) found -[10801] Forked 27697 -[10800] Forked 27698 -(27697) found -(27698) found -[10799] Forked 27699 -[10798] Forked 27700 -(27699) found -(27700) found -[10797] Forked 27701 -[10796] Forked 27702 -(27701) found -(27702) found -[10795] Forked 27703 -[10794] Forked 27704 -(27703) found -(27704) found -[10793] Forked 27705 -[10792] Forked 27706 -(27705) found -(27706) found -[10791] Forked 27707 -[10790] Forked 27708 -(27707) found -(27708) found -[10789] Forked 27709 -(27709) found -[10788] Forked 27710 -(27710) found -[10787] Forked 27711 -(27711) found -[10786] Forked 27712 -(27712) found -[10785] Forked 27713 -(27713) found -[10784] Forked 27714 -(27714) found -[10783] Forked 27715 -(27715) found -[10782] Forked 27716 -(27716) found -[10781] Forked 27717 -(27717) found -[10780] Forked 27718 -(27718) found -[10779] Forked 27719 -(27719) found -[10778] Forked 27720 -(27720) found -[10777] Forked 27721 -(27721) found -[10776] Forked 27722 -(27722) found -[10775] Forked 27723 -(27723) found -[10774] Forked 27724 -(27724) found -[10773] Forked 27725 -(27725) found -[10772] Forked 27726 -(27726) found -[10771] Forked 27727 -(27727) found -[10770] Forked 27728 -(27728) found -[10769] Forked 27729 -(27729) found -[10768] Forked 27730 -(27730) found -[10767] Forked 27731 -(27731) found -[10766] Forked 27732 -(27732) found -[10765] Forked 27733 -(27733) found -[10764] Forked 27734 -(27734) found -[10763] Forked 27735 -(27735) found -[10762] Forked 27736 -(27736) found -[10761] Forked 27737 -(27737) found -[10760] Forked 27738 -(27738) found -[10759] Forked 27739 -(27739) found -[10758] Forked 27740 -(27740) found -[10757] Forked 27741 -(27741) found -[10756] Forked 27742 -(27742) found -[10755] Forked 27743 -(27743) found -[10754] Forked 27744 -(27744) found -[10753] Forked 27745 -[10752] Forked 27746 -(27745) found -(27746) found -[10751] Forked 27747 -[10750] Forked 27748 -(27747) found -(27748) found -[10749] Forked 27749 -(27749) found -[10748] Forked 27750 -[10747] Forked 27751 -(27750) found -(27751) found -[10746] Forked 27752 -[10745] Forked 27753 -(27752) found -(27753) found -[10744] Forked 27754 -[10743] Forked 27755 -(27754) found -(27755) found -[10742] Forked 27756 -[10741] Forked 27757 -(27756) found -(27757) found -[10740] Forked 27758 -[10739] Forked 27759 -(27758) found -(27759) found -[10738] Forked 27760 -[10737] Forked 27761 -(27760) found -(27761) found -[10736] Forked 27762 -[10735] Forked 27763 -(27762) found -(27763) found -[10734] Forked 27764 -[10733] Forked 27765 -(27764) found -(27765) found -[10732] Forked 27766 -[10731] Forked 27767 -(27766) found -(27767) found -[10730] Forked 27768 -[10729] Forked 27769 -(27768) found -(27769) found -[10728] Forked 27770 -[10727] Forked 27771 -(27770) found -(27771) found -[10726] Forked 27772 -[10725] Forked 27773 -(27772) found -(27773) found -[10724] Forked 27774 -[10723] Forked 27775 -(27774) found -(27775) found -[10722] Forked 27776 -[10721] Forked 27777 -(27776) found -(27777) found -[10720] Forked 27778 -[10719] Forked 27779 -(27778) found -(27779) found -[10718] Forked 27780 -[10717] Forked 27781 -(27780) found -(27781) found -[10716] Forked 27782 -[10715] Forked 27783 -(27782) found -(27783) found -[10714] Forked 27784 -[10713] Forked 27785 -(27784) found -(27785) found -[10712] Forked 27786 -[10711] Forked 27787 -(27786) found -(27787) found -[10710] Forked 27788 -[10709] Forked 27789 -(27788) found -(27789) found -[10708] Forked 27790 -[10707] Forked 27791 -(27790) found -(27791) found -[10706] Forked 27792 -[10705] Forked 27793 -(27792) found -(27793) found -[10704] Forked 27794 -[10703] Forked 27795 -(27794) found -(27795) found -[10702] Forked 27796 -[10701] Forked 27797 -(27796) found -(27797) found -[10700] Forked 27798 -(27798) found -[10699] Forked 27799 -[10698] Forked 27800 -(27799) found -(27800) found -[10697] Forked 27801 -[10696] Forked 27802 -(27801) found -(27802) found -[10695] Forked 27803 -[10694] Forked 27804 -(27803) found -(27804) found -[10693] Forked 27805 -[10692] Forked 27806 -(27805) found -(27806) found -[10691] Forked 27807 -[10690] Forked 27808 -(27807) found -(27808) found -[10689] Forked 27809 -[10688] Forked 27810 -(27809) found -(27810) found -[10687] Forked 27811 -[10686] Forked 27812 -(27811) found -(27812) found -[10685] Forked 27813 -[10684] Forked 27814 -(27813) found -(27814) found -[10683] Forked 27815 -[10682] Forked 27816 -(27815) found -(27816) found -[10681] Forked 27817 -[10680] Forked 27818 -(27817) found -(27818) found -[10679] Forked 27819 -[10678] Forked 27820 -(27819) found -(27820) found -[10677] Forked 27821 -[10676] Forked 27822 -(27821) found -(27822) found -[10675] Forked 27823 -[10674] Forked 27824 -(27823) found -(27824) found -[10673] Forked 27825 -[10672] Forked 27826 -(27825) found -(27826) found -[10671] Forked 27827 -[10670] Forked 27828 -(27827) found -(27828) found -[10669] Forked 27829 -[10668] Forked 27831 -(27829) found -(27831) found -[10667] Forked 27832 -[10666] Forked 27833 -(27832) found -(27833) found -[10665] Forked 27834 -[10664] Forked 27835 -(27834) found -(27835) found -[10663] Forked 27836 -(27836) found -[10662] Forked 27837 -(27837) found -[10661] Forked 27838 -(27838) found -[10660] Forked 27839 -(27839) found -[10659] Forked 27840 -(27840) found -[10658] Forked 27841 -(27841) found -[10657] Forked 27842 -(27842) found -[10656] Forked 27843 -(27843) found -[10655] Forked 27844 -(27844) found -[10654] Forked 27845 -(27845) found -[10653] Forked 27846 -(27846) found -[10652] Forked 27847 -(27847) found -[10651] Forked 27848 -(27848) found -[10650] Forked 27849 -(27849) found -[10649] Forked 27850 -(27850) found -[10648] Forked 27851 -(27851) found -[10647] Forked 27852 -(27852) found -[10646] Forked 27853 -(27853) found -[10645] Forked 27854 -(27854) found -[10644] Forked 27855 -(27855) found -[10643] Forked 27856 -(27856) found -[10642] Forked 27857 -(27857) found -[10641] Forked 27858 -(27858) found -[10640] Forked 27859 -(27859) found -[10639] Forked 27860 -(27860) found -[10638] Forked 27861 -(27861) found -[10637] Forked 27862 -(27862) found -[10636] Forked 27863 -(27863) found -[10635] Forked 27864 -(27864) found -[10634] Forked 27865 -(27865) found -[10633] Forked 27866 -(27866) found -[10632] Forked 27867 -(27867) found -[10631] Forked 27868 -(27868) found -[10630] Forked 27869 -(27869) found -[10629] Forked 27870 -[10628] Forked 27871 -(27870) found -(27871) found -[10627] Forked 27872 -[10626] Forked 27873 -(27872) found -(27873) found -[10625] Forked 27874 -[10624] Forked 27875 -(27874) found -(27875) found -[10623] Forked 27876 -[10622] Forked 27877 -(27876) found -(27877) found -[10621] Forked 27878 -[10620] Forked 27879 -(27878) found -(27879) found -[10619] Forked 27880 -[10618] Forked 27881 -(27880) found -(27881) found -[10617] Forked 27882 -[10616] Forked 27883 -(27882) found -(27883) found -[10615] Forked 27884 -[10614] Forked 27885 -(27884) found -(27885) found -[10613] Forked 27886 -[10612] Forked 27887 -(27886) found -(27887) found -[10611] Forked 27888 -[10610] Forked 27889 -(27888) found -(27889) found -[10609] Forked 27890 -[10608] Forked 27891 -(27890) found -(27891) found -[10607] Forked 27892 -[10606] Forked 27893 -(27892) found -(27893) found -[10605] Forked 27894 -[10604] Forked 27895 -(27894) found -(27895) found -[10603] Forked 27896 -[10602] Forked 27897 -(27896) found -(27897) found -[10601] Forked 27898 -[10600] Forked 27899 -(27898) found -(27899) found -[10599] Forked 27900 -[10598] Forked 27901 -(27900) found -(27901) found -[10597] Forked 27902 -[10596] Forked 27903 -(27902) found -(27903) found -[10595] Forked 27904 -[10594] Forked 27905 -(27904) found -(27905) found -[10593] Forked 27906 -[10592] Forked 27907 -(27906) found -(27907) found -[10591] Forked 27908 -[10590] Forked 27909 -(27908) found -(27909) found -[10589] Forked 27910 -[10588] Forked 27911 -(27910) found -(27911) found -[10587] Forked 27912 -[10586] Forked 27913 -(27912) found -(27913) found -[10585] Forked 27914 -(27914) found -[10584] Forked 27915 -[10583] Forked 27916 -(27915) found -(27916) found -[10582] Forked 27917 -[10581] Forked 27918 -(27917) found -(27918) found -[10580] Forked 27919 -(27919) found -[10579] Forked 27920 -[10578] Forked 27921 -(27920) found -(27921) found -[10577] Forked 27922 -[10576] Forked 27923 -(27923) found -(27922) found -[10575] Forked 27924 -(27924) found -[10574] Forked 27925 -(27925) found -[10573] Forked 27926 -(27926) found -[10572] Forked 27927 -(27927) found -[10571] Forked 27928 -(27928) found -[10570] Forked 27929 -(27929) found -[10569] Forked 27930 -(27930) found -[10568] Forked 27931 -(27931) found -[10567] Forked 27932 -(27932) found -[10566] Forked 27933 -(27933) found -[10565] Forked 27934 -(27934) found -[10564] Forked 27935 -(27935) found -[10563] Forked 27936 -(27936) found -[10562] Forked 27937 -(27937) found -[10561] Forked 27938 -(27938) found -[10560] Forked 27939 -(27939) found -[10559] Forked 27940 -(27940) found -[10558] Forked 27941 -(27941) found -[10557] Forked 27942 -(27942) found -[10556] Forked 27943 -(27943) found -[10555] Forked 27944 -(27944) found -[10554] Forked 27945 -(27945) found -[10553] Forked 27946 -(27946) found -[10552] Forked 27947 -(27947) found -[10551] Forked 27948 -(27948) found -[10550] Forked 27949 -(27949) found -[10549] Forked 27950 -(27950) found -[10548] Forked 27951 -(27951) found -[10547] Forked 27952 -(27952) found -[10546] Forked 27953 -(27953) found -[10545] Forked 27954 -(27954) found -[10544] Forked 27955 -(27955) found -[10543] Forked 27956 -(27956) found -[10542] Forked 27957 -(27957) found -[10541] Forked 27958 -(27958) found -[10540] Forked 27959 -(27959) found -[10539] Forked 27960 -(27960) found -[10538] Forked 27961 -(27961) found -[10537] Forked 27962 -(27962) found -[10536] Forked 27963 -(27963) found -[10535] Forked 27964 -(27964) found -[10534] Forked 27965 -(27965) found -[10533] Forked 27966 -(27966) found -[10532] Forked 27967 -(27967) found -[10531] Forked 27968 -(27968) found -[10530] Forked 27969 -(27969) found -[10529] Forked 27970 -(27970) found -[10528] Forked 27971 -(27971) found -[10527] Forked 27972 -(27972) found -[10526] Forked 27973 -(27973) found -[10525] Forked 27974 -(27974) found -[10524] Forked 27975 -(27975) found -[10523] Forked 27976 -(27976) found -[10522] Forked 27977 -(27977) found -[10521] Forked 27978 -(27978) found -[10520] Forked 27979 -(27979) found -[10519] Forked 27980 -(27980) found -[10518] Forked 27981 -(27981) found -[10517] Forked 27982 -(27982) found -[10516] Forked 27983 -(27983) found -[10515] Forked 27984 -(27984) found -[10514] Forked 27985 -(27985) found -[10513] Forked 27986 -[10512] Forked 27988 -(27986) found -(27988) found -[10511] Forked 27989 -[10510] Forked 27990 -(27989) found -(27990) found -[10509] Forked 27991 -[10508] Forked 27992 -(27991) found -(27992) found -[10507] Forked 27993 -[10506] Forked 27994 -(27993) found -(27994) found -[10505] Forked 27995 -[10504] Forked 27996 -(27995) found -(27996) found -[10503] Forked 27997 -[10502] Forked 27998 -(27997) found -(27998) found -[10501] Forked 27999 -[10500] Forked 28000 -(27999) found -(28000) found -[10499] Forked 28001 -[10498] Forked 28002 -(28001) found -(28002) found -[10497] Forked 28003 -[10496] Forked 28004 -(28003) found -(28004) found -[10495] Forked 28005 -[10494] Forked 28006 -(28005) found -(28006) found -[10493] Forked 28007 -[10492] Forked 28008 -(28007) found -(28008) found -[10491] Forked 28009 -[10490] Forked 28010 -(28009) found -(28010) found -[10489] Forked 28011 -[10488] Forked 28012 -(28011) found -(28012) found -[10487] Forked 28013 -[10486] Forked 28014 -(28013) found -(28014) found -[10485] Forked 28015 -[10484] Forked 28016 -(28015) found -(28016) found -[10483] Forked 28017 -[10482] Forked 28018 -(28017) found -(28018) found -[10481] Forked 28019 -[10480] Forked 28020 -(28019) found -(28020) found -[10479] Forked 28021 -[10478] Forked 28022 -(28021) found -(28022) found -[10477] Forked 28023 -[10476] Forked 28024 -(28023) found -(28024) found -[10475] Forked 28025 -[10474] Forked 28026 -(28025) found -(28026) found -[10473] Forked 28027 -[10472] Forked 28028 -(28027) found -(28028) found -[10471] Forked 28029 -[10470] Forked 28030 -(28029) found -(28030) found -[10469] Forked 28031 -(28031) found -[10468] Forked 28032 -(28032) found -[10467] Forked 28033 -(28033) found -[10466] Forked 28034 -(28034) found -[10465] Forked 28035 -(28035) found -[10464] Forked 28036 -(28036) found -[10463] Forked 28037 -(28037) found -[10462] Forked 28038 -(28038) found -[10461] Forked 28039 -(28039) found -[10460] Forked 28040 -(28040) found -[10459] Forked 28041 -(28041) found -[10458] Forked 28042 -(28042) found -[10457] Forked 28043 -(28043) found -[10456] Forked 28044 -(28044) found -[10455] Forked 28045 -(28045) found -[10454] Forked 28047 -(28047) found -[10453] Forked 28048 -(28048) found -[10452] Forked 28049 -(28049) found -[10451] Forked 28050 -(28050) found -[10450] Forked 28051 -(28051) found -[10449] Forked 28052 -(28052) found -[10448] Forked 28053 -(28053) found -[10447] Forked 28054 -(28054) found -[10446] Forked 28055 -(28055) found -[10445] Forked 28056 -(28056) found -[10444] Forked 28057 -(28057) found -[10443] Forked 28058 -(28058) found -[10442] Forked 28059 -(28059) found -[10441] Forked 28060 -(28060) found -[10440] Forked 28061 -(28061) found -[10439] Forked 28062 -(28062) found -[10438] Forked 28063 -(28063) found -[10437] Forked 28064 -(28064) found -[10436] Forked 28065 -(28065) found -[10435] Forked 28066 -(28066) found -[10434] Forked 28067 -(28067) found -[10433] Forked 28068 -[10432] Forked 28069 -(28068) found -(28069) found -[10431] Forked 28070 -[10430] Forked 28071 -(28070) found -(28071) found -[10429] Forked 28072 -[10428] Forked 28073 -(28072) found -(28073) found -[10427] Forked 28074 -[10426] Forked 28075 -(28074) found -(28075) found -[10425] Forked 28076 -[10424] Forked 28077 -(28076) found -(28077) found -[10423] Forked 28078 -[10422] Forked 28079 -(28078) found -(28079) found -[10421] Forked 28080 -[10420] Forked 28081 -(28080) found -(28081) found -[10419] Forked 28082 -[10418] Forked 28083 -(28082) found -(28083) found -[10417] Forked 28084 -[10416] Forked 28085 -(28084) found -(28085) found -[10415] Forked 28086 -[10414] Forked 28087 -(28086) found -(28087) found -[10413] Forked 28088 -[10412] Forked 28089 -(28088) found -(28089) found -[10411] Forked 28090 -[10410] Forked 28091 -(28090) found -(28091) found -[10409] Forked 28092 -[10408] Forked 28093 -(28092) found -(28093) found -[10407] Forked 28094 -[10406] Forked 28095 -(28094) found -(28095) found -[10405] Forked 28096 -[10404] Forked 28097 -(28096) found -(28097) found -[10403] Forked 28098 -[10402] Forked 28100 -(28098) found -(28100) found -[10401] Forked 28101 -(28101) found -[10400] Forked 28102 -(28102) found -[10399] Forked 28103 -(28103) found -[10398] Forked 28104 -(28104) found -[10397] Forked 28105 -(28105) found -[10396] Forked 28106 -(28106) found -[10395] Forked 28107 -(28107) found -[10394] Forked 28108 -(28108) found -[10393] Forked 28109 -(28109) found -[10392] Forked 28110 -(28110) found -[10391] Forked 28111 -(28111) found -[10390] Forked 28112 -(28112) found -[10389] Forked 28113 -(28113) found -[10388] Forked 28114 -(28114) found -[10387] Forked 28115 -(28115) found -[10386] Forked 28116 -(28116) found -[10385] Forked 28117 -(28117) found -[10384] Forked 28118 -(28118) found -[10383] Forked 28119 -(28119) found -[10382] Forked 28120 -(28120) found -[10381] Forked 28121 -(28121) found -[10380] Forked 28122 -(28122) found -[10379] Forked 28123 -(28123) found -[10378] Forked 28124 -(28124) found -[10377] Forked 28125 -(28125) found -[10376] Forked 28126 -(28126) found -[10375] Forked 28127 -(28127) found -[10374] Forked 28128 -(28128) found -[10373] Forked 28129 -(28129) found -[10372] Forked 28130 -(28130) found -[10371] Forked 28131 -(28131) found -[10370] Forked 28132 -(28132) found -[10369] Forked 28133 -(28133) found -[10368] Forked 28134 -(28134) found -[10367] Forked 28135 -(28135) found -[10366] Forked 28136 -(28136) found -[10365] Forked 28137 -(28137) found -[10364] Forked 28138 -(28138) found -[10363] Forked 28139 -(28139) found -[10362] Forked 28140 -(28140) found -[10361] Forked 28141 -(28141) found -[10360] Forked 28142 -(28142) found -[10359] Forked 28143 -(28143) found -[10358] Forked 28144 -(28144) found -[10357] Forked 28145 -(28145) found -[10356] Forked 28146 -(28146) found -[10355] Forked 28147 -(28147) found -[10354] Forked 28148 -(28148) found -[10353] Forked 28149 -(28149) found -[10352] Forked 28150 -(28150) found -[10351] Forked 28151 -(28151) found -[10350] Forked 28152 -(28152) found -[10349] Forked 28153 -(28153) found -[10348] Forked 28154 -(28154) found -[10347] Forked 28155 -(28155) found -[10346] Forked 28156 -(28156) found -[10345] Forked 28157 -(28157) found -[10344] Forked 28158 -(28158) found -[10343] Forked 28159 -(28159) found -[10342] Forked 28160 -(28160) found -[10341] Forked 28161 -(28161) found -[10340] Forked 28162 -(28162) found -[10339] Forked 28163 -(28163) found -[10338] Forked 28164 -(28164) found -[10337] Forked 28165 -(28165) found -[10336] Forked 28166 -(28166) found -[10335] Forked 28167 -(28167) found -[10334] Forked 28168 -(28168) found -[10333] Forked 28169 -(28169) found -[10332] Forked 28170 -(28170) found -[10331] Forked 28171 -(28171) found -[10330] Forked 28172 -(28172) found -[10329] Forked 28173 -(28173) found -[10328] Forked 28174 -(28174) found -[10327] Forked 28175 -(28175) found -[10326] Forked 28176 -(28176) found -[10325] Forked 28177 -(28177) found -[10324] Forked 28178 -(28178) found -[10323] Forked 28179 -(28179) found -[10322] Forked 28180 -(28180) found -[10321] Forked 28181 -(28181) found -[10320] Forked 28182 -(28182) found -[10319] Forked 28183 -[10318] Forked 28184 -(28183) found -(28184) found -[10317] Forked 28185 -[10316] Forked 28186 -(28185) found -(28186) found -[10315] Forked 28187 -[10314] Forked 28188 -(28187) found -(28188) found -[10313] Forked 28189 -[10312] Forked 28190 -(28189) found -(28190) found -[10311] Forked 28191 -[10310] Forked 28192 -(28191) found -(28192) found -[10309] Forked 28193 -[10308] Forked 28194 -(28193) found -(28194) found -[10307] Forked 28195 -[10306] Forked 28196 -(28195) found -(28196) found -[10305] Forked 28197 -[10304] Forked 28198 -(28197) found -(28198) found -[10303] Forked 28199 -[10302] Forked 28200 -(28199) found -(28200) found -[10301] Forked 28201 -[10300] Forked 28202 -(28201) found -(28202) found -[10299] Forked 28203 -[10298] Forked 28204 -(28203) found -(28204) found -[10297] Forked 28205 -[10296] Forked 28206 -(28205) found -(28206) found -[10295] Forked 28207 -[10294] Forked 28208 -(28207) found -(28208) found -[10293] Forked 28209 -[10292] Forked 28210 -(28209) found -(28210) found -[10291] Forked 28211 -[10290] Forked 28212 -(28211) found -(28212) found -[10289] Forked 28213 -[10288] Forked 28214 -(28213) found -(28214) found -[10287] Forked 28215 -[10286] Forked 28216 -(28215) found -(28216) found -[10285] Forked 28217 -[10284] Forked 28218 -(28217) found -(28218) found -[10283] Forked 28219 -[10282] Forked 28220 -(28219) found -(28220) found -[10281] Forked 28221 -[10280] Forked 28222 -(28221) found -(28222) found -[10279] Forked 28223 -[10278] Forked 28224 -(28223) found -(28224) found -[10277] Forked 28225 -[10276] Forked 28226 -(28225) found -(28226) found -[10275] Forked 28227 -[10274] Forked 28228 -(28227) found -(28228) found -[10273] Forked 28229 -(28229) found -[10272] Forked 28230 -(28230) found -[10271] Forked 28231 -(28231) found -[10270] Forked 28232 -(28232) found -[10269] Forked 28233 -(28233) found -[10268] Forked 28234 -(28234) found -[10267] Forked 28235 -(28235) found -[10266] Forked 28236 -(28236) found -[10265] Forked 28237 -(28237) found -[10264] Forked 28238 -(28238) found -[10263] Forked 28239 -(28239) found -[10262] Forked 28240 -(28240) found -[10261] Forked 28241 -(28241) found -[10260] Forked 28242 -(28242) found -[10259] Forked 28243 -(28243) found -[10258] Forked 28244 -(28244) found -[10257] Forked 28245 -(28245) found -[10256] Forked 28246 -(28246) found -[10255] Forked 28247 -(28247) found -[10254] Forked 28248 -(28248) found -[10253] Forked 28249 -(28249) found -[10252] Forked 28250 -(28250) found -[10251] Forked 28251 -(28251) found -[10250] Forked 28252 -(28252) found -[10249] Forked 28253 -(28253) found -[10248] Forked 28254 -(28254) found -[10247] Forked 28255 -(28255) found -[10246] Forked 28256 -(28256) found -[10245] Forked 28257 -(28257) found -[10244] Forked 28258 -(28258) found -[10243] Forked 28259 -(28259) found -[10242] Forked 28260 -(28260) found -[10241] Forked 28261 -(28261) found -[10240] Forked 28262 -(28262) found -[10239] Forked 28263 -(28263) found -[10238] Forked 28264 -(28264) found -[10237] Forked 28265 -[10236] Forked 28266 -(28265) found -(28266) found -[10235] Forked 28267 -[10234] Forked 28268 -(28267) found -(28268) found -[10233] Forked 28269 -[10232] Forked 28270 -(28269) found -(28270) found -[10231] Forked 28271 -[10230] Forked 28272 -(28271) found -(28272) found -[10229] Forked 28273 -[10228] Forked 28274 -(28273) found -(28274) found -[10227] Forked 28275 -[10226] Forked 28276 -(28275) found -(28276) found -[10225] Forked 28277 -(28277) found -[10224] Forked 28278 -(28278) found -[10223] Forked 28279 -(28279) found -[10222] Forked 28280 -(28280) found -[10221] Forked 28281 -(28281) found -[10220] Forked 28282 -(28282) found -[10219] Forked 28283 -(28283) found -[10218] Forked 28284 -[10217] Forked 28285 -(28284) found -(28285) found -[10216] Forked 28286 -[10215] Forked 28287 -(28286) found -(28287) found -[10214] Forked 28288 -[10213] Forked 28289 -(28288) found -(28289) found -[10212] Forked 28290 -[10211] Forked 28291 -(28290) found -(28291) found -[10210] Forked 28292 -[10209] Forked 28293 -(28292) found -(28293) found -[10208] Forked 28294 -[10207] Forked 28295 -(28294) found -(28295) found -[10206] Forked 28296 -[10205] Forked 28297 -(28296) found -(28297) found -[10204] Forked 28298 -[10203] Forked 28299 -(28298) found -(28299) found -[10202] Forked 28300 -[10201] Forked 28301 -(28300) found -(28301) found -[10200] Forked 28302 -[10199] Forked 28303 -(28302) found -(28303) found -[10198] Forked 28304 -[10197] Forked 28305 -(28304) found -(28305) found -[10196] Forked 28306 -[10195] Forked 28307 -(28306) found -(28307) found -[10194] Forked 28308 -[10193] Forked 28309 -(28308) found -(28309) found -[10192] Forked 28310 -[10191] Forked 28311 -(28310) found -(28311) found -[10190] Forked 28312 -[10189] Forked 28313 -(28312) found -(28313) found -[10188] Forked 28314 -[10187] Forked 28315 -(28314) found -(28315) found -[10186] Forked 28316 -[10185] Forked 28317 -(28316) found -(28317) found -[10184] Forked 28318 -[10183] Forked 28319 -(28318) found -(28319) found -[10182] Forked 28320 -[10181] Forked 28321 -(28320) found -(28321) found -[10180] Forked 28322 -[10179] Forked 28323 -(28322) found -(28323) found -[10178] Forked 28324 -[10177] Forked 28325 -(28324) found -(28325) found -[10176] Forked 28326 -[10175] Forked 28327 -(28326) found -(28327) found -[10174] Forked 28328 -[10173] Forked 28329 -(28328) found -(28329) found -[10172] Forked 28330 -[10171] Forked 28331 -(28330) found -(28331) found -[10170] Forked 28332 -[10169] Forked 28333 -(28332) found -(28333) found -[10168] Forked 28334 -[10167] Forked 28335 -(28334) found -(28335) found -[10166] Forked 28336 -[10165] Forked 28337 -(28336) found -(28337) found -[10164] Forked 28338 -[10163] Forked 28339 -(28338) found -(28339) found -[10162] Forked 28340 -[10161] Forked 28341 -(28340) found -(28341) found -[10160] Forked 28342 -[10159] Forked 28343 -(28342) found -(28343) found -[10158] Forked 28344 -[10157] Forked 28345 -(28344) found -(28345) found -[10156] Forked 28346 -[10155] Forked 28347 -(28346) found -(28347) found -[10154] Forked 28348 -[10153] Forked 28349 -(28348) found -(28349) found -[10152] Forked 28350 -[10151] Forked 28351 -(28350) found -(28351) found -[10150] Forked 28352 -(28352) found -[10149] Forked 28353 -(28353) found -[10148] Forked 28354 -(28354) found -[10147] Forked 28355 -(28355) found -[10146] Forked 28356 -(28356) found -[10145] Forked 28357 -(28357) found -[10144] Forked 28358 -(28358) found -[10143] Forked 28359 -(28359) found -[10142] Forked 28360 -(28360) found -[10141] Forked 28361 -(28361) found -[10140] Forked 28362 -(28362) found -[10139] Forked 28363 -(28363) found -[10138] Forked 28364 -(28364) found -[10137] Forked 28365 -(28365) found -[10136] Forked 28366 -(28366) found -[10135] Forked 28367 -(28367) found -[10134] Forked 28368 -(28368) found -[10133] Forked 28369 -(28369) found -[10132] Forked 28370 -(28370) found -[10131] Forked 28371 -(28371) found -[10130] Forked 28372 -(28372) found -[10129] Forked 28373 -(28373) found -[10128] Forked 28374 -(28374) found -[10127] Forked 28375 -(28375) found -[10126] Forked 28376 -(28376) found -[10125] Forked 28377 -(28377) found -[10124] Forked 28378 -(28378) found -[10123] Forked 28379 -(28379) found -[10122] Forked 28380 -(28380) found -[10121] Forked 28381 -(28381) found -[10120] Forked 28382 -(28382) found -[10119] Forked 28383 -(28383) found -[10118] Forked 28384 -(28384) found -[10117] Forked 28385 -(28385) found -[10116] Forked 28386 -(28386) found -[10115] Forked 28387 -(28387) found -[10114] Forked 28388 -[10113] Forked 28389 -(28388) found -(28389) found -[10112] Forked 28390 -[10111] Forked 28391 -(28390) found -(28391) found -[10110] Forked 28392 -[10109] Forked 28393 -(28392) found -(28393) found -[10108] Forked 28394 -[10107] Forked 28395 -(28394) found -(28395) found -[10106] Forked 28396 -[10105] Forked 28397 -(28396) found -(28397) found -[10104] Forked 28398 -[10103] Forked 28399 -(28398) found -(28399) found -[10102] Forked 28400 -[10101] Forked 28401 -(28400) found -(28401) found -[10100] Forked 28402 -[10099] Forked 28403 -(28402) found -(28403) found -[10098] Forked 28404 -[10097] Forked 28405 -(28404) found -(28405) found -[10096] Forked 28406 -[10095] Forked 28407 -(28406) found -(28407) found -[10094] Forked 28408 -[10093] Forked 28409 -(28408) found -(28409) found -[10092] Forked 28410 -[10091] Forked 28411 -(28410) found -(28411) found -[10090] Forked 28412 -[10089] Forked 28413 -(28412) found -(28413) found -[10088] Forked 28414 -[10087] Forked 28415 -(28414) found -(28415) found -[10086] Forked 28416 -[10085] Forked 28417 -(28416) found -(28417) found -[10084] Forked 28418 -[10083] Forked 28419 -(28418) found -(28419) found -[10082] Forked 28420 -[10081] Forked 28421 -(28420) found -(28421) found -[10080] Forked 28422 -[10079] Forked 28423 -(28422) found -(28423) found -[10078] Forked 28424 -[10077] Forked 28425 -(28424) found -(28425) found -[10076] Forked 28426 -[10075] Forked 28427 -(28426) found -(28427) found -[10074] Forked 28428 -[10073] Forked 28429 -(28428) found -(28429) found -[10072] Forked 28430 -[10071] Forked 28431 -(28430) found -(28431) found -[10070] Forked 28432 -[10069] Forked 28433 -(28432) found -(28433) found -[10068] Forked 28434 -[10067] Forked 28435 -(28434) found -(28435) found -[10066] Forked 28436 -[10065] Forked 28437 -(28436) found -(28437) found -[10064] Forked 28438 -[10063] Forked 28439 -(28438) found -(28439) found -[10062] Forked 28440 -[10061] Forked 28441 -(28440) found -(28441) found -[10060] Forked 28442 -[10059] Forked 28443 -(28442) found -(28443) found -[10058] Forked 28444 -[10057] Forked 28445 -(28444) found -(28445) found -[10056] Forked 28446 -[10055] Forked 28447 -(28446) found -(28447) found -[10054] Forked 28448 -[10053] Forked 28449 -(28448) found -(28449) found -[10052] Forked 28450 -[10051] Forked 28452 -(28450) found -(28452) found -[10050] Forked 28453 -(28453) found -[10049] Forked 28454 -(28454) found -[10048] Forked 28455 -(28455) found -[10047] Forked 28456 -(28456) found -[10046] Forked 28457 -(28457) found -[10045] Forked 28458 -(28458) found -[10044] Forked 28459 -(28459) found -[10043] Forked 28460 -(28460) found -[10042] Forked 28461 -(28461) found -[10041] Forked 28462 -(28462) found -[10040] Forked 28463 -(28463) found -[10039] Forked 28464 -(28464) found -[10038] Forked 28465 -(28465) found -[10037] Forked 28466 -(28466) found -[10036] Forked 28467 -(28467) found -[10035] Forked 28468 -(28468) found -[10034] Forked 28469 -(28469) found -[10033] Forked 28470 -(28470) found -[10032] Forked 28471 -(28471) found -[10031] Forked 28472 -(28472) found -[10030] Forked 28473 -(28473) found -[10029] Forked 28474 -(28474) found -[10028] Forked 28475 -(28475) found -[10027] Forked 28476 -(28476) found -[10026] Forked 28477 -(28477) found -[10025] Forked 28478 -(28478) found -[10024] Forked 28479 -(28479) found -[10023] Forked 28480 -(28480) found -[10022] Forked 28481 -(28481) found -[10021] Forked 28482 -(28482) found -[10020] Forked 28483 -(28483) found -[10019] Forked 28484 -(28484) found -[10018] Forked 28485 -(28485) found -[10017] Forked 28486 -(28486) found -[10016] Forked 28487 -(28487) found -[10015] Forked 28488 -(28488) found -[10014] Forked 28489 -(28489) found -[10013] Forked 28490 -(28490) found -[10012] Forked 28491 -(28491) found -[10011] Forked 28492 -(28492) found -[10010] Forked 28493 -(28493) found -[10009] Forked 28494 -(28494) found -[10008] Forked 28495 -(28495) found -[10007] Forked 28496 -(28496) found -[10006] Forked 28497 -(28497) found -[10005] Forked 28498 -(28498) found -[10004] Forked 28499 -(28499) found -[10003] Forked 28500 -(28500) found -[10002] Forked 28501 -(28501) found -[10001] Forked 28502 -(28502) found -[10000] Forked 28503 -(28503) found -[9999] Forked 28504 -(28504) found -[9998] Forked 28505 -(28505) found -[9997] Forked 28506 -(28506) found -[9996] Forked 28507 -(28507) found -[9995] Forked 28508 -(28508) found -[9994] Forked 28509 -(28509) found -[9993] Forked 28510 -(28510) found -[9992] Forked 28511 -(28511) found -[9991] Forked 28512 -(28512) found -[9990] Forked 28513 -(28513) found -[9989] Forked 28514 -(28514) found -[9988] Forked 28515 -(28515) found -[9987] Forked 28516 -(28516) found -[9986] Forked 28517 -(28517) found -[9985] Forked 28518 -(28518) found -[9984] Forked 28519 -(28519) found -[9983] Forked 28520 -(28520) found -[9982] Forked 28521 -(28521) found -[9981] Forked 28522 -(28522) found -[9980] Forked 28523 -(28523) found -[9979] Forked 28524 -(28524) found -[9978] Forked 28525 -(28525) found -[9977] Forked 28526 -(28526) found -[9976] Forked 28527 -(28527) found -[9975] Forked 28528 -(28528) found -[9974] Forked 28529 -(28529) found -[9973] Forked 28530 -(28530) found -[9972] Forked 28531 -(28531) found -[9971] Forked 28532 -(28532) found -[9970] Forked 28533 -(28533) found -[9969] Forked 28534 -(28534) found -[9968] Forked 28535 -(28535) found -[9967] Forked 28536 -(28536) found -[9966] Forked 28537 -(28537) found -[9965] Forked 28538 -(28538) found -[9964] Forked 28539 -(28539) found -[9963] Forked 28540 -(28540) found -[9962] Forked 28541 -(28541) found -[9961] Forked 28542 -[9960] Forked 28543 -(28542) found -(28543) found -[9959] Forked 28544 -[9958] Forked 28545 -(28544) found -(28545) found -[9957] Forked 28546 -[9956] Forked 28547 -(28546) found -(28547) found -[9955] Forked 28548 -[9954] Forked 28549 -(28548) found -(28549) found -[9953] Forked 28550 -[9952] Forked 28551 -(28550) found -(28551) found -[9951] Forked 28552 -[9950] Forked 28553 -(28552) found -(28553) found -[9949] Forked 28554 -[9948] Forked 28555 -(28554) found -(28555) found -[9947] Forked 28556 -[9946] Forked 28557 -(28556) found -(28557) found -[9945] Forked 28558 -[9944] Forked 28559 -(28558) found -(28559) found -[9943] Forked 28560 -[9942] Forked 28561 -(28560) found -(28561) found -[9941] Forked 28562 -[9940] Forked 28563 -(28562) found -(28563) found -[9939] Forked 28564 -[9938] Forked 28565 -(28564) found -(28565) found -[9937] Forked 28566 -[9936] Forked 28567 -(28566) found -(28567) found -[9935] Forked 28568 -[9934] Forked 28569 -(28568) found -(28569) found -[9933] Forked 28570 -[9932] Forked 28572 -(28570) found -(28572) found -[9931] Forked 28573 -(28573) found -[9930] Forked 28574 -(28574) found -[9929] Forked 28575 -(28575) found -[9928] Forked 28576 -(28576) found -[9927] Forked 28577 -(28577) found -[9926] Forked 28578 -(28578) found -[9925] Forked 28579 -(28579) found -[9924] Forked 28580 -(28580) found -[9923] Forked 28581 -(28581) found -[9922] Forked 28582 -(28582) found -[9921] Forked 28583 -(28583) found -[9920] Forked 28584 -(28584) found -[9919] Forked 28585 -(28585) found -[9918] Forked 28586 -(28586) found -[9917] Forked 28587 -(28587) found -[9916] Forked 28588 -(28588) found -[9915] Forked 28589 -(28589) found -[9914] Forked 28590 -(28590) found -[9913] Forked 28591 -(28591) found -[9912] Forked 28592 -(28592) found -[9911] Forked 28593 -(28593) found -[9910] Forked 28594 -(28594) found -[9909] Forked 28595 -(28595) found -[9908] Forked 28596 -(28596) found -[9907] Forked 28597 -(28597) found -[9906] Forked 28598 -(28598) found -[9905] Forked 28599 -(28599) found -[9904] Forked 28600 -(28600) found -[9903] Forked 28601 -(28601) found -[9902] Forked 28602 -(28602) found -[9901] Forked 28603 -(28603) found -[9900] Forked 28604 -(28604) found -[9899] Forked 28605 -(28605) found -[9898] Forked 28606 -(28606) found -[9897] Forked 28607 -(28607) found -[9896] Forked 28608 -(28608) found -[9895] Forked 28609 -(28609) found -[9894] Forked 28610 -(28610) found -[9893] Forked 28611 -(28611) found -[9892] Forked 28612 -(28612) found -[9891] Forked 28613 -(28613) found -[9890] Forked 28614 -(28614) found -[9889] Forked 28615 -(28615) found -[9888] Forked 28616 -(28616) found -[9887] Forked 28617 -(28617) found -[9886] Forked 28618 -(28618) found -[9885] Forked 28619 -(28619) found -[9884] Forked 28620 -(28620) found -[9883] Forked 28621 -(28621) found -[9882] Forked 28622 -(28622) found -[9881] Forked 28623 -(28623) found -[9880] Forked 28624 -(28624) found -[9879] Forked 28625 -(28625) found -[9878] Forked 28626 -(28626) found -[9877] Forked 28627 -(28627) found -[9876] Forked 28628 -(28628) found -[9875] Forked 28629 -(28629) found -[9874] Forked 28630 -(28630) found -[9873] Forked 28631 -(28631) found -[9872] Forked 28632 -(28632) found -[9871] Forked 28633 -(28633) found -[9870] Forked 28634 -(28634) found -[9869] Forked 28635 -(28635) found -[9868] Forked 28636 -(28636) found -[9867] Forked 28637 -(28637) found -[9866] Forked 28638 -(28638) found -[9865] Forked 28639 -(28639) found -[9864] Forked 28640 -(28640) found -[9863] Forked 28641 -(28641) found -[9862] Forked 28642 -(28642) found -[9861] Forked 28643 -(28643) found -[9860] Forked 28644 -(28644) found -[9859] Forked 28645 -(28645) found -[9858] Forked 28646 -(28646) found -[9857] Forked 28647 -(28647) found -[9856] Forked 28648 -(28648) found -[9855] Forked 28649 -(28649) found -[9854] Forked 28650 -(28650) found -[9853] Forked 28651 -(28651) found -[9852] Forked 28652 -(28652) found -[9851] Forked 28653 -(28653) found -[9850] Forked 28654 -(28654) found -[9849] Forked 28655 -[9848] Forked 28656 -(28655) found -(28656) found -[9847] Forked 28657 -[9846] Forked 28658 -(28657) found -(28658) found -[9845] Forked 28659 -[9844] Forked 28660 -(28659) found -(28660) found -[9843] Forked 28661 -[9842] Forked 28662 -(28661) found -(28662) found -[9841] Forked 28663 -[9840] Forked 28664 -(28663) found -(28664) found -[9839] Forked 28665 -[9838] Forked 28666 -(28665) found -(28666) found -[9837] Forked 28667 -[9836] Forked 28668 -(28667) found -(28668) found -[9835] Forked 28669 -[9834] Forked 28670 -(28669) found -(28670) found -[9833] Forked 28671 -[9832] Forked 28672 -(28671) found -(28672) found -[9831] Forked 28673 -[9830] Forked 28674 -(28673) found -(28674) found -[9829] Forked 28675 -[9828] Forked 28676 -(28675) found -(28676) found -[9827] Forked 28677 -[9826] Forked 28678 -(28677) found -(28678) found -[9825] Forked 28679 -[9824] Forked 28680 -(28679) found -(28680) found -[9823] Forked 28681 -[9822] Forked 28682 -(28681) found -(28682) found -[9821] Forked 28683 -[9820] Forked 28684 -(28683) found -(28684) found -[9819] Forked 28685 -[9818] Forked 28686 -(28685) found -(28686) found -[9817] Forked 28687 -[9816] Forked 28688 -(28687) found -(28688) found -[9815] Forked 28689 -[9814] Forked 28690 -(28689) found -(28690) found -[9813] Forked 28691 -[9812] Forked 28692 -(28691) found -(28692) found -[9811] Forked 28693 -[9810] Forked 28694 -(28693) found -(28694) found -[9809] Forked 28696 -[9808] Forked 28697 -(28696) found -(28697) found -[9807] Forked 28698 -[9806] Forked 28699 -(28698) found -(28699) found -[9805] Forked 28700 -[9804] Forked 28701 -(28700) found -(28701) found -[9803] Forked 28702 -(28702) found -[9802] Forked 28703 -(28703) found -[9801] Forked 28704 -(28704) found -[9800] Forked 28705 -(28705) found -[9799] Forked 28706 -(28706) found -[9798] Forked 28707 -(28707) found -[9797] Forked 28708 -(28708) found -[9796] Forked 28709 -(28709) found -[9795] Forked 28710 -(28710) found -[9794] Forked 28711 -(28711) found -[9793] Forked 28712 -(28712) found -[9792] Forked 28713 -(28713) found -[9791] Forked 28714 -(28714) found -[9790] Forked 28715 -(28715) found -[9789] Forked 28716 -(28716) found -[9788] Forked 28717 -(28717) found -[9787] Forked 28718 -(28718) found -[9786] Forked 28719 -(28719) found -[9785] Forked 28720 -(28720) found -[9784] Forked 28721 -(28721) found -[9783] Forked 28722 -(28722) found -[9782] Forked 28723 -(28723) found -[9781] Forked 28724 -(28724) found -[9780] Forked 28725 -(28725) found -[9779] Forked 28726 -(28726) found -[9778] Forked 28727 -(28727) found -[9777] Forked 28728 -(28728) found -[9776] Forked 28729 -(28729) found -[9775] Forked 28730 -(28730) found -[9774] Forked 28731 -(28731) found -[9773] Forked 28732 -(28732) found -[9772] Forked 28733 -(28733) found -[9771] Forked 28734 -(28734) found -[9770] Forked 28735 -(28735) found -[9769] Forked 28736 -(28736) found -[9768] Forked 28737 -[9767] Forked 28738 -(28737) found -(28738) found -[9766] Forked 28739 -[9765] Forked 28740 -(28739) found -(28740) found -[9764] Forked 28741 -[9763] Forked 28742 -(28741) found -(28742) found -[9762] Forked 28743 -[9761] Forked 28744 -(28743) found -(28744) found -[9760] Forked 28745 -[9759] Forked 28746 -(28745) found -(28746) found -[9758] Forked 28747 -[9757] Forked 28748 -(28747) found -(28748) found -[9756] Forked 28749 -[9755] Forked 28750 -(28749) found -(28750) found -[9754] Forked 28751 -[9753] Forked 28752 -(28751) found -(28752) found -[9752] Forked 28753 -[9751] Forked 28754 -(28753) found -(28754) found -[9750] Forked 28755 -[9749] Forked 28756 -(28755) found -(28756) found -[9748] Forked 28757 -[9747] Forked 28758 -(28757) found -(28758) found -[9746] Forked 28759 -[9745] Forked 28760 -(28759) found -(28760) found -[9744] Forked 28761 -[9743] Forked 28762 -(28761) found -(28762) found -[9742] Forked 28763 -[9741] Forked 28764 -(28763) found -(28764) found -[9740] Forked 28765 -[9739] Forked 28766 -(28765) found -(28766) found -[9738] Forked 28767 -[9737] Forked 28768 -(28767) found -(28768) found -[9736] Forked 28769 -[9735] Forked 28770 -(28769) found -(28770) found -[9734] Forked 28771 -[9733] Forked 28772 -(28771) found -(28772) found -[9732] Forked 28773 -[9731] Forked 28774 -(28773) found -(28774) found -[9730] Forked 28775 -[9729] Forked 28776 -(28775) found -(28776) found -[9728] Forked 28777 -[9727] Forked 28778 -(28777) found -(28778) found -[9726] Forked 28779 -[9725] Forked 28780 -(28779) found -(28780) found -[9724] Forked 28781 -[9723] Forked 28782 -(28781) found -(28782) found -[9722] Forked 28783 -(28783) found -[9721] Forked 28784 -(28784) found -[9720] Forked 28785 -(28785) found -[9719] Forked 28786 -(28786) found -[9718] Forked 28787 -(28787) found -[9717] Forked 28788 -(28788) found -[9716] Forked 28789 -(28789) found -[9715] Forked 28790 -(28790) found -[9714] Forked 28791 -(28791) found -[9713] Forked 28792 -(28792) found -[9712] Forked 28793 -(28793) found -[9711] Forked 28794 -(28794) found -[9710] Forked 28795 -(28795) found -[9709] Forked 28796 -(28796) found -[9708] Forked 28797 -(28797) found -[9707] Forked 28798 -(28798) found -[9706] Forked 28799 -(28799) found -[9705] Forked 28800 -(28800) found -[9704] Forked 28801 -(28801) found -[9703] Forked 28802 -(28802) found -[9702] Forked 28803 -(28803) found -[9701] Forked 28804 -(28804) found -[9700] Forked 28805 -(28805) found -[9699] Forked 28806 -(28806) found -[9698] Forked 28807 -(28807) found -[9697] Forked 28808 -(28808) found -[9696] Forked 28809 -(28809) found -[9695] Forked 28810 -(28810) found -[9694] Forked 28811 -(28811) found -[9693] Forked 28812 -(28812) found -[9692] Forked 28813 -(28813) found -[9691] Forked 28814 -(28814) found -[9690] Forked 28815 -(28815) found -[9689] Forked 28816 -(28816) found -[9688] Forked 28817 -[9687] Forked 28818 -(28817) found -(28818) found -[9686] Forked 28819 -[9685] Forked 28820 -(28819) found -(28820) found -[9684] Forked 28821 -[9683] Forked 28822 -(28821) found -(28822) found -[9682] Forked 28823 -[9681] Forked 28824 -(28823) found -(28824) found -[9680] Forked 28825 -[9679] Forked 28826 -(28825) found -(28826) found -[9678] Forked 28827 -[9677] Forked 28828 -(28827) found -(28828) found -[9676] Forked 28829 -[9675] Forked 28830 -(28829) found -(28830) found -[9674] Forked 28831 -[9673] Forked 28832 -(28831) found -(28832) found -[9672] Forked 28833 -[9671] Forked 28834 -(28833) found -(28834) found -[9670] Forked 28835 -[9669] Forked 28836 -(28835) found -(28836) found -[9668] Forked 28837 -[9667] Forked 28838 -(28837) found -(28838) found -[9666] Forked 28839 -[9665] Forked 28840 -(28839) found -(28840) found -[9664] Forked 28841 -[9663] Forked 28842 -(28841) found -(28842) found -[9662] Forked 28843 -[9661] Forked 28844 -(28843) found -(28844) found -[9660] Forked 28845 -[9659] Forked 28846 -(28845) found -(28846) found -[9658] Forked 28847 -[9657] Forked 28848 -(28847) found -(28848) found -[9656] Forked 28849 -[9655] Forked 28850 -(28849) found -(28850) found -[9654] Forked 28851 -[9653] Forked 28852 -(28851) found -(28852) found -[9652] Forked 28853 -[9651] Forked 28854 -(28853) found -(28854) found -[9650] Forked 28855 -[9649] Forked 28856 -(28855) found -(28856) found -[9648] Forked 28857 -[9647] Forked 28858 -(28857) found -(28858) found -[9646] Forked 28859 -[9645] Forked 28860 -(28859) found -(28860) found -[9644] Forked 28861 -[9643] Forked 28862 -(28861) found -(28862) found -[9642] Forked 28863 -(28863) found -[9641] Forked 28864 -(28864) found -[9640] Forked 28865 -(28865) found -[9639] Forked 28866 -(28866) found -[9638] Forked 28867 -(28867) found -[9637] Forked 28868 -(28868) found -[9636] Forked 28869 -(28869) found -[9635] Forked 28870 -(28870) found -[9634] Forked 28871 -(28871) found -[9633] Forked 28872 -(28872) found -[9632] Forked 28873 -(28873) found -[9631] Forked 28874 -(28874) found -[9630] Forked 28875 -(28875) found -[9629] Forked 28876 -(28876) found -[9628] Forked 28877 -(28877) found -[9627] Forked 28878 -(28878) found -[9626] Forked 28879 -(28879) found -[9625] Forked 28880 -(28880) found -[9624] Forked 28881 -(28881) found -[9623] Forked 28882 -(28882) found -[9622] Forked 28883 -(28883) found -[9621] Forked 28884 -(28884) found -[9620] Forked 28885 -(28885) found -[9619] Forked 28886 -(28886) found -[9618] Forked 28887 -(28887) found -[9617] Forked 28888 -(28888) found -[9616] Forked 28889 -(28889) found -[9615] Forked 28890 -(28890) found -[9614] Forked 28891 -(28891) found -[9613] Forked 28892 -(28892) found -[9612] Forked 28893 -(28893) found -[9611] Forked 28894 -(28894) found -[9610] Forked 28895 -(28895) found -[9609] Forked 28896 -(28896) found -[9608] Forked 28897 -(28897) found -[9607] Forked 28898 -[9606] Forked 28899 -(28898) found -(28899) found -[9605] Forked 28900 -[9604] Forked 28901 -(28900) found -(28901) found -[9603] Forked 28902 -[9602] Forked 28903 -(28902) found -(28903) found -[9601] Forked 28904 -[9600] Forked 28905 -(28904) found -(28905) found -[9599] Forked 28906 -[9598] Forked 28907 -(28906) found -(28907) found -[9597] Forked 28908 -[9596] Forked 28909 -(28908) found -(28909) found -[9595] Forked 28910 -[9594] Forked 28911 -(28910) found -(28911) found -[9593] Forked 28912 -[9592] Forked 28913 -(28912) found -(28913) found -[9591] Forked 28914 -[9590] Forked 28915 -(28914) found -(28915) found -[9589] Forked 28916 -[9588] Forked 28917 -(28916) found -(28917) found -[9587] Forked 28918 -[9586] Forked 28919 -(28918) found -(28919) found -[9585] Forked 28920 -[9584] Forked 28921 -(28920) found -(28921) found -[9583] Forked 28922 -[9582] Forked 28923 -(28922) found -(28923) found -[9581] Forked 28924 -[9580] Forked 28925 -(28924) found -(28925) found -[9579] Forked 28926 -[9578] Forked 28927 -(28926) found -(28927) found -[9577] Forked 28928 -[9576] Forked 28929 -(28928) found -(28929) found -[9575] Forked 28930 -[9574] Forked 28931 -(28930) found -(28931) found -[9573] Forked 28932 -[9572] Forked 28933 -(28932) found -(28933) found -[9571] Forked 28934 -[9570] Forked 28935 -(28934) found -(28935) found -[9569] Forked 28936 -[9568] Forked 28937 -(28936) found -(28937) found -[9567] Forked 28938 -[9566] Forked 28939 -(28938) found -(28939) found -[9565] Forked 28940 -[9564] Forked 28941 -(28940) found -(28941) found -[9563] Forked 28942 -[9562] Forked 28943 -(28942) found -(28943) found -[9561] Forked 28944 -[9560] Forked 28945 -(28944) found -(28945) found -[9559] Forked 28946 -[9558] Forked 28947 -(28946) found -(28947) found -[9557] Forked 28948 -[9556] Forked 28949 -(28948) found -(28949) found -[9555] Forked 28950 -[9554] Forked 28951 -(28950) found -(28951) found -[9553] Forked 28952 -[9552] Forked 28953 -(28952) found -(28953) found -[9551] Forked 28954 -[9550] Forked 28955 -(28954) found -(28955) found -[9549] Forked 28956 -[9548] Forked 28957 -(28956) found -(28957) found -[9547] Forked 28958 -[9546] Forked 28959 -(28958) found -(28959) found -[9545] Forked 28960 -[9544] Forked 28961 -(28960) found -(28961) found -[9543] Forked 28962 -[9542] Forked 28963 -(28962) found -(28963) found -[9541] Forked 28964 -[9540] Forked 28965 -(28964) found -(28965) found -[9539] Forked 28966 -[9538] Forked 28967 -(28966) found -(28967) found -[9537] Forked 28968 -[9536] Forked 28969 -(28968) found -(28969) found -[9535] Forked 28970 -[9534] Forked 28971 -(28970) found -(28971) found -[9533] Forked 28972 -[9532] Forked 28973 -(28972) found -(28973) found -[9531] Forked 28974 -[9530] Forked 28975 -(28974) found -(28975) found -[9529] Forked 28976 -[9528] Forked 28977 -(28976) found -(28977) found -[9527] Forked 28978 -[9526] Forked 28979 -(28978) found -(28979) found -[9525] Forked 28980 -[9524] Forked 28981 -(28980) found -(28981) found -[9523] Forked 28982 -[9522] Forked 28983 -(28982) found -(28983) found -[9521] Forked 28984 -[9520] Forked 28985 -(28984) found -(28985) found -[9519] Forked 28986 -[9518] Forked 28987 -(28986) found -(28987) found -[9517] Forked 28988 -(28988) found -[9516] Forked 28989 -(28989) found -[9515] Forked 28990 -(28990) found -[9514] Forked 28991 -(28991) found -[9513] Forked 28992 -(28992) found -[9512] Forked 28993 -(28993) found -[9511] Forked 28994 -(28994) found -[9510] Forked 28995 -(28995) found -[9509] Forked 28996 -(28996) found -[9508] Forked 28997 -(28997) found -[9507] Forked 28998 -(28998) found -[9506] Forked 28999 -(28999) found -[9505] Forked 29000 -(29000) found -[9504] Forked 29001 -(29001) found -[9503] Forked 29002 -(29002) found -[9502] Forked 29003 -(29003) found -[9501] Forked 29004 -(29004) found -[9500] Forked 29005 -(29005) found -[9499] Forked 29006 -(29006) found -[9498] Forked 29007 -(29007) found -[9497] Forked 29008 -(29008) found -[9496] Forked 29009 -(29009) found -[9495] Forked 29010 -(29010) found -[9494] Forked 29011 -(29011) found -[9493] Forked 29012 -(29012) found -[9492] Forked 29013 -(29013) found -[9491] Forked 29014 -(29014) found -[9490] Forked 29015 -(29015) found -[9489] Forked 29016 -(29016) found -[9488] Forked 29017 -(29017) found -[9487] Forked 29018 -(29018) found -[9486] Forked 29019 -(29019) found -[9485] Forked 29020 -(29020) found -[9484] Forked 29021 -(29021) found -[9483] Forked 29022 -(29022) found -[9482] Forked 29023 -(29023) found -[9481] Forked 29024 -[9480] Forked 29025 -(29024) found -(29025) found -[9479] Forked 29026 -[9478] Forked 29027 -(29026) found -(29027) found -[9477] Forked 29028 -[9476] Forked 29029 -(29028) found -(29029) found -[9475] Forked 29030 -(29030) found -[9474] Forked 29031 -[9473] Forked 29032 -(29031) found -(29032) found -[9472] Forked 29033 -[9471] Forked 29034 -(29033) found -(29034) found -[9470] Forked 29035 -[9469] Forked 29036 -(29035) found -(29036) found -[9468] Forked 29037 -[9467] Forked 29038 -(29037) found -(29038) found -[9466] Forked 29039 -[9465] Forked 29040 -(29039) found -(29040) found -[9464] Forked 29041 -[9463] Forked 29042 -(29041) found -(29042) found -[9462] Forked 29043 -[9461] Forked 29044 -(29043) found -(29044) found -[9460] Forked 29045 -[9459] Forked 29046 -(29045) found -(29046) found -[9458] Forked 29047 -[9457] Forked 29048 -(29047) found -(29048) found -[9456] Forked 29049 -[9455] Forked 29050 -(29049) found -(29050) found -[9454] Forked 29051 -[9453] Forked 29052 -(29051) found -(29052) found -[9452] Forked 29053 -[9451] Forked 29054 -(29053) found -(29054) found -[9450] Forked 29055 -[9449] Forked 29056 -(29055) found -(29056) found -[9448] Forked 29057 -[9447] Forked 29058 -(29057) found -(29058) found -[9446] Forked 29059 -[9445] Forked 29060 -(29059) found -(29060) found -[9444] Forked 29061 -[9443] Forked 29062 -(29061) found -(29062) found -[9442] Forked 29063 -[9441] Forked 29064 -(29063) found -(29064) found -[9440] Forked 29065 -[9439] Forked 29066 -(29065) found -(29066) found -[9438] Forked 29067 -(29067) found -[9437] Forked 29068 -(29068) found -[9436] Forked 29069 -(29069) found -[9435] Forked 29070 -(29070) found -[9434] Forked 29071 -(29071) found -[9433] Forked 29072 -(29072) found -[9432] Forked 29073 -(29073) found -[9431] Forked 29074 -(29074) found -[9430] Forked 29075 -(29075) found -[9429] Forked 29076 -(29076) found -[9428] Forked 29077 -(29077) found -[9427] Forked 29078 -(29078) found -[9426] Forked 29079 -(29079) found -[9425] Forked 29080 -(29080) found -[9424] Forked 29081 -(29081) found -[9423] Forked 29082 -(29082) found -[9422] Forked 29083 -(29083) found -[9421] Forked 29084 -(29084) found -[9420] Forked 29085 -(29085) found -[9419] Forked 29086 -(29086) found -[9418] Forked 29087 -(29087) found -[9417] Forked 29088 -(29088) found -[9416] Forked 29089 -(29089) found -[9415] Forked 29090 -(29090) found -[9414] Forked 29091 -(29091) found -[9413] Forked 29092 -(29092) found -[9412] Forked 29093 -(29093) found -[9411] Forked 29094 -(29094) found -[9410] Forked 29095 -(29095) found -[9409] Forked 29096 -(29096) found -[9408] Forked 29097 -(29097) found -[9407] Forked 29098 -(29098) found -[9406] Forked 29099 -(29099) found -[9405] Forked 29100 -(29100) found -[9404] Forked 29101 -(29101) found -[9403] Forked 29102 -(29102) found -[9402] Forked 29103 -[9401] Forked 29104 -(29103) found -(29104) found -[9400] Forked 29105 -[9399] Forked 29106 -(29105) found -(29106) found -[9398] Forked 29107 -(29107) found -[9397] Forked 29108 -[9396] Forked 29109 -(29108) found -(29109) found -[9395] Forked 29110 -[9394] Forked 29111 -(29110) found -(29111) found -[9393] Forked 29112 -[9392] Forked 29113 -(29112) found -(29113) found -[9391] Forked 29114 -[9390] Forked 29115 -(29114) found -(29115) found -[9389] Forked 29116 -[9388] Forked 29117 -(29116) found -(29117) found -[9387] Forked 29118 -[9386] Forked 29119 -(29118) found -(29119) found -[9385] Forked 29120 -[9384] Forked 29121 -(29120) found -(29121) found -[9383] Forked 29122 -[9382] Forked 29123 -(29122) found -(29123) found -[9381] Forked 29124 -[9380] Forked 29125 -(29124) found -(29125) found -[9379] Forked 29126 -[9378] Forked 29127 -(29126) found -(29127) found -[9377] Forked 29128 -[9376] Forked 29129 -(29128) found -(29129) found -[9375] Forked 29130 -[9374] Forked 29131 -(29130) found -(29131) found -[9373] Forked 29132 -[9372] Forked 29133 -(29132) found -(29133) found -[9371] Forked 29134 -[9370] Forked 29135 -(29134) found -(29135) found -[9369] Forked 29136 -[9368] Forked 29137 -(29136) found -(29137) found -[9367] Forked 29138 -[9366] Forked 29139 -(29138) found -(29139) found -[9365] Forked 29140 -[9364] Forked 29141 -(29140) found -(29141) found -[9363] Forked 29142 -[9362] Forked 29143 -(29142) found -(29143) found -[9361] Forked 29144 -[9360] Forked 29145 -(29144) found -(29145) found -[9359] Forked 29146 -[9358] Forked 29147 -(29146) found -(29147) found -[9357] Forked 29148 -[9356] Forked 29149 -(29148) found -(29149) found -[9355] Forked 29150 -[9354] Forked 29151 -(29150) found -(29151) found -[9353] Forked 29152 -[9352] Forked 29153 -(29152) found -(29153) found -[9351] Forked 29154 -[9350] Forked 29155 -(29154) found -(29155) found -[9349] Forked 29156 -[9348] Forked 29157 -(29156) found -(29157) found -[9347] Forked 29158 -[9346] Forked 29159 -(29158) found -(29159) found -[9345] Forked 29160 -[9344] Forked 29161 -(29160) found -(29161) found -[9343] Forked 29162 -[9342] Forked 29163 -(29162) found -(29163) found -[9341] Forked 29164 -[9340] Forked 29165 -(29164) found -(29165) found -[9339] Forked 29166 -[9338] Forked 29167 -(29166) found -(29167) found -[9337] Forked 29168 -[9336] Forked 29169 -(29168) found -(29169) found -[9335] Forked 29170 -[9334] Forked 29171 -(29170) found -(29171) found -[9333] Forked 29172 -[9332] Forked 29173 -(29172) found -(29173) found -[9331] Forked 29174 -[9330] Forked 29176 -(29174) found -(29176) found -[9329] Forked 29177 -(29177) found -[9328] Forked 29178 -(29178) found -[9327] Forked 29179 -(29179) found -[9326] Forked 29180 -(29180) found -[9325] Forked 29181 -(29181) found -[9324] Forked 29182 -(29182) found -[9323] Forked 29183 -(29183) found -[9322] Forked 29184 -(29184) found -[9321] Forked 29185 -(29185) found -[9320] Forked 29186 -(29186) found -[9319] Forked 29187 -(29187) found -[9318] Forked 29188 -(29188) found -[9317] Forked 29189 -(29189) found -[9316] Forked 29190 -(29190) found -[9315] Forked 29191 -(29191) found -[9314] Forked 29192 -(29192) found -[9313] Forked 29193 -(29193) found -[9312] Forked 29194 -(29194) found -[9311] Forked 29195 -(29195) found -[9310] Forked 29196 -(29196) found -[9309] Forked 29197 -(29197) found -[9308] Forked 29198 -(29198) found -[9307] Forked 29199 -(29199) found -[9306] Forked 29200 -(29200) found -[9305] Forked 29201 -(29201) found -[9304] Forked 29202 -(29202) found -[9303] Forked 29203 -(29203) found -[9302] Forked 29204 -(29204) found -[9301] Forked 29205 -(29205) found -[9300] Forked 29206 -(29206) found -[9299] Forked 29207 -(29207) found -[9298] Forked 29208 -(29208) found -[9297] Forked 29209 -(29209) found -[9296] Forked 29210 -(29210) found -[9295] Forked 29211 -(29211) found -[9294] Forked 29212 -(29212) found -[9293] Forked 29213 -(29213) found -[9292] Forked 29214 -(29214) found -[9291] Forked 29215 -(29215) found -[9290] Forked 29216 -(29216) found -[9289] Forked 29217 -(29217) found -[9288] Forked 29218 -(29218) found -[9287] Forked 29219 -(29219) found -[9286] Forked 29220 -(29220) found -[9285] Forked 29221 -(29221) found -[9284] Forked 29222 -(29222) found -[9283] Forked 29223 -(29223) found -[9282] Forked 29224 -(29224) found -[9281] Forked 29225 -(29225) found -[9280] Forked 29226 -[9279] Forked 29227 -(29226) found -(29227) found -[9278] Forked 29228 -[9277] Forked 29229 -(29228) found -(29229) found -[9276] Forked 29230 -[9275] Forked 29231 -(29230) found -(29231) found -[9274] Forked 29232 -[9273] Forked 29233 -(29232) found -(29233) found -[9272] Forked 29234 -[9271] Forked 29235 -(29234) found -(29235) found -[9270] Forked 29236 -[9269] Forked 29237 -(29236) found -(29237) found -[9268] Forked 29238 -[9267] Forked 29239 -(29238) found -(29239) found -[9266] Forked 29240 -[9265] Forked 29241 -(29240) found -(29241) found -[9264] Forked 29242 -[9263] Forked 29243 -(29242) found -(29243) found -[9262] Forked 29244 -[9261] Forked 29245 -(29244) found -(29245) found -[9260] Forked 29246 -[9259] Forked 29247 -(29246) found -(29247) found -[9258] Forked 29248 -[9257] Forked 29249 -(29248) found -(29249) found -[9256] Forked 29250 -[9255] Forked 29251 -(29250) found -(29251) found -[9254] Forked 29252 -[9253] Forked 29253 -(29252) found -(29253) found -[9252] Forked 29254 -[9251] Forked 29255 -(29254) found -(29255) found -[9250] Forked 29256 -[9249] Forked 29257 -(29256) found -(29257) found -[9248] Forked 29258 -[9247] Forked 29259 -(29258) found -(29259) found -[9246] Forked 29260 -[9245] Forked 29261 -(29260) found -(29261) found -[9244] Forked 29262 -[9243] Forked 29263 -(29262) found -(29263) found -[9242] Forked 29264 -[9241] Forked 29265 -(29264) found -(29265) found -[9240] Forked 29266 -[9239] Forked 29267 -(29266) found -(29267) found -[9238] Forked 29268 -[9237] Forked 29269 -(29268) found -(29269) found -[9236] Forked 29270 -[9235] Forked 29271 -(29270) found -(29271) found -[9234] Forked 29272 -(29272) found -[9233] Forked 29273 -(29273) found -[9232] Forked 29274 -(29274) found -[9231] Forked 29275 -(29275) found -[9230] Forked 29276 -(29276) found -[9229] Forked 29277 -(29277) found -[9228] Forked 29278 -(29278) found -[9227] Forked 29279 -(29279) found -[9226] Forked 29280 -(29280) found -[9225] Forked 29281 -(29281) found -[9224] Forked 29282 -(29282) found -[9223] Forked 29283 -(29283) found -[9222] Forked 29284 -(29284) found -[9221] Forked 29285 -(29285) found -[9220] Forked 29286 -(29286) found -[9219] Forked 29287 -(29287) found -[9218] Forked 29288 -(29288) found -[9217] Forked 29289 -(29289) found -[9216] Forked 29290 -(29290) found -[9215] Forked 29291 -(29291) found -[9214] Forked 29292 -(29292) found -[9213] Forked 29293 -(29293) found -[9212] Forked 29294 -(29294) found -[9211] Forked 29295 -(29295) found -[9210] Forked 29296 -(29296) found -[9209] Forked 29297 -(29297) found -[9208] Forked 29298 -(29298) found -[9207] Forked 29299 -(29299) found -[9206] Forked 29300 -(29300) found -[9205] Forked 29301 -(29301) found -[9204] Forked 29302 -(29302) found -[9203] Forked 29303 -(29303) found -[9202] Forked 29304 -(29304) found -[9201] Forked 29305 -(29305) found -[9200] Forked 29306 -[9199] Forked 29307 -(29306) found -(29307) found -[9198] Forked 29308 -[9197] Forked 29309 -(29308) found -(29309) found -[9196] Forked 29310 -[9195] Forked 29311 -(29310) found -(29311) found -[9194] Forked 29312 -[9193] Forked 29313 -(29312) found -(29313) found -[9192] Forked 29314 -[9191] Forked 29315 -(29314) found -(29315) found -[9190] Forked 29316 -[9189] Forked 29317 -(29316) found -(29317) found -[9188] Forked 29318 -[9187] Forked 29319 -(29318) found -(29319) found -[9186] Forked 29320 -[9185] Forked 29321 -(29320) found -(29321) found -[9184] Forked 29322 -[9183] Forked 29323 -(29322) found -(29323) found -[9182] Forked 29324 -[9181] Forked 29325 -(29324) found -(29325) found -[9180] Forked 29326 -[9179] Forked 29327 -(29326) found -(29327) found -[9178] Forked 29328 -[9177] Forked 29329 -(29328) found -(29329) found -[9176] Forked 29330 -[9175] Forked 29331 -(29330) found -(29331) found -[9174] Forked 29332 -[9173] Forked 29333 -(29332) found -(29333) found -[9172] Forked 29334 -[9171] Forked 29335 -(29334) found -(29335) found -[9170] Forked 29336 -[9169] Forked 29337 -(29336) found -(29337) found -[9168] Forked 29338 -[9167] Forked 29339 -(29338) found -(29339) found -[9166] Forked 29340 -[9165] Forked 29341 -(29340) found -(29341) found -[9164] Forked 29342 -[9163] Forked 29343 -(29342) found -(29343) found -[9162] Forked 29344 -[9161] Forked 29345 -(29344) found -(29345) found -[9160] Forked 29346 -[9159] Forked 29347 -(29346) found -(29347) found -[9158] Forked 29348 -[9157] Forked 29349 -(29348) found -(29349) found -[9156] Forked 29350 -[9155] Forked 29351 -(29350) found -(29351) found -[9154] Forked 29352 -[9153] Forked 29353 -(29352) found -(29353) found -[9152] Forked 29354 -[9151] Forked 29355 -(29354) found -(29355) found -[9150] Forked 29356 -[9149] Forked 29357 -(29356) found -(29357) found -[9148] Forked 29358 -[9147] Forked 29359 -(29358) found -(29359) found -[9146] Forked 29360 -[9145] Forked 29361 -(29360) found -(29361) found -[9144] Forked 29362 -[9143] Forked 29363 -(29362) found -(29363) found -[9142] Forked 29364 -[9141] Forked 29365 -(29364) found -(29365) found -[9140] Forked 29366 -[9139] Forked 29367 -(29366) found -(29367) found -[9138] Forked 29368 -[9137] Forked 29369 -(29368) found -(29369) found -[9136] Forked 29370 -[9135] Forked 29371 -(29370) found -(29371) found -[9134] Forked 29372 -[9133] Forked 29373 -(29372) found -(29373) found -[9132] Forked 29374 -[9131] Forked 29375 -(29374) found -(29375) found -[9130] Forked 29376 -[9129] Forked 29377 -(29376) found -(29377) found -[9128] Forked 29378 -[9127] Forked 29379 -(29378) found -(29379) found -[9126] Forked 29380 -[9125] Forked 29381 -(29380) found -(29381) found -[9124] Forked 29382 -[9123] Forked 29383 -(29382) found -(29383) found -[9122] Forked 29384 -[9121] Forked 29385 -(29384) found -(29385) found -[9120] Forked 29386 -[9119] Forked 29387 -(29386) found -(29387) found -[9118] Forked 29388 -[9117] Forked 29389 -(29388) found -(29389) found -[9116] Forked 29390 -[9115] Forked 29391 -(29390) found -(29391) found -[9114] Forked 29392 -[9113] Forked 29393 -(29392) found -(29393) found -[9112] Forked 29394 -[9111] Forked 29395 -(29394) found -(29395) found -[9110] Forked 29396 -(29396) found -[9109] Forked 29397 -(29397) found -[9108] Forked 29398 -(29398) found -[9107] Forked 29399 -(29399) found -[9106] Forked 29400 -(29400) found -[9105] Forked 29401 -(29401) found -[9104] Forked 29402 -(29402) found -[9103] Forked 29403 -(29403) found -[9102] Forked 29404 -(29404) found -[9101] Forked 29405 -(29405) found -[9100] Forked 29406 -(29406) found -[9099] Forked 29407 -(29407) found -[9098] Forked 29408 -(29408) found -[9097] Forked 29409 -(29409) found -[9096] Forked 29410 -(29410) found -[9095] Forked 29411 -(29411) found -[9094] Forked 29412 -(29412) found -[9093] Forked 29413 -(29413) found -[9092] Forked 29414 -(29414) found -[9091] Forked 29415 -(29415) found -[9090] Forked 29416 -(29416) found -[9089] Forked 29417 -(29417) found -[9088] Forked 29418 -(29418) found -[9087] Forked 29419 -(29419) found -[9086] Forked 29420 -(29420) found -[9085] Forked 29421 -(29421) found -[9084] Forked 29422 -(29422) found -[9083] Forked 29423 -(29423) found -[9082] Forked 29424 -(29424) found -[9081] Forked 29425 -(29425) found -[9080] Forked 29426 -(29426) found -[9079] Forked 29427 -(29427) found -[9078] Forked 29428 -(29428) found -[9077] Forked 29429 -(29429) found -[9076] Forked 29430 -(29430) found -[9075] Forked 29431 -(29431) found -[9074] Forked 29432 -[9073] Forked 29433 -(29432) found -(29433) found -[9072] Forked 29434 -[9071] Forked 29435 -(29434) found -(29435) found -[9070] Forked 29436 -(29436) found -[9069] Forked 29437 -[9068] Forked 29438 -(29437) found -(29438) found -[9067] Forked 29439 -[9066] Forked 29440 -(29439) found -(29440) found -[9065] Forked 29441 -[9064] Forked 29442 -(29441) found -(29442) found -[9063] Forked 29443 -[9062] Forked 29444 -(29443) found -(29444) found -[9061] Forked 29445 -[9060] Forked 29446 -(29445) found -(29446) found -[9059] Forked 29447 -[9058] Forked 29448 -(29447) found -(29448) found -[9057] Forked 29449 -[9056] Forked 29450 -(29449) found -(29450) found -[9055] Forked 29451 -[9054] Forked 29452 -(29451) found -(29452) found -[9053] Forked 29453 -[9052] Forked 29454 -(29453) found -(29454) found -[9051] Forked 29455 -[9050] Forked 29456 -(29455) found -(29456) found -[9049] Forked 29457 -[9048] Forked 29458 -(29457) found -(29458) found -[9047] Forked 29459 -[9046] Forked 29460 -(29459) found -(29460) found -[9045] Forked 29461 -[9044] Forked 29462 -(29461) found -(29462) found -[9043] Forked 29463 -[9042] Forked 29464 -(29463) found -(29464) found -[9041] Forked 29465 -[9040] Forked 29466 -(29465) found -(29466) found -[9039] Forked 29467 -[9038] Forked 29468 -(29467) found -(29468) found -[9037] Forked 29469 -[9036] Forked 29470 -(29469) found -(29470) found -[9035] Forked 29471 -[9034] Forked 29472 -(29471) found -(29472) found -[9033] Forked 29473 -[9032] Forked 29474 -(29473) found -(29474) found -[9031] Forked 29475 -[9030] Forked 29476 -(29475) found -(29476) found -[9029] Forked 29477 -[9028] Forked 29478 -(29477) found -(29478) found -[9027] Forked 29479 -[9026] Forked 29480 -(29479) found -(29480) found -[9025] Forked 29481 -[9024] Forked 29482 -(29481) found -(29482) found -[9023] Forked 29483 -[9022] Forked 29484 -(29483) found -(29484) found -[9021] Forked 29485 -[9020] Forked 29486 -(29485) found -(29486) found -[9019] Forked 29487 -[9018] Forked 29488 -(29487) found -(29488) found -[9017] Forked 29489 -[9016] Forked 29490 -(29489) found -(29490) found -[9015] Forked 29491 -[9014] Forked 29492 -(29491) found -(29492) found -[9013] Forked 29493 -[9012] Forked 29494 -(29493) found -(29494) found -[9011] Forked 29495 -[9010] Forked 29496 -(29495) found -(29496) found -[9009] Forked 29497 -[9008] Forked 29498 -(29497) found -(29498) found -[9007] Forked 29499 -[9006] Forked 29500 -(29499) found -(29500) found -[9005] Forked 29501 -[9004] Forked 29502 -(29501) found -(29502) found -[9003] Forked 29503 -[9002] Forked 29504 -(29503) found -(29504) found -[9001] Forked 29505 -[9000] Forked 29506 -(29505) found -(29506) found -[8999] Forked 29507 -[8998] Forked 29508 -(29507) found -(29508) found -[8997] Forked 29509 -[8996] Forked 29510 -(29509) found -(29510) found -[8995] Forked 29511 -[8994] Forked 29512 -(29511) found -(29512) found -[8993] Forked 29513 -[8992] Forked 29514 -(29513) found -(29514) found -[8991] Forked 29515 -[8990] Forked 29516 -(29515) found -(29516) found -[8989] Forked 29517 -[8988] Forked 29518 -(29517) found -(29518) found -[8987] Forked 29519 -[8986] Forked 29520 -(29519) found -(29520) found -[8985] Forked 29521 -[8984] Forked 29522 -(29521) found -(29522) found -[8983] Forked 29523 -[8982] Forked 29524 -(29523) found -(29524) found -[8981] Forked 29525 -[8980] Forked 29526 -(29525) found -(29526) found -[8979] Forked 29527 -[8978] Forked 29528 -(29527) found -(29528) found -[8977] Forked 29529 -[8976] Forked 29530 -(29529) found -(29530) found -[8975] Forked 29531 -[8974] Forked 29532 -(29531) found -(29532) found -[8973] Forked 29533 -[8972] Forked 29534 -(29533) found -(29534) found -[8971] Forked 29535 -[8970] Forked 29536 -(29535) found -(29536) found -[8969] Forked 29537 -[8968] Forked 29538 -(29537) found -(29538) found -[8967] Forked 29539 -[8966] Forked 29540 -(29539) found -(29540) found -[8965] Forked 29541 -[8964] Forked 29542 -(29541) found -(29542) found -[8963] Forked 29543 -[8962] Forked 29544 -(29543) found -(29544) found -[8961] Forked 29545 -[8960] Forked 29546 -(29545) found -(29546) found -[8959] Forked 29547 -(29547) found -[8958] Forked 29548 -(29548) found -[8957] Forked 29549 -[8956] Forked 29550 -(29549) found -(29550) found -[8955] Forked 29551 -[8954] Forked 29552 -(29551) found -(29552) found -[8953] Forked 29553 -[8952] Forked 29554 -(29553) found -(29554) found -[8951] Forked 29555 -[8950] Forked 29556 -(29555) found -(29556) found -[8949] Forked 29557 -[8948] Forked 29558 -(29557) found -(29558) found -[8947] Forked 29559 -[8946] Forked 29560 -(29559) found -(29560) found -[8945] Forked 29561 -[8944] Forked 29562 -(29561) found -(29562) found -[8943] Forked 29563 -[8942] Forked 29564 -(29563) found -(29564) found -[8941] Forked 29565 -(29565) found -[8940] Forked 29566 -(29566) found -[8939] Forked 29567 -(29567) found -[8938] Forked 29568 -(29568) found -[8937] Forked 29569 -(29569) found -[8936] Forked 29570 -(29570) found -[8935] Forked 29571 -(29571) found -[8934] Forked 29572 -(29572) found -[8933] Forked 29573 -(29573) found -[8932] Forked 29574 -(29574) found -[8931] Forked 29575 -(29575) found -[8930] Forked 29576 -(29576) found -[8929] Forked 29577 -(29577) found -[8928] Forked 29578 -(29578) found -[8927] Forked 29579 -(29579) found -[8926] Forked 29580 -(29580) found -[8925] Forked 29581 -(29581) found -[8924] Forked 29582 -(29582) found -[8923] Forked 29583 -(29583) found -[8922] Forked 29584 -(29584) found -[8921] Forked 29585 -(29585) found -[8920] Forked 29586 -(29586) found -[8919] Forked 29587 -(29587) found -[8918] Forked 29588 -(29588) found -[8917] Forked 29589 -(29589) found -[8916] Forked 29590 -(29590) found -[8915] Forked 29591 -(29591) found -[8914] Forked 29592 -(29592) found -[8913] Forked 29593 -(29593) found -[8912] Forked 29594 -(29594) found -[8911] Forked 29595 -(29595) found -[8910] Forked 29596 -(29596) found -[8909] Forked 29597 -(29597) found -[8908] Forked 29598 -(29598) found -[8907] Forked 29599 -(29599) found -[8906] Forked 29600 -(29600) found -[8905] Forked 29601 -(29601) found -[8904] Forked 29602 -(29602) found -[8903] Forked 29603 -(29603) found -[8902] Forked 29604 -(29604) found -[8901] Forked 29605 -(29605) found -[8900] Forked 29606 -(29606) found -[8899] Forked 29607 -(29607) found -[8898] Forked 29608 -(29608) found -[8897] Forked 29609 -(29609) found -[8896] Forked 29610 -(29610) found -[8895] Forked 29611 -(29611) found -[8894] Forked 29612 -(29612) found -[8893] Forked 29613 -(29613) found -[8892] Forked 29614 -(29614) found -[8891] Forked 29615 -(29615) found -[8890] Forked 29616 -(29616) found -[8889] Forked 29617 -(29617) found -[8888] Forked 29618 -(29618) found -[8887] Forked 29619 -(29619) found -[8886] Forked 29620 -(29620) found -[8885] Forked 29621 -(29621) found -[8884] Forked 29622 -(29622) found -[8883] Forked 29623 -(29623) found -[8882] Forked 29624 -(29624) found -[8881] Forked 29625 -(29625) found -[8880] Forked 29626 -(29626) found -[8879] Forked 29627 -(29627) found -[8878] Forked 29628 -(29628) found -[8877] Forked 29629 -(29629) found -[8876] Forked 29630 -(29630) found -[8875] Forked 29631 -(29631) found -[8874] Forked 29632 -(29632) found -[8873] Forked 29633 -(29633) found -[8872] Forked 29634 -(29634) found -[8871] Forked 29635 -(29635) found -[8870] Forked 29636 -(29636) found -[8869] Forked 29637 -[8868] Forked 29638 -(29637) found -(29638) found -[8867] Forked 29639 -[8866] Forked 29640 -(29639) found -(29640) found -[8865] Forked 29641 -[8864] Forked 29642 -(29641) found -(29642) found -[8863] Forked 29643 -[8862] Forked 29644 -(29643) found -(29644) found -[8861] Forked 29645 -[8860] Forked 29646 -(29645) found -(29646) found -[8859] Forked 29647 -[8858] Forked 29648 -(29647) found -(29648) found -[8857] Forked 29649 -[8856] Forked 29650 -(29649) found -(29650) found -[8855] Forked 29651 -[8854] Forked 29652 -(29651) found -(29652) found -[8853] Forked 29653 -[8852] Forked 29654 -(29653) found -(29654) found -[8851] Forked 29655 -[8850] Forked 29656 -(29655) found -(29656) found -[8849] Forked 29657 -[8848] Forked 29659 -(29657) found -(29659) found -[8847] Forked 29660 -(29660) found -[8846] Forked 29661 -(29661) found -[8845] Forked 29662 -(29662) found -[8844] Forked 29663 -(29663) found -[8843] Forked 29664 -(29664) found -[8842] Forked 29665 -(29665) found -[8841] Forked 29666 -(29666) found -[8840] Forked 29667 -(29667) found -[8839] Forked 29668 -(29668) found -[8838] Forked 29669 -(29669) found -[8837] Forked 29670 -(29670) found -[8836] Forked 29671 -(29671) found -[8835] Forked 29672 -(29672) found -[8834] Forked 29673 -(29673) found -[8833] Forked 29674 -(29674) found -[8832] Forked 29675 -(29675) found -[8831] Forked 29676 -(29676) found -[8830] Forked 29677 -(29677) found -[8829] Forked 29678 -(29678) found -[8828] Forked 29679 -(29679) found -[8827] Forked 29680 -(29680) found -[8826] Forked 29681 -(29681) found -[8825] Forked 29682 -(29682) found -[8824] Forked 29683 -(29683) found -[8823] Forked 29684 -(29684) found -[8822] Forked 29685 -(29685) found -[8821] Forked 29686 -(29686) found -[8820] Forked 29687 -(29687) found -[8819] Forked 29688 -(29688) found -[8818] Forked 29689 -(29689) found -[8817] Forked 29690 -(29690) found -[8816] Forked 29691 -(29691) found -[8815] Forked 29692 -(29692) found -[8814] Forked 29693 -(29693) found -[8813] Forked 29694 -(29694) found -[8812] Forked 29695 -(29695) found -[8811] Forked 29696 -(29696) found -[8810] Forked 29697 -(29697) found -[8809] Forked 29698 -(29698) found -[8808] Forked 29699 -(29699) found -[8807] Forked 29700 -(29700) found -[8806] Forked 29701 -(29701) found -[8805] Forked 29702 -(29702) found -[8804] Forked 29703 -(29703) found -[8803] Forked 29704 -(29704) found -[8802] Forked 29705 -(29705) found -[8801] Forked 29706 -(29706) found -[8800] Forked 29707 -(29707) found -[8799] Forked 29708 -(29708) found -[8798] Forked 29709 -(29709) found -[8797] Forked 29710 -(29710) found -[8796] Forked 29711 -(29711) found -[8795] Forked 29712 -(29712) found -[8794] Forked 29713 -(29713) found -[8793] Forked 29714 -(29714) found -[8792] Forked 29715 -(29715) found -[8791] Forked 29716 -(29716) found -[8790] Forked 29717 -(29717) found -[8789] Forked 29718 -(29718) found -[8788] Forked 29719 -(29719) found -[8787] Forked 29720 -(29720) found -[8786] Forked 29721 -(29721) found -[8785] Forked 29722 -(29722) found -[8784] Forked 29723 -(29723) found -[8783] Forked 29724 -(29724) found -[8782] Forked 29725 -(29725) found -[8781] Forked 29726 -(29726) found -[8780] Forked 29727 -(29727) found -[8779] Forked 29728 -(29728) found -[8778] Forked 29729 -(29729) found -[8777] Forked 29730 -(29730) found -[8776] Forked 29731 -(29731) found -[8775] Forked 29732 -(29732) found -[8774] Forked 29733 -(29733) found -[8773] Forked 29734 -(29734) found -[8772] Forked 29735 -(29735) found -[8771] Forked 29736 -(29736) found -[8770] Forked 29737 -(29737) found -[8769] Forked 29738 -(29738) found -[8768] Forked 29739 -(29739) found -[8767] Forked 29740 -(29740) found -[8766] Forked 29741 -(29741) found -[8765] Forked 29742 -(29742) found -[8764] Forked 29743 -(29743) found -[8763] Forked 29744 -(29744) found -[8762] Forked 29745 -(29745) found -[8761] Forked 29746 -(29746) found -[8760] Forked 29747 -(29747) found -[8759] Forked 29748 -(29748) found -[8758] Forked 29749 -[8757] Forked 29750 -(29749) found -(29750) found -[8756] Forked 29751 -[8755] Forked 29752 -(29751) found -(29752) found -[8754] Forked 29753 -[8753] Forked 29755 -(29753) found -(29755) found -[8752] Forked 29756 -(29756) found -[8751] Forked 29757 -(29757) found -[8750] Forked 29758 -(29758) found -[8749] Forked 29759 -(29759) found -[8748] Forked 29760 -(29760) found -[8747] Forked 29761 -(29761) found -[8746] Forked 29762 -(29762) found -[8745] Forked 29763 -(29763) found -[8744] Forked 29764 -(29764) found -[8743] Forked 29765 -(29765) found -[8742] Forked 29766 -(29766) found -[8741] Forked 29767 -(29767) found -[8740] Forked 29768 -(29768) found -[8739] Forked 29769 -(29769) found -[8738] Forked 29770 -(29770) found -[8737] Forked 29771 -(29771) found -[8736] Forked 29772 -(29772) found -[8735] Forked 29773 -(29773) found -[8734] Forked 29774 -(29774) found -[8733] Forked 29775 -(29775) found -[8732] Forked 29776 -(29776) found -[8731] Forked 29777 -(29777) found -[8730] Forked 29778 -(29778) found -[8729] Forked 29779 -(29779) found -[8728] Forked 29780 -(29780) found -[8727] Forked 29781 -(29781) found -[8726] Forked 29782 -(29782) found -[8725] Forked 29783 -(29783) found -[8724] Forked 29784 -(29784) found -[8723] Forked 29785 -(29785) found -[8722] Forked 29786 -(29786) found -[8721] Forked 29787 -(29787) found -[8720] Forked 29788 -(29788) found -[8719] Forked 29789 -(29789) found -[8718] Forked 29790 -(29790) found -[8717] Forked 29791 -(29791) found -[8716] Forked 29792 -(29792) found -[8715] Forked 29793 -(29793) found -[8714] Forked 29794 -(29794) found -[8713] Forked 29795 -(29795) found -[8712] Forked 29796 -(29796) found -[8711] Forked 29797 -(29797) found -[8710] Forked 29798 -(29798) found -[8709] Forked 29799 -(29799) found -[8708] Forked 29800 -(29800) found -[8707] Forked 29801 -(29801) found -[8706] Forked 29802 -(29802) found -[8705] Forked 29803 -(29803) found -[8704] Forked 29804 -(29804) found -[8703] Forked 29805 -(29805) found -[8702] Forked 29806 -(29806) found -[8701] Forked 29807 -(29807) found -[8700] Forked 29808 -(29808) found -[8699] Forked 29809 -(29809) found -[8698] Forked 29810 -(29810) found -[8697] Forked 29811 -(29811) found -[8696] Forked 29812 -(29812) found -[8695] Forked 29813 -(29813) found -[8694] Forked 29814 -(29814) found -[8693] Forked 29815 -(29815) found -[8692] Forked 29816 -(29816) found -[8691] Forked 29817 -(29817) found -[8690] Forked 29818 -(29818) found -[8689] Forked 29819 -(29819) found -[8688] Forked 29820 -(29820) found -[8687] Forked 29821 -(29821) found -[8686] Forked 29822 -(29822) found -[8685] Forked 29823 -(29823) found -[8684] Forked 29824 -(29824) found -[8683] Forked 29825 -(29825) found -[8682] Forked 29826 -(29826) found -[8681] Forked 29827 -(29827) found -[8680] Forked 29828 -(29828) found -[8679] Forked 29829 -(29829) found -[8678] Forked 29830 -(29830) found -[8677] Forked 29831 -(29831) found -[8676] Forked 29832 -(29832) found -[8675] Forked 29833 -(29833) found -[8674] Forked 29834 -(29834) found -[8673] Forked 29835 -(29835) found -[8672] Forked 29836 -(29836) found -[8671] Forked 29837 -(29837) found -[8670] Forked 29838 -(29838) found -[8669] Forked 29839 -(29839) found -[8668] Forked 29840 -(29840) found -[8667] Forked 29841 -(29841) found -[8666] Forked 29842 -(29842) found -[8665] Forked 29843 -(29843) found -[8664] Forked 29844 -(29844) found -[8663] Forked 29845 -(29845) found -[8662] Forked 29846 -(29846) found -[8661] Forked 29847 -(29847) found -[8660] Forked 29848 -(29848) found -[8659] Forked 29849 -(29849) found -[8658] Forked 29850 -(29850) found -[8657] Forked 29851 -(29851) found -[8656] Forked 29852 -(29852) found -[8655] Forked 29853 -(29853) found -[8654] Forked 29854 -(29854) found -[8653] Forked 29855 -(29855) found -[8652] Forked 29856 -(29856) found -[8651] Forked 29857 -(29857) found -[8650] Forked 29858 -[8649] Forked 29859 -(29858) found -(29859) found -[8648] Forked 29860 -[8647] Forked 29861 -(29860) found -(29861) found -[8646] Forked 29862 -[8645] Forked 29863 -(29862) found -(29863) found -[8644] Forked 29864 -[8643] Forked 29865 -(29864) found -(29865) found -[8642] Forked 29866 -[8641] Forked 29867 -(29866) found -(29867) found -[8640] Forked 29868 -[8639] Forked 29869 -(29868) found -(29869) found -[8638] Forked 29870 -[8637] Forked 29871 -(29870) found -(29871) found -[8636] Forked 29872 -[8635] Forked 29873 -(29872) found -(29873) found -[8634] Forked 29874 -[8633] Forked 29875 -(29874) found -(29875) found -[8632] Forked 29876 -[8631] Forked 29877 -(29876) found -(29877) found -[8630] Forked 29878 -[8629] Forked 29879 -(29878) found -(29879) found -[8628] Forked 29880 -[8627] Forked 29881 -(29880) found -(29881) found -[8626] Forked 29882 -[8625] Forked 29883 -(29882) found -(29883) found -[8624] Forked 29884 -[8623] Forked 29885 -(29884) found -(29885) found -[8622] Forked 29886 -[8621] Forked 29887 -(29886) found -(29887) found -[8620] Forked 29888 -[8619] Forked 29889 -(29888) found -(29889) found -[8618] Forked 29890 -[8617] Forked 29891 -(29890) found -(29891) found -[8616] Forked 29892 -[8615] Forked 29893 -(29892) found -(29893) found -[8614] Forked 29894 -[8613] Forked 29895 -(29894) found -(29895) found -[8612] Forked 29896 -[8611] Forked 29897 -(29896) found -(29897) found -[8610] Forked 29898 -[8609] Forked 29899 -(29899) found -(29898) found -[8608] Forked 29900 -(29900) found -[8607] Forked 29901 -(29901) found -[8606] Forked 29902 -(29902) found -[8605] Forked 29903 -(29903) found -[8604] Forked 29904 -(29904) found -[8603] Forked 29905 -(29905) found -[8602] Forked 29906 -(29906) found -[8601] Forked 29907 -[8600] Forked 29908 -(29907) found -(29908) found -[8599] Forked 29909 -[8598] Forked 29910 -(29909) found -(29910) found -[8597] Forked 29911 -[8596] Forked 29912 -(29911) found -(29912) found -[8595] Forked 29913 -[8594] Forked 29914 -(29913) found -(29914) found -[8593] Forked 29915 -[8592] Forked 29916 -(29915) found -(29916) found -[8591] Forked 29917 -[8590] Forked 29918 -(29917) found -(29918) found -[8589] Forked 29919 -[8588] Forked 29920 -(29919) found -(29920) found -[8587] Forked 29921 -[8586] Forked 29922 -(29921) found -(29922) found -[8585] Forked 29923 -[8584] Forked 29924 -(29923) found -(29924) found -[8583] Forked 29925 -[8582] Forked 29926 -(29925) found -(29926) found -[8581] Forked 29927 -[8580] Forked 29928 -(29927) found -(29928) found -[8579] Forked 29929 -[8578] Forked 29930 -(29929) found -(29930) found -[8577] Forked 29931 -[8576] Forked 29932 -(29931) found -(29932) found -[8575] Forked 29933 -[8574] Forked 29934 -(29933) found -(29934) found -[8573] Forked 29935 -[8572] Forked 29936 -(29935) found -(29936) found -[8571] Forked 29937 -[8570] Forked 29938 -(29937) found -(29938) found -[8569] Forked 29939 -[8568] Forked 29940 -(29939) found -(29940) found -[8567] Forked 29941 -[8566] Forked 29942 -(29941) found -(29942) found -[8565] Forked 29943 -[8564] Forked 29944 -(29943) found -(29944) found -[8563] Forked 29945 -[8562] Forked 29946 -(29945) found -(29946) found -[8561] Forked 29947 -(29947) found -[8560] Forked 29948 -(29948) found -[8559] Forked 29949 -(29949) found -[8558] Forked 29950 -(29950) found -[8557] Forked 29951 -(29951) found -[8556] Forked 29952 -(29952) found -[8555] Forked 29953 -(29953) found -[8554] Forked 29954 -(29954) found -[8553] Forked 29955 -(29955) found -[8552] Forked 29956 -(29956) found -[8551] Forked 29957 -(29957) found -[8550] Forked 29958 -(29958) found -[8549] Forked 29959 -(29959) found -[8548] Forked 29960 -(29960) found -[8547] Forked 29961 -(29961) found -[8546] Forked 29962 -(29962) found -[8545] Forked 29963 -(29963) found -[8544] Forked 29964 -(29964) found -[8543] Forked 29965 -(29965) found -[8542] Forked 29966 -(29966) found -[8541] Forked 29967 -(29967) found -[8540] Forked 29968 -(29968) found -[8539] Forked 29969 -(29969) found -[8538] Forked 29970 -(29970) found -[8537] Forked 29971 -(29971) found -[8536] Forked 29972 -(29972) found -[8535] Forked 29973 -(29973) found -[8534] Forked 29974 -(29974) found -[8533] Forked 29975 -(29975) found -[8532] Forked 29976 -(29976) found -[8531] Forked 29977 -(29977) found -[8530] Forked 29978 -(29978) found -[8529] Forked 29979 -(29979) found -[8528] Forked 29980 -(29980) found -[8527] Forked 29981 -(29981) found -[8526] Forked 29982 -(29982) found -[8525] Forked 29983 -[8524] Forked 29984 -(29983) found -(29984) found -[8523] Forked 29985 -[8522] Forked 29986 -(29985) found -(29986) found -[8521] Forked 29987 -[8520] Forked 29988 -(29987) found -(29988) found -[8519] Forked 29989 -[8518] Forked 29990 -(29989) found -(29990) found -[8517] Forked 29991 -[8516] Forked 29992 -(29991) found -(29992) found -[8515] Forked 29993 -[8514] Forked 29994 -(29993) found -(29994) found -[8513] Forked 29995 -[8512] Forked 29996 -(29995) found -(29996) found -[8511] Forked 29997 -[8510] Forked 29998 -(29997) found -(29998) found -[8509] Forked 29999 -[8508] Forked 30000 -(29999) found -(30000) found -[8507] Forked 30001 -[8506] Forked 30002 -(30001) found -(30002) found -[8505] Forked 30003 -[8504] Forked 30004 -(30003) found -(30004) found -[8503] Forked 30005 -[8502] Forked 30006 -(30005) found -(30006) found -[8501] Forked 30007 -[8500] Forked 30008 -(30007) found -(30008) found -[8499] Forked 30009 -[8498] Forked 30010 -(30009) found -(30010) found -[8497] Forked 30011 -[8496] Forked 30012 -(30011) found -(30012) found -[8495] Forked 30013 -[8494] Forked 30014 -(30013) found -(30014) found -[8493] Forked 30015 -[8492] Forked 30016 -(30015) found -(30016) found -[8491] Forked 30017 -[8490] Forked 30018 -(30017) found -(30018) found -[8489] Forked 30019 -[8488] Forked 30020 -(30019) found -(30020) found -[8487] Forked 30021 -[8486] Forked 30022 -(30021) found -(30022) found -[8485] Forked 30023 -[8484] Forked 30024 -(30023) found -(30024) found -[8483] Forked 30025 -[8482] Forked 30026 -(30025) found -(30026) found -[8481] Forked 30027 -(30027) found -[8480] Forked 30028 -(30028) found -[8479] Forked 30029 -(30029) found -[8478] Forked 30030 -(30030) found -[8477] Forked 30031 -(30031) found -[8476] Forked 30032 -(30032) found -[8475] Forked 30033 -(30033) found -[8474] Forked 30034 -(30034) found -[8473] Forked 30035 -(30035) found -[8472] Forked 30036 -(30036) found -[8471] Forked 30037 -(30037) found -[8470] Forked 30038 -(30038) found -[8469] Forked 30039 -(30039) found -[8468] Forked 30040 -(30040) found -[8467] Forked 30041 -(30041) found -[8466] Forked 30042 -(30042) found -[8465] Forked 30043 -(30043) found -[8464] Forked 30044 -(30044) found -[8463] Forked 30045 -(30045) found -[8462] Forked 30046 -(30046) found -[8461] Forked 30047 -(30047) found -[8460] Forked 30048 -(30048) found -[8459] Forked 30049 -(30049) found -[8458] Forked 30050 -(30050) found -[8457] Forked 30051 -(30051) found -[8456] Forked 30052 -(30052) found -[8455] Forked 30053 -(30053) found -[8454] Forked 30054 -(30054) found -[8453] Forked 30055 -(30055) found -[8452] Forked 30056 -(30056) found -[8451] Forked 30057 -(30057) found -[8450] Forked 30058 -(30058) found -[8449] Forked 30059 -(30059) found -[8448] Forked 30060 -(30060) found -[8447] Forked 30061 -(30061) found -[8446] Forked 30062 -(30062) found -[8445] Forked 30063 -(30063) found -[8444] Forked 30064 -[8443] Forked 30065 -(30064) found -(30065) found -[8442] Forked 30066 -[8441] Forked 30067 -(30066) found -(30067) found -[8440] Forked 30068 -[8439] Forked 30069 -(30068) found -(30069) found -[8438] Forked 30070 -[8437] Forked 30071 -(30070) found -(30071) found -[8436] Forked 30072 -[8435] Forked 30073 -(30072) found -(30073) found -[8434] Forked 30074 -[8433] Forked 30075 -(30074) found -(30075) found -[8432] Forked 30076 -[8431] Forked 30077 -(30076) found -(30077) found -[8430] Forked 30078 -[8429] Forked 30079 -(30078) found -(30079) found -[8428] Forked 30080 -[8427] Forked 30081 -(30080) found -(30081) found -[8426] Forked 30082 -[8425] Forked 30083 -(30082) found -(30083) found -[8424] Forked 30084 -[8423] Forked 30085 -(30084) found -(30085) found -[8422] Forked 30086 -[8421] Forked 30087 -(30086) found -(30087) found -[8420] Forked 30088 -[8419] Forked 30089 -(30088) found -(30089) found -[8418] Forked 30090 -[8417] Forked 30091 -(30090) found -(30091) found -[8416] Forked 30092 -[8415] Forked 30093 -(30092) found -(30093) found -[8414] Forked 30094 -[8413] Forked 30095 -(30094) found -(30095) found -[8412] Forked 30096 -[8411] Forked 30097 -(30096) found -(30097) found -[8410] Forked 30098 -[8409] Forked 30099 -(30098) found -(30099) found -[8408] Forked 30100 -[8407] Forked 30101 -(30100) found -(30101) found -[8406] Forked 30102 -[8405] Forked 30103 -(30102) found -(30103) found -[8404] Forked 30104 -[8403] Forked 30105 -(30104) found -(30105) found -[8402] Forked 30106 -[8401] Forked 30107 -(30106) found -(30107) found -[8400] Forked 30108 -[8399] Forked 30109 -(30108) found -(30109) found -[8398] Forked 30110 -[8397] Forked 30111 -(30110) found -(30111) found -[8396] Forked 30112 -[8395] Forked 30113 -(30112) found -(30113) found -[8394] Forked 30114 -[8393] Forked 30115 -(30114) found -(30115) found -[8392] Forked 30116 -[8391] Forked 30117 -(30116) found -(30117) found -[8390] Forked 30118 -[8389] Forked 30119 -(30118) found -(30119) found -[8388] Forked 30120 -[8387] Forked 30121 -(30120) found -(30121) found -[8386] Forked 30122 -[8385] Forked 30123 -(30122) found -(30123) found -[8384] Forked 30124 -[8383] Forked 30125 -(30124) found -(30125) found -[8382] Forked 30126 -[8381] Forked 30127 -(30126) found -(30127) found -[8380] Forked 30128 -[8379] Forked 30129 -(30128) found -(30129) found -[8378] Forked 30130 -[8377] Forked 30131 -(30130) found -(30131) found -[8376] Forked 30132 -[8375] Forked 30133 -(30132) found -(30133) found -[8374] Forked 30134 -[8373] Forked 30135 -(30134) found -(30135) found -[8372] Forked 30136 -[8371] Forked 30137 -(30136) found -(30137) found -[8370] Forked 30138 -[8369] Forked 30139 -(30138) found -(30139) found -[8368] Forked 30140 -[8367] Forked 30141 -(30140) found -(30141) found -[8366] Forked 30142 -[8365] Forked 30143 -(30142) found -(30143) found -[8364] Forked 30144 -[8363] Forked 30145 -(30144) found -(30145) found -[8362] Forked 30146 -[8361] Forked 30147 -(30146) found -(30147) found -[8360] Forked 30148 -[8359] Forked 30149 -(30148) found -(30149) found -[8358] Forked 30150 -[8357] Forked 30151 -(30150) found -(30151) found -[8356] Forked 30152 -[8355] Forked 30153 -(30152) found -(30153) found -[8354] Forked 30154 -[8353] Forked 30155 -(30154) found -(30155) found -[8352] Forked 30156 -(30156) found -[8351] Forked 30157 -(30157) found -[8350] Forked 30158 -(30158) found -[8349] Forked 30159 -(30159) found -[8348] Forked 30160 -(30160) found -[8347] Forked 30161 -[8346] Forked 30162 -(30161) found -(30162) found -[8345] Forked 30163 -[8344] Forked 30164 -(30163) found -(30164) found -[8343] Forked 30165 -[8342] Forked 30166 -(30165) found -(30166) found -[8341] Forked 30167 -[8340] Forked 30168 -(30167) found -(30168) found -[8339] Forked 30169 -[8338] Forked 30170 -(30169) found -(30170) found -[8337] Forked 30171 -[8336] Forked 30172 -(30171) found -(30172) found -[8335] Forked 30173 -[8334] Forked 30174 -(30173) found -(30174) found -[8333] Forked 30175 -[8332] Forked 30176 -(30175) found -(30176) found -[8331] Forked 30177 -[8330] Forked 30178 -(30177) found -(30178) found -[8329] Forked 30179 -[8328] Forked 30180 -(30179) found -(30180) found -[8327] Forked 30181 -[8326] Forked 30182 -(30181) found -(30182) found -[8325] Forked 30183 -[8324] Forked 30184 -(30183) found -(30184) found -[8323] Forked 30185 -[8322] Forked 30186 -(30185) found -(30186) found -[8321] Forked 30187 -[8320] Forked 30188 -(30187) found -(30188) found -[8319] Forked 30189 -[8318] Forked 30190 -(30189) found -(30190) found -[8317] Forked 30191 -[8316] Forked 30192 -(30191) found -(30192) found -[8315] Forked 30193 -[8314] Forked 30194 -(30193) found -(30194) found -[8313] Forked 30195 -[8312] Forked 30196 -(30195) found -(30196) found -[8311] Forked 30197 -[8310] Forked 30198 -(30197) found -(30198) found -[8309] Forked 30199 -[8308] Forked 30201 -(30199) found -(30201) found -[8307] Forked 30202 -(30202) found -[8306] Forked 30203 -(30203) found -[8305] Forked 30204 -(30204) found -[8304] Forked 30205 -(30205) found -[8303] Forked 30206 -(30206) found -[8302] Forked 30207 -(30207) found -[8301] Forked 30208 -(30208) found -[8300] Forked 30209 -(30209) found -[8299] Forked 30210 -(30210) found -[8298] Forked 30211 -(30211) found -[8297] Forked 30212 -(30212) found -[8296] Forked 30213 -(30213) found -[8295] Forked 30214 -(30214) found -[8294] Forked 30215 -(30215) found -[8293] Forked 30216 -(30216) found -[8292] Forked 30217 -(30217) found -[8291] Forked 30218 -(30218) found -[8290] Forked 30219 -(30219) found -[8289] Forked 30220 -(30220) found -[8288] Forked 30221 -(30221) found -[8287] Forked 30222 -(30222) found -[8286] Forked 30223 -(30223) found -[8285] Forked 30224 -(30224) found -[8284] Forked 30225 -(30225) found -[8283] Forked 30226 -(30226) found -[8282] Forked 30227 -(30227) found -[8281] Forked 30228 -(30228) found -[8280] Forked 30229 -(30229) found -[8279] Forked 30230 -(30230) found -[8278] Forked 30231 -(30231) found -[8277] Forked 30232 -(30232) found -[8276] Forked 30233 -(30233) found -[8275] Forked 30234 -(30234) found -[8274] Forked 30235 -(30235) found -[8273] Forked 30236 -(30236) found -[8272] Forked 30237 -(30237) found -[8271] Forked 30238 -(30238) found -[8270] Forked 30239 -(30239) found -[8269] Forked 30240 -(30240) found -[8268] Forked 30241 -(30241) found -[8267] Forked 30242 -[8266] Forked 30243 -(30243) found -(30242) found -[8265] Forked 30244 -(30244) found -[8264] Forked 30245 -(30245) found -[8263] Forked 30246 -(30246) found -[8262] Forked 30247 -(30247) found -[8261] Forked 30248 -(30248) found -[8260] Forked 30249 -(30249) found -[8259] Forked 30250 -(30250) found -[8258] Forked 30251 -(30251) found -[8257] Forked 30252 -(30252) found -[8256] Forked 30253 -(30253) found -[8255] Forked 30254 -(30254) found -[8254] Forked 30255 -(30255) found -[8253] Forked 30256 -(30256) found -[8252] Forked 30257 -(30257) found -[8251] Forked 30258 -(30258) found -[8250] Forked 30259 -(30259) found -[8249] Forked 30260 -(30260) found -[8248] Forked 30261 -(30261) found -[8247] Forked 30262 -(30262) found -[8246] Forked 30263 -(30263) found -[8245] Forked 30264 -(30264) found -[8244] Forked 30265 -(30265) found -[8243] Forked 30266 -(30266) found -[8242] Forked 30267 -(30267) found -[8241] Forked 30268 -(30268) found -[8240] Forked 30269 -(30269) found -[8239] Forked 30270 -(30270) found -[8238] Forked 30271 -(30271) found -[8237] Forked 30272 -(30272) found -[8236] Forked 30273 -(30273) found -[8235] Forked 30274 -(30274) found -[8234] Forked 30275 -(30275) found -[8233] Forked 30276 -(30276) found -[8232] Forked 30277 -(30277) found -[8231] Forked 30278 -(30278) found -[8230] Forked 30279 -(30279) found -[8229] Forked 30280 -(30280) found -[8228] Forked 30281 -(30281) found -[8227] Forked 30282 -(30282) found -[8226] Forked 30283 -(30283) found -[8225] Forked 30284 -(30284) found -[8224] Forked 30285 -(30285) found -[8223] Forked 30286 -(30286) found -[8222] Forked 30287 -(30287) found -[8221] Forked 30288 -(30288) found -[8220] Forked 30289 -(30289) found -[8219] Forked 30290 -(30290) found -[8218] Forked 30291 -(30291) found -[8217] Forked 30292 -(30292) found -[8216] Forked 30293 -(30293) found -[8215] Forked 30294 -(30294) found -[8214] Forked 30295 -(30295) found -[8213] Forked 30296 -(30296) found -[8212] Forked 30297 -(30297) found -[8211] Forked 30298 -(30298) found -[8210] Forked 30299 -(30299) found -[8209] Forked 30300 -(30300) found -[8208] Forked 30301 -(30301) found -[8207] Forked 30302 -(30302) found -[8206] Forked 30303 -(30303) found -[8205] Forked 30304 -(30304) found -[8204] Forked 30305 -(30305) found -[8203] Forked 30306 -(30306) found -[8202] Forked 30307 -(30307) found -[8201] Forked 30308 -(30308) found -[8200] Forked 30309 -(30309) found -[8199] Forked 30310 -(30310) found -[8198] Forked 30311 -(30311) found -[8197] Forked 30312 -(30312) found -[8196] Forked 30313 -(30313) found -[8195] Forked 30314 -(30314) found -[8194] Forked 30315 -[8193] Forked 30316 -(30315) found -(30316) found -[8192] Forked 30317 -[8191] Forked 30318 -(30317) found -(30318) found -[8190] Forked 30319 -[8189] Forked 30320 -(30319) found -(30320) found -[8188] Forked 30321 -[8187] Forked 30322 -(30321) found -(30322) found -[8186] Forked 30323 -[8185] Forked 30324 -(30323) found -(30324) found -[8184] Forked 30325 -[8183] Forked 30326 -(30325) found -(30326) found -[8182] Forked 30327 -[8181] Forked 30328 -(30327) found -(30328) found -[8180] Forked 30329 -[8179] Forked 30330 -(30329) found -(30330) found -[8178] Forked 30331 -[8177] Forked 30332 -(30331) found -(30332) found -[8176] Forked 30333 -[8175] Forked 30334 -(30333) found -(30334) found -[8174] Forked 30335 -[8173] Forked 30336 -(30335) found -(30336) found -[8172] Forked 30337 -[8171] Forked 30338 -(30337) found -(30338) found -[8170] Forked 30339 -(30339) found -[8169] Forked 30340 -[8168] Forked 30341 -(30340) found -(30341) found -[8167] Forked 30342 -[8166] Forked 30343 -(30342) found -(30343) found -[8165] Forked 30344 -[8164] Forked 30345 -(30344) found -(30345) found -[8163] Forked 30346 -[8162] Forked 30347 -(30346) found -(30347) found -[8161] Forked 30348 -[8160] Forked 30349 -(30348) found -(30349) found -[8159] Forked 30350 -[8158] Forked 30351 -(30350) found -(30351) found -[8157] Forked 30352 -[8156] Forked 30353 -(30352) found -(30353) found -[8155] Forked 30354 -[8154] Forked 30355 -(30355) found -(30354) found -[8153] Forked 30356 -(30356) found -[8152] Forked 30357 -(30357) found -[8151] Forked 30358 -(30358) found -[8150] Forked 30359 -(30359) found -[8149] Forked 30360 -(30360) found -[8148] Forked 30361 -(30361) found -[8147] Forked 30362 -(30362) found -[8146] Forked 30363 -(30363) found -[8145] Forked 30364 -(30364) found -[8144] Forked 30365 -(30365) found -[8143] Forked 30366 -(30366) found -[8142] Forked 30367 -(30367) found -[8141] Forked 30368 -(30368) found -[8140] Forked 30369 -(30369) found -[8139] Forked 30370 -(30370) found -[8138] Forked 30371 -(30371) found -[8137] Forked 30372 -(30372) found -[8136] Forked 30373 -(30373) found -[8135] Forked 30374 -(30374) found -[8134] Forked 30375 -(30375) found -[8133] Forked 30376 -(30376) found -[8132] Forked 30377 -(30377) found -[8131] Forked 30378 -(30378) found -[8130] Forked 30379 -(30379) found -[8129] Forked 30380 -(30380) found -[8128] Forked 30381 -(30381) found -[8127] Forked 30382 -(30382) found -[8126] Forked 30383 -(30383) found -[8125] Forked 30384 -(30384) found -[8124] Forked 30385 -(30385) found -[8123] Forked 30386 -(30386) found -[8122] Forked 30387 -(30387) found -[8121] Forked 30388 -(30388) found -[8120] Forked 30389 -(30389) found -[8119] Forked 30390 -(30390) found -[8118] Forked 30391 -[8117] Forked 30392 -(30391) found -(30392) found -[8116] Forked 30393 -[8115] Forked 30394 -(30393) found -(30394) found -[8114] Forked 30395 -[8113] Forked 30396 -(30395) found -(30396) found -[8112] Forked 30397 -[8111] Forked 30398 -(30397) found -(30398) found -[8110] Forked 30399 -[8109] Forked 30400 -(30399) found -(30400) found -[8108] Forked 30401 -[8107] Forked 30402 -(30401) found -(30402) found -[8106] Forked 30403 -[8105] Forked 30404 -(30403) found -(30404) found -[8104] Forked 30405 -[8103] Forked 30406 -(30405) found -(30406) found -[8102] Forked 30407 -[8101] Forked 30408 -(30407) found -(30408) found -[8100] Forked 30409 -[8099] Forked 30410 -(30409) found -(30410) found -[8098] Forked 30411 -[8097] Forked 30412 -(30411) found -(30412) found -[8096] Forked 30413 -[8095] Forked 30414 -(30413) found -(30414) found -[8094] Forked 30415 -[8093] Forked 30416 -(30415) found -(30416) found -[8092] Forked 30417 -[8091] Forked 30418 -(30417) found -(30418) found -[8090] Forked 30419 -[8089] Forked 30420 -(30419) found -(30420) found -[8088] Forked 30421 -[8087] Forked 30422 -(30421) found -(30422) found -[8086] Forked 30423 -[8085] Forked 30424 -(30423) found -(30424) found -[8084] Forked 30425 -[8083] Forked 30426 -(30425) found -(30426) found -[8082] Forked 30427 -[8081] Forked 30428 -(30427) found -(30428) found -[8080] Forked 30429 -[8079] Forked 30430 -(30429) found -(30430) found -[8078] Forked 30431 -[8077] Forked 30433 -(30431) found -(30433) found -[8076] Forked 30434 -(30434) found -[8075] Forked 30435 -(30435) found -[8074] Forked 30436 -(30436) found -[8073] Forked 30437 -(30437) found -[8072] Forked 30438 -(30438) found -[8071] Forked 30439 -(30439) found -[8070] Forked 30440 -(30440) found -[8069] Forked 30441 -(30441) found -[8068] Forked 30442 -(30442) found -[8067] Forked 30443 -(30443) found -[8066] Forked 30444 -(30444) found -[8065] Forked 30445 -(30445) found -[8064] Forked 30446 -(30446) found -[8063] Forked 30447 -(30447) found -[8062] Forked 30448 -(30448) found -[8061] Forked 30449 -(30449) found -[8060] Forked 30450 -(30450) found -[8059] Forked 30451 -(30451) found -[8058] Forked 30452 -(30452) found -[8057] Forked 30453 -(30453) found -[8056] Forked 30454 -(30454) found -[8055] Forked 30455 -(30455) found -[8054] Forked 30456 -(30456) found -[8053] Forked 30457 -(30457) found -[8052] Forked 30458 -(30458) found -[8051] Forked 30459 -(30459) found -[8050] Forked 30460 -(30460) found -[8049] Forked 30461 -(30461) found -[8048] Forked 30462 -(30462) found -[8047] Forked 30463 -(30463) found -[8046] Forked 30464 -(30464) found -[8045] Forked 30465 -(30465) found -[8044] Forked 30466 -(30466) found -[8043] Forked 30467 -(30467) found -[8042] Forked 30468 -(30468) found -[8041] Forked 30469 -(30469) found -[8040] Forked 30470 -(30470) found -[8039] Forked 30471 -(30471) found -[8038] Forked 30472 -(30472) found -[8037] Forked 30473 -(30473) found -[8036] Forked 30474 -(30474) found -[8035] Forked 30475 -(30475) found -[8034] Forked 30476 -(30476) found -[8033] Forked 30477 -(30477) found -[8032] Forked 30478 -(30478) found -[8031] Forked 30479 -(30479) found -[8030] Forked 30480 -(30480) found -[8029] Forked 30481 -(30481) found -[8028] Forked 30482 -(30482) found -[8027] Forked 30483 -(30483) found -[8026] Forked 30484 -(30484) found -[8025] Forked 30485 -(30485) found -[8024] Forked 30486 -(30486) found -[8023] Forked 30487 -(30487) found -[8022] Forked 30488 -(30488) found -[8021] Forked 30489 -(30489) found -[8020] Forked 30490 -(30490) found -[8019] Forked 30491 -(30491) found -[8018] Forked 30492 -(30492) found -[8017] Forked 30493 -(30493) found -[8016] Forked 30494 -(30494) found -[8015] Forked 30495 -(30495) found -[8014] Forked 30496 -(30496) found -[8013] Forked 30497 -(30497) found -[8012] Forked 30498 -(30498) found -[8011] Forked 30499 -(30499) found -[8010] Forked 30500 -(30500) found -[8009] Forked 30501 -(30501) found -[8008] Forked 30502 -(30502) found -[8007] Forked 30503 -(30503) found -[8006] Forked 30504 -(30504) found -[8005] Forked 30505 -(30505) found -[8004] Forked 30506 -(30506) found -[8003] Forked 30507 -(30507) found -[8002] Forked 30509 -(30509) found -[8001] Forked 30510 -(30510) found -[8000] Forked 30511 -[7999] Forked 30512 -(30511) found -(30512) found -[7998] Forked 30513 -[7997] Forked 30515 -(30513) found -(30515) found -[7996] Forked 30516 -[7995] Forked 30517 -(30516) found -(30517) found -[7994] Forked 30518 -[7993] Forked 30519 -(30518) found -(30519) found -[7992] Forked 30521 -[7991] Forked 30522 -(30521) found -(30522) found -[7990] Forked 30523 -[7989] Forked 30524 -(30523) found -(30524) found -[7988] Forked 30525 -[7987] Forked 30526 -(30525) found -(30526) found -[7986] Forked 30528 -[7985] Forked 30529 -(30528) found -(30529) found -[7984] Forked 30530 -[7983] Forked 30531 -(30530) found -(30531) found -[7982] Forked 30532 -[7981] Forked 30534 -(30532) found -(30534) found -[7980] Forked 30535 -[7979] Forked 30536 -(30535) found -(30536) found -[7978] Forked 30537 -[7977] Forked 30538 -(30537) found -(30538) found -[7976] Forked 30540 -[7975] Forked 30541 -(30540) found -(30541) found -[7974] Forked 30542 -[7973] Forked 30543 -(30542) found -(30543) found -[7972] Forked 30544 -[7971] Forked 30545 -(30544) found -(30545) found -[7970] Forked 30546 -[7969] Forked 30547 -(30546) found -(30547) found -[7968] Forked 30548 -[7967] Forked 30549 -(30548) found -(30549) found -[7966] Forked 30550 -[7965] Forked 30551 -(30550) found -(30551) found -[7964] Forked 30552 -[7963] Forked 30553 -(30552) found -(30553) found -[7962] Forked 30554 -[7961] Forked 30555 -(30554) found -(30555) found -[7960] Forked 30556 -[7959] Forked 30557 -(30556) found -(30557) found -[7958] Forked 30558 -[7957] Forked 30559 -(30558) found -(30559) found -[7956] Forked 30560 -[7955] Forked 30561 -(30560) found -(30561) found -[7954] Forked 30562 -(30562) found -[7953] Forked 30563 -(30563) found -[7952] Forked 30564 -(30564) found -[7951] Forked 30565 -(30565) found -[7950] Forked 30566 -(30566) found -[7949] Forked 30567 -(30567) found -[7948] Forked 30568 -(30568) found -[7947] Forked 30569 -(30569) found -[7946] Forked 30570 -(30570) found -[7945] Forked 30571 -(30571) found -[7944] Forked 30572 -(30572) found -[7943] Forked 30573 -(30573) found -[7942] Forked 30574 -(30574) found -[7941] Forked 30575 -(30575) found -[7940] Forked 30576 -(30576) found -[7939] Forked 30577 -(30577) found -[7938] Forked 30578 -(30578) found -[7937] Forked 30579 -(30579) found -[7936] Forked 30580 -(30580) found -[7935] Forked 30581 -(30581) found -[7934] Forked 30582 -(30582) found -[7933] Forked 30583 -(30583) found -[7932] Forked 30584 -(30584) found -[7931] Forked 30585 -(30585) found -[7930] Forked 30586 -(30586) found -[7929] Forked 30587 -(30587) found -[7928] Forked 30588 -(30588) found -[7927] Forked 30589 -(30589) found -[7926] Forked 30590 -(30590) found -[7925] Forked 30591 -(30591) found -[7924] Forked 30592 -(30592) found -[7923] Forked 30593 -(30593) found -[7922] Forked 30594 -(30594) found -[7921] Forked 30595 -(30595) found -[7920] Forked 30596 -(30596) found -[7919] Forked 30597 -(30597) found -[7918] Forked 30598 -(30598) found -[7917] Forked 30599 -[7916] Forked 30600 -(30599) found -(30600) found -[7915] Forked 30601 -[7914] Forked 30602 -(30601) found -(30602) found -[7913] Forked 30603 -[7912] Forked 30604 -(30603) found -(30604) found -[7911] Forked 30605 -[7910] Forked 30606 -(30605) found -(30606) found -[7909] Forked 30607 -[7908] Forked 30608 -(30607) found -(30608) found -[7907] Forked 30609 -[7906] Forked 30610 -(30609) found -(30610) found -[7905] Forked 30611 -[7904] Forked 30612 -(30611) found -(30612) found -[7903] Forked 30613 -[7902] Forked 30614 -(30613) found -(30614) found -[7901] Forked 30615 -[7900] Forked 30616 -(30615) found -(30616) found -[7899] Forked 30617 -[7898] Forked 30618 -(30617) found -(30618) found -[7897] Forked 30619 -[7896] Forked 30620 -(30619) found -(30620) found -[7895] Forked 30621 -[7894] Forked 30622 -(30621) found -(30622) found -[7893] Forked 30623 -[7892] Forked 30624 -(30623) found -(30624) found -[7891] Forked 30625 -[7890] Forked 30626 -(30625) found -(30626) found -[7889] Forked 30627 -[7888] Forked 30628 -(30627) found -(30628) found -[7887] Forked 30629 -[7886] Forked 30630 -(30629) found -(30630) found -[7885] Forked 30631 -[7884] Forked 30633 -(30631) found -(30633) found -[7883] Forked 30634 -(30634) found -[7882] Forked 30635 -(30635) found -[7881] Forked 30636 -(30636) found -[7880] Forked 30637 -[7879] Forked 30638 -(30637) found -(30638) found -[7878] Forked 30639 -[7877] Forked 30640 -(30639) found -(30640) found -[7876] Forked 30641 -(30641) found -[7875] Forked 30642 -[7874] Forked 30643 -(30642) found -(30643) found -[7873] Forked 30644 -[7872] Forked 30645 -(30644) found -(30645) found -[7871] Forked 30646 -[7870] Forked 30647 -(30646) found -(30647) found -[7869] Forked 30648 -[7868] Forked 30649 -(30648) found -(30649) found -[7867] Forked 30650 -[7866] Forked 30651 -(30650) found -(30651) found -[7865] Forked 30652 -[7864] Forked 30653 -(30652) found -(30653) found -[7863] Forked 30654 -[7862] Forked 30655 -(30654) found -(30655) found -[7861] Forked 30656 -[7860] Forked 30657 -(30656) found -(30657) found -[7859] Forked 30658 -[7858] Forked 30659 -(30658) found -(30659) found -[7857] Forked 30660 -[7856] Forked 30661 -(30660) found -(30661) found -[7855] Forked 30662 -[7854] Forked 30663 -(30662) found -(30663) found -[7853] Forked 30664 -[7852] Forked 30665 -(30664) found -(30665) found -[7851] Forked 30666 -[7850] Forked 30667 -(30666) found -(30667) found -[7849] Forked 30668 -[7848] Forked 30669 -(30668) found -(30669) found -[7847] Forked 30670 -[7846] Forked 30671 -(30670) found -(30671) found -[7845] Forked 30672 -[7844] Forked 30673 -(30672) found -(30673) found -[7843] Forked 30674 -[7842] Forked 30675 -(30674) found -(30675) found -[7841] Forked 30676 -[7840] Forked 30677 -(30676) found -(30677) found -[7839] Forked 30678 -[7838] Forked 30679 -(30678) found -(30679) found -[7837] Forked 30680 -[7836] Forked 30681 -(30680) found -(30681) found -[7835] Forked 30682 -[7834] Forked 30683 -(30682) found -(30683) found -[7833] Forked 30684 -[7832] Forked 30685 -(30684) found -(30685) found -[7831] Forked 30686 -[7830] Forked 30687 -(30686) found -(30687) found -[7829] Forked 30688 -[7828] Forked 30689 -(30688) found -(30689) found -[7827] Forked 30690 -[7826] Forked 30691 -(30690) found -(30691) found -[7825] Forked 30692 -[7824] Forked 30693 -(30692) found -(30693) found -[7823] Forked 30694 -[7822] Forked 30695 -(30694) found -(30695) found -[7821] Forked 30696 -[7820] Forked 30697 -(30696) found -(30697) found -[7819] Forked 30698 -[7818] Forked 30699 -(30698) found -(30699) found -[7817] Forked 30700 -[7816] Forked 30701 -(30700) found -(30701) found -[7815] Forked 30702 -[7814] Forked 30703 -(30702) found -(30703) found -[7813] Forked 30704 -[7812] Forked 30705 -(30704) found -(30705) found -[7811] Forked 30706 -[7810] Forked 30707 -(30706) found -(30707) found -[7809] Forked 30708 -[7808] Forked 30709 -(30708) found -(30709) found -[7807] Forked 30710 -[7806] Forked 30711 -(30710) found -(30711) found -[7805] Forked 30712 -[7804] Forked 30713 -(30712) found -(30713) found -[7803] Forked 30714 -[7802] Forked 30715 -(30714) found -(30715) found -[7801] Forked 30716 -[7800] Forked 30717 -(30716) found -(30717) found -[7799] Forked 30718 -[7798] Forked 30719 -(30718) found -(30719) found -[7797] Forked 30720 -[7796] Forked 30721 -(30720) found -(30721) found -[7795] Forked 30722 -[7794] Forked 30723 -(30722) found -(30723) found -[7793] Forked 30724 -[7792] Forked 30725 -(30724) found -(30725) found -[7791] Forked 30726 -[7790] Forked 30727 -(30726) found -(30727) found -[7789] Forked 30728 -[7788] Forked 30729 -(30728) found -(30729) found -[7787] Forked 30730 -[7786] Forked 30731 -(30730) found -(30731) found -[7785] Forked 30732 -[7784] Forked 30733 -(30732) found -(30733) found -[7783] Forked 30734 -(30734) found -[7782] Forked 30735 -(30735) found -[7781] Forked 30736 -(30736) found -[7780] Forked 30737 -(30737) found -[7779] Forked 30738 -(30738) found -[7778] Forked 30739 -(30739) found -[7777] Forked 30740 -(30740) found -[7776] Forked 30741 -(30741) found -[7775] Forked 30742 -(30742) found -[7774] Forked 30743 -(30743) found -[7773] Forked 30744 -(30744) found -[7772] Forked 30745 -(30745) found -[7771] Forked 30746 -(30746) found -[7770] Forked 30747 -(30747) found -[7769] Forked 30748 -(30748) found -[7768] Forked 30749 -(30749) found -[7767] Forked 30750 -(30750) found -[7766] Forked 30751 -(30751) found -[7765] Forked 30752 -(30752) found -[7764] Forked 30753 -(30753) found -[7763] Forked 30754 -(30754) found -[7762] Forked 30755 -(30755) found -[7761] Forked 30756 -(30756) found -[7760] Forked 30757 -(30757) found -[7759] Forked 30758 -(30758) found -[7758] Forked 30759 -(30759) found -[7757] Forked 30760 -(30760) found -[7756] Forked 30761 -(30761) found -[7755] Forked 30762 -(30762) found -[7754] Forked 30763 -(30763) found -[7753] Forked 30764 -(30764) found -[7752] Forked 30765 -(30765) found -[7751] Forked 30766 -(30766) found -[7750] Forked 30767 -(30767) found -[7749] Forked 30768 -(30768) found -[7748] Forked 30769 -(30769) found -[7747] Forked 30770 -(30770) found -[7746] Forked 30771 -[7745] Forked 30772 -(30771) found -(30772) found -[7744] Forked 30773 -[7743] Forked 30774 -(30773) found -(30774) found -[7742] Forked 30775 -[7741] Forked 30776 -(30775) found -(30776) found -[7740] Forked 30777 -[7739] Forked 30778 -(30777) found -(30778) found -[7738] Forked 30779 -[7737] Forked 30780 -(30779) found -(30780) found -[7736] Forked 30781 -[7735] Forked 30782 -(30781) found -(30782) found -[7734] Forked 30783 -[7733] Forked 30784 -(30783) found -(30784) found -[7732] Forked 30785 -[7731] Forked 30786 -(30785) found -(30786) found -[7730] Forked 30787 -[7729] Forked 30788 -(30787) found -(30788) found -[7728] Forked 30789 -[7727] Forked 30790 -(30789) found -(30790) found -[7726] Forked 30791 -[7725] Forked 30792 -(30791) found -(30792) found -[7724] Forked 30793 -[7723] Forked 30794 -(30793) found -(30794) found -[7722] Forked 30795 -[7721] Forked 30796 -(30795) found -(30796) found -[7720] Forked 30797 -[7719] Forked 30798 -(30797) found -(30798) found -[7718] Forked 30799 -[7717] Forked 30800 -(30799) found -(30800) found -[7716] Forked 30801 -[7715] Forked 30802 -(30801) found -(30802) found -[7714] Forked 30803 -[7713] Forked 30804 -(30803) found -(30804) found -[7712] Forked 30805 -[7711] Forked 30806 -(30805) found -(30806) found -[7710] Forked 30807 -[7709] Forked 30808 -(30807) found -(30808) found -[7708] Forked 30809 -[7707] Forked 30810 -(30809) found -(30810) found -[7706] Forked 30811 -[7705] Forked 30812 -(30811) found -(30812) found -[7704] Forked 30813 -[7703] Forked 30814 -(30813) found -(30814) found -[7702] Forked 30815 -(30815) found -[7701] Forked 30816 -(30816) found -[7700] Forked 30817 -(30817) found -[7699] Forked 30818 -(30818) found -[7698] Forked 30819 -(30819) found -[7697] Forked 30820 -(30820) found -[7696] Forked 30821 -(30821) found -[7695] Forked 30822 -(30822) found -[7694] Forked 30823 -(30823) found -[7693] Forked 30824 -(30824) found -[7692] Forked 30825 -(30825) found -[7691] Forked 30826 -(30826) found -[7690] Forked 30827 -(30827) found -[7689] Forked 30828 -(30828) found -[7688] Forked 30829 -(30829) found -[7687] Forked 30831 -(30831) found -[7686] Forked 30832 -(30832) found -[7685] Forked 30833 -(30833) found -[7684] Forked 30834 -(30834) found -[7683] Forked 30835 -(30835) found -[7682] Forked 30837 -(30837) found -[7681] Forked 30838 -(30838) found -[7680] Forked 30839 -(30839) found -[7679] Forked 30840 -(30840) found -[7678] Forked 30841 -(30841) found -[7677] Forked 30843 -(30843) found -[7676] Forked 30844 -(30844) found -[7675] Forked 30845 -(30845) found -[7674] Forked 30846 -(30846) found -[7673] Forked 30847 -(30847) found -[7672] Forked 30849 -(30849) found -[7671] Forked 30850 -(30850) found -[7670] Forked 30851 -(30851) found -[7669] Forked 30852 -(30852) found -[7668] Forked 30853 -[7667] Forked 30855 -(30853) found -(30855) found -[7666] Forked 30856 -[7665] Forked 30857 -(30856) found -(30857) found -[7664] Forked 30858 -[7663] Forked 30859 -(30858) found -(30859) found -[7662] Forked 30861 -[7661] Forked 30862 -(30861) found -(30862) found -[7660] Forked 30863 -[7659] Forked 30864 -(30863) found -(30864) found -[7658] Forked 30865 -[7657] Forked 30866 -(30865) found -(30866) found -[7656] Forked 30867 -[7655] Forked 30868 -(30867) found -(30868) found -[7654] Forked 30869 -[7653] Forked 30870 -(30869) found -(30870) found -[7652] Forked 30871 -[7651] Forked 30872 -(30871) found -(30872) found -[7650] Forked 30873 -[7649] Forked 30874 -(30873) found -(30874) found -[7648] Forked 30875 -[7647] Forked 30876 -(30875) found -(30876) found -[7646] Forked 30877 -[7645] Forked 30878 -(30877) found -(30878) found -[7644] Forked 30879 -[7643] Forked 30881 -(30879) found -(30881) found -[7642] Forked 30882 -(30882) found -[7641] Forked 30883 -(30883) found -[7640] Forked 30884 -(30884) found -[7639] Forked 30885 -(30885) found -[7638] Forked 30886 -(30886) found -[7637] Forked 30887 -(30887) found -[7636] Forked 30888 -(30888) found -[7635] Forked 30889 -(30889) found -[7634] Forked 30890 -(30890) found -[7633] Forked 30891 -(30891) found -[7632] Forked 30892 -(30892) found -[7631] Forked 30893 -(30893) found -[7630] Forked 30894 -(30894) found -[7629] Forked 30895 -(30895) found -[7628] Forked 30896 -(30896) found -[7627] Forked 30897 -(30897) found -[7626] Forked 30898 -(30898) found -[7625] Forked 30899 -(30899) found -[7624] Forked 30900 -(30900) found -[7623] Forked 30901 -(30901) found -[7622] Forked 30902 -(30902) found -[7621] Forked 30903 -(30903) found -[7620] Forked 30904 -(30904) found -[7619] Forked 30905 -(30905) found -[7618] Forked 30906 -(30906) found -[7617] Forked 30907 -(30907) found -[7616] Forked 30908 -(30908) found -[7615] Forked 30909 -(30909) found -[7614] Forked 30910 -(30910) found -[7613] Forked 30911 -(30911) found -[7612] Forked 30912 -(30912) found -[7611] Forked 30913 -(30913) found -[7610] Forked 30914 -(30914) found -[7609] Forked 30915 -(30915) found -[7608] Forked 30916 -(30916) found -[7607] Forked 30917 -(30917) found -[7606] Forked 30918 -(30918) found -[7605] Forked 30919 -(30919) found -[7604] Forked 30920 -(30920) found -[7603] Forked 30921 -(30921) found -[7602] Forked 30922 -(30922) found -[7601] Forked 30923 -(30923) found -[7600] Forked 30924 -[7599] Forked 30925 -(30924) found -(30925) found -[7598] Forked 30926 -[7597] Forked 30927 -(30926) found -(30927) found -[7596] Forked 30928 -[7595] Forked 30929 -(30928) found -(30929) found -[7594] Forked 30930 -[7593] Forked 30931 -(30930) found -(30931) found -[7592] Forked 30932 -[7591] Forked 30933 -(30932) found -(30933) found -[7590] Forked 30934 -[7589] Forked 30935 -(30934) found -(30935) found -[7588] Forked 30936 -[7587] Forked 30937 -(30936) found -(30937) found -[7586] Forked 30938 -[7585] Forked 30939 -(30938) found -(30939) found -[7584] Forked 30940 -[7583] Forked 30941 -(30940) found -(30941) found -[7582] Forked 30942 -[7581] Forked 30943 -(30942) found -(30943) found -[7580] Forked 30944 -[7579] Forked 30945 -(30944) found -(30945) found -[7578] Forked 30946 -[7577] Forked 30947 -(30946) found -(30947) found -[7576] Forked 30948 -[7575] Forked 30949 -(30948) found -(30949) found -[7574] Forked 30950 -[7573] Forked 30951 -(30950) found -(30951) found -[7572] Forked 30952 -[7571] Forked 30953 -(30952) found -(30953) found -[7570] Forked 30954 -[7569] Forked 30955 -(30954) found -(30955) found -[7568] Forked 30956 -[7567] Forked 30957 -(30956) found -(30957) found -[7566] Forked 30958 -[7565] Forked 30959 -(30958) found -(30959) found -[7564] Forked 30960 -[7563] Forked 30961 -(30960) found -(30961) found -[7562] Forked 30962 -(30962) found -[7561] Forked 30963 -[7560] Forked 30964 -(30963) found -(30964) found -[7559] Forked 30965 -[7558] Forked 30966 -(30965) found -(30966) found -[7557] Forked 30967 -(30967) found -[7556] Forked 30968 -(30968) found -[7555] Forked 30969 -(30969) found -[7554] Forked 30970 -(30970) found -[7553] Forked 30971 -(30971) found -[7552] Forked 30972 -(30972) found -[7551] Forked 30973 -(30973) found -[7550] Forked 30974 -(30974) found -[7549] Forked 30975 -(30975) found -[7548] Forked 30976 -(30976) found -[7547] Forked 30977 -(30977) found -[7546] Forked 30978 -(30978) found -[7545] Forked 30979 -(30979) found -[7544] Forked 30980 -(30980) found -[7543] Forked 30981 -(30981) found -[7542] Forked 30982 -(30982) found -[7541] Forked 30983 -(30983) found -[7540] Forked 30984 -(30984) found -[7539] Forked 30985 -(30985) found -[7538] Forked 30986 -(30986) found -[7537] Forked 30987 -(30987) found -[7536] Forked 30988 -(30988) found -[7535] Forked 30989 -(30989) found -[7534] Forked 30990 -(30990) found -[7533] Forked 30991 -(30991) found -[7532] Forked 30992 -(30992) found -[7531] Forked 30993 -(30993) found -[7530] Forked 30994 -(30994) found -[7529] Forked 30995 -(30995) found -[7528] Forked 30996 -(30996) found -[7527] Forked 30997 -(30997) found -[7526] Forked 30998 -(30998) found -[7525] Forked 30999 -(30999) found -[7524] Forked 31000 -(31000) found -[7523] Forked 31001 -(31001) found -[7522] Forked 31002 -(31002) found -[7521] Forked 31003 -(31003) found -[7520] Forked 31004 -[7519] Forked 31005 -(31004) found -(31005) found -[7518] Forked 31006 -[7517] Forked 31007 -(31006) found -(31007) found -[7516] Forked 31008 -[7515] Forked 31009 -(31008) found -(31009) found -[7514] Forked 31010 -[7513] Forked 31011 -(31010) found -(31011) found -[7512] Forked 31012 -[7511] Forked 31013 -(31012) found -(31013) found -[7510] Forked 31014 -[7509] Forked 31015 -(31014) found -(31015) found -[7508] Forked 31016 -[7507] Forked 31017 -(31016) found -(31017) found -[7506] Forked 31018 -[7505] Forked 31019 -(31018) found -(31019) found -[7504] Forked 31020 -[7503] Forked 31021 -(31020) found -(31021) found -[7502] Forked 31022 -[7501] Forked 31023 -(31022) found -(31023) found -[7500] Forked 31024 -[7499] Forked 31025 -(31024) found -(31025) found -[7498] Forked 31026 -[7497] Forked 31027 -(31026) found -(31027) found -[7496] Forked 31028 -[7495] Forked 31029 -(31028) found -(31029) found -[7494] Forked 31030 -[7493] Forked 31031 -(31030) found -(31031) found -[7492] Forked 31032 -[7491] Forked 31033 -(31032) found -(31033) found -[7490] Forked 31034 -[7489] Forked 31035 -(31034) found -(31035) found -[7488] Forked 31036 -[7487] Forked 31037 -(31036) found -(31037) found -[7486] Forked 31038 -[7485] Forked 31039 -(31038) found -(31039) found -[7484] Forked 31040 -[7483] Forked 31041 -(31040) found -(31041) found -[7482] Forked 31042 -[7481] Forked 31043 -(31042) found -(31043) found -[7480] Forked 31044 -[7479] Forked 31045 -(31044) found -(31045) found -[7478] Forked 31046 -[7477] Forked 31047 -(31046) found -(31047) found -[7476] Forked 31048 -(31048) found -[7475] Forked 31049 -(31049) found -[7474] Forked 31050 -(31050) found -[7473] Forked 31051 -(31051) found -[7472] Forked 31052 -(31052) found -[7471] Forked 31053 -(31053) found -[7470] Forked 31054 -(31054) found -[7469] Forked 31055 -(31055) found -[7468] Forked 31056 -(31056) found -[7467] Forked 31057 -(31057) found -[7466] Forked 31058 -(31058) found -[7465] Forked 31059 -(31059) found -[7464] Forked 31060 -(31060) found -[7463] Forked 31061 -(31061) found -[7462] Forked 31062 -(31062) found -[7461] Forked 31064 -(31064) found -[7460] Forked 31065 -(31065) found -[7459] Forked 31066 -(31066) found -[7458] Forked 31067 -(31067) found -[7457] Forked 31068 -(31068) found -[7456] Forked 31069 -(31069) found -[7455] Forked 31070 -(31070) found -[7454] Forked 31071 -(31071) found -[7453] Forked 31072 -(31072) found -[7452] Forked 31073 -(31073) found -[7451] Forked 31074 -(31074) found -[7450] Forked 31075 -(31075) found -[7449] Forked 31076 -(31076) found -[7448] Forked 31077 -(31077) found -[7447] Forked 31078 -(31078) found -[7446] Forked 31079 -(31079) found -[7445] Forked 31080 -(31080) found -[7444] Forked 31081 -(31081) found -[7443] Forked 31082 -(31082) found -[7442] Forked 31083 -(31083) found -[7441] Forked 31084 -(31084) found -[7440] Forked 31085 -(31085) found -[7439] Forked 31086 -[7438] Forked 31087 -(31086) found -(31087) found -[7437] Forked 31088 -[7436] Forked 31089 -(31088) found -(31089) found -[7435] Forked 31090 -[7434] Forked 31091 -(31090) found -(31091) found -[7433] Forked 31092 -[7432] Forked 31093 -(31092) found -(31093) found -[7431] Forked 31094 -[7430] Forked 31095 -(31094) found -(31095) found -[7429] Forked 31096 -[7428] Forked 31097 -(31096) found -(31097) found -[7427] Forked 31098 -[7426] Forked 31099 -(31098) found -(31099) found -[7425] Forked 31100 -[7424] Forked 31101 -(31100) found -(31101) found -[7423] Forked 31102 -[7422] Forked 31103 -(31102) found -(31103) found -[7421] Forked 31104 -[7420] Forked 31105 -(31104) found -(31105) found -[7419] Forked 31106 -[7418] Forked 31107 -(31106) found -(31107) found -[7417] Forked 31108 -[7416] Forked 31109 -(31108) found -(31109) found -[7415] Forked 31110 -[7414] Forked 31111 -(31110) found -(31111) found -[7413] Forked 31112 -[7412] Forked 31113 -(31112) found -(31113) found -[7411] Forked 31114 -[7410] Forked 31115 -(31114) found -(31115) found -[7409] Forked 31116 -[7408] Forked 31117 -(31116) found -(31117) found -[7407] Forked 31118 -[7406] Forked 31119 -(31118) found -(31119) found -[7405] Forked 31120 -[7404] Forked 31121 -(31120) found -(31121) found -[7403] Forked 31122 -[7402] Forked 31123 -(31122) found -(31123) found -[7401] Forked 31124 -[7400] Forked 31125 -(31124) found -(31125) found -[7399] Forked 31126 -[7398] Forked 31127 -(31126) found -(31127) found -[7397] Forked 31128 -[7396] Forked 31129 -(31128) found -(31129) found -[7395] Forked 31130 -(31130) found -[7394] Forked 31131 -(31131) found -[7393] Forked 31132 -(31132) found -[7392] Forked 31133 -(31133) found -[7391] Forked 31134 -(31134) found -[7390] Forked 31135 -(31135) found -[7389] Forked 31136 -(31136) found -[7388] Forked 31137 -(31137) found -[7387] Forked 31138 -(31138) found -[7386] Forked 31139 -(31139) found -[7385] Forked 31140 -(31140) found -[7384] Forked 31141 -(31141) found -[7383] Forked 31142 -(31142) found -[7382] Forked 31143 -(31143) found -[7381] Forked 31144 -(31144) found -[7380] Forked 31145 -(31145) found -[7379] Forked 31146 -(31146) found -[7378] Forked 31147 -(31147) found -[7377] Forked 31148 -(31148) found -[7376] Forked 31149 -(31149) found -[7375] Forked 31150 -(31150) found -[7374] Forked 31151 -(31151) found -[7373] Forked 31152 -(31152) found -[7372] Forked 31153 -(31153) found -[7371] Forked 31154 -(31154) found -[7370] Forked 31155 -(31155) found -[7369] Forked 31156 -(31156) found -[7368] Forked 31157 -(31157) found -[7367] Forked 31158 -(31158) found -[7366] Forked 31159 -(31159) found -[7365] Forked 31160 -(31160) found -[7364] Forked 31161 -(31161) found -[7363] Forked 31162 -(31162) found -[7362] Forked 31163 -(31163) found -[7361] Forked 31164 -[7360] Forked 31165 -(31164) found -(31165) found -[7359] Forked 31166 -[7358] Forked 31167 -(31166) found -(31167) found -[7357] Forked 31168 -[7356] Forked 31169 -(31168) found -(31169) found -[7355] Forked 31170 -[7354] Forked 31171 -(31170) found -(31171) found -[7353] Forked 31172 -[7352] Forked 31173 -(31172) found -(31173) found -[7351] Forked 31174 -[7350] Forked 31175 -(31174) found -(31175) found -[7349] Forked 31176 -[7348] Forked 31177 -(31176) found -(31177) found -[7347] Forked 31178 -[7346] Forked 31179 -(31178) found -(31179) found -[7345] Forked 31180 -[7344] Forked 31181 -(31180) found -(31181) found -[7343] Forked 31182 -[7342] Forked 31183 -(31182) found -(31183) found -[7341] Forked 31184 -[7340] Forked 31185 -(31184) found -(31185) found -[7339] Forked 31186 -[7338] Forked 31187 -(31186) found -(31187) found -[7337] Forked 31188 -[7336] Forked 31189 -(31188) found -(31189) found -[7335] Forked 31190 -[7334] Forked 31191 -(31190) found -(31191) found -[7333] Forked 31192 -[7332] Forked 31193 -(31192) found -(31193) found -[7331] Forked 31194 -[7330] Forked 31195 -(31194) found -(31195) found -[7329] Forked 31196 -[7328] Forked 31197 -(31196) found -(31197) found -[7327] Forked 31198 -[7326] Forked 31199 -(31198) found -(31199) found -[7325] Forked 31200 -[7324] Forked 31201 -(31200) found -(31201) found -[7323] Forked 31202 -[7322] Forked 31203 -(31202) found -(31203) found -[7321] Forked 31204 -[7320] Forked 31205 -(31204) found -(31205) found -[7319] Forked 31206 -[7318] Forked 31207 -(31206) found -(31207) found -[7317] Forked 31208 -[7316] Forked 31209 -(31208) found -(31209) found -[7315] Forked 31210 -(31210) found -[7314] Forked 31211 -(31211) found -[7313] Forked 31212 -(31212) found -[7312] Forked 31213 -(31213) found -[7311] Forked 31214 -(31214) found -[7310] Forked 31215 -(31215) found -[7309] Forked 31216 -(31216) found -[7308] Forked 31217 -(31217) found -[7307] Forked 31218 -(31218) found -[7306] Forked 31219 -(31219) found -[7305] Forked 31220 -(31220) found -[7304] Forked 31221 -(31221) found -[7303] Forked 31222 -(31222) found -[7302] Forked 31223 -(31223) found -[7301] Forked 31224 -(31224) found -[7300] Forked 31225 -(31225) found -[7299] Forked 31226 -(31226) found -[7298] Forked 31227 -(31227) found -[7297] Forked 31228 -(31228) found -[7296] Forked 31229 -(31229) found -[7295] Forked 31230 -(31230) found -[7294] Forked 31231 -(31231) found -[7293] Forked 31232 -(31232) found -[7292] Forked 31233 -(31233) found -[7291] Forked 31234 -(31234) found -[7290] Forked 31235 -(31235) found -[7289] Forked 31236 -(31236) found -[7288] Forked 31237 -(31237) found -[7287] Forked 31238 -(31238) found -[7286] Forked 31239 -(31239) found -[7285] Forked 31240 -[7284] Forked 31241 -(31240) found -(31241) found -[7283] Forked 31242 -[7282] Forked 31243 -(31242) found -(31243) found -[7281] Forked 31244 -[7280] Forked 31245 -(31244) found -(31245) found -[7279] Forked 31246 -[7278] Forked 31247 -(31246) found -(31247) found -[7277] Forked 31248 -[7276] Forked 31249 -(31248) found -(31249) found -[7275] Forked 31250 -[7274] Forked 31251 -(31250) found -(31251) found -[7273] Forked 31252 -[7272] Forked 31253 -(31252) found -(31253) found -[7271] Forked 31254 -[7270] Forked 31255 -(31254) found -(31255) found -[7269] Forked 31256 -[7268] Forked 31257 -(31256) found -(31257) found -[7267] Forked 31258 -[7266] Forked 31259 -(31258) found -(31259) found -[7265] Forked 31260 -[7264] Forked 31261 -(31260) found -(31261) found -[7263] Forked 31262 -[7262] Forked 31263 -(31262) found -(31263) found -[7261] Forked 31264 -[7260] Forked 31265 -(31264) found -(31265) found -[7259] Forked 31266 -[7258] Forked 31267 -(31266) found -(31267) found -[7257] Forked 31268 -[7256] Forked 31269 -(31268) found -(31269) found -[7255] Forked 31270 -[7254] Forked 31271 -(31270) found -(31271) found -[7253] Forked 31272 -[7252] Forked 31273 -(31272) found -(31273) found -[7251] Forked 31274 -[7250] Forked 31275 -(31274) found -(31275) found -[7249] Forked 31276 -[7248] Forked 31277 -(31276) found -(31277) found -[7247] Forked 31278 -[7246] Forked 31279 -(31278) found -(31279) found -[7245] Forked 31280 -[7244] Forked 31281 -(31280) found -(31281) found -[7243] Forked 31282 -[7242] Forked 31283 -(31282) found -(31283) found -[7241] Forked 31284 -[7240] Forked 31285 -(31285) found -(31284) found -[7239] Forked 31286 -(31286) found -[7238] Forked 31287 -(31287) found -[7237] Forked 31288 -(31288) found -[7236] Forked 31289 -(31289) found -[7235] Forked 31290 -(31290) found -[7234] Forked 31291 -(31291) found -[7233] Forked 31292 -(31292) found -[7232] Forked 31293 -(31293) found -[7231] Forked 31294 -(31294) found -[7230] Forked 31295 -(31295) found -[7229] Forked 31296 -(31296) found -[7228] Forked 31297 -(31297) found -[7227] Forked 31298 -(31298) found -[7226] Forked 31299 -(31299) found -[7225] Forked 31300 -(31300) found -[7224] Forked 31301 -(31301) found -[7223] Forked 31302 -(31302) found -[7222] Forked 31303 -(31303) found -[7221] Forked 31304 -(31304) found -[7220] Forked 31305 -(31305) found -[7219] Forked 31306 -(31306) found -[7218] Forked 31307 -(31307) found -[7217] Forked 31308 -(31308) found -[7216] Forked 31309 -(31309) found -[7215] Forked 31310 -(31310) found -[7214] Forked 31311 -(31311) found -[7213] Forked 31312 -(31312) found -[7212] Forked 31313 -(31313) found -[7211] Forked 31314 -(31314) found -[7210] Forked 31315 -(31315) found -[7209] Forked 31316 -(31316) found -[7208] Forked 31317 -(31317) found -[7207] Forked 31318 -(31318) found -[7206] Forked 31319 -(31319) found -[7205] Forked 31320 -[7204] Forked 31321 -(31320) found -(31321) found -[7203] Forked 31322 -[7202] Forked 31323 -(31323) found -(31322) found -[7201] Forked 31324 -(31324) found -[7200] Forked 31325 -(31325) found -[7199] Forked 31326 -(31326) found -[7198] Forked 31327 -(31327) found -[7197] Forked 31328 -(31328) found -[7196] Forked 31329 -(31329) found -[7195] Forked 31330 -(31330) found -[7194] Forked 31331 -(31331) found -[7193] Forked 31332 -(31332) found -[7192] Forked 31333 -(31333) found -[7191] Forked 31334 -(31334) found -[7190] Forked 31335 -(31335) found -[7189] Forked 31336 -(31336) found -[7188] Forked 31337 -(31337) found -[7187] Forked 31338 -(31338) found -[7186] Forked 31339 -(31339) found -[7185] Forked 31340 -(31340) found -[7184] Forked 31341 -(31341) found -[7183] Forked 31342 -(31342) found -[7182] Forked 31343 -(31343) found -[7181] Forked 31344 -(31344) found -[7180] Forked 31345 -(31345) found -[7179] Forked 31346 -(31346) found -[7178] Forked 31347 -(31347) found -[7177] Forked 31348 -(31348) found -[7176] Forked 31349 -(31349) found -[7175] Forked 31350 -(31350) found -[7174] Forked 31351 -(31351) found -[7173] Forked 31352 -(31352) found -[7172] Forked 31353 -(31353) found -[7171] Forked 31354 -(31354) found -[7170] Forked 31355 -(31355) found -[7169] Forked 31356 -(31356) found -[7168] Forked 31357 -(31357) found -[7167] Forked 31358 -(31358) found -[7166] Forked 31359 -(31359) found -[7165] Forked 31360 -(31360) found -[7164] Forked 31361 -(31361) found -[7163] Forked 31362 -(31362) found -[7162] Forked 31363 -(31363) found -[7161] Forked 31364 -(31364) found -[7160] Forked 31365 -(31365) found -[7159] Forked 31366 -(31366) found -[7158] Forked 31367 -(31367) found -[7157] Forked 31368 -(31368) found -[7156] Forked 31369 -(31369) found -[7155] Forked 31370 -(31370) found -[7154] Forked 31371 -(31371) found -[7153] Forked 31372 -(31372) found -[7152] Forked 31373 -(31373) found -[7151] Forked 31374 -(31374) found -[7150] Forked 31375 -(31375) found -[7149] Forked 31376 -(31376) found -[7148] Forked 31377 -(31377) found -[7147] Forked 31378 -(31378) found -[7146] Forked 31379 -(31379) found -[7145] Forked 31380 -(31380) found -[7144] Forked 31381 -(31381) found -[7143] Forked 31382 -(31382) found -[7142] Forked 31383 -(31383) found -[7141] Forked 31384 -(31384) found -[7140] Forked 31385 -(31385) found -[7139] Forked 31386 -(31386) found -[7138] Forked 31387 -(31387) found -[7137] Forked 31388 -(31388) found -[7136] Forked 31389 -(31389) found -[7135] Forked 31390 -(31390) found -[7134] Forked 31391 -(31391) found -[7133] Forked 31392 -(31392) found -[7132] Forked 31393 -(31393) found -[7131] Forked 31394 -(31394) found -[7130] Forked 31395 -(31395) found -[7129] Forked 31396 -(31396) found -[7128] Forked 31397 -(31397) found -[7127] Forked 31398 -(31398) found -[7126] Forked 31399 -(31399) found -[7125] Forked 31400 -(31400) found -[7124] Forked 31401 -(31401) found -[7123] Forked 31402 -(31402) found -[7122] Forked 31403 -(31403) found -[7121] Forked 31404 -(31404) found -[7120] Forked 31405 -(31405) found -[7119] Forked 31406 -(31406) found -[7118] Forked 31407 -(31407) found -[7117] Forked 31408 -(31408) found -[7116] Forked 31409 -(31409) found -[7115] Forked 31410 -(31410) found -[7114] Forked 31411 -(31411) found -[7113] Forked 31412 -(31412) found -[7112] Forked 31413 -(31413) found -[7111] Forked 31414 -(31414) found -[7110] Forked 31415 -(31415) found -[7109] Forked 31416 -(31416) found -[7108] Forked 31417 -(31417) found -[7107] Forked 31418 -(31418) found -[7106] Forked 31419 -(31419) found -[7105] Forked 31420 -(31420) found -[7104] Forked 31421 -(31421) found -[7103] Forked 31422 -(31422) found -[7102] Forked 31423 -(31423) found -[7101] Forked 31424 -(31424) found -[7100] Forked 31425 -(31425) found -[7099] Forked 31426 -[7098] Forked 31427 -(31426) found -(31427) found -[7097] Forked 31428 -[7096] Forked 31429 -(31428) found -(31429) found -[7095] Forked 31430 -[7094] Forked 31431 -(31430) found -(31431) found -[7093] Forked 31432 -[7092] Forked 31433 -(31432) found -(31433) found -[7091] Forked 31434 -[7090] Forked 31435 -(31434) found -(31435) found -[7089] Forked 31436 -[7088] Forked 31437 -(31436) found -(31437) found -[7087] Forked 31438 -[7086] Forked 31439 -(31438) found -(31439) found -[7085] Forked 31440 -[7084] Forked 31441 -(31440) found -(31441) found -[7083] Forked 31442 -[7082] Forked 31443 -(31442) found -(31443) found -[7081] Forked 31444 -[7080] Forked 31445 -(31444) found -(31445) found -[7079] Forked 31446 -[7078] Forked 31447 -(31446) found -(31447) found -[7077] Forked 31448 -[7076] Forked 31449 -(31448) found -(31449) found -[7075] Forked 31450 -[7074] Forked 31451 -(31450) found -(31451) found -[7073] Forked 31452 -[7072] Forked 31453 -(31452) found -(31453) found -[7071] Forked 31454 -[7070] Forked 31455 -(31454) found -(31455) found -[7069] Forked 31456 -[7068] Forked 31457 -(31456) found -(31457) found -[7067] Forked 31458 -[7066] Forked 31459 -(31458) found -(31459) found -[7065] Forked 31460 -[7064] Forked 31461 -(31460) found -(31461) found -[7063] Forked 31462 -[7062] Forked 31463 -(31462) found -(31463) found -[7061] Forked 31464 -[7060] Forked 31465 -(31464) found -(31465) found -[7059] Forked 31466 -[7058] Forked 31467 -(31466) found -(31467) found -[7057] Forked 31468 -[7056] Forked 31469 -(31468) found -(31469) found -[7055] Forked 31470 -[7054] Forked 31471 -(31470) found -(31471) found -[7053] Forked 31472 -[7052] Forked 31473 -(31472) found -(31473) found -[7051] Forked 31474 -[7050] Forked 31475 -(31474) found -(31475) found -[7049] Forked 31476 -[7048] Forked 31477 -(31476) found -(31477) found -[7047] Forked 31478 -[7046] Forked 31479 -(31478) found -(31479) found -[7045] Forked 31480 -[7044] Forked 31481 -(31480) found -(31481) found -[7043] Forked 31482 -[7042] Forked 31483 -(31482) found -(31483) found -[7041] Forked 31484 -[7040] Forked 31485 -(31484) found -(31485) found -[7039] Forked 31486 -[7038] Forked 31487 -(31486) found -(31487) found -[7037] Forked 31488 -[7036] Forked 31489 -(31488) found -(31489) found -[7035] Forked 31490 -[7034] Forked 31491 -(31490) found -(31491) found -[7033] Forked 31492 -[7032] Forked 31493 -(31492) found -(31493) found -[7031] Forked 31494 -[7030] Forked 31495 -(31494) found -(31495) found -[7029] Forked 31496 -[7028] Forked 31497 -(31496) found -(31497) found -[7027] Forked 31498 -[7026] Forked 31499 -(31498) found -(31499) found -[7025] Forked 31500 -[7024] Forked 31501 -(31500) found -(31501) found -[7023] Forked 31502 -[7022] Forked 31503 -(31502) found -(31503) found -[7021] Forked 31504 -[7020] Forked 31505 -(31504) found -(31505) found -[7019] Forked 31506 -[7018] Forked 31507 -(31506) found -(31507) found -[7017] Forked 31508 -[7016] Forked 31509 -(31508) found -(31509) found -[7015] Forked 31510 -[7014] Forked 31511 -(31510) found -(31511) found -[7013] Forked 31512 -[7012] Forked 31513 -(31512) found -(31513) found -[7011] Forked 31514 -[7010] Forked 31515 -(31514) found -(31515) found -[7009] Forked 31516 -[7008] Forked 31517 -(31516) found -(31517) found -[7007] Forked 31518 -[7006] Forked 31519 -(31518) found -(31519) found -[7005] Forked 31520 -[7004] Forked 31521 -(31520) found -(31521) found -[7003] Forked 31522 -[7002] Forked 31523 -(31522) found -(31523) found -[7001] Forked 31524 -[7000] Forked 31525 -(31524) found -(31525) found -[6999] Forked 31526 -[6998] Forked 31527 -(31526) found -(31527) found -[6997] Forked 31528 -[6996] Forked 31529 -(31528) found -(31529) found -[6995] Forked 31530 -[6994] Forked 31531 -(31530) found -(31531) found -[6993] Forked 31532 -[6992] Forked 31533 -(31532) found -(31533) found -[6991] Forked 31534 -[6990] Forked 31535 -(31534) found -(31535) found -[6989] Forked 31536 -[6988] Forked 31537 -(31536) found -(31537) found -[6987] Forked 31538 -[6986] Forked 31539 -(31538) found -(31539) found -[6985] Forked 31540 -[6984] Forked 31541 -(31540) found -(31541) found -[6983] Forked 31542 -[6982] Forked 31543 -(31542) found -(31543) found -[6981] Forked 31544 -[6980] Forked 31545 -(31544) found -(31545) found -[6979] Forked 31546 -[6978] Forked 31547 -(31546) found -(31547) found -[6977] Forked 31548 -[6976] Forked 31549 -(31548) found -(31549) found -[6975] Forked 31550 -[6974] Forked 31551 -(31550) found -(31551) found -[6973] Forked 31552 -[6972] Forked 31553 -(31552) found -(31553) found -[6971] Forked 31554 -[6970] Forked 31555 -(31554) found -(31555) found -[6969] Forked 31556 -[6968] Forked 31557 -(31556) found -(31557) found -[6967] Forked 31558 -[6966] Forked 31559 -(31558) found -(31559) found -[6965] Forked 31560 -[6964] Forked 31561 -(31560) found -(31561) found -[6963] Forked 31562 -[6962] Forked 31563 -(31562) found -(31563) found -[6961] Forked 31564 -[6960] Forked 31565 -(31564) found -(31565) found -[6959] Forked 31566 -[6958] Forked 31567 -(31566) found -(31567) found -[6957] Forked 31568 -[6956] Forked 31569 -(31568) found -(31569) found -[6955] Forked 31570 -[6954] Forked 31571 -(31570) found -(31571) found -[6953] Forked 31572 -[6952] Forked 31573 -(31572) found -(31573) found -[6951] Forked 31574 -[6950] Forked 31575 -(31574) found -(31575) found -[6949] Forked 31576 -[6948] Forked 31577 -(31576) found -(31577) found -[6947] Forked 31578 -[6946] Forked 31579 -(31578) found -(31579) found -[6945] Forked 31580 -[6944] Forked 31581 -(31580) found -(31581) found -[6943] Forked 31582 -[6942] Forked 31583 -(31582) found -(31583) found -[6941] Forked 31584 -[6940] Forked 31585 -(31584) found -(31585) found -[6939] Forked 31586 -[6938] Forked 31587 -(31586) found -(31587) found -[6937] Forked 31588 -[6936] Forked 31589 -(31588) found -(31589) found -[6935] Forked 31590 -[6934] Forked 31591 -(31590) found -(31591) found -[6933] Forked 31592 -[6932] Forked 31593 -(31592) found -(31593) found -[6931] Forked 31594 -[6930] Forked 31595 -(31594) found -(31595) found -[6929] Forked 31596 -[6928] Forked 31597 -(31596) found -(31597) found -[6927] Forked 31598 -[6926] Forked 31599 -(31598) found -(31599) found -[6925] Forked 31600 -[6924] Forked 31601 -(31600) found -(31601) found -[6923] Forked 31602 -[6922] Forked 31603 -(31602) found -(31603) found -[6921] Forked 31604 -[6920] Forked 31605 -(31604) found -(31605) found -[6919] Forked 31606 -[6918] Forked 31607 -(31606) found -(31607) found -[6917] Forked 31608 -[6916] Forked 31609 -(31608) found -(31609) found -[6915] Forked 31610 -(31610) found -[6914] Forked 31611 -(31611) found -[6913] Forked 31612 -(31612) found -[6912] Forked 31613 -(31613) found -[6911] Forked 31614 -(31614) found -[6910] Forked 31615 -[6909] Forked 31616 -(31615) found -(31616) found -[6908] Forked 31617 -[6907] Forked 31618 -(31617) found -(31618) found -[6906] Forked 31619 -[6905] Forked 31620 -(31619) found -(31620) found -[6904] Forked 31621 -[6903] Forked 31622 -(31621) found -(31622) found -[6902] Forked 31623 -[6901] Forked 31624 -(31623) found -(31624) found -[6900] Forked 31625 -[6899] Forked 31626 -(31625) found -(31626) found -[6898] Forked 31627 -[6897] Forked 31628 -(31627) found -(31628) found -[6896] Forked 31629 -[6895] Forked 31630 -(31629) found -(31630) found -[6894] Forked 31631 -[6893] Forked 31632 -(31631) found -(31632) found -[6892] Forked 31633 -[6891] Forked 31634 -(31633) found -(31634) found -[6890] Forked 31635 -[6889] Forked 31636 -(31635) found -(31636) found -[6888] Forked 31637 -[6887] Forked 31638 -(31637) found -(31638) found -[6886] Forked 31639 -[6885] Forked 31640 -(31639) found -(31640) found -[6884] Forked 31641 -[6883] Forked 31642 -(31641) found -(31642) found -[6882] Forked 31643 -[6881] Forked 31644 -(31643) found -(31644) found -[6880] Forked 31645 -[6879] Forked 31646 -(31645) found -(31646) found -[6878] Forked 31647 -[6877] Forked 31648 -(31647) found -(31648) found -[6876] Forked 31649 -[6875] Forked 31650 -(31649) found -(31650) found -[6874] Forked 31651 -[6873] Forked 31652 -(31651) found -(31652) found -[6872] Forked 31653 -[6871] Forked 31654 -(31653) found -(31654) found -[6870] Forked 31655 -[6869] Forked 31656 -(31655) found -(31656) found -[6868] Forked 31657 -[6867] Forked 31658 -(31657) found -(31658) found -[6866] Forked 31659 -[6865] Forked 31660 -(31659) found -(31660) found -[6864] Forked 31661 -[6863] Forked 31662 -(31661) found -(31662) found -[6862] Forked 31663 -[6861] Forked 31664 -(31663) found -(31664) found -[6860] Forked 31665 -[6859] Forked 31666 -(31665) found -(31666) found -[6858] Forked 31667 -[6857] Forked 31668 -(31667) found -(31668) found -[6856] Forked 31669 -[6855] Forked 31670 -(31669) found -(31670) found -[6854] Forked 31671 -[6853] Forked 31672 -(31671) found -(31672) found -[6852] Forked 31673 -[6851] Forked 31674 -(31673) found -(31674) found -[6850] Forked 31675 -[6849] Forked 31676 -(31675) found -(31676) found -[6848] Forked 31677 -[6847] Forked 31678 -(31677) found -(31678) found -[6846] Forked 31679 -[6845] Forked 31680 -(31679) found -(31680) found -[6844] Forked 31681 -[6843] Forked 31682 -(31681) found -(31682) found -[6842] Forked 31683 -[6841] Forked 31684 -(31683) found -(31684) found -[6840] Forked 31685 -[6839] Forked 31686 -(31685) found -(31686) found -[6838] Forked 31687 -[6837] Forked 31688 -(31687) found -(31688) found -[6836] Forked 31689 -[6835] Forked 31690 -(31689) found -(31690) found -[6834] Forked 31691 -[6833] Forked 31692 -(31691) found -(31692) found -[6832] Forked 31693 -[6831] Forked 31694 -(31693) found -(31694) found -[6830] Forked 31695 -[6829] Forked 31696 -(31695) found -(31696) found -[6828] Forked 31697 -[6827] Forked 31698 -(31697) found -(31698) found -[6826] Forked 31699 -[6825] Forked 31700 -(31699) found -(31700) found -[6824] Forked 31701 -[6823] Forked 31702 -(31701) found -(31702) found -[6822] Forked 31703 -[6821] Forked 31704 -(31703) found -(31704) found -[6820] Forked 31705 -[6819] Forked 31706 -(31706) found -(31705) found -[6818] Forked 31707 -(31707) found -[6817] Forked 31708 -(31708) found -[6816] Forked 31709 -(31709) found -[6815] Forked 31710 -(31710) found -[6814] Forked 31711 -(31711) found -[6813] Forked 31712 -(31712) found -[6812] Forked 31713 -(31713) found -[6811] Forked 31714 -(31714) found -[6810] Forked 31715 -(31715) found -[6809] Forked 31716 -(31716) found -[6808] Forked 31717 -(31717) found -[6807] Forked 31718 -(31718) found -[6806] Forked 31719 -(31719) found -[6805] Forked 31720 -(31720) found -[6804] Forked 31721 -(31721) found -[6803] Forked 31722 -(31722) found -[6802] Forked 31723 -(31723) found -[6801] Forked 31724 -(31724) found -[6800] Forked 31725 -(31725) found -[6799] Forked 31726 -(31726) found -[6798] Forked 31727 -(31727) found -[6797] Forked 31728 -(31728) found -[6796] Forked 31729 -(31729) found -[6795] Forked 31730 -(31730) found -[6794] Forked 31731 -(31731) found -[6793] Forked 31732 -(31732) found -[6792] Forked 31733 -(31733) found -[6791] Forked 31734 -(31734) found -[6790] Forked 31735 -(31735) found -[6789] Forked 31736 -(31736) found -[6788] Forked 31737 -(31737) found -[6787] Forked 31738 -(31738) found -[6786] Forked 31739 -(31739) found -[6785] Forked 31740 -(31740) found -[6784] Forked 31741 -(31741) found -[6783] Forked 31742 -[6782] Forked 31743 -(31742) found -(31743) found -[6781] Forked 31744 -[6780] Forked 31745 -(31744) found -(31745) found -[6779] Forked 31746 -[6778] Forked 31747 -(31746) found -(31747) found -[6777] Forked 31748 -[6776] Forked 31749 -(31748) found -(31749) found -[6775] Forked 31750 -[6774] Forked 31751 -(31750) found -(31751) found -[6773] Forked 31752 -[6772] Forked 31753 -(31752) found -(31753) found -[6771] Forked 31754 -[6770] Forked 31755 -(31754) found -(31755) found -[6769] Forked 31756 -[6768] Forked 31757 -(31756) found -(31757) found -[6767] Forked 31758 -[6766] Forked 31759 -(31758) found -(31759) found -[6765] Forked 31760 -[6764] Forked 31761 -(31760) found -(31761) found -[6763] Forked 31762 -[6762] Forked 31763 -(31762) found -(31763) found -[6761] Forked 31764 -[6760] Forked 31765 -(31764) found -(31765) found -[6759] Forked 31766 -[6758] Forked 31767 -(31766) found -(31767) found -[6757] Forked 31768 -[6756] Forked 31769 -(31768) found -(31769) found -[6755] Forked 31770 -[6754] Forked 31771 -(31770) found -(31771) found -[6753] Forked 31772 -[6752] Forked 31773 -(31772) found -(31773) found -[6751] Forked 31774 -[6750] Forked 31775 -(31774) found -(31775) found -[6749] Forked 31776 -[6748] Forked 31777 -(31776) found -(31777) found -[6747] Forked 31778 -[6746] Forked 31779 -(31778) found -(31779) found -[6745] Forked 31780 -[6744] Forked 31781 -(31780) found -(31781) found -[6743] Forked 31782 -[6742] Forked 31783 -(31782) found -(31783) found -[6741] Forked 31784 -[6740] Forked 31785 -(31784) found -(31785) found -[6739] Forked 31786 -[6738] Forked 31787 -(31786) found -(31787) found -[6737] Forked 31788 -[6736] Forked 31789 -(31788) found -(31789) found -[6735] Forked 31790 -[6734] Forked 31791 -(31790) found -(31791) found -[6733] Forked 31792 -[6732] Forked 31793 -(31792) found -(31793) found -[6731] Forked 31794 -[6730] Forked 31795 -(31794) found -(31795) found -[6729] Forked 31796 -[6728] Forked 31797 -(31796) found -(31797) found -[6727] Forked 31798 -[6726] Forked 31799 -(31798) found -(31799) found -[6725] Forked 31800 -[6724] Forked 31801 -(31800) found -(31801) found -[6723] Forked 31802 -[6722] Forked 31803 -(31802) found -(31803) found -[6721] Forked 31804 -[6720] Forked 31805 -(31804) found -(31805) found -[6719] Forked 31806 -[6718] Forked 31807 -(31806) found -(31807) found -[6717] Forked 31808 -[6716] Forked 31809 -(31808) found -(31809) found -[6715] Forked 31810 -[6714] Forked 31811 -(31810) found -(31811) found -[6713] Forked 31812 -[6712] Forked 31813 -(31812) found -(31813) found -[6711] Forked 31814 -[6710] Forked 31815 -(31814) found -(31815) found -[6709] Forked 31816 -[6708] Forked 31817 -(31816) found -(31817) found -[6707] Forked 31818 -[6706] Forked 31819 -(31818) found -(31819) found -[6705] Forked 31820 -[6704] Forked 31821 -(31820) found -(31821) found -[6703] Forked 31822 -[6702] Forked 31823 -(31822) found -(31823) found -[6701] Forked 31824 -[6700] Forked 31825 -(31824) found -(31825) found -[6699] Forked 31826 -[6698] Forked 31827 -(31826) found -(31827) found -[6697] Forked 31828 -[6696] Forked 31829 -(31828) found -(31829) found -[6695] Forked 31830 -[6694] Forked 31831 -(31830) found -(31831) found -[6693] Forked 31832 -[6692] Forked 31833 -(31832) found -(31833) found -[6691] Forked 31834 -[6690] Forked 31835 -(31834) found -(31835) found -[6689] Forked 31836 -[6688] Forked 31837 -(31836) found -(31837) found -[6687] Forked 31838 -[6686] Forked 31839 -(31838) found -(31839) found -[6685] Forked 31840 -[6684] Forked 31842 -(31840) found -(31842) found -[6683] Forked 31843 -(31843) found -[6682] Forked 31844 -(31844) found -[6681] Forked 31845 -(31845) found -[6680] Forked 31846 -(31846) found -[6679] Forked 31847 -(31847) found -[6678] Forked 31848 -(31848) found -[6677] Forked 31849 -(31849) found -[6676] Forked 31850 -(31850) found -[6675] Forked 31851 -(31851) found -[6674] Forked 31852 -(31852) found -[6673] Forked 31853 -(31853) found -[6672] Forked 31854 -(31854) found -[6671] Forked 31855 -(31855) found -[6670] Forked 31856 -(31856) found -[6669] Forked 31857 -(31857) found -[6668] Forked 31858 -(31858) found -[6667] Forked 31859 -(31859) found -[6666] Forked 31860 -(31860) found -[6665] Forked 31861 -(31861) found -[6664] Forked 31862 -(31862) found -[6663] Forked 31863 -(31863) found -[6662] Forked 31864 -(31864) found -[6661] Forked 31865 -(31865) found -[6660] Forked 31866 -(31866) found -[6659] Forked 31867 -(31867) found -[6658] Forked 31868 -(31868) found -[6657] Forked 31869 -(31869) found -[6656] Forked 31870 -(31870) found -[6655] Forked 31871 -(31871) found -[6654] Forked 31872 -(31872) found -[6653] Forked 31873 -(31873) found -[6652] Forked 31874 -(31874) found -[6651] Forked 31875 -(31875) found -[6650] Forked 31876 -(31876) found -[6649] Forked 31877 -(31877) found -[6648] Forked 31878 -(31878) found -[6647] Forked 31879 -(31879) found -[6646] Forked 31880 -(31880) found -[6645] Forked 31881 -(31881) found -[6644] Forked 31882 -(31882) found -[6643] Forked 31883 -(31883) found -[6642] Forked 31884 -(31884) found -[6641] Forked 31885 -(31885) found -[6640] Forked 31886 -(31886) found -[6639] Forked 31887 -(31887) found -[6638] Forked 31888 -(31888) found -[6637] Forked 31889 -(31889) found -[6636] Forked 31890 -(31890) found -[6635] Forked 31891 -(31891) found -[6634] Forked 31892 -(31892) found -[6633] Forked 31893 -(31893) found -[6632] Forked 31894 -(31894) found -[6631] Forked 31895 -(31895) found -[6630] Forked 31896 -(31896) found -[6629] Forked 31897 -(31897) found -[6628] Forked 31898 -(31898) found -[6627] Forked 31899 -(31899) found -[6626] Forked 31900 -(31900) found -[6625] Forked 31901 -(31901) found -[6624] Forked 31902 -(31902) found -[6623] Forked 31903 -(31903) found -[6622] Forked 31904 -[6621] Forked 31905 -(31904) found -(31905) found -[6620] Forked 31906 -[6619] Forked 31907 -(31906) found -(31907) found -[6618] Forked 31908 -[6617] Forked 31909 -(31908) found -(31909) found -[6616] Forked 31910 -[6615] Forked 31911 -(31910) found -(31911) found -[6614] Forked 31912 -[6613] Forked 31913 -(31912) found -(31913) found -[6612] Forked 31914 -[6611] Forked 31915 -(31914) found -(31915) found -[6610] Forked 31916 -[6609] Forked 31917 -(31916) found -(31917) found -[6608] Forked 31918 -[6607] Forked 31919 -(31918) found -(31919) found -[6606] Forked 31920 -[6605] Forked 31921 -(31920) found -(31921) found -[6604] Forked 31922 -[6603] Forked 31923 -(31922) found -(31923) found -[6602] Forked 31924 -[6601] Forked 31925 -(31924) found -(31925) found -[6600] Forked 31926 -[6599] Forked 31927 -(31926) found -(31927) found -[6598] Forked 31928 -[6597] Forked 31929 -(31928) found -(31929) found -[6596] Forked 31930 -[6595] Forked 31931 -(31930) found -(31931) found -[6594] Forked 31932 -[6593] Forked 31933 -(31932) found -(31933) found -[6592] Forked 31934 -[6591] Forked 31935 -(31934) found -(31935) found -[6590] Forked 31936 -[6589] Forked 31937 -(31936) found -(31937) found -[6588] Forked 31938 -[6587] Forked 31939 -(31938) found -(31939) found -[6586] Forked 31940 -[6585] Forked 31941 -(31940) found -(31941) found -[6584] Forked 31942 -[6583] Forked 31943 -(31942) found -(31943) found -[6582] Forked 31944 -[6581] Forked 31945 -(31944) found -(31945) found -[6580] Forked 31946 -[6579] Forked 31947 -(31946) found -(31947) found -[6578] Forked 31948 -[6577] Forked 31949 -(31948) found -(31949) found -[6576] Forked 31950 -(31950) found -[6575] Forked 31951 -(31951) found -[6574] Forked 31952 -(31952) found -[6573] Forked 31953 -(31953) found -[6572] Forked 31954 -(31954) found -[6571] Forked 31955 -(31955) found -[6570] Forked 31956 -(31956) found -[6569] Forked 31957 -(31957) found -[6568] Forked 31958 -(31958) found -[6567] Forked 31959 -(31959) found -[6566] Forked 31960 -(31960) found -[6565] Forked 31961 -(31961) found -[6564] Forked 31962 -(31962) found -[6563] Forked 31963 -(31963) found -[6562] Forked 31964 -(31964) found -[6561] Forked 31965 -(31965) found -[6560] Forked 31966 -(31966) found -[6559] Forked 31967 -(31967) found -[6558] Forked 31968 -(31968) found -[6557] Forked 31969 -(31969) found -[6556] Forked 31970 -(31970) found -[6555] Forked 31971 -(31971) found -[6554] Forked 31972 -(31972) found -[6553] Forked 31973 -(31973) found -[6552] Forked 31974 -(31974) found -[6551] Forked 31975 -(31975) found -[6550] Forked 31976 -(31976) found -[6549] Forked 31977 -(31977) found -[6548] Forked 31978 -(31978) found -[6547] Forked 31979 -(31979) found -[6546] Forked 31980 -(31980) found -[6545] Forked 31981 -(31981) found -[6544] Forked 31982 -(31982) found -[6543] Forked 31983 -(31983) found -[6542] Forked 31984 -(31984) found -[6541] Forked 31985 -[6540] Forked 31986 -(31985) found -(31986) found -[6539] Forked 31987 -[6538] Forked 31988 -(31987) found -(31988) found -[6537] Forked 31989 -[6536] Forked 31990 -(31989) found -(31990) found -[6535] Forked 31991 -[6534] Forked 31992 -(31991) found -(31992) found -[6533] Forked 31993 -[6532] Forked 31994 -(31993) found -(31994) found -[6531] Forked 31995 -[6530] Forked 31996 -(31995) found -(31996) found -[6529] Forked 31997 -[6528] Forked 31998 -(31997) found -(31998) found -[6527] Forked 31999 -[6526] Forked 32000 -(31999) found -(32000) found -[6525] Forked 32001 -[6524] Forked 32002 -(32001) found -(32002) found -[6523] Forked 32003 -[6522] Forked 32004 -(32003) found -(32004) found -[6521] Forked 32005 -[6520] Forked 32006 -(32005) found -(32006) found -[6519] Forked 32007 -[6518] Forked 32008 -(32007) found -(32008) found -[6517] Forked 32009 -[6516] Forked 32010 -(32009) found -(32010) found -[6515] Forked 32011 -[6514] Forked 32012 -(32011) found -(32012) found -[6513] Forked 32013 -[6512] Forked 32014 -(32013) found -(32014) found -[6511] Forked 32015 -[6510] Forked 32016 -(32015) found -(32016) found -[6509] Forked 32017 -[6508] Forked 32018 -(32017) found -(32018) found -[6507] Forked 32019 -[6506] Forked 32020 -(32019) found -(32020) found -[6505] Forked 32021 -[6504] Forked 32022 -(32021) found -(32022) found -[6503] Forked 32023 -[6502] Forked 32024 -(32023) found -(32024) found -[6501] Forked 32025 -[6500] Forked 32026 -(32025) found -(32026) found -[6499] Forked 32027 -[6498] Forked 32028 -(32027) found -(32028) found -[6497] Forked 32029 -[6496] Forked 32030 -(32029) found -(32030) found -[6495] Forked 32031 -[6494] Forked 32032 -(32031) found -(32032) found -[6493] Forked 32033 -[6492] Forked 32034 -(32033) found -(32034) found -[6491] Forked 32035 -[6490] Forked 32036 -(32035) found -(32036) found -[6489] Forked 32037 -[6488] Forked 32038 -(32037) found -(32038) found -[6487] Forked 32039 -[6486] Forked 32040 -(32039) found -(32040) found -[6485] Forked 32041 -[6484] Forked 32042 -(32041) found -(32042) found -[6483] Forked 32043 -[6482] Forked 32044 -(32043) found -(32044) found -[6481] Forked 32045 -[6480] Forked 32046 -(32045) found -(32046) found -[6479] Forked 32047 -[6478] Forked 32048 -(32047) found -(32048) found -[6477] Forked 32049 -[6476] Forked 32050 -(32049) found -(32050) found -[6475] Forked 32051 -[6474] Forked 32052 -(32051) found -(32052) found -[6473] Forked 32053 -[6472] Forked 32054 -(32053) found -(32054) found -[6471] Forked 32055 -[6470] Forked 32056 -(32055) found -(32056) found -[6469] Forked 32057 -[6468] Forked 32058 -(32057) found -(32058) found -[6467] Forked 32059 -[6466] Forked 32060 -(32059) found -(32060) found -[6465] Forked 32061 -[6464] Forked 32062 -(32061) found -(32062) found -[6463] Forked 32063 -[6462] Forked 32064 -(32063) found -(32064) found -[6461] Forked 32065 -[6460] Forked 32066 -(32065) found -(32066) found -[6459] Forked 32067 -[6458] Forked 32068 -(32067) found -(32068) found -[6457] Forked 32069 -[6456] Forked 32070 -(32069) found -(32070) found -[6455] Forked 32071 -[6454] Forked 32072 -(32071) found -(32072) found -[6453] Forked 32073 -[6452] Forked 32074 -(32073) found -(32074) found -[6451] Forked 32075 -[6450] Forked 32076 -(32075) found -(32076) found -[6449] Forked 32077 -[6448] Forked 32078 -(32077) found -(32078) found -[6447] Forked 32079 -[6446] Forked 32080 -(32079) found -(32080) found -[6445] Forked 32081 -[6444] Forked 32082 -(32081) found -(32082) found -[6443] Forked 32083 -[6442] Forked 32084 -(32083) found -(32084) found -[6441] Forked 32085 -[6440] Forked 32086 -(32085) found -(32086) found -[6439] Forked 32087 -[6438] Forked 32088 -(32087) found -(32088) found -[6437] Forked 32089 -[6436] Forked 32090 -(32089) found -(32090) found -[6435] Forked 32091 -[6434] Forked 32092 -(32091) found -(32092) found -[6433] Forked 32093 -[6432] Forked 32094 -(32093) found -(32094) found -[6431] Forked 32095 -[6430] Forked 32096 -(32095) found -(32096) found -[6429] Forked 32097 -[6428] Forked 32098 -(32097) found -(32098) found -[6427] Forked 32099 -[6426] Forked 32100 -(32099) found -(32100) found -[6425] Forked 32101 -[6424] Forked 32102 -(32101) found -(32102) found -[6423] Forked 32103 -[6422] Forked 32104 -(32103) found -(32104) found -[6421] Forked 32105 -[6420] Forked 32106 -(32105) found -(32106) found -[6419] Forked 32107 -[6418] Forked 32108 -(32107) found -(32108) found -[6417] Forked 32109 -[6416] Forked 32110 -(32109) found -(32110) found -[6415] Forked 32111 -[6414] Forked 32112 -(32111) found -(32112) found -[6413] Forked 32113 -[6412] Forked 32115 -(32113) found -(32115) found -[6411] Forked 32116 -(32116) found -[6410] Forked 32117 -[6409] Forked 32118 -(32117) found -(32118) found -[6408] Forked 32119 -[6407] Forked 32120 -(32119) found -(32120) found -[6406] Forked 32121 -[6405] Forked 32122 -(32121) found -(32122) found -[6404] Forked 32123 -[6403] Forked 32124 -(32123) found -(32124) found -[6402] Forked 32125 -[6401] Forked 32126 -(32125) found -(32126) found -[6400] Forked 32127 -[6399] Forked 32128 -(32127) found -(32128) found -[6398] Forked 32129 -[6397] Forked 32130 -(32129) found -(32130) found -[6396] Forked 32131 -[6395] Forked 32132 -(32131) found -(32132) found -[6394] Forked 32133 -[6393] Forked 32134 -(32133) found -(32134) found -[6392] Forked 32135 -[6391] Forked 32136 -(32135) found -(32136) found -[6390] Forked 32137 -[6389] Forked 32138 -(32137) found -(32138) found -[6388] Forked 32139 -[6387] Forked 32140 -(32139) found -(32140) found -[6386] Forked 32141 -[6385] Forked 32142 -(32141) found -(32142) found -[6384] Forked 32143 -[6383] Forked 32144 -(32143) found -(32144) found -[6382] Forked 32145 -[6381] Forked 32146 -(32145) found -(32146) found -[6380] Forked 32147 -[6379] Forked 32148 -(32147) found -(32148) found -[6378] Forked 32149 -[6377] Forked 32150 -(32149) found -(32150) found -[6376] Forked 32151 -[6375] Forked 32152 -(32151) found -(32152) found -[6374] Forked 32153 -[6373] Forked 32154 -(32153) found -(32154) found -[6372] Forked 32155 -[6371] Forked 32156 -(32155) found -(32156) found -[6370] Forked 32157 -[6369] Forked 32158 -(32157) found -(32158) found -[6368] Forked 32159 -[6367] Forked 32160 -(32159) found -(32160) found -[6366] Forked 32161 -[6365] Forked 32162 -(32161) found -(32162) found -[6364] Forked 32163 -[6363] Forked 32164 -(32163) found -(32164) found -[6362] Forked 32165 -[6361] Forked 32166 -(32165) found -(32166) found -[6360] Forked 32167 -[6359] Forked 32168 -(32167) found -(32168) found -[6358] Forked 32169 -(32169) found -[6357] Forked 32170 -(32170) found -[6356] Forked 32171 -(32171) found -[6355] Forked 32172 -(32172) found -[6354] Forked 32173 -(32173) found -[6353] Forked 32174 -(32174) found -[6352] Forked 32175 -(32175) found -[6351] Forked 32176 -(32176) found -[6350] Forked 32177 -(32177) found -[6349] Forked 32178 -(32178) found -[6348] Forked 32179 -(32179) found -[6347] Forked 32180 -(32180) found -[6346] Forked 32181 -(32181) found -[6345] Forked 32182 -(32182) found -[6344] Forked 32183 -(32183) found -[6343] Forked 32184 -(32184) found -[6342] Forked 32185 -(32185) found -[6341] Forked 32186 -(32186) found -[6340] Forked 32187 -(32187) found -[6339] Forked 32188 -(32188) found -[6338] Forked 32189 -(32189) found -[6337] Forked 32190 -(32190) found -[6336] Forked 32191 -(32191) found -[6335] Forked 32192 -(32192) found -[6334] Forked 32193 -(32193) found -[6333] Forked 32194 -(32194) found -[6332] Forked 32195 -(32195) found -[6331] Forked 32196 -(32196) found -[6330] Forked 32197 -(32197) found -[6329] Forked 32198 -(32198) found -[6328] Forked 32199 -(32199) found -[6327] Forked 32200 -(32200) found -[6326] Forked 32201 -(32201) found -[6325] Forked 32202 -(32202) found -[6324] Forked 32203 -(32203) found -[6323] Forked 32204 -[6322] Forked 32205 -(32204) found -(32205) found -[6321] Forked 32206 -[6320] Forked 32207 -(32206) found -(32207) found -[6319] Forked 32208 -[6318] Forked 32209 -(32208) found -(32209) found -[6317] Forked 32210 -[6316] Forked 32211 -(32210) found -(32211) found -[6315] Forked 32212 -[6314] Forked 32213 -(32212) found -(32213) found -[6313] Forked 32214 -[6312] Forked 32215 -(32214) found -(32215) found -[6311] Forked 32216 -[6310] Forked 32217 -(32216) found -(32217) found -[6309] Forked 32218 -[6308] Forked 32219 -(32218) found -(32219) found -[6307] Forked 32220 -[6306] Forked 32221 -(32220) found -(32221) found -[6305] Forked 32222 -[6304] Forked 32223 -(32222) found -(32223) found -[6303] Forked 32224 -[6302] Forked 32225 -(32224) found -(32225) found -[6301] Forked 32226 -[6300] Forked 32227 -(32226) found -(32227) found -[6299] Forked 32228 -[6298] Forked 32229 -(32228) found -(32229) found -[6297] Forked 32230 -[6296] Forked 32231 -(32230) found -(32231) found -[6295] Forked 32232 -[6294] Forked 32233 -(32232) found -(32233) found -[6293] Forked 32234 -[6292] Forked 32235 -(32234) found -(32235) found -[6291] Forked 32236 -[6290] Forked 32237 -(32236) found -(32237) found -[6289] Forked 32238 -[6288] Forked 32239 -(32238) found -(32239) found -[6287] Forked 32240 -[6286] Forked 32241 -(32240) found -(32241) found -[6285] Forked 32242 -[6284] Forked 32243 -(32242) found -(32243) found -[6283] Forked 32244 -[6282] Forked 32245 -(32244) found -(32245) found -[6281] Forked 32246 -[6280] Forked 32247 -(32246) found -(32247) found -[6279] Forked 32248 -[6278] Forked 32249 -(32248) found -(32249) found -[6277] Forked 32250 -(32250) found -[6276] Forked 32251 -(32251) found -[6275] Forked 32252 -(32252) found -[6274] Forked 32253 -(32253) found -[6273] Forked 32254 -(32254) found -[6272] Forked 32255 -(32255) found -[6271] Forked 32256 -(32256) found -[6270] Forked 32257 -(32257) found -[6269] Forked 32258 -(32258) found -[6268] Forked 32259 -(32259) found -[6267] Forked 32260 -(32260) found -[6266] Forked 32261 -(32261) found -[6265] Forked 32262 -(32262) found -[6264] Forked 32263 -(32263) found -[6263] Forked 32264 -(32264) found -[6262] Forked 32265 -(32265) found -[6261] Forked 32266 -(32266) found -[6260] Forked 32267 -(32267) found -[6259] Forked 32268 -(32268) found -[6258] Forked 32269 -(32269) found -[6257] Forked 32270 -(32270) found -[6256] Forked 32271 -(32271) found -[6255] Forked 32272 -(32272) found -[6254] Forked 32273 -(32273) found -[6253] Forked 32274 -(32274) found -[6252] Forked 32275 -[6251] Forked 32276 -(32275) found -(32276) found -[6250] Forked 32277 -[6249] Forked 32278 -(32277) found -(32278) found -[6248] Forked 32279 -[6247] Forked 32280 -(32279) found -(32280) found -[6246] Forked 32281 -[6245] Forked 32282 -(32281) found -(32282) found -[6244] Forked 32283 -[6243] Forked 32284 -(32283) found -(32284) found -[6242] Forked 32285 -[6241] Forked 32286 -(32285) found -(32286) found -[6240] Forked 32287 -[6239] Forked 32288 -(32287) found -(32288) found -[6238] Forked 32289 -[6237] Forked 32290 -(32289) found -(32290) found -[6236] Forked 32291 -[6235] Forked 32292 -(32291) found -(32292) found -[6234] Forked 32293 -[6233] Forked 32294 -(32293) found -(32294) found -[6232] Forked 32295 -[6231] Forked 32296 -(32295) found -(32296) found -[6230] Forked 32297 -[6229] Forked 32298 -(32297) found -(32298) found -[6228] Forked 32299 -[6227] Forked 32300 -(32299) found -(32300) found -[6226] Forked 32301 -[6225] Forked 32302 -(32301) found -(32302) found -[6224] Forked 32303 -[6223] Forked 32304 -(32303) found -(32304) found -[6222] Forked 32305 -[6221] Forked 32306 -(32305) found -(32306) found -[6220] Forked 32307 -[6219] Forked 32308 -(32307) found -(32308) found -[6218] Forked 32309 -[6217] Forked 32310 -(32309) found -(32310) found -[6216] Forked 32311 -[6215] Forked 32312 -(32311) found -(32312) found -[6214] Forked 32313 -[6213] Forked 32314 -(32313) found -(32314) found -[6212] Forked 32315 -[6211] Forked 32316 -(32315) found -(32316) found -[6210] Forked 32317 -[6209] Forked 32318 -(32317) found -(32318) found -[6208] Forked 32319 -[6207] Forked 32320 -(32319) found -(32320) found -[6206] Forked 32321 -(32321) found -[6205] Forked 32322 -(32322) found -[6204] Forked 32323 -(32323) found -[6203] Forked 32324 -(32324) found -[6202] Forked 32325 -(32325) found -[6201] Forked 32326 -(32326) found -[6200] Forked 32327 -(32327) found -[6199] Forked 32328 -(32328) found -[6198] Forked 32329 -(32329) found -[6197] Forked 32330 -(32330) found -[6196] Forked 32331 -(32331) found -[6195] Forked 32332 -(32332) found -[6194] Forked 32333 -(32333) found -[6193] Forked 32334 -(32334) found -[6192] Forked 32335 -(32335) found -[6191] Forked 32336 -(32336) found -[6190] Forked 32337 -(32337) found -[6189] Forked 32338 -(32338) found -[6188] Forked 32339 -(32339) found -[6187] Forked 32340 -(32340) found -[6186] Forked 32341 -(32341) found -[6185] Forked 32342 -(32342) found -[6184] Forked 32343 -(32343) found -[6183] Forked 32344 -(32344) found -[6182] Forked 32345 -(32345) found -[6181] Forked 32346 -(32346) found -[6180] Forked 32347 -(32347) found -[6179] Forked 32348 -(32348) found -[6178] Forked 32349 -(32349) found -[6177] Forked 32350 -(32350) found -[6176] Forked 32351 -(32351) found -[6175] Forked 32352 -(32352) found -[6174] Forked 32353 -(32353) found -[6173] Forked 32354 -(32354) found -[6172] Forked 32355 -(32355) found -[6171] Forked 32356 -[6170] Forked 32357 -(32356) found -(32357) found -[6169] Forked 32358 -[6168] Forked 32359 -(32358) found -(32359) found -[6167] Forked 32360 -[6166] Forked 32361 -(32360) found -(32361) found -[6165] Forked 32362 -[6164] Forked 32363 -(32362) found -(32363) found -[6163] Forked 32364 -[6162] Forked 32365 -(32364) found -(32365) found -[6161] Forked 32366 -[6160] Forked 32367 -(32366) found -(32367) found -[6159] Forked 32368 -[6158] Forked 32369 -(32368) found -(32369) found -[6157] Forked 32370 -[6156] Forked 32371 -(32370) found -(32371) found -[6155] Forked 32372 -[6154] Forked 32373 -(32372) found -(32373) found -[6153] Forked 32374 -[6152] Forked 32375 -(32374) found -(32375) found -[6151] Forked 32376 -[6150] Forked 32377 -(32376) found -(32377) found -[6149] Forked 32378 -[6148] Forked 32379 -(32378) found -(32379) found -[6147] Forked 32380 -[6146] Forked 32381 -(32380) found -(32381) found -[6145] Forked 32382 -[6144] Forked 32383 -(32382) found -(32383) found -[6143] Forked 32384 -[6142] Forked 32385 -(32384) found -(32385) found -[6141] Forked 32386 -[6140] Forked 32387 -(32386) found -(32387) found -[6139] Forked 32388 -[6138] Forked 32389 -(32388) found -(32389) found -[6137] Forked 32390 -[6136] Forked 32391 -(32390) found -(32391) found -[6135] Forked 32392 -[6134] Forked 32393 -(32392) found -(32393) found -[6133] Forked 32394 -[6132] Forked 32396 -(32394) found -(32396) found -[6131] Forked 32397 -(32397) found -[6130] Forked 32398 -(32398) found -[6129] Forked 32399 -(32399) found -[6128] Forked 32400 -(32400) found -[6127] Forked 32401 -(32401) found -[6126] Forked 32402 -(32402) found -[6125] Forked 32403 -(32403) found -[6124] Forked 32404 -(32404) found -[6123] Forked 32405 -(32405) found -[6122] Forked 32406 -(32406) found -[6121] Forked 32407 -(32407) found -[6120] Forked 32408 -(32408) found -[6119] Forked 32409 -(32409) found -[6118] Forked 32410 -(32410) found -[6117] Forked 32411 -(32411) found -[6116] Forked 32412 -(32412) found -[6115] Forked 32413 -(32413) found -[6114] Forked 32414 -(32414) found -[6113] Forked 32415 -(32415) found -[6112] Forked 32416 -(32416) found -[6111] Forked 32417 -(32417) found -[6110] Forked 32418 -(32418) found -[6109] Forked 32419 -(32419) found -[6108] Forked 32420 -(32420) found -[6107] Forked 32421 -(32421) found -[6106] Forked 32422 -(32422) found -[6105] Forked 32423 -(32423) found -[6104] Forked 32424 -(32424) found -[6103] Forked 32425 -(32425) found -[6102] Forked 32426 -(32426) found -[6101] Forked 32427 -(32427) found -[6100] Forked 32428 -(32428) found -[6099] Forked 32429 -(32429) found -[6098] Forked 32430 -(32430) found -[6097] Forked 32431 -(32431) found -[6096] Forked 32432 -(32432) found -[6095] Forked 32433 -(32433) found -[6094] Forked 32434 -(32434) found -[6093] Forked 32435 -(32435) found -[6092] Forked 32436 -[6091] Forked 32437 -(32436) found -(32437) found -[6090] Forked 32438 -[6089] Forked 32439 -(32438) found -(32439) found -[6088] Forked 32440 -[6087] Forked 32441 -(32440) found -(32441) found -[6086] Forked 32442 -[6085] Forked 32443 -(32442) found -(32443) found -[6084] Forked 32444 -[6083] Forked 32445 -(32444) found -(32445) found -[6082] Forked 32446 -[6081] Forked 32447 -(32446) found -(32447) found -[6080] Forked 32448 -[6079] Forked 32449 -(32448) found -(32449) found -[6078] Forked 32450 -[6077] Forked 32452 -(32450) found -(32452) found -[6076] Forked 32453 -(32453) found -[6075] Forked 32454 -(32454) found -[6074] Forked 32455 -(32455) found -[6073] Forked 32456 -(32456) found -[6072] Forked 32457 -(32457) found -[6071] Forked 32458 -(32458) found -[6070] Forked 32459 -(32459) found -[6069] Forked 32460 -(32460) found -[6068] Forked 32461 -(32461) found -[6067] Forked 32462 -(32462) found -[6066] Forked 32463 -(32463) found -[6065] Forked 32464 -(32464) found -[6064] Forked 32465 -(32465) found -[6063] Forked 32466 -(32466) found -[6062] Forked 32467 -(32467) found -[6061] Forked 32468 -(32468) found -[6060] Forked 32469 -(32469) found -[6059] Forked 32470 -(32470) found -[6058] Forked 32471 -(32471) found -[6057] Forked 32472 -(32472) found -[6056] Forked 32473 -(32473) found -[6055] Forked 32474 -(32474) found -[6054] Forked 32475 -(32475) found -[6053] Forked 32476 -(32476) found -[6052] Forked 32477 -(32477) found -[6051] Forked 32478 -(32478) found -[6050] Forked 32479 -(32479) found -[6049] Forked 32480 -(32480) found -[6048] Forked 32481 -(32481) found -[6047] Forked 32482 -(32482) found -[6046] Forked 32483 -(32483) found -[6045] Forked 32484 -(32484) found -[6044] Forked 32485 -(32485) found -[6043] Forked 32486 -(32486) found -[6042] Forked 32487 -(32487) found -[6041] Forked 32488 -(32488) found -[6040] Forked 32489 -(32489) found -[6039] Forked 32490 -(32490) found -[6038] Forked 32491 -(32491) found -[6037] Forked 32492 -(32492) found -[6036] Forked 32493 -(32493) found -[6035] Forked 32494 -(32494) found -[6034] Forked 32495 -(32495) found -[6033] Forked 32496 -(32496) found -[6032] Forked 32497 -(32497) found -[6031] Forked 32498 -(32498) found -[6030] Forked 32499 -(32499) found -[6029] Forked 32500 -(32500) found -[6028] Forked 32501 -(32501) found -[6027] Forked 32502 -(32502) found -[6026] Forked 32503 -(32503) found -[6025] Forked 32504 -(32504) found -[6024] Forked 32505 -(32505) found -[6023] Forked 32506 -(32506) found -[6022] Forked 32507 -(32507) found -[6021] Forked 32508 -(32508) found -[6020] Forked 32509 -(32509) found -[6019] Forked 32510 -(32510) found -[6018] Forked 32511 -[6017] Forked 32512 -(32511) found -(32512) found -[6016] Forked 32513 -[6015] Forked 32514 -(32513) found -(32514) found -[6014] Forked 32515 -[6013] Forked 32516 -(32515) found -(32516) found -[6012] Forked 32517 -[6011] Forked 32518 -(32517) found -(32518) found -[6010] Forked 32519 -[6009] Forked 32520 -(32519) found -(32520) found -[6008] Forked 32521 -[6007] Forked 32522 -(32521) found -(32522) found -[6006] Forked 32523 -[6005] Forked 32524 -(32523) found -(32524) found -[6004] Forked 32525 -[6003] Forked 32526 -(32525) found -(32526) found -[6002] Forked 32527 -[6001] Forked 32528 -(32527) found -(32528) found -[6000] Forked 32529 -[5999] Forked 32530 -(32529) found -(32530) found -[5998] Forked 32531 -[5997] Forked 32532 -(32531) found -(32532) found -[5996] Forked 32533 -[5995] Forked 32534 -(32533) found -(32534) found -[5994] Forked 32535 -[5993] Forked 32536 -(32535) found -(32536) found -[5992] Forked 32537 -[5991] Forked 32538 -(32537) found -(32538) found -[5990] Forked 32539 -[5989] Forked 32540 -(32539) found -(32540) found -[5988] Forked 32541 -[5987] Forked 32542 -(32541) found -(32542) found -[5986] Forked 32543 -[5985] Forked 32544 -(32543) found -(32544) found -[5984] Forked 32545 -[5983] Forked 32546 -(32545) found -(32546) found -[5982] Forked 32547 -[5981] Forked 32548 -(32547) found -(32548) found -[5980] Forked 32549 -[5979] Forked 32550 -(32549) found -(32550) found -[5978] Forked 32551 -[5977] Forked 32552 -(32551) found -(32552) found -[5976] Forked 32553 -[5975] Forked 32554 -(32553) found -(32554) found -[5974] Forked 32555 -[5973] Forked 32556 -(32555) found -(32556) found -[5972] Forked 32557 -[5971] Forked 32558 -(32557) found -(32558) found -[5970] Forked 32559 -[5969] Forked 32560 -(32559) found -(32560) found -[5968] Forked 32561 -[5967] Forked 32562 -(32561) found -(32562) found -[5966] Forked 32563 -[5965] Forked 32564 -(32563) found -(32564) found -[5964] Forked 32565 -[5963] Forked 32566 -(32565) found -(32566) found -[5962] Forked 32567 -[5961] Forked 32568 -(32567) found -(32568) found -[5960] Forked 32569 -[5959] Forked 32570 -(32569) found -(32570) found -[5958] Forked 32571 -[5957] Forked 32572 -(32571) found -(32572) found -[5956] Forked 32573 -[5955] Forked 32574 -(32573) found -(32574) found -[5954] Forked 32575 -[5953] Forked 32576 -(32575) found -(32576) found -[5952] Forked 32577 -[5951] Forked 32578 -(32577) found -(32578) found -[5950] Forked 32579 -[5949] Forked 32580 -(32579) found -(32580) found -[5948] Forked 32581 -[5947] Forked 32582 -(32581) found -(32582) found -[5946] Forked 32583 -[5945] Forked 32584 -(32583) found -(32584) found -[5944] Forked 32585 -[5943] Forked 32586 -(32585) found -(32586) found -[5942] Forked 32587 -[5941] Forked 32588 -(32587) found -(32588) found -[5940] Forked 32589 -[5939] Forked 32590 -(32589) found -(32590) found -[5938] Forked 32591 -[5937] Forked 32592 -(32591) found -(32592) found -[5936] Forked 32593 -[5935] Forked 32594 -(32593) found -(32594) found -[5934] Forked 32595 -[5933] Forked 32596 -(32595) found -(32596) found -[5932] Forked 32597 -[5931] Forked 32599 -(32597) found -(32599) found -[5930] Forked 32600 -(32600) found -[5929] Forked 32601 -(32601) found -[5928] Forked 32602 -(32602) found -[5927] Forked 32603 -(32603) found -[5926] Forked 32604 -(32604) found -[5925] Forked 32605 -(32605) found -[5924] Forked 32606 -(32606) found -[5923] Forked 32607 -(32607) found -[5922] Forked 32608 -(32608) found -[5921] Forked 32609 -(32609) found -[5920] Forked 32610 -(32610) found -[5919] Forked 32611 -(32611) found -[5918] Forked 32612 -(32612) found -[5917] Forked 32613 -(32613) found -[5916] Forked 32614 -(32614) found -[5915] Forked 32615 -(32615) found -[5914] Forked 32616 -(32616) found -[5913] Forked 32617 -(32617) found -[5912] Forked 32618 -(32618) found -[5911] Forked 32619 -(32619) found -[5910] Forked 32620 -(32620) found -[5909] Forked 32621 -(32621) found -[5908] Forked 32622 -(32622) found -[5907] Forked 32623 -(32623) found -[5906] Forked 32624 -(32624) found -[5905] Forked 32625 -(32625) found -[5904] Forked 32626 -(32626) found -[5903] Forked 32627 -(32627) found -[5902] Forked 32628 -(32628) found -[5901] Forked 32629 -(32629) found -[5900] Forked 32630 -(32630) found -[5899] Forked 32631 -(32631) found -[5898] Forked 32632 -(32632) found -[5897] Forked 32633 -(32633) found -[5896] Forked 32634 -(32634) found -[5895] Forked 32635 -(32635) found -[5894] Forked 32636 -(32636) found -[5893] Forked 32637 -(32637) found -[5892] Forked 32638 -(32638) found -[5891] Forked 32639 -[5890] Forked 32640 -(32639) found -(32640) found -[5889] Forked 32641 -[5888] Forked 32642 -(32641) found -(32642) found -[5887] Forked 32643 -[5886] Forked 32644 -(32643) found -(32644) found -[5885] Forked 32645 -[5884] Forked 32646 -(32645) found -(32646) found -[5883] Forked 32647 -[5882] Forked 32648 -(32647) found -(32648) found -[5881] Forked 32649 -[5880] Forked 32650 -(32649) found -(32650) found -[5879] Forked 32651 -[5878] Forked 32652 -(32651) found -(32652) found -[5877] Forked 32653 -[5876] Forked 32654 -(32653) found -(32654) found -[5875] Forked 32655 -[5874] Forked 32656 -(32655) found -(32656) found -[5873] Forked 32657 -[5872] Forked 32658 -(32657) found -(32658) found -[5871] Forked 32659 -[5870] Forked 32660 -(32659) found -(32660) found -[5869] Forked 32661 -[5868] Forked 32662 -(32661) found -(32662) found -[5867] Forked 32663 -[5866] Forked 32664 -(32663) found -(32664) found -[5865] Forked 32665 -[5864] Forked 32666 -(32665) found -(32666) found -[5863] Forked 32667 -[5862] Forked 32668 -(32667) found -(32668) found -[5861] Forked 32669 -[5860] Forked 32670 -(32669) found -(32670) found -[5859] Forked 32671 -[5858] Forked 32672 -(32671) found -(32672) found -[5857] Forked 32673 -[5856] Forked 32674 -(32673) found -(32674) found -[5855] Forked 32675 -[5854] Forked 32676 -(32675) found -(32676) found -[5853] Forked 32677 -[5852] Forked 32678 -(32677) found -(32678) found -[5851] Forked 32679 -[5850] Forked 32680 -(32679) found -(32680) found -[5849] Forked 32681 -[5848] Forked 32682 -(32681) found -(32682) found -[5847] Forked 32683 -(32683) found -[5846] Forked 32684 -(32684) found -[5845] Forked 32685 -(32685) found -[5844] Forked 32686 -(32686) found -[5843] Forked 32687 -(32687) found -[5842] Forked 32688 -(32688) found -[5841] Forked 32689 -(32689) found -[5840] Forked 32690 -(32690) found -[5839] Forked 32691 -(32691) found -[5838] Forked 32692 -(32692) found -[5837] Forked 32693 -(32693) found -[5836] Forked 32694 -(32694) found -[5835] Forked 32695 -(32695) found -[5834] Forked 32696 -(32696) found -[5833] Forked 32697 -(32697) found -[5832] Forked 32698 -(32698) found -[5831] Forked 32699 -(32699) found -[5830] Forked 32700 -(32700) found -[5829] Forked 32701 -(32701) found -[5828] Forked 32702 -(32702) found -[5827] Forked 32703 -(32703) found -[5826] Forked 32704 -(32704) found -[5825] Forked 32705 -(32705) found -[5824] Forked 32706 -(32706) found -[5823] Forked 32707 -(32707) found -[5822] Forked 32708 -(32708) found -[5821] Forked 32709 -(32709) found -[5820] Forked 32710 -(32710) found -[5819] Forked 32711 -(32711) found -[5818] Forked 32712 -(32712) found -[5817] Forked 32713 -(32713) found -[5816] Forked 32714 -(32714) found -[5815] Forked 32715 -(32715) found -[5814] Forked 32716 -(32716) found -[5813] Forked 32717 -(32717) found -[5812] Forked 32718 -(32718) found -[5811] Forked 32719 -[5810] Forked 32720 -(32719) found -(32720) found -[5809] Forked 32721 -[5808] Forked 32722 -(32721) found -(32722) found -[5807] Forked 32723 -[5806] Forked 32724 -(32723) found -(32724) found -[5805] Forked 32725 -[5804] Forked 32726 -(32725) found -(32726) found -[5803] Forked 32727 -[5802] Forked 32728 -(32727) found -(32728) found -[5801] Forked 32729 -[5800] Forked 32730 -(32729) found -(32730) found -[5799] Forked 32731 -[5798] Forked 32732 -(32731) found -(32732) found -[5797] Forked 32733 -[5796] Forked 32734 -(32733) found -(32734) found -[5795] Forked 32735 -[5794] Forked 32736 -(32735) found -(32736) found -[5793] Forked 32737 -[5792] Forked 32738 -(32737) found -(32738) found -[5791] Forked 32739 -[5790] Forked 32740 -(32739) found -(32740) found -[5789] Forked 32741 -[5788] Forked 32742 -(32741) found -(32742) found -[5787] Forked 32743 -[5786] Forked 32744 -(32743) found -(32744) found -[5785] Forked 32745 -[5784] Forked 32746 -(32745) found -(32746) found -[5783] Forked 32747 -[5782] Forked 32748 -(32747) found -(32748) found -[5781] Forked 32749 -[5780] Forked 32750 -(32749) found -(32750) found -[5779] Forked 32751 -[5778] Forked 32752 -(32751) found -(32752) found -[5777] Forked 32753 -[5776] Forked 32754 -(32753) found -(32754) found -[5775] Forked 32755 -[5774] Forked 32756 -(32755) found -(32756) found -[5773] Forked 32757 -[5772] Forked 32758 -(32757) found -(32758) found -[5771] Forked 32759 -[5770] Forked 32760 -(32759) found -(32760) found -[5769] Forked 32761 -(32761) found -[5768] Forked 32762 -(32762) found -[5767] Forked 32763 -(32763) found -[5766] Forked 32764 -(32764) found -[5765] Forked 32765 -(32765) found -[5764] Forked 32766 -(32766) found -[5763] Forked 32767 -(32767) found -[5762] Forked 300 -(300) found -[5761] Forked 301 -(301) found -[5760] Forked 302 -(302) found -[5759] Forked 303 -(303) found -[5758] Forked 304 -(304) found -[5757] Forked 305 -(305) found -[5756] Forked 306 -(306) found -[5755] Forked 307 -(307) found -[5754] Forked 308 -(308) found -[5753] Forked 309 -(309) found -[5752] Forked 310 -(310) found -[5751] Forked 311 -(311) found -[5750] Forked 312 -(312) found -[5749] Forked 313 -(313) found -[5748] Forked 314 -(314) found -[5747] Forked 315 -(315) found -[5746] Forked 316 -(316) found -[5745] Forked 317 -(317) found -[5744] Forked 318 -(318) found -[5743] Forked 319 -(319) found -[5742] Forked 320 -(320) found -[5741] Forked 321 -(321) found -[5740] Forked 322 -(322) found -[5739] Forked 323 -(323) found -[5738] Forked 324 -(324) found -[5737] Forked 325 -(325) found -[5736] Forked 328 -(328) found -[5735] Forked 330 -(330) found -[5734] Forked 331 -[5733] Forked 332 -(331) found -(332) found -[5732] Forked 333 -[5731] Forked 334 -(333) found -(334) found -[5730] Forked 335 -[5729] Forked 336 -(335) found -(336) found -[5728] Forked 337 -[5727] Forked 338 -(337) found -(338) found -[5726] Forked 339 -[5725] Forked 340 -(339) found -(340) found -[5724] Forked 341 -[5723] Forked 342 -(341) found -(342) found -[5722] Forked 343 -[5721] Forked 344 -(343) found -(344) found -[5720] Forked 345 -[5719] Forked 346 -(345) found -(346) found -[5718] Forked 347 -[5717] Forked 348 -(347) found -(348) found -[5716] Forked 349 -[5715] Forked 350 -(349) found -(350) found -[5714] Forked 351 -[5713] Forked 352 -(351) found -(352) found -[5712] Forked 353 -[5711] Forked 354 -(353) found -(354) found -[5710] Forked 355 -[5709] Forked 356 -(355) found -(356) found -[5708] Forked 357 -[5707] Forked 358 -(357) found -(358) found -[5706] Forked 359 -[5705] Forked 360 -(359) found -(360) found -[5704] Forked 361 -[5703] Forked 362 -(361) found -(362) found -[5702] Forked 363 -[5701] Forked 364 -(363) found -(364) found -[5700] Forked 365 -[5699] Forked 366 -(365) found -(366) found -[5698] Forked 367 -[5697] Forked 368 -(367) found -(368) found -[5696] Forked 369 -[5695] Forked 370 -(369) found -(370) found -[5694] Forked 371 -[5693] Forked 372 -(371) found -(372) found -[5692] Forked 373 -[5691] Forked 374 -(373) found -(374) found -[5690] Forked 375 -(375) found -[5689] Forked 376 -(376) found -[5688] Forked 377 -(377) found -[5687] Forked 378 -(378) found -[5686] Forked 379 -(379) found -[5685] Forked 380 -(380) found -[5684] Forked 381 -(381) found -[5683] Forked 383 -(383) found -[5682] Forked 384 -(384) found -[5681] Forked 385 -(385) found -[5680] Forked 386 -(386) found -[5679] Forked 387 -(387) found -[5678] Forked 388 -(388) found -[5677] Forked 389 -(389) found -[5676] Forked 390 -(390) found -[5675] Forked 391 -(391) found -[5674] Forked 392 -(392) found -[5673] Forked 393 -(393) found -[5672] Forked 394 -(394) found -[5671] Forked 395 -(395) found -[5670] Forked 396 -(396) found -[5669] Forked 397 -(397) found -[5668] Forked 398 -(398) found -[5667] Forked 399 -(399) found -[5666] Forked 401 -(401) found -[5665] Forked 402 -(402) found -[5664] Forked 403 -(403) found -[5663] Forked 404 -(404) found -[5662] Forked 405 -(405) found -[5661] Forked 407 -(407) found -[5660] Forked 408 -(408) found -[5659] Forked 409 -(409) found -[5658] Forked 410 -(410) found -[5657] Forked 411 -(411) found -[5656] Forked 412 -(412) found -[5655] Forked 413 -[5654] Forked 414 -(413) found -(414) found -[5653] Forked 415 -[5652] Forked 416 -(415) found -(416) found -[5651] Forked 417 -[5650] Forked 418 -(417) found -(418) found -[5649] Forked 419 -[5648] Forked 420 -(419) found -(420) found -[5647] Forked 421 -[5646] Forked 422 -(421) found -(422) found -[5645] Forked 423 -[5644] Forked 424 -(423) found -(424) found -[5643] Forked 425 -[5642] Forked 426 -(425) found -(426) found -[5641] Forked 427 -[5640] Forked 429 -(427) found -(429) found -[5639] Forked 430 -[5638] Forked 431 -(430) found -(431) found -[5637] Forked 432 -[5636] Forked 433 -(432) found -(433) found -[5635] Forked 434 -[5634] Forked 435 -(434) found -(435) found -[5633] Forked 436 -[5632] Forked 437 -(436) found -(437) found -[5631] Forked 438 -[5630] Forked 439 -(438) found -(439) found -[5629] Forked 440 -[5628] Forked 441 -(440) found -(441) found -[5627] Forked 442 -[5626] Forked 443 -(442) found -(443) found -[5625] Forked 444 -[5624] Forked 445 -(444) found -(445) found -[5623] Forked 446 -[5622] Forked 447 -(446) found -(447) found -[5621] Forked 448 -[5620] Forked 449 -(448) found -(449) found -[5619] Forked 450 -[5618] Forked 451 -(450) found -(451) found -[5617] Forked 452 -[5616] Forked 453 -(452) found -(453) found -[5615] Forked 454 -[5614] Forked 455 -(454) found -(455) found -[5613] Forked 456 -[5612] Forked 457 -(456) found -(457) found -[5611] Forked 458 -[5610] Forked 459 -(458) found -(459) found -[5609] Forked 460 -[5608] Forked 461 -(460) found -(461) found -[5607] Forked 462 -[5606] Forked 463 -(462) found -(463) found -[5605] Forked 464 -[5604] Forked 465 -(464) found -(465) found -[5603] Forked 466 -[5602] Forked 467 -(466) found -(467) found -[5601] Forked 468 -[5600] Forked 469 -(468) found -(469) found -[5599] Forked 470 -[5598] Forked 471 -(470) found -(471) found -[5597] Forked 472 -[5596] Forked 473 -(472) found -(473) found -[5595] Forked 474 -[5594] Forked 475 -(474) found -(475) found -[5593] Forked 476 -[5592] Forked 477 -(476) found -(477) found -[5591] Forked 478 -[5590] Forked 479 -(478) found -(479) found -[5589] Forked 480 -[5588] Forked 481 -(480) found -(481) found -[5587] Forked 482 -[5586] Forked 483 -(482) found -(483) found -[5585] Forked 484 -[5584] Forked 485 -(484) found -(485) found -[5583] Forked 486 -[5582] Forked 487 -(486) found -(487) found -[5581] Forked 488 -[5580] Forked 489 -(488) found -(489) found -[5579] Forked 490 -[5578] Forked 491 -(490) found -(491) found -[5577] Forked 492 -[5576] Forked 493 -(492) found -(493) found -[5575] Forked 494 -[5574] Forked 495 -(494) found -(495) found -[5573] Forked 496 -[5572] Forked 497 -(496) found -(497) found -[5571] Forked 498 -[5570] Forked 499 -(498) found -(499) found -[5569] Forked 500 -[5568] Forked 501 -(500) found -(501) found -[5567] Forked 502 -[5566] Forked 503 -(502) found -(503) found -[5565] Forked 504 -[5564] Forked 505 -(504) found -(505) found -[5563] Forked 506 -(506) found -[5562] Forked 507 -(507) found -[5561] Forked 508 -(508) found -[5560] Forked 509 -(509) found -[5559] Forked 510 -(510) found -[5558] Forked 511 -(511) found -[5557] Forked 512 -(512) found -[5556] Forked 513 -(513) found -[5555] Forked 514 -(514) found -[5554] Forked 515 -(515) found -[5553] Forked 516 -(516) found -[5552] Forked 517 -(517) found -[5551] Forked 518 -(518) found -[5550] Forked 519 -(519) found -[5549] Forked 520 -(520) found -[5548] Forked 521 -(521) found -[5547] Forked 522 -(522) found -[5546] Forked 523 -(523) found -[5545] Forked 524 -(524) found -[5544] Forked 525 -(525) found -[5543] Forked 526 -(526) found -[5542] Forked 527 -(527) found -[5541] Forked 528 -(528) found -[5540] Forked 529 -(529) found -[5539] Forked 530 -(530) found -[5538] Forked 531 -(531) found -[5537] Forked 532 -(532) found -[5536] Forked 533 -(533) found -[5535] Forked 534 -(534) found -[5534] Forked 535 -(535) found -[5533] Forked 536 -(536) found -[5532] Forked 537 -(537) found -[5531] Forked 538 -(538) found -[5530] Forked 539 -(539) found -[5529] Forked 540 -[5528] Forked 541 -(540) found -(541) found -[5527] Forked 542 -[5526] Forked 543 -(542) found -(543) found -[5525] Forked 544 -[5524] Forked 545 -(544) found -(545) found -[5523] Forked 546 -[5522] Forked 547 -(546) found -(547) found -[5521] Forked 548 -[5520] Forked 549 -(548) found -(549) found -[5519] Forked 550 -[5518] Forked 551 -(550) found -(551) found -[5517] Forked 552 -[5516] Forked 553 -(552) found -(553) found -[5515] Forked 554 -[5514] Forked 555 -(554) found -(555) found -[5513] Forked 556 -[5512] Forked 557 -(556) found -(557) found -[5511] Forked 558 -[5510] Forked 559 -(558) found -(559) found -[5509] Forked 560 -[5508] Forked 561 -(560) found -(561) found -[5507] Forked 562 -[5506] Forked 563 -(562) found -(563) found -[5505] Forked 564 -[5504] Forked 565 -(564) found -(565) found -[5503] Forked 566 -[5502] Forked 567 -(566) found -(567) found -[5501] Forked 568 -[5500] Forked 569 -(568) found -(569) found -[5499] Forked 570 -[5498] Forked 571 -(570) found -(571) found -[5497] Forked 572 -[5496] Forked 573 -(572) found -(573) found -[5495] Forked 574 -[5494] Forked 575 -(574) found -(575) found -[5493] Forked 576 -[5492] Forked 577 -(576) found -(577) found -[5491] Forked 578 -[5490] Forked 579 -(578) found -(579) found -[5489] Forked 580 -[5488] Forked 581 -(580) found -(581) found -[5487] Forked 582 -[5486] Forked 583 -(582) found -(583) found -[5485] Forked 584 -[5484] Forked 585 -(584) found -(585) found -[5483] Forked 586 -[5482] Forked 587 -(586) found -(587) found -[5481] Forked 588 -[5480] Forked 589 -(588) found -(589) found -[5479] Forked 590 -[5478] Forked 591 -(590) found -(591) found -[5477] Forked 592 -[5476] Forked 593 -(592) found -(593) found -[5475] Forked 594 -[5474] Forked 595 -(594) found -(595) found -[5473] Forked 596 -[5472] Forked 597 -(596) found -(597) found -[5471] Forked 598 -[5470] Forked 599 -(598) found -(599) found -[5469] Forked 600 -[5468] Forked 601 -(600) found -(601) found -[5467] Forked 602 -[5466] Forked 603 -(602) found -(603) found -[5465] Forked 604 -[5464] Forked 606 -(604) found -(606) found -[5463] Forked 607 -[5462] Forked 609 -(607) found -(609) found -[5461] Forked 610 -[5460] Forked 612 -(610) found -(612) found -[5459] Forked 613 -[5458] Forked 615 -(613) found -(615) found -[5457] Forked 616 -[5456] Forked 617 -(616) found -(617) found -[5455] Forked 618 -[5454] Forked 619 -(618) found -(619) found -[5453] Forked 620 -[5452] Forked 621 -(620) found -(621) found -[5451] Forked 622 -[5450] Forked 623 -(622) found -(623) found -[5449] Forked 624 -[5448] Forked 625 -(624) found -(625) found -[5447] Forked 626 -[5446] Forked 627 -(626) found -(627) found -[5445] Forked 628 -[5444] Forked 629 -(628) found -(629) found -[5443] Forked 630 -[5442] Forked 631 -(630) found -(631) found -[5441] Forked 632 -[5440] Forked 633 -(632) found -(633) found -[5439] Forked 634 -[5438] Forked 635 -(634) found -(635) found -[5437] Forked 636 -(636) found -[5436] Forked 637 -(637) found -[5435] Forked 638 -(638) found -[5434] Forked 639 -(639) found -[5433] Forked 640 -(640) found -[5432] Forked 641 -(641) found -[5431] Forked 642 -(642) found -[5430] Forked 643 -(643) found -[5429] Forked 644 -(644) found -[5428] Forked 645 -(645) found -[5427] Forked 646 -(646) found -[5426] Forked 647 -(647) found -[5425] Forked 648 -(648) found -[5424] Forked 649 -(649) found -[5423] Forked 650 -(650) found -[5422] Forked 651 -(651) found -[5421] Forked 652 -(652) found -[5420] Forked 653 -(653) found -[5419] Forked 654 -(654) found -[5418] Forked 655 -(655) found -[5417] Forked 656 -(656) found -[5416] Forked 657 -(657) found -[5415] Forked 658 -(658) found -[5414] Forked 659 -(659) found -[5413] Forked 660 -(660) found -[5412] Forked 661 -(661) found -[5411] Forked 662 -(662) found -[5410] Forked 663 -(663) found -[5409] Forked 664 -(664) found -[5408] Forked 665 -(665) found -[5407] Forked 666 -(666) found -[5406] Forked 667 -(667) found -[5405] Forked 668 -(668) found -[5404] Forked 669 -(669) found -[5403] Forked 670 -(670) found -[5402] Forked 671 -(671) found -[5401] Forked 672 -[5400] Forked 673 -(672) found -(673) found -[5399] Forked 674 -[5398] Forked 675 -(674) found -(675) found -[5397] Forked 677 -[5396] Forked 678 -(677) found -(678) found -[5395] Forked 679 -[5394] Forked 680 -(679) found -(680) found -[5393] Forked 681 -[5392] Forked 682 -(681) found -(682) found -[5391] Forked 683 -[5390] Forked 684 -(683) found -(684) found -[5389] Forked 685 -[5388] Forked 686 -(685) found -(686) found -[5387] Forked 687 -[5386] Forked 688 -(687) found -(688) found -[5385] Forked 689 -[5384] Forked 690 -(689) found -(690) found -[5383] Forked 691 -[5382] Forked 692 -(691) found -(692) found -[5381] Forked 693 -[5380] Forked 694 -(693) found -(694) found -[5379] Forked 695 -[5378] Forked 696 -(695) found -(696) found -[5377] Forked 697 -[5376] Forked 698 -(697) found -(698) found -[5375] Forked 699 -[5374] Forked 700 -(699) found -(700) found -[5373] Forked 701 -[5372] Forked 702 -(701) found -(702) found -[5371] Forked 703 -[5370] Forked 704 -(703) found -(704) found -[5369] Forked 705 -[5368] Forked 706 -(705) found -(706) found -[5367] Forked 707 -[5366] Forked 708 -(707) found -(708) found -[5365] Forked 709 -[5364] Forked 710 -(709) found -(710) found -[5363] Forked 711 -[5362] Forked 712 -(711) found -(712) found -[5361] Forked 713 -(713) found -[5360] Forked 714 -[5359] Forked 715 -(714) found -(715) found -[5358] Forked 716 -[5357] Forked 717 -(716) found -(717) found -[5356] Forked 718 -[5355] Forked 719 -(718) found -(719) found -[5354] Forked 720 -[5353] Forked 721 -(720) found -(721) found -[5352] Forked 722 -[5351] Forked 723 -(722) found -(723) found -[5350] Forked 724 -[5349] Forked 725 -(724) found -(725) found -[5348] Forked 726 -[5347] Forked 727 -(726) found -(727) found -[5346] Forked 728 -[5345] Forked 729 -(728) found -(729) found -[5344] Forked 730 -[5343] Forked 731 -(730) found -(731) found -[5342] Forked 732 -[5341] Forked 734 -(732) found -(734) found -[5340] Forked 735 -[5339] Forked 737 -(735) found -(737) found -[5338] Forked 740 -[5337] Forked 742 -(740) found -(742) found -[5336] Forked 744 -[5335] Forked 745 -(744) found -(745) found -[5334] Forked 746 -[5333] Forked 747 -(746) found -(747) found -[5332] Forked 748 -[5331] Forked 749 -(748) found -(749) found -[5330] Forked 750 -[5329] Forked 751 -(750) found -(751) found -[5328] Forked 752 -[5327] Forked 753 -(752) found -(753) found -[5326] Forked 754 -[5325] Forked 755 -(754) found -(755) found -[5324] Forked 756 -[5323] Forked 757 -(756) found -(757) found -[5322] Forked 758 -[5321] Forked 759 -(758) found -(759) found -[5320] Forked 760 -[5319] Forked 761 -(760) found -(761) found -[5318] Forked 762 -[5317] Forked 763 -(762) found -(763) found -[5316] Forked 764 -[5315] Forked 765 -(764) found -(765) found -[5314] Forked 766 -[5313] Forked 767 -(766) found -(767) found -[5312] Forked 768 -[5311] Forked 769 -(768) found -(769) found -[5310] Forked 770 -[5309] Forked 771 -(770) found -(771) found -[5308] Forked 772 -(772) found -[5307] Forked 773 -(773) found -[5306] Forked 774 -(774) found -[5305] Forked 775 -(775) found -[5304] Forked 776 -(776) found -[5303] Forked 777 -(777) found -[5302] Forked 778 -(778) found -[5301] Forked 780 -(780) found -[5300] Forked 781 -(781) found -[5299] Forked 782 -(782) found -[5298] Forked 783 -(783) found -[5297] Forked 784 -(784) found -[5296] Forked 785 -(785) found -[5295] Forked 786 -(786) found -[5294] Forked 787 -(787) found -[5293] Forked 788 -(788) found -[5292] Forked 789 -(789) found -[5291] Forked 790 -(790) found -[5290] Forked 791 -(791) found -[5289] Forked 792 -(792) found -[5288] Forked 793 -(793) found -[5287] Forked 794 -(794) found -[5286] Forked 795 -(795) found -[5285] Forked 796 -(796) found -[5284] Forked 797 -(797) found -[5283] Forked 798 -(798) found -[5282] Forked 799 -(799) found -[5281] Forked 800 -(800) found -[5280] Forked 801 -(801) found -[5279] Forked 802 -(802) found -[5278] Forked 803 -(803) found -[5277] Forked 804 -(804) found -[5276] Forked 805 -(805) found -[5275] Forked 806 -(806) found -[5274] Forked 807 -[5273] Forked 808 -(807) found -(808) found -[5272] Forked 809 -(809) found -[5271] Forked 810 -(810) found -[5270] Forked 811 -(811) found -[5269] Forked 812 -(812) found -[5268] Forked 813 -(813) found -[5267] Forked 814 -(814) found -[5266] Forked 815 -(815) found -[5265] Forked 816 -(816) found -[5264] Forked 817 -(817) found -[5263] Forked 818 -(818) found -[5262] Forked 819 -(819) found -[5261] Forked 820 -(820) found -[5260] Forked 821 -(821) found -[5259] Forked 822 -(822) found -[5258] Forked 823 -(823) found -[5257] Forked 824 -(824) found -[5256] Forked 825 -(825) found -[5255] Forked 826 -(826) found -[5254] Forked 827 -(827) found -[5253] Forked 828 -(828) found -[5252] Forked 829 -(829) found -[5251] Forked 830 -(830) found -[5250] Forked 831 -(831) found -[5249] Forked 832 -(832) found -[5248] Forked 833 -(833) found -[5247] Forked 834 -(834) found -[5246] Forked 835 -(835) found -[5245] Forked 836 -(836) found -[5244] Forked 837 -(837) found -[5243] Forked 838 -(838) found -[5242] Forked 839 -[5241] Forked 840 -(839) found -(840) found -[5240] Forked 841 -[5239] Forked 842 -(841) found -(842) found -[5238] Forked 843 -[5237] Forked 844 -(843) found -(844) found -[5236] Forked 845 -[5235] Forked 847 -(845) found -(847) found -[5234] Forked 848 -[5233] Forked 849 -(848) found -(849) found -[5232] Forked 850 -[5231] Forked 851 -(850) found -(851) found -[5230] Forked 852 -[5229] Forked 853 -(852) found -(853) found -[5228] Forked 854 -[5227] Forked 855 -(854) found -(855) found -[5226] Forked 856 -[5225] Forked 857 -(856) found -(857) found -[5224] Forked 858 -[5223] Forked 859 -(858) found -(859) found -[5222] Forked 860 -[5221] Forked 861 -(860) found -(861) found -[5220] Forked 862 -[5219] Forked 863 -(862) found -(863) found -[5218] Forked 864 -[5217] Forked 865 -(864) found -(865) found -[5216] Forked 866 -[5215] Forked 867 -(866) found -(867) found -[5214] Forked 868 -[5213] Forked 869 -(868) found -(869) found -[5212] Forked 870 -[5211] Forked 871 -(870) found -(871) found -[5210] Forked 872 -[5209] Forked 873 -(872) found -(873) found -[5208] Forked 874 -[5207] Forked 875 -(874) found -(875) found -[5206] Forked 876 -[5205] Forked 877 -(876) found -(877) found -[5204] Forked 878 -[5203] Forked 879 -(878) found -(879) found -[5202] Forked 880 -[5201] Forked 881 -(880) found -(881) found -[5200] Forked 882 -[5199] Forked 883 -(882) found -(883) found -[5198] Forked 884 -[5197] Forked 885 -(885) found -(884) found -[5196] Forked 886 -(886) found -[5195] Forked 887 -(887) found -[5194] Forked 888 -(888) found -[5193] Forked 889 -(889) found -[5192] Forked 890 -(890) found -[5191] Forked 891 -(891) found -[5190] Forked 892 -(892) found -[5189] Forked 893 -(893) found -[5188] Forked 894 -(894) found -[5187] Forked 895 -(895) found -[5186] Forked 896 -(896) found -[5185] Forked 897 -(897) found -[5184] Forked 898 -(898) found -[5183] Forked 899 -(899) found -[5182] Forked 900 -(900) found -[5181] Forked 901 -(901) found -[5180] Forked 902 -(902) found -[5179] Forked 903 -(903) found -[5178] Forked 904 -(904) found -[5177] Forked 905 -(905) found -[5176] Forked 906 -(906) found -[5175] Forked 907 -(907) found -[5174] Forked 908 -(908) found -[5173] Forked 909 -(909) found -[5172] Forked 910 -(910) found -[5171] Forked 911 -(911) found -[5170] Forked 912 -(912) found -[5169] Forked 913 -(913) found -[5168] Forked 914 -(914) found -[5167] Forked 915 -(915) found -[5166] Forked 916 -(916) found -[5165] Forked 917 -(917) found -[5164] Forked 918 -(918) found -[5163] Forked 919 -(919) found -[5162] Forked 920 -[5161] Forked 921 -(920) found -(921) found -[5160] Forked 922 -[5159] Forked 923 -(922) found -(923) found -[5158] Forked 924 -[5157] Forked 925 -(924) found -(925) found -[5156] Forked 926 -[5155] Forked 927 -(926) found -(927) found -[5154] Forked 928 -[5153] Forked 929 -(928) found -(929) found -[5152] Forked 930 -[5151] Forked 931 -(930) found -(931) found -[5150] Forked 932 -[5149] Forked 933 -(932) found -(933) found -[5148] Forked 934 -[5147] Forked 935 -(934) found -(935) found -[5146] Forked 936 -[5145] Forked 937 -(936) found -(937) found -[5144] Forked 938 -[5143] Forked 939 -(938) found -(939) found -[5142] Forked 940 -[5141] Forked 941 -(940) found -(941) found -[5140] Forked 942 -[5139] Forked 943 -(942) found -(943) found -[5138] Forked 944 -[5137] Forked 945 -(944) found -(945) found -[5136] Forked 946 -[5135] Forked 947 -(946) found -(947) found -[5134] Forked 948 -[5133] Forked 949 -(948) found -(949) found -[5132] Forked 950 -[5131] Forked 951 -(950) found -(951) found -[5130] Forked 952 -[5129] Forked 953 -(952) found -(953) found -[5128] Forked 954 -[5127] Forked 955 -(954) found -(955) found -[5126] Forked 956 -[5125] Forked 957 -(956) found -(957) found -[5124] Forked 958 -[5123] Forked 959 -(958) found -(959) found -[5122] Forked 960 -[5121] Forked 961 -(960) found -(961) found -[5120] Forked 962 -[5119] Forked 963 -(962) found -(963) found -[5118] Forked 964 -[5117] Forked 965 -(965) found -(964) found -[5116] Forked 966 -(966) found -[5115] Forked 967 -(967) found -[5114] Forked 968 -(968) found -[5113] Forked 969 -(969) found -[5112] Forked 970 -(970) found -[5111] Forked 971 -(971) found -[5110] Forked 972 -(972) found -[5109] Forked 973 -(973) found -[5108] Forked 974 -(974) found -[5107] Forked 975 -(975) found -[5106] Forked 976 -(976) found -[5105] Forked 977 -(977) found -[5104] Forked 978 -(978) found -[5103] Forked 979 -(979) found -[5102] Forked 980 -(980) found -[5101] Forked 981 -(981) found -[5100] Forked 982 -(982) found -[5099] Forked 983 -(983) found -[5098] Forked 984 -(984) found -[5097] Forked 985 -(985) found -[5096] Forked 986 -(986) found -[5095] Forked 987 -(987) found -[5094] Forked 988 -(988) found -[5093] Forked 989 -(989) found -[5092] Forked 990 -(990) found -[5091] Forked 991 -(991) found -[5090] Forked 992 -(992) found -[5089] Forked 993 -(993) found -[5088] Forked 994 -(994) found -[5087] Forked 995 -(995) found -[5086] Forked 996 -(996) found -[5085] Forked 997 -(997) found -[5084] Forked 998 -(998) found -[5083] Forked 999 -(999) found -[5082] Forked 1000 -(1000) found -[5081] Forked 1001 -(1001) found -[5080] Forked 1002 -(1002) found -[5079] Forked 1003 -(1003) found -[5078] Forked 1004 -(1004) found -[5077] Forked 1005 -(1005) found -[5076] Forked 1006 -(1006) found -[5075] Forked 1007 -(1007) found -[5074] Forked 1008 -(1008) found -[5073] Forked 1009 -(1009) found -[5072] Forked 1010 -(1010) found -[5071] Forked 1011 -(1011) found -[5070] Forked 1012 -(1012) found -[5069] Forked 1013 -(1013) found -[5068] Forked 1014 -(1014) found -[5067] Forked 1015 -(1015) found -[5066] Forked 1016 -(1016) found -[5065] Forked 1017 -(1017) found -[5064] Forked 1018 -(1018) found -[5063] Forked 1019 -(1019) found -[5062] Forked 1020 -(1020) found -[5061] Forked 1021 -(1021) found -[5060] Forked 1022 -(1022) found -[5059] Forked 1023 -(1023) found -[5058] Forked 1024 -(1024) found -[5057] Forked 1025 -(1025) found -[5056] Forked 1026 -(1026) found -[5055] Forked 1027 -(1027) found -[5054] Forked 1028 -(1028) found -[5053] Forked 1029 -(1029) found -[5052] Forked 1030 -(1030) found -[5051] Forked 1031 -(1031) found -[5050] Forked 1032 -(1032) found -[5049] Forked 1033 -(1033) found -[5048] Forked 1034 -(1034) found -[5047] Forked 1035 -(1035) found -[5046] Forked 1036 -[5045] Forked 1037 -(1036) found -(1037) found -[5044] Forked 1038 -[5043] Forked 1039 -(1038) found -(1039) found -[5042] Forked 1040 -[5041] Forked 1041 -(1040) found -(1041) found -[5040] Forked 1042 -[5039] Forked 1043 -(1042) found -(1043) found -[5038] Forked 1044 -[5037] Forked 1045 -(1044) found -(1045) found -[5036] Forked 1046 -[5035] Forked 1047 -(1046) found -(1047) found -[5034] Forked 1048 -[5033] Forked 1049 -(1048) found -(1049) found -[5032] Forked 1050 -[5031] Forked 1051 -(1050) found -(1051) found -[5030] Forked 1052 -[5029] Forked 1053 -(1052) found -(1053) found -[5028] Forked 1054 -[5027] Forked 1055 -(1054) found -(1055) found -[5026] Forked 1056 -[5025] Forked 1057 -(1056) found -(1057) found -[5024] Forked 1058 -[5023] Forked 1059 -(1058) found -(1059) found -[5022] Forked 1060 -[5021] Forked 1061 -(1060) found -(1061) found -[5020] Forked 1062 -[5019] Forked 1063 -(1062) found -(1063) found -[5018] Forked 1064 -[5017] Forked 1065 -(1064) found -(1065) found -[5016] Forked 1066 -[5015] Forked 1067 -(1066) found -(1067) found -[5014] Forked 1068 -[5013] Forked 1069 -(1068) found -(1069) found -[5012] Forked 1070 -[5011] Forked 1071 -(1070) found -(1071) found -[5010] Forked 1072 -[5009] Forked 1073 -(1072) found -(1073) found -[5008] Forked 1074 -[5007] Forked 1075 -(1074) found -(1075) found -[5006] Forked 1076 -[5005] Forked 1077 -(1076) found -(1077) found -[5004] Forked 1078 -[5003] Forked 1079 -(1078) found -(1079) found -[5002] Forked 1080 -[5001] Forked 1081 -(1080) found -(1081) found -[5000] Forked 1082 -[4999] Forked 1083 -(1082) found -(1083) found -[4998] Forked 1084 -[4997] Forked 1085 -(1084) found -(1085) found -[4996] Forked 1086 -[4995] Forked 1087 -(1086) found -(1087) found -[4994] Forked 1088 -[4993] Forked 1089 -(1088) found -(1089) found -[4992] Forked 1090 -[4991] Forked 1091 -(1090) found -(1091) found -[4990] Forked 1092 -[4989] Forked 1093 -(1092) found -(1093) found -[4988] Forked 1094 -[4987] Forked 1095 -(1094) found -(1095) found -[4986] Forked 1096 -[4985] Forked 1097 -(1096) found -(1097) found -[4984] Forked 1098 -[4983] Forked 1099 -(1098) found -(1099) found -[4982] Forked 1100 -[4981] Forked 1101 -(1100) found -(1101) found -[4980] Forked 1102 -[4979] Forked 1103 -(1102) found -(1103) found -[4978] Forked 1104 -[4977] Forked 1105 -(1104) found -(1105) found -[4976] Forked 1106 -[4975] Forked 1108 -(1106) found -(1108) found -[4974] Forked 1109 -[4973] Forked 1110 -(1109) found -(1110) found -[4972] Forked 1111 -[4971] Forked 1112 -(1111) found -(1112) found -[4970] Forked 1113 -[4969] Forked 1114 -(1113) found -(1114) found -[4968] Forked 1115 -[4967] Forked 1116 -(1115) found -(1116) found -[4966] Forked 1117 -[4965] Forked 1118 -(1117) found -(1118) found -[4964] Forked 1119 -[4963] Forked 1120 -(1119) found -(1120) found -[4962] Forked 1121 -[4961] Forked 1122 -(1121) found -(1122) found -[4960] Forked 1123 -[4959] Forked 1124 -(1123) found -(1124) found -[4958] Forked 1125 -(1125) found -[4957] Forked 1126 -(1126) found -[4956] Forked 1127 -(1127) found -[4955] Forked 1128 -(1128) found -[4954] Forked 1129 -(1129) found -[4953] Forked 1130 -(1130) found -[4952] Forked 1131 -(1131) found -[4951] Forked 1132 -(1132) found -[4950] Forked 1133 -[4949] Forked 1134 -(1133) found -(1134) found -[4948] Forked 1135 -[4947] Forked 1136 -(1135) found -(1136) found -[4946] Forked 1137 -[4945] Forked 1138 -(1137) found -(1138) found -[4944] Forked 1139 -[4943] Forked 1140 -(1139) found -(1140) found -[4942] Forked 1141 -[4941] Forked 1142 -(1141) found -(1142) found -[4940] Forked 1143 -[4939] Forked 1144 -(1143) found -(1144) found -[4938] Forked 1145 -[4937] Forked 1146 -(1145) found -(1146) found -[4936] Forked 1147 -[4935] Forked 1148 -(1147) found -(1148) found -[4934] Forked 1149 -[4933] Forked 1150 -(1149) found -(1150) found -[4932] Forked 1151 -[4931] Forked 1152 -(1151) found -(1152) found -[4930] Forked 1153 -[4929] Forked 1154 -(1153) found -(1154) found -[4928] Forked 1155 -[4927] Forked 1156 -(1155) found -(1156) found -[4926] Forked 1157 -[4925] Forked 1158 -(1157) found -(1158) found -[4924] Forked 1159 -[4923] Forked 1160 -(1159) found -(1160) found -[4922] Forked 1161 -[4921] Forked 1162 -(1161) found -(1162) found -[4920] Forked 1163 -[4919] Forked 1164 -(1163) found -(1164) found -[4918] Forked 1165 -[4917] Forked 1166 -(1165) found -(1166) found -[4916] Forked 1167 -(1167) found -[4915] Forked 1168 -(1168) found -[4914] Forked 1169 -(1169) found -[4913] Forked 1170 -(1170) found -[4912] Forked 1171 -(1171) found -[4911] Forked 1172 -(1172) found -[4910] Forked 1173 -(1173) found -[4909] Forked 1174 -(1174) found -[4908] Forked 1175 -(1175) found -[4907] Forked 1176 -(1176) found -[4906] Forked 1177 -(1177) found -[4905] Forked 1178 -(1178) found -[4904] Forked 1179 -(1179) found -[4903] Forked 1180 -(1180) found -[4902] Forked 1181 -(1181) found -[4901] Forked 1182 -(1182) found -[4900] Forked 1183 -(1183) found -[4899] Forked 1184 -(1184) found -[4898] Forked 1185 -(1185) found -[4897] Forked 1186 -(1186) found -[4896] Forked 1187 -(1187) found -[4895] Forked 1188 -(1188) found -[4894] Forked 1190 -(1190) found -[4893] Forked 1191 -(1191) found -[4892] Forked 1192 -(1192) found -[4891] Forked 1193 -(1193) found -[4890] Forked 1194 -(1194) found -[4889] Forked 1195 -(1195) found -[4888] Forked 1196 -(1196) found -[4887] Forked 1197 -(1197) found -[4886] Forked 1198 -(1198) found -[4885] Forked 1199 -(1199) found -[4884] Forked 1200 -(1200) found -[4883] Forked 1201 -(1201) found -[4882] Forked 1202 -(1202) found -[4881] Forked 1203 -(1203) found -[4880] Forked 1204 -[4879] Forked 1205 -(1204) found -(1205) found -[4878] Forked 1206 -[4877] Forked 1207 -(1206) found -(1207) found -[4876] Forked 1208 -[4875] Forked 1209 -(1208) found -(1209) found -[4874] Forked 1210 -[4873] Forked 1211 -(1210) found -(1211) found -[4872] Forked 1212 -[4871] Forked 1213 -(1212) found -(1213) found -[4870] Forked 1214 -[4869] Forked 1215 -(1214) found -(1215) found -[4868] Forked 1216 -[4867] Forked 1217 -(1216) found -(1217) found -[4866] Forked 1218 -[4865] Forked 1219 -(1218) found -(1219) found -[4864] Forked 1220 -[4863] Forked 1221 -(1220) found -(1221) found -[4862] Forked 1222 -[4861] Forked 1223 -(1222) found -(1223) found -[4860] Forked 1224 -[4859] Forked 1225 -(1224) found -(1225) found -[4858] Forked 1226 -[4857] Forked 1227 -(1226) found -(1227) found -[4856] Forked 1228 -[4855] Forked 1229 -(1228) found -(1229) found -[4854] Forked 1230 -[4853] Forked 1231 -(1230) found -(1231) found -[4852] Forked 1232 -[4851] Forked 1233 -(1232) found -(1233) found -[4850] Forked 1234 -[4849] Forked 1235 -(1234) found -(1235) found -[4848] Forked 1236 -[4847] Forked 1237 -(1236) found -(1237) found -[4846] Forked 1238 -[4845] Forked 1239 -(1238) found -(1239) found -[4844] Forked 1240 -[4843] Forked 1241 -(1240) found -(1241) found -[4842] Forked 1242 -[4841] Forked 1243 -(1242) found -(1243) found -[4840] Forked 1244 -[4839] Forked 1245 -(1244) found -(1245) found -[4838] Forked 1246 -[4837] Forked 1247 -(1246) found -(1247) found -[4836] Forked 1248 -[4835] Forked 1249 -(1248) found -(1249) found -[4834] Forked 1250 -[4833] Forked 1251 -(1250) found -(1251) found -[4832] Forked 1252 -(1252) found -[4831] Forked 1253 -[4830] Forked 1254 -(1253) found -(1254) found -[4829] Forked 1255 -[4828] Forked 1256 -(1255) found -(1256) found -[4827] Forked 1257 -[4826] Forked 1258 -(1257) found -(1258) found -[4825] Forked 1259 -[4824] Forked 1260 -(1259) found -(1260) found -[4823] Forked 1261 -[4822] Forked 1262 -(1261) found -(1262) found -[4821] Forked 1263 -[4820] Forked 1264 -(1263) found -(1264) found -[4819] Forked 1265 -[4818] Forked 1266 -(1265) found -(1266) found -[4817] Forked 1267 -[4816] Forked 1268 -(1267) found -(1268) found -[4815] Forked 1269 -[4814] Forked 1270 -(1269) found -(1270) found -[4813] Forked 1271 -[4812] Forked 1272 -(1271) found -(1272) found -[4811] Forked 1273 -[4810] Forked 1274 -(1273) found -(1274) found -[4809] Forked 1275 -[4808] Forked 1276 -(1275) found -(1276) found -[4807] Forked 1277 -[4806] Forked 1278 -(1277) found -(1278) found -[4805] Forked 1279 -[4804] Forked 1280 -(1279) found -(1280) found -[4803] Forked 1281 -[4802] Forked 1282 -(1281) found -(1282) found -[4801] Forked 1283 -[4800] Forked 1284 -(1283) found -(1284) found -[4799] Forked 1285 -[4798] Forked 1286 -(1285) found -(1286) found -[4797] Forked 1287 -[4796] Forked 1288 -(1287) found -(1288) found -[4795] Forked 1289 -[4794] Forked 1290 -(1289) found -(1290) found -[4793] Forked 1291 -(1291) found -[4792] Forked 1292 -(1292) found -[4791] Forked 1293 -(1293) found -[4790] Forked 1294 -(1294) found -[4789] Forked 1295 -(1295) found -[4788] Forked 1296 -(1296) found -[4787] Forked 1297 -(1297) found -[4786] Forked 1298 -(1298) found -[4785] Forked 1299 -(1299) found -[4784] Forked 1300 -(1300) found -[4783] Forked 1301 -(1301) found -[4782] Forked 1302 -(1302) found -[4781] Forked 1303 -(1303) found -[4780] Forked 1304 -(1304) found -[4779] Forked 1305 -(1305) found -[4778] Forked 1306 -(1306) found -[4777] Forked 1307 -(1307) found -[4776] Forked 1308 -(1308) found -[4775] Forked 1309 -(1309) found -[4774] Forked 1310 -(1310) found -[4773] Forked 1312 -(1312) found -[4772] Forked 1313 -(1313) found -[4771] Forked 1314 -(1314) found -[4770] Forked 1315 -(1315) found -[4769] Forked 1316 -(1316) found -[4768] Forked 1317 -(1317) found -[4767] Forked 1318 -(1318) found -[4766] Forked 1319 -(1319) found -[4765] Forked 1320 -(1320) found -[4764] Forked 1321 -(1321) found -[4763] Forked 1322 -(1322) found -[4762] Forked 1323 -(1323) found -[4761] Forked 1324 -(1324) found -[4760] Forked 1325 -(1325) found -[4759] Forked 1326 -[4758] Forked 1327 -(1326) found -(1327) found -[4757] Forked 1328 -[4756] Forked 1329 -(1328) found -(1329) found -[4755] Forked 1330 -[4754] Forked 1331 -(1330) found -(1331) found -[4753] Forked 1332 -[4752] Forked 1333 -(1332) found -(1333) found -[4751] Forked 1334 -[4750] Forked 1335 -(1334) found -(1335) found -[4749] Forked 1336 -[4748] Forked 1337 -(1336) found -(1337) found -[4747] Forked 1338 -[4746] Forked 1339 -(1338) found -(1339) found -[4745] Forked 1340 -[4744] Forked 1341 -(1340) found -(1341) found -[4743] Forked 1342 -[4742] Forked 1343 -(1342) found -(1343) found -[4741] Forked 1344 -[4740] Forked 1345 -(1344) found -(1345) found -[4739] Forked 1346 -[4738] Forked 1347 -(1346) found -(1347) found -[4737] Forked 1348 -[4736] Forked 1349 -(1348) found -(1349) found -[4735] Forked 1350 -[4734] Forked 1351 -(1350) found -(1351) found -[4733] Forked 1352 -[4732] Forked 1353 -(1352) found -(1353) found -[4731] Forked 1354 -[4730] Forked 1355 -(1354) found -(1355) found -[4729] Forked 1356 -[4728] Forked 1357 -(1356) found -(1357) found -[4727] Forked 1358 -[4726] Forked 1359 -(1358) found -(1359) found -[4725] Forked 1360 -[4724] Forked 1361 -(1360) found -(1361) found -[4723] Forked 1362 -[4722] Forked 1363 -(1362) found -(1363) found -[4721] Forked 1364 -[4720] Forked 1365 -(1364) found -(1365) found -[4719] Forked 1366 -[4718] Forked 1367 -(1366) found -(1367) found -[4717] Forked 1368 -[4716] Forked 1369 -(1368) found -(1369) found -[4715] Forked 1370 -[4714] Forked 1371 -(1370) found -(1371) found -[4713] Forked 1372 -(1372) found -[4712] Forked 1373 -(1373) found -[4711] Forked 1374 -(1374) found -[4710] Forked 1375 -(1375) found -[4709] Forked 1376 -(1376) found -[4708] Forked 1377 -(1377) found -[4707] Forked 1378 -(1378) found -[4706] Forked 1379 -(1379) found -[4705] Forked 1380 -(1380) found -[4704] Forked 1381 -(1381) found -[4703] Forked 1382 -(1382) found -[4702] Forked 1383 -(1383) found -[4701] Forked 1384 -(1384) found -[4700] Forked 1385 -(1385) found -[4699] Forked 1386 -(1386) found -[4698] Forked 1387 -(1387) found -[4697] Forked 1388 -(1388) found -[4696] Forked 1389 -(1389) found -[4695] Forked 1390 -(1390) found -[4694] Forked 1391 -(1391) found -[4693] Forked 1392 -(1392) found -[4692] Forked 1393 -(1393) found -[4691] Forked 1394 -(1394) found -[4690] Forked 1395 -(1395) found -[4689] Forked 1396 -(1396) found -[4688] Forked 1397 -(1397) found -[4687] Forked 1398 -(1398) found -[4686] Forked 1399 -(1399) found -[4685] Forked 1400 -(1400) found -[4684] Forked 1401 -(1401) found -[4683] Forked 1402 -(1402) found -[4682] Forked 1403 -(1403) found -[4681] Forked 1404 -(1404) found -[4680] Forked 1405 -(1405) found -[4679] Forked 1406 -[4678] Forked 1407 -(1406) found -(1407) found -[4677] Forked 1408 -[4676] Forked 1409 -(1408) found -(1409) found -[4675] Forked 1410 -[4674] Forked 1411 -(1410) found -(1411) found -[4673] Forked 1412 -[4672] Forked 1413 -(1412) found -(1413) found -[4671] Forked 1414 -[4670] Forked 1415 -(1414) found -(1415) found -[4669] Forked 1416 -[4668] Forked 1417 -(1416) found -(1417) found -[4667] Forked 1418 -[4666] Forked 1419 -(1418) found -(1419) found -[4665] Forked 1420 -[4664] Forked 1421 -(1420) found -(1421) found -[4663] Forked 1422 -[4662] Forked 1423 -(1422) found -(1423) found -[4661] Forked 1424 -[4660] Forked 1425 -(1424) found -(1425) found -[4659] Forked 1426 -[4658] Forked 1427 -(1426) found -(1427) found -[4657] Forked 1428 -[4656] Forked 1429 -(1428) found -(1429) found -[4655] Forked 1430 -[4654] Forked 1431 -(1431) found -(1430) found -[4653] Forked 1432 -(1432) found -[4652] Forked 1433 -(1433) found -[4651] Forked 1434 -(1434) found -[4650] Forked 1435 -(1435) found -[4649] Forked 1436 -(1436) found -[4648] Forked 1437 -(1437) found -[4647] Forked 1438 -(1438) found -[4646] Forked 1440 -(1440) found -[4645] Forked 1441 -(1441) found -[4644] Forked 1442 -(1442) found -[4643] Forked 1443 -(1443) found -[4642] Forked 1444 -(1444) found -[4641] Forked 1445 -(1445) found -[4640] Forked 1446 -(1446) found -[4639] Forked 1447 -(1447) found -[4638] Forked 1448 -(1448) found -[4637] Forked 1449 -(1449) found -[4636] Forked 1450 -(1450) found -[4635] Forked 1451 -(1451) found -[4634] Forked 1452 -(1452) found -[4633] Forked 1453 -(1453) found -[4632] Forked 1454 -(1454) found -[4631] Forked 1455 -(1455) found -[4630] Forked 1456 -(1456) found -[4629] Forked 1457 -(1457) found -[4628] Forked 1458 -(1458) found -[4627] Forked 1459 -(1459) found -[4626] Forked 1460 -(1460) found -[4625] Forked 1461 -(1461) found -[4624] Forked 1462 -(1462) found -[4623] Forked 1463 -(1463) found -[4622] Forked 1464 -(1464) found -[4621] Forked 1465 -(1465) found -[4620] Forked 1466 -(1466) found -[4619] Forked 1467 -(1467) found -[4618] Forked 1468 -(1468) found -[4617] Forked 1469 -(1469) found -[4616] Forked 1470 -(1470) found -[4615] Forked 1471 -(1471) found -[4614] Forked 1472 -(1472) found -[4613] Forked 1473 -(1473) found -[4612] Forked 1474 -(1474) found -[4611] Forked 1475 -(1475) found -[4610] Forked 1476 -(1476) found -[4609] Forked 1477 -(1477) found -[4608] Forked 1478 -(1478) found -[4607] Forked 1479 -(1479) found -[4606] Forked 1480 -(1480) found -[4605] Forked 1481 -(1481) found -[4604] Forked 1482 -(1482) found -[4603] Forked 1483 -(1483) found -[4602] Forked 1484 -(1484) found -[4601] Forked 1485 -(1485) found -[4600] Forked 1486 -(1486) found -[4599] Forked 1487 -(1487) found -[4598] Forked 1488 -(1488) found -[4597] Forked 1489 -(1489) found -[4596] Forked 1490 -(1490) found -[4595] Forked 1491 -(1491) found -[4594] Forked 1492 -(1492) found -[4593] Forked 1493 -(1493) found -[4592] Forked 1494 -(1494) found -[4591] Forked 1495 -(1495) found -[4590] Forked 1496 -(1496) found -[4589] Forked 1497 -(1497) found -[4588] Forked 1498 -(1498) found -[4587] Forked 1499 -(1499) found -[4586] Forked 1500 -(1500) found -[4585] Forked 1501 -(1501) found -[4584] Forked 1502 -(1502) found -[4583] Forked 1503 -(1503) found -[4582] Forked 1504 -(1504) found -[4581] Forked 1505 -(1505) found -[4580] Forked 1506 -(1506) found -[4579] Forked 1507 -(1507) found -[4578] Forked 1508 -(1508) found -[4577] Forked 1509 -(1509) found -[4576] Forked 1510 -(1510) found -[4575] Forked 1511 -(1511) found -[4574] Forked 1512 -(1512) found -[4573] Forked 1513 -(1513) found -[4572] Forked 1514 -(1514) found -[4571] Forked 1515 -[4570] Forked 1516 -(1515) found -(1516) found -[4569] Forked 1517 -[4568] Forked 1518 -(1517) found -(1518) found -[4567] Forked 1519 -(1519) found -[4566] Forked 1520 -[4565] Forked 1521 -(1520) found -(1521) found -[4564] Forked 1522 -[4563] Forked 1523 -(1522) found -(1523) found -[4562] Forked 1524 -[4561] Forked 1525 -(1524) found -(1525) found -[4560] Forked 1526 -[4559] Forked 1527 -(1526) found -(1527) found -[4558] Forked 1528 -[4557] Forked 1529 -(1528) found -(1529) found -[4556] Forked 1530 -[4555] Forked 1531 -(1530) found -(1531) found -[4554] Forked 1532 -[4553] Forked 1533 -(1532) found -(1533) found -[4552] Forked 1534 -[4551] Forked 1535 -(1534) found -(1535) found -[4550] Forked 1536 -[4549] Forked 1537 -(1536) found -(1537) found -[4548] Forked 1538 -[4547] Forked 1539 -(1538) found -(1539) found -[4546] Forked 1540 -[4545] Forked 1541 -(1540) found -(1541) found -[4544] Forked 1542 -[4543] Forked 1543 -(1542) found -(1543) found -[4542] Forked 1544 -[4541] Forked 1545 -(1544) found -(1545) found -[4540] Forked 1546 -[4539] Forked 1547 -(1546) found -(1547) found -[4538] Forked 1548 -[4537] Forked 1549 -(1548) found -(1549) found -[4536] Forked 1550 -[4535] Forked 1551 -(1550) found -(1551) found -[4534] Forked 1552 -[4533] Forked 1553 -(1552) found -(1553) found -[4532] Forked 1554 -[4531] Forked 1555 -(1554) found -(1555) found -[4530] Forked 1556 -[4529] Forked 1557 -(1556) found -(1557) found -[4528] Forked 1558 -[4527] Forked 1559 -(1558) found -(1559) found -[4526] Forked 1560 -[4525] Forked 1561 -(1560) found -(1561) found -[4524] Forked 1562 -[4523] Forked 1563 -(1562) found -(1563) found -[4522] Forked 1564 -[4521] Forked 1565 -(1564) found -(1565) found -[4520] Forked 1566 -[4519] Forked 1567 -(1566) found -(1567) found -[4518] Forked 1568 -[4517] Forked 1569 -(1568) found -(1569) found -[4516] Forked 1570 -[4515] Forked 1571 -(1570) found -(1571) found -[4514] Forked 1572 -[4513] Forked 1573 -(1572) found -(1573) found -[4512] Forked 1574 -[4511] Forked 1575 -(1574) found -(1575) found -[4510] Forked 1576 -[4509] Forked 1577 -(1576) found -(1577) found -[4508] Forked 1578 -[4507] Forked 1579 -(1578) found -(1579) found -[4506] Forked 1580 -[4505] Forked 1581 -(1580) found -(1581) found -[4504] Forked 1582 -[4503] Forked 1583 -(1582) found -(1583) found -[4502] Forked 1584 -[4501] Forked 1585 -(1584) found -(1585) found -[4500] Forked 1586 -[4499] Forked 1587 -(1586) found -(1587) found -[4498] Forked 1588 -[4497] Forked 1589 -(1588) found -(1589) found -[4496] Forked 1590 -[4495] Forked 1591 -(1590) found -(1591) found -[4494] Forked 1592 -[4493] Forked 1593 -(1592) found -(1593) found -[4492] Forked 1595 -[4491] Forked 1596 -(1595) found -(1596) found -[4490] Forked 1597 -[4489] Forked 1598 -(1597) found -(1598) found -[4488] Forked 1599 -[4487] Forked 1600 -(1599) found -(1600) found -[4486] Forked 1601 -[4485] Forked 1602 -(1601) found -(1602) found -[4484] Forked 1603 -[4483] Forked 1604 -(1603) found -(1604) found -[4482] Forked 1605 -[4481] Forked 1606 -(1605) found -(1606) found -[4480] Forked 1607 -[4479] Forked 1608 -(1607) found -(1608) found -[4478] Forked 1609 -[4477] Forked 1611 -(1609) found -(1611) found -[4476] Forked 1612 -(1612) found -[4475] Forked 1613 -(1613) found -[4474] Forked 1614 -(1614) found -[4473] Forked 1615 -(1615) found -[4472] Forked 1616 -(1616) found -[4471] Forked 1617 -(1617) found -[4470] Forked 1618 -(1618) found -[4469] Forked 1619 -(1619) found -[4468] Forked 1620 -(1620) found -[4467] Forked 1621 -(1621) found -[4466] Forked 1622 -(1622) found -[4465] Forked 1623 -(1623) found -[4464] Forked 1624 -(1624) found -[4463] Forked 1625 -(1625) found -[4462] Forked 1626 -(1626) found -[4461] Forked 1627 -(1627) found -[4460] Forked 1628 -(1628) found -[4459] Forked 1629 -(1629) found -[4458] Forked 1630 -(1630) found -[4457] Forked 1631 -(1631) found -[4456] Forked 1632 -(1632) found -[4455] Forked 1633 -(1633) found -[4454] Forked 1634 -(1634) found -[4453] Forked 1635 -(1635) found -[4452] Forked 1636 -(1636) found -[4451] Forked 1637 -(1637) found -[4450] Forked 1638 -(1638) found -[4449] Forked 1639 -(1639) found -[4448] Forked 1640 -(1640) found -[4447] Forked 1641 -(1641) found -[4446] Forked 1642 -(1642) found -[4445] Forked 1643 -(1643) found -[4444] Forked 1644 -(1644) found -[4443] Forked 1645 -(1645) found -[4442] Forked 1646 -(1646) found -[4441] Forked 1647 -(1647) found -[4440] Forked 1648 -(1648) found -[4439] Forked 1649 -(1649) found -[4438] Forked 1650 -(1650) found -[4437] Forked 1651 -(1651) found -[4436] Forked 1652 -(1652) found -[4435] Forked 1653 -(1653) found -[4434] Forked 1654 -(1654) found -[4433] Forked 1655 -(1655) found -[4432] Forked 1656 -(1656) found -[4431] Forked 1657 -(1657) found -[4430] Forked 1658 -(1658) found -[4429] Forked 1659 -(1659) found -[4428] Forked 1660 -(1660) found -[4427] Forked 1661 -(1661) found -[4426] Forked 1662 -(1662) found -[4425] Forked 1663 -(1663) found -[4424] Forked 1664 -(1664) found -[4423] Forked 1665 -(1665) found -[4422] Forked 1666 -(1666) found -[4421] Forked 1668 -(1668) found -[4420] Forked 1669 -(1669) found -[4419] Forked 1670 -(1670) found -[4418] Forked 1671 -(1671) found -[4417] Forked 1672 -(1672) found -[4416] Forked 1673 -(1673) found -[4415] Forked 1674 -(1674) found -[4414] Forked 1675 -(1675) found -[4413] Forked 1676 -(1676) found -[4412] Forked 1677 -(1677) found -[4411] Forked 1679 -(1679) found -[4410] Forked 1680 -[4409] Forked 1681 -(1680) found -(1681) found -[4408] Forked 1682 -[4407] Forked 1683 -(1682) found -(1683) found -[4406] Forked 1684 -[4405] Forked 1685 -(1684) found -(1685) found -[4404] Forked 1686 -[4403] Forked 1687 -(1686) found -(1687) found -[4402] Forked 1688 -[4401] Forked 1689 -(1688) found -(1689) found -[4400] Forked 1690 -[4399] Forked 1691 -(1690) found -(1691) found -[4398] Forked 1692 -[4397] Forked 1693 -(1692) found -(1693) found -[4396] Forked 1694 -[4395] Forked 1695 -(1694) found -(1695) found -[4394] Forked 1696 -[4393] Forked 1697 -(1696) found -(1697) found -[4392] Forked 1698 -[4391] Forked 1699 -(1698) found -(1699) found -[4390] Forked 1700 -[4389] Forked 1701 -(1700) found -(1701) found -[4388] Forked 1702 -[4387] Forked 1703 -(1702) found -(1703) found -[4386] Forked 1704 -[4385] Forked 1705 -(1704) found -(1705) found -[4384] Forked 1706 -[4383] Forked 1707 -(1706) found -(1707) found -[4382] Forked 1708 -[4381] Forked 1709 -(1708) found -(1709) found -[4380] Forked 1710 -[4379] Forked 1711 -(1710) found -(1711) found -[4378] Forked 1712 -[4377] Forked 1713 -(1712) found -(1713) found -[4376] Forked 1714 -[4375] Forked 1715 -(1714) found -(1715) found -[4374] Forked 1716 -[4373] Forked 1717 -(1716) found -(1717) found -[4372] Forked 1718 -[4371] Forked 1719 -(1718) found -(1719) found -[4370] Forked 1720 -[4369] Forked 1721 -(1720) found -(1721) found -[4368] Forked 1722 -[4367] Forked 1723 -(1722) found -(1723) found -[4366] Forked 1724 -(1724) found -[4365] Forked 1725 -(1725) found -[4364] Forked 1726 -(1726) found -[4363] Forked 1727 -(1727) found -[4362] Forked 1728 -(1728) found -[4361] Forked 1729 -(1729) found -[4360] Forked 1730 -(1730) found -[4359] Forked 1731 -(1731) found -[4358] Forked 1732 -(1732) found -[4357] Forked 1733 -(1733) found -[4356] Forked 1734 -(1734) found -[4355] Forked 1735 -(1735) found -[4354] Forked 1736 -(1736) found -[4353] Forked 1737 -(1737) found -[4352] Forked 1738 -(1738) found -[4351] Forked 1739 -(1739) found -[4350] Forked 1740 -(1740) found -[4349] Forked 1741 -(1741) found -[4348] Forked 1742 -(1742) found -[4347] Forked 1743 -(1743) found -[4346] Forked 1744 -(1744) found -[4345] Forked 1745 -(1745) found -[4344] Forked 1746 -(1746) found -[4343] Forked 1747 -(1747) found -[4342] Forked 1748 -(1748) found -[4341] Forked 1749 -(1749) found -[4340] Forked 1750 -(1750) found -[4339] Forked 1751 -(1751) found -[4338] Forked 1752 -(1752) found -[4337] Forked 1753 -(1753) found -[4336] Forked 1754 -(1754) found -[4335] Forked 1755 -(1755) found -[4334] Forked 1756 -(1756) found -[4333] Forked 1757 -(1757) found -[4332] Forked 1758 -(1758) found -[4331] Forked 1760 -[4330] Forked 1761 -(1760) found -(1761) found -[4329] Forked 1762 -[4328] Forked 1763 -(1762) found -(1763) found -[4327] Forked 1764 -[4326] Forked 1765 -(1764) found -(1765) found -[4325] Forked 1766 -[4324] Forked 1767 -(1766) found -(1767) found -[4323] Forked 1768 -[4322] Forked 1769 -(1768) found -(1769) found -[4321] Forked 1770 -[4320] Forked 1771 -(1770) found -(1771) found -[4319] Forked 1772 -[4318] Forked 1773 -(1772) found -(1773) found -[4317] Forked 1774 -[4316] Forked 1775 -(1774) found -(1775) found -[4315] Forked 1776 -[4314] Forked 1777 -(1776) found -(1777) found -[4313] Forked 1778 -[4312] Forked 1779 -(1778) found -(1779) found -[4311] Forked 1780 -[4310] Forked 1781 -(1780) found -(1781) found -[4309] Forked 1782 -[4308] Forked 1783 -(1782) found -(1783) found -[4307] Forked 1784 -[4306] Forked 1785 -(1784) found -(1785) found -[4305] Forked 1786 -[4304] Forked 1787 -(1786) found -(1787) found -[4303] Forked 1788 -[4302] Forked 1789 -(1788) found -(1789) found -[4301] Forked 1790 -[4300] Forked 1791 -(1790) found -(1791) found -[4299] Forked 1792 -[4298] Forked 1793 -(1792) found -(1793) found -[4297] Forked 1794 -[4296] Forked 1795 -(1794) found -(1795) found -[4295] Forked 1796 -[4294] Forked 1797 -(1796) found -(1797) found -[4293] Forked 1798 -[4292] Forked 1799 -(1798) found -(1799) found -[4291] Forked 1800 -[4290] Forked 1801 -(1800) found -(1801) found -[4289] Forked 1802 -[4288] Forked 1803 -(1802) found -(1803) found -[4287] Forked 1804 -[4286] Forked 1805 -(1804) found -(1805) found -[4285] Forked 1806 -[4284] Forked 1807 -(1806) found -(1807) found -[4283] Forked 1808 -[4282] Forked 1809 -(1808) found -(1809) found -[4281] Forked 1810 -[4280] Forked 1811 -(1810) found -(1811) found -[4279] Forked 1812 -[4278] Forked 1813 -(1812) found -(1813) found -[4277] Forked 1814 -[4276] Forked 1815 -(1814) found -(1815) found -[4275] Forked 1816 -[4274] Forked 1817 -(1816) found -(1817) found -[4273] Forked 1818 -[4272] Forked 1819 -(1818) found -(1819) found -[4271] Forked 1820 -[4270] Forked 1821 -(1820) found -(1821) found -[4269] Forked 1822 -[4268] Forked 1823 -(1822) found -(1823) found -[4267] Forked 1824 -[4266] Forked 1825 -(1824) found -(1825) found -[4265] Forked 1826 -[4264] Forked 1827 -(1826) found -(1827) found -[4263] Forked 1828 -[4262] Forked 1829 -(1828) found -(1829) found -[4261] Forked 1830 -[4260] Forked 1831 -(1830) found -(1831) found -[4259] Forked 1832 -[4258] Forked 1833 -(1832) found -(1833) found -[4257] Forked 1834 -[4256] Forked 1835 -(1834) found -(1835) found -[4255] Forked 1836 -[4254] Forked 1837 -(1836) found -(1837) found -[4253] Forked 1838 -[4252] Forked 1839 -(1838) found -(1839) found -[4251] Forked 1840 -[4250] Forked 1841 -(1840) found -(1841) found -[4249] Forked 1842 -[4248] Forked 1843 -(1842) found -(1843) found -[4247] Forked 1844 -[4246] Forked 1845 -(1844) found -(1845) found -[4245] Forked 1846 -[4244] Forked 1847 -(1846) found -(1847) found -[4243] Forked 1848 -[4242] Forked 1849 -(1848) found -(1849) found -[4241] Forked 1850 -[4240] Forked 1851 -(1850) found -(1851) found -[4239] Forked 1852 -[4238] Forked 1853 -(1852) found -(1853) found -[4237] Forked 1854 -[4236] Forked 1855 -(1854) found -(1855) found -[4235] Forked 1856 -[4234] Forked 1857 -(1856) found -(1857) found -[4233] Forked 1858 -[4232] Forked 1859 -(1858) found -(1859) found -[4231] Forked 1860 -[4230] Forked 1861 -(1860) found -(1861) found -[4229] Forked 1862 -[4228] Forked 1863 -(1862) found -(1863) found -[4227] Forked 1864 -[4226] Forked 1865 -(1864) found -(1865) found -[4225] Forked 1866 -[4224] Forked 1867 -(1866) found -(1867) found -[4223] Forked 1868 -[4222] Forked 1869 -(1868) found -(1869) found -[4221] Forked 1870 -[4220] Forked 1871 -(1870) found -(1871) found -[4219] Forked 1872 -[4218] Forked 1873 -(1872) found -(1873) found -[4217] Forked 1874 -[4216] Forked 1875 -(1874) found -(1875) found -[4215] Forked 1876 -[4214] Forked 1877 -(1876) found -(1877) found -[4213] Forked 1878 -[4212] Forked 1879 -(1878) found -(1879) found -[4211] Forked 1880 -[4210] Forked 1881 -(1880) found -(1881) found -[4209] Forked 1882 -[4208] Forked 1883 -(1882) found -(1883) found -[4207] Forked 1884 -[4206] Forked 1885 -(1884) found -(1885) found -[4205] Forked 1886 -[4204] Forked 1887 -(1886) found -(1887) found -[4203] Forked 1888 -[4202] Forked 1889 -(1888) found -(1889) found -[4201] Forked 1890 -[4200] Forked 1891 -(1890) found -(1891) found -[4199] Forked 1892 -[4198] Forked 1893 -(1892) found -(1893) found -[4197] Forked 1894 -(1894) found -[4196] Forked 1895 -[4195] Forked 1896 -(1895) found -(1896) found -[4194] Forked 1897 -[4193] Forked 1898 -(1897) found -(1898) found -[4192] Forked 1899 -[4191] Forked 1900 -(1899) found -(1900) found -[4190] Forked 1901 -[4189] Forked 1902 -(1901) found -(1902) found -[4188] Forked 1903 -[4187] Forked 1904 -(1903) found -(1904) found -[4186] Forked 1905 -[4185] Forked 1906 -(1905) found -(1906) found -[4184] Forked 1907 -[4183] Forked 1908 -(1907) found -(1908) found -[4182] Forked 1909 -[4181] Forked 1910 -(1909) found -(1910) found -[4180] Forked 1911 -[4179] Forked 1912 -(1911) found -(1912) found -[4178] Forked 1913 -[4177] Forked 1914 -(1913) found -(1914) found -[4176] Forked 1915 -[4175] Forked 1916 -(1915) found -(1916) found -[4174] Forked 1917 -[4173] Forked 1918 -(1917) found -(1918) found -[4172] Forked 1919 -[4171] Forked 1920 -(1919) found -(1920) found -[4170] Forked 1921 -[4169] Forked 1922 -(1921) found -(1922) found -[4168] Forked 1923 -[4167] Forked 1924 -(1923) found -(1924) found -[4166] Forked 1925 -[4165] Forked 1926 -(1925) found -(1926) found -[4164] Forked 1927 -[4163] Forked 1928 -(1927) found -(1928) found -[4162] Forked 1929 -[4161] Forked 1930 -(1929) found -(1930) found -[4160] Forked 1931 -[4159] Forked 1932 -(1931) found -(1932) found -[4158] Forked 1933 -[4157] Forked 1934 -(1933) found -(1934) found -[4156] Forked 1935 -[4155] Forked 1936 -(1935) found -(1936) found -[4154] Forked 1937 -[4153] Forked 1938 -(1937) found -(1938) found -[4152] Forked 1939 -[4151] Forked 1940 -(1939) found -(1940) found -[4150] Forked 1941 -(1941) found -[4149] Forked 1942 -(1942) found -[4148] Forked 1943 -(1943) found -[4147] Forked 1944 -(1944) found -[4146] Forked 1945 -(1945) found -[4145] Forked 1946 -(1946) found -[4144] Forked 1947 -(1947) found -[4143] Forked 1948 -(1948) found -[4142] Forked 1949 -(1949) found -[4141] Forked 1950 -(1950) found -[4140] Forked 1951 -(1951) found -[4139] Forked 1952 -(1952) found -[4138] Forked 1953 -(1953) found -[4137] Forked 1954 -(1954) found -[4136] Forked 1955 -(1955) found -[4135] Forked 1956 -(1956) found -[4134] Forked 1957 -(1957) found -[4133] Forked 1958 -(1958) found -[4132] Forked 1959 -(1959) found -[4131] Forked 1960 -(1960) found -[4130] Forked 1961 -(1961) found -[4129] Forked 1962 -(1962) found -[4128] Forked 1963 -(1963) found -[4127] Forked 1964 -(1964) found -[4126] Forked 1965 -(1965) found -[4125] Forked 1966 -(1966) found -[4124] Forked 1967 -(1967) found -[4123] Forked 1968 -(1968) found -[4122] Forked 1969 -(1969) found -[4121] Forked 1970 -(1970) found -[4120] Forked 1971 -(1971) found -[4119] Forked 1972 -(1972) found -[4118] Forked 1973 -(1973) found -[4117] Forked 1974 -(1974) found -[4116] Forked 1975 -[4115] Forked 1976 -(1975) found -(1976) found -[4114] Forked 1977 -[4113] Forked 1978 -(1977) found -(1978) found -[4112] Forked 1979 -(1979) found -[4111] Forked 1980 -(1980) found -[4110] Forked 1981 -[4109] Forked 1982 -(1981) found -(1982) found -[4108] Forked 1983 -[4107] Forked 1984 -(1983) found -(1984) found -[4106] Forked 1985 -[4105] Forked 1986 -(1985) found -(1986) found -[4104] Forked 1987 -[4103] Forked 1988 -(1987) found -(1988) found -[4102] Forked 1989 -[4101] Forked 1990 -(1989) found -(1990) found -[4100] Forked 1991 -[4099] Forked 1992 -(1991) found -(1992) found -[4098] Forked 1993 -[4097] Forked 1994 -(1993) found -(1994) found -[4096] Forked 1995 -[4095] Forked 1996 -(1995) found -(1996) found -[4094] Forked 1997 -[4093] Forked 1998 -(1997) found -(1998) found -[4092] Forked 1999 -[4091] Forked 2000 -(1999) found -(2000) found -[4090] Forked 2001 -[4089] Forked 2002 -(2001) found -(2002) found -[4088] Forked 2003 -[4087] Forked 2004 -(2003) found -(2004) found -[4086] Forked 2005 -[4085] Forked 2006 -(2005) found -(2006) found -[4084] Forked 2007 -[4083] Forked 2008 -(2007) found -(2008) found -[4082] Forked 2009 -[4081] Forked 2010 -(2009) found -(2010) found -[4080] Forked 2011 -[4079] Forked 2012 -(2011) found -(2012) found -[4078] Forked 2013 -[4077] Forked 2014 -(2013) found -(2014) found -[4076] Forked 2015 -[4075] Forked 2016 -(2015) found -(2016) found -[4074] Forked 2017 -[4073] Forked 2018 -(2017) found -(2018) found -[4072] Forked 2019 -[4071] Forked 2020 -(2019) found -(2020) found -[4070] Forked 2021 -[4069] Forked 2022 -(2021) found -(2022) found -[4068] Forked 2023 -[4067] Forked 2024 -(2023) found -(2024) found -[4066] Forked 2025 -[4065] Forked 2026 -(2025) found -(2026) found -[4064] Forked 2027 -[4063] Forked 2028 -(2027) found -(2028) found -[4062] Forked 2029 -[4061] Forked 2030 -(2029) found -(2030) found -[4060] Forked 2031 -[4059] Forked 2032 -(2031) found -(2032) found -[4058] Forked 2033 -[4057] Forked 2034 -(2033) found -(2034) found -[4056] Forked 2035 -[4055] Forked 2036 -(2035) found -(2036) found -[4054] Forked 2037 -[4053] Forked 2038 -(2037) found -(2038) found -[4052] Forked 2039 -[4051] Forked 2040 -(2039) found -(2040) found -[4050] Forked 2041 -[4049] Forked 2042 -(2041) found -(2042) found -[4048] Forked 2043 -[4047] Forked 2044 -(2043) found -(2044) found -[4046] Forked 2045 -[4045] Forked 2046 -(2045) found -(2046) found -[4044] Forked 2047 -[4043] Forked 2048 -(2047) found -(2048) found -[4042] Forked 2049 -[4041] Forked 2050 -(2049) found -(2050) found -[4040] Forked 2051 -[4039] Forked 2052 -(2051) found -(2052) found -[4038] Forked 2053 -[4037] Forked 2054 -(2053) found -(2054) found -[4036] Forked 2055 -[4035] Forked 2056 -(2055) found -(2056) found -[4034] Forked 2057 -[4033] Forked 2058 -(2057) found -(2058) found -[4032] Forked 2059 -[4031] Forked 2060 -(2059) found -(2060) found -[4030] Forked 2061 -[4029] Forked 2062 -(2061) found -(2062) found -[4028] Forked 2063 -[4027] Forked 2064 -(2063) found -(2064) found -[4026] Forked 2065 -[4025] Forked 2066 -(2065) found -(2066) found -[4024] Forked 2067 -[4023] Forked 2068 -(2067) found -(2068) found -[4022] Forked 2070 -[4021] Forked 2071 -(2070) found -(2071) found -[4020] Forked 2072 -[4019] Forked 2073 -(2072) found -(2073) found -[4018] Forked 2074 -[4017] Forked 2075 -(2074) found -(2075) found -[4016] Forked 2076 -[4015] Forked 2077 -(2076) found -(2077) found -[4014] Forked 2078 -[4013] Forked 2079 -(2078) found -(2079) found -[4012] Forked 2080 -[4011] Forked 2081 -(2080) found -(2081) found -[4010] Forked 2082 -[4009] Forked 2083 -(2082) found -(2083) found -[4008] Forked 2084 -[4007] Forked 2085 -(2084) found -(2085) found -[4006] Forked 2086 -[4005] Forked 2087 -(2086) found -(2087) found -[4004] Forked 2088 -[4003] Forked 2089 -(2088) found -(2089) found -[4002] Forked 2090 -[4001] Forked 2091 -(2090) found -(2091) found -[4000] Forked 2092 -[3999] Forked 2093 -(2092) found -(2093) found -[3998] Forked 2094 -[3997] Forked 2095 -(2094) found -(2095) found -[3996] Forked 2096 -[3995] Forked 2097 -(2096) found -(2097) found -[3994] Forked 2098 -[3993] Forked 2099 -(2098) found -(2099) found -[3992] Forked 2100 -[3991] Forked 2101 -(2100) found -(2101) found -[3990] Forked 2102 -[3989] Forked 2103 -(2102) found -(2103) found -[3988] Forked 2104 -[3987] Forked 2105 -(2104) found -(2105) found -[3986] Forked 2106 -[3985] Forked 2109 -(2106) found -(2109) found -[3984] Forked 2110 -[3983] Forked 2111 -(2110) found -(2111) found -[3982] Forked 2112 -[3981] Forked 2113 -(2112) found -(2113) found -[3980] Forked 2114 -[3979] Forked 2115 -(2114) found -(2115) found -[3978] Forked 2116 -[3977] Forked 2117 -(2116) found -(2117) found -[3976] Forked 2118 -[3975] Forked 2119 -(2118) found -(2119) found -[3974] Forked 2120 -[3973] Forked 2121 -(2120) found -(2121) found -[3972] Forked 2122 -[3971] Forked 2123 -(2122) found -(2123) found -[3970] Forked 2124 -[3969] Forked 2125 -(2124) found -(2125) found -[3968] Forked 2126 -[3967] Forked 2127 -(2126) found -(2127) found -[3966] Forked 2128 -[3965] Forked 2129 -(2128) found -(2129) found -[3964] Forked 2130 -[3963] Forked 2131 -(2130) found -(2131) found -[3962] Forked 2132 -[3961] Forked 2133 -(2132) found -(2133) found -[3960] Forked 2134 -[3959] Forked 2135 -(2134) found -(2135) found -[3958] Forked 2136 -[3957] Forked 2137 -(2136) found -(2137) found -[3956] Forked 2138 -[3955] Forked 2139 -(2138) found -(2139) found -[3954] Forked 2140 -[3953] Forked 2141 -(2140) found -(2141) found -[3952] Forked 2142 -[3951] Forked 2143 -(2142) found -(2143) found -[3950] Forked 2144 -[3949] Forked 2145 -(2144) found -(2145) found -[3948] Forked 2146 -[3947] Forked 2147 -(2146) found -(2147) found -[3946] Forked 2148 -[3945] Forked 2149 -(2148) found -(2149) found -[3944] Forked 2150 -[3943] Forked 2151 -(2150) found -(2151) found -[3942] Forked 2152 -[3941] Forked 2153 -(2152) found -(2153) found -[3940] Forked 2154 -[3939] Forked 2155 -(2154) found -(2155) found -[3938] Forked 2156 -[3937] Forked 2157 -(2156) found -(2157) found -[3936] Forked 2158 -[3935] Forked 2159 -(2158) found -(2159) found -[3934] Forked 2160 -[3933] Forked 2161 -(2160) found -(2161) found -[3932] Forked 2162 -[3931] Forked 2163 -(2162) found -(2163) found -[3930] Forked 2164 -[3929] Forked 2165 -(2164) found -(2165) found -[3928] Forked 2166 -[3927] Forked 2167 -(2166) found -(2167) found -[3926] Forked 2168 -[3925] Forked 2169 -(2168) found -(2169) found -[3924] Forked 2170 -[3923] Forked 2171 -(2170) found -(2171) found -[3922] Forked 2172 -[3921] Forked 2173 -(2172) found -(2173) found -[3920] Forked 2174 -[3919] Forked 2175 -(2174) found -(2175) found -[3918] Forked 2176 -[3917] Forked 2177 -(2176) found -(2177) found -[3916] Forked 2178 -[3915] Forked 2179 -(2178) found -(2179) found -[3914] Forked 2180 -[3913] Forked 2181 -(2180) found -(2181) found -[3912] Forked 2182 -[3911] Forked 2183 -(2182) found -(2183) found -[3910] Forked 2184 -[3909] Forked 2185 -(2184) found -(2185) found -[3908] Forked 2186 -[3907] Forked 2187 -(2186) found -(2187) found -[3906] Forked 2188 -[3905] Forked 2189 -(2188) found -(2189) found -[3904] Forked 2190 -[3903] Forked 2191 -(2190) found -(2191) found -[3902] Forked 2192 -[3901] Forked 2193 -(2192) found -(2193) found -[3900] Forked 2194 -[3899] Forked 2195 -(2194) found -(2195) found -[3898] Forked 2196 -[3897] Forked 2197 -(2196) found -(2197) found -[3896] Forked 2198 -[3895] Forked 2199 -(2198) found -(2199) found -[3894] Forked 2200 -[3893] Forked 2201 -(2200) found -(2201) found -[3892] Forked 2202 -(2202) found -[3891] Forked 2203 -[3890] Forked 2204 -(2203) found -(2204) found -[3889] Forked 2205 -[3888] Forked 2206 -(2205) found -(2206) found -[3887] Forked 2207 -[3886] Forked 2208 -(2207) found -(2208) found -[3885] Forked 2209 -[3884] Forked 2210 -(2209) found -(2210) found -[3883] Forked 2211 -[3882] Forked 2212 -(2211) found -(2212) found -[3881] Forked 2213 -[3880] Forked 2214 -(2213) found -(2214) found -[3879] Forked 2215 -[3878] Forked 2216 -(2215) found -(2216) found -[3877] Forked 2217 -[3876] Forked 2218 -(2217) found -(2218) found -[3875] Forked 2219 -[3874] Forked 2220 -(2219) found -(2220) found -[3873] Forked 2221 -[3872] Forked 2222 -(2221) found -(2222) found -[3871] Forked 2223 -[3870] Forked 2224 -(2223) found -(2224) found -[3869] Forked 2225 -[3868] Forked 2226 -(2225) found -(2226) found -[3867] Forked 2227 -[3866] Forked 2228 -(2227) found -(2228) found -[3865] Forked 2229 -[3864] Forked 2230 -(2229) found -(2230) found -[3863] Forked 2231 -[3862] Forked 2232 -(2231) found -(2232) found -[3861] Forked 2233 -[3860] Forked 2234 -(2233) found -(2234) found -[3859] Forked 2235 -[3858] Forked 2236 -(2235) found -(2236) found -[3857] Forked 2237 -[3856] Forked 2238 -(2237) found -(2238) found -[3855] Forked 2239 -[3854] Forked 2240 -(2239) found -(2240) found -[3853] Forked 2241 -[3852] Forked 2242 -(2241) found -(2242) found -[3851] Forked 2243 -[3850] Forked 2244 -(2243) found -(2244) found -[3849] Forked 2245 -[3848] Forked 2246 -(2245) found -(2246) found -[3847] Forked 2247 -[3846] Forked 2248 -(2247) found -(2248) found -[3845] Forked 2249 -[3844] Forked 2250 -(2249) found -(2250) found -[3843] Forked 2251 -[3842] Forked 2252 -(2251) found -(2252) found -[3841] Forked 2253 -[3840] Forked 2254 -(2253) found -(2254) found -[3839] Forked 2255 -[3838] Forked 2256 -(2255) found -(2256) found -[3837] Forked 2257 -[3836] Forked 2258 -(2257) found -(2258) found -[3835] Forked 2259 -[3834] Forked 2260 -(2259) found -(2260) found -[3833] Forked 2261 -[3832] Forked 2265 -(2261) found -(2265) found -[3831] Forked 2266 -[3830] Forked 2267 -(2266) found -(2267) found -[3829] Forked 2268 -[3828] Forked 2269 -(2268) found -(2269) found -[3827] Forked 2270 -[3826] Forked 2271 -(2270) found -(2271) found -[3825] Forked 2272 -[3824] Forked 2273 -(2272) found -(2273) found -[3823] Forked 2274 -[3822] Forked 2275 -(2274) found -(2275) found -[3821] Forked 2276 -[3820] Forked 2277 -(2276) found -(2277) found -[3819] Forked 2278 -[3818] Forked 2279 -(2278) found -(2279) found -[3817] Forked 2280 -[3816] Forked 2281 -(2280) found -(2281) found -[3815] Forked 2282 -[3814] Forked 2283 -(2282) found -(2283) found -[3813] Forked 2284 -[3812] Forked 2285 -(2284) found -(2285) found -[3811] Forked 2286 -[3810] Forked 2287 -(2286) found -(2287) found -[3809] Forked 2288 -[3808] Forked 2289 -(2288) found -(2289) found -[3807] Forked 2290 -[3806] Forked 2291 -(2290) found -(2291) found -[3805] Forked 2292 -[3804] Forked 2293 -(2292) found -(2293) found -[3803] Forked 2294 -[3802] Forked 2295 -(2294) found -(2295) found -[3801] Forked 2296 -(2296) found -[3800] Forked 2297 -(2297) found -[3799] Forked 2298 -(2298) found -[3798] Forked 2299 -(2299) found -[3797] Forked 2300 -(2300) found -[3796] Forked 2301 -(2301) found -[3795] Forked 2302 -(2302) found -[3794] Forked 2303 -(2303) found -[3793] Forked 2304 -(2304) found -[3792] Forked 2305 -(2305) found -[3791] Forked 2306 -(2306) found -[3790] Forked 2307 -(2307) found -[3789] Forked 2308 -(2308) found -[3788] Forked 2309 -(2309) found -[3787] Forked 2310 -(2310) found -[3786] Forked 2311 -(2311) found -[3785] Forked 2312 -(2312) found -[3784] Forked 2313 -(2313) found -[3783] Forked 2314 -(2314) found -[3782] Forked 2315 -(2315) found -[3781] Forked 2316 -(2316) found -[3780] Forked 2317 -(2317) found -[3779] Forked 2318 -(2318) found -[3778] Forked 2319 -(2319) found -[3777] Forked 2320 -(2320) found -[3776] Forked 2321 -(2321) found -[3775] Forked 2322 -(2322) found -[3774] Forked 2323 -(2323) found -[3773] Forked 2324 -(2324) found -[3772] Forked 2325 -(2325) found -[3771] Forked 2326 -(2326) found -[3770] Forked 2327 -(2327) found -[3769] Forked 2328 -(2328) found -[3768] Forked 2329 -(2329) found -[3767] Forked 2330 -[3766] Forked 2331 -(2330) found -(2331) found -[3765] Forked 2332 -[3764] Forked 2333 -(2332) found -(2333) found -[3763] Forked 2334 -[3762] Forked 2335 -(2334) found -(2335) found -[3761] Forked 2336 -[3760] Forked 2337 -(2336) found -(2337) found -[3759] Forked 2338 -[3758] Forked 2339 -(2338) found -(2339) found -[3757] Forked 2340 -[3756] Forked 2341 -(2340) found -(2341) found -[3755] Forked 2342 -[3754] Forked 2343 -(2342) found -(2343) found -[3753] Forked 2344 -[3752] Forked 2345 -(2344) found -(2345) found -[3751] Forked 2346 -[3750] Forked 2347 -(2346) found -(2347) found -[3749] Forked 2348 -[3748] Forked 2349 -(2348) found -(2349) found -[3747] Forked 2350 -[3746] Forked 2351 -(2350) found -(2351) found -[3745] Forked 2352 -[3744] Forked 2353 -(2352) found -(2353) found -[3743] Forked 2354 -[3742] Forked 2355 -(2354) found -(2355) found -[3741] Forked 2356 -[3740] Forked 2357 -(2356) found -(2357) found -[3739] Forked 2358 -[3738] Forked 2359 -(2358) found -(2359) found -[3737] Forked 2360 -[3736] Forked 2361 -(2360) found -(2361) found -[3735] Forked 2362 -[3734] Forked 2363 -(2362) found -(2363) found -[3733] Forked 2364 -[3732] Forked 2365 -(2364) found -(2365) found -[3731] Forked 2366 -[3730] Forked 2367 -(2366) found -(2367) found -[3729] Forked 2368 -[3728] Forked 2369 -(2368) found -(2369) found -[3727] Forked 2370 -[3726] Forked 2371 -(2370) found -(2371) found -[3725] Forked 2372 -[3724] Forked 2373 -(2372) found -(2373) found -[3723] Forked 2374 -[3722] Forked 2375 -(2374) found -(2375) found -[3721] Forked 2376 -(2376) found -[3720] Forked 2377 -(2377) found -[3719] Forked 2378 -(2378) found -[3718] Forked 2379 -(2379) found -[3717] Forked 2380 -(2380) found -[3716] Forked 2381 -(2381) found -[3715] Forked 2382 -(2382) found -[3714] Forked 2383 -(2383) found -[3713] Forked 2384 -(2384) found -[3712] Forked 2385 -(2385) found -[3711] Forked 2386 -(2386) found -[3710] Forked 2387 -(2387) found -[3709] Forked 2388 -(2388) found -[3708] Forked 2389 -(2389) found -[3707] Forked 2390 -(2390) found -[3706] Forked 2391 -(2391) found -[3705] Forked 2392 -(2392) found -[3704] Forked 2393 -(2393) found -[3703] Forked 2394 -(2394) found -[3702] Forked 2395 -(2395) found -[3701] Forked 2396 -(2396) found -[3700] Forked 2397 -(2397) found -[3699] Forked 2398 -(2398) found -[3698] Forked 2399 -(2399) found -[3697] Forked 2400 -(2400) found -[3696] Forked 2401 -(2401) found -[3695] Forked 2402 -(2402) found -[3694] Forked 2404 -(2404) found -[3693] Forked 2405 -(2405) found -[3692] Forked 2406 -(2406) found -[3691] Forked 2407 -(2407) found -[3690] Forked 2408 -(2408) found -[3689] Forked 2409 -(2409) found -[3688] Forked 2410 -(2410) found -[3687] Forked 2411 -[3686] Forked 2412 -(2411) found -(2412) found -[3685] Forked 2413 -[3684] Forked 2414 -(2413) found -(2414) found -[3683] Forked 2415 -[3682] Forked 2416 -(2415) found -(2416) found -[3681] Forked 2417 -[3680] Forked 2418 -(2417) found -(2418) found -[3679] Forked 2419 -[3678] Forked 2420 -(2419) found -(2420) found -[3677] Forked 2421 -[3676] Forked 2422 -(2421) found -(2422) found -[3675] Forked 2423 -[3674] Forked 2424 -(2423) found -(2424) found -[3673] Forked 2425 -[3672] Forked 2426 -(2425) found -(2426) found -[3671] Forked 2427 -[3670] Forked 2428 -(2427) found -(2428) found -[3669] Forked 2429 -[3668] Forked 2430 -(2429) found -(2430) found -[3667] Forked 2431 -[3666] Forked 2432 -(2431) found -(2432) found -[3665] Forked 2433 -[3664] Forked 2434 -(2433) found -(2434) found -[3663] Forked 2435 -[3662] Forked 2436 -(2435) found -(2436) found -[3661] Forked 2437 -[3660] Forked 2438 -(2437) found -(2438) found -[3659] Forked 2439 -[3658] Forked 2440 -(2439) found -(2440) found -[3657] Forked 2441 -[3656] Forked 2442 -(2441) found -(2442) found -[3655] Forked 2443 -[3654] Forked 2444 -(2443) found -(2444) found -[3653] Forked 2445 -[3652] Forked 2446 -(2445) found -(2446) found -[3651] Forked 2447 -[3650] Forked 2448 -(2447) found -(2448) found -[3649] Forked 2449 -[3648] Forked 2450 -(2449) found -(2450) found -[3647] Forked 2451 -[3646] Forked 2452 -(2451) found -(2452) found -[3645] Forked 2453 -[3644] Forked 2454 -(2453) found -(2454) found -[3643] Forked 2455 -[3642] Forked 2456 -(2455) found -(2456) found -[3641] Forked 2457 -(2457) found -[3640] Forked 2458 -(2458) found -[3639] Forked 2459 -(2459) found -[3638] Forked 2460 -(2460) found -[3637] Forked 2461 -(2461) found -[3636] Forked 2462 -(2462) found -[3635] Forked 2463 -(2463) found -[3634] Forked 2464 -(2464) found -[3633] Forked 2465 -(2465) found -[3632] Forked 2466 -(2466) found -[3631] Forked 2467 -(2467) found -[3630] Forked 2468 -(2468) found -[3629] Forked 2469 -(2469) found -[3628] Forked 2470 -(2470) found -[3627] Forked 2471 -(2471) found -[3626] Forked 2472 -(2472) found -[3625] Forked 2473 -(2473) found -[3624] Forked 2474 -(2474) found -[3623] Forked 2475 -(2475) found -[3622] Forked 2476 -(2476) found -[3621] Forked 2477 -(2477) found -[3620] Forked 2478 -(2478) found -[3619] Forked 2479 -(2479) found -[3618] Forked 2480 -(2480) found -[3617] Forked 2481 -(2481) found -[3616] Forked 2482 -(2482) found -[3615] Forked 2483 -(2483) found -[3614] Forked 2484 -(2484) found -[3613] Forked 2485 -(2485) found -[3612] Forked 2486 -(2486) found -[3611] Forked 2487 -(2487) found -[3610] Forked 2488 -(2488) found -[3609] Forked 2489 -(2489) found -[3608] Forked 2490 -(2490) found -[3607] Forked 2491 -[3606] Forked 2492 -(2491) found -(2492) found -[3605] Forked 2493 -[3604] Forked 2494 -(2493) found -(2494) found -[3603] Forked 2495 -[3602] Forked 2496 -(2495) found -(2496) found -[3601] Forked 2497 -[3600] Forked 2498 -(2497) found -(2498) found -[3599] Forked 2499 -[3598] Forked 2500 -(2499) found -(2500) found -[3597] Forked 2501 -[3596] Forked 2502 -(2501) found -(2502) found -[3595] Forked 2503 -[3594] Forked 2504 -(2503) found -(2504) found -[3593] Forked 2505 -[3592] Forked 2506 -(2505) found -(2506) found -[3591] Forked 2507 -[3590] Forked 2508 -(2507) found -(2508) found -[3589] Forked 2509 -[3588] Forked 2510 -(2509) found -(2510) found -[3587] Forked 2512 -[3586] Forked 2513 -(2512) found -(2513) found -[3585] Forked 2514 -[3584] Forked 2515 -(2514) found -(2515) found -[3583] Forked 2516 -[3582] Forked 2517 -(2516) found -(2517) found -[3581] Forked 2518 -[3580] Forked 2519 -(2518) found -(2519) found -[3579] Forked 2520 -[3578] Forked 2521 -(2520) found -(2521) found -[3577] Forked 2522 -[3576] Forked 2523 -(2522) found -(2523) found -[3575] Forked 2525 -[3574] Forked 2526 -(2525) found -(2526) found -[3573] Forked 2527 -[3572] Forked 2528 -(2527) found -(2528) found -[3571] Forked 2529 -[3570] Forked 2530 -(2529) found -(2530) found -[3569] Forked 2531 -[3568] Forked 2532 -(2531) found -(2532) found -[3567] Forked 2533 -[3566] Forked 2534 -(2533) found -(2534) found -[3565] Forked 2535 -[3564] Forked 2536 -(2535) found -(2536) found -[3563] Forked 2537 -[3562] Forked 2538 -(2537) found -(2538) found -[3561] Forked 2539 -[3560] Forked 2541 -(2539) found -(2541) found -[3559] Forked 2542 -[3558] Forked 2543 -(2542) found -(2543) found -[3557] Forked 2544 -[3556] Forked 2545 -(2544) found -(2545) found -[3555] Forked 2546 -[3554] Forked 2547 -(2546) found -(2547) found -[3553] Forked 2548 -[3552] Forked 2549 -(2548) found -(2549) found -[3551] Forked 2550 -[3550] Forked 2551 -(2550) found -(2551) found -[3549] Forked 2552 -[3548] Forked 2553 -(2552) found -(2553) found -[3547] Forked 2554 -[3546] Forked 2555 -(2554) found -(2555) found -[3545] Forked 2556 -[3544] Forked 2557 -(2556) found -(2557) found -[3543] Forked 2558 -[3542] Forked 2559 -(2558) found -(2559) found -[3541] Forked 2560 -[3540] Forked 2561 -(2560) found -(2561) found -[3539] Forked 2562 -[3538] Forked 2563 -(2562) found -(2563) found -[3537] Forked 2564 -[3536] Forked 2565 -(2564) found -(2565) found -[3535] Forked 2566 -[3534] Forked 2567 -(2566) found -(2567) found -[3533] Forked 2568 -[3532] Forked 2569 -(2568) found -(2569) found -[3531] Forked 2570 -[3530] Forked 2571 -(2570) found -(2571) found -[3529] Forked 2572 -[3528] Forked 2573 -(2572) found -(2573) found -[3527] Forked 2574 -[3526] Forked 2575 -(2574) found -(2575) found -[3525] Forked 2576 -[3524] Forked 2577 -(2576) found -(2577) found -[3523] Forked 2578 -[3522] Forked 2579 -(2578) found -(2579) found -[3521] Forked 2580 -[3520] Forked 2581 -(2580) found -(2581) found -[3519] Forked 2582 -(2582) found -[3518] Forked 2583 -(2583) found -[3517] Forked 2584 -(2584) found -[3516] Forked 2585 -(2585) found -[3515] Forked 2586 -(2586) found -[3514] Forked 2587 -(2587) found -[3513] Forked 2588 -(2588) found -[3512] Forked 2589 -(2589) found -[3511] Forked 2590 -(2590) found -[3510] Forked 2591 -(2591) found -[3509] Forked 2592 -(2592) found -[3508] Forked 2593 -(2593) found -[3507] Forked 2594 -(2594) found -[3506] Forked 2595 -(2595) found -[3505] Forked 2596 -(2596) found -[3504] Forked 2597 -(2597) found -[3503] Forked 2598 -(2598) found -[3502] Forked 2599 -(2599) found -[3501] Forked 2600 -(2600) found -[3500] Forked 2601 -(2601) found -[3499] Forked 2602 -(2602) found -[3498] Forked 2603 -(2603) found -[3497] Forked 2604 -(2604) found -[3496] Forked 2605 -(2605) found -[3495] Forked 2606 -(2606) found -[3494] Forked 2607 -(2607) found -[3493] Forked 2608 -(2608) found -[3492] Forked 2609 -(2609) found -[3491] Forked 2610 -(2610) found -[3490] Forked 2611 -(2611) found -[3489] Forked 2612 -(2612) found -[3488] Forked 2613 -(2613) found -[3487] Forked 2614 -(2614) found -[3486] Forked 2615 -(2615) found -[3485] Forked 2616 -(2616) found -[3484] Forked 2617 -(2617) found -[3483] Forked 2618 -[3482] Forked 2619 -(2618) found -(2619) found -[3481] Forked 2620 -[3480] Forked 2621 -(2620) found -(2621) found -[3479] Forked 2622 -(2622) found -[3478] Forked 2623 -[3477] Forked 2624 -(2623) found -(2624) found -[3476] Forked 2625 -[3475] Forked 2626 -(2625) found -(2626) found -[3474] Forked 2627 -[3473] Forked 2628 -(2627) found -(2628) found -[3472] Forked 2629 -[3471] Forked 2630 -(2629) found -(2630) found -[3470] Forked 2631 -[3469] Forked 2632 -(2631) found -(2632) found -[3468] Forked 2633 -[3467] Forked 2634 -(2633) found -(2634) found -[3466] Forked 2635 -[3465] Forked 2636 -(2635) found -(2636) found -[3464] Forked 2637 -[3463] Forked 2638 -(2637) found -(2638) found -[3462] Forked 2639 -[3461] Forked 2640 -(2639) found -(2640) found -[3460] Forked 2641 -[3459] Forked 2642 -(2641) found -(2642) found -[3458] Forked 2643 -[3457] Forked 2644 -(2643) found -(2644) found -[3456] Forked 2645 -[3455] Forked 2646 -(2645) found -(2646) found -[3454] Forked 2647 -[3453] Forked 2648 -(2647) found -(2648) found -[3452] Forked 2649 -[3451] Forked 2650 -(2649) found -(2650) found -[3450] Forked 2651 -[3449] Forked 2652 -(2651) found -(2652) found -[3448] Forked 2653 -[3447] Forked 2654 -(2653) found -(2654) found -[3446] Forked 2655 -[3445] Forked 2659 -(2655) found -(2659) found -[3444] Forked 2662 -[3443] Forked 2663 -(2662) found -(2663) found -[3442] Forked 2664 -[3441] Forked 2665 -(2664) found -(2665) found -[3440] Forked 2666 -(2666) found -[3439] Forked 2668 -(2668) found -[3438] Forked 2669 -(2669) found -[3437] Forked 2670 -(2670) found -[3436] Forked 2671 -(2671) found -[3435] Forked 2672 -(2672) found -[3434] Forked 2673 -(2673) found -[3433] Forked 2674 -(2674) found -[3432] Forked 2675 -(2675) found -[3431] Forked 2676 -(2676) found -[3430] Forked 2677 -(2677) found -[3429] Forked 2678 -(2678) found -[3428] Forked 2679 -(2679) found -[3427] Forked 2680 -(2680) found -[3426] Forked 2681 -(2681) found -[3425] Forked 2682 -(2682) found -[3424] Forked 2683 -(2683) found -[3423] Forked 2684 -(2684) found -[3422] Forked 2685 -(2685) found -[3421] Forked 2686 -(2686) found -[3420] Forked 2687 -(2687) found -[3419] Forked 2688 -(2688) found -[3418] Forked 2689 -(2689) found -[3417] Forked 2690 -(2690) found -[3416] Forked 2691 -(2691) found -[3415] Forked 2692 -(2692) found -[3414] Forked 2693 -(2693) found -[3413] Forked 2694 -(2694) found -[3412] Forked 2695 -(2695) found -[3411] Forked 2696 -(2696) found -[3410] Forked 2697 -(2697) found -[3409] Forked 2698 -(2698) found -[3408] Forked 2699 -(2699) found -[3407] Forked 2700 -(2700) found -[3406] Forked 2701 -(2701) found -[3405] Forked 2703 -(2703) found -[3404] Forked 2704 -[3403] Forked 2705 -(2704) found -(2705) found -[3402] Forked 2706 -(2706) found -[3401] Forked 2707 -(2707) found -[3400] Forked 2708 -(2708) found -[3399] Forked 2709 -(2709) found -[3398] Forked 2710 -[3397] Forked 2711 -(2710) found -(2711) found -[3396] Forked 2712 -[3395] Forked 2713 -(2712) found -(2713) found -[3394] Forked 2714 -[3393] Forked 2715 -(2714) found -(2715) found -[3392] Forked 2716 -[3391] Forked 2717 -(2716) found -(2717) found -[3390] Forked 2718 -[3389] Forked 2719 -(2718) found -(2719) found -[3388] Forked 2720 -[3387] Forked 2723 -(2720) found -(2723) found -[3386] Forked 2725 -[3385] Forked 2728 -(2725) found -(2728) found -[3384] Forked 2729 -[3383] Forked 2730 -(2729) found -(2730) found -[3382] Forked 2731 -[3381] Forked 2732 -(2731) found -(2732) found -[3380] Forked 2733 -[3379] Forked 2734 -(2733) found -(2734) found -[3378] Forked 2735 -[3377] Forked 2736 -(2735) found -(2736) found -[3376] Forked 2737 -[3375] Forked 2738 -(2737) found -(2738) found -[3374] Forked 2739 -[3373] Forked 2740 -(2739) found -(2740) found -[3372] Forked 2741 -[3371] Forked 2742 -(2741) found -(2742) found -[3370] Forked 2743 -[3369] Forked 2745 -(2743) found -(2745) found -[3368] Forked 2746 -(2746) found -[3367] Forked 2747 -(2747) found -[3366] Forked 2748 -(2748) found -[3365] Forked 2749 -(2749) found -[3364] Forked 2750 -(2750) found -[3363] Forked 2751 -(2751) found -[3362] Forked 2752 -(2752) found -[3361] Forked 2753 -(2753) found -[3360] Forked 2754 -(2754) found -[3359] Forked 2755 -(2755) found -[3358] Forked 2756 -(2756) found -[3357] Forked 2757 -(2757) found -[3356] Forked 2758 -(2758) found -[3355] Forked 2760 -(2760) found -[3354] Forked 2761 -(2761) found -[3353] Forked 2762 -(2762) found -[3352] Forked 2763 -(2763) found -[3351] Forked 2764 -(2764) found -[3350] Forked 2765 -(2765) found -[3349] Forked 2766 -(2766) found -[3348] Forked 2767 -(2767) found -[3347] Forked 2768 -(2768) found -[3346] Forked 2769 -(2769) found -[3345] Forked 2770 -(2770) found -[3344] Forked 2771 -(2771) found -[3343] Forked 2772 -(2772) found -[3342] Forked 2773 -(2773) found -[3341] Forked 2774 -(2774) found -[3340] Forked 2775 -(2775) found -[3339] Forked 2776 -(2776) found -[3338] Forked 2777 -(2777) found -[3337] Forked 2778 -(2778) found -[3336] Forked 2779 -(2779) found -[3335] Forked 2780 -(2780) found -[3334] Forked 2781 -(2781) found -[3333] Forked 2782 -(2782) found -[3332] Forked 2783 -(2783) found -[3331] Forked 2784 -(2784) found -[3330] Forked 2785 -(2785) found -[3329] Forked 2786 -(2786) found -[3328] Forked 2787 -(2787) found -[3327] Forked 2788 -(2788) found -[3326] Forked 2789 -(2789) found -[3325] Forked 2790 -(2790) found -[3324] Forked 2791 -(2791) found -[3323] Forked 2792 -(2792) found -[3322] Forked 2793 -(2793) found -[3321] Forked 2794 -[3320] Forked 2795 -(2795) found -(2794) found -[3319] Forked 2796 -(2796) found -[3318] Forked 2797 -(2797) found -[3317] Forked 2798 -(2798) found -[3316] Forked 2799 -(2799) found -[3315] Forked 2800 -(2800) found -[3314] Forked 2801 -(2801) found -[3313] Forked 2802 -(2802) found -[3312] Forked 2803 -(2803) found -[3311] Forked 2804 -(2804) found -[3310] Forked 2805 -(2805) found -[3309] Forked 2806 -(2806) found -[3308] Forked 2807 -(2807) found -[3307] Forked 2808 -(2808) found -[3306] Forked 2809 -(2809) found -[3305] Forked 2810 -(2810) found -[3304] Forked 2811 -(2811) found -[3303] Forked 2812 -(2812) found -[3302] Forked 2813 -(2813) found -[3301] Forked 2814 -(2814) found -[3300] Forked 2815 -(2815) found -[3299] Forked 2816 -(2816) found -[3298] Forked 2817 -(2817) found -[3297] Forked 2818 -(2818) found -[3296] Forked 2819 -(2819) found -[3295] Forked 2820 -(2820) found -[3294] Forked 2821 -(2821) found -[3293] Forked 2822 -(2822) found -[3292] Forked 2823 -(2823) found -[3291] Forked 2824 -(2824) found -[3290] Forked 2825 -(2825) found -[3289] Forked 2826 -(2826) found -[3288] Forked 2827 -(2827) found -[3287] Forked 2830 -(2830) found -[3286] Forked 2831 -(2831) found -[3285] Forked 2832 -(2832) found -[3284] Forked 2833 -(2833) found -[3283] Forked 2834 -(2834) found -[3282] Forked 2835 -(2835) found -[3281] Forked 2836 -(2836) found -[3280] Forked 2837 -(2837) found -[3279] Forked 2838 -(2838) found -[3278] Forked 2839 -(2839) found -[3277] Forked 2840 -(2840) found -[3276] Forked 2841 -(2841) found -[3275] Forked 2843 -(2843) found -[3274] Forked 2844 -(2844) found -[3273] Forked 2845 -(2845) found -[3272] Forked 2846 -(2846) found -[3271] Forked 2847 -(2847) found -[3270] Forked 2848 -(2848) found -[3269] Forked 2849 -(2849) found -[3268] Forked 2850 -(2850) found -[3267] Forked 2851 -(2851) found -[3266] Forked 2852 -(2852) found -[3265] Forked 2853 -(2853) found -[3264] Forked 2854 -(2854) found -[3263] Forked 2855 -(2855) found -[3262] Forked 2856 -(2856) found -[3261] Forked 2857 -(2857) found -[3260] Forked 2858 -(2858) found -[3259] Forked 2859 -(2859) found -[3258] Forked 2860 -(2860) found -[3257] Forked 2861 -(2861) found -[3256] Forked 2862 -(2862) found -[3255] Forked 2863 -(2863) found -[3254] Forked 2864 -(2864) found -[3253] Forked 2865 -(2865) found -[3252] Forked 2866 -(2866) found -[3251] Forked 2867 -(2867) found -[3250] Forked 2868 -[3249] Forked 2869 -(2868) found -(2869) found -[3248] Forked 2870 -[3247] Forked 2871 -(2870) found -(2871) found -[3246] Forked 2872 -[3245] Forked 2873 -(2872) found -(2873) found -[3244] Forked 2874 -[3243] Forked 2875 -(2874) found -(2875) found -[3242] Forked 2876 -[3241] Forked 2877 -(2876) found -(2877) found -[3240] Forked 2878 -[3239] Forked 2879 -(2878) found -(2879) found -[3238] Forked 2880 -[3237] Forked 2881 -(2880) found -(2881) found -[3236] Forked 2882 -[3235] Forked 2883 -(2882) found -(2883) found -[3234] Forked 2884 -[3233] Forked 2885 -(2884) found -(2885) found -[3232] Forked 2886 -[3231] Forked 2887 -(2886) found -(2887) found -[3230] Forked 2888 -[3229] Forked 2889 -(2888) found -(2889) found -[3228] Forked 2890 -[3227] Forked 2891 -(2890) found -(2891) found -[3226] Forked 2892 -[3225] Forked 2893 -(2892) found -(2893) found -[3224] Forked 2894 -[3223] Forked 2895 -(2894) found -(2895) found -[3222] Forked 2896 -[3221] Forked 2897 -(2896) found -(2897) found -[3220] Forked 2898 -[3219] Forked 2899 -(2898) found -(2899) found -[3218] Forked 2900 -[3217] Forked 2901 -(2900) found -(2901) found -[3216] Forked 2902 -[3215] Forked 2903 -(2902) found -(2903) found -[3214] Forked 2904 -[3213] Forked 2905 -(2904) found -(2905) found -[3212] Forked 2906 -[3211] Forked 2908 -(2906) found -(2908) found -[3210] Forked 2909 -(2909) found -[3209] Forked 2910 -(2910) found -[3208] Forked 2911 -(2911) found -[3207] Forked 2912 -(2912) found -[3206] Forked 2913 -(2913) found -[3205] Forked 2914 -(2914) found -[3204] Forked 2915 -(2915) found -[3203] Forked 2916 -(2916) found -[3202] Forked 2917 -(2917) found -[3201] Forked 2918 -(2918) found -[3200] Forked 2919 -(2919) found -[3199] Forked 2920 -(2920) found -[3198] Forked 2921 -(2921) found -[3197] Forked 2922 -(2922) found -[3196] Forked 2923 -(2923) found -[3195] Forked 2924 -(2924) found -[3194] Forked 2925 -(2925) found -[3193] Forked 2926 -(2926) found -[3192] Forked 2927 -(2927) found -[3191] Forked 2928 -(2928) found -[3190] Forked 2929 -(2929) found -[3189] Forked 2930 -(2930) found -[3188] Forked 2932 -(2932) found -[3187] Forked 2933 -(2933) found -[3186] Forked 2934 -(2934) found -[3185] Forked 2935 -(2935) found -[3184] Forked 2936 -(2936) found -[3183] Forked 2937 -(2937) found -[3182] Forked 2938 -(2938) found -[3181] Forked 2939 -(2939) found -[3180] Forked 2940 -(2940) found -[3179] Forked 2941 -(2941) found -[3178] Forked 2942 -(2942) found -[3177] Forked 2943 -(2943) found -[3176] Forked 2944 -(2944) found -[3175] Forked 2945 -(2945) found -[3174] Forked 2946 -[3173] Forked 2947 -(2946) found -(2947) found -[3172] Forked 2948 -[3171] Forked 2949 -(2948) found -(2949) found -[3170] Forked 2950 -[3169] Forked 2951 -(2950) found -(2951) found -[3168] Forked 2952 -[3167] Forked 2953 -(2952) found -(2953) found -[3166] Forked 2956 -[3165] Forked 2957 -(2956) found -(2957) found -[3164] Forked 2958 -[3163] Forked 2959 -(2958) found -(2959) found -[3162] Forked 2960 -[3161] Forked 2961 -(2960) found -(2961) found -[3160] Forked 2962 -[3159] Forked 2963 -(2962) found -(2963) found -[3158] Forked 2964 -[3157] Forked 2965 -(2964) found -(2965) found -[3156] Forked 2966 -[3155] Forked 2967 -(2966) found -(2967) found -[3154] Forked 2968 -[3153] Forked 2969 -(2968) found -(2969) found -[3152] Forked 2970 -[3151] Forked 2971 -(2970) found -(2971) found -[3150] Forked 2972 -[3149] Forked 2973 -(2972) found -(2973) found -[3148] Forked 2974 -[3147] Forked 2975 -(2974) found -(2975) found -[3146] Forked 2976 -[3145] Forked 2977 -(2976) found -(2977) found -[3144] Forked 2978 -[3143] Forked 2979 -(2978) found -(2979) found -[3142] Forked 2980 -[3141] Forked 2981 -(2980) found -(2981) found -[3140] Forked 2983 -[3139] Forked 2984 -(2983) found -(2984) found -[3138] Forked 2987 -[3137] Forked 2992 -(2987) found -(2992) found -[3136] Forked 3049 -[3135] Forked 3050 -(3049) found -(3050) found -[3134] Forked 3051 -[3133] Forked 3052 -(3051) found -(3052) found -[3132] Forked 3053 -[3131] Forked 3054 -(3053) found -(3054) found -[3130] Forked 3055 -[3129] Forked 3056 -(3055) found -(3056) found -[3128] Forked 3057 -[3127] Forked 3058 -(3057) found -(3058) found -[3126] Forked 3059 -(3059) found -[3125] Forked 3060 -(3060) found -[3124] Forked 3061 -(3061) found -[3123] Forked 3062 -(3062) found -[3122] Forked 3063 -(3063) found -[3121] Forked 3064 -(3064) found -[3120] Forked 3065 -(3065) found -[3119] Forked 3066 -(3066) found -[3118] Forked 3067 -(3067) found -[3117] Forked 3068 -(3068) found -[3116] Forked 3069 -(3069) found -[3115] Forked 3070 -(3070) found -[3114] Forked 3071 -(3071) found -[3113] Forked 3072 -(3072) found -[3112] Forked 3073 -(3073) found -[3111] Forked 3074 -(3074) found -[3110] Forked 3075 -(3075) found -[3109] Forked 3076 -(3076) found -[3108] Forked 3077 -(3077) found -[3107] Forked 3078 -(3078) found -[3106] Forked 3079 -(3079) found -[3105] Forked 3080 -(3080) found -[3104] Forked 3081 -(3081) found -[3103] Forked 3082 -(3082) found -[3102] Forked 3083 -(3083) found -[3101] Forked 3085 -(3085) found -[3100] Forked 3086 -(3086) found -[3099] Forked 3087 -(3087) found -[3098] Forked 3088 -(3088) found -[3097] Forked 3089 -(3089) found -[3096] Forked 3090 -(3090) found -[3095] Forked 3091 -(3091) found -[3094] Forked 3093 -(3093) found -[3093] Forked 3094 -(3094) found -[3092] Forked 3095 -(3095) found -[3091] Forked 3096 -[3090] Forked 3097 -(3096) found -(3097) found -[3089] Forked 3098 -[3088] Forked 3099 -(3098) found -(3099) found -[3087] Forked 3101 -[3086] Forked 3102 -(3101) found -(3102) found -[3085] Forked 3103 -[3084] Forked 3104 -(3103) found -(3104) found -[3083] Forked 3105 -[3082] Forked 3106 -(3105) found -(3106) found -[3081] Forked 3107 -[3080] Forked 3108 -(3107) found -(3108) found -[3079] Forked 3109 -[3078] Forked 3110 -(3109) found -(3110) found -[3077] Forked 3112 -[3076] Forked 3113 -(3112) found -(3113) found -[3075] Forked 3114 -[3074] Forked 3115 -(3114) found -(3115) found -[3073] Forked 3116 -[3072] Forked 3117 -(3116) found -(3117) found -[3071] Forked 3118 -[3070] Forked 3119 -(3118) found -(3119) found -[3069] Forked 3120 -[3068] Forked 3121 -(3120) found -(3121) found -[3067] Forked 3123 -[3066] Forked 3124 -(3123) found -(3124) found -[3065] Forked 3126 -[3064] Forked 3128 -(3126) found -(3128) found -[3063] Forked 3129 -[3062] Forked 3130 -(3129) found -(3130) found -[3061] Forked 3131 -[3060] Forked 3132 -(3131) found -(3132) found -[3059] Forked 3133 -[3058] Forked 3134 -(3133) found -(3134) found -[3057] Forked 3135 -[3056] Forked 3136 -(3135) found -(3136) found -[3055] Forked 3137 -[3054] Forked 3138 -(3137) found -(3138) found -[3053] Forked 3139 -[3052] Forked 3140 -(3139) found -(3140) found -[3051] Forked 3141 -[3050] Forked 3142 -(3141) found -(3142) found -[3049] Forked 3143 -[3048] Forked 3144 -(3143) found -(3144) found -[3047] Forked 3145 -[3046] Forked 3147 -(3145) found -(3147) found -[3045] Forked 3148 -[3044] Forked 3149 -(3148) found -(3149) found -[3043] Forked 3150 -(3150) found -[3042] Forked 3151 -(3151) found -[3041] Forked 3152 -(3152) found -[3040] Forked 3153 -(3153) found -[3039] Forked 3154 -(3154) found -[3038] Forked 3155 -(3155) found -[3037] Forked 3156 -(3156) found -[3036] Forked 3157 -(3157) found -[3035] Forked 3158 -(3158) found -[3034] Forked 3159 -(3159) found -[3033] Forked 3160 -(3160) found -[3032] Forked 3163 -(3163) found -[3031] Forked 3164 -(3164) found -[3030] Forked 3165 -(3165) found -[3029] Forked 3166 -(3166) found -[3028] Forked 3167 -(3167) found -[3027] Forked 3168 -(3168) found -[3026] Forked 3169 -(3169) found -[3025] Forked 3170 -(3170) found -[3024] Forked 3171 -(3171) found -[3023] Forked 3172 -(3172) found -[3022] Forked 3173 -(3173) found -[3021] Forked 3174 -(3174) found -[3020] Forked 3175 -(3175) found -[3019] Forked 3176 -(3176) found -[3018] Forked 3177 -(3177) found -[3017] Forked 3178 -(3178) found -[3016] Forked 3179 -(3179) found -[3015] Forked 3180 -(3180) found -[3014] Forked 3181 -(3181) found -[3013] Forked 3182 -(3182) found -[3012] Forked 3183 -(3183) found -[3011] Forked 3184 -(3184) found -[3010] Forked 3185 -(3185) found -[3009] Forked 3186 -(3186) found -[3008] Forked 3187 -[3007] Forked 3188 -(3187) found -(3188) found -[3006] Forked 3189 -[3005] Forked 3190 -(3189) found -(3190) found -[3004] Forked 3191 -[3003] Forked 3192 -(3191) found -(3192) found -[3002] Forked 3195 -[3001] Forked 3196 -(3195) found -(3196) found -[3000] Forked 3197 -[2999] Forked 3198 -(3197) found -(3198) found -[2998] Forked 3199 -[2997] Forked 3200 -(3199) found -(3200) found -[2996] Forked 3201 -[2995] Forked 3202 -(3201) found -(3202) found -[2994] Forked 3203 -[2993] Forked 3204 -(3203) found -(3204) found -[2992] Forked 3205 -[2991] Forked 3206 -(3205) found -(3206) found -[2990] Forked 3207 -[2989] Forked 3208 -(3207) found -(3208) found -[2988] Forked 3209 -[2987] Forked 3210 -(3209) found -(3210) found -[2986] Forked 3211 -[2985] Forked 3212 -(3211) found -(3212) found -[2984] Forked 3213 -[2983] Forked 3214 -(3213) found -(3214) found -[2982] Forked 3215 -[2981] Forked 3216 -(3215) found -(3216) found -[2980] Forked 3217 -[2979] Forked 3218 -(3217) found -(3218) found -[2978] Forked 3219 -[2977] Forked 3220 -(3219) found -(3220) found -[2976] Forked 3221 -[2975] Forked 3222 -(3221) found -(3222) found -[2974] Forked 3223 -[2973] Forked 3224 -(3223) found -(3224) found -[2972] Forked 3225 -[2971] Forked 3227 -(3225) found -(3227) found -[2970] Forked 3228 -[2969] Forked 3229 -(3228) found -(3229) found -[2968] Forked 3230 -[2967] Forked 3231 -(3230) found -(3231) found -[2966] Forked 3232 -[2965] Forked 3233 -(3232) found -(3233) found -[2964] Forked 3234 -[2963] Forked 3235 -(3234) found -(3235) found -[2962] Forked 3236 -(3236) found -[2961] Forked 3237 -(3237) found -[2960] Forked 3238 -(3238) found -[2959] Forked 3239 -(3239) found -[2958] Forked 3240 -(3240) found -[2957] Forked 3241 -(3241) found -[2956] Forked 3242 -(3242) found -[2955] Forked 3243 -(3243) found -[2954] Forked 3244 -(3244) found -[2953] Forked 3245 -(3245) found -[2952] Forked 3246 -(3246) found -[2951] Forked 3247 -(3247) found -[2950] Forked 3249 -(3249) found -[2949] Forked 3250 -(3250) found -[2948] Forked 3251 -(3251) found -[2947] Forked 3252 -(3252) found -[2946] Forked 3253 -(3253) found -[2945] Forked 3254 -(3254) found -[2944] Forked 3255 -(3255) found -[2943] Forked 3256 -(3256) found -[2942] Forked 3257 -(3257) found -[2941] Forked 3258 -(3258) found -[2940] Forked 3259 -(3259) found -[2939] Forked 3260 -(3260) found -[2938] Forked 3261 -(3261) found -[2937] Forked 3262 -(3262) found -[2936] Forked 3263 -(3263) found -[2935] Forked 3264 -(3264) found -[2934] Forked 3265 -(3265) found -[2933] Forked 3266 -(3266) found -[2932] Forked 3267 -(3267) found -[2931] Forked 3268 -(3268) found -[2930] Forked 3269 -(3269) found -[2929] Forked 3270 -(3270) found -[2928] Forked 3271 -[2927] Forked 3272 -(3271) found -(3272) found -[2926] Forked 3273 -[2925] Forked 3274 -(3273) found -(3274) found -[2924] Forked 3275 -[2923] Forked 3276 -(3275) found -(3276) found -[2922] Forked 3277 -[2921] Forked 3278 -(3277) found -(3278) found -[2920] Forked 3279 -[2919] Forked 3280 -(3279) found -(3280) found -[2918] Forked 3281 -[2917] Forked 3282 -(3281) found -(3282) found -[2916] Forked 3283 -[2915] Forked 3284 -(3283) found -(3284) found -[2914] Forked 3285 -[2913] Forked 3286 -(3285) found -(3286) found -[2912] Forked 3287 -[2911] Forked 3288 -(3287) found -(3288) found -[2910] Forked 3289 -[2909] Forked 3290 -(3289) found -(3290) found -[2908] Forked 3291 -[2907] Forked 3292 -(3291) found -(3292) found -[2906] Forked 3293 -[2905] Forked 3294 -(3293) found -(3294) found -[2904] Forked 3295 -[2903] Forked 3296 -(3295) found -(3296) found -[2902] Forked 3297 -[2901] Forked 3298 -(3297) found -(3298) found -[2900] Forked 3299 -[2899] Forked 3300 -(3299) found -(3300) found -[2898] Forked 3301 -[2897] Forked 3302 -(3301) found -(3302) found -[2896] Forked 3303 -[2895] Forked 3304 -(3303) found -(3304) found -[2894] Forked 3305 -[2893] Forked 3306 -(3305) found -(3306) found -[2892] Forked 3307 -[2891] Forked 3308 -(3307) found -(3308) found -[2890] Forked 3309 -[2889] Forked 3310 -(3309) found -(3310) found -[2888] Forked 3311 -[2887] Forked 3312 -(3311) found -(3312) found -[2886] Forked 3313 -[2885] Forked 3314 -(3313) found -(3314) found -[2884] Forked 3315 -[2883] Forked 3317 -(3315) found -(3317) found -[2882] Forked 3318 -[2881] Forked 3319 -(3318) found -(3319) found -[2880] Forked 3320 -[2879] Forked 3321 -(3320) found -(3321) found -[2878] Forked 3322 -[2877] Forked 3323 -(3322) found -(3323) found -[2876] Forked 3324 -[2875] Forked 3325 -(3324) found -(3325) found -[2874] Forked 3326 -[2873] Forked 3327 -(3326) found -(3327) found -[2872] Forked 3333 -[2871] Forked 3334 -(3333) found -(3334) found -[2870] Forked 3335 -[2869] Forked 3336 -(3335) found -(3336) found -[2868] Forked 3337 -[2867] Forked 3338 -(3337) found -(3338) found -[2866] Forked 3339 -[2865] Forked 3340 -(3339) found -(3340) found -[2864] Forked 3341 -[2863] Forked 3342 -(3341) found -(3342) found -[2862] Forked 3343 -[2861] Forked 3344 -(3343) found -(3344) found -[2860] Forked 3345 -[2859] Forked 3347 -(3345) found -(3347) found -[2858] Forked 3348 -[2857] Forked 3349 -(3348) found -(3349) found -[2856] Forked 3350 -[2855] Forked 3351 -(3350) found -(3351) found -[2854] Forked 3352 -[2853] Forked 3353 -(3352) found -(3353) found -[2852] Forked 3354 -[2851] Forked 3355 -(3354) found -(3355) found -[2850] Forked 3356 -[2849] Forked 3357 -(3356) found -(3357) found -[2848] Forked 3358 -[2847] Forked 3359 -(3358) found -(3359) found -[2846] Forked 3360 -[2845] Forked 3361 -(3360) found -(3361) found -[2844] Forked 3362 -[2843] Forked 3363 -(3362) found -(3363) found -[2842] Forked 3364 -[2841] Forked 3366 -(3364) found -(3366) found -[2840] Forked 3367 -(3367) found -[2839] Forked 3368 -(3368) found -[2838] Forked 3369 -(3369) found -[2837] Forked 3370 -(3370) found -[2836] Forked 3371 -(3371) found -[2835] Forked 3372 -(3372) found -[2834] Forked 3373 -(3373) found -[2833] Forked 3382 -(3382) found -[2832] Forked 3383 -(3383) found -[2831] Forked 3384 -(3384) found -[2830] Forked 3385 -(3385) found -[2829] Forked 3386 -(3386) found -[2828] Forked 3387 -(3387) found -[2827] Forked 3388 -(3388) found -[2826] Forked 3389 -(3389) found -[2825] Forked 3390 -(3390) found -[2824] Forked 3391 -(3391) found -[2823] Forked 3392 -(3392) found -[2822] Forked 3393 -(3393) found -[2821] Forked 3394 -(3394) found -[2820] Forked 3395 -(3395) found -[2819] Forked 3396 -(3396) found -[2818] Forked 3397 -(3397) found -[2817] Forked 3398 -(3398) found -[2816] Forked 3399 -(3399) found -[2815] Forked 3401 -(3401) found -[2814] Forked 3402 -(3402) found -[2813] Forked 3403 -(3403) found -[2812] Forked 3404 -(3404) found -[2811] Forked 3405 -(3405) found -[2810] Forked 3406 -(3406) found -[2809] Forked 3407 -(3407) found -[2808] Forked 3408 -(3408) found -[2807] Forked 3409 -(3409) found -[2806] Forked 3410 -(3410) found -[2805] Forked 3411 -(3411) found -[2804] Forked 3412 -(3412) found -[2803] Forked 3413 -(3413) found -[2802] Forked 3414 -(3414) found -[2801] Forked 3415 -[2800] Forked 3416 -(3415) found -(3416) found -[2799] Forked 3417 -[2798] Forked 3418 -(3417) found -(3418) found -[2797] Forked 3419 -[2796] Forked 3420 -(3419) found -(3420) found -[2795] Forked 3421 -[2794] Forked 3422 -(3421) found -(3422) found -[2793] Forked 3423 -[2792] Forked 3424 -(3423) found -(3424) found -[2791] Forked 3425 -[2790] Forked 3426 -(3425) found -(3426) found -[2789] Forked 3427 -[2788] Forked 3428 -(3427) found -(3428) found -[2787] Forked 3429 -[2786] Forked 3430 -(3429) found -(3430) found -[2785] Forked 3431 -[2784] Forked 3432 -(3431) found -(3432) found -[2783] Forked 3433 -[2782] Forked 3434 -(3433) found -(3434) found -[2781] Forked 3435 -[2780] Forked 3436 -(3435) found -(3436) found -[2779] Forked 3437 -[2778] Forked 3438 -(3437) found -(3438) found -[2777] Forked 3439 -[2776] Forked 3440 -(3439) found -(3440) found -[2775] Forked 3441 -[2774] Forked 3442 -(3441) found -(3442) found -[2773] Forked 3443 -[2772] Forked 3444 -(3443) found -(3444) found -[2771] Forked 3445 -[2770] Forked 3446 -(3445) found -(3446) found -[2769] Forked 3447 -[2768] Forked 3448 -(3447) found -(3448) found -[2767] Forked 3449 -[2766] Forked 3450 -(3449) found -(3450) found -[2765] Forked 3451 -[2764] Forked 3452 -(3451) found -(3452) found -[2763] Forked 3453 -[2762] Forked 3454 -(3453) found -(3454) found -[2761] Forked 3455 -[2760] Forked 3456 -(3455) found -(3456) found -[2759] Forked 3457 -[2758] Forked 3458 -(3457) found -(3458) found -[2757] Forked 3459 -(3459) found -[2756] Forked 3460 -(3460) found -[2755] Forked 3461 -(3461) found -[2754] Forked 3462 -(3462) found -[2753] Forked 3463 -(3463) found -[2752] Forked 3464 -(3464) found -[2751] Forked 3465 -(3465) found -[2750] Forked 3466 -(3466) found -[2749] Forked 3467 -(3467) found -[2748] Forked 3468 -(3468) found -[2747] Forked 3469 -(3469) found -[2746] Forked 3470 -(3470) found -[2745] Forked 3471 -(3471) found -[2744] Forked 3472 -(3472) found -[2743] Forked 3473 -(3473) found -[2742] Forked 3474 -(3474) found -[2741] Forked 3475 -(3475) found -[2740] Forked 3476 -(3476) found -[2739] Forked 3477 -(3477) found -[2738] Forked 3478 -(3478) found -[2737] Forked 3479 -(3479) found -[2736] Forked 3480 -(3480) found -[2735] Forked 3481 -(3481) found -[2734] Forked 3482 -(3482) found -[2733] Forked 3483 -(3483) found -[2732] Forked 3484 -(3484) found -[2731] Forked 3485 -(3485) found -[2730] Forked 3486 -(3486) found -[2729] Forked 3487 -(3487) found -[2728] Forked 3488 -(3488) found -[2727] Forked 3489 -(3489) found -[2726] Forked 3490 -(3490) found -[2725] Forked 3491 -(3491) found -[2724] Forked 3492 -(3492) found -[2723] Forked 3493 -(3493) found -[2722] Forked 3494 -(3494) found -[2721] Forked 3495 -(3495) found -[2720] Forked 3496 -[2719] Forked 3497 -(3496) found -(3497) found -[2718] Forked 3498 -[2717] Forked 3499 -(3498) found -(3499) found -[2716] Forked 3500 -[2715] Forked 3501 -(3500) found -(3501) found -[2714] Forked 3502 -[2713] Forked 3503 -(3502) found -(3503) found -[2712] Forked 3504 -[2711] Forked 3505 -(3504) found -(3505) found -[2710] Forked 3506 -[2709] Forked 3507 -(3506) found -(3507) found -[2708] Forked 3508 -[2707] Forked 3509 -(3508) found -(3509) found -[2706] Forked 3510 -[2705] Forked 3511 -(3510) found -(3511) found -[2704] Forked 3512 -[2703] Forked 3513 -(3512) found -(3513) found -[2702] Forked 3514 -[2701] Forked 3515 -(3514) found -(3515) found -[2700] Forked 3516 -[2699] Forked 3517 -(3516) found -(3517) found -[2698] Forked 3518 -[2697] Forked 3519 -(3518) found -(3519) found -[2696] Forked 3520 -[2695] Forked 3521 -(3520) found -(3521) found -[2694] Forked 3522 -[2693] Forked 3523 -(3522) found -(3523) found -[2692] Forked 3524 -[2691] Forked 3525 -(3524) found -(3525) found -[2690] Forked 3526 -[2689] Forked 3527 -(3526) found -(3527) found -[2688] Forked 3528 -[2687] Forked 3529 -(3528) found -(3529) found -[2686] Forked 3530 -[2685] Forked 3531 -(3530) found -(3531) found -[2684] Forked 3532 -[2683] Forked 3533 -(3532) found -(3533) found -[2682] Forked 3534 -[2681] Forked 3535 -(3534) found -(3535) found -[2680] Forked 3536 -[2679] Forked 3537 -(3536) found -(3537) found -[2678] Forked 3538 -[2677] Forked 3539 -(3538) found -(3539) found -[2676] Forked 3540 -(3540) found -[2675] Forked 3541 -(3541) found -[2674] Forked 3542 -(3542) found -[2673] Forked 3543 -(3543) found -[2672] Forked 3544 -(3544) found -[2671] Forked 3545 -(3545) found -[2670] Forked 3546 -(3546) found -[2669] Forked 3547 -(3547) found -[2668] Forked 3548 -(3548) found -[2667] Forked 3549 -(3549) found -[2666] Forked 3550 -(3550) found -[2665] Forked 3551 -(3551) found -[2664] Forked 3552 -(3552) found -[2663] Forked 3553 -(3553) found -[2662] Forked 3554 -(3554) found -[2661] Forked 3555 -(3555) found -[2660] Forked 3556 -(3556) found -[2659] Forked 3557 -(3557) found -[2658] Forked 3558 -(3558) found -[2657] Forked 3559 -(3559) found -[2656] Forked 3560 -(3560) found -[2655] Forked 3561 -(3561) found -[2654] Forked 3562 -(3562) found -[2653] Forked 3563 -(3563) found -[2652] Forked 3564 -(3564) found -[2651] Forked 3565 -(3565) found -[2650] Forked 3566 -(3566) found -[2649] Forked 3567 -(3567) found -[2648] Forked 3568 -(3568) found -[2647] Forked 3569 -(3569) found -[2646] Forked 3570 -(3570) found -[2645] Forked 3571 -(3571) found -[2644] Forked 3572 -(3572) found -[2643] Forked 3573 -(3573) found -[2642] Forked 3574 -(3574) found -[2641] Forked 3575 -(3575) found -[2640] Forked 3576 -(3576) found -[2639] Forked 3577 -[2638] Forked 3578 -(3577) found -(3578) found -[2637] Forked 3579 -[2636] Forked 3580 -(3579) found -(3580) found -[2635] Forked 3581 -[2634] Forked 3582 -(3581) found -(3582) found -[2633] Forked 3583 -[2632] Forked 3584 -(3583) found -(3584) found -[2631] Forked 3585 -[2630] Forked 3586 -(3585) found -(3586) found -[2629] Forked 3587 -[2628] Forked 3588 -(3587) found -(3588) found -[2627] Forked 3589 -[2626] Forked 3590 -(3589) found -(3590) found -[2625] Forked 3591 -[2624] Forked 3592 -(3591) found -(3592) found -[2623] Forked 3593 -[2622] Forked 3594 -(3593) found -(3594) found -[2621] Forked 3595 -[2620] Forked 3596 -(3595) found -(3596) found -[2619] Forked 3597 -[2618] Forked 3598 -(3597) found -(3598) found -[2617] Forked 3599 -[2616] Forked 3600 -(3599) found -(3600) found -[2615] Forked 3601 -[2614] Forked 3602 -(3601) found -(3602) found -[2613] Forked 3603 -[2612] Forked 3604 -(3603) found -(3604) found -[2611] Forked 3605 -[2610] Forked 3606 -(3605) found -(3606) found -[2609] Forked 3607 -[2608] Forked 3608 -(3607) found -(3608) found -[2607] Forked 3609 -[2606] Forked 3610 -(3609) found -(3610) found -[2605] Forked 3611 -[2604] Forked 3612 -(3611) found -(3612) found -[2603] Forked 3613 -[2602] Forked 3614 -(3613) found -(3614) found -[2601] Forked 3615 -[2600] Forked 3616 -(3615) found -(3616) found -[2599] Forked 3617 -[2598] Forked 3618 -(3617) found -(3618) found -[2597] Forked 3619 -[2596] Forked 3620 -(3619) found -(3620) found -[2595] Forked 3621 -(3621) found -[2594] Forked 3622 -(3622) found -[2593] Forked 3623 -(3623) found -[2592] Forked 3624 -(3624) found -[2591] Forked 3625 -(3625) found -[2590] Forked 3626 -(3626) found -[2589] Forked 3627 -(3627) found -[2588] Forked 3628 -(3628) found -[2587] Forked 3629 -(3629) found -[2586] Forked 3630 -(3630) found -[2585] Forked 3631 -(3631) found -[2584] Forked 3632 -(3632) found -[2583] Forked 3633 -(3633) found -[2582] Forked 3634 -(3634) found -[2581] Forked 3635 -(3635) found -[2580] Forked 3636 -(3636) found -[2579] Forked 3637 -(3637) found -[2578] Forked 3638 -(3638) found -[2577] Forked 3639 -(3639) found -[2576] Forked 3640 -(3640) found -[2575] Forked 3641 -(3641) found -[2574] Forked 3642 -(3642) found -[2573] Forked 3643 -(3643) found -[2572] Forked 3644 -(3644) found -[2571] Forked 3645 -(3645) found -[2570] Forked 3646 -(3646) found -[2569] Forked 3647 -(3647) found -[2568] Forked 3648 -(3648) found -[2567] Forked 3649 -(3649) found -[2566] Forked 3650 -(3650) found -[2565] Forked 3651 -(3651) found -[2564] Forked 3652 -(3652) found -[2563] Forked 3653 -(3653) found -[2562] Forked 3654 -(3654) found -[2561] Forked 3655 -(3655) found -[2560] Forked 3656 -(3656) found -[2559] Forked 3658 -(3658) found -[2558] Forked 3659 -[2557] Forked 3660 -(3659) found -(3660) found -[2556] Forked 3661 -[2555] Forked 3662 -(3661) found -(3662) found -[2554] Forked 3663 -[2553] Forked 3664 -(3663) found -(3664) found -[2552] Forked 3665 -[2551] Forked 3666 -(3665) found -(3666) found -[2550] Forked 3667 -[2549] Forked 3669 -(3667) found -(3669) found -[2548] Forked 3670 -[2547] Forked 3671 -(3670) found -(3671) found -[2546] Forked 3672 -[2545] Forked 3673 -(3672) found -(3673) found -[2544] Forked 3674 -[2543] Forked 3675 -(3674) found -(3675) found -[2542] Forked 3676 -[2541] Forked 3677 -(3676) found -(3677) found -[2540] Forked 3678 -[2539] Forked 3679 -(3678) found -(3679) found -[2538] Forked 3680 -[2537] Forked 3681 -(3680) found -(3681) found -[2536] Forked 3682 -[2535] Forked 3683 -(3682) found -(3683) found -[2534] Forked 3684 -[2533] Forked 3685 -(3684) found -(3685) found -[2532] Forked 3686 -[2531] Forked 3687 -(3686) found -(3687) found -[2530] Forked 3688 -[2529] Forked 3689 -(3688) found -(3689) found -[2528] Forked 3690 -[2527] Forked 3691 -(3690) found -(3691) found -[2526] Forked 3692 -[2525] Forked 3693 -(3692) found -(3693) found -[2524] Forked 3694 -[2523] Forked 3695 -(3694) found -(3695) found -[2522] Forked 3696 -[2521] Forked 3697 -(3696) found -(3697) found -[2520] Forked 3698 -[2519] Forked 3700 -(3698) found -(3700) found -[2518] Forked 3701 -(3701) found -[2517] Forked 3702 -(3702) found -[2516] Forked 3703 -(3703) found -[2515] Forked 3704 -(3704) found -[2514] Forked 3705 -(3705) found -[2513] Forked 3706 -(3706) found -[2512] Forked 3707 -(3707) found -[2511] Forked 3708 -(3708) found -[2510] Forked 3709 -(3709) found -[2509] Forked 3710 -(3710) found -[2508] Forked 3711 -(3711) found -[2507] Forked 3712 -(3712) found -[2506] Forked 3713 -(3713) found -[2505] Forked 3714 -(3714) found -[2504] Forked 3715 -(3715) found -[2503] Forked 3716 -(3716) found -[2502] Forked 3717 -(3717) found -[2501] Forked 3718 -(3718) found -[2500] Forked 3719 -(3719) found -[2499] Forked 3720 -(3720) found -[2498] Forked 3721 -(3721) found -[2497] Forked 3722 -(3722) found -[2496] Forked 3723 -(3723) found -[2495] Forked 3724 -(3724) found -[2494] Forked 3725 -(3725) found -[2493] Forked 3726 -(3726) found -[2492] Forked 3727 -(3727) found -[2491] Forked 3728 -(3728) found -[2490] Forked 3729 -(3729) found -[2489] Forked 3730 -(3730) found -[2488] Forked 3731 -(3731) found -[2487] Forked 3732 -(3732) found -[2486] Forked 3733 -(3733) found -[2485] Forked 3734 -(3734) found -[2484] Forked 3735 -(3735) found -[2483] Forked 3736 -(3736) found -[2482] Forked 3737 -(3737) found -[2481] Forked 3738 -(3738) found -[2480] Forked 3739 -(3739) found -[2479] Forked 3740 -[2478] Forked 3741 -(3740) found -(3741) found -[2477] Forked 3742 -[2476] Forked 3743 -(3742) found -(3743) found -[2475] Forked 3744 -[2474] Forked 3745 -(3744) found -(3745) found -[2473] Forked 3746 -[2472] Forked 3747 -(3746) found -(3747) found -[2471] Forked 3748 -[2470] Forked 3749 -(3748) found -(3749) found -[2469] Forked 3750 -[2468] Forked 3751 -(3750) found -(3751) found -[2467] Forked 3752 -[2466] Forked 3753 -(3752) found -(3753) found -[2465] Forked 3754 -[2464] Forked 3755 -(3754) found -(3755) found -[2463] Forked 3756 -[2462] Forked 3757 -(3756) found -(3757) found -[2461] Forked 3758 -[2460] Forked 3759 -(3758) found -(3759) found -[2459] Forked 3760 -[2458] Forked 3761 -(3760) found -(3761) found -[2457] Forked 3762 -[2456] Forked 3763 -(3762) found -(3763) found -[2455] Forked 3764 -[2454] Forked 3765 -(3764) found -(3765) found -[2453] Forked 3766 -[2452] Forked 3767 -(3766) found -(3767) found -[2451] Forked 3768 -[2450] Forked 3769 -(3768) found -(3769) found -[2449] Forked 3770 -[2448] Forked 3771 -(3770) found -(3771) found -[2447] Forked 3772 -[2446] Forked 3773 -(3772) found -(3773) found -[2445] Forked 3774 -[2444] Forked 3775 -(3774) found -(3775) found -[2443] Forked 3776 -[2442] Forked 3778 -(3776) found -(3778) found -[2441] Forked 3779 -(3779) found -[2440] Forked 3780 -(3780) found -[2439] Forked 3781 -(3781) found -[2438] Forked 3782 -(3782) found -[2437] Forked 3783 -(3783) found -[2436] Forked 3784 -(3784) found -[2435] Forked 3785 -(3785) found -[2434] Forked 3786 -(3786) found -[2433] Forked 3787 -(3787) found -[2432] Forked 3788 -(3788) found -[2431] Forked 3789 -(3789) found -[2430] Forked 3790 -(3790) found -[2429] Forked 3791 -(3791) found -[2428] Forked 3792 -(3792) found -[2427] Forked 3793 -(3793) found -[2426] Forked 3794 -(3794) found -[2425] Forked 3795 -(3795) found -[2424] Forked 3796 -(3796) found -[2423] Forked 3797 -(3797) found -[2422] Forked 3798 -(3798) found -[2421] Forked 3799 -(3799) found -[2420] Forked 3800 -(3800) found -[2419] Forked 3801 -(3801) found -[2418] Forked 3802 -(3802) found -[2417] Forked 3803 -(3803) found -[2416] Forked 3804 -(3804) found -[2415] Forked 3805 -(3805) found -[2414] Forked 3806 -(3806) found -[2413] Forked 3807 -(3807) found -[2412] Forked 3808 -(3808) found -[2411] Forked 3809 -(3809) found -[2410] Forked 3810 -(3810) found -[2409] Forked 3811 -(3811) found -[2408] Forked 3812 -(3812) found -[2407] Forked 3813 -(3813) found -[2406] Forked 3814 -(3814) found -[2405] Forked 3815 -(3815) found -[2404] Forked 3816 -(3816) found -[2403] Forked 3817 -[2402] Forked 3818 -(3817) found -(3818) found -[2401] Forked 3819 -[2400] Forked 3820 -(3819) found -(3820) found -[2399] Forked 3821 -[2398] Forked 3822 -(3821) found -(3822) found -[2397] Forked 3823 -[2396] Forked 3824 -(3823) found -(3824) found -[2395] Forked 3825 -[2394] Forked 3826 -(3825) found -(3826) found -[2393] Forked 3827 -[2392] Forked 3828 -(3827) found -(3828) found -[2391] Forked 3829 -[2390] Forked 3830 -(3829) found -(3830) found -[2389] Forked 3831 -[2388] Forked 3832 -(3831) found -(3832) found -[2387] Forked 3833 -[2386] Forked 3834 -(3833) found -(3834) found -[2385] Forked 3835 -[2384] Forked 3836 -(3835) found -(3836) found -[2383] Forked 3837 -[2382] Forked 3838 -(3837) found -(3838) found -[2381] Forked 3839 -[2380] Forked 3840 -(3839) found -(3840) found -[2379] Forked 3841 -[2378] Forked 3842 -(3841) found -(3842) found -[2377] Forked 3843 -[2376] Forked 3844 -(3843) found -(3844) found -[2375] Forked 3845 -[2374] Forked 3846 -(3845) found -(3846) found -[2373] Forked 3847 -[2372] Forked 3848 -(3847) found -(3848) found -[2371] Forked 3849 -[2370] Forked 3850 -(3849) found -(3850) found -[2369] Forked 3851 -[2368] Forked 3852 -(3851) found -(3852) found -[2367] Forked 3853 -[2366] Forked 3854 -(3853) found -(3854) found -[2365] Forked 3855 -[2364] Forked 3856 -(3855) found -(3856) found -[2363] Forked 3857 -[2362] Forked 3858 -(3857) found -(3858) found -[2361] Forked 3859 -[2360] Forked 3860 -(3859) found -(3860) found -[2359] Forked 3861 -(3861) found -[2358] Forked 3862 -(3862) found -[2357] Forked 3863 -(3863) found -[2356] Forked 3864 -(3864) found -[2355] Forked 3865 -(3865) found -[2354] Forked 3866 -(3866) found -[2353] Forked 3867 -(3867) found -[2352] Forked 3868 -(3868) found -[2351] Forked 3869 -(3869) found -[2350] Forked 3870 -(3870) found -[2349] Forked 3871 -(3871) found -[2348] Forked 3872 -(3872) found -[2347] Forked 3873 -(3873) found -[2346] Forked 3874 -(3874) found -[2345] Forked 3875 -(3875) found -[2344] Forked 3876 -(3876) found -[2343] Forked 3877 -(3877) found -[2342] Forked 3878 -(3878) found -[2341] Forked 3879 -(3879) found -[2340] Forked 3880 -(3880) found -[2339] Forked 3881 -(3881) found -[2338] Forked 3882 -(3882) found -[2337] Forked 3883 -(3883) found -[2336] Forked 3884 -(3884) found -[2335] Forked 3885 -(3885) found -[2334] Forked 3886 -(3886) found -[2333] Forked 3887 -(3887) found -[2332] Forked 3888 -(3888) found -[2331] Forked 3889 -(3889) found -[2330] Forked 3890 -(3890) found -[2329] Forked 3891 -(3891) found -[2328] Forked 3892 -(3892) found -[2327] Forked 3893 -(3893) found -[2326] Forked 3894 -(3894) found -[2325] Forked 3895 -(3895) found -[2324] Forked 3896 -(3896) found -[2323] Forked 3897 -(3897) found -[2322] Forked 3898 -[2321] Forked 3899 -(3898) found -(3899) found -[2320] Forked 3900 -[2319] Forked 3901 -(3900) found -(3901) found -[2318] Forked 3902 -[2317] Forked 3903 -(3902) found -(3903) found -[2316] Forked 3904 -[2315] Forked 3905 -(3904) found -(3905) found -[2314] Forked 3906 -[2313] Forked 3907 -(3906) found -(3907) found -[2312] Forked 3908 -[2311] Forked 3909 -(3908) found -(3909) found -[2310] Forked 3910 -[2309] Forked 3911 -(3910) found -(3911) found -[2308] Forked 3912 -[2307] Forked 3913 -(3912) found -(3913) found -[2306] Forked 3914 -[2305] Forked 3915 -(3914) found -(3915) found -[2304] Forked 3916 -[2303] Forked 3917 -(3916) found -(3917) found -[2302] Forked 3918 -[2301] Forked 3919 -(3918) found -(3919) found -[2300] Forked 3920 -[2299] Forked 3921 -(3920) found -(3921) found -[2298] Forked 3922 -[2297] Forked 3923 -(3922) found -(3923) found -[2296] Forked 3924 -[2295] Forked 3926 -(3924) found -(3926) found -[2294] Forked 3927 -(3927) found -[2293] Forked 3928 -(3928) found -[2292] Forked 3929 -(3929) found -[2291] Forked 3930 -(3930) found -[2290] Forked 3931 -(3931) found -[2289] Forked 3932 -(3932) found -[2288] Forked 3933 -(3933) found -[2287] Forked 3934 -(3934) found -[2286] Forked 3935 -(3935) found -[2285] Forked 3936 -(3936) found -[2284] Forked 3937 -(3937) found -[2283] Forked 3938 -(3938) found -[2282] Forked 3939 -(3939) found -[2281] Forked 3940 -(3940) found -[2280] Forked 3941 -(3941) found -[2279] Forked 3942 -(3942) found -[2278] Forked 3943 -(3943) found -[2277] Forked 3944 -(3944) found -[2276] Forked 3945 -(3945) found -[2275] Forked 3946 -(3946) found -[2274] Forked 3947 -(3947) found -[2273] Forked 3948 -(3948) found -[2272] Forked 3949 -(3949) found -[2271] Forked 3950 -(3950) found -[2270] Forked 3951 -(3951) found -[2269] Forked 3952 -(3952) found -[2268] Forked 3953 -(3953) found -[2267] Forked 3954 -(3954) found -[2266] Forked 3955 -(3955) found -[2265] Forked 3956 -(3956) found -[2264] Forked 3957 -(3957) found -[2263] Forked 3958 -(3958) found -[2262] Forked 3959 -(3959) found -[2261] Forked 3960 -(3960) found -[2260] Forked 3961 -(3961) found -[2259] Forked 3962 -(3962) found -[2258] Forked 3963 -(3963) found -[2257] Forked 3964 -(3964) found -[2256] Forked 3965 -(3965) found -[2255] Forked 3966 -(3966) found -[2254] Forked 3967 -(3967) found -[2253] Forked 3968 -(3968) found -[2252] Forked 3969 -(3969) found -[2251] Forked 3970 -(3970) found -[2250] Forked 3971 -(3971) found -[2249] Forked 3972 -(3972) found -[2248] Forked 3973 -(3973) found -[2247] Forked 3974 -(3974) found -[2246] Forked 3975 -(3975) found -[2245] Forked 3976 -(3976) found -[2244] Forked 3977 -(3977) found -[2243] Forked 3978 -(3978) found -[2242] Forked 3979 -(3979) found -[2241] Forked 3980 -(3980) found -[2240] Forked 3981 -(3981) found -[2239] Forked 3982 -(3982) found -[2238] Forked 3983 -(3983) found -[2237] Forked 3984 -(3984) found -[2236] Forked 3985 -(3985) found -[2235] Forked 3986 -(3986) found -[2234] Forked 3987 -(3987) found -[2233] Forked 3988 -(3988) found -[2232] Forked 3989 -(3989) found -[2231] Forked 3990 -(3990) found -[2230] Forked 3991 -(3991) found -[2229] Forked 3992 -(3992) found -[2228] Forked 3993 -(3993) found -[2227] Forked 3994 -(3994) found -[2226] Forked 3995 -(3995) found -[2225] Forked 3996 -(3996) found -[2224] Forked 3997 -(3997) found -[2223] Forked 3998 -(3998) found -[2222] Forked 3999 -[2221] Forked 4000 -(3999) found -(4000) found -[2220] Forked 4001 -[2219] Forked 4002 -(4001) found -(4002) found -[2218] Forked 4003 -[2217] Forked 4004 -(4003) found -(4004) found -[2216] Forked 4005 -[2215] Forked 4006 -(4005) found -(4006) found -[2214] Forked 4007 -[2213] Forked 4008 -(4007) found -(4008) found -[2212] Forked 4009 -[2211] Forked 4010 -(4009) found -(4010) found -[2210] Forked 4011 -[2209] Forked 4012 -(4011) found -(4012) found -[2208] Forked 4013 -[2207] Forked 4014 -(4013) found -(4014) found -[2206] Forked 4015 -[2205] Forked 4016 -(4015) found -(4016) found -[2204] Forked 4017 -[2203] Forked 4018 -(4017) found -(4018) found -[2202] Forked 4019 -[2201] Forked 4020 -(4019) found -(4020) found -[2200] Forked 4021 -[2199] Forked 4022 -(4021) found -(4022) found -[2198] Forked 4023 -[2197] Forked 4024 -(4023) found -(4024) found -[2196] Forked 4025 -[2195] Forked 4026 -(4025) found -(4026) found -[2194] Forked 4028 -[2193] Forked 4029 -(4028) found -(4029) found -[2192] Forked 4030 -[2191] Forked 4031 -(4030) found -(4031) found -[2190] Forked 4032 -[2189] Forked 4034 -(4032) found -(4034) found -[2188] Forked 4035 -[2187] Forked 4037 -(4035) found -(4037) found -[2186] Forked 4038 -(4038) found -[2185] Forked 4039 -(4039) found -[2184] Forked 4040 -(4040) found -[2183] Forked 4041 -(4041) found -[2182] Forked 4042 -(4042) found -[2181] Forked 4043 -(4043) found -[2180] Forked 4044 -(4044) found -[2179] Forked 4045 -(4045) found -[2178] Forked 4046 -(4046) found -[2177] Forked 4047 -(4047) found -[2176] Forked 4048 -(4048) found -[2175] Forked 4049 -(4049) found -[2174] Forked 4052 -(4052) found -[2173] Forked 4053 -(4053) found -[2172] Forked 4054 -(4054) found -[2171] Forked 4055 -(4055) found -[2170] Forked 4056 -(4056) found -[2169] Forked 4057 -(4057) found -[2168] Forked 4058 -(4058) found -[2167] Forked 4059 -(4059) found -[2166] Forked 4060 -(4060) found -[2165] Forked 4061 -(4061) found -[2164] Forked 4062 -(4062) found -[2163] Forked 4063 -(4063) found -[2162] Forked 4064 -(4064) found -[2161] Forked 4065 -(4065) found -[2160] Forked 4066 -(4066) found -[2159] Forked 4067 -(4067) found -[2158] Forked 4068 -(4068) found -[2157] Forked 4069 -(4069) found -[2156] Forked 4070 -(4070) found -[2155] Forked 4071 -(4071) found -[2154] Forked 4072 -(4072) found -[2153] Forked 4074 -(4074) found -[2152] Forked 4075 -(4075) found -[2151] Forked 4076 -(4076) found -[2150] Forked 4077 -(4077) found -[2149] Forked 4078 -(4078) found -[2148] Forked 4079 -(4079) found -[2147] Forked 4080 -(4080) found -[2146] Forked 4081 -(4081) found -[2145] Forked 4082 -(4082) found -[2144] Forked 4083 -[2143] Forked 4086 -(4083) found -(4086) found -[2142] Forked 4088 -[2141] Forked 4089 -(4088) found -(4089) found -[2140] Forked 4090 -[2139] Forked 4093 -(4090) found -(4093) found -[2138] Forked 4095 -[2137] Forked 4096 -(4095) found -(4096) found -[2136] Forked 4097 -[2135] Forked 4098 -(4097) found -(4098) found -[2134] Forked 4099 -[2133] Forked 4100 -(4099) found -(4100) found -[2132] Forked 4101 -[2131] Forked 4102 -(4101) found -(4102) found -[2130] Forked 4103 -[2129] Forked 4104 -(4103) found -(4104) found -[2128] Forked 4105 -[2127] Forked 4106 -(4105) found -(4106) found -[2126] Forked 4107 -[2125] Forked 4108 -(4107) found -(4108) found -[2124] Forked 4109 -[2123] Forked 4110 -(4109) found -(4110) found -[2122] Forked 4111 -[2121] Forked 4112 -(4111) found -(4112) found -[2120] Forked 4113 -[2119] Forked 4114 -(4113) found -(4114) found -[2118] Forked 4115 -[2117] Forked 4116 -(4115) found -(4116) found -[2116] Forked 4117 -[2115] Forked 4118 -(4117) found -(4118) found -[2114] Forked 4119 -[2113] Forked 4120 -(4119) found -(4120) found -[2112] Forked 4121 -[2111] Forked 4122 -(4121) found -(4122) found -[2110] Forked 4123 -[2109] Forked 4124 -(4123) found -(4124) found -[2108] Forked 4125 -[2107] Forked 4126 -(4125) found -(4126) found -[2106] Forked 4127 -[2105] Forked 4128 -(4127) found -(4128) found -[2104] Forked 4129 -[2103] Forked 4130 -(4129) found -(4130) found -[2102] Forked 4131 -[2101] Forked 4132 -(4131) found -(4132) found -[2100] Forked 4133 -[2099] Forked 4134 -(4133) found -(4134) found -[2098] Forked 4135 -[2097] Forked 4136 -(4135) found -(4136) found -[2096] Forked 4137 -[2095] Forked 4138 -(4137) found -(4138) found -[2094] Forked 4139 -[2093] Forked 4140 -(4139) found -(4140) found -[2092] Forked 4141 -[2091] Forked 4142 -(4141) found -(4142) found -[2090] Forked 4143 -[2089] Forked 4144 -(4143) found -(4144) found -[2088] Forked 4145 -[2087] Forked 4146 -(4145) found -(4146) found -[2086] Forked 4147 -[2085] Forked 4148 -(4147) found -(4148) found -[2084] Forked 4149 -[2083] Forked 4150 -(4149) found -(4150) found -[2082] Forked 4151 -[2081] Forked 4152 -(4151) found -(4152) found -[2080] Forked 4153 -[2079] Forked 4154 -(4153) found -(4154) found -[2078] Forked 4155 -[2077] Forked 4156 -(4155) found -(4156) found -[2076] Forked 4157 -[2075] Forked 4158 -(4157) found -(4158) found -[2074] Forked 4159 -[2073] Forked 4160 -(4159) found -(4160) found -[2072] Forked 4161 -[2071] Forked 4162 -(4161) found -(4162) found -[2070] Forked 4163 -[2069] Forked 4164 -(4163) found -(4164) found -[2068] Forked 4165 -[2067] Forked 4166 -(4165) found -(4166) found -[2066] Forked 4167 -[2065] Forked 4168 -(4167) found -(4168) found -[2064] Forked 4169 -[2063] Forked 4170 -(4169) found -(4170) found -[2062] Forked 4171 -[2061] Forked 4172 -(4171) found -(4172) found -[2060] Forked 4173 -[2059] Forked 4174 -(4173) found -(4174) found -[2058] Forked 4175 -[2057] Forked 4176 -(4175) found -(4176) found -[2056] Forked 4177 -[2055] Forked 4178 -(4177) found -(4178) found -[2054] Forked 4179 -[2053] Forked 4180 -(4179) found -(4180) found -[2052] Forked 4181 -(4181) found -[2051] Forked 4182 -(4182) found -[2050] Forked 4183 -(4183) found -[2049] Forked 4184 -(4184) found -[2048] Forked 4185 -(4185) found -[2047] Forked 4186 -(4186) found -[2046] Forked 4187 -(4187) found -[2045] Forked 4188 -(4188) found -[2044] Forked 4189 -(4189) found -[2043] Forked 4190 -(4190) found -[2042] Forked 4191 -(4191) found -[2041] Forked 4192 -(4192) found -[2040] Forked 4193 -(4193) found -[2039] Forked 4194 -(4194) found -[2038] Forked 4195 -(4195) found -[2037] Forked 4196 -(4196) found -[2036] Forked 4197 -(4197) found -[2035] Forked 4198 -(4198) found -[2034] Forked 4199 -(4199) found -[2033] Forked 4200 -(4200) found -[2032] Forked 4201 -(4201) found -[2031] Forked 4202 -(4202) found -[2030] Forked 4203 -(4203) found -[2029] Forked 4204 -(4204) found -[2028] Forked 4205 -(4205) found -[2027] Forked 4206 -(4206) found -[2026] Forked 4207 -(4207) found -[2025] Forked 4208 -(4208) found -[2024] Forked 4209 -(4209) found -[2023] Forked 4210 -(4210) found -[2022] Forked 4211 -(4211) found -[2021] Forked 4212 -(4212) found -[2020] Forked 4213 -(4213) found -[2019] Forked 4214 -(4214) found -[2018] Forked 4215 -(4215) found -[2017] Forked 4216 -(4216) found -[2016] Forked 4217 -[2015] Forked 4218 -(4217) found -(4218) found -[2014] Forked 4219 -[2013] Forked 4220 -(4219) found -(4220) found -[2012] Forked 4221 -[2011] Forked 4222 -(4221) found -(4222) found -[2010] Forked 4223 -[2009] Forked 4224 -(4223) found -(4224) found -[2008] Forked 4225 -[2007] Forked 4226 -(4225) found -(4226) found -[2006] Forked 4227 -[2005] Forked 4228 -(4227) found -(4228) found -[2004] Forked 4229 -[2003] Forked 4230 -(4229) found -(4230) found -[2002] Forked 4231 -[2001] Forked 4232 -(4231) found -(4232) found -[2000] Forked 4233 -[1999] Forked 4234 -(4233) found -(4234) found -[1998] Forked 4235 -[1997] Forked 4236 -(4235) found -(4236) found -[1996] Forked 4237 -[1995] Forked 4238 -(4237) found -(4238) found -[1994] Forked 4239 -[1993] Forked 4240 -(4239) found -(4240) found -[1992] Forked 4242 -[1991] Forked 4243 -(4242) found -(4243) found -[1990] Forked 4244 -[1989] Forked 4245 -(4244) found -(4245) found -[1988] Forked 4247 -[1987] Forked 4248 -(4247) found -(4248) found -[1986] Forked 4249 -[1985] Forked 4250 -(4249) found -(4250) found -[1984] Forked 4251 -[1983] Forked 4252 -(4251) found -(4252) found -[1982] Forked 4254 -[1981] Forked 4255 -(4254) found -(4255) found -[1980] Forked 4256 -[1979] Forked 4257 -(4256) found -(4257) found -[1978] Forked 4258 -[1977] Forked 4259 -(4258) found -(4259) found -[1976] Forked 4260 -[1975] Forked 4261 -(4260) found -(4261) found -[1974] Forked 4262 -[1973] Forked 4263 -(4262) found -(4263) found -[1972] Forked 4264 -(4264) found -[1971] Forked 4265 -(4265) found -[1970] Forked 4266 -(4266) found -[1969] Forked 4267 -(4267) found -[1968] Forked 4268 -(4268) found -[1967] Forked 4269 -(4269) found -[1966] Forked 4270 -(4270) found -[1965] Forked 4271 -(4271) found -[1964] Forked 4272 -(4272) found -[1963] Forked 4273 -(4273) found -[1962] Forked 4274 -(4274) found -[1961] Forked 4275 -(4275) found -[1960] Forked 4276 -(4276) found -[1959] Forked 4277 -(4277) found -[1958] Forked 4278 -(4278) found -[1957] Forked 4279 -(4279) found -[1956] Forked 4280 -(4280) found -[1955] Forked 4281 -(4281) found -[1954] Forked 4282 -(4282) found -[1953] Forked 4284 -(4284) found -[1952] Forked 4285 -(4285) found -[1951] Forked 4286 -(4286) found -[1950] Forked 4287 -(4287) found -[1949] Forked 4288 -(4288) found -[1948] Forked 4289 -(4289) found -[1947] Forked 4290 -(4290) found -[1946] Forked 4291 -(4291) found -[1945] Forked 4292 -(4292) found -[1944] Forked 4293 -(4293) found -[1943] Forked 4294 -(4294) found -[1942] Forked 4295 -(4295) found -[1941] Forked 4296 -(4296) found -[1940] Forked 4297 -(4297) found -[1939] Forked 4298 -(4298) found -[1938] Forked 4299 -(4299) found -[1937] Forked 4300 -(4300) found -[1936] Forked 4301 -(4301) found -[1935] Forked 4302 -[1934] Forked 4303 -(4302) found -(4303) found -[1933] Forked 4304 -[1932] Forked 4305 -(4304) found -(4305) found -[1931] Forked 4306 -[1930] Forked 4307 -(4306) found -(4307) found -[1929] Forked 4308 -[1928] Forked 4309 -(4308) found -(4309) found -[1927] Forked 4310 -[1926] Forked 4311 -(4310) found -(4311) found -[1925] Forked 4312 -[1924] Forked 4313 -(4312) found -(4313) found -[1923] Forked 4314 -[1922] Forked 4315 -(4314) found -(4315) found -[1921] Forked 4316 -[1920] Forked 4317 -(4316) found -(4317) found -[1919] Forked 4318 -[1918] Forked 4319 -(4318) found -(4319) found -[1917] Forked 4320 -[1916] Forked 4321 -(4320) found -(4321) found -[1915] Forked 4322 -[1914] Forked 4323 -(4322) found -(4323) found -[1913] Forked 4324 -[1912] Forked 4325 -(4324) found -(4325) found -[1911] Forked 4326 -[1910] Forked 4327 -(4326) found -(4327) found -[1909] Forked 4328 -[1908] Forked 4329 -(4328) found -(4329) found -[1907] Forked 4330 -[1906] Forked 4331 -(4330) found -(4331) found -[1905] Forked 4332 -[1904] Forked 4333 -(4332) found -(4333) found -[1903] Forked 4334 -[1902] Forked 4335 -(4334) found -(4335) found -[1901] Forked 4336 -[1900] Forked 4337 -(4336) found -(4337) found -[1899] Forked 4338 -[1898] Forked 4339 -(4338) found -(4339) found -[1897] Forked 4340 -[1896] Forked 4342 -(4340) found -(4342) found -[1895] Forked 4343 -(4343) found -[1894] Forked 4344 -(4344) found -[1893] Forked 4345 -(4345) found -[1892] Forked 4346 -(4346) found -[1891] Forked 4347 -(4347) found -[1890] Forked 4348 -(4348) found -[1889] Forked 4349 -(4349) found -[1888] Forked 4350 -(4350) found -[1887] Forked 4351 -(4351) found -[1886] Forked 4352 -(4352) found -[1885] Forked 4353 -(4353) found -[1884] Forked 4354 -(4354) found -[1883] Forked 4355 -(4355) found -[1882] Forked 4356 -(4356) found -[1881] Forked 4357 -(4357) found -[1880] Forked 4358 -(4358) found -[1879] Forked 4359 -(4359) found -[1878] Forked 4360 -(4360) found -[1877] Forked 4361 -(4361) found -[1876] Forked 4362 -(4362) found -[1875] Forked 4363 -(4363) found -[1874] Forked 4364 -(4364) found -[1873] Forked 4365 -(4365) found -[1872] Forked 4366 -(4366) found -[1871] Forked 4367 -(4367) found -[1870] Forked 4368 -(4368) found -[1869] Forked 4369 -(4369) found -[1868] Forked 4370 -(4370) found -[1867] Forked 4371 -(4371) found -[1866] Forked 4372 -(4372) found -[1865] Forked 4373 -(4373) found -[1864] Forked 4374 -(4374) found -[1863] Forked 4375 -(4375) found -[1862] Forked 4376 -(4376) found -[1861] Forked 4377 -(4377) found -[1860] Forked 4378 -(4378) found -[1859] Forked 4379 -(4379) found -[1858] Forked 4380 -(4380) found -[1857] Forked 4381 -(4381) found -[1856] Forked 4382 -[1855] Forked 4383 -(4382) found -(4383) found -[1854] Forked 4384 -[1853] Forked 4385 -(4384) found -(4385) found -[1852] Forked 4386 -[1851] Forked 4387 -(4386) found -(4387) found -[1850] Forked 4388 -[1849] Forked 4389 -(4388) found -(4389) found -[1848] Forked 4390 -[1847] Forked 4391 -(4390) found -(4391) found -[1846] Forked 4392 -[1845] Forked 4393 -(4392) found -(4393) found -[1844] Forked 4394 -[1843] Forked 4395 -(4394) found -(4395) found -[1842] Forked 4396 -[1841] Forked 4397 -(4396) found -(4397) found -[1840] Forked 4398 -[1839] Forked 4399 -(4398) found -(4399) found -[1838] Forked 4400 -[1837] Forked 4401 -(4400) found -(4401) found -[1836] Forked 4402 -[1835] Forked 4403 -(4402) found -(4403) found -[1834] Forked 4404 -[1833] Forked 4405 -(4404) found -(4405) found -[1832] Forked 4406 -[1831] Forked 4407 -(4406) found -(4407) found -[1830] Forked 4408 -[1829] Forked 4409 -(4408) found -(4409) found -[1828] Forked 4410 -[1827] Forked 4411 -(4410) found -(4411) found -[1826] Forked 4412 -[1825] Forked 4413 -(4412) found -(4413) found -[1824] Forked 4414 -[1823] Forked 4415 -(4414) found -(4415) found -[1822] Forked 4416 -[1821] Forked 4417 -(4416) found -(4417) found -[1820] Forked 4418 -[1819] Forked 4419 -(4418) found -(4419) found -[1818] Forked 4420 -[1817] Forked 4421 -(4420) found -(4421) found -[1816] Forked 4422 -[1815] Forked 4423 -(4422) found -(4423) found -[1814] Forked 4424 -(4424) found -[1813] Forked 4425 -(4425) found -[1812] Forked 4426 -(4426) found -[1811] Forked 4427 -(4427) found -[1810] Forked 4428 -(4428) found -[1809] Forked 4429 -(4429) found -[1808] Forked 4430 -(4430) found -[1807] Forked 4431 -(4431) found -[1806] Forked 4432 -(4432) found -[1805] Forked 4433 -(4433) found -[1804] Forked 4434 -(4434) found -[1803] Forked 4435 -(4435) found -[1802] Forked 4436 -(4436) found -[1801] Forked 4437 -(4437) found -[1800] Forked 4438 -(4438) found -[1799] Forked 4439 -(4439) found -[1798] Forked 4440 -(4440) found -[1797] Forked 4441 -(4441) found -[1796] Forked 4442 -(4442) found -[1795] Forked 4443 -(4443) found -[1794] Forked 4444 -(4444) found -[1793] Forked 4445 -(4445) found -[1792] Forked 4446 -(4446) found -[1791] Forked 4447 -(4447) found -[1790] Forked 4448 -(4448) found -[1789] Forked 4449 -(4449) found -[1788] Forked 4450 -(4450) found -[1787] Forked 4451 -(4451) found -[1786] Forked 4452 -(4452) found -[1785] Forked 4453 -(4453) found -[1784] Forked 4454 -(4454) found -[1783] Forked 4455 -(4455) found -[1782] Forked 4456 -(4456) found -[1781] Forked 4457 -(4457) found -[1780] Forked 4458 -(4458) found -[1779] Forked 4459 -(4459) found -[1778] Forked 4460 -[1777] Forked 4461 -(4460) found -(4461) found -[1776] Forked 4462 -[1775] Forked 4463 -(4462) found -(4463) found -[1774] Forked 4464 -[1773] Forked 4465 -(4464) found -(4465) found -[1772] Forked 4466 -[1771] Forked 4467 -(4466) found -(4467) found -[1770] Forked 4468 -[1769] Forked 4469 -(4468) found -(4469) found -[1768] Forked 4470 -[1767] Forked 4471 -(4470) found -(4471) found -[1766] Forked 4472 -[1765] Forked 4473 -(4472) found -(4473) found -[1764] Forked 4474 -[1763] Forked 4475 -(4474) found -(4475) found -[1762] Forked 4476 -[1761] Forked 4477 -(4476) found -(4477) found -[1760] Forked 4478 -[1759] Forked 4479 -(4478) found -(4479) found -[1758] Forked 4480 -[1757] Forked 4481 -(4480) found -(4481) found -[1756] Forked 4482 -[1755] Forked 4483 -(4482) found -(4483) found -[1754] Forked 4484 -[1753] Forked 4485 -(4484) found -(4485) found -[1752] Forked 4486 -[1751] Forked 4487 -(4486) found -(4487) found -[1750] Forked 4488 -[1749] Forked 4489 -(4488) found -(4489) found -[1748] Forked 4490 -[1747] Forked 4491 -(4490) found -(4491) found -[1746] Forked 4492 -[1745] Forked 4493 -(4492) found -(4493) found -[1744] Forked 4494 -[1743] Forked 4495 -(4494) found -(4495) found -[1742] Forked 4496 -[1741] Forked 4497 -(4496) found -(4497) found -[1740] Forked 4498 -[1739] Forked 4499 -(4498) found -(4499) found -[1738] Forked 4500 -[1737] Forked 4501 -(4500) found -(4501) found -[1736] Forked 4502 -[1735] Forked 4503 -(4502) found -(4503) found -[1734] Forked 4504 -[1733] Forked 4505 -(4504) found -(4505) found -[1732] Forked 4506 -[1731] Forked 4507 -(4506) found -(4507) found -[1730] Forked 4508 -[1729] Forked 4509 -(4508) found -(4509) found -[1728] Forked 4510 -[1727] Forked 4511 -(4510) found -(4511) found -[1726] Forked 4512 -[1725] Forked 4513 -(4512) found -(4513) found -[1724] Forked 4514 -[1723] Forked 4515 -(4514) found -(4515) found -[1722] Forked 4516 -[1721] Forked 4517 -(4516) found -(4517) found -[1720] Forked 4518 -[1719] Forked 4519 -(4518) found -(4519) found -[1718] Forked 4520 -[1717] Forked 4521 -(4520) found -(4521) found -[1716] Forked 4522 -[1715] Forked 4523 -(4522) found -(4523) found -[1714] Forked 4524 -[1713] Forked 4525 -(4524) found -(4525) found -[1712] Forked 4526 -[1711] Forked 4527 -(4526) found -(4527) found -[1710] Forked 4528 -[1709] Forked 4529 -(4528) found -(4529) found -[1708] Forked 4530 -[1707] Forked 4531 -(4530) found -(4531) found -[1706] Forked 4532 -[1705] Forked 4533 -(4532) found -(4533) found -[1704] Forked 4534 -[1703] Forked 4535 -(4534) found -(4535) found -[1702] Forked 4536 -[1701] Forked 4537 -(4536) found -(4537) found -[1700] Forked 4538 -[1699] Forked 4539 -(4538) found -(4539) found -[1698] Forked 4540 -[1697] Forked 4541 -(4540) found -(4541) found -[1696] Forked 4542 -[1695] Forked 4543 -(4542) found -(4543) found -[1694] Forked 4544 -[1693] Forked 4545 -(4544) found -(4545) found -[1692] Forked 4546 -[1691] Forked 4547 -(4546) found -(4547) found -[1690] Forked 4548 -[1689] Forked 4549 -(4548) found -(4549) found -[1688] Forked 4550 -[1687] Forked 4551 -(4550) found -(4551) found -[1686] Forked 4552 -(4552) found -[1685] Forked 4553 -(4553) found -[1684] Forked 4554 -(4554) found -[1683] Forked 4555 -(4555) found -[1682] Forked 4556 -(4556) found -[1681] Forked 4557 -(4557) found -[1680] Forked 4558 -(4558) found -[1679] Forked 4559 -(4559) found -[1678] Forked 4560 -(4560) found -[1677] Forked 4561 -(4561) found -[1676] Forked 4562 -(4562) found -[1675] Forked 4563 -(4563) found -[1674] Forked 4564 -(4564) found -[1673] Forked 4565 -(4565) found -[1672] Forked 4566 -(4566) found -[1671] Forked 4567 -(4567) found -[1670] Forked 4568 -(4568) found -[1669] Forked 4569 -(4569) found -[1668] Forked 4570 -(4570) found -[1667] Forked 4571 -(4571) found -[1666] Forked 4572 -(4572) found -[1665] Forked 4573 -(4573) found -[1664] Forked 4574 -(4574) found -[1663] Forked 4575 -(4575) found -[1662] Forked 4576 -(4576) found -[1661] Forked 4577 -(4577) found -[1660] Forked 4578 -(4578) found -[1659] Forked 4579 -(4579) found -[1658] Forked 4580 -(4580) found -[1657] Forked 4581 -(4581) found -[1656] Forked 4582 -(4582) found -[1655] Forked 4583 -(4583) found -[1654] Forked 4584 -[1653] Forked 4585 -(4584) found -(4585) found -[1652] Forked 4586 -[1651] Forked 4587 -(4586) found -(4587) found -[1650] Forked 4588 -[1649] Forked 4589 -(4588) found -(4589) found -[1648] Forked 4590 -[1647] Forked 4591 -(4590) found -(4591) found -[1646] Forked 4593 -[1645] Forked 4594 -(4593) found -(4594) found -[1644] Forked 4595 -[1643] Forked 4596 -(4595) found -(4596) found -[1642] Forked 4597 -[1641] Forked 4598 -(4597) found -(4598) found -[1640] Forked 4599 -[1639] Forked 4600 -(4599) found -(4600) found -[1638] Forked 4601 -[1637] Forked 4602 -(4601) found -(4602) found -[1636] Forked 4603 -[1635] Forked 4604 -(4603) found -(4604) found -[1634] Forked 4605 -[1633] Forked 4606 -(4605) found -(4606) found -[1632] Forked 4607 -[1631] Forked 4608 -(4607) found -(4608) found -[1630] Forked 4609 -[1629] Forked 4610 -(4609) found -(4610) found -[1628] Forked 4611 -[1627] Forked 4612 -(4611) found -(4612) found -[1626] Forked 4613 -[1625] Forked 4614 -(4613) found -(4614) found -[1624] Forked 4615 -[1623] Forked 4616 -(4615) found -(4616) found -[1622] Forked 4617 -[1621] Forked 4618 -(4617) found -(4618) found -[1620] Forked 4619 -[1619] Forked 4620 -(4619) found -(4620) found -[1618] Forked 4621 -[1617] Forked 4622 -(4621) found -(4622) found -[1616] Forked 4623 -[1615] Forked 4624 -(4623) found -(4624) found -[1614] Forked 4625 -[1613] Forked 4626 -(4625) found -(4626) found -[1612] Forked 4627 -[1611] Forked 4628 -(4627) found -(4628) found -[1610] Forked 4629 -[1609] Forked 4630 -(4629) found -(4630) found -[1608] Forked 4631 -[1607] Forked 4632 -(4631) found -(4632) found -[1606] Forked 4633 -(4633) found -[1605] Forked 4634 -(4634) found -[1604] Forked 4635 -(4635) found -[1603] Forked 4636 -(4636) found -[1602] Forked 4637 -(4637) found -[1601] Forked 4638 -(4638) found -[1600] Forked 4639 -(4639) found -[1599] Forked 4640 -(4640) found -[1598] Forked 4641 -(4641) found -[1597] Forked 4642 -(4642) found -[1596] Forked 4643 -(4643) found -[1595] Forked 4644 -(4644) found -[1594] Forked 4645 -(4645) found -[1593] Forked 4646 -(4646) found -[1592] Forked 4647 -(4647) found -[1591] Forked 4648 -(4648) found -[1590] Forked 4649 -(4649) found -[1589] Forked 4650 -(4650) found -[1588] Forked 4651 -(4651) found -[1587] Forked 4652 -(4652) found -[1586] Forked 4653 -(4653) found -[1585] Forked 4654 -(4654) found -[1584] Forked 4655 -(4655) found -[1583] Forked 4656 -(4656) found -[1582] Forked 4657 -(4657) found -[1581] Forked 4658 -(4658) found -[1580] Forked 4659 -(4659) found -[1579] Forked 4660 -(4660) found -[1578] Forked 4661 -(4661) found -[1577] Forked 4662 -(4662) found -[1576] Forked 4663 -[1575] Forked 4664 -(4664) found -(4663) found -[1574] Forked 4665 -(4665) found -[1573] Forked 4666 -(4666) found -[1572] Forked 4667 -(4667) found -[1571] Forked 4668 -(4668) found -[1570] Forked 4669 -(4669) found -[1569] Forked 4670 -(4670) found -[1568] Forked 4671 -(4671) found -[1567] Forked 4672 -(4672) found -[1566] Forked 4673 -(4673) found -[1565] Forked 4674 -(4674) found -[1564] Forked 4675 -(4675) found -[1563] Forked 4676 -(4676) found -[1562] Forked 4677 -(4677) found -[1561] Forked 4678 -(4678) found -[1560] Forked 4679 -(4679) found -[1559] Forked 4680 -(4680) found -[1558] Forked 4681 -(4681) found -[1557] Forked 4682 -(4682) found -[1556] Forked 4683 -(4683) found -[1555] Forked 4684 -(4684) found -[1554] Forked 4685 -(4685) found -[1553] Forked 4686 -(4686) found -[1552] Forked 4687 -(4687) found -[1551] Forked 4688 -(4688) found -[1550] Forked 4689 -(4689) found -[1549] Forked 4690 -(4690) found -[1548] Forked 4691 -(4691) found -[1547] Forked 4692 -(4692) found -[1546] Forked 4693 -(4693) found -[1545] Forked 4694 -(4694) found -[1544] Forked 4695 -(4695) found -[1543] Forked 4696 -(4696) found -[1542] Forked 4697 -(4697) found -[1541] Forked 4698 -(4698) found -[1540] Forked 4699 -(4699) found -[1539] Forked 4700 -(4700) found -[1538] Forked 4701 -(4701) found -[1537] Forked 4702 -(4702) found -[1536] Forked 4703 -(4703) found -[1535] Forked 4704 -(4704) found -[1534] Forked 4705 -(4705) found -[1533] Forked 4706 -(4706) found -[1532] Forked 4707 -(4707) found -[1531] Forked 4708 -(4708) found -[1530] Forked 4709 -(4709) found -[1529] Forked 4710 -(4710) found -[1528] Forked 4711 -(4711) found -[1527] Forked 4712 -(4712) found -[1526] Forked 4713 -(4713) found -[1525] Forked 4714 -(4714) found -[1524] Forked 4715 -(4715) found -[1523] Forked 4716 -(4716) found -[1522] Forked 4717 -(4717) found -[1521] Forked 4718 -(4718) found -[1520] Forked 4719 -(4719) found -[1519] Forked 4720 -(4720) found -[1518] Forked 4721 -(4721) found -[1517] Forked 4722 -(4722) found -[1516] Forked 4723 -(4723) found -[1515] Forked 4724 -(4724) found -[1514] Forked 4725 -(4725) found -[1513] Forked 4726 -(4726) found -[1512] Forked 4727 -(4727) found -[1511] Forked 4728 -(4728) found -[1510] Forked 4729 -(4729) found -[1509] Forked 4730 -(4730) found -[1508] Forked 4731 -(4731) found -[1507] Forked 4732 -(4732) found -[1506] Forked 4733 -(4733) found -[1505] Forked 4734 -(4734) found -[1504] Forked 4735 -(4735) found -[1503] Forked 4736 -[1502] Forked 4737 -(4736) found -(4737) found -[1501] Forked 4738 -[1500] Forked 4739 -(4738) found -(4739) found -[1499] Forked 4740 -[1498] Forked 4741 -(4740) found -(4741) found -[1497] Forked 4742 -[1496] Forked 4743 -(4742) found -(4743) found -[1495] Forked 4744 -[1494] Forked 4745 -(4744) found -(4745) found -[1493] Forked 4746 -[1492] Forked 4747 -(4746) found -(4747) found -[1491] Forked 4748 -[1490] Forked 4749 -(4748) found -(4749) found -[1489] Forked 4750 -[1488] Forked 4751 -(4750) found -(4751) found -[1487] Forked 4752 -[1486] Forked 4753 -(4752) found -(4753) found -[1485] Forked 4754 -[1484] Forked 4755 -(4754) found -(4755) found -[1483] Forked 4756 -[1482] Forked 4757 -(4756) found -(4757) found -[1481] Forked 4758 -[1480] Forked 4759 -(4758) found -(4759) found -[1479] Forked 4760 -[1478] Forked 4761 -(4760) found -(4761) found -[1477] Forked 4762 -[1476] Forked 4763 -(4762) found -(4763) found -[1475] Forked 4764 -[1474] Forked 4765 -(4764) found -(4765) found -[1473] Forked 4766 -[1472] Forked 4767 -(4766) found -(4767) found -[1471] Forked 4768 -[1470] Forked 4769 -(4768) found -(4769) found -[1469] Forked 4770 -[1468] Forked 4771 -(4770) found -(4771) found -[1467] Forked 4772 -[1466] Forked 4773 -(4772) found -(4773) found -[1465] Forked 4774 -[1464] Forked 4775 -(4774) found -(4775) found -[1463] Forked 4776 -[1462] Forked 4777 -(4776) found -(4777) found -[1461] Forked 4778 -[1460] Forked 4779 -(4778) found -(4779) found -[1459] Forked 4780 -(4780) found -[1458] Forked 4781 -(4781) found -[1457] Forked 4782 -(4782) found -[1456] Forked 4783 -(4783) found -[1455] Forked 4784 -(4784) found -[1454] Forked 4785 -(4785) found -[1453] Forked 4786 -(4786) found -[1452] Forked 4787 -(4787) found -[1451] Forked 4788 -(4788) found -[1450] Forked 4789 -(4789) found -[1449] Forked 4790 -(4790) found -[1448] Forked 4791 -(4791) found -[1447] Forked 4792 -(4792) found -[1446] Forked 4793 -(4793) found -[1445] Forked 4794 -(4794) found -[1444] Forked 4795 -(4795) found -[1443] Forked 4796 -(4796) found -[1442] Forked 4797 -(4797) found -[1441] Forked 4798 -(4798) found -[1440] Forked 4799 -(4799) found -[1439] Forked 4800 -(4800) found -[1438] Forked 4801 -(4801) found -[1437] Forked 4802 -(4802) found -[1436] Forked 4803 -(4803) found -[1435] Forked 4804 -(4804) found -[1434] Forked 4805 -(4805) found -[1433] Forked 4806 -(4806) found -[1432] Forked 4807 -(4807) found -[1431] Forked 4808 -(4808) found -[1430] Forked 4809 -(4809) found -[1429] Forked 4810 -(4810) found -[1428] Forked 4811 -(4811) found -[1427] Forked 4812 -(4812) found -[1426] Forked 4813 -(4813) found -[1425] Forked 4814 -(4814) found -[1424] Forked 4815 -(4815) found -[1423] Forked 4816 -[1422] Forked 4817 -(4816) found -(4817) found -[1421] Forked 4818 -[1420] Forked 4819 -(4818) found -(4819) found -[1419] Forked 4820 -(4820) found -[1418] Forked 4821 -[1417] Forked 4822 -(4821) found -(4822) found -[1416] Forked 4823 -[1415] Forked 4824 -(4823) found -(4824) found -[1414] Forked 4825 -[1413] Forked 4826 -(4825) found -(4826) found -[1412] Forked 4827 -[1411] Forked 4828 -(4827) found -(4828) found -[1410] Forked 4829 -[1409] Forked 4830 -(4829) found -(4830) found -[1408] Forked 4831 -[1407] Forked 4832 -(4831) found -(4832) found -[1406] Forked 4833 -[1405] Forked 4834 -(4833) found -(4834) found -[1404] Forked 4835 -[1403] Forked 4836 -(4835) found -(4836) found -[1402] Forked 4837 -[1401] Forked 4838 -(4837) found -(4838) found -[1400] Forked 4839 -[1399] Forked 4840 -(4839) found -(4840) found -[1398] Forked 4841 -[1397] Forked 4842 -(4841) found -(4842) found -[1396] Forked 4843 -[1395] Forked 4844 -(4843) found -(4844) found -[1394] Forked 4845 -[1393] Forked 4846 -(4845) found -(4846) found -[1392] Forked 4847 -[1391] Forked 4848 -(4847) found -(4848) found -[1390] Forked 4849 -[1389] Forked 4850 -(4849) found -(4850) found -[1388] Forked 4851 -[1387] Forked 4852 -(4851) found -(4852) found -[1386] Forked 4853 -[1385] Forked 4854 -(4853) found -(4854) found -[1384] Forked 4855 -[1383] Forked 4856 -(4855) found -(4856) found -[1382] Forked 4857 -[1381] Forked 4858 -(4857) found -(4858) found -[1380] Forked 4859 -(4859) found -[1379] Forked 4860 -[1378] Forked 4861 -(4860) found -(4861) found -[1377] Forked 4862 -[1376] Forked 4863 -(4862) found -(4863) found -[1375] Forked 4864 -[1374] Forked 4865 -(4864) found -(4865) found -[1373] Forked 4866 -[1372] Forked 4867 -(4866) found -(4867) found -[1371] Forked 4868 -[1370] Forked 4869 -(4868) found -(4869) found -[1369] Forked 4870 -[1368] Forked 4871 -(4870) found -(4871) found -[1367] Forked 4872 -[1366] Forked 4873 -(4872) found -(4873) found -[1365] Forked 4874 -[1364] Forked 4875 -(4874) found -(4875) found -[1363] Forked 4876 -[1362] Forked 4877 -(4876) found -(4877) found -[1361] Forked 4878 -[1360] Forked 4879 -(4878) found -(4879) found -[1359] Forked 4880 -[1358] Forked 4881 -(4880) found -(4881) found -[1357] Forked 4882 -[1356] Forked 4883 -(4882) found -(4883) found -[1355] Forked 4884 -[1354] Forked 4885 -(4884) found -(4885) found -[1353] Forked 4886 -[1352] Forked 4887 -(4886) found -(4887) found -[1351] Forked 4888 -[1350] Forked 4889 -(4888) found -(4889) found -[1349] Forked 4890 -[1348] Forked 4891 -(4890) found -(4891) found -[1347] Forked 4892 -[1346] Forked 4893 -(4892) found -(4893) found -[1345] Forked 4894 -[1344] Forked 4895 -(4894) found -(4895) found -[1343] Forked 4896 -[1342] Forked 4897 -(4896) found -(4897) found -[1341] Forked 4898 -[1340] Forked 4899 -(4898) found -(4899) found -[1339] Forked 4900 -[1338] Forked 4901 -(4900) found -(4901) found -[1337] Forked 4902 -[1336] Forked 4903 -(4902) found -(4903) found -[1335] Forked 4904 -[1334] Forked 4905 -(4904) found -(4905) found -[1333] Forked 4906 -[1332] Forked 4907 -(4906) found -(4907) found -[1331] Forked 4908 -[1330] Forked 4909 -(4908) found -(4909) found -[1329] Forked 4910 -[1328] Forked 4911 -(4910) found -(4911) found -[1327] Forked 4912 -[1326] Forked 4913 -(4912) found -(4913) found -[1325] Forked 4914 -[1324] Forked 4915 -(4914) found -(4915) found -[1323] Forked 4916 -[1322] Forked 4917 -(4916) found -(4917) found -[1321] Forked 4918 -[1320] Forked 4919 -(4918) found -(4919) found -[1319] Forked 4920 -[1318] Forked 4921 -(4920) found -(4921) found -[1317] Forked 4922 -[1316] Forked 4923 -(4922) found -(4923) found -[1315] Forked 4924 -[1314] Forked 4925 -(4924) found -(4925) found -[1313] Forked 4926 -[1312] Forked 4927 -(4926) found -(4927) found -[1311] Forked 4928 -[1310] Forked 4929 -(4928) found -(4929) found -[1309] Forked 4930 -[1308] Forked 4931 -(4930) found -(4931) found -[1307] Forked 4932 -[1306] Forked 4933 -(4932) found -(4933) found -[1305] Forked 4934 -[1304] Forked 4935 -(4934) found -(4935) found -[1303] Forked 4936 -[1302] Forked 4937 -(4936) found -(4937) found -[1301] Forked 4938 -[1300] Forked 4939 -(4938) found -(4939) found -[1299] Forked 4940 -[1298] Forked 4941 -(4940) found -(4941) found -[1297] Forked 4942 -[1296] Forked 4943 -(4942) found -(4943) found -[1295] Forked 4944 -[1294] Forked 4945 -(4944) found -(4945) found -[1293] Forked 4946 -[1292] Forked 4947 -(4946) found -(4947) found -[1291] Forked 4948 -[1290] Forked 4949 -(4948) found -(4949) found -[1289] Forked 4950 -[1288] Forked 4951 -(4950) found -(4951) found -[1287] Forked 4952 -[1286] Forked 4953 -(4952) found -(4953) found -[1285] Forked 4954 -[1284] Forked 4955 -(4954) found -(4955) found -[1283] Forked 4956 -[1282] Forked 4957 -(4956) found -(4957) found -[1281] Forked 4958 -[1280] Forked 4959 -(4958) found -(4959) found -[1279] Forked 4960 -[1278] Forked 4961 -(4960) found -(4961) found -[1277] Forked 4962 -[1276] Forked 4963 -(4962) found -(4963) found -[1275] Forked 4964 -[1274] Forked 4965 -(4964) found -(4965) found -[1273] Forked 4966 -[1272] Forked 4967 -(4966) found -(4967) found -[1271] Forked 4968 -[1270] Forked 4969 -(4968) found -(4969) found -[1269] Forked 4970 -[1268] Forked 4971 -(4970) found -(4971) found -[1267] Forked 4972 -[1266] Forked 4973 -(4972) found -(4973) found -[1265] Forked 4974 -[1264] Forked 4975 -(4974) found -(4975) found -[1263] Forked 4976 -[1262] Forked 4977 -(4976) found -(4977) found -[1261] Forked 4978 -[1260] Forked 4979 -(4978) found -(4979) found -[1259] Forked 4980 -[1258] Forked 4981 -(4980) found -(4981) found -[1257] Forked 4982 -[1256] Forked 4983 -(4982) found -(4983) found -[1255] Forked 4984 -[1254] Forked 4985 -(4984) found -(4985) found -[1253] Forked 4986 -[1252] Forked 4987 -(4986) found -(4987) found -[1251] Forked 4988 -[1250] Forked 4989 -(4988) found -(4989) found -[1249] Forked 4990 -[1248] Forked 4991 -(4990) found -(4991) found -[1247] Forked 4992 -[1246] Forked 4993 -(4992) found -(4993) found -[1245] Forked 4994 -[1244] Forked 4995 -(4994) found -(4995) found -[1243] Forked 4996 -[1242] Forked 4997 -(4996) found -(4997) found -[1241] Forked 4998 -[1240] Forked 4999 -(4998) found -(4999) found -[1239] Forked 5000 -[1238] Forked 5001 -(5000) found -(5001) found -[1237] Forked 5002 -[1236] Forked 5003 -(5002) found -(5003) found -[1235] Forked 5004 -[1234] Forked 5005 -(5004) found -(5005) found -[1233] Forked 5006 -[1232] Forked 5007 -(5006) found -(5007) found -[1231] Forked 5008 -[1230] Forked 5009 -(5008) found -(5009) found -[1229] Forked 5010 -[1228] Forked 5011 -(5010) found -(5011) found -[1227] Forked 5012 -[1226] Forked 5013 -(5012) found -(5013) found -[1225] Forked 5014 -[1224] Forked 5015 -(5014) found -(5015) found -[1223] Forked 5016 -[1222] Forked 5017 -(5016) found -(5017) found -[1221] Forked 5018 -[1220] Forked 5019 -(5018) found -(5019) found -[1219] Forked 5020 -[1218] Forked 5021 -(5020) found -(5021) found -[1217] Forked 5022 -[1216] Forked 5023 -(5022) found -(5023) found -[1215] Forked 5024 -[1214] Forked 5025 -(5024) found -(5025) found -[1213] Forked 5026 -[1212] Forked 5027 -(5026) found -(5027) found -[1211] Forked 5028 -[1210] Forked 5029 -(5028) found -(5029) found -[1209] Forked 5030 -[1208] Forked 5031 -(5030) found -(5031) found -[1207] Forked 5032 -[1206] Forked 5033 -(5032) found -(5033) found -[1205] Forked 5034 -[1204] Forked 5035 -(5034) found -(5035) found -[1203] Forked 5036 -[1202] Forked 5037 -(5036) found -(5037) found -[1201] Forked 5038 -[1200] Forked 5039 -(5038) found -(5039) found -[1199] Forked 5040 -[1198] Forked 5041 -(5040) found -(5041) found -[1197] Forked 5042 -(5042) found -[1196] Forked 5043 -(5043) found -[1195] Forked 5044 -(5044) found -[1194] Forked 5045 -(5045) found -[1193] Forked 5046 -(5046) found -[1192] Forked 5047 -(5047) found -[1191] Forked 5048 -(5048) found -[1190] Forked 5049 -(5049) found -[1189] Forked 5050 -(5050) found -[1188] Forked 5051 -(5051) found -[1187] Forked 5052 -(5052) found -[1186] Forked 5053 -(5053) found -[1185] Forked 5054 -(5054) found -[1184] Forked 5055 -(5055) found -[1183] Forked 5056 -(5056) found -[1182] Forked 5057 -(5057) found -[1181] Forked 5058 -(5058) found -[1180] Forked 5059 -(5059) found -[1179] Forked 5060 -(5060) found -[1178] Forked 5061 -(5061) found -[1177] Forked 5062 -(5062) found -[1176] Forked 5063 -(5063) found -[1175] Forked 5064 -(5064) found -[1174] Forked 5065 -(5065) found -[1173] Forked 5066 -(5066) found -[1172] Forked 5067 -(5067) found -[1171] Forked 5068 -(5068) found -[1170] Forked 5069 -(5069) found -[1169] Forked 5070 -(5070) found -[1168] Forked 5071 -(5071) found -[1167] Forked 5072 -(5072) found -[1166] Forked 5073 -(5073) found -[1165] Forked 5074 -(5074) found -[1164] Forked 5075 -(5075) found -[1163] Forked 5076 -[1162] Forked 5077 -(5076) found -(5077) found -[1161] Forked 5078 -[1160] Forked 5079 -(5078) found -(5079) found -[1159] Forked 5080 -[1158] Forked 5081 -(5080) found -(5081) found -[1157] Forked 5082 -[1156] Forked 5083 -(5082) found -(5083) found -[1155] Forked 5084 -[1154] Forked 5085 -(5084) found -(5085) found -[1153] Forked 5086 -[1152] Forked 5087 -(5086) found -(5087) found -[1151] Forked 5088 -[1150] Forked 5089 -(5088) found -(5089) found -[1149] Forked 5090 -[1148] Forked 5091 -(5090) found -(5091) found -[1147] Forked 5092 -[1146] Forked 5093 -(5092) found -(5093) found -[1145] Forked 5094 -[1144] Forked 5095 -(5094) found -(5095) found -[1143] Forked 5096 -[1142] Forked 5097 -(5096) found -(5097) found -[1141] Forked 5098 -[1140] Forked 5099 -(5098) found -(5099) found -[1139] Forked 5100 -[1138] Forked 5101 -(5100) found -(5101) found -[1137] Forked 5102 -[1136] Forked 5103 -(5102) found -(5103) found -[1135] Forked 5104 -[1134] Forked 5105 -(5104) found -(5105) found -[1133] Forked 5106 -[1132] Forked 5107 -(5106) found -(5107) found -[1131] Forked 5108 -[1130] Forked 5109 -(5108) found -(5109) found -[1129] Forked 5110 -[1128] Forked 5111 -(5110) found -(5111) found -[1127] Forked 5112 -[1126] Forked 5113 -(5112) found -(5113) found -[1125] Forked 5114 -[1124] Forked 5115 -(5114) found -(5115) found -[1123] Forked 5116 -[1122] Forked 5117 -(5116) found -(5117) found -[1121] Forked 5118 -[1120] Forked 5119 -(5118) found -(5119) found -[1119] Forked 5120 -[1118] Forked 5121 -(5120) found -(5121) found -[1117] Forked 5122 -[1116] Forked 5123 -(5122) found -(5123) found -[1115] Forked 5124 -[1114] Forked 5125 -(5124) found -(5125) found -[1113] Forked 5126 -[1112] Forked 5127 -(5126) found -(5127) found -[1111] Forked 5128 -[1110] Forked 5129 -(5128) found -(5129) found -[1109] Forked 5130 -[1108] Forked 5131 -(5130) found -(5131) found -[1107] Forked 5132 -[1106] Forked 5133 -(5132) found -(5133) found -[1105] Forked 5134 -[1104] Forked 5135 -(5134) found -(5135) found -[1103] Forked 5136 -[1102] Forked 5137 -(5136) found -(5137) found -[1101] Forked 5138 -[1100] Forked 5139 -(5138) found -(5139) found -[1099] Forked 5140 -[1098] Forked 5141 -(5140) found -(5141) found -[1097] Forked 5142 -[1096] Forked 5143 -(5142) found -(5143) found -[1095] Forked 5144 -[1094] Forked 5145 -(5144) found -(5145) found -[1093] Forked 5146 -[1092] Forked 5147 -(5146) found -(5147) found -[1091] Forked 5148 -[1090] Forked 5149 -(5148) found -(5149) found -[1089] Forked 5150 -[1088] Forked 5151 -(5150) found -(5151) found -[1087] Forked 5152 -[1086] Forked 5153 -(5152) found -(5153) found -[1085] Forked 5154 -[1084] Forked 5155 -(5154) found -(5155) found -[1083] Forked 5156 -[1082] Forked 5157 -(5156) found -(5157) found -[1081] Forked 5158 -[1080] Forked 5159 -(5158) found -(5159) found -[1079] Forked 5160 -[1078] Forked 5161 -(5160) found -(5161) found -[1077] Forked 5162 -[1076] Forked 5163 -(5162) found -(5163) found -[1075] Forked 5164 -[1074] Forked 5165 -(5164) found -(5165) found -[1073] Forked 5166 -(5166) found -[1072] Forked 5167 -(5167) found -[1071] Forked 5168 -(5168) found -[1070] Forked 5169 -(5169) found -[1069] Forked 5170 -(5170) found -[1068] Forked 5171 -(5171) found -[1067] Forked 5172 -(5172) found -[1066] Forked 5173 -(5173) found -[1065] Forked 5174 -(5174) found -[1064] Forked 5175 -(5175) found -[1063] Forked 5176 -(5176) found -[1062] Forked 5177 -(5177) found -[1061] Forked 5178 -(5178) found -[1060] Forked 5179 -(5179) found -[1059] Forked 5180 -(5180) found -[1058] Forked 5181 -(5181) found -[1057] Forked 5182 -(5182) found -[1056] Forked 5183 -(5183) found -[1055] Forked 5184 -(5184) found -[1054] Forked 5185 -(5185) found -[1053] Forked 5186 -(5186) found -[1052] Forked 5187 -(5187) found -[1051] Forked 5188 -(5188) found -[1050] Forked 5189 -(5189) found -[1049] Forked 5190 -(5190) found -[1048] Forked 5191 -(5191) found -[1047] Forked 5192 -(5192) found -[1046] Forked 5193 -(5193) found -[1045] Forked 5194 -(5194) found -[1044] Forked 5195 -(5195) found -[1043] Forked 5196 -(5196) found -[1042] Forked 5197 -(5197) found -[1041] Forked 5198 -(5198) found -[1040] Forked 5199 -(5199) found -[1039] Forked 5200 -(5200) found -[1038] Forked 5201 -[1037] Forked 5202 -(5201) found -(5202) found -[1036] Forked 5203 -[1035] Forked 5204 -(5203) found -(5204) found -[1034] Forked 5205 -[1033] Forked 5207 -(5205) found -(5207) found -[1032] Forked 5208 -(5208) found -[1031] Forked 5209 -(5209) found -[1030] Forked 5210 -(5210) found -[1029] Forked 5211 -(5211) found -[1028] Forked 5212 -(5212) found -[1027] Forked 5213 -(5213) found -[1026] Forked 5214 -(5214) found -[1025] Forked 5215 -(5215) found -[1024] Forked 5216 -(5216) found -[1023] Forked 5217 -(5217) found -[1022] Forked 5218 -(5218) found -[1021] Forked 5219 -(5219) found -[1020] Forked 5220 -(5220) found -[1019] Forked 5221 -(5221) found -[1018] Forked 5222 -(5222) found -[1017] Forked 5223 -(5223) found -[1016] Forked 5224 -(5224) found -[1015] Forked 5225 -(5225) found -[1014] Forked 5226 -(5226) found -[1013] Forked 5227 -(5227) found -[1012] Forked 5228 -(5228) found -[1011] Forked 5229 -(5229) found -[1010] Forked 5230 -(5230) found -[1009] Forked 5231 -(5231) found -[1008] Forked 5232 -(5232) found -[1007] Forked 5233 -(5233) found -[1006] Forked 5234 -(5234) found -[1005] Forked 5235 -(5235) found -[1004] Forked 5236 -(5236) found -[1003] Forked 5237 -(5237) found -[1002] Forked 5238 -(5238) found -[1001] Forked 5239 -(5239) found -[1000] Forked 5240 -(5240) found -[999] Forked 5241 -(5241) found -[998] Forked 5242 -(5242) found -[997] Forked 5243 -(5243) found -[996] Forked 5244 -(5244) found -[995] Forked 5245 -(5245) found -[994] Forked 5246 -(5246) found -[993] Forked 5247 -(5247) found -[992] Forked 5248 -(5248) found -[991] Forked 5249 -(5249) found -[990] Forked 5250 -(5250) found -[989] Forked 5251 -(5251) found -[988] Forked 5252 -(5252) found -[987] Forked 5253 -(5253) found -[986] Forked 5254 -(5254) found -[985] Forked 5255 -(5255) found -[984] Forked 5256 -(5256) found -[983] Forked 5257 -(5257) found -[982] Forked 5258 -(5258) found -[981] Forked 5259 -(5259) found -[980] Forked 5260 -(5260) found -[979] Forked 5261 -(5261) found -[978] Forked 5262 -(5262) found -[977] Forked 5263 -(5263) found -[976] Forked 5264 -(5264) found -[975] Forked 5265 -(5265) found -[974] Forked 5266 -(5266) found -[973] Forked 5267 -(5267) found -[972] Forked 5268 -(5268) found -[971] Forked 5269 -(5269) found -[970] Forked 5270 -(5270) found -[969] Forked 5271 -(5271) found -[968] Forked 5272 -(5272) found -[967] Forked 5273 -(5273) found -[966] Forked 5274 -(5274) found -[965] Forked 5275 -[964] Forked 5276 -(5275) found -(5276) found -[963] Forked 5277 -[962] Forked 5278 -(5277) found -(5278) found -[961] Forked 5279 -[960] Forked 5280 -(5279) found -(5280) found -[959] Forked 5281 -[958] Forked 5282 -(5281) found -(5282) found -[957] Forked 5283 -[956] Forked 5284 -(5283) found -(5284) found -[955] Forked 5285 -[954] Forked 5286 -(5285) found -(5286) found -[953] Forked 5287 -[952] Forked 5288 -(5287) found -(5288) found -[951] Forked 5289 -[950] Forked 5290 -(5289) found -(5290) found -[949] Forked 5291 -[948] Forked 5292 -(5291) found -(5292) found -[947] Forked 5293 -[946] Forked 5294 -(5293) found -(5294) found -[945] Forked 5295 -[944] Forked 5296 -(5295) found -(5296) found -[943] Forked 5297 -[942] Forked 5298 -(5297) found -(5298) found -[941] Forked 5299 -[940] Forked 5300 -(5299) found -(5300) found -[939] Forked 5301 -[938] Forked 5302 -(5301) found -(5302) found -[937] Forked 5303 -[936] Forked 5304 -(5303) found -(5304) found -[935] Forked 5305 -[934] Forked 5306 -(5305) found -(5306) found -[933] Forked 5307 -[932] Forked 5308 -(5307) found -(5308) found -[931] Forked 5309 -[930] Forked 5310 -(5309) found -(5310) found -[929] Forked 5311 -[928] Forked 5312 -(5311) found -(5312) found -[927] Forked 5313 -[926] Forked 5314 -(5313) found -(5314) found -[925] Forked 5315 -[924] Forked 5316 -(5315) found -(5316) found -[923] Forked 5317 -(5317) found -[922] Forked 5318 -(5318) found -[921] Forked 5319 -(5319) found -[920] Forked 5320 -(5320) found -[919] Forked 5321 -(5321) found -[918] Forked 5322 -(5322) found -[917] Forked 5323 -(5323) found -[916] Forked 5324 -(5324) found -[915] Forked 5325 -(5325) found -[914] Forked 5326 -(5326) found -[913] Forked 5327 -(5327) found -[912] Forked 5328 -(5328) found -[911] Forked 5329 -(5329) found -[910] Forked 5330 -(5330) found -[909] Forked 5331 -(5331) found -[908] Forked 5332 -(5332) found -[907] Forked 5333 -(5333) found -[906] Forked 5334 -(5334) found -[905] Forked 5335 -(5335) found -[904] Forked 5336 -(5336) found -[903] Forked 5337 -(5337) found -[902] Forked 5338 -(5338) found -[901] Forked 5339 -(5339) found -[900] Forked 5340 -(5340) found -[899] Forked 5341 -(5341) found -[898] Forked 5342 -(5342) found -[897] Forked 5343 -(5343) found -[896] Forked 5344 -(5344) found -[895] Forked 5345 -(5345) found -[894] Forked 5346 -(5346) found -[893] Forked 5347 -(5347) found -[892] Forked 5348 -(5348) found -[891] Forked 5349 -(5349) found -[890] Forked 5350 -(5350) found -[889] Forked 5351 -(5351) found -[888] Forked 5352 -(5352) found -[887] Forked 5353 -[886] Forked 5354 -(5353) found -(5354) found -[885] Forked 5355 -[884] Forked 5356 -(5355) found -(5356) found -[883] Forked 5357 -[882] Forked 5358 -(5357) found -(5358) found -[881] Forked 5359 -[880] Forked 5360 -(5359) found -(5360) found -[879] Forked 5361 -[878] Forked 5362 -(5361) found -(5362) found -[877] Forked 5363 -[876] Forked 5364 -(5363) found -(5364) found -[875] Forked 5365 -[874] Forked 5366 -(5365) found -(5366) found -[873] Forked 5367 -(5367) found -[872] Forked 5368 -(5368) found -[871] Forked 5369 -[870] Forked 5370 -(5369) found -(5370) found -[869] Forked 5371 -[868] Forked 5372 -(5371) found -(5372) found -[867] Forked 5373 -[866] Forked 5374 -(5373) found -(5374) found -[865] Forked 5375 -[864] Forked 5376 -(5375) found -(5376) found -[863] Forked 5377 -[862] Forked 5378 -(5377) found -(5378) found -[861] Forked 5379 -[860] Forked 5380 -(5379) found -(5380) found -[859] Forked 5381 -[858] Forked 5382 -(5381) found -(5382) found -[857] Forked 5383 -[856] Forked 5384 -(5383) found -(5384) found -[855] Forked 5385 -[854] Forked 5386 -(5385) found -(5386) found -[853] Forked 5387 -[852] Forked 5388 -(5387) found -(5388) found -[851] Forked 5389 -[850] Forked 5390 -(5389) found -(5390) found -[849] Forked 5391 -[848] Forked 5392 -(5391) found -(5392) found -[847] Forked 5393 -[846] Forked 5394 -(5393) found -(5394) found -[845] Forked 5395 -[844] Forked 5396 -(5395) found -(5396) found -[843] Forked 5397 -[842] Forked 5398 -(5397) found -(5398) found -[841] Forked 5399 -[840] Forked 5400 -(5399) found -(5400) found -[839] Forked 5401 -[838] Forked 5402 -(5401) found -(5402) found -[837] Forked 5403 -[836] Forked 5404 -(5403) found -(5404) found -[835] Forked 5405 -[834] Forked 5406 -(5405) found -(5406) found -[833] Forked 5407 -[832] Forked 5408 -(5407) found -(5408) found -[831] Forked 5409 -[830] Forked 5410 -(5409) found -(5410) found -[829] Forked 5411 -[828] Forked 5412 -(5411) found -(5412) found -[827] Forked 5413 -[826] Forked 5414 -(5414) found -(5413) found -[825] Forked 5415 -(5415) found -[824] Forked 5416 -(5416) found -[823] Forked 5417 -(5417) found -[822] Forked 5418 -(5418) found -[821] Forked 5419 -(5419) found -[820] Forked 5420 -(5420) found -[819] Forked 5421 -(5421) found -[818] Forked 5422 -(5422) found -[817] Forked 5423 -(5423) found -[816] Forked 5424 -(5424) found -[815] Forked 5425 -(5425) found -[814] Forked 5426 -(5426) found -[813] Forked 5427 -(5427) found -[812] Forked 5428 -(5428) found -[811] Forked 5429 -(5429) found -[810] Forked 5430 -(5430) found -[809] Forked 5431 -(5431) found -[808] Forked 5432 -(5432) found -[807] Forked 5433 -(5433) found -[806] Forked 5434 -(5434) found -[805] Forked 5435 -(5435) found -[804] Forked 5436 -(5436) found -[803] Forked 5437 -(5437) found -[802] Forked 5438 -(5438) found -[801] Forked 5439 -(5439) found -[800] Forked 5440 -(5440) found -[799] Forked 5441 -(5441) found -[798] Forked 5442 -(5442) found -[797] Forked 5443 -(5443) found -[796] Forked 5444 -(5444) found -[795] Forked 5445 -(5445) found -[794] Forked 5446 -(5446) found -[793] Forked 5447 -(5447) found -[792] Forked 5448 -(5448) found -[791] Forked 5449 -(5449) found -[790] Forked 5450 -(5450) found -[789] Forked 5451 -(5451) found -[788] Forked 5452 -(5452) found -[787] Forked 5453 -(5453) found -[786] Forked 5454 -(5454) found -[785] Forked 5455 -(5455) found -[784] Forked 5456 -(5456) found -[783] Forked 5457 -(5457) found -[782] Forked 5458 -(5458) found -[781] Forked 5459 -(5459) found -[780] Forked 5460 -(5460) found -[779] Forked 5461 -(5461) found -[778] Forked 5462 -(5462) found -[777] Forked 5463 -(5463) found -[776] Forked 5464 -(5464) found -[775] Forked 5465 -(5465) found -[774] Forked 5466 -(5466) found -[773] Forked 5467 -(5467) found -[772] Forked 5468 -(5468) found -[771] Forked 5469 -(5469) found -[770] Forked 5470 -(5470) found -[769] Forked 5471 -(5471) found -[768] Forked 5472 -[767] Forked 5473 -(5472) found -(5473) found -[766] Forked 5474 -[765] Forked 5475 -(5474) found -(5475) found -[764] Forked 5476 -[763] Forked 5477 -(5476) found -(5477) found -[762] Forked 5478 -[761] Forked 5479 -(5478) found -(5479) found -[760] Forked 5480 -[759] Forked 5481 -(5480) found -(5481) found -[758] Forked 5482 -[757] Forked 5483 -(5482) found -(5483) found -[756] Forked 5484 -[755] Forked 5485 -(5484) found -(5485) found -[754] Forked 5486 -[753] Forked 5487 -(5486) found -(5487) found -[752] Forked 5488 -[751] Forked 5489 -(5488) found -(5489) found -[750] Forked 5490 -[749] Forked 5491 -(5490) found -(5491) found -[748] Forked 5492 -[747] Forked 5493 -(5492) found -(5493) found -[746] Forked 5494 -[745] Forked 5495 -(5494) found -(5495) found -[744] Forked 5496 -[743] Forked 5497 -(5496) found -(5497) found -[742] Forked 5498 -[741] Forked 5499 -(5498) found -(5499) found -[740] Forked 5500 -[739] Forked 5501 -(5500) found -(5501) found -[738] Forked 5502 -[737] Forked 5503 -(5502) found -(5503) found -[736] Forked 5504 -[735] Forked 5505 -(5504) found -(5505) found -[734] Forked 5506 -[733] Forked 5507 -(5506) found -(5507) found -[732] Forked 5508 -[731] Forked 5509 -(5508) found -(5509) found -[730] Forked 5510 -[729] Forked 5511 -(5510) found -(5511) found -[728] Forked 5512 -[727] Forked 5513 -(5512) found -(5513) found -[726] Forked 5514 -[725] Forked 5515 -(5514) found -(5515) found -[724] Forked 5516 -[723] Forked 5517 -(5516) found -(5517) found -[722] Forked 5518 -[721] Forked 5519 -(5518) found -(5519) found -[720] Forked 5520 -[719] Forked 5521 -(5520) found -(5521) found -[718] Forked 5522 -[717] Forked 5523 -(5522) found -(5523) found -[716] Forked 5524 -[715] Forked 5525 -(5524) found -(5525) found -[714] Forked 5526 -[713] Forked 5527 -(5526) found -(5527) found -[712] Forked 5528 -[711] Forked 5529 -(5528) found -(5529) found -[710] Forked 5530 -[709] Forked 5531 -(5530) found -(5531) found -[708] Forked 5532 -[707] Forked 5533 -(5532) found -(5533) found -[706] Forked 5534 -[705] Forked 5535 -(5534) found -(5535) found -[704] Forked 5536 -[703] Forked 5537 -(5536) found -(5537) found -[702] Forked 5538 -[701] Forked 5539 -(5538) found -(5539) found -[700] Forked 5540 -[699] Forked 5541 -(5540) found -(5541) found -[698] Forked 5542 -[697] Forked 5543 -(5542) found -(5543) found -[696] Forked 5544 -[695] Forked 5545 -(5544) found -(5545) found -[694] Forked 5546 -[693] Forked 5547 -(5546) found -(5547) found -[692] Forked 5548 -[691] Forked 5549 -(5548) found -(5549) found -[690] Forked 5550 -[689] Forked 5551 -(5550) found -(5551) found -[688] Forked 5552 -[687] Forked 5553 -(5552) found -(5553) found -[686] Forked 5554 -[685] Forked 5555 -(5554) found -(5555) found -[684] Forked 5556 -[683] Forked 5557 -(5556) found -(5557) found -[682] Forked 5558 -[681] Forked 5559 -(5558) found -(5559) found -[680] Forked 5560 -[679] Forked 5561 -(5560) found -(5561) found -[678] Forked 5562 -[677] Forked 5563 -(5562) found -(5563) found -[676] Forked 5564 -(5564) found -[675] Forked 5565 -(5565) found -[674] Forked 5566 -(5566) found -[673] Forked 5567 -(5567) found -[672] Forked 5568 -(5568) found -[671] Forked 5569 -(5569) found -[670] Forked 5570 -(5570) found -[669] Forked 5571 -(5571) found -[668] Forked 5572 -(5572) found -[667] Forked 5573 -(5573) found -[666] Forked 5574 -(5574) found -[665] Forked 5575 -(5575) found -[664] Forked 5576 -(5576) found -[663] Forked 5577 -(5577) found -[662] Forked 5578 -(5578) found -[661] Forked 5579 -(5579) found -[660] Forked 5580 -(5580) found -[659] Forked 5581 -(5581) found -[658] Forked 5582 -(5582) found -[657] Forked 5583 -(5583) found -[656] Forked 5584 -(5584) found -[655] Forked 5585 -(5585) found -[654] Forked 5586 -(5586) found -[653] Forked 5587 -(5587) found -[652] Forked 5588 -(5588) found -[651] Forked 5589 -(5589) found -[650] Forked 5590 -(5590) found -[649] Forked 5591 -(5591) found -[648] Forked 5592 -(5592) found -[647] Forked 5593 -(5593) found -[646] Forked 5594 -(5594) found -[645] Forked 5595 -(5595) found -[644] Forked 5596 -(5596) found -[643] Forked 5597 -(5597) found -[642] Forked 5598 -(5598) found -[641] Forked 5599 -(5599) found -[640] Forked 5600 -(5600) found -[639] Forked 5601 -[638] Forked 5602 -(5601) found -(5602) found -[637] Forked 5603 -[636] Forked 5604 -(5603) found -(5604) found -[635] Forked 5605 -[634] Forked 5606 -(5605) found -(5606) found -[633] Forked 5607 -[632] Forked 5608 -(5607) found -(5608) found -[631] Forked 5609 -[630] Forked 5610 -(5609) found -(5610) found -[629] Forked 5611 -[628] Forked 5612 -(5611) found -(5612) found -[627] Forked 5613 -[626] Forked 5614 -(5613) found -(5614) found -[625] Forked 5615 -[624] Forked 5616 -(5615) found -(5616) found -[623] Forked 5617 -[622] Forked 5618 -(5617) found -(5618) found -[621] Forked 5619 -[620] Forked 5620 -(5619) found -(5620) found -[619] Forked 5621 -[618] Forked 5622 -(5621) found -(5622) found -[617] Forked 5623 -[616] Forked 5624 -(5623) found -(5624) found -[615] Forked 5625 -[614] Forked 5626 -(5625) found -(5626) found -[613] Forked 5627 -[612] Forked 5628 -(5627) found -(5628) found -[611] Forked 5629 -[610] Forked 5630 -(5629) found -(5630) found -[609] Forked 5631 -[608] Forked 5632 -(5631) found -(5632) found -[607] Forked 5633 -[606] Forked 5634 -(5633) found -(5634) found -[605] Forked 5635 -[604] Forked 5636 -(5635) found -(5636) found -[603] Forked 5637 -[602] Forked 5638 -(5637) found -(5638) found -[601] Forked 5639 -[600] Forked 5640 -(5639) found -(5640) found -[599] Forked 5641 -[598] Forked 5642 -(5641) found -(5642) found -[597] Forked 5643 -[596] Forked 5644 -(5643) found -(5644) found -[595] Forked 5645 -[594] Forked 5646 -(5645) found -(5646) found -[593] Forked 5647 -[592] Forked 5648 -(5647) found -(5648) found -[591] Forked 5649 -[590] Forked 5650 -(5649) found -(5650) found -[589] Forked 5651 -[588] Forked 5652 -(5651) found -(5652) found -[587] Forked 5653 -[586] Forked 5654 -(5653) found -(5654) found -[585] Forked 5655 -[584] Forked 5656 -(5655) found -(5656) found -[583] Forked 5657 -[582] Forked 5658 -(5657) found -(5658) found -[581] Forked 5659 -[580] Forked 5660 -(5659) found -(5660) found -[579] Forked 5661 -[578] Forked 5662 -(5661) found -(5662) found -[577] Forked 5663 -[576] Forked 5664 -(5663) found -(5664) found -[575] Forked 5665 -[574] Forked 5666 -(5665) found -(5666) found -[573] Forked 5667 -[572] Forked 5668 -(5667) found -(5668) found -[571] Forked 5669 -[570] Forked 5670 -(5669) found -(5670) found -[569] Forked 5671 -[568] Forked 5672 -(5671) found -(5672) found -[567] Forked 5673 -[566] Forked 5674 -(5673) found -(5674) found -[565] Forked 5675 -[564] Forked 5676 -(5675) found -(5676) found -[563] Forked 5677 -[562] Forked 5678 -(5677) found -(5678) found -[561] Forked 5679 -[560] Forked 5680 -(5679) found -(5680) found -[559] Forked 5681 -[558] Forked 5682 -(5681) found -(5682) found -[557] Forked 5683 -[556] Forked 5684 -(5683) found -(5684) found -[555] Forked 5685 -[554] Forked 5686 -(5685) found -(5686) found -[553] Forked 5687 -[552] Forked 5688 -(5687) found -(5688) found -[551] Forked 5689 -[550] Forked 5690 -(5689) found -(5690) found -[549] Forked 5691 -[548] Forked 5692 -(5691) found -(5692) found -[547] Forked 5693 -(5693) found -[546] Forked 5694 -[545] Forked 5695 -(5694) found -(5695) found -[544] Forked 5696 -(5696) found -[543] Forked 5697 -[542] Forked 5698 -(5697) found -(5698) found -[541] Forked 5699 -[540] Forked 5700 -(5699) found -(5700) found -[539] Forked 5701 -[538] Forked 5702 -(5701) found -(5702) found -[537] Forked 5703 -[536] Forked 5705 -(5703) found -(5705) found -[535] Forked 5706 -(5706) found -[534] Forked 5707 -(5707) found -[533] Forked 5708 -(5708) found -[532] Forked 5709 -(5709) found -[531] Forked 5710 -(5710) found -[530] Forked 5711 -(5711) found -[529] Forked 5712 -(5712) found -[528] Forked 5713 -(5713) found -[527] Forked 5714 -(5714) found -[526] Forked 5715 -(5715) found -[525] Forked 5716 -(5716) found -[524] Forked 5717 -(5717) found -[523] Forked 5718 -(5718) found -[522] Forked 5719 -(5719) found -[521] Forked 5720 -(5720) found -[520] Forked 5721 -(5721) found -[519] Forked 5722 -(5722) found -[518] Forked 5723 -(5723) found -[517] Forked 5724 -(5724) found -[516] Forked 5725 -(5725) found -[515] Forked 5726 -(5726) found -[514] Forked 5727 -(5727) found -[513] Forked 5728 -(5728) found -[512] Forked 5729 -(5729) found -[511] Forked 5730 -(5730) found -[510] Forked 5731 -(5731) found -[509] Forked 5732 -(5732) found -[508] Forked 5733 -(5733) found -[507] Forked 5734 -(5734) found -[506] Forked 5735 -(5735) found -[505] Forked 5736 -(5736) found -[504] Forked 5737 -(5737) found -[503] Forked 5738 -(5738) found -[502] Forked 5739 -(5739) found -[501] Forked 5740 -(5740) found -[500] Forked 5741 -(5741) found -[499] Forked 5742 -(5742) found -[498] Forked 5743 -(5743) found -[497] Forked 5744 -(5744) found -[496] Forked 5745 -(5745) found -[495] Forked 5746 -(5746) found -[494] Forked 5747 -(5747) found -[493] Forked 5748 -(5748) found -[492] Forked 5749 -(5749) found -[491] Forked 5750 -(5750) found -[490] Forked 5751 -(5751) found -[489] Forked 5752 -(5752) found -[488] Forked 5753 -(5753) found -[487] Forked 5754 -(5754) found -[486] Forked 5755 -(5755) found -[485] Forked 5756 -(5756) found -[484] Forked 5757 -(5757) found -[483] Forked 5758 -(5758) found -[482] Forked 5759 -(5759) found -[481] Forked 5760 -(5760) found -[480] Forked 5761 -(5761) found -[479] Forked 5762 -(5762) found -[478] Forked 5763 -(5763) found -[477] Forked 5764 -(5764) found -[476] Forked 5765 -(5765) found -[475] Forked 5766 -(5766) found -[474] Forked 5767 -(5767) found -[473] Forked 5768 -(5768) found -[472] Forked 5769 -(5769) found -[471] Forked 5770 -(5770) found -[470] Forked 5771 -(5771) found -[469] Forked 5772 -(5772) found -[468] Forked 5773 -(5773) found -[467] Forked 5774 -(5774) found -[466] Forked 5775 -(5775) found -[465] Forked 5776 -(5776) found -[464] Forked 5777 -(5777) found -[463] Forked 5778 -(5778) found -[462] Forked 5779 -(5779) found -[461] Forked 5780 -(5780) found -[460] Forked 5781 -(5781) found -[459] Forked 5782 -(5782) found -[458] Forked 5783 -(5783) found -[457] Forked 5784 -(5784) found -[456] Forked 5785 -(5785) found -[455] Forked 5786 -(5786) found -[454] Forked 5787 -(5787) found -[453] Forked 5788 -(5788) found -[452] Forked 5789 -(5789) found -[451] Forked 5790 -(5790) found -[450] Forked 5791 -(5791) found -[449] Forked 5792 -(5792) found -[448] Forked 5793 -(5793) found -[447] Forked 5794 -(5794) found -[446] Forked 5795 -(5795) found -[445] Forked 5796 -(5796) found -[444] Forked 5797 -(5797) found -[443] Forked 5798 -(5798) found -[442] Forked 5799 -(5799) found -[441] Forked 5800 -(5800) found -[440] Forked 5801 -(5801) found -[439] Forked 5802 -(5802) found -[438] Forked 5803 -(5803) found -[437] Forked 5804 -[436] Forked 5805 -(5804) found -(5805) found -[435] Forked 5806 -[434] Forked 5807 -(5806) found -(5807) found -[433] Forked 5808 -[432] Forked 5809 -(5808) found -(5809) found -[431] Forked 5810 -[430] Forked 5811 -(5810) found -(5811) found -[429] Forked 5812 -[428] Forked 5813 -(5812) found -(5813) found -[427] Forked 5814 -[426] Forked 5815 -(5814) found -(5815) found -[425] Forked 5816 -[424] Forked 5817 -(5816) found -(5817) found -[423] Forked 5818 -[422] Forked 5819 -(5818) found -(5819) found -[421] Forked 5820 -[420] Forked 5821 -(5820) found -(5821) found -[419] Forked 5822 -[418] Forked 5823 -(5822) found -(5823) found -[417] Forked 5824 -[416] Forked 5825 -(5824) found -(5825) found -[415] Forked 5826 -[414] Forked 5827 -(5826) found -(5827) found -[413] Forked 5828 -[412] Forked 5829 -(5828) found -(5829) found -[411] Forked 5830 -[410] Forked 5831 -(5830) found -(5831) found -[409] Forked 5832 -[408] Forked 5833 -(5832) found -(5833) found -[407] Forked 5834 -[406] Forked 5835 -(5834) found -(5835) found -[405] Forked 5836 -[404] Forked 5838 -(5836) found -(5838) found -[403] Forked 5839 -(5839) found -[402] Forked 5840 -(5840) found -[401] Forked 5841 -(5841) found -[400] Forked 5842 -(5842) found -[399] Forked 5843 -(5843) found -[398] Forked 5844 -(5844) found -[397] Forked 5845 -(5845) found -[396] Forked 5846 -(5846) found -[395] Forked 5847 -(5847) found -[394] Forked 5848 -(5848) found -[393] Forked 5849 -(5849) found -[392] Forked 5850 -(5850) found -[391] Forked 5851 -(5851) found -[390] Forked 5852 -(5852) found -[389] Forked 5853 -(5853) found -[388] Forked 5854 -(5854) found -[387] Forked 5855 -(5855) found -[386] Forked 5856 -(5856) found -[385] Forked 5857 -(5857) found -[384] Forked 5858 -(5858) found -[383] Forked 5859 -(5859) found -[382] Forked 5860 -(5860) found -[381] Forked 5861 -(5861) found -[380] Forked 5862 -(5862) found -[379] Forked 5863 -(5863) found -[378] Forked 5864 -(5864) found -[377] Forked 5865 -(5865) found -[376] Forked 5866 -(5866) found -[375] Forked 5867 -(5867) found -[374] Forked 5868 -(5868) found -[373] Forked 5869 -(5869) found -[372] Forked 5870 -(5870) found -[371] Forked 5871 -(5871) found -[370] Forked 5872 -(5872) found -[369] Forked 5873 -(5873) found -[368] Forked 5874 -(5874) found -[367] Forked 5875 -(5875) found -[366] Forked 5876 -(5876) found -[365] Forked 5877 -(5877) found -[364] Forked 5878 -(5878) found -[363] Forked 5879 -(5879) found -[362] Forked 5880 -(5880) found -[361] Forked 5881 -(5881) found -[360] Forked 5882 -(5882) found -[359] Forked 5883 -(5883) found -[358] Forked 5884 -[357] Forked 5885 -(5884) found -(5885) found -[356] Forked 5886 -(5886) found -[355] Forked 5887 -[354] Forked 5888 -(5887) found -(5888) found -[353] Forked 5889 -[352] Forked 5890 -(5889) found -(5890) found -[351] Forked 5891 -[350] Forked 5892 -(5891) found -(5892) found -[349] Forked 5893 -[348] Forked 5894 -(5893) found -(5894) found -[347] Forked 5895 -[346] Forked 5896 -(5895) found -(5896) found -[345] Forked 5897 -[344] Forked 5898 -(5897) found -(5898) found -[343] Forked 5899 -[342] Forked 5900 -(5899) found -(5900) found -[341] Forked 5901 -[340] Forked 5902 -(5901) found -(5902) found -[339] Forked 5903 -[338] Forked 5904 -(5903) found -(5904) found -[337] Forked 5905 -[336] Forked 5906 -(5905) found -(5906) found -[335] Forked 5907 -[334] Forked 5908 -(5907) found -(5908) found -[333] Forked 5909 -[332] Forked 5910 -(5909) found -(5910) found -[331] Forked 5911 -[330] Forked 5912 -(5911) found -(5912) found -[329] Forked 5913 -[328] Forked 5914 -(5913) found -(5914) found -[327] Forked 5915 -[326] Forked 5916 -(5915) found -(5916) found -[325] Forked 5917 -[324] Forked 5918 -(5917) found -(5918) found -[323] Forked 5919 -[322] Forked 5920 -(5919) found -(5920) found -[321] Forked 5921 -[320] Forked 5922 -(5921) found -(5922) found -[319] Forked 5923 -[318] Forked 5924 -(5923) found -(5924) found -[317] Forked 5925 -[316] Forked 5926 -(5925) found -(5926) found -[315] Forked 5927 -[314] Forked 5928 -(5927) found -(5928) found -[313] Forked 5929 -[312] Forked 5930 -(5929) found -(5930) found -[311] Forked 5931 -[310] Forked 5932 -(5931) found -(5932) found -[309] Forked 5933 -[308] Forked 5934 -(5933) found -(5934) found -[307] Forked 5935 -[306] Forked 5936 -(5935) found -(5936) found -[305] Forked 5937 -[304] Forked 5938 -(5937) found -(5938) found -[303] Forked 5939 -[302] Forked 5940 -(5939) found -(5940) found -[301] Forked 5941 -[300] Forked 5942 -(5941) found -(5942) found -[299] Forked 5943 -[298] Forked 5944 -(5943) found -(5944) found -[297] Forked 5945 -[296] Forked 5946 -(5945) found -(5946) found -[295] Forked 5947 -[294] Forked 5948 -(5947) found -(5948) found -[293] Forked 5949 -[292] Forked 5950 -(5949) found -(5950) found -[291] Forked 5951 -[290] Forked 5952 -(5951) found -(5952) found -[289] Forked 5953 -[288] Forked 5954 -(5953) found -(5954) found -[287] Forked 5955 -[286] Forked 5956 -(5955) found -(5956) found -[285] Forked 5957 -[284] Forked 5958 -(5957) found -(5958) found -[283] Forked 5959 -[282] Forked 5960 -(5959) found -(5960) found -[281] Forked 5961 -[280] Forked 5962 -(5961) found -(5962) found -[279] Forked 5963 -[278] Forked 5964 -(5963) found -(5964) found -[277] Forked 5965 -[276] Forked 5966 -(5965) found -(5966) found -[275] Forked 5967 -[274] Forked 5968 -(5967) found -(5968) found -[273] Forked 5969 -[272] Forked 5970 -(5969) found -(5970) found -[271] Forked 5971 -[270] Forked 5972 -(5971) found -(5972) found -[269] Forked 5973 -[268] Forked 5974 -(5973) found -(5974) found -[267] Forked 5975 -(5975) found -[266] Forked 5976 -(5976) found -[265] Forked 5977 -(5977) found -[264] Forked 5978 -(5978) found -[263] Forked 5979 -(5979) found -[262] Forked 5980 -(5980) found -[261] Forked 5981 -(5981) found -[260] Forked 5982 -(5982) found -[259] Forked 5983 -(5983) found -[258] Forked 5984 -(5984) found -[257] Forked 5985 -(5985) found -[256] Forked 5986 -(5986) found -[255] Forked 5987 -(5987) found -[254] Forked 5988 -(5988) found -[253] Forked 5989 -(5989) found -[252] Forked 5990 -(5990) found -[251] Forked 5991 -(5991) found -[250] Forked 5992 -(5992) found -[249] Forked 5993 -(5993) found -[248] Forked 5994 -(5994) found -[247] Forked 5995 -(5995) found -[246] Forked 5996 -(5996) found -[245] Forked 5997 -(5997) found -[244] Forked 5998 -(5998) found -[243] Forked 5999 -(5999) found -[242] Forked 6000 -(6000) found -[241] Forked 6001 -(6001) found -[240] Forked 6002 -(6002) found -[239] Forked 6003 -(6003) found -[238] Forked 6004 -(6004) found -[237] Forked 6005 -(6005) found -[236] Forked 6006 -(6006) found -[235] Forked 6007 -(6007) found -[234] Forked 6008 -(6008) found -[233] Forked 6009 -(6009) found -[232] Forked 6010 -(6010) found -[231] Forked 6011 -[230] Forked 6012 -(6011) found -(6012) found -[229] Forked 6013 -[228] Forked 6014 -(6013) found -(6014) found -[227] Forked 6015 -[226] Forked 6016 -(6015) found -(6016) found -[225] Forked 6017 -[224] Forked 6018 -(6017) found -(6018) found -[223] Forked 6019 -[222] Forked 6020 -(6019) found -(6020) found -[221] Forked 6021 -[220] Forked 6022 -(6021) found -(6022) found -[219] Forked 6023 -[218] Forked 6024 -(6023) found -(6024) found -[217] Forked 6025 -[216] Forked 6026 -(6025) found -(6026) found -[215] Forked 6027 -[214] Forked 6028 -(6027) found -(6028) found -[213] Forked 6029 -[212] Forked 6030 -(6029) found -(6030) found -[211] Forked 6031 -[210] Forked 6032 -(6031) found -(6032) found -[209] Forked 6033 -[208] Forked 6034 -(6033) found -(6034) found -[207] Forked 6035 -[206] Forked 6036 -(6035) found -(6036) found -[205] Forked 6037 -[204] Forked 6038 -(6037) found -(6038) found -[203] Forked 6039 -[202] Forked 6040 -(6039) found -(6040) found -[201] Forked 6041 -[200] Forked 6042 -(6041) found -(6042) found -[199] Forked 6043 -[198] Forked 6044 -(6043) found -(6044) found -[197] Forked 6045 -[196] Forked 6046 -(6045) found -(6046) found -[195] Forked 6047 -[194] Forked 6048 -(6047) found -(6048) found -[193] Forked 6049 -[192] Forked 6050 -(6049) found -(6050) found -[191] Forked 6051 -[190] Forked 6052 -(6051) found -(6052) found -[189] Forked 6053 -[188] Forked 6054 -(6053) found -(6054) found -[187] Forked 6055 -[186] Forked 6056 -(6055) found -(6056) found -[185] Forked 6057 -[184] Forked 6058 -(6057) found -(6058) found -[183] Forked 6059 -[182] Forked 6060 -(6059) found -(6060) found -[181] Forked 6061 -[180] Forked 6062 -(6061) found -(6062) found -[179] Forked 6063 -[178] Forked 6064 -(6063) found -(6064) found -[177] Forked 6065 -[176] Forked 6066 -(6065) found -(6066) found -[175] Forked 6067 -[174] Forked 6068 -(6067) found -(6068) found -[173] Forked 6069 -[172] Forked 6070 -(6069) found -(6070) found -[171] Forked 6071 -[170] Forked 6072 -(6071) found -(6072) found -[169] Forked 6073 -[168] Forked 6074 -(6073) found -(6074) found -[167] Forked 6075 -[166] Forked 6076 -(6075) found -(6076) found -[165] Forked 6077 -[164] Forked 6078 -(6077) found -(6078) found -[163] Forked 6079 -[162] Forked 6080 -(6079) found -(6080) found -[161] Forked 6081 -[160] Forked 6082 -(6081) found -(6082) found -[159] Forked 6083 -[158] Forked 6084 -(6083) found -(6084) found -[157] Forked 6085 -[156] Forked 6086 -(6085) found -(6086) found -[155] Forked 6087 -[154] Forked 6088 -(6087) found -(6088) found -[153] Forked 6089 -[152] Forked 6090 -(6089) found -(6090) found -[151] Forked 6091 -[150] Forked 6092 -(6091) found -(6092) found -[149] Forked 6093 -[148] Forked 6094 -(6093) found -(6094) found -[147] Forked 6095 -[146] Forked 6096 -(6095) found -(6096) found -[145] Forked 6097 -[144] Forked 6098 -(6097) found -(6098) found -[143] Forked 6099 -[142] Forked 6100 -(6099) found -(6100) found -[141] Forked 6101 -[140] Forked 6102 -(6101) found -(6102) found -[139] Forked 6103 -(6103) found -[138] Forked 6104 -(6104) found -[137] Forked 6105 -(6105) found -[136] Forked 6106 -(6106) found -[135] Forked 6107 -(6107) found -[134] Forked 6108 -(6108) found -[133] Forked 6109 -(6109) found -[132] Forked 6110 -(6110) found -[131] Forked 6111 -(6111) found -[130] Forked 6112 -(6112) found -[129] Forked 6113 -(6113) found -[128] Forked 6114 -(6114) found -[127] Forked 6115 -(6115) found -[126] Forked 6116 -(6116) found -[125] Forked 6117 -(6117) found -[124] Forked 6118 -(6118) found -[123] Forked 6119 -(6119) found -[122] Forked 6120 -(6120) found -[121] Forked 6121 -(6121) found -[120] Forked 6122 -(6122) found -[119] Forked 6123 -(6123) found -[118] Forked 6124 -(6124) found -[117] Forked 6125 -(6125) found -[116] Forked 6126 -(6126) found -[115] Forked 6127 -(6127) found -[114] Forked 6128 -(6128) found -[113] Forked 6129 -(6129) found -[112] Forked 6130 -(6130) found -[111] Forked 6131 -(6131) found -[110] Forked 6132 -(6132) found -[109] Forked 6133 -(6133) found -[108] Forked 6134 -(6134) found -[107] Forked 6135 -(6135) found -[106] Forked 6136 -(6136) found -[105] Forked 6137 -(6137) found -[104] Forked 6138 -[103] Forked 6139 -(6138) found -(6139) found -[102] Forked 6140 -[101] Forked 6141 -(6140) found -(6141) found -[100] Forked 6142 -[99] Forked 6143 -(6142) found -(6143) found -[98] Forked 6144 -[97] Forked 6145 -(6144) found -(6145) found -[96] Forked 6146 -[95] Forked 6147 -(6146) found -(6147) found -[94] Forked 6148 -[93] Forked 6149 -(6148) found -(6149) found -[92] Forked 6150 -[91] Forked 6151 -(6150) found -(6151) found -[90] Forked 6152 -[89] Forked 6153 -(6152) found -(6153) found -[88] Forked 6154 -[87] Forked 6155 -(6154) found -(6155) found -[86] Forked 6156 -[85] Forked 6157 -(6156) found -(6157) found -[84] Forked 6158 -[83] Forked 6159 -(6158) found -(6159) found -[82] Forked 6160 -[81] Forked 6161 -(6160) found -(6161) found -[80] Forked 6162 -[79] Forked 6163 -(6162) found -(6163) found -[78] Forked 6164 -[77] Forked 6165 -(6164) found -(6165) found -[76] Forked 6166 -[75] Forked 6167 -(6166) found -(6167) found -[74] Forked 6168 -[73] Forked 6169 -(6168) found -(6169) found -[72] Forked 6170 -[71] Forked 6171 -(6170) found -(6171) found -[70] Forked 6172 -[69] Forked 6173 -(6172) found -(6173) found -[68] Forked 6174 -[67] Forked 6175 -(6174) found -(6175) found -[66] Forked 6176 -[65] Forked 6177 -(6176) found -(6177) found -[64] Forked 6178 -[63] Forked 6179 -(6178) found -(6179) found -[62] Forked 6180 -[61] Forked 6181 -(6180) found -(6181) found -[60] Forked 6182 -[59] Forked 6183 -(6182) found -(6183) found -[58] Forked 6184 -(6184) found -[57] Forked 6185 -(6185) found -[56] Forked 6186 -(6186) found -[55] Forked 6187 -(6187) found -[54] Forked 6188 -(6188) found -[53] Forked 6189 -(6189) found -[52] Forked 6190 -(6190) found -[51] Forked 6191 -(6191) found -[50] Forked 6192 -(6192) found -[49] Forked 6193 -(6193) found -[48] Forked 6194 -(6194) found -[47] Forked 6195 -(6195) found -[46] Forked 6196 -(6196) found -[45] Forked 6197 -(6197) found -[44] Forked 6198 -(6198) found -[43] Forked 6199 -(6199) found -[42] Forked 6200 -(6200) found -[41] Forked 6201 -(6201) found -[40] Forked 6202 -(6202) found -[39] Forked 6203 -(6203) found -[38] Forked 6204 -(6204) found -[37] Forked 6205 -(6205) found -[36] Forked 6206 -(6206) found -[35] Forked 6207 -(6207) found -[34] Forked 6208 -(6208) found -[33] Forked 6209 -(6209) found -[32] Forked 6210 -(6210) found -[31] Forked 6211 -(6211) found -[30] Forked 6212 -(6212) found -[29] Forked 6213 -(6213) found -[28] Forked 6214 -(6214) found -[27] Forked 6215 -(6215) found -[26] Forked 6216 -(6216) found -[25] Forked 6217 -(6217) found -[24] Forked 6218 -(6218) found -[23] Forked 6219 -(6219) found -[22] Forked 6220 -[21] Forked 6221 -(6220) found -(6221) found -[20] Forked 6222 -(6222) found -[19] Forked 6223 -(6223) found -[18] Forked 6224 -(6224) found -[17] Forked 6225 -[16] Forked 6226 -(6225) found -(6226) found -[15] Forked 6227 -[14] Forked 6228 -(6227) found -(6228) found -[13] Forked 6229 -[12] Forked 6230 -(6229) found -(6230) found -[11] Forked 6231 -[10] Forked 6232 -(6231) found -(6232) found -[9] Forked 6233 -[8] Forked 6234 -(6233) found -(6234) found -[7] Forked 6235 -[6] Forked 6236 -(6235) found -(6236) found -[5] Forked 6237 -[4] Forked 6239 -(6237) found -(6239) found -[3] Forked 6240 -(6240) found -[2] Forked 6241 -(6241) found -[1] Forked 6242 -(6242) found -[0] Forked 6243 -(6243) found diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/memcpy.c b/software/cinit/browse_source/cinit-0.3pre15/src/test/memcpy.c deleted file mode 100644 index 3c6cc2ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/memcpy.c +++ /dev/null @@ -1,46 +0,0 @@ -#include /* memcpy() */ -#include - -struct cinit_answer { - int options; - char data[2045]; -}; - -int f1(struct cinit_answer *buf); -int f2(struct cinit_answer *buf); - -int f2(struct cinit_answer *buf) -{ - struct cinit_answer msg; - - printf("f2: %p\n", buf); - - msg.options = 12; - strcpy(msg.data, "stringit"); - - printf("addr= %p\n", memcpy(buf, &msg, sizeof(*buf))); - - printf("ok\n"); - - return 1; -} - -int f1(struct cinit_answer *buf) -{ - printf("f1: %p\n", buf); - printf("ret=%d\n", f2(buf)); - - return 1; -} - -int main() -{ - struct cinit_answer test; - - if(!f1(&test)) - return 1; - - printf("s: %s d: %d\n", test.data, test.options); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/test-newline.c b/software/cinit/browse_source/cinit-0.3pre15/src/test/test-newline.c deleted file mode 100644 index 4cccf535..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/test-newline.c +++ /dev/null @@ -1,30 +0,0 @@ -#include -#include -#include -#include - -char *strip_final_newline(char *test1); - -int main() -{ - // char *test1 = "zeile1\nzeile2\n"; - // char *test2 = "zeile1\nzeile2\nzeile3"; - char *test1; - char *test2; - - test1 = malloc(50); - test2 = malloc(50); - - strcpy(test1, "zeile1\nzeile2\n"); - strcpy(test2, "zeile1\nzeile2\nzeile3"); - - char *result; - - result = strip_final_newline(test1); - printf("A%sA\n", result); - - result = strip_final_newline(test2); - printf("B%sB\n", result); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre15/src/test/test_build_argv+link.c deleted file mode 100644 index 87e46293..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_build_argv+link.c +++ /dev/null @@ -1,37 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if((tmp = cinit_build_argv(file, &cargv)) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else - exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0], cargv.argv, cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre15/src/test/test_build_argv.c deleted file mode 100644 index 79ee5a48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_build_argv.c +++ /dev/null @@ -1,37 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if((tmp = cinit_build_argv(file, &cargv)) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else - exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0], cargv.argv, cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec deleted file mode 100755 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre15/src/test/test_gen_svc_tree.c deleted file mode 100644 index 433be536..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,21 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre15/src/test/test_openreadclose.c deleted file mode 100644 index 804a01b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file, &data); - - printf("%s\n", data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/tired.c b/software/cinit/browse_source/cinit-0.3pre15/src/test/tired.c deleted file mode 100644 index b6e33260..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/tired.c +++ /dev/null @@ -1,22 +0,0 @@ -#include - -struct msgq_server_short { - long mtype; - int mu; -}; - -main() -{ - struct msgq_server_short t1, *t2; - - t2 = &t1; - - int a = sizeof(t1); - int b = sizeof(t2); - int c = sizeof(*t2); - - printf("a=%d,b=%d,c=%d\n", a, b, c); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre15/src/test/transfer_structure.c b/software/cinit/browse_source/cinit-0.3pre15/src/test/transfer_structure.c deleted file mode 100644 index f9755df3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre15/src/test/transfer_structure.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include - -struct test { - char buf[2048]; - int cmd; -}; - -struct badtest { - char *buf; - int cmd; -}; - -#define PATH "/etc/cinit/svc/local-tuning/udev" - -int main() -{ - struct test cmd; - struct badtest nocmd; - int pfd[2]; - int tmp; - - strcpy(cmd.buf, "/which/service/to/disable"); - cmd.cmd = 42; - - if(pipe(pfd) == -1) - return 1; - nocmd.cmd = 42; - nocmd.buf = malloc(strlen(PATH) + 1); - strcpy(nocmd.buf, PATH); - - if(fork() > 1) { - tmp = write(pfd[1], &cmd, sizeof(cmd)); - printf("PA: tmp=%d\n", tmp); - - tmp = write(pfd[1], &nocmd, sizeof(nocmd)); - printf("PA: tmp2=%d\n", tmp); - } else { - strcpy(cmd.buf, ""); - cmd.cmd = 0; - - tmp = read(pfd[0], &cmd, sizeof(cmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n", tmp, cmd.cmd, cmd.buf); - - free(nocmd.buf); - nocmd.cmd = 0; - - tmp = read(pfd[0], &nocmd, sizeof(nocmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n", tmp, nocmd.cmd, nocmd.buf); - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/ b/software/cinit/browse_source/cinit-0.3pre16/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre16/.ditz-config b/software/cinit/browse_source/cinit-0.3pre16/.ditz-config deleted file mode 100644 index e831e23d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/.ditz-config +++ /dev/null @@ -1,4 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/config -name: Nico Schottelius -email: nico@ikn.schottelius.org -issue_dir: bugs diff --git a/software/cinit/browse_source/cinit-0.3pre16/.gitignore b/software/cinit/browse_source/cinit-0.3pre16/.gitignore deleted file mode 100644 index 08ec3283..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -*.o -*.a -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -*.html -*.htm -*.man -*.texi -*.texi -*.docbook -src/halt.kill -src/poweroff.kill -src/reboot.kill -doc/man/*.[0-9] -doc/man/*.xml -src/cmd -.*.swp -.exclude -src/.configured -src/cinit.halt -src/cinit.poweroff -src/cinit.reboot diff --git a/software/cinit/browse_source/cinit-0.3pre16/Makefile b/software/cinit/browse_source/cinit-0.3pre16/Makefile deleted file mode 100644 index 2ab88187..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/Makefile +++ /dev/null @@ -1,135 +0,0 @@ -# -# 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation -dev-all: all - -install clean dist distclean: - @for subdir in ${CDIRS}; do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && ${MAKE} ${MAKEFLAGS} $@) || break; \ - done; - -.PHONY: sources -sources: - ${MAKE} -C src all - -.PHONY: documentation -documentation: - ${MAKE} -C doc documentation - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - -################################################################################ -# Tests -# -tests: - # does not work, due getting killed, due to design :-) - #./scripts/internal/compile_run_as_compiler.sh - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -DEBIAN=lenny -UMLDIR=test/uml -CONFDIR=etc/cinit/ - -uml-install-debian: - mkdir -p $(UMLDIR) - sudo /usr/sbin/debootstrap $(DEBIAN) $(UMLDIR) - me=$$(whoami); sudo chown -R $$me $(UMLDIR) - -# only install binaries, no need to test documentation -uml-install-config: - rsync -av --delete ./$(CONFDIR) $(UMLDIR)/$(CONFDIR) - -uml-install-cinit: - dir=$$(cd $(UMLDIR); pwd -P); make -C src DESTDIR=$$dir install - -uml-run: uml-install-config - dir=$$(cd $(UMLDIR); pwd -P); linux root=/dev/root rootflags=$$dir rootfstype=hostfs init=/sbin/cinit - -uml-run-sysv: - dir=$$(cd $(UMLDIR); pwd -P); linux root=/dev/root rootflags=$$dir rootfstype=hostfs - -# debian-etch -de-install: - rsync -av --delete ./ root@de:cinit - rsync -av --delete ./etc/cinit/ root@de:/etc/cinit - ssh root@de '(cd cinit; make clean install)' - -de-run: - ssh root@de reboot - -UBUNTUHOST=cinit@192.168.122.2 -UBUNTUCONF=./etc/cinit-ubuntu -UBUNTUINSTALL="cd cinit && make clean && sudo make install" -UBUNTUTEST="sudo reboot" -ubuntu-install: - rsync -av --delete ./ $(UBUNTUHOST):cinit -# rsync -av --delete ./$(UBUNTUCONF) $(UBUNTUHOST):/etc/cinit - ssh "$(UBUNTUHOST)" $(UBUNTUINSTALL) - -ubuntu-test: ubuntu-install - ssh "$(UBUNTUHOST)" $(UBUNTUTEST) - -################################################################################ -# -# Developer targets -# - -release: ./scripts/internal/cinit.release - ./scripts/internal/cinit.release now - -scripts/internal/cinit.release: ./scripts/internal/test-cmd.sh - ./scripts/internal/test-cmd.sh - -WEBFILE=~/privat/computer/net/netzseiten/www.nico.schottelius.org/src/software/cinit.mdwn -.PHONY: web -web: README - cp $< $(WEBFILE) - -cinitconfconfdir=../cinit-conf/conf -sync-conf: - rsync --delete -av ./conf/ $(cinitconfconfdir) - cd $(cinitconfconfdir); git add .; git commit -m "sync with cinit/conf" diff --git a/software/cinit/browse_source/cinit-0.3pre16/README b/software/cinit/browse_source/cinit-0.3pre16/README deleted file mode 100644 index 28ee2350..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/README +++ /dev/null @@ -1,232 +0,0 @@ -cinit is a fast, small and simple init with support for profiles - -## Introduction - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design of -Richard Goochs -[need concept](http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/) -and Felix von Leitners -[minit](http://www.fefe.de/minit/). -Minit does not support real dependencies (you don't know whether the -service you depend on really started) and the need concept is somehow -slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -### Cinit main features - -* portability: it should run on every Unix -* true dependencies (soft and hard!) -* parallel execution -* highly customisable (see conf/*) -* profile support (specify what services to start depending on the profile) - - -### Why should I use cinit? - - * To significant speedup the startup process - * To use highest level of parallelisation at startup - * To benefit from real dependencies (so called ***needs*** and ***wants***) - * To easily create profiles that can be chosen at startup (even **before** init is started!) - -### How does cinit work? - -Cinit creates a dependency tree at startup and executes the services. -A service can have two type of dependencies: - - * ***wants*** describe soft dependencies (i.e. it's not fatal if the wanted service fails to start) - * ***needs*** describe hard dependencies (if the needed service fails, the depending won't be started) - -Let's have a look at an example: - - - A - (wants) - / \ - |------> B \ C - | / \ / \ - ^ (needs) (needs) (wants) - | D E F - | | - |------<------(needs)----| - - -Or in words: - - * B and C do not have dependencies - * They will be started at the beginning - * A wants B and C - * A waits until B and C are executed and started afterwards, - independently of the success of B and C - * A will also be started, if B and C fail to start. - * D needs B - * D will only be started, if B is successfully started - * E needs B and C - * E will only be started, if both B and C are successfully started - * F wants C and needs B - * F will only be started, if B is successfully started - * F waits until C is started and is started afterwards - -## Getting cinit - -### Development versions -You can get the latest (development) version via git: - - git clone git://git.schottelius.org/cLinux/cinit.git - -Additionally, the following other git ressources are available: - - * [Gitweb](http://git.schottelius.org/?p=cLinux/cinit.git;a=summary). - * [Mirror at github](http://github.com/telmich/cinit) - * [Mirror at gitorious](http://gitorious.org/cinit) - - -### Archives - - * [[cinit-0.3pre16.tar.bz2|archives/cinit-0.3pre16.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre16/)) - [[changes|browse_source/cinit-0.3pre16/doc/changes/0.3pre16]] - * [[cinit-0.3pre15.tar.bz2|archives/cinit-0.3pre15.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre15/)) - [[changes|browse_source/cinit-0.3pre15/doc/changes/0.3pre15]] - * [[cinit-0.3pre14.tar.bz2|archives/cinit-0.3pre14.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre14/)) - [[changes|browse_source/cinit-0.3pre14/CHANGES]] - * [[cinit-0.3pre13.tar.bz2|archives/cinit-0.3pre13.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre13/)) - [[changes|browse_source/cinit-0.3pre13/CHANGES]] - * [[cinit-0.3pre12.tar.bz2|archives/cinit-0.3pre12.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre12/)) - [[changes|browse_source/cinit-0.3pre12/CHANGES]] - * [[cinit-0.3pre11.tar.bz2|archives/cinit-0.3pre11.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre11/)) - [[changes|browse_source/cinit-0.3pre11/CHANGES]] - * [[cinit-0.3pre10.tar.bz2|archives/cinit-0.3pre10.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre10/)) - [[changes|browse_source/cinit-0.3pre10/CHANGES]] - * [[cinit-0.3pre9.tar.bz2|archives/cinit-0.3pre9.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre9/)) - [[changes|browse_source/cinit-0.3pre9/CHANGES]] - * [[cinit-0.3pre8.tar.bz2|archives/cinit-0.3pre8.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre8/)) - [[changes|browse_source/cinit-0.3pre8/CHANGES]] - * [[cinit-0.3pre7.tar.bz2|archives/cinit-0.3pre7.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre7/)) - [[changes|browse_source/cinit-0.3pre7/CHANGES]] - * [[cinit-0.3pre6.tar.bz2|archives/cinit-0.3pre6.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre6/)) - [[changes|browse_source/cinit-0.3pre6/CHANGES]] - * [[cinit-0.3pre5.tar.bz2|archives/cinit-0.3pre5.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre5/)) - [[changes|browse_source/cinit-0.3pre5/CHANGES]] - * [[cinit-0.3pre4.tar.bz2|archives/cinit-0.3pre4.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre4/)) - [[changes|browse_source/cinit-0.3pre4/CHANGES]] - * [[cinit-0.3pre3.tar.bz2|archives/cinit-0.3pre3.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre3/)) - [[changes|browse_source/cinit-0.3pre3/CHANGES]] - * [[cinit-0.3pre2.tar.bz2|archives/cinit-0.3pre2.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre2/)) - [[changes|browse_source/cinit-0.3pre2/CHANGES]] - * [[cinit-0.3pre1.tar.bz2|archives/cinit-0.3pre1.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre1/)) - [[changes|browse_source/cinit-0.3pre1/CHANGES]] - * [[cinit-0.2.1.tar.bz2|archives/cinit-0.2.1.tar.bz2]] - ([browse source](browse_source/cinit-0.2.1/)) - [[changes|browse_source/cinit-0.2.1/CHANGES]] - * [[cinit-0.2.tar.bz2|archives/cinit-0.2.tar.bz2]] - ([browse source](browse_source/cinit-0.2/)) - [[changes|browse_source/cinit-0.2/CHANGES]] - * [[cinit-0.1.tar.bz2|archives/cinit-0.1.tar.bz2]] - ([browse source](browse_source/cinit-0.1/)) - [[changes|browse_source/cinit-0.1/CHANGES]] - * [[cinit-0.0.8.tar.bz2|archives/cinit-0.0.8.tar.bz2]] - ([browse source](browse_source/cinit-0.0.8/)) - [[changes|browse_source/cinit-0.0.8/CHANGES]] - * [[cinit-0.0.7.tar.bz2|archives/cinit-0.0.7.tar.bz2]] - ([browse source](browse_source/cinit-0.0.7/)) - [[changes|browse_source/cinit-0.0.7/CHANGES]] - * [[cinit-0.0.6.tar.bz2|archives/cinit-0.0.6.tar.bz2]] - ([browse source](browse_source/cinit-0.0.6/)) - [[changes|browse_source/cinit-0.0.6/CHANGES]] - * [[cinit-0.0.5.tar.bz2|archives/cinit-0.0.5.tar.bz2]] - ([browse source](browse_source/cinit-0.0.5/)) - [[changes|browse_source/cinit-0.0.5/CHANGES]] - * [[cinit-0.0.4.tar.bz2|archives/cinit-0.0.4.tar.bz2]] - ([browse source](browse_source/cinit-0.0.4/)) - [[changes|browse_source/cinit-0.0.4/CHANGES]] - -## Documentation -The documentation is currently spread all over the ***doc/*** directory -within the tarball and is being cleaned up. Additionally there -are two presentations available: - - * [[2005-10-22: (German) speech at Technophil|software/cinit/speeches/2005-10-22]] - * [[2005-08-06: (German) online speech|software/cinit/speeches/2005-08-06]] - -### Pre-Configuring -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -### Installing cinit -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists: - - # make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -### Configuring cinit -You'll have to configure cinit in /etc/cinit and add services, -before you can use it. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. - -There are some testing examples below doc/examples/, to be used -as a starting point. - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available, -but they are in the making (see various bugs in ditz). - -### Configuring the OS / Kernel - -After configuring cinit you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - * Linux/LILO and Linux/yaboot (ppc): - * append="init=/sbin/cinit" - * grub1 and grub2: - * kernel init=/sbin/cinit - -## Support - -### IRC -You can join the development ***IRC channel*** -[#cLinux on irc.freenode.org](irc://irc.freenode.org/#cLinux). - -### Mailing list -Bug reports, questions, patches, etc. should be send to the -[cinit mailing list](http://l.schottelius.org/mailman/listinfo/cinit). - -## Related websites - - * [cinit](http://www.nico.schottelius.org/software/cinit/) - * [cinit mailing list](http://l.schottelius.org/mailman/listinfo/cinit) - * BSD init systems (same codebase): - * [FreeBSDs init](http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/init/) - * [NetBSDs init](http://cvsweb.netbsd.org/bsdweb.cgi/src/sbin/init/) - * [OpenBSDs init](http://www.openbsd.org/cgi-bin/cvsweb/src/sbin/init/) - * [initng](http://www.initng.org/) - * [minit](http://www.fefe.de/minit/) - * [runit](http://smarden.org/runit/) - * [need/simpleinit](http://www.atnf.csiro.au/~rgooch/linux/boot-scripts/) - * [sys-v-init](ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/) - * [upstart](http://www.netsplit.com/blog/work/canonical/upstart.html) - - -[[!tag unix]] diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.get-confdir b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.get-confdir deleted file mode 100755 index 5deb8a85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.get-confdir +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# -# 2005-2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) -# - -hier="${0%/*}" - -# try environment first -if [ "$CINIT_CONF_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_CONF_DIR -elif [ -d "${hier}/../conf/" ]; then - CONFDIR="${hier}/../conf/" -elif [ -d "/etc/cinit-conf/" ]; then - CONFDIR="/etc/cinit-conf/" -else - echo 'Did not find cinit-conf configuration!' >&2 - echo "Please set the variable CINIT_CONF_CONF_DIR" >&2 - exit 1 -fi - -CONFDIR=$(cd "${CONFDIR}" && pwd -P) - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.path-find-executable b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.path-find-executable deleted file mode 100755 index 21d52cba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.path-find-executable +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -# FIXME: use awk or similar -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.read-conf b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.read-conf deleted file mode 100755 index 73721223..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.read-conf +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -hier="${0%/*}" - -: ${CONFDIR:="$("${hier}/cinit-conf.get-confdir")"} - -# read general values and overwrite specific ones later -for conf in ${CONFDIR}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - # short version - eval : \${$NAME:=$(head -n1 "${conf}")} - - # long version - #if eval test -z \$$NAME; then - # eval $NAME=\"$(head -n 1 $conf)\" - # eval export $NAME - #fi -# eval echo $NAME = \$$NAME -done - -# comment out: generated automatically now -#: ${DESTDIR="$(head -n1 "${CONFDIR}/destdir")"} -#: ${SERVICE_CATEGORIES="$(head -n1 "${CONFDIR}/service_categories")"} -#: ${GETTYDIR="${SVCDIR}/$(head -n1 "${CONFDIR}/gettydir")"} -#: ${INSTALL_PROG="$(head -n1 "${CONFDIR}/install_prog")"} -#: ${INSTALL_DIRECTORY="$(head -n1 "${CONFDIR}/install_directory")"} -#: ${C_ON="$(head -n1 "${CONFDIR}/c_on")"} -#: ${C_PARAMS="$(head -n1 "${CONFDIR}/c_params")"} -#: ${C_RESPAWN="$(head -n1 "${CONFDIR}/c_respawn")"} - -# overwrite or set: add destdir and put things together -# R_* = real = should be used in scripts -: ${R_CINIT_DIR:="${DESTDIR}/${CINIT_DIR}"} -: ${R_CINITCONF_DIR:="${R_CINIT_DIR}/${CINITCONFDIR}"} -: ${R_SVC_DIR:="${R_CINIT_DIR}/${SVCDIR}"} diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.categories b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.categories deleted file mode 100755 index 9b740608..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.categories +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit-conf.read-conf - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}/${svc}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.create.sample b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.create.sample deleted file mode 100755 index 82d81638..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.create.sample +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit-conf.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR="${DESTDIR}/${CINIT_DIR}" - -for svc in $@; do - INSTDIR="${BASEDIR}/${svc}" - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.dependency.add b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.dependency.add deleted file mode 100755 index 5b084de5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.dependency.add +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# -# cinit: create dependency: service a needs or wants service b -# - -set -x - -# initialise cinit-conf framework -hier="${0%/*}"; set -e; . "${hier}/cinit-conf.read-conf" - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A="$1" -DEP="$2" -SVC_B="$3" - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case "${DEP}" in - wishes|wants) DEP="$C_WANTS" ;; - needs|requires) DEP="$C_NEEDS" ;; - *) echo "Use \"want\" or \"need\" as type of dependency." -esac - -# First of all create absolute paths -# if SVC_X beginning matches R_CINIT_DIR it is absolute -# else it is relative to R_CINIT_DIR -echo "${SVC_A}" | grep "^${R_SVC_DIR}" >/dev/null || SVC_A="${R_SVC_DIR}/${SVC_A}" -echo "${SVC_B}" | grep "^${R_SVC_DIR}" >/dev/null || SVC_B="${R_SVC_DIR}/${SVC_B}" - -SVC_A_ABS=$(cd "${SVC_A}" && pwd -P) -SVC_B_ABS=$(cd "${SVC_B}" && pwd -P) - -SVC_A_REL="${SVC_A_ABS##*/}" -SVC_B_REL="${SVC_B_ABS##*/}" - -set +e -match="" -count="0" -svc_stripped="$(echo $SVC_A_ABS | sed -e 's;/$;;' -e 's;/[^/]*$;;')" -while [ "$svc_stripped" ]; do - match="$(echo ${SVC_B_ABS} | grep "^${svc_stripped}")" - count=$(($count+1)) - if [ "$match" ]; then - relpath="" - while [ "$count" -gt 0 ]; do - source="../${source}" - count=$(($count-1)) - done - source="${source}${SVC_B_REL}" - - break - fi - svc_stripped="$(echo $svc_stripped | sed -e 's;/$;;' -e 's;/[^/]*$;;')" -done - -# nothing in common? link absolute -if [ ! "$match" ]; then - source="${SVC_B_ABS}" -fi - -# Then find out the level of subdirs, excluding destdir! -# FIXME: could someone PLEASE simplify that? -#SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') - -# find common anchor and link after that: -# /destdir/etc/cinit/svc/svca/b/ -# /destdir/etc/cinit/svc/svca/c/ -# results in ../c/ -# Thus: -# while unmatched -# remove /* (one level, shortest match) -# - - -# 1. remove destdir, if present 2. remove everything but the slashes 3. replace them with ../ -# -SLASHES=$(echo $SVC_A | sed -e "s;^$DESTDIR;;" -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_A | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking ${source} to ${DEST} ... " -ln -sf "${source}" "${DEST}" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.fsck.linux b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.fsck.linux deleted file mode 100755 index 377d7843..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.fsck.linux +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -set -e - -. $(dirname $0)/cinit-conf.read-conf - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK="/sbin/fsck.${FS_TYPE}" - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "${DESTDIR}${DEVICE}" ]; then - echo "Warning: ${DESTDIR}${DEVICE} does not exist." -fi - -svcdir="${R_SVC_DIR}/fsck/${NAME}" -if [ -e "$svcdir" ]; then - echo "Error: $svcdir already exists" - exit 1 -fi - -set -e -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${svcdir}" -ln -sf "${FSCK}" "${svcdir}/$C_ON" -echo "$DEVICE" > "${svcdir}/$C_ON$C_PARAMS" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.getty.add b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.getty.add deleted file mode 100755 index ea4e1815..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.getty.add +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -BASEDIR="${R_SVC_DIR}/${GETTYDIR}" -LAST_NUMBER=$(cd "$BASEDIR" && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.getty.remove b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.getty.remove deleted file mode 100755 index efecf6a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.getty.remove +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit-conf.read-conf - -BASEDIR="$DESTDIR/$CINIT_DIR/$GETTY_DIR" -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR="$BASEDIR/$NUMBER" - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.hostname.linux b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.hostname.linux deleted file mode 100755 index 31831e70..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.hostname.linux +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -set -e - -. $(dirname $0)/cinit-conf.read-conf - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME="$1" -: ${HOSTNAME_BIN:=/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${R_SVC_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${R_SVC_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${R_SVC_DIR}/network/hostname/$C_ON$C_PARAMS" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.init b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.init deleted file mode 100755 index f27758ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.init +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit-conf.read-conf - -set -e -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_CINITCONF_DIR}" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}" - -# init must be there. always. -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}/init" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.init.dependencies b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.init.dependencies deleted file mode 100755 index 018a44d0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.init.dependencies +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -set -e - -. $(dirname $0)/cinit-conf.read-conf - -$(dirname $0)/cinit-conf.add.dependency init wants getty -$(dirname $0)/cinit-conf.add.dependency init wants local-services -$(dirname $0)/cinit-conf.add.dependency init wants local-tuning -$(dirname $0)/cinit-conf.add.dependency init wants mount -$(dirname $0)/cinit-conf.add.dependency init wants network diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.keymap.linux b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.keymap.linux deleted file mode 100755 index da1c1681..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.keymap.linux +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit-conf.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.linux.network.lo b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.linux.network.lo deleted file mode 100755 index eef1b84d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.linux.network.lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit-conf.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.getsource b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.getsource deleted file mode 100755 index 9ee21f6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.getsource +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -# FIXME: Skip ^#!, make for generic mounts! -awk '$2 ~ /^\/$/ { print $0 }' < /etc/fstab diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.proc b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.proc deleted file mode 100755 index c03c3ee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit-conf.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.root b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.root deleted file mode 100755 index d6d53320..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.root +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -set -e - -. $(dirname $0)/cinit-conf.read-conf - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}/mount/root" -ln -sf /bin/mount "${R_SVC_DIR}/mount/root/$C_ON" -echo -n > "${R_SVC_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${R_SVC_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${R_SVC_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${R_SVC_DIR}/mount/root/${C_ON}${C_PARAMS}" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.swap b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.swap deleted file mode 100755 index e7675a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit-conf.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.sys b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.sys deleted file mode 100755 index 882d83f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mount.sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit-conf.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mtab-clean.linux b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mtab-clean.linux deleted file mode 100755 index c62a7d33..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.mtab-clean.linux +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit-conf.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.respawn.off b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.respawn.off deleted file mode 100755 index 5fb0dc57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit-conf.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR="$DESTDIR/$CINIT_DIR" - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.respawn.on b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.respawn.on deleted file mode 100755 index 63d84db5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit-conf.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR="$DESTDIR/$CINIT_DIR" - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.udev.linux b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.udev.linux deleted file mode 100755 index 09e4fa09..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.svc.udev.linux +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit-conf.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit-conf.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit-conf.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit-conf.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.sys-v-init.get-current-runlevel b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.sys-v-init.get-current-runlevel deleted file mode 100755 index aba723f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.sys-v-init.get-current-runlevel +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -runlevel | cut -d " " -f2 diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.sys-v-init.migrate-fstab b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.sys-v-init.migrate-fstab deleted file mode 100755 index f3c08736..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit-conf.sys-v-init.migrate-fstab +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -# read root - -# read swap - -# FIXME: read others: later -echo "Warning: Only configuring / and swap, ignoring other devices for now" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.reboot deleted file mode 100755 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.shutdown deleted file mode 100755 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.svc.init b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.svc.init deleted file mode 100755 index 9b45e57c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.svc.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit-conf.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.svc.linux.debian.ntpdate b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.svc.linux.debian.ntpdate deleted file mode 100755 index c6fc37eb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.svc.linux.debian.ntpdate +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit-conf.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.wait.for.daemon deleted file mode 100755 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/README b/software/cinit/browse_source/cinit-0.3pre16/bugs/README deleted file mode 100644 index 6472dbf7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/README +++ /dev/null @@ -1 +0,0 @@ -This directory is maintained by ditz. diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-0c63a541a2261c7322d6c59a6adb091301020c8d.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-0c63a541a2261c7322d6c59a6adb091301020c8d.yaml deleted file mode 100644 index 5a125ca4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-0c63a541a2261c7322d6c59a6adb091301020c8d.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Create minimal sample configurations for different OS -desc: |- - Similar to what I thought todo in cinit.install.test: - - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar -type: :task -component: portability -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-24 20:14:42.832701 Z -references: [] - -id: 0c63a541a2261c7322d6c59a6adb091301020c8d -log_events: -- - 2009-09-24 20:14:44.120614 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-0d8142c646aa04e8e713fc8f886a44475581c670.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-0d8142c646aa04e8e713fc8f886a44475581c670.yaml deleted file mode 100644 index 4c082d64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-0d8142c646aa04e8e713fc8f886a44475581c670.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: How to handle OS specific signal handlers -desc: |- - -- cinit ignores the Keyboard request - - Currently there is no support to react on 'ctr+alt+del': - - Maybe allow signal handlers to be passed to something like services? -type: :task -component: core -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:29:28.589652 Z -references: [] - -id: 0d8142c646aa04e8e713fc8f886a44475581c670 -log_events: -- - 2009-09-28 05:29:31.033914 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-120cbf62dbdd9a7a026bcbb7d2863599c7183f70.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-120cbf62dbdd9a7a026bcbb7d2863599c7183f70.yaml deleted file mode 100644 index 71b24dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-120cbf62dbdd9a7a026bcbb7d2863599c7183f70.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add install targets -desc: |- - install: - make install => does not overwrite critical targets - * cinit - * *.kill (see client/*) - * cmd - make force-install => overwrites /sbin/{halt,poweroff,reboot}? - => with script that wraps cmd - make install-template: - * creates categories - make install-miniconf: - * creates categories - * creates one service starting a shell (depending on the OS!) -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:42:21.470333 Z -references: [] - -id: 120cbf62dbdd9a7a026bcbb7d2863599c7183f70 -log_events: -- - 2009-09-28 05:42:22.146097 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-1cc421b885608485f73c9041c5c0af71df76331a.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-1cc421b885608485f73c9041c5c0af71df76331a.yaml deleted file mode 100644 index 10759001..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-1cc421b885608485f73c9041c5c0af71df76331a.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Documentate, how to write an init system -desc: So others can redo it. -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:17:05.878201 Z -references: [] - -id: 1cc421b885608485f73c9041c5c0af71df76331a -log_events: -- - 2009-09-29 05:17:06.729534 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-1e83dca921062d97b96830caf24e7898ad4fbbe2.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-1e83dca921062d97b96830caf24e7898ad4fbbe2.yaml deleted file mode 100644 index 1a6a63a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-1e83dca921062d97b96830caf24e7898ad4fbbe2.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: add error handling to cinit.install.binary -desc: Double check the whole installation process -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:32:13.897529 Z -references: [] - -id: 1e83dca921062d97b96830caf24e7898ad4fbbe2 -log_events: -- - 2009-09-28 05:32:14.581391 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml deleted file mode 100644 index d815cbd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "Documentate: How to cross compile" -desc: |- - conf/os to destination os - conf/cc - conf/ld - conf/cflags - conf/ldflags -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-07 06:31:53.866741 Z -references: [] - -id: 25822475f5d01c35eb9edd8d75c065c83032701b -log_events: -- - 2009-09-07 06:31:54.990478 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9.yaml deleted file mode 100644 index 40245817..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9.yaml +++ /dev/null @@ -1,43 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add reason, why service was not started -desc: |- - -------------------------------------------------------------------------------- - csvc: - 11:09 < folken23> telmich: oder service allready started. - -------------------------------------------------------------------------------- - cinit: - 11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. - 11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:36:51.093468 Z -references: [] - -id: 278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9 -log_events: -- - 2009-09-28 05:36:51.957356 Z - - Nico Schottelius - - created - - "" -- - 2009-09-29 05:15:14.622132 Z - - Nico Schottelius - - commented - - |- - And add better status messages: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-29d45f06044e5329dca7f351a17676e65d4e3b38.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-29d45f06044e5329dca7f351a17676e65d4e3b38.yaml deleted file mode 100644 index 7cd1909c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-29d45f06044e5329dca7f351a17676e65d4e3b38.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "Bugfix: SIGCHLD not handled carefully" -desc: "" -type: :task -component: core -release: "0.3" -reporter: Nico Schottelius -status: :in_progress -disposition: -creation_time: 2009-09-29 05:34:17.833638 Z -references: [] - -id: 29d45f06044e5329dca7f351a17676e65d4e3b38 -log_events: -- - 2009-09-29 05:34:18.397430 Z - - Nico Schottelius - - created - - "" -- - 2009-09-29 05:35:28.338069 Z - - Nico Schottelius - - changed status from unstarted to in_progress - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-2a4a3675810b44b05ce51c021690fb3f21725e55.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-2a4a3675810b44b05ce51c021690fb3f21725e55.yaml deleted file mode 100644 index cccc3fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-2a4a3675810b44b05ce51c021690fb3f21725e55.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: write sys-v-init-shutdown-wrapper -desc: |- - So people can use their known tools: - * shutdown - * halt - * reboot - * poweroff -type: :task -component: user interface -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 18:35:44.468421 Z -references: [] - -id: 2a4a3675810b44b05ce51c021690fb3f21725e55 -log_events: -- - 2009-09-28 18:35:45.292294 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-2fda514da472aa15fa57d2df06e8d5cc909016d0.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-2fda514da472aa15fa57d2df06e8d5cc909016d0.yaml deleted file mode 100644 index dc0c9622..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-2fda514da472aa15fa57d2df06e8d5cc909016d0.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Write a small manual -desc: |- - How to - - install - - configure - - boot (different OS) -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 18:37:34.300443 Z -references: [] - -id: 2fda514da472aa15fa57d2df06e8d5cc909016d0 -log_events: -- - 2009-09-28 18:37:35.280232 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-3cc14c82109544e198e5cce002c0d94a66e6f4d7.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-3cc14c82109544e198e5cce002c0d94a66e6f4d7.yaml deleted file mode 100644 index 8e7731a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-3cc14c82109544e198e5cce002c0d94a66e6f4d7.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Export service information -desc: Like pid, path, ... -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:18:47.901610 Z -references: [] - -id: 3cc14c82109544e198e5cce002c0d94a66e6f4d7 -log_events: -- - 2009-09-29 05:18:48.369488 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d.yaml deleted file mode 100644 index 35fdf1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add service start/stop -desc: Hack cinit_svc_disable.c -type: :task -component: cinit -release: "0.3" -reporter: Nico Schottelius -status: :in_progress -disposition: -creation_time: 2009-09-29 05:31:38.533662 Z -references: [] - -id: 40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d -log_events: -- - 2009-09-29 05:31:39.209477 Z - - Nico Schottelius - - created - - "" -- - 2009-09-29 05:32:40.681588 Z - - Nico Schottelius - - commented - - "svc_stop vs. svc_disable: coded tired?" -- - 2009-09-29 05:33:27.666143 Z - - Nico Schottelius - - changed status from unstarted to in_progress - - on it... diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-4e460e6061fb5d39549b85d42fc33f57de7a1396.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-4e460e6061fb5d39549b85d42fc33f57de7a1396.yaml deleted file mode 100644 index 01d7564a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-4e460e6061fb5d39549b85d42fc33f57de7a1396.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Maybe create libcinit? -desc: At least for use in cmd() -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:43:27.689712 Z -references: [] - -id: 4e460e6061fb5d39549b85d42fc33f57de7a1396 -log_events: -- - 2009-09-28 05:43:28.069533 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-5bd7befd45553864b1d2ebc12509e06440a402d0.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-5bd7befd45553864b1d2ebc12509e06440a402d0.yaml deleted file mode 100644 index c033e3d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-5bd7befd45553864b1d2ebc12509e06440a402d0.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Documentate how to migrate from another init system -desc: "" -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 20:00:00.854675 Z -references: [] - -id: 5bd7befd45553864b1d2ebc12509e06440a402d0 -log_events: -- - 2009-09-28 20:00:01.450291 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7.yaml deleted file mode 100644 index 5fcbc43d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: add code do implement stopping / restarting service with/without dependency tree -desc: "" -type: :task -component: cinit -release: 0.3.1 -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:33:24.966097 Z -references: [] - -id: 5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7 -log_events: -- - 2009-09-28 05:33:25.929966 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-8391cdbcb30d007bfb692504d9469a93f7c15b97.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-8391cdbcb30d007bfb692504d9469a93f7c15b97.yaml deleted file mode 100644 index a4da0c19..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-8391cdbcb30d007bfb692504d9469a93f7c15b97.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Mase sure cinit runs on POSIX -desc: Double check that there are no linux deps in it anymore (from cinit-0.2) -type: :task -component: portability -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:16:19.961614 Z -references: [] - -id: 8391cdbcb30d007bfb692504d9469a93f7c15b97 -log_events: -- - 2009-09-29 05:16:20.858087 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-85687a7f79046db51429db38e7b1da5234a3675e.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-85687a7f79046db51429db38e7b1da5234a3675e.yaml deleted file mode 100644 index f87e898a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-85687a7f79046db51429db38e7b1da5234a3675e.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: write examples for profiles -desc: |- - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:19:26.941625 Z -references: [] - -id: 85687a7f79046db51429db38e7b1da5234a3675e -log_events: -- - 2009-09-29 05:19:27.345506 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-863a9d56ed460fb45e91d2c555d57133d2286f72.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-863a9d56ed460fb45e91d2c555d57133d2286f72.yaml deleted file mode 100644 index 9716ac2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-863a9d56ed460fb45e91d2c555d57133d2286f72.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add speedup part in documentation -desc: |- - - cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - - Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:30:01.562097 Z -references: [] - -id: 863a9d56ed460fb45e91d2c555d57133d2286f72 -log_events: -- - 2009-09-28 05:30:02.433805 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8.yaml deleted file mode 100644 index 50eaa305..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Create cinit-conf framework or libexec -desc: |- - Maybe include - - cinit_service_modify(name|path) - - cinit_service_create() - interactive - - cinit_service_delete(name|path) - interactive - * has to take care about needs / wants! - - cinit_magic_configuration_generation() - * tries to build a completly fresh configuration, by analysing your system - - Non interactive tools - - cinit_svc_del -type: :task -component: user interface -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:28:48.049604 Z -references: [] - -id: 8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8 -log_events: -- - 2009-09-29 05:28:48.665510 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-bb27c9b51f82dd54eba8baa40aa5e8bba326ea01.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-bb27c9b51f82dd54eba8baa40aa5e8bba326ea01.yaml deleted file mode 100644 index f90ec206..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-bb27c9b51f82dd54eba8baa40aa5e8bba326ea01.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: export profile information -desc: Possible via $CINIT_PROFILE -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:19:54.965525 Z -references: [] - -id: bb27c9b51f82dd54eba8baa40aa5e8bba326ea01 -log_events: -- - 2009-09-29 05:19:55.929526 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-c8d020845511594b4b90bb38a2a839ef6ce4c9c8.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-c8d020845511594b4b90bb38a2a839ef6ce4c9c8.yaml deleted file mode 100644 index 886b3337..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-c8d020845511594b4b90bb38a2a839ef6ce4c9c8.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Cleanup environment before starting child -desc: |- - Close fds, free mem, ... - Chcek what's necessary, what's senseful, ... -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:41:22.857702 Z -references: [] - -id: c8d020845511594b4b90bb38a2a839ef6ce4c9c8 -log_events: -- - 2009-09-28 05:41:23.909476 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-d3732fffad054c5a1f781f28a60015346ad28dd6.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-d3732fffad054c5a1f781f28a60015346ad28dd6.yaml deleted file mode 100644 index fed5b461..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-d3732fffad054c5a1f781f28a60015346ad28dd6.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: write cinit-conf.check -desc: |- - * report broken links in needs/wants - * report circular dependencies -type: :task -component: user interface -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 18:36:27.892997 Z -references: [] - -id: d3732fffad054c5a1f781f28a60015346ad28dd6 -log_events: -- - 2009-09-28 18:36:28.504859 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-d7a7970bd20e1dc0b04f314fee5f39ba90d3d904.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-d7a7970bd20e1dc0b04f314fee5f39ba90d3d904.yaml deleted file mode 100644 index 8b379025..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-d7a7970bd20e1dc0b04f314fee5f39ba90d3d904.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Cleanup contrib+tools -desc: Tools may be old or not even compiling. Cleanup! -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:22:54.298139 Z -references: [] - -id: d7a7970bd20e1dc0b04f314fee5f39ba90d3d904 -log_events: -- - 2009-09-29 05:22:55.166003 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1.yaml deleted file mode 100644 index 27f2d088..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Documentate sleeping behaviour (when respawing processes) -desc: |- - - cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:27:32.721481 Z -references: [] - -id: dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1 -log_events: -- - 2009-09-28 05:27:33.821345 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669.yaml deleted file mode 100644 index 08026edf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: define service status in one document, so repeatition stops -desc: |- - maybe use doxygen? - Chose focus: user | developer -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:31:11.886061 Z -references: [] - -id: e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669 -log_events: -- - 2009-09-28 05:31:12.802016 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-e435cb93810ea790f795fedc2e9afc6475c9c0a8.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-e435cb93810ea790f795fedc2e9afc6475c9c0a8.yaml deleted file mode 100644 index 13713f55..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-e435cb93810ea790f795fedc2e9afc6475c9c0a8.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "FAQ: what happens when a service does not terminate...." -desc: write faq! -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 20:11:41.130314 Z -references: [] - -id: e435cb93810ea790f795fedc2e9afc6475c9c0a8 -log_events: -- - 2009-09-28 20:11:41.862145 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-f10682d63b1059f876c6cdde2323a596dba89d3c.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-f10682d63b1059f876c6cdde2323a596dba89d3c.yaml deleted file mode 100644 index 0685c6f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-f10682d63b1059f876c6cdde2323a596dba89d3c.yaml +++ /dev/null @@ -1,51 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Test new build sytem -desc: |- - Migrate conf/ to general conf/-buildsystem (write documentation for it). - - gpm2 may be an example for this! - - conf/targets: - targets to make available in Makefile and their dependencies - - abstract the build-process somehow, so one can create build-targets? - - c-programs/ (includes cc / ld) - cinit (link to conf/object_listings cinit?) - conf/object_listings - lists of dependencies: - conf/object_listings/cinit contains all objects needed for cinit - - conf/programs/ - like cc, ld, install, ... - - conf/built-options/ - like --... in ./configure - - conf/install/ - - options/ - destdir (prefixed before everything) - prefix (standard prefix) - bin (relative to prefix, if not beginning with a /) - sbin (relative to prefix, if not beginning with a /) - lib (relative to prefix, if not beginning with a /) - targets/ - cinit/ - built-target (link to conf/targets/cinit) - destination (relative to -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:21:55.313650 Z -references: [] - -id: f10682d63b1059f876c6cdde2323a596dba89d3c -log_events: -- - 2009-09-29 05:21:55.845402 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3.yaml deleted file mode 100644 index 23949d0a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Check shutdown code -desc: To verify the right way -type: :task -component: core -release: "0.3" -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:34:46.305951 Z -references: [] - -id: fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3 -log_events: -- - 2009-09-29 05:34:46.774065 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-fea40277e32b0bd747d7f47a68d41009fc046fd9.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-fea40277e32b0bd747d7f47a68d41009fc046fd9.yaml deleted file mode 100644 index 57911dc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/issue-fea40277e32b0bd747d7f47a68d41009fc046fd9.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: add logging support for services -desc: Similar to DJB tools? multilog? -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:18:00.717667 Z -references: [] - -id: fea40277e32b0bd747d7f47a68d41009fc046fd9 -log_events: -- - 2009-09-29 05:18:01.146029 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre16/bugs/project.yaml b/software/cinit/browse_source/cinit-0.3pre16/bugs/project.yaml deleted file mode 100644 index 490b5cff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/bugs/project.yaml +++ /dev/null @@ -1,44 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/project -name: cinit -version: "0.5" -components: -- !ditz.rubyforge.org,2008-03-06/component - name: cinit -- !ditz.rubyforge.org,2008-03-06/component - name: core -- !ditz.rubyforge.org,2008-03-06/component - name: user interface -- !ditz.rubyforge.org,2008-03-06/component - name: portability -- !ditz.rubyforge.org,2008-03-06/component - name: documentation -- !ditz.rubyforge.org,2008-03-06/component - name: build -releases: -- !ditz.rubyforge.org,2008-03-06/release - name: "0.3" - status: :unreleased - release_time: - log_events: - - - 2009-09-07 06:28:02.974644 Z - - Nico Schottelius - - created - - The first cleaned up version -- !ditz.rubyforge.org,2008-03-06/release - name: future - status: :unreleased - release_time: - log_events: - - - 2009-09-07 06:29:14.264777 Z - - Nico Schottelius - - created - - All things to be fixed in the future. -- !ditz.rubyforge.org,2008-03-06/release - name: 0.3.1 - status: :unreleased - release_time: - log_events: - - - 2009-09-28 05:32:55.870041 Z - - Nico Schottelius - - created - - Bugfix of 0.3 diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/.README b/software/cinit/browse_source/cinit-0.3pre16/conf/.README deleted file mode 100644 index c4d984c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/.README +++ /dev/null @@ -1,7 +0,0 @@ -This is an example for a cinit and cinit-conf configuration. - -The first line of a file contains the configuration value, -the rest of the file may contain a description. - -The conf/ directory is shared by cinit and cinit-conf and may contain files that -are only relevant for one of the two projects. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre16/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre16/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_desaster b/software/cinit/browse_source/cinit-0.3pre16/conf/c_desaster deleted file mode 100644 index 153a63cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_desaster +++ /dev/null @@ -1,5 +0,0 @@ -/bin/sh - -The path to a program, that we execute if nothing -else helps. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_env b/software/cinit/browse_source/cinit-0.3pre16/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_init b/software/cinit/browse_source/cinit-0.3pre16/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_last b/software/cinit/browse_source/cinit-0.3pre16/conf/c_last deleted file mode 100644 index 8debf155..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_last +++ /dev/null @@ -1,7 +0,0 @@ -last - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -This maybe a shellscript with the OS-specific umount procedure (like umount -a), -see doc/user/configuring.cinit for more details. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre16/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_off b/software/cinit/browse_source/cinit-0.3pre16/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_on b/software/cinit/browse_source/cinit-0.3pre16/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre16/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_params b/software/cinit/browse_source/cinit-0.3pre16/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre16/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre16/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre16/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre16/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre16/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre16/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/cc b/software/cinit/browse_source/cinit-0.3pre16/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/cflags b/software/cinit/browse_source/cinit-0.3pre16/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre16/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/cinitconfdir b/software/cinit/browse_source/cinit-0.3pre16/conf/cinitconfdir deleted file mode 100644 index 9dc3b52b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/cinitconfdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -General cinit-configuration (below cinitdir) diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/destdir b/software/cinit/browse_source/cinit-0.3pre16/conf/destdir deleted file mode 100644 index 3326ace6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/destdir +++ /dev/null @@ -1,6 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. - -cinit-conf uses this file for installing the configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/gettydir b/software/cinit/browse_source/cinit-0.3pre16/conf/gettydir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/gettydir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre16/conf/install_directory deleted file mode 100644 index 80cab694..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to pass to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre16/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre16/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/ld b/software/cinit/browse_source/cinit-0.3pre16/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre16/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre16/conf/max_delay deleted file mode 100644 index 30725bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/max_delay +++ /dev/null @@ -1,4 +0,0 @@ -30 - -Maximum number of seconds to sleep between retrying to start it -(respawn only). diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre16/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre16/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre16/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre16/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/os b/software/cinit/browse_source/cinit-0.3pre16/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre16/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre16/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre16/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/prefix b/software/cinit/browse_source/cinit-0.3pre16/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/profile b/software/cinit/browse_source/cinit-0.3pre16/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre16/conf/service_categories deleted file mode 100644 index 381a3208..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/service_categories +++ /dev/null @@ -1,3 +0,0 @@ -getty local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as 'pseudo-services'. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre16/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/strip b/software/cinit/browse_source/cinit-0.3pre16/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre16/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre16/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre16/conf/version b/software/cinit/browse_source/cinit-0.3pre16/conf/version deleted file mode 100644 index df0a0e38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre16" - -The version of cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/Makefile deleted file mode 100644 index 23cc41f0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o usage.o mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/cconfig.graph.xml.rb deleted file mode 100755 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/cinit-vis.pl deleted file mode 100755 index 4a439fc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/svc/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/cinit.graph.text.c deleted file mode 100644 index 5e5316ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -//#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.graph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.graph.text - textual representatio of the cinit directory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.graph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/cinit.h b/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/cinit.h deleted file mode 100644 index cbde3195..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/cinit.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Dummy header file to intgrate mini_printf and usage - */ - -#ifndef CINIT_DUMMY_HEADER -#define CINIT_DUMMY_HEADER - -void usage(char *banner, char *text); -void mini_printf(char *str,int fd); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100755 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/mini_printf.c deleted file mode 120000 index 3e9a596c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/mini_printf.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/mini_printf.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/usage.c b/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/usage.c deleted file mode 120000 index c26691ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/contrib+tools/usage.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/usage.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre16/doc/.buildwarn deleted file mode 100644 index 41183a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/.buildwarn +++ /dev/null @@ -1,24 +0,0 @@ - -Welcome to the cinit -******************** - -Hints: ------- - - Settings can be found in conf/* (also used for compiling) - - Cinit configuration is normally found in /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text BEFORE installing. - -Building cinit --------------- - - "make all" - to build cinit - "make install" - to install cinit, documentation and core tools - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/COPYING b/software/cinit/browse_source/cinit-0.3pre16/doc/COPYING deleted file mode 100644 index 94a9ed02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/COPYING +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/CREDITS b/software/cinit/browse_source/cinit-0.3pre16/doc/CREDITS deleted file mode 100644 index febdcf4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/CREDITS +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: ls -l) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding -Tonnerre Lombard - * NetBSD support (host + hints) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre16/doc/Makefile deleted file mode 100644 index 0daac842..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -A2X=a2x -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text man/halt.kill.text man/poweroff.kill.text \ - man/reboot.kill.text man/cmd.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DEVELDOCS = devel/codingguideline.text -DOCS = $(MANDOCS) $(USERDOCS) $(DEVELDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -#TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpages" - @echo "pdf: only generate pdfs (requires: fop)" - -install: $(DOC_ALL) - @echo "===> Copy " man/*.[0-9] "to the correct manpaths" - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -#%.man: %.mandocbook -# ${DOCBOOKTOMAN} --to-stdout $< > $@ - -%.man: %.text - ${A2X} -f manpage $< - -%.pdf: %.text - ${A2X} -f pdf $< - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - rm -f man/*.texi man/*.xml man/*.[0-9] - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/README.text b/software/cinit/browse_source/cinit-0.3pre16/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/Changelog b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/TODO.lucky b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/TODO.lucky deleted file mode 100644 index 3ac57ee5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/TODO.lucky +++ /dev/null @@ -1,16 +0,0 @@ -18:18 hey, ich hatte gerade ein wenig lust mich mit cinit zu befassen, hier also mein - kleiner bug-report: in src/include fehlt cinit.h, (alles auf das aktuelle - tarball bezogen), ich hab's aus pre9 genommen, hatte ich noch da, da git nicht - wollte(Cannot get remote repository information.), ausserdem hast du _ statt - - in doc/man/cinit.text verwendet bei der email, das mag docbook nicht, die - beiden zeilen habe ich korrigiert, danch ging schon mal make all und auch make - ins -18:35 und warum installiert er die man pages nicht mit? -07:20 so, kleiner zwischenbericht, das argv problem bei lvm gibt es mit pre10 nicht - mehr, d.h. dass man auch kein shell-skript mehr braucht um lvm/luks-devices zu - mounten :) -07:20 soweit sieht eig. alles gut aus -07:21 wenn das so bleibt, dann werd' ich dauerhaft auf cinit umsteigen :) -07:21 und wenn sich die gelegenheit bietet, dann stell ich cinit auch mal in der - info-ag von unserer schule vor :) - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/root-vm-testing b/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/root-vm-testing deleted file mode 100644 index a8773dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/root-vm-testing +++ /dev/null @@ -1,9 +0,0 @@ -[19:33] denkbrett:root% cat uml-mount.sh -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl - -denkbrett# tar cfj ~nico/projekte/cinit/conf-vm-2007-03-05.tar.bz2 cinit -denkbrett# chown -R nico cinit -denkbrett# chown nico ../sbin - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/shutdown.text deleted file mode 100644 index ac76425d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/shutdown.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} - * no, implemented that directly into cinit! -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process - * create mappers for target OS - - Linux - - {free,net,open}bsd - - others may contribute theirself -- also implement poweroff - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement halt - * kill -USR1 1 - - -The implementation ------------------ -x shutdown is initiated -x disable communication (nobody can influence us anymore) -x install special signal handler? - - no. we do not care about zombies anymore, we are gone soon anyway - - simply reset to the default -- begin to shutdown services - * where to start? - * begin shutdown at the end of the tree, viewing/sorting it by the 'needed_by' - -> where to begin sort? - -> worst implementation: scan all services (easy for now) - -> result: list of services, that noone needs :-) - * stop those services and step above - - stop a service, as soon as noone needs it anymore - * check all needed_by links - * more or less the inverted gen_svc_tree -- how to shutdown a service - * if existing, call off - - if off does not exist: - * if respawn: send sigterm to the process - * also implement sigkill at this stage? - - think we can delay it to the end - - otherwise users can use off! - - implement environment for off ($cinit_respawn_pid, $cinit_service_name) - - do *NOT* care about the return value, we can't do anything for it - anymore anyway -- after all services are shutdown, kill all remaining services - * SIGTERM - * wait(defined_time_in_seconds) - * SIGKILL -- call the last command - * to cleanup the system - - umount -a (if needed) - - swapoff (if needed) - - sync (if needed) -- switch off diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/sizes b/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/sizes deleted file mode 100644 index ddd30f75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/braindumps/sizes +++ /dev/null @@ -1,6 +0,0 @@ -sysvinit: -root 1 0.0 0.0 1944 648 ? Ss 02:12 0:00 init [2] - -cinit-0.3pre8-glibc-linux: -compiler 25323 0.0 0.0 1564 392 pts/2 S+ 20:22 0:00 ./cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/changes/0.1 b/software/cinit/browse_source/cinit-0.3pre16/doc/changes/0.1 deleted file mode 100644 index a0db62e6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/changes/0.1 +++ /dev/null @@ -1,2 +0,0 @@ -* Initial release -* Support for adding getties diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/changes/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre16/doc/changes/0.3pre15 deleted file mode 100644 index bd197d02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/changes/0.3pre15 +++ /dev/null @@ -1,3 +0,0 @@ -Released: 2009-09-23 -Changes: - * Changed child handling (no function calls in sig_child handler anymore) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/changes/0.3pre16 b/software/cinit/browse_source/cinit-0.3pre16/doc/changes/0.3pre16 deleted file mode 100644 index 6749eede..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/changes/0.3pre16 +++ /dev/null @@ -1,6 +0,0 @@ -Released: 2009-09-29 -Changes: - * Re-integrated cinit-conf - * Merged READE and cinit website - * Cleaned up bin/: Executables can now be installed - * Cleaned up top level directory diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/changes/00-before-0.3pre15 b/software/cinit/browse_source/cinit-0.3pre16/doc/changes/00-before-0.3pre15 deleted file mode 100644 index ce8f4b43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/changes/00-before-0.3pre15 +++ /dev/null @@ -1,108 +0,0 @@ -cinit-0.3pre14: 2008-03-17 - - Added test-suite for cmd - - Added support to shutdown services in cinit and cmd - (without needs and wants) - - Added linux-sysvinit wrapper for shutdown (See - scripts/wrapper/linux-sysvinit/shutdown) - - Rewrote most parts of cmd (to make it more beautiful) - - Changed license to GPL 3.0 - -cinit-0.3pre13: 2007-09-26 - - Added -V (get cmd version), -h (help), -p (get pid) to cmd - - Cleaned up namemsage in msgq.h - - Added global service lock - - Splitted of svc.h to svc.h, svc-intern.h and svc-messages.h - - Prepared logic splitoff from cinit_ipc_listen() - - Fixed bug: fork() has a general race condition - (see src/test/fork-latency.c) through use of global lock - -cinit-0.3pre12: 2007-09-06 - - Added DESTDIR support - - Added support to get service status via cmd: cmd -s - * also supports relative paths to CINIT_DIR ("/etc/cinit") - - Fixed git clone problem: hooks are needed for dumb git - - Fixed bug: We did not wait for services to finsh, which we depend on being - ran once. - -cinit-0.3pre11: 2007-09-01 - - Added basic communication: - * client binary "cmd" with argument -v returns cinit-version - - Updated {halt,reboot,poweroff}.kill - -cinit-0.3pre10: - - Fixed make install target - - Added halt.kill, poweroff.kill and reboot.kill (including manpages!) - - Fixed invalid comparision in core/cinit.c - - Be verbose: Print what we execute - - Updated documentation - -cinit-0.3pre9: 2007-05-15 - - Implemented sleeping before respawn (static delay) - - Report broken links on execution, but ignore empty services - - Cleaned up message queue error reporting - -cinit-0.3pre8: 2007-04-06 - - Updated and merged documentation: Codingstyle and Codingguide - - Cleaned sigaction-code (fixes segfault on glibc) - - Cleaned object listings - - Added notifications at shutdown - - Fixed status check - -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/Doxyfile b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/Doxyfile deleted file mode 100644 index d7de54af..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/Doxyfile +++ /dev/null @@ -1,305 +0,0 @@ -# Doxyfile 1.5.6 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = cinit -PROJECT_NUMBER = 0.3pre15 -OUTPUT_DIRECTORY = /home/user/nico/oeffentlich/computer/projekte/cinit/doxygen -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = YES -STRIP_FROM_PATH = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = NO -QT_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = NO -INHERIT_DOCS = YES -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 3 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO -OPTIMIZE_FOR_FORTRAN = NO -OPTIMIZE_OUTPUT_VHDL = NO -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -SIP_SUPPORT = NO -IDL_PROPERTY_SUPPORT = YES -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -TYPEDEF_HIDES_STRUCT = NO -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = YES -EXTRACT_PRIVATE = YES -EXTRACT_STATIC = YES -EXTRACT_LOCAL_CLASSES = YES -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = YES -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = YES -SORT_BRIEF_DOCS = NO -SORT_GROUP_NAMES = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = YES -SHOW_DIRECTORIES = NO -SHOW_FILES = YES -SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.f90 \ - *.f \ - *.vhd \ - *.vhdl \ - *.C \ - *.CC \ - *.C++ \ - *.II \ - *.I++ \ - *.H \ - *.HH \ - *.H++ \ - *.CS \ - *.PHP \ - *.PHP3 \ - *.M \ - *.MM \ - *.PY \ - *.F90 \ - *.F \ - *.VHD \ - *.VHDL -RECURSIVE = YES -EXCLUDE = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src/ancient/ \ - /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src/test/ -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = YES -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = YES -REFERENCES_RELATION = YES -REFERENCES_LINK_SOURCE = YES -USE_HTAGS = NO -VERBATIM_HEADERS = YES -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = YES -GENERATE_HTMLHELP = NO -GENERATE_DOCSET = NO -DOCSET_FEEDNAME = "Doxygen generated docs" -DOCSET_BUNDLE_ID = org.doxygen.Project -HTML_DYNAMIC_SECTIONS = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -CHM_INDEX_ENCODING = -BINARY_TOC = NO -TOC_EXPAND = NO -DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = NONE -TREEVIEW_WIDTH = 250 -FORMULA_FONTSIZE = 10 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = YES -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = YES -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = NO -MSCGEN_PATH = -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = YES -DOT_FONTNAME = FreeSans -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 1000 -DOT_TRANSPARENT = YES -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = NO diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/cinit-status-translation.dia b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/cinit-status-translation.dia deleted file mode 100644 index 55935dd0..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/cinit-status-translation.dia and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/cinit-status-translation.png b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/cinit-status-translation.png deleted file mode 100644 index 6bafa119..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/cinit-status-translation.png and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/codingguideline.text b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/codingguideline.text deleted file mode 100644 index d4686d8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/codingguideline.text +++ /dev/null @@ -1,149 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. -Indent variable names, so the names begin all at the same position. -Use three spaces to place them. - - -Whitespaces ------------ -Where to put or avoid whitespaces (space or linefeed (lf)). - - -Spaces -~~~~~~ -- After closing brace "if(test) return 0;" -- Spaces before and after '=', '>', '<', '==', '!='', '>=', '<=', '>>', '<<', '&', '&&', '|', '||' -- After start of comment and before end of comment: '/* text */' - - - After ')', ',' - -No spaces -~~~~~~~~~ -- Within braces and code "(!test)", -- Before braces "if(code)" -- No space before ), so if '))', do not put a space after the first ')' - - -Linebreaks -~~~~~~~~~~ -This somehow includes the setting of braces (indirectly through (not) setting -spaces. - -If -^^ - -Put the if, the braces and the opening curly brace on one line, -put the closing one together with `else` and the new opening -curly brace on one line: - ------------------------------------------------------------------------------- -if(...) { - /* code */ -} else { - /* else: code */ -} ------------------------------------------------------------------------------- - -While -^^^^^ ------------------------------------------------------------------------------- -while(condition) { - /* repeat */ -} ------------------------------------------------------------------------------- - -Do-While -^^^^^^^^ ------------------------------------------------------------------------------- -do { - /* something */ -} while(running); ------------------------------------------------------------------------------- - -Switch -^^^^^^ - ------------------------------------------------------------------------------- -switch(value) { - case DO_SOMETHING: - /* code */ - break; - default: - break; -} ------------------------------------------------------------------------------- - - - -Where to put curly braces -------------------------- - -Functions -~~~~~~~~~ -Opening and closing curly braces are placed on a seperate row: - ------------------------------------------------------------------------------- -int func(int params) -{ - body -} ------------------------------------------------------------------------------- - - -If, else, while, do-while -~~~~~~~~~~~~~~~~~~~~~~~~~ -See above. - - -Comments ---------- -where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - -If there is more than one line containing a comment, try to adjust them -so they look the same in width and position: - ------------------------------------------------------------------------------- - int illuminati = 23; /* do not want to comment that */ - int the_answer_to_everything = 42; /* 42. */ - - [...] - - while(illuminati < the_answer_to_everything) { /* only try before them */ - overtake_world(&self); /* overtake is complex */ - } ------------------------------------------------------------------------------- - - -Header -------- -Put a header into each file, containing: - - - Date of file being put into existence (year is enough) - - Name and e-mail (obfuscated if you want) of the author(s) - - Description of the function - - Copyright statement (if not included GPLv2 or later is assumed) - - -Includes -~~~~~~~~ -Include system headers first, then place own headers. Comment the includes, -wherefore you added them. Example: - ------------------------------------------------------------------------------- -#include /* write */ -#include "cinit.h> /* cinit_ipc_* */ ------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/communication.text deleted file mode 100644 index 64ea30cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/communication.text +++ /dev/null @@ -1,248 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - - -Numbers -~~~~~~~ -Can be found in include/cinit.h. - - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -Can't use a structure, were missing the point that we cannot transfer dynamic -length strings. Thus the protocol consists of: - - client(int) => cinit - cinit(ini) => client - => after that follows command specific data - -The byte order is host specific (may be little or big endian). - -STRUCTURE WITH STATIC SIZE. MSGRCV! -IPC LAYER CREATES TRANSPORT! - -Type -~~~~ -Messages are binary data. - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: What's the status of service XYZ? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Code, length of service name, the service name (without \0). -int, int, char[]; - - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/ipc.text deleted file mode 100644 index e57ac039..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/ipc.text +++ /dev/null @@ -1,169 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - -Abstraction layer: cinit_ipc_* ------------------------------- -You can choose or even reimplement ipc code for cinit. You only have to create -a directory below src/ipc/ and create the following necessary functions: - -int cinit_ipc_init(void); -~~~~~~~~~~~~~~~~~~~~~~~~~ -Initialise the IPC functions in cinit. - - -int cinit_ipc_listen(void); -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Never ending looping function that listens for commands and passes the -retrieved command to read_command(). - -other -~~~~~~ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - - -cinit_get_data(int ident, int size, void *data) => read size bytes from client -with ident - -/***************************************************************************** - * Functions: in clients - */ - int cinit_ipc_logon(void); /* logon to init (client init) */ - int cinit_ipc_connect(void); /* connect to init */ - int cinit_ipc_csend(struct cinit_message *data); /* send to the server from a client */ - - --------------------------------------------------------------------------------- -Messages: - - struct cinit_question qsn; - struct cinit_answer asr; - -question: - -answer: - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) - -> return 0 on ipc errors - --------------------------------------------------------------------------------- -enable / disable services: - - - send svc - - send flags - - - recv return: - CINIT_ASW_SVC_STOPPED: successfully stopped the service - - CINIT_ASW_SVC_ERR: failed to stop the service - CINIT_ASW_SVC_WANTS: wants failed - CINIT_ASW_SVC_NEEDS: needs failed - opt contains number of failed services - retriev them from cinit after that - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/testing-cinit-in-vm.text b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/testing-cinit-in-vm.text deleted file mode 100644 index 824b94c9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/testing-cinit-in-vm.text +++ /dev/null @@ -1,11 +0,0 @@ - -m = manually -a = automated - -m Install OS of your choice into KVM, including make, gcc, ssh and rsync -m Startup VM -a Transfer data to VM -a Compile cinit on VM -a Install cinit and configuration on VM -m Configure bootloader to add cinit as alternative choice -m Reboot and start cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre16/doc/devel/testing.text deleted file mode 100644 index 6ac0b6da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/devel/testing.text +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. - - - --------------------------------------------------------------------------------- -Using a raw (x86) hd image: -Access partition 1 via losetup: - -sudo losetup -o 32256 /dev/loop0 "$hierabs/debian-hd.img" -linux ubd0=/dev/loop0 init=/sbin/cinit "$@" - -Offset was taken from fdisk: - -[19:22] denkbrett:emu# fdisk -l -u /dev/sda - -Disk /dev/sda: 80.0 GB, 80026361856 bytes -255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors -Units = sectors of 1 * 512 = 512 bytes -Disk identifier: 0x1669c708 - - Device Boot Start End Blocks Id System -/dev/sda1 63 19535039 9767488+ 83 Linux -/dev/sda2 19535040 23438834 1951897+ 82 Linux swap / Solaris -/dev/sda3 23438835 156296384 66428775 83 Linux - -===> 63*512bytes spaeter beginnt sda1 - -[19:23] denkbrett:~% echo 512\*63 |bc -l -32256 - -Results in losetup -o 32256 /dev/loop0 ./debian-hd.img - -Scripts from the nsbin project (lo-*) can be used. -It can be found at http://unix.schottelius.org/cgi-bin/gitweb.cgi. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/README deleted file mode 100644 index f803f9b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains example configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/README deleted file mode 100644 index a862330c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/README +++ /dev/null @@ -1 +0,0 @@ -Example configurations for cinit-0.3. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/README deleted file mode 100644 index 0b059353..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/README +++ /dev/null @@ -1,5 +0,0 @@ -This directory contains configuration examples from -'denkbrett' which is Nico Schottelius' main notebook. - -It's a x86 Linux notebook, so x86 and Linux specific -services will be loaded (like acpid, udev). diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 deleted file mode 100644 index 22889cc0..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README deleted file mode 100644 index e0582b25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -shell running, getty missing diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 deleted file mode 100644 index bc129f72..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README deleted file mode 100644 index b5a39918..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -getty on tty2 running, but displays -"Unable to determine your tty name". -Possibly problem with empty /dev. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 deleted file mode 100644 index 2b1bc744..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README deleted file mode 100644 index 9f87a662..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added fsck for root filesystem -and added (currently) unneeded /proc service. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 deleted file mode 100644 index 31a73e9a..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README deleted file mode 100644 index 3f43b0d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added needs /proc to getty/1 and 2. -Now we can login through getty! diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 deleted file mode 100644 index 9a490a32..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README deleted file mode 100644 index cb778400..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added service "network/hostname" and added it as wants to -the gettys. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 deleted file mode 100644 index 42d30cdc..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README deleted file mode 100644 index b1aac768..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added respawn to the rescue-shell and the gettys. -Also added TERM=linux so agetty can pass that to -the shell. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 deleted file mode 100644 index 9b75a07b..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README deleted file mode 100644 index cdedced3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added eth0 and a driver loader as well as added it -to the init list. If everything goes well, I'll have -dynamic network running after reboot :-) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 deleted file mode 100644 index 2a50bf51..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README deleted file mode 100644 index d54c9da3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added luksopen and dm_crypt support. UNTESTED. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 deleted file mode 100644 index 4d53ad3c..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README deleted file mode 100644 index 6e166f28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added acpid, removed luksopen currently from the dependency -list. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 deleted file mode 100644 index 7af7167f..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README deleted file mode 100644 index b45f2595..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added support for the loopback device (network/loopback). diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 deleted file mode 100644 index 907f4bf1..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README deleted file mode 100644 index 0fa9cf4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added two more getties: getty/3 and getty/4 and added -them to init/needs. And yes, this configuration is in -use on my production system :-) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 deleted file mode 100644 index f91c0c58..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README deleted file mode 100644 index 80b538b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added unicode_start/stop and made it wants for gettys. -Added the sys-v-init-udev-script to init/wants, I am currently -to lazy to reimplement the whole udev bunch. Anyone else? ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 deleted file mode 100644 index 98454c86..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README deleted file mode 100644 index 78e81d56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Sleep before kill decreased to 2. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 deleted file mode 100644 index 1880c52d..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README deleted file mode 100644 index 740026e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added support for cpufreq (ondemand) on IBM T60. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 deleted file mode 100644 index f79a8ee6..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README deleted file mode 100644 index bfc5c0ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added mount /proc as requirement for acpid! diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 deleted file mode 100644 index a2b8fdea..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README deleted file mode 100644 index 3493ca3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added dmesg -n1 so there's less noise on startup. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 deleted file mode 100644 index 8df7a9c9..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README deleted file mode 100644 index cb6f8d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README +++ /dev/null @@ -1,7 +0,0 @@ -- Added needs: - unicode / console: /proc - udev: /proc - syslog-ng: mount/root - -- fixed mount/root/fsck: missed "then" - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 deleted file mode 100644 index 33f75a62..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README deleted file mode 100644 index 07e6f29e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added respawn for syslog-ng diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 deleted file mode 100644 index e3b7df82..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README deleted file mode 100644 index 650274b7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Add TERM=linux to console-unicode and also depend it on udev so -devices are existing. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 deleted file mode 100644 index d8c7dd55..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README deleted file mode 100644 index f6d5eb89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -acpid needs to write to /var/run! diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last deleted file mode 100755 index f722a251..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -umount -a -sync -# report, there should be nothing left -ps axuwww -umount -a diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last.params deleted file mode 100755 index ec169e3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last.params +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -echo "This is the last command executed" -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill deleted file mode 100644 index 7ed6ff82..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill.README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill.README deleted file mode 100644 index e9d11095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill.README +++ /dev/null @@ -1,2 +0,0 @@ -Test with 30 seconds sleep, that is really enough to see if it differs from -builtin 2 seconds. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/proc b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.env b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.params deleted file mode 100644 index db1290b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty1 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/respawn b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/hostname b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/proc b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.env b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.params deleted file mode 100644 index bc8c9b28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty2 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/respawn b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/hostname b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/proc b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.env b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.params deleted file mode 100644 index 7efd5e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty3 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/respawn b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/hostname b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/proc b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.env b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.params deleted file mode 100644 index 47e2d7a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty4 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/respawn b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/hostname b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/acpid b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/acpid deleted file mode 120000 index 88098497..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/acpid +++ /dev/null @@ -1 +0,0 @@ -../../local-services/acpid \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/eth0.dhcp b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/eth0.dhcp deleted file mode 120000 index 8d2c9b8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/eth0.dhcp +++ /dev/null @@ -1 +0,0 @@ -../../network/eth0.dhcp \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-2 deleted file mode 120000 index 92f3bf2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-2 +++ /dev/null @@ -1 +0,0 @@ -../../getty/2 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-3 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-3 deleted file mode 120000 index 9c0aeaed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-3 +++ /dev/null @@ -1 +0,0 @@ -../../getty/3 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-4 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-4 deleted file mode 120000 index 7b967eed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-4 +++ /dev/null @@ -1 +0,0 @@ -../../getty/4 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/keyboard deleted file mode 120000 index c4488690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/loopback b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/loopback deleted file mode 120000 index 69fe6f89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/loopback +++ /dev/null @@ -1 +0,0 @@ -../../network/loopback \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/rescue-shell b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/rescue-shell deleted file mode 120000 index be06dd0a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/rescue-shell +++ /dev/null @@ -1 +0,0 @@ -../../rescue-shell \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/sysfs b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/sysfs deleted file mode 120000 index 67c524a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/sysfs +++ /dev/null @@ -1 +0,0 @@ -../../mount/sysfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on deleted file mode 120000 index 7bbf7ccd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on +++ /dev/null @@ -1 +0,0 @@ -/bin/echo \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on.params deleted file mode 100644 index 6e271318..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on.params +++ /dev/null @@ -1 +0,0 @@ -*** cinit successfully started *** diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/quiet-kernel b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/quiet-kernel deleted file mode 120000 index 8da32e9b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/quiet-kernel +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/quiet-kernel \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/udev b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/udev deleted file mode 120000 index 9dfe9879..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/udev +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/udev \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/README deleted file mode 100644 index d5190e7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/README +++ /dev/null @@ -1 +0,0 @@ -Load acpi drivers before we are started. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/acpi b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/acpi deleted file mode 120000 index 888ba93b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/acpi +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/drivers/acpi \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/proc b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/root b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on deleted file mode 120000 index 43369f77..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/acpid \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on.params deleted file mode 100644 index 105c5f3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on.params +++ /dev/null @@ -1 +0,0 @@ --f diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/respawn b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/README deleted file mode 100644 index 628fab6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/README +++ /dev/null @@ -1,2 +0,0 @@ -Metalog is a smart syslogd replacement and it does not fork -normally. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/needs/root b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/on deleted file mode 120000 index 54fdda86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/metalog \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log deleted file mode 120000 index 515549d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-dev-log \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/root b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on deleted file mode 120000 index 099ec19b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/syslog-ng \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on.params deleted file mode 100644 index ee1f6c5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on.params +++ /dev/null @@ -1 +0,0 @@ --F diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/respawn b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/README deleted file mode 100644 index dd8ef91c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/README +++ /dev/null @@ -1,5 +0,0 @@ -Remove /dev/log from previous run, so syslog* (syslog-ng,metalog,syslogd) -can start. - -We're directly needed by the syslog variants, so if they are -not started, we are not started. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/needs/root b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on deleted file mode 120000 index 3530dc46..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on +++ /dev/null @@ -1 +0,0 @@ -/bin/rm \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on.params deleted file mode 100644 index 6d8ffbb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on.params +++ /dev/null @@ -1,2 +0,0 @@ --f -/dev/log diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/README deleted file mode 100644 index 20ff9536..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/README +++ /dev/null @@ -1 +0,0 @@ -Remove the /etc/mtab, so it's in a clean state. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on deleted file mode 120000 index 3530dc46..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on +++ /dev/null @@ -1 +0,0 @@ -/bin/rm \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on.params deleted file mode 100644 index fceff107..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on.params +++ /dev/null @@ -1,2 +0,0 @@ --f -/etc/mtab diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/README deleted file mode 100644 index fa12de87..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/README +++ /dev/null @@ -1 +0,0 @@ -Enable unicode on the Linux console. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/proc b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/udev b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/udev deleted file mode 120000 index 45ebbd7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/udev +++ /dev/null @@ -1 +0,0 @@ -../../udev/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/off b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/off deleted file mode 120000 index d1b3dabc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/off +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/unicode_stop \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on deleted file mode 120000 index 1a8ea15c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/unicode_start \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on.env b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params deleted file mode 100644 index 6999c48d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params +++ /dev/null @@ -1 +0,0 @@ -cpufreq_ondemand diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand deleted file mode 120000 index 8d465d25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand +++ /dev/null @@ -1 +0,0 @@ -../cpufreq_ondemand \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino deleted file mode 120000 index 7a81f768..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino +++ /dev/null @@ -1 +0,0 @@ -../speedstep-centrino \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs deleted file mode 120000 index abdd5e9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs +++ /dev/null @@ -1 +0,0 @@ -../../../mount/sysfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/on deleted file mode 100755 index 9ded0cc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/on +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params deleted file mode 100644 index b0daf284..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params +++ /dev/null @@ -1 +0,0 @@ -speedstep-centrino diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on.params deleted file mode 100644 index 9ccaeece..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on.params +++ /dev/null @@ -1 +0,0 @@ -aes diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params deleted file mode 100644 index d2a85215..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params +++ /dev/null @@ -1 +0,0 @@ -dm_crypt diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/README deleted file mode 100644 index a8b1c282..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi ac information. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params deleted file mode 100644 index a9eb3bbf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params +++ /dev/null @@ -1 +0,0 @@ -ac diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/README deleted file mode 100644 index 448a4a0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi battery information. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params deleted file mode 100644 index 37ac71bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params +++ /dev/null @@ -1 +0,0 @@ -battery diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/README deleted file mode 100644 index bda85f4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi buttons. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params deleted file mode 100644 index ef3f216a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params +++ /dev/null @@ -1 +0,0 @@ -button diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/README deleted file mode 100644 index d9ad05c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi fans. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params deleted file mode 100644 index 6de1f525..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params +++ /dev/null @@ -1 +0,0 @@ -fan diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README deleted file mode 100644 index ff0f6f4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README +++ /dev/null @@ -1 +0,0 @@ -Extra functionality for my ibm t60. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params deleted file mode 100644 index 80916c68..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params +++ /dev/null @@ -1 +0,0 @@ -ibm_acpi diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac deleted file mode 120000 index 4d2aefc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac +++ /dev/null @@ -1 +0,0 @@ -../ac \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery deleted file mode 120000 index 990e6bcd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery +++ /dev/null @@ -1 +0,0 @@ -../battery \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/button b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/button deleted file mode 120000 index b99dcf7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/button +++ /dev/null @@ -1 +0,0 @@ -../button \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan deleted file mode 120000 index 7923f9b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan +++ /dev/null @@ -1 +0,0 @@ -../fan \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi deleted file mode 120000 index d32add47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi +++ /dev/null @@ -1 +0,0 @@ -../ibm_acpi \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal deleted file mode 120000 index f2d6718c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal +++ /dev/null @@ -1 +0,0 @@ -../thermal \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README deleted file mode 100644 index da0b9c13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi thermal information: temperature and fans. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params deleted file mode 100644 index a175d50f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params +++ /dev/null @@ -1 +0,0 @@ -thermal diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on.params deleted file mode 100644 index 9f318065..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on.params +++ /dev/null @@ -1 +0,0 @@ -e1000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on deleted file mode 120000 index a5ce029b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on +++ /dev/null @@ -1 +0,0 @@ -/bin/loadkeys \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on.params deleted file mode 100644 index 1c96d177..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on.params +++ /dev/null @@ -1 +0,0 @@ -us diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on deleted file mode 120000 index 09bd56b7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on +++ /dev/null @@ -1 +0,0 @@ -/bin/dmesg \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on.params deleted file mode 100644 index d22a4869..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on.params +++ /dev/null @@ -1 +0,0 @@ --n1 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/needs/proc b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on deleted file mode 120000 index 1ecced27..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on +++ /dev/null @@ -1 +0,0 @@ -/etc/init.d/udev \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on.params deleted file mode 100644 index d44e18fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on.params +++ /dev/null @@ -1 +0,0 @@ -start diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/README deleted file mode 100644 index 7d699823..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/README +++ /dev/null @@ -1,3 +0,0 @@ -Need to load keyboard layout before trying to decrypt. -I also need dm_crypt and the aes module, as both are not -compiled into my kernel. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes deleted file mode 120000 index 15b8e7d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/crypto/aes \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt deleted file mode 120000 index 9066e234..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/crypto/dm_crypt \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard deleted file mode 120000 index 34376346..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/on deleted file mode 100755 index a40f7a4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/on +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -# read key until success -while true; do - cryptsetup luksOpen /dev/sda3 home && break -done diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen deleted file mode 120000 index f0585cf1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen +++ /dev/null @@ -1 +0,0 @@ -../luksopen/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on.params deleted file mode 100644 index 05280cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on.params +++ /dev/null @@ -1 +0,0 @@ -/home diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/needs/clean-mtab b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/needs/clean-mtab deleted file mode 120000 index 0bea57c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/needs/clean-mtab +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-mtab \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on.params deleted file mode 100644 index 4c3fcfb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on.params +++ /dev/null @@ -1 +0,0 @@ -/proc diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/needs/udev b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/needs/udev deleted file mode 120000 index 3d36cb50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/needs/udev +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/udev/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on deleted file mode 100755 index ea236360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Wrapper for fsck that returns 1 on success... -# Nico Schottelius -# 2007-05-25 -# for cLinux/cinit - -fsck=/sbin/fsck -dev="$1" - -"$fsck" "$dev" - -# return of 1 == repaired successful -if [ $? -gt 1 ]; then - exit 1 -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.old b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.old deleted file mode 120000 index 2a85786a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.old +++ /dev/null @@ -1 +0,0 @@ -/sbin/fsck.jfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.params deleted file mode 100644 index 90020847..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.params +++ /dev/null @@ -1 +0,0 @@ -/dev/hda1 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/needs/fsck b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/needs/fsck deleted file mode 120000 index c2e5e63f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/needs/fsck +++ /dev/null @@ -1 +0,0 @@ -../fsck \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on.params deleted file mode 100644 index 6a052263..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on.params +++ /dev/null @@ -1,4 +0,0 @@ --n --o -remount,rw -/ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/README b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/README deleted file mode 100644 index e01cb66a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/README +++ /dev/null @@ -1 +0,0 @@ -Udev needs us. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/needs/clean-mtab b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/needs/clean-mtab deleted file mode 120000 index 0bea57c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/needs/clean-mtab +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-mtab \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on.params deleted file mode 100644 index a6b724ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on.params +++ /dev/null @@ -1,4 +0,0 @@ -sysfs --t -sysfs -/sys diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/load-driver b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/load-driver deleted file mode 120000 index 2c9afe03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/load-driver +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/drivers/eth0 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/root b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/root deleted file mode 120000 index 68ea58e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on deleted file mode 120000 index 639430c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/udhcpc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on.params deleted file mode 100644 index 5f192cbc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on.params +++ /dev/null @@ -1,4 +0,0 @@ --f --n --i -eth0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/respawn b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on deleted file mode 120000 index 5779a119..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on +++ /dev/null @@ -1 +0,0 @@ -/bin/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on.params deleted file mode 100644 index 3614fe72..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on.params +++ /dev/null @@ -1 +0,0 @@ -cinit-host diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on deleted file mode 120000 index e27843a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/ifconfig \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on.params deleted file mode 100644 index e58476c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on.params +++ /dev/null @@ -1,3 +0,0 @@ -lo -127.0.0.1 -up diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on deleted file mode 120000 index cf9865a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/sshd \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on.params b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on.params deleted file mode 100644 index eb11be00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on.params +++ /dev/null @@ -1 +0,0 @@ --D diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on deleted file mode 120000 index db1611f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on +++ /dev/null @@ -1 +0,0 @@ -/bin/sh \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on.env b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on.env deleted file mode 100644 index 54ba45f1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on.env +++ /dev/null @@ -1,2 +0,0 @@ -TERM=linux -PATH=/sbin:/bin:/usr/sbin:/usr/bin diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/respawn b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/rsync b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/rsync deleted file mode 100755 index f9649179..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/rsync +++ /dev/null @@ -1,2 +0,0 @@ -chmod a+r * -rsync -av ./ nico@home.schottelius.org:unix/cinit/samples/cinit-0.3/denkbrett/ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/rsync.local b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/rsync.local deleted file mode 100755 index d7ee374b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/rsync.local +++ /dev/null @@ -1,3 +0,0 @@ -DIR=~nico/projekte/cinit/configs/denkbrett/ -rsync -av ./ "$DIR" -chown nico "$DIR"/* diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 deleted file mode 100644 index 1b760767..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 deleted file mode 100644 index 61cf45c1..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre16/doc/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/gpl3-header.c b/software/cinit/browse_source/cinit-0.3pre16/doc/gpl3-header.c deleted file mode 100644 index 29008be6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/gpl3-header.c +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * purpose_of_this_file_is_also_there_behind_the_big_header - * - */ - - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/gpl3-header.sh b/software/cinit/browse_source/cinit-0.3pre16/doc/gpl3-header.sh deleted file mode 100644 index f0aa9165..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/gpl3-header.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Description here -# - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre16/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre16/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre16/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/man/cinit-conf.text b/software/cinit/browse_source/cinit-0.3pre16/doc/man/cinit-conf.text deleted file mode 100644 index 0e86ec25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/man/cinit-conf.text +++ /dev/null @@ -1,47 +0,0 @@ -cinit-conf - helps to configure cinit -===================================== -Nico Schottelius -0.0.1, Initial version written on 20080418 in the Bus to Gossau - -cinit-conf aims to be a suite to help to configure cinit and -migrate systems to cinit. - -Introduction ------------- -`cinit` is a fast init system with dependency features and -profile support. As `cinit` is not widely known and it is quite -different in its approach compared to traditional init systems, -the configuration is also quite different. - -To make life easier for people to migrate to and manage `cinit`, -this project was started. - -If you use `cinit-conf`, please send feedback to me using `report_success.sh`. - - -What can it do? -~~~~~~~~~~~~~~~ -.In its current state, `cinit-conf` can -- add getties on Linux (bin/cinit-conf.getty.add) -- find its configuration directory (bin/cinit-conf.get-confdir) - - -What should it can do? -~~~~~~~~~~~~~~~~~~~~~~ -Much more ;-) - -.Also known as features planned, but not implemented. -- Migrate complete installations -- Provide a big toolset to be used by humans and in scripts -- Make your life easier, because you are able to use `cinit` - - -Wherefore can I use it? -~~~~~~~~~~~~~~~~~~~~~~~ -Currenty only to add a getty, but more features will follow soon. - - -How to use ----------- -Execute ./bin/cinit-conf.getty.add. - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre16/doc/man/cinit.text deleted file mode 100644 index 19d0015a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/man/cmd.text b/software/cinit/browse_source/cinit-0.3pre16/doc/man/cmd.text deleted file mode 100644 index b834fabf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/man/cmd.text +++ /dev/null @@ -1,89 +0,0 @@ -cmd(8) -====== -Nico Schottelius - - -NAME ----- -cmd - cinit management and information tool - - -SYNOPSIS --------- -'cmd' [-ed (i|w|n)] [-(p|s) ] [-v] - - -DESCRIPTION ------------ -cmd adds the management possibility to cinit(8). You can retrieve -several information from cinit and change services. - -OPTIONS -------- --d:: - Disable service (see below for required parameters) - (NOT YET IMPLEMENTED) - --e:: - Enable service - - i: Included all needs and wants - - n: Exclude needs - - w: Exclude wants - (NOT YET IMPLEMENTED) - --p:: - Retrieve last process id (pid) for the specific service. For respawn - services this is the pid of the running service. For services that are - started only once it is the pid it had when running. - (NOT YET IMPLEMENTED) - --s:: - Retrieve status of a service. Warning: Do not add trailing slash. - Path can be specified absolute (/etc/cinit/svc/mount/root) or - relative (mount/root). - --v:: - Get version of cinit. - --V:: - Get version of cmd. - - - -EXAMPLES --------- -Get version:: - [8:44] denkbrett:src# cmd -v - - Version of cinit: 0.3pre12 - -Get status:: - [8:37] denkbrett:src# ./cmd -s mount/root - - Status of /etc/cinit/svc/mount/root is: 2001 - - -EXIT STATUS ------------ -Cmd returns 0 on success, 1 on user errors, 2 on communication errors and -3 on unknown reason errors. - -BUGS ----- -Not everything is implemented. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License Version 3 (GPLv3). diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre16/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/man/halt.kill.text b/software/cinit/browse_source/cinit-0.3pre16/doc/man/halt.kill.text deleted file mode 100644 index 4a31e257..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/man/halt.kill.text +++ /dev/null @@ -1,46 +0,0 @@ -halt.kill(8) -============ -Nico Schottelius - - -NAME ----- -halt.kill - Halts systems running cinit through a kill call - -SYNOPSIS --------- -'halt.kill' - - -DESCRIPTION ------------ -You normally halt your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to halt -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute halt.kill, your system will be halted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/man/poweroff.kill.text b/software/cinit/browse_source/cinit-0.3pre16/doc/man/poweroff.kill.text deleted file mode 100644 index 62807ba1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/man/poweroff.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -poweroff.kill(8) -================ -Nico Schottelius - - -NAME ----- -poweroff.kill - Halts and powers off systems running cinit through a kill call - -SYNOPSIS --------- -'poweroff.kill' - - -DESCRIPTION ------------ -You normally poweroff your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to poweroff -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute poweroff.kill, your system will be - powered off. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), reboot.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/man/reboot.kill.text b/software/cinit/browse_source/cinit-0.3pre16/doc/man/reboot.kill.text deleted file mode 100644 index a748553e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/man/reboot.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -reboot.kill(8) -============== -Nico Schottelius - - -NAME ----- -reboot.kill - Reboots systems running cinit through a kill call - -SYNOPSIS --------- -'reboot.kill' - - -DESCRIPTION ------------ -You normally reboot your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to reboot -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute reboot.kill, your system will be - rebooted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), poweroff.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.1 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.1 deleted file mode 100644 index d875ff2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.1 +++ /dev/null @@ -1,4 +0,0 @@ -- initial release: show the project -- add gpl3 header to all scripts in bin/ -- add README -- add some todos diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.1.1 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.1.1 deleted file mode 100644 index 34999cb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.1.1 +++ /dev/null @@ -1,6 +0,0 @@ -- make it possible to migrate a Debian Lenny -- continue rename cinit.* to cinit-conf.* - * migration from cinit-bin -- fixup inclusion -- add more helper scripts -- add report_success.sh diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.2 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.2 deleted file mode 100644 index 9b5c3496..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.2 +++ /dev/null @@ -1 +0,0 @@ -- make it possible to migrate a Debian (Lenny): basic (without everything, make it run) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.2.1 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.2.1 deleted file mode 100644 index 117995bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.2.1 +++ /dev/null @@ -1 +0,0 @@ -- add manpages diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.2.2 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.2.2 deleted file mode 100644 index d359b248..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.2.2 +++ /dev/null @@ -1,3 +0,0 @@ -- remove calls to dirname! - . "$(dirname $0)/cinit-conf.read-conf" - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3 deleted file mode 100644 index 4f27dd34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3 +++ /dev/null @@ -1 +0,0 @@ -- make bla_dir and bladir consistent diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre11 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre11 deleted file mode 100644 index ec532269..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre11 +++ /dev/null @@ -1,10 +0,0 @@ -Done: -- cleanup ipc: - merge cinit_ipc_logon() and cinit_ipc_connect()? - => already done! -- finish cmd in general, perhaps only including one command. -[18:51] denkbrett:src# LANG=C cp cinit /sbin/cinit -cp: cannot create regular file `/sbin/cinit': Text file busy - => mv & cp! - => documentation! - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre12 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre12 deleted file mode 100644 index edbe41d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre12 +++ /dev/null @@ -1,41 +0,0 @@ -Wished release date: 6/7. September - --------------------------------------------------------------------------------- -Done: -- begin to write documentation about client functions - => noone needs that anyway. skip and concentrate on functions now. - -cleanup ipc! - where to call !cinit_ipc_logon and !cinit_ipc_connect? - --------------------------------------------------------------------------------- -Add -Hallo, - -Liebster Nico, wuerdest du die dazu durchringen "make install" und -vllt. sogar "make install-test" in die cinit 0.3er branch aufnehmen? - -vlg Lucky - ==> added make install in previous releases, make test maybe come back - later again. -- cleanup communication: - put parts of comm.h into cinit.h => global exposure - or define new structure in cinit.h? - => removed comm.h -- check svc path in cmd: if it's relative, add /etc/cinit/svc to it - => added. -- add update for git => so cloning does not fail! - => added hook. -Use http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html - => partly implemented - -- remove manual pid support, use the one supplied by msgctl() - => ok. -- there seems to be a race condition in the execution of the - dependency tree: it happens that services that depend on - mounted /proc, have needs on mount/proc are still exited - before /proc is mounted. - problem of cinit or of mount, exiting too early? - guess the first one, so fix it :-) - - => missing check in svc_needs_status.c diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre13 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre13 deleted file mode 100644 index ff8d4296..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre13 +++ /dev/null @@ -1,19 +0,0 @@ -Wished released date: 10./11. September - --------------------------------------------------------------------------------- -Done: -- add get_svc_pid() -- cleanup msgq.h: namespace! -- cleanup cmd: add real usage, add -h for help -- cleanup cinit_ipc_logon()! [already done before] -- cleanup headers: ==> not yet needed. - seems to make more sense, to have more than one exposed header. - cinit.h gets to fast too big. so splitoff to: - /* main */ - /* ... */ -- create libcinit.a/so and link against it => not need right now. -- pre12 seems to have an IPC problem: Fix it. ==> problem with not finishing cinit startup -- global symbol to track the connection to cinit in the client - => cinit_ipc_cinit() - initalise ipc in the client (only once) - => not really our problem, client should be able to remember - whether she called us once or twice. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre13.race-condition b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre13.race-condition deleted file mode 100644 index 19bea29a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre13.race-condition +++ /dev/null @@ -1,12 +0,0 @@ -09:49 < telmich> is it possible, that if I fork() and call _exit(0) in the child, that the - _exit(0) is executed earlier than the fork() call returns in the parent? -09:49 < telmich> I'm having some race condition in cinit, where the pid is not yet updated in - the service structure, and the child exited before and thus cinit does not - update the service -09:49 < telmich> as being run -09:51 < telmich> rexy_: currently I'm thinking about implementing a lock before starting the - fork() -09:51 < telmich> rexy_: thus cinit will react differently, if the starting function is still - running -09:51 < telmich> rexy_: but I'm somehow confused, that fork() allows such race condition - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre14 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre14 deleted file mode 100644 index e002d60c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre14 +++ /dev/null @@ -1,3 +0,0 @@ -Wished release date: 13. September -- add support for shutting down services - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre15 deleted file mode 100644 index 8f81446a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre15 +++ /dev/null @@ -1,62 +0,0 @@ -Wished release date: 20. September -- Add support for starting/stoping services via cmd - - add support for additional information (like which services stopped - when having dependencies) - - if cinit has to stop / start others, how to report? - - add strings to cinit internally to a buffer? - -> or struct cinit_answer + status - -- add support to enable services - -- create some boot profiles -- cinit.install.standard.dirs.argv -- code check: - * check needs: - really started, after started or after finished starting? - * wants: - are they checked? - -- fix devel/codingguideline.text! - -- perhaps merge svc_need_status to svc_status - -cinit-communication: - cinit_get_failed_needs(char *name, int *cnt); -- add support for shutting down services on halt -- cleanup msgq/cinit_ipc_listen.c -- move logic out of the child handler: - => use the new while()-loop in core/cinit.c! - - time() and co. are problematic in a child handler! - - introduce global list of services to execute - => perhaps reuse already existing dependency-list? - - tree_exec(): check whether adding something to the dep list hurts - => don't think so. - expand / change ipc handler: - make it return the message - move while() loop to core/cinit.c - - in the while loop, the global dependency list should - be empty. - - if it is not, we should start something. - - => chance cinit_ipc_listen() to use without while() loop - => export logic to core/cinit.c -- map status numbers to messages -- Cleanup doc/user/NEW_using_cinit_freebsd - => make a real document! -- write / update manpage for cmd! -- add sleep() support after service exited. - --------------------------------------------------------------------------------- -Done: -- add minimal test-suite: - cmd -s /etc/cinit/svc/init - cmd -p /etc/cinit/svc/init - cmd -v - cmd -V -- change to GPLv3? - => ask Markus (cinit), Killerfox (cconfig) and Peter (cconfig) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre16 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre16 deleted file mode 100644 index 16e6efb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre16 +++ /dev/null @@ -1,9 +0,0 @@ -Wished release date: 27. September -- check porting code: - * advise users to set conf/os - * add uname -r | tr ... as make osconfig -- check that all parts of cinit compile at least under: - * linux, linux on 64bit - * FreeBSD - * NetBSD -- cleanup output diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre17 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre17 deleted file mode 100644 index 82976e37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre17 +++ /dev/null @@ -1,11 +0,0 @@ -Wished release date: 3. October - -"Code quality assurance release" - -- Fix bugs all outstanding bugs. -- Give cinit some time, write some documentation and make pre17 the last pre of the 0.3 - serie. -- Give the code out to other developers, request explicit strong critics - => So even - "This could be in theory, if Mars is behind Pluto on Sunday evening" bugs - are out. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre18 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre18 deleted file mode 100644 index d02aac8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre18 +++ /dev/null @@ -1,3 +0,0 @@ -- add support to manually set status of a service: - cmd -s respawn, failed, once, ... -- make get status = -g diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre19 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre19 deleted file mode 100644 index 2e4dfe15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.3pre19 +++ /dev/null @@ -1,4 +0,0 @@ -- enable fast shutdown: - - ignores services and jumps directly to conf/last -- enable ultrafast shutdown - - even skips conf/last diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.4 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.4 deleted file mode 100644 index 3b772d4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.4 +++ /dev/null @@ -1,44 +0,0 @@ --------------------------------------------------------------------------------- -Clean service status messages: - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s --------------------------------------------------------------------------------- -16:13 < KillerFox> telmich: hast du eigentlich schon hooks in cinit? -20:07 < KillerFox> Vapier fĂ¼hrt mal wieder Selbstgespräche. -23:39 < telmich> KillerFox: wozu? -23:42 < KillerFox> telmich: es wäre durchaus interessant, um z.B. sterbende Prozesse wieder zu - starten und so. -23:42 < KillerFox> oder einen Hinweis per Mail zu verschicken. -23:43 < telmich> ahh, du meinst so benachrichtigungen von cinit an $prozess? -23:43 < KillerFox> jein -23:43 < KillerFox> du machst z.B. /etc/cinit/hooks/ -23:43 < KillerFox> darin gibts dann Scripte die bei bestimmten Ereignise aufgerufen werden. -23:43 < KillerFox> z.B. wenn ein Prozess stirbt -23:44 < KillerFox> du kannst dir natĂ¼rlich auch Ă¼berlegen, es auf Prozessebene herunter zu - hacken -23:44 < telmich> ja, eher letzeres -23:44 < KillerFox> so könnte man auch ein paar nette Sachen machen. z.B. Aufräumarbeiten - nachdem ein Prozess beendet wurde oder so -23:45 < KillerFox> telmich: ich finde beides Sinnvoller -23:45 < KillerFox> telmich: globale und lokale Hooks -23:45 < KillerFox> lokale Ă¼berschreiben globale oder so -23:45 < telmich> oder laufen beide -23:45 < KillerFox> oder man kaskadiert sie. -23:45 < KillerFox> genau -23:46 < KillerFox> sinnvolle hooks: pre-start, start, post-start, pre-stop, stop, post-stop, - crash -23:46 < KillerFox> oder sowas -23:47 < KillerFox> vielleicht fallen dir noch mehr ein. -23:48 < KillerFox> die Kommunikation könnte man dann wahlweise Ă¼ber Parameter oder - Umgebungsvariablen lösen -23:48 < KillerFox> um z.B. mitzuteilen welcher Prozess gestoppt wurde -23:49 < KillerFox> z.B. wenn man in pre-stop je nach Bedingung den Stop-Vorgang abbrechen will. -23:49 < telmich> via ${ipc} => kommt darauf an, was implementiert ist; zZ ist es ja msgq -23:50 < telmich> ahh, so -23:50 < telmich> das waere noch recht trivial ueber pipes -23:50 < KillerFox> fifos/sockets, was auch immer. -23:50 < KillerFox> das mĂ¼sste man dann mit einer Bibliothek lösen oder so -23:50 < telmich> ja, die ist auch im aufbau in libcinit/ - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.4.1 b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.4.1 deleted file mode 100644 index b0d7685d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/0.4.1 +++ /dev/null @@ -1,2 +0,0 @@ -- Generate automatic asciidoc from conf/* - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/long_list b/software/cinit/browse_source/cinit-0.3pre16/doc/todo/long_list deleted file mode 100644 index ec11f18d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/todo/long_list +++ /dev/null @@ -1,21 +0,0 @@ -Code ----- - -Performance -~~~~~~~~~~~ - -- Perhaps replace malloc for path with static buffer? - -Compatibility -~~~~~~~~~~~~~ -- create migration scripts - -Usage -~~~~~ -- Aid in debugging cinit-configuration (check without reboot) -- Integrate into OS package system - -Other -~~~~~ -- add log support to shm -- Check and clean doc/: Remove *TODO*+ROADMAP and leave behin doc/TODO (or ditz) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre16/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre16/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/configuring.cinit.text deleted file mode 100644 index c04da745..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/configuring.cinit.text +++ /dev/null @@ -1,327 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - -The cinit configuration consists of -- a special configuration directory -- and the service definitions. - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - -Conf ----- -The special configuration directory is normally called `conf/` -(defined at compile-time in `conf/c_confdir`). - -For all executables into this directory apply the same rules as mentioned -below in "Execution: on and off": Appened .params specifies parameters, -appended .env specifies environment. - - -conf/last -~~~~~~~~~ -This is the last part that will be executed. After it has finished, cinit -will halt, power-off or reboot your machine. - -You can use it for whatever task to accomplish (as most things of cinit), but -the idea behind it is to use it for cleaning up things that are not covered -by the off parts of the services. This maybe swapoff (although this is an unecessary -call before poweroff, imho and even if needed this could be handled within the -off part of the same services that enabled it) or `umount -a` for everything -manually mounted and not unmounted yet. - - -conf/sleep_before_kill -~~~~~~~~~~~~~~~~~~~~~~ -This file contains just one line: The number of seconds to sleep after SIGTERM was sent -to every remaining process before sending SIGKILL to all processes. If this file -is unreadable or not existent, cinit will fall back to the value compiled in -(which was specified at build time in conf/sleep_kill). - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start). - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - - -Debugging the configuration ----------------------------- -Use `ls -lR /etc/cinit` or one of the tools found in contrib+tools/. - - -Examples --------- -Currently there are some example configurations available -at http://unix.schottelius.org/cinit/samples/cinit-0.3/, sorted -by host on which they are created. - -In near future, there will also be a file name configuration.example.text, -which will lead you to a sample configuration. - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/daemons.backgrounding.text deleted file mode 100644 index 5b61b91d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- dnsmasq [dhcp/tfpt/dns]: -k -- dovecot [imap/pop3 server]: -F -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- freeradius [radiusd]: -f -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openpbx [pbx]: -f -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre16/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/freebsd.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/freebsd.text deleted file mode 100644 index 05499166..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/freebsd.text +++ /dev/null @@ -1,21 +0,0 @@ -11:33 < mux> from sys/kern/init_main.c: -11:33 < telmich> mux: that's true; I just tried with linux and I tell the - bootloader, who tells the kernel then -11:33 < mux> static char init_path[MAXPATHLEN] = -11:33 < mux> #ifdef INIT_PATH __XSTRING(INIT_PATH); -11:33 < mux> #else -"/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall"; -11:33 < mux> #endif -11:33 < mux> but you give a loader tunable -11:34 < mux> if ((var = getenv("init_path")) != NULL) { -11:34 < mux> strlcpy(init_path, var, sizeof(init_path)); -11:34 < mux> freeenv(var); -11:34 < mux> } -11:34 < mux> here you are -11:34 < telmich> ahh, that's good -11:34 * telmich has to try cinit on freebsd the next days :-) -12:34 < mux> (s/you give/you can give/) -11:35 < mux> so, simply init_path)="/sbin/cinit" in /boot/loader.conf should do - it -11:35 < mux> minus the typo - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre16/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre16/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/problems-and-solutions.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/problems-and-solutions.text deleted file mode 100644 index 92cdd241..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/problems-and-solutions.text +++ /dev/null @@ -1,33 +0,0 @@ -cinit - Problems occured and solutions used -=========================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2007-05-28 -:Author Initials: NS - -This documentes describes real problems people had with -cinit and their appropriate solutions. Feel free to add -your problems and solutions here. - - -Introduction ------------- - - -Adding problems and solutions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Simply add your problem and solution and sign your paragraph -with your name. Then send the diff -u to the cinit mailinglist -or setup a git-repository so I can pull the changes. - - -Hibernate ---------- -uses /sbin/runlevel, which should *not* respond with 0 or 6 -as the second number. As cinit does not have /sbin/runlevel, -because cinit does not have any runlevels, you could hardcode -it to values hibernate accepts: - ----------------------------------------------------------------------- -#!/bin/sh -echo N 2 ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/problems.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/problems.text deleted file mode 100644 index 4fe8a315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/problems.text +++ /dev/null @@ -1,114 +0,0 @@ -Problems using cinit -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-24 -:Author Initials: NS - - -Using a high-speed, true dependency aware, profile supporting -logical acting and reliable init system like cinit is not -completly problem free. This document describes some common -problems you may have and their solutions. - - -Possible problems ------------------ - -Confused users -~~~~~~~~~~~~~~ -Compared to traditional init systems like sys-v-init or bsd-init -cinit introduces a complet new boot concept. This does not just -mean that you have services instead of shell-scripts (which is -one reason cinit is starting up faster), but also that the boot -order may be changed dynamically at bootup:, if a service fails. -And even if no service fails, the boot order may be different -on each boot, because processes are started in parallel and -may return earlier or later on each boot. To coordinate the -parallel running processes, cinit uses depencies, which are pretty -easy to understad when configurung, but may need some more -detailled watching at boot to understand it. - -The 'confused users'-problem is perhaps also the biggest -problem for introducing cinit as a replacement to current -init systems. - - -Configuration issues -~~~~~~~~~~~~~~~~~~~~ - -Not marking services as respawn -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When cinit starts, it will wait for every service to exit. -So if you have a dependency on a service -that never exits, the whole init process may hang (dependending -on the dependencies). If you have services that are intendet -*not* to exit after start, you *have* to mark those with -`respawn`: Those services are started and watched by cinit -and will be restarted. This was a design choice to ensure -that all 'always running' processes *are* restarted. - -I did not find any service that should not exit and not -have a respawn flag. If you really really really have such -a service and you can prove to me that the respawn flag -would do harm to your system, I will think about implementing -a flag that tells cinit not to wait for it, but mark it -as successfully run after it has been started. - -User interaction -~~~~~~~~~~~~~~~~ - -User input -~~~~~~~~~~ -There may be the situation that you have to press a key -or enter some data when a service starts up (like entering -the password for your crypto harddisks). With cinit, this -will look like a mess, because other services may write to -the same console the service wrote a user prompt. - -The best solution for this problem is in my humble -opinion to create an user-input daemon that serialises -the requests and displays one after another. - -This could look like this: Your daemon wants to ask for -a passphrase for the SSL-certificate. You add aa needs -to this daemon to the 'input-daemon'. When you -start this service, it will contact the input-daemon -running on another virtual console and displaying a text -and an input field that is passed back to this service. -After that the input daemon changes back to the initial -console or asks for the next input, if there is another -request available. - -This input daemon may also be run on a graphical (X11) display. -. -Output to the user -~~~~~~~~~~~~~~~~~~ -When cinit starts up there may be many messages printed -out that also may look like printed random order. -To prevent your endusers from being confused you can create -some kind of graphical interface (like a framebuffer -or X11 display) that reads the output of cinit and converts -it to flashing images. It could look like this: - ----------------------------------------------------------------------- - - Your (graphical?) display: - -------------------------------------------------------------- - | /-----------------\ | - | | Red border, | | - | | failed to start | | - | \-----------------/ | - | | - | /------ | - | | Green border, | - | image van | - | | - | | - | | - | | - | | - | | - -------------------------------------------------------------- - - ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre16/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/respawning-sleep.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/respawning-sleep.text deleted file mode 100644 index 24ed17e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/respawning-sleep.text +++ /dev/null @@ -1,52 +0,0 @@ -cinit - Respawning and sleeping -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-13 -:Author Initials: NS - - -How cinit sleeps, before a service is respawned. - -Introduction ------------- -When a service, that is configured to be respawning, exits cinit restarts it. -Because services may be broken and thus cinit would try to restart it many -times in a second, it is necessary to sleep between restarts. - -The big question: How to sleep? ------------------------------------- -The first possibility is to sleep a fixed amount of time between restarts: -For instance one second. This is not a good solution, because this waits -one unecessary second if the process just crashed. It may be too less, if -the service is really broken. - -The second possibility is to sleep a dynamic amount of time. - - -The next big question: How long to sleep? ------------------------------------------ -I think that as long as a service is broken we should not investigate to much -time into restarting it. So we can define a maximum amount of time to sleep -(for instance 30 seconds). The minimum amount of time to sleep is zero seconds. - -When the service is first started, the sleep time defaults to the minimum -amount of time. Each time the service is restarted, the sleep time is adjusted: - -sleep time (st) = Maximum sleep time (mst) / Time the process was running (tr) - -- If tr is < 1 it is adjusted to 1 and thus st is set to mst. -- If tr is > mst, st is set to 0. - - -How to force restart of a service? ----------------------------------- -Use cvsc (to be implemented). - - -Hom is it implemented? ----------------------- -Everytime cinit has to respawn a service it has to fork() itself. -The sleep call is implemented in the fork, so cinit itself does not have -to care about it. After the sleep time is over or the fork() recieves -SIGALARM it executes the real service. cinit itself records as start time -the current time plus sleep time. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre16/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre16/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre16/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre16/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre16/libexec/cinit-conf/dialog-alias.sh b/software/cinit/browse_source/cinit-0.3pre16/libexec/cinit-conf/dialog-alias.sh deleted file mode 100644 index 89813726..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/libexec/cinit-conf/dialog-alias.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# the cLinux project -# Created: 2004-12-25 -# Last-Modified: -# choose the correct dialog version - -if [ -z "$DISPLAY" ]; then - alias dialog="dialog --shadow --backtitle \"$full_version\"" -else - alias dialog="Xdialog --backtitle \"$full_version\"" -fi diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/README b/software/cinit/browse_source/cinit-0.3pre16/scripts/README deleted file mode 100644 index 95afabe2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/README +++ /dev/null @@ -1,3 +0,0 @@ -Scripts for internal use. - -Users: Use bin/ for usable helper programs. diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/build/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre16/scripts/build/cinit.configure.ipc deleted file mode 100755 index b8154ba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/build/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/build/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre16/scripts/build/cinit.configure.mark deleted file mode 100755 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/build/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/build/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre16/scripts/build/cinit.configure.os deleted file mode 100755 index ece6f53c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/build/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/build/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre16/scripts/build/cinit.configure.tools deleted file mode 100755 index 39c2f00d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/build/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../../tmpbin/ -CC=$(head -n 1 "$HIER/../../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../../conf/cflags") -LD=$(head -n 1 "$HIER/../../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/cconfig.mk.makefile b/software/cinit/browse_source/cinit-0.3pre16/scripts/cconfig.mk.makefile deleted file mode 100755 index 822addce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/cconfig.mk.makefile +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-20, 0110 CEST -# cconfig: create makefile from conf/ directory -# currently: all files -# later: only built-defines -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "#" -echo "# Warning: Autogenerated by $0, do not edit. " -echo "#" -for conf in ${CONFS}; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - echo "${NAME}=${value}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre16/scripts/cinit.build-env deleted file mode 100755 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre16/scripts/cinit.get-confdir deleted file mode 100755 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre16/scripts/cinit.mkheader deleted file mode 100755 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre16/scripts/cinit.read-conf deleted file mode 100755 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/README b/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/README deleted file mode 100644 index 64c0d174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/README +++ /dev/null @@ -1 +0,0 @@ -Scripts used to generate or aid in creating a configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/freebsd/create_services.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/freebsd/create_services.sh deleted file mode 100644 index 52e123a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/freebsd/create_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to create from stdin -# Create services (add correct dependencies) -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/freebsd/enable_services.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/freebsd/enable_services.sh deleted file mode 100644 index ce4563a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/freebsd/enable_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to enabled from stdin -# Services must already exist -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/freebsd/search_enabled_services.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/freebsd/search_enabled_services.sh deleted file mode 100644 index 69e519b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/freebsd/search_enabled_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search for enabled services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/freebsd/search_services.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/freebsd/search_services.sh deleted file mode 100644 index 2043e857..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/configuration/freebsd/search_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search all services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of all services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/README b/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/README deleted file mode 100644 index c0e8b95b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/README +++ /dev/null @@ -1 +0,0 @@ -Scripts that should move to bin/ as soon as they are ready to be used. diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit-conf.migrate.sysvinit.debian b/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit-conf.migrate.sysvinit.debian deleted file mode 100755 index 0fdcb5f1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit-conf.migrate.sysvinit.debian +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. -# -- She's not my girlfriend anymore, but now I want to test cinit-0.3pre15 on -# my notebook - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit-conf.read-conf - -if [ -d "${CINIT_DIR}" ]; then - echo "ERROR: Configuration directory exists already at ${CINIT_DIR}." - exit 1 -fi - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -: ${ROOT_DEV:=$(awk '$2 ~ /^\/$/ { print $1 }' ${DESTDIR}/etc/fstab)} -: ${ROOT_FSCK:=$(awk '$2 ~ /^\/$/ { print $6 }' ${DESTDIR}/etc/fstab)} -: ${ROOT_FS:=$(awk '$2 ~ /^\/$/ { print $3 }' ${DESTDIR}/etc/fstab)} -: ${HOSTNAME:=$(hostname)} - - -echo "***> Configuration" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -#echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -set -x -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit-conf.install.dirs.base -$(dirname $0)/cinit-conf.install.dirs.svc-categories -$(dirname $0)/cinit-conf.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit-conf.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit-conf.install.service.linux.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit-conf.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV (\$ROOT_FSCK is not 1 in fstab)..." -fi - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit-conf.install.service.linux.hostname "$HOSTNAME" - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit-conf.getty.add - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit-conf.add.dependency getty wants getty/$i -done - -exit 0 -# FIXME: Stopped here - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit-conf.migrate.sysvinit.debian.sid b/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit-conf.migrate.sysvinit.debian.sid deleted file mode 100755 index c0945edb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit-conf.migrate.sysvinit.debian.sid +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. -# -- She's not my girlfriend anymore, but now I want to test cinit-0.3pre15 on -# my notebook - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit-conf.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit-conf.miniconf.linux b/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit-conf.miniconf.linux deleted file mode 100755 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit-conf.miniconf.linux +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit-conf.miniconf.linux.todo b/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit-conf.miniconf.linux.todo deleted file mode 100644 index 953c06e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit-conf.miniconf.linux.todo +++ /dev/null @@ -1,4 +0,0 @@ -Make it work with a system. - -Same aim as cinit.install.test, but different approach: -This script tries to build the config dynamically. diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit.install.test deleted file mode 100755 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit.install.test.todo b/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit.install.test.todo deleted file mode 100644 index 8e48d55e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/cinit.install.test.todo +++ /dev/null @@ -1 +0,0 @@ -See ditz: portability-1 diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/create_baseconfig.sh deleted file mode 100755 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/migrate-linux-debian-lenny.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/migrate-linux-debian-lenny.sh deleted file mode 100755 index 8f3185e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/future-bin/migrate-linux-debian-lenny.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -bd="${0%/*}" -export bd - -echo "Trying to configure cinit for your Debian Linux" - -# migrate /etc/fstab to mounts - -"$bd/linux/sys-v-init/migrate-fstab.sh" - -# migrate / create 6 getties - -# migrate network - -# migrate services diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/install/README b/software/cinit/browse_source/cinit-0.3pre16/scripts/install/README deleted file mode 100644 index 7870c76e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/install/README +++ /dev/null @@ -1 +0,0 @@ -Scripts to be used for installing (NOT CONFIGURING) cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/install/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre16/scripts/install/cinit.install.binary deleted file mode 100755 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/install/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/install/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre16/scripts/install/cinit.install.dir deleted file mode 100755 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/install/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/cinit.release b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/cinit.release deleted file mode 100755 index 445199a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/cinit.release +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: ls -l - -if [ $# -ne 1 ]; then - echo "This is a maintainer-only script to release cinit" - echo $(basename $0): version - exit 1 -fi - -# paths -D_BASE="/home/users/nico/privat/computer/net/netzseiten/www.nico.schottelius.org/src/software/cinit" -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ - -# versions to check -VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')" -VERSION_ARGV="$1" -VERSION_GIT="$(git describe)" -VERSION_README=$(grep -q "$VERSION_ARGV" README && echo $VERSION_ARGV) - -echo "=> Version commandline: $VERSION_ARGV" -echo "=> Version conf/version: $VERSION_CONF" -echo "=> Version git: $VERSION_GIT" -echo "=> Version README: $VERSION_README" - -if [ "$VERSION_ARGV" = "$VERSION_CONF" -a "$VERSION_ARGV" = "$VERSION_GIT" ]; then - echo "=> Version confirmed." -else - echo "*** VERSION MISMATCH ***" - exit 42 -fi - -# Finally, accept the right version -VERSION="$VERSION_GIT" -NAME="cinit-${VERSION}" -TARNAME="cinit-${VERSION}.tar.bz2" -TARPATH="$D_DIR/$TARNAME" - -echo -n "=> Continue to release $NAME? " -read yes - -git archive $VERSION --prefix="${NAME}/" --output="${TARPATH}" -( cd "$D_SOURCE" && tar xvf "$TARPATH" ) - -echo "Please do not forget to update the website..." - -################################################################################ -# Unused, but interesting - -# make sure the examples are not executed anymore -exit 0 - -# match cinit-$version as directory name -VERSION_DIR="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')" - -# grep version string from CHANGES file (often used, obsoleted here) -VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):.*/\1/')" - -# Correct umask 077 results -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$RDIR\" \"$LINK\"" - -# Create archive -echo "Creating bzip2 compressed tar" -cd $DDIR -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$RDIR" -chmod 0644 "$OUT_NAME" - -# Transfer to a remote host -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" - -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" - - - diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/compile+run.sh deleted file mode 100755 index 30ec68a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/compile+run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -if [ ! "$1" ]; then - echo "HOSTNAME" - exit 23 -fi - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$host" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/compile_local.sh deleted file mode 100755 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/compile_run_as_compiler.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/compile_run_as_compiler.sh deleted file mode 100755 index f1ba01d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/compile_run_as_compiler.sh +++ /dev/null @@ -1,14 +0,0 @@ -what=$(dirname $0)/../../ -what_real=$(cd "$what" && pwd -P) -dest=~compiler/cinit-test - -set -e -sudo rsync -av "${what_real}/" "$dest" -sudo chown -R compiler "$dest" -sudo -u compiler "${dest}/scripts/internal/compile_local.sh" -sudo -u compiler "${dest}/src/cinit" & -sleep 13 -sudo -u compiler "${dest}/scripts/internal/stop_cinit.sh" - -# exit 0 for make -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/compile_test.sh deleted file mode 100755 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/create_test_config.sh deleted file mode 100755 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/find_right_version.sh deleted file mode 100755 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/indent_script b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/indent_script deleted file mode 100755 index 5e1a8b0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/indent_script +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-linux at schottelius.org) -# indents like kr with a little bit more beauty look -# 13-May-2004 -# written for the monotone project, adapted for all my projects -# -# Copying: GPLv3 - -if [ $# -lt 1 ]; then - echo "$0: " - exit 1 -fi - -opts="" -opts="${opts} -bap" # --blank-lines-after-procedures -opts="${opts} -bbb" # --blank-lines-before-block-comments -opts="${opts} -bad" # --blank-lines-after-declarations -opts="${opts} -bbo" # --break-before-boolean-operator -opts="${opts} -br" # --braces-on-if-line -opts="${opts} -brs" # --braces-on-struct-decl-line -opts="${opts} -cdb" # --comment-delimiters-on-blank-lines -opts="${opts} -cbi0" # --case-brace-indentation -opts="${opts} -cdw" # --cuddle-do-while -opts="${opts} -ce" # --cuddle-else, see -br -opts="${opts} -ci0" # --continuation-indentation (see -lp) -opts="${opts} -cli3" # --case-indentation -opts="${opts} -cp33" # --else-endif-columnn -opts="${opts} -cs" # --space-after-cast -opts="${opts} -d0" # --line-comments-indentationn -opts="${opts} -di0" # --declaration-indentation -opts="${opts} -fca" # --format-all-comments -opts="${opts} -hnl" # --honour-newlines -opts="${opts} -i3" # --indent-level -opts="${opts} -ip0" # --parameter-indentation -opts="${opts} -l80" # --line-length -opts="${opts} -lc80" # --line-length -opts="${opts} -lp" # --continue-at-parentheses -opts="${opts} -lps" # --leave-preprocessor-space -opts="${opts} -nbc" # --no-blank-lines-after-commas -opts="${opts} -nbfda" # --dont-break-function-decl-args -opts="${opts} -nbfde" # NOT --break-function-decl-args -opts="${opts} -nfc1" # --dont-format-first-column-comments -opts="${opts} -npcs" # --no-space-after-function-call-names -opts="${opts} -nprs" # --no-space-after-parentheses -opts="${opts} -npsl" # --dont-break-procedure-type -opts="${opts} -nsaf" # --no-space-after-for -opts="${opts} -nsai" # --no-space-after-if -opts="${opts} -nsaw" # --no-space-after-while -opts="${opts} -npsl" # --dont-break-procedure-type -opts="${opts} -nut" # --no-tabs -opts="${opts} -nv" # --no-verbosity -opts="${opts} -npro" # --ignore-profile -opts="${opts} -pi0" # --paren-indentationn -opts="${opts} -ppi3" # preprocessor indent -opts="${opts} -sbi0" # --struct-brace-indentation -opts="${opts} -sc" # --start-left-side-of-comments -opts="${opts} -sob" # --swallow-optional-blank-lines -opts="${opts} -ss" # --space-special-semicolon - - - -for file in "$@"; do - indent $opts "$file" -done - # old: -# -ad \ -# -ts3 -nut -sc -ce -cdw -cli0 -nbc lp -ppi3 -di1 -c33 -cd33 -ncdb -ci3 -cp33 -cs -d0 -di0 -l75 -nfc1 -nfca -hnl -ip0 -nprs -saf -sai -saw -nsob -nss -npsl "$file" diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/old/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/old/cdoc-man.sh deleted file mode 100755 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/old/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/qemu-test.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/qemu-test.sh deleted file mode 100755 index fd41312e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/qemu-test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-03: For testing cinit in qemu -# - -emud="${HOME}/emu" -img="${emud}/debian-hd.img" -ddir="${emud}/mount" -loop=/dev/loop1 -fsck="/sbin/fsck.jfs" - -# my jfs is on the first partition, 512*63 bytes offset -offset="32256" - -set -e -set -x -sudo losetup -o "${offset}" "${loop}" "${img}" -sudo "${fsck}" "${loop}" -sudo mount "${loop}" "${ddir}" - -sudo umount "${loop}" -sudo losetup -d "${loop}" diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/stop_cinit.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/stop_cinit.sh deleted file mode 100755 index 86e4d82b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/stop_cinit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Linux specific, but don't care, I am the only person that should use it - -killall -TERM cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/test-cmd.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/test-cmd.sh deleted file mode 100755 index dbfc5c73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/test-cmd.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-27: Test cmd -# - - -echo "Testing cmd..." -sudo /sbin/cmd -s /etc/cinit/svc/init -sudo /sbin/cmd -p /etc/cinit/svc/init -sudo /sbin/cmd -v -sudo /sbin/cmd -V diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/test/cinit-conf.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/test/cinit-conf.sh deleted file mode 100755 index 0e29816e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/test/cinit-conf.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: 2005-08-08 -# cinit-conf - -LIBEXEC=$(dirname $0)/../libexec/cinit-conf/ - -. ${LIBEXEC}/dialog-alias.sh - -dialog --calendar "Test" 0 0 18 12 1982 -dialog --checklist "Checktest" 0 0 0 item1 on item2 off item3 on -dialog --infobox "Infotext" 0 0 -dialog --inputbox "inputbox" 0 0 "vorgegebener text" -dialog --menu "menu" 0 0 0 tag1 item1 tag2 item2 bla blub -dialog --infobox "Infotext" 0 0 -dialog --msgbox "Infotext" 0 0 -dialog --radiolist "Infotext" 0 0 0 tag1 item1 on tag2 item2 off -dialog --textbox ~/.bashrc 0 0 -dialog --yesno "Ja oder nein?" 0 0 - -dialog --gauge "Checktest" 0 0 10 - -#dialog --inputmenu "Infotext" 0 0 0 tag1 item1 tag2 item2 bla blub diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/test/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/test/cinit.uml.test deleted file mode 100755 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/test/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/test_on_hosts.sh deleted file mode 100755 index afeb2627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net jiffies.forkbomb.ch ddna044.netstream.ch" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/valgrind deleted file mode 100755 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre16/scripts/report.compile deleted file mode 100755 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre16/scripts/wrapper/linux-sysvinit/shutdown b/software/cinit/browse_source/cinit-0.3pre16/scripts/wrapper/linux-sysvinit/shutdown deleted file mode 100755 index b8cf3837..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/scripts/wrapper/linux-sysvinit/shutdown +++ /dev/null @@ -1,207 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-cinit /at/ schottelius.org) -# 2007-05-21 -# Behave as being shutdown from Linux' sysvinit - -# Always needed variables / functions -_0_short=${0##*/} -_o_seperator=":" -_oecho_seperator=":" -_eecho_seperator=">" - -# ok-exit/echo -_oecho() -{ - echo "${_0_short}${_oecho_seperator}" "$@" -} - -_oexit() -{ - _oecho "$@" - exit 0 -} - -# error-exit/echo -_eecho() -{ - echo "${_0_short}${_oecho_seperator}" "$@" >&2 -} - -_eexit() -{ - _eecho "$@" - exit 1 -} - -# Program specific variables - -time_t=0 # -t sec -warn_only_k=0 # -k -reboot_r=0 # -r -halt_h=0 # -h -poweroff_P=0 # -P -cancel_c=0 # -c -time=-1 # [time] -message="" # [warning-message] -cmd="" # what to execute internally -pidfile="/var/run/cinit.shutdown" -pid="" -runs="" - -version="0.1" -version_date="2007-10-30" - -message_intro="The system is going down for" -message_reboot="reboot" -message_halt="halt" -message_poweroff="poweroff" - -# unimplemented: -a, -H, -f, -F -# deprecated and thus not implemented: -n - -# traping signals -trap_signals() -{ - _oexit "Aborted shutdown" -} - -# all the functions - -usage() -{ - -cat << cinit_usage - -*** cinit linux-sysvinit shutdown wrapper (Version ${version} ${version_date}) *** - -Usage shutdown [-akrhHPfnc] [-t secs] time [warning message] - -a: use /etc/shutdown.allow - -k: don't really shutdown, only warn. - -r: reboot after shutdown. - -h: halt after shutdown. - -P: halt action is to turn off power. - -H: halt action is to just halt. - -f: do a 'fast' reboot (skip fsck). - -F: Force fsck on reboot. - -n: do not go through "init" but go down real fast. - -c: cancel a running shutdown. - -t secs: delay between warning and kill signal. - ** the "time" argument is mandatory! (try "now") ** - -You can also call "cinit.{halt|reboot|poweroff}" directly -(instead of using this wrapper). - -cinit_usage - -exit 0 - -} - -warn() -{ - ( echo ""; echo "$@"; echo "" ) | wall - ( echo ""; echo "$@"; echo "" ) -} - -if [ "$#" -lt 1 ]; then - usage -fi - -# getopt! -while [ "$#" -ge 1 ]; do - arg="$1"; shift - - case "${arg}" in - -a|-F|-f|-n) - _oexit "Sorry, ${arg} is not implemented." - ;; - -t) - if [ "$#" -lt 1 ]; then - _eexit "-t needs the time argument" - fi - time_t="$1"; shift - ;; - -k) - warn_only_k=1 - cmd=true - ;; - -r) - reboot_r=1 - cmd=cinit.reboot - message_what="${message_reboot}" - ;; - -h|-H) - halt_h=1 - cmd=cinit.halt - message_what="${message_halt}" - ;; - -P) - poweroff_P=1 - cmd=cinit.poweroff - message_what="${message_poweroff}" - ;; - -c) - cancel_c=1 - ;; - *) - # time unset? - if [ "${time}" = -1 ]; then - time="${arg}" - [ "${time}" = "now" ] && time=0 - elif [ -z "${message}" ]; then - message="${arg}" - else - _eexit "Already specified time and message" - fi - ;; - esac -done - -if [ -f "${pidfile}" ]; then - pid=$(cat "${pidfile}") - runs=$(kill -CONT "${pid}" >/dev/null 2>&1 && echo yes) -fi - -# do cancel or abort or locking -if [ "${cancel_c}" -eq 1 ]; then - if [ "${runs}" ]; then - kill -TERM "${pid}" - _oexit "Terminated running shutdown at \"${pid}\"." - else - _eexit "Cannot abort shutdown, not running." - fi -fi - -if [ -z "${time}" ]; then - usage -fi - -if [ -z "${cmd}" ]; then - _eexit "You need to specify one of -h, -P, -H, -r." -fi - -# add lock -if [ "${pid}" ]; then - if [ "${runs}" ]; then - _eexit "Shutdown already running." - else - _oecho "Overwriting stale pidfile" - fi -fi -echo $$ > "${pidfile}" - -if [ "${message}" ]; then - warn "${message}" -fi - -# signals to abort on -trap trap_signals INT HUP TERM - -while [ "${time}" -gt 0 ]; do - warn "${message_intro} ${message_what} in ${time} minute(s)." - sleep 60 - time=$((${time}-1)) -done - -warn "${message_intro} ${message_what} now." -"${cmd}" diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:41:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:41:08 deleted file mode 100644 index d29de765..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:41:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586640 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:46:09 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:46:09 deleted file mode 100644 index 7ecb58be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-15:46:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586368 Apr 30 15:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-16:50:05 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-16:50:05 deleted file mode 100644 index d87323e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-16:50:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587818 Apr 30 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:03:00 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:03:00 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:39:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:39:08 deleted file mode 100644 index 0c2bb0af..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:39:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586194 May 6 20:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:54:00 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:54:00 deleted file mode 100644 index fe51f37f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:55:07 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:55:07 deleted file mode 100644 index 4d2854b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:55:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-23:00:07 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-23:00:07 deleted file mode 100644 index c0db4814..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-23:00:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 23:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:31:01 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:31:01 deleted file mode 100644 index 4ad1fccf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:31:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:31 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:39:02 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:39:02 deleted file mode 100644 index 16613354..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:39:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:43:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:43:08 deleted file mode 100644 index 29e5ab44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:54:04 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:54:04 deleted file mode 100644 index 474189e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:54:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:18:00 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:18:00 deleted file mode 100644 index 960ca358..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:18:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:14:00 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:14:00 deleted file mode 100644 index 7de2bc3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:14:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:14 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:43:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:43:08 deleted file mode 100644 index 11a18f12..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597245 May 7 14:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:48:01 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:48:01 deleted file mode 100644 index 28b127b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:48:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597405 May 7 14:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:55:05 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:55:05 deleted file mode 100644 index 5d0fa0e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:55:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:01:01 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:01:01 deleted file mode 100644 index 7c8b202b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:01:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 15:01 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:27:00 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:27:00 deleted file mode 100644 index a2d19633..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:27:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:20:02 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:20:02 deleted file mode 100644 index 23608225..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:20:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602184 May 7 16:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:31:09 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:31:09 deleted file mode 100644 index 40f890cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:31:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:31 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:08:09 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:08:09 deleted file mode 100644 index 22b48319..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:08:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-10:44:00 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-10:44:00 deleted file mode 100644 index 4dad0f2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-10:44:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 64935 May 8 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-12:42:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-12:42:08 deleted file mode 100644 index a356e57e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-12:42:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 23195 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:25:05 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:25:05 deleted file mode 100644 index 0b5026c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:25:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:30:03 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:30:03 deleted file mode 100644 index 7377ee59..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:30:03 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-21:54:00 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-21:54:00 deleted file mode 100644 index 41ed8e4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-21:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604637 May 10 21:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:07:06 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:07:06 deleted file mode 100644 index 9579bf3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:07:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95212 May 10 22:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-00:14:02 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-00:14:02 deleted file mode 100644 index 86483ada..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-00:14:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-15-22:32:07 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-15-22:32:07 deleted file mode 100644 index 59557c4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-15-22:32:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 15 22:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-15-23:52:06 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-15-23:52:06 deleted file mode 100644 index 757e6dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-15-23:52:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579305 May 15 23:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-15-23:56:00 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-15-23:56:00 deleted file mode 100644 index 24c85104..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-15-23:56:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605145 May 15 23:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:16:09 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:16:09 deleted file mode 100644 index 27254aa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:16:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605205 May 16 00:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-09:58:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-09:58:08 deleted file mode 100644 index 90a5b698..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-09:58:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605567 May 16 09:58 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:09:00 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:09:00 deleted file mode 100644 index 4c34f810..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:09:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605583 May 16 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:13:07 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:13:07 deleted file mode 100644 index b6a851e6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:13:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605619 May 16 10:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:23:05 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:23:05 deleted file mode 100644 index 2c4fc649..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:23:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-14:56:01 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-14:56:01 deleted file mode 100644 index c5e08e25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-14:56:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95794 May 21 14:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:35:00 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:35:00 deleted file mode 100644 index 0f2d5463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:35:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:35 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-08-10:23:04 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-08-10:23:04 deleted file mode 100644 index 0858c419..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-08-10:23:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53724 Jun 8 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-08:44:09 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-08:44:09 deleted file mode 100644 index b96788fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-08:44:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53524 Jun 9 08:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-10:00:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-10:00:08 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-11:47:04 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-11:47:04 deleted file mode 100644 index 531df2bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-09-11:47:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-10-18:14:05 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-10-18:14:05 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-10-18:14:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-12-18:09:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-12-18:09:08 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-12-18:09:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-08:13:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-08:13:08 deleted file mode 100644 index eab7486c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-08:13:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 13 08:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-10:01:02 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-10:01:02 deleted file mode 100644 index cd4e9dad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-10:01:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52380 Jun 14 10:01 cinit --rwx------ 1 nico users 47356 Jun 14 10:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-06:46:05 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-06:46:05 deleted file mode 100644 index e0e1051d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-06:46:05 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:46 cinit --rwx------ 1 nico users 47324 Jun 15 06:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-16-12:18:07 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-16-12:18:07 deleted file mode 100644 index 43633af1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-16-12:18:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 16 12:18 cinit --rwx------ 1 nico users 50860 Jun 16 12:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-10:35:02 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-10:35:02 deleted file mode 100644 index 41fcadb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-10:35:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47584 Jun 22 10:35 cinit --rwx------ 1 nico users 46760 Jun 22 10:35 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-25-11:56:07 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-25-11:56:07 deleted file mode 100644 index 0f917aee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-25-11:56:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47712 Jun 25 11:56 cinit --rwx------ 1 nico users 46760 Jun 25 11:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:11:07 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:11:07 deleted file mode 100644 index 7e4c645b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:11:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:11 cinit --rwx------ 1 nico users 50860 Jul 6 08:11 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:08:05 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:08:05 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:08:05 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:13:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:13:08 deleted file mode 100644 index 2b09e08b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-07-06-10:13:08 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:13 cinit --rwx------ 1 nico users 50860 Jul 6 10:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-08-08-01:00:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-08-08-01:00:08 deleted file mode 100644 index 9c0c4908..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-08-08-01:00:08 +++ /dev/null @@ -1,3 +0,0 @@ -total 840 --rwx------ 1 root root 429764 Aug 8 01:00 cinit --rwx------ 1 root root 426052 Aug 8 01:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-08-29-21:48:00 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-08-29-21:48:00 deleted file mode 100644 index caa24bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-08-29-21:48:00 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 root root 437404 2005-08-29 21:47 cinit --rwx------ 1 root root 436316 2005-08-29 21:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-05:57:00 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-05:57:00 deleted file mode 100644 index ba396d14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-05:57:00 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:57 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:56 cinit --rwx------ 1 nico nico 440412 Sep 3 05:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-05:58:07 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-05:58:07 deleted file mode 100644 index 65f0cc50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-05:58:07 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-03 05:58 ccontrol --rwx------ 1 root root 444508 2005-09-03 05:58 cinit --rwx------ 1 root root 440412 2005-09-03 05:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:43:02 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:43:02 deleted file mode 100644 index 027a5b67..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:43:02 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:43 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:43 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:51:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:51:08 deleted file mode 100644 index a0fdf121..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:51:08 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:43 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:51 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:58:04 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:58:04 deleted file mode 100644 index 5c6da786..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-09:58:04 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:58 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:58 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre16/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-17-00:31:08 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-17-00:31:08 deleted file mode 100644 index b95123d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-17-00:31:08 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 00:31 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:31 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:08:04 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:08:04 deleted file mode 100644 index df9d08a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:08:04 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:08 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:08 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-11:46:07 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-11:46:07 deleted file mode 100644 index 7b96d3d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-11:46:07 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:46 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:46 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-15:19:05 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-15:19:05 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-15:19:05 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-11-29-235707 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-11-29-235707 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-11-29-235707 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-185602 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-185602 deleted file mode 100644 index d90770a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-185602 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71836 2006-12-03 18:56 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-185901 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-185901 deleted file mode 100644 index 61cc9bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-185901 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71768 2006-12-03 18:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-06-180205 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-06-180205 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-06-180205 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-213702 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-213702 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-213702 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre16/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2007-02-23-202443 b/software/cinit/browse_source/cinit-0.3pre16/size/2007-02-23-202443 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2007-02-23-202443 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2007-02-23-202720 b/software/cinit/browse_source/cinit-0.3pre16/size/2007-02-23-202720 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2007-02-23-202720 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2007-03-07-231936 b/software/cinit/browse_source/cinit-0.3pre16/size/2007-03-07-231936 deleted file mode 100644 index c2ef3d0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2007-03-07-231936 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71213 2007-03-07 23:18 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2007-04-06-011811 b/software/cinit/browse_source/cinit-0.3pre16/size/2007-04-06-011811 deleted file mode 100644 index 73de8724..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2007-04-06-011811 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71281 2007-04-06 01:17 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/size/2009-09-29-075620 b/software/cinit/browse_source/cinit-0.3pre16/size/2009-09-29-075620 deleted file mode 100644 index 7719cb7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/size/2009-09-29-075620 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 101258 2009-09-29 07:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/Makefile b/software/cinit/browse_source/cinit-0.3pre16/src/Makefile deleted file mode 100644 index a3a5a4eb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/Makefile +++ /dev/null @@ -1,185 +0,0 @@ -# -# 2008 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. - -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . - -# -# Don't edit Makefiles, use conf/* for configuration. -# - -################################################################################ -# -# Build tools / locations -# - -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin -DESTDIR= -#DESTDIR=/home/user/nico/emu/dst - -################################################################################ -# -# All objects / binaries -# depend on headers. More or less. FIXME: use gcc -M -# -BIN=cinit.halt cinit.poweroff cinit.reboot cmd -CINIT=cinit -ALLBIN=${BIN} ${CINIT} - -# headers -CONFIG_H=include/config.h -CINIT_HEADERS=${shell cat include/listing} - -# objects -CINIT_OBJ=${shell cat object_lists/cinit} -HALTKILL_OBJ=${shell cat object_lists/halt.kill} -POWEROFFKILL_OBJ=${shell cat object_lists/poweroff.kill} -REBOOTKILL_OBJ=${shell cat object_lists/reboot.kill} -CMD_OBJ=${shell cat object_lists/cmd} - -# -# All objects -# -OBJ=${CINIT_OBJ} ${HALTKILL_OBJ} ${POWEROFFKILL_OBJ} ${REBOOTKILL_OBJ} - -################################################################################ -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: ${ALLBIN} - - -################################################################################ -# -# Generic -# -${OBJ}: ${CINIT_HEADERS} - -%.o: %.c - ${CC} -c -o $@ $< - -################################################################################ -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../scripts/build/cinit.configure.os - @../scripts/build/cinit.configure.tools - @../scripts/build/cinit.configure.ipc - @../scripts/build/cinit.configure.mark - -${CINIT_OBJ}: ${CONFIG_H} - -${CONFIG_H}: ../conf/* - ../scripts/cinit.mkheader > ${CONFIG_H} - -################################################################################ -# -# Install targets -# - -#install: install-dir cinit cservice ccontrol -install: install-cinit install-utilities - -install-sbin: - install -d ${DESTDIR}/sbin - -install-utilities: install-sbin ${BIN} - @echo '*** Installing utilities ***' - install ${BIN} ${DESTDIR}/sbin - -install-cinit: install-sbin cinit - @echo '*** Installing cinit ***' - @echo "Need to delete cinit before reinstalling it {text file busy problem}" - rm -f ${DESTDIR}/sbin/cinit - install cinit ${DESTDIR}/sbin - -# FIXME: target broken -install-miniconf: - ./bin/cinit.install.miniconf - -# FIXME: target broken -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# - -cinit: ${CINIT_OBJ} - ${LD} $^ -o $@ - -cinit.halt: ${HALTKILL_OBJ} - ${LD} $^ -o $@ - -cinit.poweroff: ${POWEROFFKILL_OBJ} - ${LD} $^ -o $@ - -cinit.reboot: ${REBOOTKILL_OBJ} - ${LD} $^ -o $@ - -cmd: ${CMD_OBJ} - ${LD} $^ -o $@ - -################################################################################ -# -# Internal test targets -# - -uml: cinit cmd - ../../vm/uml/uml-mount.sh - cp cinit cmd ../../vm/uml/root/sbin/ - ../../vm/uml/uml-umount.sh - -umlstart: uml - ../../vm/uml/uml-start.sh - -SDIR=../size -SNOW=$(shell date +%Y-%m-%d-%H%M%S) -sizecheck: cinit - ls -l cinit > $(SDIR)/$(SNOW) - cat $(SDIR)/$(SNOW) - git add $(SDIR)/$(SNOW) - git commit -m "Size: $$(awk '{ print $$5 }' $(SDIR)/$(SNOW))" - - -################################################################################ -# -# Clenaup targets -# - -.PHONY: clean -.PHONY: dist -.PHONY: distclean - -dist: distclean - -distclean: clean - rm -f os/current ipc/current .configured - -clean: - rm -f ../tmpbin/*.configured - rm -f ${BIN} ${CINIT_OBJ} ${CINIT} - find . -name \*.o -exec rm {} \; diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre16/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/README b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/README deleted file mode 100644 index f66e0ddb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/README +++ /dev/null @@ -1,4 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/STOPPED b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/STOPPED deleted file mode 100644 index a0013ca6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/STOPPED +++ /dev/null @@ -1,12 +0,0 @@ -0. Definition Nachrichten -0.1 Definition returncodes und co... - - -1. execute_sth: finish, so we can use it for panic - -2. MSGQ: - beidseitig implemenntieren - ipc header integrieren - Dokumentieren - - conf/* von msgq saeubern diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/charp_to_flag.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/charp_to_flag.c deleted file mode 100644 index ae4321a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/charp_to_flag.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Convert char pointer to uint32_t flag - * - */ - -#include /* strchr */ -#include /* NULL */ - -#include "cinit.h" /* cinit */ - -uint32_t charp_to_flag(char *str) -{ - uint32_t ret = 0; - - if(str != NULL) { - if(strchr(str, CINIT_CMD_SVC_WANTS) != NULL) - ret |= CINIT_QSN_SVC_WANTS; - if(strchr(str, CINIT_CMD_SVC_NEEDS) != NULL) - ret |= CINIT_QSN_SVC_NEEDS; - } - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/cinit_get_svc_status.c01 b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/cinit_get_svc_status.c01 deleted file mode 100644 index cdc9d8c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/cinit_get_svc_status.c01 +++ /dev/null @@ -1,54 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Retrieves status of a service - */ - - -#include /* malloc */ -#include /* str* */ -#include /* integers */ - -#include "cinit.h" /* header for clients */ - -/* returns either the status (>0) - * or -1 on memory error - */ -int32_t cinit_get_svc_status(char *name) -{ - /* fixme: s32 int! */ - int tmp; - int32_t res; - char *p, *answer; - int offset = 0, len = strlen(name); - - p = malloc(len + 2 * sizeof(tmp)); - if(!p) return -1; - - /* code */ - tmp = CINIT_MSG_GET_STATUS; - strncpy(p,(char *) &tmp, sizeof(tmp)); - offset += sizeof(tmp); - - /* length */ - strncpy(&p[offset],(char *) &len, sizeof(len)); - offset += sizeof(len); - - /* data */ - strncpy(p, (char *) name, len); - - answer = cinit_send_to(p,len); - - if(answer) { - strncpy((char *) &res, answer, sizeof(res)); - free(answer); - } else { - res = -1; - } - - free(name); - return res; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/comm.h b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/comm.h deleted file mode 100644 index 4fbe8c50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/comm.h +++ /dev/null @@ -1,81 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ -#include /* pid_t */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_MIN='A', /* minimum command number */ - CMD_SVC_START, /* the client wants US to start a service */ - CMD_SVC_START_ONLY, /* start this service without dependencies */ - CMD_SVC_START_NEEDS, /* start this service, needs, but no wants */ - CMD_SVC_STOP, /* stop svc and all svcs that need it */ - CMD_SVC_STOP_ONLY, /* we should stop _only_ this service */ - CMD_SVC_STOP_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ /* FIXME: NEEDED? */ - CMD_RESCUE, /* we should start the rescue mode */ /* UNIMPLEMENTED */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ /* UNIMPLEMENTED */ - CMD_INFO, /* send information about that service */ /* UNIMPLEMENTED */ - CMD_MAX , /* maximum command number */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * client issues a command: start_command - */ -struct s_cmd { - char cmd; - pid_t pid; -}; - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/cservice.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/do_change_status.c deleted file mode 100644 index 58c0bbf0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/do_change_status.c +++ /dev/null @@ -1,72 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t * pid, int sock2, - int action) -{ - int tmp; - - ssize_t(*fpoint) (int, void *, size_t); - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - tmp = strlen(svc); - } - - if(fpoint(sock2, &tmp, sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2, svc, tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2, status, sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2, pid, sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/do_reboot.c.orig b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/do_reboot.c.orig deleted file mode 100644 index 9c4c8331..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/do_reboot.c.orig +++ /dev/null @@ -1,144 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" -#include "os.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - /* Let's disappear, we don't care about clients anymore */ - close(sock); - /********* first SIGTERM the respawning processes **********/ - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - kill(tmp->pid,SIGTERM); - } - tmp = tmp->before; - } while( tmp != list ); - - /********* now wait for the respawn watchers to return *****/ - tmp = list->before; - do { - if( tmp->status == ST_RESPAWN) { - /* wait until the respawn watcher terminated */ - waitpid(tmp->pid,&i,0); - } - - /* execute shutdown service FIXME: parallelize that?*/ - exec_svc(tmp->abs_path,CMD_STOP_SVC); - tmp = tmp->before; - } while( tmp != list ); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ -#define CMD_CNT 4 - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-arfd" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - -#define RESCUE_CMD "/bin/sh" - - /* now: we are completley alone. umount everything, go to bed */ - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG2; - cmd[3] = MOUNT_ARG3; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } else { - _exit(1); - } - - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - case SIGUSR2: /* rescue - destroy ourself */ - LOG(MSG_RESCUE); - cmd[0] = RESCUE_CMD; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - case SIGCONT: /* update */ - LOG(MSG_UPDATE); - cmd[0] = CINIT_BIN; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - } - - /* do not exit, Linux does that for us */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/do_result.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/do_result.c deleted file mode 100644 index d302e4df..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/do_result.c +++ /dev/null @@ -1,35 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t(*fpoint) (int, void *, size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - } - - if(fpoint(nsock, value, 1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} - -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/do_svc_name.c deleted file mode 100644 index b56523d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/do_svc_name.c +++ /dev/null @@ -1,59 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - - ssize_t(*fpoint) (int, void *, size_t); - - /* - * set pointers - */ - if(action == ACT_CLIENT) { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* - * read / write lenght - */ - if(fpoint(sock2, &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* - * write/read service name - */ - if(fpoint(sock2, svc, tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/exec_svc.c deleted file mode 100644 index 35e71ba4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/exec_svc.c +++ /dev/null @@ -1,298 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if(cpid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid, &tmp, 0); - if(WIFEXITED(tmp)) { - if(!WEXITSTATUS(tmp)) { - return cpid; - } - } - SERVICE_LOG(abspath, LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ON); - } else { - strcat(pathtmp, C_OFF); - } - - /* - * readlink retrieves real name, if it is a symlink - */ - if((tmp = readlink(pathtmp, pathtmp, PATH_MAX)) == -1) { - - /* - * nothing there? fine, exit - */ - if(errno == ENOENT) { - _exit(0); - } else if(errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* - * restore original name, file is not a link - */ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ON); - } else { - strcat(pathtmp, C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* - * add '\0', readlink forgets it - */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; neither - * readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc(sizeof(char *)); - if(nargv == NULL) - _exit(1); - - *nargv = (char *) malloc(tmp); - if(*nargv == NULL) - _exit(1); - - strcpy(*nargv, pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ONARG); - } else { - strcat(pathtmp, C_OFFARG); - } - - /* - * open params file - */ - if(!stat(pathtmp, &buf)) { - fd = open(pathtmp, O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* - * fill sbuf with content - */ - while((tmp = read(fd, pathtmp, PATH_MAX)) != 0) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf, argc + tmp + 1); - strncpy(&sbuf[argc], pathtmp, tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* - * The idea is to reuse the allocated memory. We'll simply * replace the \n - * with \0 and set a char* to it. * We'll lose the last byte (the initial - * \0), but we * don't care, as we die some seconds later with execv() * oh, - * we'll only lose it, if the file is terminated by \n - */ - - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* - * set to the beginning - */ - nargv[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - } else { - /* - * set to the end of sbuf, not to the \0, but one before - */ - p = sbuf + (strlen(sbuf) - 1); - } - - /* - * if next byte is 0, the end of string is found - */ - if(*(p + 1) == '\0') { - sbuf = NULL; - } else { - sbuf = p + 1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ONENV); - } else { - strcat(pathtmp, C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if(!stat(pathtmp, &buf)) { - fd = open(pathtmp, O_RDONLY); - - /* - * file exists, failing to open it is an error - */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while((tmp = read(fd, pathtmp, PATH_MAX)) != 0) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf, argc + tmp + 1); - strncpy(&sbuf[argc], pathtmp, tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - } else { - /* - * set to the end of sbuf, not to the \0, but one before - */ - p = sbuf + (strlen(sbuf) - 1); - } - - if(*(p + 1) == '\0') { - sbuf = NULL; - } else { - sbuf = p + 1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0], nargv, nenv); - - /* - * we should never reach this block - */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* - * FIXME: remove debug, remove double printing without loosing info - */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/main.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/main.c deleted file mode 100644 index 9016eac1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/main.c +++ /dev/null @@ -1,106 +0,0 @@ - -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * main.c - * main part of cinit - */ - -#include /* ftok */ -#include /* msgget */ -#include /* perror */ -#include /* exit */ - -#include "cinit.h" - -/* global variables */ -struct listitem *list; -pid_t cpid; - -/*********************************************************************** - * the main procedure - */ - -int main(int argc, char **argv) -{ - char *initdir; - key_t msg_key; - int msq_id; - - initdir = CINIT_INIT; /* default init dir */ - list = NULL; /* list of services is empty currently */ - cpid = getpid(); /* no comment */ - - if(cpid != 1) { - usage(CINIT_VERSION, MSG_USAGE); - } - - /* - * set signal handlers - */ - set_signals(ACT_SERV); - - /* - * read arguments, profile support - */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc - 1], strlen(PROFILE))) { - initdir = (char *) malloc(strlen(CINIT_DIR) + - strlen(&argv[argc - 1][strlen(PROFILE)]) + - 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_DIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc - 1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* - * tell the world we are there FIXME: do we really need three calls? - */ - mini_printf(MSG_BOOTING, 1); - mini_printf(initdir, 1); - mini_printf("\n", 1); - - if(chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /* - * create message queues - */ - - /* - * start init or profile - */ - run_init_svc(initdir); - - /* - * free, if we malloc()ed before - */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* - * wait until we recieved the signal to create the socket - */ - - /* - * our life is polling a socket - */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if((plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/msg_change_status.c deleted file mode 100644 index 40a46946..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/msg_change_status.c +++ /dev/null @@ -1,30 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc, &status, &pid, sock, ACT_CLIENT)) { - return 0; - } - if(!do_result(sock, NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/msg_svc_on_off.c deleted file mode 100644 index 350d41fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/msg_svc_on_off.c +++ /dev/null @@ -1,26 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) - return RT_ERR_COMM; - if(!do_svc_name(sock, svc, ACT_CLIENT)) - return RT_ERR_COMM; - return (int) do_result(sock, NULL); -} - -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/pipes b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/pipes deleted file mode 100644 index 581b1274..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/pipes +++ /dev/null @@ -1,17 +0,0 @@ - /* create pipes */ - if(pipe(pfd) == -1) { - perror(MSG_ERR_PIPE); - panic(); - } - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } - diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/respawn_svc.c deleted file mode 100644 index d52984be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/respawn_svc.c +++ /dev/null @@ -1,114 +0,0 @@ - -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX + 1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* - * if we read anything, our child succeded - */ - if(read(pipefd[0], &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM, &sa, NULL); /* term = kill respawing process */ - /* - * sigterm handler should kill first our watching pid, reset the pid to 0 - * and then we'll kill ourselves - */ - - tmp = 1; - if(write(pipefd[1], &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* - * try to read delay into sock - */ - strcpy(delay, abspath); - strcat(delay, SLASH); - strcat(delay, C_DELAY); - - /* - * reuse sock to specify delay - */ - sock = -1; - tmp = open(delay, O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp, &delay[0], PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* - * exec_svc will set cpid accordingly - */ - if(!exec_svc(abspath, CMD_START_SVC)) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* - * FIXME: put most code of sig_terminate here, look for no_kill - */ - - /* - * start off task - */ - exec_svc(abspath, CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/run_init_svc.c deleted file mode 100644 index 2cc30262..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/run_init_svc.c +++ /dev/null @@ -1,57 +0,0 @@ - -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* - * leave cinit alone - */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* - * FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully - * anyway */ - } - /* - * parent exits, we don't care about our children - */ - return 1; -} - -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/run_init_svc2.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/run_init_svc2.c deleted file mode 100644 index 338b1a11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/run_init_svc2.c +++ /dev/null @@ -1,58 +0,0 @@ - -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) -{ - rpath = "test"; - return 0; -} /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* - * leave cinit alone - */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) - _exit(1); - - /* - * FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully - * anyway */ - } - /* - * parent exits, we don't care about our children - */ - return 1; -} - -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/run_run_svcs.c deleted file mode 100644 index b12cbb54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/run_run_svcs.c +++ /dev/null @@ -1,95 +0,0 @@ - -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX + 1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* - * if there is no such dir, we are finished - */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while((tdirent = readdir(d_tmp)) != NULL) { - /* - * ignore . and .. and everything with a . at the beginning - */ - if(*(tdirent->d_name) == '.') - continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf, abspath); - strcat(pathbuf, SLASH); - strcat(pathbuf, tdirent->d_name); - if(run_svc(pathbuf)) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* - * wait for pids - */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* - * if anything failed, we failed - */ - if(!WIFEXITED(status)) { - ret = 0; - } else { - if(WEXITSTATUS(status)) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/run_svc.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/run_svc.c deleted file mode 100644 index 194c981f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/run_svc.c +++ /dev/null @@ -1,144 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* - * save current working dir - */ - if(!(int) getcwd(pathtmp, PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* - * change to rpath - */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* - * get absolute name of rpath - */ - if(!(int) getcwd(abspath, PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* - * change back - */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath, CMD_START_SVC); /* check status */ - - switch (tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts, NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN, 1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_NEEDS); - - /* - * check for needs - */ - if(stat(pathtmp, &buf) == 0) { - if(!run_run_svcs(pathtmp)) { - SERVICE_LOG(abspath, LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_WANTS); - - if(stat(pathtmp, &buf) == 0) { - run_run_svcs(pathtmp); /* don't care about what happens with the want - * svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_RESPAWN); - - if(stat(pathtmp, &buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid)) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} - -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/set_signals.c01 b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/set_signals.c01 deleted file mode 100644 index ff35a78a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/set_signals.c01 +++ /dev/null @@ -1,40 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - D_PRINTF("Signale setzen"); - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c and ctr+alt+del */ - - /* what todo when a child exited, cleaning dead processes */ - if(action == ACT_SERV) { - sa.sa_handler=sig_child; -// SA_NOCLDSTOP - } - sigaction(SIGCHLD,&sa,NULL); - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } - sigaction(SIGUSR1,&sa,NULL); /* halt */ - sigaction(SIGUSR2,&sa,NULL); /* rescue */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGHUP,&sa,NULL); /* reboot */ - -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/sig_terminate.c deleted file mode 100644 index bc7171fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/sig_terminate.c +++ /dev/null @@ -1,73 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* - * FIXME: only send SIGTERM, if not_kill does not exist - */ - if(kill(cpid, SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* - * variabel delay - */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* - * if it still exists... - */ - if(kill(cpid, 0) != -1) { - /* - * kill if there is a delay - */ - if(sock != 0) { - nanosleep(&ts, NULL); - status = kill(cpid, SIGKILL); - if(status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* - * remove zombie if killed, if delay is zero wait for it - */ - waitpid(cpid, &status, 0); - - /* - * reset the watching pid to zero (NOT THE WATCHER's!) - */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/test-signal.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/test-signal.c deleted file mode 100644 index a081fb76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/test-signal.c +++ /dev/null @@ -1,56 +0,0 @@ - -/* test case for glibc */ - -#include -#include /* sigaction, sigemtpyset */ -#include -#include -#include -#include -#include - -void sig_child(int tmp) -{ - struct timeval tv; - pid_t pid; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - gettimeofday(&tv, NULL); - printf("sighandler: %d\n", tv.tv_sec); - } -} - -int main() -{ - struct sigaction sa; - struct timeval tv; - struct timespec ts; - pid_t pid; - - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - - sigaction(SIGCHLD, &sa, NULL); - - while(1) { - pid = fork(); - - /* - * child - */ - if(!pid) { - ts.tv_sec = 2; - nanosleep(&ts, NULL); - gettimeofday(&tv, NULL); - - printf("child: %d\n", tv.tv_sec); - return 0; - } - - ts.tv_nsec = 100000; - nanosleep(&ts, NULL); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/unused-coded/cinit_read_from.c b/software/cinit/browse_source/cinit-0.3pre16/src/ancient/unused-coded/cinit_read_from.c deleted file mode 100644 index 54499be3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ancient/unused-coded/cinit_read_from.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read data from cinit to the client - */ - - -#include "ipc.h" /* IPC */ - -/* gets a bunch of bytes and returns the answer from cinit */ -int cinit_read_from(char **dest, int len) -{ - if(!cinit_ipc_logon()) return NULL; - if(!cinit_ipc_connect()) return NULL; - - /* FIXME: add length to ipc function? */ - if(!cinit_ipc_csend(data)) return NULL; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/client/cmd.c b/software/cinit/browse_source/cinit-0.3pre16/src/client/cmd.c deleted file mode 100644 index d85e417c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/client/cmd.c +++ /dev/null @@ -1,259 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * cmd - the cinit client program - sends commands to cinit - * - */ - -#include /* getopt */ -#include /* signals */ -#include /* printf() */ -#include /* free() */ -#include /* strncmp */ - -#include /* integers */ -#include /* PATH_MAX */ - -#include "cmd.h" /* own header */ -#include "signals.h" /* which signal */ -#include "svc.h" /* service related */ -#include "intern.h" /* print_errno() */ - -#include "cinit.h" /* cinit external */ - -#define C_USAGE(error) usage(USAGE_TEXT,error) -#define MSG_IPC_ERROR "An IPC error occured while connecting to cinit. " \ - "Is cinit running?\n" -#define MSG_UNKNOWN_SVC "Unknown service: %s\n" -#define MSG_UNKNOWN_RET "Unknown return code: %d\n" - -enum { - NOTHING, - ENABLE, - DISABLE, - PID, - STATUS -} whattodo; - -/*********************************************************************** - * cmd: main - */ -int main(int argc, char **argv) -{ - char buf[CINIT_DATA_LEN]; - char *flag = NULL; - int opt; - int what = NOTHING; - uint32_t ret; - uint32_t (*fp)(char *, uint32_t); /* to select enable or disable */ - - - union { - uint32_t status; - pid_t pid; - } u; - - /* - * -d w(ants) excluded) - * -e n(eeds excluded) - * -d i(nclude everything) - */ - - /* check for - * d|e: - * check for flags - * p|s: - * continue with service - * h|v|V: print and exit - */ - while((opt = getopt(argc, argv, CMD_OPTIONS)) != -1) { - switch (opt) { - - /******************************************** - * Non-continuing parameters - */ - - /******************************************** - * help - */ - case 'h': - printf(CMD_USAGE); - return 0; - break; - - /********************************************/ - case 'v': /* get version of cinit */ - ret = cinit_get_version(buf); - switch (ret) { - case CINIT_ASW_OK: - printf("Version of cinit: %s\n", buf); - return 0; - break; - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - return what; - break; - - /********************************************/ - case 'V': /* version */ - printf("Version of cmd: %s\n", CMD_VERSION); - return 0; - break; - - /********************************************/ - /* - * Continuing parameters - */ - - /********************************************/ - case 'e': /* enable service */ - what = ENABLE; - flag = optarg; - break; - - case 'd': /* disable service */ - what = DISABLE; - flag = optarg; - break; - - /********************************************/ - case 'p': /* get pid */ - what = PID; - break; - - /********************************************/ - case 's': /* get status */ - what = STATUS; - break; - - /********************************************/ - - default: - fprintf(stderr, - "Sorry, I did not understand what you want. Try -h, please.\n"); - return 1; - break; - } - } - - if(what == NOTHING) { - fprintf(stderr, - "That is not much you request from me. Try -h for help.\n"); - return 1; - } - - if(!path_absolute(argv[optind], buf, CINIT_DATA_LEN)) - return 1; - - fp = NULL; - switch (what) { - case ENABLE: - fp = cinit_svc_enable; - case DISABLE: - if(!fp) fp = cinit_svc_disable; - - u.status |= cinit_flag_to_uint32_t(flag); - - ret = fp(buf, u.status); - - switch (ret) { - case CINIT_ASW_OK: - printf("Set status of %s.\n", buf); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf(MSG_UNKNOWN_SVC, buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - - case PID: - ret = cinit_svc_get_pid(buf, &(u.pid)); - switch (ret) { - case CINIT_ASW_OK: - printf("PID of %s: %d\n", buf, u.pid); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf(MSG_UNKNOWN_SVC, buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - - case STATUS: - ret = cinit_svc_get_status(buf, &(u.status)); - switch (ret) { - case CINIT_ASW_OK: - printf("Status of %s is: %d\n", buf, u.status); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf("Unknown service: %s\n", buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - } - - return what; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/client/halt.kill.c b/software/cinit/browse_source/cinit-0.3pre16/src/client/halt.kill.c deleted file mode 100644 index eeb4c53a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/client/halt.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Halt the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_HALT) == -1) { - print_errno(MSG_HALT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/client/poweroff.kill.c b/software/cinit/browse_source/cinit-0.3pre16/src/client/poweroff.kill.c deleted file mode 100644 index 7066fedc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/client/poweroff.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_POWEROFF) == -1) { - print_errno(MSG_POWEROFF_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/client/reboot.kill.c b/software/cinit/browse_source/cinit-0.3pre16/src/client/reboot.kill.c deleted file mode 100644 index 4592b379..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/client/reboot.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_REBOOT) == -1) { - print_errno(MSG_REBOOT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/comm/README b/software/cinit/browse_source/cinit-0.3pre16/src/comm/README deleted file mode 100644 index b43969f2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/comm/README +++ /dev/null @@ -1,22 +0,0 @@ -This directory contains the server (aka cinit) part of the communication process. - -All the communication functions do not depend on the underlying -inter process communication mechanism. Use the following functions: - - - send_command(): client function: sends a command to cinit - - send_service(): client function: send the service name to operate on - - - read_command(): server function: reads beginning of a command - * Extracts the command - * reads client identification (=pid) - * calls other functions, depending on the command send => switch() - - read_service(): server function: reads service - - - write_answer(): server function: answer? - * sends answers to clients => senseful? - - - TODO: - - define information function, that returns various information about - a service - diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_svc_disable.c b/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_svc_disable.c deleted file mode 100644 index 94258487..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_svc_disable.c +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * disables a service - * - */ - -#include "svc-intern.h" /* list_search */ -#include "cinit.h" /* structure: cinit_answer */ - - -/** - * Returns the answer to the disable request to the client. - */ -int answer_svc_disable(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = svc_disable(tmp); - asr->opt = 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_svc_pid.c b/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_svc_pid.c deleted file mode 100644 index 2fdf11c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_svc_pid.c +++ /dev/null @@ -1,42 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * return pid of service - * - */ - -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_pid(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = CINIT_ASW_OK; - asr->opt = tmp->pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_svc_status.c b/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_svc_status.c deleted file mode 100644 index 99d0adf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_svc_status.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * returns status of service - * - */ - -#include /* strncpy */ -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_status(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = CINIT_ASW_OK; - asr->opt = tmp->status; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_svc_stop.c b/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_svc_stop.c deleted file mode 100644 index 73d32f8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_svc_stop.c +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Disable a service (with or without dependencies) - * - */ - -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_stop(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - if(tmp->status & (CINIT_ST_RESPAWNING | CINIT_ST_ONCE_RUN)) { - asr->ret = svc_disable(tmp); - } else { /* not running, nothing todo */ - asr->ret = CINIT_ASW_OK; - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_version.c b/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_version.c deleted file mode 100644 index e57cf552..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/comm/answer_version.c +++ /dev/null @@ -1,35 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * return version of cinit - * - */ - -#include "config.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_version(struct cinit_answer *asr) -{ - asr->ret = CINIT_ASW_OK; - cinit_cp_data(asr->data, VERSION); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/comm/cinit_append_data.c b/software/cinit/browse_source/cinit-0.3pre16/src/comm/cinit_append_data.c deleted file mode 100644 index 46c8a3e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/comm/cinit_append_data.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Append data to the existing field - * - */ - -#include /* strncpy */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -void cinit_append_data(char data[], char *src) -{ - strncat(data, src, CINIT_DATA_LEN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/comm/cinit_cp_data.c b/software/cinit/browse_source/cinit-0.3pre16/src/comm/cinit_cp_data.c deleted file mode 100644 index dd107ea8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/comm/cinit_cp_data.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * fill the data field of qsn and asn - * - */ - -#include /* strncpy */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -void cinit_cp_data(char data[], char *src) -{ - strncpy(data, src, CINIT_DATA_LEN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/comm/read_command.c b/software/cinit/browse_source/cinit-0.3pre16/src/comm/read_command.c deleted file mode 100644 index 3cc17300..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/comm/read_command.c +++ /dev/null @@ -1,66 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * cinit reads a command sent by a client, called by ipc listener - * - */ - -#include "cinit.h" /* structures */ -#include "intern.h" /* answer_svc_status() */ - -int read_command(struct cinit_question qsn, struct cinit_answer *asr) -{ - switch (qsn.cmd) { - case CINIT_QSN_GET_VERSION: - if(!answer_version(asr)) - return 0; - break; - - case CINIT_QSN_GET_STATUS: - if(!answer_svc_status(qsn.data, asr)) - return 0; - break; - - case CINIT_QSN_GET_PID: - if(!answer_svc_pid(qsn.data, asr)) - return 0; - break; - - case CINIT_QSN_SVC_DISABLE: - if(!answer_svc_disable(qsn.data, asr)) - return 0; - break; - - /* - * FIXME: stopped here case CINIT_MSG_SVC_ENABLE: - * if(!answer_svc_enable(qsn.data, asr)) return 0; break; - */ - - /* - * Unknown command: should not happen :-) - */ - default: - return 0; - break; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre16/src/core/build_argv.c deleted file mode 100644 index 89d50626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/core/build_argv.c +++ /dev/null @@ -1,193 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "intern.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX + 1]; - char *sbuf = NULL; - char *p; - - /* - * sane values - */ - bav->argv = NULL; - bav->envp = NULL; - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename, pathtmp, PATH_MAX)) == -1) { - /* - * nothing there? - */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if(errno != EINVAL) { - return BA_E_OTHER; - } - tmp = strlen(basename); - strncpy(pathtmp, basename, tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; neither - * readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) - return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) - return BA_E_MEM; - - strncpy(*(bav->argv), pathtmp, tmp); - - /********************** read params *********************/ - /* - * FIXME check bounds! - */ - strcpy(pathtmp, basename); - strcat(pathtmp, C_PARAMS); - /* - * ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL ORC_OK: Ok, have a filled - * buffer (perhaps NULL, too) other: Error, print errno - */ - tmp = openreadclose(pathtmp, &sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) - return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p + 1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) - return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp, basename); - strcat(pathtmp, C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp, &sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) - return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - sbuf = p + 1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre16/src/core/cinit.c deleted file mode 100644 index eb214502..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/core/cinit.c +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ -#include /* struct sigaction */ - -#include "intern.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc-intern.h" /* gen_svc_tree */ -#include "signals.h" /* signals used by cinit */ - -struct listitem *svc_list = NULL; /* services in a dependency tree */ -struct dep *deps_pending = NULL; /* the first services to be started */ -int svc_exited; /* did some service exit? */ - -struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END]; -int cinit_global_signals[SIGCINIT_END]; - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ - - /* - * Is this really needed? pid_t cpid; - * - * if(cpid != 1) { mini_printf(CINIT_VERSION,2); mini_printf(MSG_USAGE,2); - * return 0; } - */ - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING, 1); mini_printf(initdir, 1); mini_printf("\n", 1); - - /* Should we start a profile? */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc - 1], strlen(PROFILE))) { - initdir = malloc(strlen(CINIT_SVCDIR) + - strlen(&argv[argc - 1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc - 1][strlen(PROFILE)]); - break; - } - --argc; - } - - /* no configuration? - panic! */ - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize communication (IPC) */ - if(!cinit_ipc_init()) panic(); - - /* Init signal handler */ - signal_init_map(sigstages, cinit_global_signals); - set_signals(SIGSTAGE_DAEMON); - - /* build service dependency tree */ - if(!gen_svc_tree(initdir)) panic(); - - /* unused now, free if allocated */ - if(strcmp(initdir, CINIT_INIT)) free(initdir); - - /* FIXME: what todo? - * change to /, so applications have that as cwd, too Is that really - * seneful? Does that help any application? If not, just for looking nice, - * that's not a reason to enable it. if(chdir(SLASH) == -1) { - * print_errno(SLASH); panic(); } - */ - - /* the main startup routine */ - if(!tree_exec(deps_pending)) panic(); - - /* listen to commands after startup */ - while(1) { - /* react on service changes (=process exited) */ - if(svc_exited) svc_status_changed(deps_pending); - - /* handle the changes */ - if(deps_pending) svc_handle_pending(deps_pending); - - /* listen until we get a message or get interrupted */ - cinit_ipc_listen(); - - /* - * check dependency list: perhaps we need to restart something - */ - /* - * implement in cinit-0.3pre14/5 - */ - - // tree_exec(deps_pending); - // reuse tree_exec()? - // if(dep) { svc_start() .. ? - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre16/src/core/do_reboot.c deleted file mode 100644 index b9a3b8a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/core/do_reboot.c +++ /dev/null @@ -1,93 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Reboot: includes shutdown, reboot and poweroff - */ - -#include /* kill() */ -#include /* exit */ - -#include "signals.h" /* signal handling */ -#include "reboot.h" /* cinit_poweroff&co */ -#include "messages.h" /* messages */ -#include "svc-intern.h" /* shutdown_services */ -#include "intern.h" /* many functions */ -#include "ipc.h" /* disable ipc */ - -void do_reboot(int signal) -{ - /* - * do not listen to client requests anymore - * and tell the user what happens - */ - LOG(MSG_SHUTDOWN_START); - cinit_ipc_destroy(); - set_signals(SIGSTAGE_REBOOT); - - /* - * shutdown all services: take care about the dependency tree - */ - LOG(MSG_SHUTDOWN_SVC); - shutdown_services(svc_list); - - /* - * now: all services are down, let's kill all other processes - */ - LOG(MSG_SHUTDOWN_TERM); - if(kill(-1, SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - LOG(MSG_SHUTDOWN_KILL); - if(kill(-1, SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* - * Execute the last command - */ - LOG(MSG_SHUTDOWN_LAST); - execute_and_wait(CINIT_LAST); - - /* - * do what we really wanted to do - */ - switch (signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } - /* - * FIXME: should we exit? - */ - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre16/src/core/panic.c deleted file mode 100644 index 16d6ed11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/core/panic.c +++ /dev/null @@ -1,50 +0,0 @@ - -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Execute something - */ - -#include /* execv */ - -#include "intern.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) - _exit(0); - - /*********************************************************************** - * In case nothing helps, try to execute something that is always there. - * (conf/c_desaster) - */ - nargv[0] = C_DESASTER; - nargv[1] = NULL; - - if(execv(nargv[0], nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* We tried everything possible, die now. */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre16/src/core/set_signals.c deleted file mode 100644 index 41ccfc8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/core/set_signals.c +++ /dev/null @@ -1,65 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set signal handlers - */ - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ - -//#include "intern.h" /* defines */ -//#include "reboot.h" /* reboot related */ -#include "signals.h" /* reboot related */ - -void set_signals(int stage) -{ - int i; - - for(i = 0; i < SIGCINIT_END; i++) { - sigaction(cinit_global_signals[i], &sigstages[stage][i], NULL); /* what - * todo - * when - * a - * child - * exited - */ - } - -// struct sigaction sa; - // sigemptyset(&sa.sa_mask); /* no other signals should be blocked */ - // sa.sa_flags = 0; -// if(action == ACT_SERV) { -// sa.sa_handler = sig_child; -// sa.sa_flags = SA_NOCLDSTOP; -// } else { -// sa.sa_handler = SIG_DFL; -// } - -// sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - -// sa.sa_flags = 0; /* reset flags */ -// if(action == ACT_SERV) { -// sa.sa_handler = do_reboot; -// } -// sigaction(SIG_CINIT_HALT, &sa, NULL); /* halt */ -// sigaction(SIG_CINIT_POWEROFF, &sa, NULL); /* poweroff */ -// sigaction(SIG_CINIT_REBOOT, &sa, NULL); /* reboot */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre16/src/core/sig_child.c deleted file mode 100644 index 08f15c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/core/sig_child.c +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * The child handler (may *not* exec other functions!) - * - */ - -#include "svc-intern.h" /* marking */ - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - tmp = 2; /* FIXME: how to tell stupid gcc that tmp is a must? */ - svc_exited = 1; /* FIXME: catch possible race conditions in svc_status_changed() */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/core/signal_init_map.c b/software/cinit/browse_source/cinit-0.3pre16/src/core/signal_init_map.c deleted file mode 100644 index a07395f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/core/signal_init_map.c +++ /dev/null @@ -1,66 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Define signal handlers / actions for the different internal stages - */ - -#include -#include "signals.h" -#include "reboot.h" -#include "intern.h" - -void signal_init_map(struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END], - int cinit_signals[SIGCINIT_END]) -{ - /* - * First map signals to index - */ - cinit_signals[SIGCINIT_HALT] = SIGUSR1; - cinit_signals[SIGCINIT_POWEROFF] = SIGTERM; - cinit_signals[SIGCINIT_REBOOT] = SIGHUP; - cinit_signals[SIGCINIT_CHILD] = SIGCHLD; - - /* - * Then add the actions for daemon - */ - sigstages[SIGSTAGE_DAEMON][SIGCINIT_HALT].sa_handler = do_reboot; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_POWEROFF].sa_handler = do_reboot; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_REBOOT].sa_handler = do_reboot; - - sigstages[SIGSTAGE_DAEMON][SIGCINIT_CHILD].sa_handler = sig_child; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_CHILD].sa_flags = SA_NOCLDSTOP; - - /* - * Then add the actions for client (=fork> - */ - sigstages[SIGSTAGE_CLIENT][SIGCINIT_HALT].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_POWEROFF].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_REBOOT].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_CHILD].sa_handler = SIG_DFL; - - /* - * Then add the actions for shutdown - */ - sigstages[SIGSTAGE_REBOOT][SIGCINIT_HALT].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_POWEROFF].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_REBOOT].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_CHILD].sa_handler = SIG_IGN; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre16/src/generic/execute_and_wait.c deleted file mode 100644 index 3816e5c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/generic/execute_and_wait.c +++ /dev/null @@ -1,52 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* - * fork - */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* - * exec / child - */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* - * wait / parent - */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre16/src/generic/execute_sth.c deleted file mode 100644 index 79197769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/generic/execute_sth.c +++ /dev/null @@ -1,41 +0,0 @@ - -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ - -#include "intern.h" -#include "build_argv.h" -#include "messages.h" /* D_PRINTF */ - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - tmp = cinit_build_argv(basename, &bav); - if((tmp = cinit_build_argv(basename, &bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - /* - * tell the user what we execute - */ - mini_printf(MSG_INTRO_EXEC, 1); - mini_printf((bav.argv)[0], 1); - mini_printf("\n", 1); - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for - * cinit to recognize it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre16/src/generic/file_exists.c deleted file mode 100644 index 72294eba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/generic/file_exists.c +++ /dev/null @@ -1,66 +0,0 @@ - -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* errno */ -#include /* stat */ -#include /* NULL */ - -#include "intern.h" /* print_errno() */ -#include "svc-intern.h" /* svc_report_status() */ -#include "messages.h" /* messages.. */ - -int file_exists(char *filename) -{ - struct stat buf; - - /* - * check: - is it a link? if so, is it broken? report! - is it non existent? - * -> return non-existent - is it existent, but not a regular file? report! - */ - if(lstat(filename, &buf) == -1) { /* lstat fails? */ - if(errno == ENOENT) { - /* - * FIXME: remove later - */ - printf("%s is not existing! => ok, most likely\n", filename); - return FE_NOT; - } else { - mini_printf("anderer fehler.\n", 1); - print_errno(filename); - return FE_ERR; - } - } else { - if(S_ISLNK(buf.st_mode)) { /* is a link */ - /* - * check link destination - */ - if(stat(filename, &buf) == -1) { /* do real stat(): */ - if(errno == ENOENT) { - svc_report_status(filename, MSG_BROKENLINK, NULL); - return FE_NOLINK; - } else { - /* - * FIXME: MSG_*, ?? - */ - mini_printf("anderer fehler.\n", 1); - print_errno(filename); - return FE_ERR; - } - } - } - } /* caught all stat() errors */ - - if(!S_ISREG(buf.st_mode)) { - svc_report_status(filename, MSG_NONREGULAR, NULL); - return FE_OTHER; - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre16/src/generic/mini_printf.c deleted file mode 100644 index 752a2187..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/generic/mini_printf.c +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str, int fd) -{ - char *p; - - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd, str, (size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre16/src/generic/openreadclose.c deleted file mode 100644 index e9d65961..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/generic/openreadclose.c +++ /dev/null @@ -1,77 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "intern.h" /* ORC_* */ - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - *where = NULL; - - /* - * what a wonderful loop - */ - while((fd = open(filename, O_RDONLY)) == -1) { - if(errno == ENOENT) - return ORC_ERR_NONEXISTENT; - if(errno != EINTR) - return ORC_ERR_OPEN; - } - - cnt = 0; - while(1) { - tmp = read(fd, buf, 512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where, cnt + 1); - if(*where == NULL) - return ORC_ERR_MEM; - - /* - * FIXME check correctness of copied buffer... and get some sleep..soon, - * very soon! - */ - strncpy(&(*where)[cnt - tmp], buf, tmp); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) - continue; - return ORC_ERR_CLOSE; - } - - /* - * terminate string! - */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre16/src/generic/path_absolute.c deleted file mode 100644 index 9bafdc7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/generic/path_absolute.c +++ /dev/null @@ -1,56 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * create an absulte path - * - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX + 1]; - - if(!getcwd(oldpath, PATH_MAX + 1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath, size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre16/src/generic/path_append.c deleted file mode 100644 index 084cc4c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/generic/path_append.c +++ /dev/null @@ -1,31 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end - 1], SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) - return 0; - strcat(path, SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) - return 0; - } - strcat(path, append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre16/src/generic/print_errno.c deleted file mode 100644 index 9aeab78f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/generic/print_errno.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre16/src/generic/sleep_before_kill.c deleted file mode 100644 index d32ca274..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,56 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Let's sleep a little bit - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE, &content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) - tmp = SLEEP_KILL; - free(content); - } else { - mini_printf(MSG_BUILTIN_SLEEP, 1); - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts, NULL) == -1) { - print_errno(MSG_ERR_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre16/src/generic/strip_final_newline.c deleted file mode 100644 index 924a23b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/generic/strip_final_newline.c +++ /dev/null @@ -1,36 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* - * don't get fooled by bad pointers - */ - if(str == NULL) { - return NULL; - } - - p = strrchr(str, '\n'); - if(p) { - if(*(p + 1) == '\0') { - *p = '\0'; /* DO NOT FORGET TO TERMINATE STRING */ - str = realloc(str, (p - str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre16/src/generic/usage.c deleted file mode 100644 index 5b4a26d7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/generic/usage.c +++ /dev/null @@ -1,24 +0,0 @@ - -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * usage: tell the user what's wrong and a help text - * - */ - -#include /* _exit() */ -#include "intern.h" /* mini_printf */ - -void usage(char *banner, char *text) -{ - /* - * print banner + error message - */ - mini_printf(banner, 1); - mini_printf(text, 1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre16/src/include/build_argv.h deleted file mode 100644 index 18b7bf5b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/build_argv.h +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre16/src/include/cinit.h deleted file mode 100644 index 2f7421b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/cinit.h +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Header file for external programs (in theory) - */ - -#ifndef __CINIT_EXTERNAL_HEADER -#define __CINIT_EXTERNAL_HEADER - -/* includes */ -#include /* required for functions */ -#include /* PATH_MAX */ -#include /* pid_t */ - -/* limits */ -#define CINIT_DATA_LEN (PATH_MAX+1) - -/* - * structures: independent of the ipc code! - */ - -/* messages from the client */ -struct cinit_question { - uint32_t cmd; - uint32_t opt; - char data[CINIT_DATA_LEN]; -}; - -/* messages from cinit */ -struct cinit_answer { - uint32_t ret; - uint32_t opt; - char data[CINIT_DATA_LEN]; -}; - -/*********************************************************************** - * codes for messages - */ -enum { /* questions */ - CINIT_QSN_GET_STATUS = 0x01, /* status of a service */ - CINIT_QSN_GET_PID = 0x02, /* get pid of a service */ - CINIT_QSN_GET_VERSION = 0x04, /* version of cinit */ - CINIT_QSN_SVC_DISABLE = 0x08, /* service: stop */ - CINIT_QSN_SVC_ENABLE = 0x10, /* service: start */ - CINIT_QSN_SVC_NEEDS = 0x20, /* in/exclude needs */ - CINIT_QSN_SVC_WANTS = 0x40, /* in/exclude wants */ - CINIT_QSN_SVC_LIST = 0x80, /* list services */ - - CINIT_QSN_QUESTION_END = 0xffff /* last message */ -}; - -enum { /* answers */ - CINIT_ASW_IPC_ERROR = 0x00, /* bad error */ - CINIT_ASW_OK = 0x01, /* general ok value */ - CINIT_ASW_SVC_UNKNOWN = 0x04, /* Services is not known */ - CINIT_ASW_SVC_DISABLED = 0x08, /* service: stop */ - CINIT_ASW_SVC_ENABLED = 0x10, /* service: start */ - CINIT_ASW_SVC_ERR = 0x20, /* in/excluded needs */ - CINIT_ASW_SVC_WANTS = 0x40, /* in/excluded wants */ - CINIT_ASW_SVC_NEEDS = 0x80, /* in/excluded needs */ - CINIT_ASW_ERR_INTERN = 0x100, /* cinit internal error */ - - CINIT_ASW_ANSWER_END = 0xffff /* last message */ -}; - -enum cinit_svc_flags { - CINIT_CMD_SVC_WANTS = 'w', - CINIT_CMD_SVC_NEEDS = 'n' -}; - -struct cinit_msg_msg { - int code; - char *msg; -}; - -//struct cinit_msg_msg cinit_codes2messages[] = { - -//} - -/* functions */ -int cinit_send_to(struct cinit_question *, struct cinit_answer *); -void cinit_cp_data(char data[], char *src); - -void cinit_prepare_comm(struct cinit_question *qsn, - struct cinit_answer *asr, - uint32_t cmd); - -uint32_t cinit_flag_to_uint32_t(char *); -uint32_t cinit_get_version(char *); -uint32_t cinit_svc_disable(char *svc, uint32_t flag); -uint32_t cinit_svc_enable(char *svc, uint32_t flag); -uint32_t cinit_svc_get_pid(char *, pid_t *status); -uint32_t cinit_svc_get_status(char *, uint32_t *); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/cmd.h b/software/cinit/browse_source/cinit-0.3pre16/src/include/cmd.h deleted file mode 100644 index eb29be93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/cmd.h +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Header file for the cmd (cinit management) - */ - -#ifndef CINIT_CMD_HEADER -#define CINIT_CMD_HEADER - -#define CMD_USAGE "cmd - cinit management\n\n" \ - "cmd -[de [nw]] -[ps] [service] -[hvV]\n\n" \ - " -d: disable service\n" \ - " n: without needs\n" \ - " Skip needs when en/disabling\n\n"\ - " w: without wants\n" \ - " Skip wants when en/disabling\n" \ - " -e: enable service\n" \ - " see above\n" \ - " -h: get help\n" \ - " this messages" \ - " -p: get process id (pid)\n" \ - " of specified service\n" \ - " -s: get status\n" \ - " of specified service\n" \ - " -v: get version\n" \ - " of cinit\n" \ - " -V: get version\n" \ - " of cmd\n" \ - "" - -#define CMD_OPTIONS "e::d::hpsvV" - -#define MSG_KILL "kill()" -#define CMD_VERSION "0.2" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/intern.h b/software/cinit/browse_source/cinit-0.3pre16/src/include/intern.h deleted file mode 100644 index b214c9cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/intern.h +++ /dev/null @@ -1,125 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * internal stuff only :-) - * - */ - - -#ifndef _CINIT_INTERN_H -#define _CINIT_INTERN_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* structures: answer / question */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_NOLINK, /* file is a broken symbolic link*/ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_LAST CINIT_CONFDIR SLASH C_LAST -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* functions (used by server and client) */ -void mini_printf(char *str, int fd); -//void usage(char *banner, char *stext); - -/* core functions */ -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -//int msg_svc_on_off(char *svc, char action); -//int msg_change_status(char *svc, char status, pid_t pid); -//int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* communication */ -int read_command(struct cinit_question, struct cinit_answer *); -int answer_svc_status(char *, struct cinit_answer *); -int answer_svc_pid(char *, struct cinit_answer *); -int answer_version(struct cinit_answer *); -int answer_svc_disable(char *, struct cinit_answer *); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -void print_errno(char *text); - -#endif /* INTERN */ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre16/src/include/ipc.h deleted file mode 100644 index e06bd734..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/ipc.h +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/* FIXME: change to cinit/types.h later */ -#include "cinit.h" - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init */ - -int cinit_ipc_connect(void); /* connect to init */ - -int cinit_ipc_csend(struct cinit_question *); /* ask the server */ -int cinit_ipc_cread(struct cinit_answer *); /* read answer */ - -int cinit_ipc_logoff(void); /* logoff */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/listing b/software/cinit/browse_source/cinit-0.3pre16/src/include/listing deleted file mode 100644 index bccdad37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/listing +++ /dev/null @@ -1,8 +0,0 @@ -include/intern.h -include/config.h -include/ipc.h -include/messages.h -include/os.h -include/reboot.h -include/signals.h -include/svc.h diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre16/src/include/messages.h deleted file mode 100644 index 53bf64bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/messages.h +++ /dev/null @@ -1,169 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * All messages - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -//#define MSG_ERR_DEPS "Too many dependencies" -//#define MSG_ERR_ACCEPT "accept" -//#define MSG_ERR_WAITPID "waitpid" -//#define MSG_ERR_POLL "poll" -//#define MSG_ERR_MODIFY "modify list failed" -//#define MSG_ERR_COMM "Communication failed" - -//#define MSG_ERR_LESS_ARGS "Too less arguments!" -//#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -//#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -//#define LOG_NEED_FAIL "One or more need failed" -//#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# include -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) {} -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ - -/* services: how they should be printed - * /etc/cinit/svc/long/name: started once - * /etc/cinit/svc/long/name: is respawning - * /etc/cinit/svc/long/name: FAILED (why it happened) - */ - -#define MSG_INTRO_CINIT "cinit:" -#define MSG_INTRO_SPACE MSG_INTRO_CINIT " " -#define MSG_INTRO_SVC MSG_INTRO_CINIT -#define MSG_INTRO_STOP MSG_INTRO_CINIT "stop: " -#define MSG_INTRO_EXEC MSG_INTRO_CINIT "exec: " - -/* FIXME: remove/append, but no intro! */ -#define MSG_INTRO_FAIL "FAILED " -#define MSG_INTRO_RESPAWN MSG_INTRO_CINIT "respawn: " -#define MSG_INTRO_OK MSG_INTRO_CINIT "ok: " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" - - -#define MSG_BUILTIN_SLEEP MSG_INTRO_STOP "Using built-in sleep" - -#define MSG_TREE_EXEC MSG_INTRO_SPACE "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_FATAL_PANIC MSG_INTRO_SPACE "I tried everything, but even panic() failed: " -#define MSG_ERR_SLEEP MSG_INTRO_SPACE "Sleep did not succeed" -#define MSG_GETTIMEOFDAY MSG_INTRO_SPACE "gettimeofday() failed!" - -/* execution */ -//#define MSG_EXECUTING MSG_INTRO_EXEC - -/* stat() errors */ -#define MSG_NONREGULAR "Is not a regular file." -#define MSG_BROKENLINK "Is a broken link." - -/* Service messages */ -#define MSG_SVC_START "Starting... " -#define MSG_SVC_STOP "Stoping... " -#define MSG_SVC_RESTART "Restarted." -#define MSG_SVC_SLEEP "Sleeping before restart" -#define MSG_SVC_OK_ONCE "Started once." -#define MSG_SVC_OK_RESPAWN "Is respawning." - -/* Status messages */ -#define MSG_SHUTDOWN_START MSG_INTRO_STOP "\nBeginning the shutdown process..." -#define MSG_SHUTDOWN_SVC MSG_INTRO_STOP "Shutting down services now..." -#define MSG_SHUTDOWN_TERM MSG_INTRO_STOP "Terminating remaining processes..." -#define MSG_SHUTDOWN_KILL MSG_INTRO_STOP "Killing remaining processes..." -#define MSG_SHUTDOWN_LAST MSG_INTRO_STOP "Executing final service..." -#define MSG_POWER_OFF MSG_INTRO_STOP "Powering off..." -#define MSG_HALT MSG_INTRO_STOP "Halting system ..." -#define MSG_REBOOT MSG_INTRO_STOP "Rebooting ..." - -/* client messages */ -#define MSG_HALT_KILL "halt.kill" -#define MSG_REBOOT_KILL "reboot.kill" -#define MSG_POWEROFF_KILL "poweroff.kill" - - -/* reboot */ -#define MSG_TERMKILL MSG_INTRO_FAIL "SIGTERM" -#define MSG_KILLBILL MSG_INTRO_FAIL "SIGKILL" - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre16/src/include/os.h deleted file mode 100644 index d6173a83..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/os.h +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/reboot.h b/software/cinit/browse_source/cinit-0.3pre16/src/include/reboot.h deleted file mode 100644 index 4e490bd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/reboot.h +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * reboot specific functions - * - */ - -#ifndef CINIT_REBOOT_HEADER -#define CINIT_REBOOT_HEADER - -/***************************************************************************** - * the main reboot function - */ -void do_reboot(int signal); - - -/***************************************************************************** - * os specific functions - */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - - -/***************************************************************************** - * Functions: abstract do_reboot - */ -#define cinit_do_reboot() do_reboot(SIGHUP) -#define cinit_do_halt() do_reboot(SIGUSR1) -#define cinit_do_poweroff() do_reboot(SIGTERM) - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/signals.h b/software/cinit/browse_source/cinit-0.3pre16/src/include/signals.h deleted file mode 100644 index 7c5e2e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/signals.h +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Define signals to use: needs signal.h to be included before. - */ - -#ifndef CINIT_SIGNALS_HEADER -#define CINIT_SIGNALS_HEADER - -#define SIG_CINIT_HALT SIGUSR1 -#define SIG_CINIT_POWEROFF SIGTERM -#define SIG_CINIT_REBOOT SIGHUP -#define SIG_CINIT_CHILD SIGCHLD - -enum { - SIGSTAGE_REBOOT, - SIGSTAGE_DAEMON, - SIGSTAGE_CLIENT, - SIGSTAGE_END -}; - -enum { - SIGCINIT_HALT, - SIGCINIT_POWEROFF, - SIGCINIT_REBOOT, - SIGCINIT_CHILD, - SIGCINIT_END -}; - -#include -struct cinit_signal_map { - int signal; - struct sigaction sigstages; -}; - - -void signal_init_map(struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END], int cinit_signals[SIGCINIT_END]); -void set_signals(int stage); - -/* global vars */ -extern int cinit_global_signals[SIGCINIT_END]; /* maps signal codes to index */ -extern struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END]; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/svc-intern.h b/software/cinit/browse_source/cinit-0.3pre16/src/include/svc-intern.h deleted file mode 100644 index 38d3bad0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/svc-intern.h +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Internal service specifics - * - */ - -#ifndef __CINIT_SVC_INTERN_H -#define __CINIT_SVC_INTERN_H - -/* includes */ -#include /* pid_t */ -#include /* int types */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* LEN */ - -/* service tree item */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char abs_path[CINIT_DATA_LEN]; /* name of service */ - uint32_t status; /* current status */ - int waitpid; /* result of last waitpid call */ - pid_t pid; /* pid of service / respawn watcher */ - time_t start; /* time the process was started last time */ - time_t exited; /* time the process exited */ - - - struct dep *wanted_by; /* list of services that want this service */ - struct dep *needed_by; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ - - struct listitem *changed; /* list of changed services */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *deps_pending; /* the services to handle */ -extern struct listitem *svc_list; /* the list of services */ -extern int svc_exited; /* mark change */ - -/* list functions */ -struct listitem *list_insert(char *path, uint32_t status); -int list_delete_byname(char *path); -int list_delete_bypointer(struct listitem *); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -uint32_t svc_set_status(struct listitem *li, uint32_t status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void shutdown_services(struct listitem *start); - -void svc_start(struct listitem *); -void svc_stop_deps(struct listitem *, int); -uint32_t svc_disable(struct listitem *); -int svc_status_changed(); -int svc_handle_pending(struct dep *pending); - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -#endif /* _CINIT_SVC_INTERN_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/svc-messages.h b/software/cinit/browse_source/cinit-0.3pre16/src/include/svc-messages.h deleted file mode 100644 index 14873228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/svc-messages.h +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Service status messages - */ - - -#ifndef __CINIT_SVC_MESSAGES_H -#define __CINIT_SVC_MESSAGES_H - -#include "svc.h" - -struct cinit_svc_msg { - int code; - char *msg; -}; - -struct cinit_svc_msg cinit_svc_msg_codes[] = { - { CINIT_ST_SH_ONCE, "Service should be started once" }, - { CINIT_ST_SH_RESPAWN, "Service should respawn" }, - { CINIT_ST_ONCE_OK, "Service successfully started once" }, - { CINIT_ST_ONCE_FAIL, "Service failed to start once" }, - { CINIT_ST_RESPAWNING, "Service is respawning" }, - { CINIT_ST_NEED_FAILD, "One ore more needs failed" }, - { CINIT_ST_IN_LIST, "Service is in starter list" }, - { CINIT_ST_BAD_ERR, "Some strange error happened" }, - { CINIT_ST_ONCE_RUN, "Service is currently running once" }, - { CINIT_ST_NOT_EXIST, "This service does not exist" } -}; - -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre16/src/include/svc.h deleted file mode 100644 index ac8bc552..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/include/svc.h +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Service status (also exposed to the outside) - */ - - -#ifndef __CINIT_SVC_H -#define __CINIT_SVC_H - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum cinit_svc_status { - /* first define basics */ - CINIT_ST_SH_ONCE = 0x1, /* service SHould be started once yx*/ - CINIT_ST_SH_RESPAWN = 0x2, /* service SHould respawn yx*/ - CINIT_ST_ONCE_OK = 0x4, /* service was successfully started once */ - CINIT_ST_ONCE_FAIL = 0x8, /* service failed to start */ - CINIT_ST_RESPAWNING = 0x10, /* service is respawning */ - CINIT_ST_NEED_FAILD = 0x20, /* this service is not started, need failed x*/ - CINIT_ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - CINIT_ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - CINIT_ST_ONCE_RUN = 0x100, /* the once process is currently running yx*/ - CINIT_ST_NOT_EXIST = 0x200, /* there's no such service in our database */ - CINIT_ST_SH_STOP = 0x400, /* service was running, is being stopped x*/ - CINIT_ST_STOPPED = 0x800, /* service is stopped x*/ - CINIT_ST_STOP_FAIL = 0x1000 /* service failed to stop..strange situation */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum cinit_svc_needs_status { - CINIT_SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - CINIT_SNS_NEEDS_FAILED, /* one ore more needs failed */ - CINIT_SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -/*********************************************************************** - * How to start/stop a service - */ -enum cinit_svc_start_stop_options { - CINIT_SSSO_COMPLETE = 0x0, /* with all dependencies */ - CINIT_SSSO_WO_NEEDS = 0x1, /* without needs */ - CINIT_SSSO_WO_WANTS = 0x2, /* without wants */ - CINIT_SSSO_WO_BOTH = 0x4 /* without both */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq-rt/README b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq-rt/README deleted file mode 100644 index cc1a1b7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq-rt/README +++ /dev/null @@ -1,2 +0,0 @@ -This implementation uses the new realtime inferface of -posix instead of the old one functions. diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq-rt/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq-rt/cinit_ipc_init.c deleted file mode 100644 index ef22b6d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq-rt/cinit_ipc_init.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include - -#include "cinit.h" -#include "config.h" -#include "msgq-rt.h" - -int cinit_ipc_init(void) -{ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq-rt/mq_open.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq-rt/mq_open.c deleted file mode 100644 index 445e7dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq-rt/mq_open.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -int main() -{ - mqd_t readq = mq_open("/test",O_RDWR|O_CREAT|O_EXCL); - //mqd_t readq = mq_open("/bin/ls",O_RDWR|O_CREAT|O_EXCL); - - if(readq == -1) { - perror("oh nein"); - return 1; - } - mqd_t writeq = mq_open("/bin/cp",O_WRONLY|O_CREAT|O_EXCL); - if(readq == -1) { - perror("oh oh nein"); - return 1; - } -} - - diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq-rt/msgq-rt.h b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq-rt/msgq-rt.h deleted file mode 100644 index d09a2808..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq-rt/msgq-rt.h +++ /dev/null @@ -1,39 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#define MSGQ_PATHNAME "/cinit" /* identifier */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_cread.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_cread.c deleted file mode 100644 index ef811fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_cread.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client reads messages from cinit - * - */ - -#include /* msg* */ -#include /* memcpy() */ -#include /* getpid() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msq specific */ - -int cinit_ipc_cread(struct cinit_answer *buf) -{ - struct cinit_msgq_server asr; - - if(msgrcv(__cinit_mq_in, &asr, sizeof(asr.asr), getpid(), 0) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGRCV); - return 0; - } - memcpy(buf, &(asr.asr), sizeof(*buf)); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 04683ab1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client sends messages to cinit - * - */ - -#include /* msgget */ -#include /* memcpy() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structure */ - -int cinit_ipc_csend(struct cinit_question *qsn) -{ - struct cinit_msgq_client msg; - - msg.mtype = 1; /* cinit = 1 */ - - /* copy question structure into the msgq-structure */ - memcpy(&(msg.qsn), qsn, sizeof(msg.qsn)); - - if(msgsnd(__cinit_mq_out, &msg, sizeof(msg.qsn), 0) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGSEND); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 8186cba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ -#include "msgq.h" /* mq_in, mq_out */ -#include "intern.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(__cinit_mq_in, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(__cinit_mq_out, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index d5102f13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* message queue */ - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index fb4aac52..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * Listen to messages - * - */ - -#include /* printf() */ - -#include /* msg* */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structs */ - -int cinit_ipc_listen(void) -{ - int tmp; - struct cinit_msgq_client qsn; - struct cinit_msgq_server asr; - struct msqid_ds msq; - - tmp = msgrcv(__cinit_mq_in, &qsn, sizeof (qsn.qsn), 0, 0); - - /* message system problem */ - if(tmp == -1) { - if(errno != EINTR) { - print_errno(__CINIT_MSG_MSGQ_MSGRCV); - } - return -1; - } - - /* retrieve pid */ - if(msgctl(__cinit_mq_in, IPC_STAT, &msq) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGCTL); - return -1; - } - - if(!read_command(qsn.qsn, &(asr.asr))) { - /* FIXME: mini_print */ - printf("read command failed\n"); - - asr.asr.ret = CINIT_ASW_ERR_INTERN; - } - - asr.mtype = msq.msg_lspid; - if(msgsnd(__cinit_mq_out, &asr, sizeof(asr.asr), 0) == -1) { - /* FIXME: do different things on differen errnos ... */ - print_errno("msgsend/answer"); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index ac8306d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Disconnect from cinit - * - */ - -int cinit_ipc_logoff(void) -{ - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index e15b12f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msgq constants */ - -int cinit_ipc_logon(void) -{ - key_t k_tmp; - - /* generiere nen schluessel: andersrum als im Server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, 0); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, 0); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/msgq.h deleted file mode 100644 index 68398764..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,58 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * header of message queuing interface - * - */ - -#ifndef __CINIT_IPC_HEADER -#define __CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define __CINIT_MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define __CINIT_MSGQ_TO_SERVER 'i' /* also for ftok */ -#define __CINIT_MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define __CINIT_MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables: FIXME: rename, we're in client namespace! - */ -int __cinit_mq_in; /* input */ -int __cinit_mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct cinit_msgq_client { - long mtype; - struct cinit_question qsn; -}; - -/* messages _from_ the server _to_ the client */ -struct cinit_msgq_server { - long mtype; - struct cinit_answer asr; -}; - -/*********************************************************************** - * Messages - */ - -#define __CINIT_MSG_MSGQ_FTOK "ftok" -#define __CINIT_MSG_MSGQ_MSGGET "msgget" -#define __CINIT_MSG_MSGQ_MSGCTL "msgctl" -#define __CINIT_MSG_MSGQ_MSGSEND "msgsend" -#define __CINIT_MSG_MSGQ_MSGRCV "msgrcv" -#define __CINIT_MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/socket+linux-tmpfs/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/socket+linux-tmpfs/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/socket+linux-tmpfs/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/socket+linux-tmpfs/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre16/src/ipc/socket+linux-tmpfs/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/ipc/socket+linux-tmpfs/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/README b/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/README deleted file mode 100644 index 096cc779..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/README +++ /dev/null @@ -1,22 +0,0 @@ -Build a small library that can be used by different applications, that provides: - - Constants / Macros: - for cinit_halt: - CINIT_HALT - CINIT_REBOOT - CINIT_POWEROFF - - for cinit_svc_start/stop: - CINIT_SVC_NORMAL - CINIT_SVC_NEEDS - CINIT_SVC_ONLY - CINIT_SVC_WANTS - - Functions: - void cinit_halt(int how); - int cinit_svc_start(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - -This lib must then include: - - choosen ipc functions diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_flag_to_uint32_t.c b/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_flag_to_uint32_t.c deleted file mode 100644 index 89949c8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_flag_to_uint32_t.c +++ /dev/null @@ -1,46 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Converts cher * to uint32_t for svc operations - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* integers */ - -#include "cinit.h" /* constants */ - -uint32_t cinit_flag_to_uint32_t(char *flag) -{ - uint32_t ret = 0; /* no flags */ - - if(flag != NULL) { - if(strchr(flag, CINIT_CMD_SVC_NEEDS)) { - ret |= CINIT_QSN_SVC_NEEDS; - } - if(strchr(flag, CINIT_CMD_SVC_WANTS)) { - ret |= CINIT_QSN_SVC_WANTS; - } - } - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_get_version.c b/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_get_version.c deleted file mode 100644 index 794e25bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_get_version.c +++ /dev/null @@ -1,38 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves version of cinit - */ - -#include "cinit.h" /* header for clients */ - -uint32_t cinit_get_version(char *buf) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_VERSION); - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - cinit_cp_data(buf, asr.data); - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_halt.c b/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_halt.c deleted file mode 100644 index f5e9c96a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_halt.c +++ /dev/null @@ -1,39 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * purpose_of_this_file_is_also_there_behind_the_big_header - * - */ - -#include "" /* include global header */ -int cinit_halt(int how) -{ - switch (how) { - case 'p': /* power off */ - break; - - default: - break; - } -} - -return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_prepare_comm.c b/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_prepare_comm.c deleted file mode 100644 index 8badc744..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_prepare_comm.c +++ /dev/null @@ -1,37 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Prepares the communication - */ - -#include /* str*, memset */ -#include /* uint32_t */ - -#include "cinit.h" /* header for clients */ - -void cinit_prepare_comm(struct cinit_question *qsn, struct cinit_answer *asr, - uint32_t cmd) -{ - memset(qsn, '\0', sizeof(struct cinit_question)); - memset(asr, '\0', sizeof(struct cinit_answer)); - - qsn->cmd = cmd; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_send_to.c b/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_send_to.c deleted file mode 100644 index cfd3a35c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_send_to.c +++ /dev/null @@ -1,41 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * sends data from the client to cinit - * - */ - -#include "ipc.h" /* IPC */ -#include "cinit.h" /* struct cinit_message */ - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) -{ - if(!cinit_ipc_logon()) - return 0; - if(!cinit_ipc_csend(data)) - return 0; - if(!cinit_ipc_cread(res)) - return 0; - if(!cinit_ipc_logoff()) - return 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_svc_disable.c b/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_svc_disable.c deleted file mode 100644 index 6c25c330..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_svc_disable.c +++ /dev/null @@ -1,68 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Disables a service - * - */ - -#include /* integers */ - -#include "cinit.h" /* header for clients */ - -/* - * to cinit: - * disable + flags - * from cinit: - * status - * unknown service - * disabled the service - * - * disabled the service and needs - * disabled the service and wants - * disabled the service and needs and wants - * - * if it is one of the last three it follows - * uint32_t num: how many services stopped - * num times - * - * uint32_t len (excluding \0) - * char name[] - */ - -uint32_t cinit_svc_disable(char *svc, uint32_t flag) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_SVC_DISABLE); - cinit_cp_data((qsn.data), svc); - - qsn.opt = flag; - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - /* - * FIXME: 0.3pre15: add retrieval of services - */ - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_svc_enable.c b/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_svc_enable.c deleted file mode 100644 index 701a2b89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_svc_enable.c +++ /dev/null @@ -1,48 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves pid of a service - * - */ - -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_enable(char *svc, uint32_t flag) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_SVC_ENABLE); - cinit_cp_data((qsn.data), svc); - - qsn.opt = flag; - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - /* - * add logic to display started services here or: add logic to start - * dependend services in here: want to start a -> cinit returns needs b - */ - - return CINIT_ASW_IPC_ERROR; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_svc_get_pid.c b/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_svc_get_pid.c deleted file mode 100644 index 715fe953..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_svc_get_pid.c +++ /dev/null @@ -1,44 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves pid of a service - * - */ - -#include /* pid_t */ -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_get_pid(char *name, pid_t * status) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_PID); - cinit_cp_data((qsn.data), name); - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - *status = asr.opt; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_svc_get_status.c b/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_svc_get_status.c deleted file mode 100644 index be8a1a4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/libcinit/cinit_svc_get_status.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves status of a service - * - */ - -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_get_status(char *name, uint32_t * status) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_STATUS); - cinit_cp_data((qsn.data), name); - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - *status = asr.opt; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/cinit deleted file mode 100644 index 577bcf6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/cinit +++ /dev/null @@ -1,62 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/set_signals.o -core/signal_init_map.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/gen_halt_tree.o -svc/list_delete_byname.o -svc/list_delete_bypointer.o -svc/list_insert.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/svc_handle_pending.o -svc/svc_status_changed.o -svc/svc_disable.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/shutdown_services.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_fail.o -svc/svc_start.o -svc/svc_stop_deps.o -comm/read_command.o -comm/answer_svc_status.o -comm/answer_svc_pid.o -comm/answer_version.o -comm/cinit_cp_data.o -comm/answer_svc_disable.o diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/cmd b/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/cmd deleted file mode 100644 index a32be1f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/cmd +++ /dev/null @@ -1,17 +0,0 @@ -client/cmd.o -comm/cinit_cp_data.o -generic/print_errno.o -generic/path_absolute.o -generic/mini_printf.o -ipc/current/cinit_ipc_logon.o -ipc/current/cinit_ipc_csend.o -ipc/current/cinit_ipc_cread.o -ipc/current/cinit_ipc_logoff.o -libcinit/cinit_get_version.o -libcinit/cinit_send_to.o -libcinit/cinit_svc_get_pid.o -libcinit/cinit_svc_get_status.o -libcinit/cinit_prepare_comm.o -libcinit/cinit_svc_enable.o -libcinit/cinit_svc_disable.o -libcinit/cinit_flag_to_uint32_t.o diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/halt.kill b/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/halt.kill deleted file mode 100644 index e5b12a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/halt.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/halt.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/poweroff.kill b/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/poweroff.kill deleted file mode 100644 index 306fc0bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/poweroff.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/poweroff.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/reboot.kill b/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/reboot.kill deleted file mode 100644 index f851badf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/object_lists/reboot.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/reboot.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre16/src/os/freebsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre16/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre16/src/os/freebsd/poweroff.c deleted file mode 100644 index c73dd079..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre16/src/os/freebsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre16/src/os/linux/halt.c deleted file mode 100644 index 5ee3eb53..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre16/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre16/src/os/linux/poweroff.c deleted file mode 100644 index c7d2b1c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre16/src/os/linux/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre16/src/os/netbsd/halt.c deleted file mode 100644 index 972aecf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/netbsd/halt.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre16/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre16/src/os/netbsd/poweroff.c deleted file mode 100644 index 17d7b259..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre16/src/os/netbsd/reboot.c deleted file mode 100644 index 14313e17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/netbsd/reboot.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre16/src/os/openbsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre16/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre16/src/os/openbsd/poweroff.c deleted file mode 100644 index bf4120e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre16/src/os/openbsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/check_add_deps.c deleted file mode 100644 index b3fcd691..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/check_add_deps.c +++ /dev/null @@ -1,128 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Add dependencies to a service - */ - -#include /* getcwd */ - -#include /* DIR */ -#include /* errno */ - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_* */ -#include "svc-intern.h" /* DEP_* */ - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX + 1]; - char oldpath[PATH_MAX + 1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath, PATH_MAX + 1)) { - print_errno(MSG_GETCWD); - return 0; - } - - /* Create path */ - strncpy(buf, svc->abs_path, PATH_MAX+1); - if(type == DEP_NEEDS) { - if(!path_append(buf, C_NEEDS)) return 0; - } else { - if(!path_append(buf, C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent = readdir(d_tmp)) != NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* - * skip non-working directories / broken links path_absolute reports - * errors on failure - */ - if(!path_absolute(tdirent->d_name, buf, PATH_MAX + 1)) continue; - - /* 1. create the service we depend on 2. initialize its dependencies */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* - * We need ALL dependencies, as we are called only once per service; no - * need to test that first! And the other service CANNOT know anything - * about us yet, so we always add us to its list. - */ - - /* - * Dependencies: - a.needs b; add b to the list of dependencies. - - * a.needs b; add a to the list of needed by b. 1. check whether the - * dependency already exists 2. otherwise add it 3. do it once for needs, - * once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - /* add us to the other service */ - dep_entry_add(&(new_svc->needed_by), deps); - - /* add other service to us */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs), deps); - } else { - /* add us to the other service */ - dep_entry_add(&(new_svc->wanted_by), deps); - - /* add other service to us */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants), deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/dep_create.c deleted file mode 100644 index 1bf513ee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/dep_create.c +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc-intern.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/dep_entry_add.c deleted file mode 100644 index 41b67d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/dep_entry_add.c +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Add a new item to a (non-)empty list - */ - -#include "svc-intern.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(!(*deplist)) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/dep_entry_del.c deleted file mode 100644 index 460b37ce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/dep_entry_del.c +++ /dev/null @@ -1,55 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc-intern.h" /* struct *dep */ - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* - * last service in the list - */ - if(del->next == del && del->prev == del) { - tmp = NULL; - } else { - /* - * remove from list - */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/dep_needs_wants_add.c deleted file mode 100644 index cfb7b242..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ -#include "svc-intern.h" /* struct *dep */ -#include "svc.h" /* struct *dep */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed_by; - } else { - end = svc->wanted_by; - } - - /* - * Place to the first dependency of this service - */ - tmp = end; - if(tmp != NULL) { - do { - /* - * Add service to the starter list, which - should be started once - - * should be respawned (both VIRGIN services!) - and which are not - * already in the list! - */ - if(((tmp->svc->status & CINIT_ST_SH_ONCE) || - (tmp->svc->status & CINIT_ST_SH_RESPAWN)) && - !(tmp->svc->status & CINIT_ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= CINIT_ST_IN_LIST; - dep_entry_add(list, new); - } - - /* - * FIXME: Clearify if we should go forward or backwards? this decision - * will influence starting order and may thereby add a minimal mount - * of speed enhancement As far as I can see it is not predictable, - * which way is better, because it heavily depends on the other - * services. If you know better, provide me with a patch ;-) - */ - - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/gen_halt_tree.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/gen_halt_tree.c deleted file mode 100644 index fee84d11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/gen_halt_tree.c +++ /dev/null @@ -1,64 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * This function reads the full service tree and generates - * a list of services to begin shutdown (those that are not - * wanted or needed by any other service). - */ - -#include /* NULL */ - -#include "svc-intern.h" /* structs */ -#include "intern.h" /* structs */ - -struct dep *gen_halt_list(struct listitem *svc_tree) -{ - struct dep *list = NULL, *new = NULL; - struct listitem *tmp; - - /* - * no tree? nothing to shutdown. - */ - if(!svc_tree) { - return NULL; - } - - /* - * find all services that do not depend on other services: - empty wants? - * (currently ignore them) - empty needs! - */ - tmp = svc_tree; - do { - if(tmp->needs == NULL) { - /* - * create new dependency - */ - new = dep_create(tmp); - if(!new) - return NULL; - - dep_entry_add(&list, new); - } - tmp = tmp->next; - } while(tmp != svc_tree); - - return list; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/gen_svc_tree.c deleted file mode 100644 index ceb4acf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Pre calculate the service tree (recursive calling) - */ - -#include - -#include "intern.h" /* functions */ -#include "svc.h" /* constants */ -#include "svc-intern.h" /* functions */ - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li = list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li = svc_create(svc))) return NULL; - - /* add dependencies */ - if(!check_add_deps(li, DEP_NEEDS)) return NULL; - if(!check_add_deps(li, DEP_WANTS)) return NULL; - - /* If it has no dependencies, then the service is a start service. */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&deps_pending, deps); - - /* - * Mark it as being in the startup list, so it does not get added again - * in a dep_needs_wants_add call - */ - li->status |= CINIT_ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_delete_byname.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_delete_byname.c deleted file mode 100644 index 5bceb289..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_delete_byname.c +++ /dev/null @@ -1,47 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* free */ -#include "intern.h" /* list_search */ -#include "svc-intern.h" /* listitem */ - -/* ... */ -int list_delete_byname(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if(tmp == NULL) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - - free(tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_delete_bypointer.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_delete_bypointer.c deleted file mode 100644 index d50b51b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_delete_bypointer.c +++ /dev/null @@ -1,42 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* free */ -#include "svc-intern.h" /* listitem */ - -int list_delete_bypointer(struct listitem *li) -{ - /* FIXME: add warning? this case should not happen */ - if(li == NULL) { - return 0; - } - - li->next->prev = li->prev; - li->prev->next = li->next; - - free(li); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_display_all.c deleted file mode 100644 index b94758f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_display_all.c +++ /dev/null @@ -1,49 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ - -#include "messages.h" /* D_PRINTF */ -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return 0; - } else { - tmp = svc_list; - } - - do { - D_PRINTF("Service: "); - D_PRINTF(tmp->abs_path); - D_PRINTF("\n"); - - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_insert.c deleted file mode 100644 index 9f87be69..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_insert.c +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Insert service into service list - * - */ - -#include /* uint32_t */ -#include /* malloc */ -#include /* bzero / memset */ -#include "svc-intern.h" /* the list pointer */ - -struct listitem *list_insert(char *path, uint32_t status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - cinit_cp_data(tmp->abs_path, path); - - tmp->status = status; - tmp->pid = 0; - tmp->changed = NULL; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_modify.c deleted file mode 100644 index f527d98d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_modify.c +++ /dev/null @@ -1,57 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED. Not in use anymore. - * - * List handling - */ - -#error "NOT IN USE" - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if(tmp == NULL) { - return 0; - } - - /* - * delete objects, which are killed - */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_search.c deleted file mode 100644 index ff4578c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_search.c +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "svc-intern.h" /* struct listitem */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) return NULL; - - tmp = svc_list; - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_search_pid.c deleted file mode 100644 index 0633d95e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/list_search_pid.c +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Search by pid - * - */ - -#include /* NULL */ -#include /* pid_t */ -#include "svc-intern.h" /* struct listitem */ - -inline struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) return NULL; - - tmp = svc_list; - - do { - if(pid == tmp->pid) return tmp; /* found service */ - - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/shutdown_services.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/shutdown_services.c deleted file mode 100644 index e17dea04..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/shutdown_services.c +++ /dev/null @@ -1,48 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Shutdown all services: This is more or less the negative - * version of 'tree_exec()' - */ - -#include "svc-intern.h" /* struct */ -#include "svc.h" /* defines */ - -void shutdown_services(struct listitem *svc) -{ - /* - * The shutdown procedure: - * - * - take the list of running services - * - begin at the first (could be any) service and - * - shutdown all services that depend on that service - * --> recursive - * - take the next service (if there is still one ;-) - */ - - while(svc) { - svc_stop_deps(svc, CINIT_SSSO_COMPLETE); - svc = svc->next; - list_delete_bypointer(svc->prev); - } - - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_add_needs.c deleted file mode 100644 index be6c6312..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_add_needs.c +++ /dev/null @@ -1,92 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED! - * - * List handling - */ - -#error "NOT IN USE" - -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - /* - * retrieve service entries in global service list - */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* - * and exit if one is missing - */ - if(!svc_needs || !svc_is_needed) { - return 0; - } - - /* - * first add needs - */ - - /* - * now add needed_by - */ - - malloc... /* for adding */ - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* - * write generic function for dependencies or even all lists - */ - dep_entry_add(list_pointer, new_entry); - - if(list == NULL) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path, path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_create.c deleted file mode 100644 index 081a1b78..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_create.c +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Create a service, checking for existence is done before. - */ - -#include /* NULL */ -#include /* stat */ -#include /* errno */ - -#include "svc.h" /* constants */ -#include "svc-intern.h" /* listitem */ -#include "intern.h" /* path_append */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -struct listitem *svc_create(char *svc) -{ - char buf[CINIT_DATA_LEN]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc, -1); - if(!li) return NULL; - - cinit_cp_data(buf, svc); - if(!path_append(buf, C_RESPAWN)) return NULL; - - if(stat(buf, &statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li, CINIT_ST_SH_ONCE); - } else { - return NULL; - } - } else { - svc_set_status(li, CINIT_ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_disable.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_disable.c deleted file mode 100644 index e0704bfc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_disable.c +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Stop a service - * - * Status: Written, looks finished, but untested. - * - * respawn: - * - disable respawning: set status to ST_RESPAWN_STOP - * - send term signal? no => can be done in "off" - * => set environment CINIT_SVC_PID - * once and respawn: - * - look for 'off' binary, execute if present - * - mark service as off or delete it? - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* waitpid */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ -#include "cinit.h" /* CINIT_DATA_LEN */ -#include "signals.h" /* signal handling */ - -uint32_t svc_disable(struct listitem *li) -{ - char buf[CINIT_DATA_LEN]; - - svc_set_status(li, CINIT_ST_SH_STOP); - - li->pid = fork(); - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path, MSG_SVC_FORK, strerror(errno)); - svc_set_status(li, CINIT_ST_BAD_ERR); - return CINIT_ASW_ERR_INTERN; - } - - /********************** Parent / fork() ************************/ - if(li->pid > 0) { - /* FIXME: why duplicate? */ - svc_set_status(li, CINIT_ST_SH_STOP); - return CINIT_ASW_OK; - } - - /********************** Client / fork() ************************/ - svc_report_status(li->abs_path, MSG_SVC_STOP, NULL); - - cinit_cp_data(buf, li->abs_path); - if(!path_append(buf, C_OFF)) _exit(1); - - /* - * Check for existence - */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - _exit(0); - } - - if(li->status == FE_FILE) { - /* - * FIXME: reset signals: Is this necessary? Or does fork clean it anyway? - */ - set_signals(SIGSTAGE_CLIENT); - - /* - * and now, fire it up - */ - execute_sth(buf); - } else { - /* - * FIXME: report? - */ - /* - * either no file or an error - */ - _exit(1); - } - - /* FIXME: we will never return ... */ - return CINIT_ASW_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_fail.c deleted file mode 100644 index 63ed7ff9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_fail.c +++ /dev/null @@ -1,38 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Mark the service as being failed - */ - -#include "svc.h" -#include "svc-intern.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) - li->status = CINIT_ST_ONCE_FAIL; - else { - /* - * FIXME: do something senseful, record time of dead? - */ - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_handle_pending.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_handle_pending.c deleted file mode 100644 index c8ae2f68..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_handle_pending.c +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Handle pending services - * - */ - -#include /* NULL */ - -#include /* NULL */ -#include "intern.h" /* mini_printf */ -#include "messages.h" /* messages */ -#include "svc.h" /* svc_init */ -#include "svc-intern.h" /* svc_init */ - -/*********************************************************************** - * go through the pending list and exit at the end. - * we will be called again after something changed: - * svc_status_changed() is triggered by the death of one or more children - * and sets up changes - */ -int svc_handle_pending(struct dep *pending) -{ - struct dep *tmp = pending; - struct dep *hack; - struct timespec ts; - - mini_printf(MSG_TREE_EXEC, 1); - - /* apply changes to changed services */ - while(tmp != NULL) { - /* to be started */ - if(tmp->svc->status & (CINIT_ST_SH_ONCE | CINIT_ST_SH_RESPAWN)) { - svc_start(tmp->svc); - tmp = dep_entry_del(tmp); - } - - switch(svc_needs_status(tmp->svc)) { - case CINIT_SNS_NEEDS_STARTED: - /* - * FIXME: MSG_* - */ - svc_report_status(tmp->svc->abs_path, "Finished needs.", NULL); - - /* execute service, add dependencies, remove from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_FAILED: - /* - * mark service as NEED_FAILD and delete from list - */ - /* FIXME: reporting moved to svc_needs_status.c */ - //svc_report_status(tmp->svc->abs_path, MSG_SVC_NEED_FAIL, NULL); - svc_set_status(tmp->svc, CINIT_ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_UNFINISHED: - /* - * FIXME: continue here! - */ - - hack = tmp->svc->needs; - do { - // get needs -// printf("%s waits for %s",tmp->svc->abs_path,hack->svc->abs_path); - // display status of needs - // printf("%s: %ld\n",hack->svc->abs_path,hack->svc->status); - hack = hack->next; - } while(hack != tmp->svc->needs); - - tmp = tmp->next; /* continue with the next item */ - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep(&ts, NULL); - break; - } - /* - * This case happens, if it's the last service waiting for something - */ - /* - * if(tmp == tmp->next) { - * - * nanosleep()? printf("BUUUUUUUUUUUUUG, exit\n"); break; } - */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_needs_status.c deleted file mode 100644 index 9b9e0243..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_needs_status.c +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return status of the needs of this service - * - */ - -#include /* NULL */ -#include "svc.h" /* service information */ -#include "svc-intern.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = CINIT_SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - - if(deps == NULL) - return CINIT_SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* - * worst case: need failed - */ - if((deps->svc->status & CINIT_ST_NEED_FAILD) || - (deps->svc->status & CINIT_ST_ONCE_FAIL) || - (deps->svc->status & CINIT_ST_BAD_ERR)) { - printf("%s not started, because %s failed.\n", svc->abs_path, deps->svc->abs_path); - retval = CINIT_SNS_NEEDS_FAILED; - break; - } - /* - * services are being started - */ - if((deps->svc->status & CINIT_ST_SH_ONCE) || - (deps->svc->status & CINIT_ST_SH_RESPAWN) || - (deps->svc->status & CINIT_ST_ONCE_RUN)) { - // printf("%s (%ld) waits for %s (%ld)\n",svc->abs_path, svc->status, - // deps->svc->abs_path, deps->svc->status); - retval = CINIT_SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_report_status.c deleted file mode 100644 index 9a1c1bab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_report_status.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Tell the world what happened to the service - */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC, 1); - mini_printf(svc, 1); - mini_printf(": ", 1); - mini_printf(msg, 1); - if(err) { - mini_printf(" (", 1); - mini_printf(err, 1); - mini_printf(")", 1); - } - mini_printf("\n", 1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_respawn_check.c deleted file mode 100644 index 86fe71ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,40 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED? not in use. - * - * Check whether service is existent - */ - -#error "NOT IN USE" - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX + 1]; - - strcpy(buf, svc->abs_path); - if(!path_append(buf, C_RESPAWN)) - return 0} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_set_status.c deleted file mode 100644 index 647ea20a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_set_status.c +++ /dev/null @@ -1,37 +0,0 @@ - -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set the status of a service - */ - -#include - -#include "svc-intern.h" - -/* checking for existence is done before! */ -uint32_t svc_set_status(struct listitem *li, uint32_t status) -{ - /* - * FIXME: also set time? - */ - - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_should_respawn.c deleted file mode 100644 index a217261a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return whether should respawn or not - */ - -#include "svc-intern.h" -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & CINIT_ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_start.c deleted file mode 100644 index 0715697a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_start.c +++ /dev/null @@ -1,142 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* nanosleep() */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ -#include "cinit.h" /* CINIT_DATA_LEN */ -#include "signals.h" /* signal handling */ - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li) -{ - char buf[CINIT_DATA_LEN]; - struct timespec ts; - int delay = 0; /* FIXME: to be calculated by waitpid status, if respawing */ - - /* first update status before forking ! */ - if(li->status & CINIT_ST_SH_ONCE) li->status = CINIT_ST_ONCE_RUN; - else li->status = CINIT_ST_RESPAWNING; - - /* set start time */ - li->start = time(NULL); - - /* - * FIXME: All cleanup must go here close(fds); reset signals reset env? - * FIXME: Add logging possibility to here open (0,1,2) to other processes, - * if specified - */ - - /* - * BUG: the following child may return _before_ the fork returns in the - * parent. Thus this pid may not be registered. And that's the reason why - * we need the global svc_lock! - */ - li->pid = fork(); - - /********************** parent ************************/ - if(li->pid > 0) { - printf("%s is at %d\n", li->abs_path, li->pid); - return; - } - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path, MSG_SVC_FORK, strerror(errno)); - svc_set_status(li, CINIT_ST_BAD_ERR); - return; - } - - /********************** Client / fork() ************************/ - /* - * sleep, if necesseray - */ - if(delay) { - ts.tv_sec = delay; - ts.tv_nsec = 0; - - /* - * FIXME: also report value; int2char - */ - printf("Delay: %d\n", delay); - svc_report_status(li->abs_path, MSG_SVC_SLEEP, NULL); - - /* - * do not need to check for errors, because we can continue anyway - */ - /* - * WRONG: FIXME: look whether to sleep again - */ - nanosleep(&ts, NULL); - } - svc_report_status(li->abs_path, MSG_SVC_START, NULL); - - cinit_cp_data(buf, li->abs_path); - if(!path_append(buf, C_ON)) - return; - - /* - * Check for existence - */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - /* - * FIXME: remove later - */ - printf("********************\n"); - printf("WO/EXE: %s\n", li->abs_path); - printf("********************\n"); - /* - * probably a problem: we exit too fast, cinit does not yet have us in - * the process list. is that possible? => catch with sleep - */ - // sleep(2); - _exit(0); /* nothing there? fine! */ - } - - if(li->status == FE_FILE) { - set_signals(SIGSTAGE_CLIENT); - - /* - * and now, fire it up - */ - execute_sth(buf); - } else { - /* - * FIXME: report? - */ - /* - * either no file or an error - */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_status_changed.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_status_changed.c deleted file mode 100644 index eeff8af7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_status_changed.c +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * - * 2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Handle changed services - * - */ - -#include /* Macros for waitpid */ -#include /* NULL */ -//#include /* gettimeofday() */ /* FIXME: CHECK POSIX */ -#include /* time() */ - -#include "svc-intern.h" /* listem */ -#include "svc.h" /* service status */ -#include "intern.h" /* mini_printf */ -//#include "messages.h" /* messages/D_PRINTF */ - - -/*********************************************************************** - * register changes from our children - */ -int svc_status_changed() -{ - int success; - int tmp = 0; - struct listitem *svc; - pid_t pid; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - svc = list_search_pid(pid); - - if(!svc) continue; /* ignore stuff from our lazy children */ - - success = (WIFEXITED(svc->waitpid) && !WEXITSTATUS(svc->waitpid)) ? 1 : 0; - svc->exited = time(NULL); - - /************************************************************************ - * Update status using a "status translation table" - */ - - /* once running service exited */ - if(svc->status & CINIT_ST_ONCE_RUN) { - if(success) { - svc->status = CINIT_ST_ONCE_OK; - } else { - svc->status = CINIT_ST_ONCE_FAIL; - } - } - /* respawing service died */ - else if(svc->status & CINIT_ST_RESPAWNING) { - svc->status = CINIT_ST_SH_RESPAWN; - } - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_stop_deps.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_stop_deps.c deleted file mode 100644 index 02d6d6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_stop_deps.c +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - FIXME: not needed anymore! -> change to svc_status_changed() - * Stop a service, taking care about its dependencies - */ - -#include "svc.h" /* enums */ -#include "svc-intern.h" /* struct listitem */ - -/* - * how == CINIT_SSSO_COMPLETE => stop needs/wants before - * how & CINIT_SSSO_WO_NEEDS => omit needs - * how & CINIT_SSSO_WO_WANTS => omit wants - */ - -void svc_stop_deps(struct listitem *li, int how) -{ - struct dep *tmp; - - /* - * don't continue if already being stopped - */ - if(li->status & CINIT_ST_SH_STOP) return; - - /* - * shutdown depending services first: needed_by - */ - tmp = li->needed_by; - do { - if(how & CINIT_SSSO_WO_NEEDS) - break; - svc_stop_deps(tmp->svc, how); - tmp = tmp->next; - } while(tmp != li->needed_by); - - /* - * shutdown depending services first: wanted_by - */ - tmp = li->wanted_by; - do { - if(how & CINIT_SSSO_WO_WANTS) - break; - svc_stop_deps(tmp->svc, how); - tmp = tmp->next; - } while(tmp != li->wanted_by); - - svc_disable(li); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_success.c deleted file mode 100644 index cef5b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/svc_success.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set the status of a service - */ - -#include /* NULL */ - -#include "svc.h" /* listitem, svc_report_status */ -#include "svc-intern.h" /* listitem, svc_report_status */ -#include "messages.h" /* messages */ - -void svc_success(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) { - svc_report_status(li->abs_path, MSG_SVC_OK_ONCE, NULL); - li->status = CINIT_ST_ONCE_OK; - } else { - svc_report_status(li->abs_path, MSG_SVC_OK_RESPAWN, NULL); - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre16/src/svc/tree_exec.c deleted file mode 100644 index 5e58572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/svc/tree_exec.c +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Start the service tree we created - */ - -#include /* NULL */ - -#include /* NULL */ -#include "intern.h" /* mini_printf */ -#include "messages.h" /* messages */ -#include "svc.h" /* svc_init */ -#include "svc-intern.h" /* svc_init */ - -/* some thoughts... - * - * - we already generated the tree, now we need to start it from - * the endings - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - struct dep *hack; - struct timespec ts; - - mini_printf(MSG_TREE_EXEC, 1); - - /* - * the main starting loop: All services in this list should be started, but - * it is possible that dependent services are in the list. In this case - * simply skip the current service - */ - do { - switch (svc_needs_status(tmp->svc)) { - case CINIT_SNS_NEEDS_STARTED: - /* - * FIXME: MSG_* - */ - svc_report_status(tmp->svc->abs_path, "Finished needs.", NULL); - - /* execute service, add dependencies, remove from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_FAILED: - /* - * mark service as NEED_FAILD and delete from list - */ - /* FIXME: reporting moved to svc_needs_status.c */ - //svc_report_status(tmp->svc->abs_path, MSG_SVC_NEED_FAIL, NULL); - svc_set_status(tmp->svc, CINIT_ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_UNFINISHED: - /* - * FIXME: continue here! - */ - - hack = tmp->svc->needs; - do { - // get needs -// printf("%s waits for %s",tmp->svc->abs_path,hack->svc->abs_path); - // display status of needs - // printf("%s: %ld\n",hack->svc->abs_path,hack->svc->status); - hack = hack->next; - } while(hack != tmp->svc->needs); - - tmp = tmp->next; /* continue with the next item */ - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep(&ts, NULL); - break; - } - /* - * This case happens, if it's the last service waiting for something - */ - /* - * if(tmp == tmp->next) { - * - * nanosleep()? printf("BUUUUUUUUUUUUUG, exit\n"); break; } - */ - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/data1.c b/software/cinit/browse_source/cinit-0.3pre16/src/test/data1.c deleted file mode 100644 index 5be9b26a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/data1.c +++ /dev/null @@ -1,53 +0,0 @@ -#include -#include -#include - -int main() -{ - int a, b, e; - char *c = "/etc/cinit/svc/...", *data; - - int a2, b2; - char *c2; - - a2 = b2 = 0; - - a = 1001; - b = strlen(c); - c2 = malloc(b + 1); - if(!c2) - return 40; - - e = sizeof(a) + sizeof(b) + b; - - printf("e=%d (b=%d)\n", e, b); - - data = malloc(e); - if(!data) - return 20; - - /* - * in - */ - strcpy(data, (char *) &a); - e = sizeof(a); - strcpy(&data[e], (char *) &b); - e += sizeof(b); - strcpy(&data[e], c); - - /* - * out - */ - strncpy((char *) &a2, data, sizeof(a2)); - printf("a2=%d\n", a2); - e = sizeof(a2); - - strncpy((char *) &b2, &data[e], sizeof(b2)); - printf("b2=%d\n", b2); - e += sizeof(b2); - - strncpy(c2, &data[e], b2); - printf("c2=%s\n", c2); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c b/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c deleted file mode 100644 index 77cc731a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c +++ /dev/null @@ -1,147 +0,0 @@ -/************* - * - * A very small program to show that the child() of a fork() - * proceess can / CANNOT exit before fork() returns in the parent - * - * Nico Schottelius, Copying: GPLv3, 20070925 - * - * I run it this way: - - * % ./fork-latency | grep "Unknown child exited" | sort | uniq | wc -l - * => Number of children that exited before we recorded them! (should be 0) - * - * % ./fork-latency | grep "found" | sort | uniq | wc -l - * => children, which exited after fork() returned. - * - * % ./fork-latency | grep "found" | wc -l - * => should equal MAX (see sourcecode) - * - * % ./fork-latency | wc -l - * => should also equal MAX (see sourcecode) - * - * Some interesting facts: - * - * - With MAX=5000 I get: - * - * [20:02] ikn:test% ./fork-latency | grep "found" | wc -l - * 731705 - * [20:03] ikn:test% ./fork-latency | wc -l - * 734683 - * - * [20:04] ikn:test% ./fork-latency | sort | head -n 4 - * 1339) found - * 1339) found - * 1339) found - * 1339) found - * - * - * I'm wondering, why even with WNOHANG I get to check pids twice, - * also because I'm clearing the pid, after I found it (list[o] = 0). - * - -This code is weired (using return intead of exit, see below): - -[20:38] ikn:test% ./fork-latency > D -[20:38] ikn:test% cat D -MAX=2 -MAX=2 -[1] Forked 12264 -MAX=2 -[1] Forked 12264 -[0] Forked 12265 -(12264) found -(12265) found -[20:38] ikn:test% - - -With _exit: - -[21:17] ikn:test% ./fork-latency > E -[21:17] ikn:test% cat E -MAX=2 -[1] Forked 15388 -[0] Forked 15389 -(15388) found -(15389) found - - - */ - -#include /* fork() */ -#include /* sigaction, sigemtpyset */ -#include /* waitpid */ -#include /* printf, NULL */ - -#define MAX 20000 /* number of forks */ - -pid_t list[MAX]; -int i; -int got_sig; - -void sig_child(int sig) -{ - got_sig = 1; -} - -void reap_child() -{ - int o; - int found; - int status; - pid_t pid; - - got_sig = 0; - - /* WNOHANG is evil: it makes us call the loop MORE THAN ONCE - * PER DEAD CHILD! -> registering a dead child via signal - * handler makes WNOHANG obsolete - */ - //while((pid = waitpid(-1, &status, WNOHANG)) > 0) { - while((pid = waitpid(-1, &status, 0)) > 0) { - found = 0; - // no need to search the whole list, use o = i instead - // for(o = 0; o < MAX; o++) { - for(o = i; o < MAX; o++) { - if(list[o] == pid) { - list[o] = 0; /* empty */ - found = 1; - break; - } - } - if(found) { - printf("(%d) found\n", pid); - } else { - printf("(%d) Unknown child exited\n", pid); - } - } -} - -int main() -{ - struct sigaction sa; - - /* listen to SIGCHLD */ - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - sigaction(SIGCHLD, &sa, NULL); - - i = MAX; - - printf("MAX=%d\n", i); - - for(i = MAX - 1; i >= 0; i--) { - list[i] = fork(); - /* child exists immediately */ - if(list[i] == 0) _exit(0); - - /* this causes a different behaviour */ - /* if(list[i] == 0) return 0; */ - - printf("[%d] Forked %d\n", i, list[i]); - - /* parent code */ - if(got_sig) reap_child(); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.A b/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.A deleted file mode 100644 index bd0df9f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.A +++ /dev/null @@ -1,8 +0,0 @@ -Forking 1 -Forking 1 -(11456) found -Forking 0 -Forking 1 -(11456) found -Forking 0 -(11457) found diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.B b/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.B deleted file mode 100644 index 95f042c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.B +++ /dev/null @@ -1,7 +0,0 @@ -Forking 1 (0) -Forking 1 (11799) -Forking 0 (0) -Forking 1 (11799) -Forking 0 (11800) -(11799) found -(11800) found diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.C b/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.C deleted file mode 100644 index 9c1b6922..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.C +++ /dev/null @@ -1,5 +0,0 @@ -[1] Forked 11905 -[1] Forked 11905 -[0] Forked 11906 -(11905) found -(11906) found diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.D b/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.D deleted file mode 100644 index 4adfec55..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.D +++ /dev/null @@ -1,8 +0,0 @@ -MAX=2 -MAX=2 -[1] Forked 12264 -MAX=2 -[1] Forked 12264 -[0] Forked 12265 -(12264) found -(12265) found diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.E b/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.E deleted file mode 100644 index 4a4190a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.E +++ /dev/null @@ -1,5 +0,0 @@ -MAX=2 -[1] Forked 15388 -[0] Forked 15389 -(15388) found -(15389) found diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.F b/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.F deleted file mode 100644 index a7ebfe81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.F +++ /dev/null @@ -1,40001 +0,0 @@ -MAX=20000 -[19999] Forked 17761 -[19998] Forked 17762 -(17761) found -(17762) found -[19997] Forked 17763 -[19996] Forked 17764 -(17763) found -(17764) found -[19995] Forked 17765 -(17765) found -[19994] Forked 17766 -(17766) found -[19993] Forked 17767 -(17767) found -[19992] Forked 17768 -(17768) found -[19991] Forked 17769 -(17769) found -[19990] Forked 17770 -(17770) found -[19989] Forked 17771 -(17771) found -[19988] Forked 17772 -(17772) found -[19987] Forked 17773 -(17773) found -[19986] Forked 17774 -(17774) found -[19985] Forked 17775 -(17775) found -[19984] Forked 17776 -(17776) found -[19983] Forked 17777 -(17777) found -[19982] Forked 17778 -(17778) found -[19981] Forked 17779 -(17779) found -[19980] Forked 17780 -(17780) found -[19979] Forked 17781 -(17781) found -[19978] Forked 17782 -(17782) found -[19977] Forked 17783 -(17783) found -[19976] Forked 17784 -(17784) found -[19975] Forked 17785 -(17785) found -[19974] Forked 17786 -(17786) found -[19973] Forked 17787 -(17787) found -[19972] Forked 17788 -(17788) found -[19971] Forked 17789 -(17789) found -[19970] Forked 17790 -(17790) found -[19969] Forked 17791 -(17791) found -[19968] Forked 17792 -(17792) found -[19967] Forked 17793 -[19966] Forked 17794 -(17793) found -(17794) found -[19965] Forked 17795 -[19964] Forked 17796 -(17795) found -(17796) found -[19963] Forked 17797 -[19962] Forked 17798 -(17797) found -(17798) found -[19961] Forked 17799 -[19960] Forked 17800 -(17799) found -(17800) found -[19959] Forked 17801 -[19958] Forked 17802 -(17801) found -(17802) found -[19957] Forked 17803 -[19956] Forked 17804 -(17803) found -(17804) found -[19955] Forked 17805 -[19954] Forked 17806 -(17805) found -(17806) found -[19953] Forked 17807 -[19952] Forked 17808 -(17807) found -(17808) found -[19951] Forked 17809 -[19950] Forked 17810 -(17809) found -(17810) found -[19949] Forked 17811 -[19948] Forked 17812 -(17811) found -(17812) found -[19947] Forked 17813 -[19946] Forked 17814 -(17813) found -(17814) found -[19945] Forked 17815 -[19944] Forked 17816 -(17815) found -(17816) found -[19943] Forked 17817 -[19942] Forked 17818 -(17817) found -(17818) found -[19941] Forked 17819 -[19940] Forked 17820 -(17819) found -(17820) found -[19939] Forked 17821 -[19938] Forked 17822 -(17821) found -(17822) found -[19937] Forked 17823 -[19936] Forked 17824 -(17823) found -(17824) found -[19935] Forked 17825 -[19934] Forked 17826 -(17825) found -(17826) found -[19933] Forked 17827 -[19932] Forked 17828 -(17827) found -(17828) found -[19931] Forked 17829 -[19930] Forked 17830 -(17829) found -(17830) found -[19929] Forked 17831 -[19928] Forked 17832 -(17831) found -(17832) found -[19927] Forked 17833 -[19926] Forked 17834 -(17833) found -(17834) found -[19925] Forked 17835 -[19924] Forked 17836 -(17835) found -(17836) found -[19923] Forked 17837 -[19922] Forked 17838 -(17837) found -(17838) found -[19921] Forked 17839 -[19920] Forked 17840 -(17839) found -(17840) found -[19919] Forked 17841 -[19918] Forked 17842 -(17841) found -(17842) found -[19917] Forked 17843 -[19916] Forked 17844 -(17843) found -(17844) found -[19915] Forked 17845 -[19914] Forked 17846 -(17845) found -(17846) found -[19913] Forked 17847 -[19912] Forked 17848 -(17847) found -(17848) found -[19911] Forked 17849 -[19910] Forked 17850 -(17849) found -(17850) found -[19909] Forked 17851 -[19908] Forked 17852 -(17851) found -(17852) found -[19907] Forked 17853 -[19906] Forked 17854 -(17853) found -(17854) found -[19905] Forked 17855 -[19904] Forked 17856 -(17855) found -(17856) found -[19903] Forked 17857 -[19902] Forked 17858 -(17857) found -(17858) found -[19901] Forked 17859 -[19900] Forked 17860 -(17859) found -(17860) found -[19899] Forked 17861 -[19898] Forked 17862 -(17861) found -(17862) found -[19897] Forked 17863 -[19896] Forked 17864 -(17863) found -(17864) found -[19895] Forked 17865 -[19894] Forked 17866 -(17865) found -(17866) found -[19893] Forked 17867 -[19892] Forked 17868 -(17867) found -(17868) found -[19891] Forked 17869 -[19890] Forked 17870 -(17869) found -(17870) found -[19889] Forked 17871 -[19888] Forked 17872 -(17871) found -(17872) found -[19887] Forked 17873 -[19886] Forked 17874 -(17873) found -(17874) found -[19885] Forked 17875 -[19884] Forked 17876 -(17875) found -(17876) found -[19883] Forked 17877 -[19882] Forked 17878 -(17877) found -(17878) found -[19881] Forked 17879 -[19880] Forked 17880 -(17879) found -(17880) found -[19879] Forked 17881 -[19878] Forked 17882 -(17881) found -(17882) found -[19877] Forked 17883 -[19876] Forked 17884 -(17883) found -(17884) found -[19875] Forked 17885 -[19874] Forked 17886 -(17885) found -(17886) found -[19873] Forked 17887 -[19872] Forked 17888 -(17887) found -(17888) found -[19871] Forked 17889 -[19870] Forked 17890 -(17889) found -(17890) found -[19869] Forked 17891 -[19868] Forked 17892 -(17891) found -(17892) found -[19867] Forked 17893 -[19866] Forked 17894 -(17893) found -(17894) found -[19865] Forked 17895 -[19864] Forked 17896 -(17895) found -(17896) found -[19863] Forked 17897 -[19862] Forked 17898 -(17897) found -(17898) found -[19861] Forked 17899 -[19860] Forked 17900 -(17899) found -(17900) found -[19859] Forked 17901 -[19858] Forked 17902 -(17901) found -(17902) found -[19857] Forked 17903 -[19856] Forked 17904 -(17903) found -(17904) found -[19855] Forked 17905 -[19854] Forked 17906 -(17905) found -(17906) found -[19853] Forked 17907 -[19852] Forked 17908 -(17907) found -(17908) found -[19851] Forked 17909 -[19850] Forked 17910 -(17909) found -(17910) found -[19849] Forked 17911 -[19848] Forked 17912 -(17911) found -(17912) found -[19847] Forked 17913 -[19846] Forked 17914 -(17913) found -(17914) found -[19845] Forked 17915 -[19844] Forked 17916 -(17915) found -(17916) found -[19843] Forked 17917 -[19842] Forked 17918 -(17917) found -(17918) found -[19841] Forked 17919 -[19840] Forked 17920 -(17919) found -(17920) found -[19839] Forked 17921 -[19838] Forked 17922 -(17921) found -(17922) found -[19837] Forked 17923 -[19836] Forked 17924 -(17923) found -(17924) found -[19835] Forked 17925 -(17925) found -[19834] Forked 17926 -(17926) found -[19833] Forked 17927 -(17927) found -[19832] Forked 17928 -(17928) found -[19831] Forked 17929 -(17929) found -[19830] Forked 17930 -(17930) found -[19829] Forked 17931 -(17931) found -[19828] Forked 17932 -[19827] Forked 17933 -(17932) found -(17933) found -[19826] Forked 17934 -(17934) found -[19825] Forked 17935 -(17935) found -[19824] Forked 17936 -(17936) found -[19823] Forked 17937 -(17937) found -[19822] Forked 17938 -(17938) found -[19821] Forked 17939 -(17939) found -[19820] Forked 17940 -(17940) found -[19819] Forked 17941 -(17941) found -[19818] Forked 17942 -(17942) found -[19817] Forked 17943 -(17943) found -[19816] Forked 17944 -(17944) found -[19815] Forked 17945 -(17945) found -[19814] Forked 17946 -(17946) found -[19813] Forked 17947 -(17947) found -[19812] Forked 17948 -(17948) found -[19811] Forked 17949 -(17949) found -[19810] Forked 17950 -(17950) found -[19809] Forked 17951 -(17951) found -[19808] Forked 17952 -(17952) found -[19807] Forked 17953 -(17953) found -[19806] Forked 17954 -(17954) found -[19805] Forked 17955 -(17955) found -[19804] Forked 17956 -(17956) found -[19803] Forked 17957 -(17957) found -[19802] Forked 17958 -(17958) found -[19801] Forked 17959 -(17959) found -[19800] Forked 17960 -(17960) found -[19799] Forked 17961 -(17961) found -[19798] Forked 17962 -(17962) found -[19797] Forked 17963 -(17963) found -[19796] Forked 17964 -(17964) found -[19795] Forked 17965 -(17965) found -[19794] Forked 17966 -(17966) found -[19793] Forked 17967 -(17967) found -[19792] Forked 17968 -(17968) found -[19791] Forked 17969 -(17969) found -[19790] Forked 17970 -[19789] Forked 17971 -(17970) found -(17971) found -[19788] Forked 17972 -[19787] Forked 17973 -(17972) found -(17973) found -[19786] Forked 17974 -[19785] Forked 17975 -(17974) found -(17975) found -[19784] Forked 17976 -[19783] Forked 17977 -(17976) found -(17977) found -[19782] Forked 17978 -[19781] Forked 17979 -(17978) found -(17979) found -[19780] Forked 17980 -[19779] Forked 17981 -(17981) found -(17980) found -[19778] Forked 17982 -(17982) found -[19777] Forked 17983 -(17983) found -[19776] Forked 17984 -(17984) found -[19775] Forked 17985 -(17985) found -[19774] Forked 17986 -(17986) found -[19773] Forked 17987 -(17987) found -[19772] Forked 17988 -(17988) found -[19771] Forked 17989 -(17989) found -[19770] Forked 17990 -(17990) found -[19769] Forked 17991 -(17991) found -[19768] Forked 17992 -(17992) found -[19767] Forked 17993 -(17993) found -[19766] Forked 17994 -(17994) found -[19765] Forked 17995 -(17995) found -[19764] Forked 17996 -(17996) found -[19763] Forked 17997 -(17997) found -[19762] Forked 17998 -(17998) found -[19761] Forked 17999 -(17999) found -[19760] Forked 18000 -(18000) found -[19759] Forked 18001 -(18001) found -[19758] Forked 18002 -(18002) found -[19757] Forked 18003 -(18003) found -[19756] Forked 18004 -(18004) found -[19755] Forked 18005 -(18005) found -[19754] Forked 18006 -(18006) found -[19753] Forked 18007 -(18007) found -[19752] Forked 18008 -(18008) found -[19751] Forked 18009 -(18009) found -[19750] Forked 18010 -(18010) found -[19749] Forked 18011 -(18011) found -[19748] Forked 18012 -(18012) found -[19747] Forked 18013 -(18013) found -[19746] Forked 18014 -(18014) found -[19745] Forked 18015 -(18015) found -[19744] Forked 18016 -(18016) found -[19743] Forked 18017 -(18017) found -[19742] Forked 18018 -(18018) found -[19741] Forked 18019 -(18019) found -[19740] Forked 18020 -(18020) found -[19739] Forked 18021 -(18021) found -[19738] Forked 18022 -(18022) found -[19737] Forked 18023 -(18023) found -[19736] Forked 18024 -(18024) found -[19735] Forked 18025 -(18025) found -[19734] Forked 18026 -(18026) found -[19733] Forked 18027 -(18027) found -[19732] Forked 18028 -(18028) found -[19731] Forked 18029 -(18029) found -[19730] Forked 18030 -(18030) found -[19729] Forked 18031 -(18031) found -[19728] Forked 18032 -(18032) found -[19727] Forked 18033 -(18033) found -[19726] Forked 18034 -(18034) found -[19725] Forked 18035 -(18035) found -[19724] Forked 18036 -(18036) found -[19723] Forked 18037 -(18037) found -[19722] Forked 18038 -(18038) found -[19721] Forked 18039 -(18039) found -[19720] Forked 18040 -(18040) found -[19719] Forked 18041 -(18041) found -[19718] Forked 18042 -[19717] Forked 18043 -(18042) found -(18043) found -[19716] Forked 18044 -[19715] Forked 18045 -(18044) found -(18045) found -[19714] Forked 18046 -[19713] Forked 18047 -(18046) found -(18047) found -[19712] Forked 18048 -[19711] Forked 18049 -(18049) found -(18048) found -[19710] Forked 18050 -(18050) found -[19709] Forked 18051 -(18051) found -[19708] Forked 18052 -(18052) found -[19707] Forked 18053 -(18053) found -[19706] Forked 18055 -(18055) found -[19705] Forked 18056 -(18056) found -[19704] Forked 18057 -(18057) found -[19703] Forked 18058 -(18058) found -[19702] Forked 18059 -(18059) found -[19701] Forked 18060 -(18060) found -[19700] Forked 18061 -(18061) found -[19699] Forked 18062 -(18062) found -[19698] Forked 18063 -(18063) found -[19697] Forked 18064 -(18064) found -[19696] Forked 18065 -(18065) found -[19695] Forked 18066 -(18066) found -[19694] Forked 18067 -(18067) found -[19693] Forked 18068 -(18068) found -[19692] Forked 18069 -(18069) found -[19691] Forked 18070 -(18070) found -[19690] Forked 18071 -(18071) found -[19689] Forked 18072 -(18072) found -[19688] Forked 18073 -(18073) found -[19687] Forked 18074 -(18074) found -[19686] Forked 18075 -(18075) found -[19685] Forked 18076 -(18076) found -[19684] Forked 18077 -(18077) found -[19683] Forked 18078 -(18078) found -[19682] Forked 18079 -(18079) found -[19681] Forked 18080 -(18080) found -[19680] Forked 18081 -(18081) found -[19679] Forked 18082 -(18082) found -[19678] Forked 18083 -(18083) found -[19677] Forked 18084 -(18084) found -[19676] Forked 18085 -(18085) found -[19675] Forked 18086 -(18086) found -[19674] Forked 18087 -(18087) found -[19673] Forked 18088 -(18088) found -[19672] Forked 18089 -(18089) found -[19671] Forked 18090 -(18090) found -[19670] Forked 18091 -(18091) found -[19669] Forked 18092 -(18092) found -[19668] Forked 18093 -(18093) found -[19667] Forked 18094 -(18094) found -[19666] Forked 18095 -(18095) found -[19665] Forked 18096 -(18096) found -[19664] Forked 18097 -(18097) found -[19663] Forked 18098 -(18098) found -[19662] Forked 18099 -(18099) found -[19661] Forked 18100 -(18100) found -[19660] Forked 18101 -(18101) found -[19659] Forked 18102 -(18102) found -[19658] Forked 18103 -(18103) found -[19657] Forked 18104 -(18104) found -[19656] Forked 18105 -(18105) found -[19655] Forked 18106 -(18106) found -[19654] Forked 18107 -(18107) found -[19653] Forked 18108 -(18108) found -[19652] Forked 18109 -(18109) found -[19651] Forked 18110 -(18110) found -[19650] Forked 18111 -(18111) found -[19649] Forked 18112 -(18112) found -[19648] Forked 18113 -[19647] Forked 18114 -(18113) found -(18114) found -[19646] Forked 18115 -[19645] Forked 18116 -(18115) found -(18116) found -[19644] Forked 18117 -[19643] Forked 18118 -(18117) found -(18118) found -[19642] Forked 18119 -[19641] Forked 18120 -(18119) found -(18120) found -[19640] Forked 18121 -[19639] Forked 18122 -(18121) found -(18122) found -[19638] Forked 18123 -[19637] Forked 18124 -(18123) found -(18124) found -[19636] Forked 18125 -[19635] Forked 18126 -(18125) found -(18126) found -[19634] Forked 18127 -[19633] Forked 18128 -(18127) found -(18128) found -[19632] Forked 18129 -[19631] Forked 18130 -(18129) found -(18130) found -[19630] Forked 18131 -[19629] Forked 18132 -(18131) found -(18132) found -[19628] Forked 18133 -[19627] Forked 18134 -(18133) found -(18134) found -[19626] Forked 18135 -[19625] Forked 18136 -(18135) found -(18136) found -[19624] Forked 18137 -[19623] Forked 18138 -(18137) found -(18138) found -[19622] Forked 18139 -[19621] Forked 18140 -(18139) found -(18140) found -[19620] Forked 18141 -[19619] Forked 18142 -(18141) found -(18142) found -[19618] Forked 18143 -[19617] Forked 18144 -(18143) found -(18144) found -[19616] Forked 18145 -[19615] Forked 18146 -(18145) found -(18146) found -[19614] Forked 18147 -[19613] Forked 18148 -(18147) found -(18148) found -[19612] Forked 18149 -[19611] Forked 18150 -(18149) found -(18150) found -[19610] Forked 18151 -[19609] Forked 18152 -(18151) found -(18152) found -[19608] Forked 18153 -[19607] Forked 18154 -(18153) found -(18154) found -[19606] Forked 18155 -[19605] Forked 18156 -(18155) found -(18156) found -[19604] Forked 18157 -[19603] Forked 18158 -(18157) found -(18158) found -[19602] Forked 18159 -[19601] Forked 18160 -(18159) found -(18160) found -[19600] Forked 18161 -(18161) found -[19599] Forked 18162 -(18162) found -[19598] Forked 18163 -(18163) found -[19597] Forked 18164 -(18164) found -[19596] Forked 18165 -(18165) found -[19595] Forked 18166 -(18166) found -[19594] Forked 18167 -(18167) found -[19593] Forked 18168 -(18168) found -[19592] Forked 18169 -(18169) found -[19591] Forked 18170 -(18170) found -[19590] Forked 18171 -(18171) found -[19589] Forked 18172 -(18172) found -[19588] Forked 18173 -(18173) found -[19587] Forked 18174 -(18174) found -[19586] Forked 18175 -(18175) found -[19585] Forked 18176 -(18176) found -[19584] Forked 18177 -(18177) found -[19583] Forked 18178 -(18178) found -[19582] Forked 18179 -(18179) found -[19581] Forked 18180 -(18180) found -[19580] Forked 18181 -(18181) found -[19579] Forked 18182 -(18182) found -[19578] Forked 18183 -(18183) found -[19577] Forked 18184 -(18184) found -[19576] Forked 18185 -(18185) found -[19575] Forked 18186 -(18186) found -[19574] Forked 18187 -(18187) found -[19573] Forked 18188 -(18188) found -[19572] Forked 18189 -(18189) found -[19571] Forked 18190 -(18190) found -[19570] Forked 18191 -(18191) found -[19569] Forked 18192 -(18192) found -[19568] Forked 18193 -(18193) found -[19567] Forked 18194 -(18194) found -[19566] Forked 18195 -(18195) found -[19565] Forked 18196 -(18196) found -[19564] Forked 18197 -[19563] Forked 18198 -(18197) found -(18198) found -[19562] Forked 18199 -[19561] Forked 18200 -(18199) found -(18200) found -[19560] Forked 18201 -[19559] Forked 18202 -(18201) found -(18202) found -[19558] Forked 18203 -[19557] Forked 18204 -(18203) found -(18204) found -[19556] Forked 18205 -[19555] Forked 18206 -(18205) found -(18206) found -[19554] Forked 18207 -[19553] Forked 18208 -(18207) found -(18208) found -[19552] Forked 18209 -[19551] Forked 18210 -(18209) found -(18210) found -[19550] Forked 18211 -[19549] Forked 18212 -(18211) found -(18212) found -[19548] Forked 18213 -[19547] Forked 18214 -(18213) found -(18214) found -[19546] Forked 18215 -[19545] Forked 18216 -(18215) found -(18216) found -[19544] Forked 18217 -[19543] Forked 18218 -(18217) found -(18218) found -[19542] Forked 18219 -[19541] Forked 18220 -(18219) found -(18220) found -[19540] Forked 18221 -[19539] Forked 18222 -(18221) found -(18222) found -[19538] Forked 18223 -[19537] Forked 18224 -(18223) found -(18224) found -[19536] Forked 18225 -[19535] Forked 18226 -(18225) found -(18226) found -[19534] Forked 18227 -[19533] Forked 18228 -(18227) found -(18228) found -[19532] Forked 18229 -[19531] Forked 18230 -(18229) found -(18230) found -[19530] Forked 18231 -[19529] Forked 18232 -(18231) found -(18232) found -[19528] Forked 18233 -[19527] Forked 18234 -(18233) found -(18234) found -[19526] Forked 18235 -[19525] Forked 18236 -(18235) found -(18236) found -[19524] Forked 18237 -[19523] Forked 18238 -(18237) found -(18238) found -[19522] Forked 18239 -[19521] Forked 18240 -(18239) found -(18240) found -[19520] Forked 18241 -[19519] Forked 18242 -(18241) found -(18242) found -[19518] Forked 18243 -[19517] Forked 18244 -(18243) found -(18244) found -[19516] Forked 18245 -[19515] Forked 18246 -(18245) found -(18246) found -[19514] Forked 18247 -[19513] Forked 18248 -(18247) found -(18248) found -[19512] Forked 18249 -[19511] Forked 18250 -(18249) found -(18250) found -[19510] Forked 18251 -[19509] Forked 18252 -(18251) found -(18252) found -[19508] Forked 18253 -[19507] Forked 18254 -(18253) found -(18254) found -[19506] Forked 18255 -[19505] Forked 18256 -(18255) found -(18256) found -[19504] Forked 18257 -[19503] Forked 18258 -(18257) found -(18258) found -[19502] Forked 18259 -[19501] Forked 18260 -(18259) found -(18260) found -[19500] Forked 18261 -[19499] Forked 18262 -(18261) found -(18262) found -[19498] Forked 18263 -[19497] Forked 18264 -(18263) found -(18264) found -[19496] Forked 18265 -[19495] Forked 18266 -(18265) found -(18266) found -[19494] Forked 18267 -[19493] Forked 18268 -(18267) found -(18268) found -[19492] Forked 18269 -[19491] Forked 18270 -(18269) found -(18270) found -[19490] Forked 18271 -[19489] Forked 18272 -(18271) found -(18272) found -[19488] Forked 18273 -[19487] Forked 18274 -(18273) found -(18274) found -[19486] Forked 18275 -[19485] Forked 18276 -(18275) found -(18276) found -[19484] Forked 18277 -[19483] Forked 18278 -(18277) found -(18278) found -[19482] Forked 18279 -[19481] Forked 18280 -(18279) found -(18280) found -[19480] Forked 18281 -[19479] Forked 18282 -(18281) found -(18282) found -[19478] Forked 18283 -[19477] Forked 18284 -(18283) found -(18284) found -[19476] Forked 18285 -[19475] Forked 18286 -(18285) found -(18286) found -[19474] Forked 18287 -[19473] Forked 18288 -(18287) found -(18288) found -[19472] Forked 18289 -[19471] Forked 18290 -(18289) found -(18290) found -[19470] Forked 18291 -[19469] Forked 18292 -(18291) found -(18292) found -[19468] Forked 18293 -[19467] Forked 18294 -(18293) found -(18294) found -[19466] Forked 18295 -[19465] Forked 18296 -(18295) found -(18296) found -[19464] Forked 18297 -[19463] Forked 18298 -(18297) found -(18298) found -[19462] Forked 18299 -[19461] Forked 18300 -(18299) found -(18300) found -[19460] Forked 18301 -[19459] Forked 18302 -(18301) found -(18302) found -[19458] Forked 18303 -[19457] Forked 18304 -(18303) found -(18304) found -[19456] Forked 18305 -[19455] Forked 18306 -(18305) found -(18306) found -[19454] Forked 18307 -[19453] Forked 18308 -(18307) found -(18308) found -[19452] Forked 18309 -[19451] Forked 18310 -(18309) found -(18310) found -[19450] Forked 18311 -[19449] Forked 18312 -(18311) found -(18312) found -[19448] Forked 18313 -[19447] Forked 18314 -(18313) found -(18314) found -[19446] Forked 18315 -[19445] Forked 18316 -(18315) found -(18316) found -[19444] Forked 18317 -[19443] Forked 18318 -(18317) found -(18318) found -[19442] Forked 18319 -[19441] Forked 18320 -(18319) found -(18320) found -[19440] Forked 18321 -[19439] Forked 18322 -(18321) found -(18322) found -[19438] Forked 18323 -[19437] Forked 18324 -(18323) found -(18324) found -[19436] Forked 18325 -[19435] Forked 18326 -(18325) found -(18326) found -[19434] Forked 18327 -[19433] Forked 18328 -(18327) found -(18328) found -[19432] Forked 18329 -[19431] Forked 18330 -(18329) found -(18330) found -[19430] Forked 18331 -[19429] Forked 18332 -(18331) found -(18332) found -[19428] Forked 18333 -[19427] Forked 18334 -(18333) found -(18334) found -[19426] Forked 18335 -[19425] Forked 18336 -(18335) found -(18336) found -[19424] Forked 18337 -(18337) found -[19423] Forked 18338 -[19422] Forked 18339 -(18338) found -(18339) found -[19421] Forked 18340 -[19420] Forked 18341 -(18340) found -(18341) found -[19419] Forked 18342 -[19418] Forked 18343 -(18342) found -(18343) found -[19417] Forked 18344 -[19416] Forked 18345 -(18344) found -(18345) found -[19415] Forked 18346 -[19414] Forked 18347 -(18346) found -(18347) found -[19413] Forked 18348 -[19412] Forked 18349 -(18348) found -(18349) found -[19411] Forked 18350 -[19410] Forked 18351 -(18350) found -(18351) found -[19409] Forked 18352 -[19408] Forked 18353 -(18352) found -(18353) found -[19407] Forked 18354 -[19406] Forked 18355 -(18354) found -(18355) found -[19405] Forked 18356 -[19404] Forked 18357 -(18356) found -(18357) found -[19403] Forked 18358 -[19402] Forked 18359 -(18358) found -(18359) found -[19401] Forked 18360 -[19400] Forked 18361 -(18360) found -(18361) found -[19399] Forked 18362 -[19398] Forked 18363 -(18362) found -(18363) found -[19397] Forked 18364 -[19396] Forked 18365 -(18364) found -(18365) found -[19395] Forked 18366 -[19394] Forked 18367 -(18366) found -(18367) found -[19393] Forked 18368 -[19392] Forked 18369 -(18368) found -(18369) found -[19391] Forked 18370 -[19390] Forked 18371 -(18370) found -(18371) found -[19389] Forked 18372 -[19388] Forked 18373 -(18372) found -(18373) found -[19387] Forked 18374 -[19386] Forked 18375 -(18374) found -(18375) found -[19385] Forked 18376 -[19384] Forked 18377 -(18376) found -(18377) found -[19383] Forked 18378 -[19382] Forked 18379 -(18378) found -(18379) found -[19381] Forked 18380 -(18380) found -[19380] Forked 18381 -(18381) found -[19379] Forked 18382 -(18382) found -[19378] Forked 18383 -(18383) found -[19377] Forked 18384 -(18384) found -[19376] Forked 18385 -(18385) found -[19375] Forked 18386 -(18386) found -[19374] Forked 18387 -(18387) found -[19373] Forked 18388 -(18388) found -[19372] Forked 18389 -(18389) found -[19371] Forked 18390 -(18390) found -[19370] Forked 18391 -(18391) found -[19369] Forked 18392 -(18392) found -[19368] Forked 18393 -(18393) found -[19367] Forked 18394 -(18394) found -[19366] Forked 18395 -(18395) found -[19365] Forked 18396 -(18396) found -[19364] Forked 18397 -(18397) found -[19363] Forked 18398 -(18398) found -[19362] Forked 18399 -(18399) found -[19361] Forked 18400 -(18400) found -[19360] Forked 18401 -(18401) found -[19359] Forked 18402 -(18402) found -[19358] Forked 18403 -(18403) found -[19357] Forked 18404 -(18404) found -[19356] Forked 18405 -(18405) found -[19355] Forked 18406 -(18406) found -[19354] Forked 18407 -(18407) found -[19353] Forked 18408 -(18408) found -[19352] Forked 18409 -(18409) found -[19351] Forked 18410 -(18410) found -[19350] Forked 18411 -(18411) found -[19349] Forked 18412 -(18412) found -[19348] Forked 18413 -(18413) found -[19347] Forked 18414 -(18414) found -[19346] Forked 18415 -(18415) found -[19345] Forked 18416 -(18416) found -[19344] Forked 18417 -(18417) found -[19343] Forked 18418 -(18418) found -[19342] Forked 18419 -[19341] Forked 18420 -(18419) found -(18420) found -[19340] Forked 18421 -[19339] Forked 18422 -(18421) found -(18422) found -[19338] Forked 18423 -[19337] Forked 18424 -(18423) found -(18424) found -[19336] Forked 18425 -[19335] Forked 18426 -(18425) found -(18426) found -[19334] Forked 18427 -[19333] Forked 18428 -(18427) found -(18428) found -[19332] Forked 18429 -[19331] Forked 18430 -(18429) found -(18430) found -[19330] Forked 18431 -[19329] Forked 18432 -(18431) found -(18432) found -[19328] Forked 18433 -[19327] Forked 18434 -(18433) found -(18434) found -[19326] Forked 18435 -[19325] Forked 18436 -(18435) found -(18436) found -[19324] Forked 18437 -[19323] Forked 18438 -(18437) found -(18438) found -[19322] Forked 18439 -[19321] Forked 18440 -(18439) found -(18440) found -[19320] Forked 18441 -[19319] Forked 18442 -(18441) found -(18442) found -[19318] Forked 18443 -[19317] Forked 18444 -(18443) found -(18444) found -[19316] Forked 18445 -[19315] Forked 18446 -(18445) found -(18446) found -[19314] Forked 18447 -[19313] Forked 18448 -(18447) found -(18448) found -[19312] Forked 18449 -[19311] Forked 18450 -(18449) found -(18450) found -[19310] Forked 18451 -[19309] Forked 18452 -(18451) found -(18452) found -[19308] Forked 18453 -[19307] Forked 18454 -(18453) found -(18454) found -[19306] Forked 18455 -[19305] Forked 18456 -(18455) found -(18456) found -[19304] Forked 18457 -[19303] Forked 18458 -(18457) found -(18458) found -[19302] Forked 18459 -[19301] Forked 18460 -(18459) found -(18460) found -[19300] Forked 18461 -[19299] Forked 18462 -(18461) found -(18462) found -[19298] Forked 18463 -(18463) found -[19297] Forked 18464 -(18464) found -[19296] Forked 18466 -(18466) found -[19295] Forked 18467 -(18467) found -[19294] Forked 18468 -(18468) found -[19293] Forked 18469 -(18469) found -[19292] Forked 18470 -(18470) found -[19291] Forked 18471 -(18471) found -[19290] Forked 18472 -(18472) found -[19289] Forked 18473 -(18473) found -[19288] Forked 18474 -(18474) found -[19287] Forked 18475 -(18475) found -[19286] Forked 18476 -(18476) found -[19285] Forked 18477 -(18477) found -[19284] Forked 18478 -(18478) found -[19283] Forked 18479 -(18479) found -[19282] Forked 18480 -(18480) found -[19281] Forked 18481 -(18481) found -[19280] Forked 18482 -(18482) found -[19279] Forked 18483 -(18483) found -[19278] Forked 18484 -(18484) found -[19277] Forked 18485 -(18485) found -[19276] Forked 18486 -(18486) found -[19275] Forked 18487 -(18487) found -[19274] Forked 18488 -(18488) found -[19273] Forked 18489 -(18489) found -[19272] Forked 18490 -(18490) found -[19271] Forked 18491 -(18491) found -[19270] Forked 18492 -(18492) found -[19269] Forked 18493 -(18493) found -[19268] Forked 18494 -(18494) found -[19267] Forked 18495 -(18495) found -[19266] Forked 18496 -(18496) found -[19265] Forked 18497 -(18497) found -[19264] Forked 18498 -(18498) found -[19263] Forked 18499 -(18499) found -[19262] Forked 18500 -(18500) found -[19261] Forked 18501 -(18501) found -[19260] Forked 18502 -(18502) found -[19259] Forked 18503 -[19258] Forked 18504 -(18503) found -(18504) found -[19257] Forked 18505 -[19256] Forked 18506 -(18505) found -(18506) found -[19255] Forked 18507 -[19254] Forked 18508 -(18507) found -(18508) found -[19253] Forked 18509 -[19252] Forked 18510 -(18509) found -(18510) found -[19251] Forked 18511 -[19250] Forked 18512 -(18511) found -(18512) found -[19249] Forked 18513 -[19248] Forked 18514 -(18513) found -(18514) found -[19247] Forked 18515 -[19246] Forked 18516 -(18515) found -(18516) found -[19245] Forked 18517 -[19244] Forked 18518 -(18518) found -(18517) found -[19243] Forked 18519 -(18519) found -[19242] Forked 18520 -(18520) found -[19241] Forked 18521 -(18521) found -[19240] Forked 18522 -(18522) found -[19239] Forked 18523 -(18523) found -[19238] Forked 18524 -(18524) found -[19237] Forked 18525 -(18525) found -[19236] Forked 18526 -(18526) found -[19235] Forked 18527 -(18527) found -[19234] Forked 18528 -(18528) found -[19233] Forked 18529 -(18529) found -[19232] Forked 18530 -(18530) found -[19231] Forked 18531 -(18531) found -[19230] Forked 18532 -(18532) found -[19229] Forked 18533 -(18533) found -[19228] Forked 18534 -(18534) found -[19227] Forked 18535 -(18535) found -[19226] Forked 18536 -(18536) found -[19225] Forked 18537 -(18537) found -[19224] Forked 18538 -(18538) found -[19223] Forked 18539 -(18539) found -[19222] Forked 18540 -(18540) found -[19221] Forked 18541 -(18541) found -[19220] Forked 18542 -(18542) found -[19219] Forked 18543 -(18543) found -[19218] Forked 18544 -(18544) found -[19217] Forked 18545 -(18545) found -[19216] Forked 18546 -(18546) found -[19215] Forked 18547 -(18547) found -[19214] Forked 18548 -(18548) found -[19213] Forked 18549 -(18549) found -[19212] Forked 18550 -(18550) found -[19211] Forked 18551 -(18551) found -[19210] Forked 18552 -(18552) found -[19209] Forked 18553 -(18553) found -[19208] Forked 18554 -(18554) found -[19207] Forked 18555 -(18555) found -[19206] Forked 18556 -(18556) found -[19205] Forked 18557 -(18557) found -[19204] Forked 18558 -(18558) found -[19203] Forked 18559 -(18559) found -[19202] Forked 18560 -(18560) found -[19201] Forked 18561 -(18561) found -[19200] Forked 18562 -(18562) found -[19199] Forked 18563 -(18563) found -[19198] Forked 18564 -(18564) found -[19197] Forked 18565 -(18565) found -[19196] Forked 18566 -(18566) found -[19195] Forked 18567 -(18567) found -[19194] Forked 18568 -(18568) found -[19193] Forked 18569 -(18569) found -[19192] Forked 18570 -(18570) found -[19191] Forked 18571 -(18571) found -[19190] Forked 18572 -(18572) found -[19189] Forked 18573 -(18573) found -[19188] Forked 18574 -(18574) found -[19187] Forked 18575 -[19186] Forked 18576 -(18575) found -(18576) found -[19185] Forked 18577 -[19184] Forked 18578 -(18577) found -(18578) found -[19183] Forked 18579 -[19182] Forked 18580 -(18579) found -(18580) found -[19181] Forked 18581 -[19180] Forked 18582 -(18581) found -(18582) found -[19179] Forked 18583 -[19178] Forked 18584 -(18583) found -(18584) found -[19177] Forked 18585 -[19176] Forked 18586 -(18585) found -(18586) found -[19175] Forked 18587 -[19174] Forked 18588 -(18587) found -(18588) found -[19173] Forked 18589 -[19172] Forked 18590 -(18589) found -(18590) found -[19171] Forked 18591 -[19170] Forked 18592 -(18591) found -(18592) found -[19169] Forked 18593 -[19168] Forked 18594 -(18593) found -(18594) found -[19167] Forked 18595 -[19166] Forked 18596 -(18595) found -(18596) found -[19165] Forked 18597 -[19164] Forked 18598 -(18597) found -(18598) found -[19163] Forked 18599 -[19162] Forked 18600 -(18599) found -(18600) found -[19161] Forked 18601 -[19160] Forked 18602 -(18601) found -(18602) found -[19159] Forked 18603 -[19158] Forked 18604 -(18603) found -(18604) found -[19157] Forked 18605 -[19156] Forked 18606 -(18605) found -(18606) found -[19155] Forked 18607 -[19154] Forked 18608 -(18607) found -(18608) found -[19153] Forked 18609 -[19152] Forked 18610 -(18609) found -(18610) found -[19151] Forked 18612 -[19150] Forked 18613 -(18612) found -(18613) found -[19149] Forked 18614 -[19148] Forked 18615 -(18614) found -(18615) found -[19147] Forked 18616 -[19146] Forked 18617 -(18616) found -(18617) found -[19145] Forked 18618 -[19144] Forked 18619 -(18618) found -(18619) found -[19143] Forked 18620 -(18620) found -[19142] Forked 18621 -(18621) found -[19141] Forked 18622 -(18622) found -[19140] Forked 18623 -(18623) found -[19139] Forked 18624 -(18624) found -[19138] Forked 18625 -(18625) found -[19137] Forked 18626 -(18626) found -[19136] Forked 18627 -(18627) found -[19135] Forked 18628 -(18628) found -[19134] Forked 18629 -(18629) found -[19133] Forked 18630 -(18630) found -[19132] Forked 18631 -(18631) found -[19131] Forked 18632 -(18632) found -[19130] Forked 18633 -(18633) found -[19129] Forked 18634 -(18634) found -[19128] Forked 18635 -(18635) found -[19127] Forked 18636 -(18636) found -[19126] Forked 18637 -(18637) found -[19125] Forked 18638 -(18638) found -[19124] Forked 18639 -(18639) found -[19123] Forked 18640 -(18640) found -[19122] Forked 18641 -(18641) found -[19121] Forked 18642 -(18642) found -[19120] Forked 18643 -(18643) found -[19119] Forked 18644 -(18644) found -[19118] Forked 18645 -(18645) found -[19117] Forked 18646 -(18646) found -[19116] Forked 18647 -(18647) found -[19115] Forked 18648 -(18648) found -[19114] Forked 18649 -(18649) found -[19113] Forked 18650 -(18650) found -[19112] Forked 18651 -(18651) found -[19111] Forked 18652 -(18652) found -[19110] Forked 18653 -(18653) found -[19109] Forked 18654 -(18654) found -[19108] Forked 18655 -(18655) found -[19107] Forked 18656 -(18656) found -[19106] Forked 18657 -[19105] Forked 18658 -(18657) found -(18658) found -[19104] Forked 18659 -[19103] Forked 18660 -(18659) found -(18660) found -[19102] Forked 18661 -[19101] Forked 18662 -(18661) found -(18662) found -[19100] Forked 18663 -[19099] Forked 18664 -(18663) found -(18664) found -[19098] Forked 18665 -[19097] Forked 18666 -(18665) found -(18666) found -[19096] Forked 18667 -[19095] Forked 18668 -(18667) found -(18668) found -[19094] Forked 18669 -[19093] Forked 18670 -(18669) found -(18670) found -[19092] Forked 18671 -[19091] Forked 18672 -(18671) found -(18672) found -[19090] Forked 18673 -[19089] Forked 18674 -(18673) found -(18674) found -[19088] Forked 18675 -[19087] Forked 18676 -(18675) found -(18676) found -[19086] Forked 18677 -[19085] Forked 18678 -(18677) found -(18678) found -[19084] Forked 18679 -[19083] Forked 18680 -(18679) found -(18680) found -[19082] Forked 18681 -[19081] Forked 18682 -(18681) found -(18682) found -[19080] Forked 18683 -[19079] Forked 18684 -(18683) found -(18684) found -[19078] Forked 18685 -[19077] Forked 18686 -(18685) found -(18686) found -[19076] Forked 18687 -[19075] Forked 18688 -(18687) found -(18688) found -[19074] Forked 18689 -[19073] Forked 18690 -(18689) found -(18690) found -[19072] Forked 18691 -[19071] Forked 18692 -(18691) found -(18692) found -[19070] Forked 18693 -[19069] Forked 18694 -(18693) found -(18694) found -[19068] Forked 18695 -[19067] Forked 18696 -(18695) found -(18696) found -[19066] Forked 18697 -[19065] Forked 18698 -(18697) found -(18698) found -[19064] Forked 18699 -[19063] Forked 18700 -(18699) found -(18700) found -[19062] Forked 18701 -[19061] Forked 18702 -(18701) found -(18702) found -[19060] Forked 18703 -[19059] Forked 18704 -(18703) found -(18704) found -[19058] Forked 18705 -[19057] Forked 18706 -(18705) found -(18706) found -[19056] Forked 18707 -[19055] Forked 18708 -(18707) found -(18708) found -[19054] Forked 18709 -[19053] Forked 18710 -(18709) found -(18710) found -[19052] Forked 18711 -[19051] Forked 18712 -(18711) found -(18712) found -[19050] Forked 18713 -[19049] Forked 18714 -(18713) found -(18714) found -[19048] Forked 18715 -[19047] Forked 18716 -(18715) found -(18716) found -[19046] Forked 18717 -[19045] Forked 18718 -(18717) found -(18718) found -[19044] Forked 18719 -[19043] Forked 18720 -(18719) found -(18720) found -[19042] Forked 18721 -[19041] Forked 18722 -(18721) found -(18722) found -[19040] Forked 18723 -[19039] Forked 18724 -(18723) found -(18724) found -[19038] Forked 18725 -[19037] Forked 18726 -(18725) found -(18726) found -[19036] Forked 18727 -[19035] Forked 18728 -(18727) found -(18728) found -[19034] Forked 18729 -[19033] Forked 18730 -(18729) found -(18730) found -[19032] Forked 18731 -[19031] Forked 18732 -(18731) found -(18732) found -[19030] Forked 18733 -[19029] Forked 18734 -(18733) found -(18734) found -[19028] Forked 18735 -[19027] Forked 18736 -(18735) found -(18736) found -[19026] Forked 18737 -(18737) found -[19025] Forked 18738 -[19024] Forked 18739 -(18738) found -(18739) found -[19023] Forked 18740 -[19022] Forked 18741 -(18740) found -(18741) found -[19021] Forked 18742 -[19020] Forked 18743 -(18742) found -(18743) found -[19019] Forked 18744 -[19018] Forked 18745 -(18744) found -(18745) found -[19017] Forked 18746 -[19016] Forked 18747 -(18746) found -(18747) found -[19015] Forked 18748 -[19014] Forked 18749 -(18748) found -(18749) found -[19013] Forked 18750 -[19012] Forked 18751 -(18750) found -(18751) found -[19011] Forked 18752 -[19010] Forked 18753 -(18752) found -(18753) found -[19009] Forked 18754 -[19008] Forked 18755 -(18754) found -(18755) found -[19007] Forked 18756 -[19006] Forked 18757 -(18756) found -(18757) found -[19005] Forked 18758 -[19004] Forked 18759 -(18758) found -(18759) found -[19003] Forked 18760 -[19002] Forked 18761 -(18760) found -(18761) found -[19001] Forked 18762 -[19000] Forked 18763 -(18762) found -(18763) found -[18999] Forked 18764 -[18998] Forked 18765 -(18764) found -(18765) found -[18997] Forked 18766 -[18996] Forked 18767 -(18766) found -(18767) found -[18995] Forked 18768 -[18994] Forked 18769 -(18768) found -(18769) found -[18993] Forked 18770 -[18992] Forked 18771 -(18770) found -(18771) found -[18991] Forked 18772 -[18990] Forked 18773 -(18772) found -(18773) found -[18989] Forked 18774 -[18988] Forked 18775 -(18774) found -(18775) found -[18987] Forked 18776 -[18986] Forked 18777 -(18776) found -(18777) found -[18985] Forked 18778 -[18984] Forked 18779 -(18778) found -(18779) found -[18983] Forked 18780 -[18982] Forked 18781 -(18780) found -(18781) found -[18981] Forked 18782 -[18980] Forked 18783 -(18782) found -(18783) found -[18979] Forked 18784 -[18978] Forked 18785 -(18784) found -(18785) found -[18977] Forked 18786 -[18976] Forked 18787 -(18786) found -(18787) found -[18975] Forked 18788 -[18974] Forked 18789 -(18788) found -(18789) found -[18973] Forked 18790 -[18972] Forked 18791 -(18790) found -(18791) found -[18971] Forked 18792 -(18792) found -[18970] Forked 18793 -(18793) found -[18969] Forked 18794 -(18794) found -[18968] Forked 18795 -(18795) found -[18967] Forked 18796 -(18796) found -[18966] Forked 18797 -(18797) found -[18965] Forked 18798 -(18798) found -[18964] Forked 18799 -(18799) found -[18963] Forked 18800 -(18800) found -[18962] Forked 18801 -(18801) found -[18961] Forked 18802 -(18802) found -[18960] Forked 18803 -(18803) found -[18959] Forked 18804 -(18804) found -[18958] Forked 18805 -(18805) found -[18957] Forked 18806 -(18806) found -[18956] Forked 18807 -(18807) found -[18955] Forked 18808 -(18808) found -[18954] Forked 18809 -(18809) found -[18953] Forked 18810 -(18810) found -[18952] Forked 18811 -(18811) found -[18951] Forked 18812 -(18812) found -[18950] Forked 18813 -(18813) found -[18949] Forked 18814 -(18814) found -[18948] Forked 18815 -(18815) found -[18947] Forked 18816 -(18816) found -[18946] Forked 18817 -(18817) found -[18945] Forked 18818 -(18818) found -[18944] Forked 18819 -(18819) found -[18943] Forked 18820 -(18820) found -[18942] Forked 18821 -(18821) found -[18941] Forked 18822 -(18822) found -[18940] Forked 18823 -(18823) found -[18939] Forked 18824 -(18824) found -[18938] Forked 18825 -(18825) found -[18937] Forked 18826 -(18826) found -[18936] Forked 18827 -(18827) found -[18935] Forked 18828 -(18828) found -[18934] Forked 18829 -[18933] Forked 18830 -(18829) found -(18830) found -[18932] Forked 18831 -[18931] Forked 18832 -(18831) found -(18832) found -[18930] Forked 18833 -[18929] Forked 18834 -(18833) found -(18834) found -[18928] Forked 18835 -[18927] Forked 18836 -(18835) found -(18836) found -[18926] Forked 18837 -[18925] Forked 18838 -(18837) found -(18838) found -[18924] Forked 18839 -[18923] Forked 18840 -(18839) found -(18840) found -[18922] Forked 18841 -[18921] Forked 18842 -(18841) found -(18842) found -[18920] Forked 18843 -[18919] Forked 18844 -(18843) found -(18844) found -[18918] Forked 18845 -[18917] Forked 18846 -(18845) found -(18846) found -[18916] Forked 18847 -[18915] Forked 18848 -(18847) found -(18848) found -[18914] Forked 18849 -[18913] Forked 18850 -(18849) found -(18850) found -[18912] Forked 18851 -[18911] Forked 18852 -(18851) found -(18852) found -[18910] Forked 18853 -[18909] Forked 18854 -(18853) found -(18854) found -[18908] Forked 18855 -[18907] Forked 18856 -(18855) found -(18856) found -[18906] Forked 18857 -[18905] Forked 18858 -(18857) found -(18858) found -[18904] Forked 18859 -[18903] Forked 18860 -(18859) found -(18860) found -[18902] Forked 18861 -[18901] Forked 18862 -(18861) found -(18862) found -[18900] Forked 18863 -[18899] Forked 18864 -(18863) found -(18864) found -[18898] Forked 18865 -[18897] Forked 18866 -(18865) found -(18866) found -[18896] Forked 18867 -(18867) found -[18895] Forked 18868 -[18894] Forked 18869 -(18868) found -(18869) found -[18893] Forked 18870 -[18892] Forked 18871 -(18870) found -(18871) found -[18891] Forked 18872 -(18872) found -[18890] Forked 18873 -(18873) found -[18889] Forked 18874 -(18874) found -[18888] Forked 18875 -(18875) found -[18887] Forked 18876 -(18876) found -[18886] Forked 18877 -(18877) found -[18885] Forked 18878 -(18878) found -[18884] Forked 18879 -(18879) found -[18883] Forked 18880 -(18880) found -[18882] Forked 18881 -(18881) found -[18881] Forked 18882 -(18882) found -[18880] Forked 18883 -(18883) found -[18879] Forked 18884 -(18884) found -[18878] Forked 18885 -(18885) found -[18877] Forked 18886 -(18886) found -[18876] Forked 18887 -(18887) found -[18875] Forked 18888 -(18888) found -[18874] Forked 18889 -(18889) found -[18873] Forked 18890 -(18890) found -[18872] Forked 18891 -(18891) found -[18871] Forked 18892 -(18892) found -[18870] Forked 18895 -(18895) found -[18869] Forked 18896 -(18896) found -[18868] Forked 18897 -(18897) found -[18867] Forked 18898 -(18898) found -[18866] Forked 18899 -(18899) found -[18865] Forked 18900 -(18900) found -[18864] Forked 18901 -(18901) found -[18863] Forked 18902 -(18902) found -[18862] Forked 18903 -(18903) found -[18861] Forked 18904 -(18904) found -[18860] Forked 18905 -(18905) found -[18859] Forked 18906 -(18906) found -[18858] Forked 18907 -(18907) found -[18857] Forked 18908 -(18908) found -[18856] Forked 18909 -(18909) found -[18855] Forked 18910 -(18910) found -[18854] Forked 18911 -(18911) found -[18853] Forked 18912 -(18912) found -[18852] Forked 18913 -[18851] Forked 18914 -(18913) found -(18914) found -[18850] Forked 18915 -[18849] Forked 18916 -(18915) found -(18916) found -[18848] Forked 18917 -[18847] Forked 18918 -(18917) found -(18918) found -[18846] Forked 18919 -[18845] Forked 18920 -(18920) found -(18919) found -[18844] Forked 18921 -(18921) found -[18843] Forked 18922 -(18922) found -[18842] Forked 18923 -(18923) found -[18841] Forked 18925 -(18925) found -[18840] Forked 18926 -(18926) found -[18839] Forked 18927 -(18927) found -[18838] Forked 18928 -(18928) found -[18837] Forked 18929 -(18929) found -[18836] Forked 18930 -(18930) found -[18835] Forked 18931 -(18931) found -[18834] Forked 18932 -(18932) found -[18833] Forked 18933 -(18933) found -[18832] Forked 18934 -(18934) found -[18831] Forked 18935 -(18935) found -[18830] Forked 18936 -(18936) found -[18829] Forked 18937 -(18937) found -[18828] Forked 18938 -(18938) found -[18827] Forked 18939 -(18939) found -[18826] Forked 18940 -(18940) found -[18825] Forked 18941 -(18941) found -[18824] Forked 18942 -(18942) found -[18823] Forked 18943 -(18943) found -[18822] Forked 18944 -(18944) found -[18821] Forked 18945 -(18945) found -[18820] Forked 18946 -[18819] Forked 18947 -(18946) found -(18947) found -[18818] Forked 18948 -[18817] Forked 18949 -(18948) found -(18949) found -[18816] Forked 18950 -[18815] Forked 18951 -(18950) found -(18951) found -[18814] Forked 18952 -[18813] Forked 18953 -(18952) found -(18953) found -[18812] Forked 18954 -[18811] Forked 18955 -(18954) found -(18955) found -[18810] Forked 18956 -[18809] Forked 18957 -(18956) found -(18957) found -[18808] Forked 18958 -[18807] Forked 18959 -(18958) found -(18959) found -[18806] Forked 18960 -[18805] Forked 18961 -(18960) found -(18961) found -[18804] Forked 18962 -[18803] Forked 18963 -(18962) found -(18963) found -[18802] Forked 18964 -[18801] Forked 18965 -(18964) found -(18965) found -[18800] Forked 18966 -[18799] Forked 18967 -(18966) found -(18967) found -[18798] Forked 18968 -(18968) found -[18797] Forked 18969 -(18969) found -[18796] Forked 18970 -[18795] Forked 18971 -(18970) found -(18971) found -[18794] Forked 18972 -[18793] Forked 18973 -(18972) found -(18973) found -[18792] Forked 18974 -[18791] Forked 18975 -(18974) found -(18975) found -[18790] Forked 18976 -[18789] Forked 18977 -(18976) found -(18977) found -[18788] Forked 18978 -[18787] Forked 18979 -(18978) found -(18979) found -[18786] Forked 18980 -[18785] Forked 18981 -(18980) found -(18981) found -[18784] Forked 18982 -[18783] Forked 18983 -(18982) found -(18983) found -[18782] Forked 18984 -[18781] Forked 18985 -(18984) found -(18985) found -[18780] Forked 18986 -[18779] Forked 18987 -(18986) found -(18987) found -[18778] Forked 18988 -[18777] Forked 18990 -(18988) found -(18990) found -[18776] Forked 18991 -(18991) found -[18775] Forked 18992 -(18992) found -[18774] Forked 18993 -(18993) found -[18773] Forked 18994 -(18994) found -[18772] Forked 18995 -(18995) found -[18771] Forked 18996 -(18996) found -[18770] Forked 18997 -(18997) found -[18769] Forked 18998 -(18998) found -[18768] Forked 18999 -(18999) found -[18767] Forked 19000 -(19000) found -[18766] Forked 19001 -(19001) found -[18765] Forked 19002 -(19002) found -[18764] Forked 19003 -(19003) found -[18763] Forked 19004 -(19004) found -[18762] Forked 19005 -(19005) found -[18761] Forked 19006 -(19006) found -[18760] Forked 19007 -(19007) found -[18759] Forked 19008 -(19008) found -[18758] Forked 19009 -(19009) found -[18757] Forked 19010 -(19010) found -[18756] Forked 19011 -(19011) found -[18755] Forked 19012 -(19012) found -[18754] Forked 19013 -(19013) found -[18753] Forked 19014 -(19014) found -[18752] Forked 19015 -(19015) found -[18751] Forked 19017 -(19017) found -[18750] Forked 19018 -(19018) found -[18749] Forked 19019 -(19019) found -[18748] Forked 19020 -(19020) found -[18747] Forked 19021 -(19021) found -[18746] Forked 19022 -(19022) found -[18745] Forked 19023 -(19023) found -[18744] Forked 19024 -(19024) found -[18743] Forked 19025 -(19025) found -[18742] Forked 19026 -(19026) found -[18741] Forked 19027 -(19027) found -[18740] Forked 19028 -(19028) found -[18739] Forked 19029 -(19029) found -[18738] Forked 19030 -(19030) found -[18737] Forked 19031 -[18736] Forked 19032 -(19031) found -(19032) found -[18735] Forked 19033 -[18734] Forked 19034 -(19033) found -(19034) found -[18733] Forked 19035 -[18732] Forked 19036 -(19035) found -(19036) found -[18731] Forked 19037 -[18730] Forked 19038 -(19037) found -(19038) found -[18729] Forked 19039 -[18728] Forked 19040 -(19039) found -(19040) found -[18727] Forked 19041 -[18726] Forked 19042 -(19041) found -(19042) found -[18725] Forked 19043 -[18724] Forked 19044 -(19043) found -(19044) found -[18723] Forked 19045 -[18722] Forked 19046 -(19045) found -(19046) found -[18721] Forked 19047 -[18720] Forked 19048 -(19047) found -(19048) found -[18719] Forked 19049 -[18718] Forked 19050 -(19049) found -(19050) found -[18717] Forked 19051 -[18716] Forked 19052 -(19051) found -(19052) found -[18715] Forked 19053 -[18714] Forked 19054 -(19053) found -(19054) found -[18713] Forked 19055 -[18712] Forked 19056 -(19055) found -(19056) found -[18711] Forked 19057 -[18710] Forked 19058 -(19057) found -(19058) found -[18709] Forked 19059 -[18708] Forked 19060 -(19059) found -(19060) found -[18707] Forked 19061 -[18706] Forked 19062 -(19061) found -(19062) found -[18705] Forked 19063 -[18704] Forked 19064 -(19063) found -(19064) found -[18703] Forked 19065 -[18702] Forked 19066 -(19065) found -(19066) found -[18701] Forked 19067 -[18700] Forked 19068 -(19067) found -(19068) found -[18699] Forked 19069 -[18698] Forked 19070 -(19069) found -(19070) found -[18697] Forked 19071 -[18696] Forked 19072 -(19071) found -(19072) found -[18695] Forked 19073 -[18694] Forked 19074 -(19073) found -(19074) found -[18693] Forked 19075 -[18692] Forked 19076 -(19075) found -(19076) found -[18691] Forked 19077 -[18690] Forked 19078 -(19077) found -(19078) found -[18689] Forked 19079 -(19079) found -[18688] Forked 19080 -[18687] Forked 19081 -(19080) found -(19081) found -[18686] Forked 19082 -[18685] Forked 19083 -(19082) found -(19083) found -[18684] Forked 19084 -[18683] Forked 19085 -(19084) found -(19085) found -[18682] Forked 19086 -[18681] Forked 19087 -(19086) found -(19087) found -[18680] Forked 19088 -[18679] Forked 19089 -(19088) found -(19089) found -[18678] Forked 19090 -[18677] Forked 19091 -(19090) found -(19091) found -[18676] Forked 19092 -[18675] Forked 19093 -(19092) found -(19093) found -[18674] Forked 19094 -[18673] Forked 19095 -(19094) found -(19095) found -[18672] Forked 19096 -[18671] Forked 19097 -(19096) found -(19097) found -[18670] Forked 19098 -[18669] Forked 19099 -(19098) found -(19099) found -[18668] Forked 19100 -[18667] Forked 19101 -(19100) found -(19101) found -[18666] Forked 19102 -[18665] Forked 19104 -(19102) found -(19104) found -[18664] Forked 19105 -[18663] Forked 19106 -(19105) found -(19106) found -[18662] Forked 19107 -[18661] Forked 19108 -(19107) found -(19108) found -[18660] Forked 19109 -[18659] Forked 19110 -(19109) found -(19110) found -[18658] Forked 19111 -[18657] Forked 19112 -(19111) found -(19112) found -[18656] Forked 19113 -[18655] Forked 19114 -(19113) found -(19114) found -[18654] Forked 19115 -[18653] Forked 19116 -(19115) found -(19116) found -[18652] Forked 19117 -[18651] Forked 19118 -(19117) found -(19118) found -[18650] Forked 19119 -[18649] Forked 19120 -(19119) found -(19120) found -[18648] Forked 19121 -[18647] Forked 19122 -(19121) found -(19122) found -[18646] Forked 19123 -[18645] Forked 19124 -(19123) found -(19124) found -[18644] Forked 19125 -[18643] Forked 19126 -(19125) found -(19126) found -[18642] Forked 19127 -[18641] Forked 19128 -(19127) found -(19128) found -[18640] Forked 19129 -[18639] Forked 19130 -(19129) found -(19130) found -[18638] Forked 19131 -[18637] Forked 19132 -(19131) found -(19132) found -[18636] Forked 19133 -[18635] Forked 19134 -(19133) found -(19134) found -[18634] Forked 19135 -[18633] Forked 19136 -(19135) found -(19136) found -[18632] Forked 19137 -[18631] Forked 19138 -(19137) found -(19138) found -[18630] Forked 19139 -[18629] Forked 19140 -(19139) found -(19140) found -[18628] Forked 19141 -[18627] Forked 19142 -(19141) found -(19142) found -[18626] Forked 19143 -[18625] Forked 19144 -(19143) found -(19144) found -[18624] Forked 19145 -[18623] Forked 19146 -(19145) found -(19146) found -[18622] Forked 19147 -[18621] Forked 19148 -(19147) found -(19148) found -[18620] Forked 19149 -[18619] Forked 19150 -(19149) found -(19150) found -[18618] Forked 19151 -[18617] Forked 19152 -(19151) found -(19152) found -[18616] Forked 19153 -[18615] Forked 19154 -(19153) found -(19154) found -[18614] Forked 19155 -[18613] Forked 19156 -(19155) found -(19156) found -[18612] Forked 19157 -[18611] Forked 19158 -(19157) found -(19158) found -[18610] Forked 19159 -[18609] Forked 19160 -(19159) found -(19160) found -[18608] Forked 19161 -[18607] Forked 19162 -(19161) found -(19162) found -[18606] Forked 19163 -[18605] Forked 19164 -(19163) found -(19164) found -[18604] Forked 19165 -[18603] Forked 19166 -(19165) found -(19166) found -[18602] Forked 19167 -[18601] Forked 19168 -(19167) found -(19168) found -[18600] Forked 19169 -[18599] Forked 19170 -(19169) found -(19170) found -[18598] Forked 19171 -(19171) found -[18597] Forked 19172 -(19172) found -[18596] Forked 19173 -(19173) found -[18595] Forked 19174 -(19174) found -[18594] Forked 19175 -(19175) found -[18593] Forked 19176 -(19176) found -[18592] Forked 19177 -(19177) found -[18591] Forked 19178 -(19178) found -[18590] Forked 19179 -(19179) found -[18589] Forked 19180 -(19180) found -[18588] Forked 19181 -(19181) found -[18587] Forked 19182 -(19182) found -[18586] Forked 19183 -(19183) found -[18585] Forked 19184 -(19184) found -[18584] Forked 19185 -(19185) found -[18583] Forked 19186 -(19186) found -[18582] Forked 19187 -(19187) found -[18581] Forked 19188 -(19188) found -[18580] Forked 19189 -(19189) found -[18579] Forked 19191 -(19191) found -[18578] Forked 19192 -(19192) found -[18577] Forked 19193 -(19193) found -[18576] Forked 19194 -(19194) found -[18575] Forked 19195 -(19195) found -[18574] Forked 19196 -(19196) found -[18573] Forked 19197 -(19197) found -[18572] Forked 19198 -(19198) found -[18571] Forked 19199 -(19199) found -[18570] Forked 19200 -(19200) found -[18569] Forked 19201 -(19201) found -[18568] Forked 19202 -(19202) found -[18567] Forked 19203 -(19203) found -[18566] Forked 19204 -(19204) found -[18565] Forked 19205 -(19205) found -[18564] Forked 19206 -(19206) found -[18563] Forked 19207 -[18562] Forked 19208 -(19207) found -(19208) found -[18561] Forked 19209 -[18560] Forked 19210 -(19209) found -(19210) found -[18559] Forked 19211 -[18558] Forked 19212 -(19211) found -(19212) found -[18557] Forked 19213 -[18556] Forked 19214 -(19213) found -(19214) found -[18555] Forked 19215 -[18554] Forked 19216 -(19215) found -(19216) found -[18553] Forked 19217 -[18552] Forked 19218 -(19217) found -(19218) found -[18551] Forked 19219 -[18550] Forked 19220 -(19219) found -(19220) found -[18549] Forked 19221 -[18548] Forked 19222 -(19221) found -(19222) found -[18547] Forked 19223 -[18546] Forked 19224 -(19223) found -(19224) found -[18545] Forked 19225 -[18544] Forked 19226 -(19225) found -(19226) found -[18543] Forked 19227 -[18542] Forked 19228 -(19227) found -(19228) found -[18541] Forked 19229 -[18540] Forked 19230 -(19229) found -(19230) found -[18539] Forked 19231 -[18538] Forked 19232 -(19231) found -(19232) found -[18537] Forked 19233 -[18536] Forked 19234 -(19233) found -(19234) found -[18535] Forked 19235 -[18534] Forked 19236 -(19235) found -(19236) found -[18533] Forked 19237 -[18532] Forked 19238 -(19237) found -(19238) found -[18531] Forked 19239 -[18530] Forked 19240 -(19239) found -(19240) found -[18529] Forked 19241 -[18528] Forked 19242 -(19241) found -(19242) found -[18527] Forked 19243 -[18526] Forked 19244 -(19243) found -(19244) found -[18525] Forked 19245 -[18524] Forked 19246 -(19245) found -(19246) found -[18523] Forked 19247 -[18522] Forked 19248 -(19247) found -(19248) found -[18521] Forked 19249 -[18520] Forked 19250 -(19249) found -(19250) found -[18519] Forked 19251 -[18518] Forked 19252 -(19251) found -(19252) found -[18517] Forked 19253 -(19253) found -[18516] Forked 19254 -[18515] Forked 19255 -(19254) found -(19255) found -[18514] Forked 19256 -[18513] Forked 19257 -(19256) found -(19257) found -[18512] Forked 19258 -[18511] Forked 19259 -(19258) found -(19259) found -[18510] Forked 19260 -[18509] Forked 19261 -(19260) found -(19261) found -[18508] Forked 19262 -[18507] Forked 19263 -(19262) found -(19263) found -[18506] Forked 19264 -[18505] Forked 19265 -(19264) found -(19265) found -[18504] Forked 19266 -[18503] Forked 19267 -(19266) found -(19267) found -[18502] Forked 19268 -[18501] Forked 19269 -(19268) found -(19269) found -[18500] Forked 19270 -[18499] Forked 19271 -(19270) found -(19271) found -[18498] Forked 19272 -[18497] Forked 19273 -(19272) found -(19273) found -[18496] Forked 19274 -[18495] Forked 19275 -(19274) found -(19275) found -[18494] Forked 19276 -[18493] Forked 19277 -(19276) found -(19277) found -[18492] Forked 19278 -[18491] Forked 19279 -(19278) found -(19279) found -[18490] Forked 19280 -[18489] Forked 19281 -(19280) found -(19281) found -[18488] Forked 19282 -[18487] Forked 19283 -(19282) found -(19283) found -[18486] Forked 19284 -[18485] Forked 19285 -(19284) found -(19285) found -[18484] Forked 19286 -[18483] Forked 19287 -(19286) found -(19287) found -[18482] Forked 19288 -[18481] Forked 19289 -(19288) found -(19289) found -[18480] Forked 19290 -[18479] Forked 19291 -(19290) found -(19291) found -[18478] Forked 19292 -[18477] Forked 19293 -(19292) found -(19293) found -[18476] Forked 19294 -[18475] Forked 19295 -(19294) found -(19295) found -[18474] Forked 19296 -[18473] Forked 19297 -(19296) found -(19297) found -[18472] Forked 19298 -(19298) found -[18471] Forked 19299 -(19299) found -[18470] Forked 19300 -(19300) found -[18469] Forked 19301 -(19301) found -[18468] Forked 19302 -(19302) found -[18467] Forked 19303 -(19303) found -[18466] Forked 19304 -(19304) found -[18465] Forked 19305 -(19305) found -[18464] Forked 19306 -(19306) found -[18463] Forked 19307 -(19307) found -[18462] Forked 19308 -(19308) found -[18461] Forked 19309 -(19309) found -[18460] Forked 19310 -(19310) found -[18459] Forked 19311 -(19311) found -[18458] Forked 19312 -(19312) found -[18457] Forked 19313 -(19313) found -[18456] Forked 19314 -(19314) found -[18455] Forked 19315 -(19315) found -[18454] Forked 19316 -(19316) found -[18453] Forked 19317 -(19317) found -[18452] Forked 19318 -(19318) found -[18451] Forked 19319 -(19319) found -[18450] Forked 19320 -(19320) found -[18449] Forked 19321 -(19321) found -[18448] Forked 19322 -(19322) found -[18447] Forked 19323 -(19323) found -[18446] Forked 19324 -(19324) found -[18445] Forked 19325 -(19325) found -[18444] Forked 19326 -(19326) found -[18443] Forked 19327 -(19327) found -[18442] Forked 19328 -(19328) found -[18441] Forked 19329 -(19329) found -[18440] Forked 19330 -(19330) found -[18439] Forked 19331 -(19331) found -[18438] Forked 19332 -(19332) found -[18437] Forked 19333 -(19333) found -[18436] Forked 19334 -(19334) found -[18435] Forked 19335 -(19335) found -[18434] Forked 19336 -(19336) found -[18433] Forked 19337 -(19337) found -[18432] Forked 19338 -[18431] Forked 19339 -(19338) found -(19339) found -[18430] Forked 19340 -[18429] Forked 19341 -(19340) found -(19341) found -[18428] Forked 19342 -[18427] Forked 19343 -(19342) found -(19343) found -[18426] Forked 19344 -[18425] Forked 19345 -(19344) found -(19345) found -[18424] Forked 19346 -(19346) found -[18423] Forked 19347 -(19347) found -[18422] Forked 19348 -[18421] Forked 19349 -(19348) found -(19349) found -[18420] Forked 19350 -[18419] Forked 19351 -(19350) found -(19351) found -[18418] Forked 19352 -[18417] Forked 19353 -(19352) found -(19353) found -[18416] Forked 19354 -[18415] Forked 19355 -(19354) found -(19355) found -[18414] Forked 19356 -[18413] Forked 19357 -(19356) found -(19357) found -[18412] Forked 19358 -[18411] Forked 19359 -(19358) found -(19359) found -[18410] Forked 19360 -[18409] Forked 19361 -(19360) found -(19361) found -[18408] Forked 19362 -[18407] Forked 19363 -(19362) found -(19363) found -[18406] Forked 19364 -[18405] Forked 19365 -(19364) found -(19365) found -[18404] Forked 19366 -[18403] Forked 19367 -(19366) found -(19367) found -[18402] Forked 19368 -[18401] Forked 19369 -(19368) found -(19369) found -[18400] Forked 19370 -[18399] Forked 19371 -(19370) found -(19371) found -[18398] Forked 19372 -[18397] Forked 19373 -(19372) found -(19373) found -[18396] Forked 19374 -[18395] Forked 19375 -(19374) found -(19375) found -[18394] Forked 19376 -[18393] Forked 19378 -(19376) found -(19378) found -[18392] Forked 19379 -(19379) found -[18391] Forked 19380 -(19380) found -[18390] Forked 19381 -(19381) found -[18389] Forked 19382 -(19382) found -[18388] Forked 19383 -(19383) found -[18387] Forked 19384 -(19384) found -[18386] Forked 19385 -(19385) found -[18385] Forked 19386 -(19386) found -[18384] Forked 19387 -(19387) found -[18383] Forked 19388 -(19388) found -[18382] Forked 19389 -(19389) found -[18381] Forked 19390 -(19390) found -[18380] Forked 19391 -(19391) found -[18379] Forked 19392 -(19392) found -[18378] Forked 19393 -(19393) found -[18377] Forked 19394 -(19394) found -[18376] Forked 19395 -(19395) found -[18375] Forked 19396 -(19396) found -[18374] Forked 19397 -(19397) found -[18373] Forked 19398 -(19398) found -[18372] Forked 19399 -(19399) found -[18371] Forked 19400 -(19400) found -[18370] Forked 19401 -(19401) found -[18369] Forked 19402 -(19402) found -[18368] Forked 19403 -(19403) found -[18367] Forked 19404 -(19404) found -[18366] Forked 19405 -(19405) found -[18365] Forked 19406 -(19406) found -[18364] Forked 19407 -(19407) found -[18363] Forked 19408 -(19408) found -[18362] Forked 19409 -(19409) found -[18361] Forked 19410 -(19410) found -[18360] Forked 19411 -(19411) found -[18359] Forked 19412 -(19412) found -[18358] Forked 19413 -(19413) found -[18357] Forked 19414 -(19414) found -[18356] Forked 19415 -(19415) found -[18355] Forked 19416 -(19416) found -[18354] Forked 19417 -(19417) found -[18353] Forked 19418 -(19418) found -[18352] Forked 19419 -(19419) found -[18351] Forked 19420 -(19420) found -[18350] Forked 19421 -(19421) found -[18349] Forked 19422 -(19422) found -[18348] Forked 19423 -(19423) found -[18347] Forked 19424 -(19424) found -[18346] Forked 19425 -(19425) found -[18345] Forked 19426 -(19426) found -[18344] Forked 19427 -(19427) found -[18343] Forked 19428 -(19428) found -[18342] Forked 19429 -(19429) found -[18341] Forked 19430 -(19430) found -[18340] Forked 19431 -(19431) found -[18339] Forked 19432 -(19432) found -[18338] Forked 19433 -(19433) found -[18337] Forked 19434 -(19434) found -[18336] Forked 19435 -(19435) found -[18335] Forked 19436 -(19436) found -[18334] Forked 19437 -(19437) found -[18333] Forked 19438 -(19438) found -[18332] Forked 19439 -(19439) found -[18331] Forked 19440 -(19440) found -[18330] Forked 19441 -(19441) found -[18329] Forked 19442 -(19442) found -[18328] Forked 19443 -(19443) found -[18327] Forked 19444 -(19444) found -[18326] Forked 19445 -(19445) found -[18325] Forked 19446 -(19446) found -[18324] Forked 19447 -(19447) found -[18323] Forked 19448 -(19448) found -[18322] Forked 19449 -(19449) found -[18321] Forked 19450 -(19450) found -[18320] Forked 19451 -(19451) found -[18319] Forked 19452 -(19452) found -[18318] Forked 19453 -(19453) found -[18317] Forked 19454 -[18316] Forked 19455 -(19454) found -(19455) found -[18315] Forked 19456 -[18314] Forked 19457 -(19456) found -(19457) found -[18313] Forked 19458 -[18312] Forked 19459 -(19458) found -(19459) found -[18311] Forked 19460 -[18310] Forked 19461 -(19460) found -(19461) found -[18309] Forked 19462 -[18308] Forked 19463 -(19462) found -(19463) found -[18307] Forked 19464 -[18306] Forked 19465 -(19464) found -(19465) found -[18305] Forked 19466 -[18304] Forked 19467 -(19466) found -(19467) found -[18303] Forked 19468 -[18302] Forked 19469 -(19468) found -(19469) found -[18301] Forked 19470 -[18300] Forked 19471 -(19470) found -(19471) found -[18299] Forked 19472 -[18298] Forked 19473 -(19472) found -(19473) found -[18297] Forked 19474 -[18296] Forked 19475 -(19474) found -(19475) found -[18295] Forked 19476 -[18294] Forked 19477 -(19476) found -(19477) found -[18293] Forked 19478 -[18292] Forked 19479 -(19478) found -(19479) found -[18291] Forked 19480 -[18290] Forked 19481 -(19480) found -(19481) found -[18289] Forked 19482 -[18288] Forked 19483 -(19482) found -(19483) found -[18287] Forked 19484 -[18286] Forked 19485 -(19484) found -(19485) found -[18285] Forked 19486 -[18284] Forked 19487 -(19486) found -(19487) found -[18283] Forked 19488 -[18282] Forked 19489 -(19488) found -(19489) found -[18281] Forked 19490 -[18280] Forked 19491 -(19490) found -(19491) found -[18279] Forked 19492 -[18278] Forked 19493 -(19492) found -(19493) found -[18277] Forked 19494 -[18276] Forked 19495 -(19494) found -(19495) found -[18275] Forked 19496 -[18274] Forked 19497 -(19496) found -(19497) found -[18273] Forked 19498 -[18272] Forked 19499 -(19498) found -(19499) found -[18271] Forked 19500 -(19500) found -[18270] Forked 19501 -(19501) found -[18269] Forked 19502 -(19502) found -[18268] Forked 19503 -(19503) found -[18267] Forked 19504 -(19504) found -[18266] Forked 19505 -(19505) found -[18265] Forked 19506 -(19506) found -[18264] Forked 19507 -(19507) found -[18263] Forked 19508 -(19508) found -[18262] Forked 19509 -(19509) found -[18261] Forked 19510 -(19510) found -[18260] Forked 19511 -(19511) found -[18259] Forked 19512 -(19512) found -[18258] Forked 19513 -(19513) found -[18257] Forked 19514 -(19514) found -[18256] Forked 19515 -(19515) found -[18255] Forked 19516 -(19516) found -[18254] Forked 19517 -(19517) found -[18253] Forked 19518 -(19518) found -[18252] Forked 19519 -(19519) found -[18251] Forked 19520 -(19520) found -[18250] Forked 19521 -(19521) found -[18249] Forked 19522 -(19522) found -[18248] Forked 19523 -(19523) found -[18247] Forked 19524 -(19524) found -[18246] Forked 19525 -(19525) found -[18245] Forked 19526 -(19526) found -[18244] Forked 19527 -(19527) found -[18243] Forked 19528 -(19528) found -[18242] Forked 19529 -(19529) found -[18241] Forked 19530 -(19530) found -[18240] Forked 19531 -(19531) found -[18239] Forked 19532 -(19532) found -[18238] Forked 19533 -(19533) found -[18237] Forked 19534 -(19534) found -[18236] Forked 19535 -[18235] Forked 19536 -(19535) found -(19536) found -[18234] Forked 19537 -[18233] Forked 19538 -(19537) found -(19538) found -[18232] Forked 19539 -[18231] Forked 19540 -(19539) found -(19540) found -[18230] Forked 19541 -[18229] Forked 19542 -(19541) found -(19542) found -[18228] Forked 19543 -[18227] Forked 19544 -(19543) found -(19544) found -[18226] Forked 19545 -[18225] Forked 19546 -(19545) found -(19546) found -[18224] Forked 19547 -[18223] Forked 19548 -(19547) found -(19548) found -[18222] Forked 19549 -[18221] Forked 19550 -(19549) found -(19550) found -[18220] Forked 19551 -[18219] Forked 19552 -(19551) found -(19552) found -[18218] Forked 19553 -[18217] Forked 19554 -(19553) found -(19554) found -[18216] Forked 19555 -[18215] Forked 19556 -(19555) found -(19556) found -[18214] Forked 19557 -[18213] Forked 19558 -(19557) found -(19558) found -[18212] Forked 19559 -[18211] Forked 19560 -(19559) found -(19560) found -[18210] Forked 19561 -[18209] Forked 19562 -(19561) found -(19562) found -[18208] Forked 19563 -[18207] Forked 19564 -(19563) found -(19564) found -[18206] Forked 19565 -[18205] Forked 19566 -(19565) found -(19566) found -[18204] Forked 19567 -[18203] Forked 19568 -(19567) found -(19568) found -[18202] Forked 19569 -[18201] Forked 19570 -(19569) found -(19570) found -[18200] Forked 19571 -[18199] Forked 19572 -(19571) found -(19572) found -[18198] Forked 19573 -[18197] Forked 19574 -(19573) found -(19574) found -[18196] Forked 19575 -[18195] Forked 19576 -(19575) found -(19576) found -[18194] Forked 19577 -[18193] Forked 19578 -(19577) found -(19578) found -[18192] Forked 19579 -[18191] Forked 19580 -(19579) found -(19580) found -[18190] Forked 19581 -[18189] Forked 19582 -(19581) found -(19582) found -[18188] Forked 19583 -[18187] Forked 19584 -(19583) found -(19584) found -[18186] Forked 19585 -[18185] Forked 19586 -(19585) found -(19586) found -[18184] Forked 19587 -[18183] Forked 19588 -(19587) found -(19588) found -[18182] Forked 19589 -[18181] Forked 19590 -(19589) found -(19590) found -[18180] Forked 19591 -[18179] Forked 19592 -(19591) found -(19592) found -[18178] Forked 19593 -[18177] Forked 19594 -(19593) found -(19594) found -[18176] Forked 19595 -[18175] Forked 19596 -(19595) found -(19596) found -[18174] Forked 19597 -[18173] Forked 19598 -(19597) found -(19598) found -[18172] Forked 19599 -[18171] Forked 19600 -(19599) found -(19600) found -[18170] Forked 19601 -[18169] Forked 19602 -(19601) found -(19602) found -[18168] Forked 19603 -[18167] Forked 19604 -(19603) found -(19604) found -[18166] Forked 19605 -[18165] Forked 19606 -(19605) found -(19606) found -[18164] Forked 19607 -[18163] Forked 19608 -(19607) found -(19608) found -[18162] Forked 19609 -[18161] Forked 19610 -(19609) found -(19610) found -[18160] Forked 19611 -[18159] Forked 19612 -(19611) found -(19612) found -[18158] Forked 19613 -[18157] Forked 19614 -(19613) found -(19614) found -[18156] Forked 19615 -[18155] Forked 19616 -(19615) found -(19616) found -[18154] Forked 19617 -[18153] Forked 19618 -(19617) found -(19618) found -[18152] Forked 19619 -[18151] Forked 19620 -(19619) found -(19620) found -[18150] Forked 19621 -[18149] Forked 19622 -(19621) found -(19622) found -[18148] Forked 19623 -[18147] Forked 19624 -(19623) found -(19624) found -[18146] Forked 19625 -[18145] Forked 19626 -(19625) found -(19626) found -[18144] Forked 19627 -(19627) found -[18143] Forked 19628 -(19628) found -[18142] Forked 19629 -(19629) found -[18141] Forked 19630 -(19630) found -[18140] Forked 19631 -(19631) found -[18139] Forked 19632 -(19632) found -[18138] Forked 19633 -(19633) found -[18137] Forked 19634 -(19634) found -[18136] Forked 19635 -(19635) found -[18135] Forked 19636 -(19636) found -[18134] Forked 19637 -(19637) found -[18133] Forked 19638 -(19638) found -[18132] Forked 19639 -(19639) found -[18131] Forked 19640 -(19640) found -[18130] Forked 19641 -(19641) found -[18129] Forked 19642 -(19642) found -[18128] Forked 19643 -(19643) found -[18127] Forked 19644 -(19644) found -[18126] Forked 19645 -(19645) found -[18125] Forked 19646 -(19646) found -[18124] Forked 19647 -(19647) found -[18123] Forked 19648 -(19648) found -[18122] Forked 19649 -(19649) found -[18121] Forked 19650 -(19650) found -[18120] Forked 19651 -(19651) found -[18119] Forked 19652 -(19652) found -[18118] Forked 19653 -(19653) found -[18117] Forked 19654 -(19654) found -[18116] Forked 19655 -(19655) found -[18115] Forked 19656 -(19656) found -[18114] Forked 19657 -(19657) found -[18113] Forked 19658 -(19658) found -[18112] Forked 19659 -(19659) found -[18111] Forked 19660 -(19660) found -[18110] Forked 19661 -(19661) found -[18109] Forked 19662 -(19662) found -[18108] Forked 19663 -(19663) found -[18107] Forked 19664 -(19664) found -[18106] Forked 19665 -[18105] Forked 19666 -(19665) found -(19666) found -[18104] Forked 19667 -[18103] Forked 19668 -(19667) found -(19668) found -[18102] Forked 19669 -[18101] Forked 19670 -(19669) found -(19670) found -[18100] Forked 19671 -[18099] Forked 19672 -(19671) found -(19672) found -[18098] Forked 19673 -[18097] Forked 19674 -(19673) found -(19674) found -[18096] Forked 19675 -[18095] Forked 19676 -(19675) found -(19676) found -[18094] Forked 19677 -[18093] Forked 19678 -(19677) found -(19678) found -[18092] Forked 19679 -[18091] Forked 19680 -(19679) found -(19680) found -[18090] Forked 19681 -[18089] Forked 19682 -(19681) found -(19682) found -[18088] Forked 19683 -[18087] Forked 19684 -(19683) found -(19684) found -[18086] Forked 19685 -[18085] Forked 19686 -(19685) found -(19686) found -[18084] Forked 19687 -[18083] Forked 19688 -(19687) found -(19688) found -[18082] Forked 19689 -[18081] Forked 19690 -(19689) found -(19690) found -[18080] Forked 19691 -[18079] Forked 19692 -(19691) found -(19692) found -[18078] Forked 19693 -[18077] Forked 19694 -(19693) found -(19694) found -[18076] Forked 19695 -[18075] Forked 19696 -(19695) found -(19696) found -[18074] Forked 19697 -[18073] Forked 19698 -(19697) found -(19698) found -[18072] Forked 19699 -[18071] Forked 19700 -(19699) found -(19700) found -[18070] Forked 19701 -[18069] Forked 19702 -(19701) found -(19702) found -[18068] Forked 19703 -[18067] Forked 19704 -(19703) found -(19704) found -[18066] Forked 19705 -[18065] Forked 19706 -(19705) found -(19706) found -[18064] Forked 19707 -[18063] Forked 19708 -(19707) found -(19708) found -[18062] Forked 19709 -(19709) found -[18061] Forked 19710 -(19710) found -[18060] Forked 19711 -(19711) found -[18059] Forked 19712 -(19712) found -[18058] Forked 19713 -(19713) found -[18057] Forked 19714 -(19714) found -[18056] Forked 19715 -(19715) found -[18055] Forked 19716 -(19716) found -[18054] Forked 19717 -(19717) found -[18053] Forked 19718 -(19718) found -[18052] Forked 19719 -(19719) found -[18051] Forked 19720 -(19720) found -[18050] Forked 19721 -(19721) found -[18049] Forked 19722 -(19722) found -[18048] Forked 19723 -(19723) found -[18047] Forked 19724 -(19724) found -[18046] Forked 19725 -(19725) found -[18045] Forked 19726 -(19726) found -[18044] Forked 19727 -(19727) found -[18043] Forked 19728 -(19728) found -[18042] Forked 19729 -(19729) found -[18041] Forked 19730 -(19730) found -[18040] Forked 19731 -(19731) found -[18039] Forked 19732 -(19732) found -[18038] Forked 19733 -(19733) found -[18037] Forked 19734 -(19734) found -[18036] Forked 19735 -(19735) found -[18035] Forked 19736 -(19736) found -[18034] Forked 19737 -(19737) found -[18033] Forked 19738 -(19738) found -[18032] Forked 19739 -(19739) found -[18031] Forked 19740 -(19740) found -[18030] Forked 19741 -(19741) found -[18029] Forked 19742 -(19742) found -[18028] Forked 19743 -(19743) found -[18027] Forked 19744 -(19744) found -[18026] Forked 19745 -(19745) found -[18025] Forked 19746 -(19746) found -[18024] Forked 19747 -(19747) found -[18023] Forked 19748 -(19748) found -[18022] Forked 19749 -[18021] Forked 19750 -(19749) found -(19750) found -[18020] Forked 19751 -[18019] Forked 19752 -(19751) found -(19752) found -[18018] Forked 19753 -[18017] Forked 19754 -(19753) found -(19754) found -[18016] Forked 19755 -[18015] Forked 19756 -(19755) found -(19756) found -[18014] Forked 19757 -[18013] Forked 19758 -(19757) found -(19758) found -[18012] Forked 19759 -[18011] Forked 19760 -(19759) found -(19760) found -[18010] Forked 19761 -[18009] Forked 19762 -(19761) found -(19762) found -[18008] Forked 19763 -[18007] Forked 19764 -(19763) found -(19764) found -[18006] Forked 19765 -[18005] Forked 19766 -(19765) found -(19766) found -[18004] Forked 19767 -[18003] Forked 19768 -(19767) found -(19768) found -[18002] Forked 19769 -[18001] Forked 19770 -(19769) found -(19770) found -[18000] Forked 19771 -[17999] Forked 19772 -(19771) found -(19772) found -[17998] Forked 19773 -[17997] Forked 19774 -(19773) found -(19774) found -[17996] Forked 19775 -[17995] Forked 19776 -(19776) found -(19775) found -[17994] Forked 19777 -(19777) found -[17993] Forked 19778 -(19778) found -[17992] Forked 19779 -(19779) found -[17991] Forked 19780 -(19780) found -[17990] Forked 19781 -(19781) found -[17989] Forked 19782 -(19782) found -[17988] Forked 19783 -(19783) found -[17987] Forked 19784 -(19784) found -[17986] Forked 19785 -(19785) found -[17985] Forked 19786 -(19786) found -[17984] Forked 19787 -(19787) found -[17983] Forked 19788 -(19788) found -[17982] Forked 19789 -(19789) found -[17981] Forked 19790 -(19790) found -[17980] Forked 19791 -(19791) found -[17979] Forked 19792 -(19792) found -[17978] Forked 19793 -(19793) found -[17977] Forked 19794 -(19794) found -[17976] Forked 19795 -(19795) found -[17975] Forked 19796 -(19796) found -[17974] Forked 19797 -(19797) found -[17973] Forked 19798 -(19798) found -[17972] Forked 19799 -(19799) found -[17971] Forked 19800 -(19800) found -[17970] Forked 19801 -(19801) found -[17969] Forked 19802 -(19802) found -[17968] Forked 19803 -(19803) found -[17967] Forked 19804 -(19804) found -[17966] Forked 19805 -(19805) found -[17965] Forked 19806 -(19806) found -[17964] Forked 19807 -(19807) found -[17963] Forked 19808 -(19808) found -[17962] Forked 19809 -(19809) found -[17961] Forked 19810 -(19810) found -[17960] Forked 19811 -(19811) found -[17959] Forked 19812 -(19812) found -[17958] Forked 19813 -(19813) found -[17957] Forked 19814 -(19814) found -[17956] Forked 19815 -(19815) found -[17955] Forked 19816 -(19816) found -[17954] Forked 19817 -(19817) found -[17953] Forked 19818 -(19818) found -[17952] Forked 19819 -(19819) found -[17951] Forked 19820 -(19820) found -[17950] Forked 19821 -(19821) found -[17949] Forked 19822 -(19822) found -[17948] Forked 19823 -(19823) found -[17947] Forked 19824 -(19824) found -[17946] Forked 19825 -(19825) found -[17945] Forked 19826 -[17944] Forked 19827 -(19826) found -(19827) found -[17943] Forked 19828 -[17942] Forked 19829 -(19828) found -(19829) found -[17941] Forked 19830 -[17940] Forked 19831 -(19830) found -(19831) found -[17939] Forked 19832 -[17938] Forked 19833 -(19832) found -(19833) found -[17937] Forked 19834 -[17936] Forked 19835 -(19834) found -(19835) found -[17935] Forked 19836 -[17934] Forked 19837 -(19836) found -(19837) found -[17933] Forked 19838 -[17932] Forked 19839 -(19838) found -(19839) found -[17931] Forked 19840 -[17930] Forked 19841 -(19840) found -(19841) found -[17929] Forked 19842 -[17928] Forked 19843 -(19842) found -(19843) found -[17927] Forked 19844 -[17926] Forked 19845 -(19844) found -(19845) found -[17925] Forked 19846 -[17924] Forked 19847 -(19846) found -(19847) found -[17923] Forked 19848 -[17922] Forked 19849 -(19848) found -(19849) found -[17921] Forked 19850 -[17920] Forked 19851 -(19850) found -(19851) found -[17919] Forked 19852 -[17918] Forked 19853 -(19852) found -(19853) found -[17917] Forked 19854 -[17916] Forked 19855 -(19854) found -(19855) found -[17915] Forked 19856 -[17914] Forked 19857 -(19856) found -(19857) found -[17913] Forked 19858 -[17912] Forked 19859 -(19858) found -(19859) found -[17911] Forked 19860 -[17910] Forked 19861 -(19860) found -(19861) found -[17909] Forked 19862 -[17908] Forked 19863 -(19862) found -(19863) found -[17907] Forked 19864 -[17906] Forked 19865 -(19864) found -(19865) found -[17905] Forked 19866 -[17904] Forked 19867 -(19866) found -(19867) found -[17903] Forked 19868 -[17902] Forked 19869 -(19869) found -(19868) found -[17901] Forked 19870 -(19870) found -[17900] Forked 19871 -(19871) found -[17899] Forked 19872 -(19872) found -[17898] Forked 19873 -(19873) found -[17897] Forked 19874 -(19874) found -[17896] Forked 19875 -(19875) found -[17895] Forked 19876 -(19876) found -[17894] Forked 19877 -(19877) found -[17893] Forked 19878 -(19878) found -[17892] Forked 19879 -(19879) found -[17891] Forked 19880 -(19880) found -[17890] Forked 19881 -(19881) found -[17889] Forked 19882 -(19882) found -[17888] Forked 19883 -(19883) found -[17887] Forked 19884 -(19884) found -[17886] Forked 19885 -(19885) found -[17885] Forked 19886 -(19886) found -[17884] Forked 19887 -(19887) found -[17883] Forked 19888 -(19888) found -[17882] Forked 19889 -(19889) found -[17881] Forked 19890 -(19890) found -[17880] Forked 19891 -(19891) found -[17879] Forked 19892 -(19892) found -[17878] Forked 19893 -(19893) found -[17877] Forked 19894 -(19894) found -[17876] Forked 19895 -(19895) found -[17875] Forked 19896 -(19896) found -[17874] Forked 19897 -(19897) found -[17873] Forked 19898 -(19898) found -[17872] Forked 19899 -(19899) found -[17871] Forked 19900 -(19900) found -[17870] Forked 19901 -(19901) found -[17869] Forked 19902 -(19902) found -[17868] Forked 19903 -(19903) found -[17867] Forked 19904 -(19904) found -[17866] Forked 19905 -(19905) found -[17865] Forked 19906 -[17864] Forked 19907 -(19906) found -(19907) found -[17863] Forked 19908 -[17862] Forked 19909 -(19908) found -(19909) found -[17861] Forked 19910 -[17860] Forked 19911 -(19910) found -(19911) found -[17859] Forked 19912 -[17858] Forked 19913 -(19912) found -(19913) found -[17857] Forked 19914 -[17856] Forked 19915 -(19914) found -(19915) found -[17855] Forked 19916 -[17854] Forked 19917 -(19916) found -(19917) found -[17853] Forked 19918 -[17852] Forked 19919 -(19918) found -(19919) found -[17851] Forked 19920 -[17850] Forked 19921 -(19920) found -(19921) found -[17849] Forked 19922 -[17848] Forked 19923 -(19922) found -(19923) found -[17847] Forked 19924 -[17846] Forked 19925 -(19924) found -(19925) found -[17845] Forked 19926 -[17844] Forked 19927 -(19926) found -(19927) found -[17843] Forked 19928 -[17842] Forked 19929 -(19928) found -(19929) found -[17841] Forked 19930 -[17840] Forked 19931 -(19930) found -(19931) found -[17839] Forked 19932 -[17838] Forked 19933 -(19932) found -(19933) found -[17837] Forked 19934 -[17836] Forked 19935 -(19934) found -(19935) found -[17835] Forked 19936 -[17834] Forked 19937 -(19936) found -(19937) found -[17833] Forked 19938 -[17832] Forked 19939 -(19938) found -(19939) found -[17831] Forked 19940 -[17830] Forked 19941 -(19940) found -(19941) found -[17829] Forked 19942 -[17828] Forked 19943 -(19942) found -(19943) found -[17827] Forked 19944 -[17826] Forked 19945 -(19944) found -(19945) found -[17825] Forked 19946 -[17824] Forked 19947 -(19946) found -(19947) found -[17823] Forked 19948 -[17822] Forked 19949 -(19948) found -(19949) found -[17821] Forked 19950 -(19950) found -[17820] Forked 19951 -(19951) found -[17819] Forked 19952 -(19952) found -[17818] Forked 19953 -(19953) found -[17817] Forked 19954 -(19954) found -[17816] Forked 19955 -(19955) found -[17815] Forked 19956 -(19956) found -[17814] Forked 19957 -(19957) found -[17813] Forked 19958 -(19958) found -[17812] Forked 19959 -(19959) found -[17811] Forked 19960 -(19960) found -[17810] Forked 19961 -(19961) found -[17809] Forked 19962 -(19962) found -[17808] Forked 19963 -(19963) found -[17807] Forked 19964 -(19964) found -[17806] Forked 19965 -(19965) found -[17805] Forked 19966 -(19966) found -[17804] Forked 19967 -(19967) found -[17803] Forked 19968 -(19968) found -[17802] Forked 19969 -(19969) found -[17801] Forked 19970 -(19970) found -[17800] Forked 19971 -(19971) found -[17799] Forked 19972 -(19972) found -[17798] Forked 19973 -(19973) found -[17797] Forked 19974 -(19974) found -[17796] Forked 19975 -(19975) found -[17795] Forked 19976 -(19976) found -[17794] Forked 19977 -(19977) found -[17793] Forked 19978 -(19978) found -[17792] Forked 19979 -(19979) found -[17791] Forked 19980 -(19980) found -[17790] Forked 19981 -(19981) found -[17789] Forked 19982 -(19982) found -[17788] Forked 19983 -(19983) found -[17787] Forked 19984 -(19984) found -[17786] Forked 19985 -(19985) found -[17785] Forked 19986 -(19986) found -[17784] Forked 19987 -(19987) found -[17783] Forked 19988 -(19988) found -[17782] Forked 19989 -[17781] Forked 19990 -(19989) found -(19990) found -[17780] Forked 19991 -[17779] Forked 19992 -(19991) found -(19992) found -[17778] Forked 19993 -[17777] Forked 19994 -(19993) found -(19994) found -[17776] Forked 19995 -[17775] Forked 19996 -(19995) found -(19996) found -[17774] Forked 19997 -[17773] Forked 19998 -(19997) found -(19998) found -[17772] Forked 19999 -[17771] Forked 20000 -(19999) found -(20000) found -[17770] Forked 20001 -[17769] Forked 20002 -(20001) found -(20002) found -[17768] Forked 20003 -[17767] Forked 20004 -(20003) found -(20004) found -[17766] Forked 20005 -[17765] Forked 20006 -(20005) found -(20006) found -[17764] Forked 20007 -[17763] Forked 20008 -(20007) found -(20008) found -[17762] Forked 20009 -[17761] Forked 20010 -(20009) found -(20010) found -[17760] Forked 20011 -[17759] Forked 20012 -(20011) found -(20012) found -[17758] Forked 20013 -[17757] Forked 20014 -(20013) found -(20014) found -[17756] Forked 20015 -[17755] Forked 20016 -(20015) found -(20016) found -[17754] Forked 20017 -[17753] Forked 20018 -(20017) found -(20018) found -[17752] Forked 20019 -[17751] Forked 20020 -(20019) found -(20020) found -[17750] Forked 20021 -[17749] Forked 20022 -(20021) found -(20022) found -[17748] Forked 20023 -[17747] Forked 20024 -(20023) found -(20024) found -[17746] Forked 20025 -[17745] Forked 20026 -(20025) found -(20026) found -[17744] Forked 20027 -[17743] Forked 20029 -(20027) found -(20029) found -[17742] Forked 20030 -(20030) found -[17741] Forked 20031 -(20031) found -[17740] Forked 20032 -(20032) found -[17739] Forked 20033 -(20033) found -[17738] Forked 20034 -(20034) found -[17737] Forked 20035 -(20035) found -[17736] Forked 20036 -(20036) found -[17735] Forked 20037 -(20037) found -[17734] Forked 20038 -(20038) found -[17733] Forked 20039 -(20039) found -[17732] Forked 20040 -(20040) found -[17731] Forked 20041 -(20041) found -[17730] Forked 20042 -(20042) found -[17729] Forked 20043 -(20043) found -[17728] Forked 20044 -(20044) found -[17727] Forked 20045 -(20045) found -[17726] Forked 20046 -(20046) found -[17725] Forked 20047 -(20047) found -[17724] Forked 20048 -(20048) found -[17723] Forked 20049 -(20049) found -[17722] Forked 20050 -(20050) found -[17721] Forked 20051 -(20051) found -[17720] Forked 20052 -(20052) found -[17719] Forked 20053 -(20053) found -[17718] Forked 20054 -(20054) found -[17717] Forked 20055 -(20055) found -[17716] Forked 20056 -(20056) found -[17715] Forked 20057 -(20057) found -[17714] Forked 20058 -(20058) found -[17713] Forked 20059 -(20059) found -[17712] Forked 20060 -(20060) found -[17711] Forked 20061 -(20061) found -[17710] Forked 20062 -(20062) found -[17709] Forked 20063 -(20063) found -[17708] Forked 20064 -(20064) found -[17707] Forked 20065 -(20065) found -[17706] Forked 20066 -(20066) found -[17705] Forked 20067 -(20067) found -[17704] Forked 20068 -(20068) found -[17703] Forked 20069 -(20069) found -[17702] Forked 20070 -(20070) found -[17701] Forked 20071 -(20071) found -[17700] Forked 20072 -(20072) found -[17699] Forked 20073 -(20073) found -[17698] Forked 20074 -(20074) found -[17697] Forked 20075 -(20075) found -[17696] Forked 20076 -(20076) found -[17695] Forked 20077 -(20077) found -[17694] Forked 20078 -(20078) found -[17693] Forked 20079 -(20079) found -[17692] Forked 20080 -(20080) found -[17691] Forked 20081 -(20081) found -[17690] Forked 20082 -(20082) found -[17689] Forked 20083 -(20083) found -[17688] Forked 20084 -(20084) found -[17687] Forked 20085 -(20085) found -[17686] Forked 20086 -(20086) found -[17685] Forked 20087 -(20087) found -[17684] Forked 20088 -(20088) found -[17683] Forked 20089 -(20089) found -[17682] Forked 20090 -(20090) found -[17681] Forked 20091 -(20091) found -[17680] Forked 20092 -(20092) found -[17679] Forked 20093 -(20093) found -[17678] Forked 20094 -(20094) found -[17677] Forked 20095 -(20095) found -[17676] Forked 20096 -(20096) found -[17675] Forked 20097 -(20097) found -[17674] Forked 20098 -(20098) found -[17673] Forked 20099 -(20099) found -[17672] Forked 20100 -(20100) found -[17671] Forked 20101 -(20101) found -[17670] Forked 20102 -(20102) found -[17669] Forked 20103 -[17668] Forked 20104 -(20103) found -(20104) found -[17667] Forked 20105 -[17666] Forked 20106 -(20105) found -(20106) found -[17665] Forked 20107 -[17664] Forked 20108 -(20107) found -(20108) found -[17663] Forked 20109 -[17662] Forked 20110 -(20109) found -(20110) found -[17661] Forked 20111 -[17660] Forked 20112 -(20111) found -(20112) found -[17659] Forked 20113 -[17658] Forked 20114 -(20113) found -(20114) found -[17657] Forked 20115 -[17656] Forked 20116 -(20115) found -(20116) found -[17655] Forked 20117 -[17654] Forked 20118 -(20117) found -(20118) found -[17653] Forked 20119 -[17652] Forked 20120 -(20119) found -(20120) found -[17651] Forked 20121 -[17650] Forked 20122 -(20121) found -(20122) found -[17649] Forked 20123 -[17648] Forked 20124 -(20123) found -(20124) found -[17647] Forked 20125 -[17646] Forked 20126 -(20125) found -(20126) found -[17645] Forked 20127 -[17644] Forked 20128 -(20127) found -(20128) found -[17643] Forked 20129 -[17642] Forked 20130 -(20129) found -(20130) found -[17641] Forked 20131 -[17640] Forked 20132 -(20131) found -(20132) found -[17639] Forked 20133 -[17638] Forked 20134 -(20133) found -(20134) found -[17637] Forked 20135 -[17636] Forked 20136 -(20135) found -(20136) found -[17635] Forked 20137 -[17634] Forked 20138 -(20137) found -(20138) found -[17633] Forked 20139 -[17632] Forked 20140 -(20139) found -(20140) found -[17631] Forked 20141 -[17630] Forked 20142 -(20141) found -(20142) found -[17629] Forked 20143 -[17628] Forked 20144 -(20143) found -(20144) found -[17627] Forked 20145 -[17626] Forked 20146 -(20145) found -(20146) found -[17625] Forked 20147 -[17624] Forked 20148 -(20147) found -(20148) found -[17623] Forked 20149 -[17622] Forked 20150 -(20150) found -(20149) found -[17621] Forked 20151 -(20151) found -[17620] Forked 20152 -(20152) found -[17619] Forked 20153 -(20153) found -[17618] Forked 20154 -(20154) found -[17617] Forked 20155 -(20155) found -[17616] Forked 20156 -(20156) found -[17615] Forked 20157 -(20157) found -[17614] Forked 20158 -(20158) found -[17613] Forked 20159 -(20159) found -[17612] Forked 20160 -(20160) found -[17611] Forked 20161 -(20161) found -[17610] Forked 20162 -(20162) found -[17609] Forked 20163 -(20163) found -[17608] Forked 20164 -(20164) found -[17607] Forked 20165 -(20165) found -[17606] Forked 20166 -(20166) found -[17605] Forked 20167 -(20167) found -[17604] Forked 20168 -(20168) found -[17603] Forked 20169 -(20169) found -[17602] Forked 20170 -(20170) found -[17601] Forked 20171 -(20171) found -[17600] Forked 20172 -(20172) found -[17599] Forked 20173 -(20173) found -[17598] Forked 20174 -(20174) found -[17597] Forked 20175 -(20175) found -[17596] Forked 20176 -(20176) found -[17595] Forked 20177 -(20177) found -[17594] Forked 20178 -(20178) found -[17593] Forked 20179 -(20179) found -[17592] Forked 20180 -(20180) found -[17591] Forked 20181 -(20181) found -[17590] Forked 20182 -(20182) found -[17589] Forked 20183 -(20183) found -[17588] Forked 20184 -(20184) found -[17587] Forked 20185 -(20185) found -[17586] Forked 20186 -(20186) found -[17585] Forked 20187 -(20187) found -[17584] Forked 20188 -(20188) found -[17583] Forked 20189 -(20189) found -[17582] Forked 20190 -(20190) found -[17581] Forked 20191 -(20191) found -[17580] Forked 20192 -(20192) found -[17579] Forked 20193 -(20193) found -[17578] Forked 20194 -(20194) found -[17577] Forked 20195 -(20195) found -[17576] Forked 20196 -(20196) found -[17575] Forked 20197 -(20197) found -[17574] Forked 20198 -(20198) found -[17573] Forked 20199 -(20199) found -[17572] Forked 20200 -(20200) found -[17571] Forked 20201 -[17570] Forked 20202 -(20201) found -(20202) found -[17569] Forked 20203 -[17568] Forked 20204 -(20203) found -(20204) found -[17567] Forked 20205 -[17566] Forked 20206 -(20205) found -(20206) found -[17565] Forked 20207 -(20207) found -[17564] Forked 20208 -(20208) found -[17563] Forked 20209 -(20209) found -[17562] Forked 20210 -(20210) found -[17561] Forked 20211 -(20211) found -[17560] Forked 20212 -(20212) found -[17559] Forked 20213 -(20213) found -[17558] Forked 20214 -(20214) found -[17557] Forked 20215 -(20215) found -[17556] Forked 20216 -(20216) found -[17555] Forked 20217 -(20217) found -[17554] Forked 20218 -(20218) found -[17553] Forked 20219 -(20219) found -[17552] Forked 20220 -(20220) found -[17551] Forked 20221 -(20221) found -[17550] Forked 20222 -(20222) found -[17549] Forked 20223 -(20223) found -[17548] Forked 20224 -(20224) found -[17547] Forked 20225 -(20225) found -[17546] Forked 20226 -(20226) found -[17545] Forked 20227 -(20227) found -[17544] Forked 20228 -(20228) found -[17543] Forked 20229 -(20229) found -[17542] Forked 20230 -(20230) found -[17541] Forked 20231 -(20231) found -[17540] Forked 20232 -(20232) found -[17539] Forked 20233 -(20233) found -[17538] Forked 20234 -(20234) found -[17537] Forked 20235 -(20235) found -[17536] Forked 20236 -(20236) found -[17535] Forked 20237 -(20237) found -[17534] Forked 20238 -(20238) found -[17533] Forked 20239 -(20239) found -[17532] Forked 20240 -(20240) found -[17531] Forked 20241 -(20241) found -[17530] Forked 20242 -[17529] Forked 20243 -(20242) found -(20243) found -[17528] Forked 20244 -[17527] Forked 20245 -(20244) found -(20245) found -[17526] Forked 20246 -[17525] Forked 20247 -(20246) found -(20247) found -[17524] Forked 20248 -[17523] Forked 20249 -(20248) found -(20249) found -[17522] Forked 20250 -[17521] Forked 20251 -(20250) found -(20251) found -[17520] Forked 20252 -[17519] Forked 20253 -(20252) found -(20253) found -[17518] Forked 20254 -[17517] Forked 20255 -(20254) found -(20255) found -[17516] Forked 20256 -[17515] Forked 20257 -(20256) found -(20257) found -[17514] Forked 20258 -[17513] Forked 20259 -(20258) found -(20259) found -[17512] Forked 20260 -[17511] Forked 20261 -(20260) found -(20261) found -[17510] Forked 20262 -[17509] Forked 20263 -(20262) found -(20263) found -[17508] Forked 20264 -[17507] Forked 20265 -(20264) found -(20265) found -[17506] Forked 20266 -[17505] Forked 20267 -(20266) found -(20267) found -[17504] Forked 20268 -[17503] Forked 20269 -(20268) found -(20269) found -[17502] Forked 20270 -[17501] Forked 20271 -(20270) found -(20271) found -[17500] Forked 20272 -[17499] Forked 20273 -(20272) found -(20273) found -[17498] Forked 20274 -[17497] Forked 20275 -(20274) found -(20275) found -[17496] Forked 20276 -[17495] Forked 20277 -(20276) found -(20277) found -[17494] Forked 20278 -[17493] Forked 20279 -(20278) found -(20279) found -[17492] Forked 20280 -[17491] Forked 20281 -(20280) found -(20281) found -[17490] Forked 20282 -[17489] Forked 20283 -(20282) found -(20283) found -[17488] Forked 20284 -[17487] Forked 20285 -(20284) found -(20285) found -[17486] Forked 20286 -[17485] Forked 20287 -(20286) found -(20287) found -[17484] Forked 20288 -[17483] Forked 20289 -(20288) found -(20289) found -[17482] Forked 20290 -[17481] Forked 20291 -(20290) found -(20291) found -[17480] Forked 20292 -[17479] Forked 20293 -(20292) found -(20293) found -[17478] Forked 20294 -[17477] Forked 20295 -(20294) found -(20295) found -[17476] Forked 20296 -[17475] Forked 20297 -(20296) found -(20297) found -[17474] Forked 20298 -[17473] Forked 20299 -(20298) found -(20299) found -[17472] Forked 20300 -[17471] Forked 20301 -(20300) found -(20301) found -[17470] Forked 20302 -[17469] Forked 20303 -(20302) found -(20303) found -[17468] Forked 20304 -[17467] Forked 20305 -(20304) found -(20305) found -[17466] Forked 20306 -[17465] Forked 20307 -(20306) found -(20307) found -[17464] Forked 20308 -[17463] Forked 20309 -(20308) found -(20309) found -[17462] Forked 20310 -[17461] Forked 20311 -(20310) found -(20311) found -[17460] Forked 20312 -[17459] Forked 20313 -(20312) found -(20313) found -[17458] Forked 20314 -[17457] Forked 20315 -(20314) found -(20315) found -[17456] Forked 20316 -[17455] Forked 20317 -(20316) found -(20317) found -[17454] Forked 20318 -[17453] Forked 20319 -(20318) found -(20319) found -[17452] Forked 20320 -[17451] Forked 20321 -(20320) found -(20321) found -[17450] Forked 20322 -[17449] Forked 20323 -(20322) found -(20323) found -[17448] Forked 20324 -[17447] Forked 20325 -(20324) found -(20325) found -[17446] Forked 20326 -[17445] Forked 20327 -(20326) found -(20327) found -[17444] Forked 20328 -[17443] Forked 20329 -(20328) found -(20329) found -[17442] Forked 20330 -[17441] Forked 20331 -(20330) found -(20331) found -[17440] Forked 20332 -[17439] Forked 20333 -(20332) found -(20333) found -[17438] Forked 20334 -(20334) found -[17437] Forked 20335 -(20335) found -[17436] Forked 20336 -(20336) found -[17435] Forked 20337 -(20337) found -[17434] Forked 20338 -(20338) found -[17433] Forked 20339 -(20339) found -[17432] Forked 20340 -(20340) found -[17431] Forked 20341 -(20341) found -[17430] Forked 20342 -(20342) found -[17429] Forked 20343 -(20343) found -[17428] Forked 20344 -(20344) found -[17427] Forked 20345 -(20345) found -[17426] Forked 20346 -(20346) found -[17425] Forked 20347 -(20347) found -[17424] Forked 20348 -(20348) found -[17423] Forked 20349 -(20349) found -[17422] Forked 20350 -(20350) found -[17421] Forked 20351 -(20351) found -[17420] Forked 20352 -(20352) found -[17419] Forked 20353 -(20353) found -[17418] Forked 20354 -(20354) found -[17417] Forked 20355 -(20355) found -[17416] Forked 20356 -(20356) found -[17415] Forked 20357 -(20357) found -[17414] Forked 20358 -(20358) found -[17413] Forked 20359 -(20359) found -[17412] Forked 20360 -(20360) found -[17411] Forked 20361 -(20361) found -[17410] Forked 20362 -(20362) found -[17409] Forked 20363 -(20363) found -[17408] Forked 20364 -(20364) found -[17407] Forked 20365 -(20365) found -[17406] Forked 20366 -(20366) found -[17405] Forked 20367 -(20367) found -[17404] Forked 20368 -(20368) found -[17403] Forked 20369 -(20369) found -[17402] Forked 20370 -(20370) found -[17401] Forked 20371 -(20371) found -[17400] Forked 20372 -(20372) found -[17399] Forked 20373 -[17398] Forked 20374 -(20373) found -(20374) found -[17397] Forked 20375 -[17396] Forked 20376 -(20375) found -(20376) found -[17395] Forked 20377 -[17394] Forked 20378 -(20377) found -(20378) found -[17393] Forked 20379 -[17392] Forked 20380 -(20379) found -(20380) found -[17391] Forked 20381 -[17390] Forked 20382 -(20381) found -(20382) found -[17389] Forked 20383 -[17388] Forked 20384 -(20383) found -(20384) found -[17387] Forked 20385 -[17386] Forked 20386 -(20385) found -(20386) found -[17385] Forked 20387 -[17384] Forked 20388 -(20387) found -(20388) found -[17383] Forked 20389 -[17382] Forked 20390 -(20389) found -(20390) found -[17381] Forked 20391 -[17380] Forked 20392 -(20391) found -(20392) found -[17379] Forked 20393 -[17378] Forked 20394 -(20393) found -(20394) found -[17377] Forked 20395 -[17376] Forked 20396 -(20395) found -(20396) found -[17375] Forked 20397 -[17374] Forked 20398 -(20397) found -(20398) found -[17373] Forked 20399 -[17372] Forked 20400 -(20399) found -(20400) found -[17371] Forked 20401 -[17370] Forked 20402 -(20401) found -(20402) found -[17369] Forked 20403 -[17368] Forked 20404 -(20403) found -(20404) found -[17367] Forked 20405 -[17366] Forked 20406 -(20405) found -(20406) found -[17365] Forked 20407 -[17364] Forked 20408 -(20407) found -(20408) found -[17363] Forked 20409 -[17362] Forked 20410 -(20409) found -(20410) found -[17361] Forked 20411 -[17360] Forked 20412 -(20411) found -(20412) found -[17359] Forked 20413 -[17358] Forked 20414 -(20413) found -(20414) found -[17357] Forked 20415 -[17356] Forked 20416 -(20415) found -(20416) found -[17355] Forked 20417 -(20417) found -[17354] Forked 20418 -(20418) found -[17353] Forked 20419 -(20419) found -[17352] Forked 20420 -(20420) found -[17351] Forked 20421 -(20421) found -[17350] Forked 20422 -(20422) found -[17349] Forked 20423 -(20423) found -[17348] Forked 20424 -(20424) found -[17347] Forked 20425 -(20425) found -[17346] Forked 20426 -(20426) found -[17345] Forked 20427 -(20427) found -[17344] Forked 20428 -(20428) found -[17343] Forked 20429 -(20429) found -[17342] Forked 20430 -(20430) found -[17341] Forked 20431 -(20431) found -[17340] Forked 20432 -(20432) found -[17339] Forked 20433 -(20433) found -[17338] Forked 20434 -(20434) found -[17337] Forked 20435 -(20435) found -[17336] Forked 20436 -(20436) found -[17335] Forked 20437 -(20437) found -[17334] Forked 20438 -(20438) found -[17333] Forked 20439 -(20439) found -[17332] Forked 20440 -(20440) found -[17331] Forked 20441 -(20441) found -[17330] Forked 20442 -(20442) found -[17329] Forked 20443 -(20443) found -[17328] Forked 20444 -(20444) found -[17327] Forked 20445 -(20445) found -[17326] Forked 20446 -(20446) found -[17325] Forked 20447 -(20447) found -[17324] Forked 20448 -(20448) found -[17323] Forked 20449 -(20449) found -[17322] Forked 20450 -(20450) found -[17321] Forked 20451 -(20451) found -[17320] Forked 20452 -(20452) found -[17319] Forked 20453 -(20453) found -[17318] Forked 20454 -(20454) found -[17317] Forked 20455 -(20455) found -[17316] Forked 20456 -[17315] Forked 20457 -(20456) found -(20457) found -[17314] Forked 20458 -[17313] Forked 20459 -(20458) found -(20459) found -[17312] Forked 20460 -[17311] Forked 20461 -(20460) found -(20461) found -[17310] Forked 20462 -[17309] Forked 20463 -(20462) found -(20463) found -[17308] Forked 20464 -[17307] Forked 20465 -(20464) found -(20465) found -[17306] Forked 20466 -[17305] Forked 20467 -(20466) found -(20467) found -[17304] Forked 20468 -[17303] Forked 20469 -(20468) found -(20469) found -[17302] Forked 20470 -[17301] Forked 20471 -(20470) found -(20471) found -[17300] Forked 20472 -[17299] Forked 20473 -(20472) found -(20473) found -[17298] Forked 20474 -[17297] Forked 20475 -(20474) found -(20475) found -[17296] Forked 20476 -[17295] Forked 20477 -(20476) found -(20477) found -[17294] Forked 20478 -[17293] Forked 20479 -(20478) found -(20479) found -[17292] Forked 20480 -[17291] Forked 20481 -(20480) found -(20481) found -[17290] Forked 20482 -[17289] Forked 20483 -(20482) found -(20483) found -[17288] Forked 20484 -[17287] Forked 20485 -(20484) found -(20485) found -[17286] Forked 20486 -[17285] Forked 20487 -(20486) found -(20487) found -[17284] Forked 20488 -[17283] Forked 20489 -(20488) found -(20489) found -[17282] Forked 20490 -[17281] Forked 20491 -(20490) found -(20491) found -[17280] Forked 20492 -[17279] Forked 20493 -(20492) found -(20493) found -[17278] Forked 20494 -(20494) found -[17277] Forked 20495 -[17276] Forked 20496 -(20495) found -(20496) found -[17275] Forked 20497 -[17274] Forked 20498 -(20497) found -(20498) found -[17273] Forked 20499 -(20499) found -[17272] Forked 20500 -(20500) found -[17271] Forked 20501 -(20501) found -[17270] Forked 20502 -(20502) found -[17269] Forked 20503 -(20503) found -[17268] Forked 20504 -(20504) found -[17267] Forked 20505 -(20505) found -[17266] Forked 20506 -(20506) found -[17265] Forked 20507 -(20507) found -[17264] Forked 20508 -(20508) found -[17263] Forked 20509 -(20509) found -[17262] Forked 20510 -(20510) found -[17261] Forked 20511 -(20511) found -[17260] Forked 20512 -(20512) found -[17259] Forked 20513 -(20513) found -[17258] Forked 20514 -(20514) found -[17257] Forked 20515 -(20515) found -[17256] Forked 20516 -(20516) found -[17255] Forked 20517 -(20517) found -[17254] Forked 20518 -(20518) found -[17253] Forked 20519 -(20519) found -[17252] Forked 20520 -(20520) found -[17251] Forked 20521 -(20521) found -[17250] Forked 20522 -(20522) found -[17249] Forked 20523 -(20523) found -[17248] Forked 20524 -(20524) found -[17247] Forked 20525 -(20525) found -[17246] Forked 20526 -(20526) found -[17245] Forked 20527 -(20527) found -[17244] Forked 20528 -(20528) found -[17243] Forked 20529 -(20529) found -[17242] Forked 20530 -(20530) found -[17241] Forked 20531 -(20531) found -[17240] Forked 20532 -(20532) found -[17239] Forked 20533 -(20533) found -[17238] Forked 20534 -(20534) found -[17237] Forked 20535 -(20535) found -[17236] Forked 20536 -(20536) found -[17235] Forked 20537 -(20537) found -[17234] Forked 20538 -[17233] Forked 20539 -(20538) found -(20539) found -[17232] Forked 20540 -[17231] Forked 20541 -(20540) found -(20541) found -[17230] Forked 20542 -[17229] Forked 20543 -(20542) found -(20543) found -[17228] Forked 20544 -[17227] Forked 20545 -(20544) found -(20545) found -[17226] Forked 20546 -[17225] Forked 20547 -(20546) found -(20547) found -[17224] Forked 20548 -[17223] Forked 20549 -(20548) found -(20549) found -[17222] Forked 20550 -[17221] Forked 20551 -(20550) found -(20551) found -[17220] Forked 20552 -[17219] Forked 20553 -(20552) found -(20553) found -[17218] Forked 20554 -[17217] Forked 20555 -(20554) found -(20555) found -[17216] Forked 20556 -[17215] Forked 20557 -(20556) found -(20557) found -[17214] Forked 20558 -[17213] Forked 20559 -(20558) found -(20559) found -[17212] Forked 20560 -[17211] Forked 20561 -(20560) found -(20561) found -[17210] Forked 20562 -[17209] Forked 20563 -(20562) found -(20563) found -[17208] Forked 20564 -[17207] Forked 20565 -(20564) found -(20565) found -[17206] Forked 20566 -[17205] Forked 20567 -(20566) found -(20567) found -[17204] Forked 20568 -[17203] Forked 20569 -(20568) found -(20569) found -[17202] Forked 20570 -[17201] Forked 20571 -(20570) found -(20571) found -[17200] Forked 20572 -[17199] Forked 20573 -(20572) found -(20573) found -[17198] Forked 20574 -[17197] Forked 20575 -(20574) found -(20575) found -[17196] Forked 20576 -[17195] Forked 20577 -(20576) found -(20577) found -[17194] Forked 20578 -[17193] Forked 20579 -(20578) found -(20579) found -[17192] Forked 20580 -[17191] Forked 20581 -(20580) found -(20581) found -[17190] Forked 20582 -[17189] Forked 20583 -(20582) found -(20583) found -[17188] Forked 20584 -[17187] Forked 20585 -(20584) found -(20585) found -[17186] Forked 20586 -[17185] Forked 20587 -(20586) found -(20587) found -[17184] Forked 20588 -[17183] Forked 20589 -(20588) found -(20589) found -[17182] Forked 20590 -[17181] Forked 20591 -(20590) found -(20591) found -[17180] Forked 20592 -[17179] Forked 20593 -(20592) found -(20593) found -[17178] Forked 20594 -[17177] Forked 20595 -(20594) found -(20595) found -[17176] Forked 20596 -[17175] Forked 20597 -(20596) found -(20597) found -[17174] Forked 20598 -[17173] Forked 20599 -(20598) found -(20599) found -[17172] Forked 20600 -[17171] Forked 20601 -(20600) found -(20601) found -[17170] Forked 20602 -[17169] Forked 20603 -(20602) found -(20603) found -[17168] Forked 20604 -[17167] Forked 20605 -(20604) found -(20605) found -[17166] Forked 20606 -[17165] Forked 20607 -(20606) found -(20607) found -[17164] Forked 20608 -[17163] Forked 20609 -(20608) found -(20609) found -[17162] Forked 20610 -[17161] Forked 20611 -(20610) found -(20611) found -[17160] Forked 20612 -[17159] Forked 20613 -(20612) found -(20613) found -[17158] Forked 20614 -[17157] Forked 20615 -(20614) found -(20615) found -[17156] Forked 20616 -[17155] Forked 20617 -(20616) found -(20617) found -[17154] Forked 20618 -[17153] Forked 20619 -(20618) found -(20619) found -[17152] Forked 20620 -[17151] Forked 20621 -(20620) found -(20621) found -[17150] Forked 20622 -[17149] Forked 20623 -(20622) found -(20623) found -[17148] Forked 20624 -[17147] Forked 20625 -(20624) found -(20625) found -[17146] Forked 20626 -[17145] Forked 20627 -(20626) found -(20627) found -[17144] Forked 20628 -[17143] Forked 20629 -(20628) found -(20629) found -[17142] Forked 20630 -(20630) found -[17141] Forked 20631 -(20631) found -[17140] Forked 20632 -(20632) found -[17139] Forked 20633 -(20633) found -[17138] Forked 20634 -(20634) found -[17137] Forked 20635 -(20635) found -[17136] Forked 20636 -(20636) found -[17135] Forked 20637 -(20637) found -[17134] Forked 20638 -(20638) found -[17133] Forked 20639 -(20639) found -[17132] Forked 20640 -(20640) found -[17131] Forked 20641 -(20641) found -[17130] Forked 20642 -(20642) found -[17129] Forked 20643 -(20643) found -[17128] Forked 20644 -(20644) found -[17127] Forked 20645 -(20645) found -[17126] Forked 20646 -(20646) found -[17125] Forked 20647 -(20647) found -[17124] Forked 20648 -(20648) found -[17123] Forked 20649 -(20649) found -[17122] Forked 20650 -(20650) found -[17121] Forked 20651 -(20651) found -[17120] Forked 20652 -(20652) found -[17119] Forked 20653 -(20653) found -[17118] Forked 20654 -(20654) found -[17117] Forked 20655 -(20655) found -[17116] Forked 20656 -(20656) found -[17115] Forked 20657 -(20657) found -[17114] Forked 20658 -(20658) found -[17113] Forked 20659 -(20659) found -[17112] Forked 20660 -(20660) found -[17111] Forked 20661 -(20661) found -[17110] Forked 20662 -(20662) found -[17109] Forked 20663 -(20663) found -[17108] Forked 20664 -[17107] Forked 20665 -(20664) found -(20665) found -[17106] Forked 20666 -[17105] Forked 20667 -(20666) found -(20667) found -[17104] Forked 20668 -[17103] Forked 20669 -(20668) found -(20669) found -[17102] Forked 20670 -[17101] Forked 20671 -(20670) found -(20671) found -[17100] Forked 20672 -[17099] Forked 20673 -(20672) found -(20673) found -[17098] Forked 20674 -[17097] Forked 20675 -(20674) found -(20675) found -[17096] Forked 20676 -[17095] Forked 20677 -(20676) found -(20677) found -[17094] Forked 20678 -[17093] Forked 20679 -(20678) found -(20679) found -[17092] Forked 20680 -[17091] Forked 20681 -(20680) found -(20681) found -[17090] Forked 20682 -[17089] Forked 20683 -(20682) found -(20683) found -[17088] Forked 20684 -[17087] Forked 20685 -(20684) found -(20685) found -[17086] Forked 20686 -[17085] Forked 20687 -(20686) found -(20687) found -[17084] Forked 20688 -[17083] Forked 20689 -(20688) found -(20689) found -[17082] Forked 20690 -[17081] Forked 20691 -(20690) found -(20691) found -[17080] Forked 20692 -[17079] Forked 20693 -(20692) found -(20693) found -[17078] Forked 20694 -[17077] Forked 20695 -(20694) found -(20695) found -[17076] Forked 20696 -[17075] Forked 20697 -(20696) found -(20697) found -[17074] Forked 20698 -[17073] Forked 20699 -(20698) found -(20699) found -[17072] Forked 20700 -[17071] Forked 20701 -(20700) found -(20701) found -[17070] Forked 20702 -[17069] Forked 20703 -(20702) found -(20703) found -[17068] Forked 20704 -[17067] Forked 20706 -(20704) found -(20706) found -[17066] Forked 20707 -(20707) found -[17065] Forked 20708 -(20708) found -[17064] Forked 20709 -(20709) found -[17063] Forked 20710 -(20710) found -[17062] Forked 20711 -(20711) found -[17061] Forked 20712 -(20712) found -[17060] Forked 20713 -(20713) found -[17059] Forked 20714 -(20714) found -[17058] Forked 20715 -(20715) found -[17057] Forked 20716 -(20716) found -[17056] Forked 20717 -(20717) found -[17055] Forked 20718 -(20718) found -[17054] Forked 20719 -(20719) found -[17053] Forked 20720 -(20720) found -[17052] Forked 20721 -(20721) found -[17051] Forked 20722 -(20722) found -[17050] Forked 20723 -(20723) found -[17049] Forked 20724 -(20724) found -[17048] Forked 20725 -(20725) found -[17047] Forked 20726 -(20726) found -[17046] Forked 20727 -(20727) found -[17045] Forked 20728 -(20728) found -[17044] Forked 20729 -(20729) found -[17043] Forked 20730 -(20730) found -[17042] Forked 20731 -(20731) found -[17041] Forked 20732 -(20732) found -[17040] Forked 20733 -(20733) found -[17039] Forked 20734 -(20734) found -[17038] Forked 20735 -(20735) found -[17037] Forked 20736 -(20736) found -[17036] Forked 20737 -(20737) found -[17035] Forked 20738 -(20738) found -[17034] Forked 20739 -(20739) found -[17033] Forked 20740 -(20740) found -[17032] Forked 20741 -(20741) found -[17031] Forked 20742 -(20742) found -[17030] Forked 20743 -(20743) found -[17029] Forked 20744 -(20744) found -[17028] Forked 20745 -(20745) found -[17027] Forked 20746 -(20746) found -[17026] Forked 20747 -(20747) found -[17025] Forked 20748 -(20748) found -[17024] Forked 20749 -(20749) found -[17023] Forked 20750 -(20750) found -[17022] Forked 20751 -(20751) found -[17021] Forked 20752 -(20752) found -[17020] Forked 20753 -(20753) found -[17019] Forked 20754 -(20754) found -[17018] Forked 20755 -(20755) found -[17017] Forked 20756 -(20756) found -[17016] Forked 20757 -(20757) found -[17015] Forked 20758 -(20758) found -[17014] Forked 20759 -(20759) found -[17013] Forked 20760 -(20760) found -[17012] Forked 20761 -(20761) found -[17011] Forked 20762 -(20762) found -[17010] Forked 20763 -(20763) found -[17009] Forked 20764 -(20764) found -[17008] Forked 20765 -(20765) found -[17007] Forked 20766 -(20766) found -[17006] Forked 20767 -(20767) found -[17005] Forked 20768 -(20768) found -[17004] Forked 20769 -(20769) found -[17003] Forked 20770 -(20770) found -[17002] Forked 20771 -(20771) found -[17001] Forked 20772 -(20772) found -[17000] Forked 20773 -(20773) found -[16999] Forked 20774 -(20774) found -[16998] Forked 20775 -(20775) found -[16997] Forked 20776 -(20776) found -[16996] Forked 20777 -(20777) found -[16995] Forked 20778 -(20778) found -[16994] Forked 20779 -(20779) found -[16993] Forked 20780 -(20780) found -[16992] Forked 20781 -(20781) found -[16991] Forked 20782 -[16990] Forked 20783 -(20782) found -(20783) found -[16989] Forked 20784 -[16988] Forked 20785 -(20784) found -(20785) found -[16987] Forked 20786 -[16986] Forked 20787 -(20786) found -(20787) found -[16985] Forked 20788 -[16984] Forked 20789 -(20788) found -(20789) found -[16983] Forked 20790 -[16982] Forked 20791 -(20790) found -(20791) found -[16981] Forked 20792 -[16980] Forked 20793 -(20792) found -(20793) found -[16979] Forked 20794 -[16978] Forked 20795 -(20794) found -(20795) found -[16977] Forked 20796 -[16976] Forked 20797 -(20796) found -(20797) found -[16975] Forked 20798 -[16974] Forked 20799 -(20798) found -(20799) found -[16973] Forked 20800 -[16972] Forked 20801 -(20800) found -(20801) found -[16971] Forked 20802 -[16970] Forked 20803 -(20802) found -(20803) found -[16969] Forked 20804 -[16968] Forked 20805 -(20804) found -(20805) found -[16967] Forked 20806 -[16966] Forked 20807 -(20806) found -(20807) found -[16965] Forked 20808 -[16964] Forked 20809 -(20808) found -(20809) found -[16963] Forked 20810 -[16962] Forked 20811 -(20810) found -(20811) found -[16961] Forked 20812 -[16960] Forked 20813 -(20812) found -(20813) found -[16959] Forked 20814 -[16958] Forked 20815 -(20814) found -(20815) found -[16957] Forked 20816 -[16956] Forked 20817 -(20816) found -(20817) found -[16955] Forked 20818 -[16954] Forked 20819 -(20818) found -(20819) found -[16953] Forked 20820 -[16952] Forked 20821 -(20820) found -(20821) found -[16951] Forked 20822 -[16950] Forked 20823 -(20822) found -(20823) found -[16949] Forked 20824 -(20824) found -[16948] Forked 20825 -(20825) found -[16947] Forked 20826 -(20826) found -[16946] Forked 20827 -(20827) found -[16945] Forked 20828 -(20828) found -[16944] Forked 20829 -(20829) found -[16943] Forked 20830 -(20830) found -[16942] Forked 20831 -(20831) found -[16941] Forked 20832 -(20832) found -[16940] Forked 20833 -(20833) found -[16939] Forked 20834 -(20834) found -[16938] Forked 20835 -(20835) found -[16937] Forked 20836 -(20836) found -[16936] Forked 20837 -(20837) found -[16935] Forked 20838 -(20838) found -[16934] Forked 20839 -(20839) found -[16933] Forked 20840 -(20840) found -[16932] Forked 20841 -(20841) found -[16931] Forked 20842 -(20842) found -[16930] Forked 20843 -(20843) found -[16929] Forked 20844 -(20844) found -[16928] Forked 20845 -(20845) found -[16927] Forked 20846 -(20846) found -[16926] Forked 20847 -(20847) found -[16925] Forked 20848 -(20848) found -[16924] Forked 20849 -(20849) found -[16923] Forked 20850 -(20850) found -[16922] Forked 20851 -(20851) found -[16921] Forked 20852 -(20852) found -[16920] Forked 20853 -(20853) found -[16919] Forked 20854 -(20854) found -[16918] Forked 20855 -(20855) found -[16917] Forked 20856 -(20856) found -[16916] Forked 20857 -(20857) found -[16915] Forked 20858 -(20858) found -[16914] Forked 20859 -(20859) found -[16913] Forked 20860 -[16912] Forked 20861 -(20860) found -(20861) found -[16911] Forked 20862 -[16910] Forked 20863 -(20862) found -(20863) found -[16909] Forked 20864 -[16908] Forked 20865 -(20865) found -(20864) found -[16907] Forked 20866 -(20866) found -[16906] Forked 20867 -(20867) found -[16905] Forked 20868 -(20868) found -[16904] Forked 20869 -(20869) found -[16903] Forked 20870 -(20870) found -[16902] Forked 20871 -(20871) found -[16901] Forked 20872 -(20872) found -[16900] Forked 20873 -(20873) found -[16899] Forked 20874 -(20874) found -[16898] Forked 20875 -(20875) found -[16897] Forked 20876 -(20876) found -[16896] Forked 20877 -(20877) found -[16895] Forked 20878 -(20878) found -[16894] Forked 20879 -(20879) found -[16893] Forked 20880 -(20880) found -[16892] Forked 20881 -(20881) found -[16891] Forked 20882 -(20882) found -[16890] Forked 20883 -(20883) found -[16889] Forked 20884 -(20884) found -[16888] Forked 20885 -(20885) found -[16887] Forked 20886 -(20886) found -[16886] Forked 20887 -(20887) found -[16885] Forked 20888 -(20888) found -[16884] Forked 20889 -(20889) found -[16883] Forked 20890 -(20890) found -[16882] Forked 20891 -(20891) found -[16881] Forked 20892 -(20892) found -[16880] Forked 20893 -(20893) found -[16879] Forked 20894 -(20894) found -[16878] Forked 20895 -(20895) found -[16877] Forked 20896 -(20896) found -[16876] Forked 20897 -(20897) found -[16875] Forked 20898 -(20898) found -[16874] Forked 20899 -(20899) found -[16873] Forked 20900 -(20900) found -[16872] Forked 20901 -(20901) found -[16871] Forked 20902 -(20902) found -[16870] Forked 20903 -(20903) found -[16869] Forked 20904 -(20904) found -[16868] Forked 20905 -(20905) found -[16867] Forked 20906 -(20906) found -[16866] Forked 20907 -(20907) found -[16865] Forked 20908 -(20908) found -[16864] Forked 20909 -(20909) found -[16863] Forked 20910 -(20910) found -[16862] Forked 20911 -(20911) found -[16861] Forked 20912 -(20912) found -[16860] Forked 20913 -(20913) found -[16859] Forked 20914 -(20914) found -[16858] Forked 20915 -(20915) found -[16857] Forked 20916 -(20916) found -[16856] Forked 20917 -(20917) found -[16855] Forked 20918 -(20918) found -[16854] Forked 20919 -(20919) found -[16853] Forked 20920 -(20920) found -[16852] Forked 20921 -(20921) found -[16851] Forked 20922 -(20922) found -[16850] Forked 20923 -(20923) found -[16849] Forked 20924 -(20924) found -[16848] Forked 20925 -(20925) found -[16847] Forked 20926 -(20926) found -[16846] Forked 20927 -(20927) found -[16845] Forked 20928 -(20928) found -[16844] Forked 20929 -(20929) found -[16843] Forked 20930 -[16842] Forked 20931 -(20930) found -(20931) found -[16841] Forked 20932 -[16840] Forked 20933 -(20932) found -(20933) found -[16839] Forked 20934 -[16838] Forked 20935 -(20934) found -(20935) found -[16837] Forked 20936 -[16836] Forked 20937 -(20936) found -(20937) found -[16835] Forked 20938 -[16834] Forked 20939 -(20938) found -(20939) found -[16833] Forked 20940 -[16832] Forked 20941 -(20940) found -(20941) found -[16831] Forked 20942 -[16830] Forked 20943 -(20942) found -(20943) found -[16829] Forked 20944 -[16828] Forked 20945 -(20944) found -(20945) found -[16827] Forked 20946 -[16826] Forked 20947 -(20946) found -(20947) found -[16825] Forked 20948 -(20948) found -[16824] Forked 20949 -(20949) found -[16823] Forked 20950 -[16822] Forked 20951 -(20950) found -(20951) found -[16821] Forked 20952 -[16820] Forked 20953 -(20952) found -(20953) found -[16819] Forked 20954 -[16818] Forked 20955 -(20954) found -(20955) found -[16817] Forked 20956 -[16816] Forked 20957 -(20956) found -(20957) found -[16815] Forked 20958 -[16814] Forked 20959 -(20958) found -(20959) found -[16813] Forked 20960 -[16812] Forked 20961 -(20960) found -(20961) found -[16811] Forked 20962 -[16810] Forked 20963 -(20962) found -(20963) found -[16809] Forked 20964 -[16808] Forked 20965 -(20964) found -(20965) found -[16807] Forked 20966 -[16806] Forked 20967 -(20966) found -(20967) found -[16805] Forked 20968 -[16804] Forked 20969 -(20968) found -(20969) found -[16803] Forked 20970 -[16802] Forked 20971 -(20970) found -(20971) found -[16801] Forked 20972 -[16800] Forked 20973 -(20972) found -(20973) found -[16799] Forked 20974 -(20974) found -[16798] Forked 20975 -(20975) found -[16797] Forked 20976 -(20976) found -[16796] Forked 20977 -(20977) found -[16795] Forked 20978 -(20978) found -[16794] Forked 20979 -(20979) found -[16793] Forked 20980 -(20980) found -[16792] Forked 20981 -(20981) found -[16791] Forked 20982 -(20982) found -[16790] Forked 20983 -(20983) found -[16789] Forked 20984 -(20984) found -[16788] Forked 20985 -(20985) found -[16787] Forked 20986 -(20986) found -[16786] Forked 20987 -(20987) found -[16785] Forked 20988 -(20988) found -[16784] Forked 20989 -(20989) found -[16783] Forked 20990 -(20990) found -[16782] Forked 20991 -(20991) found -[16781] Forked 20992 -(20992) found -[16780] Forked 20993 -(20993) found -[16779] Forked 20994 -(20994) found -[16778] Forked 20995 -(20995) found -[16777] Forked 20996 -(20996) found -[16776] Forked 20997 -(20997) found -[16775] Forked 20998 -(20998) found -[16774] Forked 20999 -(20999) found -[16773] Forked 21000 -(21000) found -[16772] Forked 21001 -(21001) found -[16771] Forked 21002 -(21002) found -[16770] Forked 21003 -(21003) found -[16769] Forked 21004 -(21004) found -[16768] Forked 21005 -(21005) found -[16767] Forked 21006 -(21006) found -[16766] Forked 21007 -(21007) found -[16765] Forked 21008 -(21008) found -[16764] Forked 21009 -(21009) found -[16763] Forked 21010 -(21010) found -[16762] Forked 21011 -[16761] Forked 21012 -(21011) found -(21012) found -[16760] Forked 21013 -[16759] Forked 21014 -(21013) found -(21014) found -[16758] Forked 21015 -[16757] Forked 21016 -(21015) found -(21016) found -[16756] Forked 21017 -[16755] Forked 21018 -(21017) found -(21018) found -[16754] Forked 21019 -[16753] Forked 21020 -(21019) found -(21020) found -[16752] Forked 21021 -[16751] Forked 21022 -(21021) found -(21022) found -[16750] Forked 21023 -[16749] Forked 21024 -(21023) found -(21024) found -[16748] Forked 21025 -[16747] Forked 21026 -(21025) found -(21026) found -[16746] Forked 21027 -[16745] Forked 21028 -(21027) found -(21028) found -[16744] Forked 21029 -[16743] Forked 21030 -(21029) found -(21030) found -[16742] Forked 21031 -[16741] Forked 21032 -(21031) found -(21032) found -[16740] Forked 21033 -[16739] Forked 21034 -(21033) found -(21034) found -[16738] Forked 21035 -[16737] Forked 21036 -(21035) found -(21036) found -[16736] Forked 21037 -[16735] Forked 21038 -(21037) found -(21038) found -[16734] Forked 21039 -[16733] Forked 21040 -(21039) found -(21040) found -[16732] Forked 21041 -[16731] Forked 21042 -(21041) found -(21042) found -[16730] Forked 21043 -[16729] Forked 21044 -(21043) found -(21044) found -[16728] Forked 21045 -[16727] Forked 21046 -(21045) found -(21046) found -[16726] Forked 21047 -[16725] Forked 21048 -(21047) found -(21048) found -[16724] Forked 21049 -[16723] Forked 21050 -(21049) found -(21050) found -[16722] Forked 21051 -[16721] Forked 21052 -(21051) found -(21052) found -[16720] Forked 21053 -[16719] Forked 21054 -(21053) found -(21054) found -[16718] Forked 21055 -[16717] Forked 21056 -(21055) found -(21056) found -[16716] Forked 21057 -[16715] Forked 21058 -(21057) found -(21058) found -[16714] Forked 21059 -[16713] Forked 21060 -(21059) found -(21060) found -[16712] Forked 21061 -[16711] Forked 21062 -(21061) found -(21062) found -[16710] Forked 21063 -[16709] Forked 21064 -(21063) found -(21064) found -[16708] Forked 21065 -[16707] Forked 21066 -(21065) found -(21066) found -[16706] Forked 21067 -[16705] Forked 21068 -(21067) found -(21068) found -[16704] Forked 21069 -[16703] Forked 21070 -(21069) found -(21070) found -[16702] Forked 21071 -[16701] Forked 21072 -(21071) found -(21072) found -[16700] Forked 21073 -[16699] Forked 21074 -(21073) found -(21074) found -[16698] Forked 21075 -[16697] Forked 21076 -(21075) found -(21076) found -[16696] Forked 21077 -[16695] Forked 21078 -(21077) found -(21078) found -[16694] Forked 21079 -[16693] Forked 21080 -(21079) found -(21080) found -[16692] Forked 21081 -(21081) found -[16691] Forked 21082 -[16690] Forked 21083 -(21082) found -(21083) found -[16689] Forked 21084 -[16688] Forked 21085 -(21084) found -(21085) found -[16687] Forked 21086 -[16686] Forked 21087 -(21086) found -(21087) found -[16685] Forked 21088 -[16684] Forked 21089 -(21088) found -(21089) found -[16683] Forked 21090 -[16682] Forked 21091 -(21090) found -(21091) found -[16681] Forked 21092 -[16680] Forked 21093 -(21093) found -(21092) found -[16679] Forked 21094 -(21094) found -[16678] Forked 21095 -(21095) found -[16677] Forked 21096 -(21096) found -[16676] Forked 21097 -(21097) found -[16675] Forked 21098 -(21098) found -[16674] Forked 21099 -(21099) found -[16673] Forked 21100 -(21100) found -[16672] Forked 21101 -(21101) found -[16671] Forked 21102 -(21102) found -[16670] Forked 21103 -(21103) found -[16669] Forked 21104 -(21104) found -[16668] Forked 21105 -(21105) found -[16667] Forked 21106 -(21106) found -[16666] Forked 21107 -(21107) found -[16665] Forked 21108 -(21108) found -[16664] Forked 21109 -(21109) found -[16663] Forked 21110 -(21110) found -[16662] Forked 21111 -(21111) found -[16661] Forked 21112 -(21112) found -[16660] Forked 21113 -(21113) found -[16659] Forked 21114 -(21114) found -[16658] Forked 21115 -(21115) found -[16657] Forked 21116 -(21116) found -[16656] Forked 21117 -(21117) found -[16655] Forked 21118 -(21118) found -[16654] Forked 21119 -(21119) found -[16653] Forked 21120 -(21120) found -[16652] Forked 21121 -(21121) found -[16651] Forked 21122 -(21122) found -[16650] Forked 21123 -(21123) found -[16649] Forked 21124 -(21124) found -[16648] Forked 21125 -(21125) found -[16647] Forked 21126 -(21126) found -[16646] Forked 21127 -(21127) found -[16645] Forked 21128 -(21128) found -[16644] Forked 21129 -(21129) found -[16643] Forked 21130 -(21130) found -[16642] Forked 21131 -(21131) found -[16641] Forked 21132 -(21132) found -[16640] Forked 21133 -(21133) found -[16639] Forked 21134 -(21134) found -[16638] Forked 21135 -[16637] Forked 21136 -(21135) found -(21136) found -[16636] Forked 21137 -[16635] Forked 21138 -(21137) found -(21138) found -[16634] Forked 21139 -[16633] Forked 21140 -(21139) found -(21140) found -[16632] Forked 21141 -[16631] Forked 21142 -(21141) found -(21142) found -[16630] Forked 21143 -[16629] Forked 21144 -(21143) found -(21144) found -[16628] Forked 21145 -[16627] Forked 21146 -(21145) found -(21146) found -[16626] Forked 21147 -[16625] Forked 21148 -(21147) found -(21148) found -[16624] Forked 21149 -[16623] Forked 21150 -(21149) found -(21150) found -[16622] Forked 21151 -[16621] Forked 21152 -(21151) found -(21152) found -[16620] Forked 21153 -[16619] Forked 21154 -(21153) found -(21154) found -[16618] Forked 21155 -[16617] Forked 21156 -(21155) found -(21156) found -[16616] Forked 21157 -[16615] Forked 21158 -(21157) found -(21158) found -[16614] Forked 21159 -[16613] Forked 21160 -(21159) found -(21160) found -[16612] Forked 21161 -[16611] Forked 21162 -(21161) found -(21162) found -[16610] Forked 21163 -[16609] Forked 21164 -(21163) found -(21164) found -[16608] Forked 21165 -[16607] Forked 21166 -(21165) found -(21166) found -[16606] Forked 21167 -[16605] Forked 21168 -(21167) found -(21168) found -[16604] Forked 21169 -[16603] Forked 21170 -(21169) found -(21170) found -[16602] Forked 21171 -[16601] Forked 21172 -(21171) found -(21172) found -[16600] Forked 21173 -[16599] Forked 21175 -(21173) found -(21175) found -[16598] Forked 21176 -(21176) found -[16597] Forked 21177 -(21177) found -[16596] Forked 21178 -(21178) found -[16595] Forked 21179 -(21179) found -[16594] Forked 21180 -(21180) found -[16593] Forked 21181 -(21181) found -[16592] Forked 21182 -(21182) found -[16591] Forked 21183 -(21183) found -[16590] Forked 21184 -(21184) found -[16589] Forked 21185 -(21185) found -[16588] Forked 21186 -(21186) found -[16587] Forked 21187 -(21187) found -[16586] Forked 21188 -(21188) found -[16585] Forked 21189 -(21189) found -[16584] Forked 21190 -(21190) found -[16583] Forked 21191 -(21191) found -[16582] Forked 21192 -(21192) found -[16581] Forked 21193 -(21193) found -[16580] Forked 21194 -(21194) found -[16579] Forked 21195 -(21195) found -[16578] Forked 21196 -(21196) found -[16577] Forked 21197 -(21197) found -[16576] Forked 21198 -(21198) found -[16575] Forked 21199 -(21199) found -[16574] Forked 21200 -(21200) found -[16573] Forked 21201 -(21201) found -[16572] Forked 21202 -(21202) found -[16571] Forked 21203 -(21203) found -[16570] Forked 21204 -(21204) found -[16569] Forked 21205 -(21205) found -[16568] Forked 21206 -(21206) found -[16567] Forked 21207 -(21207) found -[16566] Forked 21208 -(21208) found -[16565] Forked 21209 -(21209) found -[16564] Forked 21210 -(21210) found -[16563] Forked 21211 -(21211) found -[16562] Forked 21212 -(21212) found -[16561] Forked 21213 -(21213) found -[16560] Forked 21214 -(21214) found -[16559] Forked 21215 -(21215) found -[16558] Forked 21216 -[16557] Forked 21217 -(21216) found -(21217) found -[16556] Forked 21218 -[16555] Forked 21219 -(21218) found -(21219) found -[16554] Forked 21220 -[16553] Forked 21221 -(21220) found -(21221) found -[16552] Forked 21222 -[16551] Forked 21223 -(21222) found -(21223) found -[16550] Forked 21224 -[16549] Forked 21225 -(21224) found -(21225) found -[16548] Forked 21226 -[16547] Forked 21227 -(21226) found -(21227) found -[16546] Forked 21228 -[16545] Forked 21229 -(21228) found -(21229) found -[16544] Forked 21230 -[16543] Forked 21231 -(21230) found -(21231) found -[16542] Forked 21232 -[16541] Forked 21233 -(21232) found -(21233) found -[16540] Forked 21234 -[16539] Forked 21235 -(21234) found -(21235) found -[16538] Forked 21236 -[16537] Forked 21237 -(21236) found -(21237) found -[16536] Forked 21238 -[16535] Forked 21239 -(21238) found -(21239) found -[16534] Forked 21240 -[16533] Forked 21241 -(21240) found -(21241) found -[16532] Forked 21242 -[16531] Forked 21243 -(21242) found -(21243) found -[16530] Forked 21244 -[16529] Forked 21245 -(21244) found -(21245) found -[16528] Forked 21246 -[16527] Forked 21247 -(21246) found -(21247) found -[16526] Forked 21248 -[16525] Forked 21249 -(21248) found -(21249) found -[16524] Forked 21250 -[16523] Forked 21251 -(21250) found -(21251) found -[16522] Forked 21252 -[16521] Forked 21253 -(21252) found -(21253) found -[16520] Forked 21254 -[16519] Forked 21255 -(21254) found -(21255) found -[16518] Forked 21256 -[16517] Forked 21257 -(21256) found -(21257) found -[16516] Forked 21258 -[16515] Forked 21259 -(21258) found -(21259) found -[16514] Forked 21260 -[16513] Forked 21261 -(21260) found -(21261) found -[16512] Forked 21262 -(21262) found -[16511] Forked 21263 -(21263) found -[16510] Forked 21264 -(21264) found -[16509] Forked 21265 -(21265) found -[16508] Forked 21266 -(21266) found -[16507] Forked 21267 -(21267) found -[16506] Forked 21268 -(21268) found -[16505] Forked 21269 -(21269) found -[16504] Forked 21270 -(21270) found -[16503] Forked 21271 -(21271) found -[16502] Forked 21272 -(21272) found -[16501] Forked 21273 -(21273) found -[16500] Forked 21274 -(21274) found -[16499] Forked 21275 -(21275) found -[16498] Forked 21276 -(21276) found -[16497] Forked 21277 -(21277) found -[16496] Forked 21278 -(21278) found -[16495] Forked 21279 -(21279) found -[16494] Forked 21280 -(21280) found -[16493] Forked 21281 -(21281) found -[16492] Forked 21282 -(21282) found -[16491] Forked 21283 -(21283) found -[16490] Forked 21284 -(21284) found -[16489] Forked 21285 -(21285) found -[16488] Forked 21286 -(21286) found -[16487] Forked 21287 -(21287) found -[16486] Forked 21288 -(21288) found -[16485] Forked 21289 -(21289) found -[16484] Forked 21290 -(21290) found -[16483] Forked 21291 -(21291) found -[16482] Forked 21292 -(21292) found -[16481] Forked 21293 -(21293) found -[16480] Forked 21294 -(21294) found -[16479] Forked 21295 -(21295) found -[16478] Forked 21296 -(21296) found -[16477] Forked 21297 -[16476] Forked 21298 -(21297) found -(21298) found -[16475] Forked 21299 -[16474] Forked 21300 -(21299) found -(21300) found -[16473] Forked 21301 -[16472] Forked 21302 -(21301) found -(21302) found -[16471] Forked 21303 -[16470] Forked 21304 -(21303) found -(21304) found -[16469] Forked 21305 -[16468] Forked 21306 -(21305) found -(21306) found -[16467] Forked 21307 -[16466] Forked 21308 -(21307) found -(21308) found -[16465] Forked 21309 -[16464] Forked 21310 -(21309) found -(21310) found -[16463] Forked 21311 -[16462] Forked 21312 -(21311) found -(21312) found -[16461] Forked 21313 -[16460] Forked 21314 -(21313) found -(21314) found -[16459] Forked 21315 -[16458] Forked 21316 -(21315) found -(21316) found -[16457] Forked 21317 -[16456] Forked 21318 -(21317) found -(21318) found -[16455] Forked 21319 -[16454] Forked 21320 -(21319) found -(21320) found -[16453] Forked 21321 -[16452] Forked 21322 -(21321) found -(21322) found -[16451] Forked 21323 -[16450] Forked 21324 -(21323) found -(21324) found -[16449] Forked 21325 -[16448] Forked 21326 -(21325) found -(21326) found -[16447] Forked 21327 -[16446] Forked 21328 -(21327) found -(21328) found -[16445] Forked 21329 -[16444] Forked 21330 -(21329) found -(21330) found -[16443] Forked 21331 -[16442] Forked 21332 -(21331) found -(21332) found -[16441] Forked 21333 -[16440] Forked 21334 -(21333) found -(21334) found -[16439] Forked 21335 -[16438] Forked 21336 -(21335) found -(21336) found -[16437] Forked 21337 -[16436] Forked 21338 -(21337) found -(21338) found -[16435] Forked 21339 -[16434] Forked 21340 -(21339) found -(21340) found -[16433] Forked 21341 -[16432] Forked 21342 -(21341) found -(21342) found -[16431] Forked 21343 -[16430] Forked 21344 -(21343) found -(21344) found -[16429] Forked 21345 -[16428] Forked 21346 -(21345) found -(21346) found -[16427] Forked 21347 -[16426] Forked 21348 -(21347) found -(21348) found -[16425] Forked 21349 -[16424] Forked 21350 -(21349) found -(21350) found -[16423] Forked 21351 -[16422] Forked 21352 -(21351) found -(21352) found -[16421] Forked 21353 -[16420] Forked 21354 -(21353) found -(21354) found -[16419] Forked 21355 -[16418] Forked 21356 -(21355) found -(21356) found -[16417] Forked 21357 -[16416] Forked 21358 -(21357) found -(21358) found -[16415] Forked 21359 -[16414] Forked 21360 -(21359) found -(21360) found -[16413] Forked 21361 -[16412] Forked 21362 -(21361) found -(21362) found -[16411] Forked 21363 -[16410] Forked 21364 -(21363) found -(21364) found -[16409] Forked 21365 -[16408] Forked 21366 -(21365) found -(21366) found -[16407] Forked 21367 -[16406] Forked 21368 -(21367) found -(21368) found -[16405] Forked 21369 -[16404] Forked 21370 -(21369) found -(21370) found -[16403] Forked 21371 -[16402] Forked 21372 -(21371) found -(21372) found -[16401] Forked 21373 -[16400] Forked 21374 -(21373) found -(21374) found -[16399] Forked 21375 -[16398] Forked 21376 -(21375) found -(21376) found -[16397] Forked 21377 -[16396] Forked 21378 -(21377) found -(21378) found -[16395] Forked 21379 -[16394] Forked 21380 -(21379) found -(21380) found -[16393] Forked 21381 -[16392] Forked 21382 -(21381) found -(21382) found -[16391] Forked 21383 -[16390] Forked 21384 -(21383) found -(21384) found -[16389] Forked 21385 -[16388] Forked 21386 -(21385) found -(21386) found -[16387] Forked 21387 -[16386] Forked 21388 -(21387) found -(21388) found -[16385] Forked 21389 -(21389) found -[16384] Forked 21390 -(21390) found -[16383] Forked 21391 -(21391) found -[16382] Forked 21392 -(21392) found -[16381] Forked 21393 -(21393) found -[16380] Forked 21394 -(21394) found -[16379] Forked 21395 -(21395) found -[16378] Forked 21396 -(21396) found -[16377] Forked 21397 -(21397) found -[16376] Forked 21398 -(21398) found -[16375] Forked 21399 -(21399) found -[16374] Forked 21400 -(21400) found -[16373] Forked 21401 -(21401) found -[16372] Forked 21402 -(21402) found -[16371] Forked 21403 -(21403) found -[16370] Forked 21404 -(21404) found -[16369] Forked 21405 -(21405) found -[16368] Forked 21406 -(21406) found -[16367] Forked 21407 -(21407) found -[16366] Forked 21408 -(21408) found -[16365] Forked 21409 -(21409) found -[16364] Forked 21410 -(21410) found -[16363] Forked 21411 -(21411) found -[16362] Forked 21412 -(21412) found -[16361] Forked 21413 -(21413) found -[16360] Forked 21414 -(21414) found -[16359] Forked 21415 -(21415) found -[16358] Forked 21416 -(21416) found -[16357] Forked 21417 -(21417) found -[16356] Forked 21418 -(21418) found -[16355] Forked 21419 -(21419) found -[16354] Forked 21420 -(21420) found -[16353] Forked 21421 -(21421) found -[16352] Forked 21422 -(21422) found -[16351] Forked 21423 -(21423) found -[16350] Forked 21424 -(21424) found -[16349] Forked 21425 -(21425) found -[16348] Forked 21426 -(21426) found -[16347] Forked 21427 -(21427) found -[16346] Forked 21428 -[16345] Forked 21429 -(21428) found -(21429) found -[16344] Forked 21430 -[16343] Forked 21431 -(21430) found -(21431) found -[16342] Forked 21432 -(21432) found -[16341] Forked 21433 -[16340] Forked 21434 -(21433) found -(21434) found -[16339] Forked 21435 -[16338] Forked 21436 -(21435) found -(21436) found -[16337] Forked 21437 -[16336] Forked 21438 -(21437) found -(21438) found -[16335] Forked 21439 -[16334] Forked 21440 -(21439) found -(21440) found -[16333] Forked 21441 -[16332] Forked 21442 -(21441) found -(21442) found -[16331] Forked 21443 -[16330] Forked 21444 -(21443) found -(21444) found -[16329] Forked 21445 -[16328] Forked 21446 -(21445) found -(21446) found -[16327] Forked 21447 -[16326] Forked 21448 -(21447) found -(21448) found -[16325] Forked 21449 -[16324] Forked 21450 -(21449) found -(21450) found -[16323] Forked 21451 -[16322] Forked 21452 -(21451) found -(21452) found -[16321] Forked 21453 -[16320] Forked 21454 -(21453) found -(21454) found -[16319] Forked 21455 -[16318] Forked 21456 -(21455) found -(21456) found -[16317] Forked 21457 -[16316] Forked 21458 -(21457) found -(21458) found -[16315] Forked 21459 -[16314] Forked 21460 -(21459) found -(21460) found -[16313] Forked 21461 -[16312] Forked 21462 -(21461) found -(21462) found -[16311] Forked 21463 -[16310] Forked 21464 -(21463) found -(21464) found -[16309] Forked 21465 -[16308] Forked 21466 -(21465) found -(21466) found -[16307] Forked 21467 -[16306] Forked 21468 -(21468) found -(21467) found -[16305] Forked 21469 -(21469) found -[16304] Forked 21470 -(21470) found -[16303] Forked 21471 -(21471) found -[16302] Forked 21472 -(21472) found -[16301] Forked 21473 -(21473) found -[16300] Forked 21474 -(21474) found -[16299] Forked 21475 -(21475) found -[16298] Forked 21476 -(21476) found -[16297] Forked 21477 -(21477) found -[16296] Forked 21478 -(21478) found -[16295] Forked 21479 -(21479) found -[16294] Forked 21480 -(21480) found -[16293] Forked 21481 -(21481) found -[16292] Forked 21482 -(21482) found -[16291] Forked 21483 -(21483) found -[16290] Forked 21484 -(21484) found -[16289] Forked 21485 -(21485) found -[16288] Forked 21486 -(21486) found -[16287] Forked 21487 -(21487) found -[16286] Forked 21488 -(21488) found -[16285] Forked 21489 -(21489) found -[16284] Forked 21490 -(21490) found -[16283] Forked 21491 -(21491) found -[16282] Forked 21492 -(21492) found -[16281] Forked 21493 -(21493) found -[16280] Forked 21494 -(21494) found -[16279] Forked 21495 -(21495) found -[16278] Forked 21496 -(21496) found -[16277] Forked 21497 -(21497) found -[16276] Forked 21498 -(21498) found -[16275] Forked 21499 -(21499) found -[16274] Forked 21500 -(21500) found -[16273] Forked 21501 -(21501) found -[16272] Forked 21502 -(21502) found -[16271] Forked 21503 -[16270] Forked 21504 -(21503) found -(21504) found -[16269] Forked 21505 -[16268] Forked 21506 -(21505) found -(21506) found -[16267] Forked 21507 -[16266] Forked 21508 -(21507) found -(21508) found -[16265] Forked 21509 -[16264] Forked 21510 -(21509) found -(21510) found -[16263] Forked 21511 -[16262] Forked 21512 -(21511) found -(21512) found -[16261] Forked 21513 -[16260] Forked 21514 -(21513) found -(21514) found -[16259] Forked 21515 -[16258] Forked 21516 -(21515) found -(21516) found -[16257] Forked 21517 -[16256] Forked 21518 -(21517) found -(21518) found -[16255] Forked 21519 -[16254] Forked 21520 -(21519) found -(21520) found -[16253] Forked 21521 -[16252] Forked 21522 -(21521) found -(21522) found -[16251] Forked 21523 -[16250] Forked 21524 -(21523) found -(21524) found -[16249] Forked 21525 -[16248] Forked 21526 -(21525) found -(21526) found -[16247] Forked 21527 -[16246] Forked 21528 -(21527) found -(21528) found -[16245] Forked 21529 -[16244] Forked 21530 -(21529) found -(21530) found -[16243] Forked 21531 -[16242] Forked 21532 -(21531) found -(21532) found -[16241] Forked 21533 -[16240] Forked 21534 -(21533) found -(21534) found -[16239] Forked 21535 -[16238] Forked 21536 -(21535) found -(21536) found -[16237] Forked 21537 -[16236] Forked 21538 -(21537) found -(21538) found -[16235] Forked 21539 -[16234] Forked 21540 -(21539) found -(21540) found -[16233] Forked 21541 -[16232] Forked 21542 -(21541) found -(21542) found -[16231] Forked 21543 -[16230] Forked 21544 -(21543) found -(21544) found -[16229] Forked 21545 -(21545) found -[16228] Forked 21546 -(21546) found -[16227] Forked 21547 -(21547) found -[16226] Forked 21548 -(21548) found -[16225] Forked 21549 -(21549) found -[16224] Forked 21550 -(21550) found -[16223] Forked 21551 -(21551) found -[16222] Forked 21552 -(21552) found -[16221] Forked 21553 -(21553) found -[16220] Forked 21554 -(21554) found -[16219] Forked 21555 -(21555) found -[16218] Forked 21556 -(21556) found -[16217] Forked 21557 -(21557) found -[16216] Forked 21558 -(21558) found -[16215] Forked 21559 -(21559) found -[16214] Forked 21560 -(21560) found -[16213] Forked 21561 -(21561) found -[16212] Forked 21562 -(21562) found -[16211] Forked 21563 -(21563) found -[16210] Forked 21564 -(21564) found -[16209] Forked 21565 -(21565) found -[16208] Forked 21566 -(21566) found -[16207] Forked 21567 -(21567) found -[16206] Forked 21568 -(21568) found -[16205] Forked 21569 -(21569) found -[16204] Forked 21570 -(21570) found -[16203] Forked 21571 -(21571) found -[16202] Forked 21572 -(21572) found -[16201] Forked 21573 -(21573) found -[16200] Forked 21574 -(21574) found -[16199] Forked 21575 -(21575) found -[16198] Forked 21576 -(21576) found -[16197] Forked 21577 -(21577) found -[16196] Forked 21578 -(21578) found -[16195] Forked 21579 -(21579) found -[16194] Forked 21580 -(21580) found -[16193] Forked 21581 -(21581) found -[16192] Forked 21582 -(21582) found -[16191] Forked 21583 -(21583) found -[16190] Forked 21584 -[16189] Forked 21585 -(21584) found -(21585) found -[16188] Forked 21586 -[16187] Forked 21587 -(21586) found -(21587) found -[16186] Forked 21588 -[16185] Forked 21589 -(21588) found -(21589) found -[16184] Forked 21590 -[16183] Forked 21591 -(21590) found -(21591) found -[16182] Forked 21592 -[16181] Forked 21593 -(21592) found -(21593) found -[16180] Forked 21594 -[16179] Forked 21595 -(21594) found -(21595) found -[16178] Forked 21596 -[16177] Forked 21597 -(21596) found -(21597) found -[16176] Forked 21598 -[16175] Forked 21599 -(21598) found -(21599) found -[16174] Forked 21600 -[16173] Forked 21601 -(21600) found -(21601) found -[16172] Forked 21602 -[16171] Forked 21603 -(21602) found -(21603) found -[16170] Forked 21604 -[16169] Forked 21605 -(21604) found -(21605) found -[16168] Forked 21606 -[16167] Forked 21607 -(21606) found -(21607) found -[16166] Forked 21608 -[16165] Forked 21609 -(21608) found -(21609) found -[16164] Forked 21610 -[16163] Forked 21611 -(21610) found -(21611) found -[16162] Forked 21612 -[16161] Forked 21613 -(21612) found -(21613) found -[16160] Forked 21614 -[16159] Forked 21615 -(21614) found -(21615) found -[16158] Forked 21616 -[16157] Forked 21617 -(21616) found -(21617) found -[16156] Forked 21618 -[16155] Forked 21619 -(21618) found -(21619) found -[16154] Forked 21620 -[16153] Forked 21621 -(21620) found -(21621) found -[16152] Forked 21622 -[16151] Forked 21623 -(21622) found -(21623) found -[16150] Forked 21624 -[16149] Forked 21625 -(21624) found -(21625) found -[16148] Forked 21626 -[16147] Forked 21627 -(21626) found -(21627) found -[16146] Forked 21628 -(21628) found -[16145] Forked 21630 -(21630) found -[16144] Forked 21631 -(21631) found -[16143] Forked 21632 -(21632) found -[16142] Forked 21633 -(21633) found -[16141] Forked 21634 -(21634) found -[16140] Forked 21635 -(21635) found -[16139] Forked 21636 -(21636) found -[16138] Forked 21637 -(21637) found -[16137] Forked 21638 -(21638) found -[16136] Forked 21639 -(21639) found -[16135] Forked 21640 -(21640) found -[16134] Forked 21641 -(21641) found -[16133] Forked 21642 -(21642) found -[16132] Forked 21643 -(21643) found -[16131] Forked 21644 -(21644) found -[16130] Forked 21645 -(21645) found -[16129] Forked 21646 -(21646) found -[16128] Forked 21647 -(21647) found -[16127] Forked 21648 -(21648) found -[16126] Forked 21649 -(21649) found -[16125] Forked 21650 -(21650) found -[16124] Forked 21651 -(21651) found -[16123] Forked 21652 -(21652) found -[16122] Forked 21653 -(21653) found -[16121] Forked 21654 -(21654) found -[16120] Forked 21655 -(21655) found -[16119] Forked 21656 -(21656) found -[16118] Forked 21657 -(21657) found -[16117] Forked 21658 -(21658) found -[16116] Forked 21659 -(21659) found -[16115] Forked 21660 -(21660) found -[16114] Forked 21661 -(21661) found -[16113] Forked 21662 -(21662) found -[16112] Forked 21663 -(21663) found -[16111] Forked 21664 -(21664) found -[16110] Forked 21665 -(21665) found -[16109] Forked 21666 -(21666) found -[16108] Forked 21667 -(21667) found -[16107] Forked 21668 -[16106] Forked 21669 -(21668) found -(21669) found -[16105] Forked 21670 -[16104] Forked 21671 -(21670) found -(21671) found -[16103] Forked 21672 -[16102] Forked 21673 -(21672) found -(21673) found -[16101] Forked 21674 -[16100] Forked 21675 -(21674) found -(21675) found -[16099] Forked 21676 -[16098] Forked 21677 -(21676) found -(21677) found -[16097] Forked 21678 -[16096] Forked 21679 -(21678) found -(21679) found -[16095] Forked 21680 -[16094] Forked 21681 -(21680) found -(21681) found -[16093] Forked 21682 -[16092] Forked 21683 -(21682) found -(21683) found -[16091] Forked 21684 -[16090] Forked 21685 -(21684) found -(21685) found -[16089] Forked 21686 -[16088] Forked 21687 -(21686) found -(21687) found -[16087] Forked 21688 -[16086] Forked 21689 -(21688) found -(21689) found -[16085] Forked 21690 -[16084] Forked 21691 -(21690) found -(21691) found -[16083] Forked 21692 -[16082] Forked 21693 -(21692) found -(21693) found -[16081] Forked 21694 -[16080] Forked 21695 -(21694) found -(21695) found -[16079] Forked 21696 -(21696) found -[16078] Forked 21697 -(21697) found -[16077] Forked 21698 -(21698) found -[16076] Forked 21699 -(21699) found -[16075] Forked 21700 -(21700) found -[16074] Forked 21701 -(21701) found -[16073] Forked 21702 -(21702) found -[16072] Forked 21703 -(21703) found -[16071] Forked 21704 -(21704) found -[16070] Forked 21705 -(21705) found -[16069] Forked 21706 -(21706) found -[16068] Forked 21707 -(21707) found -[16067] Forked 21708 -(21708) found -[16066] Forked 21709 -(21709) found -[16065] Forked 21710 -(21710) found -[16064] Forked 21711 -(21711) found -[16063] Forked 21712 -(21712) found -[16062] Forked 21713 -(21713) found -[16061] Forked 21714 -(21714) found -[16060] Forked 21715 -(21715) found -[16059] Forked 21716 -(21716) found -[16058] Forked 21717 -(21717) found -[16057] Forked 21718 -(21718) found -[16056] Forked 21719 -(21719) found -[16055] Forked 21720 -(21720) found -[16054] Forked 21721 -(21721) found -[16053] Forked 21722 -(21722) found -[16052] Forked 21723 -(21723) found -[16051] Forked 21724 -(21724) found -[16050] Forked 21725 -(21725) found -[16049] Forked 21726 -(21726) found -[16048] Forked 21727 -(21727) found -[16047] Forked 21728 -(21728) found -[16046] Forked 21729 -(21729) found -[16045] Forked 21730 -(21730) found -[16044] Forked 21731 -(21731) found -[16043] Forked 21732 -(21732) found -[16042] Forked 21733 -(21733) found -[16041] Forked 21734 -(21734) found -[16040] Forked 21735 -(21735) found -[16039] Forked 21736 -(21736) found -[16038] Forked 21737 -(21737) found -[16037] Forked 21738 -(21738) found -[16036] Forked 21739 -(21739) found -[16035] Forked 21740 -(21740) found -[16034] Forked 21741 -(21741) found -[16033] Forked 21742 -(21742) found -[16032] Forked 21743 -(21743) found -[16031] Forked 21744 -(21744) found -[16030] Forked 21745 -(21745) found -[16029] Forked 21746 -[16028] Forked 21747 -(21746) found -(21747) found -[16027] Forked 21748 -[16026] Forked 21749 -(21748) found -(21749) found -[16025] Forked 21750 -[16024] Forked 21751 -(21750) found -(21751) found -[16023] Forked 21752 -(21752) found -[16022] Forked 21753 -[16021] Forked 21754 -(21753) found -(21754) found -[16020] Forked 21755 -(21755) found -[16019] Forked 21756 -(21756) found -[16018] Forked 21757 -[16017] Forked 21758 -(21757) found -(21758) found -[16016] Forked 21759 -[16015] Forked 21760 -(21759) found -(21760) found -[16014] Forked 21761 -[16013] Forked 21762 -(21761) found -(21762) found -[16012] Forked 21763 -[16011] Forked 21764 -(21763) found -(21764) found -[16010] Forked 21765 -[16009] Forked 21766 -(21765) found -(21766) found -[16008] Forked 21767 -[16007] Forked 21768 -(21767) found -(21768) found -[16006] Forked 21769 -[16005] Forked 21770 -(21769) found -(21770) found -[16004] Forked 21771 -[16003] Forked 21772 -(21771) found -(21772) found -[16002] Forked 21773 -[16001] Forked 21774 -(21773) found -(21774) found -[16000] Forked 21775 -[15999] Forked 21776 -(21775) found -(21776) found -[15998] Forked 21777 -[15997] Forked 21778 -(21777) found -(21778) found -[15996] Forked 21779 -[15995] Forked 21780 -(21779) found -(21780) found -[15994] Forked 21781 -[15993] Forked 21782 -(21781) found -(21782) found -[15992] Forked 21783 -[15991] Forked 21785 -(21783) found -(21785) found -[15990] Forked 21786 -(21786) found -[15989] Forked 21787 -(21787) found -[15988] Forked 21788 -(21788) found -[15987] Forked 21789 -(21789) found -[15986] Forked 21790 -(21790) found -[15985] Forked 21791 -(21791) found -[15984] Forked 21792 -(21792) found -[15983] Forked 21793 -(21793) found -[15982] Forked 21794 -(21794) found -[15981] Forked 21795 -(21795) found -[15980] Forked 21796 -(21796) found -[15979] Forked 21797 -(21797) found -[15978] Forked 21798 -(21798) found -[15977] Forked 21799 -(21799) found -[15976] Forked 21800 -(21800) found -[15975] Forked 21801 -(21801) found -[15974] Forked 21802 -(21802) found -[15973] Forked 21803 -(21803) found -[15972] Forked 21804 -(21804) found -[15971] Forked 21805 -(21805) found -[15970] Forked 21806 -(21806) found -[15969] Forked 21807 -(21807) found -[15968] Forked 21808 -(21808) found -[15967] Forked 21809 -(21809) found -[15966] Forked 21810 -(21810) found -[15965] Forked 21811 -(21811) found -[15964] Forked 21812 -(21812) found -[15963] Forked 21813 -(21813) found -[15962] Forked 21814 -(21814) found -[15961] Forked 21815 -(21815) found -[15960] Forked 21816 -(21816) found -[15959] Forked 21817 -(21817) found -[15958] Forked 21818 -(21818) found -[15957] Forked 21819 -(21819) found -[15956] Forked 21820 -(21820) found -[15955] Forked 21821 -(21821) found -[15954] Forked 21822 -(21822) found -[15953] Forked 21823 -(21823) found -[15952] Forked 21824 -(21824) found -[15951] Forked 21825 -(21825) found -[15950] Forked 21826 -(21826) found -[15949] Forked 21827 -(21827) found -[15948] Forked 21828 -(21828) found -[15947] Forked 21829 -(21829) found -[15946] Forked 21830 -(21830) found -[15945] Forked 21831 -(21831) found -[15944] Forked 21832 -(21832) found -[15943] Forked 21833 -(21833) found -[15942] Forked 21834 -(21834) found -[15941] Forked 21835 -(21835) found -[15940] Forked 21836 -(21836) found -[15939] Forked 21837 -(21837) found -[15938] Forked 21838 -(21838) found -[15937] Forked 21839 -(21839) found -[15936] Forked 21840 -(21840) found -[15935] Forked 21841 -(21841) found -[15934] Forked 21842 -(21842) found -[15933] Forked 21843 -(21843) found -[15932] Forked 21844 -(21844) found -[15931] Forked 21845 -(21845) found -[15930] Forked 21846 -(21846) found -[15929] Forked 21847 -(21847) found -[15928] Forked 21848 -(21848) found -[15927] Forked 21849 -(21849) found -[15926] Forked 21850 -(21850) found -[15925] Forked 21851 -(21851) found -[15924] Forked 21852 -(21852) found -[15923] Forked 21853 -(21853) found -[15922] Forked 21854 -(21854) found -[15921] Forked 21855 -(21855) found -[15920] Forked 21856 -(21856) found -[15919] Forked 21857 -(21857) found -[15918] Forked 21858 -(21858) found -[15917] Forked 21859 -(21859) found -[15916] Forked 21860 -(21860) found -[15915] Forked 21861 -(21861) found -[15914] Forked 21862 -(21862) found -[15913] Forked 21863 -(21863) found -[15912] Forked 21864 -(21864) found -[15911] Forked 21865 -(21865) found -[15910] Forked 21866 -(21866) found -[15909] Forked 21867 -(21867) found -[15908] Forked 21868 -(21868) found -[15907] Forked 21869 -(21869) found -[15906] Forked 21870 -(21870) found -[15905] Forked 21871 -(21871) found -[15904] Forked 21872 -(21872) found -[15903] Forked 21873 -(21873) found -[15902] Forked 21874 -(21874) found -[15901] Forked 21875 -(21875) found -[15900] Forked 21876 -(21876) found -[15899] Forked 21877 -(21877) found -[15898] Forked 21878 -(21878) found -[15897] Forked 21879 -(21879) found -[15896] Forked 21880 -(21880) found -[15895] Forked 21881 -(21881) found -[15894] Forked 21882 -(21882) found -[15893] Forked 21883 -(21883) found -[15892] Forked 21884 -(21884) found -[15891] Forked 21885 -(21885) found -[15890] Forked 21886 -(21886) found -[15889] Forked 21887 -(21887) found -[15888] Forked 21888 -(21888) found -[15887] Forked 21889 -(21889) found -[15886] Forked 21890 -(21890) found -[15885] Forked 21891 -(21891) found -[15884] Forked 21892 -(21892) found -[15883] Forked 21893 -(21893) found -[15882] Forked 21894 -(21894) found -[15881] Forked 21895 -(21895) found -[15880] Forked 21896 -[15879] Forked 21897 -(21896) found -(21897) found -[15878] Forked 21898 -[15877] Forked 21899 -(21898) found -(21899) found -[15876] Forked 21900 -[15875] Forked 21901 -(21900) found -(21901) found -[15874] Forked 21902 -[15873] Forked 21903 -(21902) found -(21903) found -[15872] Forked 21904 -[15871] Forked 21905 -(21904) found -(21905) found -[15870] Forked 21906 -[15869] Forked 21907 -(21906) found -(21907) found -[15868] Forked 21908 -[15867] Forked 21909 -(21908) found -(21909) found -[15866] Forked 21910 -[15865] Forked 21911 -(21910) found -(21911) found -[15864] Forked 21912 -[15863] Forked 21913 -(21912) found -(21913) found -[15862] Forked 21914 -[15861] Forked 21915 -(21914) found -(21915) found -[15860] Forked 21916 -[15859] Forked 21917 -(21916) found -(21917) found -[15858] Forked 21918 -[15857] Forked 21919 -(21918) found -(21919) found -[15856] Forked 21920 -[15855] Forked 21921 -(21920) found -(21921) found -[15854] Forked 21922 -[15853] Forked 21923 -(21922) found -(21923) found -[15852] Forked 21924 -[15851] Forked 21925 -(21924) found -(21925) found -[15850] Forked 21926 -[15849] Forked 21927 -(21926) found -(21927) found -[15848] Forked 21928 -[15847] Forked 21929 -(21928) found -(21929) found -[15846] Forked 21930 -[15845] Forked 21931 -(21930) found -(21931) found -[15844] Forked 21932 -[15843] Forked 21933 -(21932) found -(21933) found -[15842] Forked 21934 -[15841] Forked 21935 -(21934) found -(21935) found -[15840] Forked 21936 -[15839] Forked 21937 -(21936) found -(21937) found -[15838] Forked 21938 -[15837] Forked 21939 -(21938) found -(21939) found -[15836] Forked 21940 -[15835] Forked 21941 -(21940) found -(21941) found -[15834] Forked 21942 -[15833] Forked 21943 -(21942) found -(21943) found -[15832] Forked 21944 -[15831] Forked 21945 -(21944) found -(21945) found -[15830] Forked 21946 -[15829] Forked 21947 -(21946) found -(21947) found -[15828] Forked 21948 -[15827] Forked 21949 -(21948) found -(21949) found -[15826] Forked 21950 -[15825] Forked 21951 -(21950) found -(21951) found -[15824] Forked 21952 -[15823] Forked 21953 -(21952) found -(21953) found -[15822] Forked 21954 -[15821] Forked 21955 -(21954) found -(21955) found -[15820] Forked 21956 -[15819] Forked 21957 -(21956) found -(21957) found -[15818] Forked 21958 -[15817] Forked 21959 -(21958) found -(21959) found -[15816] Forked 21960 -[15815] Forked 21961 -(21960) found -(21961) found -[15814] Forked 21962 -[15813] Forked 21963 -(21962) found -(21963) found -[15812] Forked 21964 -[15811] Forked 21965 -(21964) found -(21965) found -[15810] Forked 21966 -[15809] Forked 21967 -(21966) found -(21967) found -[15808] Forked 21968 -[15807] Forked 21969 -(21968) found -(21969) found -[15806] Forked 21970 -[15805] Forked 21971 -(21970) found -(21971) found -[15804] Forked 21972 -[15803] Forked 21973 -(21972) found -(21973) found -[15802] Forked 21974 -[15801] Forked 21975 -(21974) found -(21975) found -[15800] Forked 21976 -[15799] Forked 21977 -(21976) found -(21977) found -[15798] Forked 21978 -[15797] Forked 21979 -(21978) found -(21979) found -[15796] Forked 21980 -[15795] Forked 21981 -(21980) found -(21981) found -[15794] Forked 21982 -[15793] Forked 21983 -(21982) found -(21983) found -[15792] Forked 21984 -[15791] Forked 21985 -(21984) found -(21985) found -[15790] Forked 21986 -[15789] Forked 21987 -(21986) found -(21987) found -[15788] Forked 21988 -[15787] Forked 21989 -(21988) found -(21989) found -[15786] Forked 21990 -[15785] Forked 21991 -(21990) found -(21991) found -[15784] Forked 21992 -[15783] Forked 21993 -(21992) found -(21993) found -[15782] Forked 21994 -[15781] Forked 21995 -(21994) found -(21995) found -[15780] Forked 21996 -[15779] Forked 21997 -(21996) found -(21997) found -[15778] Forked 21998 -[15777] Forked 21999 -(21998) found -(21999) found -[15776] Forked 22000 -[15775] Forked 22001 -(22000) found -(22001) found -[15774] Forked 22002 -[15773] Forked 22004 -(22002) found -(22004) found -[15772] Forked 22005 -(22005) found -[15771] Forked 22006 -(22006) found -[15770] Forked 22007 -(22007) found -[15769] Forked 22008 -(22008) found -[15768] Forked 22009 -(22009) found -[15767] Forked 22010 -(22010) found -[15766] Forked 22011 -(22011) found -[15765] Forked 22012 -(22012) found -[15764] Forked 22013 -(22013) found -[15763] Forked 22014 -(22014) found -[15762] Forked 22015 -(22015) found -[15761] Forked 22016 -(22016) found -[15760] Forked 22017 -(22017) found -[15759] Forked 22018 -(22018) found -[15758] Forked 22019 -(22019) found -[15757] Forked 22020 -(22020) found -[15756] Forked 22021 -(22021) found -[15755] Forked 22022 -(22022) found -[15754] Forked 22023 -(22023) found -[15753] Forked 22024 -(22024) found -[15752] Forked 22025 -(22025) found -[15751] Forked 22026 -(22026) found -[15750] Forked 22027 -(22027) found -[15749] Forked 22028 -(22028) found -[15748] Forked 22029 -(22029) found -[15747] Forked 22030 -(22030) found -[15746] Forked 22031 -(22031) found -[15745] Forked 22032 -(22032) found -[15744] Forked 22033 -(22033) found -[15743] Forked 22034 -(22034) found -[15742] Forked 22035 -(22035) found -[15741] Forked 22036 -(22036) found -[15740] Forked 22037 -(22037) found -[15739] Forked 22038 -(22038) found -[15738] Forked 22039 -(22039) found -[15737] Forked 22040 -(22040) found -[15736] Forked 22041 -(22041) found -[15735] Forked 22042 -(22042) found -[15734] Forked 22043 -(22043) found -[15733] Forked 22044 -(22044) found -[15732] Forked 22045 -(22045) found -[15731] Forked 22046 -(22046) found -[15730] Forked 22047 -(22047) found -[15729] Forked 22048 -(22048) found -[15728] Forked 22049 -(22049) found -[15727] Forked 22050 -(22050) found -[15726] Forked 22051 -(22051) found -[15725] Forked 22052 -(22052) found -[15724] Forked 22053 -(22053) found -[15723] Forked 22054 -(22054) found -[15722] Forked 22055 -(22055) found -[15721] Forked 22056 -(22056) found -[15720] Forked 22057 -(22057) found -[15719] Forked 22058 -(22058) found -[15718] Forked 22059 -(22059) found -[15717] Forked 22060 -(22060) found -[15716] Forked 22061 -(22061) found -[15715] Forked 22062 -(22062) found -[15714] Forked 22063 -(22063) found -[15713] Forked 22064 -(22064) found -[15712] Forked 22065 -(22065) found -[15711] Forked 22066 -[15710] Forked 22067 -(22066) found -(22067) found -[15709] Forked 22068 -[15708] Forked 22069 -(22068) found -(22069) found -[15707] Forked 22070 -[15706] Forked 22071 -(22070) found -(22071) found -[15705] Forked 22072 -[15704] Forked 22073 -(22072) found -(22073) found -[15703] Forked 22074 -[15702] Forked 22075 -(22074) found -(22075) found -[15701] Forked 22076 -[15700] Forked 22077 -(22076) found -(22077) found -[15699] Forked 22078 -[15698] Forked 22079 -(22078) found -(22079) found -[15697] Forked 22080 -[15696] Forked 22081 -(22080) found -(22081) found -[15695] Forked 22082 -[15694] Forked 22083 -(22082) found -(22083) found -[15693] Forked 22084 -(22084) found -[15692] Forked 22085 -[15691] Forked 22086 -(22085) found -(22086) found -[15690] Forked 22087 -[15689] Forked 22088 -(22087) found -(22088) found -[15688] Forked 22089 -[15687] Forked 22090 -(22089) found -(22090) found -[15686] Forked 22091 -[15685] Forked 22092 -(22091) found -(22092) found -[15684] Forked 22093 -[15683] Forked 22094 -(22093) found -(22094) found -[15682] Forked 22095 -[15681] Forked 22096 -(22095) found -(22096) found -[15680] Forked 22097 -[15679] Forked 22098 -(22097) found -(22098) found -[15678] Forked 22099 -[15677] Forked 22100 -(22099) found -(22100) found -[15676] Forked 22101 -[15675] Forked 22102 -(22101) found -(22102) found -[15674] Forked 22103 -[15673] Forked 22104 -(22103) found -(22104) found -[15672] Forked 22105 -[15671] Forked 22106 -(22105) found -(22106) found -[15670] Forked 22107 -[15669] Forked 22108 -(22107) found -(22108) found -[15668] Forked 22109 -(22109) found -[15667] Forked 22110 -(22110) found -[15666] Forked 22111 -(22111) found -[15665] Forked 22112 -(22112) found -[15664] Forked 22113 -(22113) found -[15663] Forked 22114 -(22114) found -[15662] Forked 22115 -(22115) found -[15661] Forked 22116 -(22116) found -[15660] Forked 22117 -(22117) found -[15659] Forked 22118 -(22118) found -[15658] Forked 22119 -(22119) found -[15657] Forked 22120 -(22120) found -[15656] Forked 22121 -(22121) found -[15655] Forked 22122 -(22122) found -[15654] Forked 22123 -(22123) found -[15653] Forked 22124 -(22124) found -[15652] Forked 22125 -(22125) found -[15651] Forked 22126 -(22126) found -[15650] Forked 22127 -(22127) found -[15649] Forked 22128 -(22128) found -[15648] Forked 22129 -(22129) found -[15647] Forked 22130 -(22130) found -[15646] Forked 22131 -(22131) found -[15645] Forked 22132 -(22132) found -[15644] Forked 22133 -(22133) found -[15643] Forked 22134 -(22134) found -[15642] Forked 22135 -(22135) found -[15641] Forked 22136 -(22136) found -[15640] Forked 22137 -(22137) found -[15639] Forked 22138 -(22138) found -[15638] Forked 22139 -(22139) found -[15637] Forked 22140 -(22140) found -[15636] Forked 22141 -(22141) found -[15635] Forked 22142 -(22142) found -[15634] Forked 22143 -(22143) found -[15633] Forked 22144 -(22144) found -[15632] Forked 22145 -(22145) found -[15631] Forked 22146 -(22146) found -[15630] Forked 22147 -(22147) found -[15629] Forked 22148 -[15628] Forked 22149 -(22148) found -(22149) found -[15627] Forked 22150 -[15626] Forked 22151 -(22150) found -(22151) found -[15625] Forked 22152 -[15624] Forked 22153 -(22152) found -(22153) found -[15623] Forked 22154 -[15622] Forked 22155 -(22154) found -(22155) found -[15621] Forked 22156 -[15620] Forked 22157 -(22156) found -(22157) found -[15619] Forked 22158 -[15618] Forked 22159 -(22158) found -(22159) found -[15617] Forked 22160 -[15616] Forked 22161 -(22160) found -(22161) found -[15615] Forked 22162 -[15614] Forked 22163 -(22162) found -(22163) found -[15613] Forked 22164 -[15612] Forked 22165 -(22164) found -(22165) found -[15611] Forked 22166 -[15610] Forked 22167 -(22167) found -(22166) found -[15609] Forked 22168 -(22168) found -[15608] Forked 22169 -(22169) found -[15607] Forked 22170 -(22170) found -[15606] Forked 22171 -(22171) found -[15605] Forked 22172 -(22172) found -[15604] Forked 22173 -(22173) found -[15603] Forked 22174 -(22174) found -[15602] Forked 22175 -(22175) found -[15601] Forked 22176 -(22176) found -[15600] Forked 22177 -(22177) found -[15599] Forked 22178 -(22178) found -[15598] Forked 22179 -(22179) found -[15597] Forked 22180 -(22180) found -[15596] Forked 22181 -(22181) found -[15595] Forked 22182 -(22182) found -[15594] Forked 22183 -[15593] Forked 22184 -(22183) found -(22184) found -[15592] Forked 22185 -[15591] Forked 22186 -(22185) found -(22186) found -[15590] Forked 22187 -[15589] Forked 22188 -(22187) found -(22188) found -[15588] Forked 22189 -[15587] Forked 22190 -(22189) found -(22190) found -[15586] Forked 22191 -[15585] Forked 22192 -(22191) found -(22192) found -[15584] Forked 22193 -[15583] Forked 22194 -(22193) found -(22194) found -[15582] Forked 22195 -[15581] Forked 22196 -(22195) found -(22196) found -[15580] Forked 22197 -[15579] Forked 22198 -(22197) found -(22198) found -[15578] Forked 22199 -[15577] Forked 22200 -(22199) found -(22200) found -[15576] Forked 22201 -[15575] Forked 22202 -(22201) found -(22202) found -[15574] Forked 22203 -[15573] Forked 22204 -(22203) found -(22204) found -[15572] Forked 22205 -[15571] Forked 22206 -(22205) found -(22206) found -[15570] Forked 22207 -[15569] Forked 22209 -(22207) found -(22209) found -[15568] Forked 22210 -(22210) found -[15567] Forked 22211 -(22211) found -[15566] Forked 22212 -(22212) found -[15565] Forked 22213 -(22213) found -[15564] Forked 22214 -(22214) found -[15563] Forked 22215 -(22215) found -[15562] Forked 22216 -(22216) found -[15561] Forked 22217 -(22217) found -[15560] Forked 22218 -(22218) found -[15559] Forked 22219 -(22219) found -[15558] Forked 22220 -(22220) found -[15557] Forked 22221 -(22221) found -[15556] Forked 22222 -(22222) found -[15555] Forked 22223 -(22223) found -[15554] Forked 22224 -(22224) found -[15553] Forked 22225 -(22225) found -[15552] Forked 22226 -(22226) found -[15551] Forked 22227 -(22227) found -[15550] Forked 22228 -(22228) found -[15549] Forked 22229 -(22229) found -[15548] Forked 22230 -(22230) found -[15547] Forked 22231 -(22231) found -[15546] Forked 22232 -(22232) found -[15545] Forked 22233 -(22233) found -[15544] Forked 22234 -(22234) found -[15543] Forked 22235 -(22235) found -[15542] Forked 22236 -(22236) found -[15541] Forked 22237 -(22237) found -[15540] Forked 22238 -(22238) found -[15539] Forked 22239 -(22239) found -[15538] Forked 22240 -(22240) found -[15537] Forked 22241 -(22241) found -[15536] Forked 22242 -(22242) found -[15535] Forked 22243 -(22243) found -[15534] Forked 22244 -(22244) found -[15533] Forked 22245 -(22245) found -[15532] Forked 22246 -(22246) found -[15531] Forked 22247 -(22247) found -[15530] Forked 22248 -(22248) found -[15529] Forked 22249 -(22249) found -[15528] Forked 22250 -(22250) found -[15527] Forked 22251 -(22251) found -[15526] Forked 22252 -(22252) found -[15525] Forked 22253 -(22253) found -[15524] Forked 22254 -(22254) found -[15523] Forked 22255 -(22255) found -[15522] Forked 22256 -(22256) found -[15521] Forked 22257 -(22257) found -[15520] Forked 22258 -(22258) found -[15519] Forked 22259 -(22259) found -[15518] Forked 22260 -(22260) found -[15517] Forked 22261 -[15516] Forked 22262 -(22261) found -(22262) found -[15515] Forked 22263 -[15514] Forked 22264 -(22263) found -(22264) found -[15513] Forked 22265 -(22265) found -[15512] Forked 22266 -(22266) found -[15511] Forked 22267 -(22267) found -[15510] Forked 22268 -(22268) found -[15509] Forked 22269 -(22269) found -[15508] Forked 22270 -(22270) found -[15507] Forked 22271 -(22271) found -[15506] Forked 22272 -(22272) found -[15505] Forked 22273 -(22273) found -[15504] Forked 22274 -(22274) found -[15503] Forked 22275 -(22275) found -[15502] Forked 22276 -(22276) found -[15501] Forked 22277 -(22277) found -[15500] Forked 22278 -(22278) found -[15499] Forked 22279 -(22279) found -[15498] Forked 22280 -(22280) found -[15497] Forked 22281 -(22281) found -[15496] Forked 22282 -(22282) found -[15495] Forked 22283 -(22283) found -[15494] Forked 22284 -(22284) found -[15493] Forked 22285 -(22285) found -[15492] Forked 22286 -(22286) found -[15491] Forked 22287 -(22287) found -[15490] Forked 22288 -(22288) found -[15489] Forked 22289 -(22289) found -[15488] Forked 22290 -(22290) found -[15487] Forked 22291 -(22291) found -[15486] Forked 22292 -(22292) found -[15485] Forked 22293 -(22293) found -[15484] Forked 22294 -(22294) found -[15483] Forked 22295 -(22295) found -[15482] Forked 22296 -(22296) found -[15481] Forked 22297 -(22297) found -[15480] Forked 22298 -(22298) found -[15479] Forked 22299 -(22299) found -[15478] Forked 22300 -(22300) found -[15477] Forked 22301 -(22301) found -[15476] Forked 22302 -(22302) found -[15475] Forked 22303 -(22303) found -[15474] Forked 22304 -[15473] Forked 22305 -(22304) found -(22305) found -[15472] Forked 22306 -[15471] Forked 22307 -(22306) found -(22307) found -[15470] Forked 22308 -[15469] Forked 22309 -(22308) found -(22309) found -[15468] Forked 22310 -[15467] Forked 22311 -(22310) found -(22311) found -[15466] Forked 22312 -[15465] Forked 22313 -(22312) found -(22313) found -[15464] Forked 22314 -[15463] Forked 22315 -(22314) found -(22315) found -[15462] Forked 22316 -[15461] Forked 22317 -(22316) found -(22317) found -[15460] Forked 22318 -[15459] Forked 22319 -(22318) found -(22319) found -[15458] Forked 22320 -[15457] Forked 22321 -(22320) found -(22321) found -[15456] Forked 22322 -[15455] Forked 22323 -(22322) found -(22323) found -[15454] Forked 22324 -[15453] Forked 22325 -(22324) found -(22325) found -[15452] Forked 22326 -[15451] Forked 22327 -(22326) found -(22327) found -[15450] Forked 22328 -[15449] Forked 22329 -(22328) found -(22329) found -[15448] Forked 22330 -[15447] Forked 22331 -(22330) found -(22331) found -[15446] Forked 22332 -[15445] Forked 22333 -(22332) found -(22333) found -[15444] Forked 22334 -[15443] Forked 22335 -(22334) found -(22335) found -[15442] Forked 22336 -[15441] Forked 22337 -(22336) found -(22337) found -[15440] Forked 22338 -[15439] Forked 22339 -(22338) found -(22339) found -[15438] Forked 22340 -[15437] Forked 22341 -(22340) found -(22341) found -[15436] Forked 22342 -[15435] Forked 22343 -(22342) found -(22343) found -[15434] Forked 22344 -[15433] Forked 22345 -(22344) found -(22345) found -[15432] Forked 22346 -[15431] Forked 22347 -(22346) found -(22347) found -[15430] Forked 22348 -(22348) found -[15429] Forked 22349 -(22349) found -[15428] Forked 22350 -(22350) found -[15427] Forked 22351 -(22351) found -[15426] Forked 22352 -(22352) found -[15425] Forked 22353 -(22353) found -[15424] Forked 22354 -(22354) found -[15423] Forked 22355 -(22355) found -[15422] Forked 22356 -(22356) found -[15421] Forked 22357 -(22357) found -[15420] Forked 22358 -(22358) found -[15419] Forked 22359 -(22359) found -[15418] Forked 22360 -(22360) found -[15417] Forked 22361 -(22361) found -[15416] Forked 22362 -(22362) found -[15415] Forked 22363 -(22363) found -[15414] Forked 22364 -(22364) found -[15413] Forked 22365 -(22365) found -[15412] Forked 22366 -(22366) found -[15411] Forked 22367 -(22367) found -[15410] Forked 22368 -(22368) found -[15409] Forked 22369 -(22369) found -[15408] Forked 22370 -(22370) found -[15407] Forked 22371 -(22371) found -[15406] Forked 22372 -(22372) found -[15405] Forked 22373 -(22373) found -[15404] Forked 22374 -(22374) found -[15403] Forked 22375 -(22375) found -[15402] Forked 22376 -(22376) found -[15401] Forked 22377 -(22377) found -[15400] Forked 22378 -(22378) found -[15399] Forked 22379 -(22379) found -[15398] Forked 22380 -(22380) found -[15397] Forked 22381 -(22381) found -[15396] Forked 22382 -(22382) found -[15395] Forked 22383 -(22383) found -[15394] Forked 22384 -(22384) found -[15393] Forked 22385 -(22385) found -[15392] Forked 22386 -(22386) found -[15391] Forked 22387 -[15390] Forked 22388 -(22387) found -(22388) found -[15389] Forked 22389 -[15388] Forked 22390 -(22389) found -(22390) found -[15387] Forked 22391 -[15386] Forked 22392 -(22391) found -(22392) found -[15385] Forked 22393 -[15384] Forked 22394 -(22393) found -(22394) found -[15383] Forked 22395 -[15382] Forked 22396 -(22395) found -(22396) found -[15381] Forked 22397 -[15380] Forked 22398 -(22397) found -(22398) found -[15379] Forked 22399 -[15378] Forked 22400 -(22399) found -(22400) found -[15377] Forked 22401 -[15376] Forked 22402 -(22401) found -(22402) found -[15375] Forked 22403 -[15374] Forked 22404 -(22403) found -(22404) found -[15373] Forked 22405 -[15372] Forked 22406 -(22405) found -(22406) found -[15371] Forked 22407 -[15370] Forked 22408 -(22407) found -(22408) found -[15369] Forked 22409 -[15368] Forked 22410 -(22409) found -(22410) found -[15367] Forked 22411 -[15366] Forked 22412 -(22411) found -(22412) found -[15365] Forked 22413 -[15364] Forked 22414 -(22413) found -(22414) found -[15363] Forked 22415 -[15362] Forked 22416 -(22415) found -(22416) found -[15361] Forked 22417 -[15360] Forked 22418 -(22417) found -(22418) found -[15359] Forked 22419 -[15358] Forked 22420 -(22420) found -(22419) found -[15357] Forked 22421 -(22421) found -[15356] Forked 22422 -(22422) found -[15355] Forked 22423 -(22423) found -[15354] Forked 22424 -(22424) found -[15353] Forked 22425 -(22425) found -[15352] Forked 22426 -(22426) found -[15351] Forked 22427 -(22427) found -[15350] Forked 22428 -(22428) found -[15349] Forked 22429 -(22429) found -[15348] Forked 22430 -(22430) found -[15347] Forked 22431 -(22431) found -[15346] Forked 22432 -(22432) found -[15345] Forked 22433 -(22433) found -[15344] Forked 22434 -(22434) found -[15343] Forked 22435 -(22435) found -[15342] Forked 22436 -(22436) found -[15341] Forked 22437 -(22437) found -[15340] Forked 22438 -(22438) found -[15339] Forked 22439 -(22439) found -[15338] Forked 22440 -(22440) found -[15337] Forked 22441 -(22441) found -[15336] Forked 22442 -(22442) found -[15335] Forked 22443 -(22443) found -[15334] Forked 22444 -(22444) found -[15333] Forked 22445 -(22445) found -[15332] Forked 22446 -(22446) found -[15331] Forked 22447 -(22447) found -[15330] Forked 22448 -(22448) found -[15329] Forked 22449 -(22449) found -[15328] Forked 22450 -(22450) found -[15327] Forked 22451 -(22451) found -[15326] Forked 22452 -(22452) found -[15325] Forked 22453 -(22453) found -[15324] Forked 22454 -(22454) found -[15323] Forked 22455 -(22455) found -[15322] Forked 22456 -(22456) found -[15321] Forked 22457 -(22457) found -[15320] Forked 22458 -(22458) found -[15319] Forked 22459 -(22459) found -[15318] Forked 22460 -(22460) found -[15317] Forked 22461 -(22461) found -[15316] Forked 22462 -(22462) found -[15315] Forked 22463 -(22463) found -[15314] Forked 22464 -(22464) found -[15313] Forked 22465 -(22465) found -[15312] Forked 22466 -(22466) found -[15311] Forked 22467 -(22467) found -[15310] Forked 22468 -(22468) found -[15309] Forked 22469 -(22469) found -[15308] Forked 22470 -[15307] Forked 22471 -(22470) found -(22471) found -[15306] Forked 22472 -[15305] Forked 22473 -(22472) found -(22473) found -[15304] Forked 22474 -[15303] Forked 22475 -(22474) found -(22475) found -[15302] Forked 22476 -[15301] Forked 22477 -(22476) found -(22477) found -[15300] Forked 22478 -[15299] Forked 22479 -(22478) found -(22479) found -[15298] Forked 22480 -[15297] Forked 22481 -(22480) found -(22481) found -[15296] Forked 22482 -[15295] Forked 22483 -(22482) found -(22483) found -[15294] Forked 22484 -[15293] Forked 22485 -(22484) found -(22485) found -[15292] Forked 22486 -[15291] Forked 22487 -(22486) found -(22487) found -[15290] Forked 22488 -[15289] Forked 22489 -(22488) found -(22489) found -[15288] Forked 22490 -[15287] Forked 22491 -(22490) found -(22491) found -[15286] Forked 22492 -[15285] Forked 22493 -(22492) found -(22493) found -[15284] Forked 22494 -[15283] Forked 22495 -(22494) found -(22495) found -[15282] Forked 22496 -[15281] Forked 22497 -(22496) found -(22497) found -[15280] Forked 22498 -[15279] Forked 22499 -(22498) found -(22499) found -[15278] Forked 22500 -[15277] Forked 22501 -(22500) found -(22501) found -[15276] Forked 22502 -[15275] Forked 22503 -(22502) found -(22503) found -[15274] Forked 22504 -[15273] Forked 22505 -(22504) found -(22505) found -[15272] Forked 22506 -(22506) found -[15271] Forked 22507 -[15270] Forked 22508 -(22507) found -(22508) found -[15269] Forked 22509 -[15268] Forked 22510 -(22509) found -(22510) found -[15267] Forked 22511 -(22511) found -[15266] Forked 22512 -(22512) found -[15265] Forked 22513 -(22513) found -[15264] Forked 22514 -(22514) found -[15263] Forked 22515 -(22515) found -[15262] Forked 22516 -(22516) found -[15261] Forked 22517 -(22517) found -[15260] Forked 22518 -(22518) found -[15259] Forked 22519 -(22519) found -[15258] Forked 22520 -(22520) found -[15257] Forked 22521 -(22521) found -[15256] Forked 22522 -(22522) found -[15255] Forked 22523 -(22523) found -[15254] Forked 22524 -(22524) found -[15253] Forked 22525 -(22525) found -[15252] Forked 22526 -(22526) found -[15251] Forked 22527 -(22527) found -[15250] Forked 22528 -(22528) found -[15249] Forked 22529 -(22529) found -[15248] Forked 22530 -(22530) found -[15247] Forked 22531 -(22531) found -[15246] Forked 22532 -(22532) found -[15245] Forked 22533 -(22533) found -[15244] Forked 22534 -(22534) found -[15243] Forked 22535 -(22535) found -[15242] Forked 22536 -(22536) found -[15241] Forked 22537 -(22537) found -[15240] Forked 22538 -(22538) found -[15239] Forked 22539 -(22539) found -[15238] Forked 22540 -(22540) found -[15237] Forked 22541 -(22541) found -[15236] Forked 22542 -(22542) found -[15235] Forked 22543 -(22543) found -[15234] Forked 22544 -(22544) found -[15233] Forked 22545 -(22545) found -[15232] Forked 22546 -(22546) found -[15231] Forked 22547 -(22547) found -[15230] Forked 22548 -(22548) found -[15229] Forked 22549 -(22549) found -[15228] Forked 22550 -[15227] Forked 22551 -(22550) found -(22551) found -[15226] Forked 22552 -[15225] Forked 22553 -(22552) found -(22553) found -[15224] Forked 22554 -[15223] Forked 22555 -(22554) found -(22555) found -[15222] Forked 22556 -[15221] Forked 22557 -(22556) found -(22557) found -[15220] Forked 22558 -[15219] Forked 22559 -(22558) found -(22559) found -[15218] Forked 22560 -[15217] Forked 22561 -(22560) found -(22561) found -[15216] Forked 22562 -[15215] Forked 22563 -(22563) found -(22562) found -[15214] Forked 22564 -(22564) found -[15213] Forked 22565 -(22565) found -[15212] Forked 22566 -(22566) found -[15211] Forked 22567 -(22567) found -[15210] Forked 22568 -(22568) found -[15209] Forked 22569 -(22569) found -[15208] Forked 22570 -(22570) found -[15207] Forked 22571 -(22571) found -[15206] Forked 22572 -(22572) found -[15205] Forked 22573 -(22573) found -[15204] Forked 22574 -(22574) found -[15203] Forked 22575 -(22575) found -[15202] Forked 22576 -(22576) found -[15201] Forked 22577 -(22577) found -[15200] Forked 22578 -(22578) found -[15199] Forked 22579 -(22579) found -[15198] Forked 22580 -(22580) found -[15197] Forked 22581 -(22581) found -[15196] Forked 22582 -(22582) found -[15195] Forked 22583 -(22583) found -[15194] Forked 22584 -(22584) found -[15193] Forked 22585 -[15192] Forked 22586 -(22585) found -(22586) found -[15191] Forked 22587 -[15190] Forked 22588 -(22587) found -(22588) found -[15189] Forked 22589 -[15188] Forked 22590 -(22589) found -(22590) found -[15187] Forked 22591 -[15186] Forked 22592 -(22591) found -(22592) found -[15185] Forked 22593 -[15184] Forked 22594 -(22593) found -(22594) found -[15183] Forked 22595 -[15182] Forked 22596 -(22595) found -(22596) found -[15181] Forked 22597 -[15180] Forked 22598 -(22597) found -(22598) found -[15179] Forked 22599 -[15178] Forked 22600 -(22599) found -(22600) found -[15177] Forked 22601 -[15176] Forked 22602 -(22601) found -(22602) found -[15175] Forked 22603 -[15174] Forked 22604 -(22603) found -(22604) found -[15173] Forked 22605 -[15172] Forked 22606 -(22605) found -(22606) found -[15171] Forked 22607 -[15170] Forked 22608 -(22607) found -(22608) found -[15169] Forked 22609 -[15168] Forked 22610 -(22609) found -(22610) found -[15167] Forked 22611 -[15166] Forked 22612 -(22611) found -(22612) found -[15165] Forked 22613 -[15164] Forked 22614 -(22613) found -(22614) found -[15163] Forked 22615 -[15162] Forked 22616 -(22615) found -(22616) found -[15161] Forked 22617 -[15160] Forked 22618 -(22617) found -(22618) found -[15159] Forked 22619 -[15158] Forked 22620 -(22619) found -(22620) found -[15157] Forked 22621 -[15156] Forked 22622 -(22621) found -(22622) found -[15155] Forked 22623 -[15154] Forked 22624 -(22623) found -(22624) found -[15153] Forked 22625 -[15152] Forked 22627 -(22625) found -(22627) found -[15151] Forked 22628 -(22628) found -[15150] Forked 22629 -(22629) found -[15149] Forked 22630 -(22630) found -[15148] Forked 22631 -(22631) found -[15147] Forked 22632 -(22632) found -[15146] Forked 22633 -(22633) found -[15145] Forked 22634 -(22634) found -[15144] Forked 22635 -(22635) found -[15143] Forked 22636 -(22636) found -[15142] Forked 22637 -(22637) found -[15141] Forked 22638 -(22638) found -[15140] Forked 22639 -(22639) found -[15139] Forked 22640 -(22640) found -[15138] Forked 22641 -(22641) found -[15137] Forked 22642 -(22642) found -[15136] Forked 22644 -(22644) found -[15135] Forked 22645 -(22645) found -[15134] Forked 22646 -(22646) found -[15133] Forked 22647 -(22647) found -[15132] Forked 22648 -(22648) found -[15131] Forked 22649 -(22649) found -[15130] Forked 22650 -(22650) found -[15129] Forked 22651 -(22651) found -[15128] Forked 22652 -(22652) found -[15127] Forked 22653 -(22653) found -[15126] Forked 22654 -(22654) found -[15125] Forked 22655 -(22655) found -[15124] Forked 22656 -(22656) found -[15123] Forked 22657 -(22657) found -[15122] Forked 22658 -(22658) found -[15121] Forked 22659 -(22659) found -[15120] Forked 22660 -(22660) found -[15119] Forked 22661 -(22661) found -[15118] Forked 22662 -(22662) found -[15117] Forked 22663 -(22663) found -[15116] Forked 22664 -(22664) found -[15115] Forked 22665 -(22665) found -[15114] Forked 22666 -(22666) found -[15113] Forked 22667 -(22667) found -[15112] Forked 22668 -(22668) found -[15111] Forked 22669 -(22669) found -[15110] Forked 22670 -(22670) found -[15109] Forked 22671 -(22671) found -[15108] Forked 22672 -(22672) found -[15107] Forked 22673 -(22673) found -[15106] Forked 22674 -(22674) found -[15105] Forked 22675 -(22675) found -[15104] Forked 22676 -(22676) found -[15103] Forked 22677 -(22677) found -[15102] Forked 22678 -(22678) found -[15101] Forked 22679 -(22679) found -[15100] Forked 22680 -(22680) found -[15099] Forked 22681 -(22681) found -[15098] Forked 22682 -(22682) found -[15097] Forked 22683 -(22683) found -[15096] Forked 22684 -(22684) found -[15095] Forked 22685 -(22685) found -[15094] Forked 22686 -(22686) found -[15093] Forked 22687 -(22687) found -[15092] Forked 22688 -(22688) found -[15091] Forked 22689 -(22689) found -[15090] Forked 22690 -(22690) found -[15089] Forked 22691 -(22691) found -[15088] Forked 22692 -(22692) found -[15087] Forked 22693 -(22693) found -[15086] Forked 22694 -(22694) found -[15085] Forked 22695 -(22695) found -[15084] Forked 22696 -(22696) found -[15083] Forked 22697 -(22697) found -[15082] Forked 22698 -(22698) found -[15081] Forked 22699 -(22699) found -[15080] Forked 22700 -(22700) found -[15079] Forked 22701 -(22701) found -[15078] Forked 22702 -(22702) found -[15077] Forked 22703 -(22703) found -[15076] Forked 22704 -[15075] Forked 22705 -(22704) found -(22705) found -[15074] Forked 22706 -[15073] Forked 22707 -(22706) found -(22707) found -[15072] Forked 22708 -[15071] Forked 22709 -(22708) found -(22709) found -[15070] Forked 22710 -[15069] Forked 22711 -(22710) found -(22711) found -[15068] Forked 22712 -[15067] Forked 22713 -(22712) found -(22713) found -[15066] Forked 22714 -[15065] Forked 22715 -(22714) found -(22715) found -[15064] Forked 22716 -[15063] Forked 22717 -(22716) found -(22717) found -[15062] Forked 22718 -[15061] Forked 22719 -(22718) found -(22719) found -[15060] Forked 22720 -[15059] Forked 22721 -(22720) found -(22721) found -[15058] Forked 22722 -[15057] Forked 22723 -(22722) found -(22723) found -[15056] Forked 22724 -[15055] Forked 22725 -(22724) found -(22725) found -[15054] Forked 22726 -[15053] Forked 22727 -(22726) found -(22727) found -[15052] Forked 22728 -[15051] Forked 22729 -(22728) found -(22729) found -[15050] Forked 22730 -[15049] Forked 22731 -(22730) found -(22731) found -[15048] Forked 22732 -[15047] Forked 22733 -(22732) found -(22733) found -[15046] Forked 22734 -[15045] Forked 22735 -(22734) found -(22735) found -[15044] Forked 22736 -[15043] Forked 22737 -(22736) found -(22737) found -[15042] Forked 22738 -[15041] Forked 22739 -(22738) found -(22739) found -[15040] Forked 22740 -[15039] Forked 22741 -(22740) found -(22741) found -[15038] Forked 22742 -[15037] Forked 22743 -(22742) found -(22743) found -[15036] Forked 22744 -[15035] Forked 22745 -(22744) found -(22745) found -[15034] Forked 22746 -[15033] Forked 22747 -(22746) found -(22747) found -[15032] Forked 22748 -(22748) found -[15031] Forked 22749 -(22749) found -[15030] Forked 22750 -(22750) found -[15029] Forked 22751 -(22751) found -[15028] Forked 22752 -(22752) found -[15027] Forked 22753 -(22753) found -[15026] Forked 22754 -(22754) found -[15025] Forked 22755 -(22755) found -[15024] Forked 22756 -(22756) found -[15023] Forked 22757 -(22757) found -[15022] Forked 22758 -(22758) found -[15021] Forked 22759 -(22759) found -[15020] Forked 22760 -(22760) found -[15019] Forked 22761 -(22761) found -[15018] Forked 22762 -(22762) found -[15017] Forked 22763 -(22763) found -[15016] Forked 22764 -(22764) found -[15015] Forked 22765 -(22765) found -[15014] Forked 22766 -(22766) found -[15013] Forked 22767 -(22767) found -[15012] Forked 22768 -(22768) found -[15011] Forked 22769 -(22769) found -[15010] Forked 22770 -(22770) found -[15009] Forked 22771 -(22771) found -[15008] Forked 22772 -(22772) found -[15007] Forked 22773 -(22773) found -[15006] Forked 22774 -(22774) found -[15005] Forked 22775 -(22775) found -[15004] Forked 22776 -(22776) found -[15003] Forked 22777 -(22777) found -[15002] Forked 22778 -(22778) found -[15001] Forked 22779 -(22779) found -[15000] Forked 22780 -(22780) found -[14999] Forked 22781 -(22781) found -[14998] Forked 22782 -(22782) found -[14997] Forked 22783 -(22783) found -[14996] Forked 22784 -[14995] Forked 22785 -(22784) found -(22785) found -[14994] Forked 22786 -[14993] Forked 22787 -(22786) found -(22787) found -[14992] Forked 22788 -[14991] Forked 22789 -(22788) found -(22789) found -[14990] Forked 22790 -[14989] Forked 22791 -(22790) found -(22791) found -[14988] Forked 22792 -[14987] Forked 22793 -(22792) found -(22793) found -[14986] Forked 22794 -[14985] Forked 22795 -(22794) found -(22795) found -[14984] Forked 22796 -[14983] Forked 22797 -(22796) found -(22797) found -[14982] Forked 22798 -[14981] Forked 22799 -(22798) found -(22799) found -[14980] Forked 22800 -[14979] Forked 22801 -(22800) found -(22801) found -[14978] Forked 22802 -[14977] Forked 22803 -(22802) found -(22803) found -[14976] Forked 22804 -[14975] Forked 22805 -(22804) found -(22805) found -[14974] Forked 22806 -[14973] Forked 22807 -(22806) found -(22807) found -[14972] Forked 22808 -[14971] Forked 22809 -(22808) found -(22809) found -[14970] Forked 22810 -[14969] Forked 22811 -(22810) found -(22811) found -[14968] Forked 22812 -[14967] Forked 22813 -(22812) found -(22813) found -[14966] Forked 22814 -[14965] Forked 22815 -(22814) found -(22815) found -[14964] Forked 22816 -[14963] Forked 22817 -(22816) found -(22817) found -[14962] Forked 22818 -[14961] Forked 22819 -(22818) found -(22819) found -[14960] Forked 22820 -[14959] Forked 22821 -(22820) found -(22821) found -[14958] Forked 22822 -[14957] Forked 22824 -(22822) found -(22824) found -[14956] Forked 22825 -(22825) found -[14955] Forked 22826 -(22826) found -[14954] Forked 22827 -(22827) found -[14953] Forked 22828 -(22828) found -[14952] Forked 22829 -(22829) found -[14951] Forked 22830 -(22830) found -[14950] Forked 22831 -(22831) found -[14949] Forked 22832 -(22832) found -[14948] Forked 22833 -(22833) found -[14947] Forked 22834 -(22834) found -[14946] Forked 22835 -(22835) found -[14945] Forked 22836 -(22836) found -[14944] Forked 22837 -(22837) found -[14943] Forked 22838 -(22838) found -[14942] Forked 22839 -(22839) found -[14941] Forked 22840 -(22840) found -[14940] Forked 22841 -(22841) found -[14939] Forked 22842 -(22842) found -[14938] Forked 22843 -(22843) found -[14937] Forked 22844 -(22844) found -[14936] Forked 22845 -(22845) found -[14935] Forked 22846 -(22846) found -[14934] Forked 22847 -(22847) found -[14933] Forked 22848 -(22848) found -[14932] Forked 22849 -(22849) found -[14931] Forked 22850 -(22850) found -[14930] Forked 22851 -(22851) found -[14929] Forked 22852 -(22852) found -[14928] Forked 22853 -(22853) found -[14927] Forked 22854 -(22854) found -[14926] Forked 22855 -(22855) found -[14925] Forked 22856 -(22856) found -[14924] Forked 22857 -(22857) found -[14923] Forked 22858 -(22858) found -[14922] Forked 22859 -(22859) found -[14921] Forked 22860 -(22860) found -[14920] Forked 22861 -(22861) found -[14919] Forked 22862 -(22862) found -[14918] Forked 22863 -[14917] Forked 22864 -(22863) found -(22864) found -[14916] Forked 22865 -[14915] Forked 22866 -(22865) found -(22866) found -[14914] Forked 22867 -[14913] Forked 22868 -(22867) found -(22868) found -[14912] Forked 22869 -[14911] Forked 22870 -(22869) found -(22870) found -[14910] Forked 22871 -[14909] Forked 22872 -(22871) found -(22872) found -[14908] Forked 22873 -[14907] Forked 22874 -(22873) found -(22874) found -[14906] Forked 22875 -[14905] Forked 22876 -(22875) found -(22876) found -[14904] Forked 22877 -[14903] Forked 22878 -(22877) found -(22878) found -[14902] Forked 22879 -[14901] Forked 22880 -(22879) found -(22880) found -[14900] Forked 22881 -[14899] Forked 22882 -(22881) found -(22882) found -[14898] Forked 22883 -[14897] Forked 22884 -(22883) found -(22884) found -[14896] Forked 22885 -[14895] Forked 22886 -(22885) found -(22886) found -[14894] Forked 22887 -[14893] Forked 22888 -(22887) found -(22888) found -[14892] Forked 22889 -[14891] Forked 22890 -(22889) found -(22890) found -[14890] Forked 22891 -[14889] Forked 22892 -(22891) found -(22892) found -[14888] Forked 22893 -[14887] Forked 22894 -(22893) found -(22894) found -[14886] Forked 22895 -[14885] Forked 22896 -(22895) found -(22896) found -[14884] Forked 22897 -[14883] Forked 22898 -(22897) found -(22898) found -[14882] Forked 22899 -[14881] Forked 22900 -(22899) found -(22900) found -[14880] Forked 22901 -[14879] Forked 22902 -(22901) found -(22902) found -[14878] Forked 22903 -[14877] Forked 22904 -(22903) found -(22904) found -[14876] Forked 22905 -[14875] Forked 22906 -(22905) found -(22906) found -[14874] Forked 22907 -(22907) found -[14873] Forked 22908 -(22908) found -[14872] Forked 22909 -(22909) found -[14871] Forked 22910 -(22910) found -[14870] Forked 22911 -(22911) found -[14869] Forked 22912 -(22912) found -[14868] Forked 22913 -(22913) found -[14867] Forked 22914 -(22914) found -[14866] Forked 22915 -(22915) found -[14865] Forked 22916 -(22916) found -[14864] Forked 22917 -(22917) found -[14863] Forked 22918 -(22918) found -[14862] Forked 22919 -(22919) found -[14861] Forked 22920 -(22920) found -[14860] Forked 22921 -(22921) found -[14859] Forked 22922 -(22922) found -[14858] Forked 22923 -(22923) found -[14857] Forked 22924 -(22924) found -[14856] Forked 22925 -(22925) found -[14855] Forked 22926 -(22926) found -[14854] Forked 22927 -(22927) found -[14853] Forked 22928 -(22928) found -[14852] Forked 22929 -(22929) found -[14851] Forked 22930 -(22930) found -[14850] Forked 22931 -(22931) found -[14849] Forked 22932 -(22932) found -[14848] Forked 22933 -(22933) found -[14847] Forked 22934 -(22934) found -[14846] Forked 22935 -(22935) found -[14845] Forked 22936 -(22936) found -[14844] Forked 22937 -(22937) found -[14843] Forked 22938 -(22938) found -[14842] Forked 22939 -(22939) found -[14841] Forked 22940 -(22940) found -[14840] Forked 22941 -(22941) found -[14839] Forked 22942 -(22942) found -[14838] Forked 22943 -(22943) found -[14837] Forked 22944 -(22944) found -[14836] Forked 22945 -(22945) found -[14835] Forked 22946 -[14834] Forked 22947 -(22946) found -(22947) found -[14833] Forked 22948 -[14832] Forked 22949 -(22948) found -(22949) found -[14831] Forked 22950 -[14830] Forked 22951 -(22950) found -(22951) found -[14829] Forked 22952 -[14828] Forked 22953 -(22952) found -(22953) found -[14827] Forked 22954 -[14826] Forked 22955 -(22954) found -(22955) found -[14825] Forked 22956 -[14824] Forked 22957 -(22956) found -(22957) found -[14823] Forked 22958 -[14822] Forked 22959 -(22958) found -(22959) found -[14821] Forked 22960 -[14820] Forked 22961 -(22960) found -(22961) found -[14819] Forked 22962 -[14818] Forked 22963 -(22962) found -(22963) found -[14817] Forked 22964 -[14816] Forked 22965 -(22964) found -(22965) found -[14815] Forked 22966 -[14814] Forked 22967 -(22966) found -(22967) found -[14813] Forked 22968 -[14812] Forked 22969 -(22968) found -(22969) found -[14811] Forked 22970 -[14810] Forked 22971 -(22970) found -(22971) found -[14809] Forked 22972 -[14808] Forked 22973 -(22972) found -(22973) found -[14807] Forked 22974 -[14806] Forked 22975 -(22974) found -(22975) found -[14805] Forked 22976 -[14804] Forked 22977 -(22976) found -(22977) found -[14803] Forked 22978 -[14802] Forked 22979 -(22978) found -(22979) found -[14801] Forked 22980 -[14800] Forked 22981 -(22980) found -(22981) found -[14799] Forked 22982 -[14798] Forked 22983 -(22982) found -(22983) found -[14797] Forked 22984 -[14796] Forked 22985 -(22984) found -(22985) found -[14795] Forked 22986 -[14794] Forked 22987 -(22986) found -(22987) found -[14793] Forked 22988 -[14792] Forked 22989 -(22988) found -(22989) found -[14791] Forked 22990 -(22990) found -[14790] Forked 22991 -(22991) found -[14789] Forked 22992 -(22992) found -[14788] Forked 22993 -(22993) found -[14787] Forked 22994 -(22994) found -[14786] Forked 22995 -(22995) found -[14785] Forked 22996 -(22996) found -[14784] Forked 22997 -(22997) found -[14783] Forked 22998 -(22998) found -[14782] Forked 22999 -(22999) found -[14781] Forked 23000 -(23000) found -[14780] Forked 23001 -(23001) found -[14779] Forked 23002 -(23002) found -[14778] Forked 23003 -(23003) found -[14777] Forked 23004 -(23004) found -[14776] Forked 23005 -(23005) found -[14775] Forked 23006 -(23006) found -[14774] Forked 23007 -(23007) found -[14773] Forked 23008 -(23008) found -[14772] Forked 23009 -(23009) found -[14771] Forked 23010 -(23010) found -[14770] Forked 23011 -(23011) found -[14769] Forked 23012 -(23012) found -[14768] Forked 23013 -(23013) found -[14767] Forked 23014 -(23014) found -[14766] Forked 23015 -(23015) found -[14765] Forked 23016 -(23016) found -[14764] Forked 23017 -(23017) found -[14763] Forked 23018 -(23018) found -[14762] Forked 23019 -(23019) found -[14761] Forked 23020 -(23020) found -[14760] Forked 23021 -(23021) found -[14759] Forked 23022 -(23022) found -[14758] Forked 23023 -(23023) found -[14757] Forked 23024 -(23024) found -[14756] Forked 23025 -(23025) found -[14755] Forked 23026 -(23026) found -[14754] Forked 23027 -(23027) found -[14753] Forked 23028 -(23028) found -[14752] Forked 23029 -[14751] Forked 23030 -(23029) found -(23030) found -[14750] Forked 23031 -[14749] Forked 23032 -(23031) found -(23032) found -[14748] Forked 23033 -[14747] Forked 23034 -(23033) found -(23034) found -[14746] Forked 23035 -[14745] Forked 23036 -(23035) found -(23036) found -[14744] Forked 23037 -[14743] Forked 23038 -(23037) found -(23038) found -[14742] Forked 23039 -[14741] Forked 23040 -(23039) found -(23040) found -[14740] Forked 23041 -[14739] Forked 23042 -(23041) found -(23042) found -[14738] Forked 23043 -[14737] Forked 23044 -(23043) found -(23044) found -[14736] Forked 23045 -[14735] Forked 23046 -(23045) found -(23046) found -[14734] Forked 23047 -[14733] Forked 23048 -(23047) found -(23048) found -[14732] Forked 23049 -[14731] Forked 23050 -(23049) found -(23050) found -[14730] Forked 23051 -[14729] Forked 23052 -(23051) found -(23052) found -[14728] Forked 23053 -[14727] Forked 23054 -(23053) found -(23054) found -[14726] Forked 23055 -[14725] Forked 23056 -(23055) found -(23056) found -[14724] Forked 23057 -[14723] Forked 23058 -(23057) found -(23058) found -[14722] Forked 23059 -[14721] Forked 23060 -(23059) found -(23060) found -[14720] Forked 23061 -[14719] Forked 23062 -(23061) found -(23062) found -[14718] Forked 23063 -[14717] Forked 23064 -(23063) found -(23064) found -[14716] Forked 23065 -[14715] Forked 23066 -(23065) found -(23066) found -[14714] Forked 23067 -[14713] Forked 23069 -(23067) found -(23069) found -[14712] Forked 23070 -(23070) found -[14711] Forked 23071 -(23071) found -[14710] Forked 23072 -(23072) found -[14709] Forked 23073 -(23073) found -[14708] Forked 23074 -(23074) found -[14707] Forked 23075 -(23075) found -[14706] Forked 23076 -(23076) found -[14705] Forked 23077 -(23077) found -[14704] Forked 23078 -(23078) found -[14703] Forked 23079 -(23079) found -[14702] Forked 23080 -(23080) found -[14701] Forked 23081 -(23081) found -[14700] Forked 23082 -(23082) found -[14699] Forked 23083 -(23083) found -[14698] Forked 23084 -(23084) found -[14697] Forked 23085 -(23085) found -[14696] Forked 23086 -(23086) found -[14695] Forked 23087 -(23087) found -[14694] Forked 23088 -(23088) found -[14693] Forked 23089 -(23089) found -[14692] Forked 23090 -(23090) found -[14691] Forked 23091 -(23091) found -[14690] Forked 23092 -(23092) found -[14689] Forked 23093 -(23093) found -[14688] Forked 23094 -(23094) found -[14687] Forked 23095 -(23095) found -[14686] Forked 23096 -(23096) found -[14685] Forked 23097 -(23097) found -[14684] Forked 23098 -(23098) found -[14683] Forked 23099 -(23099) found -[14682] Forked 23100 -(23100) found -[14681] Forked 23101 -(23101) found -[14680] Forked 23102 -(23102) found -[14679] Forked 23103 -(23103) found -[14678] Forked 23104 -(23104) found -[14677] Forked 23105 -(23105) found -[14676] Forked 23106 -(23106) found -[14675] Forked 23107 -(23107) found -[14674] Forked 23108 -(23108) found -[14673] Forked 23109 -(23109) found -[14672] Forked 23110 -(23110) found -[14671] Forked 23111 -(23111) found -[14670] Forked 23112 -(23112) found -[14669] Forked 23113 -(23113) found -[14668] Forked 23114 -(23114) found -[14667] Forked 23115 -(23115) found -[14666] Forked 23116 -(23116) found -[14665] Forked 23117 -(23117) found -[14664] Forked 23118 -(23118) found -[14663] Forked 23119 -(23119) found -[14662] Forked 23120 -(23120) found -[14661] Forked 23121 -(23121) found -[14660] Forked 23122 -(23122) found -[14659] Forked 23123 -(23123) found -[14658] Forked 23124 -(23124) found -[14657] Forked 23125 -(23125) found -[14656] Forked 23126 -(23126) found -[14655] Forked 23127 -(23127) found -[14654] Forked 23128 -(23128) found -[14653] Forked 23129 -(23129) found -[14652] Forked 23130 -(23130) found -[14651] Forked 23131 -(23131) found -[14650] Forked 23132 -(23132) found -[14649] Forked 23133 -(23133) found -[14648] Forked 23134 -(23134) found -[14647] Forked 23135 -(23135) found -[14646] Forked 23136 -(23136) found -[14645] Forked 23137 -(23137) found -[14644] Forked 23138 -(23138) found -[14643] Forked 23139 -(23139) found -[14642] Forked 23140 -(23140) found -[14641] Forked 23141 -(23141) found -[14640] Forked 23142 -[14639] Forked 23143 -(23142) found -(23143) found -[14638] Forked 23144 -[14637] Forked 23145 -(23144) found -(23145) found -[14636] Forked 23146 -[14635] Forked 23147 -(23146) found -(23147) found -[14634] Forked 23148 -[14633] Forked 23149 -(23148) found -(23149) found -[14632] Forked 23150 -[14631] Forked 23151 -(23150) found -(23151) found -[14630] Forked 23152 -[14629] Forked 23153 -(23152) found -(23153) found -[14628] Forked 23154 -[14627] Forked 23155 -(23154) found -(23155) found -[14626] Forked 23156 -[14625] Forked 23157 -(23156) found -(23157) found -[14624] Forked 23158 -[14623] Forked 23159 -(23158) found -(23159) found -[14622] Forked 23160 -[14621] Forked 23161 -(23160) found -(23161) found -[14620] Forked 23162 -[14619] Forked 23163 -(23162) found -(23163) found -[14618] Forked 23164 -[14617] Forked 23165 -(23164) found -(23165) found -[14616] Forked 23166 -[14615] Forked 23167 -(23166) found -(23167) found -[14614] Forked 23168 -[14613] Forked 23169 -(23169) found -(23168) found -[14612] Forked 23170 -(23170) found -[14611] Forked 23171 -(23171) found -[14610] Forked 23172 -(23172) found -[14609] Forked 23173 -(23173) found -[14608] Forked 23174 -(23174) found -[14607] Forked 23175 -(23175) found -[14606] Forked 23176 -(23176) found -[14605] Forked 23177 -(23177) found -[14604] Forked 23178 -(23178) found -[14603] Forked 23179 -(23179) found -[14602] Forked 23180 -(23180) found -[14601] Forked 23181 -(23181) found -[14600] Forked 23182 -(23182) found -[14599] Forked 23183 -(23183) found -[14598] Forked 23184 -(23184) found -[14597] Forked 23185 -(23185) found -[14596] Forked 23186 -(23186) found -[14595] Forked 23187 -(23187) found -[14594] Forked 23188 -(23188) found -[14593] Forked 23189 -(23189) found -[14592] Forked 23190 -(23190) found -[14591] Forked 23191 -(23191) found -[14590] Forked 23192 -(23192) found -[14589] Forked 23193 -(23193) found -[14588] Forked 23194 -(23194) found -[14587] Forked 23195 -(23195) found -[14586] Forked 23196 -(23196) found -[14585] Forked 23197 -(23197) found -[14584] Forked 23198 -(23198) found -[14583] Forked 23199 -(23199) found -[14582] Forked 23200 -(23200) found -[14581] Forked 23201 -(23201) found -[14580] Forked 23202 -(23202) found -[14579] Forked 23203 -(23203) found -[14578] Forked 23204 -(23204) found -[14577] Forked 23205 -(23205) found -[14576] Forked 23206 -(23206) found -[14575] Forked 23207 -(23207) found -[14574] Forked 23208 -(23208) found -[14573] Forked 23209 -(23209) found -[14572] Forked 23210 -(23210) found -[14571] Forked 23211 -(23211) found -[14570] Forked 23212 -(23212) found -[14569] Forked 23213 -(23213) found -[14568] Forked 23214 -(23214) found -[14567] Forked 23215 -(23215) found -[14566] Forked 23216 -(23216) found -[14565] Forked 23217 -(23217) found -[14564] Forked 23218 -(23218) found -[14563] Forked 23219 -(23219) found -[14562] Forked 23220 -[14561] Forked 23221 -(23220) found -(23221) found -[14560] Forked 23222 -[14559] Forked 23223 -(23222) found -(23223) found -[14558] Forked 23224 -[14557] Forked 23225 -(23224) found -(23225) found -[14556] Forked 23226 -[14555] Forked 23227 -(23226) found -(23227) found -[14554] Forked 23228 -[14553] Forked 23229 -(23228) found -(23229) found -[14552] Forked 23230 -[14551] Forked 23231 -(23230) found -(23231) found -[14550] Forked 23232 -[14549] Forked 23233 -(23232) found -(23233) found -[14548] Forked 23234 -[14547] Forked 23235 -(23234) found -(23235) found -[14546] Forked 23236 -[14545] Forked 23237 -(23236) found -(23237) found -[14544] Forked 23238 -[14543] Forked 23239 -(23238) found -(23239) found -[14542] Forked 23240 -[14541] Forked 23241 -(23240) found -(23241) found -[14540] Forked 23242 -[14539] Forked 23243 -(23242) found -(23243) found -[14538] Forked 23244 -[14537] Forked 23245 -(23244) found -(23245) found -[14536] Forked 23246 -[14535] Forked 23247 -(23246) found -(23247) found -[14534] Forked 23248 -[14533] Forked 23249 -(23248) found -(23249) found -[14532] Forked 23250 -[14531] Forked 23251 -(23250) found -(23251) found -[14530] Forked 23252 -[14529] Forked 23253 -(23252) found -(23253) found -[14528] Forked 23254 -[14527] Forked 23255 -(23254) found -(23255) found -[14526] Forked 23256 -[14525] Forked 23257 -(23256) found -(23257) found -[14524] Forked 23258 -[14523] Forked 23259 -(23258) found -(23259) found -[14522] Forked 23260 -[14521] Forked 23261 -(23260) found -(23261) found -[14520] Forked 23262 -[14519] Forked 23263 -(23262) found -(23263) found -[14518] Forked 23264 -[14517] Forked 23265 -(23264) found -(23265) found -[14516] Forked 23266 -[14515] Forked 23267 -(23266) found -(23267) found -[14514] Forked 23268 -[14513] Forked 23269 -(23268) found -(23269) found -[14512] Forked 23270 -[14511] Forked 23271 -(23270) found -(23271) found -[14510] Forked 23272 -[14509] Forked 23273 -(23272) found -(23273) found -[14508] Forked 23274 -[14507] Forked 23275 -(23274) found -(23275) found -[14506] Forked 23276 -[14505] Forked 23277 -(23276) found -(23277) found -[14504] Forked 23278 -[14503] Forked 23279 -(23278) found -(23279) found -[14502] Forked 23280 -[14501] Forked 23281 -(23280) found -(23281) found -[14500] Forked 23282 -[14499] Forked 23283 -(23282) found -(23283) found -[14498] Forked 23284 -[14497] Forked 23285 -(23284) found -(23285) found -[14496] Forked 23286 -[14495] Forked 23287 -(23286) found -(23287) found -[14494] Forked 23288 -[14493] Forked 23289 -(23288) found -(23289) found -[14492] Forked 23290 -[14491] Forked 23291 -(23290) found -(23291) found -[14490] Forked 23292 -[14489] Forked 23293 -(23292) found -(23293) found -[14488] Forked 23294 -[14487] Forked 23295 -(23294) found -(23295) found -[14486] Forked 23296 -[14485] Forked 23297 -(23296) found -(23297) found -[14484] Forked 23298 -[14483] Forked 23299 -(23298) found -(23299) found -[14482] Forked 23300 -[14481] Forked 23301 -(23300) found -(23301) found -[14480] Forked 23302 -[14479] Forked 23303 -(23302) found -(23303) found -[14478] Forked 23304 -[14477] Forked 23305 -(23304) found -(23305) found -[14476] Forked 23306 -[14475] Forked 23307 -(23306) found -(23307) found -[14474] Forked 23308 -[14473] Forked 23309 -(23308) found -(23309) found -[14472] Forked 23310 -[14471] Forked 23311 -(23310) found -(23311) found -[14470] Forked 23312 -(23312) found -[14469] Forked 23313 -(23313) found -[14468] Forked 23314 -(23314) found -[14467] Forked 23315 -(23315) found -[14466] Forked 23316 -(23316) found -[14465] Forked 23317 -(23317) found -[14464] Forked 23318 -(23318) found -[14463] Forked 23319 -(23319) found -[14462] Forked 23320 -(23320) found -[14461] Forked 23321 -(23321) found -[14460] Forked 23322 -(23322) found -[14459] Forked 23323 -(23323) found -[14458] Forked 23324 -(23324) found -[14457] Forked 23325 -(23325) found -[14456] Forked 23326 -(23326) found -[14455] Forked 23327 -(23327) found -[14454] Forked 23328 -(23328) found -[14453] Forked 23329 -(23329) found -[14452] Forked 23330 -(23330) found -[14451] Forked 23331 -(23331) found -[14450] Forked 23332 -(23332) found -[14449] Forked 23333 -(23333) found -[14448] Forked 23334 -(23334) found -[14447] Forked 23335 -(23335) found -[14446] Forked 23336 -(23336) found -[14445] Forked 23337 -(23337) found -[14444] Forked 23338 -(23338) found -[14443] Forked 23339 -(23339) found -[14442] Forked 23340 -(23340) found -[14441] Forked 23341 -(23341) found -[14440] Forked 23342 -(23342) found -[14439] Forked 23343 -(23343) found -[14438] Forked 23344 -(23344) found -[14437] Forked 23345 -(23345) found -[14436] Forked 23346 -(23346) found -[14435] Forked 23347 -(23347) found -[14434] Forked 23348 -(23348) found -[14433] Forked 23349 -(23349) found -[14432] Forked 23350 -[14431] Forked 23351 -(23350) found -(23351) found -[14430] Forked 23352 -[14429] Forked 23353 -(23352) found -(23353) found -[14428] Forked 23354 -[14427] Forked 23355 -(23354) found -(23355) found -[14426] Forked 23356 -[14425] Forked 23357 -(23356) found -(23357) found -[14424] Forked 23358 -[14423] Forked 23359 -(23358) found -(23359) found -[14422] Forked 23360 -[14421] Forked 23361 -(23360) found -(23361) found -[14420] Forked 23362 -[14419] Forked 23363 -(23362) found -(23363) found -[14418] Forked 23364 -[14417] Forked 23365 -(23364) found -(23365) found -[14416] Forked 23366 -(23366) found -[14415] Forked 23367 -(23367) found -[14414] Forked 23368 -[14413] Forked 23369 -(23368) found -(23369) found -[14412] Forked 23370 -[14411] Forked 23371 -(23370) found -(23371) found -[14410] Forked 23372 -[14409] Forked 23373 -(23372) found -(23373) found -[14408] Forked 23374 -[14407] Forked 23375 -(23374) found -(23375) found -[14406] Forked 23376 -[14405] Forked 23377 -(23376) found -(23377) found -[14404] Forked 23378 -[14403] Forked 23379 -(23378) found -(23379) found -[14402] Forked 23380 -[14401] Forked 23381 -(23380) found -(23381) found -[14400] Forked 23382 -[14399] Forked 23383 -(23382) found -(23383) found -[14398] Forked 23384 -[14397] Forked 23385 -(23384) found -(23385) found -[14396] Forked 23386 -[14395] Forked 23387 -(23386) found -(23387) found -[14394] Forked 23388 -[14393] Forked 23389 -(23388) found -(23389) found -[14392] Forked 23390 -[14391] Forked 23391 -(23390) found -(23391) found -[14390] Forked 23392 -[14389] Forked 23393 -(23392) found -(23393) found -[14388] Forked 23394 -[14387] Forked 23395 -(23394) found -(23395) found -[14386] Forked 23396 -[14385] Forked 23397 -(23396) found -(23397) found -[14384] Forked 23398 -[14383] Forked 23399 -(23398) found -(23399) found -[14382] Forked 23400 -[14381] Forked 23401 -(23400) found -(23401) found -[14380] Forked 23402 -[14379] Forked 23403 -(23402) found -(23403) found -[14378] Forked 23404 -[14377] Forked 23405 -(23404) found -(23405) found -[14376] Forked 23406 -[14375] Forked 23407 -(23406) found -(23407) found -[14374] Forked 23408 -[14373] Forked 23409 -(23408) found -(23409) found -[14372] Forked 23410 -[14371] Forked 23411 -(23410) found -(23411) found -[14370] Forked 23412 -[14369] Forked 23413 -(23412) found -(23413) found -[14368] Forked 23414 -[14367] Forked 23415 -(23414) found -(23415) found -[14366] Forked 23416 -[14365] Forked 23417 -(23416) found -(23417) found -[14364] Forked 23418 -[14363] Forked 23419 -(23419) found -(23418) found -[14362] Forked 23420 -(23420) found -[14361] Forked 23421 -(23421) found -[14360] Forked 23422 -(23422) found -[14359] Forked 23423 -(23423) found -[14358] Forked 23424 -(23424) found -[14357] Forked 23425 -(23425) found -[14356] Forked 23426 -(23426) found -[14355] Forked 23427 -(23427) found -[14354] Forked 23428 -(23428) found -[14353] Forked 23429 -(23429) found -[14352] Forked 23430 -(23430) found -[14351] Forked 23431 -(23431) found -[14350] Forked 23432 -(23432) found -[14349] Forked 23433 -(23433) found -[14348] Forked 23434 -(23434) found -[14347] Forked 23435 -(23435) found -[14346] Forked 23436 -(23436) found -[14345] Forked 23437 -(23437) found -[14344] Forked 23438 -(23438) found -[14343] Forked 23439 -(23439) found -[14342] Forked 23440 -(23440) found -[14341] Forked 23441 -(23441) found -[14340] Forked 23442 -(23442) found -[14339] Forked 23443 -(23443) found -[14338] Forked 23444 -(23444) found -[14337] Forked 23445 -(23445) found -[14336] Forked 23446 -(23446) found -[14335] Forked 23447 -(23447) found -[14334] Forked 23448 -(23448) found -[14333] Forked 23449 -(23449) found -[14332] Forked 23450 -(23450) found -[14331] Forked 23451 -(23451) found -[14330] Forked 23452 -(23452) found -[14329] Forked 23453 -(23453) found -[14328] Forked 23454 -(23454) found -[14327] Forked 23455 -(23455) found -[14326] Forked 23456 -(23456) found -[14325] Forked 23457 -(23457) found -[14324] Forked 23458 -(23458) found -[14323] Forked 23459 -(23459) found -[14322] Forked 23460 -(23460) found -[14321] Forked 23461 -(23461) found -[14320] Forked 23462 -(23462) found -[14319] Forked 23463 -(23463) found -[14318] Forked 23464 -(23464) found -[14317] Forked 23465 -(23465) found -[14316] Forked 23466 -(23466) found -[14315] Forked 23467 -(23467) found -[14314] Forked 23468 -(23468) found -[14313] Forked 23469 -[14312] Forked 23470 -(23469) found -(23470) found -[14311] Forked 23471 -[14310] Forked 23472 -(23471) found -(23472) found -[14309] Forked 23473 -[14308] Forked 23474 -(23473) found -(23474) found -[14307] Forked 23475 -[14306] Forked 23476 -(23475) found -(23476) found -[14305] Forked 23477 -[14304] Forked 23478 -(23477) found -(23478) found -[14303] Forked 23479 -[14302] Forked 23480 -(23479) found -(23480) found -[14301] Forked 23481 -[14300] Forked 23482 -(23481) found -(23482) found -[14299] Forked 23483 -[14298] Forked 23484 -(23483) found -(23484) found -[14297] Forked 23485 -[14296] Forked 23486 -(23485) found -(23486) found -[14295] Forked 23487 -[14294] Forked 23488 -(23487) found -(23488) found -[14293] Forked 23489 -[14292] Forked 23490 -(23489) found -(23490) found -[14291] Forked 23491 -[14290] Forked 23492 -(23491) found -(23492) found -[14289] Forked 23493 -[14288] Forked 23494 -(23493) found -(23494) found -[14287] Forked 23495 -[14286] Forked 23496 -(23495) found -(23496) found -[14285] Forked 23497 -[14284] Forked 23498 -(23497) found -(23498) found -[14283] Forked 23499 -[14282] Forked 23500 -(23499) found -(23500) found -[14281] Forked 23501 -[14280] Forked 23502 -(23501) found -(23502) found -[14279] Forked 23503 -[14278] Forked 23504 -(23503) found -(23504) found -[14277] Forked 23505 -[14276] Forked 23506 -(23505) found -(23506) found -[14275] Forked 23507 -[14274] Forked 23508 -(23507) found -(23508) found -[14273] Forked 23509 -[14272] Forked 23510 -(23509) found -(23510) found -[14271] Forked 23511 -[14270] Forked 23512 -(23511) found -(23512) found -[14269] Forked 23513 -[14268] Forked 23514 -(23513) found -(23514) found -[14267] Forked 23515 -[14266] Forked 23516 -(23516) found -(23515) found -[14265] Forked 23517 -(23517) found -[14264] Forked 23518 -(23518) found -[14263] Forked 23519 -(23519) found -[14262] Forked 23520 -(23520) found -[14261] Forked 23521 -(23521) found -[14260] Forked 23522 -(23522) found -[14259] Forked 23523 -(23523) found -[14258] Forked 23524 -(23524) found -[14257] Forked 23525 -(23525) found -[14256] Forked 23526 -(23526) found -[14255] Forked 23527 -(23527) found -[14254] Forked 23528 -(23528) found -[14253] Forked 23529 -(23529) found -[14252] Forked 23530 -(23530) found -[14251] Forked 23531 -(23531) found -[14250] Forked 23532 -(23532) found -[14249] Forked 23533 -(23533) found -[14248] Forked 23534 -(23534) found -[14247] Forked 23535 -(23535) found -[14246] Forked 23536 -(23536) found -[14245] Forked 23537 -(23537) found -[14244] Forked 23538 -(23538) found -[14243] Forked 23539 -(23539) found -[14242] Forked 23540 -(23540) found -[14241] Forked 23541 -(23541) found -[14240] Forked 23542 -(23542) found -[14239] Forked 23543 -(23543) found -[14238] Forked 23544 -(23544) found -[14237] Forked 23545 -(23545) found -[14236] Forked 23546 -(23546) found -[14235] Forked 23547 -(23547) found -[14234] Forked 23548 -(23548) found -[14233] Forked 23549 -(23549) found -[14232] Forked 23550 -(23550) found -[14231] Forked 23551 -(23551) found -[14230] Forked 23552 -(23552) found -[14229] Forked 23553 -(23553) found -[14228] Forked 23554 -(23554) found -[14227] Forked 23555 -(23555) found -[14226] Forked 23556 -(23556) found -[14225] Forked 23557 -(23557) found -[14224] Forked 23558 -(23558) found -[14223] Forked 23559 -(23559) found -[14222] Forked 23560 -(23560) found -[14221] Forked 23561 -(23561) found -[14220] Forked 23562 -(23562) found -[14219] Forked 23563 -(23563) found -[14218] Forked 23564 -(23564) found -[14217] Forked 23565 -(23565) found -[14216] Forked 23566 -(23566) found -[14215] Forked 23567 -(23567) found -[14214] Forked 23568 -(23568) found -[14213] Forked 23569 -(23569) found -[14212] Forked 23570 -(23570) found -[14211] Forked 23571 -(23571) found -[14210] Forked 23572 -(23572) found -[14209] Forked 23573 -(23573) found -[14208] Forked 23574 -(23574) found -[14207] Forked 23575 -(23575) found -[14206] Forked 23576 -(23576) found -[14205] Forked 23577 -(23577) found -[14204] Forked 23578 -(23578) found -[14203] Forked 23579 -(23579) found -[14202] Forked 23580 -(23580) found -[14201] Forked 23581 -(23581) found -[14200] Forked 23582 -(23582) found -[14199] Forked 23583 -(23583) found -[14198] Forked 23584 -(23584) found -[14197] Forked 23585 -[14196] Forked 23586 -(23585) found -(23586) found -[14195] Forked 23587 -[14194] Forked 23588 -(23587) found -(23588) found -[14193] Forked 23589 -[14192] Forked 23590 -(23589) found -(23590) found -[14191] Forked 23591 -[14190] Forked 23592 -(23591) found -(23592) found -[14189] Forked 23593 -[14188] Forked 23594 -(23593) found -(23594) found -[14187] Forked 23595 -[14186] Forked 23596 -(23595) found -(23596) found -[14185] Forked 23597 -[14184] Forked 23598 -(23597) found -(23598) found -[14183] Forked 23599 -[14182] Forked 23600 -(23599) found -(23600) found -[14181] Forked 23601 -[14180] Forked 23602 -(23601) found -(23602) found -[14179] Forked 23603 -[14178] Forked 23604 -(23603) found -(23604) found -[14177] Forked 23605 -[14176] Forked 23606 -(23605) found -(23606) found -[14175] Forked 23607 -[14174] Forked 23608 -(23607) found -(23608) found -[14173] Forked 23609 -[14172] Forked 23610 -(23609) found -(23610) found -[14171] Forked 23611 -[14170] Forked 23612 -(23611) found -(23612) found -[14169] Forked 23613 -[14168] Forked 23614 -(23613) found -(23614) found -[14167] Forked 23615 -[14166] Forked 23616 -(23615) found -(23616) found -[14165] Forked 23617 -[14164] Forked 23618 -(23617) found -(23618) found -[14163] Forked 23619 -[14162] Forked 23620 -(23619) found -(23620) found -[14161] Forked 23621 -[14160] Forked 23622 -(23621) found -(23622) found -[14159] Forked 23623 -[14158] Forked 23624 -(23623) found -(23624) found -[14157] Forked 23625 -[14156] Forked 23626 -(23625) found -(23626) found -[14155] Forked 23627 -[14154] Forked 23628 -(23627) found -(23628) found -[14153] Forked 23629 -[14152] Forked 23630 -(23629) found -(23630) found -[14151] Forked 23631 -[14150] Forked 23632 -(23631) found -(23632) found -[14149] Forked 23633 -[14148] Forked 23634 -(23633) found -(23634) found -[14147] Forked 23635 -[14146] Forked 23636 -(23635) found -(23636) found -[14145] Forked 23637 -[14144] Forked 23638 -(23637) found -(23638) found -[14143] Forked 23639 -[14142] Forked 23640 -(23639) found -(23640) found -[14141] Forked 23641 -[14140] Forked 23642 -(23641) found -(23642) found -[14139] Forked 23643 -[14138] Forked 23644 -(23643) found -(23644) found -[14137] Forked 23645 -[14136] Forked 23646 -(23645) found -(23646) found -[14135] Forked 23647 -[14134] Forked 23648 -(23647) found -(23648) found -[14133] Forked 23649 -[14132] Forked 23650 -(23649) found -(23650) found -[14131] Forked 23651 -[14130] Forked 23652 -(23651) found -(23652) found -[14129] Forked 23653 -[14128] Forked 23654 -(23653) found -(23654) found -[14127] Forked 23655 -[14126] Forked 23656 -(23655) found -(23656) found -[14125] Forked 23657 -[14124] Forked 23658 -(23657) found -(23658) found -[14123] Forked 23659 -[14122] Forked 23660 -(23659) found -(23660) found -[14121] Forked 23661 -[14120] Forked 23662 -(23661) found -(23662) found -[14119] Forked 23663 -[14118] Forked 23664 -(23663) found -(23664) found -[14117] Forked 23665 -[14116] Forked 23666 -(23665) found -(23666) found -[14115] Forked 23667 -[14114] Forked 23668 -(23667) found -(23668) found -[14113] Forked 23669 -[14112] Forked 23670 -(23669) found -(23670) found -[14111] Forked 23671 -[14110] Forked 23672 -(23671) found -(23672) found -[14109] Forked 23673 -[14108] Forked 23674 -(23673) found -(23674) found -[14107] Forked 23675 -[14106] Forked 23676 -(23675) found -(23676) found -[14105] Forked 23677 -[14104] Forked 23678 -(23677) found -(23678) found -[14103] Forked 23679 -[14102] Forked 23680 -(23679) found -(23680) found -[14101] Forked 23681 -[14100] Forked 23682 -(23681) found -(23682) found -[14099] Forked 23683 -[14098] Forked 23684 -(23683) found -(23684) found -[14097] Forked 23685 -[14096] Forked 23686 -(23685) found -(23686) found -[14095] Forked 23687 -[14094] Forked 23688 -(23687) found -(23688) found -[14093] Forked 23689 -[14092] Forked 23690 -(23689) found -(23690) found -[14091] Forked 23691 -[14090] Forked 23692 -(23691) found -(23692) found -[14089] Forked 23693 -[14088] Forked 23694 -(23693) found -(23694) found -[14087] Forked 23695 -[14086] Forked 23696 -(23695) found -(23696) found -[14085] Forked 23697 -[14084] Forked 23698 -(23697) found -(23698) found -[14083] Forked 23699 -[14082] Forked 23700 -(23699) found -(23700) found -[14081] Forked 23701 -[14080] Forked 23702 -(23701) found -(23702) found -[14079] Forked 23703 -[14078] Forked 23704 -(23703) found -(23704) found -[14077] Forked 23705 -[14076] Forked 23706 -(23705) found -(23706) found -[14075] Forked 23707 -[14074] Forked 23708 -(23707) found -(23708) found -[14073] Forked 23709 -[14072] Forked 23710 -(23709) found -(23710) found -[14071] Forked 23711 -[14070] Forked 23712 -(23711) found -(23712) found -[14069] Forked 23713 -[14068] Forked 23714 -(23713) found -(23714) found -[14067] Forked 23715 -[14066] Forked 23716 -(23715) found -(23716) found -[14065] Forked 23717 -[14064] Forked 23718 -(23717) found -(23718) found -[14063] Forked 23719 -(23719) found -[14062] Forked 23720 -(23720) found -[14061] Forked 23721 -(23721) found -[14060] Forked 23722 -(23722) found -[14059] Forked 23723 -(23723) found -[14058] Forked 23724 -(23724) found -[14057] Forked 23725 -(23725) found -[14056] Forked 23726 -(23726) found -[14055] Forked 23727 -(23727) found -[14054] Forked 23728 -(23728) found -[14053] Forked 23729 -(23729) found -[14052] Forked 23730 -(23730) found -[14051] Forked 23731 -(23731) found -[14050] Forked 23732 -(23732) found -[14049] Forked 23733 -(23733) found -[14048] Forked 23734 -(23734) found -[14047] Forked 23735 -(23735) found -[14046] Forked 23736 -(23736) found -[14045] Forked 23737 -(23737) found -[14044] Forked 23738 -(23738) found -[14043] Forked 23739 -(23739) found -[14042] Forked 23740 -(23740) found -[14041] Forked 23741 -(23741) found -[14040] Forked 23742 -(23742) found -[14039] Forked 23743 -(23743) found -[14038] Forked 23744 -(23744) found -[14037] Forked 23745 -(23745) found -[14036] Forked 23746 -(23746) found -[14035] Forked 23747 -(23747) found -[14034] Forked 23748 -(23748) found -[14033] Forked 23749 -(23749) found -[14032] Forked 23750 -(23750) found -[14031] Forked 23751 -(23751) found -[14030] Forked 23752 -(23752) found -[14029] Forked 23753 -(23753) found -[14028] Forked 23754 -(23754) found -[14027] Forked 23755 -(23755) found -[14026] Forked 23756 -(23756) found -[14025] Forked 23757 -[14024] Forked 23758 -(23757) found -(23758) found -[14023] Forked 23759 -[14022] Forked 23760 -(23759) found -(23760) found -[14021] Forked 23761 -[14020] Forked 23762 -(23761) found -(23762) found -[14019] Forked 23763 -[14018] Forked 23764 -(23763) found -(23764) found -[14017] Forked 23765 -[14016] Forked 23766 -(23765) found -(23766) found -[14015] Forked 23767 -[14014] Forked 23768 -(23767) found -(23768) found -[14013] Forked 23769 -[14012] Forked 23770 -(23769) found -(23770) found -[14011] Forked 23771 -[14010] Forked 23772 -(23771) found -(23772) found -[14009] Forked 23773 -[14008] Forked 23774 -(23773) found -(23774) found -[14007] Forked 23775 -[14006] Forked 23776 -(23775) found -(23776) found -[14005] Forked 23777 -[14004] Forked 23778 -(23777) found -(23778) found -[14003] Forked 23779 -[14002] Forked 23780 -(23779) found -(23780) found -[14001] Forked 23781 -[14000] Forked 23782 -(23781) found -(23782) found -[13999] Forked 23783 -[13998] Forked 23784 -(23783) found -(23784) found -[13997] Forked 23785 -[13996] Forked 23786 -(23785) found -(23786) found -[13995] Forked 23787 -[13994] Forked 23788 -(23787) found -(23788) found -[13993] Forked 23789 -[13992] Forked 23790 -(23789) found -(23790) found -[13991] Forked 23791 -[13990] Forked 23792 -(23791) found -(23792) found -[13989] Forked 23793 -[13988] Forked 23794 -(23793) found -(23794) found -[13987] Forked 23795 -[13986] Forked 23796 -(23795) found -(23796) found -[13985] Forked 23797 -[13984] Forked 23798 -(23797) found -(23798) found -[13983] Forked 23799 -[13982] Forked 23800 -(23799) found -(23800) found -[13981] Forked 23801 -[13980] Forked 23802 -(23801) found -(23802) found -[13979] Forked 23803 -[13978] Forked 23804 -(23803) found -(23804) found -[13977] Forked 23805 -[13976] Forked 23806 -(23805) found -(23806) found -[13975] Forked 23807 -[13974] Forked 23808 -(23807) found -(23808) found -[13973] Forked 23809 -[13972] Forked 23810 -(23809) found -(23810) found -[13971] Forked 23811 -[13970] Forked 23812 -(23811) found -(23812) found -[13969] Forked 23813 -[13968] Forked 23814 -(23813) found -(23814) found -[13967] Forked 23815 -[13966] Forked 23816 -(23815) found -(23816) found -[13965] Forked 23817 -[13964] Forked 23818 -(23817) found -(23818) found -[13963] Forked 23819 -[13962] Forked 23820 -(23819) found -(23820) found -[13961] Forked 23821 -[13960] Forked 23822 -(23821) found -(23822) found -[13959] Forked 23823 -[13958] Forked 23824 -(23823) found -(23824) found -[13957] Forked 23825 -[13956] Forked 23826 -(23825) found -(23826) found -[13955] Forked 23827 -[13954] Forked 23828 -(23827) found -(23828) found -[13953] Forked 23829 -[13952] Forked 23830 -(23829) found -(23830) found -[13951] Forked 23831 -[13950] Forked 23832 -(23831) found -(23832) found -[13949] Forked 23833 -[13948] Forked 23834 -(23833) found -(23834) found -[13947] Forked 23835 -[13946] Forked 23836 -(23835) found -(23836) found -[13945] Forked 23837 -[13944] Forked 23838 -(23837) found -(23838) found -[13943] Forked 23839 -[13942] Forked 23840 -(23839) found -(23840) found -[13941] Forked 23841 -[13940] Forked 23842 -(23841) found -(23842) found -[13939] Forked 23843 -[13938] Forked 23844 -(23843) found -(23844) found -[13937] Forked 23845 -[13936] Forked 23847 -(23845) found -(23847) found -[13935] Forked 23848 -(23848) found -[13934] Forked 23849 -(23849) found -[13933] Forked 23850 -(23850) found -[13932] Forked 23851 -(23851) found -[13931] Forked 23852 -(23852) found -[13930] Forked 23853 -(23853) found -[13929] Forked 23854 -(23854) found -[13928] Forked 23855 -(23855) found -[13927] Forked 23856 -(23856) found -[13926] Forked 23857 -(23857) found -[13925] Forked 23858 -(23858) found -[13924] Forked 23859 -(23859) found -[13923] Forked 23860 -(23860) found -[13922] Forked 23861 -(23861) found -[13921] Forked 23862 -(23862) found -[13920] Forked 23863 -(23863) found -[13919] Forked 23864 -(23864) found -[13918] Forked 23865 -(23865) found -[13917] Forked 23866 -(23866) found -[13916] Forked 23867 -(23867) found -[13915] Forked 23868 -(23868) found -[13914] Forked 23869 -(23869) found -[13913] Forked 23870 -(23870) found -[13912] Forked 23871 -(23871) found -[13911] Forked 23872 -(23872) found -[13910] Forked 23873 -(23873) found -[13909] Forked 23874 -(23874) found -[13908] Forked 23875 -(23875) found -[13907] Forked 23876 -(23876) found -[13906] Forked 23877 -(23877) found -[13905] Forked 23878 -(23878) found -[13904] Forked 23879 -(23879) found -[13903] Forked 23880 -(23880) found -[13902] Forked 23881 -(23881) found -[13901] Forked 23882 -(23882) found -[13900] Forked 23883 -(23883) found -[13899] Forked 23884 -(23884) found -[13898] Forked 23885 -(23885) found -[13897] Forked 23886 -(23886) found -[13896] Forked 23887 -(23887) found -[13895] Forked 23888 -(23888) found -[13894] Forked 23889 -(23889) found -[13893] Forked 23890 -(23890) found -[13892] Forked 23891 -(23891) found -[13891] Forked 23892 -(23892) found -[13890] Forked 23893 -(23893) found -[13889] Forked 23894 -(23894) found -[13888] Forked 23895 -(23895) found -[13887] Forked 23896 -(23896) found -[13886] Forked 23897 -(23897) found -[13885] Forked 23898 -(23898) found -[13884] Forked 23899 -(23899) found -[13883] Forked 23900 -(23900) found -[13882] Forked 23901 -(23901) found -[13881] Forked 23902 -(23902) found -[13880] Forked 23903 -(23903) found -[13879] Forked 23904 -(23904) found -[13878] Forked 23905 -(23905) found -[13877] Forked 23906 -(23906) found -[13876] Forked 23907 -(23907) found -[13875] Forked 23908 -(23908) found -[13874] Forked 23909 -(23909) found -[13873] Forked 23910 -(23910) found -[13872] Forked 23911 -(23911) found -[13871] Forked 23912 -(23912) found -[13870] Forked 23913 -(23913) found -[13869] Forked 23914 -(23914) found -[13868] Forked 23915 -(23915) found -[13867] Forked 23916 -(23916) found -[13866] Forked 23917 -(23917) found -[13865] Forked 23918 -[13864] Forked 23919 -(23918) found -(23919) found -[13863] Forked 23920 -[13862] Forked 23921 -(23920) found -(23921) found -[13861] Forked 23922 -[13860] Forked 23923 -(23922) found -(23923) found -[13859] Forked 23924 -(23924) found -[13858] Forked 23925 -[13857] Forked 23926 -(23926) found -(23925) found -[13856] Forked 23927 -(23927) found -[13855] Forked 23928 -(23928) found -[13854] Forked 23929 -(23929) found -[13853] Forked 23930 -(23930) found -[13852] Forked 23931 -(23931) found -[13851] Forked 23932 -(23932) found -[13850] Forked 23933 -(23933) found -[13849] Forked 23934 -(23934) found -[13848] Forked 23935 -(23935) found -[13847] Forked 23936 -(23936) found -[13846] Forked 23937 -(23937) found -[13845] Forked 23938 -(23938) found -[13844] Forked 23939 -(23939) found -[13843] Forked 23940 -(23940) found -[13842] Forked 23941 -(23941) found -[13841] Forked 23942 -(23942) found -[13840] Forked 23943 -[13839] Forked 23944 -(23943) found -(23944) found -[13838] Forked 23945 -[13837] Forked 23946 -(23946) found -(23945) found -[13836] Forked 23947 -(23947) found -[13835] Forked 23948 -(23948) found -[13834] Forked 23949 -(23949) found -[13833] Forked 23950 -(23950) found -[13832] Forked 23951 -(23951) found -[13831] Forked 23952 -(23952) found -[13830] Forked 23953 -(23953) found -[13829] Forked 23954 -(23954) found -[13828] Forked 23955 -(23955) found -[13827] Forked 23956 -(23956) found -[13826] Forked 23957 -(23957) found -[13825] Forked 23958 -(23958) found -[13824] Forked 23959 -(23959) found -[13823] Forked 23960 -(23960) found -[13822] Forked 23961 -(23961) found -[13821] Forked 23962 -(23962) found -[13820] Forked 23963 -(23963) found -[13819] Forked 23964 -(23964) found -[13818] Forked 23965 -(23965) found -[13817] Forked 23966 -(23966) found -[13816] Forked 23967 -(23967) found -[13815] Forked 23968 -(23968) found -[13814] Forked 23969 -(23969) found -[13813] Forked 23970 -(23970) found -[13812] Forked 23971 -(23971) found -[13811] Forked 23972 -(23972) found -[13810] Forked 23973 -(23973) found -[13809] Forked 23974 -(23974) found -[13808] Forked 23975 -(23975) found -[13807] Forked 23976 -(23976) found -[13806] Forked 23977 -(23977) found -[13805] Forked 23978 -(23978) found -[13804] Forked 23979 -(23979) found -[13803] Forked 23980 -(23980) found -[13802] Forked 23981 -(23981) found -[13801] Forked 23982 -(23982) found -[13800] Forked 23983 -(23983) found -[13799] Forked 23984 -(23984) found -[13798] Forked 23985 -[13797] Forked 23986 -(23985) found -(23986) found -[13796] Forked 23987 -[13795] Forked 23988 -(23987) found -(23988) found -[13794] Forked 23989 -[13793] Forked 23990 -(23989) found -(23990) found -[13792] Forked 23991 -[13791] Forked 23992 -(23991) found -(23992) found -[13790] Forked 23993 -[13789] Forked 23994 -(23993) found -(23994) found -[13788] Forked 23995 -[13787] Forked 23996 -(23995) found -(23996) found -[13786] Forked 23997 -[13785] Forked 23998 -(23997) found -(23998) found -[13784] Forked 23999 -[13783] Forked 24000 -(23999) found -(24000) found -[13782] Forked 24001 -[13781] Forked 24002 -(24001) found -(24002) found -[13780] Forked 24003 -[13779] Forked 24004 -(24004) found -(24003) found -[13778] Forked 24005 -(24005) found -[13777] Forked 24006 -(24006) found -[13776] Forked 24007 -(24007) found -[13775] Forked 24008 -(24008) found -[13774] Forked 24009 -(24009) found -[13773] Forked 24010 -(24010) found -[13772] Forked 24011 -(24011) found -[13771] Forked 24012 -(24012) found -[13770] Forked 24013 -(24013) found -[13769] Forked 24014 -(24014) found -[13768] Forked 24015 -(24015) found -[13767] Forked 24016 -(24016) found -[13766] Forked 24017 -(24017) found -[13765] Forked 24018 -(24018) found -[13764] Forked 24019 -[13763] Forked 24020 -(24019) found -(24020) found -[13762] Forked 24021 -[13761] Forked 24022 -(24021) found -(24022) found -[13760] Forked 24023 -[13759] Forked 24024 -(24023) found -(24024) found -[13758] Forked 24025 -[13757] Forked 24026 -(24025) found -(24026) found -[13756] Forked 24027 -[13755] Forked 24028 -(24027) found -(24028) found -[13754] Forked 24029 -[13753] Forked 24030 -(24029) found -(24030) found -[13752] Forked 24031 -[13751] Forked 24032 -(24031) found -(24032) found -[13750] Forked 24033 -[13749] Forked 24034 -(24033) found -(24034) found -[13748] Forked 24035 -[13747] Forked 24036 -(24035) found -(24036) found -[13746] Forked 24037 -[13745] Forked 24038 -(24037) found -(24038) found -[13744] Forked 24039 -[13743] Forked 24040 -(24039) found -(24040) found -[13742] Forked 24041 -[13741] Forked 24042 -(24041) found -(24042) found -[13740] Forked 24043 -[13739] Forked 24044 -(24043) found -(24044) found -[13738] Forked 24045 -(24045) found -[13737] Forked 24046 -[13736] Forked 24048 -(24046) found -(24048) found -[13735] Forked 24049 -(24049) found -[13734] Forked 24050 -(24050) found -[13733] Forked 24051 -(24051) found -[13732] Forked 24052 -(24052) found -[13731] Forked 24053 -(24053) found -[13730] Forked 24054 -(24054) found -[13729] Forked 24055 -(24055) found -[13728] Forked 24056 -(24056) found -[13727] Forked 24057 -(24057) found -[13726] Forked 24058 -(24058) found -[13725] Forked 24059 -(24059) found -[13724] Forked 24060 -(24060) found -[13723] Forked 24061 -(24061) found -[13722] Forked 24062 -(24062) found -[13721] Forked 24063 -(24063) found -[13720] Forked 24064 -(24064) found -[13719] Forked 24065 -(24065) found -[13718] Forked 24066 -(24066) found -[13717] Forked 24067 -(24067) found -[13716] Forked 24068 -(24068) found -[13715] Forked 24069 -(24069) found -[13714] Forked 24070 -(24070) found -[13713] Forked 24071 -(24071) found -[13712] Forked 24072 -(24072) found -[13711] Forked 24073 -(24073) found -[13710] Forked 24074 -(24074) found -[13709] Forked 24075 -(24075) found -[13708] Forked 24076 -(24076) found -[13707] Forked 24077 -(24077) found -[13706] Forked 24078 -(24078) found -[13705] Forked 24079 -(24079) found -[13704] Forked 24080 -(24080) found -[13703] Forked 24081 -(24081) found -[13702] Forked 24082 -(24082) found -[13701] Forked 24083 -(24083) found -[13700] Forked 24084 -(24084) found -[13699] Forked 24085 -(24085) found -[13698] Forked 24086 -(24086) found -[13697] Forked 24087 -(24087) found -[13696] Forked 24088 -(24088) found -[13695] Forked 24089 -(24089) found -[13694] Forked 24090 -(24090) found -[13693] Forked 24091 -(24091) found -[13692] Forked 24092 -(24092) found -[13691] Forked 24093 -(24093) found -[13690] Forked 24094 -(24094) found -[13689] Forked 24095 -(24095) found -[13688] Forked 24096 -(24096) found -[13687] Forked 24097 -(24097) found -[13686] Forked 24098 -(24098) found -[13685] Forked 24099 -(24099) found -[13684] Forked 24100 -(24100) found -[13683] Forked 24101 -(24101) found -[13682] Forked 24102 -(24102) found -[13681] Forked 24103 -(24103) found -[13680] Forked 24104 -(24104) found -[13679] Forked 24105 -(24105) found -[13678] Forked 24106 -(24106) found -[13677] Forked 24107 -(24107) found -[13676] Forked 24108 -(24108) found -[13675] Forked 24109 -(24109) found -[13674] Forked 24110 -(24110) found -[13673] Forked 24111 -(24111) found -[13672] Forked 24112 -(24112) found -[13671] Forked 24113 -(24113) found -[13670] Forked 24114 -(24114) found -[13669] Forked 24115 -(24115) found -[13668] Forked 24116 -(24116) found -[13667] Forked 24117 -(24117) found -[13666] Forked 24118 -(24118) found -[13665] Forked 24119 -(24119) found -[13664] Forked 24120 -(24120) found -[13663] Forked 24121 -(24121) found -[13662] Forked 24122 -(24122) found -[13661] Forked 24123 -(24123) found -[13660] Forked 24124 -(24124) found -[13659] Forked 24125 -(24125) found -[13658] Forked 24126 -[13657] Forked 24127 -(24126) found -(24127) found -[13656] Forked 24128 -[13655] Forked 24129 -(24128) found -(24129) found -[13654] Forked 24130 -[13653] Forked 24131 -(24130) found -(24131) found -[13652] Forked 24132 -[13651] Forked 24133 -(24132) found -(24133) found -[13650] Forked 24134 -[13649] Forked 24135 -(24135) found -(24134) found -[13648] Forked 24136 -(24136) found -[13647] Forked 24137 -(24137) found -[13646] Forked 24139 -(24139) found -[13645] Forked 24140 -(24140) found -[13644] Forked 24141 -(24141) found -[13643] Forked 24142 -(24142) found -[13642] Forked 24143 -(24143) found -[13641] Forked 24144 -(24144) found -[13640] Forked 24145 -(24145) found -[13639] Forked 24146 -(24146) found -[13638] Forked 24147 -(24147) found -[13637] Forked 24148 -(24148) found -[13636] Forked 24149 -(24149) found -[13635] Forked 24150 -(24150) found -[13634] Forked 24151 -(24151) found -[13633] Forked 24152 -(24152) found -[13632] Forked 24153 -(24153) found -[13631] Forked 24154 -[13630] Forked 24155 -(24154) found -(24155) found -[13629] Forked 24156 -[13628] Forked 24157 -(24156) found -(24157) found -[13627] Forked 24158 -[13626] Forked 24159 -(24158) found -(24159) found -[13625] Forked 24160 -[13624] Forked 24161 -(24160) found -(24161) found -[13623] Forked 24162 -[13622] Forked 24163 -(24162) found -(24163) found -[13621] Forked 24164 -(24164) found -[13620] Forked 24165 -(24165) found -[13619] Forked 24166 -(24166) found -[13618] Forked 24167 -(24167) found -[13617] Forked 24168 -(24168) found -[13616] Forked 24169 -(24169) found -[13615] Forked 24170 -(24170) found -[13614] Forked 24171 -(24171) found -[13613] Forked 24172 -(24172) found -[13612] Forked 24173 -(24173) found -[13611] Forked 24174 -(24174) found -[13610] Forked 24175 -(24175) found -[13609] Forked 24176 -(24176) found -[13608] Forked 24177 -(24177) found -[13607] Forked 24178 -(24178) found -[13606] Forked 24179 -(24179) found -[13605] Forked 24180 -(24180) found -[13604] Forked 24181 -(24181) found -[13603] Forked 24182 -(24182) found -[13602] Forked 24183 -(24183) found -[13601] Forked 24184 -(24184) found -[13600] Forked 24185 -(24185) found -[13599] Forked 24186 -(24186) found -[13598] Forked 24187 -(24187) found -[13597] Forked 24188 -(24188) found -[13596] Forked 24189 -(24189) found -[13595] Forked 24190 -(24190) found -[13594] Forked 24191 -(24191) found -[13593] Forked 24192 -(24192) found -[13592] Forked 24193 -(24193) found -[13591] Forked 24194 -(24194) found -[13590] Forked 24195 -(24195) found -[13589] Forked 24196 -(24196) found -[13588] Forked 24197 -(24197) found -[13587] Forked 24198 -(24198) found -[13586] Forked 24199 -(24199) found -[13585] Forked 24200 -[13584] Forked 24201 -(24200) found -(24201) found -[13583] Forked 24202 -[13582] Forked 24203 -(24202) found -(24203) found -[13581] Forked 24204 -[13580] Forked 24205 -(24204) found -(24205) found -[13579] Forked 24206 -[13578] Forked 24207 -(24206) found -(24207) found -[13577] Forked 24208 -[13576] Forked 24209 -(24208) found -(24209) found -[13575] Forked 24210 -[13574] Forked 24211 -(24210) found -(24211) found -[13573] Forked 24212 -[13572] Forked 24213 -(24212) found -(24213) found -[13571] Forked 24214 -[13570] Forked 24215 -(24214) found -(24215) found -[13569] Forked 24216 -[13568] Forked 24217 -(24216) found -(24217) found -[13567] Forked 24218 -[13566] Forked 24219 -(24218) found -(24219) found -[13565] Forked 24220 -[13564] Forked 24221 -(24220) found -(24221) found -[13563] Forked 24222 -[13562] Forked 24224 -(24222) found -(24224) found -[13561] Forked 24225 -(24225) found -[13560] Forked 24226 -(24226) found -[13559] Forked 24227 -(24227) found -[13558] Forked 24228 -(24228) found -[13557] Forked 24229 -(24229) found -[13556] Forked 24230 -(24230) found -[13555] Forked 24231 -(24231) found -[13554] Forked 24232 -(24232) found -[13553] Forked 24233 -(24233) found -[13552] Forked 24234 -(24234) found -[13551] Forked 24235 -(24235) found -[13550] Forked 24236 -(24236) found -[13549] Forked 24237 -(24237) found -[13548] Forked 24238 -(24238) found -[13547] Forked 24239 -(24239) found -[13546] Forked 24240 -(24240) found -[13545] Forked 24241 -(24241) found -[13544] Forked 24242 -(24242) found -[13543] Forked 24243 -(24243) found -[13542] Forked 24244 -(24244) found -[13541] Forked 24245 -(24245) found -[13540] Forked 24246 -(24246) found -[13539] Forked 24247 -(24247) found -[13538] Forked 24248 -(24248) found -[13537] Forked 24249 -(24249) found -[13536] Forked 24250 -(24250) found -[13535] Forked 24251 -(24251) found -[13534] Forked 24252 -(24252) found -[13533] Forked 24253 -(24253) found -[13532] Forked 24254 -(24254) found -[13531] Forked 24255 -(24255) found -[13530] Forked 24256 -(24256) found -[13529] Forked 24257 -(24257) found -[13528] Forked 24258 -(24258) found -[13527] Forked 24259 -(24259) found -[13526] Forked 24260 -(24260) found -[13525] Forked 24261 -(24261) found -[13524] Forked 24262 -(24262) found -[13523] Forked 24263 -(24263) found -[13522] Forked 24264 -(24264) found -[13521] Forked 24265 -(24265) found -[13520] Forked 24266 -(24266) found -[13519] Forked 24267 -(24267) found -[13518] Forked 24268 -(24268) found -[13517] Forked 24269 -(24269) found -[13516] Forked 24270 -(24270) found -[13515] Forked 24271 -(24271) found -[13514] Forked 24272 -(24272) found -[13513] Forked 24273 -(24273) found -[13512] Forked 24274 -(24274) found -[13511] Forked 24275 -(24275) found -[13510] Forked 24276 -[13509] Forked 24277 -(24276) found -(24277) found -[13508] Forked 24278 -[13507] Forked 24279 -(24278) found -(24279) found -[13506] Forked 24280 -[13505] Forked 24281 -(24280) found -(24281) found -[13504] Forked 24282 -[13503] Forked 24283 -(24282) found -(24283) found -[13502] Forked 24284 -[13501] Forked 24285 -(24284) found -(24285) found -[13500] Forked 24286 -[13499] Forked 24287 -(24286) found -(24287) found -[13498] Forked 24288 -[13497] Forked 24289 -(24288) found -(24289) found -[13496] Forked 24290 -[13495] Forked 24291 -(24290) found -(24291) found -[13494] Forked 24292 -[13493] Forked 24293 -(24292) found -(24293) found -[13492] Forked 24294 -[13491] Forked 24295 -(24294) found -(24295) found -[13490] Forked 24296 -[13489] Forked 24297 -(24296) found -(24297) found -[13488] Forked 24298 -[13487] Forked 24299 -(24298) found -(24299) found -[13486] Forked 24300 -[13485] Forked 24301 -(24300) found -(24301) found -[13484] Forked 24302 -[13483] Forked 24303 -(24302) found -(24303) found -[13482] Forked 24304 -[13481] Forked 24305 -(24304) found -(24305) found -[13480] Forked 24306 -[13479] Forked 24307 -(24306) found -(24307) found -[13478] Forked 24308 -[13477] Forked 24309 -(24308) found -(24309) found -[13476] Forked 24310 -[13475] Forked 24311 -(24310) found -(24311) found -[13474] Forked 24312 -[13473] Forked 24313 -(24312) found -(24313) found -[13472] Forked 24314 -[13471] Forked 24315 -(24314) found -(24315) found -[13470] Forked 24316 -[13469] Forked 24317 -(24316) found -(24317) found -[13468] Forked 24319 -[13467] Forked 24320 -(24319) found -(24320) found -[13466] Forked 24321 -(24321) found -[13465] Forked 24322 -(24322) found -[13464] Forked 24323 -(24323) found -[13463] Forked 24324 -(24324) found -[13462] Forked 24325 -(24325) found -[13461] Forked 24326 -(24326) found -[13460] Forked 24327 -(24327) found -[13459] Forked 24328 -(24328) found -[13458] Forked 24329 -(24329) found -[13457] Forked 24330 -(24330) found -[13456] Forked 24331 -(24331) found -[13455] Forked 24332 -(24332) found -[13454] Forked 24333 -(24333) found -[13453] Forked 24334 -(24334) found -[13452] Forked 24335 -(24335) found -[13451] Forked 24336 -(24336) found -[13450] Forked 24337 -(24337) found -[13449] Forked 24338 -(24338) found -[13448] Forked 24339 -(24339) found -[13447] Forked 24340 -(24340) found -[13446] Forked 24341 -(24341) found -[13445] Forked 24342 -(24342) found -[13444] Forked 24343 -(24343) found -[13443] Forked 24344 -(24344) found -[13442] Forked 24345 -(24345) found -[13441] Forked 24346 -(24346) found -[13440] Forked 24347 -(24347) found -[13439] Forked 24348 -(24348) found -[13438] Forked 24349 -(24349) found -[13437] Forked 24350 -(24350) found -[13436] Forked 24351 -(24351) found -[13435] Forked 24352 -(24352) found -[13434] Forked 24353 -(24353) found -[13433] Forked 24354 -(24354) found -[13432] Forked 24355 -(24355) found -[13431] Forked 24356 -(24356) found -[13430] Forked 24357 -[13429] Forked 24358 -(24357) found -(24358) found -[13428] Forked 24359 -[13427] Forked 24360 -(24359) found -(24360) found -[13426] Forked 24361 -[13425] Forked 24362 -(24361) found -(24362) found -[13424] Forked 24363 -[13423] Forked 24364 -(24363) found -(24364) found -[13422] Forked 24365 -[13421] Forked 24366 -(24365) found -(24366) found -[13420] Forked 24367 -[13419] Forked 24368 -(24367) found -(24368) found -[13418] Forked 24369 -[13417] Forked 24370 -(24369) found -(24370) found -[13416] Forked 24371 -[13415] Forked 24372 -(24371) found -(24372) found -[13414] Forked 24373 -[13413] Forked 24374 -(24373) found -(24374) found -[13412] Forked 24375 -[13411] Forked 24376 -(24375) found -(24376) found -[13410] Forked 24377 -[13409] Forked 24378 -(24377) found -(24378) found -[13408] Forked 24379 -(24379) found -[13407] Forked 24380 -[13406] Forked 24381 -(24380) found -(24381) found -[13405] Forked 24382 -[13404] Forked 24383 -(24382) found -(24383) found -[13403] Forked 24384 -[13402] Forked 24385 -(24384) found -(24385) found -[13401] Forked 24386 -[13400] Forked 24387 -(24386) found -(24387) found -[13399] Forked 24388 -[13398] Forked 24389 -(24388) found -(24389) found -[13397] Forked 24390 -[13396] Forked 24391 -(24390) found -(24391) found -[13395] Forked 24392 -[13394] Forked 24393 -(24392) found -(24393) found -[13393] Forked 24394 -[13392] Forked 24395 -(24394) found -(24395) found -[13391] Forked 24396 -[13390] Forked 24397 -(24396) found -(24397) found -[13389] Forked 24398 -[13388] Forked 24399 -(24398) found -(24399) found -[13387] Forked 24400 -[13386] Forked 24401 -(24400) found -(24401) found -[13385] Forked 24402 -(24402) found -[13384] Forked 24403 -(24403) found -[13383] Forked 24404 -(24404) found -[13382] Forked 24405 -(24405) found -[13381] Forked 24406 -(24406) found -[13380] Forked 24407 -(24407) found -[13379] Forked 24408 -(24408) found -[13378] Forked 24409 -(24409) found -[13377] Forked 24410 -(24410) found -[13376] Forked 24411 -(24411) found -[13375] Forked 24412 -(24412) found -[13374] Forked 24413 -(24413) found -[13373] Forked 24414 -(24414) found -[13372] Forked 24415 -(24415) found -[13371] Forked 24416 -(24416) found -[13370] Forked 24417 -(24417) found -[13369] Forked 24418 -(24418) found -[13368] Forked 24419 -(24419) found -[13367] Forked 24420 -(24420) found -[13366] Forked 24421 -(24421) found -[13365] Forked 24422 -(24422) found -[13364] Forked 24423 -(24423) found -[13363] Forked 24424 -(24424) found -[13362] Forked 24425 -(24425) found -[13361] Forked 24426 -(24426) found -[13360] Forked 24427 -(24427) found -[13359] Forked 24428 -(24428) found -[13358] Forked 24429 -(24429) found -[13357] Forked 24430 -(24430) found -[13356] Forked 24431 -(24431) found -[13355] Forked 24432 -(24432) found -[13354] Forked 24433 -(24433) found -[13353] Forked 24434 -(24434) found -[13352] Forked 24435 -(24435) found -[13351] Forked 24436 -(24436) found -[13350] Forked 24437 -(24437) found -[13349] Forked 24438 -(24438) found -[13348] Forked 24439 -(24439) found -[13347] Forked 24440 -(24440) found -[13346] Forked 24441 -(24441) found -[13345] Forked 24442 -[13344] Forked 24443 -(24442) found -(24443) found -[13343] Forked 24444 -[13342] Forked 24445 -(24444) found -(24445) found -[13341] Forked 24446 -[13340] Forked 24447 -(24446) found -(24447) found -[13339] Forked 24448 -[13338] Forked 24449 -(24448) found -(24449) found -[13337] Forked 24450 -[13336] Forked 24451 -(24450) found -(24451) found -[13335] Forked 24452 -[13334] Forked 24453 -(24452) found -(24453) found -[13333] Forked 24454 -[13332] Forked 24455 -(24454) found -(24455) found -[13331] Forked 24456 -[13330] Forked 24457 -(24456) found -(24457) found -[13329] Forked 24458 -[13328] Forked 24459 -(24458) found -(24459) found -[13327] Forked 24460 -[13326] Forked 24461 -(24460) found -(24461) found -[13325] Forked 24462 -[13324] Forked 24463 -(24462) found -(24463) found -[13323] Forked 24464 -[13322] Forked 24465 -(24464) found -(24465) found -[13321] Forked 24466 -[13320] Forked 24467 -(24466) found -(24467) found -[13319] Forked 24468 -[13318] Forked 24469 -(24468) found -(24469) found -[13317] Forked 24470 -[13316] Forked 24473 -(24470) found -(24473) found -[13315] Forked 24474 -[13314] Forked 24475 -(24474) found -(24475) found -[13313] Forked 24476 -[13312] Forked 24477 -(24476) found -(24477) found -[13311] Forked 24478 -[13310] Forked 24479 -(24478) found -(24479) found -[13309] Forked 24480 -[13308] Forked 24481 -(24480) found -(24481) found -[13307] Forked 24482 -[13306] Forked 24483 -(24482) found -(24483) found -[13305] Forked 24484 -[13304] Forked 24485 -(24484) found -(24485) found -[13303] Forked 24486 -(24486) found -[13302] Forked 24487 -(24487) found -[13301] Forked 24488 -(24488) found -[13300] Forked 24489 -(24489) found -[13299] Forked 24490 -(24490) found -[13298] Forked 24491 -(24491) found -[13297] Forked 24492 -(24492) found -[13296] Forked 24493 -(24493) found -[13295] Forked 24494 -(24494) found -[13294] Forked 24495 -(24495) found -[13293] Forked 24496 -(24496) found -[13292] Forked 24497 -(24497) found -[13291] Forked 24498 -(24498) found -[13290] Forked 24499 -(24499) found -[13289] Forked 24500 -(24500) found -[13288] Forked 24501 -(24501) found -[13287] Forked 24502 -(24502) found -[13286] Forked 24503 -(24503) found -[13285] Forked 24504 -(24504) found -[13284] Forked 24505 -(24505) found -[13283] Forked 24506 -(24506) found -[13282] Forked 24507 -(24507) found -[13281] Forked 24508 -(24508) found -[13280] Forked 24509 -(24509) found -[13279] Forked 24510 -(24510) found -[13278] Forked 24511 -(24511) found -[13277] Forked 24512 -(24512) found -[13276] Forked 24513 -(24513) found -[13275] Forked 24514 -(24514) found -[13274] Forked 24515 -(24515) found -[13273] Forked 24516 -(24516) found -[13272] Forked 24517 -(24517) found -[13271] Forked 24518 -(24518) found -[13270] Forked 24519 -(24519) found -[13269] Forked 24520 -(24520) found -[13268] Forked 24521 -(24521) found -[13267] Forked 24522 -(24522) found -[13266] Forked 24523 -(24523) found -[13265] Forked 24524 -(24524) found -[13264] Forked 24525 -[13263] Forked 24526 -(24525) found -(24526) found -[13262] Forked 24527 -[13261] Forked 24528 -(24527) found -(24528) found -[13260] Forked 24529 -[13259] Forked 24530 -(24529) found -(24530) found -[13258] Forked 24531 -[13257] Forked 24532 -(24531) found -(24532) found -[13256] Forked 24533 -[13255] Forked 24534 -(24533) found -(24534) found -[13254] Forked 24535 -[13253] Forked 24536 -(24535) found -(24536) found -[13252] Forked 24537 -[13251] Forked 24538 -(24537) found -(24538) found -[13250] Forked 24539 -[13249] Forked 24540 -(24539) found -(24540) found -[13248] Forked 24541 -[13247] Forked 24542 -(24541) found -(24542) found -[13246] Forked 24543 -[13245] Forked 24544 -(24543) found -(24544) found -[13244] Forked 24545 -[13243] Forked 24546 -(24545) found -(24546) found -[13242] Forked 24547 -[13241] Forked 24548 -(24547) found -(24548) found -[13240] Forked 24549 -[13239] Forked 24550 -(24549) found -(24550) found -[13238] Forked 24551 -[13237] Forked 24552 -(24551) found -(24552) found -[13236] Forked 24553 -[13235] Forked 24554 -(24553) found -(24554) found -[13234] Forked 24555 -[13233] Forked 24556 -(24555) found -(24556) found -[13232] Forked 24557 -[13231] Forked 24558 -(24558) found -(24557) found -[13230] Forked 24559 -(24559) found -[13229] Forked 24560 -(24560) found -[13228] Forked 24561 -(24561) found -[13227] Forked 24562 -(24562) found -[13226] Forked 24563 -[13225] Forked 24564 -(24563) found -(24564) found -[13224] Forked 24565 -[13223] Forked 24566 -(24565) found -(24566) found -[13222] Forked 24567 -(24567) found -[13221] Forked 24568 -(24568) found -[13220] Forked 24569 -(24569) found -[13219] Forked 24570 -(24570) found -[13218] Forked 24571 -(24571) found -[13217] Forked 24572 -(24572) found -[13216] Forked 24573 -(24573) found -[13215] Forked 24574 -(24574) found -[13214] Forked 24575 -(24575) found -[13213] Forked 24576 -(24576) found -[13212] Forked 24577 -(24577) found -[13211] Forked 24578 -(24578) found -[13210] Forked 24579 -(24579) found -[13209] Forked 24580 -(24580) found -[13208] Forked 24581 -(24581) found -[13207] Forked 24582 -(24582) found -[13206] Forked 24583 -(24583) found -[13205] Forked 24584 -(24584) found -[13204] Forked 24585 -(24585) found -[13203] Forked 24586 -(24586) found -[13202] Forked 24587 -(24587) found -[13201] Forked 24588 -(24588) found -[13200] Forked 24589 -(24589) found -[13199] Forked 24590 -(24590) found -[13198] Forked 24591 -(24591) found -[13197] Forked 24592 -(24592) found -[13196] Forked 24593 -(24593) found -[13195] Forked 24594 -(24594) found -[13194] Forked 24595 -(24595) found -[13193] Forked 24596 -(24596) found -[13192] Forked 24597 -(24597) found -[13191] Forked 24598 -(24598) found -[13190] Forked 24599 -(24599) found -[13189] Forked 24600 -(24600) found -[13188] Forked 24601 -(24601) found -[13187] Forked 24602 -(24602) found -[13186] Forked 24603 -(24603) found -[13185] Forked 24604 -(24604) found -[13184] Forked 24605 -(24605) found -[13183] Forked 24606 -[13182] Forked 24607 -(24606) found -(24607) found -[13181] Forked 24608 -[13180] Forked 24609 -(24608) found -(24609) found -[13179] Forked 24610 -[13178] Forked 24611 -(24610) found -(24611) found -[13177] Forked 24612 -[13176] Forked 24613 -(24612) found -(24613) found -[13175] Forked 24614 -[13174] Forked 24615 -(24614) found -(24615) found -[13173] Forked 24616 -[13172] Forked 24617 -(24616) found -(24617) found -[13171] Forked 24618 -[13170] Forked 24619 -(24618) found -(24619) found -[13169] Forked 24620 -[13168] Forked 24621 -(24620) found -(24621) found -[13167] Forked 24622 -[13166] Forked 24623 -(24622) found -(24623) found -[13165] Forked 24624 -[13164] Forked 24625 -(24624) found -(24625) found -[13163] Forked 24626 -[13162] Forked 24627 -(24626) found -(24627) found -[13161] Forked 24628 -[13160] Forked 24629 -(24628) found -(24629) found -[13159] Forked 24630 -[13158] Forked 24631 -(24630) found -(24631) found -[13157] Forked 24632 -[13156] Forked 24633 -(24632) found -(24633) found -[13155] Forked 24634 -[13154] Forked 24635 -(24634) found -(24635) found -[13153] Forked 24636 -[13152] Forked 24637 -(24636) found -(24637) found -[13151] Forked 24638 -[13150] Forked 24639 -(24638) found -(24639) found -[13149] Forked 24640 -[13148] Forked 24641 -(24640) found -(24641) found -[13147] Forked 24642 -[13146] Forked 24643 -(24642) found -(24643) found -[13145] Forked 24644 -[13144] Forked 24645 -(24644) found -(24645) found -[13143] Forked 24646 -[13142] Forked 24647 -(24646) found -(24647) found -[13141] Forked 24648 -[13140] Forked 24649 -(24648) found -(24649) found -[13139] Forked 24650 -(24650) found -[13138] Forked 24651 -(24651) found -[13137] Forked 24652 -(24652) found -[13136] Forked 24653 -(24653) found -[13135] Forked 24654 -(24654) found -[13134] Forked 24655 -(24655) found -[13133] Forked 24656 -(24656) found -[13132] Forked 24657 -(24657) found -[13131] Forked 24658 -(24658) found -[13130] Forked 24659 -(24659) found -[13129] Forked 24660 -(24660) found -[13128] Forked 24661 -(24661) found -[13127] Forked 24662 -(24662) found -[13126] Forked 24663 -(24663) found -[13125] Forked 24664 -(24664) found -[13124] Forked 24665 -(24665) found -[13123] Forked 24666 -(24666) found -[13122] Forked 24667 -(24667) found -[13121] Forked 24668 -(24668) found -[13120] Forked 24669 -(24669) found -[13119] Forked 24670 -(24670) found -[13118] Forked 24671 -(24671) found -[13117] Forked 24672 -(24672) found -[13116] Forked 24673 -(24673) found -[13115] Forked 24674 -(24674) found -[13114] Forked 24675 -(24675) found -[13113] Forked 24676 -(24676) found -[13112] Forked 24677 -(24677) found -[13111] Forked 24678 -(24678) found -[13110] Forked 24679 -(24679) found -[13109] Forked 24680 -(24680) found -[13108] Forked 24681 -(24681) found -[13107] Forked 24682 -(24682) found -[13106] Forked 24683 -(24683) found -[13105] Forked 24684 -(24684) found -[13104] Forked 24685 -(24685) found -[13103] Forked 24686 -(24686) found -[13102] Forked 24687 -(24687) found -[13101] Forked 24688 -[13100] Forked 24689 -(24688) found -(24689) found -[13099] Forked 24690 -[13098] Forked 24691 -(24690) found -(24691) found -[13097] Forked 24692 -[13096] Forked 24693 -(24692) found -(24693) found -[13095] Forked 24694 -[13094] Forked 24695 -(24694) found -(24695) found -[13093] Forked 24696 -[13092] Forked 24697 -(24696) found -(24697) found -[13091] Forked 24698 -[13090] Forked 24699 -(24698) found -(24699) found -[13089] Forked 24700 -[13088] Forked 24701 -(24700) found -(24701) found -[13087] Forked 24702 -[13086] Forked 24703 -(24702) found -(24703) found -[13085] Forked 24704 -[13084] Forked 24705 -(24704) found -(24705) found -[13083] Forked 24706 -[13082] Forked 24707 -(24706) found -(24707) found -[13081] Forked 24708 -[13080] Forked 24709 -(24708) found -(24709) found -[13079] Forked 24710 -[13078] Forked 24711 -(24710) found -(24711) found -[13077] Forked 24712 -[13076] Forked 24713 -(24712) found -(24713) found -[13075] Forked 24714 -[13074] Forked 24715 -(24714) found -(24715) found -[13073] Forked 24716 -[13072] Forked 24717 -(24716) found -(24717) found -[13071] Forked 24718 -[13070] Forked 24719 -(24718) found -(24719) found -[13069] Forked 24720 -[13068] Forked 24721 -(24721) found -(24720) found -[13067] Forked 24722 -(24722) found -[13066] Forked 24723 -(24723) found -[13065] Forked 24724 -(24724) found -[13064] Forked 24725 -(24725) found -[13063] Forked 24726 -[13062] Forked 24727 -(24726) found -(24727) found -[13061] Forked 24728 -[13060] Forked 24729 -(24728) found -(24729) found -[13059] Forked 24730 -[13058] Forked 24731 -(24730) found -(24731) found -[13057] Forked 24732 -[13056] Forked 24733 -(24732) found -(24733) found -[13055] Forked 24734 -[13054] Forked 24735 -(24734) found -(24735) found -[13053] Forked 24736 -[13052] Forked 24737 -(24736) found -(24737) found -[13051] Forked 24738 -[13050] Forked 24739 -(24738) found -(24739) found -[13049] Forked 24740 -[13048] Forked 24741 -(24740) found -(24741) found -[13047] Forked 24742 -[13046] Forked 24743 -(24742) found -(24743) found -[13045] Forked 24744 -[13044] Forked 24745 -(24744) found -(24745) found -[13043] Forked 24746 -[13042] Forked 24747 -(24746) found -(24747) found -[13041] Forked 24748 -[13040] Forked 24749 -(24748) found -(24749) found -[13039] Forked 24750 -[13038] Forked 24751 -(24750) found -(24751) found -[13037] Forked 24752 -[13036] Forked 24753 -(24752) found -(24753) found -[13035] Forked 24754 -[13034] Forked 24755 -(24754) found -(24755) found -[13033] Forked 24756 -[13032] Forked 24757 -(24756) found -(24757) found -[13031] Forked 24758 -[13030] Forked 24759 -(24758) found -(24759) found -[13029] Forked 24760 -[13028] Forked 24761 -(24760) found -(24761) found -[13027] Forked 24762 -[13026] Forked 24763 -(24762) found -(24763) found -[13025] Forked 24764 -[13024] Forked 24765 -(24764) found -(24765) found -[13023] Forked 24766 -[13022] Forked 24767 -(24766) found -(24767) found -[13021] Forked 24768 -[13020] Forked 24769 -(24768) found -(24769) found -[13019] Forked 24770 -[13018] Forked 24771 -(24770) found -(24771) found -[13017] Forked 24772 -[13016] Forked 24773 -(24772) found -(24773) found -[13015] Forked 24774 -(24774) found -[13014] Forked 24775 -(24775) found -[13013] Forked 24776 -(24776) found -[13012] Forked 24777 -(24777) found -[13011] Forked 24778 -(24778) found -[13010] Forked 24779 -(24779) found -[13009] Forked 24780 -(24780) found -[13008] Forked 24781 -(24781) found -[13007] Forked 24782 -(24782) found -[13006] Forked 24783 -(24783) found -[13005] Forked 24784 -(24784) found -[13004] Forked 24785 -(24785) found -[13003] Forked 24786 -(24786) found -[13002] Forked 24787 -(24787) found -[13001] Forked 24788 -(24788) found -[13000] Forked 24789 -(24789) found -[12999] Forked 24790 -(24790) found -[12998] Forked 24791 -(24791) found -[12997] Forked 24792 -(24792) found -[12996] Forked 24793 -(24793) found -[12995] Forked 24794 -(24794) found -[12994] Forked 24795 -(24795) found -[12993] Forked 24796 -(24796) found -[12992] Forked 24797 -(24797) found -[12991] Forked 24798 -(24798) found -[12990] Forked 24799 -(24799) found -[12989] Forked 24800 -(24800) found -[12988] Forked 24801 -(24801) found -[12987] Forked 24802 -(24802) found -[12986] Forked 24803 -(24803) found -[12985] Forked 24804 -(24804) found -[12984] Forked 24805 -(24805) found -[12983] Forked 24806 -(24806) found -[12982] Forked 24807 -(24807) found -[12981] Forked 24808 -(24808) found -[12980] Forked 24809 -[12979] Forked 24810 -(24809) found -(24810) found -[12978] Forked 24811 -[12977] Forked 24812 -(24811) found -(24812) found -[12976] Forked 24813 -[12975] Forked 24814 -(24813) found -(24814) found -[12974] Forked 24815 -[12973] Forked 24816 -(24815) found -(24816) found -[12972] Forked 24817 -[12971] Forked 24818 -(24817) found -(24818) found -[12970] Forked 24819 -[12969] Forked 24820 -(24819) found -(24820) found -[12968] Forked 24821 -[12967] Forked 24822 -(24821) found -(24822) found -[12966] Forked 24823 -[12965] Forked 24824 -(24823) found -(24824) found -[12964] Forked 24825 -[12963] Forked 24826 -(24825) found -(24826) found -[12962] Forked 24827 -[12961] Forked 24828 -(24827) found -(24828) found -[12960] Forked 24829 -[12959] Forked 24830 -(24829) found -(24830) found -[12958] Forked 24831 -[12957] Forked 24832 -(24831) found -(24832) found -[12956] Forked 24833 -[12955] Forked 24834 -(24833) found -(24834) found -[12954] Forked 24835 -[12953] Forked 24836 -(24835) found -(24836) found -[12952] Forked 24837 -[12951] Forked 24838 -(24837) found -(24838) found -[12950] Forked 24839 -[12949] Forked 24840 -(24839) found -(24840) found -[12948] Forked 24841 -[12947] Forked 24842 -(24841) found -(24842) found -[12946] Forked 24843 -[12945] Forked 24844 -(24843) found -(24844) found -[12944] Forked 24845 -[12943] Forked 24846 -(24845) found -(24846) found -[12942] Forked 24847 -[12941] Forked 24848 -(24847) found -(24848) found -[12940] Forked 24849 -[12939] Forked 24850 -(24849) found -(24850) found -[12938] Forked 24851 -[12937] Forked 24852 -(24851) found -(24852) found -[12936] Forked 24853 -[12935] Forked 24854 -(24853) found -(24854) found -[12934] Forked 24855 -(24855) found -[12933] Forked 24856 -(24856) found -[12932] Forked 24857 -(24857) found -[12931] Forked 24858 -(24858) found -[12930] Forked 24859 -(24859) found -[12929] Forked 24860 -(24860) found -[12928] Forked 24861 -(24861) found -[12927] Forked 24862 -(24862) found -[12926] Forked 24863 -(24863) found -[12925] Forked 24864 -(24864) found -[12924] Forked 24865 -(24865) found -[12923] Forked 24866 -(24866) found -[12922] Forked 24867 -(24867) found -[12921] Forked 24868 -(24868) found -[12920] Forked 24869 -(24869) found -[12919] Forked 24870 -(24870) found -[12918] Forked 24871 -(24871) found -[12917] Forked 24872 -(24872) found -[12916] Forked 24873 -(24873) found -[12915] Forked 24874 -(24874) found -[12914] Forked 24875 -(24875) found -[12913] Forked 24876 -(24876) found -[12912] Forked 24877 -(24877) found -[12911] Forked 24878 -(24878) found -[12910] Forked 24879 -(24879) found -[12909] Forked 24880 -(24880) found -[12908] Forked 24881 -(24881) found -[12907] Forked 24882 -(24882) found -[12906] Forked 24883 -(24883) found -[12905] Forked 24884 -(24884) found -[12904] Forked 24885 -(24885) found -[12903] Forked 24886 -(24886) found -[12902] Forked 24887 -(24887) found -[12901] Forked 24888 -(24888) found -[12900] Forked 24889 -(24889) found -[12899] Forked 24890 -[12898] Forked 24891 -(24890) found -(24891) found -[12897] Forked 24892 -[12896] Forked 24893 -(24892) found -(24893) found -[12895] Forked 24894 -[12894] Forked 24895 -(24894) found -(24895) found -[12893] Forked 24896 -[12892] Forked 24897 -(24896) found -(24897) found -[12891] Forked 24898 -[12890] Forked 24899 -(24898) found -(24899) found -[12889] Forked 24900 -[12888] Forked 24901 -(24900) found -(24901) found -[12887] Forked 24902 -[12886] Forked 24903 -(24902) found -(24903) found -[12885] Forked 24904 -[12884] Forked 24905 -(24904) found -(24905) found -[12883] Forked 24906 -[12882] Forked 24907 -(24906) found -(24907) found -[12881] Forked 24908 -[12880] Forked 24909 -(24908) found -(24909) found -[12879] Forked 24910 -[12878] Forked 24911 -(24910) found -(24911) found -[12877] Forked 24912 -[12876] Forked 24913 -(24912) found -(24913) found -[12875] Forked 24914 -[12874] Forked 24915 -(24914) found -(24915) found -[12873] Forked 24916 -[12872] Forked 24917 -(24916) found -(24917) found -[12871] Forked 24918 -[12870] Forked 24919 -(24918) found -(24919) found -[12869] Forked 24920 -[12868] Forked 24921 -(24920) found -(24921) found -[12867] Forked 24922 -[12866] Forked 24923 -(24922) found -(24923) found -[12865] Forked 24924 -[12864] Forked 24925 -(24924) found -(24925) found -[12863] Forked 24926 -[12862] Forked 24927 -(24926) found -(24927) found -[12861] Forked 24928 -[12860] Forked 24929 -(24928) found -(24929) found -[12859] Forked 24930 -[12858] Forked 24931 -(24930) found -(24931) found -[12857] Forked 24932 -[12856] Forked 24933 -(24932) found -(24933) found -[12855] Forked 24934 -[12854] Forked 24935 -(24934) found -(24935) found -[12853] Forked 24936 -[12852] Forked 24937 -(24936) found -(24937) found -[12851] Forked 24938 -[12850] Forked 24939 -(24938) found -(24939) found -[12849] Forked 24940 -[12848] Forked 24941 -(24940) found -(24941) found -[12847] Forked 24942 -[12846] Forked 24943 -(24942) found -(24943) found -[12845] Forked 24944 -[12844] Forked 24945 -(24944) found -(24945) found -[12843] Forked 24946 -[12842] Forked 24947 -(24946) found -(24947) found -[12841] Forked 24948 -(24948) found -[12840] Forked 24949 -(24949) found -[12839] Forked 24950 -[12838] Forked 24951 -(24950) found -(24951) found -[12837] Forked 24952 -[12836] Forked 24953 -(24952) found -(24953) found -[12835] Forked 24954 -[12834] Forked 24955 -(24954) found -(24955) found -[12833] Forked 24956 -[12832] Forked 24957 -(24956) found -(24957) found -[12831] Forked 24958 -[12830] Forked 24959 -(24958) found -(24959) found -[12829] Forked 24960 -[12828] Forked 24961 -(24960) found -(24961) found -[12827] Forked 24962 -[12826] Forked 24963 -(24962) found -(24963) found -[12825] Forked 24964 -[12824] Forked 24965 -(24964) found -(24965) found -[12823] Forked 24966 -[12822] Forked 24967 -(24966) found -(24967) found -[12821] Forked 24968 -[12820] Forked 24969 -(24968) found -(24969) found -[12819] Forked 24970 -[12818] Forked 24971 -(24970) found -(24971) found -[12817] Forked 24972 -[12816] Forked 24973 -(24972) found -(24973) found -[12815] Forked 24974 -[12814] Forked 24975 -(24974) found -(24975) found -[12813] Forked 24976 -[12812] Forked 24977 -(24976) found -(24977) found -[12811] Forked 24978 -[12810] Forked 24979 -(24978) found -(24979) found -[12809] Forked 24980 -[12808] Forked 24981 -(24980) found -(24981) found -[12807] Forked 24982 -[12806] Forked 24983 -(24982) found -(24983) found -[12805] Forked 24984 -[12804] Forked 24985 -(24984) found -(24985) found -[12803] Forked 24986 -[12802] Forked 24987 -(24986) found -(24987) found -[12801] Forked 24988 -[12800] Forked 24989 -(24988) found -(24989) found -[12799] Forked 24990 -[12798] Forked 24991 -(24990) found -(24991) found -[12797] Forked 24992 -[12796] Forked 24993 -(24992) found -(24993) found -[12795] Forked 24994 -[12794] Forked 24996 -(24994) found -(24996) found -[12793] Forked 24997 -[12792] Forked 24998 -(24997) found -(24998) found -[12791] Forked 24999 -[12790] Forked 25000 -(24999) found -(25000) found -[12789] Forked 25001 -[12788] Forked 25002 -(25001) found -(25002) found -[12787] Forked 25003 -[12786] Forked 25004 -(25003) found -(25004) found -[12785] Forked 25005 -[12784] Forked 25006 -(25005) found -(25006) found -[12783] Forked 25007 -[12782] Forked 25008 -(25007) found -(25008) found -[12781] Forked 25009 -[12780] Forked 25010 -(25009) found -(25010) found -[12779] Forked 25011 -[12778] Forked 25012 -(25011) found -(25012) found -[12777] Forked 25013 -[12776] Forked 25014 -(25013) found -(25014) found -[12775] Forked 25015 -[12774] Forked 25016 -(25015) found -(25016) found -[12773] Forked 25017 -[12772] Forked 25018 -(25017) found -(25018) found -[12771] Forked 25019 -[12770] Forked 25020 -(25019) found -(25020) found -[12769] Forked 25021 -[12768] Forked 25023 -(25021) found -(25023) found -[12767] Forked 25024 -(25024) found -[12766] Forked 25025 -(25025) found -[12765] Forked 25026 -(25026) found -[12764] Forked 25027 -(25027) found -[12763] Forked 25028 -(25028) found -[12762] Forked 25029 -(25029) found -[12761] Forked 25030 -(25030) found -[12760] Forked 25031 -(25031) found -[12759] Forked 25032 -(25032) found -[12758] Forked 25033 -(25033) found -[12757] Forked 25034 -(25034) found -[12756] Forked 25035 -(25035) found -[12755] Forked 25036 -(25036) found -[12754] Forked 25037 -(25037) found -[12753] Forked 25038 -(25038) found -[12752] Forked 25039 -(25039) found -[12751] Forked 25040 -(25040) found -[12750] Forked 25041 -(25041) found -[12749] Forked 25042 -(25042) found -[12748] Forked 25043 -(25043) found -[12747] Forked 25044 -(25044) found -[12746] Forked 25045 -(25045) found -[12745] Forked 25046 -(25046) found -[12744] Forked 25047 -(25047) found -[12743] Forked 25048 -(25048) found -[12742] Forked 25049 -(25049) found -[12741] Forked 25050 -(25050) found -[12740] Forked 25051 -(25051) found -[12739] Forked 25052 -(25052) found -[12738] Forked 25053 -(25053) found -[12737] Forked 25054 -(25054) found -[12736] Forked 25055 -(25055) found -[12735] Forked 25056 -(25056) found -[12734] Forked 25057 -(25057) found -[12733] Forked 25058 -(25058) found -[12732] Forked 25059 -(25059) found -[12731] Forked 25060 -(25060) found -[12730] Forked 25061 -(25061) found -[12729] Forked 25062 -[12728] Forked 25063 -(25063) found -(25062) found -[12727] Forked 25064 -(25064) found -[12726] Forked 25065 -(25065) found -[12725] Forked 25066 -(25066) found -[12724] Forked 25067 -(25067) found -[12723] Forked 25068 -(25068) found -[12722] Forked 25069 -(25069) found -[12721] Forked 25070 -(25070) found -[12720] Forked 25071 -(25071) found -[12719] Forked 25072 -(25072) found -[12718] Forked 25073 -(25073) found -[12717] Forked 25074 -(25074) found -[12716] Forked 25075 -(25075) found -[12715] Forked 25076 -(25076) found -[12714] Forked 25077 -(25077) found -[12713] Forked 25078 -(25078) found -[12712] Forked 25079 -(25079) found -[12711] Forked 25080 -(25080) found -[12710] Forked 25081 -(25081) found -[12709] Forked 25082 -(25082) found -[12708] Forked 25083 -(25083) found -[12707] Forked 25084 -(25084) found -[12706] Forked 25085 -(25085) found -[12705] Forked 25086 -(25086) found -[12704] Forked 25087 -(25087) found -[12703] Forked 25088 -(25088) found -[12702] Forked 25089 -(25089) found -[12701] Forked 25090 -(25090) found -[12700] Forked 25091 -(25091) found -[12699] Forked 25092 -(25092) found -[12698] Forked 25093 -(25093) found -[12697] Forked 25094 -(25094) found -[12696] Forked 25095 -(25095) found -[12695] Forked 25096 -(25096) found -[12694] Forked 25097 -(25097) found -[12693] Forked 25098 -(25098) found -[12692] Forked 25099 -(25099) found -[12691] Forked 25100 -(25100) found -[12690] Forked 25101 -(25101) found -[12689] Forked 25102 -(25102) found -[12688] Forked 25103 -(25103) found -[12687] Forked 25104 -(25104) found -[12686] Forked 25105 -(25105) found -[12685] Forked 25106 -(25106) found -[12684] Forked 25107 -(25107) found -[12683] Forked 25108 -(25108) found -[12682] Forked 25109 -(25109) found -[12681] Forked 25110 -(25110) found -[12680] Forked 25111 -(25111) found -[12679] Forked 25112 -(25112) found -[12678] Forked 25113 -(25113) found -[12677] Forked 25114 -(25114) found -[12676] Forked 25115 -(25115) found -[12675] Forked 25116 -(25116) found -[12674] Forked 25117 -(25117) found -[12673] Forked 25118 -(25118) found -[12672] Forked 25119 -(25119) found -[12671] Forked 25120 -(25120) found -[12670] Forked 25121 -(25121) found -[12669] Forked 25122 -(25122) found -[12668] Forked 25123 -(25123) found -[12667] Forked 25124 -(25124) found -[12666] Forked 25125 -(25125) found -[12665] Forked 25126 -(25126) found -[12664] Forked 25127 -(25127) found -[12663] Forked 25128 -(25128) found -[12662] Forked 25129 -(25129) found -[12661] Forked 25130 -(25130) found -[12660] Forked 25131 -(25131) found -[12659] Forked 25132 -[12658] Forked 25133 -(25132) found -(25133) found -[12657] Forked 25134 -[12656] Forked 25135 -(25134) found -(25135) found -[12655] Forked 25136 -[12654] Forked 25137 -(25136) found -(25137) found -[12653] Forked 25138 -[12652] Forked 25139 -(25138) found -(25139) found -[12651] Forked 25140 -[12650] Forked 25141 -(25140) found -(25141) found -[12649] Forked 25142 -[12648] Forked 25143 -(25142) found -(25143) found -[12647] Forked 25144 -[12646] Forked 25145 -(25144) found -(25145) found -[12645] Forked 25146 -[12644] Forked 25147 -(25146) found -(25147) found -[12643] Forked 25148 -[12642] Forked 25149 -(25148) found -(25149) found -[12641] Forked 25150 -[12640] Forked 25151 -(25150) found -(25151) found -[12639] Forked 25152 -[12638] Forked 25153 -(25152) found -(25153) found -[12637] Forked 25154 -[12636] Forked 25155 -(25154) found -(25155) found -[12635] Forked 25156 -[12634] Forked 25157 -(25156) found -(25157) found -[12633] Forked 25158 -[12632] Forked 25159 -(25158) found -(25159) found -[12631] Forked 25160 -[12630] Forked 25161 -(25160) found -(25161) found -[12629] Forked 25162 -[12628] Forked 25163 -(25162) found -(25163) found -[12627] Forked 25164 -[12626] Forked 25165 -(25164) found -(25165) found -[12625] Forked 25166 -[12624] Forked 25167 -(25166) found -(25167) found -[12623] Forked 25168 -[12622] Forked 25169 -(25168) found -(25169) found -[12621] Forked 25170 -[12620] Forked 25171 -(25170) found -(25171) found -[12619] Forked 25172 -[12618] Forked 25173 -(25172) found -(25173) found -[12617] Forked 25174 -[12616] Forked 25175 -(25174) found -(25175) found -[12615] Forked 25176 -[12614] Forked 25177 -(25176) found -(25177) found -[12613] Forked 25178 -[12612] Forked 25179 -(25178) found -(25179) found -[12611] Forked 25180 -[12610] Forked 25181 -(25180) found -(25181) found -[12609] Forked 25182 -[12608] Forked 25183 -(25182) found -(25183) found -[12607] Forked 25184 -[12606] Forked 25185 -(25184) found -(25185) found -[12605] Forked 25186 -[12604] Forked 25187 -(25186) found -(25187) found -[12603] Forked 25188 -[12602] Forked 25189 -(25188) found -(25189) found -[12601] Forked 25190 -[12600] Forked 25191 -(25190) found -(25191) found -[12599] Forked 25192 -[12598] Forked 25193 -(25192) found -(25193) found -[12597] Forked 25194 -[12596] Forked 25195 -(25194) found -(25195) found -[12595] Forked 25196 -[12594] Forked 25197 -(25196) found -(25197) found -[12593] Forked 25198 -[12592] Forked 25199 -(25198) found -(25199) found -[12591] Forked 25200 -[12590] Forked 25201 -(25200) found -(25201) found -[12589] Forked 25202 -[12588] Forked 25203 -(25202) found -(25203) found -[12587] Forked 25204 -[12586] Forked 25205 -(25204) found -(25205) found -[12585] Forked 25206 -[12584] Forked 25207 -(25206) found -(25207) found -[12583] Forked 25208 -[12582] Forked 25209 -(25208) found -(25209) found -[12581] Forked 25210 -[12580] Forked 25211 -(25210) found -(25211) found -[12579] Forked 25212 -[12578] Forked 25213 -(25212) found -(25213) found -[12577] Forked 25214 -[12576] Forked 25215 -(25214) found -(25215) found -[12575] Forked 25216 -[12574] Forked 25217 -(25216) found -(25217) found -[12573] Forked 25218 -[12572] Forked 25219 -(25218) found -(25219) found -[12571] Forked 25220 -[12570] Forked 25221 -(25220) found -(25221) found -[12569] Forked 25222 -[12568] Forked 25223 -(25222) found -(25223) found -[12567] Forked 25224 -(25224) found -[12566] Forked 25225 -(25225) found -[12565] Forked 25226 -(25226) found -[12564] Forked 25227 -(25227) found -[12563] Forked 25228 -(25228) found -[12562] Forked 25229 -(25229) found -[12561] Forked 25230 -(25230) found -[12560] Forked 25231 -(25231) found -[12559] Forked 25232 -(25232) found -[12558] Forked 25233 -(25233) found -[12557] Forked 25234 -(25234) found -[12556] Forked 25235 -(25235) found -[12555] Forked 25236 -(25236) found -[12554] Forked 25237 -(25237) found -[12553] Forked 25238 -(25238) found -[12552] Forked 25239 -(25239) found -[12551] Forked 25240 -(25240) found -[12550] Forked 25241 -(25241) found -[12549] Forked 25242 -(25242) found -[12548] Forked 25243 -(25243) found -[12547] Forked 25244 -(25244) found -[12546] Forked 25245 -(25245) found -[12545] Forked 25246 -(25246) found -[12544] Forked 25247 -(25247) found -[12543] Forked 25248 -(25248) found -[12542] Forked 25249 -(25249) found -[12541] Forked 25250 -(25250) found -[12540] Forked 25251 -(25251) found -[12539] Forked 25252 -(25252) found -[12538] Forked 25253 -(25253) found -[12537] Forked 25254 -(25254) found -[12536] Forked 25255 -(25255) found -[12535] Forked 25256 -(25256) found -[12534] Forked 25257 -(25257) found -[12533] Forked 25258 -(25258) found -[12532] Forked 25259 -(25259) found -[12531] Forked 25260 -(25260) found -[12530] Forked 25261 -[12529] Forked 25262 -(25261) found -(25262) found -[12528] Forked 25263 -[12527] Forked 25264 -(25263) found -(25264) found -[12526] Forked 25265 -[12525] Forked 25266 -(25265) found -(25266) found -[12524] Forked 25267 -[12523] Forked 25268 -(25267) found -(25268) found -[12522] Forked 25269 -[12521] Forked 25270 -(25269) found -(25270) found -[12520] Forked 25271 -[12519] Forked 25273 -(25271) found -(25273) found -[12518] Forked 25274 -(25274) found -[12517] Forked 25275 -(25275) found -[12516] Forked 25276 -(25276) found -[12515] Forked 25277 -(25277) found -[12514] Forked 25278 -(25278) found -[12513] Forked 25279 -(25279) found -[12512] Forked 25280 -(25280) found -[12511] Forked 25281 -(25281) found -[12510] Forked 25282 -(25282) found -[12509] Forked 25283 -(25283) found -[12508] Forked 25284 -(25284) found -[12507] Forked 25285 -(25285) found -[12506] Forked 25286 -(25286) found -[12505] Forked 25287 -(25287) found -[12504] Forked 25288 -(25288) found -[12503] Forked 25289 -(25289) found -[12502] Forked 25290 -(25290) found -[12501] Forked 25291 -(25291) found -[12500] Forked 25292 -(25292) found -[12499] Forked 25293 -[12498] Forked 25294 -(25293) found -(25294) found -[12497] Forked 25295 -[12496] Forked 25296 -(25295) found -(25296) found -[12495] Forked 25297 -[12494] Forked 25298 -(25297) found -(25298) found -[12493] Forked 25299 -[12492] Forked 25300 -(25299) found -(25300) found -[12491] Forked 25301 -[12490] Forked 25302 -(25301) found -(25302) found -[12489] Forked 25303 -[12488] Forked 25304 -(25303) found -(25304) found -[12487] Forked 25305 -[12486] Forked 25306 -(25305) found -(25306) found -[12485] Forked 25307 -[12484] Forked 25308 -(25307) found -(25308) found -[12483] Forked 25309 -[12482] Forked 25310 -(25309) found -(25310) found -[12481] Forked 25311 -[12480] Forked 25312 -(25311) found -(25312) found -[12479] Forked 25313 -[12478] Forked 25314 -(25313) found -(25314) found -[12477] Forked 25315 -[12476] Forked 25316 -(25315) found -(25316) found -[12475] Forked 25317 -[12474] Forked 25318 -(25317) found -(25318) found -[12473] Forked 25319 -[12472] Forked 25320 -(25319) found -(25320) found -[12471] Forked 25321 -[12470] Forked 25322 -(25321) found -(25322) found -[12469] Forked 25323 -[12468] Forked 25324 -(25323) found -(25324) found -[12467] Forked 25325 -[12466] Forked 25326 -(25325) found -(25326) found -[12465] Forked 25327 -[12464] Forked 25328 -(25327) found -(25328) found -[12463] Forked 25329 -[12462] Forked 25330 -(25329) found -(25330) found -[12461] Forked 25331 -[12460] Forked 25332 -(25331) found -(25332) found -[12459] Forked 25333 -[12458] Forked 25334 -(25333) found -(25334) found -[12457] Forked 25335 -[12456] Forked 25336 -(25335) found -(25336) found -[12455] Forked 25337 -[12454] Forked 25338 -(25337) found -(25338) found -[12453] Forked 25339 -[12452] Forked 25340 -(25339) found -(25340) found -[12451] Forked 25341 -[12450] Forked 25342 -(25341) found -(25342) found -[12449] Forked 25343 -[12448] Forked 25344 -(25343) found -(25344) found -[12447] Forked 25345 -(25345) found -[12446] Forked 25346 -(25346) found -[12445] Forked 25347 -(25347) found -[12444] Forked 25348 -(25348) found -[12443] Forked 25349 -(25349) found -[12442] Forked 25350 -(25350) found -[12441] Forked 25351 -(25351) found -[12440] Forked 25352 -(25352) found -[12439] Forked 25353 -(25353) found -[12438] Forked 25354 -(25354) found -[12437] Forked 25355 -(25355) found -[12436] Forked 25356 -(25356) found -[12435] Forked 25357 -(25357) found -[12434] Forked 25358 -(25358) found -[12433] Forked 25359 -(25359) found -[12432] Forked 25360 -(25360) found -[12431] Forked 25361 -(25361) found -[12430] Forked 25362 -(25362) found -[12429] Forked 25363 -(25363) found -[12428] Forked 25364 -(25364) found -[12427] Forked 25365 -(25365) found -[12426] Forked 25366 -(25366) found -[12425] Forked 25367 -(25367) found -[12424] Forked 25368 -(25368) found -[12423] Forked 25369 -(25369) found -[12422] Forked 25370 -(25370) found -[12421] Forked 25371 -(25371) found -[12420] Forked 25372 -(25372) found -[12419] Forked 25373 -(25373) found -[12418] Forked 25374 -(25374) found -[12417] Forked 25375 -(25375) found -[12416] Forked 25376 -(25376) found -[12415] Forked 25377 -(25377) found -[12414] Forked 25378 -(25378) found -[12413] Forked 25379 -(25379) found -[12412] Forked 25380 -(25380) found -[12411] Forked 25381 -[12410] Forked 25382 -(25381) found -(25382) found -[12409] Forked 25383 -(25383) found -[12408] Forked 25384 -(25384) found -[12407] Forked 25385 -(25385) found -[12406] Forked 25386 -(25386) found -[12405] Forked 25387 -(25387) found -[12404] Forked 25388 -(25388) found -[12403] Forked 25389 -(25389) found -[12402] Forked 25390 -[12401] Forked 25391 -(25390) found -(25391) found -[12400] Forked 25392 -[12399] Forked 25393 -(25392) found -(25393) found -[12398] Forked 25394 -[12397] Forked 25395 -(25394) found -(25395) found -[12396] Forked 25396 -[12395] Forked 25397 -(25396) found -(25397) found -[12394] Forked 25398 -[12393] Forked 25399 -(25398) found -(25399) found -[12392] Forked 25400 -[12391] Forked 25401 -(25400) found -(25401) found -[12390] Forked 25402 -[12389] Forked 25403 -(25402) found -(25403) found -[12388] Forked 25404 -[12387] Forked 25405 -(25404) found -(25405) found -[12386] Forked 25406 -[12385] Forked 25407 -(25406) found -(25407) found -[12384] Forked 25408 -[12383] Forked 25409 -(25408) found -(25409) found -[12382] Forked 25410 -[12381] Forked 25411 -(25410) found -(25411) found -[12380] Forked 25412 -[12379] Forked 25413 -(25412) found -(25413) found -[12378] Forked 25414 -[12377] Forked 25416 -(25414) found -(25416) found -[12376] Forked 25417 -[12375] Forked 25418 -(25417) found -(25418) found -[12374] Forked 25419 -[12373] Forked 25420 -(25419) found -(25420) found -[12372] Forked 25421 -[12371] Forked 25422 -(25421) found -(25422) found -[12370] Forked 25423 -[12369] Forked 25424 -(25423) found -(25424) found -[12368] Forked 25426 -[12367] Forked 25428 -(25426) found -(25428) found -[12366] Forked 25430 -[12365] Forked 25431 -(25430) found -(25431) found -[12364] Forked 25432 -[12363] Forked 25433 -(25432) found -(25433) found -[12362] Forked 25434 -[12361] Forked 25435 -(25434) found -(25435) found -[12360] Forked 25436 -[12359] Forked 25437 -(25436) found -(25437) found -[12358] Forked 25438 -[12357] Forked 25439 -(25438) found -(25439) found -[12356] Forked 25440 -[12355] Forked 25441 -(25440) found -(25441) found -[12354] Forked 25442 -[12353] Forked 25443 -(25442) found -(25443) found -[12352] Forked 25444 -[12351] Forked 25449 -(25444) found -(25449) found -[12350] Forked 25450 -[12349] Forked 25451 -(25450) found -(25451) found -[12348] Forked 25452 -[12347] Forked 25453 -(25452) found -(25453) found -[12346] Forked 25454 -[12345] Forked 25455 -(25454) found -(25455) found -[12344] Forked 25456 -[12343] Forked 25457 -(25456) found -(25457) found -[12342] Forked 25458 -[12341] Forked 25459 -(25458) found -(25459) found -[12340] Forked 25460 -[12339] Forked 25461 -(25460) found -(25461) found -[12338] Forked 25462 -[12337] Forked 25463 -(25462) found -(25463) found -[12336] Forked 25464 -[12335] Forked 25465 -(25464) found -(25465) found -[12334] Forked 25466 -[12333] Forked 25467 -(25466) found -(25467) found -[12332] Forked 25468 -[12331] Forked 25469 -(25468) found -(25469) found -[12330] Forked 25470 -[12329] Forked 25471 -(25470) found -(25471) found -[12328] Forked 25472 -[12327] Forked 25474 -(25472) found -(25474) found -[12326] Forked 25475 -(25475) found -[12325] Forked 25476 -(25476) found -[12324] Forked 25477 -(25477) found -[12323] Forked 25478 -(25478) found -[12322] Forked 25479 -(25479) found -[12321] Forked 25480 -(25480) found -[12320] Forked 25481 -(25481) found -[12319] Forked 25482 -(25482) found -[12318] Forked 25483 -(25483) found -[12317] Forked 25484 -(25484) found -[12316] Forked 25485 -(25485) found -[12315] Forked 25486 -(25486) found -[12314] Forked 25487 -(25487) found -[12313] Forked 25488 -(25488) found -[12312] Forked 25489 -(25489) found -[12311] Forked 25490 -(25490) found -[12310] Forked 25491 -(25491) found -[12309] Forked 25492 -(25492) found -[12308] Forked 25493 -(25493) found -[12307] Forked 25494 -(25494) found -[12306] Forked 25495 -(25495) found -[12305] Forked 25496 -(25496) found -[12304] Forked 25497 -(25497) found -[12303] Forked 25498 -(25498) found -[12302] Forked 25499 -(25499) found -[12301] Forked 25500 -(25500) found -[12300] Forked 25501 -(25501) found -[12299] Forked 25502 -(25502) found -[12298] Forked 25503 -(25503) found -[12297] Forked 25504 -(25504) found -[12296] Forked 25505 -(25505) found -[12295] Forked 25506 -(25506) found -[12294] Forked 25507 -(25507) found -[12293] Forked 25508 -(25508) found -[12292] Forked 25509 -(25509) found -[12291] Forked 25510 -(25510) found -[12290] Forked 25511 -(25511) found -[12289] Forked 25512 -(25512) found -[12288] Forked 25513 -(25513) found -[12287] Forked 25514 -[12286] Forked 25515 -(25514) found -(25515) found -[12285] Forked 25516 -[12284] Forked 25517 -(25516) found -(25517) found -[12283] Forked 25518 -[12282] Forked 25519 -(25518) found -(25519) found -[12281] Forked 25520 -[12280] Forked 25521 -(25520) found -(25521) found -[12279] Forked 25522 -[12278] Forked 25523 -(25522) found -(25523) found -[12277] Forked 25524 -[12276] Forked 25525 -(25524) found -(25525) found -[12275] Forked 25526 -[12274] Forked 25527 -(25526) found -(25527) found -[12273] Forked 25528 -[12272] Forked 25529 -(25528) found -(25529) found -[12271] Forked 25530 -[12270] Forked 25531 -(25530) found -(25531) found -[12269] Forked 25532 -[12268] Forked 25533 -(25532) found -(25533) found -[12267] Forked 25534 -[12266] Forked 25535 -(25534) found -(25535) found -[12265] Forked 25536 -[12264] Forked 25537 -(25536) found -(25537) found -[12263] Forked 25538 -[12262] Forked 25539 -(25538) found -(25539) found -[12261] Forked 25540 -[12260] Forked 25541 -(25540) found -(25541) found -[12259] Forked 25542 -[12258] Forked 25543 -(25542) found -(25543) found -[12257] Forked 25544 -[12256] Forked 25545 -(25544) found -(25545) found -[12255] Forked 25546 -[12254] Forked 25547 -(25546) found -(25547) found -[12253] Forked 25548 -[12252] Forked 25549 -(25548) found -(25549) found -[12251] Forked 25550 -[12250] Forked 25551 -(25550) found -(25551) found -[12249] Forked 25552 -[12248] Forked 25553 -(25552) found -(25553) found -[12247] Forked 25554 -[12246] Forked 25555 -(25554) found -(25555) found -[12245] Forked 25556 -[12244] Forked 25557 -(25556) found -(25557) found -[12243] Forked 25558 -(25558) found -[12242] Forked 25559 -(25559) found -[12241] Forked 25560 -(25560) found -[12240] Forked 25561 -(25561) found -[12239] Forked 25562 -(25562) found -[12238] Forked 25563 -(25563) found -[12237] Forked 25564 -(25564) found -[12236] Forked 25565 -(25565) found -[12235] Forked 25566 -(25566) found -[12234] Forked 25567 -(25567) found -[12233] Forked 25568 -(25568) found -[12232] Forked 25569 -(25569) found -[12231] Forked 25570 -(25570) found -[12230] Forked 25571 -(25571) found -[12229] Forked 25572 -(25572) found -[12228] Forked 25573 -(25573) found -[12227] Forked 25574 -(25574) found -[12226] Forked 25575 -(25575) found -[12225] Forked 25576 -(25576) found -[12224] Forked 25577 -(25577) found -[12223] Forked 25578 -(25578) found -[12222] Forked 25579 -(25579) found -[12221] Forked 25580 -(25580) found -[12220] Forked 25581 -(25581) found -[12219] Forked 25582 -(25582) found -[12218] Forked 25583 -(25583) found -[12217] Forked 25584 -(25584) found -[12216] Forked 25585 -(25585) found -[12215] Forked 25586 -(25586) found -[12214] Forked 25587 -(25587) found -[12213] Forked 25588 -(25588) found -[12212] Forked 25589 -(25589) found -[12211] Forked 25590 -(25590) found -[12210] Forked 25591 -(25591) found -[12209] Forked 25592 -(25592) found -[12208] Forked 25593 -(25593) found -[12207] Forked 25595 -(25595) found -[12206] Forked 25596 -(25596) found -[12205] Forked 25597 -(25597) found -[12204] Forked 25598 -(25598) found -[12203] Forked 25599 -(25599) found -[12202] Forked 25600 -(25600) found -[12201] Forked 25601 -(25601) found -[12200] Forked 25602 -(25602) found -[12199] Forked 25603 -(25603) found -[12198] Forked 25604 -(25604) found -[12197] Forked 25605 -(25605) found -[12196] Forked 25606 -(25606) found -[12195] Forked 25607 -(25607) found -[12194] Forked 25608 -(25608) found -[12193] Forked 25609 -(25609) found -[12192] Forked 25610 -(25610) found -[12191] Forked 25611 -(25611) found -[12190] Forked 25612 -(25612) found -[12189] Forked 25613 -(25613) found -[12188] Forked 25614 -(25614) found -[12187] Forked 25615 -(25615) found -[12186] Forked 25616 -(25616) found -[12185] Forked 25617 -(25617) found -[12184] Forked 25618 -(25618) found -[12183] Forked 25619 -(25619) found -[12182] Forked 25620 -(25620) found -[12181] Forked 25621 -(25621) found -[12180] Forked 25622 -(25622) found -[12179] Forked 25623 -(25623) found -[12178] Forked 25624 -(25624) found -[12177] Forked 25625 -(25625) found -[12176] Forked 25626 -(25626) found -[12175] Forked 25627 -(25627) found -[12174] Forked 25628 -(25628) found -[12173] Forked 25629 -(25629) found -[12172] Forked 25630 -(25630) found -[12171] Forked 25631 -(25631) found -[12170] Forked 25632 -(25632) found -[12169] Forked 25633 -(25633) found -[12168] Forked 25634 -(25634) found -[12167] Forked 25635 -(25635) found -[12166] Forked 25636 -[12165] Forked 25637 -(25636) found -(25637) found -[12164] Forked 25638 -[12163] Forked 25639 -(25638) found -(25639) found -[12162] Forked 25640 -[12161] Forked 25641 -(25640) found -(25641) found -[12160] Forked 25642 -[12159] Forked 25643 -(25642) found -(25643) found -[12158] Forked 25644 -[12157] Forked 25645 -(25644) found -(25645) found -[12156] Forked 25646 -[12155] Forked 25647 -(25646) found -(25647) found -[12154] Forked 25648 -[12153] Forked 25649 -(25648) found -(25649) found -[12152] Forked 25650 -[12151] Forked 25651 -(25650) found -(25651) found -[12150] Forked 25652 -[12149] Forked 25653 -(25652) found -(25653) found -[12148] Forked 25654 -[12147] Forked 25655 -(25654) found -(25655) found -[12146] Forked 25656 -[12145] Forked 25657 -(25656) found -(25657) found -[12144] Forked 25658 -[12143] Forked 25659 -(25658) found -(25659) found -[12142] Forked 25660 -[12141] Forked 25661 -(25660) found -(25661) found -[12140] Forked 25662 -[12139] Forked 25663 -(25662) found -(25663) found -[12138] Forked 25664 -[12137] Forked 25665 -(25664) found -(25665) found -[12136] Forked 25666 -[12135] Forked 25667 -(25666) found -(25667) found -[12134] Forked 25668 -[12133] Forked 25669 -(25668) found -(25669) found -[12132] Forked 25670 -[12131] Forked 25671 -(25670) found -(25671) found -[12130] Forked 25672 -[12129] Forked 25673 -(25672) found -(25673) found -[12128] Forked 25674 -[12127] Forked 25675 -(25674) found -(25675) found -[12126] Forked 25676 -[12125] Forked 25677 -(25676) found -(25677) found -[12124] Forked 25678 -[12123] Forked 25679 -(25678) found -(25679) found -[12122] Forked 25680 -[12121] Forked 25681 -(25680) found -(25681) found -[12120] Forked 25682 -[12119] Forked 25683 -(25682) found -(25683) found -[12118] Forked 25684 -[12117] Forked 25685 -(25684) found -(25685) found -[12116] Forked 25686 -[12115] Forked 25687 -(25686) found -(25687) found -[12114] Forked 25688 -[12113] Forked 25689 -(25688) found -(25689) found -[12112] Forked 25690 -[12111] Forked 25691 -(25690) found -(25691) found -[12110] Forked 25692 -[12109] Forked 25693 -(25692) found -(25693) found -[12108] Forked 25694 -[12107] Forked 25695 -(25694) found -(25695) found -[12106] Forked 25696 -[12105] Forked 25697 -(25696) found -(25697) found -[12104] Forked 25698 -[12103] Forked 25699 -(25698) found -(25699) found -[12102] Forked 25700 -[12101] Forked 25701 -(25700) found -(25701) found -[12100] Forked 25702 -[12099] Forked 25703 -(25702) found -(25703) found -[12098] Forked 25704 -[12097] Forked 25705 -(25704) found -(25705) found -[12096] Forked 25706 -[12095] Forked 25707 -(25706) found -(25707) found -[12094] Forked 25708 -[12093] Forked 25709 -(25708) found -(25709) found -[12092] Forked 25710 -[12091] Forked 25711 -(25710) found -(25711) found -[12090] Forked 25712 -[12089] Forked 25713 -(25712) found -(25713) found -[12088] Forked 25714 -[12087] Forked 25715 -(25714) found -(25715) found -[12086] Forked 25716 -[12085] Forked 25717 -(25716) found -(25717) found -[12084] Forked 25718 -[12083] Forked 25719 -(25718) found -(25719) found -[12082] Forked 25720 -[12081] Forked 25721 -(25720) found -(25721) found -[12080] Forked 25722 -[12079] Forked 25723 -(25722) found -(25723) found -[12078] Forked 25724 -[12077] Forked 25725 -(25724) found -(25725) found -[12076] Forked 25726 -(25726) found -[12075] Forked 25727 -(25727) found -[12074] Forked 25728 -(25728) found -[12073] Forked 25729 -(25729) found -[12072] Forked 25730 -(25730) found -[12071] Forked 25731 -(25731) found -[12070] Forked 25732 -(25732) found -[12069] Forked 25733 -(25733) found -[12068] Forked 25734 -(25734) found -[12067] Forked 25735 -(25735) found -[12066] Forked 25736 -(25736) found -[12065] Forked 25737 -(25737) found -[12064] Forked 25738 -(25738) found -[12063] Forked 25739 -(25739) found -[12062] Forked 25740 -(25740) found -[12061] Forked 25741 -(25741) found -[12060] Forked 25742 -(25742) found -[12059] Forked 25743 -(25743) found -[12058] Forked 25744 -(25744) found -[12057] Forked 25745 -(25745) found -[12056] Forked 25746 -(25746) found -[12055] Forked 25747 -(25747) found -[12054] Forked 25748 -(25748) found -[12053] Forked 25749 -(25749) found -[12052] Forked 25750 -(25750) found -[12051] Forked 25751 -(25751) found -[12050] Forked 25752 -(25752) found -[12049] Forked 25753 -(25753) found -[12048] Forked 25754 -(25754) found -[12047] Forked 25755 -(25755) found -[12046] Forked 25756 -(25756) found -[12045] Forked 25757 -(25757) found -[12044] Forked 25758 -(25758) found -[12043] Forked 25759 -(25759) found -[12042] Forked 25760 -(25760) found -[12041] Forked 25761 -(25761) found -[12040] Forked 25762 -(25762) found -[12039] Forked 25763 -(25763) found -[12038] Forked 25764 -[12037] Forked 25765 -(25764) found -(25765) found -[12036] Forked 25766 -[12035] Forked 25767 -(25766) found -(25767) found -[12034] Forked 25768 -[12033] Forked 25769 -(25768) found -(25769) found -[12032] Forked 25770 -[12031] Forked 25771 -(25770) found -(25771) found -[12030] Forked 25772 -[12029] Forked 25774 -(25772) found -(25774) found -[12028] Forked 25775 -[12027] Forked 25776 -(25775) found -(25776) found -[12026] Forked 25777 -[12025] Forked 25778 -(25777) found -(25778) found -[12024] Forked 25779 -[12023] Forked 25780 -(25780) found -(25779) found -[12022] Forked 25781 -(25781) found -[12021] Forked 25782 -(25782) found -[12020] Forked 25783 -(25783) found -[12019] Forked 25784 -(25784) found -[12018] Forked 25785 -(25785) found -[12017] Forked 25786 -(25786) found -[12016] Forked 25787 -(25787) found -[12015] Forked 25788 -(25788) found -[12014] Forked 25789 -(25789) found -[12013] Forked 25790 -(25790) found -[12012] Forked 25791 -(25791) found -[12011] Forked 25792 -(25792) found -[12010] Forked 25793 -(25793) found -[12009] Forked 25794 -(25794) found -[12008] Forked 25795 -(25795) found -[12007] Forked 25796 -(25796) found -[12006] Forked 25797 -(25797) found -[12005] Forked 25798 -(25798) found -[12004] Forked 25799 -(25799) found -[12003] Forked 25800 -(25800) found -[12002] Forked 25801 -(25801) found -[12001] Forked 25802 -(25802) found -[12000] Forked 25803 -(25803) found -[11999] Forked 25804 -(25804) found -[11998] Forked 25805 -(25805) found -[11997] Forked 25806 -(25806) found -[11996] Forked 25807 -(25807) found -[11995] Forked 25808 -(25808) found -[11994] Forked 25809 -(25809) found -[11993] Forked 25810 -(25810) found -[11992] Forked 25811 -(25811) found -[11991] Forked 25812 -(25812) found -[11990] Forked 25813 -(25813) found -[11989] Forked 25814 -(25814) found -[11988] Forked 25815 -(25815) found -[11987] Forked 25816 -(25816) found -[11986] Forked 25817 -(25817) found -[11985] Forked 25818 -(25818) found -[11984] Forked 25819 -(25819) found -[11983] Forked 25820 -(25820) found -[11982] Forked 25821 -(25821) found -[11981] Forked 25822 -(25822) found -[11980] Forked 25823 -(25823) found -[11979] Forked 25824 -(25824) found -[11978] Forked 25825 -(25825) found -[11977] Forked 25826 -(25826) found -[11976] Forked 25827 -(25827) found -[11975] Forked 25828 -(25828) found -[11974] Forked 25829 -(25829) found -[11973] Forked 25830 -(25830) found -[11972] Forked 25831 -(25831) found -[11971] Forked 25832 -(25832) found -[11970] Forked 25833 -(25833) found -[11969] Forked 25834 -(25834) found -[11968] Forked 25835 -(25835) found -[11967] Forked 25836 -[11966] Forked 25837 -(25836) found -(25837) found -[11965] Forked 25838 -[11964] Forked 25839 -(25838) found -(25839) found -[11963] Forked 25840 -[11962] Forked 25841 -(25840) found -(25841) found -[11961] Forked 25842 -[11960] Forked 25843 -(25842) found -(25843) found -[11959] Forked 25844 -[11958] Forked 25845 -(25844) found -(25845) found -[11957] Forked 25846 -[11956] Forked 25847 -(25846) found -(25847) found -[11955] Forked 25848 -[11954] Forked 25849 -(25848) found -(25849) found -[11953] Forked 25850 -[11952] Forked 25851 -(25850) found -(25851) found -[11951] Forked 25852 -[11950] Forked 25853 -(25852) found -(25853) found -[11949] Forked 25854 -[11948] Forked 25855 -(25854) found -(25855) found -[11947] Forked 25856 -[11946] Forked 25857 -(25856) found -(25857) found -[11945] Forked 25858 -[11944] Forked 25859 -(25858) found -(25859) found -[11943] Forked 25860 -[11942] Forked 25861 -(25860) found -(25861) found -[11941] Forked 25862 -[11940] Forked 25863 -(25862) found -(25863) found -[11939] Forked 25864 -[11938] Forked 25865 -(25864) found -(25865) found -[11937] Forked 25866 -[11936] Forked 25867 -(25866) found -(25867) found -[11935] Forked 25868 -[11934] Forked 25869 -(25868) found -(25869) found -[11933] Forked 25870 -[11932] Forked 25871 -(25870) found -(25871) found -[11931] Forked 25872 -[11930] Forked 25873 -(25872) found -(25873) found -[11929] Forked 25874 -[11928] Forked 25875 -(25874) found -(25875) found -[11927] Forked 25876 -[11926] Forked 25877 -(25876) found -(25877) found -[11925] Forked 25878 -[11924] Forked 25879 -(25878) found -(25879) found -[11923] Forked 25880 -(25880) found -[11922] Forked 25881 -(25881) found -[11921] Forked 25882 -(25882) found -[11920] Forked 25883 -(25883) found -[11919] Forked 25884 -(25884) found -[11918] Forked 25885 -(25885) found -[11917] Forked 25886 -(25886) found -[11916] Forked 25887 -(25887) found -[11915] Forked 25888 -(25888) found -[11914] Forked 25889 -(25889) found -[11913] Forked 25890 -(25890) found -[11912] Forked 25891 -(25891) found -[11911] Forked 25892 -(25892) found -[11910] Forked 25893 -(25893) found -[11909] Forked 25894 -(25894) found -[11908] Forked 25895 -(25895) found -[11907] Forked 25896 -(25896) found -[11906] Forked 25897 -(25897) found -[11905] Forked 25898 -(25898) found -[11904] Forked 25899 -(25899) found -[11903] Forked 25900 -(25900) found -[11902] Forked 25901 -(25901) found -[11901] Forked 25902 -(25902) found -[11900] Forked 25903 -(25903) found -[11899] Forked 25904 -(25904) found -[11898] Forked 25905 -(25905) found -[11897] Forked 25906 -(25906) found -[11896] Forked 25907 -(25907) found -[11895] Forked 25908 -(25908) found -[11894] Forked 25909 -(25909) found -[11893] Forked 25910 -(25910) found -[11892] Forked 25911 -(25911) found -[11891] Forked 25912 -(25912) found -[11890] Forked 25913 -(25913) found -[11889] Forked 25914 -(25914) found -[11888] Forked 25915 -(25915) found -[11887] Forked 25916 -(25916) found -[11886] Forked 25917 -[11885] Forked 25918 -(25917) found -(25918) found -[11884] Forked 25919 -[11883] Forked 25920 -(25919) found -(25920) found -[11882] Forked 25921 -[11881] Forked 25922 -(25921) found -(25922) found -[11880] Forked 25923 -[11879] Forked 25924 -(25923) found -(25924) found -[11878] Forked 25925 -[11877] Forked 25926 -(25925) found -(25926) found -[11876] Forked 25927 -[11875] Forked 25928 -(25927) found -(25928) found -[11874] Forked 25929 -[11873] Forked 25930 -(25929) found -(25930) found -[11872] Forked 25931 -[11871] Forked 25932 -(25931) found -(25932) found -[11870] Forked 25933 -[11869] Forked 25934 -(25933) found -(25934) found -[11868] Forked 25935 -[11867] Forked 25936 -(25935) found -(25936) found -[11866] Forked 25937 -[11865] Forked 25938 -(25937) found -(25938) found -[11864] Forked 25939 -[11863] Forked 25940 -(25939) found -(25940) found -[11862] Forked 25941 -[11861] Forked 25942 -(25941) found -(25942) found -[11860] Forked 25943 -[11859] Forked 25944 -(25943) found -(25944) found -[11858] Forked 25945 -[11857] Forked 25946 -(25945) found -(25946) found -[11856] Forked 25947 -[11855] Forked 25948 -(25947) found -(25948) found -[11854] Forked 25949 -[11853] Forked 25950 -(25949) found -(25950) found -[11852] Forked 25951 -[11851] Forked 25952 -(25951) found -(25952) found -[11850] Forked 25953 -[11849] Forked 25954 -(25953) found -(25954) found -[11848] Forked 25955 -[11847] Forked 25956 -(25955) found -(25956) found -[11846] Forked 25957 -[11845] Forked 25958 -(25957) found -(25958) found -[11844] Forked 25959 -[11843] Forked 25960 -(25959) found -(25960) found -[11842] Forked 25961 -[11841] Forked 25962 -(25961) found -(25962) found -[11840] Forked 25963 -[11839] Forked 25964 -(25963) found -(25964) found -[11838] Forked 25965 -[11837] Forked 25966 -(25965) found -(25966) found -[11836] Forked 25967 -[11835] Forked 25968 -(25967) found -(25968) found -[11834] Forked 25969 -[11833] Forked 25970 -(25969) found -(25970) found -[11832] Forked 25971 -[11831] Forked 25972 -(25971) found -(25972) found -[11830] Forked 25973 -[11829] Forked 25974 -(25973) found -(25974) found -[11828] Forked 25975 -[11827] Forked 25976 -(25975) found -(25976) found -[11826] Forked 25977 -[11825] Forked 25978 -(25977) found -(25978) found -[11824] Forked 25979 -[11823] Forked 25980 -(25979) found -(25980) found -[11822] Forked 25981 -[11821] Forked 25982 -(25981) found -(25982) found -[11820] Forked 25983 -[11819] Forked 25984 -(25983) found -(25984) found -[11818] Forked 25985 -[11817] Forked 25986 -(25985) found -(25986) found -[11816] Forked 25987 -[11815] Forked 25988 -(25987) found -(25988) found -[11814] Forked 25989 -[11813] Forked 25990 -(25989) found -(25990) found -[11812] Forked 25991 -[11811] Forked 25992 -(25991) found -(25992) found -[11810] Forked 25993 -[11809] Forked 25994 -(25993) found -(25994) found -[11808] Forked 25995 -[11807] Forked 25996 -(25995) found -(25996) found -[11806] Forked 25997 -[11805] Forked 25998 -(25997) found -(25998) found -[11804] Forked 25999 -[11803] Forked 26000 -(25999) found -(26000) found -[11802] Forked 26001 -(26001) found -[11801] Forked 26002 -[11800] Forked 26003 -(26002) found -(26003) found -[11799] Forked 26004 -[11798] Forked 26005 -(26004) found -(26005) found -[11797] Forked 26006 -[11796] Forked 26007 -(26006) found -(26007) found -[11795] Forked 26008 -[11794] Forked 26009 -(26008) found -(26009) found -[11793] Forked 26010 -[11792] Forked 26011 -(26010) found -(26011) found -[11791] Forked 26012 -[11790] Forked 26013 -(26012) found -(26013) found -[11789] Forked 26014 -[11788] Forked 26015 -(26014) found -(26015) found -[11787] Forked 26016 -[11786] Forked 26017 -(26016) found -(26017) found -[11785] Forked 26018 -[11784] Forked 26019 -(26018) found -(26019) found -[11783] Forked 26020 -[11782] Forked 26021 -(26020) found -(26021) found -[11781] Forked 26022 -[11780] Forked 26023 -(26022) found -(26023) found -[11779] Forked 26024 -[11778] Forked 26025 -(26024) found -(26025) found -[11777] Forked 26026 -[11776] Forked 26027 -(26026) found -(26027) found -[11775] Forked 26028 -[11774] Forked 26029 -(26028) found -(26029) found -[11773] Forked 26030 -[11772] Forked 26031 -(26030) found -(26031) found -[11771] Forked 26032 -[11770] Forked 26033 -(26032) found -(26033) found -[11769] Forked 26034 -[11768] Forked 26035 -(26034) found -(26035) found -[11767] Forked 26036 -[11766] Forked 26037 -(26036) found -(26037) found -[11765] Forked 26038 -[11764] Forked 26039 -(26038) found -(26039) found -[11763] Forked 26040 -[11762] Forked 26041 -(26040) found -(26041) found -[11761] Forked 26042 -[11760] Forked 26043 -(26042) found -(26043) found -[11759] Forked 26044 -[11758] Forked 26045 -(26044) found -(26045) found -[11757] Forked 26046 -[11756] Forked 26047 -(26046) found -(26047) found -[11755] Forked 26048 -[11754] Forked 26050 -(26048) found -(26050) found -[11753] Forked 26051 -(26051) found -[11752] Forked 26052 -(26052) found -[11751] Forked 26053 -(26053) found -[11750] Forked 26054 -(26054) found -[11749] Forked 26055 -(26055) found -[11748] Forked 26056 -(26056) found -[11747] Forked 26057 -(26057) found -[11746] Forked 26058 -(26058) found -[11745] Forked 26059 -(26059) found -[11744] Forked 26060 -(26060) found -[11743] Forked 26061 -(26061) found -[11742] Forked 26062 -(26062) found -[11741] Forked 26063 -(26063) found -[11740] Forked 26064 -(26064) found -[11739] Forked 26065 -(26065) found -[11738] Forked 26066 -(26066) found -[11737] Forked 26067 -(26067) found -[11736] Forked 26068 -(26068) found -[11735] Forked 26069 -(26069) found -[11734] Forked 26070 -(26070) found -[11733] Forked 26071 -(26071) found -[11732] Forked 26072 -(26072) found -[11731] Forked 26073 -(26073) found -[11730] Forked 26074 -(26074) found -[11729] Forked 26075 -(26075) found -[11728] Forked 26076 -(26076) found -[11727] Forked 26077 -(26077) found -[11726] Forked 26078 -(26078) found -[11725] Forked 26079 -(26079) found -[11724] Forked 26080 -(26080) found -[11723] Forked 26081 -(26081) found -[11722] Forked 26082 -(26082) found -[11721] Forked 26083 -(26083) found -[11720] Forked 26084 -(26084) found -[11719] Forked 26085 -(26085) found -[11718] Forked 26086 -(26086) found -[11717] Forked 26087 -(26087) found -[11716] Forked 26088 -(26088) found -[11715] Forked 26089 -(26089) found -[11714] Forked 26090 -(26090) found -[11713] Forked 26091 -(26091) found -[11712] Forked 26092 -(26092) found -[11711] Forked 26093 -(26093) found -[11710] Forked 26094 -(26094) found -[11709] Forked 26095 -(26095) found -[11708] Forked 26096 -(26096) found -[11707] Forked 26097 -(26097) found -[11706] Forked 26098 -(26098) found -[11705] Forked 26099 -(26099) found -[11704] Forked 26100 -(26100) found -[11703] Forked 26101 -(26101) found -[11702] Forked 26102 -(26102) found -[11701] Forked 26103 -(26103) found -[11700] Forked 26104 -(26104) found -[11699] Forked 26105 -(26105) found -[11698] Forked 26106 -(26106) found -[11697] Forked 26107 -(26107) found -[11696] Forked 26108 -(26108) found -[11695] Forked 26109 -(26109) found -[11694] Forked 26110 -(26110) found -[11693] Forked 26111 -(26111) found -[11692] Forked 26112 -(26112) found -[11691] Forked 26113 -(26113) found -[11690] Forked 26114 -(26114) found -[11689] Forked 26115 -(26115) found -[11688] Forked 26116 -(26116) found -[11687] Forked 26117 -(26117) found -[11686] Forked 26118 -(26118) found -[11685] Forked 26119 -(26119) found -[11684] Forked 26120 -(26120) found -[11683] Forked 26121 -(26121) found -[11682] Forked 26122 -[11681] Forked 26123 -(26122) found -(26123) found -[11680] Forked 26124 -[11679] Forked 26125 -(26124) found -(26125) found -[11678] Forked 26126 -[11677] Forked 26127 -(26126) found -(26127) found -[11676] Forked 26128 -[11675] Forked 26129 -(26128) found -(26129) found -[11674] Forked 26130 -[11673] Forked 26131 -(26130) found -(26131) found -[11672] Forked 26132 -[11671] Forked 26133 -(26132) found -(26133) found -[11670] Forked 26134 -[11669] Forked 26135 -(26134) found -(26135) found -[11668] Forked 26136 -[11667] Forked 26137 -(26136) found -(26137) found -[11666] Forked 26138 -[11665] Forked 26139 -(26138) found -(26139) found -[11664] Forked 26140 -[11663] Forked 26141 -(26140) found -(26141) found -[11662] Forked 26142 -[11661] Forked 26143 -(26142) found -(26143) found -[11660] Forked 26144 -[11659] Forked 26145 -(26144) found -(26145) found -[11658] Forked 26146 -[11657] Forked 26147 -(26146) found -(26147) found -[11656] Forked 26148 -[11655] Forked 26149 -(26148) found -(26149) found -[11654] Forked 26150 -[11653] Forked 26151 -(26150) found -(26151) found -[11652] Forked 26152 -[11651] Forked 26153 -(26152) found -(26153) found -[11650] Forked 26154 -[11649] Forked 26155 -(26154) found -(26155) found -[11648] Forked 26156 -[11647] Forked 26157 -(26156) found -(26157) found -[11646] Forked 26158 -[11645] Forked 26159 -(26158) found -(26159) found -[11644] Forked 26160 -[11643] Forked 26161 -(26160) found -(26161) found -[11642] Forked 26162 -[11641] Forked 26163 -(26162) found -(26163) found -[11640] Forked 26164 -[11639] Forked 26165 -(26164) found -(26165) found -[11638] Forked 26166 -[11637] Forked 26168 -(26166) found -(26168) found -[11636] Forked 26169 -(26169) found -[11635] Forked 26170 -(26170) found -[11634] Forked 26171 -(26171) found -[11633] Forked 26172 -(26172) found -[11632] Forked 26173 -(26173) found -[11631] Forked 26174 -(26174) found -[11630] Forked 26175 -(26175) found -[11629] Forked 26176 -(26176) found -[11628] Forked 26177 -(26177) found -[11627] Forked 26178 -(26178) found -[11626] Forked 26179 -(26179) found -[11625] Forked 26180 -(26180) found -[11624] Forked 26181 -(26181) found -[11623] Forked 26182 -(26182) found -[11622] Forked 26183 -(26183) found -[11621] Forked 26184 -(26184) found -[11620] Forked 26185 -(26185) found -[11619] Forked 26186 -(26186) found -[11618] Forked 26187 -(26187) found -[11617] Forked 26188 -(26188) found -[11616] Forked 26189 -(26189) found -[11615] Forked 26190 -(26190) found -[11614] Forked 26191 -(26191) found -[11613] Forked 26192 -(26192) found -[11612] Forked 26193 -(26193) found -[11611] Forked 26194 -(26194) found -[11610] Forked 26195 -(26195) found -[11609] Forked 26196 -(26196) found -[11608] Forked 26197 -(26197) found -[11607] Forked 26198 -(26198) found -[11606] Forked 26199 -(26199) found -[11605] Forked 26200 -(26200) found -[11604] Forked 26201 -(26201) found -[11603] Forked 26202 -(26202) found -[11602] Forked 26203 -[11601] Forked 26204 -(26203) found -(26204) found -[11600] Forked 26205 -[11599] Forked 26206 -(26205) found -(26206) found -[11598] Forked 26207 -(26207) found -[11597] Forked 26208 -(26208) found -[11596] Forked 26209 -(26209) found -[11595] Forked 26210 -(26210) found -[11594] Forked 26211 -(26211) found -[11593] Forked 26212 -(26212) found -[11592] Forked 26213 -(26213) found -[11591] Forked 26214 -(26214) found -[11590] Forked 26215 -(26215) found -[11589] Forked 26216 -(26216) found -[11588] Forked 26217 -(26217) found -[11587] Forked 26218 -(26218) found -[11586] Forked 26219 -(26219) found -[11585] Forked 26220 -(26220) found -[11584] Forked 26221 -(26221) found -[11583] Forked 26222 -(26222) found -[11582] Forked 26223 -(26223) found -[11581] Forked 26224 -(26224) found -[11580] Forked 26225 -(26225) found -[11579] Forked 26226 -(26226) found -[11578] Forked 26227 -(26227) found -[11577] Forked 26228 -(26228) found -[11576] Forked 26229 -(26229) found -[11575] Forked 26230 -(26230) found -[11574] Forked 26231 -(26231) found -[11573] Forked 26232 -(26232) found -[11572] Forked 26233 -(26233) found -[11571] Forked 26234 -(26234) found -[11570] Forked 26235 -(26235) found -[11569] Forked 26236 -(26236) found -[11568] Forked 26237 -(26237) found -[11567] Forked 26238 -(26238) found -[11566] Forked 26239 -(26239) found -[11565] Forked 26240 -(26240) found -[11564] Forked 26241 -(26241) found -[11563] Forked 26242 -(26242) found -[11562] Forked 26243 -(26243) found -[11561] Forked 26244 -(26244) found -[11560] Forked 26245 -(26245) found -[11559] Forked 26246 -(26246) found -[11558] Forked 26247 -(26247) found -[11557] Forked 26248 -(26248) found -[11556] Forked 26249 -(26249) found -[11555] Forked 26250 -(26250) found -[11554] Forked 26251 -(26251) found -[11553] Forked 26252 -(26252) found -[11552] Forked 26253 -(26253) found -[11551] Forked 26254 -(26254) found -[11550] Forked 26255 -(26255) found -[11549] Forked 26256 -(26256) found -[11548] Forked 26257 -(26257) found -[11547] Forked 26258 -(26258) found -[11546] Forked 26259 -(26259) found -[11545] Forked 26260 -(26260) found -[11544] Forked 26261 -(26261) found -[11543] Forked 26262 -(26262) found -[11542] Forked 26263 -(26263) found -[11541] Forked 26264 -(26264) found -[11540] Forked 26265 -(26265) found -[11539] Forked 26266 -(26266) found -[11538] Forked 26267 -(26267) found -[11537] Forked 26268 -(26268) found -[11536] Forked 26269 -(26269) found -[11535] Forked 26270 -(26270) found -[11534] Forked 26271 -(26271) found -[11533] Forked 26272 -(26272) found -[11532] Forked 26273 -(26273) found -[11531] Forked 26274 -[11530] Forked 26275 -(26274) found -(26275) found -[11529] Forked 26276 -[11528] Forked 26277 -(26276) found -(26277) found -[11527] Forked 26278 -[11526] Forked 26279 -(26278) found -(26279) found -[11525] Forked 26280 -[11524] Forked 26281 -(26280) found -(26281) found -[11523] Forked 26282 -[11522] Forked 26283 -(26282) found -(26283) found -[11521] Forked 26284 -[11520] Forked 26285 -(26284) found -(26285) found -[11519] Forked 26286 -[11518] Forked 26287 -(26286) found -(26287) found -[11517] Forked 26288 -[11516] Forked 26289 -(26288) found -(26289) found -[11515] Forked 26290 -[11514] Forked 26291 -(26290) found -(26291) found -[11513] Forked 26292 -[11512] Forked 26293 -(26292) found -(26293) found -[11511] Forked 26294 -[11510] Forked 26295 -(26294) found -(26295) found -[11509] Forked 26296 -[11508] Forked 26297 -(26296) found -(26297) found -[11507] Forked 26298 -[11506] Forked 26299 -(26298) found -(26299) found -[11505] Forked 26300 -[11504] Forked 26301 -(26300) found -(26301) found -[11503] Forked 26302 -[11502] Forked 26303 -(26302) found -(26303) found -[11501] Forked 26304 -[11500] Forked 26305 -(26304) found -(26305) found -[11499] Forked 26306 -[11498] Forked 26307 -(26306) found -(26307) found -[11497] Forked 26308 -[11496] Forked 26309 -(26308) found -(26309) found -[11495] Forked 26310 -[11494] Forked 26311 -(26310) found -(26311) found -[11493] Forked 26312 -[11492] Forked 26314 -(26312) found -(26314) found -[11491] Forked 26315 -(26315) found -[11490] Forked 26316 -(26316) found -[11489] Forked 26317 -(26317) found -[11488] Forked 26318 -(26318) found -[11487] Forked 26319 -(26319) found -[11486] Forked 26320 -(26320) found -[11485] Forked 26321 -(26321) found -[11484] Forked 26322 -(26322) found -[11483] Forked 26323 -(26323) found -[11482] Forked 26324 -(26324) found -[11481] Forked 26325 -(26325) found -[11480] Forked 26326 -(26326) found -[11479] Forked 26327 -(26327) found -[11478] Forked 26328 -(26328) found -[11477] Forked 26329 -(26329) found -[11476] Forked 26330 -(26330) found -[11475] Forked 26331 -(26331) found -[11474] Forked 26332 -(26332) found -[11473] Forked 26333 -(26333) found -[11472] Forked 26334 -(26334) found -[11471] Forked 26335 -(26335) found -[11470] Forked 26336 -(26336) found -[11469] Forked 26337 -(26337) found -[11468] Forked 26338 -(26338) found -[11467] Forked 26339 -(26339) found -[11466] Forked 26340 -(26340) found -[11465] Forked 26341 -(26341) found -[11464] Forked 26342 -(26342) found -[11463] Forked 26343 -(26343) found -[11462] Forked 26344 -(26344) found -[11461] Forked 26345 -(26345) found -[11460] Forked 26346 -(26346) found -[11459] Forked 26347 -(26347) found -[11458] Forked 26348 -(26348) found -[11457] Forked 26349 -(26349) found -[11456] Forked 26350 -(26350) found -[11455] Forked 26351 -(26351) found -[11454] Forked 26352 -(26352) found -[11453] Forked 26353 -(26353) found -[11452] Forked 26354 -(26354) found -[11451] Forked 26355 -(26355) found -[11450] Forked 26356 -(26356) found -[11449] Forked 26357 -(26357) found -[11448] Forked 26358 -(26358) found -[11447] Forked 26359 -(26359) found -[11446] Forked 26360 -(26360) found -[11445] Forked 26361 -(26361) found -[11444] Forked 26362 -(26362) found -[11443] Forked 26363 -(26363) found -[11442] Forked 26364 -(26364) found -[11441] Forked 26365 -(26365) found -[11440] Forked 26366 -(26366) found -[11439] Forked 26367 -(26367) found -[11438] Forked 26368 -(26368) found -[11437] Forked 26369 -(26369) found -[11436] Forked 26370 -(26370) found -[11435] Forked 26371 -(26371) found -[11434] Forked 26372 -(26372) found -[11433] Forked 26373 -(26373) found -[11432] Forked 26374 -(26374) found -[11431] Forked 26375 -(26375) found -[11430] Forked 26376 -(26376) found -[11429] Forked 26377 -(26377) found -[11428] Forked 26378 -(26378) found -[11427] Forked 26379 -(26379) found -[11426] Forked 26380 -(26380) found -[11425] Forked 26381 -(26381) found -[11424] Forked 26382 -(26382) found -[11423] Forked 26383 -(26383) found -[11422] Forked 26384 -(26384) found -[11421] Forked 26385 -(26385) found -[11420] Forked 26386 -(26386) found -[11419] Forked 26387 -(26387) found -[11418] Forked 26388 -(26388) found -[11417] Forked 26389 -(26389) found -[11416] Forked 26390 -(26390) found -[11415] Forked 26391 -(26391) found -[11414] Forked 26392 -(26392) found -[11413] Forked 26393 -(26393) found -[11412] Forked 26394 -(26394) found -[11411] Forked 26395 -(26395) found -[11410] Forked 26396 -(26396) found -[11409] Forked 26397 -(26397) found -[11408] Forked 26398 -(26398) found -[11407] Forked 26399 -(26399) found -[11406] Forked 26400 -(26400) found -[11405] Forked 26401 -(26401) found -[11404] Forked 26402 -(26402) found -[11403] Forked 26403 -(26403) found -[11402] Forked 26404 -(26404) found -[11401] Forked 26405 -(26405) found -[11400] Forked 26406 -(26406) found -[11399] Forked 26407 -(26407) found -[11398] Forked 26408 -(26408) found -[11397] Forked 26409 -(26409) found -[11396] Forked 26410 -(26410) found -[11395] Forked 26411 -(26411) found -[11394] Forked 26412 -(26412) found -[11393] Forked 26413 -(26413) found -[11392] Forked 26414 -(26414) found -[11391] Forked 26415 -(26415) found -[11390] Forked 26416 -(26416) found -[11389] Forked 26417 -(26417) found -[11388] Forked 26418 -(26418) found -[11387] Forked 26419 -(26419) found -[11386] Forked 26420 -(26420) found -[11385] Forked 26421 -(26421) found -[11384] Forked 26422 -(26422) found -[11383] Forked 26423 -(26423) found -[11382] Forked 26424 -(26424) found -[11381] Forked 26425 -(26425) found -[11380] Forked 26426 -(26426) found -[11379] Forked 26427 -(26427) found -[11378] Forked 26428 -(26428) found -[11377] Forked 26429 -(26429) found -[11376] Forked 26430 -(26430) found -[11375] Forked 26431 -(26431) found -[11374] Forked 26432 -(26432) found -[11373] Forked 26433 -(26433) found -[11372] Forked 26434 -(26434) found -[11371] Forked 26435 -(26435) found -[11370] Forked 26436 -(26436) found -[11369] Forked 26437 -(26437) found -[11368] Forked 26438 -(26438) found -[11367] Forked 26439 -(26439) found -[11366] Forked 26440 -(26440) found -[11365] Forked 26441 -(26441) found -[11364] Forked 26442 -(26442) found -[11363] Forked 26443 -(26443) found -[11362] Forked 26444 -(26444) found -[11361] Forked 26445 -(26445) found -[11360] Forked 26446 -(26446) found -[11359] Forked 26447 -(26447) found -[11358] Forked 26448 -(26448) found -[11357] Forked 26449 -(26449) found -[11356] Forked 26450 -(26450) found -[11355] Forked 26451 -(26451) found -[11354] Forked 26452 -(26452) found -[11353] Forked 26453 -(26453) found -[11352] Forked 26454 -(26454) found -[11351] Forked 26455 -(26455) found -[11350] Forked 26456 -(26456) found -[11349] Forked 26457 -(26457) found -[11348] Forked 26458 -(26458) found -[11347] Forked 26459 -(26459) found -[11346] Forked 26460 -(26460) found -[11345] Forked 26461 -(26461) found -[11344] Forked 26462 -(26462) found -[11343] Forked 26463 -(26463) found -[11342] Forked 26464 -(26464) found -[11341] Forked 26465 -(26465) found -[11340] Forked 26466 -(26466) found -[11339] Forked 26467 -(26467) found -[11338] Forked 26468 -(26468) found -[11337] Forked 26469 -(26469) found -[11336] Forked 26470 -(26470) found -[11335] Forked 26471 -(26471) found -[11334] Forked 26472 -(26472) found -[11333] Forked 26473 -(26473) found -[11332] Forked 26474 -(26474) found -[11331] Forked 26475 -(26475) found -[11330] Forked 26476 -(26476) found -[11329] Forked 26477 -(26477) found -[11328] Forked 26478 -(26478) found -[11327] Forked 26479 -(26479) found -[11326] Forked 26480 -(26480) found -[11325] Forked 26481 -(26481) found -[11324] Forked 26482 -(26482) found -[11323] Forked 26483 -(26483) found -[11322] Forked 26484 -(26484) found -[11321] Forked 26485 -(26485) found -[11320] Forked 26486 -(26486) found -[11319] Forked 26487 -(26487) found -[11318] Forked 26488 -(26488) found -[11317] Forked 26489 -(26489) found -[11316] Forked 26490 -(26490) found -[11315] Forked 26491 -(26491) found -[11314] Forked 26492 -(26492) found -[11313] Forked 26493 -[11312] Forked 26494 -(26493) found -(26494) found -[11311] Forked 26495 -[11310] Forked 26496 -(26495) found -(26496) found -[11309] Forked 26497 -[11308] Forked 26498 -(26497) found -(26498) found -[11307] Forked 26499 -[11306] Forked 26500 -(26499) found -(26500) found -[11305] Forked 26501 -[11304] Forked 26502 -(26501) found -(26502) found -[11303] Forked 26503 -[11302] Forked 26504 -(26503) found -(26504) found -[11301] Forked 26505 -[11300] Forked 26506 -(26505) found -(26506) found -[11299] Forked 26507 -[11298] Forked 26508 -(26507) found -(26508) found -[11297] Forked 26509 -[11296] Forked 26510 -(26509) found -(26510) found -[11295] Forked 26511 -[11294] Forked 26512 -(26511) found -(26512) found -[11293] Forked 26513 -[11292] Forked 26514 -(26513) found -(26514) found -[11291] Forked 26515 -[11290] Forked 26516 -(26515) found -(26516) found -[11289] Forked 26517 -[11288] Forked 26518 -(26517) found -(26518) found -[11287] Forked 26519 -[11286] Forked 26520 -(26519) found -(26520) found -[11285] Forked 26521 -[11284] Forked 26522 -(26521) found -(26522) found -[11283] Forked 26523 -[11282] Forked 26524 -(26523) found -(26524) found -[11281] Forked 26525 -[11280] Forked 26526 -(26525) found -(26526) found -[11279] Forked 26527 -[11278] Forked 26528 -(26527) found -(26528) found -[11277] Forked 26529 -[11276] Forked 26530 -(26529) found -(26530) found -[11275] Forked 26531 -[11274] Forked 26532 -(26531) found -(26532) found -[11273] Forked 26533 -[11272] Forked 26534 -(26533) found -(26534) found -[11271] Forked 26535 -[11270] Forked 26536 -(26535) found -(26536) found -[11269] Forked 26537 -[11268] Forked 26538 -(26537) found -(26538) found -[11267] Forked 26539 -(26539) found -[11266] Forked 26540 -(26540) found -[11265] Forked 26541 -(26541) found -[11264] Forked 26542 -(26542) found -[11263] Forked 26543 -(26543) found -[11262] Forked 26544 -(26544) found -[11261] Forked 26545 -(26545) found -[11260] Forked 26546 -(26546) found -[11259] Forked 26547 -(26547) found -[11258] Forked 26548 -(26548) found -[11257] Forked 26549 -(26549) found -[11256] Forked 26550 -(26550) found -[11255] Forked 26551 -(26551) found -[11254] Forked 26552 -(26552) found -[11253] Forked 26553 -(26553) found -[11252] Forked 26554 -(26554) found -[11251] Forked 26555 -(26555) found -[11250] Forked 26556 -(26556) found -[11249] Forked 26557 -(26557) found -[11248] Forked 26558 -(26558) found -[11247] Forked 26559 -(26559) found -[11246] Forked 26560 -(26560) found -[11245] Forked 26561 -(26561) found -[11244] Forked 26562 -(26562) found -[11243] Forked 26563 -(26563) found -[11242] Forked 26564 -(26564) found -[11241] Forked 26565 -(26565) found -[11240] Forked 26566 -(26566) found -[11239] Forked 26567 -(26567) found -[11238] Forked 26568 -(26568) found -[11237] Forked 26569 -(26569) found -[11236] Forked 26570 -(26570) found -[11235] Forked 26571 -(26571) found -[11234] Forked 26572 -(26572) found -[11233] Forked 26573 -(26573) found -[11232] Forked 26574 -(26574) found -[11231] Forked 26575 -[11230] Forked 26576 -(26575) found -(26576) found -[11229] Forked 26577 -[11228] Forked 26578 -(26577) found -(26578) found -[11227] Forked 26579 -[11226] Forked 26580 -(26579) found -(26580) found -[11225] Forked 26581 -[11224] Forked 26582 -(26581) found -(26582) found -[11223] Forked 26583 -[11222] Forked 26584 -(26583) found -(26584) found -[11221] Forked 26585 -[11220] Forked 26586 -(26585) found -(26586) found -[11219] Forked 26587 -[11218] Forked 26588 -(26587) found -(26588) found -[11217] Forked 26589 -[11216] Forked 26590 -(26589) found -(26590) found -[11215] Forked 26591 -[11214] Forked 26592 -(26591) found -(26592) found -[11213] Forked 26593 -[11212] Forked 26594 -(26593) found -(26594) found -[11211] Forked 26595 -[11210] Forked 26596 -(26595) found -(26596) found -[11209] Forked 26597 -[11208] Forked 26598 -(26597) found -(26598) found -[11207] Forked 26599 -[11206] Forked 26600 -(26599) found -(26600) found -[11205] Forked 26601 -[11204] Forked 26602 -(26601) found -(26602) found -[11203] Forked 26603 -[11202] Forked 26604 -(26603) found -(26604) found -[11201] Forked 26605 -[11200] Forked 26606 -(26605) found -(26606) found -[11199] Forked 26607 -[11198] Forked 26608 -(26607) found -(26608) found -[11197] Forked 26609 -[11196] Forked 26610 -(26609) found -(26610) found -[11195] Forked 26611 -[11194] Forked 26612 -(26611) found -(26612) found -[11193] Forked 26613 -[11192] Forked 26614 -(26613) found -(26614) found -[11191] Forked 26615 -[11190] Forked 26616 -(26615) found -(26616) found -[11189] Forked 26617 -[11188] Forked 26618 -(26617) found -(26618) found -[11187] Forked 26619 -[11186] Forked 26620 -(26619) found -(26620) found -[11185] Forked 26621 -(26621) found -[11184] Forked 26622 -(26622) found -[11183] Forked 26623 -(26623) found -[11182] Forked 26624 -(26624) found -[11181] Forked 26625 -(26625) found -[11180] Forked 26626 -(26626) found -[11179] Forked 26627 -(26627) found -[11178] Forked 26628 -(26628) found -[11177] Forked 26629 -(26629) found -[11176] Forked 26630 -(26630) found -[11175] Forked 26631 -(26631) found -[11174] Forked 26632 -(26632) found -[11173] Forked 26633 -(26633) found -[11172] Forked 26634 -(26634) found -[11171] Forked 26635 -(26635) found -[11170] Forked 26636 -(26636) found -[11169] Forked 26637 -(26637) found -[11168] Forked 26638 -(26638) found -[11167] Forked 26639 -(26639) found -[11166] Forked 26640 -(26640) found -[11165] Forked 26641 -(26641) found -[11164] Forked 26642 -(26642) found -[11163] Forked 26643 -(26643) found -[11162] Forked 26644 -(26644) found -[11161] Forked 26645 -(26645) found -[11160] Forked 26646 -(26646) found -[11159] Forked 26647 -(26647) found -[11158] Forked 26648 -(26648) found -[11157] Forked 26649 -(26649) found -[11156] Forked 26650 -(26650) found -[11155] Forked 26651 -(26651) found -[11154] Forked 26652 -(26652) found -[11153] Forked 26653 -(26653) found -[11152] Forked 26654 -(26654) found -[11151] Forked 26655 -[11150] Forked 26656 -(26655) found -(26656) found -[11149] Forked 26657 -[11148] Forked 26658 -(26657) found -(26658) found -[11147] Forked 26659 -[11146] Forked 26660 -(26659) found -(26660) found -[11145] Forked 26661 -[11144] Forked 26662 -(26661) found -(26662) found -[11143] Forked 26663 -[11142] Forked 26664 -(26663) found -(26664) found -[11141] Forked 26665 -[11140] Forked 26666 -(26665) found -(26666) found -[11139] Forked 26667 -[11138] Forked 26668 -(26667) found -(26668) found -[11137] Forked 26669 -[11136] Forked 26670 -(26669) found -(26670) found -[11135] Forked 26671 -[11134] Forked 26672 -(26671) found -(26672) found -[11133] Forked 26673 -[11132] Forked 26674 -(26674) found -(26673) found -[11131] Forked 26675 -(26675) found -[11130] Forked 26676 -(26676) found -[11129] Forked 26677 -(26677) found -[11128] Forked 26678 -(26678) found -[11127] Forked 26679 -(26679) found -[11126] Forked 26680 -(26680) found -[11125] Forked 26681 -(26681) found -[11124] Forked 26682 -(26682) found -[11123] Forked 26683 -(26683) found -[11122] Forked 26684 -(26684) found -[11121] Forked 26685 -(26685) found -[11120] Forked 26686 -(26686) found -[11119] Forked 26687 -(26687) found -[11118] Forked 26688 -(26688) found -[11117] Forked 26689 -(26689) found -[11116] Forked 26690 -(26690) found -[11115] Forked 26691 -(26691) found -[11114] Forked 26692 -(26692) found -[11113] Forked 26693 -(26693) found -[11112] Forked 26694 -(26694) found -[11111] Forked 26695 -(26695) found -[11110] Forked 26696 -(26696) found -[11109] Forked 26697 -(26697) found -[11108] Forked 26698 -(26698) found -[11107] Forked 26699 -(26699) found -[11106] Forked 26700 -(26700) found -[11105] Forked 26701 -(26701) found -[11104] Forked 26702 -(26702) found -[11103] Forked 26703 -(26703) found -[11102] Forked 26704 -(26704) found -[11101] Forked 26705 -(26705) found -[11100] Forked 26706 -(26706) found -[11099] Forked 26707 -(26707) found -[11098] Forked 26708 -(26708) found -[11097] Forked 26709 -(26709) found -[11096] Forked 26710 -(26710) found -[11095] Forked 26711 -(26711) found -[11094] Forked 26712 -(26712) found -[11093] Forked 26713 -(26713) found -[11092] Forked 26714 -(26714) found -[11091] Forked 26715 -(26715) found -[11090] Forked 26716 -(26716) found -[11089] Forked 26717 -(26717) found -[11088] Forked 26718 -(26718) found -[11087] Forked 26719 -(26719) found -[11086] Forked 26720 -(26720) found -[11085] Forked 26721 -(26721) found -[11084] Forked 26722 -(26722) found -[11083] Forked 26723 -(26723) found -[11082] Forked 26724 -(26724) found -[11081] Forked 26725 -[11080] Forked 26726 -(26725) found -(26726) found -[11079] Forked 26727 -[11078] Forked 26728 -(26727) found -(26728) found -[11077] Forked 26729 -[11076] Forked 26730 -(26729) found -(26730) found -[11075] Forked 26731 -[11074] Forked 26732 -(26731) found -(26732) found -[11073] Forked 26733 -[11072] Forked 26734 -(26733) found -(26734) found -[11071] Forked 26735 -[11070] Forked 26736 -(26735) found -(26736) found -[11069] Forked 26737 -[11068] Forked 26738 -(26737) found -(26738) found -[11067] Forked 26739 -[11066] Forked 26740 -(26739) found -(26740) found -[11065] Forked 26741 -[11064] Forked 26742 -(26741) found -(26742) found -[11063] Forked 26743 -[11062] Forked 26744 -(26743) found -(26744) found -[11061] Forked 26745 -[11060] Forked 26746 -(26745) found -(26746) found -[11059] Forked 26747 -[11058] Forked 26748 -(26747) found -(26748) found -[11057] Forked 26749 -[11056] Forked 26750 -(26749) found -(26750) found -[11055] Forked 26751 -[11054] Forked 26752 -(26751) found -(26752) found -[11053] Forked 26753 -[11052] Forked 26754 -(26753) found -(26754) found -[11051] Forked 26755 -[11050] Forked 26756 -(26755) found -(26756) found -[11049] Forked 26757 -[11048] Forked 26758 -(26757) found -(26758) found -[11047] Forked 26759 -[11046] Forked 26760 -(26759) found -(26760) found -[11045] Forked 26761 -[11044] Forked 26762 -(26761) found -(26762) found -[11043] Forked 26763 -[11042] Forked 26764 -(26763) found -(26764) found -[11041] Forked 26765 -[11040] Forked 26766 -(26765) found -(26766) found -[11039] Forked 26767 -[11038] Forked 26768 -(26767) found -(26768) found -[11037] Forked 26769 -[11036] Forked 26770 -(26769) found -(26770) found -[11035] Forked 26771 -[11034] Forked 26772 -(26771) found -(26772) found -[11033] Forked 26773 -[11032] Forked 26774 -(26773) found -(26774) found -[11031] Forked 26775 -[11030] Forked 26776 -(26775) found -(26776) found -[11029] Forked 26777 -[11028] Forked 26778 -(26777) found -(26778) found -[11027] Forked 26779 -[11026] Forked 26780 -(26779) found -(26780) found -[11025] Forked 26781 -(26781) found -[11024] Forked 26782 -[11023] Forked 26783 -(26782) found -(26783) found -[11022] Forked 26784 -[11021] Forked 26785 -(26784) found -(26785) found -[11020] Forked 26786 -[11019] Forked 26787 -(26786) found -(26787) found -[11018] Forked 26788 -[11017] Forked 26789 -(26788) found -(26789) found -[11016] Forked 26790 -[11015] Forked 26791 -(26790) found -(26791) found -[11014] Forked 26792 -[11013] Forked 26793 -(26792) found -(26793) found -[11012] Forked 26794 -[11011] Forked 26795 -(26794) found -(26795) found -[11010] Forked 26796 -[11009] Forked 26797 -(26796) found -(26797) found -[11008] Forked 26798 -[11007] Forked 26799 -(26798) found -(26799) found -[11006] Forked 26800 -[11005] Forked 26801 -(26800) found -(26801) found -[11004] Forked 26802 -[11003] Forked 26803 -(26802) found -(26803) found -[11002] Forked 26804 -[11001] Forked 26805 -(26804) found -(26805) found -[11000] Forked 26806 -[10999] Forked 26807 -(26806) found -(26807) found -[10998] Forked 26808 -[10997] Forked 26809 -(26808) found -(26809) found -[10996] Forked 26810 -[10995] Forked 26811 -(26810) found -(26811) found -[10994] Forked 26812 -(26812) found -[10993] Forked 26813 -(26813) found -[10992] Forked 26814 -(26814) found -[10991] Forked 26815 -(26815) found -[10990] Forked 26816 -(26816) found -[10989] Forked 26817 -(26817) found -[10988] Forked 26818 -(26818) found -[10987] Forked 26819 -(26819) found -[10986] Forked 26820 -(26820) found -[10985] Forked 26822 -(26822) found -[10984] Forked 26823 -(26823) found -[10983] Forked 26824 -(26824) found -[10982] Forked 26825 -(26825) found -[10981] Forked 26826 -(26826) found -[10980] Forked 26827 -(26827) found -[10979] Forked 26828 -(26828) found -[10978] Forked 26829 -(26829) found -[10977] Forked 26830 -(26830) found -[10976] Forked 26831 -(26831) found -[10975] Forked 26832 -(26832) found -[10974] Forked 26833 -(26833) found -[10973] Forked 26834 -(26834) found -[10972] Forked 26835 -(26835) found -[10971] Forked 26836 -(26836) found -[10970] Forked 26837 -(26837) found -[10969] Forked 26838 -(26838) found -[10968] Forked 26839 -(26839) found -[10967] Forked 26840 -(26840) found -[10966] Forked 26841 -(26841) found -[10965] Forked 26842 -(26842) found -[10964] Forked 26843 -(26843) found -[10963] Forked 26844 -(26844) found -[10962] Forked 26845 -(26845) found -[10961] Forked 26846 -(26846) found -[10960] Forked 26847 -(26847) found -[10959] Forked 26848 -(26848) found -[10958] Forked 26849 -(26849) found -[10957] Forked 26850 -(26850) found -[10956] Forked 26851 -(26851) found -[10955] Forked 26852 -(26852) found -[10954] Forked 26853 -(26853) found -[10953] Forked 26854 -(26854) found -[10952] Forked 26855 -(26855) found -[10951] Forked 26856 -(26856) found -[10950] Forked 26857 -(26857) found -[10949] Forked 26858 -(26858) found -[10948] Forked 26859 -(26859) found -[10947] Forked 26860 -(26860) found -[10946] Forked 26861 -(26861) found -[10945] Forked 26862 -(26862) found -[10944] Forked 26863 -(26863) found -[10943] Forked 26864 -(26864) found -[10942] Forked 26865 -(26865) found -[10941] Forked 26866 -(26866) found -[10940] Forked 26867 -(26867) found -[10939] Forked 26868 -(26868) found -[10938] Forked 26869 -(26869) found -[10937] Forked 26870 -(26870) found -[10936] Forked 26871 -(26871) found -[10935] Forked 26872 -(26872) found -[10934] Forked 26873 -(26873) found -[10933] Forked 26874 -(26874) found -[10932] Forked 26875 -(26875) found -[10931] Forked 26876 -(26876) found -[10930] Forked 26877 -(26877) found -[10929] Forked 26878 -(26878) found -[10928] Forked 26879 -(26879) found -[10927] Forked 26880 -(26880) found -[10926] Forked 26881 -(26881) found -[10925] Forked 26882 -(26882) found -[10924] Forked 26883 -(26883) found -[10923] Forked 26884 -(26884) found -[10922] Forked 26885 -(26885) found -[10921] Forked 26886 -(26886) found -[10920] Forked 26887 -(26887) found -[10919] Forked 26888 -(26888) found -[10918] Forked 26889 -[10917] Forked 26890 -(26889) found -(26890) found -[10916] Forked 26891 -[10915] Forked 26892 -(26891) found -(26892) found -[10914] Forked 26893 -[10913] Forked 26894 -(26893) found -(26894) found -[10912] Forked 26895 -[10911] Forked 26896 -(26895) found -(26896) found -[10910] Forked 26897 -[10909] Forked 26898 -(26897) found -(26898) found -[10908] Forked 26899 -[10907] Forked 26900 -(26899) found -(26900) found -[10906] Forked 26901 -[10905] Forked 26902 -(26901) found -(26902) found -[10904] Forked 26903 -[10903] Forked 26904 -(26903) found -(26904) found -[10902] Forked 26905 -[10901] Forked 26906 -(26905) found -(26906) found -[10900] Forked 26907 -[10899] Forked 26908 -(26907) found -(26908) found -[10898] Forked 26909 -[10897] Forked 26910 -(26909) found -(26910) found -[10896] Forked 26911 -[10895] Forked 26912 -(26911) found -(26912) found -[10894] Forked 26913 -[10893] Forked 26914 -(26913) found -(26914) found -[10892] Forked 26915 -[10891] Forked 26916 -(26915) found -(26916) found -[10890] Forked 26917 -[10889] Forked 26918 -(26917) found -(26918) found -[10888] Forked 26919 -[10887] Forked 26920 -(26919) found -(26920) found -[10886] Forked 26921 -[10885] Forked 26922 -(26921) found -(26922) found -[10884] Forked 26923 -[10883] Forked 26924 -(26923) found -(26924) found -[10882] Forked 26925 -[10881] Forked 26926 -(26925) found -(26926) found -[10880] Forked 26927 -[10879] Forked 26928 -(26927) found -(26928) found -[10878] Forked 26929 -[10877] Forked 26930 -(26929) found -(26930) found -[10876] Forked 26931 -[10875] Forked 26932 -(26931) found -(26932) found -[10874] Forked 26933 -[10873] Forked 26934 -(26933) found -(26934) found -[10872] Forked 26935 -(26935) found -[10871] Forked 26936 -(26936) found -[10870] Forked 26937 -(26937) found -[10869] Forked 26938 -(26938) found -[10868] Forked 26939 -(26939) found -[10867] Forked 26940 -(26940) found -[10866] Forked 26941 -(26941) found -[10865] Forked 26942 -(26942) found -[10864] Forked 26943 -(26943) found -[10863] Forked 26944 -(26944) found -[10862] Forked 26945 -(26945) found -[10861] Forked 26946 -(26946) found -[10860] Forked 26947 -(26947) found -[10859] Forked 26948 -(26948) found -[10858] Forked 26949 -(26949) found -[10857] Forked 26950 -(26950) found -[10856] Forked 26951 -(26951) found -[10855] Forked 26952 -(26952) found -[10854] Forked 26953 -(26953) found -[10853] Forked 26954 -(26954) found -[10852] Forked 26955 -(26955) found -[10851] Forked 26956 -(26956) found -[10850] Forked 26957 -(26957) found -[10849] Forked 26958 -(26958) found -[10848] Forked 26959 -(26959) found -[10847] Forked 26960 -(26960) found -[10846] Forked 26961 -(26961) found -[10845] Forked 26962 -(26962) found -[10844] Forked 26963 -(26963) found -[10843] Forked 26964 -(26964) found -[10842] Forked 26965 -(26965) found -[10841] Forked 26966 -(26966) found -[10840] Forked 26967 -(26967) found -[10839] Forked 26968 -(26968) found -[10838] Forked 26969 -(26969) found -[10837] Forked 26970 -[10836] Forked 26971 -(26970) found -(26971) found -[10835] Forked 26972 -[10834] Forked 26973 -(26972) found -(26973) found -[10833] Forked 26974 -[10832] Forked 26975 -(26974) found -(26975) found -[10831] Forked 26976 -[10830] Forked 26977 -(26976) found -(26977) found -[10829] Forked 26978 -[10828] Forked 26979 -(26978) found -(26979) found -[10827] Forked 26980 -[10826] Forked 26981 -(26980) found -(26981) found -[10825] Forked 26982 -[10824] Forked 26983 -(26982) found -(26983) found -[10823] Forked 26984 -[10822] Forked 26985 -(26984) found -(26985) found -[10821] Forked 26986 -[10820] Forked 26987 -(26986) found -(26987) found -[10819] Forked 26988 -[10818] Forked 26989 -(26988) found -(26989) found -[10817] Forked 26990 -[10816] Forked 26991 -(26990) found -(26991) found -[10815] Forked 26992 -[10814] Forked 26993 -(26992) found -(26993) found -[10813] Forked 26994 -[10812] Forked 26995 -(26994) found -(26995) found -[10811] Forked 26996 -[10810] Forked 26997 -(26996) found -(26997) found -[10809] Forked 26998 -[10808] Forked 26999 -(26998) found -(26999) found -[10807] Forked 27000 -[10806] Forked 27001 -(27000) found -(27001) found -[10805] Forked 27002 -[10804] Forked 27003 -(27002) found -(27003) found -[10803] Forked 27004 -[10802] Forked 27005 -(27004) found -(27005) found -[10801] Forked 27006 -[10800] Forked 27007 -(27006) found -(27007) found -[10799] Forked 27008 -[10798] Forked 27009 -(27008) found -(27009) found -[10797] Forked 27010 -[10796] Forked 27011 -(27010) found -(27011) found -[10795] Forked 27012 -[10794] Forked 27013 -(27012) found -(27013) found -[10793] Forked 27014 -[10792] Forked 27015 -(27014) found -(27015) found -[10791] Forked 27016 -(27016) found -[10790] Forked 27017 -(27017) found -[10789] Forked 27018 -(27018) found -[10788] Forked 27019 -(27019) found -[10787] Forked 27020 -(27020) found -[10786] Forked 27021 -(27021) found -[10785] Forked 27022 -(27022) found -[10784] Forked 27023 -(27023) found -[10783] Forked 27024 -(27024) found -[10782] Forked 27025 -(27025) found -[10781] Forked 27026 -(27026) found -[10780] Forked 27027 -(27027) found -[10779] Forked 27028 -(27028) found -[10778] Forked 27029 -(27029) found -[10777] Forked 27030 -(27030) found -[10776] Forked 27031 -(27031) found -[10775] Forked 27032 -(27032) found -[10774] Forked 27033 -(27033) found -[10773] Forked 27034 -(27034) found -[10772] Forked 27035 -(27035) found -[10771] Forked 27036 -(27036) found -[10770] Forked 27037 -(27037) found -[10769] Forked 27038 -(27038) found -[10768] Forked 27039 -(27039) found -[10767] Forked 27040 -(27040) found -[10766] Forked 27041 -(27041) found -[10765] Forked 27042 -(27042) found -[10764] Forked 27043 -(27043) found -[10763] Forked 27044 -(27044) found -[10762] Forked 27045 -(27045) found -[10761] Forked 27046 -(27046) found -[10760] Forked 27047 -(27047) found -[10759] Forked 27048 -(27048) found -[10758] Forked 27049 -(27049) found -[10757] Forked 27050 -(27050) found -[10756] Forked 27051 -(27051) found -[10755] Forked 27052 -[10754] Forked 27053 -(27052) found -(27053) found -[10753] Forked 27054 -[10752] Forked 27055 -(27054) found -(27055) found -[10751] Forked 27056 -[10750] Forked 27057 -(27056) found -(27057) found -[10749] Forked 27058 -[10748] Forked 27059 -(27058) found -(27059) found -[10747] Forked 27060 -[10746] Forked 27061 -(27060) found -(27061) found -[10745] Forked 27062 -[10744] Forked 27063 -(27062) found -(27063) found -[10743] Forked 27064 -[10742] Forked 27065 -(27064) found -(27065) found -[10741] Forked 27066 -[10740] Forked 27067 -(27066) found -(27067) found -[10739] Forked 27068 -[10738] Forked 27069 -(27068) found -(27069) found -[10737] Forked 27070 -[10736] Forked 27071 -(27070) found -(27071) found -[10735] Forked 27072 -[10734] Forked 27073 -(27072) found -(27073) found -[10733] Forked 27074 -[10732] Forked 27075 -(27074) found -(27075) found -[10731] Forked 27076 -[10730] Forked 27077 -(27076) found -(27077) found -[10729] Forked 27078 -[10728] Forked 27079 -(27078) found -(27079) found -[10727] Forked 27080 -[10726] Forked 27081 -(27080) found -(27081) found -[10725] Forked 27082 -[10724] Forked 27083 -(27082) found -(27083) found -[10723] Forked 27084 -[10722] Forked 27085 -(27084) found -(27085) found -[10721] Forked 27086 -[10720] Forked 27087 -(27086) found -(27087) found -[10719] Forked 27088 -[10718] Forked 27089 -(27088) found -(27089) found -[10717] Forked 27090 -[10716] Forked 27091 -(27090) found -(27091) found -[10715] Forked 27092 -[10714] Forked 27093 -(27092) found -(27093) found -[10713] Forked 27094 -[10712] Forked 27095 -(27094) found -(27095) found -[10711] Forked 27096 -[10710] Forked 27097 -(27096) found -(27097) found -[10709] Forked 27098 -[10708] Forked 27099 -(27098) found -(27099) found -[10707] Forked 27100 -[10706] Forked 27101 -(27100) found -(27101) found -[10705] Forked 27102 -[10704] Forked 27103 -(27102) found -(27103) found -[10703] Forked 27104 -[10702] Forked 27105 -(27104) found -(27105) found -[10701] Forked 27106 -[10700] Forked 27107 -(27106) found -(27107) found -[10699] Forked 27108 -[10698] Forked 27109 -(27108) found -(27109) found -[10697] Forked 27110 -[10696] Forked 27111 -(27110) found -(27111) found -[10695] Forked 27112 -[10694] Forked 27113 -(27112) found -(27113) found -[10693] Forked 27114 -[10692] Forked 27115 -(27114) found -(27115) found -[10691] Forked 27116 -[10690] Forked 27117 -(27116) found -(27117) found -[10689] Forked 27118 -[10688] Forked 27119 -(27118) found -(27119) found -[10687] Forked 27120 -[10686] Forked 27121 -(27120) found -(27121) found -[10685] Forked 27122 -[10684] Forked 27123 -(27122) found -(27123) found -[10683] Forked 27124 -[10682] Forked 27125 -(27124) found -(27125) found -[10681] Forked 27126 -[10680] Forked 27127 -(27126) found -(27127) found -[10679] Forked 27128 -[10678] Forked 27129 -(27128) found -(27129) found -[10677] Forked 27130 -[10676] Forked 27131 -(27130) found -(27131) found -[10675] Forked 27132 -[10674] Forked 27133 -(27132) found -(27133) found -[10673] Forked 27134 -[10672] Forked 27135 -(27134) found -(27135) found -[10671] Forked 27136 -[10670] Forked 27138 -(27136) found -(27138) found -[10669] Forked 27139 -(27139) found -[10668] Forked 27140 -(27140) found -[10667] Forked 27141 -(27141) found -[10666] Forked 27142 -(27142) found -[10665] Forked 27143 -(27143) found -[10664] Forked 27144 -(27144) found -[10663] Forked 27145 -(27145) found -[10662] Forked 27146 -(27146) found -[10661] Forked 27147 -(27147) found -[10660] Forked 27148 -(27148) found -[10659] Forked 27149 -(27149) found -[10658] Forked 27150 -(27150) found -[10657] Forked 27151 -(27151) found -[10656] Forked 27152 -(27152) found -[10655] Forked 27153 -(27153) found -[10654] Forked 27154 -(27154) found -[10653] Forked 27155 -(27155) found -[10652] Forked 27156 -(27156) found -[10651] Forked 27157 -(27157) found -[10650] Forked 27158 -(27158) found -[10649] Forked 27159 -(27159) found -[10648] Forked 27160 -(27160) found -[10647] Forked 27161 -(27161) found -[10646] Forked 27162 -(27162) found -[10645] Forked 27163 -(27163) found -[10644] Forked 27164 -(27164) found -[10643] Forked 27165 -(27165) found -[10642] Forked 27166 -(27166) found -[10641] Forked 27167 -(27167) found -[10640] Forked 27168 -(27168) found -[10639] Forked 27169 -(27169) found -[10638] Forked 27170 -(27170) found -[10637] Forked 27171 -(27171) found -[10636] Forked 27172 -(27172) found -[10635] Forked 27173 -(27173) found -[10634] Forked 27174 -(27174) found -[10633] Forked 27175 -(27175) found -[10632] Forked 27176 -(27176) found -[10631] Forked 27177 -(27177) found -[10630] Forked 27178 -(27178) found -[10629] Forked 27179 -(27179) found -[10628] Forked 27180 -(27180) found -[10627] Forked 27181 -(27181) found -[10626] Forked 27182 -(27182) found -[10625] Forked 27183 -(27183) found -[10624] Forked 27184 -(27184) found -[10623] Forked 27185 -(27185) found -[10622] Forked 27186 -(27186) found -[10621] Forked 27187 -(27187) found -[10620] Forked 27188 -(27188) found -[10619] Forked 27189 -(27189) found -[10618] Forked 27190 -(27190) found -[10617] Forked 27191 -(27191) found -[10616] Forked 27192 -(27192) found -[10615] Forked 27193 -(27193) found -[10614] Forked 27194 -(27194) found -[10613] Forked 27195 -(27195) found -[10612] Forked 27196 -(27196) found -[10611] Forked 27197 -(27197) found -[10610] Forked 27198 -(27198) found -[10609] Forked 27199 -(27199) found -[10608] Forked 27200 -(27200) found -[10607] Forked 27201 -(27201) found -[10606] Forked 27202 -(27202) found -[10605] Forked 27203 -(27203) found -[10604] Forked 27204 -(27204) found -[10603] Forked 27205 -(27205) found -[10602] Forked 27206 -(27206) found -[10601] Forked 27207 -(27207) found -[10600] Forked 27208 -(27208) found -[10599] Forked 27209 -(27209) found -[10598] Forked 27210 -(27210) found -[10597] Forked 27211 -(27211) found -[10596] Forked 27212 -(27212) found -[10595] Forked 27213 -(27213) found -[10594] Forked 27214 -(27214) found -[10593] Forked 27215 -(27215) found -[10592] Forked 27216 -(27216) found -[10591] Forked 27217 -(27217) found -[10590] Forked 27218 -(27218) found -[10589] Forked 27219 -(27219) found -[10588] Forked 27220 -(27220) found -[10587] Forked 27221 -(27221) found -[10586] Forked 27222 -(27222) found -[10585] Forked 27223 -(27223) found -[10584] Forked 27224 -(27224) found -[10583] Forked 27225 -(27225) found -[10582] Forked 27226 -(27226) found -[10581] Forked 27227 -(27227) found -[10580] Forked 27228 -(27228) found -[10579] Forked 27229 -(27229) found -[10578] Forked 27230 -(27230) found -[10577] Forked 27231 -(27231) found -[10576] Forked 27232 -(27232) found -[10575] Forked 27233 -(27233) found -[10574] Forked 27234 -(27234) found -[10573] Forked 27235 -(27235) found -[10572] Forked 27236 -(27236) found -[10571] Forked 27237 -(27237) found -[10570] Forked 27238 -(27238) found -[10569] Forked 27239 -(27239) found -[10568] Forked 27240 -(27240) found -[10567] Forked 27241 -(27241) found -[10566] Forked 27242 -(27242) found -[10565] Forked 27243 -(27243) found -[10564] Forked 27244 -(27244) found -[10563] Forked 27245 -(27245) found -[10562] Forked 27246 -(27246) found -[10561] Forked 27247 -(27247) found -[10560] Forked 27248 -(27248) found -[10559] Forked 27249 -(27249) found -[10558] Forked 27250 -[10557] Forked 27251 -(27250) found -(27251) found -[10556] Forked 27252 -[10555] Forked 27253 -(27252) found -(27253) found -[10554] Forked 27254 -[10553] Forked 27255 -(27254) found -(27255) found -[10552] Forked 27256 -[10551] Forked 27257 -(27256) found -(27257) found -[10550] Forked 27258 -[10549] Forked 27259 -(27258) found -(27259) found -[10548] Forked 27260 -[10547] Forked 27261 -(27260) found -(27261) found -[10546] Forked 27262 -[10545] Forked 27263 -(27262) found -(27263) found -[10544] Forked 27264 -[10543] Forked 27265 -(27264) found -(27265) found -[10542] Forked 27266 -[10541] Forked 27267 -(27266) found -(27267) found -[10540] Forked 27268 -[10539] Forked 27269 -(27268) found -(27269) found -[10538] Forked 27270 -[10537] Forked 27271 -(27270) found -(27271) found -[10536] Forked 27272 -[10535] Forked 27273 -(27272) found -(27273) found -[10534] Forked 27274 -[10533] Forked 27275 -(27274) found -(27275) found -[10532] Forked 27276 -[10531] Forked 27277 -(27276) found -(27277) found -[10530] Forked 27278 -[10529] Forked 27279 -(27278) found -(27279) found -[10528] Forked 27280 -[10527] Forked 27281 -(27280) found -(27281) found -[10526] Forked 27282 -[10525] Forked 27283 -(27282) found -(27283) found -[10524] Forked 27284 -[10523] Forked 27285 -(27284) found -(27285) found -[10522] Forked 27286 -[10521] Forked 27287 -(27286) found -(27287) found -[10520] Forked 27288 -[10519] Forked 27289 -(27288) found -(27289) found -[10518] Forked 27290 -[10517] Forked 27291 -(27290) found -(27291) found -[10516] Forked 27292 -[10515] Forked 27293 -(27292) found -(27293) found -[10514] Forked 27294 -(27294) found -[10513] Forked 27295 -(27295) found -[10512] Forked 27296 -(27296) found -[10511] Forked 27297 -(27297) found -[10510] Forked 27298 -(27298) found -[10509] Forked 27299 -(27299) found -[10508] Forked 27300 -(27300) found -[10507] Forked 27301 -(27301) found -[10506] Forked 27302 -(27302) found -[10505] Forked 27303 -(27303) found -[10504] Forked 27304 -(27304) found -[10503] Forked 27305 -(27305) found -[10502] Forked 27306 -(27306) found -[10501] Forked 27307 -(27307) found -[10500] Forked 27308 -(27308) found -[10499] Forked 27309 -(27309) found -[10498] Forked 27310 -(27310) found -[10497] Forked 27311 -(27311) found -[10496] Forked 27312 -(27312) found -[10495] Forked 27313 -(27313) found -[10494] Forked 27314 -(27314) found -[10493] Forked 27315 -(27315) found -[10492] Forked 27316 -(27316) found -[10491] Forked 27317 -(27317) found -[10490] Forked 27318 -(27318) found -[10489] Forked 27319 -(27319) found -[10488] Forked 27320 -(27320) found -[10487] Forked 27321 -(27321) found -[10486] Forked 27322 -(27322) found -[10485] Forked 27323 -(27323) found -[10484] Forked 27324 -(27324) found -[10483] Forked 27325 -(27325) found -[10482] Forked 27326 -(27326) found -[10481] Forked 27327 -(27327) found -[10480] Forked 27328 -(27328) found -[10479] Forked 27329 -(27329) found -[10478] Forked 27330 -(27330) found -[10477] Forked 27331 -[10476] Forked 27332 -(27331) found -(27332) found -[10475] Forked 27333 -[10474] Forked 27334 -(27333) found -(27334) found -[10473] Forked 27335 -[10472] Forked 27336 -(27335) found -(27336) found -[10471] Forked 27337 -[10470] Forked 27338 -(27337) found -(27338) found -[10469] Forked 27339 -[10468] Forked 27340 -(27339) found -(27340) found -[10467] Forked 27341 -(27341) found -[10466] Forked 27342 -(27342) found -[10465] Forked 27343 -[10464] Forked 27344 -(27343) found -(27344) found -[10463] Forked 27345 -[10462] Forked 27346 -(27345) found -(27346) found -[10461] Forked 27347 -[10460] Forked 27348 -(27347) found -(27348) found -[10459] Forked 27349 -[10458] Forked 27350 -(27349) found -(27350) found -[10457] Forked 27351 -[10456] Forked 27352 -(27351) found -(27352) found -[10455] Forked 27353 -[10454] Forked 27354 -(27353) found -(27354) found -[10453] Forked 27355 -[10452] Forked 27356 -(27355) found -(27356) found -[10451] Forked 27357 -[10450] Forked 27358 -(27357) found -(27358) found -[10449] Forked 27359 -[10448] Forked 27360 -(27359) found -(27360) found -[10447] Forked 27361 -[10446] Forked 27362 -(27361) found -(27362) found -[10445] Forked 27363 -[10444] Forked 27364 -(27363) found -(27364) found -[10443] Forked 27365 -[10442] Forked 27366 -(27365) found -(27366) found -[10441] Forked 27367 -[10440] Forked 27368 -(27367) found -(27368) found -[10439] Forked 27369 -(27369) found -[10438] Forked 27370 -[10437] Forked 27371 -(27370) found -(27371) found -[10436] Forked 27372 -[10435] Forked 27373 -[10434] Forked 27374 -(27372) found -(27373) found -(27374) found -[10433] Forked 27375 -(27375) found -[10432] Forked 27376 -(27376) found -[10431] Forked 27377 -(27377) found -[10430] Forked 27378 -(27378) found -[10429] Forked 27379 -(27379) found -[10428] Forked 27380 -(27380) found -[10427] Forked 27381 -(27381) found -[10426] Forked 27382 -(27382) found -[10425] Forked 27383 -(27383) found -[10424] Forked 27384 -(27384) found -[10423] Forked 27385 -(27385) found -[10422] Forked 27386 -(27386) found -[10421] Forked 27387 -(27387) found -[10420] Forked 27388 -(27388) found -[10419] Forked 27389 -(27389) found -[10418] Forked 27390 -(27390) found -[10417] Forked 27391 -(27391) found -[10416] Forked 27392 -(27392) found -[10415] Forked 27393 -(27393) found -[10414] Forked 27394 -(27394) found -[10413] Forked 27395 -(27395) found -[10412] Forked 27396 -(27396) found -[10411] Forked 27397 -(27397) found -[10410] Forked 27398 -(27398) found -[10409] Forked 27399 -(27399) found -[10408] Forked 27400 -(27400) found -[10407] Forked 27401 -(27401) found -[10406] Forked 27402 -(27402) found -[10405] Forked 27403 -(27403) found -[10404] Forked 27404 -(27404) found -[10403] Forked 27405 -(27405) found -[10402] Forked 27406 -(27406) found -[10401] Forked 27407 -(27407) found -[10400] Forked 27408 -(27408) found -[10399] Forked 27409 -(27409) found -[10398] Forked 27410 -(27410) found -[10397] Forked 27411 -[10396] Forked 27412 -(27411) found -(27412) found -[10395] Forked 27413 -[10394] Forked 27414 -(27413) found -(27414) found -[10393] Forked 27415 -[10392] Forked 27416 -(27415) found -(27416) found -[10391] Forked 27417 -[10390] Forked 27418 -(27417) found -(27418) found -[10389] Forked 27419 -[10388] Forked 27420 -(27419) found -(27420) found -[10387] Forked 27421 -[10386] Forked 27422 -(27421) found -(27422) found -[10385] Forked 27423 -[10384] Forked 27424 -(27423) found -(27424) found -[10383] Forked 27425 -[10382] Forked 27426 -(27425) found -(27426) found -[10381] Forked 27427 -[10380] Forked 27428 -(27427) found -(27428) found -[10379] Forked 27429 -[10378] Forked 27430 -(27429) found -(27430) found -[10377] Forked 27431 -[10376] Forked 27432 -(27431) found -(27432) found -[10375] Forked 27433 -[10374] Forked 27434 -(27433) found -(27434) found -[10373] Forked 27435 -[10372] Forked 27436 -(27435) found -(27436) found -[10371] Forked 27437 -[10370] Forked 27438 -(27437) found -(27438) found -[10369] Forked 27439 -[10368] Forked 27440 -(27439) found -(27440) found -[10367] Forked 27441 -[10366] Forked 27442 -(27441) found -(27442) found -[10365] Forked 27443 -[10364] Forked 27444 -(27443) found -(27444) found -[10363] Forked 27445 -[10362] Forked 27446 -(27445) found -(27446) found -[10361] Forked 27447 -[10360] Forked 27448 -(27447) found -(27448) found -[10359] Forked 27449 -[10358] Forked 27450 -(27449) found -(27450) found -[10357] Forked 27451 -[10356] Forked 27452 -(27451) found -(27452) found -[10355] Forked 27453 -[10354] Forked 27454 -(27453) found -(27454) found -[10353] Forked 27455 -(27455) found -[10352] Forked 27456 -(27456) found -[10351] Forked 27457 -(27457) found -[10350] Forked 27458 -(27458) found -[10349] Forked 27459 -(27459) found -[10348] Forked 27460 -(27460) found -[10347] Forked 27461 -(27461) found -[10346] Forked 27462 -(27462) found -[10345] Forked 27463 -(27463) found -[10344] Forked 27464 -(27464) found -[10343] Forked 27465 -(27465) found -[10342] Forked 27466 -(27466) found -[10341] Forked 27467 -(27467) found -[10340] Forked 27468 -(27468) found -[10339] Forked 27469 -(27469) found -[10338] Forked 27470 -(27470) found -[10337] Forked 27471 -(27471) found -[10336] Forked 27472 -(27472) found -[10335] Forked 27473 -(27473) found -[10334] Forked 27474 -(27474) found -[10333] Forked 27475 -(27475) found -[10332] Forked 27476 -(27476) found -[10331] Forked 27477 -(27477) found -[10330] Forked 27478 -(27478) found -[10329] Forked 27479 -(27479) found -[10328] Forked 27480 -(27480) found -[10327] Forked 27481 -(27481) found -[10326] Forked 27482 -(27482) found -[10325] Forked 27483 -(27483) found -[10324] Forked 27484 -(27484) found -[10323] Forked 27485 -(27485) found -[10322] Forked 27486 -(27486) found -[10321] Forked 27487 -(27487) found -[10320] Forked 27488 -(27488) found -[10319] Forked 27489 -(27489) found -[10318] Forked 27490 -(27490) found -[10317] Forked 27491 -(27491) found -[10316] Forked 27492 -(27492) found -[10315] Forked 27493 -[10314] Forked 27494 -(27493) found -(27494) found -[10313] Forked 27495 -[10312] Forked 27496 -(27495) found -(27496) found -[10311] Forked 27497 -[10310] Forked 27498 -(27497) found -(27498) found -[10309] Forked 27499 -[10308] Forked 27500 -(27499) found -(27500) found -[10307] Forked 27501 -[10306] Forked 27502 -(27501) found -(27502) found -[10305] Forked 27503 -[10304] Forked 27504 -(27503) found -(27504) found -[10303] Forked 27505 -[10302] Forked 27506 -(27505) found -(27506) found -[10301] Forked 27507 -[10300] Forked 27508 -(27507) found -(27508) found -[10299] Forked 27509 -[10298] Forked 27510 -(27509) found -(27510) found -[10297] Forked 27511 -[10296] Forked 27512 -(27511) found -(27512) found -[10295] Forked 27513 -[10294] Forked 27514 -(27513) found -(27514) found -[10293] Forked 27515 -[10292] Forked 27516 -(27515) found -(27516) found -[10291] Forked 27517 -[10290] Forked 27518 -(27517) found -(27518) found -[10289] Forked 27519 -[10288] Forked 27520 -(27519) found -(27520) found -[10287] Forked 27521 -[10286] Forked 27522 -(27521) found -(27522) found -[10285] Forked 27523 -[10284] Forked 27524 -(27523) found -(27524) found -[10283] Forked 27525 -[10282] Forked 27526 -(27525) found -(27526) found -[10281] Forked 27527 -[10280] Forked 27528 -(27527) found -(27528) found -[10279] Forked 27529 -[10278] Forked 27530 -(27529) found -(27530) found -[10277] Forked 27531 -[10276] Forked 27532 -(27531) found -(27532) found -[10275] Forked 27533 -[10274] Forked 27534 -(27533) found -(27534) found -[10273] Forked 27535 -[10272] Forked 27536 -(27535) found -(27536) found -[10271] Forked 27537 -(27537) found -[10270] Forked 27538 -(27538) found -[10269] Forked 27539 -(27539) found -[10268] Forked 27540 -(27540) found -[10267] Forked 27541 -(27541) found -[10266] Forked 27542 -(27542) found -[10265] Forked 27543 -(27543) found -[10264] Forked 27544 -(27544) found -[10263] Forked 27545 -(27545) found -[10262] Forked 27546 -(27546) found -[10261] Forked 27547 -(27547) found -[10260] Forked 27548 -(27548) found -[10259] Forked 27549 -(27549) found -[10258] Forked 27550 -(27550) found -[10257] Forked 27551 -(27551) found -[10256] Forked 27552 -(27552) found -[10255] Forked 27553 -(27553) found -[10254] Forked 27554 -(27554) found -[10253] Forked 27555 -(27555) found -[10252] Forked 27556 -(27556) found -[10251] Forked 27557 -(27557) found -[10250] Forked 27558 -(27558) found -[10249] Forked 27559 -(27559) found -[10248] Forked 27560 -(27560) found -[10247] Forked 27561 -(27561) found -[10246] Forked 27562 -(27562) found -[10245] Forked 27563 -(27563) found -[10244] Forked 27564 -(27564) found -[10243] Forked 27565 -(27565) found -[10242] Forked 27566 -(27566) found -[10241] Forked 27567 -(27567) found -[10240] Forked 27568 -(27568) found -[10239] Forked 27569 -(27569) found -[10238] Forked 27570 -(27570) found -[10237] Forked 27571 -(27571) found -[10236] Forked 27572 -(27572) found -[10235] Forked 27573 -(27573) found -[10234] Forked 27574 -(27574) found -[10233] Forked 27575 -(27575) found -[10232] Forked 27576 -[10231] Forked 27577 -(27576) found -(27577) found -[10230] Forked 27578 -[10229] Forked 27579 -(27578) found -(27579) found -[10228] Forked 27580 -[10227] Forked 27581 -(27580) found -(27581) found -[10226] Forked 27582 -[10225] Forked 27583 -(27582) found -(27583) found -[10224] Forked 27584 -[10223] Forked 27585 -(27584) found -(27585) found -[10222] Forked 27586 -[10221] Forked 27587 -(27586) found -(27587) found -[10220] Forked 27588 -[10219] Forked 27589 -(27588) found -(27589) found -[10218] Forked 27590 -[10217] Forked 27591 -(27590) found -(27591) found -[10216] Forked 27592 -[10215] Forked 27593 -(27592) found -(27593) found -[10214] Forked 27594 -[10213] Forked 27595 -(27594) found -(27595) found -[10212] Forked 27596 -[10211] Forked 27597 -(27596) found -(27597) found -[10210] Forked 27598 -[10209] Forked 27599 -(27598) found -(27599) found -[10208] Forked 27600 -[10207] Forked 27601 -(27600) found -(27601) found -[10206] Forked 27602 -[10205] Forked 27603 -(27602) found -(27603) found -[10204] Forked 27604 -[10203] Forked 27605 -(27604) found -(27605) found -[10202] Forked 27606 -[10201] Forked 27607 -(27606) found -(27607) found -[10200] Forked 27608 -[10199] Forked 27609 -(27608) found -(27609) found -[10198] Forked 27610 -[10197] Forked 27611 -(27610) found -(27611) found -[10196] Forked 27612 -[10195] Forked 27613 -(27612) found -(27613) found -[10194] Forked 27614 -[10193] Forked 27615 -(27614) found -(27615) found -[10192] Forked 27616 -[10191] Forked 27617 -(27616) found -(27617) found -[10190] Forked 27618 -[10189] Forked 27619 -(27618) found -(27619) found -[10188] Forked 27620 -(27620) found -[10187] Forked 27621 -(27621) found -[10186] Forked 27622 -(27622) found -[10185] Forked 27623 -(27623) found -[10184] Forked 27624 -(27624) found -[10183] Forked 27625 -(27625) found -[10182] Forked 27626 -(27626) found -[10181] Forked 27627 -(27627) found -[10180] Forked 27628 -(27628) found -[10179] Forked 27629 -(27629) found -[10178] Forked 27630 -(27630) found -[10177] Forked 27631 -(27631) found -[10176] Forked 27632 -(27632) found -[10175] Forked 27633 -(27633) found -[10174] Forked 27634 -(27634) found -[10173] Forked 27635 -(27635) found -[10172] Forked 27636 -(27636) found -[10171] Forked 27637 -(27637) found -[10170] Forked 27638 -(27638) found -[10169] Forked 27639 -(27639) found -[10168] Forked 27640 -(27640) found -[10167] Forked 27641 -(27641) found -[10166] Forked 27642 -(27642) found -[10165] Forked 27643 -(27643) found -[10164] Forked 27644 -(27644) found -[10163] Forked 27645 -(27645) found -[10162] Forked 27646 -(27646) found -[10161] Forked 27647 -(27647) found -[10160] Forked 27648 -(27648) found -[10159] Forked 27649 -(27649) found -[10158] Forked 27650 -(27650) found -[10157] Forked 27651 -(27651) found -[10156] Forked 27652 -(27652) found -[10155] Forked 27653 -(27653) found -[10154] Forked 27654 -(27654) found -[10153] Forked 27655 -(27655) found -[10152] Forked 27656 -(27656) found -[10151] Forked 27657 -(27657) found -[10150] Forked 27658 -[10149] Forked 27659 -(27658) found -(27659) found -[10148] Forked 27660 -[10147] Forked 27661 -(27660) found -(27661) found -[10146] Forked 27662 -[10145] Forked 27663 -(27662) found -(27663) found -[10144] Forked 27664 -[10143] Forked 27665 -(27664) found -(27665) found -[10142] Forked 27666 -[10141] Forked 27667 -(27666) found -(27667) found -[10140] Forked 27668 -[10139] Forked 27669 -(27668) found -(27669) found -[10138] Forked 27670 -[10137] Forked 27671 -(27670) found -(27671) found -[10136] Forked 27672 -[10135] Forked 27673 -(27672) found -(27673) found -[10134] Forked 27674 -[10133] Forked 27675 -(27674) found -(27675) found -[10132] Forked 27676 -[10131] Forked 27677 -(27676) found -(27677) found -[10130] Forked 27678 -[10129] Forked 27679 -(27678) found -(27679) found -[10128] Forked 27680 -[10127] Forked 27681 -(27680) found -(27681) found -[10126] Forked 27682 -[10125] Forked 27683 -(27682) found -(27683) found -[10124] Forked 27684 -[10123] Forked 27685 -(27684) found -(27685) found -[10122] Forked 27686 -[10121] Forked 27687 -(27686) found -(27687) found -[10120] Forked 27688 -[10119] Forked 27689 -(27688) found -(27689) found -[10118] Forked 27691 -[10117] Forked 27692 -(27691) found -(27692) found -[10116] Forked 27693 -[10115] Forked 27694 -(27693) found -(27694) found -[10114] Forked 27695 -[10113] Forked 27696 -(27695) found -(27696) found -[10112] Forked 27697 -[10111] Forked 27698 -(27697) found -(27698) found -[10110] Forked 27699 -[10109] Forked 27700 -(27699) found -(27700) found -[10108] Forked 27701 -[10107] Forked 27702 -(27701) found -(27702) found -[10106] Forked 27703 -(27703) found -[10105] Forked 27704 -(27704) found -[10104] Forked 27705 -(27705) found -[10103] Forked 27706 -(27706) found -[10102] Forked 27707 -(27707) found -[10101] Forked 27708 -(27708) found -[10100] Forked 27709 -(27709) found -[10099] Forked 27710 -(27710) found -[10098] Forked 27711 -(27711) found -[10097] Forked 27712 -(27712) found -[10096] Forked 27713 -(27713) found -[10095] Forked 27714 -(27714) found -[10094] Forked 27715 -(27715) found -[10093] Forked 27716 -(27716) found -[10092] Forked 27717 -(27717) found -[10091] Forked 27718 -(27718) found -[10090] Forked 27719 -(27719) found -[10089] Forked 27720 -(27720) found -[10088] Forked 27721 -(27721) found -[10087] Forked 27722 -(27722) found -[10086] Forked 27723 -(27723) found -[10085] Forked 27724 -(27724) found -[10084] Forked 27725 -(27725) found -[10083] Forked 27726 -(27726) found -[10082] Forked 27727 -(27727) found -[10081] Forked 27728 -(27728) found -[10080] Forked 27729 -(27729) found -[10079] Forked 27730 -(27730) found -[10078] Forked 27731 -(27731) found -[10077] Forked 27732 -(27732) found -[10076] Forked 27733 -(27733) found -[10075] Forked 27734 -(27734) found -[10074] Forked 27735 -(27735) found -[10073] Forked 27736 -(27736) found -[10072] Forked 27737 -(27737) found -[10071] Forked 27738 -(27738) found -[10070] Forked 27739 -(27739) found -[10069] Forked 27740 -(27740) found -[10068] Forked 27741 -(27741) found -[10067] Forked 27742 -[10066] Forked 27743 -(27742) found -(27743) found -[10065] Forked 27744 -[10064] Forked 27745 -(27744) found -(27745) found -[10063] Forked 27746 -[10062] Forked 27747 -(27746) found -(27747) found -[10061] Forked 27748 -[10060] Forked 27749 -(27748) found -(27749) found -[10059] Forked 27750 -[10058] Forked 27751 -(27750) found -(27751) found -[10057] Forked 27752 -[10056] Forked 27753 -(27752) found -(27753) found -[10055] Forked 27754 -[10054] Forked 27756 -(27754) found -(27756) found -[10053] Forked 27757 -(27757) found -[10052] Forked 27758 -(27758) found -[10051] Forked 27759 -(27759) found -[10050] Forked 27760 -(27760) found -[10049] Forked 27761 -(27761) found -[10048] Forked 27762 -(27762) found -[10047] Forked 27763 -(27763) found -[10046] Forked 27764 -(27764) found -[10045] Forked 27765 -(27765) found -[10044] Forked 27766 -(27766) found -[10043] Forked 27767 -(27767) found -[10042] Forked 27768 -(27768) found -[10041] Forked 27769 -(27769) found -[10040] Forked 27770 -(27770) found -[10039] Forked 27771 -(27771) found -[10038] Forked 27772 -(27772) found -[10037] Forked 27773 -(27773) found -[10036] Forked 27774 -(27774) found -[10035] Forked 27775 -(27775) found -[10034] Forked 27776 -(27776) found -[10033] Forked 27777 -(27777) found -[10032] Forked 27778 -(27778) found -[10031] Forked 27779 -(27779) found -[10030] Forked 27780 -(27780) found -[10029] Forked 27781 -(27781) found -[10028] Forked 27782 -(27782) found -[10027] Forked 27783 -(27783) found -[10026] Forked 27784 -(27784) found -[10025] Forked 27785 -(27785) found -[10024] Forked 27786 -(27786) found -[10023] Forked 27787 -(27787) found -[10022] Forked 27788 -(27788) found -[10021] Forked 27789 -(27789) found -[10020] Forked 27790 -(27790) found -[10019] Forked 27791 -(27791) found -[10018] Forked 27792 -(27792) found -[10017] Forked 27793 -(27793) found -[10016] Forked 27794 -(27794) found -[10015] Forked 27795 -(27795) found -[10014] Forked 27796 -(27796) found -[10013] Forked 27797 -(27797) found -[10012] Forked 27798 -(27798) found -[10011] Forked 27799 -(27799) found -[10010] Forked 27800 -(27800) found -[10009] Forked 27801 -(27801) found -[10008] Forked 27802 -(27802) found -[10007] Forked 27803 -(27803) found -[10006] Forked 27804 -(27804) found -[10005] Forked 27805 -(27805) found -[10004] Forked 27806 -(27806) found -[10003] Forked 27807 -(27807) found -[10002] Forked 27808 -(27808) found -[10001] Forked 27809 -(27809) found -[10000] Forked 27810 -(27810) found -[9999] Forked 27811 -(27811) found -[9998] Forked 27812 -[9997] Forked 27813 -(27812) found -(27813) found -[9996] Forked 27814 -[9995] Forked 27815 -(27814) found -(27815) found -[9994] Forked 27816 -[9993] Forked 27817 -(27816) found -(27817) found -[9992] Forked 27818 -[9991] Forked 27819 -(27818) found -(27819) found -[9990] Forked 27820 -[9989] Forked 27821 -(27820) found -(27821) found -[9988] Forked 27822 -[9987] Forked 27823 -(27822) found -(27823) found -[9986] Forked 27824 -[9985] Forked 27825 -(27824) found -(27825) found -[9984] Forked 27826 -[9983] Forked 27827 -(27826) found -(27827) found -[9982] Forked 27828 -[9981] Forked 27829 -(27828) found -(27829) found -[9980] Forked 27831 -[9979] Forked 27832 -(27831) found -(27832) found -[9978] Forked 27833 -[9977] Forked 27834 -(27833) found -(27834) found -[9976] Forked 27835 -[9975] Forked 27836 -(27835) found -(27836) found -[9974] Forked 27837 -[9973] Forked 27838 -(27837) found -(27838) found -[9972] Forked 27839 -[9971] Forked 27840 -(27839) found -(27840) found -[9970] Forked 27841 -[9969] Forked 27842 -(27841) found -(27842) found -[9968] Forked 27843 -[9967] Forked 27844 -(27843) found -(27844) found -[9966] Forked 27845 -[9965] Forked 27846 -(27845) found -(27846) found -[9964] Forked 27847 -[9963] Forked 27848 -(27847) found -(27848) found -[9962] Forked 27849 -[9961] Forked 27850 -(27849) found -(27850) found -[9960] Forked 27851 -[9959] Forked 27852 -(27851) found -(27852) found -[9958] Forked 27853 -(27853) found -[9957] Forked 27854 -(27854) found -[9956] Forked 27855 -(27855) found -[9955] Forked 27856 -(27856) found -[9954] Forked 27857 -(27857) found -[9953] Forked 27858 -(27858) found -[9952] Forked 27859 -(27859) found -[9951] Forked 27860 -(27860) found -[9950] Forked 27861 -(27861) found -[9949] Forked 27862 -(27862) found -[9948] Forked 27863 -(27863) found -[9947] Forked 27864 -(27864) found -[9946] Forked 27865 -(27865) found -[9945] Forked 27866 -(27866) found -[9944] Forked 27867 -(27867) found -[9943] Forked 27868 -(27868) found -[9942] Forked 27869 -(27869) found -[9941] Forked 27870 -(27870) found -[9940] Forked 27871 -(27871) found -[9939] Forked 27872 -(27872) found -[9938] Forked 27873 -(27873) found -[9937] Forked 27874 -(27874) found -[9936] Forked 27875 -(27875) found -[9935] Forked 27876 -(27876) found -[9934] Forked 27877 -(27877) found -[9933] Forked 27878 -(27878) found -[9932] Forked 27879 -(27879) found -[9931] Forked 27880 -(27880) found -[9930] Forked 27881 -(27881) found -[9929] Forked 27882 -(27882) found -[9928] Forked 27883 -(27883) found -[9927] Forked 27884 -(27884) found -[9926] Forked 27885 -(27885) found -[9925] Forked 27886 -(27886) found -[9924] Forked 27887 -(27887) found -[9923] Forked 27888 -(27888) found -[9922] Forked 27889 -(27889) found -[9921] Forked 27890 -(27890) found -[9920] Forked 27891 -(27891) found -[9919] Forked 27892 -(27892) found -[9918] Forked 27893 -(27893) found -[9917] Forked 27894 -[9916] Forked 27895 -(27894) found -(27895) found -[9915] Forked 27896 -[9914] Forked 27897 -(27896) found -(27897) found -[9913] Forked 27898 -[9912] Forked 27899 -(27898) found -(27899) found -[9911] Forked 27900 -[9910] Forked 27901 -(27900) found -(27901) found -[9909] Forked 27902 -[9908] Forked 27903 -(27902) found -(27903) found -[9907] Forked 27904 -[9906] Forked 27905 -(27904) found -(27905) found -[9905] Forked 27906 -[9904] Forked 27907 -(27906) found -(27907) found -[9903] Forked 27908 -[9902] Forked 27909 -(27908) found -(27909) found -[9901] Forked 27910 -[9900] Forked 27911 -(27910) found -(27911) found -[9899] Forked 27912 -[9898] Forked 27913 -(27912) found -(27913) found -[9897] Forked 27914 -[9896] Forked 27915 -(27914) found -(27915) found -[9895] Forked 27916 -[9894] Forked 27917 -(27916) found -(27917) found -[9893] Forked 27918 -[9892] Forked 27919 -(27918) found -(27919) found -[9891] Forked 27920 -[9890] Forked 27921 -(27920) found -(27921) found -[9889] Forked 27922 -[9888] Forked 27923 -(27922) found -(27923) found -[9887] Forked 27924 -[9886] Forked 27925 -(27924) found -(27925) found -[9885] Forked 27926 -[9884] Forked 27927 -(27926) found -(27927) found -[9883] Forked 27928 -[9882] Forked 27929 -(27928) found -(27929) found -[9881] Forked 27930 -[9880] Forked 27931 -(27930) found -(27931) found -[9879] Forked 27932 -[9878] Forked 27933 -(27932) found -(27933) found -[9877] Forked 27934 -(27934) found -[9876] Forked 27935 -(27935) found -[9875] Forked 27936 -(27936) found -[9874] Forked 27937 -(27937) found -[9873] Forked 27938 -(27938) found -[9872] Forked 27939 -(27939) found -[9871] Forked 27940 -(27940) found -[9870] Forked 27941 -(27941) found -[9869] Forked 27942 -(27942) found -[9868] Forked 27943 -(27943) found -[9867] Forked 27944 -(27944) found -[9866] Forked 27945 -(27945) found -[9865] Forked 27946 -(27946) found -[9864] Forked 27947 -(27947) found -[9863] Forked 27948 -(27948) found -[9862] Forked 27949 -(27949) found -[9861] Forked 27950 -(27950) found -[9860] Forked 27951 -(27951) found -[9859] Forked 27952 -(27952) found -[9858] Forked 27953 -(27953) found -[9857] Forked 27954 -(27954) found -[9856] Forked 27955 -(27955) found -[9855] Forked 27956 -(27956) found -[9854] Forked 27957 -(27957) found -[9853] Forked 27958 -(27958) found -[9852] Forked 27959 -(27959) found -[9851] Forked 27960 -(27960) found -[9850] Forked 27961 -(27961) found -[9849] Forked 27962 -(27962) found -[9848] Forked 27963 -(27963) found -[9847] Forked 27964 -(27964) found -[9846] Forked 27965 -(27965) found -[9845] Forked 27966 -(27966) found -[9844] Forked 27967 -(27967) found -[9843] Forked 27968 -(27968) found -[9842] Forked 27969 -(27969) found -[9841] Forked 27970 -(27970) found -[9840] Forked 27971 -(27971) found -[9839] Forked 27972 -(27972) found -[9838] Forked 27973 -[9837] Forked 27974 -(27973) found -(27974) found -[9836] Forked 27975 -[9835] Forked 27976 -(27975) found -(27976) found -[9834] Forked 27977 -[9833] Forked 27978 -(27977) found -(27978) found -[9832] Forked 27979 -[9831] Forked 27980 -(27979) found -(27980) found -[9830] Forked 27981 -[9829] Forked 27982 -(27981) found -(27982) found -[9828] Forked 27983 -[9827] Forked 27984 -(27983) found -(27984) found -[9826] Forked 27985 -[9825] Forked 27986 -(27985) found -(27986) found -[9824] Forked 27988 -[9823] Forked 27989 -(27988) found -(27989) found -[9822] Forked 27990 -[9821] Forked 27991 -(27990) found -(27991) found -[9820] Forked 27992 -(27992) found -[9819] Forked 27993 -[9818] Forked 27994 -(27993) found -(27994) found -[9817] Forked 27995 -[9816] Forked 27996 -(27995) found -(27996) found -[9815] Forked 27997 -[9814] Forked 27998 -(27998) found -(27997) found -[9813] Forked 27999 -(27999) found -[9812] Forked 28000 -(28000) found -[9811] Forked 28001 -(28001) found -[9810] Forked 28002 -(28002) found -[9809] Forked 28003 -(28003) found -[9808] Forked 28004 -(28004) found -[9807] Forked 28005 -(28005) found -[9806] Forked 28006 -(28006) found -[9805] Forked 28007 -(28007) found -[9804] Forked 28008 -(28008) found -[9803] Forked 28009 -(28009) found -[9802] Forked 28010 -(28010) found -[9801] Forked 28011 -(28011) found -[9800] Forked 28012 -(28012) found -[9799] Forked 28013 -(28013) found -[9798] Forked 28014 -(28014) found -[9797] Forked 28015 -(28015) found -[9796] Forked 28016 -(28016) found -[9795] Forked 28017 -(28017) found -[9794] Forked 28018 -(28018) found -[9793] Forked 28019 -(28019) found -[9792] Forked 28020 -(28020) found -[9791] Forked 28021 -(28021) found -[9790] Forked 28022 -(28022) found -[9789] Forked 28023 -(28023) found -[9788] Forked 28024 -(28024) found -[9787] Forked 28025 -(28025) found -[9786] Forked 28026 -(28026) found -[9785] Forked 28027 -(28027) found -[9784] Forked 28028 -(28028) found -[9783] Forked 28029 -(28029) found -[9782] Forked 28030 -(28030) found -[9781] Forked 28031 -(28031) found -[9780] Forked 28032 -(28032) found -[9779] Forked 28033 -(28033) found -[9778] Forked 28034 -(28034) found -[9777] Forked 28035 -(28035) found -[9776] Forked 28036 -(28036) found -[9775] Forked 28037 -(28037) found -[9774] Forked 28038 -(28038) found -[9773] Forked 28039 -(28039) found -[9772] Forked 28040 -(28040) found -[9771] Forked 28041 -(28041) found -[9770] Forked 28042 -(28042) found -[9769] Forked 28043 -(28043) found -[9768] Forked 28044 -(28044) found -[9767] Forked 28045 -(28045) found -[9766] Forked 28047 -(28047) found -[9765] Forked 28048 -(28048) found -[9764] Forked 28049 -(28049) found -[9763] Forked 28050 -(28050) found -[9762] Forked 28051 -(28051) found -[9761] Forked 28052 -(28052) found -[9760] Forked 28053 -(28053) found -[9759] Forked 28054 -(28054) found -[9758] Forked 28055 -(28055) found -[9757] Forked 28056 -(28056) found -[9756] Forked 28057 -(28057) found -[9755] Forked 28058 -(28058) found -[9754] Forked 28059 -(28059) found -[9753] Forked 28060 -(28060) found -[9752] Forked 28061 -(28061) found -[9751] Forked 28062 -(28062) found -[9750] Forked 28063 -(28063) found -[9749] Forked 28064 -(28064) found -[9748] Forked 28065 -(28065) found -[9747] Forked 28066 -(28066) found -[9746] Forked 28067 -(28067) found -[9745] Forked 28068 -(28068) found -[9744] Forked 28069 -(28069) found -[9743] Forked 28070 -(28070) found -[9742] Forked 28071 -(28071) found -[9741] Forked 28072 -(28072) found -[9740] Forked 28073 -(28073) found -[9739] Forked 28074 -(28074) found -[9738] Forked 28075 -(28075) found -[9737] Forked 28076 -(28076) found -[9736] Forked 28077 -(28077) found -[9735] Forked 28078 -(28078) found -[9734] Forked 28079 -(28079) found -[9733] Forked 28080 -(28080) found -[9732] Forked 28081 -(28081) found -[9731] Forked 28082 -(28082) found -[9730] Forked 28083 -(28083) found -[9729] Forked 28084 -(28084) found -[9728] Forked 28085 -(28085) found -[9727] Forked 28086 -(28086) found -[9726] Forked 28087 -(28087) found -[9725] Forked 28088 -(28088) found -[9724] Forked 28089 -(28089) found -[9723] Forked 28090 -(28090) found -[9722] Forked 28091 -(28091) found -[9721] Forked 28092 -(28092) found -[9720] Forked 28093 -(28093) found -[9719] Forked 28094 -(28094) found -[9718] Forked 28095 -(28095) found -[9717] Forked 28096 -(28096) found -[9716] Forked 28097 -(28097) found -[9715] Forked 28098 -(28098) found -[9714] Forked 28099 -(28099) found -[9713] Forked 28100 -(28100) found -[9712] Forked 28101 -(28101) found -[9711] Forked 28102 -(28102) found -[9710] Forked 28103 -(28103) found -[9709] Forked 28104 -[9708] Forked 28105 -(28104) found -(28105) found -[9707] Forked 28106 -[9706] Forked 28107 -(28106) found -(28107) found -[9705] Forked 28108 -[9704] Forked 28109 -(28108) found -(28109) found -[9703] Forked 28110 -[9702] Forked 28111 -(28110) found -(28111) found -[9701] Forked 28112 -[9700] Forked 28113 -(28112) found -(28113) found -[9699] Forked 28114 -[9698] Forked 28115 -(28114) found -(28115) found -[9697] Forked 28116 -[9696] Forked 28117 -(28116) found -(28117) found -[9695] Forked 28118 -(28118) found -[9694] Forked 28119 -(28119) found -[9693] Forked 28120 -[9692] Forked 28121 -(28120) found -(28121) found -[9691] Forked 28122 -[9690] Forked 28123 -(28122) found -(28123) found -[9689] Forked 28124 -[9688] Forked 28125 -(28124) found -(28125) found -[9687] Forked 28126 -[9686] Forked 28127 -(28126) found -(28127) found -[9685] Forked 28128 -[9684] Forked 28129 -(28128) found -(28129) found -[9683] Forked 28130 -[9682] Forked 28131 -(28130) found -(28131) found -[9681] Forked 28132 -[9680] Forked 28133 -(28132) found -(28133) found -[9679] Forked 28134 -[9678] Forked 28135 -(28134) found -(28135) found -[9677] Forked 28136 -[9676] Forked 28137 -(28136) found -(28137) found -[9675] Forked 28138 -[9674] Forked 28139 -(28138) found -(28139) found -[9673] Forked 28140 -[9672] Forked 28141 -(28140) found -(28141) found -[9671] Forked 28142 -[9670] Forked 28143 -(28142) found -(28143) found -[9669] Forked 28144 -[9668] Forked 28145 -(28144) found -(28145) found -[9667] Forked 28146 -[9666] Forked 28147 -(28146) found -(28147) found -[9665] Forked 28148 -[9664] Forked 28149 -(28148) found -(28149) found -[9663] Forked 28150 -[9662] Forked 28151 -(28150) found -(28151) found -[9661] Forked 28152 -[9660] Forked 28153 -(28152) found -(28153) found -[9659] Forked 28154 -[9658] Forked 28155 -(28154) found -(28155) found -[9657] Forked 28156 -[9656] Forked 28157 -(28156) found -(28157) found -[9655] Forked 28158 -[9654] Forked 28159 -(28158) found -(28159) found -[9653] Forked 28160 -[9652] Forked 28161 -(28160) found -(28161) found -[9651] Forked 28162 -[9650] Forked 28163 -(28162) found -(28163) found -[9649] Forked 28164 -[9648] Forked 28165 -(28164) found -(28165) found -[9647] Forked 28166 -[9646] Forked 28167 -(28166) found -(28167) found -[9645] Forked 28168 -[9644] Forked 28169 -(28168) found -(28169) found -[9643] Forked 28170 -[9642] Forked 28171 -(28170) found -(28171) found -[9641] Forked 28172 -[9640] Forked 28173 -(28172) found -(28173) found -[9639] Forked 28174 -[9638] Forked 28175 -(28174) found -(28175) found -[9637] Forked 28176 -[9636] Forked 28177 -(28176) found -(28177) found -[9635] Forked 28178 -[9634] Forked 28179 -(28178) found -(28179) found -[9633] Forked 28180 -[9632] Forked 28181 -(28180) found -(28181) found -[9631] Forked 28182 -[9630] Forked 28183 -(28182) found -(28183) found -[9629] Forked 28184 -[9628] Forked 28185 -(28184) found -(28185) found -[9627] Forked 28186 -[9626] Forked 28187 -(28186) found -(28187) found -[9625] Forked 28188 -[9624] Forked 28189 -(28188) found -(28189) found -[9623] Forked 28190 -[9622] Forked 28191 -(28190) found -(28191) found -[9621] Forked 28192 -(28192) found -[9620] Forked 28193 -(28193) found -[9619] Forked 28194 -(28194) found -[9618] Forked 28195 -(28195) found -[9617] Forked 28196 -(28196) found -[9616] Forked 28197 -(28197) found -[9615] Forked 28198 -(28198) found -[9614] Forked 28199 -(28199) found -[9613] Forked 28200 -(28200) found -[9612] Forked 28201 -(28201) found -[9611] Forked 28202 -(28202) found -[9610] Forked 28203 -(28203) found -[9609] Forked 28204 -(28204) found -[9608] Forked 28205 -(28205) found -[9607] Forked 28206 -(28206) found -[9606] Forked 28207 -(28207) found -[9605] Forked 28208 -(28208) found -[9604] Forked 28209 -(28209) found -[9603] Forked 28210 -(28210) found -[9602] Forked 28211 -(28211) found -[9601] Forked 28212 -(28212) found -[9600] Forked 28213 -(28213) found -[9599] Forked 28214 -(28214) found -[9598] Forked 28215 -(28215) found -[9597] Forked 28216 -(28216) found -[9596] Forked 28217 -(28217) found -[9595] Forked 28218 -(28218) found -[9594] Forked 28219 -(28219) found -[9593] Forked 28220 -(28220) found -[9592] Forked 28221 -(28221) found -[9591] Forked 28222 -(28222) found -[9590] Forked 28223 -(28223) found -[9589] Forked 28224 -(28224) found -[9588] Forked 28225 -(28225) found -[9587] Forked 28226 -[9586] Forked 28227 -(28226) found -(28227) found -[9585] Forked 28228 -[9584] Forked 28229 -(28228) found -(28229) found -[9583] Forked 28230 -[9582] Forked 28231 -(28230) found -(28231) found -[9581] Forked 28232 -[9580] Forked 28233 -(28232) found -(28233) found -[9579] Forked 28234 -[9578] Forked 28235 -(28234) found -(28235) found -[9577] Forked 28236 -[9576] Forked 28237 -(28236) found -(28237) found -[9575] Forked 28238 -[9574] Forked 28239 -(28238) found -(28239) found -[9573] Forked 28240 -[9572] Forked 28241 -(28240) found -(28241) found -[9571] Forked 28242 -[9570] Forked 28243 -(28242) found -(28243) found -[9569] Forked 28244 -[9568] Forked 28245 -(28244) found -(28245) found -[9567] Forked 28246 -[9566] Forked 28247 -(28246) found -(28247) found -[9565] Forked 28248 -[9564] Forked 28249 -(28248) found -(28249) found -[9563] Forked 28250 -[9562] Forked 28251 -(28250) found -(28251) found -[9561] Forked 28252 -[9560] Forked 28253 -(28252) found -(28253) found -[9559] Forked 28254 -[9558] Forked 28255 -(28254) found -(28255) found -[9557] Forked 28256 -[9556] Forked 28257 -(28256) found -(28257) found -[9555] Forked 28258 -[9554] Forked 28259 -(28258) found -(28259) found -[9553] Forked 28260 -[9552] Forked 28261 -(28260) found -(28261) found -[9551] Forked 28262 -[9550] Forked 28263 -(28262) found -(28263) found -[9549] Forked 28264 -[9548] Forked 28265 -(28264) found -(28265) found -[9547] Forked 28266 -[9546] Forked 28267 -(28266) found -(28267) found -[9545] Forked 28268 -[9544] Forked 28269 -(28268) found -(28269) found -[9543] Forked 28270 -[9542] Forked 28271 -(28270) found -(28271) found -[9541] Forked 28272 -(28272) found -[9540] Forked 28273 -(28273) found -[9539] Forked 28274 -(28274) found -[9538] Forked 28275 -(28275) found -[9537] Forked 28276 -(28276) found -[9536] Forked 28277 -(28277) found -[9535] Forked 28278 -(28278) found -[9534] Forked 28279 -(28279) found -[9533] Forked 28280 -(28280) found -[9532] Forked 28281 -(28281) found -[9531] Forked 28282 -(28282) found -[9530] Forked 28283 -(28283) found -[9529] Forked 28284 -(28284) found -[9528] Forked 28285 -(28285) found -[9527] Forked 28286 -(28286) found -[9526] Forked 28287 -(28287) found -[9525] Forked 28288 -(28288) found -[9524] Forked 28289 -(28289) found -[9523] Forked 28290 -(28290) found -[9522] Forked 28291 -(28291) found -[9521] Forked 28292 -(28292) found -[9520] Forked 28293 -(28293) found -[9519] Forked 28294 -(28294) found -[9518] Forked 28295 -(28295) found -[9517] Forked 28296 -(28296) found -[9516] Forked 28297 -(28297) found -[9515] Forked 28298 -(28298) found -[9514] Forked 28299 -(28299) found -[9513] Forked 28300 -(28300) found -[9512] Forked 28301 -(28301) found -[9511] Forked 28302 -(28302) found -[9510] Forked 28303 -(28303) found -[9509] Forked 28304 -(28304) found -[9508] Forked 28305 -(28305) found -[9507] Forked 28306 -(28306) found -[9506] Forked 28307 -(28307) found -[9505] Forked 28308 -(28308) found -[9504] Forked 28309 -[9503] Forked 28310 -(28309) found -(28310) found -[9502] Forked 28311 -[9501] Forked 28312 -(28311) found -(28312) found -[9500] Forked 28313 -[9499] Forked 28314 -(28313) found -(28314) found -[9498] Forked 28315 -[9497] Forked 28316 -(28315) found -(28316) found -[9496] Forked 28317 -[9495] Forked 28318 -(28317) found -(28318) found -[9494] Forked 28319 -[9493] Forked 28320 -(28319) found -(28320) found -[9492] Forked 28321 -[9491] Forked 28322 -(28321) found -(28322) found -[9490] Forked 28323 -[9489] Forked 28324 -(28323) found -(28324) found -[9488] Forked 28325 -[9487] Forked 28326 -(28325) found -(28326) found -[9486] Forked 28327 -[9485] Forked 28328 -(28327) found -(28328) found -[9484] Forked 28329 -(28329) found -[9483] Forked 28330 -[9482] Forked 28331 -(28330) found -(28331) found -[9481] Forked 28332 -[9480] Forked 28333 -(28332) found -(28333) found -[9479] Forked 28334 -[9478] Forked 28335 -(28334) found -(28335) found -[9477] Forked 28336 -[9476] Forked 28337 -(28336) found -(28337) found -[9475] Forked 28338 -[9474] Forked 28339 -(28338) found -(28339) found -[9473] Forked 28340 -[9472] Forked 28341 -(28340) found -(28341) found -[9471] Forked 28342 -[9470] Forked 28343 -(28342) found -(28343) found -[9469] Forked 28344 -[9468] Forked 28345 -(28344) found -(28345) found -[9467] Forked 28346 -[9466] Forked 28347 -(28346) found -(28347) found -[9465] Forked 28348 -[9464] Forked 28349 -(28348) found -(28349) found -[9463] Forked 28350 -[9462] Forked 28351 -(28350) found -(28351) found -[9461] Forked 28352 -[9460] Forked 28353 -(28352) found -(28353) found -[9459] Forked 28354 -(28354) found -[9458] Forked 28355 -(28355) found -[9457] Forked 28356 -(28356) found -[9456] Forked 28357 -(28357) found -[9455] Forked 28358 -(28358) found -[9454] Forked 28359 -(28359) found -[9453] Forked 28360 -(28360) found -[9452] Forked 28361 -(28361) found -[9451] Forked 28362 -(28362) found -[9450] Forked 28363 -(28363) found -[9449] Forked 28364 -(28364) found -[9448] Forked 28365 -(28365) found -[9447] Forked 28366 -(28366) found -[9446] Forked 28367 -(28367) found -[9445] Forked 28368 -(28368) found -[9444] Forked 28369 -(28369) found -[9443] Forked 28370 -(28370) found -[9442] Forked 28371 -(28371) found -[9441] Forked 28372 -(28372) found -[9440] Forked 28373 -(28373) found -[9439] Forked 28374 -(28374) found -[9438] Forked 28375 -(28375) found -[9437] Forked 28376 -(28376) found -[9436] Forked 28377 -(28377) found -[9435] Forked 28378 -(28378) found -[9434] Forked 28379 -(28379) found -[9433] Forked 28380 -(28380) found -[9432] Forked 28381 -(28381) found -[9431] Forked 28382 -(28382) found -[9430] Forked 28383 -(28383) found -[9429] Forked 28384 -(28384) found -[9428] Forked 28385 -(28385) found -[9427] Forked 28386 -(28386) found -[9426] Forked 28387 -(28387) found -[9425] Forked 28388 -(28388) found -[9424] Forked 28389 -[9423] Forked 28390 -(28389) found -(28390) found -[9422] Forked 28391 -[9421] Forked 28392 -(28391) found -(28392) found -[9420] Forked 28393 -[9419] Forked 28394 -(28393) found -(28394) found -[9418] Forked 28395 -[9417] Forked 28396 -(28395) found -(28396) found -[9416] Forked 28397 -[9415] Forked 28398 -(28397) found -(28398) found -[9414] Forked 28399 -[9413] Forked 28400 -(28399) found -(28400) found -[9412] Forked 28401 -[9411] Forked 28402 -(28401) found -(28402) found -[9410] Forked 28403 -[9409] Forked 28404 -(28403) found -(28404) found -[9408] Forked 28405 -[9407] Forked 28406 -(28405) found -(28406) found -[9406] Forked 28407 -[9405] Forked 28408 -(28407) found -(28408) found -[9404] Forked 28409 -[9403] Forked 28410 -(28409) found -(28410) found -[9402] Forked 28411 -[9401] Forked 28412 -(28411) found -(28412) found -[9400] Forked 28413 -[9399] Forked 28414 -(28413) found -(28414) found -[9398] Forked 28415 -[9397] Forked 28416 -(28415) found -(28416) found -[9396] Forked 28417 -[9395] Forked 28418 -(28417) found -(28418) found -[9394] Forked 28419 -[9393] Forked 28420 -(28419) found -(28420) found -[9392] Forked 28421 -[9391] Forked 28422 -(28421) found -(28422) found -[9390] Forked 28423 -[9389] Forked 28424 -(28423) found -(28424) found -[9388] Forked 28425 -[9387] Forked 28426 -(28425) found -(28426) found -[9386] Forked 28427 -[9385] Forked 28428 -(28427) found -(28428) found -[9384] Forked 28429 -[9383] Forked 28430 -(28429) found -(28430) found -[9382] Forked 28431 -[9381] Forked 28432 -(28431) found -(28432) found -[9380] Forked 28433 -[9379] Forked 28434 -(28433) found -(28434) found -[9378] Forked 28435 -(28435) found -[9377] Forked 28436 -(28436) found -[9376] Forked 28437 -(28437) found -[9375] Forked 28438 -(28438) found -[9374] Forked 28439 -(28439) found -[9373] Forked 28440 -(28440) found -[9372] Forked 28441 -(28441) found -[9371] Forked 28442 -(28442) found -[9370] Forked 28443 -(28443) found -[9369] Forked 28444 -(28444) found -[9368] Forked 28445 -(28445) found -[9367] Forked 28446 -(28446) found -[9366] Forked 28447 -(28447) found -[9365] Forked 28448 -(28448) found -[9364] Forked 28449 -(28449) found -[9363] Forked 28450 -(28450) found -[9362] Forked 28451 -(28451) found -[9361] Forked 28452 -(28452) found -[9360] Forked 28453 -(28453) found -[9359] Forked 28454 -(28454) found -[9358] Forked 28455 -(28455) found -[9357] Forked 28456 -(28456) found -[9356] Forked 28457 -(28457) found -[9355] Forked 28458 -(28458) found -[9354] Forked 28459 -(28459) found -[9353] Forked 28460 -(28460) found -[9352] Forked 28461 -(28461) found -[9351] Forked 28462 -(28462) found -[9350] Forked 28463 -(28463) found -[9349] Forked 28464 -(28464) found -[9348] Forked 28465 -(28465) found -[9347] Forked 28466 -(28466) found -[9346] Forked 28467 -(28467) found -[9345] Forked 28468 -(28468) found -[9344] Forked 28469 -(28469) found -[9343] Forked 28470 -[9342] Forked 28471 -(28470) found -(28471) found -[9341] Forked 28472 -[9340] Forked 28473 -(28472) found -(28473) found -[9339] Forked 28474 -[9338] Forked 28475 -(28474) found -(28475) found -[9337] Forked 28476 -[9336] Forked 28477 -(28476) found -(28477) found -[9335] Forked 28478 -[9334] Forked 28479 -(28478) found -(28479) found -[9333] Forked 28480 -[9332] Forked 28481 -(28480) found -(28481) found -[9331] Forked 28482 -[9330] Forked 28483 -(28482) found -(28483) found -[9329] Forked 28484 -[9328] Forked 28485 -(28484) found -(28485) found -[9327] Forked 28486 -[9326] Forked 28487 -(28486) found -(28487) found -[9325] Forked 28488 -[9324] Forked 28489 -(28488) found -(28489) found -[9323] Forked 28490 -[9322] Forked 28491 -(28490) found -(28491) found -[9321] Forked 28492 -[9320] Forked 28493 -(28492) found -(28493) found -[9319] Forked 28494 -[9318] Forked 28495 -(28494) found -(28495) found -[9317] Forked 28496 -[9316] Forked 28497 -(28496) found -(28497) found -[9315] Forked 28498 -[9314] Forked 28499 -(28498) found -(28499) found -[9313] Forked 28500 -[9312] Forked 28501 -(28500) found -(28501) found -[9311] Forked 28502 -[9310] Forked 28503 -(28502) found -(28503) found -[9309] Forked 28504 -[9308] Forked 28505 -(28504) found -(28505) found -[9307] Forked 28506 -[9306] Forked 28507 -(28506) found -(28507) found -[9305] Forked 28508 -[9304] Forked 28509 -(28508) found -(28509) found -[9303] Forked 28510 -[9302] Forked 28511 -(28510) found -(28511) found -[9301] Forked 28512 -[9300] Forked 28513 -(28512) found -(28513) found -[9299] Forked 28514 -[9298] Forked 28515 -(28514) found -(28515) found -[9297] Forked 28516 -(28516) found -[9296] Forked 28517 -(28517) found -[9295] Forked 28518 -(28518) found -[9294] Forked 28519 -(28519) found -[9293] Forked 28520 -(28520) found -[9292] Forked 28521 -(28521) found -[9291] Forked 28522 -(28522) found -[9290] Forked 28523 -(28523) found -[9289] Forked 28524 -(28524) found -[9288] Forked 28525 -(28525) found -[9287] Forked 28526 -(28526) found -[9286] Forked 28527 -(28527) found -[9285] Forked 28528 -(28528) found -[9284] Forked 28529 -(28529) found -[9283] Forked 28530 -(28530) found -[9282] Forked 28531 -(28531) found -[9281] Forked 28532 -(28532) found -[9280] Forked 28533 -(28533) found -[9279] Forked 28534 -(28534) found -[9278] Forked 28535 -(28535) found -[9277] Forked 28536 -(28536) found -[9276] Forked 28537 -(28537) found -[9275] Forked 28538 -(28538) found -[9274] Forked 28539 -(28539) found -[9273] Forked 28540 -(28540) found -[9272] Forked 28541 -(28541) found -[9271] Forked 28542 -(28542) found -[9270] Forked 28543 -(28543) found -[9269] Forked 28544 -(28544) found -[9268] Forked 28545 -(28545) found -[9267] Forked 28546 -(28546) found -[9266] Forked 28547 -(28547) found -[9265] Forked 28548 -(28548) found -[9264] Forked 28549 -(28549) found -[9263] Forked 28550 -[9262] Forked 28551 -(28550) found -(28551) found -[9261] Forked 28552 -[9260] Forked 28553 -(28552) found -(28553) found -[9259] Forked 28554 -[9258] Forked 28555 -(28554) found -(28555) found -[9257] Forked 28556 -[9256] Forked 28557 -(28556) found -(28557) found -[9255] Forked 28558 -[9254] Forked 28559 -(28558) found -(28559) found -[9253] Forked 28560 -[9252] Forked 28561 -(28560) found -(28561) found -[9251] Forked 28562 -[9250] Forked 28563 -(28562) found -(28563) found -[9249] Forked 28564 -[9248] Forked 28565 -(28564) found -(28565) found -[9247] Forked 28566 -[9246] Forked 28567 -(28566) found -(28567) found -[9245] Forked 28568 -[9244] Forked 28569 -(28568) found -(28569) found -[9243] Forked 28570 -[9242] Forked 28571 -(28570) found -(28571) found -[9241] Forked 28572 -(28572) found -[9240] Forked 28573 -[9239] Forked 28574 -(28573) found -(28574) found -[9238] Forked 28575 -[9237] Forked 28576 -(28575) found -(28576) found -[9236] Forked 28577 -[9235] Forked 28578 -(28577) found -(28578) found -[9234] Forked 28579 -[9233] Forked 28580 -(28579) found -(28580) found -[9232] Forked 28581 -[9231] Forked 28582 -(28581) found -(28582) found -[9230] Forked 28583 -[9229] Forked 28584 -(28583) found -(28584) found -[9228] Forked 28585 -[9227] Forked 28586 -(28585) found -(28586) found -[9226] Forked 28587 -[9225] Forked 28588 -(28587) found -(28588) found -[9224] Forked 28589 -[9223] Forked 28590 -(28589) found -(28590) found -[9222] Forked 28591 -[9221] Forked 28592 -(28591) found -(28592) found -[9220] Forked 28593 -[9219] Forked 28594 -(28593) found -(28594) found -[9218] Forked 28595 -[9217] Forked 28596 -(28595) found -(28596) found -[9216] Forked 28597 -[9215] Forked 28598 -(28597) found -(28598) found -[9214] Forked 28599 -[9213] Forked 28600 -(28599) found -(28600) found -[9212] Forked 28601 -[9211] Forked 28602 -(28601) found -(28602) found -[9210] Forked 28603 -[9209] Forked 28604 -(28603) found -(28604) found -[9208] Forked 28605 -[9207] Forked 28606 -(28605) found -(28606) found -[9206] Forked 28607 -[9205] Forked 28608 -(28607) found -(28608) found -[9204] Forked 28609 -[9203] Forked 28610 -(28609) found -(28610) found -[9202] Forked 28611 -[9201] Forked 28612 -(28611) found -(28612) found -[9200] Forked 28613 -[9199] Forked 28614 -(28613) found -(28614) found -[9198] Forked 28615 -[9197] Forked 28616 -(28615) found -(28616) found -[9196] Forked 28617 -[9195] Forked 28618 -(28617) found -(28618) found -[9194] Forked 28619 -[9193] Forked 28620 -(28619) found -(28620) found -[9192] Forked 28621 -[9191] Forked 28622 -(28621) found -(28622) found -[9190] Forked 28623 -[9189] Forked 28624 -(28623) found -(28624) found -[9188] Forked 28625 -[9187] Forked 28626 -(28625) found -(28626) found -[9186] Forked 28627 -[9185] Forked 28628 -(28627) found -(28628) found -[9184] Forked 28629 -[9183] Forked 28630 -(28629) found -(28630) found -[9182] Forked 28631 -[9181] Forked 28632 -(28631) found -(28632) found -[9180] Forked 28633 -[9179] Forked 28634 -(28633) found -(28634) found -[9178] Forked 28635 -[9177] Forked 28636 -(28635) found -(28636) found -[9176] Forked 28637 -[9175] Forked 28638 -(28637) found -(28638) found -[9174] Forked 28639 -[9173] Forked 28640 -(28639) found -(28640) found -[9172] Forked 28641 -(28641) found -[9171] Forked 28642 -(28642) found -[9170] Forked 28643 -(28643) found -[9169] Forked 28644 -(28644) found -[9168] Forked 28645 -(28645) found -[9167] Forked 28646 -(28646) found -[9166] Forked 28647 -(28647) found -[9165] Forked 28648 -(28648) found -[9164] Forked 28649 -(28649) found -[9163] Forked 28650 -(28650) found -[9162] Forked 28651 -(28651) found -[9161] Forked 28652 -(28652) found -[9160] Forked 28653 -(28653) found -[9159] Forked 28654 -(28654) found -[9158] Forked 28655 -(28655) found -[9157] Forked 28656 -(28656) found -[9156] Forked 28657 -(28657) found -[9155] Forked 28658 -(28658) found -[9154] Forked 28659 -(28659) found -[9153] Forked 28660 -(28660) found -[9152] Forked 28661 -(28661) found -[9151] Forked 28662 -(28662) found -[9150] Forked 28663 -(28663) found -[9149] Forked 28664 -(28664) found -[9148] Forked 28665 -(28665) found -[9147] Forked 28666 -(28666) found -[9146] Forked 28667 -(28667) found -[9145] Forked 28668 -(28668) found -[9144] Forked 28669 -(28669) found -[9143] Forked 28670 -(28670) found -[9142] Forked 28671 -(28671) found -[9141] Forked 28672 -(28672) found -[9140] Forked 28673 -(28673) found -[9139] Forked 28674 -(28674) found -[9138] Forked 28675 -(28675) found -[9137] Forked 28676 -(28676) found -[9136] Forked 28677 -(28677) found -[9135] Forked 28679 -(28679) found -[9134] Forked 28680 -[9133] Forked 28681 -(28680) found -(28681) found -[9132] Forked 28682 -[9131] Forked 28683 -(28682) found -(28683) found -[9130] Forked 28684 -[9129] Forked 28685 -(28684) found -(28685) found -[9128] Forked 28686 -[9127] Forked 28687 -(28686) found -(28687) found -[9126] Forked 28688 -[9125] Forked 28689 -(28688) found -(28689) found -[9124] Forked 28690 -[9123] Forked 28691 -(28690) found -(28691) found -[9122] Forked 28692 -[9121] Forked 28693 -(28692) found -(28693) found -[9120] Forked 28694 -[9119] Forked 28696 -(28694) found -(28696) found -[9118] Forked 28697 -[9117] Forked 28698 -(28697) found -(28698) found -[9116] Forked 28699 -[9115] Forked 28700 -(28699) found -(28700) found -[9114] Forked 28701 -[9113] Forked 28702 -(28701) found -(28702) found -[9112] Forked 28703 -[9111] Forked 28704 -(28703) found -(28704) found -[9110] Forked 28705 -[9109] Forked 28706 -(28705) found -(28706) found -[9108] Forked 28707 -[9107] Forked 28708 -(28707) found -(28708) found -[9106] Forked 28709 -[9105] Forked 28710 -(28709) found -(28710) found -[9104] Forked 28711 -[9103] Forked 28712 -(28711) found -(28712) found -[9102] Forked 28713 -[9101] Forked 28714 -(28713) found -(28714) found -[9100] Forked 28715 -[9099] Forked 28716 -(28715) found -(28716) found -[9098] Forked 28717 -[9097] Forked 28718 -(28717) found -(28718) found -[9096] Forked 28719 -[9095] Forked 28720 -(28719) found -(28720) found -[9094] Forked 28721 -[9093] Forked 28722 -(28721) found -(28722) found -[9092] Forked 28723 -[9091] Forked 28724 -(28723) found -(28724) found -[9090] Forked 28725 -(28725) found -[9089] Forked 28726 -(28726) found -[9088] Forked 28727 -(28727) found -[9087] Forked 28728 -(28728) found -[9086] Forked 28729 -(28729) found -[9085] Forked 28730 -(28730) found -[9084] Forked 28731 -(28731) found -[9083] Forked 28732 -(28732) found -[9082] Forked 28733 -(28733) found -[9081] Forked 28734 -(28734) found -[9080] Forked 28735 -(28735) found -[9079] Forked 28736 -(28736) found -[9078] Forked 28737 -(28737) found -[9077] Forked 28738 -(28738) found -[9076] Forked 28739 -(28739) found -[9075] Forked 28740 -(28740) found -[9074] Forked 28741 -(28741) found -[9073] Forked 28742 -(28742) found -[9072] Forked 28743 -(28743) found -[9071] Forked 28744 -(28744) found -[9070] Forked 28745 -(28745) found -[9069] Forked 28746 -(28746) found -[9068] Forked 28747 -(28747) found -[9067] Forked 28748 -(28748) found -[9066] Forked 28749 -(28749) found -[9065] Forked 28750 -(28750) found -[9064] Forked 28751 -(28751) found -[9063] Forked 28752 -(28752) found -[9062] Forked 28753 -(28753) found -[9061] Forked 28754 -(28754) found -[9060] Forked 28755 -(28755) found -[9059] Forked 28756 -(28756) found -[9058] Forked 28757 -(28757) found -[9057] Forked 28758 -(28758) found -[9056] Forked 28759 -(28759) found -[9055] Forked 28760 -(28760) found -[9054] Forked 28761 -(28761) found -[9053] Forked 28762 -[9052] Forked 28763 -(28762) found -(28763) found -[9051] Forked 28764 -[9050] Forked 28765 -(28764) found -(28765) found -[9049] Forked 28766 -[9048] Forked 28767 -(28767) found -(28766) found -[9047] Forked 28768 -(28768) found -[9046] Forked 28769 -(28769) found -[9045] Forked 28770 -(28770) found -[9044] Forked 28771 -(28771) found -[9043] Forked 28772 -(28772) found -[9042] Forked 28773 -(28773) found -[9041] Forked 28774 -(28774) found -[9040] Forked 28775 -(28775) found -[9039] Forked 28776 -(28776) found -[9038] Forked 28777 -(28777) found -[9037] Forked 28778 -(28778) found -[9036] Forked 28779 -(28779) found -[9035] Forked 28780 -(28780) found -[9034] Forked 28781 -(28781) found -[9033] Forked 28782 -(28782) found -[9032] Forked 28783 -(28783) found -[9031] Forked 28784 -(28784) found -[9030] Forked 28785 -(28785) found -[9029] Forked 28786 -(28786) found -[9028] Forked 28787 -(28787) found -[9027] Forked 28788 -(28788) found -[9026] Forked 28789 -(28789) found -[9025] Forked 28790 -(28790) found -[9024] Forked 28791 -(28791) found -[9023] Forked 28792 -(28792) found -[9022] Forked 28793 -(28793) found -[9021] Forked 28794 -(28794) found -[9020] Forked 28795 -(28795) found -[9019] Forked 28796 -(28796) found -[9018] Forked 28797 -(28797) found -[9017] Forked 28798 -(28798) found -[9016] Forked 28799 -(28799) found -[9015] Forked 28800 -(28800) found -[9014] Forked 28801 -(28801) found -[9013] Forked 28802 -(28802) found -[9012] Forked 28803 -(28803) found -[9011] Forked 28804 -(28804) found -[9010] Forked 28805 -(28805) found -[9009] Forked 28806 -(28806) found -[9008] Forked 28807 -(28807) found -[9007] Forked 28808 -(28808) found -[9006] Forked 28809 -(28809) found -[9005] Forked 28810 -(28810) found -[9004] Forked 28811 -(28811) found -[9003] Forked 28812 -(28812) found -[9002] Forked 28813 -(28813) found -[9001] Forked 28814 -(28814) found -[9000] Forked 28815 -(28815) found -[8999] Forked 28816 -(28816) found -[8998] Forked 28817 -(28817) found -[8997] Forked 28818 -(28818) found -[8996] Forked 28819 -(28819) found -[8995] Forked 28820 -(28820) found -[8994] Forked 28821 -(28821) found -[8993] Forked 28822 -(28822) found -[8992] Forked 28823 -(28823) found -[8991] Forked 28824 -(28824) found -[8990] Forked 28825 -(28825) found -[8989] Forked 28826 -(28826) found -[8988] Forked 28827 -(28827) found -[8987] Forked 28828 -(28828) found -[8986] Forked 28829 -(28829) found -[8985] Forked 28830 -(28830) found -[8984] Forked 28831 -(28831) found -[8983] Forked 28832 -(28832) found -[8982] Forked 28833 -[8981] Forked 28834 -(28833) found -(28834) found -[8980] Forked 28835 -[8979] Forked 28836 -(28835) found -(28836) found -[8978] Forked 28837 -[8977] Forked 28838 -(28837) found -(28838) found -[8976] Forked 28839 -[8975] Forked 28840 -(28840) found -(28839) found -[8974] Forked 28841 -(28841) found -[8973] Forked 28842 -(28842) found -[8972] Forked 28843 -(28843) found -[8971] Forked 28844 -(28844) found -[8970] Forked 28845 -(28845) found -[8969] Forked 28846 -(28846) found -[8968] Forked 28847 -(28847) found -[8967] Forked 28848 -(28848) found -[8966] Forked 28849 -(28849) found -[8965] Forked 28850 -(28850) found -[8964] Forked 28851 -(28851) found -[8963] Forked 28852 -(28852) found -[8962] Forked 28853 -(28853) found -[8961] Forked 28854 -(28854) found -[8960] Forked 28855 -(28855) found -[8959] Forked 28856 -(28856) found -[8958] Forked 28857 -(28857) found -[8957] Forked 28858 -(28858) found -[8956] Forked 28859 -(28859) found -[8955] Forked 28860 -(28860) found -[8954] Forked 28861 -(28861) found -[8953] Forked 28862 -(28862) found -[8952] Forked 28863 -(28863) found -[8951] Forked 28864 -(28864) found -[8950] Forked 28865 -(28865) found -[8949] Forked 28866 -(28866) found -[8948] Forked 28867 -(28867) found -[8947] Forked 28868 -(28868) found -[8946] Forked 28869 -(28869) found -[8945] Forked 28870 -(28870) found -[8944] Forked 28871 -(28871) found -[8943] Forked 28872 -(28872) found -[8942] Forked 28873 -(28873) found -[8941] Forked 28874 -(28874) found -[8940] Forked 28875 -(28875) found -[8939] Forked 28876 -(28876) found -[8938] Forked 28877 -(28877) found -[8937] Forked 28878 -(28878) found -[8936] Forked 28879 -(28879) found -[8935] Forked 28880 -(28880) found -[8934] Forked 28881 -(28881) found -[8933] Forked 28882 -(28882) found -[8932] Forked 28883 -(28883) found -[8931] Forked 28884 -(28884) found -[8930] Forked 28885 -(28885) found -[8929] Forked 28886 -(28886) found -[8928] Forked 28887 -(28887) found -[8927] Forked 28888 -(28888) found -[8926] Forked 28889 -(28889) found -[8925] Forked 28890 -(28890) found -[8924] Forked 28891 -(28891) found -[8923] Forked 28892 -(28892) found -[8922] Forked 28893 -(28893) found -[8921] Forked 28894 -(28894) found -[8920] Forked 28895 -(28895) found -[8919] Forked 28896 -(28896) found -[8918] Forked 28897 -(28897) found -[8917] Forked 28898 -(28898) found -[8916] Forked 28899 -(28899) found -[8915] Forked 28900 -(28900) found -[8914] Forked 28901 -[8913] Forked 28902 -(28901) found -(28902) found -[8912] Forked 28903 -[8911] Forked 28904 -(28903) found -(28904) found -[8910] Forked 28905 -[8909] Forked 28906 -(28905) found -(28906) found -[8908] Forked 28907 -[8907] Forked 28908 -(28907) found -(28908) found -[8906] Forked 28909 -[8905] Forked 28910 -(28909) found -(28910) found -[8904] Forked 28911 -[8903] Forked 28912 -(28911) found -(28912) found -[8902] Forked 28913 -[8901] Forked 28914 -(28913) found -(28914) found -[8900] Forked 28915 -[8899] Forked 28916 -(28915) found -(28916) found -[8898] Forked 28917 -[8897] Forked 28918 -(28917) found -(28918) found -[8896] Forked 28919 -[8895] Forked 28920 -(28919) found -(28920) found -[8894] Forked 28921 -(28921) found -[8893] Forked 28922 -(28922) found -[8892] Forked 28923 -[8891] Forked 28924 -(28923) found -(28924) found -[8890] Forked 28925 -[8889] Forked 28926 -(28925) found -(28926) found -[8888] Forked 28927 -[8887] Forked 28928 -(28927) found -(28928) found -[8886] Forked 28929 -[8885] Forked 28930 -(28929) found -(28930) found -[8884] Forked 28931 -[8883] Forked 28932 -(28931) found -(28932) found -[8882] Forked 28933 -[8881] Forked 28934 -(28933) found -(28934) found -[8880] Forked 28935 -[8879] Forked 28936 -(28935) found -(28936) found -[8878] Forked 28937 -[8877] Forked 28938 -(28937) found -(28938) found -[8876] Forked 28939 -[8875] Forked 28940 -(28939) found -(28940) found -[8874] Forked 28941 -[8873] Forked 28942 -(28941) found -(28942) found -[8872] Forked 28943 -[8871] Forked 28944 -(28943) found -(28944) found -[8870] Forked 28945 -(28945) found -[8869] Forked 28946 -(28946) found -[8868] Forked 28947 -(28947) found -[8867] Forked 28948 -(28948) found -[8866] Forked 28949 -(28949) found -[8865] Forked 28950 -(28950) found -[8864] Forked 28951 -(28951) found -[8863] Forked 28952 -(28952) found -[8862] Forked 28953 -(28953) found -[8861] Forked 28954 -(28954) found -[8860] Forked 28955 -(28955) found -[8859] Forked 28956 -(28956) found -[8858] Forked 28957 -(28957) found -[8857] Forked 28958 -(28958) found -[8856] Forked 28959 -(28959) found -[8855] Forked 28960 -(28960) found -[8854] Forked 28961 -(28961) found -[8853] Forked 28962 -(28962) found -[8852] Forked 28963 -(28963) found -[8851] Forked 28964 -(28964) found -[8850] Forked 28965 -(28965) found -[8849] Forked 28966 -(28966) found -[8848] Forked 28967 -(28967) found -[8847] Forked 28968 -(28968) found -[8846] Forked 28969 -(28969) found -[8845] Forked 28970 -(28970) found -[8844] Forked 28971 -(28971) found -[8843] Forked 28972 -(28972) found -[8842] Forked 28973 -(28973) found -[8841] Forked 28974 -(28974) found -[8840] Forked 28975 -(28975) found -[8839] Forked 28976 -(28976) found -[8838] Forked 28977 -(28977) found -[8837] Forked 28978 -(28978) found -[8836] Forked 28979 -(28979) found -[8835] Forked 28980 -(28980) found -[8834] Forked 28981 -(28981) found -[8833] Forked 28982 -[8832] Forked 28983 -(28983) found -(28982) found -[8831] Forked 28984 -(28984) found -[8830] Forked 28985 -(28985) found -[8829] Forked 28986 -(28986) found -[8828] Forked 28987 -(28987) found -[8827] Forked 28988 -(28988) found -[8826] Forked 28989 -(28989) found -[8825] Forked 28990 -(28990) found -[8824] Forked 28991 -(28991) found -[8823] Forked 28992 -(28992) found -[8822] Forked 28993 -(28993) found -[8821] Forked 28994 -(28994) found -[8820] Forked 28995 -(28995) found -[8819] Forked 28996 -(28996) found -[8818] Forked 28997 -(28997) found -[8817] Forked 28998 -(28998) found -[8816] Forked 28999 -(28999) found -[8815] Forked 29000 -(29000) found -[8814] Forked 29001 -(29001) found -[8813] Forked 29002 -(29002) found -[8812] Forked 29003 -(29003) found -[8811] Forked 29004 -(29004) found -[8810] Forked 29005 -(29005) found -[8809] Forked 29006 -(29006) found -[8808] Forked 29007 -(29007) found -[8807] Forked 29008 -(29008) found -[8806] Forked 29009 -(29009) found -[8805] Forked 29010 -(29010) found -[8804] Forked 29011 -(29011) found -[8803] Forked 29012 -(29012) found -[8802] Forked 29013 -(29013) found -[8801] Forked 29014 -(29014) found -[8800] Forked 29015 -(29015) found -[8799] Forked 29016 -(29016) found -[8798] Forked 29017 -(29017) found -[8797] Forked 29018 -(29018) found -[8796] Forked 29019 -(29019) found -[8795] Forked 29020 -(29020) found -[8794] Forked 29021 -(29021) found -[8793] Forked 29022 -(29022) found -[8792] Forked 29023 -(29023) found -[8791] Forked 29024 -(29024) found -[8790] Forked 29025 -(29025) found -[8789] Forked 29026 -(29026) found -[8788] Forked 29027 -(29027) found -[8787] Forked 29028 -(29028) found -[8786] Forked 29029 -(29029) found -[8785] Forked 29030 -(29030) found -[8784] Forked 29031 -(29031) found -[8783] Forked 29032 -(29032) found -[8782] Forked 29033 -(29033) found -[8781] Forked 29034 -(29034) found -[8780] Forked 29035 -(29035) found -[8779] Forked 29036 -(29036) found -[8778] Forked 29037 -(29037) found -[8777] Forked 29038 -(29038) found -[8776] Forked 29039 -(29039) found -[8775] Forked 29040 -(29040) found -[8774] Forked 29041 -(29041) found -[8773] Forked 29042 -(29042) found -[8772] Forked 29043 -(29043) found -[8771] Forked 29044 -(29044) found -[8770] Forked 29045 -(29045) found -[8769] Forked 29046 -(29046) found -[8768] Forked 29047 -(29047) found -[8767] Forked 29048 -(29048) found -[8766] Forked 29049 -(29049) found -[8765] Forked 29050 -(29050) found -[8764] Forked 29051 -(29051) found -[8763] Forked 29052 -[8762] Forked 29053 -(29052) found -(29053) found -[8761] Forked 29054 -[8760] Forked 29055 -(29054) found -(29055) found -[8759] Forked 29056 -[8758] Forked 29057 -(29056) found -(29057) found -[8757] Forked 29058 -[8756] Forked 29059 -(29058) found -(29059) found -[8755] Forked 29060 -[8754] Forked 29061 -(29060) found -(29061) found -[8753] Forked 29062 -[8752] Forked 29063 -(29062) found -(29063) found -[8751] Forked 29064 -[8750] Forked 29065 -(29064) found -(29065) found -[8749] Forked 29066 -[8748] Forked 29067 -(29066) found -(29067) found -[8747] Forked 29068 -[8746] Forked 29069 -(29068) found -(29069) found -[8745] Forked 29070 -[8744] Forked 29071 -(29070) found -(29071) found -[8743] Forked 29072 -[8742] Forked 29073 -(29072) found -(29073) found -[8741] Forked 29074 -[8740] Forked 29075 -(29074) found -(29075) found -[8739] Forked 29076 -[8738] Forked 29077 -(29076) found -(29077) found -[8737] Forked 29078 -[8736] Forked 29079 -(29078) found -(29079) found -[8735] Forked 29080 -[8734] Forked 29081 -(29080) found -(29081) found -[8733] Forked 29082 -[8732] Forked 29083 -(29082) found -(29083) found -[8731] Forked 29084 -[8730] Forked 29085 -(29084) found -(29085) found -[8729] Forked 29086 -[8728] Forked 29087 -(29086) found -(29087) found -[8727] Forked 29088 -[8726] Forked 29089 -(29088) found -(29089) found -[8725] Forked 29090 -[8724] Forked 29091 -(29090) found -(29091) found -[8723] Forked 29092 -[8722] Forked 29093 -(29092) found -(29093) found -[8721] Forked 29094 -[8720] Forked 29095 -(29094) found -(29095) found -[8719] Forked 29096 -[8718] Forked 29097 -(29096) found -(29097) found -[8717] Forked 29098 -[8716] Forked 29099 -(29098) found -(29099) found -[8715] Forked 29100 -[8714] Forked 29101 -(29100) found -(29101) found -[8713] Forked 29102 -[8712] Forked 29103 -(29102) found -(29103) found -[8711] Forked 29104 -[8710] Forked 29105 -(29104) found -(29105) found -[8709] Forked 29106 -[8708] Forked 29107 -(29106) found -(29107) found -[8707] Forked 29108 -[8706] Forked 29109 -(29108) found -(29109) found -[8705] Forked 29110 -[8704] Forked 29111 -(29110) found -(29111) found -[8703] Forked 29112 -[8702] Forked 29113 -(29112) found -(29113) found -[8701] Forked 29114 -[8700] Forked 29115 -(29114) found -(29115) found -[8699] Forked 29116 -[8698] Forked 29117 -(29116) found -(29117) found -[8697] Forked 29118 -[8696] Forked 29119 -(29118) found -(29119) found -[8695] Forked 29120 -[8694] Forked 29122 -(29120) found -(29122) found -[8693] Forked 29123 -(29123) found -[8692] Forked 29124 -(29124) found -[8691] Forked 29125 -(29125) found -[8690] Forked 29126 -(29126) found -[8689] Forked 29127 -(29127) found -[8688] Forked 29128 -(29128) found -[8687] Forked 29129 -(29129) found -[8686] Forked 29130 -(29130) found -[8685] Forked 29131 -(29131) found -[8684] Forked 29132 -(29132) found -[8683] Forked 29133 -(29133) found -[8682] Forked 29134 -(29134) found -[8681] Forked 29135 -(29135) found -[8680] Forked 29136 -(29136) found -[8679] Forked 29137 -(29137) found -[8678] Forked 29138 -(29138) found -[8677] Forked 29139 -(29139) found -[8676] Forked 29140 -(29140) found -[8675] Forked 29141 -(29141) found -[8674] Forked 29142 -(29142) found -[8673] Forked 29143 -(29143) found -[8672] Forked 29144 -(29144) found -[8671] Forked 29145 -(29145) found -[8670] Forked 29146 -(29146) found -[8669] Forked 29147 -(29147) found -[8668] Forked 29148 -(29148) found -[8667] Forked 29149 -(29149) found -[8666] Forked 29150 -(29150) found -[8665] Forked 29151 -(29151) found -[8664] Forked 29152 -(29152) found -[8663] Forked 29153 -(29153) found -[8662] Forked 29154 -(29154) found -[8661] Forked 29155 -(29155) found -[8660] Forked 29156 -(29156) found -[8659] Forked 29157 -(29157) found -[8658] Forked 29158 -(29158) found -[8657] Forked 29159 -(29159) found -[8656] Forked 29160 -(29160) found -[8655] Forked 29161 -(29161) found -[8654] Forked 29162 -(29162) found -[8653] Forked 29163 -(29163) found -[8652] Forked 29164 -(29164) found -[8651] Forked 29165 -(29165) found -[8650] Forked 29166 -(29166) found -[8649] Forked 29167 -(29167) found -[8648] Forked 29168 -(29168) found -[8647] Forked 29169 -(29169) found -[8646] Forked 29170 -(29170) found -[8645] Forked 29171 -(29171) found -[8644] Forked 29172 -(29172) found -[8643] Forked 29173 -(29173) found -[8642] Forked 29174 -[8641] Forked 29175 -(29174) found -(29175) found -[8640] Forked 29176 -[8639] Forked 29177 -(29176) found -(29177) found -[8638] Forked 29178 -[8637] Forked 29179 -(29178) found -(29179) found -[8636] Forked 29180 -[8635] Forked 29181 -(29180) found -(29181) found -[8634] Forked 29182 -[8633] Forked 29183 -(29182) found -(29183) found -[8632] Forked 29184 -[8631] Forked 29185 -(29184) found -(29185) found -[8630] Forked 29186 -[8629] Forked 29187 -(29186) found -(29187) found -[8628] Forked 29188 -[8627] Forked 29189 -(29188) found -(29189) found -[8626] Forked 29190 -[8625] Forked 29191 -(29190) found -(29191) found -[8624] Forked 29192 -[8623] Forked 29193 -(29192) found -(29193) found -[8622] Forked 29194 -[8621] Forked 29195 -(29194) found -(29195) found -[8620] Forked 29196 -[8619] Forked 29197 -(29196) found -(29197) found -[8618] Forked 29198 -[8617] Forked 29199 -(29198) found -(29199) found -[8616] Forked 29200 -[8615] Forked 29201 -(29200) found -(29201) found -[8614] Forked 29202 -[8613] Forked 29203 -(29202) found -(29203) found -[8612] Forked 29204 -[8611] Forked 29205 -(29204) found -(29205) found -[8610] Forked 29206 -[8609] Forked 29207 -(29206) found -(29207) found -[8608] Forked 29208 -[8607] Forked 29209 -(29208) found -(29209) found -[8606] Forked 29210 -[8605] Forked 29211 -(29210) found -(29211) found -[8604] Forked 29212 -[8603] Forked 29213 -(29212) found -(29213) found -[8602] Forked 29214 -[8601] Forked 29215 -(29214) found -(29215) found -[8600] Forked 29216 -[8599] Forked 29217 -(29216) found -(29217) found -[8598] Forked 29218 -[8597] Forked 29219 -(29218) found -(29219) found -[8596] Forked 29220 -[8595] Forked 29221 -(29220) found -(29221) found -[8594] Forked 29222 -[8593] Forked 29223 -(29222) found -(29223) found -[8592] Forked 29224 -[8591] Forked 29225 -(29224) found -(29225) found -[8590] Forked 29226 -[8589] Forked 29227 -(29226) found -(29227) found -[8588] Forked 29228 -[8587] Forked 29229 -(29228) found -(29229) found -[8586] Forked 29230 -[8585] Forked 29231 -(29230) found -(29231) found -[8584] Forked 29232 -[8583] Forked 29233 -(29232) found -(29233) found -[8582] Forked 29234 -[8581] Forked 29235 -(29234) found -(29235) found -[8580] Forked 29236 -[8579] Forked 29237 -(29236) found -(29237) found -[8578] Forked 29238 -[8577] Forked 29239 -(29238) found -(29239) found -[8576] Forked 29240 -[8575] Forked 29241 -(29240) found -(29241) found -[8574] Forked 29242 -[8573] Forked 29243 -(29242) found -(29243) found -[8572] Forked 29244 -[8571] Forked 29245 -(29244) found -(29245) found -[8570] Forked 29246 -[8569] Forked 29247 -(29246) found -(29247) found -[8568] Forked 29248 -[8567] Forked 29249 -(29248) found -(29249) found -[8566] Forked 29250 -[8565] Forked 29251 -(29250) found -(29251) found -[8564] Forked 29252 -[8563] Forked 29253 -(29252) found -(29253) found -[8562] Forked 29254 -[8561] Forked 29255 -(29254) found -(29255) found -[8560] Forked 29256 -[8559] Forked 29257 -(29256) found -(29257) found -[8558] Forked 29258 -[8557] Forked 29259 -(29258) found -(29259) found -[8556] Forked 29260 -[8555] Forked 29261 -(29260) found -(29261) found -[8554] Forked 29262 -[8553] Forked 29263 -(29262) found -(29263) found -[8552] Forked 29264 -[8551] Forked 29265 -(29264) found -(29265) found -[8550] Forked 29266 -(29266) found -[8549] Forked 29267 -(29267) found -[8548] Forked 29268 -(29268) found -[8547] Forked 29269 -(29269) found -[8546] Forked 29270 -(29270) found -[8545] Forked 29271 -(29271) found -[8544] Forked 29272 -(29272) found -[8543] Forked 29273 -(29273) found -[8542] Forked 29274 -(29274) found -[8541] Forked 29275 -(29275) found -[8540] Forked 29276 -(29276) found -[8539] Forked 29277 -(29277) found -[8538] Forked 29278 -(29278) found -[8537] Forked 29279 -(29279) found -[8536] Forked 29280 -(29280) found -[8535] Forked 29281 -(29281) found -[8534] Forked 29282 -(29282) found -[8533] Forked 29283 -(29283) found -[8532] Forked 29284 -(29284) found -[8531] Forked 29285 -(29285) found -[8530] Forked 29286 -(29286) found -[8529] Forked 29287 -(29287) found -[8528] Forked 29288 -(29288) found -[8527] Forked 29289 -(29289) found -[8526] Forked 29290 -(29290) found -[8525] Forked 29291 -(29291) found -[8524] Forked 29292 -(29292) found -[8523] Forked 29293 -(29293) found -[8522] Forked 29294 -(29294) found -[8521] Forked 29295 -(29295) found -[8520] Forked 29296 -(29296) found -[8519] Forked 29297 -(29297) found -[8518] Forked 29298 -(29298) found -[8517] Forked 29299 -(29299) found -[8516] Forked 29300 -(29300) found -[8515] Forked 29301 -(29301) found -[8514] Forked 29302 -[8513] Forked 29303 -(29302) found -(29303) found -[8512] Forked 29304 -[8511] Forked 29305 -(29304) found -(29305) found -[8510] Forked 29306 -[8509] Forked 29307 -(29306) found -(29307) found -[8508] Forked 29308 -[8507] Forked 29309 -(29308) found -(29309) found -[8506] Forked 29310 -[8505] Forked 29311 -(29310) found -(29311) found -[8504] Forked 29312 -[8503] Forked 29313 -(29312) found -(29313) found -[8502] Forked 29314 -[8501] Forked 29315 -(29314) found -(29315) found -[8500] Forked 29316 -(29316) found -[8499] Forked 29317 -[8498] Forked 29318 -(29317) found -(29318) found -[8497] Forked 29319 -[8496] Forked 29320 -(29319) found -(29320) found -[8495] Forked 29321 -[8494] Forked 29322 -(29321) found -(29322) found -[8493] Forked 29323 -[8492] Forked 29324 -(29323) found -(29324) found -[8491] Forked 29325 -[8490] Forked 29326 -(29325) found -(29326) found -[8489] Forked 29327 -[8488] Forked 29328 -(29327) found -(29328) found -[8487] Forked 29329 -[8486] Forked 29330 -(29329) found -(29330) found -[8485] Forked 29331 -[8484] Forked 29332 -(29331) found -(29332) found -[8483] Forked 29333 -[8482] Forked 29334 -(29333) found -(29334) found -[8481] Forked 29335 -[8480] Forked 29336 -(29335) found -(29336) found -[8479] Forked 29337 -[8478] Forked 29338 -(29337) found -(29338) found -[8477] Forked 29339 -[8476] Forked 29340 -(29339) found -(29340) found -[8475] Forked 29341 -[8474] Forked 29342 -(29341) found -(29342) found -[8473] Forked 29343 -[8472] Forked 29344 -(29343) found -(29344) found -[8471] Forked 29345 -[8470] Forked 29346 -(29345) found -(29346) found -[8469] Forked 29347 -[8468] Forked 29348 -(29347) found -(29348) found -[8467] Forked 29349 -[8466] Forked 29350 -(29349) found -(29350) found -[8465] Forked 29351 -[8464] Forked 29352 -(29351) found -(29352) found -[8463] Forked 29353 -[8462] Forked 29354 -(29353) found -(29354) found -[8461] Forked 29355 -[8460] Forked 29356 -(29355) found -(29356) found -[8459] Forked 29357 -[8458] Forked 29358 -(29357) found -(29358) found -[8457] Forked 29359 -[8456] Forked 29360 -(29359) found -(29360) found -[8455] Forked 29361 -[8454] Forked 29362 -(29361) found -(29362) found -[8453] Forked 29363 -[8452] Forked 29364 -(29363) found -(29364) found -[8451] Forked 29365 -[8450] Forked 29366 -(29365) found -(29366) found -[8449] Forked 29367 -[8448] Forked 29368 -(29367) found -(29368) found -[8447] Forked 29369 -[8446] Forked 29370 -(29369) found -(29370) found -[8445] Forked 29371 -[8444] Forked 29372 -(29371) found -(29372) found -[8443] Forked 29373 -[8442] Forked 29374 -(29373) found -(29374) found -[8441] Forked 29375 -[8440] Forked 29376 -(29375) found -(29376) found -[8439] Forked 29377 -[8438] Forked 29378 -(29377) found -(29378) found -[8437] Forked 29379 -[8436] Forked 29380 -(29379) found -(29380) found -[8435] Forked 29381 -[8434] Forked 29382 -(29381) found -(29382) found -[8433] Forked 29383 -[8432] Forked 29384 -(29383) found -(29384) found -[8431] Forked 29385 -[8430] Forked 29386 -(29385) found -(29386) found -[8429] Forked 29387 -[8428] Forked 29388 -(29387) found -(29388) found -[8427] Forked 29389 -[8426] Forked 29390 -(29389) found -(29390) found -[8425] Forked 29391 -[8424] Forked 29392 -(29391) found -(29392) found -[8423] Forked 29393 -[8422] Forked 29394 -(29393) found -(29394) found -[8421] Forked 29395 -[8420] Forked 29396 -(29395) found -(29396) found -[8419] Forked 29397 -[8418] Forked 29398 -(29397) found -(29398) found -[8417] Forked 29399 -[8416] Forked 29400 -(29399) found -(29400) found -[8415] Forked 29401 -[8414] Forked 29402 -(29401) found -(29402) found -[8413] Forked 29403 -[8412] Forked 29404 -(29403) found -(29404) found -[8411] Forked 29405 -[8410] Forked 29406 -(29405) found -(29406) found -[8409] Forked 29407 -[8408] Forked 29408 -(29407) found -(29408) found -[8407] Forked 29409 -[8406] Forked 29410 -(29409) found -(29410) found -[8405] Forked 29411 -[8404] Forked 29412 -(29411) found -(29412) found -[8403] Forked 29413 -[8402] Forked 29414 -(29413) found -(29414) found -[8401] Forked 29415 -[8400] Forked 29416 -(29415) found -(29416) found -[8399] Forked 29417 -[8398] Forked 29418 -(29417) found -(29418) found -[8397] Forked 29419 -[8396] Forked 29420 -(29419) found -(29420) found -[8395] Forked 29421 -[8394] Forked 29422 -(29421) found -(29422) found -[8393] Forked 29423 -[8392] Forked 29424 -(29423) found -(29424) found -[8391] Forked 29425 -[8390] Forked 29426 -(29425) found -(29426) found -[8389] Forked 29427 -[8388] Forked 29428 -(29427) found -(29428) found -[8387] Forked 29429 -[8386] Forked 29430 -(29429) found -(29430) found -[8385] Forked 29431 -[8384] Forked 29432 -(29431) found -(29432) found -[8383] Forked 29433 -[8382] Forked 29434 -(29433) found -(29434) found -[8381] Forked 29435 -(29435) found -[8380] Forked 29436 -(29436) found -[8379] Forked 29437 -(29437) found -[8378] Forked 29438 -(29438) found -[8377] Forked 29439 -(29439) found -[8376] Forked 29440 -(29440) found -[8375] Forked 29441 -(29441) found -[8374] Forked 29442 -(29442) found -[8373] Forked 29443 -(29443) found -[8372] Forked 29444 -(29444) found -[8371] Forked 29445 -(29445) found -[8370] Forked 29446 -(29446) found -[8369] Forked 29447 -(29447) found -[8368] Forked 29448 -(29448) found -[8367] Forked 29449 -(29449) found -[8366] Forked 29450 -(29450) found -[8365] Forked 29451 -(29451) found -[8364] Forked 29452 -(29452) found -[8363] Forked 29453 -(29453) found -[8362] Forked 29454 -(29454) found -[8361] Forked 29455 -(29455) found -[8360] Forked 29456 -(29456) found -[8359] Forked 29457 -(29457) found -[8358] Forked 29458 -(29458) found -[8357] Forked 29459 -(29459) found -[8356] Forked 29460 -(29460) found -[8355] Forked 29461 -(29461) found -[8354] Forked 29462 -(29462) found -[8353] Forked 29463 -(29463) found -[8352] Forked 29464 -(29464) found -[8351] Forked 29465 -(29465) found -[8350] Forked 29466 -(29466) found -[8349] Forked 29467 -(29467) found -[8348] Forked 29468 -(29468) found -[8347] Forked 29469 -(29469) found -[8346] Forked 29470 -(29470) found -[8345] Forked 29471 -(29471) found -[8344] Forked 29472 -(29472) found -[8343] Forked 29473 -[8342] Forked 29474 -(29473) found -(29474) found -[8341] Forked 29475 -[8340] Forked 29476 -(29475) found -(29476) found -[8339] Forked 29477 -[8338] Forked 29478 -(29477) found -(29478) found -[8337] Forked 29479 -[8336] Forked 29480 -(29479) found -(29480) found -[8335] Forked 29481 -[8334] Forked 29482 -(29481) found -(29482) found -[8333] Forked 29483 -[8332] Forked 29484 -(29483) found -(29484) found -[8331] Forked 29485 -[8330] Forked 29486 -(29485) found -(29486) found -[8329] Forked 29487 -[8328] Forked 29488 -(29487) found -(29488) found -[8327] Forked 29489 -[8326] Forked 29490 -(29489) found -(29490) found -[8325] Forked 29491 -[8324] Forked 29492 -(29491) found -(29492) found -[8323] Forked 29493 -[8322] Forked 29494 -(29493) found -(29494) found -[8321] Forked 29495 -[8320] Forked 29496 -(29495) found -(29496) found -[8319] Forked 29497 -[8318] Forked 29498 -(29497) found -(29498) found -[8317] Forked 29499 -[8316] Forked 29500 -(29499) found -(29500) found -[8315] Forked 29501 -[8314] Forked 29502 -(29501) found -(29502) found -[8313] Forked 29503 -[8312] Forked 29504 -(29503) found -(29504) found -[8311] Forked 29505 -[8310] Forked 29506 -(29505) found -(29506) found -[8309] Forked 29507 -[8308] Forked 29508 -(29507) found -(29508) found -[8307] Forked 29509 -[8306] Forked 29510 -(29509) found -(29510) found -[8305] Forked 29511 -[8304] Forked 29512 -(29511) found -(29512) found -[8303] Forked 29513 -[8302] Forked 29514 -(29513) found -(29514) found -[8301] Forked 29515 -[8300] Forked 29516 -(29515) found -(29516) found -[8299] Forked 29517 -(29517) found -[8298] Forked 29518 -(29518) found -[8297] Forked 29519 -(29519) found -[8296] Forked 29520 -(29520) found -[8295] Forked 29521 -(29521) found -[8294] Forked 29522 -(29522) found -[8293] Forked 29523 -(29523) found -[8292] Forked 29524 -(29524) found -[8291] Forked 29525 -(29525) found -[8290] Forked 29526 -(29526) found -[8289] Forked 29527 -(29527) found -[8288] Forked 29528 -(29528) found -[8287] Forked 29529 -(29529) found -[8286] Forked 29530 -(29530) found -[8285] Forked 29531 -(29531) found -[8284] Forked 29532 -(29532) found -[8283] Forked 29533 -(29533) found -[8282] Forked 29534 -(29534) found -[8281] Forked 29535 -(29535) found -[8280] Forked 29536 -(29536) found -[8279] Forked 29537 -(29537) found -[8278] Forked 29538 -(29538) found -[8277] Forked 29539 -(29539) found -[8276] Forked 29540 -(29540) found -[8275] Forked 29541 -(29541) found -[8274] Forked 29542 -(29542) found -[8273] Forked 29543 -(29543) found -[8272] Forked 29544 -(29544) found -[8271] Forked 29545 -(29545) found -[8270] Forked 29546 -(29546) found -[8269] Forked 29547 -(29547) found -[8268] Forked 29548 -(29548) found -[8267] Forked 29549 -(29549) found -[8266] Forked 29550 -(29550) found -[8265] Forked 29551 -(29551) found -[8264] Forked 29552 -(29552) found -[8263] Forked 29553 -(29553) found -[8262] Forked 29554 -(29554) found -[8261] Forked 29555 -(29555) found -[8260] Forked 29556 -[8259] Forked 29557 -(29556) found -(29557) found -[8258] Forked 29558 -[8257] Forked 29559 -(29558) found -(29559) found -[8256] Forked 29560 -[8255] Forked 29561 -(29560) found -(29561) found -[8254] Forked 29562 -[8253] Forked 29563 -(29562) found -(29563) found -[8252] Forked 29564 -[8251] Forked 29565 -(29564) found -(29565) found -[8250] Forked 29566 -[8249] Forked 29567 -(29566) found -(29567) found -[8248] Forked 29568 -[8247] Forked 29569 -(29568) found -(29569) found -[8246] Forked 29570 -[8245] Forked 29571 -(29570) found -(29571) found -[8244] Forked 29572 -[8243] Forked 29573 -(29572) found -(29573) found -[8242] Forked 29574 -[8241] Forked 29575 -(29574) found -(29575) found -[8240] Forked 29576 -[8239] Forked 29577 -(29576) found -(29577) found -[8238] Forked 29578 -[8237] Forked 29579 -(29578) found -(29579) found -[8236] Forked 29580 -[8235] Forked 29581 -(29580) found -(29581) found -[8234] Forked 29582 -[8233] Forked 29583 -(29582) found -(29583) found -[8232] Forked 29584 -[8231] Forked 29585 -(29584) found -(29585) found -[8230] Forked 29586 -[8229] Forked 29587 -(29586) found -(29587) found -[8228] Forked 29588 -[8227] Forked 29589 -(29588) found -(29589) found -[8226] Forked 29590 -[8225] Forked 29591 -(29590) found -(29591) found -[8224] Forked 29592 -[8223] Forked 29593 -(29592) found -(29593) found -[8222] Forked 29594 -(29594) found -[8221] Forked 29595 -[8220] Forked 29596 -(29595) found -(29596) found -[8219] Forked 29597 -[8218] Forked 29598 -(29597) found -(29598) found -[8217] Forked 29599 -(29599) found -[8216] Forked 29600 -(29600) found -[8215] Forked 29601 -(29601) found -[8214] Forked 29602 -(29602) found -[8213] Forked 29603 -(29603) found -[8212] Forked 29604 -(29604) found -[8211] Forked 29605 -(29605) found -[8210] Forked 29606 -(29606) found -[8209] Forked 29607 -(29607) found -[8208] Forked 29608 -(29608) found -[8207] Forked 29609 -(29609) found -[8206] Forked 29610 -(29610) found -[8205] Forked 29611 -(29611) found -[8204] Forked 29612 -(29612) found -[8203] Forked 29613 -(29613) found -[8202] Forked 29614 -(29614) found -[8201] Forked 29615 -(29615) found -[8200] Forked 29616 -(29616) found -[8199] Forked 29617 -(29617) found -[8198] Forked 29618 -(29618) found -[8197] Forked 29619 -(29619) found -[8196] Forked 29620 -(29620) found -[8195] Forked 29621 -(29621) found -[8194] Forked 29622 -(29622) found -[8193] Forked 29623 -(29623) found -[8192] Forked 29624 -(29624) found -[8191] Forked 29625 -(29625) found -[8190] Forked 29626 -(29626) found -[8189] Forked 29627 -(29627) found -[8188] Forked 29628 -(29628) found -[8187] Forked 29629 -(29629) found -[8186] Forked 29630 -(29630) found -[8185] Forked 29631 -(29631) found -[8184] Forked 29632 -(29632) found -[8183] Forked 29633 -(29633) found -[8182] Forked 29634 -(29634) found -[8181] Forked 29635 -(29635) found -[8180] Forked 29636 -(29636) found -[8179] Forked 29637 -(29637) found -[8178] Forked 29638 -[8177] Forked 29639 -(29638) found -(29639) found -[8176] Forked 29640 -[8175] Forked 29641 -(29640) found -(29641) found -[8174] Forked 29642 -[8173] Forked 29643 -(29642) found -(29643) found -[8172] Forked 29644 -[8171] Forked 29645 -(29644) found -(29645) found -[8170] Forked 29646 -[8169] Forked 29647 -(29646) found -(29647) found -[8168] Forked 29648 -[8167] Forked 29649 -(29648) found -(29649) found -[8166] Forked 29650 -[8165] Forked 29651 -(29650) found -(29651) found -[8164] Forked 29652 -[8163] Forked 29653 -(29652) found -(29653) found -[8162] Forked 29654 -[8161] Forked 29655 -(29654) found -(29655) found -[8160] Forked 29656 -[8159] Forked 29657 -(29656) found -(29657) found -[8158] Forked 29658 -[8157] Forked 29659 -(29658) found -(29659) found -[8156] Forked 29660 -[8155] Forked 29661 -(29660) found -(29661) found -[8154] Forked 29662 -[8153] Forked 29663 -(29662) found -(29663) found -[8152] Forked 29664 -[8151] Forked 29665 -(29665) found -(29664) found -[8150] Forked 29666 -(29666) found -[8149] Forked 29667 -(29667) found -[8148] Forked 29668 -(29668) found -[8147] Forked 29669 -(29669) found -[8146] Forked 29670 -(29670) found -[8145] Forked 29671 -(29671) found -[8144] Forked 29672 -(29672) found -[8143] Forked 29673 -(29673) found -[8142] Forked 29674 -(29674) found -[8141] Forked 29675 -(29675) found -[8140] Forked 29676 -(29676) found -[8139] Forked 29677 -(29677) found -[8138] Forked 29678 -(29678) found -[8137] Forked 29679 -(29679) found -[8136] Forked 29680 -(29680) found -[8135] Forked 29681 -(29681) found -[8134] Forked 29682 -(29682) found -[8133] Forked 29683 -(29683) found -[8132] Forked 29684 -(29684) found -[8131] Forked 29685 -(29685) found -[8130] Forked 29686 -(29686) found -[8129] Forked 29687 -(29687) found -[8128] Forked 29688 -(29688) found -[8127] Forked 29689 -(29689) found -[8126] Forked 29690 -(29690) found -[8125] Forked 29691 -(29691) found -[8124] Forked 29692 -(29692) found -[8123] Forked 29693 -(29693) found -[8122] Forked 29694 -(29694) found -[8121] Forked 29695 -(29695) found -[8120] Forked 29696 -(29696) found -[8119] Forked 29697 -(29697) found -[8118] Forked 29698 -(29698) found -[8117] Forked 29699 -(29699) found -[8116] Forked 29700 -(29700) found -[8115] Forked 29701 -(29701) found -[8114] Forked 29702 -(29702) found -[8113] Forked 29703 -(29703) found -[8112] Forked 29704 -(29704) found -[8111] Forked 29705 -(29705) found -[8110] Forked 29706 -(29706) found -[8109] Forked 29707 -(29707) found -[8108] Forked 29708 -(29708) found -[8107] Forked 29709 -(29709) found -[8106] Forked 29710 -(29710) found -[8105] Forked 29711 -(29711) found -[8104] Forked 29712 -(29712) found -[8103] Forked 29713 -(29713) found -[8102] Forked 29714 -[8101] Forked 29715 -(29714) found -(29715) found -[8100] Forked 29716 -[8099] Forked 29717 -(29716) found -(29717) found -[8098] Forked 29718 -[8097] Forked 29719 -(29718) found -(29719) found -[8096] Forked 29720 -[8095] Forked 29721 -(29720) found -(29721) found -[8094] Forked 29722 -[8093] Forked 29723 -(29722) found -(29723) found -[8092] Forked 29724 -[8091] Forked 29725 -(29724) found -(29725) found -[8090] Forked 29726 -[8089] Forked 29727 -(29726) found -(29727) found -[8088] Forked 29728 -[8087] Forked 29729 -(29728) found -(29729) found -[8086] Forked 29730 -[8085] Forked 29731 -(29730) found -(29731) found -[8084] Forked 29732 -[8083] Forked 29733 -(29732) found -(29733) found -[8082] Forked 29734 -[8081] Forked 29735 -(29734) found -(29735) found -[8080] Forked 29736 -[8079] Forked 29737 -(29737) found -(29736) found -[8078] Forked 29738 -(29738) found -[8077] Forked 29739 -(29739) found -[8076] Forked 29740 -(29740) found -[8075] Forked 29741 -(29741) found -[8074] Forked 29742 -(29742) found -[8073] Forked 29743 -(29743) found -[8072] Forked 29744 -(29744) found -[8071] Forked 29745 -(29745) found -[8070] Forked 29746 -(29746) found -[8069] Forked 29747 -(29747) found -[8068] Forked 29748 -(29748) found -[8067] Forked 29749 -(29749) found -[8066] Forked 29750 -(29750) found -[8065] Forked 29751 -(29751) found -[8064] Forked 29752 -(29752) found -[8063] Forked 29753 -(29753) found -[8062] Forked 29754 -(29754) found -[8061] Forked 29755 -(29755) found -[8060] Forked 29756 -(29756) found -[8059] Forked 29757 -(29757) found -[8058] Forked 29758 -(29758) found -[8057] Forked 29759 -(29759) found -[8056] Forked 29760 -(29760) found -[8055] Forked 29761 -(29761) found -[8054] Forked 29762 -(29762) found -[8053] Forked 29763 -(29763) found -[8052] Forked 29764 -(29764) found -[8051] Forked 29765 -(29765) found -[8050] Forked 29766 -(29766) found -[8049] Forked 29767 -(29767) found -[8048] Forked 29768 -(29768) found -[8047] Forked 29769 -(29769) found -[8046] Forked 29770 -(29770) found -[8045] Forked 29771 -(29771) found -[8044] Forked 29772 -(29772) found -[8043] Forked 29773 -(29773) found -[8042] Forked 29774 -(29774) found -[8041] Forked 29775 -(29775) found -[8040] Forked 29776 -(29776) found -[8039] Forked 29777 -(29777) found -[8038] Forked 29778 -(29778) found -[8037] Forked 29779 -(29779) found -[8036] Forked 29780 -(29780) found -[8035] Forked 29781 -(29781) found -[8034] Forked 29782 -(29782) found -[8033] Forked 29783 -(29783) found -[8032] Forked 29784 -(29784) found -[8031] Forked 29785 -(29785) found -[8030] Forked 29786 -(29786) found -[8029] Forked 29787 -(29787) found -[8028] Forked 29788 -(29788) found -[8027] Forked 29789 -[8026] Forked 29790 -(29789) found -(29790) found -[8025] Forked 29791 -[8024] Forked 29792 -(29791) found -(29792) found -[8023] Forked 29793 -[8022] Forked 29794 -(29793) found -(29794) found -[8021] Forked 29795 -[8020] Forked 29796 -(29795) found -(29796) found -[8019] Forked 29797 -[8018] Forked 29798 -(29797) found -(29798) found -[8017] Forked 29799 -[8016] Forked 29800 -(29799) found -(29800) found -[8015] Forked 29801 -[8014] Forked 29802 -(29801) found -(29802) found -[8013] Forked 29803 -[8012] Forked 29804 -(29803) found -(29804) found -[8011] Forked 29805 -[8010] Forked 29806 -(29805) found -(29806) found -[8009] Forked 29807 -[8008] Forked 29810 -(29807) found -(29810) found -[8007] Forked 29811 -[8006] Forked 29812 -(29811) found -(29812) found -[8005] Forked 29813 -[8004] Forked 29814 -(29813) found -(29814) found -[8003] Forked 29815 -[8002] Forked 29816 -(29815) found -(29816) found -[8001] Forked 29817 -[8000] Forked 29818 -(29817) found -(29818) found -[7999] Forked 29819 -[7998] Forked 29820 -(29819) found -(29820) found -[7997] Forked 29821 -[7996] Forked 29822 -(29821) found -(29822) found -[7995] Forked 29823 -[7994] Forked 29824 -(29823) found -(29824) found -[7993] Forked 29825 -[7992] Forked 29826 -(29825) found -(29826) found -[7991] Forked 29827 -[7990] Forked 29828 -(29827) found -(29828) found -[7989] Forked 29829 -[7988] Forked 29830 -(29829) found -(29830) found -[7987] Forked 29831 -[7986] Forked 29832 -(29831) found -(29832) found -[7985] Forked 29833 -[7984] Forked 29834 -(29833) found -(29834) found -[7983] Forked 29835 -(29835) found -[7982] Forked 29836 -(29836) found -[7981] Forked 29837 -(29837) found -[7980] Forked 29838 -(29838) found -[7979] Forked 29839 -(29839) found -[7978] Forked 29840 -(29840) found -[7977] Forked 29841 -(29841) found -[7976] Forked 29842 -(29842) found -[7975] Forked 29843 -(29843) found -[7974] Forked 29844 -(29844) found -[7973] Forked 29845 -(29845) found -[7972] Forked 29846 -(29846) found -[7971] Forked 29847 -(29847) found -[7970] Forked 29848 -(29848) found -[7969] Forked 29849 -(29849) found -[7968] Forked 29850 -(29850) found -[7967] Forked 29851 -(29851) found -[7966] Forked 29852 -(29852) found -[7965] Forked 29853 -(29853) found -[7964] Forked 29854 -(29854) found -[7963] Forked 29855 -(29855) found -[7962] Forked 29856 -(29856) found -[7961] Forked 29857 -(29857) found -[7960] Forked 29858 -(29858) found -[7959] Forked 29859 -(29859) found -[7958] Forked 29860 -(29860) found -[7957] Forked 29861 -(29861) found -[7956] Forked 29862 -(29862) found -[7955] Forked 29863 -(29863) found -[7954] Forked 29864 -(29864) found -[7953] Forked 29865 -(29865) found -[7952] Forked 29866 -(29866) found -[7951] Forked 29867 -(29867) found -[7950] Forked 29868 -(29868) found -[7949] Forked 29869 -(29869) found -[7948] Forked 29870 -(29870) found -[7947] Forked 29871 -(29871) found -[7946] Forked 29872 -(29872) found -[7945] Forked 29873 -[7944] Forked 29874 -(29873) found -(29874) found -[7943] Forked 29875 -[7942] Forked 29876 -(29875) found -(29876) found -[7941] Forked 29877 -[7940] Forked 29878 -(29877) found -(29878) found -[7939] Forked 29879 -[7938] Forked 29880 -(29879) found -(29880) found -[7937] Forked 29881 -[7936] Forked 29882 -(29881) found -(29882) found -[7935] Forked 29883 -[7934] Forked 29884 -(29883) found -(29884) found -[7933] Forked 29885 -[7932] Forked 29886 -(29885) found -(29886) found -[7931] Forked 29887 -[7930] Forked 29888 -(29887) found -(29888) found -[7929] Forked 29889 -[7928] Forked 29890 -(29889) found -(29890) found -[7927] Forked 29891 -[7926] Forked 29892 -(29891) found -(29892) found -[7925] Forked 29893 -[7924] Forked 29894 -(29893) found -(29894) found -[7923] Forked 29895 -[7922] Forked 29896 -(29895) found -(29896) found -[7921] Forked 29897 -[7920] Forked 29898 -(29897) found -(29898) found -[7919] Forked 29899 -[7918] Forked 29900 -(29899) found -(29900) found -[7917] Forked 29901 -[7916] Forked 29902 -(29901) found -(29902) found -[7915] Forked 29903 -[7914] Forked 29904 -(29903) found -(29904) found -[7913] Forked 29905 -[7912] Forked 29906 -(29905) found -(29906) found -[7911] Forked 29907 -[7910] Forked 29908 -(29907) found -(29908) found -[7909] Forked 29909 -[7908] Forked 29910 -(29909) found -(29910) found -[7907] Forked 29911 -[7906] Forked 29912 -(29911) found -(29912) found -[7905] Forked 29913 -[7904] Forked 29914 -(29913) found -(29914) found -[7903] Forked 29915 -[7902] Forked 29916 -(29915) found -(29916) found -[7901] Forked 29917 -(29917) found -[7900] Forked 29918 -(29918) found -[7899] Forked 29919 -(29919) found -[7898] Forked 29920 -(29920) found -[7897] Forked 29921 -(29921) found -[7896] Forked 29922 -(29922) found -[7895] Forked 29923 -(29923) found -[7894] Forked 29924 -(29924) found -[7893] Forked 29925 -(29925) found -[7892] Forked 29926 -(29926) found -[7891] Forked 29927 -(29927) found -[7890] Forked 29928 -(29928) found -[7889] Forked 29929 -(29929) found -[7888] Forked 29930 -(29930) found -[7887] Forked 29931 -(29931) found -[7886] Forked 29932 -(29932) found -[7885] Forked 29933 -(29933) found -[7884] Forked 29934 -(29934) found -[7883] Forked 29935 -(29935) found -[7882] Forked 29936 -(29936) found -[7881] Forked 29937 -(29937) found -[7880] Forked 29938 -(29938) found -[7879] Forked 29939 -(29939) found -[7878] Forked 29940 -(29940) found -[7877] Forked 29941 -(29941) found -[7876] Forked 29942 -(29942) found -[7875] Forked 29943 -(29943) found -[7874] Forked 29944 -(29944) found -[7873] Forked 29945 -(29945) found -[7872] Forked 29946 -(29946) found -[7871] Forked 29947 -(29947) found -[7870] Forked 29948 -(29948) found -[7869] Forked 29949 -(29949) found -[7868] Forked 29950 -(29950) found -[7867] Forked 29951 -(29951) found -[7866] Forked 29952 -(29952) found -[7865] Forked 29953 -(29953) found -[7864] Forked 29954 -(29954) found -[7863] Forked 29955 -(29955) found -[7862] Forked 29956 -[7861] Forked 29957 -(29956) found -(29957) found -[7860] Forked 29958 -[7859] Forked 29959 -(29958) found -(29959) found -[7858] Forked 29960 -[7857] Forked 29961 -(29960) found -(29961) found -[7856] Forked 29962 -[7855] Forked 29963 -(29962) found -(29963) found -[7854] Forked 29964 -[7853] Forked 29965 -(29964) found -(29965) found -[7852] Forked 29966 -[7851] Forked 29967 -(29966) found -(29967) found -[7850] Forked 29968 -[7849] Forked 29969 -(29968) found -(29969) found -[7848] Forked 29970 -[7847] Forked 29972 -(29970) found -(29972) found -[7846] Forked 29973 -[7845] Forked 29974 -(29973) found -(29974) found -[7844] Forked 29975 -[7843] Forked 29976 -(29975) found -(29976) found -[7842] Forked 29977 -[7841] Forked 29978 -(29977) found -(29978) found -[7840] Forked 29979 -[7839] Forked 29980 -(29979) found -(29980) found -[7838] Forked 29981 -[7837] Forked 29982 -(29981) found -(29982) found -[7836] Forked 29983 -[7835] Forked 29984 -(29983) found -(29984) found -[7834] Forked 29985 -[7833] Forked 29986 -(29985) found -(29986) found -[7832] Forked 29987 -[7831] Forked 29988 -(29987) found -(29988) found -[7830] Forked 29989 -[7829] Forked 29990 -(29989) found -(29990) found -[7828] Forked 29991 -[7827] Forked 29992 -(29992) found -(29991) found -[7826] Forked 29993 -(29993) found -[7825] Forked 29994 -(29994) found -[7824] Forked 29995 -(29995) found -[7823] Forked 29996 -(29996) found -[7822] Forked 29997 -(29997) found -[7821] Forked 29998 -(29998) found -[7820] Forked 29999 -(29999) found -[7819] Forked 30000 -(30000) found -[7818] Forked 30001 -(30001) found -[7817] Forked 30002 -(30002) found -[7816] Forked 30003 -(30003) found -[7815] Forked 30004 -(30004) found -[7814] Forked 30005 -(30005) found -[7813] Forked 30006 -(30006) found -[7812] Forked 30007 -(30007) found -[7811] Forked 30008 -(30008) found -[7810] Forked 30009 -(30009) found -[7809] Forked 30010 -(30010) found -[7808] Forked 30011 -(30011) found -[7807] Forked 30012 -(30012) found -[7806] Forked 30013 -(30013) found -[7805] Forked 30014 -(30014) found -[7804] Forked 30015 -(30015) found -[7803] Forked 30016 -(30016) found -[7802] Forked 30017 -(30017) found -[7801] Forked 30018 -(30018) found -[7800] Forked 30019 -(30019) found -[7799] Forked 30020 -(30020) found -[7798] Forked 30021 -(30021) found -[7797] Forked 30022 -(30022) found -[7796] Forked 30023 -(30023) found -[7795] Forked 30024 -(30024) found -[7794] Forked 30025 -(30025) found -[7793] Forked 30026 -(30026) found -[7792] Forked 30027 -(30027) found -[7791] Forked 30028 -(30028) found -[7790] Forked 30029 -(30029) found -[7789] Forked 30030 -(30030) found -[7788] Forked 30031 -(30031) found -[7787] Forked 30032 -(30032) found -[7786] Forked 30033 -(30033) found -[7785] Forked 30034 -(30034) found -[7784] Forked 30035 -(30035) found -[7783] Forked 30036 -(30036) found -[7782] Forked 30037 -(30037) found -[7781] Forked 30038 -(30038) found -[7780] Forked 30039 -(30039) found -[7779] Forked 30040 -(30040) found -[7778] Forked 30041 -(30041) found -[7777] Forked 30042 -(30042) found -[7776] Forked 30043 -(30043) found -[7775] Forked 30044 -(30044) found -[7774] Forked 30045 -(30045) found -[7773] Forked 30046 -(30046) found -[7772] Forked 30047 -(30047) found -[7771] Forked 30048 -(30048) found -[7770] Forked 30049 -(30049) found -[7769] Forked 30050 -(30050) found -[7768] Forked 30051 -(30051) found -[7767] Forked 30052 -(30052) found -[7766] Forked 30053 -(30053) found -[7765] Forked 30054 -(30054) found -[7764] Forked 30055 -(30055) found -[7763] Forked 30056 -(30056) found -[7762] Forked 30057 -(30057) found -[7761] Forked 30058 -(30058) found -[7760] Forked 30059 -(30059) found -[7759] Forked 30060 -(30060) found -[7758] Forked 30061 -(30061) found -[7757] Forked 30062 -(30062) found -[7756] Forked 30063 -(30063) found -[7755] Forked 30064 -[7754] Forked 30065 -(30064) found -(30065) found -[7753] Forked 30066 -[7752] Forked 30067 -(30066) found -(30067) found -[7751] Forked 30068 -[7750] Forked 30069 -(30068) found -(30069) found -[7749] Forked 30070 -[7748] Forked 30071 -(30070) found -(30071) found -[7747] Forked 30072 -[7746] Forked 30073 -(30072) found -(30073) found -[7745] Forked 30074 -[7744] Forked 30075 -(30074) found -(30075) found -[7743] Forked 30076 -[7742] Forked 30077 -(30076) found -(30077) found -[7741] Forked 30078 -[7740] Forked 30079 -(30078) found -(30079) found -[7739] Forked 30080 -[7738] Forked 30081 -(30080) found -(30081) found -[7737] Forked 30083 -[7736] Forked 30084 -(30083) found -(30084) found -[7735] Forked 30085 -[7734] Forked 30086 -(30085) found -(30086) found -[7733] Forked 30087 -[7732] Forked 30088 -(30087) found -(30088) found -[7731] Forked 30089 -[7730] Forked 30090 -(30089) found -(30090) found -[7729] Forked 30091 -[7728] Forked 30092 -(30091) found -(30092) found -[7727] Forked 30093 -[7726] Forked 30094 -(30093) found -(30094) found -[7725] Forked 30095 -[7724] Forked 30096 -(30095) found -(30096) found -[7723] Forked 30097 -[7722] Forked 30098 -(30097) found -(30098) found -[7721] Forked 30099 -[7720] Forked 30100 -(30099) found -(30100) found -[7719] Forked 30101 -[7718] Forked 30102 -(30101) found -(30102) found -[7717] Forked 30103 -[7716] Forked 30104 -(30103) found -(30104) found -[7715] Forked 30105 -[7714] Forked 30106 -(30105) found -(30106) found -[7713] Forked 30107 -[7712] Forked 30108 -(30107) found -(30108) found -[7711] Forked 30109 -[7710] Forked 30110 -(30109) found -(30110) found -[7709] Forked 30111 -(30111) found -[7708] Forked 30112 -(30112) found -[7707] Forked 30113 -(30113) found -[7706] Forked 30114 -(30114) found -[7705] Forked 30115 -(30115) found -[7704] Forked 30116 -(30116) found -[7703] Forked 30117 -(30117) found -[7702] Forked 30118 -(30118) found -[7701] Forked 30119 -(30119) found -[7700] Forked 30120 -(30120) found -[7699] Forked 30121 -(30121) found -[7698] Forked 30122 -(30122) found -[7697] Forked 30123 -(30123) found -[7696] Forked 30124 -(30124) found -[7695] Forked 30125 -(30125) found -[7694] Forked 30126 -(30126) found -[7693] Forked 30127 -(30127) found -[7692] Forked 30128 -(30128) found -[7691] Forked 30129 -(30129) found -[7690] Forked 30130 -(30130) found -[7689] Forked 30131 -(30131) found -[7688] Forked 30132 -(30132) found -[7687] Forked 30133 -(30133) found -[7686] Forked 30134 -(30134) found -[7685] Forked 30135 -(30135) found -[7684] Forked 30136 -(30136) found -[7683] Forked 30137 -(30137) found -[7682] Forked 30138 -(30138) found -[7681] Forked 30139 -(30139) found -[7680] Forked 30140 -(30140) found -[7679] Forked 30141 -(30141) found -[7678] Forked 30142 -(30142) found -[7677] Forked 30143 -(30143) found -[7676] Forked 30144 -(30144) found -[7675] Forked 30145 -[7674] Forked 30146 -(30145) found -(30146) found -[7673] Forked 30147 -[7672] Forked 30148 -(30148) found -(30147) found -[7671] Forked 30149 -(30149) found -[7670] Forked 30150 -(30150) found -[7669] Forked 30151 -(30151) found -[7668] Forked 30152 -(30152) found -[7667] Forked 30153 -(30153) found -[7666] Forked 30154 -(30154) found -[7665] Forked 30155 -(30155) found -[7664] Forked 30156 -(30156) found -[7663] Forked 30157 -(30157) found -[7662] Forked 30158 -(30158) found -[7661] Forked 30159 -(30159) found -[7660] Forked 30160 -(30160) found -[7659] Forked 30161 -(30161) found -[7658] Forked 30162 -(30162) found -[7657] Forked 30163 -(30163) found -[7656] Forked 30164 -(30164) found -[7655] Forked 30165 -(30165) found -[7654] Forked 30166 -(30166) found -[7653] Forked 30167 -(30167) found -[7652] Forked 30168 -(30168) found -[7651] Forked 30169 -(30169) found -[7650] Forked 30170 -(30170) found -[7649] Forked 30171 -(30171) found -[7648] Forked 30172 -(30172) found -[7647] Forked 30173 -(30173) found -[7646] Forked 30174 -(30174) found -[7645] Forked 30175 -(30175) found -[7644] Forked 30176 -(30176) found -[7643] Forked 30177 -(30177) found -[7642] Forked 30178 -(30178) found -[7641] Forked 30179 -(30179) found -[7640] Forked 30180 -(30180) found -[7639] Forked 30181 -(30181) found -[7638] Forked 30182 -(30182) found -[7637] Forked 30183 -(30183) found -[7636] Forked 30184 -(30184) found -[7635] Forked 30185 -(30185) found -[7634] Forked 30186 -(30186) found -[7633] Forked 30187 -(30187) found -[7632] Forked 30188 -(30188) found -[7631] Forked 30189 -(30189) found -[7630] Forked 30190 -(30190) found -[7629] Forked 30191 -(30191) found -[7628] Forked 30192 -(30192) found -[7627] Forked 30193 -(30193) found -[7626] Forked 30194 -(30194) found -[7625] Forked 30195 -(30195) found -[7624] Forked 30196 -(30196) found -[7623] Forked 30197 -(30197) found -[7622] Forked 30198 -(30198) found -[7621] Forked 30199 -(30199) found -[7620] Forked 30200 -(30200) found -[7619] Forked 30201 -(30201) found -[7618] Forked 30202 -(30202) found -[7617] Forked 30203 -(30203) found -[7616] Forked 30204 -(30204) found -[7615] Forked 30205 -(30205) found -[7614] Forked 30206 -(30206) found -[7613] Forked 30207 -(30207) found -[7612] Forked 30208 -(30208) found -[7611] Forked 30209 -(30209) found -[7610] Forked 30210 -(30210) found -[7609] Forked 30211 -(30211) found -[7608] Forked 30212 -(30212) found -[7607] Forked 30213 -(30213) found -[7606] Forked 30214 -(30214) found -[7605] Forked 30215 -(30215) found -[7604] Forked 30216 -(30216) found -[7603] Forked 30217 -(30217) found -[7602] Forked 30218 -(30218) found -[7601] Forked 30219 -(30219) found -[7600] Forked 30220 -(30220) found -[7599] Forked 30221 -(30221) found -[7598] Forked 30222 -(30222) found -[7597] Forked 30223 -(30223) found -[7596] Forked 30224 -(30224) found -[7595] Forked 30225 -(30225) found -[7594] Forked 30226 -(30226) found -[7593] Forked 30227 -(30227) found -[7592] Forked 30228 -(30228) found -[7591] Forked 30229 -(30229) found -[7590] Forked 30230 -(30230) found -[7589] Forked 30231 -(30231) found -[7588] Forked 30232 -(30232) found -[7587] Forked 30233 -(30233) found -[7586] Forked 30234 -(30234) found -[7585] Forked 30235 -(30235) found -[7584] Forked 30236 -(30236) found -[7583] Forked 30237 -(30237) found -[7582] Forked 30238 -(30238) found -[7581] Forked 30239 -(30239) found -[7580] Forked 30240 -(30240) found -[7579] Forked 30241 -(30241) found -[7578] Forked 30242 -(30242) found -[7577] Forked 30243 -(30243) found -[7576] Forked 30244 -(30244) found -[7575] Forked 30245 -(30245) found -[7574] Forked 30246 -(30246) found -[7573] Forked 30247 -(30247) found -[7572] Forked 30248 -(30248) found -[7571] Forked 30249 -(30249) found -[7570] Forked 30250 -(30250) found -[7569] Forked 30251 -(30251) found -[7568] Forked 30252 -(30252) found -[7567] Forked 30253 -(30253) found -[7566] Forked 30254 -(30254) found -[7565] Forked 30255 -(30255) found -[7564] Forked 30256 -(30256) found -[7563] Forked 30257 -(30257) found -[7562] Forked 30258 -(30258) found -[7561] Forked 30259 -(30259) found -[7560] Forked 30260 -(30260) found -[7559] Forked 30261 -(30261) found -[7558] Forked 30262 -(30262) found -[7557] Forked 30263 -(30263) found -[7556] Forked 30264 -(30264) found -[7555] Forked 30265 -(30265) found -[7554] Forked 30266 -(30266) found -[7553] Forked 30267 -(30267) found -[7552] Forked 30268 -(30268) found -[7551] Forked 30269 -(30269) found -[7550] Forked 30270 -(30270) found -[7549] Forked 30271 -(30271) found -[7548] Forked 30272 -(30272) found -[7547] Forked 30273 -(30273) found -[7546] Forked 30274 -(30274) found -[7545] Forked 30275 -(30275) found -[7544] Forked 30276 -(30276) found -[7543] Forked 30277 -(30277) found -[7542] Forked 30278 -(30278) found -[7541] Forked 30279 -(30279) found -[7540] Forked 30280 -(30280) found -[7539] Forked 30281 -[7538] Forked 30282 -(30281) found -(30282) found -[7537] Forked 30283 -[7536] Forked 30284 -(30283) found -(30284) found -[7535] Forked 30285 -[7534] Forked 30286 -(30285) found -(30286) found -[7533] Forked 30287 -[7532] Forked 30288 -(30287) found -(30288) found -[7531] Forked 30289 -[7530] Forked 30290 -(30290) found -(30289) found -[7529] Forked 30291 -(30291) found -[7528] Forked 30292 -(30292) found -[7527] Forked 30293 -(30293) found -[7526] Forked 30294 -(30294) found -[7525] Forked 30295 -(30295) found -[7524] Forked 30296 -(30296) found -[7523] Forked 30297 -(30297) found -[7522] Forked 30298 -(30298) found -[7521] Forked 30299 -(30299) found -[7520] Forked 30300 -(30300) found -[7519] Forked 30301 -(30301) found -[7518] Forked 30302 -(30302) found -[7517] Forked 30303 -(30303) found -[7516] Forked 30304 -(30304) found -[7515] Forked 30305 -(30305) found -[7514] Forked 30306 -(30306) found -[7513] Forked 30307 -(30307) found -[7512] Forked 30308 -(30308) found -[7511] Forked 30309 -(30309) found -[7510] Forked 30310 -(30310) found -[7509] Forked 30311 -(30311) found -[7508] Forked 30312 -(30312) found -[7507] Forked 30313 -(30313) found -[7506] Forked 30314 -(30314) found -[7505] Forked 30315 -(30315) found -[7504] Forked 30316 -(30316) found -[7503] Forked 30317 -(30317) found -[7502] Forked 30318 -(30318) found -[7501] Forked 30319 -(30319) found -[7500] Forked 30320 -(30320) found -[7499] Forked 30321 -(30321) found -[7498] Forked 30322 -(30322) found -[7497] Forked 30323 -(30323) found -[7496] Forked 30324 -(30324) found -[7495] Forked 30325 -(30325) found -[7494] Forked 30326 -(30326) found -[7493] Forked 30327 -(30327) found -[7492] Forked 30328 -(30328) found -[7491] Forked 30329 -(30329) found -[7490] Forked 30330 -(30330) found -[7489] Forked 30331 -(30331) found -[7488] Forked 30332 -(30332) found -[7487] Forked 30333 -(30333) found -[7486] Forked 30334 -(30334) found -[7485] Forked 30335 -(30335) found -[7484] Forked 30336 -(30336) found -[7483] Forked 30337 -(30337) found -[7482] Forked 30338 -(30338) found -[7481] Forked 30339 -(30339) found -[7480] Forked 30340 -(30340) found -[7479] Forked 30341 -(30341) found -[7478] Forked 30342 -(30342) found -[7477] Forked 30343 -(30343) found -[7476] Forked 30344 -(30344) found -[7475] Forked 30345 -(30345) found -[7474] Forked 30346 -(30346) found -[7473] Forked 30347 -(30347) found -[7472] Forked 30348 -(30348) found -[7471] Forked 30349 -(30349) found -[7470] Forked 30350 -(30350) found -[7469] Forked 30351 -(30351) found -[7468] Forked 30352 -(30352) found -[7467] Forked 30353 -(30353) found -[7466] Forked 30354 -[7465] Forked 30355 -(30354) found -(30355) found -[7464] Forked 30356 -[7463] Forked 30357 -(30356) found -(30357) found -[7462] Forked 30358 -[7461] Forked 30359 -(30358) found -(30359) found -[7460] Forked 30360 -[7459] Forked 30361 -(30360) found -(30361) found -[7458] Forked 30362 -[7457] Forked 30363 -(30362) found -(30363) found -[7456] Forked 30364 -[7455] Forked 30365 -(30364) found -(30365) found -[7454] Forked 30366 -[7453] Forked 30367 -(30366) found -(30367) found -[7452] Forked 30368 -[7451] Forked 30369 -(30368) found -(30369) found -[7450] Forked 30370 -[7449] Forked 30371 -(30370) found -(30371) found -[7448] Forked 30372 -[7447] Forked 30373 -(30372) found -(30373) found -[7446] Forked 30374 -[7445] Forked 30375 -(30374) found -(30375) found -[7444] Forked 30376 -[7443] Forked 30377 -(30376) found -(30377) found -[7442] Forked 30378 -[7441] Forked 30379 -(30378) found -(30379) found -[7440] Forked 30380 -[7439] Forked 30381 -(30380) found -(30381) found -[7438] Forked 30382 -[7437] Forked 30383 -(30382) found -(30383) found -[7436] Forked 30384 -[7435] Forked 30385 -(30384) found -(30385) found -[7434] Forked 30386 -[7433] Forked 30387 -(30386) found -(30387) found -[7432] Forked 30388 -[7431] Forked 30389 -(30388) found -(30389) found -[7430] Forked 30390 -[7429] Forked 30391 -(30390) found -(30391) found -[7428] Forked 30392 -[7427] Forked 30393 -(30392) found -(30393) found -[7426] Forked 30394 -[7425] Forked 30395 -(30394) found -(30395) found -[7424] Forked 30396 -[7423] Forked 30397 -(30396) found -(30397) found -[7422] Forked 30398 -[7421] Forked 30399 -(30398) found -(30399) found -[7420] Forked 30400 -(30400) found -[7419] Forked 30401 -(30401) found -[7418] Forked 30402 -(30402) found -[7417] Forked 30403 -(30403) found -[7416] Forked 30404 -(30404) found -[7415] Forked 30405 -(30405) found -[7414] Forked 30406 -(30406) found -[7413] Forked 30407 -(30407) found -[7412] Forked 30408 -(30408) found -[7411] Forked 30409 -(30409) found -[7410] Forked 30410 -(30410) found -[7409] Forked 30411 -(30411) found -[7408] Forked 30412 -(30412) found -[7407] Forked 30413 -(30413) found -[7406] Forked 30414 -(30414) found -[7405] Forked 30415 -(30415) found -[7404] Forked 30416 -(30416) found -[7403] Forked 30417 -(30417) found -[7402] Forked 30418 -(30418) found -[7401] Forked 30419 -(30419) found -[7400] Forked 30420 -(30420) found -[7399] Forked 30421 -(30421) found -[7398] Forked 30422 -(30422) found -[7397] Forked 30423 -(30423) found -[7396] Forked 30424 -(30424) found -[7395] Forked 30425 -(30425) found -[7394] Forked 30426 -(30426) found -[7393] Forked 30427 -(30427) found -[7392] Forked 30428 -(30428) found -[7391] Forked 30429 -(30429) found -[7390] Forked 30430 -(30430) found -[7389] Forked 30431 -(30431) found -[7388] Forked 30432 -(30432) found -[7387] Forked 30433 -(30433) found -[7386] Forked 30434 -[7385] Forked 30435 -(30434) found -(30435) found -[7384] Forked 30436 -[7383] Forked 30437 -(30436) found -(30437) found -[7382] Forked 30438 -[7381] Forked 30439 -(30438) found -(30439) found -[7380] Forked 30440 -[7379] Forked 30441 -(30440) found -(30441) found -[7378] Forked 30442 -[7377] Forked 30443 -(30442) found -(30443) found -[7376] Forked 30444 -[7375] Forked 30445 -(30444) found -(30445) found -[7374] Forked 30446 -[7373] Forked 30447 -(30446) found -(30447) found -[7372] Forked 30448 -[7371] Forked 30449 -(30448) found -(30449) found -[7370] Forked 30450 -[7369] Forked 30451 -(30450) found -(30451) found -[7368] Forked 30452 -[7367] Forked 30453 -(30452) found -(30453) found -[7366] Forked 30454 -[7365] Forked 30455 -(30454) found -(30455) found -[7364] Forked 30456 -[7363] Forked 30457 -(30456) found -(30457) found -[7362] Forked 30458 -[7361] Forked 30459 -(30458) found -(30459) found -[7360] Forked 30460 -[7359] Forked 30461 -(30460) found -(30461) found -[7358] Forked 30462 -[7357] Forked 30463 -(30462) found -(30463) found -[7356] Forked 30464 -[7355] Forked 30465 -(30464) found -(30465) found -[7354] Forked 30466 -[7353] Forked 30467 -(30466) found -(30467) found -[7352] Forked 30468 -[7351] Forked 30469 -(30468) found -(30469) found -[7350] Forked 30470 -[7349] Forked 30471 -(30470) found -(30471) found -[7348] Forked 30472 -[7347] Forked 30473 -(30472) found -(30473) found -[7346] Forked 30474 -[7345] Forked 30475 -(30474) found -(30475) found -[7344] Forked 30476 -[7343] Forked 30477 -(30476) found -(30477) found -[7342] Forked 30478 -[7341] Forked 30479 -(30478) found -(30479) found -[7340] Forked 30480 -[7339] Forked 30481 -(30480) found -(30481) found -[7338] Forked 30482 -[7337] Forked 30483 -(30482) found -(30483) found -[7336] Forked 30484 -[7335] Forked 30485 -(30484) found -(30485) found -[7334] Forked 30486 -[7333] Forked 30487 -(30486) found -(30487) found -[7332] Forked 30488 -[7331] Forked 30489 -(30488) found -(30489) found -[7330] Forked 30490 -[7329] Forked 30491 -(30490) found -(30491) found -[7328] Forked 30492 -[7327] Forked 30493 -(30492) found -(30493) found -[7326] Forked 30494 -[7325] Forked 30495 -(30494) found -(30495) found -[7324] Forked 30496 -[7323] Forked 30497 -(30496) found -(30497) found -[7322] Forked 30498 -[7321] Forked 30499 -(30498) found -(30499) found -[7320] Forked 30500 -[7319] Forked 30501 -(30500) found -(30501) found -[7318] Forked 30502 -[7317] Forked 30503 -(30502) found -(30503) found -[7316] Forked 30504 -[7315] Forked 30505 -(30504) found -(30505) found -[7314] Forked 30506 -[7313] Forked 30507 -(30506) found -(30507) found -[7312] Forked 30509 -(30509) found -[7311] Forked 30510 -(30510) found -[7310] Forked 30511 -[7309] Forked 30512 -(30511) found -(30512) found -[7308] Forked 30513 -[7307] Forked 30515 -(30513) found -(30515) found -[7306] Forked 30516 -[7305] Forked 30517 -(30516) found -(30517) found -[7304] Forked 30518 -[7303] Forked 30519 -(30518) found -(30519) found -[7302] Forked 30521 -[7301] Forked 30522 -(30521) found -(30522) found -[7300] Forked 30523 -[7299] Forked 30524 -(30523) found -(30524) found -[7298] Forked 30525 -[7297] Forked 30526 -(30525) found -(30526) found -[7296] Forked 30528 -(30528) found -[7295] Forked 30529 -(30529) found -[7294] Forked 30530 -(30530) found -[7293] Forked 30531 -(30531) found -[7292] Forked 30532 -(30532) found -[7291] Forked 30534 -(30534) found -[7290] Forked 30535 -(30535) found -[7289] Forked 30536 -(30536) found -[7288] Forked 30537 -(30537) found -[7287] Forked 30538 -(30538) found -[7286] Forked 30540 -(30540) found -[7285] Forked 30541 -(30541) found -[7284] Forked 30542 -(30542) found -[7283] Forked 30543 -(30543) found -[7282] Forked 30544 -(30544) found -[7281] Forked 30545 -(30545) found -[7280] Forked 30546 -(30546) found -[7279] Forked 30547 -(30547) found -[7278] Forked 30548 -(30548) found -[7277] Forked 30549 -(30549) found -[7276] Forked 30550 -(30550) found -[7275] Forked 30551 -(30551) found -[7274] Forked 30552 -(30552) found -[7273] Forked 30553 -(30553) found -[7272] Forked 30554 -(30554) found -[7271] Forked 30555 -(30555) found -[7270] Forked 30556 -(30556) found -[7269] Forked 30557 -(30557) found -[7268] Forked 30558 -(30558) found -[7267] Forked 30559 -(30559) found -[7266] Forked 30560 -(30560) found -[7265] Forked 30561 -(30561) found -[7264] Forked 30562 -(30562) found -[7263] Forked 30563 -(30563) found -[7262] Forked 30564 -(30564) found -[7261] Forked 30565 -(30565) found -[7260] Forked 30566 -(30566) found -[7259] Forked 30567 -(30567) found -[7258] Forked 30568 -(30568) found -[7257] Forked 30569 -(30569) found -[7256] Forked 30570 -(30570) found -[7255] Forked 30571 -(30571) found -[7254] Forked 30572 -(30572) found -[7253] Forked 30573 -(30573) found -[7252] Forked 30574 -(30574) found -[7251] Forked 30575 -(30575) found -[7250] Forked 30576 -(30576) found -[7249] Forked 30577 -(30577) found -[7248] Forked 30578 -(30578) found -[7247] Forked 30579 -(30579) found -[7246] Forked 30580 -(30580) found -[7245] Forked 30581 -(30581) found -[7244] Forked 30582 -(30582) found -[7243] Forked 30583 -(30583) found -[7242] Forked 30584 -(30584) found -[7241] Forked 30585 -(30585) found -[7240] Forked 30586 -(30586) found -[7239] Forked 30587 -(30587) found -[7238] Forked 30588 -(30588) found -[7237] Forked 30589 -(30589) found -[7236] Forked 30590 -(30590) found -[7235] Forked 30591 -(30591) found -[7234] Forked 30592 -(30592) found -[7233] Forked 30593 -(30593) found -[7232] Forked 30594 -(30594) found -[7231] Forked 30595 -(30595) found -[7230] Forked 30596 -(30596) found -[7229] Forked 30597 -(30597) found -[7228] Forked 30598 -(30598) found -[7227] Forked 30599 -(30599) found -[7226] Forked 30600 -(30600) found -[7225] Forked 30601 -(30601) found -[7224] Forked 30602 -(30602) found -[7223] Forked 30603 -(30603) found -[7222] Forked 30604 -(30604) found -[7221] Forked 30605 -(30605) found -[7220] Forked 30606 -[7219] Forked 30607 -(30606) found -(30607) found -[7218] Forked 30608 -[7217] Forked 30609 -(30608) found -(30609) found -[7216] Forked 30610 -[7215] Forked 30611 -(30610) found -(30611) found -[7214] Forked 30612 -[7213] Forked 30613 -(30612) found -(30613) found -[7212] Forked 30614 -[7211] Forked 30615 -(30614) found -(30615) found -[7210] Forked 30616 -[7209] Forked 30617 -(30616) found -(30617) found -[7208] Forked 30618 -[7207] Forked 30619 -(30618) found -(30619) found -[7206] Forked 30620 -[7205] Forked 30621 -(30620) found -(30621) found -[7204] Forked 30622 -[7203] Forked 30623 -(30622) found -(30623) found -[7202] Forked 30624 -[7201] Forked 30625 -(30624) found -(30625) found -[7200] Forked 30626 -[7199] Forked 30627 -(30627) found -(30626) found -[7198] Forked 30628 -(30628) found -[7197] Forked 30629 -(30629) found -[7196] Forked 30630 -(30630) found -[7195] Forked 30631 -(30631) found -[7194] Forked 30632 -(30632) found -[7193] Forked 30633 -(30633) found -[7192] Forked 30634 -(30634) found -[7191] Forked 30635 -(30635) found -[7190] Forked 30636 -(30636) found -[7189] Forked 30637 -(30637) found -[7188] Forked 30638 -(30638) found -[7187] Forked 30639 -(30639) found -[7186] Forked 30640 -(30640) found -[7185] Forked 30641 -(30641) found -[7184] Forked 30642 -(30642) found -[7183] Forked 30643 -(30643) found -[7182] Forked 30644 -(30644) found -[7181] Forked 30645 -(30645) found -[7180] Forked 30646 -(30646) found -[7179] Forked 30647 -(30647) found -[7178] Forked 30648 -(30648) found -[7177] Forked 30649 -(30649) found -[7176] Forked 30650 -(30650) found -[7175] Forked 30651 -(30651) found -[7174] Forked 30652 -(30652) found -[7173] Forked 30653 -(30653) found -[7172] Forked 30654 -(30654) found -[7171] Forked 30655 -(30655) found -[7170] Forked 30656 -(30656) found -[7169] Forked 30657 -(30657) found -[7168] Forked 30658 -(30658) found -[7167] Forked 30659 -(30659) found -[7166] Forked 30660 -(30660) found -[7165] Forked 30661 -(30661) found -[7164] Forked 30662 -(30662) found -[7163] Forked 30663 -(30663) found -[7162] Forked 30664 -(30664) found -[7161] Forked 30665 -(30665) found -[7160] Forked 30666 -(30666) found -[7159] Forked 30667 -(30667) found -[7158] Forked 30668 -(30668) found -[7157] Forked 30669 -(30669) found -[7156] Forked 30670 -(30670) found -[7155] Forked 30671 -(30671) found -[7154] Forked 30672 -(30672) found -[7153] Forked 30673 -(30673) found -[7152] Forked 30674 -(30674) found -[7151] Forked 30675 -(30675) found -[7150] Forked 30676 -(30676) found -[7149] Forked 30677 -(30677) found -[7148] Forked 30678 -[7147] Forked 30679 -(30678) found -(30679) found -[7146] Forked 30680 -[7145] Forked 30681 -(30680) found -(30681) found -[7144] Forked 30682 -[7143] Forked 30683 -(30682) found -(30683) found -[7142] Forked 30684 -[7141] Forked 30685 -(30684) found -(30685) found -[7140] Forked 30686 -[7139] Forked 30687 -(30686) found -(30687) found -[7138] Forked 30688 -[7137] Forked 30689 -(30688) found -(30689) found -[7136] Forked 30690 -[7135] Forked 30691 -(30690) found -(30691) found -[7134] Forked 30692 -[7133] Forked 30693 -(30692) found -(30693) found -[7132] Forked 30694 -[7131] Forked 30695 -(30694) found -(30695) found -[7130] Forked 30696 -[7129] Forked 30697 -(30696) found -(30697) found -[7128] Forked 30698 -[7127] Forked 30699 -(30698) found -(30699) found -[7126] Forked 30700 -[7125] Forked 30701 -(30700) found -(30701) found -[7124] Forked 30702 -[7123] Forked 30703 -(30702) found -(30703) found -[7122] Forked 30704 -[7121] Forked 30705 -(30704) found -(30705) found -[7120] Forked 30706 -[7119] Forked 30707 -(30706) found -(30707) found -[7118] Forked 30708 -[7117] Forked 30709 -(30708) found -(30709) found -[7116] Forked 30710 -[7115] Forked 30711 -(30710) found -(30711) found -[7114] Forked 30712 -[7113] Forked 30713 -(30712) found -(30713) found -[7112] Forked 30714 -[7111] Forked 30715 -(30714) found -(30715) found -[7110] Forked 30716 -[7109] Forked 30717 -(30716) found -(30717) found -[7108] Forked 30718 -[7107] Forked 30719 -(30718) found -(30719) found -[7106] Forked 30720 -[7105] Forked 30721 -(30720) found -(30721) found -[7104] Forked 30722 -[7103] Forked 30723 -(30722) found -(30723) found -[7102] Forked 30724 -(30724) found -[7101] Forked 30725 -(30725) found -[7100] Forked 30726 -(30726) found -[7099] Forked 30727 -(30727) found -[7098] Forked 30728 -(30728) found -[7097] Forked 30729 -(30729) found -[7096] Forked 30730 -(30730) found -[7095] Forked 30731 -(30731) found -[7094] Forked 30732 -(30732) found -[7093] Forked 30733 -(30733) found -[7092] Forked 30734 -(30734) found -[7091] Forked 30735 -(30735) found -[7090] Forked 30736 -(30736) found -[7089] Forked 30737 -(30737) found -[7088] Forked 30738 -(30738) found -[7087] Forked 30739 -(30739) found -[7086] Forked 30740 -(30740) found -[7085] Forked 30741 -(30741) found -[7084] Forked 30742 -(30742) found -[7083] Forked 30743 -(30743) found -[7082] Forked 30744 -(30744) found -[7081] Forked 30745 -(30745) found -[7080] Forked 30746 -(30746) found -[7079] Forked 30747 -(30747) found -[7078] Forked 30748 -(30748) found -[7077] Forked 30749 -(30749) found -[7076] Forked 30750 -(30750) found -[7075] Forked 30751 -(30751) found -[7074] Forked 30752 -(30752) found -[7073] Forked 30753 -(30753) found -[7072] Forked 30754 -(30754) found -[7071] Forked 30755 -(30755) found -[7070] Forked 30756 -(30756) found -[7069] Forked 30757 -(30757) found -[7068] Forked 30758 -(30758) found -[7067] Forked 30759 -[7066] Forked 30760 -(30759) found -(30760) found -[7065] Forked 30761 -[7064] Forked 30762 -(30761) found -(30762) found -[7063] Forked 30763 -[7062] Forked 30764 -(30764) found -(30763) found -[7061] Forked 30765 -(30765) found -[7060] Forked 30766 -(30766) found -[7059] Forked 30767 -(30767) found -[7058] Forked 30768 -(30768) found -[7057] Forked 30769 -(30769) found -[7056] Forked 30770 -(30770) found -[7055] Forked 30771 -(30771) found -[7054] Forked 30772 -(30772) found -[7053] Forked 30773 -(30773) found -[7052] Forked 30774 -(30774) found -[7051] Forked 30775 -(30775) found -[7050] Forked 30776 -(30776) found -[7049] Forked 30777 -(30777) found -[7048] Forked 30778 -(30778) found -[7047] Forked 30779 -(30779) found -[7046] Forked 30780 -(30780) found -[7045] Forked 30781 -(30781) found -[7044] Forked 30782 -(30782) found -[7043] Forked 30783 -(30783) found -[7042] Forked 30784 -(30784) found -[7041] Forked 30785 -(30785) found -[7040] Forked 30786 -(30786) found -[7039] Forked 30787 -(30787) found -[7038] Forked 30788 -(30788) found -[7037] Forked 30789 -(30789) found -[7036] Forked 30790 -(30790) found -[7035] Forked 30791 -(30791) found -[7034] Forked 30792 -(30792) found -[7033] Forked 30793 -(30793) found -[7032] Forked 30794 -(30794) found -[7031] Forked 30795 -(30795) found -[7030] Forked 30796 -(30796) found -[7029] Forked 30797 -(30797) found -[7028] Forked 30798 -(30798) found -[7027] Forked 30799 -(30799) found -[7026] Forked 30800 -(30800) found -[7025] Forked 30801 -(30801) found -[7024] Forked 30802 -(30802) found -[7023] Forked 30803 -(30803) found -[7022] Forked 30804 -(30804) found -[7021] Forked 30805 -(30805) found -[7020] Forked 30806 -(30806) found -[7019] Forked 30807 -(30807) found -[7018] Forked 30808 -(30808) found -[7017] Forked 30809 -(30809) found -[7016] Forked 30810 -(30810) found -[7015] Forked 30811 -(30811) found -[7014] Forked 30812 -(30812) found -[7013] Forked 30813 -(30813) found -[7012] Forked 30814 -(30814) found -[7011] Forked 30815 -(30815) found -[7010] Forked 30816 -(30816) found -[7009] Forked 30817 -(30817) found -[7008] Forked 30818 -(30818) found -[7007] Forked 30819 -(30819) found -[7006] Forked 30820 -(30820) found -[7005] Forked 30821 -(30821) found -[7004] Forked 30822 -(30822) found -[7003] Forked 30823 -(30823) found -[7002] Forked 30824 -(30824) found -[7001] Forked 30825 -(30825) found -[7000] Forked 30826 -(30826) found -[6999] Forked 30827 -(30827) found -[6998] Forked 30828 -(30828) found -[6997] Forked 30829 -[6996] Forked 30831 -(30829) found -(30831) found -[6995] Forked 30832 -[6994] Forked 30833 -(30832) found -(30833) found -[6993] Forked 30834 -[6992] Forked 30835 -(30834) found -(30835) found -[6991] Forked 30837 -[6990] Forked 30838 -(30837) found -(30838) found -[6989] Forked 30839 -[6988] Forked 30840 -(30839) found -(30840) found -[6987] Forked 30841 -[6986] Forked 30843 -(30841) found -(30843) found -[6985] Forked 30844 -[6984] Forked 30845 -(30844) found -(30845) found -[6983] Forked 30846 -[6982] Forked 30847 -(30846) found -(30847) found -[6981] Forked 30849 -[6980] Forked 30850 -(30849) found -(30850) found -[6979] Forked 30851 -[6978] Forked 30852 -(30851) found -(30852) found -[6977] Forked 30853 -[6976] Forked 30855 -(30853) found -(30855) found -[6975] Forked 30856 -[6974] Forked 30857 -(30856) found -(30857) found -[6973] Forked 30858 -[6972] Forked 30859 -(30858) found -(30859) found -[6971] Forked 30861 -[6970] Forked 30862 -(30861) found -(30862) found -[6969] Forked 30863 -[6968] Forked 30864 -(30863) found -(30864) found -[6967] Forked 30865 -[6966] Forked 30866 -(30865) found -(30866) found -[6965] Forked 30867 -[6964] Forked 30868 -(30867) found -(30868) found -[6963] Forked 30869 -[6962] Forked 30870 -(30869) found -(30870) found -[6961] Forked 30871 -[6960] Forked 30872 -(30871) found -(30872) found -[6959] Forked 30873 -[6958] Forked 30874 -(30873) found -(30874) found -[6957] Forked 30875 -[6956] Forked 30876 -(30875) found -(30876) found -[6955] Forked 30877 -[6954] Forked 30878 -(30877) found -(30878) found -[6953] Forked 30879 -[6952] Forked 30880 -(30879) found -(30880) found -[6951] Forked 30881 -[6950] Forked 30882 -(30881) found -(30882) found -[6949] Forked 30883 -[6948] Forked 30884 -(30883) found -(30884) found -[6947] Forked 30885 -[6946] Forked 30886 -(30885) found -(30886) found -[6945] Forked 30887 -[6944] Forked 30888 -(30887) found -(30888) found -[6943] Forked 30889 -[6942] Forked 30890 -(30889) found -(30890) found -[6941] Forked 30891 -[6940] Forked 30892 -(30891) found -(30892) found -[6939] Forked 30893 -[6938] Forked 30894 -(30893) found -(30894) found -[6937] Forked 30895 -[6936] Forked 30896 -(30895) found -(30896) found -[6935] Forked 30897 -[6934] Forked 30898 -(30897) found -(30898) found -[6933] Forked 30899 -[6932] Forked 30900 -(30899) found -(30900) found -[6931] Forked 30901 -[6930] Forked 30902 -(30901) found -(30902) found -[6929] Forked 30903 -[6928] Forked 30904 -(30903) found -(30904) found -[6927] Forked 30905 -[6926] Forked 30906 -(30905) found -(30906) found -[6925] Forked 30907 -[6924] Forked 30908 -(30907) found -(30908) found -[6923] Forked 30909 -[6922] Forked 30910 -(30909) found -(30910) found -[6921] Forked 30911 -[6920] Forked 30912 -(30911) found -(30912) found -[6919] Forked 30913 -[6918] Forked 30914 -(30913) found -(30914) found -[6917] Forked 30915 -[6916] Forked 30916 -(30915) found -(30916) found -[6915] Forked 30917 -[6914] Forked 30918 -(30917) found -(30918) found -[6913] Forked 30919 -[6912] Forked 30920 -(30919) found -(30920) found -[6911] Forked 30921 -[6910] Forked 30923 -(30921) found -(30923) found -[6909] Forked 30924 -(30924) found -[6908] Forked 30925 -(30925) found -[6907] Forked 30926 -(30926) found -[6906] Forked 30927 -(30927) found -[6905] Forked 30928 -(30928) found -[6904] Forked 30929 -(30929) found -[6903] Forked 30930 -(30930) found -[6902] Forked 30931 -(30931) found -[6901] Forked 30932 -(30932) found -[6900] Forked 30933 -(30933) found -[6899] Forked 30934 -(30934) found -[6898] Forked 30935 -(30935) found -[6897] Forked 30936 -(30936) found -[6896] Forked 30937 -(30937) found -[6895] Forked 30938 -(30938) found -[6894] Forked 30939 -(30939) found -[6893] Forked 30940 -(30940) found -[6892] Forked 30941 -(30941) found -[6891] Forked 30942 -(30942) found -[6890] Forked 30943 -(30943) found -[6889] Forked 30944 -(30944) found -[6888] Forked 30945 -(30945) found -[6887] Forked 30946 -(30946) found -[6886] Forked 30947 -(30947) found -[6885] Forked 30948 -(30948) found -[6884] Forked 30949 -(30949) found -[6883] Forked 30950 -(30950) found -[6882] Forked 30951 -(30951) found -[6881] Forked 30952 -(30952) found -[6880] Forked 30953 -(30953) found -[6879] Forked 30954 -(30954) found -[6878] Forked 30955 -(30955) found -[6877] Forked 30956 -(30956) found -[6876] Forked 30957 -(30957) found -[6875] Forked 30958 -(30958) found -[6874] Forked 30959 -(30959) found -[6873] Forked 30960 -(30960) found -[6872] Forked 30961 -(30961) found -[6871] Forked 30962 -(30962) found -[6870] Forked 30963 -[6869] Forked 30964 -(30963) found -(30964) found -[6868] Forked 30965 -[6867] Forked 30966 -(30965) found -(30966) found -[6866] Forked 30967 -[6865] Forked 30968 -(30967) found -(30968) found -[6864] Forked 30969 -[6863] Forked 30970 -(30969) found -(30970) found -[6862] Forked 30971 -[6861] Forked 30972 -(30971) found -(30972) found -[6860] Forked 30973 -[6859] Forked 30974 -(30973) found -(30974) found -[6858] Forked 30975 -[6857] Forked 30976 -(30975) found -(30976) found -[6856] Forked 30977 -[6855] Forked 30978 -(30977) found -(30978) found -[6854] Forked 30979 -[6853] Forked 30980 -(30979) found -(30980) found -[6852] Forked 30981 -[6851] Forked 30982 -(30981) found -(30982) found -[6850] Forked 30983 -[6849] Forked 30984 -(30983) found -(30984) found -[6848] Forked 30985 -[6847] Forked 30986 -(30985) found -(30986) found -[6846] Forked 30987 -[6845] Forked 30988 -(30987) found -(30988) found -[6844] Forked 30989 -[6843] Forked 30990 -(30989) found -(30990) found -[6842] Forked 30991 -[6841] Forked 30992 -(30991) found -(30992) found -[6840] Forked 30993 -[6839] Forked 30994 -(30993) found -(30994) found -[6838] Forked 30995 -[6837] Forked 30996 -(30995) found -(30996) found -[6836] Forked 30997 -[6835] Forked 30998 -(30997) found -(30998) found -[6834] Forked 30999 -[6833] Forked 31000 -(30999) found -(31000) found -[6832] Forked 31001 -[6831] Forked 31003 -(31001) found -(31003) found -[6830] Forked 31004 -(31004) found -[6829] Forked 31005 -(31005) found -[6828] Forked 31006 -(31006) found -[6827] Forked 31007 -(31007) found -[6826] Forked 31008 -(31008) found -[6825] Forked 31009 -(31009) found -[6824] Forked 31010 -(31010) found -[6823] Forked 31011 -(31011) found -[6822] Forked 31012 -(31012) found -[6821] Forked 31013 -(31013) found -[6820] Forked 31014 -(31014) found -[6819] Forked 31015 -(31015) found -[6818] Forked 31016 -(31016) found -[6817] Forked 31017 -(31017) found -[6816] Forked 31018 -(31018) found -[6815] Forked 31019 -(31019) found -[6814] Forked 31020 -(31020) found -[6813] Forked 31021 -(31021) found -[6812] Forked 31022 -(31022) found -[6811] Forked 31023 -(31023) found -[6810] Forked 31024 -(31024) found -[6809] Forked 31025 -(31025) found -[6808] Forked 31026 -(31026) found -[6807] Forked 31027 -(31027) found -[6806] Forked 31028 -(31028) found -[6805] Forked 31029 -(31029) found -[6804] Forked 31030 -(31030) found -[6803] Forked 31031 -(31031) found -[6802] Forked 31032 -(31032) found -[6801] Forked 31033 -(31033) found -[6800] Forked 31034 -(31034) found -[6799] Forked 31035 -(31035) found -[6798] Forked 31036 -(31036) found -[6797] Forked 31037 -(31037) found -[6796] Forked 31038 -(31038) found -[6795] Forked 31039 -(31039) found -[6794] Forked 31040 -(31040) found -[6793] Forked 31041 -(31041) found -[6792] Forked 31042 -(31042) found -[6791] Forked 31043 -(31043) found -[6790] Forked 31044 -(31044) found -[6789] Forked 31045 -[6788] Forked 31046 -(31045) found -(31046) found -[6787] Forked 31047 -[6786] Forked 31048 -(31047) found -(31048) found -[6785] Forked 31049 -[6784] Forked 31050 -(31049) found -(31050) found -[6783] Forked 31051 -[6782] Forked 31052 -(31051) found -(31052) found -[6781] Forked 31053 -[6780] Forked 31054 -(31053) found -(31054) found -[6779] Forked 31055 -[6778] Forked 31056 -(31055) found -(31056) found -[6777] Forked 31057 -[6776] Forked 31058 -(31057) found -(31058) found -[6775] Forked 31059 -[6774] Forked 31060 -(31059) found -(31060) found -[6773] Forked 31061 -[6772] Forked 31062 -(31061) found -(31062) found -[6771] Forked 31064 -[6770] Forked 31065 -(31064) found -(31065) found -[6769] Forked 31066 -[6768] Forked 31067 -(31066) found -(31067) found -[6767] Forked 31068 -[6766] Forked 31069 -(31068) found -(31069) found -[6765] Forked 31070 -[6764] Forked 31071 -(31070) found -(31071) found -[6763] Forked 31072 -[6762] Forked 31073 -(31072) found -(31073) found -[6761] Forked 31074 -[6760] Forked 31075 -(31074) found -(31075) found -[6759] Forked 31076 -[6758] Forked 31077 -(31076) found -(31077) found -[6757] Forked 31078 -[6756] Forked 31079 -(31078) found -(31079) found -[6755] Forked 31080 -[6754] Forked 31081 -(31080) found -(31081) found -[6753] Forked 31082 -[6752] Forked 31083 -(31082) found -(31083) found -[6751] Forked 31084 -[6750] Forked 31086 -(31084) found -(31086) found -[6749] Forked 31087 -(31087) found -[6748] Forked 31088 -(31088) found -[6747] Forked 31089 -(31089) found -[6746] Forked 31090 -(31090) found -[6745] Forked 31091 -(31091) found -[6744] Forked 31092 -(31092) found -[6743] Forked 31093 -(31093) found -[6742] Forked 31094 -(31094) found -[6741] Forked 31095 -(31095) found -[6740] Forked 31096 -(31096) found -[6739] Forked 31097 -(31097) found -[6738] Forked 31098 -(31098) found -[6737] Forked 31099 -(31099) found -[6736] Forked 31100 -(31100) found -[6735] Forked 31101 -(31101) found -[6734] Forked 31102 -(31102) found -[6733] Forked 31103 -(31103) found -[6732] Forked 31104 -(31104) found -[6731] Forked 31105 -(31105) found -[6730] Forked 31106 -(31106) found -[6729] Forked 31107 -(31107) found -[6728] Forked 31108 -(31108) found -[6727] Forked 31109 -(31109) found -[6726] Forked 31110 -(31110) found -[6725] Forked 31111 -(31111) found -[6724] Forked 31112 -(31112) found -[6723] Forked 31113 -(31113) found -[6722] Forked 31114 -(31114) found -[6721] Forked 31115 -(31115) found -[6720] Forked 31116 -(31116) found -[6719] Forked 31117 -(31117) found -[6718] Forked 31118 -(31118) found -[6717] Forked 31119 -(31119) found -[6716] Forked 31120 -(31120) found -[6715] Forked 31121 -(31121) found -[6714] Forked 31122 -(31122) found -[6713] Forked 31123 -(31123) found -[6712] Forked 31124 -(31124) found -[6711] Forked 31125 -(31125) found -[6710] Forked 31126 -(31126) found -[6709] Forked 31127 -(31127) found -[6708] Forked 31128 -[6707] Forked 31129 -(31128) found -(31129) found -[6706] Forked 31130 -[6705] Forked 31131 -(31130) found -(31131) found -[6704] Forked 31132 -[6703] Forked 31133 -(31132) found -(31133) found -[6702] Forked 31134 -[6701] Forked 31135 -(31134) found -(31135) found -[6700] Forked 31136 -[6699] Forked 31137 -(31136) found -(31137) found -[6698] Forked 31138 -[6697] Forked 31139 -(31138) found -(31139) found -[6696] Forked 31140 -[6695] Forked 31141 -(31140) found -(31141) found -[6694] Forked 31142 -[6693] Forked 31143 -(31142) found -(31143) found -[6692] Forked 31144 -[6691] Forked 31145 -(31144) found -(31145) found -[6690] Forked 31146 -[6689] Forked 31147 -(31146) found -(31147) found -[6688] Forked 31148 -[6687] Forked 31149 -(31148) found -(31149) found -[6686] Forked 31150 -[6685] Forked 31151 -(31150) found -(31151) found -[6684] Forked 31152 -[6683] Forked 31153 -(31152) found -(31153) found -[6682] Forked 31154 -[6681] Forked 31155 -(31154) found -(31155) found -[6680] Forked 31156 -[6679] Forked 31157 -(31156) found -(31157) found -[6678] Forked 31158 -[6677] Forked 31159 -(31158) found -(31159) found -[6676] Forked 31160 -[6675] Forked 31161 -(31160) found -(31161) found -[6674] Forked 31162 -[6673] Forked 31163 -(31162) found -(31163) found -[6672] Forked 31164 -[6671] Forked 31165 -(31164) found -(31165) found -[6670] Forked 31166 -[6669] Forked 31167 -(31166) found -(31167) found -[6668] Forked 31168 -[6667] Forked 31169 -(31168) found -(31169) found -[6666] Forked 31170 -[6665] Forked 31171 -(31170) found -(31171) found -[6664] Forked 31172 -[6663] Forked 31173 -(31172) found -(31173) found -[6662] Forked 31174 -[6661] Forked 31175 -(31174) found -(31175) found -[6660] Forked 31176 -[6659] Forked 31177 -(31176) found -(31177) found -[6658] Forked 31178 -[6657] Forked 31179 -(31178) found -(31179) found -[6656] Forked 31180 -[6655] Forked 31181 -(31180) found -(31181) found -[6654] Forked 31182 -[6653] Forked 31183 -(31182) found -(31183) found -[6652] Forked 31184 -[6651] Forked 31185 -(31184) found -(31185) found -[6650] Forked 31186 -[6649] Forked 31187 -(31186) found -(31187) found -[6648] Forked 31188 -[6647] Forked 31189 -(31188) found -(31189) found -[6646] Forked 31190 -[6645] Forked 31191 -(31190) found -(31191) found -[6644] Forked 31192 -[6643] Forked 31193 -(31192) found -(31193) found -[6642] Forked 31194 -[6641] Forked 31195 -(31194) found -(31195) found -[6640] Forked 31196 -[6639] Forked 31197 -(31196) found -(31197) found -[6638] Forked 31198 -[6637] Forked 31199 -(31198) found -(31199) found -[6636] Forked 31200 -[6635] Forked 31201 -(31200) found -(31201) found -[6634] Forked 31202 -[6633] Forked 31203 -(31202) found -(31203) found -[6632] Forked 31204 -[6631] Forked 31205 -(31204) found -(31205) found -[6630] Forked 31206 -[6629] Forked 31207 -(31206) found -(31207) found -[6628] Forked 31208 -[6627] Forked 31209 -(31208) found -(31209) found -[6626] Forked 31210 -[6625] Forked 31211 -(31210) found -(31211) found -[6624] Forked 31212 -[6623] Forked 31213 -(31212) found -(31213) found -[6622] Forked 31214 -[6621] Forked 31215 -(31214) found -(31215) found -[6620] Forked 31216 -[6619] Forked 31217 -(31216) found -(31217) found -[6618] Forked 31218 -[6617] Forked 31219 -(31218) found -(31219) found -[6616] Forked 31220 -[6615] Forked 31221 -(31220) found -(31221) found -[6614] Forked 31222 -[6613] Forked 31223 -(31222) found -(31223) found -[6612] Forked 31224 -[6611] Forked 31225 -(31224) found -(31225) found -[6610] Forked 31226 -[6609] Forked 31227 -(31226) found -(31227) found -[6608] Forked 31228 -[6607] Forked 31229 -(31228) found -(31229) found -[6606] Forked 31230 -[6605] Forked 31231 -(31230) found -(31231) found -[6604] Forked 31232 -[6603] Forked 31233 -(31232) found -(31233) found -[6602] Forked 31234 -[6601] Forked 31235 -(31234) found -(31235) found -[6600] Forked 31236 -[6599] Forked 31237 -(31236) found -(31237) found -[6598] Forked 31238 -[6597] Forked 31239 -(31238) found -(31239) found -[6596] Forked 31240 -[6595] Forked 31241 -(31240) found -(31241) found -[6594] Forked 31242 -[6593] Forked 31243 -(31242) found -(31243) found -[6592] Forked 31244 -[6591] Forked 31245 -(31244) found -(31245) found -[6590] Forked 31246 -[6589] Forked 31247 -(31246) found -(31247) found -[6588] Forked 31248 -[6587] Forked 31249 -(31248) found -(31249) found -[6586] Forked 31250 -[6585] Forked 31251 -(31250) found -(31251) found -[6584] Forked 31252 -[6583] Forked 31253 -(31252) found -(31253) found -[6582] Forked 31254 -[6581] Forked 31255 -(31254) found -(31255) found -[6580] Forked 31256 -[6579] Forked 31257 -(31256) found -(31257) found -[6578] Forked 31258 -[6577] Forked 31259 -(31258) found -(31259) found -[6576] Forked 31260 -[6575] Forked 31261 -(31260) found -(31261) found -[6574] Forked 31262 -(31262) found -[6573] Forked 31263 -(31263) found -[6572] Forked 31264 -(31264) found -[6571] Forked 31265 -(31265) found -[6570] Forked 31266 -(31266) found -[6569] Forked 31267 -(31267) found -[6568] Forked 31268 -(31268) found -[6567] Forked 31269 -(31269) found -[6566] Forked 31270 -(31270) found -[6565] Forked 31271 -(31271) found -[6564] Forked 31272 -(31272) found -[6563] Forked 31273 -(31273) found -[6562] Forked 31274 -(31274) found -[6561] Forked 31275 -(31275) found -[6560] Forked 31276 -(31276) found -[6559] Forked 31277 -(31277) found -[6558] Forked 31278 -(31278) found -[6557] Forked 31279 -(31279) found -[6556] Forked 31280 -(31280) found -[6555] Forked 31281 -(31281) found -[6554] Forked 31282 -(31282) found -[6553] Forked 31283 -(31283) found -[6552] Forked 31284 -(31284) found -[6551] Forked 31285 -(31285) found -[6550] Forked 31286 -(31286) found -[6549] Forked 31287 -(31287) found -[6548] Forked 31288 -(31288) found -[6547] Forked 31289 -(31289) found -[6546] Forked 31290 -(31290) found -[6545] Forked 31291 -(31291) found -[6544] Forked 31292 -(31292) found -[6543] Forked 31293 -(31293) found -[6542] Forked 31294 -(31294) found -[6541] Forked 31295 -(31295) found -[6540] Forked 31296 -(31296) found -[6539] Forked 31297 -(31297) found -[6538] Forked 31298 -(31298) found -[6537] Forked 31299 -(31299) found -[6536] Forked 31300 -[6535] Forked 31301 -(31300) found -(31301) found -[6534] Forked 31302 -[6533] Forked 31303 -(31302) found -(31303) found -[6532] Forked 31304 -(31304) found -[6531] Forked 31305 -[6530] Forked 31306 -(31305) found -(31306) found -[6529] Forked 31307 -[6528] Forked 31308 -(31307) found -(31308) found -[6527] Forked 31309 -[6526] Forked 31310 -(31309) found -(31310) found -[6525] Forked 31311 -[6524] Forked 31312 -(31311) found -(31312) found -[6523] Forked 31313 -[6522] Forked 31314 -(31313) found -(31314) found -[6521] Forked 31315 -[6520] Forked 31316 -(31315) found -(31316) found -[6519] Forked 31317 -[6518] Forked 31318 -(31317) found -(31318) found -[6517] Forked 31319 -[6516] Forked 31320 -(31320) found -(31319) found -[6515] Forked 31321 -(31321) found -[6514] Forked 31322 -(31322) found -[6513] Forked 31323 -(31323) found -[6512] Forked 31324 -(31324) found -[6511] Forked 31325 -(31325) found -[6510] Forked 31326 -(31326) found -[6509] Forked 31327 -(31327) found -[6508] Forked 31328 -(31328) found -[6507] Forked 31329 -(31329) found -[6506] Forked 31330 -(31330) found -[6505] Forked 31331 -(31331) found -[6504] Forked 31332 -(31332) found -[6503] Forked 31333 -(31333) found -[6502] Forked 31334 -(31334) found -[6501] Forked 31335 -(31335) found -[6500] Forked 31336 -(31336) found -[6499] Forked 31337 -(31337) found -[6498] Forked 31338 -(31338) found -[6497] Forked 31339 -(31339) found -[6496] Forked 31340 -(31340) found -[6495] Forked 31341 -(31341) found -[6494] Forked 31342 -(31342) found -[6493] Forked 31343 -(31343) found -[6492] Forked 31344 -(31344) found -[6491] Forked 31345 -(31345) found -[6490] Forked 31346 -(31346) found -[6489] Forked 31347 -(31347) found -[6488] Forked 31348 -(31348) found -[6487] Forked 31349 -(31349) found -[6486] Forked 31350 -(31350) found -[6485] Forked 31351 -(31351) found -[6484] Forked 31352 -(31352) found -[6483] Forked 31353 -(31353) found -[6482] Forked 31354 -(31354) found -[6481] Forked 31355 -(31355) found -[6480] Forked 31356 -(31356) found -[6479] Forked 31357 -(31357) found -[6478] Forked 31358 -(31358) found -[6477] Forked 31359 -(31359) found -[6476] Forked 31360 -(31360) found -[6475] Forked 31361 -(31361) found -[6474] Forked 31362 -(31362) found -[6473] Forked 31363 -(31363) found -[6472] Forked 31364 -(31364) found -[6471] Forked 31365 -(31365) found -[6470] Forked 31366 -(31366) found -[6469] Forked 31367 -(31367) found -[6468] Forked 31368 -(31368) found -[6467] Forked 31369 -(31369) found -[6466] Forked 31370 -(31370) found -[6465] Forked 31371 -(31371) found -[6464] Forked 31372 -(31372) found -[6463] Forked 31373 -(31373) found -[6462] Forked 31374 -(31374) found -[6461] Forked 31375 -[6460] Forked 31376 -(31375) found -(31376) found -[6459] Forked 31377 -[6458] Forked 31378 -(31377) found -(31378) found -[6457] Forked 31379 -[6456] Forked 31380 -(31379) found -(31380) found -[6455] Forked 31381 -[6454] Forked 31382 -(31381) found -(31382) found -[6453] Forked 31383 -[6452] Forked 31384 -(31383) found -(31384) found -[6451] Forked 31385 -[6450] Forked 31386 -(31385) found -(31386) found -[6449] Forked 31387 -[6448] Forked 31388 -(31387) found -(31388) found -[6447] Forked 31389 -[6446] Forked 31390 -(31389) found -(31390) found -[6445] Forked 31391 -[6444] Forked 31392 -(31391) found -(31392) found -[6443] Forked 31393 -[6442] Forked 31394 -(31393) found -(31394) found -[6441] Forked 31395 -[6440] Forked 31396 -(31395) found -(31396) found -[6439] Forked 31397 -[6438] Forked 31398 -(31397) found -(31398) found -[6437] Forked 31399 -[6436] Forked 31400 -(31399) found -(31400) found -[6435] Forked 31401 -[6434] Forked 31402 -(31401) found -(31402) found -[6433] Forked 31403 -[6432] Forked 31404 -(31403) found -(31404) found -[6431] Forked 31405 -[6430] Forked 31406 -(31405) found -(31406) found -[6429] Forked 31407 -[6428] Forked 31408 -(31407) found -(31408) found -[6427] Forked 31409 -[6426] Forked 31410 -(31409) found -(31410) found -[6425] Forked 31411 -[6424] Forked 31412 -(31411) found -(31412) found -[6423] Forked 31413 -[6422] Forked 31415 -(31413) found -(31415) found -[6421] Forked 31416 -(31416) found -[6420] Forked 31417 -(31417) found -[6419] Forked 31418 -(31418) found -[6418] Forked 31419 -(31419) found -[6417] Forked 31420 -(31420) found -[6416] Forked 31421 -(31421) found -[6415] Forked 31422 -(31422) found -[6414] Forked 31423 -(31423) found -[6413] Forked 31424 -(31424) found -[6412] Forked 31425 -(31425) found -[6411] Forked 31426 -(31426) found -[6410] Forked 31427 -(31427) found -[6409] Forked 31428 -(31428) found -[6408] Forked 31429 -(31429) found -[6407] Forked 31430 -(31430) found -[6406] Forked 31431 -(31431) found -[6405] Forked 31432 -(31432) found -[6404] Forked 31433 -(31433) found -[6403] Forked 31434 -(31434) found -[6402] Forked 31435 -(31435) found -[6401] Forked 31436 -(31436) found -[6400] Forked 31437 -(31437) found -[6399] Forked 31438 -(31438) found -[6398] Forked 31439 -(31439) found -[6397] Forked 31440 -(31440) found -[6396] Forked 31441 -(31441) found -[6395] Forked 31442 -(31442) found -[6394] Forked 31443 -(31443) found -[6393] Forked 31444 -(31444) found -[6392] Forked 31445 -(31445) found -[6391] Forked 31446 -(31446) found -[6390] Forked 31447 -(31447) found -[6389] Forked 31448 -(31448) found -[6388] Forked 31449 -(31449) found -[6387] Forked 31450 -(31450) found -[6386] Forked 31451 -(31451) found -[6385] Forked 31452 -(31452) found -[6384] Forked 31453 -(31453) found -[6383] Forked 31454 -(31454) found -[6382] Forked 31455 -(31455) found -[6381] Forked 31456 -(31456) found -[6380] Forked 31457 -(31457) found -[6379] Forked 31458 -(31458) found -[6378] Forked 31459 -(31459) found -[6377] Forked 31460 -(31460) found -[6376] Forked 31461 -(31461) found -[6375] Forked 31462 -(31462) found -[6374] Forked 31463 -(31463) found -[6373] Forked 31464 -(31464) found -[6372] Forked 31465 -(31465) found -[6371] Forked 31466 -(31466) found -[6370] Forked 31467 -(31467) found -[6369] Forked 31468 -(31468) found -[6368] Forked 31469 -(31469) found -[6367] Forked 31470 -(31470) found -[6366] Forked 31471 -(31471) found -[6365] Forked 31472 -(31472) found -[6364] Forked 31473 -(31473) found -[6363] Forked 31474 -(31474) found -[6362] Forked 31475 -(31475) found -[6361] Forked 31476 -(31476) found -[6360] Forked 31477 -(31477) found -[6359] Forked 31478 -(31478) found -[6358] Forked 31479 -(31479) found -[6357] Forked 31480 -(31480) found -[6356] Forked 31481 -(31481) found -[6355] Forked 31482 -(31482) found -[6354] Forked 31483 -(31483) found -[6353] Forked 31484 -(31484) found -[6352] Forked 31485 -(31485) found -[6351] Forked 31486 -(31486) found -[6350] Forked 31487 -(31487) found -[6349] Forked 31488 -(31488) found -[6348] Forked 31489 -[6347] Forked 31490 -(31489) found -(31490) found -[6346] Forked 31491 -[6345] Forked 31492 -(31491) found -(31492) found -[6344] Forked 31493 -[6343] Forked 31494 -(31493) found -(31494) found -[6342] Forked 31495 -[6341] Forked 31496 -(31495) found -(31496) found -[6340] Forked 31497 -[6339] Forked 31498 -(31497) found -(31498) found -[6338] Forked 31499 -[6337] Forked 31500 -(31499) found -(31500) found -[6336] Forked 31501 -[6335] Forked 31502 -(31501) found -(31502) found -[6334] Forked 31503 -[6333] Forked 31504 -(31503) found -(31504) found -[6332] Forked 31505 -[6331] Forked 31506 -(31505) found -(31506) found -[6330] Forked 31507 -[6329] Forked 31508 -(31507) found -(31508) found -[6328] Forked 31509 -[6327] Forked 31510 -(31509) found -(31510) found -[6326] Forked 31511 -[6325] Forked 31512 -(31511) found -(31512) found -[6324] Forked 31513 -[6323] Forked 31514 -(31513) found -(31514) found -[6322] Forked 31515 -[6321] Forked 31516 -(31515) found -(31516) found -[6320] Forked 31517 -[6319] Forked 31518 -(31517) found -(31518) found -[6318] Forked 31519 -[6317] Forked 31520 -(31519) found -(31520) found -[6316] Forked 31521 -[6315] Forked 31522 -(31521) found -(31522) found -[6314] Forked 31523 -[6313] Forked 31524 -(31523) found -(31524) found -[6312] Forked 31525 -[6311] Forked 31526 -(31525) found -(31526) found -[6310] Forked 31527 -[6309] Forked 31528 -(31527) found -(31528) found -[6308] Forked 31529 -[6307] Forked 31530 -(31529) found -(31530) found -[6306] Forked 31531 -[6305] Forked 31532 -(31531) found -(31532) found -[6304] Forked 31533 -[6303] Forked 31534 -(31533) found -(31534) found -[6302] Forked 31535 -(31535) found -[6301] Forked 31536 -(31536) found -[6300] Forked 31537 -(31537) found -[6299] Forked 31538 -(31538) found -[6298] Forked 31539 -(31539) found -[6297] Forked 31540 -(31540) found -[6296] Forked 31541 -(31541) found -[6295] Forked 31542 -(31542) found -[6294] Forked 31543 -(31543) found -[6293] Forked 31544 -(31544) found -[6292] Forked 31545 -(31545) found -[6291] Forked 31546 -(31546) found -[6290] Forked 31547 -(31547) found -[6289] Forked 31548 -(31548) found -[6288] Forked 31549 -(31549) found -[6287] Forked 31550 -(31550) found -[6286] Forked 31551 -(31551) found -[6285] Forked 31552 -(31552) found -[6284] Forked 31553 -(31553) found -[6283] Forked 31554 -(31554) found -[6282] Forked 31555 -(31555) found -[6281] Forked 31556 -(31556) found -[6280] Forked 31557 -(31557) found -[6279] Forked 31558 -(31558) found -[6278] Forked 31559 -(31559) found -[6277] Forked 31560 -(31560) found -[6276] Forked 31561 -(31561) found -[6275] Forked 31562 -(31562) found -[6274] Forked 31563 -(31563) found -[6273] Forked 31564 -(31564) found -[6272] Forked 31565 -(31565) found -[6271] Forked 31566 -(31566) found -[6270] Forked 31567 -(31567) found -[6269] Forked 31568 -(31568) found -[6268] Forked 31569 -(31569) found -[6267] Forked 31570 -(31570) found -[6266] Forked 31571 -[6265] Forked 31572 -(31571) found -(31572) found -[6264] Forked 31573 -[6263] Forked 31574 -(31573) found -(31574) found -[6262] Forked 31575 -[6261] Forked 31576 -(31575) found -(31576) found -[6260] Forked 31577 -[6259] Forked 31578 -(31577) found -(31578) found -[6258] Forked 31579 -[6257] Forked 31580 -(31579) found -(31580) found -[6256] Forked 31581 -[6255] Forked 31582 -(31581) found -(31582) found -[6254] Forked 31583 -[6253] Forked 31584 -(31583) found -(31584) found -[6252] Forked 31585 -[6251] Forked 31586 -(31585) found -(31586) found -[6250] Forked 31587 -[6249] Forked 31588 -(31587) found -(31588) found -[6248] Forked 31589 -[6247] Forked 31590 -(31589) found -(31590) found -[6246] Forked 31591 -[6245] Forked 31592 -(31591) found -(31592) found -[6244] Forked 31593 -[6243] Forked 31594 -(31593) found -(31594) found -[6242] Forked 31595 -[6241] Forked 31596 -(31595) found -(31596) found -[6240] Forked 31597 -[6239] Forked 31598 -(31597) found -(31598) found -[6238] Forked 31599 -[6237] Forked 31600 -(31599) found -(31600) found -[6236] Forked 31601 -[6235] Forked 31602 -(31601) found -(31602) found -[6234] Forked 31603 -[6233] Forked 31604 -(31603) found -(31604) found -[6232] Forked 31605 -[6231] Forked 31606 -(31605) found -(31606) found -[6230] Forked 31607 -[6229] Forked 31608 -(31607) found -(31608) found -[6228] Forked 31609 -[6227] Forked 31610 -(31609) found -(31610) found -[6226] Forked 31611 -[6225] Forked 31612 -(31611) found -(31612) found -[6224] Forked 31613 -[6223] Forked 31614 -(31613) found -(31614) found -[6222] Forked 31615 -[6221] Forked 31616 -(31615) found -(31616) found -[6220] Forked 31617 -(31617) found -[6219] Forked 31618 -(31618) found -[6218] Forked 31619 -(31619) found -[6217] Forked 31620 -(31620) found -[6216] Forked 31621 -(31621) found -[6215] Forked 31622 -(31622) found -[6214] Forked 31623 -(31623) found -[6213] Forked 31624 -(31624) found -[6212] Forked 31625 -(31625) found -[6211] Forked 31626 -(31626) found -[6210] Forked 31627 -(31627) found -[6209] Forked 31628 -(31628) found -[6208] Forked 31629 -(31629) found -[6207] Forked 31630 -(31630) found -[6206] Forked 31631 -(31631) found -[6205] Forked 31632 -(31632) found -[6204] Forked 31633 -(31633) found -[6203] Forked 31634 -(31634) found -[6202] Forked 31635 -(31635) found -[6201] Forked 31636 -(31636) found -[6200] Forked 31637 -(31637) found -[6199] Forked 31638 -(31638) found -[6198] Forked 31639 -(31639) found -[6197] Forked 31640 -(31640) found -[6196] Forked 31641 -(31641) found -[6195] Forked 31642 -(31642) found -[6194] Forked 31643 -(31643) found -[6193] Forked 31644 -(31644) found -[6192] Forked 31645 -(31645) found -[6191] Forked 31646 -(31646) found -[6190] Forked 31647 -(31647) found -[6189] Forked 31648 -(31648) found -[6188] Forked 31649 -(31649) found -[6187] Forked 31650 -(31650) found -[6186] Forked 31651 -(31651) found -[6185] Forked 31652 -(31652) found -[6184] Forked 31653 -[6183] Forked 31654 -(31653) found -(31654) found -[6182] Forked 31655 -[6181] Forked 31656 -(31655) found -(31656) found -[6180] Forked 31657 -[6179] Forked 31658 -(31657) found -(31658) found -[6178] Forked 31659 -[6177] Forked 31660 -(31659) found -(31660) found -[6176] Forked 31661 -[6175] Forked 31662 -(31661) found -(31662) found -[6174] Forked 31663 -[6173] Forked 31664 -(31663) found -(31664) found -[6172] Forked 31665 -[6171] Forked 31666 -(31665) found -(31666) found -[6170] Forked 31667 -[6169] Forked 31668 -(31667) found -(31668) found -[6168] Forked 31669 -[6167] Forked 31670 -(31669) found -(31670) found -[6166] Forked 31671 -[6165] Forked 31672 -(31671) found -(31672) found -[6164] Forked 31673 -[6163] Forked 31674 -(31673) found -(31674) found -[6162] Forked 31675 -[6161] Forked 31676 -(31675) found -(31676) found -[6160] Forked 31677 -[6159] Forked 31678 -(31677) found -(31678) found -[6158] Forked 31679 -[6157] Forked 31680 -(31679) found -(31680) found -[6156] Forked 31681 -[6155] Forked 31682 -(31681) found -(31682) found -[6154] Forked 31683 -[6153] Forked 31684 -(31683) found -(31684) found -[6152] Forked 31685 -[6151] Forked 31686 -(31685) found -(31686) found -[6150] Forked 31687 -[6149] Forked 31688 -(31687) found -(31688) found -[6148] Forked 31689 -[6147] Forked 31691 -(31689) found -(31691) found -[6146] Forked 31692 -(31692) found -[6145] Forked 31693 -(31693) found -[6144] Forked 31694 -(31694) found -[6143] Forked 31695 -(31695) found -[6142] Forked 31696 -(31696) found -[6141] Forked 31697 -(31697) found -[6140] Forked 31698 -(31698) found -[6139] Forked 31699 -(31699) found -[6138] Forked 31700 -(31700) found -[6137] Forked 31701 -(31701) found -[6136] Forked 31702 -(31702) found -[6135] Forked 31703 -(31703) found -[6134] Forked 31704 -(31704) found -[6133] Forked 31705 -(31705) found -[6132] Forked 31706 -(31706) found -[6131] Forked 31707 -(31707) found -[6130] Forked 31708 -(31708) found -[6129] Forked 31709 -(31709) found -[6128] Forked 31710 -(31710) found -[6127] Forked 31711 -(31711) found -[6126] Forked 31712 -(31712) found -[6125] Forked 31713 -(31713) found -[6124] Forked 31714 -(31714) found -[6123] Forked 31715 -(31715) found -[6122] Forked 31716 -(31716) found -[6121] Forked 31717 -(31717) found -[6120] Forked 31718 -(31718) found -[6119] Forked 31719 -(31719) found -[6118] Forked 31720 -(31720) found -[6117] Forked 31721 -(31721) found -[6116] Forked 31722 -(31722) found -[6115] Forked 31723 -(31723) found -[6114] Forked 31724 -(31724) found -[6113] Forked 31725 -(31725) found -[6112] Forked 31726 -(31726) found -[6111] Forked 31727 -(31727) found -[6110] Forked 31728 -(31728) found -[6109] Forked 31729 -(31729) found -[6108] Forked 31730 -(31730) found -[6107] Forked 31731 -(31731) found -[6106] Forked 31732 -(31732) found -[6105] Forked 31733 -(31733) found -[6104] Forked 31734 -(31734) found -[6103] Forked 31735 -(31735) found -[6102] Forked 31736 -(31736) found -[6101] Forked 31737 -(31737) found -[6100] Forked 31738 -(31738) found -[6099] Forked 31739 -(31739) found -[6098] Forked 31740 -(31740) found -[6097] Forked 31741 -(31741) found -[6096] Forked 31742 -(31742) found -[6095] Forked 31743 -(31743) found -[6094] Forked 31744 -(31744) found -[6093] Forked 31745 -(31745) found -[6092] Forked 31746 -(31746) found -[6091] Forked 31747 -(31747) found -[6090] Forked 31748 -(31748) found -[6089] Forked 31749 -(31749) found -[6088] Forked 31750 -(31750) found -[6087] Forked 31751 -(31751) found -[6086] Forked 31752 -(31752) found -[6085] Forked 31753 -(31753) found -[6084] Forked 31754 -(31754) found -[6083] Forked 31755 -(31755) found -[6082] Forked 31756 -(31756) found -[6081] Forked 31757 -(31757) found -[6080] Forked 31758 -(31758) found -[6079] Forked 31759 -(31759) found -[6078] Forked 31760 -(31760) found -[6077] Forked 31761 -(31761) found -[6076] Forked 31762 -(31762) found -[6075] Forked 31763 -(31763) found -[6074] Forked 31764 -(31764) found -[6073] Forked 31765 -(31765) found -[6072] Forked 31766 -[6071] Forked 31767 -(31766) found -(31767) found -[6070] Forked 31768 -[6069] Forked 31769 -(31768) found -(31769) found -[6068] Forked 31770 -[6067] Forked 31771 -(31770) found -(31771) found -[6066] Forked 31772 -[6065] Forked 31773 -(31772) found -(31773) found -[6064] Forked 31774 -[6063] Forked 31775 -(31774) found -(31775) found -[6062] Forked 31776 -[6061] Forked 31777 -(31776) found -(31777) found -[6060] Forked 31778 -[6059] Forked 31779 -(31778) found -(31779) found -[6058] Forked 31780 -[6057] Forked 31781 -(31780) found -(31781) found -[6056] Forked 31782 -[6055] Forked 31783 -(31782) found -(31783) found -[6054] Forked 31784 -[6053] Forked 31785 -(31784) found -(31785) found -[6052] Forked 31786 -[6051] Forked 31787 -(31786) found -(31787) found -[6050] Forked 31788 -[6049] Forked 31789 -(31788) found -(31789) found -[6048] Forked 31790 -[6047] Forked 31791 -(31790) found -(31791) found -[6046] Forked 31792 -[6045] Forked 31793 -(31792) found -(31793) found -[6044] Forked 31794 -[6043] Forked 31795 -(31794) found -(31795) found -[6042] Forked 31796 -[6041] Forked 31797 -(31796) found -(31797) found -[6040] Forked 31798 -[6039] Forked 31799 -(31798) found -(31799) found -[6038] Forked 31800 -[6037] Forked 31801 -(31800) found -(31801) found -[6036] Forked 31802 -[6035] Forked 31803 -(31802) found -(31803) found -[6034] Forked 31804 -[6033] Forked 31805 -(31804) found -(31805) found -[6032] Forked 31806 -[6031] Forked 31807 -(31806) found -(31807) found -[6030] Forked 31808 -[6029] Forked 31809 -(31808) found -(31809) found -[6028] Forked 31810 -[6027] Forked 31811 -(31810) found -(31811) found -[6026] Forked 31812 -[6025] Forked 31813 -(31812) found -(31813) found -[6024] Forked 31814 -[6023] Forked 31815 -(31814) found -(31815) found -[6022] Forked 31816 -[6021] Forked 31817 -(31816) found -(31817) found -[6020] Forked 31818 -[6019] Forked 31819 -(31818) found -(31819) found -[6018] Forked 31820 -[6017] Forked 31821 -(31820) found -(31821) found -[6016] Forked 31822 -[6015] Forked 31823 -(31822) found -(31823) found -[6014] Forked 31824 -[6013] Forked 31825 -(31824) found -(31825) found -[6012] Forked 31826 -[6011] Forked 31827 -(31826) found -(31827) found -[6010] Forked 31828 -[6009] Forked 31829 -(31828) found -(31829) found -[6008] Forked 31830 -[6007] Forked 31831 -(31830) found -(31831) found -[6006] Forked 31832 -[6005] Forked 31833 -(31832) found -(31833) found -[6004] Forked 31834 -[6003] Forked 31835 -(31834) found -(31835) found -[6002] Forked 31836 -[6001] Forked 31837 -(31836) found -(31837) found -[6000] Forked 31838 -[5999] Forked 31839 -(31838) found -(31839) found -[5998] Forked 31840 -[5997] Forked 31841 -(31840) found -(31841) found -[5996] Forked 31842 -[5995] Forked 31843 -(31842) found -(31843) found -[5994] Forked 31844 -[5993] Forked 31845 -(31844) found -(31845) found -[5992] Forked 31846 -[5991] Forked 31847 -(31846) found -(31847) found -[5990] Forked 31848 -[5989] Forked 31849 -(31848) found -(31849) found -[5988] Forked 31850 -[5987] Forked 31851 -(31850) found -(31851) found -[5986] Forked 31852 -[5985] Forked 31853 -(31852) found -(31853) found -[5984] Forked 31854 -[5983] Forked 31855 -(31854) found -(31855) found -[5982] Forked 31856 -[5981] Forked 31857 -(31856) found -(31857) found -[5980] Forked 31858 -(31858) found -[5979] Forked 31859 -(31859) found -[5978] Forked 31860 -(31860) found -[5977] Forked 31861 -(31861) found -[5976] Forked 31862 -(31862) found -[5975] Forked 31863 -(31863) found -[5974] Forked 31864 -(31864) found -[5973] Forked 31865 -(31865) found -[5972] Forked 31866 -(31866) found -[5971] Forked 31867 -(31867) found -[5970] Forked 31868 -(31868) found -[5969] Forked 31869 -(31869) found -[5968] Forked 31870 -(31870) found -[5967] Forked 31871 -(31871) found -[5966] Forked 31872 -(31872) found -[5965] Forked 31873 -(31873) found -[5964] Forked 31874 -(31874) found -[5963] Forked 31875 -(31875) found -[5962] Forked 31876 -(31876) found -[5961] Forked 31877 -(31877) found -[5960] Forked 31878 -(31878) found -[5959] Forked 31879 -(31879) found -[5958] Forked 31880 -(31880) found -[5957] Forked 31881 -(31881) found -[5956] Forked 31882 -(31882) found -[5955] Forked 31883 -(31883) found -[5954] Forked 31884 -(31884) found -[5953] Forked 31885 -(31885) found -[5952] Forked 31886 -(31886) found -[5951] Forked 31887 -(31887) found -[5950] Forked 31888 -(31888) found -[5949] Forked 31889 -(31889) found -[5948] Forked 31890 -(31890) found -[5947] Forked 31891 -(31891) found -[5946] Forked 31892 -(31892) found -[5945] Forked 31893 -[5944] Forked 31894 -(31893) found -(31894) found -[5943] Forked 31895 -[5942] Forked 31896 -(31895) found -(31896) found -[5941] Forked 31897 -[5940] Forked 31898 -(31897) found -(31898) found -[5939] Forked 31899 -[5938] Forked 31900 -(31899) found -(31900) found -[5937] Forked 31901 -[5936] Forked 31902 -(31901) found -(31902) found -[5935] Forked 31903 -[5934] Forked 31904 -(31903) found -(31904) found -[5933] Forked 31905 -[5932] Forked 31906 -(31905) found -(31906) found -[5931] Forked 31907 -[5930] Forked 31908 -(31907) found -(31908) found -[5929] Forked 31909 -[5928] Forked 31910 -(31909) found -(31910) found -[5927] Forked 31911 -[5926] Forked 31912 -(31911) found -(31912) found -[5925] Forked 31913 -[5924] Forked 31914 -(31913) found -(31914) found -[5923] Forked 31915 -[5922] Forked 31916 -(31915) found -(31916) found -[5921] Forked 31917 -[5920] Forked 31918 -(31917) found -(31918) found -[5919] Forked 31919 -[5918] Forked 31920 -(31919) found -(31920) found -[5917] Forked 31921 -[5916] Forked 31922 -(31921) found -(31922) found -[5915] Forked 31923 -[5914] Forked 31924 -(31923) found -(31924) found -[5913] Forked 31925 -[5912] Forked 31926 -(31925) found -(31926) found -[5911] Forked 31927 -[5910] Forked 31928 -(31927) found -(31928) found -[5909] Forked 31929 -[5908] Forked 31930 -(31929) found -(31930) found -[5907] Forked 31931 -[5906] Forked 31933 -(31931) found -(31933) found -[5905] Forked 31934 -(31934) found -[5904] Forked 31935 -(31935) found -[5903] Forked 31936 -(31936) found -[5902] Forked 31937 -(31937) found -[5901] Forked 31938 -(31938) found -[5900] Forked 31939 -(31939) found -[5899] Forked 31940 -(31940) found -[5898] Forked 31941 -(31941) found -[5897] Forked 31942 -(31942) found -[5896] Forked 31943 -(31943) found -[5895] Forked 31944 -(31944) found -[5894] Forked 31945 -(31945) found -[5893] Forked 31946 -(31946) found -[5892] Forked 31947 -(31947) found -[5891] Forked 31948 -(31948) found -[5890] Forked 31949 -(31949) found -[5889] Forked 31950 -(31950) found -[5888] Forked 31951 -(31951) found -[5887] Forked 31952 -(31952) found -[5886] Forked 31953 -[5885] Forked 31954 -(31953) found -(31954) found -[5884] Forked 31955 -[5883] Forked 31956 -(31955) found -(31956) found -[5882] Forked 31957 -[5881] Forked 31958 -(31957) found -(31958) found -[5880] Forked 31959 -[5879] Forked 31960 -(31959) found -(31960) found -[5878] Forked 31961 -[5877] Forked 31962 -(31961) found -(31962) found -[5876] Forked 31963 -[5875] Forked 31964 -(31963) found -(31964) found -[5874] Forked 31965 -[5873] Forked 31966 -(31965) found -(31966) found -[5872] Forked 31967 -[5871] Forked 31968 -(31967) found -(31968) found -[5870] Forked 31969 -[5869] Forked 31970 -(31969) found -(31970) found -[5868] Forked 31971 -[5867] Forked 31972 -(31971) found -(31972) found -[5866] Forked 31973 -[5865] Forked 31974 -(31973) found -(31974) found -[5864] Forked 31975 -[5863] Forked 31976 -(31975) found -(31976) found -[5862] Forked 31977 -(31977) found -[5861] Forked 31978 -(31978) found -[5860] Forked 31979 -(31979) found -[5859] Forked 31980 -(31980) found -[5858] Forked 31981 -(31981) found -[5857] Forked 31982 -(31982) found -[5856] Forked 31983 -(31983) found -[5855] Forked 31984 -(31984) found -[5854] Forked 31985 -(31985) found -[5853] Forked 31986 -(31986) found -[5852] Forked 31987 -(31987) found -[5851] Forked 31988 -(31988) found -[5850] Forked 31989 -(31989) found -[5849] Forked 31990 -(31990) found -[5848] Forked 31991 -(31991) found -[5847] Forked 31992 -(31992) found -[5846] Forked 31993 -(31993) found -[5845] Forked 31994 -(31994) found -[5844] Forked 31995 -(31995) found -[5843] Forked 31996 -(31996) found -[5842] Forked 31997 -(31997) found -[5841] Forked 31998 -(31998) found -[5840] Forked 31999 -(31999) found -[5839] Forked 32000 -(32000) found -[5838] Forked 32001 -(32001) found -[5837] Forked 32002 -(32002) found -[5836] Forked 32003 -(32003) found -[5835] Forked 32004 -(32004) found -[5834] Forked 32005 -(32005) found -[5833] Forked 32006 -(32006) found -[5832] Forked 32007 -(32007) found -[5831] Forked 32008 -(32008) found -[5830] Forked 32009 -(32009) found -[5829] Forked 32010 -(32010) found -[5828] Forked 32011 -(32011) found -[5827] Forked 32012 -(32012) found -[5826] Forked 32013 -(32013) found -[5825] Forked 32014 -(32014) found -[5824] Forked 32015 -(32015) found -[5823] Forked 32016 -[5822] Forked 32017 -(32016) found -(32017) found -[5821] Forked 32018 -[5820] Forked 32019 -(32018) found -(32019) found -[5819] Forked 32020 -[5818] Forked 32021 -(32020) found -(32021) found -[5817] Forked 32022 -[5816] Forked 32023 -(32022) found -(32023) found -[5815] Forked 32024 -[5814] Forked 32025 -(32024) found -(32025) found -[5813] Forked 32026 -[5812] Forked 32027 -(32026) found -(32027) found -[5811] Forked 32028 -[5810] Forked 32029 -(32028) found -(32029) found -[5809] Forked 32030 -[5808] Forked 32031 -(32030) found -(32031) found -[5807] Forked 32032 -[5806] Forked 32033 -(32032) found -(32033) found -[5805] Forked 32034 -[5804] Forked 32035 -(32034) found -(32035) found -[5803] Forked 32036 -[5802] Forked 32037 -(32036) found -(32037) found -[5801] Forked 32038 -[5800] Forked 32039 -(32038) found -(32039) found -[5799] Forked 32040 -[5798] Forked 32041 -(32040) found -(32041) found -[5797] Forked 32042 -[5796] Forked 32043 -(32042) found -(32043) found -[5795] Forked 32044 -[5794] Forked 32045 -(32044) found -(32045) found -[5793] Forked 32046 -[5792] Forked 32047 -(32047) found -(32046) found -[5791] Forked 32048 -(32048) found -[5790] Forked 32049 -(32049) found -[5789] Forked 32050 -(32050) found -[5788] Forked 32051 -(32051) found -[5787] Forked 32052 -(32052) found -[5786] Forked 32053 -(32053) found -[5785] Forked 32054 -(32054) found -[5784] Forked 32055 -(32055) found -[5783] Forked 32056 -(32056) found -[5782] Forked 32057 -(32057) found -[5781] Forked 32058 -(32058) found -[5780] Forked 32059 -(32059) found -[5779] Forked 32060 -(32060) found -[5778] Forked 32061 -(32061) found -[5777] Forked 32062 -(32062) found -[5776] Forked 32063 -(32063) found -[5775] Forked 32064 -(32064) found -[5774] Forked 32065 -(32065) found -[5773] Forked 32066 -[5772] Forked 32067 -(32066) found -(32067) found -[5771] Forked 32068 -[5770] Forked 32069 -(32068) found -(32069) found -[5769] Forked 32070 -[5768] Forked 32071 -(32070) found -(32071) found -[5767] Forked 32072 -[5766] Forked 32073 -(32072) found -(32073) found -[5765] Forked 32074 -[5764] Forked 32075 -(32074) found -(32075) found -[5763] Forked 32076 -[5762] Forked 32077 -(32076) found -(32077) found -[5761] Forked 32078 -[5760] Forked 32079 -(32078) found -(32079) found -[5759] Forked 32080 -[5758] Forked 32081 -(32080) found -(32081) found -[5757] Forked 32082 -[5756] Forked 32083 -(32082) found -(32083) found -[5755] Forked 32084 -[5754] Forked 32085 -(32084) found -(32085) found -[5753] Forked 32086 -[5752] Forked 32087 -(32086) found -(32087) found -[5751] Forked 32088 -[5750] Forked 32089 -(32089) found -(32088) found -[5749] Forked 32090 -(32090) found -[5748] Forked 32091 -(32091) found -[5747] Forked 32092 -(32092) found -[5746] Forked 32093 -(32093) found -[5745] Forked 32094 -(32094) found -[5744] Forked 32095 -(32095) found -[5743] Forked 32096 -(32096) found -[5742] Forked 32097 -(32097) found -[5741] Forked 32098 -(32098) found -[5740] Forked 32099 -(32099) found -[5739] Forked 32100 -(32100) found -[5738] Forked 32101 -(32101) found -[5737] Forked 32102 -(32102) found -[5736] Forked 32103 -(32103) found -[5735] Forked 32104 -(32104) found -[5734] Forked 32105 -(32105) found -[5733] Forked 32106 -(32106) found -[5732] Forked 32107 -(32107) found -[5731] Forked 32108 -(32108) found -[5730] Forked 32109 -(32109) found -[5729] Forked 32110 -(32110) found -[5728] Forked 32111 -(32111) found -[5727] Forked 32112 -(32112) found -[5726] Forked 32113 -(32113) found -[5725] Forked 32115 -(32115) found -[5724] Forked 32116 -(32116) found -[5723] Forked 32117 -(32117) found -[5722] Forked 32118 -(32118) found -[5721] Forked 32119 -(32119) found -[5720] Forked 32120 -(32120) found -[5719] Forked 32121 -(32121) found -[5718] Forked 32122 -(32122) found -[5717] Forked 32123 -(32123) found -[5716] Forked 32124 -(32124) found -[5715] Forked 32125 -(32125) found -[5714] Forked 32126 -(32126) found -[5713] Forked 32127 -(32127) found -[5712] Forked 32128 -(32128) found -[5711] Forked 32129 -(32129) found -[5710] Forked 32130 -(32130) found -[5709] Forked 32131 -(32131) found -[5708] Forked 32132 -(32132) found -[5707] Forked 32133 -(32133) found -[5706] Forked 32134 -(32134) found -[5705] Forked 32135 -(32135) found -[5704] Forked 32136 -(32136) found -[5703] Forked 32137 -(32137) found -[5702] Forked 32138 -(32138) found -[5701] Forked 32139 -(32139) found -[5700] Forked 32140 -(32140) found -[5699] Forked 32141 -[5698] Forked 32142 -(32141) found -(32142) found -[5697] Forked 32143 -[5696] Forked 32144 -(32143) found -(32144) found -[5695] Forked 32145 -[5694] Forked 32146 -(32145) found -(32146) found -[5693] Forked 32147 -[5692] Forked 32148 -(32147) found -(32148) found -[5691] Forked 32149 -[5690] Forked 32150 -(32149) found -(32150) found -[5689] Forked 32151 -[5688] Forked 32152 -(32151) found -(32152) found -[5687] Forked 32153 -[5686] Forked 32154 -(32153) found -(32154) found -[5685] Forked 32155 -[5684] Forked 32157 -(32155) found -(32157) found -[5683] Forked 32158 -(32158) found -[5682] Forked 32159 -(32159) found -[5681] Forked 32160 -(32160) found -[5680] Forked 32161 -(32161) found -[5679] Forked 32162 -(32162) found -[5678] Forked 32163 -(32163) found -[5677] Forked 32164 -(32164) found -[5676] Forked 32165 -(32165) found -[5675] Forked 32166 -(32166) found -[5674] Forked 32167 -(32167) found -[5673] Forked 32168 -(32168) found -[5672] Forked 32169 -(32169) found -[5671] Forked 32170 -(32170) found -[5670] Forked 32171 -(32171) found -[5669] Forked 32172 -(32172) found -[5668] Forked 32173 -(32173) found -[5667] Forked 32174 -(32174) found -[5666] Forked 32175 -(32175) found -[5665] Forked 32176 -(32176) found -[5664] Forked 32177 -(32177) found -[5663] Forked 32178 -(32178) found -[5662] Forked 32179 -(32179) found -[5661] Forked 32180 -(32180) found -[5660] Forked 32181 -(32181) found -[5659] Forked 32182 -(32182) found -[5658] Forked 32183 -(32183) found -[5657] Forked 32184 -(32184) found -[5656] Forked 32185 -(32185) found -[5655] Forked 32186 -(32186) found -[5654] Forked 32187 -(32187) found -[5653] Forked 32188 -(32188) found -[5652] Forked 32189 -(32189) found -[5651] Forked 32190 -(32190) found -[5650] Forked 32191 -(32191) found -[5649] Forked 32192 -(32192) found -[5648] Forked 32193 -(32193) found -[5647] Forked 32194 -(32194) found -[5646] Forked 32195 -(32195) found -[5645] Forked 32196 -(32196) found -[5644] Forked 32197 -(32197) found -[5643] Forked 32198 -(32198) found -[5642] Forked 32199 -(32199) found -[5641] Forked 32200 -(32200) found -[5640] Forked 32201 -(32201) found -[5639] Forked 32202 -(32202) found -[5638] Forked 32203 -(32203) found -[5637] Forked 32204 -(32204) found -[5636] Forked 32205 -(32205) found -[5635] Forked 32206 -(32206) found -[5634] Forked 32207 -(32207) found -[5633] Forked 32208 -(32208) found -[5632] Forked 32209 -(32209) found -[5631] Forked 32210 -(32210) found -[5630] Forked 32211 -(32211) found -[5629] Forked 32212 -(32212) found -[5628] Forked 32213 -(32213) found -[5627] Forked 32214 -(32214) found -[5626] Forked 32215 -(32215) found -[5625] Forked 32216 -(32216) found -[5624] Forked 32217 -(32217) found -[5623] Forked 32218 -(32218) found -[5622] Forked 32219 -(32219) found -[5621] Forked 32220 -(32220) found -[5620] Forked 32221 -(32221) found -[5619] Forked 32222 -(32222) found -[5618] Forked 32223 -(32223) found -[5617] Forked 32224 -(32224) found -[5616] Forked 32225 -(32225) found -[5615] Forked 32226 -(32226) found -[5614] Forked 32227 -(32227) found -[5613] Forked 32228 -(32228) found -[5612] Forked 32229 -(32229) found -[5611] Forked 32230 -(32230) found -[5610] Forked 32231 -(32231) found -[5609] Forked 32232 -(32232) found -[5608] Forked 32233 -(32233) found -[5607] Forked 32234 -(32234) found -[5606] Forked 32235 -(32235) found -[5605] Forked 32236 -(32236) found -[5604] Forked 32237 -(32237) found -[5603] Forked 32238 -(32238) found -[5602] Forked 32239 -(32239) found -[5601] Forked 32240 -(32240) found -[5600] Forked 32241 -(32241) found -[5599] Forked 32242 -(32242) found -[5598] Forked 32243 -(32243) found -[5597] Forked 32244 -(32244) found -[5596] Forked 32245 -(32245) found -[5595] Forked 32246 -(32246) found -[5594] Forked 32247 -(32247) found -[5593] Forked 32248 -(32248) found -[5592] Forked 32249 -[5591] Forked 32250 -(32249) found -(32250) found -[5590] Forked 32251 -[5589] Forked 32252 -(32251) found -(32252) found -[5588] Forked 32253 -[5587] Forked 32254 -(32253) found -(32254) found -[5586] Forked 32255 -[5585] Forked 32256 -(32255) found -(32256) found -[5584] Forked 32257 -[5583] Forked 32258 -(32257) found -(32258) found -[5582] Forked 32259 -[5581] Forked 32260 -(32259) found -(32260) found -[5580] Forked 32261 -[5579] Forked 32262 -(32261) found -(32262) found -[5578] Forked 32263 -[5577] Forked 32264 -(32263) found -(32264) found -[5576] Forked 32265 -[5575] Forked 32266 -(32265) found -(32266) found -[5574] Forked 32267 -[5573] Forked 32268 -(32267) found -(32268) found -[5572] Forked 32269 -[5571] Forked 32270 -(32269) found -(32270) found -[5570] Forked 32271 -[5569] Forked 32272 -(32271) found -(32272) found -[5568] Forked 32273 -[5567] Forked 32274 -(32273) found -(32274) found -[5566] Forked 32275 -[5565] Forked 32276 -(32275) found -(32276) found -[5564] Forked 32277 -[5563] Forked 32278 -(32277) found -(32278) found -[5562] Forked 32279 -[5561] Forked 32280 -(32279) found -(32280) found -[5560] Forked 32281 -[5559] Forked 32282 -(32281) found -(32282) found -[5558] Forked 32283 -[5557] Forked 32284 -(32283) found -(32284) found -[5556] Forked 32285 -[5555] Forked 32286 -(32285) found -(32286) found -[5554] Forked 32287 -[5553] Forked 32288 -(32287) found -(32288) found -[5552] Forked 32289 -[5551] Forked 32290 -(32289) found -(32290) found -[5550] Forked 32291 -[5549] Forked 32292 -(32291) found -(32292) found -[5548] Forked 32293 -[5547] Forked 32294 -(32293) found -(32294) found -[5546] Forked 32295 -(32295) found -[5545] Forked 32296 -(32296) found -[5544] Forked 32297 -(32297) found -[5543] Forked 32298 -(32298) found -[5542] Forked 32299 -(32299) found -[5541] Forked 32300 -(32300) found -[5540] Forked 32301 -(32301) found -[5539] Forked 32302 -(32302) found -[5538] Forked 32303 -(32303) found -[5537] Forked 32304 -(32304) found -[5536] Forked 32305 -(32305) found -[5535] Forked 32306 -(32306) found -[5534] Forked 32307 -(32307) found -[5533] Forked 32308 -(32308) found -[5532] Forked 32309 -(32309) found -[5531] Forked 32310 -(32310) found -[5530] Forked 32311 -(32311) found -[5529] Forked 32312 -(32312) found -[5528] Forked 32313 -(32313) found -[5527] Forked 32314 -(32314) found -[5526] Forked 32315 -(32315) found -[5525] Forked 32316 -(32316) found -[5524] Forked 32317 -(32317) found -[5523] Forked 32318 -(32318) found -[5522] Forked 32319 -(32319) found -[5521] Forked 32320 -(32320) found -[5520] Forked 32321 -(32321) found -[5519] Forked 32322 -(32322) found -[5518] Forked 32323 -(32323) found -[5517] Forked 32324 -(32324) found -[5516] Forked 32325 -(32325) found -[5515] Forked 32326 -(32326) found -[5514] Forked 32327 -(32327) found -[5513] Forked 32328 -(32328) found -[5512] Forked 32329 -(32329) found -[5511] Forked 32330 -[5510] Forked 32331 -(32330) found -(32331) found -[5509] Forked 32332 -[5508] Forked 32333 -(32332) found -(32333) found -[5507] Forked 32334 -[5506] Forked 32335 -(32334) found -(32335) found -[5505] Forked 32336 -[5504] Forked 32337 -(32336) found -(32337) found -[5503] Forked 32338 -[5502] Forked 32339 -(32338) found -(32339) found -[5501] Forked 32340 -[5500] Forked 32341 -(32340) found -(32341) found -[5499] Forked 32342 -[5498] Forked 32343 -(32342) found -(32343) found -[5497] Forked 32344 -[5496] Forked 32345 -(32344) found -(32345) found -[5495] Forked 32346 -[5494] Forked 32347 -(32346) found -(32347) found -[5493] Forked 32348 -[5492] Forked 32349 -(32348) found -(32349) found -[5491] Forked 32350 -[5490] Forked 32351 -(32350) found -(32351) found -[5489] Forked 32352 -[5488] Forked 32353 -(32352) found -(32353) found -[5487] Forked 32354 -[5486] Forked 32355 -(32354) found -(32355) found -[5485] Forked 32356 -[5484] Forked 32357 -(32356) found -(32357) found -[5483] Forked 32358 -[5482] Forked 32359 -(32358) found -(32359) found -[5481] Forked 32360 -[5480] Forked 32361 -(32360) found -(32361) found -[5479] Forked 32362 -[5478] Forked 32363 -(32362) found -(32363) found -[5477] Forked 32364 -[5476] Forked 32365 -(32364) found -(32365) found -[5475] Forked 32366 -[5474] Forked 32367 -(32366) found -(32367) found -[5473] Forked 32368 -[5472] Forked 32369 -(32368) found -(32369) found -[5471] Forked 32370 -[5470] Forked 32371 -(32370) found -(32371) found -[5469] Forked 32372 -[5468] Forked 32373 -(32372) found -(32373) found -[5467] Forked 32374 -[5466] Forked 32375 -(32374) found -(32375) found -[5465] Forked 32376 -[5464] Forked 32377 -(32376) found -(32377) found -[5463] Forked 32378 -[5462] Forked 32379 -(32378) found -(32379) found -[5461] Forked 32380 -[5460] Forked 32381 -(32380) found -(32381) found -[5459] Forked 32382 -[5458] Forked 32383 -(32382) found -(32383) found -[5457] Forked 32384 -[5456] Forked 32385 -(32384) found -(32385) found -[5455] Forked 32386 -[5454] Forked 32387 -(32386) found -(32387) found -[5453] Forked 32388 -[5452] Forked 32389 -(32388) found -(32389) found -[5451] Forked 32390 -[5450] Forked 32391 -(32390) found -(32391) found -[5449] Forked 32392 -[5448] Forked 32393 -(32392) found -(32393) found -[5447] Forked 32394 -[5446] Forked 32395 -(32394) found -(32395) found -[5445] Forked 32396 -[5444] Forked 32397 -(32396) found -(32397) found -[5443] Forked 32398 -[5442] Forked 32399 -(32398) found -(32399) found -[5441] Forked 32400 -[5440] Forked 32401 -(32400) found -(32401) found -[5439] Forked 32402 -[5438] Forked 32403 -(32402) found -(32403) found -[5437] Forked 32404 -[5436] Forked 32405 -(32404) found -(32405) found -[5435] Forked 32406 -[5434] Forked 32407 -(32406) found -(32407) found -[5433] Forked 32408 -[5432] Forked 32409 -(32408) found -(32409) found -[5431] Forked 32410 -[5430] Forked 32411 -(32410) found -(32411) found -[5429] Forked 32412 -[5428] Forked 32413 -(32412) found -(32413) found -[5427] Forked 32414 -[5426] Forked 32415 -(32414) found -(32415) found -[5425] Forked 32416 -[5424] Forked 32417 -(32416) found -(32417) found -[5423] Forked 32418 -(32418) found -[5422] Forked 32419 -[5421] Forked 32420 -(32419) found -(32420) found -[5420] Forked 32421 -[5419] Forked 32422 -(32421) found -(32422) found -[5418] Forked 32423 -[5417] Forked 32424 -(32423) found -(32424) found -[5416] Forked 32425 -[5415] Forked 32426 -(32425) found -(32426) found -[5414] Forked 32427 -[5413] Forked 32428 -(32427) found -(32428) found -[5412] Forked 32429 -[5411] Forked 32430 -(32429) found -(32430) found -[5410] Forked 32431 -[5409] Forked 32432 -(32431) found -(32432) found -[5408] Forked 32433 -[5407] Forked 32434 -(32433) found -(32434) found -[5406] Forked 32435 -[5405] Forked 32436 -(32435) found -(32436) found -[5404] Forked 32437 -[5403] Forked 32438 -(32437) found -(32438) found -[5402] Forked 32439 -[5401] Forked 32440 -(32439) found -(32440) found -[5400] Forked 32441 -[5399] Forked 32442 -(32441) found -(32442) found -[5398] Forked 32443 -[5397] Forked 32444 -(32443) found -(32444) found -[5396] Forked 32445 -[5395] Forked 32446 -(32445) found -(32446) found -[5394] Forked 32447 -[5393] Forked 32448 -(32447) found -(32448) found -[5392] Forked 32449 -[5391] Forked 32450 -(32449) found -(32450) found -[5390] Forked 32451 -[5389] Forked 32452 -(32451) found -(32452) found -[5388] Forked 32453 -[5387] Forked 32454 -(32453) found -(32454) found -[5386] Forked 32455 -[5385] Forked 32456 -(32455) found -(32456) found -[5384] Forked 32457 -[5383] Forked 32458 -(32457) found -(32458) found -[5382] Forked 32459 -[5381] Forked 32460 -(32459) found -(32460) found -[5380] Forked 32461 -[5379] Forked 32462 -(32461) found -(32462) found -[5378] Forked 32463 -[5377] Forked 32464 -(32463) found -(32464) found -[5376] Forked 32465 -[5375] Forked 32466 -(32465) found -(32466) found -[5374] Forked 32467 -[5373] Forked 32468 -(32467) found -(32468) found -[5372] Forked 32469 -[5371] Forked 32470 -(32469) found -(32470) found -[5370] Forked 32471 -[5369] Forked 32472 -(32471) found -(32472) found -[5368] Forked 32473 -[5367] Forked 32474 -(32473) found -(32474) found -[5366] Forked 32475 -[5365] Forked 32476 -(32475) found -(32476) found -[5364] Forked 32477 -[5363] Forked 32478 -(32477) found -(32478) found -[5362] Forked 32479 -[5361] Forked 32480 -(32479) found -(32480) found -[5360] Forked 32481 -[5359] Forked 32482 -(32481) found -(32482) found -[5358] Forked 32483 -[5357] Forked 32484 -(32483) found -(32484) found -[5356] Forked 32485 -[5355] Forked 32486 -(32485) found -(32486) found -[5354] Forked 32487 -[5353] Forked 32488 -(32487) found -(32488) found -[5352] Forked 32489 -[5351] Forked 32490 -(32489) found -(32490) found -[5350] Forked 32491 -[5349] Forked 32492 -(32491) found -(32492) found -[5348] Forked 32493 -[5347] Forked 32494 -(32493) found -(32494) found -[5346] Forked 32495 -[5345] Forked 32496 -(32495) found -(32496) found -[5344] Forked 32497 -[5343] Forked 32498 -(32497) found -(32498) found -[5342] Forked 32499 -[5341] Forked 32500 -(32499) found -(32500) found -[5340] Forked 32501 -[5339] Forked 32502 -(32501) found -(32502) found -[5338] Forked 32503 -[5337] Forked 32504 -(32503) found -(32504) found -[5336] Forked 32505 -[5335] Forked 32506 -(32505) found -(32506) found -[5334] Forked 32507 -[5333] Forked 32508 -(32507) found -(32508) found -[5332] Forked 32509 -[5331] Forked 32510 -(32509) found -(32510) found -[5330] Forked 32511 -[5329] Forked 32512 -(32511) found -(32512) found -[5328] Forked 32513 -[5327] Forked 32514 -(32513) found -(32514) found -[5326] Forked 32515 -[5325] Forked 32516 -(32515) found -(32516) found -[5324] Forked 32517 -[5323] Forked 32518 -(32517) found -(32518) found -[5322] Forked 32519 -[5321] Forked 32520 -(32519) found -(32520) found -[5320] Forked 32521 -[5319] Forked 32522 -(32521) found -(32522) found -[5318] Forked 32523 -[5317] Forked 32524 -(32523) found -(32524) found -[5316] Forked 32525 -[5315] Forked 32526 -(32525) found -(32526) found -[5314] Forked 32527 -[5313] Forked 32528 -(32527) found -(32528) found -[5312] Forked 32529 -[5311] Forked 32530 -(32529) found -(32530) found -[5310] Forked 32531 -[5309] Forked 32532 -(32531) found -(32532) found -[5308] Forked 32533 -[5307] Forked 32534 -(32533) found -(32534) found -[5306] Forked 32535 -[5305] Forked 32536 -(32535) found -(32536) found -[5304] Forked 32537 -[5303] Forked 32538 -(32537) found -(32538) found -[5302] Forked 32539 -[5301] Forked 32540 -(32539) found -(32540) found -[5300] Forked 32541 -[5299] Forked 32542 -(32541) found -(32542) found -[5298] Forked 32543 -(32543) found -[5297] Forked 32544 -(32544) found -[5296] Forked 32545 -(32545) found -[5295] Forked 32546 -(32546) found -[5294] Forked 32547 -(32547) found -[5293] Forked 32548 -(32548) found -[5292] Forked 32549 -(32549) found -[5291] Forked 32550 -[5290] Forked 32551 -(32550) found -(32551) found -[5289] Forked 32552 -[5288] Forked 32553 -(32552) found -(32553) found -[5287] Forked 32554 -[5286] Forked 32555 -(32554) found -(32555) found -[5285] Forked 32556 -[5284] Forked 32557 -(32556) found -(32557) found -[5283] Forked 32558 -[5282] Forked 32559 -(32558) found -(32559) found -[5281] Forked 32560 -[5280] Forked 32561 -(32560) found -(32561) found -[5279] Forked 32562 -[5278] Forked 32563 -(32562) found -(32563) found -[5277] Forked 32564 -[5276] Forked 32565 -(32564) found -(32565) found -[5275] Forked 32566 -[5274] Forked 32567 -(32566) found -(32567) found -[5273] Forked 32568 -[5272] Forked 32569 -(32568) found -(32569) found -[5271] Forked 32570 -[5270] Forked 32571 -(32570) found -(32571) found -[5269] Forked 32572 -[5268] Forked 32573 -(32572) found -(32573) found -[5267] Forked 32574 -[5266] Forked 32575 -(32574) found -(32575) found -[5265] Forked 32576 -[5264] Forked 32577 -(32576) found -(32577) found -[5263] Forked 32578 -[5262] Forked 32579 -(32578) found -(32579) found -[5261] Forked 32580 -[5260] Forked 32581 -(32580) found -(32581) found -[5259] Forked 32582 -[5258] Forked 32583 -(32582) found -(32583) found -[5257] Forked 32584 -[5256] Forked 32585 -(32584) found -(32585) found -[5255] Forked 32586 -[5254] Forked 32587 -(32586) found -(32587) found -[5253] Forked 32588 -[5252] Forked 32589 -(32588) found -(32589) found -[5251] Forked 32590 -[5250] Forked 32591 -(32590) found -(32591) found -[5249] Forked 32592 -[5248] Forked 32593 -(32592) found -(32593) found -[5247] Forked 32594 -(32594) found -[5246] Forked 32595 -(32595) found -[5245] Forked 32596 -(32596) found -[5244] Forked 32597 -(32597) found -[5243] Forked 32598 -(32598) found -[5242] Forked 32599 -(32599) found -[5241] Forked 32600 -(32600) found -[5240] Forked 32601 -(32601) found -[5239] Forked 32602 -(32602) found -[5238] Forked 32603 -(32603) found -[5237] Forked 32604 -(32604) found -[5236] Forked 32605 -(32605) found -[5235] Forked 32606 -(32606) found -[5234] Forked 32607 -(32607) found -[5233] Forked 32608 -(32608) found -[5232] Forked 32609 -(32609) found -[5231] Forked 32610 -(32610) found -[5230] Forked 32611 -(32611) found -[5229] Forked 32612 -(32612) found -[5228] Forked 32613 -(32613) found -[5227] Forked 32614 -(32614) found -[5226] Forked 32615 -(32615) found -[5225] Forked 32616 -(32616) found -[5224] Forked 32617 -(32617) found -[5223] Forked 32618 -(32618) found -[5222] Forked 32619 -(32619) found -[5221] Forked 32620 -(32620) found -[5220] Forked 32621 -(32621) found -[5219] Forked 32622 -(32622) found -[5218] Forked 32623 -(32623) found -[5217] Forked 32624 -(32624) found -[5216] Forked 32625 -(32625) found -[5215] Forked 32626 -(32626) found -[5214] Forked 32627 -(32627) found -[5213] Forked 32628 -(32628) found -[5212] Forked 32629 -(32629) found -[5211] Forked 32630 -(32630) found -[5210] Forked 32631 -(32631) found -[5209] Forked 32632 -(32632) found -[5208] Forked 32633 -(32633) found -[5207] Forked 32634 -[5206] Forked 32635 -(32634) found -(32635) found -[5205] Forked 32636 -[5204] Forked 32637 -(32636) found -(32637) found -[5203] Forked 32638 -[5202] Forked 32639 -(32638) found -(32639) found -[5201] Forked 32640 -[5200] Forked 32641 -(32640) found -(32641) found -[5199] Forked 32642 -[5198] Forked 32643 -(32642) found -(32643) found -[5197] Forked 32644 -[5196] Forked 32645 -(32644) found -(32645) found -[5195] Forked 32646 -[5194] Forked 32647 -(32646) found -(32647) found -[5193] Forked 32648 -[5192] Forked 32649 -(32648) found -(32649) found -[5191] Forked 32650 -[5190] Forked 32651 -(32650) found -(32651) found -[5189] Forked 32652 -[5188] Forked 32653 -(32652) found -(32653) found -[5187] Forked 32654 -[5186] Forked 32655 -(32654) found -(32655) found -[5185] Forked 32656 -[5184] Forked 32657 -(32656) found -(32657) found -[5183] Forked 32658 -[5182] Forked 32659 -(32658) found -(32659) found -[5181] Forked 32660 -(32660) found -[5180] Forked 32661 -[5179] Forked 32662 -(32661) found -(32662) found -[5178] Forked 32663 -[5177] Forked 32664 -(32663) found -(32664) found -[5176] Forked 32665 -[5175] Forked 32666 -(32665) found -(32666) found -[5174] Forked 32667 -[5173] Forked 32668 -(32667) found -(32668) found -[5172] Forked 32669 -[5171] Forked 32670 -(32669) found -(32670) found -[5170] Forked 32671 -[5169] Forked 32672 -(32671) found -(32672) found -[5168] Forked 32673 -(32673) found -[5167] Forked 32674 -(32674) found -[5166] Forked 32675 -(32675) found -[5165] Forked 32676 -(32676) found -[5164] Forked 32677 -(32677) found -[5163] Forked 32678 -(32678) found -[5162] Forked 32679 -(32679) found -[5161] Forked 32680 -(32680) found -[5160] Forked 32681 -(32681) found -[5159] Forked 32682 -(32682) found -[5158] Forked 32683 -(32683) found -[5157] Forked 32684 -(32684) found -[5156] Forked 32685 -(32685) found -[5155] Forked 32686 -(32686) found -[5154] Forked 32687 -(32687) found -[5153] Forked 32688 -(32688) found -[5152] Forked 32689 -(32689) found -[5151] Forked 32690 -(32690) found -[5150] Forked 32691 -(32691) found -[5149] Forked 32692 -(32692) found -[5148] Forked 32693 -(32693) found -[5147] Forked 32694 -(32694) found -[5146] Forked 32695 -(32695) found -[5145] Forked 32696 -(32696) found -[5144] Forked 32697 -(32697) found -[5143] Forked 32698 -(32698) found -[5142] Forked 32699 -(32699) found -[5141] Forked 32700 -(32700) found -[5140] Forked 32701 -(32701) found -[5139] Forked 32702 -(32702) found -[5138] Forked 32703 -(32703) found -[5137] Forked 32704 -(32704) found -[5136] Forked 32705 -(32705) found -[5135] Forked 32706 -(32706) found -[5134] Forked 32707 -(32707) found -[5133] Forked 32708 -(32708) found -[5132] Forked 32709 -(32709) found -[5131] Forked 32710 -(32710) found -[5130] Forked 32711 -(32711) found -[5129] Forked 32712 -[5128] Forked 32713 -(32712) found -(32713) found -[5127] Forked 32714 -[5126] Forked 32715 -(32714) found -(32715) found -[5125] Forked 32716 -[5124] Forked 32717 -(32716) found -(32717) found -[5123] Forked 32718 -[5122] Forked 32719 -(32718) found -(32719) found -[5121] Forked 32720 -[5120] Forked 32721 -(32720) found -(32721) found -[5119] Forked 32722 -[5118] Forked 32723 -(32722) found -(32723) found -[5117] Forked 32724 -[5116] Forked 32725 -(32724) found -(32725) found -[5115] Forked 32726 -[5114] Forked 32727 -(32726) found -(32727) found -[5113] Forked 32728 -[5112] Forked 32729 -(32728) found -(32729) found -[5111] Forked 32730 -[5110] Forked 32731 -(32730) found -(32731) found -[5109] Forked 32732 -[5108] Forked 32733 -(32732) found -(32733) found -[5107] Forked 32734 -[5106] Forked 32735 -(32734) found -(32735) found -[5105] Forked 32736 -[5104] Forked 32737 -(32736) found -(32737) found -[5103] Forked 32738 -[5102] Forked 32739 -(32738) found -(32739) found -[5101] Forked 32740 -[5100] Forked 32741 -(32740) found -(32741) found -[5099] Forked 32742 -[5098] Forked 32743 -(32742) found -(32743) found -[5097] Forked 32744 -[5096] Forked 32745 -(32744) found -(32745) found -[5095] Forked 32746 -[5094] Forked 32747 -(32746) found -(32747) found -[5093] Forked 32748 -[5092] Forked 32749 -(32748) found -(32749) found -[5091] Forked 32750 -[5090] Forked 32751 -(32750) found -(32751) found -[5089] Forked 32752 -[5088] Forked 32753 -(32752) found -(32753) found -[5087] Forked 32754 -[5086] Forked 32755 -(32754) found -(32755) found -[5085] Forked 32756 -[5084] Forked 32757 -(32756) found -(32757) found -[5083] Forked 32758 -[5082] Forked 32759 -(32758) found -(32759) found -[5081] Forked 32760 -[5080] Forked 32761 -(32760) found -(32761) found -[5079] Forked 32762 -[5078] Forked 32763 -(32762) found -(32763) found -[5077] Forked 32764 -[5076] Forked 32765 -(32764) found -(32765) found -[5075] Forked 32766 -[5074] Forked 32767 -(32766) found -(32767) found -[5073] Forked 300 -[5072] Forked 301 -(300) found -(301) found -[5071] Forked 302 -[5070] Forked 303 -(302) found -(303) found -[5069] Forked 304 -[5068] Forked 305 -(304) found -(305) found -[5067] Forked 306 -[5066] Forked 307 -(306) found -(307) found -[5065] Forked 308 -(308) found -[5064] Forked 310 -(310) found -[5063] Forked 311 -(311) found -[5062] Forked 312 -(312) found -[5061] Forked 313 -(313) found -[5060] Forked 314 -(314) found -[5059] Forked 315 -(315) found -[5058] Forked 316 -(316) found -[5057] Forked 317 -(317) found -[5056] Forked 318 -(318) found -[5055] Forked 319 -(319) found -[5054] Forked 320 -(320) found -[5053] Forked 321 -(321) found -[5052] Forked 322 -(322) found -[5051] Forked 323 -(323) found -[5050] Forked 324 -(324) found -[5049] Forked 325 -(325) found -[5048] Forked 328 -(328) found -[5047] Forked 330 -(330) found -[5046] Forked 331 -(331) found -[5045] Forked 332 -(332) found -[5044] Forked 333 -(333) found -[5043] Forked 334 -(334) found -[5042] Forked 335 -(335) found -[5041] Forked 336 -(336) found -[5040] Forked 337 -(337) found -[5039] Forked 338 -(338) found -[5038] Forked 339 -(339) found -[5037] Forked 340 -(340) found -[5036] Forked 341 -(341) found -[5035] Forked 342 -(342) found -[5034] Forked 343 -(343) found -[5033] Forked 344 -(344) found -[5032] Forked 345 -(345) found -[5031] Forked 346 -(346) found -[5030] Forked 347 -(347) found -[5029] Forked 348 -(348) found -[5028] Forked 349 -(349) found -[5027] Forked 350 -(350) found -[5026] Forked 351 -(351) found -[5025] Forked 352 -(352) found -[5024] Forked 353 -(353) found -[5023] Forked 354 -(354) found -[5022] Forked 355 -(355) found -[5021] Forked 356 -(356) found -[5020] Forked 357 -(357) found -[5019] Forked 358 -(358) found -[5018] Forked 359 -(359) found -[5017] Forked 360 -(360) found -[5016] Forked 361 -(361) found -[5015] Forked 362 -(362) found -[5014] Forked 363 -(363) found -[5013] Forked 364 -[5012] Forked 365 -(364) found -(365) found -[5011] Forked 366 -[5010] Forked 367 -(366) found -(367) found -[5009] Forked 368 -[5008] Forked 369 -(368) found -(369) found -[5007] Forked 370 -[5006] Forked 371 -(370) found -(371) found -[5005] Forked 372 -[5004] Forked 373 -(372) found -(373) found -[5003] Forked 374 -[5002] Forked 375 -(374) found -(375) found -[5001] Forked 376 -[5000] Forked 377 -(376) found -(377) found -[4999] Forked 378 -[4998] Forked 379 -(378) found -(379) found -[4997] Forked 380 -[4996] Forked 381 -(380) found -(381) found -[4995] Forked 383 -[4994] Forked 384 -(383) found -(384) found -[4993] Forked 385 -[4992] Forked 386 -(385) found -(386) found -[4991] Forked 387 -[4990] Forked 388 -(387) found -(388) found -[4989] Forked 389 -[4988] Forked 390 -(389) found -(390) found -[4987] Forked 391 -[4986] Forked 392 -(391) found -(392) found -[4985] Forked 393 -[4984] Forked 394 -(393) found -(394) found -[4983] Forked 395 -[4982] Forked 396 -(395) found -(396) found -[4981] Forked 397 -[4980] Forked 398 -(397) found -(398) found -[4979] Forked 399 -[4978] Forked 401 -(399) found -(401) found -[4977] Forked 402 -[4976] Forked 403 -(402) found -(403) found -[4975] Forked 404 -[4974] Forked 405 -(404) found -(405) found -[4973] Forked 407 -[4972] Forked 408 -(407) found -(408) found -[4971] Forked 409 -[4970] Forked 410 -(409) found -(410) found -[4969] Forked 411 -[4968] Forked 412 -(411) found -(412) found -[4967] Forked 413 -[4966] Forked 414 -(413) found -(414) found -[4965] Forked 415 -[4964] Forked 416 -(415) found -(416) found -[4963] Forked 417 -[4962] Forked 418 -(417) found -(418) found -[4961] Forked 419 -[4960] Forked 420 -(419) found -(420) found -[4959] Forked 421 -[4958] Forked 422 -(421) found -(422) found -[4957] Forked 423 -[4956] Forked 424 -(423) found -(424) found -[4955] Forked 425 -[4954] Forked 426 -(425) found -(426) found -[4953] Forked 427 -[4952] Forked 429 -(427) found -(429) found -[4951] Forked 430 -[4950] Forked 431 -(430) found -(431) found -[4949] Forked 432 -[4948] Forked 433 -(432) found -(433) found -[4947] Forked 434 -[4946] Forked 435 -(434) found -(435) found -[4945] Forked 436 -[4944] Forked 437 -(436) found -(437) found -[4943] Forked 438 -[4942] Forked 439 -(439) found -(438) found -[4941] Forked 440 -(440) found -[4940] Forked 441 -(441) found -[4939] Forked 442 -(442) found -[4938] Forked 443 -(443) found -[4937] Forked 444 -(444) found -[4936] Forked 445 -(445) found -[4935] Forked 446 -(446) found -[4934] Forked 447 -(447) found -[4933] Forked 448 -(448) found -[4932] Forked 449 -(449) found -[4931] Forked 450 -(450) found -[4930] Forked 451 -(451) found -[4929] Forked 452 -(452) found -[4928] Forked 453 -(453) found -[4927] Forked 454 -(454) found -[4926] Forked 455 -(455) found -[4925] Forked 456 -(456) found -[4924] Forked 457 -(457) found -[4923] Forked 458 -(458) found -[4922] Forked 459 -(459) found -[4921] Forked 460 -(460) found -[4920] Forked 461 -(461) found -[4919] Forked 462 -(462) found -[4918] Forked 463 -(463) found -[4917] Forked 464 -(464) found -[4916] Forked 465 -(465) found -[4915] Forked 466 -(466) found -[4914] Forked 467 -(467) found -[4913] Forked 468 -(468) found -[4912] Forked 469 -(469) found -[4911] Forked 470 -(470) found -[4910] Forked 471 -(471) found -[4909] Forked 472 -(472) found -[4908] Forked 473 -(473) found -[4907] Forked 474 -(474) found -[4906] Forked 475 -(475) found -[4905] Forked 476 -(476) found -[4904] Forked 477 -(477) found -[4903] Forked 478 -(478) found -[4902] Forked 479 -(479) found -[4901] Forked 480 -(480) found -[4900] Forked 481 -(481) found -[4899] Forked 482 -(482) found -[4898] Forked 483 -(483) found -[4897] Forked 484 -(484) found -[4896] Forked 485 -(485) found -[4895] Forked 486 -(486) found -[4894] Forked 487 -(487) found -[4893] Forked 488 -(488) found -[4892] Forked 489 -(489) found -[4891] Forked 490 -(490) found -[4890] Forked 491 -(491) found -[4889] Forked 492 -(492) found -[4888] Forked 493 -(493) found -[4887] Forked 494 -(494) found -[4886] Forked 495 -(495) found -[4885] Forked 496 -(496) found -[4884] Forked 497 -(497) found -[4883] Forked 498 -(498) found -[4882] Forked 499 -(499) found -[4881] Forked 500 -(500) found -[4880] Forked 501 -(501) found -[4879] Forked 502 -(502) found -[4878] Forked 503 -(503) found -[4877] Forked 504 -(504) found -[4876] Forked 505 -(505) found -[4875] Forked 506 -(506) found -[4874] Forked 507 -(507) found -[4873] Forked 508 -(508) found -[4872] Forked 509 -(509) found -[4871] Forked 510 -(510) found -[4870] Forked 511 -(511) found -[4869] Forked 512 -(512) found -[4868] Forked 513 -(513) found -[4867] Forked 514 -(514) found -[4866] Forked 515 -(515) found -[4865] Forked 516 -(516) found -[4864] Forked 517 -(517) found -[4863] Forked 518 -(518) found -[4862] Forked 519 -[4861] Forked 520 -(519) found -(520) found -[4860] Forked 521 -[4859] Forked 522 -(521) found -(522) found -[4858] Forked 523 -[4857] Forked 524 -(523) found -(524) found -[4856] Forked 525 -[4855] Forked 526 -(525) found -(526) found -[4854] Forked 527 -[4853] Forked 528 -(527) found -(528) found -[4852] Forked 529 -[4851] Forked 530 -(529) found -(530) found -[4850] Forked 531 -[4849] Forked 532 -(531) found -(532) found -[4848] Forked 533 -[4847] Forked 534 -(533) found -(534) found -[4846] Forked 535 -[4845] Forked 536 -(535) found -(536) found -[4844] Forked 537 -[4843] Forked 538 -(537) found -(538) found -[4842] Forked 539 -[4841] Forked 540 -(539) found -(540) found -[4840] Forked 541 -[4839] Forked 542 -(541) found -(542) found -[4838] Forked 543 -[4837] Forked 544 -(543) found -(544) found -[4836] Forked 545 -[4835] Forked 546 -(545) found -(546) found -[4834] Forked 547 -[4833] Forked 548 -(547) found -(548) found -[4832] Forked 549 -[4831] Forked 550 -(549) found -(550) found -[4830] Forked 551 -[4829] Forked 552 -(551) found -(552) found -[4828] Forked 553 -[4827] Forked 554 -(553) found -(554) found -[4826] Forked 555 -[4825] Forked 556 -(555) found -(556) found -[4824] Forked 557 -[4823] Forked 558 -(557) found -(558) found -[4822] Forked 559 -[4821] Forked 560 -(559) found -(560) found -[4820] Forked 561 -[4819] Forked 562 -(561) found -(562) found -[4818] Forked 563 -[4817] Forked 564 -(563) found -(564) found -[4816] Forked 565 -(565) found -[4815] Forked 566 -(566) found -[4814] Forked 567 -(567) found -[4813] Forked 568 -(568) found -[4812] Forked 569 -(569) found -[4811] Forked 570 -(570) found -[4810] Forked 571 -(571) found -[4809] Forked 572 -(572) found -[4808] Forked 573 -(573) found -[4807] Forked 574 -(574) found -[4806] Forked 575 -(575) found -[4805] Forked 576 -(576) found -[4804] Forked 577 -(577) found -[4803] Forked 578 -(578) found -[4802] Forked 579 -(579) found -[4801] Forked 580 -(580) found -[4800] Forked 581 -(581) found -[4799] Forked 582 -(582) found -[4798] Forked 583 -(583) found -[4797] Forked 584 -(584) found -[4796] Forked 585 -(585) found -[4795] Forked 586 -(586) found -[4794] Forked 587 -(587) found -[4793] Forked 588 -(588) found -[4792] Forked 589 -(589) found -[4791] Forked 590 -(590) found -[4790] Forked 591 -(591) found -[4789] Forked 592 -(592) found -[4788] Forked 593 -(593) found -[4787] Forked 594 -(594) found -[4786] Forked 595 -(595) found -[4785] Forked 596 -(596) found -[4784] Forked 597 -(597) found -[4783] Forked 598 -(598) found -[4782] Forked 599 -(599) found -[4781] Forked 600 -[4780] Forked 601 -(600) found -(601) found -[4779] Forked 602 -[4778] Forked 603 -(602) found -(603) found -[4777] Forked 604 -[4776] Forked 606 -(604) found -(606) found -[4775] Forked 607 -[4774] Forked 609 -(607) found -(609) found -[4773] Forked 610 -[4772] Forked 612 -(610) found -(612) found -[4771] Forked 613 -[4770] Forked 615 -(613) found -(615) found -[4769] Forked 616 -[4768] Forked 617 -(616) found -(617) found -[4767] Forked 618 -[4766] Forked 619 -(618) found -(619) found -[4765] Forked 620 -[4764] Forked 621 -(620) found -(621) found -[4763] Forked 622 -[4762] Forked 623 -(622) found -(623) found -[4761] Forked 624 -[4760] Forked 625 -(624) found -(625) found -[4759] Forked 626 -[4758] Forked 627 -(626) found -(627) found -[4757] Forked 628 -[4756] Forked 629 -(628) found -(629) found -[4755] Forked 630 -[4754] Forked 631 -(630) found -(631) found -[4753] Forked 632 -[4752] Forked 633 -(632) found -(633) found -[4751] Forked 634 -[4750] Forked 635 -(634) found -(635) found -[4749] Forked 636 -[4748] Forked 637 -(636) found -(637) found -[4747] Forked 638 -[4746] Forked 639 -(638) found -(639) found -[4745] Forked 640 -[4744] Forked 641 -(640) found -(641) found -[4743] Forked 642 -[4742] Forked 643 -(642) found -(643) found -[4741] Forked 644 -[4740] Forked 646 -(644) found -(646) found -[4739] Forked 647 -(647) found -[4738] Forked 648 -(648) found -[4737] Forked 649 -(649) found -[4736] Forked 650 -(650) found -[4735] Forked 651 -(651) found -[4734] Forked 652 -(652) found -[4733] Forked 653 -(653) found -[4732] Forked 654 -(654) found -[4731] Forked 655 -(655) found -[4730] Forked 656 -(656) found -[4729] Forked 657 -(657) found -[4728] Forked 658 -(658) found -[4727] Forked 659 -(659) found -[4726] Forked 660 -(660) found -[4725] Forked 661 -(661) found -[4724] Forked 662 -(662) found -[4723] Forked 663 -(663) found -[4722] Forked 664 -(664) found -[4721] Forked 665 -(665) found -[4720] Forked 666 -(666) found -[4719] Forked 667 -(667) found -[4718] Forked 668 -(668) found -[4717] Forked 669 -(669) found -[4716] Forked 670 -(670) found -[4715] Forked 671 -(671) found -[4714] Forked 672 -(672) found -[4713] Forked 673 -(673) found -[4712] Forked 674 -(674) found -[4711] Forked 675 -(675) found -[4710] Forked 677 -(677) found -[4709] Forked 678 -(678) found -[4708] Forked 679 -(679) found -[4707] Forked 680 -(680) found -[4706] Forked 681 -(681) found -[4705] Forked 682 -(682) found -[4704] Forked 683 -(683) found -[4703] Forked 684 -(684) found -[4702] Forked 685 -(685) found -[4701] Forked 686 -[4700] Forked 687 -(686) found -(687) found -[4699] Forked 688 -[4698] Forked 689 -(688) found -(689) found -[4697] Forked 690 -[4696] Forked 691 -(691) found -(690) found -[4695] Forked 692 -(692) found -[4694] Forked 693 -(693) found -[4693] Forked 694 -(694) found -[4692] Forked 695 -(695) found -[4691] Forked 696 -(696) found -[4690] Forked 697 -(697) found -[4689] Forked 698 -(698) found -[4688] Forked 699 -(699) found -[4687] Forked 700 -(700) found -[4686] Forked 701 -(701) found -[4685] Forked 702 -(702) found -[4684] Forked 703 -(703) found -[4683] Forked 704 -(704) found -[4682] Forked 705 -(705) found -[4681] Forked 706 -(706) found -[4680] Forked 707 -(707) found -[4679] Forked 708 -(708) found -[4678] Forked 709 -(709) found -[4677] Forked 710 -(710) found -[4676] Forked 711 -(711) found -[4675] Forked 712 -(712) found -[4674] Forked 713 -(713) found -[4673] Forked 714 -(714) found -[4672] Forked 715 -(715) found -[4671] Forked 716 -(716) found -[4670] Forked 717 -(717) found -[4669] Forked 718 -(718) found -[4668] Forked 719 -(719) found -[4667] Forked 720 -(720) found -[4666] Forked 721 -(721) found -[4665] Forked 722 -(722) found -[4664] Forked 723 -(723) found -[4663] Forked 724 -(724) found -[4662] Forked 725 -(725) found -[4661] Forked 726 -(726) found -[4660] Forked 727 -(727) found -[4659] Forked 728 -(728) found -[4658] Forked 729 -(729) found -[4657] Forked 730 -(730) found -[4656] Forked 731 -(731) found -[4655] Forked 732 -(732) found -[4654] Forked 734 -(734) found -[4653] Forked 735 -(735) found -[4652] Forked 737 -(737) found -[4651] Forked 740 -(740) found -[4650] Forked 742 -(742) found -[4649] Forked 744 -(744) found -[4648] Forked 745 -(745) found -[4647] Forked 746 -(746) found -[4646] Forked 747 -(747) found -[4645] Forked 748 -(748) found -[4644] Forked 749 -(749) found -[4643] Forked 750 -(750) found -[4642] Forked 751 -(751) found -[4641] Forked 752 -(752) found -[4640] Forked 753 -(753) found -[4639] Forked 754 -(754) found -[4638] Forked 755 -(755) found -[4637] Forked 756 -(756) found -[4636] Forked 757 -(757) found -[4635] Forked 758 -(758) found -[4634] Forked 759 -(759) found -[4633] Forked 760 -(760) found -[4632] Forked 761 -(761) found -[4631] Forked 762 -(762) found -[4630] Forked 763 -(763) found -[4629] Forked 764 -(764) found -[4628] Forked 765 -(765) found -[4627] Forked 766 -(766) found -[4626] Forked 767 -(767) found -[4625] Forked 768 -(768) found -[4624] Forked 769 -(769) found -[4623] Forked 770 -(770) found -[4622] Forked 771 -(771) found -[4621] Forked 772 -(772) found -[4620] Forked 773 -(773) found -[4619] Forked 774 -(774) found -[4618] Forked 775 -(775) found -[4617] Forked 776 -(776) found -[4616] Forked 777 -(777) found -[4615] Forked 778 -(778) found -[4614] Forked 780 -(780) found -[4613] Forked 781 -(781) found -[4612] Forked 782 -(782) found -[4611] Forked 783 -(783) found -[4610] Forked 784 -(784) found -[4609] Forked 785 -(785) found -[4608] Forked 786 -(786) found -[4607] Forked 787 -(787) found -[4606] Forked 788 -(788) found -[4605] Forked 789 -(789) found -[4604] Forked 790 -(790) found -[4603] Forked 791 -(791) found -[4602] Forked 792 -(792) found -[4601] Forked 793 -(793) found -[4600] Forked 794 -[4599] Forked 795 -(794) found -(795) found -[4598] Forked 796 -[4597] Forked 797 -(796) found -(797) found -[4596] Forked 798 -[4595] Forked 799 -(798) found -(799) found -[4594] Forked 800 -[4593] Forked 801 -(800) found -(801) found -[4592] Forked 802 -[4591] Forked 803 -(802) found -(803) found -[4590] Forked 804 -[4589] Forked 805 -(804) found -(805) found -[4588] Forked 806 -[4587] Forked 807 -(806) found -(807) found -[4586] Forked 808 -[4585] Forked 809 -(808) found -(809) found -[4584] Forked 810 -[4583] Forked 811 -(810) found -(811) found -[4582] Forked 812 -[4581] Forked 813 -(812) found -(813) found -[4580] Forked 814 -[4579] Forked 815 -(814) found -(815) found -[4578] Forked 816 -[4577] Forked 817 -(816) found -(817) found -[4576] Forked 818 -[4575] Forked 819 -(818) found -(819) found -[4574] Forked 820 -[4573] Forked 821 -(820) found -(821) found -[4572] Forked 822 -[4571] Forked 823 -(822) found -(823) found -[4570] Forked 824 -[4569] Forked 825 -(824) found -(825) found -[4568] Forked 826 -[4567] Forked 827 -(826) found -(827) found -[4566] Forked 828 -[4565] Forked 829 -(828) found -(829) found -[4564] Forked 830 -[4563] Forked 831 -(830) found -(831) found -[4562] Forked 832 -(832) found -[4561] Forked 833 -[4560] Forked 834 -(833) found -(834) found -[4559] Forked 835 -[4558] Forked 836 -(835) found -(836) found -[4557] Forked 837 -[4556] Forked 838 -(837) found -(838) found -[4555] Forked 839 -[4554] Forked 840 -(839) found -(840) found -[4553] Forked 841 -[4552] Forked 842 -(841) found -(842) found -[4551] Forked 843 -[4550] Forked 844 -(843) found -(844) found -[4549] Forked 845 -[4548] Forked 847 -(845) found -(847) found -[4547] Forked 848 -[4546] Forked 849 -(848) found -(849) found -[4545] Forked 850 -[4544] Forked 851 -(850) found -(851) found -[4543] Forked 852 -[4542] Forked 853 -(852) found -(853) found -[4541] Forked 854 -[4540] Forked 855 -(854) found -(855) found -[4539] Forked 856 -[4538] Forked 857 -(856) found -(857) found -[4537] Forked 858 -(858) found -[4536] Forked 859 -[4535] Forked 860 -(859) found -(860) found -[4534] Forked 861 -[4533] Forked 862 -(861) found -(862) found -[4532] Forked 863 -[4531] Forked 864 -(863) found -(864) found -[4530] Forked 865 -[4529] Forked 866 -(865) found -(866) found -[4528] Forked 867 -[4527] Forked 868 -(867) found -(868) found -[4526] Forked 869 -[4525] Forked 870 -(869) found -(870) found -[4524] Forked 871 -[4523] Forked 872 -(871) found -(872) found -[4522] Forked 873 -[4521] Forked 874 -(873) found -(874) found -[4520] Forked 875 -[4519] Forked 876 -(875) found -(876) found -[4518] Forked 877 -[4517] Forked 879 -(877) found -(879) found -[4516] Forked 880 -(880) found -[4515] Forked 881 -(881) found -[4514] Forked 882 -(882) found -[4513] Forked 883 -(883) found -[4512] Forked 884 -(884) found -[4511] Forked 885 -(885) found -[4510] Forked 886 -(886) found -[4509] Forked 887 -(887) found -[4508] Forked 888 -(888) found -[4507] Forked 889 -(889) found -[4506] Forked 890 -(890) found -[4505] Forked 891 -(891) found -[4504] Forked 892 -(892) found -[4503] Forked 893 -(893) found -[4502] Forked 894 -(894) found -[4501] Forked 895 -(895) found -[4500] Forked 896 -(896) found -[4499] Forked 897 -(897) found -[4498] Forked 898 -(898) found -[4497] Forked 899 -(899) found -[4496] Forked 900 -(900) found -[4495] Forked 901 -(901) found -[4494] Forked 902 -(902) found -[4493] Forked 903 -(903) found -[4492] Forked 904 -(904) found -[4491] Forked 905 -(905) found -[4490] Forked 906 -(906) found -[4489] Forked 907 -(907) found -[4488] Forked 908 -(908) found -[4487] Forked 909 -(909) found -[4486] Forked 910 -(910) found -[4485] Forked 911 -(911) found -[4484] Forked 912 -(912) found -[4483] Forked 913 -(913) found -[4482] Forked 914 -(914) found -[4481] Forked 915 -(915) found -[4480] Forked 916 -(916) found -[4479] Forked 917 -(917) found -[4478] Forked 918 -[4477] Forked 919 -(918) found -(919) found -[4476] Forked 920 -[4475] Forked 921 -(920) found -(921) found -[4474] Forked 922 -[4473] Forked 923 -(922) found -(923) found -[4472] Forked 924 -[4471] Forked 925 -(924) found -(925) found -[4470] Forked 926 -[4469] Forked 927 -(926) found -(927) found -[4468] Forked 941 -[4467] Forked 942 -(941) found -(942) found -[4466] Forked 943 -[4465] Forked 944 -(943) found -(944) found -[4464] Forked 945 -[4463] Forked 946 -(945) found -(946) found -[4462] Forked 947 -[4461] Forked 950 -(947) found -(950) found -[4460] Forked 951 -[4459] Forked 952 -(951) found -(952) found -[4458] Forked 953 -[4457] Forked 954 -(953) found -(954) found -[4456] Forked 955 -[4455] Forked 956 -(955) found -(956) found -[4454] Forked 957 -[4453] Forked 958 -(957) found -(958) found -[4452] Forked 959 -[4451] Forked 960 -(959) found -(960) found -[4450] Forked 961 -[4449] Forked 962 -(961) found -(962) found -[4448] Forked 963 -[4447] Forked 964 -(963) found -(964) found -[4446] Forked 965 -[4445] Forked 966 -(965) found -(966) found -[4444] Forked 967 -[4443] Forked 968 -(967) found -(968) found -[4442] Forked 969 -[4441] Forked 970 -(969) found -(970) found -[4440] Forked 971 -[4439] Forked 972 -(971) found -(972) found -[4438] Forked 973 -[4437] Forked 974 -(973) found -(974) found -[4436] Forked 975 -[4435] Forked 976 -(975) found -(976) found -[4434] Forked 977 -[4433] Forked 978 -(977) found -(978) found -[4432] Forked 979 -(979) found -[4431] Forked 980 -(980) found -[4430] Forked 981 -(981) found -[4429] Forked 982 -(982) found -[4428] Forked 983 -(983) found -[4427] Forked 984 -(984) found -[4426] Forked 985 -(985) found -[4425] Forked 986 -(986) found -[4424] Forked 987 -(987) found -[4423] Forked 988 -(988) found -[4422] Forked 989 -(989) found -[4421] Forked 990 -(990) found -[4420] Forked 991 -(991) found -[4419] Forked 992 -(992) found -[4418] Forked 993 -(993) found -[4417] Forked 994 -(994) found -[4416] Forked 995 -(995) found -[4415] Forked 996 -(996) found -[4414] Forked 997 -(997) found -[4413] Forked 998 -(998) found -[4412] Forked 999 -(999) found -[4411] Forked 1000 -(1000) found -[4410] Forked 1001 -(1001) found -[4409] Forked 1002 -(1002) found -[4408] Forked 1003 -(1003) found -[4407] Forked 1004 -(1004) found -[4406] Forked 1005 -(1005) found -[4405] Forked 1006 -(1006) found -[4404] Forked 1007 -(1007) found -[4403] Forked 1008 -(1008) found -[4402] Forked 1009 -(1009) found -[4401] Forked 1010 -(1010) found -[4400] Forked 1011 -(1011) found -[4399] Forked 1012 -(1012) found -[4398] Forked 1013 -(1013) found -[4397] Forked 1014 -(1014) found -[4396] Forked 1015 -(1015) found -[4395] Forked 1016 -[4394] Forked 1017 -(1016) found -(1017) found -[4393] Forked 1018 -[4392] Forked 1019 -(1018) found -(1019) found -[4391] Forked 1020 -[4390] Forked 1021 -(1020) found -(1021) found -[4389] Forked 1022 -[4388] Forked 1023 -(1022) found -(1023) found -[4387] Forked 1024 -[4386] Forked 1025 -(1024) found -(1025) found -[4385] Forked 1026 -[4384] Forked 1027 -(1026) found -(1027) found -[4383] Forked 1028 -[4382] Forked 1029 -(1028) found -(1029) found -[4381] Forked 1030 -[4380] Forked 1031 -(1030) found -(1031) found -[4379] Forked 1032 -[4378] Forked 1033 -(1032) found -(1033) found -[4377] Forked 1034 -[4376] Forked 1035 -(1034) found -(1035) found -[4375] Forked 1036 -[4374] Forked 1037 -(1036) found -(1037) found -[4373] Forked 1038 -[4372] Forked 1039 -(1038) found -(1039) found -[4371] Forked 1040 -[4370] Forked 1041 -(1040) found -(1041) found -[4369] Forked 1042 -[4368] Forked 1043 -(1042) found -(1043) found -[4367] Forked 1044 -[4366] Forked 1045 -(1044) found -(1045) found -[4365] Forked 1046 -[4364] Forked 1047 -(1046) found -(1047) found -[4363] Forked 1048 -[4362] Forked 1049 -(1048) found -(1049) found -[4361] Forked 1050 -[4360] Forked 1051 -(1050) found -(1051) found -[4359] Forked 1052 -[4358] Forked 1053 -(1052) found -(1053) found -[4357] Forked 1054 -[4356] Forked 1055 -(1054) found -(1055) found -[4355] Forked 1056 -[4354] Forked 1057 -(1056) found -(1057) found -[4353] Forked 1058 -[4352] Forked 1059 -(1058) found -(1059) found -[4351] Forked 1060 -[4350] Forked 1061 -(1060) found -(1061) found -[4349] Forked 1062 -(1062) found -[4348] Forked 1063 -(1063) found -[4347] Forked 1064 -(1064) found -[4346] Forked 1065 -(1065) found -[4345] Forked 1066 -(1066) found -[4344] Forked 1067 -(1067) found -[4343] Forked 1068 -(1068) found -[4342] Forked 1069 -(1069) found -[4341] Forked 1070 -(1070) found -[4340] Forked 1071 -(1071) found -[4339] Forked 1072 -(1072) found -[4338] Forked 1073 -(1073) found -[4337] Forked 1074 -(1074) found -[4336] Forked 1075 -(1075) found -[4335] Forked 1076 -(1076) found -[4334] Forked 1077 -(1077) found -[4333] Forked 1078 -(1078) found -[4332] Forked 1079 -(1079) found -[4331] Forked 1080 -(1080) found -[4330] Forked 1081 -(1081) found -[4329] Forked 1082 -(1082) found -[4328] Forked 1083 -(1083) found -[4327] Forked 1084 -(1084) found -[4326] Forked 1085 -(1085) found -[4325] Forked 1086 -(1086) found -[4324] Forked 1087 -(1087) found -[4323] Forked 1088 -(1088) found -[4322] Forked 1089 -(1089) found -[4321] Forked 1090 -(1090) found -[4320] Forked 1091 -(1091) found -[4319] Forked 1092 -(1092) found -[4318] Forked 1093 -(1093) found -[4317] Forked 1094 -(1094) found -[4316] Forked 1095 -(1095) found -[4315] Forked 1096 -(1096) found -[4314] Forked 1097 -(1097) found -[4313] Forked 1098 -[4312] Forked 1099 -(1098) found -(1099) found -[4311] Forked 1100 -[4310] Forked 1101 -(1100) found -(1101) found -[4309] Forked 1102 -[4308] Forked 1103 -(1102) found -(1103) found -[4307] Forked 1104 -[4306] Forked 1106 -(1104) found -(1106) found -[4305] Forked 1108 -[4304] Forked 1109 -(1108) found -(1109) found -[4303] Forked 1111 -[4302] Forked 1113 -(1111) found -(1113) found -[4301] Forked 1114 -[4300] Forked 1115 -(1114) found -(1115) found -[4299] Forked 1116 -[4298] Forked 1117 -(1116) found -(1117) found -[4297] Forked 1118 -[4296] Forked 1119 -(1118) found -(1119) found -[4295] Forked 1120 -[4294] Forked 1121 -(1120) found -(1121) found -[4293] Forked 1122 -[4292] Forked 1123 -(1122) found -(1123) found -[4291] Forked 1124 -[4290] Forked 1125 -(1124) found -(1125) found -[4289] Forked 1126 -[4288] Forked 1127 -(1126) found -(1127) found -[4287] Forked 1128 -[4286] Forked 1129 -(1128) found -(1129) found -[4285] Forked 1130 -[4284] Forked 1131 -(1130) found -(1131) found -[4283] Forked 1132 -[4282] Forked 1133 -(1132) found -(1133) found -[4281] Forked 1134 -[4280] Forked 1135 -(1134) found -(1135) found -[4279] Forked 1136 -[4278] Forked 1137 -(1136) found -(1137) found -[4277] Forked 1138 -[4276] Forked 1139 -(1138) found -(1139) found -[4275] Forked 1140 -[4274] Forked 1141 -(1141) found -(1140) found -[4273] Forked 1142 -(1142) found -[4272] Forked 1143 -(1143) found -[4271] Forked 1144 -(1144) found -[4270] Forked 1145 -(1145) found -[4269] Forked 1146 -(1146) found -[4268] Forked 1147 -(1147) found -[4267] Forked 1148 -(1148) found -[4266] Forked 1149 -(1149) found -[4265] Forked 1150 -(1150) found -[4264] Forked 1151 -(1151) found -[4263] Forked 1152 -(1152) found -[4262] Forked 1153 -(1153) found -[4261] Forked 1154 -(1154) found -[4260] Forked 1155 -(1155) found -[4259] Forked 1156 -(1156) found -[4258] Forked 1157 -(1157) found -[4257] Forked 1158 -(1158) found -[4256] Forked 1159 -(1159) found -[4255] Forked 1160 -(1160) found -[4254] Forked 1161 -(1161) found -[4253] Forked 1162 -(1162) found -[4252] Forked 1163 -(1163) found -[4251] Forked 1164 -(1164) found -[4250] Forked 1165 -(1165) found -[4249] Forked 1166 -(1166) found -[4248] Forked 1167 -(1167) found -[4247] Forked 1168 -(1168) found -[4246] Forked 1169 -(1169) found -[4245] Forked 1170 -(1170) found -[4244] Forked 1171 -(1171) found -[4243] Forked 1172 -(1172) found -[4242] Forked 1173 -(1173) found -[4241] Forked 1174 -(1174) found -[4240] Forked 1175 -(1175) found -[4239] Forked 1176 -(1176) found -[4238] Forked 1177 -(1177) found -[4237] Forked 1178 -(1178) found -[4236] Forked 1179 -(1179) found -[4235] Forked 1180 -[4234] Forked 1181 -(1180) found -(1181) found -[4233] Forked 1182 -[4232] Forked 1183 -(1182) found -(1183) found -[4231] Forked 1184 -[4230] Forked 1185 -(1184) found -(1185) found -[4229] Forked 1186 -[4228] Forked 1188 -(1186) found -(1188) found -[4227] Forked 1190 -(1190) found -[4226] Forked 1191 -(1191) found -[4225] Forked 1192 -(1192) found -[4224] Forked 1193 -(1193) found -[4223] Forked 1194 -(1194) found -[4222] Forked 1195 -(1195) found -[4221] Forked 1196 -(1196) found -[4220] Forked 1197 -(1197) found -[4219] Forked 1198 -(1198) found -[4218] Forked 1199 -(1199) found -[4217] Forked 1200 -(1200) found -[4216] Forked 1201 -(1201) found -[4215] Forked 1202 -(1202) found -[4214] Forked 1203 -(1203) found -[4213] Forked 1204 -(1204) found -[4212] Forked 1205 -(1205) found -[4211] Forked 1206 -(1206) found -[4210] Forked 1207 -(1207) found -[4209] Forked 1208 -(1208) found -[4208] Forked 1209 -(1209) found -[4207] Forked 1210 -(1210) found -[4206] Forked 1211 -(1211) found -[4205] Forked 1212 -(1212) found -[4204] Forked 1213 -(1213) found -[4203] Forked 1214 -(1214) found -[4202] Forked 1215 -(1215) found -[4201] Forked 1216 -(1216) found -[4200] Forked 1217 -(1217) found -[4199] Forked 1218 -(1218) found -[4198] Forked 1219 -(1219) found -[4197] Forked 1220 -(1220) found -[4196] Forked 1221 -(1221) found -[4195] Forked 1222 -(1222) found -[4194] Forked 1223 -(1223) found -[4193] Forked 1224 -(1224) found -[4192] Forked 1225 -(1225) found -[4191] Forked 1226 -(1226) found -[4190] Forked 1227 -(1227) found -[4189] Forked 1228 -(1228) found -[4188] Forked 1229 -(1229) found -[4187] Forked 1230 -(1230) found -[4186] Forked 1231 -(1231) found -[4185] Forked 1232 -(1232) found -[4184] Forked 1233 -(1233) found -[4183] Forked 1234 -(1234) found -[4182] Forked 1235 -(1235) found -[4181] Forked 1236 -(1236) found -[4180] Forked 1237 -(1237) found -[4179] Forked 1238 -(1238) found -[4178] Forked 1239 -(1239) found -[4177] Forked 1240 -(1240) found -[4176] Forked 1241 -(1241) found -[4175] Forked 1242 -(1242) found -[4174] Forked 1243 -(1243) found -[4173] Forked 1244 -(1244) found -[4172] Forked 1245 -(1245) found -[4171] Forked 1246 -(1246) found -[4170] Forked 1247 -(1247) found -[4169] Forked 1248 -(1248) found -[4168] Forked 1249 -(1249) found -[4167] Forked 1250 -(1250) found -[4166] Forked 1251 -(1251) found -[4165] Forked 1252 -[4164] Forked 1253 -(1252) found -(1253) found -[4163] Forked 1254 -[4162] Forked 1255 -(1254) found -(1255) found -[4161] Forked 1256 -[4160] Forked 1257 -(1256) found -(1257) found -[4159] Forked 1258 -[4158] Forked 1259 -(1258) found -(1259) found -[4157] Forked 1260 -[4156] Forked 1261 -(1260) found -(1261) found -[4155] Forked 1262 -[4154] Forked 1263 -(1262) found -(1263) found -[4153] Forked 1264 -[4152] Forked 1265 -(1264) found -(1265) found -[4151] Forked 1266 -[4150] Forked 1267 -(1266) found -(1267) found -[4149] Forked 1268 -[4148] Forked 1269 -(1268) found -(1269) found -[4147] Forked 1270 -[4146] Forked 1271 -(1270) found -(1271) found -[4145] Forked 1272 -[4144] Forked 1273 -(1272) found -(1273) found -[4143] Forked 1274 -[4142] Forked 1275 -(1274) found -(1275) found -[4141] Forked 1276 -[4140] Forked 1277 -(1276) found -(1277) found -[4139] Forked 1278 -[4138] Forked 1279 -(1278) found -(1279) found -[4137] Forked 1280 -[4136] Forked 1281 -(1280) found -(1281) found -[4135] Forked 1282 -[4134] Forked 1283 -(1282) found -(1283) found -[4133] Forked 1284 -[4132] Forked 1285 -(1284) found -(1285) found -[4131] Forked 1286 -[4130] Forked 1287 -(1286) found -(1287) found -[4129] Forked 1288 -[4128] Forked 1289 -(1288) found -(1289) found -[4127] Forked 1290 -[4126] Forked 1291 -(1290) found -(1291) found -[4125] Forked 1292 -[4124] Forked 1293 -(1292) found -(1293) found -[4123] Forked 1294 -[4122] Forked 1295 -(1294) found -(1295) found -[4121] Forked 1296 -[4120] Forked 1297 -(1296) found -(1297) found -[4119] Forked 1298 -[4118] Forked 1299 -(1298) found -(1299) found -[4117] Forked 1300 -[4116] Forked 1301 -(1300) found -(1301) found -[4115] Forked 1302 -[4114] Forked 1303 -(1302) found -(1303) found -[4113] Forked 1304 -[4112] Forked 1305 -(1304) found -(1305) found -[4111] Forked 1306 -[4110] Forked 1307 -(1306) found -(1307) found -[4109] Forked 1308 -[4108] Forked 1309 -(1308) found -(1309) found -[4107] Forked 1310 -[4106] Forked 1312 -(1310) found -(1312) found -[4105] Forked 1313 -[4104] Forked 1314 -(1314) found -(1313) found -[4103] Forked 1315 -(1315) found -[4102] Forked 1316 -(1316) found -[4101] Forked 1317 -(1317) found -[4100] Forked 1318 -(1318) found -[4099] Forked 1319 -(1319) found -[4098] Forked 1320 -(1320) found -[4097] Forked 1321 -(1321) found -[4096] Forked 1322 -(1322) found -[4095] Forked 1323 -(1323) found -[4094] Forked 1324 -(1324) found -[4093] Forked 1325 -(1325) found -[4092] Forked 1326 -(1326) found -[4091] Forked 1327 -(1327) found -[4090] Forked 1328 -(1328) found -[4089] Forked 1329 -(1329) found -[4088] Forked 1330 -(1330) found -[4087] Forked 1331 -(1331) found -[4086] Forked 1332 -(1332) found -[4085] Forked 1333 -(1333) found -[4084] Forked 1334 -(1334) found -[4083] Forked 1335 -(1335) found -[4082] Forked 1336 -(1336) found -[4081] Forked 1337 -(1337) found -[4080] Forked 1338 -(1338) found -[4079] Forked 1339 -(1339) found -[4078] Forked 1340 -(1340) found -[4077] Forked 1341 -(1341) found -[4076] Forked 1342 -(1342) found -[4075] Forked 1343 -(1343) found -[4074] Forked 1344 -(1344) found -[4073] Forked 1345 -(1345) found -[4072] Forked 1346 -(1346) found -[4071] Forked 1347 -(1347) found -[4070] Forked 1348 -(1348) found -[4069] Forked 1349 -(1349) found -[4068] Forked 1350 -(1350) found -[4067] Forked 1351 -(1351) found -[4066] Forked 1352 -(1352) found -[4065] Forked 1353 -(1353) found -[4064] Forked 1354 -(1354) found -[4063] Forked 1355 -(1355) found -[4062] Forked 1356 -(1356) found -[4061] Forked 1357 -(1357) found -[4060] Forked 1358 -(1358) found -[4059] Forked 1359 -(1359) found -[4058] Forked 1360 -(1360) found -[4057] Forked 1361 -(1361) found -[4056] Forked 1362 -(1362) found -[4055] Forked 1363 -(1363) found -[4054] Forked 1364 -(1364) found -[4053] Forked 1365 -(1365) found -[4052] Forked 1366 -(1366) found -[4051] Forked 1367 -(1367) found -[4050] Forked 1368 -(1368) found -[4049] Forked 1369 -(1369) found -[4048] Forked 1370 -(1370) found -[4047] Forked 1371 -(1371) found -[4046] Forked 1372 -(1372) found -[4045] Forked 1373 -[4044] Forked 1374 -(1373) found -(1374) found -[4043] Forked 1375 -[4042] Forked 1376 -(1375) found -(1376) found -[4041] Forked 1377 -[4040] Forked 1378 -(1377) found -(1378) found -[4039] Forked 1379 -[4038] Forked 1380 -(1379) found -(1380) found -[4037] Forked 1381 -[4036] Forked 1382 -(1381) found -(1382) found -[4035] Forked 1383 -[4034] Forked 1384 -(1383) found -(1384) found -[4033] Forked 1385 -[4032] Forked 1386 -(1385) found -(1386) found -[4031] Forked 1387 -[4030] Forked 1388 -(1387) found -(1388) found -[4029] Forked 1389 -[4028] Forked 1390 -(1389) found -(1390) found -[4027] Forked 1391 -[4026] Forked 1392 -(1391) found -(1392) found -[4025] Forked 1393 -[4024] Forked 1394 -(1393) found -(1394) found -[4023] Forked 1395 -[4022] Forked 1396 -(1395) found -(1396) found -[4021] Forked 1397 -[4020] Forked 1398 -(1397) found -(1398) found -[4019] Forked 1399 -[4018] Forked 1400 -(1399) found -(1400) found -[4017] Forked 1401 -[4016] Forked 1402 -(1401) found -(1402) found -[4015] Forked 1403 -[4014] Forked 1404 -(1403) found -(1404) found -[4013] Forked 1405 -[4012] Forked 1406 -(1405) found -(1406) found -[4011] Forked 1407 -[4010] Forked 1408 -(1407) found -(1408) found -[4009] Forked 1409 -[4008] Forked 1410 -(1409) found -(1410) found -[4007] Forked 1411 -[4006] Forked 1412 -(1411) found -(1412) found -[4005] Forked 1413 -[4004] Forked 1414 -(1413) found -(1414) found -[4003] Forked 1415 -[4002] Forked 1416 -(1415) found -(1416) found -[4001] Forked 1417 -[4000] Forked 1418 -(1417) found -(1418) found -[3999] Forked 1419 -[3998] Forked 1420 -(1419) found -(1420) found -[3997] Forked 1421 -[3996] Forked 1422 -(1421) found -(1422) found -[3995] Forked 1423 -[3994] Forked 1424 -(1423) found -(1424) found -[3993] Forked 1425 -[3992] Forked 1426 -(1425) found -(1426) found -[3991] Forked 1427 -[3990] Forked 1428 -(1427) found -(1428) found -[3989] Forked 1429 -[3988] Forked 1430 -(1429) found -(1430) found -[3987] Forked 1431 -[3986] Forked 1432 -(1431) found -(1432) found -[3985] Forked 1433 -[3984] Forked 1434 -(1433) found -(1434) found -[3983] Forked 1435 -[3982] Forked 1436 -(1435) found -(1436) found -[3981] Forked 1437 -[3980] Forked 1438 -(1437) found -(1438) found -[3979] Forked 1440 -[3978] Forked 1441 -(1440) found -(1441) found -[3977] Forked 1442 -[3976] Forked 1443 -(1442) found -(1443) found -[3975] Forked 1444 -[3974] Forked 1445 -(1444) found -(1445) found -[3973] Forked 1446 -[3972] Forked 1447 -(1446) found -(1447) found -[3971] Forked 1448 -[3970] Forked 1449 -(1448) found -(1449) found -[3969] Forked 1450 -[3968] Forked 1451 -(1450) found -(1451) found -[3967] Forked 1452 -[3966] Forked 1453 -(1452) found -(1453) found -[3965] Forked 1454 -[3964] Forked 1455 -(1454) found -(1455) found -[3963] Forked 1456 -[3962] Forked 1457 -(1456) found -(1457) found -[3961] Forked 1458 -[3960] Forked 1459 -(1458) found -(1459) found -[3959] Forked 1460 -[3958] Forked 1461 -(1460) found -(1461) found -[3957] Forked 1462 -[3956] Forked 1463 -(1462) found -(1463) found -[3955] Forked 1464 -[3954] Forked 1465 -(1464) found -(1465) found -[3953] Forked 1466 -(1466) found -[3952] Forked 1467 -(1467) found -[3951] Forked 1468 -(1468) found -[3950] Forked 1469 -(1469) found -[3949] Forked 1470 -(1470) found -[3948] Forked 1471 -(1471) found -[3947] Forked 1472 -(1472) found -[3946] Forked 1473 -(1473) found -[3945] Forked 1474 -(1474) found -[3944] Forked 1475 -(1475) found -[3943] Forked 1476 -(1476) found -[3942] Forked 1477 -(1477) found -[3941] Forked 1478 -(1478) found -[3940] Forked 1479 -(1479) found -[3939] Forked 1480 -(1480) found -[3938] Forked 1481 -(1481) found -[3937] Forked 1482 -(1482) found -[3936] Forked 1483 -(1483) found -[3935] Forked 1484 -(1484) found -[3934] Forked 1485 -(1485) found -[3933] Forked 1486 -(1486) found -[3932] Forked 1487 -(1487) found -[3931] Forked 1488 -(1488) found -[3930] Forked 1489 -(1489) found -[3929] Forked 1490 -(1490) found -[3928] Forked 1491 -(1491) found -[3927] Forked 1492 -(1492) found -[3926] Forked 1493 -(1493) found -[3925] Forked 1494 -(1494) found -[3924] Forked 1495 -(1495) found -[3923] Forked 1496 -(1496) found -[3922] Forked 1497 -(1497) found -[3921] Forked 1498 -(1498) found -[3920] Forked 1499 -(1499) found -[3919] Forked 1500 -(1500) found -[3918] Forked 1501 -[3917] Forked 1502 -(1501) found -(1502) found -[3916] Forked 1503 -[3915] Forked 1504 -(1503) found -(1504) found -[3914] Forked 1505 -[3913] Forked 1506 -(1505) found -(1506) found -[3912] Forked 1507 -[3911] Forked 1508 -(1507) found -(1508) found -[3910] Forked 1509 -[3909] Forked 1510 -(1509) found -(1510) found -[3908] Forked 1511 -[3907] Forked 1512 -(1511) found -(1512) found -[3906] Forked 1513 -[3905] Forked 1514 -(1513) found -(1514) found -[3904] Forked 1515 -[3903] Forked 1516 -(1515) found -(1516) found -[3902] Forked 1517 -[3901] Forked 1518 -(1517) found -(1518) found -[3900] Forked 1519 -[3899] Forked 1520 -(1519) found -(1520) found -[3898] Forked 1521 -[3897] Forked 1522 -(1521) found -(1522) found -[3896] Forked 1523 -[3895] Forked 1524 -(1523) found -(1524) found -[3894] Forked 1525 -[3893] Forked 1526 -(1525) found -(1526) found -[3892] Forked 1527 -[3891] Forked 1528 -(1527) found -(1528) found -[3890] Forked 1529 -[3889] Forked 1530 -(1529) found -(1530) found -[3888] Forked 1531 -[3887] Forked 1532 -(1531) found -(1532) found -[3886] Forked 1533 -[3885] Forked 1534 -(1533) found -(1534) found -[3884] Forked 1535 -[3883] Forked 1536 -(1535) found -(1536) found -[3882] Forked 1537 -[3881] Forked 1538 -(1537) found -(1538) found -[3880] Forked 1539 -[3879] Forked 1540 -(1539) found -(1540) found -[3878] Forked 1541 -[3877] Forked 1542 -(1541) found -(1542) found -[3876] Forked 1543 -[3875] Forked 1544 -(1543) found -(1544) found -[3874] Forked 1545 -[3873] Forked 1546 -(1545) found -(1546) found -[3872] Forked 1547 -(1547) found -[3871] Forked 1548 -(1548) found -[3870] Forked 1549 -(1549) found -[3869] Forked 1550 -(1550) found -[3868] Forked 1551 -(1551) found -[3867] Forked 1552 -(1552) found -[3866] Forked 1553 -(1553) found -[3865] Forked 1554 -(1554) found -[3864] Forked 1555 -(1555) found -[3863] Forked 1556 -(1556) found -[3862] Forked 1557 -(1557) found -[3861] Forked 1558 -(1558) found -[3860] Forked 1559 -(1559) found -[3859] Forked 1560 -(1560) found -[3858] Forked 1561 -(1561) found -[3857] Forked 1562 -(1562) found -[3856] Forked 1563 -(1563) found -[3855] Forked 1564 -(1564) found -[3854] Forked 1565 -(1565) found -[3853] Forked 1566 -(1566) found -[3852] Forked 1567 -(1567) found -[3851] Forked 1568 -(1568) found -[3850] Forked 1569 -(1569) found -[3849] Forked 1570 -(1570) found -[3848] Forked 1571 -(1571) found -[3847] Forked 1572 -(1572) found -[3846] Forked 1573 -(1573) found -[3845] Forked 1574 -(1574) found -[3844] Forked 1575 -(1575) found -[3843] Forked 1576 -(1576) found -[3842] Forked 1577 -(1577) found -[3841] Forked 1578 -(1578) found -[3840] Forked 1579 -(1579) found -[3839] Forked 1580 -(1580) found -[3838] Forked 1581 -[3837] Forked 1582 -(1581) found -(1582) found -[3836] Forked 1583 -[3835] Forked 1584 -(1583) found -(1584) found -[3834] Forked 1585 -[3833] Forked 1586 -(1585) found -(1586) found -[3832] Forked 1587 -[3831] Forked 1588 -(1587) found -(1588) found -[3830] Forked 1589 -[3829] Forked 1590 -(1589) found -(1590) found -[3828] Forked 1591 -[3827] Forked 1592 -(1591) found -(1592) found -[3826] Forked 1593 -[3825] Forked 1595 -(1593) found -(1595) found -[3824] Forked 1596 -[3823] Forked 1597 -(1596) found -(1597) found -[3822] Forked 1598 -[3821] Forked 1599 -(1598) found -(1599) found -[3820] Forked 1600 -[3819] Forked 1601 -(1600) found -(1601) found -[3818] Forked 1602 -[3817] Forked 1603 -(1602) found -(1603) found -[3816] Forked 1604 -[3815] Forked 1605 -(1604) found -(1605) found -[3814] Forked 1606 -[3813] Forked 1607 -(1606) found -(1607) found -[3812] Forked 1608 -[3811] Forked 1609 -(1608) found -(1609) found -[3810] Forked 1610 -[3809] Forked 1611 -(1610) found -(1611) found -[3808] Forked 1612 -[3807] Forked 1613 -(1612) found -(1613) found -[3806] Forked 1614 -[3805] Forked 1615 -(1614) found -(1615) found -[3804] Forked 1616 -[3803] Forked 1617 -(1616) found -(1617) found -[3802] Forked 1618 -[3801] Forked 1619 -(1618) found -(1619) found -[3800] Forked 1620 -[3799] Forked 1621 -(1620) found -(1621) found -[3798] Forked 1622 -[3797] Forked 1623 -(1622) found -(1623) found -[3796] Forked 1624 -[3795] Forked 1625 -(1624) found -(1625) found -[3794] Forked 1626 -[3793] Forked 1627 -(1626) found -(1627) found -[3792] Forked 1628 -(1628) found -[3791] Forked 1629 -(1629) found -[3790] Forked 1630 -(1630) found -[3789] Forked 1631 -(1631) found -[3788] Forked 1632 -(1632) found -[3787] Forked 1633 -(1633) found -[3786] Forked 1634 -(1634) found -[3785] Forked 1635 -(1635) found -[3784] Forked 1636 -(1636) found -[3783] Forked 1637 -(1637) found -[3782] Forked 1638 -(1638) found -[3781] Forked 1639 -(1639) found -[3780] Forked 1640 -(1640) found -[3779] Forked 1641 -(1641) found -[3778] Forked 1642 -(1642) found -[3777] Forked 1643 -(1643) found -[3776] Forked 1644 -(1644) found -[3775] Forked 1645 -(1645) found -[3774] Forked 1646 -(1646) found -[3773] Forked 1647 -(1647) found -[3772] Forked 1648 -(1648) found -[3771] Forked 1649 -(1649) found -[3770] Forked 1650 -(1650) found -[3769] Forked 1651 -(1651) found -[3768] Forked 1652 -(1652) found -[3767] Forked 1653 -(1653) found -[3766] Forked 1654 -(1654) found -[3765] Forked 1655 -(1655) found -[3764] Forked 1656 -(1656) found -[3763] Forked 1657 -(1657) found -[3762] Forked 1658 -(1658) found -[3761] Forked 1659 -(1659) found -[3760] Forked 1660 -(1660) found -[3759] Forked 1661 -(1661) found -[3758] Forked 1662 -(1662) found -[3757] Forked 1663 -[3756] Forked 1664 -(1663) found -(1664) found -[3755] Forked 1665 -[3754] Forked 1666 -(1665) found -(1666) found -[3753] Forked 1668 -[3752] Forked 1669 -(1668) found -(1669) found -[3751] Forked 1670 -[3750] Forked 1671 -(1670) found -(1671) found -[3749] Forked 1672 -[3748] Forked 1673 -(1672) found -(1673) found -[3747] Forked 1674 -[3746] Forked 1675 -(1674) found -(1675) found -[3745] Forked 1676 -[3744] Forked 1677 -(1676) found -(1677) found -[3743] Forked 1679 -[3742] Forked 1680 -(1679) found -(1680) found -[3741] Forked 1681 -[3740] Forked 1682 -(1681) found -(1682) found -[3739] Forked 1683 -[3738] Forked 1684 -(1683) found -(1684) found -[3737] Forked 1685 -[3736] Forked 1686 -(1685) found -(1686) found -[3735] Forked 1687 -[3734] Forked 1688 -(1687) found -(1688) found -[3733] Forked 1689 -[3732] Forked 1690 -(1689) found -(1690) found -[3731] Forked 1691 -[3730] Forked 1692 -(1691) found -(1692) found -[3729] Forked 1693 -[3728] Forked 1694 -(1693) found -(1694) found -[3727] Forked 1695 -[3726] Forked 1696 -(1695) found -(1696) found -[3725] Forked 1697 -[3724] Forked 1698 -(1697) found -(1698) found -[3723] Forked 1699 -[3722] Forked 1700 -(1699) found -(1700) found -[3721] Forked 1701 -[3720] Forked 1702 -(1701) found -(1702) found -[3719] Forked 1703 -[3718] Forked 1704 -(1703) found -(1704) found -[3717] Forked 1705 -[3716] Forked 1706 -(1705) found -(1706) found -[3715] Forked 1707 -[3714] Forked 1708 -(1707) found -(1708) found -[3713] Forked 1709 -[3712] Forked 1710 -(1709) found -(1710) found -[3711] Forked 1711 -(1711) found -[3710] Forked 1712 -(1712) found -[3709] Forked 1713 -(1713) found -[3708] Forked 1714 -(1714) found -[3707] Forked 1715 -(1715) found -[3706] Forked 1716 -(1716) found -[3705] Forked 1717 -(1717) found -[3704] Forked 1718 -(1718) found -[3703] Forked 1719 -(1719) found -[3702] Forked 1720 -(1720) found -[3701] Forked 1721 -(1721) found -[3700] Forked 1722 -(1722) found -[3699] Forked 1723 -(1723) found -[3698] Forked 1724 -(1724) found -[3697] Forked 1725 -(1725) found -[3696] Forked 1726 -(1726) found -[3695] Forked 1727 -(1727) found -[3694] Forked 1728 -(1728) found -[3693] Forked 1729 -(1729) found -[3692] Forked 1730 -(1730) found -[3691] Forked 1731 -(1731) found -[3690] Forked 1732 -(1732) found -[3689] Forked 1733 -(1733) found -[3688] Forked 1734 -(1734) found -[3687] Forked 1735 -(1735) found -[3686] Forked 1736 -(1736) found -[3685] Forked 1737 -(1737) found -[3684] Forked 1738 -(1738) found -[3683] Forked 1739 -(1739) found -[3682] Forked 1740 -(1740) found -[3681] Forked 1741 -(1741) found -[3680] Forked 1742 -(1742) found -[3679] Forked 1744 -(1744) found -[3678] Forked 1746 -(1746) found -[3677] Forked 1747 -(1747) found -[3676] Forked 1748 -[3675] Forked 1749 -(1748) found -(1749) found -[3674] Forked 1750 -[3673] Forked 1751 -(1750) found -(1751) found -[3672] Forked 1752 -[3671] Forked 1753 -(1752) found -(1753) found -[3670] Forked 1754 -[3669] Forked 1755 -(1754) found -(1755) found -[3668] Forked 1756 -[3667] Forked 1757 -(1756) found -(1757) found -[3666] Forked 1758 -[3665] Forked 1760 -(1758) found -(1760) found -[3664] Forked 1761 -[3663] Forked 1762 -(1761) found -(1762) found -[3662] Forked 1763 -[3661] Forked 1764 -(1763) found -(1764) found -[3660] Forked 1765 -[3659] Forked 1766 -(1765) found -(1766) found -[3658] Forked 1767 -[3657] Forked 1768 -(1767) found -(1768) found -[3656] Forked 1769 -[3655] Forked 1770 -(1769) found -(1770) found -[3654] Forked 1771 -[3653] Forked 1772 -(1771) found -(1772) found -[3652] Forked 1773 -[3651] Forked 1774 -(1773) found -(1774) found -[3650] Forked 1775 -[3649] Forked 1776 -(1775) found -(1776) found -[3648] Forked 1777 -[3647] Forked 1778 -(1777) found -(1778) found -[3646] Forked 1779 -[3645] Forked 1780 -(1779) found -(1780) found -[3644] Forked 1781 -[3643] Forked 1782 -(1781) found -(1782) found -[3642] Forked 1783 -[3641] Forked 1784 -(1783) found -(1784) found -[3640] Forked 1785 -[3639] Forked 1786 -(1785) found -(1786) found -[3638] Forked 1787 -[3637] Forked 1788 -(1787) found -(1788) found -[3636] Forked 1789 -[3635] Forked 1790 -(1789) found -(1790) found -[3634] Forked 1791 -[3633] Forked 1792 -(1791) found -(1792) found -[3632] Forked 1793 -[3631] Forked 1794 -(1793) found -(1794) found -[3630] Forked 1795 -[3629] Forked 1796 -(1795) found -(1796) found -[3628] Forked 1797 -[3627] Forked 1798 -(1797) found -(1798) found -[3626] Forked 1799 -[3625] Forked 1800 -(1799) found -(1800) found -[3624] Forked 1801 -[3623] Forked 1802 -(1801) found -(1802) found -[3622] Forked 1803 -[3621] Forked 1804 -(1803) found -(1804) found -[3620] Forked 1805 -[3619] Forked 1806 -(1805) found -(1806) found -[3618] Forked 1807 -[3617] Forked 1808 -(1807) found -(1808) found -[3616] Forked 1809 -[3615] Forked 1810 -(1809) found -(1810) found -[3614] Forked 1811 -[3613] Forked 1812 -(1811) found -(1812) found -[3612] Forked 1813 -[3611] Forked 1814 -(1813) found -(1814) found -[3610] Forked 1815 -(1815) found -[3609] Forked 1816 -[3608] Forked 1817 -(1816) found -(1817) found -[3607] Forked 1818 -[3606] Forked 1819 -(1818) found -(1819) found -[3605] Forked 1820 -[3604] Forked 1821 -(1820) found -(1821) found -[3603] Forked 1822 -[3602] Forked 1823 -(1822) found -(1823) found -[3601] Forked 1824 -[3600] Forked 1825 -(1824) found -(1825) found -[3599] Forked 1826 -[3598] Forked 1827 -(1826) found -(1827) found -[3597] Forked 1828 -[3596] Forked 1829 -(1828) found -(1829) found -[3595] Forked 1830 -[3594] Forked 1831 -(1830) found -(1831) found -[3593] Forked 1832 -[3592] Forked 1833 -(1832) found -(1833) found -[3591] Forked 1834 -[3590] Forked 1835 -(1834) found -(1835) found -[3589] Forked 1836 -[3588] Forked 1837 -(1836) found -(1837) found -[3587] Forked 1838 -(1838) found -[3586] Forked 1839 -(1839) found -[3585] Forked 1840 -(1840) found -[3584] Forked 1841 -(1841) found -[3583] Forked 1842 -(1842) found -[3582] Forked 1843 -(1843) found -[3581] Forked 1844 -(1844) found -[3580] Forked 1845 -(1845) found -[3579] Forked 1846 -(1846) found -[3578] Forked 1847 -(1847) found -[3577] Forked 1848 -(1848) found -[3576] Forked 1849 -(1849) found -[3575] Forked 1850 -(1850) found -[3574] Forked 1851 -(1851) found -[3573] Forked 1852 -(1852) found -[3572] Forked 1853 -(1853) found -[3571] Forked 1854 -(1854) found -[3570] Forked 1855 -(1855) found -[3569] Forked 1856 -(1856) found -[3568] Forked 1857 -(1857) found -[3567] Forked 1858 -(1858) found -[3566] Forked 1859 -(1859) found -[3565] Forked 1860 -(1860) found -[3564] Forked 1861 -(1861) found -[3563] Forked 1862 -(1862) found -[3562] Forked 1863 -(1863) found -[3561] Forked 1864 -(1864) found -[3560] Forked 1865 -(1865) found -[3559] Forked 1866 -(1866) found -[3558] Forked 1867 -(1867) found -[3557] Forked 1868 -(1868) found -[3556] Forked 1869 -(1869) found -[3555] Forked 1870 -(1870) found -[3554] Forked 1871 -(1871) found -[3553] Forked 1872 -(1872) found -[3552] Forked 1873 -(1873) found -[3551] Forked 1874 -(1874) found -[3550] Forked 1875 -(1875) found -[3549] Forked 1876 -(1876) found -[3548] Forked 1877 -[3547] Forked 1878 -(1877) found -(1878) found -[3546] Forked 1879 -[3545] Forked 1880 -(1879) found -(1880) found -[3544] Forked 1881 -[3543] Forked 1882 -(1881) found -(1882) found -[3542] Forked 1883 -[3541] Forked 1884 -(1883) found -(1884) found -[3540] Forked 1885 -[3539] Forked 1886 -(1885) found -(1886) found -[3538] Forked 1887 -[3537] Forked 1888 -(1887) found -(1888) found -[3536] Forked 1889 -[3535] Forked 1890 -(1889) found -(1890) found -[3534] Forked 1891 -[3533] Forked 1892 -(1891) found -(1892) found -[3532] Forked 1893 -[3531] Forked 1894 -(1893) found -(1894) found -[3530] Forked 1895 -[3529] Forked 1896 -(1896) found -(1895) found -[3528] Forked 1897 -(1897) found -[3527] Forked 1898 -(1898) found -[3526] Forked 1899 -(1899) found -[3525] Forked 1900 -(1900) found -[3524] Forked 1901 -(1901) found -[3523] Forked 1902 -(1902) found -[3522] Forked 1903 -(1903) found -[3521] Forked 1904 -(1904) found -[3520] Forked 1905 -(1905) found -[3519] Forked 1906 -(1906) found -[3518] Forked 1907 -(1907) found -[3517] Forked 1908 -(1908) found -[3516] Forked 1909 -(1909) found -[3515] Forked 1910 -(1910) found -[3514] Forked 1911 -(1911) found -[3513] Forked 1912 -(1912) found -[3512] Forked 1913 -(1913) found -[3511] Forked 1914 -(1914) found -[3510] Forked 1915 -(1915) found -[3509] Forked 1916 -(1916) found -[3508] Forked 1917 -(1917) found -[3507] Forked 1918 -(1918) found -[3506] Forked 1919 -(1919) found -[3505] Forked 1920 -(1920) found -[3504] Forked 1921 -(1921) found -[3503] Forked 1922 -(1922) found -[3502] Forked 1923 -(1923) found -[3501] Forked 1924 -(1924) found -[3500] Forked 1925 -(1925) found -[3499] Forked 1926 -(1926) found -[3498] Forked 1927 -(1927) found -[3497] Forked 1928 -(1928) found -[3496] Forked 1929 -(1929) found -[3495] Forked 1930 -(1930) found -[3494] Forked 1931 -(1931) found -[3493] Forked 1932 -(1932) found -[3492] Forked 1933 -(1933) found -[3491] Forked 1934 -(1934) found -[3490] Forked 1935 -(1935) found -[3489] Forked 1936 -(1936) found -[3488] Forked 1937 -(1937) found -[3487] Forked 1938 -(1938) found -[3486] Forked 1939 -(1939) found -[3485] Forked 1940 -(1940) found -[3484] Forked 1941 -(1941) found -[3483] Forked 1942 -(1942) found -[3482] Forked 1943 -(1943) found -[3481] Forked 1944 -(1944) found -[3480] Forked 1945 -(1945) found -[3479] Forked 1946 -(1946) found -[3478] Forked 1947 -(1947) found -[3477] Forked 1948 -(1948) found -[3476] Forked 1949 -(1949) found -[3475] Forked 1950 -[3474] Forked 1951 -(1950) found -(1951) found -[3473] Forked 1952 -[3472] Forked 1953 -(1952) found -(1953) found -[3471] Forked 1954 -[3470] Forked 1955 -(1954) found -(1955) found -[3469] Forked 1956 -[3468] Forked 1957 -(1956) found -(1957) found -[3467] Forked 1958 -[3466] Forked 1959 -(1958) found -(1959) found -[3465] Forked 1960 -[3464] Forked 1961 -(1960) found -(1961) found -[3463] Forked 1962 -[3462] Forked 1963 -(1962) found -(1963) found -[3461] Forked 1964 -[3460] Forked 1965 -(1964) found -(1965) found -[3459] Forked 1966 -[3458] Forked 1967 -(1966) found -(1967) found -[3457] Forked 1968 -[3456] Forked 1969 -(1968) found -(1969) found -[3455] Forked 1970 -[3454] Forked 1971 -(1970) found -(1971) found -[3453] Forked 1972 -[3452] Forked 1973 -(1972) found -(1973) found -[3451] Forked 1974 -[3450] Forked 1975 -(1974) found -(1975) found -[3449] Forked 1976 -[3448] Forked 1977 -(1976) found -(1977) found -[3447] Forked 1978 -[3446] Forked 1979 -(1978) found -(1979) found -[3445] Forked 1980 -[3444] Forked 1981 -(1980) found -(1981) found -[3443] Forked 1982 -[3442] Forked 1983 -(1982) found -(1983) found -[3441] Forked 1984 -[3440] Forked 1985 -(1984) found -(1985) found -[3439] Forked 1986 -[3438] Forked 1987 -(1986) found -(1987) found -[3437] Forked 1988 -(1988) found -[3436] Forked 1989 -[3435] Forked 1990 -(1989) found -(1990) found -[3434] Forked 1991 -[3433] Forked 1992 -(1991) found -(1992) found -[3432] Forked 1993 -(1993) found -[3431] Forked 1994 -(1994) found -[3430] Forked 1995 -(1995) found -[3429] Forked 1996 -(1996) found -[3428] Forked 1997 -(1997) found -[3427] Forked 1998 -(1998) found -[3426] Forked 1999 -(1999) found -[3425] Forked 2000 -(2000) found -[3424] Forked 2001 -(2001) found -[3423] Forked 2002 -(2002) found -[3422] Forked 2003 -(2003) found -[3421] Forked 2004 -(2004) found -[3420] Forked 2005 -(2005) found -[3419] Forked 2006 -(2006) found -[3418] Forked 2007 -(2007) found -[3417] Forked 2008 -(2008) found -[3416] Forked 2009 -(2009) found -[3415] Forked 2010 -(2010) found -[3414] Forked 2011 -(2011) found -[3413] Forked 2012 -(2012) found -[3412] Forked 2013 -(2013) found -[3411] Forked 2014 -(2014) found -[3410] Forked 2015 -(2015) found -[3409] Forked 2016 -(2016) found -[3408] Forked 2017 -(2017) found -[3407] Forked 2018 -(2018) found -[3406] Forked 2019 -(2019) found -[3405] Forked 2020 -(2020) found -[3404] Forked 2021 -(2021) found -[3403] Forked 2022 -(2022) found -[3402] Forked 2023 -(2023) found -[3401] Forked 2024 -(2024) found -[3400] Forked 2025 -(2025) found -[3399] Forked 2026 -(2026) found -[3398] Forked 2027 -(2027) found -[3397] Forked 2028 -(2028) found -[3396] Forked 2029 -(2029) found -[3395] Forked 2030 -(2030) found -[3394] Forked 2031 -[3393] Forked 2032 -(2031) found -(2032) found -[3392] Forked 2033 -[3391] Forked 2034 -(2033) found -(2034) found -[3390] Forked 2035 -[3389] Forked 2036 -(2035) found -(2036) found -[3388] Forked 2037 -[3387] Forked 2038 -(2037) found -(2038) found -[3386] Forked 2039 -[3385] Forked 2040 -(2039) found -(2040) found -[3384] Forked 2041 -[3383] Forked 2042 -(2041) found -(2042) found -[3382] Forked 2043 -[3381] Forked 2044 -(2043) found -(2044) found -[3380] Forked 2045 -[3379] Forked 2046 -(2045) found -(2046) found -[3378] Forked 2047 -[3377] Forked 2048 -(2047) found -(2048) found -[3376] Forked 2049 -[3375] Forked 2050 -(2049) found -(2050) found -[3374] Forked 2051 -[3373] Forked 2052 -(2051) found -(2052) found -[3372] Forked 2053 -[3371] Forked 2054 -(2053) found -(2054) found -[3370] Forked 2055 -[3369] Forked 2056 -(2055) found -(2056) found -[3368] Forked 2057 -[3367] Forked 2058 -(2057) found -(2058) found -[3366] Forked 2059 -[3365] Forked 2060 -(2059) found -(2060) found -[3364] Forked 2061 -[3363] Forked 2062 -(2061) found -(2062) found -[3362] Forked 2063 -[3361] Forked 2064 -(2064) found -(2063) found -[3360] Forked 2065 -(2065) found -[3359] Forked 2066 -(2066) found -[3358] Forked 2067 -(2067) found -[3357] Forked 2068 -(2068) found -[3356] Forked 2070 -(2070) found -[3355] Forked 2071 -(2071) found -[3354] Forked 2072 -(2072) found -[3353] Forked 2073 -(2073) found -[3352] Forked 2074 -(2074) found -[3351] Forked 2075 -(2075) found -[3350] Forked 2076 -(2076) found -[3349] Forked 2077 -(2077) found -[3348] Forked 2078 -(2078) found -[3347] Forked 2079 -(2079) found -[3346] Forked 2080 -(2080) found -[3345] Forked 2081 -(2081) found -[3344] Forked 2082 -(2082) found -[3343] Forked 2083 -(2083) found -[3342] Forked 2084 -(2084) found -[3341] Forked 2085 -(2085) found -[3340] Forked 2086 -(2086) found -[3339] Forked 2087 -(2087) found -[3338] Forked 2088 -(2088) found -[3337] Forked 2089 -(2089) found -[3336] Forked 2090 -(2090) found -[3335] Forked 2091 -(2091) found -[3334] Forked 2092 -(2092) found -[3333] Forked 2093 -(2093) found -[3332] Forked 2094 -(2094) found -[3331] Forked 2095 -(2095) found -[3330] Forked 2096 -(2096) found -[3329] Forked 2097 -(2097) found -[3328] Forked 2098 -(2098) found -[3327] Forked 2099 -(2099) found -[3326] Forked 2100 -(2100) found -[3325] Forked 2101 -(2101) found -[3324] Forked 2102 -(2102) found -[3323] Forked 2103 -(2103) found -[3322] Forked 2104 -(2104) found -[3321] Forked 2105 -(2105) found -[3320] Forked 2106 -(2106) found -[3319] Forked 2109 -(2109) found -[3318] Forked 2110 -(2110) found -[3317] Forked 2111 -(2111) found -[3316] Forked 2112 -[3315] Forked 2113 -(2112) found -(2113) found -[3314] Forked 2114 -[3313] Forked 2115 -(2114) found -(2115) found -[3312] Forked 2116 -[3311] Forked 2117 -(2116) found -(2117) found -[3310] Forked 2118 -[3309] Forked 2119 -(2118) found -(2119) found -[3308] Forked 2120 -[3307] Forked 2121 -(2120) found -(2121) found -[3306] Forked 2122 -[3305] Forked 2123 -(2122) found -(2123) found -[3304] Forked 2124 -[3303] Forked 2125 -(2124) found -(2125) found -[3302] Forked 2126 -[3301] Forked 2127 -(2126) found -(2127) found -[3300] Forked 2128 -[3299] Forked 2129 -(2128) found -(2129) found -[3298] Forked 2130 -[3297] Forked 2131 -(2130) found -(2131) found -[3296] Forked 2132 -[3295] Forked 2133 -(2132) found -(2133) found -[3294] Forked 2134 -[3293] Forked 2135 -(2134) found -(2135) found -[3292] Forked 2136 -[3291] Forked 2137 -(2136) found -(2137) found -[3290] Forked 2138 -[3289] Forked 2139 -(2138) found -(2139) found -[3288] Forked 2140 -[3287] Forked 2141 -(2140) found -(2141) found -[3286] Forked 2142 -[3285] Forked 2143 -(2142) found -(2143) found -[3284] Forked 2144 -[3283] Forked 2145 -(2144) found -(2145) found -[3282] Forked 2146 -[3281] Forked 2147 -(2146) found -(2147) found -[3280] Forked 2148 -[3279] Forked 2149 -(2148) found -(2149) found -[3278] Forked 2150 -[3277] Forked 2151 -(2150) found -(2151) found -[3276] Forked 2152 -[3275] Forked 2153 -(2152) found -(2153) found -[3274] Forked 2154 -(2154) found -[3273] Forked 2155 -(2155) found -[3272] Forked 2156 -(2156) found -[3271] Forked 2157 -(2157) found -[3270] Forked 2158 -(2158) found -[3269] Forked 2160 -(2160) found -[3268] Forked 2161 -(2161) found -[3267] Forked 2162 -(2162) found -[3266] Forked 2163 -(2163) found -[3265] Forked 2164 -(2164) found -[3264] Forked 2165 -(2165) found -[3263] Forked 2166 -(2166) found -[3262] Forked 2167 -(2167) found -[3261] Forked 2168 -(2168) found -[3260] Forked 2169 -(2169) found -[3259] Forked 2170 -(2170) found -[3258] Forked 2171 -(2171) found -[3257] Forked 2172 -(2172) found -[3256] Forked 2173 -(2173) found -[3255] Forked 2174 -(2174) found -[3254] Forked 2175 -(2175) found -[3253] Forked 2176 -(2176) found -[3252] Forked 2177 -(2177) found -[3251] Forked 2178 -(2178) found -[3250] Forked 2179 -(2179) found -[3249] Forked 2180 -(2180) found -[3248] Forked 2181 -(2181) found -[3247] Forked 2182 -(2182) found -[3246] Forked 2183 -(2183) found -[3245] Forked 2184 -(2184) found -[3244] Forked 2185 -(2185) found -[3243] Forked 2186 -(2186) found -[3242] Forked 2187 -(2187) found -[3241] Forked 2188 -(2188) found -[3240] Forked 2189 -(2189) found -[3239] Forked 2190 -(2190) found -[3238] Forked 2191 -(2191) found -[3237] Forked 2192 -(2192) found -[3236] Forked 2193 -[3235] Forked 2194 -(2193) found -(2194) found -[3234] Forked 2195 -[3233] Forked 2196 -(2195) found -(2196) found -[3232] Forked 2197 -[3231] Forked 2198 -(2197) found -(2198) found -[3230] Forked 2199 -[3229] Forked 2200 -(2199) found -(2200) found -[3228] Forked 2201 -[3227] Forked 2202 -(2201) found -(2202) found -[3226] Forked 2203 -[3225] Forked 2204 -(2203) found -(2204) found -[3224] Forked 2205 -[3223] Forked 2206 -(2205) found -(2206) found -[3222] Forked 2207 -[3221] Forked 2208 -(2207) found -(2208) found -[3220] Forked 2209 -[3219] Forked 2210 -(2209) found -(2210) found -[3218] Forked 2211 -[3217] Forked 2212 -(2211) found -(2212) found -[3216] Forked 2213 -[3215] Forked 2214 -(2213) found -(2214) found -[3214] Forked 2215 -[3213] Forked 2216 -(2215) found -(2216) found -[3212] Forked 2217 -[3211] Forked 2218 -(2217) found -(2218) found -[3210] Forked 2219 -[3209] Forked 2220 -(2219) found -(2220) found -[3208] Forked 2221 -[3207] Forked 2222 -(2221) found -(2222) found -[3206] Forked 2223 -[3205] Forked 2224 -(2223) found -(2224) found -[3204] Forked 2225 -[3203] Forked 2226 -(2225) found -(2226) found -[3202] Forked 2227 -[3201] Forked 2228 -(2227) found -(2228) found -[3200] Forked 2229 -[3199] Forked 2230 -(2229) found -(2230) found -[3198] Forked 2231 -[3197] Forked 2232 -(2231) found -(2232) found -[3196] Forked 2233 -[3195] Forked 2234 -(2234) found -(2233) found -[3194] Forked 2235 -(2235) found -[3193] Forked 2236 -(2236) found -[3192] Forked 2237 -(2237) found -[3191] Forked 2238 -(2238) found -[3190] Forked 2239 -(2239) found -[3189] Forked 2240 -(2240) found -[3188] Forked 2241 -(2241) found -[3187] Forked 2242 -(2242) found -[3186] Forked 2243 -(2243) found -[3185] Forked 2244 -(2244) found -[3184] Forked 2245 -(2245) found -[3183] Forked 2246 -(2246) found -[3182] Forked 2247 -(2247) found -[3181] Forked 2248 -(2248) found -[3180] Forked 2249 -(2249) found -[3179] Forked 2250 -(2250) found -[3178] Forked 2251 -(2251) found -[3177] Forked 2252 -(2252) found -[3176] Forked 2253 -(2253) found -[3175] Forked 2254 -(2254) found -[3174] Forked 2255 -(2255) found -[3173] Forked 2256 -(2256) found -[3172] Forked 2257 -(2257) found -[3171] Forked 2258 -(2258) found -[3170] Forked 2259 -(2259) found -[3169] Forked 2260 -(2260) found -[3168] Forked 2261 -(2261) found -[3167] Forked 2265 -(2265) found -[3166] Forked 2266 -(2266) found -[3165] Forked 2267 -(2267) found -[3164] Forked 2268 -(2268) found -[3163] Forked 2269 -(2269) found -[3162] Forked 2270 -(2270) found -[3161] Forked 2271 -(2271) found -[3160] Forked 2272 -(2272) found -[3159] Forked 2273 -(2273) found -[3158] Forked 2274 -(2274) found -[3157] Forked 2275 -(2275) found -[3156] Forked 2276 -[3155] Forked 2277 -(2276) found -(2277) found -[3154] Forked 2278 -[3153] Forked 2279 -(2278) found -(2279) found -[3152] Forked 2280 -[3151] Forked 2281 -(2280) found -(2281) found -[3150] Forked 2282 -[3149] Forked 2283 -(2282) found -(2283) found -[3148] Forked 2284 -[3147] Forked 2285 -(2284) found -(2285) found -[3146] Forked 2286 -[3145] Forked 2287 -(2286) found -(2287) found -[3144] Forked 2288 -[3143] Forked 2289 -(2288) found -(2289) found -[3142] Forked 2290 -[3141] Forked 2291 -(2290) found -(2291) found -[3140] Forked 2292 -[3139] Forked 2293 -(2292) found -(2293) found -[3138] Forked 2294 -[3137] Forked 2295 -(2294) found -(2295) found -[3136] Forked 2296 -[3135] Forked 2297 -(2296) found -(2297) found -[3134] Forked 2298 -[3133] Forked 2299 -(2298) found -(2299) found -[3132] Forked 2300 -[3131] Forked 2301 -(2300) found -(2301) found -[3130] Forked 2302 -[3129] Forked 2303 -(2302) found -(2303) found -[3128] Forked 2304 -[3127] Forked 2305 -(2304) found -(2305) found -[3126] Forked 2306 -[3125] Forked 2307 -(2306) found -(2307) found -[3124] Forked 2308 -[3123] Forked 2309 -(2308) found -(2309) found -[3122] Forked 2310 -[3121] Forked 2311 -(2310) found -(2311) found -[3120] Forked 2312 -[3119] Forked 2313 -(2312) found -(2313) found -[3118] Forked 2314 -[3117] Forked 2315 -(2314) found -(2315) found -[3116] Forked 2316 -[3115] Forked 2317 -(2316) found -(2317) found -[3114] Forked 2318 -[3113] Forked 2319 -(2318) found -(2319) found -[3112] Forked 2320 -(2320) found -[3111] Forked 2321 -(2321) found -[3110] Forked 2322 -(2322) found -[3109] Forked 2323 -(2323) found -[3108] Forked 2324 -(2324) found -[3107] Forked 2325 -(2325) found -[3106] Forked 2326 -(2326) found -[3105] Forked 2327 -(2327) found -[3104] Forked 2328 -(2328) found -[3103] Forked 2329 -(2329) found -[3102] Forked 2330 -(2330) found -[3101] Forked 2331 -(2331) found -[3100] Forked 2332 -(2332) found -[3099] Forked 2333 -(2333) found -[3098] Forked 2334 -(2334) found -[3097] Forked 2335 -(2335) found -[3096] Forked 2336 -(2336) found -[3095] Forked 2337 -(2337) found -[3094] Forked 2338 -(2338) found -[3093] Forked 2339 -(2339) found -[3092] Forked 2340 -(2340) found -[3091] Forked 2341 -(2341) found -[3090] Forked 2342 -(2342) found -[3089] Forked 2343 -(2343) found -[3088] Forked 2344 -(2344) found -[3087] Forked 2345 -(2345) found -[3086] Forked 2346 -(2346) found -[3085] Forked 2347 -(2347) found -[3084] Forked 2348 -(2348) found -[3083] Forked 2349 -(2349) found -[3082] Forked 2350 -(2350) found -[3081] Forked 2351 -(2351) found -[3080] Forked 2352 -(2352) found -[3079] Forked 2353 -(2353) found -[3078] Forked 2354 -(2354) found -[3077] Forked 2355 -(2355) found -[3076] Forked 2356 -(2356) found -[3075] Forked 2357 -(2357) found -[3074] Forked 2358 -(2358) found -[3073] Forked 2359 -[3072] Forked 2360 -(2359) found -(2360) found -[3071] Forked 2361 -[3070] Forked 2362 -(2361) found -(2362) found -[3069] Forked 2363 -[3068] Forked 2364 -(2363) found -(2364) found -[3067] Forked 2365 -[3066] Forked 2366 -(2365) found -(2366) found -[3065] Forked 2367 -[3064] Forked 2368 -(2367) found -(2368) found -[3063] Forked 2369 -[3062] Forked 2370 -(2369) found -(2370) found -[3061] Forked 2371 -[3060] Forked 2372 -(2371) found -(2372) found -[3059] Forked 2373 -[3058] Forked 2374 -(2373) found -(2374) found -[3057] Forked 2375 -[3056] Forked 2376 -(2375) found -(2376) found -[3055] Forked 2377 -[3054] Forked 2378 -(2377) found -(2378) found -[3053] Forked 2379 -[3052] Forked 2380 -(2379) found -(2380) found -[3051] Forked 2381 -[3050] Forked 2382 -(2381) found -(2382) found -[3049] Forked 2383 -[3048] Forked 2384 -(2383) found -(2384) found -[3047] Forked 2385 -[3046] Forked 2386 -(2385) found -(2386) found -[3045] Forked 2387 -[3044] Forked 2388 -(2387) found -(2388) found -[3043] Forked 2389 -[3042] Forked 2390 -(2389) found -(2390) found -[3041] Forked 2391 -[3040] Forked 2392 -(2391) found -(2392) found -[3039] Forked 2393 -[3038] Forked 2394 -(2393) found -(2394) found -[3037] Forked 2395 -[3036] Forked 2396 -(2395) found -(2396) found -[3035] Forked 2397 -[3034] Forked 2399 -(2397) found -(2399) found -[3033] Forked 2400 -(2400) found -[3032] Forked 2401 -(2401) found -[3031] Forked 2402 -(2402) found -[3030] Forked 2404 -(2404) found -[3029] Forked 2405 -(2405) found -[3028] Forked 2406 -(2406) found -[3027] Forked 2407 -(2407) found -[3026] Forked 2408 -(2408) found -[3025] Forked 2409 -(2409) found -[3024] Forked 2410 -(2410) found -[3023] Forked 2411 -(2411) found -[3022] Forked 2412 -(2412) found -[3021] Forked 2413 -(2413) found -[3020] Forked 2414 -(2414) found -[3019] Forked 2415 -(2415) found -[3018] Forked 2416 -(2416) found -[3017] Forked 2417 -(2417) found -[3016] Forked 2418 -(2418) found -[3015] Forked 2419 -(2419) found -[3014] Forked 2420 -(2420) found -[3013] Forked 2421 -(2421) found -[3012] Forked 2422 -(2422) found -[3011] Forked 2423 -(2423) found -[3010] Forked 2424 -(2424) found -[3009] Forked 2425 -(2425) found -[3008] Forked 2426 -(2426) found -[3007] Forked 2427 -(2427) found -[3006] Forked 2428 -(2428) found -[3005] Forked 2429 -(2429) found -[3004] Forked 2430 -(2430) found -[3003] Forked 2431 -(2431) found -[3002] Forked 2432 -(2432) found -[3001] Forked 2433 -(2433) found -[3000] Forked 2434 -(2434) found -[2999] Forked 2435 -(2435) found -[2998] Forked 2436 -(2436) found -[2997] Forked 2437 -(2437) found -[2996] Forked 2438 -(2438) found -[2995] Forked 2439 -(2439) found -[2994] Forked 2440 -(2440) found -[2993] Forked 2441 -[2992] Forked 2442 -(2441) found -(2442) found -[2991] Forked 2443 -[2990] Forked 2444 -(2443) found -(2444) found -[2989] Forked 2445 -[2988] Forked 2446 -(2445) found -(2446) found -[2987] Forked 2447 -[2986] Forked 2448 -(2447) found -(2448) found -[2985] Forked 2449 -[2984] Forked 2450 -(2449) found -(2450) found -[2983] Forked 2451 -[2982] Forked 2452 -(2451) found -(2452) found -[2981] Forked 2453 -[2980] Forked 2454 -(2453) found -(2454) found -[2979] Forked 2455 -[2978] Forked 2456 -(2455) found -(2456) found -[2977] Forked 2457 -[2976] Forked 2458 -(2457) found -(2458) found -[2975] Forked 2459 -[2974] Forked 2460 -(2459) found -(2460) found -[2973] Forked 2461 -[2972] Forked 2462 -(2461) found -(2462) found -[2971] Forked 2463 -[2970] Forked 2464 -(2463) found -(2464) found -[2969] Forked 2465 -[2968] Forked 2466 -(2465) found -(2466) found -[2967] Forked 2467 -[2966] Forked 2468 -(2467) found -(2468) found -[2965] Forked 2469 -[2964] Forked 2470 -(2469) found -(2470) found -[2963] Forked 2471 -[2962] Forked 2472 -(2471) found -(2472) found -[2961] Forked 2473 -[2960] Forked 2474 -(2473) found -(2474) found -[2959] Forked 2475 -[2958] Forked 2476 -(2475) found -(2476) found -[2957] Forked 2477 -[2956] Forked 2478 -(2477) found -(2478) found -[2955] Forked 2479 -[2954] Forked 2480 -(2479) found -(2480) found -[2953] Forked 2481 -[2952] Forked 2482 -(2481) found -(2482) found -[2951] Forked 2483 -[2950] Forked 2484 -(2483) found -(2484) found -[2949] Forked 2485 -(2485) found -[2948] Forked 2486 -(2486) found -[2947] Forked 2487 -(2487) found -[2946] Forked 2488 -(2488) found -[2945] Forked 2489 -(2489) found -[2944] Forked 2490 -(2490) found -[2943] Forked 2491 -(2491) found -[2942] Forked 2492 -(2492) found -[2941] Forked 2493 -(2493) found -[2940] Forked 2494 -(2494) found -[2939] Forked 2495 -(2495) found -[2938] Forked 2496 -(2496) found -[2937] Forked 2497 -(2497) found -[2936] Forked 2498 -(2498) found -[2935] Forked 2499 -(2499) found -[2934] Forked 2500 -(2500) found -[2933] Forked 2501 -(2501) found -[2932] Forked 2502 -(2502) found -[2931] Forked 2503 -(2503) found -[2930] Forked 2504 -(2504) found -[2929] Forked 2505 -(2505) found -[2928] Forked 2506 -(2506) found -[2927] Forked 2507 -(2507) found -[2926] Forked 2508 -(2508) found -[2925] Forked 2509 -(2509) found -[2924] Forked 2510 -(2510) found -[2923] Forked 2512 -(2512) found -[2922] Forked 2513 -(2513) found -[2921] Forked 2514 -(2514) found -[2920] Forked 2515 -(2515) found -[2919] Forked 2516 -(2516) found -[2918] Forked 2517 -(2517) found -[2917] Forked 2518 -(2518) found -[2916] Forked 2519 -(2519) found -[2915] Forked 2520 -(2520) found -[2914] Forked 2521 -(2521) found -[2913] Forked 2522 -(2522) found -[2912] Forked 2523 -(2523) found -[2911] Forked 2525 -[2910] Forked 2526 -(2525) found -(2526) found -[2909] Forked 2527 -[2908] Forked 2528 -(2527) found -(2528) found -[2907] Forked 2529 -[2906] Forked 2530 -(2529) found -(2530) found -[2905] Forked 2531 -[2904] Forked 2532 -(2531) found -(2532) found -[2903] Forked 2533 -[2902] Forked 2534 -(2533) found -(2534) found -[2901] Forked 2535 -[2900] Forked 2536 -(2535) found -(2536) found -[2899] Forked 2537 -[2898] Forked 2538 -(2537) found -(2538) found -[2897] Forked 2539 -[2896] Forked 2541 -(2539) found -(2541) found -[2895] Forked 2542 -[2894] Forked 2543 -(2542) found -(2543) found -[2893] Forked 2544 -[2892] Forked 2545 -(2544) found -(2545) found -[2891] Forked 2546 -[2890] Forked 2547 -(2546) found -(2547) found -[2889] Forked 2548 -[2888] Forked 2549 -(2548) found -(2549) found -[2887] Forked 2550 -[2886] Forked 2551 -(2550) found -(2551) found -[2885] Forked 2552 -[2884] Forked 2553 -(2552) found -(2553) found -[2883] Forked 2554 -[2882] Forked 2555 -(2554) found -(2555) found -[2881] Forked 2556 -[2880] Forked 2557 -(2556) found -(2557) found -[2879] Forked 2558 -[2878] Forked 2559 -(2558) found -(2559) found -[2877] Forked 2560 -[2876] Forked 2561 -(2560) found -(2561) found -[2875] Forked 2562 -[2874] Forked 2563 -(2562) found -(2563) found -[2873] Forked 2564 -[2872] Forked 2565 -(2564) found -(2565) found -[2871] Forked 2566 -[2870] Forked 2567 -(2566) found -(2567) found -[2869] Forked 2568 -[2868] Forked 2569 -(2568) found -(2569) found -[2867] Forked 2570 -(2570) found -[2866] Forked 2571 -(2571) found -[2865] Forked 2572 -(2572) found -[2864] Forked 2573 -(2573) found -[2863] Forked 2574 -(2574) found -[2862] Forked 2575 -(2575) found -[2861] Forked 2576 -(2576) found -[2860] Forked 2577 -(2577) found -[2859] Forked 2578 -(2578) found -[2858] Forked 2579 -(2579) found -[2857] Forked 2580 -(2580) found -[2856] Forked 2581 -(2581) found -[2855] Forked 2582 -(2582) found -[2854] Forked 2583 -(2583) found -[2853] Forked 2584 -(2584) found -[2852] Forked 2585 -(2585) found -[2851] Forked 2586 -(2586) found -[2850] Forked 2587 -(2587) found -[2849] Forked 2588 -(2588) found -[2848] Forked 2589 -(2589) found -[2847] Forked 2590 -(2590) found -[2846] Forked 2591 -(2591) found -[2845] Forked 2592 -(2592) found -[2844] Forked 2593 -(2593) found -[2843] Forked 2594 -(2594) found -[2842] Forked 2595 -(2595) found -[2841] Forked 2596 -(2596) found -[2840] Forked 2597 -(2597) found -[2839] Forked 2598 -(2598) found -[2838] Forked 2599 -(2599) found -[2837] Forked 2600 -(2600) found -[2836] Forked 2601 -(2601) found -[2835] Forked 2602 -(2602) found -[2834] Forked 2603 -(2603) found -[2833] Forked 2604 -(2604) found -[2832] Forked 2605 -(2605) found -[2831] Forked 2606 -(2606) found -[2830] Forked 2607 -(2607) found -[2829] Forked 2608 -(2608) found -[2828] Forked 2609 -(2609) found -[2827] Forked 2610 -(2610) found -[2826] Forked 2611 -[2825] Forked 2612 -(2611) found -(2612) found -[2824] Forked 2613 -[2823] Forked 2614 -(2613) found -(2614) found -[2822] Forked 2615 -[2821] Forked 2616 -(2615) found -(2616) found -[2820] Forked 2617 -[2819] Forked 2618 -(2617) found -(2618) found -[2818] Forked 2619 -[2817] Forked 2620 -(2619) found -(2620) found -[2816] Forked 2621 -[2815] Forked 2622 -(2621) found -(2622) found -[2814] Forked 2623 -[2813] Forked 2624 -(2623) found -(2624) found -[2812] Forked 2625 -[2811] Forked 2626 -(2625) found -(2626) found -[2810] Forked 2627 -[2809] Forked 2628 -(2627) found -(2628) found -[2808] Forked 2629 -[2807] Forked 2630 -(2629) found -(2630) found -[2806] Forked 2631 -[2805] Forked 2632 -(2631) found -(2632) found -[2804] Forked 2633 -[2803] Forked 2634 -(2633) found -(2634) found -[2802] Forked 2635 -[2801] Forked 2636 -(2635) found -(2636) found -[2800] Forked 2637 -[2799] Forked 2638 -(2637) found -(2638) found -[2798] Forked 2639 -[2797] Forked 2640 -(2639) found -(2640) found -[2796] Forked 2641 -[2795] Forked 2642 -(2641) found -(2642) found -[2794] Forked 2643 -[2793] Forked 2644 -(2643) found -(2644) found -[2792] Forked 2645 -[2791] Forked 2646 -(2645) found -(2646) found -[2790] Forked 2647 -[2789] Forked 2648 -(2647) found -(2648) found -[2788] Forked 2649 -[2787] Forked 2650 -(2649) found -(2650) found -[2786] Forked 2651 -(2651) found -[2785] Forked 2652 -(2652) found -[2784] Forked 2653 -(2653) found -[2783] Forked 2654 -(2654) found -[2782] Forked 2655 -(2655) found -[2781] Forked 2659 -(2659) found -[2780] Forked 2662 -(2662) found -[2779] Forked 2663 -(2663) found -[2778] Forked 2664 -(2664) found -[2777] Forked 2665 -(2665) found -[2776] Forked 2666 -(2666) found -[2775] Forked 2669 -(2669) found -[2774] Forked 2670 -(2670) found -[2773] Forked 2671 -(2671) found -[2772] Forked 2672 -(2672) found -[2771] Forked 2673 -(2673) found -[2770] Forked 2674 -(2674) found -[2769] Forked 2675 -(2675) found -[2768] Forked 2676 -(2676) found -[2767] Forked 2677 -(2677) found -[2766] Forked 2678 -(2678) found -[2765] Forked 2679 -(2679) found -[2764] Forked 2680 -(2680) found -[2763] Forked 2681 -(2681) found -[2762] Forked 2682 -(2682) found -[2761] Forked 2683 -(2683) found -[2760] Forked 2684 -(2684) found -[2759] Forked 2685 -(2685) found -[2758] Forked 2686 -(2686) found -[2757] Forked 2687 -(2687) found -[2756] Forked 2688 -(2688) found -[2755] Forked 2689 -(2689) found -[2754] Forked 2690 -(2690) found -[2753] Forked 2691 -(2691) found -[2752] Forked 2692 -(2692) found -[2751] Forked 2693 -(2693) found -[2750] Forked 2694 -(2694) found -[2749] Forked 2695 -(2695) found -[2748] Forked 2696 -(2696) found -[2747] Forked 2697 -[2746] Forked 2698 -(2697) found -(2698) found -[2745] Forked 2699 -[2744] Forked 2700 -(2699) found -(2700) found -[2743] Forked 2701 -[2742] Forked 2703 -(2701) found -(2703) found -[2741] Forked 2704 -[2740] Forked 2705 -(2704) found -(2705) found -[2739] Forked 2706 -[2738] Forked 2707 -(2706) found -(2707) found -[2737] Forked 2708 -[2736] Forked 2709 -(2708) found -(2709) found -[2735] Forked 2710 -[2734] Forked 2711 -(2710) found -(2711) found -[2733] Forked 2712 -[2732] Forked 2713 -(2712) found -(2713) found -[2731] Forked 2714 -[2730] Forked 2715 -(2714) found -(2715) found -[2729] Forked 2716 -[2728] Forked 2717 -(2716) found -(2717) found -[2727] Forked 2718 -[2726] Forked 2719 -(2718) found -(2719) found -[2725] Forked 2720 -[2724] Forked 2723 -(2720) found -(2723) found -[2723] Forked 2725 -(2725) found -[2722] Forked 2728 -[2721] Forked 2729 -(2728) found -(2729) found -[2720] Forked 2730 -[2719] Forked 2731 -(2730) found -(2731) found -[2718] Forked 2732 -[2717] Forked 2733 -(2732) found -(2733) found -[2716] Forked 2734 -[2715] Forked 2735 -(2734) found -(2735) found -[2714] Forked 2736 -[2713] Forked 2737 -(2736) found -(2737) found -[2712] Forked 2738 -[2711] Forked 2739 -(2738) found -(2739) found -[2710] Forked 2740 -[2709] Forked 2741 -(2740) found -(2741) found -[2708] Forked 2742 -[2707] Forked 2743 -(2742) found -(2743) found -[2706] Forked 2744 -[2705] Forked 2745 -(2744) found -(2745) found -[2704] Forked 2746 -(2746) found -[2703] Forked 2747 -(2747) found -[2702] Forked 2748 -(2748) found -[2701] Forked 2749 -(2749) found -[2700] Forked 2750 -(2750) found -[2699] Forked 2751 -(2751) found -[2698] Forked 2752 -(2752) found -[2697] Forked 2753 -(2753) found -[2696] Forked 2754 -(2754) found -[2695] Forked 2755 -(2755) found -[2694] Forked 2756 -(2756) found -[2693] Forked 2757 -(2757) found -[2692] Forked 2758 -(2758) found -[2691] Forked 2760 -(2760) found -[2690] Forked 2761 -(2761) found -[2689] Forked 2762 -(2762) found -[2688] Forked 2763 -(2763) found -[2687] Forked 2764 -(2764) found -[2686] Forked 2765 -(2765) found -[2685] Forked 2766 -(2766) found -[2684] Forked 2767 -(2767) found -[2683] Forked 2768 -(2768) found -[2682] Forked 2769 -(2769) found -[2681] Forked 2770 -(2770) found -[2680] Forked 2771 -(2771) found -[2679] Forked 2772 -(2772) found -[2678] Forked 2773 -(2773) found -[2677] Forked 2774 -(2774) found -[2676] Forked 2775 -(2775) found -[2675] Forked 2776 -(2776) found -[2674] Forked 2777 -(2777) found -[2673] Forked 2778 -(2778) found -[2672] Forked 2779 -(2779) found -[2671] Forked 2780 -(2780) found -[2670] Forked 2781 -(2781) found -[2669] Forked 2782 -(2782) found -[2668] Forked 2783 -(2783) found -[2667] Forked 2784 -(2784) found -[2666] Forked 2785 -[2665] Forked 2786 -(2785) found -(2786) found -[2664] Forked 2787 -[2663] Forked 2788 -(2787) found -(2788) found -[2662] Forked 2789 -[2661] Forked 2790 -(2789) found -(2790) found -[2660] Forked 2791 -[2659] Forked 2792 -(2791) found -(2792) found -[2658] Forked 2793 -[2657] Forked 2794 -(2793) found -(2794) found -[2656] Forked 2795 -[2655] Forked 2796 -(2795) found -(2796) found -[2654] Forked 2797 -[2653] Forked 2798 -(2797) found -(2798) found -[2652] Forked 2799 -[2651] Forked 2800 -(2799) found -(2800) found -[2650] Forked 2801 -[2649] Forked 2802 -(2801) found -(2802) found -[2648] Forked 2803 -[2647] Forked 2804 -(2803) found -(2804) found -[2646] Forked 2805 -[2645] Forked 2806 -(2805) found -(2806) found -[2644] Forked 2807 -[2643] Forked 2808 -(2807) found -(2808) found -[2642] Forked 2809 -[2641] Forked 2810 -(2809) found -(2810) found -[2640] Forked 2811 -[2639] Forked 2812 -(2811) found -(2812) found -[2638] Forked 2813 -[2637] Forked 2814 -(2813) found -(2814) found -[2636] Forked 2815 -[2635] Forked 2816 -(2815) found -(2816) found -[2634] Forked 2817 -[2633] Forked 2818 -(2817) found -(2818) found -[2632] Forked 2819 -[2631] Forked 2820 -(2819) found -(2820) found -[2630] Forked 2821 -[2629] Forked 2822 -(2821) found -(2822) found -[2628] Forked 2823 -[2627] Forked 2824 -(2823) found -(2824) found -[2626] Forked 2825 -[2625] Forked 2826 -(2825) found -(2826) found -[2624] Forked 2827 -[2623] Forked 2830 -(2827) found -(2830) found -[2622] Forked 2831 -(2831) found -[2621] Forked 2832 -(2832) found -[2620] Forked 2833 -(2833) found -[2619] Forked 2834 -(2834) found -[2618] Forked 2835 -(2835) found -[2617] Forked 2836 -(2836) found -[2616] Forked 2837 -(2837) found -[2615] Forked 2838 -(2838) found -[2614] Forked 2839 -(2839) found -[2613] Forked 2840 -(2840) found -[2612] Forked 2841 -(2841) found -[2611] Forked 2843 -(2843) found -[2610] Forked 2844 -(2844) found -[2609] Forked 2845 -(2845) found -[2608] Forked 2846 -(2846) found -[2607] Forked 2847 -(2847) found -[2606] Forked 2848 -(2848) found -[2605] Forked 2849 -(2849) found -[2604] Forked 2850 -(2850) found -[2603] Forked 2851 -(2851) found -[2602] Forked 2852 -(2852) found -[2601] Forked 2853 -(2853) found -[2600] Forked 2854 -(2854) found -[2599] Forked 2855 -(2855) found -[2598] Forked 2856 -(2856) found -[2597] Forked 2857 -(2857) found -[2596] Forked 2858 -(2858) found -[2595] Forked 2859 -(2859) found -[2594] Forked 2860 -(2860) found -[2593] Forked 2861 -(2861) found -[2592] Forked 2862 -(2862) found -[2591] Forked 2863 -(2863) found -[2590] Forked 2864 -(2864) found -[2589] Forked 2865 -(2865) found -[2588] Forked 2866 -(2866) found -[2587] Forked 2867 -(2867) found -[2586] Forked 2868 -(2868) found -[2585] Forked 2869 -(2869) found -[2584] Forked 2870 -[2583] Forked 2871 -(2870) found -(2871) found -[2582] Forked 2872 -[2581] Forked 2873 -(2872) found -(2873) found -[2580] Forked 2874 -[2579] Forked 2875 -(2874) found -(2875) found -[2578] Forked 2876 -(2876) found -[2577] Forked 2877 -[2576] Forked 2878 -(2877) found -(2878) found -[2575] Forked 2879 -[2574] Forked 2880 -(2879) found -(2880) found -[2573] Forked 2881 -[2572] Forked 2882 -(2881) found -(2882) found -[2571] Forked 2883 -[2570] Forked 2884 -(2883) found -(2884) found -[2569] Forked 2885 -[2568] Forked 2886 -(2885) found -(2886) found -[2567] Forked 2887 -[2566] Forked 2888 -(2887) found -(2888) found -[2565] Forked 2889 -[2564] Forked 2890 -(2889) found -(2890) found -[2563] Forked 2891 -[2562] Forked 2892 -(2891) found -(2892) found -[2561] Forked 2893 -[2560] Forked 2894 -(2893) found -(2894) found -[2559] Forked 2895 -[2558] Forked 2896 -(2895) found -(2896) found -[2557] Forked 2897 -[2556] Forked 2898 -(2897) found -(2898) found -[2555] Forked 2899 -[2554] Forked 2900 -(2899) found -(2900) found -[2553] Forked 2901 -[2552] Forked 2902 -(2901) found -(2902) found -[2551] Forked 2903 -[2550] Forked 2904 -(2903) found -(2904) found -[2549] Forked 2905 -(2905) found -[2548] Forked 2906 -(2906) found -[2547] Forked 2907 -[2546] Forked 2908 -(2907) found -(2908) found -[2545] Forked 2909 -[2544] Forked 2910 -(2909) found -(2910) found -[2543] Forked 2911 -[2542] Forked 2912 -(2911) found -(2912) found -[2541] Forked 2913 -[2540] Forked 2914 -(2913) found -(2914) found -[2539] Forked 2915 -[2538] Forked 2916 -(2915) found -(2916) found -[2537] Forked 2917 -[2536] Forked 2918 -(2917) found -(2918) found -[2535] Forked 2919 -[2534] Forked 2920 -(2919) found -(2920) found -[2533] Forked 2921 -[2532] Forked 2922 -(2921) found -(2922) found -[2531] Forked 2923 -[2530] Forked 2924 -(2923) found -(2924) found -[2529] Forked 2925 -[2528] Forked 2926 -(2925) found -(2926) found -[2527] Forked 2927 -[2526] Forked 2928 -(2927) found -(2928) found -[2525] Forked 2929 -[2524] Forked 2930 -(2929) found -(2930) found -[2523] Forked 2932 -[2522] Forked 2933 -(2932) found -(2933) found -[2521] Forked 2934 -[2520] Forked 2935 -(2934) found -(2935) found -[2519] Forked 2936 -[2518] Forked 2937 -(2936) found -(2937) found -[2517] Forked 2938 -[2516] Forked 2939 -(2938) found -(2939) found -[2515] Forked 2940 -[2514] Forked 2941 -(2940) found -(2941) found -[2513] Forked 2942 -[2512] Forked 2943 -(2942) found -(2943) found -[2511] Forked 2944 -[2510] Forked 2945 -(2944) found -(2945) found -[2509] Forked 2946 -[2508] Forked 2947 -(2946) found -(2947) found -[2507] Forked 2948 -[2506] Forked 2949 -(2948) found -(2949) found -[2505] Forked 2950 -[2504] Forked 2951 -(2950) found -(2951) found -[2503] Forked 2952 -[2502] Forked 2953 -(2952) found -(2953) found -[2501] Forked 2956 -[2500] Forked 2957 -(2956) found -(2957) found -[2499] Forked 2958 -[2498] Forked 2959 -(2958) found -(2959) found -[2497] Forked 2960 -[2496] Forked 2961 -(2960) found -(2961) found -[2495] Forked 2962 -[2494] Forked 2963 -(2962) found -(2963) found -[2493] Forked 2964 -[2492] Forked 2965 -(2964) found -(2965) found -[2491] Forked 2966 -[2490] Forked 2967 -(2966) found -(2967) found -[2489] Forked 2968 -[2488] Forked 2969 -(2968) found -(2969) found -[2487] Forked 2970 -[2486] Forked 2971 -(2970) found -(2971) found -[2485] Forked 2972 -[2484] Forked 2973 -(2972) found -(2973) found -[2483] Forked 2974 -[2482] Forked 2975 -(2974) found -(2975) found -[2481] Forked 2976 -[2480] Forked 2977 -(2976) found -(2977) found -[2479] Forked 2978 -[2478] Forked 2979 -(2978) found -(2979) found -[2477] Forked 2980 -[2476] Forked 2981 -(2980) found -(2981) found -[2475] Forked 2983 -[2474] Forked 2984 -(2983) found -(2984) found -[2473] Forked 2987 -[2472] Forked 2992 -(2987) found -(2992) found -[2471] Forked 3049 -[2470] Forked 3050 -(3049) found -(3050) found -[2469] Forked 3051 -[2468] Forked 3052 -(3051) found -(3052) found -[2467] Forked 3053 -[2466] Forked 3054 -(3053) found -(3054) found -[2465] Forked 3055 -[2464] Forked 3056 -(3055) found -(3056) found -[2463] Forked 3057 -[2462] Forked 3058 -(3057) found -(3058) found -[2461] Forked 3059 -[2460] Forked 3060 -(3059) found -(3060) found -[2459] Forked 3061 -[2458] Forked 3062 -(3061) found -(3062) found -[2457] Forked 3063 -[2456] Forked 3064 -(3063) found -(3064) found -[2455] Forked 3065 -[2454] Forked 3066 -(3065) found -(3066) found -[2453] Forked 3067 -[2452] Forked 3068 -(3067) found -(3068) found -[2451] Forked 3069 -(3069) found -[2450] Forked 3070 -(3070) found -[2449] Forked 3071 -(3071) found -[2448] Forked 3072 -(3072) found -[2447] Forked 3073 -(3073) found -[2446] Forked 3074 -(3074) found -[2445] Forked 3075 -(3075) found -[2444] Forked 3076 -(3076) found -[2443] Forked 3077 -(3077) found -[2442] Forked 3078 -(3078) found -[2441] Forked 3079 -(3079) found -[2440] Forked 3080 -(3080) found -[2439] Forked 3081 -(3081) found -[2438] Forked 3082 -(3082) found -[2437] Forked 3083 -(3083) found -[2436] Forked 3085 -(3085) found -[2435] Forked 3086 -(3086) found -[2434] Forked 3087 -(3087) found -[2433] Forked 3088 -(3088) found -[2432] Forked 3089 -(3089) found -[2431] Forked 3090 -(3090) found -[2430] Forked 3091 -(3091) found -[2429] Forked 3093 -(3093) found -[2428] Forked 3094 -(3094) found -[2427] Forked 3095 -(3095) found -[2426] Forked 3096 -(3096) found -[2425] Forked 3097 -(3097) found -[2424] Forked 3098 -(3098) found -[2423] Forked 3099 -(3099) found -[2422] Forked 3101 -(3101) found -[2421] Forked 3102 -(3102) found -[2420] Forked 3103 -(3103) found -[2419] Forked 3104 -(3104) found -[2418] Forked 3105 -(3105) found -[2417] Forked 3106 -(3106) found -[2416] Forked 3107 -(3107) found -[2415] Forked 3108 -(3108) found -[2414] Forked 3109 -(3109) found -[2413] Forked 3110 -[2412] Forked 3112 -(3110) found -(3112) found -[2411] Forked 3113 -[2410] Forked 3114 -(3113) found -(3114) found -[2409] Forked 3115 -[2408] Forked 3116 -(3115) found -(3116) found -[2407] Forked 3117 -[2406] Forked 3118 -(3117) found -(3118) found -[2405] Forked 3119 -[2404] Forked 3120 -(3119) found -(3120) found -[2403] Forked 3121 -[2402] Forked 3123 -(3121) found -(3123) found -[2401] Forked 3124 -[2400] Forked 3126 -(3124) found -(3126) found -[2399] Forked 3128 -[2398] Forked 3129 -(3128) found -(3129) found -[2397] Forked 3130 -[2396] Forked 3131 -(3130) found -(3131) found -[2395] Forked 3132 -[2394] Forked 3133 -(3132) found -(3133) found -[2393] Forked 3134 -[2392] Forked 3135 -(3134) found -(3135) found -[2391] Forked 3136 -[2390] Forked 3137 -(3136) found -(3137) found -[2389] Forked 3138 -[2388] Forked 3139 -(3138) found -(3139) found -[2387] Forked 3140 -[2386] Forked 3141 -(3140) found -(3141) found -[2385] Forked 3142 -[2384] Forked 3143 -(3142) found -(3143) found -[2383] Forked 3144 -[2382] Forked 3145 -(3144) found -(3145) found -[2381] Forked 3147 -[2380] Forked 3148 -(3147) found -(3148) found -[2379] Forked 3149 -[2378] Forked 3150 -(3149) found -(3150) found -[2377] Forked 3151 -[2376] Forked 3152 -(3151) found -(3152) found -[2375] Forked 3153 -[2374] Forked 3154 -(3153) found -(3154) found -[2373] Forked 3155 -[2372] Forked 3156 -(3155) found -(3156) found -[2371] Forked 3157 -[2370] Forked 3158 -(3157) found -(3158) found -[2369] Forked 3159 -(3159) found -[2368] Forked 3160 -(3160) found -[2367] Forked 3163 -(3163) found -[2366] Forked 3164 -(3164) found -[2365] Forked 3165 -(3165) found -[2364] Forked 3166 -(3166) found -[2363] Forked 3167 -(3167) found -[2362] Forked 3168 -(3168) found -[2361] Forked 3169 -(3169) found -[2360] Forked 3170 -(3170) found -[2359] Forked 3171 -(3171) found -[2358] Forked 3172 -(3172) found -[2357] Forked 3173 -(3173) found -[2356] Forked 3174 -(3174) found -[2355] Forked 3175 -(3175) found -[2354] Forked 3176 -(3176) found -[2353] Forked 3177 -(3177) found -[2352] Forked 3178 -(3178) found -[2351] Forked 3179 -(3179) found -[2350] Forked 3180 -(3180) found -[2349] Forked 3181 -(3181) found -[2348] Forked 3182 -(3182) found -[2347] Forked 3183 -(3183) found -[2346] Forked 3184 -(3184) found -[2345] Forked 3185 -(3185) found -[2344] Forked 3186 -(3186) found -[2343] Forked 3187 -(3187) found -[2342] Forked 3188 -(3188) found -[2341] Forked 3189 -(3189) found -[2340] Forked 3190 -(3190) found -[2339] Forked 3191 -(3191) found -[2338] Forked 3192 -(3192) found -[2337] Forked 3195 -(3195) found -[2336] Forked 3196 -(3196) found -[2335] Forked 3197 -(3197) found -[2334] Forked 3198 -(3198) found -[2333] Forked 3199 -(3199) found -[2332] Forked 3200 -(3200) found -[2331] Forked 3201 -[2330] Forked 3202 -(3201) found -(3202) found -[2329] Forked 3203 -[2328] Forked 3204 -(3203) found -(3204) found -[2327] Forked 3205 -[2326] Forked 3206 -(3205) found -(3206) found -[2325] Forked 3207 -[2324] Forked 3208 -(3207) found -(3208) found -[2323] Forked 3209 -[2322] Forked 3210 -(3209) found -(3210) found -[2321] Forked 3211 -[2320] Forked 3212 -(3211) found -(3212) found -[2319] Forked 3213 -[2318] Forked 3214 -(3213) found -(3214) found -[2317] Forked 3215 -[2316] Forked 3216 -(3215) found -(3216) found -[2315] Forked 3217 -[2314] Forked 3218 -(3217) found -(3218) found -[2313] Forked 3219 -[2312] Forked 3220 -(3219) found -(3220) found -[2311] Forked 3221 -[2310] Forked 3222 -(3221) found -(3222) found -[2309] Forked 3223 -[2308] Forked 3224 -(3223) found -(3224) found -[2307] Forked 3225 -[2306] Forked 3227 -(3225) found -(3227) found -[2305] Forked 3228 -[2304] Forked 3229 -(3228) found -(3229) found -[2303] Forked 3230 -[2302] Forked 3231 -(3230) found -(3231) found -[2301] Forked 3232 -[2300] Forked 3233 -(3232) found -(3233) found -[2299] Forked 3234 -[2298] Forked 3235 -(3234) found -(3235) found -[2297] Forked 3236 -[2296] Forked 3237 -(3236) found -(3237) found -[2295] Forked 3238 -[2294] Forked 3239 -(3238) found -(3239) found -[2293] Forked 3240 -[2292] Forked 3241 -(3240) found -(3241) found -[2291] Forked 3242 -[2290] Forked 3243 -(3242) found -(3243) found -[2289] Forked 3244 -[2288] Forked 3245 -(3244) found -(3245) found -[2287] Forked 3249 -(3249) found -[2286] Forked 3250 -(3250) found -[2285] Forked 3251 -(3251) found -[2284] Forked 3252 -(3252) found -[2283] Forked 3253 -(3253) found -[2282] Forked 3254 -(3254) found -[2281] Forked 3255 -(3255) found -[2280] Forked 3256 -(3256) found -[2279] Forked 3257 -(3257) found -[2278] Forked 3258 -(3258) found -[2277] Forked 3259 -(3259) found -[2276] Forked 3260 -(3260) found -[2275] Forked 3261 -(3261) found -[2274] Forked 3262 -(3262) found -[2273] Forked 3263 -(3263) found -[2272] Forked 3264 -(3264) found -[2271] Forked 3265 -(3265) found -[2270] Forked 3266 -(3266) found -[2269] Forked 3267 -(3267) found -[2268] Forked 3268 -(3268) found -[2267] Forked 3269 -(3269) found -[2266] Forked 3270 -(3270) found -[2265] Forked 3271 -(3271) found -[2264] Forked 3272 -(3272) found -[2263] Forked 3273 -(3273) found -[2262] Forked 3274 -(3274) found -[2261] Forked 3275 -(3275) found -[2260] Forked 3276 -(3276) found -[2259] Forked 3277 -(3277) found -[2258] Forked 3278 -(3278) found -[2257] Forked 3279 -(3279) found -[2256] Forked 3280 -(3280) found -[2255] Forked 3281 -(3281) found -[2254] Forked 3282 -(3282) found -[2253] Forked 3283 -(3283) found -[2252] Forked 3284 -(3284) found -[2251] Forked 3285 -(3285) found -[2250] Forked 3286 -(3286) found -[2249] Forked 3287 -[2248] Forked 3288 -(3287) found -(3288) found -[2247] Forked 3289 -[2246] Forked 3290 -(3289) found -(3290) found -[2245] Forked 3291 -[2244] Forked 3292 -(3291) found -(3292) found -[2243] Forked 3293 -[2242] Forked 3294 -(3293) found -(3294) found -[2241] Forked 3295 -[2240] Forked 3296 -(3295) found -(3296) found -[2239] Forked 3297 -[2238] Forked 3298 -(3297) found -(3298) found -[2237] Forked 3299 -[2236] Forked 3300 -(3299) found -(3300) found -[2235] Forked 3301 -[2234] Forked 3302 -(3301) found -(3302) found -[2233] Forked 3303 -[2232] Forked 3304 -(3303) found -(3304) found -[2231] Forked 3305 -[2230] Forked 3306 -(3305) found -(3306) found -[2229] Forked 3307 -[2228] Forked 3308 -(3307) found -(3308) found -[2227] Forked 3309 -[2226] Forked 3310 -(3309) found -(3310) found -[2225] Forked 3311 -[2224] Forked 3312 -(3311) found -(3312) found -[2223] Forked 3313 -[2222] Forked 3314 -(3313) found -(3314) found -[2221] Forked 3315 -[2220] Forked 3317 -(3315) found -(3317) found -[2219] Forked 3318 -[2218] Forked 3319 -(3318) found -(3319) found -[2217] Forked 3320 -[2216] Forked 3321 -(3320) found -(3321) found -[2215] Forked 3322 -[2214] Forked 3323 -(3322) found -(3323) found -[2213] Forked 3324 -[2212] Forked 3325 -(3324) found -(3325) found -[2211] Forked 3326 -[2210] Forked 3327 -(3326) found -(3327) found -[2209] Forked 3333 -[2208] Forked 3334 -(3333) found -(3334) found -[2207] Forked 3335 -(3335) found -[2206] Forked 3336 -(3336) found -[2205] Forked 3337 -(3337) found -[2204] Forked 3338 -(3338) found -[2203] Forked 3339 -(3339) found -[2202] Forked 3340 -(3340) found -[2201] Forked 3341 -(3341) found -[2200] Forked 3342 -(3342) found -[2199] Forked 3343 -(3343) found -[2198] Forked 3344 -(3344) found -[2197] Forked 3345 -(3345) found -[2196] Forked 3347 -(3347) found -[2195] Forked 3348 -(3348) found -[2194] Forked 3349 -(3349) found -[2193] Forked 3350 -(3350) found -[2192] Forked 3351 -(3351) found -[2191] Forked 3352 -(3352) found -[2190] Forked 3353 -(3353) found -[2189] Forked 3354 -(3354) found -[2188] Forked 3355 -(3355) found -[2187] Forked 3356 -(3356) found -[2186] Forked 3357 -(3357) found -[2185] Forked 3358 -(3358) found -[2184] Forked 3359 -(3359) found -[2183] Forked 3360 -(3360) found -[2182] Forked 3361 -(3361) found -[2181] Forked 3362 -(3362) found -[2180] Forked 3363 -(3363) found -[2179] Forked 3364 -(3364) found -[2178] Forked 3365 -(3365) found -[2177] Forked 3366 -(3366) found -[2176] Forked 3367 -(3367) found -[2175] Forked 3368 -(3368) found -[2174] Forked 3369 -(3369) found -[2173] Forked 3370 -(3370) found -[2172] Forked 3371 -(3371) found -[2171] Forked 3372 -(3372) found -[2170] Forked 3373 -(3373) found -[2169] Forked 3382 -[2168] Forked 3383 -(3382) found -(3383) found -[2167] Forked 3384 -[2166] Forked 3385 -(3384) found -(3385) found -[2165] Forked 3386 -[2164] Forked 3387 -(3386) found -(3387) found -[2163] Forked 3388 -[2162] Forked 3389 -(3388) found -(3389) found -[2161] Forked 3390 -[2160] Forked 3391 -(3390) found -(3391) found -[2159] Forked 3392 -[2158] Forked 3393 -(3392) found -(3393) found -[2157] Forked 3394 -[2156] Forked 3395 -(3394) found -(3395) found -[2155] Forked 3396 -[2154] Forked 3397 -(3396) found -(3397) found -[2153] Forked 3398 -[2152] Forked 3399 -(3398) found -(3399) found -[2151] Forked 3401 -[2150] Forked 3402 -(3401) found -(3402) found -[2149] Forked 3403 -[2148] Forked 3404 -(3403) found -(3404) found -[2147] Forked 3405 -[2146] Forked 3406 -(3405) found -(3406) found -[2145] Forked 3407 -[2144] Forked 3408 -(3407) found -(3408) found -[2143] Forked 3409 -[2142] Forked 3410 -(3409) found -(3410) found -[2141] Forked 3411 -[2140] Forked 3412 -(3411) found -(3412) found -[2139] Forked 3413 -[2138] Forked 3414 -(3413) found -(3414) found -[2137] Forked 3415 -[2136] Forked 3416 -(3415) found -(3416) found -[2135] Forked 3417 -[2134] Forked 3418 -(3417) found -(3418) found -[2133] Forked 3419 -[2132] Forked 3420 -(3419) found -(3420) found -[2131] Forked 3421 -[2130] Forked 3422 -(3421) found -(3422) found -[2129] Forked 3423 -[2128] Forked 3424 -(3423) found -(3424) found -[2127] Forked 3425 -[2126] Forked 3426 -(3425) found -(3426) found -[2125] Forked 3427 -(3427) found -[2124] Forked 3428 -(3428) found -[2123] Forked 3429 -(3429) found -[2122] Forked 3430 -(3430) found -[2121] Forked 3431 -(3431) found -[2120] Forked 3432 -(3432) found -[2119] Forked 3433 -(3433) found -[2118] Forked 3434 -(3434) found -[2117] Forked 3435 -(3435) found -[2116] Forked 3436 -(3436) found -[2115] Forked 3437 -(3437) found -[2114] Forked 3438 -(3438) found -[2113] Forked 3439 -(3439) found -[2112] Forked 3440 -(3440) found -[2111] Forked 3441 -(3441) found -[2110] Forked 3442 -(3442) found -[2109] Forked 3443 -(3443) found -[2108] Forked 3444 -(3444) found -[2107] Forked 3445 -(3445) found -[2106] Forked 3446 -(3446) found -[2105] Forked 3447 -(3447) found -[2104] Forked 3448 -(3448) found -[2103] Forked 3449 -(3449) found -[2102] Forked 3450 -(3450) found -[2101] Forked 3451 -(3451) found -[2100] Forked 3452 -(3452) found -[2099] Forked 3453 -(3453) found -[2098] Forked 3454 -(3454) found -[2097] Forked 3455 -(3455) found -[2096] Forked 3456 -(3456) found -[2095] Forked 3457 -(3457) found -[2094] Forked 3458 -(3458) found -[2093] Forked 3459 -(3459) found -[2092] Forked 3460 -(3460) found -[2091] Forked 3461 -(3461) found -[2090] Forked 3462 -(3462) found -[2089] Forked 3463 -(3463) found -[2088] Forked 3464 -(3464) found -[2087] Forked 3465 -[2086] Forked 3466 -(3465) found -(3466) found -[2085] Forked 3467 -[2084] Forked 3468 -(3467) found -(3468) found -[2083] Forked 3469 -[2082] Forked 3470 -(3469) found -(3470) found -[2081] Forked 3471 -[2080] Forked 3472 -(3471) found -(3472) found -[2079] Forked 3473 -[2078] Forked 3474 -(3473) found -(3474) found -[2077] Forked 3475 -[2076] Forked 3476 -(3475) found -(3476) found -[2075] Forked 3477 -[2074] Forked 3478 -(3477) found -(3478) found -[2073] Forked 3479 -[2072] Forked 3480 -(3480) found -(3479) found -[2071] Forked 3481 -(3481) found -[2070] Forked 3482 -(3482) found -[2069] Forked 3483 -(3483) found -[2068] Forked 3484 -(3484) found -[2067] Forked 3485 -(3485) found -[2066] Forked 3486 -(3486) found -[2065] Forked 3487 -(3487) found -[2064] Forked 3488 -(3488) found -[2063] Forked 3489 -(3489) found -[2062] Forked 3490 -(3490) found -[2061] Forked 3491 -(3491) found -[2060] Forked 3492 -(3492) found -[2059] Forked 3493 -[2058] Forked 3494 -(3493) found -(3494) found -[2057] Forked 3495 -[2056] Forked 3496 -(3495) found -(3496) found -[2055] Forked 3497 -(3497) found -[2054] Forked 3498 -(3498) found -[2053] Forked 3499 -(3499) found -[2052] Forked 3500 -(3500) found -[2051] Forked 3501 -(3501) found -[2050] Forked 3502 -(3502) found -[2049] Forked 3503 -(3503) found -[2048] Forked 3504 -(3504) found -[2047] Forked 3505 -(3505) found -[2046] Forked 3506 -(3506) found -[2045] Forked 3507 -(3507) found -[2044] Forked 3508 -(3508) found -[2043] Forked 3509 -(3509) found -[2042] Forked 3510 -(3510) found -[2041] Forked 3511 -(3511) found -[2040] Forked 3512 -(3512) found -[2039] Forked 3513 -(3513) found -[2038] Forked 3514 -(3514) found -[2037] Forked 3515 -(3515) found -[2036] Forked 3516 -(3516) found -[2035] Forked 3517 -(3517) found -[2034] Forked 3518 -(3518) found -[2033] Forked 3519 -(3519) found -[2032] Forked 3520 -(3520) found -[2031] Forked 3521 -(3521) found -[2030] Forked 3522 -(3522) found -[2029] Forked 3523 -(3523) found -[2028] Forked 3524 -(3524) found -[2027] Forked 3525 -(3525) found -[2026] Forked 3526 -(3526) found -[2025] Forked 3527 -(3527) found -[2024] Forked 3528 -(3528) found -[2023] Forked 3529 -(3529) found -[2022] Forked 3530 -(3530) found -[2021] Forked 3531 -(3531) found -[2020] Forked 3532 -(3532) found -[2019] Forked 3533 -(3533) found -[2018] Forked 3534 -[2017] Forked 3535 -(3534) found -(3535) found -[2016] Forked 3536 -[2015] Forked 3537 -(3536) found -(3537) found -[2014] Forked 3538 -[2013] Forked 3539 -(3538) found -(3539) found -[2012] Forked 3540 -[2011] Forked 3541 -(3540) found -(3541) found -[2010] Forked 3542 -[2009] Forked 3543 -(3542) found -(3543) found -[2008] Forked 3544 -[2007] Forked 3545 -(3544) found -(3545) found -[2006] Forked 3546 -[2005] Forked 3548 -(3546) found -(3548) found -[2004] Forked 3549 -(3549) found -[2003] Forked 3550 -(3550) found -[2002] Forked 3551 -(3551) found -[2001] Forked 3552 -(3552) found -[2000] Forked 3553 -(3553) found -[1999] Forked 3554 -(3554) found -[1998] Forked 3555 -(3555) found -[1997] Forked 3556 -(3556) found -[1996] Forked 3557 -(3557) found -[1995] Forked 3558 -(3558) found -[1994] Forked 3559 -(3559) found -[1993] Forked 3560 -(3560) found -[1992] Forked 3561 -(3561) found -[1991] Forked 3562 -(3562) found -[1990] Forked 3563 -(3563) found -[1989] Forked 3564 -(3564) found -[1988] Forked 3565 -(3565) found -[1987] Forked 3566 -(3566) found -[1986] Forked 3567 -(3567) found -[1985] Forked 3568 -(3568) found -[1984] Forked 3569 -(3569) found -[1983] Forked 3570 -(3570) found -[1982] Forked 3571 -(3571) found -[1981] Forked 3572 -(3572) found -[1980] Forked 3573 -(3573) found -[1979] Forked 3574 -(3574) found -[1978] Forked 3575 -(3575) found -[1977] Forked 3576 -(3576) found -[1976] Forked 3577 -(3577) found -[1975] Forked 3578 -(3578) found -[1974] Forked 3579 -(3579) found -[1973] Forked 3580 -(3580) found -[1972] Forked 3581 -(3581) found -[1971] Forked 3582 -(3582) found -[1970] Forked 3583 -(3583) found -[1969] Forked 3584 -(3584) found -[1968] Forked 3585 -(3585) found -[1967] Forked 3586 -(3586) found -[1966] Forked 3587 -(3587) found -[1965] Forked 3588 -(3588) found -[1964] Forked 3589 -(3589) found -[1963] Forked 3590 -(3590) found -[1962] Forked 3591 -(3591) found -[1961] Forked 3592 -(3592) found -[1960] Forked 3593 -(3593) found -[1959] Forked 3594 -(3594) found -[1958] Forked 3595 -(3595) found -[1957] Forked 3596 -(3596) found -[1956] Forked 3597 -(3597) found -[1955] Forked 3598 -(3598) found -[1954] Forked 3599 -(3599) found -[1953] Forked 3600 -(3600) found -[1952] Forked 3601 -(3601) found -[1951] Forked 3602 -(3602) found -[1950] Forked 3603 -(3603) found -[1949] Forked 3604 -(3604) found -[1948] Forked 3605 -(3605) found -[1947] Forked 3606 -(3606) found -[1946] Forked 3607 -(3607) found -[1945] Forked 3608 -[1944] Forked 3609 -(3608) found -(3609) found -[1943] Forked 3610 -[1942] Forked 3611 -(3610) found -(3611) found -[1941] Forked 3612 -[1940] Forked 3613 -(3612) found -(3613) found -[1939] Forked 3614 -[1938] Forked 3615 -(3614) found -(3615) found -[1937] Forked 3616 -[1936] Forked 3617 -(3616) found -(3617) found -[1935] Forked 3618 -[1934] Forked 3619 -(3618) found -(3619) found -[1933] Forked 3620 -[1932] Forked 3621 -(3620) found -(3621) found -[1931] Forked 3622 -[1930] Forked 3623 -(3622) found -(3623) found -[1929] Forked 3624 -[1928] Forked 3625 -(3624) found -(3625) found -[1927] Forked 3626 -[1926] Forked 3627 -(3626) found -(3627) found -[1925] Forked 3628 -[1924] Forked 3629 -(3628) found -(3629) found -[1923] Forked 3630 -[1922] Forked 3631 -(3630) found -(3631) found -[1921] Forked 3632 -[1920] Forked 3633 -(3632) found -(3633) found -[1919] Forked 3634 -[1918] Forked 3635 -(3634) found -(3635) found -[1917] Forked 3636 -[1916] Forked 3637 -(3636) found -(3637) found -[1915] Forked 3638 -[1914] Forked 3639 -(3638) found -(3639) found -[1913] Forked 3640 -[1912] Forked 3641 -(3640) found -(3641) found -[1911] Forked 3642 -[1910] Forked 3643 -(3642) found -(3643) found -[1909] Forked 3644 -[1908] Forked 3645 -(3644) found -(3645) found -[1907] Forked 3646 -[1906] Forked 3647 -(3646) found -(3647) found -[1905] Forked 3648 -[1904] Forked 3649 -(3648) found -(3649) found -[1903] Forked 3650 -[1902] Forked 3651 -(3650) found -(3651) found -[1901] Forked 3652 -(3652) found -[1900] Forked 3653 -(3653) found -[1899] Forked 3654 -(3654) found -[1898] Forked 3655 -(3655) found -[1897] Forked 3656 -(3656) found -[1896] Forked 3658 -(3658) found -[1895] Forked 3659 -(3659) found -[1894] Forked 3660 -(3660) found -[1893] Forked 3661 -(3661) found -[1892] Forked 3662 -(3662) found -[1891] Forked 3663 -(3663) found -[1890] Forked 3664 -(3664) found -[1889] Forked 3665 -(3665) found -[1888] Forked 3666 -(3666) found -[1887] Forked 3667 -(3667) found -[1886] Forked 3669 -(3669) found -[1885] Forked 3670 -(3670) found -[1884] Forked 3671 -(3671) found -[1883] Forked 3672 -(3672) found -[1882] Forked 3673 -(3673) found -[1881] Forked 3674 -(3674) found -[1880] Forked 3675 -(3675) found -[1879] Forked 3676 -(3676) found -[1878] Forked 3677 -(3677) found -[1877] Forked 3678 -(3678) found -[1876] Forked 3679 -(3679) found -[1875] Forked 3680 -(3680) found -[1874] Forked 3681 -(3681) found -[1873] Forked 3682 -(3682) found -[1872] Forked 3683 -(3683) found -[1871] Forked 3684 -(3684) found -[1870] Forked 3685 -(3685) found -[1869] Forked 3686 -(3686) found -[1868] Forked 3687 -(3687) found -[1867] Forked 3688 -(3688) found -[1866] Forked 3689 -(3689) found -[1865] Forked 3690 -(3690) found -[1864] Forked 3691 -(3691) found -[1863] Forked 3692 -[1862] Forked 3693 -(3692) found -(3693) found -[1861] Forked 3694 -[1860] Forked 3695 -(3694) found -(3695) found -[1859] Forked 3696 -[1858] Forked 3697 -(3696) found -(3697) found -[1857] Forked 3698 -[1856] Forked 3699 -(3698) found -(3699) found -[1855] Forked 3700 -[1854] Forked 3701 -(3700) found -(3701) found -[1853] Forked 3702 -[1852] Forked 3703 -(3702) found -(3703) found -[1851] Forked 3704 -[1850] Forked 3705 -(3704) found -(3705) found -[1849] Forked 3706 -[1848] Forked 3707 -(3706) found -(3707) found -[1847] Forked 3708 -[1846] Forked 3709 -(3708) found -(3709) found -[1845] Forked 3710 -[1844] Forked 3711 -(3710) found -(3711) found -[1843] Forked 3712 -[1842] Forked 3713 -(3712) found -(3713) found -[1841] Forked 3714 -[1840] Forked 3715 -(3714) found -(3715) found -[1839] Forked 3716 -[1838] Forked 3717 -(3716) found -(3717) found -[1837] Forked 3718 -[1836] Forked 3719 -(3718) found -(3719) found -[1835] Forked 3720 -[1834] Forked 3721 -(3720) found -(3721) found -[1833] Forked 3722 -[1832] Forked 3723 -(3722) found -(3723) found -[1831] Forked 3724 -[1830] Forked 3725 -(3724) found -(3725) found -[1829] Forked 3726 -[1828] Forked 3727 -(3726) found -(3727) found -[1827] Forked 3728 -[1826] Forked 3729 -(3728) found -(3729) found -[1825] Forked 3730 -[1824] Forked 3731 -(3730) found -(3731) found -[1823] Forked 3732 -[1822] Forked 3733 -(3732) found -(3733) found -[1821] Forked 3734 -[1820] Forked 3735 -(3735) found -(3734) found -[1819] Forked 3736 -(3736) found -[1818] Forked 3737 -(3737) found -[1817] Forked 3738 -(3738) found -[1816] Forked 3739 -(3739) found -[1815] Forked 3740 -(3740) found -[1814] Forked 3741 -(3741) found -[1813] Forked 3742 -(3742) found -[1812] Forked 3743 -(3743) found -[1811] Forked 3744 -(3744) found -[1810] Forked 3745 -(3745) found -[1809] Forked 3746 -(3746) found -[1808] Forked 3747 -(3747) found -[1807] Forked 3748 -(3748) found -[1806] Forked 3749 -(3749) found -[1805] Forked 3750 -(3750) found -[1804] Forked 3751 -(3751) found -[1803] Forked 3752 -(3752) found -[1802] Forked 3753 -(3753) found -[1801] Forked 3754 -(3754) found -[1800] Forked 3755 -(3755) found -[1799] Forked 3756 -(3756) found -[1798] Forked 3757 -(3757) found -[1797] Forked 3758 -(3758) found -[1796] Forked 3759 -(3759) found -[1795] Forked 3760 -(3760) found -[1794] Forked 3761 -(3761) found -[1793] Forked 3762 -(3762) found -[1792] Forked 3763 -(3763) found -[1791] Forked 3764 -(3764) found -[1790] Forked 3765 -(3765) found -[1789] Forked 3766 -(3766) found -[1788] Forked 3767 -(3767) found -[1787] Forked 3768 -(3768) found -[1786] Forked 3769 -(3769) found -[1785] Forked 3770 -(3770) found -[1784] Forked 3771 -(3771) found -[1783] Forked 3772 -(3772) found -[1782] Forked 3773 -(3773) found -[1781] Forked 3774 -[1780] Forked 3775 -(3774) found -(3775) found -[1779] Forked 3776 -[1778] Forked 3777 -(3776) found -(3777) found -[1777] Forked 3778 -[1776] Forked 3779 -(3778) found -(3779) found -[1775] Forked 3780 -[1774] Forked 3781 -(3780) found -(3781) found -[1773] Forked 3782 -[1772] Forked 3783 -(3782) found -(3783) found -[1771] Forked 3784 -[1770] Forked 3785 -(3784) found -(3785) found -[1769] Forked 3786 -[1768] Forked 3787 -(3786) found -(3787) found -[1767] Forked 3788 -[1766] Forked 3789 -(3788) found -(3789) found -[1765] Forked 3790 -[1764] Forked 3791 -(3790) found -(3791) found -[1763] Forked 3792 -[1762] Forked 3793 -(3792) found -(3793) found -[1761] Forked 3794 -[1760] Forked 3795 -(3794) found -(3795) found -[1759] Forked 3796 -[1758] Forked 3797 -(3796) found -(3797) found -[1757] Forked 3798 -[1756] Forked 3799 -(3798) found -(3799) found -[1755] Forked 3800 -[1754] Forked 3801 -(3800) found -(3801) found -[1753] Forked 3802 -[1752] Forked 3803 -(3802) found -(3803) found -[1751] Forked 3804 -[1750] Forked 3805 -(3804) found -(3805) found -[1749] Forked 3806 -[1748] Forked 3807 -(3806) found -(3807) found -[1747] Forked 3808 -[1746] Forked 3809 -(3808) found -(3809) found -[1745] Forked 3810 -[1744] Forked 3811 -(3810) found -(3811) found -[1743] Forked 3812 -[1742] Forked 3814 -(3812) found -(3814) found -[1741] Forked 3815 -[1740] Forked 3816 -(3815) found -(3816) found -[1739] Forked 3817 -(3817) found -[1738] Forked 3818 -(3818) found -[1737] Forked 3819 -(3819) found -[1736] Forked 3820 -(3820) found -[1735] Forked 3821 -(3821) found -[1734] Forked 3822 -(3822) found -[1733] Forked 3823 -(3823) found -[1732] Forked 3824 -(3824) found -[1731] Forked 3825 -(3825) found -[1730] Forked 3826 -(3826) found -[1729] Forked 3827 -(3827) found -[1728] Forked 3828 -(3828) found -[1727] Forked 3829 -(3829) found -[1726] Forked 3830 -(3830) found -[1725] Forked 3831 -(3831) found -[1724] Forked 3832 -(3832) found -[1723] Forked 3833 -(3833) found -[1722] Forked 3834 -(3834) found -[1721] Forked 3835 -(3835) found -[1720] Forked 3836 -(3836) found -[1719] Forked 3837 -(3837) found -[1718] Forked 3838 -(3838) found -[1717] Forked 3839 -(3839) found -[1716] Forked 3840 -(3840) found -[1715] Forked 3841 -(3841) found -[1714] Forked 3842 -(3842) found -[1713] Forked 3843 -(3843) found -[1712] Forked 3844 -(3844) found -[1711] Forked 3845 -(3845) found -[1710] Forked 3846 -(3846) found -[1709] Forked 3847 -(3847) found -[1708] Forked 3848 -(3848) found -[1707] Forked 3849 -(3849) found -[1706] Forked 3850 -(3850) found -[1705] Forked 3851 -(3851) found -[1704] Forked 3852 -(3852) found -[1703] Forked 3853 -(3853) found -[1702] Forked 3854 -(3854) found -[1701] Forked 3855 -(3855) found -[1700] Forked 3856 -[1699] Forked 3857 -(3856) found -(3857) found -[1698] Forked 3858 -[1697] Forked 3859 -(3858) found -(3859) found -[1696] Forked 3860 -[1695] Forked 3861 -(3860) found -(3861) found -[1694] Forked 3862 -[1693] Forked 3863 -(3862) found -(3863) found -[1692] Forked 3864 -[1691] Forked 3865 -(3864) found -(3865) found -[1690] Forked 3866 -[1689] Forked 3867 -(3866) found -(3867) found -[1688] Forked 3868 -[1687] Forked 3869 -(3868) found -(3869) found -[1686] Forked 3870 -[1685] Forked 3871 -(3870) found -(3871) found -[1684] Forked 3872 -[1683] Forked 3873 -(3872) found -(3873) found -[1682] Forked 3874 -[1681] Forked 3875 -(3874) found -(3875) found -[1680] Forked 3876 -[1679] Forked 3877 -(3876) found -(3877) found -[1678] Forked 3878 -[1677] Forked 3879 -(3878) found -(3879) found -[1676] Forked 3880 -[1675] Forked 3881 -(3880) found -(3881) found -[1674] Forked 3882 -[1673] Forked 3883 -(3882) found -(3883) found -[1672] Forked 3884 -[1671] Forked 3885 -(3884) found -(3885) found -[1670] Forked 3886 -[1669] Forked 3887 -(3886) found -(3887) found -[1668] Forked 3888 -[1667] Forked 3889 -(3888) found -(3889) found -[1666] Forked 3890 -[1665] Forked 3891 -(3890) found -(3891) found -[1664] Forked 3892 -[1663] Forked 3893 -(3892) found -(3893) found -[1662] Forked 3894 -[1661] Forked 3896 -(3894) found -(3896) found -[1660] Forked 3897 -(3897) found -[1659] Forked 3898 -(3898) found -[1658] Forked 3899 -(3899) found -[1657] Forked 3900 -(3900) found -[1656] Forked 3901 -(3901) found -[1655] Forked 3902 -(3902) found -[1654] Forked 3903 -(3903) found -[1653] Forked 3904 -(3904) found -[1652] Forked 3905 -(3905) found -[1651] Forked 3906 -(3906) found -[1650] Forked 3907 -(3907) found -[1649] Forked 3908 -(3908) found -[1648] Forked 3909 -(3909) found -[1647] Forked 3910 -(3910) found -[1646] Forked 3911 -(3911) found -[1645] Forked 3912 -(3912) found -[1644] Forked 3913 -(3913) found -[1643] Forked 3914 -(3914) found -[1642] Forked 3915 -(3915) found -[1641] Forked 3916 -(3916) found -[1640] Forked 3917 -(3917) found -[1639] Forked 3919 -(3919) found -[1638] Forked 3920 -(3920) found -[1637] Forked 3921 -(3921) found -[1636] Forked 3922 -(3922) found -[1635] Forked 3923 -(3923) found -[1634] Forked 3924 -(3924) found -[1633] Forked 3925 -(3925) found -[1632] Forked 3926 -(3926) found -[1631] Forked 3927 -(3927) found -[1630] Forked 3928 -(3928) found -[1629] Forked 3929 -(3929) found -[1628] Forked 3930 -(3930) found -[1627] Forked 3931 -(3931) found -[1626] Forked 3932 -(3932) found -[1625] Forked 3933 -(3933) found -[1624] Forked 3934 -(3934) found -[1623] Forked 3935 -(3935) found -[1622] Forked 3936 -(3936) found -[1621] Forked 3937 -(3937) found -[1620] Forked 3938 -(3938) found -[1619] Forked 3939 -(3939) found -[1618] Forked 3940 -(3940) found -[1617] Forked 3941 -(3941) found -[1616] Forked 3942 -(3942) found -[1615] Forked 3943 -(3943) found -[1614] Forked 3944 -(3944) found -[1613] Forked 3945 -(3945) found -[1612] Forked 3946 -(3946) found -[1611] Forked 3947 -(3947) found -[1610] Forked 3948 -(3948) found -[1609] Forked 3949 -(3949) found -[1608] Forked 3950 -(3950) found -[1607] Forked 3951 -(3951) found -[1606] Forked 3952 -(3952) found -[1605] Forked 3953 -(3953) found -[1604] Forked 3954 -(3954) found -[1603] Forked 3955 -(3955) found -[1602] Forked 3956 -(3956) found -[1601] Forked 3957 -(3957) found -[1600] Forked 3958 -(3958) found -[1599] Forked 3959 -(3959) found -[1598] Forked 3960 -(3960) found -[1597] Forked 3961 -(3961) found -[1596] Forked 3962 -(3962) found -[1595] Forked 3963 -(3963) found -[1594] Forked 3964 -(3964) found -[1593] Forked 3965 -(3965) found -[1592] Forked 3966 -(3966) found -[1591] Forked 3967 -(3967) found -[1590] Forked 3968 -(3968) found -[1589] Forked 3969 -[1588] Forked 3970 -(3969) found -(3970) found -[1587] Forked 3971 -[1586] Forked 3972 -(3971) found -(3972) found -[1585] Forked 3973 -[1584] Forked 3974 -(3973) found -(3974) found -[1583] Forked 3975 -[1582] Forked 3976 -(3975) found -(3976) found -[1581] Forked 3977 -[1580] Forked 3978 -(3977) found -(3978) found -[1579] Forked 3979 -[1578] Forked 3980 -(3979) found -(3980) found -[1577] Forked 3981 -[1576] Forked 3982 -(3981) found -(3982) found -[1575] Forked 3983 -[1574] Forked 3984 -(3983) found -(3984) found -[1573] Forked 3985 -[1572] Forked 3986 -(3985) found -(3986) found -[1571] Forked 3987 -[1570] Forked 3988 -(3987) found -(3988) found -[1569] Forked 3989 -[1568] Forked 3990 -(3989) found -(3990) found -[1567] Forked 3991 -[1566] Forked 3992 -(3991) found -(3992) found -[1565] Forked 3993 -[1564] Forked 3994 -(3993) found -(3994) found -[1563] Forked 3995 -[1562] Forked 3996 -(3995) found -(3996) found -[1561] Forked 3997 -[1560] Forked 3998 -(3997) found -(3998) found -[1559] Forked 3999 -[1558] Forked 4000 -(3999) found -(4000) found -[1557] Forked 4001 -[1556] Forked 4002 -(4001) found -(4002) found -[1555] Forked 4003 -[1554] Forked 4004 -(4003) found -(4004) found -[1553] Forked 4005 -[1552] Forked 4006 -(4005) found -(4006) found -[1551] Forked 4007 -[1550] Forked 4008 -(4007) found -(4008) found -[1549] Forked 4009 -[1548] Forked 4010 -(4009) found -(4010) found -[1547] Forked 4011 -[1546] Forked 4012 -(4011) found -(4012) found -[1545] Forked 4013 -[1544] Forked 4015 -(4013) found -(4015) found -[1543] Forked 4016 -(4016) found -[1542] Forked 4017 -(4017) found -[1541] Forked 4018 -(4018) found -[1540] Forked 4019 -(4019) found -[1539] Forked 4020 -(4020) found -[1538] Forked 4021 -(4021) found -[1537] Forked 4022 -(4022) found -[1536] Forked 4023 -(4023) found -[1535] Forked 4024 -(4024) found -[1534] Forked 4025 -(4025) found -[1533] Forked 4026 -(4026) found -[1532] Forked 4028 -(4028) found -[1531] Forked 4029 -(4029) found -[1530] Forked 4030 -(4030) found -[1529] Forked 4031 -(4031) found -[1528] Forked 4032 -(4032) found -[1527] Forked 4034 -(4034) found -[1526] Forked 4035 -(4035) found -[1525] Forked 4036 -(4036) found -[1524] Forked 4037 -(4037) found -[1523] Forked 4038 -(4038) found -[1522] Forked 4039 -(4039) found -[1521] Forked 4040 -(4040) found -[1520] Forked 4041 -(4041) found -[1519] Forked 4042 -(4042) found -[1518] Forked 4043 -(4043) found -[1517] Forked 4044 -(4044) found -[1516] Forked 4045 -(4045) found -[1515] Forked 4046 -(4046) found -[1514] Forked 4047 -(4047) found -[1513] Forked 4048 -(4048) found -[1512] Forked 4049 -(4049) found -[1511] Forked 4052 -(4052) found -[1510] Forked 4053 -(4053) found -[1509] Forked 4054 -(4054) found -[1508] Forked 4055 -(4055) found -[1507] Forked 4056 -[1506] Forked 4057 -(4056) found -(4057) found -[1505] Forked 4058 -[1504] Forked 4059 -(4058) found -(4059) found -[1503] Forked 4060 -[1502] Forked 4061 -(4060) found -(4061) found -[1501] Forked 4062 -[1500] Forked 4063 -(4062) found -(4063) found -[1499] Forked 4064 -[1498] Forked 4065 -(4064) found -(4065) found -[1497] Forked 4066 -[1496] Forked 4067 -(4066) found -(4067) found -[1495] Forked 4068 -[1494] Forked 4069 -(4068) found -(4069) found -[1493] Forked 4070 -[1492] Forked 4071 -(4070) found -(4071) found -[1491] Forked 4072 -[1490] Forked 4074 -(4072) found -(4074) found -[1489] Forked 4075 -[1488] Forked 4076 -(4075) found -(4076) found -[1487] Forked 4077 -[1486] Forked 4078 -(4077) found -(4078) found -[1485] Forked 4079 -[1484] Forked 4080 -(4079) found -(4080) found -[1483] Forked 4081 -[1482] Forked 4082 -(4081) found -(4082) found -[1481] Forked 4083 -[1480] Forked 4086 -(4083) found -(4086) found -[1479] Forked 4088 -[1478] Forked 4089 -(4088) found -(4089) found -[1477] Forked 4090 -[1476] Forked 4093 -(4090) found -(4093) found -[1475] Forked 4095 -[1474] Forked 4096 -(4095) found -(4096) found -[1473] Forked 4097 -[1472] Forked 4098 -(4097) found -(4098) found -[1471] Forked 4099 -[1470] Forked 4100 -(4099) found -(4100) found -[1469] Forked 4101 -[1468] Forked 4102 -(4101) found -(4102) found -[1467] Forked 4103 -[1466] Forked 4104 -(4103) found -(4104) found -[1465] Forked 4105 -[1464] Forked 4106 -(4105) found -(4106) found -[1463] Forked 4107 -[1462] Forked 4108 -(4107) found -(4108) found -[1461] Forked 4109 -[1460] Forked 4110 -(4109) found -(4110) found -[1459] Forked 4111 -[1458] Forked 4112 -(4111) found -(4112) found -[1457] Forked 4113 -[1456] Forked 4114 -(4113) found -(4114) found -[1455] Forked 4115 -[1454] Forked 4116 -(4115) found -(4116) found -[1453] Forked 4117 -[1452] Forked 4118 -(4117) found -(4118) found -[1451] Forked 4119 -[1450] Forked 4120 -(4119) found -(4120) found -[1449] Forked 4121 -[1448] Forked 4122 -(4121) found -(4122) found -[1447] Forked 4123 -[1446] Forked 4124 -(4123) found -(4124) found -[1445] Forked 4125 -[1444] Forked 4126 -(4125) found -(4126) found -[1443] Forked 4127 -[1442] Forked 4128 -(4127) found -(4128) found -[1441] Forked 4129 -[1440] Forked 4130 -(4129) found -(4130) found -[1439] Forked 4131 -[1438] Forked 4132 -(4131) found -(4132) found -[1437] Forked 4133 -[1436] Forked 4134 -(4133) found -(4134) found -[1435] Forked 4135 -[1434] Forked 4136 -(4135) found -(4136) found -[1433] Forked 4137 -[1432] Forked 4138 -(4137) found -(4138) found -[1431] Forked 4139 -[1430] Forked 4140 -(4139) found -(4140) found -[1429] Forked 4141 -[1428] Forked 4142 -(4141) found -(4142) found -[1427] Forked 4143 -[1426] Forked 4144 -(4143) found -(4144) found -[1425] Forked 4145 -[1424] Forked 4146 -(4145) found -(4146) found -[1423] Forked 4147 -[1422] Forked 4148 -(4147) found -(4148) found -[1421] Forked 4149 -[1420] Forked 4150 -(4149) found -(4150) found -[1419] Forked 4151 -[1418] Forked 4152 -(4151) found -(4152) found -[1417] Forked 4153 -(4153) found -[1416] Forked 4154 -(4154) found -[1415] Forked 4155 -(4155) found -[1414] Forked 4156 -(4156) found -[1413] Forked 4157 -(4157) found -[1412] Forked 4158 -(4158) found -[1411] Forked 4159 -(4159) found -[1410] Forked 4160 -(4160) found -[1409] Forked 4161 -(4161) found -[1408] Forked 4162 -(4162) found -[1407] Forked 4163 -(4163) found -[1406] Forked 4164 -(4164) found -[1405] Forked 4165 -(4165) found -[1404] Forked 4166 -(4166) found -[1403] Forked 4167 -(4167) found -[1402] Forked 4168 -(4168) found -[1401] Forked 4169 -(4169) found -[1400] Forked 4170 -(4170) found -[1399] Forked 4171 -(4171) found -[1398] Forked 4172 -(4172) found -[1397] Forked 4173 -(4173) found -[1396] Forked 4174 -(4174) found -[1395] Forked 4175 -(4175) found -[1394] Forked 4176 -(4176) found -[1393] Forked 4177 -(4177) found -[1392] Forked 4178 -(4178) found -[1391] Forked 4179 -(4179) found -[1390] Forked 4180 -(4180) found -[1389] Forked 4181 -(4181) found -[1388] Forked 4182 -(4182) found -[1387] Forked 4183 -(4183) found -[1386] Forked 4184 -(4184) found -[1385] Forked 4185 -(4185) found -[1384] Forked 4186 -(4186) found -[1383] Forked 4187 -(4187) found -[1382] Forked 4188 -(4188) found -[1381] Forked 4189 -(4189) found -[1380] Forked 4190 -(4190) found -[1379] Forked 4191 -[1378] Forked 4192 -(4191) found -(4192) found -[1377] Forked 4193 -[1376] Forked 4194 -(4193) found -(4194) found -[1375] Forked 4195 -[1374] Forked 4196 -(4195) found -(4196) found -[1373] Forked 4197 -[1372] Forked 4198 -(4197) found -(4198) found -[1371] Forked 4199 -[1370] Forked 4200 -(4199) found -(4200) found -[1369] Forked 4201 -[1368] Forked 4202 -(4201) found -(4202) found -[1367] Forked 4203 -[1366] Forked 4204 -(4203) found -(4204) found -[1365] Forked 4205 -[1364] Forked 4206 -(4205) found -(4206) found -[1363] Forked 4207 -[1362] Forked 4208 -(4207) found -(4208) found -[1361] Forked 4209 -[1360] Forked 4210 -(4209) found -(4210) found -[1359] Forked 4211 -[1358] Forked 4212 -(4211) found -(4212) found -[1357] Forked 4213 -[1356] Forked 4214 -(4213) found -(4214) found -[1355] Forked 4215 -[1354] Forked 4216 -(4215) found -(4216) found -[1353] Forked 4217 -[1352] Forked 4218 -(4217) found -(4218) found -[1351] Forked 4219 -[1350] Forked 4220 -(4219) found -(4220) found -[1349] Forked 4221 -[1348] Forked 4222 -(4221) found -(4222) found -[1347] Forked 4223 -[1346] Forked 4224 -(4223) found -(4224) found -[1345] Forked 4225 -[1344] Forked 4226 -(4225) found -(4226) found -[1343] Forked 4227 -[1342] Forked 4228 -(4227) found -(4228) found -[1341] Forked 4229 -(4229) found -[1340] Forked 4230 -[1339] Forked 4231 -(4230) found -(4231) found -[1338] Forked 4232 -[1337] Forked 4233 -(4232) found -(4233) found -[1336] Forked 4234 -(4234) found -[1335] Forked 4235 -(4235) found -[1334] Forked 4236 -(4236) found -[1333] Forked 4237 -(4237) found -[1332] Forked 4238 -(4238) found -[1331] Forked 4239 -(4239) found -[1330] Forked 4240 -(4240) found -[1329] Forked 4242 -(4242) found -[1328] Forked 4243 -(4243) found -[1327] Forked 4244 -(4244) found -[1326] Forked 4245 -(4245) found -[1325] Forked 4247 -(4247) found -[1324] Forked 4248 -(4248) found -[1323] Forked 4249 -(4249) found -[1322] Forked 4250 -(4250) found -[1321] Forked 4251 -(4251) found -[1320] Forked 4252 -(4252) found -[1319] Forked 4254 -(4254) found -[1318] Forked 4255 -(4255) found -[1317] Forked 4256 -(4256) found -[1316] Forked 4257 -(4257) found -[1315] Forked 4258 -(4258) found -[1314] Forked 4259 -(4259) found -[1313] Forked 4260 -(4260) found -[1312] Forked 4261 -(4261) found -[1311] Forked 4262 -(4262) found -[1310] Forked 4263 -(4263) found -[1309] Forked 4264 -(4264) found -[1308] Forked 4265 -(4265) found -[1307] Forked 4266 -(4266) found -[1306] Forked 4267 -(4267) found -[1305] Forked 4268 -(4268) found -[1304] Forked 4269 -(4269) found -[1303] Forked 4270 -(4270) found -[1302] Forked 4271 -(4271) found -[1301] Forked 4272 -(4272) found -[1300] Forked 4273 -(4273) found -[1299] Forked 4274 -(4274) found -[1298] Forked 4275 -(4275) found -[1297] Forked 4276 -[1296] Forked 4277 -(4276) found -(4277) found -[1295] Forked 4278 -[1294] Forked 4279 -(4278) found -(4279) found -[1293] Forked 4280 -[1292] Forked 4281 -(4280) found -(4281) found -[1291] Forked 4282 -[1290] Forked 4284 -(4282) found -(4284) found -[1289] Forked 4285 -[1288] Forked 4286 -(4285) found -(4286) found -[1287] Forked 4287 -[1286] Forked 4288 -(4287) found -(4288) found -[1285] Forked 4289 -[1284] Forked 4290 -(4290) found -(4289) found -[1283] Forked 4291 -(4291) found -[1282] Forked 4292 -(4292) found -[1281] Forked 4293 -(4293) found -[1280] Forked 4294 -(4294) found -[1279] Forked 4295 -(4295) found -[1278] Forked 4296 -(4296) found -[1277] Forked 4297 -(4297) found -[1276] Forked 4298 -(4298) found -[1275] Forked 4299 -(4299) found -[1274] Forked 4300 -(4300) found -[1273] Forked 4301 -(4301) found -[1272] Forked 4302 -(4302) found -[1271] Forked 4303 -(4303) found -[1270] Forked 4304 -(4304) found -[1269] Forked 4305 -(4305) found -[1268] Forked 4306 -(4306) found -[1267] Forked 4307 -(4307) found -[1266] Forked 4308 -(4308) found -[1265] Forked 4309 -(4309) found -[1264] Forked 4310 -(4310) found -[1263] Forked 4311 -(4311) found -[1262] Forked 4312 -(4312) found -[1261] Forked 4313 -(4313) found -[1260] Forked 4314 -(4314) found -[1259] Forked 4315 -(4315) found -[1258] Forked 4316 -(4316) found -[1257] Forked 4317 -(4317) found -[1256] Forked 4318 -(4318) found -[1255] Forked 4319 -(4319) found -[1254] Forked 4320 -(4320) found -[1253] Forked 4321 -(4321) found -[1252] Forked 4322 -(4322) found -[1251] Forked 4323 -(4323) found -[1250] Forked 4324 -(4324) found -[1249] Forked 4325 -(4325) found -[1248] Forked 4326 -(4326) found -[1247] Forked 4327 -(4327) found -[1246] Forked 4328 -(4328) found -[1245] Forked 4329 -(4329) found -[1244] Forked 4330 -(4330) found -[1243] Forked 4331 -(4331) found -[1242] Forked 4332 -(4332) found -[1241] Forked 4333 -(4333) found -[1240] Forked 4334 -(4334) found -[1239] Forked 4335 -(4335) found -[1238] Forked 4336 -(4336) found -[1237] Forked 4337 -(4337) found -[1236] Forked 4338 -(4338) found -[1235] Forked 4339 -(4339) found -[1234] Forked 4340 -(4340) found -[1233] Forked 4341 -(4341) found -[1232] Forked 4342 -(4342) found -[1231] Forked 4343 -(4343) found -[1230] Forked 4344 -(4344) found -[1229] Forked 4345 -(4345) found -[1228] Forked 4346 -(4346) found -[1227] Forked 4347 -(4347) found -[1226] Forked 4348 -(4348) found -[1225] Forked 4349 -[1224] Forked 4350 -(4349) found -(4350) found -[1223] Forked 4351 -[1222] Forked 4352 -(4351) found -(4352) found -[1221] Forked 4353 -[1220] Forked 4354 -(4353) found -(4354) found -[1219] Forked 4355 -[1218] Forked 4356 -(4355) found -(4356) found -[1217] Forked 4357 -[1216] Forked 4358 -(4357) found -(4358) found -[1215] Forked 4359 -[1214] Forked 4360 -(4359) found -(4360) found -[1213] Forked 4361 -[1212] Forked 4362 -(4361) found -(4362) found -[1211] Forked 4363 -[1210] Forked 4364 -(4363) found -(4364) found -[1209] Forked 4365 -[1208] Forked 4366 -(4365) found -(4366) found -[1207] Forked 4367 -[1206] Forked 4368 -(4367) found -(4368) found -[1205] Forked 4369 -[1204] Forked 4370 -(4369) found -(4370) found -[1203] Forked 4371 -[1202] Forked 4372 -(4371) found -(4372) found -[1201] Forked 4373 -[1200] Forked 4374 -(4373) found -(4374) found -[1199] Forked 4375 -[1198] Forked 4376 -(4375) found -(4376) found -[1197] Forked 4377 -[1196] Forked 4378 -(4377) found -(4378) found -[1195] Forked 4379 -[1194] Forked 4380 -(4379) found -(4380) found -[1193] Forked 4381 -[1192] Forked 4382 -(4381) found -(4382) found -[1191] Forked 4383 -[1190] Forked 4384 -(4383) found -(4384) found -[1189] Forked 4385 -[1188] Forked 4386 -(4385) found -(4386) found -[1187] Forked 4387 -[1186] Forked 4388 -(4387) found -(4388) found -[1185] Forked 4389 -[1184] Forked 4390 -(4389) found -(4390) found -[1183] Forked 4391 -[1182] Forked 4392 -(4391) found -(4392) found -[1181] Forked 4393 -(4393) found -[1180] Forked 4394 -(4394) found -[1179] Forked 4395 -(4395) found -[1178] Forked 4396 -(4396) found -[1177] Forked 4397 -(4397) found -[1176] Forked 4398 -(4398) found -[1175] Forked 4399 -(4399) found -[1174] Forked 4400 -(4400) found -[1173] Forked 4401 -(4401) found -[1172] Forked 4402 -(4402) found -[1171] Forked 4403 -(4403) found -[1170] Forked 4404 -(4404) found -[1169] Forked 4405 -(4405) found -[1168] Forked 4406 -(4406) found -[1167] Forked 4407 -(4407) found -[1166] Forked 4408 -(4408) found -[1165] Forked 4409 -(4409) found -[1164] Forked 4410 -(4410) found -[1163] Forked 4411 -(4411) found -[1162] Forked 4412 -(4412) found -[1161] Forked 4413 -(4413) found -[1160] Forked 4414 -(4414) found -[1159] Forked 4415 -(4415) found -[1158] Forked 4416 -(4416) found -[1157] Forked 4417 -(4417) found -[1156] Forked 4418 -(4418) found -[1155] Forked 4419 -(4419) found -[1154] Forked 4420 -(4420) found -[1153] Forked 4421 -(4421) found -[1152] Forked 4422 -(4422) found -[1151] Forked 4423 -(4423) found -[1150] Forked 4424 -(4424) found -[1149] Forked 4425 -(4425) found -[1148] Forked 4426 -(4426) found -[1147] Forked 4427 -(4427) found -[1146] Forked 4428 -(4428) found -[1145] Forked 4429 -(4429) found -[1144] Forked 4430 -(4430) found -[1143] Forked 4431 -[1142] Forked 4432 -(4431) found -(4432) found -[1141] Forked 4433 -[1140] Forked 4434 -(4433) found -(4434) found -[1139] Forked 4435 -[1138] Forked 4436 -(4435) found -(4436) found -[1137] Forked 4437 -[1136] Forked 4438 -(4437) found -(4438) found -[1135] Forked 4439 -[1134] Forked 4440 -(4439) found -(4440) found -[1133] Forked 4441 -[1132] Forked 4442 -(4441) found -(4442) found -[1131] Forked 4443 -[1130] Forked 4444 -(4443) found -(4444) found -[1129] Forked 4445 -[1128] Forked 4446 -(4445) found -(4446) found -[1127] Forked 4447 -[1126] Forked 4448 -(4447) found -(4448) found -[1125] Forked 4449 -[1124] Forked 4450 -(4449) found -(4450) found -[1123] Forked 4451 -[1122] Forked 4452 -(4451) found -(4452) found -[1121] Forked 4453 -[1120] Forked 4454 -(4453) found -(4454) found -[1119] Forked 4455 -[1118] Forked 4456 -(4455) found -(4456) found -[1117] Forked 4457 -[1116] Forked 4458 -(4457) found -(4458) found -[1115] Forked 4459 -[1114] Forked 4460 -(4459) found -(4460) found -[1113] Forked 4461 -[1112] Forked 4462 -(4461) found -(4462) found -[1111] Forked 4463 -[1110] Forked 4464 -(4463) found -(4464) found -[1109] Forked 4465 -[1108] Forked 4466 -(4465) found -(4466) found -[1107] Forked 4467 -[1106] Forked 4468 -(4467) found -(4468) found -[1105] Forked 4469 -[1104] Forked 4470 -(4469) found -(4470) found -[1103] Forked 4471 -[1102] Forked 4472 -(4471) found -(4472) found -[1101] Forked 4473 -[1100] Forked 4474 -(4473) found -(4474) found -[1099] Forked 4475 -(4475) found -[1098] Forked 4476 -(4476) found -[1097] Forked 4477 -(4477) found -[1096] Forked 4478 -(4478) found -[1095] Forked 4479 -(4479) found -[1094] Forked 4480 -(4480) found -[1093] Forked 4481 -(4481) found -[1092] Forked 4482 -(4482) found -[1091] Forked 4483 -(4483) found -[1090] Forked 4484 -(4484) found -[1089] Forked 4485 -(4485) found -[1088] Forked 4486 -(4486) found -[1087] Forked 4487 -(4487) found -[1086] Forked 4488 -(4488) found -[1085] Forked 4489 -(4489) found -[1084] Forked 4490 -(4490) found -[1083] Forked 4491 -(4491) found -[1082] Forked 4492 -(4492) found -[1081] Forked 4493 -(4493) found -[1080] Forked 4494 -(4494) found -[1079] Forked 4495 -(4495) found -[1078] Forked 4496 -(4496) found -[1077] Forked 4497 -(4497) found -[1076] Forked 4498 -(4498) found -[1075] Forked 4499 -(4499) found -[1074] Forked 4500 -(4500) found -[1073] Forked 4501 -(4501) found -[1072] Forked 4502 -(4502) found -[1071] Forked 4503 -(4503) found -[1070] Forked 4504 -(4504) found -[1069] Forked 4505 -(4505) found -[1068] Forked 4506 -(4506) found -[1067] Forked 4507 -(4507) found -[1066] Forked 4508 -(4508) found -[1065] Forked 4509 -(4509) found -[1064] Forked 4510 -(4510) found -[1063] Forked 4511 -(4511) found -[1062] Forked 4512 -(4512) found -[1061] Forked 4513 -(4513) found -[1060] Forked 4514 -[1059] Forked 4515 -(4514) found -(4515) found -[1058] Forked 4516 -[1057] Forked 4517 -(4516) found -(4517) found -[1056] Forked 4518 -[1055] Forked 4519 -(4518) found -(4519) found -[1054] Forked 4520 -[1053] Forked 4521 -(4520) found -(4521) found -[1052] Forked 4522 -[1051] Forked 4523 -(4522) found -(4523) found -[1050] Forked 4524 -[1049] Forked 4525 -(4524) found -(4525) found -[1048] Forked 4526 -[1047] Forked 4527 -(4526) found -(4527) found -[1046] Forked 4528 -[1045] Forked 4529 -(4528) found -(4529) found -[1044] Forked 4530 -[1043] Forked 4531 -(4530) found -(4531) found -[1042] Forked 4532 -[1041] Forked 4533 -(4532) found -(4533) found -[1040] Forked 4534 -(4534) found -[1039] Forked 4535 -(4535) found -[1038] Forked 4536 -[1037] Forked 4537 -(4536) found -(4537) found -[1036] Forked 4538 -[1035] Forked 4539 -(4538) found -(4539) found -[1034] Forked 4540 -[1033] Forked 4541 -(4540) found -(4541) found -[1032] Forked 4542 -[1031] Forked 4543 -(4542) found -(4543) found -[1030] Forked 4544 -[1029] Forked 4545 -(4544) found -(4545) found -[1028] Forked 4546 -[1027] Forked 4547 -(4546) found -(4547) found -[1026] Forked 4548 -[1025] Forked 4549 -(4548) found -(4549) found -[1024] Forked 4550 -[1023] Forked 4551 -(4550) found -(4551) found -[1022] Forked 4552 -[1021] Forked 4553 -(4552) found -(4553) found -[1020] Forked 4554 -[1019] Forked 4555 -(4554) found -(4555) found -[1018] Forked 4556 -(4556) found -[1017] Forked 4557 -(4557) found -[1016] Forked 4558 -(4558) found -[1015] Forked 4559 -(4559) found -[1014] Forked 4560 -(4560) found -[1013] Forked 4561 -(4561) found -[1012] Forked 4562 -(4562) found -[1011] Forked 4563 -(4563) found -[1010] Forked 4564 -(4564) found -[1009] Forked 4565 -(4565) found -[1008] Forked 4566 -(4566) found -[1007] Forked 4567 -(4567) found -[1006] Forked 4568 -(4568) found -[1005] Forked 4569 -(4569) found -[1004] Forked 4570 -(4570) found -[1003] Forked 4571 -(4571) found -[1002] Forked 4572 -(4572) found -[1001] Forked 4573 -(4573) found -[1000] Forked 4574 -(4574) found -[999] Forked 4575 -(4575) found -[998] Forked 4576 -(4576) found -[997] Forked 4577 -(4577) found -[996] Forked 4578 -(4578) found -[995] Forked 4579 -(4579) found -[994] Forked 4580 -(4580) found -[993] Forked 4581 -(4581) found -[992] Forked 4582 -(4582) found -[991] Forked 4583 -(4583) found -[990] Forked 4584 -(4584) found -[989] Forked 4585 -(4585) found -[988] Forked 4586 -(4586) found -[987] Forked 4587 -(4587) found -[986] Forked 4588 -(4588) found -[985] Forked 4589 -(4589) found -[984] Forked 4590 -(4590) found -[983] Forked 4591 -(4591) found -[982] Forked 4593 -(4593) found -[981] Forked 4594 -(4594) found -[980] Forked 4595 -(4595) found -[979] Forked 4596 -[978] Forked 4597 -(4596) found -(4597) found -[977] Forked 4598 -[976] Forked 4599 -(4598) found -(4599) found -[975] Forked 4600 -[974] Forked 4601 -(4600) found -(4601) found -[973] Forked 4602 -[972] Forked 4603 -(4602) found -(4603) found -[971] Forked 4604 -[970] Forked 4605 -(4604) found -(4605) found -[969] Forked 4606 -[968] Forked 4607 -(4606) found -(4607) found -[967] Forked 4608 -[966] Forked 4609 -(4608) found -(4609) found -[965] Forked 4610 -[964] Forked 4611 -(4610) found -(4611) found -[963] Forked 4612 -[962] Forked 4613 -(4612) found -(4613) found -[961] Forked 4614 -[960] Forked 4615 -(4614) found -(4615) found -[959] Forked 4616 -[958] Forked 4617 -(4616) found -(4617) found -[957] Forked 4618 -[956] Forked 4619 -(4618) found -(4619) found -[955] Forked 4620 -[954] Forked 4621 -(4620) found -(4621) found -[953] Forked 4622 -[952] Forked 4623 -(4623) found -(4622) found -[951] Forked 4624 -(4624) found -[950] Forked 4625 -(4625) found -[949] Forked 4626 -(4626) found -[948] Forked 4627 -(4627) found -[947] Forked 4628 -(4628) found -[946] Forked 4629 -(4629) found -[945] Forked 4630 -(4630) found -[944] Forked 4631 -(4631) found -[943] Forked 4632 -(4632) found -[942] Forked 4633 -[941] Forked 4634 -(4633) found -(4634) found -[940] Forked 4635 -[939] Forked 4636 -(4636) found -(4635) found -[938] Forked 4637 -(4637) found -[937] Forked 4638 -(4638) found -[936] Forked 4639 -(4639) found -[935] Forked 4640 -(4640) found -[934] Forked 4641 -(4641) found -[933] Forked 4642 -(4642) found -[932] Forked 4643 -(4643) found -[931] Forked 4644 -(4644) found -[930] Forked 4645 -(4645) found -[929] Forked 4646 -(4646) found -[928] Forked 4647 -(4647) found -[927] Forked 4648 -(4648) found -[926] Forked 4649 -(4649) found -[925] Forked 4650 -(4650) found -[924] Forked 4651 -(4651) found -[923] Forked 4652 -(4652) found -[922] Forked 4653 -(4653) found -[921] Forked 4654 -(4654) found -[920] Forked 4655 -(4655) found -[919] Forked 4656 -(4656) found -[918] Forked 4657 -(4657) found -[917] Forked 4658 -(4658) found -[916] Forked 4659 -(4659) found -[915] Forked 4660 -(4660) found -[914] Forked 4661 -(4661) found -[913] Forked 4662 -(4662) found -[912] Forked 4663 -(4663) found -[911] Forked 4664 -(4664) found -[910] Forked 4665 -(4665) found -[909] Forked 4666 -(4666) found -[908] Forked 4667 -(4667) found -[907] Forked 4668 -(4668) found -[906] Forked 4669 -(4669) found -[905] Forked 4670 -(4670) found -[904] Forked 4671 -(4671) found -[903] Forked 4672 -(4672) found -[902] Forked 4673 -(4673) found -[901] Forked 4674 -[900] Forked 4675 -(4674) found -(4675) found -[899] Forked 4676 -[898] Forked 4677 -(4676) found -(4677) found -[897] Forked 4678 -[896] Forked 4679 -(4678) found -(4679) found -[895] Forked 4680 -[894] Forked 4681 -(4680) found -(4681) found -[893] Forked 4682 -[892] Forked 4683 -(4682) found -(4683) found -[891] Forked 4684 -[890] Forked 4685 -(4684) found -(4685) found -[889] Forked 4686 -[888] Forked 4687 -(4686) found -(4687) found -[887] Forked 4688 -[886] Forked 4689 -(4688) found -(4689) found -[885] Forked 4690 -[884] Forked 4691 -(4690) found -(4691) found -[883] Forked 4692 -[882] Forked 4693 -(4692) found -(4693) found -[881] Forked 4694 -[880] Forked 4695 -(4694) found -(4695) found -[879] Forked 4696 -[878] Forked 4697 -(4696) found -(4697) found -[877] Forked 4698 -[876] Forked 4699 -(4698) found -(4699) found -[875] Forked 4700 -[874] Forked 4701 -(4700) found -(4701) found -[873] Forked 4702 -[872] Forked 4703 -(4702) found -(4703) found -[871] Forked 4704 -[870] Forked 4705 -(4704) found -(4705) found -[869] Forked 4706 -[868] Forked 4707 -(4706) found -(4707) found -[867] Forked 4708 -[866] Forked 4709 -(4708) found -(4709) found -[865] Forked 4710 -[864] Forked 4711 -(4710) found -(4711) found -[863] Forked 4712 -[862] Forked 4713 -(4712) found -(4713) found -[861] Forked 4714 -[860] Forked 4715 -(4714) found -(4715) found -[859] Forked 4716 -[858] Forked 4717 -(4716) found -(4717) found -[857] Forked 4718 -(4718) found -[856] Forked 4719 -(4719) found -[855] Forked 4720 -(4720) found -[854] Forked 4721 -(4721) found -[853] Forked 4722 -(4722) found -[852] Forked 4723 -(4723) found -[851] Forked 4724 -(4724) found -[850] Forked 4725 -(4725) found -[849] Forked 4726 -(4726) found -[848] Forked 4727 -(4727) found -[847] Forked 4728 -(4728) found -[846] Forked 4729 -(4729) found -[845] Forked 4730 -(4730) found -[844] Forked 4731 -(4731) found -[843] Forked 4732 -(4732) found -[842] Forked 4733 -(4733) found -[841] Forked 4734 -(4734) found -[840] Forked 4735 -(4735) found -[839] Forked 4736 -(4736) found -[838] Forked 4737 -(4737) found -[837] Forked 4738 -(4738) found -[836] Forked 4739 -(4739) found -[835] Forked 4740 -(4740) found -[834] Forked 4741 -(4741) found -[833] Forked 4742 -(4742) found -[832] Forked 4743 -(4743) found -[831] Forked 4744 -(4744) found -[830] Forked 4745 -(4745) found -[829] Forked 4746 -(4746) found -[828] Forked 4747 -(4747) found -[827] Forked 4748 -(4748) found -[826] Forked 4749 -(4749) found -[825] Forked 4750 -(4750) found -[824] Forked 4751 -(4751) found -[823] Forked 4752 -(4752) found -[822] Forked 4753 -(4753) found -[821] Forked 4754 -(4754) found -[820] Forked 4755 -(4755) found -[819] Forked 4756 -(4756) found -[818] Forked 4757 -(4757) found -[817] Forked 4758 -[816] Forked 4759 -(4758) found -(4759) found -[815] Forked 4760 -[814] Forked 4761 -(4760) found -(4761) found -[813] Forked 4762 -[812] Forked 4763 -(4762) found -(4763) found -[811] Forked 4764 -[810] Forked 4765 -(4764) found -(4765) found -[809] Forked 4766 -[808] Forked 4767 -(4766) found -(4767) found -[807] Forked 4768 -[806] Forked 4769 -(4768) found -(4769) found -[805] Forked 4770 -[804] Forked 4771 -(4770) found -(4771) found -[803] Forked 4772 -[802] Forked 4773 -(4772) found -(4773) found -[801] Forked 4774 -[800] Forked 4775 -(4774) found -(4775) found -[799] Forked 4776 -[798] Forked 4777 -(4776) found -(4777) found -[797] Forked 4778 -[796] Forked 4779 -(4778) found -(4779) found -[795] Forked 4780 -[794] Forked 4781 -(4780) found -(4781) found -[793] Forked 4782 -[792] Forked 4783 -(4782) found -(4783) found -[791] Forked 4784 -[790] Forked 4785 -(4784) found -(4785) found -[789] Forked 4786 -[788] Forked 4787 -(4786) found -(4787) found -[787] Forked 4788 -[786] Forked 4789 -(4788) found -(4789) found -[785] Forked 4790 -[784] Forked 4791 -(4790) found -(4791) found -[783] Forked 4792 -[782] Forked 4793 -(4792) found -(4793) found -[781] Forked 4794 -[780] Forked 4795 -(4794) found -(4795) found -[779] Forked 4796 -[778] Forked 4797 -(4796) found -(4797) found -[777] Forked 4798 -[776] Forked 4799 -(4798) found -(4799) found -[775] Forked 4800 -[774] Forked 4801 -[773] Forked 4802 -[772] Forked 4803 -[771] Forked 4804 -[770] Forked 4805 -[769] Forked 4806 -[768] Forked 4807 -[767] Forked 4809 -(4800) found -(4801) found -(4802) found -(4803) found -(4804) found -(4805) found -(4806) found -(4807) found -(4809) found -[766] Forked 4810 -(4810) found -[765] Forked 4811 -(4811) found -[764] Forked 4812 -(4812) found -[763] Forked 4813 -(4813) found -[762] Forked 4814 -(4814) found -[761] Forked 4815 -(4815) found -[760] Forked 4816 -(4816) found -[759] Forked 4817 -(4817) found -[758] Forked 4818 -(4818) found -[757] Forked 4819 -(4819) found -[756] Forked 4820 -(4820) found -[755] Forked 4821 -(4821) found -[754] Forked 4822 -(4822) found -[753] Forked 4823 -(4823) found -[752] Forked 4824 -(4824) found -[751] Forked 4825 -(4825) found -[750] Forked 4826 -(4826) found -[749] Forked 4827 -(4827) found -[748] Forked 4828 -(4828) found -[747] Forked 4829 -(4829) found -[746] Forked 4830 -(4830) found -[745] Forked 4831 -(4831) found -[744] Forked 4832 -(4832) found -[743] Forked 4833 -(4833) found -[742] Forked 4834 -(4834) found -[741] Forked 4835 -(4835) found -[740] Forked 4836 -(4836) found -[739] Forked 4837 -(4837) found -[738] Forked 4838 -(4838) found -[737] Forked 4839 -(4839) found -[736] Forked 4840 -(4840) found -[735] Forked 4841 -(4841) found -[734] Forked 4842 -[733] Forked 4843 -(4842) found -(4843) found -[732] Forked 4844 -[731] Forked 4845 -(4844) found -(4845) found -[730] Forked 4846 -[729] Forked 4847 -(4846) found -(4847) found -[728] Forked 4848 -[727] Forked 4849 -(4848) found -(4849) found -[726] Forked 4850 -[725] Forked 4851 -(4850) found -(4851) found -[724] Forked 4852 -[723] Forked 4853 -(4852) found -(4853) found -[722] Forked 4854 -[721] Forked 4855 -(4854) found -(4855) found -[720] Forked 4856 -[719] Forked 4857 -(4856) found -(4857) found -[718] Forked 4858 -[717] Forked 4859 -(4858) found -(4859) found -[716] Forked 4860 -[715] Forked 4861 -(4860) found -(4861) found -[714] Forked 4862 -[713] Forked 4863 -(4862) found -(4863) found -[712] Forked 4864 -[711] Forked 4865 -(4864) found -(4865) found -[710] Forked 4866 -[709] Forked 4867 -(4866) found -(4867) found -[708] Forked 4868 -[707] Forked 4869 -(4868) found -(4869) found -[706] Forked 4870 -[705] Forked 4871 -(4870) found -(4871) found -[704] Forked 4872 -[703] Forked 4873 -(4872) found -(4873) found -[702] Forked 4874 -[701] Forked 4875 -(4874) found -(4875) found -[700] Forked 4876 -(4876) found -[699] Forked 4877 -[698] Forked 4878 -(4877) found -(4878) found -[697] Forked 4879 -[696] Forked 4881 -(4879) found -(4881) found -[695] Forked 4882 -(4882) found -[694] Forked 4883 -(4883) found -[693] Forked 4884 -(4884) found -[692] Forked 4885 -(4885) found -[691] Forked 4886 -(4886) found -[690] Forked 4887 -(4887) found -[689] Forked 4888 -(4888) found -[688] Forked 4889 -(4889) found -[687] Forked 4890 -(4890) found -[686] Forked 4891 -(4891) found -[685] Forked 4892 -(4892) found -[684] Forked 4893 -(4893) found -[683] Forked 4894 -(4894) found -[682] Forked 4895 -(4895) found -[681] Forked 4896 -(4896) found -[680] Forked 4897 -(4897) found -[679] Forked 4898 -(4898) found -[678] Forked 4899 -(4899) found -[677] Forked 4900 -(4900) found -[676] Forked 4901 -(4901) found -[675] Forked 4902 -(4902) found -[674] Forked 4903 -(4903) found -[673] Forked 4904 -(4904) found -[672] Forked 4905 -(4905) found -[671] Forked 4906 -(4906) found -[670] Forked 4907 -(4907) found -[669] Forked 4908 -(4908) found -[668] Forked 4909 -(4909) found -[667] Forked 4910 -(4910) found -[666] Forked 4911 -(4911) found -[665] Forked 4912 -(4912) found -[664] Forked 4913 -(4913) found -[663] Forked 4914 -(4914) found -[662] Forked 4915 -(4915) found -[661] Forked 4916 -(4916) found -[660] Forked 4917 -(4917) found -[659] Forked 4918 -(4918) found -[658] Forked 4919 -(4919) found -[657] Forked 4920 -(4920) found -[656] Forked 4921 -(4921) found -[655] Forked 4922 -(4922) found -[654] Forked 4923 -(4923) found -[653] Forked 4924 -(4924) found -[652] Forked 4925 -(4925) found -[651] Forked 4926 -(4926) found -[650] Forked 4927 -(4927) found -[649] Forked 4928 -(4928) found -[648] Forked 4929 -(4929) found -[647] Forked 4930 -(4930) found -[646] Forked 4931 -(4931) found -[645] Forked 4932 -(4932) found -[644] Forked 4933 -(4933) found -[643] Forked 4934 -(4934) found -[642] Forked 4935 -(4935) found -[641] Forked 4936 -(4936) found -[640] Forked 4937 -(4937) found -[639] Forked 4938 -(4938) found -[638] Forked 4939 -(4939) found -[637] Forked 4940 -(4940) found -[636] Forked 4941 -(4941) found -[635] Forked 4942 -(4942) found -[634] Forked 4943 -(4943) found -[633] Forked 4944 -(4944) found -[632] Forked 4945 -(4945) found -[631] Forked 4946 -(4946) found -[630] Forked 4947 -(4947) found -[629] Forked 4948 -(4948) found -[628] Forked 4949 -(4949) found -[627] Forked 4950 -(4950) found -[626] Forked 4951 -(4951) found -[625] Forked 4952 -(4952) found -[624] Forked 4953 -(4953) found -[623] Forked 4954 -(4954) found -[622] Forked 4955 -(4955) found -[621] Forked 4956 -[620] Forked 4957 -(4956) found -(4957) found -[619] Forked 4958 -[618] Forked 4959 -(4958) found -(4959) found -[617] Forked 4960 -[616] Forked 4961 -(4960) found -(4961) found -[615] Forked 4962 -[614] Forked 4963 -(4962) found -(4963) found -[613] Forked 4964 -[612] Forked 4965 -(4964) found -(4965) found -[611] Forked 4966 -[610] Forked 4967 -(4966) found -(4967) found -[609] Forked 4968 -[608] Forked 4969 -(4968) found -(4969) found -[607] Forked 4970 -[606] Forked 4971 -(4970) found -(4971) found -[605] Forked 4972 -[604] Forked 4973 -(4972) found -(4973) found -[603] Forked 4974 -[602] Forked 4975 -(4974) found -(4975) found -[601] Forked 4976 -[600] Forked 4977 -(4976) found -(4977) found -[599] Forked 4978 -[598] Forked 4979 -(4978) found -(4979) found -[597] Forked 4980 -[596] Forked 4981 -(4980) found -(4981) found -[595] Forked 4982 -[594] Forked 4983 -(4982) found -(4983) found -[593] Forked 4984 -[592] Forked 4985 -(4984) found -(4985) found -[591] Forked 4986 -[590] Forked 4987 -(4986) found -(4987) found -[589] Forked 4988 -[588] Forked 4989 -(4988) found -(4989) found -[587] Forked 4990 -[586] Forked 4991 -(4990) found -(4991) found -[585] Forked 4992 -[584] Forked 4993 -(4992) found -(4993) found -[583] Forked 4994 -[582] Forked 4995 -(4994) found -(4995) found -[581] Forked 4996 -[580] Forked 4997 -(4996) found -(4997) found -[579] Forked 4998 -[578] Forked 4999 -(4998) found -(4999) found -[577] Forked 5000 -[576] Forked 5001 -(5000) found -(5001) found -[575] Forked 5002 -(5002) found -[574] Forked 5003 -(5003) found -[573] Forked 5004 -(5004) found -[572] Forked 5005 -(5005) found -[571] Forked 5006 -(5006) found -[570] Forked 5007 -(5007) found -[569] Forked 5008 -(5008) found -[568] Forked 5009 -(5009) found -[567] Forked 5010 -(5010) found -[566] Forked 5011 -(5011) found -[565] Forked 5012 -(5012) found -[564] Forked 5013 -(5013) found -[563] Forked 5014 -(5014) found -[562] Forked 5015 -(5015) found -[561] Forked 5016 -(5016) found -[560] Forked 5017 -(5017) found -[559] Forked 5018 -(5018) found -[558] Forked 5019 -(5019) found -[557] Forked 5020 -(5020) found -[556] Forked 5021 -(5021) found -[555] Forked 5022 -(5022) found -[554] Forked 5023 -(5023) found -[553] Forked 5024 -(5024) found -[552] Forked 5025 -(5025) found -[551] Forked 5026 -(5026) found -[550] Forked 5027 -(5027) found -[549] Forked 5028 -(5028) found -[548] Forked 5029 -(5029) found -[547] Forked 5030 -(5030) found -[546] Forked 5031 -(5031) found -[545] Forked 5032 -(5032) found -[544] Forked 5033 -(5033) found -[543] Forked 5034 -(5034) found -[542] Forked 5035 -(5035) found -[541] Forked 5036 -(5036) found -[540] Forked 5037 -[539] Forked 5038 -(5037) found -(5038) found -[538] Forked 5039 -[537] Forked 5040 -(5039) found -(5040) found -[536] Forked 5041 -[535] Forked 5042 -(5041) found -(5042) found -[534] Forked 5043 -[533] Forked 5044 -(5043) found -(5044) found -[532] Forked 5045 -[531] Forked 5046 -(5045) found -(5046) found -[530] Forked 5047 -[529] Forked 5048 -(5047) found -(5048) found -[528] Forked 5049 -[527] Forked 5050 -(5049) found -(5050) found -[526] Forked 5051 -[525] Forked 5052 -(5051) found -(5052) found -[524] Forked 5053 -[523] Forked 5054 -(5053) found -(5054) found -[522] Forked 5055 -[521] Forked 5056 -(5055) found -(5056) found -[520] Forked 5057 -[519] Forked 5058 -(5057) found -(5058) found -[518] Forked 5059 -[517] Forked 5060 -(5059) found -(5060) found -[516] Forked 5061 -[515] Forked 5062 -(5061) found -(5062) found -[514] Forked 5063 -[513] Forked 5064 -(5063) found -(5064) found -[512] Forked 5065 -[511] Forked 5066 -(5065) found -(5066) found -[510] Forked 5067 -[509] Forked 5068 -(5067) found -(5068) found -[508] Forked 5069 -[507] Forked 5070 -(5069) found -(5070) found -[506] Forked 5071 -[505] Forked 5072 -(5071) found -(5072) found -[504] Forked 5073 -[503] Forked 5074 -(5073) found -(5074) found -[502] Forked 5075 -[501] Forked 5076 -(5075) found -(5076) found -[500] Forked 5077 -[499] Forked 5078 -(5077) found -(5078) found -[498] Forked 5079 -[497] Forked 5080 -(5079) found -(5080) found -[496] Forked 5081 -[495] Forked 5082 -(5081) found -(5082) found -[494] Forked 5083 -(5083) found -[493] Forked 5084 -(5084) found -[492] Forked 5085 -(5085) found -[491] Forked 5086 -(5086) found -[490] Forked 5087 -(5087) found -[489] Forked 5088 -(5088) found -[488] Forked 5089 -(5089) found -[487] Forked 5090 -(5090) found -[486] Forked 5091 -(5091) found -[485] Forked 5092 -(5092) found -[484] Forked 5093 -(5093) found -[483] Forked 5094 -(5094) found -[482] Forked 5095 -(5095) found -[481] Forked 5096 -(5096) found -[480] Forked 5097 -(5097) found -[479] Forked 5098 -(5098) found -[478] Forked 5099 -(5099) found -[477] Forked 5100 -(5100) found -[476] Forked 5101 -(5101) found -[475] Forked 5102 -(5102) found -[474] Forked 5103 -(5103) found -[473] Forked 5104 -(5104) found -[472] Forked 5105 -(5105) found -[471] Forked 5106 -(5106) found -[470] Forked 5107 -(5107) found -[469] Forked 5108 -(5108) found -[468] Forked 5109 -(5109) found -[467] Forked 5110 -(5110) found -[466] Forked 5111 -(5111) found -[465] Forked 5112 -(5112) found -[464] Forked 5113 -(5113) found -[463] Forked 5114 -(5114) found -[462] Forked 5115 -(5115) found -[461] Forked 5116 -(5116) found -[460] Forked 5117 -(5117) found -[459] Forked 5118 -(5118) found -[458] Forked 5119 -(5119) found -[457] Forked 5120 -[456] Forked 5121 -(5120) found -(5121) found -[455] Forked 5122 -[454] Forked 5123 -(5122) found -(5123) found -[453] Forked 5124 -[452] Forked 5125 -(5124) found -(5125) found -[451] Forked 5126 -[450] Forked 5127 -(5126) found -(5127) found -[449] Forked 5128 -[448] Forked 5129 -(5128) found -(5129) found -[447] Forked 5130 -[446] Forked 5131 -(5130) found -(5131) found -[445] Forked 5132 -[444] Forked 5133 -(5132) found -(5133) found -[443] Forked 5134 -[442] Forked 5135 -(5134) found -(5135) found -[441] Forked 5136 -(5136) found -[440] Forked 5137 -(5137) found -[439] Forked 5138 -(5138) found -[438] Forked 5139 -(5139) found -[437] Forked 5140 -(5140) found -[436] Forked 5141 -(5141) found -[435] Forked 5142 -(5142) found -[434] Forked 5143 -(5143) found -[433] Forked 5144 -[432] Forked 5145 -(5144) found -(5145) found -[431] Forked 5146 -[430] Forked 5147 -(5146) found -(5147) found -[429] Forked 5148 -[428] Forked 5149 -(5148) found -(5149) found -[427] Forked 5150 -[426] Forked 5151 -(5150) found -(5151) found -[425] Forked 5152 -[424] Forked 5153 -(5152) found -(5153) found -[423] Forked 5154 -[422] Forked 5155 -(5154) found -(5155) found -[421] Forked 5156 -[420] Forked 5157 -(5156) found -(5157) found -[419] Forked 5158 -[418] Forked 5159 -(5158) found -(5159) found -[417] Forked 5160 -[416] Forked 5161 -(5160) found -(5161) found -[415] Forked 5162 -[414] Forked 5164 -(5162) found -(5164) found -[413] Forked 5165 -(5165) found -[412] Forked 5166 -(5166) found -[411] Forked 5167 -(5167) found -[410] Forked 5168 -(5168) found -[409] Forked 5169 -(5169) found -[408] Forked 5170 -(5170) found -[407] Forked 5171 -(5171) found -[406] Forked 5172 -(5172) found -[405] Forked 5173 -(5173) found -[404] Forked 5174 -(5174) found -[403] Forked 5175 -(5175) found -[402] Forked 5176 -(5176) found -[401] Forked 5177 -(5177) found -[400] Forked 5178 -(5178) found -[399] Forked 5179 -(5179) found -[398] Forked 5180 -(5180) found -[397] Forked 5181 -(5181) found -[396] Forked 5182 -(5182) found -[395] Forked 5183 -(5183) found -[394] Forked 5184 -(5184) found -[393] Forked 5185 -(5185) found -[392] Forked 5186 -(5186) found -[391] Forked 5187 -(5187) found -[390] Forked 5188 -(5188) found -[389] Forked 5189 -(5189) found -[388] Forked 5190 -(5190) found -[387] Forked 5191 -(5191) found -[386] Forked 5192 -(5192) found -[385] Forked 5193 -(5193) found -[384] Forked 5194 -(5194) found -[383] Forked 5195 -(5195) found -[382] Forked 5196 -(5196) found -[381] Forked 5197 -(5197) found -[380] Forked 5198 -(5198) found -[379] Forked 5199 -[378] Forked 5200 -(5199) found -(5200) found -[377] Forked 5201 -[376] Forked 5202 -(5201) found -(5202) found -[375] Forked 5203 -[374] Forked 5204 -(5203) found -(5204) found -[373] Forked 5205 -[372] Forked 5206 -(5205) found -(5206) found -[371] Forked 5207 -[370] Forked 5208 -(5207) found -(5208) found -[369] Forked 5209 -[368] Forked 5210 -(5209) found -(5210) found -[367] Forked 5211 -[366] Forked 5212 -(5211) found -(5212) found -[365] Forked 5213 -[364] Forked 5214 -(5213) found -(5214) found -[363] Forked 5215 -[362] Forked 5216 -(5215) found -(5216) found -[361] Forked 5217 -[360] Forked 5218 -(5217) found -(5218) found -[359] Forked 5219 -[358] Forked 5220 -(5219) found -(5220) found -[357] Forked 5221 -[356] Forked 5222 -(5221) found -(5222) found -[355] Forked 5223 -[354] Forked 5224 -(5223) found -(5224) found -[353] Forked 5225 -[352] Forked 5226 -(5225) found -(5226) found -[351] Forked 5227 -[350] Forked 5228 -(5227) found -(5228) found -[349] Forked 5229 -[348] Forked 5230 -(5229) found -(5230) found -[347] Forked 5231 -[346] Forked 5232 -(5231) found -(5232) found -[345] Forked 5233 -[344] Forked 5234 -(5233) found -(5234) found -[343] Forked 5235 -[342] Forked 5236 -(5235) found -(5236) found -[341] Forked 5237 -[340] Forked 5238 -(5237) found -(5238) found -[339] Forked 5239 -[338] Forked 5240 -(5239) found -(5240) found -[337] Forked 5241 -[336] Forked 5242 -(5241) found -(5242) found -[335] Forked 5243 -[334] Forked 5244 -(5243) found -(5244) found -[333] Forked 5245 -(5245) found -[332] Forked 5246 -(5246) found -[331] Forked 5247 -(5247) found -[330] Forked 5248 -(5248) found -[329] Forked 5249 -(5249) found -[328] Forked 5250 -(5250) found -[327] Forked 5251 -(5251) found -[326] Forked 5252 -(5252) found -[325] Forked 5253 -(5253) found -[324] Forked 5254 -(5254) found -[323] Forked 5255 -(5255) found -[322] Forked 5256 -(5256) found -[321] Forked 5257 -(5257) found -[320] Forked 5258 -(5258) found -[319] Forked 5259 -(5259) found -[318] Forked 5260 -(5260) found -[317] Forked 5261 -(5261) found -[316] Forked 5262 -(5262) found -[315] Forked 5263 -(5263) found -[314] Forked 5264 -(5264) found -[313] Forked 5265 -(5265) found -[312] Forked 5266 -(5266) found -[311] Forked 5267 -(5267) found -[310] Forked 5268 -(5268) found -[309] Forked 5269 -(5269) found -[308] Forked 5270 -(5270) found -[307] Forked 5271 -(5271) found -[306] Forked 5272 -(5272) found -[305] Forked 5273 -(5273) found -[304] Forked 5274 -(5274) found -[303] Forked 5275 -(5275) found -[302] Forked 5276 -(5276) found -[301] Forked 5277 -(5277) found -[300] Forked 5278 -(5278) found -[299] Forked 5279 -(5279) found -[298] Forked 5280 -(5280) found -[297] Forked 5281 -[296] Forked 5282 -(5281) found -(5282) found -[295] Forked 5283 -[294] Forked 5284 -(5283) found -(5284) found -[293] Forked 5285 -[292] Forked 5286 -(5285) found -(5286) found -[291] Forked 5287 -[290] Forked 5288 -(5287) found -(5288) found -[289] Forked 5289 -[288] Forked 5290 -(5289) found -(5290) found -[287] Forked 5291 -[286] Forked 5292 -(5291) found -(5292) found -[285] Forked 5293 -[284] Forked 5294 -(5293) found -(5294) found -[283] Forked 5295 -[282] Forked 5296 -(5295) found -(5296) found -[281] Forked 5297 -[280] Forked 5298 -(5297) found -(5298) found -[279] Forked 5299 -[278] Forked 5300 -(5299) found -(5300) found -[277] Forked 5301 -[276] Forked 5302 -(5301) found -(5302) found -[275] Forked 5303 -[274] Forked 5304 -(5303) found -(5304) found -[273] Forked 5305 -[272] Forked 5306 -(5305) found -(5306) found -[271] Forked 5307 -[270] Forked 5308 -(5307) found -(5308) found -[269] Forked 5309 -[268] Forked 5310 -(5309) found -(5310) found -[267] Forked 5311 -[266] Forked 5312 -(5311) found -(5312) found -[265] Forked 5313 -[264] Forked 5314 -(5313) found -(5314) found -[263] Forked 5315 -[262] Forked 5316 -(5315) found -(5316) found -[261] Forked 5317 -[260] Forked 5318 -(5317) found -(5318) found -[259] Forked 5319 -[258] Forked 5320 -(5319) found -(5320) found -[257] Forked 5321 -[256] Forked 5322 -(5321) found -(5322) found -[255] Forked 5323 -[254] Forked 5324 -(5323) found -(5324) found -[253] Forked 5325 -[252] Forked 5326 -(5325) found -(5326) found -[251] Forked 5327 -(5327) found -[250] Forked 5328 -(5328) found -[249] Forked 5329 -(5329) found -[248] Forked 5330 -(5330) found -[247] Forked 5331 -(5331) found -[246] Forked 5332 -(5332) found -[245] Forked 5333 -(5333) found -[244] Forked 5334 -(5334) found -[243] Forked 5335 -(5335) found -[242] Forked 5336 -(5336) found -[241] Forked 5337 -(5337) found -[240] Forked 5338 -(5338) found -[239] Forked 5339 -(5339) found -[238] Forked 5340 -(5340) found -[237] Forked 5341 -(5341) found -[236] Forked 5342 -(5342) found -[235] Forked 5343 -(5343) found -[234] Forked 5344 -(5344) found -[233] Forked 5345 -(5345) found -[232] Forked 5346 -(5346) found -[231] Forked 5347 -(5347) found -[230] Forked 5348 -(5348) found -[229] Forked 5349 -(5349) found -[228] Forked 5350 -(5350) found -[227] Forked 5351 -(5351) found -[226] Forked 5352 -(5352) found -[225] Forked 5353 -(5353) found -[224] Forked 5354 -(5354) found -[223] Forked 5355 -(5355) found -[222] Forked 5356 -(5356) found -[221] Forked 5357 -(5357) found -[220] Forked 5358 -(5358) found -[219] Forked 5359 -(5359) found -[218] Forked 5360 -(5360) found -[217] Forked 5361 -(5361) found -[216] Forked 5362 -(5362) found -[215] Forked 5363 -[214] Forked 5364 -(5363) found -(5364) found -[213] Forked 5365 -[212] Forked 5366 -(5365) found -(5366) found -[211] Forked 5367 -[210] Forked 5368 -(5367) found -(5368) found -[209] Forked 5369 -[208] Forked 5370 -(5369) found -(5370) found -[207] Forked 5371 -[206] Forked 5372 -(5371) found -(5372) found -[205] Forked 5373 -[204] Forked 5374 -(5373) found -(5374) found -[203] Forked 5375 -[202] Forked 5376 -(5375) found -(5376) found -[201] Forked 5377 -[200] Forked 5378 -(5377) found -(5378) found -[199] Forked 5379 -[198] Forked 5380 -(5379) found -(5380) found -[197] Forked 5381 -[196] Forked 5382 -(5381) found -(5382) found -[195] Forked 5383 -[194] Forked 5384 -(5383) found -(5384) found -[193] Forked 5385 -[192] Forked 5386 -(5385) found -(5386) found -[191] Forked 5387 -[190] Forked 5388 -(5387) found -(5388) found -[189] Forked 5389 -[188] Forked 5390 -(5389) found -(5390) found -[187] Forked 5391 -[186] Forked 5392 -(5391) found -(5392) found -[185] Forked 5393 -[184] Forked 5394 -(5393) found -(5394) found -[183] Forked 5395 -[182] Forked 5396 -(5395) found -(5396) found -[181] Forked 5397 -[180] Forked 5398 -(5397) found -(5398) found -[179] Forked 5399 -[178] Forked 5400 -(5399) found -(5400) found -[177] Forked 5401 -[176] Forked 5403 -(5401) found -(5403) found -[175] Forked 5404 -(5404) found -[174] Forked 5405 -(5405) found -[173] Forked 5406 -(5406) found -[172] Forked 5407 -(5407) found -[171] Forked 5408 -(5408) found -[170] Forked 5409 -(5409) found -[169] Forked 5410 -(5410) found -[168] Forked 5411 -(5411) found -[167] Forked 5412 -(5412) found -[166] Forked 5413 -(5413) found -[165] Forked 5414 -(5414) found -[164] Forked 5415 -(5415) found -[163] Forked 5416 -(5416) found -[162] Forked 5417 -(5417) found -[161] Forked 5418 -(5418) found -[160] Forked 5419 -(5419) found -[159] Forked 5420 -(5420) found -[158] Forked 5421 -(5421) found -[157] Forked 5422 -(5422) found -[156] Forked 5423 -(5423) found -[155] Forked 5424 -(5424) found -[154] Forked 5425 -(5425) found -[153] Forked 5426 -(5426) found -[152] Forked 5427 -(5427) found -[151] Forked 5428 -(5428) found -[150] Forked 5429 -(5429) found -[149] Forked 5430 -(5430) found -[148] Forked 5431 -(5431) found -[147] Forked 5432 -(5432) found -[146] Forked 5433 -(5433) found -[145] Forked 5434 -(5434) found -[144] Forked 5435 -(5435) found -[143] Forked 5436 -(5436) found -[142] Forked 5437 -(5437) found -[141] Forked 5438 -(5438) found -[140] Forked 5439 -(5439) found -[139] Forked 5440 -(5440) found -[138] Forked 5441 -(5441) found -[137] Forked 5442 -(5442) found -[136] Forked 5443 -[135] Forked 5444 -(5443) found -(5444) found -[134] Forked 5445 -[133] Forked 5446 -(5446) found -(5445) found -[132] Forked 5447 -(5447) found -[131] Forked 5448 -(5448) found -[130] Forked 5449 -(5449) found -[129] Forked 5450 -(5450) found -[128] Forked 5451 -(5451) found -[127] Forked 5452 -(5452) found -[126] Forked 5453 -(5453) found -[125] Forked 5454 -(5454) found -[124] Forked 5455 -(5455) found -[123] Forked 5456 -(5456) found -[122] Forked 5457 -(5457) found -[121] Forked 5458 -(5458) found -[120] Forked 5459 -(5459) found -[119] Forked 5460 -(5460) found -[118] Forked 5461 -(5461) found -[117] Forked 5462 -(5462) found -[116] Forked 5463 -(5463) found -[115] Forked 5464 -(5464) found -[114] Forked 5465 -(5465) found -[113] Forked 5466 -(5466) found -[112] Forked 5467 -(5467) found -[111] Forked 5468 -(5468) found -[110] Forked 5469 -(5469) found -[109] Forked 5470 -(5470) found -[108] Forked 5471 -(5471) found -[107] Forked 5472 -(5472) found -[106] Forked 5473 -(5473) found -[105] Forked 5474 -(5474) found -[104] Forked 5475 -(5475) found -[103] Forked 5476 -(5476) found -[102] Forked 5477 -(5477) found -[101] Forked 5478 -(5478) found -[100] Forked 5479 -(5479) found -[99] Forked 5480 -(5480) found -[98] Forked 5481 -(5481) found -[97] Forked 5482 -(5482) found -[96] Forked 5483 -(5483) found -[95] Forked 5484 -(5484) found -[94] Forked 5485 -(5485) found -[93] Forked 5486 -(5486) found -[92] Forked 5487 -(5487) found -[91] Forked 5488 -(5488) found -[90] Forked 5489 -(5489) found -[89] Forked 5490 -(5490) found -[88] Forked 5491 -(5491) found -[87] Forked 5492 -(5492) found -[86] Forked 5493 -(5493) found -[85] Forked 5494 -(5494) found -[84] Forked 5495 -(5495) found -[83] Forked 5496 -(5496) found -[82] Forked 5497 -(5497) found -[81] Forked 5498 -(5498) found -[80] Forked 5499 -(5499) found -[79] Forked 5500 -(5500) found -[78] Forked 5501 -(5501) found -[77] Forked 5502 -(5502) found -[76] Forked 5503 -(5503) found -[75] Forked 5504 -(5504) found -[74] Forked 5505 -(5505) found -[73] Forked 5506 -(5506) found -[72] Forked 5507 -(5507) found -[71] Forked 5508 -(5508) found -[70] Forked 5509 -(5509) found -[69] Forked 5510 -(5510) found -[68] Forked 5511 -(5511) found -[67] Forked 5512 -(5512) found -[66] Forked 5513 -(5513) found -[65] Forked 5514 -(5514) found -[64] Forked 5515 -(5515) found -[63] Forked 5516 -(5516) found -[62] Forked 5517 -(5517) found -[61] Forked 5518 -(5518) found -[60] Forked 5519 -(5519) found -[59] Forked 5520 -(5520) found -[58] Forked 5521 -(5521) found -[57] Forked 5522 -(5522) found -[56] Forked 5523 -(5523) found -[55] Forked 5524 -(5524) found -[54] Forked 5525 -(5525) found -[53] Forked 5526 -(5526) found -[52] Forked 5527 -(5527) found -[51] Forked 5528 -(5528) found -[50] Forked 5529 -(5529) found -[49] Forked 5530 -(5530) found -[48] Forked 5531 -(5531) found -[47] Forked 5532 -(5532) found -[46] Forked 5533 -(5533) found -[45] Forked 5534 -(5534) found -[44] Forked 5535 -(5535) found -[43] Forked 5536 -(5536) found -[42] Forked 5537 -(5537) found -[41] Forked 5538 -(5538) found -[40] Forked 5539 -(5539) found -[39] Forked 5540 -(5540) found -[38] Forked 5541 -(5541) found -[37] Forked 5542 -(5542) found -[36] Forked 5543 -(5543) found -[35] Forked 5544 -(5544) found -[34] Forked 5545 -(5545) found -[33] Forked 5546 -(5546) found -[32] Forked 5547 -(5547) found -[31] Forked 5548 -(5548) found -[30] Forked 5549 -(5549) found -[29] Forked 5550 -(5550) found -[28] Forked 5551 -[27] Forked 5552 -(5551) found -(5552) found -[26] Forked 5553 -[25] Forked 5554 -(5553) found -(5554) found -[24] Forked 5555 -[23] Forked 5556 -(5555) found -(5556) found -[22] Forked 5557 -[21] Forked 5558 -(5557) found -(5558) found -[20] Forked 5559 -[19] Forked 5560 -(5559) found -(5560) found -[18] Forked 5561 -[17] Forked 5562 -(5561) found -(5562) found -[16] Forked 5563 -[15] Forked 5564 -(5563) found -(5564) found -[14] Forked 5565 -[13] Forked 5566 -(5565) found -(5566) found -[12] Forked 5567 -(5567) found -[11] Forked 5568 -[10] Forked 5569 -(5568) found -(5569) found -[9] Forked 5570 -[8] Forked 5571 -(5570) found -(5571) found -[7] Forked 5572 -[6] Forked 5573 -(5572) found -(5573) found -[5] Forked 5574 -[4] Forked 5575 -(5574) found -(5575) found -[3] Forked 5576 -[2] Forked 5577 -(5576) found -(5577) found -[1] Forked 5578 -[0] Forked 5579 -(5578) found -(5579) found diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.G b/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.G deleted file mode 100644 index 7e9c89f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/fork-latency.c.G +++ /dev/null @@ -1,40001 +0,0 @@ -MAX=20000 -[19999] Forked 18452 -(18452) found -[19998] Forked 18453 -(18453) found -[19997] Forked 18454 -(18454) found -[19996] Forked 18455 -(18455) found -[19995] Forked 18456 -(18456) found -[19994] Forked 18457 -(18457) found -[19993] Forked 18458 -(18458) found -[19992] Forked 18459 -(18459) found -[19991] Forked 18460 -(18460) found -[19990] Forked 18461 -(18461) found -[19989] Forked 18462 -(18462) found -[19988] Forked 18463 -(18463) found -[19987] Forked 18464 -(18464) found -[19986] Forked 18466 -(18466) found -[19985] Forked 18467 -(18467) found -[19984] Forked 18468 -(18468) found -[19983] Forked 18469 -(18469) found -[19982] Forked 18470 -(18470) found -[19981] Forked 18471 -(18471) found -[19980] Forked 18472 -(18472) found -[19979] Forked 18473 -(18473) found -[19978] Forked 18474 -(18474) found -[19977] Forked 18475 -(18475) found -[19976] Forked 18476 -(18476) found -[19975] Forked 18477 -(18477) found -[19974] Forked 18478 -(18478) found -[19973] Forked 18479 -(18479) found -[19972] Forked 18480 -(18480) found -[19971] Forked 18481 -(18481) found -[19970] Forked 18482 -(18482) found -[19969] Forked 18483 -(18483) found -[19968] Forked 18484 -(18484) found -[19967] Forked 18485 -(18485) found -[19966] Forked 18486 -(18486) found -[19965] Forked 18487 -(18487) found -[19964] Forked 18488 -(18488) found -[19963] Forked 18489 -(18489) found -[19962] Forked 18490 -(18490) found -[19961] Forked 18491 -(18491) found -[19960] Forked 18492 -(18492) found -[19959] Forked 18493 -(18493) found -[19958] Forked 18494 -(18494) found -[19957] Forked 18495 -(18495) found -[19956] Forked 18496 -(18496) found -[19955] Forked 18497 -(18497) found -[19954] Forked 18498 -(18498) found -[19953] Forked 18499 -(18499) found -[19952] Forked 18500 -(18500) found -[19951] Forked 18501 -(18501) found -[19950] Forked 18502 -(18502) found -[19949] Forked 18503 -(18503) found -[19948] Forked 18504 -(18504) found -[19947] Forked 18505 -(18505) found -[19946] Forked 18506 -(18506) found -[19945] Forked 18507 -(18507) found -[19944] Forked 18508 -(18508) found -[19943] Forked 18509 -(18509) found -[19942] Forked 18510 -(18510) found -[19941] Forked 18511 -(18511) found -[19940] Forked 18512 -(18512) found -[19939] Forked 18513 -(18513) found -[19938] Forked 18514 -(18514) found -[19937] Forked 18515 -(18515) found -[19936] Forked 18516 -(18516) found -[19935] Forked 18517 -(18517) found -[19934] Forked 18518 -(18518) found -[19933] Forked 18519 -(18519) found -[19932] Forked 18520 -(18520) found -[19931] Forked 18521 -(18521) found -[19930] Forked 18522 -(18522) found -[19929] Forked 18523 -(18523) found -[19928] Forked 18524 -(18524) found -[19927] Forked 18525 -(18525) found -[19926] Forked 18526 -(18526) found -[19925] Forked 18527 -(18527) found -[19924] Forked 18528 -(18528) found -[19923] Forked 18529 -(18529) found -[19922] Forked 18530 -(18530) found -[19921] Forked 18531 -(18531) found -[19920] Forked 18532 -(18532) found -[19919] Forked 18533 -(18533) found -[19918] Forked 18534 -(18534) found -[19917] Forked 18535 -(18535) found -[19916] Forked 18536 -(18536) found -[19915] Forked 18537 -(18537) found -[19914] Forked 18538 -(18538) found -[19913] Forked 18539 -(18539) found -[19912] Forked 18540 -(18540) found -[19911] Forked 18541 -(18541) found -[19910] Forked 18542 -(18542) found -[19909] Forked 18543 -(18543) found -[19908] Forked 18544 -(18544) found -[19907] Forked 18545 -(18545) found -[19906] Forked 18546 -(18546) found -[19905] Forked 18547 -(18547) found -[19904] Forked 18548 -(18548) found -[19903] Forked 18549 -(18549) found -[19902] Forked 18550 -(18550) found -[19901] Forked 18551 -(18551) found -[19900] Forked 18552 -(18552) found -[19899] Forked 18553 -(18553) found -[19898] Forked 18554 -(18554) found -[19897] Forked 18555 -(18555) found -[19896] Forked 18556 -(18556) found -[19895] Forked 18557 -(18557) found -[19894] Forked 18558 -(18558) found -[19893] Forked 18559 -(18559) found -[19892] Forked 18560 -(18560) found -[19891] Forked 18561 -[19890] Forked 18562 -(18561) found -(18562) found -[19889] Forked 18563 -[19888] Forked 18564 -(18563) found -(18564) found -[19887] Forked 18565 -[19886] Forked 18567 -(18565) found -(18567) found -[19885] Forked 18568 -[19884] Forked 18569 -(18568) found -(18569) found -[19883] Forked 18570 -[19882] Forked 18571 -(18570) found -(18571) found -[19881] Forked 18572 -[19880] Forked 18573 -(18572) found -(18573) found -[19879] Forked 18574 -[19878] Forked 18575 -(18574) found -(18575) found -[19877] Forked 18576 -[19876] Forked 18577 -(18576) found -(18577) found -[19875] Forked 18578 -[19874] Forked 18579 -(18578) found -(18579) found -[19873] Forked 18580 -[19872] Forked 18581 -(18580) found -(18581) found -[19871] Forked 18582 -[19870] Forked 18583 -(18582) found -(18583) found -[19869] Forked 18584 -[19868] Forked 18585 -(18584) found -(18585) found -[19867] Forked 18586 -[19866] Forked 18587 -(18586) found -(18587) found -[19865] Forked 18588 -[19864] Forked 18589 -(18588) found -(18589) found -[19863] Forked 18590 -[19862] Forked 18591 -(18590) found -(18591) found -[19861] Forked 18592 -[19860] Forked 18593 -(18592) found -(18593) found -[19859] Forked 18594 -[19858] Forked 18595 -(18594) found -(18595) found -[19857] Forked 18596 -[19856] Forked 18597 -(18596) found -(18597) found -[19855] Forked 18598 -[19854] Forked 18599 -(18598) found -(18599) found -[19853] Forked 18600 -[19852] Forked 18601 -(18600) found -(18601) found -[19851] Forked 18602 -[19850] Forked 18603 -(18602) found -(18603) found -[19849] Forked 18604 -[19848] Forked 18605 -(18604) found -(18605) found -[19847] Forked 18606 -[19846] Forked 18607 -(18606) found -(18607) found -[19845] Forked 18608 -[19844] Forked 18609 -(18608) found -(18609) found -[19843] Forked 18610 -[19842] Forked 18612 -(18610) found -(18612) found -[19841] Forked 18613 -[19840] Forked 18614 -(18613) found -(18614) found -[19839] Forked 18615 -[19838] Forked 18616 -(18615) found -(18616) found -[19837] Forked 18617 -[19836] Forked 18618 -(18617) found -(18618) found -[19835] Forked 18619 -[19834] Forked 18620 -(18619) found -(18620) found -[19833] Forked 18621 -[19832] Forked 18622 -(18621) found -(18622) found -[19831] Forked 18623 -[19830] Forked 18624 -(18623) found -(18624) found -[19829] Forked 18625 -[19828] Forked 18626 -(18625) found -(18626) found -[19827] Forked 18627 -[19826] Forked 18628 -(18627) found -(18628) found -[19825] Forked 18629 -[19824] Forked 18630 -(18629) found -(18630) found -[19823] Forked 18631 -[19822] Forked 18632 -(18631) found -(18632) found -[19821] Forked 18633 -[19820] Forked 18634 -(18633) found -(18634) found -[19819] Forked 18635 -[19818] Forked 18636 -(18635) found -(18636) found -[19817] Forked 18637 -[19816] Forked 18638 -(18637) found -(18638) found -[19815] Forked 18639 -[19814] Forked 18640 -(18639) found -(18640) found -[19813] Forked 18641 -[19812] Forked 18642 -(18641) found -(18642) found -[19811] Forked 18643 -[19810] Forked 18644 -(18643) found -(18644) found -[19809] Forked 18645 -[19808] Forked 18646 -(18645) found -(18646) found -[19807] Forked 18647 -[19806] Forked 18648 -(18647) found -(18648) found -[19805] Forked 18649 -[19804] Forked 18650 -(18649) found -(18650) found -[19803] Forked 18651 -[19802] Forked 18652 -(18651) found -(18652) found -[19801] Forked 18653 -[19800] Forked 18654 -(18653) found -(18654) found -[19799] Forked 18655 -(18655) found -[19798] Forked 18656 -(18656) found -[19797] Forked 18657 -(18657) found -[19796] Forked 18658 -(18658) found -[19795] Forked 18659 -(18659) found -[19794] Forked 18660 -(18660) found -[19793] Forked 18661 -(18661) found -[19792] Forked 18662 -(18662) found -[19791] Forked 18663 -(18663) found -[19790] Forked 18664 -(18664) found -[19789] Forked 18665 -(18665) found -[19788] Forked 18666 -(18666) found -[19787] Forked 18667 -(18667) found -[19786] Forked 18668 -(18668) found -[19785] Forked 18669 -(18669) found -[19784] Forked 18670 -(18670) found -[19783] Forked 18671 -(18671) found -[19782] Forked 18672 -(18672) found -[19781] Forked 18673 -(18673) found -[19780] Forked 18674 -(18674) found -[19779] Forked 18675 -(18675) found -[19778] Forked 18676 -(18676) found -[19777] Forked 18677 -(18677) found -[19776] Forked 18678 -(18678) found -[19775] Forked 18679 -(18679) found -[19774] Forked 18680 -(18680) found -[19773] Forked 18681 -(18681) found -[19772] Forked 18682 -(18682) found -[19771] Forked 18683 -(18683) found -[19770] Forked 18684 -(18684) found -[19769] Forked 18685 -(18685) found -[19768] Forked 18686 -(18686) found -[19767] Forked 18687 -(18687) found -[19766] Forked 18688 -(18688) found -[19765] Forked 18689 -(18689) found -[19764] Forked 18690 -(18690) found -[19763] Forked 18691 -(18691) found -[19762] Forked 18692 -(18692) found -[19761] Forked 18693 -[19760] Forked 18694 -(18693) found -(18694) found -[19759] Forked 18695 -(18695) found -[19758] Forked 18696 -(18696) found -[19757] Forked 18697 -(18697) found -[19756] Forked 18698 -(18698) found -[19755] Forked 18699 -[19754] Forked 18700 -(18699) found -(18700) found -[19753] Forked 18701 -[19752] Forked 18702 -(18701) found -(18702) found -[19751] Forked 18703 -[19750] Forked 18704 -(18703) found -(18704) found -[19749] Forked 18705 -[19748] Forked 18706 -(18705) found -(18706) found -[19747] Forked 18707 -[19746] Forked 18708 -(18707) found -(18708) found -[19745] Forked 18709 -[19744] Forked 18710 -(18709) found -(18710) found -[19743] Forked 18711 -[19742] Forked 18712 -(18711) found -(18712) found -[19741] Forked 18713 -[19740] Forked 18714 -(18713) found -(18714) found -[19739] Forked 18715 -[19738] Forked 18716 -(18715) found -(18716) found -[19737] Forked 18717 -[19736] Forked 18718 -(18717) found -(18718) found -[19735] Forked 18719 -[19734] Forked 18720 -(18719) found -(18720) found -[19733] Forked 18721 -[19732] Forked 18722 -(18721) found -(18722) found -[19731] Forked 18723 -[19730] Forked 18724 -(18723) found -(18724) found -[19729] Forked 18725 -[19728] Forked 18726 -(18725) found -(18726) found -[19727] Forked 18727 -[19726] Forked 18728 -(18727) found -(18728) found -[19725] Forked 18729 -[19724] Forked 18730 -(18729) found -(18730) found -[19723] Forked 18731 -[19722] Forked 18732 -(18731) found -(18732) found -[19721] Forked 18733 -[19720] Forked 18734 -(18733) found -(18734) found -[19719] Forked 18735 -[19718] Forked 18736 -(18735) found -(18736) found -[19717] Forked 18737 -[19716] Forked 18738 -(18737) found -(18738) found -[19715] Forked 18739 -[19714] Forked 18740 -(18739) found -(18740) found -[19713] Forked 18741 -[19712] Forked 18742 -(18741) found -(18742) found -[19711] Forked 18743 -[19710] Forked 18744 -(18743) found -(18744) found -[19709] Forked 18745 -(18745) found -[19708] Forked 18746 -(18746) found -[19707] Forked 18747 -[19706] Forked 18748 -(18747) found -(18748) found -[19705] Forked 18749 -[19704] Forked 18750 -(18749) found -(18750) found -[19703] Forked 18751 -[19702] Forked 18752 -(18751) found -(18752) found -[19701] Forked 18753 -[19700] Forked 18754 -(18753) found -(18754) found -[19699] Forked 18755 -[19698] Forked 18756 -(18755) found -(18756) found -[19697] Forked 18757 -[19696] Forked 18758 -(18757) found -(18758) found -[19695] Forked 18759 -[19694] Forked 18760 -(18759) found -(18760) found -[19693] Forked 18761 -[19692] Forked 18762 -(18761) found -(18762) found -[19691] Forked 18763 -[19690] Forked 18764 -(18763) found -(18764) found -[19689] Forked 18765 -[19688] Forked 18766 -(18765) found -(18766) found -[19687] Forked 18767 -[19686] Forked 18768 -(18767) found -(18768) found -[19685] Forked 18769 -[19684] Forked 18770 -(18769) found -(18770) found -[19683] Forked 18771 -[19682] Forked 18772 -(18771) found -(18772) found -[19681] Forked 18773 -[19680] Forked 18774 -(18773) found -(18774) found -[19679] Forked 18775 -[19678] Forked 18776 -(18775) found -(18776) found -[19677] Forked 18777 -[19676] Forked 18778 -(18777) found -(18778) found -[19675] Forked 18779 -[19674] Forked 18780 -(18779) found -(18780) found -[19673] Forked 18781 -[19672] Forked 18782 -(18781) found -(18782) found -[19671] Forked 18783 -[19670] Forked 18784 -(18783) found -(18784) found -[19669] Forked 18785 -[19668] Forked 18786 -(18785) found -(18786) found -[19667] Forked 18787 -[19666] Forked 18788 -(18787) found -(18788) found -[19665] Forked 18789 -[19664] Forked 18790 -(18789) found -(18790) found -[19663] Forked 18791 -[19662] Forked 18792 -(18791) found -(18792) found -[19661] Forked 18793 -[19660] Forked 18794 -(18793) found -(18794) found -[19659] Forked 18795 -[19658] Forked 18796 -(18795) found -(18796) found -[19657] Forked 18797 -[19656] Forked 18798 -(18797) found -(18798) found -[19655] Forked 18799 -[19654] Forked 18800 -(18799) found -(18800) found -[19653] Forked 18801 -[19652] Forked 18802 -(18801) found -(18802) found -[19651] Forked 18803 -[19650] Forked 18804 -(18803) found -(18804) found -[19649] Forked 18805 -[19648] Forked 18806 -(18805) found -(18806) found -[19647] Forked 18807 -[19646] Forked 18808 -(18807) found -(18808) found -[19645] Forked 18809 -[19644] Forked 18810 -(18809) found -(18810) found -[19643] Forked 18811 -[19642] Forked 18812 -(18811) found -(18812) found -[19641] Forked 18813 -[19640] Forked 18814 -(18813) found -(18814) found -[19639] Forked 18815 -[19638] Forked 18816 -(18815) found -(18816) found -[19637] Forked 18817 -[19636] Forked 18818 -(18817) found -(18818) found -[19635] Forked 18819 -[19634] Forked 18820 -(18819) found -(18820) found -[19633] Forked 18821 -[19632] Forked 18822 -(18821) found -(18822) found -[19631] Forked 18823 -[19630] Forked 18824 -(18823) found -(18824) found -[19629] Forked 18825 -[19628] Forked 18826 -(18825) found -(18826) found -[19627] Forked 18827 -[19626] Forked 18828 -(18827) found -(18828) found -[19625] Forked 18829 -[19624] Forked 18830 -(18829) found -(18830) found -[19623] Forked 18831 -[19622] Forked 18832 -(18831) found -(18832) found -[19621] Forked 18833 -[19620] Forked 18834 -(18833) found -(18834) found -[19619] Forked 18835 -[19618] Forked 18836 -(18835) found -(18836) found -[19617] Forked 18837 -[19616] Forked 18838 -(18837) found -(18838) found -[19615] Forked 18839 -[19614] Forked 18840 -(18839) found -(18840) found -[19613] Forked 18841 -[19612] Forked 18842 -(18842) found -(18841) found -[19611] Forked 18843 -(18843) found -[19610] Forked 18844 -(18844) found -[19609] Forked 18845 -(18845) found -[19608] Forked 18846 -(18846) found -[19607] Forked 18847 -(18847) found -[19606] Forked 18848 -(18848) found -[19605] Forked 18849 -(18849) found -[19604] Forked 18850 -(18850) found -[19603] Forked 18851 -(18851) found -[19602] Forked 18852 -(18852) found -[19601] Forked 18853 -(18853) found -[19600] Forked 18854 -(18854) found -[19599] Forked 18855 -(18855) found -[19598] Forked 18856 -(18856) found -[19597] Forked 18857 -(18857) found -[19596] Forked 18858 -(18858) found -[19595] Forked 18859 -(18859) found -[19594] Forked 18860 -(18860) found -[19593] Forked 18861 -(18861) found -[19592] Forked 18862 -(18862) found -[19591] Forked 18863 -(18863) found -[19590] Forked 18864 -(18864) found -[19589] Forked 18865 -(18865) found -[19588] Forked 18866 -(18866) found -[19587] Forked 18867 -(18867) found -[19586] Forked 18868 -(18868) found -[19585] Forked 18869 -(18869) found -[19584] Forked 18870 -(18870) found -[19583] Forked 18871 -(18871) found -[19582] Forked 18872 -(18872) found -[19581] Forked 18873 -(18873) found -[19580] Forked 18874 -(18874) found -[19579] Forked 18875 -(18875) found -[19578] Forked 18876 -(18876) found -[19577] Forked 18877 -(18877) found -[19576] Forked 18878 -[19575] Forked 18879 -(18878) found -(18879) found -[19574] Forked 18880 -[19573] Forked 18881 -(18880) found -(18881) found -[19572] Forked 18882 -[19571] Forked 18883 -(18882) found -(18883) found -[19570] Forked 18884 -[19569] Forked 18885 -(18884) found -(18885) found -[19568] Forked 18886 -[19567] Forked 18887 -(18886) found -(18887) found -[19566] Forked 18888 -[19565] Forked 18889 -(18888) found -(18889) found -[19564] Forked 18890 -[19563] Forked 18891 -(18890) found -(18891) found -[19562] Forked 18892 -[19561] Forked 18893 -(18892) found -(18893) found -[19560] Forked 18894 -[19559] Forked 18895 -(18894) found -(18895) found -[19558] Forked 18896 -[19557] Forked 18897 -(18896) found -(18897) found -[19556] Forked 18898 -[19555] Forked 18899 -(18898) found -(18899) found -[19554] Forked 18900 -[19553] Forked 18901 -(18900) found -(18901) found -[19552] Forked 18902 -[19551] Forked 18903 -(18902) found -(18903) found -[19550] Forked 18904 -[19549] Forked 18905 -(18904) found -(18905) found -[19548] Forked 18906 -[19547] Forked 18907 -(18906) found -(18907) found -[19546] Forked 18908 -[19545] Forked 18909 -(18908) found -(18909) found -[19544] Forked 18910 -[19543] Forked 18911 -(18910) found -(18911) found -[19542] Forked 18912 -(18912) found -[19541] Forked 18913 -(18913) found -[19540] Forked 18914 -(18914) found -[19539] Forked 18915 -(18915) found -[19538] Forked 18916 -(18916) found -[19537] Forked 18917 -(18917) found -[19536] Forked 18918 -(18918) found -[19535] Forked 18919 -(18919) found -[19534] Forked 18920 -(18920) found -[19533] Forked 18921 -(18921) found -[19532] Forked 18922 -(18922) found -[19531] Forked 18923 -(18923) found -[19530] Forked 18924 -(18924) found -[19529] Forked 18925 -(18925) found -[19528] Forked 18926 -(18926) found -[19527] Forked 18927 -(18927) found -[19526] Forked 18928 -(18928) found -[19525] Forked 18929 -(18929) found -[19524] Forked 18930 -(18930) found -[19523] Forked 18931 -(18931) found -[19522] Forked 18932 -(18932) found -[19521] Forked 18933 -(18933) found -[19520] Forked 18934 -(18934) found -[19519] Forked 18935 -(18935) found -[19518] Forked 18936 -(18936) found -[19517] Forked 18937 -(18937) found -[19516] Forked 18938 -(18938) found -[19515] Forked 18939 -(18939) found -[19514] Forked 18940 -(18940) found -[19513] Forked 18941 -(18941) found -[19512] Forked 18942 -(18942) found -[19511] Forked 18943 -(18943) found -[19510] Forked 18944 -(18944) found -[19509] Forked 18945 -(18945) found -[19508] Forked 18946 -(18946) found -[19507] Forked 18947 -(18947) found -[19506] Forked 18948 -(18948) found -[19505] Forked 18949 -[19504] Forked 18950 -(18949) found -(18950) found -[19503] Forked 18951 -[19502] Forked 18952 -(18951) found -(18952) found -[19501] Forked 18953 -[19500] Forked 18954 -(18953) found -(18954) found -[19499] Forked 18955 -[19498] Forked 18956 -(18955) found -(18956) found -[19497] Forked 18957 -[19496] Forked 18958 -(18957) found -(18958) found -[19495] Forked 18959 -[19494] Forked 18960 -(18959) found -(18960) found -[19493] Forked 18961 -[19492] Forked 18962 -(18961) found -(18962) found -[19491] Forked 18963 -[19490] Forked 18964 -(18963) found -(18964) found -[19489] Forked 18965 -[19488] Forked 18966 -(18965) found -(18966) found -[19487] Forked 18967 -[19486] Forked 18968 -(18967) found -(18968) found -[19485] Forked 18969 -[19484] Forked 18970 -(18969) found -(18970) found -[19483] Forked 18971 -[19482] Forked 18972 -(18971) found -(18972) found -[19481] Forked 18973 -[19480] Forked 18974 -(18973) found -(18974) found -[19479] Forked 18975 -[19478] Forked 18976 -(18975) found -(18976) found -[19477] Forked 18977 -[19476] Forked 18978 -(18977) found -(18978) found -[19475] Forked 18979 -[19474] Forked 18980 -(18979) found -(18980) found -[19473] Forked 18981 -[19472] Forked 18982 -(18981) found -(18982) found -[19471] Forked 18983 -[19470] Forked 18984 -(18983) found -(18984) found -[19469] Forked 18985 -[19468] Forked 18986 -(18985) found -(18986) found -[19467] Forked 18987 -[19466] Forked 18988 -(18987) found -(18988) found -[19465] Forked 18989 -[19464] Forked 18990 -(18989) found -(18990) found -[19463] Forked 18991 -[19462] Forked 18992 -(18991) found -(18992) found -[19461] Forked 18993 -[19460] Forked 18994 -(18993) found -(18994) found -[19459] Forked 18995 -[19458] Forked 18996 -(18995) found -(18996) found -[19457] Forked 18997 -(18997) found -[19456] Forked 18998 -(18998) found -[19455] Forked 18999 -(18999) found -[19454] Forked 19000 -(19000) found -[19453] Forked 19001 -(19001) found -[19452] Forked 19002 -(19002) found -[19451] Forked 19003 -(19003) found -[19450] Forked 19004 -(19004) found -[19449] Forked 19005 -(19005) found -[19448] Forked 19006 -(19006) found -[19447] Forked 19007 -(19007) found -[19446] Forked 19008 -(19008) found -[19445] Forked 19009 -(19009) found -[19444] Forked 19010 -(19010) found -[19443] Forked 19011 -(19011) found -[19442] Forked 19012 -(19012) found -[19441] Forked 19013 -(19013) found -[19440] Forked 19014 -(19014) found -[19439] Forked 19015 -(19015) found -[19438] Forked 19016 -(19016) found -[19437] Forked 19017 -(19017) found -[19436] Forked 19018 -(19018) found -[19435] Forked 19019 -(19019) found -[19434] Forked 19020 -(19020) found -[19433] Forked 19021 -(19021) found -[19432] Forked 19022 -(19022) found -[19431] Forked 19023 -(19023) found -[19430] Forked 19024 -(19024) found -[19429] Forked 19025 -(19025) found -[19428] Forked 19026 -[19427] Forked 19027 -(19026) found -(19027) found -[19426] Forked 19028 -[19425] Forked 19029 -(19028) found -(19029) found -[19424] Forked 19030 -[19423] Forked 19031 -(19030) found -(19031) found -[19422] Forked 19032 -[19421] Forked 19033 -(19032) found -(19033) found -[19420] Forked 19034 -[19419] Forked 19035 -(19034) found -(19035) found -[19418] Forked 19036 -[19417] Forked 19037 -(19036) found -(19037) found -[19416] Forked 19038 -[19415] Forked 19039 -(19038) found -(19039) found -[19414] Forked 19040 -[19413] Forked 19041 -(19040) found -(19041) found -[19412] Forked 19042 -[19411] Forked 19043 -(19042) found -(19043) found -[19410] Forked 19044 -[19409] Forked 19045 -(19044) found -(19045) found -[19408] Forked 19046 -[19407] Forked 19047 -(19046) found -(19047) found -[19406] Forked 19048 -[19405] Forked 19049 -(19048) found -(19049) found -[19404] Forked 19050 -[19403] Forked 19051 -(19050) found -(19051) found -[19402] Forked 19052 -[19401] Forked 19053 -(19052) found -(19053) found -[19400] Forked 19054 -[19399] Forked 19055 -(19054) found -(19055) found -[19398] Forked 19056 -[19397] Forked 19057 -(19056) found -(19057) found -[19396] Forked 19058 -[19395] Forked 19059 -(19058) found -(19059) found -[19394] Forked 19060 -[19393] Forked 19061 -(19060) found -(19061) found -[19392] Forked 19062 -[19391] Forked 19063 -(19062) found -(19063) found -[19390] Forked 19064 -(19064) found -[19389] Forked 19065 -[19388] Forked 19066 -(19065) found -(19066) found -[19387] Forked 19067 -[19386] Forked 19068 -(19067) found -(19068) found -[19385] Forked 19069 -[19384] Forked 19070 -(19069) found -(19070) found -[19383] Forked 19071 -(19071) found -[19382] Forked 19072 -(19072) found -[19381] Forked 19073 -(19073) found -[19380] Forked 19074 -(19074) found -[19379] Forked 19075 -(19075) found -[19378] Forked 19076 -(19076) found -[19377] Forked 19077 -(19077) found -[19376] Forked 19078 -(19078) found -[19375] Forked 19079 -(19079) found -[19374] Forked 19080 -(19080) found -[19373] Forked 19081 -(19081) found -[19372] Forked 19082 -(19082) found -[19371] Forked 19084 -(19084) found -[19370] Forked 19085 -(19085) found -[19369] Forked 19086 -(19086) found -[19368] Forked 19087 -(19087) found -[19367] Forked 19088 -(19088) found -[19366] Forked 19089 -(19089) found -[19365] Forked 19090 -(19090) found -[19364] Forked 19091 -(19091) found -[19363] Forked 19092 -(19092) found -[19362] Forked 19093 -(19093) found -[19361] Forked 19094 -(19094) found -[19360] Forked 19097 -(19097) found -[19359] Forked 19098 -(19098) found -[19358] Forked 19099 -(19099) found -[19357] Forked 19100 -(19100) found -[19356] Forked 19102 -(19102) found -[19355] Forked 19104 -(19104) found -[19354] Forked 19105 -(19105) found -[19353] Forked 19106 -(19106) found -[19352] Forked 19107 -(19107) found -[19351] Forked 19108 -(19108) found -[19350] Forked 19109 -(19109) found -[19349] Forked 19110 -(19110) found -[19348] Forked 19111 -(19111) found -[19347] Forked 19112 -(19112) found -[19346] Forked 19113 -[19345] Forked 19114 -(19113) found -(19114) found -[19344] Forked 19115 -[19343] Forked 19116 -(19115) found -(19116) found -[19342] Forked 19117 -[19341] Forked 19118 -(19117) found -(19118) found -[19340] Forked 19119 -[19339] Forked 19120 -(19119) found -(19120) found -[19338] Forked 19122 -[19337] Forked 19123 -(19122) found -(19123) found -[19336] Forked 19124 -[19335] Forked 19125 -(19124) found -(19125) found -[19334] Forked 19126 -[19333] Forked 19127 -(19126) found -(19127) found -[19332] Forked 19128 -[19331] Forked 19129 -(19128) found -(19129) found -[19330] Forked 19130 -[19329] Forked 19131 -(19130) found -(19131) found -[19328] Forked 19132 -[19327] Forked 19133 -(19132) found -(19133) found -[19326] Forked 19134 -[19325] Forked 19135 -(19134) found -(19135) found -[19324] Forked 19136 -[19323] Forked 19137 -(19136) found -(19137) found -[19322] Forked 19138 -[19321] Forked 19139 -(19138) found -(19139) found -[19320] Forked 19140 -[19319] Forked 19141 -(19140) found -(19141) found -[19318] Forked 19142 -[19317] Forked 19143 -(19142) found -(19143) found -[19316] Forked 19144 -[19315] Forked 19145 -(19144) found -(19145) found -[19314] Forked 19146 -[19313] Forked 19147 -(19146) found -(19147) found -[19312] Forked 19148 -[19311] Forked 19149 -(19148) found -(19149) found -[19310] Forked 19150 -[19309] Forked 19151 -(19150) found -(19151) found -[19308] Forked 19152 -[19307] Forked 19153 -(19152) found -(19153) found -[19306] Forked 19154 -[19305] Forked 19155 -(19154) found -(19155) found -[19304] Forked 19156 -[19303] Forked 19157 -(19156) found -(19157) found -[19302] Forked 19158 -[19301] Forked 19159 -(19158) found -(19159) found -[19300] Forked 19160 -[19299] Forked 19161 -(19160) found -(19161) found -[19298] Forked 19162 -[19297] Forked 19163 -(19162) found -(19163) found -[19296] Forked 19164 -[19295] Forked 19165 -(19164) found -(19165) found -[19294] Forked 19166 -[19293] Forked 19167 -(19166) found -(19167) found -[19292] Forked 19168 -[19291] Forked 19169 -(19168) found -(19169) found -[19290] Forked 19170 -[19289] Forked 19171 -(19170) found -(19171) found -[19288] Forked 19172 -[19287] Forked 19173 -(19172) found -(19173) found -[19286] Forked 19174 -[19285] Forked 19175 -(19174) found -(19175) found -[19284] Forked 19176 -[19283] Forked 19177 -(19176) found -(19177) found -[19282] Forked 19178 -[19281] Forked 19179 -(19178) found -(19179) found -[19280] Forked 19180 -[19279] Forked 19181 -(19180) found -(19181) found -[19278] Forked 19182 -[19277] Forked 19183 -(19182) found -(19183) found -[19276] Forked 19184 -[19275] Forked 19186 -(19184) found -(19186) found -[19274] Forked 19187 -(19187) found -[19273] Forked 19188 -[19272] Forked 19189 -(19188) found -(19189) found -[19271] Forked 19191 -[19270] Forked 19192 -(19191) found -(19192) found -[19269] Forked 19193 -[19268] Forked 19194 -(19193) found -(19194) found -[19267] Forked 19195 -[19266] Forked 19196 -(19195) found -(19196) found -[19265] Forked 19197 -[19264] Forked 19198 -(19197) found -(19198) found -[19263] Forked 19199 -[19262] Forked 19200 -(19199) found -(19200) found -[19261] Forked 19201 -[19260] Forked 19202 -(19201) found -(19202) found -[19259] Forked 19203 -[19258] Forked 19204 -(19203) found -(19204) found -[19257] Forked 19205 -[19256] Forked 19206 -(19205) found -(19206) found -[19255] Forked 19207 -[19254] Forked 19208 -(19207) found -(19208) found -[19253] Forked 19209 -[19252] Forked 19210 -(19209) found -(19210) found -[19251] Forked 19211 -[19250] Forked 19212 -(19211) found -(19212) found -[19249] Forked 19213 -[19248] Forked 19214 -(19213) found -(19214) found -[19247] Forked 19215 -[19246] Forked 19216 -(19215) found -(19216) found -[19245] Forked 19217 -[19244] Forked 19218 -(19217) found -(19218) found -[19243] Forked 19219 -[19242] Forked 19220 -(19219) found -(19220) found -[19241] Forked 19221 -[19240] Forked 19222 -(19221) found -(19222) found -[19239] Forked 19223 -[19238] Forked 19224 -(19223) found -(19224) found -[19237] Forked 19225 -[19236] Forked 19226 -(19225) found -(19226) found -[19235] Forked 19227 -[19234] Forked 19228 -(19227) found -(19228) found -[19233] Forked 19229 -[19232] Forked 19230 -(19229) found -(19230) found -[19231] Forked 19231 -[19230] Forked 19232 -(19231) found -(19232) found -[19229] Forked 19233 -[19228] Forked 19234 -(19233) found -(19234) found -[19227] Forked 19235 -[19226] Forked 19236 -(19235) found -(19236) found -[19225] Forked 19237 -[19224] Forked 19238 -(19237) found -(19238) found -[19223] Forked 19239 -[19222] Forked 19240 -(19239) found -(19240) found -[19221] Forked 19241 -[19220] Forked 19242 -(19241) found -(19242) found -[19219] Forked 19243 -[19218] Forked 19244 -(19243) found -(19244) found -[19217] Forked 19245 -[19216] Forked 19246 -(19245) found -(19246) found -[19215] Forked 19247 -[19214] Forked 19248 -(19247) found -(19248) found -[19213] Forked 19249 -[19212] Forked 19250 -(19249) found -(19250) found -[19211] Forked 19251 -(19251) found -[19210] Forked 19252 -(19252) found -[19209] Forked 19253 -(19253) found -[19208] Forked 19254 -(19254) found -[19207] Forked 19255 -(19255) found -[19206] Forked 19256 -(19256) found -[19205] Forked 19257 -(19257) found -[19204] Forked 19258 -(19258) found -[19203] Forked 19259 -(19259) found -[19202] Forked 19260 -(19260) found -[19201] Forked 19261 -(19261) found -[19200] Forked 19262 -(19262) found -[19199] Forked 19263 -(19263) found -[19198] Forked 19264 -(19264) found -[19197] Forked 19265 -(19265) found -[19196] Forked 19266 -(19266) found -[19195] Forked 19267 -(19267) found -[19194] Forked 19268 -(19268) found -[19193] Forked 19269 -(19269) found -[19192] Forked 19270 -(19270) found -[19191] Forked 19271 -(19271) found -[19190] Forked 19272 -(19272) found -[19189] Forked 19273 -(19273) found -[19188] Forked 19274 -(19274) found -[19187] Forked 19275 -(19275) found -[19186] Forked 19276 -(19276) found -[19185] Forked 19277 -(19277) found -[19184] Forked 19278 -(19278) found -[19183] Forked 19279 -(19279) found -[19182] Forked 19280 -(19280) found -[19181] Forked 19281 -(19281) found -[19180] Forked 19282 -(19282) found -[19179] Forked 19283 -(19283) found -[19178] Forked 19284 -(19284) found -[19177] Forked 19285 -(19285) found -[19176] Forked 19286 -(19286) found -[19175] Forked 19287 -(19287) found -[19174] Forked 19288 -[19173] Forked 19289 -(19288) found -(19289) found -[19172] Forked 19290 -(19290) found -[19171] Forked 19291 -(19291) found -[19170] Forked 19292 -(19292) found -[19169] Forked 19293 -(19293) found -[19168] Forked 19294 -(19294) found -[19167] Forked 19295 -(19295) found -[19166] Forked 19296 -(19296) found -[19165] Forked 19297 -(19297) found -[19164] Forked 19298 -(19298) found -[19163] Forked 19299 -(19299) found -[19162] Forked 19300 -(19300) found -[19161] Forked 19301 -(19301) found -[19160] Forked 19302 -(19302) found -[19159] Forked 19303 -(19303) found -[19158] Forked 19304 -(19304) found -[19157] Forked 19305 -(19305) found -[19156] Forked 19306 -(19306) found -[19155] Forked 19307 -(19307) found -[19154] Forked 19308 -(19308) found -[19153] Forked 19309 -(19309) found -[19152] Forked 19310 -(19310) found -[19151] Forked 19311 -(19311) found -[19150] Forked 19312 -(19312) found -[19149] Forked 19313 -(19313) found -[19148] Forked 19314 -(19314) found -[19147] Forked 19315 -(19315) found -[19146] Forked 19316 -(19316) found -[19145] Forked 19317 -(19317) found -[19144] Forked 19318 -(19318) found -[19143] Forked 19319 -(19319) found -[19142] Forked 19320 -[19141] Forked 19321 -(19321) found -(19320) found -[19140] Forked 19322 -(19322) found -[19139] Forked 19323 -(19323) found -[19138] Forked 19324 -(19324) found -[19137] Forked 19325 -(19325) found -[19136] Forked 19326 -(19326) found -[19135] Forked 19327 -(19327) found -[19134] Forked 19328 -(19328) found -[19133] Forked 19329 -(19329) found -[19132] Forked 19330 -(19330) found -[19131] Forked 19331 -(19331) found -[19130] Forked 19332 -(19332) found -[19129] Forked 19333 -(19333) found -[19128] Forked 19334 -(19334) found -[19127] Forked 19335 -(19335) found -[19126] Forked 19336 -(19336) found -[19125] Forked 19337 -(19337) found -[19124] Forked 19338 -(19338) found -[19123] Forked 19339 -(19339) found -[19122] Forked 19340 -(19340) found -[19121] Forked 19341 -(19341) found -[19120] Forked 19342 -(19342) found -[19119] Forked 19343 -(19343) found -[19118] Forked 19344 -(19344) found -[19117] Forked 19345 -(19345) found -[19116] Forked 19346 -(19346) found -[19115] Forked 19347 -(19347) found -[19114] Forked 19348 -(19348) found -[19113] Forked 19349 -(19349) found -[19112] Forked 19352 -(19352) found -[19111] Forked 19353 -(19353) found -[19110] Forked 19354 -(19354) found -[19109] Forked 19355 -(19355) found -[19108] Forked 19356 -(19356) found -[19107] Forked 19357 -(19357) found -[19106] Forked 19359 -(19359) found -[19105] Forked 19360 -(19360) found -[19104] Forked 19361 -(19361) found -[19103] Forked 19362 -(19362) found -[19102] Forked 19363 -(19363) found -[19101] Forked 19364 -(19364) found -[19100] Forked 19365 -(19365) found -[19099] Forked 19366 -(19366) found -[19098] Forked 19367 -(19367) found -[19097] Forked 19368 -(19368) found -[19096] Forked 19369 -(19369) found -[19095] Forked 19370 -(19370) found -[19094] Forked 19371 -(19371) found -[19093] Forked 19372 -(19372) found -[19092] Forked 19373 -(19373) found -[19091] Forked 19374 -(19374) found -[19090] Forked 19375 -(19375) found -[19089] Forked 19376 -(19376) found -[19088] Forked 19377 -(19377) found -[19087] Forked 19378 -(19378) found -[19086] Forked 19379 -(19379) found -[19085] Forked 19380 -(19380) found -[19084] Forked 19381 -(19381) found -[19083] Forked 19382 -(19382) found -[19082] Forked 19383 -(19383) found -[19081] Forked 19384 -(19384) found -[19080] Forked 19385 -(19385) found -[19079] Forked 19386 -(19386) found -[19078] Forked 19387 -(19387) found -[19077] Forked 19388 -(19388) found -[19076] Forked 19389 -(19389) found -[19075] Forked 19390 -(19390) found -[19074] Forked 19391 -(19391) found -[19073] Forked 19392 -(19392) found -[19072] Forked 19393 -(19393) found -[19071] Forked 19394 -(19394) found -[19070] Forked 19395 -(19395) found -[19069] Forked 19396 -(19396) found -[19068] Forked 19397 -[19067] Forked 19398 -(19397) found -(19398) found -[19066] Forked 19399 -[19065] Forked 19400 -(19399) found -(19400) found -[19064] Forked 19401 -[19063] Forked 19402 -(19401) found -(19402) found -[19062] Forked 19403 -[19061] Forked 19404 -(19403) found -(19404) found -[19060] Forked 19405 -[19059] Forked 19406 -(19405) found -(19406) found -[19058] Forked 19407 -[19057] Forked 19408 -(19407) found -(19408) found -[19056] Forked 19409 -[19055] Forked 19410 -(19409) found -(19410) found -[19054] Forked 19411 -[19053] Forked 19412 -(19411) found -(19412) found -[19052] Forked 19413 -[19051] Forked 19414 -(19413) found -(19414) found -[19050] Forked 19415 -[19049] Forked 19416 -(19415) found -(19416) found -[19048] Forked 19417 -[19047] Forked 19418 -(19417) found -(19418) found -[19046] Forked 19419 -[19045] Forked 19420 -(19419) found -(19420) found -[19044] Forked 19421 -[19043] Forked 19422 -(19421) found -(19422) found -[19042] Forked 19423 -[19041] Forked 19424 -(19423) found -(19424) found -[19040] Forked 19425 -[19039] Forked 19426 -(19425) found -(19426) found -[19038] Forked 19427 -[19037] Forked 19428 -(19427) found -(19428) found -[19036] Forked 19429 -(19429) found -[19035] Forked 19430 -(19430) found -[19034] Forked 19431 -(19431) found -[19033] Forked 19432 -(19432) found -[19032] Forked 19433 -(19433) found -[19031] Forked 19434 -(19434) found -[19030] Forked 19435 -(19435) found -[19029] Forked 19436 -(19436) found -[19028] Forked 19437 -(19437) found -[19027] Forked 19438 -(19438) found -[19026] Forked 19439 -(19439) found -[19025] Forked 19440 -(19440) found -[19024] Forked 19441 -(19441) found -[19023] Forked 19442 -(19442) found -[19022] Forked 19443 -(19443) found -[19021] Forked 19444 -(19444) found -[19020] Forked 19445 -(19445) found -[19019] Forked 19446 -(19446) found -[19018] Forked 19447 -(19447) found -[19017] Forked 19448 -(19448) found -[19016] Forked 19449 -(19449) found -[19015] Forked 19450 -(19450) found -[19014] Forked 19451 -(19451) found -[19013] Forked 19452 -(19452) found -[19012] Forked 19453 -(19453) found -[19011] Forked 19454 -(19454) found -[19010] Forked 19455 -[19009] Forked 19456 -(19455) found -(19456) found -[19008] Forked 19457 -[19007] Forked 19458 -(19457) found -(19458) found -[19006] Forked 19459 -[19005] Forked 19460 -(19459) found -(19460) found -[19004] Forked 19461 -[19003] Forked 19462 -(19461) found -(19462) found -[19002] Forked 19463 -[19001] Forked 19464 -(19463) found -(19464) found -[19000] Forked 19465 -[18999] Forked 19466 -(19465) found -(19466) found -[18998] Forked 19467 -[18997] Forked 19468 -(19467) found -(19468) found -[18996] Forked 19469 -[18995] Forked 19470 -(19469) found -(19470) found -[18994] Forked 19471 -[18993] Forked 19472 -(19471) found -(19472) found -[18992] Forked 19473 -[18991] Forked 19474 -(19473) found -(19474) found -[18990] Forked 19475 -[18989] Forked 19476 -(19475) found -(19476) found -[18988] Forked 19477 -[18987] Forked 19478 -(19477) found -(19478) found -[18986] Forked 19479 -[18985] Forked 19480 -(19479) found -(19480) found -[18984] Forked 19481 -[18983] Forked 19482 -(19481) found -(19482) found -[18982] Forked 19483 -[18981] Forked 19484 -(19483) found -(19484) found -[18980] Forked 19485 -[18979] Forked 19486 -(19485) found -(19486) found -[18978] Forked 19487 -[18977] Forked 19488 -(19487) found -(19488) found -[18976] Forked 19489 -[18975] Forked 19490 -(19489) found -(19490) found -[18974] Forked 19491 -[18973] Forked 19492 -(19491) found -(19492) found -[18972] Forked 19493 -[18971] Forked 19494 -(19493) found -(19494) found -[18970] Forked 19495 -(19495) found -[18969] Forked 19496 -[18968] Forked 19497 -(19496) found -(19497) found -[18967] Forked 19498 -[18966] Forked 19499 -(19498) found -(19499) found -[18965] Forked 19500 -(19500) found -[18964] Forked 19501 -[18963] Forked 19502 -(19501) found -(19502) found -[18962] Forked 19503 -[18961] Forked 19504 -(19503) found -(19504) found -[18960] Forked 19505 -[18959] Forked 19506 -(19505) found -(19506) found -[18958] Forked 19507 -[18957] Forked 19508 -(19507) found -(19508) found -[18956] Forked 19509 -[18955] Forked 19510 -(19509) found -(19510) found -[18954] Forked 19511 -[18953] Forked 19512 -(19511) found -(19512) found -[18952] Forked 19513 -[18951] Forked 19514 -(19513) found -(19514) found -[18950] Forked 19515 -[18949] Forked 19516 -(19515) found -(19516) found -[18948] Forked 19517 -[18947] Forked 19518 -(19517) found -(19518) found -[18946] Forked 19519 -[18945] Forked 19520 -(19519) found -(19520) found -[18944] Forked 19521 -[18943] Forked 19522 -(19521) found -(19522) found -[18942] Forked 19523 -[18941] Forked 19524 -(19523) found -(19524) found -[18940] Forked 19525 -[18939] Forked 19526 -(19525) found -(19526) found -[18938] Forked 19527 -[18937] Forked 19528 -(19527) found -(19528) found -[18936] Forked 19529 -[18935] Forked 19530 -(19529) found -(19530) found -[18934] Forked 19531 -[18933] Forked 19532 -(19531) found -(19532) found -[18932] Forked 19533 -[18931] Forked 19534 -(19533) found -(19534) found -[18930] Forked 19535 -[18929] Forked 19536 -(19535) found -(19536) found -[18928] Forked 19537 -[18927] Forked 19538 -(19537) found -(19538) found -[18926] Forked 19539 -[18925] Forked 19540 -(19539) found -(19540) found -[18924] Forked 19541 -[18923] Forked 19542 -(19541) found -(19542) found -[18922] Forked 19543 -[18921] Forked 19544 -(19543) found -(19544) found -[18920] Forked 19545 -[18919] Forked 19546 -(19545) found -(19546) found -[18918] Forked 19547 -[18917] Forked 19548 -(19547) found -(19548) found -[18916] Forked 19549 -[18915] Forked 19550 -(19549) found -(19550) found -[18914] Forked 19551 -[18913] Forked 19552 -(19551) found -(19552) found -[18912] Forked 19553 -[18911] Forked 19554 -(19553) found -(19554) found -[18910] Forked 19555 -[18909] Forked 19556 -(19555) found -(19556) found -[18908] Forked 19557 -[18907] Forked 19558 -(19557) found -(19558) found -[18906] Forked 19559 -[18905] Forked 19560 -(19559) found -(19560) found -[18904] Forked 19561 -[18903] Forked 19562 -(19561) found -(19562) found -[18902] Forked 19563 -[18901] Forked 19564 -(19563) found -(19564) found -[18900] Forked 19565 -[18899] Forked 19566 -(19565) found -(19566) found -[18898] Forked 19567 -[18897] Forked 19568 -(19567) found -(19568) found -[18896] Forked 19569 -[18895] Forked 19570 -(19569) found -(19570) found -[18894] Forked 19571 -[18893] Forked 19572 -(19571) found -(19572) found -[18892] Forked 19573 -[18891] Forked 19574 -(19573) found -(19574) found -[18890] Forked 19575 -[18889] Forked 19576 -(19575) found -(19576) found -[18888] Forked 19577 -[18887] Forked 19578 -(19577) found -(19578) found -[18886] Forked 19579 -[18885] Forked 19580 -(19579) found -(19580) found -[18884] Forked 19581 -[18883] Forked 19582 -(19581) found -(19582) found -[18882] Forked 19583 -[18881] Forked 19584 -(19583) found -(19584) found -[18880] Forked 19585 -[18879] Forked 19586 -(19585) found -(19586) found -[18878] Forked 19587 -[18877] Forked 19588 -(19587) found -(19588) found -[18876] Forked 19589 -[18875] Forked 19590 -(19589) found -(19590) found -[18874] Forked 19591 -[18873] Forked 19592 -(19591) found -(19592) found -[18872] Forked 19593 -[18871] Forked 19594 -(19593) found -(19594) found -[18870] Forked 19595 -[18869] Forked 19596 -(19595) found -(19596) found -[18868] Forked 19597 -[18867] Forked 19598 -(19597) found -(19598) found -[18866] Forked 19599 -[18865] Forked 19600 -(19599) found -(19600) found -[18864] Forked 19601 -[18863] Forked 19602 -(19601) found -(19602) found -[18862] Forked 19603 -[18861] Forked 19604 -(19603) found -(19604) found -[18860] Forked 19605 -[18859] Forked 19606 -(19605) found -(19606) found -[18858] Forked 19607 -[18857] Forked 19608 -(19607) found -(19608) found -[18856] Forked 19609 -[18855] Forked 19610 -(19609) found -(19610) found -[18854] Forked 19611 -[18853] Forked 19612 -(19611) found -(19612) found -[18852] Forked 19613 -[18851] Forked 19614 -(19613) found -(19614) found -[18850] Forked 19615 -[18849] Forked 19616 -(19615) found -(19616) found -[18848] Forked 19617 -[18847] Forked 19618 -(19617) found -(19618) found -[18846] Forked 19619 -[18845] Forked 19620 -(19619) found -(19620) found -[18844] Forked 19621 -[18843] Forked 19622 -(19621) found -(19622) found -[18842] Forked 19623 -[18841] Forked 19624 -(19623) found -(19624) found -[18840] Forked 19625 -[18839] Forked 19626 -(19625) found -(19626) found -[18838] Forked 19627 -[18837] Forked 19628 -(19627) found -(19628) found -[18836] Forked 19629 -[18835] Forked 19630 -(19629) found -(19630) found -[18834] Forked 19631 -[18833] Forked 19632 -(19631) found -(19632) found -[18832] Forked 19633 -[18831] Forked 19634 -(19633) found -(19634) found -[18830] Forked 19635 -[18829] Forked 19636 -(19635) found -(19636) found -[18828] Forked 19637 -[18827] Forked 19638 -(19637) found -(19638) found -[18826] Forked 19639 -[18825] Forked 19640 -(19639) found -(19640) found -[18824] Forked 19641 -[18823] Forked 19642 -(19641) found -(19642) found -[18822] Forked 19643 -[18821] Forked 19644 -(19643) found -(19644) found -[18820] Forked 19645 -[18819] Forked 19646 -(19645) found -(19646) found -[18818] Forked 19647 -[18817] Forked 19648 -(19647) found -(19648) found -[18816] Forked 19649 -[18815] Forked 19650 -(19649) found -(19650) found -[18814] Forked 19651 -[18813] Forked 19652 -(19651) found -(19652) found -[18812] Forked 19653 -[18811] Forked 19654 -(19653) found -(19654) found -[18810] Forked 19655 -[18809] Forked 19656 -(19655) found -(19656) found -[18808] Forked 19657 -[18807] Forked 19658 -(19657) found -(19658) found -[18806] Forked 19659 -[18805] Forked 19660 -(19659) found -(19660) found -[18804] Forked 19661 -[18803] Forked 19662 -(19661) found -(19662) found -[18802] Forked 19663 -[18801] Forked 19664 -(19663) found -(19664) found -[18800] Forked 19665 -[18799] Forked 19666 -(19665) found -(19666) found -[18798] Forked 19667 -[18797] Forked 19668 -(19667) found -(19668) found -[18796] Forked 19669 -[18795] Forked 19670 -(19669) found -(19670) found -[18794] Forked 19671 -[18793] Forked 19672 -(19671) found -(19672) found -[18792] Forked 19673 -[18791] Forked 19674 -(19673) found -(19674) found -[18790] Forked 19675 -[18789] Forked 19676 -(19675) found -(19676) found -[18788] Forked 19677 -[18787] Forked 19678 -(19677) found -(19678) found -[18786] Forked 19679 -[18785] Forked 19680 -(19679) found -(19680) found -[18784] Forked 19681 -(19681) found -[18783] Forked 19682 -(19682) found -[18782] Forked 19683 -(19683) found -[18781] Forked 19684 -(19684) found -[18780] Forked 19685 -(19685) found -[18779] Forked 19686 -(19686) found -[18778] Forked 19687 -(19687) found -[18777] Forked 19688 -(19688) found -[18776] Forked 19689 -(19689) found -[18775] Forked 19690 -(19690) found -[18774] Forked 19691 -(19691) found -[18773] Forked 19692 -(19692) found -[18772] Forked 19693 -(19693) found -[18771] Forked 19694 -(19694) found -[18770] Forked 19695 -(19695) found -[18769] Forked 19696 -(19696) found -[18768] Forked 19697 -(19697) found -[18767] Forked 19698 -(19698) found -[18766] Forked 19699 -(19699) found -[18765] Forked 19700 -(19700) found -[18764] Forked 19701 -(19701) found -[18763] Forked 19702 -(19702) found -[18762] Forked 19703 -(19703) found -[18761] Forked 19704 -(19704) found -[18760] Forked 19705 -(19705) found -[18759] Forked 19706 -(19706) found -[18758] Forked 19707 -(19707) found -[18757] Forked 19708 -(19708) found -[18756] Forked 19709 -(19709) found -[18755] Forked 19710 -(19710) found -[18754] Forked 19711 -(19711) found -[18753] Forked 19712 -(19712) found -[18752] Forked 19713 -(19713) found -[18751] Forked 19714 -(19714) found -[18750] Forked 19715 -(19715) found -[18749] Forked 19716 -(19716) found -[18748] Forked 19717 -[18747] Forked 19718 -(19717) found -(19718) found -[18746] Forked 19719 -[18745] Forked 19720 -(19719) found -(19720) found -[18744] Forked 19721 -[18743] Forked 19722 -(19721) found -(19722) found -[18742] Forked 19723 -[18741] Forked 19724 -(19723) found -(19724) found -[18740] Forked 19725 -[18739] Forked 19726 -(19725) found -(19726) found -[18738] Forked 19727 -[18737] Forked 19728 -(19727) found -(19728) found -[18736] Forked 19729 -[18735] Forked 19730 -(19729) found -(19730) found -[18734] Forked 19731 -[18733] Forked 19732 -(19731) found -(19732) found -[18732] Forked 19733 -[18731] Forked 19734 -(19733) found -(19734) found -[18730] Forked 19735 -[18729] Forked 19736 -(19735) found -(19736) found -[18728] Forked 19737 -[18727] Forked 19738 -(19737) found -(19738) found -[18726] Forked 19739 -[18725] Forked 19740 -(19739) found -(19740) found -[18724] Forked 19741 -[18723] Forked 19742 -(19741) found -(19742) found -[18722] Forked 19743 -[18721] Forked 19744 -(19743) found -(19744) found -[18720] Forked 19745 -[18719] Forked 19746 -(19745) found -(19746) found -[18718] Forked 19747 -[18717] Forked 19748 -(19747) found -(19748) found -[18716] Forked 19749 -[18715] Forked 19750 -(19749) found -(19750) found -[18714] Forked 19751 -[18713] Forked 19752 -(19751) found -(19752) found -[18712] Forked 19753 -[18711] Forked 19755 -(19753) found -(19755) found -[18710] Forked 19756 -(19756) found -[18709] Forked 19757 -(19757) found -[18708] Forked 19758 -(19758) found -[18707] Forked 19759 -(19759) found -[18706] Forked 19760 -(19760) found -[18705] Forked 19761 -(19761) found -[18704] Forked 19762 -(19762) found -[18703] Forked 19763 -(19763) found -[18702] Forked 19764 -(19764) found -[18701] Forked 19765 -(19765) found -[18700] Forked 19766 -(19766) found -[18699] Forked 19767 -(19767) found -[18698] Forked 19768 -(19768) found -[18697] Forked 19769 -(19769) found -[18696] Forked 19770 -(19770) found -[18695] Forked 19771 -(19771) found -[18694] Forked 19772 -(19772) found -[18693] Forked 19773 -(19773) found -[18692] Forked 19774 -(19774) found -[18691] Forked 19775 -(19775) found -[18690] Forked 19776 -(19776) found -[18689] Forked 19777 -(19777) found -[18688] Forked 19778 -(19778) found -[18687] Forked 19779 -(19779) found -[18686] Forked 19780 -(19780) found -[18685] Forked 19781 -(19781) found -[18684] Forked 19782 -(19782) found -[18683] Forked 19783 -(19783) found -[18682] Forked 19784 -(19784) found -[18681] Forked 19785 -(19785) found -[18680] Forked 19786 -(19786) found -[18679] Forked 19787 -(19787) found -[18678] Forked 19788 -(19788) found -[18677] Forked 19789 -(19789) found -[18676] Forked 19790 -(19790) found -[18675] Forked 19791 -(19791) found -[18674] Forked 19792 -(19792) found -[18673] Forked 19793 -(19793) found -[18672] Forked 19794 -(19794) found -[18671] Forked 19795 -(19795) found -[18670] Forked 19796 -(19796) found -[18669] Forked 19797 -[18668] Forked 19798 -(19797) found -(19798) found -[18667] Forked 19799 -[18666] Forked 19800 -(19799) found -(19800) found -[18665] Forked 19801 -[18664] Forked 19802 -(19801) found -(19802) found -[18663] Forked 19803 -[18662] Forked 19804 -(19803) found -(19804) found -[18661] Forked 19805 -[18660] Forked 19806 -(19805) found -(19806) found -[18659] Forked 19807 -[18658] Forked 19808 -(19807) found -(19808) found -[18657] Forked 19809 -[18656] Forked 19810 -(19809) found -(19810) found -[18655] Forked 19811 -[18654] Forked 19812 -(19811) found -(19812) found -[18653] Forked 19813 -[18652] Forked 19814 -(19813) found -(19814) found -[18651] Forked 19815 -[18650] Forked 19816 -(19815) found -(19816) found -[18649] Forked 19817 -[18648] Forked 19818 -(19817) found -(19818) found -[18647] Forked 19819 -[18646] Forked 19820 -(19819) found -(19820) found -[18645] Forked 19821 -[18644] Forked 19822 -(19821) found -(19822) found -[18643] Forked 19823 -[18642] Forked 19824 -(19823) found -(19824) found -[18641] Forked 19825 -[18640] Forked 19826 -(19825) found -(19826) found -[18639] Forked 19827 -[18638] Forked 19828 -(19827) found -(19828) found -[18637] Forked 19829 -[18636] Forked 19830 -(19829) found -(19830) found -[18635] Forked 19831 -[18634] Forked 19832 -(19831) found -(19832) found -[18633] Forked 19833 -[18632] Forked 19834 -(19833) found -(19834) found -[18631] Forked 19835 -[18630] Forked 19836 -(19835) found -(19836) found -[18629] Forked 19837 -[18628] Forked 19838 -(19837) found -(19838) found -[18627] Forked 19839 -[18626] Forked 19840 -(19839) found -(19840) found -[18625] Forked 19841 -[18624] Forked 19842 -(19841) found -(19842) found -[18623] Forked 19843 -[18622] Forked 19844 -(19843) found -(19844) found -[18621] Forked 19845 -(19845) found -[18620] Forked 19846 -(19846) found -[18619] Forked 19847 -(19847) found -[18618] Forked 19848 -(19848) found -[18617] Forked 19849 -(19849) found -[18616] Forked 19850 -(19850) found -[18615] Forked 19851 -(19851) found -[18614] Forked 19852 -(19852) found -[18613] Forked 19853 -(19853) found -[18612] Forked 19854 -(19854) found -[18611] Forked 19855 -(19855) found -[18610] Forked 19856 -(19856) found -[18609] Forked 19857 -(19857) found -[18608] Forked 19858 -(19858) found -[18607] Forked 19859 -(19859) found -[18606] Forked 19860 -(19860) found -[18605] Forked 19861 -(19861) found -[18604] Forked 19862 -(19862) found -[18603] Forked 19863 -(19863) found -[18602] Forked 19864 -(19864) found -[18601] Forked 19865 -(19865) found -[18600] Forked 19866 -(19866) found -[18599] Forked 19867 -(19867) found -[18598] Forked 19868 -(19868) found -[18597] Forked 19869 -(19869) found -[18596] Forked 19870 -(19870) found -[18595] Forked 19871 -(19871) found -[18594] Forked 19872 -(19872) found -[18593] Forked 19873 -(19873) found -[18592] Forked 19874 -(19874) found -[18591] Forked 19875 -(19875) found -[18590] Forked 19876 -(19876) found -[18589] Forked 19877 -(19877) found -[18588] Forked 19878 -(19878) found -[18587] Forked 19879 -[18586] Forked 19880 -(19879) found -(19880) found -[18585] Forked 19881 -[18584] Forked 19882 -(19881) found -(19882) found -[18583] Forked 19883 -[18582] Forked 19884 -(19883) found -(19884) found -[18581] Forked 19885 -[18580] Forked 19886 -(19885) found -(19886) found -[18579] Forked 19887 -[18578] Forked 19888 -(19887) found -(19888) found -[18577] Forked 19889 -[18576] Forked 19890 -(19889) found -(19890) found -[18575] Forked 19891 -[18574] Forked 19892 -(19891) found -(19892) found -[18573] Forked 19893 -[18572] Forked 19894 -(19893) found -(19894) found -[18571] Forked 19895 -[18570] Forked 19896 -(19895) found -(19896) found -[18569] Forked 19897 -[18568] Forked 19898 -(19897) found -(19898) found -[18567] Forked 19899 -[18566] Forked 19900 -(19899) found -(19900) found -[18565] Forked 19901 -[18564] Forked 19902 -(19901) found -(19902) found -[18563] Forked 19903 -[18562] Forked 19904 -(19903) found -(19904) found -[18561] Forked 19905 -[18560] Forked 19906 -(19905) found -(19906) found -[18559] Forked 19907 -[18558] Forked 19908 -(19907) found -(19908) found -[18557] Forked 19909 -[18556] Forked 19910 -(19909) found -(19910) found -[18555] Forked 19911 -[18554] Forked 19912 -(19911) found -(19912) found -[18553] Forked 19913 -[18552] Forked 19914 -(19913) found -(19914) found -[18551] Forked 19915 -[18550] Forked 19916 -(19915) found -(19916) found -[18549] Forked 19917 -[18548] Forked 19918 -(19917) found -(19918) found -[18547] Forked 19919 -[18546] Forked 19920 -(19919) found -(19920) found -[18545] Forked 19921 -[18544] Forked 19922 -(19921) found -(19922) found -[18543] Forked 19923 -[18542] Forked 19924 -(19923) found -(19924) found -[18541] Forked 19925 -[18540] Forked 19926 -(19925) found -(19926) found -[18539] Forked 19927 -[18538] Forked 19928 -(19927) found -(19928) found -[18537] Forked 19929 -[18536] Forked 19930 -(19929) found -(19930) found -[18535] Forked 19931 -[18534] Forked 19932 -(19931) found -(19932) found -[18533] Forked 19933 -[18532] Forked 19934 -(19933) found -(19934) found -[18531] Forked 19935 -[18530] Forked 19936 -(19935) found -(19936) found -[18529] Forked 19937 -[18528] Forked 19938 -(19937) found -(19938) found -[18527] Forked 19939 -[18526] Forked 19940 -(19939) found -(19940) found -[18525] Forked 19941 -[18524] Forked 19942 -(19941) found -(19942) found -[18523] Forked 19943 -[18522] Forked 19944 -(19943) found -(19944) found -[18521] Forked 19945 -[18520] Forked 19946 -(19945) found -(19946) found -[18519] Forked 19947 -[18518] Forked 19948 -(19947) found -(19948) found -[18517] Forked 19949 -[18516] Forked 19950 -(19949) found -(19950) found -[18515] Forked 19951 -[18514] Forked 19952 -(19951) found -(19952) found -[18513] Forked 19953 -[18512] Forked 19954 -(19953) found -(19954) found -[18511] Forked 19955 -[18510] Forked 19956 -(19955) found -(19956) found -[18509] Forked 19957 -[18508] Forked 19958 -(19957) found -(19958) found -[18507] Forked 19959 -[18506] Forked 19960 -(19959) found -(19960) found -[18505] Forked 19961 -[18504] Forked 19962 -(19961) found -(19962) found -[18503] Forked 19963 -[18502] Forked 19964 -(19963) found -(19964) found -[18501] Forked 19965 -[18500] Forked 19966 -(19965) found -(19966) found -[18499] Forked 19967 -[18498] Forked 19968 -(19967) found -(19968) found -[18497] Forked 19969 -[18496] Forked 19970 -(19969) found -(19970) found -[18495] Forked 19971 -(19971) found -[18494] Forked 19972 -(19972) found -[18493] Forked 19973 -(19973) found -[18492] Forked 19974 -(19974) found -[18491] Forked 19975 -(19975) found -[18490] Forked 19976 -(19976) found -[18489] Forked 19977 -(19977) found -[18488] Forked 19978 -(19978) found -[18487] Forked 19979 -(19979) found -[18486] Forked 19980 -(19980) found -[18485] Forked 19981 -(19981) found -[18484] Forked 19982 -(19982) found -[18483] Forked 19983 -(19983) found -[18482] Forked 19984 -(19984) found -[18481] Forked 19985 -(19985) found -[18480] Forked 19986 -(19986) found -[18479] Forked 19987 -(19987) found -[18478] Forked 19988 -(19988) found -[18477] Forked 19989 -(19989) found -[18476] Forked 19990 -(19990) found -[18475] Forked 19991 -(19991) found -[18474] Forked 19992 -(19992) found -[18473] Forked 19993 -(19993) found -[18472] Forked 19994 -(19994) found -[18471] Forked 19995 -(19995) found -[18470] Forked 19996 -(19996) found -[18469] Forked 19997 -(19997) found -[18468] Forked 19998 -(19998) found -[18467] Forked 19999 -(19999) found -[18466] Forked 20000 -(20000) found -[18465] Forked 20001 -(20001) found -[18464] Forked 20002 -(20002) found -[18463] Forked 20003 -(20003) found -[18462] Forked 20004 -(20004) found -[18461] Forked 20005 -(20005) found -[18460] Forked 20006 -(20006) found -[18459] Forked 20007 -(20007) found -[18458] Forked 20008 -[18457] Forked 20009 -(20008) found -(20009) found -[18456] Forked 20010 -[18455] Forked 20011 -(20010) found -(20011) found -[18454] Forked 20012 -[18453] Forked 20014 -(20012) found -(20014) found -[18452] Forked 20015 -(20015) found -[18451] Forked 20016 -(20016) found -[18450] Forked 20017 -(20017) found -[18449] Forked 20018 -(20018) found -[18448] Forked 20019 -(20019) found -[18447] Forked 20020 -(20020) found -[18446] Forked 20021 -(20021) found -[18445] Forked 20022 -(20022) found -[18444] Forked 20023 -(20023) found -[18443] Forked 20024 -(20024) found -[18442] Forked 20025 -(20025) found -[18441] Forked 20026 -(20026) found -[18440] Forked 20027 -(20027) found -[18439] Forked 20028 -(20028) found -[18438] Forked 20029 -(20029) found -[18437] Forked 20030 -(20030) found -[18436] Forked 20031 -(20031) found -[18435] Forked 20032 -(20032) found -[18434] Forked 20033 -(20033) found -[18433] Forked 20034 -(20034) found -[18432] Forked 20035 -(20035) found -[18431] Forked 20036 -(20036) found -[18430] Forked 20037 -(20037) found -[18429] Forked 20038 -(20038) found -[18428] Forked 20039 -(20039) found -[18427] Forked 20040 -(20040) found -[18426] Forked 20041 -(20041) found -[18425] Forked 20042 -(20042) found -[18424] Forked 20043 -(20043) found -[18423] Forked 20044 -(20044) found -[18422] Forked 20045 -(20045) found -[18421] Forked 20046 -(20046) found -[18420] Forked 20047 -(20047) found -[18419] Forked 20048 -(20048) found -[18418] Forked 20049 -(20049) found -[18417] Forked 20050 -(20050) found -[18416] Forked 20051 -(20051) found -[18415] Forked 20052 -(20052) found -[18414] Forked 20053 -(20053) found -[18413] Forked 20054 -(20054) found -[18412] Forked 20055 -(20055) found -[18411] Forked 20056 -(20056) found -[18410] Forked 20057 -(20057) found -[18409] Forked 20058 -(20058) found -[18408] Forked 20059 -(20059) found -[18407] Forked 20060 -(20060) found -[18406] Forked 20061 -(20061) found -[18405] Forked 20062 -(20062) found -[18404] Forked 20063 -(20063) found -[18403] Forked 20064 -(20064) found -[18402] Forked 20065 -(20065) found -[18401] Forked 20066 -(20066) found -[18400] Forked 20067 -(20067) found -[18399] Forked 20068 -(20068) found -[18398] Forked 20069 -(20069) found -[18397] Forked 20070 -(20070) found -[18396] Forked 20071 -(20071) found -[18395] Forked 20072 -(20072) found -[18394] Forked 20073 -(20073) found -[18393] Forked 20074 -(20074) found -[18392] Forked 20075 -(20075) found -[18391] Forked 20076 -(20076) found -[18390] Forked 20077 -(20077) found -[18389] Forked 20078 -(20078) found -[18388] Forked 20079 -(20079) found -[18387] Forked 20080 -(20080) found -[18386] Forked 20081 -[18385] Forked 20082 -(20081) found -(20082) found -[18384] Forked 20083 -[18383] Forked 20084 -(20083) found -(20084) found -[18382] Forked 20085 -[18381] Forked 20086 -(20085) found -(20086) found -[18380] Forked 20087 -(20087) found -[18379] Forked 20088 -(20088) found -[18378] Forked 20089 -(20089) found -[18377] Forked 20090 -(20090) found -[18376] Forked 20091 -(20091) found -[18375] Forked 20092 -(20092) found -[18374] Forked 20093 -(20093) found -[18373] Forked 20094 -(20094) found -[18372] Forked 20095 -(20095) found -[18371] Forked 20096 -(20096) found -[18370] Forked 20097 -(20097) found -[18369] Forked 20098 -(20098) found -[18368] Forked 20099 -(20099) found -[18367] Forked 20100 -(20100) found -[18366] Forked 20101 -(20101) found -[18365] Forked 20102 -(20102) found -[18364] Forked 20103 -(20103) found -[18363] Forked 20104 -(20104) found -[18362] Forked 20105 -(20105) found -[18361] Forked 20106 -(20106) found -[18360] Forked 20107 -(20107) found -[18359] Forked 20108 -(20108) found -[18358] Forked 20109 -(20109) found -[18357] Forked 20110 -(20110) found -[18356] Forked 20111 -(20111) found -[18355] Forked 20112 -(20112) found -[18354] Forked 20113 -(20113) found -[18353] Forked 20114 -(20114) found -[18352] Forked 20115 -(20115) found -[18351] Forked 20116 -(20116) found -[18350] Forked 20117 -(20117) found -[18349] Forked 20118 -(20118) found -[18348] Forked 20119 -(20119) found -[18347] Forked 20120 -(20120) found -[18346] Forked 20121 -(20121) found -[18345] Forked 20122 -(20122) found -[18344] Forked 20123 -(20123) found -[18343] Forked 20124 -(20124) found -[18342] Forked 20125 -(20125) found -[18341] Forked 20126 -(20126) found -[18340] Forked 20127 -(20127) found -[18339] Forked 20128 -(20128) found -[18338] Forked 20129 -(20129) found -[18337] Forked 20130 -(20130) found -[18336] Forked 20131 -(20131) found -[18335] Forked 20132 -(20132) found -[18334] Forked 20133 -(20133) found -[18333] Forked 20134 -(20134) found -[18332] Forked 20135 -(20135) found -[18331] Forked 20136 -(20136) found -[18330] Forked 20137 -(20137) found -[18329] Forked 20138 -(20138) found -[18328] Forked 20139 -(20139) found -[18327] Forked 20140 -(20140) found -[18326] Forked 20141 -(20141) found -[18325] Forked 20142 -(20142) found -[18324] Forked 20143 -(20143) found -[18323] Forked 20144 -(20144) found -[18322] Forked 20145 -(20145) found -[18321] Forked 20146 -(20146) found -[18320] Forked 20147 -(20147) found -[18319] Forked 20148 -(20148) found -[18318] Forked 20149 -(20149) found -[18317] Forked 20150 -(20150) found -[18316] Forked 20151 -(20151) found -[18315] Forked 20152 -(20152) found -[18314] Forked 20153 -(20153) found -[18313] Forked 20154 -(20154) found -[18312] Forked 20155 -(20155) found -[18311] Forked 20156 -(20156) found -[18310] Forked 20157 -(20157) found -[18309] Forked 20158 -(20158) found -[18308] Forked 20159 -(20159) found -[18307] Forked 20160 -(20160) found -[18306] Forked 20161 -(20161) found -[18305] Forked 20162 -(20162) found -[18304] Forked 20163 -(20163) found -[18303] Forked 20164 -(20164) found -[18302] Forked 20165 -(20165) found -[18301] Forked 20166 -(20166) found -[18300] Forked 20167 -(20167) found -[18299] Forked 20168 -(20168) found -[18298] Forked 20169 -(20169) found -[18297] Forked 20170 -(20170) found -[18296] Forked 20171 -(20171) found -[18295] Forked 20172 -(20172) found -[18294] Forked 20173 -(20173) found -[18293] Forked 20174 -(20174) found -[18292] Forked 20175 -(20175) found -[18291] Forked 20176 -(20176) found -[18290] Forked 20177 -(20177) found -[18289] Forked 20178 -(20178) found -[18288] Forked 20179 -(20179) found -[18287] Forked 20180 -(20180) found -[18286] Forked 20181 -(20181) found -[18285] Forked 20182 -(20182) found -[18284] Forked 20183 -(20183) found -[18283] Forked 20184 -(20184) found -[18282] Forked 20185 -(20185) found -[18281] Forked 20186 -(20186) found -[18280] Forked 20187 -(20187) found -[18279] Forked 20188 -(20188) found -[18278] Forked 20189 -[18277] Forked 20190 -(20189) found -(20190) found -[18276] Forked 20191 -[18275] Forked 20192 -(20191) found -(20192) found -[18274] Forked 20193 -[18273] Forked 20194 -(20193) found -(20194) found -[18272] Forked 20195 -[18271] Forked 20196 -(20195) found -(20196) found -[18270] Forked 20197 -[18269] Forked 20198 -(20197) found -(20198) found -[18268] Forked 20199 -[18267] Forked 20200 -(20199) found -(20200) found -[18266] Forked 20201 -[18265] Forked 20202 -(20201) found -(20202) found -[18264] Forked 20203 -[18263] Forked 20204 -(20203) found -(20204) found -[18262] Forked 20205 -[18261] Forked 20206 -(20205) found -(20206) found -[18260] Forked 20207 -[18259] Forked 20208 -(20207) found -(20208) found -[18258] Forked 20209 -[18257] Forked 20210 -(20209) found -(20210) found -[18256] Forked 20211 -[18255] Forked 20212 -(20211) found -(20212) found -[18254] Forked 20213 -[18253] Forked 20214 -(20213) found -(20214) found -[18252] Forked 20215 -[18251] Forked 20216 -(20215) found -(20216) found -[18250] Forked 20217 -[18249] Forked 20218 -(20217) found -(20218) found -[18248] Forked 20219 -[18247] Forked 20220 -(20219) found -(20220) found -[18246] Forked 20221 -[18245] Forked 20222 -(20221) found -(20222) found -[18244] Forked 20223 -[18243] Forked 20225 -(20223) found -(20225) found -[18242] Forked 20226 -(20226) found -[18241] Forked 20227 -(20227) found -[18240] Forked 20228 -(20228) found -[18239] Forked 20229 -(20229) found -[18238] Forked 20230 -(20230) found -[18237] Forked 20231 -(20231) found -[18236] Forked 20232 -(20232) found -[18235] Forked 20233 -(20233) found -[18234] Forked 20234 -(20234) found -[18233] Forked 20235 -(20235) found -[18232] Forked 20236 -(20236) found -[18231] Forked 20237 -(20237) found -[18230] Forked 20238 -(20238) found -[18229] Forked 20239 -(20239) found -[18228] Forked 20240 -(20240) found -[18227] Forked 20241 -(20241) found -[18226] Forked 20242 -(20242) found -[18225] Forked 20243 -(20243) found -[18224] Forked 20244 -(20244) found -[18223] Forked 20245 -(20245) found -[18222] Forked 20246 -(20246) found -[18221] Forked 20247 -(20247) found -[18220] Forked 20248 -(20248) found -[18219] Forked 20249 -(20249) found -[18218] Forked 20250 -(20250) found -[18217] Forked 20251 -(20251) found -[18216] Forked 20252 -(20252) found -[18215] Forked 20253 -(20253) found -[18214] Forked 20254 -(20254) found -[18213] Forked 20255 -(20255) found -[18212] Forked 20256 -(20256) found -[18211] Forked 20257 -(20257) found -[18210] Forked 20258 -(20258) found -[18209] Forked 20259 -(20259) found -[18208] Forked 20260 -(20260) found -[18207] Forked 20261 -(20261) found -[18206] Forked 20262 -(20262) found -[18205] Forked 20263 -(20263) found -[18204] Forked 20264 -(20264) found -[18203] Forked 20265 -(20265) found -[18202] Forked 20266 -(20266) found -[18201] Forked 20267 -(20267) found -[18200] Forked 20268 -(20268) found -[18199] Forked 20269 -(20269) found -[18198] Forked 20270 -(20270) found -[18197] Forked 20271 -(20271) found -[18196] Forked 20272 -(20272) found -[18195] Forked 20273 -(20273) found -[18194] Forked 20274 -(20274) found -[18193] Forked 20275 -(20275) found -[18192] Forked 20276 -(20276) found -[18191] Forked 20277 -(20277) found -[18190] Forked 20278 -(20278) found -[18189] Forked 20279 -(20279) found -[18188] Forked 20280 -(20280) found -[18187] Forked 20281 -(20281) found -[18186] Forked 20282 -(20282) found -[18185] Forked 20283 -(20283) found -[18184] Forked 20284 -(20284) found -[18183] Forked 20285 -(20285) found -[18182] Forked 20286 -(20286) found -[18181] Forked 20287 -(20287) found -[18180] Forked 20288 -(20288) found -[18179] Forked 20289 -(20289) found -[18178] Forked 20290 -(20290) found -[18177] Forked 20291 -(20291) found -[18176] Forked 20292 -(20292) found -[18175] Forked 20293 -(20293) found -[18174] Forked 20294 -(20294) found -[18173] Forked 20295 -(20295) found -[18172] Forked 20296 -(20296) found -[18171] Forked 20297 -(20297) found -[18170] Forked 20298 -(20298) found -[18169] Forked 20299 -(20299) found -[18168] Forked 20300 -(20300) found -[18167] Forked 20301 -(20301) found -[18166] Forked 20302 -(20302) found -[18165] Forked 20303 -(20303) found -[18164] Forked 20304 -(20304) found -[18163] Forked 20305 -(20305) found -[18162] Forked 20306 -(20306) found -[18161] Forked 20307 -(20307) found -[18160] Forked 20308 -(20308) found -[18159] Forked 20309 -(20309) found -[18158] Forked 20310 -(20310) found -[18157] Forked 20311 -(20311) found -[18156] Forked 20312 -(20312) found -[18155] Forked 20313 -(20313) found -[18154] Forked 20314 -(20314) found -[18153] Forked 20315 -(20315) found -[18152] Forked 20316 -(20316) found -[18151] Forked 20317 -(20317) found -[18150] Forked 20318 -(20318) found -[18149] Forked 20319 -(20319) found -[18148] Forked 20320 -(20320) found -[18147] Forked 20321 -(20321) found -[18146] Forked 20322 -(20322) found -[18145] Forked 20323 -(20323) found -[18144] Forked 20324 -(20324) found -[18143] Forked 20325 -(20325) found -[18142] Forked 20326 -(20326) found -[18141] Forked 20327 -(20327) found -[18140] Forked 20328 -(20328) found -[18139] Forked 20329 -(20329) found -[18138] Forked 20330 -(20330) found -[18137] Forked 20331 -(20331) found -[18136] Forked 20332 -(20332) found -[18135] Forked 20333 -(20333) found -[18134] Forked 20334 -(20334) found -[18133] Forked 20335 -(20335) found -[18132] Forked 20336 -(20336) found -[18131] Forked 20337 -(20337) found -[18130] Forked 20338 -(20338) found -[18129] Forked 20339 -(20339) found -[18128] Forked 20340 -(20340) found -[18127] Forked 20341 -(20341) found -[18126] Forked 20342 -[18125] Forked 20343 -(20342) found -(20343) found -[18124] Forked 20344 -[18123] Forked 20345 -(20344) found -(20345) found -[18122] Forked 20346 -[18121] Forked 20347 -(20346) found -(20347) found -[18120] Forked 20348 -[18119] Forked 20349 -(20348) found -(20349) found -[18118] Forked 20350 -[18117] Forked 20351 -(20350) found -(20351) found -[18116] Forked 20352 -[18115] Forked 20353 -(20352) found -(20353) found -[18114] Forked 20354 -[18113] Forked 20355 -(20354) found -(20355) found -[18112] Forked 20356 -[18111] Forked 20357 -(20356) found -(20357) found -[18110] Forked 20358 -[18109] Forked 20359 -(20358) found -(20359) found -[18108] Forked 20360 -[18107] Forked 20361 -(20360) found -(20361) found -[18106] Forked 20362 -[18105] Forked 20363 -(20362) found -(20363) found -[18104] Forked 20364 -[18103] Forked 20365 -(20364) found -(20365) found -[18102] Forked 20366 -[18101] Forked 20367 -(20366) found -(20367) found -[18100] Forked 20368 -[18099] Forked 20369 -(20368) found -(20369) found -[18098] Forked 20370 -[18097] Forked 20371 -(20370) found -(20371) found -[18096] Forked 20372 -[18095] Forked 20373 -(20372) found -(20373) found -[18094] Forked 20374 -[18093] Forked 20375 -(20374) found -(20375) found -[18092] Forked 20376 -[18091] Forked 20377 -(20376) found -(20377) found -[18090] Forked 20378 -[18089] Forked 20379 -(20378) found -(20379) found -[18088] Forked 20380 -[18087] Forked 20381 -(20380) found -(20381) found -[18086] Forked 20382 -[18085] Forked 20383 -(20382) found -(20383) found -[18084] Forked 20384 -[18083] Forked 20385 -(20384) found -(20385) found -[18082] Forked 20386 -[18081] Forked 20387 -(20386) found -(20387) found -[18080] Forked 20388 -[18079] Forked 20389 -(20388) found -(20389) found -[18078] Forked 20390 -[18077] Forked 20391 -(20390) found -(20391) found -[18076] Forked 20392 -[18075] Forked 20393 -(20392) found -(20393) found -[18074] Forked 20394 -[18073] Forked 20395 -(20394) found -(20395) found -[18072] Forked 20396 -[18071] Forked 20397 -(20396) found -(20397) found -[18070] Forked 20398 -[18069] Forked 20399 -(20398) found -(20399) found -[18068] Forked 20400 -[18067] Forked 20401 -(20400) found -(20401) found -[18066] Forked 20402 -[18065] Forked 20403 -(20402) found -(20403) found -[18064] Forked 20404 -[18063] Forked 20405 -(20404) found -(20405) found -[18062] Forked 20406 -[18061] Forked 20407 -(20406) found -(20407) found -[18060] Forked 20408 -[18059] Forked 20409 -(20408) found -(20409) found -[18058] Forked 20410 -[18057] Forked 20411 -(20410) found -(20411) found -[18056] Forked 20412 -[18055] Forked 20413 -(20412) found -(20413) found -[18054] Forked 20414 -[18053] Forked 20415 -(20414) found -(20415) found -[18052] Forked 20416 -[18051] Forked 20417 -(20416) found -(20417) found -[18050] Forked 20418 -[18049] Forked 20419 -(20418) found -(20419) found -[18048] Forked 20420 -[18047] Forked 20421 -(20420) found -(20421) found -[18046] Forked 20422 -[18045] Forked 20423 -(20422) found -(20423) found -[18044] Forked 20424 -[18043] Forked 20425 -(20424) found -(20425) found -[18042] Forked 20426 -[18041] Forked 20427 -(20426) found -(20427) found -[18040] Forked 20428 -[18039] Forked 20429 -(20428) found -(20429) found -[18038] Forked 20430 -[18037] Forked 20431 -(20430) found -(20431) found -[18036] Forked 20432 -(20432) found -[18035] Forked 20433 -(20433) found -[18034] Forked 20434 -(20434) found -[18033] Forked 20435 -(20435) found -[18032] Forked 20436 -(20436) found -[18031] Forked 20437 -(20437) found -[18030] Forked 20438 -(20438) found -[18029] Forked 20439 -(20439) found -[18028] Forked 20440 -(20440) found -[18027] Forked 20441 -(20441) found -[18026] Forked 20442 -(20442) found -[18025] Forked 20443 -(20443) found -[18024] Forked 20444 -(20444) found -[18023] Forked 20445 -(20445) found -[18022] Forked 20446 -(20446) found -[18021] Forked 20447 -(20447) found -[18020] Forked 20448 -(20448) found -[18019] Forked 20449 -(20449) found -[18018] Forked 20450 -(20450) found -[18017] Forked 20451 -(20451) found -[18016] Forked 20452 -(20452) found -[18015] Forked 20453 -(20453) found -[18014] Forked 20454 -(20454) found -[18013] Forked 20455 -(20455) found -[18012] Forked 20456 -(20456) found -[18011] Forked 20457 -(20457) found -[18010] Forked 20458 -(20458) found -[18009] Forked 20459 -(20459) found -[18008] Forked 20460 -(20460) found -[18007] Forked 20461 -(20461) found -[18006] Forked 20462 -(20462) found -[18005] Forked 20463 -(20463) found -[18004] Forked 20464 -(20464) found -[18003] Forked 20465 -(20465) found -[18002] Forked 20466 -(20466) found -[18001] Forked 20467 -(20467) found -[18000] Forked 20468 -[17999] Forked 20469 -(20468) found -(20469) found -[17998] Forked 20470 -[17997] Forked 20471 -(20470) found -(20471) found -[17996] Forked 20472 -(20472) found -[17995] Forked 20473 -[17994] Forked 20474 -(20473) found -(20474) found -[17993] Forked 20475 -[17992] Forked 20476 -(20475) found -(20476) found -[17991] Forked 20477 -[17990] Forked 20478 -(20477) found -(20478) found -[17989] Forked 20479 -[17988] Forked 20480 -(20479) found -(20480) found -[17987] Forked 20481 -[17986] Forked 20482 -(20481) found -(20482) found -[17985] Forked 20483 -(20483) found -[17984] Forked 20484 -[17983] Forked 20485 -(20484) found -(20485) found -[17982] Forked 20486 -[17981] Forked 20487 -(20486) found -(20487) found -[17980] Forked 20488 -[17979] Forked 20489 -(20488) found -(20489) found -[17978] Forked 20490 -[17977] Forked 20491 -(20490) found -(20491) found -[17976] Forked 20492 -[17975] Forked 20493 -(20492) found -(20493) found -[17974] Forked 20494 -[17973] Forked 20495 -(20494) found -(20495) found -[17972] Forked 20496 -[17971] Forked 20497 -(20496) found -(20497) found -[17970] Forked 20498 -[17969] Forked 20499 -(20498) found -(20499) found -[17968] Forked 20500 -[17967] Forked 20501 -(20500) found -(20501) found -[17966] Forked 20502 -[17965] Forked 20503 -(20502) found -(20503) found -[17964] Forked 20504 -[17963] Forked 20505 -(20504) found -(20505) found -[17962] Forked 20506 -[17961] Forked 20507 -(20506) found -(20507) found -[17960] Forked 20508 -[17959] Forked 20509 -(20508) found -(20509) found -[17958] Forked 20510 -[17957] Forked 20511 -(20510) found -(20511) found -[17956] Forked 20512 -(20512) found -[17955] Forked 20513 -(20513) found -[17954] Forked 20514 -(20514) found -[17953] Forked 20515 -(20515) found -[17952] Forked 20516 -(20516) found -[17951] Forked 20517 -(20517) found -[17950] Forked 20518 -(20518) found -[17949] Forked 20519 -(20519) found -[17948] Forked 20520 -(20520) found -[17947] Forked 20521 -(20521) found -[17946] Forked 20522 -(20522) found -[17945] Forked 20523 -(20523) found -[17944] Forked 20524 -(20524) found -[17943] Forked 20525 -(20525) found -[17942] Forked 20526 -(20526) found -[17941] Forked 20527 -(20527) found -[17940] Forked 20528 -(20528) found -[17939] Forked 20529 -(20529) found -[17938] Forked 20530 -(20530) found -[17937] Forked 20531 -(20531) found -[17936] Forked 20532 -(20532) found -[17935] Forked 20533 -(20533) found -[17934] Forked 20534 -(20534) found -[17933] Forked 20535 -(20535) found -[17932] Forked 20536 -(20536) found -[17931] Forked 20537 -(20537) found -[17930] Forked 20538 -(20538) found -[17929] Forked 20539 -(20539) found -[17928] Forked 20540 -(20540) found -[17927] Forked 20541 -(20541) found -[17926] Forked 20542 -(20542) found -[17925] Forked 20543 -(20543) found -[17924] Forked 20544 -(20544) found -[17923] Forked 20545 -(20545) found -[17922] Forked 20546 -(20546) found -[17921] Forked 20547 -(20547) found -[17920] Forked 20548 -[17919] Forked 20549 -(20548) found -(20549) found -[17918] Forked 20550 -[17917] Forked 20551 -(20550) found -(20551) found -[17916] Forked 20552 -[17915] Forked 20553 -(20552) found -(20553) found -[17914] Forked 20554 -[17913] Forked 20555 -(20554) found -(20555) found -[17912] Forked 20556 -[17911] Forked 20557 -(20556) found -(20557) found -[17910] Forked 20558 -[17909] Forked 20559 -(20558) found -(20559) found -[17908] Forked 20560 -[17907] Forked 20561 -(20560) found -(20561) found -[17906] Forked 20562 -[17905] Forked 20563 -(20562) found -(20563) found -[17904] Forked 20564 -[17903] Forked 20565 -(20564) found -(20565) found -[17902] Forked 20566 -[17901] Forked 20567 -(20566) found -(20567) found -[17900] Forked 20568 -[17899] Forked 20569 -(20568) found -(20569) found -[17898] Forked 20570 -[17897] Forked 20571 -(20570) found -(20571) found -[17896] Forked 20572 -[17895] Forked 20573 -(20572) found -(20573) found -[17894] Forked 20574 -[17893] Forked 20575 -(20574) found -(20575) found -[17892] Forked 20576 -[17891] Forked 20577 -(20576) found -(20577) found -[17890] Forked 20578 -[17889] Forked 20579 -(20578) found -(20579) found -[17888] Forked 20580 -(20580) found -[17887] Forked 20581 -(20581) found -[17886] Forked 20582 -[17885] Forked 20583 -(20582) found -(20583) found -[17884] Forked 20584 -[17883] Forked 20585 -(20584) found -(20585) found -[17882] Forked 20586 -[17881] Forked 20587 -(20586) found -(20587) found -[17880] Forked 20588 -[17879] Forked 20589 -(20588) found -(20589) found -[17878] Forked 20590 -[17877] Forked 20591 -(20590) found -(20591) found -[17876] Forked 20592 -[17875] Forked 20593 -(20592) found -(20593) found -[17874] Forked 20594 -[17873] Forked 20595 -(20594) found -(20595) found -[17872] Forked 20596 -[17871] Forked 20597 -(20596) found -(20597) found -[17870] Forked 20598 -[17869] Forked 20599 -(20598) found -(20599) found -[17868] Forked 20600 -[17867] Forked 20601 -(20600) found -(20601) found -[17866] Forked 20602 -[17865] Forked 20603 -(20602) found -(20603) found -[17864] Forked 20604 -[17863] Forked 20605 -(20604) found -(20605) found -[17862] Forked 20606 -[17861] Forked 20607 -(20606) found -(20607) found -[17860] Forked 20608 -[17859] Forked 20609 -(20608) found -(20609) found -[17858] Forked 20610 -[17857] Forked 20611 -(20610) found -(20611) found -[17856] Forked 20612 -[17855] Forked 20613 -(20612) found -(20613) found -[17854] Forked 20614 -[17853] Forked 20615 -(20614) found -(20615) found -[17852] Forked 20616 -[17851] Forked 20617 -(20616) found -(20617) found -[17850] Forked 20618 -[17849] Forked 20619 -(20618) found -(20619) found -[17848] Forked 20620 -[17847] Forked 20621 -(20620) found -(20621) found -[17846] Forked 20622 -[17845] Forked 20623 -(20622) found -(20623) found -[17844] Forked 20624 -[17843] Forked 20625 -(20624) found -(20625) found -[17842] Forked 20626 -[17841] Forked 20627 -(20626) found -(20627) found -[17840] Forked 20628 -[17839] Forked 20629 -(20628) found -(20629) found -[17838] Forked 20630 -[17837] Forked 20631 -(20630) found -(20631) found -[17836] Forked 20632 -[17835] Forked 20633 -(20632) found -(20633) found -[17834] Forked 20634 -[17833] Forked 20635 -(20634) found -(20635) found -[17832] Forked 20636 -[17831] Forked 20637 -(20636) found -(20637) found -[17830] Forked 20638 -(20638) found -[17829] Forked 20639 -(20639) found -[17828] Forked 20640 -(20640) found -[17827] Forked 20641 -(20641) found -[17826] Forked 20642 -(20642) found -[17825] Forked 20643 -(20643) found -[17824] Forked 20644 -(20644) found -[17823] Forked 20645 -(20645) found -[17822] Forked 20646 -(20646) found -[17821] Forked 20647 -(20647) found -[17820] Forked 20648 -(20648) found -[17819] Forked 20649 -(20649) found -[17818] Forked 20650 -(20650) found -[17817] Forked 20651 -(20651) found -[17816] Forked 20652 -(20652) found -[17815] Forked 20653 -(20653) found -[17814] Forked 20654 -(20654) found -[17813] Forked 20655 -(20655) found -[17812] Forked 20656 -(20656) found -[17811] Forked 20657 -(20657) found -[17810] Forked 20658 -(20658) found -[17809] Forked 20659 -(20659) found -[17808] Forked 20660 -(20660) found -[17807] Forked 20661 -(20661) found -[17806] Forked 20662 -(20662) found -[17805] Forked 20663 -(20663) found -[17804] Forked 20664 -(20664) found -[17803] Forked 20665 -(20665) found -[17802] Forked 20666 -(20666) found -[17801] Forked 20667 -(20667) found -[17800] Forked 20668 -(20668) found -[17799] Forked 20669 -(20669) found -[17798] Forked 20670 -(20670) found -[17797] Forked 20671 -(20671) found -[17796] Forked 20672 -(20672) found -[17795] Forked 20673 -[17794] Forked 20674 -(20673) found -(20674) found -[17793] Forked 20675 -[17792] Forked 20676 -(20676) found -(20675) found -[17791] Forked 20677 -(20677) found -[17790] Forked 20678 -(20678) found -[17789] Forked 20679 -(20679) found -[17788] Forked 20680 -(20680) found -[17787] Forked 20681 -(20681) found -[17786] Forked 20682 -(20682) found -[17785] Forked 20683 -(20683) found -[17784] Forked 20684 -(20684) found -[17783] Forked 20685 -(20685) found -[17782] Forked 20686 -(20686) found -[17781] Forked 20687 -(20687) found -[17780] Forked 20688 -(20688) found -[17779] Forked 20689 -(20689) found -[17778] Forked 20690 -(20690) found -[17777] Forked 20691 -(20691) found -[17776] Forked 20692 -(20692) found -[17775] Forked 20693 -(20693) found -[17774] Forked 20694 -(20694) found -[17773] Forked 20695 -(20695) found -[17772] Forked 20696 -(20696) found -[17771] Forked 20697 -(20697) found -[17770] Forked 20698 -(20698) found -[17769] Forked 20699 -(20699) found -[17768] Forked 20700 -(20700) found -[17767] Forked 20701 -(20701) found -[17766] Forked 20702 -(20702) found -[17765] Forked 20703 -(20703) found -[17764] Forked 20704 -(20704) found -[17763] Forked 20705 -(20705) found -[17762] Forked 20706 -(20706) found -[17761] Forked 20707 -(20707) found -[17760] Forked 20708 -(20708) found -[17759] Forked 20709 -(20709) found -[17758] Forked 20710 -(20710) found -[17757] Forked 20711 -(20711) found -[17756] Forked 20712 -(20712) found -[17755] Forked 20713 -(20713) found -[17754] Forked 20714 -(20714) found -[17753] Forked 20715 -(20715) found -[17752] Forked 20716 -(20716) found -[17751] Forked 20717 -(20717) found -[17750] Forked 20718 -(20718) found -[17749] Forked 20719 -(20719) found -[17748] Forked 20720 -(20720) found -[17747] Forked 20721 -(20721) found -[17746] Forked 20722 -(20722) found -[17745] Forked 20723 -(20723) found -[17744] Forked 20724 -(20724) found -[17743] Forked 20725 -(20725) found -[17742] Forked 20726 -(20726) found -[17741] Forked 20727 -(20727) found -[17740] Forked 20728 -(20728) found -[17739] Forked 20729 -(20729) found -[17738] Forked 20730 -(20730) found -[17737] Forked 20731 -(20731) found -[17736] Forked 20732 -(20732) found -[17735] Forked 20733 -(20733) found -[17734] Forked 20734 -(20734) found -[17733] Forked 20735 -(20735) found -[17732] Forked 20736 -(20736) found -[17731] Forked 20737 -(20737) found -[17730] Forked 20738 -(20738) found -[17729] Forked 20739 -(20739) found -[17728] Forked 20740 -(20740) found -[17727] Forked 20741 -(20741) found -[17726] Forked 20742 -(20742) found -[17725] Forked 20743 -(20743) found -[17724] Forked 20744 -[17723] Forked 20745 -(20744) found -(20745) found -[17722] Forked 20746 -[17721] Forked 20747 -(20746) found -(20747) found -[17720] Forked 20748 -[17719] Forked 20749 -(20748) found -(20749) found -[17718] Forked 20750 -[17717] Forked 20751 -(20750) found -(20751) found -[17716] Forked 20752 -[17715] Forked 20753 -(20752) found -(20753) found -[17714] Forked 20754 -[17713] Forked 20755 -(20754) found -(20755) found -[17712] Forked 20756 -[17711] Forked 20757 -(20756) found -(20757) found -[17710] Forked 20758 -[17709] Forked 20759 -(20758) found -(20759) found -[17708] Forked 20760 -[17707] Forked 20761 -(20760) found -(20761) found -[17706] Forked 20762 -[17705] Forked 20763 -(20762) found -(20763) found -[17704] Forked 20764 -[17703] Forked 20765 -(20764) found -(20765) found -[17702] Forked 20766 -[17701] Forked 20767 -(20766) found -(20767) found -[17700] Forked 20768 -[17699] Forked 20769 -(20768) found -(20769) found -[17698] Forked 20770 -[17697] Forked 20771 -(20770) found -(20771) found -[17696] Forked 20772 -[17695] Forked 20773 -(20772) found -(20773) found -[17694] Forked 20774 -[17693] Forked 20775 -(20774) found -(20775) found -[17692] Forked 20776 -[17691] Forked 20777 -(20776) found -(20777) found -[17690] Forked 20778 -[17689] Forked 20779 -(20778) found -(20779) found -[17688] Forked 20780 -[17687] Forked 20781 -(20780) found -(20781) found -[17686] Forked 20782 -[17685] Forked 20783 -(20782) found -(20783) found -[17684] Forked 20784 -[17683] Forked 20785 -(20784) found -(20785) found -[17682] Forked 20786 -[17681] Forked 20787 -(20786) found -(20787) found -[17680] Forked 20788 -[17679] Forked 20789 -(20788) found -(20789) found -[17678] Forked 20790 -[17677] Forked 20791 -(20790) found -(20791) found -[17676] Forked 20792 -[17675] Forked 20793 -(20792) found -(20793) found -[17674] Forked 20794 -[17673] Forked 20795 -(20794) found -(20795) found -[17672] Forked 20796 -[17671] Forked 20797 -(20796) found -(20797) found -[17670] Forked 20798 -[17669] Forked 20799 -(20798) found -(20799) found -[17668] Forked 20800 -[17667] Forked 20801 -(20800) found -(20801) found -[17666] Forked 20802 -[17665] Forked 20803 -(20802) found -(20803) found -[17664] Forked 20804 -[17663] Forked 20805 -(20804) found -(20805) found -[17662] Forked 20806 -[17661] Forked 20807 -(20806) found -(20807) found -[17660] Forked 20808 -[17659] Forked 20809 -(20808) found -(20809) found -[17658] Forked 20810 -[17657] Forked 20811 -(20810) found -(20811) found -[17656] Forked 20812 -[17655] Forked 20813 -(20812) found -(20813) found -[17654] Forked 20814 -[17653] Forked 20815 -(20814) found -(20815) found -[17652] Forked 20816 -[17651] Forked 20817 -(20816) found -(20817) found -[17650] Forked 20818 -[17649] Forked 20819 -(20818) found -(20819) found -[17648] Forked 20820 -[17647] Forked 20821 -(20820) found -(20821) found -[17646] Forked 20822 -[17645] Forked 20823 -(20822) found -(20823) found -[17644] Forked 20824 -[17643] Forked 20825 -(20824) found -(20825) found -[17642] Forked 20826 -[17641] Forked 20827 -(20826) found -(20827) found -[17640] Forked 20828 -[17639] Forked 20829 -(20828) found -(20829) found -[17638] Forked 20830 -[17637] Forked 20831 -(20830) found -(20831) found -[17636] Forked 20832 -[17635] Forked 20833 -(20832) found -(20833) found -[17634] Forked 20834 -(20834) found -[17633] Forked 20835 -[17632] Forked 20836 -(20835) found -(20836) found -[17631] Forked 20837 -[17630] Forked 20838 -(20837) found -(20838) found -[17629] Forked 20839 -[17628] Forked 20840 -(20839) found -(20840) found -[17627] Forked 20841 -[17626] Forked 20842 -(20841) found -(20842) found -[17625] Forked 20843 -[17624] Forked 20844 -(20843) found -(20844) found -[17623] Forked 20845 -[17622] Forked 20846 -(20845) found -(20846) found -[17621] Forked 20847 -[17620] Forked 20848 -(20847) found -(20848) found -[17619] Forked 20849 -[17618] Forked 20850 -(20849) found -(20850) found -[17617] Forked 20851 -[17616] Forked 20852 -(20851) found -(20852) found -[17615] Forked 20853 -[17614] Forked 20854 -(20853) found -(20854) found -[17613] Forked 20855 -[17612] Forked 20856 -(20855) found -(20856) found -[17611] Forked 20857 -[17610] Forked 20858 -(20857) found -(20858) found -[17609] Forked 20859 -[17608] Forked 20860 -(20859) found -(20860) found -[17607] Forked 20861 -[17606] Forked 20862 -(20861) found -(20862) found -[17605] Forked 20863 -[17604] Forked 20864 -(20863) found -(20864) found -[17603] Forked 20865 -[17602] Forked 20866 -(20865) found -(20866) found -[17601] Forked 20867 -[17600] Forked 20868 -(20867) found -(20868) found -[17599] Forked 20869 -[17598] Forked 20870 -(20869) found -(20870) found -[17597] Forked 20871 -[17596] Forked 20872 -(20871) found -(20872) found -[17595] Forked 20873 -[17594] Forked 20874 -(20873) found -(20874) found -[17593] Forked 20875 -[17592] Forked 20876 -(20875) found -(20876) found -[17591] Forked 20877 -[17590] Forked 20878 -(20877) found -(20878) found -[17589] Forked 20879 -[17588] Forked 20880 -(20879) found -(20880) found -[17587] Forked 20881 -[17586] Forked 20882 -(20881) found -(20882) found -[17585] Forked 20883 -[17584] Forked 20884 -(20883) found -(20884) found -[17583] Forked 20885 -[17582] Forked 20886 -(20885) found -(20886) found -[17581] Forked 20887 -[17580] Forked 20888 -(20887) found -(20888) found -[17579] Forked 20889 -[17578] Forked 20890 -(20889) found -(20890) found -[17577] Forked 20891 -[17576] Forked 20892 -(20891) found -(20892) found -[17575] Forked 20893 -[17574] Forked 20894 -(20893) found -(20894) found -[17573] Forked 20895 -[17572] Forked 20896 -(20895) found -(20896) found -[17571] Forked 20897 -[17570] Forked 20898 -(20897) found -(20898) found -[17569] Forked 20899 -[17568] Forked 20900 -(20899) found -(20900) found -[17567] Forked 20901 -[17566] Forked 20902 -(20901) found -(20902) found -[17565] Forked 20903 -[17564] Forked 20904 -(20903) found -(20904) found -[17563] Forked 20905 -[17562] Forked 20906 -(20905) found -(20906) found -[17561] Forked 20907 -[17560] Forked 20908 -(20907) found -(20908) found -[17559] Forked 20909 -[17558] Forked 20910 -(20909) found -(20910) found -[17557] Forked 20911 -[17556] Forked 20912 -(20911) found -(20912) found -[17555] Forked 20913 -[17554] Forked 20914 -(20913) found -(20914) found -[17553] Forked 20915 -[17552] Forked 20916 -(20915) found -(20916) found -[17551] Forked 20917 -[17550] Forked 20918 -(20917) found -(20918) found -[17549] Forked 20919 -[17548] Forked 20920 -(20919) found -(20920) found -[17547] Forked 20921 -[17546] Forked 20922 -(20921) found -(20922) found -[17545] Forked 20923 -[17544] Forked 20924 -(20923) found -(20924) found -[17543] Forked 20925 -[17542] Forked 20926 -(20925) found -(20926) found -[17541] Forked 20927 -[17540] Forked 20928 -(20927) found -(20928) found -[17539] Forked 20929 -[17538] Forked 20930 -(20929) found -(20930) found -[17537] Forked 20931 -[17536] Forked 20932 -(20931) found -(20932) found -[17535] Forked 20933 -[17534] Forked 20934 -(20933) found -(20934) found -[17533] Forked 20935 -[17532] Forked 20936 -(20935) found -(20936) found -[17531] Forked 20937 -[17530] Forked 20938 -(20937) found -(20938) found -[17529] Forked 20939 -[17528] Forked 20940 -(20939) found -(20940) found -[17527] Forked 20941 -[17526] Forked 20942 -(20941) found -(20942) found -[17525] Forked 20943 -[17524] Forked 20944 -(20943) found -(20944) found -[17523] Forked 20945 -[17522] Forked 20946 -(20945) found -(20946) found -[17521] Forked 20947 -[17520] Forked 20948 -(20947) found -(20948) found -[17519] Forked 20949 -[17518] Forked 20950 -(20949) found -(20950) found -[17517] Forked 20951 -[17516] Forked 20952 -(20951) found -(20952) found -[17515] Forked 20953 -[17514] Forked 20954 -(20953) found -(20954) found -[17513] Forked 20955 -[17512] Forked 20956 -(20955) found -(20956) found -[17511] Forked 20957 -[17510] Forked 20958 -(20957) found -(20958) found -[17509] Forked 20959 -[17508] Forked 20960 -(20959) found -(20960) found -[17507] Forked 20961 -[17506] Forked 20962 -(20961) found -(20962) found -[17505] Forked 20963 -[17504] Forked 20964 -(20963) found -(20964) found -[17503] Forked 20965 -[17502] Forked 20966 -(20965) found -(20966) found -[17501] Forked 20967 -[17500] Forked 20968 -(20967) found -(20968) found -[17499] Forked 20969 -[17498] Forked 20970 -(20969) found -(20970) found -[17497] Forked 20971 -[17496] Forked 20972 -(20971) found -(20972) found -[17495] Forked 20973 -(20973) found -[17494] Forked 20974 -(20974) found -[17493] Forked 20975 -(20975) found -[17492] Forked 20976 -(20976) found -[17491] Forked 20977 -(20977) found -[17490] Forked 20978 -(20978) found -[17489] Forked 20979 -(20979) found -[17488] Forked 20980 -(20980) found -[17487] Forked 20981 -(20981) found -[17486] Forked 20982 -(20982) found -[17485] Forked 20983 -(20983) found -[17484] Forked 20984 -(20984) found -[17483] Forked 20985 -(20985) found -[17482] Forked 20986 -(20986) found -[17481] Forked 20987 -(20987) found -[17480] Forked 20988 -(20988) found -[17479] Forked 20989 -(20989) found -[17478] Forked 20990 -(20990) found -[17477] Forked 20991 -(20991) found -[17476] Forked 20992 -(20992) found -[17475] Forked 20993 -(20993) found -[17474] Forked 20994 -(20994) found -[17473] Forked 20995 -(20995) found -[17472] Forked 20996 -(20996) found -[17471] Forked 20997 -(20997) found -[17470] Forked 20998 -(20998) found -[17469] Forked 20999 -(20999) found -[17468] Forked 21000 -(21000) found -[17467] Forked 21001 -(21001) found -[17466] Forked 21002 -(21002) found -[17465] Forked 21003 -(21003) found -[17464] Forked 21004 -(21004) found -[17463] Forked 21005 -(21005) found -[17462] Forked 21006 -(21006) found -[17461] Forked 21007 -(21007) found -[17460] Forked 21008 -[17459] Forked 21009 -(21008) found -(21009) found -[17458] Forked 21010 -[17457] Forked 21011 -(21010) found -(21011) found -[17456] Forked 21012 -[17455] Forked 21013 -(21012) found -(21013) found -[17454] Forked 21014 -[17453] Forked 21015 -(21014) found -(21015) found -[17452] Forked 21016 -[17451] Forked 21017 -(21016) found -(21017) found -[17450] Forked 21018 -[17449] Forked 21019 -(21018) found -(21019) found -[17448] Forked 21020 -[17447] Forked 21021 -(21020) found -(21021) found -[17446] Forked 21022 -[17445] Forked 21023 -(21022) found -(21023) found -[17444] Forked 21024 -[17443] Forked 21025 -(21024) found -(21025) found -[17442] Forked 21026 -[17441] Forked 21027 -(21026) found -(21027) found -[17440] Forked 21028 -[17439] Forked 21029 -(21028) found -(21029) found -[17438] Forked 21030 -[17437] Forked 21031 -(21030) found -(21031) found -[17436] Forked 21032 -[17435] Forked 21033 -(21032) found -(21033) found -[17434] Forked 21034 -[17433] Forked 21035 -(21034) found -(21035) found -[17432] Forked 21036 -[17431] Forked 21037 -(21036) found -(21037) found -[17430] Forked 21038 -[17429] Forked 21039 -(21038) found -(21039) found -[17428] Forked 21040 -[17427] Forked 21041 -(21040) found -(21041) found -[17426] Forked 21042 -[17425] Forked 21043 -(21042) found -(21043) found -[17424] Forked 21044 -[17423] Forked 21045 -(21044) found -(21045) found -[17422] Forked 21046 -[17421] Forked 21047 -(21046) found -(21047) found -[17420] Forked 21048 -[17419] Forked 21049 -(21048) found -(21049) found -[17418] Forked 21050 -[17417] Forked 21051 -(21050) found -(21051) found -[17416] Forked 21052 -[17415] Forked 21053 -(21052) found -(21053) found -[17414] Forked 21054 -(21054) found -[17413] Forked 21055 -(21055) found -[17412] Forked 21056 -(21056) found -[17411] Forked 21057 -(21057) found -[17410] Forked 21058 -(21058) found -[17409] Forked 21059 -(21059) found -[17408] Forked 21060 -(21060) found -[17407] Forked 21061 -(21061) found -[17406] Forked 21062 -(21062) found -[17405] Forked 21063 -(21063) found -[17404] Forked 21064 -(21064) found -[17403] Forked 21065 -(21065) found -[17402] Forked 21066 -(21066) found -[17401] Forked 21067 -(21067) found -[17400] Forked 21068 -(21068) found -[17399] Forked 21069 -(21069) found -[17398] Forked 21070 -(21070) found -[17397] Forked 21071 -(21071) found -[17396] Forked 21072 -(21072) found -[17395] Forked 21073 -(21073) found -[17394] Forked 21074 -(21074) found -[17393] Forked 21075 -(21075) found -[17392] Forked 21076 -(21076) found -[17391] Forked 21077 -(21077) found -[17390] Forked 21078 -(21078) found -[17389] Forked 21079 -(21079) found -[17388] Forked 21080 -(21080) found -[17387] Forked 21081 -(21081) found -[17386] Forked 21082 -(21082) found -[17385] Forked 21083 -(21083) found -[17384] Forked 21084 -(21084) found -[17383] Forked 21085 -(21085) found -[17382] Forked 21086 -(21086) found -[17381] Forked 21087 -(21087) found -[17380] Forked 21088 -[17379] Forked 21089 -(21088) found -(21089) found -[17378] Forked 21090 -[17377] Forked 21091 -(21090) found -(21091) found -[17376] Forked 21092 -[17375] Forked 21093 -(21092) found -(21093) found -[17374] Forked 21094 -[17373] Forked 21095 -(21094) found -(21095) found -[17372] Forked 21096 -[17371] Forked 21097 -(21096) found -(21097) found -[17370] Forked 21098 -[17369] Forked 21099 -(21098) found -(21099) found -[17368] Forked 21100 -[17367] Forked 21101 -(21100) found -(21101) found -[17366] Forked 21102 -[17365] Forked 21103 -(21102) found -(21103) found -[17364] Forked 21104 -[17363] Forked 21105 -(21104) found -(21105) found -[17362] Forked 21106 -[17361] Forked 21107 -(21106) found -(21107) found -[17360] Forked 21108 -[17359] Forked 21109 -(21108) found -(21109) found -[17358] Forked 21110 -[17357] Forked 21111 -(21110) found -(21111) found -[17356] Forked 21112 -[17355] Forked 21113 -(21112) found -(21113) found -[17354] Forked 21114 -[17353] Forked 21115 -(21114) found -(21115) found -[17352] Forked 21116 -[17351] Forked 21117 -(21116) found -(21117) found -[17350] Forked 21118 -[17349] Forked 21119 -(21118) found -(21119) found -[17348] Forked 21120 -[17347] Forked 21121 -(21120) found -(21121) found -[17346] Forked 21122 -[17345] Forked 21123 -(21122) found -(21123) found -[17344] Forked 21124 -[17343] Forked 21125 -(21124) found -(21125) found -[17342] Forked 21126 -[17341] Forked 21127 -(21126) found -(21127) found -[17340] Forked 21128 -[17339] Forked 21129 -(21128) found -(21129) found -[17338] Forked 21130 -[17337] Forked 21131 -(21130) found -(21131) found -[17336] Forked 21132 -[17335] Forked 21133 -(21132) found -(21133) found -[17334] Forked 21134 -(21134) found -[17333] Forked 21135 -(21135) found -[17332] Forked 21136 -(21136) found -[17331] Forked 21137 -(21137) found -[17330] Forked 21138 -(21138) found -[17329] Forked 21139 -(21139) found -[17328] Forked 21140 -(21140) found -[17327] Forked 21141 -(21141) found -[17326] Forked 21142 -(21142) found -[17325] Forked 21143 -(21143) found -[17324] Forked 21144 -(21144) found -[17323] Forked 21145 -(21145) found -[17322] Forked 21146 -(21146) found -[17321] Forked 21147 -(21147) found -[17320] Forked 21148 -(21148) found -[17319] Forked 21149 -(21149) found -[17318] Forked 21150 -(21150) found -[17317] Forked 21151 -(21151) found -[17316] Forked 21152 -(21152) found -[17315] Forked 21153 -(21153) found -[17314] Forked 21154 -(21154) found -[17313] Forked 21155 -(21155) found -[17312] Forked 21156 -(21156) found -[17311] Forked 21157 -(21157) found -[17310] Forked 21158 -(21158) found -[17309] Forked 21159 -(21159) found -[17308] Forked 21160 -(21160) found -[17307] Forked 21161 -(21161) found -[17306] Forked 21162 -(21162) found -[17305] Forked 21163 -(21163) found -[17304] Forked 21164 -(21164) found -[17303] Forked 21165 -(21165) found -[17302] Forked 21166 -(21166) found -[17301] Forked 21167 -(21167) found -[17300] Forked 21168 -(21168) found -[17299] Forked 21169 -[17298] Forked 21170 -(21169) found -(21170) found -[17297] Forked 21171 -[17296] Forked 21172 -(21171) found -(21172) found -[17295] Forked 21173 -[17294] Forked 21174 -(21173) found -(21174) found -[17293] Forked 21175 -[17292] Forked 21176 -(21175) found -(21176) found -[17291] Forked 21177 -[17290] Forked 21178 -(21177) found -(21178) found -[17289] Forked 21179 -[17288] Forked 21180 -(21179) found -(21180) found -[17287] Forked 21181 -[17286] Forked 21182 -(21181) found -(21182) found -[17285] Forked 21183 -[17284] Forked 21184 -(21183) found -(21184) found -[17283] Forked 21185 -[17282] Forked 21186 -(21185) found -(21186) found -[17281] Forked 21187 -[17280] Forked 21188 -(21187) found -(21188) found -[17279] Forked 21189 -[17278] Forked 21190 -(21189) found -(21190) found -[17277] Forked 21191 -[17276] Forked 21192 -(21191) found -(21192) found -[17275] Forked 21193 -[17274] Forked 21194 -(21193) found -(21194) found -[17273] Forked 21195 -[17272] Forked 21196 -(21195) found -(21196) found -[17271] Forked 21197 -[17270] Forked 21198 -(21197) found -(21198) found -[17269] Forked 21199 -[17268] Forked 21200 -(21199) found -(21200) found -[17267] Forked 21201 -[17266] Forked 21202 -(21201) found -(21202) found -[17265] Forked 21203 -[17264] Forked 21204 -(21203) found -(21204) found -[17263] Forked 21205 -[17262] Forked 21206 -(21205) found -(21206) found -[17261] Forked 21207 -[17260] Forked 21208 -(21207) found -(21208) found -[17259] Forked 21209 -[17258] Forked 21210 -(21209) found -(21210) found -[17257] Forked 21211 -[17256] Forked 21212 -(21211) found -(21212) found -[17255] Forked 21213 -[17254] Forked 21214 -(21213) found -(21214) found -[17253] Forked 21215 -(21215) found -[17252] Forked 21216 -(21216) found -[17251] Forked 21217 -(21217) found -[17250] Forked 21218 -(21218) found -[17249] Forked 21219 -(21219) found -[17248] Forked 21220 -(21220) found -[17247] Forked 21221 -(21221) found -[17246] Forked 21222 -(21222) found -[17245] Forked 21223 -(21223) found -[17244] Forked 21224 -(21224) found -[17243] Forked 21225 -(21225) found -[17242] Forked 21226 -(21226) found -[17241] Forked 21227 -(21227) found -[17240] Forked 21228 -(21228) found -[17239] Forked 21229 -(21229) found -[17238] Forked 21230 -(21230) found -[17237] Forked 21231 -(21231) found -[17236] Forked 21232 -(21232) found -[17235] Forked 21233 -(21233) found -[17234] Forked 21234 -(21234) found -[17233] Forked 21235 -(21235) found -[17232] Forked 21236 -(21236) found -[17231] Forked 21237 -(21237) found -[17230] Forked 21238 -(21238) found -[17229] Forked 21239 -(21239) found -[17228] Forked 21240 -(21240) found -[17227] Forked 21241 -(21241) found -[17226] Forked 21242 -(21242) found -[17225] Forked 21243 -(21243) found -[17224] Forked 21244 -(21244) found -[17223] Forked 21245 -(21245) found -[17222] Forked 21246 -(21246) found -[17221] Forked 21247 -(21247) found -[17220] Forked 21248 -(21248) found -[17219] Forked 21249 -(21249) found -[17218] Forked 21250 -[17217] Forked 21251 -(21250) found -(21251) found -[17216] Forked 21252 -(21252) found -[17215] Forked 21253 -(21253) found -[17214] Forked 21254 -(21254) found -[17213] Forked 21255 -[17212] Forked 21256 -(21255) found -(21256) found -[17211] Forked 21257 -[17210] Forked 21258 -(21257) found -(21258) found -[17209] Forked 21259 -[17208] Forked 21260 -(21259) found -(21260) found -[17207] Forked 21261 -[17206] Forked 21262 -(21261) found -(21262) found -[17205] Forked 21263 -[17204] Forked 21264 -(21263) found -(21264) found -[17203] Forked 21265 -[17202] Forked 21266 -(21265) found -(21266) found -[17201] Forked 21267 -[17200] Forked 21268 -(21267) found -(21268) found -[17199] Forked 21269 -[17198] Forked 21270 -(21269) found -(21270) found -[17197] Forked 21271 -[17196] Forked 21272 -(21271) found -(21272) found -[17195] Forked 21273 -[17194] Forked 21274 -(21273) found -(21274) found -[17193] Forked 21275 -[17192] Forked 21276 -(21275) found -(21276) found -[17191] Forked 21277 -[17190] Forked 21279 -(21277) found -(21279) found -[17189] Forked 21280 -(21280) found -[17188] Forked 21281 -(21281) found -[17187] Forked 21282 -(21282) found -[17186] Forked 21283 -(21283) found -[17185] Forked 21284 -(21284) found -[17184] Forked 21285 -(21285) found -[17183] Forked 21286 -(21286) found -[17182] Forked 21287 -(21287) found -[17181] Forked 21288 -(21288) found -[17180] Forked 21289 -(21289) found -[17179] Forked 21290 -(21290) found -[17178] Forked 21291 -(21291) found -[17177] Forked 21292 -(21292) found -[17176] Forked 21293 -(21293) found -[17175] Forked 21294 -(21294) found -[17174] Forked 21295 -(21295) found -[17173] Forked 21296 -(21296) found -[17172] Forked 21297 -(21297) found -[17171] Forked 21298 -(21298) found -[17170] Forked 21299 -(21299) found -[17169] Forked 21300 -(21300) found -[17168] Forked 21301 -(21301) found -[17167] Forked 21302 -(21302) found -[17166] Forked 21303 -(21303) found -[17165] Forked 21304 -(21304) found -[17164] Forked 21305 -(21305) found -[17163] Forked 21306 -(21306) found -[17162] Forked 21307 -(21307) found -[17161] Forked 21308 -(21308) found -[17160] Forked 21309 -(21309) found -[17159] Forked 21310 -(21310) found -[17158] Forked 21311 -(21311) found -[17157] Forked 21312 -(21312) found -[17156] Forked 21313 -(21313) found -[17155] Forked 21314 -(21314) found -[17154] Forked 21315 -(21315) found -[17153] Forked 21316 -(21316) found -[17152] Forked 21317 -(21317) found -[17151] Forked 21318 -(21318) found -[17150] Forked 21319 -(21319) found -[17149] Forked 21320 -(21320) found -[17148] Forked 21321 -(21321) found -[17147] Forked 21322 -(21322) found -[17146] Forked 21323 -(21323) found -[17145] Forked 21324 -(21324) found -[17144] Forked 21325 -(21325) found -[17143] Forked 21326 -(21326) found -[17142] Forked 21327 -(21327) found -[17141] Forked 21328 -(21328) found -[17140] Forked 21329 -(21329) found -[17139] Forked 21330 -(21330) found -[17138] Forked 21331 -(21331) found -[17137] Forked 21332 -[17136] Forked 21333 -(21332) found -(21333) found -[17135] Forked 21334 -[17134] Forked 21335 -(21334) found -(21335) found -[17133] Forked 21336 -[17132] Forked 21337 -(21336) found -(21337) found -[17131] Forked 21338 -[17130] Forked 21339 -(21338) found -(21339) found -[17129] Forked 21340 -[17128] Forked 21341 -(21340) found -(21341) found -[17127] Forked 21342 -[17126] Forked 21343 -(21342) found -(21343) found -[17125] Forked 21344 -[17124] Forked 21345 -(21344) found -(21345) found -[17123] Forked 21346 -[17122] Forked 21347 -(21346) found -(21347) found -[17121] Forked 21348 -[17120] Forked 21349 -(21348) found -(21349) found -[17119] Forked 21350 -[17118] Forked 21351 -(21350) found -(21351) found -[17117] Forked 21352 -[17116] Forked 21353 -(21352) found -(21353) found -[17115] Forked 21354 -[17114] Forked 21355 -(21354) found -(21355) found -[17113] Forked 21356 -[17112] Forked 21357 -(21356) found -(21357) found -[17111] Forked 21358 -[17110] Forked 21359 -(21358) found -(21359) found -[17109] Forked 21360 -[17108] Forked 21361 -(21360) found -(21361) found -[17107] Forked 21362 -[17106] Forked 21363 -(21362) found -(21363) found -[17105] Forked 21364 -[17104] Forked 21365 -(21364) found -(21365) found -[17103] Forked 21366 -[17102] Forked 21367 -(21366) found -(21367) found -[17101] Forked 21368 -[17100] Forked 21369 -(21368) found -(21369) found -[17099] Forked 21370 -[17098] Forked 21371 -(21370) found -(21371) found -[17097] Forked 21372 -[17096] Forked 21373 -(21372) found -(21373) found -[17095] Forked 21374 -[17094] Forked 21375 -(21374) found -(21375) found -[17093] Forked 21376 -[17092] Forked 21377 -(21376) found -(21377) found -[17091] Forked 21378 -[17090] Forked 21379 -(21379) found -(21378) found -[17089] Forked 21380 -(21380) found -[17088] Forked 21381 -(21381) found -[17087] Forked 21382 -(21382) found -[17086] Forked 21383 -(21383) found -[17085] Forked 21384 -(21384) found -[17084] Forked 21385 -(21385) found -[17083] Forked 21386 -(21386) found -[17082] Forked 21387 -(21387) found -[17081] Forked 21388 -(21388) found -[17080] Forked 21389 -(21389) found -[17079] Forked 21390 -(21390) found -[17078] Forked 21391 -(21391) found -[17077] Forked 21392 -(21392) found -[17076] Forked 21393 -(21393) found -[17075] Forked 21394 -(21394) found -[17074] Forked 21395 -(21395) found -[17073] Forked 21396 -(21396) found -[17072] Forked 21397 -(21397) found -[17071] Forked 21398 -(21398) found -[17070] Forked 21399 -(21399) found -[17069] Forked 21400 -(21400) found -[17068] Forked 21401 -(21401) found -[17067] Forked 21402 -(21402) found -[17066] Forked 21403 -(21403) found -[17065] Forked 21404 -(21404) found -[17064] Forked 21405 -(21405) found -[17063] Forked 21406 -(21406) found -[17062] Forked 21407 -(21407) found -[17061] Forked 21408 -(21408) found -[17060] Forked 21409 -(21409) found -[17059] Forked 21410 -(21410) found -[17058] Forked 21411 -(21411) found -[17057] Forked 21412 -(21412) found -[17056] Forked 21413 -[17055] Forked 21414 -(21413) found -(21414) found -[17054] Forked 21415 -[17053] Forked 21416 -(21415) found -(21416) found -[17052] Forked 21417 -[17051] Forked 21418 -(21417) found -(21418) found -[17050] Forked 21419 -[17049] Forked 21420 -(21419) found -(21420) found -[17048] Forked 21421 -[17047] Forked 21422 -(21421) found -(21422) found -[17046] Forked 21423 -[17045] Forked 21424 -(21423) found -(21424) found -[17044] Forked 21425 -[17043] Forked 21426 -(21425) found -(21426) found -[17042] Forked 21427 -[17041] Forked 21428 -(21427) found -(21428) found -[17040] Forked 21429 -[17039] Forked 21430 -(21429) found -(21430) found -[17038] Forked 21431 -[17037] Forked 21432 -(21431) found -(21432) found -[17036] Forked 21433 -[17035] Forked 21434 -(21433) found -(21434) found -[17034] Forked 21435 -[17033] Forked 21436 -(21435) found -(21436) found -[17032] Forked 21437 -[17031] Forked 21438 -(21437) found -(21438) found -[17030] Forked 21439 -[17029] Forked 21440 -(21439) found -(21440) found -[17028] Forked 21441 -[17027] Forked 21442 -(21441) found -(21442) found -[17026] Forked 21443 -[17025] Forked 21444 -(21443) found -(21444) found -[17024] Forked 21445 -[17023] Forked 21446 -(21445) found -(21446) found -[17022] Forked 21447 -[17021] Forked 21448 -(21447) found -(21448) found -[17020] Forked 21449 -[17019] Forked 21450 -(21449) found -(21450) found -[17018] Forked 21451 -[17017] Forked 21452 -(21451) found -(21452) found -[17016] Forked 21453 -[17015] Forked 21454 -(21454) found -(21453) found -[17014] Forked 21455 -(21455) found -[17013] Forked 21456 -(21456) found -[17012] Forked 21457 -(21457) found -[17011] Forked 21458 -(21458) found -[17010] Forked 21459 -(21459) found -[17009] Forked 21460 -(21460) found -[17008] Forked 21461 -(21461) found -[17007] Forked 21462 -(21462) found -[17006] Forked 21463 -(21463) found -[17005] Forked 21464 -(21464) found -[17004] Forked 21465 -(21465) found -[17003] Forked 21466 -(21466) found -[17002] Forked 21467 -(21467) found -[17001] Forked 21468 -(21468) found -[17000] Forked 21469 -(21469) found -[16999] Forked 21470 -(21470) found -[16998] Forked 21471 -(21471) found -[16997] Forked 21472 -(21472) found -[16996] Forked 21473 -(21473) found -[16995] Forked 21474 -(21474) found -[16994] Forked 21475 -(21475) found -[16993] Forked 21476 -(21476) found -[16992] Forked 21477 -(21477) found -[16991] Forked 21478 -(21478) found -[16990] Forked 21479 -(21479) found -[16989] Forked 21480 -(21480) found -[16988] Forked 21481 -(21481) found -[16987] Forked 21482 -(21482) found -[16986] Forked 21483 -(21483) found -[16985] Forked 21484 -(21484) found -[16984] Forked 21485 -(21485) found -[16983] Forked 21486 -(21486) found -[16982] Forked 21487 -(21487) found -[16981] Forked 21488 -(21488) found -[16980] Forked 21489 -(21489) found -[16979] Forked 21490 -[16978] Forked 21491 -(21490) found -(21491) found -[16977] Forked 21492 -[16976] Forked 21493 -(21492) found -(21493) found -[16975] Forked 21494 -[16974] Forked 21495 -(21494) found -(21495) found -[16973] Forked 21496 -[16972] Forked 21497 -(21496) found -(21497) found -[16971] Forked 21498 -[16970] Forked 21499 -(21498) found -(21499) found -[16969] Forked 21500 -[16968] Forked 21501 -(21500) found -(21501) found -[16967] Forked 21502 -[16966] Forked 21503 -(21502) found -(21503) found -[16965] Forked 21504 -[16964] Forked 21505 -(21504) found -(21505) found -[16963] Forked 21506 -[16962] Forked 21507 -(21506) found -(21507) found -[16961] Forked 21508 -[16960] Forked 21509 -(21508) found -(21509) found -[16959] Forked 21510 -[16958] Forked 21511 -(21510) found -(21511) found -[16957] Forked 21512 -[16956] Forked 21513 -(21512) found -(21513) found -[16955] Forked 21514 -[16954] Forked 21515 -(21514) found -(21515) found -[16953] Forked 21516 -[16952] Forked 21517 -(21516) found -(21517) found -[16951] Forked 21518 -[16950] Forked 21519 -(21518) found -(21519) found -[16949] Forked 21520 -[16948] Forked 21521 -(21520) found -(21521) found -[16947] Forked 21522 -[16946] Forked 21523 -(21522) found -(21523) found -[16945] Forked 21524 -[16944] Forked 21525 -(21524) found -(21525) found -[16943] Forked 21526 -[16942] Forked 21527 -(21526) found -(21527) found -[16941] Forked 21528 -[16940] Forked 21529 -(21528) found -(21529) found -[16939] Forked 21530 -[16938] Forked 21531 -(21530) found -(21531) found -[16937] Forked 21532 -[16936] Forked 21533 -(21532) found -(21533) found -[16935] Forked 21534 -[16934] Forked 21535 -(21534) found -(21535) found -[16933] Forked 21536 -[16932] Forked 21537 -(21536) found -(21537) found -[16931] Forked 21538 -[16930] Forked 21539 -(21538) found -(21539) found -[16929] Forked 21540 -[16928] Forked 21541 -(21540) found -(21541) found -[16927] Forked 21542 -[16926] Forked 21543 -(21542) found -(21543) found -[16925] Forked 21544 -[16924] Forked 21545 -(21544) found -(21545) found -[16923] Forked 21546 -[16922] Forked 21547 -(21546) found -(21547) found -[16921] Forked 21548 -[16920] Forked 21549 -(21548) found -(21549) found -[16919] Forked 21550 -[16918] Forked 21551 -(21550) found -(21551) found -[16917] Forked 21552 -[16916] Forked 21553 -(21552) found -(21553) found -[16915] Forked 21554 -[16914] Forked 21555 -(21554) found -(21555) found -[16913] Forked 21556 -[16912] Forked 21557 -(21556) found -(21557) found -[16911] Forked 21558 -[16910] Forked 21559 -(21558) found -(21559) found -[16909] Forked 21560 -[16908] Forked 21561 -(21560) found -(21561) found -[16907] Forked 21562 -[16906] Forked 21563 -(21562) found -(21563) found -[16905] Forked 21564 -[16904] Forked 21565 -(21564) found -(21565) found -[16903] Forked 21566 -[16902] Forked 21567 -(21566) found -(21567) found -[16901] Forked 21568 -[16900] Forked 21569 -(21568) found -(21569) found -[16899] Forked 21570 -[16898] Forked 21571 -(21570) found -(21571) found -[16897] Forked 21572 -[16896] Forked 21573 -(21572) found -(21573) found -[16895] Forked 21574 -[16894] Forked 21575 -(21574) found -(21575) found -[16893] Forked 21576 -[16892] Forked 21577 -(21576) found -(21577) found -[16891] Forked 21578 -[16890] Forked 21579 -(21578) found -(21579) found -[16889] Forked 21580 -[16888] Forked 21581 -(21580) found -(21581) found -[16887] Forked 21582 -[16886] Forked 21583 -(21582) found -(21583) found -[16885] Forked 21584 -[16884] Forked 21585 -(21584) found -(21585) found -[16883] Forked 21586 -[16882] Forked 21587 -(21586) found -(21587) found -[16881] Forked 21588 -[16880] Forked 21589 -(21588) found -(21589) found -[16879] Forked 21590 -[16878] Forked 21591 -(21590) found -(21591) found -[16877] Forked 21592 -[16876] Forked 21593 -(21592) found -(21593) found -[16875] Forked 21594 -[16874] Forked 21595 -(21594) found -(21595) found -[16873] Forked 21596 -[16872] Forked 21597 -(21596) found -(21597) found -[16871] Forked 21598 -[16870] Forked 21599 -(21598) found -(21599) found -[16869] Forked 21600 -[16868] Forked 21601 -(21600) found -(21601) found -[16867] Forked 21602 -[16866] Forked 21603 -(21602) found -(21603) found -[16865] Forked 21604 -[16864] Forked 21605 -(21604) found -(21605) found -[16863] Forked 21606 -[16862] Forked 21607 -(21606) found -(21607) found -[16861] Forked 21608 -[16860] Forked 21609 -(21608) found -(21609) found -[16859] Forked 21610 -[16858] Forked 21611 -(21610) found -(21611) found -[16857] Forked 21612 -[16856] Forked 21613 -(21612) found -(21613) found -[16855] Forked 21614 -[16854] Forked 21615 -(21614) found -(21615) found -[16853] Forked 21616 -[16852] Forked 21617 -(21616) found -(21617) found -[16851] Forked 21618 -[16850] Forked 21619 -(21618) found -(21619) found -[16849] Forked 21620 -[16848] Forked 21621 -(21620) found -(21621) found -[16847] Forked 21622 -[16846] Forked 21623 -(21622) found -(21623) found -[16845] Forked 21624 -[16844] Forked 21625 -(21624) found -(21625) found -[16843] Forked 21626 -[16842] Forked 21627 -(21626) found -(21627) found -[16841] Forked 21628 -[16840] Forked 21630 -(21628) found -(21630) found -[16839] Forked 21631 -(21631) found -[16838] Forked 21632 -(21632) found -[16837] Forked 21633 -(21633) found -[16836] Forked 21634 -(21634) found -[16835] Forked 21635 -(21635) found -[16834] Forked 21636 -(21636) found -[16833] Forked 21637 -(21637) found -[16832] Forked 21638 -(21638) found -[16831] Forked 21639 -(21639) found -[16830] Forked 21640 -(21640) found -[16829] Forked 21641 -(21641) found -[16828] Forked 21642 -(21642) found -[16827] Forked 21643 -(21643) found -[16826] Forked 21644 -(21644) found -[16825] Forked 21645 -(21645) found -[16824] Forked 21646 -(21646) found -[16823] Forked 21647 -(21647) found -[16822] Forked 21648 -(21648) found -[16821] Forked 21649 -(21649) found -[16820] Forked 21650 -(21650) found -[16819] Forked 21651 -(21651) found -[16818] Forked 21652 -(21652) found -[16817] Forked 21653 -(21653) found -[16816] Forked 21654 -(21654) found -[16815] Forked 21655 -(21655) found -[16814] Forked 21656 -(21656) found -[16813] Forked 21657 -(21657) found -[16812] Forked 21658 -(21658) found -[16811] Forked 21659 -(21659) found -[16810] Forked 21660 -[16809] Forked 21661 -(21660) found -(21661) found -[16808] Forked 21662 -[16807] Forked 21663 -(21662) found -(21663) found -[16806] Forked 21664 -[16805] Forked 21665 -(21664) found -(21665) found -[16804] Forked 21666 -[16803] Forked 21667 -(21666) found -(21667) found -[16802] Forked 21668 -[16801] Forked 21669 -(21668) found -(21669) found -[16800] Forked 21670 -[16799] Forked 21671 -(21670) found -(21671) found -[16798] Forked 21672 -[16797] Forked 21673 -(21672) found -(21673) found -[16796] Forked 21674 -[16795] Forked 21675 -(21674) found -(21675) found -[16794] Forked 21676 -[16793] Forked 21677 -(21676) found -(21677) found -[16792] Forked 21678 -[16791] Forked 21679 -(21678) found -(21679) found -[16790] Forked 21680 -[16789] Forked 21681 -(21680) found -(21681) found -[16788] Forked 21682 -[16787] Forked 21683 -(21682) found -(21683) found -[16786] Forked 21684 -[16785] Forked 21685 -(21684) found -(21685) found -[16784] Forked 21686 -[16783] Forked 21687 -(21686) found -(21687) found -[16782] Forked 21688 -[16781] Forked 21689 -(21688) found -(21689) found -[16780] Forked 21690 -[16779] Forked 21691 -(21690) found -(21691) found -[16778] Forked 21692 -[16777] Forked 21693 -(21692) found -(21693) found -[16776] Forked 21694 -[16775] Forked 21695 -(21694) found -(21695) found -[16774] Forked 21696 -[16773] Forked 21697 -(21696) found -(21697) found -[16772] Forked 21698 -(21698) found -[16771] Forked 21699 -[16770] Forked 21700 -(21699) found -(21700) found -[16769] Forked 21701 -[16768] Forked 21702 -(21701) found -(21702) found -[16767] Forked 21703 -[16766] Forked 21704 -(21703) found -(21704) found -[16765] Forked 21705 -[16764] Forked 21706 -(21705) found -(21706) found -[16763] Forked 21707 -[16762] Forked 21708 -(21707) found -(21708) found -[16761] Forked 21709 -[16760] Forked 21710 -(21709) found -(21710) found -[16759] Forked 21711 -[16758] Forked 21712 -(21711) found -(21712) found -[16757] Forked 21713 -[16756] Forked 21714 -(21713) found -(21714) found -[16755] Forked 21715 -[16754] Forked 21716 -(21715) found -(21716) found -[16753] Forked 21717 -[16752] Forked 21718 -(21717) found -(21718) found -[16751] Forked 21719 -[16750] Forked 21720 -(21719) found -(21720) found -[16749] Forked 21721 -[16748] Forked 21722 -(21721) found -(21722) found -[16747] Forked 21723 -[16746] Forked 21724 -(21723) found -(21724) found -[16745] Forked 21725 -[16744] Forked 21726 -(21725) found -(21726) found -[16743] Forked 21727 -[16742] Forked 21728 -(21727) found -(21728) found -[16741] Forked 21729 -[16740] Forked 21730 -(21729) found -(21730) found -[16739] Forked 21731 -[16738] Forked 21732 -(21731) found -(21732) found -[16737] Forked 21733 -[16736] Forked 21734 -(21733) found -(21734) found -[16735] Forked 21735 -[16734] Forked 21736 -(21735) found -(21736) found -[16733] Forked 21737 -[16732] Forked 21738 -(21737) found -(21738) found -[16731] Forked 21739 -[16730] Forked 21740 -(21739) found -(21740) found -[16729] Forked 21741 -[16728] Forked 21742 -(21741) found -(21742) found -[16727] Forked 21743 -[16726] Forked 21744 -(21743) found -(21744) found -[16725] Forked 21745 -[16724] Forked 21746 -(21745) found -(21746) found -[16723] Forked 21747 -[16722] Forked 21749 -(21747) found -(21749) found -[16721] Forked 21750 -(21750) found -[16720] Forked 21751 -(21751) found -[16719] Forked 21752 -(21752) found -[16718] Forked 21753 -(21753) found -[16717] Forked 21754 -(21754) found -[16716] Forked 21755 -(21755) found -[16715] Forked 21756 -(21756) found -[16714] Forked 21757 -(21757) found -[16713] Forked 21758 -(21758) found -[16712] Forked 21759 -(21759) found -[16711] Forked 21760 -(21760) found -[16710] Forked 21761 -(21761) found -[16709] Forked 21762 -(21762) found -[16708] Forked 21763 -(21763) found -[16707] Forked 21764 -(21764) found -[16706] Forked 21765 -(21765) found -[16705] Forked 21766 -(21766) found -[16704] Forked 21767 -(21767) found -[16703] Forked 21768 -(21768) found -[16702] Forked 21769 -(21769) found -[16701] Forked 21770 -(21770) found -[16700] Forked 21771 -(21771) found -[16699] Forked 21772 -(21772) found -[16698] Forked 21773 -(21773) found -[16697] Forked 21774 -(21774) found -[16696] Forked 21775 -(21775) found -[16695] Forked 21776 -(21776) found -[16694] Forked 21777 -(21777) found -[16693] Forked 21778 -(21778) found -[16692] Forked 21779 -(21779) found -[16691] Forked 21780 -(21780) found -[16690] Forked 21781 -(21781) found -[16689] Forked 21782 -(21782) found -[16688] Forked 21783 -(21783) found -[16687] Forked 21784 -(21784) found -[16686] Forked 21785 -(21785) found -[16685] Forked 21786 -(21786) found -[16684] Forked 21787 -[16683] Forked 21788 -(21787) found -(21788) found -[16682] Forked 21789 -[16681] Forked 21790 -(21789) found -(21790) found -[16680] Forked 21791 -[16679] Forked 21792 -(21791) found -(21792) found -[16678] Forked 21793 -[16677] Forked 21794 -(21793) found -(21794) found -[16676] Forked 21795 -[16675] Forked 21796 -(21795) found -(21796) found -[16674] Forked 21797 -[16673] Forked 21798 -(21797) found -(21798) found -[16672] Forked 21799 -[16671] Forked 21800 -(21799) found -(21800) found -[16670] Forked 21801 -[16669] Forked 21802 -(21801) found -(21802) found -[16668] Forked 21803 -[16667] Forked 21804 -(21803) found -(21804) found -[16666] Forked 21805 -[16665] Forked 21806 -(21805) found -(21806) found -[16664] Forked 21807 -[16663] Forked 21808 -(21807) found -(21808) found -[16662] Forked 21809 -[16661] Forked 21810 -(21809) found -(21810) found -[16660] Forked 21811 -[16659] Forked 21812 -(21811) found -(21812) found -[16658] Forked 21813 -[16657] Forked 21814 -(21813) found -(21814) found -[16656] Forked 21815 -[16655] Forked 21816 -(21815) found -(21816) found -[16654] Forked 21817 -[16653] Forked 21818 -(21817) found -(21818) found -[16652] Forked 21819 -[16651] Forked 21820 -(21819) found -(21820) found -[16650] Forked 21821 -[16649] Forked 21822 -(21821) found -(21822) found -[16648] Forked 21823 -[16647] Forked 21824 -(21823) found -(21824) found -[16646] Forked 21825 -[16645] Forked 21826 -(21825) found -(21826) found -[16644] Forked 21827 -[16643] Forked 21828 -(21827) found -(21828) found -[16642] Forked 21829 -[16641] Forked 21830 -(21829) found -(21830) found -[16640] Forked 21831 -[16639] Forked 21832 -(21831) found -(21832) found -[16638] Forked 21833 -[16637] Forked 21834 -(21833) found -(21834) found -[16636] Forked 21835 -[16635] Forked 21836 -(21835) found -(21836) found -[16634] Forked 21837 -[16633] Forked 21838 -(21837) found -(21838) found -[16632] Forked 21839 -[16631] Forked 21840 -(21839) found -(21840) found -[16630] Forked 21841 -[16629] Forked 21842 -(21841) found -(21842) found -[16628] Forked 21843 -[16627] Forked 21844 -(21843) found -(21844) found -[16626] Forked 21845 -[16625] Forked 21846 -(21845) found -(21846) found -[16624] Forked 21847 -[16623] Forked 21848 -(21847) found -(21848) found -[16622] Forked 21849 -[16621] Forked 21850 -(21849) found -(21850) found -[16620] Forked 21851 -[16619] Forked 21852 -(21851) found -(21852) found -[16618] Forked 21853 -[16617] Forked 21854 -(21853) found -(21854) found -[16616] Forked 21855 -[16615] Forked 21856 -(21855) found -(21856) found -[16614] Forked 21857 -[16613] Forked 21858 -(21857) found -(21858) found -[16612] Forked 21859 -[16611] Forked 21860 -(21859) found -(21860) found -[16610] Forked 21861 -[16609] Forked 21862 -(21861) found -(21862) found -[16608] Forked 21863 -[16607] Forked 21864 -(21863) found -(21864) found -[16606] Forked 21865 -[16605] Forked 21867 -(21865) found -(21867) found -[16604] Forked 21868 -(21868) found -[16603] Forked 21869 -(21869) found -[16602] Forked 21870 -(21870) found -[16601] Forked 21871 -(21871) found -[16600] Forked 21872 -(21872) found -[16599] Forked 21873 -(21873) found -[16598] Forked 21874 -(21874) found -[16597] Forked 21875 -(21875) found -[16596] Forked 21876 -(21876) found -[16595] Forked 21877 -(21877) found -[16594] Forked 21878 -(21878) found -[16593] Forked 21879 -(21879) found -[16592] Forked 21880 -(21880) found -[16591] Forked 21881 -(21881) found -[16590] Forked 21882 -(21882) found -[16589] Forked 21883 -(21883) found -[16588] Forked 21884 -(21884) found -[16587] Forked 21885 -(21885) found -[16586] Forked 21886 -(21886) found -[16585] Forked 21887 -(21887) found -[16584] Forked 21888 -(21888) found -[16583] Forked 21889 -(21889) found -[16582] Forked 21890 -(21890) found -[16581] Forked 21891 -(21891) found -[16580] Forked 21892 -(21892) found -[16579] Forked 21893 -(21893) found -[16578] Forked 21894 -(21894) found -[16577] Forked 21895 -(21895) found -[16576] Forked 21896 -(21896) found -[16575] Forked 21897 -(21897) found -[16574] Forked 21898 -(21898) found -[16573] Forked 21899 -(21899) found -[16572] Forked 21900 -(21900) found -[16571] Forked 21901 -(21901) found -[16570] Forked 21902 -(21902) found -[16569] Forked 21903 -(21903) found -[16568] Forked 21904 -(21904) found -[16567] Forked 21905 -(21905) found -[16566] Forked 21906 -(21906) found -[16565] Forked 21907 -(21907) found -[16564] Forked 21908 -(21908) found -[16563] Forked 21909 -(21909) found -[16562] Forked 21910 -(21910) found -[16561] Forked 21911 -(21911) found -[16560] Forked 21912 -(21912) found -[16559] Forked 21913 -(21913) found -[16558] Forked 21914 -[16557] Forked 21915 -(21914) found -(21915) found -[16556] Forked 21916 -[16555] Forked 21917 -(21916) found -(21917) found -[16554] Forked 21918 -[16553] Forked 21919 -(21918) found -(21919) found -[16552] Forked 21920 -[16551] Forked 21921 -(21920) found -(21921) found -[16550] Forked 21922 -[16549] Forked 21923 -(21922) found -(21923) found -[16548] Forked 21924 -[16547] Forked 21925 -(21924) found -(21925) found -[16546] Forked 21926 -[16545] Forked 21927 -(21926) found -(21927) found -[16544] Forked 21928 -[16543] Forked 21929 -(21928) found -(21929) found -[16542] Forked 21930 -[16541] Forked 21931 -(21930) found -(21931) found -[16540] Forked 21932 -[16539] Forked 21933 -(21932) found -(21933) found -[16538] Forked 21934 -[16537] Forked 21935 -(21934) found -(21935) found -[16536] Forked 21936 -[16535] Forked 21937 -(21936) found -(21937) found -[16534] Forked 21938 -[16533] Forked 21939 -(21938) found -(21939) found -[16532] Forked 21940 -[16531] Forked 21941 -(21940) found -(21941) found -[16530] Forked 21942 -[16529] Forked 21943 -(21942) found -(21943) found -[16528] Forked 21944 -[16527] Forked 21945 -(21944) found -(21945) found -[16526] Forked 21946 -[16525] Forked 21947 -(21946) found -(21947) found -[16524] Forked 21948 -[16523] Forked 21949 -(21948) found -(21949) found -[16522] Forked 21950 -[16521] Forked 21951 -(21950) found -(21951) found -[16520] Forked 21952 -[16519] Forked 21953 -(21952) found -(21953) found -[16518] Forked 21954 -[16517] Forked 21955 -(21954) found -(21955) found -[16516] Forked 21956 -[16515] Forked 21957 -(21956) found -(21957) found -[16514] Forked 21958 -(21958) found -[16513] Forked 21959 -(21959) found -[16512] Forked 21960 -(21960) found -[16511] Forked 21961 -(21961) found -[16510] Forked 21962 -(21962) found -[16509] Forked 21963 -(21963) found -[16508] Forked 21964 -(21964) found -[16507] Forked 21965 -(21965) found -[16506] Forked 21966 -(21966) found -[16505] Forked 21967 -(21967) found -[16504] Forked 21968 -(21968) found -[16503] Forked 21969 -(21969) found -[16502] Forked 21970 -(21970) found -[16501] Forked 21971 -(21971) found -[16500] Forked 21972 -(21972) found -[16499] Forked 21973 -(21973) found -[16498] Forked 21974 -(21974) found -[16497] Forked 21975 -(21975) found -[16496] Forked 21976 -(21976) found -[16495] Forked 21977 -(21977) found -[16494] Forked 21978 -(21978) found -[16493] Forked 21979 -(21979) found -[16492] Forked 21980 -(21980) found -[16491] Forked 21981 -(21981) found -[16490] Forked 21982 -(21982) found -[16489] Forked 21983 -(21983) found -[16488] Forked 21984 -(21984) found -[16487] Forked 21985 -(21985) found -[16486] Forked 21986 -(21986) found -[16485] Forked 21987 -(21987) found -[16484] Forked 21988 -(21988) found -[16483] Forked 21989 -(21989) found -[16482] Forked 21990 -(21990) found -[16481] Forked 21991 -(21991) found -[16480] Forked 21992 -(21992) found -[16479] Forked 21993 -(21993) found -[16478] Forked 21994 -(21994) found -[16477] Forked 21995 -[16476] Forked 21996 -(21995) found -(21996) found -[16475] Forked 21997 -[16474] Forked 21998 -(21997) found -(21998) found -[16473] Forked 21999 -[16472] Forked 22000 -(21999) found -(22000) found -[16471] Forked 22001 -[16470] Forked 22002 -(22001) found -(22002) found -[16469] Forked 22003 -[16468] Forked 22004 -(22003) found -(22004) found -[16467] Forked 22005 -[16466] Forked 22006 -(22005) found -(22006) found -[16465] Forked 22007 -[16464] Forked 22008 -(22007) found -(22008) found -[16463] Forked 22009 -[16462] Forked 22010 -(22009) found -(22010) found -[16461] Forked 22011 -[16460] Forked 22012 -(22011) found -(22012) found -[16459] Forked 22013 -[16458] Forked 22014 -(22013) found -(22014) found -[16457] Forked 22015 -[16456] Forked 22016 -(22015) found -(22016) found -[16455] Forked 22017 -[16454] Forked 22018 -(22017) found -(22018) found -[16453] Forked 22019 -[16452] Forked 22020 -(22019) found -(22020) found -[16451] Forked 22021 -[16450] Forked 22022 -(22021) found -(22022) found -[16449] Forked 22023 -[16448] Forked 22024 -(22023) found -(22024) found -[16447] Forked 22025 -[16446] Forked 22026 -(22025) found -(22026) found -[16445] Forked 22027 -[16444] Forked 22028 -(22027) found -(22028) found -[16443] Forked 22029 -[16442] Forked 22030 -(22029) found -(22030) found -[16441] Forked 22031 -[16440] Forked 22032 -(22031) found -(22032) found -[16439] Forked 22033 -[16438] Forked 22034 -(22033) found -(22034) found -[16437] Forked 22035 -[16436] Forked 22037 -(22035) found -(22037) found -[16435] Forked 22038 -(22038) found -[16434] Forked 22039 -(22039) found -[16433] Forked 22040 -(22040) found -[16432] Forked 22041 -(22041) found -[16431] Forked 22042 -(22042) found -[16430] Forked 22043 -(22043) found -[16429] Forked 22044 -(22044) found -[16428] Forked 22045 -(22045) found -[16427] Forked 22046 -(22046) found -[16426] Forked 22047 -(22047) found -[16425] Forked 22048 -(22048) found -[16424] Forked 22049 -(22049) found -[16423] Forked 22050 -(22050) found -[16422] Forked 22051 -(22051) found -[16421] Forked 22052 -(22052) found -[16420] Forked 22053 -(22053) found -[16419] Forked 22054 -(22054) found -[16418] Forked 22055 -(22055) found -[16417] Forked 22056 -(22056) found -[16416] Forked 22057 -(22057) found -[16415] Forked 22058 -(22058) found -[16414] Forked 22059 -(22059) found -[16413] Forked 22060 -(22060) found -[16412] Forked 22061 -(22061) found -[16411] Forked 22062 -(22062) found -[16410] Forked 22063 -(22063) found -[16409] Forked 22064 -(22064) found -[16408] Forked 22065 -(22065) found -[16407] Forked 22066 -(22066) found -[16406] Forked 22067 -(22067) found -[16405] Forked 22068 -(22068) found -[16404] Forked 22069 -(22069) found -[16403] Forked 22070 -(22070) found -[16402] Forked 22071 -(22071) found -[16401] Forked 22072 -(22072) found -[16400] Forked 22073 -(22073) found -[16399] Forked 22074 -(22074) found -[16398] Forked 22075 -(22075) found -[16397] Forked 22076 -(22076) found -[16396] Forked 22077 -[16395] Forked 22078 -(22077) found -(22078) found -[16394] Forked 22079 -[16393] Forked 22080 -(22079) found -(22080) found -[16392] Forked 22081 -[16391] Forked 22082 -(22081) found -(22082) found -[16390] Forked 22083 -[16389] Forked 22084 -(22083) found -(22084) found -[16388] Forked 22085 -[16387] Forked 22086 -(22085) found -(22086) found -[16386] Forked 22087 -[16385] Forked 22088 -(22087) found -(22088) found -[16384] Forked 22089 -[16383] Forked 22090 -(22089) found -(22090) found -[16382] Forked 22091 -[16381] Forked 22092 -(22091) found -(22092) found -[16380] Forked 22093 -[16379] Forked 22094 -(22093) found -(22094) found -[16378] Forked 22095 -[16377] Forked 22096 -(22095) found -(22096) found -[16376] Forked 22097 -[16375] Forked 22098 -(22097) found -(22098) found -[16374] Forked 22099 -[16373] Forked 22100 -(22099) found -(22100) found -[16372] Forked 22101 -[16371] Forked 22102 -(22101) found -(22102) found -[16370] Forked 22103 -[16369] Forked 22104 -(22103) found -(22104) found -[16368] Forked 22105 -[16367] Forked 22106 -(22105) found -(22106) found -[16366] Forked 22107 -[16365] Forked 22108 -(22107) found -(22108) found -[16364] Forked 22109 -[16363] Forked 22110 -(22109) found -(22110) found -[16362] Forked 22111 -[16361] Forked 22112 -(22111) found -(22112) found -[16360] Forked 22113 -[16359] Forked 22114 -(22113) found -(22114) found -[16358] Forked 22115 -[16357] Forked 22116 -(22115) found -(22116) found -[16356] Forked 22117 -[16355] Forked 22118 -(22117) found -(22118) found -[16354] Forked 22119 -[16353] Forked 22120 -(22119) found -(22120) found -[16352] Forked 22121 -[16351] Forked 22123 -(22121) found -(22123) found -[16350] Forked 22124 -(22124) found -[16349] Forked 22125 -(22125) found -[16348] Forked 22126 -(22126) found -[16347] Forked 22127 -(22127) found -[16346] Forked 22128 -(22128) found -[16345] Forked 22129 -(22129) found -[16344] Forked 22130 -(22130) found -[16343] Forked 22131 -(22131) found -[16342] Forked 22132 -(22132) found -[16341] Forked 22133 -(22133) found -[16340] Forked 22134 -(22134) found -[16339] Forked 22135 -(22135) found -[16338] Forked 22136 -(22136) found -[16337] Forked 22137 -(22137) found -[16336] Forked 22138 -(22138) found -[16335] Forked 22139 -(22139) found -[16334] Forked 22140 -(22140) found -[16333] Forked 22141 -(22141) found -[16332] Forked 22142 -(22142) found -[16331] Forked 22143 -(22143) found -[16330] Forked 22144 -(22144) found -[16329] Forked 22145 -(22145) found -[16328] Forked 22146 -(22146) found -[16327] Forked 22147 -(22147) found -[16326] Forked 22148 -(22148) found -[16325] Forked 22149 -(22149) found -[16324] Forked 22150 -(22150) found -[16323] Forked 22151 -(22151) found -[16322] Forked 22152 -(22152) found -[16321] Forked 22153 -(22153) found -[16320] Forked 22154 -(22154) found -[16319] Forked 22155 -(22155) found -[16318] Forked 22156 -(22156) found -[16317] Forked 22157 -(22157) found -[16316] Forked 22158 -(22158) found -[16315] Forked 22159 -(22159) found -[16314] Forked 22160 -(22160) found -[16313] Forked 22161 -(22161) found -[16312] Forked 22162 -(22162) found -[16311] Forked 22163 -(22163) found -[16310] Forked 22164 -(22164) found -[16309] Forked 22165 -(22165) found -[16308] Forked 22166 -(22166) found -[16307] Forked 22167 -(22167) found -[16306] Forked 22168 -(22168) found -[16305] Forked 22169 -(22169) found -[16304] Forked 22170 -(22170) found -[16303] Forked 22171 -(22171) found -[16302] Forked 22172 -(22172) found -[16301] Forked 22173 -(22173) found -[16300] Forked 22174 -(22174) found -[16299] Forked 22175 -(22175) found -[16298] Forked 22176 -(22176) found -[16297] Forked 22177 -(22177) found -[16296] Forked 22178 -(22178) found -[16295] Forked 22179 -(22179) found -[16294] Forked 22180 -(22180) found -[16293] Forked 22181 -(22181) found -[16292] Forked 22182 -(22182) found -[16291] Forked 22183 -(22183) found -[16290] Forked 22184 -(22184) found -[16289] Forked 22185 -(22185) found -[16288] Forked 22186 -(22186) found -[16287] Forked 22187 -(22187) found -[16286] Forked 22188 -(22188) found -[16285] Forked 22189 -(22189) found -[16284] Forked 22190 -(22190) found -[16283] Forked 22191 -(22191) found -[16282] Forked 22192 -(22192) found -[16281] Forked 22193 -(22193) found -[16280] Forked 22194 -[16279] Forked 22195 -(22194) found -(22195) found -[16278] Forked 22196 -[16277] Forked 22197 -(22196) found -(22197) found -[16276] Forked 22198 -[16275] Forked 22199 -(22198) found -(22199) found -[16274] Forked 22200 -[16273] Forked 22201 -(22200) found -(22201) found -[16272] Forked 22202 -[16271] Forked 22203 -(22202) found -(22203) found -[16270] Forked 22204 -[16269] Forked 22205 -(22204) found -(22205) found -[16268] Forked 22206 -[16267] Forked 22207 -(22206) found -(22207) found -[16266] Forked 22208 -[16265] Forked 22209 -(22208) found -(22209) found -[16264] Forked 22210 -[16263] Forked 22211 -(22210) found -(22211) found -[16262] Forked 22212 -[16261] Forked 22213 -(22212) found -(22213) found -[16260] Forked 22214 -[16259] Forked 22215 -(22214) found -(22215) found -[16258] Forked 22216 -[16257] Forked 22217 -(22216) found -(22217) found -[16256] Forked 22218 -[16255] Forked 22220 -(22218) found -(22220) found -[16254] Forked 22221 -(22221) found -[16253] Forked 22222 -(22222) found -[16252] Forked 22223 -(22223) found -[16251] Forked 22224 -(22224) found -[16250] Forked 22225 -(22225) found -[16249] Forked 22226 -(22226) found -[16248] Forked 22227 -(22227) found -[16247] Forked 22228 -(22228) found -[16246] Forked 22229 -(22229) found -[16245] Forked 22230 -(22230) found -[16244] Forked 22231 -(22231) found -[16243] Forked 22232 -(22232) found -[16242] Forked 22233 -(22233) found -[16241] Forked 22234 -(22234) found -[16240] Forked 22235 -(22235) found -[16239] Forked 22236 -(22236) found -[16238] Forked 22237 -(22237) found -[16237] Forked 22238 -(22238) found -[16236] Forked 22239 -(22239) found -[16235] Forked 22240 -(22240) found -[16234] Forked 22241 -(22241) found -[16233] Forked 22242 -(22242) found -[16232] Forked 22243 -(22243) found -[16231] Forked 22244 -(22244) found -[16230] Forked 22245 -(22245) found -[16229] Forked 22246 -(22246) found -[16228] Forked 22247 -(22247) found -[16227] Forked 22248 -(22248) found -[16226] Forked 22249 -(22249) found -[16225] Forked 22250 -(22250) found -[16224] Forked 22251 -(22251) found -[16223] Forked 22252 -(22252) found -[16222] Forked 22253 -(22253) found -[16221] Forked 22254 -(22254) found -[16220] Forked 22255 -(22255) found -[16219] Forked 22256 -(22256) found -[16218] Forked 22257 -(22257) found -[16217] Forked 22258 -(22258) found -[16216] Forked 22259 -(22259) found -[16215] Forked 22260 -(22260) found -[16214] Forked 22261 -(22261) found -[16213] Forked 22262 -(22262) found -[16212] Forked 22263 -(22263) found -[16211] Forked 22264 -(22264) found -[16210] Forked 22265 -(22265) found -[16209] Forked 22266 -(22266) found -[16208] Forked 22267 -(22267) found -[16207] Forked 22268 -(22268) found -[16206] Forked 22269 -(22269) found -[16205] Forked 22270 -(22270) found -[16204] Forked 22271 -(22271) found -[16203] Forked 22272 -(22272) found -[16202] Forked 22273 -(22273) found -[16201] Forked 22274 -(22274) found -[16200] Forked 22275 -(22275) found -[16199] Forked 22276 -(22276) found -[16198] Forked 22277 -(22277) found -[16197] Forked 22278 -(22278) found -[16196] Forked 22279 -(22279) found -[16195] Forked 22280 -(22280) found -[16194] Forked 22281 -(22281) found -[16193] Forked 22282 -(22282) found -[16192] Forked 22283 -(22283) found -[16191] Forked 22284 -(22284) found -[16190] Forked 22285 -(22285) found -[16189] Forked 22286 -(22286) found -[16188] Forked 22287 -(22287) found -[16187] Forked 22288 -(22288) found -[16186] Forked 22289 -(22289) found -[16185] Forked 22290 -(22290) found -[16184] Forked 22291 -(22291) found -[16183] Forked 22292 -(22292) found -[16182] Forked 22293 -(22293) found -[16181] Forked 22294 -(22294) found -[16180] Forked 22295 -(22295) found -[16179] Forked 22296 -(22296) found -[16178] Forked 22297 -(22297) found -[16177] Forked 22298 -(22298) found -[16176] Forked 22299 -(22299) found -[16175] Forked 22300 -(22300) found -[16174] Forked 22301 -(22301) found -[16173] Forked 22302 -(22302) found -[16172] Forked 22303 -(22303) found -[16171] Forked 22304 -(22304) found -[16170] Forked 22305 -(22305) found -[16169] Forked 22306 -(22306) found -[16168] Forked 22307 -[16167] Forked 22308 -(22307) found -(22308) found -[16166] Forked 22309 -[16165] Forked 22310 -(22309) found -(22310) found -[16164] Forked 22311 -[16163] Forked 22312 -(22311) found -(22312) found -[16162] Forked 22313 -[16161] Forked 22314 -(22313) found -(22314) found -[16160] Forked 22315 -[16159] Forked 22316 -(22315) found -(22316) found -[16158] Forked 22317 -[16157] Forked 22318 -(22317) found -(22318) found -[16156] Forked 22319 -[16155] Forked 22320 -(22319) found -(22320) found -[16154] Forked 22321 -[16153] Forked 22322 -(22321) found -(22322) found -[16152] Forked 22323 -[16151] Forked 22324 -(22323) found -(22324) found -[16150] Forked 22325 -[16149] Forked 22326 -(22325) found -(22326) found -[16148] Forked 22327 -[16147] Forked 22328 -(22327) found -(22328) found -[16146] Forked 22329 -[16145] Forked 22330 -(22329) found -(22330) found -[16144] Forked 22331 -[16143] Forked 22332 -(22331) found -(22332) found -[16142] Forked 22333 -[16141] Forked 22334 -(22333) found -(22334) found -[16140] Forked 22335 -[16139] Forked 22336 -(22335) found -(22336) found -[16138] Forked 22337 -[16137] Forked 22338 -(22337) found -(22338) found -[16136] Forked 22339 -[16135] Forked 22340 -(22339) found -(22340) found -[16134] Forked 22341 -[16133] Forked 22342 -(22341) found -(22342) found -[16132] Forked 22343 -[16131] Forked 22344 -(22343) found -(22344) found -[16130] Forked 22345 -[16129] Forked 22346 -(22345) found -(22346) found -[16128] Forked 22347 -(22347) found -[16127] Forked 22348 -[16126] Forked 22349 -(22348) found -(22349) found -[16125] Forked 22350 -[16124] Forked 22351 -(22350) found -(22351) found -[16123] Forked 22352 -[16122] Forked 22353 -(22352) found -(22353) found -[16121] Forked 22354 -[16120] Forked 22355 -(22354) found -(22355) found -[16119] Forked 22356 -[16118] Forked 22357 -(22356) found -(22357) found -[16117] Forked 22358 -[16116] Forked 22359 -(22358) found -(22359) found -[16115] Forked 22360 -[16114] Forked 22361 -(22360) found -(22361) found -[16113] Forked 22362 -[16112] Forked 22363 -(22362) found -(22363) found -[16111] Forked 22364 -[16110] Forked 22365 -(22364) found -(22365) found -[16109] Forked 22366 -[16108] Forked 22367 -(22366) found -(22367) found -[16107] Forked 22368 -[16106] Forked 22369 -(22368) found -(22369) found -[16105] Forked 22370 -[16104] Forked 22371 -(22370) found -(22371) found -[16103] Forked 22372 -[16102] Forked 22373 -(22372) found -(22373) found -[16101] Forked 22374 -[16100] Forked 22375 -(22374) found -(22375) found -[16099] Forked 22376 -[16098] Forked 22377 -(22376) found -(22377) found -[16097] Forked 22378 -[16096] Forked 22379 -(22378) found -(22379) found -[16095] Forked 22380 -[16094] Forked 22381 -(22380) found -(22381) found -[16093] Forked 22382 -[16092] Forked 22383 -(22382) found -(22383) found -[16091] Forked 22384 -[16090] Forked 22385 -(22384) found -(22385) found -[16089] Forked 22386 -[16088] Forked 22387 -(22386) found -(22387) found -[16087] Forked 22388 -[16086] Forked 22389 -(22388) found -(22389) found -[16085] Forked 22390 -[16084] Forked 22391 -(22390) found -(22391) found -[16083] Forked 22392 -[16082] Forked 22393 -(22392) found -(22393) found -[16081] Forked 22394 -[16080] Forked 22395 -(22394) found -(22395) found -[16079] Forked 22396 -[16078] Forked 22397 -(22396) found -(22397) found -[16077] Forked 22398 -[16076] Forked 22399 -(22398) found -(22399) found -[16075] Forked 22400 -[16074] Forked 22401 -(22400) found -(22401) found -[16073] Forked 22402 -[16072] Forked 22403 -(22402) found -(22403) found -[16071] Forked 22404 -[16070] Forked 22405 -(22404) found -(22405) found -[16069] Forked 22406 -[16068] Forked 22407 -(22406) found -(22407) found -[16067] Forked 22408 -[16066] Forked 22409 -(22408) found -(22409) found -[16065] Forked 22410 -[16064] Forked 22411 -(22410) found -(22411) found -[16063] Forked 22412 -[16062] Forked 22413 -(22412) found -(22413) found -[16061] Forked 22414 -[16060] Forked 22415 -(22414) found -(22415) found -[16059] Forked 22416 -[16058] Forked 22417 -(22416) found -(22417) found -[16057] Forked 22418 -[16056] Forked 22419 -(22418) found -(22419) found -[16055] Forked 22420 -[16054] Forked 22421 -(22420) found -(22421) found -[16053] Forked 22422 -[16052] Forked 22423 -(22422) found -(22423) found -[16051] Forked 22424 -[16050] Forked 22425 -(22424) found -(22425) found -[16049] Forked 22426 -[16048] Forked 22427 -(22426) found -(22427) found -[16047] Forked 22428 -[16046] Forked 22429 -(22428) found -(22429) found -[16045] Forked 22430 -[16044] Forked 22431 -(22430) found -(22431) found -[16043] Forked 22432 -[16042] Forked 22433 -(22432) found -(22433) found -[16041] Forked 22434 -[16040] Forked 22435 -(22434) found -(22435) found -[16039] Forked 22436 -[16038] Forked 22437 -(22436) found -(22437) found -[16037] Forked 22438 -[16036] Forked 22439 -(22438) found -(22439) found -[16035] Forked 22440 -[16034] Forked 22442 -(22440) found -(22442) found -[16033] Forked 22443 -(22443) found -[16032] Forked 22444 -(22444) found -[16031] Forked 22445 -(22445) found -[16030] Forked 22446 -(22446) found -[16029] Forked 22447 -(22447) found -[16028] Forked 22448 -(22448) found -[16027] Forked 22449 -(22449) found -[16026] Forked 22450 -(22450) found -[16025] Forked 22451 -(22451) found -[16024] Forked 22452 -(22452) found -[16023] Forked 22453 -(22453) found -[16022] Forked 22454 -(22454) found -[16021] Forked 22455 -(22455) found -[16020] Forked 22456 -(22456) found -[16019] Forked 22457 -(22457) found -[16018] Forked 22458 -(22458) found -[16017] Forked 22459 -(22459) found -[16016] Forked 22460 -(22460) found -[16015] Forked 22461 -(22461) found -[16014] Forked 22462 -(22462) found -[16013] Forked 22463 -(22463) found -[16012] Forked 22464 -(22464) found -[16011] Forked 22465 -(22465) found -[16010] Forked 22466 -(22466) found -[16009] Forked 22467 -(22467) found -[16008] Forked 22468 -(22468) found -[16007] Forked 22469 -(22469) found -[16006] Forked 22470 -(22470) found -[16005] Forked 22471 -(22471) found -[16004] Forked 22472 -(22472) found -[16003] Forked 22473 -(22473) found -[16002] Forked 22474 -(22474) found -[16001] Forked 22475 -(22475) found -[16000] Forked 22476 -(22476) found -[15999] Forked 22477 -(22477) found -[15998] Forked 22478 -(22478) found -[15997] Forked 22479 -(22479) found -[15996] Forked 22480 -(22480) found -[15995] Forked 22481 -(22481) found -[15994] Forked 22482 -[15993] Forked 22483 -(22482) found -(22483) found -[15992] Forked 22484 -[15991] Forked 22485 -(22484) found -(22485) found -[15990] Forked 22486 -[15989] Forked 22487 -(22486) found -(22487) found -[15988] Forked 22488 -[15987] Forked 22489 -(22488) found -(22489) found -[15986] Forked 22490 -[15985] Forked 22491 -(22490) found -(22491) found -[15984] Forked 22492 -[15983] Forked 22493 -(22492) found -(22493) found -[15982] Forked 22494 -[15981] Forked 22495 -(22494) found -(22495) found -[15980] Forked 22496 -[15979] Forked 22497 -(22496) found -(22497) found -[15978] Forked 22498 -[15977] Forked 22499 -(22498) found -(22499) found -[15976] Forked 22500 -[15975] Forked 22501 -(22500) found -(22501) found -[15974] Forked 22502 -[15973] Forked 22503 -(22502) found -(22503) found -[15972] Forked 22504 -[15971] Forked 22505 -(22504) found -(22505) found -[15970] Forked 22506 -[15969] Forked 22507 -(22506) found -(22507) found -[15968] Forked 22508 -[15967] Forked 22509 -(22508) found -(22509) found -[15966] Forked 22510 -[15965] Forked 22511 -(22510) found -(22511) found -[15964] Forked 22512 -[15963] Forked 22513 -(22512) found -(22513) found -[15962] Forked 22514 -[15961] Forked 22515 -(22514) found -(22515) found -[15960] Forked 22516 -[15959] Forked 22517 -(22516) found -(22517) found -[15958] Forked 22518 -[15957] Forked 22519 -(22518) found -(22519) found -[15956] Forked 22520 -[15955] Forked 22521 -(22520) found -(22521) found -[15954] Forked 22522 -[15953] Forked 22523 -(22522) found -(22523) found -[15952] Forked 22524 -[15951] Forked 22525 -(22524) found -(22525) found -[15950] Forked 22526 -[15949] Forked 22527 -(22526) found -(22527) found -[15948] Forked 22528 -[15947] Forked 22529 -(22528) found -(22529) found -[15946] Forked 22530 -[15945] Forked 22531 -(22530) found -(22531) found -[15944] Forked 22532 -[15943] Forked 22533 -(22532) found -(22533) found -[15942] Forked 22534 -[15941] Forked 22535 -(22534) found -(22535) found -[15940] Forked 22536 -[15939] Forked 22537 -(22536) found -(22537) found -[15938] Forked 22538 -[15937] Forked 22539 -(22538) found -(22539) found -[15936] Forked 22540 -[15935] Forked 22541 -(22540) found -(22541) found -[15934] Forked 22542 -[15933] Forked 22543 -(22542) found -(22543) found -[15932] Forked 22544 -[15931] Forked 22545 -(22544) found -(22545) found -[15930] Forked 22546 -[15929] Forked 22547 -(22546) found -(22547) found -[15928] Forked 22548 -[15927] Forked 22549 -(22548) found -(22549) found -[15926] Forked 22550 -[15925] Forked 22551 -(22550) found -(22551) found -[15924] Forked 22552 -[15923] Forked 22553 -(22552) found -(22553) found -[15922] Forked 22554 -[15921] Forked 22555 -(22554) found -(22555) found -[15920] Forked 22556 -[15919] Forked 22557 -(22556) found -(22557) found -[15918] Forked 22558 -[15917] Forked 22559 -(22558) found -(22559) found -[15916] Forked 22560 -[15915] Forked 22561 -(22560) found -(22561) found -[15914] Forked 22562 -[15913] Forked 22563 -(22562) found -(22563) found -[15912] Forked 22564 -[15911] Forked 22565 -(22564) found -(22565) found -[15910] Forked 22566 -[15909] Forked 22567 -(22566) found -(22567) found -[15908] Forked 22568 -[15907] Forked 22569 -(22568) found -(22569) found -[15906] Forked 22570 -[15905] Forked 22571 -(22570) found -(22571) found -[15904] Forked 22572 -[15903] Forked 22573 -(22572) found -(22573) found -[15902] Forked 22574 -(22574) found -[15901] Forked 22575 -(22575) found -[15900] Forked 22576 -(22576) found -[15899] Forked 22577 -(22577) found -[15898] Forked 22578 -(22578) found -[15897] Forked 22579 -(22579) found -[15896] Forked 22580 -(22580) found -[15895] Forked 22581 -(22581) found -[15894] Forked 22582 -(22582) found -[15893] Forked 22583 -(22583) found -[15892] Forked 22584 -(22584) found -[15891] Forked 22585 -(22585) found -[15890] Forked 22586 -(22586) found -[15889] Forked 22587 -(22587) found -[15888] Forked 22588 -(22588) found -[15887] Forked 22589 -(22589) found -[15886] Forked 22590 -(22590) found -[15885] Forked 22591 -(22591) found -[15884] Forked 22592 -(22592) found -[15883] Forked 22593 -(22593) found -[15882] Forked 22594 -(22594) found -[15881] Forked 22595 -(22595) found -[15880] Forked 22596 -(22596) found -[15879] Forked 22597 -(22597) found -[15878] Forked 22598 -(22598) found -[15877] Forked 22599 -(22599) found -[15876] Forked 22600 -(22600) found -[15875] Forked 22601 -(22601) found -[15874] Forked 22602 -(22602) found -[15873] Forked 22603 -(22603) found -[15872] Forked 22604 -(22604) found -[15871] Forked 22605 -(22605) found -[15870] Forked 22606 -(22606) found -[15869] Forked 22607 -(22607) found -[15868] Forked 22608 -(22608) found -[15867] Forked 22609 -[15866] Forked 22610 -(22609) found -(22610) found -[15865] Forked 22611 -[15864] Forked 22612 -(22611) found -(22612) found -[15863] Forked 22613 -[15862] Forked 22614 -(22613) found -(22614) found -[15861] Forked 22615 -[15860] Forked 22616 -(22615) found -(22616) found -[15859] Forked 22617 -[15858] Forked 22618 -(22617) found -(22618) found -[15857] Forked 22619 -[15856] Forked 22620 -(22619) found -(22620) found -[15855] Forked 22621 -[15854] Forked 22622 -(22621) found -(22622) found -[15853] Forked 22623 -[15852] Forked 22624 -(22623) found -(22624) found -[15851] Forked 22625 -[15850] Forked 22626 -(22625) found -(22626) found -[15849] Forked 22627 -[15848] Forked 22628 -(22627) found -(22628) found -[15847] Forked 22629 -[15846] Forked 22630 -(22629) found -(22630) found -[15845] Forked 22631 -[15844] Forked 22632 -(22631) found -(22632) found -[15843] Forked 22633 -[15842] Forked 22634 -(22633) found -(22634) found -[15841] Forked 22635 -[15840] Forked 22636 -(22635) found -(22636) found -[15839] Forked 22637 -[15838] Forked 22638 -(22637) found -(22638) found -[15837] Forked 22639 -[15836] Forked 22640 -(22639) found -(22640) found -[15835] Forked 22641 -[15834] Forked 22642 -(22641) found -(22642) found -[15833] Forked 22644 -[15832] Forked 22645 -(22644) found -(22645) found -[15831] Forked 22646 -[15830] Forked 22647 -(22646) found -(22647) found -[15829] Forked 22648 -[15828] Forked 22649 -(22648) found -(22649) found -[15827] Forked 22650 -[15826] Forked 22651 -(22650) found -(22651) found -[15825] Forked 22652 -[15824] Forked 22653 -(22652) found -(22653) found -[15823] Forked 22654 -[15822] Forked 22655 -(22654) found -(22655) found -[15821] Forked 22656 -[15820] Forked 22657 -(22656) found -(22657) found -[15819] Forked 22658 -(22658) found -[15818] Forked 22659 -(22659) found -[15817] Forked 22660 -(22660) found -[15816] Forked 22661 -(22661) found -[15815] Forked 22662 -(22662) found -[15814] Forked 22663 -(22663) found -[15813] Forked 22664 -(22664) found -[15812] Forked 22665 -(22665) found -[15811] Forked 22666 -(22666) found -[15810] Forked 22667 -(22667) found -[15809] Forked 22668 -(22668) found -[15808] Forked 22669 -(22669) found -[15807] Forked 22670 -(22670) found -[15806] Forked 22671 -(22671) found -[15805] Forked 22672 -(22672) found -[15804] Forked 22673 -(22673) found -[15803] Forked 22674 -(22674) found -[15802] Forked 22675 -(22675) found -[15801] Forked 22676 -(22676) found -[15800] Forked 22677 -(22677) found -[15799] Forked 22678 -(22678) found -[15798] Forked 22679 -(22679) found -[15797] Forked 22680 -(22680) found -[15796] Forked 22681 -(22681) found -[15795] Forked 22682 -(22682) found -[15794] Forked 22683 -(22683) found -[15793] Forked 22684 -(22684) found -[15792] Forked 22685 -(22685) found -[15791] Forked 22686 -(22686) found -[15790] Forked 22687 -(22687) found -[15789] Forked 22688 -(22688) found -[15788] Forked 22689 -(22689) found -[15787] Forked 22690 -(22690) found -[15786] Forked 22691 -(22691) found -[15785] Forked 22692 -(22692) found -[15784] Forked 22693 -[15783] Forked 22694 -(22693) found -(22694) found -[15782] Forked 22695 -(22695) found -[15781] Forked 22696 -(22696) found -[15780] Forked 22697 -(22697) found -[15779] Forked 22698 -(22698) found -[15778] Forked 22699 -(22699) found -[15777] Forked 22700 -(22700) found -[15776] Forked 22701 -(22701) found -[15775] Forked 22702 -(22702) found -[15774] Forked 22703 -(22703) found -[15773] Forked 22704 -(22704) found -[15772] Forked 22705 -(22705) found -[15771] Forked 22706 -(22706) found -[15770] Forked 22707 -(22707) found -[15769] Forked 22708 -(22708) found -[15768] Forked 22709 -(22709) found -[15767] Forked 22710 -(22710) found -[15766] Forked 22711 -(22711) found -[15765] Forked 22712 -(22712) found -[15764] Forked 22713 -(22713) found -[15763] Forked 22714 -(22714) found -[15762] Forked 22715 -(22715) found -[15761] Forked 22716 -(22716) found -[15760] Forked 22717 -(22717) found -[15759] Forked 22718 -(22718) found -[15758] Forked 22719 -(22719) found -[15757] Forked 22720 -(22720) found -[15756] Forked 22721 -(22721) found -[15755] Forked 22722 -(22722) found -[15754] Forked 22723 -(22723) found -[15753] Forked 22724 -(22724) found -[15752] Forked 22725 -[15751] Forked 22726 -(22725) found -(22726) found -[15750] Forked 22727 -[15749] Forked 22728 -(22727) found -(22728) found -[15748] Forked 22729 -[15747] Forked 22730 -(22729) found -(22730) found -[15746] Forked 22731 -[15745] Forked 22732 -(22731) found -(22732) found -[15744] Forked 22733 -[15743] Forked 22734 -(22733) found -(22734) found -[15742] Forked 22735 -[15741] Forked 22736 -(22735) found -(22736) found -[15740] Forked 22737 -[15739] Forked 22738 -(22737) found -(22738) found -[15738] Forked 22739 -[15737] Forked 22740 -(22739) found -(22740) found -[15736] Forked 22741 -[15735] Forked 22742 -(22741) found -(22742) found -[15734] Forked 22743 -[15733] Forked 22744 -(22743) found -(22744) found -[15732] Forked 22745 -[15731] Forked 22746 -(22745) found -(22746) found -[15730] Forked 22747 -[15729] Forked 22748 -(22747) found -(22748) found -[15728] Forked 22749 -[15727] Forked 22750 -(22749) found -(22750) found -[15726] Forked 22751 -(22751) found -[15725] Forked 22752 -[15724] Forked 22753 -(22752) found -(22753) found -[15723] Forked 22754 -[15722] Forked 22755 -(22754) found -(22755) found -[15721] Forked 22756 -[15720] Forked 22757 -(22756) found -(22757) found -[15719] Forked 22758 -[15718] Forked 22759 -(22758) found -(22759) found -[15717] Forked 22760 -[15716] Forked 22761 -(22760) found -(22761) found -[15715] Forked 22762 -[15714] Forked 22763 -(22762) found -(22763) found -[15713] Forked 22764 -[15712] Forked 22765 -(22764) found -(22765) found -[15711] Forked 22766 -[15710] Forked 22767 -(22766) found -(22767) found -[15709] Forked 22768 -[15708] Forked 22769 -(22768) found -(22769) found -[15707] Forked 22770 -[15706] Forked 22771 -(22771) found -(22770) found -[15705] Forked 22772 -(22772) found -[15704] Forked 22773 -(22773) found -[15703] Forked 22774 -(22774) found -[15702] Forked 22775 -(22775) found -[15701] Forked 22776 -(22776) found -[15700] Forked 22777 -(22777) found -[15699] Forked 22778 -(22778) found -[15698] Forked 22779 -(22779) found -[15697] Forked 22780 -(22780) found -[15696] Forked 22781 -(22781) found -[15695] Forked 22782 -(22782) found -[15694] Forked 22783 -(22783) found -[15693] Forked 22784 -(22784) found -[15692] Forked 22785 -(22785) found -[15691] Forked 22786 -(22786) found -[15690] Forked 22787 -(22787) found -[15689] Forked 22788 -(22788) found -[15688] Forked 22789 -(22789) found -[15687] Forked 22790 -(22790) found -[15686] Forked 22791 -(22791) found -[15685] Forked 22792 -(22792) found -[15684] Forked 22793 -(22793) found -[15683] Forked 22794 -(22794) found -[15682] Forked 22795 -(22795) found -[15681] Forked 22796 -(22796) found -[15680] Forked 22797 -(22797) found -[15679] Forked 22798 -(22798) found -[15678] Forked 22799 -(22799) found -[15677] Forked 22800 -(22800) found -[15676] Forked 22801 -(22801) found -[15675] Forked 22802 -(22802) found -[15674] Forked 22803 -(22803) found -[15673] Forked 22804 -(22804) found -[15672] Forked 22805 -(22805) found -[15671] Forked 22806 -(22806) found -[15670] Forked 22807 -(22807) found -[15669] Forked 22808 -(22808) found -[15668] Forked 22809 -(22809) found -[15667] Forked 22810 -(22810) found -[15666] Forked 22811 -(22811) found -[15665] Forked 22812 -(22812) found -[15664] Forked 22813 -(22813) found -[15663] Forked 22814 -(22814) found -[15662] Forked 22815 -(22815) found -[15661] Forked 22816 -(22816) found -[15660] Forked 22817 -(22817) found -[15659] Forked 22818 -(22818) found -[15658] Forked 22819 -(22819) found -[15657] Forked 22820 -(22820) found -[15656] Forked 22821 -(22821) found -[15655] Forked 22822 -(22822) found -[15654] Forked 22823 -(22823) found -[15653] Forked 22824 -(22824) found -[15652] Forked 22825 -(22825) found -[15651] Forked 22826 -(22826) found -[15650] Forked 22827 -(22827) found -[15649] Forked 22828 -(22828) found -[15648] Forked 22829 -(22829) found -[15647] Forked 22830 -(22830) found -[15646] Forked 22831 -(22831) found -[15645] Forked 22832 -(22832) found -[15644] Forked 22833 -(22833) found -[15643] Forked 22834 -(22834) found -[15642] Forked 22835 -(22835) found -[15641] Forked 22836 -(22836) found -[15640] Forked 22837 -(22837) found -[15639] Forked 22838 -(22838) found -[15638] Forked 22839 -(22839) found -[15637] Forked 22840 -(22840) found -[15636] Forked 22841 -(22841) found -[15635] Forked 22842 -(22842) found -[15634] Forked 22843 -(22843) found -[15633] Forked 22844 -(22844) found -[15632] Forked 22845 -[15631] Forked 22846 -(22845) found -(22846) found -[15630] Forked 22847 -[15629] Forked 22848 -(22847) found -(22848) found -[15628] Forked 22849 -[15627] Forked 22850 -(22849) found -(22850) found -[15626] Forked 22851 -[15625] Forked 22852 -(22851) found -(22852) found -[15624] Forked 22853 -[15623] Forked 22854 -(22853) found -(22854) found -[15622] Forked 22855 -[15621] Forked 22856 -(22855) found -(22856) found -[15620] Forked 22857 -[15619] Forked 22858 -(22857) found -(22858) found -[15618] Forked 22859 -[15617] Forked 22860 -(22859) found -(22860) found -[15616] Forked 22861 -[15615] Forked 22862 -(22861) found -(22862) found -[15614] Forked 22863 -[15613] Forked 22864 -(22863) found -(22864) found -[15612] Forked 22865 -[15611] Forked 22866 -(22865) found -(22866) found -[15610] Forked 22867 -[15609] Forked 22868 -(22867) found -(22868) found -[15608] Forked 22869 -[15607] Forked 22870 -(22869) found -(22870) found -[15606] Forked 22871 -[15605] Forked 22872 -(22871) found -(22872) found -[15604] Forked 22873 -[15603] Forked 22874 -(22873) found -(22874) found -[15602] Forked 22875 -[15601] Forked 22876 -(22875) found -(22876) found -[15600] Forked 22877 -[15599] Forked 22878 -(22877) found -(22878) found -[15598] Forked 22879 -[15597] Forked 22880 -(22879) found -(22880) found -[15596] Forked 22881 -[15595] Forked 22882 -(22881) found -(22882) found -[15594] Forked 22883 -[15593] Forked 22884 -(22883) found -(22884) found -[15592] Forked 22885 -[15591] Forked 22886 -(22885) found -(22886) found -[15590] Forked 22887 -[15589] Forked 22888 -(22888) found -(22887) found -[15588] Forked 22889 -(22889) found -[15587] Forked 22890 -(22890) found -[15586] Forked 22891 -(22891) found -[15585] Forked 22892 -(22892) found -[15584] Forked 22893 -(22893) found -[15583] Forked 22894 -(22894) found -[15582] Forked 22895 -(22895) found -[15581] Forked 22896 -(22896) found -[15580] Forked 22897 -(22897) found -[15579] Forked 22898 -(22898) found -[15578] Forked 22899 -(22899) found -[15577] Forked 22900 -(22900) found -[15576] Forked 22901 -(22901) found -[15575] Forked 22902 -(22902) found -[15574] Forked 22903 -(22903) found -[15573] Forked 22904 -(22904) found -[15572] Forked 22905 -(22905) found -[15571] Forked 22906 -(22906) found -[15570] Forked 22907 -(22907) found -[15569] Forked 22908 -(22908) found -[15568] Forked 22909 -(22909) found -[15567] Forked 22910 -(22910) found -[15566] Forked 22911 -(22911) found -[15565] Forked 22912 -(22912) found -[15564] Forked 22913 -(22913) found -[15563] Forked 22914 -(22914) found -[15562] Forked 22915 -(22915) found -[15561] Forked 22916 -(22916) found -[15560] Forked 22917 -(22917) found -[15559] Forked 22918 -(22918) found -[15558] Forked 22919 -(22919) found -[15557] Forked 22920 -(22920) found -[15556] Forked 22921 -(22921) found -[15555] Forked 22922 -(22922) found -[15554] Forked 22923 -(22923) found -[15553] Forked 22924 -[15552] Forked 22925 -(22924) found -(22925) found -[15551] Forked 22926 -[15550] Forked 22927 -(22926) found -(22927) found -[15549] Forked 22928 -[15548] Forked 22929 -(22928) found -(22929) found -[15547] Forked 22930 -[15546] Forked 22931 -(22930) found -(22931) found -[15545] Forked 22932 -[15544] Forked 22933 -(22932) found -(22933) found -[15543] Forked 22934 -[15542] Forked 22935 -(22934) found -(22935) found -[15541] Forked 22936 -[15540] Forked 22937 -(22936) found -(22937) found -[15539] Forked 22938 -[15538] Forked 22939 -(22938) found -(22939) found -[15537] Forked 22940 -[15536] Forked 22941 -(22940) found -(22941) found -[15535] Forked 22942 -[15534] Forked 22943 -(22942) found -(22943) found -[15533] Forked 22944 -[15532] Forked 22945 -(22944) found -(22945) found -[15531] Forked 22946 -[15530] Forked 22947 -(22946) found -(22947) found -[15529] Forked 22948 -[15528] Forked 22949 -(22948) found -(22949) found -[15527] Forked 22950 -[15526] Forked 22951 -(22950) found -(22951) found -[15525] Forked 22952 -[15524] Forked 22953 -(22952) found -(22953) found -[15523] Forked 22954 -[15522] Forked 22955 -(22954) found -(22955) found -[15521] Forked 22956 -[15520] Forked 22957 -(22956) found -(22957) found -[15519] Forked 22958 -[15518] Forked 22959 -(22958) found -(22959) found -[15517] Forked 22960 -[15516] Forked 22961 -(22960) found -(22961) found -[15515] Forked 22962 -[15514] Forked 22963 -(22962) found -(22963) found -[15513] Forked 22964 -[15512] Forked 22965 -(22964) found -(22965) found -[15511] Forked 22966 -[15510] Forked 22967 -(22966) found -(22967) found -[15509] Forked 22968 -(22968) found -[15508] Forked 22969 -(22969) found -[15507] Forked 22970 -(22970) found -[15506] Forked 22971 -(22971) found -[15505] Forked 22972 -(22972) found -[15504] Forked 22973 -(22973) found -[15503] Forked 22974 -(22974) found -[15502] Forked 22975 -(22975) found -[15501] Forked 22976 -(22976) found -[15500] Forked 22977 -(22977) found -[15499] Forked 22978 -(22978) found -[15498] Forked 22979 -(22979) found -[15497] Forked 22980 -(22980) found -[15496] Forked 22981 -(22981) found -[15495] Forked 22982 -(22982) found -[15494] Forked 22983 -(22983) found -[15493] Forked 22984 -(22984) found -[15492] Forked 22985 -(22985) found -[15491] Forked 22986 -(22986) found -[15490] Forked 22987 -(22987) found -[15489] Forked 22988 -(22988) found -[15488] Forked 22989 -(22989) found -[15487] Forked 22990 -(22990) found -[15486] Forked 22991 -(22991) found -[15485] Forked 22992 -(22992) found -[15484] Forked 22993 -(22993) found -[15483] Forked 22994 -(22994) found -[15482] Forked 22995 -(22995) found -[15481] Forked 22996 -(22996) found -[15480] Forked 22997 -(22997) found -[15479] Forked 22998 -(22998) found -[15478] Forked 22999 -(22999) found -[15477] Forked 23000 -(23000) found -[15476] Forked 23001 -(23001) found -[15475] Forked 23002 -(23002) found -[15474] Forked 23003 -(23003) found -[15473] Forked 23004 -[15472] Forked 23005 -(23004) found -(23005) found -[15471] Forked 23006 -[15470] Forked 23007 -(23006) found -(23007) found -[15469] Forked 23008 -[15468] Forked 23009 -(23008) found -(23009) found -[15467] Forked 23010 -[15466] Forked 23011 -(23010) found -(23011) found -[15465] Forked 23012 -[15464] Forked 23013 -(23012) found -(23013) found -[15463] Forked 23014 -[15462] Forked 23015 -(23014) found -(23015) found -[15461] Forked 23016 -[15460] Forked 23017 -(23016) found -(23017) found -[15459] Forked 23018 -[15458] Forked 23019 -(23018) found -(23019) found -[15457] Forked 23020 -[15456] Forked 23021 -(23020) found -(23021) found -[15455] Forked 23022 -[15454] Forked 23023 -(23022) found -(23023) found -[15453] Forked 23024 -[15452] Forked 23025 -(23024) found -(23025) found -[15451] Forked 23026 -[15450] Forked 23027 -(23026) found -(23027) found -[15449] Forked 23028 -[15448] Forked 23029 -(23028) found -(23029) found -[15447] Forked 23030 -[15446] Forked 23031 -(23030) found -(23031) found -[15445] Forked 23032 -[15444] Forked 23033 -(23032) found -(23033) found -[15443] Forked 23034 -[15442] Forked 23035 -(23034) found -(23035) found -[15441] Forked 23036 -[15440] Forked 23037 -(23036) found -(23037) found -[15439] Forked 23038 -[15438] Forked 23039 -(23039) found -(23038) found -[15437] Forked 23040 -(23040) found -[15436] Forked 23041 -(23041) found -[15435] Forked 23042 -(23042) found -[15434] Forked 23043 -(23043) found -[15433] Forked 23044 -(23044) found -[15432] Forked 23045 -(23045) found -[15431] Forked 23046 -(23046) found -[15430] Forked 23047 -(23047) found -[15429] Forked 23048 -(23048) found -[15428] Forked 23049 -(23049) found -[15427] Forked 23050 -(23050) found -[15426] Forked 23051 -(23051) found -[15425] Forked 23052 -(23052) found -[15424] Forked 23053 -(23053) found -[15423] Forked 23054 -(23054) found -[15422] Forked 23055 -(23055) found -[15421] Forked 23056 -(23056) found -[15420] Forked 23057 -(23057) found -[15419] Forked 23058 -(23058) found -[15418] Forked 23059 -(23059) found -[15417] Forked 23060 -(23060) found -[15416] Forked 23061 -(23061) found -[15415] Forked 23062 -(23062) found -[15414] Forked 23063 -(23063) found -[15413] Forked 23064 -(23064) found -[15412] Forked 23065 -(23065) found -[15411] Forked 23066 -(23066) found -[15410] Forked 23067 -(23067) found -[15409] Forked 23068 -(23068) found -[15408] Forked 23069 -(23069) found -[15407] Forked 23070 -(23070) found -[15406] Forked 23071 -(23071) found -[15405] Forked 23072 -(23072) found -[15404] Forked 23073 -(23073) found -[15403] Forked 23074 -(23074) found -[15402] Forked 23075 -(23075) found -[15401] Forked 23076 -(23076) found -[15400] Forked 23077 -(23077) found -[15399] Forked 23078 -(23078) found -[15398] Forked 23079 -(23079) found -[15397] Forked 23080 -(23080) found -[15396] Forked 23081 -(23081) found -[15395] Forked 23082 -(23082) found -[15394] Forked 23083 -[15393] Forked 23084 -(23083) found -(23084) found -[15392] Forked 23085 -[15391] Forked 23086 -(23085) found -(23086) found -[15390] Forked 23087 -[15389] Forked 23088 -(23087) found -(23088) found -[15388] Forked 23089 -[15387] Forked 23090 -(23089) found -(23090) found -[15386] Forked 23091 -[15385] Forked 23092 -(23091) found -(23092) found -[15384] Forked 23093 -[15383] Forked 23094 -(23093) found -(23094) found -[15382] Forked 23095 -[15381] Forked 23096 -(23095) found -(23096) found -[15380] Forked 23097 -[15379] Forked 23098 -(23097) found -(23098) found -[15378] Forked 23099 -[15377] Forked 23100 -(23099) found -(23100) found -[15376] Forked 23101 -[15375] Forked 23102 -(23101) found -(23102) found -[15374] Forked 23103 -[15373] Forked 23104 -(23103) found -(23104) found -[15372] Forked 23105 -[15371] Forked 23106 -(23105) found -(23106) found -[15370] Forked 23107 -[15369] Forked 23108 -(23107) found -(23108) found -[15368] Forked 23109 -[15367] Forked 23110 -(23109) found -(23110) found -[15366] Forked 23111 -[15365] Forked 23112 -(23111) found -(23112) found -[15364] Forked 23113 -[15363] Forked 23114 -(23113) found -(23114) found -[15362] Forked 23115 -[15361] Forked 23116 -(23115) found -(23116) found -[15360] Forked 23117 -[15359] Forked 23118 -(23117) found -(23118) found -[15358] Forked 23119 -[15357] Forked 23120 -(23119) found -(23120) found -[15356] Forked 23121 -[15355] Forked 23122 -(23121) found -(23122) found -[15354] Forked 23123 -[15353] Forked 23124 -(23123) found -(23124) found -[15352] Forked 23125 -[15351] Forked 23126 -(23125) found -(23126) found -[15350] Forked 23127 -[15349] Forked 23128 -(23127) found -(23128) found -[15348] Forked 23129 -(23129) found -[15347] Forked 23130 -(23130) found -[15346] Forked 23131 -(23131) found -[15345] Forked 23132 -[15344] Forked 23133 -(23132) found -(23133) found -[15343] Forked 23134 -[15342] Forked 23135 -(23134) found -(23135) found -[15341] Forked 23136 -[15340] Forked 23137 -(23136) found -(23137) found -[15339] Forked 23138 -[15338] Forked 23139 -(23138) found -(23139) found -[15337] Forked 23140 -[15336] Forked 23141 -(23140) found -(23141) found -[15335] Forked 23142 -[15334] Forked 23143 -(23142) found -(23143) found -[15333] Forked 23144 -[15332] Forked 23145 -(23144) found -(23145) found -[15331] Forked 23146 -[15330] Forked 23147 -(23146) found -(23147) found -[15329] Forked 23148 -[15328] Forked 23149 -(23148) found -(23149) found -[15327] Forked 23150 -[15326] Forked 23151 -(23150) found -(23151) found -[15325] Forked 23152 -[15324] Forked 23153 -(23152) found -(23153) found -[15323] Forked 23154 -[15322] Forked 23155 -(23154) found -(23155) found -[15321] Forked 23156 -[15320] Forked 23158 -(23156) found -(23158) found -[15319] Forked 23159 -(23159) found -[15318] Forked 23160 -(23160) found -[15317] Forked 23161 -(23161) found -[15316] Forked 23162 -(23162) found -[15315] Forked 23163 -(23163) found -[15314] Forked 23164 -(23164) found -[15313] Forked 23165 -(23165) found -[15312] Forked 23166 -(23166) found -[15311] Forked 23167 -(23167) found -[15310] Forked 23168 -(23168) found -[15309] Forked 23169 -(23169) found -[15308] Forked 23170 -(23170) found -[15307] Forked 23171 -(23171) found -[15306] Forked 23172 -(23172) found -[15305] Forked 23173 -(23173) found -[15304] Forked 23174 -(23174) found -[15303] Forked 23175 -(23175) found -[15302] Forked 23176 -(23176) found -[15301] Forked 23177 -(23177) found -[15300] Forked 23178 -(23178) found -[15299] Forked 23179 -(23179) found -[15298] Forked 23180 -(23180) found -[15297] Forked 23181 -(23181) found -[15296] Forked 23182 -(23182) found -[15295] Forked 23183 -(23183) found -[15294] Forked 23184 -(23184) found -[15293] Forked 23185 -(23185) found -[15292] Forked 23186 -(23186) found -[15291] Forked 23187 -(23187) found -[15290] Forked 23188 -(23188) found -[15289] Forked 23189 -(23189) found -[15288] Forked 23190 -(23190) found -[15287] Forked 23191 -(23191) found -[15286] Forked 23192 -(23192) found -[15285] Forked 23193 -(23193) found -[15284] Forked 23194 -(23194) found -[15283] Forked 23195 -(23195) found -[15282] Forked 23196 -(23196) found -[15281] Forked 23197 -(23197) found -[15280] Forked 23198 -(23198) found -[15279] Forked 23199 -(23199) found -[15278] Forked 23200 -(23200) found -[15277] Forked 23201 -(23201) found -[15276] Forked 23202 -(23202) found -[15275] Forked 23203 -(23203) found -[15274] Forked 23204 -(23204) found -[15273] Forked 23205 -(23205) found -[15272] Forked 23206 -(23206) found -[15271] Forked 23207 -(23207) found -[15270] Forked 23208 -(23208) found -[15269] Forked 23209 -(23209) found -[15268] Forked 23210 -(23210) found -[15267] Forked 23211 -[15266] Forked 23212 -(23211) found -(23212) found -[15265] Forked 23213 -[15264] Forked 23214 -(23213) found -(23214) found -[15263] Forked 23215 -[15262] Forked 23216 -(23215) found -(23216) found -[15261] Forked 23217 -[15260] Forked 23218 -(23217) found -(23218) found -[15259] Forked 23219 -[15258] Forked 23220 -(23219) found -(23220) found -[15257] Forked 23221 -[15256] Forked 23222 -(23221) found -(23222) found -[15255] Forked 23223 -[15254] Forked 23224 -(23223) found -(23224) found -[15253] Forked 23225 -[15252] Forked 23226 -(23225) found -(23226) found -[15251] Forked 23227 -[15250] Forked 23228 -(23227) found -(23228) found -[15249] Forked 23229 -[15248] Forked 23230 -(23229) found -(23230) found -[15247] Forked 23231 -[15246] Forked 23232 -(23231) found -(23232) found -[15245] Forked 23233 -[15244] Forked 23234 -(23233) found -(23234) found -[15243] Forked 23235 -[15242] Forked 23236 -(23235) found -(23236) found -[15241] Forked 23237 -[15240] Forked 23238 -(23237) found -(23238) found -[15239] Forked 23239 -[15238] Forked 23240 -(23239) found -(23240) found -[15237] Forked 23241 -[15236] Forked 23242 -(23241) found -(23242) found -[15235] Forked 23243 -[15234] Forked 23244 -(23243) found -(23244) found -[15233] Forked 23245 -[15232] Forked 23246 -(23245) found -(23246) found -[15231] Forked 23247 -[15230] Forked 23248 -(23247) found -(23248) found -[15229] Forked 23249 -[15228] Forked 23250 -(23249) found -(23250) found -[15227] Forked 23251 -[15226] Forked 23252 -(23251) found -(23252) found -[15225] Forked 23253 -[15224] Forked 23254 -(23253) found -(23254) found -[15223] Forked 23255 -[15222] Forked 23256 -(23255) found -(23256) found -[15221] Forked 23257 -[15220] Forked 23258 -(23258) found -(23257) found -[15219] Forked 23259 -(23259) found -[15218] Forked 23260 -(23260) found -[15217] Forked 23261 -(23261) found -[15216] Forked 23262 -(23262) found -[15215] Forked 23263 -(23263) found -[15214] Forked 23264 -(23264) found -[15213] Forked 23265 -(23265) found -[15212] Forked 23266 -(23266) found -[15211] Forked 23267 -(23267) found -[15210] Forked 23268 -(23268) found -[15209] Forked 23269 -(23269) found -[15208] Forked 23270 -(23270) found -[15207] Forked 23271 -(23271) found -[15206] Forked 23272 -(23272) found -[15205] Forked 23273 -(23273) found -[15204] Forked 23274 -(23274) found -[15203] Forked 23275 -(23275) found -[15202] Forked 23276 -(23276) found -[15201] Forked 23277 -(23277) found -[15200] Forked 23278 -(23278) found -[15199] Forked 23279 -(23279) found -[15198] Forked 23280 -(23280) found -[15197] Forked 23281 -(23281) found -[15196] Forked 23282 -(23282) found -[15195] Forked 23283 -(23283) found -[15194] Forked 23284 -(23284) found -[15193] Forked 23285 -(23285) found -[15192] Forked 23286 -(23286) found -[15191] Forked 23287 -(23287) found -[15190] Forked 23288 -(23288) found -[15189] Forked 23289 -(23289) found -[15188] Forked 23290 -(23290) found -[15187] Forked 23291 -(23291) found -[15186] Forked 23292 -(23292) found -[15185] Forked 23293 -(23293) found -[15184] Forked 23294 -(23294) found -[15183] Forked 23295 -(23295) found -[15182] Forked 23296 -(23296) found -[15181] Forked 23297 -(23297) found -[15180] Forked 23298 -(23298) found -[15179] Forked 23299 -(23299) found -[15178] Forked 23300 -(23300) found -[15177] Forked 23301 -(23301) found -[15176] Forked 23302 -(23302) found -[15175] Forked 23303 -(23303) found -[15174] Forked 23304 -(23304) found -[15173] Forked 23305 -(23305) found -[15172] Forked 23306 -(23306) found -[15171] Forked 23307 -(23307) found -[15170] Forked 23308 -(23308) found -[15169] Forked 23309 -(23309) found -[15168] Forked 23310 -(23310) found -[15167] Forked 23311 -(23311) found -[15166] Forked 23312 -(23312) found -[15165] Forked 23313 -(23313) found -[15164] Forked 23314 -(23314) found -[15163] Forked 23315 -(23315) found -[15162] Forked 23316 -(23316) found -[15161] Forked 23317 -(23317) found -[15160] Forked 23318 -(23318) found -[15159] Forked 23319 -(23319) found -[15158] Forked 23320 -(23320) found -[15157] Forked 23321 -(23321) found -[15156] Forked 23322 -(23322) found -[15155] Forked 23323 -(23323) found -[15154] Forked 23324 -(23324) found -[15153] Forked 23325 -(23325) found -[15152] Forked 23326 -(23326) found -[15151] Forked 23327 -(23327) found -[15150] Forked 23328 -(23328) found -[15149] Forked 23329 -(23329) found -[15148] Forked 23330 -[15147] Forked 23331 -(23330) found -(23331) found -[15146] Forked 23332 -[15145] Forked 23333 -(23332) found -(23333) found -[15144] Forked 23334 -[15143] Forked 23335 -(23334) found -(23335) found -[15142] Forked 23336 -[15141] Forked 23337 -(23336) found -(23337) found -[15140] Forked 23338 -[15139] Forked 23339 -(23338) found -(23339) found -[15138] Forked 23340 -[15137] Forked 23341 -(23340) found -(23341) found -[15136] Forked 23342 -[15135] Forked 23343 -(23342) found -(23343) found -[15134] Forked 23344 -[15133] Forked 23345 -(23344) found -(23345) found -[15132] Forked 23346 -[15131] Forked 23347 -(23346) found -(23347) found -[15130] Forked 23348 -[15129] Forked 23349 -(23348) found -(23349) found -[15128] Forked 23350 -[15127] Forked 23351 -(23350) found -(23351) found -[15126] Forked 23352 -[15125] Forked 23353 -(23352) found -(23353) found -[15124] Forked 23354 -[15123] Forked 23355 -(23354) found -(23355) found -[15122] Forked 23356 -[15121] Forked 23357 -(23356) found -(23357) found -[15120] Forked 23358 -[15119] Forked 23359 -(23358) found -(23359) found -[15118] Forked 23360 -[15117] Forked 23361 -(23360) found -(23361) found -[15116] Forked 23362 -[15115] Forked 23363 -(23362) found -(23363) found -[15114] Forked 23364 -[15113] Forked 23365 -(23364) found -(23365) found -[15112] Forked 23366 -[15111] Forked 23367 -(23366) found -(23367) found -[15110] Forked 23368 -[15109] Forked 23369 -(23368) found -(23369) found -[15108] Forked 23370 -[15107] Forked 23371 -(23370) found -(23371) found -[15106] Forked 23372 -[15105] Forked 23373 -(23372) found -(23373) found -[15104] Forked 23374 -[15103] Forked 23375 -(23374) found -(23375) found -[15102] Forked 23376 -(23376) found -[15101] Forked 23377 -(23377) found -[15100] Forked 23378 -(23378) found -[15099] Forked 23379 -(23379) found -[15098] Forked 23380 -(23380) found -[15097] Forked 23381 -(23381) found -[15096] Forked 23382 -(23382) found -[15095] Forked 23383 -(23383) found -[15094] Forked 23384 -(23384) found -[15093] Forked 23385 -(23385) found -[15092] Forked 23386 -(23386) found -[15091] Forked 23387 -(23387) found -[15090] Forked 23388 -(23388) found -[15089] Forked 23389 -(23389) found -[15088] Forked 23390 -(23390) found -[15087] Forked 23391 -(23391) found -[15086] Forked 23392 -(23392) found -[15085] Forked 23393 -(23393) found -[15084] Forked 23394 -(23394) found -[15083] Forked 23395 -(23395) found -[15082] Forked 23396 -(23396) found -[15081] Forked 23397 -(23397) found -[15080] Forked 23398 -(23398) found -[15079] Forked 23399 -(23399) found -[15078] Forked 23400 -(23400) found -[15077] Forked 23401 -(23401) found -[15076] Forked 23402 -(23402) found -[15075] Forked 23403 -(23403) found -[15074] Forked 23404 -(23404) found -[15073] Forked 23405 -(23405) found -[15072] Forked 23406 -(23406) found -[15071] Forked 23407 -(23407) found -[15070] Forked 23408 -(23408) found -[15069] Forked 23409 -(23409) found -[15068] Forked 23410 -(23410) found -[15067] Forked 23411 -(23411) found -[15066] Forked 23412 -(23412) found -[15065] Forked 23413 -[15064] Forked 23414 -(23413) found -(23414) found -[15063] Forked 23415 -[15062] Forked 23416 -(23415) found -(23416) found -[15061] Forked 23417 -[15060] Forked 23418 -(23417) found -(23418) found -[15059] Forked 23419 -[15058] Forked 23420 -(23419) found -(23420) found -[15057] Forked 23421 -[15056] Forked 23422 -(23421) found -(23422) found -[15055] Forked 23423 -[15054] Forked 23424 -(23423) found -(23424) found -[15053] Forked 23425 -[15052] Forked 23426 -(23425) found -(23426) found -[15051] Forked 23427 -[15050] Forked 23428 -(23427) found -(23428) found -[15049] Forked 23429 -[15048] Forked 23430 -(23429) found -(23430) found -[15047] Forked 23431 -[15046] Forked 23432 -(23431) found -(23432) found -[15045] Forked 23433 -[15044] Forked 23434 -(23433) found -(23434) found -[15043] Forked 23435 -[15042] Forked 23436 -(23435) found -(23436) found -[15041] Forked 23437 -[15040] Forked 23438 -(23437) found -(23438) found -[15039] Forked 23439 -[15038] Forked 23440 -(23439) found -(23440) found -[15037] Forked 23441 -[15036] Forked 23442 -(23441) found -(23442) found -[15035] Forked 23443 -[15034] Forked 23444 -(23443) found -(23444) found -[15033] Forked 23445 -[15032] Forked 23446 -(23445) found -(23446) found -[15031] Forked 23447 -[15030] Forked 23448 -(23447) found -(23448) found -[15029] Forked 23449 -[15028] Forked 23450 -(23449) found -(23450) found -[15027] Forked 23451 -[15026] Forked 23452 -(23451) found -(23452) found -[15025] Forked 23453 -[15024] Forked 23454 -(23453) found -(23454) found -[15023] Forked 23455 -[15022] Forked 23456 -(23455) found -(23456) found -[15021] Forked 23457 -[15020] Forked 23458 -(23457) found -(23458) found -[15019] Forked 23459 -[15018] Forked 23460 -(23459) found -(23460) found -[15017] Forked 23461 -[15016] Forked 23462 -(23461) found -(23462) found -[15015] Forked 23463 -[15014] Forked 23464 -(23463) found -(23464) found -[15013] Forked 23465 -[15012] Forked 23466 -(23465) found -(23466) found -[15011] Forked 23467 -[15010] Forked 23468 -(23467) found -(23468) found -[15009] Forked 23469 -[15008] Forked 23470 -(23469) found -(23470) found -[15007] Forked 23471 -[15006] Forked 23472 -(23471) found -(23472) found -[15005] Forked 23473 -[15004] Forked 23474 -(23473) found -(23474) found -[15003] Forked 23475 -[15002] Forked 23476 -(23475) found -(23476) found -[15001] Forked 23477 -[15000] Forked 23478 -(23477) found -(23478) found -[14999] Forked 23479 -[14998] Forked 23480 -(23479) found -(23480) found -[14997] Forked 23481 -[14996] Forked 23482 -(23481) found -(23482) found -[14995] Forked 23483 -[14994] Forked 23484 -(23483) found -(23484) found -[14993] Forked 23485 -[14992] Forked 23486 -(23485) found -(23486) found -[14991] Forked 23487 -[14990] Forked 23488 -(23487) found -(23488) found -[14989] Forked 23489 -[14988] Forked 23490 -(23489) found -(23490) found -[14987] Forked 23491 -[14986] Forked 23492 -(23491) found -(23492) found -[14985] Forked 23493 -[14984] Forked 23494 -(23493) found -(23494) found -[14983] Forked 23495 -[14982] Forked 23496 -(23495) found -(23496) found -[14981] Forked 23497 -[14980] Forked 23498 -(23497) found -(23498) found -[14979] Forked 23499 -[14978] Forked 23500 -(23499) found -(23500) found -[14977] Forked 23501 -[14976] Forked 23502 -(23501) found -(23502) found -[14975] Forked 23503 -[14974] Forked 23504 -(23503) found -(23504) found -[14973] Forked 23505 -[14972] Forked 23506 -(23505) found -(23506) found -[14971] Forked 23507 -[14970] Forked 23508 -(23507) found -(23508) found -[14969] Forked 23509 -[14968] Forked 23510 -(23509) found -(23510) found -[14967] Forked 23511 -[14966] Forked 23512 -(23511) found -(23512) found -[14965] Forked 23513 -[14964] Forked 23514 -(23513) found -(23514) found -[14963] Forked 23515 -[14962] Forked 23516 -(23515) found -(23516) found -[14961] Forked 23517 -[14960] Forked 23518 -(23517) found -(23518) found -[14959] Forked 23519 -[14958] Forked 23520 -(23519) found -(23520) found -[14957] Forked 23521 -[14956] Forked 23522 -(23521) found -(23522) found -[14955] Forked 23523 -[14954] Forked 23524 -(23523) found -(23524) found -[14953] Forked 23525 -[14952] Forked 23526 -(23525) found -(23526) found -[14951] Forked 23527 -[14950] Forked 23528 -(23527) found -(23528) found -[14949] Forked 23529 -[14948] Forked 23530 -(23529) found -(23530) found -[14947] Forked 23531 -[14946] Forked 23532 -(23531) found -(23532) found -[14945] Forked 23533 -[14944] Forked 23534 -(23533) found -(23534) found -[14943] Forked 23535 -[14942] Forked 23536 -(23535) found -(23536) found -[14941] Forked 23537 -[14940] Forked 23538 -(23537) found -(23538) found -[14939] Forked 23539 -[14938] Forked 23540 -(23539) found -(23540) found -[14937] Forked 23541 -[14936] Forked 23542 -(23541) found -(23542) found -[14935] Forked 23543 -[14934] Forked 23544 -(23543) found -(23544) found -[14933] Forked 23545 -[14932] Forked 23546 -(23545) found -(23546) found -[14931] Forked 23547 -[14930] Forked 23548 -(23547) found -(23548) found -[14929] Forked 23549 -[14928] Forked 23550 -(23549) found -(23550) found -[14927] Forked 23551 -[14926] Forked 23552 -(23551) found -(23552) found -[14925] Forked 23553 -[14924] Forked 23554 -(23553) found -(23554) found -[14923] Forked 23555 -[14922] Forked 23556 -(23555) found -(23556) found -[14921] Forked 23557 -[14920] Forked 23558 -(23557) found -(23558) found -[14919] Forked 23559 -[14918] Forked 23560 -(23559) found -(23560) found -[14917] Forked 23561 -[14916] Forked 23562 -(23561) found -(23562) found -[14915] Forked 23563 -[14914] Forked 23564 -(23563) found -(23564) found -[14913] Forked 23565 -[14912] Forked 23566 -(23565) found -(23566) found -[14911] Forked 23567 -[14910] Forked 23568 -(23567) found -(23568) found -[14909] Forked 23569 -[14908] Forked 23570 -(23569) found -(23570) found -[14907] Forked 23571 -[14906] Forked 23572 -(23571) found -(23572) found -[14905] Forked 23573 -[14904] Forked 23574 -(23573) found -(23574) found -[14903] Forked 23575 -[14902] Forked 23577 -(23575) found -(23577) found -[14901] Forked 23578 -(23578) found -[14900] Forked 23579 -(23579) found -[14899] Forked 23580 -(23580) found -[14898] Forked 23581 -(23581) found -[14897] Forked 23582 -(23582) found -[14896] Forked 23583 -(23583) found -[14895] Forked 23584 -(23584) found -[14894] Forked 23585 -(23585) found -[14893] Forked 23586 -(23586) found -[14892] Forked 23587 -(23587) found -[14891] Forked 23588 -(23588) found -[14890] Forked 23589 -(23589) found -[14889] Forked 23590 -(23590) found -[14888] Forked 23591 -(23591) found -[14887] Forked 23592 -(23592) found -[14886] Forked 23593 -(23593) found -[14885] Forked 23594 -(23594) found -[14884] Forked 23595 -(23595) found -[14883] Forked 23596 -(23596) found -[14882] Forked 23597 -(23597) found -[14881] Forked 23598 -(23598) found -[14880] Forked 23599 -(23599) found -[14879] Forked 23600 -(23600) found -[14878] Forked 23601 -(23601) found -[14877] Forked 23602 -(23602) found -[14876] Forked 23603 -(23603) found -[14875] Forked 23604 -(23604) found -[14874] Forked 23605 -(23605) found -[14873] Forked 23606 -(23606) found -[14872] Forked 23607 -(23607) found -[14871] Forked 23608 -(23608) found -[14870] Forked 23609 -(23609) found -[14869] Forked 23610 -(23610) found -[14868] Forked 23611 -(23611) found -[14867] Forked 23612 -(23612) found -[14866] Forked 23613 -(23613) found -[14865] Forked 23614 -(23614) found -[14864] Forked 23615 -(23615) found -[14863] Forked 23616 -(23616) found -[14862] Forked 23617 -(23617) found -[14861] Forked 23618 -(23618) found -[14860] Forked 23619 -(23619) found -[14859] Forked 23620 -(23620) found -[14858] Forked 23621 -(23621) found -[14857] Forked 23622 -(23622) found -[14856] Forked 23623 -(23623) found -[14855] Forked 23624 -(23624) found -[14854] Forked 23625 -(23625) found -[14853] Forked 23626 -(23626) found -[14852] Forked 23627 -[14851] Forked 23628 -(23627) found -(23628) found -[14850] Forked 23629 -[14849] Forked 23630 -(23629) found -(23630) found -[14848] Forked 23631 -[14847] Forked 23632 -(23631) found -(23632) found -[14846] Forked 23633 -[14845] Forked 23634 -(23633) found -(23634) found -[14844] Forked 23635 -[14843] Forked 23636 -(23635) found -(23636) found -[14842] Forked 23637 -[14841] Forked 23638 -(23637) found -(23638) found -[14840] Forked 23639 -[14839] Forked 23640 -(23639) found -(23640) found -[14838] Forked 23641 -[14837] Forked 23642 -(23641) found -(23642) found -[14836] Forked 23643 -[14835] Forked 23644 -(23643) found -(23644) found -[14834] Forked 23645 -[14833] Forked 23646 -(23645) found -(23646) found -[14832] Forked 23647 -[14831] Forked 23648 -(23647) found -(23648) found -[14830] Forked 23649 -[14829] Forked 23650 -(23649) found -(23650) found -[14828] Forked 23651 -[14827] Forked 23652 -(23651) found -(23652) found -[14826] Forked 23653 -[14825] Forked 23654 -(23653) found -(23654) found -[14824] Forked 23655 -[14823] Forked 23656 -(23655) found -(23656) found -[14822] Forked 23657 -[14821] Forked 23658 -(23657) found -(23658) found -[14820] Forked 23659 -[14819] Forked 23660 -(23659) found -(23660) found -[14818] Forked 23661 -[14817] Forked 23662 -(23661) found -(23662) found -[14816] Forked 23663 -[14815] Forked 23664 -(23663) found -(23664) found -[14814] Forked 23665 -[14813] Forked 23666 -(23665) found -(23666) found -[14812] Forked 23667 -[14811] Forked 23668 -(23667) found -(23668) found -[14810] Forked 23669 -[14809] Forked 23670 -(23669) found -(23670) found -[14808] Forked 23671 -[14807] Forked 23672 -(23671) found -(23672) found -[14806] Forked 23673 -[14805] Forked 23674 -(23673) found -(23674) found -[14804] Forked 23675 -[14803] Forked 23676 -(23675) found -(23676) found -[14802] Forked 23677 -[14801] Forked 23678 -(23677) found -(23678) found -[14800] Forked 23679 -[14799] Forked 23680 -(23679) found -(23680) found -[14798] Forked 23681 -[14797] Forked 23682 -(23681) found -(23682) found -[14796] Forked 23683 -[14795] Forked 23684 -(23683) found -(23684) found -[14794] Forked 23685 -[14793] Forked 23686 -(23685) found -(23686) found -[14792] Forked 23687 -[14791] Forked 23688 -(23687) found -(23688) found -[14790] Forked 23689 -[14789] Forked 23690 -(23689) found -(23690) found -[14788] Forked 23691 -[14787] Forked 23692 -(23691) found -(23692) found -[14786] Forked 23693 -[14785] Forked 23694 -(23693) found -(23694) found -[14784] Forked 23695 -[14783] Forked 23696 -(23695) found -(23696) found -[14782] Forked 23697 -[14781] Forked 23698 -(23697) found -(23698) found -[14780] Forked 23699 -[14779] Forked 23700 -(23699) found -(23700) found -[14778] Forked 23701 -[14777] Forked 23702 -(23701) found -(23702) found -[14776] Forked 23703 -[14775] Forked 23704 -(23703) found -(23704) found -[14774] Forked 23705 -[14773] Forked 23706 -(23705) found -(23706) found -[14772] Forked 23707 -[14771] Forked 23708 -(23707) found -(23708) found -[14770] Forked 23709 -[14769] Forked 23710 -(23709) found -(23710) found -[14768] Forked 23711 -[14767] Forked 23712 -(23711) found -(23712) found -[14766] Forked 23713 -[14765] Forked 23714 -(23713) found -(23714) found -[14764] Forked 23715 -[14763] Forked 23716 -(23715) found -(23716) found -[14762] Forked 23717 -[14761] Forked 23718 -(23717) found -(23718) found -[14760] Forked 23719 -(23719) found -[14759] Forked 23720 -(23720) found -[14758] Forked 23721 -(23721) found -[14757] Forked 23722 -(23722) found -[14756] Forked 23723 -(23723) found -[14755] Forked 23724 -(23724) found -[14754] Forked 23725 -(23725) found -[14753] Forked 23726 -(23726) found -[14752] Forked 23727 -(23727) found -[14751] Forked 23728 -(23728) found -[14750] Forked 23729 -(23729) found -[14749] Forked 23730 -(23730) found -[14748] Forked 23731 -(23731) found -[14747] Forked 23732 -(23732) found -[14746] Forked 23733 -(23733) found -[14745] Forked 23734 -(23734) found -[14744] Forked 23735 -(23735) found -[14743] Forked 23736 -(23736) found -[14742] Forked 23737 -(23737) found -[14741] Forked 23738 -(23738) found -[14740] Forked 23739 -(23739) found -[14739] Forked 23740 -(23740) found -[14738] Forked 23741 -(23741) found -[14737] Forked 23742 -(23742) found -[14736] Forked 23743 -(23743) found -[14735] Forked 23744 -(23744) found -[14734] Forked 23745 -(23745) found -[14733] Forked 23746 -(23746) found -[14732] Forked 23747 -(23747) found -[14731] Forked 23748 -(23748) found -[14730] Forked 23749 -(23749) found -[14729] Forked 23750 -(23750) found -[14728] Forked 23751 -(23751) found -[14727] Forked 23752 -[14726] Forked 23753 -(23752) found -(23753) found -[14725] Forked 23754 -[14724] Forked 23755 -(23754) found -(23755) found -[14723] Forked 23756 -[14722] Forked 23757 -(23756) found -(23757) found -[14721] Forked 23758 -[14720] Forked 23759 -(23758) found -(23759) found -[14719] Forked 23760 -[14718] Forked 23761 -(23760) found -(23761) found -[14717] Forked 23762 -[14716] Forked 23763 -(23762) found -(23763) found -[14715] Forked 23764 -[14714] Forked 23765 -(23764) found -(23765) found -[14713] Forked 23766 -[14712] Forked 23767 -(23766) found -(23767) found -[14711] Forked 23768 -[14710] Forked 23769 -(23768) found -(23769) found -[14709] Forked 23770 -[14708] Forked 23771 -(23770) found -(23771) found -[14707] Forked 23772 -[14706] Forked 23773 -(23772) found -(23773) found -[14705] Forked 23774 -[14704] Forked 23775 -(23774) found -(23775) found -[14703] Forked 23776 -[14702] Forked 23777 -(23776) found -(23777) found -[14701] Forked 23778 -[14700] Forked 23779 -(23778) found -(23779) found -[14699] Forked 23780 -[14698] Forked 23781 -(23780) found -(23781) found -[14697] Forked 23782 -[14696] Forked 23783 -(23782) found -(23783) found -[14695] Forked 23784 -[14694] Forked 23785 -(23784) found -(23785) found -[14693] Forked 23786 -[14692] Forked 23787 -(23786) found -(23787) found -[14691] Forked 23788 -[14690] Forked 23789 -(23788) found -(23789) found -[14689] Forked 23790 -[14688] Forked 23791 -(23790) found -(23791) found -[14687] Forked 23792 -[14686] Forked 23793 -(23792) found -(23793) found -[14685] Forked 23794 -[14684] Forked 23795 -(23794) found -(23795) found -[14683] Forked 23796 -[14682] Forked 23797 -(23796) found -(23797) found -[14681] Forked 23798 -[14680] Forked 23799 -(23798) found -(23799) found -[14679] Forked 23800 -[14678] Forked 23801 -(23800) found -(23801) found -[14677] Forked 23802 -[14676] Forked 23803 -(23802) found -(23803) found -[14675] Forked 23804 -[14674] Forked 23805 -(23804) found -(23805) found -[14673] Forked 23806 -[14672] Forked 23807 -(23806) found -(23807) found -[14671] Forked 23808 -[14670] Forked 23809 -(23808) found -(23809) found -[14669] Forked 23810 -[14668] Forked 23811 -(23810) found -(23811) found -[14667] Forked 23812 -[14666] Forked 23813 -(23812) found -(23813) found -[14665] Forked 23814 -[14664] Forked 23815 -(23814) found -(23815) found -[14663] Forked 23816 -[14662] Forked 23817 -(23816) found -(23817) found -[14661] Forked 23818 -[14660] Forked 23819 -(23818) found -(23819) found -[14659] Forked 23820 -[14658] Forked 23821 -(23820) found -(23821) found -[14657] Forked 23822 -[14656] Forked 23823 -(23822) found -(23823) found -[14655] Forked 23824 -[14654] Forked 23825 -(23824) found -(23825) found -[14653] Forked 23826 -[14652] Forked 23827 -(23826) found -(23827) found -[14651] Forked 23828 -[14650] Forked 23829 -(23828) found -(23829) found -[14649] Forked 23830 -[14648] Forked 23831 -(23830) found -(23831) found -[14647] Forked 23832 -[14646] Forked 23833 -(23832) found -(23833) found -[14645] Forked 23834 -[14644] Forked 23835 -(23834) found -(23835) found -[14643] Forked 23836 -[14642] Forked 23837 -(23836) found -(23837) found -[14641] Forked 23838 -[14640] Forked 23839 -(23838) found -(23839) found -[14639] Forked 23840 -[14638] Forked 23841 -(23840) found -(23841) found -[14637] Forked 23842 -[14636] Forked 23843 -(23842) found -(23843) found -[14635] Forked 23844 -(23844) found -[14634] Forked 23845 -(23845) found -[14633] Forked 23846 -(23846) found -[14632] Forked 23847 -(23847) found -[14631] Forked 23848 -(23848) found -[14630] Forked 23849 -(23849) found -[14629] Forked 23850 -(23850) found -[14628] Forked 23851 -(23851) found -[14627] Forked 23852 -(23852) found -[14626] Forked 23853 -(23853) found -[14625] Forked 23854 -(23854) found -[14624] Forked 23855 -(23855) found -[14623] Forked 23856 -(23856) found -[14622] Forked 23857 -(23857) found -[14621] Forked 23858 -(23858) found -[14620] Forked 23859 -(23859) found -[14619] Forked 23860 -(23860) found -[14618] Forked 23861 -(23861) found -[14617] Forked 23862 -(23862) found -[14616] Forked 23863 -(23863) found -[14615] Forked 23864 -(23864) found -[14614] Forked 23865 -(23865) found -[14613] Forked 23866 -(23866) found -[14612] Forked 23867 -(23867) found -[14611] Forked 23868 -(23868) found -[14610] Forked 23869 -(23869) found -[14609] Forked 23870 -(23870) found -[14608] Forked 23871 -(23871) found -[14607] Forked 23872 -(23872) found -[14606] Forked 23873 -(23873) found -[14605] Forked 23874 -(23874) found -[14604] Forked 23875 -(23875) found -[14603] Forked 23876 -(23876) found -[14602] Forked 23877 -(23877) found -[14601] Forked 23878 -(23878) found -[14600] Forked 23879 -[14599] Forked 23880 -(23879) found -(23880) found -[14598] Forked 23881 -[14597] Forked 23882 -(23881) found -(23882) found -[14596] Forked 23883 -[14595] Forked 23884 -(23883) found -(23884) found -[14594] Forked 23885 -[14593] Forked 23886 -(23885) found -(23886) found -[14592] Forked 23887 -[14591] Forked 23888 -(23887) found -(23888) found -[14590] Forked 23889 -[14589] Forked 23890 -(23889) found -(23890) found -[14588] Forked 23891 -[14587] Forked 23892 -(23891) found -(23892) found -[14586] Forked 23893 -[14585] Forked 23894 -(23893) found -(23894) found -[14584] Forked 23895 -[14583] Forked 23896 -(23895) found -(23896) found -[14582] Forked 23897 -[14581] Forked 23898 -(23897) found -(23898) found -[14580] Forked 23899 -[14579] Forked 23900 -(23899) found -(23900) found -[14578] Forked 23901 -[14577] Forked 23902 -(23901) found -(23902) found -[14576] Forked 23903 -[14575] Forked 23904 -(23903) found -(23904) found -[14574] Forked 23905 -[14573] Forked 23906 -(23905) found -(23906) found -[14572] Forked 23907 -[14571] Forked 23908 -(23907) found -(23908) found -[14570] Forked 23909 -[14569] Forked 23910 -(23909) found -(23910) found -[14568] Forked 23911 -[14567] Forked 23912 -(23911) found -(23912) found -[14566] Forked 23913 -(23913) found -[14565] Forked 23914 -(23914) found -[14564] Forked 23915 -(23915) found -[14563] Forked 23916 -(23916) found -[14562] Forked 23917 -(23917) found -[14561] Forked 23918 -(23918) found -[14560] Forked 23919 -(23919) found -[14559] Forked 23920 -(23920) found -[14558] Forked 23921 -(23921) found -[14557] Forked 23922 -(23922) found -[14556] Forked 23923 -(23923) found -[14555] Forked 23924 -(23924) found -[14554] Forked 23925 -(23925) found -[14553] Forked 23926 -(23926) found -[14552] Forked 23927 -(23927) found -[14551] Forked 23928 -(23928) found -[14550] Forked 23929 -(23929) found -[14549] Forked 23930 -(23930) found -[14548] Forked 23931 -(23931) found -[14547] Forked 23932 -(23932) found -[14546] Forked 23933 -(23933) found -[14545] Forked 23934 -(23934) found -[14544] Forked 23935 -(23935) found -[14543] Forked 23936 -(23936) found -[14542] Forked 23937 -(23937) found -[14541] Forked 23938 -(23938) found -[14540] Forked 23939 -(23939) found -[14539] Forked 23940 -(23940) found -[14538] Forked 23941 -(23941) found -[14537] Forked 23942 -(23942) found -[14536] Forked 23943 -(23943) found -[14535] Forked 23944 -(23944) found -[14534] Forked 23945 -(23945) found -[14533] Forked 23946 -(23946) found -[14532] Forked 23947 -(23947) found -[14531] Forked 23948 -(23948) found -[14530] Forked 23949 -(23949) found -[14529] Forked 23950 -(23950) found -[14528] Forked 23951 -(23951) found -[14527] Forked 23952 -(23952) found -[14526] Forked 23953 -(23953) found -[14525] Forked 23954 -(23954) found -[14524] Forked 23955 -(23955) found -[14523] Forked 23956 -(23956) found -[14522] Forked 23957 -(23957) found -[14521] Forked 23958 -(23958) found -[14520] Forked 23959 -(23959) found -[14519] Forked 23960 -(23960) found -[14518] Forked 23961 -(23961) found -[14517] Forked 23962 -(23962) found -[14516] Forked 23963 -(23963) found -[14515] Forked 23964 -(23964) found -[14514] Forked 23965 -(23965) found -[14513] Forked 23966 -(23966) found -[14512] Forked 23967 -(23967) found -[14511] Forked 23968 -(23968) found -[14510] Forked 23969 -(23969) found -[14509] Forked 23970 -(23970) found -[14508] Forked 23971 -(23971) found -[14507] Forked 23972 -(23972) found -[14506] Forked 23973 -(23973) found -[14505] Forked 23974 -(23974) found -[14504] Forked 23975 -(23975) found -[14503] Forked 23976 -(23976) found -[14502] Forked 23977 -(23977) found -[14501] Forked 23978 -(23978) found -[14500] Forked 23979 -(23979) found -[14499] Forked 23980 -(23980) found -[14498] Forked 23981 -(23981) found -[14497] Forked 23982 -(23982) found -[14496] Forked 23983 -[14495] Forked 23984 -(23983) found -(23984) found -[14494] Forked 23985 -[14493] Forked 23986 -(23985) found -(23986) found -[14492] Forked 23987 -[14491] Forked 23988 -(23987) found -(23988) found -[14490] Forked 23989 -[14489] Forked 23990 -(23989) found -(23990) found -[14488] Forked 23991 -[14487] Forked 23992 -(23991) found -(23992) found -[14486] Forked 23993 -[14485] Forked 23994 -(23993) found -(23994) found -[14484] Forked 23995 -[14483] Forked 23996 -(23995) found -(23996) found -[14482] Forked 23997 -[14481] Forked 23998 -(23997) found -(23998) found -[14480] Forked 23999 -[14479] Forked 24000 -(23999) found -(24000) found -[14478] Forked 24001 -[14477] Forked 24002 -(24001) found -(24002) found -[14476] Forked 24003 -[14475] Forked 24004 -(24003) found -(24004) found -[14474] Forked 24005 -[14473] Forked 24006 -(24005) found -(24006) found -[14472] Forked 24007 -[14471] Forked 24008 -(24007) found -(24008) found -[14470] Forked 24009 -[14469] Forked 24010 -(24009) found -(24010) found -[14468] Forked 24011 -[14467] Forked 24012 -(24011) found -(24012) found -[14466] Forked 24013 -[14465] Forked 24014 -(24013) found -(24014) found -[14464] Forked 24015 -[14463] Forked 24016 -(24015) found -(24016) found -[14462] Forked 24017 -[14461] Forked 24018 -(24017) found -(24018) found -[14460] Forked 24019 -[14459] Forked 24020 -(24019) found -(24020) found -[14458] Forked 24021 -[14457] Forked 24022 -(24021) found -(24022) found -[14456] Forked 24023 -[14455] Forked 24025 -(24023) found -(24025) found -[14454] Forked 24026 -(24026) found -[14453] Forked 24027 -(24027) found -[14452] Forked 24028 -(24028) found -[14451] Forked 24029 -(24029) found -[14450] Forked 24030 -(24030) found -[14449] Forked 24031 -(24031) found -[14448] Forked 24032 -(24032) found -[14447] Forked 24033 -(24033) found -[14446] Forked 24034 -(24034) found -[14445] Forked 24035 -(24035) found -[14444] Forked 24036 -(24036) found -[14443] Forked 24037 -(24037) found -[14442] Forked 24038 -(24038) found -[14441] Forked 24039 -(24039) found -[14440] Forked 24040 -(24040) found -[14439] Forked 24041 -(24041) found -[14438] Forked 24042 -(24042) found -[14437] Forked 24043 -(24043) found -[14436] Forked 24044 -(24044) found -[14435] Forked 24045 -(24045) found -[14434] Forked 24046 -(24046) found -[14433] Forked 24047 -(24047) found -[14432] Forked 24048 -(24048) found -[14431] Forked 24049 -(24049) found -[14430] Forked 24050 -(24050) found -[14429] Forked 24051 -(24051) found -[14428] Forked 24052 -(24052) found -[14427] Forked 24053 -(24053) found -[14426] Forked 24054 -(24054) found -[14425] Forked 24055 -(24055) found -[14424] Forked 24056 -(24056) found -[14423] Forked 24057 -(24057) found -[14422] Forked 24058 -(24058) found -[14421] Forked 24059 -(24059) found -[14420] Forked 24060 -(24060) found -[14419] Forked 24061 -(24061) found -[14418] Forked 24062 -(24062) found -[14417] Forked 24063 -(24063) found -[14416] Forked 24064 -(24064) found -[14415] Forked 24065 -(24065) found -[14414] Forked 24066 -(24066) found -[14413] Forked 24067 -(24067) found -[14412] Forked 24068 -(24068) found -[14411] Forked 24069 -(24069) found -[14410] Forked 24070 -(24070) found -[14409] Forked 24071 -(24071) found -[14408] Forked 24072 -(24072) found -[14407] Forked 24073 -(24073) found -[14406] Forked 24074 -(24074) found -[14405] Forked 24075 -(24075) found -[14404] Forked 24076 -(24076) found -[14403] Forked 24077 -(24077) found -[14402] Forked 24078 -(24078) found -[14401] Forked 24079 -(24079) found -[14400] Forked 24080 -(24080) found -[14399] Forked 24081 -(24081) found -[14398] Forked 24082 -(24082) found -[14397] Forked 24083 -(24083) found -[14396] Forked 24084 -(24084) found -[14395] Forked 24085 -(24085) found -[14394] Forked 24086 -(24086) found -[14393] Forked 24087 -(24087) found -[14392] Forked 24088 -(24088) found -[14391] Forked 24089 -(24089) found -[14390] Forked 24090 -(24090) found -[14389] Forked 24091 -(24091) found -[14388] Forked 24092 -(24092) found -[14387] Forked 24093 -(24093) found -[14386] Forked 24094 -(24094) found -[14385] Forked 24095 -(24095) found -[14384] Forked 24096 -(24096) found -[14383] Forked 24097 -(24097) found -[14382] Forked 24098 -(24098) found -[14381] Forked 24099 -(24099) found -[14380] Forked 24100 -(24100) found -[14379] Forked 24101 -(24101) found -[14378] Forked 24102 -(24102) found -[14377] Forked 24103 -(24103) found -[14376] Forked 24104 -(24104) found -[14375] Forked 24105 -(24105) found -[14374] Forked 24106 -(24106) found -[14373] Forked 24107 -(24107) found -[14372] Forked 24108 -(24108) found -[14371] Forked 24109 -(24109) found -[14370] Forked 24110 -(24110) found -[14369] Forked 24111 -(24111) found -[14368] Forked 24112 -(24112) found -[14367] Forked 24113 -(24113) found -[14366] Forked 24114 -(24114) found -[14365] Forked 24115 -(24115) found -[14364] Forked 24116 -(24116) found -[14363] Forked 24117 -(24117) found -[14362] Forked 24118 -(24118) found -[14361] Forked 24119 -(24119) found -[14360] Forked 24120 -(24120) found -[14359] Forked 24121 -(24121) found -[14358] Forked 24122 -(24122) found -[14357] Forked 24123 -(24123) found -[14356] Forked 24124 -(24124) found -[14355] Forked 24125 -(24125) found -[14354] Forked 24126 -(24126) found -[14353] Forked 24127 -(24127) found -[14352] Forked 24128 -(24128) found -[14351] Forked 24129 -(24129) found -[14350] Forked 24130 -(24130) found -[14349] Forked 24131 -(24131) found -[14348] Forked 24132 -(24132) found -[14347] Forked 24133 -(24133) found -[14346] Forked 24134 -(24134) found -[14345] Forked 24135 -(24135) found -[14344] Forked 24136 -(24136) found -[14343] Forked 24137 -(24137) found -[14342] Forked 24138 -(24138) found -[14341] Forked 24139 -(24139) found -[14340] Forked 24140 -(24140) found -[14339] Forked 24141 -(24141) found -[14338] Forked 24142 -(24142) found -[14337] Forked 24143 -(24143) found -[14336] Forked 24144 -(24144) found -[14335] Forked 24145 -(24145) found -[14334] Forked 24146 -(24146) found -[14333] Forked 24147 -(24147) found -[14332] Forked 24148 -(24148) found -[14331] Forked 24149 -(24149) found -[14330] Forked 24150 -(24150) found -[14329] Forked 24151 -(24151) found -[14328] Forked 24152 -(24152) found -[14327] Forked 24153 -(24153) found -[14326] Forked 24154 -(24154) found -[14325] Forked 24155 -(24155) found -[14324] Forked 24156 -(24156) found -[14323] Forked 24157 -(24157) found -[14322] Forked 24158 -(24158) found -[14321] Forked 24159 -(24159) found -[14320] Forked 24160 -(24160) found -[14319] Forked 24161 -(24161) found -[14318] Forked 24162 -(24162) found -[14317] Forked 24163 -(24163) found -[14316] Forked 24164 -(24164) found -[14315] Forked 24165 -(24165) found -[14314] Forked 24166 -(24166) found -[14313] Forked 24167 -(24167) found -[14312] Forked 24168 -(24168) found -[14311] Forked 24169 -(24169) found -[14310] Forked 24170 -(24170) found -[14309] Forked 24171 -(24171) found -[14308] Forked 24172 -(24172) found -[14307] Forked 24173 -(24173) found -[14306] Forked 24174 -(24174) found -[14305] Forked 24175 -(24175) found -[14304] Forked 24176 -(24176) found -[14303] Forked 24177 -[14302] Forked 24178 -(24177) found -(24178) found -[14301] Forked 24179 -[14300] Forked 24180 -(24179) found -(24180) found -[14299] Forked 24181 -[14298] Forked 24182 -(24181) found -(24182) found -[14297] Forked 24183 -[14296] Forked 24184 -(24183) found -(24184) found -[14295] Forked 24185 -[14294] Forked 24186 -(24185) found -(24186) found -[14293] Forked 24187 -[14292] Forked 24188 -(24187) found -(24188) found -[14291] Forked 24189 -[14290] Forked 24190 -(24189) found -(24190) found -[14289] Forked 24191 -[14288] Forked 24192 -(24191) found -(24192) found -[14287] Forked 24193 -[14286] Forked 24194 -(24193) found -(24194) found -[14285] Forked 24195 -[14284] Forked 24196 -(24195) found -(24196) found -[14283] Forked 24197 -[14282] Forked 24198 -(24197) found -(24198) found -[14281] Forked 24199 -[14280] Forked 24200 -(24199) found -(24200) found -[14279] Forked 24201 -[14278] Forked 24202 -(24201) found -(24202) found -[14277] Forked 24203 -[14276] Forked 24204 -(24203) found -(24204) found -[14275] Forked 24205 -[14274] Forked 24206 -(24205) found -(24206) found -[14273] Forked 24207 -[14272] Forked 24208 -(24207) found -(24208) found -[14271] Forked 24209 -[14270] Forked 24210 -(24209) found -(24210) found -[14269] Forked 24211 -[14268] Forked 24212 -(24211) found -(24212) found -[14267] Forked 24213 -[14266] Forked 24214 -(24213) found -(24214) found -[14265] Forked 24215 -[14264] Forked 24216 -(24215) found -(24216) found -[14263] Forked 24217 -[14262] Forked 24218 -(24217) found -(24218) found -[14261] Forked 24219 -[14260] Forked 24220 -(24219) found -(24220) found -[14259] Forked 24221 -[14258] Forked 24222 -(24221) found -(24222) found -[14257] Forked 24223 -[14256] Forked 24224 -(24223) found -(24224) found -[14255] Forked 24225 -[14254] Forked 24226 -(24225) found -(24226) found -[14253] Forked 24227 -[14252] Forked 24228 -(24227) found -(24228) found -[14251] Forked 24229 -[14250] Forked 24230 -(24229) found -(24230) found -[14249] Forked 24231 -[14248] Forked 24232 -(24231) found -(24232) found -[14247] Forked 24233 -[14246] Forked 24234 -(24233) found -(24234) found -[14245] Forked 24235 -[14244] Forked 24236 -(24235) found -(24236) found -[14243] Forked 24237 -[14242] Forked 24238 -(24237) found -(24238) found -[14241] Forked 24239 -[14240] Forked 24240 -(24239) found -(24240) found -[14239] Forked 24241 -[14238] Forked 24242 -(24241) found -(24242) found -[14237] Forked 24243 -[14236] Forked 24244 -(24243) found -(24244) found -[14235] Forked 24245 -[14234] Forked 24246 -(24245) found -(24246) found -[14233] Forked 24247 -[14232] Forked 24248 -(24247) found -(24248) found -[14231] Forked 24249 -[14230] Forked 24250 -(24249) found -(24250) found -[14229] Forked 24251 -[14228] Forked 24252 -(24251) found -(24252) found -[14227] Forked 24253 -[14226] Forked 24254 -(24253) found -(24254) found -[14225] Forked 24255 -[14224] Forked 24256 -(24255) found -(24256) found -[14223] Forked 24257 -(24257) found -[14222] Forked 24258 -(24258) found -[14221] Forked 24259 -(24259) found -[14220] Forked 24260 -(24260) found -[14219] Forked 24261 -(24261) found -[14218] Forked 24262 -(24262) found -[14217] Forked 24263 -(24263) found -[14216] Forked 24264 -(24264) found -[14215] Forked 24265 -(24265) found -[14214] Forked 24266 -(24266) found -[14213] Forked 24267 -(24267) found -[14212] Forked 24268 -(24268) found -[14211] Forked 24269 -(24269) found -[14210] Forked 24270 -(24270) found -[14209] Forked 24271 -(24271) found -[14208] Forked 24272 -(24272) found -[14207] Forked 24273 -(24273) found -[14206] Forked 24274 -(24274) found -[14205] Forked 24275 -(24275) found -[14204] Forked 24276 -(24276) found -[14203] Forked 24277 -(24277) found -[14202] Forked 24278 -(24278) found -[14201] Forked 24279 -(24279) found -[14200] Forked 24280 -(24280) found -[14199] Forked 24281 -(24281) found -[14198] Forked 24282 -(24282) found -[14197] Forked 24283 -(24283) found -[14196] Forked 24284 -(24284) found -[14195] Forked 24285 -(24285) found -[14194] Forked 24286 -(24286) found -[14193] Forked 24287 -(24287) found -[14192] Forked 24288 -[14191] Forked 24289 -(24288) found -(24289) found -[14190] Forked 24290 -[14189] Forked 24291 -(24290) found -(24291) found -[14188] Forked 24292 -[14187] Forked 24294 -(24292) found -(24294) found -[14186] Forked 24295 -(24295) found -[14185] Forked 24296 -(24296) found -[14184] Forked 24297 -(24297) found -[14183] Forked 24298 -(24298) found -[14182] Forked 24299 -(24299) found -[14181] Forked 24300 -(24300) found -[14180] Forked 24301 -(24301) found -[14179] Forked 24302 -(24302) found -[14178] Forked 24303 -(24303) found -[14177] Forked 24304 -(24304) found -[14176] Forked 24305 -(24305) found -[14175] Forked 24306 -(24306) found -[14174] Forked 24307 -(24307) found -[14173] Forked 24308 -(24308) found -[14172] Forked 24309 -(24309) found -[14171] Forked 24310 -(24310) found -[14170] Forked 24311 -(24311) found -[14169] Forked 24312 -(24312) found -[14168] Forked 24313 -(24313) found -[14167] Forked 24314 -(24314) found -[14166] Forked 24315 -(24315) found -[14165] Forked 24316 -(24316) found -[14164] Forked 24317 -(24317) found -[14163] Forked 24319 -(24319) found -[14162] Forked 24320 -(24320) found -[14161] Forked 24321 -(24321) found -[14160] Forked 24322 -(24322) found -[14159] Forked 24323 -(24323) found -[14158] Forked 24324 -(24324) found -[14157] Forked 24325 -(24325) found -[14156] Forked 24326 -(24326) found -[14155] Forked 24327 -(24327) found -[14154] Forked 24328 -(24328) found -[14153] Forked 24329 -(24329) found -[14152] Forked 24330 -(24330) found -[14151] Forked 24331 -(24331) found -[14150] Forked 24332 -(24332) found -[14149] Forked 24333 -(24333) found -[14148] Forked 24334 -(24334) found -[14147] Forked 24335 -(24335) found -[14146] Forked 24336 -(24336) found -[14145] Forked 24337 -(24337) found -[14144] Forked 24338 -(24338) found -[14143] Forked 24339 -(24339) found -[14142] Forked 24340 -(24340) found -[14141] Forked 24341 -(24341) found -[14140] Forked 24342 -(24342) found -[14139] Forked 24343 -(24343) found -[14138] Forked 24344 -(24344) found -[14137] Forked 24345 -(24345) found -[14136] Forked 24346 -(24346) found -[14135] Forked 24347 -(24347) found -[14134] Forked 24348 -(24348) found -[14133] Forked 24349 -(24349) found -[14132] Forked 24350 -(24350) found -[14131] Forked 24351 -(24351) found -[14130] Forked 24352 -(24352) found -[14129] Forked 24353 -(24353) found -[14128] Forked 24354 -(24354) found -[14127] Forked 24355 -(24355) found -[14126] Forked 24356 -(24356) found -[14125] Forked 24357 -(24357) found -[14124] Forked 24358 -(24358) found -[14123] Forked 24359 -(24359) found -[14122] Forked 24360 -(24360) found -[14121] Forked 24361 -[14120] Forked 24362 -(24361) found -(24362) found -[14119] Forked 24363 -[14118] Forked 24364 -(24363) found -(24364) found -[14117] Forked 24365 -[14116] Forked 24366 -(24365) found -(24366) found -[14115] Forked 24367 -[14114] Forked 24368 -(24367) found -(24368) found -[14113] Forked 24369 -[14112] Forked 24370 -(24369) found -(24370) found -[14111] Forked 24371 -[14110] Forked 24372 -(24371) found -(24372) found -[14109] Forked 24373 -[14108] Forked 24374 -(24373) found -(24374) found -[14107] Forked 24375 -[14106] Forked 24376 -(24375) found -(24376) found -[14105] Forked 24377 -[14104] Forked 24378 -(24377) found -(24378) found -[14103] Forked 24379 -[14102] Forked 24380 -(24379) found -(24380) found -[14101] Forked 24381 -[14100] Forked 24382 -(24381) found -(24382) found -[14099] Forked 24383 -[14098] Forked 24384 -(24383) found -(24384) found -[14097] Forked 24385 -[14096] Forked 24386 -(24385) found -(24386) found -[14095] Forked 24387 -[14094] Forked 24388 -(24387) found -(24388) found -[14093] Forked 24389 -[14092] Forked 24390 -(24389) found -(24390) found -[14091] Forked 24391 -[14090] Forked 24392 -(24391) found -(24392) found -[14089] Forked 24393 -[14088] Forked 24394 -(24393) found -(24394) found -[14087] Forked 24395 -[14086] Forked 24396 -(24395) found -(24396) found -[14085] Forked 24397 -[14084] Forked 24398 -(24397) found -(24398) found -[14083] Forked 24399 -[14082] Forked 24400 -(24399) found -(24400) found -[14081] Forked 24401 -[14080] Forked 24402 -(24401) found -(24402) found -[14079] Forked 24403 -[14078] Forked 24404 -(24403) found -(24404) found -[14077] Forked 24405 -[14076] Forked 24406 -(24406) found -(24405) found -[14075] Forked 24407 -(24407) found -[14074] Forked 24408 -(24408) found -[14073] Forked 24409 -(24409) found -[14072] Forked 24410 -(24410) found -[14071] Forked 24411 -(24411) found -[14070] Forked 24412 -(24412) found -[14069] Forked 24413 -(24413) found -[14068] Forked 24414 -(24414) found -[14067] Forked 24415 -(24415) found -[14066] Forked 24416 -(24416) found -[14065] Forked 24417 -(24417) found -[14064] Forked 24418 -(24418) found -[14063] Forked 24419 -(24419) found -[14062] Forked 24420 -(24420) found -[14061] Forked 24421 -(24421) found -[14060] Forked 24422 -(24422) found -[14059] Forked 24423 -(24423) found -[14058] Forked 24424 -(24424) found -[14057] Forked 24425 -(24425) found -[14056] Forked 24426 -(24426) found -[14055] Forked 24427 -(24427) found -[14054] Forked 24428 -(24428) found -[14053] Forked 24429 -(24429) found -[14052] Forked 24430 -(24430) found -[14051] Forked 24431 -(24431) found -[14050] Forked 24432 -(24432) found -[14049] Forked 24433 -(24433) found -[14048] Forked 24434 -(24434) found -[14047] Forked 24435 -(24435) found -[14046] Forked 24436 -(24436) found -[14045] Forked 24437 -(24437) found -[14044] Forked 24438 -(24438) found -[14043] Forked 24439 -(24439) found -[14042] Forked 24440 -(24440) found -[14041] Forked 24441 -(24441) found -[14040] Forked 24442 -[14039] Forked 24443 -(24442) found -(24443) found -[14038] Forked 24444 -[14037] Forked 24445 -(24444) found -(24445) found -[14036] Forked 24446 -[14035] Forked 24447 -(24446) found -(24447) found -[14034] Forked 24448 -[14033] Forked 24449 -(24448) found -(24449) found -[14032] Forked 24450 -[14031] Forked 24451 -(24450) found -(24451) found -[14030] Forked 24452 -[14029] Forked 24453 -(24452) found -(24453) found -[14028] Forked 24454 -[14027] Forked 24455 -(24454) found -(24455) found -[14026] Forked 24456 -[14025] Forked 24457 -(24456) found -(24457) found -[14024] Forked 24458 -[14023] Forked 24459 -(24458) found -(24459) found -[14022] Forked 24460 -[14021] Forked 24461 -(24460) found -(24461) found -[14020] Forked 24462 -[14019] Forked 24463 -(24462) found -(24463) found -[14018] Forked 24464 -[14017] Forked 24465 -(24464) found -(24465) found -[14016] Forked 24466 -[14015] Forked 24467 -(24466) found -(24467) found -[14014] Forked 24468 -[14013] Forked 24469 -(24468) found -(24469) found -[14012] Forked 24470 -[14011] Forked 24473 -(24470) found -(24473) found -[14010] Forked 24474 -[14009] Forked 24475 -(24474) found -(24475) found -[14008] Forked 24476 -[14007] Forked 24477 -(24476) found -(24477) found -[14006] Forked 24478 -[14005] Forked 24479 -(24478) found -(24479) found -[14004] Forked 24480 -[14003] Forked 24481 -(24480) found -(24481) found -[14002] Forked 24482 -[14001] Forked 24483 -(24482) found -(24483) found -[14000] Forked 24484 -[13999] Forked 24485 -(24484) found -(24485) found -[13998] Forked 24486 -[13997] Forked 24487 -(24486) found -(24487) found -[13996] Forked 24488 -[13995] Forked 24489 -(24488) found -(24489) found -[13994] Forked 24490 -[13993] Forked 24491 -(24490) found -(24491) found -[13992] Forked 24492 -[13991] Forked 24493 -(24492) found -(24493) found -[13990] Forked 24494 -[13989] Forked 24495 -(24494) found -(24495) found -[13988] Forked 24496 -[13987] Forked 24497 -(24496) found -(24497) found -[13986] Forked 24498 -[13985] Forked 24499 -(24498) found -(24499) found -[13984] Forked 24500 -[13983] Forked 24501 -(24500) found -(24501) found -[13982] Forked 24502 -[13981] Forked 24503 -(24502) found -(24503) found -[13980] Forked 24504 -[13979] Forked 24505 -(24504) found -(24505) found -[13978] Forked 24506 -[13977] Forked 24507 -(24506) found -(24507) found -[13976] Forked 24508 -[13975] Forked 24509 -(24508) found -(24509) found -[13974] Forked 24510 -[13973] Forked 24511 -(24510) found -(24511) found -[13972] Forked 24512 -[13971] Forked 24513 -(24512) found -(24513) found -[13970] Forked 24514 -[13969] Forked 24515 -(24514) found -(24515) found -[13968] Forked 24516 -[13967] Forked 24517 -(24516) found -(24517) found -[13966] Forked 24518 -[13965] Forked 24519 -(24518) found -(24519) found -[13964] Forked 24520 -[13963] Forked 24521 -(24520) found -(24521) found -[13962] Forked 24522 -(24522) found -[13961] Forked 24523 -[13960] Forked 24524 -(24523) found -(24524) found -[13959] Forked 24525 -[13958] Forked 24526 -(24525) found -(24526) found -[13957] Forked 24527 -[13956] Forked 24528 -(24527) found -(24528) found -[13955] Forked 24529 -[13954] Forked 24530 -(24529) found -(24530) found -[13953] Forked 24531 -[13952] Forked 24532 -(24531) found -(24532) found -[13951] Forked 24533 -[13950] Forked 24534 -(24533) found -(24534) found -[13949] Forked 24535 -[13948] Forked 24536 -(24535) found -(24536) found -[13947] Forked 24537 -[13946] Forked 24538 -(24537) found -(24538) found -[13945] Forked 24539 -[13944] Forked 24540 -(24539) found -(24540) found -[13943] Forked 24541 -[13942] Forked 24542 -(24541) found -(24542) found -[13941] Forked 24543 -[13940] Forked 24544 -(24543) found -(24544) found -[13939] Forked 24545 -[13938] Forked 24546 -(24545) found -(24546) found -[13937] Forked 24547 -[13936] Forked 24548 -(24547) found -(24548) found -[13935] Forked 24549 -[13934] Forked 24550 -(24549) found -(24550) found -[13933] Forked 24551 -[13932] Forked 24552 -(24551) found -(24552) found -[13931] Forked 24553 -[13930] Forked 24554 -(24553) found -(24554) found -[13929] Forked 24555 -[13928] Forked 24556 -(24555) found -(24556) found -[13927] Forked 24557 -[13926] Forked 24558 -(24557) found -(24558) found -[13925] Forked 24559 -[13924] Forked 24560 -(24559) found -(24560) found -[13923] Forked 24561 -[13922] Forked 24562 -(24561) found -(24562) found -[13921] Forked 24563 -[13920] Forked 24564 -(24563) found -(24564) found -[13919] Forked 24565 -[13918] Forked 24566 -(24565) found -(24566) found -[13917] Forked 24567 -[13916] Forked 24568 -(24567) found -(24568) found -[13915] Forked 24569 -[13914] Forked 24570 -(24569) found -(24570) found -[13913] Forked 24571 -[13912] Forked 24572 -(24571) found -(24572) found -[13911] Forked 24573 -[13910] Forked 24574 -(24573) found -(24574) found -[13909] Forked 24575 -[13908] Forked 24576 -(24575) found -(24576) found -[13907] Forked 24577 -[13906] Forked 24578 -(24577) found -(24578) found -[13905] Forked 24579 -[13904] Forked 24580 -(24579) found -(24580) found -[13903] Forked 24581 -[13902] Forked 24582 -(24581) found -(24582) found -[13901] Forked 24583 -[13900] Forked 24585 -(24583) found -(24585) found -[13899] Forked 24586 -(24586) found -[13898] Forked 24587 -(24587) found -[13897] Forked 24588 -(24588) found -[13896] Forked 24589 -(24589) found -[13895] Forked 24590 -(24590) found -[13894] Forked 24591 -(24591) found -[13893] Forked 24592 -(24592) found -[13892] Forked 24593 -(24593) found -[13891] Forked 24594 -(24594) found -[13890] Forked 24595 -(24595) found -[13889] Forked 24596 -(24596) found -[13888] Forked 24597 -(24597) found -[13887] Forked 24598 -(24598) found -[13886] Forked 24599 -(24599) found -[13885] Forked 24600 -(24600) found -[13884] Forked 24601 -(24601) found -[13883] Forked 24602 -(24602) found -[13882] Forked 24603 -(24603) found -[13881] Forked 24604 -(24604) found -[13880] Forked 24605 -(24605) found -[13879] Forked 24606 -(24606) found -[13878] Forked 24607 -(24607) found -[13877] Forked 24608 -(24608) found -[13876] Forked 24609 -(24609) found -[13875] Forked 24610 -(24610) found -[13874] Forked 24611 -(24611) found -[13873] Forked 24612 -(24612) found -[13872] Forked 24613 -(24613) found -[13871] Forked 24614 -(24614) found -[13870] Forked 24615 -(24615) found -[13869] Forked 24616 -(24616) found -[13868] Forked 24617 -(24617) found -[13867] Forked 24618 -(24618) found -[13866] Forked 24619 -(24619) found -[13865] Forked 24620 -(24620) found -[13864] Forked 24621 -(24621) found -[13863] Forked 24622 -(24622) found -[13862] Forked 24623 -(24623) found -[13861] Forked 24624 -(24624) found -[13860] Forked 24625 -(24625) found -[13859] Forked 24626 -(24626) found -[13858] Forked 24627 -(24627) found -[13857] Forked 24628 -(24628) found -[13856] Forked 24629 -(24629) found -[13855] Forked 24630 -(24630) found -[13854] Forked 24631 -(24631) found -[13853] Forked 24632 -(24632) found -[13852] Forked 24633 -(24633) found -[13851] Forked 24634 -(24634) found -[13850] Forked 24635 -(24635) found -[13849] Forked 24636 -(24636) found -[13848] Forked 24637 -(24637) found -[13847] Forked 24638 -(24638) found -[13846] Forked 24639 -(24639) found -[13845] Forked 24640 -(24640) found -[13844] Forked 24641 -(24641) found -[13843] Forked 24642 -(24642) found -[13842] Forked 24643 -(24643) found -[13841] Forked 24644 -(24644) found -[13840] Forked 24645 -(24645) found -[13839] Forked 24646 -(24646) found -[13838] Forked 24647 -(24647) found -[13837] Forked 24648 -(24648) found -[13836] Forked 24649 -(24649) found -[13835] Forked 24650 -(24650) found -[13834] Forked 24651 -(24651) found -[13833] Forked 24652 -(24652) found -[13832] Forked 24653 -(24653) found -[13831] Forked 24654 -(24654) found -[13830] Forked 24655 -(24655) found -[13829] Forked 24656 -(24656) found -[13828] Forked 24657 -(24657) found -[13827] Forked 24658 -(24658) found -[13826] Forked 24659 -(24659) found -[13825] Forked 24660 -(24660) found -[13824] Forked 24661 -(24661) found -[13823] Forked 24662 -(24662) found -[13822] Forked 24663 -(24663) found -[13821] Forked 24664 -(24664) found -[13820] Forked 24665 -(24665) found -[13819] Forked 24666 -(24666) found -[13818] Forked 24667 -(24667) found -[13817] Forked 24668 -(24668) found -[13816] Forked 24669 -(24669) found -[13815] Forked 24670 -(24670) found -[13814] Forked 24671 -(24671) found -[13813] Forked 24672 -(24672) found -[13812] Forked 24673 -(24673) found -[13811] Forked 24674 -(24674) found -[13810] Forked 24675 -(24675) found -[13809] Forked 24676 -(24676) found -[13808] Forked 24677 -(24677) found -[13807] Forked 24678 -(24678) found -[13806] Forked 24679 -(24679) found -[13805] Forked 24680 -(24680) found -[13804] Forked 24681 -(24681) found -[13803] Forked 24682 -(24682) found -[13802] Forked 24683 -(24683) found -[13801] Forked 24684 -(24684) found -[13800] Forked 24685 -(24685) found -[13799] Forked 24686 -(24686) found -[13798] Forked 24687 -(24687) found -[13797] Forked 24688 -[13796] Forked 24690 -(24688) found -(24690) found -[13795] Forked 24691 -(24691) found -[13794] Forked 24692 -(24692) found -[13793] Forked 24693 -(24693) found -[13792] Forked 24694 -[13791] Forked 24695 -(24694) found -(24695) found -[13790] Forked 24696 -[13789] Forked 24697 -(24696) found -(24697) found -[13788] Forked 24698 -[13787] Forked 24699 -(24698) found -(24699) found -[13786] Forked 24700 -[13785] Forked 24701 -(24700) found -(24701) found -[13784] Forked 24702 -[13783] Forked 24703 -(24702) found -(24703) found -[13782] Forked 24704 -[13781] Forked 24705 -(24704) found -(24705) found -[13780] Forked 24706 -[13779] Forked 24707 -(24706) found -(24707) found -[13778] Forked 24708 -[13777] Forked 24709 -(24708) found -(24709) found -[13776] Forked 24710 -[13775] Forked 24711 -(24710) found -(24711) found -[13774] Forked 24712 -[13773] Forked 24713 -(24712) found -(24713) found -[13772] Forked 24714 -[13771] Forked 24715 -(24714) found -(24715) found -[13770] Forked 24716 -[13769] Forked 24717 -(24716) found -(24717) found -[13768] Forked 24718 -[13767] Forked 24719 -(24718) found -(24719) found -[13766] Forked 24720 -[13765] Forked 24721 -(24720) found -(24721) found -[13764] Forked 24722 -[13763] Forked 24723 -(24722) found -(24723) found -[13762] Forked 24724 -[13761] Forked 24725 -(24724) found -(24725) found -[13760] Forked 24726 -[13759] Forked 24727 -(24726) found -(24727) found -[13758] Forked 24728 -[13757] Forked 24729 -(24728) found -(24729) found -[13756] Forked 24730 -[13755] Forked 24731 -(24730) found -(24731) found -[13754] Forked 24732 -[13753] Forked 24733 -(24732) found -(24733) found -[13752] Forked 24734 -(24734) found -[13751] Forked 24735 -(24735) found -[13750] Forked 24736 -(24736) found -[13749] Forked 24737 -(24737) found -[13748] Forked 24738 -(24738) found -[13747] Forked 24739 -(24739) found -[13746] Forked 24740 -(24740) found -[13745] Forked 24741 -(24741) found -[13744] Forked 24742 -(24742) found -[13743] Forked 24743 -(24743) found -[13742] Forked 24744 -(24744) found -[13741] Forked 24745 -(24745) found -[13740] Forked 24746 -(24746) found -[13739] Forked 24747 -(24747) found -[13738] Forked 24748 -(24748) found -[13737] Forked 24749 -(24749) found -[13736] Forked 24750 -(24750) found -[13735] Forked 24751 -(24751) found -[13734] Forked 24752 -(24752) found -[13733] Forked 24753 -(24753) found -[13732] Forked 24754 -(24754) found -[13731] Forked 24755 -(24755) found -[13730] Forked 24756 -(24756) found -[13729] Forked 24757 -(24757) found -[13728] Forked 24758 -(24758) found -[13727] Forked 24759 -(24759) found -[13726] Forked 24760 -(24760) found -[13725] Forked 24761 -(24761) found -[13724] Forked 24762 -(24762) found -[13723] Forked 24763 -(24763) found -[13722] Forked 24764 -(24764) found -[13721] Forked 24765 -(24765) found -[13720] Forked 24766 -(24766) found -[13719] Forked 24767 -(24767) found -[13718] Forked 24768 -(24768) found -[13717] Forked 24769 -(24769) found -[13716] Forked 24770 -[13715] Forked 24771 -(24770) found -(24771) found -[13714] Forked 24772 -[13713] Forked 24773 -(24772) found -(24773) found -[13712] Forked 24774 -[13711] Forked 24776 -(24774) found -(24776) found -[13710] Forked 24777 -(24777) found -[13709] Forked 24778 -(24778) found -[13708] Forked 24779 -(24779) found -[13707] Forked 24780 -(24780) found -[13706] Forked 24781 -(24781) found -[13705] Forked 24782 -(24782) found -[13704] Forked 24783 -(24783) found -[13703] Forked 24784 -(24784) found -[13702] Forked 24785 -(24785) found -[13701] Forked 24786 -(24786) found -[13700] Forked 24787 -(24787) found -[13699] Forked 24788 -(24788) found -[13698] Forked 24789 -(24789) found -[13697] Forked 24790 -(24790) found -[13696] Forked 24791 -(24791) found -[13695] Forked 24792 -(24792) found -[13694] Forked 24793 -(24793) found -[13693] Forked 24794 -(24794) found -[13692] Forked 24795 -(24795) found -[13691] Forked 24796 -(24796) found -[13690] Forked 24797 -(24797) found -[13689] Forked 24798 -(24798) found -[13688] Forked 24799 -(24799) found -[13687] Forked 24800 -(24800) found -[13686] Forked 24801 -(24801) found -[13685] Forked 24802 -(24802) found -[13684] Forked 24803 -(24803) found -[13683] Forked 24804 -(24804) found -[13682] Forked 24805 -(24805) found -[13681] Forked 24806 -(24806) found -[13680] Forked 24807 -(24807) found -[13679] Forked 24808 -(24808) found -[13678] Forked 24809 -(24809) found -[13677] Forked 24810 -(24810) found -[13676] Forked 24811 -(24811) found -[13675] Forked 24812 -(24812) found -[13674] Forked 24813 -(24813) found -[13673] Forked 24814 -(24814) found -[13672] Forked 24815 -(24815) found -[13671] Forked 24816 -(24816) found -[13670] Forked 24817 -(24817) found -[13669] Forked 24818 -(24818) found -[13668] Forked 24819 -(24819) found -[13667] Forked 24820 -(24820) found -[13666] Forked 24821 -(24821) found -[13665] Forked 24822 -(24822) found -[13664] Forked 24823 -(24823) found -[13663] Forked 24824 -(24824) found -[13662] Forked 24825 -(24825) found -[13661] Forked 24826 -(24826) found -[13660] Forked 24827 -(24827) found -[13659] Forked 24828 -(24828) found -[13658] Forked 24829 -(24829) found -[13657] Forked 24830 -(24830) found -[13656] Forked 24831 -(24831) found -[13655] Forked 24832 -(24832) found -[13654] Forked 24833 -(24833) found -[13653] Forked 24834 -(24834) found -[13652] Forked 24835 -(24835) found -[13651] Forked 24836 -(24836) found -[13650] Forked 24837 -(24837) found -[13649] Forked 24838 -(24838) found -[13648] Forked 24839 -(24839) found -[13647] Forked 24840 -(24840) found -[13646] Forked 24841 -(24841) found -[13645] Forked 24842 -(24842) found -[13644] Forked 24843 -(24843) found -[13643] Forked 24844 -(24844) found -[13642] Forked 24845 -(24845) found -[13641] Forked 24846 -(24846) found -[13640] Forked 24847 -(24847) found -[13639] Forked 24848 -(24848) found -[13638] Forked 24849 -(24849) found -[13637] Forked 24850 -(24850) found -[13636] Forked 24851 -(24851) found -[13635] Forked 24852 -(24852) found -[13634] Forked 24853 -(24853) found -[13633] Forked 24854 -(24854) found -[13632] Forked 24855 -(24855) found -[13631] Forked 24856 -(24856) found -[13630] Forked 24857 -(24857) found -[13629] Forked 24858 -(24858) found -[13628] Forked 24859 -(24859) found -[13627] Forked 24860 -(24860) found -[13626] Forked 24861 -(24861) found -[13625] Forked 24862 -(24862) found -[13624] Forked 24863 -(24863) found -[13623] Forked 24864 -(24864) found -[13622] Forked 24865 -(24865) found -[13621] Forked 24866 -(24866) found -[13620] Forked 24867 -(24867) found -[13619] Forked 24868 -(24868) found -[13618] Forked 24869 -(24869) found -[13617] Forked 24870 -(24870) found -[13616] Forked 24871 -(24871) found -[13615] Forked 24872 -(24872) found -[13614] Forked 24873 -(24873) found -[13613] Forked 24874 -(24874) found -[13612] Forked 24875 -(24875) found -[13611] Forked 24876 -(24876) found -[13610] Forked 24877 -(24877) found -[13609] Forked 24878 -(24878) found -[13608] Forked 24879 -[13607] Forked 24880 -(24879) found -(24880) found -[13606] Forked 24881 -[13605] Forked 24882 -(24881) found -(24882) found -[13604] Forked 24883 -[13603] Forked 24884 -(24883) found -(24884) found -[13602] Forked 24885 -[13601] Forked 24886 -(24885) found -(24886) found -[13600] Forked 24887 -[13599] Forked 24888 -(24887) found -(24888) found -[13598] Forked 24889 -(24889) found -[13597] Forked 24890 -[13596] Forked 24891 -(24890) found -(24891) found -[13595] Forked 24892 -[13594] Forked 24893 -(24892) found -(24893) found -[13593] Forked 24894 -[13592] Forked 24895 -(24894) found -(24895) found -[13591] Forked 24896 -[13590] Forked 24897 -(24896) found -(24897) found -[13589] Forked 24898 -[13588] Forked 24899 -(24898) found -(24899) found -[13587] Forked 24900 -[13586] Forked 24901 -(24900) found -(24901) found -[13585] Forked 24902 -[13584] Forked 24903 -(24902) found -(24903) found -[13583] Forked 24904 -[13582] Forked 24905 -(24904) found -(24905) found -[13581] Forked 24906 -[13580] Forked 24907 -(24906) found -(24907) found -[13579] Forked 24908 -[13578] Forked 24909 -(24908) found -(24909) found -[13577] Forked 24910 -[13576] Forked 24911 -(24910) found -(24911) found -[13575] Forked 24912 -[13574] Forked 24913 -(24912) found -(24913) found -[13573] Forked 24914 -[13572] Forked 24915 -(24914) found -(24915) found -[13571] Forked 24916 -[13570] Forked 24917 -(24916) found -(24917) found -[13569] Forked 24918 -[13568] Forked 24919 -(24918) found -(24919) found -[13567] Forked 24920 -[13566] Forked 24921 -(24920) found -(24921) found -[13565] Forked 24922 -[13564] Forked 24923 -(24922) found -(24923) found -[13563] Forked 24924 -[13562] Forked 24925 -(24924) found -(24925) found -[13561] Forked 24926 -[13560] Forked 24927 -(24926) found -(24927) found -[13559] Forked 24928 -[13558] Forked 24929 -(24928) found -(24929) found -[13557] Forked 24930 -[13556] Forked 24931 -(24930) found -(24931) found -[13555] Forked 24932 -[13554] Forked 24933 -(24932) found -(24933) found -[13553] Forked 24934 -[13552] Forked 24935 -(24934) found -(24935) found -[13551] Forked 24936 -[13550] Forked 24937 -(24936) found -(24937) found -[13549] Forked 24938 -[13548] Forked 24939 -(24938) found -(24939) found -[13547] Forked 24940 -[13546] Forked 24941 -(24940) found -(24941) found -[13545] Forked 24942 -[13544] Forked 24943 -(24942) found -(24943) found -[13543] Forked 24944 -[13542] Forked 24945 -(24944) found -(24945) found -[13541] Forked 24946 -[13540] Forked 24947 -(24946) found -(24947) found -[13539] Forked 24948 -[13538] Forked 24949 -(24948) found -(24949) found -[13537] Forked 24950 -[13536] Forked 24951 -(24950) found -(24951) found -[13535] Forked 24952 -[13534] Forked 24953 -(24952) found -(24953) found -[13533] Forked 24954 -[13532] Forked 24955 -(24954) found -(24955) found -[13531] Forked 24956 -[13530] Forked 24957 -(24956) found -(24957) found -[13529] Forked 24958 -[13528] Forked 24959 -(24958) found -(24959) found -[13527] Forked 24960 -[13526] Forked 24961 -(24960) found -(24961) found -[13525] Forked 24962 -[13524] Forked 24963 -(24962) found -(24963) found -[13523] Forked 24964 -[13522] Forked 24965 -(24964) found -(24965) found -[13521] Forked 24966 -[13520] Forked 24967 -(24966) found -(24967) found -[13519] Forked 24968 -[13518] Forked 24969 -(24968) found -(24969) found -[13517] Forked 24970 -(24970) found -[13516] Forked 24971 -(24971) found -[13515] Forked 24972 -(24972) found -[13514] Forked 24973 -(24973) found -[13513] Forked 24974 -(24974) found -[13512] Forked 24975 -(24975) found -[13511] Forked 24976 -(24976) found -[13510] Forked 24977 -(24977) found -[13509] Forked 24978 -(24978) found -[13508] Forked 24979 -(24979) found -[13507] Forked 24980 -(24980) found -[13506] Forked 24981 -(24981) found -[13505] Forked 24982 -(24982) found -[13504] Forked 24983 -(24983) found -[13503] Forked 24984 -(24984) found -[13502] Forked 24985 -(24985) found -[13501] Forked 24986 -(24986) found -[13500] Forked 24987 -(24987) found -[13499] Forked 24988 -(24988) found -[13498] Forked 24989 -(24989) found -[13497] Forked 24990 -(24990) found -[13496] Forked 24991 -(24991) found -[13495] Forked 24992 -(24992) found -[13494] Forked 24993 -(24993) found -[13493] Forked 24994 -(24994) found -[13492] Forked 24996 -(24996) found -[13491] Forked 24997 -(24997) found -[13490] Forked 24998 -(24998) found -[13489] Forked 24999 -(24999) found -[13488] Forked 25000 -(25000) found -[13487] Forked 25001 -(25001) found -[13486] Forked 25002 -(25002) found -[13485] Forked 25003 -(25003) found -[13484] Forked 25004 -(25004) found -[13483] Forked 25005 -(25005) found -[13482] Forked 25006 -(25006) found -[13481] Forked 25007 -[13480] Forked 25008 -(25007) found -(25008) found -[13479] Forked 25009 -[13478] Forked 25010 -(25009) found -(25010) found -[13477] Forked 25011 -[13476] Forked 25013 -(25011) found -(25013) found -[13475] Forked 25014 -(25014) found -[13474] Forked 25015 -(25015) found -[13473] Forked 25016 -(25016) found -[13472] Forked 25017 -(25017) found -[13471] Forked 25018 -(25018) found -[13470] Forked 25019 -(25019) found -[13469] Forked 25020 -(25020) found -[13468] Forked 25021 -(25021) found -[13467] Forked 25022 -(25022) found -[13466] Forked 25023 -(25023) found -[13465] Forked 25024 -(25024) found -[13464] Forked 25025 -(25025) found -[13463] Forked 25026 -(25026) found -[13462] Forked 25027 -(25027) found -[13461] Forked 25028 -(25028) found -[13460] Forked 25029 -(25029) found -[13459] Forked 25030 -(25030) found -[13458] Forked 25031 -(25031) found -[13457] Forked 25032 -(25032) found -[13456] Forked 25033 -(25033) found -[13455] Forked 25034 -(25034) found -[13454] Forked 25035 -(25035) found -[13453] Forked 25036 -(25036) found -[13452] Forked 25037 -(25037) found -[13451] Forked 25038 -(25038) found -[13450] Forked 25039 -(25039) found -[13449] Forked 25040 -(25040) found -[13448] Forked 25041 -(25041) found -[13447] Forked 25042 -(25042) found -[13446] Forked 25043 -(25043) found -[13445] Forked 25044 -(25044) found -[13444] Forked 25045 -(25045) found -[13443] Forked 25046 -(25046) found -[13442] Forked 25047 -(25047) found -[13441] Forked 25048 -(25048) found -[13440] Forked 25049 -(25049) found -[13439] Forked 25050 -(25050) found -[13438] Forked 25051 -(25051) found -[13437] Forked 25052 -(25052) found -[13436] Forked 25053 -(25053) found -[13435] Forked 25054 -(25054) found -[13434] Forked 25055 -(25055) found -[13433] Forked 25056 -(25056) found -[13432] Forked 25057 -(25057) found -[13431] Forked 25058 -(25058) found -[13430] Forked 25059 -(25059) found -[13429] Forked 25060 -(25060) found -[13428] Forked 25061 -(25061) found -[13427] Forked 25062 -(25062) found -[13426] Forked 25063 -(25063) found -[13425] Forked 25064 -(25064) found -[13424] Forked 25065 -(25065) found -[13423] Forked 25066 -(25066) found -[13422] Forked 25067 -(25067) found -[13421] Forked 25068 -(25068) found -[13420] Forked 25069 -(25069) found -[13419] Forked 25070 -(25070) found -[13418] Forked 25071 -(25071) found -[13417] Forked 25072 -(25072) found -[13416] Forked 25073 -(25073) found -[13415] Forked 25074 -(25074) found -[13414] Forked 25075 -(25075) found -[13413] Forked 25076 -(25076) found -[13412] Forked 25077 -(25077) found -[13411] Forked 25078 -(25078) found -[13410] Forked 25079 -[13409] Forked 25080 -(25079) found -(25080) found -[13408] Forked 25081 -[13407] Forked 25082 -(25081) found -(25082) found -[13406] Forked 25083 -[13405] Forked 25084 -(25083) found -(25084) found -[13404] Forked 25085 -[13403] Forked 25086 -(25085) found -(25086) found -[13402] Forked 25087 -[13401] Forked 25088 -(25087) found -(25088) found -[13400] Forked 25089 -[13399] Forked 25090 -(25089) found -(25090) found -[13398] Forked 25091 -[13397] Forked 25092 -(25091) found -(25092) found -[13396] Forked 25093 -[13395] Forked 25094 -(25093) found -(25094) found -[13394] Forked 25095 -[13393] Forked 25096 -(25095) found -(25096) found -[13392] Forked 25097 -[13391] Forked 25098 -(25097) found -(25098) found -[13390] Forked 25099 -[13389] Forked 25100 -(25099) found -(25100) found -[13388] Forked 25101 -[13387] Forked 25102 -(25101) found -(25102) found -[13386] Forked 25103 -[13385] Forked 25104 -(25103) found -(25104) found -[13384] Forked 25105 -[13383] Forked 25106 -(25105) found -(25106) found -[13382] Forked 25107 -[13381] Forked 25108 -(25107) found -(25108) found -[13380] Forked 25109 -[13379] Forked 25110 -(25109) found -(25110) found -[13378] Forked 25111 -[13377] Forked 25112 -(25111) found -(25112) found -[13376] Forked 25113 -[13375] Forked 25114 -(25113) found -(25114) found -[13374] Forked 25115 -[13373] Forked 25116 -(25115) found -(25116) found -[13372] Forked 25117 -[13371] Forked 25118 -(25117) found -(25118) found -[13370] Forked 25119 -[13369] Forked 25120 -(25119) found -(25120) found -[13368] Forked 25121 -[13367] Forked 25122 -(25121) found -(25122) found -[13366] Forked 25123 -[13365] Forked 25124 -(25123) found -(25124) found -[13364] Forked 25125 -[13363] Forked 25126 -(25125) found -(25126) found -[13362] Forked 25127 -[13361] Forked 25128 -(25127) found -(25128) found -[13360] Forked 25129 -[13359] Forked 25130 -(25129) found -(25130) found -[13358] Forked 25131 -[13357] Forked 25132 -(25131) found -(25132) found -[13356] Forked 25133 -[13355] Forked 25134 -(25133) found -(25134) found -[13354] Forked 25135 -[13353] Forked 25136 -(25135) found -(25136) found -[13352] Forked 25137 -[13351] Forked 25138 -(25137) found -(25138) found -[13350] Forked 25139 -[13349] Forked 25140 -(25139) found -(25140) found -[13348] Forked 25141 -[13347] Forked 25142 -(25141) found -(25142) found -[13346] Forked 25143 -[13345] Forked 25144 -(25143) found -(25144) found -[13344] Forked 25145 -[13343] Forked 25146 -(25145) found -(25146) found -[13342] Forked 25147 -[13341] Forked 25148 -(25147) found -(25148) found -[13340] Forked 25149 -[13339] Forked 25150 -(25149) found -(25150) found -[13338] Forked 25151 -[13337] Forked 25152 -(25151) found -(25152) found -[13336] Forked 25153 -[13335] Forked 25154 -(25153) found -(25154) found -[13334] Forked 25155 -[13333] Forked 25156 -(25155) found -(25156) found -[13332] Forked 25157 -[13331] Forked 25158 -(25157) found -(25158) found -[13330] Forked 25159 -[13329] Forked 25160 -(25159) found -(25160) found -[13328] Forked 25161 -[13327] Forked 25162 -(25161) found -(25162) found -[13326] Forked 25163 -[13325] Forked 25164 -(25163) found -(25164) found -[13324] Forked 25165 -[13323] Forked 25166 -(25165) found -(25166) found -[13322] Forked 25167 -[13321] Forked 25168 -(25167) found -(25168) found -[13320] Forked 25169 -[13319] Forked 25170 -(25169) found -(25170) found -[13318] Forked 25171 -[13317] Forked 25172 -(25171) found -(25172) found -[13316] Forked 25173 -[13315] Forked 25174 -(25173) found -(25174) found -[13314] Forked 25175 -[13313] Forked 25176 -(25175) found -(25176) found -[13312] Forked 25177 -[13311] Forked 25178 -(25177) found -(25178) found -[13310] Forked 25179 -[13309] Forked 25180 -(25179) found -(25180) found -[13308] Forked 25181 -[13307] Forked 25182 -(25181) found -(25182) found -[13306] Forked 25183 -[13305] Forked 25184 -(25183) found -(25184) found -[13304] Forked 25185 -[13303] Forked 25186 -(25185) found -(25186) found -[13302] Forked 25187 -[13301] Forked 25188 -(25187) found -(25188) found -[13300] Forked 25189 -[13299] Forked 25190 -(25189) found -(25190) found -[13298] Forked 25191 -[13297] Forked 25192 -(25191) found -(25192) found -[13296] Forked 25193 -[13295] Forked 25194 -(25193) found -(25194) found -[13294] Forked 25195 -[13293] Forked 25196 -(25195) found -(25196) found -[13292] Forked 25197 -[13291] Forked 25198 -(25197) found -(25198) found -[13290] Forked 25199 -[13289] Forked 25200 -(25199) found -(25200) found -[13288] Forked 25201 -[13287] Forked 25202 -(25201) found -(25202) found -[13286] Forked 25203 -[13285] Forked 25204 -(25203) found -(25204) found -[13284] Forked 25205 -[13283] Forked 25206 -(25205) found -(25206) found -[13282] Forked 25207 -[13281] Forked 25208 -(25207) found -(25208) found -[13280] Forked 25209 -[13279] Forked 25210 -(25209) found -(25210) found -[13278] Forked 25211 -[13277] Forked 25212 -(25211) found -(25212) found -[13276] Forked 25213 -[13275] Forked 25214 -(25213) found -(25214) found -[13274] Forked 25215 -[13273] Forked 25216 -(25215) found -(25216) found -[13272] Forked 25217 -[13271] Forked 25218 -(25217) found -(25218) found -[13270] Forked 25219 -[13269] Forked 25220 -(25219) found -(25220) found -[13268] Forked 25221 -[13267] Forked 25222 -(25221) found -(25222) found -[13266] Forked 25223 -[13265] Forked 25224 -(25223) found -(25224) found -[13264] Forked 25225 -[13263] Forked 25226 -(25225) found -(25226) found -[13262] Forked 25227 -[13261] Forked 25228 -(25227) found -(25228) found -[13260] Forked 25229 -[13259] Forked 25230 -(25229) found -(25230) found -[13258] Forked 25231 -[13257] Forked 25232 -(25231) found -(25232) found -[13256] Forked 25233 -[13255] Forked 25234 -(25233) found -(25234) found -[13254] Forked 25235 -[13253] Forked 25236 -(25235) found -(25236) found -[13252] Forked 25237 -[13251] Forked 25238 -(25237) found -(25238) found -[13250] Forked 25239 -[13249] Forked 25240 -(25239) found -(25240) found -[13248] Forked 25241 -[13247] Forked 25242 -(25241) found -(25242) found -[13246] Forked 25243 -[13245] Forked 25244 -(25243) found -(25244) found -[13244] Forked 25245 -[13243] Forked 25246 -(25245) found -(25246) found -[13242] Forked 25247 -[13241] Forked 25248 -(25247) found -(25248) found -[13240] Forked 25249 -[13239] Forked 25250 -(25249) found -(25250) found -[13238] Forked 25251 -[13237] Forked 25252 -(25251) found -(25252) found -[13236] Forked 25253 -[13235] Forked 25254 -(25253) found -(25254) found -[13234] Forked 25255 -[13233] Forked 25256 -(25255) found -(25256) found -[13232] Forked 25257 -[13231] Forked 25258 -(25257) found -(25258) found -[13230] Forked 25259 -[13229] Forked 25260 -(25259) found -(25260) found -[13228] Forked 25261 -(25261) found -[13227] Forked 25262 -(25262) found -[13226] Forked 25263 -(25263) found -[13225] Forked 25264 -(25264) found -[13224] Forked 25265 -(25265) found -[13223] Forked 25266 -(25266) found -[13222] Forked 25267 -(25267) found -[13221] Forked 25268 -(25268) found -[13220] Forked 25269 -(25269) found -[13219] Forked 25270 -(25270) found -[13218] Forked 25271 -(25271) found -[13217] Forked 25272 -(25272) found -[13216] Forked 25273 -(25273) found -[13215] Forked 25274 -(25274) found -[13214] Forked 25275 -(25275) found -[13213] Forked 25276 -(25276) found -[13212] Forked 25277 -(25277) found -[13211] Forked 25278 -(25278) found -[13210] Forked 25279 -(25279) found -[13209] Forked 25280 -(25280) found -[13208] Forked 25281 -(25281) found -[13207] Forked 25282 -(25282) found -[13206] Forked 25283 -(25283) found -[13205] Forked 25284 -(25284) found -[13204] Forked 25285 -(25285) found -[13203] Forked 25286 -(25286) found -[13202] Forked 25287 -(25287) found -[13201] Forked 25288 -(25288) found -[13200] Forked 25289 -(25289) found -[13199] Forked 25290 -(25290) found -[13198] Forked 25291 -(25291) found -[13197] Forked 25292 -(25292) found -[13196] Forked 25293 -(25293) found -[13195] Forked 25294 -(25294) found -[13194] Forked 25295 -[13193] Forked 25296 -(25295) found -(25296) found -[13192] Forked 25297 -[13191] Forked 25298 -(25297) found -(25298) found -[13190] Forked 25299 -[13189] Forked 25300 -(25299) found -(25300) found -[13188] Forked 25301 -[13187] Forked 25302 -(25301) found -(25302) found -[13186] Forked 25303 -[13185] Forked 25304 -(25303) found -(25304) found -[13184] Forked 25305 -[13183] Forked 25306 -(25305) found -(25306) found -[13182] Forked 25307 -[13181] Forked 25308 -(25307) found -(25308) found -[13180] Forked 25309 -[13179] Forked 25310 -(25309) found -(25310) found -[13178] Forked 25311 -[13177] Forked 25312 -(25311) found -(25312) found -[13176] Forked 25313 -[13175] Forked 25314 -(25313) found -(25314) found -[13174] Forked 25315 -[13173] Forked 25316 -(25315) found -(25316) found -[13172] Forked 25317 -[13171] Forked 25318 -(25317) found -(25318) found -[13170] Forked 25319 -[13169] Forked 25320 -(25319) found -(25320) found -[13168] Forked 25321 -[13167] Forked 25322 -(25321) found -(25322) found -[13166] Forked 25323 -[13165] Forked 25324 -(25323) found -(25324) found -[13164] Forked 25325 -[13163] Forked 25326 -(25325) found -(25326) found -[13162] Forked 25327 -[13161] Forked 25328 -(25327) found -(25328) found -[13160] Forked 25329 -[13159] Forked 25330 -(25329) found -(25330) found -[13158] Forked 25331 -[13157] Forked 25332 -(25331) found -(25332) found -[13156] Forked 25333 -(25333) found -[13155] Forked 25334 -[13154] Forked 25335 -(25334) found -(25335) found -[13153] Forked 25336 -[13152] Forked 25337 -(25336) found -(25337) found -[13151] Forked 25338 -[13150] Forked 25339 -(25338) found -(25339) found -[13149] Forked 25340 -[13148] Forked 25341 -(25340) found -(25341) found -[13147] Forked 25342 -[13146] Forked 25343 -(25342) found -(25343) found -[13145] Forked 25344 -[13144] Forked 25345 -(25344) found -(25345) found -[13143] Forked 25346 -[13142] Forked 25347 -(25346) found -(25347) found -[13141] Forked 25348 -[13140] Forked 25349 -(25348) found -(25349) found -[13139] Forked 25350 -[13138] Forked 25351 -(25350) found -(25351) found -[13137] Forked 25352 -[13136] Forked 25353 -(25352) found -(25353) found -[13135] Forked 25354 -[13134] Forked 25355 -(25354) found -(25355) found -[13133] Forked 25356 -[13132] Forked 25357 -(25356) found -(25357) found -[13131] Forked 25358 -[13130] Forked 25359 -(25358) found -(25359) found -[13129] Forked 25360 -[13128] Forked 25361 -(25360) found -(25361) found -[13127] Forked 25362 -[13126] Forked 25363 -(25362) found -(25363) found -[13125] Forked 25364 -[13124] Forked 25365 -(25364) found -(25365) found -[13123] Forked 25366 -[13122] Forked 25367 -(25366) found -(25367) found -[13121] Forked 25368 -[13120] Forked 25369 -(25368) found -(25369) found -[13119] Forked 25370 -[13118] Forked 25371 -(25370) found -(25371) found -[13117] Forked 25372 -[13116] Forked 25373 -(25372) found -(25373) found -[13115] Forked 25374 -[13114] Forked 25375 -(25374) found -(25375) found -[13113] Forked 25376 -[13112] Forked 25377 -(25376) found -(25377) found -[13111] Forked 25378 -[13110] Forked 25379 -(25378) found -(25379) found -[13109] Forked 25380 -[13108] Forked 25381 -(25380) found -(25381) found -[13107] Forked 25382 -[13106] Forked 25383 -(25382) found -(25383) found -[13105] Forked 25384 -[13104] Forked 25385 -(25384) found -(25385) found -[13103] Forked 25386 -[13102] Forked 25387 -(25386) found -(25387) found -[13101] Forked 25388 -[13100] Forked 25389 -(25388) found -(25389) found -[13099] Forked 25390 -[13098] Forked 25391 -(25390) found -(25391) found -[13097] Forked 25392 -[13096] Forked 25393 -(25392) found -(25393) found -[13095] Forked 25394 -[13094] Forked 25396 -(25394) found -(25396) found -[13093] Forked 25397 -(25397) found -[13092] Forked 25398 -(25398) found -[13091] Forked 25399 -(25399) found -[13090] Forked 25400 -(25400) found -[13089] Forked 25401 -(25401) found -[13088] Forked 25402 -(25402) found -[13087] Forked 25403 -(25403) found -[13086] Forked 25404 -(25404) found -[13085] Forked 25405 -(25405) found -[13084] Forked 25406 -(25406) found -[13083] Forked 25407 -(25407) found -[13082] Forked 25408 -(25408) found -[13081] Forked 25409 -(25409) found -[13080] Forked 25410 -(25410) found -[13079] Forked 25411 -(25411) found -[13078] Forked 25412 -(25412) found -[13077] Forked 25413 -(25413) found -[13076] Forked 25414 -(25414) found -[13075] Forked 25416 -(25416) found -[13074] Forked 25417 -(25417) found -[13073] Forked 25418 -(25418) found -[13072] Forked 25419 -(25419) found -[13071] Forked 25420 -(25420) found -[13070] Forked 25421 -(25421) found -[13069] Forked 25422 -(25422) found -[13068] Forked 25423 -(25423) found -[13067] Forked 25424 -(25424) found -[13066] Forked 25426 -(25426) found -[13065] Forked 25428 -(25428) found -[13064] Forked 25430 -(25430) found -[13063] Forked 25431 -(25431) found -[13062] Forked 25432 -(25432) found -[13061] Forked 25433 -(25433) found -[13060] Forked 25434 -(25434) found -[13059] Forked 25435 -(25435) found -[13058] Forked 25436 -(25436) found -[13057] Forked 25437 -(25437) found -[13056] Forked 25438 -(25438) found -[13055] Forked 25439 -(25439) found -[13054] Forked 25440 -(25440) found -[13053] Forked 25441 -(25441) found -[13052] Forked 25442 -(25442) found -[13051] Forked 25443 -(25443) found -[13050] Forked 25444 -(25444) found -[13049] Forked 25445 -(25445) found -[13048] Forked 25446 -(25446) found -[13047] Forked 25447 -(25447) found -[13046] Forked 25448 -(25448) found -[13045] Forked 25449 -(25449) found -[13044] Forked 25450 -(25450) found -[13043] Forked 25451 -(25451) found -[13042] Forked 25452 -(25452) found -[13041] Forked 25453 -(25453) found -[13040] Forked 25454 -(25454) found -[13039] Forked 25455 -(25455) found -[13038] Forked 25456 -(25456) found -[13037] Forked 25457 -(25457) found -[13036] Forked 25458 -(25458) found -[13035] Forked 25459 -(25459) found -[13034] Forked 25460 -(25460) found -[13033] Forked 25461 -[13032] Forked 25462 -(25461) found -(25462) found -[13031] Forked 25463 -[13030] Forked 25464 -(25463) found -(25464) found -[13029] Forked 25465 -[13028] Forked 25466 -(25465) found -(25466) found -[13027] Forked 25467 -[13026] Forked 25468 -(25467) found -(25468) found -[13025] Forked 25469 -[13024] Forked 25470 -(25469) found -(25470) found -[13023] Forked 25471 -[13022] Forked 25472 -(25471) found -(25472) found -[13021] Forked 25473 -[13020] Forked 25474 -(25473) found -(25474) found -[13019] Forked 25475 -[13018] Forked 25476 -(25475) found -(25476) found -[13017] Forked 25477 -[13016] Forked 25478 -(25477) found -(25478) found -[13015] Forked 25479 -[13014] Forked 25480 -(25479) found -(25480) found -[13013] Forked 25481 -[13012] Forked 25482 -(25481) found -(25482) found -[13011] Forked 25483 -[13010] Forked 25484 -(25483) found -(25484) found -[13009] Forked 25485 -[13008] Forked 25486 -(25485) found -(25486) found -[13007] Forked 25487 -[13006] Forked 25488 -(25487) found -(25488) found -[13005] Forked 25489 -[13004] Forked 25490 -(25489) found -(25490) found -[13003] Forked 25491 -[13002] Forked 25492 -(25491) found -(25492) found -[13001] Forked 25493 -[13000] Forked 25494 -(25493) found -(25494) found -[12999] Forked 25495 -[12998] Forked 25496 -(25495) found -(25496) found -[12997] Forked 25497 -[12996] Forked 25498 -(25497) found -(25498) found -[12995] Forked 25499 -[12994] Forked 25500 -(25499) found -(25500) found -[12993] Forked 25501 -[12992] Forked 25502 -(25501) found -(25502) found -[12991] Forked 25503 -[12990] Forked 25504 -(25503) found -(25504) found -[12989] Forked 25505 -[12988] Forked 25506 -(25505) found -(25506) found -[12987] Forked 25507 -[12986] Forked 25508 -(25507) found -(25508) found -[12985] Forked 25509 -[12984] Forked 25510 -(25509) found -(25510) found -[12983] Forked 25511 -[12982] Forked 25512 -(25511) found -(25512) found -[12981] Forked 25513 -[12980] Forked 25514 -(25513) found -(25514) found -[12979] Forked 25515 -[12978] Forked 25516 -(25515) found -(25516) found -[12977] Forked 25517 -[12976] Forked 25518 -(25517) found -(25518) found -[12975] Forked 25519 -[12974] Forked 25520 -(25519) found -(25520) found -[12973] Forked 25521 -[12972] Forked 25522 -(25521) found -(25522) found -[12971] Forked 25523 -[12970] Forked 25524 -(25523) found -(25524) found -[12969] Forked 25525 -[12968] Forked 25526 -(25525) found -(25526) found -[12967] Forked 25527 -[12966] Forked 25528 -(25527) found -(25528) found -[12965] Forked 25529 -[12964] Forked 25530 -(25529) found -(25530) found -[12963] Forked 25531 -[12962] Forked 25532 -(25531) found -(25532) found -[12961] Forked 25533 -[12960] Forked 25534 -(25533) found -(25534) found -[12959] Forked 25535 -[12958] Forked 25536 -(25535) found -(25536) found -[12957] Forked 25537 -[12956] Forked 25538 -(25537) found -(25538) found -[12955] Forked 25539 -[12954] Forked 25540 -(25539) found -(25540) found -[12953] Forked 25541 -[12952] Forked 25542 -(25541) found -(25542) found -[12951] Forked 25543 -[12950] Forked 25544 -(25543) found -(25544) found -[12949] Forked 25545 -[12948] Forked 25546 -(25545) found -(25546) found -[12947] Forked 25547 -[12946] Forked 25548 -(25547) found -(25548) found -[12945] Forked 25549 -[12944] Forked 25550 -(25549) found -(25550) found -[12943] Forked 25551 -[12942] Forked 25552 -(25551) found -(25552) found -[12941] Forked 25553 -[12940] Forked 25554 -(25553) found -(25554) found -[12939] Forked 25555 -[12938] Forked 25556 -(25555) found -(25556) found -[12937] Forked 25557 -[12936] Forked 25558 -(25557) found -(25558) found -[12935] Forked 25559 -[12934] Forked 25560 -(25559) found -(25560) found -[12933] Forked 25561 -[12932] Forked 25562 -(25561) found -(25562) found -[12931] Forked 25563 -[12930] Forked 25564 -(25563) found -(25564) found -[12929] Forked 25565 -[12928] Forked 25566 -(25565) found -(25566) found -[12927] Forked 25567 -[12926] Forked 25568 -(25567) found -(25568) found -[12925] Forked 25569 -[12924] Forked 25570 -(25569) found -(25570) found -[12923] Forked 25571 -[12922] Forked 25572 -(25571) found -(25572) found -[12921] Forked 25573 -[12920] Forked 25574 -(25573) found -(25574) found -[12919] Forked 25575 -[12918] Forked 25576 -(25575) found -(25576) found -[12917] Forked 25577 -[12916] Forked 25578 -(25577) found -(25578) found -[12915] Forked 25579 -[12914] Forked 25580 -(25579) found -(25580) found -[12913] Forked 25581 -[12912] Forked 25582 -(25581) found -(25582) found -[12911] Forked 25583 -[12910] Forked 25584 -(25583) found -(25584) found -[12909] Forked 25585 -[12908] Forked 25586 -(25585) found -(25586) found -[12907] Forked 25587 -[12906] Forked 25588 -(25587) found -(25588) found -[12905] Forked 25589 -[12904] Forked 25590 -(25589) found -(25590) found -[12903] Forked 25591 -[12902] Forked 25592 -(25591) found -(25592) found -[12901] Forked 25593 -[12900] Forked 25595 -(25593) found -(25595) found -[12899] Forked 25596 -[12898] Forked 25597 -(25596) found -(25597) found -[12897] Forked 25598 -[12896] Forked 25599 -(25599) found -(25598) found -[12895] Forked 25600 -(25600) found -[12894] Forked 25601 -[12893] Forked 25602 -(25601) found -(25602) found -[12892] Forked 25603 -[12891] Forked 25604 -(25603) found -(25604) found -[12890] Forked 25605 -[12889] Forked 25606 -(25605) found -(25606) found -[12888] Forked 25607 -[12887] Forked 25608 -(25607) found -(25608) found -[12886] Forked 25609 -[12885] Forked 25610 -(25609) found -(25610) found -[12884] Forked 25611 -[12883] Forked 25612 -(25611) found -(25612) found -[12882] Forked 25613 -[12881] Forked 25614 -(25613) found -(25614) found -[12880] Forked 25615 -[12879] Forked 25616 -(25615) found -(25616) found -[12878] Forked 25617 -[12877] Forked 25618 -(25617) found -(25618) found -[12876] Forked 25619 -[12875] Forked 25620 -(25619) found -(25620) found -[12874] Forked 25621 -[12873] Forked 25622 -(25621) found -(25622) found -[12872] Forked 25623 -[12871] Forked 25624 -(25623) found -(25624) found -[12870] Forked 25625 -(25625) found -[12869] Forked 25626 -[12868] Forked 25627 -(25626) found -(25627) found -[12867] Forked 25628 -[12866] Forked 25629 -(25628) found -(25629) found -[12865] Forked 25630 -[12864] Forked 25631 -(25630) found -(25631) found -[12863] Forked 25632 -[12862] Forked 25633 -(25632) found -(25633) found -[12861] Forked 25634 -[12860] Forked 25635 -(25634) found -(25635) found -[12859] Forked 25636 -[12858] Forked 25637 -(25636) found -(25637) found -[12857] Forked 25638 -[12856] Forked 25639 -(25638) found -(25639) found -[12855] Forked 25640 -[12854] Forked 25641 -(25640) found -(25641) found -[12853] Forked 25642 -[12852] Forked 25643 -(25642) found -(25643) found -[12851] Forked 25644 -[12850] Forked 25645 -(25644) found -(25645) found -[12849] Forked 25646 -[12848] Forked 25647 -(25646) found -(25647) found -[12847] Forked 25648 -[12846] Forked 25649 -(25648) found -(25649) found -[12845] Forked 25650 -[12844] Forked 25651 -(25650) found -(25651) found -[12843] Forked 25652 -[12842] Forked 25653 -(25652) found -(25653) found -[12841] Forked 25654 -[12840] Forked 25655 -(25654) found -(25655) found -[12839] Forked 25656 -[12838] Forked 25657 -(25656) found -(25657) found -[12837] Forked 25658 -[12836] Forked 25659 -(25658) found -(25659) found -[12835] Forked 25660 -[12834] Forked 25661 -(25660) found -(25661) found -[12833] Forked 25662 -[12832] Forked 25663 -(25662) found -(25663) found -[12831] Forked 25664 -[12830] Forked 25665 -(25664) found -(25665) found -[12829] Forked 25666 -[12828] Forked 25667 -(25666) found -(25667) found -[12827] Forked 25668 -[12826] Forked 25669 -(25668) found -(25669) found -[12825] Forked 25670 -[12824] Forked 25671 -(25670) found -(25671) found -[12823] Forked 25672 -[12822] Forked 25673 -(25672) found -(25673) found -[12821] Forked 25674 -[12820] Forked 25675 -(25674) found -(25675) found -[12819] Forked 25676 -[12818] Forked 25677 -(25676) found -(25677) found -[12817] Forked 25678 -[12816] Forked 25679 -(25678) found -(25679) found -[12815] Forked 25680 -[12814] Forked 25681 -(25680) found -(25681) found -[12813] Forked 25682 -[12812] Forked 25683 -(25682) found -(25683) found -[12811] Forked 25684 -[12810] Forked 25685 -(25684) found -(25685) found -[12809] Forked 25686 -[12808] Forked 25687 -(25686) found -(25687) found -[12807] Forked 25688 -[12806] Forked 25689 -(25688) found -(25689) found -[12805] Forked 25690 -[12804] Forked 25691 -(25690) found -(25691) found -[12803] Forked 25692 -[12802] Forked 25693 -(25692) found -(25693) found -[12801] Forked 25694 -[12800] Forked 25695 -(25694) found -(25695) found -[12799] Forked 25696 -[12798] Forked 25697 -(25696) found -(25697) found -[12797] Forked 25698 -[12796] Forked 25699 -(25698) found -(25699) found -[12795] Forked 25700 -[12794] Forked 25701 -(25700) found -(25701) found -[12793] Forked 25702 -[12792] Forked 25703 -(25702) found -(25703) found -[12791] Forked 25704 -[12790] Forked 25705 -(25704) found -(25705) found -[12789] Forked 25706 -[12788] Forked 25707 -(25706) found -(25707) found -[12787] Forked 25708 -[12786] Forked 25709 -(25708) found -(25709) found -[12785] Forked 25710 -[12784] Forked 25711 -(25710) found -(25711) found -[12783] Forked 25712 -[12782] Forked 25713 -(25712) found -(25713) found -[12781] Forked 25714 -[12780] Forked 25715 -(25714) found -(25715) found -[12779] Forked 25716 -[12778] Forked 25717 -(25716) found -(25717) found -[12777] Forked 25718 -[12776] Forked 25719 -(25718) found -(25719) found -[12775] Forked 25720 -[12774] Forked 25721 -(25720) found -(25721) found -[12773] Forked 25722 -[12772] Forked 25723 -(25722) found -(25723) found -[12771] Forked 25724 -[12770] Forked 25725 -(25724) found -(25725) found -[12769] Forked 25726 -[12768] Forked 25727 -(25727) found -(25726) found -[12767] Forked 25728 -(25728) found -[12766] Forked 25729 -(25729) found -[12765] Forked 25730 -(25730) found -[12764] Forked 25731 -(25731) found -[12763] Forked 25732 -(25732) found -[12762] Forked 25733 -(25733) found -[12761] Forked 25734 -(25734) found -[12760] Forked 25735 -(25735) found -[12759] Forked 25736 -(25736) found -[12758] Forked 25737 -(25737) found -[12757] Forked 25738 -(25738) found -[12756] Forked 25739 -(25739) found -[12755] Forked 25740 -(25740) found -[12754] Forked 25741 -(25741) found -[12753] Forked 25742 -(25742) found -[12752] Forked 25743 -(25743) found -[12751] Forked 25744 -(25744) found -[12750] Forked 25745 -(25745) found -[12749] Forked 25746 -(25746) found -[12748] Forked 25747 -(25747) found -[12747] Forked 25748 -(25748) found -[12746] Forked 25749 -(25749) found -[12745] Forked 25750 -(25750) found -[12744] Forked 25751 -(25751) found -[12743] Forked 25752 -(25752) found -[12742] Forked 25753 -(25753) found -[12741] Forked 25754 -(25754) found -[12740] Forked 25755 -(25755) found -[12739] Forked 25756 -(25756) found -[12738] Forked 25757 -(25757) found -[12737] Forked 25758 -(25758) found -[12736] Forked 25759 -(25759) found -[12735] Forked 25760 -(25760) found -[12734] Forked 25761 -(25761) found -[12733] Forked 25762 -(25762) found -[12732] Forked 25763 -(25763) found -[12731] Forked 25764 -(25764) found -[12730] Forked 25765 -(25765) found -[12729] Forked 25766 -(25766) found -[12728] Forked 25767 -(25767) found -[12727] Forked 25768 -(25768) found -[12726] Forked 25769 -(25769) found -[12725] Forked 25770 -(25770) found -[12724] Forked 25771 -(25771) found -[12723] Forked 25772 -(25772) found -[12722] Forked 25774 -(25774) found -[12721] Forked 25775 -(25775) found -[12720] Forked 25776 -(25776) found -[12719] Forked 25777 -(25777) found -[12718] Forked 25778 -(25778) found -[12717] Forked 25779 -(25779) found -[12716] Forked 25780 -(25780) found -[12715] Forked 25781 -(25781) found -[12714] Forked 25782 -(25782) found -[12713] Forked 25783 -(25783) found -[12712] Forked 25784 -(25784) found -[12711] Forked 25785 -(25785) found -[12710] Forked 25786 -(25786) found -[12709] Forked 25787 -(25787) found -[12708] Forked 25788 -(25788) found -[12707] Forked 25789 -(25789) found -[12706] Forked 25790 -(25790) found -[12705] Forked 25791 -(25791) found -[12704] Forked 25792 -(25792) found -[12703] Forked 25793 -(25793) found -[12702] Forked 25794 -(25794) found -[12701] Forked 25795 -(25795) found -[12700] Forked 25796 -[12699] Forked 25797 -(25796) found -(25797) found -[12698] Forked 25798 -[12697] Forked 25799 -(25798) found -(25799) found -[12696] Forked 25800 -[12695] Forked 25801 -(25800) found -(25801) found -[12694] Forked 25802 -[12693] Forked 25803 -(25802) found -(25803) found -[12692] Forked 25804 -[12691] Forked 25805 -(25804) found -(25805) found -[12690] Forked 25806 -[12689] Forked 25807 -(25806) found -(25807) found -[12688] Forked 25808 -[12687] Forked 25809 -(25808) found -(25809) found -[12686] Forked 25810 -[12685] Forked 25811 -(25810) found -(25811) found -[12684] Forked 25812 -[12683] Forked 25813 -(25812) found -(25813) found -[12682] Forked 25814 -[12681] Forked 25815 -(25814) found -(25815) found -[12680] Forked 25816 -[12679] Forked 25817 -(25816) found -(25817) found -[12678] Forked 25818 -[12677] Forked 25819 -(25818) found -(25819) found -[12676] Forked 25820 -[12675] Forked 25821 -(25820) found -(25821) found -[12674] Forked 25822 -[12673] Forked 25823 -(25822) found -(25823) found -[12672] Forked 25824 -[12671] Forked 25825 -(25824) found -(25825) found -[12670] Forked 25826 -[12669] Forked 25827 -(25826) found -(25827) found -[12668] Forked 25828 -[12667] Forked 25829 -(25828) found -(25829) found -[12666] Forked 25830 -[12665] Forked 25831 -(25830) found -(25831) found -[12664] Forked 25832 -[12663] Forked 25833 -(25832) found -(25833) found -[12662] Forked 25834 -[12661] Forked 25835 -(25834) found -(25835) found -[12660] Forked 25836 -[12659] Forked 25837 -(25836) found -(25837) found -[12658] Forked 25838 -[12657] Forked 25839 -(25838) found -(25839) found -[12656] Forked 25840 -[12655] Forked 25841 -(25840) found -(25841) found -[12654] Forked 25842 -[12653] Forked 25843 -(25842) found -(25843) found -[12652] Forked 25844 -[12651] Forked 25845 -(25844) found -(25845) found -[12650] Forked 25846 -[12649] Forked 25847 -(25846) found -(25847) found -[12648] Forked 25848 -[12647] Forked 25849 -(25848) found -(25849) found -[12646] Forked 25850 -[12645] Forked 25851 -(25850) found -(25851) found -[12644] Forked 25852 -[12643] Forked 25853 -(25852) found -(25853) found -[12642] Forked 25854 -[12641] Forked 25855 -(25854) found -(25855) found -[12640] Forked 25856 -[12639] Forked 25857 -(25856) found -(25857) found -[12638] Forked 25858 -[12637] Forked 25859 -(25858) found -(25859) found -[12636] Forked 25860 -[12635] Forked 25861 -(25860) found -(25861) found -[12634] Forked 25862 -[12633] Forked 25863 -(25862) found -(25863) found -[12632] Forked 25864 -[12631] Forked 25865 -(25864) found -(25865) found -[12630] Forked 25866 -[12629] Forked 25867 -(25866) found -(25867) found -[12628] Forked 25868 -[12627] Forked 25869 -(25868) found -(25869) found -[12626] Forked 25870 -[12625] Forked 25871 -(25870) found -(25871) found -[12624] Forked 25872 -[12623] Forked 25873 -(25872) found -(25873) found -[12622] Forked 25874 -[12621] Forked 25875 -(25874) found -(25875) found -[12620] Forked 25876 -[12619] Forked 25877 -(25876) found -(25877) found -[12618] Forked 25878 -[12617] Forked 25879 -(25878) found -(25879) found -[12616] Forked 25880 -[12615] Forked 25881 -(25880) found -(25881) found -[12614] Forked 25882 -[12613] Forked 25883 -(25882) found -(25883) found -[12612] Forked 25884 -[12611] Forked 25885 -(25884) found -(25885) found -[12610] Forked 25886 -[12609] Forked 25887 -(25886) found -(25887) found -[12608] Forked 25888 -[12607] Forked 25889 -(25888) found -(25889) found -[12606] Forked 25890 -[12605] Forked 25891 -(25890) found -(25891) found -[12604] Forked 25892 -[12603] Forked 25893 -(25892) found -(25893) found -[12602] Forked 25894 -[12601] Forked 25895 -(25894) found -(25895) found -[12600] Forked 25896 -[12599] Forked 25897 -(25896) found -(25897) found -[12598] Forked 25898 -[12597] Forked 25899 -(25898) found -(25899) found -[12596] Forked 25900 -[12595] Forked 25901 -(25900) found -(25901) found -[12594] Forked 25902 -[12593] Forked 25903 -(25902) found -(25903) found -[12592] Forked 25904 -[12591] Forked 25905 -(25904) found -(25905) found -[12590] Forked 25906 -[12589] Forked 25907 -(25906) found -(25907) found -[12588] Forked 25908 -[12587] Forked 25909 -(25908) found -(25909) found -[12586] Forked 25910 -[12585] Forked 25911 -(25910) found -(25911) found -[12584] Forked 25912 -[12583] Forked 25913 -(25912) found -(25913) found -[12582] Forked 25914 -[12581] Forked 25915 -(25914) found -(25915) found -[12580] Forked 25916 -[12579] Forked 25917 -(25916) found -(25917) found -[12578] Forked 25918 -[12577] Forked 25919 -(25918) found -(25919) found -[12576] Forked 25920 -[12575] Forked 25921 -(25920) found -(25921) found -[12574] Forked 25922 -[12573] Forked 25923 -(25922) found -(25923) found -[12572] Forked 25924 -[12571] Forked 25925 -(25924) found -(25925) found -[12570] Forked 25926 -[12569] Forked 25927 -(25926) found -(25927) found -[12568] Forked 25928 -[12567] Forked 25929 -(25928) found -(25929) found -[12566] Forked 25930 -[12565] Forked 25931 -(25930) found -(25931) found -[12564] Forked 25932 -[12563] Forked 25933 -(25932) found -(25933) found -[12562] Forked 25934 -(25934) found -[12561] Forked 25935 -(25935) found -[12560] Forked 25936 -(25936) found -[12559] Forked 25937 -(25937) found -[12558] Forked 25938 -(25938) found -[12557] Forked 25939 -(25939) found -[12556] Forked 25940 -(25940) found -[12555] Forked 25941 -(25941) found -[12554] Forked 25942 -(25942) found -[12553] Forked 25943 -(25943) found -[12552] Forked 25944 -(25944) found -[12551] Forked 25945 -(25945) found -[12550] Forked 25946 -(25946) found -[12549] Forked 25947 -(25947) found -[12548] Forked 25948 -(25948) found -[12547] Forked 25949 -(25949) found -[12546] Forked 25950 -(25950) found -[12545] Forked 25951 -(25951) found -[12544] Forked 25952 -(25952) found -[12543] Forked 25953 -(25953) found -[12542] Forked 25954 -(25954) found -[12541] Forked 25955 -(25955) found -[12540] Forked 25956 -(25956) found -[12539] Forked 25957 -(25957) found -[12538] Forked 25958 -(25958) found -[12537] Forked 25959 -(25959) found -[12536] Forked 25960 -(25960) found -[12535] Forked 25961 -(25961) found -[12534] Forked 25962 -(25962) found -[12533] Forked 25963 -(25963) found -[12532] Forked 25964 -(25964) found -[12531] Forked 25965 -(25965) found -[12530] Forked 25966 -(25966) found -[12529] Forked 25967 -(25967) found -[12528] Forked 25968 -(25968) found -[12527] Forked 25969 -[12526] Forked 25970 -(25969) found -(25970) found -[12525] Forked 25971 -[12524] Forked 25972 -(25971) found -(25972) found -[12523] Forked 25973 -[12522] Forked 25974 -(25973) found -(25974) found -[12521] Forked 25975 -[12520] Forked 25976 -(25975) found -(25976) found -[12519] Forked 25977 -[12518] Forked 25978 -(25977) found -(25978) found -[12517] Forked 25979 -[12516] Forked 25980 -(25979) found -(25980) found -[12515] Forked 25981 -[12514] Forked 25982 -(25981) found -(25982) found -[12513] Forked 25983 -[12512] Forked 25984 -(25983) found -(25984) found -[12511] Forked 25985 -[12510] Forked 25986 -(25985) found -(25986) found -[12509] Forked 25987 -[12508] Forked 25988 -(25987) found -(25988) found -[12507] Forked 25989 -[12506] Forked 25990 -(25989) found -(25990) found -[12505] Forked 25991 -[12504] Forked 25992 -(25991) found -(25992) found -[12503] Forked 25993 -[12502] Forked 25994 -(25993) found -(25994) found -[12501] Forked 25995 -[12500] Forked 25996 -(25995) found -(25996) found -[12499] Forked 25997 -[12498] Forked 25998 -(25997) found -(25998) found -[12497] Forked 25999 -[12496] Forked 26000 -(25999) found -(26000) found -[12495] Forked 26001 -[12494] Forked 26002 -(26001) found -(26002) found -[12493] Forked 26003 -[12492] Forked 26004 -(26003) found -(26004) found -[12491] Forked 26005 -[12490] Forked 26006 -(26005) found -(26006) found -[12489] Forked 26007 -[12488] Forked 26008 -(26007) found -(26008) found -[12487] Forked 26009 -[12486] Forked 26010 -(26009) found -(26010) found -[12485] Forked 26011 -[12484] Forked 26012 -(26011) found -(26012) found -[12483] Forked 26013 -[12482] Forked 26014 -(26013) found -(26014) found -[12481] Forked 26015 -(26015) found -[12480] Forked 26016 -(26016) found -[12479] Forked 26017 -(26017) found -[12478] Forked 26018 -(26018) found -[12477] Forked 26019 -(26019) found -[12476] Forked 26020 -(26020) found -[12475] Forked 26021 -(26021) found -[12474] Forked 26022 -(26022) found -[12473] Forked 26023 -(26023) found -[12472] Forked 26024 -(26024) found -[12471] Forked 26025 -(26025) found -[12470] Forked 26026 -(26026) found -[12469] Forked 26027 -(26027) found -[12468] Forked 26028 -(26028) found -[12467] Forked 26029 -(26029) found -[12466] Forked 26030 -(26030) found -[12465] Forked 26031 -(26031) found -[12464] Forked 26032 -(26032) found -[12463] Forked 26033 -(26033) found -[12462] Forked 26034 -(26034) found -[12461] Forked 26035 -(26035) found -[12460] Forked 26036 -(26036) found -[12459] Forked 26037 -(26037) found -[12458] Forked 26038 -(26038) found -[12457] Forked 26039 -(26039) found -[12456] Forked 26040 -(26040) found -[12455] Forked 26041 -(26041) found -[12454] Forked 26042 -(26042) found -[12453] Forked 26043 -(26043) found -[12452] Forked 26044 -(26044) found -[12451] Forked 26045 -(26045) found -[12450] Forked 26046 -(26046) found -[12449] Forked 26047 -(26047) found -[12448] Forked 26048 -(26048) found -[12447] Forked 26049 -(26049) found -[12446] Forked 26050 -[12445] Forked 26051 -(26050) found -(26051) found -[12444] Forked 26052 -[12443] Forked 26053 -(26052) found -(26053) found -[12442] Forked 26054 -[12441] Forked 26055 -(26054) found -(26055) found -[12440] Forked 26056 -[12439] Forked 26057 -(26056) found -(26057) found -[12438] Forked 26058 -[12437] Forked 26059 -(26058) found -(26059) found -[12436] Forked 26060 -[12435] Forked 26061 -(26060) found -(26061) found -[12434] Forked 26062 -[12433] Forked 26063 -(26062) found -(26063) found -[12432] Forked 26064 -[12431] Forked 26065 -(26064) found -(26065) found -[12430] Forked 26066 -[12429] Forked 26067 -(26066) found -(26067) found -[12428] Forked 26068 -[12427] Forked 26069 -(26068) found -(26069) found -[12426] Forked 26070 -[12425] Forked 26071 -(26070) found -(26071) found -[12424] Forked 26072 -[12423] Forked 26073 -(26072) found -(26073) found -[12422] Forked 26074 -[12421] Forked 26075 -(26074) found -(26075) found -[12420] Forked 26076 -[12419] Forked 26077 -(26076) found -(26077) found -[12418] Forked 26078 -[12417] Forked 26079 -(26078) found -(26079) found -[12416] Forked 26080 -[12415] Forked 26081 -(26080) found -(26081) found -[12414] Forked 26082 -[12413] Forked 26083 -(26082) found -(26083) found -[12412] Forked 26084 -[12411] Forked 26085 -(26084) found -(26085) found -[12410] Forked 26086 -[12409] Forked 26087 -(26086) found -(26087) found -[12408] Forked 26088 -[12407] Forked 26089 -(26088) found -(26089) found -[12406] Forked 26090 -[12405] Forked 26091 -(26090) found -(26091) found -[12404] Forked 26092 -[12403] Forked 26093 -(26092) found -(26093) found -[12402] Forked 26094 -[12401] Forked 26095 -(26094) found -(26095) found -[12400] Forked 26096 -[12399] Forked 26097 -(26096) found -(26097) found -[12398] Forked 26098 -[12397] Forked 26099 -(26098) found -(26099) found -[12396] Forked 26100 -[12395] Forked 26101 -(26100) found -(26101) found -[12394] Forked 26102 -[12393] Forked 26103 -(26102) found -(26103) found -[12392] Forked 26104 -[12391] Forked 26105 -(26104) found -(26105) found -[12390] Forked 26106 -[12389] Forked 26107 -(26106) found -(26107) found -[12388] Forked 26108 -[12387] Forked 26109 -(26108) found -(26109) found -[12386] Forked 26110 -[12385] Forked 26111 -(26110) found -(26111) found -[12384] Forked 26112 -[12383] Forked 26113 -(26112) found -(26113) found -[12382] Forked 26114 -[12381] Forked 26115 -(26114) found -(26115) found -[12380] Forked 26116 -[12379] Forked 26117 -(26116) found -(26117) found -[12378] Forked 26118 -[12377] Forked 26119 -(26118) found -(26119) found -[12376] Forked 26120 -[12375] Forked 26121 -(26120) found -(26121) found -[12374] Forked 26122 -[12373] Forked 26123 -(26122) found -(26123) found -[12372] Forked 26124 -[12371] Forked 26125 -(26124) found -(26125) found -[12370] Forked 26126 -[12369] Forked 26127 -(26126) found -(26127) found -[12368] Forked 26128 -[12367] Forked 26129 -(26128) found -(26129) found -[12366] Forked 26130 -[12365] Forked 26131 -(26130) found -(26131) found -[12364] Forked 26132 -[12363] Forked 26133 -(26132) found -(26133) found -[12362] Forked 26134 -[12361] Forked 26135 -(26134) found -(26135) found -[12360] Forked 26136 -[12359] Forked 26137 -(26136) found -(26137) found -[12358] Forked 26138 -[12357] Forked 26139 -(26138) found -(26139) found -[12356] Forked 26140 -[12355] Forked 26141 -(26140) found -(26141) found -[12354] Forked 26142 -[12353] Forked 26143 -(26142) found -(26143) found -[12352] Forked 26144 -[12351] Forked 26145 -(26144) found -(26145) found -[12350] Forked 26146 -[12349] Forked 26147 -(26146) found -(26147) found -[12348] Forked 26148 -[12347] Forked 26149 -(26148) found -(26149) found -[12346] Forked 26150 -[12345] Forked 26151 -(26150) found -(26151) found -[12344] Forked 26152 -[12343] Forked 26153 -(26152) found -(26153) found -[12342] Forked 26154 -[12341] Forked 26155 -(26154) found -(26155) found -[12340] Forked 26156 -[12339] Forked 26157 -(26156) found -(26157) found -[12338] Forked 26158 -[12337] Forked 26159 -(26158) found -(26159) found -[12336] Forked 26160 -[12335] Forked 26161 -(26160) found -(26161) found -[12334] Forked 26162 -[12333] Forked 26163 -(26162) found -(26163) found -[12332] Forked 26164 -[12331] Forked 26165 -(26164) found -(26165) found -[12330] Forked 26166 -[12329] Forked 26167 -(26166) found -(26167) found -[12328] Forked 26168 -[12327] Forked 26169 -(26168) found -(26169) found -[12326] Forked 26170 -[12325] Forked 26171 -(26170) found -(26171) found -[12324] Forked 26172 -[12323] Forked 26173 -(26172) found -(26173) found -[12322] Forked 26174 -[12321] Forked 26175 -(26174) found -(26175) found -[12320] Forked 26176 -[12319] Forked 26177 -(26176) found -(26177) found -[12318] Forked 26178 -[12317] Forked 26179 -(26178) found -(26179) found -[12316] Forked 26180 -[12315] Forked 26181 -(26180) found -(26181) found -[12314] Forked 26182 -(26182) found -[12313] Forked 26183 -[12312] Forked 26184 -(26183) found -(26184) found -[12311] Forked 26185 -[12310] Forked 26186 -(26185) found -(26186) found -[12309] Forked 26187 -[12308] Forked 26188 -(26187) found -(26188) found -[12307] Forked 26189 -[12306] Forked 26190 -(26189) found -(26190) found -[12305] Forked 26191 -[12304] Forked 26192 -(26191) found -(26192) found -[12303] Forked 26193 -[12302] Forked 26194 -(26193) found -(26194) found -[12301] Forked 26195 -[12300] Forked 26196 -(26195) found -(26196) found -[12299] Forked 26197 -[12298] Forked 26198 -(26197) found -(26198) found -[12297] Forked 26199 -[12296] Forked 26200 -(26199) found -(26200) found -[12295] Forked 26201 -[12294] Forked 26202 -(26201) found -(26202) found -[12293] Forked 26203 -[12292] Forked 26204 -(26203) found -(26204) found -[12291] Forked 26205 -[12290] Forked 26206 -(26205) found -(26206) found -[12289] Forked 26207 -[12288] Forked 26208 -(26207) found -(26208) found -[12287] Forked 26209 -[12286] Forked 26210 -(26209) found -(26210) found -[12285] Forked 26211 -[12284] Forked 26212 -(26211) found -(26212) found -[12283] Forked 26213 -[12282] Forked 26214 -(26213) found -(26214) found -[12281] Forked 26215 -[12280] Forked 26216 -(26215) found -(26216) found -[12279] Forked 26217 -[12278] Forked 26218 -(26217) found -(26218) found -[12277] Forked 26219 -[12276] Forked 26220 -(26219) found -(26220) found -[12275] Forked 26221 -[12274] Forked 26222 -(26221) found -(26222) found -[12273] Forked 26223 -[12272] Forked 26224 -(26223) found -(26224) found -[12271] Forked 26225 -[12270] Forked 26226 -(26225) found -(26226) found -[12269] Forked 26227 -[12268] Forked 26228 -(26227) found -(26228) found -[12267] Forked 26229 -[12266] Forked 26230 -(26229) found -(26230) found -[12265] Forked 26231 -[12264] Forked 26232 -(26231) found -(26232) found -[12263] Forked 26233 -[12262] Forked 26234 -(26233) found -(26234) found -[12261] Forked 26235 -[12260] Forked 26236 -(26235) found -(26236) found -[12259] Forked 26237 -[12258] Forked 26238 -(26237) found -(26238) found -[12257] Forked 26239 -[12256] Forked 26240 -(26239) found -(26240) found -[12255] Forked 26241 -[12254] Forked 26242 -(26241) found -(26242) found -[12253] Forked 26243 -[12252] Forked 26244 -(26243) found -(26244) found -[12251] Forked 26245 -[12250] Forked 26246 -(26245) found -(26246) found -[12249] Forked 26247 -[12248] Forked 26248 -(26247) found -(26248) found -[12247] Forked 26249 -[12246] Forked 26250 -(26249) found -(26250) found -[12245] Forked 26251 -[12244] Forked 26252 -(26251) found -(26252) found -[12243] Forked 26253 -[12242] Forked 26254 -(26253) found -(26254) found -[12241] Forked 26255 -[12240] Forked 26256 -(26255) found -(26256) found -[12239] Forked 26257 -[12238] Forked 26258 -(26257) found -(26258) found -[12237] Forked 26259 -[12236] Forked 26260 -(26259) found -(26260) found -[12235] Forked 26261 -[12234] Forked 26262 -(26261) found -(26262) found -[12233] Forked 26263 -[12232] Forked 26264 -(26263) found -(26264) found -[12231] Forked 26265 -[12230] Forked 26266 -(26265) found -(26266) found -[12229] Forked 26267 -[12228] Forked 26268 -(26267) found -(26268) found -[12227] Forked 26269 -[12226] Forked 26270 -(26269) found -(26270) found -[12225] Forked 26271 -[12224] Forked 26272 -(26271) found -(26272) found -[12223] Forked 26273 -[12222] Forked 26274 -(26273) found -(26274) found -[12221] Forked 26275 -[12220] Forked 26276 -(26275) found -(26276) found -[12219] Forked 26277 -[12218] Forked 26278 -(26277) found -(26278) found -[12217] Forked 26279 -[12216] Forked 26280 -(26279) found -(26280) found -[12215] Forked 26281 -[12214] Forked 26282 -(26281) found -(26282) found -[12213] Forked 26283 -[12212] Forked 26284 -(26283) found -(26284) found -[12211] Forked 26285 -[12210] Forked 26286 -(26285) found -(26286) found -[12209] Forked 26287 -[12208] Forked 26288 -(26287) found -(26288) found -[12207] Forked 26289 -[12206] Forked 26290 -(26289) found -(26290) found -[12205] Forked 26291 -[12204] Forked 26292 -(26291) found -(26292) found -[12203] Forked 26293 -[12202] Forked 26294 -(26293) found -(26294) found -[12201] Forked 26295 -[12200] Forked 26296 -(26295) found -(26296) found -[12199] Forked 26297 -[12198] Forked 26298 -(26297) found -(26298) found -[12197] Forked 26299 -[12196] Forked 26300 -(26299) found -(26300) found -[12195] Forked 26301 -[12194] Forked 26302 -(26301) found -(26302) found -[12193] Forked 26303 -[12192] Forked 26304 -(26303) found -(26304) found -[12191] Forked 26305 -[12190] Forked 26306 -(26305) found -(26306) found -[12189] Forked 26307 -[12188] Forked 26308 -(26307) found -(26308) found -[12187] Forked 26309 -[12186] Forked 26310 -(26309) found -(26310) found -[12185] Forked 26311 -[12184] Forked 26312 -(26311) found -(26312) found -[12183] Forked 26313 -[12182] Forked 26314 -(26313) found -(26314) found -[12181] Forked 26315 -[12180] Forked 26316 -(26315) found -(26316) found -[12179] Forked 26317 -[12178] Forked 26318 -(26317) found -(26318) found -[12177] Forked 26319 -[12176] Forked 26320 -(26319) found -(26320) found -[12175] Forked 26321 -[12174] Forked 26322 -(26321) found -(26322) found -[12173] Forked 26323 -[12172] Forked 26324 -(26323) found -(26324) found -[12171] Forked 26325 -[12170] Forked 26326 -(26325) found -(26326) found -[12169] Forked 26327 -[12168] Forked 26328 -(26327) found -(26328) found -[12167] Forked 26329 -[12166] Forked 26330 -(26329) found -(26330) found -[12165] Forked 26331 -[12164] Forked 26332 -(26331) found -(26332) found -[12163] Forked 26333 -[12162] Forked 26334 -(26333) found -(26334) found -[12161] Forked 26335 -[12160] Forked 26336 -(26335) found -(26336) found -[12159] Forked 26337 -[12158] Forked 26338 -(26337) found -(26338) found -[12157] Forked 26339 -[12156] Forked 26340 -(26339) found -(26340) found -[12155] Forked 26341 -[12154] Forked 26342 -(26341) found -(26342) found -[12153] Forked 26343 -[12152] Forked 26344 -(26343) found -(26344) found -[12151] Forked 26345 -[12150] Forked 26346 -(26345) found -(26346) found -[12149] Forked 26347 -[12148] Forked 26348 -(26347) found -(26348) found -[12147] Forked 26349 -[12146] Forked 26350 -(26349) found -(26350) found -[12145] Forked 26351 -[12144] Forked 26352 -(26351) found -(26352) found -[12143] Forked 26353 -[12142] Forked 26354 -(26353) found -(26354) found -[12141] Forked 26355 -[12140] Forked 26356 -(26355) found -(26356) found -[12139] Forked 26357 -[12138] Forked 26358 -(26357) found -(26358) found -[12137] Forked 26359 -[12136] Forked 26360 -(26359) found -(26360) found -[12135] Forked 26361 -[12134] Forked 26362 -(26361) found -(26362) found -[12133] Forked 26363 -[12132] Forked 26364 -(26363) found -(26364) found -[12131] Forked 26365 -[12130] Forked 26366 -(26365) found -(26366) found -[12129] Forked 26367 -(26367) found -[12128] Forked 26368 -(26368) found -[12127] Forked 26369 -(26369) found -[12126] Forked 26370 -(26370) found -[12125] Forked 26371 -(26371) found -[12124] Forked 26372 -(26372) found -[12123] Forked 26373 -(26373) found -[12122] Forked 26374 -(26374) found -[12121] Forked 26375 -(26375) found -[12120] Forked 26376 -(26376) found -[12119] Forked 26377 -(26377) found -[12118] Forked 26378 -(26378) found -[12117] Forked 26379 -(26379) found -[12116] Forked 26380 -(26380) found -[12115] Forked 26381 -(26381) found -[12114] Forked 26382 -(26382) found -[12113] Forked 26383 -(26383) found -[12112] Forked 26384 -(26384) found -[12111] Forked 26385 -(26385) found -[12110] Forked 26386 -(26386) found -[12109] Forked 26387 -(26387) found -[12108] Forked 26388 -(26388) found -[12107] Forked 26389 -(26389) found -[12106] Forked 26390 -(26390) found -[12105] Forked 26391 -(26391) found -[12104] Forked 26392 -(26392) found -[12103] Forked 26393 -(26393) found -[12102] Forked 26394 -(26394) found -[12101] Forked 26395 -(26395) found -[12100] Forked 26396 -(26396) found -[12099] Forked 26397 -(26397) found -[12098] Forked 26398 -(26398) found -[12097] Forked 26399 -(26399) found -[12096] Forked 26400 -(26400) found -[12095] Forked 26401 -[12094] Forked 26402 -(26401) found -(26402) found -[12093] Forked 26403 -[12092] Forked 26404 -(26403) found -(26404) found -[12091] Forked 26405 -[12090] Forked 26406 -(26405) found -(26406) found -[12089] Forked 26407 -[12088] Forked 26408 -(26407) found -(26408) found -[12087] Forked 26409 -[12086] Forked 26410 -(26409) found -(26410) found -[12085] Forked 26411 -[12084] Forked 26412 -(26411) found -(26412) found -[12083] Forked 26413 -[12082] Forked 26414 -(26413) found -(26414) found -[12081] Forked 26415 -[12080] Forked 26416 -(26415) found -(26416) found -[12079] Forked 26417 -[12078] Forked 26418 -(26417) found -(26418) found -[12077] Forked 26419 -[12076] Forked 26420 -(26419) found -(26420) found -[12075] Forked 26421 -[12074] Forked 26422 -(26421) found -(26422) found -[12073] Forked 26423 -[12072] Forked 26424 -(26423) found -(26424) found -[12071] Forked 26425 -[12070] Forked 26426 -(26425) found -(26426) found -[12069] Forked 26427 -[12068] Forked 26428 -(26427) found -(26428) found -[12067] Forked 26429 -[12066] Forked 26430 -(26429) found -(26430) found -[12065] Forked 26431 -[12064] Forked 26432 -(26431) found -(26432) found -[12063] Forked 26433 -[12062] Forked 26434 -(26433) found -(26434) found -[12061] Forked 26435 -[12060] Forked 26436 -(26435) found -(26436) found -[12059] Forked 26437 -[12058] Forked 26438 -(26437) found -(26438) found -[12057] Forked 26439 -[12056] Forked 26440 -(26439) found -(26440) found -[12055] Forked 26441 -[12054] Forked 26442 -(26441) found -(26442) found -[12053] Forked 26443 -[12052] Forked 26444 -(26443) found -(26444) found -[12051] Forked 26445 -[12050] Forked 26446 -(26445) found -(26446) found -[12049] Forked 26447 -[12048] Forked 26448 -(26447) found -(26448) found -[12047] Forked 26449 -[12046] Forked 26450 -(26449) found -(26450) found -[12045] Forked 26451 -[12044] Forked 26452 -(26451) found -(26452) found -[12043] Forked 26453 -[12042] Forked 26454 -(26453) found -(26454) found -[12041] Forked 26455 -[12040] Forked 26456 -(26455) found -(26456) found -[12039] Forked 26457 -[12038] Forked 26458 -(26457) found -(26458) found -[12037] Forked 26459 -[12036] Forked 26460 -(26459) found -(26460) found -[12035] Forked 26461 -[12034] Forked 26462 -(26461) found -(26462) found -[12033] Forked 26463 -[12032] Forked 26464 -(26463) found -(26464) found -[12031] Forked 26465 -[12030] Forked 26466 -(26465) found -(26466) found -[12029] Forked 26467 -[12028] Forked 26468 -(26467) found -(26468) found -[12027] Forked 26469 -[12026] Forked 26470 -(26469) found -(26470) found -[12025] Forked 26471 -[12024] Forked 26472 -(26471) found -(26472) found -[12023] Forked 26473 -[12022] Forked 26474 -(26473) found -(26474) found -[12021] Forked 26475 -[12020] Forked 26476 -(26475) found -(26476) found -[12019] Forked 26477 -[12018] Forked 26478 -(26477) found -(26478) found -[12017] Forked 26479 -[12016] Forked 26480 -(26479) found -(26480) found -[12015] Forked 26481 -[12014] Forked 26482 -(26481) found -(26482) found -[12013] Forked 26483 -[12012] Forked 26484 -(26483) found -(26484) found -[12011] Forked 26485 -[12010] Forked 26486 -(26485) found -(26486) found -[12009] Forked 26487 -[12008] Forked 26488 -(26487) found -(26488) found -[12007] Forked 26489 -[12006] Forked 26490 -(26489) found -(26490) found -[12005] Forked 26491 -[12004] Forked 26492 -(26491) found -(26492) found -[12003] Forked 26493 -[12002] Forked 26494 -(26493) found -(26494) found -[12001] Forked 26495 -[12000] Forked 26496 -(26495) found -(26496) found -[11999] Forked 26497 -[11998] Forked 26498 -(26497) found -(26498) found -[11997] Forked 26499 -[11996] Forked 26500 -(26499) found -(26500) found -[11995] Forked 26501 -[11994] Forked 26502 -(26501) found -(26502) found -[11993] Forked 26503 -[11992] Forked 26504 -(26503) found -(26504) found -[11991] Forked 26505 -[11990] Forked 26506 -(26505) found -(26506) found -[11989] Forked 26507 -[11988] Forked 26508 -(26507) found -(26508) found -[11987] Forked 26509 -[11986] Forked 26510 -(26509) found -(26510) found -[11985] Forked 26511 -[11984] Forked 26512 -(26511) found -(26512) found -[11983] Forked 26513 -[11982] Forked 26514 -(26513) found -(26514) found -[11981] Forked 26515 -[11980] Forked 26516 -(26515) found -(26516) found -[11979] Forked 26517 -[11978] Forked 26518 -(26517) found -(26518) found -[11977] Forked 26519 -[11976] Forked 26520 -(26519) found -(26520) found -[11975] Forked 26521 -[11974] Forked 26522 -(26521) found -(26522) found -[11973] Forked 26523 -[11972] Forked 26524 -(26523) found -(26524) found -[11971] Forked 26525 -[11970] Forked 26526 -(26525) found -(26526) found -[11969] Forked 26527 -[11968] Forked 26528 -(26527) found -(26528) found -[11967] Forked 26529 -[11966] Forked 26530 -(26529) found -(26530) found -[11965] Forked 26531 -[11964] Forked 26532 -(26531) found -(26532) found -[11963] Forked 26533 -[11962] Forked 26534 -(26533) found -(26534) found -[11961] Forked 26535 -[11960] Forked 26536 -(26535) found -(26536) found -[11959] Forked 26537 -(26537) found -[11958] Forked 26538 -(26538) found -[11957] Forked 26539 -(26539) found -[11956] Forked 26540 -(26540) found -[11955] Forked 26541 -(26541) found -[11954] Forked 26542 -(26542) found -[11953] Forked 26543 -(26543) found -[11952] Forked 26544 -(26544) found -[11951] Forked 26545 -(26545) found -[11950] Forked 26546 -(26546) found -[11949] Forked 26547 -(26547) found -[11948] Forked 26548 -(26548) found -[11947] Forked 26549 -(26549) found -[11946] Forked 26550 -(26550) found -[11945] Forked 26551 -(26551) found -[11944] Forked 26552 -(26552) found -[11943] Forked 26553 -(26553) found -[11942] Forked 26554 -(26554) found -[11941] Forked 26555 -(26555) found -[11940] Forked 26556 -(26556) found -[11939] Forked 26557 -(26557) found -[11938] Forked 26558 -(26558) found -[11937] Forked 26559 -(26559) found -[11936] Forked 26560 -(26560) found -[11935] Forked 26561 -(26561) found -[11934] Forked 26562 -(26562) found -[11933] Forked 26563 -(26563) found -[11932] Forked 26564 -(26564) found -[11931] Forked 26565 -(26565) found -[11930] Forked 26566 -(26566) found -[11929] Forked 26567 -(26567) found -[11928] Forked 26568 -(26568) found -[11927] Forked 26569 -(26569) found -[11926] Forked 26570 -(26570) found -[11925] Forked 26571 -(26571) found -[11924] Forked 26572 -(26572) found -[11923] Forked 26573 -(26573) found -[11922] Forked 26574 -(26574) found -[11921] Forked 26575 -(26575) found -[11920] Forked 26576 -(26576) found -[11919] Forked 26577 -(26577) found -[11918] Forked 26578 -(26578) found -[11917] Forked 26579 -(26579) found -[11916] Forked 26580 -(26580) found -[11915] Forked 26581 -(26581) found -[11914] Forked 26582 -(26582) found -[11913] Forked 26583 -(26583) found -[11912] Forked 26584 -(26584) found -[11911] Forked 26585 -(26585) found -[11910] Forked 26586 -(26586) found -[11909] Forked 26587 -(26587) found -[11908] Forked 26588 -(26588) found -[11907] Forked 26589 -(26589) found -[11906] Forked 26590 -(26590) found -[11905] Forked 26591 -(26591) found -[11904] Forked 26592 -(26592) found -[11903] Forked 26593 -(26593) found -[11902] Forked 26594 -(26594) found -[11901] Forked 26595 -(26595) found -[11900] Forked 26596 -(26596) found -[11899] Forked 26597 -(26597) found -[11898] Forked 26598 -(26598) found -[11897] Forked 26599 -(26599) found -[11896] Forked 26600 -(26600) found -[11895] Forked 26601 -(26601) found -[11894] Forked 26602 -(26602) found -[11893] Forked 26603 -(26603) found -[11892] Forked 26604 -(26604) found -[11891] Forked 26605 -(26605) found -[11890] Forked 26606 -(26606) found -[11889] Forked 26607 -(26607) found -[11888] Forked 26608 -(26608) found -[11887] Forked 26609 -[11886] Forked 26610 -(26609) found -(26610) found -[11885] Forked 26611 -[11884] Forked 26612 -(26611) found -(26612) found -[11883] Forked 26613 -[11882] Forked 26614 -(26613) found -(26614) found -[11881] Forked 26615 -[11880] Forked 26616 -(26615) found -(26616) found -[11879] Forked 26617 -[11878] Forked 26618 -(26617) found -(26618) found -[11877] Forked 26619 -[11876] Forked 26620 -(26619) found -(26620) found -[11875] Forked 26621 -[11874] Forked 26622 -(26621) found -(26622) found -[11873] Forked 26623 -[11872] Forked 26624 -(26623) found -(26624) found -[11871] Forked 26625 -[11870] Forked 26626 -(26625) found -(26626) found -[11869] Forked 26627 -[11868] Forked 26628 -(26627) found -(26628) found -[11867] Forked 26629 -[11866] Forked 26630 -(26629) found -(26630) found -[11865] Forked 26631 -[11864] Forked 26632 -(26631) found -(26632) found -[11863] Forked 26633 -[11862] Forked 26634 -(26633) found -(26634) found -[11861] Forked 26635 -[11860] Forked 26636 -(26635) found -(26636) found -[11859] Forked 26637 -[11858] Forked 26638 -(26637) found -(26638) found -[11857] Forked 26639 -[11856] Forked 26640 -(26639) found -(26640) found -[11855] Forked 26641 -[11854] Forked 26642 -(26641) found -(26642) found -[11853] Forked 26643 -[11852] Forked 26644 -(26643) found -(26644) found -[11851] Forked 26645 -[11850] Forked 26646 -(26645) found -(26646) found -[11849] Forked 26647 -[11848] Forked 26648 -(26647) found -(26648) found -[11847] Forked 26649 -[11846] Forked 26650 -(26649) found -(26650) found -[11845] Forked 26651 -[11844] Forked 26652 -(26651) found -(26652) found -[11843] Forked 26653 -(26653) found -[11842] Forked 26654 -(26654) found -[11841] Forked 26655 -(26655) found -[11840] Forked 26656 -(26656) found -[11839] Forked 26657 -(26657) found -[11838] Forked 26658 -(26658) found -[11837] Forked 26659 -(26659) found -[11836] Forked 26660 -(26660) found -[11835] Forked 26661 -(26661) found -[11834] Forked 26662 -(26662) found -[11833] Forked 26663 -(26663) found -[11832] Forked 26664 -(26664) found -[11831] Forked 26665 -(26665) found -[11830] Forked 26666 -(26666) found -[11829] Forked 26667 -(26667) found -[11828] Forked 26668 -(26668) found -[11827] Forked 26669 -(26669) found -[11826] Forked 26670 -(26670) found -[11825] Forked 26671 -(26671) found -[11824] Forked 26672 -(26672) found -[11823] Forked 26673 -(26673) found -[11822] Forked 26674 -(26674) found -[11821] Forked 26675 -(26675) found -[11820] Forked 26676 -(26676) found -[11819] Forked 26677 -(26677) found -[11818] Forked 26678 -(26678) found -[11817] Forked 26679 -(26679) found -[11816] Forked 26680 -(26680) found -[11815] Forked 26681 -(26681) found -[11814] Forked 26682 -(26682) found -[11813] Forked 26683 -(26683) found -[11812] Forked 26684 -(26684) found -[11811] Forked 26685 -(26685) found -[11810] Forked 26686 -(26686) found -[11809] Forked 26687 -(26687) found -[11808] Forked 26688 -(26688) found -[11807] Forked 26689 -[11806] Forked 26690 -(26689) found -(26690) found -[11805] Forked 26691 -[11804] Forked 26692 -(26691) found -(26692) found -[11803] Forked 26693 -[11802] Forked 26694 -(26693) found -(26694) found -[11801] Forked 26695 -[11800] Forked 26696 -(26695) found -(26696) found -[11799] Forked 26697 -[11798] Forked 26698 -(26697) found -(26698) found -[11797] Forked 26699 -[11796] Forked 26700 -(26699) found -(26700) found -[11795] Forked 26701 -[11794] Forked 26702 -(26701) found -(26702) found -[11793] Forked 26703 -[11792] Forked 26704 -(26703) found -(26704) found -[11791] Forked 26705 -[11790] Forked 26706 -(26705) found -(26706) found -[11789] Forked 26707 -[11788] Forked 26708 -(26707) found -(26708) found -[11787] Forked 26709 -[11786] Forked 26710 -(26709) found -(26710) found -[11785] Forked 26711 -[11784] Forked 26712 -(26711) found -(26712) found -[11783] Forked 26713 -[11782] Forked 26714 -(26713) found -(26714) found -[11781] Forked 26715 -[11780] Forked 26716 -(26715) found -(26716) found -[11779] Forked 26717 -[11778] Forked 26718 -(26717) found -(26718) found -[11777] Forked 26719 -[11776] Forked 26720 -(26719) found -(26720) found -[11775] Forked 26721 -[11774] Forked 26722 -(26721) found -(26722) found -[11773] Forked 26723 -[11772] Forked 26724 -(26723) found -(26724) found -[11771] Forked 26725 -[11770] Forked 26726 -(26725) found -(26726) found -[11769] Forked 26727 -[11768] Forked 26728 -(26727) found -(26728) found -[11767] Forked 26729 -[11766] Forked 26730 -(26729) found -(26730) found -[11765] Forked 26731 -[11764] Forked 26732 -(26731) found -(26732) found -[11763] Forked 26733 -(26733) found -[11762] Forked 26734 -(26734) found -[11761] Forked 26735 -(26735) found -[11760] Forked 26736 -(26736) found -[11759] Forked 26737 -(26737) found -[11758] Forked 26738 -(26738) found -[11757] Forked 26739 -(26739) found -[11756] Forked 26740 -(26740) found -[11755] Forked 26741 -(26741) found -[11754] Forked 26742 -(26742) found -[11753] Forked 26743 -(26743) found -[11752] Forked 26744 -(26744) found -[11751] Forked 26745 -(26745) found -[11750] Forked 26746 -(26746) found -[11749] Forked 26747 -(26747) found -[11748] Forked 26748 -(26748) found -[11747] Forked 26749 -(26749) found -[11746] Forked 26750 -(26750) found -[11745] Forked 26751 -(26751) found -[11744] Forked 26752 -(26752) found -[11743] Forked 26753 -(26753) found -[11742] Forked 26754 -(26754) found -[11741] Forked 26755 -(26755) found -[11740] Forked 26756 -(26756) found -[11739] Forked 26757 -(26757) found -[11738] Forked 26758 -(26758) found -[11737] Forked 26759 -(26759) found -[11736] Forked 26760 -(26760) found -[11735] Forked 26761 -(26761) found -[11734] Forked 26762 -(26762) found -[11733] Forked 26763 -(26763) found -[11732] Forked 26764 -(26764) found -[11731] Forked 26765 -(26765) found -[11730] Forked 26766 -(26766) found -[11729] Forked 26767 -(26767) found -[11728] Forked 26768 -(26768) found -[11727] Forked 26769 -[11726] Forked 26770 -(26769) found -(26770) found -[11725] Forked 26771 -[11724] Forked 26772 -(26771) found -(26772) found -[11723] Forked 26773 -(26773) found -[11722] Forked 26774 -[11721] Forked 26775 -(26774) found -(26775) found -[11720] Forked 26776 -[11719] Forked 26777 -(26776) found -(26777) found -[11718] Forked 26778 -[11717] Forked 26779 -(26778) found -(26779) found -[11716] Forked 26780 -[11715] Forked 26781 -(26780) found -(26781) found -[11714] Forked 26782 -[11713] Forked 26783 -(26782) found -(26783) found -[11712] Forked 26784 -[11711] Forked 26785 -(26784) found -(26785) found -[11710] Forked 26786 -[11709] Forked 26787 -(26786) found -(26787) found -[11708] Forked 26788 -[11707] Forked 26789 -(26788) found -(26789) found -[11706] Forked 26790 -[11705] Forked 26791 -(26790) found -(26791) found -[11704] Forked 26792 -[11703] Forked 26793 -(26792) found -(26793) found -[11702] Forked 26794 -[11701] Forked 26795 -(26794) found -(26795) found -[11700] Forked 26796 -[11699] Forked 26797 -(26796) found -(26797) found -[11698] Forked 26798 -[11697] Forked 26799 -(26798) found -(26799) found -[11696] Forked 26800 -[11695] Forked 26801 -(26800) found -(26801) found -[11694] Forked 26802 -[11693] Forked 26803 -(26802) found -(26803) found -[11692] Forked 26804 -[11691] Forked 26805 -(26804) found -(26805) found -[11690] Forked 26806 -[11689] Forked 26807 -(26806) found -(26807) found -[11688] Forked 26808 -[11687] Forked 26809 -(26808) found -(26809) found -[11686] Forked 26810 -[11685] Forked 26811 -(26810) found -(26811) found -[11684] Forked 26812 -(26812) found -[11683] Forked 26813 -(26813) found -[11682] Forked 26814 -(26814) found -[11681] Forked 26815 -(26815) found -[11680] Forked 26816 -(26816) found -[11679] Forked 26817 -(26817) found -[11678] Forked 26818 -(26818) found -[11677] Forked 26819 -(26819) found -[11676] Forked 26820 -(26820) found -[11675] Forked 26822 -(26822) found -[11674] Forked 26823 -(26823) found -[11673] Forked 26824 -(26824) found -[11672] Forked 26825 -(26825) found -[11671] Forked 26826 -(26826) found -[11670] Forked 26827 -(26827) found -[11669] Forked 26828 -(26828) found -[11668] Forked 26829 -(26829) found -[11667] Forked 26830 -(26830) found -[11666] Forked 26831 -(26831) found -[11665] Forked 26832 -(26832) found -[11664] Forked 26833 -(26833) found -[11663] Forked 26834 -(26834) found -[11662] Forked 26835 -(26835) found -[11661] Forked 26836 -(26836) found -[11660] Forked 26837 -(26837) found -[11659] Forked 26838 -(26838) found -[11658] Forked 26839 -(26839) found -[11657] Forked 26840 -(26840) found -[11656] Forked 26841 -(26841) found -[11655] Forked 26842 -(26842) found -[11654] Forked 26843 -(26843) found -[11653] Forked 26844 -(26844) found -[11652] Forked 26845 -(26845) found -[11651] Forked 26846 -(26846) found -[11650] Forked 26847 -(26847) found -[11649] Forked 26848 -(26848) found -[11648] Forked 26849 -[11647] Forked 26850 -(26849) found -(26850) found -[11646] Forked 26851 -[11645] Forked 26852 -(26851) found -(26852) found -[11644] Forked 26853 -[11643] Forked 26854 -(26853) found -(26854) found -[11642] Forked 26855 -[11641] Forked 26856 -(26855) found -(26856) found -[11640] Forked 26857 -[11639] Forked 26858 -(26857) found -(26858) found -[11638] Forked 26859 -[11637] Forked 26860 -(26859) found -(26860) found -[11636] Forked 26861 -[11635] Forked 26862 -(26861) found -(26862) found -[11634] Forked 26863 -[11633] Forked 26864 -(26863) found -(26864) found -[11632] Forked 26865 -[11631] Forked 26866 -(26865) found -(26866) found -[11630] Forked 26867 -[11629] Forked 26868 -(26867) found -(26868) found -[11628] Forked 26869 -[11627] Forked 26870 -(26869) found -(26870) found -[11626] Forked 26871 -[11625] Forked 26872 -(26871) found -(26872) found -[11624] Forked 26873 -[11623] Forked 26874 -(26873) found -(26874) found -[11622] Forked 26875 -[11621] Forked 26876 -(26875) found -(26876) found -[11620] Forked 26877 -[11619] Forked 26878 -(26877) found -(26878) found -[11618] Forked 26879 -[11617] Forked 26880 -(26879) found -(26880) found -[11616] Forked 26881 -[11615] Forked 26882 -(26881) found -(26882) found -[11614] Forked 26883 -[11613] Forked 26884 -(26883) found -(26884) found -[11612] Forked 26885 -[11611] Forked 26886 -(26885) found -(26886) found -[11610] Forked 26887 -[11609] Forked 26888 -(26887) found -(26888) found -[11608] Forked 26889 -[11607] Forked 26890 -(26889) found -(26890) found -[11606] Forked 26891 -[11605] Forked 26892 -(26891) found -(26892) found -[11604] Forked 26893 -(26893) found -[11603] Forked 26894 -(26894) found -[11602] Forked 26895 -(26895) found -[11601] Forked 26896 -(26896) found -[11600] Forked 26897 -(26897) found -[11599] Forked 26898 -(26898) found -[11598] Forked 26899 -(26899) found -[11597] Forked 26900 -(26900) found -[11596] Forked 26901 -(26901) found -[11595] Forked 26902 -(26902) found -[11594] Forked 26903 -(26903) found -[11593] Forked 26904 -(26904) found -[11592] Forked 26905 -(26905) found -[11591] Forked 26906 -(26906) found -[11590] Forked 26907 -(26907) found -[11589] Forked 26908 -(26908) found -[11588] Forked 26909 -(26909) found -[11587] Forked 26910 -(26910) found -[11586] Forked 26911 -(26911) found -[11585] Forked 26912 -(26912) found -[11584] Forked 26913 -(26913) found -[11583] Forked 26914 -(26914) found -[11582] Forked 26915 -(26915) found -[11581] Forked 26916 -(26916) found -[11580] Forked 26917 -(26917) found -[11579] Forked 26918 -(26918) found -[11578] Forked 26919 -(26919) found -[11577] Forked 26920 -(26920) found -[11576] Forked 26921 -(26921) found -[11575] Forked 26922 -(26922) found -[11574] Forked 26923 -(26923) found -[11573] Forked 26924 -(26924) found -[11572] Forked 26925 -(26925) found -[11571] Forked 26926 -(26926) found -[11570] Forked 26927 -(26927) found -[11569] Forked 26928 -(26928) found -[11568] Forked 26929 -(26929) found -[11567] Forked 26930 -[11566] Forked 26931 -(26930) found -(26931) found -[11565] Forked 26932 -[11564] Forked 26933 -(26932) found -(26933) found -[11563] Forked 26934 -[11562] Forked 26935 -(26934) found -(26935) found -[11561] Forked 26936 -[11560] Forked 26937 -(26936) found -(26937) found -[11559] Forked 26938 -[11558] Forked 26939 -(26938) found -(26939) found -[11557] Forked 26940 -[11556] Forked 26941 -(26940) found -(26941) found -[11555] Forked 26942 -[11554] Forked 26943 -(26942) found -(26943) found -[11553] Forked 26944 -[11552] Forked 26945 -(26944) found -(26945) found -[11551] Forked 26946 -[11550] Forked 26947 -(26946) found -(26947) found -[11549] Forked 26948 -[11548] Forked 26949 -(26948) found -(26949) found -[11547] Forked 26950 -[11546] Forked 26951 -(26950) found -(26951) found -[11545] Forked 26952 -[11544] Forked 26953 -(26952) found -(26953) found -[11543] Forked 26954 -[11542] Forked 26955 -(26954) found -(26955) found -[11541] Forked 26956 -[11540] Forked 26957 -(26957) found -(26956) found -[11539] Forked 26958 -(26958) found -[11538] Forked 26959 -(26959) found -[11537] Forked 26960 -(26960) found -[11536] Forked 26961 -(26961) found -[11535] Forked 26962 -(26962) found -[11534] Forked 26963 -[11533] Forked 26964 -(26963) found -(26964) found -[11532] Forked 26965 -[11531] Forked 26966 -(26965) found -(26966) found -[11530] Forked 26967 -[11529] Forked 26968 -(26967) found -(26968) found -[11528] Forked 26969 -[11527] Forked 26970 -(26969) found -(26970) found -[11526] Forked 26971 -[11525] Forked 26972 -(26971) found -(26972) found -[11524] Forked 26973 -[11523] Forked 26974 -(26973) found -(26974) found -[11522] Forked 26975 -[11521] Forked 26976 -(26975) found -(26976) found -[11520] Forked 26977 -[11519] Forked 26978 -(26977) found -(26978) found -[11518] Forked 26979 -[11517] Forked 26980 -(26979) found -(26980) found -[11516] Forked 26981 -[11515] Forked 26982 -(26981) found -(26982) found -[11514] Forked 26983 -[11513] Forked 26984 -(26983) found -(26984) found -[11512] Forked 26985 -[11511] Forked 26986 -(26985) found -(26986) found -[11510] Forked 26987 -[11509] Forked 26988 -(26987) found -(26988) found -[11508] Forked 26989 -[11507] Forked 26990 -(26989) found -(26990) found -[11506] Forked 26991 -[11505] Forked 26992 -(26991) found -(26992) found -[11504] Forked 26993 -[11503] Forked 26994 -(26993) found -(26994) found -[11502] Forked 26995 -[11501] Forked 26996 -(26995) found -(26996) found -[11500] Forked 26997 -[11499] Forked 26998 -(26997) found -(26998) found -[11498] Forked 26999 -[11497] Forked 27000 -(26999) found -(27000) found -[11496] Forked 27001 -[11495] Forked 27002 -(27001) found -(27002) found -[11494] Forked 27003 -[11493] Forked 27004 -(27003) found -(27004) found -[11492] Forked 27005 -[11491] Forked 27006 -(27005) found -(27006) found -[11490] Forked 27007 -[11489] Forked 27008 -(27007) found -(27008) found -[11488] Forked 27009 -[11487] Forked 27010 -(27009) found -(27010) found -[11486] Forked 27011 -[11485] Forked 27012 -(27011) found -(27012) found -[11484] Forked 27013 -[11483] Forked 27014 -(27013) found -(27014) found -[11482] Forked 27015 -(27015) found -[11481] Forked 27016 -(27016) found -[11480] Forked 27017 -(27017) found -[11479] Forked 27018 -(27018) found -[11478] Forked 27019 -(27019) found -[11477] Forked 27020 -(27020) found -[11476] Forked 27021 -(27021) found -[11475] Forked 27022 -(27022) found -[11474] Forked 27023 -(27023) found -[11473] Forked 27024 -(27024) found -[11472] Forked 27025 -(27025) found -[11471] Forked 27026 -(27026) found -[11470] Forked 27027 -(27027) found -[11469] Forked 27028 -(27028) found -[11468] Forked 27029 -(27029) found -[11467] Forked 27030 -(27030) found -[11466] Forked 27031 -(27031) found -[11465] Forked 27032 -(27032) found -[11464] Forked 27033 -(27033) found -[11463] Forked 27034 -(27034) found -[11462] Forked 27035 -(27035) found -[11461] Forked 27036 -(27036) found -[11460] Forked 27037 -(27037) found -[11459] Forked 27038 -(27038) found -[11458] Forked 27039 -(27039) found -[11457] Forked 27040 -(27040) found -[11456] Forked 27041 -(27041) found -[11455] Forked 27042 -(27042) found -[11454] Forked 27043 -(27043) found -[11453] Forked 27044 -(27044) found -[11452] Forked 27045 -(27045) found -[11451] Forked 27046 -(27046) found -[11450] Forked 27047 -(27047) found -[11449] Forked 27048 -(27048) found -[11448] Forked 27049 -[11447] Forked 27050 -(27049) found -(27050) found -[11446] Forked 27051 -[11445] Forked 27052 -(27051) found -(27052) found -[11444] Forked 27053 -[11443] Forked 27054 -(27053) found -(27054) found -[11442] Forked 27055 -[11441] Forked 27056 -(27055) found -(27056) found -[11440] Forked 27057 -[11439] Forked 27058 -(27057) found -(27058) found -[11438] Forked 27059 -[11437] Forked 27060 -(27059) found -(27060) found -[11436] Forked 27061 -[11435] Forked 27062 -(27061) found -(27062) found -[11434] Forked 27063 -[11433] Forked 27064 -(27063) found -(27064) found -[11432] Forked 27065 -[11431] Forked 27066 -(27065) found -(27066) found -[11430] Forked 27067 -[11429] Forked 27068 -(27067) found -(27068) found -[11428] Forked 27069 -[11427] Forked 27070 -(27069) found -(27070) found -[11426] Forked 27071 -[11425] Forked 27072 -(27071) found -(27072) found -[11424] Forked 27073 -[11423] Forked 27074 -(27073) found -(27074) found -[11422] Forked 27075 -[11421] Forked 27076 -(27075) found -(27076) found -[11420] Forked 27077 -[11419] Forked 27078 -(27078) found -(27077) found -[11418] Forked 27079 -(27079) found -[11417] Forked 27080 -(27080) found -[11416] Forked 27081 -(27081) found -[11415] Forked 27082 -(27082) found -[11414] Forked 27083 -(27083) found -[11413] Forked 27084 -(27084) found -[11412] Forked 27085 -(27085) found -[11411] Forked 27086 -(27086) found -[11410] Forked 27087 -(27087) found -[11409] Forked 27088 -(27088) found -[11408] Forked 27089 -(27089) found -[11407] Forked 27090 -(27090) found -[11406] Forked 27091 -(27091) found -[11405] Forked 27092 -(27092) found -[11404] Forked 27093 -(27093) found -[11403] Forked 27094 -(27094) found -[11402] Forked 27095 -(27095) found -[11401] Forked 27096 -(27096) found -[11400] Forked 27097 -(27097) found -[11399] Forked 27098 -(27098) found -[11398] Forked 27099 -(27099) found -[11397] Forked 27100 -(27100) found -[11396] Forked 27101 -(27101) found -[11395] Forked 27102 -(27102) found -[11394] Forked 27103 -(27103) found -[11393] Forked 27104 -(27104) found -[11392] Forked 27105 -(27105) found -[11391] Forked 27106 -(27106) found -[11390] Forked 27107 -(27107) found -[11389] Forked 27108 -(27108) found -[11388] Forked 27109 -(27109) found -[11387] Forked 27110 -(27110) found -[11386] Forked 27111 -(27111) found -[11385] Forked 27112 -(27112) found -[11384] Forked 27113 -(27113) found -[11383] Forked 27114 -(27114) found -[11382] Forked 27115 -(27115) found -[11381] Forked 27116 -(27116) found -[11380] Forked 27117 -(27117) found -[11379] Forked 27118 -(27118) found -[11378] Forked 27119 -(27119) found -[11377] Forked 27120 -(27120) found -[11376] Forked 27121 -(27121) found -[11375] Forked 27122 -(27122) found -[11374] Forked 27123 -(27123) found -[11373] Forked 27124 -(27124) found -[11372] Forked 27125 -(27125) found -[11371] Forked 27126 -[11370] Forked 27127 -(27126) found -(27127) found -[11369] Forked 27128 -[11368] Forked 27129 -(27128) found -(27129) found -[11367] Forked 27130 -[11366] Forked 27131 -(27130) found -(27131) found -[11365] Forked 27132 -[11364] Forked 27133 -(27132) found -(27133) found -[11363] Forked 27134 -[11362] Forked 27135 -(27134) found -(27135) found -[11361] Forked 27136 -[11360] Forked 27137 -(27136) found -(27137) found -[11359] Forked 27138 -[11358] Forked 27139 -(27138) found -(27139) found -[11357] Forked 27140 -[11356] Forked 27141 -(27140) found -(27141) found -[11355] Forked 27142 -[11354] Forked 27143 -(27142) found -(27143) found -[11353] Forked 27144 -[11352] Forked 27145 -(27144) found -(27145) found -[11351] Forked 27146 -[11350] Forked 27147 -(27146) found -(27147) found -[11349] Forked 27148 -[11348] Forked 27149 -(27148) found -(27149) found -[11347] Forked 27150 -[11346] Forked 27151 -(27150) found -(27151) found -[11345] Forked 27152 -[11344] Forked 27153 -(27152) found -(27153) found -[11343] Forked 27154 -[11342] Forked 27155 -(27154) found -(27155) found -[11341] Forked 27156 -[11340] Forked 27157 -(27156) found -(27157) found -[11339] Forked 27158 -[11338] Forked 27159 -(27158) found -(27159) found -[11337] Forked 27160 -[11336] Forked 27161 -(27160) found -(27161) found -[11335] Forked 27162 -[11334] Forked 27163 -(27162) found -(27163) found -[11333] Forked 27164 -[11332] Forked 27165 -(27164) found -(27165) found -[11331] Forked 27166 -[11330] Forked 27167 -(27166) found -(27167) found -[11329] Forked 27168 -[11328] Forked 27169 -(27168) found -(27169) found -[11327] Forked 27170 -[11326] Forked 27171 -(27170) found -(27171) found -[11325] Forked 27172 -(27172) found -[11324] Forked 27173 -(27173) found -[11323] Forked 27174 -(27174) found -[11322] Forked 27175 -(27175) found -[11321] Forked 27176 -(27176) found -[11320] Forked 27177 -(27177) found -[11319] Forked 27178 -(27178) found -[11318] Forked 27179 -(27179) found -[11317] Forked 27180 -(27180) found -[11316] Forked 27181 -(27181) found -[11315] Forked 27182 -(27182) found -[11314] Forked 27183 -(27183) found -[11313] Forked 27184 -(27184) found -[11312] Forked 27185 -(27185) found -[11311] Forked 27186 -(27186) found -[11310] Forked 27187 -(27187) found -[11309] Forked 27188 -(27188) found -[11308] Forked 27189 -(27189) found -[11307] Forked 27190 -(27190) found -[11306] Forked 27191 -(27191) found -[11305] Forked 27192 -(27192) found -[11304] Forked 27193 -(27193) found -[11303] Forked 27194 -(27194) found -[11302] Forked 27195 -(27195) found -[11301] Forked 27196 -(27196) found -[11300] Forked 27197 -(27197) found -[11299] Forked 27198 -(27198) found -[11298] Forked 27199 -(27199) found -[11297] Forked 27200 -(27200) found -[11296] Forked 27201 -(27201) found -[11295] Forked 27202 -(27202) found -[11294] Forked 27203 -(27203) found -[11293] Forked 27204 -(27204) found -[11292] Forked 27205 -(27205) found -[11291] Forked 27206 -[11290] Forked 27207 -(27206) found -(27207) found -[11289] Forked 27208 -[11288] Forked 27209 -(27208) found -(27209) found -[11287] Forked 27210 -[11286] Forked 27211 -(27210) found -(27211) found -[11285] Forked 27212 -[11284] Forked 27213 -(27212) found -(27213) found -[11283] Forked 27214 -[11282] Forked 27215 -(27214) found -(27215) found -[11281] Forked 27216 -[11280] Forked 27217 -(27216) found -(27217) found -[11279] Forked 27218 -[11278] Forked 27219 -(27218) found -(27219) found -[11277] Forked 27220 -[11276] Forked 27221 -(27220) found -(27221) found -[11275] Forked 27222 -[11274] Forked 27223 -(27222) found -(27223) found -[11273] Forked 27224 -[11272] Forked 27225 -(27224) found -(27225) found -[11271] Forked 27226 -[11270] Forked 27227 -(27226) found -(27227) found -[11269] Forked 27228 -[11268] Forked 27229 -(27228) found -(27229) found -[11267] Forked 27230 -[11266] Forked 27231 -(27230) found -(27231) found -[11265] Forked 27232 -[11264] Forked 27233 -(27232) found -(27233) found -[11263] Forked 27234 -[11262] Forked 27235 -(27234) found -(27235) found -[11261] Forked 27236 -[11260] Forked 27237 -(27236) found -(27237) found -[11259] Forked 27238 -[11258] Forked 27239 -(27238) found -(27239) found -[11257] Forked 27240 -[11256] Forked 27241 -(27240) found -(27241) found -[11255] Forked 27242 -[11254] Forked 27243 -(27242) found -(27243) found -[11253] Forked 27244 -[11252] Forked 27245 -(27244) found -(27245) found -[11251] Forked 27246 -[11250] Forked 27247 -(27246) found -(27247) found -[11249] Forked 27248 -[11248] Forked 27249 -(27248) found -(27249) found -[11247] Forked 27250 -[11246] Forked 27251 -(27250) found -(27251) found -[11245] Forked 27252 -(27252) found -[11244] Forked 27253 -(27253) found -[11243] Forked 27254 -(27254) found -[11242] Forked 27255 -(27255) found -[11241] Forked 27256 -(27256) found -[11240] Forked 27257 -(27257) found -[11239] Forked 27258 -(27258) found -[11238] Forked 27259 -(27259) found -[11237] Forked 27260 -(27260) found -[11236] Forked 27261 -(27261) found -[11235] Forked 27262 -(27262) found -[11234] Forked 27263 -(27263) found -[11233] Forked 27264 -(27264) found -[11232] Forked 27265 -(27265) found -[11231] Forked 27266 -(27266) found -[11230] Forked 27267 -(27267) found -[11229] Forked 27268 -(27268) found -[11228] Forked 27269 -(27269) found -[11227] Forked 27270 -(27270) found -[11226] Forked 27271 -(27271) found -[11225] Forked 27272 -(27272) found -[11224] Forked 27273 -(27273) found -[11223] Forked 27274 -(27274) found -[11222] Forked 27275 -(27275) found -[11221] Forked 27276 -(27276) found -[11220] Forked 27277 -(27277) found -[11219] Forked 27278 -(27278) found -[11218] Forked 27279 -(27279) found -[11217] Forked 27280 -(27280) found -[11216] Forked 27281 -(27281) found -[11215] Forked 27282 -(27282) found -[11214] Forked 27283 -(27283) found -[11213] Forked 27284 -(27284) found -[11212] Forked 27285 -(27285) found -[11211] Forked 27286 -(27286) found -[11210] Forked 27287 -[11209] Forked 27288 -(27287) found -(27288) found -[11208] Forked 27289 -[11207] Forked 27290 -(27289) found -(27290) found -[11206] Forked 27291 -[11205] Forked 27292 -(27291) found -(27292) found -[11204] Forked 27293 -[11203] Forked 27294 -(27293) found -(27294) found -[11202] Forked 27295 -[11201] Forked 27296 -(27295) found -(27296) found -[11200] Forked 27297 -[11199] Forked 27298 -(27297) found -(27298) found -[11198] Forked 27299 -[11197] Forked 27300 -(27299) found -(27300) found -[11196] Forked 27301 -[11195] Forked 27302 -(27301) found -(27302) found -[11194] Forked 27303 -[11193] Forked 27304 -(27303) found -(27304) found -[11192] Forked 27305 -[11191] Forked 27306 -(27305) found -(27306) found -[11190] Forked 27307 -[11189] Forked 27308 -(27307) found -(27308) found -[11188] Forked 27309 -[11187] Forked 27310 -(27309) found -(27310) found -[11186] Forked 27311 -[11185] Forked 27312 -(27311) found -(27312) found -[11184] Forked 27313 -[11183] Forked 27314 -(27313) found -(27314) found -[11182] Forked 27315 -[11181] Forked 27316 -(27315) found -(27316) found -[11180] Forked 27317 -[11179] Forked 27318 -(27317) found -(27318) found -[11178] Forked 27319 -[11177] Forked 27320 -(27319) found -(27320) found -[11176] Forked 27321 -[11175] Forked 27322 -(27321) found -(27322) found -[11174] Forked 27323 -[11173] Forked 27324 -(27323) found -(27324) found -[11172] Forked 27325 -[11171] Forked 27326 -(27325) found -(27326) found -[11170] Forked 27327 -[11169] Forked 27328 -(27327) found -(27328) found -[11168] Forked 27329 -[11167] Forked 27330 -(27329) found -(27330) found -[11166] Forked 27331 -[11165] Forked 27332 -(27331) found -(27332) found -[11164] Forked 27333 -[11163] Forked 27334 -(27333) found -(27334) found -[11162] Forked 27335 -[11161] Forked 27336 -(27335) found -(27336) found -[11160] Forked 27337 -[11159] Forked 27338 -(27337) found -(27338) found -[11158] Forked 27339 -[11157] Forked 27340 -(27339) found -(27340) found -[11156] Forked 27341 -[11155] Forked 27342 -(27341) found -(27342) found -[11154] Forked 27343 -[11153] Forked 27344 -(27343) found -(27344) found -[11152] Forked 27345 -[11151] Forked 27346 -(27345) found -(27346) found -[11150] Forked 27347 -[11149] Forked 27348 -(27347) found -(27348) found -[11148] Forked 27349 -[11147] Forked 27350 -(27349) found -(27350) found -[11146] Forked 27351 -[11145] Forked 27352 -(27351) found -(27352) found -[11144] Forked 27353 -[11143] Forked 27354 -(27353) found -(27354) found -[11142] Forked 27355 -[11141] Forked 27356 -(27355) found -(27356) found -[11140] Forked 27357 -[11139] Forked 27358 -(27357) found -(27358) found -[11138] Forked 27359 -[11137] Forked 27360 -(27359) found -(27360) found -[11136] Forked 27361 -[11135] Forked 27362 -(27361) found -(27362) found -[11134] Forked 27363 -[11133] Forked 27364 -(27363) found -(27364) found -[11132] Forked 27365 -[11131] Forked 27366 -(27365) found -(27366) found -[11130] Forked 27367 -[11129] Forked 27368 -(27367) found -(27368) found -[11128] Forked 27369 -[11127] Forked 27370 -(27369) found -(27370) found -[11126] Forked 27371 -[11125] Forked 27372 -(27371) found -(27372) found -[11124] Forked 27373 -[11123] Forked 27374 -(27373) found -(27374) found -[11122] Forked 27375 -[11121] Forked 27376 -(27375) found -(27376) found -[11120] Forked 27377 -[11119] Forked 27378 -(27377) found -(27378) found -[11118] Forked 27379 -[11117] Forked 27380 -(27379) found -(27380) found -[11116] Forked 27381 -[11115] Forked 27382 -(27381) found -(27382) found -[11114] Forked 27383 -[11113] Forked 27384 -(27383) found -(27384) found -[11112] Forked 27385 -[11111] Forked 27386 -(27385) found -(27386) found -[11110] Forked 27387 -[11109] Forked 27388 -(27387) found -(27388) found -[11108] Forked 27389 -[11107] Forked 27390 -(27389) found -(27390) found -[11106] Forked 27391 -[11105] Forked 27392 -(27391) found -(27392) found -[11104] Forked 27393 -[11103] Forked 27394 -(27393) found -(27394) found -[11102] Forked 27395 -[11101] Forked 27396 -(27395) found -(27396) found -[11100] Forked 27397 -[11099] Forked 27398 -(27397) found -(27398) found -[11098] Forked 27399 -[11097] Forked 27400 -(27399) found -(27400) found -[11096] Forked 27401 -[11095] Forked 27402 -(27401) found -(27402) found -[11094] Forked 27403 -[11093] Forked 27404 -(27403) found -(27404) found -[11092] Forked 27405 -[11091] Forked 27406 -(27405) found -(27406) found -[11090] Forked 27407 -[11089] Forked 27408 -(27407) found -(27408) found -[11088] Forked 27409 -[11087] Forked 27410 -(27409) found -(27410) found -[11086] Forked 27411 -[11085] Forked 27412 -(27411) found -(27412) found -[11084] Forked 27413 -[11083] Forked 27414 -(27413) found -(27414) found -[11082] Forked 27415 -[11081] Forked 27416 -(27415) found -(27416) found -[11080] Forked 27417 -[11079] Forked 27418 -(27417) found -(27418) found -[11078] Forked 27419 -[11077] Forked 27420 -(27419) found -(27420) found -[11076] Forked 27421 -[11075] Forked 27422 -(27421) found -(27422) found -[11074] Forked 27423 -(27423) found -[11073] Forked 27424 -(27424) found -[11072] Forked 27425 -(27425) found -[11071] Forked 27426 -(27426) found -[11070] Forked 27427 -(27427) found -[11069] Forked 27428 -(27428) found -[11068] Forked 27429 -(27429) found -[11067] Forked 27430 -(27430) found -[11066] Forked 27431 -(27431) found -[11065] Forked 27432 -(27432) found -[11064] Forked 27433 -(27433) found -[11063] Forked 27434 -(27434) found -[11062] Forked 27435 -(27435) found -[11061] Forked 27436 -(27436) found -[11060] Forked 27437 -(27437) found -[11059] Forked 27438 -(27438) found -[11058] Forked 27439 -(27439) found -[11057] Forked 27440 -(27440) found -[11056] Forked 27441 -(27441) found -[11055] Forked 27442 -(27442) found -[11054] Forked 27443 -(27443) found -[11053] Forked 27444 -(27444) found -[11052] Forked 27445 -(27445) found -[11051] Forked 27446 -(27446) found -[11050] Forked 27447 -(27447) found -[11049] Forked 27448 -(27448) found -[11048] Forked 27449 -(27449) found -[11047] Forked 27450 -(27450) found -[11046] Forked 27451 -(27451) found -[11045] Forked 27452 -(27452) found -[11044] Forked 27453 -(27453) found -[11043] Forked 27454 -(27454) found -[11042] Forked 27455 -(27455) found -[11041] Forked 27456 -(27456) found -[11040] Forked 27457 -[11039] Forked 27458 -(27457) found -(27458) found -[11038] Forked 27459 -[11037] Forked 27460 -(27459) found -(27460) found -[11036] Forked 27461 -[11035] Forked 27462 -(27461) found -(27462) found -[11034] Forked 27463 -[11033] Forked 27464 -(27463) found -(27464) found -[11032] Forked 27465 -[11031] Forked 27466 -(27465) found -(27466) found -[11030] Forked 27467 -[11029] Forked 27468 -(27467) found -(27468) found -[11028] Forked 27469 -[11027] Forked 27470 -(27469) found -(27470) found -[11026] Forked 27471 -[11025] Forked 27472 -(27471) found -(27472) found -[11024] Forked 27473 -[11023] Forked 27474 -(27473) found -(27474) found -[11022] Forked 27475 -[11021] Forked 27476 -(27475) found -(27476) found -[11020] Forked 27477 -[11019] Forked 27478 -(27477) found -(27478) found -[11018] Forked 27479 -[11017] Forked 27480 -(27479) found -(27480) found -[11016] Forked 27481 -[11015] Forked 27482 -(27481) found -(27482) found -[11014] Forked 27483 -[11013] Forked 27484 -(27483) found -(27484) found -[11012] Forked 27485 -[11011] Forked 27486 -(27485) found -(27486) found -[11010] Forked 27487 -[11009] Forked 27488 -(27487) found -(27488) found -[11008] Forked 27489 -[11007] Forked 27490 -(27489) found -(27490) found -[11006] Forked 27491 -[11005] Forked 27492 -(27491) found -(27492) found -[11004] Forked 27493 -[11003] Forked 27494 -(27493) found -(27494) found -[11002] Forked 27495 -[11001] Forked 27496 -(27495) found -(27496) found -[11000] Forked 27497 -[10999] Forked 27498 -(27497) found -(27498) found -[10998] Forked 27499 -[10997] Forked 27500 -(27499) found -(27500) found -[10996] Forked 27501 -[10995] Forked 27502 -(27501) found -(27502) found -[10994] Forked 27503 -(27503) found -[10993] Forked 27504 -(27504) found -[10992] Forked 27505 -(27505) found -[10991] Forked 27506 -(27506) found -[10990] Forked 27507 -(27507) found -[10989] Forked 27508 -(27508) found -[10988] Forked 27509 -(27509) found -[10987] Forked 27510 -(27510) found -[10986] Forked 27511 -(27511) found -[10985] Forked 27512 -(27512) found -[10984] Forked 27513 -(27513) found -[10983] Forked 27514 -(27514) found -[10982] Forked 27515 -(27515) found -[10981] Forked 27516 -(27516) found -[10980] Forked 27517 -(27517) found -[10979] Forked 27518 -(27518) found -[10978] Forked 27519 -(27519) found -[10977] Forked 27520 -(27520) found -[10976] Forked 27521 -(27521) found -[10975] Forked 27522 -(27522) found -[10974] Forked 27523 -(27523) found -[10973] Forked 27524 -(27524) found -[10972] Forked 27525 -(27525) found -[10971] Forked 27526 -(27526) found -[10970] Forked 27527 -(27527) found -[10969] Forked 27528 -(27528) found -[10968] Forked 27529 -(27529) found -[10967] Forked 27530 -(27530) found -[10966] Forked 27531 -(27531) found -[10965] Forked 27532 -(27532) found -[10964] Forked 27533 -(27533) found -[10963] Forked 27534 -(27534) found -[10962] Forked 27535 -(27535) found -[10961] Forked 27536 -(27536) found -[10960] Forked 27537 -[10959] Forked 27538 -(27537) found -(27538) found -[10958] Forked 27539 -[10957] Forked 27540 -(27539) found -(27540) found -[10956] Forked 27541 -[10955] Forked 27542 -(27541) found -(27542) found -[10954] Forked 27543 -[10953] Forked 27544 -(27543) found -(27544) found -[10952] Forked 27545 -[10951] Forked 27546 -(27545) found -(27546) found -[10950] Forked 27547 -[10949] Forked 27548 -(27547) found -(27548) found -[10948] Forked 27549 -[10947] Forked 27550 -(27549) found -(27550) found -[10946] Forked 27551 -[10945] Forked 27552 -(27551) found -(27552) found -[10944] Forked 27553 -[10943] Forked 27554 -(27553) found -(27554) found -[10942] Forked 27555 -[10941] Forked 27556 -(27555) found -(27556) found -[10940] Forked 27557 -[10939] Forked 27558 -(27557) found -(27558) found -[10938] Forked 27559 -[10937] Forked 27560 -(27559) found -(27560) found -[10936] Forked 27561 -[10935] Forked 27562 -(27561) found -(27562) found -[10934] Forked 27563 -[10933] Forked 27564 -(27563) found -(27564) found -[10932] Forked 27565 -[10931] Forked 27566 -(27565) found -(27566) found -[10930] Forked 27567 -[10929] Forked 27568 -(27567) found -(27568) found -[10928] Forked 27569 -[10927] Forked 27570 -(27569) found -(27570) found -[10926] Forked 27571 -[10925] Forked 27572 -(27571) found -(27572) found -[10924] Forked 27573 -[10923] Forked 27574 -(27573) found -(27574) found -[10922] Forked 27575 -[10921] Forked 27576 -(27575) found -(27576) found -[10920] Forked 27577 -[10919] Forked 27578 -(27577) found -(27578) found -[10918] Forked 27579 -[10917] Forked 27580 -(27579) found -(27580) found -[10916] Forked 27581 -[10915] Forked 27582 -(27581) found -(27582) found -[10914] Forked 27583 -(27583) found -[10913] Forked 27584 -(27584) found -[10912] Forked 27585 -(27585) found -[10911] Forked 27586 -(27586) found -[10910] Forked 27587 -(27587) found -[10909] Forked 27588 -(27588) found -[10908] Forked 27589 -(27589) found -[10907] Forked 27590 -(27590) found -[10906] Forked 27591 -(27591) found -[10905] Forked 27592 -(27592) found -[10904] Forked 27593 -(27593) found -[10903] Forked 27594 -(27594) found -[10902] Forked 27595 -(27595) found -[10901] Forked 27596 -(27596) found -[10900] Forked 27597 -(27597) found -[10899] Forked 27598 -(27598) found -[10898] Forked 27599 -(27599) found -[10897] Forked 27600 -(27600) found -[10896] Forked 27601 -(27601) found -[10895] Forked 27602 -(27602) found -[10894] Forked 27603 -(27603) found -[10893] Forked 27604 -(27604) found -[10892] Forked 27605 -(27605) found -[10891] Forked 27606 -(27606) found -[10890] Forked 27607 -(27607) found -[10889] Forked 27608 -(27608) found -[10888] Forked 27609 -(27609) found -[10887] Forked 27610 -(27610) found -[10886] Forked 27611 -(27611) found -[10885] Forked 27612 -(27612) found -[10884] Forked 27613 -(27613) found -[10883] Forked 27614 -(27614) found -[10882] Forked 27615 -(27615) found -[10881] Forked 27616 -(27616) found -[10880] Forked 27617 -(27617) found -[10879] Forked 27618 -[10878] Forked 27619 -(27618) found -(27619) found -[10877] Forked 27620 -[10876] Forked 27621 -(27620) found -(27621) found -[10875] Forked 27622 -[10874] Forked 27623 -(27622) found -(27623) found -[10873] Forked 27624 -[10872] Forked 27625 -(27624) found -(27625) found -[10871] Forked 27626 -[10870] Forked 27627 -(27626) found -(27627) found -[10869] Forked 27628 -[10868] Forked 27629 -(27628) found -(27629) found -[10867] Forked 27630 -[10866] Forked 27631 -(27630) found -(27631) found -[10865] Forked 27632 -[10864] Forked 27633 -(27632) found -(27633) found -[10863] Forked 27634 -[10862] Forked 27635 -(27634) found -(27635) found -[10861] Forked 27636 -[10860] Forked 27637 -(27636) found -(27637) found -[10859] Forked 27638 -[10858] Forked 27639 -(27638) found -(27639) found -[10857] Forked 27640 -[10856] Forked 27641 -(27640) found -(27641) found -[10855] Forked 27642 -[10854] Forked 27643 -(27642) found -(27643) found -[10853] Forked 27644 -[10852] Forked 27645 -(27644) found -(27645) found -[10851] Forked 27646 -[10850] Forked 27647 -(27646) found -(27647) found -[10849] Forked 27648 -[10848] Forked 27649 -(27648) found -(27649) found -[10847] Forked 27650 -[10846] Forked 27651 -(27650) found -(27651) found -[10845] Forked 27652 -[10844] Forked 27653 -(27652) found -(27653) found -[10843] Forked 27654 -[10842] Forked 27655 -(27654) found -(27655) found -[10841] Forked 27656 -[10840] Forked 27657 -(27656) found -(27657) found -[10839] Forked 27658 -[10838] Forked 27659 -(27658) found -(27659) found -[10837] Forked 27660 -[10836] Forked 27661 -(27660) found -(27661) found -[10835] Forked 27662 -[10834] Forked 27663 -(27662) found -(27663) found -[10833] Forked 27664 -[10832] Forked 27665 -(27664) found -(27665) found -[10831] Forked 27666 -[10830] Forked 27667 -(27666) found -(27667) found -[10829] Forked 27668 -[10828] Forked 27669 -(27668) found -(27669) found -[10827] Forked 27670 -[10826] Forked 27671 -(27670) found -(27671) found -[10825] Forked 27672 -[10824] Forked 27673 -(27672) found -(27673) found -[10823] Forked 27674 -[10822] Forked 27675 -(27674) found -(27675) found -[10821] Forked 27676 -[10820] Forked 27677 -(27676) found -(27677) found -[10819] Forked 27678 -[10818] Forked 27679 -(27678) found -(27679) found -[10817] Forked 27680 -[10816] Forked 27681 -(27680) found -(27681) found -[10815] Forked 27682 -[10814] Forked 27683 -(27682) found -(27683) found -[10813] Forked 27684 -[10812] Forked 27685 -(27684) found -(27685) found -[10811] Forked 27686 -[10810] Forked 27687 -(27686) found -(27687) found -[10809] Forked 27688 -[10808] Forked 27689 -(27688) found -(27689) found -[10807] Forked 27691 -[10806] Forked 27692 -(27691) found -(27692) found -[10805] Forked 27693 -[10804] Forked 27694 -(27693) found -(27694) found -[10803] Forked 27695 -[10802] Forked 27696 -(27695) found -(27696) found -[10801] Forked 27697 -[10800] Forked 27698 -(27697) found -(27698) found -[10799] Forked 27699 -[10798] Forked 27700 -(27699) found -(27700) found -[10797] Forked 27701 -[10796] Forked 27702 -(27701) found -(27702) found -[10795] Forked 27703 -[10794] Forked 27704 -(27703) found -(27704) found -[10793] Forked 27705 -[10792] Forked 27706 -(27705) found -(27706) found -[10791] Forked 27707 -[10790] Forked 27708 -(27707) found -(27708) found -[10789] Forked 27709 -(27709) found -[10788] Forked 27710 -(27710) found -[10787] Forked 27711 -(27711) found -[10786] Forked 27712 -(27712) found -[10785] Forked 27713 -(27713) found -[10784] Forked 27714 -(27714) found -[10783] Forked 27715 -(27715) found -[10782] Forked 27716 -(27716) found -[10781] Forked 27717 -(27717) found -[10780] Forked 27718 -(27718) found -[10779] Forked 27719 -(27719) found -[10778] Forked 27720 -(27720) found -[10777] Forked 27721 -(27721) found -[10776] Forked 27722 -(27722) found -[10775] Forked 27723 -(27723) found -[10774] Forked 27724 -(27724) found -[10773] Forked 27725 -(27725) found -[10772] Forked 27726 -(27726) found -[10771] Forked 27727 -(27727) found -[10770] Forked 27728 -(27728) found -[10769] Forked 27729 -(27729) found -[10768] Forked 27730 -(27730) found -[10767] Forked 27731 -(27731) found -[10766] Forked 27732 -(27732) found -[10765] Forked 27733 -(27733) found -[10764] Forked 27734 -(27734) found -[10763] Forked 27735 -(27735) found -[10762] Forked 27736 -(27736) found -[10761] Forked 27737 -(27737) found -[10760] Forked 27738 -(27738) found -[10759] Forked 27739 -(27739) found -[10758] Forked 27740 -(27740) found -[10757] Forked 27741 -(27741) found -[10756] Forked 27742 -(27742) found -[10755] Forked 27743 -(27743) found -[10754] Forked 27744 -(27744) found -[10753] Forked 27745 -[10752] Forked 27746 -(27745) found -(27746) found -[10751] Forked 27747 -[10750] Forked 27748 -(27747) found -(27748) found -[10749] Forked 27749 -(27749) found -[10748] Forked 27750 -[10747] Forked 27751 -(27750) found -(27751) found -[10746] Forked 27752 -[10745] Forked 27753 -(27752) found -(27753) found -[10744] Forked 27754 -[10743] Forked 27755 -(27754) found -(27755) found -[10742] Forked 27756 -[10741] Forked 27757 -(27756) found -(27757) found -[10740] Forked 27758 -[10739] Forked 27759 -(27758) found -(27759) found -[10738] Forked 27760 -[10737] Forked 27761 -(27760) found -(27761) found -[10736] Forked 27762 -[10735] Forked 27763 -(27762) found -(27763) found -[10734] Forked 27764 -[10733] Forked 27765 -(27764) found -(27765) found -[10732] Forked 27766 -[10731] Forked 27767 -(27766) found -(27767) found -[10730] Forked 27768 -[10729] Forked 27769 -(27768) found -(27769) found -[10728] Forked 27770 -[10727] Forked 27771 -(27770) found -(27771) found -[10726] Forked 27772 -[10725] Forked 27773 -(27772) found -(27773) found -[10724] Forked 27774 -[10723] Forked 27775 -(27774) found -(27775) found -[10722] Forked 27776 -[10721] Forked 27777 -(27776) found -(27777) found -[10720] Forked 27778 -[10719] Forked 27779 -(27778) found -(27779) found -[10718] Forked 27780 -[10717] Forked 27781 -(27780) found -(27781) found -[10716] Forked 27782 -[10715] Forked 27783 -(27782) found -(27783) found -[10714] Forked 27784 -[10713] Forked 27785 -(27784) found -(27785) found -[10712] Forked 27786 -[10711] Forked 27787 -(27786) found -(27787) found -[10710] Forked 27788 -[10709] Forked 27789 -(27788) found -(27789) found -[10708] Forked 27790 -[10707] Forked 27791 -(27790) found -(27791) found -[10706] Forked 27792 -[10705] Forked 27793 -(27792) found -(27793) found -[10704] Forked 27794 -[10703] Forked 27795 -(27794) found -(27795) found -[10702] Forked 27796 -[10701] Forked 27797 -(27796) found -(27797) found -[10700] Forked 27798 -(27798) found -[10699] Forked 27799 -[10698] Forked 27800 -(27799) found -(27800) found -[10697] Forked 27801 -[10696] Forked 27802 -(27801) found -(27802) found -[10695] Forked 27803 -[10694] Forked 27804 -(27803) found -(27804) found -[10693] Forked 27805 -[10692] Forked 27806 -(27805) found -(27806) found -[10691] Forked 27807 -[10690] Forked 27808 -(27807) found -(27808) found -[10689] Forked 27809 -[10688] Forked 27810 -(27809) found -(27810) found -[10687] Forked 27811 -[10686] Forked 27812 -(27811) found -(27812) found -[10685] Forked 27813 -[10684] Forked 27814 -(27813) found -(27814) found -[10683] Forked 27815 -[10682] Forked 27816 -(27815) found -(27816) found -[10681] Forked 27817 -[10680] Forked 27818 -(27817) found -(27818) found -[10679] Forked 27819 -[10678] Forked 27820 -(27819) found -(27820) found -[10677] Forked 27821 -[10676] Forked 27822 -(27821) found -(27822) found -[10675] Forked 27823 -[10674] Forked 27824 -(27823) found -(27824) found -[10673] Forked 27825 -[10672] Forked 27826 -(27825) found -(27826) found -[10671] Forked 27827 -[10670] Forked 27828 -(27827) found -(27828) found -[10669] Forked 27829 -[10668] Forked 27831 -(27829) found -(27831) found -[10667] Forked 27832 -[10666] Forked 27833 -(27832) found -(27833) found -[10665] Forked 27834 -[10664] Forked 27835 -(27834) found -(27835) found -[10663] Forked 27836 -(27836) found -[10662] Forked 27837 -(27837) found -[10661] Forked 27838 -(27838) found -[10660] Forked 27839 -(27839) found -[10659] Forked 27840 -(27840) found -[10658] Forked 27841 -(27841) found -[10657] Forked 27842 -(27842) found -[10656] Forked 27843 -(27843) found -[10655] Forked 27844 -(27844) found -[10654] Forked 27845 -(27845) found -[10653] Forked 27846 -(27846) found -[10652] Forked 27847 -(27847) found -[10651] Forked 27848 -(27848) found -[10650] Forked 27849 -(27849) found -[10649] Forked 27850 -(27850) found -[10648] Forked 27851 -(27851) found -[10647] Forked 27852 -(27852) found -[10646] Forked 27853 -(27853) found -[10645] Forked 27854 -(27854) found -[10644] Forked 27855 -(27855) found -[10643] Forked 27856 -(27856) found -[10642] Forked 27857 -(27857) found -[10641] Forked 27858 -(27858) found -[10640] Forked 27859 -(27859) found -[10639] Forked 27860 -(27860) found -[10638] Forked 27861 -(27861) found -[10637] Forked 27862 -(27862) found -[10636] Forked 27863 -(27863) found -[10635] Forked 27864 -(27864) found -[10634] Forked 27865 -(27865) found -[10633] Forked 27866 -(27866) found -[10632] Forked 27867 -(27867) found -[10631] Forked 27868 -(27868) found -[10630] Forked 27869 -(27869) found -[10629] Forked 27870 -[10628] Forked 27871 -(27870) found -(27871) found -[10627] Forked 27872 -[10626] Forked 27873 -(27872) found -(27873) found -[10625] Forked 27874 -[10624] Forked 27875 -(27874) found -(27875) found -[10623] Forked 27876 -[10622] Forked 27877 -(27876) found -(27877) found -[10621] Forked 27878 -[10620] Forked 27879 -(27878) found -(27879) found -[10619] Forked 27880 -[10618] Forked 27881 -(27880) found -(27881) found -[10617] Forked 27882 -[10616] Forked 27883 -(27882) found -(27883) found -[10615] Forked 27884 -[10614] Forked 27885 -(27884) found -(27885) found -[10613] Forked 27886 -[10612] Forked 27887 -(27886) found -(27887) found -[10611] Forked 27888 -[10610] Forked 27889 -(27888) found -(27889) found -[10609] Forked 27890 -[10608] Forked 27891 -(27890) found -(27891) found -[10607] Forked 27892 -[10606] Forked 27893 -(27892) found -(27893) found -[10605] Forked 27894 -[10604] Forked 27895 -(27894) found -(27895) found -[10603] Forked 27896 -[10602] Forked 27897 -(27896) found -(27897) found -[10601] Forked 27898 -[10600] Forked 27899 -(27898) found -(27899) found -[10599] Forked 27900 -[10598] Forked 27901 -(27900) found -(27901) found -[10597] Forked 27902 -[10596] Forked 27903 -(27902) found -(27903) found -[10595] Forked 27904 -[10594] Forked 27905 -(27904) found -(27905) found -[10593] Forked 27906 -[10592] Forked 27907 -(27906) found -(27907) found -[10591] Forked 27908 -[10590] Forked 27909 -(27908) found -(27909) found -[10589] Forked 27910 -[10588] Forked 27911 -(27910) found -(27911) found -[10587] Forked 27912 -[10586] Forked 27913 -(27912) found -(27913) found -[10585] Forked 27914 -(27914) found -[10584] Forked 27915 -[10583] Forked 27916 -(27915) found -(27916) found -[10582] Forked 27917 -[10581] Forked 27918 -(27917) found -(27918) found -[10580] Forked 27919 -(27919) found -[10579] Forked 27920 -[10578] Forked 27921 -(27920) found -(27921) found -[10577] Forked 27922 -[10576] Forked 27923 -(27923) found -(27922) found -[10575] Forked 27924 -(27924) found -[10574] Forked 27925 -(27925) found -[10573] Forked 27926 -(27926) found -[10572] Forked 27927 -(27927) found -[10571] Forked 27928 -(27928) found -[10570] Forked 27929 -(27929) found -[10569] Forked 27930 -(27930) found -[10568] Forked 27931 -(27931) found -[10567] Forked 27932 -(27932) found -[10566] Forked 27933 -(27933) found -[10565] Forked 27934 -(27934) found -[10564] Forked 27935 -(27935) found -[10563] Forked 27936 -(27936) found -[10562] Forked 27937 -(27937) found -[10561] Forked 27938 -(27938) found -[10560] Forked 27939 -(27939) found -[10559] Forked 27940 -(27940) found -[10558] Forked 27941 -(27941) found -[10557] Forked 27942 -(27942) found -[10556] Forked 27943 -(27943) found -[10555] Forked 27944 -(27944) found -[10554] Forked 27945 -(27945) found -[10553] Forked 27946 -(27946) found -[10552] Forked 27947 -(27947) found -[10551] Forked 27948 -(27948) found -[10550] Forked 27949 -(27949) found -[10549] Forked 27950 -(27950) found -[10548] Forked 27951 -(27951) found -[10547] Forked 27952 -(27952) found -[10546] Forked 27953 -(27953) found -[10545] Forked 27954 -(27954) found -[10544] Forked 27955 -(27955) found -[10543] Forked 27956 -(27956) found -[10542] Forked 27957 -(27957) found -[10541] Forked 27958 -(27958) found -[10540] Forked 27959 -(27959) found -[10539] Forked 27960 -(27960) found -[10538] Forked 27961 -(27961) found -[10537] Forked 27962 -(27962) found -[10536] Forked 27963 -(27963) found -[10535] Forked 27964 -(27964) found -[10534] Forked 27965 -(27965) found -[10533] Forked 27966 -(27966) found -[10532] Forked 27967 -(27967) found -[10531] Forked 27968 -(27968) found -[10530] Forked 27969 -(27969) found -[10529] Forked 27970 -(27970) found -[10528] Forked 27971 -(27971) found -[10527] Forked 27972 -(27972) found -[10526] Forked 27973 -(27973) found -[10525] Forked 27974 -(27974) found -[10524] Forked 27975 -(27975) found -[10523] Forked 27976 -(27976) found -[10522] Forked 27977 -(27977) found -[10521] Forked 27978 -(27978) found -[10520] Forked 27979 -(27979) found -[10519] Forked 27980 -(27980) found -[10518] Forked 27981 -(27981) found -[10517] Forked 27982 -(27982) found -[10516] Forked 27983 -(27983) found -[10515] Forked 27984 -(27984) found -[10514] Forked 27985 -(27985) found -[10513] Forked 27986 -[10512] Forked 27988 -(27986) found -(27988) found -[10511] Forked 27989 -[10510] Forked 27990 -(27989) found -(27990) found -[10509] Forked 27991 -[10508] Forked 27992 -(27991) found -(27992) found -[10507] Forked 27993 -[10506] Forked 27994 -(27993) found -(27994) found -[10505] Forked 27995 -[10504] Forked 27996 -(27995) found -(27996) found -[10503] Forked 27997 -[10502] Forked 27998 -(27997) found -(27998) found -[10501] Forked 27999 -[10500] Forked 28000 -(27999) found -(28000) found -[10499] Forked 28001 -[10498] Forked 28002 -(28001) found -(28002) found -[10497] Forked 28003 -[10496] Forked 28004 -(28003) found -(28004) found -[10495] Forked 28005 -[10494] Forked 28006 -(28005) found -(28006) found -[10493] Forked 28007 -[10492] Forked 28008 -(28007) found -(28008) found -[10491] Forked 28009 -[10490] Forked 28010 -(28009) found -(28010) found -[10489] Forked 28011 -[10488] Forked 28012 -(28011) found -(28012) found -[10487] Forked 28013 -[10486] Forked 28014 -(28013) found -(28014) found -[10485] Forked 28015 -[10484] Forked 28016 -(28015) found -(28016) found -[10483] Forked 28017 -[10482] Forked 28018 -(28017) found -(28018) found -[10481] Forked 28019 -[10480] Forked 28020 -(28019) found -(28020) found -[10479] Forked 28021 -[10478] Forked 28022 -(28021) found -(28022) found -[10477] Forked 28023 -[10476] Forked 28024 -(28023) found -(28024) found -[10475] Forked 28025 -[10474] Forked 28026 -(28025) found -(28026) found -[10473] Forked 28027 -[10472] Forked 28028 -(28027) found -(28028) found -[10471] Forked 28029 -[10470] Forked 28030 -(28029) found -(28030) found -[10469] Forked 28031 -(28031) found -[10468] Forked 28032 -(28032) found -[10467] Forked 28033 -(28033) found -[10466] Forked 28034 -(28034) found -[10465] Forked 28035 -(28035) found -[10464] Forked 28036 -(28036) found -[10463] Forked 28037 -(28037) found -[10462] Forked 28038 -(28038) found -[10461] Forked 28039 -(28039) found -[10460] Forked 28040 -(28040) found -[10459] Forked 28041 -(28041) found -[10458] Forked 28042 -(28042) found -[10457] Forked 28043 -(28043) found -[10456] Forked 28044 -(28044) found -[10455] Forked 28045 -(28045) found -[10454] Forked 28047 -(28047) found -[10453] Forked 28048 -(28048) found -[10452] Forked 28049 -(28049) found -[10451] Forked 28050 -(28050) found -[10450] Forked 28051 -(28051) found -[10449] Forked 28052 -(28052) found -[10448] Forked 28053 -(28053) found -[10447] Forked 28054 -(28054) found -[10446] Forked 28055 -(28055) found -[10445] Forked 28056 -(28056) found -[10444] Forked 28057 -(28057) found -[10443] Forked 28058 -(28058) found -[10442] Forked 28059 -(28059) found -[10441] Forked 28060 -(28060) found -[10440] Forked 28061 -(28061) found -[10439] Forked 28062 -(28062) found -[10438] Forked 28063 -(28063) found -[10437] Forked 28064 -(28064) found -[10436] Forked 28065 -(28065) found -[10435] Forked 28066 -(28066) found -[10434] Forked 28067 -(28067) found -[10433] Forked 28068 -[10432] Forked 28069 -(28068) found -(28069) found -[10431] Forked 28070 -[10430] Forked 28071 -(28070) found -(28071) found -[10429] Forked 28072 -[10428] Forked 28073 -(28072) found -(28073) found -[10427] Forked 28074 -[10426] Forked 28075 -(28074) found -(28075) found -[10425] Forked 28076 -[10424] Forked 28077 -(28076) found -(28077) found -[10423] Forked 28078 -[10422] Forked 28079 -(28078) found -(28079) found -[10421] Forked 28080 -[10420] Forked 28081 -(28080) found -(28081) found -[10419] Forked 28082 -[10418] Forked 28083 -(28082) found -(28083) found -[10417] Forked 28084 -[10416] Forked 28085 -(28084) found -(28085) found -[10415] Forked 28086 -[10414] Forked 28087 -(28086) found -(28087) found -[10413] Forked 28088 -[10412] Forked 28089 -(28088) found -(28089) found -[10411] Forked 28090 -[10410] Forked 28091 -(28090) found -(28091) found -[10409] Forked 28092 -[10408] Forked 28093 -(28092) found -(28093) found -[10407] Forked 28094 -[10406] Forked 28095 -(28094) found -(28095) found -[10405] Forked 28096 -[10404] Forked 28097 -(28096) found -(28097) found -[10403] Forked 28098 -[10402] Forked 28100 -(28098) found -(28100) found -[10401] Forked 28101 -(28101) found -[10400] Forked 28102 -(28102) found -[10399] Forked 28103 -(28103) found -[10398] Forked 28104 -(28104) found -[10397] Forked 28105 -(28105) found -[10396] Forked 28106 -(28106) found -[10395] Forked 28107 -(28107) found -[10394] Forked 28108 -(28108) found -[10393] Forked 28109 -(28109) found -[10392] Forked 28110 -(28110) found -[10391] Forked 28111 -(28111) found -[10390] Forked 28112 -(28112) found -[10389] Forked 28113 -(28113) found -[10388] Forked 28114 -(28114) found -[10387] Forked 28115 -(28115) found -[10386] Forked 28116 -(28116) found -[10385] Forked 28117 -(28117) found -[10384] Forked 28118 -(28118) found -[10383] Forked 28119 -(28119) found -[10382] Forked 28120 -(28120) found -[10381] Forked 28121 -(28121) found -[10380] Forked 28122 -(28122) found -[10379] Forked 28123 -(28123) found -[10378] Forked 28124 -(28124) found -[10377] Forked 28125 -(28125) found -[10376] Forked 28126 -(28126) found -[10375] Forked 28127 -(28127) found -[10374] Forked 28128 -(28128) found -[10373] Forked 28129 -(28129) found -[10372] Forked 28130 -(28130) found -[10371] Forked 28131 -(28131) found -[10370] Forked 28132 -(28132) found -[10369] Forked 28133 -(28133) found -[10368] Forked 28134 -(28134) found -[10367] Forked 28135 -(28135) found -[10366] Forked 28136 -(28136) found -[10365] Forked 28137 -(28137) found -[10364] Forked 28138 -(28138) found -[10363] Forked 28139 -(28139) found -[10362] Forked 28140 -(28140) found -[10361] Forked 28141 -(28141) found -[10360] Forked 28142 -(28142) found -[10359] Forked 28143 -(28143) found -[10358] Forked 28144 -(28144) found -[10357] Forked 28145 -(28145) found -[10356] Forked 28146 -(28146) found -[10355] Forked 28147 -(28147) found -[10354] Forked 28148 -(28148) found -[10353] Forked 28149 -(28149) found -[10352] Forked 28150 -(28150) found -[10351] Forked 28151 -(28151) found -[10350] Forked 28152 -(28152) found -[10349] Forked 28153 -(28153) found -[10348] Forked 28154 -(28154) found -[10347] Forked 28155 -(28155) found -[10346] Forked 28156 -(28156) found -[10345] Forked 28157 -(28157) found -[10344] Forked 28158 -(28158) found -[10343] Forked 28159 -(28159) found -[10342] Forked 28160 -(28160) found -[10341] Forked 28161 -(28161) found -[10340] Forked 28162 -(28162) found -[10339] Forked 28163 -(28163) found -[10338] Forked 28164 -(28164) found -[10337] Forked 28165 -(28165) found -[10336] Forked 28166 -(28166) found -[10335] Forked 28167 -(28167) found -[10334] Forked 28168 -(28168) found -[10333] Forked 28169 -(28169) found -[10332] Forked 28170 -(28170) found -[10331] Forked 28171 -(28171) found -[10330] Forked 28172 -(28172) found -[10329] Forked 28173 -(28173) found -[10328] Forked 28174 -(28174) found -[10327] Forked 28175 -(28175) found -[10326] Forked 28176 -(28176) found -[10325] Forked 28177 -(28177) found -[10324] Forked 28178 -(28178) found -[10323] Forked 28179 -(28179) found -[10322] Forked 28180 -(28180) found -[10321] Forked 28181 -(28181) found -[10320] Forked 28182 -(28182) found -[10319] Forked 28183 -[10318] Forked 28184 -(28183) found -(28184) found -[10317] Forked 28185 -[10316] Forked 28186 -(28185) found -(28186) found -[10315] Forked 28187 -[10314] Forked 28188 -(28187) found -(28188) found -[10313] Forked 28189 -[10312] Forked 28190 -(28189) found -(28190) found -[10311] Forked 28191 -[10310] Forked 28192 -(28191) found -(28192) found -[10309] Forked 28193 -[10308] Forked 28194 -(28193) found -(28194) found -[10307] Forked 28195 -[10306] Forked 28196 -(28195) found -(28196) found -[10305] Forked 28197 -[10304] Forked 28198 -(28197) found -(28198) found -[10303] Forked 28199 -[10302] Forked 28200 -(28199) found -(28200) found -[10301] Forked 28201 -[10300] Forked 28202 -(28201) found -(28202) found -[10299] Forked 28203 -[10298] Forked 28204 -(28203) found -(28204) found -[10297] Forked 28205 -[10296] Forked 28206 -(28205) found -(28206) found -[10295] Forked 28207 -[10294] Forked 28208 -(28207) found -(28208) found -[10293] Forked 28209 -[10292] Forked 28210 -(28209) found -(28210) found -[10291] Forked 28211 -[10290] Forked 28212 -(28211) found -(28212) found -[10289] Forked 28213 -[10288] Forked 28214 -(28213) found -(28214) found -[10287] Forked 28215 -[10286] Forked 28216 -(28215) found -(28216) found -[10285] Forked 28217 -[10284] Forked 28218 -(28217) found -(28218) found -[10283] Forked 28219 -[10282] Forked 28220 -(28219) found -(28220) found -[10281] Forked 28221 -[10280] Forked 28222 -(28221) found -(28222) found -[10279] Forked 28223 -[10278] Forked 28224 -(28223) found -(28224) found -[10277] Forked 28225 -[10276] Forked 28226 -(28225) found -(28226) found -[10275] Forked 28227 -[10274] Forked 28228 -(28227) found -(28228) found -[10273] Forked 28229 -(28229) found -[10272] Forked 28230 -(28230) found -[10271] Forked 28231 -(28231) found -[10270] Forked 28232 -(28232) found -[10269] Forked 28233 -(28233) found -[10268] Forked 28234 -(28234) found -[10267] Forked 28235 -(28235) found -[10266] Forked 28236 -(28236) found -[10265] Forked 28237 -(28237) found -[10264] Forked 28238 -(28238) found -[10263] Forked 28239 -(28239) found -[10262] Forked 28240 -(28240) found -[10261] Forked 28241 -(28241) found -[10260] Forked 28242 -(28242) found -[10259] Forked 28243 -(28243) found -[10258] Forked 28244 -(28244) found -[10257] Forked 28245 -(28245) found -[10256] Forked 28246 -(28246) found -[10255] Forked 28247 -(28247) found -[10254] Forked 28248 -(28248) found -[10253] Forked 28249 -(28249) found -[10252] Forked 28250 -(28250) found -[10251] Forked 28251 -(28251) found -[10250] Forked 28252 -(28252) found -[10249] Forked 28253 -(28253) found -[10248] Forked 28254 -(28254) found -[10247] Forked 28255 -(28255) found -[10246] Forked 28256 -(28256) found -[10245] Forked 28257 -(28257) found -[10244] Forked 28258 -(28258) found -[10243] Forked 28259 -(28259) found -[10242] Forked 28260 -(28260) found -[10241] Forked 28261 -(28261) found -[10240] Forked 28262 -(28262) found -[10239] Forked 28263 -(28263) found -[10238] Forked 28264 -(28264) found -[10237] Forked 28265 -[10236] Forked 28266 -(28265) found -(28266) found -[10235] Forked 28267 -[10234] Forked 28268 -(28267) found -(28268) found -[10233] Forked 28269 -[10232] Forked 28270 -(28269) found -(28270) found -[10231] Forked 28271 -[10230] Forked 28272 -(28271) found -(28272) found -[10229] Forked 28273 -[10228] Forked 28274 -(28273) found -(28274) found -[10227] Forked 28275 -[10226] Forked 28276 -(28275) found -(28276) found -[10225] Forked 28277 -(28277) found -[10224] Forked 28278 -(28278) found -[10223] Forked 28279 -(28279) found -[10222] Forked 28280 -(28280) found -[10221] Forked 28281 -(28281) found -[10220] Forked 28282 -(28282) found -[10219] Forked 28283 -(28283) found -[10218] Forked 28284 -[10217] Forked 28285 -(28284) found -(28285) found -[10216] Forked 28286 -[10215] Forked 28287 -(28286) found -(28287) found -[10214] Forked 28288 -[10213] Forked 28289 -(28288) found -(28289) found -[10212] Forked 28290 -[10211] Forked 28291 -(28290) found -(28291) found -[10210] Forked 28292 -[10209] Forked 28293 -(28292) found -(28293) found -[10208] Forked 28294 -[10207] Forked 28295 -(28294) found -(28295) found -[10206] Forked 28296 -[10205] Forked 28297 -(28296) found -(28297) found -[10204] Forked 28298 -[10203] Forked 28299 -(28298) found -(28299) found -[10202] Forked 28300 -[10201] Forked 28301 -(28300) found -(28301) found -[10200] Forked 28302 -[10199] Forked 28303 -(28302) found -(28303) found -[10198] Forked 28304 -[10197] Forked 28305 -(28304) found -(28305) found -[10196] Forked 28306 -[10195] Forked 28307 -(28306) found -(28307) found -[10194] Forked 28308 -[10193] Forked 28309 -(28308) found -(28309) found -[10192] Forked 28310 -[10191] Forked 28311 -(28310) found -(28311) found -[10190] Forked 28312 -[10189] Forked 28313 -(28312) found -(28313) found -[10188] Forked 28314 -[10187] Forked 28315 -(28314) found -(28315) found -[10186] Forked 28316 -[10185] Forked 28317 -(28316) found -(28317) found -[10184] Forked 28318 -[10183] Forked 28319 -(28318) found -(28319) found -[10182] Forked 28320 -[10181] Forked 28321 -(28320) found -(28321) found -[10180] Forked 28322 -[10179] Forked 28323 -(28322) found -(28323) found -[10178] Forked 28324 -[10177] Forked 28325 -(28324) found -(28325) found -[10176] Forked 28326 -[10175] Forked 28327 -(28326) found -(28327) found -[10174] Forked 28328 -[10173] Forked 28329 -(28328) found -(28329) found -[10172] Forked 28330 -[10171] Forked 28331 -(28330) found -(28331) found -[10170] Forked 28332 -[10169] Forked 28333 -(28332) found -(28333) found -[10168] Forked 28334 -[10167] Forked 28335 -(28334) found -(28335) found -[10166] Forked 28336 -[10165] Forked 28337 -(28336) found -(28337) found -[10164] Forked 28338 -[10163] Forked 28339 -(28338) found -(28339) found -[10162] Forked 28340 -[10161] Forked 28341 -(28340) found -(28341) found -[10160] Forked 28342 -[10159] Forked 28343 -(28342) found -(28343) found -[10158] Forked 28344 -[10157] Forked 28345 -(28344) found -(28345) found -[10156] Forked 28346 -[10155] Forked 28347 -(28346) found -(28347) found -[10154] Forked 28348 -[10153] Forked 28349 -(28348) found -(28349) found -[10152] Forked 28350 -[10151] Forked 28351 -(28350) found -(28351) found -[10150] Forked 28352 -(28352) found -[10149] Forked 28353 -(28353) found -[10148] Forked 28354 -(28354) found -[10147] Forked 28355 -(28355) found -[10146] Forked 28356 -(28356) found -[10145] Forked 28357 -(28357) found -[10144] Forked 28358 -(28358) found -[10143] Forked 28359 -(28359) found -[10142] Forked 28360 -(28360) found -[10141] Forked 28361 -(28361) found -[10140] Forked 28362 -(28362) found -[10139] Forked 28363 -(28363) found -[10138] Forked 28364 -(28364) found -[10137] Forked 28365 -(28365) found -[10136] Forked 28366 -(28366) found -[10135] Forked 28367 -(28367) found -[10134] Forked 28368 -(28368) found -[10133] Forked 28369 -(28369) found -[10132] Forked 28370 -(28370) found -[10131] Forked 28371 -(28371) found -[10130] Forked 28372 -(28372) found -[10129] Forked 28373 -(28373) found -[10128] Forked 28374 -(28374) found -[10127] Forked 28375 -(28375) found -[10126] Forked 28376 -(28376) found -[10125] Forked 28377 -(28377) found -[10124] Forked 28378 -(28378) found -[10123] Forked 28379 -(28379) found -[10122] Forked 28380 -(28380) found -[10121] Forked 28381 -(28381) found -[10120] Forked 28382 -(28382) found -[10119] Forked 28383 -(28383) found -[10118] Forked 28384 -(28384) found -[10117] Forked 28385 -(28385) found -[10116] Forked 28386 -(28386) found -[10115] Forked 28387 -(28387) found -[10114] Forked 28388 -[10113] Forked 28389 -(28388) found -(28389) found -[10112] Forked 28390 -[10111] Forked 28391 -(28390) found -(28391) found -[10110] Forked 28392 -[10109] Forked 28393 -(28392) found -(28393) found -[10108] Forked 28394 -[10107] Forked 28395 -(28394) found -(28395) found -[10106] Forked 28396 -[10105] Forked 28397 -(28396) found -(28397) found -[10104] Forked 28398 -[10103] Forked 28399 -(28398) found -(28399) found -[10102] Forked 28400 -[10101] Forked 28401 -(28400) found -(28401) found -[10100] Forked 28402 -[10099] Forked 28403 -(28402) found -(28403) found -[10098] Forked 28404 -[10097] Forked 28405 -(28404) found -(28405) found -[10096] Forked 28406 -[10095] Forked 28407 -(28406) found -(28407) found -[10094] Forked 28408 -[10093] Forked 28409 -(28408) found -(28409) found -[10092] Forked 28410 -[10091] Forked 28411 -(28410) found -(28411) found -[10090] Forked 28412 -[10089] Forked 28413 -(28412) found -(28413) found -[10088] Forked 28414 -[10087] Forked 28415 -(28414) found -(28415) found -[10086] Forked 28416 -[10085] Forked 28417 -(28416) found -(28417) found -[10084] Forked 28418 -[10083] Forked 28419 -(28418) found -(28419) found -[10082] Forked 28420 -[10081] Forked 28421 -(28420) found -(28421) found -[10080] Forked 28422 -[10079] Forked 28423 -(28422) found -(28423) found -[10078] Forked 28424 -[10077] Forked 28425 -(28424) found -(28425) found -[10076] Forked 28426 -[10075] Forked 28427 -(28426) found -(28427) found -[10074] Forked 28428 -[10073] Forked 28429 -(28428) found -(28429) found -[10072] Forked 28430 -[10071] Forked 28431 -(28430) found -(28431) found -[10070] Forked 28432 -[10069] Forked 28433 -(28432) found -(28433) found -[10068] Forked 28434 -[10067] Forked 28435 -(28434) found -(28435) found -[10066] Forked 28436 -[10065] Forked 28437 -(28436) found -(28437) found -[10064] Forked 28438 -[10063] Forked 28439 -(28438) found -(28439) found -[10062] Forked 28440 -[10061] Forked 28441 -(28440) found -(28441) found -[10060] Forked 28442 -[10059] Forked 28443 -(28442) found -(28443) found -[10058] Forked 28444 -[10057] Forked 28445 -(28444) found -(28445) found -[10056] Forked 28446 -[10055] Forked 28447 -(28446) found -(28447) found -[10054] Forked 28448 -[10053] Forked 28449 -(28448) found -(28449) found -[10052] Forked 28450 -[10051] Forked 28452 -(28450) found -(28452) found -[10050] Forked 28453 -(28453) found -[10049] Forked 28454 -(28454) found -[10048] Forked 28455 -(28455) found -[10047] Forked 28456 -(28456) found -[10046] Forked 28457 -(28457) found -[10045] Forked 28458 -(28458) found -[10044] Forked 28459 -(28459) found -[10043] Forked 28460 -(28460) found -[10042] Forked 28461 -(28461) found -[10041] Forked 28462 -(28462) found -[10040] Forked 28463 -(28463) found -[10039] Forked 28464 -(28464) found -[10038] Forked 28465 -(28465) found -[10037] Forked 28466 -(28466) found -[10036] Forked 28467 -(28467) found -[10035] Forked 28468 -(28468) found -[10034] Forked 28469 -(28469) found -[10033] Forked 28470 -(28470) found -[10032] Forked 28471 -(28471) found -[10031] Forked 28472 -(28472) found -[10030] Forked 28473 -(28473) found -[10029] Forked 28474 -(28474) found -[10028] Forked 28475 -(28475) found -[10027] Forked 28476 -(28476) found -[10026] Forked 28477 -(28477) found -[10025] Forked 28478 -(28478) found -[10024] Forked 28479 -(28479) found -[10023] Forked 28480 -(28480) found -[10022] Forked 28481 -(28481) found -[10021] Forked 28482 -(28482) found -[10020] Forked 28483 -(28483) found -[10019] Forked 28484 -(28484) found -[10018] Forked 28485 -(28485) found -[10017] Forked 28486 -(28486) found -[10016] Forked 28487 -(28487) found -[10015] Forked 28488 -(28488) found -[10014] Forked 28489 -(28489) found -[10013] Forked 28490 -(28490) found -[10012] Forked 28491 -(28491) found -[10011] Forked 28492 -(28492) found -[10010] Forked 28493 -(28493) found -[10009] Forked 28494 -(28494) found -[10008] Forked 28495 -(28495) found -[10007] Forked 28496 -(28496) found -[10006] Forked 28497 -(28497) found -[10005] Forked 28498 -(28498) found -[10004] Forked 28499 -(28499) found -[10003] Forked 28500 -(28500) found -[10002] Forked 28501 -(28501) found -[10001] Forked 28502 -(28502) found -[10000] Forked 28503 -(28503) found -[9999] Forked 28504 -(28504) found -[9998] Forked 28505 -(28505) found -[9997] Forked 28506 -(28506) found -[9996] Forked 28507 -(28507) found -[9995] Forked 28508 -(28508) found -[9994] Forked 28509 -(28509) found -[9993] Forked 28510 -(28510) found -[9992] Forked 28511 -(28511) found -[9991] Forked 28512 -(28512) found -[9990] Forked 28513 -(28513) found -[9989] Forked 28514 -(28514) found -[9988] Forked 28515 -(28515) found -[9987] Forked 28516 -(28516) found -[9986] Forked 28517 -(28517) found -[9985] Forked 28518 -(28518) found -[9984] Forked 28519 -(28519) found -[9983] Forked 28520 -(28520) found -[9982] Forked 28521 -(28521) found -[9981] Forked 28522 -(28522) found -[9980] Forked 28523 -(28523) found -[9979] Forked 28524 -(28524) found -[9978] Forked 28525 -(28525) found -[9977] Forked 28526 -(28526) found -[9976] Forked 28527 -(28527) found -[9975] Forked 28528 -(28528) found -[9974] Forked 28529 -(28529) found -[9973] Forked 28530 -(28530) found -[9972] Forked 28531 -(28531) found -[9971] Forked 28532 -(28532) found -[9970] Forked 28533 -(28533) found -[9969] Forked 28534 -(28534) found -[9968] Forked 28535 -(28535) found -[9967] Forked 28536 -(28536) found -[9966] Forked 28537 -(28537) found -[9965] Forked 28538 -(28538) found -[9964] Forked 28539 -(28539) found -[9963] Forked 28540 -(28540) found -[9962] Forked 28541 -(28541) found -[9961] Forked 28542 -[9960] Forked 28543 -(28542) found -(28543) found -[9959] Forked 28544 -[9958] Forked 28545 -(28544) found -(28545) found -[9957] Forked 28546 -[9956] Forked 28547 -(28546) found -(28547) found -[9955] Forked 28548 -[9954] Forked 28549 -(28548) found -(28549) found -[9953] Forked 28550 -[9952] Forked 28551 -(28550) found -(28551) found -[9951] Forked 28552 -[9950] Forked 28553 -(28552) found -(28553) found -[9949] Forked 28554 -[9948] Forked 28555 -(28554) found -(28555) found -[9947] Forked 28556 -[9946] Forked 28557 -(28556) found -(28557) found -[9945] Forked 28558 -[9944] Forked 28559 -(28558) found -(28559) found -[9943] Forked 28560 -[9942] Forked 28561 -(28560) found -(28561) found -[9941] Forked 28562 -[9940] Forked 28563 -(28562) found -(28563) found -[9939] Forked 28564 -[9938] Forked 28565 -(28564) found -(28565) found -[9937] Forked 28566 -[9936] Forked 28567 -(28566) found -(28567) found -[9935] Forked 28568 -[9934] Forked 28569 -(28568) found -(28569) found -[9933] Forked 28570 -[9932] Forked 28572 -(28570) found -(28572) found -[9931] Forked 28573 -(28573) found -[9930] Forked 28574 -(28574) found -[9929] Forked 28575 -(28575) found -[9928] Forked 28576 -(28576) found -[9927] Forked 28577 -(28577) found -[9926] Forked 28578 -(28578) found -[9925] Forked 28579 -(28579) found -[9924] Forked 28580 -(28580) found -[9923] Forked 28581 -(28581) found -[9922] Forked 28582 -(28582) found -[9921] Forked 28583 -(28583) found -[9920] Forked 28584 -(28584) found -[9919] Forked 28585 -(28585) found -[9918] Forked 28586 -(28586) found -[9917] Forked 28587 -(28587) found -[9916] Forked 28588 -(28588) found -[9915] Forked 28589 -(28589) found -[9914] Forked 28590 -(28590) found -[9913] Forked 28591 -(28591) found -[9912] Forked 28592 -(28592) found -[9911] Forked 28593 -(28593) found -[9910] Forked 28594 -(28594) found -[9909] Forked 28595 -(28595) found -[9908] Forked 28596 -(28596) found -[9907] Forked 28597 -(28597) found -[9906] Forked 28598 -(28598) found -[9905] Forked 28599 -(28599) found -[9904] Forked 28600 -(28600) found -[9903] Forked 28601 -(28601) found -[9902] Forked 28602 -(28602) found -[9901] Forked 28603 -(28603) found -[9900] Forked 28604 -(28604) found -[9899] Forked 28605 -(28605) found -[9898] Forked 28606 -(28606) found -[9897] Forked 28607 -(28607) found -[9896] Forked 28608 -(28608) found -[9895] Forked 28609 -(28609) found -[9894] Forked 28610 -(28610) found -[9893] Forked 28611 -(28611) found -[9892] Forked 28612 -(28612) found -[9891] Forked 28613 -(28613) found -[9890] Forked 28614 -(28614) found -[9889] Forked 28615 -(28615) found -[9888] Forked 28616 -(28616) found -[9887] Forked 28617 -(28617) found -[9886] Forked 28618 -(28618) found -[9885] Forked 28619 -(28619) found -[9884] Forked 28620 -(28620) found -[9883] Forked 28621 -(28621) found -[9882] Forked 28622 -(28622) found -[9881] Forked 28623 -(28623) found -[9880] Forked 28624 -(28624) found -[9879] Forked 28625 -(28625) found -[9878] Forked 28626 -(28626) found -[9877] Forked 28627 -(28627) found -[9876] Forked 28628 -(28628) found -[9875] Forked 28629 -(28629) found -[9874] Forked 28630 -(28630) found -[9873] Forked 28631 -(28631) found -[9872] Forked 28632 -(28632) found -[9871] Forked 28633 -(28633) found -[9870] Forked 28634 -(28634) found -[9869] Forked 28635 -(28635) found -[9868] Forked 28636 -(28636) found -[9867] Forked 28637 -(28637) found -[9866] Forked 28638 -(28638) found -[9865] Forked 28639 -(28639) found -[9864] Forked 28640 -(28640) found -[9863] Forked 28641 -(28641) found -[9862] Forked 28642 -(28642) found -[9861] Forked 28643 -(28643) found -[9860] Forked 28644 -(28644) found -[9859] Forked 28645 -(28645) found -[9858] Forked 28646 -(28646) found -[9857] Forked 28647 -(28647) found -[9856] Forked 28648 -(28648) found -[9855] Forked 28649 -(28649) found -[9854] Forked 28650 -(28650) found -[9853] Forked 28651 -(28651) found -[9852] Forked 28652 -(28652) found -[9851] Forked 28653 -(28653) found -[9850] Forked 28654 -(28654) found -[9849] Forked 28655 -[9848] Forked 28656 -(28655) found -(28656) found -[9847] Forked 28657 -[9846] Forked 28658 -(28657) found -(28658) found -[9845] Forked 28659 -[9844] Forked 28660 -(28659) found -(28660) found -[9843] Forked 28661 -[9842] Forked 28662 -(28661) found -(28662) found -[9841] Forked 28663 -[9840] Forked 28664 -(28663) found -(28664) found -[9839] Forked 28665 -[9838] Forked 28666 -(28665) found -(28666) found -[9837] Forked 28667 -[9836] Forked 28668 -(28667) found -(28668) found -[9835] Forked 28669 -[9834] Forked 28670 -(28669) found -(28670) found -[9833] Forked 28671 -[9832] Forked 28672 -(28671) found -(28672) found -[9831] Forked 28673 -[9830] Forked 28674 -(28673) found -(28674) found -[9829] Forked 28675 -[9828] Forked 28676 -(28675) found -(28676) found -[9827] Forked 28677 -[9826] Forked 28678 -(28677) found -(28678) found -[9825] Forked 28679 -[9824] Forked 28680 -(28679) found -(28680) found -[9823] Forked 28681 -[9822] Forked 28682 -(28681) found -(28682) found -[9821] Forked 28683 -[9820] Forked 28684 -(28683) found -(28684) found -[9819] Forked 28685 -[9818] Forked 28686 -(28685) found -(28686) found -[9817] Forked 28687 -[9816] Forked 28688 -(28687) found -(28688) found -[9815] Forked 28689 -[9814] Forked 28690 -(28689) found -(28690) found -[9813] Forked 28691 -[9812] Forked 28692 -(28691) found -(28692) found -[9811] Forked 28693 -[9810] Forked 28694 -(28693) found -(28694) found -[9809] Forked 28696 -[9808] Forked 28697 -(28696) found -(28697) found -[9807] Forked 28698 -[9806] Forked 28699 -(28698) found -(28699) found -[9805] Forked 28700 -[9804] Forked 28701 -(28700) found -(28701) found -[9803] Forked 28702 -(28702) found -[9802] Forked 28703 -(28703) found -[9801] Forked 28704 -(28704) found -[9800] Forked 28705 -(28705) found -[9799] Forked 28706 -(28706) found -[9798] Forked 28707 -(28707) found -[9797] Forked 28708 -(28708) found -[9796] Forked 28709 -(28709) found -[9795] Forked 28710 -(28710) found -[9794] Forked 28711 -(28711) found -[9793] Forked 28712 -(28712) found -[9792] Forked 28713 -(28713) found -[9791] Forked 28714 -(28714) found -[9790] Forked 28715 -(28715) found -[9789] Forked 28716 -(28716) found -[9788] Forked 28717 -(28717) found -[9787] Forked 28718 -(28718) found -[9786] Forked 28719 -(28719) found -[9785] Forked 28720 -(28720) found -[9784] Forked 28721 -(28721) found -[9783] Forked 28722 -(28722) found -[9782] Forked 28723 -(28723) found -[9781] Forked 28724 -(28724) found -[9780] Forked 28725 -(28725) found -[9779] Forked 28726 -(28726) found -[9778] Forked 28727 -(28727) found -[9777] Forked 28728 -(28728) found -[9776] Forked 28729 -(28729) found -[9775] Forked 28730 -(28730) found -[9774] Forked 28731 -(28731) found -[9773] Forked 28732 -(28732) found -[9772] Forked 28733 -(28733) found -[9771] Forked 28734 -(28734) found -[9770] Forked 28735 -(28735) found -[9769] Forked 28736 -(28736) found -[9768] Forked 28737 -[9767] Forked 28738 -(28737) found -(28738) found -[9766] Forked 28739 -[9765] Forked 28740 -(28739) found -(28740) found -[9764] Forked 28741 -[9763] Forked 28742 -(28741) found -(28742) found -[9762] Forked 28743 -[9761] Forked 28744 -(28743) found -(28744) found -[9760] Forked 28745 -[9759] Forked 28746 -(28745) found -(28746) found -[9758] Forked 28747 -[9757] Forked 28748 -(28747) found -(28748) found -[9756] Forked 28749 -[9755] Forked 28750 -(28749) found -(28750) found -[9754] Forked 28751 -[9753] Forked 28752 -(28751) found -(28752) found -[9752] Forked 28753 -[9751] Forked 28754 -(28753) found -(28754) found -[9750] Forked 28755 -[9749] Forked 28756 -(28755) found -(28756) found -[9748] Forked 28757 -[9747] Forked 28758 -(28757) found -(28758) found -[9746] Forked 28759 -[9745] Forked 28760 -(28759) found -(28760) found -[9744] Forked 28761 -[9743] Forked 28762 -(28761) found -(28762) found -[9742] Forked 28763 -[9741] Forked 28764 -(28763) found -(28764) found -[9740] Forked 28765 -[9739] Forked 28766 -(28765) found -(28766) found -[9738] Forked 28767 -[9737] Forked 28768 -(28767) found -(28768) found -[9736] Forked 28769 -[9735] Forked 28770 -(28769) found -(28770) found -[9734] Forked 28771 -[9733] Forked 28772 -(28771) found -(28772) found -[9732] Forked 28773 -[9731] Forked 28774 -(28773) found -(28774) found -[9730] Forked 28775 -[9729] Forked 28776 -(28775) found -(28776) found -[9728] Forked 28777 -[9727] Forked 28778 -(28777) found -(28778) found -[9726] Forked 28779 -[9725] Forked 28780 -(28779) found -(28780) found -[9724] Forked 28781 -[9723] Forked 28782 -(28781) found -(28782) found -[9722] Forked 28783 -(28783) found -[9721] Forked 28784 -(28784) found -[9720] Forked 28785 -(28785) found -[9719] Forked 28786 -(28786) found -[9718] Forked 28787 -(28787) found -[9717] Forked 28788 -(28788) found -[9716] Forked 28789 -(28789) found -[9715] Forked 28790 -(28790) found -[9714] Forked 28791 -(28791) found -[9713] Forked 28792 -(28792) found -[9712] Forked 28793 -(28793) found -[9711] Forked 28794 -(28794) found -[9710] Forked 28795 -(28795) found -[9709] Forked 28796 -(28796) found -[9708] Forked 28797 -(28797) found -[9707] Forked 28798 -(28798) found -[9706] Forked 28799 -(28799) found -[9705] Forked 28800 -(28800) found -[9704] Forked 28801 -(28801) found -[9703] Forked 28802 -(28802) found -[9702] Forked 28803 -(28803) found -[9701] Forked 28804 -(28804) found -[9700] Forked 28805 -(28805) found -[9699] Forked 28806 -(28806) found -[9698] Forked 28807 -(28807) found -[9697] Forked 28808 -(28808) found -[9696] Forked 28809 -(28809) found -[9695] Forked 28810 -(28810) found -[9694] Forked 28811 -(28811) found -[9693] Forked 28812 -(28812) found -[9692] Forked 28813 -(28813) found -[9691] Forked 28814 -(28814) found -[9690] Forked 28815 -(28815) found -[9689] Forked 28816 -(28816) found -[9688] Forked 28817 -[9687] Forked 28818 -(28817) found -(28818) found -[9686] Forked 28819 -[9685] Forked 28820 -(28819) found -(28820) found -[9684] Forked 28821 -[9683] Forked 28822 -(28821) found -(28822) found -[9682] Forked 28823 -[9681] Forked 28824 -(28823) found -(28824) found -[9680] Forked 28825 -[9679] Forked 28826 -(28825) found -(28826) found -[9678] Forked 28827 -[9677] Forked 28828 -(28827) found -(28828) found -[9676] Forked 28829 -[9675] Forked 28830 -(28829) found -(28830) found -[9674] Forked 28831 -[9673] Forked 28832 -(28831) found -(28832) found -[9672] Forked 28833 -[9671] Forked 28834 -(28833) found -(28834) found -[9670] Forked 28835 -[9669] Forked 28836 -(28835) found -(28836) found -[9668] Forked 28837 -[9667] Forked 28838 -(28837) found -(28838) found -[9666] Forked 28839 -[9665] Forked 28840 -(28839) found -(28840) found -[9664] Forked 28841 -[9663] Forked 28842 -(28841) found -(28842) found -[9662] Forked 28843 -[9661] Forked 28844 -(28843) found -(28844) found -[9660] Forked 28845 -[9659] Forked 28846 -(28845) found -(28846) found -[9658] Forked 28847 -[9657] Forked 28848 -(28847) found -(28848) found -[9656] Forked 28849 -[9655] Forked 28850 -(28849) found -(28850) found -[9654] Forked 28851 -[9653] Forked 28852 -(28851) found -(28852) found -[9652] Forked 28853 -[9651] Forked 28854 -(28853) found -(28854) found -[9650] Forked 28855 -[9649] Forked 28856 -(28855) found -(28856) found -[9648] Forked 28857 -[9647] Forked 28858 -(28857) found -(28858) found -[9646] Forked 28859 -[9645] Forked 28860 -(28859) found -(28860) found -[9644] Forked 28861 -[9643] Forked 28862 -(28861) found -(28862) found -[9642] Forked 28863 -(28863) found -[9641] Forked 28864 -(28864) found -[9640] Forked 28865 -(28865) found -[9639] Forked 28866 -(28866) found -[9638] Forked 28867 -(28867) found -[9637] Forked 28868 -(28868) found -[9636] Forked 28869 -(28869) found -[9635] Forked 28870 -(28870) found -[9634] Forked 28871 -(28871) found -[9633] Forked 28872 -(28872) found -[9632] Forked 28873 -(28873) found -[9631] Forked 28874 -(28874) found -[9630] Forked 28875 -(28875) found -[9629] Forked 28876 -(28876) found -[9628] Forked 28877 -(28877) found -[9627] Forked 28878 -(28878) found -[9626] Forked 28879 -(28879) found -[9625] Forked 28880 -(28880) found -[9624] Forked 28881 -(28881) found -[9623] Forked 28882 -(28882) found -[9622] Forked 28883 -(28883) found -[9621] Forked 28884 -(28884) found -[9620] Forked 28885 -(28885) found -[9619] Forked 28886 -(28886) found -[9618] Forked 28887 -(28887) found -[9617] Forked 28888 -(28888) found -[9616] Forked 28889 -(28889) found -[9615] Forked 28890 -(28890) found -[9614] Forked 28891 -(28891) found -[9613] Forked 28892 -(28892) found -[9612] Forked 28893 -(28893) found -[9611] Forked 28894 -(28894) found -[9610] Forked 28895 -(28895) found -[9609] Forked 28896 -(28896) found -[9608] Forked 28897 -(28897) found -[9607] Forked 28898 -[9606] Forked 28899 -(28898) found -(28899) found -[9605] Forked 28900 -[9604] Forked 28901 -(28900) found -(28901) found -[9603] Forked 28902 -[9602] Forked 28903 -(28902) found -(28903) found -[9601] Forked 28904 -[9600] Forked 28905 -(28904) found -(28905) found -[9599] Forked 28906 -[9598] Forked 28907 -(28906) found -(28907) found -[9597] Forked 28908 -[9596] Forked 28909 -(28908) found -(28909) found -[9595] Forked 28910 -[9594] Forked 28911 -(28910) found -(28911) found -[9593] Forked 28912 -[9592] Forked 28913 -(28912) found -(28913) found -[9591] Forked 28914 -[9590] Forked 28915 -(28914) found -(28915) found -[9589] Forked 28916 -[9588] Forked 28917 -(28916) found -(28917) found -[9587] Forked 28918 -[9586] Forked 28919 -(28918) found -(28919) found -[9585] Forked 28920 -[9584] Forked 28921 -(28920) found -(28921) found -[9583] Forked 28922 -[9582] Forked 28923 -(28922) found -(28923) found -[9581] Forked 28924 -[9580] Forked 28925 -(28924) found -(28925) found -[9579] Forked 28926 -[9578] Forked 28927 -(28926) found -(28927) found -[9577] Forked 28928 -[9576] Forked 28929 -(28928) found -(28929) found -[9575] Forked 28930 -[9574] Forked 28931 -(28930) found -(28931) found -[9573] Forked 28932 -[9572] Forked 28933 -(28932) found -(28933) found -[9571] Forked 28934 -[9570] Forked 28935 -(28934) found -(28935) found -[9569] Forked 28936 -[9568] Forked 28937 -(28936) found -(28937) found -[9567] Forked 28938 -[9566] Forked 28939 -(28938) found -(28939) found -[9565] Forked 28940 -[9564] Forked 28941 -(28940) found -(28941) found -[9563] Forked 28942 -[9562] Forked 28943 -(28942) found -(28943) found -[9561] Forked 28944 -[9560] Forked 28945 -(28944) found -(28945) found -[9559] Forked 28946 -[9558] Forked 28947 -(28946) found -(28947) found -[9557] Forked 28948 -[9556] Forked 28949 -(28948) found -(28949) found -[9555] Forked 28950 -[9554] Forked 28951 -(28950) found -(28951) found -[9553] Forked 28952 -[9552] Forked 28953 -(28952) found -(28953) found -[9551] Forked 28954 -[9550] Forked 28955 -(28954) found -(28955) found -[9549] Forked 28956 -[9548] Forked 28957 -(28956) found -(28957) found -[9547] Forked 28958 -[9546] Forked 28959 -(28958) found -(28959) found -[9545] Forked 28960 -[9544] Forked 28961 -(28960) found -(28961) found -[9543] Forked 28962 -[9542] Forked 28963 -(28962) found -(28963) found -[9541] Forked 28964 -[9540] Forked 28965 -(28964) found -(28965) found -[9539] Forked 28966 -[9538] Forked 28967 -(28966) found -(28967) found -[9537] Forked 28968 -[9536] Forked 28969 -(28968) found -(28969) found -[9535] Forked 28970 -[9534] Forked 28971 -(28970) found -(28971) found -[9533] Forked 28972 -[9532] Forked 28973 -(28972) found -(28973) found -[9531] Forked 28974 -[9530] Forked 28975 -(28974) found -(28975) found -[9529] Forked 28976 -[9528] Forked 28977 -(28976) found -(28977) found -[9527] Forked 28978 -[9526] Forked 28979 -(28978) found -(28979) found -[9525] Forked 28980 -[9524] Forked 28981 -(28980) found -(28981) found -[9523] Forked 28982 -[9522] Forked 28983 -(28982) found -(28983) found -[9521] Forked 28984 -[9520] Forked 28985 -(28984) found -(28985) found -[9519] Forked 28986 -[9518] Forked 28987 -(28986) found -(28987) found -[9517] Forked 28988 -(28988) found -[9516] Forked 28989 -(28989) found -[9515] Forked 28990 -(28990) found -[9514] Forked 28991 -(28991) found -[9513] Forked 28992 -(28992) found -[9512] Forked 28993 -(28993) found -[9511] Forked 28994 -(28994) found -[9510] Forked 28995 -(28995) found -[9509] Forked 28996 -(28996) found -[9508] Forked 28997 -(28997) found -[9507] Forked 28998 -(28998) found -[9506] Forked 28999 -(28999) found -[9505] Forked 29000 -(29000) found -[9504] Forked 29001 -(29001) found -[9503] Forked 29002 -(29002) found -[9502] Forked 29003 -(29003) found -[9501] Forked 29004 -(29004) found -[9500] Forked 29005 -(29005) found -[9499] Forked 29006 -(29006) found -[9498] Forked 29007 -(29007) found -[9497] Forked 29008 -(29008) found -[9496] Forked 29009 -(29009) found -[9495] Forked 29010 -(29010) found -[9494] Forked 29011 -(29011) found -[9493] Forked 29012 -(29012) found -[9492] Forked 29013 -(29013) found -[9491] Forked 29014 -(29014) found -[9490] Forked 29015 -(29015) found -[9489] Forked 29016 -(29016) found -[9488] Forked 29017 -(29017) found -[9487] Forked 29018 -(29018) found -[9486] Forked 29019 -(29019) found -[9485] Forked 29020 -(29020) found -[9484] Forked 29021 -(29021) found -[9483] Forked 29022 -(29022) found -[9482] Forked 29023 -(29023) found -[9481] Forked 29024 -[9480] Forked 29025 -(29024) found -(29025) found -[9479] Forked 29026 -[9478] Forked 29027 -(29026) found -(29027) found -[9477] Forked 29028 -[9476] Forked 29029 -(29028) found -(29029) found -[9475] Forked 29030 -(29030) found -[9474] Forked 29031 -[9473] Forked 29032 -(29031) found -(29032) found -[9472] Forked 29033 -[9471] Forked 29034 -(29033) found -(29034) found -[9470] Forked 29035 -[9469] Forked 29036 -(29035) found -(29036) found -[9468] Forked 29037 -[9467] Forked 29038 -(29037) found -(29038) found -[9466] Forked 29039 -[9465] Forked 29040 -(29039) found -(29040) found -[9464] Forked 29041 -[9463] Forked 29042 -(29041) found -(29042) found -[9462] Forked 29043 -[9461] Forked 29044 -(29043) found -(29044) found -[9460] Forked 29045 -[9459] Forked 29046 -(29045) found -(29046) found -[9458] Forked 29047 -[9457] Forked 29048 -(29047) found -(29048) found -[9456] Forked 29049 -[9455] Forked 29050 -(29049) found -(29050) found -[9454] Forked 29051 -[9453] Forked 29052 -(29051) found -(29052) found -[9452] Forked 29053 -[9451] Forked 29054 -(29053) found -(29054) found -[9450] Forked 29055 -[9449] Forked 29056 -(29055) found -(29056) found -[9448] Forked 29057 -[9447] Forked 29058 -(29057) found -(29058) found -[9446] Forked 29059 -[9445] Forked 29060 -(29059) found -(29060) found -[9444] Forked 29061 -[9443] Forked 29062 -(29061) found -(29062) found -[9442] Forked 29063 -[9441] Forked 29064 -(29063) found -(29064) found -[9440] Forked 29065 -[9439] Forked 29066 -(29065) found -(29066) found -[9438] Forked 29067 -(29067) found -[9437] Forked 29068 -(29068) found -[9436] Forked 29069 -(29069) found -[9435] Forked 29070 -(29070) found -[9434] Forked 29071 -(29071) found -[9433] Forked 29072 -(29072) found -[9432] Forked 29073 -(29073) found -[9431] Forked 29074 -(29074) found -[9430] Forked 29075 -(29075) found -[9429] Forked 29076 -(29076) found -[9428] Forked 29077 -(29077) found -[9427] Forked 29078 -(29078) found -[9426] Forked 29079 -(29079) found -[9425] Forked 29080 -(29080) found -[9424] Forked 29081 -(29081) found -[9423] Forked 29082 -(29082) found -[9422] Forked 29083 -(29083) found -[9421] Forked 29084 -(29084) found -[9420] Forked 29085 -(29085) found -[9419] Forked 29086 -(29086) found -[9418] Forked 29087 -(29087) found -[9417] Forked 29088 -(29088) found -[9416] Forked 29089 -(29089) found -[9415] Forked 29090 -(29090) found -[9414] Forked 29091 -(29091) found -[9413] Forked 29092 -(29092) found -[9412] Forked 29093 -(29093) found -[9411] Forked 29094 -(29094) found -[9410] Forked 29095 -(29095) found -[9409] Forked 29096 -(29096) found -[9408] Forked 29097 -(29097) found -[9407] Forked 29098 -(29098) found -[9406] Forked 29099 -(29099) found -[9405] Forked 29100 -(29100) found -[9404] Forked 29101 -(29101) found -[9403] Forked 29102 -(29102) found -[9402] Forked 29103 -[9401] Forked 29104 -(29103) found -(29104) found -[9400] Forked 29105 -[9399] Forked 29106 -(29105) found -(29106) found -[9398] Forked 29107 -(29107) found -[9397] Forked 29108 -[9396] Forked 29109 -(29108) found -(29109) found -[9395] Forked 29110 -[9394] Forked 29111 -(29110) found -(29111) found -[9393] Forked 29112 -[9392] Forked 29113 -(29112) found -(29113) found -[9391] Forked 29114 -[9390] Forked 29115 -(29114) found -(29115) found -[9389] Forked 29116 -[9388] Forked 29117 -(29116) found -(29117) found -[9387] Forked 29118 -[9386] Forked 29119 -(29118) found -(29119) found -[9385] Forked 29120 -[9384] Forked 29121 -(29120) found -(29121) found -[9383] Forked 29122 -[9382] Forked 29123 -(29122) found -(29123) found -[9381] Forked 29124 -[9380] Forked 29125 -(29124) found -(29125) found -[9379] Forked 29126 -[9378] Forked 29127 -(29126) found -(29127) found -[9377] Forked 29128 -[9376] Forked 29129 -(29128) found -(29129) found -[9375] Forked 29130 -[9374] Forked 29131 -(29130) found -(29131) found -[9373] Forked 29132 -[9372] Forked 29133 -(29132) found -(29133) found -[9371] Forked 29134 -[9370] Forked 29135 -(29134) found -(29135) found -[9369] Forked 29136 -[9368] Forked 29137 -(29136) found -(29137) found -[9367] Forked 29138 -[9366] Forked 29139 -(29138) found -(29139) found -[9365] Forked 29140 -[9364] Forked 29141 -(29140) found -(29141) found -[9363] Forked 29142 -[9362] Forked 29143 -(29142) found -(29143) found -[9361] Forked 29144 -[9360] Forked 29145 -(29144) found -(29145) found -[9359] Forked 29146 -[9358] Forked 29147 -(29146) found -(29147) found -[9357] Forked 29148 -[9356] Forked 29149 -(29148) found -(29149) found -[9355] Forked 29150 -[9354] Forked 29151 -(29150) found -(29151) found -[9353] Forked 29152 -[9352] Forked 29153 -(29152) found -(29153) found -[9351] Forked 29154 -[9350] Forked 29155 -(29154) found -(29155) found -[9349] Forked 29156 -[9348] Forked 29157 -(29156) found -(29157) found -[9347] Forked 29158 -[9346] Forked 29159 -(29158) found -(29159) found -[9345] Forked 29160 -[9344] Forked 29161 -(29160) found -(29161) found -[9343] Forked 29162 -[9342] Forked 29163 -(29162) found -(29163) found -[9341] Forked 29164 -[9340] Forked 29165 -(29164) found -(29165) found -[9339] Forked 29166 -[9338] Forked 29167 -(29166) found -(29167) found -[9337] Forked 29168 -[9336] Forked 29169 -(29168) found -(29169) found -[9335] Forked 29170 -[9334] Forked 29171 -(29170) found -(29171) found -[9333] Forked 29172 -[9332] Forked 29173 -(29172) found -(29173) found -[9331] Forked 29174 -[9330] Forked 29176 -(29174) found -(29176) found -[9329] Forked 29177 -(29177) found -[9328] Forked 29178 -(29178) found -[9327] Forked 29179 -(29179) found -[9326] Forked 29180 -(29180) found -[9325] Forked 29181 -(29181) found -[9324] Forked 29182 -(29182) found -[9323] Forked 29183 -(29183) found -[9322] Forked 29184 -(29184) found -[9321] Forked 29185 -(29185) found -[9320] Forked 29186 -(29186) found -[9319] Forked 29187 -(29187) found -[9318] Forked 29188 -(29188) found -[9317] Forked 29189 -(29189) found -[9316] Forked 29190 -(29190) found -[9315] Forked 29191 -(29191) found -[9314] Forked 29192 -(29192) found -[9313] Forked 29193 -(29193) found -[9312] Forked 29194 -(29194) found -[9311] Forked 29195 -(29195) found -[9310] Forked 29196 -(29196) found -[9309] Forked 29197 -(29197) found -[9308] Forked 29198 -(29198) found -[9307] Forked 29199 -(29199) found -[9306] Forked 29200 -(29200) found -[9305] Forked 29201 -(29201) found -[9304] Forked 29202 -(29202) found -[9303] Forked 29203 -(29203) found -[9302] Forked 29204 -(29204) found -[9301] Forked 29205 -(29205) found -[9300] Forked 29206 -(29206) found -[9299] Forked 29207 -(29207) found -[9298] Forked 29208 -(29208) found -[9297] Forked 29209 -(29209) found -[9296] Forked 29210 -(29210) found -[9295] Forked 29211 -(29211) found -[9294] Forked 29212 -(29212) found -[9293] Forked 29213 -(29213) found -[9292] Forked 29214 -(29214) found -[9291] Forked 29215 -(29215) found -[9290] Forked 29216 -(29216) found -[9289] Forked 29217 -(29217) found -[9288] Forked 29218 -(29218) found -[9287] Forked 29219 -(29219) found -[9286] Forked 29220 -(29220) found -[9285] Forked 29221 -(29221) found -[9284] Forked 29222 -(29222) found -[9283] Forked 29223 -(29223) found -[9282] Forked 29224 -(29224) found -[9281] Forked 29225 -(29225) found -[9280] Forked 29226 -[9279] Forked 29227 -(29226) found -(29227) found -[9278] Forked 29228 -[9277] Forked 29229 -(29228) found -(29229) found -[9276] Forked 29230 -[9275] Forked 29231 -(29230) found -(29231) found -[9274] Forked 29232 -[9273] Forked 29233 -(29232) found -(29233) found -[9272] Forked 29234 -[9271] Forked 29235 -(29234) found -(29235) found -[9270] Forked 29236 -[9269] Forked 29237 -(29236) found -(29237) found -[9268] Forked 29238 -[9267] Forked 29239 -(29238) found -(29239) found -[9266] Forked 29240 -[9265] Forked 29241 -(29240) found -(29241) found -[9264] Forked 29242 -[9263] Forked 29243 -(29242) found -(29243) found -[9262] Forked 29244 -[9261] Forked 29245 -(29244) found -(29245) found -[9260] Forked 29246 -[9259] Forked 29247 -(29246) found -(29247) found -[9258] Forked 29248 -[9257] Forked 29249 -(29248) found -(29249) found -[9256] Forked 29250 -[9255] Forked 29251 -(29250) found -(29251) found -[9254] Forked 29252 -[9253] Forked 29253 -(29252) found -(29253) found -[9252] Forked 29254 -[9251] Forked 29255 -(29254) found -(29255) found -[9250] Forked 29256 -[9249] Forked 29257 -(29256) found -(29257) found -[9248] Forked 29258 -[9247] Forked 29259 -(29258) found -(29259) found -[9246] Forked 29260 -[9245] Forked 29261 -(29260) found -(29261) found -[9244] Forked 29262 -[9243] Forked 29263 -(29262) found -(29263) found -[9242] Forked 29264 -[9241] Forked 29265 -(29264) found -(29265) found -[9240] Forked 29266 -[9239] Forked 29267 -(29266) found -(29267) found -[9238] Forked 29268 -[9237] Forked 29269 -(29268) found -(29269) found -[9236] Forked 29270 -[9235] Forked 29271 -(29270) found -(29271) found -[9234] Forked 29272 -(29272) found -[9233] Forked 29273 -(29273) found -[9232] Forked 29274 -(29274) found -[9231] Forked 29275 -(29275) found -[9230] Forked 29276 -(29276) found -[9229] Forked 29277 -(29277) found -[9228] Forked 29278 -(29278) found -[9227] Forked 29279 -(29279) found -[9226] Forked 29280 -(29280) found -[9225] Forked 29281 -(29281) found -[9224] Forked 29282 -(29282) found -[9223] Forked 29283 -(29283) found -[9222] Forked 29284 -(29284) found -[9221] Forked 29285 -(29285) found -[9220] Forked 29286 -(29286) found -[9219] Forked 29287 -(29287) found -[9218] Forked 29288 -(29288) found -[9217] Forked 29289 -(29289) found -[9216] Forked 29290 -(29290) found -[9215] Forked 29291 -(29291) found -[9214] Forked 29292 -(29292) found -[9213] Forked 29293 -(29293) found -[9212] Forked 29294 -(29294) found -[9211] Forked 29295 -(29295) found -[9210] Forked 29296 -(29296) found -[9209] Forked 29297 -(29297) found -[9208] Forked 29298 -(29298) found -[9207] Forked 29299 -(29299) found -[9206] Forked 29300 -(29300) found -[9205] Forked 29301 -(29301) found -[9204] Forked 29302 -(29302) found -[9203] Forked 29303 -(29303) found -[9202] Forked 29304 -(29304) found -[9201] Forked 29305 -(29305) found -[9200] Forked 29306 -[9199] Forked 29307 -(29306) found -(29307) found -[9198] Forked 29308 -[9197] Forked 29309 -(29308) found -(29309) found -[9196] Forked 29310 -[9195] Forked 29311 -(29310) found -(29311) found -[9194] Forked 29312 -[9193] Forked 29313 -(29312) found -(29313) found -[9192] Forked 29314 -[9191] Forked 29315 -(29314) found -(29315) found -[9190] Forked 29316 -[9189] Forked 29317 -(29316) found -(29317) found -[9188] Forked 29318 -[9187] Forked 29319 -(29318) found -(29319) found -[9186] Forked 29320 -[9185] Forked 29321 -(29320) found -(29321) found -[9184] Forked 29322 -[9183] Forked 29323 -(29322) found -(29323) found -[9182] Forked 29324 -[9181] Forked 29325 -(29324) found -(29325) found -[9180] Forked 29326 -[9179] Forked 29327 -(29326) found -(29327) found -[9178] Forked 29328 -[9177] Forked 29329 -(29328) found -(29329) found -[9176] Forked 29330 -[9175] Forked 29331 -(29330) found -(29331) found -[9174] Forked 29332 -[9173] Forked 29333 -(29332) found -(29333) found -[9172] Forked 29334 -[9171] Forked 29335 -(29334) found -(29335) found -[9170] Forked 29336 -[9169] Forked 29337 -(29336) found -(29337) found -[9168] Forked 29338 -[9167] Forked 29339 -(29338) found -(29339) found -[9166] Forked 29340 -[9165] Forked 29341 -(29340) found -(29341) found -[9164] Forked 29342 -[9163] Forked 29343 -(29342) found -(29343) found -[9162] Forked 29344 -[9161] Forked 29345 -(29344) found -(29345) found -[9160] Forked 29346 -[9159] Forked 29347 -(29346) found -(29347) found -[9158] Forked 29348 -[9157] Forked 29349 -(29348) found -(29349) found -[9156] Forked 29350 -[9155] Forked 29351 -(29350) found -(29351) found -[9154] Forked 29352 -[9153] Forked 29353 -(29352) found -(29353) found -[9152] Forked 29354 -[9151] Forked 29355 -(29354) found -(29355) found -[9150] Forked 29356 -[9149] Forked 29357 -(29356) found -(29357) found -[9148] Forked 29358 -[9147] Forked 29359 -(29358) found -(29359) found -[9146] Forked 29360 -[9145] Forked 29361 -(29360) found -(29361) found -[9144] Forked 29362 -[9143] Forked 29363 -(29362) found -(29363) found -[9142] Forked 29364 -[9141] Forked 29365 -(29364) found -(29365) found -[9140] Forked 29366 -[9139] Forked 29367 -(29366) found -(29367) found -[9138] Forked 29368 -[9137] Forked 29369 -(29368) found -(29369) found -[9136] Forked 29370 -[9135] Forked 29371 -(29370) found -(29371) found -[9134] Forked 29372 -[9133] Forked 29373 -(29372) found -(29373) found -[9132] Forked 29374 -[9131] Forked 29375 -(29374) found -(29375) found -[9130] Forked 29376 -[9129] Forked 29377 -(29376) found -(29377) found -[9128] Forked 29378 -[9127] Forked 29379 -(29378) found -(29379) found -[9126] Forked 29380 -[9125] Forked 29381 -(29380) found -(29381) found -[9124] Forked 29382 -[9123] Forked 29383 -(29382) found -(29383) found -[9122] Forked 29384 -[9121] Forked 29385 -(29384) found -(29385) found -[9120] Forked 29386 -[9119] Forked 29387 -(29386) found -(29387) found -[9118] Forked 29388 -[9117] Forked 29389 -(29388) found -(29389) found -[9116] Forked 29390 -[9115] Forked 29391 -(29390) found -(29391) found -[9114] Forked 29392 -[9113] Forked 29393 -(29392) found -(29393) found -[9112] Forked 29394 -[9111] Forked 29395 -(29394) found -(29395) found -[9110] Forked 29396 -(29396) found -[9109] Forked 29397 -(29397) found -[9108] Forked 29398 -(29398) found -[9107] Forked 29399 -(29399) found -[9106] Forked 29400 -(29400) found -[9105] Forked 29401 -(29401) found -[9104] Forked 29402 -(29402) found -[9103] Forked 29403 -(29403) found -[9102] Forked 29404 -(29404) found -[9101] Forked 29405 -(29405) found -[9100] Forked 29406 -(29406) found -[9099] Forked 29407 -(29407) found -[9098] Forked 29408 -(29408) found -[9097] Forked 29409 -(29409) found -[9096] Forked 29410 -(29410) found -[9095] Forked 29411 -(29411) found -[9094] Forked 29412 -(29412) found -[9093] Forked 29413 -(29413) found -[9092] Forked 29414 -(29414) found -[9091] Forked 29415 -(29415) found -[9090] Forked 29416 -(29416) found -[9089] Forked 29417 -(29417) found -[9088] Forked 29418 -(29418) found -[9087] Forked 29419 -(29419) found -[9086] Forked 29420 -(29420) found -[9085] Forked 29421 -(29421) found -[9084] Forked 29422 -(29422) found -[9083] Forked 29423 -(29423) found -[9082] Forked 29424 -(29424) found -[9081] Forked 29425 -(29425) found -[9080] Forked 29426 -(29426) found -[9079] Forked 29427 -(29427) found -[9078] Forked 29428 -(29428) found -[9077] Forked 29429 -(29429) found -[9076] Forked 29430 -(29430) found -[9075] Forked 29431 -(29431) found -[9074] Forked 29432 -[9073] Forked 29433 -(29432) found -(29433) found -[9072] Forked 29434 -[9071] Forked 29435 -(29434) found -(29435) found -[9070] Forked 29436 -(29436) found -[9069] Forked 29437 -[9068] Forked 29438 -(29437) found -(29438) found -[9067] Forked 29439 -[9066] Forked 29440 -(29439) found -(29440) found -[9065] Forked 29441 -[9064] Forked 29442 -(29441) found -(29442) found -[9063] Forked 29443 -[9062] Forked 29444 -(29443) found -(29444) found -[9061] Forked 29445 -[9060] Forked 29446 -(29445) found -(29446) found -[9059] Forked 29447 -[9058] Forked 29448 -(29447) found -(29448) found -[9057] Forked 29449 -[9056] Forked 29450 -(29449) found -(29450) found -[9055] Forked 29451 -[9054] Forked 29452 -(29451) found -(29452) found -[9053] Forked 29453 -[9052] Forked 29454 -(29453) found -(29454) found -[9051] Forked 29455 -[9050] Forked 29456 -(29455) found -(29456) found -[9049] Forked 29457 -[9048] Forked 29458 -(29457) found -(29458) found -[9047] Forked 29459 -[9046] Forked 29460 -(29459) found -(29460) found -[9045] Forked 29461 -[9044] Forked 29462 -(29461) found -(29462) found -[9043] Forked 29463 -[9042] Forked 29464 -(29463) found -(29464) found -[9041] Forked 29465 -[9040] Forked 29466 -(29465) found -(29466) found -[9039] Forked 29467 -[9038] Forked 29468 -(29467) found -(29468) found -[9037] Forked 29469 -[9036] Forked 29470 -(29469) found -(29470) found -[9035] Forked 29471 -[9034] Forked 29472 -(29471) found -(29472) found -[9033] Forked 29473 -[9032] Forked 29474 -(29473) found -(29474) found -[9031] Forked 29475 -[9030] Forked 29476 -(29475) found -(29476) found -[9029] Forked 29477 -[9028] Forked 29478 -(29477) found -(29478) found -[9027] Forked 29479 -[9026] Forked 29480 -(29479) found -(29480) found -[9025] Forked 29481 -[9024] Forked 29482 -(29481) found -(29482) found -[9023] Forked 29483 -[9022] Forked 29484 -(29483) found -(29484) found -[9021] Forked 29485 -[9020] Forked 29486 -(29485) found -(29486) found -[9019] Forked 29487 -[9018] Forked 29488 -(29487) found -(29488) found -[9017] Forked 29489 -[9016] Forked 29490 -(29489) found -(29490) found -[9015] Forked 29491 -[9014] Forked 29492 -(29491) found -(29492) found -[9013] Forked 29493 -[9012] Forked 29494 -(29493) found -(29494) found -[9011] Forked 29495 -[9010] Forked 29496 -(29495) found -(29496) found -[9009] Forked 29497 -[9008] Forked 29498 -(29497) found -(29498) found -[9007] Forked 29499 -[9006] Forked 29500 -(29499) found -(29500) found -[9005] Forked 29501 -[9004] Forked 29502 -(29501) found -(29502) found -[9003] Forked 29503 -[9002] Forked 29504 -(29503) found -(29504) found -[9001] Forked 29505 -[9000] Forked 29506 -(29505) found -(29506) found -[8999] Forked 29507 -[8998] Forked 29508 -(29507) found -(29508) found -[8997] Forked 29509 -[8996] Forked 29510 -(29509) found -(29510) found -[8995] Forked 29511 -[8994] Forked 29512 -(29511) found -(29512) found -[8993] Forked 29513 -[8992] Forked 29514 -(29513) found -(29514) found -[8991] Forked 29515 -[8990] Forked 29516 -(29515) found -(29516) found -[8989] Forked 29517 -[8988] Forked 29518 -(29517) found -(29518) found -[8987] Forked 29519 -[8986] Forked 29520 -(29519) found -(29520) found -[8985] Forked 29521 -[8984] Forked 29522 -(29521) found -(29522) found -[8983] Forked 29523 -[8982] Forked 29524 -(29523) found -(29524) found -[8981] Forked 29525 -[8980] Forked 29526 -(29525) found -(29526) found -[8979] Forked 29527 -[8978] Forked 29528 -(29527) found -(29528) found -[8977] Forked 29529 -[8976] Forked 29530 -(29529) found -(29530) found -[8975] Forked 29531 -[8974] Forked 29532 -(29531) found -(29532) found -[8973] Forked 29533 -[8972] Forked 29534 -(29533) found -(29534) found -[8971] Forked 29535 -[8970] Forked 29536 -(29535) found -(29536) found -[8969] Forked 29537 -[8968] Forked 29538 -(29537) found -(29538) found -[8967] Forked 29539 -[8966] Forked 29540 -(29539) found -(29540) found -[8965] Forked 29541 -[8964] Forked 29542 -(29541) found -(29542) found -[8963] Forked 29543 -[8962] Forked 29544 -(29543) found -(29544) found -[8961] Forked 29545 -[8960] Forked 29546 -(29545) found -(29546) found -[8959] Forked 29547 -(29547) found -[8958] Forked 29548 -(29548) found -[8957] Forked 29549 -[8956] Forked 29550 -(29549) found -(29550) found -[8955] Forked 29551 -[8954] Forked 29552 -(29551) found -(29552) found -[8953] Forked 29553 -[8952] Forked 29554 -(29553) found -(29554) found -[8951] Forked 29555 -[8950] Forked 29556 -(29555) found -(29556) found -[8949] Forked 29557 -[8948] Forked 29558 -(29557) found -(29558) found -[8947] Forked 29559 -[8946] Forked 29560 -(29559) found -(29560) found -[8945] Forked 29561 -[8944] Forked 29562 -(29561) found -(29562) found -[8943] Forked 29563 -[8942] Forked 29564 -(29563) found -(29564) found -[8941] Forked 29565 -(29565) found -[8940] Forked 29566 -(29566) found -[8939] Forked 29567 -(29567) found -[8938] Forked 29568 -(29568) found -[8937] Forked 29569 -(29569) found -[8936] Forked 29570 -(29570) found -[8935] Forked 29571 -(29571) found -[8934] Forked 29572 -(29572) found -[8933] Forked 29573 -(29573) found -[8932] Forked 29574 -(29574) found -[8931] Forked 29575 -(29575) found -[8930] Forked 29576 -(29576) found -[8929] Forked 29577 -(29577) found -[8928] Forked 29578 -(29578) found -[8927] Forked 29579 -(29579) found -[8926] Forked 29580 -(29580) found -[8925] Forked 29581 -(29581) found -[8924] Forked 29582 -(29582) found -[8923] Forked 29583 -(29583) found -[8922] Forked 29584 -(29584) found -[8921] Forked 29585 -(29585) found -[8920] Forked 29586 -(29586) found -[8919] Forked 29587 -(29587) found -[8918] Forked 29588 -(29588) found -[8917] Forked 29589 -(29589) found -[8916] Forked 29590 -(29590) found -[8915] Forked 29591 -(29591) found -[8914] Forked 29592 -(29592) found -[8913] Forked 29593 -(29593) found -[8912] Forked 29594 -(29594) found -[8911] Forked 29595 -(29595) found -[8910] Forked 29596 -(29596) found -[8909] Forked 29597 -(29597) found -[8908] Forked 29598 -(29598) found -[8907] Forked 29599 -(29599) found -[8906] Forked 29600 -(29600) found -[8905] Forked 29601 -(29601) found -[8904] Forked 29602 -(29602) found -[8903] Forked 29603 -(29603) found -[8902] Forked 29604 -(29604) found -[8901] Forked 29605 -(29605) found -[8900] Forked 29606 -(29606) found -[8899] Forked 29607 -(29607) found -[8898] Forked 29608 -(29608) found -[8897] Forked 29609 -(29609) found -[8896] Forked 29610 -(29610) found -[8895] Forked 29611 -(29611) found -[8894] Forked 29612 -(29612) found -[8893] Forked 29613 -(29613) found -[8892] Forked 29614 -(29614) found -[8891] Forked 29615 -(29615) found -[8890] Forked 29616 -(29616) found -[8889] Forked 29617 -(29617) found -[8888] Forked 29618 -(29618) found -[8887] Forked 29619 -(29619) found -[8886] Forked 29620 -(29620) found -[8885] Forked 29621 -(29621) found -[8884] Forked 29622 -(29622) found -[8883] Forked 29623 -(29623) found -[8882] Forked 29624 -(29624) found -[8881] Forked 29625 -(29625) found -[8880] Forked 29626 -(29626) found -[8879] Forked 29627 -(29627) found -[8878] Forked 29628 -(29628) found -[8877] Forked 29629 -(29629) found -[8876] Forked 29630 -(29630) found -[8875] Forked 29631 -(29631) found -[8874] Forked 29632 -(29632) found -[8873] Forked 29633 -(29633) found -[8872] Forked 29634 -(29634) found -[8871] Forked 29635 -(29635) found -[8870] Forked 29636 -(29636) found -[8869] Forked 29637 -[8868] Forked 29638 -(29637) found -(29638) found -[8867] Forked 29639 -[8866] Forked 29640 -(29639) found -(29640) found -[8865] Forked 29641 -[8864] Forked 29642 -(29641) found -(29642) found -[8863] Forked 29643 -[8862] Forked 29644 -(29643) found -(29644) found -[8861] Forked 29645 -[8860] Forked 29646 -(29645) found -(29646) found -[8859] Forked 29647 -[8858] Forked 29648 -(29647) found -(29648) found -[8857] Forked 29649 -[8856] Forked 29650 -(29649) found -(29650) found -[8855] Forked 29651 -[8854] Forked 29652 -(29651) found -(29652) found -[8853] Forked 29653 -[8852] Forked 29654 -(29653) found -(29654) found -[8851] Forked 29655 -[8850] Forked 29656 -(29655) found -(29656) found -[8849] Forked 29657 -[8848] Forked 29659 -(29657) found -(29659) found -[8847] Forked 29660 -(29660) found -[8846] Forked 29661 -(29661) found -[8845] Forked 29662 -(29662) found -[8844] Forked 29663 -(29663) found -[8843] Forked 29664 -(29664) found -[8842] Forked 29665 -(29665) found -[8841] Forked 29666 -(29666) found -[8840] Forked 29667 -(29667) found -[8839] Forked 29668 -(29668) found -[8838] Forked 29669 -(29669) found -[8837] Forked 29670 -(29670) found -[8836] Forked 29671 -(29671) found -[8835] Forked 29672 -(29672) found -[8834] Forked 29673 -(29673) found -[8833] Forked 29674 -(29674) found -[8832] Forked 29675 -(29675) found -[8831] Forked 29676 -(29676) found -[8830] Forked 29677 -(29677) found -[8829] Forked 29678 -(29678) found -[8828] Forked 29679 -(29679) found -[8827] Forked 29680 -(29680) found -[8826] Forked 29681 -(29681) found -[8825] Forked 29682 -(29682) found -[8824] Forked 29683 -(29683) found -[8823] Forked 29684 -(29684) found -[8822] Forked 29685 -(29685) found -[8821] Forked 29686 -(29686) found -[8820] Forked 29687 -(29687) found -[8819] Forked 29688 -(29688) found -[8818] Forked 29689 -(29689) found -[8817] Forked 29690 -(29690) found -[8816] Forked 29691 -(29691) found -[8815] Forked 29692 -(29692) found -[8814] Forked 29693 -(29693) found -[8813] Forked 29694 -(29694) found -[8812] Forked 29695 -(29695) found -[8811] Forked 29696 -(29696) found -[8810] Forked 29697 -(29697) found -[8809] Forked 29698 -(29698) found -[8808] Forked 29699 -(29699) found -[8807] Forked 29700 -(29700) found -[8806] Forked 29701 -(29701) found -[8805] Forked 29702 -(29702) found -[8804] Forked 29703 -(29703) found -[8803] Forked 29704 -(29704) found -[8802] Forked 29705 -(29705) found -[8801] Forked 29706 -(29706) found -[8800] Forked 29707 -(29707) found -[8799] Forked 29708 -(29708) found -[8798] Forked 29709 -(29709) found -[8797] Forked 29710 -(29710) found -[8796] Forked 29711 -(29711) found -[8795] Forked 29712 -(29712) found -[8794] Forked 29713 -(29713) found -[8793] Forked 29714 -(29714) found -[8792] Forked 29715 -(29715) found -[8791] Forked 29716 -(29716) found -[8790] Forked 29717 -(29717) found -[8789] Forked 29718 -(29718) found -[8788] Forked 29719 -(29719) found -[8787] Forked 29720 -(29720) found -[8786] Forked 29721 -(29721) found -[8785] Forked 29722 -(29722) found -[8784] Forked 29723 -(29723) found -[8783] Forked 29724 -(29724) found -[8782] Forked 29725 -(29725) found -[8781] Forked 29726 -(29726) found -[8780] Forked 29727 -(29727) found -[8779] Forked 29728 -(29728) found -[8778] Forked 29729 -(29729) found -[8777] Forked 29730 -(29730) found -[8776] Forked 29731 -(29731) found -[8775] Forked 29732 -(29732) found -[8774] Forked 29733 -(29733) found -[8773] Forked 29734 -(29734) found -[8772] Forked 29735 -(29735) found -[8771] Forked 29736 -(29736) found -[8770] Forked 29737 -(29737) found -[8769] Forked 29738 -(29738) found -[8768] Forked 29739 -(29739) found -[8767] Forked 29740 -(29740) found -[8766] Forked 29741 -(29741) found -[8765] Forked 29742 -(29742) found -[8764] Forked 29743 -(29743) found -[8763] Forked 29744 -(29744) found -[8762] Forked 29745 -(29745) found -[8761] Forked 29746 -(29746) found -[8760] Forked 29747 -(29747) found -[8759] Forked 29748 -(29748) found -[8758] Forked 29749 -[8757] Forked 29750 -(29749) found -(29750) found -[8756] Forked 29751 -[8755] Forked 29752 -(29751) found -(29752) found -[8754] Forked 29753 -[8753] Forked 29755 -(29753) found -(29755) found -[8752] Forked 29756 -(29756) found -[8751] Forked 29757 -(29757) found -[8750] Forked 29758 -(29758) found -[8749] Forked 29759 -(29759) found -[8748] Forked 29760 -(29760) found -[8747] Forked 29761 -(29761) found -[8746] Forked 29762 -(29762) found -[8745] Forked 29763 -(29763) found -[8744] Forked 29764 -(29764) found -[8743] Forked 29765 -(29765) found -[8742] Forked 29766 -(29766) found -[8741] Forked 29767 -(29767) found -[8740] Forked 29768 -(29768) found -[8739] Forked 29769 -(29769) found -[8738] Forked 29770 -(29770) found -[8737] Forked 29771 -(29771) found -[8736] Forked 29772 -(29772) found -[8735] Forked 29773 -(29773) found -[8734] Forked 29774 -(29774) found -[8733] Forked 29775 -(29775) found -[8732] Forked 29776 -(29776) found -[8731] Forked 29777 -(29777) found -[8730] Forked 29778 -(29778) found -[8729] Forked 29779 -(29779) found -[8728] Forked 29780 -(29780) found -[8727] Forked 29781 -(29781) found -[8726] Forked 29782 -(29782) found -[8725] Forked 29783 -(29783) found -[8724] Forked 29784 -(29784) found -[8723] Forked 29785 -(29785) found -[8722] Forked 29786 -(29786) found -[8721] Forked 29787 -(29787) found -[8720] Forked 29788 -(29788) found -[8719] Forked 29789 -(29789) found -[8718] Forked 29790 -(29790) found -[8717] Forked 29791 -(29791) found -[8716] Forked 29792 -(29792) found -[8715] Forked 29793 -(29793) found -[8714] Forked 29794 -(29794) found -[8713] Forked 29795 -(29795) found -[8712] Forked 29796 -(29796) found -[8711] Forked 29797 -(29797) found -[8710] Forked 29798 -(29798) found -[8709] Forked 29799 -(29799) found -[8708] Forked 29800 -(29800) found -[8707] Forked 29801 -(29801) found -[8706] Forked 29802 -(29802) found -[8705] Forked 29803 -(29803) found -[8704] Forked 29804 -(29804) found -[8703] Forked 29805 -(29805) found -[8702] Forked 29806 -(29806) found -[8701] Forked 29807 -(29807) found -[8700] Forked 29808 -(29808) found -[8699] Forked 29809 -(29809) found -[8698] Forked 29810 -(29810) found -[8697] Forked 29811 -(29811) found -[8696] Forked 29812 -(29812) found -[8695] Forked 29813 -(29813) found -[8694] Forked 29814 -(29814) found -[8693] Forked 29815 -(29815) found -[8692] Forked 29816 -(29816) found -[8691] Forked 29817 -(29817) found -[8690] Forked 29818 -(29818) found -[8689] Forked 29819 -(29819) found -[8688] Forked 29820 -(29820) found -[8687] Forked 29821 -(29821) found -[8686] Forked 29822 -(29822) found -[8685] Forked 29823 -(29823) found -[8684] Forked 29824 -(29824) found -[8683] Forked 29825 -(29825) found -[8682] Forked 29826 -(29826) found -[8681] Forked 29827 -(29827) found -[8680] Forked 29828 -(29828) found -[8679] Forked 29829 -(29829) found -[8678] Forked 29830 -(29830) found -[8677] Forked 29831 -(29831) found -[8676] Forked 29832 -(29832) found -[8675] Forked 29833 -(29833) found -[8674] Forked 29834 -(29834) found -[8673] Forked 29835 -(29835) found -[8672] Forked 29836 -(29836) found -[8671] Forked 29837 -(29837) found -[8670] Forked 29838 -(29838) found -[8669] Forked 29839 -(29839) found -[8668] Forked 29840 -(29840) found -[8667] Forked 29841 -(29841) found -[8666] Forked 29842 -(29842) found -[8665] Forked 29843 -(29843) found -[8664] Forked 29844 -(29844) found -[8663] Forked 29845 -(29845) found -[8662] Forked 29846 -(29846) found -[8661] Forked 29847 -(29847) found -[8660] Forked 29848 -(29848) found -[8659] Forked 29849 -(29849) found -[8658] Forked 29850 -(29850) found -[8657] Forked 29851 -(29851) found -[8656] Forked 29852 -(29852) found -[8655] Forked 29853 -(29853) found -[8654] Forked 29854 -(29854) found -[8653] Forked 29855 -(29855) found -[8652] Forked 29856 -(29856) found -[8651] Forked 29857 -(29857) found -[8650] Forked 29858 -[8649] Forked 29859 -(29858) found -(29859) found -[8648] Forked 29860 -[8647] Forked 29861 -(29860) found -(29861) found -[8646] Forked 29862 -[8645] Forked 29863 -(29862) found -(29863) found -[8644] Forked 29864 -[8643] Forked 29865 -(29864) found -(29865) found -[8642] Forked 29866 -[8641] Forked 29867 -(29866) found -(29867) found -[8640] Forked 29868 -[8639] Forked 29869 -(29868) found -(29869) found -[8638] Forked 29870 -[8637] Forked 29871 -(29870) found -(29871) found -[8636] Forked 29872 -[8635] Forked 29873 -(29872) found -(29873) found -[8634] Forked 29874 -[8633] Forked 29875 -(29874) found -(29875) found -[8632] Forked 29876 -[8631] Forked 29877 -(29876) found -(29877) found -[8630] Forked 29878 -[8629] Forked 29879 -(29878) found -(29879) found -[8628] Forked 29880 -[8627] Forked 29881 -(29880) found -(29881) found -[8626] Forked 29882 -[8625] Forked 29883 -(29882) found -(29883) found -[8624] Forked 29884 -[8623] Forked 29885 -(29884) found -(29885) found -[8622] Forked 29886 -[8621] Forked 29887 -(29886) found -(29887) found -[8620] Forked 29888 -[8619] Forked 29889 -(29888) found -(29889) found -[8618] Forked 29890 -[8617] Forked 29891 -(29890) found -(29891) found -[8616] Forked 29892 -[8615] Forked 29893 -(29892) found -(29893) found -[8614] Forked 29894 -[8613] Forked 29895 -(29894) found -(29895) found -[8612] Forked 29896 -[8611] Forked 29897 -(29896) found -(29897) found -[8610] Forked 29898 -[8609] Forked 29899 -(29899) found -(29898) found -[8608] Forked 29900 -(29900) found -[8607] Forked 29901 -(29901) found -[8606] Forked 29902 -(29902) found -[8605] Forked 29903 -(29903) found -[8604] Forked 29904 -(29904) found -[8603] Forked 29905 -(29905) found -[8602] Forked 29906 -(29906) found -[8601] Forked 29907 -[8600] Forked 29908 -(29907) found -(29908) found -[8599] Forked 29909 -[8598] Forked 29910 -(29909) found -(29910) found -[8597] Forked 29911 -[8596] Forked 29912 -(29911) found -(29912) found -[8595] Forked 29913 -[8594] Forked 29914 -(29913) found -(29914) found -[8593] Forked 29915 -[8592] Forked 29916 -(29915) found -(29916) found -[8591] Forked 29917 -[8590] Forked 29918 -(29917) found -(29918) found -[8589] Forked 29919 -[8588] Forked 29920 -(29919) found -(29920) found -[8587] Forked 29921 -[8586] Forked 29922 -(29921) found -(29922) found -[8585] Forked 29923 -[8584] Forked 29924 -(29923) found -(29924) found -[8583] Forked 29925 -[8582] Forked 29926 -(29925) found -(29926) found -[8581] Forked 29927 -[8580] Forked 29928 -(29927) found -(29928) found -[8579] Forked 29929 -[8578] Forked 29930 -(29929) found -(29930) found -[8577] Forked 29931 -[8576] Forked 29932 -(29931) found -(29932) found -[8575] Forked 29933 -[8574] Forked 29934 -(29933) found -(29934) found -[8573] Forked 29935 -[8572] Forked 29936 -(29935) found -(29936) found -[8571] Forked 29937 -[8570] Forked 29938 -(29937) found -(29938) found -[8569] Forked 29939 -[8568] Forked 29940 -(29939) found -(29940) found -[8567] Forked 29941 -[8566] Forked 29942 -(29941) found -(29942) found -[8565] Forked 29943 -[8564] Forked 29944 -(29943) found -(29944) found -[8563] Forked 29945 -[8562] Forked 29946 -(29945) found -(29946) found -[8561] Forked 29947 -(29947) found -[8560] Forked 29948 -(29948) found -[8559] Forked 29949 -(29949) found -[8558] Forked 29950 -(29950) found -[8557] Forked 29951 -(29951) found -[8556] Forked 29952 -(29952) found -[8555] Forked 29953 -(29953) found -[8554] Forked 29954 -(29954) found -[8553] Forked 29955 -(29955) found -[8552] Forked 29956 -(29956) found -[8551] Forked 29957 -(29957) found -[8550] Forked 29958 -(29958) found -[8549] Forked 29959 -(29959) found -[8548] Forked 29960 -(29960) found -[8547] Forked 29961 -(29961) found -[8546] Forked 29962 -(29962) found -[8545] Forked 29963 -(29963) found -[8544] Forked 29964 -(29964) found -[8543] Forked 29965 -(29965) found -[8542] Forked 29966 -(29966) found -[8541] Forked 29967 -(29967) found -[8540] Forked 29968 -(29968) found -[8539] Forked 29969 -(29969) found -[8538] Forked 29970 -(29970) found -[8537] Forked 29971 -(29971) found -[8536] Forked 29972 -(29972) found -[8535] Forked 29973 -(29973) found -[8534] Forked 29974 -(29974) found -[8533] Forked 29975 -(29975) found -[8532] Forked 29976 -(29976) found -[8531] Forked 29977 -(29977) found -[8530] Forked 29978 -(29978) found -[8529] Forked 29979 -(29979) found -[8528] Forked 29980 -(29980) found -[8527] Forked 29981 -(29981) found -[8526] Forked 29982 -(29982) found -[8525] Forked 29983 -[8524] Forked 29984 -(29983) found -(29984) found -[8523] Forked 29985 -[8522] Forked 29986 -(29985) found -(29986) found -[8521] Forked 29987 -[8520] Forked 29988 -(29987) found -(29988) found -[8519] Forked 29989 -[8518] Forked 29990 -(29989) found -(29990) found -[8517] Forked 29991 -[8516] Forked 29992 -(29991) found -(29992) found -[8515] Forked 29993 -[8514] Forked 29994 -(29993) found -(29994) found -[8513] Forked 29995 -[8512] Forked 29996 -(29995) found -(29996) found -[8511] Forked 29997 -[8510] Forked 29998 -(29997) found -(29998) found -[8509] Forked 29999 -[8508] Forked 30000 -(29999) found -(30000) found -[8507] Forked 30001 -[8506] Forked 30002 -(30001) found -(30002) found -[8505] Forked 30003 -[8504] Forked 30004 -(30003) found -(30004) found -[8503] Forked 30005 -[8502] Forked 30006 -(30005) found -(30006) found -[8501] Forked 30007 -[8500] Forked 30008 -(30007) found -(30008) found -[8499] Forked 30009 -[8498] Forked 30010 -(30009) found -(30010) found -[8497] Forked 30011 -[8496] Forked 30012 -(30011) found -(30012) found -[8495] Forked 30013 -[8494] Forked 30014 -(30013) found -(30014) found -[8493] Forked 30015 -[8492] Forked 30016 -(30015) found -(30016) found -[8491] Forked 30017 -[8490] Forked 30018 -(30017) found -(30018) found -[8489] Forked 30019 -[8488] Forked 30020 -(30019) found -(30020) found -[8487] Forked 30021 -[8486] Forked 30022 -(30021) found -(30022) found -[8485] Forked 30023 -[8484] Forked 30024 -(30023) found -(30024) found -[8483] Forked 30025 -[8482] Forked 30026 -(30025) found -(30026) found -[8481] Forked 30027 -(30027) found -[8480] Forked 30028 -(30028) found -[8479] Forked 30029 -(30029) found -[8478] Forked 30030 -(30030) found -[8477] Forked 30031 -(30031) found -[8476] Forked 30032 -(30032) found -[8475] Forked 30033 -(30033) found -[8474] Forked 30034 -(30034) found -[8473] Forked 30035 -(30035) found -[8472] Forked 30036 -(30036) found -[8471] Forked 30037 -(30037) found -[8470] Forked 30038 -(30038) found -[8469] Forked 30039 -(30039) found -[8468] Forked 30040 -(30040) found -[8467] Forked 30041 -(30041) found -[8466] Forked 30042 -(30042) found -[8465] Forked 30043 -(30043) found -[8464] Forked 30044 -(30044) found -[8463] Forked 30045 -(30045) found -[8462] Forked 30046 -(30046) found -[8461] Forked 30047 -(30047) found -[8460] Forked 30048 -(30048) found -[8459] Forked 30049 -(30049) found -[8458] Forked 30050 -(30050) found -[8457] Forked 30051 -(30051) found -[8456] Forked 30052 -(30052) found -[8455] Forked 30053 -(30053) found -[8454] Forked 30054 -(30054) found -[8453] Forked 30055 -(30055) found -[8452] Forked 30056 -(30056) found -[8451] Forked 30057 -(30057) found -[8450] Forked 30058 -(30058) found -[8449] Forked 30059 -(30059) found -[8448] Forked 30060 -(30060) found -[8447] Forked 30061 -(30061) found -[8446] Forked 30062 -(30062) found -[8445] Forked 30063 -(30063) found -[8444] Forked 30064 -[8443] Forked 30065 -(30064) found -(30065) found -[8442] Forked 30066 -[8441] Forked 30067 -(30066) found -(30067) found -[8440] Forked 30068 -[8439] Forked 30069 -(30068) found -(30069) found -[8438] Forked 30070 -[8437] Forked 30071 -(30070) found -(30071) found -[8436] Forked 30072 -[8435] Forked 30073 -(30072) found -(30073) found -[8434] Forked 30074 -[8433] Forked 30075 -(30074) found -(30075) found -[8432] Forked 30076 -[8431] Forked 30077 -(30076) found -(30077) found -[8430] Forked 30078 -[8429] Forked 30079 -(30078) found -(30079) found -[8428] Forked 30080 -[8427] Forked 30081 -(30080) found -(30081) found -[8426] Forked 30082 -[8425] Forked 30083 -(30082) found -(30083) found -[8424] Forked 30084 -[8423] Forked 30085 -(30084) found -(30085) found -[8422] Forked 30086 -[8421] Forked 30087 -(30086) found -(30087) found -[8420] Forked 30088 -[8419] Forked 30089 -(30088) found -(30089) found -[8418] Forked 30090 -[8417] Forked 30091 -(30090) found -(30091) found -[8416] Forked 30092 -[8415] Forked 30093 -(30092) found -(30093) found -[8414] Forked 30094 -[8413] Forked 30095 -(30094) found -(30095) found -[8412] Forked 30096 -[8411] Forked 30097 -(30096) found -(30097) found -[8410] Forked 30098 -[8409] Forked 30099 -(30098) found -(30099) found -[8408] Forked 30100 -[8407] Forked 30101 -(30100) found -(30101) found -[8406] Forked 30102 -[8405] Forked 30103 -(30102) found -(30103) found -[8404] Forked 30104 -[8403] Forked 30105 -(30104) found -(30105) found -[8402] Forked 30106 -[8401] Forked 30107 -(30106) found -(30107) found -[8400] Forked 30108 -[8399] Forked 30109 -(30108) found -(30109) found -[8398] Forked 30110 -[8397] Forked 30111 -(30110) found -(30111) found -[8396] Forked 30112 -[8395] Forked 30113 -(30112) found -(30113) found -[8394] Forked 30114 -[8393] Forked 30115 -(30114) found -(30115) found -[8392] Forked 30116 -[8391] Forked 30117 -(30116) found -(30117) found -[8390] Forked 30118 -[8389] Forked 30119 -(30118) found -(30119) found -[8388] Forked 30120 -[8387] Forked 30121 -(30120) found -(30121) found -[8386] Forked 30122 -[8385] Forked 30123 -(30122) found -(30123) found -[8384] Forked 30124 -[8383] Forked 30125 -(30124) found -(30125) found -[8382] Forked 30126 -[8381] Forked 30127 -(30126) found -(30127) found -[8380] Forked 30128 -[8379] Forked 30129 -(30128) found -(30129) found -[8378] Forked 30130 -[8377] Forked 30131 -(30130) found -(30131) found -[8376] Forked 30132 -[8375] Forked 30133 -(30132) found -(30133) found -[8374] Forked 30134 -[8373] Forked 30135 -(30134) found -(30135) found -[8372] Forked 30136 -[8371] Forked 30137 -(30136) found -(30137) found -[8370] Forked 30138 -[8369] Forked 30139 -(30138) found -(30139) found -[8368] Forked 30140 -[8367] Forked 30141 -(30140) found -(30141) found -[8366] Forked 30142 -[8365] Forked 30143 -(30142) found -(30143) found -[8364] Forked 30144 -[8363] Forked 30145 -(30144) found -(30145) found -[8362] Forked 30146 -[8361] Forked 30147 -(30146) found -(30147) found -[8360] Forked 30148 -[8359] Forked 30149 -(30148) found -(30149) found -[8358] Forked 30150 -[8357] Forked 30151 -(30150) found -(30151) found -[8356] Forked 30152 -[8355] Forked 30153 -(30152) found -(30153) found -[8354] Forked 30154 -[8353] Forked 30155 -(30154) found -(30155) found -[8352] Forked 30156 -(30156) found -[8351] Forked 30157 -(30157) found -[8350] Forked 30158 -(30158) found -[8349] Forked 30159 -(30159) found -[8348] Forked 30160 -(30160) found -[8347] Forked 30161 -[8346] Forked 30162 -(30161) found -(30162) found -[8345] Forked 30163 -[8344] Forked 30164 -(30163) found -(30164) found -[8343] Forked 30165 -[8342] Forked 30166 -(30165) found -(30166) found -[8341] Forked 30167 -[8340] Forked 30168 -(30167) found -(30168) found -[8339] Forked 30169 -[8338] Forked 30170 -(30169) found -(30170) found -[8337] Forked 30171 -[8336] Forked 30172 -(30171) found -(30172) found -[8335] Forked 30173 -[8334] Forked 30174 -(30173) found -(30174) found -[8333] Forked 30175 -[8332] Forked 30176 -(30175) found -(30176) found -[8331] Forked 30177 -[8330] Forked 30178 -(30177) found -(30178) found -[8329] Forked 30179 -[8328] Forked 30180 -(30179) found -(30180) found -[8327] Forked 30181 -[8326] Forked 30182 -(30181) found -(30182) found -[8325] Forked 30183 -[8324] Forked 30184 -(30183) found -(30184) found -[8323] Forked 30185 -[8322] Forked 30186 -(30185) found -(30186) found -[8321] Forked 30187 -[8320] Forked 30188 -(30187) found -(30188) found -[8319] Forked 30189 -[8318] Forked 30190 -(30189) found -(30190) found -[8317] Forked 30191 -[8316] Forked 30192 -(30191) found -(30192) found -[8315] Forked 30193 -[8314] Forked 30194 -(30193) found -(30194) found -[8313] Forked 30195 -[8312] Forked 30196 -(30195) found -(30196) found -[8311] Forked 30197 -[8310] Forked 30198 -(30197) found -(30198) found -[8309] Forked 30199 -[8308] Forked 30201 -(30199) found -(30201) found -[8307] Forked 30202 -(30202) found -[8306] Forked 30203 -(30203) found -[8305] Forked 30204 -(30204) found -[8304] Forked 30205 -(30205) found -[8303] Forked 30206 -(30206) found -[8302] Forked 30207 -(30207) found -[8301] Forked 30208 -(30208) found -[8300] Forked 30209 -(30209) found -[8299] Forked 30210 -(30210) found -[8298] Forked 30211 -(30211) found -[8297] Forked 30212 -(30212) found -[8296] Forked 30213 -(30213) found -[8295] Forked 30214 -(30214) found -[8294] Forked 30215 -(30215) found -[8293] Forked 30216 -(30216) found -[8292] Forked 30217 -(30217) found -[8291] Forked 30218 -(30218) found -[8290] Forked 30219 -(30219) found -[8289] Forked 30220 -(30220) found -[8288] Forked 30221 -(30221) found -[8287] Forked 30222 -(30222) found -[8286] Forked 30223 -(30223) found -[8285] Forked 30224 -(30224) found -[8284] Forked 30225 -(30225) found -[8283] Forked 30226 -(30226) found -[8282] Forked 30227 -(30227) found -[8281] Forked 30228 -(30228) found -[8280] Forked 30229 -(30229) found -[8279] Forked 30230 -(30230) found -[8278] Forked 30231 -(30231) found -[8277] Forked 30232 -(30232) found -[8276] Forked 30233 -(30233) found -[8275] Forked 30234 -(30234) found -[8274] Forked 30235 -(30235) found -[8273] Forked 30236 -(30236) found -[8272] Forked 30237 -(30237) found -[8271] Forked 30238 -(30238) found -[8270] Forked 30239 -(30239) found -[8269] Forked 30240 -(30240) found -[8268] Forked 30241 -(30241) found -[8267] Forked 30242 -[8266] Forked 30243 -(30243) found -(30242) found -[8265] Forked 30244 -(30244) found -[8264] Forked 30245 -(30245) found -[8263] Forked 30246 -(30246) found -[8262] Forked 30247 -(30247) found -[8261] Forked 30248 -(30248) found -[8260] Forked 30249 -(30249) found -[8259] Forked 30250 -(30250) found -[8258] Forked 30251 -(30251) found -[8257] Forked 30252 -(30252) found -[8256] Forked 30253 -(30253) found -[8255] Forked 30254 -(30254) found -[8254] Forked 30255 -(30255) found -[8253] Forked 30256 -(30256) found -[8252] Forked 30257 -(30257) found -[8251] Forked 30258 -(30258) found -[8250] Forked 30259 -(30259) found -[8249] Forked 30260 -(30260) found -[8248] Forked 30261 -(30261) found -[8247] Forked 30262 -(30262) found -[8246] Forked 30263 -(30263) found -[8245] Forked 30264 -(30264) found -[8244] Forked 30265 -(30265) found -[8243] Forked 30266 -(30266) found -[8242] Forked 30267 -(30267) found -[8241] Forked 30268 -(30268) found -[8240] Forked 30269 -(30269) found -[8239] Forked 30270 -(30270) found -[8238] Forked 30271 -(30271) found -[8237] Forked 30272 -(30272) found -[8236] Forked 30273 -(30273) found -[8235] Forked 30274 -(30274) found -[8234] Forked 30275 -(30275) found -[8233] Forked 30276 -(30276) found -[8232] Forked 30277 -(30277) found -[8231] Forked 30278 -(30278) found -[8230] Forked 30279 -(30279) found -[8229] Forked 30280 -(30280) found -[8228] Forked 30281 -(30281) found -[8227] Forked 30282 -(30282) found -[8226] Forked 30283 -(30283) found -[8225] Forked 30284 -(30284) found -[8224] Forked 30285 -(30285) found -[8223] Forked 30286 -(30286) found -[8222] Forked 30287 -(30287) found -[8221] Forked 30288 -(30288) found -[8220] Forked 30289 -(30289) found -[8219] Forked 30290 -(30290) found -[8218] Forked 30291 -(30291) found -[8217] Forked 30292 -(30292) found -[8216] Forked 30293 -(30293) found -[8215] Forked 30294 -(30294) found -[8214] Forked 30295 -(30295) found -[8213] Forked 30296 -(30296) found -[8212] Forked 30297 -(30297) found -[8211] Forked 30298 -(30298) found -[8210] Forked 30299 -(30299) found -[8209] Forked 30300 -(30300) found -[8208] Forked 30301 -(30301) found -[8207] Forked 30302 -(30302) found -[8206] Forked 30303 -(30303) found -[8205] Forked 30304 -(30304) found -[8204] Forked 30305 -(30305) found -[8203] Forked 30306 -(30306) found -[8202] Forked 30307 -(30307) found -[8201] Forked 30308 -(30308) found -[8200] Forked 30309 -(30309) found -[8199] Forked 30310 -(30310) found -[8198] Forked 30311 -(30311) found -[8197] Forked 30312 -(30312) found -[8196] Forked 30313 -(30313) found -[8195] Forked 30314 -(30314) found -[8194] Forked 30315 -[8193] Forked 30316 -(30315) found -(30316) found -[8192] Forked 30317 -[8191] Forked 30318 -(30317) found -(30318) found -[8190] Forked 30319 -[8189] Forked 30320 -(30319) found -(30320) found -[8188] Forked 30321 -[8187] Forked 30322 -(30321) found -(30322) found -[8186] Forked 30323 -[8185] Forked 30324 -(30323) found -(30324) found -[8184] Forked 30325 -[8183] Forked 30326 -(30325) found -(30326) found -[8182] Forked 30327 -[8181] Forked 30328 -(30327) found -(30328) found -[8180] Forked 30329 -[8179] Forked 30330 -(30329) found -(30330) found -[8178] Forked 30331 -[8177] Forked 30332 -(30331) found -(30332) found -[8176] Forked 30333 -[8175] Forked 30334 -(30333) found -(30334) found -[8174] Forked 30335 -[8173] Forked 30336 -(30335) found -(30336) found -[8172] Forked 30337 -[8171] Forked 30338 -(30337) found -(30338) found -[8170] Forked 30339 -(30339) found -[8169] Forked 30340 -[8168] Forked 30341 -(30340) found -(30341) found -[8167] Forked 30342 -[8166] Forked 30343 -(30342) found -(30343) found -[8165] Forked 30344 -[8164] Forked 30345 -(30344) found -(30345) found -[8163] Forked 30346 -[8162] Forked 30347 -(30346) found -(30347) found -[8161] Forked 30348 -[8160] Forked 30349 -(30348) found -(30349) found -[8159] Forked 30350 -[8158] Forked 30351 -(30350) found -(30351) found -[8157] Forked 30352 -[8156] Forked 30353 -(30352) found -(30353) found -[8155] Forked 30354 -[8154] Forked 30355 -(30355) found -(30354) found -[8153] Forked 30356 -(30356) found -[8152] Forked 30357 -(30357) found -[8151] Forked 30358 -(30358) found -[8150] Forked 30359 -(30359) found -[8149] Forked 30360 -(30360) found -[8148] Forked 30361 -(30361) found -[8147] Forked 30362 -(30362) found -[8146] Forked 30363 -(30363) found -[8145] Forked 30364 -(30364) found -[8144] Forked 30365 -(30365) found -[8143] Forked 30366 -(30366) found -[8142] Forked 30367 -(30367) found -[8141] Forked 30368 -(30368) found -[8140] Forked 30369 -(30369) found -[8139] Forked 30370 -(30370) found -[8138] Forked 30371 -(30371) found -[8137] Forked 30372 -(30372) found -[8136] Forked 30373 -(30373) found -[8135] Forked 30374 -(30374) found -[8134] Forked 30375 -(30375) found -[8133] Forked 30376 -(30376) found -[8132] Forked 30377 -(30377) found -[8131] Forked 30378 -(30378) found -[8130] Forked 30379 -(30379) found -[8129] Forked 30380 -(30380) found -[8128] Forked 30381 -(30381) found -[8127] Forked 30382 -(30382) found -[8126] Forked 30383 -(30383) found -[8125] Forked 30384 -(30384) found -[8124] Forked 30385 -(30385) found -[8123] Forked 30386 -(30386) found -[8122] Forked 30387 -(30387) found -[8121] Forked 30388 -(30388) found -[8120] Forked 30389 -(30389) found -[8119] Forked 30390 -(30390) found -[8118] Forked 30391 -[8117] Forked 30392 -(30391) found -(30392) found -[8116] Forked 30393 -[8115] Forked 30394 -(30393) found -(30394) found -[8114] Forked 30395 -[8113] Forked 30396 -(30395) found -(30396) found -[8112] Forked 30397 -[8111] Forked 30398 -(30397) found -(30398) found -[8110] Forked 30399 -[8109] Forked 30400 -(30399) found -(30400) found -[8108] Forked 30401 -[8107] Forked 30402 -(30401) found -(30402) found -[8106] Forked 30403 -[8105] Forked 30404 -(30403) found -(30404) found -[8104] Forked 30405 -[8103] Forked 30406 -(30405) found -(30406) found -[8102] Forked 30407 -[8101] Forked 30408 -(30407) found -(30408) found -[8100] Forked 30409 -[8099] Forked 30410 -(30409) found -(30410) found -[8098] Forked 30411 -[8097] Forked 30412 -(30411) found -(30412) found -[8096] Forked 30413 -[8095] Forked 30414 -(30413) found -(30414) found -[8094] Forked 30415 -[8093] Forked 30416 -(30415) found -(30416) found -[8092] Forked 30417 -[8091] Forked 30418 -(30417) found -(30418) found -[8090] Forked 30419 -[8089] Forked 30420 -(30419) found -(30420) found -[8088] Forked 30421 -[8087] Forked 30422 -(30421) found -(30422) found -[8086] Forked 30423 -[8085] Forked 30424 -(30423) found -(30424) found -[8084] Forked 30425 -[8083] Forked 30426 -(30425) found -(30426) found -[8082] Forked 30427 -[8081] Forked 30428 -(30427) found -(30428) found -[8080] Forked 30429 -[8079] Forked 30430 -(30429) found -(30430) found -[8078] Forked 30431 -[8077] Forked 30433 -(30431) found -(30433) found -[8076] Forked 30434 -(30434) found -[8075] Forked 30435 -(30435) found -[8074] Forked 30436 -(30436) found -[8073] Forked 30437 -(30437) found -[8072] Forked 30438 -(30438) found -[8071] Forked 30439 -(30439) found -[8070] Forked 30440 -(30440) found -[8069] Forked 30441 -(30441) found -[8068] Forked 30442 -(30442) found -[8067] Forked 30443 -(30443) found -[8066] Forked 30444 -(30444) found -[8065] Forked 30445 -(30445) found -[8064] Forked 30446 -(30446) found -[8063] Forked 30447 -(30447) found -[8062] Forked 30448 -(30448) found -[8061] Forked 30449 -(30449) found -[8060] Forked 30450 -(30450) found -[8059] Forked 30451 -(30451) found -[8058] Forked 30452 -(30452) found -[8057] Forked 30453 -(30453) found -[8056] Forked 30454 -(30454) found -[8055] Forked 30455 -(30455) found -[8054] Forked 30456 -(30456) found -[8053] Forked 30457 -(30457) found -[8052] Forked 30458 -(30458) found -[8051] Forked 30459 -(30459) found -[8050] Forked 30460 -(30460) found -[8049] Forked 30461 -(30461) found -[8048] Forked 30462 -(30462) found -[8047] Forked 30463 -(30463) found -[8046] Forked 30464 -(30464) found -[8045] Forked 30465 -(30465) found -[8044] Forked 30466 -(30466) found -[8043] Forked 30467 -(30467) found -[8042] Forked 30468 -(30468) found -[8041] Forked 30469 -(30469) found -[8040] Forked 30470 -(30470) found -[8039] Forked 30471 -(30471) found -[8038] Forked 30472 -(30472) found -[8037] Forked 30473 -(30473) found -[8036] Forked 30474 -(30474) found -[8035] Forked 30475 -(30475) found -[8034] Forked 30476 -(30476) found -[8033] Forked 30477 -(30477) found -[8032] Forked 30478 -(30478) found -[8031] Forked 30479 -(30479) found -[8030] Forked 30480 -(30480) found -[8029] Forked 30481 -(30481) found -[8028] Forked 30482 -(30482) found -[8027] Forked 30483 -(30483) found -[8026] Forked 30484 -(30484) found -[8025] Forked 30485 -(30485) found -[8024] Forked 30486 -(30486) found -[8023] Forked 30487 -(30487) found -[8022] Forked 30488 -(30488) found -[8021] Forked 30489 -(30489) found -[8020] Forked 30490 -(30490) found -[8019] Forked 30491 -(30491) found -[8018] Forked 30492 -(30492) found -[8017] Forked 30493 -(30493) found -[8016] Forked 30494 -(30494) found -[8015] Forked 30495 -(30495) found -[8014] Forked 30496 -(30496) found -[8013] Forked 30497 -(30497) found -[8012] Forked 30498 -(30498) found -[8011] Forked 30499 -(30499) found -[8010] Forked 30500 -(30500) found -[8009] Forked 30501 -(30501) found -[8008] Forked 30502 -(30502) found -[8007] Forked 30503 -(30503) found -[8006] Forked 30504 -(30504) found -[8005] Forked 30505 -(30505) found -[8004] Forked 30506 -(30506) found -[8003] Forked 30507 -(30507) found -[8002] Forked 30509 -(30509) found -[8001] Forked 30510 -(30510) found -[8000] Forked 30511 -[7999] Forked 30512 -(30511) found -(30512) found -[7998] Forked 30513 -[7997] Forked 30515 -(30513) found -(30515) found -[7996] Forked 30516 -[7995] Forked 30517 -(30516) found -(30517) found -[7994] Forked 30518 -[7993] Forked 30519 -(30518) found -(30519) found -[7992] Forked 30521 -[7991] Forked 30522 -(30521) found -(30522) found -[7990] Forked 30523 -[7989] Forked 30524 -(30523) found -(30524) found -[7988] Forked 30525 -[7987] Forked 30526 -(30525) found -(30526) found -[7986] Forked 30528 -[7985] Forked 30529 -(30528) found -(30529) found -[7984] Forked 30530 -[7983] Forked 30531 -(30530) found -(30531) found -[7982] Forked 30532 -[7981] Forked 30534 -(30532) found -(30534) found -[7980] Forked 30535 -[7979] Forked 30536 -(30535) found -(30536) found -[7978] Forked 30537 -[7977] Forked 30538 -(30537) found -(30538) found -[7976] Forked 30540 -[7975] Forked 30541 -(30540) found -(30541) found -[7974] Forked 30542 -[7973] Forked 30543 -(30542) found -(30543) found -[7972] Forked 30544 -[7971] Forked 30545 -(30544) found -(30545) found -[7970] Forked 30546 -[7969] Forked 30547 -(30546) found -(30547) found -[7968] Forked 30548 -[7967] Forked 30549 -(30548) found -(30549) found -[7966] Forked 30550 -[7965] Forked 30551 -(30550) found -(30551) found -[7964] Forked 30552 -[7963] Forked 30553 -(30552) found -(30553) found -[7962] Forked 30554 -[7961] Forked 30555 -(30554) found -(30555) found -[7960] Forked 30556 -[7959] Forked 30557 -(30556) found -(30557) found -[7958] Forked 30558 -[7957] Forked 30559 -(30558) found -(30559) found -[7956] Forked 30560 -[7955] Forked 30561 -(30560) found -(30561) found -[7954] Forked 30562 -(30562) found -[7953] Forked 30563 -(30563) found -[7952] Forked 30564 -(30564) found -[7951] Forked 30565 -(30565) found -[7950] Forked 30566 -(30566) found -[7949] Forked 30567 -(30567) found -[7948] Forked 30568 -(30568) found -[7947] Forked 30569 -(30569) found -[7946] Forked 30570 -(30570) found -[7945] Forked 30571 -(30571) found -[7944] Forked 30572 -(30572) found -[7943] Forked 30573 -(30573) found -[7942] Forked 30574 -(30574) found -[7941] Forked 30575 -(30575) found -[7940] Forked 30576 -(30576) found -[7939] Forked 30577 -(30577) found -[7938] Forked 30578 -(30578) found -[7937] Forked 30579 -(30579) found -[7936] Forked 30580 -(30580) found -[7935] Forked 30581 -(30581) found -[7934] Forked 30582 -(30582) found -[7933] Forked 30583 -(30583) found -[7932] Forked 30584 -(30584) found -[7931] Forked 30585 -(30585) found -[7930] Forked 30586 -(30586) found -[7929] Forked 30587 -(30587) found -[7928] Forked 30588 -(30588) found -[7927] Forked 30589 -(30589) found -[7926] Forked 30590 -(30590) found -[7925] Forked 30591 -(30591) found -[7924] Forked 30592 -(30592) found -[7923] Forked 30593 -(30593) found -[7922] Forked 30594 -(30594) found -[7921] Forked 30595 -(30595) found -[7920] Forked 30596 -(30596) found -[7919] Forked 30597 -(30597) found -[7918] Forked 30598 -(30598) found -[7917] Forked 30599 -[7916] Forked 30600 -(30599) found -(30600) found -[7915] Forked 30601 -[7914] Forked 30602 -(30601) found -(30602) found -[7913] Forked 30603 -[7912] Forked 30604 -(30603) found -(30604) found -[7911] Forked 30605 -[7910] Forked 30606 -(30605) found -(30606) found -[7909] Forked 30607 -[7908] Forked 30608 -(30607) found -(30608) found -[7907] Forked 30609 -[7906] Forked 30610 -(30609) found -(30610) found -[7905] Forked 30611 -[7904] Forked 30612 -(30611) found -(30612) found -[7903] Forked 30613 -[7902] Forked 30614 -(30613) found -(30614) found -[7901] Forked 30615 -[7900] Forked 30616 -(30615) found -(30616) found -[7899] Forked 30617 -[7898] Forked 30618 -(30617) found -(30618) found -[7897] Forked 30619 -[7896] Forked 30620 -(30619) found -(30620) found -[7895] Forked 30621 -[7894] Forked 30622 -(30621) found -(30622) found -[7893] Forked 30623 -[7892] Forked 30624 -(30623) found -(30624) found -[7891] Forked 30625 -[7890] Forked 30626 -(30625) found -(30626) found -[7889] Forked 30627 -[7888] Forked 30628 -(30627) found -(30628) found -[7887] Forked 30629 -[7886] Forked 30630 -(30629) found -(30630) found -[7885] Forked 30631 -[7884] Forked 30633 -(30631) found -(30633) found -[7883] Forked 30634 -(30634) found -[7882] Forked 30635 -(30635) found -[7881] Forked 30636 -(30636) found -[7880] Forked 30637 -[7879] Forked 30638 -(30637) found -(30638) found -[7878] Forked 30639 -[7877] Forked 30640 -(30639) found -(30640) found -[7876] Forked 30641 -(30641) found -[7875] Forked 30642 -[7874] Forked 30643 -(30642) found -(30643) found -[7873] Forked 30644 -[7872] Forked 30645 -(30644) found -(30645) found -[7871] Forked 30646 -[7870] Forked 30647 -(30646) found -(30647) found -[7869] Forked 30648 -[7868] Forked 30649 -(30648) found -(30649) found -[7867] Forked 30650 -[7866] Forked 30651 -(30650) found -(30651) found -[7865] Forked 30652 -[7864] Forked 30653 -(30652) found -(30653) found -[7863] Forked 30654 -[7862] Forked 30655 -(30654) found -(30655) found -[7861] Forked 30656 -[7860] Forked 30657 -(30656) found -(30657) found -[7859] Forked 30658 -[7858] Forked 30659 -(30658) found -(30659) found -[7857] Forked 30660 -[7856] Forked 30661 -(30660) found -(30661) found -[7855] Forked 30662 -[7854] Forked 30663 -(30662) found -(30663) found -[7853] Forked 30664 -[7852] Forked 30665 -(30664) found -(30665) found -[7851] Forked 30666 -[7850] Forked 30667 -(30666) found -(30667) found -[7849] Forked 30668 -[7848] Forked 30669 -(30668) found -(30669) found -[7847] Forked 30670 -[7846] Forked 30671 -(30670) found -(30671) found -[7845] Forked 30672 -[7844] Forked 30673 -(30672) found -(30673) found -[7843] Forked 30674 -[7842] Forked 30675 -(30674) found -(30675) found -[7841] Forked 30676 -[7840] Forked 30677 -(30676) found -(30677) found -[7839] Forked 30678 -[7838] Forked 30679 -(30678) found -(30679) found -[7837] Forked 30680 -[7836] Forked 30681 -(30680) found -(30681) found -[7835] Forked 30682 -[7834] Forked 30683 -(30682) found -(30683) found -[7833] Forked 30684 -[7832] Forked 30685 -(30684) found -(30685) found -[7831] Forked 30686 -[7830] Forked 30687 -(30686) found -(30687) found -[7829] Forked 30688 -[7828] Forked 30689 -(30688) found -(30689) found -[7827] Forked 30690 -[7826] Forked 30691 -(30690) found -(30691) found -[7825] Forked 30692 -[7824] Forked 30693 -(30692) found -(30693) found -[7823] Forked 30694 -[7822] Forked 30695 -(30694) found -(30695) found -[7821] Forked 30696 -[7820] Forked 30697 -(30696) found -(30697) found -[7819] Forked 30698 -[7818] Forked 30699 -(30698) found -(30699) found -[7817] Forked 30700 -[7816] Forked 30701 -(30700) found -(30701) found -[7815] Forked 30702 -[7814] Forked 30703 -(30702) found -(30703) found -[7813] Forked 30704 -[7812] Forked 30705 -(30704) found -(30705) found -[7811] Forked 30706 -[7810] Forked 30707 -(30706) found -(30707) found -[7809] Forked 30708 -[7808] Forked 30709 -(30708) found -(30709) found -[7807] Forked 30710 -[7806] Forked 30711 -(30710) found -(30711) found -[7805] Forked 30712 -[7804] Forked 30713 -(30712) found -(30713) found -[7803] Forked 30714 -[7802] Forked 30715 -(30714) found -(30715) found -[7801] Forked 30716 -[7800] Forked 30717 -(30716) found -(30717) found -[7799] Forked 30718 -[7798] Forked 30719 -(30718) found -(30719) found -[7797] Forked 30720 -[7796] Forked 30721 -(30720) found -(30721) found -[7795] Forked 30722 -[7794] Forked 30723 -(30722) found -(30723) found -[7793] Forked 30724 -[7792] Forked 30725 -(30724) found -(30725) found -[7791] Forked 30726 -[7790] Forked 30727 -(30726) found -(30727) found -[7789] Forked 30728 -[7788] Forked 30729 -(30728) found -(30729) found -[7787] Forked 30730 -[7786] Forked 30731 -(30730) found -(30731) found -[7785] Forked 30732 -[7784] Forked 30733 -(30732) found -(30733) found -[7783] Forked 30734 -(30734) found -[7782] Forked 30735 -(30735) found -[7781] Forked 30736 -(30736) found -[7780] Forked 30737 -(30737) found -[7779] Forked 30738 -(30738) found -[7778] Forked 30739 -(30739) found -[7777] Forked 30740 -(30740) found -[7776] Forked 30741 -(30741) found -[7775] Forked 30742 -(30742) found -[7774] Forked 30743 -(30743) found -[7773] Forked 30744 -(30744) found -[7772] Forked 30745 -(30745) found -[7771] Forked 30746 -(30746) found -[7770] Forked 30747 -(30747) found -[7769] Forked 30748 -(30748) found -[7768] Forked 30749 -(30749) found -[7767] Forked 30750 -(30750) found -[7766] Forked 30751 -(30751) found -[7765] Forked 30752 -(30752) found -[7764] Forked 30753 -(30753) found -[7763] Forked 30754 -(30754) found -[7762] Forked 30755 -(30755) found -[7761] Forked 30756 -(30756) found -[7760] Forked 30757 -(30757) found -[7759] Forked 30758 -(30758) found -[7758] Forked 30759 -(30759) found -[7757] Forked 30760 -(30760) found -[7756] Forked 30761 -(30761) found -[7755] Forked 30762 -(30762) found -[7754] Forked 30763 -(30763) found -[7753] Forked 30764 -(30764) found -[7752] Forked 30765 -(30765) found -[7751] Forked 30766 -(30766) found -[7750] Forked 30767 -(30767) found -[7749] Forked 30768 -(30768) found -[7748] Forked 30769 -(30769) found -[7747] Forked 30770 -(30770) found -[7746] Forked 30771 -[7745] Forked 30772 -(30771) found -(30772) found -[7744] Forked 30773 -[7743] Forked 30774 -(30773) found -(30774) found -[7742] Forked 30775 -[7741] Forked 30776 -(30775) found -(30776) found -[7740] Forked 30777 -[7739] Forked 30778 -(30777) found -(30778) found -[7738] Forked 30779 -[7737] Forked 30780 -(30779) found -(30780) found -[7736] Forked 30781 -[7735] Forked 30782 -(30781) found -(30782) found -[7734] Forked 30783 -[7733] Forked 30784 -(30783) found -(30784) found -[7732] Forked 30785 -[7731] Forked 30786 -(30785) found -(30786) found -[7730] Forked 30787 -[7729] Forked 30788 -(30787) found -(30788) found -[7728] Forked 30789 -[7727] Forked 30790 -(30789) found -(30790) found -[7726] Forked 30791 -[7725] Forked 30792 -(30791) found -(30792) found -[7724] Forked 30793 -[7723] Forked 30794 -(30793) found -(30794) found -[7722] Forked 30795 -[7721] Forked 30796 -(30795) found -(30796) found -[7720] Forked 30797 -[7719] Forked 30798 -(30797) found -(30798) found -[7718] Forked 30799 -[7717] Forked 30800 -(30799) found -(30800) found -[7716] Forked 30801 -[7715] Forked 30802 -(30801) found -(30802) found -[7714] Forked 30803 -[7713] Forked 30804 -(30803) found -(30804) found -[7712] Forked 30805 -[7711] Forked 30806 -(30805) found -(30806) found -[7710] Forked 30807 -[7709] Forked 30808 -(30807) found -(30808) found -[7708] Forked 30809 -[7707] Forked 30810 -(30809) found -(30810) found -[7706] Forked 30811 -[7705] Forked 30812 -(30811) found -(30812) found -[7704] Forked 30813 -[7703] Forked 30814 -(30813) found -(30814) found -[7702] Forked 30815 -(30815) found -[7701] Forked 30816 -(30816) found -[7700] Forked 30817 -(30817) found -[7699] Forked 30818 -(30818) found -[7698] Forked 30819 -(30819) found -[7697] Forked 30820 -(30820) found -[7696] Forked 30821 -(30821) found -[7695] Forked 30822 -(30822) found -[7694] Forked 30823 -(30823) found -[7693] Forked 30824 -(30824) found -[7692] Forked 30825 -(30825) found -[7691] Forked 30826 -(30826) found -[7690] Forked 30827 -(30827) found -[7689] Forked 30828 -(30828) found -[7688] Forked 30829 -(30829) found -[7687] Forked 30831 -(30831) found -[7686] Forked 30832 -(30832) found -[7685] Forked 30833 -(30833) found -[7684] Forked 30834 -(30834) found -[7683] Forked 30835 -(30835) found -[7682] Forked 30837 -(30837) found -[7681] Forked 30838 -(30838) found -[7680] Forked 30839 -(30839) found -[7679] Forked 30840 -(30840) found -[7678] Forked 30841 -(30841) found -[7677] Forked 30843 -(30843) found -[7676] Forked 30844 -(30844) found -[7675] Forked 30845 -(30845) found -[7674] Forked 30846 -(30846) found -[7673] Forked 30847 -(30847) found -[7672] Forked 30849 -(30849) found -[7671] Forked 30850 -(30850) found -[7670] Forked 30851 -(30851) found -[7669] Forked 30852 -(30852) found -[7668] Forked 30853 -[7667] Forked 30855 -(30853) found -(30855) found -[7666] Forked 30856 -[7665] Forked 30857 -(30856) found -(30857) found -[7664] Forked 30858 -[7663] Forked 30859 -(30858) found -(30859) found -[7662] Forked 30861 -[7661] Forked 30862 -(30861) found -(30862) found -[7660] Forked 30863 -[7659] Forked 30864 -(30863) found -(30864) found -[7658] Forked 30865 -[7657] Forked 30866 -(30865) found -(30866) found -[7656] Forked 30867 -[7655] Forked 30868 -(30867) found -(30868) found -[7654] Forked 30869 -[7653] Forked 30870 -(30869) found -(30870) found -[7652] Forked 30871 -[7651] Forked 30872 -(30871) found -(30872) found -[7650] Forked 30873 -[7649] Forked 30874 -(30873) found -(30874) found -[7648] Forked 30875 -[7647] Forked 30876 -(30875) found -(30876) found -[7646] Forked 30877 -[7645] Forked 30878 -(30877) found -(30878) found -[7644] Forked 30879 -[7643] Forked 30881 -(30879) found -(30881) found -[7642] Forked 30882 -(30882) found -[7641] Forked 30883 -(30883) found -[7640] Forked 30884 -(30884) found -[7639] Forked 30885 -(30885) found -[7638] Forked 30886 -(30886) found -[7637] Forked 30887 -(30887) found -[7636] Forked 30888 -(30888) found -[7635] Forked 30889 -(30889) found -[7634] Forked 30890 -(30890) found -[7633] Forked 30891 -(30891) found -[7632] Forked 30892 -(30892) found -[7631] Forked 30893 -(30893) found -[7630] Forked 30894 -(30894) found -[7629] Forked 30895 -(30895) found -[7628] Forked 30896 -(30896) found -[7627] Forked 30897 -(30897) found -[7626] Forked 30898 -(30898) found -[7625] Forked 30899 -(30899) found -[7624] Forked 30900 -(30900) found -[7623] Forked 30901 -(30901) found -[7622] Forked 30902 -(30902) found -[7621] Forked 30903 -(30903) found -[7620] Forked 30904 -(30904) found -[7619] Forked 30905 -(30905) found -[7618] Forked 30906 -(30906) found -[7617] Forked 30907 -(30907) found -[7616] Forked 30908 -(30908) found -[7615] Forked 30909 -(30909) found -[7614] Forked 30910 -(30910) found -[7613] Forked 30911 -(30911) found -[7612] Forked 30912 -(30912) found -[7611] Forked 30913 -(30913) found -[7610] Forked 30914 -(30914) found -[7609] Forked 30915 -(30915) found -[7608] Forked 30916 -(30916) found -[7607] Forked 30917 -(30917) found -[7606] Forked 30918 -(30918) found -[7605] Forked 30919 -(30919) found -[7604] Forked 30920 -(30920) found -[7603] Forked 30921 -(30921) found -[7602] Forked 30922 -(30922) found -[7601] Forked 30923 -(30923) found -[7600] Forked 30924 -[7599] Forked 30925 -(30924) found -(30925) found -[7598] Forked 30926 -[7597] Forked 30927 -(30926) found -(30927) found -[7596] Forked 30928 -[7595] Forked 30929 -(30928) found -(30929) found -[7594] Forked 30930 -[7593] Forked 30931 -(30930) found -(30931) found -[7592] Forked 30932 -[7591] Forked 30933 -(30932) found -(30933) found -[7590] Forked 30934 -[7589] Forked 30935 -(30934) found -(30935) found -[7588] Forked 30936 -[7587] Forked 30937 -(30936) found -(30937) found -[7586] Forked 30938 -[7585] Forked 30939 -(30938) found -(30939) found -[7584] Forked 30940 -[7583] Forked 30941 -(30940) found -(30941) found -[7582] Forked 30942 -[7581] Forked 30943 -(30942) found -(30943) found -[7580] Forked 30944 -[7579] Forked 30945 -(30944) found -(30945) found -[7578] Forked 30946 -[7577] Forked 30947 -(30946) found -(30947) found -[7576] Forked 30948 -[7575] Forked 30949 -(30948) found -(30949) found -[7574] Forked 30950 -[7573] Forked 30951 -(30950) found -(30951) found -[7572] Forked 30952 -[7571] Forked 30953 -(30952) found -(30953) found -[7570] Forked 30954 -[7569] Forked 30955 -(30954) found -(30955) found -[7568] Forked 30956 -[7567] Forked 30957 -(30956) found -(30957) found -[7566] Forked 30958 -[7565] Forked 30959 -(30958) found -(30959) found -[7564] Forked 30960 -[7563] Forked 30961 -(30960) found -(30961) found -[7562] Forked 30962 -(30962) found -[7561] Forked 30963 -[7560] Forked 30964 -(30963) found -(30964) found -[7559] Forked 30965 -[7558] Forked 30966 -(30965) found -(30966) found -[7557] Forked 30967 -(30967) found -[7556] Forked 30968 -(30968) found -[7555] Forked 30969 -(30969) found -[7554] Forked 30970 -(30970) found -[7553] Forked 30971 -(30971) found -[7552] Forked 30972 -(30972) found -[7551] Forked 30973 -(30973) found -[7550] Forked 30974 -(30974) found -[7549] Forked 30975 -(30975) found -[7548] Forked 30976 -(30976) found -[7547] Forked 30977 -(30977) found -[7546] Forked 30978 -(30978) found -[7545] Forked 30979 -(30979) found -[7544] Forked 30980 -(30980) found -[7543] Forked 30981 -(30981) found -[7542] Forked 30982 -(30982) found -[7541] Forked 30983 -(30983) found -[7540] Forked 30984 -(30984) found -[7539] Forked 30985 -(30985) found -[7538] Forked 30986 -(30986) found -[7537] Forked 30987 -(30987) found -[7536] Forked 30988 -(30988) found -[7535] Forked 30989 -(30989) found -[7534] Forked 30990 -(30990) found -[7533] Forked 30991 -(30991) found -[7532] Forked 30992 -(30992) found -[7531] Forked 30993 -(30993) found -[7530] Forked 30994 -(30994) found -[7529] Forked 30995 -(30995) found -[7528] Forked 30996 -(30996) found -[7527] Forked 30997 -(30997) found -[7526] Forked 30998 -(30998) found -[7525] Forked 30999 -(30999) found -[7524] Forked 31000 -(31000) found -[7523] Forked 31001 -(31001) found -[7522] Forked 31002 -(31002) found -[7521] Forked 31003 -(31003) found -[7520] Forked 31004 -[7519] Forked 31005 -(31004) found -(31005) found -[7518] Forked 31006 -[7517] Forked 31007 -(31006) found -(31007) found -[7516] Forked 31008 -[7515] Forked 31009 -(31008) found -(31009) found -[7514] Forked 31010 -[7513] Forked 31011 -(31010) found -(31011) found -[7512] Forked 31012 -[7511] Forked 31013 -(31012) found -(31013) found -[7510] Forked 31014 -[7509] Forked 31015 -(31014) found -(31015) found -[7508] Forked 31016 -[7507] Forked 31017 -(31016) found -(31017) found -[7506] Forked 31018 -[7505] Forked 31019 -(31018) found -(31019) found -[7504] Forked 31020 -[7503] Forked 31021 -(31020) found -(31021) found -[7502] Forked 31022 -[7501] Forked 31023 -(31022) found -(31023) found -[7500] Forked 31024 -[7499] Forked 31025 -(31024) found -(31025) found -[7498] Forked 31026 -[7497] Forked 31027 -(31026) found -(31027) found -[7496] Forked 31028 -[7495] Forked 31029 -(31028) found -(31029) found -[7494] Forked 31030 -[7493] Forked 31031 -(31030) found -(31031) found -[7492] Forked 31032 -[7491] Forked 31033 -(31032) found -(31033) found -[7490] Forked 31034 -[7489] Forked 31035 -(31034) found -(31035) found -[7488] Forked 31036 -[7487] Forked 31037 -(31036) found -(31037) found -[7486] Forked 31038 -[7485] Forked 31039 -(31038) found -(31039) found -[7484] Forked 31040 -[7483] Forked 31041 -(31040) found -(31041) found -[7482] Forked 31042 -[7481] Forked 31043 -(31042) found -(31043) found -[7480] Forked 31044 -[7479] Forked 31045 -(31044) found -(31045) found -[7478] Forked 31046 -[7477] Forked 31047 -(31046) found -(31047) found -[7476] Forked 31048 -(31048) found -[7475] Forked 31049 -(31049) found -[7474] Forked 31050 -(31050) found -[7473] Forked 31051 -(31051) found -[7472] Forked 31052 -(31052) found -[7471] Forked 31053 -(31053) found -[7470] Forked 31054 -(31054) found -[7469] Forked 31055 -(31055) found -[7468] Forked 31056 -(31056) found -[7467] Forked 31057 -(31057) found -[7466] Forked 31058 -(31058) found -[7465] Forked 31059 -(31059) found -[7464] Forked 31060 -(31060) found -[7463] Forked 31061 -(31061) found -[7462] Forked 31062 -(31062) found -[7461] Forked 31064 -(31064) found -[7460] Forked 31065 -(31065) found -[7459] Forked 31066 -(31066) found -[7458] Forked 31067 -(31067) found -[7457] Forked 31068 -(31068) found -[7456] Forked 31069 -(31069) found -[7455] Forked 31070 -(31070) found -[7454] Forked 31071 -(31071) found -[7453] Forked 31072 -(31072) found -[7452] Forked 31073 -(31073) found -[7451] Forked 31074 -(31074) found -[7450] Forked 31075 -(31075) found -[7449] Forked 31076 -(31076) found -[7448] Forked 31077 -(31077) found -[7447] Forked 31078 -(31078) found -[7446] Forked 31079 -(31079) found -[7445] Forked 31080 -(31080) found -[7444] Forked 31081 -(31081) found -[7443] Forked 31082 -(31082) found -[7442] Forked 31083 -(31083) found -[7441] Forked 31084 -(31084) found -[7440] Forked 31085 -(31085) found -[7439] Forked 31086 -[7438] Forked 31087 -(31086) found -(31087) found -[7437] Forked 31088 -[7436] Forked 31089 -(31088) found -(31089) found -[7435] Forked 31090 -[7434] Forked 31091 -(31090) found -(31091) found -[7433] Forked 31092 -[7432] Forked 31093 -(31092) found -(31093) found -[7431] Forked 31094 -[7430] Forked 31095 -(31094) found -(31095) found -[7429] Forked 31096 -[7428] Forked 31097 -(31096) found -(31097) found -[7427] Forked 31098 -[7426] Forked 31099 -(31098) found -(31099) found -[7425] Forked 31100 -[7424] Forked 31101 -(31100) found -(31101) found -[7423] Forked 31102 -[7422] Forked 31103 -(31102) found -(31103) found -[7421] Forked 31104 -[7420] Forked 31105 -(31104) found -(31105) found -[7419] Forked 31106 -[7418] Forked 31107 -(31106) found -(31107) found -[7417] Forked 31108 -[7416] Forked 31109 -(31108) found -(31109) found -[7415] Forked 31110 -[7414] Forked 31111 -(31110) found -(31111) found -[7413] Forked 31112 -[7412] Forked 31113 -(31112) found -(31113) found -[7411] Forked 31114 -[7410] Forked 31115 -(31114) found -(31115) found -[7409] Forked 31116 -[7408] Forked 31117 -(31116) found -(31117) found -[7407] Forked 31118 -[7406] Forked 31119 -(31118) found -(31119) found -[7405] Forked 31120 -[7404] Forked 31121 -(31120) found -(31121) found -[7403] Forked 31122 -[7402] Forked 31123 -(31122) found -(31123) found -[7401] Forked 31124 -[7400] Forked 31125 -(31124) found -(31125) found -[7399] Forked 31126 -[7398] Forked 31127 -(31126) found -(31127) found -[7397] Forked 31128 -[7396] Forked 31129 -(31128) found -(31129) found -[7395] Forked 31130 -(31130) found -[7394] Forked 31131 -(31131) found -[7393] Forked 31132 -(31132) found -[7392] Forked 31133 -(31133) found -[7391] Forked 31134 -(31134) found -[7390] Forked 31135 -(31135) found -[7389] Forked 31136 -(31136) found -[7388] Forked 31137 -(31137) found -[7387] Forked 31138 -(31138) found -[7386] Forked 31139 -(31139) found -[7385] Forked 31140 -(31140) found -[7384] Forked 31141 -(31141) found -[7383] Forked 31142 -(31142) found -[7382] Forked 31143 -(31143) found -[7381] Forked 31144 -(31144) found -[7380] Forked 31145 -(31145) found -[7379] Forked 31146 -(31146) found -[7378] Forked 31147 -(31147) found -[7377] Forked 31148 -(31148) found -[7376] Forked 31149 -(31149) found -[7375] Forked 31150 -(31150) found -[7374] Forked 31151 -(31151) found -[7373] Forked 31152 -(31152) found -[7372] Forked 31153 -(31153) found -[7371] Forked 31154 -(31154) found -[7370] Forked 31155 -(31155) found -[7369] Forked 31156 -(31156) found -[7368] Forked 31157 -(31157) found -[7367] Forked 31158 -(31158) found -[7366] Forked 31159 -(31159) found -[7365] Forked 31160 -(31160) found -[7364] Forked 31161 -(31161) found -[7363] Forked 31162 -(31162) found -[7362] Forked 31163 -(31163) found -[7361] Forked 31164 -[7360] Forked 31165 -(31164) found -(31165) found -[7359] Forked 31166 -[7358] Forked 31167 -(31166) found -(31167) found -[7357] Forked 31168 -[7356] Forked 31169 -(31168) found -(31169) found -[7355] Forked 31170 -[7354] Forked 31171 -(31170) found -(31171) found -[7353] Forked 31172 -[7352] Forked 31173 -(31172) found -(31173) found -[7351] Forked 31174 -[7350] Forked 31175 -(31174) found -(31175) found -[7349] Forked 31176 -[7348] Forked 31177 -(31176) found -(31177) found -[7347] Forked 31178 -[7346] Forked 31179 -(31178) found -(31179) found -[7345] Forked 31180 -[7344] Forked 31181 -(31180) found -(31181) found -[7343] Forked 31182 -[7342] Forked 31183 -(31182) found -(31183) found -[7341] Forked 31184 -[7340] Forked 31185 -(31184) found -(31185) found -[7339] Forked 31186 -[7338] Forked 31187 -(31186) found -(31187) found -[7337] Forked 31188 -[7336] Forked 31189 -(31188) found -(31189) found -[7335] Forked 31190 -[7334] Forked 31191 -(31190) found -(31191) found -[7333] Forked 31192 -[7332] Forked 31193 -(31192) found -(31193) found -[7331] Forked 31194 -[7330] Forked 31195 -(31194) found -(31195) found -[7329] Forked 31196 -[7328] Forked 31197 -(31196) found -(31197) found -[7327] Forked 31198 -[7326] Forked 31199 -(31198) found -(31199) found -[7325] Forked 31200 -[7324] Forked 31201 -(31200) found -(31201) found -[7323] Forked 31202 -[7322] Forked 31203 -(31202) found -(31203) found -[7321] Forked 31204 -[7320] Forked 31205 -(31204) found -(31205) found -[7319] Forked 31206 -[7318] Forked 31207 -(31206) found -(31207) found -[7317] Forked 31208 -[7316] Forked 31209 -(31208) found -(31209) found -[7315] Forked 31210 -(31210) found -[7314] Forked 31211 -(31211) found -[7313] Forked 31212 -(31212) found -[7312] Forked 31213 -(31213) found -[7311] Forked 31214 -(31214) found -[7310] Forked 31215 -(31215) found -[7309] Forked 31216 -(31216) found -[7308] Forked 31217 -(31217) found -[7307] Forked 31218 -(31218) found -[7306] Forked 31219 -(31219) found -[7305] Forked 31220 -(31220) found -[7304] Forked 31221 -(31221) found -[7303] Forked 31222 -(31222) found -[7302] Forked 31223 -(31223) found -[7301] Forked 31224 -(31224) found -[7300] Forked 31225 -(31225) found -[7299] Forked 31226 -(31226) found -[7298] Forked 31227 -(31227) found -[7297] Forked 31228 -(31228) found -[7296] Forked 31229 -(31229) found -[7295] Forked 31230 -(31230) found -[7294] Forked 31231 -(31231) found -[7293] Forked 31232 -(31232) found -[7292] Forked 31233 -(31233) found -[7291] Forked 31234 -(31234) found -[7290] Forked 31235 -(31235) found -[7289] Forked 31236 -(31236) found -[7288] Forked 31237 -(31237) found -[7287] Forked 31238 -(31238) found -[7286] Forked 31239 -(31239) found -[7285] Forked 31240 -[7284] Forked 31241 -(31240) found -(31241) found -[7283] Forked 31242 -[7282] Forked 31243 -(31242) found -(31243) found -[7281] Forked 31244 -[7280] Forked 31245 -(31244) found -(31245) found -[7279] Forked 31246 -[7278] Forked 31247 -(31246) found -(31247) found -[7277] Forked 31248 -[7276] Forked 31249 -(31248) found -(31249) found -[7275] Forked 31250 -[7274] Forked 31251 -(31250) found -(31251) found -[7273] Forked 31252 -[7272] Forked 31253 -(31252) found -(31253) found -[7271] Forked 31254 -[7270] Forked 31255 -(31254) found -(31255) found -[7269] Forked 31256 -[7268] Forked 31257 -(31256) found -(31257) found -[7267] Forked 31258 -[7266] Forked 31259 -(31258) found -(31259) found -[7265] Forked 31260 -[7264] Forked 31261 -(31260) found -(31261) found -[7263] Forked 31262 -[7262] Forked 31263 -(31262) found -(31263) found -[7261] Forked 31264 -[7260] Forked 31265 -(31264) found -(31265) found -[7259] Forked 31266 -[7258] Forked 31267 -(31266) found -(31267) found -[7257] Forked 31268 -[7256] Forked 31269 -(31268) found -(31269) found -[7255] Forked 31270 -[7254] Forked 31271 -(31270) found -(31271) found -[7253] Forked 31272 -[7252] Forked 31273 -(31272) found -(31273) found -[7251] Forked 31274 -[7250] Forked 31275 -(31274) found -(31275) found -[7249] Forked 31276 -[7248] Forked 31277 -(31276) found -(31277) found -[7247] Forked 31278 -[7246] Forked 31279 -(31278) found -(31279) found -[7245] Forked 31280 -[7244] Forked 31281 -(31280) found -(31281) found -[7243] Forked 31282 -[7242] Forked 31283 -(31282) found -(31283) found -[7241] Forked 31284 -[7240] Forked 31285 -(31285) found -(31284) found -[7239] Forked 31286 -(31286) found -[7238] Forked 31287 -(31287) found -[7237] Forked 31288 -(31288) found -[7236] Forked 31289 -(31289) found -[7235] Forked 31290 -(31290) found -[7234] Forked 31291 -(31291) found -[7233] Forked 31292 -(31292) found -[7232] Forked 31293 -(31293) found -[7231] Forked 31294 -(31294) found -[7230] Forked 31295 -(31295) found -[7229] Forked 31296 -(31296) found -[7228] Forked 31297 -(31297) found -[7227] Forked 31298 -(31298) found -[7226] Forked 31299 -(31299) found -[7225] Forked 31300 -(31300) found -[7224] Forked 31301 -(31301) found -[7223] Forked 31302 -(31302) found -[7222] Forked 31303 -(31303) found -[7221] Forked 31304 -(31304) found -[7220] Forked 31305 -(31305) found -[7219] Forked 31306 -(31306) found -[7218] Forked 31307 -(31307) found -[7217] Forked 31308 -(31308) found -[7216] Forked 31309 -(31309) found -[7215] Forked 31310 -(31310) found -[7214] Forked 31311 -(31311) found -[7213] Forked 31312 -(31312) found -[7212] Forked 31313 -(31313) found -[7211] Forked 31314 -(31314) found -[7210] Forked 31315 -(31315) found -[7209] Forked 31316 -(31316) found -[7208] Forked 31317 -(31317) found -[7207] Forked 31318 -(31318) found -[7206] Forked 31319 -(31319) found -[7205] Forked 31320 -[7204] Forked 31321 -(31320) found -(31321) found -[7203] Forked 31322 -[7202] Forked 31323 -(31323) found -(31322) found -[7201] Forked 31324 -(31324) found -[7200] Forked 31325 -(31325) found -[7199] Forked 31326 -(31326) found -[7198] Forked 31327 -(31327) found -[7197] Forked 31328 -(31328) found -[7196] Forked 31329 -(31329) found -[7195] Forked 31330 -(31330) found -[7194] Forked 31331 -(31331) found -[7193] Forked 31332 -(31332) found -[7192] Forked 31333 -(31333) found -[7191] Forked 31334 -(31334) found -[7190] Forked 31335 -(31335) found -[7189] Forked 31336 -(31336) found -[7188] Forked 31337 -(31337) found -[7187] Forked 31338 -(31338) found -[7186] Forked 31339 -(31339) found -[7185] Forked 31340 -(31340) found -[7184] Forked 31341 -(31341) found -[7183] Forked 31342 -(31342) found -[7182] Forked 31343 -(31343) found -[7181] Forked 31344 -(31344) found -[7180] Forked 31345 -(31345) found -[7179] Forked 31346 -(31346) found -[7178] Forked 31347 -(31347) found -[7177] Forked 31348 -(31348) found -[7176] Forked 31349 -(31349) found -[7175] Forked 31350 -(31350) found -[7174] Forked 31351 -(31351) found -[7173] Forked 31352 -(31352) found -[7172] Forked 31353 -(31353) found -[7171] Forked 31354 -(31354) found -[7170] Forked 31355 -(31355) found -[7169] Forked 31356 -(31356) found -[7168] Forked 31357 -(31357) found -[7167] Forked 31358 -(31358) found -[7166] Forked 31359 -(31359) found -[7165] Forked 31360 -(31360) found -[7164] Forked 31361 -(31361) found -[7163] Forked 31362 -(31362) found -[7162] Forked 31363 -(31363) found -[7161] Forked 31364 -(31364) found -[7160] Forked 31365 -(31365) found -[7159] Forked 31366 -(31366) found -[7158] Forked 31367 -(31367) found -[7157] Forked 31368 -(31368) found -[7156] Forked 31369 -(31369) found -[7155] Forked 31370 -(31370) found -[7154] Forked 31371 -(31371) found -[7153] Forked 31372 -(31372) found -[7152] Forked 31373 -(31373) found -[7151] Forked 31374 -(31374) found -[7150] Forked 31375 -(31375) found -[7149] Forked 31376 -(31376) found -[7148] Forked 31377 -(31377) found -[7147] Forked 31378 -(31378) found -[7146] Forked 31379 -(31379) found -[7145] Forked 31380 -(31380) found -[7144] Forked 31381 -(31381) found -[7143] Forked 31382 -(31382) found -[7142] Forked 31383 -(31383) found -[7141] Forked 31384 -(31384) found -[7140] Forked 31385 -(31385) found -[7139] Forked 31386 -(31386) found -[7138] Forked 31387 -(31387) found -[7137] Forked 31388 -(31388) found -[7136] Forked 31389 -(31389) found -[7135] Forked 31390 -(31390) found -[7134] Forked 31391 -(31391) found -[7133] Forked 31392 -(31392) found -[7132] Forked 31393 -(31393) found -[7131] Forked 31394 -(31394) found -[7130] Forked 31395 -(31395) found -[7129] Forked 31396 -(31396) found -[7128] Forked 31397 -(31397) found -[7127] Forked 31398 -(31398) found -[7126] Forked 31399 -(31399) found -[7125] Forked 31400 -(31400) found -[7124] Forked 31401 -(31401) found -[7123] Forked 31402 -(31402) found -[7122] Forked 31403 -(31403) found -[7121] Forked 31404 -(31404) found -[7120] Forked 31405 -(31405) found -[7119] Forked 31406 -(31406) found -[7118] Forked 31407 -(31407) found -[7117] Forked 31408 -(31408) found -[7116] Forked 31409 -(31409) found -[7115] Forked 31410 -(31410) found -[7114] Forked 31411 -(31411) found -[7113] Forked 31412 -(31412) found -[7112] Forked 31413 -(31413) found -[7111] Forked 31414 -(31414) found -[7110] Forked 31415 -(31415) found -[7109] Forked 31416 -(31416) found -[7108] Forked 31417 -(31417) found -[7107] Forked 31418 -(31418) found -[7106] Forked 31419 -(31419) found -[7105] Forked 31420 -(31420) found -[7104] Forked 31421 -(31421) found -[7103] Forked 31422 -(31422) found -[7102] Forked 31423 -(31423) found -[7101] Forked 31424 -(31424) found -[7100] Forked 31425 -(31425) found -[7099] Forked 31426 -[7098] Forked 31427 -(31426) found -(31427) found -[7097] Forked 31428 -[7096] Forked 31429 -(31428) found -(31429) found -[7095] Forked 31430 -[7094] Forked 31431 -(31430) found -(31431) found -[7093] Forked 31432 -[7092] Forked 31433 -(31432) found -(31433) found -[7091] Forked 31434 -[7090] Forked 31435 -(31434) found -(31435) found -[7089] Forked 31436 -[7088] Forked 31437 -(31436) found -(31437) found -[7087] Forked 31438 -[7086] Forked 31439 -(31438) found -(31439) found -[7085] Forked 31440 -[7084] Forked 31441 -(31440) found -(31441) found -[7083] Forked 31442 -[7082] Forked 31443 -(31442) found -(31443) found -[7081] Forked 31444 -[7080] Forked 31445 -(31444) found -(31445) found -[7079] Forked 31446 -[7078] Forked 31447 -(31446) found -(31447) found -[7077] Forked 31448 -[7076] Forked 31449 -(31448) found -(31449) found -[7075] Forked 31450 -[7074] Forked 31451 -(31450) found -(31451) found -[7073] Forked 31452 -[7072] Forked 31453 -(31452) found -(31453) found -[7071] Forked 31454 -[7070] Forked 31455 -(31454) found -(31455) found -[7069] Forked 31456 -[7068] Forked 31457 -(31456) found -(31457) found -[7067] Forked 31458 -[7066] Forked 31459 -(31458) found -(31459) found -[7065] Forked 31460 -[7064] Forked 31461 -(31460) found -(31461) found -[7063] Forked 31462 -[7062] Forked 31463 -(31462) found -(31463) found -[7061] Forked 31464 -[7060] Forked 31465 -(31464) found -(31465) found -[7059] Forked 31466 -[7058] Forked 31467 -(31466) found -(31467) found -[7057] Forked 31468 -[7056] Forked 31469 -(31468) found -(31469) found -[7055] Forked 31470 -[7054] Forked 31471 -(31470) found -(31471) found -[7053] Forked 31472 -[7052] Forked 31473 -(31472) found -(31473) found -[7051] Forked 31474 -[7050] Forked 31475 -(31474) found -(31475) found -[7049] Forked 31476 -[7048] Forked 31477 -(31476) found -(31477) found -[7047] Forked 31478 -[7046] Forked 31479 -(31478) found -(31479) found -[7045] Forked 31480 -[7044] Forked 31481 -(31480) found -(31481) found -[7043] Forked 31482 -[7042] Forked 31483 -(31482) found -(31483) found -[7041] Forked 31484 -[7040] Forked 31485 -(31484) found -(31485) found -[7039] Forked 31486 -[7038] Forked 31487 -(31486) found -(31487) found -[7037] Forked 31488 -[7036] Forked 31489 -(31488) found -(31489) found -[7035] Forked 31490 -[7034] Forked 31491 -(31490) found -(31491) found -[7033] Forked 31492 -[7032] Forked 31493 -(31492) found -(31493) found -[7031] Forked 31494 -[7030] Forked 31495 -(31494) found -(31495) found -[7029] Forked 31496 -[7028] Forked 31497 -(31496) found -(31497) found -[7027] Forked 31498 -[7026] Forked 31499 -(31498) found -(31499) found -[7025] Forked 31500 -[7024] Forked 31501 -(31500) found -(31501) found -[7023] Forked 31502 -[7022] Forked 31503 -(31502) found -(31503) found -[7021] Forked 31504 -[7020] Forked 31505 -(31504) found -(31505) found -[7019] Forked 31506 -[7018] Forked 31507 -(31506) found -(31507) found -[7017] Forked 31508 -[7016] Forked 31509 -(31508) found -(31509) found -[7015] Forked 31510 -[7014] Forked 31511 -(31510) found -(31511) found -[7013] Forked 31512 -[7012] Forked 31513 -(31512) found -(31513) found -[7011] Forked 31514 -[7010] Forked 31515 -(31514) found -(31515) found -[7009] Forked 31516 -[7008] Forked 31517 -(31516) found -(31517) found -[7007] Forked 31518 -[7006] Forked 31519 -(31518) found -(31519) found -[7005] Forked 31520 -[7004] Forked 31521 -(31520) found -(31521) found -[7003] Forked 31522 -[7002] Forked 31523 -(31522) found -(31523) found -[7001] Forked 31524 -[7000] Forked 31525 -(31524) found -(31525) found -[6999] Forked 31526 -[6998] Forked 31527 -(31526) found -(31527) found -[6997] Forked 31528 -[6996] Forked 31529 -(31528) found -(31529) found -[6995] Forked 31530 -[6994] Forked 31531 -(31530) found -(31531) found -[6993] Forked 31532 -[6992] Forked 31533 -(31532) found -(31533) found -[6991] Forked 31534 -[6990] Forked 31535 -(31534) found -(31535) found -[6989] Forked 31536 -[6988] Forked 31537 -(31536) found -(31537) found -[6987] Forked 31538 -[6986] Forked 31539 -(31538) found -(31539) found -[6985] Forked 31540 -[6984] Forked 31541 -(31540) found -(31541) found -[6983] Forked 31542 -[6982] Forked 31543 -(31542) found -(31543) found -[6981] Forked 31544 -[6980] Forked 31545 -(31544) found -(31545) found -[6979] Forked 31546 -[6978] Forked 31547 -(31546) found -(31547) found -[6977] Forked 31548 -[6976] Forked 31549 -(31548) found -(31549) found -[6975] Forked 31550 -[6974] Forked 31551 -(31550) found -(31551) found -[6973] Forked 31552 -[6972] Forked 31553 -(31552) found -(31553) found -[6971] Forked 31554 -[6970] Forked 31555 -(31554) found -(31555) found -[6969] Forked 31556 -[6968] Forked 31557 -(31556) found -(31557) found -[6967] Forked 31558 -[6966] Forked 31559 -(31558) found -(31559) found -[6965] Forked 31560 -[6964] Forked 31561 -(31560) found -(31561) found -[6963] Forked 31562 -[6962] Forked 31563 -(31562) found -(31563) found -[6961] Forked 31564 -[6960] Forked 31565 -(31564) found -(31565) found -[6959] Forked 31566 -[6958] Forked 31567 -(31566) found -(31567) found -[6957] Forked 31568 -[6956] Forked 31569 -(31568) found -(31569) found -[6955] Forked 31570 -[6954] Forked 31571 -(31570) found -(31571) found -[6953] Forked 31572 -[6952] Forked 31573 -(31572) found -(31573) found -[6951] Forked 31574 -[6950] Forked 31575 -(31574) found -(31575) found -[6949] Forked 31576 -[6948] Forked 31577 -(31576) found -(31577) found -[6947] Forked 31578 -[6946] Forked 31579 -(31578) found -(31579) found -[6945] Forked 31580 -[6944] Forked 31581 -(31580) found -(31581) found -[6943] Forked 31582 -[6942] Forked 31583 -(31582) found -(31583) found -[6941] Forked 31584 -[6940] Forked 31585 -(31584) found -(31585) found -[6939] Forked 31586 -[6938] Forked 31587 -(31586) found -(31587) found -[6937] Forked 31588 -[6936] Forked 31589 -(31588) found -(31589) found -[6935] Forked 31590 -[6934] Forked 31591 -(31590) found -(31591) found -[6933] Forked 31592 -[6932] Forked 31593 -(31592) found -(31593) found -[6931] Forked 31594 -[6930] Forked 31595 -(31594) found -(31595) found -[6929] Forked 31596 -[6928] Forked 31597 -(31596) found -(31597) found -[6927] Forked 31598 -[6926] Forked 31599 -(31598) found -(31599) found -[6925] Forked 31600 -[6924] Forked 31601 -(31600) found -(31601) found -[6923] Forked 31602 -[6922] Forked 31603 -(31602) found -(31603) found -[6921] Forked 31604 -[6920] Forked 31605 -(31604) found -(31605) found -[6919] Forked 31606 -[6918] Forked 31607 -(31606) found -(31607) found -[6917] Forked 31608 -[6916] Forked 31609 -(31608) found -(31609) found -[6915] Forked 31610 -(31610) found -[6914] Forked 31611 -(31611) found -[6913] Forked 31612 -(31612) found -[6912] Forked 31613 -(31613) found -[6911] Forked 31614 -(31614) found -[6910] Forked 31615 -[6909] Forked 31616 -(31615) found -(31616) found -[6908] Forked 31617 -[6907] Forked 31618 -(31617) found -(31618) found -[6906] Forked 31619 -[6905] Forked 31620 -(31619) found -(31620) found -[6904] Forked 31621 -[6903] Forked 31622 -(31621) found -(31622) found -[6902] Forked 31623 -[6901] Forked 31624 -(31623) found -(31624) found -[6900] Forked 31625 -[6899] Forked 31626 -(31625) found -(31626) found -[6898] Forked 31627 -[6897] Forked 31628 -(31627) found -(31628) found -[6896] Forked 31629 -[6895] Forked 31630 -(31629) found -(31630) found -[6894] Forked 31631 -[6893] Forked 31632 -(31631) found -(31632) found -[6892] Forked 31633 -[6891] Forked 31634 -(31633) found -(31634) found -[6890] Forked 31635 -[6889] Forked 31636 -(31635) found -(31636) found -[6888] Forked 31637 -[6887] Forked 31638 -(31637) found -(31638) found -[6886] Forked 31639 -[6885] Forked 31640 -(31639) found -(31640) found -[6884] Forked 31641 -[6883] Forked 31642 -(31641) found -(31642) found -[6882] Forked 31643 -[6881] Forked 31644 -(31643) found -(31644) found -[6880] Forked 31645 -[6879] Forked 31646 -(31645) found -(31646) found -[6878] Forked 31647 -[6877] Forked 31648 -(31647) found -(31648) found -[6876] Forked 31649 -[6875] Forked 31650 -(31649) found -(31650) found -[6874] Forked 31651 -[6873] Forked 31652 -(31651) found -(31652) found -[6872] Forked 31653 -[6871] Forked 31654 -(31653) found -(31654) found -[6870] Forked 31655 -[6869] Forked 31656 -(31655) found -(31656) found -[6868] Forked 31657 -[6867] Forked 31658 -(31657) found -(31658) found -[6866] Forked 31659 -[6865] Forked 31660 -(31659) found -(31660) found -[6864] Forked 31661 -[6863] Forked 31662 -(31661) found -(31662) found -[6862] Forked 31663 -[6861] Forked 31664 -(31663) found -(31664) found -[6860] Forked 31665 -[6859] Forked 31666 -(31665) found -(31666) found -[6858] Forked 31667 -[6857] Forked 31668 -(31667) found -(31668) found -[6856] Forked 31669 -[6855] Forked 31670 -(31669) found -(31670) found -[6854] Forked 31671 -[6853] Forked 31672 -(31671) found -(31672) found -[6852] Forked 31673 -[6851] Forked 31674 -(31673) found -(31674) found -[6850] Forked 31675 -[6849] Forked 31676 -(31675) found -(31676) found -[6848] Forked 31677 -[6847] Forked 31678 -(31677) found -(31678) found -[6846] Forked 31679 -[6845] Forked 31680 -(31679) found -(31680) found -[6844] Forked 31681 -[6843] Forked 31682 -(31681) found -(31682) found -[6842] Forked 31683 -[6841] Forked 31684 -(31683) found -(31684) found -[6840] Forked 31685 -[6839] Forked 31686 -(31685) found -(31686) found -[6838] Forked 31687 -[6837] Forked 31688 -(31687) found -(31688) found -[6836] Forked 31689 -[6835] Forked 31690 -(31689) found -(31690) found -[6834] Forked 31691 -[6833] Forked 31692 -(31691) found -(31692) found -[6832] Forked 31693 -[6831] Forked 31694 -(31693) found -(31694) found -[6830] Forked 31695 -[6829] Forked 31696 -(31695) found -(31696) found -[6828] Forked 31697 -[6827] Forked 31698 -(31697) found -(31698) found -[6826] Forked 31699 -[6825] Forked 31700 -(31699) found -(31700) found -[6824] Forked 31701 -[6823] Forked 31702 -(31701) found -(31702) found -[6822] Forked 31703 -[6821] Forked 31704 -(31703) found -(31704) found -[6820] Forked 31705 -[6819] Forked 31706 -(31706) found -(31705) found -[6818] Forked 31707 -(31707) found -[6817] Forked 31708 -(31708) found -[6816] Forked 31709 -(31709) found -[6815] Forked 31710 -(31710) found -[6814] Forked 31711 -(31711) found -[6813] Forked 31712 -(31712) found -[6812] Forked 31713 -(31713) found -[6811] Forked 31714 -(31714) found -[6810] Forked 31715 -(31715) found -[6809] Forked 31716 -(31716) found -[6808] Forked 31717 -(31717) found -[6807] Forked 31718 -(31718) found -[6806] Forked 31719 -(31719) found -[6805] Forked 31720 -(31720) found -[6804] Forked 31721 -(31721) found -[6803] Forked 31722 -(31722) found -[6802] Forked 31723 -(31723) found -[6801] Forked 31724 -(31724) found -[6800] Forked 31725 -(31725) found -[6799] Forked 31726 -(31726) found -[6798] Forked 31727 -(31727) found -[6797] Forked 31728 -(31728) found -[6796] Forked 31729 -(31729) found -[6795] Forked 31730 -(31730) found -[6794] Forked 31731 -(31731) found -[6793] Forked 31732 -(31732) found -[6792] Forked 31733 -(31733) found -[6791] Forked 31734 -(31734) found -[6790] Forked 31735 -(31735) found -[6789] Forked 31736 -(31736) found -[6788] Forked 31737 -(31737) found -[6787] Forked 31738 -(31738) found -[6786] Forked 31739 -(31739) found -[6785] Forked 31740 -(31740) found -[6784] Forked 31741 -(31741) found -[6783] Forked 31742 -[6782] Forked 31743 -(31742) found -(31743) found -[6781] Forked 31744 -[6780] Forked 31745 -(31744) found -(31745) found -[6779] Forked 31746 -[6778] Forked 31747 -(31746) found -(31747) found -[6777] Forked 31748 -[6776] Forked 31749 -(31748) found -(31749) found -[6775] Forked 31750 -[6774] Forked 31751 -(31750) found -(31751) found -[6773] Forked 31752 -[6772] Forked 31753 -(31752) found -(31753) found -[6771] Forked 31754 -[6770] Forked 31755 -(31754) found -(31755) found -[6769] Forked 31756 -[6768] Forked 31757 -(31756) found -(31757) found -[6767] Forked 31758 -[6766] Forked 31759 -(31758) found -(31759) found -[6765] Forked 31760 -[6764] Forked 31761 -(31760) found -(31761) found -[6763] Forked 31762 -[6762] Forked 31763 -(31762) found -(31763) found -[6761] Forked 31764 -[6760] Forked 31765 -(31764) found -(31765) found -[6759] Forked 31766 -[6758] Forked 31767 -(31766) found -(31767) found -[6757] Forked 31768 -[6756] Forked 31769 -(31768) found -(31769) found -[6755] Forked 31770 -[6754] Forked 31771 -(31770) found -(31771) found -[6753] Forked 31772 -[6752] Forked 31773 -(31772) found -(31773) found -[6751] Forked 31774 -[6750] Forked 31775 -(31774) found -(31775) found -[6749] Forked 31776 -[6748] Forked 31777 -(31776) found -(31777) found -[6747] Forked 31778 -[6746] Forked 31779 -(31778) found -(31779) found -[6745] Forked 31780 -[6744] Forked 31781 -(31780) found -(31781) found -[6743] Forked 31782 -[6742] Forked 31783 -(31782) found -(31783) found -[6741] Forked 31784 -[6740] Forked 31785 -(31784) found -(31785) found -[6739] Forked 31786 -[6738] Forked 31787 -(31786) found -(31787) found -[6737] Forked 31788 -[6736] Forked 31789 -(31788) found -(31789) found -[6735] Forked 31790 -[6734] Forked 31791 -(31790) found -(31791) found -[6733] Forked 31792 -[6732] Forked 31793 -(31792) found -(31793) found -[6731] Forked 31794 -[6730] Forked 31795 -(31794) found -(31795) found -[6729] Forked 31796 -[6728] Forked 31797 -(31796) found -(31797) found -[6727] Forked 31798 -[6726] Forked 31799 -(31798) found -(31799) found -[6725] Forked 31800 -[6724] Forked 31801 -(31800) found -(31801) found -[6723] Forked 31802 -[6722] Forked 31803 -(31802) found -(31803) found -[6721] Forked 31804 -[6720] Forked 31805 -(31804) found -(31805) found -[6719] Forked 31806 -[6718] Forked 31807 -(31806) found -(31807) found -[6717] Forked 31808 -[6716] Forked 31809 -(31808) found -(31809) found -[6715] Forked 31810 -[6714] Forked 31811 -(31810) found -(31811) found -[6713] Forked 31812 -[6712] Forked 31813 -(31812) found -(31813) found -[6711] Forked 31814 -[6710] Forked 31815 -(31814) found -(31815) found -[6709] Forked 31816 -[6708] Forked 31817 -(31816) found -(31817) found -[6707] Forked 31818 -[6706] Forked 31819 -(31818) found -(31819) found -[6705] Forked 31820 -[6704] Forked 31821 -(31820) found -(31821) found -[6703] Forked 31822 -[6702] Forked 31823 -(31822) found -(31823) found -[6701] Forked 31824 -[6700] Forked 31825 -(31824) found -(31825) found -[6699] Forked 31826 -[6698] Forked 31827 -(31826) found -(31827) found -[6697] Forked 31828 -[6696] Forked 31829 -(31828) found -(31829) found -[6695] Forked 31830 -[6694] Forked 31831 -(31830) found -(31831) found -[6693] Forked 31832 -[6692] Forked 31833 -(31832) found -(31833) found -[6691] Forked 31834 -[6690] Forked 31835 -(31834) found -(31835) found -[6689] Forked 31836 -[6688] Forked 31837 -(31836) found -(31837) found -[6687] Forked 31838 -[6686] Forked 31839 -(31838) found -(31839) found -[6685] Forked 31840 -[6684] Forked 31842 -(31840) found -(31842) found -[6683] Forked 31843 -(31843) found -[6682] Forked 31844 -(31844) found -[6681] Forked 31845 -(31845) found -[6680] Forked 31846 -(31846) found -[6679] Forked 31847 -(31847) found -[6678] Forked 31848 -(31848) found -[6677] Forked 31849 -(31849) found -[6676] Forked 31850 -(31850) found -[6675] Forked 31851 -(31851) found -[6674] Forked 31852 -(31852) found -[6673] Forked 31853 -(31853) found -[6672] Forked 31854 -(31854) found -[6671] Forked 31855 -(31855) found -[6670] Forked 31856 -(31856) found -[6669] Forked 31857 -(31857) found -[6668] Forked 31858 -(31858) found -[6667] Forked 31859 -(31859) found -[6666] Forked 31860 -(31860) found -[6665] Forked 31861 -(31861) found -[6664] Forked 31862 -(31862) found -[6663] Forked 31863 -(31863) found -[6662] Forked 31864 -(31864) found -[6661] Forked 31865 -(31865) found -[6660] Forked 31866 -(31866) found -[6659] Forked 31867 -(31867) found -[6658] Forked 31868 -(31868) found -[6657] Forked 31869 -(31869) found -[6656] Forked 31870 -(31870) found -[6655] Forked 31871 -(31871) found -[6654] Forked 31872 -(31872) found -[6653] Forked 31873 -(31873) found -[6652] Forked 31874 -(31874) found -[6651] Forked 31875 -(31875) found -[6650] Forked 31876 -(31876) found -[6649] Forked 31877 -(31877) found -[6648] Forked 31878 -(31878) found -[6647] Forked 31879 -(31879) found -[6646] Forked 31880 -(31880) found -[6645] Forked 31881 -(31881) found -[6644] Forked 31882 -(31882) found -[6643] Forked 31883 -(31883) found -[6642] Forked 31884 -(31884) found -[6641] Forked 31885 -(31885) found -[6640] Forked 31886 -(31886) found -[6639] Forked 31887 -(31887) found -[6638] Forked 31888 -(31888) found -[6637] Forked 31889 -(31889) found -[6636] Forked 31890 -(31890) found -[6635] Forked 31891 -(31891) found -[6634] Forked 31892 -(31892) found -[6633] Forked 31893 -(31893) found -[6632] Forked 31894 -(31894) found -[6631] Forked 31895 -(31895) found -[6630] Forked 31896 -(31896) found -[6629] Forked 31897 -(31897) found -[6628] Forked 31898 -(31898) found -[6627] Forked 31899 -(31899) found -[6626] Forked 31900 -(31900) found -[6625] Forked 31901 -(31901) found -[6624] Forked 31902 -(31902) found -[6623] Forked 31903 -(31903) found -[6622] Forked 31904 -[6621] Forked 31905 -(31904) found -(31905) found -[6620] Forked 31906 -[6619] Forked 31907 -(31906) found -(31907) found -[6618] Forked 31908 -[6617] Forked 31909 -(31908) found -(31909) found -[6616] Forked 31910 -[6615] Forked 31911 -(31910) found -(31911) found -[6614] Forked 31912 -[6613] Forked 31913 -(31912) found -(31913) found -[6612] Forked 31914 -[6611] Forked 31915 -(31914) found -(31915) found -[6610] Forked 31916 -[6609] Forked 31917 -(31916) found -(31917) found -[6608] Forked 31918 -[6607] Forked 31919 -(31918) found -(31919) found -[6606] Forked 31920 -[6605] Forked 31921 -(31920) found -(31921) found -[6604] Forked 31922 -[6603] Forked 31923 -(31922) found -(31923) found -[6602] Forked 31924 -[6601] Forked 31925 -(31924) found -(31925) found -[6600] Forked 31926 -[6599] Forked 31927 -(31926) found -(31927) found -[6598] Forked 31928 -[6597] Forked 31929 -(31928) found -(31929) found -[6596] Forked 31930 -[6595] Forked 31931 -(31930) found -(31931) found -[6594] Forked 31932 -[6593] Forked 31933 -(31932) found -(31933) found -[6592] Forked 31934 -[6591] Forked 31935 -(31934) found -(31935) found -[6590] Forked 31936 -[6589] Forked 31937 -(31936) found -(31937) found -[6588] Forked 31938 -[6587] Forked 31939 -(31938) found -(31939) found -[6586] Forked 31940 -[6585] Forked 31941 -(31940) found -(31941) found -[6584] Forked 31942 -[6583] Forked 31943 -(31942) found -(31943) found -[6582] Forked 31944 -[6581] Forked 31945 -(31944) found -(31945) found -[6580] Forked 31946 -[6579] Forked 31947 -(31946) found -(31947) found -[6578] Forked 31948 -[6577] Forked 31949 -(31948) found -(31949) found -[6576] Forked 31950 -(31950) found -[6575] Forked 31951 -(31951) found -[6574] Forked 31952 -(31952) found -[6573] Forked 31953 -(31953) found -[6572] Forked 31954 -(31954) found -[6571] Forked 31955 -(31955) found -[6570] Forked 31956 -(31956) found -[6569] Forked 31957 -(31957) found -[6568] Forked 31958 -(31958) found -[6567] Forked 31959 -(31959) found -[6566] Forked 31960 -(31960) found -[6565] Forked 31961 -(31961) found -[6564] Forked 31962 -(31962) found -[6563] Forked 31963 -(31963) found -[6562] Forked 31964 -(31964) found -[6561] Forked 31965 -(31965) found -[6560] Forked 31966 -(31966) found -[6559] Forked 31967 -(31967) found -[6558] Forked 31968 -(31968) found -[6557] Forked 31969 -(31969) found -[6556] Forked 31970 -(31970) found -[6555] Forked 31971 -(31971) found -[6554] Forked 31972 -(31972) found -[6553] Forked 31973 -(31973) found -[6552] Forked 31974 -(31974) found -[6551] Forked 31975 -(31975) found -[6550] Forked 31976 -(31976) found -[6549] Forked 31977 -(31977) found -[6548] Forked 31978 -(31978) found -[6547] Forked 31979 -(31979) found -[6546] Forked 31980 -(31980) found -[6545] Forked 31981 -(31981) found -[6544] Forked 31982 -(31982) found -[6543] Forked 31983 -(31983) found -[6542] Forked 31984 -(31984) found -[6541] Forked 31985 -[6540] Forked 31986 -(31985) found -(31986) found -[6539] Forked 31987 -[6538] Forked 31988 -(31987) found -(31988) found -[6537] Forked 31989 -[6536] Forked 31990 -(31989) found -(31990) found -[6535] Forked 31991 -[6534] Forked 31992 -(31991) found -(31992) found -[6533] Forked 31993 -[6532] Forked 31994 -(31993) found -(31994) found -[6531] Forked 31995 -[6530] Forked 31996 -(31995) found -(31996) found -[6529] Forked 31997 -[6528] Forked 31998 -(31997) found -(31998) found -[6527] Forked 31999 -[6526] Forked 32000 -(31999) found -(32000) found -[6525] Forked 32001 -[6524] Forked 32002 -(32001) found -(32002) found -[6523] Forked 32003 -[6522] Forked 32004 -(32003) found -(32004) found -[6521] Forked 32005 -[6520] Forked 32006 -(32005) found -(32006) found -[6519] Forked 32007 -[6518] Forked 32008 -(32007) found -(32008) found -[6517] Forked 32009 -[6516] Forked 32010 -(32009) found -(32010) found -[6515] Forked 32011 -[6514] Forked 32012 -(32011) found -(32012) found -[6513] Forked 32013 -[6512] Forked 32014 -(32013) found -(32014) found -[6511] Forked 32015 -[6510] Forked 32016 -(32015) found -(32016) found -[6509] Forked 32017 -[6508] Forked 32018 -(32017) found -(32018) found -[6507] Forked 32019 -[6506] Forked 32020 -(32019) found -(32020) found -[6505] Forked 32021 -[6504] Forked 32022 -(32021) found -(32022) found -[6503] Forked 32023 -[6502] Forked 32024 -(32023) found -(32024) found -[6501] Forked 32025 -[6500] Forked 32026 -(32025) found -(32026) found -[6499] Forked 32027 -[6498] Forked 32028 -(32027) found -(32028) found -[6497] Forked 32029 -[6496] Forked 32030 -(32029) found -(32030) found -[6495] Forked 32031 -[6494] Forked 32032 -(32031) found -(32032) found -[6493] Forked 32033 -[6492] Forked 32034 -(32033) found -(32034) found -[6491] Forked 32035 -[6490] Forked 32036 -(32035) found -(32036) found -[6489] Forked 32037 -[6488] Forked 32038 -(32037) found -(32038) found -[6487] Forked 32039 -[6486] Forked 32040 -(32039) found -(32040) found -[6485] Forked 32041 -[6484] Forked 32042 -(32041) found -(32042) found -[6483] Forked 32043 -[6482] Forked 32044 -(32043) found -(32044) found -[6481] Forked 32045 -[6480] Forked 32046 -(32045) found -(32046) found -[6479] Forked 32047 -[6478] Forked 32048 -(32047) found -(32048) found -[6477] Forked 32049 -[6476] Forked 32050 -(32049) found -(32050) found -[6475] Forked 32051 -[6474] Forked 32052 -(32051) found -(32052) found -[6473] Forked 32053 -[6472] Forked 32054 -(32053) found -(32054) found -[6471] Forked 32055 -[6470] Forked 32056 -(32055) found -(32056) found -[6469] Forked 32057 -[6468] Forked 32058 -(32057) found -(32058) found -[6467] Forked 32059 -[6466] Forked 32060 -(32059) found -(32060) found -[6465] Forked 32061 -[6464] Forked 32062 -(32061) found -(32062) found -[6463] Forked 32063 -[6462] Forked 32064 -(32063) found -(32064) found -[6461] Forked 32065 -[6460] Forked 32066 -(32065) found -(32066) found -[6459] Forked 32067 -[6458] Forked 32068 -(32067) found -(32068) found -[6457] Forked 32069 -[6456] Forked 32070 -(32069) found -(32070) found -[6455] Forked 32071 -[6454] Forked 32072 -(32071) found -(32072) found -[6453] Forked 32073 -[6452] Forked 32074 -(32073) found -(32074) found -[6451] Forked 32075 -[6450] Forked 32076 -(32075) found -(32076) found -[6449] Forked 32077 -[6448] Forked 32078 -(32077) found -(32078) found -[6447] Forked 32079 -[6446] Forked 32080 -(32079) found -(32080) found -[6445] Forked 32081 -[6444] Forked 32082 -(32081) found -(32082) found -[6443] Forked 32083 -[6442] Forked 32084 -(32083) found -(32084) found -[6441] Forked 32085 -[6440] Forked 32086 -(32085) found -(32086) found -[6439] Forked 32087 -[6438] Forked 32088 -(32087) found -(32088) found -[6437] Forked 32089 -[6436] Forked 32090 -(32089) found -(32090) found -[6435] Forked 32091 -[6434] Forked 32092 -(32091) found -(32092) found -[6433] Forked 32093 -[6432] Forked 32094 -(32093) found -(32094) found -[6431] Forked 32095 -[6430] Forked 32096 -(32095) found -(32096) found -[6429] Forked 32097 -[6428] Forked 32098 -(32097) found -(32098) found -[6427] Forked 32099 -[6426] Forked 32100 -(32099) found -(32100) found -[6425] Forked 32101 -[6424] Forked 32102 -(32101) found -(32102) found -[6423] Forked 32103 -[6422] Forked 32104 -(32103) found -(32104) found -[6421] Forked 32105 -[6420] Forked 32106 -(32105) found -(32106) found -[6419] Forked 32107 -[6418] Forked 32108 -(32107) found -(32108) found -[6417] Forked 32109 -[6416] Forked 32110 -(32109) found -(32110) found -[6415] Forked 32111 -[6414] Forked 32112 -(32111) found -(32112) found -[6413] Forked 32113 -[6412] Forked 32115 -(32113) found -(32115) found -[6411] Forked 32116 -(32116) found -[6410] Forked 32117 -[6409] Forked 32118 -(32117) found -(32118) found -[6408] Forked 32119 -[6407] Forked 32120 -(32119) found -(32120) found -[6406] Forked 32121 -[6405] Forked 32122 -(32121) found -(32122) found -[6404] Forked 32123 -[6403] Forked 32124 -(32123) found -(32124) found -[6402] Forked 32125 -[6401] Forked 32126 -(32125) found -(32126) found -[6400] Forked 32127 -[6399] Forked 32128 -(32127) found -(32128) found -[6398] Forked 32129 -[6397] Forked 32130 -(32129) found -(32130) found -[6396] Forked 32131 -[6395] Forked 32132 -(32131) found -(32132) found -[6394] Forked 32133 -[6393] Forked 32134 -(32133) found -(32134) found -[6392] Forked 32135 -[6391] Forked 32136 -(32135) found -(32136) found -[6390] Forked 32137 -[6389] Forked 32138 -(32137) found -(32138) found -[6388] Forked 32139 -[6387] Forked 32140 -(32139) found -(32140) found -[6386] Forked 32141 -[6385] Forked 32142 -(32141) found -(32142) found -[6384] Forked 32143 -[6383] Forked 32144 -(32143) found -(32144) found -[6382] Forked 32145 -[6381] Forked 32146 -(32145) found -(32146) found -[6380] Forked 32147 -[6379] Forked 32148 -(32147) found -(32148) found -[6378] Forked 32149 -[6377] Forked 32150 -(32149) found -(32150) found -[6376] Forked 32151 -[6375] Forked 32152 -(32151) found -(32152) found -[6374] Forked 32153 -[6373] Forked 32154 -(32153) found -(32154) found -[6372] Forked 32155 -[6371] Forked 32156 -(32155) found -(32156) found -[6370] Forked 32157 -[6369] Forked 32158 -(32157) found -(32158) found -[6368] Forked 32159 -[6367] Forked 32160 -(32159) found -(32160) found -[6366] Forked 32161 -[6365] Forked 32162 -(32161) found -(32162) found -[6364] Forked 32163 -[6363] Forked 32164 -(32163) found -(32164) found -[6362] Forked 32165 -[6361] Forked 32166 -(32165) found -(32166) found -[6360] Forked 32167 -[6359] Forked 32168 -(32167) found -(32168) found -[6358] Forked 32169 -(32169) found -[6357] Forked 32170 -(32170) found -[6356] Forked 32171 -(32171) found -[6355] Forked 32172 -(32172) found -[6354] Forked 32173 -(32173) found -[6353] Forked 32174 -(32174) found -[6352] Forked 32175 -(32175) found -[6351] Forked 32176 -(32176) found -[6350] Forked 32177 -(32177) found -[6349] Forked 32178 -(32178) found -[6348] Forked 32179 -(32179) found -[6347] Forked 32180 -(32180) found -[6346] Forked 32181 -(32181) found -[6345] Forked 32182 -(32182) found -[6344] Forked 32183 -(32183) found -[6343] Forked 32184 -(32184) found -[6342] Forked 32185 -(32185) found -[6341] Forked 32186 -(32186) found -[6340] Forked 32187 -(32187) found -[6339] Forked 32188 -(32188) found -[6338] Forked 32189 -(32189) found -[6337] Forked 32190 -(32190) found -[6336] Forked 32191 -(32191) found -[6335] Forked 32192 -(32192) found -[6334] Forked 32193 -(32193) found -[6333] Forked 32194 -(32194) found -[6332] Forked 32195 -(32195) found -[6331] Forked 32196 -(32196) found -[6330] Forked 32197 -(32197) found -[6329] Forked 32198 -(32198) found -[6328] Forked 32199 -(32199) found -[6327] Forked 32200 -(32200) found -[6326] Forked 32201 -(32201) found -[6325] Forked 32202 -(32202) found -[6324] Forked 32203 -(32203) found -[6323] Forked 32204 -[6322] Forked 32205 -(32204) found -(32205) found -[6321] Forked 32206 -[6320] Forked 32207 -(32206) found -(32207) found -[6319] Forked 32208 -[6318] Forked 32209 -(32208) found -(32209) found -[6317] Forked 32210 -[6316] Forked 32211 -(32210) found -(32211) found -[6315] Forked 32212 -[6314] Forked 32213 -(32212) found -(32213) found -[6313] Forked 32214 -[6312] Forked 32215 -(32214) found -(32215) found -[6311] Forked 32216 -[6310] Forked 32217 -(32216) found -(32217) found -[6309] Forked 32218 -[6308] Forked 32219 -(32218) found -(32219) found -[6307] Forked 32220 -[6306] Forked 32221 -(32220) found -(32221) found -[6305] Forked 32222 -[6304] Forked 32223 -(32222) found -(32223) found -[6303] Forked 32224 -[6302] Forked 32225 -(32224) found -(32225) found -[6301] Forked 32226 -[6300] Forked 32227 -(32226) found -(32227) found -[6299] Forked 32228 -[6298] Forked 32229 -(32228) found -(32229) found -[6297] Forked 32230 -[6296] Forked 32231 -(32230) found -(32231) found -[6295] Forked 32232 -[6294] Forked 32233 -(32232) found -(32233) found -[6293] Forked 32234 -[6292] Forked 32235 -(32234) found -(32235) found -[6291] Forked 32236 -[6290] Forked 32237 -(32236) found -(32237) found -[6289] Forked 32238 -[6288] Forked 32239 -(32238) found -(32239) found -[6287] Forked 32240 -[6286] Forked 32241 -(32240) found -(32241) found -[6285] Forked 32242 -[6284] Forked 32243 -(32242) found -(32243) found -[6283] Forked 32244 -[6282] Forked 32245 -(32244) found -(32245) found -[6281] Forked 32246 -[6280] Forked 32247 -(32246) found -(32247) found -[6279] Forked 32248 -[6278] Forked 32249 -(32248) found -(32249) found -[6277] Forked 32250 -(32250) found -[6276] Forked 32251 -(32251) found -[6275] Forked 32252 -(32252) found -[6274] Forked 32253 -(32253) found -[6273] Forked 32254 -(32254) found -[6272] Forked 32255 -(32255) found -[6271] Forked 32256 -(32256) found -[6270] Forked 32257 -(32257) found -[6269] Forked 32258 -(32258) found -[6268] Forked 32259 -(32259) found -[6267] Forked 32260 -(32260) found -[6266] Forked 32261 -(32261) found -[6265] Forked 32262 -(32262) found -[6264] Forked 32263 -(32263) found -[6263] Forked 32264 -(32264) found -[6262] Forked 32265 -(32265) found -[6261] Forked 32266 -(32266) found -[6260] Forked 32267 -(32267) found -[6259] Forked 32268 -(32268) found -[6258] Forked 32269 -(32269) found -[6257] Forked 32270 -(32270) found -[6256] Forked 32271 -(32271) found -[6255] Forked 32272 -(32272) found -[6254] Forked 32273 -(32273) found -[6253] Forked 32274 -(32274) found -[6252] Forked 32275 -[6251] Forked 32276 -(32275) found -(32276) found -[6250] Forked 32277 -[6249] Forked 32278 -(32277) found -(32278) found -[6248] Forked 32279 -[6247] Forked 32280 -(32279) found -(32280) found -[6246] Forked 32281 -[6245] Forked 32282 -(32281) found -(32282) found -[6244] Forked 32283 -[6243] Forked 32284 -(32283) found -(32284) found -[6242] Forked 32285 -[6241] Forked 32286 -(32285) found -(32286) found -[6240] Forked 32287 -[6239] Forked 32288 -(32287) found -(32288) found -[6238] Forked 32289 -[6237] Forked 32290 -(32289) found -(32290) found -[6236] Forked 32291 -[6235] Forked 32292 -(32291) found -(32292) found -[6234] Forked 32293 -[6233] Forked 32294 -(32293) found -(32294) found -[6232] Forked 32295 -[6231] Forked 32296 -(32295) found -(32296) found -[6230] Forked 32297 -[6229] Forked 32298 -(32297) found -(32298) found -[6228] Forked 32299 -[6227] Forked 32300 -(32299) found -(32300) found -[6226] Forked 32301 -[6225] Forked 32302 -(32301) found -(32302) found -[6224] Forked 32303 -[6223] Forked 32304 -(32303) found -(32304) found -[6222] Forked 32305 -[6221] Forked 32306 -(32305) found -(32306) found -[6220] Forked 32307 -[6219] Forked 32308 -(32307) found -(32308) found -[6218] Forked 32309 -[6217] Forked 32310 -(32309) found -(32310) found -[6216] Forked 32311 -[6215] Forked 32312 -(32311) found -(32312) found -[6214] Forked 32313 -[6213] Forked 32314 -(32313) found -(32314) found -[6212] Forked 32315 -[6211] Forked 32316 -(32315) found -(32316) found -[6210] Forked 32317 -[6209] Forked 32318 -(32317) found -(32318) found -[6208] Forked 32319 -[6207] Forked 32320 -(32319) found -(32320) found -[6206] Forked 32321 -(32321) found -[6205] Forked 32322 -(32322) found -[6204] Forked 32323 -(32323) found -[6203] Forked 32324 -(32324) found -[6202] Forked 32325 -(32325) found -[6201] Forked 32326 -(32326) found -[6200] Forked 32327 -(32327) found -[6199] Forked 32328 -(32328) found -[6198] Forked 32329 -(32329) found -[6197] Forked 32330 -(32330) found -[6196] Forked 32331 -(32331) found -[6195] Forked 32332 -(32332) found -[6194] Forked 32333 -(32333) found -[6193] Forked 32334 -(32334) found -[6192] Forked 32335 -(32335) found -[6191] Forked 32336 -(32336) found -[6190] Forked 32337 -(32337) found -[6189] Forked 32338 -(32338) found -[6188] Forked 32339 -(32339) found -[6187] Forked 32340 -(32340) found -[6186] Forked 32341 -(32341) found -[6185] Forked 32342 -(32342) found -[6184] Forked 32343 -(32343) found -[6183] Forked 32344 -(32344) found -[6182] Forked 32345 -(32345) found -[6181] Forked 32346 -(32346) found -[6180] Forked 32347 -(32347) found -[6179] Forked 32348 -(32348) found -[6178] Forked 32349 -(32349) found -[6177] Forked 32350 -(32350) found -[6176] Forked 32351 -(32351) found -[6175] Forked 32352 -(32352) found -[6174] Forked 32353 -(32353) found -[6173] Forked 32354 -(32354) found -[6172] Forked 32355 -(32355) found -[6171] Forked 32356 -[6170] Forked 32357 -(32356) found -(32357) found -[6169] Forked 32358 -[6168] Forked 32359 -(32358) found -(32359) found -[6167] Forked 32360 -[6166] Forked 32361 -(32360) found -(32361) found -[6165] Forked 32362 -[6164] Forked 32363 -(32362) found -(32363) found -[6163] Forked 32364 -[6162] Forked 32365 -(32364) found -(32365) found -[6161] Forked 32366 -[6160] Forked 32367 -(32366) found -(32367) found -[6159] Forked 32368 -[6158] Forked 32369 -(32368) found -(32369) found -[6157] Forked 32370 -[6156] Forked 32371 -(32370) found -(32371) found -[6155] Forked 32372 -[6154] Forked 32373 -(32372) found -(32373) found -[6153] Forked 32374 -[6152] Forked 32375 -(32374) found -(32375) found -[6151] Forked 32376 -[6150] Forked 32377 -(32376) found -(32377) found -[6149] Forked 32378 -[6148] Forked 32379 -(32378) found -(32379) found -[6147] Forked 32380 -[6146] Forked 32381 -(32380) found -(32381) found -[6145] Forked 32382 -[6144] Forked 32383 -(32382) found -(32383) found -[6143] Forked 32384 -[6142] Forked 32385 -(32384) found -(32385) found -[6141] Forked 32386 -[6140] Forked 32387 -(32386) found -(32387) found -[6139] Forked 32388 -[6138] Forked 32389 -(32388) found -(32389) found -[6137] Forked 32390 -[6136] Forked 32391 -(32390) found -(32391) found -[6135] Forked 32392 -[6134] Forked 32393 -(32392) found -(32393) found -[6133] Forked 32394 -[6132] Forked 32396 -(32394) found -(32396) found -[6131] Forked 32397 -(32397) found -[6130] Forked 32398 -(32398) found -[6129] Forked 32399 -(32399) found -[6128] Forked 32400 -(32400) found -[6127] Forked 32401 -(32401) found -[6126] Forked 32402 -(32402) found -[6125] Forked 32403 -(32403) found -[6124] Forked 32404 -(32404) found -[6123] Forked 32405 -(32405) found -[6122] Forked 32406 -(32406) found -[6121] Forked 32407 -(32407) found -[6120] Forked 32408 -(32408) found -[6119] Forked 32409 -(32409) found -[6118] Forked 32410 -(32410) found -[6117] Forked 32411 -(32411) found -[6116] Forked 32412 -(32412) found -[6115] Forked 32413 -(32413) found -[6114] Forked 32414 -(32414) found -[6113] Forked 32415 -(32415) found -[6112] Forked 32416 -(32416) found -[6111] Forked 32417 -(32417) found -[6110] Forked 32418 -(32418) found -[6109] Forked 32419 -(32419) found -[6108] Forked 32420 -(32420) found -[6107] Forked 32421 -(32421) found -[6106] Forked 32422 -(32422) found -[6105] Forked 32423 -(32423) found -[6104] Forked 32424 -(32424) found -[6103] Forked 32425 -(32425) found -[6102] Forked 32426 -(32426) found -[6101] Forked 32427 -(32427) found -[6100] Forked 32428 -(32428) found -[6099] Forked 32429 -(32429) found -[6098] Forked 32430 -(32430) found -[6097] Forked 32431 -(32431) found -[6096] Forked 32432 -(32432) found -[6095] Forked 32433 -(32433) found -[6094] Forked 32434 -(32434) found -[6093] Forked 32435 -(32435) found -[6092] Forked 32436 -[6091] Forked 32437 -(32436) found -(32437) found -[6090] Forked 32438 -[6089] Forked 32439 -(32438) found -(32439) found -[6088] Forked 32440 -[6087] Forked 32441 -(32440) found -(32441) found -[6086] Forked 32442 -[6085] Forked 32443 -(32442) found -(32443) found -[6084] Forked 32444 -[6083] Forked 32445 -(32444) found -(32445) found -[6082] Forked 32446 -[6081] Forked 32447 -(32446) found -(32447) found -[6080] Forked 32448 -[6079] Forked 32449 -(32448) found -(32449) found -[6078] Forked 32450 -[6077] Forked 32452 -(32450) found -(32452) found -[6076] Forked 32453 -(32453) found -[6075] Forked 32454 -(32454) found -[6074] Forked 32455 -(32455) found -[6073] Forked 32456 -(32456) found -[6072] Forked 32457 -(32457) found -[6071] Forked 32458 -(32458) found -[6070] Forked 32459 -(32459) found -[6069] Forked 32460 -(32460) found -[6068] Forked 32461 -(32461) found -[6067] Forked 32462 -(32462) found -[6066] Forked 32463 -(32463) found -[6065] Forked 32464 -(32464) found -[6064] Forked 32465 -(32465) found -[6063] Forked 32466 -(32466) found -[6062] Forked 32467 -(32467) found -[6061] Forked 32468 -(32468) found -[6060] Forked 32469 -(32469) found -[6059] Forked 32470 -(32470) found -[6058] Forked 32471 -(32471) found -[6057] Forked 32472 -(32472) found -[6056] Forked 32473 -(32473) found -[6055] Forked 32474 -(32474) found -[6054] Forked 32475 -(32475) found -[6053] Forked 32476 -(32476) found -[6052] Forked 32477 -(32477) found -[6051] Forked 32478 -(32478) found -[6050] Forked 32479 -(32479) found -[6049] Forked 32480 -(32480) found -[6048] Forked 32481 -(32481) found -[6047] Forked 32482 -(32482) found -[6046] Forked 32483 -(32483) found -[6045] Forked 32484 -(32484) found -[6044] Forked 32485 -(32485) found -[6043] Forked 32486 -(32486) found -[6042] Forked 32487 -(32487) found -[6041] Forked 32488 -(32488) found -[6040] Forked 32489 -(32489) found -[6039] Forked 32490 -(32490) found -[6038] Forked 32491 -(32491) found -[6037] Forked 32492 -(32492) found -[6036] Forked 32493 -(32493) found -[6035] Forked 32494 -(32494) found -[6034] Forked 32495 -(32495) found -[6033] Forked 32496 -(32496) found -[6032] Forked 32497 -(32497) found -[6031] Forked 32498 -(32498) found -[6030] Forked 32499 -(32499) found -[6029] Forked 32500 -(32500) found -[6028] Forked 32501 -(32501) found -[6027] Forked 32502 -(32502) found -[6026] Forked 32503 -(32503) found -[6025] Forked 32504 -(32504) found -[6024] Forked 32505 -(32505) found -[6023] Forked 32506 -(32506) found -[6022] Forked 32507 -(32507) found -[6021] Forked 32508 -(32508) found -[6020] Forked 32509 -(32509) found -[6019] Forked 32510 -(32510) found -[6018] Forked 32511 -[6017] Forked 32512 -(32511) found -(32512) found -[6016] Forked 32513 -[6015] Forked 32514 -(32513) found -(32514) found -[6014] Forked 32515 -[6013] Forked 32516 -(32515) found -(32516) found -[6012] Forked 32517 -[6011] Forked 32518 -(32517) found -(32518) found -[6010] Forked 32519 -[6009] Forked 32520 -(32519) found -(32520) found -[6008] Forked 32521 -[6007] Forked 32522 -(32521) found -(32522) found -[6006] Forked 32523 -[6005] Forked 32524 -(32523) found -(32524) found -[6004] Forked 32525 -[6003] Forked 32526 -(32525) found -(32526) found -[6002] Forked 32527 -[6001] Forked 32528 -(32527) found -(32528) found -[6000] Forked 32529 -[5999] Forked 32530 -(32529) found -(32530) found -[5998] Forked 32531 -[5997] Forked 32532 -(32531) found -(32532) found -[5996] Forked 32533 -[5995] Forked 32534 -(32533) found -(32534) found -[5994] Forked 32535 -[5993] Forked 32536 -(32535) found -(32536) found -[5992] Forked 32537 -[5991] Forked 32538 -(32537) found -(32538) found -[5990] Forked 32539 -[5989] Forked 32540 -(32539) found -(32540) found -[5988] Forked 32541 -[5987] Forked 32542 -(32541) found -(32542) found -[5986] Forked 32543 -[5985] Forked 32544 -(32543) found -(32544) found -[5984] Forked 32545 -[5983] Forked 32546 -(32545) found -(32546) found -[5982] Forked 32547 -[5981] Forked 32548 -(32547) found -(32548) found -[5980] Forked 32549 -[5979] Forked 32550 -(32549) found -(32550) found -[5978] Forked 32551 -[5977] Forked 32552 -(32551) found -(32552) found -[5976] Forked 32553 -[5975] Forked 32554 -(32553) found -(32554) found -[5974] Forked 32555 -[5973] Forked 32556 -(32555) found -(32556) found -[5972] Forked 32557 -[5971] Forked 32558 -(32557) found -(32558) found -[5970] Forked 32559 -[5969] Forked 32560 -(32559) found -(32560) found -[5968] Forked 32561 -[5967] Forked 32562 -(32561) found -(32562) found -[5966] Forked 32563 -[5965] Forked 32564 -(32563) found -(32564) found -[5964] Forked 32565 -[5963] Forked 32566 -(32565) found -(32566) found -[5962] Forked 32567 -[5961] Forked 32568 -(32567) found -(32568) found -[5960] Forked 32569 -[5959] Forked 32570 -(32569) found -(32570) found -[5958] Forked 32571 -[5957] Forked 32572 -(32571) found -(32572) found -[5956] Forked 32573 -[5955] Forked 32574 -(32573) found -(32574) found -[5954] Forked 32575 -[5953] Forked 32576 -(32575) found -(32576) found -[5952] Forked 32577 -[5951] Forked 32578 -(32577) found -(32578) found -[5950] Forked 32579 -[5949] Forked 32580 -(32579) found -(32580) found -[5948] Forked 32581 -[5947] Forked 32582 -(32581) found -(32582) found -[5946] Forked 32583 -[5945] Forked 32584 -(32583) found -(32584) found -[5944] Forked 32585 -[5943] Forked 32586 -(32585) found -(32586) found -[5942] Forked 32587 -[5941] Forked 32588 -(32587) found -(32588) found -[5940] Forked 32589 -[5939] Forked 32590 -(32589) found -(32590) found -[5938] Forked 32591 -[5937] Forked 32592 -(32591) found -(32592) found -[5936] Forked 32593 -[5935] Forked 32594 -(32593) found -(32594) found -[5934] Forked 32595 -[5933] Forked 32596 -(32595) found -(32596) found -[5932] Forked 32597 -[5931] Forked 32599 -(32597) found -(32599) found -[5930] Forked 32600 -(32600) found -[5929] Forked 32601 -(32601) found -[5928] Forked 32602 -(32602) found -[5927] Forked 32603 -(32603) found -[5926] Forked 32604 -(32604) found -[5925] Forked 32605 -(32605) found -[5924] Forked 32606 -(32606) found -[5923] Forked 32607 -(32607) found -[5922] Forked 32608 -(32608) found -[5921] Forked 32609 -(32609) found -[5920] Forked 32610 -(32610) found -[5919] Forked 32611 -(32611) found -[5918] Forked 32612 -(32612) found -[5917] Forked 32613 -(32613) found -[5916] Forked 32614 -(32614) found -[5915] Forked 32615 -(32615) found -[5914] Forked 32616 -(32616) found -[5913] Forked 32617 -(32617) found -[5912] Forked 32618 -(32618) found -[5911] Forked 32619 -(32619) found -[5910] Forked 32620 -(32620) found -[5909] Forked 32621 -(32621) found -[5908] Forked 32622 -(32622) found -[5907] Forked 32623 -(32623) found -[5906] Forked 32624 -(32624) found -[5905] Forked 32625 -(32625) found -[5904] Forked 32626 -(32626) found -[5903] Forked 32627 -(32627) found -[5902] Forked 32628 -(32628) found -[5901] Forked 32629 -(32629) found -[5900] Forked 32630 -(32630) found -[5899] Forked 32631 -(32631) found -[5898] Forked 32632 -(32632) found -[5897] Forked 32633 -(32633) found -[5896] Forked 32634 -(32634) found -[5895] Forked 32635 -(32635) found -[5894] Forked 32636 -(32636) found -[5893] Forked 32637 -(32637) found -[5892] Forked 32638 -(32638) found -[5891] Forked 32639 -[5890] Forked 32640 -(32639) found -(32640) found -[5889] Forked 32641 -[5888] Forked 32642 -(32641) found -(32642) found -[5887] Forked 32643 -[5886] Forked 32644 -(32643) found -(32644) found -[5885] Forked 32645 -[5884] Forked 32646 -(32645) found -(32646) found -[5883] Forked 32647 -[5882] Forked 32648 -(32647) found -(32648) found -[5881] Forked 32649 -[5880] Forked 32650 -(32649) found -(32650) found -[5879] Forked 32651 -[5878] Forked 32652 -(32651) found -(32652) found -[5877] Forked 32653 -[5876] Forked 32654 -(32653) found -(32654) found -[5875] Forked 32655 -[5874] Forked 32656 -(32655) found -(32656) found -[5873] Forked 32657 -[5872] Forked 32658 -(32657) found -(32658) found -[5871] Forked 32659 -[5870] Forked 32660 -(32659) found -(32660) found -[5869] Forked 32661 -[5868] Forked 32662 -(32661) found -(32662) found -[5867] Forked 32663 -[5866] Forked 32664 -(32663) found -(32664) found -[5865] Forked 32665 -[5864] Forked 32666 -(32665) found -(32666) found -[5863] Forked 32667 -[5862] Forked 32668 -(32667) found -(32668) found -[5861] Forked 32669 -[5860] Forked 32670 -(32669) found -(32670) found -[5859] Forked 32671 -[5858] Forked 32672 -(32671) found -(32672) found -[5857] Forked 32673 -[5856] Forked 32674 -(32673) found -(32674) found -[5855] Forked 32675 -[5854] Forked 32676 -(32675) found -(32676) found -[5853] Forked 32677 -[5852] Forked 32678 -(32677) found -(32678) found -[5851] Forked 32679 -[5850] Forked 32680 -(32679) found -(32680) found -[5849] Forked 32681 -[5848] Forked 32682 -(32681) found -(32682) found -[5847] Forked 32683 -(32683) found -[5846] Forked 32684 -(32684) found -[5845] Forked 32685 -(32685) found -[5844] Forked 32686 -(32686) found -[5843] Forked 32687 -(32687) found -[5842] Forked 32688 -(32688) found -[5841] Forked 32689 -(32689) found -[5840] Forked 32690 -(32690) found -[5839] Forked 32691 -(32691) found -[5838] Forked 32692 -(32692) found -[5837] Forked 32693 -(32693) found -[5836] Forked 32694 -(32694) found -[5835] Forked 32695 -(32695) found -[5834] Forked 32696 -(32696) found -[5833] Forked 32697 -(32697) found -[5832] Forked 32698 -(32698) found -[5831] Forked 32699 -(32699) found -[5830] Forked 32700 -(32700) found -[5829] Forked 32701 -(32701) found -[5828] Forked 32702 -(32702) found -[5827] Forked 32703 -(32703) found -[5826] Forked 32704 -(32704) found -[5825] Forked 32705 -(32705) found -[5824] Forked 32706 -(32706) found -[5823] Forked 32707 -(32707) found -[5822] Forked 32708 -(32708) found -[5821] Forked 32709 -(32709) found -[5820] Forked 32710 -(32710) found -[5819] Forked 32711 -(32711) found -[5818] Forked 32712 -(32712) found -[5817] Forked 32713 -(32713) found -[5816] Forked 32714 -(32714) found -[5815] Forked 32715 -(32715) found -[5814] Forked 32716 -(32716) found -[5813] Forked 32717 -(32717) found -[5812] Forked 32718 -(32718) found -[5811] Forked 32719 -[5810] Forked 32720 -(32719) found -(32720) found -[5809] Forked 32721 -[5808] Forked 32722 -(32721) found -(32722) found -[5807] Forked 32723 -[5806] Forked 32724 -(32723) found -(32724) found -[5805] Forked 32725 -[5804] Forked 32726 -(32725) found -(32726) found -[5803] Forked 32727 -[5802] Forked 32728 -(32727) found -(32728) found -[5801] Forked 32729 -[5800] Forked 32730 -(32729) found -(32730) found -[5799] Forked 32731 -[5798] Forked 32732 -(32731) found -(32732) found -[5797] Forked 32733 -[5796] Forked 32734 -(32733) found -(32734) found -[5795] Forked 32735 -[5794] Forked 32736 -(32735) found -(32736) found -[5793] Forked 32737 -[5792] Forked 32738 -(32737) found -(32738) found -[5791] Forked 32739 -[5790] Forked 32740 -(32739) found -(32740) found -[5789] Forked 32741 -[5788] Forked 32742 -(32741) found -(32742) found -[5787] Forked 32743 -[5786] Forked 32744 -(32743) found -(32744) found -[5785] Forked 32745 -[5784] Forked 32746 -(32745) found -(32746) found -[5783] Forked 32747 -[5782] Forked 32748 -(32747) found -(32748) found -[5781] Forked 32749 -[5780] Forked 32750 -(32749) found -(32750) found -[5779] Forked 32751 -[5778] Forked 32752 -(32751) found -(32752) found -[5777] Forked 32753 -[5776] Forked 32754 -(32753) found -(32754) found -[5775] Forked 32755 -[5774] Forked 32756 -(32755) found -(32756) found -[5773] Forked 32757 -[5772] Forked 32758 -(32757) found -(32758) found -[5771] Forked 32759 -[5770] Forked 32760 -(32759) found -(32760) found -[5769] Forked 32761 -(32761) found -[5768] Forked 32762 -(32762) found -[5767] Forked 32763 -(32763) found -[5766] Forked 32764 -(32764) found -[5765] Forked 32765 -(32765) found -[5764] Forked 32766 -(32766) found -[5763] Forked 32767 -(32767) found -[5762] Forked 300 -(300) found -[5761] Forked 301 -(301) found -[5760] Forked 302 -(302) found -[5759] Forked 303 -(303) found -[5758] Forked 304 -(304) found -[5757] Forked 305 -(305) found -[5756] Forked 306 -(306) found -[5755] Forked 307 -(307) found -[5754] Forked 308 -(308) found -[5753] Forked 309 -(309) found -[5752] Forked 310 -(310) found -[5751] Forked 311 -(311) found -[5750] Forked 312 -(312) found -[5749] Forked 313 -(313) found -[5748] Forked 314 -(314) found -[5747] Forked 315 -(315) found -[5746] Forked 316 -(316) found -[5745] Forked 317 -(317) found -[5744] Forked 318 -(318) found -[5743] Forked 319 -(319) found -[5742] Forked 320 -(320) found -[5741] Forked 321 -(321) found -[5740] Forked 322 -(322) found -[5739] Forked 323 -(323) found -[5738] Forked 324 -(324) found -[5737] Forked 325 -(325) found -[5736] Forked 328 -(328) found -[5735] Forked 330 -(330) found -[5734] Forked 331 -[5733] Forked 332 -(331) found -(332) found -[5732] Forked 333 -[5731] Forked 334 -(333) found -(334) found -[5730] Forked 335 -[5729] Forked 336 -(335) found -(336) found -[5728] Forked 337 -[5727] Forked 338 -(337) found -(338) found -[5726] Forked 339 -[5725] Forked 340 -(339) found -(340) found -[5724] Forked 341 -[5723] Forked 342 -(341) found -(342) found -[5722] Forked 343 -[5721] Forked 344 -(343) found -(344) found -[5720] Forked 345 -[5719] Forked 346 -(345) found -(346) found -[5718] Forked 347 -[5717] Forked 348 -(347) found -(348) found -[5716] Forked 349 -[5715] Forked 350 -(349) found -(350) found -[5714] Forked 351 -[5713] Forked 352 -(351) found -(352) found -[5712] Forked 353 -[5711] Forked 354 -(353) found -(354) found -[5710] Forked 355 -[5709] Forked 356 -(355) found -(356) found -[5708] Forked 357 -[5707] Forked 358 -(357) found -(358) found -[5706] Forked 359 -[5705] Forked 360 -(359) found -(360) found -[5704] Forked 361 -[5703] Forked 362 -(361) found -(362) found -[5702] Forked 363 -[5701] Forked 364 -(363) found -(364) found -[5700] Forked 365 -[5699] Forked 366 -(365) found -(366) found -[5698] Forked 367 -[5697] Forked 368 -(367) found -(368) found -[5696] Forked 369 -[5695] Forked 370 -(369) found -(370) found -[5694] Forked 371 -[5693] Forked 372 -(371) found -(372) found -[5692] Forked 373 -[5691] Forked 374 -(373) found -(374) found -[5690] Forked 375 -(375) found -[5689] Forked 376 -(376) found -[5688] Forked 377 -(377) found -[5687] Forked 378 -(378) found -[5686] Forked 379 -(379) found -[5685] Forked 380 -(380) found -[5684] Forked 381 -(381) found -[5683] Forked 383 -(383) found -[5682] Forked 384 -(384) found -[5681] Forked 385 -(385) found -[5680] Forked 386 -(386) found -[5679] Forked 387 -(387) found -[5678] Forked 388 -(388) found -[5677] Forked 389 -(389) found -[5676] Forked 390 -(390) found -[5675] Forked 391 -(391) found -[5674] Forked 392 -(392) found -[5673] Forked 393 -(393) found -[5672] Forked 394 -(394) found -[5671] Forked 395 -(395) found -[5670] Forked 396 -(396) found -[5669] Forked 397 -(397) found -[5668] Forked 398 -(398) found -[5667] Forked 399 -(399) found -[5666] Forked 401 -(401) found -[5665] Forked 402 -(402) found -[5664] Forked 403 -(403) found -[5663] Forked 404 -(404) found -[5662] Forked 405 -(405) found -[5661] Forked 407 -(407) found -[5660] Forked 408 -(408) found -[5659] Forked 409 -(409) found -[5658] Forked 410 -(410) found -[5657] Forked 411 -(411) found -[5656] Forked 412 -(412) found -[5655] Forked 413 -[5654] Forked 414 -(413) found -(414) found -[5653] Forked 415 -[5652] Forked 416 -(415) found -(416) found -[5651] Forked 417 -[5650] Forked 418 -(417) found -(418) found -[5649] Forked 419 -[5648] Forked 420 -(419) found -(420) found -[5647] Forked 421 -[5646] Forked 422 -(421) found -(422) found -[5645] Forked 423 -[5644] Forked 424 -(423) found -(424) found -[5643] Forked 425 -[5642] Forked 426 -(425) found -(426) found -[5641] Forked 427 -[5640] Forked 429 -(427) found -(429) found -[5639] Forked 430 -[5638] Forked 431 -(430) found -(431) found -[5637] Forked 432 -[5636] Forked 433 -(432) found -(433) found -[5635] Forked 434 -[5634] Forked 435 -(434) found -(435) found -[5633] Forked 436 -[5632] Forked 437 -(436) found -(437) found -[5631] Forked 438 -[5630] Forked 439 -(438) found -(439) found -[5629] Forked 440 -[5628] Forked 441 -(440) found -(441) found -[5627] Forked 442 -[5626] Forked 443 -(442) found -(443) found -[5625] Forked 444 -[5624] Forked 445 -(444) found -(445) found -[5623] Forked 446 -[5622] Forked 447 -(446) found -(447) found -[5621] Forked 448 -[5620] Forked 449 -(448) found -(449) found -[5619] Forked 450 -[5618] Forked 451 -(450) found -(451) found -[5617] Forked 452 -[5616] Forked 453 -(452) found -(453) found -[5615] Forked 454 -[5614] Forked 455 -(454) found -(455) found -[5613] Forked 456 -[5612] Forked 457 -(456) found -(457) found -[5611] Forked 458 -[5610] Forked 459 -(458) found -(459) found -[5609] Forked 460 -[5608] Forked 461 -(460) found -(461) found -[5607] Forked 462 -[5606] Forked 463 -(462) found -(463) found -[5605] Forked 464 -[5604] Forked 465 -(464) found -(465) found -[5603] Forked 466 -[5602] Forked 467 -(466) found -(467) found -[5601] Forked 468 -[5600] Forked 469 -(468) found -(469) found -[5599] Forked 470 -[5598] Forked 471 -(470) found -(471) found -[5597] Forked 472 -[5596] Forked 473 -(472) found -(473) found -[5595] Forked 474 -[5594] Forked 475 -(474) found -(475) found -[5593] Forked 476 -[5592] Forked 477 -(476) found -(477) found -[5591] Forked 478 -[5590] Forked 479 -(478) found -(479) found -[5589] Forked 480 -[5588] Forked 481 -(480) found -(481) found -[5587] Forked 482 -[5586] Forked 483 -(482) found -(483) found -[5585] Forked 484 -[5584] Forked 485 -(484) found -(485) found -[5583] Forked 486 -[5582] Forked 487 -(486) found -(487) found -[5581] Forked 488 -[5580] Forked 489 -(488) found -(489) found -[5579] Forked 490 -[5578] Forked 491 -(490) found -(491) found -[5577] Forked 492 -[5576] Forked 493 -(492) found -(493) found -[5575] Forked 494 -[5574] Forked 495 -(494) found -(495) found -[5573] Forked 496 -[5572] Forked 497 -(496) found -(497) found -[5571] Forked 498 -[5570] Forked 499 -(498) found -(499) found -[5569] Forked 500 -[5568] Forked 501 -(500) found -(501) found -[5567] Forked 502 -[5566] Forked 503 -(502) found -(503) found -[5565] Forked 504 -[5564] Forked 505 -(504) found -(505) found -[5563] Forked 506 -(506) found -[5562] Forked 507 -(507) found -[5561] Forked 508 -(508) found -[5560] Forked 509 -(509) found -[5559] Forked 510 -(510) found -[5558] Forked 511 -(511) found -[5557] Forked 512 -(512) found -[5556] Forked 513 -(513) found -[5555] Forked 514 -(514) found -[5554] Forked 515 -(515) found -[5553] Forked 516 -(516) found -[5552] Forked 517 -(517) found -[5551] Forked 518 -(518) found -[5550] Forked 519 -(519) found -[5549] Forked 520 -(520) found -[5548] Forked 521 -(521) found -[5547] Forked 522 -(522) found -[5546] Forked 523 -(523) found -[5545] Forked 524 -(524) found -[5544] Forked 525 -(525) found -[5543] Forked 526 -(526) found -[5542] Forked 527 -(527) found -[5541] Forked 528 -(528) found -[5540] Forked 529 -(529) found -[5539] Forked 530 -(530) found -[5538] Forked 531 -(531) found -[5537] Forked 532 -(532) found -[5536] Forked 533 -(533) found -[5535] Forked 534 -(534) found -[5534] Forked 535 -(535) found -[5533] Forked 536 -(536) found -[5532] Forked 537 -(537) found -[5531] Forked 538 -(538) found -[5530] Forked 539 -(539) found -[5529] Forked 540 -[5528] Forked 541 -(540) found -(541) found -[5527] Forked 542 -[5526] Forked 543 -(542) found -(543) found -[5525] Forked 544 -[5524] Forked 545 -(544) found -(545) found -[5523] Forked 546 -[5522] Forked 547 -(546) found -(547) found -[5521] Forked 548 -[5520] Forked 549 -(548) found -(549) found -[5519] Forked 550 -[5518] Forked 551 -(550) found -(551) found -[5517] Forked 552 -[5516] Forked 553 -(552) found -(553) found -[5515] Forked 554 -[5514] Forked 555 -(554) found -(555) found -[5513] Forked 556 -[5512] Forked 557 -(556) found -(557) found -[5511] Forked 558 -[5510] Forked 559 -(558) found -(559) found -[5509] Forked 560 -[5508] Forked 561 -(560) found -(561) found -[5507] Forked 562 -[5506] Forked 563 -(562) found -(563) found -[5505] Forked 564 -[5504] Forked 565 -(564) found -(565) found -[5503] Forked 566 -[5502] Forked 567 -(566) found -(567) found -[5501] Forked 568 -[5500] Forked 569 -(568) found -(569) found -[5499] Forked 570 -[5498] Forked 571 -(570) found -(571) found -[5497] Forked 572 -[5496] Forked 573 -(572) found -(573) found -[5495] Forked 574 -[5494] Forked 575 -(574) found -(575) found -[5493] Forked 576 -[5492] Forked 577 -(576) found -(577) found -[5491] Forked 578 -[5490] Forked 579 -(578) found -(579) found -[5489] Forked 580 -[5488] Forked 581 -(580) found -(581) found -[5487] Forked 582 -[5486] Forked 583 -(582) found -(583) found -[5485] Forked 584 -[5484] Forked 585 -(584) found -(585) found -[5483] Forked 586 -[5482] Forked 587 -(586) found -(587) found -[5481] Forked 588 -[5480] Forked 589 -(588) found -(589) found -[5479] Forked 590 -[5478] Forked 591 -(590) found -(591) found -[5477] Forked 592 -[5476] Forked 593 -(592) found -(593) found -[5475] Forked 594 -[5474] Forked 595 -(594) found -(595) found -[5473] Forked 596 -[5472] Forked 597 -(596) found -(597) found -[5471] Forked 598 -[5470] Forked 599 -(598) found -(599) found -[5469] Forked 600 -[5468] Forked 601 -(600) found -(601) found -[5467] Forked 602 -[5466] Forked 603 -(602) found -(603) found -[5465] Forked 604 -[5464] Forked 606 -(604) found -(606) found -[5463] Forked 607 -[5462] Forked 609 -(607) found -(609) found -[5461] Forked 610 -[5460] Forked 612 -(610) found -(612) found -[5459] Forked 613 -[5458] Forked 615 -(613) found -(615) found -[5457] Forked 616 -[5456] Forked 617 -(616) found -(617) found -[5455] Forked 618 -[5454] Forked 619 -(618) found -(619) found -[5453] Forked 620 -[5452] Forked 621 -(620) found -(621) found -[5451] Forked 622 -[5450] Forked 623 -(622) found -(623) found -[5449] Forked 624 -[5448] Forked 625 -(624) found -(625) found -[5447] Forked 626 -[5446] Forked 627 -(626) found -(627) found -[5445] Forked 628 -[5444] Forked 629 -(628) found -(629) found -[5443] Forked 630 -[5442] Forked 631 -(630) found -(631) found -[5441] Forked 632 -[5440] Forked 633 -(632) found -(633) found -[5439] Forked 634 -[5438] Forked 635 -(634) found -(635) found -[5437] Forked 636 -(636) found -[5436] Forked 637 -(637) found -[5435] Forked 638 -(638) found -[5434] Forked 639 -(639) found -[5433] Forked 640 -(640) found -[5432] Forked 641 -(641) found -[5431] Forked 642 -(642) found -[5430] Forked 643 -(643) found -[5429] Forked 644 -(644) found -[5428] Forked 645 -(645) found -[5427] Forked 646 -(646) found -[5426] Forked 647 -(647) found -[5425] Forked 648 -(648) found -[5424] Forked 649 -(649) found -[5423] Forked 650 -(650) found -[5422] Forked 651 -(651) found -[5421] Forked 652 -(652) found -[5420] Forked 653 -(653) found -[5419] Forked 654 -(654) found -[5418] Forked 655 -(655) found -[5417] Forked 656 -(656) found -[5416] Forked 657 -(657) found -[5415] Forked 658 -(658) found -[5414] Forked 659 -(659) found -[5413] Forked 660 -(660) found -[5412] Forked 661 -(661) found -[5411] Forked 662 -(662) found -[5410] Forked 663 -(663) found -[5409] Forked 664 -(664) found -[5408] Forked 665 -(665) found -[5407] Forked 666 -(666) found -[5406] Forked 667 -(667) found -[5405] Forked 668 -(668) found -[5404] Forked 669 -(669) found -[5403] Forked 670 -(670) found -[5402] Forked 671 -(671) found -[5401] Forked 672 -[5400] Forked 673 -(672) found -(673) found -[5399] Forked 674 -[5398] Forked 675 -(674) found -(675) found -[5397] Forked 677 -[5396] Forked 678 -(677) found -(678) found -[5395] Forked 679 -[5394] Forked 680 -(679) found -(680) found -[5393] Forked 681 -[5392] Forked 682 -(681) found -(682) found -[5391] Forked 683 -[5390] Forked 684 -(683) found -(684) found -[5389] Forked 685 -[5388] Forked 686 -(685) found -(686) found -[5387] Forked 687 -[5386] Forked 688 -(687) found -(688) found -[5385] Forked 689 -[5384] Forked 690 -(689) found -(690) found -[5383] Forked 691 -[5382] Forked 692 -(691) found -(692) found -[5381] Forked 693 -[5380] Forked 694 -(693) found -(694) found -[5379] Forked 695 -[5378] Forked 696 -(695) found -(696) found -[5377] Forked 697 -[5376] Forked 698 -(697) found -(698) found -[5375] Forked 699 -[5374] Forked 700 -(699) found -(700) found -[5373] Forked 701 -[5372] Forked 702 -(701) found -(702) found -[5371] Forked 703 -[5370] Forked 704 -(703) found -(704) found -[5369] Forked 705 -[5368] Forked 706 -(705) found -(706) found -[5367] Forked 707 -[5366] Forked 708 -(707) found -(708) found -[5365] Forked 709 -[5364] Forked 710 -(709) found -(710) found -[5363] Forked 711 -[5362] Forked 712 -(711) found -(712) found -[5361] Forked 713 -(713) found -[5360] Forked 714 -[5359] Forked 715 -(714) found -(715) found -[5358] Forked 716 -[5357] Forked 717 -(716) found -(717) found -[5356] Forked 718 -[5355] Forked 719 -(718) found -(719) found -[5354] Forked 720 -[5353] Forked 721 -(720) found -(721) found -[5352] Forked 722 -[5351] Forked 723 -(722) found -(723) found -[5350] Forked 724 -[5349] Forked 725 -(724) found -(725) found -[5348] Forked 726 -[5347] Forked 727 -(726) found -(727) found -[5346] Forked 728 -[5345] Forked 729 -(728) found -(729) found -[5344] Forked 730 -[5343] Forked 731 -(730) found -(731) found -[5342] Forked 732 -[5341] Forked 734 -(732) found -(734) found -[5340] Forked 735 -[5339] Forked 737 -(735) found -(737) found -[5338] Forked 740 -[5337] Forked 742 -(740) found -(742) found -[5336] Forked 744 -[5335] Forked 745 -(744) found -(745) found -[5334] Forked 746 -[5333] Forked 747 -(746) found -(747) found -[5332] Forked 748 -[5331] Forked 749 -(748) found -(749) found -[5330] Forked 750 -[5329] Forked 751 -(750) found -(751) found -[5328] Forked 752 -[5327] Forked 753 -(752) found -(753) found -[5326] Forked 754 -[5325] Forked 755 -(754) found -(755) found -[5324] Forked 756 -[5323] Forked 757 -(756) found -(757) found -[5322] Forked 758 -[5321] Forked 759 -(758) found -(759) found -[5320] Forked 760 -[5319] Forked 761 -(760) found -(761) found -[5318] Forked 762 -[5317] Forked 763 -(762) found -(763) found -[5316] Forked 764 -[5315] Forked 765 -(764) found -(765) found -[5314] Forked 766 -[5313] Forked 767 -(766) found -(767) found -[5312] Forked 768 -[5311] Forked 769 -(768) found -(769) found -[5310] Forked 770 -[5309] Forked 771 -(770) found -(771) found -[5308] Forked 772 -(772) found -[5307] Forked 773 -(773) found -[5306] Forked 774 -(774) found -[5305] Forked 775 -(775) found -[5304] Forked 776 -(776) found -[5303] Forked 777 -(777) found -[5302] Forked 778 -(778) found -[5301] Forked 780 -(780) found -[5300] Forked 781 -(781) found -[5299] Forked 782 -(782) found -[5298] Forked 783 -(783) found -[5297] Forked 784 -(784) found -[5296] Forked 785 -(785) found -[5295] Forked 786 -(786) found -[5294] Forked 787 -(787) found -[5293] Forked 788 -(788) found -[5292] Forked 789 -(789) found -[5291] Forked 790 -(790) found -[5290] Forked 791 -(791) found -[5289] Forked 792 -(792) found -[5288] Forked 793 -(793) found -[5287] Forked 794 -(794) found -[5286] Forked 795 -(795) found -[5285] Forked 796 -(796) found -[5284] Forked 797 -(797) found -[5283] Forked 798 -(798) found -[5282] Forked 799 -(799) found -[5281] Forked 800 -(800) found -[5280] Forked 801 -(801) found -[5279] Forked 802 -(802) found -[5278] Forked 803 -(803) found -[5277] Forked 804 -(804) found -[5276] Forked 805 -(805) found -[5275] Forked 806 -(806) found -[5274] Forked 807 -[5273] Forked 808 -(807) found -(808) found -[5272] Forked 809 -(809) found -[5271] Forked 810 -(810) found -[5270] Forked 811 -(811) found -[5269] Forked 812 -(812) found -[5268] Forked 813 -(813) found -[5267] Forked 814 -(814) found -[5266] Forked 815 -(815) found -[5265] Forked 816 -(816) found -[5264] Forked 817 -(817) found -[5263] Forked 818 -(818) found -[5262] Forked 819 -(819) found -[5261] Forked 820 -(820) found -[5260] Forked 821 -(821) found -[5259] Forked 822 -(822) found -[5258] Forked 823 -(823) found -[5257] Forked 824 -(824) found -[5256] Forked 825 -(825) found -[5255] Forked 826 -(826) found -[5254] Forked 827 -(827) found -[5253] Forked 828 -(828) found -[5252] Forked 829 -(829) found -[5251] Forked 830 -(830) found -[5250] Forked 831 -(831) found -[5249] Forked 832 -(832) found -[5248] Forked 833 -(833) found -[5247] Forked 834 -(834) found -[5246] Forked 835 -(835) found -[5245] Forked 836 -(836) found -[5244] Forked 837 -(837) found -[5243] Forked 838 -(838) found -[5242] Forked 839 -[5241] Forked 840 -(839) found -(840) found -[5240] Forked 841 -[5239] Forked 842 -(841) found -(842) found -[5238] Forked 843 -[5237] Forked 844 -(843) found -(844) found -[5236] Forked 845 -[5235] Forked 847 -(845) found -(847) found -[5234] Forked 848 -[5233] Forked 849 -(848) found -(849) found -[5232] Forked 850 -[5231] Forked 851 -(850) found -(851) found -[5230] Forked 852 -[5229] Forked 853 -(852) found -(853) found -[5228] Forked 854 -[5227] Forked 855 -(854) found -(855) found -[5226] Forked 856 -[5225] Forked 857 -(856) found -(857) found -[5224] Forked 858 -[5223] Forked 859 -(858) found -(859) found -[5222] Forked 860 -[5221] Forked 861 -(860) found -(861) found -[5220] Forked 862 -[5219] Forked 863 -(862) found -(863) found -[5218] Forked 864 -[5217] Forked 865 -(864) found -(865) found -[5216] Forked 866 -[5215] Forked 867 -(866) found -(867) found -[5214] Forked 868 -[5213] Forked 869 -(868) found -(869) found -[5212] Forked 870 -[5211] Forked 871 -(870) found -(871) found -[5210] Forked 872 -[5209] Forked 873 -(872) found -(873) found -[5208] Forked 874 -[5207] Forked 875 -(874) found -(875) found -[5206] Forked 876 -[5205] Forked 877 -(876) found -(877) found -[5204] Forked 878 -[5203] Forked 879 -(878) found -(879) found -[5202] Forked 880 -[5201] Forked 881 -(880) found -(881) found -[5200] Forked 882 -[5199] Forked 883 -(882) found -(883) found -[5198] Forked 884 -[5197] Forked 885 -(885) found -(884) found -[5196] Forked 886 -(886) found -[5195] Forked 887 -(887) found -[5194] Forked 888 -(888) found -[5193] Forked 889 -(889) found -[5192] Forked 890 -(890) found -[5191] Forked 891 -(891) found -[5190] Forked 892 -(892) found -[5189] Forked 893 -(893) found -[5188] Forked 894 -(894) found -[5187] Forked 895 -(895) found -[5186] Forked 896 -(896) found -[5185] Forked 897 -(897) found -[5184] Forked 898 -(898) found -[5183] Forked 899 -(899) found -[5182] Forked 900 -(900) found -[5181] Forked 901 -(901) found -[5180] Forked 902 -(902) found -[5179] Forked 903 -(903) found -[5178] Forked 904 -(904) found -[5177] Forked 905 -(905) found -[5176] Forked 906 -(906) found -[5175] Forked 907 -(907) found -[5174] Forked 908 -(908) found -[5173] Forked 909 -(909) found -[5172] Forked 910 -(910) found -[5171] Forked 911 -(911) found -[5170] Forked 912 -(912) found -[5169] Forked 913 -(913) found -[5168] Forked 914 -(914) found -[5167] Forked 915 -(915) found -[5166] Forked 916 -(916) found -[5165] Forked 917 -(917) found -[5164] Forked 918 -(918) found -[5163] Forked 919 -(919) found -[5162] Forked 920 -[5161] Forked 921 -(920) found -(921) found -[5160] Forked 922 -[5159] Forked 923 -(922) found -(923) found -[5158] Forked 924 -[5157] Forked 925 -(924) found -(925) found -[5156] Forked 926 -[5155] Forked 927 -(926) found -(927) found -[5154] Forked 928 -[5153] Forked 929 -(928) found -(929) found -[5152] Forked 930 -[5151] Forked 931 -(930) found -(931) found -[5150] Forked 932 -[5149] Forked 933 -(932) found -(933) found -[5148] Forked 934 -[5147] Forked 935 -(934) found -(935) found -[5146] Forked 936 -[5145] Forked 937 -(936) found -(937) found -[5144] Forked 938 -[5143] Forked 939 -(938) found -(939) found -[5142] Forked 940 -[5141] Forked 941 -(940) found -(941) found -[5140] Forked 942 -[5139] Forked 943 -(942) found -(943) found -[5138] Forked 944 -[5137] Forked 945 -(944) found -(945) found -[5136] Forked 946 -[5135] Forked 947 -(946) found -(947) found -[5134] Forked 948 -[5133] Forked 949 -(948) found -(949) found -[5132] Forked 950 -[5131] Forked 951 -(950) found -(951) found -[5130] Forked 952 -[5129] Forked 953 -(952) found -(953) found -[5128] Forked 954 -[5127] Forked 955 -(954) found -(955) found -[5126] Forked 956 -[5125] Forked 957 -(956) found -(957) found -[5124] Forked 958 -[5123] Forked 959 -(958) found -(959) found -[5122] Forked 960 -[5121] Forked 961 -(960) found -(961) found -[5120] Forked 962 -[5119] Forked 963 -(962) found -(963) found -[5118] Forked 964 -[5117] Forked 965 -(965) found -(964) found -[5116] Forked 966 -(966) found -[5115] Forked 967 -(967) found -[5114] Forked 968 -(968) found -[5113] Forked 969 -(969) found -[5112] Forked 970 -(970) found -[5111] Forked 971 -(971) found -[5110] Forked 972 -(972) found -[5109] Forked 973 -(973) found -[5108] Forked 974 -(974) found -[5107] Forked 975 -(975) found -[5106] Forked 976 -(976) found -[5105] Forked 977 -(977) found -[5104] Forked 978 -(978) found -[5103] Forked 979 -(979) found -[5102] Forked 980 -(980) found -[5101] Forked 981 -(981) found -[5100] Forked 982 -(982) found -[5099] Forked 983 -(983) found -[5098] Forked 984 -(984) found -[5097] Forked 985 -(985) found -[5096] Forked 986 -(986) found -[5095] Forked 987 -(987) found -[5094] Forked 988 -(988) found -[5093] Forked 989 -(989) found -[5092] Forked 990 -(990) found -[5091] Forked 991 -(991) found -[5090] Forked 992 -(992) found -[5089] Forked 993 -(993) found -[5088] Forked 994 -(994) found -[5087] Forked 995 -(995) found -[5086] Forked 996 -(996) found -[5085] Forked 997 -(997) found -[5084] Forked 998 -(998) found -[5083] Forked 999 -(999) found -[5082] Forked 1000 -(1000) found -[5081] Forked 1001 -(1001) found -[5080] Forked 1002 -(1002) found -[5079] Forked 1003 -(1003) found -[5078] Forked 1004 -(1004) found -[5077] Forked 1005 -(1005) found -[5076] Forked 1006 -(1006) found -[5075] Forked 1007 -(1007) found -[5074] Forked 1008 -(1008) found -[5073] Forked 1009 -(1009) found -[5072] Forked 1010 -(1010) found -[5071] Forked 1011 -(1011) found -[5070] Forked 1012 -(1012) found -[5069] Forked 1013 -(1013) found -[5068] Forked 1014 -(1014) found -[5067] Forked 1015 -(1015) found -[5066] Forked 1016 -(1016) found -[5065] Forked 1017 -(1017) found -[5064] Forked 1018 -(1018) found -[5063] Forked 1019 -(1019) found -[5062] Forked 1020 -(1020) found -[5061] Forked 1021 -(1021) found -[5060] Forked 1022 -(1022) found -[5059] Forked 1023 -(1023) found -[5058] Forked 1024 -(1024) found -[5057] Forked 1025 -(1025) found -[5056] Forked 1026 -(1026) found -[5055] Forked 1027 -(1027) found -[5054] Forked 1028 -(1028) found -[5053] Forked 1029 -(1029) found -[5052] Forked 1030 -(1030) found -[5051] Forked 1031 -(1031) found -[5050] Forked 1032 -(1032) found -[5049] Forked 1033 -(1033) found -[5048] Forked 1034 -(1034) found -[5047] Forked 1035 -(1035) found -[5046] Forked 1036 -[5045] Forked 1037 -(1036) found -(1037) found -[5044] Forked 1038 -[5043] Forked 1039 -(1038) found -(1039) found -[5042] Forked 1040 -[5041] Forked 1041 -(1040) found -(1041) found -[5040] Forked 1042 -[5039] Forked 1043 -(1042) found -(1043) found -[5038] Forked 1044 -[5037] Forked 1045 -(1044) found -(1045) found -[5036] Forked 1046 -[5035] Forked 1047 -(1046) found -(1047) found -[5034] Forked 1048 -[5033] Forked 1049 -(1048) found -(1049) found -[5032] Forked 1050 -[5031] Forked 1051 -(1050) found -(1051) found -[5030] Forked 1052 -[5029] Forked 1053 -(1052) found -(1053) found -[5028] Forked 1054 -[5027] Forked 1055 -(1054) found -(1055) found -[5026] Forked 1056 -[5025] Forked 1057 -(1056) found -(1057) found -[5024] Forked 1058 -[5023] Forked 1059 -(1058) found -(1059) found -[5022] Forked 1060 -[5021] Forked 1061 -(1060) found -(1061) found -[5020] Forked 1062 -[5019] Forked 1063 -(1062) found -(1063) found -[5018] Forked 1064 -[5017] Forked 1065 -(1064) found -(1065) found -[5016] Forked 1066 -[5015] Forked 1067 -(1066) found -(1067) found -[5014] Forked 1068 -[5013] Forked 1069 -(1068) found -(1069) found -[5012] Forked 1070 -[5011] Forked 1071 -(1070) found -(1071) found -[5010] Forked 1072 -[5009] Forked 1073 -(1072) found -(1073) found -[5008] Forked 1074 -[5007] Forked 1075 -(1074) found -(1075) found -[5006] Forked 1076 -[5005] Forked 1077 -(1076) found -(1077) found -[5004] Forked 1078 -[5003] Forked 1079 -(1078) found -(1079) found -[5002] Forked 1080 -[5001] Forked 1081 -(1080) found -(1081) found -[5000] Forked 1082 -[4999] Forked 1083 -(1082) found -(1083) found -[4998] Forked 1084 -[4997] Forked 1085 -(1084) found -(1085) found -[4996] Forked 1086 -[4995] Forked 1087 -(1086) found -(1087) found -[4994] Forked 1088 -[4993] Forked 1089 -(1088) found -(1089) found -[4992] Forked 1090 -[4991] Forked 1091 -(1090) found -(1091) found -[4990] Forked 1092 -[4989] Forked 1093 -(1092) found -(1093) found -[4988] Forked 1094 -[4987] Forked 1095 -(1094) found -(1095) found -[4986] Forked 1096 -[4985] Forked 1097 -(1096) found -(1097) found -[4984] Forked 1098 -[4983] Forked 1099 -(1098) found -(1099) found -[4982] Forked 1100 -[4981] Forked 1101 -(1100) found -(1101) found -[4980] Forked 1102 -[4979] Forked 1103 -(1102) found -(1103) found -[4978] Forked 1104 -[4977] Forked 1105 -(1104) found -(1105) found -[4976] Forked 1106 -[4975] Forked 1108 -(1106) found -(1108) found -[4974] Forked 1109 -[4973] Forked 1110 -(1109) found -(1110) found -[4972] Forked 1111 -[4971] Forked 1112 -(1111) found -(1112) found -[4970] Forked 1113 -[4969] Forked 1114 -(1113) found -(1114) found -[4968] Forked 1115 -[4967] Forked 1116 -(1115) found -(1116) found -[4966] Forked 1117 -[4965] Forked 1118 -(1117) found -(1118) found -[4964] Forked 1119 -[4963] Forked 1120 -(1119) found -(1120) found -[4962] Forked 1121 -[4961] Forked 1122 -(1121) found -(1122) found -[4960] Forked 1123 -[4959] Forked 1124 -(1123) found -(1124) found -[4958] Forked 1125 -(1125) found -[4957] Forked 1126 -(1126) found -[4956] Forked 1127 -(1127) found -[4955] Forked 1128 -(1128) found -[4954] Forked 1129 -(1129) found -[4953] Forked 1130 -(1130) found -[4952] Forked 1131 -(1131) found -[4951] Forked 1132 -(1132) found -[4950] Forked 1133 -[4949] Forked 1134 -(1133) found -(1134) found -[4948] Forked 1135 -[4947] Forked 1136 -(1135) found -(1136) found -[4946] Forked 1137 -[4945] Forked 1138 -(1137) found -(1138) found -[4944] Forked 1139 -[4943] Forked 1140 -(1139) found -(1140) found -[4942] Forked 1141 -[4941] Forked 1142 -(1141) found -(1142) found -[4940] Forked 1143 -[4939] Forked 1144 -(1143) found -(1144) found -[4938] Forked 1145 -[4937] Forked 1146 -(1145) found -(1146) found -[4936] Forked 1147 -[4935] Forked 1148 -(1147) found -(1148) found -[4934] Forked 1149 -[4933] Forked 1150 -(1149) found -(1150) found -[4932] Forked 1151 -[4931] Forked 1152 -(1151) found -(1152) found -[4930] Forked 1153 -[4929] Forked 1154 -(1153) found -(1154) found -[4928] Forked 1155 -[4927] Forked 1156 -(1155) found -(1156) found -[4926] Forked 1157 -[4925] Forked 1158 -(1157) found -(1158) found -[4924] Forked 1159 -[4923] Forked 1160 -(1159) found -(1160) found -[4922] Forked 1161 -[4921] Forked 1162 -(1161) found -(1162) found -[4920] Forked 1163 -[4919] Forked 1164 -(1163) found -(1164) found -[4918] Forked 1165 -[4917] Forked 1166 -(1165) found -(1166) found -[4916] Forked 1167 -(1167) found -[4915] Forked 1168 -(1168) found -[4914] Forked 1169 -(1169) found -[4913] Forked 1170 -(1170) found -[4912] Forked 1171 -(1171) found -[4911] Forked 1172 -(1172) found -[4910] Forked 1173 -(1173) found -[4909] Forked 1174 -(1174) found -[4908] Forked 1175 -(1175) found -[4907] Forked 1176 -(1176) found -[4906] Forked 1177 -(1177) found -[4905] Forked 1178 -(1178) found -[4904] Forked 1179 -(1179) found -[4903] Forked 1180 -(1180) found -[4902] Forked 1181 -(1181) found -[4901] Forked 1182 -(1182) found -[4900] Forked 1183 -(1183) found -[4899] Forked 1184 -(1184) found -[4898] Forked 1185 -(1185) found -[4897] Forked 1186 -(1186) found -[4896] Forked 1187 -(1187) found -[4895] Forked 1188 -(1188) found -[4894] Forked 1190 -(1190) found -[4893] Forked 1191 -(1191) found -[4892] Forked 1192 -(1192) found -[4891] Forked 1193 -(1193) found -[4890] Forked 1194 -(1194) found -[4889] Forked 1195 -(1195) found -[4888] Forked 1196 -(1196) found -[4887] Forked 1197 -(1197) found -[4886] Forked 1198 -(1198) found -[4885] Forked 1199 -(1199) found -[4884] Forked 1200 -(1200) found -[4883] Forked 1201 -(1201) found -[4882] Forked 1202 -(1202) found -[4881] Forked 1203 -(1203) found -[4880] Forked 1204 -[4879] Forked 1205 -(1204) found -(1205) found -[4878] Forked 1206 -[4877] Forked 1207 -(1206) found -(1207) found -[4876] Forked 1208 -[4875] Forked 1209 -(1208) found -(1209) found -[4874] Forked 1210 -[4873] Forked 1211 -(1210) found -(1211) found -[4872] Forked 1212 -[4871] Forked 1213 -(1212) found -(1213) found -[4870] Forked 1214 -[4869] Forked 1215 -(1214) found -(1215) found -[4868] Forked 1216 -[4867] Forked 1217 -(1216) found -(1217) found -[4866] Forked 1218 -[4865] Forked 1219 -(1218) found -(1219) found -[4864] Forked 1220 -[4863] Forked 1221 -(1220) found -(1221) found -[4862] Forked 1222 -[4861] Forked 1223 -(1222) found -(1223) found -[4860] Forked 1224 -[4859] Forked 1225 -(1224) found -(1225) found -[4858] Forked 1226 -[4857] Forked 1227 -(1226) found -(1227) found -[4856] Forked 1228 -[4855] Forked 1229 -(1228) found -(1229) found -[4854] Forked 1230 -[4853] Forked 1231 -(1230) found -(1231) found -[4852] Forked 1232 -[4851] Forked 1233 -(1232) found -(1233) found -[4850] Forked 1234 -[4849] Forked 1235 -(1234) found -(1235) found -[4848] Forked 1236 -[4847] Forked 1237 -(1236) found -(1237) found -[4846] Forked 1238 -[4845] Forked 1239 -(1238) found -(1239) found -[4844] Forked 1240 -[4843] Forked 1241 -(1240) found -(1241) found -[4842] Forked 1242 -[4841] Forked 1243 -(1242) found -(1243) found -[4840] Forked 1244 -[4839] Forked 1245 -(1244) found -(1245) found -[4838] Forked 1246 -[4837] Forked 1247 -(1246) found -(1247) found -[4836] Forked 1248 -[4835] Forked 1249 -(1248) found -(1249) found -[4834] Forked 1250 -[4833] Forked 1251 -(1250) found -(1251) found -[4832] Forked 1252 -(1252) found -[4831] Forked 1253 -[4830] Forked 1254 -(1253) found -(1254) found -[4829] Forked 1255 -[4828] Forked 1256 -(1255) found -(1256) found -[4827] Forked 1257 -[4826] Forked 1258 -(1257) found -(1258) found -[4825] Forked 1259 -[4824] Forked 1260 -(1259) found -(1260) found -[4823] Forked 1261 -[4822] Forked 1262 -(1261) found -(1262) found -[4821] Forked 1263 -[4820] Forked 1264 -(1263) found -(1264) found -[4819] Forked 1265 -[4818] Forked 1266 -(1265) found -(1266) found -[4817] Forked 1267 -[4816] Forked 1268 -(1267) found -(1268) found -[4815] Forked 1269 -[4814] Forked 1270 -(1269) found -(1270) found -[4813] Forked 1271 -[4812] Forked 1272 -(1271) found -(1272) found -[4811] Forked 1273 -[4810] Forked 1274 -(1273) found -(1274) found -[4809] Forked 1275 -[4808] Forked 1276 -(1275) found -(1276) found -[4807] Forked 1277 -[4806] Forked 1278 -(1277) found -(1278) found -[4805] Forked 1279 -[4804] Forked 1280 -(1279) found -(1280) found -[4803] Forked 1281 -[4802] Forked 1282 -(1281) found -(1282) found -[4801] Forked 1283 -[4800] Forked 1284 -(1283) found -(1284) found -[4799] Forked 1285 -[4798] Forked 1286 -(1285) found -(1286) found -[4797] Forked 1287 -[4796] Forked 1288 -(1287) found -(1288) found -[4795] Forked 1289 -[4794] Forked 1290 -(1289) found -(1290) found -[4793] Forked 1291 -(1291) found -[4792] Forked 1292 -(1292) found -[4791] Forked 1293 -(1293) found -[4790] Forked 1294 -(1294) found -[4789] Forked 1295 -(1295) found -[4788] Forked 1296 -(1296) found -[4787] Forked 1297 -(1297) found -[4786] Forked 1298 -(1298) found -[4785] Forked 1299 -(1299) found -[4784] Forked 1300 -(1300) found -[4783] Forked 1301 -(1301) found -[4782] Forked 1302 -(1302) found -[4781] Forked 1303 -(1303) found -[4780] Forked 1304 -(1304) found -[4779] Forked 1305 -(1305) found -[4778] Forked 1306 -(1306) found -[4777] Forked 1307 -(1307) found -[4776] Forked 1308 -(1308) found -[4775] Forked 1309 -(1309) found -[4774] Forked 1310 -(1310) found -[4773] Forked 1312 -(1312) found -[4772] Forked 1313 -(1313) found -[4771] Forked 1314 -(1314) found -[4770] Forked 1315 -(1315) found -[4769] Forked 1316 -(1316) found -[4768] Forked 1317 -(1317) found -[4767] Forked 1318 -(1318) found -[4766] Forked 1319 -(1319) found -[4765] Forked 1320 -(1320) found -[4764] Forked 1321 -(1321) found -[4763] Forked 1322 -(1322) found -[4762] Forked 1323 -(1323) found -[4761] Forked 1324 -(1324) found -[4760] Forked 1325 -(1325) found -[4759] Forked 1326 -[4758] Forked 1327 -(1326) found -(1327) found -[4757] Forked 1328 -[4756] Forked 1329 -(1328) found -(1329) found -[4755] Forked 1330 -[4754] Forked 1331 -(1330) found -(1331) found -[4753] Forked 1332 -[4752] Forked 1333 -(1332) found -(1333) found -[4751] Forked 1334 -[4750] Forked 1335 -(1334) found -(1335) found -[4749] Forked 1336 -[4748] Forked 1337 -(1336) found -(1337) found -[4747] Forked 1338 -[4746] Forked 1339 -(1338) found -(1339) found -[4745] Forked 1340 -[4744] Forked 1341 -(1340) found -(1341) found -[4743] Forked 1342 -[4742] Forked 1343 -(1342) found -(1343) found -[4741] Forked 1344 -[4740] Forked 1345 -(1344) found -(1345) found -[4739] Forked 1346 -[4738] Forked 1347 -(1346) found -(1347) found -[4737] Forked 1348 -[4736] Forked 1349 -(1348) found -(1349) found -[4735] Forked 1350 -[4734] Forked 1351 -(1350) found -(1351) found -[4733] Forked 1352 -[4732] Forked 1353 -(1352) found -(1353) found -[4731] Forked 1354 -[4730] Forked 1355 -(1354) found -(1355) found -[4729] Forked 1356 -[4728] Forked 1357 -(1356) found -(1357) found -[4727] Forked 1358 -[4726] Forked 1359 -(1358) found -(1359) found -[4725] Forked 1360 -[4724] Forked 1361 -(1360) found -(1361) found -[4723] Forked 1362 -[4722] Forked 1363 -(1362) found -(1363) found -[4721] Forked 1364 -[4720] Forked 1365 -(1364) found -(1365) found -[4719] Forked 1366 -[4718] Forked 1367 -(1366) found -(1367) found -[4717] Forked 1368 -[4716] Forked 1369 -(1368) found -(1369) found -[4715] Forked 1370 -[4714] Forked 1371 -(1370) found -(1371) found -[4713] Forked 1372 -(1372) found -[4712] Forked 1373 -(1373) found -[4711] Forked 1374 -(1374) found -[4710] Forked 1375 -(1375) found -[4709] Forked 1376 -(1376) found -[4708] Forked 1377 -(1377) found -[4707] Forked 1378 -(1378) found -[4706] Forked 1379 -(1379) found -[4705] Forked 1380 -(1380) found -[4704] Forked 1381 -(1381) found -[4703] Forked 1382 -(1382) found -[4702] Forked 1383 -(1383) found -[4701] Forked 1384 -(1384) found -[4700] Forked 1385 -(1385) found -[4699] Forked 1386 -(1386) found -[4698] Forked 1387 -(1387) found -[4697] Forked 1388 -(1388) found -[4696] Forked 1389 -(1389) found -[4695] Forked 1390 -(1390) found -[4694] Forked 1391 -(1391) found -[4693] Forked 1392 -(1392) found -[4692] Forked 1393 -(1393) found -[4691] Forked 1394 -(1394) found -[4690] Forked 1395 -(1395) found -[4689] Forked 1396 -(1396) found -[4688] Forked 1397 -(1397) found -[4687] Forked 1398 -(1398) found -[4686] Forked 1399 -(1399) found -[4685] Forked 1400 -(1400) found -[4684] Forked 1401 -(1401) found -[4683] Forked 1402 -(1402) found -[4682] Forked 1403 -(1403) found -[4681] Forked 1404 -(1404) found -[4680] Forked 1405 -(1405) found -[4679] Forked 1406 -[4678] Forked 1407 -(1406) found -(1407) found -[4677] Forked 1408 -[4676] Forked 1409 -(1408) found -(1409) found -[4675] Forked 1410 -[4674] Forked 1411 -(1410) found -(1411) found -[4673] Forked 1412 -[4672] Forked 1413 -(1412) found -(1413) found -[4671] Forked 1414 -[4670] Forked 1415 -(1414) found -(1415) found -[4669] Forked 1416 -[4668] Forked 1417 -(1416) found -(1417) found -[4667] Forked 1418 -[4666] Forked 1419 -(1418) found -(1419) found -[4665] Forked 1420 -[4664] Forked 1421 -(1420) found -(1421) found -[4663] Forked 1422 -[4662] Forked 1423 -(1422) found -(1423) found -[4661] Forked 1424 -[4660] Forked 1425 -(1424) found -(1425) found -[4659] Forked 1426 -[4658] Forked 1427 -(1426) found -(1427) found -[4657] Forked 1428 -[4656] Forked 1429 -(1428) found -(1429) found -[4655] Forked 1430 -[4654] Forked 1431 -(1431) found -(1430) found -[4653] Forked 1432 -(1432) found -[4652] Forked 1433 -(1433) found -[4651] Forked 1434 -(1434) found -[4650] Forked 1435 -(1435) found -[4649] Forked 1436 -(1436) found -[4648] Forked 1437 -(1437) found -[4647] Forked 1438 -(1438) found -[4646] Forked 1440 -(1440) found -[4645] Forked 1441 -(1441) found -[4644] Forked 1442 -(1442) found -[4643] Forked 1443 -(1443) found -[4642] Forked 1444 -(1444) found -[4641] Forked 1445 -(1445) found -[4640] Forked 1446 -(1446) found -[4639] Forked 1447 -(1447) found -[4638] Forked 1448 -(1448) found -[4637] Forked 1449 -(1449) found -[4636] Forked 1450 -(1450) found -[4635] Forked 1451 -(1451) found -[4634] Forked 1452 -(1452) found -[4633] Forked 1453 -(1453) found -[4632] Forked 1454 -(1454) found -[4631] Forked 1455 -(1455) found -[4630] Forked 1456 -(1456) found -[4629] Forked 1457 -(1457) found -[4628] Forked 1458 -(1458) found -[4627] Forked 1459 -(1459) found -[4626] Forked 1460 -(1460) found -[4625] Forked 1461 -(1461) found -[4624] Forked 1462 -(1462) found -[4623] Forked 1463 -(1463) found -[4622] Forked 1464 -(1464) found -[4621] Forked 1465 -(1465) found -[4620] Forked 1466 -(1466) found -[4619] Forked 1467 -(1467) found -[4618] Forked 1468 -(1468) found -[4617] Forked 1469 -(1469) found -[4616] Forked 1470 -(1470) found -[4615] Forked 1471 -(1471) found -[4614] Forked 1472 -(1472) found -[4613] Forked 1473 -(1473) found -[4612] Forked 1474 -(1474) found -[4611] Forked 1475 -(1475) found -[4610] Forked 1476 -(1476) found -[4609] Forked 1477 -(1477) found -[4608] Forked 1478 -(1478) found -[4607] Forked 1479 -(1479) found -[4606] Forked 1480 -(1480) found -[4605] Forked 1481 -(1481) found -[4604] Forked 1482 -(1482) found -[4603] Forked 1483 -(1483) found -[4602] Forked 1484 -(1484) found -[4601] Forked 1485 -(1485) found -[4600] Forked 1486 -(1486) found -[4599] Forked 1487 -(1487) found -[4598] Forked 1488 -(1488) found -[4597] Forked 1489 -(1489) found -[4596] Forked 1490 -(1490) found -[4595] Forked 1491 -(1491) found -[4594] Forked 1492 -(1492) found -[4593] Forked 1493 -(1493) found -[4592] Forked 1494 -(1494) found -[4591] Forked 1495 -(1495) found -[4590] Forked 1496 -(1496) found -[4589] Forked 1497 -(1497) found -[4588] Forked 1498 -(1498) found -[4587] Forked 1499 -(1499) found -[4586] Forked 1500 -(1500) found -[4585] Forked 1501 -(1501) found -[4584] Forked 1502 -(1502) found -[4583] Forked 1503 -(1503) found -[4582] Forked 1504 -(1504) found -[4581] Forked 1505 -(1505) found -[4580] Forked 1506 -(1506) found -[4579] Forked 1507 -(1507) found -[4578] Forked 1508 -(1508) found -[4577] Forked 1509 -(1509) found -[4576] Forked 1510 -(1510) found -[4575] Forked 1511 -(1511) found -[4574] Forked 1512 -(1512) found -[4573] Forked 1513 -(1513) found -[4572] Forked 1514 -(1514) found -[4571] Forked 1515 -[4570] Forked 1516 -(1515) found -(1516) found -[4569] Forked 1517 -[4568] Forked 1518 -(1517) found -(1518) found -[4567] Forked 1519 -(1519) found -[4566] Forked 1520 -[4565] Forked 1521 -(1520) found -(1521) found -[4564] Forked 1522 -[4563] Forked 1523 -(1522) found -(1523) found -[4562] Forked 1524 -[4561] Forked 1525 -(1524) found -(1525) found -[4560] Forked 1526 -[4559] Forked 1527 -(1526) found -(1527) found -[4558] Forked 1528 -[4557] Forked 1529 -(1528) found -(1529) found -[4556] Forked 1530 -[4555] Forked 1531 -(1530) found -(1531) found -[4554] Forked 1532 -[4553] Forked 1533 -(1532) found -(1533) found -[4552] Forked 1534 -[4551] Forked 1535 -(1534) found -(1535) found -[4550] Forked 1536 -[4549] Forked 1537 -(1536) found -(1537) found -[4548] Forked 1538 -[4547] Forked 1539 -(1538) found -(1539) found -[4546] Forked 1540 -[4545] Forked 1541 -(1540) found -(1541) found -[4544] Forked 1542 -[4543] Forked 1543 -(1542) found -(1543) found -[4542] Forked 1544 -[4541] Forked 1545 -(1544) found -(1545) found -[4540] Forked 1546 -[4539] Forked 1547 -(1546) found -(1547) found -[4538] Forked 1548 -[4537] Forked 1549 -(1548) found -(1549) found -[4536] Forked 1550 -[4535] Forked 1551 -(1550) found -(1551) found -[4534] Forked 1552 -[4533] Forked 1553 -(1552) found -(1553) found -[4532] Forked 1554 -[4531] Forked 1555 -(1554) found -(1555) found -[4530] Forked 1556 -[4529] Forked 1557 -(1556) found -(1557) found -[4528] Forked 1558 -[4527] Forked 1559 -(1558) found -(1559) found -[4526] Forked 1560 -[4525] Forked 1561 -(1560) found -(1561) found -[4524] Forked 1562 -[4523] Forked 1563 -(1562) found -(1563) found -[4522] Forked 1564 -[4521] Forked 1565 -(1564) found -(1565) found -[4520] Forked 1566 -[4519] Forked 1567 -(1566) found -(1567) found -[4518] Forked 1568 -[4517] Forked 1569 -(1568) found -(1569) found -[4516] Forked 1570 -[4515] Forked 1571 -(1570) found -(1571) found -[4514] Forked 1572 -[4513] Forked 1573 -(1572) found -(1573) found -[4512] Forked 1574 -[4511] Forked 1575 -(1574) found -(1575) found -[4510] Forked 1576 -[4509] Forked 1577 -(1576) found -(1577) found -[4508] Forked 1578 -[4507] Forked 1579 -(1578) found -(1579) found -[4506] Forked 1580 -[4505] Forked 1581 -(1580) found -(1581) found -[4504] Forked 1582 -[4503] Forked 1583 -(1582) found -(1583) found -[4502] Forked 1584 -[4501] Forked 1585 -(1584) found -(1585) found -[4500] Forked 1586 -[4499] Forked 1587 -(1586) found -(1587) found -[4498] Forked 1588 -[4497] Forked 1589 -(1588) found -(1589) found -[4496] Forked 1590 -[4495] Forked 1591 -(1590) found -(1591) found -[4494] Forked 1592 -[4493] Forked 1593 -(1592) found -(1593) found -[4492] Forked 1595 -[4491] Forked 1596 -(1595) found -(1596) found -[4490] Forked 1597 -[4489] Forked 1598 -(1597) found -(1598) found -[4488] Forked 1599 -[4487] Forked 1600 -(1599) found -(1600) found -[4486] Forked 1601 -[4485] Forked 1602 -(1601) found -(1602) found -[4484] Forked 1603 -[4483] Forked 1604 -(1603) found -(1604) found -[4482] Forked 1605 -[4481] Forked 1606 -(1605) found -(1606) found -[4480] Forked 1607 -[4479] Forked 1608 -(1607) found -(1608) found -[4478] Forked 1609 -[4477] Forked 1611 -(1609) found -(1611) found -[4476] Forked 1612 -(1612) found -[4475] Forked 1613 -(1613) found -[4474] Forked 1614 -(1614) found -[4473] Forked 1615 -(1615) found -[4472] Forked 1616 -(1616) found -[4471] Forked 1617 -(1617) found -[4470] Forked 1618 -(1618) found -[4469] Forked 1619 -(1619) found -[4468] Forked 1620 -(1620) found -[4467] Forked 1621 -(1621) found -[4466] Forked 1622 -(1622) found -[4465] Forked 1623 -(1623) found -[4464] Forked 1624 -(1624) found -[4463] Forked 1625 -(1625) found -[4462] Forked 1626 -(1626) found -[4461] Forked 1627 -(1627) found -[4460] Forked 1628 -(1628) found -[4459] Forked 1629 -(1629) found -[4458] Forked 1630 -(1630) found -[4457] Forked 1631 -(1631) found -[4456] Forked 1632 -(1632) found -[4455] Forked 1633 -(1633) found -[4454] Forked 1634 -(1634) found -[4453] Forked 1635 -(1635) found -[4452] Forked 1636 -(1636) found -[4451] Forked 1637 -(1637) found -[4450] Forked 1638 -(1638) found -[4449] Forked 1639 -(1639) found -[4448] Forked 1640 -(1640) found -[4447] Forked 1641 -(1641) found -[4446] Forked 1642 -(1642) found -[4445] Forked 1643 -(1643) found -[4444] Forked 1644 -(1644) found -[4443] Forked 1645 -(1645) found -[4442] Forked 1646 -(1646) found -[4441] Forked 1647 -(1647) found -[4440] Forked 1648 -(1648) found -[4439] Forked 1649 -(1649) found -[4438] Forked 1650 -(1650) found -[4437] Forked 1651 -(1651) found -[4436] Forked 1652 -(1652) found -[4435] Forked 1653 -(1653) found -[4434] Forked 1654 -(1654) found -[4433] Forked 1655 -(1655) found -[4432] Forked 1656 -(1656) found -[4431] Forked 1657 -(1657) found -[4430] Forked 1658 -(1658) found -[4429] Forked 1659 -(1659) found -[4428] Forked 1660 -(1660) found -[4427] Forked 1661 -(1661) found -[4426] Forked 1662 -(1662) found -[4425] Forked 1663 -(1663) found -[4424] Forked 1664 -(1664) found -[4423] Forked 1665 -(1665) found -[4422] Forked 1666 -(1666) found -[4421] Forked 1668 -(1668) found -[4420] Forked 1669 -(1669) found -[4419] Forked 1670 -(1670) found -[4418] Forked 1671 -(1671) found -[4417] Forked 1672 -(1672) found -[4416] Forked 1673 -(1673) found -[4415] Forked 1674 -(1674) found -[4414] Forked 1675 -(1675) found -[4413] Forked 1676 -(1676) found -[4412] Forked 1677 -(1677) found -[4411] Forked 1679 -(1679) found -[4410] Forked 1680 -[4409] Forked 1681 -(1680) found -(1681) found -[4408] Forked 1682 -[4407] Forked 1683 -(1682) found -(1683) found -[4406] Forked 1684 -[4405] Forked 1685 -(1684) found -(1685) found -[4404] Forked 1686 -[4403] Forked 1687 -(1686) found -(1687) found -[4402] Forked 1688 -[4401] Forked 1689 -(1688) found -(1689) found -[4400] Forked 1690 -[4399] Forked 1691 -(1690) found -(1691) found -[4398] Forked 1692 -[4397] Forked 1693 -(1692) found -(1693) found -[4396] Forked 1694 -[4395] Forked 1695 -(1694) found -(1695) found -[4394] Forked 1696 -[4393] Forked 1697 -(1696) found -(1697) found -[4392] Forked 1698 -[4391] Forked 1699 -(1698) found -(1699) found -[4390] Forked 1700 -[4389] Forked 1701 -(1700) found -(1701) found -[4388] Forked 1702 -[4387] Forked 1703 -(1702) found -(1703) found -[4386] Forked 1704 -[4385] Forked 1705 -(1704) found -(1705) found -[4384] Forked 1706 -[4383] Forked 1707 -(1706) found -(1707) found -[4382] Forked 1708 -[4381] Forked 1709 -(1708) found -(1709) found -[4380] Forked 1710 -[4379] Forked 1711 -(1710) found -(1711) found -[4378] Forked 1712 -[4377] Forked 1713 -(1712) found -(1713) found -[4376] Forked 1714 -[4375] Forked 1715 -(1714) found -(1715) found -[4374] Forked 1716 -[4373] Forked 1717 -(1716) found -(1717) found -[4372] Forked 1718 -[4371] Forked 1719 -(1718) found -(1719) found -[4370] Forked 1720 -[4369] Forked 1721 -(1720) found -(1721) found -[4368] Forked 1722 -[4367] Forked 1723 -(1722) found -(1723) found -[4366] Forked 1724 -(1724) found -[4365] Forked 1725 -(1725) found -[4364] Forked 1726 -(1726) found -[4363] Forked 1727 -(1727) found -[4362] Forked 1728 -(1728) found -[4361] Forked 1729 -(1729) found -[4360] Forked 1730 -(1730) found -[4359] Forked 1731 -(1731) found -[4358] Forked 1732 -(1732) found -[4357] Forked 1733 -(1733) found -[4356] Forked 1734 -(1734) found -[4355] Forked 1735 -(1735) found -[4354] Forked 1736 -(1736) found -[4353] Forked 1737 -(1737) found -[4352] Forked 1738 -(1738) found -[4351] Forked 1739 -(1739) found -[4350] Forked 1740 -(1740) found -[4349] Forked 1741 -(1741) found -[4348] Forked 1742 -(1742) found -[4347] Forked 1743 -(1743) found -[4346] Forked 1744 -(1744) found -[4345] Forked 1745 -(1745) found -[4344] Forked 1746 -(1746) found -[4343] Forked 1747 -(1747) found -[4342] Forked 1748 -(1748) found -[4341] Forked 1749 -(1749) found -[4340] Forked 1750 -(1750) found -[4339] Forked 1751 -(1751) found -[4338] Forked 1752 -(1752) found -[4337] Forked 1753 -(1753) found -[4336] Forked 1754 -(1754) found -[4335] Forked 1755 -(1755) found -[4334] Forked 1756 -(1756) found -[4333] Forked 1757 -(1757) found -[4332] Forked 1758 -(1758) found -[4331] Forked 1760 -[4330] Forked 1761 -(1760) found -(1761) found -[4329] Forked 1762 -[4328] Forked 1763 -(1762) found -(1763) found -[4327] Forked 1764 -[4326] Forked 1765 -(1764) found -(1765) found -[4325] Forked 1766 -[4324] Forked 1767 -(1766) found -(1767) found -[4323] Forked 1768 -[4322] Forked 1769 -(1768) found -(1769) found -[4321] Forked 1770 -[4320] Forked 1771 -(1770) found -(1771) found -[4319] Forked 1772 -[4318] Forked 1773 -(1772) found -(1773) found -[4317] Forked 1774 -[4316] Forked 1775 -(1774) found -(1775) found -[4315] Forked 1776 -[4314] Forked 1777 -(1776) found -(1777) found -[4313] Forked 1778 -[4312] Forked 1779 -(1778) found -(1779) found -[4311] Forked 1780 -[4310] Forked 1781 -(1780) found -(1781) found -[4309] Forked 1782 -[4308] Forked 1783 -(1782) found -(1783) found -[4307] Forked 1784 -[4306] Forked 1785 -(1784) found -(1785) found -[4305] Forked 1786 -[4304] Forked 1787 -(1786) found -(1787) found -[4303] Forked 1788 -[4302] Forked 1789 -(1788) found -(1789) found -[4301] Forked 1790 -[4300] Forked 1791 -(1790) found -(1791) found -[4299] Forked 1792 -[4298] Forked 1793 -(1792) found -(1793) found -[4297] Forked 1794 -[4296] Forked 1795 -(1794) found -(1795) found -[4295] Forked 1796 -[4294] Forked 1797 -(1796) found -(1797) found -[4293] Forked 1798 -[4292] Forked 1799 -(1798) found -(1799) found -[4291] Forked 1800 -[4290] Forked 1801 -(1800) found -(1801) found -[4289] Forked 1802 -[4288] Forked 1803 -(1802) found -(1803) found -[4287] Forked 1804 -[4286] Forked 1805 -(1804) found -(1805) found -[4285] Forked 1806 -[4284] Forked 1807 -(1806) found -(1807) found -[4283] Forked 1808 -[4282] Forked 1809 -(1808) found -(1809) found -[4281] Forked 1810 -[4280] Forked 1811 -(1810) found -(1811) found -[4279] Forked 1812 -[4278] Forked 1813 -(1812) found -(1813) found -[4277] Forked 1814 -[4276] Forked 1815 -(1814) found -(1815) found -[4275] Forked 1816 -[4274] Forked 1817 -(1816) found -(1817) found -[4273] Forked 1818 -[4272] Forked 1819 -(1818) found -(1819) found -[4271] Forked 1820 -[4270] Forked 1821 -(1820) found -(1821) found -[4269] Forked 1822 -[4268] Forked 1823 -(1822) found -(1823) found -[4267] Forked 1824 -[4266] Forked 1825 -(1824) found -(1825) found -[4265] Forked 1826 -[4264] Forked 1827 -(1826) found -(1827) found -[4263] Forked 1828 -[4262] Forked 1829 -(1828) found -(1829) found -[4261] Forked 1830 -[4260] Forked 1831 -(1830) found -(1831) found -[4259] Forked 1832 -[4258] Forked 1833 -(1832) found -(1833) found -[4257] Forked 1834 -[4256] Forked 1835 -(1834) found -(1835) found -[4255] Forked 1836 -[4254] Forked 1837 -(1836) found -(1837) found -[4253] Forked 1838 -[4252] Forked 1839 -(1838) found -(1839) found -[4251] Forked 1840 -[4250] Forked 1841 -(1840) found -(1841) found -[4249] Forked 1842 -[4248] Forked 1843 -(1842) found -(1843) found -[4247] Forked 1844 -[4246] Forked 1845 -(1844) found -(1845) found -[4245] Forked 1846 -[4244] Forked 1847 -(1846) found -(1847) found -[4243] Forked 1848 -[4242] Forked 1849 -(1848) found -(1849) found -[4241] Forked 1850 -[4240] Forked 1851 -(1850) found -(1851) found -[4239] Forked 1852 -[4238] Forked 1853 -(1852) found -(1853) found -[4237] Forked 1854 -[4236] Forked 1855 -(1854) found -(1855) found -[4235] Forked 1856 -[4234] Forked 1857 -(1856) found -(1857) found -[4233] Forked 1858 -[4232] Forked 1859 -(1858) found -(1859) found -[4231] Forked 1860 -[4230] Forked 1861 -(1860) found -(1861) found -[4229] Forked 1862 -[4228] Forked 1863 -(1862) found -(1863) found -[4227] Forked 1864 -[4226] Forked 1865 -(1864) found -(1865) found -[4225] Forked 1866 -[4224] Forked 1867 -(1866) found -(1867) found -[4223] Forked 1868 -[4222] Forked 1869 -(1868) found -(1869) found -[4221] Forked 1870 -[4220] Forked 1871 -(1870) found -(1871) found -[4219] Forked 1872 -[4218] Forked 1873 -(1872) found -(1873) found -[4217] Forked 1874 -[4216] Forked 1875 -(1874) found -(1875) found -[4215] Forked 1876 -[4214] Forked 1877 -(1876) found -(1877) found -[4213] Forked 1878 -[4212] Forked 1879 -(1878) found -(1879) found -[4211] Forked 1880 -[4210] Forked 1881 -(1880) found -(1881) found -[4209] Forked 1882 -[4208] Forked 1883 -(1882) found -(1883) found -[4207] Forked 1884 -[4206] Forked 1885 -(1884) found -(1885) found -[4205] Forked 1886 -[4204] Forked 1887 -(1886) found -(1887) found -[4203] Forked 1888 -[4202] Forked 1889 -(1888) found -(1889) found -[4201] Forked 1890 -[4200] Forked 1891 -(1890) found -(1891) found -[4199] Forked 1892 -[4198] Forked 1893 -(1892) found -(1893) found -[4197] Forked 1894 -(1894) found -[4196] Forked 1895 -[4195] Forked 1896 -(1895) found -(1896) found -[4194] Forked 1897 -[4193] Forked 1898 -(1897) found -(1898) found -[4192] Forked 1899 -[4191] Forked 1900 -(1899) found -(1900) found -[4190] Forked 1901 -[4189] Forked 1902 -(1901) found -(1902) found -[4188] Forked 1903 -[4187] Forked 1904 -(1903) found -(1904) found -[4186] Forked 1905 -[4185] Forked 1906 -(1905) found -(1906) found -[4184] Forked 1907 -[4183] Forked 1908 -(1907) found -(1908) found -[4182] Forked 1909 -[4181] Forked 1910 -(1909) found -(1910) found -[4180] Forked 1911 -[4179] Forked 1912 -(1911) found -(1912) found -[4178] Forked 1913 -[4177] Forked 1914 -(1913) found -(1914) found -[4176] Forked 1915 -[4175] Forked 1916 -(1915) found -(1916) found -[4174] Forked 1917 -[4173] Forked 1918 -(1917) found -(1918) found -[4172] Forked 1919 -[4171] Forked 1920 -(1919) found -(1920) found -[4170] Forked 1921 -[4169] Forked 1922 -(1921) found -(1922) found -[4168] Forked 1923 -[4167] Forked 1924 -(1923) found -(1924) found -[4166] Forked 1925 -[4165] Forked 1926 -(1925) found -(1926) found -[4164] Forked 1927 -[4163] Forked 1928 -(1927) found -(1928) found -[4162] Forked 1929 -[4161] Forked 1930 -(1929) found -(1930) found -[4160] Forked 1931 -[4159] Forked 1932 -(1931) found -(1932) found -[4158] Forked 1933 -[4157] Forked 1934 -(1933) found -(1934) found -[4156] Forked 1935 -[4155] Forked 1936 -(1935) found -(1936) found -[4154] Forked 1937 -[4153] Forked 1938 -(1937) found -(1938) found -[4152] Forked 1939 -[4151] Forked 1940 -(1939) found -(1940) found -[4150] Forked 1941 -(1941) found -[4149] Forked 1942 -(1942) found -[4148] Forked 1943 -(1943) found -[4147] Forked 1944 -(1944) found -[4146] Forked 1945 -(1945) found -[4145] Forked 1946 -(1946) found -[4144] Forked 1947 -(1947) found -[4143] Forked 1948 -(1948) found -[4142] Forked 1949 -(1949) found -[4141] Forked 1950 -(1950) found -[4140] Forked 1951 -(1951) found -[4139] Forked 1952 -(1952) found -[4138] Forked 1953 -(1953) found -[4137] Forked 1954 -(1954) found -[4136] Forked 1955 -(1955) found -[4135] Forked 1956 -(1956) found -[4134] Forked 1957 -(1957) found -[4133] Forked 1958 -(1958) found -[4132] Forked 1959 -(1959) found -[4131] Forked 1960 -(1960) found -[4130] Forked 1961 -(1961) found -[4129] Forked 1962 -(1962) found -[4128] Forked 1963 -(1963) found -[4127] Forked 1964 -(1964) found -[4126] Forked 1965 -(1965) found -[4125] Forked 1966 -(1966) found -[4124] Forked 1967 -(1967) found -[4123] Forked 1968 -(1968) found -[4122] Forked 1969 -(1969) found -[4121] Forked 1970 -(1970) found -[4120] Forked 1971 -(1971) found -[4119] Forked 1972 -(1972) found -[4118] Forked 1973 -(1973) found -[4117] Forked 1974 -(1974) found -[4116] Forked 1975 -[4115] Forked 1976 -(1975) found -(1976) found -[4114] Forked 1977 -[4113] Forked 1978 -(1977) found -(1978) found -[4112] Forked 1979 -(1979) found -[4111] Forked 1980 -(1980) found -[4110] Forked 1981 -[4109] Forked 1982 -(1981) found -(1982) found -[4108] Forked 1983 -[4107] Forked 1984 -(1983) found -(1984) found -[4106] Forked 1985 -[4105] Forked 1986 -(1985) found -(1986) found -[4104] Forked 1987 -[4103] Forked 1988 -(1987) found -(1988) found -[4102] Forked 1989 -[4101] Forked 1990 -(1989) found -(1990) found -[4100] Forked 1991 -[4099] Forked 1992 -(1991) found -(1992) found -[4098] Forked 1993 -[4097] Forked 1994 -(1993) found -(1994) found -[4096] Forked 1995 -[4095] Forked 1996 -(1995) found -(1996) found -[4094] Forked 1997 -[4093] Forked 1998 -(1997) found -(1998) found -[4092] Forked 1999 -[4091] Forked 2000 -(1999) found -(2000) found -[4090] Forked 2001 -[4089] Forked 2002 -(2001) found -(2002) found -[4088] Forked 2003 -[4087] Forked 2004 -(2003) found -(2004) found -[4086] Forked 2005 -[4085] Forked 2006 -(2005) found -(2006) found -[4084] Forked 2007 -[4083] Forked 2008 -(2007) found -(2008) found -[4082] Forked 2009 -[4081] Forked 2010 -(2009) found -(2010) found -[4080] Forked 2011 -[4079] Forked 2012 -(2011) found -(2012) found -[4078] Forked 2013 -[4077] Forked 2014 -(2013) found -(2014) found -[4076] Forked 2015 -[4075] Forked 2016 -(2015) found -(2016) found -[4074] Forked 2017 -[4073] Forked 2018 -(2017) found -(2018) found -[4072] Forked 2019 -[4071] Forked 2020 -(2019) found -(2020) found -[4070] Forked 2021 -[4069] Forked 2022 -(2021) found -(2022) found -[4068] Forked 2023 -[4067] Forked 2024 -(2023) found -(2024) found -[4066] Forked 2025 -[4065] Forked 2026 -(2025) found -(2026) found -[4064] Forked 2027 -[4063] Forked 2028 -(2027) found -(2028) found -[4062] Forked 2029 -[4061] Forked 2030 -(2029) found -(2030) found -[4060] Forked 2031 -[4059] Forked 2032 -(2031) found -(2032) found -[4058] Forked 2033 -[4057] Forked 2034 -(2033) found -(2034) found -[4056] Forked 2035 -[4055] Forked 2036 -(2035) found -(2036) found -[4054] Forked 2037 -[4053] Forked 2038 -(2037) found -(2038) found -[4052] Forked 2039 -[4051] Forked 2040 -(2039) found -(2040) found -[4050] Forked 2041 -[4049] Forked 2042 -(2041) found -(2042) found -[4048] Forked 2043 -[4047] Forked 2044 -(2043) found -(2044) found -[4046] Forked 2045 -[4045] Forked 2046 -(2045) found -(2046) found -[4044] Forked 2047 -[4043] Forked 2048 -(2047) found -(2048) found -[4042] Forked 2049 -[4041] Forked 2050 -(2049) found -(2050) found -[4040] Forked 2051 -[4039] Forked 2052 -(2051) found -(2052) found -[4038] Forked 2053 -[4037] Forked 2054 -(2053) found -(2054) found -[4036] Forked 2055 -[4035] Forked 2056 -(2055) found -(2056) found -[4034] Forked 2057 -[4033] Forked 2058 -(2057) found -(2058) found -[4032] Forked 2059 -[4031] Forked 2060 -(2059) found -(2060) found -[4030] Forked 2061 -[4029] Forked 2062 -(2061) found -(2062) found -[4028] Forked 2063 -[4027] Forked 2064 -(2063) found -(2064) found -[4026] Forked 2065 -[4025] Forked 2066 -(2065) found -(2066) found -[4024] Forked 2067 -[4023] Forked 2068 -(2067) found -(2068) found -[4022] Forked 2070 -[4021] Forked 2071 -(2070) found -(2071) found -[4020] Forked 2072 -[4019] Forked 2073 -(2072) found -(2073) found -[4018] Forked 2074 -[4017] Forked 2075 -(2074) found -(2075) found -[4016] Forked 2076 -[4015] Forked 2077 -(2076) found -(2077) found -[4014] Forked 2078 -[4013] Forked 2079 -(2078) found -(2079) found -[4012] Forked 2080 -[4011] Forked 2081 -(2080) found -(2081) found -[4010] Forked 2082 -[4009] Forked 2083 -(2082) found -(2083) found -[4008] Forked 2084 -[4007] Forked 2085 -(2084) found -(2085) found -[4006] Forked 2086 -[4005] Forked 2087 -(2086) found -(2087) found -[4004] Forked 2088 -[4003] Forked 2089 -(2088) found -(2089) found -[4002] Forked 2090 -[4001] Forked 2091 -(2090) found -(2091) found -[4000] Forked 2092 -[3999] Forked 2093 -(2092) found -(2093) found -[3998] Forked 2094 -[3997] Forked 2095 -(2094) found -(2095) found -[3996] Forked 2096 -[3995] Forked 2097 -(2096) found -(2097) found -[3994] Forked 2098 -[3993] Forked 2099 -(2098) found -(2099) found -[3992] Forked 2100 -[3991] Forked 2101 -(2100) found -(2101) found -[3990] Forked 2102 -[3989] Forked 2103 -(2102) found -(2103) found -[3988] Forked 2104 -[3987] Forked 2105 -(2104) found -(2105) found -[3986] Forked 2106 -[3985] Forked 2109 -(2106) found -(2109) found -[3984] Forked 2110 -[3983] Forked 2111 -(2110) found -(2111) found -[3982] Forked 2112 -[3981] Forked 2113 -(2112) found -(2113) found -[3980] Forked 2114 -[3979] Forked 2115 -(2114) found -(2115) found -[3978] Forked 2116 -[3977] Forked 2117 -(2116) found -(2117) found -[3976] Forked 2118 -[3975] Forked 2119 -(2118) found -(2119) found -[3974] Forked 2120 -[3973] Forked 2121 -(2120) found -(2121) found -[3972] Forked 2122 -[3971] Forked 2123 -(2122) found -(2123) found -[3970] Forked 2124 -[3969] Forked 2125 -(2124) found -(2125) found -[3968] Forked 2126 -[3967] Forked 2127 -(2126) found -(2127) found -[3966] Forked 2128 -[3965] Forked 2129 -(2128) found -(2129) found -[3964] Forked 2130 -[3963] Forked 2131 -(2130) found -(2131) found -[3962] Forked 2132 -[3961] Forked 2133 -(2132) found -(2133) found -[3960] Forked 2134 -[3959] Forked 2135 -(2134) found -(2135) found -[3958] Forked 2136 -[3957] Forked 2137 -(2136) found -(2137) found -[3956] Forked 2138 -[3955] Forked 2139 -(2138) found -(2139) found -[3954] Forked 2140 -[3953] Forked 2141 -(2140) found -(2141) found -[3952] Forked 2142 -[3951] Forked 2143 -(2142) found -(2143) found -[3950] Forked 2144 -[3949] Forked 2145 -(2144) found -(2145) found -[3948] Forked 2146 -[3947] Forked 2147 -(2146) found -(2147) found -[3946] Forked 2148 -[3945] Forked 2149 -(2148) found -(2149) found -[3944] Forked 2150 -[3943] Forked 2151 -(2150) found -(2151) found -[3942] Forked 2152 -[3941] Forked 2153 -(2152) found -(2153) found -[3940] Forked 2154 -[3939] Forked 2155 -(2154) found -(2155) found -[3938] Forked 2156 -[3937] Forked 2157 -(2156) found -(2157) found -[3936] Forked 2158 -[3935] Forked 2159 -(2158) found -(2159) found -[3934] Forked 2160 -[3933] Forked 2161 -(2160) found -(2161) found -[3932] Forked 2162 -[3931] Forked 2163 -(2162) found -(2163) found -[3930] Forked 2164 -[3929] Forked 2165 -(2164) found -(2165) found -[3928] Forked 2166 -[3927] Forked 2167 -(2166) found -(2167) found -[3926] Forked 2168 -[3925] Forked 2169 -(2168) found -(2169) found -[3924] Forked 2170 -[3923] Forked 2171 -(2170) found -(2171) found -[3922] Forked 2172 -[3921] Forked 2173 -(2172) found -(2173) found -[3920] Forked 2174 -[3919] Forked 2175 -(2174) found -(2175) found -[3918] Forked 2176 -[3917] Forked 2177 -(2176) found -(2177) found -[3916] Forked 2178 -[3915] Forked 2179 -(2178) found -(2179) found -[3914] Forked 2180 -[3913] Forked 2181 -(2180) found -(2181) found -[3912] Forked 2182 -[3911] Forked 2183 -(2182) found -(2183) found -[3910] Forked 2184 -[3909] Forked 2185 -(2184) found -(2185) found -[3908] Forked 2186 -[3907] Forked 2187 -(2186) found -(2187) found -[3906] Forked 2188 -[3905] Forked 2189 -(2188) found -(2189) found -[3904] Forked 2190 -[3903] Forked 2191 -(2190) found -(2191) found -[3902] Forked 2192 -[3901] Forked 2193 -(2192) found -(2193) found -[3900] Forked 2194 -[3899] Forked 2195 -(2194) found -(2195) found -[3898] Forked 2196 -[3897] Forked 2197 -(2196) found -(2197) found -[3896] Forked 2198 -[3895] Forked 2199 -(2198) found -(2199) found -[3894] Forked 2200 -[3893] Forked 2201 -(2200) found -(2201) found -[3892] Forked 2202 -(2202) found -[3891] Forked 2203 -[3890] Forked 2204 -(2203) found -(2204) found -[3889] Forked 2205 -[3888] Forked 2206 -(2205) found -(2206) found -[3887] Forked 2207 -[3886] Forked 2208 -(2207) found -(2208) found -[3885] Forked 2209 -[3884] Forked 2210 -(2209) found -(2210) found -[3883] Forked 2211 -[3882] Forked 2212 -(2211) found -(2212) found -[3881] Forked 2213 -[3880] Forked 2214 -(2213) found -(2214) found -[3879] Forked 2215 -[3878] Forked 2216 -(2215) found -(2216) found -[3877] Forked 2217 -[3876] Forked 2218 -(2217) found -(2218) found -[3875] Forked 2219 -[3874] Forked 2220 -(2219) found -(2220) found -[3873] Forked 2221 -[3872] Forked 2222 -(2221) found -(2222) found -[3871] Forked 2223 -[3870] Forked 2224 -(2223) found -(2224) found -[3869] Forked 2225 -[3868] Forked 2226 -(2225) found -(2226) found -[3867] Forked 2227 -[3866] Forked 2228 -(2227) found -(2228) found -[3865] Forked 2229 -[3864] Forked 2230 -(2229) found -(2230) found -[3863] Forked 2231 -[3862] Forked 2232 -(2231) found -(2232) found -[3861] Forked 2233 -[3860] Forked 2234 -(2233) found -(2234) found -[3859] Forked 2235 -[3858] Forked 2236 -(2235) found -(2236) found -[3857] Forked 2237 -[3856] Forked 2238 -(2237) found -(2238) found -[3855] Forked 2239 -[3854] Forked 2240 -(2239) found -(2240) found -[3853] Forked 2241 -[3852] Forked 2242 -(2241) found -(2242) found -[3851] Forked 2243 -[3850] Forked 2244 -(2243) found -(2244) found -[3849] Forked 2245 -[3848] Forked 2246 -(2245) found -(2246) found -[3847] Forked 2247 -[3846] Forked 2248 -(2247) found -(2248) found -[3845] Forked 2249 -[3844] Forked 2250 -(2249) found -(2250) found -[3843] Forked 2251 -[3842] Forked 2252 -(2251) found -(2252) found -[3841] Forked 2253 -[3840] Forked 2254 -(2253) found -(2254) found -[3839] Forked 2255 -[3838] Forked 2256 -(2255) found -(2256) found -[3837] Forked 2257 -[3836] Forked 2258 -(2257) found -(2258) found -[3835] Forked 2259 -[3834] Forked 2260 -(2259) found -(2260) found -[3833] Forked 2261 -[3832] Forked 2265 -(2261) found -(2265) found -[3831] Forked 2266 -[3830] Forked 2267 -(2266) found -(2267) found -[3829] Forked 2268 -[3828] Forked 2269 -(2268) found -(2269) found -[3827] Forked 2270 -[3826] Forked 2271 -(2270) found -(2271) found -[3825] Forked 2272 -[3824] Forked 2273 -(2272) found -(2273) found -[3823] Forked 2274 -[3822] Forked 2275 -(2274) found -(2275) found -[3821] Forked 2276 -[3820] Forked 2277 -(2276) found -(2277) found -[3819] Forked 2278 -[3818] Forked 2279 -(2278) found -(2279) found -[3817] Forked 2280 -[3816] Forked 2281 -(2280) found -(2281) found -[3815] Forked 2282 -[3814] Forked 2283 -(2282) found -(2283) found -[3813] Forked 2284 -[3812] Forked 2285 -(2284) found -(2285) found -[3811] Forked 2286 -[3810] Forked 2287 -(2286) found -(2287) found -[3809] Forked 2288 -[3808] Forked 2289 -(2288) found -(2289) found -[3807] Forked 2290 -[3806] Forked 2291 -(2290) found -(2291) found -[3805] Forked 2292 -[3804] Forked 2293 -(2292) found -(2293) found -[3803] Forked 2294 -[3802] Forked 2295 -(2294) found -(2295) found -[3801] Forked 2296 -(2296) found -[3800] Forked 2297 -(2297) found -[3799] Forked 2298 -(2298) found -[3798] Forked 2299 -(2299) found -[3797] Forked 2300 -(2300) found -[3796] Forked 2301 -(2301) found -[3795] Forked 2302 -(2302) found -[3794] Forked 2303 -(2303) found -[3793] Forked 2304 -(2304) found -[3792] Forked 2305 -(2305) found -[3791] Forked 2306 -(2306) found -[3790] Forked 2307 -(2307) found -[3789] Forked 2308 -(2308) found -[3788] Forked 2309 -(2309) found -[3787] Forked 2310 -(2310) found -[3786] Forked 2311 -(2311) found -[3785] Forked 2312 -(2312) found -[3784] Forked 2313 -(2313) found -[3783] Forked 2314 -(2314) found -[3782] Forked 2315 -(2315) found -[3781] Forked 2316 -(2316) found -[3780] Forked 2317 -(2317) found -[3779] Forked 2318 -(2318) found -[3778] Forked 2319 -(2319) found -[3777] Forked 2320 -(2320) found -[3776] Forked 2321 -(2321) found -[3775] Forked 2322 -(2322) found -[3774] Forked 2323 -(2323) found -[3773] Forked 2324 -(2324) found -[3772] Forked 2325 -(2325) found -[3771] Forked 2326 -(2326) found -[3770] Forked 2327 -(2327) found -[3769] Forked 2328 -(2328) found -[3768] Forked 2329 -(2329) found -[3767] Forked 2330 -[3766] Forked 2331 -(2330) found -(2331) found -[3765] Forked 2332 -[3764] Forked 2333 -(2332) found -(2333) found -[3763] Forked 2334 -[3762] Forked 2335 -(2334) found -(2335) found -[3761] Forked 2336 -[3760] Forked 2337 -(2336) found -(2337) found -[3759] Forked 2338 -[3758] Forked 2339 -(2338) found -(2339) found -[3757] Forked 2340 -[3756] Forked 2341 -(2340) found -(2341) found -[3755] Forked 2342 -[3754] Forked 2343 -(2342) found -(2343) found -[3753] Forked 2344 -[3752] Forked 2345 -(2344) found -(2345) found -[3751] Forked 2346 -[3750] Forked 2347 -(2346) found -(2347) found -[3749] Forked 2348 -[3748] Forked 2349 -(2348) found -(2349) found -[3747] Forked 2350 -[3746] Forked 2351 -(2350) found -(2351) found -[3745] Forked 2352 -[3744] Forked 2353 -(2352) found -(2353) found -[3743] Forked 2354 -[3742] Forked 2355 -(2354) found -(2355) found -[3741] Forked 2356 -[3740] Forked 2357 -(2356) found -(2357) found -[3739] Forked 2358 -[3738] Forked 2359 -(2358) found -(2359) found -[3737] Forked 2360 -[3736] Forked 2361 -(2360) found -(2361) found -[3735] Forked 2362 -[3734] Forked 2363 -(2362) found -(2363) found -[3733] Forked 2364 -[3732] Forked 2365 -(2364) found -(2365) found -[3731] Forked 2366 -[3730] Forked 2367 -(2366) found -(2367) found -[3729] Forked 2368 -[3728] Forked 2369 -(2368) found -(2369) found -[3727] Forked 2370 -[3726] Forked 2371 -(2370) found -(2371) found -[3725] Forked 2372 -[3724] Forked 2373 -(2372) found -(2373) found -[3723] Forked 2374 -[3722] Forked 2375 -(2374) found -(2375) found -[3721] Forked 2376 -(2376) found -[3720] Forked 2377 -(2377) found -[3719] Forked 2378 -(2378) found -[3718] Forked 2379 -(2379) found -[3717] Forked 2380 -(2380) found -[3716] Forked 2381 -(2381) found -[3715] Forked 2382 -(2382) found -[3714] Forked 2383 -(2383) found -[3713] Forked 2384 -(2384) found -[3712] Forked 2385 -(2385) found -[3711] Forked 2386 -(2386) found -[3710] Forked 2387 -(2387) found -[3709] Forked 2388 -(2388) found -[3708] Forked 2389 -(2389) found -[3707] Forked 2390 -(2390) found -[3706] Forked 2391 -(2391) found -[3705] Forked 2392 -(2392) found -[3704] Forked 2393 -(2393) found -[3703] Forked 2394 -(2394) found -[3702] Forked 2395 -(2395) found -[3701] Forked 2396 -(2396) found -[3700] Forked 2397 -(2397) found -[3699] Forked 2398 -(2398) found -[3698] Forked 2399 -(2399) found -[3697] Forked 2400 -(2400) found -[3696] Forked 2401 -(2401) found -[3695] Forked 2402 -(2402) found -[3694] Forked 2404 -(2404) found -[3693] Forked 2405 -(2405) found -[3692] Forked 2406 -(2406) found -[3691] Forked 2407 -(2407) found -[3690] Forked 2408 -(2408) found -[3689] Forked 2409 -(2409) found -[3688] Forked 2410 -(2410) found -[3687] Forked 2411 -[3686] Forked 2412 -(2411) found -(2412) found -[3685] Forked 2413 -[3684] Forked 2414 -(2413) found -(2414) found -[3683] Forked 2415 -[3682] Forked 2416 -(2415) found -(2416) found -[3681] Forked 2417 -[3680] Forked 2418 -(2417) found -(2418) found -[3679] Forked 2419 -[3678] Forked 2420 -(2419) found -(2420) found -[3677] Forked 2421 -[3676] Forked 2422 -(2421) found -(2422) found -[3675] Forked 2423 -[3674] Forked 2424 -(2423) found -(2424) found -[3673] Forked 2425 -[3672] Forked 2426 -(2425) found -(2426) found -[3671] Forked 2427 -[3670] Forked 2428 -(2427) found -(2428) found -[3669] Forked 2429 -[3668] Forked 2430 -(2429) found -(2430) found -[3667] Forked 2431 -[3666] Forked 2432 -(2431) found -(2432) found -[3665] Forked 2433 -[3664] Forked 2434 -(2433) found -(2434) found -[3663] Forked 2435 -[3662] Forked 2436 -(2435) found -(2436) found -[3661] Forked 2437 -[3660] Forked 2438 -(2437) found -(2438) found -[3659] Forked 2439 -[3658] Forked 2440 -(2439) found -(2440) found -[3657] Forked 2441 -[3656] Forked 2442 -(2441) found -(2442) found -[3655] Forked 2443 -[3654] Forked 2444 -(2443) found -(2444) found -[3653] Forked 2445 -[3652] Forked 2446 -(2445) found -(2446) found -[3651] Forked 2447 -[3650] Forked 2448 -(2447) found -(2448) found -[3649] Forked 2449 -[3648] Forked 2450 -(2449) found -(2450) found -[3647] Forked 2451 -[3646] Forked 2452 -(2451) found -(2452) found -[3645] Forked 2453 -[3644] Forked 2454 -(2453) found -(2454) found -[3643] Forked 2455 -[3642] Forked 2456 -(2455) found -(2456) found -[3641] Forked 2457 -(2457) found -[3640] Forked 2458 -(2458) found -[3639] Forked 2459 -(2459) found -[3638] Forked 2460 -(2460) found -[3637] Forked 2461 -(2461) found -[3636] Forked 2462 -(2462) found -[3635] Forked 2463 -(2463) found -[3634] Forked 2464 -(2464) found -[3633] Forked 2465 -(2465) found -[3632] Forked 2466 -(2466) found -[3631] Forked 2467 -(2467) found -[3630] Forked 2468 -(2468) found -[3629] Forked 2469 -(2469) found -[3628] Forked 2470 -(2470) found -[3627] Forked 2471 -(2471) found -[3626] Forked 2472 -(2472) found -[3625] Forked 2473 -(2473) found -[3624] Forked 2474 -(2474) found -[3623] Forked 2475 -(2475) found -[3622] Forked 2476 -(2476) found -[3621] Forked 2477 -(2477) found -[3620] Forked 2478 -(2478) found -[3619] Forked 2479 -(2479) found -[3618] Forked 2480 -(2480) found -[3617] Forked 2481 -(2481) found -[3616] Forked 2482 -(2482) found -[3615] Forked 2483 -(2483) found -[3614] Forked 2484 -(2484) found -[3613] Forked 2485 -(2485) found -[3612] Forked 2486 -(2486) found -[3611] Forked 2487 -(2487) found -[3610] Forked 2488 -(2488) found -[3609] Forked 2489 -(2489) found -[3608] Forked 2490 -(2490) found -[3607] Forked 2491 -[3606] Forked 2492 -(2491) found -(2492) found -[3605] Forked 2493 -[3604] Forked 2494 -(2493) found -(2494) found -[3603] Forked 2495 -[3602] Forked 2496 -(2495) found -(2496) found -[3601] Forked 2497 -[3600] Forked 2498 -(2497) found -(2498) found -[3599] Forked 2499 -[3598] Forked 2500 -(2499) found -(2500) found -[3597] Forked 2501 -[3596] Forked 2502 -(2501) found -(2502) found -[3595] Forked 2503 -[3594] Forked 2504 -(2503) found -(2504) found -[3593] Forked 2505 -[3592] Forked 2506 -(2505) found -(2506) found -[3591] Forked 2507 -[3590] Forked 2508 -(2507) found -(2508) found -[3589] Forked 2509 -[3588] Forked 2510 -(2509) found -(2510) found -[3587] Forked 2512 -[3586] Forked 2513 -(2512) found -(2513) found -[3585] Forked 2514 -[3584] Forked 2515 -(2514) found -(2515) found -[3583] Forked 2516 -[3582] Forked 2517 -(2516) found -(2517) found -[3581] Forked 2518 -[3580] Forked 2519 -(2518) found -(2519) found -[3579] Forked 2520 -[3578] Forked 2521 -(2520) found -(2521) found -[3577] Forked 2522 -[3576] Forked 2523 -(2522) found -(2523) found -[3575] Forked 2525 -[3574] Forked 2526 -(2525) found -(2526) found -[3573] Forked 2527 -[3572] Forked 2528 -(2527) found -(2528) found -[3571] Forked 2529 -[3570] Forked 2530 -(2529) found -(2530) found -[3569] Forked 2531 -[3568] Forked 2532 -(2531) found -(2532) found -[3567] Forked 2533 -[3566] Forked 2534 -(2533) found -(2534) found -[3565] Forked 2535 -[3564] Forked 2536 -(2535) found -(2536) found -[3563] Forked 2537 -[3562] Forked 2538 -(2537) found -(2538) found -[3561] Forked 2539 -[3560] Forked 2541 -(2539) found -(2541) found -[3559] Forked 2542 -[3558] Forked 2543 -(2542) found -(2543) found -[3557] Forked 2544 -[3556] Forked 2545 -(2544) found -(2545) found -[3555] Forked 2546 -[3554] Forked 2547 -(2546) found -(2547) found -[3553] Forked 2548 -[3552] Forked 2549 -(2548) found -(2549) found -[3551] Forked 2550 -[3550] Forked 2551 -(2550) found -(2551) found -[3549] Forked 2552 -[3548] Forked 2553 -(2552) found -(2553) found -[3547] Forked 2554 -[3546] Forked 2555 -(2554) found -(2555) found -[3545] Forked 2556 -[3544] Forked 2557 -(2556) found -(2557) found -[3543] Forked 2558 -[3542] Forked 2559 -(2558) found -(2559) found -[3541] Forked 2560 -[3540] Forked 2561 -(2560) found -(2561) found -[3539] Forked 2562 -[3538] Forked 2563 -(2562) found -(2563) found -[3537] Forked 2564 -[3536] Forked 2565 -(2564) found -(2565) found -[3535] Forked 2566 -[3534] Forked 2567 -(2566) found -(2567) found -[3533] Forked 2568 -[3532] Forked 2569 -(2568) found -(2569) found -[3531] Forked 2570 -[3530] Forked 2571 -(2570) found -(2571) found -[3529] Forked 2572 -[3528] Forked 2573 -(2572) found -(2573) found -[3527] Forked 2574 -[3526] Forked 2575 -(2574) found -(2575) found -[3525] Forked 2576 -[3524] Forked 2577 -(2576) found -(2577) found -[3523] Forked 2578 -[3522] Forked 2579 -(2578) found -(2579) found -[3521] Forked 2580 -[3520] Forked 2581 -(2580) found -(2581) found -[3519] Forked 2582 -(2582) found -[3518] Forked 2583 -(2583) found -[3517] Forked 2584 -(2584) found -[3516] Forked 2585 -(2585) found -[3515] Forked 2586 -(2586) found -[3514] Forked 2587 -(2587) found -[3513] Forked 2588 -(2588) found -[3512] Forked 2589 -(2589) found -[3511] Forked 2590 -(2590) found -[3510] Forked 2591 -(2591) found -[3509] Forked 2592 -(2592) found -[3508] Forked 2593 -(2593) found -[3507] Forked 2594 -(2594) found -[3506] Forked 2595 -(2595) found -[3505] Forked 2596 -(2596) found -[3504] Forked 2597 -(2597) found -[3503] Forked 2598 -(2598) found -[3502] Forked 2599 -(2599) found -[3501] Forked 2600 -(2600) found -[3500] Forked 2601 -(2601) found -[3499] Forked 2602 -(2602) found -[3498] Forked 2603 -(2603) found -[3497] Forked 2604 -(2604) found -[3496] Forked 2605 -(2605) found -[3495] Forked 2606 -(2606) found -[3494] Forked 2607 -(2607) found -[3493] Forked 2608 -(2608) found -[3492] Forked 2609 -(2609) found -[3491] Forked 2610 -(2610) found -[3490] Forked 2611 -(2611) found -[3489] Forked 2612 -(2612) found -[3488] Forked 2613 -(2613) found -[3487] Forked 2614 -(2614) found -[3486] Forked 2615 -(2615) found -[3485] Forked 2616 -(2616) found -[3484] Forked 2617 -(2617) found -[3483] Forked 2618 -[3482] Forked 2619 -(2618) found -(2619) found -[3481] Forked 2620 -[3480] Forked 2621 -(2620) found -(2621) found -[3479] Forked 2622 -(2622) found -[3478] Forked 2623 -[3477] Forked 2624 -(2623) found -(2624) found -[3476] Forked 2625 -[3475] Forked 2626 -(2625) found -(2626) found -[3474] Forked 2627 -[3473] Forked 2628 -(2627) found -(2628) found -[3472] Forked 2629 -[3471] Forked 2630 -(2629) found -(2630) found -[3470] Forked 2631 -[3469] Forked 2632 -(2631) found -(2632) found -[3468] Forked 2633 -[3467] Forked 2634 -(2633) found -(2634) found -[3466] Forked 2635 -[3465] Forked 2636 -(2635) found -(2636) found -[3464] Forked 2637 -[3463] Forked 2638 -(2637) found -(2638) found -[3462] Forked 2639 -[3461] Forked 2640 -(2639) found -(2640) found -[3460] Forked 2641 -[3459] Forked 2642 -(2641) found -(2642) found -[3458] Forked 2643 -[3457] Forked 2644 -(2643) found -(2644) found -[3456] Forked 2645 -[3455] Forked 2646 -(2645) found -(2646) found -[3454] Forked 2647 -[3453] Forked 2648 -(2647) found -(2648) found -[3452] Forked 2649 -[3451] Forked 2650 -(2649) found -(2650) found -[3450] Forked 2651 -[3449] Forked 2652 -(2651) found -(2652) found -[3448] Forked 2653 -[3447] Forked 2654 -(2653) found -(2654) found -[3446] Forked 2655 -[3445] Forked 2659 -(2655) found -(2659) found -[3444] Forked 2662 -[3443] Forked 2663 -(2662) found -(2663) found -[3442] Forked 2664 -[3441] Forked 2665 -(2664) found -(2665) found -[3440] Forked 2666 -(2666) found -[3439] Forked 2668 -(2668) found -[3438] Forked 2669 -(2669) found -[3437] Forked 2670 -(2670) found -[3436] Forked 2671 -(2671) found -[3435] Forked 2672 -(2672) found -[3434] Forked 2673 -(2673) found -[3433] Forked 2674 -(2674) found -[3432] Forked 2675 -(2675) found -[3431] Forked 2676 -(2676) found -[3430] Forked 2677 -(2677) found -[3429] Forked 2678 -(2678) found -[3428] Forked 2679 -(2679) found -[3427] Forked 2680 -(2680) found -[3426] Forked 2681 -(2681) found -[3425] Forked 2682 -(2682) found -[3424] Forked 2683 -(2683) found -[3423] Forked 2684 -(2684) found -[3422] Forked 2685 -(2685) found -[3421] Forked 2686 -(2686) found -[3420] Forked 2687 -(2687) found -[3419] Forked 2688 -(2688) found -[3418] Forked 2689 -(2689) found -[3417] Forked 2690 -(2690) found -[3416] Forked 2691 -(2691) found -[3415] Forked 2692 -(2692) found -[3414] Forked 2693 -(2693) found -[3413] Forked 2694 -(2694) found -[3412] Forked 2695 -(2695) found -[3411] Forked 2696 -(2696) found -[3410] Forked 2697 -(2697) found -[3409] Forked 2698 -(2698) found -[3408] Forked 2699 -(2699) found -[3407] Forked 2700 -(2700) found -[3406] Forked 2701 -(2701) found -[3405] Forked 2703 -(2703) found -[3404] Forked 2704 -[3403] Forked 2705 -(2704) found -(2705) found -[3402] Forked 2706 -(2706) found -[3401] Forked 2707 -(2707) found -[3400] Forked 2708 -(2708) found -[3399] Forked 2709 -(2709) found -[3398] Forked 2710 -[3397] Forked 2711 -(2710) found -(2711) found -[3396] Forked 2712 -[3395] Forked 2713 -(2712) found -(2713) found -[3394] Forked 2714 -[3393] Forked 2715 -(2714) found -(2715) found -[3392] Forked 2716 -[3391] Forked 2717 -(2716) found -(2717) found -[3390] Forked 2718 -[3389] Forked 2719 -(2718) found -(2719) found -[3388] Forked 2720 -[3387] Forked 2723 -(2720) found -(2723) found -[3386] Forked 2725 -[3385] Forked 2728 -(2725) found -(2728) found -[3384] Forked 2729 -[3383] Forked 2730 -(2729) found -(2730) found -[3382] Forked 2731 -[3381] Forked 2732 -(2731) found -(2732) found -[3380] Forked 2733 -[3379] Forked 2734 -(2733) found -(2734) found -[3378] Forked 2735 -[3377] Forked 2736 -(2735) found -(2736) found -[3376] Forked 2737 -[3375] Forked 2738 -(2737) found -(2738) found -[3374] Forked 2739 -[3373] Forked 2740 -(2739) found -(2740) found -[3372] Forked 2741 -[3371] Forked 2742 -(2741) found -(2742) found -[3370] Forked 2743 -[3369] Forked 2745 -(2743) found -(2745) found -[3368] Forked 2746 -(2746) found -[3367] Forked 2747 -(2747) found -[3366] Forked 2748 -(2748) found -[3365] Forked 2749 -(2749) found -[3364] Forked 2750 -(2750) found -[3363] Forked 2751 -(2751) found -[3362] Forked 2752 -(2752) found -[3361] Forked 2753 -(2753) found -[3360] Forked 2754 -(2754) found -[3359] Forked 2755 -(2755) found -[3358] Forked 2756 -(2756) found -[3357] Forked 2757 -(2757) found -[3356] Forked 2758 -(2758) found -[3355] Forked 2760 -(2760) found -[3354] Forked 2761 -(2761) found -[3353] Forked 2762 -(2762) found -[3352] Forked 2763 -(2763) found -[3351] Forked 2764 -(2764) found -[3350] Forked 2765 -(2765) found -[3349] Forked 2766 -(2766) found -[3348] Forked 2767 -(2767) found -[3347] Forked 2768 -(2768) found -[3346] Forked 2769 -(2769) found -[3345] Forked 2770 -(2770) found -[3344] Forked 2771 -(2771) found -[3343] Forked 2772 -(2772) found -[3342] Forked 2773 -(2773) found -[3341] Forked 2774 -(2774) found -[3340] Forked 2775 -(2775) found -[3339] Forked 2776 -(2776) found -[3338] Forked 2777 -(2777) found -[3337] Forked 2778 -(2778) found -[3336] Forked 2779 -(2779) found -[3335] Forked 2780 -(2780) found -[3334] Forked 2781 -(2781) found -[3333] Forked 2782 -(2782) found -[3332] Forked 2783 -(2783) found -[3331] Forked 2784 -(2784) found -[3330] Forked 2785 -(2785) found -[3329] Forked 2786 -(2786) found -[3328] Forked 2787 -(2787) found -[3327] Forked 2788 -(2788) found -[3326] Forked 2789 -(2789) found -[3325] Forked 2790 -(2790) found -[3324] Forked 2791 -(2791) found -[3323] Forked 2792 -(2792) found -[3322] Forked 2793 -(2793) found -[3321] Forked 2794 -[3320] Forked 2795 -(2795) found -(2794) found -[3319] Forked 2796 -(2796) found -[3318] Forked 2797 -(2797) found -[3317] Forked 2798 -(2798) found -[3316] Forked 2799 -(2799) found -[3315] Forked 2800 -(2800) found -[3314] Forked 2801 -(2801) found -[3313] Forked 2802 -(2802) found -[3312] Forked 2803 -(2803) found -[3311] Forked 2804 -(2804) found -[3310] Forked 2805 -(2805) found -[3309] Forked 2806 -(2806) found -[3308] Forked 2807 -(2807) found -[3307] Forked 2808 -(2808) found -[3306] Forked 2809 -(2809) found -[3305] Forked 2810 -(2810) found -[3304] Forked 2811 -(2811) found -[3303] Forked 2812 -(2812) found -[3302] Forked 2813 -(2813) found -[3301] Forked 2814 -(2814) found -[3300] Forked 2815 -(2815) found -[3299] Forked 2816 -(2816) found -[3298] Forked 2817 -(2817) found -[3297] Forked 2818 -(2818) found -[3296] Forked 2819 -(2819) found -[3295] Forked 2820 -(2820) found -[3294] Forked 2821 -(2821) found -[3293] Forked 2822 -(2822) found -[3292] Forked 2823 -(2823) found -[3291] Forked 2824 -(2824) found -[3290] Forked 2825 -(2825) found -[3289] Forked 2826 -(2826) found -[3288] Forked 2827 -(2827) found -[3287] Forked 2830 -(2830) found -[3286] Forked 2831 -(2831) found -[3285] Forked 2832 -(2832) found -[3284] Forked 2833 -(2833) found -[3283] Forked 2834 -(2834) found -[3282] Forked 2835 -(2835) found -[3281] Forked 2836 -(2836) found -[3280] Forked 2837 -(2837) found -[3279] Forked 2838 -(2838) found -[3278] Forked 2839 -(2839) found -[3277] Forked 2840 -(2840) found -[3276] Forked 2841 -(2841) found -[3275] Forked 2843 -(2843) found -[3274] Forked 2844 -(2844) found -[3273] Forked 2845 -(2845) found -[3272] Forked 2846 -(2846) found -[3271] Forked 2847 -(2847) found -[3270] Forked 2848 -(2848) found -[3269] Forked 2849 -(2849) found -[3268] Forked 2850 -(2850) found -[3267] Forked 2851 -(2851) found -[3266] Forked 2852 -(2852) found -[3265] Forked 2853 -(2853) found -[3264] Forked 2854 -(2854) found -[3263] Forked 2855 -(2855) found -[3262] Forked 2856 -(2856) found -[3261] Forked 2857 -(2857) found -[3260] Forked 2858 -(2858) found -[3259] Forked 2859 -(2859) found -[3258] Forked 2860 -(2860) found -[3257] Forked 2861 -(2861) found -[3256] Forked 2862 -(2862) found -[3255] Forked 2863 -(2863) found -[3254] Forked 2864 -(2864) found -[3253] Forked 2865 -(2865) found -[3252] Forked 2866 -(2866) found -[3251] Forked 2867 -(2867) found -[3250] Forked 2868 -[3249] Forked 2869 -(2868) found -(2869) found -[3248] Forked 2870 -[3247] Forked 2871 -(2870) found -(2871) found -[3246] Forked 2872 -[3245] Forked 2873 -(2872) found -(2873) found -[3244] Forked 2874 -[3243] Forked 2875 -(2874) found -(2875) found -[3242] Forked 2876 -[3241] Forked 2877 -(2876) found -(2877) found -[3240] Forked 2878 -[3239] Forked 2879 -(2878) found -(2879) found -[3238] Forked 2880 -[3237] Forked 2881 -(2880) found -(2881) found -[3236] Forked 2882 -[3235] Forked 2883 -(2882) found -(2883) found -[3234] Forked 2884 -[3233] Forked 2885 -(2884) found -(2885) found -[3232] Forked 2886 -[3231] Forked 2887 -(2886) found -(2887) found -[3230] Forked 2888 -[3229] Forked 2889 -(2888) found -(2889) found -[3228] Forked 2890 -[3227] Forked 2891 -(2890) found -(2891) found -[3226] Forked 2892 -[3225] Forked 2893 -(2892) found -(2893) found -[3224] Forked 2894 -[3223] Forked 2895 -(2894) found -(2895) found -[3222] Forked 2896 -[3221] Forked 2897 -(2896) found -(2897) found -[3220] Forked 2898 -[3219] Forked 2899 -(2898) found -(2899) found -[3218] Forked 2900 -[3217] Forked 2901 -(2900) found -(2901) found -[3216] Forked 2902 -[3215] Forked 2903 -(2902) found -(2903) found -[3214] Forked 2904 -[3213] Forked 2905 -(2904) found -(2905) found -[3212] Forked 2906 -[3211] Forked 2908 -(2906) found -(2908) found -[3210] Forked 2909 -(2909) found -[3209] Forked 2910 -(2910) found -[3208] Forked 2911 -(2911) found -[3207] Forked 2912 -(2912) found -[3206] Forked 2913 -(2913) found -[3205] Forked 2914 -(2914) found -[3204] Forked 2915 -(2915) found -[3203] Forked 2916 -(2916) found -[3202] Forked 2917 -(2917) found -[3201] Forked 2918 -(2918) found -[3200] Forked 2919 -(2919) found -[3199] Forked 2920 -(2920) found -[3198] Forked 2921 -(2921) found -[3197] Forked 2922 -(2922) found -[3196] Forked 2923 -(2923) found -[3195] Forked 2924 -(2924) found -[3194] Forked 2925 -(2925) found -[3193] Forked 2926 -(2926) found -[3192] Forked 2927 -(2927) found -[3191] Forked 2928 -(2928) found -[3190] Forked 2929 -(2929) found -[3189] Forked 2930 -(2930) found -[3188] Forked 2932 -(2932) found -[3187] Forked 2933 -(2933) found -[3186] Forked 2934 -(2934) found -[3185] Forked 2935 -(2935) found -[3184] Forked 2936 -(2936) found -[3183] Forked 2937 -(2937) found -[3182] Forked 2938 -(2938) found -[3181] Forked 2939 -(2939) found -[3180] Forked 2940 -(2940) found -[3179] Forked 2941 -(2941) found -[3178] Forked 2942 -(2942) found -[3177] Forked 2943 -(2943) found -[3176] Forked 2944 -(2944) found -[3175] Forked 2945 -(2945) found -[3174] Forked 2946 -[3173] Forked 2947 -(2946) found -(2947) found -[3172] Forked 2948 -[3171] Forked 2949 -(2948) found -(2949) found -[3170] Forked 2950 -[3169] Forked 2951 -(2950) found -(2951) found -[3168] Forked 2952 -[3167] Forked 2953 -(2952) found -(2953) found -[3166] Forked 2956 -[3165] Forked 2957 -(2956) found -(2957) found -[3164] Forked 2958 -[3163] Forked 2959 -(2958) found -(2959) found -[3162] Forked 2960 -[3161] Forked 2961 -(2960) found -(2961) found -[3160] Forked 2962 -[3159] Forked 2963 -(2962) found -(2963) found -[3158] Forked 2964 -[3157] Forked 2965 -(2964) found -(2965) found -[3156] Forked 2966 -[3155] Forked 2967 -(2966) found -(2967) found -[3154] Forked 2968 -[3153] Forked 2969 -(2968) found -(2969) found -[3152] Forked 2970 -[3151] Forked 2971 -(2970) found -(2971) found -[3150] Forked 2972 -[3149] Forked 2973 -(2972) found -(2973) found -[3148] Forked 2974 -[3147] Forked 2975 -(2974) found -(2975) found -[3146] Forked 2976 -[3145] Forked 2977 -(2976) found -(2977) found -[3144] Forked 2978 -[3143] Forked 2979 -(2978) found -(2979) found -[3142] Forked 2980 -[3141] Forked 2981 -(2980) found -(2981) found -[3140] Forked 2983 -[3139] Forked 2984 -(2983) found -(2984) found -[3138] Forked 2987 -[3137] Forked 2992 -(2987) found -(2992) found -[3136] Forked 3049 -[3135] Forked 3050 -(3049) found -(3050) found -[3134] Forked 3051 -[3133] Forked 3052 -(3051) found -(3052) found -[3132] Forked 3053 -[3131] Forked 3054 -(3053) found -(3054) found -[3130] Forked 3055 -[3129] Forked 3056 -(3055) found -(3056) found -[3128] Forked 3057 -[3127] Forked 3058 -(3057) found -(3058) found -[3126] Forked 3059 -(3059) found -[3125] Forked 3060 -(3060) found -[3124] Forked 3061 -(3061) found -[3123] Forked 3062 -(3062) found -[3122] Forked 3063 -(3063) found -[3121] Forked 3064 -(3064) found -[3120] Forked 3065 -(3065) found -[3119] Forked 3066 -(3066) found -[3118] Forked 3067 -(3067) found -[3117] Forked 3068 -(3068) found -[3116] Forked 3069 -(3069) found -[3115] Forked 3070 -(3070) found -[3114] Forked 3071 -(3071) found -[3113] Forked 3072 -(3072) found -[3112] Forked 3073 -(3073) found -[3111] Forked 3074 -(3074) found -[3110] Forked 3075 -(3075) found -[3109] Forked 3076 -(3076) found -[3108] Forked 3077 -(3077) found -[3107] Forked 3078 -(3078) found -[3106] Forked 3079 -(3079) found -[3105] Forked 3080 -(3080) found -[3104] Forked 3081 -(3081) found -[3103] Forked 3082 -(3082) found -[3102] Forked 3083 -(3083) found -[3101] Forked 3085 -(3085) found -[3100] Forked 3086 -(3086) found -[3099] Forked 3087 -(3087) found -[3098] Forked 3088 -(3088) found -[3097] Forked 3089 -(3089) found -[3096] Forked 3090 -(3090) found -[3095] Forked 3091 -(3091) found -[3094] Forked 3093 -(3093) found -[3093] Forked 3094 -(3094) found -[3092] Forked 3095 -(3095) found -[3091] Forked 3096 -[3090] Forked 3097 -(3096) found -(3097) found -[3089] Forked 3098 -[3088] Forked 3099 -(3098) found -(3099) found -[3087] Forked 3101 -[3086] Forked 3102 -(3101) found -(3102) found -[3085] Forked 3103 -[3084] Forked 3104 -(3103) found -(3104) found -[3083] Forked 3105 -[3082] Forked 3106 -(3105) found -(3106) found -[3081] Forked 3107 -[3080] Forked 3108 -(3107) found -(3108) found -[3079] Forked 3109 -[3078] Forked 3110 -(3109) found -(3110) found -[3077] Forked 3112 -[3076] Forked 3113 -(3112) found -(3113) found -[3075] Forked 3114 -[3074] Forked 3115 -(3114) found -(3115) found -[3073] Forked 3116 -[3072] Forked 3117 -(3116) found -(3117) found -[3071] Forked 3118 -[3070] Forked 3119 -(3118) found -(3119) found -[3069] Forked 3120 -[3068] Forked 3121 -(3120) found -(3121) found -[3067] Forked 3123 -[3066] Forked 3124 -(3123) found -(3124) found -[3065] Forked 3126 -[3064] Forked 3128 -(3126) found -(3128) found -[3063] Forked 3129 -[3062] Forked 3130 -(3129) found -(3130) found -[3061] Forked 3131 -[3060] Forked 3132 -(3131) found -(3132) found -[3059] Forked 3133 -[3058] Forked 3134 -(3133) found -(3134) found -[3057] Forked 3135 -[3056] Forked 3136 -(3135) found -(3136) found -[3055] Forked 3137 -[3054] Forked 3138 -(3137) found -(3138) found -[3053] Forked 3139 -[3052] Forked 3140 -(3139) found -(3140) found -[3051] Forked 3141 -[3050] Forked 3142 -(3141) found -(3142) found -[3049] Forked 3143 -[3048] Forked 3144 -(3143) found -(3144) found -[3047] Forked 3145 -[3046] Forked 3147 -(3145) found -(3147) found -[3045] Forked 3148 -[3044] Forked 3149 -(3148) found -(3149) found -[3043] Forked 3150 -(3150) found -[3042] Forked 3151 -(3151) found -[3041] Forked 3152 -(3152) found -[3040] Forked 3153 -(3153) found -[3039] Forked 3154 -(3154) found -[3038] Forked 3155 -(3155) found -[3037] Forked 3156 -(3156) found -[3036] Forked 3157 -(3157) found -[3035] Forked 3158 -(3158) found -[3034] Forked 3159 -(3159) found -[3033] Forked 3160 -(3160) found -[3032] Forked 3163 -(3163) found -[3031] Forked 3164 -(3164) found -[3030] Forked 3165 -(3165) found -[3029] Forked 3166 -(3166) found -[3028] Forked 3167 -(3167) found -[3027] Forked 3168 -(3168) found -[3026] Forked 3169 -(3169) found -[3025] Forked 3170 -(3170) found -[3024] Forked 3171 -(3171) found -[3023] Forked 3172 -(3172) found -[3022] Forked 3173 -(3173) found -[3021] Forked 3174 -(3174) found -[3020] Forked 3175 -(3175) found -[3019] Forked 3176 -(3176) found -[3018] Forked 3177 -(3177) found -[3017] Forked 3178 -(3178) found -[3016] Forked 3179 -(3179) found -[3015] Forked 3180 -(3180) found -[3014] Forked 3181 -(3181) found -[3013] Forked 3182 -(3182) found -[3012] Forked 3183 -(3183) found -[3011] Forked 3184 -(3184) found -[3010] Forked 3185 -(3185) found -[3009] Forked 3186 -(3186) found -[3008] Forked 3187 -[3007] Forked 3188 -(3187) found -(3188) found -[3006] Forked 3189 -[3005] Forked 3190 -(3189) found -(3190) found -[3004] Forked 3191 -[3003] Forked 3192 -(3191) found -(3192) found -[3002] Forked 3195 -[3001] Forked 3196 -(3195) found -(3196) found -[3000] Forked 3197 -[2999] Forked 3198 -(3197) found -(3198) found -[2998] Forked 3199 -[2997] Forked 3200 -(3199) found -(3200) found -[2996] Forked 3201 -[2995] Forked 3202 -(3201) found -(3202) found -[2994] Forked 3203 -[2993] Forked 3204 -(3203) found -(3204) found -[2992] Forked 3205 -[2991] Forked 3206 -(3205) found -(3206) found -[2990] Forked 3207 -[2989] Forked 3208 -(3207) found -(3208) found -[2988] Forked 3209 -[2987] Forked 3210 -(3209) found -(3210) found -[2986] Forked 3211 -[2985] Forked 3212 -(3211) found -(3212) found -[2984] Forked 3213 -[2983] Forked 3214 -(3213) found -(3214) found -[2982] Forked 3215 -[2981] Forked 3216 -(3215) found -(3216) found -[2980] Forked 3217 -[2979] Forked 3218 -(3217) found -(3218) found -[2978] Forked 3219 -[2977] Forked 3220 -(3219) found -(3220) found -[2976] Forked 3221 -[2975] Forked 3222 -(3221) found -(3222) found -[2974] Forked 3223 -[2973] Forked 3224 -(3223) found -(3224) found -[2972] Forked 3225 -[2971] Forked 3227 -(3225) found -(3227) found -[2970] Forked 3228 -[2969] Forked 3229 -(3228) found -(3229) found -[2968] Forked 3230 -[2967] Forked 3231 -(3230) found -(3231) found -[2966] Forked 3232 -[2965] Forked 3233 -(3232) found -(3233) found -[2964] Forked 3234 -[2963] Forked 3235 -(3234) found -(3235) found -[2962] Forked 3236 -(3236) found -[2961] Forked 3237 -(3237) found -[2960] Forked 3238 -(3238) found -[2959] Forked 3239 -(3239) found -[2958] Forked 3240 -(3240) found -[2957] Forked 3241 -(3241) found -[2956] Forked 3242 -(3242) found -[2955] Forked 3243 -(3243) found -[2954] Forked 3244 -(3244) found -[2953] Forked 3245 -(3245) found -[2952] Forked 3246 -(3246) found -[2951] Forked 3247 -(3247) found -[2950] Forked 3249 -(3249) found -[2949] Forked 3250 -(3250) found -[2948] Forked 3251 -(3251) found -[2947] Forked 3252 -(3252) found -[2946] Forked 3253 -(3253) found -[2945] Forked 3254 -(3254) found -[2944] Forked 3255 -(3255) found -[2943] Forked 3256 -(3256) found -[2942] Forked 3257 -(3257) found -[2941] Forked 3258 -(3258) found -[2940] Forked 3259 -(3259) found -[2939] Forked 3260 -(3260) found -[2938] Forked 3261 -(3261) found -[2937] Forked 3262 -(3262) found -[2936] Forked 3263 -(3263) found -[2935] Forked 3264 -(3264) found -[2934] Forked 3265 -(3265) found -[2933] Forked 3266 -(3266) found -[2932] Forked 3267 -(3267) found -[2931] Forked 3268 -(3268) found -[2930] Forked 3269 -(3269) found -[2929] Forked 3270 -(3270) found -[2928] Forked 3271 -[2927] Forked 3272 -(3271) found -(3272) found -[2926] Forked 3273 -[2925] Forked 3274 -(3273) found -(3274) found -[2924] Forked 3275 -[2923] Forked 3276 -(3275) found -(3276) found -[2922] Forked 3277 -[2921] Forked 3278 -(3277) found -(3278) found -[2920] Forked 3279 -[2919] Forked 3280 -(3279) found -(3280) found -[2918] Forked 3281 -[2917] Forked 3282 -(3281) found -(3282) found -[2916] Forked 3283 -[2915] Forked 3284 -(3283) found -(3284) found -[2914] Forked 3285 -[2913] Forked 3286 -(3285) found -(3286) found -[2912] Forked 3287 -[2911] Forked 3288 -(3287) found -(3288) found -[2910] Forked 3289 -[2909] Forked 3290 -(3289) found -(3290) found -[2908] Forked 3291 -[2907] Forked 3292 -(3291) found -(3292) found -[2906] Forked 3293 -[2905] Forked 3294 -(3293) found -(3294) found -[2904] Forked 3295 -[2903] Forked 3296 -(3295) found -(3296) found -[2902] Forked 3297 -[2901] Forked 3298 -(3297) found -(3298) found -[2900] Forked 3299 -[2899] Forked 3300 -(3299) found -(3300) found -[2898] Forked 3301 -[2897] Forked 3302 -(3301) found -(3302) found -[2896] Forked 3303 -[2895] Forked 3304 -(3303) found -(3304) found -[2894] Forked 3305 -[2893] Forked 3306 -(3305) found -(3306) found -[2892] Forked 3307 -[2891] Forked 3308 -(3307) found -(3308) found -[2890] Forked 3309 -[2889] Forked 3310 -(3309) found -(3310) found -[2888] Forked 3311 -[2887] Forked 3312 -(3311) found -(3312) found -[2886] Forked 3313 -[2885] Forked 3314 -(3313) found -(3314) found -[2884] Forked 3315 -[2883] Forked 3317 -(3315) found -(3317) found -[2882] Forked 3318 -[2881] Forked 3319 -(3318) found -(3319) found -[2880] Forked 3320 -[2879] Forked 3321 -(3320) found -(3321) found -[2878] Forked 3322 -[2877] Forked 3323 -(3322) found -(3323) found -[2876] Forked 3324 -[2875] Forked 3325 -(3324) found -(3325) found -[2874] Forked 3326 -[2873] Forked 3327 -(3326) found -(3327) found -[2872] Forked 3333 -[2871] Forked 3334 -(3333) found -(3334) found -[2870] Forked 3335 -[2869] Forked 3336 -(3335) found -(3336) found -[2868] Forked 3337 -[2867] Forked 3338 -(3337) found -(3338) found -[2866] Forked 3339 -[2865] Forked 3340 -(3339) found -(3340) found -[2864] Forked 3341 -[2863] Forked 3342 -(3341) found -(3342) found -[2862] Forked 3343 -[2861] Forked 3344 -(3343) found -(3344) found -[2860] Forked 3345 -[2859] Forked 3347 -(3345) found -(3347) found -[2858] Forked 3348 -[2857] Forked 3349 -(3348) found -(3349) found -[2856] Forked 3350 -[2855] Forked 3351 -(3350) found -(3351) found -[2854] Forked 3352 -[2853] Forked 3353 -(3352) found -(3353) found -[2852] Forked 3354 -[2851] Forked 3355 -(3354) found -(3355) found -[2850] Forked 3356 -[2849] Forked 3357 -(3356) found -(3357) found -[2848] Forked 3358 -[2847] Forked 3359 -(3358) found -(3359) found -[2846] Forked 3360 -[2845] Forked 3361 -(3360) found -(3361) found -[2844] Forked 3362 -[2843] Forked 3363 -(3362) found -(3363) found -[2842] Forked 3364 -[2841] Forked 3366 -(3364) found -(3366) found -[2840] Forked 3367 -(3367) found -[2839] Forked 3368 -(3368) found -[2838] Forked 3369 -(3369) found -[2837] Forked 3370 -(3370) found -[2836] Forked 3371 -(3371) found -[2835] Forked 3372 -(3372) found -[2834] Forked 3373 -(3373) found -[2833] Forked 3382 -(3382) found -[2832] Forked 3383 -(3383) found -[2831] Forked 3384 -(3384) found -[2830] Forked 3385 -(3385) found -[2829] Forked 3386 -(3386) found -[2828] Forked 3387 -(3387) found -[2827] Forked 3388 -(3388) found -[2826] Forked 3389 -(3389) found -[2825] Forked 3390 -(3390) found -[2824] Forked 3391 -(3391) found -[2823] Forked 3392 -(3392) found -[2822] Forked 3393 -(3393) found -[2821] Forked 3394 -(3394) found -[2820] Forked 3395 -(3395) found -[2819] Forked 3396 -(3396) found -[2818] Forked 3397 -(3397) found -[2817] Forked 3398 -(3398) found -[2816] Forked 3399 -(3399) found -[2815] Forked 3401 -(3401) found -[2814] Forked 3402 -(3402) found -[2813] Forked 3403 -(3403) found -[2812] Forked 3404 -(3404) found -[2811] Forked 3405 -(3405) found -[2810] Forked 3406 -(3406) found -[2809] Forked 3407 -(3407) found -[2808] Forked 3408 -(3408) found -[2807] Forked 3409 -(3409) found -[2806] Forked 3410 -(3410) found -[2805] Forked 3411 -(3411) found -[2804] Forked 3412 -(3412) found -[2803] Forked 3413 -(3413) found -[2802] Forked 3414 -(3414) found -[2801] Forked 3415 -[2800] Forked 3416 -(3415) found -(3416) found -[2799] Forked 3417 -[2798] Forked 3418 -(3417) found -(3418) found -[2797] Forked 3419 -[2796] Forked 3420 -(3419) found -(3420) found -[2795] Forked 3421 -[2794] Forked 3422 -(3421) found -(3422) found -[2793] Forked 3423 -[2792] Forked 3424 -(3423) found -(3424) found -[2791] Forked 3425 -[2790] Forked 3426 -(3425) found -(3426) found -[2789] Forked 3427 -[2788] Forked 3428 -(3427) found -(3428) found -[2787] Forked 3429 -[2786] Forked 3430 -(3429) found -(3430) found -[2785] Forked 3431 -[2784] Forked 3432 -(3431) found -(3432) found -[2783] Forked 3433 -[2782] Forked 3434 -(3433) found -(3434) found -[2781] Forked 3435 -[2780] Forked 3436 -(3435) found -(3436) found -[2779] Forked 3437 -[2778] Forked 3438 -(3437) found -(3438) found -[2777] Forked 3439 -[2776] Forked 3440 -(3439) found -(3440) found -[2775] Forked 3441 -[2774] Forked 3442 -(3441) found -(3442) found -[2773] Forked 3443 -[2772] Forked 3444 -(3443) found -(3444) found -[2771] Forked 3445 -[2770] Forked 3446 -(3445) found -(3446) found -[2769] Forked 3447 -[2768] Forked 3448 -(3447) found -(3448) found -[2767] Forked 3449 -[2766] Forked 3450 -(3449) found -(3450) found -[2765] Forked 3451 -[2764] Forked 3452 -(3451) found -(3452) found -[2763] Forked 3453 -[2762] Forked 3454 -(3453) found -(3454) found -[2761] Forked 3455 -[2760] Forked 3456 -(3455) found -(3456) found -[2759] Forked 3457 -[2758] Forked 3458 -(3457) found -(3458) found -[2757] Forked 3459 -(3459) found -[2756] Forked 3460 -(3460) found -[2755] Forked 3461 -(3461) found -[2754] Forked 3462 -(3462) found -[2753] Forked 3463 -(3463) found -[2752] Forked 3464 -(3464) found -[2751] Forked 3465 -(3465) found -[2750] Forked 3466 -(3466) found -[2749] Forked 3467 -(3467) found -[2748] Forked 3468 -(3468) found -[2747] Forked 3469 -(3469) found -[2746] Forked 3470 -(3470) found -[2745] Forked 3471 -(3471) found -[2744] Forked 3472 -(3472) found -[2743] Forked 3473 -(3473) found -[2742] Forked 3474 -(3474) found -[2741] Forked 3475 -(3475) found -[2740] Forked 3476 -(3476) found -[2739] Forked 3477 -(3477) found -[2738] Forked 3478 -(3478) found -[2737] Forked 3479 -(3479) found -[2736] Forked 3480 -(3480) found -[2735] Forked 3481 -(3481) found -[2734] Forked 3482 -(3482) found -[2733] Forked 3483 -(3483) found -[2732] Forked 3484 -(3484) found -[2731] Forked 3485 -(3485) found -[2730] Forked 3486 -(3486) found -[2729] Forked 3487 -(3487) found -[2728] Forked 3488 -(3488) found -[2727] Forked 3489 -(3489) found -[2726] Forked 3490 -(3490) found -[2725] Forked 3491 -(3491) found -[2724] Forked 3492 -(3492) found -[2723] Forked 3493 -(3493) found -[2722] Forked 3494 -(3494) found -[2721] Forked 3495 -(3495) found -[2720] Forked 3496 -[2719] Forked 3497 -(3496) found -(3497) found -[2718] Forked 3498 -[2717] Forked 3499 -(3498) found -(3499) found -[2716] Forked 3500 -[2715] Forked 3501 -(3500) found -(3501) found -[2714] Forked 3502 -[2713] Forked 3503 -(3502) found -(3503) found -[2712] Forked 3504 -[2711] Forked 3505 -(3504) found -(3505) found -[2710] Forked 3506 -[2709] Forked 3507 -(3506) found -(3507) found -[2708] Forked 3508 -[2707] Forked 3509 -(3508) found -(3509) found -[2706] Forked 3510 -[2705] Forked 3511 -(3510) found -(3511) found -[2704] Forked 3512 -[2703] Forked 3513 -(3512) found -(3513) found -[2702] Forked 3514 -[2701] Forked 3515 -(3514) found -(3515) found -[2700] Forked 3516 -[2699] Forked 3517 -(3516) found -(3517) found -[2698] Forked 3518 -[2697] Forked 3519 -(3518) found -(3519) found -[2696] Forked 3520 -[2695] Forked 3521 -(3520) found -(3521) found -[2694] Forked 3522 -[2693] Forked 3523 -(3522) found -(3523) found -[2692] Forked 3524 -[2691] Forked 3525 -(3524) found -(3525) found -[2690] Forked 3526 -[2689] Forked 3527 -(3526) found -(3527) found -[2688] Forked 3528 -[2687] Forked 3529 -(3528) found -(3529) found -[2686] Forked 3530 -[2685] Forked 3531 -(3530) found -(3531) found -[2684] Forked 3532 -[2683] Forked 3533 -(3532) found -(3533) found -[2682] Forked 3534 -[2681] Forked 3535 -(3534) found -(3535) found -[2680] Forked 3536 -[2679] Forked 3537 -(3536) found -(3537) found -[2678] Forked 3538 -[2677] Forked 3539 -(3538) found -(3539) found -[2676] Forked 3540 -(3540) found -[2675] Forked 3541 -(3541) found -[2674] Forked 3542 -(3542) found -[2673] Forked 3543 -(3543) found -[2672] Forked 3544 -(3544) found -[2671] Forked 3545 -(3545) found -[2670] Forked 3546 -(3546) found -[2669] Forked 3547 -(3547) found -[2668] Forked 3548 -(3548) found -[2667] Forked 3549 -(3549) found -[2666] Forked 3550 -(3550) found -[2665] Forked 3551 -(3551) found -[2664] Forked 3552 -(3552) found -[2663] Forked 3553 -(3553) found -[2662] Forked 3554 -(3554) found -[2661] Forked 3555 -(3555) found -[2660] Forked 3556 -(3556) found -[2659] Forked 3557 -(3557) found -[2658] Forked 3558 -(3558) found -[2657] Forked 3559 -(3559) found -[2656] Forked 3560 -(3560) found -[2655] Forked 3561 -(3561) found -[2654] Forked 3562 -(3562) found -[2653] Forked 3563 -(3563) found -[2652] Forked 3564 -(3564) found -[2651] Forked 3565 -(3565) found -[2650] Forked 3566 -(3566) found -[2649] Forked 3567 -(3567) found -[2648] Forked 3568 -(3568) found -[2647] Forked 3569 -(3569) found -[2646] Forked 3570 -(3570) found -[2645] Forked 3571 -(3571) found -[2644] Forked 3572 -(3572) found -[2643] Forked 3573 -(3573) found -[2642] Forked 3574 -(3574) found -[2641] Forked 3575 -(3575) found -[2640] Forked 3576 -(3576) found -[2639] Forked 3577 -[2638] Forked 3578 -(3577) found -(3578) found -[2637] Forked 3579 -[2636] Forked 3580 -(3579) found -(3580) found -[2635] Forked 3581 -[2634] Forked 3582 -(3581) found -(3582) found -[2633] Forked 3583 -[2632] Forked 3584 -(3583) found -(3584) found -[2631] Forked 3585 -[2630] Forked 3586 -(3585) found -(3586) found -[2629] Forked 3587 -[2628] Forked 3588 -(3587) found -(3588) found -[2627] Forked 3589 -[2626] Forked 3590 -(3589) found -(3590) found -[2625] Forked 3591 -[2624] Forked 3592 -(3591) found -(3592) found -[2623] Forked 3593 -[2622] Forked 3594 -(3593) found -(3594) found -[2621] Forked 3595 -[2620] Forked 3596 -(3595) found -(3596) found -[2619] Forked 3597 -[2618] Forked 3598 -(3597) found -(3598) found -[2617] Forked 3599 -[2616] Forked 3600 -(3599) found -(3600) found -[2615] Forked 3601 -[2614] Forked 3602 -(3601) found -(3602) found -[2613] Forked 3603 -[2612] Forked 3604 -(3603) found -(3604) found -[2611] Forked 3605 -[2610] Forked 3606 -(3605) found -(3606) found -[2609] Forked 3607 -[2608] Forked 3608 -(3607) found -(3608) found -[2607] Forked 3609 -[2606] Forked 3610 -(3609) found -(3610) found -[2605] Forked 3611 -[2604] Forked 3612 -(3611) found -(3612) found -[2603] Forked 3613 -[2602] Forked 3614 -(3613) found -(3614) found -[2601] Forked 3615 -[2600] Forked 3616 -(3615) found -(3616) found -[2599] Forked 3617 -[2598] Forked 3618 -(3617) found -(3618) found -[2597] Forked 3619 -[2596] Forked 3620 -(3619) found -(3620) found -[2595] Forked 3621 -(3621) found -[2594] Forked 3622 -(3622) found -[2593] Forked 3623 -(3623) found -[2592] Forked 3624 -(3624) found -[2591] Forked 3625 -(3625) found -[2590] Forked 3626 -(3626) found -[2589] Forked 3627 -(3627) found -[2588] Forked 3628 -(3628) found -[2587] Forked 3629 -(3629) found -[2586] Forked 3630 -(3630) found -[2585] Forked 3631 -(3631) found -[2584] Forked 3632 -(3632) found -[2583] Forked 3633 -(3633) found -[2582] Forked 3634 -(3634) found -[2581] Forked 3635 -(3635) found -[2580] Forked 3636 -(3636) found -[2579] Forked 3637 -(3637) found -[2578] Forked 3638 -(3638) found -[2577] Forked 3639 -(3639) found -[2576] Forked 3640 -(3640) found -[2575] Forked 3641 -(3641) found -[2574] Forked 3642 -(3642) found -[2573] Forked 3643 -(3643) found -[2572] Forked 3644 -(3644) found -[2571] Forked 3645 -(3645) found -[2570] Forked 3646 -(3646) found -[2569] Forked 3647 -(3647) found -[2568] Forked 3648 -(3648) found -[2567] Forked 3649 -(3649) found -[2566] Forked 3650 -(3650) found -[2565] Forked 3651 -(3651) found -[2564] Forked 3652 -(3652) found -[2563] Forked 3653 -(3653) found -[2562] Forked 3654 -(3654) found -[2561] Forked 3655 -(3655) found -[2560] Forked 3656 -(3656) found -[2559] Forked 3658 -(3658) found -[2558] Forked 3659 -[2557] Forked 3660 -(3659) found -(3660) found -[2556] Forked 3661 -[2555] Forked 3662 -(3661) found -(3662) found -[2554] Forked 3663 -[2553] Forked 3664 -(3663) found -(3664) found -[2552] Forked 3665 -[2551] Forked 3666 -(3665) found -(3666) found -[2550] Forked 3667 -[2549] Forked 3669 -(3667) found -(3669) found -[2548] Forked 3670 -[2547] Forked 3671 -(3670) found -(3671) found -[2546] Forked 3672 -[2545] Forked 3673 -(3672) found -(3673) found -[2544] Forked 3674 -[2543] Forked 3675 -(3674) found -(3675) found -[2542] Forked 3676 -[2541] Forked 3677 -(3676) found -(3677) found -[2540] Forked 3678 -[2539] Forked 3679 -(3678) found -(3679) found -[2538] Forked 3680 -[2537] Forked 3681 -(3680) found -(3681) found -[2536] Forked 3682 -[2535] Forked 3683 -(3682) found -(3683) found -[2534] Forked 3684 -[2533] Forked 3685 -(3684) found -(3685) found -[2532] Forked 3686 -[2531] Forked 3687 -(3686) found -(3687) found -[2530] Forked 3688 -[2529] Forked 3689 -(3688) found -(3689) found -[2528] Forked 3690 -[2527] Forked 3691 -(3690) found -(3691) found -[2526] Forked 3692 -[2525] Forked 3693 -(3692) found -(3693) found -[2524] Forked 3694 -[2523] Forked 3695 -(3694) found -(3695) found -[2522] Forked 3696 -[2521] Forked 3697 -(3696) found -(3697) found -[2520] Forked 3698 -[2519] Forked 3700 -(3698) found -(3700) found -[2518] Forked 3701 -(3701) found -[2517] Forked 3702 -(3702) found -[2516] Forked 3703 -(3703) found -[2515] Forked 3704 -(3704) found -[2514] Forked 3705 -(3705) found -[2513] Forked 3706 -(3706) found -[2512] Forked 3707 -(3707) found -[2511] Forked 3708 -(3708) found -[2510] Forked 3709 -(3709) found -[2509] Forked 3710 -(3710) found -[2508] Forked 3711 -(3711) found -[2507] Forked 3712 -(3712) found -[2506] Forked 3713 -(3713) found -[2505] Forked 3714 -(3714) found -[2504] Forked 3715 -(3715) found -[2503] Forked 3716 -(3716) found -[2502] Forked 3717 -(3717) found -[2501] Forked 3718 -(3718) found -[2500] Forked 3719 -(3719) found -[2499] Forked 3720 -(3720) found -[2498] Forked 3721 -(3721) found -[2497] Forked 3722 -(3722) found -[2496] Forked 3723 -(3723) found -[2495] Forked 3724 -(3724) found -[2494] Forked 3725 -(3725) found -[2493] Forked 3726 -(3726) found -[2492] Forked 3727 -(3727) found -[2491] Forked 3728 -(3728) found -[2490] Forked 3729 -(3729) found -[2489] Forked 3730 -(3730) found -[2488] Forked 3731 -(3731) found -[2487] Forked 3732 -(3732) found -[2486] Forked 3733 -(3733) found -[2485] Forked 3734 -(3734) found -[2484] Forked 3735 -(3735) found -[2483] Forked 3736 -(3736) found -[2482] Forked 3737 -(3737) found -[2481] Forked 3738 -(3738) found -[2480] Forked 3739 -(3739) found -[2479] Forked 3740 -[2478] Forked 3741 -(3740) found -(3741) found -[2477] Forked 3742 -[2476] Forked 3743 -(3742) found -(3743) found -[2475] Forked 3744 -[2474] Forked 3745 -(3744) found -(3745) found -[2473] Forked 3746 -[2472] Forked 3747 -(3746) found -(3747) found -[2471] Forked 3748 -[2470] Forked 3749 -(3748) found -(3749) found -[2469] Forked 3750 -[2468] Forked 3751 -(3750) found -(3751) found -[2467] Forked 3752 -[2466] Forked 3753 -(3752) found -(3753) found -[2465] Forked 3754 -[2464] Forked 3755 -(3754) found -(3755) found -[2463] Forked 3756 -[2462] Forked 3757 -(3756) found -(3757) found -[2461] Forked 3758 -[2460] Forked 3759 -(3758) found -(3759) found -[2459] Forked 3760 -[2458] Forked 3761 -(3760) found -(3761) found -[2457] Forked 3762 -[2456] Forked 3763 -(3762) found -(3763) found -[2455] Forked 3764 -[2454] Forked 3765 -(3764) found -(3765) found -[2453] Forked 3766 -[2452] Forked 3767 -(3766) found -(3767) found -[2451] Forked 3768 -[2450] Forked 3769 -(3768) found -(3769) found -[2449] Forked 3770 -[2448] Forked 3771 -(3770) found -(3771) found -[2447] Forked 3772 -[2446] Forked 3773 -(3772) found -(3773) found -[2445] Forked 3774 -[2444] Forked 3775 -(3774) found -(3775) found -[2443] Forked 3776 -[2442] Forked 3778 -(3776) found -(3778) found -[2441] Forked 3779 -(3779) found -[2440] Forked 3780 -(3780) found -[2439] Forked 3781 -(3781) found -[2438] Forked 3782 -(3782) found -[2437] Forked 3783 -(3783) found -[2436] Forked 3784 -(3784) found -[2435] Forked 3785 -(3785) found -[2434] Forked 3786 -(3786) found -[2433] Forked 3787 -(3787) found -[2432] Forked 3788 -(3788) found -[2431] Forked 3789 -(3789) found -[2430] Forked 3790 -(3790) found -[2429] Forked 3791 -(3791) found -[2428] Forked 3792 -(3792) found -[2427] Forked 3793 -(3793) found -[2426] Forked 3794 -(3794) found -[2425] Forked 3795 -(3795) found -[2424] Forked 3796 -(3796) found -[2423] Forked 3797 -(3797) found -[2422] Forked 3798 -(3798) found -[2421] Forked 3799 -(3799) found -[2420] Forked 3800 -(3800) found -[2419] Forked 3801 -(3801) found -[2418] Forked 3802 -(3802) found -[2417] Forked 3803 -(3803) found -[2416] Forked 3804 -(3804) found -[2415] Forked 3805 -(3805) found -[2414] Forked 3806 -(3806) found -[2413] Forked 3807 -(3807) found -[2412] Forked 3808 -(3808) found -[2411] Forked 3809 -(3809) found -[2410] Forked 3810 -(3810) found -[2409] Forked 3811 -(3811) found -[2408] Forked 3812 -(3812) found -[2407] Forked 3813 -(3813) found -[2406] Forked 3814 -(3814) found -[2405] Forked 3815 -(3815) found -[2404] Forked 3816 -(3816) found -[2403] Forked 3817 -[2402] Forked 3818 -(3817) found -(3818) found -[2401] Forked 3819 -[2400] Forked 3820 -(3819) found -(3820) found -[2399] Forked 3821 -[2398] Forked 3822 -(3821) found -(3822) found -[2397] Forked 3823 -[2396] Forked 3824 -(3823) found -(3824) found -[2395] Forked 3825 -[2394] Forked 3826 -(3825) found -(3826) found -[2393] Forked 3827 -[2392] Forked 3828 -(3827) found -(3828) found -[2391] Forked 3829 -[2390] Forked 3830 -(3829) found -(3830) found -[2389] Forked 3831 -[2388] Forked 3832 -(3831) found -(3832) found -[2387] Forked 3833 -[2386] Forked 3834 -(3833) found -(3834) found -[2385] Forked 3835 -[2384] Forked 3836 -(3835) found -(3836) found -[2383] Forked 3837 -[2382] Forked 3838 -(3837) found -(3838) found -[2381] Forked 3839 -[2380] Forked 3840 -(3839) found -(3840) found -[2379] Forked 3841 -[2378] Forked 3842 -(3841) found -(3842) found -[2377] Forked 3843 -[2376] Forked 3844 -(3843) found -(3844) found -[2375] Forked 3845 -[2374] Forked 3846 -(3845) found -(3846) found -[2373] Forked 3847 -[2372] Forked 3848 -(3847) found -(3848) found -[2371] Forked 3849 -[2370] Forked 3850 -(3849) found -(3850) found -[2369] Forked 3851 -[2368] Forked 3852 -(3851) found -(3852) found -[2367] Forked 3853 -[2366] Forked 3854 -(3853) found -(3854) found -[2365] Forked 3855 -[2364] Forked 3856 -(3855) found -(3856) found -[2363] Forked 3857 -[2362] Forked 3858 -(3857) found -(3858) found -[2361] Forked 3859 -[2360] Forked 3860 -(3859) found -(3860) found -[2359] Forked 3861 -(3861) found -[2358] Forked 3862 -(3862) found -[2357] Forked 3863 -(3863) found -[2356] Forked 3864 -(3864) found -[2355] Forked 3865 -(3865) found -[2354] Forked 3866 -(3866) found -[2353] Forked 3867 -(3867) found -[2352] Forked 3868 -(3868) found -[2351] Forked 3869 -(3869) found -[2350] Forked 3870 -(3870) found -[2349] Forked 3871 -(3871) found -[2348] Forked 3872 -(3872) found -[2347] Forked 3873 -(3873) found -[2346] Forked 3874 -(3874) found -[2345] Forked 3875 -(3875) found -[2344] Forked 3876 -(3876) found -[2343] Forked 3877 -(3877) found -[2342] Forked 3878 -(3878) found -[2341] Forked 3879 -(3879) found -[2340] Forked 3880 -(3880) found -[2339] Forked 3881 -(3881) found -[2338] Forked 3882 -(3882) found -[2337] Forked 3883 -(3883) found -[2336] Forked 3884 -(3884) found -[2335] Forked 3885 -(3885) found -[2334] Forked 3886 -(3886) found -[2333] Forked 3887 -(3887) found -[2332] Forked 3888 -(3888) found -[2331] Forked 3889 -(3889) found -[2330] Forked 3890 -(3890) found -[2329] Forked 3891 -(3891) found -[2328] Forked 3892 -(3892) found -[2327] Forked 3893 -(3893) found -[2326] Forked 3894 -(3894) found -[2325] Forked 3895 -(3895) found -[2324] Forked 3896 -(3896) found -[2323] Forked 3897 -(3897) found -[2322] Forked 3898 -[2321] Forked 3899 -(3898) found -(3899) found -[2320] Forked 3900 -[2319] Forked 3901 -(3900) found -(3901) found -[2318] Forked 3902 -[2317] Forked 3903 -(3902) found -(3903) found -[2316] Forked 3904 -[2315] Forked 3905 -(3904) found -(3905) found -[2314] Forked 3906 -[2313] Forked 3907 -(3906) found -(3907) found -[2312] Forked 3908 -[2311] Forked 3909 -(3908) found -(3909) found -[2310] Forked 3910 -[2309] Forked 3911 -(3910) found -(3911) found -[2308] Forked 3912 -[2307] Forked 3913 -(3912) found -(3913) found -[2306] Forked 3914 -[2305] Forked 3915 -(3914) found -(3915) found -[2304] Forked 3916 -[2303] Forked 3917 -(3916) found -(3917) found -[2302] Forked 3918 -[2301] Forked 3919 -(3918) found -(3919) found -[2300] Forked 3920 -[2299] Forked 3921 -(3920) found -(3921) found -[2298] Forked 3922 -[2297] Forked 3923 -(3922) found -(3923) found -[2296] Forked 3924 -[2295] Forked 3926 -(3924) found -(3926) found -[2294] Forked 3927 -(3927) found -[2293] Forked 3928 -(3928) found -[2292] Forked 3929 -(3929) found -[2291] Forked 3930 -(3930) found -[2290] Forked 3931 -(3931) found -[2289] Forked 3932 -(3932) found -[2288] Forked 3933 -(3933) found -[2287] Forked 3934 -(3934) found -[2286] Forked 3935 -(3935) found -[2285] Forked 3936 -(3936) found -[2284] Forked 3937 -(3937) found -[2283] Forked 3938 -(3938) found -[2282] Forked 3939 -(3939) found -[2281] Forked 3940 -(3940) found -[2280] Forked 3941 -(3941) found -[2279] Forked 3942 -(3942) found -[2278] Forked 3943 -(3943) found -[2277] Forked 3944 -(3944) found -[2276] Forked 3945 -(3945) found -[2275] Forked 3946 -(3946) found -[2274] Forked 3947 -(3947) found -[2273] Forked 3948 -(3948) found -[2272] Forked 3949 -(3949) found -[2271] Forked 3950 -(3950) found -[2270] Forked 3951 -(3951) found -[2269] Forked 3952 -(3952) found -[2268] Forked 3953 -(3953) found -[2267] Forked 3954 -(3954) found -[2266] Forked 3955 -(3955) found -[2265] Forked 3956 -(3956) found -[2264] Forked 3957 -(3957) found -[2263] Forked 3958 -(3958) found -[2262] Forked 3959 -(3959) found -[2261] Forked 3960 -(3960) found -[2260] Forked 3961 -(3961) found -[2259] Forked 3962 -(3962) found -[2258] Forked 3963 -(3963) found -[2257] Forked 3964 -(3964) found -[2256] Forked 3965 -(3965) found -[2255] Forked 3966 -(3966) found -[2254] Forked 3967 -(3967) found -[2253] Forked 3968 -(3968) found -[2252] Forked 3969 -(3969) found -[2251] Forked 3970 -(3970) found -[2250] Forked 3971 -(3971) found -[2249] Forked 3972 -(3972) found -[2248] Forked 3973 -(3973) found -[2247] Forked 3974 -(3974) found -[2246] Forked 3975 -(3975) found -[2245] Forked 3976 -(3976) found -[2244] Forked 3977 -(3977) found -[2243] Forked 3978 -(3978) found -[2242] Forked 3979 -(3979) found -[2241] Forked 3980 -(3980) found -[2240] Forked 3981 -(3981) found -[2239] Forked 3982 -(3982) found -[2238] Forked 3983 -(3983) found -[2237] Forked 3984 -(3984) found -[2236] Forked 3985 -(3985) found -[2235] Forked 3986 -(3986) found -[2234] Forked 3987 -(3987) found -[2233] Forked 3988 -(3988) found -[2232] Forked 3989 -(3989) found -[2231] Forked 3990 -(3990) found -[2230] Forked 3991 -(3991) found -[2229] Forked 3992 -(3992) found -[2228] Forked 3993 -(3993) found -[2227] Forked 3994 -(3994) found -[2226] Forked 3995 -(3995) found -[2225] Forked 3996 -(3996) found -[2224] Forked 3997 -(3997) found -[2223] Forked 3998 -(3998) found -[2222] Forked 3999 -[2221] Forked 4000 -(3999) found -(4000) found -[2220] Forked 4001 -[2219] Forked 4002 -(4001) found -(4002) found -[2218] Forked 4003 -[2217] Forked 4004 -(4003) found -(4004) found -[2216] Forked 4005 -[2215] Forked 4006 -(4005) found -(4006) found -[2214] Forked 4007 -[2213] Forked 4008 -(4007) found -(4008) found -[2212] Forked 4009 -[2211] Forked 4010 -(4009) found -(4010) found -[2210] Forked 4011 -[2209] Forked 4012 -(4011) found -(4012) found -[2208] Forked 4013 -[2207] Forked 4014 -(4013) found -(4014) found -[2206] Forked 4015 -[2205] Forked 4016 -(4015) found -(4016) found -[2204] Forked 4017 -[2203] Forked 4018 -(4017) found -(4018) found -[2202] Forked 4019 -[2201] Forked 4020 -(4019) found -(4020) found -[2200] Forked 4021 -[2199] Forked 4022 -(4021) found -(4022) found -[2198] Forked 4023 -[2197] Forked 4024 -(4023) found -(4024) found -[2196] Forked 4025 -[2195] Forked 4026 -(4025) found -(4026) found -[2194] Forked 4028 -[2193] Forked 4029 -(4028) found -(4029) found -[2192] Forked 4030 -[2191] Forked 4031 -(4030) found -(4031) found -[2190] Forked 4032 -[2189] Forked 4034 -(4032) found -(4034) found -[2188] Forked 4035 -[2187] Forked 4037 -(4035) found -(4037) found -[2186] Forked 4038 -(4038) found -[2185] Forked 4039 -(4039) found -[2184] Forked 4040 -(4040) found -[2183] Forked 4041 -(4041) found -[2182] Forked 4042 -(4042) found -[2181] Forked 4043 -(4043) found -[2180] Forked 4044 -(4044) found -[2179] Forked 4045 -(4045) found -[2178] Forked 4046 -(4046) found -[2177] Forked 4047 -(4047) found -[2176] Forked 4048 -(4048) found -[2175] Forked 4049 -(4049) found -[2174] Forked 4052 -(4052) found -[2173] Forked 4053 -(4053) found -[2172] Forked 4054 -(4054) found -[2171] Forked 4055 -(4055) found -[2170] Forked 4056 -(4056) found -[2169] Forked 4057 -(4057) found -[2168] Forked 4058 -(4058) found -[2167] Forked 4059 -(4059) found -[2166] Forked 4060 -(4060) found -[2165] Forked 4061 -(4061) found -[2164] Forked 4062 -(4062) found -[2163] Forked 4063 -(4063) found -[2162] Forked 4064 -(4064) found -[2161] Forked 4065 -(4065) found -[2160] Forked 4066 -(4066) found -[2159] Forked 4067 -(4067) found -[2158] Forked 4068 -(4068) found -[2157] Forked 4069 -(4069) found -[2156] Forked 4070 -(4070) found -[2155] Forked 4071 -(4071) found -[2154] Forked 4072 -(4072) found -[2153] Forked 4074 -(4074) found -[2152] Forked 4075 -(4075) found -[2151] Forked 4076 -(4076) found -[2150] Forked 4077 -(4077) found -[2149] Forked 4078 -(4078) found -[2148] Forked 4079 -(4079) found -[2147] Forked 4080 -(4080) found -[2146] Forked 4081 -(4081) found -[2145] Forked 4082 -(4082) found -[2144] Forked 4083 -[2143] Forked 4086 -(4083) found -(4086) found -[2142] Forked 4088 -[2141] Forked 4089 -(4088) found -(4089) found -[2140] Forked 4090 -[2139] Forked 4093 -(4090) found -(4093) found -[2138] Forked 4095 -[2137] Forked 4096 -(4095) found -(4096) found -[2136] Forked 4097 -[2135] Forked 4098 -(4097) found -(4098) found -[2134] Forked 4099 -[2133] Forked 4100 -(4099) found -(4100) found -[2132] Forked 4101 -[2131] Forked 4102 -(4101) found -(4102) found -[2130] Forked 4103 -[2129] Forked 4104 -(4103) found -(4104) found -[2128] Forked 4105 -[2127] Forked 4106 -(4105) found -(4106) found -[2126] Forked 4107 -[2125] Forked 4108 -(4107) found -(4108) found -[2124] Forked 4109 -[2123] Forked 4110 -(4109) found -(4110) found -[2122] Forked 4111 -[2121] Forked 4112 -(4111) found -(4112) found -[2120] Forked 4113 -[2119] Forked 4114 -(4113) found -(4114) found -[2118] Forked 4115 -[2117] Forked 4116 -(4115) found -(4116) found -[2116] Forked 4117 -[2115] Forked 4118 -(4117) found -(4118) found -[2114] Forked 4119 -[2113] Forked 4120 -(4119) found -(4120) found -[2112] Forked 4121 -[2111] Forked 4122 -(4121) found -(4122) found -[2110] Forked 4123 -[2109] Forked 4124 -(4123) found -(4124) found -[2108] Forked 4125 -[2107] Forked 4126 -(4125) found -(4126) found -[2106] Forked 4127 -[2105] Forked 4128 -(4127) found -(4128) found -[2104] Forked 4129 -[2103] Forked 4130 -(4129) found -(4130) found -[2102] Forked 4131 -[2101] Forked 4132 -(4131) found -(4132) found -[2100] Forked 4133 -[2099] Forked 4134 -(4133) found -(4134) found -[2098] Forked 4135 -[2097] Forked 4136 -(4135) found -(4136) found -[2096] Forked 4137 -[2095] Forked 4138 -(4137) found -(4138) found -[2094] Forked 4139 -[2093] Forked 4140 -(4139) found -(4140) found -[2092] Forked 4141 -[2091] Forked 4142 -(4141) found -(4142) found -[2090] Forked 4143 -[2089] Forked 4144 -(4143) found -(4144) found -[2088] Forked 4145 -[2087] Forked 4146 -(4145) found -(4146) found -[2086] Forked 4147 -[2085] Forked 4148 -(4147) found -(4148) found -[2084] Forked 4149 -[2083] Forked 4150 -(4149) found -(4150) found -[2082] Forked 4151 -[2081] Forked 4152 -(4151) found -(4152) found -[2080] Forked 4153 -[2079] Forked 4154 -(4153) found -(4154) found -[2078] Forked 4155 -[2077] Forked 4156 -(4155) found -(4156) found -[2076] Forked 4157 -[2075] Forked 4158 -(4157) found -(4158) found -[2074] Forked 4159 -[2073] Forked 4160 -(4159) found -(4160) found -[2072] Forked 4161 -[2071] Forked 4162 -(4161) found -(4162) found -[2070] Forked 4163 -[2069] Forked 4164 -(4163) found -(4164) found -[2068] Forked 4165 -[2067] Forked 4166 -(4165) found -(4166) found -[2066] Forked 4167 -[2065] Forked 4168 -(4167) found -(4168) found -[2064] Forked 4169 -[2063] Forked 4170 -(4169) found -(4170) found -[2062] Forked 4171 -[2061] Forked 4172 -(4171) found -(4172) found -[2060] Forked 4173 -[2059] Forked 4174 -(4173) found -(4174) found -[2058] Forked 4175 -[2057] Forked 4176 -(4175) found -(4176) found -[2056] Forked 4177 -[2055] Forked 4178 -(4177) found -(4178) found -[2054] Forked 4179 -[2053] Forked 4180 -(4179) found -(4180) found -[2052] Forked 4181 -(4181) found -[2051] Forked 4182 -(4182) found -[2050] Forked 4183 -(4183) found -[2049] Forked 4184 -(4184) found -[2048] Forked 4185 -(4185) found -[2047] Forked 4186 -(4186) found -[2046] Forked 4187 -(4187) found -[2045] Forked 4188 -(4188) found -[2044] Forked 4189 -(4189) found -[2043] Forked 4190 -(4190) found -[2042] Forked 4191 -(4191) found -[2041] Forked 4192 -(4192) found -[2040] Forked 4193 -(4193) found -[2039] Forked 4194 -(4194) found -[2038] Forked 4195 -(4195) found -[2037] Forked 4196 -(4196) found -[2036] Forked 4197 -(4197) found -[2035] Forked 4198 -(4198) found -[2034] Forked 4199 -(4199) found -[2033] Forked 4200 -(4200) found -[2032] Forked 4201 -(4201) found -[2031] Forked 4202 -(4202) found -[2030] Forked 4203 -(4203) found -[2029] Forked 4204 -(4204) found -[2028] Forked 4205 -(4205) found -[2027] Forked 4206 -(4206) found -[2026] Forked 4207 -(4207) found -[2025] Forked 4208 -(4208) found -[2024] Forked 4209 -(4209) found -[2023] Forked 4210 -(4210) found -[2022] Forked 4211 -(4211) found -[2021] Forked 4212 -(4212) found -[2020] Forked 4213 -(4213) found -[2019] Forked 4214 -(4214) found -[2018] Forked 4215 -(4215) found -[2017] Forked 4216 -(4216) found -[2016] Forked 4217 -[2015] Forked 4218 -(4217) found -(4218) found -[2014] Forked 4219 -[2013] Forked 4220 -(4219) found -(4220) found -[2012] Forked 4221 -[2011] Forked 4222 -(4221) found -(4222) found -[2010] Forked 4223 -[2009] Forked 4224 -(4223) found -(4224) found -[2008] Forked 4225 -[2007] Forked 4226 -(4225) found -(4226) found -[2006] Forked 4227 -[2005] Forked 4228 -(4227) found -(4228) found -[2004] Forked 4229 -[2003] Forked 4230 -(4229) found -(4230) found -[2002] Forked 4231 -[2001] Forked 4232 -(4231) found -(4232) found -[2000] Forked 4233 -[1999] Forked 4234 -(4233) found -(4234) found -[1998] Forked 4235 -[1997] Forked 4236 -(4235) found -(4236) found -[1996] Forked 4237 -[1995] Forked 4238 -(4237) found -(4238) found -[1994] Forked 4239 -[1993] Forked 4240 -(4239) found -(4240) found -[1992] Forked 4242 -[1991] Forked 4243 -(4242) found -(4243) found -[1990] Forked 4244 -[1989] Forked 4245 -(4244) found -(4245) found -[1988] Forked 4247 -[1987] Forked 4248 -(4247) found -(4248) found -[1986] Forked 4249 -[1985] Forked 4250 -(4249) found -(4250) found -[1984] Forked 4251 -[1983] Forked 4252 -(4251) found -(4252) found -[1982] Forked 4254 -[1981] Forked 4255 -(4254) found -(4255) found -[1980] Forked 4256 -[1979] Forked 4257 -(4256) found -(4257) found -[1978] Forked 4258 -[1977] Forked 4259 -(4258) found -(4259) found -[1976] Forked 4260 -[1975] Forked 4261 -(4260) found -(4261) found -[1974] Forked 4262 -[1973] Forked 4263 -(4262) found -(4263) found -[1972] Forked 4264 -(4264) found -[1971] Forked 4265 -(4265) found -[1970] Forked 4266 -(4266) found -[1969] Forked 4267 -(4267) found -[1968] Forked 4268 -(4268) found -[1967] Forked 4269 -(4269) found -[1966] Forked 4270 -(4270) found -[1965] Forked 4271 -(4271) found -[1964] Forked 4272 -(4272) found -[1963] Forked 4273 -(4273) found -[1962] Forked 4274 -(4274) found -[1961] Forked 4275 -(4275) found -[1960] Forked 4276 -(4276) found -[1959] Forked 4277 -(4277) found -[1958] Forked 4278 -(4278) found -[1957] Forked 4279 -(4279) found -[1956] Forked 4280 -(4280) found -[1955] Forked 4281 -(4281) found -[1954] Forked 4282 -(4282) found -[1953] Forked 4284 -(4284) found -[1952] Forked 4285 -(4285) found -[1951] Forked 4286 -(4286) found -[1950] Forked 4287 -(4287) found -[1949] Forked 4288 -(4288) found -[1948] Forked 4289 -(4289) found -[1947] Forked 4290 -(4290) found -[1946] Forked 4291 -(4291) found -[1945] Forked 4292 -(4292) found -[1944] Forked 4293 -(4293) found -[1943] Forked 4294 -(4294) found -[1942] Forked 4295 -(4295) found -[1941] Forked 4296 -(4296) found -[1940] Forked 4297 -(4297) found -[1939] Forked 4298 -(4298) found -[1938] Forked 4299 -(4299) found -[1937] Forked 4300 -(4300) found -[1936] Forked 4301 -(4301) found -[1935] Forked 4302 -[1934] Forked 4303 -(4302) found -(4303) found -[1933] Forked 4304 -[1932] Forked 4305 -(4304) found -(4305) found -[1931] Forked 4306 -[1930] Forked 4307 -(4306) found -(4307) found -[1929] Forked 4308 -[1928] Forked 4309 -(4308) found -(4309) found -[1927] Forked 4310 -[1926] Forked 4311 -(4310) found -(4311) found -[1925] Forked 4312 -[1924] Forked 4313 -(4312) found -(4313) found -[1923] Forked 4314 -[1922] Forked 4315 -(4314) found -(4315) found -[1921] Forked 4316 -[1920] Forked 4317 -(4316) found -(4317) found -[1919] Forked 4318 -[1918] Forked 4319 -(4318) found -(4319) found -[1917] Forked 4320 -[1916] Forked 4321 -(4320) found -(4321) found -[1915] Forked 4322 -[1914] Forked 4323 -(4322) found -(4323) found -[1913] Forked 4324 -[1912] Forked 4325 -(4324) found -(4325) found -[1911] Forked 4326 -[1910] Forked 4327 -(4326) found -(4327) found -[1909] Forked 4328 -[1908] Forked 4329 -(4328) found -(4329) found -[1907] Forked 4330 -[1906] Forked 4331 -(4330) found -(4331) found -[1905] Forked 4332 -[1904] Forked 4333 -(4332) found -(4333) found -[1903] Forked 4334 -[1902] Forked 4335 -(4334) found -(4335) found -[1901] Forked 4336 -[1900] Forked 4337 -(4336) found -(4337) found -[1899] Forked 4338 -[1898] Forked 4339 -(4338) found -(4339) found -[1897] Forked 4340 -[1896] Forked 4342 -(4340) found -(4342) found -[1895] Forked 4343 -(4343) found -[1894] Forked 4344 -(4344) found -[1893] Forked 4345 -(4345) found -[1892] Forked 4346 -(4346) found -[1891] Forked 4347 -(4347) found -[1890] Forked 4348 -(4348) found -[1889] Forked 4349 -(4349) found -[1888] Forked 4350 -(4350) found -[1887] Forked 4351 -(4351) found -[1886] Forked 4352 -(4352) found -[1885] Forked 4353 -(4353) found -[1884] Forked 4354 -(4354) found -[1883] Forked 4355 -(4355) found -[1882] Forked 4356 -(4356) found -[1881] Forked 4357 -(4357) found -[1880] Forked 4358 -(4358) found -[1879] Forked 4359 -(4359) found -[1878] Forked 4360 -(4360) found -[1877] Forked 4361 -(4361) found -[1876] Forked 4362 -(4362) found -[1875] Forked 4363 -(4363) found -[1874] Forked 4364 -(4364) found -[1873] Forked 4365 -(4365) found -[1872] Forked 4366 -(4366) found -[1871] Forked 4367 -(4367) found -[1870] Forked 4368 -(4368) found -[1869] Forked 4369 -(4369) found -[1868] Forked 4370 -(4370) found -[1867] Forked 4371 -(4371) found -[1866] Forked 4372 -(4372) found -[1865] Forked 4373 -(4373) found -[1864] Forked 4374 -(4374) found -[1863] Forked 4375 -(4375) found -[1862] Forked 4376 -(4376) found -[1861] Forked 4377 -(4377) found -[1860] Forked 4378 -(4378) found -[1859] Forked 4379 -(4379) found -[1858] Forked 4380 -(4380) found -[1857] Forked 4381 -(4381) found -[1856] Forked 4382 -[1855] Forked 4383 -(4382) found -(4383) found -[1854] Forked 4384 -[1853] Forked 4385 -(4384) found -(4385) found -[1852] Forked 4386 -[1851] Forked 4387 -(4386) found -(4387) found -[1850] Forked 4388 -[1849] Forked 4389 -(4388) found -(4389) found -[1848] Forked 4390 -[1847] Forked 4391 -(4390) found -(4391) found -[1846] Forked 4392 -[1845] Forked 4393 -(4392) found -(4393) found -[1844] Forked 4394 -[1843] Forked 4395 -(4394) found -(4395) found -[1842] Forked 4396 -[1841] Forked 4397 -(4396) found -(4397) found -[1840] Forked 4398 -[1839] Forked 4399 -(4398) found -(4399) found -[1838] Forked 4400 -[1837] Forked 4401 -(4400) found -(4401) found -[1836] Forked 4402 -[1835] Forked 4403 -(4402) found -(4403) found -[1834] Forked 4404 -[1833] Forked 4405 -(4404) found -(4405) found -[1832] Forked 4406 -[1831] Forked 4407 -(4406) found -(4407) found -[1830] Forked 4408 -[1829] Forked 4409 -(4408) found -(4409) found -[1828] Forked 4410 -[1827] Forked 4411 -(4410) found -(4411) found -[1826] Forked 4412 -[1825] Forked 4413 -(4412) found -(4413) found -[1824] Forked 4414 -[1823] Forked 4415 -(4414) found -(4415) found -[1822] Forked 4416 -[1821] Forked 4417 -(4416) found -(4417) found -[1820] Forked 4418 -[1819] Forked 4419 -(4418) found -(4419) found -[1818] Forked 4420 -[1817] Forked 4421 -(4420) found -(4421) found -[1816] Forked 4422 -[1815] Forked 4423 -(4422) found -(4423) found -[1814] Forked 4424 -(4424) found -[1813] Forked 4425 -(4425) found -[1812] Forked 4426 -(4426) found -[1811] Forked 4427 -(4427) found -[1810] Forked 4428 -(4428) found -[1809] Forked 4429 -(4429) found -[1808] Forked 4430 -(4430) found -[1807] Forked 4431 -(4431) found -[1806] Forked 4432 -(4432) found -[1805] Forked 4433 -(4433) found -[1804] Forked 4434 -(4434) found -[1803] Forked 4435 -(4435) found -[1802] Forked 4436 -(4436) found -[1801] Forked 4437 -(4437) found -[1800] Forked 4438 -(4438) found -[1799] Forked 4439 -(4439) found -[1798] Forked 4440 -(4440) found -[1797] Forked 4441 -(4441) found -[1796] Forked 4442 -(4442) found -[1795] Forked 4443 -(4443) found -[1794] Forked 4444 -(4444) found -[1793] Forked 4445 -(4445) found -[1792] Forked 4446 -(4446) found -[1791] Forked 4447 -(4447) found -[1790] Forked 4448 -(4448) found -[1789] Forked 4449 -(4449) found -[1788] Forked 4450 -(4450) found -[1787] Forked 4451 -(4451) found -[1786] Forked 4452 -(4452) found -[1785] Forked 4453 -(4453) found -[1784] Forked 4454 -(4454) found -[1783] Forked 4455 -(4455) found -[1782] Forked 4456 -(4456) found -[1781] Forked 4457 -(4457) found -[1780] Forked 4458 -(4458) found -[1779] Forked 4459 -(4459) found -[1778] Forked 4460 -[1777] Forked 4461 -(4460) found -(4461) found -[1776] Forked 4462 -[1775] Forked 4463 -(4462) found -(4463) found -[1774] Forked 4464 -[1773] Forked 4465 -(4464) found -(4465) found -[1772] Forked 4466 -[1771] Forked 4467 -(4466) found -(4467) found -[1770] Forked 4468 -[1769] Forked 4469 -(4468) found -(4469) found -[1768] Forked 4470 -[1767] Forked 4471 -(4470) found -(4471) found -[1766] Forked 4472 -[1765] Forked 4473 -(4472) found -(4473) found -[1764] Forked 4474 -[1763] Forked 4475 -(4474) found -(4475) found -[1762] Forked 4476 -[1761] Forked 4477 -(4476) found -(4477) found -[1760] Forked 4478 -[1759] Forked 4479 -(4478) found -(4479) found -[1758] Forked 4480 -[1757] Forked 4481 -(4480) found -(4481) found -[1756] Forked 4482 -[1755] Forked 4483 -(4482) found -(4483) found -[1754] Forked 4484 -[1753] Forked 4485 -(4484) found -(4485) found -[1752] Forked 4486 -[1751] Forked 4487 -(4486) found -(4487) found -[1750] Forked 4488 -[1749] Forked 4489 -(4488) found -(4489) found -[1748] Forked 4490 -[1747] Forked 4491 -(4490) found -(4491) found -[1746] Forked 4492 -[1745] Forked 4493 -(4492) found -(4493) found -[1744] Forked 4494 -[1743] Forked 4495 -(4494) found -(4495) found -[1742] Forked 4496 -[1741] Forked 4497 -(4496) found -(4497) found -[1740] Forked 4498 -[1739] Forked 4499 -(4498) found -(4499) found -[1738] Forked 4500 -[1737] Forked 4501 -(4500) found -(4501) found -[1736] Forked 4502 -[1735] Forked 4503 -(4502) found -(4503) found -[1734] Forked 4504 -[1733] Forked 4505 -(4504) found -(4505) found -[1732] Forked 4506 -[1731] Forked 4507 -(4506) found -(4507) found -[1730] Forked 4508 -[1729] Forked 4509 -(4508) found -(4509) found -[1728] Forked 4510 -[1727] Forked 4511 -(4510) found -(4511) found -[1726] Forked 4512 -[1725] Forked 4513 -(4512) found -(4513) found -[1724] Forked 4514 -[1723] Forked 4515 -(4514) found -(4515) found -[1722] Forked 4516 -[1721] Forked 4517 -(4516) found -(4517) found -[1720] Forked 4518 -[1719] Forked 4519 -(4518) found -(4519) found -[1718] Forked 4520 -[1717] Forked 4521 -(4520) found -(4521) found -[1716] Forked 4522 -[1715] Forked 4523 -(4522) found -(4523) found -[1714] Forked 4524 -[1713] Forked 4525 -(4524) found -(4525) found -[1712] Forked 4526 -[1711] Forked 4527 -(4526) found -(4527) found -[1710] Forked 4528 -[1709] Forked 4529 -(4528) found -(4529) found -[1708] Forked 4530 -[1707] Forked 4531 -(4530) found -(4531) found -[1706] Forked 4532 -[1705] Forked 4533 -(4532) found -(4533) found -[1704] Forked 4534 -[1703] Forked 4535 -(4534) found -(4535) found -[1702] Forked 4536 -[1701] Forked 4537 -(4536) found -(4537) found -[1700] Forked 4538 -[1699] Forked 4539 -(4538) found -(4539) found -[1698] Forked 4540 -[1697] Forked 4541 -(4540) found -(4541) found -[1696] Forked 4542 -[1695] Forked 4543 -(4542) found -(4543) found -[1694] Forked 4544 -[1693] Forked 4545 -(4544) found -(4545) found -[1692] Forked 4546 -[1691] Forked 4547 -(4546) found -(4547) found -[1690] Forked 4548 -[1689] Forked 4549 -(4548) found -(4549) found -[1688] Forked 4550 -[1687] Forked 4551 -(4550) found -(4551) found -[1686] Forked 4552 -(4552) found -[1685] Forked 4553 -(4553) found -[1684] Forked 4554 -(4554) found -[1683] Forked 4555 -(4555) found -[1682] Forked 4556 -(4556) found -[1681] Forked 4557 -(4557) found -[1680] Forked 4558 -(4558) found -[1679] Forked 4559 -(4559) found -[1678] Forked 4560 -(4560) found -[1677] Forked 4561 -(4561) found -[1676] Forked 4562 -(4562) found -[1675] Forked 4563 -(4563) found -[1674] Forked 4564 -(4564) found -[1673] Forked 4565 -(4565) found -[1672] Forked 4566 -(4566) found -[1671] Forked 4567 -(4567) found -[1670] Forked 4568 -(4568) found -[1669] Forked 4569 -(4569) found -[1668] Forked 4570 -(4570) found -[1667] Forked 4571 -(4571) found -[1666] Forked 4572 -(4572) found -[1665] Forked 4573 -(4573) found -[1664] Forked 4574 -(4574) found -[1663] Forked 4575 -(4575) found -[1662] Forked 4576 -(4576) found -[1661] Forked 4577 -(4577) found -[1660] Forked 4578 -(4578) found -[1659] Forked 4579 -(4579) found -[1658] Forked 4580 -(4580) found -[1657] Forked 4581 -(4581) found -[1656] Forked 4582 -(4582) found -[1655] Forked 4583 -(4583) found -[1654] Forked 4584 -[1653] Forked 4585 -(4584) found -(4585) found -[1652] Forked 4586 -[1651] Forked 4587 -(4586) found -(4587) found -[1650] Forked 4588 -[1649] Forked 4589 -(4588) found -(4589) found -[1648] Forked 4590 -[1647] Forked 4591 -(4590) found -(4591) found -[1646] Forked 4593 -[1645] Forked 4594 -(4593) found -(4594) found -[1644] Forked 4595 -[1643] Forked 4596 -(4595) found -(4596) found -[1642] Forked 4597 -[1641] Forked 4598 -(4597) found -(4598) found -[1640] Forked 4599 -[1639] Forked 4600 -(4599) found -(4600) found -[1638] Forked 4601 -[1637] Forked 4602 -(4601) found -(4602) found -[1636] Forked 4603 -[1635] Forked 4604 -(4603) found -(4604) found -[1634] Forked 4605 -[1633] Forked 4606 -(4605) found -(4606) found -[1632] Forked 4607 -[1631] Forked 4608 -(4607) found -(4608) found -[1630] Forked 4609 -[1629] Forked 4610 -(4609) found -(4610) found -[1628] Forked 4611 -[1627] Forked 4612 -(4611) found -(4612) found -[1626] Forked 4613 -[1625] Forked 4614 -(4613) found -(4614) found -[1624] Forked 4615 -[1623] Forked 4616 -(4615) found -(4616) found -[1622] Forked 4617 -[1621] Forked 4618 -(4617) found -(4618) found -[1620] Forked 4619 -[1619] Forked 4620 -(4619) found -(4620) found -[1618] Forked 4621 -[1617] Forked 4622 -(4621) found -(4622) found -[1616] Forked 4623 -[1615] Forked 4624 -(4623) found -(4624) found -[1614] Forked 4625 -[1613] Forked 4626 -(4625) found -(4626) found -[1612] Forked 4627 -[1611] Forked 4628 -(4627) found -(4628) found -[1610] Forked 4629 -[1609] Forked 4630 -(4629) found -(4630) found -[1608] Forked 4631 -[1607] Forked 4632 -(4631) found -(4632) found -[1606] Forked 4633 -(4633) found -[1605] Forked 4634 -(4634) found -[1604] Forked 4635 -(4635) found -[1603] Forked 4636 -(4636) found -[1602] Forked 4637 -(4637) found -[1601] Forked 4638 -(4638) found -[1600] Forked 4639 -(4639) found -[1599] Forked 4640 -(4640) found -[1598] Forked 4641 -(4641) found -[1597] Forked 4642 -(4642) found -[1596] Forked 4643 -(4643) found -[1595] Forked 4644 -(4644) found -[1594] Forked 4645 -(4645) found -[1593] Forked 4646 -(4646) found -[1592] Forked 4647 -(4647) found -[1591] Forked 4648 -(4648) found -[1590] Forked 4649 -(4649) found -[1589] Forked 4650 -(4650) found -[1588] Forked 4651 -(4651) found -[1587] Forked 4652 -(4652) found -[1586] Forked 4653 -(4653) found -[1585] Forked 4654 -(4654) found -[1584] Forked 4655 -(4655) found -[1583] Forked 4656 -(4656) found -[1582] Forked 4657 -(4657) found -[1581] Forked 4658 -(4658) found -[1580] Forked 4659 -(4659) found -[1579] Forked 4660 -(4660) found -[1578] Forked 4661 -(4661) found -[1577] Forked 4662 -(4662) found -[1576] Forked 4663 -[1575] Forked 4664 -(4664) found -(4663) found -[1574] Forked 4665 -(4665) found -[1573] Forked 4666 -(4666) found -[1572] Forked 4667 -(4667) found -[1571] Forked 4668 -(4668) found -[1570] Forked 4669 -(4669) found -[1569] Forked 4670 -(4670) found -[1568] Forked 4671 -(4671) found -[1567] Forked 4672 -(4672) found -[1566] Forked 4673 -(4673) found -[1565] Forked 4674 -(4674) found -[1564] Forked 4675 -(4675) found -[1563] Forked 4676 -(4676) found -[1562] Forked 4677 -(4677) found -[1561] Forked 4678 -(4678) found -[1560] Forked 4679 -(4679) found -[1559] Forked 4680 -(4680) found -[1558] Forked 4681 -(4681) found -[1557] Forked 4682 -(4682) found -[1556] Forked 4683 -(4683) found -[1555] Forked 4684 -(4684) found -[1554] Forked 4685 -(4685) found -[1553] Forked 4686 -(4686) found -[1552] Forked 4687 -(4687) found -[1551] Forked 4688 -(4688) found -[1550] Forked 4689 -(4689) found -[1549] Forked 4690 -(4690) found -[1548] Forked 4691 -(4691) found -[1547] Forked 4692 -(4692) found -[1546] Forked 4693 -(4693) found -[1545] Forked 4694 -(4694) found -[1544] Forked 4695 -(4695) found -[1543] Forked 4696 -(4696) found -[1542] Forked 4697 -(4697) found -[1541] Forked 4698 -(4698) found -[1540] Forked 4699 -(4699) found -[1539] Forked 4700 -(4700) found -[1538] Forked 4701 -(4701) found -[1537] Forked 4702 -(4702) found -[1536] Forked 4703 -(4703) found -[1535] Forked 4704 -(4704) found -[1534] Forked 4705 -(4705) found -[1533] Forked 4706 -(4706) found -[1532] Forked 4707 -(4707) found -[1531] Forked 4708 -(4708) found -[1530] Forked 4709 -(4709) found -[1529] Forked 4710 -(4710) found -[1528] Forked 4711 -(4711) found -[1527] Forked 4712 -(4712) found -[1526] Forked 4713 -(4713) found -[1525] Forked 4714 -(4714) found -[1524] Forked 4715 -(4715) found -[1523] Forked 4716 -(4716) found -[1522] Forked 4717 -(4717) found -[1521] Forked 4718 -(4718) found -[1520] Forked 4719 -(4719) found -[1519] Forked 4720 -(4720) found -[1518] Forked 4721 -(4721) found -[1517] Forked 4722 -(4722) found -[1516] Forked 4723 -(4723) found -[1515] Forked 4724 -(4724) found -[1514] Forked 4725 -(4725) found -[1513] Forked 4726 -(4726) found -[1512] Forked 4727 -(4727) found -[1511] Forked 4728 -(4728) found -[1510] Forked 4729 -(4729) found -[1509] Forked 4730 -(4730) found -[1508] Forked 4731 -(4731) found -[1507] Forked 4732 -(4732) found -[1506] Forked 4733 -(4733) found -[1505] Forked 4734 -(4734) found -[1504] Forked 4735 -(4735) found -[1503] Forked 4736 -[1502] Forked 4737 -(4736) found -(4737) found -[1501] Forked 4738 -[1500] Forked 4739 -(4738) found -(4739) found -[1499] Forked 4740 -[1498] Forked 4741 -(4740) found -(4741) found -[1497] Forked 4742 -[1496] Forked 4743 -(4742) found -(4743) found -[1495] Forked 4744 -[1494] Forked 4745 -(4744) found -(4745) found -[1493] Forked 4746 -[1492] Forked 4747 -(4746) found -(4747) found -[1491] Forked 4748 -[1490] Forked 4749 -(4748) found -(4749) found -[1489] Forked 4750 -[1488] Forked 4751 -(4750) found -(4751) found -[1487] Forked 4752 -[1486] Forked 4753 -(4752) found -(4753) found -[1485] Forked 4754 -[1484] Forked 4755 -(4754) found -(4755) found -[1483] Forked 4756 -[1482] Forked 4757 -(4756) found -(4757) found -[1481] Forked 4758 -[1480] Forked 4759 -(4758) found -(4759) found -[1479] Forked 4760 -[1478] Forked 4761 -(4760) found -(4761) found -[1477] Forked 4762 -[1476] Forked 4763 -(4762) found -(4763) found -[1475] Forked 4764 -[1474] Forked 4765 -(4764) found -(4765) found -[1473] Forked 4766 -[1472] Forked 4767 -(4766) found -(4767) found -[1471] Forked 4768 -[1470] Forked 4769 -(4768) found -(4769) found -[1469] Forked 4770 -[1468] Forked 4771 -(4770) found -(4771) found -[1467] Forked 4772 -[1466] Forked 4773 -(4772) found -(4773) found -[1465] Forked 4774 -[1464] Forked 4775 -(4774) found -(4775) found -[1463] Forked 4776 -[1462] Forked 4777 -(4776) found -(4777) found -[1461] Forked 4778 -[1460] Forked 4779 -(4778) found -(4779) found -[1459] Forked 4780 -(4780) found -[1458] Forked 4781 -(4781) found -[1457] Forked 4782 -(4782) found -[1456] Forked 4783 -(4783) found -[1455] Forked 4784 -(4784) found -[1454] Forked 4785 -(4785) found -[1453] Forked 4786 -(4786) found -[1452] Forked 4787 -(4787) found -[1451] Forked 4788 -(4788) found -[1450] Forked 4789 -(4789) found -[1449] Forked 4790 -(4790) found -[1448] Forked 4791 -(4791) found -[1447] Forked 4792 -(4792) found -[1446] Forked 4793 -(4793) found -[1445] Forked 4794 -(4794) found -[1444] Forked 4795 -(4795) found -[1443] Forked 4796 -(4796) found -[1442] Forked 4797 -(4797) found -[1441] Forked 4798 -(4798) found -[1440] Forked 4799 -(4799) found -[1439] Forked 4800 -(4800) found -[1438] Forked 4801 -(4801) found -[1437] Forked 4802 -(4802) found -[1436] Forked 4803 -(4803) found -[1435] Forked 4804 -(4804) found -[1434] Forked 4805 -(4805) found -[1433] Forked 4806 -(4806) found -[1432] Forked 4807 -(4807) found -[1431] Forked 4808 -(4808) found -[1430] Forked 4809 -(4809) found -[1429] Forked 4810 -(4810) found -[1428] Forked 4811 -(4811) found -[1427] Forked 4812 -(4812) found -[1426] Forked 4813 -(4813) found -[1425] Forked 4814 -(4814) found -[1424] Forked 4815 -(4815) found -[1423] Forked 4816 -[1422] Forked 4817 -(4816) found -(4817) found -[1421] Forked 4818 -[1420] Forked 4819 -(4818) found -(4819) found -[1419] Forked 4820 -(4820) found -[1418] Forked 4821 -[1417] Forked 4822 -(4821) found -(4822) found -[1416] Forked 4823 -[1415] Forked 4824 -(4823) found -(4824) found -[1414] Forked 4825 -[1413] Forked 4826 -(4825) found -(4826) found -[1412] Forked 4827 -[1411] Forked 4828 -(4827) found -(4828) found -[1410] Forked 4829 -[1409] Forked 4830 -(4829) found -(4830) found -[1408] Forked 4831 -[1407] Forked 4832 -(4831) found -(4832) found -[1406] Forked 4833 -[1405] Forked 4834 -(4833) found -(4834) found -[1404] Forked 4835 -[1403] Forked 4836 -(4835) found -(4836) found -[1402] Forked 4837 -[1401] Forked 4838 -(4837) found -(4838) found -[1400] Forked 4839 -[1399] Forked 4840 -(4839) found -(4840) found -[1398] Forked 4841 -[1397] Forked 4842 -(4841) found -(4842) found -[1396] Forked 4843 -[1395] Forked 4844 -(4843) found -(4844) found -[1394] Forked 4845 -[1393] Forked 4846 -(4845) found -(4846) found -[1392] Forked 4847 -[1391] Forked 4848 -(4847) found -(4848) found -[1390] Forked 4849 -[1389] Forked 4850 -(4849) found -(4850) found -[1388] Forked 4851 -[1387] Forked 4852 -(4851) found -(4852) found -[1386] Forked 4853 -[1385] Forked 4854 -(4853) found -(4854) found -[1384] Forked 4855 -[1383] Forked 4856 -(4855) found -(4856) found -[1382] Forked 4857 -[1381] Forked 4858 -(4857) found -(4858) found -[1380] Forked 4859 -(4859) found -[1379] Forked 4860 -[1378] Forked 4861 -(4860) found -(4861) found -[1377] Forked 4862 -[1376] Forked 4863 -(4862) found -(4863) found -[1375] Forked 4864 -[1374] Forked 4865 -(4864) found -(4865) found -[1373] Forked 4866 -[1372] Forked 4867 -(4866) found -(4867) found -[1371] Forked 4868 -[1370] Forked 4869 -(4868) found -(4869) found -[1369] Forked 4870 -[1368] Forked 4871 -(4870) found -(4871) found -[1367] Forked 4872 -[1366] Forked 4873 -(4872) found -(4873) found -[1365] Forked 4874 -[1364] Forked 4875 -(4874) found -(4875) found -[1363] Forked 4876 -[1362] Forked 4877 -(4876) found -(4877) found -[1361] Forked 4878 -[1360] Forked 4879 -(4878) found -(4879) found -[1359] Forked 4880 -[1358] Forked 4881 -(4880) found -(4881) found -[1357] Forked 4882 -[1356] Forked 4883 -(4882) found -(4883) found -[1355] Forked 4884 -[1354] Forked 4885 -(4884) found -(4885) found -[1353] Forked 4886 -[1352] Forked 4887 -(4886) found -(4887) found -[1351] Forked 4888 -[1350] Forked 4889 -(4888) found -(4889) found -[1349] Forked 4890 -[1348] Forked 4891 -(4890) found -(4891) found -[1347] Forked 4892 -[1346] Forked 4893 -(4892) found -(4893) found -[1345] Forked 4894 -[1344] Forked 4895 -(4894) found -(4895) found -[1343] Forked 4896 -[1342] Forked 4897 -(4896) found -(4897) found -[1341] Forked 4898 -[1340] Forked 4899 -(4898) found -(4899) found -[1339] Forked 4900 -[1338] Forked 4901 -(4900) found -(4901) found -[1337] Forked 4902 -[1336] Forked 4903 -(4902) found -(4903) found -[1335] Forked 4904 -[1334] Forked 4905 -(4904) found -(4905) found -[1333] Forked 4906 -[1332] Forked 4907 -(4906) found -(4907) found -[1331] Forked 4908 -[1330] Forked 4909 -(4908) found -(4909) found -[1329] Forked 4910 -[1328] Forked 4911 -(4910) found -(4911) found -[1327] Forked 4912 -[1326] Forked 4913 -(4912) found -(4913) found -[1325] Forked 4914 -[1324] Forked 4915 -(4914) found -(4915) found -[1323] Forked 4916 -[1322] Forked 4917 -(4916) found -(4917) found -[1321] Forked 4918 -[1320] Forked 4919 -(4918) found -(4919) found -[1319] Forked 4920 -[1318] Forked 4921 -(4920) found -(4921) found -[1317] Forked 4922 -[1316] Forked 4923 -(4922) found -(4923) found -[1315] Forked 4924 -[1314] Forked 4925 -(4924) found -(4925) found -[1313] Forked 4926 -[1312] Forked 4927 -(4926) found -(4927) found -[1311] Forked 4928 -[1310] Forked 4929 -(4928) found -(4929) found -[1309] Forked 4930 -[1308] Forked 4931 -(4930) found -(4931) found -[1307] Forked 4932 -[1306] Forked 4933 -(4932) found -(4933) found -[1305] Forked 4934 -[1304] Forked 4935 -(4934) found -(4935) found -[1303] Forked 4936 -[1302] Forked 4937 -(4936) found -(4937) found -[1301] Forked 4938 -[1300] Forked 4939 -(4938) found -(4939) found -[1299] Forked 4940 -[1298] Forked 4941 -(4940) found -(4941) found -[1297] Forked 4942 -[1296] Forked 4943 -(4942) found -(4943) found -[1295] Forked 4944 -[1294] Forked 4945 -(4944) found -(4945) found -[1293] Forked 4946 -[1292] Forked 4947 -(4946) found -(4947) found -[1291] Forked 4948 -[1290] Forked 4949 -(4948) found -(4949) found -[1289] Forked 4950 -[1288] Forked 4951 -(4950) found -(4951) found -[1287] Forked 4952 -[1286] Forked 4953 -(4952) found -(4953) found -[1285] Forked 4954 -[1284] Forked 4955 -(4954) found -(4955) found -[1283] Forked 4956 -[1282] Forked 4957 -(4956) found -(4957) found -[1281] Forked 4958 -[1280] Forked 4959 -(4958) found -(4959) found -[1279] Forked 4960 -[1278] Forked 4961 -(4960) found -(4961) found -[1277] Forked 4962 -[1276] Forked 4963 -(4962) found -(4963) found -[1275] Forked 4964 -[1274] Forked 4965 -(4964) found -(4965) found -[1273] Forked 4966 -[1272] Forked 4967 -(4966) found -(4967) found -[1271] Forked 4968 -[1270] Forked 4969 -(4968) found -(4969) found -[1269] Forked 4970 -[1268] Forked 4971 -(4970) found -(4971) found -[1267] Forked 4972 -[1266] Forked 4973 -(4972) found -(4973) found -[1265] Forked 4974 -[1264] Forked 4975 -(4974) found -(4975) found -[1263] Forked 4976 -[1262] Forked 4977 -(4976) found -(4977) found -[1261] Forked 4978 -[1260] Forked 4979 -(4978) found -(4979) found -[1259] Forked 4980 -[1258] Forked 4981 -(4980) found -(4981) found -[1257] Forked 4982 -[1256] Forked 4983 -(4982) found -(4983) found -[1255] Forked 4984 -[1254] Forked 4985 -(4984) found -(4985) found -[1253] Forked 4986 -[1252] Forked 4987 -(4986) found -(4987) found -[1251] Forked 4988 -[1250] Forked 4989 -(4988) found -(4989) found -[1249] Forked 4990 -[1248] Forked 4991 -(4990) found -(4991) found -[1247] Forked 4992 -[1246] Forked 4993 -(4992) found -(4993) found -[1245] Forked 4994 -[1244] Forked 4995 -(4994) found -(4995) found -[1243] Forked 4996 -[1242] Forked 4997 -(4996) found -(4997) found -[1241] Forked 4998 -[1240] Forked 4999 -(4998) found -(4999) found -[1239] Forked 5000 -[1238] Forked 5001 -(5000) found -(5001) found -[1237] Forked 5002 -[1236] Forked 5003 -(5002) found -(5003) found -[1235] Forked 5004 -[1234] Forked 5005 -(5004) found -(5005) found -[1233] Forked 5006 -[1232] Forked 5007 -(5006) found -(5007) found -[1231] Forked 5008 -[1230] Forked 5009 -(5008) found -(5009) found -[1229] Forked 5010 -[1228] Forked 5011 -(5010) found -(5011) found -[1227] Forked 5012 -[1226] Forked 5013 -(5012) found -(5013) found -[1225] Forked 5014 -[1224] Forked 5015 -(5014) found -(5015) found -[1223] Forked 5016 -[1222] Forked 5017 -(5016) found -(5017) found -[1221] Forked 5018 -[1220] Forked 5019 -(5018) found -(5019) found -[1219] Forked 5020 -[1218] Forked 5021 -(5020) found -(5021) found -[1217] Forked 5022 -[1216] Forked 5023 -(5022) found -(5023) found -[1215] Forked 5024 -[1214] Forked 5025 -(5024) found -(5025) found -[1213] Forked 5026 -[1212] Forked 5027 -(5026) found -(5027) found -[1211] Forked 5028 -[1210] Forked 5029 -(5028) found -(5029) found -[1209] Forked 5030 -[1208] Forked 5031 -(5030) found -(5031) found -[1207] Forked 5032 -[1206] Forked 5033 -(5032) found -(5033) found -[1205] Forked 5034 -[1204] Forked 5035 -(5034) found -(5035) found -[1203] Forked 5036 -[1202] Forked 5037 -(5036) found -(5037) found -[1201] Forked 5038 -[1200] Forked 5039 -(5038) found -(5039) found -[1199] Forked 5040 -[1198] Forked 5041 -(5040) found -(5041) found -[1197] Forked 5042 -(5042) found -[1196] Forked 5043 -(5043) found -[1195] Forked 5044 -(5044) found -[1194] Forked 5045 -(5045) found -[1193] Forked 5046 -(5046) found -[1192] Forked 5047 -(5047) found -[1191] Forked 5048 -(5048) found -[1190] Forked 5049 -(5049) found -[1189] Forked 5050 -(5050) found -[1188] Forked 5051 -(5051) found -[1187] Forked 5052 -(5052) found -[1186] Forked 5053 -(5053) found -[1185] Forked 5054 -(5054) found -[1184] Forked 5055 -(5055) found -[1183] Forked 5056 -(5056) found -[1182] Forked 5057 -(5057) found -[1181] Forked 5058 -(5058) found -[1180] Forked 5059 -(5059) found -[1179] Forked 5060 -(5060) found -[1178] Forked 5061 -(5061) found -[1177] Forked 5062 -(5062) found -[1176] Forked 5063 -(5063) found -[1175] Forked 5064 -(5064) found -[1174] Forked 5065 -(5065) found -[1173] Forked 5066 -(5066) found -[1172] Forked 5067 -(5067) found -[1171] Forked 5068 -(5068) found -[1170] Forked 5069 -(5069) found -[1169] Forked 5070 -(5070) found -[1168] Forked 5071 -(5071) found -[1167] Forked 5072 -(5072) found -[1166] Forked 5073 -(5073) found -[1165] Forked 5074 -(5074) found -[1164] Forked 5075 -(5075) found -[1163] Forked 5076 -[1162] Forked 5077 -(5076) found -(5077) found -[1161] Forked 5078 -[1160] Forked 5079 -(5078) found -(5079) found -[1159] Forked 5080 -[1158] Forked 5081 -(5080) found -(5081) found -[1157] Forked 5082 -[1156] Forked 5083 -(5082) found -(5083) found -[1155] Forked 5084 -[1154] Forked 5085 -(5084) found -(5085) found -[1153] Forked 5086 -[1152] Forked 5087 -(5086) found -(5087) found -[1151] Forked 5088 -[1150] Forked 5089 -(5088) found -(5089) found -[1149] Forked 5090 -[1148] Forked 5091 -(5090) found -(5091) found -[1147] Forked 5092 -[1146] Forked 5093 -(5092) found -(5093) found -[1145] Forked 5094 -[1144] Forked 5095 -(5094) found -(5095) found -[1143] Forked 5096 -[1142] Forked 5097 -(5096) found -(5097) found -[1141] Forked 5098 -[1140] Forked 5099 -(5098) found -(5099) found -[1139] Forked 5100 -[1138] Forked 5101 -(5100) found -(5101) found -[1137] Forked 5102 -[1136] Forked 5103 -(5102) found -(5103) found -[1135] Forked 5104 -[1134] Forked 5105 -(5104) found -(5105) found -[1133] Forked 5106 -[1132] Forked 5107 -(5106) found -(5107) found -[1131] Forked 5108 -[1130] Forked 5109 -(5108) found -(5109) found -[1129] Forked 5110 -[1128] Forked 5111 -(5110) found -(5111) found -[1127] Forked 5112 -[1126] Forked 5113 -(5112) found -(5113) found -[1125] Forked 5114 -[1124] Forked 5115 -(5114) found -(5115) found -[1123] Forked 5116 -[1122] Forked 5117 -(5116) found -(5117) found -[1121] Forked 5118 -[1120] Forked 5119 -(5118) found -(5119) found -[1119] Forked 5120 -[1118] Forked 5121 -(5120) found -(5121) found -[1117] Forked 5122 -[1116] Forked 5123 -(5122) found -(5123) found -[1115] Forked 5124 -[1114] Forked 5125 -(5124) found -(5125) found -[1113] Forked 5126 -[1112] Forked 5127 -(5126) found -(5127) found -[1111] Forked 5128 -[1110] Forked 5129 -(5128) found -(5129) found -[1109] Forked 5130 -[1108] Forked 5131 -(5130) found -(5131) found -[1107] Forked 5132 -[1106] Forked 5133 -(5132) found -(5133) found -[1105] Forked 5134 -[1104] Forked 5135 -(5134) found -(5135) found -[1103] Forked 5136 -[1102] Forked 5137 -(5136) found -(5137) found -[1101] Forked 5138 -[1100] Forked 5139 -(5138) found -(5139) found -[1099] Forked 5140 -[1098] Forked 5141 -(5140) found -(5141) found -[1097] Forked 5142 -[1096] Forked 5143 -(5142) found -(5143) found -[1095] Forked 5144 -[1094] Forked 5145 -(5144) found -(5145) found -[1093] Forked 5146 -[1092] Forked 5147 -(5146) found -(5147) found -[1091] Forked 5148 -[1090] Forked 5149 -(5148) found -(5149) found -[1089] Forked 5150 -[1088] Forked 5151 -(5150) found -(5151) found -[1087] Forked 5152 -[1086] Forked 5153 -(5152) found -(5153) found -[1085] Forked 5154 -[1084] Forked 5155 -(5154) found -(5155) found -[1083] Forked 5156 -[1082] Forked 5157 -(5156) found -(5157) found -[1081] Forked 5158 -[1080] Forked 5159 -(5158) found -(5159) found -[1079] Forked 5160 -[1078] Forked 5161 -(5160) found -(5161) found -[1077] Forked 5162 -[1076] Forked 5163 -(5162) found -(5163) found -[1075] Forked 5164 -[1074] Forked 5165 -(5164) found -(5165) found -[1073] Forked 5166 -(5166) found -[1072] Forked 5167 -(5167) found -[1071] Forked 5168 -(5168) found -[1070] Forked 5169 -(5169) found -[1069] Forked 5170 -(5170) found -[1068] Forked 5171 -(5171) found -[1067] Forked 5172 -(5172) found -[1066] Forked 5173 -(5173) found -[1065] Forked 5174 -(5174) found -[1064] Forked 5175 -(5175) found -[1063] Forked 5176 -(5176) found -[1062] Forked 5177 -(5177) found -[1061] Forked 5178 -(5178) found -[1060] Forked 5179 -(5179) found -[1059] Forked 5180 -(5180) found -[1058] Forked 5181 -(5181) found -[1057] Forked 5182 -(5182) found -[1056] Forked 5183 -(5183) found -[1055] Forked 5184 -(5184) found -[1054] Forked 5185 -(5185) found -[1053] Forked 5186 -(5186) found -[1052] Forked 5187 -(5187) found -[1051] Forked 5188 -(5188) found -[1050] Forked 5189 -(5189) found -[1049] Forked 5190 -(5190) found -[1048] Forked 5191 -(5191) found -[1047] Forked 5192 -(5192) found -[1046] Forked 5193 -(5193) found -[1045] Forked 5194 -(5194) found -[1044] Forked 5195 -(5195) found -[1043] Forked 5196 -(5196) found -[1042] Forked 5197 -(5197) found -[1041] Forked 5198 -(5198) found -[1040] Forked 5199 -(5199) found -[1039] Forked 5200 -(5200) found -[1038] Forked 5201 -[1037] Forked 5202 -(5201) found -(5202) found -[1036] Forked 5203 -[1035] Forked 5204 -(5203) found -(5204) found -[1034] Forked 5205 -[1033] Forked 5207 -(5205) found -(5207) found -[1032] Forked 5208 -(5208) found -[1031] Forked 5209 -(5209) found -[1030] Forked 5210 -(5210) found -[1029] Forked 5211 -(5211) found -[1028] Forked 5212 -(5212) found -[1027] Forked 5213 -(5213) found -[1026] Forked 5214 -(5214) found -[1025] Forked 5215 -(5215) found -[1024] Forked 5216 -(5216) found -[1023] Forked 5217 -(5217) found -[1022] Forked 5218 -(5218) found -[1021] Forked 5219 -(5219) found -[1020] Forked 5220 -(5220) found -[1019] Forked 5221 -(5221) found -[1018] Forked 5222 -(5222) found -[1017] Forked 5223 -(5223) found -[1016] Forked 5224 -(5224) found -[1015] Forked 5225 -(5225) found -[1014] Forked 5226 -(5226) found -[1013] Forked 5227 -(5227) found -[1012] Forked 5228 -(5228) found -[1011] Forked 5229 -(5229) found -[1010] Forked 5230 -(5230) found -[1009] Forked 5231 -(5231) found -[1008] Forked 5232 -(5232) found -[1007] Forked 5233 -(5233) found -[1006] Forked 5234 -(5234) found -[1005] Forked 5235 -(5235) found -[1004] Forked 5236 -(5236) found -[1003] Forked 5237 -(5237) found -[1002] Forked 5238 -(5238) found -[1001] Forked 5239 -(5239) found -[1000] Forked 5240 -(5240) found -[999] Forked 5241 -(5241) found -[998] Forked 5242 -(5242) found -[997] Forked 5243 -(5243) found -[996] Forked 5244 -(5244) found -[995] Forked 5245 -(5245) found -[994] Forked 5246 -(5246) found -[993] Forked 5247 -(5247) found -[992] Forked 5248 -(5248) found -[991] Forked 5249 -(5249) found -[990] Forked 5250 -(5250) found -[989] Forked 5251 -(5251) found -[988] Forked 5252 -(5252) found -[987] Forked 5253 -(5253) found -[986] Forked 5254 -(5254) found -[985] Forked 5255 -(5255) found -[984] Forked 5256 -(5256) found -[983] Forked 5257 -(5257) found -[982] Forked 5258 -(5258) found -[981] Forked 5259 -(5259) found -[980] Forked 5260 -(5260) found -[979] Forked 5261 -(5261) found -[978] Forked 5262 -(5262) found -[977] Forked 5263 -(5263) found -[976] Forked 5264 -(5264) found -[975] Forked 5265 -(5265) found -[974] Forked 5266 -(5266) found -[973] Forked 5267 -(5267) found -[972] Forked 5268 -(5268) found -[971] Forked 5269 -(5269) found -[970] Forked 5270 -(5270) found -[969] Forked 5271 -(5271) found -[968] Forked 5272 -(5272) found -[967] Forked 5273 -(5273) found -[966] Forked 5274 -(5274) found -[965] Forked 5275 -[964] Forked 5276 -(5275) found -(5276) found -[963] Forked 5277 -[962] Forked 5278 -(5277) found -(5278) found -[961] Forked 5279 -[960] Forked 5280 -(5279) found -(5280) found -[959] Forked 5281 -[958] Forked 5282 -(5281) found -(5282) found -[957] Forked 5283 -[956] Forked 5284 -(5283) found -(5284) found -[955] Forked 5285 -[954] Forked 5286 -(5285) found -(5286) found -[953] Forked 5287 -[952] Forked 5288 -(5287) found -(5288) found -[951] Forked 5289 -[950] Forked 5290 -(5289) found -(5290) found -[949] Forked 5291 -[948] Forked 5292 -(5291) found -(5292) found -[947] Forked 5293 -[946] Forked 5294 -(5293) found -(5294) found -[945] Forked 5295 -[944] Forked 5296 -(5295) found -(5296) found -[943] Forked 5297 -[942] Forked 5298 -(5297) found -(5298) found -[941] Forked 5299 -[940] Forked 5300 -(5299) found -(5300) found -[939] Forked 5301 -[938] Forked 5302 -(5301) found -(5302) found -[937] Forked 5303 -[936] Forked 5304 -(5303) found -(5304) found -[935] Forked 5305 -[934] Forked 5306 -(5305) found -(5306) found -[933] Forked 5307 -[932] Forked 5308 -(5307) found -(5308) found -[931] Forked 5309 -[930] Forked 5310 -(5309) found -(5310) found -[929] Forked 5311 -[928] Forked 5312 -(5311) found -(5312) found -[927] Forked 5313 -[926] Forked 5314 -(5313) found -(5314) found -[925] Forked 5315 -[924] Forked 5316 -(5315) found -(5316) found -[923] Forked 5317 -(5317) found -[922] Forked 5318 -(5318) found -[921] Forked 5319 -(5319) found -[920] Forked 5320 -(5320) found -[919] Forked 5321 -(5321) found -[918] Forked 5322 -(5322) found -[917] Forked 5323 -(5323) found -[916] Forked 5324 -(5324) found -[915] Forked 5325 -(5325) found -[914] Forked 5326 -(5326) found -[913] Forked 5327 -(5327) found -[912] Forked 5328 -(5328) found -[911] Forked 5329 -(5329) found -[910] Forked 5330 -(5330) found -[909] Forked 5331 -(5331) found -[908] Forked 5332 -(5332) found -[907] Forked 5333 -(5333) found -[906] Forked 5334 -(5334) found -[905] Forked 5335 -(5335) found -[904] Forked 5336 -(5336) found -[903] Forked 5337 -(5337) found -[902] Forked 5338 -(5338) found -[901] Forked 5339 -(5339) found -[900] Forked 5340 -(5340) found -[899] Forked 5341 -(5341) found -[898] Forked 5342 -(5342) found -[897] Forked 5343 -(5343) found -[896] Forked 5344 -(5344) found -[895] Forked 5345 -(5345) found -[894] Forked 5346 -(5346) found -[893] Forked 5347 -(5347) found -[892] Forked 5348 -(5348) found -[891] Forked 5349 -(5349) found -[890] Forked 5350 -(5350) found -[889] Forked 5351 -(5351) found -[888] Forked 5352 -(5352) found -[887] Forked 5353 -[886] Forked 5354 -(5353) found -(5354) found -[885] Forked 5355 -[884] Forked 5356 -(5355) found -(5356) found -[883] Forked 5357 -[882] Forked 5358 -(5357) found -(5358) found -[881] Forked 5359 -[880] Forked 5360 -(5359) found -(5360) found -[879] Forked 5361 -[878] Forked 5362 -(5361) found -(5362) found -[877] Forked 5363 -[876] Forked 5364 -(5363) found -(5364) found -[875] Forked 5365 -[874] Forked 5366 -(5365) found -(5366) found -[873] Forked 5367 -(5367) found -[872] Forked 5368 -(5368) found -[871] Forked 5369 -[870] Forked 5370 -(5369) found -(5370) found -[869] Forked 5371 -[868] Forked 5372 -(5371) found -(5372) found -[867] Forked 5373 -[866] Forked 5374 -(5373) found -(5374) found -[865] Forked 5375 -[864] Forked 5376 -(5375) found -(5376) found -[863] Forked 5377 -[862] Forked 5378 -(5377) found -(5378) found -[861] Forked 5379 -[860] Forked 5380 -(5379) found -(5380) found -[859] Forked 5381 -[858] Forked 5382 -(5381) found -(5382) found -[857] Forked 5383 -[856] Forked 5384 -(5383) found -(5384) found -[855] Forked 5385 -[854] Forked 5386 -(5385) found -(5386) found -[853] Forked 5387 -[852] Forked 5388 -(5387) found -(5388) found -[851] Forked 5389 -[850] Forked 5390 -(5389) found -(5390) found -[849] Forked 5391 -[848] Forked 5392 -(5391) found -(5392) found -[847] Forked 5393 -[846] Forked 5394 -(5393) found -(5394) found -[845] Forked 5395 -[844] Forked 5396 -(5395) found -(5396) found -[843] Forked 5397 -[842] Forked 5398 -(5397) found -(5398) found -[841] Forked 5399 -[840] Forked 5400 -(5399) found -(5400) found -[839] Forked 5401 -[838] Forked 5402 -(5401) found -(5402) found -[837] Forked 5403 -[836] Forked 5404 -(5403) found -(5404) found -[835] Forked 5405 -[834] Forked 5406 -(5405) found -(5406) found -[833] Forked 5407 -[832] Forked 5408 -(5407) found -(5408) found -[831] Forked 5409 -[830] Forked 5410 -(5409) found -(5410) found -[829] Forked 5411 -[828] Forked 5412 -(5411) found -(5412) found -[827] Forked 5413 -[826] Forked 5414 -(5414) found -(5413) found -[825] Forked 5415 -(5415) found -[824] Forked 5416 -(5416) found -[823] Forked 5417 -(5417) found -[822] Forked 5418 -(5418) found -[821] Forked 5419 -(5419) found -[820] Forked 5420 -(5420) found -[819] Forked 5421 -(5421) found -[818] Forked 5422 -(5422) found -[817] Forked 5423 -(5423) found -[816] Forked 5424 -(5424) found -[815] Forked 5425 -(5425) found -[814] Forked 5426 -(5426) found -[813] Forked 5427 -(5427) found -[812] Forked 5428 -(5428) found -[811] Forked 5429 -(5429) found -[810] Forked 5430 -(5430) found -[809] Forked 5431 -(5431) found -[808] Forked 5432 -(5432) found -[807] Forked 5433 -(5433) found -[806] Forked 5434 -(5434) found -[805] Forked 5435 -(5435) found -[804] Forked 5436 -(5436) found -[803] Forked 5437 -(5437) found -[802] Forked 5438 -(5438) found -[801] Forked 5439 -(5439) found -[800] Forked 5440 -(5440) found -[799] Forked 5441 -(5441) found -[798] Forked 5442 -(5442) found -[797] Forked 5443 -(5443) found -[796] Forked 5444 -(5444) found -[795] Forked 5445 -(5445) found -[794] Forked 5446 -(5446) found -[793] Forked 5447 -(5447) found -[792] Forked 5448 -(5448) found -[791] Forked 5449 -(5449) found -[790] Forked 5450 -(5450) found -[789] Forked 5451 -(5451) found -[788] Forked 5452 -(5452) found -[787] Forked 5453 -(5453) found -[786] Forked 5454 -(5454) found -[785] Forked 5455 -(5455) found -[784] Forked 5456 -(5456) found -[783] Forked 5457 -(5457) found -[782] Forked 5458 -(5458) found -[781] Forked 5459 -(5459) found -[780] Forked 5460 -(5460) found -[779] Forked 5461 -(5461) found -[778] Forked 5462 -(5462) found -[777] Forked 5463 -(5463) found -[776] Forked 5464 -(5464) found -[775] Forked 5465 -(5465) found -[774] Forked 5466 -(5466) found -[773] Forked 5467 -(5467) found -[772] Forked 5468 -(5468) found -[771] Forked 5469 -(5469) found -[770] Forked 5470 -(5470) found -[769] Forked 5471 -(5471) found -[768] Forked 5472 -[767] Forked 5473 -(5472) found -(5473) found -[766] Forked 5474 -[765] Forked 5475 -(5474) found -(5475) found -[764] Forked 5476 -[763] Forked 5477 -(5476) found -(5477) found -[762] Forked 5478 -[761] Forked 5479 -(5478) found -(5479) found -[760] Forked 5480 -[759] Forked 5481 -(5480) found -(5481) found -[758] Forked 5482 -[757] Forked 5483 -(5482) found -(5483) found -[756] Forked 5484 -[755] Forked 5485 -(5484) found -(5485) found -[754] Forked 5486 -[753] Forked 5487 -(5486) found -(5487) found -[752] Forked 5488 -[751] Forked 5489 -(5488) found -(5489) found -[750] Forked 5490 -[749] Forked 5491 -(5490) found -(5491) found -[748] Forked 5492 -[747] Forked 5493 -(5492) found -(5493) found -[746] Forked 5494 -[745] Forked 5495 -(5494) found -(5495) found -[744] Forked 5496 -[743] Forked 5497 -(5496) found -(5497) found -[742] Forked 5498 -[741] Forked 5499 -(5498) found -(5499) found -[740] Forked 5500 -[739] Forked 5501 -(5500) found -(5501) found -[738] Forked 5502 -[737] Forked 5503 -(5502) found -(5503) found -[736] Forked 5504 -[735] Forked 5505 -(5504) found -(5505) found -[734] Forked 5506 -[733] Forked 5507 -(5506) found -(5507) found -[732] Forked 5508 -[731] Forked 5509 -(5508) found -(5509) found -[730] Forked 5510 -[729] Forked 5511 -(5510) found -(5511) found -[728] Forked 5512 -[727] Forked 5513 -(5512) found -(5513) found -[726] Forked 5514 -[725] Forked 5515 -(5514) found -(5515) found -[724] Forked 5516 -[723] Forked 5517 -(5516) found -(5517) found -[722] Forked 5518 -[721] Forked 5519 -(5518) found -(5519) found -[720] Forked 5520 -[719] Forked 5521 -(5520) found -(5521) found -[718] Forked 5522 -[717] Forked 5523 -(5522) found -(5523) found -[716] Forked 5524 -[715] Forked 5525 -(5524) found -(5525) found -[714] Forked 5526 -[713] Forked 5527 -(5526) found -(5527) found -[712] Forked 5528 -[711] Forked 5529 -(5528) found -(5529) found -[710] Forked 5530 -[709] Forked 5531 -(5530) found -(5531) found -[708] Forked 5532 -[707] Forked 5533 -(5532) found -(5533) found -[706] Forked 5534 -[705] Forked 5535 -(5534) found -(5535) found -[704] Forked 5536 -[703] Forked 5537 -(5536) found -(5537) found -[702] Forked 5538 -[701] Forked 5539 -(5538) found -(5539) found -[700] Forked 5540 -[699] Forked 5541 -(5540) found -(5541) found -[698] Forked 5542 -[697] Forked 5543 -(5542) found -(5543) found -[696] Forked 5544 -[695] Forked 5545 -(5544) found -(5545) found -[694] Forked 5546 -[693] Forked 5547 -(5546) found -(5547) found -[692] Forked 5548 -[691] Forked 5549 -(5548) found -(5549) found -[690] Forked 5550 -[689] Forked 5551 -(5550) found -(5551) found -[688] Forked 5552 -[687] Forked 5553 -(5552) found -(5553) found -[686] Forked 5554 -[685] Forked 5555 -(5554) found -(5555) found -[684] Forked 5556 -[683] Forked 5557 -(5556) found -(5557) found -[682] Forked 5558 -[681] Forked 5559 -(5558) found -(5559) found -[680] Forked 5560 -[679] Forked 5561 -(5560) found -(5561) found -[678] Forked 5562 -[677] Forked 5563 -(5562) found -(5563) found -[676] Forked 5564 -(5564) found -[675] Forked 5565 -(5565) found -[674] Forked 5566 -(5566) found -[673] Forked 5567 -(5567) found -[672] Forked 5568 -(5568) found -[671] Forked 5569 -(5569) found -[670] Forked 5570 -(5570) found -[669] Forked 5571 -(5571) found -[668] Forked 5572 -(5572) found -[667] Forked 5573 -(5573) found -[666] Forked 5574 -(5574) found -[665] Forked 5575 -(5575) found -[664] Forked 5576 -(5576) found -[663] Forked 5577 -(5577) found -[662] Forked 5578 -(5578) found -[661] Forked 5579 -(5579) found -[660] Forked 5580 -(5580) found -[659] Forked 5581 -(5581) found -[658] Forked 5582 -(5582) found -[657] Forked 5583 -(5583) found -[656] Forked 5584 -(5584) found -[655] Forked 5585 -(5585) found -[654] Forked 5586 -(5586) found -[653] Forked 5587 -(5587) found -[652] Forked 5588 -(5588) found -[651] Forked 5589 -(5589) found -[650] Forked 5590 -(5590) found -[649] Forked 5591 -(5591) found -[648] Forked 5592 -(5592) found -[647] Forked 5593 -(5593) found -[646] Forked 5594 -(5594) found -[645] Forked 5595 -(5595) found -[644] Forked 5596 -(5596) found -[643] Forked 5597 -(5597) found -[642] Forked 5598 -(5598) found -[641] Forked 5599 -(5599) found -[640] Forked 5600 -(5600) found -[639] Forked 5601 -[638] Forked 5602 -(5601) found -(5602) found -[637] Forked 5603 -[636] Forked 5604 -(5603) found -(5604) found -[635] Forked 5605 -[634] Forked 5606 -(5605) found -(5606) found -[633] Forked 5607 -[632] Forked 5608 -(5607) found -(5608) found -[631] Forked 5609 -[630] Forked 5610 -(5609) found -(5610) found -[629] Forked 5611 -[628] Forked 5612 -(5611) found -(5612) found -[627] Forked 5613 -[626] Forked 5614 -(5613) found -(5614) found -[625] Forked 5615 -[624] Forked 5616 -(5615) found -(5616) found -[623] Forked 5617 -[622] Forked 5618 -(5617) found -(5618) found -[621] Forked 5619 -[620] Forked 5620 -(5619) found -(5620) found -[619] Forked 5621 -[618] Forked 5622 -(5621) found -(5622) found -[617] Forked 5623 -[616] Forked 5624 -(5623) found -(5624) found -[615] Forked 5625 -[614] Forked 5626 -(5625) found -(5626) found -[613] Forked 5627 -[612] Forked 5628 -(5627) found -(5628) found -[611] Forked 5629 -[610] Forked 5630 -(5629) found -(5630) found -[609] Forked 5631 -[608] Forked 5632 -(5631) found -(5632) found -[607] Forked 5633 -[606] Forked 5634 -(5633) found -(5634) found -[605] Forked 5635 -[604] Forked 5636 -(5635) found -(5636) found -[603] Forked 5637 -[602] Forked 5638 -(5637) found -(5638) found -[601] Forked 5639 -[600] Forked 5640 -(5639) found -(5640) found -[599] Forked 5641 -[598] Forked 5642 -(5641) found -(5642) found -[597] Forked 5643 -[596] Forked 5644 -(5643) found -(5644) found -[595] Forked 5645 -[594] Forked 5646 -(5645) found -(5646) found -[593] Forked 5647 -[592] Forked 5648 -(5647) found -(5648) found -[591] Forked 5649 -[590] Forked 5650 -(5649) found -(5650) found -[589] Forked 5651 -[588] Forked 5652 -(5651) found -(5652) found -[587] Forked 5653 -[586] Forked 5654 -(5653) found -(5654) found -[585] Forked 5655 -[584] Forked 5656 -(5655) found -(5656) found -[583] Forked 5657 -[582] Forked 5658 -(5657) found -(5658) found -[581] Forked 5659 -[580] Forked 5660 -(5659) found -(5660) found -[579] Forked 5661 -[578] Forked 5662 -(5661) found -(5662) found -[577] Forked 5663 -[576] Forked 5664 -(5663) found -(5664) found -[575] Forked 5665 -[574] Forked 5666 -(5665) found -(5666) found -[573] Forked 5667 -[572] Forked 5668 -(5667) found -(5668) found -[571] Forked 5669 -[570] Forked 5670 -(5669) found -(5670) found -[569] Forked 5671 -[568] Forked 5672 -(5671) found -(5672) found -[567] Forked 5673 -[566] Forked 5674 -(5673) found -(5674) found -[565] Forked 5675 -[564] Forked 5676 -(5675) found -(5676) found -[563] Forked 5677 -[562] Forked 5678 -(5677) found -(5678) found -[561] Forked 5679 -[560] Forked 5680 -(5679) found -(5680) found -[559] Forked 5681 -[558] Forked 5682 -(5681) found -(5682) found -[557] Forked 5683 -[556] Forked 5684 -(5683) found -(5684) found -[555] Forked 5685 -[554] Forked 5686 -(5685) found -(5686) found -[553] Forked 5687 -[552] Forked 5688 -(5687) found -(5688) found -[551] Forked 5689 -[550] Forked 5690 -(5689) found -(5690) found -[549] Forked 5691 -[548] Forked 5692 -(5691) found -(5692) found -[547] Forked 5693 -(5693) found -[546] Forked 5694 -[545] Forked 5695 -(5694) found -(5695) found -[544] Forked 5696 -(5696) found -[543] Forked 5697 -[542] Forked 5698 -(5697) found -(5698) found -[541] Forked 5699 -[540] Forked 5700 -(5699) found -(5700) found -[539] Forked 5701 -[538] Forked 5702 -(5701) found -(5702) found -[537] Forked 5703 -[536] Forked 5705 -(5703) found -(5705) found -[535] Forked 5706 -(5706) found -[534] Forked 5707 -(5707) found -[533] Forked 5708 -(5708) found -[532] Forked 5709 -(5709) found -[531] Forked 5710 -(5710) found -[530] Forked 5711 -(5711) found -[529] Forked 5712 -(5712) found -[528] Forked 5713 -(5713) found -[527] Forked 5714 -(5714) found -[526] Forked 5715 -(5715) found -[525] Forked 5716 -(5716) found -[524] Forked 5717 -(5717) found -[523] Forked 5718 -(5718) found -[522] Forked 5719 -(5719) found -[521] Forked 5720 -(5720) found -[520] Forked 5721 -(5721) found -[519] Forked 5722 -(5722) found -[518] Forked 5723 -(5723) found -[517] Forked 5724 -(5724) found -[516] Forked 5725 -(5725) found -[515] Forked 5726 -(5726) found -[514] Forked 5727 -(5727) found -[513] Forked 5728 -(5728) found -[512] Forked 5729 -(5729) found -[511] Forked 5730 -(5730) found -[510] Forked 5731 -(5731) found -[509] Forked 5732 -(5732) found -[508] Forked 5733 -(5733) found -[507] Forked 5734 -(5734) found -[506] Forked 5735 -(5735) found -[505] Forked 5736 -(5736) found -[504] Forked 5737 -(5737) found -[503] Forked 5738 -(5738) found -[502] Forked 5739 -(5739) found -[501] Forked 5740 -(5740) found -[500] Forked 5741 -(5741) found -[499] Forked 5742 -(5742) found -[498] Forked 5743 -(5743) found -[497] Forked 5744 -(5744) found -[496] Forked 5745 -(5745) found -[495] Forked 5746 -(5746) found -[494] Forked 5747 -(5747) found -[493] Forked 5748 -(5748) found -[492] Forked 5749 -(5749) found -[491] Forked 5750 -(5750) found -[490] Forked 5751 -(5751) found -[489] Forked 5752 -(5752) found -[488] Forked 5753 -(5753) found -[487] Forked 5754 -(5754) found -[486] Forked 5755 -(5755) found -[485] Forked 5756 -(5756) found -[484] Forked 5757 -(5757) found -[483] Forked 5758 -(5758) found -[482] Forked 5759 -(5759) found -[481] Forked 5760 -(5760) found -[480] Forked 5761 -(5761) found -[479] Forked 5762 -(5762) found -[478] Forked 5763 -(5763) found -[477] Forked 5764 -(5764) found -[476] Forked 5765 -(5765) found -[475] Forked 5766 -(5766) found -[474] Forked 5767 -(5767) found -[473] Forked 5768 -(5768) found -[472] Forked 5769 -(5769) found -[471] Forked 5770 -(5770) found -[470] Forked 5771 -(5771) found -[469] Forked 5772 -(5772) found -[468] Forked 5773 -(5773) found -[467] Forked 5774 -(5774) found -[466] Forked 5775 -(5775) found -[465] Forked 5776 -(5776) found -[464] Forked 5777 -(5777) found -[463] Forked 5778 -(5778) found -[462] Forked 5779 -(5779) found -[461] Forked 5780 -(5780) found -[460] Forked 5781 -(5781) found -[459] Forked 5782 -(5782) found -[458] Forked 5783 -(5783) found -[457] Forked 5784 -(5784) found -[456] Forked 5785 -(5785) found -[455] Forked 5786 -(5786) found -[454] Forked 5787 -(5787) found -[453] Forked 5788 -(5788) found -[452] Forked 5789 -(5789) found -[451] Forked 5790 -(5790) found -[450] Forked 5791 -(5791) found -[449] Forked 5792 -(5792) found -[448] Forked 5793 -(5793) found -[447] Forked 5794 -(5794) found -[446] Forked 5795 -(5795) found -[445] Forked 5796 -(5796) found -[444] Forked 5797 -(5797) found -[443] Forked 5798 -(5798) found -[442] Forked 5799 -(5799) found -[441] Forked 5800 -(5800) found -[440] Forked 5801 -(5801) found -[439] Forked 5802 -(5802) found -[438] Forked 5803 -(5803) found -[437] Forked 5804 -[436] Forked 5805 -(5804) found -(5805) found -[435] Forked 5806 -[434] Forked 5807 -(5806) found -(5807) found -[433] Forked 5808 -[432] Forked 5809 -(5808) found -(5809) found -[431] Forked 5810 -[430] Forked 5811 -(5810) found -(5811) found -[429] Forked 5812 -[428] Forked 5813 -(5812) found -(5813) found -[427] Forked 5814 -[426] Forked 5815 -(5814) found -(5815) found -[425] Forked 5816 -[424] Forked 5817 -(5816) found -(5817) found -[423] Forked 5818 -[422] Forked 5819 -(5818) found -(5819) found -[421] Forked 5820 -[420] Forked 5821 -(5820) found -(5821) found -[419] Forked 5822 -[418] Forked 5823 -(5822) found -(5823) found -[417] Forked 5824 -[416] Forked 5825 -(5824) found -(5825) found -[415] Forked 5826 -[414] Forked 5827 -(5826) found -(5827) found -[413] Forked 5828 -[412] Forked 5829 -(5828) found -(5829) found -[411] Forked 5830 -[410] Forked 5831 -(5830) found -(5831) found -[409] Forked 5832 -[408] Forked 5833 -(5832) found -(5833) found -[407] Forked 5834 -[406] Forked 5835 -(5834) found -(5835) found -[405] Forked 5836 -[404] Forked 5838 -(5836) found -(5838) found -[403] Forked 5839 -(5839) found -[402] Forked 5840 -(5840) found -[401] Forked 5841 -(5841) found -[400] Forked 5842 -(5842) found -[399] Forked 5843 -(5843) found -[398] Forked 5844 -(5844) found -[397] Forked 5845 -(5845) found -[396] Forked 5846 -(5846) found -[395] Forked 5847 -(5847) found -[394] Forked 5848 -(5848) found -[393] Forked 5849 -(5849) found -[392] Forked 5850 -(5850) found -[391] Forked 5851 -(5851) found -[390] Forked 5852 -(5852) found -[389] Forked 5853 -(5853) found -[388] Forked 5854 -(5854) found -[387] Forked 5855 -(5855) found -[386] Forked 5856 -(5856) found -[385] Forked 5857 -(5857) found -[384] Forked 5858 -(5858) found -[383] Forked 5859 -(5859) found -[382] Forked 5860 -(5860) found -[381] Forked 5861 -(5861) found -[380] Forked 5862 -(5862) found -[379] Forked 5863 -(5863) found -[378] Forked 5864 -(5864) found -[377] Forked 5865 -(5865) found -[376] Forked 5866 -(5866) found -[375] Forked 5867 -(5867) found -[374] Forked 5868 -(5868) found -[373] Forked 5869 -(5869) found -[372] Forked 5870 -(5870) found -[371] Forked 5871 -(5871) found -[370] Forked 5872 -(5872) found -[369] Forked 5873 -(5873) found -[368] Forked 5874 -(5874) found -[367] Forked 5875 -(5875) found -[366] Forked 5876 -(5876) found -[365] Forked 5877 -(5877) found -[364] Forked 5878 -(5878) found -[363] Forked 5879 -(5879) found -[362] Forked 5880 -(5880) found -[361] Forked 5881 -(5881) found -[360] Forked 5882 -(5882) found -[359] Forked 5883 -(5883) found -[358] Forked 5884 -[357] Forked 5885 -(5884) found -(5885) found -[356] Forked 5886 -(5886) found -[355] Forked 5887 -[354] Forked 5888 -(5887) found -(5888) found -[353] Forked 5889 -[352] Forked 5890 -(5889) found -(5890) found -[351] Forked 5891 -[350] Forked 5892 -(5891) found -(5892) found -[349] Forked 5893 -[348] Forked 5894 -(5893) found -(5894) found -[347] Forked 5895 -[346] Forked 5896 -(5895) found -(5896) found -[345] Forked 5897 -[344] Forked 5898 -(5897) found -(5898) found -[343] Forked 5899 -[342] Forked 5900 -(5899) found -(5900) found -[341] Forked 5901 -[340] Forked 5902 -(5901) found -(5902) found -[339] Forked 5903 -[338] Forked 5904 -(5903) found -(5904) found -[337] Forked 5905 -[336] Forked 5906 -(5905) found -(5906) found -[335] Forked 5907 -[334] Forked 5908 -(5907) found -(5908) found -[333] Forked 5909 -[332] Forked 5910 -(5909) found -(5910) found -[331] Forked 5911 -[330] Forked 5912 -(5911) found -(5912) found -[329] Forked 5913 -[328] Forked 5914 -(5913) found -(5914) found -[327] Forked 5915 -[326] Forked 5916 -(5915) found -(5916) found -[325] Forked 5917 -[324] Forked 5918 -(5917) found -(5918) found -[323] Forked 5919 -[322] Forked 5920 -(5919) found -(5920) found -[321] Forked 5921 -[320] Forked 5922 -(5921) found -(5922) found -[319] Forked 5923 -[318] Forked 5924 -(5923) found -(5924) found -[317] Forked 5925 -[316] Forked 5926 -(5925) found -(5926) found -[315] Forked 5927 -[314] Forked 5928 -(5927) found -(5928) found -[313] Forked 5929 -[312] Forked 5930 -(5929) found -(5930) found -[311] Forked 5931 -[310] Forked 5932 -(5931) found -(5932) found -[309] Forked 5933 -[308] Forked 5934 -(5933) found -(5934) found -[307] Forked 5935 -[306] Forked 5936 -(5935) found -(5936) found -[305] Forked 5937 -[304] Forked 5938 -(5937) found -(5938) found -[303] Forked 5939 -[302] Forked 5940 -(5939) found -(5940) found -[301] Forked 5941 -[300] Forked 5942 -(5941) found -(5942) found -[299] Forked 5943 -[298] Forked 5944 -(5943) found -(5944) found -[297] Forked 5945 -[296] Forked 5946 -(5945) found -(5946) found -[295] Forked 5947 -[294] Forked 5948 -(5947) found -(5948) found -[293] Forked 5949 -[292] Forked 5950 -(5949) found -(5950) found -[291] Forked 5951 -[290] Forked 5952 -(5951) found -(5952) found -[289] Forked 5953 -[288] Forked 5954 -(5953) found -(5954) found -[287] Forked 5955 -[286] Forked 5956 -(5955) found -(5956) found -[285] Forked 5957 -[284] Forked 5958 -(5957) found -(5958) found -[283] Forked 5959 -[282] Forked 5960 -(5959) found -(5960) found -[281] Forked 5961 -[280] Forked 5962 -(5961) found -(5962) found -[279] Forked 5963 -[278] Forked 5964 -(5963) found -(5964) found -[277] Forked 5965 -[276] Forked 5966 -(5965) found -(5966) found -[275] Forked 5967 -[274] Forked 5968 -(5967) found -(5968) found -[273] Forked 5969 -[272] Forked 5970 -(5969) found -(5970) found -[271] Forked 5971 -[270] Forked 5972 -(5971) found -(5972) found -[269] Forked 5973 -[268] Forked 5974 -(5973) found -(5974) found -[267] Forked 5975 -(5975) found -[266] Forked 5976 -(5976) found -[265] Forked 5977 -(5977) found -[264] Forked 5978 -(5978) found -[263] Forked 5979 -(5979) found -[262] Forked 5980 -(5980) found -[261] Forked 5981 -(5981) found -[260] Forked 5982 -(5982) found -[259] Forked 5983 -(5983) found -[258] Forked 5984 -(5984) found -[257] Forked 5985 -(5985) found -[256] Forked 5986 -(5986) found -[255] Forked 5987 -(5987) found -[254] Forked 5988 -(5988) found -[253] Forked 5989 -(5989) found -[252] Forked 5990 -(5990) found -[251] Forked 5991 -(5991) found -[250] Forked 5992 -(5992) found -[249] Forked 5993 -(5993) found -[248] Forked 5994 -(5994) found -[247] Forked 5995 -(5995) found -[246] Forked 5996 -(5996) found -[245] Forked 5997 -(5997) found -[244] Forked 5998 -(5998) found -[243] Forked 5999 -(5999) found -[242] Forked 6000 -(6000) found -[241] Forked 6001 -(6001) found -[240] Forked 6002 -(6002) found -[239] Forked 6003 -(6003) found -[238] Forked 6004 -(6004) found -[237] Forked 6005 -(6005) found -[236] Forked 6006 -(6006) found -[235] Forked 6007 -(6007) found -[234] Forked 6008 -(6008) found -[233] Forked 6009 -(6009) found -[232] Forked 6010 -(6010) found -[231] Forked 6011 -[230] Forked 6012 -(6011) found -(6012) found -[229] Forked 6013 -[228] Forked 6014 -(6013) found -(6014) found -[227] Forked 6015 -[226] Forked 6016 -(6015) found -(6016) found -[225] Forked 6017 -[224] Forked 6018 -(6017) found -(6018) found -[223] Forked 6019 -[222] Forked 6020 -(6019) found -(6020) found -[221] Forked 6021 -[220] Forked 6022 -(6021) found -(6022) found -[219] Forked 6023 -[218] Forked 6024 -(6023) found -(6024) found -[217] Forked 6025 -[216] Forked 6026 -(6025) found -(6026) found -[215] Forked 6027 -[214] Forked 6028 -(6027) found -(6028) found -[213] Forked 6029 -[212] Forked 6030 -(6029) found -(6030) found -[211] Forked 6031 -[210] Forked 6032 -(6031) found -(6032) found -[209] Forked 6033 -[208] Forked 6034 -(6033) found -(6034) found -[207] Forked 6035 -[206] Forked 6036 -(6035) found -(6036) found -[205] Forked 6037 -[204] Forked 6038 -(6037) found -(6038) found -[203] Forked 6039 -[202] Forked 6040 -(6039) found -(6040) found -[201] Forked 6041 -[200] Forked 6042 -(6041) found -(6042) found -[199] Forked 6043 -[198] Forked 6044 -(6043) found -(6044) found -[197] Forked 6045 -[196] Forked 6046 -(6045) found -(6046) found -[195] Forked 6047 -[194] Forked 6048 -(6047) found -(6048) found -[193] Forked 6049 -[192] Forked 6050 -(6049) found -(6050) found -[191] Forked 6051 -[190] Forked 6052 -(6051) found -(6052) found -[189] Forked 6053 -[188] Forked 6054 -(6053) found -(6054) found -[187] Forked 6055 -[186] Forked 6056 -(6055) found -(6056) found -[185] Forked 6057 -[184] Forked 6058 -(6057) found -(6058) found -[183] Forked 6059 -[182] Forked 6060 -(6059) found -(6060) found -[181] Forked 6061 -[180] Forked 6062 -(6061) found -(6062) found -[179] Forked 6063 -[178] Forked 6064 -(6063) found -(6064) found -[177] Forked 6065 -[176] Forked 6066 -(6065) found -(6066) found -[175] Forked 6067 -[174] Forked 6068 -(6067) found -(6068) found -[173] Forked 6069 -[172] Forked 6070 -(6069) found -(6070) found -[171] Forked 6071 -[170] Forked 6072 -(6071) found -(6072) found -[169] Forked 6073 -[168] Forked 6074 -(6073) found -(6074) found -[167] Forked 6075 -[166] Forked 6076 -(6075) found -(6076) found -[165] Forked 6077 -[164] Forked 6078 -(6077) found -(6078) found -[163] Forked 6079 -[162] Forked 6080 -(6079) found -(6080) found -[161] Forked 6081 -[160] Forked 6082 -(6081) found -(6082) found -[159] Forked 6083 -[158] Forked 6084 -(6083) found -(6084) found -[157] Forked 6085 -[156] Forked 6086 -(6085) found -(6086) found -[155] Forked 6087 -[154] Forked 6088 -(6087) found -(6088) found -[153] Forked 6089 -[152] Forked 6090 -(6089) found -(6090) found -[151] Forked 6091 -[150] Forked 6092 -(6091) found -(6092) found -[149] Forked 6093 -[148] Forked 6094 -(6093) found -(6094) found -[147] Forked 6095 -[146] Forked 6096 -(6095) found -(6096) found -[145] Forked 6097 -[144] Forked 6098 -(6097) found -(6098) found -[143] Forked 6099 -[142] Forked 6100 -(6099) found -(6100) found -[141] Forked 6101 -[140] Forked 6102 -(6101) found -(6102) found -[139] Forked 6103 -(6103) found -[138] Forked 6104 -(6104) found -[137] Forked 6105 -(6105) found -[136] Forked 6106 -(6106) found -[135] Forked 6107 -(6107) found -[134] Forked 6108 -(6108) found -[133] Forked 6109 -(6109) found -[132] Forked 6110 -(6110) found -[131] Forked 6111 -(6111) found -[130] Forked 6112 -(6112) found -[129] Forked 6113 -(6113) found -[128] Forked 6114 -(6114) found -[127] Forked 6115 -(6115) found -[126] Forked 6116 -(6116) found -[125] Forked 6117 -(6117) found -[124] Forked 6118 -(6118) found -[123] Forked 6119 -(6119) found -[122] Forked 6120 -(6120) found -[121] Forked 6121 -(6121) found -[120] Forked 6122 -(6122) found -[119] Forked 6123 -(6123) found -[118] Forked 6124 -(6124) found -[117] Forked 6125 -(6125) found -[116] Forked 6126 -(6126) found -[115] Forked 6127 -(6127) found -[114] Forked 6128 -(6128) found -[113] Forked 6129 -(6129) found -[112] Forked 6130 -(6130) found -[111] Forked 6131 -(6131) found -[110] Forked 6132 -(6132) found -[109] Forked 6133 -(6133) found -[108] Forked 6134 -(6134) found -[107] Forked 6135 -(6135) found -[106] Forked 6136 -(6136) found -[105] Forked 6137 -(6137) found -[104] Forked 6138 -[103] Forked 6139 -(6138) found -(6139) found -[102] Forked 6140 -[101] Forked 6141 -(6140) found -(6141) found -[100] Forked 6142 -[99] Forked 6143 -(6142) found -(6143) found -[98] Forked 6144 -[97] Forked 6145 -(6144) found -(6145) found -[96] Forked 6146 -[95] Forked 6147 -(6146) found -(6147) found -[94] Forked 6148 -[93] Forked 6149 -(6148) found -(6149) found -[92] Forked 6150 -[91] Forked 6151 -(6150) found -(6151) found -[90] Forked 6152 -[89] Forked 6153 -(6152) found -(6153) found -[88] Forked 6154 -[87] Forked 6155 -(6154) found -(6155) found -[86] Forked 6156 -[85] Forked 6157 -(6156) found -(6157) found -[84] Forked 6158 -[83] Forked 6159 -(6158) found -(6159) found -[82] Forked 6160 -[81] Forked 6161 -(6160) found -(6161) found -[80] Forked 6162 -[79] Forked 6163 -(6162) found -(6163) found -[78] Forked 6164 -[77] Forked 6165 -(6164) found -(6165) found -[76] Forked 6166 -[75] Forked 6167 -(6166) found -(6167) found -[74] Forked 6168 -[73] Forked 6169 -(6168) found -(6169) found -[72] Forked 6170 -[71] Forked 6171 -(6170) found -(6171) found -[70] Forked 6172 -[69] Forked 6173 -(6172) found -(6173) found -[68] Forked 6174 -[67] Forked 6175 -(6174) found -(6175) found -[66] Forked 6176 -[65] Forked 6177 -(6176) found -(6177) found -[64] Forked 6178 -[63] Forked 6179 -(6178) found -(6179) found -[62] Forked 6180 -[61] Forked 6181 -(6180) found -(6181) found -[60] Forked 6182 -[59] Forked 6183 -(6182) found -(6183) found -[58] Forked 6184 -(6184) found -[57] Forked 6185 -(6185) found -[56] Forked 6186 -(6186) found -[55] Forked 6187 -(6187) found -[54] Forked 6188 -(6188) found -[53] Forked 6189 -(6189) found -[52] Forked 6190 -(6190) found -[51] Forked 6191 -(6191) found -[50] Forked 6192 -(6192) found -[49] Forked 6193 -(6193) found -[48] Forked 6194 -(6194) found -[47] Forked 6195 -(6195) found -[46] Forked 6196 -(6196) found -[45] Forked 6197 -(6197) found -[44] Forked 6198 -(6198) found -[43] Forked 6199 -(6199) found -[42] Forked 6200 -(6200) found -[41] Forked 6201 -(6201) found -[40] Forked 6202 -(6202) found -[39] Forked 6203 -(6203) found -[38] Forked 6204 -(6204) found -[37] Forked 6205 -(6205) found -[36] Forked 6206 -(6206) found -[35] Forked 6207 -(6207) found -[34] Forked 6208 -(6208) found -[33] Forked 6209 -(6209) found -[32] Forked 6210 -(6210) found -[31] Forked 6211 -(6211) found -[30] Forked 6212 -(6212) found -[29] Forked 6213 -(6213) found -[28] Forked 6214 -(6214) found -[27] Forked 6215 -(6215) found -[26] Forked 6216 -(6216) found -[25] Forked 6217 -(6217) found -[24] Forked 6218 -(6218) found -[23] Forked 6219 -(6219) found -[22] Forked 6220 -[21] Forked 6221 -(6220) found -(6221) found -[20] Forked 6222 -(6222) found -[19] Forked 6223 -(6223) found -[18] Forked 6224 -(6224) found -[17] Forked 6225 -[16] Forked 6226 -(6225) found -(6226) found -[15] Forked 6227 -[14] Forked 6228 -(6227) found -(6228) found -[13] Forked 6229 -[12] Forked 6230 -(6229) found -(6230) found -[11] Forked 6231 -[10] Forked 6232 -(6231) found -(6232) found -[9] Forked 6233 -[8] Forked 6234 -(6233) found -(6234) found -[7] Forked 6235 -[6] Forked 6236 -(6235) found -(6236) found -[5] Forked 6237 -[4] Forked 6239 -(6237) found -(6239) found -[3] Forked 6240 -(6240) found -[2] Forked 6241 -(6241) found -[1] Forked 6242 -(6242) found -[0] Forked 6243 -(6243) found diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/memcpy.c b/software/cinit/browse_source/cinit-0.3pre16/src/test/memcpy.c deleted file mode 100644 index 3c6cc2ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/memcpy.c +++ /dev/null @@ -1,46 +0,0 @@ -#include /* memcpy() */ -#include - -struct cinit_answer { - int options; - char data[2045]; -}; - -int f1(struct cinit_answer *buf); -int f2(struct cinit_answer *buf); - -int f2(struct cinit_answer *buf) -{ - struct cinit_answer msg; - - printf("f2: %p\n", buf); - - msg.options = 12; - strcpy(msg.data, "stringit"); - - printf("addr= %p\n", memcpy(buf, &msg, sizeof(*buf))); - - printf("ok\n"); - - return 1; -} - -int f1(struct cinit_answer *buf) -{ - printf("f1: %p\n", buf); - printf("ret=%d\n", f2(buf)); - - return 1; -} - -int main() -{ - struct cinit_answer test; - - if(!f1(&test)) - return 1; - - printf("s: %s d: %d\n", test.data, test.options); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/test-newline.c b/software/cinit/browse_source/cinit-0.3pre16/src/test/test-newline.c deleted file mode 100644 index 4cccf535..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/test-newline.c +++ /dev/null @@ -1,30 +0,0 @@ -#include -#include -#include -#include - -char *strip_final_newline(char *test1); - -int main() -{ - // char *test1 = "zeile1\nzeile2\n"; - // char *test2 = "zeile1\nzeile2\nzeile3"; - char *test1; - char *test2; - - test1 = malloc(50); - test2 = malloc(50); - - strcpy(test1, "zeile1\nzeile2\n"); - strcpy(test2, "zeile1\nzeile2\nzeile3"); - - char *result; - - result = strip_final_newline(test1); - printf("A%sA\n", result); - - result = strip_final_newline(test2); - printf("B%sB\n", result); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre16/src/test/test_build_argv+link.c deleted file mode 100644 index 87e46293..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_build_argv+link.c +++ /dev/null @@ -1,37 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if((tmp = cinit_build_argv(file, &cargv)) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else - exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0], cargv.argv, cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre16/src/test/test_build_argv.c deleted file mode 100644 index 79ee5a48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_build_argv.c +++ /dev/null @@ -1,37 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if((tmp = cinit_build_argv(file, &cargv)) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else - exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0], cargv.argv, cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec deleted file mode 100755 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre16/src/test/test_gen_svc_tree.c deleted file mode 100644 index 433be536..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,21 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre16/src/test/test_openreadclose.c deleted file mode 100644 index 804a01b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file, &data); - - printf("%s\n", data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/tired.c b/software/cinit/browse_source/cinit-0.3pre16/src/test/tired.c deleted file mode 100644 index b6e33260..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/tired.c +++ /dev/null @@ -1,22 +0,0 @@ -#include - -struct msgq_server_short { - long mtype; - int mu; -}; - -main() -{ - struct msgq_server_short t1, *t2; - - t2 = &t1; - - int a = sizeof(t1); - int b = sizeof(t2); - int c = sizeof(*t2); - - printf("a=%d,b=%d,c=%d\n", a, b, c); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre16/src/test/transfer_structure.c b/software/cinit/browse_source/cinit-0.3pre16/src/test/transfer_structure.c deleted file mode 100644 index f9755df3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre16/src/test/transfer_structure.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include - -struct test { - char buf[2048]; - int cmd; -}; - -struct badtest { - char *buf; - int cmd; -}; - -#define PATH "/etc/cinit/svc/local-tuning/udev" - -int main() -{ - struct test cmd; - struct badtest nocmd; - int pfd[2]; - int tmp; - - strcpy(cmd.buf, "/which/service/to/disable"); - cmd.cmd = 42; - - if(pipe(pfd) == -1) - return 1; - nocmd.cmd = 42; - nocmd.buf = malloc(strlen(PATH) + 1); - strcpy(nocmd.buf, PATH); - - if(fork() > 1) { - tmp = write(pfd[1], &cmd, sizeof(cmd)); - printf("PA: tmp=%d\n", tmp); - - tmp = write(pfd[1], &nocmd, sizeof(nocmd)); - printf("PA: tmp2=%d\n", tmp); - } else { - strcpy(cmd.buf, ""); - cmd.cmd = 0; - - tmp = read(pfd[0], &cmd, sizeof(cmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n", tmp, cmd.cmd, cmd.buf); - - free(nocmd.buf); - nocmd.cmd = 0; - - tmp = read(pfd[0], &nocmd, sizeof(nocmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n", tmp, nocmd.cmd, nocmd.buf); - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/ b/software/cinit/browse_source/cinit-0.3pre17/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre17/.ditz-config b/software/cinit/browse_source/cinit-0.3pre17/.ditz-config deleted file mode 100644 index e831e23d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/.ditz-config +++ /dev/null @@ -1,4 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/config -name: Nico Schottelius -email: nico@ikn.schottelius.org -issue_dir: bugs diff --git a/software/cinit/browse_source/cinit-0.3pre17/.gitignore b/software/cinit/browse_source/cinit-0.3pre17/.gitignore deleted file mode 100644 index 08ec3283..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -*.o -*.a -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -*.html -*.htm -*.man -*.texi -*.texi -*.docbook -src/halt.kill -src/poweroff.kill -src/reboot.kill -doc/man/*.[0-9] -doc/man/*.xml -src/cmd -.*.swp -.exclude -src/.configured -src/cinit.halt -src/cinit.poweroff -src/cinit.reboot diff --git a/software/cinit/browse_source/cinit-0.3pre17/Makefile b/software/cinit/browse_source/cinit-0.3pre17/Makefile deleted file mode 100644 index fc7bcdd0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/Makefile +++ /dev/null @@ -1,145 +0,0 @@ -# -# 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation -dev-all: all - -install clean dist distclean: - @for subdir in ${CDIRS}; do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && ${MAKE} ${MAKEFLAGS} $@) || break; \ - done; - -.PHONY: sources -sources: - ${MAKE} -C src all - -.PHONY: documentation -documentation: - ${MAKE} -C doc documentation - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - -################################################################################ -# Tests -# -tests: - # does not work, due getting killed, due to design :-) - #./scripts/internal/compile_run_as_compiler.sh - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -### User Mode Linux / DIRECTORY -UML_DIR_OS_DEBIAN=lenny -UML_ROOT_DIR=~/cinit/vm/uml/$(UML_DIR_OS_DEBIAN) -UML_ROOT_DIR_ABS=$(shell cd $(UML_ROOT_DIR) && pwd -P) -CONFDIR=etc/cinit/ - -uml-install-debian: - mkdir -p $(UML_ROOT_DIR) - sudo /usr/sbin/debootstrap $(UML_DIR_OS_DEBIAN) $(UML_ROOT_DIR) - me=$$(whoami); sudo chown -R $$me $(UML_ROOT_DIR) - -# only install binaries, no need to test documentation -uml-install-config: - rsync -av --delete ./$(CONFDIR) $(UML_ROOT_DIR)/$(CONFDIR) - -uml-install-cinit: - dir=$$(cd $(UML_ROOT_DIR); pwd -P); make -C src DESTDIR=$$dir install - -uml-dir-start-cinit: uml-install-config - dir=$$(cd $(UML_ROOT_DIR); pwd -P); linux root=/dev/root rootflags=$$dir rootfstype=hostfs init=/sbin/cinit - -uml-dir-start-plain: - ./scripts/vm/uml-dir-start-plain.sh $(UML_ROOT_DIR_ABS) - -### User Mode Linux / IMAGE -UML_IMG_FILE=~/cinit/vm/uml/Debian-3.0r0.ext2 -uml-img-start-cinit: - ./scripts/vm/uml-img-start-cinit.sh $(UML_IMG_FILE) - -uml-img-start-plain: - ./scripts/vm/uml-img-start-plain.sh $(UML_IMG_FILE) - -# debian-etch -de-install: - rsync -av --delete ./ root@de:cinit - rsync -av --delete ./etc/cinit/ root@de:/etc/cinit - ssh root@de '(cd cinit; make clean install)' - -de-run: - ssh root@de reboot - -UBUNTUHOST=cinit@192.168.122.107 -UBUNTUCONF=./etc/cinit-ubuntu -UBUNTUINSTALL="cd cinit && make clean && sudo make install" -UBUNTUTEST="sudo reboot" -ubuntu-sync: - rsync -av --delete ./ $(UBUNTUHOST):cinit -ubuntu-install: ubuntu-sync - ssh "$(UBUNTUHOST)" $(UBUNTUINSTALL) - -ubuntu-test: ubuntu-install - ssh "$(UBUNTUHOST)" $(UBUNTUTEST) - -################################################################################ -# -# Developer targets -# - -release: ./scripts/internal/cinit.release - ./scripts/internal/cinit.release now - -scripts/internal/cinit.release: ./scripts/internal/test-cmd.sh - ./scripts/internal/test-cmd.sh - -WEBFILE=~/privat/computer/net/netzseiten/www.nico.schottelius.org/src/software/cinit.mdwn -.PHONY: web -web: README - cp $< $(WEBFILE) - -cinitconfconfdir=../cinit-conf/conf -sync-conf: - rsync --delete -av ./conf/ $(cinitconfconfdir) - cd $(cinitconfconfdir); git add .; git commit -m "sync with cinit/conf" diff --git a/software/cinit/browse_source/cinit-0.3pre17/README b/software/cinit/browse_source/cinit-0.3pre17/README deleted file mode 100644 index 28ee2350..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/README +++ /dev/null @@ -1,232 +0,0 @@ -cinit is a fast, small and simple init with support for profiles - -## Introduction - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design of -Richard Goochs -[need concept](http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/) -and Felix von Leitners -[minit](http://www.fefe.de/minit/). -Minit does not support real dependencies (you don't know whether the -service you depend on really started) and the need concept is somehow -slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -### Cinit main features - -* portability: it should run on every Unix -* true dependencies (soft and hard!) -* parallel execution -* highly customisable (see conf/*) -* profile support (specify what services to start depending on the profile) - - -### Why should I use cinit? - - * To significant speedup the startup process - * To use highest level of parallelisation at startup - * To benefit from real dependencies (so called ***needs*** and ***wants***) - * To easily create profiles that can be chosen at startup (even **before** init is started!) - -### How does cinit work? - -Cinit creates a dependency tree at startup and executes the services. -A service can have two type of dependencies: - - * ***wants*** describe soft dependencies (i.e. it's not fatal if the wanted service fails to start) - * ***needs*** describe hard dependencies (if the needed service fails, the depending won't be started) - -Let's have a look at an example: - - - A - (wants) - / \ - |------> B \ C - | / \ / \ - ^ (needs) (needs) (wants) - | D E F - | | - |------<------(needs)----| - - -Or in words: - - * B and C do not have dependencies - * They will be started at the beginning - * A wants B and C - * A waits until B and C are executed and started afterwards, - independently of the success of B and C - * A will also be started, if B and C fail to start. - * D needs B - * D will only be started, if B is successfully started - * E needs B and C - * E will only be started, if both B and C are successfully started - * F wants C and needs B - * F will only be started, if B is successfully started - * F waits until C is started and is started afterwards - -## Getting cinit - -### Development versions -You can get the latest (development) version via git: - - git clone git://git.schottelius.org/cLinux/cinit.git - -Additionally, the following other git ressources are available: - - * [Gitweb](http://git.schottelius.org/?p=cLinux/cinit.git;a=summary). - * [Mirror at github](http://github.com/telmich/cinit) - * [Mirror at gitorious](http://gitorious.org/cinit) - - -### Archives - - * [[cinit-0.3pre16.tar.bz2|archives/cinit-0.3pre16.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre16/)) - [[changes|browse_source/cinit-0.3pre16/doc/changes/0.3pre16]] - * [[cinit-0.3pre15.tar.bz2|archives/cinit-0.3pre15.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre15/)) - [[changes|browse_source/cinit-0.3pre15/doc/changes/0.3pre15]] - * [[cinit-0.3pre14.tar.bz2|archives/cinit-0.3pre14.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre14/)) - [[changes|browse_source/cinit-0.3pre14/CHANGES]] - * [[cinit-0.3pre13.tar.bz2|archives/cinit-0.3pre13.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre13/)) - [[changes|browse_source/cinit-0.3pre13/CHANGES]] - * [[cinit-0.3pre12.tar.bz2|archives/cinit-0.3pre12.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre12/)) - [[changes|browse_source/cinit-0.3pre12/CHANGES]] - * [[cinit-0.3pre11.tar.bz2|archives/cinit-0.3pre11.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre11/)) - [[changes|browse_source/cinit-0.3pre11/CHANGES]] - * [[cinit-0.3pre10.tar.bz2|archives/cinit-0.3pre10.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre10/)) - [[changes|browse_source/cinit-0.3pre10/CHANGES]] - * [[cinit-0.3pre9.tar.bz2|archives/cinit-0.3pre9.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre9/)) - [[changes|browse_source/cinit-0.3pre9/CHANGES]] - * [[cinit-0.3pre8.tar.bz2|archives/cinit-0.3pre8.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre8/)) - [[changes|browse_source/cinit-0.3pre8/CHANGES]] - * [[cinit-0.3pre7.tar.bz2|archives/cinit-0.3pre7.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre7/)) - [[changes|browse_source/cinit-0.3pre7/CHANGES]] - * [[cinit-0.3pre6.tar.bz2|archives/cinit-0.3pre6.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre6/)) - [[changes|browse_source/cinit-0.3pre6/CHANGES]] - * [[cinit-0.3pre5.tar.bz2|archives/cinit-0.3pre5.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre5/)) - [[changes|browse_source/cinit-0.3pre5/CHANGES]] - * [[cinit-0.3pre4.tar.bz2|archives/cinit-0.3pre4.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre4/)) - [[changes|browse_source/cinit-0.3pre4/CHANGES]] - * [[cinit-0.3pre3.tar.bz2|archives/cinit-0.3pre3.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre3/)) - [[changes|browse_source/cinit-0.3pre3/CHANGES]] - * [[cinit-0.3pre2.tar.bz2|archives/cinit-0.3pre2.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre2/)) - [[changes|browse_source/cinit-0.3pre2/CHANGES]] - * [[cinit-0.3pre1.tar.bz2|archives/cinit-0.3pre1.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre1/)) - [[changes|browse_source/cinit-0.3pre1/CHANGES]] - * [[cinit-0.2.1.tar.bz2|archives/cinit-0.2.1.tar.bz2]] - ([browse source](browse_source/cinit-0.2.1/)) - [[changes|browse_source/cinit-0.2.1/CHANGES]] - * [[cinit-0.2.tar.bz2|archives/cinit-0.2.tar.bz2]] - ([browse source](browse_source/cinit-0.2/)) - [[changes|browse_source/cinit-0.2/CHANGES]] - * [[cinit-0.1.tar.bz2|archives/cinit-0.1.tar.bz2]] - ([browse source](browse_source/cinit-0.1/)) - [[changes|browse_source/cinit-0.1/CHANGES]] - * [[cinit-0.0.8.tar.bz2|archives/cinit-0.0.8.tar.bz2]] - ([browse source](browse_source/cinit-0.0.8/)) - [[changes|browse_source/cinit-0.0.8/CHANGES]] - * [[cinit-0.0.7.tar.bz2|archives/cinit-0.0.7.tar.bz2]] - ([browse source](browse_source/cinit-0.0.7/)) - [[changes|browse_source/cinit-0.0.7/CHANGES]] - * [[cinit-0.0.6.tar.bz2|archives/cinit-0.0.6.tar.bz2]] - ([browse source](browse_source/cinit-0.0.6/)) - [[changes|browse_source/cinit-0.0.6/CHANGES]] - * [[cinit-0.0.5.tar.bz2|archives/cinit-0.0.5.tar.bz2]] - ([browse source](browse_source/cinit-0.0.5/)) - [[changes|browse_source/cinit-0.0.5/CHANGES]] - * [[cinit-0.0.4.tar.bz2|archives/cinit-0.0.4.tar.bz2]] - ([browse source](browse_source/cinit-0.0.4/)) - [[changes|browse_source/cinit-0.0.4/CHANGES]] - -## Documentation -The documentation is currently spread all over the ***doc/*** directory -within the tarball and is being cleaned up. Additionally there -are two presentations available: - - * [[2005-10-22: (German) speech at Technophil|software/cinit/speeches/2005-10-22]] - * [[2005-08-06: (German) online speech|software/cinit/speeches/2005-08-06]] - -### Pre-Configuring -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -### Installing cinit -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists: - - # make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -### Configuring cinit -You'll have to configure cinit in /etc/cinit and add services, -before you can use it. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. - -There are some testing examples below doc/examples/, to be used -as a starting point. - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available, -but they are in the making (see various bugs in ditz). - -### Configuring the OS / Kernel - -After configuring cinit you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - * Linux/LILO and Linux/yaboot (ppc): - * append="init=/sbin/cinit" - * grub1 and grub2: - * kernel init=/sbin/cinit - -## Support - -### IRC -You can join the development ***IRC channel*** -[#cLinux on irc.freenode.org](irc://irc.freenode.org/#cLinux). - -### Mailing list -Bug reports, questions, patches, etc. should be send to the -[cinit mailing list](http://l.schottelius.org/mailman/listinfo/cinit). - -## Related websites - - * [cinit](http://www.nico.schottelius.org/software/cinit/) - * [cinit mailing list](http://l.schottelius.org/mailman/listinfo/cinit) - * BSD init systems (same codebase): - * [FreeBSDs init](http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/init/) - * [NetBSDs init](http://cvsweb.netbsd.org/bsdweb.cgi/src/sbin/init/) - * [OpenBSDs init](http://www.openbsd.org/cgi-bin/cvsweb/src/sbin/init/) - * [initng](http://www.initng.org/) - * [minit](http://www.fefe.de/minit/) - * [runit](http://smarden.org/runit/) - * [need/simpleinit](http://www.atnf.csiro.au/~rgooch/linux/boot-scripts/) - * [sys-v-init](ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/) - * [upstart](http://www.netsplit.com/blog/work/canonical/upstart.html) - - -[[!tag unix]] diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.get-confdir b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.get-confdir deleted file mode 100755 index 5deb8a85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.get-confdir +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# -# 2005-2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) -# - -hier="${0%/*}" - -# try environment first -if [ "$CINIT_CONF_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_CONF_DIR -elif [ -d "${hier}/../conf/" ]; then - CONFDIR="${hier}/../conf/" -elif [ -d "/etc/cinit-conf/" ]; then - CONFDIR="/etc/cinit-conf/" -else - echo 'Did not find cinit-conf configuration!' >&2 - echo "Please set the variable CINIT_CONF_CONF_DIR" >&2 - exit 1 -fi - -CONFDIR=$(cd "${CONFDIR}" && pwd -P) - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.migrate.svc.mountkernfs.linux.ubuntu b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.migrate.svc.mountkernfs.linux.ubuntu deleted file mode 100755 index bd3c5471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.migrate.svc.mountkernfs.linux.ubuntu +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Migrate this ubuntu service -# - diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.migrate.upstart.ubuntu.jaunty b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.migrate.upstart.ubuntu.jaunty deleted file mode 100755 index aadc27e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.migrate.upstart.ubuntu.jaunty +++ /dev/null @@ -1,91 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Try to migrate upstarts config from ubuntu jaunty to cinit config -# - -set -e - -# /etc/event.d/rc-default guesses 2, so we also assume it's 2. -default_runlevel=2 - -################################################################################ -# -# Base layout, same for every OS -# -cinit-conf.svc.init -cinit-conf.svc.categories -cinit-conf.svc.init.dependencies - -################################################################################ -# Sys-v-init on Linux and variants (=upstart) execute rcS before rc2. -# -# Upstart on jaunty is starts /etc/event.d/rc-default, which -# starts /etc/event.d/rcS which starts /etc/init.d/rcS which -# starts /etc/init.d/rc S which starts the shell scripts in -# /etc/rcS.d/ (does not sound very efficient to me). - -# cinit@cinit-desktop:/etc/event.d$ ls -1 /etc/rcS.d/ | sed 's/^/# /' -# README: not migrated: -# S01mountkernfs.sh: sysfs, proc; ignored spufs, /var/run, /lib/init: migrated -cinit-conf.svc.mount.proc -cinit-conf.svc.mount.sys - -# S01readahead: ignored -# S02hostname.sh: migrated -cinit-conf.svc.hostname.linux $(hostname) - -# S06keyboard-setup: migrated -cinit-conf.svc.keymap.linux - -# S07linux-restricted-modules-common: ignored -# S10udev: migrated -cinit-conf.svc.mount.udev -cinit-conf.svc.local-tuning.udev.ubuntu - -# S11mountdevsubfs.sh: migrated! -cinit-conf.svc.mount.dev-shm -cinit-conf.svc.mount.dev-pts - -# S13pcmciautils: ignored -# S15module-init-tools: not migrated: I think modules should be put into services -# S17procps: migrated -cinit-conf.svc.sysctl.linux - -# S20checkroot.sh -# S22mtab.sh -# S25brltty -# S30checkfs.sh -# S35mountall.sh -# S36mountall-bootclean.sh -# S37apparmor -# S37mountoverflowtmp -# S37udev-finish -# S39readahead-desktop -# S39ufw -# S40networking -# S45mountnfs.sh -# S46mountnfs-bootclean.sh -# S49console-setup -# S55bootmisc.sh -# S55urandom -# S70screen-cleanup -# S70x11-common - diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.read-conf b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.read-conf deleted file mode 100755 index f21a805a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.read-conf +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -hier="${0%/*}" - -: ${CONFDIR:="$("${hier}/cinit-conf.get-confdir")"} - -# read general values and overwrite specific ones later -for conf in ${CONFDIR}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - # short version - eval : \${$NAME:=$(head -n1 "${conf}")} - - # long version - #if eval test -z \$$NAME; then - # eval $NAME=\"$(head -n 1 $conf)\" - # eval export $NAME - #fi -# eval echo $NAME = \$$NAME -done - -# comment out: generated automatically now -#: ${DESTDIR="$(head -n1 "${CONFDIR}/destdir")"} -#: ${SERVICE_CATEGORIES="$(head -n1 "${CONFDIR}/service_categories")"} -#: ${GETTYDIR="${SVCDIR}/$(head -n1 "${CONFDIR}/gettydir")"} -#: ${INSTALL_PROG="$(head -n1 "${CONFDIR}/install_prog")"} -#: ${INSTALL_DIRECTORY="$(head -n1 "${CONFDIR}/install_directory")"} -#: ${C_ON="$(head -n1 "${CONFDIR}/c_on")"} -#: ${C_PARAMS="$(head -n1 "${CONFDIR}/c_params")"} -#: ${C_RESPAWN="$(head -n1 "${CONFDIR}/c_respawn")"} - -# overwrite or set: add destdir and put things together -# R_* = real = should be used in scripts -: ${R_CINIT_DIR:="${DESTDIR}/${CINIT_DIR}"} -: ${R_CINITCONF_DIR:="${R_CINIT_DIR}/${CINITCONFDIR}"} -: ${R_SVC_DIR:="${R_CINIT_DIR}/${SVCDIR}"} - -# T_*: theorethic (not real, usable for linking) -: ${T_CINIT_DIR:="${CINIT_DIR}"} -: ${T_CINITCONF_DIR:="${T_CINIT_DIR}/${CINITCONFDIR}"} -: ${T_SVC_DIR:="${T_CINIT_DIR}/${SVCDIR}"} diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc-create.template b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc-create.template deleted file mode 100755 index 96898b63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc-create.template +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Create an almost empty service -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I create templates for your services" - exit 1 -fi - -for svc in $@; do - INSTDIR="${R_SVC_DIR}/${svc}" - - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - - echo -n "Creating template $svc ..." - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}" - - # needs - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - - # wants - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - - # README - cat << eof > "${INSTDIR}/README" -This service was created by $0. - -Please update this README to match the real content. - -Add entries to ${C_NEEDS} for the services this services really needs -(it will not start if one failed to start). - -Add services to ${C_WANTS} for the services this services wants -(it will start if one or more fail)." -eof - - echo "done." -done diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc-delete b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc-delete deleted file mode 100755 index 77e0b8e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc-delete +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Delete services -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I delete your services" - exit 1 -fi - -for svc in "$@"; do - SERVICE="${R_SVC_DIR}/${svc}" - - if [ ! -e "$SERVICE" ]; then - echo "${svc}: does not exists, cannot remove.." - continue - fi - - echo -n "Removing $svc ..." - rm -rf "${SERVICE}" - echo "done." -done diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc-on b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc-on deleted file mode 100755 index 7b8121c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc-on +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Select program to start on service start -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -ne 2 ]; then - echo "$(basename $0): service path-to-executable" - exit 1 -fi - -svc="$1"; shift -executable="$1"; shift - -echo "${svc}:${C_ON}->${executable}" - -ln -sf "${executable}" "${R_SVC_DIR}/${svc}/${C_ON}" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc-param.add b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc-param.add deleted file mode 100755 index 6daa7059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc-param.add +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Select program to start on service start -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 3 ]; then - echo "$(basename $0): service (${C_ON}|${C_OFF}) params..." - exit 1 -fi - -svc="$1"; shift -type="$1"; shift - -while [ $# -gt 0 ]; do - param="$1"; shift - file="${svc}/${type}${C_PARAMS}" - echo "${file}+=${param}" - echo "${param}" >> "${R_SVC_DIR}/${file}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.categories b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.categories deleted file mode 100755 index 6db485fc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.categories +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Create default categories -# - -. "$(dirname $0)/cinit-conf.read-conf" - -cinit-conf.svc-create.template $SERVICE_CATEGORIES diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.dependency.add b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.dependency.add deleted file mode 100755 index f961b901..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.dependency.add +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh -# -# 2008-2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# -# cinit: create dependency: service a needs or wants service b -# - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A="$1"; shift -DEP="$1"; shift -SVC_B="$1"; shift - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case "${DEP}" in - wishes|wants) DEP="$C_WANTS" ;; - needs|requires) DEP="$C_NEEDS" ;; - *) echo "Use \"want\" or \"need\" as type of dependency." -esac - -# remove slashes in the name for destination -SVC_B_LNAME="$(echo $SVC_B | sed 's#/#-#g')" -SVC_B_SOURCE="${T_SVC_DIR}/${SVC_B}" -SVC_A_LDIR="${R_SVC_DIR}/${SVC_A}/${DEP}" -SVC_A_LDEST="${SVC_A_LDIR}/${SVC_B_LNAME}" - -if [ ! -d "${SVC_A_LDIR}" ]; then - echo "${SVC_A}:+${DEP}" - mkdir "${SVC_A_LDIR}" -fi - -echo "${SVC_A} ${DEP} ${SVC_B} (${SVC_B_LNAME})" -ln -sf "${SVC_B_SOURCE}" "${SVC_A_LDEST}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.fsck.linux b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.fsck.linux deleted file mode 100755 index 161d6d36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.fsck.linux +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK="/sbin/fsck.${FS_TYPE}" - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "${DESTDIR}${DEVICE}" ]; then - echo "Warning: ${DESTDIR}${DEVICE} does not exist." -fi - -svcdir="${R_SVC_DIR}/fsck/${NAME}" -if [ -e "$svcdir" ]; then - echo "Error: $svcdir already exists" - exit 1 -fi - -set -e -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${svcdir}" -ln -sf "${FSCK}" "${svcdir}/$C_ON" -echo "$DEVICE" > "${svcdir}/$C_ON$C_PARAMS" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.getty.add b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.getty.add deleted file mode 100755 index ea4e1815..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.getty.add +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -BASEDIR="${R_SVC_DIR}/${GETTYDIR}" -LAST_NUMBER=$(cd "$BASEDIR" && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.getty.remove b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.getty.remove deleted file mode 100755 index 8a9801dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.getty.remove +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -BASEDIR="$DESTDIR/$CINIT_DIR/$GETTY_DIR" -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR="$BASEDIR/$NUMBER" - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.hostname.linux b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.hostname.linux deleted file mode 100755 index 50eb7737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.hostname.linux +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Setup the hostname -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME="$1" -: ${HOSTNAME_BIN:=/bin/hostname} - -SVC="network/hostname" - -cinit-conf.svc-create.template "${SVC}" -ln -sf "$HOSTNAME_BIN" "${R_SVC_DIR}/${SVC}/${C_ON}" -echo "$HOSTNAME" > "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" - -cinit-conf.svc.dependency.add "${SVC}" needs "mount/proc" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.init b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.init deleted file mode 100755 index 7d6f4329..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.init +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_CINITCONF_DIR}" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}" - -# init must be there. always. -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}/init" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.init.dependencies b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.init.dependencies deleted file mode 100755 index b21ed402..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.init.dependencies +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# cinit: add standard sub-configuration directories to init wants -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -cinit-conf.svc.dependency.add init wants getty -cinit-conf.svc.dependency.add init wants local-services -cinit-conf.svc.dependency.add init wants local-tuning -cinit-conf.svc.dependency.add init wants mount -cinit-conf.svc.dependency.add init wants network diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.keymap.linux b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.keymap.linux deleted file mode 100755 index faa12530..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.keymap.linux +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Setup console keymap -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="local-tuning/keymap" -BINARY_PATH="$(which setupcon)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-k" - -# FIXME: what are the correct dependencies? -cinit-conf.svc.dependency.add "${SVC}" "needs" "mount/proc" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.linux.network.lo b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.linux.network.lo deleted file mode 100755 index 0211a8b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.linux.network.lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.local-tuning.udev.ubuntu b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.local-tuning.udev.ubuntu deleted file mode 100755 index eeb53214..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.local-tuning.udev.ubuntu +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Configure the udev service -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY_PATH="$(which udevadm)" - -SVC="local-tuning/udev" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "settle" - -# dependencies -cinit-conf.svc.dependency.add "${SVC}" needs "mount/sys" -cinit-conf.svc.dependency.add "${SVC}" needs "mount/udev" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.dev-pts b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.dev-pts deleted file mode 100755 index 8d8c0da9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.dev-pts +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount /dev/shm, as specified in Ubuntu: -# -# domount tmpfs shmfs /dev/shm tmpfs -onosuid,nodev$SHM_OPT -# -# - - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="mount/dev-pts" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" - -# Ubuntu: domount devpts "" /dev/pts devpts -onoexec,nosuid,gid=$TTYGRP,mode=$TTYMODE -# root@cinit-desktop:/home/cinit/cinit# grep -e TTYGRP -e TTYMODE /etc/default/* -# /etc/default/devpts:TTYGRP=5 -# /etc/default/devpts:TTYMODE=620 -# root@cinit-desktop:/home/cinit/cinit# awk -F: '$3 ~ /^5$/ { print $1 }' /etc/group -# tty - - -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-n" "-t" "devpts" "devpts" "/dev/pts" "-onoexec,nosuid,gid=5,mode=620" -cinit-conf.svc.dependency.add "${SVC}" "needs" "mount/udev" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.dev-shm b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.dev-shm deleted file mode 100755 index 3466b68f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.dev-shm +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount /dev/shm, as specified in Ubuntu: -# -# domount tmpfs shmfs /dev/shm tmpfs -onosuid,nodev$SHM_OPT -# -# - - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="mount/dev-shm" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-n" "-t" "tmpfs" "-onosuid,nodev" "shmfs" "/dev/shm" -cinit-conf.svc.dependency.add "${SVC}" "needs" "mount/udev" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.getsource b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.getsource deleted file mode 100755 index 9ee21f6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.getsource +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -# FIXME: Skip ^#!, make for generic mounts! -awk '$2 ~ /^\/$/ { print $0 }' < /etc/fstab diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.proc b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.proc deleted file mode 100755 index 42ae9171..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.proc +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount /proc -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -# - mount /proc -SVC="mount/proc" - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}/${SVC}" -ln -sf /bin/mount "${R_SVC_DIR}/${SVC}/${C_ON}" -echo proc > "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" -echo -t >> "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" -echo proc >> "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" -echo /proc >> "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.root b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.root deleted file mode 100755 index 972ca11a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.root +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}/mount/root" -ln -sf /bin/mount "${R_SVC_DIR}/mount/root/$C_ON" -echo -n > "${R_SVC_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${R_SVC_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${R_SVC_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${R_SVC_DIR}/mount/root/${C_ON}${C_PARAMS}" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.swap b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.swap deleted file mode 100755 index 10ca6be3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.sys b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.sys deleted file mode 100755 index fa09253d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.sysfs b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.sysfs deleted file mode 100755 index 05da04f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.sysfs +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount sysfs -# - - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -DDIR="${R_SVC_DIR}/mount/sys/" - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DDIR}" -ln -sf /bin/mount "${DDIR}${C_ON}" -echo sysfs > "${DDIR}${C_ON}${C_PARAMS}" -echo -t >> "${DDIR}${C_ON}${C_PARAMS}" -echo sysfs >> "${DDIR}${C_ON}${C_PARAMS}" -echo /sys >> "${DDIR}${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.udev b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.udev deleted file mode 100755 index 0233336f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mount.udev +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Setup console keymap -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="mount/udev" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-n" "-t" "tmpfs" "-o" "mode=0755" "udev" "/dev" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mtab-clean.linux b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mtab-clean.linux deleted file mode 100755 index 5b8ddbec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.mtab-clean.linux +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.respawn.off b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.respawn.off deleted file mode 100755 index 662e4d39..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR="$DESTDIR/$CINIT_DIR" - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.respawn.on b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.respawn.on deleted file mode 100755 index 99b4429c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR="$DESTDIR/$CINIT_DIR" - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.sysctl.linux b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.sysctl.linux deleted file mode 100755 index e4f21a4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.svc.sysctl.linux +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Load sysctl values -# -# Ubuntu: for file in /etc/sysctl.conf /etc/sysctl.d/*.conf -# - - -. "$(dirname $0)/cinit-conf.read-conf" - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="local-tuning/sysctl" -BINARY_PATH="$(which sysctl)" - -# main service -cinit-conf.svc-delete "${SVC}" -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-p" "/etc/sysctl.conf" - -# create "sub"-services -for file in /etc/sysctl.d/*.conf; do - bsvc="${file##*/}" - bsvc="${bsvc%*.conf}" - svc="${SVC}/${bsvc}" - - cinit-conf.svc-create.template "${svc}" - cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" - cinit-conf.svc-param.add "${svc}" "${C_ON}" "-p" "${file}" - cinit-conf.svc.dependency.add "${SVC}" "needs" "${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.sys-v-init.get-current-runlevel b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.sys-v-init.get-current-runlevel deleted file mode 100755 index aba723f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.sys-v-init.get-current-runlevel +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -runlevel | cut -d " " -f2 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.sys-v-init.migrate-fstab b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.sys-v-init.migrate-fstab deleted file mode 100755 index f3c08736..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit-conf.sys-v-init.migrate-fstab +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -# read root - -# read swap - -# FIXME: read others: later -echo "Warning: Only configuring / and swap, ignoring other devices for now" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.reboot deleted file mode 100755 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.shutdown deleted file mode 100755 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.svc.init b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.svc.init deleted file mode 100755 index bdbfb8cd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.svc.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.svc.linux.debian.ntpdate b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.svc.linux.debian.ntpdate deleted file mode 100755 index 2b9ef315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.svc.linux.debian.ntpdate +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.wait.for.daemon deleted file mode 100755 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/README b/software/cinit/browse_source/cinit-0.3pre17/bugs/README deleted file mode 100644 index 6472dbf7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/README +++ /dev/null @@ -1 +0,0 @@ -This directory is maintained by ditz. diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-0c63a541a2261c7322d6c59a6adb091301020c8d.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-0c63a541a2261c7322d6c59a6adb091301020c8d.yaml deleted file mode 100644 index 5a125ca4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-0c63a541a2261c7322d6c59a6adb091301020c8d.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Create minimal sample configurations for different OS -desc: |- - Similar to what I thought todo in cinit.install.test: - - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar -type: :task -component: portability -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-24 20:14:42.832701 Z -references: [] - -id: 0c63a541a2261c7322d6c59a6adb091301020c8d -log_events: -- - 2009-09-24 20:14:44.120614 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-0d8142c646aa04e8e713fc8f886a44475581c670.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-0d8142c646aa04e8e713fc8f886a44475581c670.yaml deleted file mode 100644 index 4c082d64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-0d8142c646aa04e8e713fc8f886a44475581c670.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: How to handle OS specific signal handlers -desc: |- - -- cinit ignores the Keyboard request - - Currently there is no support to react on 'ctr+alt+del': - - Maybe allow signal handlers to be passed to something like services? -type: :task -component: core -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:29:28.589652 Z -references: [] - -id: 0d8142c646aa04e8e713fc8f886a44475581c670 -log_events: -- - 2009-09-28 05:29:31.033914 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-120cbf62dbdd9a7a026bcbb7d2863599c7183f70.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-120cbf62dbdd9a7a026bcbb7d2863599c7183f70.yaml deleted file mode 100644 index 71b24dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-120cbf62dbdd9a7a026bcbb7d2863599c7183f70.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add install targets -desc: |- - install: - make install => does not overwrite critical targets - * cinit - * *.kill (see client/*) - * cmd - make force-install => overwrites /sbin/{halt,poweroff,reboot}? - => with script that wraps cmd - make install-template: - * creates categories - make install-miniconf: - * creates categories - * creates one service starting a shell (depending on the OS!) -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:42:21.470333 Z -references: [] - -id: 120cbf62dbdd9a7a026bcbb7d2863599c7183f70 -log_events: -- - 2009-09-28 05:42:22.146097 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-1cc421b885608485f73c9041c5c0af71df76331a.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-1cc421b885608485f73c9041c5c0af71df76331a.yaml deleted file mode 100644 index 10759001..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-1cc421b885608485f73c9041c5c0af71df76331a.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Documentate, how to write an init system -desc: So others can redo it. -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:17:05.878201 Z -references: [] - -id: 1cc421b885608485f73c9041c5c0af71df76331a -log_events: -- - 2009-09-29 05:17:06.729534 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-1e83dca921062d97b96830caf24e7898ad4fbbe2.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-1e83dca921062d97b96830caf24e7898ad4fbbe2.yaml deleted file mode 100644 index 1a6a63a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-1e83dca921062d97b96830caf24e7898ad4fbbe2.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: add error handling to cinit.install.binary -desc: Double check the whole installation process -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:32:13.897529 Z -references: [] - -id: 1e83dca921062d97b96830caf24e7898ad4fbbe2 -log_events: -- - 2009-09-28 05:32:14.581391 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml deleted file mode 100644 index d815cbd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "Documentate: How to cross compile" -desc: |- - conf/os to destination os - conf/cc - conf/ld - conf/cflags - conf/ldflags -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-07 06:31:53.866741 Z -references: [] - -id: 25822475f5d01c35eb9edd8d75c065c83032701b -log_events: -- - 2009-09-07 06:31:54.990478 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9.yaml deleted file mode 100644 index 40245817..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9.yaml +++ /dev/null @@ -1,43 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add reason, why service was not started -desc: |- - -------------------------------------------------------------------------------- - csvc: - 11:09 < folken23> telmich: oder service allready started. - -------------------------------------------------------------------------------- - cinit: - 11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. - 11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:36:51.093468 Z -references: [] - -id: 278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9 -log_events: -- - 2009-09-28 05:36:51.957356 Z - - Nico Schottelius - - created - - "" -- - 2009-09-29 05:15:14.622132 Z - - Nico Schottelius - - commented - - |- - And add better status messages: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-29d45f06044e5329dca7f351a17676e65d4e3b38.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-29d45f06044e5329dca7f351a17676e65d4e3b38.yaml deleted file mode 100644 index 7cd1909c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-29d45f06044e5329dca7f351a17676e65d4e3b38.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "Bugfix: SIGCHLD not handled carefully" -desc: "" -type: :task -component: core -release: "0.3" -reporter: Nico Schottelius -status: :in_progress -disposition: -creation_time: 2009-09-29 05:34:17.833638 Z -references: [] - -id: 29d45f06044e5329dca7f351a17676e65d4e3b38 -log_events: -- - 2009-09-29 05:34:18.397430 Z - - Nico Schottelius - - created - - "" -- - 2009-09-29 05:35:28.338069 Z - - Nico Schottelius - - changed status from unstarted to in_progress - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-2a4a3675810b44b05ce51c021690fb3f21725e55.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-2a4a3675810b44b05ce51c021690fb3f21725e55.yaml deleted file mode 100644 index cccc3fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-2a4a3675810b44b05ce51c021690fb3f21725e55.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: write sys-v-init-shutdown-wrapper -desc: |- - So people can use their known tools: - * shutdown - * halt - * reboot - * poweroff -type: :task -component: user interface -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 18:35:44.468421 Z -references: [] - -id: 2a4a3675810b44b05ce51c021690fb3f21725e55 -log_events: -- - 2009-09-28 18:35:45.292294 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-2fda514da472aa15fa57d2df06e8d5cc909016d0.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-2fda514da472aa15fa57d2df06e8d5cc909016d0.yaml deleted file mode 100644 index dc0c9622..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-2fda514da472aa15fa57d2df06e8d5cc909016d0.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Write a small manual -desc: |- - How to - - install - - configure - - boot (different OS) -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 18:37:34.300443 Z -references: [] - -id: 2fda514da472aa15fa57d2df06e8d5cc909016d0 -log_events: -- - 2009-09-28 18:37:35.280232 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-3cc14c82109544e198e5cce002c0d94a66e6f4d7.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-3cc14c82109544e198e5cce002c0d94a66e6f4d7.yaml deleted file mode 100644 index 8e7731a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-3cc14c82109544e198e5cce002c0d94a66e6f4d7.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Export service information -desc: Like pid, path, ... -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:18:47.901610 Z -references: [] - -id: 3cc14c82109544e198e5cce002c0d94a66e6f4d7 -log_events: -- - 2009-09-29 05:18:48.369488 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d.yaml deleted file mode 100644 index 35fdf1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add service start/stop -desc: Hack cinit_svc_disable.c -type: :task -component: cinit -release: "0.3" -reporter: Nico Schottelius -status: :in_progress -disposition: -creation_time: 2009-09-29 05:31:38.533662 Z -references: [] - -id: 40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d -log_events: -- - 2009-09-29 05:31:39.209477 Z - - Nico Schottelius - - created - - "" -- - 2009-09-29 05:32:40.681588 Z - - Nico Schottelius - - commented - - "svc_stop vs. svc_disable: coded tired?" -- - 2009-09-29 05:33:27.666143 Z - - Nico Schottelius - - changed status from unstarted to in_progress - - on it... diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-4e460e6061fb5d39549b85d42fc33f57de7a1396.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-4e460e6061fb5d39549b85d42fc33f57de7a1396.yaml deleted file mode 100644 index 01d7564a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-4e460e6061fb5d39549b85d42fc33f57de7a1396.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Maybe create libcinit? -desc: At least for use in cmd() -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:43:27.689712 Z -references: [] - -id: 4e460e6061fb5d39549b85d42fc33f57de7a1396 -log_events: -- - 2009-09-28 05:43:28.069533 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-5bd7befd45553864b1d2ebc12509e06440a402d0.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-5bd7befd45553864b1d2ebc12509e06440a402d0.yaml deleted file mode 100644 index c033e3d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-5bd7befd45553864b1d2ebc12509e06440a402d0.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Documentate how to migrate from another init system -desc: "" -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 20:00:00.854675 Z -references: [] - -id: 5bd7befd45553864b1d2ebc12509e06440a402d0 -log_events: -- - 2009-09-28 20:00:01.450291 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7.yaml deleted file mode 100644 index 5fcbc43d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: add code do implement stopping / restarting service with/without dependency tree -desc: "" -type: :task -component: cinit -release: 0.3.1 -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:33:24.966097 Z -references: [] - -id: 5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7 -log_events: -- - 2009-09-28 05:33:25.929966 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-8391cdbcb30d007bfb692504d9469a93f7c15b97.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-8391cdbcb30d007bfb692504d9469a93f7c15b97.yaml deleted file mode 100644 index a4da0c19..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-8391cdbcb30d007bfb692504d9469a93f7c15b97.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Mase sure cinit runs on POSIX -desc: Double check that there are no linux deps in it anymore (from cinit-0.2) -type: :task -component: portability -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:16:19.961614 Z -references: [] - -id: 8391cdbcb30d007bfb692504d9469a93f7c15b97 -log_events: -- - 2009-09-29 05:16:20.858087 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-85687a7f79046db51429db38e7b1da5234a3675e.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-85687a7f79046db51429db38e7b1da5234a3675e.yaml deleted file mode 100644 index f87e898a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-85687a7f79046db51429db38e7b1da5234a3675e.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: write examples for profiles -desc: |- - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:19:26.941625 Z -references: [] - -id: 85687a7f79046db51429db38e7b1da5234a3675e -log_events: -- - 2009-09-29 05:19:27.345506 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-863a9d56ed460fb45e91d2c555d57133d2286f72.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-863a9d56ed460fb45e91d2c555d57133d2286f72.yaml deleted file mode 100644 index 9716ac2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-863a9d56ed460fb45e91d2c555d57133d2286f72.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add speedup part in documentation -desc: |- - - cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - - Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:30:01.562097 Z -references: [] - -id: 863a9d56ed460fb45e91d2c555d57133d2286f72 -log_events: -- - 2009-09-28 05:30:02.433805 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8.yaml deleted file mode 100644 index 50eaa305..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Create cinit-conf framework or libexec -desc: |- - Maybe include - - cinit_service_modify(name|path) - - cinit_service_create() - interactive - - cinit_service_delete(name|path) - interactive - * has to take care about needs / wants! - - cinit_magic_configuration_generation() - * tries to build a completly fresh configuration, by analysing your system - - Non interactive tools - - cinit_svc_del -type: :task -component: user interface -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:28:48.049604 Z -references: [] - -id: 8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8 -log_events: -- - 2009-09-29 05:28:48.665510 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-bb27c9b51f82dd54eba8baa40aa5e8bba326ea01.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-bb27c9b51f82dd54eba8baa40aa5e8bba326ea01.yaml deleted file mode 100644 index f90ec206..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-bb27c9b51f82dd54eba8baa40aa5e8bba326ea01.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: export profile information -desc: Possible via $CINIT_PROFILE -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:19:54.965525 Z -references: [] - -id: bb27c9b51f82dd54eba8baa40aa5e8bba326ea01 -log_events: -- - 2009-09-29 05:19:55.929526 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-c8d020845511594b4b90bb38a2a839ef6ce4c9c8.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-c8d020845511594b4b90bb38a2a839ef6ce4c9c8.yaml deleted file mode 100644 index 886b3337..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-c8d020845511594b4b90bb38a2a839ef6ce4c9c8.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Cleanup environment before starting child -desc: |- - Close fds, free mem, ... - Chcek what's necessary, what's senseful, ... -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:41:22.857702 Z -references: [] - -id: c8d020845511594b4b90bb38a2a839ef6ce4c9c8 -log_events: -- - 2009-09-28 05:41:23.909476 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-d3732fffad054c5a1f781f28a60015346ad28dd6.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-d3732fffad054c5a1f781f28a60015346ad28dd6.yaml deleted file mode 100644 index fed5b461..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-d3732fffad054c5a1f781f28a60015346ad28dd6.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: write cinit-conf.check -desc: |- - * report broken links in needs/wants - * report circular dependencies -type: :task -component: user interface -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 18:36:27.892997 Z -references: [] - -id: d3732fffad054c5a1f781f28a60015346ad28dd6 -log_events: -- - 2009-09-28 18:36:28.504859 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-d7a7970bd20e1dc0b04f314fee5f39ba90d3d904.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-d7a7970bd20e1dc0b04f314fee5f39ba90d3d904.yaml deleted file mode 100644 index 8b379025..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-d7a7970bd20e1dc0b04f314fee5f39ba90d3d904.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Cleanup contrib+tools -desc: Tools may be old or not even compiling. Cleanup! -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:22:54.298139 Z -references: [] - -id: d7a7970bd20e1dc0b04f314fee5f39ba90d3d904 -log_events: -- - 2009-09-29 05:22:55.166003 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1.yaml deleted file mode 100644 index 27f2d088..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Documentate sleeping behaviour (when respawing processes) -desc: |- - - cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:27:32.721481 Z -references: [] - -id: dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1 -log_events: -- - 2009-09-28 05:27:33.821345 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669.yaml deleted file mode 100644 index 08026edf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: define service status in one document, so repeatition stops -desc: |- - maybe use doxygen? - Chose focus: user | developer -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:31:11.886061 Z -references: [] - -id: e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669 -log_events: -- - 2009-09-28 05:31:12.802016 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-e435cb93810ea790f795fedc2e9afc6475c9c0a8.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-e435cb93810ea790f795fedc2e9afc6475c9c0a8.yaml deleted file mode 100644 index 13713f55..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-e435cb93810ea790f795fedc2e9afc6475c9c0a8.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "FAQ: what happens when a service does not terminate...." -desc: write faq! -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 20:11:41.130314 Z -references: [] - -id: e435cb93810ea790f795fedc2e9afc6475c9c0a8 -log_events: -- - 2009-09-28 20:11:41.862145 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-f10682d63b1059f876c6cdde2323a596dba89d3c.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-f10682d63b1059f876c6cdde2323a596dba89d3c.yaml deleted file mode 100644 index 0685c6f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-f10682d63b1059f876c6cdde2323a596dba89d3c.yaml +++ /dev/null @@ -1,51 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Test new build sytem -desc: |- - Migrate conf/ to general conf/-buildsystem (write documentation for it). - - gpm2 may be an example for this! - - conf/targets: - targets to make available in Makefile and their dependencies - - abstract the build-process somehow, so one can create build-targets? - - c-programs/ (includes cc / ld) - cinit (link to conf/object_listings cinit?) - conf/object_listings - lists of dependencies: - conf/object_listings/cinit contains all objects needed for cinit - - conf/programs/ - like cc, ld, install, ... - - conf/built-options/ - like --... in ./configure - - conf/install/ - - options/ - destdir (prefixed before everything) - prefix (standard prefix) - bin (relative to prefix, if not beginning with a /) - sbin (relative to prefix, if not beginning with a /) - lib (relative to prefix, if not beginning with a /) - targets/ - cinit/ - built-target (link to conf/targets/cinit) - destination (relative to -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:21:55.313650 Z -references: [] - -id: f10682d63b1059f876c6cdde2323a596dba89d3c -log_events: -- - 2009-09-29 05:21:55.845402 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3.yaml deleted file mode 100644 index 23949d0a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Check shutdown code -desc: To verify the right way -type: :task -component: core -release: "0.3" -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:34:46.305951 Z -references: [] - -id: fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3 -log_events: -- - 2009-09-29 05:34:46.774065 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-fea40277e32b0bd747d7f47a68d41009fc046fd9.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-fea40277e32b0bd747d7f47a68d41009fc046fd9.yaml deleted file mode 100644 index 57911dc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/issue-fea40277e32b0bd747d7f47a68d41009fc046fd9.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: add logging support for services -desc: Similar to DJB tools? multilog? -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:18:00.717667 Z -references: [] - -id: fea40277e32b0bd747d7f47a68d41009fc046fd9 -log_events: -- - 2009-09-29 05:18:01.146029 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre17/bugs/project.yaml b/software/cinit/browse_source/cinit-0.3pre17/bugs/project.yaml deleted file mode 100644 index 490b5cff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/bugs/project.yaml +++ /dev/null @@ -1,44 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/project -name: cinit -version: "0.5" -components: -- !ditz.rubyforge.org,2008-03-06/component - name: cinit -- !ditz.rubyforge.org,2008-03-06/component - name: core -- !ditz.rubyforge.org,2008-03-06/component - name: user interface -- !ditz.rubyforge.org,2008-03-06/component - name: portability -- !ditz.rubyforge.org,2008-03-06/component - name: documentation -- !ditz.rubyforge.org,2008-03-06/component - name: build -releases: -- !ditz.rubyforge.org,2008-03-06/release - name: "0.3" - status: :unreleased - release_time: - log_events: - - - 2009-09-07 06:28:02.974644 Z - - Nico Schottelius - - created - - The first cleaned up version -- !ditz.rubyforge.org,2008-03-06/release - name: future - status: :unreleased - release_time: - log_events: - - - 2009-09-07 06:29:14.264777 Z - - Nico Schottelius - - created - - All things to be fixed in the future. -- !ditz.rubyforge.org,2008-03-06/release - name: 0.3.1 - status: :unreleased - release_time: - log_events: - - - 2009-09-28 05:32:55.870041 Z - - Nico Schottelius - - created - - Bugfix of 0.3 diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/.README b/software/cinit/browse_source/cinit-0.3pre17/conf/.README deleted file mode 100644 index c4d984c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/.README +++ /dev/null @@ -1,7 +0,0 @@ -This is an example for a cinit and cinit-conf configuration. - -The first line of a file contains the configuration value, -the rest of the file may contain a description. - -The conf/ directory is shared by cinit and cinit-conf and may contain files that -are only relevant for one of the two projects. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre17/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre17/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_desaster b/software/cinit/browse_source/cinit-0.3pre17/conf/c_desaster deleted file mode 100644 index 153a63cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_desaster +++ /dev/null @@ -1,5 +0,0 @@ -/bin/sh - -The path to a program, that we execute if nothing -else helps. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_env b/software/cinit/browse_source/cinit-0.3pre17/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_init b/software/cinit/browse_source/cinit-0.3pre17/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_last b/software/cinit/browse_source/cinit-0.3pre17/conf/c_last deleted file mode 100644 index 8debf155..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_last +++ /dev/null @@ -1,7 +0,0 @@ -last - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -This maybe a shellscript with the OS-specific umount procedure (like umount -a), -see doc/user/configuring.cinit for more details. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre17/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_off b/software/cinit/browse_source/cinit-0.3pre17/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_on b/software/cinit/browse_source/cinit-0.3pre17/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre17/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_params b/software/cinit/browse_source/cinit-0.3pre17/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre17/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre17/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre17/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre17/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre17/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre17/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/cc b/software/cinit/browse_source/cinit-0.3pre17/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/cflags b/software/cinit/browse_source/cinit-0.3pre17/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre17/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/cinitconfdir b/software/cinit/browse_source/cinit-0.3pre17/conf/cinitconfdir deleted file mode 100644 index 9dc3b52b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/cinitconfdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -General cinit-configuration (below cinitdir) diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/destdir b/software/cinit/browse_source/cinit-0.3pre17/conf/destdir deleted file mode 100644 index 3326ace6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/destdir +++ /dev/null @@ -1,6 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. - -cinit-conf uses this file for installing the configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/gettydir b/software/cinit/browse_source/cinit-0.3pre17/conf/gettydir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/gettydir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre17/conf/install_directory deleted file mode 100644 index 80cab694..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to pass to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre17/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre17/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/ld b/software/cinit/browse_source/cinit-0.3pre17/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre17/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre17/conf/max_delay deleted file mode 100644 index 30725bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/max_delay +++ /dev/null @@ -1,4 +0,0 @@ -30 - -Maximum number of seconds to sleep between retrying to start it -(respawn only). diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre17/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre17/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre17/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre17/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/os b/software/cinit/browse_source/cinit-0.3pre17/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre17/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre17/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre17/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/prefix b/software/cinit/browse_source/cinit-0.3pre17/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/profile b/software/cinit/browse_source/cinit-0.3pre17/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre17/conf/service_categories deleted file mode 100644 index 381a3208..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/service_categories +++ /dev/null @@ -1,3 +0,0 @@ -getty local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as 'pseudo-services'. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre17/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/strip b/software/cinit/browse_source/cinit-0.3pre17/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre17/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre17/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre17/conf/version b/software/cinit/browse_source/cinit-0.3pre17/conf/version deleted file mode 100644 index 6b28c524..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre17" - -The version of cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/Makefile deleted file mode 100644 index 23cc41f0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o usage.o mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/cconfig.graph.xml.rb deleted file mode 100755 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/cinit-vis.pl deleted file mode 100755 index 4a439fc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/svc/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/cinit.graph.text.c deleted file mode 100644 index 5e5316ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -//#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.graph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.graph.text - textual representatio of the cinit directory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.graph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/cinit.h b/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/cinit.h deleted file mode 100644 index cbde3195..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/cinit.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Dummy header file to intgrate mini_printf and usage - */ - -#ifndef CINIT_DUMMY_HEADER -#define CINIT_DUMMY_HEADER - -void usage(char *banner, char *text); -void mini_printf(char *str,int fd); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100755 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/mini_printf.c deleted file mode 120000 index 3e9a596c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/mini_printf.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/mini_printf.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/usage.c b/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/usage.c deleted file mode 120000 index c26691ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/contrib+tools/usage.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/usage.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre17/doc/.buildwarn deleted file mode 100644 index 41183a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/.buildwarn +++ /dev/null @@ -1,24 +0,0 @@ - -Welcome to the cinit -******************** - -Hints: ------- - - Settings can be found in conf/* (also used for compiling) - - Cinit configuration is normally found in /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text BEFORE installing. - -Building cinit --------------- - - "make all" - to build cinit - "make install" - to install cinit, documentation and core tools - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/COPYING b/software/cinit/browse_source/cinit-0.3pre17/doc/COPYING deleted file mode 100644 index 94a9ed02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/COPYING +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/CREDITS b/software/cinit/browse_source/cinit-0.3pre17/doc/CREDITS deleted file mode 100644 index febdcf4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/CREDITS +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: ls -l) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding -Tonnerre Lombard - * NetBSD support (host + hints) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre17/doc/Makefile deleted file mode 100644 index 0daac842..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -A2X=a2x -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text man/halt.kill.text man/poweroff.kill.text \ - man/reboot.kill.text man/cmd.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DEVELDOCS = devel/codingguideline.text -DOCS = $(MANDOCS) $(USERDOCS) $(DEVELDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -#TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpages" - @echo "pdf: only generate pdfs (requires: fop)" - -install: $(DOC_ALL) - @echo "===> Copy " man/*.[0-9] "to the correct manpaths" - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -#%.man: %.mandocbook -# ${DOCBOOKTOMAN} --to-stdout $< > $@ - -%.man: %.text - ${A2X} -f manpage $< - -%.pdf: %.text - ${A2X} -f pdf $< - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - rm -f man/*.texi man/*.xml man/*.[0-9] - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/README.text b/software/cinit/browse_source/cinit-0.3pre17/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/Changelog b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/TODO.lucky b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/TODO.lucky deleted file mode 100644 index 3ac57ee5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/TODO.lucky +++ /dev/null @@ -1,16 +0,0 @@ -18:18 hey, ich hatte gerade ein wenig lust mich mit cinit zu befassen, hier also mein - kleiner bug-report: in src/include fehlt cinit.h, (alles auf das aktuelle - tarball bezogen), ich hab's aus pre9 genommen, hatte ich noch da, da git nicht - wollte(Cannot get remote repository information.), ausserdem hast du _ statt - - in doc/man/cinit.text verwendet bei der email, das mag docbook nicht, die - beiden zeilen habe ich korrigiert, danch ging schon mal make all und auch make - ins -18:35 und warum installiert er die man pages nicht mit? -07:20 so, kleiner zwischenbericht, das argv problem bei lvm gibt es mit pre10 nicht - mehr, d.h. dass man auch kein shell-skript mehr braucht um lvm/luks-devices zu - mounten :) -07:20 soweit sieht eig. alles gut aus -07:21 wenn das so bleibt, dann werd' ich dauerhaft auf cinit umsteigen :) -07:21 und wenn sich die gelegenheit bietet, dann stell ich cinit auch mal in der - info-ag von unserer schule vor :) - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/root-vm-testing b/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/root-vm-testing deleted file mode 100644 index a8773dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/root-vm-testing +++ /dev/null @@ -1,9 +0,0 @@ -[19:33] denkbrett:root% cat uml-mount.sh -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl - -denkbrett# tar cfj ~nico/projekte/cinit/conf-vm-2007-03-05.tar.bz2 cinit -denkbrett# chown -R nico cinit -denkbrett# chown nico ../sbin - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/shutdown.text deleted file mode 100644 index ac76425d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/shutdown.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} - * no, implemented that directly into cinit! -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process - * create mappers for target OS - - Linux - - {free,net,open}bsd - - others may contribute theirself -- also implement poweroff - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement halt - * kill -USR1 1 - - -The implementation ------------------ -x shutdown is initiated -x disable communication (nobody can influence us anymore) -x install special signal handler? - - no. we do not care about zombies anymore, we are gone soon anyway - - simply reset to the default -- begin to shutdown services - * where to start? - * begin shutdown at the end of the tree, viewing/sorting it by the 'needed_by' - -> where to begin sort? - -> worst implementation: scan all services (easy for now) - -> result: list of services, that noone needs :-) - * stop those services and step above - - stop a service, as soon as noone needs it anymore - * check all needed_by links - * more or less the inverted gen_svc_tree -- how to shutdown a service - * if existing, call off - - if off does not exist: - * if respawn: send sigterm to the process - * also implement sigkill at this stage? - - think we can delay it to the end - - otherwise users can use off! - - implement environment for off ($cinit_respawn_pid, $cinit_service_name) - - do *NOT* care about the return value, we can't do anything for it - anymore anyway -- after all services are shutdown, kill all remaining services - * SIGTERM - * wait(defined_time_in_seconds) - * SIGKILL -- call the last command - * to cleanup the system - - umount -a (if needed) - - swapoff (if needed) - - sync (if needed) -- switch off diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/sizes b/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/sizes deleted file mode 100644 index ddd30f75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/braindumps/sizes +++ /dev/null @@ -1,6 +0,0 @@ -sysvinit: -root 1 0.0 0.0 1944 648 ? Ss 02:12 0:00 init [2] - -cinit-0.3pre8-glibc-linux: -compiler 25323 0.0 0.0 1564 392 pts/2 S+ 20:22 0:00 ./cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/changes/0.1 b/software/cinit/browse_source/cinit-0.3pre17/doc/changes/0.1 deleted file mode 100644 index a0db62e6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/changes/0.1 +++ /dev/null @@ -1,2 +0,0 @@ -* Initial release -* Support for adding getties diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/changes/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre17/doc/changes/0.3pre15 deleted file mode 100644 index bd197d02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/changes/0.3pre15 +++ /dev/null @@ -1,3 +0,0 @@ -Released: 2009-09-23 -Changes: - * Changed child handling (no function calls in sig_child handler anymore) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/changes/0.3pre16 b/software/cinit/browse_source/cinit-0.3pre17/doc/changes/0.3pre16 deleted file mode 100644 index 6749eede..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/changes/0.3pre16 +++ /dev/null @@ -1,6 +0,0 @@ -Released: 2009-09-29 -Changes: - * Re-integrated cinit-conf - * Merged READE and cinit website - * Cleaned up bin/: Executables can now be installed - * Cleaned up top level directory diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/changes/0.3pre17 b/software/cinit/browse_source/cinit-0.3pre17/doc/changes/0.3pre17 deleted file mode 100644 index ec103f77..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/changes/0.3pre17 +++ /dev/null @@ -1,3 +0,0 @@ -Released: 2009-10-05 -Changes: - * Populated bin/ with a lot of scripts to migrate ubuntu/upstart to cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/changes/00-before-0.3pre15 b/software/cinit/browse_source/cinit-0.3pre17/doc/changes/00-before-0.3pre15 deleted file mode 100644 index ce8f4b43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/changes/00-before-0.3pre15 +++ /dev/null @@ -1,108 +0,0 @@ -cinit-0.3pre14: 2008-03-17 - - Added test-suite for cmd - - Added support to shutdown services in cinit and cmd - (without needs and wants) - - Added linux-sysvinit wrapper for shutdown (See - scripts/wrapper/linux-sysvinit/shutdown) - - Rewrote most parts of cmd (to make it more beautiful) - - Changed license to GPL 3.0 - -cinit-0.3pre13: 2007-09-26 - - Added -V (get cmd version), -h (help), -p (get pid) to cmd - - Cleaned up namemsage in msgq.h - - Added global service lock - - Splitted of svc.h to svc.h, svc-intern.h and svc-messages.h - - Prepared logic splitoff from cinit_ipc_listen() - - Fixed bug: fork() has a general race condition - (see src/test/fork-latency.c) through use of global lock - -cinit-0.3pre12: 2007-09-06 - - Added DESTDIR support - - Added support to get service status via cmd: cmd -s - * also supports relative paths to CINIT_DIR ("/etc/cinit") - - Fixed git clone problem: hooks are needed for dumb git - - Fixed bug: We did not wait for services to finsh, which we depend on being - ran once. - -cinit-0.3pre11: 2007-09-01 - - Added basic communication: - * client binary "cmd" with argument -v returns cinit-version - - Updated {halt,reboot,poweroff}.kill - -cinit-0.3pre10: - - Fixed make install target - - Added halt.kill, poweroff.kill and reboot.kill (including manpages!) - - Fixed invalid comparision in core/cinit.c - - Be verbose: Print what we execute - - Updated documentation - -cinit-0.3pre9: 2007-05-15 - - Implemented sleeping before respawn (static delay) - - Report broken links on execution, but ignore empty services - - Cleaned up message queue error reporting - -cinit-0.3pre8: 2007-04-06 - - Updated and merged documentation: Codingstyle and Codingguide - - Cleaned sigaction-code (fixes segfault on glibc) - - Cleaned object listings - - Added notifications at shutdown - - Fixed status check - -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/Doxyfile b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/Doxyfile deleted file mode 100644 index d7de54af..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/Doxyfile +++ /dev/null @@ -1,305 +0,0 @@ -# Doxyfile 1.5.6 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = cinit -PROJECT_NUMBER = 0.3pre15 -OUTPUT_DIRECTORY = /home/user/nico/oeffentlich/computer/projekte/cinit/doxygen -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = YES -STRIP_FROM_PATH = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = NO -QT_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = NO -INHERIT_DOCS = YES -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 3 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO -OPTIMIZE_FOR_FORTRAN = NO -OPTIMIZE_OUTPUT_VHDL = NO -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -SIP_SUPPORT = NO -IDL_PROPERTY_SUPPORT = YES -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -TYPEDEF_HIDES_STRUCT = NO -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = YES -EXTRACT_PRIVATE = YES -EXTRACT_STATIC = YES -EXTRACT_LOCAL_CLASSES = YES -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = YES -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = YES -SORT_BRIEF_DOCS = NO -SORT_GROUP_NAMES = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = YES -SHOW_DIRECTORIES = NO -SHOW_FILES = YES -SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.f90 \ - *.f \ - *.vhd \ - *.vhdl \ - *.C \ - *.CC \ - *.C++ \ - *.II \ - *.I++ \ - *.H \ - *.HH \ - *.H++ \ - *.CS \ - *.PHP \ - *.PHP3 \ - *.M \ - *.MM \ - *.PY \ - *.F90 \ - *.F \ - *.VHD \ - *.VHDL -RECURSIVE = YES -EXCLUDE = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src/ancient/ \ - /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src/test/ -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = YES -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = YES -REFERENCES_RELATION = YES -REFERENCES_LINK_SOURCE = YES -USE_HTAGS = NO -VERBATIM_HEADERS = YES -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = YES -GENERATE_HTMLHELP = NO -GENERATE_DOCSET = NO -DOCSET_FEEDNAME = "Doxygen generated docs" -DOCSET_BUNDLE_ID = org.doxygen.Project -HTML_DYNAMIC_SECTIONS = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -CHM_INDEX_ENCODING = -BINARY_TOC = NO -TOC_EXPAND = NO -DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = NONE -TREEVIEW_WIDTH = 250 -FORMULA_FONTSIZE = 10 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = YES -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = YES -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = NO -MSCGEN_PATH = -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = YES -DOT_FONTNAME = FreeSans -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 1000 -DOT_TRANSPARENT = YES -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = NO diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/cinit-status-translation.dia b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/cinit-status-translation.dia deleted file mode 100644 index 55935dd0..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/cinit-status-translation.dia and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/cinit-status-translation.png b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/cinit-status-translation.png deleted file mode 100644 index 6bafa119..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/cinit-status-translation.png and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/codingguideline.text b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/codingguideline.text deleted file mode 100644 index d4686d8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/codingguideline.text +++ /dev/null @@ -1,149 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. -Indent variable names, so the names begin all at the same position. -Use three spaces to place them. - - -Whitespaces ------------ -Where to put or avoid whitespaces (space or linefeed (lf)). - - -Spaces -~~~~~~ -- After closing brace "if(test) return 0;" -- Spaces before and after '=', '>', '<', '==', '!='', '>=', '<=', '>>', '<<', '&', '&&', '|', '||' -- After start of comment and before end of comment: '/* text */' - - - After ')', ',' - -No spaces -~~~~~~~~~ -- Within braces and code "(!test)", -- Before braces "if(code)" -- No space before ), so if '))', do not put a space after the first ')' - - -Linebreaks -~~~~~~~~~~ -This somehow includes the setting of braces (indirectly through (not) setting -spaces. - -If -^^ - -Put the if, the braces and the opening curly brace on one line, -put the closing one together with `else` and the new opening -curly brace on one line: - ------------------------------------------------------------------------------- -if(...) { - /* code */ -} else { - /* else: code */ -} ------------------------------------------------------------------------------- - -While -^^^^^ ------------------------------------------------------------------------------- -while(condition) { - /* repeat */ -} ------------------------------------------------------------------------------- - -Do-While -^^^^^^^^ ------------------------------------------------------------------------------- -do { - /* something */ -} while(running); ------------------------------------------------------------------------------- - -Switch -^^^^^^ - ------------------------------------------------------------------------------- -switch(value) { - case DO_SOMETHING: - /* code */ - break; - default: - break; -} ------------------------------------------------------------------------------- - - - -Where to put curly braces -------------------------- - -Functions -~~~~~~~~~ -Opening and closing curly braces are placed on a seperate row: - ------------------------------------------------------------------------------- -int func(int params) -{ - body -} ------------------------------------------------------------------------------- - - -If, else, while, do-while -~~~~~~~~~~~~~~~~~~~~~~~~~ -See above. - - -Comments ---------- -where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - -If there is more than one line containing a comment, try to adjust them -so they look the same in width and position: - ------------------------------------------------------------------------------- - int illuminati = 23; /* do not want to comment that */ - int the_answer_to_everything = 42; /* 42. */ - - [...] - - while(illuminati < the_answer_to_everything) { /* only try before them */ - overtake_world(&self); /* overtake is complex */ - } ------------------------------------------------------------------------------- - - -Header -------- -Put a header into each file, containing: - - - Date of file being put into existence (year is enough) - - Name and e-mail (obfuscated if you want) of the author(s) - - Description of the function - - Copyright statement (if not included GPLv2 or later is assumed) - - -Includes -~~~~~~~~ -Include system headers first, then place own headers. Comment the includes, -wherefore you added them. Example: - ------------------------------------------------------------------------------- -#include /* write */ -#include "cinit.h> /* cinit_ipc_* */ ------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/communication.text deleted file mode 100644 index 64ea30cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/communication.text +++ /dev/null @@ -1,248 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - - -Numbers -~~~~~~~ -Can be found in include/cinit.h. - - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -Can't use a structure, were missing the point that we cannot transfer dynamic -length strings. Thus the protocol consists of: - - client(int) => cinit - cinit(ini) => client - => after that follows command specific data - -The byte order is host specific (may be little or big endian). - -STRUCTURE WITH STATIC SIZE. MSGRCV! -IPC LAYER CREATES TRANSPORT! - -Type -~~~~ -Messages are binary data. - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: What's the status of service XYZ? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Code, length of service name, the service name (without \0). -int, int, char[]; - - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/ipc.text deleted file mode 100644 index e57ac039..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/ipc.text +++ /dev/null @@ -1,169 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - -Abstraction layer: cinit_ipc_* ------------------------------- -You can choose or even reimplement ipc code for cinit. You only have to create -a directory below src/ipc/ and create the following necessary functions: - -int cinit_ipc_init(void); -~~~~~~~~~~~~~~~~~~~~~~~~~ -Initialise the IPC functions in cinit. - - -int cinit_ipc_listen(void); -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Never ending looping function that listens for commands and passes the -retrieved command to read_command(). - -other -~~~~~~ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - - -cinit_get_data(int ident, int size, void *data) => read size bytes from client -with ident - -/***************************************************************************** - * Functions: in clients - */ - int cinit_ipc_logon(void); /* logon to init (client init) */ - int cinit_ipc_connect(void); /* connect to init */ - int cinit_ipc_csend(struct cinit_message *data); /* send to the server from a client */ - - --------------------------------------------------------------------------------- -Messages: - - struct cinit_question qsn; - struct cinit_answer asr; - -question: - -answer: - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) - -> return 0 on ipc errors - --------------------------------------------------------------------------------- -enable / disable services: - - - send svc - - send flags - - - recv return: - CINIT_ASW_SVC_STOPPED: successfully stopped the service - - CINIT_ASW_SVC_ERR: failed to stop the service - CINIT_ASW_SVC_WANTS: wants failed - CINIT_ASW_SVC_NEEDS: needs failed - opt contains number of failed services - retriev them from cinit after that - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/testing-cinit-in-vm.text b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/testing-cinit-in-vm.text deleted file mode 100644 index 824b94c9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/testing-cinit-in-vm.text +++ /dev/null @@ -1,11 +0,0 @@ - -m = manually -a = automated - -m Install OS of your choice into KVM, including make, gcc, ssh and rsync -m Startup VM -a Transfer data to VM -a Compile cinit on VM -a Install cinit and configuration on VM -m Configure bootloader to add cinit as alternative choice -m Reboot and start cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre17/doc/devel/testing.text deleted file mode 100644 index 6ac0b6da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/devel/testing.text +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. - - - --------------------------------------------------------------------------------- -Using a raw (x86) hd image: -Access partition 1 via losetup: - -sudo losetup -o 32256 /dev/loop0 "$hierabs/debian-hd.img" -linux ubd0=/dev/loop0 init=/sbin/cinit "$@" - -Offset was taken from fdisk: - -[19:22] denkbrett:emu# fdisk -l -u /dev/sda - -Disk /dev/sda: 80.0 GB, 80026361856 bytes -255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors -Units = sectors of 1 * 512 = 512 bytes -Disk identifier: 0x1669c708 - - Device Boot Start End Blocks Id System -/dev/sda1 63 19535039 9767488+ 83 Linux -/dev/sda2 19535040 23438834 1951897+ 82 Linux swap / Solaris -/dev/sda3 23438835 156296384 66428775 83 Linux - -===> 63*512bytes spaeter beginnt sda1 - -[19:23] denkbrett:~% echo 512\*63 |bc -l -32256 - -Results in losetup -o 32256 /dev/loop0 ./debian-hd.img - -Scripts from the nsbin project (lo-*) can be used. -It can be found at http://unix.schottelius.org/cgi-bin/gitweb.cgi. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/README deleted file mode 100644 index f803f9b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains example configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/README deleted file mode 100644 index a862330c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/README +++ /dev/null @@ -1 +0,0 @@ -Example configurations for cinit-0.3. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/README deleted file mode 100644 index 0b059353..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/README +++ /dev/null @@ -1,5 +0,0 @@ -This directory contains configuration examples from -'denkbrett' which is Nico Schottelius' main notebook. - -It's a x86 Linux notebook, so x86 and Linux specific -services will be loaded (like acpid, udev). diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 deleted file mode 100644 index 22889cc0..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README deleted file mode 100644 index e0582b25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -shell running, getty missing diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 deleted file mode 100644 index bc129f72..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README deleted file mode 100644 index b5a39918..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -getty on tty2 running, but displays -"Unable to determine your tty name". -Possibly problem with empty /dev. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 deleted file mode 100644 index 2b1bc744..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README deleted file mode 100644 index 9f87a662..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added fsck for root filesystem -and added (currently) unneeded /proc service. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 deleted file mode 100644 index 31a73e9a..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README deleted file mode 100644 index 3f43b0d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added needs /proc to getty/1 and 2. -Now we can login through getty! diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 deleted file mode 100644 index 9a490a32..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README deleted file mode 100644 index cb778400..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added service "network/hostname" and added it as wants to -the gettys. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 deleted file mode 100644 index 42d30cdc..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README deleted file mode 100644 index b1aac768..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added respawn to the rescue-shell and the gettys. -Also added TERM=linux so agetty can pass that to -the shell. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 deleted file mode 100644 index 9b75a07b..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README deleted file mode 100644 index cdedced3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added eth0 and a driver loader as well as added it -to the init list. If everything goes well, I'll have -dynamic network running after reboot :-) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 deleted file mode 100644 index 2a50bf51..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README deleted file mode 100644 index d54c9da3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added luksopen and dm_crypt support. UNTESTED. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 deleted file mode 100644 index 4d53ad3c..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README deleted file mode 100644 index 6e166f28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added acpid, removed luksopen currently from the dependency -list. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 deleted file mode 100644 index 7af7167f..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README deleted file mode 100644 index b45f2595..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added support for the loopback device (network/loopback). diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 deleted file mode 100644 index 907f4bf1..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README deleted file mode 100644 index 0fa9cf4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added two more getties: getty/3 and getty/4 and added -them to init/needs. And yes, this configuration is in -use on my production system :-) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 deleted file mode 100644 index f91c0c58..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README deleted file mode 100644 index 80b538b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added unicode_start/stop and made it wants for gettys. -Added the sys-v-init-udev-script to init/wants, I am currently -to lazy to reimplement the whole udev bunch. Anyone else? ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 deleted file mode 100644 index 98454c86..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README deleted file mode 100644 index 78e81d56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Sleep before kill decreased to 2. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 deleted file mode 100644 index 1880c52d..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README deleted file mode 100644 index 740026e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added support for cpufreq (ondemand) on IBM T60. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 deleted file mode 100644 index f79a8ee6..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README deleted file mode 100644 index bfc5c0ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added mount /proc as requirement for acpid! diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 deleted file mode 100644 index a2b8fdea..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README deleted file mode 100644 index 3493ca3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added dmesg -n1 so there's less noise on startup. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 deleted file mode 100644 index 8df7a9c9..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README deleted file mode 100644 index cb6f8d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README +++ /dev/null @@ -1,7 +0,0 @@ -- Added needs: - unicode / console: /proc - udev: /proc - syslog-ng: mount/root - -- fixed mount/root/fsck: missed "then" - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 deleted file mode 100644 index 33f75a62..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README deleted file mode 100644 index 07e6f29e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added respawn for syslog-ng diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 deleted file mode 100644 index e3b7df82..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README deleted file mode 100644 index 650274b7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Add TERM=linux to console-unicode and also depend it on udev so -devices are existing. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 deleted file mode 100644 index d8c7dd55..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README deleted file mode 100644 index f6d5eb89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -acpid needs to write to /var/run! diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last deleted file mode 100755 index f722a251..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -umount -a -sync -# report, there should be nothing left -ps axuwww -umount -a diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last.params deleted file mode 100755 index ec169e3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last.params +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -echo "This is the last command executed" -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill deleted file mode 100644 index 7ed6ff82..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill.README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill.README deleted file mode 100644 index e9d11095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill.README +++ /dev/null @@ -1,2 +0,0 @@ -Test with 30 seconds sleep, that is really enough to see if it differs from -builtin 2 seconds. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/proc b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.env b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.params deleted file mode 100644 index db1290b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty1 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/respawn b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/hostname b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/proc b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.env b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.params deleted file mode 100644 index bc8c9b28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty2 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/respawn b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/hostname b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/proc b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.env b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.params deleted file mode 100644 index 7efd5e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty3 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/respawn b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/hostname b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/proc b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.env b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.params deleted file mode 100644 index 47e2d7a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty4 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/respawn b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/hostname b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/acpid b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/acpid deleted file mode 120000 index 88098497..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/acpid +++ /dev/null @@ -1 +0,0 @@ -../../local-services/acpid \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/eth0.dhcp b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/eth0.dhcp deleted file mode 120000 index 8d2c9b8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/eth0.dhcp +++ /dev/null @@ -1 +0,0 @@ -../../network/eth0.dhcp \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-2 deleted file mode 120000 index 92f3bf2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-2 +++ /dev/null @@ -1 +0,0 @@ -../../getty/2 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-3 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-3 deleted file mode 120000 index 9c0aeaed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-3 +++ /dev/null @@ -1 +0,0 @@ -../../getty/3 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-4 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-4 deleted file mode 120000 index 7b967eed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-4 +++ /dev/null @@ -1 +0,0 @@ -../../getty/4 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/keyboard deleted file mode 120000 index c4488690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/loopback b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/loopback deleted file mode 120000 index 69fe6f89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/loopback +++ /dev/null @@ -1 +0,0 @@ -../../network/loopback \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/rescue-shell b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/rescue-shell deleted file mode 120000 index be06dd0a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/rescue-shell +++ /dev/null @@ -1 +0,0 @@ -../../rescue-shell \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/sysfs b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/sysfs deleted file mode 120000 index 67c524a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/sysfs +++ /dev/null @@ -1 +0,0 @@ -../../mount/sysfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on deleted file mode 120000 index 7bbf7ccd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on +++ /dev/null @@ -1 +0,0 @@ -/bin/echo \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on.params deleted file mode 100644 index 6e271318..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on.params +++ /dev/null @@ -1 +0,0 @@ -*** cinit successfully started *** diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/quiet-kernel b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/quiet-kernel deleted file mode 120000 index 8da32e9b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/quiet-kernel +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/quiet-kernel \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/udev b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/udev deleted file mode 120000 index 9dfe9879..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/udev +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/udev \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/README deleted file mode 100644 index d5190e7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/README +++ /dev/null @@ -1 +0,0 @@ -Load acpi drivers before we are started. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/acpi b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/acpi deleted file mode 120000 index 888ba93b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/acpi +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/drivers/acpi \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/proc b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/root b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on deleted file mode 120000 index 43369f77..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/acpid \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on.params deleted file mode 100644 index 105c5f3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on.params +++ /dev/null @@ -1 +0,0 @@ --f diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/respawn b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/README deleted file mode 100644 index 628fab6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/README +++ /dev/null @@ -1,2 +0,0 @@ -Metalog is a smart syslogd replacement and it does not fork -normally. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/needs/root b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/on deleted file mode 120000 index 54fdda86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/metalog \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log deleted file mode 120000 index 515549d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-dev-log \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/root b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on deleted file mode 120000 index 099ec19b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/syslog-ng \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on.params deleted file mode 100644 index ee1f6c5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on.params +++ /dev/null @@ -1 +0,0 @@ --F diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/respawn b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/README deleted file mode 100644 index dd8ef91c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/README +++ /dev/null @@ -1,5 +0,0 @@ -Remove /dev/log from previous run, so syslog* (syslog-ng,metalog,syslogd) -can start. - -We're directly needed by the syslog variants, so if they are -not started, we are not started. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/needs/root b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on deleted file mode 120000 index 3530dc46..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on +++ /dev/null @@ -1 +0,0 @@ -/bin/rm \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on.params deleted file mode 100644 index 6d8ffbb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on.params +++ /dev/null @@ -1,2 +0,0 @@ --f -/dev/log diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/README deleted file mode 100644 index 20ff9536..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/README +++ /dev/null @@ -1 +0,0 @@ -Remove the /etc/mtab, so it's in a clean state. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on deleted file mode 120000 index 3530dc46..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on +++ /dev/null @@ -1 +0,0 @@ -/bin/rm \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on.params deleted file mode 100644 index fceff107..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on.params +++ /dev/null @@ -1,2 +0,0 @@ --f -/etc/mtab diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/README deleted file mode 100644 index fa12de87..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/README +++ /dev/null @@ -1 +0,0 @@ -Enable unicode on the Linux console. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/proc b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/udev b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/udev deleted file mode 120000 index 45ebbd7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/udev +++ /dev/null @@ -1 +0,0 @@ -../../udev/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/off b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/off deleted file mode 120000 index d1b3dabc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/off +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/unicode_stop \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on deleted file mode 120000 index 1a8ea15c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/unicode_start \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on.env b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params deleted file mode 100644 index 6999c48d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params +++ /dev/null @@ -1 +0,0 @@ -cpufreq_ondemand diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand deleted file mode 120000 index 8d465d25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand +++ /dev/null @@ -1 +0,0 @@ -../cpufreq_ondemand \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino deleted file mode 120000 index 7a81f768..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino +++ /dev/null @@ -1 +0,0 @@ -../speedstep-centrino \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs deleted file mode 120000 index abdd5e9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs +++ /dev/null @@ -1 +0,0 @@ -../../../mount/sysfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/on deleted file mode 100755 index 9ded0cc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/on +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params deleted file mode 100644 index b0daf284..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params +++ /dev/null @@ -1 +0,0 @@ -speedstep-centrino diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on.params deleted file mode 100644 index 9ccaeece..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on.params +++ /dev/null @@ -1 +0,0 @@ -aes diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params deleted file mode 100644 index d2a85215..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params +++ /dev/null @@ -1 +0,0 @@ -dm_crypt diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/README deleted file mode 100644 index a8b1c282..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi ac information. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params deleted file mode 100644 index a9eb3bbf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params +++ /dev/null @@ -1 +0,0 @@ -ac diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/README deleted file mode 100644 index 448a4a0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi battery information. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params deleted file mode 100644 index 37ac71bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params +++ /dev/null @@ -1 +0,0 @@ -battery diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/README deleted file mode 100644 index bda85f4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi buttons. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params deleted file mode 100644 index ef3f216a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params +++ /dev/null @@ -1 +0,0 @@ -button diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/README deleted file mode 100644 index d9ad05c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi fans. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params deleted file mode 100644 index 6de1f525..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params +++ /dev/null @@ -1 +0,0 @@ -fan diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README deleted file mode 100644 index ff0f6f4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README +++ /dev/null @@ -1 +0,0 @@ -Extra functionality for my ibm t60. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params deleted file mode 100644 index 80916c68..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params +++ /dev/null @@ -1 +0,0 @@ -ibm_acpi diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac deleted file mode 120000 index 4d2aefc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac +++ /dev/null @@ -1 +0,0 @@ -../ac \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery deleted file mode 120000 index 990e6bcd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery +++ /dev/null @@ -1 +0,0 @@ -../battery \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/button b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/button deleted file mode 120000 index b99dcf7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/button +++ /dev/null @@ -1 +0,0 @@ -../button \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan deleted file mode 120000 index 7923f9b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan +++ /dev/null @@ -1 +0,0 @@ -../fan \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi deleted file mode 120000 index d32add47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi +++ /dev/null @@ -1 +0,0 @@ -../ibm_acpi \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal deleted file mode 120000 index f2d6718c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal +++ /dev/null @@ -1 +0,0 @@ -../thermal \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README deleted file mode 100644 index da0b9c13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi thermal information: temperature and fans. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params deleted file mode 100644 index a175d50f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params +++ /dev/null @@ -1 +0,0 @@ -thermal diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on.params deleted file mode 100644 index 9f318065..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on.params +++ /dev/null @@ -1 +0,0 @@ -e1000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on deleted file mode 120000 index a5ce029b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on +++ /dev/null @@ -1 +0,0 @@ -/bin/loadkeys \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on.params deleted file mode 100644 index 1c96d177..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on.params +++ /dev/null @@ -1 +0,0 @@ -us diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on deleted file mode 120000 index 09bd56b7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on +++ /dev/null @@ -1 +0,0 @@ -/bin/dmesg \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on.params deleted file mode 100644 index d22a4869..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on.params +++ /dev/null @@ -1 +0,0 @@ --n1 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/needs/proc b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on deleted file mode 120000 index 1ecced27..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on +++ /dev/null @@ -1 +0,0 @@ -/etc/init.d/udev \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on.params deleted file mode 100644 index d44e18fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on.params +++ /dev/null @@ -1 +0,0 @@ -start diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/README deleted file mode 100644 index 7d699823..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/README +++ /dev/null @@ -1,3 +0,0 @@ -Need to load keyboard layout before trying to decrypt. -I also need dm_crypt and the aes module, as both are not -compiled into my kernel. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes deleted file mode 120000 index 15b8e7d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/crypto/aes \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt deleted file mode 120000 index 9066e234..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/crypto/dm_crypt \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard deleted file mode 120000 index 34376346..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/on deleted file mode 100755 index a40f7a4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/on +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -# read key until success -while true; do - cryptsetup luksOpen /dev/sda3 home && break -done diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen deleted file mode 120000 index f0585cf1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen +++ /dev/null @@ -1 +0,0 @@ -../luksopen/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on.params deleted file mode 100644 index 05280cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on.params +++ /dev/null @@ -1 +0,0 @@ -/home diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/needs/clean-mtab b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/needs/clean-mtab deleted file mode 120000 index 0bea57c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/needs/clean-mtab +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-mtab \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on.params deleted file mode 100644 index 4c3fcfb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on.params +++ /dev/null @@ -1 +0,0 @@ -/proc diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/needs/udev b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/needs/udev deleted file mode 120000 index 3d36cb50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/needs/udev +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/udev/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on deleted file mode 100755 index ea236360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Wrapper for fsck that returns 1 on success... -# Nico Schottelius -# 2007-05-25 -# for cLinux/cinit - -fsck=/sbin/fsck -dev="$1" - -"$fsck" "$dev" - -# return of 1 == repaired successful -if [ $? -gt 1 ]; then - exit 1 -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.old b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.old deleted file mode 120000 index 2a85786a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.old +++ /dev/null @@ -1 +0,0 @@ -/sbin/fsck.jfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.params deleted file mode 100644 index 90020847..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.params +++ /dev/null @@ -1 +0,0 @@ -/dev/hda1 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/needs/fsck b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/needs/fsck deleted file mode 120000 index c2e5e63f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/needs/fsck +++ /dev/null @@ -1 +0,0 @@ -../fsck \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on.params deleted file mode 100644 index 6a052263..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on.params +++ /dev/null @@ -1,4 +0,0 @@ --n --o -remount,rw -/ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/README b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/README deleted file mode 100644 index e01cb66a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/README +++ /dev/null @@ -1 +0,0 @@ -Udev needs us. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/needs/clean-mtab b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/needs/clean-mtab deleted file mode 120000 index 0bea57c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/needs/clean-mtab +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-mtab \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on.params deleted file mode 100644 index a6b724ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on.params +++ /dev/null @@ -1,4 +0,0 @@ -sysfs --t -sysfs -/sys diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/load-driver b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/load-driver deleted file mode 120000 index 2c9afe03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/load-driver +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/drivers/eth0 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/root b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/root deleted file mode 120000 index 68ea58e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on deleted file mode 120000 index 639430c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/udhcpc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on.params deleted file mode 100644 index 5f192cbc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on.params +++ /dev/null @@ -1,4 +0,0 @@ --f --n --i -eth0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/respawn b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on deleted file mode 120000 index 5779a119..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on +++ /dev/null @@ -1 +0,0 @@ -/bin/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on.params deleted file mode 100644 index 3614fe72..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on.params +++ /dev/null @@ -1 +0,0 @@ -cinit-host diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on deleted file mode 120000 index e27843a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/ifconfig \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on.params deleted file mode 100644 index e58476c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on.params +++ /dev/null @@ -1,3 +0,0 @@ -lo -127.0.0.1 -up diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on deleted file mode 120000 index cf9865a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/sshd \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on.params b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on.params deleted file mode 100644 index eb11be00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on.params +++ /dev/null @@ -1 +0,0 @@ --D diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on deleted file mode 120000 index db1611f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on +++ /dev/null @@ -1 +0,0 @@ -/bin/sh \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on.env b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on.env deleted file mode 100644 index 54ba45f1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on.env +++ /dev/null @@ -1,2 +0,0 @@ -TERM=linux -PATH=/sbin:/bin:/usr/sbin:/usr/bin diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/respawn b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/rsync b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/rsync deleted file mode 100755 index f9649179..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/rsync +++ /dev/null @@ -1,2 +0,0 @@ -chmod a+r * -rsync -av ./ nico@home.schottelius.org:unix/cinit/samples/cinit-0.3/denkbrett/ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/rsync.local b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/rsync.local deleted file mode 100755 index d7ee374b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/rsync.local +++ /dev/null @@ -1,3 +0,0 @@ -DIR=~nico/projekte/cinit/configs/denkbrett/ -rsync -av ./ "$DIR" -chown nico "$DIR"/* diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 deleted file mode 100644 index 1b760767..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 deleted file mode 100644 index 61cf45c1..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre17/doc/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/gpl3-header.c b/software/cinit/browse_source/cinit-0.3pre17/doc/gpl3-header.c deleted file mode 100644 index d8030109..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/gpl3-header.c +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * - * 2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * purpose_of_this_file_is_also_there_behind_the_big_header - * - */ - - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/gpl3-header.sh b/software/cinit/browse_source/cinit-0.3pre17/doc/gpl3-header.sh deleted file mode 100644 index 29b75e61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/gpl3-header.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Description here -# - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre17/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre17/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre17/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/man/cinit-conf.text b/software/cinit/browse_source/cinit-0.3pre17/doc/man/cinit-conf.text deleted file mode 100644 index 0e86ec25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/man/cinit-conf.text +++ /dev/null @@ -1,47 +0,0 @@ -cinit-conf - helps to configure cinit -===================================== -Nico Schottelius -0.0.1, Initial version written on 20080418 in the Bus to Gossau - -cinit-conf aims to be a suite to help to configure cinit and -migrate systems to cinit. - -Introduction ------------- -`cinit` is a fast init system with dependency features and -profile support. As `cinit` is not widely known and it is quite -different in its approach compared to traditional init systems, -the configuration is also quite different. - -To make life easier for people to migrate to and manage `cinit`, -this project was started. - -If you use `cinit-conf`, please send feedback to me using `report_success.sh`. - - -What can it do? -~~~~~~~~~~~~~~~ -.In its current state, `cinit-conf` can -- add getties on Linux (bin/cinit-conf.getty.add) -- find its configuration directory (bin/cinit-conf.get-confdir) - - -What should it can do? -~~~~~~~~~~~~~~~~~~~~~~ -Much more ;-) - -.Also known as features planned, but not implemented. -- Migrate complete installations -- Provide a big toolset to be used by humans and in scripts -- Make your life easier, because you are able to use `cinit` - - -Wherefore can I use it? -~~~~~~~~~~~~~~~~~~~~~~~ -Currenty only to add a getty, but more features will follow soon. - - -How to use ----------- -Execute ./bin/cinit-conf.getty.add. - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre17/doc/man/cinit.text deleted file mode 100644 index 19d0015a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/man/cmd.text b/software/cinit/browse_source/cinit-0.3pre17/doc/man/cmd.text deleted file mode 100644 index b834fabf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/man/cmd.text +++ /dev/null @@ -1,89 +0,0 @@ -cmd(8) -====== -Nico Schottelius - - -NAME ----- -cmd - cinit management and information tool - - -SYNOPSIS --------- -'cmd' [-ed (i|w|n)] [-(p|s) ] [-v] - - -DESCRIPTION ------------ -cmd adds the management possibility to cinit(8). You can retrieve -several information from cinit and change services. - -OPTIONS -------- --d:: - Disable service (see below for required parameters) - (NOT YET IMPLEMENTED) - --e:: - Enable service - - i: Included all needs and wants - - n: Exclude needs - - w: Exclude wants - (NOT YET IMPLEMENTED) - --p:: - Retrieve last process id (pid) for the specific service. For respawn - services this is the pid of the running service. For services that are - started only once it is the pid it had when running. - (NOT YET IMPLEMENTED) - --s:: - Retrieve status of a service. Warning: Do not add trailing slash. - Path can be specified absolute (/etc/cinit/svc/mount/root) or - relative (mount/root). - --v:: - Get version of cinit. - --V:: - Get version of cmd. - - - -EXAMPLES --------- -Get version:: - [8:44] denkbrett:src# cmd -v - - Version of cinit: 0.3pre12 - -Get status:: - [8:37] denkbrett:src# ./cmd -s mount/root - - Status of /etc/cinit/svc/mount/root is: 2001 - - -EXIT STATUS ------------ -Cmd returns 0 on success, 1 on user errors, 2 on communication errors and -3 on unknown reason errors. - -BUGS ----- -Not everything is implemented. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License Version 3 (GPLv3). diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre17/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/man/halt.kill.text b/software/cinit/browse_source/cinit-0.3pre17/doc/man/halt.kill.text deleted file mode 100644 index 4a31e257..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/man/halt.kill.text +++ /dev/null @@ -1,46 +0,0 @@ -halt.kill(8) -============ -Nico Schottelius - - -NAME ----- -halt.kill - Halts systems running cinit through a kill call - -SYNOPSIS --------- -'halt.kill' - - -DESCRIPTION ------------ -You normally halt your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to halt -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute halt.kill, your system will be halted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/man/poweroff.kill.text b/software/cinit/browse_source/cinit-0.3pre17/doc/man/poweroff.kill.text deleted file mode 100644 index 62807ba1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/man/poweroff.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -poweroff.kill(8) -================ -Nico Schottelius - - -NAME ----- -poweroff.kill - Halts and powers off systems running cinit through a kill call - -SYNOPSIS --------- -'poweroff.kill' - - -DESCRIPTION ------------ -You normally poweroff your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to poweroff -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute poweroff.kill, your system will be - powered off. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), reboot.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/man/reboot.kill.text b/software/cinit/browse_source/cinit-0.3pre17/doc/man/reboot.kill.text deleted file mode 100644 index a748553e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/man/reboot.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -reboot.kill(8) -============== -Nico Schottelius - - -NAME ----- -reboot.kill - Reboots systems running cinit through a kill call - -SYNOPSIS --------- -'reboot.kill' - - -DESCRIPTION ------------ -You normally reboot your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to reboot -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute reboot.kill, your system will be - rebooted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), poweroff.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.1 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.1 deleted file mode 100644 index d875ff2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.1 +++ /dev/null @@ -1,4 +0,0 @@ -- initial release: show the project -- add gpl3 header to all scripts in bin/ -- add README -- add some todos diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.1.1 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.1.1 deleted file mode 100644 index 34999cb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.1.1 +++ /dev/null @@ -1,6 +0,0 @@ -- make it possible to migrate a Debian Lenny -- continue rename cinit.* to cinit-conf.* - * migration from cinit-bin -- fixup inclusion -- add more helper scripts -- add report_success.sh diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.2 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.2 deleted file mode 100644 index 9b5c3496..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.2 +++ /dev/null @@ -1 +0,0 @@ -- make it possible to migrate a Debian (Lenny): basic (without everything, make it run) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.2.1 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.2.1 deleted file mode 100644 index 117995bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.2.1 +++ /dev/null @@ -1 +0,0 @@ -- add manpages diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.2.2 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.2.2 deleted file mode 100644 index d359b248..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.2.2 +++ /dev/null @@ -1,3 +0,0 @@ -- remove calls to dirname! - . "$(dirname $0)/cinit-conf.read-conf" - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3 deleted file mode 100644 index 4f27dd34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3 +++ /dev/null @@ -1 +0,0 @@ -- make bla_dir and bladir consistent diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre11 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre11 deleted file mode 100644 index ec532269..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre11 +++ /dev/null @@ -1,10 +0,0 @@ -Done: -- cleanup ipc: - merge cinit_ipc_logon() and cinit_ipc_connect()? - => already done! -- finish cmd in general, perhaps only including one command. -[18:51] denkbrett:src# LANG=C cp cinit /sbin/cinit -cp: cannot create regular file `/sbin/cinit': Text file busy - => mv & cp! - => documentation! - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre12 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre12 deleted file mode 100644 index edbe41d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre12 +++ /dev/null @@ -1,41 +0,0 @@ -Wished release date: 6/7. September - --------------------------------------------------------------------------------- -Done: -- begin to write documentation about client functions - => noone needs that anyway. skip and concentrate on functions now. - -cleanup ipc! - where to call !cinit_ipc_logon and !cinit_ipc_connect? - --------------------------------------------------------------------------------- -Add -Hallo, - -Liebster Nico, wuerdest du die dazu durchringen "make install" und -vllt. sogar "make install-test" in die cinit 0.3er branch aufnehmen? - -vlg Lucky - ==> added make install in previous releases, make test maybe come back - later again. -- cleanup communication: - put parts of comm.h into cinit.h => global exposure - or define new structure in cinit.h? - => removed comm.h -- check svc path in cmd: if it's relative, add /etc/cinit/svc to it - => added. -- add update for git => so cloning does not fail! - => added hook. -Use http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html - => partly implemented - -- remove manual pid support, use the one supplied by msgctl() - => ok. -- there seems to be a race condition in the execution of the - dependency tree: it happens that services that depend on - mounted /proc, have needs on mount/proc are still exited - before /proc is mounted. - problem of cinit or of mount, exiting too early? - guess the first one, so fix it :-) - - => missing check in svc_needs_status.c diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre13 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre13 deleted file mode 100644 index ff8d4296..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre13 +++ /dev/null @@ -1,19 +0,0 @@ -Wished released date: 10./11. September - --------------------------------------------------------------------------------- -Done: -- add get_svc_pid() -- cleanup msgq.h: namespace! -- cleanup cmd: add real usage, add -h for help -- cleanup cinit_ipc_logon()! [already done before] -- cleanup headers: ==> not yet needed. - seems to make more sense, to have more than one exposed header. - cinit.h gets to fast too big. so splitoff to: - /* main */ - /* ... */ -- create libcinit.a/so and link against it => not need right now. -- pre12 seems to have an IPC problem: Fix it. ==> problem with not finishing cinit startup -- global symbol to track the connection to cinit in the client - => cinit_ipc_cinit() - initalise ipc in the client (only once) - => not really our problem, client should be able to remember - whether she called us once or twice. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre13.race-condition b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre13.race-condition deleted file mode 100644 index 19bea29a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre13.race-condition +++ /dev/null @@ -1,12 +0,0 @@ -09:49 < telmich> is it possible, that if I fork() and call _exit(0) in the child, that the - _exit(0) is executed earlier than the fork() call returns in the parent? -09:49 < telmich> I'm having some race condition in cinit, where the pid is not yet updated in - the service structure, and the child exited before and thus cinit does not - update the service -09:49 < telmich> as being run -09:51 < telmich> rexy_: currently I'm thinking about implementing a lock before starting the - fork() -09:51 < telmich> rexy_: thus cinit will react differently, if the starting function is still - running -09:51 < telmich> rexy_: but I'm somehow confused, that fork() allows such race condition - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre14 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre14 deleted file mode 100644 index e002d60c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre14 +++ /dev/null @@ -1,3 +0,0 @@ -Wished release date: 13. September -- add support for shutting down services - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre15 deleted file mode 100644 index 8f81446a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre15 +++ /dev/null @@ -1,62 +0,0 @@ -Wished release date: 20. September -- Add support for starting/stoping services via cmd - - add support for additional information (like which services stopped - when having dependencies) - - if cinit has to stop / start others, how to report? - - add strings to cinit internally to a buffer? - -> or struct cinit_answer + status - -- add support to enable services - -- create some boot profiles -- cinit.install.standard.dirs.argv -- code check: - * check needs: - really started, after started or after finished starting? - * wants: - are they checked? - -- fix devel/codingguideline.text! - -- perhaps merge svc_need_status to svc_status - -cinit-communication: - cinit_get_failed_needs(char *name, int *cnt); -- add support for shutting down services on halt -- cleanup msgq/cinit_ipc_listen.c -- move logic out of the child handler: - => use the new while()-loop in core/cinit.c! - - time() and co. are problematic in a child handler! - - introduce global list of services to execute - => perhaps reuse already existing dependency-list? - - tree_exec(): check whether adding something to the dep list hurts - => don't think so. - expand / change ipc handler: - make it return the message - move while() loop to core/cinit.c - - in the while loop, the global dependency list should - be empty. - - if it is not, we should start something. - - => chance cinit_ipc_listen() to use without while() loop - => export logic to core/cinit.c -- map status numbers to messages -- Cleanup doc/user/NEW_using_cinit_freebsd - => make a real document! -- write / update manpage for cmd! -- add sleep() support after service exited. - --------------------------------------------------------------------------------- -Done: -- add minimal test-suite: - cmd -s /etc/cinit/svc/init - cmd -p /etc/cinit/svc/init - cmd -v - cmd -V -- change to GPLv3? - => ask Markus (cinit), Killerfox (cconfig) and Peter (cconfig) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre16 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre16 deleted file mode 100644 index 16e6efb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre16 +++ /dev/null @@ -1,9 +0,0 @@ -Wished release date: 27. September -- check porting code: - * advise users to set conf/os - * add uname -r | tr ... as make osconfig -- check that all parts of cinit compile at least under: - * linux, linux on 64bit - * FreeBSD - * NetBSD -- cleanup output diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre17 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre17 deleted file mode 100644 index 82976e37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre17 +++ /dev/null @@ -1,11 +0,0 @@ -Wished release date: 3. October - -"Code quality assurance release" - -- Fix bugs all outstanding bugs. -- Give cinit some time, write some documentation and make pre17 the last pre of the 0.3 - serie. -- Give the code out to other developers, request explicit strong critics - => So even - "This could be in theory, if Mars is behind Pluto on Sunday evening" bugs - are out. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre18 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre18 deleted file mode 100644 index d02aac8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre18 +++ /dev/null @@ -1,3 +0,0 @@ -- add support to manually set status of a service: - cmd -s respawn, failed, once, ... -- make get status = -g diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre19 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre19 deleted file mode 100644 index 2e4dfe15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.3pre19 +++ /dev/null @@ -1,4 +0,0 @@ -- enable fast shutdown: - - ignores services and jumps directly to conf/last -- enable ultrafast shutdown - - even skips conf/last diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.4 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.4 deleted file mode 100644 index 3b772d4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.4 +++ /dev/null @@ -1,44 +0,0 @@ --------------------------------------------------------------------------------- -Clean service status messages: - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s --------------------------------------------------------------------------------- -16:13 < KillerFox> telmich: hast du eigentlich schon hooks in cinit? -20:07 < KillerFox> Vapier fĂ¼hrt mal wieder Selbstgespräche. -23:39 < telmich> KillerFox: wozu? -23:42 < KillerFox> telmich: es wäre durchaus interessant, um z.B. sterbende Prozesse wieder zu - starten und so. -23:42 < KillerFox> oder einen Hinweis per Mail zu verschicken. -23:43 < telmich> ahh, du meinst so benachrichtigungen von cinit an $prozess? -23:43 < KillerFox> jein -23:43 < KillerFox> du machst z.B. /etc/cinit/hooks/ -23:43 < KillerFox> darin gibts dann Scripte die bei bestimmten Ereignise aufgerufen werden. -23:43 < KillerFox> z.B. wenn ein Prozess stirbt -23:44 < KillerFox> du kannst dir natĂ¼rlich auch Ă¼berlegen, es auf Prozessebene herunter zu - hacken -23:44 < telmich> ja, eher letzeres -23:44 < KillerFox> so könnte man auch ein paar nette Sachen machen. z.B. Aufräumarbeiten - nachdem ein Prozess beendet wurde oder so -23:45 < KillerFox> telmich: ich finde beides Sinnvoller -23:45 < KillerFox> telmich: globale und lokale Hooks -23:45 < KillerFox> lokale Ă¼berschreiben globale oder so -23:45 < telmich> oder laufen beide -23:45 < KillerFox> oder man kaskadiert sie. -23:45 < KillerFox> genau -23:46 < KillerFox> sinnvolle hooks: pre-start, start, post-start, pre-stop, stop, post-stop, - crash -23:46 < KillerFox> oder sowas -23:47 < KillerFox> vielleicht fallen dir noch mehr ein. -23:48 < KillerFox> die Kommunikation könnte man dann wahlweise Ă¼ber Parameter oder - Umgebungsvariablen lösen -23:48 < KillerFox> um z.B. mitzuteilen welcher Prozess gestoppt wurde -23:49 < KillerFox> z.B. wenn man in pre-stop je nach Bedingung den Stop-Vorgang abbrechen will. -23:49 < telmich> via ${ipc} => kommt darauf an, was implementiert ist; zZ ist es ja msgq -23:50 < telmich> ahh, so -23:50 < telmich> das waere noch recht trivial ueber pipes -23:50 < KillerFox> fifos/sockets, was auch immer. -23:50 < KillerFox> das mĂ¼sste man dann mit einer Bibliothek lösen oder so -23:50 < telmich> ja, die ist auch im aufbau in libcinit/ - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.4.1 b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.4.1 deleted file mode 100644 index b0d7685d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/0.4.1 +++ /dev/null @@ -1,2 +0,0 @@ -- Generate automatic asciidoc from conf/* - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/long_list b/software/cinit/browse_source/cinit-0.3pre17/doc/todo/long_list deleted file mode 100644 index ec11f18d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/todo/long_list +++ /dev/null @@ -1,21 +0,0 @@ -Code ----- - -Performance -~~~~~~~~~~~ - -- Perhaps replace malloc for path with static buffer? - -Compatibility -~~~~~~~~~~~~~ -- create migration scripts - -Usage -~~~~~ -- Aid in debugging cinit-configuration (check without reboot) -- Integrate into OS package system - -Other -~~~~~ -- add log support to shm -- Check and clean doc/: Remove *TODO*+ROADMAP and leave behin doc/TODO (or ditz) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre17/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre17/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/configuring.cinit.text deleted file mode 100644 index 8e45937d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/configuring.cinit.text +++ /dev/null @@ -1,337 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -Less is more ------------- -In contrast to a lot of other init system configurations, the -cinit configuration is not a "catch all", but more a "minimalistic" -configuration: I don't think it's wise to include support for -exotic configurations and a lot of if/else combinations in an init -system configuration. These if/else should be solved at the configuration -time, *not* everytime at boot! - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - -The cinit configuration consists of -- a special configuration directory -- and the service definitions. - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - -Conf ----- -The special configuration directory is normally called `conf/` -(defined at compile-time in `conf/c_confdir`). - -For all executables into this directory apply the same rules as mentioned -below in "Execution: on and off": Appened .params specifies parameters, -appended .env specifies environment. - - -conf/last -~~~~~~~~~ -This is the last part that will be executed. After it has finished, cinit -will halt, power-off or reboot your machine. - -You can use it for whatever task to accomplish (as most things of cinit), but -the idea behind it is to use it for cleaning up things that are not covered -by the off parts of the services. This maybe swapoff (although this is an unecessary -call before poweroff, imho and even if needed this could be handled within the -off part of the same services that enabled it) or `umount -a` for everything -manually mounted and not unmounted yet. - - -conf/sleep_before_kill -~~~~~~~~~~~~~~~~~~~~~~ -This file contains just one line: The number of seconds to sleep after SIGTERM was sent -to every remaining process before sending SIGKILL to all processes. If this file -is unreadable or not existent, cinit will fall back to the value compiled in -(which was specified at build time in conf/sleep_kill). - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start). - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - - -Debugging the configuration ----------------------------- -Use `ls -lR /etc/cinit` or one of the tools found in contrib+tools/. - - -Examples --------- -Currently there are some example configurations available -at http://unix.schottelius.org/cinit/samples/cinit-0.3/, sorted -by host on which they are created. - -In near future, there will also be a file name configuration.example.text, -which will lead you to a sample configuration. - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/daemons.backgrounding.text deleted file mode 100644 index 5b61b91d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- dnsmasq [dhcp/tfpt/dns]: -k -- dovecot [imap/pop3 server]: -F -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- freeradius [radiusd]: -f -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openpbx [pbx]: -f -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre17/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/freebsd.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/freebsd.text deleted file mode 100644 index 05499166..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/freebsd.text +++ /dev/null @@ -1,21 +0,0 @@ -11:33 < mux> from sys/kern/init_main.c: -11:33 < telmich> mux: that's true; I just tried with linux and I tell the - bootloader, who tells the kernel then -11:33 < mux> static char init_path[MAXPATHLEN] = -11:33 < mux> #ifdef INIT_PATH __XSTRING(INIT_PATH); -11:33 < mux> #else -"/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall"; -11:33 < mux> #endif -11:33 < mux> but you give a loader tunable -11:34 < mux> if ((var = getenv("init_path")) != NULL) { -11:34 < mux> strlcpy(init_path, var, sizeof(init_path)); -11:34 < mux> freeenv(var); -11:34 < mux> } -11:34 < mux> here you are -11:34 < telmich> ahh, that's good -11:34 * telmich has to try cinit on freebsd the next days :-) -12:34 < mux> (s/you give/you can give/) -11:35 < mux> so, simply init_path)="/sbin/cinit" in /boot/loader.conf should do - it -11:35 < mux> minus the typo - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre17/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre17/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/problems-and-solutions.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/problems-and-solutions.text deleted file mode 100644 index 92cdd241..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/problems-and-solutions.text +++ /dev/null @@ -1,33 +0,0 @@ -cinit - Problems occured and solutions used -=========================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2007-05-28 -:Author Initials: NS - -This documentes describes real problems people had with -cinit and their appropriate solutions. Feel free to add -your problems and solutions here. - - -Introduction ------------- - - -Adding problems and solutions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Simply add your problem and solution and sign your paragraph -with your name. Then send the diff -u to the cinit mailinglist -or setup a git-repository so I can pull the changes. - - -Hibernate ---------- -uses /sbin/runlevel, which should *not* respond with 0 or 6 -as the second number. As cinit does not have /sbin/runlevel, -because cinit does not have any runlevels, you could hardcode -it to values hibernate accepts: - ----------------------------------------------------------------------- -#!/bin/sh -echo N 2 ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/problems.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/problems.text deleted file mode 100644 index 4fe8a315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/problems.text +++ /dev/null @@ -1,114 +0,0 @@ -Problems using cinit -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-24 -:Author Initials: NS - - -Using a high-speed, true dependency aware, profile supporting -logical acting and reliable init system like cinit is not -completly problem free. This document describes some common -problems you may have and their solutions. - - -Possible problems ------------------ - -Confused users -~~~~~~~~~~~~~~ -Compared to traditional init systems like sys-v-init or bsd-init -cinit introduces a complet new boot concept. This does not just -mean that you have services instead of shell-scripts (which is -one reason cinit is starting up faster), but also that the boot -order may be changed dynamically at bootup:, if a service fails. -And even if no service fails, the boot order may be different -on each boot, because processes are started in parallel and -may return earlier or later on each boot. To coordinate the -parallel running processes, cinit uses depencies, which are pretty -easy to understad when configurung, but may need some more -detailled watching at boot to understand it. - -The 'confused users'-problem is perhaps also the biggest -problem for introducing cinit as a replacement to current -init systems. - - -Configuration issues -~~~~~~~~~~~~~~~~~~~~ - -Not marking services as respawn -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When cinit starts, it will wait for every service to exit. -So if you have a dependency on a service -that never exits, the whole init process may hang (dependending -on the dependencies). If you have services that are intendet -*not* to exit after start, you *have* to mark those with -`respawn`: Those services are started and watched by cinit -and will be restarted. This was a design choice to ensure -that all 'always running' processes *are* restarted. - -I did not find any service that should not exit and not -have a respawn flag. If you really really really have such -a service and you can prove to me that the respawn flag -would do harm to your system, I will think about implementing -a flag that tells cinit not to wait for it, but mark it -as successfully run after it has been started. - -User interaction -~~~~~~~~~~~~~~~~ - -User input -~~~~~~~~~~ -There may be the situation that you have to press a key -or enter some data when a service starts up (like entering -the password for your crypto harddisks). With cinit, this -will look like a mess, because other services may write to -the same console the service wrote a user prompt. - -The best solution for this problem is in my humble -opinion to create an user-input daemon that serialises -the requests and displays one after another. - -This could look like this: Your daemon wants to ask for -a passphrase for the SSL-certificate. You add aa needs -to this daemon to the 'input-daemon'. When you -start this service, it will contact the input-daemon -running on another virtual console and displaying a text -and an input field that is passed back to this service. -After that the input daemon changes back to the initial -console or asks for the next input, if there is another -request available. - -This input daemon may also be run on a graphical (X11) display. -. -Output to the user -~~~~~~~~~~~~~~~~~~ -When cinit starts up there may be many messages printed -out that also may look like printed random order. -To prevent your endusers from being confused you can create -some kind of graphical interface (like a framebuffer -or X11 display) that reads the output of cinit and converts -it to flashing images. It could look like this: - ----------------------------------------------------------------------- - - Your (graphical?) display: - -------------------------------------------------------------- - | /-----------------\ | - | | Red border, | | - | | failed to start | | - | \-----------------/ | - | | - | /------ | - | | Green border, | - | image van | - | | - | | - | | - | | - | | - | | - -------------------------------------------------------------- - - ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre17/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/respawning-sleep.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/respawning-sleep.text deleted file mode 100644 index 24ed17e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/respawning-sleep.text +++ /dev/null @@ -1,52 +0,0 @@ -cinit - Respawning and sleeping -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-13 -:Author Initials: NS - - -How cinit sleeps, before a service is respawned. - -Introduction ------------- -When a service, that is configured to be respawning, exits cinit restarts it. -Because services may be broken and thus cinit would try to restart it many -times in a second, it is necessary to sleep between restarts. - -The big question: How to sleep? ------------------------------------- -The first possibility is to sleep a fixed amount of time between restarts: -For instance one second. This is not a good solution, because this waits -one unecessary second if the process just crashed. It may be too less, if -the service is really broken. - -The second possibility is to sleep a dynamic amount of time. - - -The next big question: How long to sleep? ------------------------------------------ -I think that as long as a service is broken we should not investigate to much -time into restarting it. So we can define a maximum amount of time to sleep -(for instance 30 seconds). The minimum amount of time to sleep is zero seconds. - -When the service is first started, the sleep time defaults to the minimum -amount of time. Each time the service is restarted, the sleep time is adjusted: - -sleep time (st) = Maximum sleep time (mst) / Time the process was running (tr) - -- If tr is < 1 it is adjusted to 1 and thus st is set to mst. -- If tr is > mst, st is set to 0. - - -How to force restart of a service? ----------------------------------- -Use cvsc (to be implemented). - - -Hom is it implemented? ----------------------- -Everytime cinit has to respawn a service it has to fork() itself. -The sleep call is implemented in the fork, so cinit itself does not have -to care about it. After the sleep time is over or the fork() recieves -SIGALARM it executes the real service. cinit itself records as start time -the current time plus sleep time. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre17/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre17/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre17/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre17/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre17/libexec/cinit-conf/dialog-alias.sh b/software/cinit/browse_source/cinit-0.3pre17/libexec/cinit-conf/dialog-alias.sh deleted file mode 100644 index 89813726..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/libexec/cinit-conf/dialog-alias.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# the cLinux project -# Created: 2004-12-25 -# Last-Modified: -# choose the correct dialog version - -if [ -z "$DISPLAY" ]; then - alias dialog="dialog --shadow --backtitle \"$full_version\"" -else - alias dialog="Xdialog --backtitle \"$full_version\"" -fi diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/README b/software/cinit/browse_source/cinit-0.3pre17/scripts/README deleted file mode 100644 index 95afabe2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/README +++ /dev/null @@ -1,3 +0,0 @@ -Scripts for internal use. - -Users: Use bin/ for usable helper programs. diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/build/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre17/scripts/build/cinit.configure.ipc deleted file mode 100755 index b8154ba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/build/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/build/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre17/scripts/build/cinit.configure.mark deleted file mode 100755 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/build/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/build/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre17/scripts/build/cinit.configure.os deleted file mode 100755 index ece6f53c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/build/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/build/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre17/scripts/build/cinit.configure.tools deleted file mode 100755 index 39c2f00d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/build/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../../tmpbin/ -CC=$(head -n 1 "$HIER/../../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../../conf/cflags") -LD=$(head -n 1 "$HIER/../../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/cconfig.mk.makefile b/software/cinit/browse_source/cinit-0.3pre17/scripts/cconfig.mk.makefile deleted file mode 100755 index 822addce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/cconfig.mk.makefile +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-20, 0110 CEST -# cconfig: create makefile from conf/ directory -# currently: all files -# later: only built-defines -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "#" -echo "# Warning: Autogenerated by $0, do not edit. " -echo "#" -for conf in ${CONFS}; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - echo "${NAME}=${value}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre17/scripts/cinit.build-env deleted file mode 100755 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre17/scripts/cinit.get-confdir deleted file mode 100755 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre17/scripts/cinit.mkheader deleted file mode 100755 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre17/scripts/cinit.read-conf deleted file mode 100755 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/README b/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/README deleted file mode 100644 index 64c0d174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/README +++ /dev/null @@ -1 +0,0 @@ -Scripts used to generate or aid in creating a configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/freebsd/create_services.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/freebsd/create_services.sh deleted file mode 100644 index 52e123a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/freebsd/create_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to create from stdin -# Create services (add correct dependencies) -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/freebsd/enable_services.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/freebsd/enable_services.sh deleted file mode 100644 index ce4563a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/freebsd/enable_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to enabled from stdin -# Services must already exist -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/freebsd/search_enabled_services.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/freebsd/search_enabled_services.sh deleted file mode 100644 index 69e519b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/freebsd/search_enabled_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search for enabled services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/freebsd/search_services.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/freebsd/search_services.sh deleted file mode 100644 index 2043e857..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/configuration/freebsd/search_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search all services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of all services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/README b/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/README deleted file mode 100644 index c0e8b95b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/README +++ /dev/null @@ -1 +0,0 @@ -Scripts that should move to bin/ as soon as they are ready to be used. diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit-conf.migrate.sysvinit.debian b/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit-conf.migrate.sysvinit.debian deleted file mode 100755 index 0fdcb5f1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit-conf.migrate.sysvinit.debian +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. -# -- She's not my girlfriend anymore, but now I want to test cinit-0.3pre15 on -# my notebook - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit-conf.read-conf - -if [ -d "${CINIT_DIR}" ]; then - echo "ERROR: Configuration directory exists already at ${CINIT_DIR}." - exit 1 -fi - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -: ${ROOT_DEV:=$(awk '$2 ~ /^\/$/ { print $1 }' ${DESTDIR}/etc/fstab)} -: ${ROOT_FSCK:=$(awk '$2 ~ /^\/$/ { print $6 }' ${DESTDIR}/etc/fstab)} -: ${ROOT_FS:=$(awk '$2 ~ /^\/$/ { print $3 }' ${DESTDIR}/etc/fstab)} -: ${HOSTNAME:=$(hostname)} - - -echo "***> Configuration" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -#echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -set -x -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit-conf.install.dirs.base -$(dirname $0)/cinit-conf.install.dirs.svc-categories -$(dirname $0)/cinit-conf.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit-conf.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit-conf.install.service.linux.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit-conf.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV (\$ROOT_FSCK is not 1 in fstab)..." -fi - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit-conf.install.service.linux.hostname "$HOSTNAME" - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit-conf.getty.add - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit-conf.add.dependency getty wants getty/$i -done - -exit 0 -# FIXME: Stopped here - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit-conf.migrate.sysvinit.debian.sid b/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit-conf.migrate.sysvinit.debian.sid deleted file mode 100755 index c0945edb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit-conf.migrate.sysvinit.debian.sid +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. -# -- She's not my girlfriend anymore, but now I want to test cinit-0.3pre15 on -# my notebook - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit-conf.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit-conf.miniconf.linux b/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit-conf.miniconf.linux deleted file mode 100755 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit-conf.miniconf.linux +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit-conf.miniconf.linux.todo b/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit-conf.miniconf.linux.todo deleted file mode 100644 index 953c06e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit-conf.miniconf.linux.todo +++ /dev/null @@ -1,4 +0,0 @@ -Make it work with a system. - -Same aim as cinit.install.test, but different approach: -This script tries to build the config dynamically. diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit.install.test deleted file mode 100755 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit.install.test.todo b/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit.install.test.todo deleted file mode 100644 index 8e48d55e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/cinit.install.test.todo +++ /dev/null @@ -1 +0,0 @@ -See ditz: portability-1 diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/create_baseconfig.sh deleted file mode 100755 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/migrate-linux-debian-lenny.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/migrate-linux-debian-lenny.sh deleted file mode 100755 index 8f3185e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/future-bin/migrate-linux-debian-lenny.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -bd="${0%/*}" -export bd - -echo "Trying to configure cinit for your Debian Linux" - -# migrate /etc/fstab to mounts - -"$bd/linux/sys-v-init/migrate-fstab.sh" - -# migrate / create 6 getties - -# migrate network - -# migrate services diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/install/README b/software/cinit/browse_source/cinit-0.3pre17/scripts/install/README deleted file mode 100644 index 7870c76e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/install/README +++ /dev/null @@ -1 +0,0 @@ -Scripts to be used for installing (NOT CONFIGURING) cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/install/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre17/scripts/install/cinit.install.binary deleted file mode 100755 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/install/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/install/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre17/scripts/install/cinit.install.dir deleted file mode 100755 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/install/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/cinit.release b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/cinit.release deleted file mode 100755 index 445199a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/cinit.release +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: ls -l - -if [ $# -ne 1 ]; then - echo "This is a maintainer-only script to release cinit" - echo $(basename $0): version - exit 1 -fi - -# paths -D_BASE="/home/users/nico/privat/computer/net/netzseiten/www.nico.schottelius.org/src/software/cinit" -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ - -# versions to check -VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')" -VERSION_ARGV="$1" -VERSION_GIT="$(git describe)" -VERSION_README=$(grep -q "$VERSION_ARGV" README && echo $VERSION_ARGV) - -echo "=> Version commandline: $VERSION_ARGV" -echo "=> Version conf/version: $VERSION_CONF" -echo "=> Version git: $VERSION_GIT" -echo "=> Version README: $VERSION_README" - -if [ "$VERSION_ARGV" = "$VERSION_CONF" -a "$VERSION_ARGV" = "$VERSION_GIT" ]; then - echo "=> Version confirmed." -else - echo "*** VERSION MISMATCH ***" - exit 42 -fi - -# Finally, accept the right version -VERSION="$VERSION_GIT" -NAME="cinit-${VERSION}" -TARNAME="cinit-${VERSION}.tar.bz2" -TARPATH="$D_DIR/$TARNAME" - -echo -n "=> Continue to release $NAME? " -read yes - -git archive $VERSION --prefix="${NAME}/" --output="${TARPATH}" -( cd "$D_SOURCE" && tar xvf "$TARPATH" ) - -echo "Please do not forget to update the website..." - -################################################################################ -# Unused, but interesting - -# make sure the examples are not executed anymore -exit 0 - -# match cinit-$version as directory name -VERSION_DIR="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')" - -# grep version string from CHANGES file (often used, obsoleted here) -VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):.*/\1/')" - -# Correct umask 077 results -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$RDIR\" \"$LINK\"" - -# Create archive -echo "Creating bzip2 compressed tar" -cd $DDIR -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$RDIR" -chmod 0644 "$OUT_NAME" - -# Transfer to a remote host -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" - -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" - - - diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/compile+run.sh deleted file mode 100755 index 30ec68a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/compile+run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -if [ ! "$1" ]; then - echo "HOSTNAME" - exit 23 -fi - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$host" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/compile_local.sh deleted file mode 100755 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/compile_run_as_compiler.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/compile_run_as_compiler.sh deleted file mode 100755 index f1ba01d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/compile_run_as_compiler.sh +++ /dev/null @@ -1,14 +0,0 @@ -what=$(dirname $0)/../../ -what_real=$(cd "$what" && pwd -P) -dest=~compiler/cinit-test - -set -e -sudo rsync -av "${what_real}/" "$dest" -sudo chown -R compiler "$dest" -sudo -u compiler "${dest}/scripts/internal/compile_local.sh" -sudo -u compiler "${dest}/src/cinit" & -sleep 13 -sudo -u compiler "${dest}/scripts/internal/stop_cinit.sh" - -# exit 0 for make -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/compile_test.sh deleted file mode 100755 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/create_test_config.sh deleted file mode 100755 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/find_right_version.sh deleted file mode 100755 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/indent_script b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/indent_script deleted file mode 100755 index 5e1a8b0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/indent_script +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-linux at schottelius.org) -# indents like kr with a little bit more beauty look -# 13-May-2004 -# written for the monotone project, adapted for all my projects -# -# Copying: GPLv3 - -if [ $# -lt 1 ]; then - echo "$0: " - exit 1 -fi - -opts="" -opts="${opts} -bap" # --blank-lines-after-procedures -opts="${opts} -bbb" # --blank-lines-before-block-comments -opts="${opts} -bad" # --blank-lines-after-declarations -opts="${opts} -bbo" # --break-before-boolean-operator -opts="${opts} -br" # --braces-on-if-line -opts="${opts} -brs" # --braces-on-struct-decl-line -opts="${opts} -cdb" # --comment-delimiters-on-blank-lines -opts="${opts} -cbi0" # --case-brace-indentation -opts="${opts} -cdw" # --cuddle-do-while -opts="${opts} -ce" # --cuddle-else, see -br -opts="${opts} -ci0" # --continuation-indentation (see -lp) -opts="${opts} -cli3" # --case-indentation -opts="${opts} -cp33" # --else-endif-columnn -opts="${opts} -cs" # --space-after-cast -opts="${opts} -d0" # --line-comments-indentationn -opts="${opts} -di0" # --declaration-indentation -opts="${opts} -fca" # --format-all-comments -opts="${opts} -hnl" # --honour-newlines -opts="${opts} -i3" # --indent-level -opts="${opts} -ip0" # --parameter-indentation -opts="${opts} -l80" # --line-length -opts="${opts} -lc80" # --line-length -opts="${opts} -lp" # --continue-at-parentheses -opts="${opts} -lps" # --leave-preprocessor-space -opts="${opts} -nbc" # --no-blank-lines-after-commas -opts="${opts} -nbfda" # --dont-break-function-decl-args -opts="${opts} -nbfde" # NOT --break-function-decl-args -opts="${opts} -nfc1" # --dont-format-first-column-comments -opts="${opts} -npcs" # --no-space-after-function-call-names -opts="${opts} -nprs" # --no-space-after-parentheses -opts="${opts} -npsl" # --dont-break-procedure-type -opts="${opts} -nsaf" # --no-space-after-for -opts="${opts} -nsai" # --no-space-after-if -opts="${opts} -nsaw" # --no-space-after-while -opts="${opts} -npsl" # --dont-break-procedure-type -opts="${opts} -nut" # --no-tabs -opts="${opts} -nv" # --no-verbosity -opts="${opts} -npro" # --ignore-profile -opts="${opts} -pi0" # --paren-indentationn -opts="${opts} -ppi3" # preprocessor indent -opts="${opts} -sbi0" # --struct-brace-indentation -opts="${opts} -sc" # --start-left-side-of-comments -opts="${opts} -sob" # --swallow-optional-blank-lines -opts="${opts} -ss" # --space-special-semicolon - - - -for file in "$@"; do - indent $opts "$file" -done - # old: -# -ad \ -# -ts3 -nut -sc -ce -cdw -cli0 -nbc lp -ppi3 -di1 -c33 -cd33 -ncdb -ci3 -cp33 -cs -d0 -di0 -l75 -nfc1 -nfca -hnl -ip0 -nprs -saf -sai -saw -nsob -nss -npsl "$file" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/old/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/old/cdoc-man.sh deleted file mode 100755 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/old/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/qemu-test.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/qemu-test.sh deleted file mode 100755 index fd41312e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/qemu-test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-03: For testing cinit in qemu -# - -emud="${HOME}/emu" -img="${emud}/debian-hd.img" -ddir="${emud}/mount" -loop=/dev/loop1 -fsck="/sbin/fsck.jfs" - -# my jfs is on the first partition, 512*63 bytes offset -offset="32256" - -set -e -set -x -sudo losetup -o "${offset}" "${loop}" "${img}" -sudo "${fsck}" "${loop}" -sudo mount "${loop}" "${ddir}" - -sudo umount "${loop}" -sudo losetup -d "${loop}" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/stop_cinit.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/stop_cinit.sh deleted file mode 100755 index 86e4d82b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/stop_cinit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Linux specific, but don't care, I am the only person that should use it - -killall -TERM cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/test-cmd.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/test-cmd.sh deleted file mode 100755 index dbfc5c73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/test-cmd.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-27: Test cmd -# - - -echo "Testing cmd..." -sudo /sbin/cmd -s /etc/cinit/svc/init -sudo /sbin/cmd -p /etc/cinit/svc/init -sudo /sbin/cmd -v -sudo /sbin/cmd -V diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/test/cinit-conf.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/test/cinit-conf.sh deleted file mode 100755 index 0e29816e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/test/cinit-conf.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: 2005-08-08 -# cinit-conf - -LIBEXEC=$(dirname $0)/../libexec/cinit-conf/ - -. ${LIBEXEC}/dialog-alias.sh - -dialog --calendar "Test" 0 0 18 12 1982 -dialog --checklist "Checktest" 0 0 0 item1 on item2 off item3 on -dialog --infobox "Infotext" 0 0 -dialog --inputbox "inputbox" 0 0 "vorgegebener text" -dialog --menu "menu" 0 0 0 tag1 item1 tag2 item2 bla blub -dialog --infobox "Infotext" 0 0 -dialog --msgbox "Infotext" 0 0 -dialog --radiolist "Infotext" 0 0 0 tag1 item1 on tag2 item2 off -dialog --textbox ~/.bashrc 0 0 -dialog --yesno "Ja oder nein?" 0 0 - -dialog --gauge "Checktest" 0 0 10 - -#dialog --inputmenu "Infotext" 0 0 0 tag1 item1 tag2 item2 bla blub diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/test/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/test/cinit.uml.test deleted file mode 100755 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/test/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/test_on_hosts.sh deleted file mode 100755 index afeb2627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net jiffies.forkbomb.ch ddna044.netstream.ch" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/valgrind deleted file mode 100755 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre17/scripts/report.compile deleted file mode 100755 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/README b/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/README deleted file mode 100644 index 653e9875..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/README +++ /dev/null @@ -1,2 +0,0 @@ -Directory to keep scripts related to controlling vms, -which are used for testing cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/qemu-start.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/qemu-start.sh deleted file mode 100755 index ac863a20..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/qemu-start.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -ROOT=$(dirname $0)/../root/Debian-3.0r0.ext2 - -qemu -hda "$ROOT" "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-dir-start-plain.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-dir-start-plain.sh deleted file mode 100755 index 41b1b218..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-dir-start-plain.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start an image with its standard init -# - -ROOT="$1"; shift - -linux root=/dev/root rootflags="$ROOT" rootfstype=hostfs "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-img-start-cinit.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-img-start-cinit.sh deleted file mode 100755 index 8a147d6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-img-start-cinit.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start an image with cinit as init -# - -ROOT="$1"; shift - -linux "ubd0=$ROOT" init=/sbin/cinit "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-img-start-plain.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-img-start-plain.sh deleted file mode 100755 index 311eaf13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-img-start-plain.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start an image with its standard init -# - -ROOT="$1"; shift - -linux "ubd0=$ROOT" "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-mount.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-mount.sh deleted file mode 100755 index bd52286a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-mount.sh +++ /dev/null @@ -1,3 +0,0 @@ -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl,sync diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-shell.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-shell.sh deleted file mode 100755 index e1776af2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-shell.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -ROOT=$(dirname $0)/Debian-3.0r0.ext2 - -linux ubd0=$ROOT init=/bin/sh "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-umount.sh b/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-umount.sh deleted file mode 100755 index 70453e35..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/vm/uml-umount.sh +++ /dev/null @@ -1,3 +0,0 @@ -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo umount "$DDIR" diff --git a/software/cinit/browse_source/cinit-0.3pre17/scripts/wrapper/linux-sysvinit/shutdown b/software/cinit/browse_source/cinit-0.3pre17/scripts/wrapper/linux-sysvinit/shutdown deleted file mode 100755 index b8cf3837..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/scripts/wrapper/linux-sysvinit/shutdown +++ /dev/null @@ -1,207 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-cinit /at/ schottelius.org) -# 2007-05-21 -# Behave as being shutdown from Linux' sysvinit - -# Always needed variables / functions -_0_short=${0##*/} -_o_seperator=":" -_oecho_seperator=":" -_eecho_seperator=">" - -# ok-exit/echo -_oecho() -{ - echo "${_0_short}${_oecho_seperator}" "$@" -} - -_oexit() -{ - _oecho "$@" - exit 0 -} - -# error-exit/echo -_eecho() -{ - echo "${_0_short}${_oecho_seperator}" "$@" >&2 -} - -_eexit() -{ - _eecho "$@" - exit 1 -} - -# Program specific variables - -time_t=0 # -t sec -warn_only_k=0 # -k -reboot_r=0 # -r -halt_h=0 # -h -poweroff_P=0 # -P -cancel_c=0 # -c -time=-1 # [time] -message="" # [warning-message] -cmd="" # what to execute internally -pidfile="/var/run/cinit.shutdown" -pid="" -runs="" - -version="0.1" -version_date="2007-10-30" - -message_intro="The system is going down for" -message_reboot="reboot" -message_halt="halt" -message_poweroff="poweroff" - -# unimplemented: -a, -H, -f, -F -# deprecated and thus not implemented: -n - -# traping signals -trap_signals() -{ - _oexit "Aborted shutdown" -} - -# all the functions - -usage() -{ - -cat << cinit_usage - -*** cinit linux-sysvinit shutdown wrapper (Version ${version} ${version_date}) *** - -Usage shutdown [-akrhHPfnc] [-t secs] time [warning message] - -a: use /etc/shutdown.allow - -k: don't really shutdown, only warn. - -r: reboot after shutdown. - -h: halt after shutdown. - -P: halt action is to turn off power. - -H: halt action is to just halt. - -f: do a 'fast' reboot (skip fsck). - -F: Force fsck on reboot. - -n: do not go through "init" but go down real fast. - -c: cancel a running shutdown. - -t secs: delay between warning and kill signal. - ** the "time" argument is mandatory! (try "now") ** - -You can also call "cinit.{halt|reboot|poweroff}" directly -(instead of using this wrapper). - -cinit_usage - -exit 0 - -} - -warn() -{ - ( echo ""; echo "$@"; echo "" ) | wall - ( echo ""; echo "$@"; echo "" ) -} - -if [ "$#" -lt 1 ]; then - usage -fi - -# getopt! -while [ "$#" -ge 1 ]; do - arg="$1"; shift - - case "${arg}" in - -a|-F|-f|-n) - _oexit "Sorry, ${arg} is not implemented." - ;; - -t) - if [ "$#" -lt 1 ]; then - _eexit "-t needs the time argument" - fi - time_t="$1"; shift - ;; - -k) - warn_only_k=1 - cmd=true - ;; - -r) - reboot_r=1 - cmd=cinit.reboot - message_what="${message_reboot}" - ;; - -h|-H) - halt_h=1 - cmd=cinit.halt - message_what="${message_halt}" - ;; - -P) - poweroff_P=1 - cmd=cinit.poweroff - message_what="${message_poweroff}" - ;; - -c) - cancel_c=1 - ;; - *) - # time unset? - if [ "${time}" = -1 ]; then - time="${arg}" - [ "${time}" = "now" ] && time=0 - elif [ -z "${message}" ]; then - message="${arg}" - else - _eexit "Already specified time and message" - fi - ;; - esac -done - -if [ -f "${pidfile}" ]; then - pid=$(cat "${pidfile}") - runs=$(kill -CONT "${pid}" >/dev/null 2>&1 && echo yes) -fi - -# do cancel or abort or locking -if [ "${cancel_c}" -eq 1 ]; then - if [ "${runs}" ]; then - kill -TERM "${pid}" - _oexit "Terminated running shutdown at \"${pid}\"." - else - _eexit "Cannot abort shutdown, not running." - fi -fi - -if [ -z "${time}" ]; then - usage -fi - -if [ -z "${cmd}" ]; then - _eexit "You need to specify one of -h, -P, -H, -r." -fi - -# add lock -if [ "${pid}" ]; then - if [ "${runs}" ]; then - _eexit "Shutdown already running." - else - _oecho "Overwriting stale pidfile" - fi -fi -echo $$ > "${pidfile}" - -if [ "${message}" ]; then - warn "${message}" -fi - -# signals to abort on -trap trap_signals INT HUP TERM - -while [ "${time}" -gt 0 ]; do - warn "${message_intro} ${message_what} in ${time} minute(s)." - sleep 60 - time=$((${time}-1)) -done - -warn "${message_intro} ${message_what} now." -"${cmd}" diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:41:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:41:08 deleted file mode 100644 index d29de765..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:41:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586640 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:46:09 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:46:09 deleted file mode 100644 index 7ecb58be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-15:46:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586368 Apr 30 15:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-16:50:05 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-16:50:05 deleted file mode 100644 index d87323e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-16:50:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587818 Apr 30 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:03:00 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:03:00 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:39:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:39:08 deleted file mode 100644 index 0c2bb0af..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:39:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586194 May 6 20:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:54:00 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:54:00 deleted file mode 100644 index fe51f37f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:55:07 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:55:07 deleted file mode 100644 index 4d2854b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:55:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-23:00:07 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-23:00:07 deleted file mode 100644 index c0db4814..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-23:00:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 23:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:31:01 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:31:01 deleted file mode 100644 index 4ad1fccf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:31:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:31 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:39:02 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:39:02 deleted file mode 100644 index 16613354..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:39:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:43:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:43:08 deleted file mode 100644 index 29e5ab44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:54:04 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:54:04 deleted file mode 100644 index 474189e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:54:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:18:00 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:18:00 deleted file mode 100644 index 960ca358..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:18:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:14:00 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:14:00 deleted file mode 100644 index 7de2bc3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:14:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:14 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:43:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:43:08 deleted file mode 100644 index 11a18f12..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597245 May 7 14:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:48:01 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:48:01 deleted file mode 100644 index 28b127b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:48:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597405 May 7 14:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:55:05 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:55:05 deleted file mode 100644 index 5d0fa0e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:55:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:01:01 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:01:01 deleted file mode 100644 index 7c8b202b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:01:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 15:01 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:27:00 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:27:00 deleted file mode 100644 index a2d19633..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:27:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:20:02 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:20:02 deleted file mode 100644 index 23608225..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:20:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602184 May 7 16:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:31:09 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:31:09 deleted file mode 100644 index 40f890cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:31:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:31 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:08:09 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:08:09 deleted file mode 100644 index 22b48319..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:08:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-10:44:00 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-10:44:00 deleted file mode 100644 index 4dad0f2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-10:44:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 64935 May 8 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-12:42:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-12:42:08 deleted file mode 100644 index a356e57e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-12:42:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 23195 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:25:05 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:25:05 deleted file mode 100644 index 0b5026c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:25:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:30:03 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:30:03 deleted file mode 100644 index 7377ee59..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:30:03 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-21:54:00 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-21:54:00 deleted file mode 100644 index 41ed8e4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-21:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604637 May 10 21:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:07:06 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:07:06 deleted file mode 100644 index 9579bf3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:07:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95212 May 10 22:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-00:14:02 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-00:14:02 deleted file mode 100644 index 86483ada..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-00:14:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-15-22:32:07 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-15-22:32:07 deleted file mode 100644 index 59557c4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-15-22:32:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 15 22:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-15-23:52:06 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-15-23:52:06 deleted file mode 100644 index 757e6dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-15-23:52:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579305 May 15 23:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-15-23:56:00 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-15-23:56:00 deleted file mode 100644 index 24c85104..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-15-23:56:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605145 May 15 23:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:16:09 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:16:09 deleted file mode 100644 index 27254aa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:16:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605205 May 16 00:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-09:58:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-09:58:08 deleted file mode 100644 index 90a5b698..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-09:58:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605567 May 16 09:58 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:09:00 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:09:00 deleted file mode 100644 index 4c34f810..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:09:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605583 May 16 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:13:07 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:13:07 deleted file mode 100644 index b6a851e6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:13:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605619 May 16 10:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:23:05 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:23:05 deleted file mode 100644 index 2c4fc649..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:23:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-14:56:01 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-14:56:01 deleted file mode 100644 index c5e08e25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-14:56:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95794 May 21 14:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:35:00 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:35:00 deleted file mode 100644 index 0f2d5463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:35:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:35 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-08-10:23:04 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-08-10:23:04 deleted file mode 100644 index 0858c419..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-08-10:23:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53724 Jun 8 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-08:44:09 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-08:44:09 deleted file mode 100644 index b96788fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-08:44:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53524 Jun 9 08:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-10:00:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-10:00:08 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-11:47:04 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-11:47:04 deleted file mode 100644 index 531df2bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-09-11:47:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-10-18:14:05 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-10-18:14:05 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-10-18:14:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-12-18:09:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-12-18:09:08 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-12-18:09:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-08:13:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-08:13:08 deleted file mode 100644 index eab7486c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-08:13:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 13 08:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-10:01:02 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-10:01:02 deleted file mode 100644 index cd4e9dad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-10:01:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52380 Jun 14 10:01 cinit --rwx------ 1 nico users 47356 Jun 14 10:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-06:46:05 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-06:46:05 deleted file mode 100644 index e0e1051d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-06:46:05 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:46 cinit --rwx------ 1 nico users 47324 Jun 15 06:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-16-12:18:07 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-16-12:18:07 deleted file mode 100644 index 43633af1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-16-12:18:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 16 12:18 cinit --rwx------ 1 nico users 50860 Jun 16 12:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-10:35:02 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-10:35:02 deleted file mode 100644 index 41fcadb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-10:35:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47584 Jun 22 10:35 cinit --rwx------ 1 nico users 46760 Jun 22 10:35 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-25-11:56:07 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-25-11:56:07 deleted file mode 100644 index 0f917aee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-25-11:56:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47712 Jun 25 11:56 cinit --rwx------ 1 nico users 46760 Jun 25 11:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:11:07 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:11:07 deleted file mode 100644 index 7e4c645b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:11:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:11 cinit --rwx------ 1 nico users 50860 Jul 6 08:11 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:08:05 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:08:05 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:08:05 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:13:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:13:08 deleted file mode 100644 index 2b09e08b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-07-06-10:13:08 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:13 cinit --rwx------ 1 nico users 50860 Jul 6 10:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-08-08-01:00:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-08-08-01:00:08 deleted file mode 100644 index 9c0c4908..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-08-08-01:00:08 +++ /dev/null @@ -1,3 +0,0 @@ -total 840 --rwx------ 1 root root 429764 Aug 8 01:00 cinit --rwx------ 1 root root 426052 Aug 8 01:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-08-29-21:48:00 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-08-29-21:48:00 deleted file mode 100644 index caa24bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-08-29-21:48:00 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 root root 437404 2005-08-29 21:47 cinit --rwx------ 1 root root 436316 2005-08-29 21:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-05:57:00 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-05:57:00 deleted file mode 100644 index ba396d14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-05:57:00 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:57 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:56 cinit --rwx------ 1 nico nico 440412 Sep 3 05:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-05:58:07 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-05:58:07 deleted file mode 100644 index 65f0cc50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-05:58:07 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-03 05:58 ccontrol --rwx------ 1 root root 444508 2005-09-03 05:58 cinit --rwx------ 1 root root 440412 2005-09-03 05:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:43:02 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:43:02 deleted file mode 100644 index 027a5b67..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:43:02 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:43 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:43 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:51:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:51:08 deleted file mode 100644 index a0fdf121..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:51:08 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:43 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:51 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:58:04 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:58:04 deleted file mode 100644 index 5c6da786..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-09:58:04 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:58 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:58 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre17/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-17-00:31:08 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-17-00:31:08 deleted file mode 100644 index b95123d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-17-00:31:08 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 00:31 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:31 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:08:04 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:08:04 deleted file mode 100644 index df9d08a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:08:04 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:08 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:08 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-11:46:07 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-11:46:07 deleted file mode 100644 index 7b96d3d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-11:46:07 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:46 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:46 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-15:19:05 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-15:19:05 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-15:19:05 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-11-29-235707 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-11-29-235707 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-11-29-235707 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-185602 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-185602 deleted file mode 100644 index d90770a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-185602 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71836 2006-12-03 18:56 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-185901 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-185901 deleted file mode 100644 index 61cc9bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-185901 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71768 2006-12-03 18:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-06-180205 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-06-180205 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-06-180205 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-213702 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-213702 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-213702 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre17/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2007-02-23-202443 b/software/cinit/browse_source/cinit-0.3pre17/size/2007-02-23-202443 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2007-02-23-202443 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2007-02-23-202720 b/software/cinit/browse_source/cinit-0.3pre17/size/2007-02-23-202720 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2007-02-23-202720 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2007-03-07-231936 b/software/cinit/browse_source/cinit-0.3pre17/size/2007-03-07-231936 deleted file mode 100644 index c2ef3d0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2007-03-07-231936 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71213 2007-03-07 23:18 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2007-04-06-011811 b/software/cinit/browse_source/cinit-0.3pre17/size/2007-04-06-011811 deleted file mode 100644 index 73de8724..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2007-04-06-011811 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71281 2007-04-06 01:17 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/size/2009-09-29-075620 b/software/cinit/browse_source/cinit-0.3pre17/size/2009-09-29-075620 deleted file mode 100644 index 7719cb7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/size/2009-09-29-075620 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 101258 2009-09-29 07:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/Makefile b/software/cinit/browse_source/cinit-0.3pre17/src/Makefile deleted file mode 100644 index a3a5a4eb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/Makefile +++ /dev/null @@ -1,185 +0,0 @@ -# -# 2008 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. - -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . - -# -# Don't edit Makefiles, use conf/* for configuration. -# - -################################################################################ -# -# Build tools / locations -# - -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin -DESTDIR= -#DESTDIR=/home/user/nico/emu/dst - -################################################################################ -# -# All objects / binaries -# depend on headers. More or less. FIXME: use gcc -M -# -BIN=cinit.halt cinit.poweroff cinit.reboot cmd -CINIT=cinit -ALLBIN=${BIN} ${CINIT} - -# headers -CONFIG_H=include/config.h -CINIT_HEADERS=${shell cat include/listing} - -# objects -CINIT_OBJ=${shell cat object_lists/cinit} -HALTKILL_OBJ=${shell cat object_lists/halt.kill} -POWEROFFKILL_OBJ=${shell cat object_lists/poweroff.kill} -REBOOTKILL_OBJ=${shell cat object_lists/reboot.kill} -CMD_OBJ=${shell cat object_lists/cmd} - -# -# All objects -# -OBJ=${CINIT_OBJ} ${HALTKILL_OBJ} ${POWEROFFKILL_OBJ} ${REBOOTKILL_OBJ} - -################################################################################ -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: ${ALLBIN} - - -################################################################################ -# -# Generic -# -${OBJ}: ${CINIT_HEADERS} - -%.o: %.c - ${CC} -c -o $@ $< - -################################################################################ -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../scripts/build/cinit.configure.os - @../scripts/build/cinit.configure.tools - @../scripts/build/cinit.configure.ipc - @../scripts/build/cinit.configure.mark - -${CINIT_OBJ}: ${CONFIG_H} - -${CONFIG_H}: ../conf/* - ../scripts/cinit.mkheader > ${CONFIG_H} - -################################################################################ -# -# Install targets -# - -#install: install-dir cinit cservice ccontrol -install: install-cinit install-utilities - -install-sbin: - install -d ${DESTDIR}/sbin - -install-utilities: install-sbin ${BIN} - @echo '*** Installing utilities ***' - install ${BIN} ${DESTDIR}/sbin - -install-cinit: install-sbin cinit - @echo '*** Installing cinit ***' - @echo "Need to delete cinit before reinstalling it {text file busy problem}" - rm -f ${DESTDIR}/sbin/cinit - install cinit ${DESTDIR}/sbin - -# FIXME: target broken -install-miniconf: - ./bin/cinit.install.miniconf - -# FIXME: target broken -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# - -cinit: ${CINIT_OBJ} - ${LD} $^ -o $@ - -cinit.halt: ${HALTKILL_OBJ} - ${LD} $^ -o $@ - -cinit.poweroff: ${POWEROFFKILL_OBJ} - ${LD} $^ -o $@ - -cinit.reboot: ${REBOOTKILL_OBJ} - ${LD} $^ -o $@ - -cmd: ${CMD_OBJ} - ${LD} $^ -o $@ - -################################################################################ -# -# Internal test targets -# - -uml: cinit cmd - ../../vm/uml/uml-mount.sh - cp cinit cmd ../../vm/uml/root/sbin/ - ../../vm/uml/uml-umount.sh - -umlstart: uml - ../../vm/uml/uml-start.sh - -SDIR=../size -SNOW=$(shell date +%Y-%m-%d-%H%M%S) -sizecheck: cinit - ls -l cinit > $(SDIR)/$(SNOW) - cat $(SDIR)/$(SNOW) - git add $(SDIR)/$(SNOW) - git commit -m "Size: $$(awk '{ print $$5 }' $(SDIR)/$(SNOW))" - - -################################################################################ -# -# Clenaup targets -# - -.PHONY: clean -.PHONY: dist -.PHONY: distclean - -dist: distclean - -distclean: clean - rm -f os/current ipc/current .configured - -clean: - rm -f ../tmpbin/*.configured - rm -f ${BIN} ${CINIT_OBJ} ${CINIT} - find . -name \*.o -exec rm {} \; diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre17/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/README b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/README deleted file mode 100644 index f66e0ddb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/README +++ /dev/null @@ -1,4 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/STOPPED b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/STOPPED deleted file mode 100644 index a0013ca6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/STOPPED +++ /dev/null @@ -1,12 +0,0 @@ -0. Definition Nachrichten -0.1 Definition returncodes und co... - - -1. execute_sth: finish, so we can use it for panic - -2. MSGQ: - beidseitig implemenntieren - ipc header integrieren - Dokumentieren - - conf/* von msgq saeubern diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/charp_to_flag.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/charp_to_flag.c deleted file mode 100644 index ae4321a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/charp_to_flag.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Convert char pointer to uint32_t flag - * - */ - -#include /* strchr */ -#include /* NULL */ - -#include "cinit.h" /* cinit */ - -uint32_t charp_to_flag(char *str) -{ - uint32_t ret = 0; - - if(str != NULL) { - if(strchr(str, CINIT_CMD_SVC_WANTS) != NULL) - ret |= CINIT_QSN_SVC_WANTS; - if(strchr(str, CINIT_CMD_SVC_NEEDS) != NULL) - ret |= CINIT_QSN_SVC_NEEDS; - } - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/cinit_get_svc_status.c01 b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/cinit_get_svc_status.c01 deleted file mode 100644 index cdc9d8c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/cinit_get_svc_status.c01 +++ /dev/null @@ -1,54 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Retrieves status of a service - */ - - -#include /* malloc */ -#include /* str* */ -#include /* integers */ - -#include "cinit.h" /* header for clients */ - -/* returns either the status (>0) - * or -1 on memory error - */ -int32_t cinit_get_svc_status(char *name) -{ - /* fixme: s32 int! */ - int tmp; - int32_t res; - char *p, *answer; - int offset = 0, len = strlen(name); - - p = malloc(len + 2 * sizeof(tmp)); - if(!p) return -1; - - /* code */ - tmp = CINIT_MSG_GET_STATUS; - strncpy(p,(char *) &tmp, sizeof(tmp)); - offset += sizeof(tmp); - - /* length */ - strncpy(&p[offset],(char *) &len, sizeof(len)); - offset += sizeof(len); - - /* data */ - strncpy(p, (char *) name, len); - - answer = cinit_send_to(p,len); - - if(answer) { - strncpy((char *) &res, answer, sizeof(res)); - free(answer); - } else { - res = -1; - } - - free(name); - return res; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/comm.h b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/comm.h deleted file mode 100644 index 4fbe8c50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/comm.h +++ /dev/null @@ -1,81 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ -#include /* pid_t */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_MIN='A', /* minimum command number */ - CMD_SVC_START, /* the client wants US to start a service */ - CMD_SVC_START_ONLY, /* start this service without dependencies */ - CMD_SVC_START_NEEDS, /* start this service, needs, but no wants */ - CMD_SVC_STOP, /* stop svc and all svcs that need it */ - CMD_SVC_STOP_ONLY, /* we should stop _only_ this service */ - CMD_SVC_STOP_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ /* FIXME: NEEDED? */ - CMD_RESCUE, /* we should start the rescue mode */ /* UNIMPLEMENTED */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ /* UNIMPLEMENTED */ - CMD_INFO, /* send information about that service */ /* UNIMPLEMENTED */ - CMD_MAX , /* maximum command number */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * client issues a command: start_command - */ -struct s_cmd { - char cmd; - pid_t pid; -}; - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/cservice.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/do_change_status.c deleted file mode 100644 index 58c0bbf0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/do_change_status.c +++ /dev/null @@ -1,72 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t * pid, int sock2, - int action) -{ - int tmp; - - ssize_t(*fpoint) (int, void *, size_t); - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - tmp = strlen(svc); - } - - if(fpoint(sock2, &tmp, sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2, svc, tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2, status, sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2, pid, sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/do_reboot.c.orig b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/do_reboot.c.orig deleted file mode 100644 index 9c4c8331..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/do_reboot.c.orig +++ /dev/null @@ -1,144 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" -#include "os.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - /* Let's disappear, we don't care about clients anymore */ - close(sock); - /********* first SIGTERM the respawning processes **********/ - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - kill(tmp->pid,SIGTERM); - } - tmp = tmp->before; - } while( tmp != list ); - - /********* now wait for the respawn watchers to return *****/ - tmp = list->before; - do { - if( tmp->status == ST_RESPAWN) { - /* wait until the respawn watcher terminated */ - waitpid(tmp->pid,&i,0); - } - - /* execute shutdown service FIXME: parallelize that?*/ - exec_svc(tmp->abs_path,CMD_STOP_SVC); - tmp = tmp->before; - } while( tmp != list ); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ -#define CMD_CNT 4 - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-arfd" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - -#define RESCUE_CMD "/bin/sh" - - /* now: we are completley alone. umount everything, go to bed */ - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG2; - cmd[3] = MOUNT_ARG3; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } else { - _exit(1); - } - - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - case SIGUSR2: /* rescue - destroy ourself */ - LOG(MSG_RESCUE); - cmd[0] = RESCUE_CMD; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - case SIGCONT: /* update */ - LOG(MSG_UPDATE); - cmd[0] = CINIT_BIN; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - } - - /* do not exit, Linux does that for us */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/do_result.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/do_result.c deleted file mode 100644 index d302e4df..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/do_result.c +++ /dev/null @@ -1,35 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t(*fpoint) (int, void *, size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - } - - if(fpoint(nsock, value, 1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} - -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/do_svc_name.c deleted file mode 100644 index b56523d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/do_svc_name.c +++ /dev/null @@ -1,59 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - - ssize_t(*fpoint) (int, void *, size_t); - - /* - * set pointers - */ - if(action == ACT_CLIENT) { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* - * read / write lenght - */ - if(fpoint(sock2, &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* - * write/read service name - */ - if(fpoint(sock2, svc, tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/exec_svc.c deleted file mode 100644 index 35e71ba4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/exec_svc.c +++ /dev/null @@ -1,298 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if(cpid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid, &tmp, 0); - if(WIFEXITED(tmp)) { - if(!WEXITSTATUS(tmp)) { - return cpid; - } - } - SERVICE_LOG(abspath, LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ON); - } else { - strcat(pathtmp, C_OFF); - } - - /* - * readlink retrieves real name, if it is a symlink - */ - if((tmp = readlink(pathtmp, pathtmp, PATH_MAX)) == -1) { - - /* - * nothing there? fine, exit - */ - if(errno == ENOENT) { - _exit(0); - } else if(errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* - * restore original name, file is not a link - */ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ON); - } else { - strcat(pathtmp, C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* - * add '\0', readlink forgets it - */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; neither - * readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc(sizeof(char *)); - if(nargv == NULL) - _exit(1); - - *nargv = (char *) malloc(tmp); - if(*nargv == NULL) - _exit(1); - - strcpy(*nargv, pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ONARG); - } else { - strcat(pathtmp, C_OFFARG); - } - - /* - * open params file - */ - if(!stat(pathtmp, &buf)) { - fd = open(pathtmp, O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* - * fill sbuf with content - */ - while((tmp = read(fd, pathtmp, PATH_MAX)) != 0) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf, argc + tmp + 1); - strncpy(&sbuf[argc], pathtmp, tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* - * The idea is to reuse the allocated memory. We'll simply * replace the \n - * with \0 and set a char* to it. * We'll lose the last byte (the initial - * \0), but we * don't care, as we die some seconds later with execv() * oh, - * we'll only lose it, if the file is terminated by \n - */ - - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* - * set to the beginning - */ - nargv[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - } else { - /* - * set to the end of sbuf, not to the \0, but one before - */ - p = sbuf + (strlen(sbuf) - 1); - } - - /* - * if next byte is 0, the end of string is found - */ - if(*(p + 1) == '\0') { - sbuf = NULL; - } else { - sbuf = p + 1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ONENV); - } else { - strcat(pathtmp, C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if(!stat(pathtmp, &buf)) { - fd = open(pathtmp, O_RDONLY); - - /* - * file exists, failing to open it is an error - */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while((tmp = read(fd, pathtmp, PATH_MAX)) != 0) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf, argc + tmp + 1); - strncpy(&sbuf[argc], pathtmp, tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - } else { - /* - * set to the end of sbuf, not to the \0, but one before - */ - p = sbuf + (strlen(sbuf) - 1); - } - - if(*(p + 1) == '\0') { - sbuf = NULL; - } else { - sbuf = p + 1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0], nargv, nenv); - - /* - * we should never reach this block - */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* - * FIXME: remove debug, remove double printing without loosing info - */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/main.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/main.c deleted file mode 100644 index 9016eac1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/main.c +++ /dev/null @@ -1,106 +0,0 @@ - -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * main.c - * main part of cinit - */ - -#include /* ftok */ -#include /* msgget */ -#include /* perror */ -#include /* exit */ - -#include "cinit.h" - -/* global variables */ -struct listitem *list; -pid_t cpid; - -/*********************************************************************** - * the main procedure - */ - -int main(int argc, char **argv) -{ - char *initdir; - key_t msg_key; - int msq_id; - - initdir = CINIT_INIT; /* default init dir */ - list = NULL; /* list of services is empty currently */ - cpid = getpid(); /* no comment */ - - if(cpid != 1) { - usage(CINIT_VERSION, MSG_USAGE); - } - - /* - * set signal handlers - */ - set_signals(ACT_SERV); - - /* - * read arguments, profile support - */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc - 1], strlen(PROFILE))) { - initdir = (char *) malloc(strlen(CINIT_DIR) + - strlen(&argv[argc - 1][strlen(PROFILE)]) + - 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_DIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc - 1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* - * tell the world we are there FIXME: do we really need three calls? - */ - mini_printf(MSG_BOOTING, 1); - mini_printf(initdir, 1); - mini_printf("\n", 1); - - if(chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /* - * create message queues - */ - - /* - * start init or profile - */ - run_init_svc(initdir); - - /* - * free, if we malloc()ed before - */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* - * wait until we recieved the signal to create the socket - */ - - /* - * our life is polling a socket - */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if((plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/msg_change_status.c deleted file mode 100644 index 40a46946..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/msg_change_status.c +++ /dev/null @@ -1,30 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc, &status, &pid, sock, ACT_CLIENT)) { - return 0; - } - if(!do_result(sock, NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/msg_svc_on_off.c deleted file mode 100644 index 350d41fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/msg_svc_on_off.c +++ /dev/null @@ -1,26 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) - return RT_ERR_COMM; - if(!do_svc_name(sock, svc, ACT_CLIENT)) - return RT_ERR_COMM; - return (int) do_result(sock, NULL); -} - -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/pipes b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/pipes deleted file mode 100644 index 581b1274..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/pipes +++ /dev/null @@ -1,17 +0,0 @@ - /* create pipes */ - if(pipe(pfd) == -1) { - perror(MSG_ERR_PIPE); - panic(); - } - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } - diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/respawn_svc.c deleted file mode 100644 index d52984be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/respawn_svc.c +++ /dev/null @@ -1,114 +0,0 @@ - -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX + 1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* - * if we read anything, our child succeded - */ - if(read(pipefd[0], &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM, &sa, NULL); /* term = kill respawing process */ - /* - * sigterm handler should kill first our watching pid, reset the pid to 0 - * and then we'll kill ourselves - */ - - tmp = 1; - if(write(pipefd[1], &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* - * try to read delay into sock - */ - strcpy(delay, abspath); - strcat(delay, SLASH); - strcat(delay, C_DELAY); - - /* - * reuse sock to specify delay - */ - sock = -1; - tmp = open(delay, O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp, &delay[0], PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* - * exec_svc will set cpid accordingly - */ - if(!exec_svc(abspath, CMD_START_SVC)) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* - * FIXME: put most code of sig_terminate here, look for no_kill - */ - - /* - * start off task - */ - exec_svc(abspath, CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/run_init_svc.c deleted file mode 100644 index 2cc30262..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/run_init_svc.c +++ /dev/null @@ -1,57 +0,0 @@ - -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* - * leave cinit alone - */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* - * FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully - * anyway */ - } - /* - * parent exits, we don't care about our children - */ - return 1; -} - -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/run_init_svc2.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/run_init_svc2.c deleted file mode 100644 index 338b1a11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/run_init_svc2.c +++ /dev/null @@ -1,58 +0,0 @@ - -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) -{ - rpath = "test"; - return 0; -} /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* - * leave cinit alone - */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) - _exit(1); - - /* - * FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully - * anyway */ - } - /* - * parent exits, we don't care about our children - */ - return 1; -} - -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/run_run_svcs.c deleted file mode 100644 index b12cbb54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/run_run_svcs.c +++ /dev/null @@ -1,95 +0,0 @@ - -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX + 1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* - * if there is no such dir, we are finished - */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while((tdirent = readdir(d_tmp)) != NULL) { - /* - * ignore . and .. and everything with a . at the beginning - */ - if(*(tdirent->d_name) == '.') - continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf, abspath); - strcat(pathbuf, SLASH); - strcat(pathbuf, tdirent->d_name); - if(run_svc(pathbuf)) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* - * wait for pids - */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* - * if anything failed, we failed - */ - if(!WIFEXITED(status)) { - ret = 0; - } else { - if(WEXITSTATUS(status)) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/run_svc.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/run_svc.c deleted file mode 100644 index 194c981f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/run_svc.c +++ /dev/null @@ -1,144 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* - * save current working dir - */ - if(!(int) getcwd(pathtmp, PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* - * change to rpath - */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* - * get absolute name of rpath - */ - if(!(int) getcwd(abspath, PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* - * change back - */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath, CMD_START_SVC); /* check status */ - - switch (tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts, NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN, 1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_NEEDS); - - /* - * check for needs - */ - if(stat(pathtmp, &buf) == 0) { - if(!run_run_svcs(pathtmp)) { - SERVICE_LOG(abspath, LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_WANTS); - - if(stat(pathtmp, &buf) == 0) { - run_run_svcs(pathtmp); /* don't care about what happens with the want - * svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_RESPAWN); - - if(stat(pathtmp, &buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid)) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} - -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/set_signals.c01 b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/set_signals.c01 deleted file mode 100644 index ff35a78a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/set_signals.c01 +++ /dev/null @@ -1,40 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - D_PRINTF("Signale setzen"); - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c and ctr+alt+del */ - - /* what todo when a child exited, cleaning dead processes */ - if(action == ACT_SERV) { - sa.sa_handler=sig_child; -// SA_NOCLDSTOP - } - sigaction(SIGCHLD,&sa,NULL); - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } - sigaction(SIGUSR1,&sa,NULL); /* halt */ - sigaction(SIGUSR2,&sa,NULL); /* rescue */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGHUP,&sa,NULL); /* reboot */ - -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/sig_terminate.c deleted file mode 100644 index bc7171fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/sig_terminate.c +++ /dev/null @@ -1,73 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* - * FIXME: only send SIGTERM, if not_kill does not exist - */ - if(kill(cpid, SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* - * variabel delay - */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* - * if it still exists... - */ - if(kill(cpid, 0) != -1) { - /* - * kill if there is a delay - */ - if(sock != 0) { - nanosleep(&ts, NULL); - status = kill(cpid, SIGKILL); - if(status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* - * remove zombie if killed, if delay is zero wait for it - */ - waitpid(cpid, &status, 0); - - /* - * reset the watching pid to zero (NOT THE WATCHER's!) - */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/test-signal.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/test-signal.c deleted file mode 100644 index a081fb76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/test-signal.c +++ /dev/null @@ -1,56 +0,0 @@ - -/* test case for glibc */ - -#include -#include /* sigaction, sigemtpyset */ -#include -#include -#include -#include -#include - -void sig_child(int tmp) -{ - struct timeval tv; - pid_t pid; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - gettimeofday(&tv, NULL); - printf("sighandler: %d\n", tv.tv_sec); - } -} - -int main() -{ - struct sigaction sa; - struct timeval tv; - struct timespec ts; - pid_t pid; - - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - - sigaction(SIGCHLD, &sa, NULL); - - while(1) { - pid = fork(); - - /* - * child - */ - if(!pid) { - ts.tv_sec = 2; - nanosleep(&ts, NULL); - gettimeofday(&tv, NULL); - - printf("child: %d\n", tv.tv_sec); - return 0; - } - - ts.tv_nsec = 100000; - nanosleep(&ts, NULL); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/unused-coded/cinit_read_from.c b/software/cinit/browse_source/cinit-0.3pre17/src/ancient/unused-coded/cinit_read_from.c deleted file mode 100644 index 54499be3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ancient/unused-coded/cinit_read_from.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read data from cinit to the client - */ - - -#include "ipc.h" /* IPC */ - -/* gets a bunch of bytes and returns the answer from cinit */ -int cinit_read_from(char **dest, int len) -{ - if(!cinit_ipc_logon()) return NULL; - if(!cinit_ipc_connect()) return NULL; - - /* FIXME: add length to ipc function? */ - if(!cinit_ipc_csend(data)) return NULL; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/client/cmd.c b/software/cinit/browse_source/cinit-0.3pre17/src/client/cmd.c deleted file mode 100644 index d85e417c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/client/cmd.c +++ /dev/null @@ -1,259 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * cmd - the cinit client program - sends commands to cinit - * - */ - -#include /* getopt */ -#include /* signals */ -#include /* printf() */ -#include /* free() */ -#include /* strncmp */ - -#include /* integers */ -#include /* PATH_MAX */ - -#include "cmd.h" /* own header */ -#include "signals.h" /* which signal */ -#include "svc.h" /* service related */ -#include "intern.h" /* print_errno() */ - -#include "cinit.h" /* cinit external */ - -#define C_USAGE(error) usage(USAGE_TEXT,error) -#define MSG_IPC_ERROR "An IPC error occured while connecting to cinit. " \ - "Is cinit running?\n" -#define MSG_UNKNOWN_SVC "Unknown service: %s\n" -#define MSG_UNKNOWN_RET "Unknown return code: %d\n" - -enum { - NOTHING, - ENABLE, - DISABLE, - PID, - STATUS -} whattodo; - -/*********************************************************************** - * cmd: main - */ -int main(int argc, char **argv) -{ - char buf[CINIT_DATA_LEN]; - char *flag = NULL; - int opt; - int what = NOTHING; - uint32_t ret; - uint32_t (*fp)(char *, uint32_t); /* to select enable or disable */ - - - union { - uint32_t status; - pid_t pid; - } u; - - /* - * -d w(ants) excluded) - * -e n(eeds excluded) - * -d i(nclude everything) - */ - - /* check for - * d|e: - * check for flags - * p|s: - * continue with service - * h|v|V: print and exit - */ - while((opt = getopt(argc, argv, CMD_OPTIONS)) != -1) { - switch (opt) { - - /******************************************** - * Non-continuing parameters - */ - - /******************************************** - * help - */ - case 'h': - printf(CMD_USAGE); - return 0; - break; - - /********************************************/ - case 'v': /* get version of cinit */ - ret = cinit_get_version(buf); - switch (ret) { - case CINIT_ASW_OK: - printf("Version of cinit: %s\n", buf); - return 0; - break; - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - return what; - break; - - /********************************************/ - case 'V': /* version */ - printf("Version of cmd: %s\n", CMD_VERSION); - return 0; - break; - - /********************************************/ - /* - * Continuing parameters - */ - - /********************************************/ - case 'e': /* enable service */ - what = ENABLE; - flag = optarg; - break; - - case 'd': /* disable service */ - what = DISABLE; - flag = optarg; - break; - - /********************************************/ - case 'p': /* get pid */ - what = PID; - break; - - /********************************************/ - case 's': /* get status */ - what = STATUS; - break; - - /********************************************/ - - default: - fprintf(stderr, - "Sorry, I did not understand what you want. Try -h, please.\n"); - return 1; - break; - } - } - - if(what == NOTHING) { - fprintf(stderr, - "That is not much you request from me. Try -h for help.\n"); - return 1; - } - - if(!path_absolute(argv[optind], buf, CINIT_DATA_LEN)) - return 1; - - fp = NULL; - switch (what) { - case ENABLE: - fp = cinit_svc_enable; - case DISABLE: - if(!fp) fp = cinit_svc_disable; - - u.status |= cinit_flag_to_uint32_t(flag); - - ret = fp(buf, u.status); - - switch (ret) { - case CINIT_ASW_OK: - printf("Set status of %s.\n", buf); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf(MSG_UNKNOWN_SVC, buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - - case PID: - ret = cinit_svc_get_pid(buf, &(u.pid)); - switch (ret) { - case CINIT_ASW_OK: - printf("PID of %s: %d\n", buf, u.pid); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf(MSG_UNKNOWN_SVC, buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - - case STATUS: - ret = cinit_svc_get_status(buf, &(u.status)); - switch (ret) { - case CINIT_ASW_OK: - printf("Status of %s is: %d\n", buf, u.status); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf("Unknown service: %s\n", buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - } - - return what; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/client/halt.kill.c b/software/cinit/browse_source/cinit-0.3pre17/src/client/halt.kill.c deleted file mode 100644 index eeb4c53a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/client/halt.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Halt the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_HALT) == -1) { - print_errno(MSG_HALT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/client/poweroff.kill.c b/software/cinit/browse_source/cinit-0.3pre17/src/client/poweroff.kill.c deleted file mode 100644 index 7066fedc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/client/poweroff.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_POWEROFF) == -1) { - print_errno(MSG_POWEROFF_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/client/reboot.kill.c b/software/cinit/browse_source/cinit-0.3pre17/src/client/reboot.kill.c deleted file mode 100644 index 4592b379..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/client/reboot.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_REBOOT) == -1) { - print_errno(MSG_REBOOT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/comm/README b/software/cinit/browse_source/cinit-0.3pre17/src/comm/README deleted file mode 100644 index b43969f2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/comm/README +++ /dev/null @@ -1,22 +0,0 @@ -This directory contains the server (aka cinit) part of the communication process. - -All the communication functions do not depend on the underlying -inter process communication mechanism. Use the following functions: - - - send_command(): client function: sends a command to cinit - - send_service(): client function: send the service name to operate on - - - read_command(): server function: reads beginning of a command - * Extracts the command - * reads client identification (=pid) - * calls other functions, depending on the command send => switch() - - read_service(): server function: reads service - - - write_answer(): server function: answer? - * sends answers to clients => senseful? - - - TODO: - - define information function, that returns various information about - a service - diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_svc_disable.c b/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_svc_disable.c deleted file mode 100644 index 94258487..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_svc_disable.c +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * disables a service - * - */ - -#include "svc-intern.h" /* list_search */ -#include "cinit.h" /* structure: cinit_answer */ - - -/** - * Returns the answer to the disable request to the client. - */ -int answer_svc_disable(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = svc_disable(tmp); - asr->opt = 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_svc_pid.c b/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_svc_pid.c deleted file mode 100644 index 2fdf11c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_svc_pid.c +++ /dev/null @@ -1,42 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * return pid of service - * - */ - -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_pid(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = CINIT_ASW_OK; - asr->opt = tmp->pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_svc_status.c b/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_svc_status.c deleted file mode 100644 index 99d0adf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_svc_status.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * returns status of service - * - */ - -#include /* strncpy */ -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_status(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = CINIT_ASW_OK; - asr->opt = tmp->status; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_svc_stop.c b/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_svc_stop.c deleted file mode 100644 index 73d32f8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_svc_stop.c +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Disable a service (with or without dependencies) - * - */ - -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_stop(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - if(tmp->status & (CINIT_ST_RESPAWNING | CINIT_ST_ONCE_RUN)) { - asr->ret = svc_disable(tmp); - } else { /* not running, nothing todo */ - asr->ret = CINIT_ASW_OK; - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_version.c b/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_version.c deleted file mode 100644 index e57cf552..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/comm/answer_version.c +++ /dev/null @@ -1,35 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * return version of cinit - * - */ - -#include "config.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_version(struct cinit_answer *asr) -{ - asr->ret = CINIT_ASW_OK; - cinit_cp_data(asr->data, VERSION); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/comm/cinit_append_data.c b/software/cinit/browse_source/cinit-0.3pre17/src/comm/cinit_append_data.c deleted file mode 100644 index 46c8a3e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/comm/cinit_append_data.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Append data to the existing field - * - */ - -#include /* strncpy */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -void cinit_append_data(char data[], char *src) -{ - strncat(data, src, CINIT_DATA_LEN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/comm/cinit_cp_data.c b/software/cinit/browse_source/cinit-0.3pre17/src/comm/cinit_cp_data.c deleted file mode 100644 index dd107ea8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/comm/cinit_cp_data.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * fill the data field of qsn and asn - * - */ - -#include /* strncpy */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -void cinit_cp_data(char data[], char *src) -{ - strncpy(data, src, CINIT_DATA_LEN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/comm/read_command.c b/software/cinit/browse_source/cinit-0.3pre17/src/comm/read_command.c deleted file mode 100644 index 3cc17300..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/comm/read_command.c +++ /dev/null @@ -1,66 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * cinit reads a command sent by a client, called by ipc listener - * - */ - -#include "cinit.h" /* structures */ -#include "intern.h" /* answer_svc_status() */ - -int read_command(struct cinit_question qsn, struct cinit_answer *asr) -{ - switch (qsn.cmd) { - case CINIT_QSN_GET_VERSION: - if(!answer_version(asr)) - return 0; - break; - - case CINIT_QSN_GET_STATUS: - if(!answer_svc_status(qsn.data, asr)) - return 0; - break; - - case CINIT_QSN_GET_PID: - if(!answer_svc_pid(qsn.data, asr)) - return 0; - break; - - case CINIT_QSN_SVC_DISABLE: - if(!answer_svc_disable(qsn.data, asr)) - return 0; - break; - - /* - * FIXME: stopped here case CINIT_MSG_SVC_ENABLE: - * if(!answer_svc_enable(qsn.data, asr)) return 0; break; - */ - - /* - * Unknown command: should not happen :-) - */ - default: - return 0; - break; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre17/src/core/build_argv.c deleted file mode 100644 index 89d50626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/core/build_argv.c +++ /dev/null @@ -1,193 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "intern.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX + 1]; - char *sbuf = NULL; - char *p; - - /* - * sane values - */ - bav->argv = NULL; - bav->envp = NULL; - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename, pathtmp, PATH_MAX)) == -1) { - /* - * nothing there? - */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if(errno != EINVAL) { - return BA_E_OTHER; - } - tmp = strlen(basename); - strncpy(pathtmp, basename, tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; neither - * readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) - return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) - return BA_E_MEM; - - strncpy(*(bav->argv), pathtmp, tmp); - - /********************** read params *********************/ - /* - * FIXME check bounds! - */ - strcpy(pathtmp, basename); - strcat(pathtmp, C_PARAMS); - /* - * ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL ORC_OK: Ok, have a filled - * buffer (perhaps NULL, too) other: Error, print errno - */ - tmp = openreadclose(pathtmp, &sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) - return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p + 1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) - return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp, basename); - strcat(pathtmp, C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp, &sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) - return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - sbuf = p + 1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre17/src/core/cinit.c deleted file mode 100644 index eb214502..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/core/cinit.c +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ -#include /* struct sigaction */ - -#include "intern.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc-intern.h" /* gen_svc_tree */ -#include "signals.h" /* signals used by cinit */ - -struct listitem *svc_list = NULL; /* services in a dependency tree */ -struct dep *deps_pending = NULL; /* the first services to be started */ -int svc_exited; /* did some service exit? */ - -struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END]; -int cinit_global_signals[SIGCINIT_END]; - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ - - /* - * Is this really needed? pid_t cpid; - * - * if(cpid != 1) { mini_printf(CINIT_VERSION,2); mini_printf(MSG_USAGE,2); - * return 0; } - */ - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING, 1); mini_printf(initdir, 1); mini_printf("\n", 1); - - /* Should we start a profile? */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc - 1], strlen(PROFILE))) { - initdir = malloc(strlen(CINIT_SVCDIR) + - strlen(&argv[argc - 1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc - 1][strlen(PROFILE)]); - break; - } - --argc; - } - - /* no configuration? - panic! */ - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize communication (IPC) */ - if(!cinit_ipc_init()) panic(); - - /* Init signal handler */ - signal_init_map(sigstages, cinit_global_signals); - set_signals(SIGSTAGE_DAEMON); - - /* build service dependency tree */ - if(!gen_svc_tree(initdir)) panic(); - - /* unused now, free if allocated */ - if(strcmp(initdir, CINIT_INIT)) free(initdir); - - /* FIXME: what todo? - * change to /, so applications have that as cwd, too Is that really - * seneful? Does that help any application? If not, just for looking nice, - * that's not a reason to enable it. if(chdir(SLASH) == -1) { - * print_errno(SLASH); panic(); } - */ - - /* the main startup routine */ - if(!tree_exec(deps_pending)) panic(); - - /* listen to commands after startup */ - while(1) { - /* react on service changes (=process exited) */ - if(svc_exited) svc_status_changed(deps_pending); - - /* handle the changes */ - if(deps_pending) svc_handle_pending(deps_pending); - - /* listen until we get a message or get interrupted */ - cinit_ipc_listen(); - - /* - * check dependency list: perhaps we need to restart something - */ - /* - * implement in cinit-0.3pre14/5 - */ - - // tree_exec(deps_pending); - // reuse tree_exec()? - // if(dep) { svc_start() .. ? - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre17/src/core/do_reboot.c deleted file mode 100644 index b9a3b8a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/core/do_reboot.c +++ /dev/null @@ -1,93 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Reboot: includes shutdown, reboot and poweroff - */ - -#include /* kill() */ -#include /* exit */ - -#include "signals.h" /* signal handling */ -#include "reboot.h" /* cinit_poweroff&co */ -#include "messages.h" /* messages */ -#include "svc-intern.h" /* shutdown_services */ -#include "intern.h" /* many functions */ -#include "ipc.h" /* disable ipc */ - -void do_reboot(int signal) -{ - /* - * do not listen to client requests anymore - * and tell the user what happens - */ - LOG(MSG_SHUTDOWN_START); - cinit_ipc_destroy(); - set_signals(SIGSTAGE_REBOOT); - - /* - * shutdown all services: take care about the dependency tree - */ - LOG(MSG_SHUTDOWN_SVC); - shutdown_services(svc_list); - - /* - * now: all services are down, let's kill all other processes - */ - LOG(MSG_SHUTDOWN_TERM); - if(kill(-1, SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - LOG(MSG_SHUTDOWN_KILL); - if(kill(-1, SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* - * Execute the last command - */ - LOG(MSG_SHUTDOWN_LAST); - execute_and_wait(CINIT_LAST); - - /* - * do what we really wanted to do - */ - switch (signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } - /* - * FIXME: should we exit? - */ - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre17/src/core/panic.c deleted file mode 100644 index 16d6ed11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/core/panic.c +++ /dev/null @@ -1,50 +0,0 @@ - -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Execute something - */ - -#include /* execv */ - -#include "intern.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) - _exit(0); - - /*********************************************************************** - * In case nothing helps, try to execute something that is always there. - * (conf/c_desaster) - */ - nargv[0] = C_DESASTER; - nargv[1] = NULL; - - if(execv(nargv[0], nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* We tried everything possible, die now. */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre17/src/core/set_signals.c deleted file mode 100644 index 41ccfc8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/core/set_signals.c +++ /dev/null @@ -1,65 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set signal handlers - */ - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ - -//#include "intern.h" /* defines */ -//#include "reboot.h" /* reboot related */ -#include "signals.h" /* reboot related */ - -void set_signals(int stage) -{ - int i; - - for(i = 0; i < SIGCINIT_END; i++) { - sigaction(cinit_global_signals[i], &sigstages[stage][i], NULL); /* what - * todo - * when - * a - * child - * exited - */ - } - -// struct sigaction sa; - // sigemptyset(&sa.sa_mask); /* no other signals should be blocked */ - // sa.sa_flags = 0; -// if(action == ACT_SERV) { -// sa.sa_handler = sig_child; -// sa.sa_flags = SA_NOCLDSTOP; -// } else { -// sa.sa_handler = SIG_DFL; -// } - -// sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - -// sa.sa_flags = 0; /* reset flags */ -// if(action == ACT_SERV) { -// sa.sa_handler = do_reboot; -// } -// sigaction(SIG_CINIT_HALT, &sa, NULL); /* halt */ -// sigaction(SIG_CINIT_POWEROFF, &sa, NULL); /* poweroff */ -// sigaction(SIG_CINIT_REBOOT, &sa, NULL); /* reboot */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre17/src/core/sig_child.c deleted file mode 100644 index 08f15c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/core/sig_child.c +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * The child handler (may *not* exec other functions!) - * - */ - -#include "svc-intern.h" /* marking */ - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - tmp = 2; /* FIXME: how to tell stupid gcc that tmp is a must? */ - svc_exited = 1; /* FIXME: catch possible race conditions in svc_status_changed() */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/core/signal_init_map.c b/software/cinit/browse_source/cinit-0.3pre17/src/core/signal_init_map.c deleted file mode 100644 index a07395f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/core/signal_init_map.c +++ /dev/null @@ -1,66 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Define signal handlers / actions for the different internal stages - */ - -#include -#include "signals.h" -#include "reboot.h" -#include "intern.h" - -void signal_init_map(struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END], - int cinit_signals[SIGCINIT_END]) -{ - /* - * First map signals to index - */ - cinit_signals[SIGCINIT_HALT] = SIGUSR1; - cinit_signals[SIGCINIT_POWEROFF] = SIGTERM; - cinit_signals[SIGCINIT_REBOOT] = SIGHUP; - cinit_signals[SIGCINIT_CHILD] = SIGCHLD; - - /* - * Then add the actions for daemon - */ - sigstages[SIGSTAGE_DAEMON][SIGCINIT_HALT].sa_handler = do_reboot; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_POWEROFF].sa_handler = do_reboot; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_REBOOT].sa_handler = do_reboot; - - sigstages[SIGSTAGE_DAEMON][SIGCINIT_CHILD].sa_handler = sig_child; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_CHILD].sa_flags = SA_NOCLDSTOP; - - /* - * Then add the actions for client (=fork> - */ - sigstages[SIGSTAGE_CLIENT][SIGCINIT_HALT].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_POWEROFF].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_REBOOT].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_CHILD].sa_handler = SIG_DFL; - - /* - * Then add the actions for shutdown - */ - sigstages[SIGSTAGE_REBOOT][SIGCINIT_HALT].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_POWEROFF].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_REBOOT].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_CHILD].sa_handler = SIG_IGN; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre17/src/generic/execute_and_wait.c deleted file mode 100644 index 3816e5c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/generic/execute_and_wait.c +++ /dev/null @@ -1,52 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* - * fork - */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* - * exec / child - */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* - * wait / parent - */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre17/src/generic/execute_sth.c deleted file mode 100644 index 79197769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/generic/execute_sth.c +++ /dev/null @@ -1,41 +0,0 @@ - -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ - -#include "intern.h" -#include "build_argv.h" -#include "messages.h" /* D_PRINTF */ - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - tmp = cinit_build_argv(basename, &bav); - if((tmp = cinit_build_argv(basename, &bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - /* - * tell the user what we execute - */ - mini_printf(MSG_INTRO_EXEC, 1); - mini_printf((bav.argv)[0], 1); - mini_printf("\n", 1); - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for - * cinit to recognize it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre17/src/generic/file_exists.c deleted file mode 100644 index 72294eba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/generic/file_exists.c +++ /dev/null @@ -1,66 +0,0 @@ - -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* errno */ -#include /* stat */ -#include /* NULL */ - -#include "intern.h" /* print_errno() */ -#include "svc-intern.h" /* svc_report_status() */ -#include "messages.h" /* messages.. */ - -int file_exists(char *filename) -{ - struct stat buf; - - /* - * check: - is it a link? if so, is it broken? report! - is it non existent? - * -> return non-existent - is it existent, but not a regular file? report! - */ - if(lstat(filename, &buf) == -1) { /* lstat fails? */ - if(errno == ENOENT) { - /* - * FIXME: remove later - */ - printf("%s is not existing! => ok, most likely\n", filename); - return FE_NOT; - } else { - mini_printf("anderer fehler.\n", 1); - print_errno(filename); - return FE_ERR; - } - } else { - if(S_ISLNK(buf.st_mode)) { /* is a link */ - /* - * check link destination - */ - if(stat(filename, &buf) == -1) { /* do real stat(): */ - if(errno == ENOENT) { - svc_report_status(filename, MSG_BROKENLINK, NULL); - return FE_NOLINK; - } else { - /* - * FIXME: MSG_*, ?? - */ - mini_printf("anderer fehler.\n", 1); - print_errno(filename); - return FE_ERR; - } - } - } - } /* caught all stat() errors */ - - if(!S_ISREG(buf.st_mode)) { - svc_report_status(filename, MSG_NONREGULAR, NULL); - return FE_OTHER; - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre17/src/generic/mini_printf.c deleted file mode 100644 index 752a2187..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/generic/mini_printf.c +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str, int fd) -{ - char *p; - - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd, str, (size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre17/src/generic/openreadclose.c deleted file mode 100644 index e9d65961..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/generic/openreadclose.c +++ /dev/null @@ -1,77 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "intern.h" /* ORC_* */ - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - *where = NULL; - - /* - * what a wonderful loop - */ - while((fd = open(filename, O_RDONLY)) == -1) { - if(errno == ENOENT) - return ORC_ERR_NONEXISTENT; - if(errno != EINTR) - return ORC_ERR_OPEN; - } - - cnt = 0; - while(1) { - tmp = read(fd, buf, 512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where, cnt + 1); - if(*where == NULL) - return ORC_ERR_MEM; - - /* - * FIXME check correctness of copied buffer... and get some sleep..soon, - * very soon! - */ - strncpy(&(*where)[cnt - tmp], buf, tmp); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) - continue; - return ORC_ERR_CLOSE; - } - - /* - * terminate string! - */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre17/src/generic/path_absolute.c deleted file mode 100644 index 9bafdc7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/generic/path_absolute.c +++ /dev/null @@ -1,56 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * create an absulte path - * - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX + 1]; - - if(!getcwd(oldpath, PATH_MAX + 1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath, size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre17/src/generic/path_append.c deleted file mode 100644 index 084cc4c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/generic/path_append.c +++ /dev/null @@ -1,31 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end - 1], SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) - return 0; - strcat(path, SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) - return 0; - } - strcat(path, append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre17/src/generic/print_errno.c deleted file mode 100644 index 9aeab78f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/generic/print_errno.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre17/src/generic/sleep_before_kill.c deleted file mode 100644 index d32ca274..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,56 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Let's sleep a little bit - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE, &content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) - tmp = SLEEP_KILL; - free(content); - } else { - mini_printf(MSG_BUILTIN_SLEEP, 1); - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts, NULL) == -1) { - print_errno(MSG_ERR_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre17/src/generic/strip_final_newline.c deleted file mode 100644 index 924a23b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/generic/strip_final_newline.c +++ /dev/null @@ -1,36 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* - * don't get fooled by bad pointers - */ - if(str == NULL) { - return NULL; - } - - p = strrchr(str, '\n'); - if(p) { - if(*(p + 1) == '\0') { - *p = '\0'; /* DO NOT FORGET TO TERMINATE STRING */ - str = realloc(str, (p - str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre17/src/generic/usage.c deleted file mode 100644 index 5b4a26d7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/generic/usage.c +++ /dev/null @@ -1,24 +0,0 @@ - -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * usage: tell the user what's wrong and a help text - * - */ - -#include /* _exit() */ -#include "intern.h" /* mini_printf */ - -void usage(char *banner, char *text) -{ - /* - * print banner + error message - */ - mini_printf(banner, 1); - mini_printf(text, 1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre17/src/include/build_argv.h deleted file mode 100644 index 18b7bf5b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/build_argv.h +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre17/src/include/cinit.h deleted file mode 100644 index 2f7421b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/cinit.h +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Header file for external programs (in theory) - */ - -#ifndef __CINIT_EXTERNAL_HEADER -#define __CINIT_EXTERNAL_HEADER - -/* includes */ -#include /* required for functions */ -#include /* PATH_MAX */ -#include /* pid_t */ - -/* limits */ -#define CINIT_DATA_LEN (PATH_MAX+1) - -/* - * structures: independent of the ipc code! - */ - -/* messages from the client */ -struct cinit_question { - uint32_t cmd; - uint32_t opt; - char data[CINIT_DATA_LEN]; -}; - -/* messages from cinit */ -struct cinit_answer { - uint32_t ret; - uint32_t opt; - char data[CINIT_DATA_LEN]; -}; - -/*********************************************************************** - * codes for messages - */ -enum { /* questions */ - CINIT_QSN_GET_STATUS = 0x01, /* status of a service */ - CINIT_QSN_GET_PID = 0x02, /* get pid of a service */ - CINIT_QSN_GET_VERSION = 0x04, /* version of cinit */ - CINIT_QSN_SVC_DISABLE = 0x08, /* service: stop */ - CINIT_QSN_SVC_ENABLE = 0x10, /* service: start */ - CINIT_QSN_SVC_NEEDS = 0x20, /* in/exclude needs */ - CINIT_QSN_SVC_WANTS = 0x40, /* in/exclude wants */ - CINIT_QSN_SVC_LIST = 0x80, /* list services */ - - CINIT_QSN_QUESTION_END = 0xffff /* last message */ -}; - -enum { /* answers */ - CINIT_ASW_IPC_ERROR = 0x00, /* bad error */ - CINIT_ASW_OK = 0x01, /* general ok value */ - CINIT_ASW_SVC_UNKNOWN = 0x04, /* Services is not known */ - CINIT_ASW_SVC_DISABLED = 0x08, /* service: stop */ - CINIT_ASW_SVC_ENABLED = 0x10, /* service: start */ - CINIT_ASW_SVC_ERR = 0x20, /* in/excluded needs */ - CINIT_ASW_SVC_WANTS = 0x40, /* in/excluded wants */ - CINIT_ASW_SVC_NEEDS = 0x80, /* in/excluded needs */ - CINIT_ASW_ERR_INTERN = 0x100, /* cinit internal error */ - - CINIT_ASW_ANSWER_END = 0xffff /* last message */ -}; - -enum cinit_svc_flags { - CINIT_CMD_SVC_WANTS = 'w', - CINIT_CMD_SVC_NEEDS = 'n' -}; - -struct cinit_msg_msg { - int code; - char *msg; -}; - -//struct cinit_msg_msg cinit_codes2messages[] = { - -//} - -/* functions */ -int cinit_send_to(struct cinit_question *, struct cinit_answer *); -void cinit_cp_data(char data[], char *src); - -void cinit_prepare_comm(struct cinit_question *qsn, - struct cinit_answer *asr, - uint32_t cmd); - -uint32_t cinit_flag_to_uint32_t(char *); -uint32_t cinit_get_version(char *); -uint32_t cinit_svc_disable(char *svc, uint32_t flag); -uint32_t cinit_svc_enable(char *svc, uint32_t flag); -uint32_t cinit_svc_get_pid(char *, pid_t *status); -uint32_t cinit_svc_get_status(char *, uint32_t *); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/cmd.h b/software/cinit/browse_source/cinit-0.3pre17/src/include/cmd.h deleted file mode 100644 index eb29be93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/cmd.h +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Header file for the cmd (cinit management) - */ - -#ifndef CINIT_CMD_HEADER -#define CINIT_CMD_HEADER - -#define CMD_USAGE "cmd - cinit management\n\n" \ - "cmd -[de [nw]] -[ps] [service] -[hvV]\n\n" \ - " -d: disable service\n" \ - " n: without needs\n" \ - " Skip needs when en/disabling\n\n"\ - " w: without wants\n" \ - " Skip wants when en/disabling\n" \ - " -e: enable service\n" \ - " see above\n" \ - " -h: get help\n" \ - " this messages" \ - " -p: get process id (pid)\n" \ - " of specified service\n" \ - " -s: get status\n" \ - " of specified service\n" \ - " -v: get version\n" \ - " of cinit\n" \ - " -V: get version\n" \ - " of cmd\n" \ - "" - -#define CMD_OPTIONS "e::d::hpsvV" - -#define MSG_KILL "kill()" -#define CMD_VERSION "0.2" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/intern.h b/software/cinit/browse_source/cinit-0.3pre17/src/include/intern.h deleted file mode 100644 index b214c9cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/intern.h +++ /dev/null @@ -1,125 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * internal stuff only :-) - * - */ - - -#ifndef _CINIT_INTERN_H -#define _CINIT_INTERN_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* structures: answer / question */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_NOLINK, /* file is a broken symbolic link*/ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_LAST CINIT_CONFDIR SLASH C_LAST -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* functions (used by server and client) */ -void mini_printf(char *str, int fd); -//void usage(char *banner, char *stext); - -/* core functions */ -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -//int msg_svc_on_off(char *svc, char action); -//int msg_change_status(char *svc, char status, pid_t pid); -//int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* communication */ -int read_command(struct cinit_question, struct cinit_answer *); -int answer_svc_status(char *, struct cinit_answer *); -int answer_svc_pid(char *, struct cinit_answer *); -int answer_version(struct cinit_answer *); -int answer_svc_disable(char *, struct cinit_answer *); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -void print_errno(char *text); - -#endif /* INTERN */ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre17/src/include/ipc.h deleted file mode 100644 index e06bd734..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/ipc.h +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/* FIXME: change to cinit/types.h later */ -#include "cinit.h" - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init */ - -int cinit_ipc_connect(void); /* connect to init */ - -int cinit_ipc_csend(struct cinit_question *); /* ask the server */ -int cinit_ipc_cread(struct cinit_answer *); /* read answer */ - -int cinit_ipc_logoff(void); /* logoff */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/listing b/software/cinit/browse_source/cinit-0.3pre17/src/include/listing deleted file mode 100644 index bccdad37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/listing +++ /dev/null @@ -1,8 +0,0 @@ -include/intern.h -include/config.h -include/ipc.h -include/messages.h -include/os.h -include/reboot.h -include/signals.h -include/svc.h diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre17/src/include/messages.h deleted file mode 100644 index 53bf64bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/messages.h +++ /dev/null @@ -1,169 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * All messages - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -//#define MSG_ERR_DEPS "Too many dependencies" -//#define MSG_ERR_ACCEPT "accept" -//#define MSG_ERR_WAITPID "waitpid" -//#define MSG_ERR_POLL "poll" -//#define MSG_ERR_MODIFY "modify list failed" -//#define MSG_ERR_COMM "Communication failed" - -//#define MSG_ERR_LESS_ARGS "Too less arguments!" -//#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -//#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -//#define LOG_NEED_FAIL "One or more need failed" -//#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# include -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) {} -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ - -/* services: how they should be printed - * /etc/cinit/svc/long/name: started once - * /etc/cinit/svc/long/name: is respawning - * /etc/cinit/svc/long/name: FAILED (why it happened) - */ - -#define MSG_INTRO_CINIT "cinit:" -#define MSG_INTRO_SPACE MSG_INTRO_CINIT " " -#define MSG_INTRO_SVC MSG_INTRO_CINIT -#define MSG_INTRO_STOP MSG_INTRO_CINIT "stop: " -#define MSG_INTRO_EXEC MSG_INTRO_CINIT "exec: " - -/* FIXME: remove/append, but no intro! */ -#define MSG_INTRO_FAIL "FAILED " -#define MSG_INTRO_RESPAWN MSG_INTRO_CINIT "respawn: " -#define MSG_INTRO_OK MSG_INTRO_CINIT "ok: " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" - - -#define MSG_BUILTIN_SLEEP MSG_INTRO_STOP "Using built-in sleep" - -#define MSG_TREE_EXEC MSG_INTRO_SPACE "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_FATAL_PANIC MSG_INTRO_SPACE "I tried everything, but even panic() failed: " -#define MSG_ERR_SLEEP MSG_INTRO_SPACE "Sleep did not succeed" -#define MSG_GETTIMEOFDAY MSG_INTRO_SPACE "gettimeofday() failed!" - -/* execution */ -//#define MSG_EXECUTING MSG_INTRO_EXEC - -/* stat() errors */ -#define MSG_NONREGULAR "Is not a regular file." -#define MSG_BROKENLINK "Is a broken link." - -/* Service messages */ -#define MSG_SVC_START "Starting... " -#define MSG_SVC_STOP "Stoping... " -#define MSG_SVC_RESTART "Restarted." -#define MSG_SVC_SLEEP "Sleeping before restart" -#define MSG_SVC_OK_ONCE "Started once." -#define MSG_SVC_OK_RESPAWN "Is respawning." - -/* Status messages */ -#define MSG_SHUTDOWN_START MSG_INTRO_STOP "\nBeginning the shutdown process..." -#define MSG_SHUTDOWN_SVC MSG_INTRO_STOP "Shutting down services now..." -#define MSG_SHUTDOWN_TERM MSG_INTRO_STOP "Terminating remaining processes..." -#define MSG_SHUTDOWN_KILL MSG_INTRO_STOP "Killing remaining processes..." -#define MSG_SHUTDOWN_LAST MSG_INTRO_STOP "Executing final service..." -#define MSG_POWER_OFF MSG_INTRO_STOP "Powering off..." -#define MSG_HALT MSG_INTRO_STOP "Halting system ..." -#define MSG_REBOOT MSG_INTRO_STOP "Rebooting ..." - -/* client messages */ -#define MSG_HALT_KILL "halt.kill" -#define MSG_REBOOT_KILL "reboot.kill" -#define MSG_POWEROFF_KILL "poweroff.kill" - - -/* reboot */ -#define MSG_TERMKILL MSG_INTRO_FAIL "SIGTERM" -#define MSG_KILLBILL MSG_INTRO_FAIL "SIGKILL" - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre17/src/include/os.h deleted file mode 100644 index d6173a83..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/os.h +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/reboot.h b/software/cinit/browse_source/cinit-0.3pre17/src/include/reboot.h deleted file mode 100644 index 4e490bd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/reboot.h +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * reboot specific functions - * - */ - -#ifndef CINIT_REBOOT_HEADER -#define CINIT_REBOOT_HEADER - -/***************************************************************************** - * the main reboot function - */ -void do_reboot(int signal); - - -/***************************************************************************** - * os specific functions - */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - - -/***************************************************************************** - * Functions: abstract do_reboot - */ -#define cinit_do_reboot() do_reboot(SIGHUP) -#define cinit_do_halt() do_reboot(SIGUSR1) -#define cinit_do_poweroff() do_reboot(SIGTERM) - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/signals.h b/software/cinit/browse_source/cinit-0.3pre17/src/include/signals.h deleted file mode 100644 index 7c5e2e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/signals.h +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Define signals to use: needs signal.h to be included before. - */ - -#ifndef CINIT_SIGNALS_HEADER -#define CINIT_SIGNALS_HEADER - -#define SIG_CINIT_HALT SIGUSR1 -#define SIG_CINIT_POWEROFF SIGTERM -#define SIG_CINIT_REBOOT SIGHUP -#define SIG_CINIT_CHILD SIGCHLD - -enum { - SIGSTAGE_REBOOT, - SIGSTAGE_DAEMON, - SIGSTAGE_CLIENT, - SIGSTAGE_END -}; - -enum { - SIGCINIT_HALT, - SIGCINIT_POWEROFF, - SIGCINIT_REBOOT, - SIGCINIT_CHILD, - SIGCINIT_END -}; - -#include -struct cinit_signal_map { - int signal; - struct sigaction sigstages; -}; - - -void signal_init_map(struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END], int cinit_signals[SIGCINIT_END]); -void set_signals(int stage); - -/* global vars */ -extern int cinit_global_signals[SIGCINIT_END]; /* maps signal codes to index */ -extern struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END]; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/svc-intern.h b/software/cinit/browse_source/cinit-0.3pre17/src/include/svc-intern.h deleted file mode 100644 index 38d3bad0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/svc-intern.h +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Internal service specifics - * - */ - -#ifndef __CINIT_SVC_INTERN_H -#define __CINIT_SVC_INTERN_H - -/* includes */ -#include /* pid_t */ -#include /* int types */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* LEN */ - -/* service tree item */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char abs_path[CINIT_DATA_LEN]; /* name of service */ - uint32_t status; /* current status */ - int waitpid; /* result of last waitpid call */ - pid_t pid; /* pid of service / respawn watcher */ - time_t start; /* time the process was started last time */ - time_t exited; /* time the process exited */ - - - struct dep *wanted_by; /* list of services that want this service */ - struct dep *needed_by; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ - - struct listitem *changed; /* list of changed services */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *deps_pending; /* the services to handle */ -extern struct listitem *svc_list; /* the list of services */ -extern int svc_exited; /* mark change */ - -/* list functions */ -struct listitem *list_insert(char *path, uint32_t status); -int list_delete_byname(char *path); -int list_delete_bypointer(struct listitem *); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -uint32_t svc_set_status(struct listitem *li, uint32_t status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void shutdown_services(struct listitem *start); - -void svc_start(struct listitem *); -void svc_stop_deps(struct listitem *, int); -uint32_t svc_disable(struct listitem *); -int svc_status_changed(); -int svc_handle_pending(struct dep *pending); - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -#endif /* _CINIT_SVC_INTERN_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/svc-messages.h b/software/cinit/browse_source/cinit-0.3pre17/src/include/svc-messages.h deleted file mode 100644 index 14873228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/svc-messages.h +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Service status messages - */ - - -#ifndef __CINIT_SVC_MESSAGES_H -#define __CINIT_SVC_MESSAGES_H - -#include "svc.h" - -struct cinit_svc_msg { - int code; - char *msg; -}; - -struct cinit_svc_msg cinit_svc_msg_codes[] = { - { CINIT_ST_SH_ONCE, "Service should be started once" }, - { CINIT_ST_SH_RESPAWN, "Service should respawn" }, - { CINIT_ST_ONCE_OK, "Service successfully started once" }, - { CINIT_ST_ONCE_FAIL, "Service failed to start once" }, - { CINIT_ST_RESPAWNING, "Service is respawning" }, - { CINIT_ST_NEED_FAILD, "One ore more needs failed" }, - { CINIT_ST_IN_LIST, "Service is in starter list" }, - { CINIT_ST_BAD_ERR, "Some strange error happened" }, - { CINIT_ST_ONCE_RUN, "Service is currently running once" }, - { CINIT_ST_NOT_EXIST, "This service does not exist" } -}; - -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre17/src/include/svc.h deleted file mode 100644 index ac8bc552..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/include/svc.h +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Service status (also exposed to the outside) - */ - - -#ifndef __CINIT_SVC_H -#define __CINIT_SVC_H - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum cinit_svc_status { - /* first define basics */ - CINIT_ST_SH_ONCE = 0x1, /* service SHould be started once yx*/ - CINIT_ST_SH_RESPAWN = 0x2, /* service SHould respawn yx*/ - CINIT_ST_ONCE_OK = 0x4, /* service was successfully started once */ - CINIT_ST_ONCE_FAIL = 0x8, /* service failed to start */ - CINIT_ST_RESPAWNING = 0x10, /* service is respawning */ - CINIT_ST_NEED_FAILD = 0x20, /* this service is not started, need failed x*/ - CINIT_ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - CINIT_ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - CINIT_ST_ONCE_RUN = 0x100, /* the once process is currently running yx*/ - CINIT_ST_NOT_EXIST = 0x200, /* there's no such service in our database */ - CINIT_ST_SH_STOP = 0x400, /* service was running, is being stopped x*/ - CINIT_ST_STOPPED = 0x800, /* service is stopped x*/ - CINIT_ST_STOP_FAIL = 0x1000 /* service failed to stop..strange situation */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum cinit_svc_needs_status { - CINIT_SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - CINIT_SNS_NEEDS_FAILED, /* one ore more needs failed */ - CINIT_SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -/*********************************************************************** - * How to start/stop a service - */ -enum cinit_svc_start_stop_options { - CINIT_SSSO_COMPLETE = 0x0, /* with all dependencies */ - CINIT_SSSO_WO_NEEDS = 0x1, /* without needs */ - CINIT_SSSO_WO_WANTS = 0x2, /* without wants */ - CINIT_SSSO_WO_BOTH = 0x4 /* without both */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq-rt/README b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq-rt/README deleted file mode 100644 index cc1a1b7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq-rt/README +++ /dev/null @@ -1,2 +0,0 @@ -This implementation uses the new realtime inferface of -posix instead of the old one functions. diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq-rt/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq-rt/cinit_ipc_init.c deleted file mode 100644 index ef22b6d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq-rt/cinit_ipc_init.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include - -#include "cinit.h" -#include "config.h" -#include "msgq-rt.h" - -int cinit_ipc_init(void) -{ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq-rt/mq_open.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq-rt/mq_open.c deleted file mode 100644 index 445e7dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq-rt/mq_open.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -int main() -{ - mqd_t readq = mq_open("/test",O_RDWR|O_CREAT|O_EXCL); - //mqd_t readq = mq_open("/bin/ls",O_RDWR|O_CREAT|O_EXCL); - - if(readq == -1) { - perror("oh nein"); - return 1; - } - mqd_t writeq = mq_open("/bin/cp",O_WRONLY|O_CREAT|O_EXCL); - if(readq == -1) { - perror("oh oh nein"); - return 1; - } -} - - diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq-rt/msgq-rt.h b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq-rt/msgq-rt.h deleted file mode 100644 index d09a2808..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq-rt/msgq-rt.h +++ /dev/null @@ -1,39 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#define MSGQ_PATHNAME "/cinit" /* identifier */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_cread.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_cread.c deleted file mode 100644 index ef811fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_cread.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client reads messages from cinit - * - */ - -#include /* msg* */ -#include /* memcpy() */ -#include /* getpid() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msq specific */ - -int cinit_ipc_cread(struct cinit_answer *buf) -{ - struct cinit_msgq_server asr; - - if(msgrcv(__cinit_mq_in, &asr, sizeof(asr.asr), getpid(), 0) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGRCV); - return 0; - } - memcpy(buf, &(asr.asr), sizeof(*buf)); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 04683ab1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client sends messages to cinit - * - */ - -#include /* msgget */ -#include /* memcpy() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structure */ - -int cinit_ipc_csend(struct cinit_question *qsn) -{ - struct cinit_msgq_client msg; - - msg.mtype = 1; /* cinit = 1 */ - - /* copy question structure into the msgq-structure */ - memcpy(&(msg.qsn), qsn, sizeof(msg.qsn)); - - if(msgsnd(__cinit_mq_out, &msg, sizeof(msg.qsn), 0) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGSEND); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 8186cba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ -#include "msgq.h" /* mq_in, mq_out */ -#include "intern.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(__cinit_mq_in, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(__cinit_mq_out, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index d5102f13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* message queue */ - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index fb4aac52..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * Listen to messages - * - */ - -#include /* printf() */ - -#include /* msg* */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structs */ - -int cinit_ipc_listen(void) -{ - int tmp; - struct cinit_msgq_client qsn; - struct cinit_msgq_server asr; - struct msqid_ds msq; - - tmp = msgrcv(__cinit_mq_in, &qsn, sizeof (qsn.qsn), 0, 0); - - /* message system problem */ - if(tmp == -1) { - if(errno != EINTR) { - print_errno(__CINIT_MSG_MSGQ_MSGRCV); - } - return -1; - } - - /* retrieve pid */ - if(msgctl(__cinit_mq_in, IPC_STAT, &msq) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGCTL); - return -1; - } - - if(!read_command(qsn.qsn, &(asr.asr))) { - /* FIXME: mini_print */ - printf("read command failed\n"); - - asr.asr.ret = CINIT_ASW_ERR_INTERN; - } - - asr.mtype = msq.msg_lspid; - if(msgsnd(__cinit_mq_out, &asr, sizeof(asr.asr), 0) == -1) { - /* FIXME: do different things on differen errnos ... */ - print_errno("msgsend/answer"); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index ac8306d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Disconnect from cinit - * - */ - -int cinit_ipc_logoff(void) -{ - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index e15b12f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msgq constants */ - -int cinit_ipc_logon(void) -{ - key_t k_tmp; - - /* generiere nen schluessel: andersrum als im Server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, 0); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, 0); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/msgq.h deleted file mode 100644 index 68398764..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,58 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * header of message queuing interface - * - */ - -#ifndef __CINIT_IPC_HEADER -#define __CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define __CINIT_MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define __CINIT_MSGQ_TO_SERVER 'i' /* also for ftok */ -#define __CINIT_MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define __CINIT_MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables: FIXME: rename, we're in client namespace! - */ -int __cinit_mq_in; /* input */ -int __cinit_mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct cinit_msgq_client { - long mtype; - struct cinit_question qsn; -}; - -/* messages _from_ the server _to_ the client */ -struct cinit_msgq_server { - long mtype; - struct cinit_answer asr; -}; - -/*********************************************************************** - * Messages - */ - -#define __CINIT_MSG_MSGQ_FTOK "ftok" -#define __CINIT_MSG_MSGQ_MSGGET "msgget" -#define __CINIT_MSG_MSGQ_MSGCTL "msgctl" -#define __CINIT_MSG_MSGQ_MSGSEND "msgsend" -#define __CINIT_MSG_MSGQ_MSGRCV "msgrcv" -#define __CINIT_MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/socket+linux-tmpfs/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/socket+linux-tmpfs/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/socket+linux-tmpfs/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/socket+linux-tmpfs/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre17/src/ipc/socket+linux-tmpfs/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/ipc/socket+linux-tmpfs/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/README b/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/README deleted file mode 100644 index 096cc779..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/README +++ /dev/null @@ -1,22 +0,0 @@ -Build a small library that can be used by different applications, that provides: - - Constants / Macros: - for cinit_halt: - CINIT_HALT - CINIT_REBOOT - CINIT_POWEROFF - - for cinit_svc_start/stop: - CINIT_SVC_NORMAL - CINIT_SVC_NEEDS - CINIT_SVC_ONLY - CINIT_SVC_WANTS - - Functions: - void cinit_halt(int how); - int cinit_svc_start(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - -This lib must then include: - - choosen ipc functions diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_flag_to_uint32_t.c b/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_flag_to_uint32_t.c deleted file mode 100644 index 89949c8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_flag_to_uint32_t.c +++ /dev/null @@ -1,46 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Converts cher * to uint32_t for svc operations - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* integers */ - -#include "cinit.h" /* constants */ - -uint32_t cinit_flag_to_uint32_t(char *flag) -{ - uint32_t ret = 0; /* no flags */ - - if(flag != NULL) { - if(strchr(flag, CINIT_CMD_SVC_NEEDS)) { - ret |= CINIT_QSN_SVC_NEEDS; - } - if(strchr(flag, CINIT_CMD_SVC_WANTS)) { - ret |= CINIT_QSN_SVC_WANTS; - } - } - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_get_version.c b/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_get_version.c deleted file mode 100644 index 794e25bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_get_version.c +++ /dev/null @@ -1,38 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves version of cinit - */ - -#include "cinit.h" /* header for clients */ - -uint32_t cinit_get_version(char *buf) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_VERSION); - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - cinit_cp_data(buf, asr.data); - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_halt.c b/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_halt.c deleted file mode 100644 index f5e9c96a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_halt.c +++ /dev/null @@ -1,39 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * purpose_of_this_file_is_also_there_behind_the_big_header - * - */ - -#include "" /* include global header */ -int cinit_halt(int how) -{ - switch (how) { - case 'p': /* power off */ - break; - - default: - break; - } -} - -return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_prepare_comm.c b/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_prepare_comm.c deleted file mode 100644 index 8badc744..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_prepare_comm.c +++ /dev/null @@ -1,37 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Prepares the communication - */ - -#include /* str*, memset */ -#include /* uint32_t */ - -#include "cinit.h" /* header for clients */ - -void cinit_prepare_comm(struct cinit_question *qsn, struct cinit_answer *asr, - uint32_t cmd) -{ - memset(qsn, '\0', sizeof(struct cinit_question)); - memset(asr, '\0', sizeof(struct cinit_answer)); - - qsn->cmd = cmd; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_send_to.c b/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_send_to.c deleted file mode 100644 index cfd3a35c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_send_to.c +++ /dev/null @@ -1,41 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * sends data from the client to cinit - * - */ - -#include "ipc.h" /* IPC */ -#include "cinit.h" /* struct cinit_message */ - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) -{ - if(!cinit_ipc_logon()) - return 0; - if(!cinit_ipc_csend(data)) - return 0; - if(!cinit_ipc_cread(res)) - return 0; - if(!cinit_ipc_logoff()) - return 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_svc_disable.c b/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_svc_disable.c deleted file mode 100644 index 6c25c330..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_svc_disable.c +++ /dev/null @@ -1,68 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Disables a service - * - */ - -#include /* integers */ - -#include "cinit.h" /* header for clients */ - -/* - * to cinit: - * disable + flags - * from cinit: - * status - * unknown service - * disabled the service - * - * disabled the service and needs - * disabled the service and wants - * disabled the service and needs and wants - * - * if it is one of the last three it follows - * uint32_t num: how many services stopped - * num times - * - * uint32_t len (excluding \0) - * char name[] - */ - -uint32_t cinit_svc_disable(char *svc, uint32_t flag) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_SVC_DISABLE); - cinit_cp_data((qsn.data), svc); - - qsn.opt = flag; - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - /* - * FIXME: 0.3pre15: add retrieval of services - */ - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_svc_enable.c b/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_svc_enable.c deleted file mode 100644 index 701a2b89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_svc_enable.c +++ /dev/null @@ -1,48 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves pid of a service - * - */ - -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_enable(char *svc, uint32_t flag) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_SVC_ENABLE); - cinit_cp_data((qsn.data), svc); - - qsn.opt = flag; - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - /* - * add logic to display started services here or: add logic to start - * dependend services in here: want to start a -> cinit returns needs b - */ - - return CINIT_ASW_IPC_ERROR; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_svc_get_pid.c b/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_svc_get_pid.c deleted file mode 100644 index 715fe953..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_svc_get_pid.c +++ /dev/null @@ -1,44 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves pid of a service - * - */ - -#include /* pid_t */ -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_get_pid(char *name, pid_t * status) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_PID); - cinit_cp_data((qsn.data), name); - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - *status = asr.opt; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_svc_get_status.c b/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_svc_get_status.c deleted file mode 100644 index be8a1a4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/libcinit/cinit_svc_get_status.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves status of a service - * - */ - -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_get_status(char *name, uint32_t * status) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_STATUS); - cinit_cp_data((qsn.data), name); - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - *status = asr.opt; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/cinit deleted file mode 100644 index 577bcf6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/cinit +++ /dev/null @@ -1,62 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/set_signals.o -core/signal_init_map.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/gen_halt_tree.o -svc/list_delete_byname.o -svc/list_delete_bypointer.o -svc/list_insert.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/svc_handle_pending.o -svc/svc_status_changed.o -svc/svc_disable.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/shutdown_services.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_fail.o -svc/svc_start.o -svc/svc_stop_deps.o -comm/read_command.o -comm/answer_svc_status.o -comm/answer_svc_pid.o -comm/answer_version.o -comm/cinit_cp_data.o -comm/answer_svc_disable.o diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/cmd b/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/cmd deleted file mode 100644 index a32be1f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/cmd +++ /dev/null @@ -1,17 +0,0 @@ -client/cmd.o -comm/cinit_cp_data.o -generic/print_errno.o -generic/path_absolute.o -generic/mini_printf.o -ipc/current/cinit_ipc_logon.o -ipc/current/cinit_ipc_csend.o -ipc/current/cinit_ipc_cread.o -ipc/current/cinit_ipc_logoff.o -libcinit/cinit_get_version.o -libcinit/cinit_send_to.o -libcinit/cinit_svc_get_pid.o -libcinit/cinit_svc_get_status.o -libcinit/cinit_prepare_comm.o -libcinit/cinit_svc_enable.o -libcinit/cinit_svc_disable.o -libcinit/cinit_flag_to_uint32_t.o diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/halt.kill b/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/halt.kill deleted file mode 100644 index e5b12a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/halt.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/halt.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/poweroff.kill b/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/poweroff.kill deleted file mode 100644 index 306fc0bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/poweroff.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/poweroff.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/reboot.kill b/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/reboot.kill deleted file mode 100644 index f851badf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/object_lists/reboot.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/reboot.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre17/src/os/freebsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre17/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre17/src/os/freebsd/poweroff.c deleted file mode 100644 index c73dd079..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre17/src/os/freebsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre17/src/os/linux/halt.c deleted file mode 100644 index 5ee3eb53..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre17/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre17/src/os/linux/poweroff.c deleted file mode 100644 index c7d2b1c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre17/src/os/linux/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre17/src/os/netbsd/halt.c deleted file mode 100644 index 972aecf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/netbsd/halt.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre17/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre17/src/os/netbsd/poweroff.c deleted file mode 100644 index 17d7b259..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre17/src/os/netbsd/reboot.c deleted file mode 100644 index 14313e17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/netbsd/reboot.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre17/src/os/openbsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre17/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre17/src/os/openbsd/poweroff.c deleted file mode 100644 index bf4120e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre17/src/os/openbsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/check_add_deps.c deleted file mode 100644 index b3fcd691..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/check_add_deps.c +++ /dev/null @@ -1,128 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Add dependencies to a service - */ - -#include /* getcwd */ - -#include /* DIR */ -#include /* errno */ - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_* */ -#include "svc-intern.h" /* DEP_* */ - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX + 1]; - char oldpath[PATH_MAX + 1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath, PATH_MAX + 1)) { - print_errno(MSG_GETCWD); - return 0; - } - - /* Create path */ - strncpy(buf, svc->abs_path, PATH_MAX+1); - if(type == DEP_NEEDS) { - if(!path_append(buf, C_NEEDS)) return 0; - } else { - if(!path_append(buf, C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent = readdir(d_tmp)) != NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* - * skip non-working directories / broken links path_absolute reports - * errors on failure - */ - if(!path_absolute(tdirent->d_name, buf, PATH_MAX + 1)) continue; - - /* 1. create the service we depend on 2. initialize its dependencies */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* - * We need ALL dependencies, as we are called only once per service; no - * need to test that first! And the other service CANNOT know anything - * about us yet, so we always add us to its list. - */ - - /* - * Dependencies: - a.needs b; add b to the list of dependencies. - - * a.needs b; add a to the list of needed by b. 1. check whether the - * dependency already exists 2. otherwise add it 3. do it once for needs, - * once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - /* add us to the other service */ - dep_entry_add(&(new_svc->needed_by), deps); - - /* add other service to us */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs), deps); - } else { - /* add us to the other service */ - dep_entry_add(&(new_svc->wanted_by), deps); - - /* add other service to us */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants), deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/dep_create.c deleted file mode 100644 index 1bf513ee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/dep_create.c +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc-intern.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/dep_entry_add.c deleted file mode 100644 index 41b67d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/dep_entry_add.c +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Add a new item to a (non-)empty list - */ - -#include "svc-intern.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(!(*deplist)) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/dep_entry_del.c deleted file mode 100644 index 460b37ce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/dep_entry_del.c +++ /dev/null @@ -1,55 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc-intern.h" /* struct *dep */ - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* - * last service in the list - */ - if(del->next == del && del->prev == del) { - tmp = NULL; - } else { - /* - * remove from list - */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/dep_needs_wants_add.c deleted file mode 100644 index cfb7b242..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ -#include "svc-intern.h" /* struct *dep */ -#include "svc.h" /* struct *dep */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed_by; - } else { - end = svc->wanted_by; - } - - /* - * Place to the first dependency of this service - */ - tmp = end; - if(tmp != NULL) { - do { - /* - * Add service to the starter list, which - should be started once - - * should be respawned (both VIRGIN services!) - and which are not - * already in the list! - */ - if(((tmp->svc->status & CINIT_ST_SH_ONCE) || - (tmp->svc->status & CINIT_ST_SH_RESPAWN)) && - !(tmp->svc->status & CINIT_ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= CINIT_ST_IN_LIST; - dep_entry_add(list, new); - } - - /* - * FIXME: Clearify if we should go forward or backwards? this decision - * will influence starting order and may thereby add a minimal mount - * of speed enhancement As far as I can see it is not predictable, - * which way is better, because it heavily depends on the other - * services. If you know better, provide me with a patch ;-) - */ - - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/gen_halt_tree.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/gen_halt_tree.c deleted file mode 100644 index fee84d11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/gen_halt_tree.c +++ /dev/null @@ -1,64 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * This function reads the full service tree and generates - * a list of services to begin shutdown (those that are not - * wanted or needed by any other service). - */ - -#include /* NULL */ - -#include "svc-intern.h" /* structs */ -#include "intern.h" /* structs */ - -struct dep *gen_halt_list(struct listitem *svc_tree) -{ - struct dep *list = NULL, *new = NULL; - struct listitem *tmp; - - /* - * no tree? nothing to shutdown. - */ - if(!svc_tree) { - return NULL; - } - - /* - * find all services that do not depend on other services: - empty wants? - * (currently ignore them) - empty needs! - */ - tmp = svc_tree; - do { - if(tmp->needs == NULL) { - /* - * create new dependency - */ - new = dep_create(tmp); - if(!new) - return NULL; - - dep_entry_add(&list, new); - } - tmp = tmp->next; - } while(tmp != svc_tree); - - return list; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/gen_svc_tree.c deleted file mode 100644 index ceb4acf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Pre calculate the service tree (recursive calling) - */ - -#include - -#include "intern.h" /* functions */ -#include "svc.h" /* constants */ -#include "svc-intern.h" /* functions */ - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li = list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li = svc_create(svc))) return NULL; - - /* add dependencies */ - if(!check_add_deps(li, DEP_NEEDS)) return NULL; - if(!check_add_deps(li, DEP_WANTS)) return NULL; - - /* If it has no dependencies, then the service is a start service. */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&deps_pending, deps); - - /* - * Mark it as being in the startup list, so it does not get added again - * in a dep_needs_wants_add call - */ - li->status |= CINIT_ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_delete_byname.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_delete_byname.c deleted file mode 100644 index 5bceb289..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_delete_byname.c +++ /dev/null @@ -1,47 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* free */ -#include "intern.h" /* list_search */ -#include "svc-intern.h" /* listitem */ - -/* ... */ -int list_delete_byname(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if(tmp == NULL) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - - free(tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_delete_bypointer.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_delete_bypointer.c deleted file mode 100644 index d50b51b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_delete_bypointer.c +++ /dev/null @@ -1,42 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* free */ -#include "svc-intern.h" /* listitem */ - -int list_delete_bypointer(struct listitem *li) -{ - /* FIXME: add warning? this case should not happen */ - if(li == NULL) { - return 0; - } - - li->next->prev = li->prev; - li->prev->next = li->next; - - free(li); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_display_all.c deleted file mode 100644 index b94758f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_display_all.c +++ /dev/null @@ -1,49 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ - -#include "messages.h" /* D_PRINTF */ -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return 0; - } else { - tmp = svc_list; - } - - do { - D_PRINTF("Service: "); - D_PRINTF(tmp->abs_path); - D_PRINTF("\n"); - - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_insert.c deleted file mode 100644 index 9f87be69..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_insert.c +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Insert service into service list - * - */ - -#include /* uint32_t */ -#include /* malloc */ -#include /* bzero / memset */ -#include "svc-intern.h" /* the list pointer */ - -struct listitem *list_insert(char *path, uint32_t status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - cinit_cp_data(tmp->abs_path, path); - - tmp->status = status; - tmp->pid = 0; - tmp->changed = NULL; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_modify.c deleted file mode 100644 index f527d98d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_modify.c +++ /dev/null @@ -1,57 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED. Not in use anymore. - * - * List handling - */ - -#error "NOT IN USE" - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if(tmp == NULL) { - return 0; - } - - /* - * delete objects, which are killed - */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_search.c deleted file mode 100644 index ff4578c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_search.c +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "svc-intern.h" /* struct listitem */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) return NULL; - - tmp = svc_list; - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_search_pid.c deleted file mode 100644 index 0633d95e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/list_search_pid.c +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Search by pid - * - */ - -#include /* NULL */ -#include /* pid_t */ -#include "svc-intern.h" /* struct listitem */ - -inline struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) return NULL; - - tmp = svc_list; - - do { - if(pid == tmp->pid) return tmp; /* found service */ - - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/shutdown_services.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/shutdown_services.c deleted file mode 100644 index e17dea04..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/shutdown_services.c +++ /dev/null @@ -1,48 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Shutdown all services: This is more or less the negative - * version of 'tree_exec()' - */ - -#include "svc-intern.h" /* struct */ -#include "svc.h" /* defines */ - -void shutdown_services(struct listitem *svc) -{ - /* - * The shutdown procedure: - * - * - take the list of running services - * - begin at the first (could be any) service and - * - shutdown all services that depend on that service - * --> recursive - * - take the next service (if there is still one ;-) - */ - - while(svc) { - svc_stop_deps(svc, CINIT_SSSO_COMPLETE); - svc = svc->next; - list_delete_bypointer(svc->prev); - } - - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_add_needs.c deleted file mode 100644 index be6c6312..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_add_needs.c +++ /dev/null @@ -1,92 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED! - * - * List handling - */ - -#error "NOT IN USE" - -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - /* - * retrieve service entries in global service list - */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* - * and exit if one is missing - */ - if(!svc_needs || !svc_is_needed) { - return 0; - } - - /* - * first add needs - */ - - /* - * now add needed_by - */ - - malloc... /* for adding */ - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* - * write generic function for dependencies or even all lists - */ - dep_entry_add(list_pointer, new_entry); - - if(list == NULL) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path, path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_create.c deleted file mode 100644 index 081a1b78..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_create.c +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Create a service, checking for existence is done before. - */ - -#include /* NULL */ -#include /* stat */ -#include /* errno */ - -#include "svc.h" /* constants */ -#include "svc-intern.h" /* listitem */ -#include "intern.h" /* path_append */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -struct listitem *svc_create(char *svc) -{ - char buf[CINIT_DATA_LEN]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc, -1); - if(!li) return NULL; - - cinit_cp_data(buf, svc); - if(!path_append(buf, C_RESPAWN)) return NULL; - - if(stat(buf, &statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li, CINIT_ST_SH_ONCE); - } else { - return NULL; - } - } else { - svc_set_status(li, CINIT_ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_disable.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_disable.c deleted file mode 100644 index e0704bfc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_disable.c +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Stop a service - * - * Status: Written, looks finished, but untested. - * - * respawn: - * - disable respawning: set status to ST_RESPAWN_STOP - * - send term signal? no => can be done in "off" - * => set environment CINIT_SVC_PID - * once and respawn: - * - look for 'off' binary, execute if present - * - mark service as off or delete it? - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* waitpid */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ -#include "cinit.h" /* CINIT_DATA_LEN */ -#include "signals.h" /* signal handling */ - -uint32_t svc_disable(struct listitem *li) -{ - char buf[CINIT_DATA_LEN]; - - svc_set_status(li, CINIT_ST_SH_STOP); - - li->pid = fork(); - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path, MSG_SVC_FORK, strerror(errno)); - svc_set_status(li, CINIT_ST_BAD_ERR); - return CINIT_ASW_ERR_INTERN; - } - - /********************** Parent / fork() ************************/ - if(li->pid > 0) { - /* FIXME: why duplicate? */ - svc_set_status(li, CINIT_ST_SH_STOP); - return CINIT_ASW_OK; - } - - /********************** Client / fork() ************************/ - svc_report_status(li->abs_path, MSG_SVC_STOP, NULL); - - cinit_cp_data(buf, li->abs_path); - if(!path_append(buf, C_OFF)) _exit(1); - - /* - * Check for existence - */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - _exit(0); - } - - if(li->status == FE_FILE) { - /* - * FIXME: reset signals: Is this necessary? Or does fork clean it anyway? - */ - set_signals(SIGSTAGE_CLIENT); - - /* - * and now, fire it up - */ - execute_sth(buf); - } else { - /* - * FIXME: report? - */ - /* - * either no file or an error - */ - _exit(1); - } - - /* FIXME: we will never return ... */ - return CINIT_ASW_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_fail.c deleted file mode 100644 index 63ed7ff9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_fail.c +++ /dev/null @@ -1,38 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Mark the service as being failed - */ - -#include "svc.h" -#include "svc-intern.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) - li->status = CINIT_ST_ONCE_FAIL; - else { - /* - * FIXME: do something senseful, record time of dead? - */ - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_handle_pending.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_handle_pending.c deleted file mode 100644 index c8ae2f68..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_handle_pending.c +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Handle pending services - * - */ - -#include /* NULL */ - -#include /* NULL */ -#include "intern.h" /* mini_printf */ -#include "messages.h" /* messages */ -#include "svc.h" /* svc_init */ -#include "svc-intern.h" /* svc_init */ - -/*********************************************************************** - * go through the pending list and exit at the end. - * we will be called again after something changed: - * svc_status_changed() is triggered by the death of one or more children - * and sets up changes - */ -int svc_handle_pending(struct dep *pending) -{ - struct dep *tmp = pending; - struct dep *hack; - struct timespec ts; - - mini_printf(MSG_TREE_EXEC, 1); - - /* apply changes to changed services */ - while(tmp != NULL) { - /* to be started */ - if(tmp->svc->status & (CINIT_ST_SH_ONCE | CINIT_ST_SH_RESPAWN)) { - svc_start(tmp->svc); - tmp = dep_entry_del(tmp); - } - - switch(svc_needs_status(tmp->svc)) { - case CINIT_SNS_NEEDS_STARTED: - /* - * FIXME: MSG_* - */ - svc_report_status(tmp->svc->abs_path, "Finished needs.", NULL); - - /* execute service, add dependencies, remove from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_FAILED: - /* - * mark service as NEED_FAILD and delete from list - */ - /* FIXME: reporting moved to svc_needs_status.c */ - //svc_report_status(tmp->svc->abs_path, MSG_SVC_NEED_FAIL, NULL); - svc_set_status(tmp->svc, CINIT_ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_UNFINISHED: - /* - * FIXME: continue here! - */ - - hack = tmp->svc->needs; - do { - // get needs -// printf("%s waits for %s",tmp->svc->abs_path,hack->svc->abs_path); - // display status of needs - // printf("%s: %ld\n",hack->svc->abs_path,hack->svc->status); - hack = hack->next; - } while(hack != tmp->svc->needs); - - tmp = tmp->next; /* continue with the next item */ - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep(&ts, NULL); - break; - } - /* - * This case happens, if it's the last service waiting for something - */ - /* - * if(tmp == tmp->next) { - * - * nanosleep()? printf("BUUUUUUUUUUUUUG, exit\n"); break; } - */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_needs_status.c deleted file mode 100644 index 9b9e0243..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_needs_status.c +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return status of the needs of this service - * - */ - -#include /* NULL */ -#include "svc.h" /* service information */ -#include "svc-intern.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = CINIT_SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - - if(deps == NULL) - return CINIT_SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* - * worst case: need failed - */ - if((deps->svc->status & CINIT_ST_NEED_FAILD) || - (deps->svc->status & CINIT_ST_ONCE_FAIL) || - (deps->svc->status & CINIT_ST_BAD_ERR)) { - printf("%s not started, because %s failed.\n", svc->abs_path, deps->svc->abs_path); - retval = CINIT_SNS_NEEDS_FAILED; - break; - } - /* - * services are being started - */ - if((deps->svc->status & CINIT_ST_SH_ONCE) || - (deps->svc->status & CINIT_ST_SH_RESPAWN) || - (deps->svc->status & CINIT_ST_ONCE_RUN)) { - // printf("%s (%ld) waits for %s (%ld)\n",svc->abs_path, svc->status, - // deps->svc->abs_path, deps->svc->status); - retval = CINIT_SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_report_status.c deleted file mode 100644 index 9a1c1bab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_report_status.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Tell the world what happened to the service - */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC, 1); - mini_printf(svc, 1); - mini_printf(": ", 1); - mini_printf(msg, 1); - if(err) { - mini_printf(" (", 1); - mini_printf(err, 1); - mini_printf(")", 1); - } - mini_printf("\n", 1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_respawn_check.c deleted file mode 100644 index 86fe71ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,40 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED? not in use. - * - * Check whether service is existent - */ - -#error "NOT IN USE" - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX + 1]; - - strcpy(buf, svc->abs_path); - if(!path_append(buf, C_RESPAWN)) - return 0} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_set_status.c deleted file mode 100644 index 647ea20a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_set_status.c +++ /dev/null @@ -1,37 +0,0 @@ - -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set the status of a service - */ - -#include - -#include "svc-intern.h" - -/* checking for existence is done before! */ -uint32_t svc_set_status(struct listitem *li, uint32_t status) -{ - /* - * FIXME: also set time? - */ - - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_should_respawn.c deleted file mode 100644 index a217261a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return whether should respawn or not - */ - -#include "svc-intern.h" -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & CINIT_ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_start.c deleted file mode 100644 index 0715697a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_start.c +++ /dev/null @@ -1,142 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* nanosleep() */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ -#include "cinit.h" /* CINIT_DATA_LEN */ -#include "signals.h" /* signal handling */ - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li) -{ - char buf[CINIT_DATA_LEN]; - struct timespec ts; - int delay = 0; /* FIXME: to be calculated by waitpid status, if respawing */ - - /* first update status before forking ! */ - if(li->status & CINIT_ST_SH_ONCE) li->status = CINIT_ST_ONCE_RUN; - else li->status = CINIT_ST_RESPAWNING; - - /* set start time */ - li->start = time(NULL); - - /* - * FIXME: All cleanup must go here close(fds); reset signals reset env? - * FIXME: Add logging possibility to here open (0,1,2) to other processes, - * if specified - */ - - /* - * BUG: the following child may return _before_ the fork returns in the - * parent. Thus this pid may not be registered. And that's the reason why - * we need the global svc_lock! - */ - li->pid = fork(); - - /********************** parent ************************/ - if(li->pid > 0) { - printf("%s is at %d\n", li->abs_path, li->pid); - return; - } - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path, MSG_SVC_FORK, strerror(errno)); - svc_set_status(li, CINIT_ST_BAD_ERR); - return; - } - - /********************** Client / fork() ************************/ - /* - * sleep, if necesseray - */ - if(delay) { - ts.tv_sec = delay; - ts.tv_nsec = 0; - - /* - * FIXME: also report value; int2char - */ - printf("Delay: %d\n", delay); - svc_report_status(li->abs_path, MSG_SVC_SLEEP, NULL); - - /* - * do not need to check for errors, because we can continue anyway - */ - /* - * WRONG: FIXME: look whether to sleep again - */ - nanosleep(&ts, NULL); - } - svc_report_status(li->abs_path, MSG_SVC_START, NULL); - - cinit_cp_data(buf, li->abs_path); - if(!path_append(buf, C_ON)) - return; - - /* - * Check for existence - */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - /* - * FIXME: remove later - */ - printf("********************\n"); - printf("WO/EXE: %s\n", li->abs_path); - printf("********************\n"); - /* - * probably a problem: we exit too fast, cinit does not yet have us in - * the process list. is that possible? => catch with sleep - */ - // sleep(2); - _exit(0); /* nothing there? fine! */ - } - - if(li->status == FE_FILE) { - set_signals(SIGSTAGE_CLIENT); - - /* - * and now, fire it up - */ - execute_sth(buf); - } else { - /* - * FIXME: report? - */ - /* - * either no file or an error - */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_status_changed.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_status_changed.c deleted file mode 100644 index eeff8af7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_status_changed.c +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * - * 2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Handle changed services - * - */ - -#include /* Macros for waitpid */ -#include /* NULL */ -//#include /* gettimeofday() */ /* FIXME: CHECK POSIX */ -#include /* time() */ - -#include "svc-intern.h" /* listem */ -#include "svc.h" /* service status */ -#include "intern.h" /* mini_printf */ -//#include "messages.h" /* messages/D_PRINTF */ - - -/*********************************************************************** - * register changes from our children - */ -int svc_status_changed() -{ - int success; - int tmp = 0; - struct listitem *svc; - pid_t pid; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - svc = list_search_pid(pid); - - if(!svc) continue; /* ignore stuff from our lazy children */ - - success = (WIFEXITED(svc->waitpid) && !WEXITSTATUS(svc->waitpid)) ? 1 : 0; - svc->exited = time(NULL); - - /************************************************************************ - * Update status using a "status translation table" - */ - - /* once running service exited */ - if(svc->status & CINIT_ST_ONCE_RUN) { - if(success) { - svc->status = CINIT_ST_ONCE_OK; - } else { - svc->status = CINIT_ST_ONCE_FAIL; - } - } - /* respawing service died */ - else if(svc->status & CINIT_ST_RESPAWNING) { - svc->status = CINIT_ST_SH_RESPAWN; - } - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_stop_deps.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_stop_deps.c deleted file mode 100644 index 02d6d6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_stop_deps.c +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - FIXME: not needed anymore! -> change to svc_status_changed() - * Stop a service, taking care about its dependencies - */ - -#include "svc.h" /* enums */ -#include "svc-intern.h" /* struct listitem */ - -/* - * how == CINIT_SSSO_COMPLETE => stop needs/wants before - * how & CINIT_SSSO_WO_NEEDS => omit needs - * how & CINIT_SSSO_WO_WANTS => omit wants - */ - -void svc_stop_deps(struct listitem *li, int how) -{ - struct dep *tmp; - - /* - * don't continue if already being stopped - */ - if(li->status & CINIT_ST_SH_STOP) return; - - /* - * shutdown depending services first: needed_by - */ - tmp = li->needed_by; - do { - if(how & CINIT_SSSO_WO_NEEDS) - break; - svc_stop_deps(tmp->svc, how); - tmp = tmp->next; - } while(tmp != li->needed_by); - - /* - * shutdown depending services first: wanted_by - */ - tmp = li->wanted_by; - do { - if(how & CINIT_SSSO_WO_WANTS) - break; - svc_stop_deps(tmp->svc, how); - tmp = tmp->next; - } while(tmp != li->wanted_by); - - svc_disable(li); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_success.c deleted file mode 100644 index cef5b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/svc_success.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set the status of a service - */ - -#include /* NULL */ - -#include "svc.h" /* listitem, svc_report_status */ -#include "svc-intern.h" /* listitem, svc_report_status */ -#include "messages.h" /* messages */ - -void svc_success(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) { - svc_report_status(li->abs_path, MSG_SVC_OK_ONCE, NULL); - li->status = CINIT_ST_ONCE_OK; - } else { - svc_report_status(li->abs_path, MSG_SVC_OK_RESPAWN, NULL); - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre17/src/svc/tree_exec.c deleted file mode 100644 index 5e58572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/svc/tree_exec.c +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Start the service tree we created - */ - -#include /* NULL */ - -#include /* NULL */ -#include "intern.h" /* mini_printf */ -#include "messages.h" /* messages */ -#include "svc.h" /* svc_init */ -#include "svc-intern.h" /* svc_init */ - -/* some thoughts... - * - * - we already generated the tree, now we need to start it from - * the endings - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - struct dep *hack; - struct timespec ts; - - mini_printf(MSG_TREE_EXEC, 1); - - /* - * the main starting loop: All services in this list should be started, but - * it is possible that dependent services are in the list. In this case - * simply skip the current service - */ - do { - switch (svc_needs_status(tmp->svc)) { - case CINIT_SNS_NEEDS_STARTED: - /* - * FIXME: MSG_* - */ - svc_report_status(tmp->svc->abs_path, "Finished needs.", NULL); - - /* execute service, add dependencies, remove from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_FAILED: - /* - * mark service as NEED_FAILD and delete from list - */ - /* FIXME: reporting moved to svc_needs_status.c */ - //svc_report_status(tmp->svc->abs_path, MSG_SVC_NEED_FAIL, NULL); - svc_set_status(tmp->svc, CINIT_ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_UNFINISHED: - /* - * FIXME: continue here! - */ - - hack = tmp->svc->needs; - do { - // get needs -// printf("%s waits for %s",tmp->svc->abs_path,hack->svc->abs_path); - // display status of needs - // printf("%s: %ld\n",hack->svc->abs_path,hack->svc->status); - hack = hack->next; - } while(hack != tmp->svc->needs); - - tmp = tmp->next; /* continue with the next item */ - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep(&ts, NULL); - break; - } - /* - * This case happens, if it's the last service waiting for something - */ - /* - * if(tmp == tmp->next) { - * - * nanosleep()? printf("BUUUUUUUUUUUUUG, exit\n"); break; } - */ - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/data1.c b/software/cinit/browse_source/cinit-0.3pre17/src/test/data1.c deleted file mode 100644 index 5be9b26a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/data1.c +++ /dev/null @@ -1,53 +0,0 @@ -#include -#include -#include - -int main() -{ - int a, b, e; - char *c = "/etc/cinit/svc/...", *data; - - int a2, b2; - char *c2; - - a2 = b2 = 0; - - a = 1001; - b = strlen(c); - c2 = malloc(b + 1); - if(!c2) - return 40; - - e = sizeof(a) + sizeof(b) + b; - - printf("e=%d (b=%d)\n", e, b); - - data = malloc(e); - if(!data) - return 20; - - /* - * in - */ - strcpy(data, (char *) &a); - e = sizeof(a); - strcpy(&data[e], (char *) &b); - e += sizeof(b); - strcpy(&data[e], c); - - /* - * out - */ - strncpy((char *) &a2, data, sizeof(a2)); - printf("a2=%d\n", a2); - e = sizeof(a2); - - strncpy((char *) &b2, &data[e], sizeof(b2)); - printf("b2=%d\n", b2); - e += sizeof(b2); - - strncpy(c2, &data[e], b2); - printf("c2=%s\n", c2); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c b/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c deleted file mode 100644 index 77cc731a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c +++ /dev/null @@ -1,147 +0,0 @@ -/************* - * - * A very small program to show that the child() of a fork() - * proceess can / CANNOT exit before fork() returns in the parent - * - * Nico Schottelius, Copying: GPLv3, 20070925 - * - * I run it this way: - - * % ./fork-latency | grep "Unknown child exited" | sort | uniq | wc -l - * => Number of children that exited before we recorded them! (should be 0) - * - * % ./fork-latency | grep "found" | sort | uniq | wc -l - * => children, which exited after fork() returned. - * - * % ./fork-latency | grep "found" | wc -l - * => should equal MAX (see sourcecode) - * - * % ./fork-latency | wc -l - * => should also equal MAX (see sourcecode) - * - * Some interesting facts: - * - * - With MAX=5000 I get: - * - * [20:02] ikn:test% ./fork-latency | grep "found" | wc -l - * 731705 - * [20:03] ikn:test% ./fork-latency | wc -l - * 734683 - * - * [20:04] ikn:test% ./fork-latency | sort | head -n 4 - * 1339) found - * 1339) found - * 1339) found - * 1339) found - * - * - * I'm wondering, why even with WNOHANG I get to check pids twice, - * also because I'm clearing the pid, after I found it (list[o] = 0). - * - -This code is weired (using return intead of exit, see below): - -[20:38] ikn:test% ./fork-latency > D -[20:38] ikn:test% cat D -MAX=2 -MAX=2 -[1] Forked 12264 -MAX=2 -[1] Forked 12264 -[0] Forked 12265 -(12264) found -(12265) found -[20:38] ikn:test% - - -With _exit: - -[21:17] ikn:test% ./fork-latency > E -[21:17] ikn:test% cat E -MAX=2 -[1] Forked 15388 -[0] Forked 15389 -(15388) found -(15389) found - - - */ - -#include /* fork() */ -#include /* sigaction, sigemtpyset */ -#include /* waitpid */ -#include /* printf, NULL */ - -#define MAX 20000 /* number of forks */ - -pid_t list[MAX]; -int i; -int got_sig; - -void sig_child(int sig) -{ - got_sig = 1; -} - -void reap_child() -{ - int o; - int found; - int status; - pid_t pid; - - got_sig = 0; - - /* WNOHANG is evil: it makes us call the loop MORE THAN ONCE - * PER DEAD CHILD! -> registering a dead child via signal - * handler makes WNOHANG obsolete - */ - //while((pid = waitpid(-1, &status, WNOHANG)) > 0) { - while((pid = waitpid(-1, &status, 0)) > 0) { - found = 0; - // no need to search the whole list, use o = i instead - // for(o = 0; o < MAX; o++) { - for(o = i; o < MAX; o++) { - if(list[o] == pid) { - list[o] = 0; /* empty */ - found = 1; - break; - } - } - if(found) { - printf("(%d) found\n", pid); - } else { - printf("(%d) Unknown child exited\n", pid); - } - } -} - -int main() -{ - struct sigaction sa; - - /* listen to SIGCHLD */ - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - sigaction(SIGCHLD, &sa, NULL); - - i = MAX; - - printf("MAX=%d\n", i); - - for(i = MAX - 1; i >= 0; i--) { - list[i] = fork(); - /* child exists immediately */ - if(list[i] == 0) _exit(0); - - /* this causes a different behaviour */ - /* if(list[i] == 0) return 0; */ - - printf("[%d] Forked %d\n", i, list[i]); - - /* parent code */ - if(got_sig) reap_child(); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.A b/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.A deleted file mode 100644 index bd0df9f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.A +++ /dev/null @@ -1,8 +0,0 @@ -Forking 1 -Forking 1 -(11456) found -Forking 0 -Forking 1 -(11456) found -Forking 0 -(11457) found diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.B b/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.B deleted file mode 100644 index 95f042c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.B +++ /dev/null @@ -1,7 +0,0 @@ -Forking 1 (0) -Forking 1 (11799) -Forking 0 (0) -Forking 1 (11799) -Forking 0 (11800) -(11799) found -(11800) found diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.C b/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.C deleted file mode 100644 index 9c1b6922..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.C +++ /dev/null @@ -1,5 +0,0 @@ -[1] Forked 11905 -[1] Forked 11905 -[0] Forked 11906 -(11905) found -(11906) found diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.D b/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.D deleted file mode 100644 index 4adfec55..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.D +++ /dev/null @@ -1,8 +0,0 @@ -MAX=2 -MAX=2 -[1] Forked 12264 -MAX=2 -[1] Forked 12264 -[0] Forked 12265 -(12264) found -(12265) found diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.E b/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.E deleted file mode 100644 index 4a4190a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.E +++ /dev/null @@ -1,5 +0,0 @@ -MAX=2 -[1] Forked 15388 -[0] Forked 15389 -(15388) found -(15389) found diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.F b/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.F deleted file mode 100644 index a7ebfe81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.F +++ /dev/null @@ -1,40001 +0,0 @@ -MAX=20000 -[19999] Forked 17761 -[19998] Forked 17762 -(17761) found -(17762) found -[19997] Forked 17763 -[19996] Forked 17764 -(17763) found -(17764) found -[19995] Forked 17765 -(17765) found -[19994] Forked 17766 -(17766) found -[19993] Forked 17767 -(17767) found -[19992] Forked 17768 -(17768) found -[19991] Forked 17769 -(17769) found -[19990] Forked 17770 -(17770) found -[19989] Forked 17771 -(17771) found -[19988] Forked 17772 -(17772) found -[19987] Forked 17773 -(17773) found -[19986] Forked 17774 -(17774) found -[19985] Forked 17775 -(17775) found -[19984] Forked 17776 -(17776) found -[19983] Forked 17777 -(17777) found -[19982] Forked 17778 -(17778) found -[19981] Forked 17779 -(17779) found -[19980] Forked 17780 -(17780) found -[19979] Forked 17781 -(17781) found -[19978] Forked 17782 -(17782) found -[19977] Forked 17783 -(17783) found -[19976] Forked 17784 -(17784) found -[19975] Forked 17785 -(17785) found -[19974] Forked 17786 -(17786) found -[19973] Forked 17787 -(17787) found -[19972] Forked 17788 -(17788) found -[19971] Forked 17789 -(17789) found -[19970] Forked 17790 -(17790) found -[19969] Forked 17791 -(17791) found -[19968] Forked 17792 -(17792) found -[19967] Forked 17793 -[19966] Forked 17794 -(17793) found -(17794) found -[19965] Forked 17795 -[19964] Forked 17796 -(17795) found -(17796) found -[19963] Forked 17797 -[19962] Forked 17798 -(17797) found -(17798) found -[19961] Forked 17799 -[19960] Forked 17800 -(17799) found -(17800) found -[19959] Forked 17801 -[19958] Forked 17802 -(17801) found -(17802) found -[19957] Forked 17803 -[19956] Forked 17804 -(17803) found -(17804) found -[19955] Forked 17805 -[19954] Forked 17806 -(17805) found -(17806) found -[19953] Forked 17807 -[19952] Forked 17808 -(17807) found -(17808) found -[19951] Forked 17809 -[19950] Forked 17810 -(17809) found -(17810) found -[19949] Forked 17811 -[19948] Forked 17812 -(17811) found -(17812) found -[19947] Forked 17813 -[19946] Forked 17814 -(17813) found -(17814) found -[19945] Forked 17815 -[19944] Forked 17816 -(17815) found -(17816) found -[19943] Forked 17817 -[19942] Forked 17818 -(17817) found -(17818) found -[19941] Forked 17819 -[19940] Forked 17820 -(17819) found -(17820) found -[19939] Forked 17821 -[19938] Forked 17822 -(17821) found -(17822) found -[19937] Forked 17823 -[19936] Forked 17824 -(17823) found -(17824) found -[19935] Forked 17825 -[19934] Forked 17826 -(17825) found -(17826) found -[19933] Forked 17827 -[19932] Forked 17828 -(17827) found -(17828) found -[19931] Forked 17829 -[19930] Forked 17830 -(17829) found -(17830) found -[19929] Forked 17831 -[19928] Forked 17832 -(17831) found -(17832) found -[19927] Forked 17833 -[19926] Forked 17834 -(17833) found -(17834) found -[19925] Forked 17835 -[19924] Forked 17836 -(17835) found -(17836) found -[19923] Forked 17837 -[19922] Forked 17838 -(17837) found -(17838) found -[19921] Forked 17839 -[19920] Forked 17840 -(17839) found -(17840) found -[19919] Forked 17841 -[19918] Forked 17842 -(17841) found -(17842) found -[19917] Forked 17843 -[19916] Forked 17844 -(17843) found -(17844) found -[19915] Forked 17845 -[19914] Forked 17846 -(17845) found -(17846) found -[19913] Forked 17847 -[19912] Forked 17848 -(17847) found -(17848) found -[19911] Forked 17849 -[19910] Forked 17850 -(17849) found -(17850) found -[19909] Forked 17851 -[19908] Forked 17852 -(17851) found -(17852) found -[19907] Forked 17853 -[19906] Forked 17854 -(17853) found -(17854) found -[19905] Forked 17855 -[19904] Forked 17856 -(17855) found -(17856) found -[19903] Forked 17857 -[19902] Forked 17858 -(17857) found -(17858) found -[19901] Forked 17859 -[19900] Forked 17860 -(17859) found -(17860) found -[19899] Forked 17861 -[19898] Forked 17862 -(17861) found -(17862) found -[19897] Forked 17863 -[19896] Forked 17864 -(17863) found -(17864) found -[19895] Forked 17865 -[19894] Forked 17866 -(17865) found -(17866) found -[19893] Forked 17867 -[19892] Forked 17868 -(17867) found -(17868) found -[19891] Forked 17869 -[19890] Forked 17870 -(17869) found -(17870) found -[19889] Forked 17871 -[19888] Forked 17872 -(17871) found -(17872) found -[19887] Forked 17873 -[19886] Forked 17874 -(17873) found -(17874) found -[19885] Forked 17875 -[19884] Forked 17876 -(17875) found -(17876) found -[19883] Forked 17877 -[19882] Forked 17878 -(17877) found -(17878) found -[19881] Forked 17879 -[19880] Forked 17880 -(17879) found -(17880) found -[19879] Forked 17881 -[19878] Forked 17882 -(17881) found -(17882) found -[19877] Forked 17883 -[19876] Forked 17884 -(17883) found -(17884) found -[19875] Forked 17885 -[19874] Forked 17886 -(17885) found -(17886) found -[19873] Forked 17887 -[19872] Forked 17888 -(17887) found -(17888) found -[19871] Forked 17889 -[19870] Forked 17890 -(17889) found -(17890) found -[19869] Forked 17891 -[19868] Forked 17892 -(17891) found -(17892) found -[19867] Forked 17893 -[19866] Forked 17894 -(17893) found -(17894) found -[19865] Forked 17895 -[19864] Forked 17896 -(17895) found -(17896) found -[19863] Forked 17897 -[19862] Forked 17898 -(17897) found -(17898) found -[19861] Forked 17899 -[19860] Forked 17900 -(17899) found -(17900) found -[19859] Forked 17901 -[19858] Forked 17902 -(17901) found -(17902) found -[19857] Forked 17903 -[19856] Forked 17904 -(17903) found -(17904) found -[19855] Forked 17905 -[19854] Forked 17906 -(17905) found -(17906) found -[19853] Forked 17907 -[19852] Forked 17908 -(17907) found -(17908) found -[19851] Forked 17909 -[19850] Forked 17910 -(17909) found -(17910) found -[19849] Forked 17911 -[19848] Forked 17912 -(17911) found -(17912) found -[19847] Forked 17913 -[19846] Forked 17914 -(17913) found -(17914) found -[19845] Forked 17915 -[19844] Forked 17916 -(17915) found -(17916) found -[19843] Forked 17917 -[19842] Forked 17918 -(17917) found -(17918) found -[19841] Forked 17919 -[19840] Forked 17920 -(17919) found -(17920) found -[19839] Forked 17921 -[19838] Forked 17922 -(17921) found -(17922) found -[19837] Forked 17923 -[19836] Forked 17924 -(17923) found -(17924) found -[19835] Forked 17925 -(17925) found -[19834] Forked 17926 -(17926) found -[19833] Forked 17927 -(17927) found -[19832] Forked 17928 -(17928) found -[19831] Forked 17929 -(17929) found -[19830] Forked 17930 -(17930) found -[19829] Forked 17931 -(17931) found -[19828] Forked 17932 -[19827] Forked 17933 -(17932) found -(17933) found -[19826] Forked 17934 -(17934) found -[19825] Forked 17935 -(17935) found -[19824] Forked 17936 -(17936) found -[19823] Forked 17937 -(17937) found -[19822] Forked 17938 -(17938) found -[19821] Forked 17939 -(17939) found -[19820] Forked 17940 -(17940) found -[19819] Forked 17941 -(17941) found -[19818] Forked 17942 -(17942) found -[19817] Forked 17943 -(17943) found -[19816] Forked 17944 -(17944) found -[19815] Forked 17945 -(17945) found -[19814] Forked 17946 -(17946) found -[19813] Forked 17947 -(17947) found -[19812] Forked 17948 -(17948) found -[19811] Forked 17949 -(17949) found -[19810] Forked 17950 -(17950) found -[19809] Forked 17951 -(17951) found -[19808] Forked 17952 -(17952) found -[19807] Forked 17953 -(17953) found -[19806] Forked 17954 -(17954) found -[19805] Forked 17955 -(17955) found -[19804] Forked 17956 -(17956) found -[19803] Forked 17957 -(17957) found -[19802] Forked 17958 -(17958) found -[19801] Forked 17959 -(17959) found -[19800] Forked 17960 -(17960) found -[19799] Forked 17961 -(17961) found -[19798] Forked 17962 -(17962) found -[19797] Forked 17963 -(17963) found -[19796] Forked 17964 -(17964) found -[19795] Forked 17965 -(17965) found -[19794] Forked 17966 -(17966) found -[19793] Forked 17967 -(17967) found -[19792] Forked 17968 -(17968) found -[19791] Forked 17969 -(17969) found -[19790] Forked 17970 -[19789] Forked 17971 -(17970) found -(17971) found -[19788] Forked 17972 -[19787] Forked 17973 -(17972) found -(17973) found -[19786] Forked 17974 -[19785] Forked 17975 -(17974) found -(17975) found -[19784] Forked 17976 -[19783] Forked 17977 -(17976) found -(17977) found -[19782] Forked 17978 -[19781] Forked 17979 -(17978) found -(17979) found -[19780] Forked 17980 -[19779] Forked 17981 -(17981) found -(17980) found -[19778] Forked 17982 -(17982) found -[19777] Forked 17983 -(17983) found -[19776] Forked 17984 -(17984) found -[19775] Forked 17985 -(17985) found -[19774] Forked 17986 -(17986) found -[19773] Forked 17987 -(17987) found -[19772] Forked 17988 -(17988) found -[19771] Forked 17989 -(17989) found -[19770] Forked 17990 -(17990) found -[19769] Forked 17991 -(17991) found -[19768] Forked 17992 -(17992) found -[19767] Forked 17993 -(17993) found -[19766] Forked 17994 -(17994) found -[19765] Forked 17995 -(17995) found -[19764] Forked 17996 -(17996) found -[19763] Forked 17997 -(17997) found -[19762] Forked 17998 -(17998) found -[19761] Forked 17999 -(17999) found -[19760] Forked 18000 -(18000) found -[19759] Forked 18001 -(18001) found -[19758] Forked 18002 -(18002) found -[19757] Forked 18003 -(18003) found -[19756] Forked 18004 -(18004) found -[19755] Forked 18005 -(18005) found -[19754] Forked 18006 -(18006) found -[19753] Forked 18007 -(18007) found -[19752] Forked 18008 -(18008) found -[19751] Forked 18009 -(18009) found -[19750] Forked 18010 -(18010) found -[19749] Forked 18011 -(18011) found -[19748] Forked 18012 -(18012) found -[19747] Forked 18013 -(18013) found -[19746] Forked 18014 -(18014) found -[19745] Forked 18015 -(18015) found -[19744] Forked 18016 -(18016) found -[19743] Forked 18017 -(18017) found -[19742] Forked 18018 -(18018) found -[19741] Forked 18019 -(18019) found -[19740] Forked 18020 -(18020) found -[19739] Forked 18021 -(18021) found -[19738] Forked 18022 -(18022) found -[19737] Forked 18023 -(18023) found -[19736] Forked 18024 -(18024) found -[19735] Forked 18025 -(18025) found -[19734] Forked 18026 -(18026) found -[19733] Forked 18027 -(18027) found -[19732] Forked 18028 -(18028) found -[19731] Forked 18029 -(18029) found -[19730] Forked 18030 -(18030) found -[19729] Forked 18031 -(18031) found -[19728] Forked 18032 -(18032) found -[19727] Forked 18033 -(18033) found -[19726] Forked 18034 -(18034) found -[19725] Forked 18035 -(18035) found -[19724] Forked 18036 -(18036) found -[19723] Forked 18037 -(18037) found -[19722] Forked 18038 -(18038) found -[19721] Forked 18039 -(18039) found -[19720] Forked 18040 -(18040) found -[19719] Forked 18041 -(18041) found -[19718] Forked 18042 -[19717] Forked 18043 -(18042) found -(18043) found -[19716] Forked 18044 -[19715] Forked 18045 -(18044) found -(18045) found -[19714] Forked 18046 -[19713] Forked 18047 -(18046) found -(18047) found -[19712] Forked 18048 -[19711] Forked 18049 -(18049) found -(18048) found -[19710] Forked 18050 -(18050) found -[19709] Forked 18051 -(18051) found -[19708] Forked 18052 -(18052) found -[19707] Forked 18053 -(18053) found -[19706] Forked 18055 -(18055) found -[19705] Forked 18056 -(18056) found -[19704] Forked 18057 -(18057) found -[19703] Forked 18058 -(18058) found -[19702] Forked 18059 -(18059) found -[19701] Forked 18060 -(18060) found -[19700] Forked 18061 -(18061) found -[19699] Forked 18062 -(18062) found -[19698] Forked 18063 -(18063) found -[19697] Forked 18064 -(18064) found -[19696] Forked 18065 -(18065) found -[19695] Forked 18066 -(18066) found -[19694] Forked 18067 -(18067) found -[19693] Forked 18068 -(18068) found -[19692] Forked 18069 -(18069) found -[19691] Forked 18070 -(18070) found -[19690] Forked 18071 -(18071) found -[19689] Forked 18072 -(18072) found -[19688] Forked 18073 -(18073) found -[19687] Forked 18074 -(18074) found -[19686] Forked 18075 -(18075) found -[19685] Forked 18076 -(18076) found -[19684] Forked 18077 -(18077) found -[19683] Forked 18078 -(18078) found -[19682] Forked 18079 -(18079) found -[19681] Forked 18080 -(18080) found -[19680] Forked 18081 -(18081) found -[19679] Forked 18082 -(18082) found -[19678] Forked 18083 -(18083) found -[19677] Forked 18084 -(18084) found -[19676] Forked 18085 -(18085) found -[19675] Forked 18086 -(18086) found -[19674] Forked 18087 -(18087) found -[19673] Forked 18088 -(18088) found -[19672] Forked 18089 -(18089) found -[19671] Forked 18090 -(18090) found -[19670] Forked 18091 -(18091) found -[19669] Forked 18092 -(18092) found -[19668] Forked 18093 -(18093) found -[19667] Forked 18094 -(18094) found -[19666] Forked 18095 -(18095) found -[19665] Forked 18096 -(18096) found -[19664] Forked 18097 -(18097) found -[19663] Forked 18098 -(18098) found -[19662] Forked 18099 -(18099) found -[19661] Forked 18100 -(18100) found -[19660] Forked 18101 -(18101) found -[19659] Forked 18102 -(18102) found -[19658] Forked 18103 -(18103) found -[19657] Forked 18104 -(18104) found -[19656] Forked 18105 -(18105) found -[19655] Forked 18106 -(18106) found -[19654] Forked 18107 -(18107) found -[19653] Forked 18108 -(18108) found -[19652] Forked 18109 -(18109) found -[19651] Forked 18110 -(18110) found -[19650] Forked 18111 -(18111) found -[19649] Forked 18112 -(18112) found -[19648] Forked 18113 -[19647] Forked 18114 -(18113) found -(18114) found -[19646] Forked 18115 -[19645] Forked 18116 -(18115) found -(18116) found -[19644] Forked 18117 -[19643] Forked 18118 -(18117) found -(18118) found -[19642] Forked 18119 -[19641] Forked 18120 -(18119) found -(18120) found -[19640] Forked 18121 -[19639] Forked 18122 -(18121) found -(18122) found -[19638] Forked 18123 -[19637] Forked 18124 -(18123) found -(18124) found -[19636] Forked 18125 -[19635] Forked 18126 -(18125) found -(18126) found -[19634] Forked 18127 -[19633] Forked 18128 -(18127) found -(18128) found -[19632] Forked 18129 -[19631] Forked 18130 -(18129) found -(18130) found -[19630] Forked 18131 -[19629] Forked 18132 -(18131) found -(18132) found -[19628] Forked 18133 -[19627] Forked 18134 -(18133) found -(18134) found -[19626] Forked 18135 -[19625] Forked 18136 -(18135) found -(18136) found -[19624] Forked 18137 -[19623] Forked 18138 -(18137) found -(18138) found -[19622] Forked 18139 -[19621] Forked 18140 -(18139) found -(18140) found -[19620] Forked 18141 -[19619] Forked 18142 -(18141) found -(18142) found -[19618] Forked 18143 -[19617] Forked 18144 -(18143) found -(18144) found -[19616] Forked 18145 -[19615] Forked 18146 -(18145) found -(18146) found -[19614] Forked 18147 -[19613] Forked 18148 -(18147) found -(18148) found -[19612] Forked 18149 -[19611] Forked 18150 -(18149) found -(18150) found -[19610] Forked 18151 -[19609] Forked 18152 -(18151) found -(18152) found -[19608] Forked 18153 -[19607] Forked 18154 -(18153) found -(18154) found -[19606] Forked 18155 -[19605] Forked 18156 -(18155) found -(18156) found -[19604] Forked 18157 -[19603] Forked 18158 -(18157) found -(18158) found -[19602] Forked 18159 -[19601] Forked 18160 -(18159) found -(18160) found -[19600] Forked 18161 -(18161) found -[19599] Forked 18162 -(18162) found -[19598] Forked 18163 -(18163) found -[19597] Forked 18164 -(18164) found -[19596] Forked 18165 -(18165) found -[19595] Forked 18166 -(18166) found -[19594] Forked 18167 -(18167) found -[19593] Forked 18168 -(18168) found -[19592] Forked 18169 -(18169) found -[19591] Forked 18170 -(18170) found -[19590] Forked 18171 -(18171) found -[19589] Forked 18172 -(18172) found -[19588] Forked 18173 -(18173) found -[19587] Forked 18174 -(18174) found -[19586] Forked 18175 -(18175) found -[19585] Forked 18176 -(18176) found -[19584] Forked 18177 -(18177) found -[19583] Forked 18178 -(18178) found -[19582] Forked 18179 -(18179) found -[19581] Forked 18180 -(18180) found -[19580] Forked 18181 -(18181) found -[19579] Forked 18182 -(18182) found -[19578] Forked 18183 -(18183) found -[19577] Forked 18184 -(18184) found -[19576] Forked 18185 -(18185) found -[19575] Forked 18186 -(18186) found -[19574] Forked 18187 -(18187) found -[19573] Forked 18188 -(18188) found -[19572] Forked 18189 -(18189) found -[19571] Forked 18190 -(18190) found -[19570] Forked 18191 -(18191) found -[19569] Forked 18192 -(18192) found -[19568] Forked 18193 -(18193) found -[19567] Forked 18194 -(18194) found -[19566] Forked 18195 -(18195) found -[19565] Forked 18196 -(18196) found -[19564] Forked 18197 -[19563] Forked 18198 -(18197) found -(18198) found -[19562] Forked 18199 -[19561] Forked 18200 -(18199) found -(18200) found -[19560] Forked 18201 -[19559] Forked 18202 -(18201) found -(18202) found -[19558] Forked 18203 -[19557] Forked 18204 -(18203) found -(18204) found -[19556] Forked 18205 -[19555] Forked 18206 -(18205) found -(18206) found -[19554] Forked 18207 -[19553] Forked 18208 -(18207) found -(18208) found -[19552] Forked 18209 -[19551] Forked 18210 -(18209) found -(18210) found -[19550] Forked 18211 -[19549] Forked 18212 -(18211) found -(18212) found -[19548] Forked 18213 -[19547] Forked 18214 -(18213) found -(18214) found -[19546] Forked 18215 -[19545] Forked 18216 -(18215) found -(18216) found -[19544] Forked 18217 -[19543] Forked 18218 -(18217) found -(18218) found -[19542] Forked 18219 -[19541] Forked 18220 -(18219) found -(18220) found -[19540] Forked 18221 -[19539] Forked 18222 -(18221) found -(18222) found -[19538] Forked 18223 -[19537] Forked 18224 -(18223) found -(18224) found -[19536] Forked 18225 -[19535] Forked 18226 -(18225) found -(18226) found -[19534] Forked 18227 -[19533] Forked 18228 -(18227) found -(18228) found -[19532] Forked 18229 -[19531] Forked 18230 -(18229) found -(18230) found -[19530] Forked 18231 -[19529] Forked 18232 -(18231) found -(18232) found -[19528] Forked 18233 -[19527] Forked 18234 -(18233) found -(18234) found -[19526] Forked 18235 -[19525] Forked 18236 -(18235) found -(18236) found -[19524] Forked 18237 -[19523] Forked 18238 -(18237) found -(18238) found -[19522] Forked 18239 -[19521] Forked 18240 -(18239) found -(18240) found -[19520] Forked 18241 -[19519] Forked 18242 -(18241) found -(18242) found -[19518] Forked 18243 -[19517] Forked 18244 -(18243) found -(18244) found -[19516] Forked 18245 -[19515] Forked 18246 -(18245) found -(18246) found -[19514] Forked 18247 -[19513] Forked 18248 -(18247) found -(18248) found -[19512] Forked 18249 -[19511] Forked 18250 -(18249) found -(18250) found -[19510] Forked 18251 -[19509] Forked 18252 -(18251) found -(18252) found -[19508] Forked 18253 -[19507] Forked 18254 -(18253) found -(18254) found -[19506] Forked 18255 -[19505] Forked 18256 -(18255) found -(18256) found -[19504] Forked 18257 -[19503] Forked 18258 -(18257) found -(18258) found -[19502] Forked 18259 -[19501] Forked 18260 -(18259) found -(18260) found -[19500] Forked 18261 -[19499] Forked 18262 -(18261) found -(18262) found -[19498] Forked 18263 -[19497] Forked 18264 -(18263) found -(18264) found -[19496] Forked 18265 -[19495] Forked 18266 -(18265) found -(18266) found -[19494] Forked 18267 -[19493] Forked 18268 -(18267) found -(18268) found -[19492] Forked 18269 -[19491] Forked 18270 -(18269) found -(18270) found -[19490] Forked 18271 -[19489] Forked 18272 -(18271) found -(18272) found -[19488] Forked 18273 -[19487] Forked 18274 -(18273) found -(18274) found -[19486] Forked 18275 -[19485] Forked 18276 -(18275) found -(18276) found -[19484] Forked 18277 -[19483] Forked 18278 -(18277) found -(18278) found -[19482] Forked 18279 -[19481] Forked 18280 -(18279) found -(18280) found -[19480] Forked 18281 -[19479] Forked 18282 -(18281) found -(18282) found -[19478] Forked 18283 -[19477] Forked 18284 -(18283) found -(18284) found -[19476] Forked 18285 -[19475] Forked 18286 -(18285) found -(18286) found -[19474] Forked 18287 -[19473] Forked 18288 -(18287) found -(18288) found -[19472] Forked 18289 -[19471] Forked 18290 -(18289) found -(18290) found -[19470] Forked 18291 -[19469] Forked 18292 -(18291) found -(18292) found -[19468] Forked 18293 -[19467] Forked 18294 -(18293) found -(18294) found -[19466] Forked 18295 -[19465] Forked 18296 -(18295) found -(18296) found -[19464] Forked 18297 -[19463] Forked 18298 -(18297) found -(18298) found -[19462] Forked 18299 -[19461] Forked 18300 -(18299) found -(18300) found -[19460] Forked 18301 -[19459] Forked 18302 -(18301) found -(18302) found -[19458] Forked 18303 -[19457] Forked 18304 -(18303) found -(18304) found -[19456] Forked 18305 -[19455] Forked 18306 -(18305) found -(18306) found -[19454] Forked 18307 -[19453] Forked 18308 -(18307) found -(18308) found -[19452] Forked 18309 -[19451] Forked 18310 -(18309) found -(18310) found -[19450] Forked 18311 -[19449] Forked 18312 -(18311) found -(18312) found -[19448] Forked 18313 -[19447] Forked 18314 -(18313) found -(18314) found -[19446] Forked 18315 -[19445] Forked 18316 -(18315) found -(18316) found -[19444] Forked 18317 -[19443] Forked 18318 -(18317) found -(18318) found -[19442] Forked 18319 -[19441] Forked 18320 -(18319) found -(18320) found -[19440] Forked 18321 -[19439] Forked 18322 -(18321) found -(18322) found -[19438] Forked 18323 -[19437] Forked 18324 -(18323) found -(18324) found -[19436] Forked 18325 -[19435] Forked 18326 -(18325) found -(18326) found -[19434] Forked 18327 -[19433] Forked 18328 -(18327) found -(18328) found -[19432] Forked 18329 -[19431] Forked 18330 -(18329) found -(18330) found -[19430] Forked 18331 -[19429] Forked 18332 -(18331) found -(18332) found -[19428] Forked 18333 -[19427] Forked 18334 -(18333) found -(18334) found -[19426] Forked 18335 -[19425] Forked 18336 -(18335) found -(18336) found -[19424] Forked 18337 -(18337) found -[19423] Forked 18338 -[19422] Forked 18339 -(18338) found -(18339) found -[19421] Forked 18340 -[19420] Forked 18341 -(18340) found -(18341) found -[19419] Forked 18342 -[19418] Forked 18343 -(18342) found -(18343) found -[19417] Forked 18344 -[19416] Forked 18345 -(18344) found -(18345) found -[19415] Forked 18346 -[19414] Forked 18347 -(18346) found -(18347) found -[19413] Forked 18348 -[19412] Forked 18349 -(18348) found -(18349) found -[19411] Forked 18350 -[19410] Forked 18351 -(18350) found -(18351) found -[19409] Forked 18352 -[19408] Forked 18353 -(18352) found -(18353) found -[19407] Forked 18354 -[19406] Forked 18355 -(18354) found -(18355) found -[19405] Forked 18356 -[19404] Forked 18357 -(18356) found -(18357) found -[19403] Forked 18358 -[19402] Forked 18359 -(18358) found -(18359) found -[19401] Forked 18360 -[19400] Forked 18361 -(18360) found -(18361) found -[19399] Forked 18362 -[19398] Forked 18363 -(18362) found -(18363) found -[19397] Forked 18364 -[19396] Forked 18365 -(18364) found -(18365) found -[19395] Forked 18366 -[19394] Forked 18367 -(18366) found -(18367) found -[19393] Forked 18368 -[19392] Forked 18369 -(18368) found -(18369) found -[19391] Forked 18370 -[19390] Forked 18371 -(18370) found -(18371) found -[19389] Forked 18372 -[19388] Forked 18373 -(18372) found -(18373) found -[19387] Forked 18374 -[19386] Forked 18375 -(18374) found -(18375) found -[19385] Forked 18376 -[19384] Forked 18377 -(18376) found -(18377) found -[19383] Forked 18378 -[19382] Forked 18379 -(18378) found -(18379) found -[19381] Forked 18380 -(18380) found -[19380] Forked 18381 -(18381) found -[19379] Forked 18382 -(18382) found -[19378] Forked 18383 -(18383) found -[19377] Forked 18384 -(18384) found -[19376] Forked 18385 -(18385) found -[19375] Forked 18386 -(18386) found -[19374] Forked 18387 -(18387) found -[19373] Forked 18388 -(18388) found -[19372] Forked 18389 -(18389) found -[19371] Forked 18390 -(18390) found -[19370] Forked 18391 -(18391) found -[19369] Forked 18392 -(18392) found -[19368] Forked 18393 -(18393) found -[19367] Forked 18394 -(18394) found -[19366] Forked 18395 -(18395) found -[19365] Forked 18396 -(18396) found -[19364] Forked 18397 -(18397) found -[19363] Forked 18398 -(18398) found -[19362] Forked 18399 -(18399) found -[19361] Forked 18400 -(18400) found -[19360] Forked 18401 -(18401) found -[19359] Forked 18402 -(18402) found -[19358] Forked 18403 -(18403) found -[19357] Forked 18404 -(18404) found -[19356] Forked 18405 -(18405) found -[19355] Forked 18406 -(18406) found -[19354] Forked 18407 -(18407) found -[19353] Forked 18408 -(18408) found -[19352] Forked 18409 -(18409) found -[19351] Forked 18410 -(18410) found -[19350] Forked 18411 -(18411) found -[19349] Forked 18412 -(18412) found -[19348] Forked 18413 -(18413) found -[19347] Forked 18414 -(18414) found -[19346] Forked 18415 -(18415) found -[19345] Forked 18416 -(18416) found -[19344] Forked 18417 -(18417) found -[19343] Forked 18418 -(18418) found -[19342] Forked 18419 -[19341] Forked 18420 -(18419) found -(18420) found -[19340] Forked 18421 -[19339] Forked 18422 -(18421) found -(18422) found -[19338] Forked 18423 -[19337] Forked 18424 -(18423) found -(18424) found -[19336] Forked 18425 -[19335] Forked 18426 -(18425) found -(18426) found -[19334] Forked 18427 -[19333] Forked 18428 -(18427) found -(18428) found -[19332] Forked 18429 -[19331] Forked 18430 -(18429) found -(18430) found -[19330] Forked 18431 -[19329] Forked 18432 -(18431) found -(18432) found -[19328] Forked 18433 -[19327] Forked 18434 -(18433) found -(18434) found -[19326] Forked 18435 -[19325] Forked 18436 -(18435) found -(18436) found -[19324] Forked 18437 -[19323] Forked 18438 -(18437) found -(18438) found -[19322] Forked 18439 -[19321] Forked 18440 -(18439) found -(18440) found -[19320] Forked 18441 -[19319] Forked 18442 -(18441) found -(18442) found -[19318] Forked 18443 -[19317] Forked 18444 -(18443) found -(18444) found -[19316] Forked 18445 -[19315] Forked 18446 -(18445) found -(18446) found -[19314] Forked 18447 -[19313] Forked 18448 -(18447) found -(18448) found -[19312] Forked 18449 -[19311] Forked 18450 -(18449) found -(18450) found -[19310] Forked 18451 -[19309] Forked 18452 -(18451) found -(18452) found -[19308] Forked 18453 -[19307] Forked 18454 -(18453) found -(18454) found -[19306] Forked 18455 -[19305] Forked 18456 -(18455) found -(18456) found -[19304] Forked 18457 -[19303] Forked 18458 -(18457) found -(18458) found -[19302] Forked 18459 -[19301] Forked 18460 -(18459) found -(18460) found -[19300] Forked 18461 -[19299] Forked 18462 -(18461) found -(18462) found -[19298] Forked 18463 -(18463) found -[19297] Forked 18464 -(18464) found -[19296] Forked 18466 -(18466) found -[19295] Forked 18467 -(18467) found -[19294] Forked 18468 -(18468) found -[19293] Forked 18469 -(18469) found -[19292] Forked 18470 -(18470) found -[19291] Forked 18471 -(18471) found -[19290] Forked 18472 -(18472) found -[19289] Forked 18473 -(18473) found -[19288] Forked 18474 -(18474) found -[19287] Forked 18475 -(18475) found -[19286] Forked 18476 -(18476) found -[19285] Forked 18477 -(18477) found -[19284] Forked 18478 -(18478) found -[19283] Forked 18479 -(18479) found -[19282] Forked 18480 -(18480) found -[19281] Forked 18481 -(18481) found -[19280] Forked 18482 -(18482) found -[19279] Forked 18483 -(18483) found -[19278] Forked 18484 -(18484) found -[19277] Forked 18485 -(18485) found -[19276] Forked 18486 -(18486) found -[19275] Forked 18487 -(18487) found -[19274] Forked 18488 -(18488) found -[19273] Forked 18489 -(18489) found -[19272] Forked 18490 -(18490) found -[19271] Forked 18491 -(18491) found -[19270] Forked 18492 -(18492) found -[19269] Forked 18493 -(18493) found -[19268] Forked 18494 -(18494) found -[19267] Forked 18495 -(18495) found -[19266] Forked 18496 -(18496) found -[19265] Forked 18497 -(18497) found -[19264] Forked 18498 -(18498) found -[19263] Forked 18499 -(18499) found -[19262] Forked 18500 -(18500) found -[19261] Forked 18501 -(18501) found -[19260] Forked 18502 -(18502) found -[19259] Forked 18503 -[19258] Forked 18504 -(18503) found -(18504) found -[19257] Forked 18505 -[19256] Forked 18506 -(18505) found -(18506) found -[19255] Forked 18507 -[19254] Forked 18508 -(18507) found -(18508) found -[19253] Forked 18509 -[19252] Forked 18510 -(18509) found -(18510) found -[19251] Forked 18511 -[19250] Forked 18512 -(18511) found -(18512) found -[19249] Forked 18513 -[19248] Forked 18514 -(18513) found -(18514) found -[19247] Forked 18515 -[19246] Forked 18516 -(18515) found -(18516) found -[19245] Forked 18517 -[19244] Forked 18518 -(18518) found -(18517) found -[19243] Forked 18519 -(18519) found -[19242] Forked 18520 -(18520) found -[19241] Forked 18521 -(18521) found -[19240] Forked 18522 -(18522) found -[19239] Forked 18523 -(18523) found -[19238] Forked 18524 -(18524) found -[19237] Forked 18525 -(18525) found -[19236] Forked 18526 -(18526) found -[19235] Forked 18527 -(18527) found -[19234] Forked 18528 -(18528) found -[19233] Forked 18529 -(18529) found -[19232] Forked 18530 -(18530) found -[19231] Forked 18531 -(18531) found -[19230] Forked 18532 -(18532) found -[19229] Forked 18533 -(18533) found -[19228] Forked 18534 -(18534) found -[19227] Forked 18535 -(18535) found -[19226] Forked 18536 -(18536) found -[19225] Forked 18537 -(18537) found -[19224] Forked 18538 -(18538) found -[19223] Forked 18539 -(18539) found -[19222] Forked 18540 -(18540) found -[19221] Forked 18541 -(18541) found -[19220] Forked 18542 -(18542) found -[19219] Forked 18543 -(18543) found -[19218] Forked 18544 -(18544) found -[19217] Forked 18545 -(18545) found -[19216] Forked 18546 -(18546) found -[19215] Forked 18547 -(18547) found -[19214] Forked 18548 -(18548) found -[19213] Forked 18549 -(18549) found -[19212] Forked 18550 -(18550) found -[19211] Forked 18551 -(18551) found -[19210] Forked 18552 -(18552) found -[19209] Forked 18553 -(18553) found -[19208] Forked 18554 -(18554) found -[19207] Forked 18555 -(18555) found -[19206] Forked 18556 -(18556) found -[19205] Forked 18557 -(18557) found -[19204] Forked 18558 -(18558) found -[19203] Forked 18559 -(18559) found -[19202] Forked 18560 -(18560) found -[19201] Forked 18561 -(18561) found -[19200] Forked 18562 -(18562) found -[19199] Forked 18563 -(18563) found -[19198] Forked 18564 -(18564) found -[19197] Forked 18565 -(18565) found -[19196] Forked 18566 -(18566) found -[19195] Forked 18567 -(18567) found -[19194] Forked 18568 -(18568) found -[19193] Forked 18569 -(18569) found -[19192] Forked 18570 -(18570) found -[19191] Forked 18571 -(18571) found -[19190] Forked 18572 -(18572) found -[19189] Forked 18573 -(18573) found -[19188] Forked 18574 -(18574) found -[19187] Forked 18575 -[19186] Forked 18576 -(18575) found -(18576) found -[19185] Forked 18577 -[19184] Forked 18578 -(18577) found -(18578) found -[19183] Forked 18579 -[19182] Forked 18580 -(18579) found -(18580) found -[19181] Forked 18581 -[19180] Forked 18582 -(18581) found -(18582) found -[19179] Forked 18583 -[19178] Forked 18584 -(18583) found -(18584) found -[19177] Forked 18585 -[19176] Forked 18586 -(18585) found -(18586) found -[19175] Forked 18587 -[19174] Forked 18588 -(18587) found -(18588) found -[19173] Forked 18589 -[19172] Forked 18590 -(18589) found -(18590) found -[19171] Forked 18591 -[19170] Forked 18592 -(18591) found -(18592) found -[19169] Forked 18593 -[19168] Forked 18594 -(18593) found -(18594) found -[19167] Forked 18595 -[19166] Forked 18596 -(18595) found -(18596) found -[19165] Forked 18597 -[19164] Forked 18598 -(18597) found -(18598) found -[19163] Forked 18599 -[19162] Forked 18600 -(18599) found -(18600) found -[19161] Forked 18601 -[19160] Forked 18602 -(18601) found -(18602) found -[19159] Forked 18603 -[19158] Forked 18604 -(18603) found -(18604) found -[19157] Forked 18605 -[19156] Forked 18606 -(18605) found -(18606) found -[19155] Forked 18607 -[19154] Forked 18608 -(18607) found -(18608) found -[19153] Forked 18609 -[19152] Forked 18610 -(18609) found -(18610) found -[19151] Forked 18612 -[19150] Forked 18613 -(18612) found -(18613) found -[19149] Forked 18614 -[19148] Forked 18615 -(18614) found -(18615) found -[19147] Forked 18616 -[19146] Forked 18617 -(18616) found -(18617) found -[19145] Forked 18618 -[19144] Forked 18619 -(18618) found -(18619) found -[19143] Forked 18620 -(18620) found -[19142] Forked 18621 -(18621) found -[19141] Forked 18622 -(18622) found -[19140] Forked 18623 -(18623) found -[19139] Forked 18624 -(18624) found -[19138] Forked 18625 -(18625) found -[19137] Forked 18626 -(18626) found -[19136] Forked 18627 -(18627) found -[19135] Forked 18628 -(18628) found -[19134] Forked 18629 -(18629) found -[19133] Forked 18630 -(18630) found -[19132] Forked 18631 -(18631) found -[19131] Forked 18632 -(18632) found -[19130] Forked 18633 -(18633) found -[19129] Forked 18634 -(18634) found -[19128] Forked 18635 -(18635) found -[19127] Forked 18636 -(18636) found -[19126] Forked 18637 -(18637) found -[19125] Forked 18638 -(18638) found -[19124] Forked 18639 -(18639) found -[19123] Forked 18640 -(18640) found -[19122] Forked 18641 -(18641) found -[19121] Forked 18642 -(18642) found -[19120] Forked 18643 -(18643) found -[19119] Forked 18644 -(18644) found -[19118] Forked 18645 -(18645) found -[19117] Forked 18646 -(18646) found -[19116] Forked 18647 -(18647) found -[19115] Forked 18648 -(18648) found -[19114] Forked 18649 -(18649) found -[19113] Forked 18650 -(18650) found -[19112] Forked 18651 -(18651) found -[19111] Forked 18652 -(18652) found -[19110] Forked 18653 -(18653) found -[19109] Forked 18654 -(18654) found -[19108] Forked 18655 -(18655) found -[19107] Forked 18656 -(18656) found -[19106] Forked 18657 -[19105] Forked 18658 -(18657) found -(18658) found -[19104] Forked 18659 -[19103] Forked 18660 -(18659) found -(18660) found -[19102] Forked 18661 -[19101] Forked 18662 -(18661) found -(18662) found -[19100] Forked 18663 -[19099] Forked 18664 -(18663) found -(18664) found -[19098] Forked 18665 -[19097] Forked 18666 -(18665) found -(18666) found -[19096] Forked 18667 -[19095] Forked 18668 -(18667) found -(18668) found -[19094] Forked 18669 -[19093] Forked 18670 -(18669) found -(18670) found -[19092] Forked 18671 -[19091] Forked 18672 -(18671) found -(18672) found -[19090] Forked 18673 -[19089] Forked 18674 -(18673) found -(18674) found -[19088] Forked 18675 -[19087] Forked 18676 -(18675) found -(18676) found -[19086] Forked 18677 -[19085] Forked 18678 -(18677) found -(18678) found -[19084] Forked 18679 -[19083] Forked 18680 -(18679) found -(18680) found -[19082] Forked 18681 -[19081] Forked 18682 -(18681) found -(18682) found -[19080] Forked 18683 -[19079] Forked 18684 -(18683) found -(18684) found -[19078] Forked 18685 -[19077] Forked 18686 -(18685) found -(18686) found -[19076] Forked 18687 -[19075] Forked 18688 -(18687) found -(18688) found -[19074] Forked 18689 -[19073] Forked 18690 -(18689) found -(18690) found -[19072] Forked 18691 -[19071] Forked 18692 -(18691) found -(18692) found -[19070] Forked 18693 -[19069] Forked 18694 -(18693) found -(18694) found -[19068] Forked 18695 -[19067] Forked 18696 -(18695) found -(18696) found -[19066] Forked 18697 -[19065] Forked 18698 -(18697) found -(18698) found -[19064] Forked 18699 -[19063] Forked 18700 -(18699) found -(18700) found -[19062] Forked 18701 -[19061] Forked 18702 -(18701) found -(18702) found -[19060] Forked 18703 -[19059] Forked 18704 -(18703) found -(18704) found -[19058] Forked 18705 -[19057] Forked 18706 -(18705) found -(18706) found -[19056] Forked 18707 -[19055] Forked 18708 -(18707) found -(18708) found -[19054] Forked 18709 -[19053] Forked 18710 -(18709) found -(18710) found -[19052] Forked 18711 -[19051] Forked 18712 -(18711) found -(18712) found -[19050] Forked 18713 -[19049] Forked 18714 -(18713) found -(18714) found -[19048] Forked 18715 -[19047] Forked 18716 -(18715) found -(18716) found -[19046] Forked 18717 -[19045] Forked 18718 -(18717) found -(18718) found -[19044] Forked 18719 -[19043] Forked 18720 -(18719) found -(18720) found -[19042] Forked 18721 -[19041] Forked 18722 -(18721) found -(18722) found -[19040] Forked 18723 -[19039] Forked 18724 -(18723) found -(18724) found -[19038] Forked 18725 -[19037] Forked 18726 -(18725) found -(18726) found -[19036] Forked 18727 -[19035] Forked 18728 -(18727) found -(18728) found -[19034] Forked 18729 -[19033] Forked 18730 -(18729) found -(18730) found -[19032] Forked 18731 -[19031] Forked 18732 -(18731) found -(18732) found -[19030] Forked 18733 -[19029] Forked 18734 -(18733) found -(18734) found -[19028] Forked 18735 -[19027] Forked 18736 -(18735) found -(18736) found -[19026] Forked 18737 -(18737) found -[19025] Forked 18738 -[19024] Forked 18739 -(18738) found -(18739) found -[19023] Forked 18740 -[19022] Forked 18741 -(18740) found -(18741) found -[19021] Forked 18742 -[19020] Forked 18743 -(18742) found -(18743) found -[19019] Forked 18744 -[19018] Forked 18745 -(18744) found -(18745) found -[19017] Forked 18746 -[19016] Forked 18747 -(18746) found -(18747) found -[19015] Forked 18748 -[19014] Forked 18749 -(18748) found -(18749) found -[19013] Forked 18750 -[19012] Forked 18751 -(18750) found -(18751) found -[19011] Forked 18752 -[19010] Forked 18753 -(18752) found -(18753) found -[19009] Forked 18754 -[19008] Forked 18755 -(18754) found -(18755) found -[19007] Forked 18756 -[19006] Forked 18757 -(18756) found -(18757) found -[19005] Forked 18758 -[19004] Forked 18759 -(18758) found -(18759) found -[19003] Forked 18760 -[19002] Forked 18761 -(18760) found -(18761) found -[19001] Forked 18762 -[19000] Forked 18763 -(18762) found -(18763) found -[18999] Forked 18764 -[18998] Forked 18765 -(18764) found -(18765) found -[18997] Forked 18766 -[18996] Forked 18767 -(18766) found -(18767) found -[18995] Forked 18768 -[18994] Forked 18769 -(18768) found -(18769) found -[18993] Forked 18770 -[18992] Forked 18771 -(18770) found -(18771) found -[18991] Forked 18772 -[18990] Forked 18773 -(18772) found -(18773) found -[18989] Forked 18774 -[18988] Forked 18775 -(18774) found -(18775) found -[18987] Forked 18776 -[18986] Forked 18777 -(18776) found -(18777) found -[18985] Forked 18778 -[18984] Forked 18779 -(18778) found -(18779) found -[18983] Forked 18780 -[18982] Forked 18781 -(18780) found -(18781) found -[18981] Forked 18782 -[18980] Forked 18783 -(18782) found -(18783) found -[18979] Forked 18784 -[18978] Forked 18785 -(18784) found -(18785) found -[18977] Forked 18786 -[18976] Forked 18787 -(18786) found -(18787) found -[18975] Forked 18788 -[18974] Forked 18789 -(18788) found -(18789) found -[18973] Forked 18790 -[18972] Forked 18791 -(18790) found -(18791) found -[18971] Forked 18792 -(18792) found -[18970] Forked 18793 -(18793) found -[18969] Forked 18794 -(18794) found -[18968] Forked 18795 -(18795) found -[18967] Forked 18796 -(18796) found -[18966] Forked 18797 -(18797) found -[18965] Forked 18798 -(18798) found -[18964] Forked 18799 -(18799) found -[18963] Forked 18800 -(18800) found -[18962] Forked 18801 -(18801) found -[18961] Forked 18802 -(18802) found -[18960] Forked 18803 -(18803) found -[18959] Forked 18804 -(18804) found -[18958] Forked 18805 -(18805) found -[18957] Forked 18806 -(18806) found -[18956] Forked 18807 -(18807) found -[18955] Forked 18808 -(18808) found -[18954] Forked 18809 -(18809) found -[18953] Forked 18810 -(18810) found -[18952] Forked 18811 -(18811) found -[18951] Forked 18812 -(18812) found -[18950] Forked 18813 -(18813) found -[18949] Forked 18814 -(18814) found -[18948] Forked 18815 -(18815) found -[18947] Forked 18816 -(18816) found -[18946] Forked 18817 -(18817) found -[18945] Forked 18818 -(18818) found -[18944] Forked 18819 -(18819) found -[18943] Forked 18820 -(18820) found -[18942] Forked 18821 -(18821) found -[18941] Forked 18822 -(18822) found -[18940] Forked 18823 -(18823) found -[18939] Forked 18824 -(18824) found -[18938] Forked 18825 -(18825) found -[18937] Forked 18826 -(18826) found -[18936] Forked 18827 -(18827) found -[18935] Forked 18828 -(18828) found -[18934] Forked 18829 -[18933] Forked 18830 -(18829) found -(18830) found -[18932] Forked 18831 -[18931] Forked 18832 -(18831) found -(18832) found -[18930] Forked 18833 -[18929] Forked 18834 -(18833) found -(18834) found -[18928] Forked 18835 -[18927] Forked 18836 -(18835) found -(18836) found -[18926] Forked 18837 -[18925] Forked 18838 -(18837) found -(18838) found -[18924] Forked 18839 -[18923] Forked 18840 -(18839) found -(18840) found -[18922] Forked 18841 -[18921] Forked 18842 -(18841) found -(18842) found -[18920] Forked 18843 -[18919] Forked 18844 -(18843) found -(18844) found -[18918] Forked 18845 -[18917] Forked 18846 -(18845) found -(18846) found -[18916] Forked 18847 -[18915] Forked 18848 -(18847) found -(18848) found -[18914] Forked 18849 -[18913] Forked 18850 -(18849) found -(18850) found -[18912] Forked 18851 -[18911] Forked 18852 -(18851) found -(18852) found -[18910] Forked 18853 -[18909] Forked 18854 -(18853) found -(18854) found -[18908] Forked 18855 -[18907] Forked 18856 -(18855) found -(18856) found -[18906] Forked 18857 -[18905] Forked 18858 -(18857) found -(18858) found -[18904] Forked 18859 -[18903] Forked 18860 -(18859) found -(18860) found -[18902] Forked 18861 -[18901] Forked 18862 -(18861) found -(18862) found -[18900] Forked 18863 -[18899] Forked 18864 -(18863) found -(18864) found -[18898] Forked 18865 -[18897] Forked 18866 -(18865) found -(18866) found -[18896] Forked 18867 -(18867) found -[18895] Forked 18868 -[18894] Forked 18869 -(18868) found -(18869) found -[18893] Forked 18870 -[18892] Forked 18871 -(18870) found -(18871) found -[18891] Forked 18872 -(18872) found -[18890] Forked 18873 -(18873) found -[18889] Forked 18874 -(18874) found -[18888] Forked 18875 -(18875) found -[18887] Forked 18876 -(18876) found -[18886] Forked 18877 -(18877) found -[18885] Forked 18878 -(18878) found -[18884] Forked 18879 -(18879) found -[18883] Forked 18880 -(18880) found -[18882] Forked 18881 -(18881) found -[18881] Forked 18882 -(18882) found -[18880] Forked 18883 -(18883) found -[18879] Forked 18884 -(18884) found -[18878] Forked 18885 -(18885) found -[18877] Forked 18886 -(18886) found -[18876] Forked 18887 -(18887) found -[18875] Forked 18888 -(18888) found -[18874] Forked 18889 -(18889) found -[18873] Forked 18890 -(18890) found -[18872] Forked 18891 -(18891) found -[18871] Forked 18892 -(18892) found -[18870] Forked 18895 -(18895) found -[18869] Forked 18896 -(18896) found -[18868] Forked 18897 -(18897) found -[18867] Forked 18898 -(18898) found -[18866] Forked 18899 -(18899) found -[18865] Forked 18900 -(18900) found -[18864] Forked 18901 -(18901) found -[18863] Forked 18902 -(18902) found -[18862] Forked 18903 -(18903) found -[18861] Forked 18904 -(18904) found -[18860] Forked 18905 -(18905) found -[18859] Forked 18906 -(18906) found -[18858] Forked 18907 -(18907) found -[18857] Forked 18908 -(18908) found -[18856] Forked 18909 -(18909) found -[18855] Forked 18910 -(18910) found -[18854] Forked 18911 -(18911) found -[18853] Forked 18912 -(18912) found -[18852] Forked 18913 -[18851] Forked 18914 -(18913) found -(18914) found -[18850] Forked 18915 -[18849] Forked 18916 -(18915) found -(18916) found -[18848] Forked 18917 -[18847] Forked 18918 -(18917) found -(18918) found -[18846] Forked 18919 -[18845] Forked 18920 -(18920) found -(18919) found -[18844] Forked 18921 -(18921) found -[18843] Forked 18922 -(18922) found -[18842] Forked 18923 -(18923) found -[18841] Forked 18925 -(18925) found -[18840] Forked 18926 -(18926) found -[18839] Forked 18927 -(18927) found -[18838] Forked 18928 -(18928) found -[18837] Forked 18929 -(18929) found -[18836] Forked 18930 -(18930) found -[18835] Forked 18931 -(18931) found -[18834] Forked 18932 -(18932) found -[18833] Forked 18933 -(18933) found -[18832] Forked 18934 -(18934) found -[18831] Forked 18935 -(18935) found -[18830] Forked 18936 -(18936) found -[18829] Forked 18937 -(18937) found -[18828] Forked 18938 -(18938) found -[18827] Forked 18939 -(18939) found -[18826] Forked 18940 -(18940) found -[18825] Forked 18941 -(18941) found -[18824] Forked 18942 -(18942) found -[18823] Forked 18943 -(18943) found -[18822] Forked 18944 -(18944) found -[18821] Forked 18945 -(18945) found -[18820] Forked 18946 -[18819] Forked 18947 -(18946) found -(18947) found -[18818] Forked 18948 -[18817] Forked 18949 -(18948) found -(18949) found -[18816] Forked 18950 -[18815] Forked 18951 -(18950) found -(18951) found -[18814] Forked 18952 -[18813] Forked 18953 -(18952) found -(18953) found -[18812] Forked 18954 -[18811] Forked 18955 -(18954) found -(18955) found -[18810] Forked 18956 -[18809] Forked 18957 -(18956) found -(18957) found -[18808] Forked 18958 -[18807] Forked 18959 -(18958) found -(18959) found -[18806] Forked 18960 -[18805] Forked 18961 -(18960) found -(18961) found -[18804] Forked 18962 -[18803] Forked 18963 -(18962) found -(18963) found -[18802] Forked 18964 -[18801] Forked 18965 -(18964) found -(18965) found -[18800] Forked 18966 -[18799] Forked 18967 -(18966) found -(18967) found -[18798] Forked 18968 -(18968) found -[18797] Forked 18969 -(18969) found -[18796] Forked 18970 -[18795] Forked 18971 -(18970) found -(18971) found -[18794] Forked 18972 -[18793] Forked 18973 -(18972) found -(18973) found -[18792] Forked 18974 -[18791] Forked 18975 -(18974) found -(18975) found -[18790] Forked 18976 -[18789] Forked 18977 -(18976) found -(18977) found -[18788] Forked 18978 -[18787] Forked 18979 -(18978) found -(18979) found -[18786] Forked 18980 -[18785] Forked 18981 -(18980) found -(18981) found -[18784] Forked 18982 -[18783] Forked 18983 -(18982) found -(18983) found -[18782] Forked 18984 -[18781] Forked 18985 -(18984) found -(18985) found -[18780] Forked 18986 -[18779] Forked 18987 -(18986) found -(18987) found -[18778] Forked 18988 -[18777] Forked 18990 -(18988) found -(18990) found -[18776] Forked 18991 -(18991) found -[18775] Forked 18992 -(18992) found -[18774] Forked 18993 -(18993) found -[18773] Forked 18994 -(18994) found -[18772] Forked 18995 -(18995) found -[18771] Forked 18996 -(18996) found -[18770] Forked 18997 -(18997) found -[18769] Forked 18998 -(18998) found -[18768] Forked 18999 -(18999) found -[18767] Forked 19000 -(19000) found -[18766] Forked 19001 -(19001) found -[18765] Forked 19002 -(19002) found -[18764] Forked 19003 -(19003) found -[18763] Forked 19004 -(19004) found -[18762] Forked 19005 -(19005) found -[18761] Forked 19006 -(19006) found -[18760] Forked 19007 -(19007) found -[18759] Forked 19008 -(19008) found -[18758] Forked 19009 -(19009) found -[18757] Forked 19010 -(19010) found -[18756] Forked 19011 -(19011) found -[18755] Forked 19012 -(19012) found -[18754] Forked 19013 -(19013) found -[18753] Forked 19014 -(19014) found -[18752] Forked 19015 -(19015) found -[18751] Forked 19017 -(19017) found -[18750] Forked 19018 -(19018) found -[18749] Forked 19019 -(19019) found -[18748] Forked 19020 -(19020) found -[18747] Forked 19021 -(19021) found -[18746] Forked 19022 -(19022) found -[18745] Forked 19023 -(19023) found -[18744] Forked 19024 -(19024) found -[18743] Forked 19025 -(19025) found -[18742] Forked 19026 -(19026) found -[18741] Forked 19027 -(19027) found -[18740] Forked 19028 -(19028) found -[18739] Forked 19029 -(19029) found -[18738] Forked 19030 -(19030) found -[18737] Forked 19031 -[18736] Forked 19032 -(19031) found -(19032) found -[18735] Forked 19033 -[18734] Forked 19034 -(19033) found -(19034) found -[18733] Forked 19035 -[18732] Forked 19036 -(19035) found -(19036) found -[18731] Forked 19037 -[18730] Forked 19038 -(19037) found -(19038) found -[18729] Forked 19039 -[18728] Forked 19040 -(19039) found -(19040) found -[18727] Forked 19041 -[18726] Forked 19042 -(19041) found -(19042) found -[18725] Forked 19043 -[18724] Forked 19044 -(19043) found -(19044) found -[18723] Forked 19045 -[18722] Forked 19046 -(19045) found -(19046) found -[18721] Forked 19047 -[18720] Forked 19048 -(19047) found -(19048) found -[18719] Forked 19049 -[18718] Forked 19050 -(19049) found -(19050) found -[18717] Forked 19051 -[18716] Forked 19052 -(19051) found -(19052) found -[18715] Forked 19053 -[18714] Forked 19054 -(19053) found -(19054) found -[18713] Forked 19055 -[18712] Forked 19056 -(19055) found -(19056) found -[18711] Forked 19057 -[18710] Forked 19058 -(19057) found -(19058) found -[18709] Forked 19059 -[18708] Forked 19060 -(19059) found -(19060) found -[18707] Forked 19061 -[18706] Forked 19062 -(19061) found -(19062) found -[18705] Forked 19063 -[18704] Forked 19064 -(19063) found -(19064) found -[18703] Forked 19065 -[18702] Forked 19066 -(19065) found -(19066) found -[18701] Forked 19067 -[18700] Forked 19068 -(19067) found -(19068) found -[18699] Forked 19069 -[18698] Forked 19070 -(19069) found -(19070) found -[18697] Forked 19071 -[18696] Forked 19072 -(19071) found -(19072) found -[18695] Forked 19073 -[18694] Forked 19074 -(19073) found -(19074) found -[18693] Forked 19075 -[18692] Forked 19076 -(19075) found -(19076) found -[18691] Forked 19077 -[18690] Forked 19078 -(19077) found -(19078) found -[18689] Forked 19079 -(19079) found -[18688] Forked 19080 -[18687] Forked 19081 -(19080) found -(19081) found -[18686] Forked 19082 -[18685] Forked 19083 -(19082) found -(19083) found -[18684] Forked 19084 -[18683] Forked 19085 -(19084) found -(19085) found -[18682] Forked 19086 -[18681] Forked 19087 -(19086) found -(19087) found -[18680] Forked 19088 -[18679] Forked 19089 -(19088) found -(19089) found -[18678] Forked 19090 -[18677] Forked 19091 -(19090) found -(19091) found -[18676] Forked 19092 -[18675] Forked 19093 -(19092) found -(19093) found -[18674] Forked 19094 -[18673] Forked 19095 -(19094) found -(19095) found -[18672] Forked 19096 -[18671] Forked 19097 -(19096) found -(19097) found -[18670] Forked 19098 -[18669] Forked 19099 -(19098) found -(19099) found -[18668] Forked 19100 -[18667] Forked 19101 -(19100) found -(19101) found -[18666] Forked 19102 -[18665] Forked 19104 -(19102) found -(19104) found -[18664] Forked 19105 -[18663] Forked 19106 -(19105) found -(19106) found -[18662] Forked 19107 -[18661] Forked 19108 -(19107) found -(19108) found -[18660] Forked 19109 -[18659] Forked 19110 -(19109) found -(19110) found -[18658] Forked 19111 -[18657] Forked 19112 -(19111) found -(19112) found -[18656] Forked 19113 -[18655] Forked 19114 -(19113) found -(19114) found -[18654] Forked 19115 -[18653] Forked 19116 -(19115) found -(19116) found -[18652] Forked 19117 -[18651] Forked 19118 -(19117) found -(19118) found -[18650] Forked 19119 -[18649] Forked 19120 -(19119) found -(19120) found -[18648] Forked 19121 -[18647] Forked 19122 -(19121) found -(19122) found -[18646] Forked 19123 -[18645] Forked 19124 -(19123) found -(19124) found -[18644] Forked 19125 -[18643] Forked 19126 -(19125) found -(19126) found -[18642] Forked 19127 -[18641] Forked 19128 -(19127) found -(19128) found -[18640] Forked 19129 -[18639] Forked 19130 -(19129) found -(19130) found -[18638] Forked 19131 -[18637] Forked 19132 -(19131) found -(19132) found -[18636] Forked 19133 -[18635] Forked 19134 -(19133) found -(19134) found -[18634] Forked 19135 -[18633] Forked 19136 -(19135) found -(19136) found -[18632] Forked 19137 -[18631] Forked 19138 -(19137) found -(19138) found -[18630] Forked 19139 -[18629] Forked 19140 -(19139) found -(19140) found -[18628] Forked 19141 -[18627] Forked 19142 -(19141) found -(19142) found -[18626] Forked 19143 -[18625] Forked 19144 -(19143) found -(19144) found -[18624] Forked 19145 -[18623] Forked 19146 -(19145) found -(19146) found -[18622] Forked 19147 -[18621] Forked 19148 -(19147) found -(19148) found -[18620] Forked 19149 -[18619] Forked 19150 -(19149) found -(19150) found -[18618] Forked 19151 -[18617] Forked 19152 -(19151) found -(19152) found -[18616] Forked 19153 -[18615] Forked 19154 -(19153) found -(19154) found -[18614] Forked 19155 -[18613] Forked 19156 -(19155) found -(19156) found -[18612] Forked 19157 -[18611] Forked 19158 -(19157) found -(19158) found -[18610] Forked 19159 -[18609] Forked 19160 -(19159) found -(19160) found -[18608] Forked 19161 -[18607] Forked 19162 -(19161) found -(19162) found -[18606] Forked 19163 -[18605] Forked 19164 -(19163) found -(19164) found -[18604] Forked 19165 -[18603] Forked 19166 -(19165) found -(19166) found -[18602] Forked 19167 -[18601] Forked 19168 -(19167) found -(19168) found -[18600] Forked 19169 -[18599] Forked 19170 -(19169) found -(19170) found -[18598] Forked 19171 -(19171) found -[18597] Forked 19172 -(19172) found -[18596] Forked 19173 -(19173) found -[18595] Forked 19174 -(19174) found -[18594] Forked 19175 -(19175) found -[18593] Forked 19176 -(19176) found -[18592] Forked 19177 -(19177) found -[18591] Forked 19178 -(19178) found -[18590] Forked 19179 -(19179) found -[18589] Forked 19180 -(19180) found -[18588] Forked 19181 -(19181) found -[18587] Forked 19182 -(19182) found -[18586] Forked 19183 -(19183) found -[18585] Forked 19184 -(19184) found -[18584] Forked 19185 -(19185) found -[18583] Forked 19186 -(19186) found -[18582] Forked 19187 -(19187) found -[18581] Forked 19188 -(19188) found -[18580] Forked 19189 -(19189) found -[18579] Forked 19191 -(19191) found -[18578] Forked 19192 -(19192) found -[18577] Forked 19193 -(19193) found -[18576] Forked 19194 -(19194) found -[18575] Forked 19195 -(19195) found -[18574] Forked 19196 -(19196) found -[18573] Forked 19197 -(19197) found -[18572] Forked 19198 -(19198) found -[18571] Forked 19199 -(19199) found -[18570] Forked 19200 -(19200) found -[18569] Forked 19201 -(19201) found -[18568] Forked 19202 -(19202) found -[18567] Forked 19203 -(19203) found -[18566] Forked 19204 -(19204) found -[18565] Forked 19205 -(19205) found -[18564] Forked 19206 -(19206) found -[18563] Forked 19207 -[18562] Forked 19208 -(19207) found -(19208) found -[18561] Forked 19209 -[18560] Forked 19210 -(19209) found -(19210) found -[18559] Forked 19211 -[18558] Forked 19212 -(19211) found -(19212) found -[18557] Forked 19213 -[18556] Forked 19214 -(19213) found -(19214) found -[18555] Forked 19215 -[18554] Forked 19216 -(19215) found -(19216) found -[18553] Forked 19217 -[18552] Forked 19218 -(19217) found -(19218) found -[18551] Forked 19219 -[18550] Forked 19220 -(19219) found -(19220) found -[18549] Forked 19221 -[18548] Forked 19222 -(19221) found -(19222) found -[18547] Forked 19223 -[18546] Forked 19224 -(19223) found -(19224) found -[18545] Forked 19225 -[18544] Forked 19226 -(19225) found -(19226) found -[18543] Forked 19227 -[18542] Forked 19228 -(19227) found -(19228) found -[18541] Forked 19229 -[18540] Forked 19230 -(19229) found -(19230) found -[18539] Forked 19231 -[18538] Forked 19232 -(19231) found -(19232) found -[18537] Forked 19233 -[18536] Forked 19234 -(19233) found -(19234) found -[18535] Forked 19235 -[18534] Forked 19236 -(19235) found -(19236) found -[18533] Forked 19237 -[18532] Forked 19238 -(19237) found -(19238) found -[18531] Forked 19239 -[18530] Forked 19240 -(19239) found -(19240) found -[18529] Forked 19241 -[18528] Forked 19242 -(19241) found -(19242) found -[18527] Forked 19243 -[18526] Forked 19244 -(19243) found -(19244) found -[18525] Forked 19245 -[18524] Forked 19246 -(19245) found -(19246) found -[18523] Forked 19247 -[18522] Forked 19248 -(19247) found -(19248) found -[18521] Forked 19249 -[18520] Forked 19250 -(19249) found -(19250) found -[18519] Forked 19251 -[18518] Forked 19252 -(19251) found -(19252) found -[18517] Forked 19253 -(19253) found -[18516] Forked 19254 -[18515] Forked 19255 -(19254) found -(19255) found -[18514] Forked 19256 -[18513] Forked 19257 -(19256) found -(19257) found -[18512] Forked 19258 -[18511] Forked 19259 -(19258) found -(19259) found -[18510] Forked 19260 -[18509] Forked 19261 -(19260) found -(19261) found -[18508] Forked 19262 -[18507] Forked 19263 -(19262) found -(19263) found -[18506] Forked 19264 -[18505] Forked 19265 -(19264) found -(19265) found -[18504] Forked 19266 -[18503] Forked 19267 -(19266) found -(19267) found -[18502] Forked 19268 -[18501] Forked 19269 -(19268) found -(19269) found -[18500] Forked 19270 -[18499] Forked 19271 -(19270) found -(19271) found -[18498] Forked 19272 -[18497] Forked 19273 -(19272) found -(19273) found -[18496] Forked 19274 -[18495] Forked 19275 -(19274) found -(19275) found -[18494] Forked 19276 -[18493] Forked 19277 -(19276) found -(19277) found -[18492] Forked 19278 -[18491] Forked 19279 -(19278) found -(19279) found -[18490] Forked 19280 -[18489] Forked 19281 -(19280) found -(19281) found -[18488] Forked 19282 -[18487] Forked 19283 -(19282) found -(19283) found -[18486] Forked 19284 -[18485] Forked 19285 -(19284) found -(19285) found -[18484] Forked 19286 -[18483] Forked 19287 -(19286) found -(19287) found -[18482] Forked 19288 -[18481] Forked 19289 -(19288) found -(19289) found -[18480] Forked 19290 -[18479] Forked 19291 -(19290) found -(19291) found -[18478] Forked 19292 -[18477] Forked 19293 -(19292) found -(19293) found -[18476] Forked 19294 -[18475] Forked 19295 -(19294) found -(19295) found -[18474] Forked 19296 -[18473] Forked 19297 -(19296) found -(19297) found -[18472] Forked 19298 -(19298) found -[18471] Forked 19299 -(19299) found -[18470] Forked 19300 -(19300) found -[18469] Forked 19301 -(19301) found -[18468] Forked 19302 -(19302) found -[18467] Forked 19303 -(19303) found -[18466] Forked 19304 -(19304) found -[18465] Forked 19305 -(19305) found -[18464] Forked 19306 -(19306) found -[18463] Forked 19307 -(19307) found -[18462] Forked 19308 -(19308) found -[18461] Forked 19309 -(19309) found -[18460] Forked 19310 -(19310) found -[18459] Forked 19311 -(19311) found -[18458] Forked 19312 -(19312) found -[18457] Forked 19313 -(19313) found -[18456] Forked 19314 -(19314) found -[18455] Forked 19315 -(19315) found -[18454] Forked 19316 -(19316) found -[18453] Forked 19317 -(19317) found -[18452] Forked 19318 -(19318) found -[18451] Forked 19319 -(19319) found -[18450] Forked 19320 -(19320) found -[18449] Forked 19321 -(19321) found -[18448] Forked 19322 -(19322) found -[18447] Forked 19323 -(19323) found -[18446] Forked 19324 -(19324) found -[18445] Forked 19325 -(19325) found -[18444] Forked 19326 -(19326) found -[18443] Forked 19327 -(19327) found -[18442] Forked 19328 -(19328) found -[18441] Forked 19329 -(19329) found -[18440] Forked 19330 -(19330) found -[18439] Forked 19331 -(19331) found -[18438] Forked 19332 -(19332) found -[18437] Forked 19333 -(19333) found -[18436] Forked 19334 -(19334) found -[18435] Forked 19335 -(19335) found -[18434] Forked 19336 -(19336) found -[18433] Forked 19337 -(19337) found -[18432] Forked 19338 -[18431] Forked 19339 -(19338) found -(19339) found -[18430] Forked 19340 -[18429] Forked 19341 -(19340) found -(19341) found -[18428] Forked 19342 -[18427] Forked 19343 -(19342) found -(19343) found -[18426] Forked 19344 -[18425] Forked 19345 -(19344) found -(19345) found -[18424] Forked 19346 -(19346) found -[18423] Forked 19347 -(19347) found -[18422] Forked 19348 -[18421] Forked 19349 -(19348) found -(19349) found -[18420] Forked 19350 -[18419] Forked 19351 -(19350) found -(19351) found -[18418] Forked 19352 -[18417] Forked 19353 -(19352) found -(19353) found -[18416] Forked 19354 -[18415] Forked 19355 -(19354) found -(19355) found -[18414] Forked 19356 -[18413] Forked 19357 -(19356) found -(19357) found -[18412] Forked 19358 -[18411] Forked 19359 -(19358) found -(19359) found -[18410] Forked 19360 -[18409] Forked 19361 -(19360) found -(19361) found -[18408] Forked 19362 -[18407] Forked 19363 -(19362) found -(19363) found -[18406] Forked 19364 -[18405] Forked 19365 -(19364) found -(19365) found -[18404] Forked 19366 -[18403] Forked 19367 -(19366) found -(19367) found -[18402] Forked 19368 -[18401] Forked 19369 -(19368) found -(19369) found -[18400] Forked 19370 -[18399] Forked 19371 -(19370) found -(19371) found -[18398] Forked 19372 -[18397] Forked 19373 -(19372) found -(19373) found -[18396] Forked 19374 -[18395] Forked 19375 -(19374) found -(19375) found -[18394] Forked 19376 -[18393] Forked 19378 -(19376) found -(19378) found -[18392] Forked 19379 -(19379) found -[18391] Forked 19380 -(19380) found -[18390] Forked 19381 -(19381) found -[18389] Forked 19382 -(19382) found -[18388] Forked 19383 -(19383) found -[18387] Forked 19384 -(19384) found -[18386] Forked 19385 -(19385) found -[18385] Forked 19386 -(19386) found -[18384] Forked 19387 -(19387) found -[18383] Forked 19388 -(19388) found -[18382] Forked 19389 -(19389) found -[18381] Forked 19390 -(19390) found -[18380] Forked 19391 -(19391) found -[18379] Forked 19392 -(19392) found -[18378] Forked 19393 -(19393) found -[18377] Forked 19394 -(19394) found -[18376] Forked 19395 -(19395) found -[18375] Forked 19396 -(19396) found -[18374] Forked 19397 -(19397) found -[18373] Forked 19398 -(19398) found -[18372] Forked 19399 -(19399) found -[18371] Forked 19400 -(19400) found -[18370] Forked 19401 -(19401) found -[18369] Forked 19402 -(19402) found -[18368] Forked 19403 -(19403) found -[18367] Forked 19404 -(19404) found -[18366] Forked 19405 -(19405) found -[18365] Forked 19406 -(19406) found -[18364] Forked 19407 -(19407) found -[18363] Forked 19408 -(19408) found -[18362] Forked 19409 -(19409) found -[18361] Forked 19410 -(19410) found -[18360] Forked 19411 -(19411) found -[18359] Forked 19412 -(19412) found -[18358] Forked 19413 -(19413) found -[18357] Forked 19414 -(19414) found -[18356] Forked 19415 -(19415) found -[18355] Forked 19416 -(19416) found -[18354] Forked 19417 -(19417) found -[18353] Forked 19418 -(19418) found -[18352] Forked 19419 -(19419) found -[18351] Forked 19420 -(19420) found -[18350] Forked 19421 -(19421) found -[18349] Forked 19422 -(19422) found -[18348] Forked 19423 -(19423) found -[18347] Forked 19424 -(19424) found -[18346] Forked 19425 -(19425) found -[18345] Forked 19426 -(19426) found -[18344] Forked 19427 -(19427) found -[18343] Forked 19428 -(19428) found -[18342] Forked 19429 -(19429) found -[18341] Forked 19430 -(19430) found -[18340] Forked 19431 -(19431) found -[18339] Forked 19432 -(19432) found -[18338] Forked 19433 -(19433) found -[18337] Forked 19434 -(19434) found -[18336] Forked 19435 -(19435) found -[18335] Forked 19436 -(19436) found -[18334] Forked 19437 -(19437) found -[18333] Forked 19438 -(19438) found -[18332] Forked 19439 -(19439) found -[18331] Forked 19440 -(19440) found -[18330] Forked 19441 -(19441) found -[18329] Forked 19442 -(19442) found -[18328] Forked 19443 -(19443) found -[18327] Forked 19444 -(19444) found -[18326] Forked 19445 -(19445) found -[18325] Forked 19446 -(19446) found -[18324] Forked 19447 -(19447) found -[18323] Forked 19448 -(19448) found -[18322] Forked 19449 -(19449) found -[18321] Forked 19450 -(19450) found -[18320] Forked 19451 -(19451) found -[18319] Forked 19452 -(19452) found -[18318] Forked 19453 -(19453) found -[18317] Forked 19454 -[18316] Forked 19455 -(19454) found -(19455) found -[18315] Forked 19456 -[18314] Forked 19457 -(19456) found -(19457) found -[18313] Forked 19458 -[18312] Forked 19459 -(19458) found -(19459) found -[18311] Forked 19460 -[18310] Forked 19461 -(19460) found -(19461) found -[18309] Forked 19462 -[18308] Forked 19463 -(19462) found -(19463) found -[18307] Forked 19464 -[18306] Forked 19465 -(19464) found -(19465) found -[18305] Forked 19466 -[18304] Forked 19467 -(19466) found -(19467) found -[18303] Forked 19468 -[18302] Forked 19469 -(19468) found -(19469) found -[18301] Forked 19470 -[18300] Forked 19471 -(19470) found -(19471) found -[18299] Forked 19472 -[18298] Forked 19473 -(19472) found -(19473) found -[18297] Forked 19474 -[18296] Forked 19475 -(19474) found -(19475) found -[18295] Forked 19476 -[18294] Forked 19477 -(19476) found -(19477) found -[18293] Forked 19478 -[18292] Forked 19479 -(19478) found -(19479) found -[18291] Forked 19480 -[18290] Forked 19481 -(19480) found -(19481) found -[18289] Forked 19482 -[18288] Forked 19483 -(19482) found -(19483) found -[18287] Forked 19484 -[18286] Forked 19485 -(19484) found -(19485) found -[18285] Forked 19486 -[18284] Forked 19487 -(19486) found -(19487) found -[18283] Forked 19488 -[18282] Forked 19489 -(19488) found -(19489) found -[18281] Forked 19490 -[18280] Forked 19491 -(19490) found -(19491) found -[18279] Forked 19492 -[18278] Forked 19493 -(19492) found -(19493) found -[18277] Forked 19494 -[18276] Forked 19495 -(19494) found -(19495) found -[18275] Forked 19496 -[18274] Forked 19497 -(19496) found -(19497) found -[18273] Forked 19498 -[18272] Forked 19499 -(19498) found -(19499) found -[18271] Forked 19500 -(19500) found -[18270] Forked 19501 -(19501) found -[18269] Forked 19502 -(19502) found -[18268] Forked 19503 -(19503) found -[18267] Forked 19504 -(19504) found -[18266] Forked 19505 -(19505) found -[18265] Forked 19506 -(19506) found -[18264] Forked 19507 -(19507) found -[18263] Forked 19508 -(19508) found -[18262] Forked 19509 -(19509) found -[18261] Forked 19510 -(19510) found -[18260] Forked 19511 -(19511) found -[18259] Forked 19512 -(19512) found -[18258] Forked 19513 -(19513) found -[18257] Forked 19514 -(19514) found -[18256] Forked 19515 -(19515) found -[18255] Forked 19516 -(19516) found -[18254] Forked 19517 -(19517) found -[18253] Forked 19518 -(19518) found -[18252] Forked 19519 -(19519) found -[18251] Forked 19520 -(19520) found -[18250] Forked 19521 -(19521) found -[18249] Forked 19522 -(19522) found -[18248] Forked 19523 -(19523) found -[18247] Forked 19524 -(19524) found -[18246] Forked 19525 -(19525) found -[18245] Forked 19526 -(19526) found -[18244] Forked 19527 -(19527) found -[18243] Forked 19528 -(19528) found -[18242] Forked 19529 -(19529) found -[18241] Forked 19530 -(19530) found -[18240] Forked 19531 -(19531) found -[18239] Forked 19532 -(19532) found -[18238] Forked 19533 -(19533) found -[18237] Forked 19534 -(19534) found -[18236] Forked 19535 -[18235] Forked 19536 -(19535) found -(19536) found -[18234] Forked 19537 -[18233] Forked 19538 -(19537) found -(19538) found -[18232] Forked 19539 -[18231] Forked 19540 -(19539) found -(19540) found -[18230] Forked 19541 -[18229] Forked 19542 -(19541) found -(19542) found -[18228] Forked 19543 -[18227] Forked 19544 -(19543) found -(19544) found -[18226] Forked 19545 -[18225] Forked 19546 -(19545) found -(19546) found -[18224] Forked 19547 -[18223] Forked 19548 -(19547) found -(19548) found -[18222] Forked 19549 -[18221] Forked 19550 -(19549) found -(19550) found -[18220] Forked 19551 -[18219] Forked 19552 -(19551) found -(19552) found -[18218] Forked 19553 -[18217] Forked 19554 -(19553) found -(19554) found -[18216] Forked 19555 -[18215] Forked 19556 -(19555) found -(19556) found -[18214] Forked 19557 -[18213] Forked 19558 -(19557) found -(19558) found -[18212] Forked 19559 -[18211] Forked 19560 -(19559) found -(19560) found -[18210] Forked 19561 -[18209] Forked 19562 -(19561) found -(19562) found -[18208] Forked 19563 -[18207] Forked 19564 -(19563) found -(19564) found -[18206] Forked 19565 -[18205] Forked 19566 -(19565) found -(19566) found -[18204] Forked 19567 -[18203] Forked 19568 -(19567) found -(19568) found -[18202] Forked 19569 -[18201] Forked 19570 -(19569) found -(19570) found -[18200] Forked 19571 -[18199] Forked 19572 -(19571) found -(19572) found -[18198] Forked 19573 -[18197] Forked 19574 -(19573) found -(19574) found -[18196] Forked 19575 -[18195] Forked 19576 -(19575) found -(19576) found -[18194] Forked 19577 -[18193] Forked 19578 -(19577) found -(19578) found -[18192] Forked 19579 -[18191] Forked 19580 -(19579) found -(19580) found -[18190] Forked 19581 -[18189] Forked 19582 -(19581) found -(19582) found -[18188] Forked 19583 -[18187] Forked 19584 -(19583) found -(19584) found -[18186] Forked 19585 -[18185] Forked 19586 -(19585) found -(19586) found -[18184] Forked 19587 -[18183] Forked 19588 -(19587) found -(19588) found -[18182] Forked 19589 -[18181] Forked 19590 -(19589) found -(19590) found -[18180] Forked 19591 -[18179] Forked 19592 -(19591) found -(19592) found -[18178] Forked 19593 -[18177] Forked 19594 -(19593) found -(19594) found -[18176] Forked 19595 -[18175] Forked 19596 -(19595) found -(19596) found -[18174] Forked 19597 -[18173] Forked 19598 -(19597) found -(19598) found -[18172] Forked 19599 -[18171] Forked 19600 -(19599) found -(19600) found -[18170] Forked 19601 -[18169] Forked 19602 -(19601) found -(19602) found -[18168] Forked 19603 -[18167] Forked 19604 -(19603) found -(19604) found -[18166] Forked 19605 -[18165] Forked 19606 -(19605) found -(19606) found -[18164] Forked 19607 -[18163] Forked 19608 -(19607) found -(19608) found -[18162] Forked 19609 -[18161] Forked 19610 -(19609) found -(19610) found -[18160] Forked 19611 -[18159] Forked 19612 -(19611) found -(19612) found -[18158] Forked 19613 -[18157] Forked 19614 -(19613) found -(19614) found -[18156] Forked 19615 -[18155] Forked 19616 -(19615) found -(19616) found -[18154] Forked 19617 -[18153] Forked 19618 -(19617) found -(19618) found -[18152] Forked 19619 -[18151] Forked 19620 -(19619) found -(19620) found -[18150] Forked 19621 -[18149] Forked 19622 -(19621) found -(19622) found -[18148] Forked 19623 -[18147] Forked 19624 -(19623) found -(19624) found -[18146] Forked 19625 -[18145] Forked 19626 -(19625) found -(19626) found -[18144] Forked 19627 -(19627) found -[18143] Forked 19628 -(19628) found -[18142] Forked 19629 -(19629) found -[18141] Forked 19630 -(19630) found -[18140] Forked 19631 -(19631) found -[18139] Forked 19632 -(19632) found -[18138] Forked 19633 -(19633) found -[18137] Forked 19634 -(19634) found -[18136] Forked 19635 -(19635) found -[18135] Forked 19636 -(19636) found -[18134] Forked 19637 -(19637) found -[18133] Forked 19638 -(19638) found -[18132] Forked 19639 -(19639) found -[18131] Forked 19640 -(19640) found -[18130] Forked 19641 -(19641) found -[18129] Forked 19642 -(19642) found -[18128] Forked 19643 -(19643) found -[18127] Forked 19644 -(19644) found -[18126] Forked 19645 -(19645) found -[18125] Forked 19646 -(19646) found -[18124] Forked 19647 -(19647) found -[18123] Forked 19648 -(19648) found -[18122] Forked 19649 -(19649) found -[18121] Forked 19650 -(19650) found -[18120] Forked 19651 -(19651) found -[18119] Forked 19652 -(19652) found -[18118] Forked 19653 -(19653) found -[18117] Forked 19654 -(19654) found -[18116] Forked 19655 -(19655) found -[18115] Forked 19656 -(19656) found -[18114] Forked 19657 -(19657) found -[18113] Forked 19658 -(19658) found -[18112] Forked 19659 -(19659) found -[18111] Forked 19660 -(19660) found -[18110] Forked 19661 -(19661) found -[18109] Forked 19662 -(19662) found -[18108] Forked 19663 -(19663) found -[18107] Forked 19664 -(19664) found -[18106] Forked 19665 -[18105] Forked 19666 -(19665) found -(19666) found -[18104] Forked 19667 -[18103] Forked 19668 -(19667) found -(19668) found -[18102] Forked 19669 -[18101] Forked 19670 -(19669) found -(19670) found -[18100] Forked 19671 -[18099] Forked 19672 -(19671) found -(19672) found -[18098] Forked 19673 -[18097] Forked 19674 -(19673) found -(19674) found -[18096] Forked 19675 -[18095] Forked 19676 -(19675) found -(19676) found -[18094] Forked 19677 -[18093] Forked 19678 -(19677) found -(19678) found -[18092] Forked 19679 -[18091] Forked 19680 -(19679) found -(19680) found -[18090] Forked 19681 -[18089] Forked 19682 -(19681) found -(19682) found -[18088] Forked 19683 -[18087] Forked 19684 -(19683) found -(19684) found -[18086] Forked 19685 -[18085] Forked 19686 -(19685) found -(19686) found -[18084] Forked 19687 -[18083] Forked 19688 -(19687) found -(19688) found -[18082] Forked 19689 -[18081] Forked 19690 -(19689) found -(19690) found -[18080] Forked 19691 -[18079] Forked 19692 -(19691) found -(19692) found -[18078] Forked 19693 -[18077] Forked 19694 -(19693) found -(19694) found -[18076] Forked 19695 -[18075] Forked 19696 -(19695) found -(19696) found -[18074] Forked 19697 -[18073] Forked 19698 -(19697) found -(19698) found -[18072] Forked 19699 -[18071] Forked 19700 -(19699) found -(19700) found -[18070] Forked 19701 -[18069] Forked 19702 -(19701) found -(19702) found -[18068] Forked 19703 -[18067] Forked 19704 -(19703) found -(19704) found -[18066] Forked 19705 -[18065] Forked 19706 -(19705) found -(19706) found -[18064] Forked 19707 -[18063] Forked 19708 -(19707) found -(19708) found -[18062] Forked 19709 -(19709) found -[18061] Forked 19710 -(19710) found -[18060] Forked 19711 -(19711) found -[18059] Forked 19712 -(19712) found -[18058] Forked 19713 -(19713) found -[18057] Forked 19714 -(19714) found -[18056] Forked 19715 -(19715) found -[18055] Forked 19716 -(19716) found -[18054] Forked 19717 -(19717) found -[18053] Forked 19718 -(19718) found -[18052] Forked 19719 -(19719) found -[18051] Forked 19720 -(19720) found -[18050] Forked 19721 -(19721) found -[18049] Forked 19722 -(19722) found -[18048] Forked 19723 -(19723) found -[18047] Forked 19724 -(19724) found -[18046] Forked 19725 -(19725) found -[18045] Forked 19726 -(19726) found -[18044] Forked 19727 -(19727) found -[18043] Forked 19728 -(19728) found -[18042] Forked 19729 -(19729) found -[18041] Forked 19730 -(19730) found -[18040] Forked 19731 -(19731) found -[18039] Forked 19732 -(19732) found -[18038] Forked 19733 -(19733) found -[18037] Forked 19734 -(19734) found -[18036] Forked 19735 -(19735) found -[18035] Forked 19736 -(19736) found -[18034] Forked 19737 -(19737) found -[18033] Forked 19738 -(19738) found -[18032] Forked 19739 -(19739) found -[18031] Forked 19740 -(19740) found -[18030] Forked 19741 -(19741) found -[18029] Forked 19742 -(19742) found -[18028] Forked 19743 -(19743) found -[18027] Forked 19744 -(19744) found -[18026] Forked 19745 -(19745) found -[18025] Forked 19746 -(19746) found -[18024] Forked 19747 -(19747) found -[18023] Forked 19748 -(19748) found -[18022] Forked 19749 -[18021] Forked 19750 -(19749) found -(19750) found -[18020] Forked 19751 -[18019] Forked 19752 -(19751) found -(19752) found -[18018] Forked 19753 -[18017] Forked 19754 -(19753) found -(19754) found -[18016] Forked 19755 -[18015] Forked 19756 -(19755) found -(19756) found -[18014] Forked 19757 -[18013] Forked 19758 -(19757) found -(19758) found -[18012] Forked 19759 -[18011] Forked 19760 -(19759) found -(19760) found -[18010] Forked 19761 -[18009] Forked 19762 -(19761) found -(19762) found -[18008] Forked 19763 -[18007] Forked 19764 -(19763) found -(19764) found -[18006] Forked 19765 -[18005] Forked 19766 -(19765) found -(19766) found -[18004] Forked 19767 -[18003] Forked 19768 -(19767) found -(19768) found -[18002] Forked 19769 -[18001] Forked 19770 -(19769) found -(19770) found -[18000] Forked 19771 -[17999] Forked 19772 -(19771) found -(19772) found -[17998] Forked 19773 -[17997] Forked 19774 -(19773) found -(19774) found -[17996] Forked 19775 -[17995] Forked 19776 -(19776) found -(19775) found -[17994] Forked 19777 -(19777) found -[17993] Forked 19778 -(19778) found -[17992] Forked 19779 -(19779) found -[17991] Forked 19780 -(19780) found -[17990] Forked 19781 -(19781) found -[17989] Forked 19782 -(19782) found -[17988] Forked 19783 -(19783) found -[17987] Forked 19784 -(19784) found -[17986] Forked 19785 -(19785) found -[17985] Forked 19786 -(19786) found -[17984] Forked 19787 -(19787) found -[17983] Forked 19788 -(19788) found -[17982] Forked 19789 -(19789) found -[17981] Forked 19790 -(19790) found -[17980] Forked 19791 -(19791) found -[17979] Forked 19792 -(19792) found -[17978] Forked 19793 -(19793) found -[17977] Forked 19794 -(19794) found -[17976] Forked 19795 -(19795) found -[17975] Forked 19796 -(19796) found -[17974] Forked 19797 -(19797) found -[17973] Forked 19798 -(19798) found -[17972] Forked 19799 -(19799) found -[17971] Forked 19800 -(19800) found -[17970] Forked 19801 -(19801) found -[17969] Forked 19802 -(19802) found -[17968] Forked 19803 -(19803) found -[17967] Forked 19804 -(19804) found -[17966] Forked 19805 -(19805) found -[17965] Forked 19806 -(19806) found -[17964] Forked 19807 -(19807) found -[17963] Forked 19808 -(19808) found -[17962] Forked 19809 -(19809) found -[17961] Forked 19810 -(19810) found -[17960] Forked 19811 -(19811) found -[17959] Forked 19812 -(19812) found -[17958] Forked 19813 -(19813) found -[17957] Forked 19814 -(19814) found -[17956] Forked 19815 -(19815) found -[17955] Forked 19816 -(19816) found -[17954] Forked 19817 -(19817) found -[17953] Forked 19818 -(19818) found -[17952] Forked 19819 -(19819) found -[17951] Forked 19820 -(19820) found -[17950] Forked 19821 -(19821) found -[17949] Forked 19822 -(19822) found -[17948] Forked 19823 -(19823) found -[17947] Forked 19824 -(19824) found -[17946] Forked 19825 -(19825) found -[17945] Forked 19826 -[17944] Forked 19827 -(19826) found -(19827) found -[17943] Forked 19828 -[17942] Forked 19829 -(19828) found -(19829) found -[17941] Forked 19830 -[17940] Forked 19831 -(19830) found -(19831) found -[17939] Forked 19832 -[17938] Forked 19833 -(19832) found -(19833) found -[17937] Forked 19834 -[17936] Forked 19835 -(19834) found -(19835) found -[17935] Forked 19836 -[17934] Forked 19837 -(19836) found -(19837) found -[17933] Forked 19838 -[17932] Forked 19839 -(19838) found -(19839) found -[17931] Forked 19840 -[17930] Forked 19841 -(19840) found -(19841) found -[17929] Forked 19842 -[17928] Forked 19843 -(19842) found -(19843) found -[17927] Forked 19844 -[17926] Forked 19845 -(19844) found -(19845) found -[17925] Forked 19846 -[17924] Forked 19847 -(19846) found -(19847) found -[17923] Forked 19848 -[17922] Forked 19849 -(19848) found -(19849) found -[17921] Forked 19850 -[17920] Forked 19851 -(19850) found -(19851) found -[17919] Forked 19852 -[17918] Forked 19853 -(19852) found -(19853) found -[17917] Forked 19854 -[17916] Forked 19855 -(19854) found -(19855) found -[17915] Forked 19856 -[17914] Forked 19857 -(19856) found -(19857) found -[17913] Forked 19858 -[17912] Forked 19859 -(19858) found -(19859) found -[17911] Forked 19860 -[17910] Forked 19861 -(19860) found -(19861) found -[17909] Forked 19862 -[17908] Forked 19863 -(19862) found -(19863) found -[17907] Forked 19864 -[17906] Forked 19865 -(19864) found -(19865) found -[17905] Forked 19866 -[17904] Forked 19867 -(19866) found -(19867) found -[17903] Forked 19868 -[17902] Forked 19869 -(19869) found -(19868) found -[17901] Forked 19870 -(19870) found -[17900] Forked 19871 -(19871) found -[17899] Forked 19872 -(19872) found -[17898] Forked 19873 -(19873) found -[17897] Forked 19874 -(19874) found -[17896] Forked 19875 -(19875) found -[17895] Forked 19876 -(19876) found -[17894] Forked 19877 -(19877) found -[17893] Forked 19878 -(19878) found -[17892] Forked 19879 -(19879) found -[17891] Forked 19880 -(19880) found -[17890] Forked 19881 -(19881) found -[17889] Forked 19882 -(19882) found -[17888] Forked 19883 -(19883) found -[17887] Forked 19884 -(19884) found -[17886] Forked 19885 -(19885) found -[17885] Forked 19886 -(19886) found -[17884] Forked 19887 -(19887) found -[17883] Forked 19888 -(19888) found -[17882] Forked 19889 -(19889) found -[17881] Forked 19890 -(19890) found -[17880] Forked 19891 -(19891) found -[17879] Forked 19892 -(19892) found -[17878] Forked 19893 -(19893) found -[17877] Forked 19894 -(19894) found -[17876] Forked 19895 -(19895) found -[17875] Forked 19896 -(19896) found -[17874] Forked 19897 -(19897) found -[17873] Forked 19898 -(19898) found -[17872] Forked 19899 -(19899) found -[17871] Forked 19900 -(19900) found -[17870] Forked 19901 -(19901) found -[17869] Forked 19902 -(19902) found -[17868] Forked 19903 -(19903) found -[17867] Forked 19904 -(19904) found -[17866] Forked 19905 -(19905) found -[17865] Forked 19906 -[17864] Forked 19907 -(19906) found -(19907) found -[17863] Forked 19908 -[17862] Forked 19909 -(19908) found -(19909) found -[17861] Forked 19910 -[17860] Forked 19911 -(19910) found -(19911) found -[17859] Forked 19912 -[17858] Forked 19913 -(19912) found -(19913) found -[17857] Forked 19914 -[17856] Forked 19915 -(19914) found -(19915) found -[17855] Forked 19916 -[17854] Forked 19917 -(19916) found -(19917) found -[17853] Forked 19918 -[17852] Forked 19919 -(19918) found -(19919) found -[17851] Forked 19920 -[17850] Forked 19921 -(19920) found -(19921) found -[17849] Forked 19922 -[17848] Forked 19923 -(19922) found -(19923) found -[17847] Forked 19924 -[17846] Forked 19925 -(19924) found -(19925) found -[17845] Forked 19926 -[17844] Forked 19927 -(19926) found -(19927) found -[17843] Forked 19928 -[17842] Forked 19929 -(19928) found -(19929) found -[17841] Forked 19930 -[17840] Forked 19931 -(19930) found -(19931) found -[17839] Forked 19932 -[17838] Forked 19933 -(19932) found -(19933) found -[17837] Forked 19934 -[17836] Forked 19935 -(19934) found -(19935) found -[17835] Forked 19936 -[17834] Forked 19937 -(19936) found -(19937) found -[17833] Forked 19938 -[17832] Forked 19939 -(19938) found -(19939) found -[17831] Forked 19940 -[17830] Forked 19941 -(19940) found -(19941) found -[17829] Forked 19942 -[17828] Forked 19943 -(19942) found -(19943) found -[17827] Forked 19944 -[17826] Forked 19945 -(19944) found -(19945) found -[17825] Forked 19946 -[17824] Forked 19947 -(19946) found -(19947) found -[17823] Forked 19948 -[17822] Forked 19949 -(19948) found -(19949) found -[17821] Forked 19950 -(19950) found -[17820] Forked 19951 -(19951) found -[17819] Forked 19952 -(19952) found -[17818] Forked 19953 -(19953) found -[17817] Forked 19954 -(19954) found -[17816] Forked 19955 -(19955) found -[17815] Forked 19956 -(19956) found -[17814] Forked 19957 -(19957) found -[17813] Forked 19958 -(19958) found -[17812] Forked 19959 -(19959) found -[17811] Forked 19960 -(19960) found -[17810] Forked 19961 -(19961) found -[17809] Forked 19962 -(19962) found -[17808] Forked 19963 -(19963) found -[17807] Forked 19964 -(19964) found -[17806] Forked 19965 -(19965) found -[17805] Forked 19966 -(19966) found -[17804] Forked 19967 -(19967) found -[17803] Forked 19968 -(19968) found -[17802] Forked 19969 -(19969) found -[17801] Forked 19970 -(19970) found -[17800] Forked 19971 -(19971) found -[17799] Forked 19972 -(19972) found -[17798] Forked 19973 -(19973) found -[17797] Forked 19974 -(19974) found -[17796] Forked 19975 -(19975) found -[17795] Forked 19976 -(19976) found -[17794] Forked 19977 -(19977) found -[17793] Forked 19978 -(19978) found -[17792] Forked 19979 -(19979) found -[17791] Forked 19980 -(19980) found -[17790] Forked 19981 -(19981) found -[17789] Forked 19982 -(19982) found -[17788] Forked 19983 -(19983) found -[17787] Forked 19984 -(19984) found -[17786] Forked 19985 -(19985) found -[17785] Forked 19986 -(19986) found -[17784] Forked 19987 -(19987) found -[17783] Forked 19988 -(19988) found -[17782] Forked 19989 -[17781] Forked 19990 -(19989) found -(19990) found -[17780] Forked 19991 -[17779] Forked 19992 -(19991) found -(19992) found -[17778] Forked 19993 -[17777] Forked 19994 -(19993) found -(19994) found -[17776] Forked 19995 -[17775] Forked 19996 -(19995) found -(19996) found -[17774] Forked 19997 -[17773] Forked 19998 -(19997) found -(19998) found -[17772] Forked 19999 -[17771] Forked 20000 -(19999) found -(20000) found -[17770] Forked 20001 -[17769] Forked 20002 -(20001) found -(20002) found -[17768] Forked 20003 -[17767] Forked 20004 -(20003) found -(20004) found -[17766] Forked 20005 -[17765] Forked 20006 -(20005) found -(20006) found -[17764] Forked 20007 -[17763] Forked 20008 -(20007) found -(20008) found -[17762] Forked 20009 -[17761] Forked 20010 -(20009) found -(20010) found -[17760] Forked 20011 -[17759] Forked 20012 -(20011) found -(20012) found -[17758] Forked 20013 -[17757] Forked 20014 -(20013) found -(20014) found -[17756] Forked 20015 -[17755] Forked 20016 -(20015) found -(20016) found -[17754] Forked 20017 -[17753] Forked 20018 -(20017) found -(20018) found -[17752] Forked 20019 -[17751] Forked 20020 -(20019) found -(20020) found -[17750] Forked 20021 -[17749] Forked 20022 -(20021) found -(20022) found -[17748] Forked 20023 -[17747] Forked 20024 -(20023) found -(20024) found -[17746] Forked 20025 -[17745] Forked 20026 -(20025) found -(20026) found -[17744] Forked 20027 -[17743] Forked 20029 -(20027) found -(20029) found -[17742] Forked 20030 -(20030) found -[17741] Forked 20031 -(20031) found -[17740] Forked 20032 -(20032) found -[17739] Forked 20033 -(20033) found -[17738] Forked 20034 -(20034) found -[17737] Forked 20035 -(20035) found -[17736] Forked 20036 -(20036) found -[17735] Forked 20037 -(20037) found -[17734] Forked 20038 -(20038) found -[17733] Forked 20039 -(20039) found -[17732] Forked 20040 -(20040) found -[17731] Forked 20041 -(20041) found -[17730] Forked 20042 -(20042) found -[17729] Forked 20043 -(20043) found -[17728] Forked 20044 -(20044) found -[17727] Forked 20045 -(20045) found -[17726] Forked 20046 -(20046) found -[17725] Forked 20047 -(20047) found -[17724] Forked 20048 -(20048) found -[17723] Forked 20049 -(20049) found -[17722] Forked 20050 -(20050) found -[17721] Forked 20051 -(20051) found -[17720] Forked 20052 -(20052) found -[17719] Forked 20053 -(20053) found -[17718] Forked 20054 -(20054) found -[17717] Forked 20055 -(20055) found -[17716] Forked 20056 -(20056) found -[17715] Forked 20057 -(20057) found -[17714] Forked 20058 -(20058) found -[17713] Forked 20059 -(20059) found -[17712] Forked 20060 -(20060) found -[17711] Forked 20061 -(20061) found -[17710] Forked 20062 -(20062) found -[17709] Forked 20063 -(20063) found -[17708] Forked 20064 -(20064) found -[17707] Forked 20065 -(20065) found -[17706] Forked 20066 -(20066) found -[17705] Forked 20067 -(20067) found -[17704] Forked 20068 -(20068) found -[17703] Forked 20069 -(20069) found -[17702] Forked 20070 -(20070) found -[17701] Forked 20071 -(20071) found -[17700] Forked 20072 -(20072) found -[17699] Forked 20073 -(20073) found -[17698] Forked 20074 -(20074) found -[17697] Forked 20075 -(20075) found -[17696] Forked 20076 -(20076) found -[17695] Forked 20077 -(20077) found -[17694] Forked 20078 -(20078) found -[17693] Forked 20079 -(20079) found -[17692] Forked 20080 -(20080) found -[17691] Forked 20081 -(20081) found -[17690] Forked 20082 -(20082) found -[17689] Forked 20083 -(20083) found -[17688] Forked 20084 -(20084) found -[17687] Forked 20085 -(20085) found -[17686] Forked 20086 -(20086) found -[17685] Forked 20087 -(20087) found -[17684] Forked 20088 -(20088) found -[17683] Forked 20089 -(20089) found -[17682] Forked 20090 -(20090) found -[17681] Forked 20091 -(20091) found -[17680] Forked 20092 -(20092) found -[17679] Forked 20093 -(20093) found -[17678] Forked 20094 -(20094) found -[17677] Forked 20095 -(20095) found -[17676] Forked 20096 -(20096) found -[17675] Forked 20097 -(20097) found -[17674] Forked 20098 -(20098) found -[17673] Forked 20099 -(20099) found -[17672] Forked 20100 -(20100) found -[17671] Forked 20101 -(20101) found -[17670] Forked 20102 -(20102) found -[17669] Forked 20103 -[17668] Forked 20104 -(20103) found -(20104) found -[17667] Forked 20105 -[17666] Forked 20106 -(20105) found -(20106) found -[17665] Forked 20107 -[17664] Forked 20108 -(20107) found -(20108) found -[17663] Forked 20109 -[17662] Forked 20110 -(20109) found -(20110) found -[17661] Forked 20111 -[17660] Forked 20112 -(20111) found -(20112) found -[17659] Forked 20113 -[17658] Forked 20114 -(20113) found -(20114) found -[17657] Forked 20115 -[17656] Forked 20116 -(20115) found -(20116) found -[17655] Forked 20117 -[17654] Forked 20118 -(20117) found -(20118) found -[17653] Forked 20119 -[17652] Forked 20120 -(20119) found -(20120) found -[17651] Forked 20121 -[17650] Forked 20122 -(20121) found -(20122) found -[17649] Forked 20123 -[17648] Forked 20124 -(20123) found -(20124) found -[17647] Forked 20125 -[17646] Forked 20126 -(20125) found -(20126) found -[17645] Forked 20127 -[17644] Forked 20128 -(20127) found -(20128) found -[17643] Forked 20129 -[17642] Forked 20130 -(20129) found -(20130) found -[17641] Forked 20131 -[17640] Forked 20132 -(20131) found -(20132) found -[17639] Forked 20133 -[17638] Forked 20134 -(20133) found -(20134) found -[17637] Forked 20135 -[17636] Forked 20136 -(20135) found -(20136) found -[17635] Forked 20137 -[17634] Forked 20138 -(20137) found -(20138) found -[17633] Forked 20139 -[17632] Forked 20140 -(20139) found -(20140) found -[17631] Forked 20141 -[17630] Forked 20142 -(20141) found -(20142) found -[17629] Forked 20143 -[17628] Forked 20144 -(20143) found -(20144) found -[17627] Forked 20145 -[17626] Forked 20146 -(20145) found -(20146) found -[17625] Forked 20147 -[17624] Forked 20148 -(20147) found -(20148) found -[17623] Forked 20149 -[17622] Forked 20150 -(20150) found -(20149) found -[17621] Forked 20151 -(20151) found -[17620] Forked 20152 -(20152) found -[17619] Forked 20153 -(20153) found -[17618] Forked 20154 -(20154) found -[17617] Forked 20155 -(20155) found -[17616] Forked 20156 -(20156) found -[17615] Forked 20157 -(20157) found -[17614] Forked 20158 -(20158) found -[17613] Forked 20159 -(20159) found -[17612] Forked 20160 -(20160) found -[17611] Forked 20161 -(20161) found -[17610] Forked 20162 -(20162) found -[17609] Forked 20163 -(20163) found -[17608] Forked 20164 -(20164) found -[17607] Forked 20165 -(20165) found -[17606] Forked 20166 -(20166) found -[17605] Forked 20167 -(20167) found -[17604] Forked 20168 -(20168) found -[17603] Forked 20169 -(20169) found -[17602] Forked 20170 -(20170) found -[17601] Forked 20171 -(20171) found -[17600] Forked 20172 -(20172) found -[17599] Forked 20173 -(20173) found -[17598] Forked 20174 -(20174) found -[17597] Forked 20175 -(20175) found -[17596] Forked 20176 -(20176) found -[17595] Forked 20177 -(20177) found -[17594] Forked 20178 -(20178) found -[17593] Forked 20179 -(20179) found -[17592] Forked 20180 -(20180) found -[17591] Forked 20181 -(20181) found -[17590] Forked 20182 -(20182) found -[17589] Forked 20183 -(20183) found -[17588] Forked 20184 -(20184) found -[17587] Forked 20185 -(20185) found -[17586] Forked 20186 -(20186) found -[17585] Forked 20187 -(20187) found -[17584] Forked 20188 -(20188) found -[17583] Forked 20189 -(20189) found -[17582] Forked 20190 -(20190) found -[17581] Forked 20191 -(20191) found -[17580] Forked 20192 -(20192) found -[17579] Forked 20193 -(20193) found -[17578] Forked 20194 -(20194) found -[17577] Forked 20195 -(20195) found -[17576] Forked 20196 -(20196) found -[17575] Forked 20197 -(20197) found -[17574] Forked 20198 -(20198) found -[17573] Forked 20199 -(20199) found -[17572] Forked 20200 -(20200) found -[17571] Forked 20201 -[17570] Forked 20202 -(20201) found -(20202) found -[17569] Forked 20203 -[17568] Forked 20204 -(20203) found -(20204) found -[17567] Forked 20205 -[17566] Forked 20206 -(20205) found -(20206) found -[17565] Forked 20207 -(20207) found -[17564] Forked 20208 -(20208) found -[17563] Forked 20209 -(20209) found -[17562] Forked 20210 -(20210) found -[17561] Forked 20211 -(20211) found -[17560] Forked 20212 -(20212) found -[17559] Forked 20213 -(20213) found -[17558] Forked 20214 -(20214) found -[17557] Forked 20215 -(20215) found -[17556] Forked 20216 -(20216) found -[17555] Forked 20217 -(20217) found -[17554] Forked 20218 -(20218) found -[17553] Forked 20219 -(20219) found -[17552] Forked 20220 -(20220) found -[17551] Forked 20221 -(20221) found -[17550] Forked 20222 -(20222) found -[17549] Forked 20223 -(20223) found -[17548] Forked 20224 -(20224) found -[17547] Forked 20225 -(20225) found -[17546] Forked 20226 -(20226) found -[17545] Forked 20227 -(20227) found -[17544] Forked 20228 -(20228) found -[17543] Forked 20229 -(20229) found -[17542] Forked 20230 -(20230) found -[17541] Forked 20231 -(20231) found -[17540] Forked 20232 -(20232) found -[17539] Forked 20233 -(20233) found -[17538] Forked 20234 -(20234) found -[17537] Forked 20235 -(20235) found -[17536] Forked 20236 -(20236) found -[17535] Forked 20237 -(20237) found -[17534] Forked 20238 -(20238) found -[17533] Forked 20239 -(20239) found -[17532] Forked 20240 -(20240) found -[17531] Forked 20241 -(20241) found -[17530] Forked 20242 -[17529] Forked 20243 -(20242) found -(20243) found -[17528] Forked 20244 -[17527] Forked 20245 -(20244) found -(20245) found -[17526] Forked 20246 -[17525] Forked 20247 -(20246) found -(20247) found -[17524] Forked 20248 -[17523] Forked 20249 -(20248) found -(20249) found -[17522] Forked 20250 -[17521] Forked 20251 -(20250) found -(20251) found -[17520] Forked 20252 -[17519] Forked 20253 -(20252) found -(20253) found -[17518] Forked 20254 -[17517] Forked 20255 -(20254) found -(20255) found -[17516] Forked 20256 -[17515] Forked 20257 -(20256) found -(20257) found -[17514] Forked 20258 -[17513] Forked 20259 -(20258) found -(20259) found -[17512] Forked 20260 -[17511] Forked 20261 -(20260) found -(20261) found -[17510] Forked 20262 -[17509] Forked 20263 -(20262) found -(20263) found -[17508] Forked 20264 -[17507] Forked 20265 -(20264) found -(20265) found -[17506] Forked 20266 -[17505] Forked 20267 -(20266) found -(20267) found -[17504] Forked 20268 -[17503] Forked 20269 -(20268) found -(20269) found -[17502] Forked 20270 -[17501] Forked 20271 -(20270) found -(20271) found -[17500] Forked 20272 -[17499] Forked 20273 -(20272) found -(20273) found -[17498] Forked 20274 -[17497] Forked 20275 -(20274) found -(20275) found -[17496] Forked 20276 -[17495] Forked 20277 -(20276) found -(20277) found -[17494] Forked 20278 -[17493] Forked 20279 -(20278) found -(20279) found -[17492] Forked 20280 -[17491] Forked 20281 -(20280) found -(20281) found -[17490] Forked 20282 -[17489] Forked 20283 -(20282) found -(20283) found -[17488] Forked 20284 -[17487] Forked 20285 -(20284) found -(20285) found -[17486] Forked 20286 -[17485] Forked 20287 -(20286) found -(20287) found -[17484] Forked 20288 -[17483] Forked 20289 -(20288) found -(20289) found -[17482] Forked 20290 -[17481] Forked 20291 -(20290) found -(20291) found -[17480] Forked 20292 -[17479] Forked 20293 -(20292) found -(20293) found -[17478] Forked 20294 -[17477] Forked 20295 -(20294) found -(20295) found -[17476] Forked 20296 -[17475] Forked 20297 -(20296) found -(20297) found -[17474] Forked 20298 -[17473] Forked 20299 -(20298) found -(20299) found -[17472] Forked 20300 -[17471] Forked 20301 -(20300) found -(20301) found -[17470] Forked 20302 -[17469] Forked 20303 -(20302) found -(20303) found -[17468] Forked 20304 -[17467] Forked 20305 -(20304) found -(20305) found -[17466] Forked 20306 -[17465] Forked 20307 -(20306) found -(20307) found -[17464] Forked 20308 -[17463] Forked 20309 -(20308) found -(20309) found -[17462] Forked 20310 -[17461] Forked 20311 -(20310) found -(20311) found -[17460] Forked 20312 -[17459] Forked 20313 -(20312) found -(20313) found -[17458] Forked 20314 -[17457] Forked 20315 -(20314) found -(20315) found -[17456] Forked 20316 -[17455] Forked 20317 -(20316) found -(20317) found -[17454] Forked 20318 -[17453] Forked 20319 -(20318) found -(20319) found -[17452] Forked 20320 -[17451] Forked 20321 -(20320) found -(20321) found -[17450] Forked 20322 -[17449] Forked 20323 -(20322) found -(20323) found -[17448] Forked 20324 -[17447] Forked 20325 -(20324) found -(20325) found -[17446] Forked 20326 -[17445] Forked 20327 -(20326) found -(20327) found -[17444] Forked 20328 -[17443] Forked 20329 -(20328) found -(20329) found -[17442] Forked 20330 -[17441] Forked 20331 -(20330) found -(20331) found -[17440] Forked 20332 -[17439] Forked 20333 -(20332) found -(20333) found -[17438] Forked 20334 -(20334) found -[17437] Forked 20335 -(20335) found -[17436] Forked 20336 -(20336) found -[17435] Forked 20337 -(20337) found -[17434] Forked 20338 -(20338) found -[17433] Forked 20339 -(20339) found -[17432] Forked 20340 -(20340) found -[17431] Forked 20341 -(20341) found -[17430] Forked 20342 -(20342) found -[17429] Forked 20343 -(20343) found -[17428] Forked 20344 -(20344) found -[17427] Forked 20345 -(20345) found -[17426] Forked 20346 -(20346) found -[17425] Forked 20347 -(20347) found -[17424] Forked 20348 -(20348) found -[17423] Forked 20349 -(20349) found -[17422] Forked 20350 -(20350) found -[17421] Forked 20351 -(20351) found -[17420] Forked 20352 -(20352) found -[17419] Forked 20353 -(20353) found -[17418] Forked 20354 -(20354) found -[17417] Forked 20355 -(20355) found -[17416] Forked 20356 -(20356) found -[17415] Forked 20357 -(20357) found -[17414] Forked 20358 -(20358) found -[17413] Forked 20359 -(20359) found -[17412] Forked 20360 -(20360) found -[17411] Forked 20361 -(20361) found -[17410] Forked 20362 -(20362) found -[17409] Forked 20363 -(20363) found -[17408] Forked 20364 -(20364) found -[17407] Forked 20365 -(20365) found -[17406] Forked 20366 -(20366) found -[17405] Forked 20367 -(20367) found -[17404] Forked 20368 -(20368) found -[17403] Forked 20369 -(20369) found -[17402] Forked 20370 -(20370) found -[17401] Forked 20371 -(20371) found -[17400] Forked 20372 -(20372) found -[17399] Forked 20373 -[17398] Forked 20374 -(20373) found -(20374) found -[17397] Forked 20375 -[17396] Forked 20376 -(20375) found -(20376) found -[17395] Forked 20377 -[17394] Forked 20378 -(20377) found -(20378) found -[17393] Forked 20379 -[17392] Forked 20380 -(20379) found -(20380) found -[17391] Forked 20381 -[17390] Forked 20382 -(20381) found -(20382) found -[17389] Forked 20383 -[17388] Forked 20384 -(20383) found -(20384) found -[17387] Forked 20385 -[17386] Forked 20386 -(20385) found -(20386) found -[17385] Forked 20387 -[17384] Forked 20388 -(20387) found -(20388) found -[17383] Forked 20389 -[17382] Forked 20390 -(20389) found -(20390) found -[17381] Forked 20391 -[17380] Forked 20392 -(20391) found -(20392) found -[17379] Forked 20393 -[17378] Forked 20394 -(20393) found -(20394) found -[17377] Forked 20395 -[17376] Forked 20396 -(20395) found -(20396) found -[17375] Forked 20397 -[17374] Forked 20398 -(20397) found -(20398) found -[17373] Forked 20399 -[17372] Forked 20400 -(20399) found -(20400) found -[17371] Forked 20401 -[17370] Forked 20402 -(20401) found -(20402) found -[17369] Forked 20403 -[17368] Forked 20404 -(20403) found -(20404) found -[17367] Forked 20405 -[17366] Forked 20406 -(20405) found -(20406) found -[17365] Forked 20407 -[17364] Forked 20408 -(20407) found -(20408) found -[17363] Forked 20409 -[17362] Forked 20410 -(20409) found -(20410) found -[17361] Forked 20411 -[17360] Forked 20412 -(20411) found -(20412) found -[17359] Forked 20413 -[17358] Forked 20414 -(20413) found -(20414) found -[17357] Forked 20415 -[17356] Forked 20416 -(20415) found -(20416) found -[17355] Forked 20417 -(20417) found -[17354] Forked 20418 -(20418) found -[17353] Forked 20419 -(20419) found -[17352] Forked 20420 -(20420) found -[17351] Forked 20421 -(20421) found -[17350] Forked 20422 -(20422) found -[17349] Forked 20423 -(20423) found -[17348] Forked 20424 -(20424) found -[17347] Forked 20425 -(20425) found -[17346] Forked 20426 -(20426) found -[17345] Forked 20427 -(20427) found -[17344] Forked 20428 -(20428) found -[17343] Forked 20429 -(20429) found -[17342] Forked 20430 -(20430) found -[17341] Forked 20431 -(20431) found -[17340] Forked 20432 -(20432) found -[17339] Forked 20433 -(20433) found -[17338] Forked 20434 -(20434) found -[17337] Forked 20435 -(20435) found -[17336] Forked 20436 -(20436) found -[17335] Forked 20437 -(20437) found -[17334] Forked 20438 -(20438) found -[17333] Forked 20439 -(20439) found -[17332] Forked 20440 -(20440) found -[17331] Forked 20441 -(20441) found -[17330] Forked 20442 -(20442) found -[17329] Forked 20443 -(20443) found -[17328] Forked 20444 -(20444) found -[17327] Forked 20445 -(20445) found -[17326] Forked 20446 -(20446) found -[17325] Forked 20447 -(20447) found -[17324] Forked 20448 -(20448) found -[17323] Forked 20449 -(20449) found -[17322] Forked 20450 -(20450) found -[17321] Forked 20451 -(20451) found -[17320] Forked 20452 -(20452) found -[17319] Forked 20453 -(20453) found -[17318] Forked 20454 -(20454) found -[17317] Forked 20455 -(20455) found -[17316] Forked 20456 -[17315] Forked 20457 -(20456) found -(20457) found -[17314] Forked 20458 -[17313] Forked 20459 -(20458) found -(20459) found -[17312] Forked 20460 -[17311] Forked 20461 -(20460) found -(20461) found -[17310] Forked 20462 -[17309] Forked 20463 -(20462) found -(20463) found -[17308] Forked 20464 -[17307] Forked 20465 -(20464) found -(20465) found -[17306] Forked 20466 -[17305] Forked 20467 -(20466) found -(20467) found -[17304] Forked 20468 -[17303] Forked 20469 -(20468) found -(20469) found -[17302] Forked 20470 -[17301] Forked 20471 -(20470) found -(20471) found -[17300] Forked 20472 -[17299] Forked 20473 -(20472) found -(20473) found -[17298] Forked 20474 -[17297] Forked 20475 -(20474) found -(20475) found -[17296] Forked 20476 -[17295] Forked 20477 -(20476) found -(20477) found -[17294] Forked 20478 -[17293] Forked 20479 -(20478) found -(20479) found -[17292] Forked 20480 -[17291] Forked 20481 -(20480) found -(20481) found -[17290] Forked 20482 -[17289] Forked 20483 -(20482) found -(20483) found -[17288] Forked 20484 -[17287] Forked 20485 -(20484) found -(20485) found -[17286] Forked 20486 -[17285] Forked 20487 -(20486) found -(20487) found -[17284] Forked 20488 -[17283] Forked 20489 -(20488) found -(20489) found -[17282] Forked 20490 -[17281] Forked 20491 -(20490) found -(20491) found -[17280] Forked 20492 -[17279] Forked 20493 -(20492) found -(20493) found -[17278] Forked 20494 -(20494) found -[17277] Forked 20495 -[17276] Forked 20496 -(20495) found -(20496) found -[17275] Forked 20497 -[17274] Forked 20498 -(20497) found -(20498) found -[17273] Forked 20499 -(20499) found -[17272] Forked 20500 -(20500) found -[17271] Forked 20501 -(20501) found -[17270] Forked 20502 -(20502) found -[17269] Forked 20503 -(20503) found -[17268] Forked 20504 -(20504) found -[17267] Forked 20505 -(20505) found -[17266] Forked 20506 -(20506) found -[17265] Forked 20507 -(20507) found -[17264] Forked 20508 -(20508) found -[17263] Forked 20509 -(20509) found -[17262] Forked 20510 -(20510) found -[17261] Forked 20511 -(20511) found -[17260] Forked 20512 -(20512) found -[17259] Forked 20513 -(20513) found -[17258] Forked 20514 -(20514) found -[17257] Forked 20515 -(20515) found -[17256] Forked 20516 -(20516) found -[17255] Forked 20517 -(20517) found -[17254] Forked 20518 -(20518) found -[17253] Forked 20519 -(20519) found -[17252] Forked 20520 -(20520) found -[17251] Forked 20521 -(20521) found -[17250] Forked 20522 -(20522) found -[17249] Forked 20523 -(20523) found -[17248] Forked 20524 -(20524) found -[17247] Forked 20525 -(20525) found -[17246] Forked 20526 -(20526) found -[17245] Forked 20527 -(20527) found -[17244] Forked 20528 -(20528) found -[17243] Forked 20529 -(20529) found -[17242] Forked 20530 -(20530) found -[17241] Forked 20531 -(20531) found -[17240] Forked 20532 -(20532) found -[17239] Forked 20533 -(20533) found -[17238] Forked 20534 -(20534) found -[17237] Forked 20535 -(20535) found -[17236] Forked 20536 -(20536) found -[17235] Forked 20537 -(20537) found -[17234] Forked 20538 -[17233] Forked 20539 -(20538) found -(20539) found -[17232] Forked 20540 -[17231] Forked 20541 -(20540) found -(20541) found -[17230] Forked 20542 -[17229] Forked 20543 -(20542) found -(20543) found -[17228] Forked 20544 -[17227] Forked 20545 -(20544) found -(20545) found -[17226] Forked 20546 -[17225] Forked 20547 -(20546) found -(20547) found -[17224] Forked 20548 -[17223] Forked 20549 -(20548) found -(20549) found -[17222] Forked 20550 -[17221] Forked 20551 -(20550) found -(20551) found -[17220] Forked 20552 -[17219] Forked 20553 -(20552) found -(20553) found -[17218] Forked 20554 -[17217] Forked 20555 -(20554) found -(20555) found -[17216] Forked 20556 -[17215] Forked 20557 -(20556) found -(20557) found -[17214] Forked 20558 -[17213] Forked 20559 -(20558) found -(20559) found -[17212] Forked 20560 -[17211] Forked 20561 -(20560) found -(20561) found -[17210] Forked 20562 -[17209] Forked 20563 -(20562) found -(20563) found -[17208] Forked 20564 -[17207] Forked 20565 -(20564) found -(20565) found -[17206] Forked 20566 -[17205] Forked 20567 -(20566) found -(20567) found -[17204] Forked 20568 -[17203] Forked 20569 -(20568) found -(20569) found -[17202] Forked 20570 -[17201] Forked 20571 -(20570) found -(20571) found -[17200] Forked 20572 -[17199] Forked 20573 -(20572) found -(20573) found -[17198] Forked 20574 -[17197] Forked 20575 -(20574) found -(20575) found -[17196] Forked 20576 -[17195] Forked 20577 -(20576) found -(20577) found -[17194] Forked 20578 -[17193] Forked 20579 -(20578) found -(20579) found -[17192] Forked 20580 -[17191] Forked 20581 -(20580) found -(20581) found -[17190] Forked 20582 -[17189] Forked 20583 -(20582) found -(20583) found -[17188] Forked 20584 -[17187] Forked 20585 -(20584) found -(20585) found -[17186] Forked 20586 -[17185] Forked 20587 -(20586) found -(20587) found -[17184] Forked 20588 -[17183] Forked 20589 -(20588) found -(20589) found -[17182] Forked 20590 -[17181] Forked 20591 -(20590) found -(20591) found -[17180] Forked 20592 -[17179] Forked 20593 -(20592) found -(20593) found -[17178] Forked 20594 -[17177] Forked 20595 -(20594) found -(20595) found -[17176] Forked 20596 -[17175] Forked 20597 -(20596) found -(20597) found -[17174] Forked 20598 -[17173] Forked 20599 -(20598) found -(20599) found -[17172] Forked 20600 -[17171] Forked 20601 -(20600) found -(20601) found -[17170] Forked 20602 -[17169] Forked 20603 -(20602) found -(20603) found -[17168] Forked 20604 -[17167] Forked 20605 -(20604) found -(20605) found -[17166] Forked 20606 -[17165] Forked 20607 -(20606) found -(20607) found -[17164] Forked 20608 -[17163] Forked 20609 -(20608) found -(20609) found -[17162] Forked 20610 -[17161] Forked 20611 -(20610) found -(20611) found -[17160] Forked 20612 -[17159] Forked 20613 -(20612) found -(20613) found -[17158] Forked 20614 -[17157] Forked 20615 -(20614) found -(20615) found -[17156] Forked 20616 -[17155] Forked 20617 -(20616) found -(20617) found -[17154] Forked 20618 -[17153] Forked 20619 -(20618) found -(20619) found -[17152] Forked 20620 -[17151] Forked 20621 -(20620) found -(20621) found -[17150] Forked 20622 -[17149] Forked 20623 -(20622) found -(20623) found -[17148] Forked 20624 -[17147] Forked 20625 -(20624) found -(20625) found -[17146] Forked 20626 -[17145] Forked 20627 -(20626) found -(20627) found -[17144] Forked 20628 -[17143] Forked 20629 -(20628) found -(20629) found -[17142] Forked 20630 -(20630) found -[17141] Forked 20631 -(20631) found -[17140] Forked 20632 -(20632) found -[17139] Forked 20633 -(20633) found -[17138] Forked 20634 -(20634) found -[17137] Forked 20635 -(20635) found -[17136] Forked 20636 -(20636) found -[17135] Forked 20637 -(20637) found -[17134] Forked 20638 -(20638) found -[17133] Forked 20639 -(20639) found -[17132] Forked 20640 -(20640) found -[17131] Forked 20641 -(20641) found -[17130] Forked 20642 -(20642) found -[17129] Forked 20643 -(20643) found -[17128] Forked 20644 -(20644) found -[17127] Forked 20645 -(20645) found -[17126] Forked 20646 -(20646) found -[17125] Forked 20647 -(20647) found -[17124] Forked 20648 -(20648) found -[17123] Forked 20649 -(20649) found -[17122] Forked 20650 -(20650) found -[17121] Forked 20651 -(20651) found -[17120] Forked 20652 -(20652) found -[17119] Forked 20653 -(20653) found -[17118] Forked 20654 -(20654) found -[17117] Forked 20655 -(20655) found -[17116] Forked 20656 -(20656) found -[17115] Forked 20657 -(20657) found -[17114] Forked 20658 -(20658) found -[17113] Forked 20659 -(20659) found -[17112] Forked 20660 -(20660) found -[17111] Forked 20661 -(20661) found -[17110] Forked 20662 -(20662) found -[17109] Forked 20663 -(20663) found -[17108] Forked 20664 -[17107] Forked 20665 -(20664) found -(20665) found -[17106] Forked 20666 -[17105] Forked 20667 -(20666) found -(20667) found -[17104] Forked 20668 -[17103] Forked 20669 -(20668) found -(20669) found -[17102] Forked 20670 -[17101] Forked 20671 -(20670) found -(20671) found -[17100] Forked 20672 -[17099] Forked 20673 -(20672) found -(20673) found -[17098] Forked 20674 -[17097] Forked 20675 -(20674) found -(20675) found -[17096] Forked 20676 -[17095] Forked 20677 -(20676) found -(20677) found -[17094] Forked 20678 -[17093] Forked 20679 -(20678) found -(20679) found -[17092] Forked 20680 -[17091] Forked 20681 -(20680) found -(20681) found -[17090] Forked 20682 -[17089] Forked 20683 -(20682) found -(20683) found -[17088] Forked 20684 -[17087] Forked 20685 -(20684) found -(20685) found -[17086] Forked 20686 -[17085] Forked 20687 -(20686) found -(20687) found -[17084] Forked 20688 -[17083] Forked 20689 -(20688) found -(20689) found -[17082] Forked 20690 -[17081] Forked 20691 -(20690) found -(20691) found -[17080] Forked 20692 -[17079] Forked 20693 -(20692) found -(20693) found -[17078] Forked 20694 -[17077] Forked 20695 -(20694) found -(20695) found -[17076] Forked 20696 -[17075] Forked 20697 -(20696) found -(20697) found -[17074] Forked 20698 -[17073] Forked 20699 -(20698) found -(20699) found -[17072] Forked 20700 -[17071] Forked 20701 -(20700) found -(20701) found -[17070] Forked 20702 -[17069] Forked 20703 -(20702) found -(20703) found -[17068] Forked 20704 -[17067] Forked 20706 -(20704) found -(20706) found -[17066] Forked 20707 -(20707) found -[17065] Forked 20708 -(20708) found -[17064] Forked 20709 -(20709) found -[17063] Forked 20710 -(20710) found -[17062] Forked 20711 -(20711) found -[17061] Forked 20712 -(20712) found -[17060] Forked 20713 -(20713) found -[17059] Forked 20714 -(20714) found -[17058] Forked 20715 -(20715) found -[17057] Forked 20716 -(20716) found -[17056] Forked 20717 -(20717) found -[17055] Forked 20718 -(20718) found -[17054] Forked 20719 -(20719) found -[17053] Forked 20720 -(20720) found -[17052] Forked 20721 -(20721) found -[17051] Forked 20722 -(20722) found -[17050] Forked 20723 -(20723) found -[17049] Forked 20724 -(20724) found -[17048] Forked 20725 -(20725) found -[17047] Forked 20726 -(20726) found -[17046] Forked 20727 -(20727) found -[17045] Forked 20728 -(20728) found -[17044] Forked 20729 -(20729) found -[17043] Forked 20730 -(20730) found -[17042] Forked 20731 -(20731) found -[17041] Forked 20732 -(20732) found -[17040] Forked 20733 -(20733) found -[17039] Forked 20734 -(20734) found -[17038] Forked 20735 -(20735) found -[17037] Forked 20736 -(20736) found -[17036] Forked 20737 -(20737) found -[17035] Forked 20738 -(20738) found -[17034] Forked 20739 -(20739) found -[17033] Forked 20740 -(20740) found -[17032] Forked 20741 -(20741) found -[17031] Forked 20742 -(20742) found -[17030] Forked 20743 -(20743) found -[17029] Forked 20744 -(20744) found -[17028] Forked 20745 -(20745) found -[17027] Forked 20746 -(20746) found -[17026] Forked 20747 -(20747) found -[17025] Forked 20748 -(20748) found -[17024] Forked 20749 -(20749) found -[17023] Forked 20750 -(20750) found -[17022] Forked 20751 -(20751) found -[17021] Forked 20752 -(20752) found -[17020] Forked 20753 -(20753) found -[17019] Forked 20754 -(20754) found -[17018] Forked 20755 -(20755) found -[17017] Forked 20756 -(20756) found -[17016] Forked 20757 -(20757) found -[17015] Forked 20758 -(20758) found -[17014] Forked 20759 -(20759) found -[17013] Forked 20760 -(20760) found -[17012] Forked 20761 -(20761) found -[17011] Forked 20762 -(20762) found -[17010] Forked 20763 -(20763) found -[17009] Forked 20764 -(20764) found -[17008] Forked 20765 -(20765) found -[17007] Forked 20766 -(20766) found -[17006] Forked 20767 -(20767) found -[17005] Forked 20768 -(20768) found -[17004] Forked 20769 -(20769) found -[17003] Forked 20770 -(20770) found -[17002] Forked 20771 -(20771) found -[17001] Forked 20772 -(20772) found -[17000] Forked 20773 -(20773) found -[16999] Forked 20774 -(20774) found -[16998] Forked 20775 -(20775) found -[16997] Forked 20776 -(20776) found -[16996] Forked 20777 -(20777) found -[16995] Forked 20778 -(20778) found -[16994] Forked 20779 -(20779) found -[16993] Forked 20780 -(20780) found -[16992] Forked 20781 -(20781) found -[16991] Forked 20782 -[16990] Forked 20783 -(20782) found -(20783) found -[16989] Forked 20784 -[16988] Forked 20785 -(20784) found -(20785) found -[16987] Forked 20786 -[16986] Forked 20787 -(20786) found -(20787) found -[16985] Forked 20788 -[16984] Forked 20789 -(20788) found -(20789) found -[16983] Forked 20790 -[16982] Forked 20791 -(20790) found -(20791) found -[16981] Forked 20792 -[16980] Forked 20793 -(20792) found -(20793) found -[16979] Forked 20794 -[16978] Forked 20795 -(20794) found -(20795) found -[16977] Forked 20796 -[16976] Forked 20797 -(20796) found -(20797) found -[16975] Forked 20798 -[16974] Forked 20799 -(20798) found -(20799) found -[16973] Forked 20800 -[16972] Forked 20801 -(20800) found -(20801) found -[16971] Forked 20802 -[16970] Forked 20803 -(20802) found -(20803) found -[16969] Forked 20804 -[16968] Forked 20805 -(20804) found -(20805) found -[16967] Forked 20806 -[16966] Forked 20807 -(20806) found -(20807) found -[16965] Forked 20808 -[16964] Forked 20809 -(20808) found -(20809) found -[16963] Forked 20810 -[16962] Forked 20811 -(20810) found -(20811) found -[16961] Forked 20812 -[16960] Forked 20813 -(20812) found -(20813) found -[16959] Forked 20814 -[16958] Forked 20815 -(20814) found -(20815) found -[16957] Forked 20816 -[16956] Forked 20817 -(20816) found -(20817) found -[16955] Forked 20818 -[16954] Forked 20819 -(20818) found -(20819) found -[16953] Forked 20820 -[16952] Forked 20821 -(20820) found -(20821) found -[16951] Forked 20822 -[16950] Forked 20823 -(20822) found -(20823) found -[16949] Forked 20824 -(20824) found -[16948] Forked 20825 -(20825) found -[16947] Forked 20826 -(20826) found -[16946] Forked 20827 -(20827) found -[16945] Forked 20828 -(20828) found -[16944] Forked 20829 -(20829) found -[16943] Forked 20830 -(20830) found -[16942] Forked 20831 -(20831) found -[16941] Forked 20832 -(20832) found -[16940] Forked 20833 -(20833) found -[16939] Forked 20834 -(20834) found -[16938] Forked 20835 -(20835) found -[16937] Forked 20836 -(20836) found -[16936] Forked 20837 -(20837) found -[16935] Forked 20838 -(20838) found -[16934] Forked 20839 -(20839) found -[16933] Forked 20840 -(20840) found -[16932] Forked 20841 -(20841) found -[16931] Forked 20842 -(20842) found -[16930] Forked 20843 -(20843) found -[16929] Forked 20844 -(20844) found -[16928] Forked 20845 -(20845) found -[16927] Forked 20846 -(20846) found -[16926] Forked 20847 -(20847) found -[16925] Forked 20848 -(20848) found -[16924] Forked 20849 -(20849) found -[16923] Forked 20850 -(20850) found -[16922] Forked 20851 -(20851) found -[16921] Forked 20852 -(20852) found -[16920] Forked 20853 -(20853) found -[16919] Forked 20854 -(20854) found -[16918] Forked 20855 -(20855) found -[16917] Forked 20856 -(20856) found -[16916] Forked 20857 -(20857) found -[16915] Forked 20858 -(20858) found -[16914] Forked 20859 -(20859) found -[16913] Forked 20860 -[16912] Forked 20861 -(20860) found -(20861) found -[16911] Forked 20862 -[16910] Forked 20863 -(20862) found -(20863) found -[16909] Forked 20864 -[16908] Forked 20865 -(20865) found -(20864) found -[16907] Forked 20866 -(20866) found -[16906] Forked 20867 -(20867) found -[16905] Forked 20868 -(20868) found -[16904] Forked 20869 -(20869) found -[16903] Forked 20870 -(20870) found -[16902] Forked 20871 -(20871) found -[16901] Forked 20872 -(20872) found -[16900] Forked 20873 -(20873) found -[16899] Forked 20874 -(20874) found -[16898] Forked 20875 -(20875) found -[16897] Forked 20876 -(20876) found -[16896] Forked 20877 -(20877) found -[16895] Forked 20878 -(20878) found -[16894] Forked 20879 -(20879) found -[16893] Forked 20880 -(20880) found -[16892] Forked 20881 -(20881) found -[16891] Forked 20882 -(20882) found -[16890] Forked 20883 -(20883) found -[16889] Forked 20884 -(20884) found -[16888] Forked 20885 -(20885) found -[16887] Forked 20886 -(20886) found -[16886] Forked 20887 -(20887) found -[16885] Forked 20888 -(20888) found -[16884] Forked 20889 -(20889) found -[16883] Forked 20890 -(20890) found -[16882] Forked 20891 -(20891) found -[16881] Forked 20892 -(20892) found -[16880] Forked 20893 -(20893) found -[16879] Forked 20894 -(20894) found -[16878] Forked 20895 -(20895) found -[16877] Forked 20896 -(20896) found -[16876] Forked 20897 -(20897) found -[16875] Forked 20898 -(20898) found -[16874] Forked 20899 -(20899) found -[16873] Forked 20900 -(20900) found -[16872] Forked 20901 -(20901) found -[16871] Forked 20902 -(20902) found -[16870] Forked 20903 -(20903) found -[16869] Forked 20904 -(20904) found -[16868] Forked 20905 -(20905) found -[16867] Forked 20906 -(20906) found -[16866] Forked 20907 -(20907) found -[16865] Forked 20908 -(20908) found -[16864] Forked 20909 -(20909) found -[16863] Forked 20910 -(20910) found -[16862] Forked 20911 -(20911) found -[16861] Forked 20912 -(20912) found -[16860] Forked 20913 -(20913) found -[16859] Forked 20914 -(20914) found -[16858] Forked 20915 -(20915) found -[16857] Forked 20916 -(20916) found -[16856] Forked 20917 -(20917) found -[16855] Forked 20918 -(20918) found -[16854] Forked 20919 -(20919) found -[16853] Forked 20920 -(20920) found -[16852] Forked 20921 -(20921) found -[16851] Forked 20922 -(20922) found -[16850] Forked 20923 -(20923) found -[16849] Forked 20924 -(20924) found -[16848] Forked 20925 -(20925) found -[16847] Forked 20926 -(20926) found -[16846] Forked 20927 -(20927) found -[16845] Forked 20928 -(20928) found -[16844] Forked 20929 -(20929) found -[16843] Forked 20930 -[16842] Forked 20931 -(20930) found -(20931) found -[16841] Forked 20932 -[16840] Forked 20933 -(20932) found -(20933) found -[16839] Forked 20934 -[16838] Forked 20935 -(20934) found -(20935) found -[16837] Forked 20936 -[16836] Forked 20937 -(20936) found -(20937) found -[16835] Forked 20938 -[16834] Forked 20939 -(20938) found -(20939) found -[16833] Forked 20940 -[16832] Forked 20941 -(20940) found -(20941) found -[16831] Forked 20942 -[16830] Forked 20943 -(20942) found -(20943) found -[16829] Forked 20944 -[16828] Forked 20945 -(20944) found -(20945) found -[16827] Forked 20946 -[16826] Forked 20947 -(20946) found -(20947) found -[16825] Forked 20948 -(20948) found -[16824] Forked 20949 -(20949) found -[16823] Forked 20950 -[16822] Forked 20951 -(20950) found -(20951) found -[16821] Forked 20952 -[16820] Forked 20953 -(20952) found -(20953) found -[16819] Forked 20954 -[16818] Forked 20955 -(20954) found -(20955) found -[16817] Forked 20956 -[16816] Forked 20957 -(20956) found -(20957) found -[16815] Forked 20958 -[16814] Forked 20959 -(20958) found -(20959) found -[16813] Forked 20960 -[16812] Forked 20961 -(20960) found -(20961) found -[16811] Forked 20962 -[16810] Forked 20963 -(20962) found -(20963) found -[16809] Forked 20964 -[16808] Forked 20965 -(20964) found -(20965) found -[16807] Forked 20966 -[16806] Forked 20967 -(20966) found -(20967) found -[16805] Forked 20968 -[16804] Forked 20969 -(20968) found -(20969) found -[16803] Forked 20970 -[16802] Forked 20971 -(20970) found -(20971) found -[16801] Forked 20972 -[16800] Forked 20973 -(20972) found -(20973) found -[16799] Forked 20974 -(20974) found -[16798] Forked 20975 -(20975) found -[16797] Forked 20976 -(20976) found -[16796] Forked 20977 -(20977) found -[16795] Forked 20978 -(20978) found -[16794] Forked 20979 -(20979) found -[16793] Forked 20980 -(20980) found -[16792] Forked 20981 -(20981) found -[16791] Forked 20982 -(20982) found -[16790] Forked 20983 -(20983) found -[16789] Forked 20984 -(20984) found -[16788] Forked 20985 -(20985) found -[16787] Forked 20986 -(20986) found -[16786] Forked 20987 -(20987) found -[16785] Forked 20988 -(20988) found -[16784] Forked 20989 -(20989) found -[16783] Forked 20990 -(20990) found -[16782] Forked 20991 -(20991) found -[16781] Forked 20992 -(20992) found -[16780] Forked 20993 -(20993) found -[16779] Forked 20994 -(20994) found -[16778] Forked 20995 -(20995) found -[16777] Forked 20996 -(20996) found -[16776] Forked 20997 -(20997) found -[16775] Forked 20998 -(20998) found -[16774] Forked 20999 -(20999) found -[16773] Forked 21000 -(21000) found -[16772] Forked 21001 -(21001) found -[16771] Forked 21002 -(21002) found -[16770] Forked 21003 -(21003) found -[16769] Forked 21004 -(21004) found -[16768] Forked 21005 -(21005) found -[16767] Forked 21006 -(21006) found -[16766] Forked 21007 -(21007) found -[16765] Forked 21008 -(21008) found -[16764] Forked 21009 -(21009) found -[16763] Forked 21010 -(21010) found -[16762] Forked 21011 -[16761] Forked 21012 -(21011) found -(21012) found -[16760] Forked 21013 -[16759] Forked 21014 -(21013) found -(21014) found -[16758] Forked 21015 -[16757] Forked 21016 -(21015) found -(21016) found -[16756] Forked 21017 -[16755] Forked 21018 -(21017) found -(21018) found -[16754] Forked 21019 -[16753] Forked 21020 -(21019) found -(21020) found -[16752] Forked 21021 -[16751] Forked 21022 -(21021) found -(21022) found -[16750] Forked 21023 -[16749] Forked 21024 -(21023) found -(21024) found -[16748] Forked 21025 -[16747] Forked 21026 -(21025) found -(21026) found -[16746] Forked 21027 -[16745] Forked 21028 -(21027) found -(21028) found -[16744] Forked 21029 -[16743] Forked 21030 -(21029) found -(21030) found -[16742] Forked 21031 -[16741] Forked 21032 -(21031) found -(21032) found -[16740] Forked 21033 -[16739] Forked 21034 -(21033) found -(21034) found -[16738] Forked 21035 -[16737] Forked 21036 -(21035) found -(21036) found -[16736] Forked 21037 -[16735] Forked 21038 -(21037) found -(21038) found -[16734] Forked 21039 -[16733] Forked 21040 -(21039) found -(21040) found -[16732] Forked 21041 -[16731] Forked 21042 -(21041) found -(21042) found -[16730] Forked 21043 -[16729] Forked 21044 -(21043) found -(21044) found -[16728] Forked 21045 -[16727] Forked 21046 -(21045) found -(21046) found -[16726] Forked 21047 -[16725] Forked 21048 -(21047) found -(21048) found -[16724] Forked 21049 -[16723] Forked 21050 -(21049) found -(21050) found -[16722] Forked 21051 -[16721] Forked 21052 -(21051) found -(21052) found -[16720] Forked 21053 -[16719] Forked 21054 -(21053) found -(21054) found -[16718] Forked 21055 -[16717] Forked 21056 -(21055) found -(21056) found -[16716] Forked 21057 -[16715] Forked 21058 -(21057) found -(21058) found -[16714] Forked 21059 -[16713] Forked 21060 -(21059) found -(21060) found -[16712] Forked 21061 -[16711] Forked 21062 -(21061) found -(21062) found -[16710] Forked 21063 -[16709] Forked 21064 -(21063) found -(21064) found -[16708] Forked 21065 -[16707] Forked 21066 -(21065) found -(21066) found -[16706] Forked 21067 -[16705] Forked 21068 -(21067) found -(21068) found -[16704] Forked 21069 -[16703] Forked 21070 -(21069) found -(21070) found -[16702] Forked 21071 -[16701] Forked 21072 -(21071) found -(21072) found -[16700] Forked 21073 -[16699] Forked 21074 -(21073) found -(21074) found -[16698] Forked 21075 -[16697] Forked 21076 -(21075) found -(21076) found -[16696] Forked 21077 -[16695] Forked 21078 -(21077) found -(21078) found -[16694] Forked 21079 -[16693] Forked 21080 -(21079) found -(21080) found -[16692] Forked 21081 -(21081) found -[16691] Forked 21082 -[16690] Forked 21083 -(21082) found -(21083) found -[16689] Forked 21084 -[16688] Forked 21085 -(21084) found -(21085) found -[16687] Forked 21086 -[16686] Forked 21087 -(21086) found -(21087) found -[16685] Forked 21088 -[16684] Forked 21089 -(21088) found -(21089) found -[16683] Forked 21090 -[16682] Forked 21091 -(21090) found -(21091) found -[16681] Forked 21092 -[16680] Forked 21093 -(21093) found -(21092) found -[16679] Forked 21094 -(21094) found -[16678] Forked 21095 -(21095) found -[16677] Forked 21096 -(21096) found -[16676] Forked 21097 -(21097) found -[16675] Forked 21098 -(21098) found -[16674] Forked 21099 -(21099) found -[16673] Forked 21100 -(21100) found -[16672] Forked 21101 -(21101) found -[16671] Forked 21102 -(21102) found -[16670] Forked 21103 -(21103) found -[16669] Forked 21104 -(21104) found -[16668] Forked 21105 -(21105) found -[16667] Forked 21106 -(21106) found -[16666] Forked 21107 -(21107) found -[16665] Forked 21108 -(21108) found -[16664] Forked 21109 -(21109) found -[16663] Forked 21110 -(21110) found -[16662] Forked 21111 -(21111) found -[16661] Forked 21112 -(21112) found -[16660] Forked 21113 -(21113) found -[16659] Forked 21114 -(21114) found -[16658] Forked 21115 -(21115) found -[16657] Forked 21116 -(21116) found -[16656] Forked 21117 -(21117) found -[16655] Forked 21118 -(21118) found -[16654] Forked 21119 -(21119) found -[16653] Forked 21120 -(21120) found -[16652] Forked 21121 -(21121) found -[16651] Forked 21122 -(21122) found -[16650] Forked 21123 -(21123) found -[16649] Forked 21124 -(21124) found -[16648] Forked 21125 -(21125) found -[16647] Forked 21126 -(21126) found -[16646] Forked 21127 -(21127) found -[16645] Forked 21128 -(21128) found -[16644] Forked 21129 -(21129) found -[16643] Forked 21130 -(21130) found -[16642] Forked 21131 -(21131) found -[16641] Forked 21132 -(21132) found -[16640] Forked 21133 -(21133) found -[16639] Forked 21134 -(21134) found -[16638] Forked 21135 -[16637] Forked 21136 -(21135) found -(21136) found -[16636] Forked 21137 -[16635] Forked 21138 -(21137) found -(21138) found -[16634] Forked 21139 -[16633] Forked 21140 -(21139) found -(21140) found -[16632] Forked 21141 -[16631] Forked 21142 -(21141) found -(21142) found -[16630] Forked 21143 -[16629] Forked 21144 -(21143) found -(21144) found -[16628] Forked 21145 -[16627] Forked 21146 -(21145) found -(21146) found -[16626] Forked 21147 -[16625] Forked 21148 -(21147) found -(21148) found -[16624] Forked 21149 -[16623] Forked 21150 -(21149) found -(21150) found -[16622] Forked 21151 -[16621] Forked 21152 -(21151) found -(21152) found -[16620] Forked 21153 -[16619] Forked 21154 -(21153) found -(21154) found -[16618] Forked 21155 -[16617] Forked 21156 -(21155) found -(21156) found -[16616] Forked 21157 -[16615] Forked 21158 -(21157) found -(21158) found -[16614] Forked 21159 -[16613] Forked 21160 -(21159) found -(21160) found -[16612] Forked 21161 -[16611] Forked 21162 -(21161) found -(21162) found -[16610] Forked 21163 -[16609] Forked 21164 -(21163) found -(21164) found -[16608] Forked 21165 -[16607] Forked 21166 -(21165) found -(21166) found -[16606] Forked 21167 -[16605] Forked 21168 -(21167) found -(21168) found -[16604] Forked 21169 -[16603] Forked 21170 -(21169) found -(21170) found -[16602] Forked 21171 -[16601] Forked 21172 -(21171) found -(21172) found -[16600] Forked 21173 -[16599] Forked 21175 -(21173) found -(21175) found -[16598] Forked 21176 -(21176) found -[16597] Forked 21177 -(21177) found -[16596] Forked 21178 -(21178) found -[16595] Forked 21179 -(21179) found -[16594] Forked 21180 -(21180) found -[16593] Forked 21181 -(21181) found -[16592] Forked 21182 -(21182) found -[16591] Forked 21183 -(21183) found -[16590] Forked 21184 -(21184) found -[16589] Forked 21185 -(21185) found -[16588] Forked 21186 -(21186) found -[16587] Forked 21187 -(21187) found -[16586] Forked 21188 -(21188) found -[16585] Forked 21189 -(21189) found -[16584] Forked 21190 -(21190) found -[16583] Forked 21191 -(21191) found -[16582] Forked 21192 -(21192) found -[16581] Forked 21193 -(21193) found -[16580] Forked 21194 -(21194) found -[16579] Forked 21195 -(21195) found -[16578] Forked 21196 -(21196) found -[16577] Forked 21197 -(21197) found -[16576] Forked 21198 -(21198) found -[16575] Forked 21199 -(21199) found -[16574] Forked 21200 -(21200) found -[16573] Forked 21201 -(21201) found -[16572] Forked 21202 -(21202) found -[16571] Forked 21203 -(21203) found -[16570] Forked 21204 -(21204) found -[16569] Forked 21205 -(21205) found -[16568] Forked 21206 -(21206) found -[16567] Forked 21207 -(21207) found -[16566] Forked 21208 -(21208) found -[16565] Forked 21209 -(21209) found -[16564] Forked 21210 -(21210) found -[16563] Forked 21211 -(21211) found -[16562] Forked 21212 -(21212) found -[16561] Forked 21213 -(21213) found -[16560] Forked 21214 -(21214) found -[16559] Forked 21215 -(21215) found -[16558] Forked 21216 -[16557] Forked 21217 -(21216) found -(21217) found -[16556] Forked 21218 -[16555] Forked 21219 -(21218) found -(21219) found -[16554] Forked 21220 -[16553] Forked 21221 -(21220) found -(21221) found -[16552] Forked 21222 -[16551] Forked 21223 -(21222) found -(21223) found -[16550] Forked 21224 -[16549] Forked 21225 -(21224) found -(21225) found -[16548] Forked 21226 -[16547] Forked 21227 -(21226) found -(21227) found -[16546] Forked 21228 -[16545] Forked 21229 -(21228) found -(21229) found -[16544] Forked 21230 -[16543] Forked 21231 -(21230) found -(21231) found -[16542] Forked 21232 -[16541] Forked 21233 -(21232) found -(21233) found -[16540] Forked 21234 -[16539] Forked 21235 -(21234) found -(21235) found -[16538] Forked 21236 -[16537] Forked 21237 -(21236) found -(21237) found -[16536] Forked 21238 -[16535] Forked 21239 -(21238) found -(21239) found -[16534] Forked 21240 -[16533] Forked 21241 -(21240) found -(21241) found -[16532] Forked 21242 -[16531] Forked 21243 -(21242) found -(21243) found -[16530] Forked 21244 -[16529] Forked 21245 -(21244) found -(21245) found -[16528] Forked 21246 -[16527] Forked 21247 -(21246) found -(21247) found -[16526] Forked 21248 -[16525] Forked 21249 -(21248) found -(21249) found -[16524] Forked 21250 -[16523] Forked 21251 -(21250) found -(21251) found -[16522] Forked 21252 -[16521] Forked 21253 -(21252) found -(21253) found -[16520] Forked 21254 -[16519] Forked 21255 -(21254) found -(21255) found -[16518] Forked 21256 -[16517] Forked 21257 -(21256) found -(21257) found -[16516] Forked 21258 -[16515] Forked 21259 -(21258) found -(21259) found -[16514] Forked 21260 -[16513] Forked 21261 -(21260) found -(21261) found -[16512] Forked 21262 -(21262) found -[16511] Forked 21263 -(21263) found -[16510] Forked 21264 -(21264) found -[16509] Forked 21265 -(21265) found -[16508] Forked 21266 -(21266) found -[16507] Forked 21267 -(21267) found -[16506] Forked 21268 -(21268) found -[16505] Forked 21269 -(21269) found -[16504] Forked 21270 -(21270) found -[16503] Forked 21271 -(21271) found -[16502] Forked 21272 -(21272) found -[16501] Forked 21273 -(21273) found -[16500] Forked 21274 -(21274) found -[16499] Forked 21275 -(21275) found -[16498] Forked 21276 -(21276) found -[16497] Forked 21277 -(21277) found -[16496] Forked 21278 -(21278) found -[16495] Forked 21279 -(21279) found -[16494] Forked 21280 -(21280) found -[16493] Forked 21281 -(21281) found -[16492] Forked 21282 -(21282) found -[16491] Forked 21283 -(21283) found -[16490] Forked 21284 -(21284) found -[16489] Forked 21285 -(21285) found -[16488] Forked 21286 -(21286) found -[16487] Forked 21287 -(21287) found -[16486] Forked 21288 -(21288) found -[16485] Forked 21289 -(21289) found -[16484] Forked 21290 -(21290) found -[16483] Forked 21291 -(21291) found -[16482] Forked 21292 -(21292) found -[16481] Forked 21293 -(21293) found -[16480] Forked 21294 -(21294) found -[16479] Forked 21295 -(21295) found -[16478] Forked 21296 -(21296) found -[16477] Forked 21297 -[16476] Forked 21298 -(21297) found -(21298) found -[16475] Forked 21299 -[16474] Forked 21300 -(21299) found -(21300) found -[16473] Forked 21301 -[16472] Forked 21302 -(21301) found -(21302) found -[16471] Forked 21303 -[16470] Forked 21304 -(21303) found -(21304) found -[16469] Forked 21305 -[16468] Forked 21306 -(21305) found -(21306) found -[16467] Forked 21307 -[16466] Forked 21308 -(21307) found -(21308) found -[16465] Forked 21309 -[16464] Forked 21310 -(21309) found -(21310) found -[16463] Forked 21311 -[16462] Forked 21312 -(21311) found -(21312) found -[16461] Forked 21313 -[16460] Forked 21314 -(21313) found -(21314) found -[16459] Forked 21315 -[16458] Forked 21316 -(21315) found -(21316) found -[16457] Forked 21317 -[16456] Forked 21318 -(21317) found -(21318) found -[16455] Forked 21319 -[16454] Forked 21320 -(21319) found -(21320) found -[16453] Forked 21321 -[16452] Forked 21322 -(21321) found -(21322) found -[16451] Forked 21323 -[16450] Forked 21324 -(21323) found -(21324) found -[16449] Forked 21325 -[16448] Forked 21326 -(21325) found -(21326) found -[16447] Forked 21327 -[16446] Forked 21328 -(21327) found -(21328) found -[16445] Forked 21329 -[16444] Forked 21330 -(21329) found -(21330) found -[16443] Forked 21331 -[16442] Forked 21332 -(21331) found -(21332) found -[16441] Forked 21333 -[16440] Forked 21334 -(21333) found -(21334) found -[16439] Forked 21335 -[16438] Forked 21336 -(21335) found -(21336) found -[16437] Forked 21337 -[16436] Forked 21338 -(21337) found -(21338) found -[16435] Forked 21339 -[16434] Forked 21340 -(21339) found -(21340) found -[16433] Forked 21341 -[16432] Forked 21342 -(21341) found -(21342) found -[16431] Forked 21343 -[16430] Forked 21344 -(21343) found -(21344) found -[16429] Forked 21345 -[16428] Forked 21346 -(21345) found -(21346) found -[16427] Forked 21347 -[16426] Forked 21348 -(21347) found -(21348) found -[16425] Forked 21349 -[16424] Forked 21350 -(21349) found -(21350) found -[16423] Forked 21351 -[16422] Forked 21352 -(21351) found -(21352) found -[16421] Forked 21353 -[16420] Forked 21354 -(21353) found -(21354) found -[16419] Forked 21355 -[16418] Forked 21356 -(21355) found -(21356) found -[16417] Forked 21357 -[16416] Forked 21358 -(21357) found -(21358) found -[16415] Forked 21359 -[16414] Forked 21360 -(21359) found -(21360) found -[16413] Forked 21361 -[16412] Forked 21362 -(21361) found -(21362) found -[16411] Forked 21363 -[16410] Forked 21364 -(21363) found -(21364) found -[16409] Forked 21365 -[16408] Forked 21366 -(21365) found -(21366) found -[16407] Forked 21367 -[16406] Forked 21368 -(21367) found -(21368) found -[16405] Forked 21369 -[16404] Forked 21370 -(21369) found -(21370) found -[16403] Forked 21371 -[16402] Forked 21372 -(21371) found -(21372) found -[16401] Forked 21373 -[16400] Forked 21374 -(21373) found -(21374) found -[16399] Forked 21375 -[16398] Forked 21376 -(21375) found -(21376) found -[16397] Forked 21377 -[16396] Forked 21378 -(21377) found -(21378) found -[16395] Forked 21379 -[16394] Forked 21380 -(21379) found -(21380) found -[16393] Forked 21381 -[16392] Forked 21382 -(21381) found -(21382) found -[16391] Forked 21383 -[16390] Forked 21384 -(21383) found -(21384) found -[16389] Forked 21385 -[16388] Forked 21386 -(21385) found -(21386) found -[16387] Forked 21387 -[16386] Forked 21388 -(21387) found -(21388) found -[16385] Forked 21389 -(21389) found -[16384] Forked 21390 -(21390) found -[16383] Forked 21391 -(21391) found -[16382] Forked 21392 -(21392) found -[16381] Forked 21393 -(21393) found -[16380] Forked 21394 -(21394) found -[16379] Forked 21395 -(21395) found -[16378] Forked 21396 -(21396) found -[16377] Forked 21397 -(21397) found -[16376] Forked 21398 -(21398) found -[16375] Forked 21399 -(21399) found -[16374] Forked 21400 -(21400) found -[16373] Forked 21401 -(21401) found -[16372] Forked 21402 -(21402) found -[16371] Forked 21403 -(21403) found -[16370] Forked 21404 -(21404) found -[16369] Forked 21405 -(21405) found -[16368] Forked 21406 -(21406) found -[16367] Forked 21407 -(21407) found -[16366] Forked 21408 -(21408) found -[16365] Forked 21409 -(21409) found -[16364] Forked 21410 -(21410) found -[16363] Forked 21411 -(21411) found -[16362] Forked 21412 -(21412) found -[16361] Forked 21413 -(21413) found -[16360] Forked 21414 -(21414) found -[16359] Forked 21415 -(21415) found -[16358] Forked 21416 -(21416) found -[16357] Forked 21417 -(21417) found -[16356] Forked 21418 -(21418) found -[16355] Forked 21419 -(21419) found -[16354] Forked 21420 -(21420) found -[16353] Forked 21421 -(21421) found -[16352] Forked 21422 -(21422) found -[16351] Forked 21423 -(21423) found -[16350] Forked 21424 -(21424) found -[16349] Forked 21425 -(21425) found -[16348] Forked 21426 -(21426) found -[16347] Forked 21427 -(21427) found -[16346] Forked 21428 -[16345] Forked 21429 -(21428) found -(21429) found -[16344] Forked 21430 -[16343] Forked 21431 -(21430) found -(21431) found -[16342] Forked 21432 -(21432) found -[16341] Forked 21433 -[16340] Forked 21434 -(21433) found -(21434) found -[16339] Forked 21435 -[16338] Forked 21436 -(21435) found -(21436) found -[16337] Forked 21437 -[16336] Forked 21438 -(21437) found -(21438) found -[16335] Forked 21439 -[16334] Forked 21440 -(21439) found -(21440) found -[16333] Forked 21441 -[16332] Forked 21442 -(21441) found -(21442) found -[16331] Forked 21443 -[16330] Forked 21444 -(21443) found -(21444) found -[16329] Forked 21445 -[16328] Forked 21446 -(21445) found -(21446) found -[16327] Forked 21447 -[16326] Forked 21448 -(21447) found -(21448) found -[16325] Forked 21449 -[16324] Forked 21450 -(21449) found -(21450) found -[16323] Forked 21451 -[16322] Forked 21452 -(21451) found -(21452) found -[16321] Forked 21453 -[16320] Forked 21454 -(21453) found -(21454) found -[16319] Forked 21455 -[16318] Forked 21456 -(21455) found -(21456) found -[16317] Forked 21457 -[16316] Forked 21458 -(21457) found -(21458) found -[16315] Forked 21459 -[16314] Forked 21460 -(21459) found -(21460) found -[16313] Forked 21461 -[16312] Forked 21462 -(21461) found -(21462) found -[16311] Forked 21463 -[16310] Forked 21464 -(21463) found -(21464) found -[16309] Forked 21465 -[16308] Forked 21466 -(21465) found -(21466) found -[16307] Forked 21467 -[16306] Forked 21468 -(21468) found -(21467) found -[16305] Forked 21469 -(21469) found -[16304] Forked 21470 -(21470) found -[16303] Forked 21471 -(21471) found -[16302] Forked 21472 -(21472) found -[16301] Forked 21473 -(21473) found -[16300] Forked 21474 -(21474) found -[16299] Forked 21475 -(21475) found -[16298] Forked 21476 -(21476) found -[16297] Forked 21477 -(21477) found -[16296] Forked 21478 -(21478) found -[16295] Forked 21479 -(21479) found -[16294] Forked 21480 -(21480) found -[16293] Forked 21481 -(21481) found -[16292] Forked 21482 -(21482) found -[16291] Forked 21483 -(21483) found -[16290] Forked 21484 -(21484) found -[16289] Forked 21485 -(21485) found -[16288] Forked 21486 -(21486) found -[16287] Forked 21487 -(21487) found -[16286] Forked 21488 -(21488) found -[16285] Forked 21489 -(21489) found -[16284] Forked 21490 -(21490) found -[16283] Forked 21491 -(21491) found -[16282] Forked 21492 -(21492) found -[16281] Forked 21493 -(21493) found -[16280] Forked 21494 -(21494) found -[16279] Forked 21495 -(21495) found -[16278] Forked 21496 -(21496) found -[16277] Forked 21497 -(21497) found -[16276] Forked 21498 -(21498) found -[16275] Forked 21499 -(21499) found -[16274] Forked 21500 -(21500) found -[16273] Forked 21501 -(21501) found -[16272] Forked 21502 -(21502) found -[16271] Forked 21503 -[16270] Forked 21504 -(21503) found -(21504) found -[16269] Forked 21505 -[16268] Forked 21506 -(21505) found -(21506) found -[16267] Forked 21507 -[16266] Forked 21508 -(21507) found -(21508) found -[16265] Forked 21509 -[16264] Forked 21510 -(21509) found -(21510) found -[16263] Forked 21511 -[16262] Forked 21512 -(21511) found -(21512) found -[16261] Forked 21513 -[16260] Forked 21514 -(21513) found -(21514) found -[16259] Forked 21515 -[16258] Forked 21516 -(21515) found -(21516) found -[16257] Forked 21517 -[16256] Forked 21518 -(21517) found -(21518) found -[16255] Forked 21519 -[16254] Forked 21520 -(21519) found -(21520) found -[16253] Forked 21521 -[16252] Forked 21522 -(21521) found -(21522) found -[16251] Forked 21523 -[16250] Forked 21524 -(21523) found -(21524) found -[16249] Forked 21525 -[16248] Forked 21526 -(21525) found -(21526) found -[16247] Forked 21527 -[16246] Forked 21528 -(21527) found -(21528) found -[16245] Forked 21529 -[16244] Forked 21530 -(21529) found -(21530) found -[16243] Forked 21531 -[16242] Forked 21532 -(21531) found -(21532) found -[16241] Forked 21533 -[16240] Forked 21534 -(21533) found -(21534) found -[16239] Forked 21535 -[16238] Forked 21536 -(21535) found -(21536) found -[16237] Forked 21537 -[16236] Forked 21538 -(21537) found -(21538) found -[16235] Forked 21539 -[16234] Forked 21540 -(21539) found -(21540) found -[16233] Forked 21541 -[16232] Forked 21542 -(21541) found -(21542) found -[16231] Forked 21543 -[16230] Forked 21544 -(21543) found -(21544) found -[16229] Forked 21545 -(21545) found -[16228] Forked 21546 -(21546) found -[16227] Forked 21547 -(21547) found -[16226] Forked 21548 -(21548) found -[16225] Forked 21549 -(21549) found -[16224] Forked 21550 -(21550) found -[16223] Forked 21551 -(21551) found -[16222] Forked 21552 -(21552) found -[16221] Forked 21553 -(21553) found -[16220] Forked 21554 -(21554) found -[16219] Forked 21555 -(21555) found -[16218] Forked 21556 -(21556) found -[16217] Forked 21557 -(21557) found -[16216] Forked 21558 -(21558) found -[16215] Forked 21559 -(21559) found -[16214] Forked 21560 -(21560) found -[16213] Forked 21561 -(21561) found -[16212] Forked 21562 -(21562) found -[16211] Forked 21563 -(21563) found -[16210] Forked 21564 -(21564) found -[16209] Forked 21565 -(21565) found -[16208] Forked 21566 -(21566) found -[16207] Forked 21567 -(21567) found -[16206] Forked 21568 -(21568) found -[16205] Forked 21569 -(21569) found -[16204] Forked 21570 -(21570) found -[16203] Forked 21571 -(21571) found -[16202] Forked 21572 -(21572) found -[16201] Forked 21573 -(21573) found -[16200] Forked 21574 -(21574) found -[16199] Forked 21575 -(21575) found -[16198] Forked 21576 -(21576) found -[16197] Forked 21577 -(21577) found -[16196] Forked 21578 -(21578) found -[16195] Forked 21579 -(21579) found -[16194] Forked 21580 -(21580) found -[16193] Forked 21581 -(21581) found -[16192] Forked 21582 -(21582) found -[16191] Forked 21583 -(21583) found -[16190] Forked 21584 -[16189] Forked 21585 -(21584) found -(21585) found -[16188] Forked 21586 -[16187] Forked 21587 -(21586) found -(21587) found -[16186] Forked 21588 -[16185] Forked 21589 -(21588) found -(21589) found -[16184] Forked 21590 -[16183] Forked 21591 -(21590) found -(21591) found -[16182] Forked 21592 -[16181] Forked 21593 -(21592) found -(21593) found -[16180] Forked 21594 -[16179] Forked 21595 -(21594) found -(21595) found -[16178] Forked 21596 -[16177] Forked 21597 -(21596) found -(21597) found -[16176] Forked 21598 -[16175] Forked 21599 -(21598) found -(21599) found -[16174] Forked 21600 -[16173] Forked 21601 -(21600) found -(21601) found -[16172] Forked 21602 -[16171] Forked 21603 -(21602) found -(21603) found -[16170] Forked 21604 -[16169] Forked 21605 -(21604) found -(21605) found -[16168] Forked 21606 -[16167] Forked 21607 -(21606) found -(21607) found -[16166] Forked 21608 -[16165] Forked 21609 -(21608) found -(21609) found -[16164] Forked 21610 -[16163] Forked 21611 -(21610) found -(21611) found -[16162] Forked 21612 -[16161] Forked 21613 -(21612) found -(21613) found -[16160] Forked 21614 -[16159] Forked 21615 -(21614) found -(21615) found -[16158] Forked 21616 -[16157] Forked 21617 -(21616) found -(21617) found -[16156] Forked 21618 -[16155] Forked 21619 -(21618) found -(21619) found -[16154] Forked 21620 -[16153] Forked 21621 -(21620) found -(21621) found -[16152] Forked 21622 -[16151] Forked 21623 -(21622) found -(21623) found -[16150] Forked 21624 -[16149] Forked 21625 -(21624) found -(21625) found -[16148] Forked 21626 -[16147] Forked 21627 -(21626) found -(21627) found -[16146] Forked 21628 -(21628) found -[16145] Forked 21630 -(21630) found -[16144] Forked 21631 -(21631) found -[16143] Forked 21632 -(21632) found -[16142] Forked 21633 -(21633) found -[16141] Forked 21634 -(21634) found -[16140] Forked 21635 -(21635) found -[16139] Forked 21636 -(21636) found -[16138] Forked 21637 -(21637) found -[16137] Forked 21638 -(21638) found -[16136] Forked 21639 -(21639) found -[16135] Forked 21640 -(21640) found -[16134] Forked 21641 -(21641) found -[16133] Forked 21642 -(21642) found -[16132] Forked 21643 -(21643) found -[16131] Forked 21644 -(21644) found -[16130] Forked 21645 -(21645) found -[16129] Forked 21646 -(21646) found -[16128] Forked 21647 -(21647) found -[16127] Forked 21648 -(21648) found -[16126] Forked 21649 -(21649) found -[16125] Forked 21650 -(21650) found -[16124] Forked 21651 -(21651) found -[16123] Forked 21652 -(21652) found -[16122] Forked 21653 -(21653) found -[16121] Forked 21654 -(21654) found -[16120] Forked 21655 -(21655) found -[16119] Forked 21656 -(21656) found -[16118] Forked 21657 -(21657) found -[16117] Forked 21658 -(21658) found -[16116] Forked 21659 -(21659) found -[16115] Forked 21660 -(21660) found -[16114] Forked 21661 -(21661) found -[16113] Forked 21662 -(21662) found -[16112] Forked 21663 -(21663) found -[16111] Forked 21664 -(21664) found -[16110] Forked 21665 -(21665) found -[16109] Forked 21666 -(21666) found -[16108] Forked 21667 -(21667) found -[16107] Forked 21668 -[16106] Forked 21669 -(21668) found -(21669) found -[16105] Forked 21670 -[16104] Forked 21671 -(21670) found -(21671) found -[16103] Forked 21672 -[16102] Forked 21673 -(21672) found -(21673) found -[16101] Forked 21674 -[16100] Forked 21675 -(21674) found -(21675) found -[16099] Forked 21676 -[16098] Forked 21677 -(21676) found -(21677) found -[16097] Forked 21678 -[16096] Forked 21679 -(21678) found -(21679) found -[16095] Forked 21680 -[16094] Forked 21681 -(21680) found -(21681) found -[16093] Forked 21682 -[16092] Forked 21683 -(21682) found -(21683) found -[16091] Forked 21684 -[16090] Forked 21685 -(21684) found -(21685) found -[16089] Forked 21686 -[16088] Forked 21687 -(21686) found -(21687) found -[16087] Forked 21688 -[16086] Forked 21689 -(21688) found -(21689) found -[16085] Forked 21690 -[16084] Forked 21691 -(21690) found -(21691) found -[16083] Forked 21692 -[16082] Forked 21693 -(21692) found -(21693) found -[16081] Forked 21694 -[16080] Forked 21695 -(21694) found -(21695) found -[16079] Forked 21696 -(21696) found -[16078] Forked 21697 -(21697) found -[16077] Forked 21698 -(21698) found -[16076] Forked 21699 -(21699) found -[16075] Forked 21700 -(21700) found -[16074] Forked 21701 -(21701) found -[16073] Forked 21702 -(21702) found -[16072] Forked 21703 -(21703) found -[16071] Forked 21704 -(21704) found -[16070] Forked 21705 -(21705) found -[16069] Forked 21706 -(21706) found -[16068] Forked 21707 -(21707) found -[16067] Forked 21708 -(21708) found -[16066] Forked 21709 -(21709) found -[16065] Forked 21710 -(21710) found -[16064] Forked 21711 -(21711) found -[16063] Forked 21712 -(21712) found -[16062] Forked 21713 -(21713) found -[16061] Forked 21714 -(21714) found -[16060] Forked 21715 -(21715) found -[16059] Forked 21716 -(21716) found -[16058] Forked 21717 -(21717) found -[16057] Forked 21718 -(21718) found -[16056] Forked 21719 -(21719) found -[16055] Forked 21720 -(21720) found -[16054] Forked 21721 -(21721) found -[16053] Forked 21722 -(21722) found -[16052] Forked 21723 -(21723) found -[16051] Forked 21724 -(21724) found -[16050] Forked 21725 -(21725) found -[16049] Forked 21726 -(21726) found -[16048] Forked 21727 -(21727) found -[16047] Forked 21728 -(21728) found -[16046] Forked 21729 -(21729) found -[16045] Forked 21730 -(21730) found -[16044] Forked 21731 -(21731) found -[16043] Forked 21732 -(21732) found -[16042] Forked 21733 -(21733) found -[16041] Forked 21734 -(21734) found -[16040] Forked 21735 -(21735) found -[16039] Forked 21736 -(21736) found -[16038] Forked 21737 -(21737) found -[16037] Forked 21738 -(21738) found -[16036] Forked 21739 -(21739) found -[16035] Forked 21740 -(21740) found -[16034] Forked 21741 -(21741) found -[16033] Forked 21742 -(21742) found -[16032] Forked 21743 -(21743) found -[16031] Forked 21744 -(21744) found -[16030] Forked 21745 -(21745) found -[16029] Forked 21746 -[16028] Forked 21747 -(21746) found -(21747) found -[16027] Forked 21748 -[16026] Forked 21749 -(21748) found -(21749) found -[16025] Forked 21750 -[16024] Forked 21751 -(21750) found -(21751) found -[16023] Forked 21752 -(21752) found -[16022] Forked 21753 -[16021] Forked 21754 -(21753) found -(21754) found -[16020] Forked 21755 -(21755) found -[16019] Forked 21756 -(21756) found -[16018] Forked 21757 -[16017] Forked 21758 -(21757) found -(21758) found -[16016] Forked 21759 -[16015] Forked 21760 -(21759) found -(21760) found -[16014] Forked 21761 -[16013] Forked 21762 -(21761) found -(21762) found -[16012] Forked 21763 -[16011] Forked 21764 -(21763) found -(21764) found -[16010] Forked 21765 -[16009] Forked 21766 -(21765) found -(21766) found -[16008] Forked 21767 -[16007] Forked 21768 -(21767) found -(21768) found -[16006] Forked 21769 -[16005] Forked 21770 -(21769) found -(21770) found -[16004] Forked 21771 -[16003] Forked 21772 -(21771) found -(21772) found -[16002] Forked 21773 -[16001] Forked 21774 -(21773) found -(21774) found -[16000] Forked 21775 -[15999] Forked 21776 -(21775) found -(21776) found -[15998] Forked 21777 -[15997] Forked 21778 -(21777) found -(21778) found -[15996] Forked 21779 -[15995] Forked 21780 -(21779) found -(21780) found -[15994] Forked 21781 -[15993] Forked 21782 -(21781) found -(21782) found -[15992] Forked 21783 -[15991] Forked 21785 -(21783) found -(21785) found -[15990] Forked 21786 -(21786) found -[15989] Forked 21787 -(21787) found -[15988] Forked 21788 -(21788) found -[15987] Forked 21789 -(21789) found -[15986] Forked 21790 -(21790) found -[15985] Forked 21791 -(21791) found -[15984] Forked 21792 -(21792) found -[15983] Forked 21793 -(21793) found -[15982] Forked 21794 -(21794) found -[15981] Forked 21795 -(21795) found -[15980] Forked 21796 -(21796) found -[15979] Forked 21797 -(21797) found -[15978] Forked 21798 -(21798) found -[15977] Forked 21799 -(21799) found -[15976] Forked 21800 -(21800) found -[15975] Forked 21801 -(21801) found -[15974] Forked 21802 -(21802) found -[15973] Forked 21803 -(21803) found -[15972] Forked 21804 -(21804) found -[15971] Forked 21805 -(21805) found -[15970] Forked 21806 -(21806) found -[15969] Forked 21807 -(21807) found -[15968] Forked 21808 -(21808) found -[15967] Forked 21809 -(21809) found -[15966] Forked 21810 -(21810) found -[15965] Forked 21811 -(21811) found -[15964] Forked 21812 -(21812) found -[15963] Forked 21813 -(21813) found -[15962] Forked 21814 -(21814) found -[15961] Forked 21815 -(21815) found -[15960] Forked 21816 -(21816) found -[15959] Forked 21817 -(21817) found -[15958] Forked 21818 -(21818) found -[15957] Forked 21819 -(21819) found -[15956] Forked 21820 -(21820) found -[15955] Forked 21821 -(21821) found -[15954] Forked 21822 -(21822) found -[15953] Forked 21823 -(21823) found -[15952] Forked 21824 -(21824) found -[15951] Forked 21825 -(21825) found -[15950] Forked 21826 -(21826) found -[15949] Forked 21827 -(21827) found -[15948] Forked 21828 -(21828) found -[15947] Forked 21829 -(21829) found -[15946] Forked 21830 -(21830) found -[15945] Forked 21831 -(21831) found -[15944] Forked 21832 -(21832) found -[15943] Forked 21833 -(21833) found -[15942] Forked 21834 -(21834) found -[15941] Forked 21835 -(21835) found -[15940] Forked 21836 -(21836) found -[15939] Forked 21837 -(21837) found -[15938] Forked 21838 -(21838) found -[15937] Forked 21839 -(21839) found -[15936] Forked 21840 -(21840) found -[15935] Forked 21841 -(21841) found -[15934] Forked 21842 -(21842) found -[15933] Forked 21843 -(21843) found -[15932] Forked 21844 -(21844) found -[15931] Forked 21845 -(21845) found -[15930] Forked 21846 -(21846) found -[15929] Forked 21847 -(21847) found -[15928] Forked 21848 -(21848) found -[15927] Forked 21849 -(21849) found -[15926] Forked 21850 -(21850) found -[15925] Forked 21851 -(21851) found -[15924] Forked 21852 -(21852) found -[15923] Forked 21853 -(21853) found -[15922] Forked 21854 -(21854) found -[15921] Forked 21855 -(21855) found -[15920] Forked 21856 -(21856) found -[15919] Forked 21857 -(21857) found -[15918] Forked 21858 -(21858) found -[15917] Forked 21859 -(21859) found -[15916] Forked 21860 -(21860) found -[15915] Forked 21861 -(21861) found -[15914] Forked 21862 -(21862) found -[15913] Forked 21863 -(21863) found -[15912] Forked 21864 -(21864) found -[15911] Forked 21865 -(21865) found -[15910] Forked 21866 -(21866) found -[15909] Forked 21867 -(21867) found -[15908] Forked 21868 -(21868) found -[15907] Forked 21869 -(21869) found -[15906] Forked 21870 -(21870) found -[15905] Forked 21871 -(21871) found -[15904] Forked 21872 -(21872) found -[15903] Forked 21873 -(21873) found -[15902] Forked 21874 -(21874) found -[15901] Forked 21875 -(21875) found -[15900] Forked 21876 -(21876) found -[15899] Forked 21877 -(21877) found -[15898] Forked 21878 -(21878) found -[15897] Forked 21879 -(21879) found -[15896] Forked 21880 -(21880) found -[15895] Forked 21881 -(21881) found -[15894] Forked 21882 -(21882) found -[15893] Forked 21883 -(21883) found -[15892] Forked 21884 -(21884) found -[15891] Forked 21885 -(21885) found -[15890] Forked 21886 -(21886) found -[15889] Forked 21887 -(21887) found -[15888] Forked 21888 -(21888) found -[15887] Forked 21889 -(21889) found -[15886] Forked 21890 -(21890) found -[15885] Forked 21891 -(21891) found -[15884] Forked 21892 -(21892) found -[15883] Forked 21893 -(21893) found -[15882] Forked 21894 -(21894) found -[15881] Forked 21895 -(21895) found -[15880] Forked 21896 -[15879] Forked 21897 -(21896) found -(21897) found -[15878] Forked 21898 -[15877] Forked 21899 -(21898) found -(21899) found -[15876] Forked 21900 -[15875] Forked 21901 -(21900) found -(21901) found -[15874] Forked 21902 -[15873] Forked 21903 -(21902) found -(21903) found -[15872] Forked 21904 -[15871] Forked 21905 -(21904) found -(21905) found -[15870] Forked 21906 -[15869] Forked 21907 -(21906) found -(21907) found -[15868] Forked 21908 -[15867] Forked 21909 -(21908) found -(21909) found -[15866] Forked 21910 -[15865] Forked 21911 -(21910) found -(21911) found -[15864] Forked 21912 -[15863] Forked 21913 -(21912) found -(21913) found -[15862] Forked 21914 -[15861] Forked 21915 -(21914) found -(21915) found -[15860] Forked 21916 -[15859] Forked 21917 -(21916) found -(21917) found -[15858] Forked 21918 -[15857] Forked 21919 -(21918) found -(21919) found -[15856] Forked 21920 -[15855] Forked 21921 -(21920) found -(21921) found -[15854] Forked 21922 -[15853] Forked 21923 -(21922) found -(21923) found -[15852] Forked 21924 -[15851] Forked 21925 -(21924) found -(21925) found -[15850] Forked 21926 -[15849] Forked 21927 -(21926) found -(21927) found -[15848] Forked 21928 -[15847] Forked 21929 -(21928) found -(21929) found -[15846] Forked 21930 -[15845] Forked 21931 -(21930) found -(21931) found -[15844] Forked 21932 -[15843] Forked 21933 -(21932) found -(21933) found -[15842] Forked 21934 -[15841] Forked 21935 -(21934) found -(21935) found -[15840] Forked 21936 -[15839] Forked 21937 -(21936) found -(21937) found -[15838] Forked 21938 -[15837] Forked 21939 -(21938) found -(21939) found -[15836] Forked 21940 -[15835] Forked 21941 -(21940) found -(21941) found -[15834] Forked 21942 -[15833] Forked 21943 -(21942) found -(21943) found -[15832] Forked 21944 -[15831] Forked 21945 -(21944) found -(21945) found -[15830] Forked 21946 -[15829] Forked 21947 -(21946) found -(21947) found -[15828] Forked 21948 -[15827] Forked 21949 -(21948) found -(21949) found -[15826] Forked 21950 -[15825] Forked 21951 -(21950) found -(21951) found -[15824] Forked 21952 -[15823] Forked 21953 -(21952) found -(21953) found -[15822] Forked 21954 -[15821] Forked 21955 -(21954) found -(21955) found -[15820] Forked 21956 -[15819] Forked 21957 -(21956) found -(21957) found -[15818] Forked 21958 -[15817] Forked 21959 -(21958) found -(21959) found -[15816] Forked 21960 -[15815] Forked 21961 -(21960) found -(21961) found -[15814] Forked 21962 -[15813] Forked 21963 -(21962) found -(21963) found -[15812] Forked 21964 -[15811] Forked 21965 -(21964) found -(21965) found -[15810] Forked 21966 -[15809] Forked 21967 -(21966) found -(21967) found -[15808] Forked 21968 -[15807] Forked 21969 -(21968) found -(21969) found -[15806] Forked 21970 -[15805] Forked 21971 -(21970) found -(21971) found -[15804] Forked 21972 -[15803] Forked 21973 -(21972) found -(21973) found -[15802] Forked 21974 -[15801] Forked 21975 -(21974) found -(21975) found -[15800] Forked 21976 -[15799] Forked 21977 -(21976) found -(21977) found -[15798] Forked 21978 -[15797] Forked 21979 -(21978) found -(21979) found -[15796] Forked 21980 -[15795] Forked 21981 -(21980) found -(21981) found -[15794] Forked 21982 -[15793] Forked 21983 -(21982) found -(21983) found -[15792] Forked 21984 -[15791] Forked 21985 -(21984) found -(21985) found -[15790] Forked 21986 -[15789] Forked 21987 -(21986) found -(21987) found -[15788] Forked 21988 -[15787] Forked 21989 -(21988) found -(21989) found -[15786] Forked 21990 -[15785] Forked 21991 -(21990) found -(21991) found -[15784] Forked 21992 -[15783] Forked 21993 -(21992) found -(21993) found -[15782] Forked 21994 -[15781] Forked 21995 -(21994) found -(21995) found -[15780] Forked 21996 -[15779] Forked 21997 -(21996) found -(21997) found -[15778] Forked 21998 -[15777] Forked 21999 -(21998) found -(21999) found -[15776] Forked 22000 -[15775] Forked 22001 -(22000) found -(22001) found -[15774] Forked 22002 -[15773] Forked 22004 -(22002) found -(22004) found -[15772] Forked 22005 -(22005) found -[15771] Forked 22006 -(22006) found -[15770] Forked 22007 -(22007) found -[15769] Forked 22008 -(22008) found -[15768] Forked 22009 -(22009) found -[15767] Forked 22010 -(22010) found -[15766] Forked 22011 -(22011) found -[15765] Forked 22012 -(22012) found -[15764] Forked 22013 -(22013) found -[15763] Forked 22014 -(22014) found -[15762] Forked 22015 -(22015) found -[15761] Forked 22016 -(22016) found -[15760] Forked 22017 -(22017) found -[15759] Forked 22018 -(22018) found -[15758] Forked 22019 -(22019) found -[15757] Forked 22020 -(22020) found -[15756] Forked 22021 -(22021) found -[15755] Forked 22022 -(22022) found -[15754] Forked 22023 -(22023) found -[15753] Forked 22024 -(22024) found -[15752] Forked 22025 -(22025) found -[15751] Forked 22026 -(22026) found -[15750] Forked 22027 -(22027) found -[15749] Forked 22028 -(22028) found -[15748] Forked 22029 -(22029) found -[15747] Forked 22030 -(22030) found -[15746] Forked 22031 -(22031) found -[15745] Forked 22032 -(22032) found -[15744] Forked 22033 -(22033) found -[15743] Forked 22034 -(22034) found -[15742] Forked 22035 -(22035) found -[15741] Forked 22036 -(22036) found -[15740] Forked 22037 -(22037) found -[15739] Forked 22038 -(22038) found -[15738] Forked 22039 -(22039) found -[15737] Forked 22040 -(22040) found -[15736] Forked 22041 -(22041) found -[15735] Forked 22042 -(22042) found -[15734] Forked 22043 -(22043) found -[15733] Forked 22044 -(22044) found -[15732] Forked 22045 -(22045) found -[15731] Forked 22046 -(22046) found -[15730] Forked 22047 -(22047) found -[15729] Forked 22048 -(22048) found -[15728] Forked 22049 -(22049) found -[15727] Forked 22050 -(22050) found -[15726] Forked 22051 -(22051) found -[15725] Forked 22052 -(22052) found -[15724] Forked 22053 -(22053) found -[15723] Forked 22054 -(22054) found -[15722] Forked 22055 -(22055) found -[15721] Forked 22056 -(22056) found -[15720] Forked 22057 -(22057) found -[15719] Forked 22058 -(22058) found -[15718] Forked 22059 -(22059) found -[15717] Forked 22060 -(22060) found -[15716] Forked 22061 -(22061) found -[15715] Forked 22062 -(22062) found -[15714] Forked 22063 -(22063) found -[15713] Forked 22064 -(22064) found -[15712] Forked 22065 -(22065) found -[15711] Forked 22066 -[15710] Forked 22067 -(22066) found -(22067) found -[15709] Forked 22068 -[15708] Forked 22069 -(22068) found -(22069) found -[15707] Forked 22070 -[15706] Forked 22071 -(22070) found -(22071) found -[15705] Forked 22072 -[15704] Forked 22073 -(22072) found -(22073) found -[15703] Forked 22074 -[15702] Forked 22075 -(22074) found -(22075) found -[15701] Forked 22076 -[15700] Forked 22077 -(22076) found -(22077) found -[15699] Forked 22078 -[15698] Forked 22079 -(22078) found -(22079) found -[15697] Forked 22080 -[15696] Forked 22081 -(22080) found -(22081) found -[15695] Forked 22082 -[15694] Forked 22083 -(22082) found -(22083) found -[15693] Forked 22084 -(22084) found -[15692] Forked 22085 -[15691] Forked 22086 -(22085) found -(22086) found -[15690] Forked 22087 -[15689] Forked 22088 -(22087) found -(22088) found -[15688] Forked 22089 -[15687] Forked 22090 -(22089) found -(22090) found -[15686] Forked 22091 -[15685] Forked 22092 -(22091) found -(22092) found -[15684] Forked 22093 -[15683] Forked 22094 -(22093) found -(22094) found -[15682] Forked 22095 -[15681] Forked 22096 -(22095) found -(22096) found -[15680] Forked 22097 -[15679] Forked 22098 -(22097) found -(22098) found -[15678] Forked 22099 -[15677] Forked 22100 -(22099) found -(22100) found -[15676] Forked 22101 -[15675] Forked 22102 -(22101) found -(22102) found -[15674] Forked 22103 -[15673] Forked 22104 -(22103) found -(22104) found -[15672] Forked 22105 -[15671] Forked 22106 -(22105) found -(22106) found -[15670] Forked 22107 -[15669] Forked 22108 -(22107) found -(22108) found -[15668] Forked 22109 -(22109) found -[15667] Forked 22110 -(22110) found -[15666] Forked 22111 -(22111) found -[15665] Forked 22112 -(22112) found -[15664] Forked 22113 -(22113) found -[15663] Forked 22114 -(22114) found -[15662] Forked 22115 -(22115) found -[15661] Forked 22116 -(22116) found -[15660] Forked 22117 -(22117) found -[15659] Forked 22118 -(22118) found -[15658] Forked 22119 -(22119) found -[15657] Forked 22120 -(22120) found -[15656] Forked 22121 -(22121) found -[15655] Forked 22122 -(22122) found -[15654] Forked 22123 -(22123) found -[15653] Forked 22124 -(22124) found -[15652] Forked 22125 -(22125) found -[15651] Forked 22126 -(22126) found -[15650] Forked 22127 -(22127) found -[15649] Forked 22128 -(22128) found -[15648] Forked 22129 -(22129) found -[15647] Forked 22130 -(22130) found -[15646] Forked 22131 -(22131) found -[15645] Forked 22132 -(22132) found -[15644] Forked 22133 -(22133) found -[15643] Forked 22134 -(22134) found -[15642] Forked 22135 -(22135) found -[15641] Forked 22136 -(22136) found -[15640] Forked 22137 -(22137) found -[15639] Forked 22138 -(22138) found -[15638] Forked 22139 -(22139) found -[15637] Forked 22140 -(22140) found -[15636] Forked 22141 -(22141) found -[15635] Forked 22142 -(22142) found -[15634] Forked 22143 -(22143) found -[15633] Forked 22144 -(22144) found -[15632] Forked 22145 -(22145) found -[15631] Forked 22146 -(22146) found -[15630] Forked 22147 -(22147) found -[15629] Forked 22148 -[15628] Forked 22149 -(22148) found -(22149) found -[15627] Forked 22150 -[15626] Forked 22151 -(22150) found -(22151) found -[15625] Forked 22152 -[15624] Forked 22153 -(22152) found -(22153) found -[15623] Forked 22154 -[15622] Forked 22155 -(22154) found -(22155) found -[15621] Forked 22156 -[15620] Forked 22157 -(22156) found -(22157) found -[15619] Forked 22158 -[15618] Forked 22159 -(22158) found -(22159) found -[15617] Forked 22160 -[15616] Forked 22161 -(22160) found -(22161) found -[15615] Forked 22162 -[15614] Forked 22163 -(22162) found -(22163) found -[15613] Forked 22164 -[15612] Forked 22165 -(22164) found -(22165) found -[15611] Forked 22166 -[15610] Forked 22167 -(22167) found -(22166) found -[15609] Forked 22168 -(22168) found -[15608] Forked 22169 -(22169) found -[15607] Forked 22170 -(22170) found -[15606] Forked 22171 -(22171) found -[15605] Forked 22172 -(22172) found -[15604] Forked 22173 -(22173) found -[15603] Forked 22174 -(22174) found -[15602] Forked 22175 -(22175) found -[15601] Forked 22176 -(22176) found -[15600] Forked 22177 -(22177) found -[15599] Forked 22178 -(22178) found -[15598] Forked 22179 -(22179) found -[15597] Forked 22180 -(22180) found -[15596] Forked 22181 -(22181) found -[15595] Forked 22182 -(22182) found -[15594] Forked 22183 -[15593] Forked 22184 -(22183) found -(22184) found -[15592] Forked 22185 -[15591] Forked 22186 -(22185) found -(22186) found -[15590] Forked 22187 -[15589] Forked 22188 -(22187) found -(22188) found -[15588] Forked 22189 -[15587] Forked 22190 -(22189) found -(22190) found -[15586] Forked 22191 -[15585] Forked 22192 -(22191) found -(22192) found -[15584] Forked 22193 -[15583] Forked 22194 -(22193) found -(22194) found -[15582] Forked 22195 -[15581] Forked 22196 -(22195) found -(22196) found -[15580] Forked 22197 -[15579] Forked 22198 -(22197) found -(22198) found -[15578] Forked 22199 -[15577] Forked 22200 -(22199) found -(22200) found -[15576] Forked 22201 -[15575] Forked 22202 -(22201) found -(22202) found -[15574] Forked 22203 -[15573] Forked 22204 -(22203) found -(22204) found -[15572] Forked 22205 -[15571] Forked 22206 -(22205) found -(22206) found -[15570] Forked 22207 -[15569] Forked 22209 -(22207) found -(22209) found -[15568] Forked 22210 -(22210) found -[15567] Forked 22211 -(22211) found -[15566] Forked 22212 -(22212) found -[15565] Forked 22213 -(22213) found -[15564] Forked 22214 -(22214) found -[15563] Forked 22215 -(22215) found -[15562] Forked 22216 -(22216) found -[15561] Forked 22217 -(22217) found -[15560] Forked 22218 -(22218) found -[15559] Forked 22219 -(22219) found -[15558] Forked 22220 -(22220) found -[15557] Forked 22221 -(22221) found -[15556] Forked 22222 -(22222) found -[15555] Forked 22223 -(22223) found -[15554] Forked 22224 -(22224) found -[15553] Forked 22225 -(22225) found -[15552] Forked 22226 -(22226) found -[15551] Forked 22227 -(22227) found -[15550] Forked 22228 -(22228) found -[15549] Forked 22229 -(22229) found -[15548] Forked 22230 -(22230) found -[15547] Forked 22231 -(22231) found -[15546] Forked 22232 -(22232) found -[15545] Forked 22233 -(22233) found -[15544] Forked 22234 -(22234) found -[15543] Forked 22235 -(22235) found -[15542] Forked 22236 -(22236) found -[15541] Forked 22237 -(22237) found -[15540] Forked 22238 -(22238) found -[15539] Forked 22239 -(22239) found -[15538] Forked 22240 -(22240) found -[15537] Forked 22241 -(22241) found -[15536] Forked 22242 -(22242) found -[15535] Forked 22243 -(22243) found -[15534] Forked 22244 -(22244) found -[15533] Forked 22245 -(22245) found -[15532] Forked 22246 -(22246) found -[15531] Forked 22247 -(22247) found -[15530] Forked 22248 -(22248) found -[15529] Forked 22249 -(22249) found -[15528] Forked 22250 -(22250) found -[15527] Forked 22251 -(22251) found -[15526] Forked 22252 -(22252) found -[15525] Forked 22253 -(22253) found -[15524] Forked 22254 -(22254) found -[15523] Forked 22255 -(22255) found -[15522] Forked 22256 -(22256) found -[15521] Forked 22257 -(22257) found -[15520] Forked 22258 -(22258) found -[15519] Forked 22259 -(22259) found -[15518] Forked 22260 -(22260) found -[15517] Forked 22261 -[15516] Forked 22262 -(22261) found -(22262) found -[15515] Forked 22263 -[15514] Forked 22264 -(22263) found -(22264) found -[15513] Forked 22265 -(22265) found -[15512] Forked 22266 -(22266) found -[15511] Forked 22267 -(22267) found -[15510] Forked 22268 -(22268) found -[15509] Forked 22269 -(22269) found -[15508] Forked 22270 -(22270) found -[15507] Forked 22271 -(22271) found -[15506] Forked 22272 -(22272) found -[15505] Forked 22273 -(22273) found -[15504] Forked 22274 -(22274) found -[15503] Forked 22275 -(22275) found -[15502] Forked 22276 -(22276) found -[15501] Forked 22277 -(22277) found -[15500] Forked 22278 -(22278) found -[15499] Forked 22279 -(22279) found -[15498] Forked 22280 -(22280) found -[15497] Forked 22281 -(22281) found -[15496] Forked 22282 -(22282) found -[15495] Forked 22283 -(22283) found -[15494] Forked 22284 -(22284) found -[15493] Forked 22285 -(22285) found -[15492] Forked 22286 -(22286) found -[15491] Forked 22287 -(22287) found -[15490] Forked 22288 -(22288) found -[15489] Forked 22289 -(22289) found -[15488] Forked 22290 -(22290) found -[15487] Forked 22291 -(22291) found -[15486] Forked 22292 -(22292) found -[15485] Forked 22293 -(22293) found -[15484] Forked 22294 -(22294) found -[15483] Forked 22295 -(22295) found -[15482] Forked 22296 -(22296) found -[15481] Forked 22297 -(22297) found -[15480] Forked 22298 -(22298) found -[15479] Forked 22299 -(22299) found -[15478] Forked 22300 -(22300) found -[15477] Forked 22301 -(22301) found -[15476] Forked 22302 -(22302) found -[15475] Forked 22303 -(22303) found -[15474] Forked 22304 -[15473] Forked 22305 -(22304) found -(22305) found -[15472] Forked 22306 -[15471] Forked 22307 -(22306) found -(22307) found -[15470] Forked 22308 -[15469] Forked 22309 -(22308) found -(22309) found -[15468] Forked 22310 -[15467] Forked 22311 -(22310) found -(22311) found -[15466] Forked 22312 -[15465] Forked 22313 -(22312) found -(22313) found -[15464] Forked 22314 -[15463] Forked 22315 -(22314) found -(22315) found -[15462] Forked 22316 -[15461] Forked 22317 -(22316) found -(22317) found -[15460] Forked 22318 -[15459] Forked 22319 -(22318) found -(22319) found -[15458] Forked 22320 -[15457] Forked 22321 -(22320) found -(22321) found -[15456] Forked 22322 -[15455] Forked 22323 -(22322) found -(22323) found -[15454] Forked 22324 -[15453] Forked 22325 -(22324) found -(22325) found -[15452] Forked 22326 -[15451] Forked 22327 -(22326) found -(22327) found -[15450] Forked 22328 -[15449] Forked 22329 -(22328) found -(22329) found -[15448] Forked 22330 -[15447] Forked 22331 -(22330) found -(22331) found -[15446] Forked 22332 -[15445] Forked 22333 -(22332) found -(22333) found -[15444] Forked 22334 -[15443] Forked 22335 -(22334) found -(22335) found -[15442] Forked 22336 -[15441] Forked 22337 -(22336) found -(22337) found -[15440] Forked 22338 -[15439] Forked 22339 -(22338) found -(22339) found -[15438] Forked 22340 -[15437] Forked 22341 -(22340) found -(22341) found -[15436] Forked 22342 -[15435] Forked 22343 -(22342) found -(22343) found -[15434] Forked 22344 -[15433] Forked 22345 -(22344) found -(22345) found -[15432] Forked 22346 -[15431] Forked 22347 -(22346) found -(22347) found -[15430] Forked 22348 -(22348) found -[15429] Forked 22349 -(22349) found -[15428] Forked 22350 -(22350) found -[15427] Forked 22351 -(22351) found -[15426] Forked 22352 -(22352) found -[15425] Forked 22353 -(22353) found -[15424] Forked 22354 -(22354) found -[15423] Forked 22355 -(22355) found -[15422] Forked 22356 -(22356) found -[15421] Forked 22357 -(22357) found -[15420] Forked 22358 -(22358) found -[15419] Forked 22359 -(22359) found -[15418] Forked 22360 -(22360) found -[15417] Forked 22361 -(22361) found -[15416] Forked 22362 -(22362) found -[15415] Forked 22363 -(22363) found -[15414] Forked 22364 -(22364) found -[15413] Forked 22365 -(22365) found -[15412] Forked 22366 -(22366) found -[15411] Forked 22367 -(22367) found -[15410] Forked 22368 -(22368) found -[15409] Forked 22369 -(22369) found -[15408] Forked 22370 -(22370) found -[15407] Forked 22371 -(22371) found -[15406] Forked 22372 -(22372) found -[15405] Forked 22373 -(22373) found -[15404] Forked 22374 -(22374) found -[15403] Forked 22375 -(22375) found -[15402] Forked 22376 -(22376) found -[15401] Forked 22377 -(22377) found -[15400] Forked 22378 -(22378) found -[15399] Forked 22379 -(22379) found -[15398] Forked 22380 -(22380) found -[15397] Forked 22381 -(22381) found -[15396] Forked 22382 -(22382) found -[15395] Forked 22383 -(22383) found -[15394] Forked 22384 -(22384) found -[15393] Forked 22385 -(22385) found -[15392] Forked 22386 -(22386) found -[15391] Forked 22387 -[15390] Forked 22388 -(22387) found -(22388) found -[15389] Forked 22389 -[15388] Forked 22390 -(22389) found -(22390) found -[15387] Forked 22391 -[15386] Forked 22392 -(22391) found -(22392) found -[15385] Forked 22393 -[15384] Forked 22394 -(22393) found -(22394) found -[15383] Forked 22395 -[15382] Forked 22396 -(22395) found -(22396) found -[15381] Forked 22397 -[15380] Forked 22398 -(22397) found -(22398) found -[15379] Forked 22399 -[15378] Forked 22400 -(22399) found -(22400) found -[15377] Forked 22401 -[15376] Forked 22402 -(22401) found -(22402) found -[15375] Forked 22403 -[15374] Forked 22404 -(22403) found -(22404) found -[15373] Forked 22405 -[15372] Forked 22406 -(22405) found -(22406) found -[15371] Forked 22407 -[15370] Forked 22408 -(22407) found -(22408) found -[15369] Forked 22409 -[15368] Forked 22410 -(22409) found -(22410) found -[15367] Forked 22411 -[15366] Forked 22412 -(22411) found -(22412) found -[15365] Forked 22413 -[15364] Forked 22414 -(22413) found -(22414) found -[15363] Forked 22415 -[15362] Forked 22416 -(22415) found -(22416) found -[15361] Forked 22417 -[15360] Forked 22418 -(22417) found -(22418) found -[15359] Forked 22419 -[15358] Forked 22420 -(22420) found -(22419) found -[15357] Forked 22421 -(22421) found -[15356] Forked 22422 -(22422) found -[15355] Forked 22423 -(22423) found -[15354] Forked 22424 -(22424) found -[15353] Forked 22425 -(22425) found -[15352] Forked 22426 -(22426) found -[15351] Forked 22427 -(22427) found -[15350] Forked 22428 -(22428) found -[15349] Forked 22429 -(22429) found -[15348] Forked 22430 -(22430) found -[15347] Forked 22431 -(22431) found -[15346] Forked 22432 -(22432) found -[15345] Forked 22433 -(22433) found -[15344] Forked 22434 -(22434) found -[15343] Forked 22435 -(22435) found -[15342] Forked 22436 -(22436) found -[15341] Forked 22437 -(22437) found -[15340] Forked 22438 -(22438) found -[15339] Forked 22439 -(22439) found -[15338] Forked 22440 -(22440) found -[15337] Forked 22441 -(22441) found -[15336] Forked 22442 -(22442) found -[15335] Forked 22443 -(22443) found -[15334] Forked 22444 -(22444) found -[15333] Forked 22445 -(22445) found -[15332] Forked 22446 -(22446) found -[15331] Forked 22447 -(22447) found -[15330] Forked 22448 -(22448) found -[15329] Forked 22449 -(22449) found -[15328] Forked 22450 -(22450) found -[15327] Forked 22451 -(22451) found -[15326] Forked 22452 -(22452) found -[15325] Forked 22453 -(22453) found -[15324] Forked 22454 -(22454) found -[15323] Forked 22455 -(22455) found -[15322] Forked 22456 -(22456) found -[15321] Forked 22457 -(22457) found -[15320] Forked 22458 -(22458) found -[15319] Forked 22459 -(22459) found -[15318] Forked 22460 -(22460) found -[15317] Forked 22461 -(22461) found -[15316] Forked 22462 -(22462) found -[15315] Forked 22463 -(22463) found -[15314] Forked 22464 -(22464) found -[15313] Forked 22465 -(22465) found -[15312] Forked 22466 -(22466) found -[15311] Forked 22467 -(22467) found -[15310] Forked 22468 -(22468) found -[15309] Forked 22469 -(22469) found -[15308] Forked 22470 -[15307] Forked 22471 -(22470) found -(22471) found -[15306] Forked 22472 -[15305] Forked 22473 -(22472) found -(22473) found -[15304] Forked 22474 -[15303] Forked 22475 -(22474) found -(22475) found -[15302] Forked 22476 -[15301] Forked 22477 -(22476) found -(22477) found -[15300] Forked 22478 -[15299] Forked 22479 -(22478) found -(22479) found -[15298] Forked 22480 -[15297] Forked 22481 -(22480) found -(22481) found -[15296] Forked 22482 -[15295] Forked 22483 -(22482) found -(22483) found -[15294] Forked 22484 -[15293] Forked 22485 -(22484) found -(22485) found -[15292] Forked 22486 -[15291] Forked 22487 -(22486) found -(22487) found -[15290] Forked 22488 -[15289] Forked 22489 -(22488) found -(22489) found -[15288] Forked 22490 -[15287] Forked 22491 -(22490) found -(22491) found -[15286] Forked 22492 -[15285] Forked 22493 -(22492) found -(22493) found -[15284] Forked 22494 -[15283] Forked 22495 -(22494) found -(22495) found -[15282] Forked 22496 -[15281] Forked 22497 -(22496) found -(22497) found -[15280] Forked 22498 -[15279] Forked 22499 -(22498) found -(22499) found -[15278] Forked 22500 -[15277] Forked 22501 -(22500) found -(22501) found -[15276] Forked 22502 -[15275] Forked 22503 -(22502) found -(22503) found -[15274] Forked 22504 -[15273] Forked 22505 -(22504) found -(22505) found -[15272] Forked 22506 -(22506) found -[15271] Forked 22507 -[15270] Forked 22508 -(22507) found -(22508) found -[15269] Forked 22509 -[15268] Forked 22510 -(22509) found -(22510) found -[15267] Forked 22511 -(22511) found -[15266] Forked 22512 -(22512) found -[15265] Forked 22513 -(22513) found -[15264] Forked 22514 -(22514) found -[15263] Forked 22515 -(22515) found -[15262] Forked 22516 -(22516) found -[15261] Forked 22517 -(22517) found -[15260] Forked 22518 -(22518) found -[15259] Forked 22519 -(22519) found -[15258] Forked 22520 -(22520) found -[15257] Forked 22521 -(22521) found -[15256] Forked 22522 -(22522) found -[15255] Forked 22523 -(22523) found -[15254] Forked 22524 -(22524) found -[15253] Forked 22525 -(22525) found -[15252] Forked 22526 -(22526) found -[15251] Forked 22527 -(22527) found -[15250] Forked 22528 -(22528) found -[15249] Forked 22529 -(22529) found -[15248] Forked 22530 -(22530) found -[15247] Forked 22531 -(22531) found -[15246] Forked 22532 -(22532) found -[15245] Forked 22533 -(22533) found -[15244] Forked 22534 -(22534) found -[15243] Forked 22535 -(22535) found -[15242] Forked 22536 -(22536) found -[15241] Forked 22537 -(22537) found -[15240] Forked 22538 -(22538) found -[15239] Forked 22539 -(22539) found -[15238] Forked 22540 -(22540) found -[15237] Forked 22541 -(22541) found -[15236] Forked 22542 -(22542) found -[15235] Forked 22543 -(22543) found -[15234] Forked 22544 -(22544) found -[15233] Forked 22545 -(22545) found -[15232] Forked 22546 -(22546) found -[15231] Forked 22547 -(22547) found -[15230] Forked 22548 -(22548) found -[15229] Forked 22549 -(22549) found -[15228] Forked 22550 -[15227] Forked 22551 -(22550) found -(22551) found -[15226] Forked 22552 -[15225] Forked 22553 -(22552) found -(22553) found -[15224] Forked 22554 -[15223] Forked 22555 -(22554) found -(22555) found -[15222] Forked 22556 -[15221] Forked 22557 -(22556) found -(22557) found -[15220] Forked 22558 -[15219] Forked 22559 -(22558) found -(22559) found -[15218] Forked 22560 -[15217] Forked 22561 -(22560) found -(22561) found -[15216] Forked 22562 -[15215] Forked 22563 -(22563) found -(22562) found -[15214] Forked 22564 -(22564) found -[15213] Forked 22565 -(22565) found -[15212] Forked 22566 -(22566) found -[15211] Forked 22567 -(22567) found -[15210] Forked 22568 -(22568) found -[15209] Forked 22569 -(22569) found -[15208] Forked 22570 -(22570) found -[15207] Forked 22571 -(22571) found -[15206] Forked 22572 -(22572) found -[15205] Forked 22573 -(22573) found -[15204] Forked 22574 -(22574) found -[15203] Forked 22575 -(22575) found -[15202] Forked 22576 -(22576) found -[15201] Forked 22577 -(22577) found -[15200] Forked 22578 -(22578) found -[15199] Forked 22579 -(22579) found -[15198] Forked 22580 -(22580) found -[15197] Forked 22581 -(22581) found -[15196] Forked 22582 -(22582) found -[15195] Forked 22583 -(22583) found -[15194] Forked 22584 -(22584) found -[15193] Forked 22585 -[15192] Forked 22586 -(22585) found -(22586) found -[15191] Forked 22587 -[15190] Forked 22588 -(22587) found -(22588) found -[15189] Forked 22589 -[15188] Forked 22590 -(22589) found -(22590) found -[15187] Forked 22591 -[15186] Forked 22592 -(22591) found -(22592) found -[15185] Forked 22593 -[15184] Forked 22594 -(22593) found -(22594) found -[15183] Forked 22595 -[15182] Forked 22596 -(22595) found -(22596) found -[15181] Forked 22597 -[15180] Forked 22598 -(22597) found -(22598) found -[15179] Forked 22599 -[15178] Forked 22600 -(22599) found -(22600) found -[15177] Forked 22601 -[15176] Forked 22602 -(22601) found -(22602) found -[15175] Forked 22603 -[15174] Forked 22604 -(22603) found -(22604) found -[15173] Forked 22605 -[15172] Forked 22606 -(22605) found -(22606) found -[15171] Forked 22607 -[15170] Forked 22608 -(22607) found -(22608) found -[15169] Forked 22609 -[15168] Forked 22610 -(22609) found -(22610) found -[15167] Forked 22611 -[15166] Forked 22612 -(22611) found -(22612) found -[15165] Forked 22613 -[15164] Forked 22614 -(22613) found -(22614) found -[15163] Forked 22615 -[15162] Forked 22616 -(22615) found -(22616) found -[15161] Forked 22617 -[15160] Forked 22618 -(22617) found -(22618) found -[15159] Forked 22619 -[15158] Forked 22620 -(22619) found -(22620) found -[15157] Forked 22621 -[15156] Forked 22622 -(22621) found -(22622) found -[15155] Forked 22623 -[15154] Forked 22624 -(22623) found -(22624) found -[15153] Forked 22625 -[15152] Forked 22627 -(22625) found -(22627) found -[15151] Forked 22628 -(22628) found -[15150] Forked 22629 -(22629) found -[15149] Forked 22630 -(22630) found -[15148] Forked 22631 -(22631) found -[15147] Forked 22632 -(22632) found -[15146] Forked 22633 -(22633) found -[15145] Forked 22634 -(22634) found -[15144] Forked 22635 -(22635) found -[15143] Forked 22636 -(22636) found -[15142] Forked 22637 -(22637) found -[15141] Forked 22638 -(22638) found -[15140] Forked 22639 -(22639) found -[15139] Forked 22640 -(22640) found -[15138] Forked 22641 -(22641) found -[15137] Forked 22642 -(22642) found -[15136] Forked 22644 -(22644) found -[15135] Forked 22645 -(22645) found -[15134] Forked 22646 -(22646) found -[15133] Forked 22647 -(22647) found -[15132] Forked 22648 -(22648) found -[15131] Forked 22649 -(22649) found -[15130] Forked 22650 -(22650) found -[15129] Forked 22651 -(22651) found -[15128] Forked 22652 -(22652) found -[15127] Forked 22653 -(22653) found -[15126] Forked 22654 -(22654) found -[15125] Forked 22655 -(22655) found -[15124] Forked 22656 -(22656) found -[15123] Forked 22657 -(22657) found -[15122] Forked 22658 -(22658) found -[15121] Forked 22659 -(22659) found -[15120] Forked 22660 -(22660) found -[15119] Forked 22661 -(22661) found -[15118] Forked 22662 -(22662) found -[15117] Forked 22663 -(22663) found -[15116] Forked 22664 -(22664) found -[15115] Forked 22665 -(22665) found -[15114] Forked 22666 -(22666) found -[15113] Forked 22667 -(22667) found -[15112] Forked 22668 -(22668) found -[15111] Forked 22669 -(22669) found -[15110] Forked 22670 -(22670) found -[15109] Forked 22671 -(22671) found -[15108] Forked 22672 -(22672) found -[15107] Forked 22673 -(22673) found -[15106] Forked 22674 -(22674) found -[15105] Forked 22675 -(22675) found -[15104] Forked 22676 -(22676) found -[15103] Forked 22677 -(22677) found -[15102] Forked 22678 -(22678) found -[15101] Forked 22679 -(22679) found -[15100] Forked 22680 -(22680) found -[15099] Forked 22681 -(22681) found -[15098] Forked 22682 -(22682) found -[15097] Forked 22683 -(22683) found -[15096] Forked 22684 -(22684) found -[15095] Forked 22685 -(22685) found -[15094] Forked 22686 -(22686) found -[15093] Forked 22687 -(22687) found -[15092] Forked 22688 -(22688) found -[15091] Forked 22689 -(22689) found -[15090] Forked 22690 -(22690) found -[15089] Forked 22691 -(22691) found -[15088] Forked 22692 -(22692) found -[15087] Forked 22693 -(22693) found -[15086] Forked 22694 -(22694) found -[15085] Forked 22695 -(22695) found -[15084] Forked 22696 -(22696) found -[15083] Forked 22697 -(22697) found -[15082] Forked 22698 -(22698) found -[15081] Forked 22699 -(22699) found -[15080] Forked 22700 -(22700) found -[15079] Forked 22701 -(22701) found -[15078] Forked 22702 -(22702) found -[15077] Forked 22703 -(22703) found -[15076] Forked 22704 -[15075] Forked 22705 -(22704) found -(22705) found -[15074] Forked 22706 -[15073] Forked 22707 -(22706) found -(22707) found -[15072] Forked 22708 -[15071] Forked 22709 -(22708) found -(22709) found -[15070] Forked 22710 -[15069] Forked 22711 -(22710) found -(22711) found -[15068] Forked 22712 -[15067] Forked 22713 -(22712) found -(22713) found -[15066] Forked 22714 -[15065] Forked 22715 -(22714) found -(22715) found -[15064] Forked 22716 -[15063] Forked 22717 -(22716) found -(22717) found -[15062] Forked 22718 -[15061] Forked 22719 -(22718) found -(22719) found -[15060] Forked 22720 -[15059] Forked 22721 -(22720) found -(22721) found -[15058] Forked 22722 -[15057] Forked 22723 -(22722) found -(22723) found -[15056] Forked 22724 -[15055] Forked 22725 -(22724) found -(22725) found -[15054] Forked 22726 -[15053] Forked 22727 -(22726) found -(22727) found -[15052] Forked 22728 -[15051] Forked 22729 -(22728) found -(22729) found -[15050] Forked 22730 -[15049] Forked 22731 -(22730) found -(22731) found -[15048] Forked 22732 -[15047] Forked 22733 -(22732) found -(22733) found -[15046] Forked 22734 -[15045] Forked 22735 -(22734) found -(22735) found -[15044] Forked 22736 -[15043] Forked 22737 -(22736) found -(22737) found -[15042] Forked 22738 -[15041] Forked 22739 -(22738) found -(22739) found -[15040] Forked 22740 -[15039] Forked 22741 -(22740) found -(22741) found -[15038] Forked 22742 -[15037] Forked 22743 -(22742) found -(22743) found -[15036] Forked 22744 -[15035] Forked 22745 -(22744) found -(22745) found -[15034] Forked 22746 -[15033] Forked 22747 -(22746) found -(22747) found -[15032] Forked 22748 -(22748) found -[15031] Forked 22749 -(22749) found -[15030] Forked 22750 -(22750) found -[15029] Forked 22751 -(22751) found -[15028] Forked 22752 -(22752) found -[15027] Forked 22753 -(22753) found -[15026] Forked 22754 -(22754) found -[15025] Forked 22755 -(22755) found -[15024] Forked 22756 -(22756) found -[15023] Forked 22757 -(22757) found -[15022] Forked 22758 -(22758) found -[15021] Forked 22759 -(22759) found -[15020] Forked 22760 -(22760) found -[15019] Forked 22761 -(22761) found -[15018] Forked 22762 -(22762) found -[15017] Forked 22763 -(22763) found -[15016] Forked 22764 -(22764) found -[15015] Forked 22765 -(22765) found -[15014] Forked 22766 -(22766) found -[15013] Forked 22767 -(22767) found -[15012] Forked 22768 -(22768) found -[15011] Forked 22769 -(22769) found -[15010] Forked 22770 -(22770) found -[15009] Forked 22771 -(22771) found -[15008] Forked 22772 -(22772) found -[15007] Forked 22773 -(22773) found -[15006] Forked 22774 -(22774) found -[15005] Forked 22775 -(22775) found -[15004] Forked 22776 -(22776) found -[15003] Forked 22777 -(22777) found -[15002] Forked 22778 -(22778) found -[15001] Forked 22779 -(22779) found -[15000] Forked 22780 -(22780) found -[14999] Forked 22781 -(22781) found -[14998] Forked 22782 -(22782) found -[14997] Forked 22783 -(22783) found -[14996] Forked 22784 -[14995] Forked 22785 -(22784) found -(22785) found -[14994] Forked 22786 -[14993] Forked 22787 -(22786) found -(22787) found -[14992] Forked 22788 -[14991] Forked 22789 -(22788) found -(22789) found -[14990] Forked 22790 -[14989] Forked 22791 -(22790) found -(22791) found -[14988] Forked 22792 -[14987] Forked 22793 -(22792) found -(22793) found -[14986] Forked 22794 -[14985] Forked 22795 -(22794) found -(22795) found -[14984] Forked 22796 -[14983] Forked 22797 -(22796) found -(22797) found -[14982] Forked 22798 -[14981] Forked 22799 -(22798) found -(22799) found -[14980] Forked 22800 -[14979] Forked 22801 -(22800) found -(22801) found -[14978] Forked 22802 -[14977] Forked 22803 -(22802) found -(22803) found -[14976] Forked 22804 -[14975] Forked 22805 -(22804) found -(22805) found -[14974] Forked 22806 -[14973] Forked 22807 -(22806) found -(22807) found -[14972] Forked 22808 -[14971] Forked 22809 -(22808) found -(22809) found -[14970] Forked 22810 -[14969] Forked 22811 -(22810) found -(22811) found -[14968] Forked 22812 -[14967] Forked 22813 -(22812) found -(22813) found -[14966] Forked 22814 -[14965] Forked 22815 -(22814) found -(22815) found -[14964] Forked 22816 -[14963] Forked 22817 -(22816) found -(22817) found -[14962] Forked 22818 -[14961] Forked 22819 -(22818) found -(22819) found -[14960] Forked 22820 -[14959] Forked 22821 -(22820) found -(22821) found -[14958] Forked 22822 -[14957] Forked 22824 -(22822) found -(22824) found -[14956] Forked 22825 -(22825) found -[14955] Forked 22826 -(22826) found -[14954] Forked 22827 -(22827) found -[14953] Forked 22828 -(22828) found -[14952] Forked 22829 -(22829) found -[14951] Forked 22830 -(22830) found -[14950] Forked 22831 -(22831) found -[14949] Forked 22832 -(22832) found -[14948] Forked 22833 -(22833) found -[14947] Forked 22834 -(22834) found -[14946] Forked 22835 -(22835) found -[14945] Forked 22836 -(22836) found -[14944] Forked 22837 -(22837) found -[14943] Forked 22838 -(22838) found -[14942] Forked 22839 -(22839) found -[14941] Forked 22840 -(22840) found -[14940] Forked 22841 -(22841) found -[14939] Forked 22842 -(22842) found -[14938] Forked 22843 -(22843) found -[14937] Forked 22844 -(22844) found -[14936] Forked 22845 -(22845) found -[14935] Forked 22846 -(22846) found -[14934] Forked 22847 -(22847) found -[14933] Forked 22848 -(22848) found -[14932] Forked 22849 -(22849) found -[14931] Forked 22850 -(22850) found -[14930] Forked 22851 -(22851) found -[14929] Forked 22852 -(22852) found -[14928] Forked 22853 -(22853) found -[14927] Forked 22854 -(22854) found -[14926] Forked 22855 -(22855) found -[14925] Forked 22856 -(22856) found -[14924] Forked 22857 -(22857) found -[14923] Forked 22858 -(22858) found -[14922] Forked 22859 -(22859) found -[14921] Forked 22860 -(22860) found -[14920] Forked 22861 -(22861) found -[14919] Forked 22862 -(22862) found -[14918] Forked 22863 -[14917] Forked 22864 -(22863) found -(22864) found -[14916] Forked 22865 -[14915] Forked 22866 -(22865) found -(22866) found -[14914] Forked 22867 -[14913] Forked 22868 -(22867) found -(22868) found -[14912] Forked 22869 -[14911] Forked 22870 -(22869) found -(22870) found -[14910] Forked 22871 -[14909] Forked 22872 -(22871) found -(22872) found -[14908] Forked 22873 -[14907] Forked 22874 -(22873) found -(22874) found -[14906] Forked 22875 -[14905] Forked 22876 -(22875) found -(22876) found -[14904] Forked 22877 -[14903] Forked 22878 -(22877) found -(22878) found -[14902] Forked 22879 -[14901] Forked 22880 -(22879) found -(22880) found -[14900] Forked 22881 -[14899] Forked 22882 -(22881) found -(22882) found -[14898] Forked 22883 -[14897] Forked 22884 -(22883) found -(22884) found -[14896] Forked 22885 -[14895] Forked 22886 -(22885) found -(22886) found -[14894] Forked 22887 -[14893] Forked 22888 -(22887) found -(22888) found -[14892] Forked 22889 -[14891] Forked 22890 -(22889) found -(22890) found -[14890] Forked 22891 -[14889] Forked 22892 -(22891) found -(22892) found -[14888] Forked 22893 -[14887] Forked 22894 -(22893) found -(22894) found -[14886] Forked 22895 -[14885] Forked 22896 -(22895) found -(22896) found -[14884] Forked 22897 -[14883] Forked 22898 -(22897) found -(22898) found -[14882] Forked 22899 -[14881] Forked 22900 -(22899) found -(22900) found -[14880] Forked 22901 -[14879] Forked 22902 -(22901) found -(22902) found -[14878] Forked 22903 -[14877] Forked 22904 -(22903) found -(22904) found -[14876] Forked 22905 -[14875] Forked 22906 -(22905) found -(22906) found -[14874] Forked 22907 -(22907) found -[14873] Forked 22908 -(22908) found -[14872] Forked 22909 -(22909) found -[14871] Forked 22910 -(22910) found -[14870] Forked 22911 -(22911) found -[14869] Forked 22912 -(22912) found -[14868] Forked 22913 -(22913) found -[14867] Forked 22914 -(22914) found -[14866] Forked 22915 -(22915) found -[14865] Forked 22916 -(22916) found -[14864] Forked 22917 -(22917) found -[14863] Forked 22918 -(22918) found -[14862] Forked 22919 -(22919) found -[14861] Forked 22920 -(22920) found -[14860] Forked 22921 -(22921) found -[14859] Forked 22922 -(22922) found -[14858] Forked 22923 -(22923) found -[14857] Forked 22924 -(22924) found -[14856] Forked 22925 -(22925) found -[14855] Forked 22926 -(22926) found -[14854] Forked 22927 -(22927) found -[14853] Forked 22928 -(22928) found -[14852] Forked 22929 -(22929) found -[14851] Forked 22930 -(22930) found -[14850] Forked 22931 -(22931) found -[14849] Forked 22932 -(22932) found -[14848] Forked 22933 -(22933) found -[14847] Forked 22934 -(22934) found -[14846] Forked 22935 -(22935) found -[14845] Forked 22936 -(22936) found -[14844] Forked 22937 -(22937) found -[14843] Forked 22938 -(22938) found -[14842] Forked 22939 -(22939) found -[14841] Forked 22940 -(22940) found -[14840] Forked 22941 -(22941) found -[14839] Forked 22942 -(22942) found -[14838] Forked 22943 -(22943) found -[14837] Forked 22944 -(22944) found -[14836] Forked 22945 -(22945) found -[14835] Forked 22946 -[14834] Forked 22947 -(22946) found -(22947) found -[14833] Forked 22948 -[14832] Forked 22949 -(22948) found -(22949) found -[14831] Forked 22950 -[14830] Forked 22951 -(22950) found -(22951) found -[14829] Forked 22952 -[14828] Forked 22953 -(22952) found -(22953) found -[14827] Forked 22954 -[14826] Forked 22955 -(22954) found -(22955) found -[14825] Forked 22956 -[14824] Forked 22957 -(22956) found -(22957) found -[14823] Forked 22958 -[14822] Forked 22959 -(22958) found -(22959) found -[14821] Forked 22960 -[14820] Forked 22961 -(22960) found -(22961) found -[14819] Forked 22962 -[14818] Forked 22963 -(22962) found -(22963) found -[14817] Forked 22964 -[14816] Forked 22965 -(22964) found -(22965) found -[14815] Forked 22966 -[14814] Forked 22967 -(22966) found -(22967) found -[14813] Forked 22968 -[14812] Forked 22969 -(22968) found -(22969) found -[14811] Forked 22970 -[14810] Forked 22971 -(22970) found -(22971) found -[14809] Forked 22972 -[14808] Forked 22973 -(22972) found -(22973) found -[14807] Forked 22974 -[14806] Forked 22975 -(22974) found -(22975) found -[14805] Forked 22976 -[14804] Forked 22977 -(22976) found -(22977) found -[14803] Forked 22978 -[14802] Forked 22979 -(22978) found -(22979) found -[14801] Forked 22980 -[14800] Forked 22981 -(22980) found -(22981) found -[14799] Forked 22982 -[14798] Forked 22983 -(22982) found -(22983) found -[14797] Forked 22984 -[14796] Forked 22985 -(22984) found -(22985) found -[14795] Forked 22986 -[14794] Forked 22987 -(22986) found -(22987) found -[14793] Forked 22988 -[14792] Forked 22989 -(22988) found -(22989) found -[14791] Forked 22990 -(22990) found -[14790] Forked 22991 -(22991) found -[14789] Forked 22992 -(22992) found -[14788] Forked 22993 -(22993) found -[14787] Forked 22994 -(22994) found -[14786] Forked 22995 -(22995) found -[14785] Forked 22996 -(22996) found -[14784] Forked 22997 -(22997) found -[14783] Forked 22998 -(22998) found -[14782] Forked 22999 -(22999) found -[14781] Forked 23000 -(23000) found -[14780] Forked 23001 -(23001) found -[14779] Forked 23002 -(23002) found -[14778] Forked 23003 -(23003) found -[14777] Forked 23004 -(23004) found -[14776] Forked 23005 -(23005) found -[14775] Forked 23006 -(23006) found -[14774] Forked 23007 -(23007) found -[14773] Forked 23008 -(23008) found -[14772] Forked 23009 -(23009) found -[14771] Forked 23010 -(23010) found -[14770] Forked 23011 -(23011) found -[14769] Forked 23012 -(23012) found -[14768] Forked 23013 -(23013) found -[14767] Forked 23014 -(23014) found -[14766] Forked 23015 -(23015) found -[14765] Forked 23016 -(23016) found -[14764] Forked 23017 -(23017) found -[14763] Forked 23018 -(23018) found -[14762] Forked 23019 -(23019) found -[14761] Forked 23020 -(23020) found -[14760] Forked 23021 -(23021) found -[14759] Forked 23022 -(23022) found -[14758] Forked 23023 -(23023) found -[14757] Forked 23024 -(23024) found -[14756] Forked 23025 -(23025) found -[14755] Forked 23026 -(23026) found -[14754] Forked 23027 -(23027) found -[14753] Forked 23028 -(23028) found -[14752] Forked 23029 -[14751] Forked 23030 -(23029) found -(23030) found -[14750] Forked 23031 -[14749] Forked 23032 -(23031) found -(23032) found -[14748] Forked 23033 -[14747] Forked 23034 -(23033) found -(23034) found -[14746] Forked 23035 -[14745] Forked 23036 -(23035) found -(23036) found -[14744] Forked 23037 -[14743] Forked 23038 -(23037) found -(23038) found -[14742] Forked 23039 -[14741] Forked 23040 -(23039) found -(23040) found -[14740] Forked 23041 -[14739] Forked 23042 -(23041) found -(23042) found -[14738] Forked 23043 -[14737] Forked 23044 -(23043) found -(23044) found -[14736] Forked 23045 -[14735] Forked 23046 -(23045) found -(23046) found -[14734] Forked 23047 -[14733] Forked 23048 -(23047) found -(23048) found -[14732] Forked 23049 -[14731] Forked 23050 -(23049) found -(23050) found -[14730] Forked 23051 -[14729] Forked 23052 -(23051) found -(23052) found -[14728] Forked 23053 -[14727] Forked 23054 -(23053) found -(23054) found -[14726] Forked 23055 -[14725] Forked 23056 -(23055) found -(23056) found -[14724] Forked 23057 -[14723] Forked 23058 -(23057) found -(23058) found -[14722] Forked 23059 -[14721] Forked 23060 -(23059) found -(23060) found -[14720] Forked 23061 -[14719] Forked 23062 -(23061) found -(23062) found -[14718] Forked 23063 -[14717] Forked 23064 -(23063) found -(23064) found -[14716] Forked 23065 -[14715] Forked 23066 -(23065) found -(23066) found -[14714] Forked 23067 -[14713] Forked 23069 -(23067) found -(23069) found -[14712] Forked 23070 -(23070) found -[14711] Forked 23071 -(23071) found -[14710] Forked 23072 -(23072) found -[14709] Forked 23073 -(23073) found -[14708] Forked 23074 -(23074) found -[14707] Forked 23075 -(23075) found -[14706] Forked 23076 -(23076) found -[14705] Forked 23077 -(23077) found -[14704] Forked 23078 -(23078) found -[14703] Forked 23079 -(23079) found -[14702] Forked 23080 -(23080) found -[14701] Forked 23081 -(23081) found -[14700] Forked 23082 -(23082) found -[14699] Forked 23083 -(23083) found -[14698] Forked 23084 -(23084) found -[14697] Forked 23085 -(23085) found -[14696] Forked 23086 -(23086) found -[14695] Forked 23087 -(23087) found -[14694] Forked 23088 -(23088) found -[14693] Forked 23089 -(23089) found -[14692] Forked 23090 -(23090) found -[14691] Forked 23091 -(23091) found -[14690] Forked 23092 -(23092) found -[14689] Forked 23093 -(23093) found -[14688] Forked 23094 -(23094) found -[14687] Forked 23095 -(23095) found -[14686] Forked 23096 -(23096) found -[14685] Forked 23097 -(23097) found -[14684] Forked 23098 -(23098) found -[14683] Forked 23099 -(23099) found -[14682] Forked 23100 -(23100) found -[14681] Forked 23101 -(23101) found -[14680] Forked 23102 -(23102) found -[14679] Forked 23103 -(23103) found -[14678] Forked 23104 -(23104) found -[14677] Forked 23105 -(23105) found -[14676] Forked 23106 -(23106) found -[14675] Forked 23107 -(23107) found -[14674] Forked 23108 -(23108) found -[14673] Forked 23109 -(23109) found -[14672] Forked 23110 -(23110) found -[14671] Forked 23111 -(23111) found -[14670] Forked 23112 -(23112) found -[14669] Forked 23113 -(23113) found -[14668] Forked 23114 -(23114) found -[14667] Forked 23115 -(23115) found -[14666] Forked 23116 -(23116) found -[14665] Forked 23117 -(23117) found -[14664] Forked 23118 -(23118) found -[14663] Forked 23119 -(23119) found -[14662] Forked 23120 -(23120) found -[14661] Forked 23121 -(23121) found -[14660] Forked 23122 -(23122) found -[14659] Forked 23123 -(23123) found -[14658] Forked 23124 -(23124) found -[14657] Forked 23125 -(23125) found -[14656] Forked 23126 -(23126) found -[14655] Forked 23127 -(23127) found -[14654] Forked 23128 -(23128) found -[14653] Forked 23129 -(23129) found -[14652] Forked 23130 -(23130) found -[14651] Forked 23131 -(23131) found -[14650] Forked 23132 -(23132) found -[14649] Forked 23133 -(23133) found -[14648] Forked 23134 -(23134) found -[14647] Forked 23135 -(23135) found -[14646] Forked 23136 -(23136) found -[14645] Forked 23137 -(23137) found -[14644] Forked 23138 -(23138) found -[14643] Forked 23139 -(23139) found -[14642] Forked 23140 -(23140) found -[14641] Forked 23141 -(23141) found -[14640] Forked 23142 -[14639] Forked 23143 -(23142) found -(23143) found -[14638] Forked 23144 -[14637] Forked 23145 -(23144) found -(23145) found -[14636] Forked 23146 -[14635] Forked 23147 -(23146) found -(23147) found -[14634] Forked 23148 -[14633] Forked 23149 -(23148) found -(23149) found -[14632] Forked 23150 -[14631] Forked 23151 -(23150) found -(23151) found -[14630] Forked 23152 -[14629] Forked 23153 -(23152) found -(23153) found -[14628] Forked 23154 -[14627] Forked 23155 -(23154) found -(23155) found -[14626] Forked 23156 -[14625] Forked 23157 -(23156) found -(23157) found -[14624] Forked 23158 -[14623] Forked 23159 -(23158) found -(23159) found -[14622] Forked 23160 -[14621] Forked 23161 -(23160) found -(23161) found -[14620] Forked 23162 -[14619] Forked 23163 -(23162) found -(23163) found -[14618] Forked 23164 -[14617] Forked 23165 -(23164) found -(23165) found -[14616] Forked 23166 -[14615] Forked 23167 -(23166) found -(23167) found -[14614] Forked 23168 -[14613] Forked 23169 -(23169) found -(23168) found -[14612] Forked 23170 -(23170) found -[14611] Forked 23171 -(23171) found -[14610] Forked 23172 -(23172) found -[14609] Forked 23173 -(23173) found -[14608] Forked 23174 -(23174) found -[14607] Forked 23175 -(23175) found -[14606] Forked 23176 -(23176) found -[14605] Forked 23177 -(23177) found -[14604] Forked 23178 -(23178) found -[14603] Forked 23179 -(23179) found -[14602] Forked 23180 -(23180) found -[14601] Forked 23181 -(23181) found -[14600] Forked 23182 -(23182) found -[14599] Forked 23183 -(23183) found -[14598] Forked 23184 -(23184) found -[14597] Forked 23185 -(23185) found -[14596] Forked 23186 -(23186) found -[14595] Forked 23187 -(23187) found -[14594] Forked 23188 -(23188) found -[14593] Forked 23189 -(23189) found -[14592] Forked 23190 -(23190) found -[14591] Forked 23191 -(23191) found -[14590] Forked 23192 -(23192) found -[14589] Forked 23193 -(23193) found -[14588] Forked 23194 -(23194) found -[14587] Forked 23195 -(23195) found -[14586] Forked 23196 -(23196) found -[14585] Forked 23197 -(23197) found -[14584] Forked 23198 -(23198) found -[14583] Forked 23199 -(23199) found -[14582] Forked 23200 -(23200) found -[14581] Forked 23201 -(23201) found -[14580] Forked 23202 -(23202) found -[14579] Forked 23203 -(23203) found -[14578] Forked 23204 -(23204) found -[14577] Forked 23205 -(23205) found -[14576] Forked 23206 -(23206) found -[14575] Forked 23207 -(23207) found -[14574] Forked 23208 -(23208) found -[14573] Forked 23209 -(23209) found -[14572] Forked 23210 -(23210) found -[14571] Forked 23211 -(23211) found -[14570] Forked 23212 -(23212) found -[14569] Forked 23213 -(23213) found -[14568] Forked 23214 -(23214) found -[14567] Forked 23215 -(23215) found -[14566] Forked 23216 -(23216) found -[14565] Forked 23217 -(23217) found -[14564] Forked 23218 -(23218) found -[14563] Forked 23219 -(23219) found -[14562] Forked 23220 -[14561] Forked 23221 -(23220) found -(23221) found -[14560] Forked 23222 -[14559] Forked 23223 -(23222) found -(23223) found -[14558] Forked 23224 -[14557] Forked 23225 -(23224) found -(23225) found -[14556] Forked 23226 -[14555] Forked 23227 -(23226) found -(23227) found -[14554] Forked 23228 -[14553] Forked 23229 -(23228) found -(23229) found -[14552] Forked 23230 -[14551] Forked 23231 -(23230) found -(23231) found -[14550] Forked 23232 -[14549] Forked 23233 -(23232) found -(23233) found -[14548] Forked 23234 -[14547] Forked 23235 -(23234) found -(23235) found -[14546] Forked 23236 -[14545] Forked 23237 -(23236) found -(23237) found -[14544] Forked 23238 -[14543] Forked 23239 -(23238) found -(23239) found -[14542] Forked 23240 -[14541] Forked 23241 -(23240) found -(23241) found -[14540] Forked 23242 -[14539] Forked 23243 -(23242) found -(23243) found -[14538] Forked 23244 -[14537] Forked 23245 -(23244) found -(23245) found -[14536] Forked 23246 -[14535] Forked 23247 -(23246) found -(23247) found -[14534] Forked 23248 -[14533] Forked 23249 -(23248) found -(23249) found -[14532] Forked 23250 -[14531] Forked 23251 -(23250) found -(23251) found -[14530] Forked 23252 -[14529] Forked 23253 -(23252) found -(23253) found -[14528] Forked 23254 -[14527] Forked 23255 -(23254) found -(23255) found -[14526] Forked 23256 -[14525] Forked 23257 -(23256) found -(23257) found -[14524] Forked 23258 -[14523] Forked 23259 -(23258) found -(23259) found -[14522] Forked 23260 -[14521] Forked 23261 -(23260) found -(23261) found -[14520] Forked 23262 -[14519] Forked 23263 -(23262) found -(23263) found -[14518] Forked 23264 -[14517] Forked 23265 -(23264) found -(23265) found -[14516] Forked 23266 -[14515] Forked 23267 -(23266) found -(23267) found -[14514] Forked 23268 -[14513] Forked 23269 -(23268) found -(23269) found -[14512] Forked 23270 -[14511] Forked 23271 -(23270) found -(23271) found -[14510] Forked 23272 -[14509] Forked 23273 -(23272) found -(23273) found -[14508] Forked 23274 -[14507] Forked 23275 -(23274) found -(23275) found -[14506] Forked 23276 -[14505] Forked 23277 -(23276) found -(23277) found -[14504] Forked 23278 -[14503] Forked 23279 -(23278) found -(23279) found -[14502] Forked 23280 -[14501] Forked 23281 -(23280) found -(23281) found -[14500] Forked 23282 -[14499] Forked 23283 -(23282) found -(23283) found -[14498] Forked 23284 -[14497] Forked 23285 -(23284) found -(23285) found -[14496] Forked 23286 -[14495] Forked 23287 -(23286) found -(23287) found -[14494] Forked 23288 -[14493] Forked 23289 -(23288) found -(23289) found -[14492] Forked 23290 -[14491] Forked 23291 -(23290) found -(23291) found -[14490] Forked 23292 -[14489] Forked 23293 -(23292) found -(23293) found -[14488] Forked 23294 -[14487] Forked 23295 -(23294) found -(23295) found -[14486] Forked 23296 -[14485] Forked 23297 -(23296) found -(23297) found -[14484] Forked 23298 -[14483] Forked 23299 -(23298) found -(23299) found -[14482] Forked 23300 -[14481] Forked 23301 -(23300) found -(23301) found -[14480] Forked 23302 -[14479] Forked 23303 -(23302) found -(23303) found -[14478] Forked 23304 -[14477] Forked 23305 -(23304) found -(23305) found -[14476] Forked 23306 -[14475] Forked 23307 -(23306) found -(23307) found -[14474] Forked 23308 -[14473] Forked 23309 -(23308) found -(23309) found -[14472] Forked 23310 -[14471] Forked 23311 -(23310) found -(23311) found -[14470] Forked 23312 -(23312) found -[14469] Forked 23313 -(23313) found -[14468] Forked 23314 -(23314) found -[14467] Forked 23315 -(23315) found -[14466] Forked 23316 -(23316) found -[14465] Forked 23317 -(23317) found -[14464] Forked 23318 -(23318) found -[14463] Forked 23319 -(23319) found -[14462] Forked 23320 -(23320) found -[14461] Forked 23321 -(23321) found -[14460] Forked 23322 -(23322) found -[14459] Forked 23323 -(23323) found -[14458] Forked 23324 -(23324) found -[14457] Forked 23325 -(23325) found -[14456] Forked 23326 -(23326) found -[14455] Forked 23327 -(23327) found -[14454] Forked 23328 -(23328) found -[14453] Forked 23329 -(23329) found -[14452] Forked 23330 -(23330) found -[14451] Forked 23331 -(23331) found -[14450] Forked 23332 -(23332) found -[14449] Forked 23333 -(23333) found -[14448] Forked 23334 -(23334) found -[14447] Forked 23335 -(23335) found -[14446] Forked 23336 -(23336) found -[14445] Forked 23337 -(23337) found -[14444] Forked 23338 -(23338) found -[14443] Forked 23339 -(23339) found -[14442] Forked 23340 -(23340) found -[14441] Forked 23341 -(23341) found -[14440] Forked 23342 -(23342) found -[14439] Forked 23343 -(23343) found -[14438] Forked 23344 -(23344) found -[14437] Forked 23345 -(23345) found -[14436] Forked 23346 -(23346) found -[14435] Forked 23347 -(23347) found -[14434] Forked 23348 -(23348) found -[14433] Forked 23349 -(23349) found -[14432] Forked 23350 -[14431] Forked 23351 -(23350) found -(23351) found -[14430] Forked 23352 -[14429] Forked 23353 -(23352) found -(23353) found -[14428] Forked 23354 -[14427] Forked 23355 -(23354) found -(23355) found -[14426] Forked 23356 -[14425] Forked 23357 -(23356) found -(23357) found -[14424] Forked 23358 -[14423] Forked 23359 -(23358) found -(23359) found -[14422] Forked 23360 -[14421] Forked 23361 -(23360) found -(23361) found -[14420] Forked 23362 -[14419] Forked 23363 -(23362) found -(23363) found -[14418] Forked 23364 -[14417] Forked 23365 -(23364) found -(23365) found -[14416] Forked 23366 -(23366) found -[14415] Forked 23367 -(23367) found -[14414] Forked 23368 -[14413] Forked 23369 -(23368) found -(23369) found -[14412] Forked 23370 -[14411] Forked 23371 -(23370) found -(23371) found -[14410] Forked 23372 -[14409] Forked 23373 -(23372) found -(23373) found -[14408] Forked 23374 -[14407] Forked 23375 -(23374) found -(23375) found -[14406] Forked 23376 -[14405] Forked 23377 -(23376) found -(23377) found -[14404] Forked 23378 -[14403] Forked 23379 -(23378) found -(23379) found -[14402] Forked 23380 -[14401] Forked 23381 -(23380) found -(23381) found -[14400] Forked 23382 -[14399] Forked 23383 -(23382) found -(23383) found -[14398] Forked 23384 -[14397] Forked 23385 -(23384) found -(23385) found -[14396] Forked 23386 -[14395] Forked 23387 -(23386) found -(23387) found -[14394] Forked 23388 -[14393] Forked 23389 -(23388) found -(23389) found -[14392] Forked 23390 -[14391] Forked 23391 -(23390) found -(23391) found -[14390] Forked 23392 -[14389] Forked 23393 -(23392) found -(23393) found -[14388] Forked 23394 -[14387] Forked 23395 -(23394) found -(23395) found -[14386] Forked 23396 -[14385] Forked 23397 -(23396) found -(23397) found -[14384] Forked 23398 -[14383] Forked 23399 -(23398) found -(23399) found -[14382] Forked 23400 -[14381] Forked 23401 -(23400) found -(23401) found -[14380] Forked 23402 -[14379] Forked 23403 -(23402) found -(23403) found -[14378] Forked 23404 -[14377] Forked 23405 -(23404) found -(23405) found -[14376] Forked 23406 -[14375] Forked 23407 -(23406) found -(23407) found -[14374] Forked 23408 -[14373] Forked 23409 -(23408) found -(23409) found -[14372] Forked 23410 -[14371] Forked 23411 -(23410) found -(23411) found -[14370] Forked 23412 -[14369] Forked 23413 -(23412) found -(23413) found -[14368] Forked 23414 -[14367] Forked 23415 -(23414) found -(23415) found -[14366] Forked 23416 -[14365] Forked 23417 -(23416) found -(23417) found -[14364] Forked 23418 -[14363] Forked 23419 -(23419) found -(23418) found -[14362] Forked 23420 -(23420) found -[14361] Forked 23421 -(23421) found -[14360] Forked 23422 -(23422) found -[14359] Forked 23423 -(23423) found -[14358] Forked 23424 -(23424) found -[14357] Forked 23425 -(23425) found -[14356] Forked 23426 -(23426) found -[14355] Forked 23427 -(23427) found -[14354] Forked 23428 -(23428) found -[14353] Forked 23429 -(23429) found -[14352] Forked 23430 -(23430) found -[14351] Forked 23431 -(23431) found -[14350] Forked 23432 -(23432) found -[14349] Forked 23433 -(23433) found -[14348] Forked 23434 -(23434) found -[14347] Forked 23435 -(23435) found -[14346] Forked 23436 -(23436) found -[14345] Forked 23437 -(23437) found -[14344] Forked 23438 -(23438) found -[14343] Forked 23439 -(23439) found -[14342] Forked 23440 -(23440) found -[14341] Forked 23441 -(23441) found -[14340] Forked 23442 -(23442) found -[14339] Forked 23443 -(23443) found -[14338] Forked 23444 -(23444) found -[14337] Forked 23445 -(23445) found -[14336] Forked 23446 -(23446) found -[14335] Forked 23447 -(23447) found -[14334] Forked 23448 -(23448) found -[14333] Forked 23449 -(23449) found -[14332] Forked 23450 -(23450) found -[14331] Forked 23451 -(23451) found -[14330] Forked 23452 -(23452) found -[14329] Forked 23453 -(23453) found -[14328] Forked 23454 -(23454) found -[14327] Forked 23455 -(23455) found -[14326] Forked 23456 -(23456) found -[14325] Forked 23457 -(23457) found -[14324] Forked 23458 -(23458) found -[14323] Forked 23459 -(23459) found -[14322] Forked 23460 -(23460) found -[14321] Forked 23461 -(23461) found -[14320] Forked 23462 -(23462) found -[14319] Forked 23463 -(23463) found -[14318] Forked 23464 -(23464) found -[14317] Forked 23465 -(23465) found -[14316] Forked 23466 -(23466) found -[14315] Forked 23467 -(23467) found -[14314] Forked 23468 -(23468) found -[14313] Forked 23469 -[14312] Forked 23470 -(23469) found -(23470) found -[14311] Forked 23471 -[14310] Forked 23472 -(23471) found -(23472) found -[14309] Forked 23473 -[14308] Forked 23474 -(23473) found -(23474) found -[14307] Forked 23475 -[14306] Forked 23476 -(23475) found -(23476) found -[14305] Forked 23477 -[14304] Forked 23478 -(23477) found -(23478) found -[14303] Forked 23479 -[14302] Forked 23480 -(23479) found -(23480) found -[14301] Forked 23481 -[14300] Forked 23482 -(23481) found -(23482) found -[14299] Forked 23483 -[14298] Forked 23484 -(23483) found -(23484) found -[14297] Forked 23485 -[14296] Forked 23486 -(23485) found -(23486) found -[14295] Forked 23487 -[14294] Forked 23488 -(23487) found -(23488) found -[14293] Forked 23489 -[14292] Forked 23490 -(23489) found -(23490) found -[14291] Forked 23491 -[14290] Forked 23492 -(23491) found -(23492) found -[14289] Forked 23493 -[14288] Forked 23494 -(23493) found -(23494) found -[14287] Forked 23495 -[14286] Forked 23496 -(23495) found -(23496) found -[14285] Forked 23497 -[14284] Forked 23498 -(23497) found -(23498) found -[14283] Forked 23499 -[14282] Forked 23500 -(23499) found -(23500) found -[14281] Forked 23501 -[14280] Forked 23502 -(23501) found -(23502) found -[14279] Forked 23503 -[14278] Forked 23504 -(23503) found -(23504) found -[14277] Forked 23505 -[14276] Forked 23506 -(23505) found -(23506) found -[14275] Forked 23507 -[14274] Forked 23508 -(23507) found -(23508) found -[14273] Forked 23509 -[14272] Forked 23510 -(23509) found -(23510) found -[14271] Forked 23511 -[14270] Forked 23512 -(23511) found -(23512) found -[14269] Forked 23513 -[14268] Forked 23514 -(23513) found -(23514) found -[14267] Forked 23515 -[14266] Forked 23516 -(23516) found -(23515) found -[14265] Forked 23517 -(23517) found -[14264] Forked 23518 -(23518) found -[14263] Forked 23519 -(23519) found -[14262] Forked 23520 -(23520) found -[14261] Forked 23521 -(23521) found -[14260] Forked 23522 -(23522) found -[14259] Forked 23523 -(23523) found -[14258] Forked 23524 -(23524) found -[14257] Forked 23525 -(23525) found -[14256] Forked 23526 -(23526) found -[14255] Forked 23527 -(23527) found -[14254] Forked 23528 -(23528) found -[14253] Forked 23529 -(23529) found -[14252] Forked 23530 -(23530) found -[14251] Forked 23531 -(23531) found -[14250] Forked 23532 -(23532) found -[14249] Forked 23533 -(23533) found -[14248] Forked 23534 -(23534) found -[14247] Forked 23535 -(23535) found -[14246] Forked 23536 -(23536) found -[14245] Forked 23537 -(23537) found -[14244] Forked 23538 -(23538) found -[14243] Forked 23539 -(23539) found -[14242] Forked 23540 -(23540) found -[14241] Forked 23541 -(23541) found -[14240] Forked 23542 -(23542) found -[14239] Forked 23543 -(23543) found -[14238] Forked 23544 -(23544) found -[14237] Forked 23545 -(23545) found -[14236] Forked 23546 -(23546) found -[14235] Forked 23547 -(23547) found -[14234] Forked 23548 -(23548) found -[14233] Forked 23549 -(23549) found -[14232] Forked 23550 -(23550) found -[14231] Forked 23551 -(23551) found -[14230] Forked 23552 -(23552) found -[14229] Forked 23553 -(23553) found -[14228] Forked 23554 -(23554) found -[14227] Forked 23555 -(23555) found -[14226] Forked 23556 -(23556) found -[14225] Forked 23557 -(23557) found -[14224] Forked 23558 -(23558) found -[14223] Forked 23559 -(23559) found -[14222] Forked 23560 -(23560) found -[14221] Forked 23561 -(23561) found -[14220] Forked 23562 -(23562) found -[14219] Forked 23563 -(23563) found -[14218] Forked 23564 -(23564) found -[14217] Forked 23565 -(23565) found -[14216] Forked 23566 -(23566) found -[14215] Forked 23567 -(23567) found -[14214] Forked 23568 -(23568) found -[14213] Forked 23569 -(23569) found -[14212] Forked 23570 -(23570) found -[14211] Forked 23571 -(23571) found -[14210] Forked 23572 -(23572) found -[14209] Forked 23573 -(23573) found -[14208] Forked 23574 -(23574) found -[14207] Forked 23575 -(23575) found -[14206] Forked 23576 -(23576) found -[14205] Forked 23577 -(23577) found -[14204] Forked 23578 -(23578) found -[14203] Forked 23579 -(23579) found -[14202] Forked 23580 -(23580) found -[14201] Forked 23581 -(23581) found -[14200] Forked 23582 -(23582) found -[14199] Forked 23583 -(23583) found -[14198] Forked 23584 -(23584) found -[14197] Forked 23585 -[14196] Forked 23586 -(23585) found -(23586) found -[14195] Forked 23587 -[14194] Forked 23588 -(23587) found -(23588) found -[14193] Forked 23589 -[14192] Forked 23590 -(23589) found -(23590) found -[14191] Forked 23591 -[14190] Forked 23592 -(23591) found -(23592) found -[14189] Forked 23593 -[14188] Forked 23594 -(23593) found -(23594) found -[14187] Forked 23595 -[14186] Forked 23596 -(23595) found -(23596) found -[14185] Forked 23597 -[14184] Forked 23598 -(23597) found -(23598) found -[14183] Forked 23599 -[14182] Forked 23600 -(23599) found -(23600) found -[14181] Forked 23601 -[14180] Forked 23602 -(23601) found -(23602) found -[14179] Forked 23603 -[14178] Forked 23604 -(23603) found -(23604) found -[14177] Forked 23605 -[14176] Forked 23606 -(23605) found -(23606) found -[14175] Forked 23607 -[14174] Forked 23608 -(23607) found -(23608) found -[14173] Forked 23609 -[14172] Forked 23610 -(23609) found -(23610) found -[14171] Forked 23611 -[14170] Forked 23612 -(23611) found -(23612) found -[14169] Forked 23613 -[14168] Forked 23614 -(23613) found -(23614) found -[14167] Forked 23615 -[14166] Forked 23616 -(23615) found -(23616) found -[14165] Forked 23617 -[14164] Forked 23618 -(23617) found -(23618) found -[14163] Forked 23619 -[14162] Forked 23620 -(23619) found -(23620) found -[14161] Forked 23621 -[14160] Forked 23622 -(23621) found -(23622) found -[14159] Forked 23623 -[14158] Forked 23624 -(23623) found -(23624) found -[14157] Forked 23625 -[14156] Forked 23626 -(23625) found -(23626) found -[14155] Forked 23627 -[14154] Forked 23628 -(23627) found -(23628) found -[14153] Forked 23629 -[14152] Forked 23630 -(23629) found -(23630) found -[14151] Forked 23631 -[14150] Forked 23632 -(23631) found -(23632) found -[14149] Forked 23633 -[14148] Forked 23634 -(23633) found -(23634) found -[14147] Forked 23635 -[14146] Forked 23636 -(23635) found -(23636) found -[14145] Forked 23637 -[14144] Forked 23638 -(23637) found -(23638) found -[14143] Forked 23639 -[14142] Forked 23640 -(23639) found -(23640) found -[14141] Forked 23641 -[14140] Forked 23642 -(23641) found -(23642) found -[14139] Forked 23643 -[14138] Forked 23644 -(23643) found -(23644) found -[14137] Forked 23645 -[14136] Forked 23646 -(23645) found -(23646) found -[14135] Forked 23647 -[14134] Forked 23648 -(23647) found -(23648) found -[14133] Forked 23649 -[14132] Forked 23650 -(23649) found -(23650) found -[14131] Forked 23651 -[14130] Forked 23652 -(23651) found -(23652) found -[14129] Forked 23653 -[14128] Forked 23654 -(23653) found -(23654) found -[14127] Forked 23655 -[14126] Forked 23656 -(23655) found -(23656) found -[14125] Forked 23657 -[14124] Forked 23658 -(23657) found -(23658) found -[14123] Forked 23659 -[14122] Forked 23660 -(23659) found -(23660) found -[14121] Forked 23661 -[14120] Forked 23662 -(23661) found -(23662) found -[14119] Forked 23663 -[14118] Forked 23664 -(23663) found -(23664) found -[14117] Forked 23665 -[14116] Forked 23666 -(23665) found -(23666) found -[14115] Forked 23667 -[14114] Forked 23668 -(23667) found -(23668) found -[14113] Forked 23669 -[14112] Forked 23670 -(23669) found -(23670) found -[14111] Forked 23671 -[14110] Forked 23672 -(23671) found -(23672) found -[14109] Forked 23673 -[14108] Forked 23674 -(23673) found -(23674) found -[14107] Forked 23675 -[14106] Forked 23676 -(23675) found -(23676) found -[14105] Forked 23677 -[14104] Forked 23678 -(23677) found -(23678) found -[14103] Forked 23679 -[14102] Forked 23680 -(23679) found -(23680) found -[14101] Forked 23681 -[14100] Forked 23682 -(23681) found -(23682) found -[14099] Forked 23683 -[14098] Forked 23684 -(23683) found -(23684) found -[14097] Forked 23685 -[14096] Forked 23686 -(23685) found -(23686) found -[14095] Forked 23687 -[14094] Forked 23688 -(23687) found -(23688) found -[14093] Forked 23689 -[14092] Forked 23690 -(23689) found -(23690) found -[14091] Forked 23691 -[14090] Forked 23692 -(23691) found -(23692) found -[14089] Forked 23693 -[14088] Forked 23694 -(23693) found -(23694) found -[14087] Forked 23695 -[14086] Forked 23696 -(23695) found -(23696) found -[14085] Forked 23697 -[14084] Forked 23698 -(23697) found -(23698) found -[14083] Forked 23699 -[14082] Forked 23700 -(23699) found -(23700) found -[14081] Forked 23701 -[14080] Forked 23702 -(23701) found -(23702) found -[14079] Forked 23703 -[14078] Forked 23704 -(23703) found -(23704) found -[14077] Forked 23705 -[14076] Forked 23706 -(23705) found -(23706) found -[14075] Forked 23707 -[14074] Forked 23708 -(23707) found -(23708) found -[14073] Forked 23709 -[14072] Forked 23710 -(23709) found -(23710) found -[14071] Forked 23711 -[14070] Forked 23712 -(23711) found -(23712) found -[14069] Forked 23713 -[14068] Forked 23714 -(23713) found -(23714) found -[14067] Forked 23715 -[14066] Forked 23716 -(23715) found -(23716) found -[14065] Forked 23717 -[14064] Forked 23718 -(23717) found -(23718) found -[14063] Forked 23719 -(23719) found -[14062] Forked 23720 -(23720) found -[14061] Forked 23721 -(23721) found -[14060] Forked 23722 -(23722) found -[14059] Forked 23723 -(23723) found -[14058] Forked 23724 -(23724) found -[14057] Forked 23725 -(23725) found -[14056] Forked 23726 -(23726) found -[14055] Forked 23727 -(23727) found -[14054] Forked 23728 -(23728) found -[14053] Forked 23729 -(23729) found -[14052] Forked 23730 -(23730) found -[14051] Forked 23731 -(23731) found -[14050] Forked 23732 -(23732) found -[14049] Forked 23733 -(23733) found -[14048] Forked 23734 -(23734) found -[14047] Forked 23735 -(23735) found -[14046] Forked 23736 -(23736) found -[14045] Forked 23737 -(23737) found -[14044] Forked 23738 -(23738) found -[14043] Forked 23739 -(23739) found -[14042] Forked 23740 -(23740) found -[14041] Forked 23741 -(23741) found -[14040] Forked 23742 -(23742) found -[14039] Forked 23743 -(23743) found -[14038] Forked 23744 -(23744) found -[14037] Forked 23745 -(23745) found -[14036] Forked 23746 -(23746) found -[14035] Forked 23747 -(23747) found -[14034] Forked 23748 -(23748) found -[14033] Forked 23749 -(23749) found -[14032] Forked 23750 -(23750) found -[14031] Forked 23751 -(23751) found -[14030] Forked 23752 -(23752) found -[14029] Forked 23753 -(23753) found -[14028] Forked 23754 -(23754) found -[14027] Forked 23755 -(23755) found -[14026] Forked 23756 -(23756) found -[14025] Forked 23757 -[14024] Forked 23758 -(23757) found -(23758) found -[14023] Forked 23759 -[14022] Forked 23760 -(23759) found -(23760) found -[14021] Forked 23761 -[14020] Forked 23762 -(23761) found -(23762) found -[14019] Forked 23763 -[14018] Forked 23764 -(23763) found -(23764) found -[14017] Forked 23765 -[14016] Forked 23766 -(23765) found -(23766) found -[14015] Forked 23767 -[14014] Forked 23768 -(23767) found -(23768) found -[14013] Forked 23769 -[14012] Forked 23770 -(23769) found -(23770) found -[14011] Forked 23771 -[14010] Forked 23772 -(23771) found -(23772) found -[14009] Forked 23773 -[14008] Forked 23774 -(23773) found -(23774) found -[14007] Forked 23775 -[14006] Forked 23776 -(23775) found -(23776) found -[14005] Forked 23777 -[14004] Forked 23778 -(23777) found -(23778) found -[14003] Forked 23779 -[14002] Forked 23780 -(23779) found -(23780) found -[14001] Forked 23781 -[14000] Forked 23782 -(23781) found -(23782) found -[13999] Forked 23783 -[13998] Forked 23784 -(23783) found -(23784) found -[13997] Forked 23785 -[13996] Forked 23786 -(23785) found -(23786) found -[13995] Forked 23787 -[13994] Forked 23788 -(23787) found -(23788) found -[13993] Forked 23789 -[13992] Forked 23790 -(23789) found -(23790) found -[13991] Forked 23791 -[13990] Forked 23792 -(23791) found -(23792) found -[13989] Forked 23793 -[13988] Forked 23794 -(23793) found -(23794) found -[13987] Forked 23795 -[13986] Forked 23796 -(23795) found -(23796) found -[13985] Forked 23797 -[13984] Forked 23798 -(23797) found -(23798) found -[13983] Forked 23799 -[13982] Forked 23800 -(23799) found -(23800) found -[13981] Forked 23801 -[13980] Forked 23802 -(23801) found -(23802) found -[13979] Forked 23803 -[13978] Forked 23804 -(23803) found -(23804) found -[13977] Forked 23805 -[13976] Forked 23806 -(23805) found -(23806) found -[13975] Forked 23807 -[13974] Forked 23808 -(23807) found -(23808) found -[13973] Forked 23809 -[13972] Forked 23810 -(23809) found -(23810) found -[13971] Forked 23811 -[13970] Forked 23812 -(23811) found -(23812) found -[13969] Forked 23813 -[13968] Forked 23814 -(23813) found -(23814) found -[13967] Forked 23815 -[13966] Forked 23816 -(23815) found -(23816) found -[13965] Forked 23817 -[13964] Forked 23818 -(23817) found -(23818) found -[13963] Forked 23819 -[13962] Forked 23820 -(23819) found -(23820) found -[13961] Forked 23821 -[13960] Forked 23822 -(23821) found -(23822) found -[13959] Forked 23823 -[13958] Forked 23824 -(23823) found -(23824) found -[13957] Forked 23825 -[13956] Forked 23826 -(23825) found -(23826) found -[13955] Forked 23827 -[13954] Forked 23828 -(23827) found -(23828) found -[13953] Forked 23829 -[13952] Forked 23830 -(23829) found -(23830) found -[13951] Forked 23831 -[13950] Forked 23832 -(23831) found -(23832) found -[13949] Forked 23833 -[13948] Forked 23834 -(23833) found -(23834) found -[13947] Forked 23835 -[13946] Forked 23836 -(23835) found -(23836) found -[13945] Forked 23837 -[13944] Forked 23838 -(23837) found -(23838) found -[13943] Forked 23839 -[13942] Forked 23840 -(23839) found -(23840) found -[13941] Forked 23841 -[13940] Forked 23842 -(23841) found -(23842) found -[13939] Forked 23843 -[13938] Forked 23844 -(23843) found -(23844) found -[13937] Forked 23845 -[13936] Forked 23847 -(23845) found -(23847) found -[13935] Forked 23848 -(23848) found -[13934] Forked 23849 -(23849) found -[13933] Forked 23850 -(23850) found -[13932] Forked 23851 -(23851) found -[13931] Forked 23852 -(23852) found -[13930] Forked 23853 -(23853) found -[13929] Forked 23854 -(23854) found -[13928] Forked 23855 -(23855) found -[13927] Forked 23856 -(23856) found -[13926] Forked 23857 -(23857) found -[13925] Forked 23858 -(23858) found -[13924] Forked 23859 -(23859) found -[13923] Forked 23860 -(23860) found -[13922] Forked 23861 -(23861) found -[13921] Forked 23862 -(23862) found -[13920] Forked 23863 -(23863) found -[13919] Forked 23864 -(23864) found -[13918] Forked 23865 -(23865) found -[13917] Forked 23866 -(23866) found -[13916] Forked 23867 -(23867) found -[13915] Forked 23868 -(23868) found -[13914] Forked 23869 -(23869) found -[13913] Forked 23870 -(23870) found -[13912] Forked 23871 -(23871) found -[13911] Forked 23872 -(23872) found -[13910] Forked 23873 -(23873) found -[13909] Forked 23874 -(23874) found -[13908] Forked 23875 -(23875) found -[13907] Forked 23876 -(23876) found -[13906] Forked 23877 -(23877) found -[13905] Forked 23878 -(23878) found -[13904] Forked 23879 -(23879) found -[13903] Forked 23880 -(23880) found -[13902] Forked 23881 -(23881) found -[13901] Forked 23882 -(23882) found -[13900] Forked 23883 -(23883) found -[13899] Forked 23884 -(23884) found -[13898] Forked 23885 -(23885) found -[13897] Forked 23886 -(23886) found -[13896] Forked 23887 -(23887) found -[13895] Forked 23888 -(23888) found -[13894] Forked 23889 -(23889) found -[13893] Forked 23890 -(23890) found -[13892] Forked 23891 -(23891) found -[13891] Forked 23892 -(23892) found -[13890] Forked 23893 -(23893) found -[13889] Forked 23894 -(23894) found -[13888] Forked 23895 -(23895) found -[13887] Forked 23896 -(23896) found -[13886] Forked 23897 -(23897) found -[13885] Forked 23898 -(23898) found -[13884] Forked 23899 -(23899) found -[13883] Forked 23900 -(23900) found -[13882] Forked 23901 -(23901) found -[13881] Forked 23902 -(23902) found -[13880] Forked 23903 -(23903) found -[13879] Forked 23904 -(23904) found -[13878] Forked 23905 -(23905) found -[13877] Forked 23906 -(23906) found -[13876] Forked 23907 -(23907) found -[13875] Forked 23908 -(23908) found -[13874] Forked 23909 -(23909) found -[13873] Forked 23910 -(23910) found -[13872] Forked 23911 -(23911) found -[13871] Forked 23912 -(23912) found -[13870] Forked 23913 -(23913) found -[13869] Forked 23914 -(23914) found -[13868] Forked 23915 -(23915) found -[13867] Forked 23916 -(23916) found -[13866] Forked 23917 -(23917) found -[13865] Forked 23918 -[13864] Forked 23919 -(23918) found -(23919) found -[13863] Forked 23920 -[13862] Forked 23921 -(23920) found -(23921) found -[13861] Forked 23922 -[13860] Forked 23923 -(23922) found -(23923) found -[13859] Forked 23924 -(23924) found -[13858] Forked 23925 -[13857] Forked 23926 -(23926) found -(23925) found -[13856] Forked 23927 -(23927) found -[13855] Forked 23928 -(23928) found -[13854] Forked 23929 -(23929) found -[13853] Forked 23930 -(23930) found -[13852] Forked 23931 -(23931) found -[13851] Forked 23932 -(23932) found -[13850] Forked 23933 -(23933) found -[13849] Forked 23934 -(23934) found -[13848] Forked 23935 -(23935) found -[13847] Forked 23936 -(23936) found -[13846] Forked 23937 -(23937) found -[13845] Forked 23938 -(23938) found -[13844] Forked 23939 -(23939) found -[13843] Forked 23940 -(23940) found -[13842] Forked 23941 -(23941) found -[13841] Forked 23942 -(23942) found -[13840] Forked 23943 -[13839] Forked 23944 -(23943) found -(23944) found -[13838] Forked 23945 -[13837] Forked 23946 -(23946) found -(23945) found -[13836] Forked 23947 -(23947) found -[13835] Forked 23948 -(23948) found -[13834] Forked 23949 -(23949) found -[13833] Forked 23950 -(23950) found -[13832] Forked 23951 -(23951) found -[13831] Forked 23952 -(23952) found -[13830] Forked 23953 -(23953) found -[13829] Forked 23954 -(23954) found -[13828] Forked 23955 -(23955) found -[13827] Forked 23956 -(23956) found -[13826] Forked 23957 -(23957) found -[13825] Forked 23958 -(23958) found -[13824] Forked 23959 -(23959) found -[13823] Forked 23960 -(23960) found -[13822] Forked 23961 -(23961) found -[13821] Forked 23962 -(23962) found -[13820] Forked 23963 -(23963) found -[13819] Forked 23964 -(23964) found -[13818] Forked 23965 -(23965) found -[13817] Forked 23966 -(23966) found -[13816] Forked 23967 -(23967) found -[13815] Forked 23968 -(23968) found -[13814] Forked 23969 -(23969) found -[13813] Forked 23970 -(23970) found -[13812] Forked 23971 -(23971) found -[13811] Forked 23972 -(23972) found -[13810] Forked 23973 -(23973) found -[13809] Forked 23974 -(23974) found -[13808] Forked 23975 -(23975) found -[13807] Forked 23976 -(23976) found -[13806] Forked 23977 -(23977) found -[13805] Forked 23978 -(23978) found -[13804] Forked 23979 -(23979) found -[13803] Forked 23980 -(23980) found -[13802] Forked 23981 -(23981) found -[13801] Forked 23982 -(23982) found -[13800] Forked 23983 -(23983) found -[13799] Forked 23984 -(23984) found -[13798] Forked 23985 -[13797] Forked 23986 -(23985) found -(23986) found -[13796] Forked 23987 -[13795] Forked 23988 -(23987) found -(23988) found -[13794] Forked 23989 -[13793] Forked 23990 -(23989) found -(23990) found -[13792] Forked 23991 -[13791] Forked 23992 -(23991) found -(23992) found -[13790] Forked 23993 -[13789] Forked 23994 -(23993) found -(23994) found -[13788] Forked 23995 -[13787] Forked 23996 -(23995) found -(23996) found -[13786] Forked 23997 -[13785] Forked 23998 -(23997) found -(23998) found -[13784] Forked 23999 -[13783] Forked 24000 -(23999) found -(24000) found -[13782] Forked 24001 -[13781] Forked 24002 -(24001) found -(24002) found -[13780] Forked 24003 -[13779] Forked 24004 -(24004) found -(24003) found -[13778] Forked 24005 -(24005) found -[13777] Forked 24006 -(24006) found -[13776] Forked 24007 -(24007) found -[13775] Forked 24008 -(24008) found -[13774] Forked 24009 -(24009) found -[13773] Forked 24010 -(24010) found -[13772] Forked 24011 -(24011) found -[13771] Forked 24012 -(24012) found -[13770] Forked 24013 -(24013) found -[13769] Forked 24014 -(24014) found -[13768] Forked 24015 -(24015) found -[13767] Forked 24016 -(24016) found -[13766] Forked 24017 -(24017) found -[13765] Forked 24018 -(24018) found -[13764] Forked 24019 -[13763] Forked 24020 -(24019) found -(24020) found -[13762] Forked 24021 -[13761] Forked 24022 -(24021) found -(24022) found -[13760] Forked 24023 -[13759] Forked 24024 -(24023) found -(24024) found -[13758] Forked 24025 -[13757] Forked 24026 -(24025) found -(24026) found -[13756] Forked 24027 -[13755] Forked 24028 -(24027) found -(24028) found -[13754] Forked 24029 -[13753] Forked 24030 -(24029) found -(24030) found -[13752] Forked 24031 -[13751] Forked 24032 -(24031) found -(24032) found -[13750] Forked 24033 -[13749] Forked 24034 -(24033) found -(24034) found -[13748] Forked 24035 -[13747] Forked 24036 -(24035) found -(24036) found -[13746] Forked 24037 -[13745] Forked 24038 -(24037) found -(24038) found -[13744] Forked 24039 -[13743] Forked 24040 -(24039) found -(24040) found -[13742] Forked 24041 -[13741] Forked 24042 -(24041) found -(24042) found -[13740] Forked 24043 -[13739] Forked 24044 -(24043) found -(24044) found -[13738] Forked 24045 -(24045) found -[13737] Forked 24046 -[13736] Forked 24048 -(24046) found -(24048) found -[13735] Forked 24049 -(24049) found -[13734] Forked 24050 -(24050) found -[13733] Forked 24051 -(24051) found -[13732] Forked 24052 -(24052) found -[13731] Forked 24053 -(24053) found -[13730] Forked 24054 -(24054) found -[13729] Forked 24055 -(24055) found -[13728] Forked 24056 -(24056) found -[13727] Forked 24057 -(24057) found -[13726] Forked 24058 -(24058) found -[13725] Forked 24059 -(24059) found -[13724] Forked 24060 -(24060) found -[13723] Forked 24061 -(24061) found -[13722] Forked 24062 -(24062) found -[13721] Forked 24063 -(24063) found -[13720] Forked 24064 -(24064) found -[13719] Forked 24065 -(24065) found -[13718] Forked 24066 -(24066) found -[13717] Forked 24067 -(24067) found -[13716] Forked 24068 -(24068) found -[13715] Forked 24069 -(24069) found -[13714] Forked 24070 -(24070) found -[13713] Forked 24071 -(24071) found -[13712] Forked 24072 -(24072) found -[13711] Forked 24073 -(24073) found -[13710] Forked 24074 -(24074) found -[13709] Forked 24075 -(24075) found -[13708] Forked 24076 -(24076) found -[13707] Forked 24077 -(24077) found -[13706] Forked 24078 -(24078) found -[13705] Forked 24079 -(24079) found -[13704] Forked 24080 -(24080) found -[13703] Forked 24081 -(24081) found -[13702] Forked 24082 -(24082) found -[13701] Forked 24083 -(24083) found -[13700] Forked 24084 -(24084) found -[13699] Forked 24085 -(24085) found -[13698] Forked 24086 -(24086) found -[13697] Forked 24087 -(24087) found -[13696] Forked 24088 -(24088) found -[13695] Forked 24089 -(24089) found -[13694] Forked 24090 -(24090) found -[13693] Forked 24091 -(24091) found -[13692] Forked 24092 -(24092) found -[13691] Forked 24093 -(24093) found -[13690] Forked 24094 -(24094) found -[13689] Forked 24095 -(24095) found -[13688] Forked 24096 -(24096) found -[13687] Forked 24097 -(24097) found -[13686] Forked 24098 -(24098) found -[13685] Forked 24099 -(24099) found -[13684] Forked 24100 -(24100) found -[13683] Forked 24101 -(24101) found -[13682] Forked 24102 -(24102) found -[13681] Forked 24103 -(24103) found -[13680] Forked 24104 -(24104) found -[13679] Forked 24105 -(24105) found -[13678] Forked 24106 -(24106) found -[13677] Forked 24107 -(24107) found -[13676] Forked 24108 -(24108) found -[13675] Forked 24109 -(24109) found -[13674] Forked 24110 -(24110) found -[13673] Forked 24111 -(24111) found -[13672] Forked 24112 -(24112) found -[13671] Forked 24113 -(24113) found -[13670] Forked 24114 -(24114) found -[13669] Forked 24115 -(24115) found -[13668] Forked 24116 -(24116) found -[13667] Forked 24117 -(24117) found -[13666] Forked 24118 -(24118) found -[13665] Forked 24119 -(24119) found -[13664] Forked 24120 -(24120) found -[13663] Forked 24121 -(24121) found -[13662] Forked 24122 -(24122) found -[13661] Forked 24123 -(24123) found -[13660] Forked 24124 -(24124) found -[13659] Forked 24125 -(24125) found -[13658] Forked 24126 -[13657] Forked 24127 -(24126) found -(24127) found -[13656] Forked 24128 -[13655] Forked 24129 -(24128) found -(24129) found -[13654] Forked 24130 -[13653] Forked 24131 -(24130) found -(24131) found -[13652] Forked 24132 -[13651] Forked 24133 -(24132) found -(24133) found -[13650] Forked 24134 -[13649] Forked 24135 -(24135) found -(24134) found -[13648] Forked 24136 -(24136) found -[13647] Forked 24137 -(24137) found -[13646] Forked 24139 -(24139) found -[13645] Forked 24140 -(24140) found -[13644] Forked 24141 -(24141) found -[13643] Forked 24142 -(24142) found -[13642] Forked 24143 -(24143) found -[13641] Forked 24144 -(24144) found -[13640] Forked 24145 -(24145) found -[13639] Forked 24146 -(24146) found -[13638] Forked 24147 -(24147) found -[13637] Forked 24148 -(24148) found -[13636] Forked 24149 -(24149) found -[13635] Forked 24150 -(24150) found -[13634] Forked 24151 -(24151) found -[13633] Forked 24152 -(24152) found -[13632] Forked 24153 -(24153) found -[13631] Forked 24154 -[13630] Forked 24155 -(24154) found -(24155) found -[13629] Forked 24156 -[13628] Forked 24157 -(24156) found -(24157) found -[13627] Forked 24158 -[13626] Forked 24159 -(24158) found -(24159) found -[13625] Forked 24160 -[13624] Forked 24161 -(24160) found -(24161) found -[13623] Forked 24162 -[13622] Forked 24163 -(24162) found -(24163) found -[13621] Forked 24164 -(24164) found -[13620] Forked 24165 -(24165) found -[13619] Forked 24166 -(24166) found -[13618] Forked 24167 -(24167) found -[13617] Forked 24168 -(24168) found -[13616] Forked 24169 -(24169) found -[13615] Forked 24170 -(24170) found -[13614] Forked 24171 -(24171) found -[13613] Forked 24172 -(24172) found -[13612] Forked 24173 -(24173) found -[13611] Forked 24174 -(24174) found -[13610] Forked 24175 -(24175) found -[13609] Forked 24176 -(24176) found -[13608] Forked 24177 -(24177) found -[13607] Forked 24178 -(24178) found -[13606] Forked 24179 -(24179) found -[13605] Forked 24180 -(24180) found -[13604] Forked 24181 -(24181) found -[13603] Forked 24182 -(24182) found -[13602] Forked 24183 -(24183) found -[13601] Forked 24184 -(24184) found -[13600] Forked 24185 -(24185) found -[13599] Forked 24186 -(24186) found -[13598] Forked 24187 -(24187) found -[13597] Forked 24188 -(24188) found -[13596] Forked 24189 -(24189) found -[13595] Forked 24190 -(24190) found -[13594] Forked 24191 -(24191) found -[13593] Forked 24192 -(24192) found -[13592] Forked 24193 -(24193) found -[13591] Forked 24194 -(24194) found -[13590] Forked 24195 -(24195) found -[13589] Forked 24196 -(24196) found -[13588] Forked 24197 -(24197) found -[13587] Forked 24198 -(24198) found -[13586] Forked 24199 -(24199) found -[13585] Forked 24200 -[13584] Forked 24201 -(24200) found -(24201) found -[13583] Forked 24202 -[13582] Forked 24203 -(24202) found -(24203) found -[13581] Forked 24204 -[13580] Forked 24205 -(24204) found -(24205) found -[13579] Forked 24206 -[13578] Forked 24207 -(24206) found -(24207) found -[13577] Forked 24208 -[13576] Forked 24209 -(24208) found -(24209) found -[13575] Forked 24210 -[13574] Forked 24211 -(24210) found -(24211) found -[13573] Forked 24212 -[13572] Forked 24213 -(24212) found -(24213) found -[13571] Forked 24214 -[13570] Forked 24215 -(24214) found -(24215) found -[13569] Forked 24216 -[13568] Forked 24217 -(24216) found -(24217) found -[13567] Forked 24218 -[13566] Forked 24219 -(24218) found -(24219) found -[13565] Forked 24220 -[13564] Forked 24221 -(24220) found -(24221) found -[13563] Forked 24222 -[13562] Forked 24224 -(24222) found -(24224) found -[13561] Forked 24225 -(24225) found -[13560] Forked 24226 -(24226) found -[13559] Forked 24227 -(24227) found -[13558] Forked 24228 -(24228) found -[13557] Forked 24229 -(24229) found -[13556] Forked 24230 -(24230) found -[13555] Forked 24231 -(24231) found -[13554] Forked 24232 -(24232) found -[13553] Forked 24233 -(24233) found -[13552] Forked 24234 -(24234) found -[13551] Forked 24235 -(24235) found -[13550] Forked 24236 -(24236) found -[13549] Forked 24237 -(24237) found -[13548] Forked 24238 -(24238) found -[13547] Forked 24239 -(24239) found -[13546] Forked 24240 -(24240) found -[13545] Forked 24241 -(24241) found -[13544] Forked 24242 -(24242) found -[13543] Forked 24243 -(24243) found -[13542] Forked 24244 -(24244) found -[13541] Forked 24245 -(24245) found -[13540] Forked 24246 -(24246) found -[13539] Forked 24247 -(24247) found -[13538] Forked 24248 -(24248) found -[13537] Forked 24249 -(24249) found -[13536] Forked 24250 -(24250) found -[13535] Forked 24251 -(24251) found -[13534] Forked 24252 -(24252) found -[13533] Forked 24253 -(24253) found -[13532] Forked 24254 -(24254) found -[13531] Forked 24255 -(24255) found -[13530] Forked 24256 -(24256) found -[13529] Forked 24257 -(24257) found -[13528] Forked 24258 -(24258) found -[13527] Forked 24259 -(24259) found -[13526] Forked 24260 -(24260) found -[13525] Forked 24261 -(24261) found -[13524] Forked 24262 -(24262) found -[13523] Forked 24263 -(24263) found -[13522] Forked 24264 -(24264) found -[13521] Forked 24265 -(24265) found -[13520] Forked 24266 -(24266) found -[13519] Forked 24267 -(24267) found -[13518] Forked 24268 -(24268) found -[13517] Forked 24269 -(24269) found -[13516] Forked 24270 -(24270) found -[13515] Forked 24271 -(24271) found -[13514] Forked 24272 -(24272) found -[13513] Forked 24273 -(24273) found -[13512] Forked 24274 -(24274) found -[13511] Forked 24275 -(24275) found -[13510] Forked 24276 -[13509] Forked 24277 -(24276) found -(24277) found -[13508] Forked 24278 -[13507] Forked 24279 -(24278) found -(24279) found -[13506] Forked 24280 -[13505] Forked 24281 -(24280) found -(24281) found -[13504] Forked 24282 -[13503] Forked 24283 -(24282) found -(24283) found -[13502] Forked 24284 -[13501] Forked 24285 -(24284) found -(24285) found -[13500] Forked 24286 -[13499] Forked 24287 -(24286) found -(24287) found -[13498] Forked 24288 -[13497] Forked 24289 -(24288) found -(24289) found -[13496] Forked 24290 -[13495] Forked 24291 -(24290) found -(24291) found -[13494] Forked 24292 -[13493] Forked 24293 -(24292) found -(24293) found -[13492] Forked 24294 -[13491] Forked 24295 -(24294) found -(24295) found -[13490] Forked 24296 -[13489] Forked 24297 -(24296) found -(24297) found -[13488] Forked 24298 -[13487] Forked 24299 -(24298) found -(24299) found -[13486] Forked 24300 -[13485] Forked 24301 -(24300) found -(24301) found -[13484] Forked 24302 -[13483] Forked 24303 -(24302) found -(24303) found -[13482] Forked 24304 -[13481] Forked 24305 -(24304) found -(24305) found -[13480] Forked 24306 -[13479] Forked 24307 -(24306) found -(24307) found -[13478] Forked 24308 -[13477] Forked 24309 -(24308) found -(24309) found -[13476] Forked 24310 -[13475] Forked 24311 -(24310) found -(24311) found -[13474] Forked 24312 -[13473] Forked 24313 -(24312) found -(24313) found -[13472] Forked 24314 -[13471] Forked 24315 -(24314) found -(24315) found -[13470] Forked 24316 -[13469] Forked 24317 -(24316) found -(24317) found -[13468] Forked 24319 -[13467] Forked 24320 -(24319) found -(24320) found -[13466] Forked 24321 -(24321) found -[13465] Forked 24322 -(24322) found -[13464] Forked 24323 -(24323) found -[13463] Forked 24324 -(24324) found -[13462] Forked 24325 -(24325) found -[13461] Forked 24326 -(24326) found -[13460] Forked 24327 -(24327) found -[13459] Forked 24328 -(24328) found -[13458] Forked 24329 -(24329) found -[13457] Forked 24330 -(24330) found -[13456] Forked 24331 -(24331) found -[13455] Forked 24332 -(24332) found -[13454] Forked 24333 -(24333) found -[13453] Forked 24334 -(24334) found -[13452] Forked 24335 -(24335) found -[13451] Forked 24336 -(24336) found -[13450] Forked 24337 -(24337) found -[13449] Forked 24338 -(24338) found -[13448] Forked 24339 -(24339) found -[13447] Forked 24340 -(24340) found -[13446] Forked 24341 -(24341) found -[13445] Forked 24342 -(24342) found -[13444] Forked 24343 -(24343) found -[13443] Forked 24344 -(24344) found -[13442] Forked 24345 -(24345) found -[13441] Forked 24346 -(24346) found -[13440] Forked 24347 -(24347) found -[13439] Forked 24348 -(24348) found -[13438] Forked 24349 -(24349) found -[13437] Forked 24350 -(24350) found -[13436] Forked 24351 -(24351) found -[13435] Forked 24352 -(24352) found -[13434] Forked 24353 -(24353) found -[13433] Forked 24354 -(24354) found -[13432] Forked 24355 -(24355) found -[13431] Forked 24356 -(24356) found -[13430] Forked 24357 -[13429] Forked 24358 -(24357) found -(24358) found -[13428] Forked 24359 -[13427] Forked 24360 -(24359) found -(24360) found -[13426] Forked 24361 -[13425] Forked 24362 -(24361) found -(24362) found -[13424] Forked 24363 -[13423] Forked 24364 -(24363) found -(24364) found -[13422] Forked 24365 -[13421] Forked 24366 -(24365) found -(24366) found -[13420] Forked 24367 -[13419] Forked 24368 -(24367) found -(24368) found -[13418] Forked 24369 -[13417] Forked 24370 -(24369) found -(24370) found -[13416] Forked 24371 -[13415] Forked 24372 -(24371) found -(24372) found -[13414] Forked 24373 -[13413] Forked 24374 -(24373) found -(24374) found -[13412] Forked 24375 -[13411] Forked 24376 -(24375) found -(24376) found -[13410] Forked 24377 -[13409] Forked 24378 -(24377) found -(24378) found -[13408] Forked 24379 -(24379) found -[13407] Forked 24380 -[13406] Forked 24381 -(24380) found -(24381) found -[13405] Forked 24382 -[13404] Forked 24383 -(24382) found -(24383) found -[13403] Forked 24384 -[13402] Forked 24385 -(24384) found -(24385) found -[13401] Forked 24386 -[13400] Forked 24387 -(24386) found -(24387) found -[13399] Forked 24388 -[13398] Forked 24389 -(24388) found -(24389) found -[13397] Forked 24390 -[13396] Forked 24391 -(24390) found -(24391) found -[13395] Forked 24392 -[13394] Forked 24393 -(24392) found -(24393) found -[13393] Forked 24394 -[13392] Forked 24395 -(24394) found -(24395) found -[13391] Forked 24396 -[13390] Forked 24397 -(24396) found -(24397) found -[13389] Forked 24398 -[13388] Forked 24399 -(24398) found -(24399) found -[13387] Forked 24400 -[13386] Forked 24401 -(24400) found -(24401) found -[13385] Forked 24402 -(24402) found -[13384] Forked 24403 -(24403) found -[13383] Forked 24404 -(24404) found -[13382] Forked 24405 -(24405) found -[13381] Forked 24406 -(24406) found -[13380] Forked 24407 -(24407) found -[13379] Forked 24408 -(24408) found -[13378] Forked 24409 -(24409) found -[13377] Forked 24410 -(24410) found -[13376] Forked 24411 -(24411) found -[13375] Forked 24412 -(24412) found -[13374] Forked 24413 -(24413) found -[13373] Forked 24414 -(24414) found -[13372] Forked 24415 -(24415) found -[13371] Forked 24416 -(24416) found -[13370] Forked 24417 -(24417) found -[13369] Forked 24418 -(24418) found -[13368] Forked 24419 -(24419) found -[13367] Forked 24420 -(24420) found -[13366] Forked 24421 -(24421) found -[13365] Forked 24422 -(24422) found -[13364] Forked 24423 -(24423) found -[13363] Forked 24424 -(24424) found -[13362] Forked 24425 -(24425) found -[13361] Forked 24426 -(24426) found -[13360] Forked 24427 -(24427) found -[13359] Forked 24428 -(24428) found -[13358] Forked 24429 -(24429) found -[13357] Forked 24430 -(24430) found -[13356] Forked 24431 -(24431) found -[13355] Forked 24432 -(24432) found -[13354] Forked 24433 -(24433) found -[13353] Forked 24434 -(24434) found -[13352] Forked 24435 -(24435) found -[13351] Forked 24436 -(24436) found -[13350] Forked 24437 -(24437) found -[13349] Forked 24438 -(24438) found -[13348] Forked 24439 -(24439) found -[13347] Forked 24440 -(24440) found -[13346] Forked 24441 -(24441) found -[13345] Forked 24442 -[13344] Forked 24443 -(24442) found -(24443) found -[13343] Forked 24444 -[13342] Forked 24445 -(24444) found -(24445) found -[13341] Forked 24446 -[13340] Forked 24447 -(24446) found -(24447) found -[13339] Forked 24448 -[13338] Forked 24449 -(24448) found -(24449) found -[13337] Forked 24450 -[13336] Forked 24451 -(24450) found -(24451) found -[13335] Forked 24452 -[13334] Forked 24453 -(24452) found -(24453) found -[13333] Forked 24454 -[13332] Forked 24455 -(24454) found -(24455) found -[13331] Forked 24456 -[13330] Forked 24457 -(24456) found -(24457) found -[13329] Forked 24458 -[13328] Forked 24459 -(24458) found -(24459) found -[13327] Forked 24460 -[13326] Forked 24461 -(24460) found -(24461) found -[13325] Forked 24462 -[13324] Forked 24463 -(24462) found -(24463) found -[13323] Forked 24464 -[13322] Forked 24465 -(24464) found -(24465) found -[13321] Forked 24466 -[13320] Forked 24467 -(24466) found -(24467) found -[13319] Forked 24468 -[13318] Forked 24469 -(24468) found -(24469) found -[13317] Forked 24470 -[13316] Forked 24473 -(24470) found -(24473) found -[13315] Forked 24474 -[13314] Forked 24475 -(24474) found -(24475) found -[13313] Forked 24476 -[13312] Forked 24477 -(24476) found -(24477) found -[13311] Forked 24478 -[13310] Forked 24479 -(24478) found -(24479) found -[13309] Forked 24480 -[13308] Forked 24481 -(24480) found -(24481) found -[13307] Forked 24482 -[13306] Forked 24483 -(24482) found -(24483) found -[13305] Forked 24484 -[13304] Forked 24485 -(24484) found -(24485) found -[13303] Forked 24486 -(24486) found -[13302] Forked 24487 -(24487) found -[13301] Forked 24488 -(24488) found -[13300] Forked 24489 -(24489) found -[13299] Forked 24490 -(24490) found -[13298] Forked 24491 -(24491) found -[13297] Forked 24492 -(24492) found -[13296] Forked 24493 -(24493) found -[13295] Forked 24494 -(24494) found -[13294] Forked 24495 -(24495) found -[13293] Forked 24496 -(24496) found -[13292] Forked 24497 -(24497) found -[13291] Forked 24498 -(24498) found -[13290] Forked 24499 -(24499) found -[13289] Forked 24500 -(24500) found -[13288] Forked 24501 -(24501) found -[13287] Forked 24502 -(24502) found -[13286] Forked 24503 -(24503) found -[13285] Forked 24504 -(24504) found -[13284] Forked 24505 -(24505) found -[13283] Forked 24506 -(24506) found -[13282] Forked 24507 -(24507) found -[13281] Forked 24508 -(24508) found -[13280] Forked 24509 -(24509) found -[13279] Forked 24510 -(24510) found -[13278] Forked 24511 -(24511) found -[13277] Forked 24512 -(24512) found -[13276] Forked 24513 -(24513) found -[13275] Forked 24514 -(24514) found -[13274] Forked 24515 -(24515) found -[13273] Forked 24516 -(24516) found -[13272] Forked 24517 -(24517) found -[13271] Forked 24518 -(24518) found -[13270] Forked 24519 -(24519) found -[13269] Forked 24520 -(24520) found -[13268] Forked 24521 -(24521) found -[13267] Forked 24522 -(24522) found -[13266] Forked 24523 -(24523) found -[13265] Forked 24524 -(24524) found -[13264] Forked 24525 -[13263] Forked 24526 -(24525) found -(24526) found -[13262] Forked 24527 -[13261] Forked 24528 -(24527) found -(24528) found -[13260] Forked 24529 -[13259] Forked 24530 -(24529) found -(24530) found -[13258] Forked 24531 -[13257] Forked 24532 -(24531) found -(24532) found -[13256] Forked 24533 -[13255] Forked 24534 -(24533) found -(24534) found -[13254] Forked 24535 -[13253] Forked 24536 -(24535) found -(24536) found -[13252] Forked 24537 -[13251] Forked 24538 -(24537) found -(24538) found -[13250] Forked 24539 -[13249] Forked 24540 -(24539) found -(24540) found -[13248] Forked 24541 -[13247] Forked 24542 -(24541) found -(24542) found -[13246] Forked 24543 -[13245] Forked 24544 -(24543) found -(24544) found -[13244] Forked 24545 -[13243] Forked 24546 -(24545) found -(24546) found -[13242] Forked 24547 -[13241] Forked 24548 -(24547) found -(24548) found -[13240] Forked 24549 -[13239] Forked 24550 -(24549) found -(24550) found -[13238] Forked 24551 -[13237] Forked 24552 -(24551) found -(24552) found -[13236] Forked 24553 -[13235] Forked 24554 -(24553) found -(24554) found -[13234] Forked 24555 -[13233] Forked 24556 -(24555) found -(24556) found -[13232] Forked 24557 -[13231] Forked 24558 -(24558) found -(24557) found -[13230] Forked 24559 -(24559) found -[13229] Forked 24560 -(24560) found -[13228] Forked 24561 -(24561) found -[13227] Forked 24562 -(24562) found -[13226] Forked 24563 -[13225] Forked 24564 -(24563) found -(24564) found -[13224] Forked 24565 -[13223] Forked 24566 -(24565) found -(24566) found -[13222] Forked 24567 -(24567) found -[13221] Forked 24568 -(24568) found -[13220] Forked 24569 -(24569) found -[13219] Forked 24570 -(24570) found -[13218] Forked 24571 -(24571) found -[13217] Forked 24572 -(24572) found -[13216] Forked 24573 -(24573) found -[13215] Forked 24574 -(24574) found -[13214] Forked 24575 -(24575) found -[13213] Forked 24576 -(24576) found -[13212] Forked 24577 -(24577) found -[13211] Forked 24578 -(24578) found -[13210] Forked 24579 -(24579) found -[13209] Forked 24580 -(24580) found -[13208] Forked 24581 -(24581) found -[13207] Forked 24582 -(24582) found -[13206] Forked 24583 -(24583) found -[13205] Forked 24584 -(24584) found -[13204] Forked 24585 -(24585) found -[13203] Forked 24586 -(24586) found -[13202] Forked 24587 -(24587) found -[13201] Forked 24588 -(24588) found -[13200] Forked 24589 -(24589) found -[13199] Forked 24590 -(24590) found -[13198] Forked 24591 -(24591) found -[13197] Forked 24592 -(24592) found -[13196] Forked 24593 -(24593) found -[13195] Forked 24594 -(24594) found -[13194] Forked 24595 -(24595) found -[13193] Forked 24596 -(24596) found -[13192] Forked 24597 -(24597) found -[13191] Forked 24598 -(24598) found -[13190] Forked 24599 -(24599) found -[13189] Forked 24600 -(24600) found -[13188] Forked 24601 -(24601) found -[13187] Forked 24602 -(24602) found -[13186] Forked 24603 -(24603) found -[13185] Forked 24604 -(24604) found -[13184] Forked 24605 -(24605) found -[13183] Forked 24606 -[13182] Forked 24607 -(24606) found -(24607) found -[13181] Forked 24608 -[13180] Forked 24609 -(24608) found -(24609) found -[13179] Forked 24610 -[13178] Forked 24611 -(24610) found -(24611) found -[13177] Forked 24612 -[13176] Forked 24613 -(24612) found -(24613) found -[13175] Forked 24614 -[13174] Forked 24615 -(24614) found -(24615) found -[13173] Forked 24616 -[13172] Forked 24617 -(24616) found -(24617) found -[13171] Forked 24618 -[13170] Forked 24619 -(24618) found -(24619) found -[13169] Forked 24620 -[13168] Forked 24621 -(24620) found -(24621) found -[13167] Forked 24622 -[13166] Forked 24623 -(24622) found -(24623) found -[13165] Forked 24624 -[13164] Forked 24625 -(24624) found -(24625) found -[13163] Forked 24626 -[13162] Forked 24627 -(24626) found -(24627) found -[13161] Forked 24628 -[13160] Forked 24629 -(24628) found -(24629) found -[13159] Forked 24630 -[13158] Forked 24631 -(24630) found -(24631) found -[13157] Forked 24632 -[13156] Forked 24633 -(24632) found -(24633) found -[13155] Forked 24634 -[13154] Forked 24635 -(24634) found -(24635) found -[13153] Forked 24636 -[13152] Forked 24637 -(24636) found -(24637) found -[13151] Forked 24638 -[13150] Forked 24639 -(24638) found -(24639) found -[13149] Forked 24640 -[13148] Forked 24641 -(24640) found -(24641) found -[13147] Forked 24642 -[13146] Forked 24643 -(24642) found -(24643) found -[13145] Forked 24644 -[13144] Forked 24645 -(24644) found -(24645) found -[13143] Forked 24646 -[13142] Forked 24647 -(24646) found -(24647) found -[13141] Forked 24648 -[13140] Forked 24649 -(24648) found -(24649) found -[13139] Forked 24650 -(24650) found -[13138] Forked 24651 -(24651) found -[13137] Forked 24652 -(24652) found -[13136] Forked 24653 -(24653) found -[13135] Forked 24654 -(24654) found -[13134] Forked 24655 -(24655) found -[13133] Forked 24656 -(24656) found -[13132] Forked 24657 -(24657) found -[13131] Forked 24658 -(24658) found -[13130] Forked 24659 -(24659) found -[13129] Forked 24660 -(24660) found -[13128] Forked 24661 -(24661) found -[13127] Forked 24662 -(24662) found -[13126] Forked 24663 -(24663) found -[13125] Forked 24664 -(24664) found -[13124] Forked 24665 -(24665) found -[13123] Forked 24666 -(24666) found -[13122] Forked 24667 -(24667) found -[13121] Forked 24668 -(24668) found -[13120] Forked 24669 -(24669) found -[13119] Forked 24670 -(24670) found -[13118] Forked 24671 -(24671) found -[13117] Forked 24672 -(24672) found -[13116] Forked 24673 -(24673) found -[13115] Forked 24674 -(24674) found -[13114] Forked 24675 -(24675) found -[13113] Forked 24676 -(24676) found -[13112] Forked 24677 -(24677) found -[13111] Forked 24678 -(24678) found -[13110] Forked 24679 -(24679) found -[13109] Forked 24680 -(24680) found -[13108] Forked 24681 -(24681) found -[13107] Forked 24682 -(24682) found -[13106] Forked 24683 -(24683) found -[13105] Forked 24684 -(24684) found -[13104] Forked 24685 -(24685) found -[13103] Forked 24686 -(24686) found -[13102] Forked 24687 -(24687) found -[13101] Forked 24688 -[13100] Forked 24689 -(24688) found -(24689) found -[13099] Forked 24690 -[13098] Forked 24691 -(24690) found -(24691) found -[13097] Forked 24692 -[13096] Forked 24693 -(24692) found -(24693) found -[13095] Forked 24694 -[13094] Forked 24695 -(24694) found -(24695) found -[13093] Forked 24696 -[13092] Forked 24697 -(24696) found -(24697) found -[13091] Forked 24698 -[13090] Forked 24699 -(24698) found -(24699) found -[13089] Forked 24700 -[13088] Forked 24701 -(24700) found -(24701) found -[13087] Forked 24702 -[13086] Forked 24703 -(24702) found -(24703) found -[13085] Forked 24704 -[13084] Forked 24705 -(24704) found -(24705) found -[13083] Forked 24706 -[13082] Forked 24707 -(24706) found -(24707) found -[13081] Forked 24708 -[13080] Forked 24709 -(24708) found -(24709) found -[13079] Forked 24710 -[13078] Forked 24711 -(24710) found -(24711) found -[13077] Forked 24712 -[13076] Forked 24713 -(24712) found -(24713) found -[13075] Forked 24714 -[13074] Forked 24715 -(24714) found -(24715) found -[13073] Forked 24716 -[13072] Forked 24717 -(24716) found -(24717) found -[13071] Forked 24718 -[13070] Forked 24719 -(24718) found -(24719) found -[13069] Forked 24720 -[13068] Forked 24721 -(24721) found -(24720) found -[13067] Forked 24722 -(24722) found -[13066] Forked 24723 -(24723) found -[13065] Forked 24724 -(24724) found -[13064] Forked 24725 -(24725) found -[13063] Forked 24726 -[13062] Forked 24727 -(24726) found -(24727) found -[13061] Forked 24728 -[13060] Forked 24729 -(24728) found -(24729) found -[13059] Forked 24730 -[13058] Forked 24731 -(24730) found -(24731) found -[13057] Forked 24732 -[13056] Forked 24733 -(24732) found -(24733) found -[13055] Forked 24734 -[13054] Forked 24735 -(24734) found -(24735) found -[13053] Forked 24736 -[13052] Forked 24737 -(24736) found -(24737) found -[13051] Forked 24738 -[13050] Forked 24739 -(24738) found -(24739) found -[13049] Forked 24740 -[13048] Forked 24741 -(24740) found -(24741) found -[13047] Forked 24742 -[13046] Forked 24743 -(24742) found -(24743) found -[13045] Forked 24744 -[13044] Forked 24745 -(24744) found -(24745) found -[13043] Forked 24746 -[13042] Forked 24747 -(24746) found -(24747) found -[13041] Forked 24748 -[13040] Forked 24749 -(24748) found -(24749) found -[13039] Forked 24750 -[13038] Forked 24751 -(24750) found -(24751) found -[13037] Forked 24752 -[13036] Forked 24753 -(24752) found -(24753) found -[13035] Forked 24754 -[13034] Forked 24755 -(24754) found -(24755) found -[13033] Forked 24756 -[13032] Forked 24757 -(24756) found -(24757) found -[13031] Forked 24758 -[13030] Forked 24759 -(24758) found -(24759) found -[13029] Forked 24760 -[13028] Forked 24761 -(24760) found -(24761) found -[13027] Forked 24762 -[13026] Forked 24763 -(24762) found -(24763) found -[13025] Forked 24764 -[13024] Forked 24765 -(24764) found -(24765) found -[13023] Forked 24766 -[13022] Forked 24767 -(24766) found -(24767) found -[13021] Forked 24768 -[13020] Forked 24769 -(24768) found -(24769) found -[13019] Forked 24770 -[13018] Forked 24771 -(24770) found -(24771) found -[13017] Forked 24772 -[13016] Forked 24773 -(24772) found -(24773) found -[13015] Forked 24774 -(24774) found -[13014] Forked 24775 -(24775) found -[13013] Forked 24776 -(24776) found -[13012] Forked 24777 -(24777) found -[13011] Forked 24778 -(24778) found -[13010] Forked 24779 -(24779) found -[13009] Forked 24780 -(24780) found -[13008] Forked 24781 -(24781) found -[13007] Forked 24782 -(24782) found -[13006] Forked 24783 -(24783) found -[13005] Forked 24784 -(24784) found -[13004] Forked 24785 -(24785) found -[13003] Forked 24786 -(24786) found -[13002] Forked 24787 -(24787) found -[13001] Forked 24788 -(24788) found -[13000] Forked 24789 -(24789) found -[12999] Forked 24790 -(24790) found -[12998] Forked 24791 -(24791) found -[12997] Forked 24792 -(24792) found -[12996] Forked 24793 -(24793) found -[12995] Forked 24794 -(24794) found -[12994] Forked 24795 -(24795) found -[12993] Forked 24796 -(24796) found -[12992] Forked 24797 -(24797) found -[12991] Forked 24798 -(24798) found -[12990] Forked 24799 -(24799) found -[12989] Forked 24800 -(24800) found -[12988] Forked 24801 -(24801) found -[12987] Forked 24802 -(24802) found -[12986] Forked 24803 -(24803) found -[12985] Forked 24804 -(24804) found -[12984] Forked 24805 -(24805) found -[12983] Forked 24806 -(24806) found -[12982] Forked 24807 -(24807) found -[12981] Forked 24808 -(24808) found -[12980] Forked 24809 -[12979] Forked 24810 -(24809) found -(24810) found -[12978] Forked 24811 -[12977] Forked 24812 -(24811) found -(24812) found -[12976] Forked 24813 -[12975] Forked 24814 -(24813) found -(24814) found -[12974] Forked 24815 -[12973] Forked 24816 -(24815) found -(24816) found -[12972] Forked 24817 -[12971] Forked 24818 -(24817) found -(24818) found -[12970] Forked 24819 -[12969] Forked 24820 -(24819) found -(24820) found -[12968] Forked 24821 -[12967] Forked 24822 -(24821) found -(24822) found -[12966] Forked 24823 -[12965] Forked 24824 -(24823) found -(24824) found -[12964] Forked 24825 -[12963] Forked 24826 -(24825) found -(24826) found -[12962] Forked 24827 -[12961] Forked 24828 -(24827) found -(24828) found -[12960] Forked 24829 -[12959] Forked 24830 -(24829) found -(24830) found -[12958] Forked 24831 -[12957] Forked 24832 -(24831) found -(24832) found -[12956] Forked 24833 -[12955] Forked 24834 -(24833) found -(24834) found -[12954] Forked 24835 -[12953] Forked 24836 -(24835) found -(24836) found -[12952] Forked 24837 -[12951] Forked 24838 -(24837) found -(24838) found -[12950] Forked 24839 -[12949] Forked 24840 -(24839) found -(24840) found -[12948] Forked 24841 -[12947] Forked 24842 -(24841) found -(24842) found -[12946] Forked 24843 -[12945] Forked 24844 -(24843) found -(24844) found -[12944] Forked 24845 -[12943] Forked 24846 -(24845) found -(24846) found -[12942] Forked 24847 -[12941] Forked 24848 -(24847) found -(24848) found -[12940] Forked 24849 -[12939] Forked 24850 -(24849) found -(24850) found -[12938] Forked 24851 -[12937] Forked 24852 -(24851) found -(24852) found -[12936] Forked 24853 -[12935] Forked 24854 -(24853) found -(24854) found -[12934] Forked 24855 -(24855) found -[12933] Forked 24856 -(24856) found -[12932] Forked 24857 -(24857) found -[12931] Forked 24858 -(24858) found -[12930] Forked 24859 -(24859) found -[12929] Forked 24860 -(24860) found -[12928] Forked 24861 -(24861) found -[12927] Forked 24862 -(24862) found -[12926] Forked 24863 -(24863) found -[12925] Forked 24864 -(24864) found -[12924] Forked 24865 -(24865) found -[12923] Forked 24866 -(24866) found -[12922] Forked 24867 -(24867) found -[12921] Forked 24868 -(24868) found -[12920] Forked 24869 -(24869) found -[12919] Forked 24870 -(24870) found -[12918] Forked 24871 -(24871) found -[12917] Forked 24872 -(24872) found -[12916] Forked 24873 -(24873) found -[12915] Forked 24874 -(24874) found -[12914] Forked 24875 -(24875) found -[12913] Forked 24876 -(24876) found -[12912] Forked 24877 -(24877) found -[12911] Forked 24878 -(24878) found -[12910] Forked 24879 -(24879) found -[12909] Forked 24880 -(24880) found -[12908] Forked 24881 -(24881) found -[12907] Forked 24882 -(24882) found -[12906] Forked 24883 -(24883) found -[12905] Forked 24884 -(24884) found -[12904] Forked 24885 -(24885) found -[12903] Forked 24886 -(24886) found -[12902] Forked 24887 -(24887) found -[12901] Forked 24888 -(24888) found -[12900] Forked 24889 -(24889) found -[12899] Forked 24890 -[12898] Forked 24891 -(24890) found -(24891) found -[12897] Forked 24892 -[12896] Forked 24893 -(24892) found -(24893) found -[12895] Forked 24894 -[12894] Forked 24895 -(24894) found -(24895) found -[12893] Forked 24896 -[12892] Forked 24897 -(24896) found -(24897) found -[12891] Forked 24898 -[12890] Forked 24899 -(24898) found -(24899) found -[12889] Forked 24900 -[12888] Forked 24901 -(24900) found -(24901) found -[12887] Forked 24902 -[12886] Forked 24903 -(24902) found -(24903) found -[12885] Forked 24904 -[12884] Forked 24905 -(24904) found -(24905) found -[12883] Forked 24906 -[12882] Forked 24907 -(24906) found -(24907) found -[12881] Forked 24908 -[12880] Forked 24909 -(24908) found -(24909) found -[12879] Forked 24910 -[12878] Forked 24911 -(24910) found -(24911) found -[12877] Forked 24912 -[12876] Forked 24913 -(24912) found -(24913) found -[12875] Forked 24914 -[12874] Forked 24915 -(24914) found -(24915) found -[12873] Forked 24916 -[12872] Forked 24917 -(24916) found -(24917) found -[12871] Forked 24918 -[12870] Forked 24919 -(24918) found -(24919) found -[12869] Forked 24920 -[12868] Forked 24921 -(24920) found -(24921) found -[12867] Forked 24922 -[12866] Forked 24923 -(24922) found -(24923) found -[12865] Forked 24924 -[12864] Forked 24925 -(24924) found -(24925) found -[12863] Forked 24926 -[12862] Forked 24927 -(24926) found -(24927) found -[12861] Forked 24928 -[12860] Forked 24929 -(24928) found -(24929) found -[12859] Forked 24930 -[12858] Forked 24931 -(24930) found -(24931) found -[12857] Forked 24932 -[12856] Forked 24933 -(24932) found -(24933) found -[12855] Forked 24934 -[12854] Forked 24935 -(24934) found -(24935) found -[12853] Forked 24936 -[12852] Forked 24937 -(24936) found -(24937) found -[12851] Forked 24938 -[12850] Forked 24939 -(24938) found -(24939) found -[12849] Forked 24940 -[12848] Forked 24941 -(24940) found -(24941) found -[12847] Forked 24942 -[12846] Forked 24943 -(24942) found -(24943) found -[12845] Forked 24944 -[12844] Forked 24945 -(24944) found -(24945) found -[12843] Forked 24946 -[12842] Forked 24947 -(24946) found -(24947) found -[12841] Forked 24948 -(24948) found -[12840] Forked 24949 -(24949) found -[12839] Forked 24950 -[12838] Forked 24951 -(24950) found -(24951) found -[12837] Forked 24952 -[12836] Forked 24953 -(24952) found -(24953) found -[12835] Forked 24954 -[12834] Forked 24955 -(24954) found -(24955) found -[12833] Forked 24956 -[12832] Forked 24957 -(24956) found -(24957) found -[12831] Forked 24958 -[12830] Forked 24959 -(24958) found -(24959) found -[12829] Forked 24960 -[12828] Forked 24961 -(24960) found -(24961) found -[12827] Forked 24962 -[12826] Forked 24963 -(24962) found -(24963) found -[12825] Forked 24964 -[12824] Forked 24965 -(24964) found -(24965) found -[12823] Forked 24966 -[12822] Forked 24967 -(24966) found -(24967) found -[12821] Forked 24968 -[12820] Forked 24969 -(24968) found -(24969) found -[12819] Forked 24970 -[12818] Forked 24971 -(24970) found -(24971) found -[12817] Forked 24972 -[12816] Forked 24973 -(24972) found -(24973) found -[12815] Forked 24974 -[12814] Forked 24975 -(24974) found -(24975) found -[12813] Forked 24976 -[12812] Forked 24977 -(24976) found -(24977) found -[12811] Forked 24978 -[12810] Forked 24979 -(24978) found -(24979) found -[12809] Forked 24980 -[12808] Forked 24981 -(24980) found -(24981) found -[12807] Forked 24982 -[12806] Forked 24983 -(24982) found -(24983) found -[12805] Forked 24984 -[12804] Forked 24985 -(24984) found -(24985) found -[12803] Forked 24986 -[12802] Forked 24987 -(24986) found -(24987) found -[12801] Forked 24988 -[12800] Forked 24989 -(24988) found -(24989) found -[12799] Forked 24990 -[12798] Forked 24991 -(24990) found -(24991) found -[12797] Forked 24992 -[12796] Forked 24993 -(24992) found -(24993) found -[12795] Forked 24994 -[12794] Forked 24996 -(24994) found -(24996) found -[12793] Forked 24997 -[12792] Forked 24998 -(24997) found -(24998) found -[12791] Forked 24999 -[12790] Forked 25000 -(24999) found -(25000) found -[12789] Forked 25001 -[12788] Forked 25002 -(25001) found -(25002) found -[12787] Forked 25003 -[12786] Forked 25004 -(25003) found -(25004) found -[12785] Forked 25005 -[12784] Forked 25006 -(25005) found -(25006) found -[12783] Forked 25007 -[12782] Forked 25008 -(25007) found -(25008) found -[12781] Forked 25009 -[12780] Forked 25010 -(25009) found -(25010) found -[12779] Forked 25011 -[12778] Forked 25012 -(25011) found -(25012) found -[12777] Forked 25013 -[12776] Forked 25014 -(25013) found -(25014) found -[12775] Forked 25015 -[12774] Forked 25016 -(25015) found -(25016) found -[12773] Forked 25017 -[12772] Forked 25018 -(25017) found -(25018) found -[12771] Forked 25019 -[12770] Forked 25020 -(25019) found -(25020) found -[12769] Forked 25021 -[12768] Forked 25023 -(25021) found -(25023) found -[12767] Forked 25024 -(25024) found -[12766] Forked 25025 -(25025) found -[12765] Forked 25026 -(25026) found -[12764] Forked 25027 -(25027) found -[12763] Forked 25028 -(25028) found -[12762] Forked 25029 -(25029) found -[12761] Forked 25030 -(25030) found -[12760] Forked 25031 -(25031) found -[12759] Forked 25032 -(25032) found -[12758] Forked 25033 -(25033) found -[12757] Forked 25034 -(25034) found -[12756] Forked 25035 -(25035) found -[12755] Forked 25036 -(25036) found -[12754] Forked 25037 -(25037) found -[12753] Forked 25038 -(25038) found -[12752] Forked 25039 -(25039) found -[12751] Forked 25040 -(25040) found -[12750] Forked 25041 -(25041) found -[12749] Forked 25042 -(25042) found -[12748] Forked 25043 -(25043) found -[12747] Forked 25044 -(25044) found -[12746] Forked 25045 -(25045) found -[12745] Forked 25046 -(25046) found -[12744] Forked 25047 -(25047) found -[12743] Forked 25048 -(25048) found -[12742] Forked 25049 -(25049) found -[12741] Forked 25050 -(25050) found -[12740] Forked 25051 -(25051) found -[12739] Forked 25052 -(25052) found -[12738] Forked 25053 -(25053) found -[12737] Forked 25054 -(25054) found -[12736] Forked 25055 -(25055) found -[12735] Forked 25056 -(25056) found -[12734] Forked 25057 -(25057) found -[12733] Forked 25058 -(25058) found -[12732] Forked 25059 -(25059) found -[12731] Forked 25060 -(25060) found -[12730] Forked 25061 -(25061) found -[12729] Forked 25062 -[12728] Forked 25063 -(25063) found -(25062) found -[12727] Forked 25064 -(25064) found -[12726] Forked 25065 -(25065) found -[12725] Forked 25066 -(25066) found -[12724] Forked 25067 -(25067) found -[12723] Forked 25068 -(25068) found -[12722] Forked 25069 -(25069) found -[12721] Forked 25070 -(25070) found -[12720] Forked 25071 -(25071) found -[12719] Forked 25072 -(25072) found -[12718] Forked 25073 -(25073) found -[12717] Forked 25074 -(25074) found -[12716] Forked 25075 -(25075) found -[12715] Forked 25076 -(25076) found -[12714] Forked 25077 -(25077) found -[12713] Forked 25078 -(25078) found -[12712] Forked 25079 -(25079) found -[12711] Forked 25080 -(25080) found -[12710] Forked 25081 -(25081) found -[12709] Forked 25082 -(25082) found -[12708] Forked 25083 -(25083) found -[12707] Forked 25084 -(25084) found -[12706] Forked 25085 -(25085) found -[12705] Forked 25086 -(25086) found -[12704] Forked 25087 -(25087) found -[12703] Forked 25088 -(25088) found -[12702] Forked 25089 -(25089) found -[12701] Forked 25090 -(25090) found -[12700] Forked 25091 -(25091) found -[12699] Forked 25092 -(25092) found -[12698] Forked 25093 -(25093) found -[12697] Forked 25094 -(25094) found -[12696] Forked 25095 -(25095) found -[12695] Forked 25096 -(25096) found -[12694] Forked 25097 -(25097) found -[12693] Forked 25098 -(25098) found -[12692] Forked 25099 -(25099) found -[12691] Forked 25100 -(25100) found -[12690] Forked 25101 -(25101) found -[12689] Forked 25102 -(25102) found -[12688] Forked 25103 -(25103) found -[12687] Forked 25104 -(25104) found -[12686] Forked 25105 -(25105) found -[12685] Forked 25106 -(25106) found -[12684] Forked 25107 -(25107) found -[12683] Forked 25108 -(25108) found -[12682] Forked 25109 -(25109) found -[12681] Forked 25110 -(25110) found -[12680] Forked 25111 -(25111) found -[12679] Forked 25112 -(25112) found -[12678] Forked 25113 -(25113) found -[12677] Forked 25114 -(25114) found -[12676] Forked 25115 -(25115) found -[12675] Forked 25116 -(25116) found -[12674] Forked 25117 -(25117) found -[12673] Forked 25118 -(25118) found -[12672] Forked 25119 -(25119) found -[12671] Forked 25120 -(25120) found -[12670] Forked 25121 -(25121) found -[12669] Forked 25122 -(25122) found -[12668] Forked 25123 -(25123) found -[12667] Forked 25124 -(25124) found -[12666] Forked 25125 -(25125) found -[12665] Forked 25126 -(25126) found -[12664] Forked 25127 -(25127) found -[12663] Forked 25128 -(25128) found -[12662] Forked 25129 -(25129) found -[12661] Forked 25130 -(25130) found -[12660] Forked 25131 -(25131) found -[12659] Forked 25132 -[12658] Forked 25133 -(25132) found -(25133) found -[12657] Forked 25134 -[12656] Forked 25135 -(25134) found -(25135) found -[12655] Forked 25136 -[12654] Forked 25137 -(25136) found -(25137) found -[12653] Forked 25138 -[12652] Forked 25139 -(25138) found -(25139) found -[12651] Forked 25140 -[12650] Forked 25141 -(25140) found -(25141) found -[12649] Forked 25142 -[12648] Forked 25143 -(25142) found -(25143) found -[12647] Forked 25144 -[12646] Forked 25145 -(25144) found -(25145) found -[12645] Forked 25146 -[12644] Forked 25147 -(25146) found -(25147) found -[12643] Forked 25148 -[12642] Forked 25149 -(25148) found -(25149) found -[12641] Forked 25150 -[12640] Forked 25151 -(25150) found -(25151) found -[12639] Forked 25152 -[12638] Forked 25153 -(25152) found -(25153) found -[12637] Forked 25154 -[12636] Forked 25155 -(25154) found -(25155) found -[12635] Forked 25156 -[12634] Forked 25157 -(25156) found -(25157) found -[12633] Forked 25158 -[12632] Forked 25159 -(25158) found -(25159) found -[12631] Forked 25160 -[12630] Forked 25161 -(25160) found -(25161) found -[12629] Forked 25162 -[12628] Forked 25163 -(25162) found -(25163) found -[12627] Forked 25164 -[12626] Forked 25165 -(25164) found -(25165) found -[12625] Forked 25166 -[12624] Forked 25167 -(25166) found -(25167) found -[12623] Forked 25168 -[12622] Forked 25169 -(25168) found -(25169) found -[12621] Forked 25170 -[12620] Forked 25171 -(25170) found -(25171) found -[12619] Forked 25172 -[12618] Forked 25173 -(25172) found -(25173) found -[12617] Forked 25174 -[12616] Forked 25175 -(25174) found -(25175) found -[12615] Forked 25176 -[12614] Forked 25177 -(25176) found -(25177) found -[12613] Forked 25178 -[12612] Forked 25179 -(25178) found -(25179) found -[12611] Forked 25180 -[12610] Forked 25181 -(25180) found -(25181) found -[12609] Forked 25182 -[12608] Forked 25183 -(25182) found -(25183) found -[12607] Forked 25184 -[12606] Forked 25185 -(25184) found -(25185) found -[12605] Forked 25186 -[12604] Forked 25187 -(25186) found -(25187) found -[12603] Forked 25188 -[12602] Forked 25189 -(25188) found -(25189) found -[12601] Forked 25190 -[12600] Forked 25191 -(25190) found -(25191) found -[12599] Forked 25192 -[12598] Forked 25193 -(25192) found -(25193) found -[12597] Forked 25194 -[12596] Forked 25195 -(25194) found -(25195) found -[12595] Forked 25196 -[12594] Forked 25197 -(25196) found -(25197) found -[12593] Forked 25198 -[12592] Forked 25199 -(25198) found -(25199) found -[12591] Forked 25200 -[12590] Forked 25201 -(25200) found -(25201) found -[12589] Forked 25202 -[12588] Forked 25203 -(25202) found -(25203) found -[12587] Forked 25204 -[12586] Forked 25205 -(25204) found -(25205) found -[12585] Forked 25206 -[12584] Forked 25207 -(25206) found -(25207) found -[12583] Forked 25208 -[12582] Forked 25209 -(25208) found -(25209) found -[12581] Forked 25210 -[12580] Forked 25211 -(25210) found -(25211) found -[12579] Forked 25212 -[12578] Forked 25213 -(25212) found -(25213) found -[12577] Forked 25214 -[12576] Forked 25215 -(25214) found -(25215) found -[12575] Forked 25216 -[12574] Forked 25217 -(25216) found -(25217) found -[12573] Forked 25218 -[12572] Forked 25219 -(25218) found -(25219) found -[12571] Forked 25220 -[12570] Forked 25221 -(25220) found -(25221) found -[12569] Forked 25222 -[12568] Forked 25223 -(25222) found -(25223) found -[12567] Forked 25224 -(25224) found -[12566] Forked 25225 -(25225) found -[12565] Forked 25226 -(25226) found -[12564] Forked 25227 -(25227) found -[12563] Forked 25228 -(25228) found -[12562] Forked 25229 -(25229) found -[12561] Forked 25230 -(25230) found -[12560] Forked 25231 -(25231) found -[12559] Forked 25232 -(25232) found -[12558] Forked 25233 -(25233) found -[12557] Forked 25234 -(25234) found -[12556] Forked 25235 -(25235) found -[12555] Forked 25236 -(25236) found -[12554] Forked 25237 -(25237) found -[12553] Forked 25238 -(25238) found -[12552] Forked 25239 -(25239) found -[12551] Forked 25240 -(25240) found -[12550] Forked 25241 -(25241) found -[12549] Forked 25242 -(25242) found -[12548] Forked 25243 -(25243) found -[12547] Forked 25244 -(25244) found -[12546] Forked 25245 -(25245) found -[12545] Forked 25246 -(25246) found -[12544] Forked 25247 -(25247) found -[12543] Forked 25248 -(25248) found -[12542] Forked 25249 -(25249) found -[12541] Forked 25250 -(25250) found -[12540] Forked 25251 -(25251) found -[12539] Forked 25252 -(25252) found -[12538] Forked 25253 -(25253) found -[12537] Forked 25254 -(25254) found -[12536] Forked 25255 -(25255) found -[12535] Forked 25256 -(25256) found -[12534] Forked 25257 -(25257) found -[12533] Forked 25258 -(25258) found -[12532] Forked 25259 -(25259) found -[12531] Forked 25260 -(25260) found -[12530] Forked 25261 -[12529] Forked 25262 -(25261) found -(25262) found -[12528] Forked 25263 -[12527] Forked 25264 -(25263) found -(25264) found -[12526] Forked 25265 -[12525] Forked 25266 -(25265) found -(25266) found -[12524] Forked 25267 -[12523] Forked 25268 -(25267) found -(25268) found -[12522] Forked 25269 -[12521] Forked 25270 -(25269) found -(25270) found -[12520] Forked 25271 -[12519] Forked 25273 -(25271) found -(25273) found -[12518] Forked 25274 -(25274) found -[12517] Forked 25275 -(25275) found -[12516] Forked 25276 -(25276) found -[12515] Forked 25277 -(25277) found -[12514] Forked 25278 -(25278) found -[12513] Forked 25279 -(25279) found -[12512] Forked 25280 -(25280) found -[12511] Forked 25281 -(25281) found -[12510] Forked 25282 -(25282) found -[12509] Forked 25283 -(25283) found -[12508] Forked 25284 -(25284) found -[12507] Forked 25285 -(25285) found -[12506] Forked 25286 -(25286) found -[12505] Forked 25287 -(25287) found -[12504] Forked 25288 -(25288) found -[12503] Forked 25289 -(25289) found -[12502] Forked 25290 -(25290) found -[12501] Forked 25291 -(25291) found -[12500] Forked 25292 -(25292) found -[12499] Forked 25293 -[12498] Forked 25294 -(25293) found -(25294) found -[12497] Forked 25295 -[12496] Forked 25296 -(25295) found -(25296) found -[12495] Forked 25297 -[12494] Forked 25298 -(25297) found -(25298) found -[12493] Forked 25299 -[12492] Forked 25300 -(25299) found -(25300) found -[12491] Forked 25301 -[12490] Forked 25302 -(25301) found -(25302) found -[12489] Forked 25303 -[12488] Forked 25304 -(25303) found -(25304) found -[12487] Forked 25305 -[12486] Forked 25306 -(25305) found -(25306) found -[12485] Forked 25307 -[12484] Forked 25308 -(25307) found -(25308) found -[12483] Forked 25309 -[12482] Forked 25310 -(25309) found -(25310) found -[12481] Forked 25311 -[12480] Forked 25312 -(25311) found -(25312) found -[12479] Forked 25313 -[12478] Forked 25314 -(25313) found -(25314) found -[12477] Forked 25315 -[12476] Forked 25316 -(25315) found -(25316) found -[12475] Forked 25317 -[12474] Forked 25318 -(25317) found -(25318) found -[12473] Forked 25319 -[12472] Forked 25320 -(25319) found -(25320) found -[12471] Forked 25321 -[12470] Forked 25322 -(25321) found -(25322) found -[12469] Forked 25323 -[12468] Forked 25324 -(25323) found -(25324) found -[12467] Forked 25325 -[12466] Forked 25326 -(25325) found -(25326) found -[12465] Forked 25327 -[12464] Forked 25328 -(25327) found -(25328) found -[12463] Forked 25329 -[12462] Forked 25330 -(25329) found -(25330) found -[12461] Forked 25331 -[12460] Forked 25332 -(25331) found -(25332) found -[12459] Forked 25333 -[12458] Forked 25334 -(25333) found -(25334) found -[12457] Forked 25335 -[12456] Forked 25336 -(25335) found -(25336) found -[12455] Forked 25337 -[12454] Forked 25338 -(25337) found -(25338) found -[12453] Forked 25339 -[12452] Forked 25340 -(25339) found -(25340) found -[12451] Forked 25341 -[12450] Forked 25342 -(25341) found -(25342) found -[12449] Forked 25343 -[12448] Forked 25344 -(25343) found -(25344) found -[12447] Forked 25345 -(25345) found -[12446] Forked 25346 -(25346) found -[12445] Forked 25347 -(25347) found -[12444] Forked 25348 -(25348) found -[12443] Forked 25349 -(25349) found -[12442] Forked 25350 -(25350) found -[12441] Forked 25351 -(25351) found -[12440] Forked 25352 -(25352) found -[12439] Forked 25353 -(25353) found -[12438] Forked 25354 -(25354) found -[12437] Forked 25355 -(25355) found -[12436] Forked 25356 -(25356) found -[12435] Forked 25357 -(25357) found -[12434] Forked 25358 -(25358) found -[12433] Forked 25359 -(25359) found -[12432] Forked 25360 -(25360) found -[12431] Forked 25361 -(25361) found -[12430] Forked 25362 -(25362) found -[12429] Forked 25363 -(25363) found -[12428] Forked 25364 -(25364) found -[12427] Forked 25365 -(25365) found -[12426] Forked 25366 -(25366) found -[12425] Forked 25367 -(25367) found -[12424] Forked 25368 -(25368) found -[12423] Forked 25369 -(25369) found -[12422] Forked 25370 -(25370) found -[12421] Forked 25371 -(25371) found -[12420] Forked 25372 -(25372) found -[12419] Forked 25373 -(25373) found -[12418] Forked 25374 -(25374) found -[12417] Forked 25375 -(25375) found -[12416] Forked 25376 -(25376) found -[12415] Forked 25377 -(25377) found -[12414] Forked 25378 -(25378) found -[12413] Forked 25379 -(25379) found -[12412] Forked 25380 -(25380) found -[12411] Forked 25381 -[12410] Forked 25382 -(25381) found -(25382) found -[12409] Forked 25383 -(25383) found -[12408] Forked 25384 -(25384) found -[12407] Forked 25385 -(25385) found -[12406] Forked 25386 -(25386) found -[12405] Forked 25387 -(25387) found -[12404] Forked 25388 -(25388) found -[12403] Forked 25389 -(25389) found -[12402] Forked 25390 -[12401] Forked 25391 -(25390) found -(25391) found -[12400] Forked 25392 -[12399] Forked 25393 -(25392) found -(25393) found -[12398] Forked 25394 -[12397] Forked 25395 -(25394) found -(25395) found -[12396] Forked 25396 -[12395] Forked 25397 -(25396) found -(25397) found -[12394] Forked 25398 -[12393] Forked 25399 -(25398) found -(25399) found -[12392] Forked 25400 -[12391] Forked 25401 -(25400) found -(25401) found -[12390] Forked 25402 -[12389] Forked 25403 -(25402) found -(25403) found -[12388] Forked 25404 -[12387] Forked 25405 -(25404) found -(25405) found -[12386] Forked 25406 -[12385] Forked 25407 -(25406) found -(25407) found -[12384] Forked 25408 -[12383] Forked 25409 -(25408) found -(25409) found -[12382] Forked 25410 -[12381] Forked 25411 -(25410) found -(25411) found -[12380] Forked 25412 -[12379] Forked 25413 -(25412) found -(25413) found -[12378] Forked 25414 -[12377] Forked 25416 -(25414) found -(25416) found -[12376] Forked 25417 -[12375] Forked 25418 -(25417) found -(25418) found -[12374] Forked 25419 -[12373] Forked 25420 -(25419) found -(25420) found -[12372] Forked 25421 -[12371] Forked 25422 -(25421) found -(25422) found -[12370] Forked 25423 -[12369] Forked 25424 -(25423) found -(25424) found -[12368] Forked 25426 -[12367] Forked 25428 -(25426) found -(25428) found -[12366] Forked 25430 -[12365] Forked 25431 -(25430) found -(25431) found -[12364] Forked 25432 -[12363] Forked 25433 -(25432) found -(25433) found -[12362] Forked 25434 -[12361] Forked 25435 -(25434) found -(25435) found -[12360] Forked 25436 -[12359] Forked 25437 -(25436) found -(25437) found -[12358] Forked 25438 -[12357] Forked 25439 -(25438) found -(25439) found -[12356] Forked 25440 -[12355] Forked 25441 -(25440) found -(25441) found -[12354] Forked 25442 -[12353] Forked 25443 -(25442) found -(25443) found -[12352] Forked 25444 -[12351] Forked 25449 -(25444) found -(25449) found -[12350] Forked 25450 -[12349] Forked 25451 -(25450) found -(25451) found -[12348] Forked 25452 -[12347] Forked 25453 -(25452) found -(25453) found -[12346] Forked 25454 -[12345] Forked 25455 -(25454) found -(25455) found -[12344] Forked 25456 -[12343] Forked 25457 -(25456) found -(25457) found -[12342] Forked 25458 -[12341] Forked 25459 -(25458) found -(25459) found -[12340] Forked 25460 -[12339] Forked 25461 -(25460) found -(25461) found -[12338] Forked 25462 -[12337] Forked 25463 -(25462) found -(25463) found -[12336] Forked 25464 -[12335] Forked 25465 -(25464) found -(25465) found -[12334] Forked 25466 -[12333] Forked 25467 -(25466) found -(25467) found -[12332] Forked 25468 -[12331] Forked 25469 -(25468) found -(25469) found -[12330] Forked 25470 -[12329] Forked 25471 -(25470) found -(25471) found -[12328] Forked 25472 -[12327] Forked 25474 -(25472) found -(25474) found -[12326] Forked 25475 -(25475) found -[12325] Forked 25476 -(25476) found -[12324] Forked 25477 -(25477) found -[12323] Forked 25478 -(25478) found -[12322] Forked 25479 -(25479) found -[12321] Forked 25480 -(25480) found -[12320] Forked 25481 -(25481) found -[12319] Forked 25482 -(25482) found -[12318] Forked 25483 -(25483) found -[12317] Forked 25484 -(25484) found -[12316] Forked 25485 -(25485) found -[12315] Forked 25486 -(25486) found -[12314] Forked 25487 -(25487) found -[12313] Forked 25488 -(25488) found -[12312] Forked 25489 -(25489) found -[12311] Forked 25490 -(25490) found -[12310] Forked 25491 -(25491) found -[12309] Forked 25492 -(25492) found -[12308] Forked 25493 -(25493) found -[12307] Forked 25494 -(25494) found -[12306] Forked 25495 -(25495) found -[12305] Forked 25496 -(25496) found -[12304] Forked 25497 -(25497) found -[12303] Forked 25498 -(25498) found -[12302] Forked 25499 -(25499) found -[12301] Forked 25500 -(25500) found -[12300] Forked 25501 -(25501) found -[12299] Forked 25502 -(25502) found -[12298] Forked 25503 -(25503) found -[12297] Forked 25504 -(25504) found -[12296] Forked 25505 -(25505) found -[12295] Forked 25506 -(25506) found -[12294] Forked 25507 -(25507) found -[12293] Forked 25508 -(25508) found -[12292] Forked 25509 -(25509) found -[12291] Forked 25510 -(25510) found -[12290] Forked 25511 -(25511) found -[12289] Forked 25512 -(25512) found -[12288] Forked 25513 -(25513) found -[12287] Forked 25514 -[12286] Forked 25515 -(25514) found -(25515) found -[12285] Forked 25516 -[12284] Forked 25517 -(25516) found -(25517) found -[12283] Forked 25518 -[12282] Forked 25519 -(25518) found -(25519) found -[12281] Forked 25520 -[12280] Forked 25521 -(25520) found -(25521) found -[12279] Forked 25522 -[12278] Forked 25523 -(25522) found -(25523) found -[12277] Forked 25524 -[12276] Forked 25525 -(25524) found -(25525) found -[12275] Forked 25526 -[12274] Forked 25527 -(25526) found -(25527) found -[12273] Forked 25528 -[12272] Forked 25529 -(25528) found -(25529) found -[12271] Forked 25530 -[12270] Forked 25531 -(25530) found -(25531) found -[12269] Forked 25532 -[12268] Forked 25533 -(25532) found -(25533) found -[12267] Forked 25534 -[12266] Forked 25535 -(25534) found -(25535) found -[12265] Forked 25536 -[12264] Forked 25537 -(25536) found -(25537) found -[12263] Forked 25538 -[12262] Forked 25539 -(25538) found -(25539) found -[12261] Forked 25540 -[12260] Forked 25541 -(25540) found -(25541) found -[12259] Forked 25542 -[12258] Forked 25543 -(25542) found -(25543) found -[12257] Forked 25544 -[12256] Forked 25545 -(25544) found -(25545) found -[12255] Forked 25546 -[12254] Forked 25547 -(25546) found -(25547) found -[12253] Forked 25548 -[12252] Forked 25549 -(25548) found -(25549) found -[12251] Forked 25550 -[12250] Forked 25551 -(25550) found -(25551) found -[12249] Forked 25552 -[12248] Forked 25553 -(25552) found -(25553) found -[12247] Forked 25554 -[12246] Forked 25555 -(25554) found -(25555) found -[12245] Forked 25556 -[12244] Forked 25557 -(25556) found -(25557) found -[12243] Forked 25558 -(25558) found -[12242] Forked 25559 -(25559) found -[12241] Forked 25560 -(25560) found -[12240] Forked 25561 -(25561) found -[12239] Forked 25562 -(25562) found -[12238] Forked 25563 -(25563) found -[12237] Forked 25564 -(25564) found -[12236] Forked 25565 -(25565) found -[12235] Forked 25566 -(25566) found -[12234] Forked 25567 -(25567) found -[12233] Forked 25568 -(25568) found -[12232] Forked 25569 -(25569) found -[12231] Forked 25570 -(25570) found -[12230] Forked 25571 -(25571) found -[12229] Forked 25572 -(25572) found -[12228] Forked 25573 -(25573) found -[12227] Forked 25574 -(25574) found -[12226] Forked 25575 -(25575) found -[12225] Forked 25576 -(25576) found -[12224] Forked 25577 -(25577) found -[12223] Forked 25578 -(25578) found -[12222] Forked 25579 -(25579) found -[12221] Forked 25580 -(25580) found -[12220] Forked 25581 -(25581) found -[12219] Forked 25582 -(25582) found -[12218] Forked 25583 -(25583) found -[12217] Forked 25584 -(25584) found -[12216] Forked 25585 -(25585) found -[12215] Forked 25586 -(25586) found -[12214] Forked 25587 -(25587) found -[12213] Forked 25588 -(25588) found -[12212] Forked 25589 -(25589) found -[12211] Forked 25590 -(25590) found -[12210] Forked 25591 -(25591) found -[12209] Forked 25592 -(25592) found -[12208] Forked 25593 -(25593) found -[12207] Forked 25595 -(25595) found -[12206] Forked 25596 -(25596) found -[12205] Forked 25597 -(25597) found -[12204] Forked 25598 -(25598) found -[12203] Forked 25599 -(25599) found -[12202] Forked 25600 -(25600) found -[12201] Forked 25601 -(25601) found -[12200] Forked 25602 -(25602) found -[12199] Forked 25603 -(25603) found -[12198] Forked 25604 -(25604) found -[12197] Forked 25605 -(25605) found -[12196] Forked 25606 -(25606) found -[12195] Forked 25607 -(25607) found -[12194] Forked 25608 -(25608) found -[12193] Forked 25609 -(25609) found -[12192] Forked 25610 -(25610) found -[12191] Forked 25611 -(25611) found -[12190] Forked 25612 -(25612) found -[12189] Forked 25613 -(25613) found -[12188] Forked 25614 -(25614) found -[12187] Forked 25615 -(25615) found -[12186] Forked 25616 -(25616) found -[12185] Forked 25617 -(25617) found -[12184] Forked 25618 -(25618) found -[12183] Forked 25619 -(25619) found -[12182] Forked 25620 -(25620) found -[12181] Forked 25621 -(25621) found -[12180] Forked 25622 -(25622) found -[12179] Forked 25623 -(25623) found -[12178] Forked 25624 -(25624) found -[12177] Forked 25625 -(25625) found -[12176] Forked 25626 -(25626) found -[12175] Forked 25627 -(25627) found -[12174] Forked 25628 -(25628) found -[12173] Forked 25629 -(25629) found -[12172] Forked 25630 -(25630) found -[12171] Forked 25631 -(25631) found -[12170] Forked 25632 -(25632) found -[12169] Forked 25633 -(25633) found -[12168] Forked 25634 -(25634) found -[12167] Forked 25635 -(25635) found -[12166] Forked 25636 -[12165] Forked 25637 -(25636) found -(25637) found -[12164] Forked 25638 -[12163] Forked 25639 -(25638) found -(25639) found -[12162] Forked 25640 -[12161] Forked 25641 -(25640) found -(25641) found -[12160] Forked 25642 -[12159] Forked 25643 -(25642) found -(25643) found -[12158] Forked 25644 -[12157] Forked 25645 -(25644) found -(25645) found -[12156] Forked 25646 -[12155] Forked 25647 -(25646) found -(25647) found -[12154] Forked 25648 -[12153] Forked 25649 -(25648) found -(25649) found -[12152] Forked 25650 -[12151] Forked 25651 -(25650) found -(25651) found -[12150] Forked 25652 -[12149] Forked 25653 -(25652) found -(25653) found -[12148] Forked 25654 -[12147] Forked 25655 -(25654) found -(25655) found -[12146] Forked 25656 -[12145] Forked 25657 -(25656) found -(25657) found -[12144] Forked 25658 -[12143] Forked 25659 -(25658) found -(25659) found -[12142] Forked 25660 -[12141] Forked 25661 -(25660) found -(25661) found -[12140] Forked 25662 -[12139] Forked 25663 -(25662) found -(25663) found -[12138] Forked 25664 -[12137] Forked 25665 -(25664) found -(25665) found -[12136] Forked 25666 -[12135] Forked 25667 -(25666) found -(25667) found -[12134] Forked 25668 -[12133] Forked 25669 -(25668) found -(25669) found -[12132] Forked 25670 -[12131] Forked 25671 -(25670) found -(25671) found -[12130] Forked 25672 -[12129] Forked 25673 -(25672) found -(25673) found -[12128] Forked 25674 -[12127] Forked 25675 -(25674) found -(25675) found -[12126] Forked 25676 -[12125] Forked 25677 -(25676) found -(25677) found -[12124] Forked 25678 -[12123] Forked 25679 -(25678) found -(25679) found -[12122] Forked 25680 -[12121] Forked 25681 -(25680) found -(25681) found -[12120] Forked 25682 -[12119] Forked 25683 -(25682) found -(25683) found -[12118] Forked 25684 -[12117] Forked 25685 -(25684) found -(25685) found -[12116] Forked 25686 -[12115] Forked 25687 -(25686) found -(25687) found -[12114] Forked 25688 -[12113] Forked 25689 -(25688) found -(25689) found -[12112] Forked 25690 -[12111] Forked 25691 -(25690) found -(25691) found -[12110] Forked 25692 -[12109] Forked 25693 -(25692) found -(25693) found -[12108] Forked 25694 -[12107] Forked 25695 -(25694) found -(25695) found -[12106] Forked 25696 -[12105] Forked 25697 -(25696) found -(25697) found -[12104] Forked 25698 -[12103] Forked 25699 -(25698) found -(25699) found -[12102] Forked 25700 -[12101] Forked 25701 -(25700) found -(25701) found -[12100] Forked 25702 -[12099] Forked 25703 -(25702) found -(25703) found -[12098] Forked 25704 -[12097] Forked 25705 -(25704) found -(25705) found -[12096] Forked 25706 -[12095] Forked 25707 -(25706) found -(25707) found -[12094] Forked 25708 -[12093] Forked 25709 -(25708) found -(25709) found -[12092] Forked 25710 -[12091] Forked 25711 -(25710) found -(25711) found -[12090] Forked 25712 -[12089] Forked 25713 -(25712) found -(25713) found -[12088] Forked 25714 -[12087] Forked 25715 -(25714) found -(25715) found -[12086] Forked 25716 -[12085] Forked 25717 -(25716) found -(25717) found -[12084] Forked 25718 -[12083] Forked 25719 -(25718) found -(25719) found -[12082] Forked 25720 -[12081] Forked 25721 -(25720) found -(25721) found -[12080] Forked 25722 -[12079] Forked 25723 -(25722) found -(25723) found -[12078] Forked 25724 -[12077] Forked 25725 -(25724) found -(25725) found -[12076] Forked 25726 -(25726) found -[12075] Forked 25727 -(25727) found -[12074] Forked 25728 -(25728) found -[12073] Forked 25729 -(25729) found -[12072] Forked 25730 -(25730) found -[12071] Forked 25731 -(25731) found -[12070] Forked 25732 -(25732) found -[12069] Forked 25733 -(25733) found -[12068] Forked 25734 -(25734) found -[12067] Forked 25735 -(25735) found -[12066] Forked 25736 -(25736) found -[12065] Forked 25737 -(25737) found -[12064] Forked 25738 -(25738) found -[12063] Forked 25739 -(25739) found -[12062] Forked 25740 -(25740) found -[12061] Forked 25741 -(25741) found -[12060] Forked 25742 -(25742) found -[12059] Forked 25743 -(25743) found -[12058] Forked 25744 -(25744) found -[12057] Forked 25745 -(25745) found -[12056] Forked 25746 -(25746) found -[12055] Forked 25747 -(25747) found -[12054] Forked 25748 -(25748) found -[12053] Forked 25749 -(25749) found -[12052] Forked 25750 -(25750) found -[12051] Forked 25751 -(25751) found -[12050] Forked 25752 -(25752) found -[12049] Forked 25753 -(25753) found -[12048] Forked 25754 -(25754) found -[12047] Forked 25755 -(25755) found -[12046] Forked 25756 -(25756) found -[12045] Forked 25757 -(25757) found -[12044] Forked 25758 -(25758) found -[12043] Forked 25759 -(25759) found -[12042] Forked 25760 -(25760) found -[12041] Forked 25761 -(25761) found -[12040] Forked 25762 -(25762) found -[12039] Forked 25763 -(25763) found -[12038] Forked 25764 -[12037] Forked 25765 -(25764) found -(25765) found -[12036] Forked 25766 -[12035] Forked 25767 -(25766) found -(25767) found -[12034] Forked 25768 -[12033] Forked 25769 -(25768) found -(25769) found -[12032] Forked 25770 -[12031] Forked 25771 -(25770) found -(25771) found -[12030] Forked 25772 -[12029] Forked 25774 -(25772) found -(25774) found -[12028] Forked 25775 -[12027] Forked 25776 -(25775) found -(25776) found -[12026] Forked 25777 -[12025] Forked 25778 -(25777) found -(25778) found -[12024] Forked 25779 -[12023] Forked 25780 -(25780) found -(25779) found -[12022] Forked 25781 -(25781) found -[12021] Forked 25782 -(25782) found -[12020] Forked 25783 -(25783) found -[12019] Forked 25784 -(25784) found -[12018] Forked 25785 -(25785) found -[12017] Forked 25786 -(25786) found -[12016] Forked 25787 -(25787) found -[12015] Forked 25788 -(25788) found -[12014] Forked 25789 -(25789) found -[12013] Forked 25790 -(25790) found -[12012] Forked 25791 -(25791) found -[12011] Forked 25792 -(25792) found -[12010] Forked 25793 -(25793) found -[12009] Forked 25794 -(25794) found -[12008] Forked 25795 -(25795) found -[12007] Forked 25796 -(25796) found -[12006] Forked 25797 -(25797) found -[12005] Forked 25798 -(25798) found -[12004] Forked 25799 -(25799) found -[12003] Forked 25800 -(25800) found -[12002] Forked 25801 -(25801) found -[12001] Forked 25802 -(25802) found -[12000] Forked 25803 -(25803) found -[11999] Forked 25804 -(25804) found -[11998] Forked 25805 -(25805) found -[11997] Forked 25806 -(25806) found -[11996] Forked 25807 -(25807) found -[11995] Forked 25808 -(25808) found -[11994] Forked 25809 -(25809) found -[11993] Forked 25810 -(25810) found -[11992] Forked 25811 -(25811) found -[11991] Forked 25812 -(25812) found -[11990] Forked 25813 -(25813) found -[11989] Forked 25814 -(25814) found -[11988] Forked 25815 -(25815) found -[11987] Forked 25816 -(25816) found -[11986] Forked 25817 -(25817) found -[11985] Forked 25818 -(25818) found -[11984] Forked 25819 -(25819) found -[11983] Forked 25820 -(25820) found -[11982] Forked 25821 -(25821) found -[11981] Forked 25822 -(25822) found -[11980] Forked 25823 -(25823) found -[11979] Forked 25824 -(25824) found -[11978] Forked 25825 -(25825) found -[11977] Forked 25826 -(25826) found -[11976] Forked 25827 -(25827) found -[11975] Forked 25828 -(25828) found -[11974] Forked 25829 -(25829) found -[11973] Forked 25830 -(25830) found -[11972] Forked 25831 -(25831) found -[11971] Forked 25832 -(25832) found -[11970] Forked 25833 -(25833) found -[11969] Forked 25834 -(25834) found -[11968] Forked 25835 -(25835) found -[11967] Forked 25836 -[11966] Forked 25837 -(25836) found -(25837) found -[11965] Forked 25838 -[11964] Forked 25839 -(25838) found -(25839) found -[11963] Forked 25840 -[11962] Forked 25841 -(25840) found -(25841) found -[11961] Forked 25842 -[11960] Forked 25843 -(25842) found -(25843) found -[11959] Forked 25844 -[11958] Forked 25845 -(25844) found -(25845) found -[11957] Forked 25846 -[11956] Forked 25847 -(25846) found -(25847) found -[11955] Forked 25848 -[11954] Forked 25849 -(25848) found -(25849) found -[11953] Forked 25850 -[11952] Forked 25851 -(25850) found -(25851) found -[11951] Forked 25852 -[11950] Forked 25853 -(25852) found -(25853) found -[11949] Forked 25854 -[11948] Forked 25855 -(25854) found -(25855) found -[11947] Forked 25856 -[11946] Forked 25857 -(25856) found -(25857) found -[11945] Forked 25858 -[11944] Forked 25859 -(25858) found -(25859) found -[11943] Forked 25860 -[11942] Forked 25861 -(25860) found -(25861) found -[11941] Forked 25862 -[11940] Forked 25863 -(25862) found -(25863) found -[11939] Forked 25864 -[11938] Forked 25865 -(25864) found -(25865) found -[11937] Forked 25866 -[11936] Forked 25867 -(25866) found -(25867) found -[11935] Forked 25868 -[11934] Forked 25869 -(25868) found -(25869) found -[11933] Forked 25870 -[11932] Forked 25871 -(25870) found -(25871) found -[11931] Forked 25872 -[11930] Forked 25873 -(25872) found -(25873) found -[11929] Forked 25874 -[11928] Forked 25875 -(25874) found -(25875) found -[11927] Forked 25876 -[11926] Forked 25877 -(25876) found -(25877) found -[11925] Forked 25878 -[11924] Forked 25879 -(25878) found -(25879) found -[11923] Forked 25880 -(25880) found -[11922] Forked 25881 -(25881) found -[11921] Forked 25882 -(25882) found -[11920] Forked 25883 -(25883) found -[11919] Forked 25884 -(25884) found -[11918] Forked 25885 -(25885) found -[11917] Forked 25886 -(25886) found -[11916] Forked 25887 -(25887) found -[11915] Forked 25888 -(25888) found -[11914] Forked 25889 -(25889) found -[11913] Forked 25890 -(25890) found -[11912] Forked 25891 -(25891) found -[11911] Forked 25892 -(25892) found -[11910] Forked 25893 -(25893) found -[11909] Forked 25894 -(25894) found -[11908] Forked 25895 -(25895) found -[11907] Forked 25896 -(25896) found -[11906] Forked 25897 -(25897) found -[11905] Forked 25898 -(25898) found -[11904] Forked 25899 -(25899) found -[11903] Forked 25900 -(25900) found -[11902] Forked 25901 -(25901) found -[11901] Forked 25902 -(25902) found -[11900] Forked 25903 -(25903) found -[11899] Forked 25904 -(25904) found -[11898] Forked 25905 -(25905) found -[11897] Forked 25906 -(25906) found -[11896] Forked 25907 -(25907) found -[11895] Forked 25908 -(25908) found -[11894] Forked 25909 -(25909) found -[11893] Forked 25910 -(25910) found -[11892] Forked 25911 -(25911) found -[11891] Forked 25912 -(25912) found -[11890] Forked 25913 -(25913) found -[11889] Forked 25914 -(25914) found -[11888] Forked 25915 -(25915) found -[11887] Forked 25916 -(25916) found -[11886] Forked 25917 -[11885] Forked 25918 -(25917) found -(25918) found -[11884] Forked 25919 -[11883] Forked 25920 -(25919) found -(25920) found -[11882] Forked 25921 -[11881] Forked 25922 -(25921) found -(25922) found -[11880] Forked 25923 -[11879] Forked 25924 -(25923) found -(25924) found -[11878] Forked 25925 -[11877] Forked 25926 -(25925) found -(25926) found -[11876] Forked 25927 -[11875] Forked 25928 -(25927) found -(25928) found -[11874] Forked 25929 -[11873] Forked 25930 -(25929) found -(25930) found -[11872] Forked 25931 -[11871] Forked 25932 -(25931) found -(25932) found -[11870] Forked 25933 -[11869] Forked 25934 -(25933) found -(25934) found -[11868] Forked 25935 -[11867] Forked 25936 -(25935) found -(25936) found -[11866] Forked 25937 -[11865] Forked 25938 -(25937) found -(25938) found -[11864] Forked 25939 -[11863] Forked 25940 -(25939) found -(25940) found -[11862] Forked 25941 -[11861] Forked 25942 -(25941) found -(25942) found -[11860] Forked 25943 -[11859] Forked 25944 -(25943) found -(25944) found -[11858] Forked 25945 -[11857] Forked 25946 -(25945) found -(25946) found -[11856] Forked 25947 -[11855] Forked 25948 -(25947) found -(25948) found -[11854] Forked 25949 -[11853] Forked 25950 -(25949) found -(25950) found -[11852] Forked 25951 -[11851] Forked 25952 -(25951) found -(25952) found -[11850] Forked 25953 -[11849] Forked 25954 -(25953) found -(25954) found -[11848] Forked 25955 -[11847] Forked 25956 -(25955) found -(25956) found -[11846] Forked 25957 -[11845] Forked 25958 -(25957) found -(25958) found -[11844] Forked 25959 -[11843] Forked 25960 -(25959) found -(25960) found -[11842] Forked 25961 -[11841] Forked 25962 -(25961) found -(25962) found -[11840] Forked 25963 -[11839] Forked 25964 -(25963) found -(25964) found -[11838] Forked 25965 -[11837] Forked 25966 -(25965) found -(25966) found -[11836] Forked 25967 -[11835] Forked 25968 -(25967) found -(25968) found -[11834] Forked 25969 -[11833] Forked 25970 -(25969) found -(25970) found -[11832] Forked 25971 -[11831] Forked 25972 -(25971) found -(25972) found -[11830] Forked 25973 -[11829] Forked 25974 -(25973) found -(25974) found -[11828] Forked 25975 -[11827] Forked 25976 -(25975) found -(25976) found -[11826] Forked 25977 -[11825] Forked 25978 -(25977) found -(25978) found -[11824] Forked 25979 -[11823] Forked 25980 -(25979) found -(25980) found -[11822] Forked 25981 -[11821] Forked 25982 -(25981) found -(25982) found -[11820] Forked 25983 -[11819] Forked 25984 -(25983) found -(25984) found -[11818] Forked 25985 -[11817] Forked 25986 -(25985) found -(25986) found -[11816] Forked 25987 -[11815] Forked 25988 -(25987) found -(25988) found -[11814] Forked 25989 -[11813] Forked 25990 -(25989) found -(25990) found -[11812] Forked 25991 -[11811] Forked 25992 -(25991) found -(25992) found -[11810] Forked 25993 -[11809] Forked 25994 -(25993) found -(25994) found -[11808] Forked 25995 -[11807] Forked 25996 -(25995) found -(25996) found -[11806] Forked 25997 -[11805] Forked 25998 -(25997) found -(25998) found -[11804] Forked 25999 -[11803] Forked 26000 -(25999) found -(26000) found -[11802] Forked 26001 -(26001) found -[11801] Forked 26002 -[11800] Forked 26003 -(26002) found -(26003) found -[11799] Forked 26004 -[11798] Forked 26005 -(26004) found -(26005) found -[11797] Forked 26006 -[11796] Forked 26007 -(26006) found -(26007) found -[11795] Forked 26008 -[11794] Forked 26009 -(26008) found -(26009) found -[11793] Forked 26010 -[11792] Forked 26011 -(26010) found -(26011) found -[11791] Forked 26012 -[11790] Forked 26013 -(26012) found -(26013) found -[11789] Forked 26014 -[11788] Forked 26015 -(26014) found -(26015) found -[11787] Forked 26016 -[11786] Forked 26017 -(26016) found -(26017) found -[11785] Forked 26018 -[11784] Forked 26019 -(26018) found -(26019) found -[11783] Forked 26020 -[11782] Forked 26021 -(26020) found -(26021) found -[11781] Forked 26022 -[11780] Forked 26023 -(26022) found -(26023) found -[11779] Forked 26024 -[11778] Forked 26025 -(26024) found -(26025) found -[11777] Forked 26026 -[11776] Forked 26027 -(26026) found -(26027) found -[11775] Forked 26028 -[11774] Forked 26029 -(26028) found -(26029) found -[11773] Forked 26030 -[11772] Forked 26031 -(26030) found -(26031) found -[11771] Forked 26032 -[11770] Forked 26033 -(26032) found -(26033) found -[11769] Forked 26034 -[11768] Forked 26035 -(26034) found -(26035) found -[11767] Forked 26036 -[11766] Forked 26037 -(26036) found -(26037) found -[11765] Forked 26038 -[11764] Forked 26039 -(26038) found -(26039) found -[11763] Forked 26040 -[11762] Forked 26041 -(26040) found -(26041) found -[11761] Forked 26042 -[11760] Forked 26043 -(26042) found -(26043) found -[11759] Forked 26044 -[11758] Forked 26045 -(26044) found -(26045) found -[11757] Forked 26046 -[11756] Forked 26047 -(26046) found -(26047) found -[11755] Forked 26048 -[11754] Forked 26050 -(26048) found -(26050) found -[11753] Forked 26051 -(26051) found -[11752] Forked 26052 -(26052) found -[11751] Forked 26053 -(26053) found -[11750] Forked 26054 -(26054) found -[11749] Forked 26055 -(26055) found -[11748] Forked 26056 -(26056) found -[11747] Forked 26057 -(26057) found -[11746] Forked 26058 -(26058) found -[11745] Forked 26059 -(26059) found -[11744] Forked 26060 -(26060) found -[11743] Forked 26061 -(26061) found -[11742] Forked 26062 -(26062) found -[11741] Forked 26063 -(26063) found -[11740] Forked 26064 -(26064) found -[11739] Forked 26065 -(26065) found -[11738] Forked 26066 -(26066) found -[11737] Forked 26067 -(26067) found -[11736] Forked 26068 -(26068) found -[11735] Forked 26069 -(26069) found -[11734] Forked 26070 -(26070) found -[11733] Forked 26071 -(26071) found -[11732] Forked 26072 -(26072) found -[11731] Forked 26073 -(26073) found -[11730] Forked 26074 -(26074) found -[11729] Forked 26075 -(26075) found -[11728] Forked 26076 -(26076) found -[11727] Forked 26077 -(26077) found -[11726] Forked 26078 -(26078) found -[11725] Forked 26079 -(26079) found -[11724] Forked 26080 -(26080) found -[11723] Forked 26081 -(26081) found -[11722] Forked 26082 -(26082) found -[11721] Forked 26083 -(26083) found -[11720] Forked 26084 -(26084) found -[11719] Forked 26085 -(26085) found -[11718] Forked 26086 -(26086) found -[11717] Forked 26087 -(26087) found -[11716] Forked 26088 -(26088) found -[11715] Forked 26089 -(26089) found -[11714] Forked 26090 -(26090) found -[11713] Forked 26091 -(26091) found -[11712] Forked 26092 -(26092) found -[11711] Forked 26093 -(26093) found -[11710] Forked 26094 -(26094) found -[11709] Forked 26095 -(26095) found -[11708] Forked 26096 -(26096) found -[11707] Forked 26097 -(26097) found -[11706] Forked 26098 -(26098) found -[11705] Forked 26099 -(26099) found -[11704] Forked 26100 -(26100) found -[11703] Forked 26101 -(26101) found -[11702] Forked 26102 -(26102) found -[11701] Forked 26103 -(26103) found -[11700] Forked 26104 -(26104) found -[11699] Forked 26105 -(26105) found -[11698] Forked 26106 -(26106) found -[11697] Forked 26107 -(26107) found -[11696] Forked 26108 -(26108) found -[11695] Forked 26109 -(26109) found -[11694] Forked 26110 -(26110) found -[11693] Forked 26111 -(26111) found -[11692] Forked 26112 -(26112) found -[11691] Forked 26113 -(26113) found -[11690] Forked 26114 -(26114) found -[11689] Forked 26115 -(26115) found -[11688] Forked 26116 -(26116) found -[11687] Forked 26117 -(26117) found -[11686] Forked 26118 -(26118) found -[11685] Forked 26119 -(26119) found -[11684] Forked 26120 -(26120) found -[11683] Forked 26121 -(26121) found -[11682] Forked 26122 -[11681] Forked 26123 -(26122) found -(26123) found -[11680] Forked 26124 -[11679] Forked 26125 -(26124) found -(26125) found -[11678] Forked 26126 -[11677] Forked 26127 -(26126) found -(26127) found -[11676] Forked 26128 -[11675] Forked 26129 -(26128) found -(26129) found -[11674] Forked 26130 -[11673] Forked 26131 -(26130) found -(26131) found -[11672] Forked 26132 -[11671] Forked 26133 -(26132) found -(26133) found -[11670] Forked 26134 -[11669] Forked 26135 -(26134) found -(26135) found -[11668] Forked 26136 -[11667] Forked 26137 -(26136) found -(26137) found -[11666] Forked 26138 -[11665] Forked 26139 -(26138) found -(26139) found -[11664] Forked 26140 -[11663] Forked 26141 -(26140) found -(26141) found -[11662] Forked 26142 -[11661] Forked 26143 -(26142) found -(26143) found -[11660] Forked 26144 -[11659] Forked 26145 -(26144) found -(26145) found -[11658] Forked 26146 -[11657] Forked 26147 -(26146) found -(26147) found -[11656] Forked 26148 -[11655] Forked 26149 -(26148) found -(26149) found -[11654] Forked 26150 -[11653] Forked 26151 -(26150) found -(26151) found -[11652] Forked 26152 -[11651] Forked 26153 -(26152) found -(26153) found -[11650] Forked 26154 -[11649] Forked 26155 -(26154) found -(26155) found -[11648] Forked 26156 -[11647] Forked 26157 -(26156) found -(26157) found -[11646] Forked 26158 -[11645] Forked 26159 -(26158) found -(26159) found -[11644] Forked 26160 -[11643] Forked 26161 -(26160) found -(26161) found -[11642] Forked 26162 -[11641] Forked 26163 -(26162) found -(26163) found -[11640] Forked 26164 -[11639] Forked 26165 -(26164) found -(26165) found -[11638] Forked 26166 -[11637] Forked 26168 -(26166) found -(26168) found -[11636] Forked 26169 -(26169) found -[11635] Forked 26170 -(26170) found -[11634] Forked 26171 -(26171) found -[11633] Forked 26172 -(26172) found -[11632] Forked 26173 -(26173) found -[11631] Forked 26174 -(26174) found -[11630] Forked 26175 -(26175) found -[11629] Forked 26176 -(26176) found -[11628] Forked 26177 -(26177) found -[11627] Forked 26178 -(26178) found -[11626] Forked 26179 -(26179) found -[11625] Forked 26180 -(26180) found -[11624] Forked 26181 -(26181) found -[11623] Forked 26182 -(26182) found -[11622] Forked 26183 -(26183) found -[11621] Forked 26184 -(26184) found -[11620] Forked 26185 -(26185) found -[11619] Forked 26186 -(26186) found -[11618] Forked 26187 -(26187) found -[11617] Forked 26188 -(26188) found -[11616] Forked 26189 -(26189) found -[11615] Forked 26190 -(26190) found -[11614] Forked 26191 -(26191) found -[11613] Forked 26192 -(26192) found -[11612] Forked 26193 -(26193) found -[11611] Forked 26194 -(26194) found -[11610] Forked 26195 -(26195) found -[11609] Forked 26196 -(26196) found -[11608] Forked 26197 -(26197) found -[11607] Forked 26198 -(26198) found -[11606] Forked 26199 -(26199) found -[11605] Forked 26200 -(26200) found -[11604] Forked 26201 -(26201) found -[11603] Forked 26202 -(26202) found -[11602] Forked 26203 -[11601] Forked 26204 -(26203) found -(26204) found -[11600] Forked 26205 -[11599] Forked 26206 -(26205) found -(26206) found -[11598] Forked 26207 -(26207) found -[11597] Forked 26208 -(26208) found -[11596] Forked 26209 -(26209) found -[11595] Forked 26210 -(26210) found -[11594] Forked 26211 -(26211) found -[11593] Forked 26212 -(26212) found -[11592] Forked 26213 -(26213) found -[11591] Forked 26214 -(26214) found -[11590] Forked 26215 -(26215) found -[11589] Forked 26216 -(26216) found -[11588] Forked 26217 -(26217) found -[11587] Forked 26218 -(26218) found -[11586] Forked 26219 -(26219) found -[11585] Forked 26220 -(26220) found -[11584] Forked 26221 -(26221) found -[11583] Forked 26222 -(26222) found -[11582] Forked 26223 -(26223) found -[11581] Forked 26224 -(26224) found -[11580] Forked 26225 -(26225) found -[11579] Forked 26226 -(26226) found -[11578] Forked 26227 -(26227) found -[11577] Forked 26228 -(26228) found -[11576] Forked 26229 -(26229) found -[11575] Forked 26230 -(26230) found -[11574] Forked 26231 -(26231) found -[11573] Forked 26232 -(26232) found -[11572] Forked 26233 -(26233) found -[11571] Forked 26234 -(26234) found -[11570] Forked 26235 -(26235) found -[11569] Forked 26236 -(26236) found -[11568] Forked 26237 -(26237) found -[11567] Forked 26238 -(26238) found -[11566] Forked 26239 -(26239) found -[11565] Forked 26240 -(26240) found -[11564] Forked 26241 -(26241) found -[11563] Forked 26242 -(26242) found -[11562] Forked 26243 -(26243) found -[11561] Forked 26244 -(26244) found -[11560] Forked 26245 -(26245) found -[11559] Forked 26246 -(26246) found -[11558] Forked 26247 -(26247) found -[11557] Forked 26248 -(26248) found -[11556] Forked 26249 -(26249) found -[11555] Forked 26250 -(26250) found -[11554] Forked 26251 -(26251) found -[11553] Forked 26252 -(26252) found -[11552] Forked 26253 -(26253) found -[11551] Forked 26254 -(26254) found -[11550] Forked 26255 -(26255) found -[11549] Forked 26256 -(26256) found -[11548] Forked 26257 -(26257) found -[11547] Forked 26258 -(26258) found -[11546] Forked 26259 -(26259) found -[11545] Forked 26260 -(26260) found -[11544] Forked 26261 -(26261) found -[11543] Forked 26262 -(26262) found -[11542] Forked 26263 -(26263) found -[11541] Forked 26264 -(26264) found -[11540] Forked 26265 -(26265) found -[11539] Forked 26266 -(26266) found -[11538] Forked 26267 -(26267) found -[11537] Forked 26268 -(26268) found -[11536] Forked 26269 -(26269) found -[11535] Forked 26270 -(26270) found -[11534] Forked 26271 -(26271) found -[11533] Forked 26272 -(26272) found -[11532] Forked 26273 -(26273) found -[11531] Forked 26274 -[11530] Forked 26275 -(26274) found -(26275) found -[11529] Forked 26276 -[11528] Forked 26277 -(26276) found -(26277) found -[11527] Forked 26278 -[11526] Forked 26279 -(26278) found -(26279) found -[11525] Forked 26280 -[11524] Forked 26281 -(26280) found -(26281) found -[11523] Forked 26282 -[11522] Forked 26283 -(26282) found -(26283) found -[11521] Forked 26284 -[11520] Forked 26285 -(26284) found -(26285) found -[11519] Forked 26286 -[11518] Forked 26287 -(26286) found -(26287) found -[11517] Forked 26288 -[11516] Forked 26289 -(26288) found -(26289) found -[11515] Forked 26290 -[11514] Forked 26291 -(26290) found -(26291) found -[11513] Forked 26292 -[11512] Forked 26293 -(26292) found -(26293) found -[11511] Forked 26294 -[11510] Forked 26295 -(26294) found -(26295) found -[11509] Forked 26296 -[11508] Forked 26297 -(26296) found -(26297) found -[11507] Forked 26298 -[11506] Forked 26299 -(26298) found -(26299) found -[11505] Forked 26300 -[11504] Forked 26301 -(26300) found -(26301) found -[11503] Forked 26302 -[11502] Forked 26303 -(26302) found -(26303) found -[11501] Forked 26304 -[11500] Forked 26305 -(26304) found -(26305) found -[11499] Forked 26306 -[11498] Forked 26307 -(26306) found -(26307) found -[11497] Forked 26308 -[11496] Forked 26309 -(26308) found -(26309) found -[11495] Forked 26310 -[11494] Forked 26311 -(26310) found -(26311) found -[11493] Forked 26312 -[11492] Forked 26314 -(26312) found -(26314) found -[11491] Forked 26315 -(26315) found -[11490] Forked 26316 -(26316) found -[11489] Forked 26317 -(26317) found -[11488] Forked 26318 -(26318) found -[11487] Forked 26319 -(26319) found -[11486] Forked 26320 -(26320) found -[11485] Forked 26321 -(26321) found -[11484] Forked 26322 -(26322) found -[11483] Forked 26323 -(26323) found -[11482] Forked 26324 -(26324) found -[11481] Forked 26325 -(26325) found -[11480] Forked 26326 -(26326) found -[11479] Forked 26327 -(26327) found -[11478] Forked 26328 -(26328) found -[11477] Forked 26329 -(26329) found -[11476] Forked 26330 -(26330) found -[11475] Forked 26331 -(26331) found -[11474] Forked 26332 -(26332) found -[11473] Forked 26333 -(26333) found -[11472] Forked 26334 -(26334) found -[11471] Forked 26335 -(26335) found -[11470] Forked 26336 -(26336) found -[11469] Forked 26337 -(26337) found -[11468] Forked 26338 -(26338) found -[11467] Forked 26339 -(26339) found -[11466] Forked 26340 -(26340) found -[11465] Forked 26341 -(26341) found -[11464] Forked 26342 -(26342) found -[11463] Forked 26343 -(26343) found -[11462] Forked 26344 -(26344) found -[11461] Forked 26345 -(26345) found -[11460] Forked 26346 -(26346) found -[11459] Forked 26347 -(26347) found -[11458] Forked 26348 -(26348) found -[11457] Forked 26349 -(26349) found -[11456] Forked 26350 -(26350) found -[11455] Forked 26351 -(26351) found -[11454] Forked 26352 -(26352) found -[11453] Forked 26353 -(26353) found -[11452] Forked 26354 -(26354) found -[11451] Forked 26355 -(26355) found -[11450] Forked 26356 -(26356) found -[11449] Forked 26357 -(26357) found -[11448] Forked 26358 -(26358) found -[11447] Forked 26359 -(26359) found -[11446] Forked 26360 -(26360) found -[11445] Forked 26361 -(26361) found -[11444] Forked 26362 -(26362) found -[11443] Forked 26363 -(26363) found -[11442] Forked 26364 -(26364) found -[11441] Forked 26365 -(26365) found -[11440] Forked 26366 -(26366) found -[11439] Forked 26367 -(26367) found -[11438] Forked 26368 -(26368) found -[11437] Forked 26369 -(26369) found -[11436] Forked 26370 -(26370) found -[11435] Forked 26371 -(26371) found -[11434] Forked 26372 -(26372) found -[11433] Forked 26373 -(26373) found -[11432] Forked 26374 -(26374) found -[11431] Forked 26375 -(26375) found -[11430] Forked 26376 -(26376) found -[11429] Forked 26377 -(26377) found -[11428] Forked 26378 -(26378) found -[11427] Forked 26379 -(26379) found -[11426] Forked 26380 -(26380) found -[11425] Forked 26381 -(26381) found -[11424] Forked 26382 -(26382) found -[11423] Forked 26383 -(26383) found -[11422] Forked 26384 -(26384) found -[11421] Forked 26385 -(26385) found -[11420] Forked 26386 -(26386) found -[11419] Forked 26387 -(26387) found -[11418] Forked 26388 -(26388) found -[11417] Forked 26389 -(26389) found -[11416] Forked 26390 -(26390) found -[11415] Forked 26391 -(26391) found -[11414] Forked 26392 -(26392) found -[11413] Forked 26393 -(26393) found -[11412] Forked 26394 -(26394) found -[11411] Forked 26395 -(26395) found -[11410] Forked 26396 -(26396) found -[11409] Forked 26397 -(26397) found -[11408] Forked 26398 -(26398) found -[11407] Forked 26399 -(26399) found -[11406] Forked 26400 -(26400) found -[11405] Forked 26401 -(26401) found -[11404] Forked 26402 -(26402) found -[11403] Forked 26403 -(26403) found -[11402] Forked 26404 -(26404) found -[11401] Forked 26405 -(26405) found -[11400] Forked 26406 -(26406) found -[11399] Forked 26407 -(26407) found -[11398] Forked 26408 -(26408) found -[11397] Forked 26409 -(26409) found -[11396] Forked 26410 -(26410) found -[11395] Forked 26411 -(26411) found -[11394] Forked 26412 -(26412) found -[11393] Forked 26413 -(26413) found -[11392] Forked 26414 -(26414) found -[11391] Forked 26415 -(26415) found -[11390] Forked 26416 -(26416) found -[11389] Forked 26417 -(26417) found -[11388] Forked 26418 -(26418) found -[11387] Forked 26419 -(26419) found -[11386] Forked 26420 -(26420) found -[11385] Forked 26421 -(26421) found -[11384] Forked 26422 -(26422) found -[11383] Forked 26423 -(26423) found -[11382] Forked 26424 -(26424) found -[11381] Forked 26425 -(26425) found -[11380] Forked 26426 -(26426) found -[11379] Forked 26427 -(26427) found -[11378] Forked 26428 -(26428) found -[11377] Forked 26429 -(26429) found -[11376] Forked 26430 -(26430) found -[11375] Forked 26431 -(26431) found -[11374] Forked 26432 -(26432) found -[11373] Forked 26433 -(26433) found -[11372] Forked 26434 -(26434) found -[11371] Forked 26435 -(26435) found -[11370] Forked 26436 -(26436) found -[11369] Forked 26437 -(26437) found -[11368] Forked 26438 -(26438) found -[11367] Forked 26439 -(26439) found -[11366] Forked 26440 -(26440) found -[11365] Forked 26441 -(26441) found -[11364] Forked 26442 -(26442) found -[11363] Forked 26443 -(26443) found -[11362] Forked 26444 -(26444) found -[11361] Forked 26445 -(26445) found -[11360] Forked 26446 -(26446) found -[11359] Forked 26447 -(26447) found -[11358] Forked 26448 -(26448) found -[11357] Forked 26449 -(26449) found -[11356] Forked 26450 -(26450) found -[11355] Forked 26451 -(26451) found -[11354] Forked 26452 -(26452) found -[11353] Forked 26453 -(26453) found -[11352] Forked 26454 -(26454) found -[11351] Forked 26455 -(26455) found -[11350] Forked 26456 -(26456) found -[11349] Forked 26457 -(26457) found -[11348] Forked 26458 -(26458) found -[11347] Forked 26459 -(26459) found -[11346] Forked 26460 -(26460) found -[11345] Forked 26461 -(26461) found -[11344] Forked 26462 -(26462) found -[11343] Forked 26463 -(26463) found -[11342] Forked 26464 -(26464) found -[11341] Forked 26465 -(26465) found -[11340] Forked 26466 -(26466) found -[11339] Forked 26467 -(26467) found -[11338] Forked 26468 -(26468) found -[11337] Forked 26469 -(26469) found -[11336] Forked 26470 -(26470) found -[11335] Forked 26471 -(26471) found -[11334] Forked 26472 -(26472) found -[11333] Forked 26473 -(26473) found -[11332] Forked 26474 -(26474) found -[11331] Forked 26475 -(26475) found -[11330] Forked 26476 -(26476) found -[11329] Forked 26477 -(26477) found -[11328] Forked 26478 -(26478) found -[11327] Forked 26479 -(26479) found -[11326] Forked 26480 -(26480) found -[11325] Forked 26481 -(26481) found -[11324] Forked 26482 -(26482) found -[11323] Forked 26483 -(26483) found -[11322] Forked 26484 -(26484) found -[11321] Forked 26485 -(26485) found -[11320] Forked 26486 -(26486) found -[11319] Forked 26487 -(26487) found -[11318] Forked 26488 -(26488) found -[11317] Forked 26489 -(26489) found -[11316] Forked 26490 -(26490) found -[11315] Forked 26491 -(26491) found -[11314] Forked 26492 -(26492) found -[11313] Forked 26493 -[11312] Forked 26494 -(26493) found -(26494) found -[11311] Forked 26495 -[11310] Forked 26496 -(26495) found -(26496) found -[11309] Forked 26497 -[11308] Forked 26498 -(26497) found -(26498) found -[11307] Forked 26499 -[11306] Forked 26500 -(26499) found -(26500) found -[11305] Forked 26501 -[11304] Forked 26502 -(26501) found -(26502) found -[11303] Forked 26503 -[11302] Forked 26504 -(26503) found -(26504) found -[11301] Forked 26505 -[11300] Forked 26506 -(26505) found -(26506) found -[11299] Forked 26507 -[11298] Forked 26508 -(26507) found -(26508) found -[11297] Forked 26509 -[11296] Forked 26510 -(26509) found -(26510) found -[11295] Forked 26511 -[11294] Forked 26512 -(26511) found -(26512) found -[11293] Forked 26513 -[11292] Forked 26514 -(26513) found -(26514) found -[11291] Forked 26515 -[11290] Forked 26516 -(26515) found -(26516) found -[11289] Forked 26517 -[11288] Forked 26518 -(26517) found -(26518) found -[11287] Forked 26519 -[11286] Forked 26520 -(26519) found -(26520) found -[11285] Forked 26521 -[11284] Forked 26522 -(26521) found -(26522) found -[11283] Forked 26523 -[11282] Forked 26524 -(26523) found -(26524) found -[11281] Forked 26525 -[11280] Forked 26526 -(26525) found -(26526) found -[11279] Forked 26527 -[11278] Forked 26528 -(26527) found -(26528) found -[11277] Forked 26529 -[11276] Forked 26530 -(26529) found -(26530) found -[11275] Forked 26531 -[11274] Forked 26532 -(26531) found -(26532) found -[11273] Forked 26533 -[11272] Forked 26534 -(26533) found -(26534) found -[11271] Forked 26535 -[11270] Forked 26536 -(26535) found -(26536) found -[11269] Forked 26537 -[11268] Forked 26538 -(26537) found -(26538) found -[11267] Forked 26539 -(26539) found -[11266] Forked 26540 -(26540) found -[11265] Forked 26541 -(26541) found -[11264] Forked 26542 -(26542) found -[11263] Forked 26543 -(26543) found -[11262] Forked 26544 -(26544) found -[11261] Forked 26545 -(26545) found -[11260] Forked 26546 -(26546) found -[11259] Forked 26547 -(26547) found -[11258] Forked 26548 -(26548) found -[11257] Forked 26549 -(26549) found -[11256] Forked 26550 -(26550) found -[11255] Forked 26551 -(26551) found -[11254] Forked 26552 -(26552) found -[11253] Forked 26553 -(26553) found -[11252] Forked 26554 -(26554) found -[11251] Forked 26555 -(26555) found -[11250] Forked 26556 -(26556) found -[11249] Forked 26557 -(26557) found -[11248] Forked 26558 -(26558) found -[11247] Forked 26559 -(26559) found -[11246] Forked 26560 -(26560) found -[11245] Forked 26561 -(26561) found -[11244] Forked 26562 -(26562) found -[11243] Forked 26563 -(26563) found -[11242] Forked 26564 -(26564) found -[11241] Forked 26565 -(26565) found -[11240] Forked 26566 -(26566) found -[11239] Forked 26567 -(26567) found -[11238] Forked 26568 -(26568) found -[11237] Forked 26569 -(26569) found -[11236] Forked 26570 -(26570) found -[11235] Forked 26571 -(26571) found -[11234] Forked 26572 -(26572) found -[11233] Forked 26573 -(26573) found -[11232] Forked 26574 -(26574) found -[11231] Forked 26575 -[11230] Forked 26576 -(26575) found -(26576) found -[11229] Forked 26577 -[11228] Forked 26578 -(26577) found -(26578) found -[11227] Forked 26579 -[11226] Forked 26580 -(26579) found -(26580) found -[11225] Forked 26581 -[11224] Forked 26582 -(26581) found -(26582) found -[11223] Forked 26583 -[11222] Forked 26584 -(26583) found -(26584) found -[11221] Forked 26585 -[11220] Forked 26586 -(26585) found -(26586) found -[11219] Forked 26587 -[11218] Forked 26588 -(26587) found -(26588) found -[11217] Forked 26589 -[11216] Forked 26590 -(26589) found -(26590) found -[11215] Forked 26591 -[11214] Forked 26592 -(26591) found -(26592) found -[11213] Forked 26593 -[11212] Forked 26594 -(26593) found -(26594) found -[11211] Forked 26595 -[11210] Forked 26596 -(26595) found -(26596) found -[11209] Forked 26597 -[11208] Forked 26598 -(26597) found -(26598) found -[11207] Forked 26599 -[11206] Forked 26600 -(26599) found -(26600) found -[11205] Forked 26601 -[11204] Forked 26602 -(26601) found -(26602) found -[11203] Forked 26603 -[11202] Forked 26604 -(26603) found -(26604) found -[11201] Forked 26605 -[11200] Forked 26606 -(26605) found -(26606) found -[11199] Forked 26607 -[11198] Forked 26608 -(26607) found -(26608) found -[11197] Forked 26609 -[11196] Forked 26610 -(26609) found -(26610) found -[11195] Forked 26611 -[11194] Forked 26612 -(26611) found -(26612) found -[11193] Forked 26613 -[11192] Forked 26614 -(26613) found -(26614) found -[11191] Forked 26615 -[11190] Forked 26616 -(26615) found -(26616) found -[11189] Forked 26617 -[11188] Forked 26618 -(26617) found -(26618) found -[11187] Forked 26619 -[11186] Forked 26620 -(26619) found -(26620) found -[11185] Forked 26621 -(26621) found -[11184] Forked 26622 -(26622) found -[11183] Forked 26623 -(26623) found -[11182] Forked 26624 -(26624) found -[11181] Forked 26625 -(26625) found -[11180] Forked 26626 -(26626) found -[11179] Forked 26627 -(26627) found -[11178] Forked 26628 -(26628) found -[11177] Forked 26629 -(26629) found -[11176] Forked 26630 -(26630) found -[11175] Forked 26631 -(26631) found -[11174] Forked 26632 -(26632) found -[11173] Forked 26633 -(26633) found -[11172] Forked 26634 -(26634) found -[11171] Forked 26635 -(26635) found -[11170] Forked 26636 -(26636) found -[11169] Forked 26637 -(26637) found -[11168] Forked 26638 -(26638) found -[11167] Forked 26639 -(26639) found -[11166] Forked 26640 -(26640) found -[11165] Forked 26641 -(26641) found -[11164] Forked 26642 -(26642) found -[11163] Forked 26643 -(26643) found -[11162] Forked 26644 -(26644) found -[11161] Forked 26645 -(26645) found -[11160] Forked 26646 -(26646) found -[11159] Forked 26647 -(26647) found -[11158] Forked 26648 -(26648) found -[11157] Forked 26649 -(26649) found -[11156] Forked 26650 -(26650) found -[11155] Forked 26651 -(26651) found -[11154] Forked 26652 -(26652) found -[11153] Forked 26653 -(26653) found -[11152] Forked 26654 -(26654) found -[11151] Forked 26655 -[11150] Forked 26656 -(26655) found -(26656) found -[11149] Forked 26657 -[11148] Forked 26658 -(26657) found -(26658) found -[11147] Forked 26659 -[11146] Forked 26660 -(26659) found -(26660) found -[11145] Forked 26661 -[11144] Forked 26662 -(26661) found -(26662) found -[11143] Forked 26663 -[11142] Forked 26664 -(26663) found -(26664) found -[11141] Forked 26665 -[11140] Forked 26666 -(26665) found -(26666) found -[11139] Forked 26667 -[11138] Forked 26668 -(26667) found -(26668) found -[11137] Forked 26669 -[11136] Forked 26670 -(26669) found -(26670) found -[11135] Forked 26671 -[11134] Forked 26672 -(26671) found -(26672) found -[11133] Forked 26673 -[11132] Forked 26674 -(26674) found -(26673) found -[11131] Forked 26675 -(26675) found -[11130] Forked 26676 -(26676) found -[11129] Forked 26677 -(26677) found -[11128] Forked 26678 -(26678) found -[11127] Forked 26679 -(26679) found -[11126] Forked 26680 -(26680) found -[11125] Forked 26681 -(26681) found -[11124] Forked 26682 -(26682) found -[11123] Forked 26683 -(26683) found -[11122] Forked 26684 -(26684) found -[11121] Forked 26685 -(26685) found -[11120] Forked 26686 -(26686) found -[11119] Forked 26687 -(26687) found -[11118] Forked 26688 -(26688) found -[11117] Forked 26689 -(26689) found -[11116] Forked 26690 -(26690) found -[11115] Forked 26691 -(26691) found -[11114] Forked 26692 -(26692) found -[11113] Forked 26693 -(26693) found -[11112] Forked 26694 -(26694) found -[11111] Forked 26695 -(26695) found -[11110] Forked 26696 -(26696) found -[11109] Forked 26697 -(26697) found -[11108] Forked 26698 -(26698) found -[11107] Forked 26699 -(26699) found -[11106] Forked 26700 -(26700) found -[11105] Forked 26701 -(26701) found -[11104] Forked 26702 -(26702) found -[11103] Forked 26703 -(26703) found -[11102] Forked 26704 -(26704) found -[11101] Forked 26705 -(26705) found -[11100] Forked 26706 -(26706) found -[11099] Forked 26707 -(26707) found -[11098] Forked 26708 -(26708) found -[11097] Forked 26709 -(26709) found -[11096] Forked 26710 -(26710) found -[11095] Forked 26711 -(26711) found -[11094] Forked 26712 -(26712) found -[11093] Forked 26713 -(26713) found -[11092] Forked 26714 -(26714) found -[11091] Forked 26715 -(26715) found -[11090] Forked 26716 -(26716) found -[11089] Forked 26717 -(26717) found -[11088] Forked 26718 -(26718) found -[11087] Forked 26719 -(26719) found -[11086] Forked 26720 -(26720) found -[11085] Forked 26721 -(26721) found -[11084] Forked 26722 -(26722) found -[11083] Forked 26723 -(26723) found -[11082] Forked 26724 -(26724) found -[11081] Forked 26725 -[11080] Forked 26726 -(26725) found -(26726) found -[11079] Forked 26727 -[11078] Forked 26728 -(26727) found -(26728) found -[11077] Forked 26729 -[11076] Forked 26730 -(26729) found -(26730) found -[11075] Forked 26731 -[11074] Forked 26732 -(26731) found -(26732) found -[11073] Forked 26733 -[11072] Forked 26734 -(26733) found -(26734) found -[11071] Forked 26735 -[11070] Forked 26736 -(26735) found -(26736) found -[11069] Forked 26737 -[11068] Forked 26738 -(26737) found -(26738) found -[11067] Forked 26739 -[11066] Forked 26740 -(26739) found -(26740) found -[11065] Forked 26741 -[11064] Forked 26742 -(26741) found -(26742) found -[11063] Forked 26743 -[11062] Forked 26744 -(26743) found -(26744) found -[11061] Forked 26745 -[11060] Forked 26746 -(26745) found -(26746) found -[11059] Forked 26747 -[11058] Forked 26748 -(26747) found -(26748) found -[11057] Forked 26749 -[11056] Forked 26750 -(26749) found -(26750) found -[11055] Forked 26751 -[11054] Forked 26752 -(26751) found -(26752) found -[11053] Forked 26753 -[11052] Forked 26754 -(26753) found -(26754) found -[11051] Forked 26755 -[11050] Forked 26756 -(26755) found -(26756) found -[11049] Forked 26757 -[11048] Forked 26758 -(26757) found -(26758) found -[11047] Forked 26759 -[11046] Forked 26760 -(26759) found -(26760) found -[11045] Forked 26761 -[11044] Forked 26762 -(26761) found -(26762) found -[11043] Forked 26763 -[11042] Forked 26764 -(26763) found -(26764) found -[11041] Forked 26765 -[11040] Forked 26766 -(26765) found -(26766) found -[11039] Forked 26767 -[11038] Forked 26768 -(26767) found -(26768) found -[11037] Forked 26769 -[11036] Forked 26770 -(26769) found -(26770) found -[11035] Forked 26771 -[11034] Forked 26772 -(26771) found -(26772) found -[11033] Forked 26773 -[11032] Forked 26774 -(26773) found -(26774) found -[11031] Forked 26775 -[11030] Forked 26776 -(26775) found -(26776) found -[11029] Forked 26777 -[11028] Forked 26778 -(26777) found -(26778) found -[11027] Forked 26779 -[11026] Forked 26780 -(26779) found -(26780) found -[11025] Forked 26781 -(26781) found -[11024] Forked 26782 -[11023] Forked 26783 -(26782) found -(26783) found -[11022] Forked 26784 -[11021] Forked 26785 -(26784) found -(26785) found -[11020] Forked 26786 -[11019] Forked 26787 -(26786) found -(26787) found -[11018] Forked 26788 -[11017] Forked 26789 -(26788) found -(26789) found -[11016] Forked 26790 -[11015] Forked 26791 -(26790) found -(26791) found -[11014] Forked 26792 -[11013] Forked 26793 -(26792) found -(26793) found -[11012] Forked 26794 -[11011] Forked 26795 -(26794) found -(26795) found -[11010] Forked 26796 -[11009] Forked 26797 -(26796) found -(26797) found -[11008] Forked 26798 -[11007] Forked 26799 -(26798) found -(26799) found -[11006] Forked 26800 -[11005] Forked 26801 -(26800) found -(26801) found -[11004] Forked 26802 -[11003] Forked 26803 -(26802) found -(26803) found -[11002] Forked 26804 -[11001] Forked 26805 -(26804) found -(26805) found -[11000] Forked 26806 -[10999] Forked 26807 -(26806) found -(26807) found -[10998] Forked 26808 -[10997] Forked 26809 -(26808) found -(26809) found -[10996] Forked 26810 -[10995] Forked 26811 -(26810) found -(26811) found -[10994] Forked 26812 -(26812) found -[10993] Forked 26813 -(26813) found -[10992] Forked 26814 -(26814) found -[10991] Forked 26815 -(26815) found -[10990] Forked 26816 -(26816) found -[10989] Forked 26817 -(26817) found -[10988] Forked 26818 -(26818) found -[10987] Forked 26819 -(26819) found -[10986] Forked 26820 -(26820) found -[10985] Forked 26822 -(26822) found -[10984] Forked 26823 -(26823) found -[10983] Forked 26824 -(26824) found -[10982] Forked 26825 -(26825) found -[10981] Forked 26826 -(26826) found -[10980] Forked 26827 -(26827) found -[10979] Forked 26828 -(26828) found -[10978] Forked 26829 -(26829) found -[10977] Forked 26830 -(26830) found -[10976] Forked 26831 -(26831) found -[10975] Forked 26832 -(26832) found -[10974] Forked 26833 -(26833) found -[10973] Forked 26834 -(26834) found -[10972] Forked 26835 -(26835) found -[10971] Forked 26836 -(26836) found -[10970] Forked 26837 -(26837) found -[10969] Forked 26838 -(26838) found -[10968] Forked 26839 -(26839) found -[10967] Forked 26840 -(26840) found -[10966] Forked 26841 -(26841) found -[10965] Forked 26842 -(26842) found -[10964] Forked 26843 -(26843) found -[10963] Forked 26844 -(26844) found -[10962] Forked 26845 -(26845) found -[10961] Forked 26846 -(26846) found -[10960] Forked 26847 -(26847) found -[10959] Forked 26848 -(26848) found -[10958] Forked 26849 -(26849) found -[10957] Forked 26850 -(26850) found -[10956] Forked 26851 -(26851) found -[10955] Forked 26852 -(26852) found -[10954] Forked 26853 -(26853) found -[10953] Forked 26854 -(26854) found -[10952] Forked 26855 -(26855) found -[10951] Forked 26856 -(26856) found -[10950] Forked 26857 -(26857) found -[10949] Forked 26858 -(26858) found -[10948] Forked 26859 -(26859) found -[10947] Forked 26860 -(26860) found -[10946] Forked 26861 -(26861) found -[10945] Forked 26862 -(26862) found -[10944] Forked 26863 -(26863) found -[10943] Forked 26864 -(26864) found -[10942] Forked 26865 -(26865) found -[10941] Forked 26866 -(26866) found -[10940] Forked 26867 -(26867) found -[10939] Forked 26868 -(26868) found -[10938] Forked 26869 -(26869) found -[10937] Forked 26870 -(26870) found -[10936] Forked 26871 -(26871) found -[10935] Forked 26872 -(26872) found -[10934] Forked 26873 -(26873) found -[10933] Forked 26874 -(26874) found -[10932] Forked 26875 -(26875) found -[10931] Forked 26876 -(26876) found -[10930] Forked 26877 -(26877) found -[10929] Forked 26878 -(26878) found -[10928] Forked 26879 -(26879) found -[10927] Forked 26880 -(26880) found -[10926] Forked 26881 -(26881) found -[10925] Forked 26882 -(26882) found -[10924] Forked 26883 -(26883) found -[10923] Forked 26884 -(26884) found -[10922] Forked 26885 -(26885) found -[10921] Forked 26886 -(26886) found -[10920] Forked 26887 -(26887) found -[10919] Forked 26888 -(26888) found -[10918] Forked 26889 -[10917] Forked 26890 -(26889) found -(26890) found -[10916] Forked 26891 -[10915] Forked 26892 -(26891) found -(26892) found -[10914] Forked 26893 -[10913] Forked 26894 -(26893) found -(26894) found -[10912] Forked 26895 -[10911] Forked 26896 -(26895) found -(26896) found -[10910] Forked 26897 -[10909] Forked 26898 -(26897) found -(26898) found -[10908] Forked 26899 -[10907] Forked 26900 -(26899) found -(26900) found -[10906] Forked 26901 -[10905] Forked 26902 -(26901) found -(26902) found -[10904] Forked 26903 -[10903] Forked 26904 -(26903) found -(26904) found -[10902] Forked 26905 -[10901] Forked 26906 -(26905) found -(26906) found -[10900] Forked 26907 -[10899] Forked 26908 -(26907) found -(26908) found -[10898] Forked 26909 -[10897] Forked 26910 -(26909) found -(26910) found -[10896] Forked 26911 -[10895] Forked 26912 -(26911) found -(26912) found -[10894] Forked 26913 -[10893] Forked 26914 -(26913) found -(26914) found -[10892] Forked 26915 -[10891] Forked 26916 -(26915) found -(26916) found -[10890] Forked 26917 -[10889] Forked 26918 -(26917) found -(26918) found -[10888] Forked 26919 -[10887] Forked 26920 -(26919) found -(26920) found -[10886] Forked 26921 -[10885] Forked 26922 -(26921) found -(26922) found -[10884] Forked 26923 -[10883] Forked 26924 -(26923) found -(26924) found -[10882] Forked 26925 -[10881] Forked 26926 -(26925) found -(26926) found -[10880] Forked 26927 -[10879] Forked 26928 -(26927) found -(26928) found -[10878] Forked 26929 -[10877] Forked 26930 -(26929) found -(26930) found -[10876] Forked 26931 -[10875] Forked 26932 -(26931) found -(26932) found -[10874] Forked 26933 -[10873] Forked 26934 -(26933) found -(26934) found -[10872] Forked 26935 -(26935) found -[10871] Forked 26936 -(26936) found -[10870] Forked 26937 -(26937) found -[10869] Forked 26938 -(26938) found -[10868] Forked 26939 -(26939) found -[10867] Forked 26940 -(26940) found -[10866] Forked 26941 -(26941) found -[10865] Forked 26942 -(26942) found -[10864] Forked 26943 -(26943) found -[10863] Forked 26944 -(26944) found -[10862] Forked 26945 -(26945) found -[10861] Forked 26946 -(26946) found -[10860] Forked 26947 -(26947) found -[10859] Forked 26948 -(26948) found -[10858] Forked 26949 -(26949) found -[10857] Forked 26950 -(26950) found -[10856] Forked 26951 -(26951) found -[10855] Forked 26952 -(26952) found -[10854] Forked 26953 -(26953) found -[10853] Forked 26954 -(26954) found -[10852] Forked 26955 -(26955) found -[10851] Forked 26956 -(26956) found -[10850] Forked 26957 -(26957) found -[10849] Forked 26958 -(26958) found -[10848] Forked 26959 -(26959) found -[10847] Forked 26960 -(26960) found -[10846] Forked 26961 -(26961) found -[10845] Forked 26962 -(26962) found -[10844] Forked 26963 -(26963) found -[10843] Forked 26964 -(26964) found -[10842] Forked 26965 -(26965) found -[10841] Forked 26966 -(26966) found -[10840] Forked 26967 -(26967) found -[10839] Forked 26968 -(26968) found -[10838] Forked 26969 -(26969) found -[10837] Forked 26970 -[10836] Forked 26971 -(26970) found -(26971) found -[10835] Forked 26972 -[10834] Forked 26973 -(26972) found -(26973) found -[10833] Forked 26974 -[10832] Forked 26975 -(26974) found -(26975) found -[10831] Forked 26976 -[10830] Forked 26977 -(26976) found -(26977) found -[10829] Forked 26978 -[10828] Forked 26979 -(26978) found -(26979) found -[10827] Forked 26980 -[10826] Forked 26981 -(26980) found -(26981) found -[10825] Forked 26982 -[10824] Forked 26983 -(26982) found -(26983) found -[10823] Forked 26984 -[10822] Forked 26985 -(26984) found -(26985) found -[10821] Forked 26986 -[10820] Forked 26987 -(26986) found -(26987) found -[10819] Forked 26988 -[10818] Forked 26989 -(26988) found -(26989) found -[10817] Forked 26990 -[10816] Forked 26991 -(26990) found -(26991) found -[10815] Forked 26992 -[10814] Forked 26993 -(26992) found -(26993) found -[10813] Forked 26994 -[10812] Forked 26995 -(26994) found -(26995) found -[10811] Forked 26996 -[10810] Forked 26997 -(26996) found -(26997) found -[10809] Forked 26998 -[10808] Forked 26999 -(26998) found -(26999) found -[10807] Forked 27000 -[10806] Forked 27001 -(27000) found -(27001) found -[10805] Forked 27002 -[10804] Forked 27003 -(27002) found -(27003) found -[10803] Forked 27004 -[10802] Forked 27005 -(27004) found -(27005) found -[10801] Forked 27006 -[10800] Forked 27007 -(27006) found -(27007) found -[10799] Forked 27008 -[10798] Forked 27009 -(27008) found -(27009) found -[10797] Forked 27010 -[10796] Forked 27011 -(27010) found -(27011) found -[10795] Forked 27012 -[10794] Forked 27013 -(27012) found -(27013) found -[10793] Forked 27014 -[10792] Forked 27015 -(27014) found -(27015) found -[10791] Forked 27016 -(27016) found -[10790] Forked 27017 -(27017) found -[10789] Forked 27018 -(27018) found -[10788] Forked 27019 -(27019) found -[10787] Forked 27020 -(27020) found -[10786] Forked 27021 -(27021) found -[10785] Forked 27022 -(27022) found -[10784] Forked 27023 -(27023) found -[10783] Forked 27024 -(27024) found -[10782] Forked 27025 -(27025) found -[10781] Forked 27026 -(27026) found -[10780] Forked 27027 -(27027) found -[10779] Forked 27028 -(27028) found -[10778] Forked 27029 -(27029) found -[10777] Forked 27030 -(27030) found -[10776] Forked 27031 -(27031) found -[10775] Forked 27032 -(27032) found -[10774] Forked 27033 -(27033) found -[10773] Forked 27034 -(27034) found -[10772] Forked 27035 -(27035) found -[10771] Forked 27036 -(27036) found -[10770] Forked 27037 -(27037) found -[10769] Forked 27038 -(27038) found -[10768] Forked 27039 -(27039) found -[10767] Forked 27040 -(27040) found -[10766] Forked 27041 -(27041) found -[10765] Forked 27042 -(27042) found -[10764] Forked 27043 -(27043) found -[10763] Forked 27044 -(27044) found -[10762] Forked 27045 -(27045) found -[10761] Forked 27046 -(27046) found -[10760] Forked 27047 -(27047) found -[10759] Forked 27048 -(27048) found -[10758] Forked 27049 -(27049) found -[10757] Forked 27050 -(27050) found -[10756] Forked 27051 -(27051) found -[10755] Forked 27052 -[10754] Forked 27053 -(27052) found -(27053) found -[10753] Forked 27054 -[10752] Forked 27055 -(27054) found -(27055) found -[10751] Forked 27056 -[10750] Forked 27057 -(27056) found -(27057) found -[10749] Forked 27058 -[10748] Forked 27059 -(27058) found -(27059) found -[10747] Forked 27060 -[10746] Forked 27061 -(27060) found -(27061) found -[10745] Forked 27062 -[10744] Forked 27063 -(27062) found -(27063) found -[10743] Forked 27064 -[10742] Forked 27065 -(27064) found -(27065) found -[10741] Forked 27066 -[10740] Forked 27067 -(27066) found -(27067) found -[10739] Forked 27068 -[10738] Forked 27069 -(27068) found -(27069) found -[10737] Forked 27070 -[10736] Forked 27071 -(27070) found -(27071) found -[10735] Forked 27072 -[10734] Forked 27073 -(27072) found -(27073) found -[10733] Forked 27074 -[10732] Forked 27075 -(27074) found -(27075) found -[10731] Forked 27076 -[10730] Forked 27077 -(27076) found -(27077) found -[10729] Forked 27078 -[10728] Forked 27079 -(27078) found -(27079) found -[10727] Forked 27080 -[10726] Forked 27081 -(27080) found -(27081) found -[10725] Forked 27082 -[10724] Forked 27083 -(27082) found -(27083) found -[10723] Forked 27084 -[10722] Forked 27085 -(27084) found -(27085) found -[10721] Forked 27086 -[10720] Forked 27087 -(27086) found -(27087) found -[10719] Forked 27088 -[10718] Forked 27089 -(27088) found -(27089) found -[10717] Forked 27090 -[10716] Forked 27091 -(27090) found -(27091) found -[10715] Forked 27092 -[10714] Forked 27093 -(27092) found -(27093) found -[10713] Forked 27094 -[10712] Forked 27095 -(27094) found -(27095) found -[10711] Forked 27096 -[10710] Forked 27097 -(27096) found -(27097) found -[10709] Forked 27098 -[10708] Forked 27099 -(27098) found -(27099) found -[10707] Forked 27100 -[10706] Forked 27101 -(27100) found -(27101) found -[10705] Forked 27102 -[10704] Forked 27103 -(27102) found -(27103) found -[10703] Forked 27104 -[10702] Forked 27105 -(27104) found -(27105) found -[10701] Forked 27106 -[10700] Forked 27107 -(27106) found -(27107) found -[10699] Forked 27108 -[10698] Forked 27109 -(27108) found -(27109) found -[10697] Forked 27110 -[10696] Forked 27111 -(27110) found -(27111) found -[10695] Forked 27112 -[10694] Forked 27113 -(27112) found -(27113) found -[10693] Forked 27114 -[10692] Forked 27115 -(27114) found -(27115) found -[10691] Forked 27116 -[10690] Forked 27117 -(27116) found -(27117) found -[10689] Forked 27118 -[10688] Forked 27119 -(27118) found -(27119) found -[10687] Forked 27120 -[10686] Forked 27121 -(27120) found -(27121) found -[10685] Forked 27122 -[10684] Forked 27123 -(27122) found -(27123) found -[10683] Forked 27124 -[10682] Forked 27125 -(27124) found -(27125) found -[10681] Forked 27126 -[10680] Forked 27127 -(27126) found -(27127) found -[10679] Forked 27128 -[10678] Forked 27129 -(27128) found -(27129) found -[10677] Forked 27130 -[10676] Forked 27131 -(27130) found -(27131) found -[10675] Forked 27132 -[10674] Forked 27133 -(27132) found -(27133) found -[10673] Forked 27134 -[10672] Forked 27135 -(27134) found -(27135) found -[10671] Forked 27136 -[10670] Forked 27138 -(27136) found -(27138) found -[10669] Forked 27139 -(27139) found -[10668] Forked 27140 -(27140) found -[10667] Forked 27141 -(27141) found -[10666] Forked 27142 -(27142) found -[10665] Forked 27143 -(27143) found -[10664] Forked 27144 -(27144) found -[10663] Forked 27145 -(27145) found -[10662] Forked 27146 -(27146) found -[10661] Forked 27147 -(27147) found -[10660] Forked 27148 -(27148) found -[10659] Forked 27149 -(27149) found -[10658] Forked 27150 -(27150) found -[10657] Forked 27151 -(27151) found -[10656] Forked 27152 -(27152) found -[10655] Forked 27153 -(27153) found -[10654] Forked 27154 -(27154) found -[10653] Forked 27155 -(27155) found -[10652] Forked 27156 -(27156) found -[10651] Forked 27157 -(27157) found -[10650] Forked 27158 -(27158) found -[10649] Forked 27159 -(27159) found -[10648] Forked 27160 -(27160) found -[10647] Forked 27161 -(27161) found -[10646] Forked 27162 -(27162) found -[10645] Forked 27163 -(27163) found -[10644] Forked 27164 -(27164) found -[10643] Forked 27165 -(27165) found -[10642] Forked 27166 -(27166) found -[10641] Forked 27167 -(27167) found -[10640] Forked 27168 -(27168) found -[10639] Forked 27169 -(27169) found -[10638] Forked 27170 -(27170) found -[10637] Forked 27171 -(27171) found -[10636] Forked 27172 -(27172) found -[10635] Forked 27173 -(27173) found -[10634] Forked 27174 -(27174) found -[10633] Forked 27175 -(27175) found -[10632] Forked 27176 -(27176) found -[10631] Forked 27177 -(27177) found -[10630] Forked 27178 -(27178) found -[10629] Forked 27179 -(27179) found -[10628] Forked 27180 -(27180) found -[10627] Forked 27181 -(27181) found -[10626] Forked 27182 -(27182) found -[10625] Forked 27183 -(27183) found -[10624] Forked 27184 -(27184) found -[10623] Forked 27185 -(27185) found -[10622] Forked 27186 -(27186) found -[10621] Forked 27187 -(27187) found -[10620] Forked 27188 -(27188) found -[10619] Forked 27189 -(27189) found -[10618] Forked 27190 -(27190) found -[10617] Forked 27191 -(27191) found -[10616] Forked 27192 -(27192) found -[10615] Forked 27193 -(27193) found -[10614] Forked 27194 -(27194) found -[10613] Forked 27195 -(27195) found -[10612] Forked 27196 -(27196) found -[10611] Forked 27197 -(27197) found -[10610] Forked 27198 -(27198) found -[10609] Forked 27199 -(27199) found -[10608] Forked 27200 -(27200) found -[10607] Forked 27201 -(27201) found -[10606] Forked 27202 -(27202) found -[10605] Forked 27203 -(27203) found -[10604] Forked 27204 -(27204) found -[10603] Forked 27205 -(27205) found -[10602] Forked 27206 -(27206) found -[10601] Forked 27207 -(27207) found -[10600] Forked 27208 -(27208) found -[10599] Forked 27209 -(27209) found -[10598] Forked 27210 -(27210) found -[10597] Forked 27211 -(27211) found -[10596] Forked 27212 -(27212) found -[10595] Forked 27213 -(27213) found -[10594] Forked 27214 -(27214) found -[10593] Forked 27215 -(27215) found -[10592] Forked 27216 -(27216) found -[10591] Forked 27217 -(27217) found -[10590] Forked 27218 -(27218) found -[10589] Forked 27219 -(27219) found -[10588] Forked 27220 -(27220) found -[10587] Forked 27221 -(27221) found -[10586] Forked 27222 -(27222) found -[10585] Forked 27223 -(27223) found -[10584] Forked 27224 -(27224) found -[10583] Forked 27225 -(27225) found -[10582] Forked 27226 -(27226) found -[10581] Forked 27227 -(27227) found -[10580] Forked 27228 -(27228) found -[10579] Forked 27229 -(27229) found -[10578] Forked 27230 -(27230) found -[10577] Forked 27231 -(27231) found -[10576] Forked 27232 -(27232) found -[10575] Forked 27233 -(27233) found -[10574] Forked 27234 -(27234) found -[10573] Forked 27235 -(27235) found -[10572] Forked 27236 -(27236) found -[10571] Forked 27237 -(27237) found -[10570] Forked 27238 -(27238) found -[10569] Forked 27239 -(27239) found -[10568] Forked 27240 -(27240) found -[10567] Forked 27241 -(27241) found -[10566] Forked 27242 -(27242) found -[10565] Forked 27243 -(27243) found -[10564] Forked 27244 -(27244) found -[10563] Forked 27245 -(27245) found -[10562] Forked 27246 -(27246) found -[10561] Forked 27247 -(27247) found -[10560] Forked 27248 -(27248) found -[10559] Forked 27249 -(27249) found -[10558] Forked 27250 -[10557] Forked 27251 -(27250) found -(27251) found -[10556] Forked 27252 -[10555] Forked 27253 -(27252) found -(27253) found -[10554] Forked 27254 -[10553] Forked 27255 -(27254) found -(27255) found -[10552] Forked 27256 -[10551] Forked 27257 -(27256) found -(27257) found -[10550] Forked 27258 -[10549] Forked 27259 -(27258) found -(27259) found -[10548] Forked 27260 -[10547] Forked 27261 -(27260) found -(27261) found -[10546] Forked 27262 -[10545] Forked 27263 -(27262) found -(27263) found -[10544] Forked 27264 -[10543] Forked 27265 -(27264) found -(27265) found -[10542] Forked 27266 -[10541] Forked 27267 -(27266) found -(27267) found -[10540] Forked 27268 -[10539] Forked 27269 -(27268) found -(27269) found -[10538] Forked 27270 -[10537] Forked 27271 -(27270) found -(27271) found -[10536] Forked 27272 -[10535] Forked 27273 -(27272) found -(27273) found -[10534] Forked 27274 -[10533] Forked 27275 -(27274) found -(27275) found -[10532] Forked 27276 -[10531] Forked 27277 -(27276) found -(27277) found -[10530] Forked 27278 -[10529] Forked 27279 -(27278) found -(27279) found -[10528] Forked 27280 -[10527] Forked 27281 -(27280) found -(27281) found -[10526] Forked 27282 -[10525] Forked 27283 -(27282) found -(27283) found -[10524] Forked 27284 -[10523] Forked 27285 -(27284) found -(27285) found -[10522] Forked 27286 -[10521] Forked 27287 -(27286) found -(27287) found -[10520] Forked 27288 -[10519] Forked 27289 -(27288) found -(27289) found -[10518] Forked 27290 -[10517] Forked 27291 -(27290) found -(27291) found -[10516] Forked 27292 -[10515] Forked 27293 -(27292) found -(27293) found -[10514] Forked 27294 -(27294) found -[10513] Forked 27295 -(27295) found -[10512] Forked 27296 -(27296) found -[10511] Forked 27297 -(27297) found -[10510] Forked 27298 -(27298) found -[10509] Forked 27299 -(27299) found -[10508] Forked 27300 -(27300) found -[10507] Forked 27301 -(27301) found -[10506] Forked 27302 -(27302) found -[10505] Forked 27303 -(27303) found -[10504] Forked 27304 -(27304) found -[10503] Forked 27305 -(27305) found -[10502] Forked 27306 -(27306) found -[10501] Forked 27307 -(27307) found -[10500] Forked 27308 -(27308) found -[10499] Forked 27309 -(27309) found -[10498] Forked 27310 -(27310) found -[10497] Forked 27311 -(27311) found -[10496] Forked 27312 -(27312) found -[10495] Forked 27313 -(27313) found -[10494] Forked 27314 -(27314) found -[10493] Forked 27315 -(27315) found -[10492] Forked 27316 -(27316) found -[10491] Forked 27317 -(27317) found -[10490] Forked 27318 -(27318) found -[10489] Forked 27319 -(27319) found -[10488] Forked 27320 -(27320) found -[10487] Forked 27321 -(27321) found -[10486] Forked 27322 -(27322) found -[10485] Forked 27323 -(27323) found -[10484] Forked 27324 -(27324) found -[10483] Forked 27325 -(27325) found -[10482] Forked 27326 -(27326) found -[10481] Forked 27327 -(27327) found -[10480] Forked 27328 -(27328) found -[10479] Forked 27329 -(27329) found -[10478] Forked 27330 -(27330) found -[10477] Forked 27331 -[10476] Forked 27332 -(27331) found -(27332) found -[10475] Forked 27333 -[10474] Forked 27334 -(27333) found -(27334) found -[10473] Forked 27335 -[10472] Forked 27336 -(27335) found -(27336) found -[10471] Forked 27337 -[10470] Forked 27338 -(27337) found -(27338) found -[10469] Forked 27339 -[10468] Forked 27340 -(27339) found -(27340) found -[10467] Forked 27341 -(27341) found -[10466] Forked 27342 -(27342) found -[10465] Forked 27343 -[10464] Forked 27344 -(27343) found -(27344) found -[10463] Forked 27345 -[10462] Forked 27346 -(27345) found -(27346) found -[10461] Forked 27347 -[10460] Forked 27348 -(27347) found -(27348) found -[10459] Forked 27349 -[10458] Forked 27350 -(27349) found -(27350) found -[10457] Forked 27351 -[10456] Forked 27352 -(27351) found -(27352) found -[10455] Forked 27353 -[10454] Forked 27354 -(27353) found -(27354) found -[10453] Forked 27355 -[10452] Forked 27356 -(27355) found -(27356) found -[10451] Forked 27357 -[10450] Forked 27358 -(27357) found -(27358) found -[10449] Forked 27359 -[10448] Forked 27360 -(27359) found -(27360) found -[10447] Forked 27361 -[10446] Forked 27362 -(27361) found -(27362) found -[10445] Forked 27363 -[10444] Forked 27364 -(27363) found -(27364) found -[10443] Forked 27365 -[10442] Forked 27366 -(27365) found -(27366) found -[10441] Forked 27367 -[10440] Forked 27368 -(27367) found -(27368) found -[10439] Forked 27369 -(27369) found -[10438] Forked 27370 -[10437] Forked 27371 -(27370) found -(27371) found -[10436] Forked 27372 -[10435] Forked 27373 -[10434] Forked 27374 -(27372) found -(27373) found -(27374) found -[10433] Forked 27375 -(27375) found -[10432] Forked 27376 -(27376) found -[10431] Forked 27377 -(27377) found -[10430] Forked 27378 -(27378) found -[10429] Forked 27379 -(27379) found -[10428] Forked 27380 -(27380) found -[10427] Forked 27381 -(27381) found -[10426] Forked 27382 -(27382) found -[10425] Forked 27383 -(27383) found -[10424] Forked 27384 -(27384) found -[10423] Forked 27385 -(27385) found -[10422] Forked 27386 -(27386) found -[10421] Forked 27387 -(27387) found -[10420] Forked 27388 -(27388) found -[10419] Forked 27389 -(27389) found -[10418] Forked 27390 -(27390) found -[10417] Forked 27391 -(27391) found -[10416] Forked 27392 -(27392) found -[10415] Forked 27393 -(27393) found -[10414] Forked 27394 -(27394) found -[10413] Forked 27395 -(27395) found -[10412] Forked 27396 -(27396) found -[10411] Forked 27397 -(27397) found -[10410] Forked 27398 -(27398) found -[10409] Forked 27399 -(27399) found -[10408] Forked 27400 -(27400) found -[10407] Forked 27401 -(27401) found -[10406] Forked 27402 -(27402) found -[10405] Forked 27403 -(27403) found -[10404] Forked 27404 -(27404) found -[10403] Forked 27405 -(27405) found -[10402] Forked 27406 -(27406) found -[10401] Forked 27407 -(27407) found -[10400] Forked 27408 -(27408) found -[10399] Forked 27409 -(27409) found -[10398] Forked 27410 -(27410) found -[10397] Forked 27411 -[10396] Forked 27412 -(27411) found -(27412) found -[10395] Forked 27413 -[10394] Forked 27414 -(27413) found -(27414) found -[10393] Forked 27415 -[10392] Forked 27416 -(27415) found -(27416) found -[10391] Forked 27417 -[10390] Forked 27418 -(27417) found -(27418) found -[10389] Forked 27419 -[10388] Forked 27420 -(27419) found -(27420) found -[10387] Forked 27421 -[10386] Forked 27422 -(27421) found -(27422) found -[10385] Forked 27423 -[10384] Forked 27424 -(27423) found -(27424) found -[10383] Forked 27425 -[10382] Forked 27426 -(27425) found -(27426) found -[10381] Forked 27427 -[10380] Forked 27428 -(27427) found -(27428) found -[10379] Forked 27429 -[10378] Forked 27430 -(27429) found -(27430) found -[10377] Forked 27431 -[10376] Forked 27432 -(27431) found -(27432) found -[10375] Forked 27433 -[10374] Forked 27434 -(27433) found -(27434) found -[10373] Forked 27435 -[10372] Forked 27436 -(27435) found -(27436) found -[10371] Forked 27437 -[10370] Forked 27438 -(27437) found -(27438) found -[10369] Forked 27439 -[10368] Forked 27440 -(27439) found -(27440) found -[10367] Forked 27441 -[10366] Forked 27442 -(27441) found -(27442) found -[10365] Forked 27443 -[10364] Forked 27444 -(27443) found -(27444) found -[10363] Forked 27445 -[10362] Forked 27446 -(27445) found -(27446) found -[10361] Forked 27447 -[10360] Forked 27448 -(27447) found -(27448) found -[10359] Forked 27449 -[10358] Forked 27450 -(27449) found -(27450) found -[10357] Forked 27451 -[10356] Forked 27452 -(27451) found -(27452) found -[10355] Forked 27453 -[10354] Forked 27454 -(27453) found -(27454) found -[10353] Forked 27455 -(27455) found -[10352] Forked 27456 -(27456) found -[10351] Forked 27457 -(27457) found -[10350] Forked 27458 -(27458) found -[10349] Forked 27459 -(27459) found -[10348] Forked 27460 -(27460) found -[10347] Forked 27461 -(27461) found -[10346] Forked 27462 -(27462) found -[10345] Forked 27463 -(27463) found -[10344] Forked 27464 -(27464) found -[10343] Forked 27465 -(27465) found -[10342] Forked 27466 -(27466) found -[10341] Forked 27467 -(27467) found -[10340] Forked 27468 -(27468) found -[10339] Forked 27469 -(27469) found -[10338] Forked 27470 -(27470) found -[10337] Forked 27471 -(27471) found -[10336] Forked 27472 -(27472) found -[10335] Forked 27473 -(27473) found -[10334] Forked 27474 -(27474) found -[10333] Forked 27475 -(27475) found -[10332] Forked 27476 -(27476) found -[10331] Forked 27477 -(27477) found -[10330] Forked 27478 -(27478) found -[10329] Forked 27479 -(27479) found -[10328] Forked 27480 -(27480) found -[10327] Forked 27481 -(27481) found -[10326] Forked 27482 -(27482) found -[10325] Forked 27483 -(27483) found -[10324] Forked 27484 -(27484) found -[10323] Forked 27485 -(27485) found -[10322] Forked 27486 -(27486) found -[10321] Forked 27487 -(27487) found -[10320] Forked 27488 -(27488) found -[10319] Forked 27489 -(27489) found -[10318] Forked 27490 -(27490) found -[10317] Forked 27491 -(27491) found -[10316] Forked 27492 -(27492) found -[10315] Forked 27493 -[10314] Forked 27494 -(27493) found -(27494) found -[10313] Forked 27495 -[10312] Forked 27496 -(27495) found -(27496) found -[10311] Forked 27497 -[10310] Forked 27498 -(27497) found -(27498) found -[10309] Forked 27499 -[10308] Forked 27500 -(27499) found -(27500) found -[10307] Forked 27501 -[10306] Forked 27502 -(27501) found -(27502) found -[10305] Forked 27503 -[10304] Forked 27504 -(27503) found -(27504) found -[10303] Forked 27505 -[10302] Forked 27506 -(27505) found -(27506) found -[10301] Forked 27507 -[10300] Forked 27508 -(27507) found -(27508) found -[10299] Forked 27509 -[10298] Forked 27510 -(27509) found -(27510) found -[10297] Forked 27511 -[10296] Forked 27512 -(27511) found -(27512) found -[10295] Forked 27513 -[10294] Forked 27514 -(27513) found -(27514) found -[10293] Forked 27515 -[10292] Forked 27516 -(27515) found -(27516) found -[10291] Forked 27517 -[10290] Forked 27518 -(27517) found -(27518) found -[10289] Forked 27519 -[10288] Forked 27520 -(27519) found -(27520) found -[10287] Forked 27521 -[10286] Forked 27522 -(27521) found -(27522) found -[10285] Forked 27523 -[10284] Forked 27524 -(27523) found -(27524) found -[10283] Forked 27525 -[10282] Forked 27526 -(27525) found -(27526) found -[10281] Forked 27527 -[10280] Forked 27528 -(27527) found -(27528) found -[10279] Forked 27529 -[10278] Forked 27530 -(27529) found -(27530) found -[10277] Forked 27531 -[10276] Forked 27532 -(27531) found -(27532) found -[10275] Forked 27533 -[10274] Forked 27534 -(27533) found -(27534) found -[10273] Forked 27535 -[10272] Forked 27536 -(27535) found -(27536) found -[10271] Forked 27537 -(27537) found -[10270] Forked 27538 -(27538) found -[10269] Forked 27539 -(27539) found -[10268] Forked 27540 -(27540) found -[10267] Forked 27541 -(27541) found -[10266] Forked 27542 -(27542) found -[10265] Forked 27543 -(27543) found -[10264] Forked 27544 -(27544) found -[10263] Forked 27545 -(27545) found -[10262] Forked 27546 -(27546) found -[10261] Forked 27547 -(27547) found -[10260] Forked 27548 -(27548) found -[10259] Forked 27549 -(27549) found -[10258] Forked 27550 -(27550) found -[10257] Forked 27551 -(27551) found -[10256] Forked 27552 -(27552) found -[10255] Forked 27553 -(27553) found -[10254] Forked 27554 -(27554) found -[10253] Forked 27555 -(27555) found -[10252] Forked 27556 -(27556) found -[10251] Forked 27557 -(27557) found -[10250] Forked 27558 -(27558) found -[10249] Forked 27559 -(27559) found -[10248] Forked 27560 -(27560) found -[10247] Forked 27561 -(27561) found -[10246] Forked 27562 -(27562) found -[10245] Forked 27563 -(27563) found -[10244] Forked 27564 -(27564) found -[10243] Forked 27565 -(27565) found -[10242] Forked 27566 -(27566) found -[10241] Forked 27567 -(27567) found -[10240] Forked 27568 -(27568) found -[10239] Forked 27569 -(27569) found -[10238] Forked 27570 -(27570) found -[10237] Forked 27571 -(27571) found -[10236] Forked 27572 -(27572) found -[10235] Forked 27573 -(27573) found -[10234] Forked 27574 -(27574) found -[10233] Forked 27575 -(27575) found -[10232] Forked 27576 -[10231] Forked 27577 -(27576) found -(27577) found -[10230] Forked 27578 -[10229] Forked 27579 -(27578) found -(27579) found -[10228] Forked 27580 -[10227] Forked 27581 -(27580) found -(27581) found -[10226] Forked 27582 -[10225] Forked 27583 -(27582) found -(27583) found -[10224] Forked 27584 -[10223] Forked 27585 -(27584) found -(27585) found -[10222] Forked 27586 -[10221] Forked 27587 -(27586) found -(27587) found -[10220] Forked 27588 -[10219] Forked 27589 -(27588) found -(27589) found -[10218] Forked 27590 -[10217] Forked 27591 -(27590) found -(27591) found -[10216] Forked 27592 -[10215] Forked 27593 -(27592) found -(27593) found -[10214] Forked 27594 -[10213] Forked 27595 -(27594) found -(27595) found -[10212] Forked 27596 -[10211] Forked 27597 -(27596) found -(27597) found -[10210] Forked 27598 -[10209] Forked 27599 -(27598) found -(27599) found -[10208] Forked 27600 -[10207] Forked 27601 -(27600) found -(27601) found -[10206] Forked 27602 -[10205] Forked 27603 -(27602) found -(27603) found -[10204] Forked 27604 -[10203] Forked 27605 -(27604) found -(27605) found -[10202] Forked 27606 -[10201] Forked 27607 -(27606) found -(27607) found -[10200] Forked 27608 -[10199] Forked 27609 -(27608) found -(27609) found -[10198] Forked 27610 -[10197] Forked 27611 -(27610) found -(27611) found -[10196] Forked 27612 -[10195] Forked 27613 -(27612) found -(27613) found -[10194] Forked 27614 -[10193] Forked 27615 -(27614) found -(27615) found -[10192] Forked 27616 -[10191] Forked 27617 -(27616) found -(27617) found -[10190] Forked 27618 -[10189] Forked 27619 -(27618) found -(27619) found -[10188] Forked 27620 -(27620) found -[10187] Forked 27621 -(27621) found -[10186] Forked 27622 -(27622) found -[10185] Forked 27623 -(27623) found -[10184] Forked 27624 -(27624) found -[10183] Forked 27625 -(27625) found -[10182] Forked 27626 -(27626) found -[10181] Forked 27627 -(27627) found -[10180] Forked 27628 -(27628) found -[10179] Forked 27629 -(27629) found -[10178] Forked 27630 -(27630) found -[10177] Forked 27631 -(27631) found -[10176] Forked 27632 -(27632) found -[10175] Forked 27633 -(27633) found -[10174] Forked 27634 -(27634) found -[10173] Forked 27635 -(27635) found -[10172] Forked 27636 -(27636) found -[10171] Forked 27637 -(27637) found -[10170] Forked 27638 -(27638) found -[10169] Forked 27639 -(27639) found -[10168] Forked 27640 -(27640) found -[10167] Forked 27641 -(27641) found -[10166] Forked 27642 -(27642) found -[10165] Forked 27643 -(27643) found -[10164] Forked 27644 -(27644) found -[10163] Forked 27645 -(27645) found -[10162] Forked 27646 -(27646) found -[10161] Forked 27647 -(27647) found -[10160] Forked 27648 -(27648) found -[10159] Forked 27649 -(27649) found -[10158] Forked 27650 -(27650) found -[10157] Forked 27651 -(27651) found -[10156] Forked 27652 -(27652) found -[10155] Forked 27653 -(27653) found -[10154] Forked 27654 -(27654) found -[10153] Forked 27655 -(27655) found -[10152] Forked 27656 -(27656) found -[10151] Forked 27657 -(27657) found -[10150] Forked 27658 -[10149] Forked 27659 -(27658) found -(27659) found -[10148] Forked 27660 -[10147] Forked 27661 -(27660) found -(27661) found -[10146] Forked 27662 -[10145] Forked 27663 -(27662) found -(27663) found -[10144] Forked 27664 -[10143] Forked 27665 -(27664) found -(27665) found -[10142] Forked 27666 -[10141] Forked 27667 -(27666) found -(27667) found -[10140] Forked 27668 -[10139] Forked 27669 -(27668) found -(27669) found -[10138] Forked 27670 -[10137] Forked 27671 -(27670) found -(27671) found -[10136] Forked 27672 -[10135] Forked 27673 -(27672) found -(27673) found -[10134] Forked 27674 -[10133] Forked 27675 -(27674) found -(27675) found -[10132] Forked 27676 -[10131] Forked 27677 -(27676) found -(27677) found -[10130] Forked 27678 -[10129] Forked 27679 -(27678) found -(27679) found -[10128] Forked 27680 -[10127] Forked 27681 -(27680) found -(27681) found -[10126] Forked 27682 -[10125] Forked 27683 -(27682) found -(27683) found -[10124] Forked 27684 -[10123] Forked 27685 -(27684) found -(27685) found -[10122] Forked 27686 -[10121] Forked 27687 -(27686) found -(27687) found -[10120] Forked 27688 -[10119] Forked 27689 -(27688) found -(27689) found -[10118] Forked 27691 -[10117] Forked 27692 -(27691) found -(27692) found -[10116] Forked 27693 -[10115] Forked 27694 -(27693) found -(27694) found -[10114] Forked 27695 -[10113] Forked 27696 -(27695) found -(27696) found -[10112] Forked 27697 -[10111] Forked 27698 -(27697) found -(27698) found -[10110] Forked 27699 -[10109] Forked 27700 -(27699) found -(27700) found -[10108] Forked 27701 -[10107] Forked 27702 -(27701) found -(27702) found -[10106] Forked 27703 -(27703) found -[10105] Forked 27704 -(27704) found -[10104] Forked 27705 -(27705) found -[10103] Forked 27706 -(27706) found -[10102] Forked 27707 -(27707) found -[10101] Forked 27708 -(27708) found -[10100] Forked 27709 -(27709) found -[10099] Forked 27710 -(27710) found -[10098] Forked 27711 -(27711) found -[10097] Forked 27712 -(27712) found -[10096] Forked 27713 -(27713) found -[10095] Forked 27714 -(27714) found -[10094] Forked 27715 -(27715) found -[10093] Forked 27716 -(27716) found -[10092] Forked 27717 -(27717) found -[10091] Forked 27718 -(27718) found -[10090] Forked 27719 -(27719) found -[10089] Forked 27720 -(27720) found -[10088] Forked 27721 -(27721) found -[10087] Forked 27722 -(27722) found -[10086] Forked 27723 -(27723) found -[10085] Forked 27724 -(27724) found -[10084] Forked 27725 -(27725) found -[10083] Forked 27726 -(27726) found -[10082] Forked 27727 -(27727) found -[10081] Forked 27728 -(27728) found -[10080] Forked 27729 -(27729) found -[10079] Forked 27730 -(27730) found -[10078] Forked 27731 -(27731) found -[10077] Forked 27732 -(27732) found -[10076] Forked 27733 -(27733) found -[10075] Forked 27734 -(27734) found -[10074] Forked 27735 -(27735) found -[10073] Forked 27736 -(27736) found -[10072] Forked 27737 -(27737) found -[10071] Forked 27738 -(27738) found -[10070] Forked 27739 -(27739) found -[10069] Forked 27740 -(27740) found -[10068] Forked 27741 -(27741) found -[10067] Forked 27742 -[10066] Forked 27743 -(27742) found -(27743) found -[10065] Forked 27744 -[10064] Forked 27745 -(27744) found -(27745) found -[10063] Forked 27746 -[10062] Forked 27747 -(27746) found -(27747) found -[10061] Forked 27748 -[10060] Forked 27749 -(27748) found -(27749) found -[10059] Forked 27750 -[10058] Forked 27751 -(27750) found -(27751) found -[10057] Forked 27752 -[10056] Forked 27753 -(27752) found -(27753) found -[10055] Forked 27754 -[10054] Forked 27756 -(27754) found -(27756) found -[10053] Forked 27757 -(27757) found -[10052] Forked 27758 -(27758) found -[10051] Forked 27759 -(27759) found -[10050] Forked 27760 -(27760) found -[10049] Forked 27761 -(27761) found -[10048] Forked 27762 -(27762) found -[10047] Forked 27763 -(27763) found -[10046] Forked 27764 -(27764) found -[10045] Forked 27765 -(27765) found -[10044] Forked 27766 -(27766) found -[10043] Forked 27767 -(27767) found -[10042] Forked 27768 -(27768) found -[10041] Forked 27769 -(27769) found -[10040] Forked 27770 -(27770) found -[10039] Forked 27771 -(27771) found -[10038] Forked 27772 -(27772) found -[10037] Forked 27773 -(27773) found -[10036] Forked 27774 -(27774) found -[10035] Forked 27775 -(27775) found -[10034] Forked 27776 -(27776) found -[10033] Forked 27777 -(27777) found -[10032] Forked 27778 -(27778) found -[10031] Forked 27779 -(27779) found -[10030] Forked 27780 -(27780) found -[10029] Forked 27781 -(27781) found -[10028] Forked 27782 -(27782) found -[10027] Forked 27783 -(27783) found -[10026] Forked 27784 -(27784) found -[10025] Forked 27785 -(27785) found -[10024] Forked 27786 -(27786) found -[10023] Forked 27787 -(27787) found -[10022] Forked 27788 -(27788) found -[10021] Forked 27789 -(27789) found -[10020] Forked 27790 -(27790) found -[10019] Forked 27791 -(27791) found -[10018] Forked 27792 -(27792) found -[10017] Forked 27793 -(27793) found -[10016] Forked 27794 -(27794) found -[10015] Forked 27795 -(27795) found -[10014] Forked 27796 -(27796) found -[10013] Forked 27797 -(27797) found -[10012] Forked 27798 -(27798) found -[10011] Forked 27799 -(27799) found -[10010] Forked 27800 -(27800) found -[10009] Forked 27801 -(27801) found -[10008] Forked 27802 -(27802) found -[10007] Forked 27803 -(27803) found -[10006] Forked 27804 -(27804) found -[10005] Forked 27805 -(27805) found -[10004] Forked 27806 -(27806) found -[10003] Forked 27807 -(27807) found -[10002] Forked 27808 -(27808) found -[10001] Forked 27809 -(27809) found -[10000] Forked 27810 -(27810) found -[9999] Forked 27811 -(27811) found -[9998] Forked 27812 -[9997] Forked 27813 -(27812) found -(27813) found -[9996] Forked 27814 -[9995] Forked 27815 -(27814) found -(27815) found -[9994] Forked 27816 -[9993] Forked 27817 -(27816) found -(27817) found -[9992] Forked 27818 -[9991] Forked 27819 -(27818) found -(27819) found -[9990] Forked 27820 -[9989] Forked 27821 -(27820) found -(27821) found -[9988] Forked 27822 -[9987] Forked 27823 -(27822) found -(27823) found -[9986] Forked 27824 -[9985] Forked 27825 -(27824) found -(27825) found -[9984] Forked 27826 -[9983] Forked 27827 -(27826) found -(27827) found -[9982] Forked 27828 -[9981] Forked 27829 -(27828) found -(27829) found -[9980] Forked 27831 -[9979] Forked 27832 -(27831) found -(27832) found -[9978] Forked 27833 -[9977] Forked 27834 -(27833) found -(27834) found -[9976] Forked 27835 -[9975] Forked 27836 -(27835) found -(27836) found -[9974] Forked 27837 -[9973] Forked 27838 -(27837) found -(27838) found -[9972] Forked 27839 -[9971] Forked 27840 -(27839) found -(27840) found -[9970] Forked 27841 -[9969] Forked 27842 -(27841) found -(27842) found -[9968] Forked 27843 -[9967] Forked 27844 -(27843) found -(27844) found -[9966] Forked 27845 -[9965] Forked 27846 -(27845) found -(27846) found -[9964] Forked 27847 -[9963] Forked 27848 -(27847) found -(27848) found -[9962] Forked 27849 -[9961] Forked 27850 -(27849) found -(27850) found -[9960] Forked 27851 -[9959] Forked 27852 -(27851) found -(27852) found -[9958] Forked 27853 -(27853) found -[9957] Forked 27854 -(27854) found -[9956] Forked 27855 -(27855) found -[9955] Forked 27856 -(27856) found -[9954] Forked 27857 -(27857) found -[9953] Forked 27858 -(27858) found -[9952] Forked 27859 -(27859) found -[9951] Forked 27860 -(27860) found -[9950] Forked 27861 -(27861) found -[9949] Forked 27862 -(27862) found -[9948] Forked 27863 -(27863) found -[9947] Forked 27864 -(27864) found -[9946] Forked 27865 -(27865) found -[9945] Forked 27866 -(27866) found -[9944] Forked 27867 -(27867) found -[9943] Forked 27868 -(27868) found -[9942] Forked 27869 -(27869) found -[9941] Forked 27870 -(27870) found -[9940] Forked 27871 -(27871) found -[9939] Forked 27872 -(27872) found -[9938] Forked 27873 -(27873) found -[9937] Forked 27874 -(27874) found -[9936] Forked 27875 -(27875) found -[9935] Forked 27876 -(27876) found -[9934] Forked 27877 -(27877) found -[9933] Forked 27878 -(27878) found -[9932] Forked 27879 -(27879) found -[9931] Forked 27880 -(27880) found -[9930] Forked 27881 -(27881) found -[9929] Forked 27882 -(27882) found -[9928] Forked 27883 -(27883) found -[9927] Forked 27884 -(27884) found -[9926] Forked 27885 -(27885) found -[9925] Forked 27886 -(27886) found -[9924] Forked 27887 -(27887) found -[9923] Forked 27888 -(27888) found -[9922] Forked 27889 -(27889) found -[9921] Forked 27890 -(27890) found -[9920] Forked 27891 -(27891) found -[9919] Forked 27892 -(27892) found -[9918] Forked 27893 -(27893) found -[9917] Forked 27894 -[9916] Forked 27895 -(27894) found -(27895) found -[9915] Forked 27896 -[9914] Forked 27897 -(27896) found -(27897) found -[9913] Forked 27898 -[9912] Forked 27899 -(27898) found -(27899) found -[9911] Forked 27900 -[9910] Forked 27901 -(27900) found -(27901) found -[9909] Forked 27902 -[9908] Forked 27903 -(27902) found -(27903) found -[9907] Forked 27904 -[9906] Forked 27905 -(27904) found -(27905) found -[9905] Forked 27906 -[9904] Forked 27907 -(27906) found -(27907) found -[9903] Forked 27908 -[9902] Forked 27909 -(27908) found -(27909) found -[9901] Forked 27910 -[9900] Forked 27911 -(27910) found -(27911) found -[9899] Forked 27912 -[9898] Forked 27913 -(27912) found -(27913) found -[9897] Forked 27914 -[9896] Forked 27915 -(27914) found -(27915) found -[9895] Forked 27916 -[9894] Forked 27917 -(27916) found -(27917) found -[9893] Forked 27918 -[9892] Forked 27919 -(27918) found -(27919) found -[9891] Forked 27920 -[9890] Forked 27921 -(27920) found -(27921) found -[9889] Forked 27922 -[9888] Forked 27923 -(27922) found -(27923) found -[9887] Forked 27924 -[9886] Forked 27925 -(27924) found -(27925) found -[9885] Forked 27926 -[9884] Forked 27927 -(27926) found -(27927) found -[9883] Forked 27928 -[9882] Forked 27929 -(27928) found -(27929) found -[9881] Forked 27930 -[9880] Forked 27931 -(27930) found -(27931) found -[9879] Forked 27932 -[9878] Forked 27933 -(27932) found -(27933) found -[9877] Forked 27934 -(27934) found -[9876] Forked 27935 -(27935) found -[9875] Forked 27936 -(27936) found -[9874] Forked 27937 -(27937) found -[9873] Forked 27938 -(27938) found -[9872] Forked 27939 -(27939) found -[9871] Forked 27940 -(27940) found -[9870] Forked 27941 -(27941) found -[9869] Forked 27942 -(27942) found -[9868] Forked 27943 -(27943) found -[9867] Forked 27944 -(27944) found -[9866] Forked 27945 -(27945) found -[9865] Forked 27946 -(27946) found -[9864] Forked 27947 -(27947) found -[9863] Forked 27948 -(27948) found -[9862] Forked 27949 -(27949) found -[9861] Forked 27950 -(27950) found -[9860] Forked 27951 -(27951) found -[9859] Forked 27952 -(27952) found -[9858] Forked 27953 -(27953) found -[9857] Forked 27954 -(27954) found -[9856] Forked 27955 -(27955) found -[9855] Forked 27956 -(27956) found -[9854] Forked 27957 -(27957) found -[9853] Forked 27958 -(27958) found -[9852] Forked 27959 -(27959) found -[9851] Forked 27960 -(27960) found -[9850] Forked 27961 -(27961) found -[9849] Forked 27962 -(27962) found -[9848] Forked 27963 -(27963) found -[9847] Forked 27964 -(27964) found -[9846] Forked 27965 -(27965) found -[9845] Forked 27966 -(27966) found -[9844] Forked 27967 -(27967) found -[9843] Forked 27968 -(27968) found -[9842] Forked 27969 -(27969) found -[9841] Forked 27970 -(27970) found -[9840] Forked 27971 -(27971) found -[9839] Forked 27972 -(27972) found -[9838] Forked 27973 -[9837] Forked 27974 -(27973) found -(27974) found -[9836] Forked 27975 -[9835] Forked 27976 -(27975) found -(27976) found -[9834] Forked 27977 -[9833] Forked 27978 -(27977) found -(27978) found -[9832] Forked 27979 -[9831] Forked 27980 -(27979) found -(27980) found -[9830] Forked 27981 -[9829] Forked 27982 -(27981) found -(27982) found -[9828] Forked 27983 -[9827] Forked 27984 -(27983) found -(27984) found -[9826] Forked 27985 -[9825] Forked 27986 -(27985) found -(27986) found -[9824] Forked 27988 -[9823] Forked 27989 -(27988) found -(27989) found -[9822] Forked 27990 -[9821] Forked 27991 -(27990) found -(27991) found -[9820] Forked 27992 -(27992) found -[9819] Forked 27993 -[9818] Forked 27994 -(27993) found -(27994) found -[9817] Forked 27995 -[9816] Forked 27996 -(27995) found -(27996) found -[9815] Forked 27997 -[9814] Forked 27998 -(27998) found -(27997) found -[9813] Forked 27999 -(27999) found -[9812] Forked 28000 -(28000) found -[9811] Forked 28001 -(28001) found -[9810] Forked 28002 -(28002) found -[9809] Forked 28003 -(28003) found -[9808] Forked 28004 -(28004) found -[9807] Forked 28005 -(28005) found -[9806] Forked 28006 -(28006) found -[9805] Forked 28007 -(28007) found -[9804] Forked 28008 -(28008) found -[9803] Forked 28009 -(28009) found -[9802] Forked 28010 -(28010) found -[9801] Forked 28011 -(28011) found -[9800] Forked 28012 -(28012) found -[9799] Forked 28013 -(28013) found -[9798] Forked 28014 -(28014) found -[9797] Forked 28015 -(28015) found -[9796] Forked 28016 -(28016) found -[9795] Forked 28017 -(28017) found -[9794] Forked 28018 -(28018) found -[9793] Forked 28019 -(28019) found -[9792] Forked 28020 -(28020) found -[9791] Forked 28021 -(28021) found -[9790] Forked 28022 -(28022) found -[9789] Forked 28023 -(28023) found -[9788] Forked 28024 -(28024) found -[9787] Forked 28025 -(28025) found -[9786] Forked 28026 -(28026) found -[9785] Forked 28027 -(28027) found -[9784] Forked 28028 -(28028) found -[9783] Forked 28029 -(28029) found -[9782] Forked 28030 -(28030) found -[9781] Forked 28031 -(28031) found -[9780] Forked 28032 -(28032) found -[9779] Forked 28033 -(28033) found -[9778] Forked 28034 -(28034) found -[9777] Forked 28035 -(28035) found -[9776] Forked 28036 -(28036) found -[9775] Forked 28037 -(28037) found -[9774] Forked 28038 -(28038) found -[9773] Forked 28039 -(28039) found -[9772] Forked 28040 -(28040) found -[9771] Forked 28041 -(28041) found -[9770] Forked 28042 -(28042) found -[9769] Forked 28043 -(28043) found -[9768] Forked 28044 -(28044) found -[9767] Forked 28045 -(28045) found -[9766] Forked 28047 -(28047) found -[9765] Forked 28048 -(28048) found -[9764] Forked 28049 -(28049) found -[9763] Forked 28050 -(28050) found -[9762] Forked 28051 -(28051) found -[9761] Forked 28052 -(28052) found -[9760] Forked 28053 -(28053) found -[9759] Forked 28054 -(28054) found -[9758] Forked 28055 -(28055) found -[9757] Forked 28056 -(28056) found -[9756] Forked 28057 -(28057) found -[9755] Forked 28058 -(28058) found -[9754] Forked 28059 -(28059) found -[9753] Forked 28060 -(28060) found -[9752] Forked 28061 -(28061) found -[9751] Forked 28062 -(28062) found -[9750] Forked 28063 -(28063) found -[9749] Forked 28064 -(28064) found -[9748] Forked 28065 -(28065) found -[9747] Forked 28066 -(28066) found -[9746] Forked 28067 -(28067) found -[9745] Forked 28068 -(28068) found -[9744] Forked 28069 -(28069) found -[9743] Forked 28070 -(28070) found -[9742] Forked 28071 -(28071) found -[9741] Forked 28072 -(28072) found -[9740] Forked 28073 -(28073) found -[9739] Forked 28074 -(28074) found -[9738] Forked 28075 -(28075) found -[9737] Forked 28076 -(28076) found -[9736] Forked 28077 -(28077) found -[9735] Forked 28078 -(28078) found -[9734] Forked 28079 -(28079) found -[9733] Forked 28080 -(28080) found -[9732] Forked 28081 -(28081) found -[9731] Forked 28082 -(28082) found -[9730] Forked 28083 -(28083) found -[9729] Forked 28084 -(28084) found -[9728] Forked 28085 -(28085) found -[9727] Forked 28086 -(28086) found -[9726] Forked 28087 -(28087) found -[9725] Forked 28088 -(28088) found -[9724] Forked 28089 -(28089) found -[9723] Forked 28090 -(28090) found -[9722] Forked 28091 -(28091) found -[9721] Forked 28092 -(28092) found -[9720] Forked 28093 -(28093) found -[9719] Forked 28094 -(28094) found -[9718] Forked 28095 -(28095) found -[9717] Forked 28096 -(28096) found -[9716] Forked 28097 -(28097) found -[9715] Forked 28098 -(28098) found -[9714] Forked 28099 -(28099) found -[9713] Forked 28100 -(28100) found -[9712] Forked 28101 -(28101) found -[9711] Forked 28102 -(28102) found -[9710] Forked 28103 -(28103) found -[9709] Forked 28104 -[9708] Forked 28105 -(28104) found -(28105) found -[9707] Forked 28106 -[9706] Forked 28107 -(28106) found -(28107) found -[9705] Forked 28108 -[9704] Forked 28109 -(28108) found -(28109) found -[9703] Forked 28110 -[9702] Forked 28111 -(28110) found -(28111) found -[9701] Forked 28112 -[9700] Forked 28113 -(28112) found -(28113) found -[9699] Forked 28114 -[9698] Forked 28115 -(28114) found -(28115) found -[9697] Forked 28116 -[9696] Forked 28117 -(28116) found -(28117) found -[9695] Forked 28118 -(28118) found -[9694] Forked 28119 -(28119) found -[9693] Forked 28120 -[9692] Forked 28121 -(28120) found -(28121) found -[9691] Forked 28122 -[9690] Forked 28123 -(28122) found -(28123) found -[9689] Forked 28124 -[9688] Forked 28125 -(28124) found -(28125) found -[9687] Forked 28126 -[9686] Forked 28127 -(28126) found -(28127) found -[9685] Forked 28128 -[9684] Forked 28129 -(28128) found -(28129) found -[9683] Forked 28130 -[9682] Forked 28131 -(28130) found -(28131) found -[9681] Forked 28132 -[9680] Forked 28133 -(28132) found -(28133) found -[9679] Forked 28134 -[9678] Forked 28135 -(28134) found -(28135) found -[9677] Forked 28136 -[9676] Forked 28137 -(28136) found -(28137) found -[9675] Forked 28138 -[9674] Forked 28139 -(28138) found -(28139) found -[9673] Forked 28140 -[9672] Forked 28141 -(28140) found -(28141) found -[9671] Forked 28142 -[9670] Forked 28143 -(28142) found -(28143) found -[9669] Forked 28144 -[9668] Forked 28145 -(28144) found -(28145) found -[9667] Forked 28146 -[9666] Forked 28147 -(28146) found -(28147) found -[9665] Forked 28148 -[9664] Forked 28149 -(28148) found -(28149) found -[9663] Forked 28150 -[9662] Forked 28151 -(28150) found -(28151) found -[9661] Forked 28152 -[9660] Forked 28153 -(28152) found -(28153) found -[9659] Forked 28154 -[9658] Forked 28155 -(28154) found -(28155) found -[9657] Forked 28156 -[9656] Forked 28157 -(28156) found -(28157) found -[9655] Forked 28158 -[9654] Forked 28159 -(28158) found -(28159) found -[9653] Forked 28160 -[9652] Forked 28161 -(28160) found -(28161) found -[9651] Forked 28162 -[9650] Forked 28163 -(28162) found -(28163) found -[9649] Forked 28164 -[9648] Forked 28165 -(28164) found -(28165) found -[9647] Forked 28166 -[9646] Forked 28167 -(28166) found -(28167) found -[9645] Forked 28168 -[9644] Forked 28169 -(28168) found -(28169) found -[9643] Forked 28170 -[9642] Forked 28171 -(28170) found -(28171) found -[9641] Forked 28172 -[9640] Forked 28173 -(28172) found -(28173) found -[9639] Forked 28174 -[9638] Forked 28175 -(28174) found -(28175) found -[9637] Forked 28176 -[9636] Forked 28177 -(28176) found -(28177) found -[9635] Forked 28178 -[9634] Forked 28179 -(28178) found -(28179) found -[9633] Forked 28180 -[9632] Forked 28181 -(28180) found -(28181) found -[9631] Forked 28182 -[9630] Forked 28183 -(28182) found -(28183) found -[9629] Forked 28184 -[9628] Forked 28185 -(28184) found -(28185) found -[9627] Forked 28186 -[9626] Forked 28187 -(28186) found -(28187) found -[9625] Forked 28188 -[9624] Forked 28189 -(28188) found -(28189) found -[9623] Forked 28190 -[9622] Forked 28191 -(28190) found -(28191) found -[9621] Forked 28192 -(28192) found -[9620] Forked 28193 -(28193) found -[9619] Forked 28194 -(28194) found -[9618] Forked 28195 -(28195) found -[9617] Forked 28196 -(28196) found -[9616] Forked 28197 -(28197) found -[9615] Forked 28198 -(28198) found -[9614] Forked 28199 -(28199) found -[9613] Forked 28200 -(28200) found -[9612] Forked 28201 -(28201) found -[9611] Forked 28202 -(28202) found -[9610] Forked 28203 -(28203) found -[9609] Forked 28204 -(28204) found -[9608] Forked 28205 -(28205) found -[9607] Forked 28206 -(28206) found -[9606] Forked 28207 -(28207) found -[9605] Forked 28208 -(28208) found -[9604] Forked 28209 -(28209) found -[9603] Forked 28210 -(28210) found -[9602] Forked 28211 -(28211) found -[9601] Forked 28212 -(28212) found -[9600] Forked 28213 -(28213) found -[9599] Forked 28214 -(28214) found -[9598] Forked 28215 -(28215) found -[9597] Forked 28216 -(28216) found -[9596] Forked 28217 -(28217) found -[9595] Forked 28218 -(28218) found -[9594] Forked 28219 -(28219) found -[9593] Forked 28220 -(28220) found -[9592] Forked 28221 -(28221) found -[9591] Forked 28222 -(28222) found -[9590] Forked 28223 -(28223) found -[9589] Forked 28224 -(28224) found -[9588] Forked 28225 -(28225) found -[9587] Forked 28226 -[9586] Forked 28227 -(28226) found -(28227) found -[9585] Forked 28228 -[9584] Forked 28229 -(28228) found -(28229) found -[9583] Forked 28230 -[9582] Forked 28231 -(28230) found -(28231) found -[9581] Forked 28232 -[9580] Forked 28233 -(28232) found -(28233) found -[9579] Forked 28234 -[9578] Forked 28235 -(28234) found -(28235) found -[9577] Forked 28236 -[9576] Forked 28237 -(28236) found -(28237) found -[9575] Forked 28238 -[9574] Forked 28239 -(28238) found -(28239) found -[9573] Forked 28240 -[9572] Forked 28241 -(28240) found -(28241) found -[9571] Forked 28242 -[9570] Forked 28243 -(28242) found -(28243) found -[9569] Forked 28244 -[9568] Forked 28245 -(28244) found -(28245) found -[9567] Forked 28246 -[9566] Forked 28247 -(28246) found -(28247) found -[9565] Forked 28248 -[9564] Forked 28249 -(28248) found -(28249) found -[9563] Forked 28250 -[9562] Forked 28251 -(28250) found -(28251) found -[9561] Forked 28252 -[9560] Forked 28253 -(28252) found -(28253) found -[9559] Forked 28254 -[9558] Forked 28255 -(28254) found -(28255) found -[9557] Forked 28256 -[9556] Forked 28257 -(28256) found -(28257) found -[9555] Forked 28258 -[9554] Forked 28259 -(28258) found -(28259) found -[9553] Forked 28260 -[9552] Forked 28261 -(28260) found -(28261) found -[9551] Forked 28262 -[9550] Forked 28263 -(28262) found -(28263) found -[9549] Forked 28264 -[9548] Forked 28265 -(28264) found -(28265) found -[9547] Forked 28266 -[9546] Forked 28267 -(28266) found -(28267) found -[9545] Forked 28268 -[9544] Forked 28269 -(28268) found -(28269) found -[9543] Forked 28270 -[9542] Forked 28271 -(28270) found -(28271) found -[9541] Forked 28272 -(28272) found -[9540] Forked 28273 -(28273) found -[9539] Forked 28274 -(28274) found -[9538] Forked 28275 -(28275) found -[9537] Forked 28276 -(28276) found -[9536] Forked 28277 -(28277) found -[9535] Forked 28278 -(28278) found -[9534] Forked 28279 -(28279) found -[9533] Forked 28280 -(28280) found -[9532] Forked 28281 -(28281) found -[9531] Forked 28282 -(28282) found -[9530] Forked 28283 -(28283) found -[9529] Forked 28284 -(28284) found -[9528] Forked 28285 -(28285) found -[9527] Forked 28286 -(28286) found -[9526] Forked 28287 -(28287) found -[9525] Forked 28288 -(28288) found -[9524] Forked 28289 -(28289) found -[9523] Forked 28290 -(28290) found -[9522] Forked 28291 -(28291) found -[9521] Forked 28292 -(28292) found -[9520] Forked 28293 -(28293) found -[9519] Forked 28294 -(28294) found -[9518] Forked 28295 -(28295) found -[9517] Forked 28296 -(28296) found -[9516] Forked 28297 -(28297) found -[9515] Forked 28298 -(28298) found -[9514] Forked 28299 -(28299) found -[9513] Forked 28300 -(28300) found -[9512] Forked 28301 -(28301) found -[9511] Forked 28302 -(28302) found -[9510] Forked 28303 -(28303) found -[9509] Forked 28304 -(28304) found -[9508] Forked 28305 -(28305) found -[9507] Forked 28306 -(28306) found -[9506] Forked 28307 -(28307) found -[9505] Forked 28308 -(28308) found -[9504] Forked 28309 -[9503] Forked 28310 -(28309) found -(28310) found -[9502] Forked 28311 -[9501] Forked 28312 -(28311) found -(28312) found -[9500] Forked 28313 -[9499] Forked 28314 -(28313) found -(28314) found -[9498] Forked 28315 -[9497] Forked 28316 -(28315) found -(28316) found -[9496] Forked 28317 -[9495] Forked 28318 -(28317) found -(28318) found -[9494] Forked 28319 -[9493] Forked 28320 -(28319) found -(28320) found -[9492] Forked 28321 -[9491] Forked 28322 -(28321) found -(28322) found -[9490] Forked 28323 -[9489] Forked 28324 -(28323) found -(28324) found -[9488] Forked 28325 -[9487] Forked 28326 -(28325) found -(28326) found -[9486] Forked 28327 -[9485] Forked 28328 -(28327) found -(28328) found -[9484] Forked 28329 -(28329) found -[9483] Forked 28330 -[9482] Forked 28331 -(28330) found -(28331) found -[9481] Forked 28332 -[9480] Forked 28333 -(28332) found -(28333) found -[9479] Forked 28334 -[9478] Forked 28335 -(28334) found -(28335) found -[9477] Forked 28336 -[9476] Forked 28337 -(28336) found -(28337) found -[9475] Forked 28338 -[9474] Forked 28339 -(28338) found -(28339) found -[9473] Forked 28340 -[9472] Forked 28341 -(28340) found -(28341) found -[9471] Forked 28342 -[9470] Forked 28343 -(28342) found -(28343) found -[9469] Forked 28344 -[9468] Forked 28345 -(28344) found -(28345) found -[9467] Forked 28346 -[9466] Forked 28347 -(28346) found -(28347) found -[9465] Forked 28348 -[9464] Forked 28349 -(28348) found -(28349) found -[9463] Forked 28350 -[9462] Forked 28351 -(28350) found -(28351) found -[9461] Forked 28352 -[9460] Forked 28353 -(28352) found -(28353) found -[9459] Forked 28354 -(28354) found -[9458] Forked 28355 -(28355) found -[9457] Forked 28356 -(28356) found -[9456] Forked 28357 -(28357) found -[9455] Forked 28358 -(28358) found -[9454] Forked 28359 -(28359) found -[9453] Forked 28360 -(28360) found -[9452] Forked 28361 -(28361) found -[9451] Forked 28362 -(28362) found -[9450] Forked 28363 -(28363) found -[9449] Forked 28364 -(28364) found -[9448] Forked 28365 -(28365) found -[9447] Forked 28366 -(28366) found -[9446] Forked 28367 -(28367) found -[9445] Forked 28368 -(28368) found -[9444] Forked 28369 -(28369) found -[9443] Forked 28370 -(28370) found -[9442] Forked 28371 -(28371) found -[9441] Forked 28372 -(28372) found -[9440] Forked 28373 -(28373) found -[9439] Forked 28374 -(28374) found -[9438] Forked 28375 -(28375) found -[9437] Forked 28376 -(28376) found -[9436] Forked 28377 -(28377) found -[9435] Forked 28378 -(28378) found -[9434] Forked 28379 -(28379) found -[9433] Forked 28380 -(28380) found -[9432] Forked 28381 -(28381) found -[9431] Forked 28382 -(28382) found -[9430] Forked 28383 -(28383) found -[9429] Forked 28384 -(28384) found -[9428] Forked 28385 -(28385) found -[9427] Forked 28386 -(28386) found -[9426] Forked 28387 -(28387) found -[9425] Forked 28388 -(28388) found -[9424] Forked 28389 -[9423] Forked 28390 -(28389) found -(28390) found -[9422] Forked 28391 -[9421] Forked 28392 -(28391) found -(28392) found -[9420] Forked 28393 -[9419] Forked 28394 -(28393) found -(28394) found -[9418] Forked 28395 -[9417] Forked 28396 -(28395) found -(28396) found -[9416] Forked 28397 -[9415] Forked 28398 -(28397) found -(28398) found -[9414] Forked 28399 -[9413] Forked 28400 -(28399) found -(28400) found -[9412] Forked 28401 -[9411] Forked 28402 -(28401) found -(28402) found -[9410] Forked 28403 -[9409] Forked 28404 -(28403) found -(28404) found -[9408] Forked 28405 -[9407] Forked 28406 -(28405) found -(28406) found -[9406] Forked 28407 -[9405] Forked 28408 -(28407) found -(28408) found -[9404] Forked 28409 -[9403] Forked 28410 -(28409) found -(28410) found -[9402] Forked 28411 -[9401] Forked 28412 -(28411) found -(28412) found -[9400] Forked 28413 -[9399] Forked 28414 -(28413) found -(28414) found -[9398] Forked 28415 -[9397] Forked 28416 -(28415) found -(28416) found -[9396] Forked 28417 -[9395] Forked 28418 -(28417) found -(28418) found -[9394] Forked 28419 -[9393] Forked 28420 -(28419) found -(28420) found -[9392] Forked 28421 -[9391] Forked 28422 -(28421) found -(28422) found -[9390] Forked 28423 -[9389] Forked 28424 -(28423) found -(28424) found -[9388] Forked 28425 -[9387] Forked 28426 -(28425) found -(28426) found -[9386] Forked 28427 -[9385] Forked 28428 -(28427) found -(28428) found -[9384] Forked 28429 -[9383] Forked 28430 -(28429) found -(28430) found -[9382] Forked 28431 -[9381] Forked 28432 -(28431) found -(28432) found -[9380] Forked 28433 -[9379] Forked 28434 -(28433) found -(28434) found -[9378] Forked 28435 -(28435) found -[9377] Forked 28436 -(28436) found -[9376] Forked 28437 -(28437) found -[9375] Forked 28438 -(28438) found -[9374] Forked 28439 -(28439) found -[9373] Forked 28440 -(28440) found -[9372] Forked 28441 -(28441) found -[9371] Forked 28442 -(28442) found -[9370] Forked 28443 -(28443) found -[9369] Forked 28444 -(28444) found -[9368] Forked 28445 -(28445) found -[9367] Forked 28446 -(28446) found -[9366] Forked 28447 -(28447) found -[9365] Forked 28448 -(28448) found -[9364] Forked 28449 -(28449) found -[9363] Forked 28450 -(28450) found -[9362] Forked 28451 -(28451) found -[9361] Forked 28452 -(28452) found -[9360] Forked 28453 -(28453) found -[9359] Forked 28454 -(28454) found -[9358] Forked 28455 -(28455) found -[9357] Forked 28456 -(28456) found -[9356] Forked 28457 -(28457) found -[9355] Forked 28458 -(28458) found -[9354] Forked 28459 -(28459) found -[9353] Forked 28460 -(28460) found -[9352] Forked 28461 -(28461) found -[9351] Forked 28462 -(28462) found -[9350] Forked 28463 -(28463) found -[9349] Forked 28464 -(28464) found -[9348] Forked 28465 -(28465) found -[9347] Forked 28466 -(28466) found -[9346] Forked 28467 -(28467) found -[9345] Forked 28468 -(28468) found -[9344] Forked 28469 -(28469) found -[9343] Forked 28470 -[9342] Forked 28471 -(28470) found -(28471) found -[9341] Forked 28472 -[9340] Forked 28473 -(28472) found -(28473) found -[9339] Forked 28474 -[9338] Forked 28475 -(28474) found -(28475) found -[9337] Forked 28476 -[9336] Forked 28477 -(28476) found -(28477) found -[9335] Forked 28478 -[9334] Forked 28479 -(28478) found -(28479) found -[9333] Forked 28480 -[9332] Forked 28481 -(28480) found -(28481) found -[9331] Forked 28482 -[9330] Forked 28483 -(28482) found -(28483) found -[9329] Forked 28484 -[9328] Forked 28485 -(28484) found -(28485) found -[9327] Forked 28486 -[9326] Forked 28487 -(28486) found -(28487) found -[9325] Forked 28488 -[9324] Forked 28489 -(28488) found -(28489) found -[9323] Forked 28490 -[9322] Forked 28491 -(28490) found -(28491) found -[9321] Forked 28492 -[9320] Forked 28493 -(28492) found -(28493) found -[9319] Forked 28494 -[9318] Forked 28495 -(28494) found -(28495) found -[9317] Forked 28496 -[9316] Forked 28497 -(28496) found -(28497) found -[9315] Forked 28498 -[9314] Forked 28499 -(28498) found -(28499) found -[9313] Forked 28500 -[9312] Forked 28501 -(28500) found -(28501) found -[9311] Forked 28502 -[9310] Forked 28503 -(28502) found -(28503) found -[9309] Forked 28504 -[9308] Forked 28505 -(28504) found -(28505) found -[9307] Forked 28506 -[9306] Forked 28507 -(28506) found -(28507) found -[9305] Forked 28508 -[9304] Forked 28509 -(28508) found -(28509) found -[9303] Forked 28510 -[9302] Forked 28511 -(28510) found -(28511) found -[9301] Forked 28512 -[9300] Forked 28513 -(28512) found -(28513) found -[9299] Forked 28514 -[9298] Forked 28515 -(28514) found -(28515) found -[9297] Forked 28516 -(28516) found -[9296] Forked 28517 -(28517) found -[9295] Forked 28518 -(28518) found -[9294] Forked 28519 -(28519) found -[9293] Forked 28520 -(28520) found -[9292] Forked 28521 -(28521) found -[9291] Forked 28522 -(28522) found -[9290] Forked 28523 -(28523) found -[9289] Forked 28524 -(28524) found -[9288] Forked 28525 -(28525) found -[9287] Forked 28526 -(28526) found -[9286] Forked 28527 -(28527) found -[9285] Forked 28528 -(28528) found -[9284] Forked 28529 -(28529) found -[9283] Forked 28530 -(28530) found -[9282] Forked 28531 -(28531) found -[9281] Forked 28532 -(28532) found -[9280] Forked 28533 -(28533) found -[9279] Forked 28534 -(28534) found -[9278] Forked 28535 -(28535) found -[9277] Forked 28536 -(28536) found -[9276] Forked 28537 -(28537) found -[9275] Forked 28538 -(28538) found -[9274] Forked 28539 -(28539) found -[9273] Forked 28540 -(28540) found -[9272] Forked 28541 -(28541) found -[9271] Forked 28542 -(28542) found -[9270] Forked 28543 -(28543) found -[9269] Forked 28544 -(28544) found -[9268] Forked 28545 -(28545) found -[9267] Forked 28546 -(28546) found -[9266] Forked 28547 -(28547) found -[9265] Forked 28548 -(28548) found -[9264] Forked 28549 -(28549) found -[9263] Forked 28550 -[9262] Forked 28551 -(28550) found -(28551) found -[9261] Forked 28552 -[9260] Forked 28553 -(28552) found -(28553) found -[9259] Forked 28554 -[9258] Forked 28555 -(28554) found -(28555) found -[9257] Forked 28556 -[9256] Forked 28557 -(28556) found -(28557) found -[9255] Forked 28558 -[9254] Forked 28559 -(28558) found -(28559) found -[9253] Forked 28560 -[9252] Forked 28561 -(28560) found -(28561) found -[9251] Forked 28562 -[9250] Forked 28563 -(28562) found -(28563) found -[9249] Forked 28564 -[9248] Forked 28565 -(28564) found -(28565) found -[9247] Forked 28566 -[9246] Forked 28567 -(28566) found -(28567) found -[9245] Forked 28568 -[9244] Forked 28569 -(28568) found -(28569) found -[9243] Forked 28570 -[9242] Forked 28571 -(28570) found -(28571) found -[9241] Forked 28572 -(28572) found -[9240] Forked 28573 -[9239] Forked 28574 -(28573) found -(28574) found -[9238] Forked 28575 -[9237] Forked 28576 -(28575) found -(28576) found -[9236] Forked 28577 -[9235] Forked 28578 -(28577) found -(28578) found -[9234] Forked 28579 -[9233] Forked 28580 -(28579) found -(28580) found -[9232] Forked 28581 -[9231] Forked 28582 -(28581) found -(28582) found -[9230] Forked 28583 -[9229] Forked 28584 -(28583) found -(28584) found -[9228] Forked 28585 -[9227] Forked 28586 -(28585) found -(28586) found -[9226] Forked 28587 -[9225] Forked 28588 -(28587) found -(28588) found -[9224] Forked 28589 -[9223] Forked 28590 -(28589) found -(28590) found -[9222] Forked 28591 -[9221] Forked 28592 -(28591) found -(28592) found -[9220] Forked 28593 -[9219] Forked 28594 -(28593) found -(28594) found -[9218] Forked 28595 -[9217] Forked 28596 -(28595) found -(28596) found -[9216] Forked 28597 -[9215] Forked 28598 -(28597) found -(28598) found -[9214] Forked 28599 -[9213] Forked 28600 -(28599) found -(28600) found -[9212] Forked 28601 -[9211] Forked 28602 -(28601) found -(28602) found -[9210] Forked 28603 -[9209] Forked 28604 -(28603) found -(28604) found -[9208] Forked 28605 -[9207] Forked 28606 -(28605) found -(28606) found -[9206] Forked 28607 -[9205] Forked 28608 -(28607) found -(28608) found -[9204] Forked 28609 -[9203] Forked 28610 -(28609) found -(28610) found -[9202] Forked 28611 -[9201] Forked 28612 -(28611) found -(28612) found -[9200] Forked 28613 -[9199] Forked 28614 -(28613) found -(28614) found -[9198] Forked 28615 -[9197] Forked 28616 -(28615) found -(28616) found -[9196] Forked 28617 -[9195] Forked 28618 -(28617) found -(28618) found -[9194] Forked 28619 -[9193] Forked 28620 -(28619) found -(28620) found -[9192] Forked 28621 -[9191] Forked 28622 -(28621) found -(28622) found -[9190] Forked 28623 -[9189] Forked 28624 -(28623) found -(28624) found -[9188] Forked 28625 -[9187] Forked 28626 -(28625) found -(28626) found -[9186] Forked 28627 -[9185] Forked 28628 -(28627) found -(28628) found -[9184] Forked 28629 -[9183] Forked 28630 -(28629) found -(28630) found -[9182] Forked 28631 -[9181] Forked 28632 -(28631) found -(28632) found -[9180] Forked 28633 -[9179] Forked 28634 -(28633) found -(28634) found -[9178] Forked 28635 -[9177] Forked 28636 -(28635) found -(28636) found -[9176] Forked 28637 -[9175] Forked 28638 -(28637) found -(28638) found -[9174] Forked 28639 -[9173] Forked 28640 -(28639) found -(28640) found -[9172] Forked 28641 -(28641) found -[9171] Forked 28642 -(28642) found -[9170] Forked 28643 -(28643) found -[9169] Forked 28644 -(28644) found -[9168] Forked 28645 -(28645) found -[9167] Forked 28646 -(28646) found -[9166] Forked 28647 -(28647) found -[9165] Forked 28648 -(28648) found -[9164] Forked 28649 -(28649) found -[9163] Forked 28650 -(28650) found -[9162] Forked 28651 -(28651) found -[9161] Forked 28652 -(28652) found -[9160] Forked 28653 -(28653) found -[9159] Forked 28654 -(28654) found -[9158] Forked 28655 -(28655) found -[9157] Forked 28656 -(28656) found -[9156] Forked 28657 -(28657) found -[9155] Forked 28658 -(28658) found -[9154] Forked 28659 -(28659) found -[9153] Forked 28660 -(28660) found -[9152] Forked 28661 -(28661) found -[9151] Forked 28662 -(28662) found -[9150] Forked 28663 -(28663) found -[9149] Forked 28664 -(28664) found -[9148] Forked 28665 -(28665) found -[9147] Forked 28666 -(28666) found -[9146] Forked 28667 -(28667) found -[9145] Forked 28668 -(28668) found -[9144] Forked 28669 -(28669) found -[9143] Forked 28670 -(28670) found -[9142] Forked 28671 -(28671) found -[9141] Forked 28672 -(28672) found -[9140] Forked 28673 -(28673) found -[9139] Forked 28674 -(28674) found -[9138] Forked 28675 -(28675) found -[9137] Forked 28676 -(28676) found -[9136] Forked 28677 -(28677) found -[9135] Forked 28679 -(28679) found -[9134] Forked 28680 -[9133] Forked 28681 -(28680) found -(28681) found -[9132] Forked 28682 -[9131] Forked 28683 -(28682) found -(28683) found -[9130] Forked 28684 -[9129] Forked 28685 -(28684) found -(28685) found -[9128] Forked 28686 -[9127] Forked 28687 -(28686) found -(28687) found -[9126] Forked 28688 -[9125] Forked 28689 -(28688) found -(28689) found -[9124] Forked 28690 -[9123] Forked 28691 -(28690) found -(28691) found -[9122] Forked 28692 -[9121] Forked 28693 -(28692) found -(28693) found -[9120] Forked 28694 -[9119] Forked 28696 -(28694) found -(28696) found -[9118] Forked 28697 -[9117] Forked 28698 -(28697) found -(28698) found -[9116] Forked 28699 -[9115] Forked 28700 -(28699) found -(28700) found -[9114] Forked 28701 -[9113] Forked 28702 -(28701) found -(28702) found -[9112] Forked 28703 -[9111] Forked 28704 -(28703) found -(28704) found -[9110] Forked 28705 -[9109] Forked 28706 -(28705) found -(28706) found -[9108] Forked 28707 -[9107] Forked 28708 -(28707) found -(28708) found -[9106] Forked 28709 -[9105] Forked 28710 -(28709) found -(28710) found -[9104] Forked 28711 -[9103] Forked 28712 -(28711) found -(28712) found -[9102] Forked 28713 -[9101] Forked 28714 -(28713) found -(28714) found -[9100] Forked 28715 -[9099] Forked 28716 -(28715) found -(28716) found -[9098] Forked 28717 -[9097] Forked 28718 -(28717) found -(28718) found -[9096] Forked 28719 -[9095] Forked 28720 -(28719) found -(28720) found -[9094] Forked 28721 -[9093] Forked 28722 -(28721) found -(28722) found -[9092] Forked 28723 -[9091] Forked 28724 -(28723) found -(28724) found -[9090] Forked 28725 -(28725) found -[9089] Forked 28726 -(28726) found -[9088] Forked 28727 -(28727) found -[9087] Forked 28728 -(28728) found -[9086] Forked 28729 -(28729) found -[9085] Forked 28730 -(28730) found -[9084] Forked 28731 -(28731) found -[9083] Forked 28732 -(28732) found -[9082] Forked 28733 -(28733) found -[9081] Forked 28734 -(28734) found -[9080] Forked 28735 -(28735) found -[9079] Forked 28736 -(28736) found -[9078] Forked 28737 -(28737) found -[9077] Forked 28738 -(28738) found -[9076] Forked 28739 -(28739) found -[9075] Forked 28740 -(28740) found -[9074] Forked 28741 -(28741) found -[9073] Forked 28742 -(28742) found -[9072] Forked 28743 -(28743) found -[9071] Forked 28744 -(28744) found -[9070] Forked 28745 -(28745) found -[9069] Forked 28746 -(28746) found -[9068] Forked 28747 -(28747) found -[9067] Forked 28748 -(28748) found -[9066] Forked 28749 -(28749) found -[9065] Forked 28750 -(28750) found -[9064] Forked 28751 -(28751) found -[9063] Forked 28752 -(28752) found -[9062] Forked 28753 -(28753) found -[9061] Forked 28754 -(28754) found -[9060] Forked 28755 -(28755) found -[9059] Forked 28756 -(28756) found -[9058] Forked 28757 -(28757) found -[9057] Forked 28758 -(28758) found -[9056] Forked 28759 -(28759) found -[9055] Forked 28760 -(28760) found -[9054] Forked 28761 -(28761) found -[9053] Forked 28762 -[9052] Forked 28763 -(28762) found -(28763) found -[9051] Forked 28764 -[9050] Forked 28765 -(28764) found -(28765) found -[9049] Forked 28766 -[9048] Forked 28767 -(28767) found -(28766) found -[9047] Forked 28768 -(28768) found -[9046] Forked 28769 -(28769) found -[9045] Forked 28770 -(28770) found -[9044] Forked 28771 -(28771) found -[9043] Forked 28772 -(28772) found -[9042] Forked 28773 -(28773) found -[9041] Forked 28774 -(28774) found -[9040] Forked 28775 -(28775) found -[9039] Forked 28776 -(28776) found -[9038] Forked 28777 -(28777) found -[9037] Forked 28778 -(28778) found -[9036] Forked 28779 -(28779) found -[9035] Forked 28780 -(28780) found -[9034] Forked 28781 -(28781) found -[9033] Forked 28782 -(28782) found -[9032] Forked 28783 -(28783) found -[9031] Forked 28784 -(28784) found -[9030] Forked 28785 -(28785) found -[9029] Forked 28786 -(28786) found -[9028] Forked 28787 -(28787) found -[9027] Forked 28788 -(28788) found -[9026] Forked 28789 -(28789) found -[9025] Forked 28790 -(28790) found -[9024] Forked 28791 -(28791) found -[9023] Forked 28792 -(28792) found -[9022] Forked 28793 -(28793) found -[9021] Forked 28794 -(28794) found -[9020] Forked 28795 -(28795) found -[9019] Forked 28796 -(28796) found -[9018] Forked 28797 -(28797) found -[9017] Forked 28798 -(28798) found -[9016] Forked 28799 -(28799) found -[9015] Forked 28800 -(28800) found -[9014] Forked 28801 -(28801) found -[9013] Forked 28802 -(28802) found -[9012] Forked 28803 -(28803) found -[9011] Forked 28804 -(28804) found -[9010] Forked 28805 -(28805) found -[9009] Forked 28806 -(28806) found -[9008] Forked 28807 -(28807) found -[9007] Forked 28808 -(28808) found -[9006] Forked 28809 -(28809) found -[9005] Forked 28810 -(28810) found -[9004] Forked 28811 -(28811) found -[9003] Forked 28812 -(28812) found -[9002] Forked 28813 -(28813) found -[9001] Forked 28814 -(28814) found -[9000] Forked 28815 -(28815) found -[8999] Forked 28816 -(28816) found -[8998] Forked 28817 -(28817) found -[8997] Forked 28818 -(28818) found -[8996] Forked 28819 -(28819) found -[8995] Forked 28820 -(28820) found -[8994] Forked 28821 -(28821) found -[8993] Forked 28822 -(28822) found -[8992] Forked 28823 -(28823) found -[8991] Forked 28824 -(28824) found -[8990] Forked 28825 -(28825) found -[8989] Forked 28826 -(28826) found -[8988] Forked 28827 -(28827) found -[8987] Forked 28828 -(28828) found -[8986] Forked 28829 -(28829) found -[8985] Forked 28830 -(28830) found -[8984] Forked 28831 -(28831) found -[8983] Forked 28832 -(28832) found -[8982] Forked 28833 -[8981] Forked 28834 -(28833) found -(28834) found -[8980] Forked 28835 -[8979] Forked 28836 -(28835) found -(28836) found -[8978] Forked 28837 -[8977] Forked 28838 -(28837) found -(28838) found -[8976] Forked 28839 -[8975] Forked 28840 -(28840) found -(28839) found -[8974] Forked 28841 -(28841) found -[8973] Forked 28842 -(28842) found -[8972] Forked 28843 -(28843) found -[8971] Forked 28844 -(28844) found -[8970] Forked 28845 -(28845) found -[8969] Forked 28846 -(28846) found -[8968] Forked 28847 -(28847) found -[8967] Forked 28848 -(28848) found -[8966] Forked 28849 -(28849) found -[8965] Forked 28850 -(28850) found -[8964] Forked 28851 -(28851) found -[8963] Forked 28852 -(28852) found -[8962] Forked 28853 -(28853) found -[8961] Forked 28854 -(28854) found -[8960] Forked 28855 -(28855) found -[8959] Forked 28856 -(28856) found -[8958] Forked 28857 -(28857) found -[8957] Forked 28858 -(28858) found -[8956] Forked 28859 -(28859) found -[8955] Forked 28860 -(28860) found -[8954] Forked 28861 -(28861) found -[8953] Forked 28862 -(28862) found -[8952] Forked 28863 -(28863) found -[8951] Forked 28864 -(28864) found -[8950] Forked 28865 -(28865) found -[8949] Forked 28866 -(28866) found -[8948] Forked 28867 -(28867) found -[8947] Forked 28868 -(28868) found -[8946] Forked 28869 -(28869) found -[8945] Forked 28870 -(28870) found -[8944] Forked 28871 -(28871) found -[8943] Forked 28872 -(28872) found -[8942] Forked 28873 -(28873) found -[8941] Forked 28874 -(28874) found -[8940] Forked 28875 -(28875) found -[8939] Forked 28876 -(28876) found -[8938] Forked 28877 -(28877) found -[8937] Forked 28878 -(28878) found -[8936] Forked 28879 -(28879) found -[8935] Forked 28880 -(28880) found -[8934] Forked 28881 -(28881) found -[8933] Forked 28882 -(28882) found -[8932] Forked 28883 -(28883) found -[8931] Forked 28884 -(28884) found -[8930] Forked 28885 -(28885) found -[8929] Forked 28886 -(28886) found -[8928] Forked 28887 -(28887) found -[8927] Forked 28888 -(28888) found -[8926] Forked 28889 -(28889) found -[8925] Forked 28890 -(28890) found -[8924] Forked 28891 -(28891) found -[8923] Forked 28892 -(28892) found -[8922] Forked 28893 -(28893) found -[8921] Forked 28894 -(28894) found -[8920] Forked 28895 -(28895) found -[8919] Forked 28896 -(28896) found -[8918] Forked 28897 -(28897) found -[8917] Forked 28898 -(28898) found -[8916] Forked 28899 -(28899) found -[8915] Forked 28900 -(28900) found -[8914] Forked 28901 -[8913] Forked 28902 -(28901) found -(28902) found -[8912] Forked 28903 -[8911] Forked 28904 -(28903) found -(28904) found -[8910] Forked 28905 -[8909] Forked 28906 -(28905) found -(28906) found -[8908] Forked 28907 -[8907] Forked 28908 -(28907) found -(28908) found -[8906] Forked 28909 -[8905] Forked 28910 -(28909) found -(28910) found -[8904] Forked 28911 -[8903] Forked 28912 -(28911) found -(28912) found -[8902] Forked 28913 -[8901] Forked 28914 -(28913) found -(28914) found -[8900] Forked 28915 -[8899] Forked 28916 -(28915) found -(28916) found -[8898] Forked 28917 -[8897] Forked 28918 -(28917) found -(28918) found -[8896] Forked 28919 -[8895] Forked 28920 -(28919) found -(28920) found -[8894] Forked 28921 -(28921) found -[8893] Forked 28922 -(28922) found -[8892] Forked 28923 -[8891] Forked 28924 -(28923) found -(28924) found -[8890] Forked 28925 -[8889] Forked 28926 -(28925) found -(28926) found -[8888] Forked 28927 -[8887] Forked 28928 -(28927) found -(28928) found -[8886] Forked 28929 -[8885] Forked 28930 -(28929) found -(28930) found -[8884] Forked 28931 -[8883] Forked 28932 -(28931) found -(28932) found -[8882] Forked 28933 -[8881] Forked 28934 -(28933) found -(28934) found -[8880] Forked 28935 -[8879] Forked 28936 -(28935) found -(28936) found -[8878] Forked 28937 -[8877] Forked 28938 -(28937) found -(28938) found -[8876] Forked 28939 -[8875] Forked 28940 -(28939) found -(28940) found -[8874] Forked 28941 -[8873] Forked 28942 -(28941) found -(28942) found -[8872] Forked 28943 -[8871] Forked 28944 -(28943) found -(28944) found -[8870] Forked 28945 -(28945) found -[8869] Forked 28946 -(28946) found -[8868] Forked 28947 -(28947) found -[8867] Forked 28948 -(28948) found -[8866] Forked 28949 -(28949) found -[8865] Forked 28950 -(28950) found -[8864] Forked 28951 -(28951) found -[8863] Forked 28952 -(28952) found -[8862] Forked 28953 -(28953) found -[8861] Forked 28954 -(28954) found -[8860] Forked 28955 -(28955) found -[8859] Forked 28956 -(28956) found -[8858] Forked 28957 -(28957) found -[8857] Forked 28958 -(28958) found -[8856] Forked 28959 -(28959) found -[8855] Forked 28960 -(28960) found -[8854] Forked 28961 -(28961) found -[8853] Forked 28962 -(28962) found -[8852] Forked 28963 -(28963) found -[8851] Forked 28964 -(28964) found -[8850] Forked 28965 -(28965) found -[8849] Forked 28966 -(28966) found -[8848] Forked 28967 -(28967) found -[8847] Forked 28968 -(28968) found -[8846] Forked 28969 -(28969) found -[8845] Forked 28970 -(28970) found -[8844] Forked 28971 -(28971) found -[8843] Forked 28972 -(28972) found -[8842] Forked 28973 -(28973) found -[8841] Forked 28974 -(28974) found -[8840] Forked 28975 -(28975) found -[8839] Forked 28976 -(28976) found -[8838] Forked 28977 -(28977) found -[8837] Forked 28978 -(28978) found -[8836] Forked 28979 -(28979) found -[8835] Forked 28980 -(28980) found -[8834] Forked 28981 -(28981) found -[8833] Forked 28982 -[8832] Forked 28983 -(28983) found -(28982) found -[8831] Forked 28984 -(28984) found -[8830] Forked 28985 -(28985) found -[8829] Forked 28986 -(28986) found -[8828] Forked 28987 -(28987) found -[8827] Forked 28988 -(28988) found -[8826] Forked 28989 -(28989) found -[8825] Forked 28990 -(28990) found -[8824] Forked 28991 -(28991) found -[8823] Forked 28992 -(28992) found -[8822] Forked 28993 -(28993) found -[8821] Forked 28994 -(28994) found -[8820] Forked 28995 -(28995) found -[8819] Forked 28996 -(28996) found -[8818] Forked 28997 -(28997) found -[8817] Forked 28998 -(28998) found -[8816] Forked 28999 -(28999) found -[8815] Forked 29000 -(29000) found -[8814] Forked 29001 -(29001) found -[8813] Forked 29002 -(29002) found -[8812] Forked 29003 -(29003) found -[8811] Forked 29004 -(29004) found -[8810] Forked 29005 -(29005) found -[8809] Forked 29006 -(29006) found -[8808] Forked 29007 -(29007) found -[8807] Forked 29008 -(29008) found -[8806] Forked 29009 -(29009) found -[8805] Forked 29010 -(29010) found -[8804] Forked 29011 -(29011) found -[8803] Forked 29012 -(29012) found -[8802] Forked 29013 -(29013) found -[8801] Forked 29014 -(29014) found -[8800] Forked 29015 -(29015) found -[8799] Forked 29016 -(29016) found -[8798] Forked 29017 -(29017) found -[8797] Forked 29018 -(29018) found -[8796] Forked 29019 -(29019) found -[8795] Forked 29020 -(29020) found -[8794] Forked 29021 -(29021) found -[8793] Forked 29022 -(29022) found -[8792] Forked 29023 -(29023) found -[8791] Forked 29024 -(29024) found -[8790] Forked 29025 -(29025) found -[8789] Forked 29026 -(29026) found -[8788] Forked 29027 -(29027) found -[8787] Forked 29028 -(29028) found -[8786] Forked 29029 -(29029) found -[8785] Forked 29030 -(29030) found -[8784] Forked 29031 -(29031) found -[8783] Forked 29032 -(29032) found -[8782] Forked 29033 -(29033) found -[8781] Forked 29034 -(29034) found -[8780] Forked 29035 -(29035) found -[8779] Forked 29036 -(29036) found -[8778] Forked 29037 -(29037) found -[8777] Forked 29038 -(29038) found -[8776] Forked 29039 -(29039) found -[8775] Forked 29040 -(29040) found -[8774] Forked 29041 -(29041) found -[8773] Forked 29042 -(29042) found -[8772] Forked 29043 -(29043) found -[8771] Forked 29044 -(29044) found -[8770] Forked 29045 -(29045) found -[8769] Forked 29046 -(29046) found -[8768] Forked 29047 -(29047) found -[8767] Forked 29048 -(29048) found -[8766] Forked 29049 -(29049) found -[8765] Forked 29050 -(29050) found -[8764] Forked 29051 -(29051) found -[8763] Forked 29052 -[8762] Forked 29053 -(29052) found -(29053) found -[8761] Forked 29054 -[8760] Forked 29055 -(29054) found -(29055) found -[8759] Forked 29056 -[8758] Forked 29057 -(29056) found -(29057) found -[8757] Forked 29058 -[8756] Forked 29059 -(29058) found -(29059) found -[8755] Forked 29060 -[8754] Forked 29061 -(29060) found -(29061) found -[8753] Forked 29062 -[8752] Forked 29063 -(29062) found -(29063) found -[8751] Forked 29064 -[8750] Forked 29065 -(29064) found -(29065) found -[8749] Forked 29066 -[8748] Forked 29067 -(29066) found -(29067) found -[8747] Forked 29068 -[8746] Forked 29069 -(29068) found -(29069) found -[8745] Forked 29070 -[8744] Forked 29071 -(29070) found -(29071) found -[8743] Forked 29072 -[8742] Forked 29073 -(29072) found -(29073) found -[8741] Forked 29074 -[8740] Forked 29075 -(29074) found -(29075) found -[8739] Forked 29076 -[8738] Forked 29077 -(29076) found -(29077) found -[8737] Forked 29078 -[8736] Forked 29079 -(29078) found -(29079) found -[8735] Forked 29080 -[8734] Forked 29081 -(29080) found -(29081) found -[8733] Forked 29082 -[8732] Forked 29083 -(29082) found -(29083) found -[8731] Forked 29084 -[8730] Forked 29085 -(29084) found -(29085) found -[8729] Forked 29086 -[8728] Forked 29087 -(29086) found -(29087) found -[8727] Forked 29088 -[8726] Forked 29089 -(29088) found -(29089) found -[8725] Forked 29090 -[8724] Forked 29091 -(29090) found -(29091) found -[8723] Forked 29092 -[8722] Forked 29093 -(29092) found -(29093) found -[8721] Forked 29094 -[8720] Forked 29095 -(29094) found -(29095) found -[8719] Forked 29096 -[8718] Forked 29097 -(29096) found -(29097) found -[8717] Forked 29098 -[8716] Forked 29099 -(29098) found -(29099) found -[8715] Forked 29100 -[8714] Forked 29101 -(29100) found -(29101) found -[8713] Forked 29102 -[8712] Forked 29103 -(29102) found -(29103) found -[8711] Forked 29104 -[8710] Forked 29105 -(29104) found -(29105) found -[8709] Forked 29106 -[8708] Forked 29107 -(29106) found -(29107) found -[8707] Forked 29108 -[8706] Forked 29109 -(29108) found -(29109) found -[8705] Forked 29110 -[8704] Forked 29111 -(29110) found -(29111) found -[8703] Forked 29112 -[8702] Forked 29113 -(29112) found -(29113) found -[8701] Forked 29114 -[8700] Forked 29115 -(29114) found -(29115) found -[8699] Forked 29116 -[8698] Forked 29117 -(29116) found -(29117) found -[8697] Forked 29118 -[8696] Forked 29119 -(29118) found -(29119) found -[8695] Forked 29120 -[8694] Forked 29122 -(29120) found -(29122) found -[8693] Forked 29123 -(29123) found -[8692] Forked 29124 -(29124) found -[8691] Forked 29125 -(29125) found -[8690] Forked 29126 -(29126) found -[8689] Forked 29127 -(29127) found -[8688] Forked 29128 -(29128) found -[8687] Forked 29129 -(29129) found -[8686] Forked 29130 -(29130) found -[8685] Forked 29131 -(29131) found -[8684] Forked 29132 -(29132) found -[8683] Forked 29133 -(29133) found -[8682] Forked 29134 -(29134) found -[8681] Forked 29135 -(29135) found -[8680] Forked 29136 -(29136) found -[8679] Forked 29137 -(29137) found -[8678] Forked 29138 -(29138) found -[8677] Forked 29139 -(29139) found -[8676] Forked 29140 -(29140) found -[8675] Forked 29141 -(29141) found -[8674] Forked 29142 -(29142) found -[8673] Forked 29143 -(29143) found -[8672] Forked 29144 -(29144) found -[8671] Forked 29145 -(29145) found -[8670] Forked 29146 -(29146) found -[8669] Forked 29147 -(29147) found -[8668] Forked 29148 -(29148) found -[8667] Forked 29149 -(29149) found -[8666] Forked 29150 -(29150) found -[8665] Forked 29151 -(29151) found -[8664] Forked 29152 -(29152) found -[8663] Forked 29153 -(29153) found -[8662] Forked 29154 -(29154) found -[8661] Forked 29155 -(29155) found -[8660] Forked 29156 -(29156) found -[8659] Forked 29157 -(29157) found -[8658] Forked 29158 -(29158) found -[8657] Forked 29159 -(29159) found -[8656] Forked 29160 -(29160) found -[8655] Forked 29161 -(29161) found -[8654] Forked 29162 -(29162) found -[8653] Forked 29163 -(29163) found -[8652] Forked 29164 -(29164) found -[8651] Forked 29165 -(29165) found -[8650] Forked 29166 -(29166) found -[8649] Forked 29167 -(29167) found -[8648] Forked 29168 -(29168) found -[8647] Forked 29169 -(29169) found -[8646] Forked 29170 -(29170) found -[8645] Forked 29171 -(29171) found -[8644] Forked 29172 -(29172) found -[8643] Forked 29173 -(29173) found -[8642] Forked 29174 -[8641] Forked 29175 -(29174) found -(29175) found -[8640] Forked 29176 -[8639] Forked 29177 -(29176) found -(29177) found -[8638] Forked 29178 -[8637] Forked 29179 -(29178) found -(29179) found -[8636] Forked 29180 -[8635] Forked 29181 -(29180) found -(29181) found -[8634] Forked 29182 -[8633] Forked 29183 -(29182) found -(29183) found -[8632] Forked 29184 -[8631] Forked 29185 -(29184) found -(29185) found -[8630] Forked 29186 -[8629] Forked 29187 -(29186) found -(29187) found -[8628] Forked 29188 -[8627] Forked 29189 -(29188) found -(29189) found -[8626] Forked 29190 -[8625] Forked 29191 -(29190) found -(29191) found -[8624] Forked 29192 -[8623] Forked 29193 -(29192) found -(29193) found -[8622] Forked 29194 -[8621] Forked 29195 -(29194) found -(29195) found -[8620] Forked 29196 -[8619] Forked 29197 -(29196) found -(29197) found -[8618] Forked 29198 -[8617] Forked 29199 -(29198) found -(29199) found -[8616] Forked 29200 -[8615] Forked 29201 -(29200) found -(29201) found -[8614] Forked 29202 -[8613] Forked 29203 -(29202) found -(29203) found -[8612] Forked 29204 -[8611] Forked 29205 -(29204) found -(29205) found -[8610] Forked 29206 -[8609] Forked 29207 -(29206) found -(29207) found -[8608] Forked 29208 -[8607] Forked 29209 -(29208) found -(29209) found -[8606] Forked 29210 -[8605] Forked 29211 -(29210) found -(29211) found -[8604] Forked 29212 -[8603] Forked 29213 -(29212) found -(29213) found -[8602] Forked 29214 -[8601] Forked 29215 -(29214) found -(29215) found -[8600] Forked 29216 -[8599] Forked 29217 -(29216) found -(29217) found -[8598] Forked 29218 -[8597] Forked 29219 -(29218) found -(29219) found -[8596] Forked 29220 -[8595] Forked 29221 -(29220) found -(29221) found -[8594] Forked 29222 -[8593] Forked 29223 -(29222) found -(29223) found -[8592] Forked 29224 -[8591] Forked 29225 -(29224) found -(29225) found -[8590] Forked 29226 -[8589] Forked 29227 -(29226) found -(29227) found -[8588] Forked 29228 -[8587] Forked 29229 -(29228) found -(29229) found -[8586] Forked 29230 -[8585] Forked 29231 -(29230) found -(29231) found -[8584] Forked 29232 -[8583] Forked 29233 -(29232) found -(29233) found -[8582] Forked 29234 -[8581] Forked 29235 -(29234) found -(29235) found -[8580] Forked 29236 -[8579] Forked 29237 -(29236) found -(29237) found -[8578] Forked 29238 -[8577] Forked 29239 -(29238) found -(29239) found -[8576] Forked 29240 -[8575] Forked 29241 -(29240) found -(29241) found -[8574] Forked 29242 -[8573] Forked 29243 -(29242) found -(29243) found -[8572] Forked 29244 -[8571] Forked 29245 -(29244) found -(29245) found -[8570] Forked 29246 -[8569] Forked 29247 -(29246) found -(29247) found -[8568] Forked 29248 -[8567] Forked 29249 -(29248) found -(29249) found -[8566] Forked 29250 -[8565] Forked 29251 -(29250) found -(29251) found -[8564] Forked 29252 -[8563] Forked 29253 -(29252) found -(29253) found -[8562] Forked 29254 -[8561] Forked 29255 -(29254) found -(29255) found -[8560] Forked 29256 -[8559] Forked 29257 -(29256) found -(29257) found -[8558] Forked 29258 -[8557] Forked 29259 -(29258) found -(29259) found -[8556] Forked 29260 -[8555] Forked 29261 -(29260) found -(29261) found -[8554] Forked 29262 -[8553] Forked 29263 -(29262) found -(29263) found -[8552] Forked 29264 -[8551] Forked 29265 -(29264) found -(29265) found -[8550] Forked 29266 -(29266) found -[8549] Forked 29267 -(29267) found -[8548] Forked 29268 -(29268) found -[8547] Forked 29269 -(29269) found -[8546] Forked 29270 -(29270) found -[8545] Forked 29271 -(29271) found -[8544] Forked 29272 -(29272) found -[8543] Forked 29273 -(29273) found -[8542] Forked 29274 -(29274) found -[8541] Forked 29275 -(29275) found -[8540] Forked 29276 -(29276) found -[8539] Forked 29277 -(29277) found -[8538] Forked 29278 -(29278) found -[8537] Forked 29279 -(29279) found -[8536] Forked 29280 -(29280) found -[8535] Forked 29281 -(29281) found -[8534] Forked 29282 -(29282) found -[8533] Forked 29283 -(29283) found -[8532] Forked 29284 -(29284) found -[8531] Forked 29285 -(29285) found -[8530] Forked 29286 -(29286) found -[8529] Forked 29287 -(29287) found -[8528] Forked 29288 -(29288) found -[8527] Forked 29289 -(29289) found -[8526] Forked 29290 -(29290) found -[8525] Forked 29291 -(29291) found -[8524] Forked 29292 -(29292) found -[8523] Forked 29293 -(29293) found -[8522] Forked 29294 -(29294) found -[8521] Forked 29295 -(29295) found -[8520] Forked 29296 -(29296) found -[8519] Forked 29297 -(29297) found -[8518] Forked 29298 -(29298) found -[8517] Forked 29299 -(29299) found -[8516] Forked 29300 -(29300) found -[8515] Forked 29301 -(29301) found -[8514] Forked 29302 -[8513] Forked 29303 -(29302) found -(29303) found -[8512] Forked 29304 -[8511] Forked 29305 -(29304) found -(29305) found -[8510] Forked 29306 -[8509] Forked 29307 -(29306) found -(29307) found -[8508] Forked 29308 -[8507] Forked 29309 -(29308) found -(29309) found -[8506] Forked 29310 -[8505] Forked 29311 -(29310) found -(29311) found -[8504] Forked 29312 -[8503] Forked 29313 -(29312) found -(29313) found -[8502] Forked 29314 -[8501] Forked 29315 -(29314) found -(29315) found -[8500] Forked 29316 -(29316) found -[8499] Forked 29317 -[8498] Forked 29318 -(29317) found -(29318) found -[8497] Forked 29319 -[8496] Forked 29320 -(29319) found -(29320) found -[8495] Forked 29321 -[8494] Forked 29322 -(29321) found -(29322) found -[8493] Forked 29323 -[8492] Forked 29324 -(29323) found -(29324) found -[8491] Forked 29325 -[8490] Forked 29326 -(29325) found -(29326) found -[8489] Forked 29327 -[8488] Forked 29328 -(29327) found -(29328) found -[8487] Forked 29329 -[8486] Forked 29330 -(29329) found -(29330) found -[8485] Forked 29331 -[8484] Forked 29332 -(29331) found -(29332) found -[8483] Forked 29333 -[8482] Forked 29334 -(29333) found -(29334) found -[8481] Forked 29335 -[8480] Forked 29336 -(29335) found -(29336) found -[8479] Forked 29337 -[8478] Forked 29338 -(29337) found -(29338) found -[8477] Forked 29339 -[8476] Forked 29340 -(29339) found -(29340) found -[8475] Forked 29341 -[8474] Forked 29342 -(29341) found -(29342) found -[8473] Forked 29343 -[8472] Forked 29344 -(29343) found -(29344) found -[8471] Forked 29345 -[8470] Forked 29346 -(29345) found -(29346) found -[8469] Forked 29347 -[8468] Forked 29348 -(29347) found -(29348) found -[8467] Forked 29349 -[8466] Forked 29350 -(29349) found -(29350) found -[8465] Forked 29351 -[8464] Forked 29352 -(29351) found -(29352) found -[8463] Forked 29353 -[8462] Forked 29354 -(29353) found -(29354) found -[8461] Forked 29355 -[8460] Forked 29356 -(29355) found -(29356) found -[8459] Forked 29357 -[8458] Forked 29358 -(29357) found -(29358) found -[8457] Forked 29359 -[8456] Forked 29360 -(29359) found -(29360) found -[8455] Forked 29361 -[8454] Forked 29362 -(29361) found -(29362) found -[8453] Forked 29363 -[8452] Forked 29364 -(29363) found -(29364) found -[8451] Forked 29365 -[8450] Forked 29366 -(29365) found -(29366) found -[8449] Forked 29367 -[8448] Forked 29368 -(29367) found -(29368) found -[8447] Forked 29369 -[8446] Forked 29370 -(29369) found -(29370) found -[8445] Forked 29371 -[8444] Forked 29372 -(29371) found -(29372) found -[8443] Forked 29373 -[8442] Forked 29374 -(29373) found -(29374) found -[8441] Forked 29375 -[8440] Forked 29376 -(29375) found -(29376) found -[8439] Forked 29377 -[8438] Forked 29378 -(29377) found -(29378) found -[8437] Forked 29379 -[8436] Forked 29380 -(29379) found -(29380) found -[8435] Forked 29381 -[8434] Forked 29382 -(29381) found -(29382) found -[8433] Forked 29383 -[8432] Forked 29384 -(29383) found -(29384) found -[8431] Forked 29385 -[8430] Forked 29386 -(29385) found -(29386) found -[8429] Forked 29387 -[8428] Forked 29388 -(29387) found -(29388) found -[8427] Forked 29389 -[8426] Forked 29390 -(29389) found -(29390) found -[8425] Forked 29391 -[8424] Forked 29392 -(29391) found -(29392) found -[8423] Forked 29393 -[8422] Forked 29394 -(29393) found -(29394) found -[8421] Forked 29395 -[8420] Forked 29396 -(29395) found -(29396) found -[8419] Forked 29397 -[8418] Forked 29398 -(29397) found -(29398) found -[8417] Forked 29399 -[8416] Forked 29400 -(29399) found -(29400) found -[8415] Forked 29401 -[8414] Forked 29402 -(29401) found -(29402) found -[8413] Forked 29403 -[8412] Forked 29404 -(29403) found -(29404) found -[8411] Forked 29405 -[8410] Forked 29406 -(29405) found -(29406) found -[8409] Forked 29407 -[8408] Forked 29408 -(29407) found -(29408) found -[8407] Forked 29409 -[8406] Forked 29410 -(29409) found -(29410) found -[8405] Forked 29411 -[8404] Forked 29412 -(29411) found -(29412) found -[8403] Forked 29413 -[8402] Forked 29414 -(29413) found -(29414) found -[8401] Forked 29415 -[8400] Forked 29416 -(29415) found -(29416) found -[8399] Forked 29417 -[8398] Forked 29418 -(29417) found -(29418) found -[8397] Forked 29419 -[8396] Forked 29420 -(29419) found -(29420) found -[8395] Forked 29421 -[8394] Forked 29422 -(29421) found -(29422) found -[8393] Forked 29423 -[8392] Forked 29424 -(29423) found -(29424) found -[8391] Forked 29425 -[8390] Forked 29426 -(29425) found -(29426) found -[8389] Forked 29427 -[8388] Forked 29428 -(29427) found -(29428) found -[8387] Forked 29429 -[8386] Forked 29430 -(29429) found -(29430) found -[8385] Forked 29431 -[8384] Forked 29432 -(29431) found -(29432) found -[8383] Forked 29433 -[8382] Forked 29434 -(29433) found -(29434) found -[8381] Forked 29435 -(29435) found -[8380] Forked 29436 -(29436) found -[8379] Forked 29437 -(29437) found -[8378] Forked 29438 -(29438) found -[8377] Forked 29439 -(29439) found -[8376] Forked 29440 -(29440) found -[8375] Forked 29441 -(29441) found -[8374] Forked 29442 -(29442) found -[8373] Forked 29443 -(29443) found -[8372] Forked 29444 -(29444) found -[8371] Forked 29445 -(29445) found -[8370] Forked 29446 -(29446) found -[8369] Forked 29447 -(29447) found -[8368] Forked 29448 -(29448) found -[8367] Forked 29449 -(29449) found -[8366] Forked 29450 -(29450) found -[8365] Forked 29451 -(29451) found -[8364] Forked 29452 -(29452) found -[8363] Forked 29453 -(29453) found -[8362] Forked 29454 -(29454) found -[8361] Forked 29455 -(29455) found -[8360] Forked 29456 -(29456) found -[8359] Forked 29457 -(29457) found -[8358] Forked 29458 -(29458) found -[8357] Forked 29459 -(29459) found -[8356] Forked 29460 -(29460) found -[8355] Forked 29461 -(29461) found -[8354] Forked 29462 -(29462) found -[8353] Forked 29463 -(29463) found -[8352] Forked 29464 -(29464) found -[8351] Forked 29465 -(29465) found -[8350] Forked 29466 -(29466) found -[8349] Forked 29467 -(29467) found -[8348] Forked 29468 -(29468) found -[8347] Forked 29469 -(29469) found -[8346] Forked 29470 -(29470) found -[8345] Forked 29471 -(29471) found -[8344] Forked 29472 -(29472) found -[8343] Forked 29473 -[8342] Forked 29474 -(29473) found -(29474) found -[8341] Forked 29475 -[8340] Forked 29476 -(29475) found -(29476) found -[8339] Forked 29477 -[8338] Forked 29478 -(29477) found -(29478) found -[8337] Forked 29479 -[8336] Forked 29480 -(29479) found -(29480) found -[8335] Forked 29481 -[8334] Forked 29482 -(29481) found -(29482) found -[8333] Forked 29483 -[8332] Forked 29484 -(29483) found -(29484) found -[8331] Forked 29485 -[8330] Forked 29486 -(29485) found -(29486) found -[8329] Forked 29487 -[8328] Forked 29488 -(29487) found -(29488) found -[8327] Forked 29489 -[8326] Forked 29490 -(29489) found -(29490) found -[8325] Forked 29491 -[8324] Forked 29492 -(29491) found -(29492) found -[8323] Forked 29493 -[8322] Forked 29494 -(29493) found -(29494) found -[8321] Forked 29495 -[8320] Forked 29496 -(29495) found -(29496) found -[8319] Forked 29497 -[8318] Forked 29498 -(29497) found -(29498) found -[8317] Forked 29499 -[8316] Forked 29500 -(29499) found -(29500) found -[8315] Forked 29501 -[8314] Forked 29502 -(29501) found -(29502) found -[8313] Forked 29503 -[8312] Forked 29504 -(29503) found -(29504) found -[8311] Forked 29505 -[8310] Forked 29506 -(29505) found -(29506) found -[8309] Forked 29507 -[8308] Forked 29508 -(29507) found -(29508) found -[8307] Forked 29509 -[8306] Forked 29510 -(29509) found -(29510) found -[8305] Forked 29511 -[8304] Forked 29512 -(29511) found -(29512) found -[8303] Forked 29513 -[8302] Forked 29514 -(29513) found -(29514) found -[8301] Forked 29515 -[8300] Forked 29516 -(29515) found -(29516) found -[8299] Forked 29517 -(29517) found -[8298] Forked 29518 -(29518) found -[8297] Forked 29519 -(29519) found -[8296] Forked 29520 -(29520) found -[8295] Forked 29521 -(29521) found -[8294] Forked 29522 -(29522) found -[8293] Forked 29523 -(29523) found -[8292] Forked 29524 -(29524) found -[8291] Forked 29525 -(29525) found -[8290] Forked 29526 -(29526) found -[8289] Forked 29527 -(29527) found -[8288] Forked 29528 -(29528) found -[8287] Forked 29529 -(29529) found -[8286] Forked 29530 -(29530) found -[8285] Forked 29531 -(29531) found -[8284] Forked 29532 -(29532) found -[8283] Forked 29533 -(29533) found -[8282] Forked 29534 -(29534) found -[8281] Forked 29535 -(29535) found -[8280] Forked 29536 -(29536) found -[8279] Forked 29537 -(29537) found -[8278] Forked 29538 -(29538) found -[8277] Forked 29539 -(29539) found -[8276] Forked 29540 -(29540) found -[8275] Forked 29541 -(29541) found -[8274] Forked 29542 -(29542) found -[8273] Forked 29543 -(29543) found -[8272] Forked 29544 -(29544) found -[8271] Forked 29545 -(29545) found -[8270] Forked 29546 -(29546) found -[8269] Forked 29547 -(29547) found -[8268] Forked 29548 -(29548) found -[8267] Forked 29549 -(29549) found -[8266] Forked 29550 -(29550) found -[8265] Forked 29551 -(29551) found -[8264] Forked 29552 -(29552) found -[8263] Forked 29553 -(29553) found -[8262] Forked 29554 -(29554) found -[8261] Forked 29555 -(29555) found -[8260] Forked 29556 -[8259] Forked 29557 -(29556) found -(29557) found -[8258] Forked 29558 -[8257] Forked 29559 -(29558) found -(29559) found -[8256] Forked 29560 -[8255] Forked 29561 -(29560) found -(29561) found -[8254] Forked 29562 -[8253] Forked 29563 -(29562) found -(29563) found -[8252] Forked 29564 -[8251] Forked 29565 -(29564) found -(29565) found -[8250] Forked 29566 -[8249] Forked 29567 -(29566) found -(29567) found -[8248] Forked 29568 -[8247] Forked 29569 -(29568) found -(29569) found -[8246] Forked 29570 -[8245] Forked 29571 -(29570) found -(29571) found -[8244] Forked 29572 -[8243] Forked 29573 -(29572) found -(29573) found -[8242] Forked 29574 -[8241] Forked 29575 -(29574) found -(29575) found -[8240] Forked 29576 -[8239] Forked 29577 -(29576) found -(29577) found -[8238] Forked 29578 -[8237] Forked 29579 -(29578) found -(29579) found -[8236] Forked 29580 -[8235] Forked 29581 -(29580) found -(29581) found -[8234] Forked 29582 -[8233] Forked 29583 -(29582) found -(29583) found -[8232] Forked 29584 -[8231] Forked 29585 -(29584) found -(29585) found -[8230] Forked 29586 -[8229] Forked 29587 -(29586) found -(29587) found -[8228] Forked 29588 -[8227] Forked 29589 -(29588) found -(29589) found -[8226] Forked 29590 -[8225] Forked 29591 -(29590) found -(29591) found -[8224] Forked 29592 -[8223] Forked 29593 -(29592) found -(29593) found -[8222] Forked 29594 -(29594) found -[8221] Forked 29595 -[8220] Forked 29596 -(29595) found -(29596) found -[8219] Forked 29597 -[8218] Forked 29598 -(29597) found -(29598) found -[8217] Forked 29599 -(29599) found -[8216] Forked 29600 -(29600) found -[8215] Forked 29601 -(29601) found -[8214] Forked 29602 -(29602) found -[8213] Forked 29603 -(29603) found -[8212] Forked 29604 -(29604) found -[8211] Forked 29605 -(29605) found -[8210] Forked 29606 -(29606) found -[8209] Forked 29607 -(29607) found -[8208] Forked 29608 -(29608) found -[8207] Forked 29609 -(29609) found -[8206] Forked 29610 -(29610) found -[8205] Forked 29611 -(29611) found -[8204] Forked 29612 -(29612) found -[8203] Forked 29613 -(29613) found -[8202] Forked 29614 -(29614) found -[8201] Forked 29615 -(29615) found -[8200] Forked 29616 -(29616) found -[8199] Forked 29617 -(29617) found -[8198] Forked 29618 -(29618) found -[8197] Forked 29619 -(29619) found -[8196] Forked 29620 -(29620) found -[8195] Forked 29621 -(29621) found -[8194] Forked 29622 -(29622) found -[8193] Forked 29623 -(29623) found -[8192] Forked 29624 -(29624) found -[8191] Forked 29625 -(29625) found -[8190] Forked 29626 -(29626) found -[8189] Forked 29627 -(29627) found -[8188] Forked 29628 -(29628) found -[8187] Forked 29629 -(29629) found -[8186] Forked 29630 -(29630) found -[8185] Forked 29631 -(29631) found -[8184] Forked 29632 -(29632) found -[8183] Forked 29633 -(29633) found -[8182] Forked 29634 -(29634) found -[8181] Forked 29635 -(29635) found -[8180] Forked 29636 -(29636) found -[8179] Forked 29637 -(29637) found -[8178] Forked 29638 -[8177] Forked 29639 -(29638) found -(29639) found -[8176] Forked 29640 -[8175] Forked 29641 -(29640) found -(29641) found -[8174] Forked 29642 -[8173] Forked 29643 -(29642) found -(29643) found -[8172] Forked 29644 -[8171] Forked 29645 -(29644) found -(29645) found -[8170] Forked 29646 -[8169] Forked 29647 -(29646) found -(29647) found -[8168] Forked 29648 -[8167] Forked 29649 -(29648) found -(29649) found -[8166] Forked 29650 -[8165] Forked 29651 -(29650) found -(29651) found -[8164] Forked 29652 -[8163] Forked 29653 -(29652) found -(29653) found -[8162] Forked 29654 -[8161] Forked 29655 -(29654) found -(29655) found -[8160] Forked 29656 -[8159] Forked 29657 -(29656) found -(29657) found -[8158] Forked 29658 -[8157] Forked 29659 -(29658) found -(29659) found -[8156] Forked 29660 -[8155] Forked 29661 -(29660) found -(29661) found -[8154] Forked 29662 -[8153] Forked 29663 -(29662) found -(29663) found -[8152] Forked 29664 -[8151] Forked 29665 -(29665) found -(29664) found -[8150] Forked 29666 -(29666) found -[8149] Forked 29667 -(29667) found -[8148] Forked 29668 -(29668) found -[8147] Forked 29669 -(29669) found -[8146] Forked 29670 -(29670) found -[8145] Forked 29671 -(29671) found -[8144] Forked 29672 -(29672) found -[8143] Forked 29673 -(29673) found -[8142] Forked 29674 -(29674) found -[8141] Forked 29675 -(29675) found -[8140] Forked 29676 -(29676) found -[8139] Forked 29677 -(29677) found -[8138] Forked 29678 -(29678) found -[8137] Forked 29679 -(29679) found -[8136] Forked 29680 -(29680) found -[8135] Forked 29681 -(29681) found -[8134] Forked 29682 -(29682) found -[8133] Forked 29683 -(29683) found -[8132] Forked 29684 -(29684) found -[8131] Forked 29685 -(29685) found -[8130] Forked 29686 -(29686) found -[8129] Forked 29687 -(29687) found -[8128] Forked 29688 -(29688) found -[8127] Forked 29689 -(29689) found -[8126] Forked 29690 -(29690) found -[8125] Forked 29691 -(29691) found -[8124] Forked 29692 -(29692) found -[8123] Forked 29693 -(29693) found -[8122] Forked 29694 -(29694) found -[8121] Forked 29695 -(29695) found -[8120] Forked 29696 -(29696) found -[8119] Forked 29697 -(29697) found -[8118] Forked 29698 -(29698) found -[8117] Forked 29699 -(29699) found -[8116] Forked 29700 -(29700) found -[8115] Forked 29701 -(29701) found -[8114] Forked 29702 -(29702) found -[8113] Forked 29703 -(29703) found -[8112] Forked 29704 -(29704) found -[8111] Forked 29705 -(29705) found -[8110] Forked 29706 -(29706) found -[8109] Forked 29707 -(29707) found -[8108] Forked 29708 -(29708) found -[8107] Forked 29709 -(29709) found -[8106] Forked 29710 -(29710) found -[8105] Forked 29711 -(29711) found -[8104] Forked 29712 -(29712) found -[8103] Forked 29713 -(29713) found -[8102] Forked 29714 -[8101] Forked 29715 -(29714) found -(29715) found -[8100] Forked 29716 -[8099] Forked 29717 -(29716) found -(29717) found -[8098] Forked 29718 -[8097] Forked 29719 -(29718) found -(29719) found -[8096] Forked 29720 -[8095] Forked 29721 -(29720) found -(29721) found -[8094] Forked 29722 -[8093] Forked 29723 -(29722) found -(29723) found -[8092] Forked 29724 -[8091] Forked 29725 -(29724) found -(29725) found -[8090] Forked 29726 -[8089] Forked 29727 -(29726) found -(29727) found -[8088] Forked 29728 -[8087] Forked 29729 -(29728) found -(29729) found -[8086] Forked 29730 -[8085] Forked 29731 -(29730) found -(29731) found -[8084] Forked 29732 -[8083] Forked 29733 -(29732) found -(29733) found -[8082] Forked 29734 -[8081] Forked 29735 -(29734) found -(29735) found -[8080] Forked 29736 -[8079] Forked 29737 -(29737) found -(29736) found -[8078] Forked 29738 -(29738) found -[8077] Forked 29739 -(29739) found -[8076] Forked 29740 -(29740) found -[8075] Forked 29741 -(29741) found -[8074] Forked 29742 -(29742) found -[8073] Forked 29743 -(29743) found -[8072] Forked 29744 -(29744) found -[8071] Forked 29745 -(29745) found -[8070] Forked 29746 -(29746) found -[8069] Forked 29747 -(29747) found -[8068] Forked 29748 -(29748) found -[8067] Forked 29749 -(29749) found -[8066] Forked 29750 -(29750) found -[8065] Forked 29751 -(29751) found -[8064] Forked 29752 -(29752) found -[8063] Forked 29753 -(29753) found -[8062] Forked 29754 -(29754) found -[8061] Forked 29755 -(29755) found -[8060] Forked 29756 -(29756) found -[8059] Forked 29757 -(29757) found -[8058] Forked 29758 -(29758) found -[8057] Forked 29759 -(29759) found -[8056] Forked 29760 -(29760) found -[8055] Forked 29761 -(29761) found -[8054] Forked 29762 -(29762) found -[8053] Forked 29763 -(29763) found -[8052] Forked 29764 -(29764) found -[8051] Forked 29765 -(29765) found -[8050] Forked 29766 -(29766) found -[8049] Forked 29767 -(29767) found -[8048] Forked 29768 -(29768) found -[8047] Forked 29769 -(29769) found -[8046] Forked 29770 -(29770) found -[8045] Forked 29771 -(29771) found -[8044] Forked 29772 -(29772) found -[8043] Forked 29773 -(29773) found -[8042] Forked 29774 -(29774) found -[8041] Forked 29775 -(29775) found -[8040] Forked 29776 -(29776) found -[8039] Forked 29777 -(29777) found -[8038] Forked 29778 -(29778) found -[8037] Forked 29779 -(29779) found -[8036] Forked 29780 -(29780) found -[8035] Forked 29781 -(29781) found -[8034] Forked 29782 -(29782) found -[8033] Forked 29783 -(29783) found -[8032] Forked 29784 -(29784) found -[8031] Forked 29785 -(29785) found -[8030] Forked 29786 -(29786) found -[8029] Forked 29787 -(29787) found -[8028] Forked 29788 -(29788) found -[8027] Forked 29789 -[8026] Forked 29790 -(29789) found -(29790) found -[8025] Forked 29791 -[8024] Forked 29792 -(29791) found -(29792) found -[8023] Forked 29793 -[8022] Forked 29794 -(29793) found -(29794) found -[8021] Forked 29795 -[8020] Forked 29796 -(29795) found -(29796) found -[8019] Forked 29797 -[8018] Forked 29798 -(29797) found -(29798) found -[8017] Forked 29799 -[8016] Forked 29800 -(29799) found -(29800) found -[8015] Forked 29801 -[8014] Forked 29802 -(29801) found -(29802) found -[8013] Forked 29803 -[8012] Forked 29804 -(29803) found -(29804) found -[8011] Forked 29805 -[8010] Forked 29806 -(29805) found -(29806) found -[8009] Forked 29807 -[8008] Forked 29810 -(29807) found -(29810) found -[8007] Forked 29811 -[8006] Forked 29812 -(29811) found -(29812) found -[8005] Forked 29813 -[8004] Forked 29814 -(29813) found -(29814) found -[8003] Forked 29815 -[8002] Forked 29816 -(29815) found -(29816) found -[8001] Forked 29817 -[8000] Forked 29818 -(29817) found -(29818) found -[7999] Forked 29819 -[7998] Forked 29820 -(29819) found -(29820) found -[7997] Forked 29821 -[7996] Forked 29822 -(29821) found -(29822) found -[7995] Forked 29823 -[7994] Forked 29824 -(29823) found -(29824) found -[7993] Forked 29825 -[7992] Forked 29826 -(29825) found -(29826) found -[7991] Forked 29827 -[7990] Forked 29828 -(29827) found -(29828) found -[7989] Forked 29829 -[7988] Forked 29830 -(29829) found -(29830) found -[7987] Forked 29831 -[7986] Forked 29832 -(29831) found -(29832) found -[7985] Forked 29833 -[7984] Forked 29834 -(29833) found -(29834) found -[7983] Forked 29835 -(29835) found -[7982] Forked 29836 -(29836) found -[7981] Forked 29837 -(29837) found -[7980] Forked 29838 -(29838) found -[7979] Forked 29839 -(29839) found -[7978] Forked 29840 -(29840) found -[7977] Forked 29841 -(29841) found -[7976] Forked 29842 -(29842) found -[7975] Forked 29843 -(29843) found -[7974] Forked 29844 -(29844) found -[7973] Forked 29845 -(29845) found -[7972] Forked 29846 -(29846) found -[7971] Forked 29847 -(29847) found -[7970] Forked 29848 -(29848) found -[7969] Forked 29849 -(29849) found -[7968] Forked 29850 -(29850) found -[7967] Forked 29851 -(29851) found -[7966] Forked 29852 -(29852) found -[7965] Forked 29853 -(29853) found -[7964] Forked 29854 -(29854) found -[7963] Forked 29855 -(29855) found -[7962] Forked 29856 -(29856) found -[7961] Forked 29857 -(29857) found -[7960] Forked 29858 -(29858) found -[7959] Forked 29859 -(29859) found -[7958] Forked 29860 -(29860) found -[7957] Forked 29861 -(29861) found -[7956] Forked 29862 -(29862) found -[7955] Forked 29863 -(29863) found -[7954] Forked 29864 -(29864) found -[7953] Forked 29865 -(29865) found -[7952] Forked 29866 -(29866) found -[7951] Forked 29867 -(29867) found -[7950] Forked 29868 -(29868) found -[7949] Forked 29869 -(29869) found -[7948] Forked 29870 -(29870) found -[7947] Forked 29871 -(29871) found -[7946] Forked 29872 -(29872) found -[7945] Forked 29873 -[7944] Forked 29874 -(29873) found -(29874) found -[7943] Forked 29875 -[7942] Forked 29876 -(29875) found -(29876) found -[7941] Forked 29877 -[7940] Forked 29878 -(29877) found -(29878) found -[7939] Forked 29879 -[7938] Forked 29880 -(29879) found -(29880) found -[7937] Forked 29881 -[7936] Forked 29882 -(29881) found -(29882) found -[7935] Forked 29883 -[7934] Forked 29884 -(29883) found -(29884) found -[7933] Forked 29885 -[7932] Forked 29886 -(29885) found -(29886) found -[7931] Forked 29887 -[7930] Forked 29888 -(29887) found -(29888) found -[7929] Forked 29889 -[7928] Forked 29890 -(29889) found -(29890) found -[7927] Forked 29891 -[7926] Forked 29892 -(29891) found -(29892) found -[7925] Forked 29893 -[7924] Forked 29894 -(29893) found -(29894) found -[7923] Forked 29895 -[7922] Forked 29896 -(29895) found -(29896) found -[7921] Forked 29897 -[7920] Forked 29898 -(29897) found -(29898) found -[7919] Forked 29899 -[7918] Forked 29900 -(29899) found -(29900) found -[7917] Forked 29901 -[7916] Forked 29902 -(29901) found -(29902) found -[7915] Forked 29903 -[7914] Forked 29904 -(29903) found -(29904) found -[7913] Forked 29905 -[7912] Forked 29906 -(29905) found -(29906) found -[7911] Forked 29907 -[7910] Forked 29908 -(29907) found -(29908) found -[7909] Forked 29909 -[7908] Forked 29910 -(29909) found -(29910) found -[7907] Forked 29911 -[7906] Forked 29912 -(29911) found -(29912) found -[7905] Forked 29913 -[7904] Forked 29914 -(29913) found -(29914) found -[7903] Forked 29915 -[7902] Forked 29916 -(29915) found -(29916) found -[7901] Forked 29917 -(29917) found -[7900] Forked 29918 -(29918) found -[7899] Forked 29919 -(29919) found -[7898] Forked 29920 -(29920) found -[7897] Forked 29921 -(29921) found -[7896] Forked 29922 -(29922) found -[7895] Forked 29923 -(29923) found -[7894] Forked 29924 -(29924) found -[7893] Forked 29925 -(29925) found -[7892] Forked 29926 -(29926) found -[7891] Forked 29927 -(29927) found -[7890] Forked 29928 -(29928) found -[7889] Forked 29929 -(29929) found -[7888] Forked 29930 -(29930) found -[7887] Forked 29931 -(29931) found -[7886] Forked 29932 -(29932) found -[7885] Forked 29933 -(29933) found -[7884] Forked 29934 -(29934) found -[7883] Forked 29935 -(29935) found -[7882] Forked 29936 -(29936) found -[7881] Forked 29937 -(29937) found -[7880] Forked 29938 -(29938) found -[7879] Forked 29939 -(29939) found -[7878] Forked 29940 -(29940) found -[7877] Forked 29941 -(29941) found -[7876] Forked 29942 -(29942) found -[7875] Forked 29943 -(29943) found -[7874] Forked 29944 -(29944) found -[7873] Forked 29945 -(29945) found -[7872] Forked 29946 -(29946) found -[7871] Forked 29947 -(29947) found -[7870] Forked 29948 -(29948) found -[7869] Forked 29949 -(29949) found -[7868] Forked 29950 -(29950) found -[7867] Forked 29951 -(29951) found -[7866] Forked 29952 -(29952) found -[7865] Forked 29953 -(29953) found -[7864] Forked 29954 -(29954) found -[7863] Forked 29955 -(29955) found -[7862] Forked 29956 -[7861] Forked 29957 -(29956) found -(29957) found -[7860] Forked 29958 -[7859] Forked 29959 -(29958) found -(29959) found -[7858] Forked 29960 -[7857] Forked 29961 -(29960) found -(29961) found -[7856] Forked 29962 -[7855] Forked 29963 -(29962) found -(29963) found -[7854] Forked 29964 -[7853] Forked 29965 -(29964) found -(29965) found -[7852] Forked 29966 -[7851] Forked 29967 -(29966) found -(29967) found -[7850] Forked 29968 -[7849] Forked 29969 -(29968) found -(29969) found -[7848] Forked 29970 -[7847] Forked 29972 -(29970) found -(29972) found -[7846] Forked 29973 -[7845] Forked 29974 -(29973) found -(29974) found -[7844] Forked 29975 -[7843] Forked 29976 -(29975) found -(29976) found -[7842] Forked 29977 -[7841] Forked 29978 -(29977) found -(29978) found -[7840] Forked 29979 -[7839] Forked 29980 -(29979) found -(29980) found -[7838] Forked 29981 -[7837] Forked 29982 -(29981) found -(29982) found -[7836] Forked 29983 -[7835] Forked 29984 -(29983) found -(29984) found -[7834] Forked 29985 -[7833] Forked 29986 -(29985) found -(29986) found -[7832] Forked 29987 -[7831] Forked 29988 -(29987) found -(29988) found -[7830] Forked 29989 -[7829] Forked 29990 -(29989) found -(29990) found -[7828] Forked 29991 -[7827] Forked 29992 -(29992) found -(29991) found -[7826] Forked 29993 -(29993) found -[7825] Forked 29994 -(29994) found -[7824] Forked 29995 -(29995) found -[7823] Forked 29996 -(29996) found -[7822] Forked 29997 -(29997) found -[7821] Forked 29998 -(29998) found -[7820] Forked 29999 -(29999) found -[7819] Forked 30000 -(30000) found -[7818] Forked 30001 -(30001) found -[7817] Forked 30002 -(30002) found -[7816] Forked 30003 -(30003) found -[7815] Forked 30004 -(30004) found -[7814] Forked 30005 -(30005) found -[7813] Forked 30006 -(30006) found -[7812] Forked 30007 -(30007) found -[7811] Forked 30008 -(30008) found -[7810] Forked 30009 -(30009) found -[7809] Forked 30010 -(30010) found -[7808] Forked 30011 -(30011) found -[7807] Forked 30012 -(30012) found -[7806] Forked 30013 -(30013) found -[7805] Forked 30014 -(30014) found -[7804] Forked 30015 -(30015) found -[7803] Forked 30016 -(30016) found -[7802] Forked 30017 -(30017) found -[7801] Forked 30018 -(30018) found -[7800] Forked 30019 -(30019) found -[7799] Forked 30020 -(30020) found -[7798] Forked 30021 -(30021) found -[7797] Forked 30022 -(30022) found -[7796] Forked 30023 -(30023) found -[7795] Forked 30024 -(30024) found -[7794] Forked 30025 -(30025) found -[7793] Forked 30026 -(30026) found -[7792] Forked 30027 -(30027) found -[7791] Forked 30028 -(30028) found -[7790] Forked 30029 -(30029) found -[7789] Forked 30030 -(30030) found -[7788] Forked 30031 -(30031) found -[7787] Forked 30032 -(30032) found -[7786] Forked 30033 -(30033) found -[7785] Forked 30034 -(30034) found -[7784] Forked 30035 -(30035) found -[7783] Forked 30036 -(30036) found -[7782] Forked 30037 -(30037) found -[7781] Forked 30038 -(30038) found -[7780] Forked 30039 -(30039) found -[7779] Forked 30040 -(30040) found -[7778] Forked 30041 -(30041) found -[7777] Forked 30042 -(30042) found -[7776] Forked 30043 -(30043) found -[7775] Forked 30044 -(30044) found -[7774] Forked 30045 -(30045) found -[7773] Forked 30046 -(30046) found -[7772] Forked 30047 -(30047) found -[7771] Forked 30048 -(30048) found -[7770] Forked 30049 -(30049) found -[7769] Forked 30050 -(30050) found -[7768] Forked 30051 -(30051) found -[7767] Forked 30052 -(30052) found -[7766] Forked 30053 -(30053) found -[7765] Forked 30054 -(30054) found -[7764] Forked 30055 -(30055) found -[7763] Forked 30056 -(30056) found -[7762] Forked 30057 -(30057) found -[7761] Forked 30058 -(30058) found -[7760] Forked 30059 -(30059) found -[7759] Forked 30060 -(30060) found -[7758] Forked 30061 -(30061) found -[7757] Forked 30062 -(30062) found -[7756] Forked 30063 -(30063) found -[7755] Forked 30064 -[7754] Forked 30065 -(30064) found -(30065) found -[7753] Forked 30066 -[7752] Forked 30067 -(30066) found -(30067) found -[7751] Forked 30068 -[7750] Forked 30069 -(30068) found -(30069) found -[7749] Forked 30070 -[7748] Forked 30071 -(30070) found -(30071) found -[7747] Forked 30072 -[7746] Forked 30073 -(30072) found -(30073) found -[7745] Forked 30074 -[7744] Forked 30075 -(30074) found -(30075) found -[7743] Forked 30076 -[7742] Forked 30077 -(30076) found -(30077) found -[7741] Forked 30078 -[7740] Forked 30079 -(30078) found -(30079) found -[7739] Forked 30080 -[7738] Forked 30081 -(30080) found -(30081) found -[7737] Forked 30083 -[7736] Forked 30084 -(30083) found -(30084) found -[7735] Forked 30085 -[7734] Forked 30086 -(30085) found -(30086) found -[7733] Forked 30087 -[7732] Forked 30088 -(30087) found -(30088) found -[7731] Forked 30089 -[7730] Forked 30090 -(30089) found -(30090) found -[7729] Forked 30091 -[7728] Forked 30092 -(30091) found -(30092) found -[7727] Forked 30093 -[7726] Forked 30094 -(30093) found -(30094) found -[7725] Forked 30095 -[7724] Forked 30096 -(30095) found -(30096) found -[7723] Forked 30097 -[7722] Forked 30098 -(30097) found -(30098) found -[7721] Forked 30099 -[7720] Forked 30100 -(30099) found -(30100) found -[7719] Forked 30101 -[7718] Forked 30102 -(30101) found -(30102) found -[7717] Forked 30103 -[7716] Forked 30104 -(30103) found -(30104) found -[7715] Forked 30105 -[7714] Forked 30106 -(30105) found -(30106) found -[7713] Forked 30107 -[7712] Forked 30108 -(30107) found -(30108) found -[7711] Forked 30109 -[7710] Forked 30110 -(30109) found -(30110) found -[7709] Forked 30111 -(30111) found -[7708] Forked 30112 -(30112) found -[7707] Forked 30113 -(30113) found -[7706] Forked 30114 -(30114) found -[7705] Forked 30115 -(30115) found -[7704] Forked 30116 -(30116) found -[7703] Forked 30117 -(30117) found -[7702] Forked 30118 -(30118) found -[7701] Forked 30119 -(30119) found -[7700] Forked 30120 -(30120) found -[7699] Forked 30121 -(30121) found -[7698] Forked 30122 -(30122) found -[7697] Forked 30123 -(30123) found -[7696] Forked 30124 -(30124) found -[7695] Forked 30125 -(30125) found -[7694] Forked 30126 -(30126) found -[7693] Forked 30127 -(30127) found -[7692] Forked 30128 -(30128) found -[7691] Forked 30129 -(30129) found -[7690] Forked 30130 -(30130) found -[7689] Forked 30131 -(30131) found -[7688] Forked 30132 -(30132) found -[7687] Forked 30133 -(30133) found -[7686] Forked 30134 -(30134) found -[7685] Forked 30135 -(30135) found -[7684] Forked 30136 -(30136) found -[7683] Forked 30137 -(30137) found -[7682] Forked 30138 -(30138) found -[7681] Forked 30139 -(30139) found -[7680] Forked 30140 -(30140) found -[7679] Forked 30141 -(30141) found -[7678] Forked 30142 -(30142) found -[7677] Forked 30143 -(30143) found -[7676] Forked 30144 -(30144) found -[7675] Forked 30145 -[7674] Forked 30146 -(30145) found -(30146) found -[7673] Forked 30147 -[7672] Forked 30148 -(30148) found -(30147) found -[7671] Forked 30149 -(30149) found -[7670] Forked 30150 -(30150) found -[7669] Forked 30151 -(30151) found -[7668] Forked 30152 -(30152) found -[7667] Forked 30153 -(30153) found -[7666] Forked 30154 -(30154) found -[7665] Forked 30155 -(30155) found -[7664] Forked 30156 -(30156) found -[7663] Forked 30157 -(30157) found -[7662] Forked 30158 -(30158) found -[7661] Forked 30159 -(30159) found -[7660] Forked 30160 -(30160) found -[7659] Forked 30161 -(30161) found -[7658] Forked 30162 -(30162) found -[7657] Forked 30163 -(30163) found -[7656] Forked 30164 -(30164) found -[7655] Forked 30165 -(30165) found -[7654] Forked 30166 -(30166) found -[7653] Forked 30167 -(30167) found -[7652] Forked 30168 -(30168) found -[7651] Forked 30169 -(30169) found -[7650] Forked 30170 -(30170) found -[7649] Forked 30171 -(30171) found -[7648] Forked 30172 -(30172) found -[7647] Forked 30173 -(30173) found -[7646] Forked 30174 -(30174) found -[7645] Forked 30175 -(30175) found -[7644] Forked 30176 -(30176) found -[7643] Forked 30177 -(30177) found -[7642] Forked 30178 -(30178) found -[7641] Forked 30179 -(30179) found -[7640] Forked 30180 -(30180) found -[7639] Forked 30181 -(30181) found -[7638] Forked 30182 -(30182) found -[7637] Forked 30183 -(30183) found -[7636] Forked 30184 -(30184) found -[7635] Forked 30185 -(30185) found -[7634] Forked 30186 -(30186) found -[7633] Forked 30187 -(30187) found -[7632] Forked 30188 -(30188) found -[7631] Forked 30189 -(30189) found -[7630] Forked 30190 -(30190) found -[7629] Forked 30191 -(30191) found -[7628] Forked 30192 -(30192) found -[7627] Forked 30193 -(30193) found -[7626] Forked 30194 -(30194) found -[7625] Forked 30195 -(30195) found -[7624] Forked 30196 -(30196) found -[7623] Forked 30197 -(30197) found -[7622] Forked 30198 -(30198) found -[7621] Forked 30199 -(30199) found -[7620] Forked 30200 -(30200) found -[7619] Forked 30201 -(30201) found -[7618] Forked 30202 -(30202) found -[7617] Forked 30203 -(30203) found -[7616] Forked 30204 -(30204) found -[7615] Forked 30205 -(30205) found -[7614] Forked 30206 -(30206) found -[7613] Forked 30207 -(30207) found -[7612] Forked 30208 -(30208) found -[7611] Forked 30209 -(30209) found -[7610] Forked 30210 -(30210) found -[7609] Forked 30211 -(30211) found -[7608] Forked 30212 -(30212) found -[7607] Forked 30213 -(30213) found -[7606] Forked 30214 -(30214) found -[7605] Forked 30215 -(30215) found -[7604] Forked 30216 -(30216) found -[7603] Forked 30217 -(30217) found -[7602] Forked 30218 -(30218) found -[7601] Forked 30219 -(30219) found -[7600] Forked 30220 -(30220) found -[7599] Forked 30221 -(30221) found -[7598] Forked 30222 -(30222) found -[7597] Forked 30223 -(30223) found -[7596] Forked 30224 -(30224) found -[7595] Forked 30225 -(30225) found -[7594] Forked 30226 -(30226) found -[7593] Forked 30227 -(30227) found -[7592] Forked 30228 -(30228) found -[7591] Forked 30229 -(30229) found -[7590] Forked 30230 -(30230) found -[7589] Forked 30231 -(30231) found -[7588] Forked 30232 -(30232) found -[7587] Forked 30233 -(30233) found -[7586] Forked 30234 -(30234) found -[7585] Forked 30235 -(30235) found -[7584] Forked 30236 -(30236) found -[7583] Forked 30237 -(30237) found -[7582] Forked 30238 -(30238) found -[7581] Forked 30239 -(30239) found -[7580] Forked 30240 -(30240) found -[7579] Forked 30241 -(30241) found -[7578] Forked 30242 -(30242) found -[7577] Forked 30243 -(30243) found -[7576] Forked 30244 -(30244) found -[7575] Forked 30245 -(30245) found -[7574] Forked 30246 -(30246) found -[7573] Forked 30247 -(30247) found -[7572] Forked 30248 -(30248) found -[7571] Forked 30249 -(30249) found -[7570] Forked 30250 -(30250) found -[7569] Forked 30251 -(30251) found -[7568] Forked 30252 -(30252) found -[7567] Forked 30253 -(30253) found -[7566] Forked 30254 -(30254) found -[7565] Forked 30255 -(30255) found -[7564] Forked 30256 -(30256) found -[7563] Forked 30257 -(30257) found -[7562] Forked 30258 -(30258) found -[7561] Forked 30259 -(30259) found -[7560] Forked 30260 -(30260) found -[7559] Forked 30261 -(30261) found -[7558] Forked 30262 -(30262) found -[7557] Forked 30263 -(30263) found -[7556] Forked 30264 -(30264) found -[7555] Forked 30265 -(30265) found -[7554] Forked 30266 -(30266) found -[7553] Forked 30267 -(30267) found -[7552] Forked 30268 -(30268) found -[7551] Forked 30269 -(30269) found -[7550] Forked 30270 -(30270) found -[7549] Forked 30271 -(30271) found -[7548] Forked 30272 -(30272) found -[7547] Forked 30273 -(30273) found -[7546] Forked 30274 -(30274) found -[7545] Forked 30275 -(30275) found -[7544] Forked 30276 -(30276) found -[7543] Forked 30277 -(30277) found -[7542] Forked 30278 -(30278) found -[7541] Forked 30279 -(30279) found -[7540] Forked 30280 -(30280) found -[7539] Forked 30281 -[7538] Forked 30282 -(30281) found -(30282) found -[7537] Forked 30283 -[7536] Forked 30284 -(30283) found -(30284) found -[7535] Forked 30285 -[7534] Forked 30286 -(30285) found -(30286) found -[7533] Forked 30287 -[7532] Forked 30288 -(30287) found -(30288) found -[7531] Forked 30289 -[7530] Forked 30290 -(30290) found -(30289) found -[7529] Forked 30291 -(30291) found -[7528] Forked 30292 -(30292) found -[7527] Forked 30293 -(30293) found -[7526] Forked 30294 -(30294) found -[7525] Forked 30295 -(30295) found -[7524] Forked 30296 -(30296) found -[7523] Forked 30297 -(30297) found -[7522] Forked 30298 -(30298) found -[7521] Forked 30299 -(30299) found -[7520] Forked 30300 -(30300) found -[7519] Forked 30301 -(30301) found -[7518] Forked 30302 -(30302) found -[7517] Forked 30303 -(30303) found -[7516] Forked 30304 -(30304) found -[7515] Forked 30305 -(30305) found -[7514] Forked 30306 -(30306) found -[7513] Forked 30307 -(30307) found -[7512] Forked 30308 -(30308) found -[7511] Forked 30309 -(30309) found -[7510] Forked 30310 -(30310) found -[7509] Forked 30311 -(30311) found -[7508] Forked 30312 -(30312) found -[7507] Forked 30313 -(30313) found -[7506] Forked 30314 -(30314) found -[7505] Forked 30315 -(30315) found -[7504] Forked 30316 -(30316) found -[7503] Forked 30317 -(30317) found -[7502] Forked 30318 -(30318) found -[7501] Forked 30319 -(30319) found -[7500] Forked 30320 -(30320) found -[7499] Forked 30321 -(30321) found -[7498] Forked 30322 -(30322) found -[7497] Forked 30323 -(30323) found -[7496] Forked 30324 -(30324) found -[7495] Forked 30325 -(30325) found -[7494] Forked 30326 -(30326) found -[7493] Forked 30327 -(30327) found -[7492] Forked 30328 -(30328) found -[7491] Forked 30329 -(30329) found -[7490] Forked 30330 -(30330) found -[7489] Forked 30331 -(30331) found -[7488] Forked 30332 -(30332) found -[7487] Forked 30333 -(30333) found -[7486] Forked 30334 -(30334) found -[7485] Forked 30335 -(30335) found -[7484] Forked 30336 -(30336) found -[7483] Forked 30337 -(30337) found -[7482] Forked 30338 -(30338) found -[7481] Forked 30339 -(30339) found -[7480] Forked 30340 -(30340) found -[7479] Forked 30341 -(30341) found -[7478] Forked 30342 -(30342) found -[7477] Forked 30343 -(30343) found -[7476] Forked 30344 -(30344) found -[7475] Forked 30345 -(30345) found -[7474] Forked 30346 -(30346) found -[7473] Forked 30347 -(30347) found -[7472] Forked 30348 -(30348) found -[7471] Forked 30349 -(30349) found -[7470] Forked 30350 -(30350) found -[7469] Forked 30351 -(30351) found -[7468] Forked 30352 -(30352) found -[7467] Forked 30353 -(30353) found -[7466] Forked 30354 -[7465] Forked 30355 -(30354) found -(30355) found -[7464] Forked 30356 -[7463] Forked 30357 -(30356) found -(30357) found -[7462] Forked 30358 -[7461] Forked 30359 -(30358) found -(30359) found -[7460] Forked 30360 -[7459] Forked 30361 -(30360) found -(30361) found -[7458] Forked 30362 -[7457] Forked 30363 -(30362) found -(30363) found -[7456] Forked 30364 -[7455] Forked 30365 -(30364) found -(30365) found -[7454] Forked 30366 -[7453] Forked 30367 -(30366) found -(30367) found -[7452] Forked 30368 -[7451] Forked 30369 -(30368) found -(30369) found -[7450] Forked 30370 -[7449] Forked 30371 -(30370) found -(30371) found -[7448] Forked 30372 -[7447] Forked 30373 -(30372) found -(30373) found -[7446] Forked 30374 -[7445] Forked 30375 -(30374) found -(30375) found -[7444] Forked 30376 -[7443] Forked 30377 -(30376) found -(30377) found -[7442] Forked 30378 -[7441] Forked 30379 -(30378) found -(30379) found -[7440] Forked 30380 -[7439] Forked 30381 -(30380) found -(30381) found -[7438] Forked 30382 -[7437] Forked 30383 -(30382) found -(30383) found -[7436] Forked 30384 -[7435] Forked 30385 -(30384) found -(30385) found -[7434] Forked 30386 -[7433] Forked 30387 -(30386) found -(30387) found -[7432] Forked 30388 -[7431] Forked 30389 -(30388) found -(30389) found -[7430] Forked 30390 -[7429] Forked 30391 -(30390) found -(30391) found -[7428] Forked 30392 -[7427] Forked 30393 -(30392) found -(30393) found -[7426] Forked 30394 -[7425] Forked 30395 -(30394) found -(30395) found -[7424] Forked 30396 -[7423] Forked 30397 -(30396) found -(30397) found -[7422] Forked 30398 -[7421] Forked 30399 -(30398) found -(30399) found -[7420] Forked 30400 -(30400) found -[7419] Forked 30401 -(30401) found -[7418] Forked 30402 -(30402) found -[7417] Forked 30403 -(30403) found -[7416] Forked 30404 -(30404) found -[7415] Forked 30405 -(30405) found -[7414] Forked 30406 -(30406) found -[7413] Forked 30407 -(30407) found -[7412] Forked 30408 -(30408) found -[7411] Forked 30409 -(30409) found -[7410] Forked 30410 -(30410) found -[7409] Forked 30411 -(30411) found -[7408] Forked 30412 -(30412) found -[7407] Forked 30413 -(30413) found -[7406] Forked 30414 -(30414) found -[7405] Forked 30415 -(30415) found -[7404] Forked 30416 -(30416) found -[7403] Forked 30417 -(30417) found -[7402] Forked 30418 -(30418) found -[7401] Forked 30419 -(30419) found -[7400] Forked 30420 -(30420) found -[7399] Forked 30421 -(30421) found -[7398] Forked 30422 -(30422) found -[7397] Forked 30423 -(30423) found -[7396] Forked 30424 -(30424) found -[7395] Forked 30425 -(30425) found -[7394] Forked 30426 -(30426) found -[7393] Forked 30427 -(30427) found -[7392] Forked 30428 -(30428) found -[7391] Forked 30429 -(30429) found -[7390] Forked 30430 -(30430) found -[7389] Forked 30431 -(30431) found -[7388] Forked 30432 -(30432) found -[7387] Forked 30433 -(30433) found -[7386] Forked 30434 -[7385] Forked 30435 -(30434) found -(30435) found -[7384] Forked 30436 -[7383] Forked 30437 -(30436) found -(30437) found -[7382] Forked 30438 -[7381] Forked 30439 -(30438) found -(30439) found -[7380] Forked 30440 -[7379] Forked 30441 -(30440) found -(30441) found -[7378] Forked 30442 -[7377] Forked 30443 -(30442) found -(30443) found -[7376] Forked 30444 -[7375] Forked 30445 -(30444) found -(30445) found -[7374] Forked 30446 -[7373] Forked 30447 -(30446) found -(30447) found -[7372] Forked 30448 -[7371] Forked 30449 -(30448) found -(30449) found -[7370] Forked 30450 -[7369] Forked 30451 -(30450) found -(30451) found -[7368] Forked 30452 -[7367] Forked 30453 -(30452) found -(30453) found -[7366] Forked 30454 -[7365] Forked 30455 -(30454) found -(30455) found -[7364] Forked 30456 -[7363] Forked 30457 -(30456) found -(30457) found -[7362] Forked 30458 -[7361] Forked 30459 -(30458) found -(30459) found -[7360] Forked 30460 -[7359] Forked 30461 -(30460) found -(30461) found -[7358] Forked 30462 -[7357] Forked 30463 -(30462) found -(30463) found -[7356] Forked 30464 -[7355] Forked 30465 -(30464) found -(30465) found -[7354] Forked 30466 -[7353] Forked 30467 -(30466) found -(30467) found -[7352] Forked 30468 -[7351] Forked 30469 -(30468) found -(30469) found -[7350] Forked 30470 -[7349] Forked 30471 -(30470) found -(30471) found -[7348] Forked 30472 -[7347] Forked 30473 -(30472) found -(30473) found -[7346] Forked 30474 -[7345] Forked 30475 -(30474) found -(30475) found -[7344] Forked 30476 -[7343] Forked 30477 -(30476) found -(30477) found -[7342] Forked 30478 -[7341] Forked 30479 -(30478) found -(30479) found -[7340] Forked 30480 -[7339] Forked 30481 -(30480) found -(30481) found -[7338] Forked 30482 -[7337] Forked 30483 -(30482) found -(30483) found -[7336] Forked 30484 -[7335] Forked 30485 -(30484) found -(30485) found -[7334] Forked 30486 -[7333] Forked 30487 -(30486) found -(30487) found -[7332] Forked 30488 -[7331] Forked 30489 -(30488) found -(30489) found -[7330] Forked 30490 -[7329] Forked 30491 -(30490) found -(30491) found -[7328] Forked 30492 -[7327] Forked 30493 -(30492) found -(30493) found -[7326] Forked 30494 -[7325] Forked 30495 -(30494) found -(30495) found -[7324] Forked 30496 -[7323] Forked 30497 -(30496) found -(30497) found -[7322] Forked 30498 -[7321] Forked 30499 -(30498) found -(30499) found -[7320] Forked 30500 -[7319] Forked 30501 -(30500) found -(30501) found -[7318] Forked 30502 -[7317] Forked 30503 -(30502) found -(30503) found -[7316] Forked 30504 -[7315] Forked 30505 -(30504) found -(30505) found -[7314] Forked 30506 -[7313] Forked 30507 -(30506) found -(30507) found -[7312] Forked 30509 -(30509) found -[7311] Forked 30510 -(30510) found -[7310] Forked 30511 -[7309] Forked 30512 -(30511) found -(30512) found -[7308] Forked 30513 -[7307] Forked 30515 -(30513) found -(30515) found -[7306] Forked 30516 -[7305] Forked 30517 -(30516) found -(30517) found -[7304] Forked 30518 -[7303] Forked 30519 -(30518) found -(30519) found -[7302] Forked 30521 -[7301] Forked 30522 -(30521) found -(30522) found -[7300] Forked 30523 -[7299] Forked 30524 -(30523) found -(30524) found -[7298] Forked 30525 -[7297] Forked 30526 -(30525) found -(30526) found -[7296] Forked 30528 -(30528) found -[7295] Forked 30529 -(30529) found -[7294] Forked 30530 -(30530) found -[7293] Forked 30531 -(30531) found -[7292] Forked 30532 -(30532) found -[7291] Forked 30534 -(30534) found -[7290] Forked 30535 -(30535) found -[7289] Forked 30536 -(30536) found -[7288] Forked 30537 -(30537) found -[7287] Forked 30538 -(30538) found -[7286] Forked 30540 -(30540) found -[7285] Forked 30541 -(30541) found -[7284] Forked 30542 -(30542) found -[7283] Forked 30543 -(30543) found -[7282] Forked 30544 -(30544) found -[7281] Forked 30545 -(30545) found -[7280] Forked 30546 -(30546) found -[7279] Forked 30547 -(30547) found -[7278] Forked 30548 -(30548) found -[7277] Forked 30549 -(30549) found -[7276] Forked 30550 -(30550) found -[7275] Forked 30551 -(30551) found -[7274] Forked 30552 -(30552) found -[7273] Forked 30553 -(30553) found -[7272] Forked 30554 -(30554) found -[7271] Forked 30555 -(30555) found -[7270] Forked 30556 -(30556) found -[7269] Forked 30557 -(30557) found -[7268] Forked 30558 -(30558) found -[7267] Forked 30559 -(30559) found -[7266] Forked 30560 -(30560) found -[7265] Forked 30561 -(30561) found -[7264] Forked 30562 -(30562) found -[7263] Forked 30563 -(30563) found -[7262] Forked 30564 -(30564) found -[7261] Forked 30565 -(30565) found -[7260] Forked 30566 -(30566) found -[7259] Forked 30567 -(30567) found -[7258] Forked 30568 -(30568) found -[7257] Forked 30569 -(30569) found -[7256] Forked 30570 -(30570) found -[7255] Forked 30571 -(30571) found -[7254] Forked 30572 -(30572) found -[7253] Forked 30573 -(30573) found -[7252] Forked 30574 -(30574) found -[7251] Forked 30575 -(30575) found -[7250] Forked 30576 -(30576) found -[7249] Forked 30577 -(30577) found -[7248] Forked 30578 -(30578) found -[7247] Forked 30579 -(30579) found -[7246] Forked 30580 -(30580) found -[7245] Forked 30581 -(30581) found -[7244] Forked 30582 -(30582) found -[7243] Forked 30583 -(30583) found -[7242] Forked 30584 -(30584) found -[7241] Forked 30585 -(30585) found -[7240] Forked 30586 -(30586) found -[7239] Forked 30587 -(30587) found -[7238] Forked 30588 -(30588) found -[7237] Forked 30589 -(30589) found -[7236] Forked 30590 -(30590) found -[7235] Forked 30591 -(30591) found -[7234] Forked 30592 -(30592) found -[7233] Forked 30593 -(30593) found -[7232] Forked 30594 -(30594) found -[7231] Forked 30595 -(30595) found -[7230] Forked 30596 -(30596) found -[7229] Forked 30597 -(30597) found -[7228] Forked 30598 -(30598) found -[7227] Forked 30599 -(30599) found -[7226] Forked 30600 -(30600) found -[7225] Forked 30601 -(30601) found -[7224] Forked 30602 -(30602) found -[7223] Forked 30603 -(30603) found -[7222] Forked 30604 -(30604) found -[7221] Forked 30605 -(30605) found -[7220] Forked 30606 -[7219] Forked 30607 -(30606) found -(30607) found -[7218] Forked 30608 -[7217] Forked 30609 -(30608) found -(30609) found -[7216] Forked 30610 -[7215] Forked 30611 -(30610) found -(30611) found -[7214] Forked 30612 -[7213] Forked 30613 -(30612) found -(30613) found -[7212] Forked 30614 -[7211] Forked 30615 -(30614) found -(30615) found -[7210] Forked 30616 -[7209] Forked 30617 -(30616) found -(30617) found -[7208] Forked 30618 -[7207] Forked 30619 -(30618) found -(30619) found -[7206] Forked 30620 -[7205] Forked 30621 -(30620) found -(30621) found -[7204] Forked 30622 -[7203] Forked 30623 -(30622) found -(30623) found -[7202] Forked 30624 -[7201] Forked 30625 -(30624) found -(30625) found -[7200] Forked 30626 -[7199] Forked 30627 -(30627) found -(30626) found -[7198] Forked 30628 -(30628) found -[7197] Forked 30629 -(30629) found -[7196] Forked 30630 -(30630) found -[7195] Forked 30631 -(30631) found -[7194] Forked 30632 -(30632) found -[7193] Forked 30633 -(30633) found -[7192] Forked 30634 -(30634) found -[7191] Forked 30635 -(30635) found -[7190] Forked 30636 -(30636) found -[7189] Forked 30637 -(30637) found -[7188] Forked 30638 -(30638) found -[7187] Forked 30639 -(30639) found -[7186] Forked 30640 -(30640) found -[7185] Forked 30641 -(30641) found -[7184] Forked 30642 -(30642) found -[7183] Forked 30643 -(30643) found -[7182] Forked 30644 -(30644) found -[7181] Forked 30645 -(30645) found -[7180] Forked 30646 -(30646) found -[7179] Forked 30647 -(30647) found -[7178] Forked 30648 -(30648) found -[7177] Forked 30649 -(30649) found -[7176] Forked 30650 -(30650) found -[7175] Forked 30651 -(30651) found -[7174] Forked 30652 -(30652) found -[7173] Forked 30653 -(30653) found -[7172] Forked 30654 -(30654) found -[7171] Forked 30655 -(30655) found -[7170] Forked 30656 -(30656) found -[7169] Forked 30657 -(30657) found -[7168] Forked 30658 -(30658) found -[7167] Forked 30659 -(30659) found -[7166] Forked 30660 -(30660) found -[7165] Forked 30661 -(30661) found -[7164] Forked 30662 -(30662) found -[7163] Forked 30663 -(30663) found -[7162] Forked 30664 -(30664) found -[7161] Forked 30665 -(30665) found -[7160] Forked 30666 -(30666) found -[7159] Forked 30667 -(30667) found -[7158] Forked 30668 -(30668) found -[7157] Forked 30669 -(30669) found -[7156] Forked 30670 -(30670) found -[7155] Forked 30671 -(30671) found -[7154] Forked 30672 -(30672) found -[7153] Forked 30673 -(30673) found -[7152] Forked 30674 -(30674) found -[7151] Forked 30675 -(30675) found -[7150] Forked 30676 -(30676) found -[7149] Forked 30677 -(30677) found -[7148] Forked 30678 -[7147] Forked 30679 -(30678) found -(30679) found -[7146] Forked 30680 -[7145] Forked 30681 -(30680) found -(30681) found -[7144] Forked 30682 -[7143] Forked 30683 -(30682) found -(30683) found -[7142] Forked 30684 -[7141] Forked 30685 -(30684) found -(30685) found -[7140] Forked 30686 -[7139] Forked 30687 -(30686) found -(30687) found -[7138] Forked 30688 -[7137] Forked 30689 -(30688) found -(30689) found -[7136] Forked 30690 -[7135] Forked 30691 -(30690) found -(30691) found -[7134] Forked 30692 -[7133] Forked 30693 -(30692) found -(30693) found -[7132] Forked 30694 -[7131] Forked 30695 -(30694) found -(30695) found -[7130] Forked 30696 -[7129] Forked 30697 -(30696) found -(30697) found -[7128] Forked 30698 -[7127] Forked 30699 -(30698) found -(30699) found -[7126] Forked 30700 -[7125] Forked 30701 -(30700) found -(30701) found -[7124] Forked 30702 -[7123] Forked 30703 -(30702) found -(30703) found -[7122] Forked 30704 -[7121] Forked 30705 -(30704) found -(30705) found -[7120] Forked 30706 -[7119] Forked 30707 -(30706) found -(30707) found -[7118] Forked 30708 -[7117] Forked 30709 -(30708) found -(30709) found -[7116] Forked 30710 -[7115] Forked 30711 -(30710) found -(30711) found -[7114] Forked 30712 -[7113] Forked 30713 -(30712) found -(30713) found -[7112] Forked 30714 -[7111] Forked 30715 -(30714) found -(30715) found -[7110] Forked 30716 -[7109] Forked 30717 -(30716) found -(30717) found -[7108] Forked 30718 -[7107] Forked 30719 -(30718) found -(30719) found -[7106] Forked 30720 -[7105] Forked 30721 -(30720) found -(30721) found -[7104] Forked 30722 -[7103] Forked 30723 -(30722) found -(30723) found -[7102] Forked 30724 -(30724) found -[7101] Forked 30725 -(30725) found -[7100] Forked 30726 -(30726) found -[7099] Forked 30727 -(30727) found -[7098] Forked 30728 -(30728) found -[7097] Forked 30729 -(30729) found -[7096] Forked 30730 -(30730) found -[7095] Forked 30731 -(30731) found -[7094] Forked 30732 -(30732) found -[7093] Forked 30733 -(30733) found -[7092] Forked 30734 -(30734) found -[7091] Forked 30735 -(30735) found -[7090] Forked 30736 -(30736) found -[7089] Forked 30737 -(30737) found -[7088] Forked 30738 -(30738) found -[7087] Forked 30739 -(30739) found -[7086] Forked 30740 -(30740) found -[7085] Forked 30741 -(30741) found -[7084] Forked 30742 -(30742) found -[7083] Forked 30743 -(30743) found -[7082] Forked 30744 -(30744) found -[7081] Forked 30745 -(30745) found -[7080] Forked 30746 -(30746) found -[7079] Forked 30747 -(30747) found -[7078] Forked 30748 -(30748) found -[7077] Forked 30749 -(30749) found -[7076] Forked 30750 -(30750) found -[7075] Forked 30751 -(30751) found -[7074] Forked 30752 -(30752) found -[7073] Forked 30753 -(30753) found -[7072] Forked 30754 -(30754) found -[7071] Forked 30755 -(30755) found -[7070] Forked 30756 -(30756) found -[7069] Forked 30757 -(30757) found -[7068] Forked 30758 -(30758) found -[7067] Forked 30759 -[7066] Forked 30760 -(30759) found -(30760) found -[7065] Forked 30761 -[7064] Forked 30762 -(30761) found -(30762) found -[7063] Forked 30763 -[7062] Forked 30764 -(30764) found -(30763) found -[7061] Forked 30765 -(30765) found -[7060] Forked 30766 -(30766) found -[7059] Forked 30767 -(30767) found -[7058] Forked 30768 -(30768) found -[7057] Forked 30769 -(30769) found -[7056] Forked 30770 -(30770) found -[7055] Forked 30771 -(30771) found -[7054] Forked 30772 -(30772) found -[7053] Forked 30773 -(30773) found -[7052] Forked 30774 -(30774) found -[7051] Forked 30775 -(30775) found -[7050] Forked 30776 -(30776) found -[7049] Forked 30777 -(30777) found -[7048] Forked 30778 -(30778) found -[7047] Forked 30779 -(30779) found -[7046] Forked 30780 -(30780) found -[7045] Forked 30781 -(30781) found -[7044] Forked 30782 -(30782) found -[7043] Forked 30783 -(30783) found -[7042] Forked 30784 -(30784) found -[7041] Forked 30785 -(30785) found -[7040] Forked 30786 -(30786) found -[7039] Forked 30787 -(30787) found -[7038] Forked 30788 -(30788) found -[7037] Forked 30789 -(30789) found -[7036] Forked 30790 -(30790) found -[7035] Forked 30791 -(30791) found -[7034] Forked 30792 -(30792) found -[7033] Forked 30793 -(30793) found -[7032] Forked 30794 -(30794) found -[7031] Forked 30795 -(30795) found -[7030] Forked 30796 -(30796) found -[7029] Forked 30797 -(30797) found -[7028] Forked 30798 -(30798) found -[7027] Forked 30799 -(30799) found -[7026] Forked 30800 -(30800) found -[7025] Forked 30801 -(30801) found -[7024] Forked 30802 -(30802) found -[7023] Forked 30803 -(30803) found -[7022] Forked 30804 -(30804) found -[7021] Forked 30805 -(30805) found -[7020] Forked 30806 -(30806) found -[7019] Forked 30807 -(30807) found -[7018] Forked 30808 -(30808) found -[7017] Forked 30809 -(30809) found -[7016] Forked 30810 -(30810) found -[7015] Forked 30811 -(30811) found -[7014] Forked 30812 -(30812) found -[7013] Forked 30813 -(30813) found -[7012] Forked 30814 -(30814) found -[7011] Forked 30815 -(30815) found -[7010] Forked 30816 -(30816) found -[7009] Forked 30817 -(30817) found -[7008] Forked 30818 -(30818) found -[7007] Forked 30819 -(30819) found -[7006] Forked 30820 -(30820) found -[7005] Forked 30821 -(30821) found -[7004] Forked 30822 -(30822) found -[7003] Forked 30823 -(30823) found -[7002] Forked 30824 -(30824) found -[7001] Forked 30825 -(30825) found -[7000] Forked 30826 -(30826) found -[6999] Forked 30827 -(30827) found -[6998] Forked 30828 -(30828) found -[6997] Forked 30829 -[6996] Forked 30831 -(30829) found -(30831) found -[6995] Forked 30832 -[6994] Forked 30833 -(30832) found -(30833) found -[6993] Forked 30834 -[6992] Forked 30835 -(30834) found -(30835) found -[6991] Forked 30837 -[6990] Forked 30838 -(30837) found -(30838) found -[6989] Forked 30839 -[6988] Forked 30840 -(30839) found -(30840) found -[6987] Forked 30841 -[6986] Forked 30843 -(30841) found -(30843) found -[6985] Forked 30844 -[6984] Forked 30845 -(30844) found -(30845) found -[6983] Forked 30846 -[6982] Forked 30847 -(30846) found -(30847) found -[6981] Forked 30849 -[6980] Forked 30850 -(30849) found -(30850) found -[6979] Forked 30851 -[6978] Forked 30852 -(30851) found -(30852) found -[6977] Forked 30853 -[6976] Forked 30855 -(30853) found -(30855) found -[6975] Forked 30856 -[6974] Forked 30857 -(30856) found -(30857) found -[6973] Forked 30858 -[6972] Forked 30859 -(30858) found -(30859) found -[6971] Forked 30861 -[6970] Forked 30862 -(30861) found -(30862) found -[6969] Forked 30863 -[6968] Forked 30864 -(30863) found -(30864) found -[6967] Forked 30865 -[6966] Forked 30866 -(30865) found -(30866) found -[6965] Forked 30867 -[6964] Forked 30868 -(30867) found -(30868) found -[6963] Forked 30869 -[6962] Forked 30870 -(30869) found -(30870) found -[6961] Forked 30871 -[6960] Forked 30872 -(30871) found -(30872) found -[6959] Forked 30873 -[6958] Forked 30874 -(30873) found -(30874) found -[6957] Forked 30875 -[6956] Forked 30876 -(30875) found -(30876) found -[6955] Forked 30877 -[6954] Forked 30878 -(30877) found -(30878) found -[6953] Forked 30879 -[6952] Forked 30880 -(30879) found -(30880) found -[6951] Forked 30881 -[6950] Forked 30882 -(30881) found -(30882) found -[6949] Forked 30883 -[6948] Forked 30884 -(30883) found -(30884) found -[6947] Forked 30885 -[6946] Forked 30886 -(30885) found -(30886) found -[6945] Forked 30887 -[6944] Forked 30888 -(30887) found -(30888) found -[6943] Forked 30889 -[6942] Forked 30890 -(30889) found -(30890) found -[6941] Forked 30891 -[6940] Forked 30892 -(30891) found -(30892) found -[6939] Forked 30893 -[6938] Forked 30894 -(30893) found -(30894) found -[6937] Forked 30895 -[6936] Forked 30896 -(30895) found -(30896) found -[6935] Forked 30897 -[6934] Forked 30898 -(30897) found -(30898) found -[6933] Forked 30899 -[6932] Forked 30900 -(30899) found -(30900) found -[6931] Forked 30901 -[6930] Forked 30902 -(30901) found -(30902) found -[6929] Forked 30903 -[6928] Forked 30904 -(30903) found -(30904) found -[6927] Forked 30905 -[6926] Forked 30906 -(30905) found -(30906) found -[6925] Forked 30907 -[6924] Forked 30908 -(30907) found -(30908) found -[6923] Forked 30909 -[6922] Forked 30910 -(30909) found -(30910) found -[6921] Forked 30911 -[6920] Forked 30912 -(30911) found -(30912) found -[6919] Forked 30913 -[6918] Forked 30914 -(30913) found -(30914) found -[6917] Forked 30915 -[6916] Forked 30916 -(30915) found -(30916) found -[6915] Forked 30917 -[6914] Forked 30918 -(30917) found -(30918) found -[6913] Forked 30919 -[6912] Forked 30920 -(30919) found -(30920) found -[6911] Forked 30921 -[6910] Forked 30923 -(30921) found -(30923) found -[6909] Forked 30924 -(30924) found -[6908] Forked 30925 -(30925) found -[6907] Forked 30926 -(30926) found -[6906] Forked 30927 -(30927) found -[6905] Forked 30928 -(30928) found -[6904] Forked 30929 -(30929) found -[6903] Forked 30930 -(30930) found -[6902] Forked 30931 -(30931) found -[6901] Forked 30932 -(30932) found -[6900] Forked 30933 -(30933) found -[6899] Forked 30934 -(30934) found -[6898] Forked 30935 -(30935) found -[6897] Forked 30936 -(30936) found -[6896] Forked 30937 -(30937) found -[6895] Forked 30938 -(30938) found -[6894] Forked 30939 -(30939) found -[6893] Forked 30940 -(30940) found -[6892] Forked 30941 -(30941) found -[6891] Forked 30942 -(30942) found -[6890] Forked 30943 -(30943) found -[6889] Forked 30944 -(30944) found -[6888] Forked 30945 -(30945) found -[6887] Forked 30946 -(30946) found -[6886] Forked 30947 -(30947) found -[6885] Forked 30948 -(30948) found -[6884] Forked 30949 -(30949) found -[6883] Forked 30950 -(30950) found -[6882] Forked 30951 -(30951) found -[6881] Forked 30952 -(30952) found -[6880] Forked 30953 -(30953) found -[6879] Forked 30954 -(30954) found -[6878] Forked 30955 -(30955) found -[6877] Forked 30956 -(30956) found -[6876] Forked 30957 -(30957) found -[6875] Forked 30958 -(30958) found -[6874] Forked 30959 -(30959) found -[6873] Forked 30960 -(30960) found -[6872] Forked 30961 -(30961) found -[6871] Forked 30962 -(30962) found -[6870] Forked 30963 -[6869] Forked 30964 -(30963) found -(30964) found -[6868] Forked 30965 -[6867] Forked 30966 -(30965) found -(30966) found -[6866] Forked 30967 -[6865] Forked 30968 -(30967) found -(30968) found -[6864] Forked 30969 -[6863] Forked 30970 -(30969) found -(30970) found -[6862] Forked 30971 -[6861] Forked 30972 -(30971) found -(30972) found -[6860] Forked 30973 -[6859] Forked 30974 -(30973) found -(30974) found -[6858] Forked 30975 -[6857] Forked 30976 -(30975) found -(30976) found -[6856] Forked 30977 -[6855] Forked 30978 -(30977) found -(30978) found -[6854] Forked 30979 -[6853] Forked 30980 -(30979) found -(30980) found -[6852] Forked 30981 -[6851] Forked 30982 -(30981) found -(30982) found -[6850] Forked 30983 -[6849] Forked 30984 -(30983) found -(30984) found -[6848] Forked 30985 -[6847] Forked 30986 -(30985) found -(30986) found -[6846] Forked 30987 -[6845] Forked 30988 -(30987) found -(30988) found -[6844] Forked 30989 -[6843] Forked 30990 -(30989) found -(30990) found -[6842] Forked 30991 -[6841] Forked 30992 -(30991) found -(30992) found -[6840] Forked 30993 -[6839] Forked 30994 -(30993) found -(30994) found -[6838] Forked 30995 -[6837] Forked 30996 -(30995) found -(30996) found -[6836] Forked 30997 -[6835] Forked 30998 -(30997) found -(30998) found -[6834] Forked 30999 -[6833] Forked 31000 -(30999) found -(31000) found -[6832] Forked 31001 -[6831] Forked 31003 -(31001) found -(31003) found -[6830] Forked 31004 -(31004) found -[6829] Forked 31005 -(31005) found -[6828] Forked 31006 -(31006) found -[6827] Forked 31007 -(31007) found -[6826] Forked 31008 -(31008) found -[6825] Forked 31009 -(31009) found -[6824] Forked 31010 -(31010) found -[6823] Forked 31011 -(31011) found -[6822] Forked 31012 -(31012) found -[6821] Forked 31013 -(31013) found -[6820] Forked 31014 -(31014) found -[6819] Forked 31015 -(31015) found -[6818] Forked 31016 -(31016) found -[6817] Forked 31017 -(31017) found -[6816] Forked 31018 -(31018) found -[6815] Forked 31019 -(31019) found -[6814] Forked 31020 -(31020) found -[6813] Forked 31021 -(31021) found -[6812] Forked 31022 -(31022) found -[6811] Forked 31023 -(31023) found -[6810] Forked 31024 -(31024) found -[6809] Forked 31025 -(31025) found -[6808] Forked 31026 -(31026) found -[6807] Forked 31027 -(31027) found -[6806] Forked 31028 -(31028) found -[6805] Forked 31029 -(31029) found -[6804] Forked 31030 -(31030) found -[6803] Forked 31031 -(31031) found -[6802] Forked 31032 -(31032) found -[6801] Forked 31033 -(31033) found -[6800] Forked 31034 -(31034) found -[6799] Forked 31035 -(31035) found -[6798] Forked 31036 -(31036) found -[6797] Forked 31037 -(31037) found -[6796] Forked 31038 -(31038) found -[6795] Forked 31039 -(31039) found -[6794] Forked 31040 -(31040) found -[6793] Forked 31041 -(31041) found -[6792] Forked 31042 -(31042) found -[6791] Forked 31043 -(31043) found -[6790] Forked 31044 -(31044) found -[6789] Forked 31045 -[6788] Forked 31046 -(31045) found -(31046) found -[6787] Forked 31047 -[6786] Forked 31048 -(31047) found -(31048) found -[6785] Forked 31049 -[6784] Forked 31050 -(31049) found -(31050) found -[6783] Forked 31051 -[6782] Forked 31052 -(31051) found -(31052) found -[6781] Forked 31053 -[6780] Forked 31054 -(31053) found -(31054) found -[6779] Forked 31055 -[6778] Forked 31056 -(31055) found -(31056) found -[6777] Forked 31057 -[6776] Forked 31058 -(31057) found -(31058) found -[6775] Forked 31059 -[6774] Forked 31060 -(31059) found -(31060) found -[6773] Forked 31061 -[6772] Forked 31062 -(31061) found -(31062) found -[6771] Forked 31064 -[6770] Forked 31065 -(31064) found -(31065) found -[6769] Forked 31066 -[6768] Forked 31067 -(31066) found -(31067) found -[6767] Forked 31068 -[6766] Forked 31069 -(31068) found -(31069) found -[6765] Forked 31070 -[6764] Forked 31071 -(31070) found -(31071) found -[6763] Forked 31072 -[6762] Forked 31073 -(31072) found -(31073) found -[6761] Forked 31074 -[6760] Forked 31075 -(31074) found -(31075) found -[6759] Forked 31076 -[6758] Forked 31077 -(31076) found -(31077) found -[6757] Forked 31078 -[6756] Forked 31079 -(31078) found -(31079) found -[6755] Forked 31080 -[6754] Forked 31081 -(31080) found -(31081) found -[6753] Forked 31082 -[6752] Forked 31083 -(31082) found -(31083) found -[6751] Forked 31084 -[6750] Forked 31086 -(31084) found -(31086) found -[6749] Forked 31087 -(31087) found -[6748] Forked 31088 -(31088) found -[6747] Forked 31089 -(31089) found -[6746] Forked 31090 -(31090) found -[6745] Forked 31091 -(31091) found -[6744] Forked 31092 -(31092) found -[6743] Forked 31093 -(31093) found -[6742] Forked 31094 -(31094) found -[6741] Forked 31095 -(31095) found -[6740] Forked 31096 -(31096) found -[6739] Forked 31097 -(31097) found -[6738] Forked 31098 -(31098) found -[6737] Forked 31099 -(31099) found -[6736] Forked 31100 -(31100) found -[6735] Forked 31101 -(31101) found -[6734] Forked 31102 -(31102) found -[6733] Forked 31103 -(31103) found -[6732] Forked 31104 -(31104) found -[6731] Forked 31105 -(31105) found -[6730] Forked 31106 -(31106) found -[6729] Forked 31107 -(31107) found -[6728] Forked 31108 -(31108) found -[6727] Forked 31109 -(31109) found -[6726] Forked 31110 -(31110) found -[6725] Forked 31111 -(31111) found -[6724] Forked 31112 -(31112) found -[6723] Forked 31113 -(31113) found -[6722] Forked 31114 -(31114) found -[6721] Forked 31115 -(31115) found -[6720] Forked 31116 -(31116) found -[6719] Forked 31117 -(31117) found -[6718] Forked 31118 -(31118) found -[6717] Forked 31119 -(31119) found -[6716] Forked 31120 -(31120) found -[6715] Forked 31121 -(31121) found -[6714] Forked 31122 -(31122) found -[6713] Forked 31123 -(31123) found -[6712] Forked 31124 -(31124) found -[6711] Forked 31125 -(31125) found -[6710] Forked 31126 -(31126) found -[6709] Forked 31127 -(31127) found -[6708] Forked 31128 -[6707] Forked 31129 -(31128) found -(31129) found -[6706] Forked 31130 -[6705] Forked 31131 -(31130) found -(31131) found -[6704] Forked 31132 -[6703] Forked 31133 -(31132) found -(31133) found -[6702] Forked 31134 -[6701] Forked 31135 -(31134) found -(31135) found -[6700] Forked 31136 -[6699] Forked 31137 -(31136) found -(31137) found -[6698] Forked 31138 -[6697] Forked 31139 -(31138) found -(31139) found -[6696] Forked 31140 -[6695] Forked 31141 -(31140) found -(31141) found -[6694] Forked 31142 -[6693] Forked 31143 -(31142) found -(31143) found -[6692] Forked 31144 -[6691] Forked 31145 -(31144) found -(31145) found -[6690] Forked 31146 -[6689] Forked 31147 -(31146) found -(31147) found -[6688] Forked 31148 -[6687] Forked 31149 -(31148) found -(31149) found -[6686] Forked 31150 -[6685] Forked 31151 -(31150) found -(31151) found -[6684] Forked 31152 -[6683] Forked 31153 -(31152) found -(31153) found -[6682] Forked 31154 -[6681] Forked 31155 -(31154) found -(31155) found -[6680] Forked 31156 -[6679] Forked 31157 -(31156) found -(31157) found -[6678] Forked 31158 -[6677] Forked 31159 -(31158) found -(31159) found -[6676] Forked 31160 -[6675] Forked 31161 -(31160) found -(31161) found -[6674] Forked 31162 -[6673] Forked 31163 -(31162) found -(31163) found -[6672] Forked 31164 -[6671] Forked 31165 -(31164) found -(31165) found -[6670] Forked 31166 -[6669] Forked 31167 -(31166) found -(31167) found -[6668] Forked 31168 -[6667] Forked 31169 -(31168) found -(31169) found -[6666] Forked 31170 -[6665] Forked 31171 -(31170) found -(31171) found -[6664] Forked 31172 -[6663] Forked 31173 -(31172) found -(31173) found -[6662] Forked 31174 -[6661] Forked 31175 -(31174) found -(31175) found -[6660] Forked 31176 -[6659] Forked 31177 -(31176) found -(31177) found -[6658] Forked 31178 -[6657] Forked 31179 -(31178) found -(31179) found -[6656] Forked 31180 -[6655] Forked 31181 -(31180) found -(31181) found -[6654] Forked 31182 -[6653] Forked 31183 -(31182) found -(31183) found -[6652] Forked 31184 -[6651] Forked 31185 -(31184) found -(31185) found -[6650] Forked 31186 -[6649] Forked 31187 -(31186) found -(31187) found -[6648] Forked 31188 -[6647] Forked 31189 -(31188) found -(31189) found -[6646] Forked 31190 -[6645] Forked 31191 -(31190) found -(31191) found -[6644] Forked 31192 -[6643] Forked 31193 -(31192) found -(31193) found -[6642] Forked 31194 -[6641] Forked 31195 -(31194) found -(31195) found -[6640] Forked 31196 -[6639] Forked 31197 -(31196) found -(31197) found -[6638] Forked 31198 -[6637] Forked 31199 -(31198) found -(31199) found -[6636] Forked 31200 -[6635] Forked 31201 -(31200) found -(31201) found -[6634] Forked 31202 -[6633] Forked 31203 -(31202) found -(31203) found -[6632] Forked 31204 -[6631] Forked 31205 -(31204) found -(31205) found -[6630] Forked 31206 -[6629] Forked 31207 -(31206) found -(31207) found -[6628] Forked 31208 -[6627] Forked 31209 -(31208) found -(31209) found -[6626] Forked 31210 -[6625] Forked 31211 -(31210) found -(31211) found -[6624] Forked 31212 -[6623] Forked 31213 -(31212) found -(31213) found -[6622] Forked 31214 -[6621] Forked 31215 -(31214) found -(31215) found -[6620] Forked 31216 -[6619] Forked 31217 -(31216) found -(31217) found -[6618] Forked 31218 -[6617] Forked 31219 -(31218) found -(31219) found -[6616] Forked 31220 -[6615] Forked 31221 -(31220) found -(31221) found -[6614] Forked 31222 -[6613] Forked 31223 -(31222) found -(31223) found -[6612] Forked 31224 -[6611] Forked 31225 -(31224) found -(31225) found -[6610] Forked 31226 -[6609] Forked 31227 -(31226) found -(31227) found -[6608] Forked 31228 -[6607] Forked 31229 -(31228) found -(31229) found -[6606] Forked 31230 -[6605] Forked 31231 -(31230) found -(31231) found -[6604] Forked 31232 -[6603] Forked 31233 -(31232) found -(31233) found -[6602] Forked 31234 -[6601] Forked 31235 -(31234) found -(31235) found -[6600] Forked 31236 -[6599] Forked 31237 -(31236) found -(31237) found -[6598] Forked 31238 -[6597] Forked 31239 -(31238) found -(31239) found -[6596] Forked 31240 -[6595] Forked 31241 -(31240) found -(31241) found -[6594] Forked 31242 -[6593] Forked 31243 -(31242) found -(31243) found -[6592] Forked 31244 -[6591] Forked 31245 -(31244) found -(31245) found -[6590] Forked 31246 -[6589] Forked 31247 -(31246) found -(31247) found -[6588] Forked 31248 -[6587] Forked 31249 -(31248) found -(31249) found -[6586] Forked 31250 -[6585] Forked 31251 -(31250) found -(31251) found -[6584] Forked 31252 -[6583] Forked 31253 -(31252) found -(31253) found -[6582] Forked 31254 -[6581] Forked 31255 -(31254) found -(31255) found -[6580] Forked 31256 -[6579] Forked 31257 -(31256) found -(31257) found -[6578] Forked 31258 -[6577] Forked 31259 -(31258) found -(31259) found -[6576] Forked 31260 -[6575] Forked 31261 -(31260) found -(31261) found -[6574] Forked 31262 -(31262) found -[6573] Forked 31263 -(31263) found -[6572] Forked 31264 -(31264) found -[6571] Forked 31265 -(31265) found -[6570] Forked 31266 -(31266) found -[6569] Forked 31267 -(31267) found -[6568] Forked 31268 -(31268) found -[6567] Forked 31269 -(31269) found -[6566] Forked 31270 -(31270) found -[6565] Forked 31271 -(31271) found -[6564] Forked 31272 -(31272) found -[6563] Forked 31273 -(31273) found -[6562] Forked 31274 -(31274) found -[6561] Forked 31275 -(31275) found -[6560] Forked 31276 -(31276) found -[6559] Forked 31277 -(31277) found -[6558] Forked 31278 -(31278) found -[6557] Forked 31279 -(31279) found -[6556] Forked 31280 -(31280) found -[6555] Forked 31281 -(31281) found -[6554] Forked 31282 -(31282) found -[6553] Forked 31283 -(31283) found -[6552] Forked 31284 -(31284) found -[6551] Forked 31285 -(31285) found -[6550] Forked 31286 -(31286) found -[6549] Forked 31287 -(31287) found -[6548] Forked 31288 -(31288) found -[6547] Forked 31289 -(31289) found -[6546] Forked 31290 -(31290) found -[6545] Forked 31291 -(31291) found -[6544] Forked 31292 -(31292) found -[6543] Forked 31293 -(31293) found -[6542] Forked 31294 -(31294) found -[6541] Forked 31295 -(31295) found -[6540] Forked 31296 -(31296) found -[6539] Forked 31297 -(31297) found -[6538] Forked 31298 -(31298) found -[6537] Forked 31299 -(31299) found -[6536] Forked 31300 -[6535] Forked 31301 -(31300) found -(31301) found -[6534] Forked 31302 -[6533] Forked 31303 -(31302) found -(31303) found -[6532] Forked 31304 -(31304) found -[6531] Forked 31305 -[6530] Forked 31306 -(31305) found -(31306) found -[6529] Forked 31307 -[6528] Forked 31308 -(31307) found -(31308) found -[6527] Forked 31309 -[6526] Forked 31310 -(31309) found -(31310) found -[6525] Forked 31311 -[6524] Forked 31312 -(31311) found -(31312) found -[6523] Forked 31313 -[6522] Forked 31314 -(31313) found -(31314) found -[6521] Forked 31315 -[6520] Forked 31316 -(31315) found -(31316) found -[6519] Forked 31317 -[6518] Forked 31318 -(31317) found -(31318) found -[6517] Forked 31319 -[6516] Forked 31320 -(31320) found -(31319) found -[6515] Forked 31321 -(31321) found -[6514] Forked 31322 -(31322) found -[6513] Forked 31323 -(31323) found -[6512] Forked 31324 -(31324) found -[6511] Forked 31325 -(31325) found -[6510] Forked 31326 -(31326) found -[6509] Forked 31327 -(31327) found -[6508] Forked 31328 -(31328) found -[6507] Forked 31329 -(31329) found -[6506] Forked 31330 -(31330) found -[6505] Forked 31331 -(31331) found -[6504] Forked 31332 -(31332) found -[6503] Forked 31333 -(31333) found -[6502] Forked 31334 -(31334) found -[6501] Forked 31335 -(31335) found -[6500] Forked 31336 -(31336) found -[6499] Forked 31337 -(31337) found -[6498] Forked 31338 -(31338) found -[6497] Forked 31339 -(31339) found -[6496] Forked 31340 -(31340) found -[6495] Forked 31341 -(31341) found -[6494] Forked 31342 -(31342) found -[6493] Forked 31343 -(31343) found -[6492] Forked 31344 -(31344) found -[6491] Forked 31345 -(31345) found -[6490] Forked 31346 -(31346) found -[6489] Forked 31347 -(31347) found -[6488] Forked 31348 -(31348) found -[6487] Forked 31349 -(31349) found -[6486] Forked 31350 -(31350) found -[6485] Forked 31351 -(31351) found -[6484] Forked 31352 -(31352) found -[6483] Forked 31353 -(31353) found -[6482] Forked 31354 -(31354) found -[6481] Forked 31355 -(31355) found -[6480] Forked 31356 -(31356) found -[6479] Forked 31357 -(31357) found -[6478] Forked 31358 -(31358) found -[6477] Forked 31359 -(31359) found -[6476] Forked 31360 -(31360) found -[6475] Forked 31361 -(31361) found -[6474] Forked 31362 -(31362) found -[6473] Forked 31363 -(31363) found -[6472] Forked 31364 -(31364) found -[6471] Forked 31365 -(31365) found -[6470] Forked 31366 -(31366) found -[6469] Forked 31367 -(31367) found -[6468] Forked 31368 -(31368) found -[6467] Forked 31369 -(31369) found -[6466] Forked 31370 -(31370) found -[6465] Forked 31371 -(31371) found -[6464] Forked 31372 -(31372) found -[6463] Forked 31373 -(31373) found -[6462] Forked 31374 -(31374) found -[6461] Forked 31375 -[6460] Forked 31376 -(31375) found -(31376) found -[6459] Forked 31377 -[6458] Forked 31378 -(31377) found -(31378) found -[6457] Forked 31379 -[6456] Forked 31380 -(31379) found -(31380) found -[6455] Forked 31381 -[6454] Forked 31382 -(31381) found -(31382) found -[6453] Forked 31383 -[6452] Forked 31384 -(31383) found -(31384) found -[6451] Forked 31385 -[6450] Forked 31386 -(31385) found -(31386) found -[6449] Forked 31387 -[6448] Forked 31388 -(31387) found -(31388) found -[6447] Forked 31389 -[6446] Forked 31390 -(31389) found -(31390) found -[6445] Forked 31391 -[6444] Forked 31392 -(31391) found -(31392) found -[6443] Forked 31393 -[6442] Forked 31394 -(31393) found -(31394) found -[6441] Forked 31395 -[6440] Forked 31396 -(31395) found -(31396) found -[6439] Forked 31397 -[6438] Forked 31398 -(31397) found -(31398) found -[6437] Forked 31399 -[6436] Forked 31400 -(31399) found -(31400) found -[6435] Forked 31401 -[6434] Forked 31402 -(31401) found -(31402) found -[6433] Forked 31403 -[6432] Forked 31404 -(31403) found -(31404) found -[6431] Forked 31405 -[6430] Forked 31406 -(31405) found -(31406) found -[6429] Forked 31407 -[6428] Forked 31408 -(31407) found -(31408) found -[6427] Forked 31409 -[6426] Forked 31410 -(31409) found -(31410) found -[6425] Forked 31411 -[6424] Forked 31412 -(31411) found -(31412) found -[6423] Forked 31413 -[6422] Forked 31415 -(31413) found -(31415) found -[6421] Forked 31416 -(31416) found -[6420] Forked 31417 -(31417) found -[6419] Forked 31418 -(31418) found -[6418] Forked 31419 -(31419) found -[6417] Forked 31420 -(31420) found -[6416] Forked 31421 -(31421) found -[6415] Forked 31422 -(31422) found -[6414] Forked 31423 -(31423) found -[6413] Forked 31424 -(31424) found -[6412] Forked 31425 -(31425) found -[6411] Forked 31426 -(31426) found -[6410] Forked 31427 -(31427) found -[6409] Forked 31428 -(31428) found -[6408] Forked 31429 -(31429) found -[6407] Forked 31430 -(31430) found -[6406] Forked 31431 -(31431) found -[6405] Forked 31432 -(31432) found -[6404] Forked 31433 -(31433) found -[6403] Forked 31434 -(31434) found -[6402] Forked 31435 -(31435) found -[6401] Forked 31436 -(31436) found -[6400] Forked 31437 -(31437) found -[6399] Forked 31438 -(31438) found -[6398] Forked 31439 -(31439) found -[6397] Forked 31440 -(31440) found -[6396] Forked 31441 -(31441) found -[6395] Forked 31442 -(31442) found -[6394] Forked 31443 -(31443) found -[6393] Forked 31444 -(31444) found -[6392] Forked 31445 -(31445) found -[6391] Forked 31446 -(31446) found -[6390] Forked 31447 -(31447) found -[6389] Forked 31448 -(31448) found -[6388] Forked 31449 -(31449) found -[6387] Forked 31450 -(31450) found -[6386] Forked 31451 -(31451) found -[6385] Forked 31452 -(31452) found -[6384] Forked 31453 -(31453) found -[6383] Forked 31454 -(31454) found -[6382] Forked 31455 -(31455) found -[6381] Forked 31456 -(31456) found -[6380] Forked 31457 -(31457) found -[6379] Forked 31458 -(31458) found -[6378] Forked 31459 -(31459) found -[6377] Forked 31460 -(31460) found -[6376] Forked 31461 -(31461) found -[6375] Forked 31462 -(31462) found -[6374] Forked 31463 -(31463) found -[6373] Forked 31464 -(31464) found -[6372] Forked 31465 -(31465) found -[6371] Forked 31466 -(31466) found -[6370] Forked 31467 -(31467) found -[6369] Forked 31468 -(31468) found -[6368] Forked 31469 -(31469) found -[6367] Forked 31470 -(31470) found -[6366] Forked 31471 -(31471) found -[6365] Forked 31472 -(31472) found -[6364] Forked 31473 -(31473) found -[6363] Forked 31474 -(31474) found -[6362] Forked 31475 -(31475) found -[6361] Forked 31476 -(31476) found -[6360] Forked 31477 -(31477) found -[6359] Forked 31478 -(31478) found -[6358] Forked 31479 -(31479) found -[6357] Forked 31480 -(31480) found -[6356] Forked 31481 -(31481) found -[6355] Forked 31482 -(31482) found -[6354] Forked 31483 -(31483) found -[6353] Forked 31484 -(31484) found -[6352] Forked 31485 -(31485) found -[6351] Forked 31486 -(31486) found -[6350] Forked 31487 -(31487) found -[6349] Forked 31488 -(31488) found -[6348] Forked 31489 -[6347] Forked 31490 -(31489) found -(31490) found -[6346] Forked 31491 -[6345] Forked 31492 -(31491) found -(31492) found -[6344] Forked 31493 -[6343] Forked 31494 -(31493) found -(31494) found -[6342] Forked 31495 -[6341] Forked 31496 -(31495) found -(31496) found -[6340] Forked 31497 -[6339] Forked 31498 -(31497) found -(31498) found -[6338] Forked 31499 -[6337] Forked 31500 -(31499) found -(31500) found -[6336] Forked 31501 -[6335] Forked 31502 -(31501) found -(31502) found -[6334] Forked 31503 -[6333] Forked 31504 -(31503) found -(31504) found -[6332] Forked 31505 -[6331] Forked 31506 -(31505) found -(31506) found -[6330] Forked 31507 -[6329] Forked 31508 -(31507) found -(31508) found -[6328] Forked 31509 -[6327] Forked 31510 -(31509) found -(31510) found -[6326] Forked 31511 -[6325] Forked 31512 -(31511) found -(31512) found -[6324] Forked 31513 -[6323] Forked 31514 -(31513) found -(31514) found -[6322] Forked 31515 -[6321] Forked 31516 -(31515) found -(31516) found -[6320] Forked 31517 -[6319] Forked 31518 -(31517) found -(31518) found -[6318] Forked 31519 -[6317] Forked 31520 -(31519) found -(31520) found -[6316] Forked 31521 -[6315] Forked 31522 -(31521) found -(31522) found -[6314] Forked 31523 -[6313] Forked 31524 -(31523) found -(31524) found -[6312] Forked 31525 -[6311] Forked 31526 -(31525) found -(31526) found -[6310] Forked 31527 -[6309] Forked 31528 -(31527) found -(31528) found -[6308] Forked 31529 -[6307] Forked 31530 -(31529) found -(31530) found -[6306] Forked 31531 -[6305] Forked 31532 -(31531) found -(31532) found -[6304] Forked 31533 -[6303] Forked 31534 -(31533) found -(31534) found -[6302] Forked 31535 -(31535) found -[6301] Forked 31536 -(31536) found -[6300] Forked 31537 -(31537) found -[6299] Forked 31538 -(31538) found -[6298] Forked 31539 -(31539) found -[6297] Forked 31540 -(31540) found -[6296] Forked 31541 -(31541) found -[6295] Forked 31542 -(31542) found -[6294] Forked 31543 -(31543) found -[6293] Forked 31544 -(31544) found -[6292] Forked 31545 -(31545) found -[6291] Forked 31546 -(31546) found -[6290] Forked 31547 -(31547) found -[6289] Forked 31548 -(31548) found -[6288] Forked 31549 -(31549) found -[6287] Forked 31550 -(31550) found -[6286] Forked 31551 -(31551) found -[6285] Forked 31552 -(31552) found -[6284] Forked 31553 -(31553) found -[6283] Forked 31554 -(31554) found -[6282] Forked 31555 -(31555) found -[6281] Forked 31556 -(31556) found -[6280] Forked 31557 -(31557) found -[6279] Forked 31558 -(31558) found -[6278] Forked 31559 -(31559) found -[6277] Forked 31560 -(31560) found -[6276] Forked 31561 -(31561) found -[6275] Forked 31562 -(31562) found -[6274] Forked 31563 -(31563) found -[6273] Forked 31564 -(31564) found -[6272] Forked 31565 -(31565) found -[6271] Forked 31566 -(31566) found -[6270] Forked 31567 -(31567) found -[6269] Forked 31568 -(31568) found -[6268] Forked 31569 -(31569) found -[6267] Forked 31570 -(31570) found -[6266] Forked 31571 -[6265] Forked 31572 -(31571) found -(31572) found -[6264] Forked 31573 -[6263] Forked 31574 -(31573) found -(31574) found -[6262] Forked 31575 -[6261] Forked 31576 -(31575) found -(31576) found -[6260] Forked 31577 -[6259] Forked 31578 -(31577) found -(31578) found -[6258] Forked 31579 -[6257] Forked 31580 -(31579) found -(31580) found -[6256] Forked 31581 -[6255] Forked 31582 -(31581) found -(31582) found -[6254] Forked 31583 -[6253] Forked 31584 -(31583) found -(31584) found -[6252] Forked 31585 -[6251] Forked 31586 -(31585) found -(31586) found -[6250] Forked 31587 -[6249] Forked 31588 -(31587) found -(31588) found -[6248] Forked 31589 -[6247] Forked 31590 -(31589) found -(31590) found -[6246] Forked 31591 -[6245] Forked 31592 -(31591) found -(31592) found -[6244] Forked 31593 -[6243] Forked 31594 -(31593) found -(31594) found -[6242] Forked 31595 -[6241] Forked 31596 -(31595) found -(31596) found -[6240] Forked 31597 -[6239] Forked 31598 -(31597) found -(31598) found -[6238] Forked 31599 -[6237] Forked 31600 -(31599) found -(31600) found -[6236] Forked 31601 -[6235] Forked 31602 -(31601) found -(31602) found -[6234] Forked 31603 -[6233] Forked 31604 -(31603) found -(31604) found -[6232] Forked 31605 -[6231] Forked 31606 -(31605) found -(31606) found -[6230] Forked 31607 -[6229] Forked 31608 -(31607) found -(31608) found -[6228] Forked 31609 -[6227] Forked 31610 -(31609) found -(31610) found -[6226] Forked 31611 -[6225] Forked 31612 -(31611) found -(31612) found -[6224] Forked 31613 -[6223] Forked 31614 -(31613) found -(31614) found -[6222] Forked 31615 -[6221] Forked 31616 -(31615) found -(31616) found -[6220] Forked 31617 -(31617) found -[6219] Forked 31618 -(31618) found -[6218] Forked 31619 -(31619) found -[6217] Forked 31620 -(31620) found -[6216] Forked 31621 -(31621) found -[6215] Forked 31622 -(31622) found -[6214] Forked 31623 -(31623) found -[6213] Forked 31624 -(31624) found -[6212] Forked 31625 -(31625) found -[6211] Forked 31626 -(31626) found -[6210] Forked 31627 -(31627) found -[6209] Forked 31628 -(31628) found -[6208] Forked 31629 -(31629) found -[6207] Forked 31630 -(31630) found -[6206] Forked 31631 -(31631) found -[6205] Forked 31632 -(31632) found -[6204] Forked 31633 -(31633) found -[6203] Forked 31634 -(31634) found -[6202] Forked 31635 -(31635) found -[6201] Forked 31636 -(31636) found -[6200] Forked 31637 -(31637) found -[6199] Forked 31638 -(31638) found -[6198] Forked 31639 -(31639) found -[6197] Forked 31640 -(31640) found -[6196] Forked 31641 -(31641) found -[6195] Forked 31642 -(31642) found -[6194] Forked 31643 -(31643) found -[6193] Forked 31644 -(31644) found -[6192] Forked 31645 -(31645) found -[6191] Forked 31646 -(31646) found -[6190] Forked 31647 -(31647) found -[6189] Forked 31648 -(31648) found -[6188] Forked 31649 -(31649) found -[6187] Forked 31650 -(31650) found -[6186] Forked 31651 -(31651) found -[6185] Forked 31652 -(31652) found -[6184] Forked 31653 -[6183] Forked 31654 -(31653) found -(31654) found -[6182] Forked 31655 -[6181] Forked 31656 -(31655) found -(31656) found -[6180] Forked 31657 -[6179] Forked 31658 -(31657) found -(31658) found -[6178] Forked 31659 -[6177] Forked 31660 -(31659) found -(31660) found -[6176] Forked 31661 -[6175] Forked 31662 -(31661) found -(31662) found -[6174] Forked 31663 -[6173] Forked 31664 -(31663) found -(31664) found -[6172] Forked 31665 -[6171] Forked 31666 -(31665) found -(31666) found -[6170] Forked 31667 -[6169] Forked 31668 -(31667) found -(31668) found -[6168] Forked 31669 -[6167] Forked 31670 -(31669) found -(31670) found -[6166] Forked 31671 -[6165] Forked 31672 -(31671) found -(31672) found -[6164] Forked 31673 -[6163] Forked 31674 -(31673) found -(31674) found -[6162] Forked 31675 -[6161] Forked 31676 -(31675) found -(31676) found -[6160] Forked 31677 -[6159] Forked 31678 -(31677) found -(31678) found -[6158] Forked 31679 -[6157] Forked 31680 -(31679) found -(31680) found -[6156] Forked 31681 -[6155] Forked 31682 -(31681) found -(31682) found -[6154] Forked 31683 -[6153] Forked 31684 -(31683) found -(31684) found -[6152] Forked 31685 -[6151] Forked 31686 -(31685) found -(31686) found -[6150] Forked 31687 -[6149] Forked 31688 -(31687) found -(31688) found -[6148] Forked 31689 -[6147] Forked 31691 -(31689) found -(31691) found -[6146] Forked 31692 -(31692) found -[6145] Forked 31693 -(31693) found -[6144] Forked 31694 -(31694) found -[6143] Forked 31695 -(31695) found -[6142] Forked 31696 -(31696) found -[6141] Forked 31697 -(31697) found -[6140] Forked 31698 -(31698) found -[6139] Forked 31699 -(31699) found -[6138] Forked 31700 -(31700) found -[6137] Forked 31701 -(31701) found -[6136] Forked 31702 -(31702) found -[6135] Forked 31703 -(31703) found -[6134] Forked 31704 -(31704) found -[6133] Forked 31705 -(31705) found -[6132] Forked 31706 -(31706) found -[6131] Forked 31707 -(31707) found -[6130] Forked 31708 -(31708) found -[6129] Forked 31709 -(31709) found -[6128] Forked 31710 -(31710) found -[6127] Forked 31711 -(31711) found -[6126] Forked 31712 -(31712) found -[6125] Forked 31713 -(31713) found -[6124] Forked 31714 -(31714) found -[6123] Forked 31715 -(31715) found -[6122] Forked 31716 -(31716) found -[6121] Forked 31717 -(31717) found -[6120] Forked 31718 -(31718) found -[6119] Forked 31719 -(31719) found -[6118] Forked 31720 -(31720) found -[6117] Forked 31721 -(31721) found -[6116] Forked 31722 -(31722) found -[6115] Forked 31723 -(31723) found -[6114] Forked 31724 -(31724) found -[6113] Forked 31725 -(31725) found -[6112] Forked 31726 -(31726) found -[6111] Forked 31727 -(31727) found -[6110] Forked 31728 -(31728) found -[6109] Forked 31729 -(31729) found -[6108] Forked 31730 -(31730) found -[6107] Forked 31731 -(31731) found -[6106] Forked 31732 -(31732) found -[6105] Forked 31733 -(31733) found -[6104] Forked 31734 -(31734) found -[6103] Forked 31735 -(31735) found -[6102] Forked 31736 -(31736) found -[6101] Forked 31737 -(31737) found -[6100] Forked 31738 -(31738) found -[6099] Forked 31739 -(31739) found -[6098] Forked 31740 -(31740) found -[6097] Forked 31741 -(31741) found -[6096] Forked 31742 -(31742) found -[6095] Forked 31743 -(31743) found -[6094] Forked 31744 -(31744) found -[6093] Forked 31745 -(31745) found -[6092] Forked 31746 -(31746) found -[6091] Forked 31747 -(31747) found -[6090] Forked 31748 -(31748) found -[6089] Forked 31749 -(31749) found -[6088] Forked 31750 -(31750) found -[6087] Forked 31751 -(31751) found -[6086] Forked 31752 -(31752) found -[6085] Forked 31753 -(31753) found -[6084] Forked 31754 -(31754) found -[6083] Forked 31755 -(31755) found -[6082] Forked 31756 -(31756) found -[6081] Forked 31757 -(31757) found -[6080] Forked 31758 -(31758) found -[6079] Forked 31759 -(31759) found -[6078] Forked 31760 -(31760) found -[6077] Forked 31761 -(31761) found -[6076] Forked 31762 -(31762) found -[6075] Forked 31763 -(31763) found -[6074] Forked 31764 -(31764) found -[6073] Forked 31765 -(31765) found -[6072] Forked 31766 -[6071] Forked 31767 -(31766) found -(31767) found -[6070] Forked 31768 -[6069] Forked 31769 -(31768) found -(31769) found -[6068] Forked 31770 -[6067] Forked 31771 -(31770) found -(31771) found -[6066] Forked 31772 -[6065] Forked 31773 -(31772) found -(31773) found -[6064] Forked 31774 -[6063] Forked 31775 -(31774) found -(31775) found -[6062] Forked 31776 -[6061] Forked 31777 -(31776) found -(31777) found -[6060] Forked 31778 -[6059] Forked 31779 -(31778) found -(31779) found -[6058] Forked 31780 -[6057] Forked 31781 -(31780) found -(31781) found -[6056] Forked 31782 -[6055] Forked 31783 -(31782) found -(31783) found -[6054] Forked 31784 -[6053] Forked 31785 -(31784) found -(31785) found -[6052] Forked 31786 -[6051] Forked 31787 -(31786) found -(31787) found -[6050] Forked 31788 -[6049] Forked 31789 -(31788) found -(31789) found -[6048] Forked 31790 -[6047] Forked 31791 -(31790) found -(31791) found -[6046] Forked 31792 -[6045] Forked 31793 -(31792) found -(31793) found -[6044] Forked 31794 -[6043] Forked 31795 -(31794) found -(31795) found -[6042] Forked 31796 -[6041] Forked 31797 -(31796) found -(31797) found -[6040] Forked 31798 -[6039] Forked 31799 -(31798) found -(31799) found -[6038] Forked 31800 -[6037] Forked 31801 -(31800) found -(31801) found -[6036] Forked 31802 -[6035] Forked 31803 -(31802) found -(31803) found -[6034] Forked 31804 -[6033] Forked 31805 -(31804) found -(31805) found -[6032] Forked 31806 -[6031] Forked 31807 -(31806) found -(31807) found -[6030] Forked 31808 -[6029] Forked 31809 -(31808) found -(31809) found -[6028] Forked 31810 -[6027] Forked 31811 -(31810) found -(31811) found -[6026] Forked 31812 -[6025] Forked 31813 -(31812) found -(31813) found -[6024] Forked 31814 -[6023] Forked 31815 -(31814) found -(31815) found -[6022] Forked 31816 -[6021] Forked 31817 -(31816) found -(31817) found -[6020] Forked 31818 -[6019] Forked 31819 -(31818) found -(31819) found -[6018] Forked 31820 -[6017] Forked 31821 -(31820) found -(31821) found -[6016] Forked 31822 -[6015] Forked 31823 -(31822) found -(31823) found -[6014] Forked 31824 -[6013] Forked 31825 -(31824) found -(31825) found -[6012] Forked 31826 -[6011] Forked 31827 -(31826) found -(31827) found -[6010] Forked 31828 -[6009] Forked 31829 -(31828) found -(31829) found -[6008] Forked 31830 -[6007] Forked 31831 -(31830) found -(31831) found -[6006] Forked 31832 -[6005] Forked 31833 -(31832) found -(31833) found -[6004] Forked 31834 -[6003] Forked 31835 -(31834) found -(31835) found -[6002] Forked 31836 -[6001] Forked 31837 -(31836) found -(31837) found -[6000] Forked 31838 -[5999] Forked 31839 -(31838) found -(31839) found -[5998] Forked 31840 -[5997] Forked 31841 -(31840) found -(31841) found -[5996] Forked 31842 -[5995] Forked 31843 -(31842) found -(31843) found -[5994] Forked 31844 -[5993] Forked 31845 -(31844) found -(31845) found -[5992] Forked 31846 -[5991] Forked 31847 -(31846) found -(31847) found -[5990] Forked 31848 -[5989] Forked 31849 -(31848) found -(31849) found -[5988] Forked 31850 -[5987] Forked 31851 -(31850) found -(31851) found -[5986] Forked 31852 -[5985] Forked 31853 -(31852) found -(31853) found -[5984] Forked 31854 -[5983] Forked 31855 -(31854) found -(31855) found -[5982] Forked 31856 -[5981] Forked 31857 -(31856) found -(31857) found -[5980] Forked 31858 -(31858) found -[5979] Forked 31859 -(31859) found -[5978] Forked 31860 -(31860) found -[5977] Forked 31861 -(31861) found -[5976] Forked 31862 -(31862) found -[5975] Forked 31863 -(31863) found -[5974] Forked 31864 -(31864) found -[5973] Forked 31865 -(31865) found -[5972] Forked 31866 -(31866) found -[5971] Forked 31867 -(31867) found -[5970] Forked 31868 -(31868) found -[5969] Forked 31869 -(31869) found -[5968] Forked 31870 -(31870) found -[5967] Forked 31871 -(31871) found -[5966] Forked 31872 -(31872) found -[5965] Forked 31873 -(31873) found -[5964] Forked 31874 -(31874) found -[5963] Forked 31875 -(31875) found -[5962] Forked 31876 -(31876) found -[5961] Forked 31877 -(31877) found -[5960] Forked 31878 -(31878) found -[5959] Forked 31879 -(31879) found -[5958] Forked 31880 -(31880) found -[5957] Forked 31881 -(31881) found -[5956] Forked 31882 -(31882) found -[5955] Forked 31883 -(31883) found -[5954] Forked 31884 -(31884) found -[5953] Forked 31885 -(31885) found -[5952] Forked 31886 -(31886) found -[5951] Forked 31887 -(31887) found -[5950] Forked 31888 -(31888) found -[5949] Forked 31889 -(31889) found -[5948] Forked 31890 -(31890) found -[5947] Forked 31891 -(31891) found -[5946] Forked 31892 -(31892) found -[5945] Forked 31893 -[5944] Forked 31894 -(31893) found -(31894) found -[5943] Forked 31895 -[5942] Forked 31896 -(31895) found -(31896) found -[5941] Forked 31897 -[5940] Forked 31898 -(31897) found -(31898) found -[5939] Forked 31899 -[5938] Forked 31900 -(31899) found -(31900) found -[5937] Forked 31901 -[5936] Forked 31902 -(31901) found -(31902) found -[5935] Forked 31903 -[5934] Forked 31904 -(31903) found -(31904) found -[5933] Forked 31905 -[5932] Forked 31906 -(31905) found -(31906) found -[5931] Forked 31907 -[5930] Forked 31908 -(31907) found -(31908) found -[5929] Forked 31909 -[5928] Forked 31910 -(31909) found -(31910) found -[5927] Forked 31911 -[5926] Forked 31912 -(31911) found -(31912) found -[5925] Forked 31913 -[5924] Forked 31914 -(31913) found -(31914) found -[5923] Forked 31915 -[5922] Forked 31916 -(31915) found -(31916) found -[5921] Forked 31917 -[5920] Forked 31918 -(31917) found -(31918) found -[5919] Forked 31919 -[5918] Forked 31920 -(31919) found -(31920) found -[5917] Forked 31921 -[5916] Forked 31922 -(31921) found -(31922) found -[5915] Forked 31923 -[5914] Forked 31924 -(31923) found -(31924) found -[5913] Forked 31925 -[5912] Forked 31926 -(31925) found -(31926) found -[5911] Forked 31927 -[5910] Forked 31928 -(31927) found -(31928) found -[5909] Forked 31929 -[5908] Forked 31930 -(31929) found -(31930) found -[5907] Forked 31931 -[5906] Forked 31933 -(31931) found -(31933) found -[5905] Forked 31934 -(31934) found -[5904] Forked 31935 -(31935) found -[5903] Forked 31936 -(31936) found -[5902] Forked 31937 -(31937) found -[5901] Forked 31938 -(31938) found -[5900] Forked 31939 -(31939) found -[5899] Forked 31940 -(31940) found -[5898] Forked 31941 -(31941) found -[5897] Forked 31942 -(31942) found -[5896] Forked 31943 -(31943) found -[5895] Forked 31944 -(31944) found -[5894] Forked 31945 -(31945) found -[5893] Forked 31946 -(31946) found -[5892] Forked 31947 -(31947) found -[5891] Forked 31948 -(31948) found -[5890] Forked 31949 -(31949) found -[5889] Forked 31950 -(31950) found -[5888] Forked 31951 -(31951) found -[5887] Forked 31952 -(31952) found -[5886] Forked 31953 -[5885] Forked 31954 -(31953) found -(31954) found -[5884] Forked 31955 -[5883] Forked 31956 -(31955) found -(31956) found -[5882] Forked 31957 -[5881] Forked 31958 -(31957) found -(31958) found -[5880] Forked 31959 -[5879] Forked 31960 -(31959) found -(31960) found -[5878] Forked 31961 -[5877] Forked 31962 -(31961) found -(31962) found -[5876] Forked 31963 -[5875] Forked 31964 -(31963) found -(31964) found -[5874] Forked 31965 -[5873] Forked 31966 -(31965) found -(31966) found -[5872] Forked 31967 -[5871] Forked 31968 -(31967) found -(31968) found -[5870] Forked 31969 -[5869] Forked 31970 -(31969) found -(31970) found -[5868] Forked 31971 -[5867] Forked 31972 -(31971) found -(31972) found -[5866] Forked 31973 -[5865] Forked 31974 -(31973) found -(31974) found -[5864] Forked 31975 -[5863] Forked 31976 -(31975) found -(31976) found -[5862] Forked 31977 -(31977) found -[5861] Forked 31978 -(31978) found -[5860] Forked 31979 -(31979) found -[5859] Forked 31980 -(31980) found -[5858] Forked 31981 -(31981) found -[5857] Forked 31982 -(31982) found -[5856] Forked 31983 -(31983) found -[5855] Forked 31984 -(31984) found -[5854] Forked 31985 -(31985) found -[5853] Forked 31986 -(31986) found -[5852] Forked 31987 -(31987) found -[5851] Forked 31988 -(31988) found -[5850] Forked 31989 -(31989) found -[5849] Forked 31990 -(31990) found -[5848] Forked 31991 -(31991) found -[5847] Forked 31992 -(31992) found -[5846] Forked 31993 -(31993) found -[5845] Forked 31994 -(31994) found -[5844] Forked 31995 -(31995) found -[5843] Forked 31996 -(31996) found -[5842] Forked 31997 -(31997) found -[5841] Forked 31998 -(31998) found -[5840] Forked 31999 -(31999) found -[5839] Forked 32000 -(32000) found -[5838] Forked 32001 -(32001) found -[5837] Forked 32002 -(32002) found -[5836] Forked 32003 -(32003) found -[5835] Forked 32004 -(32004) found -[5834] Forked 32005 -(32005) found -[5833] Forked 32006 -(32006) found -[5832] Forked 32007 -(32007) found -[5831] Forked 32008 -(32008) found -[5830] Forked 32009 -(32009) found -[5829] Forked 32010 -(32010) found -[5828] Forked 32011 -(32011) found -[5827] Forked 32012 -(32012) found -[5826] Forked 32013 -(32013) found -[5825] Forked 32014 -(32014) found -[5824] Forked 32015 -(32015) found -[5823] Forked 32016 -[5822] Forked 32017 -(32016) found -(32017) found -[5821] Forked 32018 -[5820] Forked 32019 -(32018) found -(32019) found -[5819] Forked 32020 -[5818] Forked 32021 -(32020) found -(32021) found -[5817] Forked 32022 -[5816] Forked 32023 -(32022) found -(32023) found -[5815] Forked 32024 -[5814] Forked 32025 -(32024) found -(32025) found -[5813] Forked 32026 -[5812] Forked 32027 -(32026) found -(32027) found -[5811] Forked 32028 -[5810] Forked 32029 -(32028) found -(32029) found -[5809] Forked 32030 -[5808] Forked 32031 -(32030) found -(32031) found -[5807] Forked 32032 -[5806] Forked 32033 -(32032) found -(32033) found -[5805] Forked 32034 -[5804] Forked 32035 -(32034) found -(32035) found -[5803] Forked 32036 -[5802] Forked 32037 -(32036) found -(32037) found -[5801] Forked 32038 -[5800] Forked 32039 -(32038) found -(32039) found -[5799] Forked 32040 -[5798] Forked 32041 -(32040) found -(32041) found -[5797] Forked 32042 -[5796] Forked 32043 -(32042) found -(32043) found -[5795] Forked 32044 -[5794] Forked 32045 -(32044) found -(32045) found -[5793] Forked 32046 -[5792] Forked 32047 -(32047) found -(32046) found -[5791] Forked 32048 -(32048) found -[5790] Forked 32049 -(32049) found -[5789] Forked 32050 -(32050) found -[5788] Forked 32051 -(32051) found -[5787] Forked 32052 -(32052) found -[5786] Forked 32053 -(32053) found -[5785] Forked 32054 -(32054) found -[5784] Forked 32055 -(32055) found -[5783] Forked 32056 -(32056) found -[5782] Forked 32057 -(32057) found -[5781] Forked 32058 -(32058) found -[5780] Forked 32059 -(32059) found -[5779] Forked 32060 -(32060) found -[5778] Forked 32061 -(32061) found -[5777] Forked 32062 -(32062) found -[5776] Forked 32063 -(32063) found -[5775] Forked 32064 -(32064) found -[5774] Forked 32065 -(32065) found -[5773] Forked 32066 -[5772] Forked 32067 -(32066) found -(32067) found -[5771] Forked 32068 -[5770] Forked 32069 -(32068) found -(32069) found -[5769] Forked 32070 -[5768] Forked 32071 -(32070) found -(32071) found -[5767] Forked 32072 -[5766] Forked 32073 -(32072) found -(32073) found -[5765] Forked 32074 -[5764] Forked 32075 -(32074) found -(32075) found -[5763] Forked 32076 -[5762] Forked 32077 -(32076) found -(32077) found -[5761] Forked 32078 -[5760] Forked 32079 -(32078) found -(32079) found -[5759] Forked 32080 -[5758] Forked 32081 -(32080) found -(32081) found -[5757] Forked 32082 -[5756] Forked 32083 -(32082) found -(32083) found -[5755] Forked 32084 -[5754] Forked 32085 -(32084) found -(32085) found -[5753] Forked 32086 -[5752] Forked 32087 -(32086) found -(32087) found -[5751] Forked 32088 -[5750] Forked 32089 -(32089) found -(32088) found -[5749] Forked 32090 -(32090) found -[5748] Forked 32091 -(32091) found -[5747] Forked 32092 -(32092) found -[5746] Forked 32093 -(32093) found -[5745] Forked 32094 -(32094) found -[5744] Forked 32095 -(32095) found -[5743] Forked 32096 -(32096) found -[5742] Forked 32097 -(32097) found -[5741] Forked 32098 -(32098) found -[5740] Forked 32099 -(32099) found -[5739] Forked 32100 -(32100) found -[5738] Forked 32101 -(32101) found -[5737] Forked 32102 -(32102) found -[5736] Forked 32103 -(32103) found -[5735] Forked 32104 -(32104) found -[5734] Forked 32105 -(32105) found -[5733] Forked 32106 -(32106) found -[5732] Forked 32107 -(32107) found -[5731] Forked 32108 -(32108) found -[5730] Forked 32109 -(32109) found -[5729] Forked 32110 -(32110) found -[5728] Forked 32111 -(32111) found -[5727] Forked 32112 -(32112) found -[5726] Forked 32113 -(32113) found -[5725] Forked 32115 -(32115) found -[5724] Forked 32116 -(32116) found -[5723] Forked 32117 -(32117) found -[5722] Forked 32118 -(32118) found -[5721] Forked 32119 -(32119) found -[5720] Forked 32120 -(32120) found -[5719] Forked 32121 -(32121) found -[5718] Forked 32122 -(32122) found -[5717] Forked 32123 -(32123) found -[5716] Forked 32124 -(32124) found -[5715] Forked 32125 -(32125) found -[5714] Forked 32126 -(32126) found -[5713] Forked 32127 -(32127) found -[5712] Forked 32128 -(32128) found -[5711] Forked 32129 -(32129) found -[5710] Forked 32130 -(32130) found -[5709] Forked 32131 -(32131) found -[5708] Forked 32132 -(32132) found -[5707] Forked 32133 -(32133) found -[5706] Forked 32134 -(32134) found -[5705] Forked 32135 -(32135) found -[5704] Forked 32136 -(32136) found -[5703] Forked 32137 -(32137) found -[5702] Forked 32138 -(32138) found -[5701] Forked 32139 -(32139) found -[5700] Forked 32140 -(32140) found -[5699] Forked 32141 -[5698] Forked 32142 -(32141) found -(32142) found -[5697] Forked 32143 -[5696] Forked 32144 -(32143) found -(32144) found -[5695] Forked 32145 -[5694] Forked 32146 -(32145) found -(32146) found -[5693] Forked 32147 -[5692] Forked 32148 -(32147) found -(32148) found -[5691] Forked 32149 -[5690] Forked 32150 -(32149) found -(32150) found -[5689] Forked 32151 -[5688] Forked 32152 -(32151) found -(32152) found -[5687] Forked 32153 -[5686] Forked 32154 -(32153) found -(32154) found -[5685] Forked 32155 -[5684] Forked 32157 -(32155) found -(32157) found -[5683] Forked 32158 -(32158) found -[5682] Forked 32159 -(32159) found -[5681] Forked 32160 -(32160) found -[5680] Forked 32161 -(32161) found -[5679] Forked 32162 -(32162) found -[5678] Forked 32163 -(32163) found -[5677] Forked 32164 -(32164) found -[5676] Forked 32165 -(32165) found -[5675] Forked 32166 -(32166) found -[5674] Forked 32167 -(32167) found -[5673] Forked 32168 -(32168) found -[5672] Forked 32169 -(32169) found -[5671] Forked 32170 -(32170) found -[5670] Forked 32171 -(32171) found -[5669] Forked 32172 -(32172) found -[5668] Forked 32173 -(32173) found -[5667] Forked 32174 -(32174) found -[5666] Forked 32175 -(32175) found -[5665] Forked 32176 -(32176) found -[5664] Forked 32177 -(32177) found -[5663] Forked 32178 -(32178) found -[5662] Forked 32179 -(32179) found -[5661] Forked 32180 -(32180) found -[5660] Forked 32181 -(32181) found -[5659] Forked 32182 -(32182) found -[5658] Forked 32183 -(32183) found -[5657] Forked 32184 -(32184) found -[5656] Forked 32185 -(32185) found -[5655] Forked 32186 -(32186) found -[5654] Forked 32187 -(32187) found -[5653] Forked 32188 -(32188) found -[5652] Forked 32189 -(32189) found -[5651] Forked 32190 -(32190) found -[5650] Forked 32191 -(32191) found -[5649] Forked 32192 -(32192) found -[5648] Forked 32193 -(32193) found -[5647] Forked 32194 -(32194) found -[5646] Forked 32195 -(32195) found -[5645] Forked 32196 -(32196) found -[5644] Forked 32197 -(32197) found -[5643] Forked 32198 -(32198) found -[5642] Forked 32199 -(32199) found -[5641] Forked 32200 -(32200) found -[5640] Forked 32201 -(32201) found -[5639] Forked 32202 -(32202) found -[5638] Forked 32203 -(32203) found -[5637] Forked 32204 -(32204) found -[5636] Forked 32205 -(32205) found -[5635] Forked 32206 -(32206) found -[5634] Forked 32207 -(32207) found -[5633] Forked 32208 -(32208) found -[5632] Forked 32209 -(32209) found -[5631] Forked 32210 -(32210) found -[5630] Forked 32211 -(32211) found -[5629] Forked 32212 -(32212) found -[5628] Forked 32213 -(32213) found -[5627] Forked 32214 -(32214) found -[5626] Forked 32215 -(32215) found -[5625] Forked 32216 -(32216) found -[5624] Forked 32217 -(32217) found -[5623] Forked 32218 -(32218) found -[5622] Forked 32219 -(32219) found -[5621] Forked 32220 -(32220) found -[5620] Forked 32221 -(32221) found -[5619] Forked 32222 -(32222) found -[5618] Forked 32223 -(32223) found -[5617] Forked 32224 -(32224) found -[5616] Forked 32225 -(32225) found -[5615] Forked 32226 -(32226) found -[5614] Forked 32227 -(32227) found -[5613] Forked 32228 -(32228) found -[5612] Forked 32229 -(32229) found -[5611] Forked 32230 -(32230) found -[5610] Forked 32231 -(32231) found -[5609] Forked 32232 -(32232) found -[5608] Forked 32233 -(32233) found -[5607] Forked 32234 -(32234) found -[5606] Forked 32235 -(32235) found -[5605] Forked 32236 -(32236) found -[5604] Forked 32237 -(32237) found -[5603] Forked 32238 -(32238) found -[5602] Forked 32239 -(32239) found -[5601] Forked 32240 -(32240) found -[5600] Forked 32241 -(32241) found -[5599] Forked 32242 -(32242) found -[5598] Forked 32243 -(32243) found -[5597] Forked 32244 -(32244) found -[5596] Forked 32245 -(32245) found -[5595] Forked 32246 -(32246) found -[5594] Forked 32247 -(32247) found -[5593] Forked 32248 -(32248) found -[5592] Forked 32249 -[5591] Forked 32250 -(32249) found -(32250) found -[5590] Forked 32251 -[5589] Forked 32252 -(32251) found -(32252) found -[5588] Forked 32253 -[5587] Forked 32254 -(32253) found -(32254) found -[5586] Forked 32255 -[5585] Forked 32256 -(32255) found -(32256) found -[5584] Forked 32257 -[5583] Forked 32258 -(32257) found -(32258) found -[5582] Forked 32259 -[5581] Forked 32260 -(32259) found -(32260) found -[5580] Forked 32261 -[5579] Forked 32262 -(32261) found -(32262) found -[5578] Forked 32263 -[5577] Forked 32264 -(32263) found -(32264) found -[5576] Forked 32265 -[5575] Forked 32266 -(32265) found -(32266) found -[5574] Forked 32267 -[5573] Forked 32268 -(32267) found -(32268) found -[5572] Forked 32269 -[5571] Forked 32270 -(32269) found -(32270) found -[5570] Forked 32271 -[5569] Forked 32272 -(32271) found -(32272) found -[5568] Forked 32273 -[5567] Forked 32274 -(32273) found -(32274) found -[5566] Forked 32275 -[5565] Forked 32276 -(32275) found -(32276) found -[5564] Forked 32277 -[5563] Forked 32278 -(32277) found -(32278) found -[5562] Forked 32279 -[5561] Forked 32280 -(32279) found -(32280) found -[5560] Forked 32281 -[5559] Forked 32282 -(32281) found -(32282) found -[5558] Forked 32283 -[5557] Forked 32284 -(32283) found -(32284) found -[5556] Forked 32285 -[5555] Forked 32286 -(32285) found -(32286) found -[5554] Forked 32287 -[5553] Forked 32288 -(32287) found -(32288) found -[5552] Forked 32289 -[5551] Forked 32290 -(32289) found -(32290) found -[5550] Forked 32291 -[5549] Forked 32292 -(32291) found -(32292) found -[5548] Forked 32293 -[5547] Forked 32294 -(32293) found -(32294) found -[5546] Forked 32295 -(32295) found -[5545] Forked 32296 -(32296) found -[5544] Forked 32297 -(32297) found -[5543] Forked 32298 -(32298) found -[5542] Forked 32299 -(32299) found -[5541] Forked 32300 -(32300) found -[5540] Forked 32301 -(32301) found -[5539] Forked 32302 -(32302) found -[5538] Forked 32303 -(32303) found -[5537] Forked 32304 -(32304) found -[5536] Forked 32305 -(32305) found -[5535] Forked 32306 -(32306) found -[5534] Forked 32307 -(32307) found -[5533] Forked 32308 -(32308) found -[5532] Forked 32309 -(32309) found -[5531] Forked 32310 -(32310) found -[5530] Forked 32311 -(32311) found -[5529] Forked 32312 -(32312) found -[5528] Forked 32313 -(32313) found -[5527] Forked 32314 -(32314) found -[5526] Forked 32315 -(32315) found -[5525] Forked 32316 -(32316) found -[5524] Forked 32317 -(32317) found -[5523] Forked 32318 -(32318) found -[5522] Forked 32319 -(32319) found -[5521] Forked 32320 -(32320) found -[5520] Forked 32321 -(32321) found -[5519] Forked 32322 -(32322) found -[5518] Forked 32323 -(32323) found -[5517] Forked 32324 -(32324) found -[5516] Forked 32325 -(32325) found -[5515] Forked 32326 -(32326) found -[5514] Forked 32327 -(32327) found -[5513] Forked 32328 -(32328) found -[5512] Forked 32329 -(32329) found -[5511] Forked 32330 -[5510] Forked 32331 -(32330) found -(32331) found -[5509] Forked 32332 -[5508] Forked 32333 -(32332) found -(32333) found -[5507] Forked 32334 -[5506] Forked 32335 -(32334) found -(32335) found -[5505] Forked 32336 -[5504] Forked 32337 -(32336) found -(32337) found -[5503] Forked 32338 -[5502] Forked 32339 -(32338) found -(32339) found -[5501] Forked 32340 -[5500] Forked 32341 -(32340) found -(32341) found -[5499] Forked 32342 -[5498] Forked 32343 -(32342) found -(32343) found -[5497] Forked 32344 -[5496] Forked 32345 -(32344) found -(32345) found -[5495] Forked 32346 -[5494] Forked 32347 -(32346) found -(32347) found -[5493] Forked 32348 -[5492] Forked 32349 -(32348) found -(32349) found -[5491] Forked 32350 -[5490] Forked 32351 -(32350) found -(32351) found -[5489] Forked 32352 -[5488] Forked 32353 -(32352) found -(32353) found -[5487] Forked 32354 -[5486] Forked 32355 -(32354) found -(32355) found -[5485] Forked 32356 -[5484] Forked 32357 -(32356) found -(32357) found -[5483] Forked 32358 -[5482] Forked 32359 -(32358) found -(32359) found -[5481] Forked 32360 -[5480] Forked 32361 -(32360) found -(32361) found -[5479] Forked 32362 -[5478] Forked 32363 -(32362) found -(32363) found -[5477] Forked 32364 -[5476] Forked 32365 -(32364) found -(32365) found -[5475] Forked 32366 -[5474] Forked 32367 -(32366) found -(32367) found -[5473] Forked 32368 -[5472] Forked 32369 -(32368) found -(32369) found -[5471] Forked 32370 -[5470] Forked 32371 -(32370) found -(32371) found -[5469] Forked 32372 -[5468] Forked 32373 -(32372) found -(32373) found -[5467] Forked 32374 -[5466] Forked 32375 -(32374) found -(32375) found -[5465] Forked 32376 -[5464] Forked 32377 -(32376) found -(32377) found -[5463] Forked 32378 -[5462] Forked 32379 -(32378) found -(32379) found -[5461] Forked 32380 -[5460] Forked 32381 -(32380) found -(32381) found -[5459] Forked 32382 -[5458] Forked 32383 -(32382) found -(32383) found -[5457] Forked 32384 -[5456] Forked 32385 -(32384) found -(32385) found -[5455] Forked 32386 -[5454] Forked 32387 -(32386) found -(32387) found -[5453] Forked 32388 -[5452] Forked 32389 -(32388) found -(32389) found -[5451] Forked 32390 -[5450] Forked 32391 -(32390) found -(32391) found -[5449] Forked 32392 -[5448] Forked 32393 -(32392) found -(32393) found -[5447] Forked 32394 -[5446] Forked 32395 -(32394) found -(32395) found -[5445] Forked 32396 -[5444] Forked 32397 -(32396) found -(32397) found -[5443] Forked 32398 -[5442] Forked 32399 -(32398) found -(32399) found -[5441] Forked 32400 -[5440] Forked 32401 -(32400) found -(32401) found -[5439] Forked 32402 -[5438] Forked 32403 -(32402) found -(32403) found -[5437] Forked 32404 -[5436] Forked 32405 -(32404) found -(32405) found -[5435] Forked 32406 -[5434] Forked 32407 -(32406) found -(32407) found -[5433] Forked 32408 -[5432] Forked 32409 -(32408) found -(32409) found -[5431] Forked 32410 -[5430] Forked 32411 -(32410) found -(32411) found -[5429] Forked 32412 -[5428] Forked 32413 -(32412) found -(32413) found -[5427] Forked 32414 -[5426] Forked 32415 -(32414) found -(32415) found -[5425] Forked 32416 -[5424] Forked 32417 -(32416) found -(32417) found -[5423] Forked 32418 -(32418) found -[5422] Forked 32419 -[5421] Forked 32420 -(32419) found -(32420) found -[5420] Forked 32421 -[5419] Forked 32422 -(32421) found -(32422) found -[5418] Forked 32423 -[5417] Forked 32424 -(32423) found -(32424) found -[5416] Forked 32425 -[5415] Forked 32426 -(32425) found -(32426) found -[5414] Forked 32427 -[5413] Forked 32428 -(32427) found -(32428) found -[5412] Forked 32429 -[5411] Forked 32430 -(32429) found -(32430) found -[5410] Forked 32431 -[5409] Forked 32432 -(32431) found -(32432) found -[5408] Forked 32433 -[5407] Forked 32434 -(32433) found -(32434) found -[5406] Forked 32435 -[5405] Forked 32436 -(32435) found -(32436) found -[5404] Forked 32437 -[5403] Forked 32438 -(32437) found -(32438) found -[5402] Forked 32439 -[5401] Forked 32440 -(32439) found -(32440) found -[5400] Forked 32441 -[5399] Forked 32442 -(32441) found -(32442) found -[5398] Forked 32443 -[5397] Forked 32444 -(32443) found -(32444) found -[5396] Forked 32445 -[5395] Forked 32446 -(32445) found -(32446) found -[5394] Forked 32447 -[5393] Forked 32448 -(32447) found -(32448) found -[5392] Forked 32449 -[5391] Forked 32450 -(32449) found -(32450) found -[5390] Forked 32451 -[5389] Forked 32452 -(32451) found -(32452) found -[5388] Forked 32453 -[5387] Forked 32454 -(32453) found -(32454) found -[5386] Forked 32455 -[5385] Forked 32456 -(32455) found -(32456) found -[5384] Forked 32457 -[5383] Forked 32458 -(32457) found -(32458) found -[5382] Forked 32459 -[5381] Forked 32460 -(32459) found -(32460) found -[5380] Forked 32461 -[5379] Forked 32462 -(32461) found -(32462) found -[5378] Forked 32463 -[5377] Forked 32464 -(32463) found -(32464) found -[5376] Forked 32465 -[5375] Forked 32466 -(32465) found -(32466) found -[5374] Forked 32467 -[5373] Forked 32468 -(32467) found -(32468) found -[5372] Forked 32469 -[5371] Forked 32470 -(32469) found -(32470) found -[5370] Forked 32471 -[5369] Forked 32472 -(32471) found -(32472) found -[5368] Forked 32473 -[5367] Forked 32474 -(32473) found -(32474) found -[5366] Forked 32475 -[5365] Forked 32476 -(32475) found -(32476) found -[5364] Forked 32477 -[5363] Forked 32478 -(32477) found -(32478) found -[5362] Forked 32479 -[5361] Forked 32480 -(32479) found -(32480) found -[5360] Forked 32481 -[5359] Forked 32482 -(32481) found -(32482) found -[5358] Forked 32483 -[5357] Forked 32484 -(32483) found -(32484) found -[5356] Forked 32485 -[5355] Forked 32486 -(32485) found -(32486) found -[5354] Forked 32487 -[5353] Forked 32488 -(32487) found -(32488) found -[5352] Forked 32489 -[5351] Forked 32490 -(32489) found -(32490) found -[5350] Forked 32491 -[5349] Forked 32492 -(32491) found -(32492) found -[5348] Forked 32493 -[5347] Forked 32494 -(32493) found -(32494) found -[5346] Forked 32495 -[5345] Forked 32496 -(32495) found -(32496) found -[5344] Forked 32497 -[5343] Forked 32498 -(32497) found -(32498) found -[5342] Forked 32499 -[5341] Forked 32500 -(32499) found -(32500) found -[5340] Forked 32501 -[5339] Forked 32502 -(32501) found -(32502) found -[5338] Forked 32503 -[5337] Forked 32504 -(32503) found -(32504) found -[5336] Forked 32505 -[5335] Forked 32506 -(32505) found -(32506) found -[5334] Forked 32507 -[5333] Forked 32508 -(32507) found -(32508) found -[5332] Forked 32509 -[5331] Forked 32510 -(32509) found -(32510) found -[5330] Forked 32511 -[5329] Forked 32512 -(32511) found -(32512) found -[5328] Forked 32513 -[5327] Forked 32514 -(32513) found -(32514) found -[5326] Forked 32515 -[5325] Forked 32516 -(32515) found -(32516) found -[5324] Forked 32517 -[5323] Forked 32518 -(32517) found -(32518) found -[5322] Forked 32519 -[5321] Forked 32520 -(32519) found -(32520) found -[5320] Forked 32521 -[5319] Forked 32522 -(32521) found -(32522) found -[5318] Forked 32523 -[5317] Forked 32524 -(32523) found -(32524) found -[5316] Forked 32525 -[5315] Forked 32526 -(32525) found -(32526) found -[5314] Forked 32527 -[5313] Forked 32528 -(32527) found -(32528) found -[5312] Forked 32529 -[5311] Forked 32530 -(32529) found -(32530) found -[5310] Forked 32531 -[5309] Forked 32532 -(32531) found -(32532) found -[5308] Forked 32533 -[5307] Forked 32534 -(32533) found -(32534) found -[5306] Forked 32535 -[5305] Forked 32536 -(32535) found -(32536) found -[5304] Forked 32537 -[5303] Forked 32538 -(32537) found -(32538) found -[5302] Forked 32539 -[5301] Forked 32540 -(32539) found -(32540) found -[5300] Forked 32541 -[5299] Forked 32542 -(32541) found -(32542) found -[5298] Forked 32543 -(32543) found -[5297] Forked 32544 -(32544) found -[5296] Forked 32545 -(32545) found -[5295] Forked 32546 -(32546) found -[5294] Forked 32547 -(32547) found -[5293] Forked 32548 -(32548) found -[5292] Forked 32549 -(32549) found -[5291] Forked 32550 -[5290] Forked 32551 -(32550) found -(32551) found -[5289] Forked 32552 -[5288] Forked 32553 -(32552) found -(32553) found -[5287] Forked 32554 -[5286] Forked 32555 -(32554) found -(32555) found -[5285] Forked 32556 -[5284] Forked 32557 -(32556) found -(32557) found -[5283] Forked 32558 -[5282] Forked 32559 -(32558) found -(32559) found -[5281] Forked 32560 -[5280] Forked 32561 -(32560) found -(32561) found -[5279] Forked 32562 -[5278] Forked 32563 -(32562) found -(32563) found -[5277] Forked 32564 -[5276] Forked 32565 -(32564) found -(32565) found -[5275] Forked 32566 -[5274] Forked 32567 -(32566) found -(32567) found -[5273] Forked 32568 -[5272] Forked 32569 -(32568) found -(32569) found -[5271] Forked 32570 -[5270] Forked 32571 -(32570) found -(32571) found -[5269] Forked 32572 -[5268] Forked 32573 -(32572) found -(32573) found -[5267] Forked 32574 -[5266] Forked 32575 -(32574) found -(32575) found -[5265] Forked 32576 -[5264] Forked 32577 -(32576) found -(32577) found -[5263] Forked 32578 -[5262] Forked 32579 -(32578) found -(32579) found -[5261] Forked 32580 -[5260] Forked 32581 -(32580) found -(32581) found -[5259] Forked 32582 -[5258] Forked 32583 -(32582) found -(32583) found -[5257] Forked 32584 -[5256] Forked 32585 -(32584) found -(32585) found -[5255] Forked 32586 -[5254] Forked 32587 -(32586) found -(32587) found -[5253] Forked 32588 -[5252] Forked 32589 -(32588) found -(32589) found -[5251] Forked 32590 -[5250] Forked 32591 -(32590) found -(32591) found -[5249] Forked 32592 -[5248] Forked 32593 -(32592) found -(32593) found -[5247] Forked 32594 -(32594) found -[5246] Forked 32595 -(32595) found -[5245] Forked 32596 -(32596) found -[5244] Forked 32597 -(32597) found -[5243] Forked 32598 -(32598) found -[5242] Forked 32599 -(32599) found -[5241] Forked 32600 -(32600) found -[5240] Forked 32601 -(32601) found -[5239] Forked 32602 -(32602) found -[5238] Forked 32603 -(32603) found -[5237] Forked 32604 -(32604) found -[5236] Forked 32605 -(32605) found -[5235] Forked 32606 -(32606) found -[5234] Forked 32607 -(32607) found -[5233] Forked 32608 -(32608) found -[5232] Forked 32609 -(32609) found -[5231] Forked 32610 -(32610) found -[5230] Forked 32611 -(32611) found -[5229] Forked 32612 -(32612) found -[5228] Forked 32613 -(32613) found -[5227] Forked 32614 -(32614) found -[5226] Forked 32615 -(32615) found -[5225] Forked 32616 -(32616) found -[5224] Forked 32617 -(32617) found -[5223] Forked 32618 -(32618) found -[5222] Forked 32619 -(32619) found -[5221] Forked 32620 -(32620) found -[5220] Forked 32621 -(32621) found -[5219] Forked 32622 -(32622) found -[5218] Forked 32623 -(32623) found -[5217] Forked 32624 -(32624) found -[5216] Forked 32625 -(32625) found -[5215] Forked 32626 -(32626) found -[5214] Forked 32627 -(32627) found -[5213] Forked 32628 -(32628) found -[5212] Forked 32629 -(32629) found -[5211] Forked 32630 -(32630) found -[5210] Forked 32631 -(32631) found -[5209] Forked 32632 -(32632) found -[5208] Forked 32633 -(32633) found -[5207] Forked 32634 -[5206] Forked 32635 -(32634) found -(32635) found -[5205] Forked 32636 -[5204] Forked 32637 -(32636) found -(32637) found -[5203] Forked 32638 -[5202] Forked 32639 -(32638) found -(32639) found -[5201] Forked 32640 -[5200] Forked 32641 -(32640) found -(32641) found -[5199] Forked 32642 -[5198] Forked 32643 -(32642) found -(32643) found -[5197] Forked 32644 -[5196] Forked 32645 -(32644) found -(32645) found -[5195] Forked 32646 -[5194] Forked 32647 -(32646) found -(32647) found -[5193] Forked 32648 -[5192] Forked 32649 -(32648) found -(32649) found -[5191] Forked 32650 -[5190] Forked 32651 -(32650) found -(32651) found -[5189] Forked 32652 -[5188] Forked 32653 -(32652) found -(32653) found -[5187] Forked 32654 -[5186] Forked 32655 -(32654) found -(32655) found -[5185] Forked 32656 -[5184] Forked 32657 -(32656) found -(32657) found -[5183] Forked 32658 -[5182] Forked 32659 -(32658) found -(32659) found -[5181] Forked 32660 -(32660) found -[5180] Forked 32661 -[5179] Forked 32662 -(32661) found -(32662) found -[5178] Forked 32663 -[5177] Forked 32664 -(32663) found -(32664) found -[5176] Forked 32665 -[5175] Forked 32666 -(32665) found -(32666) found -[5174] Forked 32667 -[5173] Forked 32668 -(32667) found -(32668) found -[5172] Forked 32669 -[5171] Forked 32670 -(32669) found -(32670) found -[5170] Forked 32671 -[5169] Forked 32672 -(32671) found -(32672) found -[5168] Forked 32673 -(32673) found -[5167] Forked 32674 -(32674) found -[5166] Forked 32675 -(32675) found -[5165] Forked 32676 -(32676) found -[5164] Forked 32677 -(32677) found -[5163] Forked 32678 -(32678) found -[5162] Forked 32679 -(32679) found -[5161] Forked 32680 -(32680) found -[5160] Forked 32681 -(32681) found -[5159] Forked 32682 -(32682) found -[5158] Forked 32683 -(32683) found -[5157] Forked 32684 -(32684) found -[5156] Forked 32685 -(32685) found -[5155] Forked 32686 -(32686) found -[5154] Forked 32687 -(32687) found -[5153] Forked 32688 -(32688) found -[5152] Forked 32689 -(32689) found -[5151] Forked 32690 -(32690) found -[5150] Forked 32691 -(32691) found -[5149] Forked 32692 -(32692) found -[5148] Forked 32693 -(32693) found -[5147] Forked 32694 -(32694) found -[5146] Forked 32695 -(32695) found -[5145] Forked 32696 -(32696) found -[5144] Forked 32697 -(32697) found -[5143] Forked 32698 -(32698) found -[5142] Forked 32699 -(32699) found -[5141] Forked 32700 -(32700) found -[5140] Forked 32701 -(32701) found -[5139] Forked 32702 -(32702) found -[5138] Forked 32703 -(32703) found -[5137] Forked 32704 -(32704) found -[5136] Forked 32705 -(32705) found -[5135] Forked 32706 -(32706) found -[5134] Forked 32707 -(32707) found -[5133] Forked 32708 -(32708) found -[5132] Forked 32709 -(32709) found -[5131] Forked 32710 -(32710) found -[5130] Forked 32711 -(32711) found -[5129] Forked 32712 -[5128] Forked 32713 -(32712) found -(32713) found -[5127] Forked 32714 -[5126] Forked 32715 -(32714) found -(32715) found -[5125] Forked 32716 -[5124] Forked 32717 -(32716) found -(32717) found -[5123] Forked 32718 -[5122] Forked 32719 -(32718) found -(32719) found -[5121] Forked 32720 -[5120] Forked 32721 -(32720) found -(32721) found -[5119] Forked 32722 -[5118] Forked 32723 -(32722) found -(32723) found -[5117] Forked 32724 -[5116] Forked 32725 -(32724) found -(32725) found -[5115] Forked 32726 -[5114] Forked 32727 -(32726) found -(32727) found -[5113] Forked 32728 -[5112] Forked 32729 -(32728) found -(32729) found -[5111] Forked 32730 -[5110] Forked 32731 -(32730) found -(32731) found -[5109] Forked 32732 -[5108] Forked 32733 -(32732) found -(32733) found -[5107] Forked 32734 -[5106] Forked 32735 -(32734) found -(32735) found -[5105] Forked 32736 -[5104] Forked 32737 -(32736) found -(32737) found -[5103] Forked 32738 -[5102] Forked 32739 -(32738) found -(32739) found -[5101] Forked 32740 -[5100] Forked 32741 -(32740) found -(32741) found -[5099] Forked 32742 -[5098] Forked 32743 -(32742) found -(32743) found -[5097] Forked 32744 -[5096] Forked 32745 -(32744) found -(32745) found -[5095] Forked 32746 -[5094] Forked 32747 -(32746) found -(32747) found -[5093] Forked 32748 -[5092] Forked 32749 -(32748) found -(32749) found -[5091] Forked 32750 -[5090] Forked 32751 -(32750) found -(32751) found -[5089] Forked 32752 -[5088] Forked 32753 -(32752) found -(32753) found -[5087] Forked 32754 -[5086] Forked 32755 -(32754) found -(32755) found -[5085] Forked 32756 -[5084] Forked 32757 -(32756) found -(32757) found -[5083] Forked 32758 -[5082] Forked 32759 -(32758) found -(32759) found -[5081] Forked 32760 -[5080] Forked 32761 -(32760) found -(32761) found -[5079] Forked 32762 -[5078] Forked 32763 -(32762) found -(32763) found -[5077] Forked 32764 -[5076] Forked 32765 -(32764) found -(32765) found -[5075] Forked 32766 -[5074] Forked 32767 -(32766) found -(32767) found -[5073] Forked 300 -[5072] Forked 301 -(300) found -(301) found -[5071] Forked 302 -[5070] Forked 303 -(302) found -(303) found -[5069] Forked 304 -[5068] Forked 305 -(304) found -(305) found -[5067] Forked 306 -[5066] Forked 307 -(306) found -(307) found -[5065] Forked 308 -(308) found -[5064] Forked 310 -(310) found -[5063] Forked 311 -(311) found -[5062] Forked 312 -(312) found -[5061] Forked 313 -(313) found -[5060] Forked 314 -(314) found -[5059] Forked 315 -(315) found -[5058] Forked 316 -(316) found -[5057] Forked 317 -(317) found -[5056] Forked 318 -(318) found -[5055] Forked 319 -(319) found -[5054] Forked 320 -(320) found -[5053] Forked 321 -(321) found -[5052] Forked 322 -(322) found -[5051] Forked 323 -(323) found -[5050] Forked 324 -(324) found -[5049] Forked 325 -(325) found -[5048] Forked 328 -(328) found -[5047] Forked 330 -(330) found -[5046] Forked 331 -(331) found -[5045] Forked 332 -(332) found -[5044] Forked 333 -(333) found -[5043] Forked 334 -(334) found -[5042] Forked 335 -(335) found -[5041] Forked 336 -(336) found -[5040] Forked 337 -(337) found -[5039] Forked 338 -(338) found -[5038] Forked 339 -(339) found -[5037] Forked 340 -(340) found -[5036] Forked 341 -(341) found -[5035] Forked 342 -(342) found -[5034] Forked 343 -(343) found -[5033] Forked 344 -(344) found -[5032] Forked 345 -(345) found -[5031] Forked 346 -(346) found -[5030] Forked 347 -(347) found -[5029] Forked 348 -(348) found -[5028] Forked 349 -(349) found -[5027] Forked 350 -(350) found -[5026] Forked 351 -(351) found -[5025] Forked 352 -(352) found -[5024] Forked 353 -(353) found -[5023] Forked 354 -(354) found -[5022] Forked 355 -(355) found -[5021] Forked 356 -(356) found -[5020] Forked 357 -(357) found -[5019] Forked 358 -(358) found -[5018] Forked 359 -(359) found -[5017] Forked 360 -(360) found -[5016] Forked 361 -(361) found -[5015] Forked 362 -(362) found -[5014] Forked 363 -(363) found -[5013] Forked 364 -[5012] Forked 365 -(364) found -(365) found -[5011] Forked 366 -[5010] Forked 367 -(366) found -(367) found -[5009] Forked 368 -[5008] Forked 369 -(368) found -(369) found -[5007] Forked 370 -[5006] Forked 371 -(370) found -(371) found -[5005] Forked 372 -[5004] Forked 373 -(372) found -(373) found -[5003] Forked 374 -[5002] Forked 375 -(374) found -(375) found -[5001] Forked 376 -[5000] Forked 377 -(376) found -(377) found -[4999] Forked 378 -[4998] Forked 379 -(378) found -(379) found -[4997] Forked 380 -[4996] Forked 381 -(380) found -(381) found -[4995] Forked 383 -[4994] Forked 384 -(383) found -(384) found -[4993] Forked 385 -[4992] Forked 386 -(385) found -(386) found -[4991] Forked 387 -[4990] Forked 388 -(387) found -(388) found -[4989] Forked 389 -[4988] Forked 390 -(389) found -(390) found -[4987] Forked 391 -[4986] Forked 392 -(391) found -(392) found -[4985] Forked 393 -[4984] Forked 394 -(393) found -(394) found -[4983] Forked 395 -[4982] Forked 396 -(395) found -(396) found -[4981] Forked 397 -[4980] Forked 398 -(397) found -(398) found -[4979] Forked 399 -[4978] Forked 401 -(399) found -(401) found -[4977] Forked 402 -[4976] Forked 403 -(402) found -(403) found -[4975] Forked 404 -[4974] Forked 405 -(404) found -(405) found -[4973] Forked 407 -[4972] Forked 408 -(407) found -(408) found -[4971] Forked 409 -[4970] Forked 410 -(409) found -(410) found -[4969] Forked 411 -[4968] Forked 412 -(411) found -(412) found -[4967] Forked 413 -[4966] Forked 414 -(413) found -(414) found -[4965] Forked 415 -[4964] Forked 416 -(415) found -(416) found -[4963] Forked 417 -[4962] Forked 418 -(417) found -(418) found -[4961] Forked 419 -[4960] Forked 420 -(419) found -(420) found -[4959] Forked 421 -[4958] Forked 422 -(421) found -(422) found -[4957] Forked 423 -[4956] Forked 424 -(423) found -(424) found -[4955] Forked 425 -[4954] Forked 426 -(425) found -(426) found -[4953] Forked 427 -[4952] Forked 429 -(427) found -(429) found -[4951] Forked 430 -[4950] Forked 431 -(430) found -(431) found -[4949] Forked 432 -[4948] Forked 433 -(432) found -(433) found -[4947] Forked 434 -[4946] Forked 435 -(434) found -(435) found -[4945] Forked 436 -[4944] Forked 437 -(436) found -(437) found -[4943] Forked 438 -[4942] Forked 439 -(439) found -(438) found -[4941] Forked 440 -(440) found -[4940] Forked 441 -(441) found -[4939] Forked 442 -(442) found -[4938] Forked 443 -(443) found -[4937] Forked 444 -(444) found -[4936] Forked 445 -(445) found -[4935] Forked 446 -(446) found -[4934] Forked 447 -(447) found -[4933] Forked 448 -(448) found -[4932] Forked 449 -(449) found -[4931] Forked 450 -(450) found -[4930] Forked 451 -(451) found -[4929] Forked 452 -(452) found -[4928] Forked 453 -(453) found -[4927] Forked 454 -(454) found -[4926] Forked 455 -(455) found -[4925] Forked 456 -(456) found -[4924] Forked 457 -(457) found -[4923] Forked 458 -(458) found -[4922] Forked 459 -(459) found -[4921] Forked 460 -(460) found -[4920] Forked 461 -(461) found -[4919] Forked 462 -(462) found -[4918] Forked 463 -(463) found -[4917] Forked 464 -(464) found -[4916] Forked 465 -(465) found -[4915] Forked 466 -(466) found -[4914] Forked 467 -(467) found -[4913] Forked 468 -(468) found -[4912] Forked 469 -(469) found -[4911] Forked 470 -(470) found -[4910] Forked 471 -(471) found -[4909] Forked 472 -(472) found -[4908] Forked 473 -(473) found -[4907] Forked 474 -(474) found -[4906] Forked 475 -(475) found -[4905] Forked 476 -(476) found -[4904] Forked 477 -(477) found -[4903] Forked 478 -(478) found -[4902] Forked 479 -(479) found -[4901] Forked 480 -(480) found -[4900] Forked 481 -(481) found -[4899] Forked 482 -(482) found -[4898] Forked 483 -(483) found -[4897] Forked 484 -(484) found -[4896] Forked 485 -(485) found -[4895] Forked 486 -(486) found -[4894] Forked 487 -(487) found -[4893] Forked 488 -(488) found -[4892] Forked 489 -(489) found -[4891] Forked 490 -(490) found -[4890] Forked 491 -(491) found -[4889] Forked 492 -(492) found -[4888] Forked 493 -(493) found -[4887] Forked 494 -(494) found -[4886] Forked 495 -(495) found -[4885] Forked 496 -(496) found -[4884] Forked 497 -(497) found -[4883] Forked 498 -(498) found -[4882] Forked 499 -(499) found -[4881] Forked 500 -(500) found -[4880] Forked 501 -(501) found -[4879] Forked 502 -(502) found -[4878] Forked 503 -(503) found -[4877] Forked 504 -(504) found -[4876] Forked 505 -(505) found -[4875] Forked 506 -(506) found -[4874] Forked 507 -(507) found -[4873] Forked 508 -(508) found -[4872] Forked 509 -(509) found -[4871] Forked 510 -(510) found -[4870] Forked 511 -(511) found -[4869] Forked 512 -(512) found -[4868] Forked 513 -(513) found -[4867] Forked 514 -(514) found -[4866] Forked 515 -(515) found -[4865] Forked 516 -(516) found -[4864] Forked 517 -(517) found -[4863] Forked 518 -(518) found -[4862] Forked 519 -[4861] Forked 520 -(519) found -(520) found -[4860] Forked 521 -[4859] Forked 522 -(521) found -(522) found -[4858] Forked 523 -[4857] Forked 524 -(523) found -(524) found -[4856] Forked 525 -[4855] Forked 526 -(525) found -(526) found -[4854] Forked 527 -[4853] Forked 528 -(527) found -(528) found -[4852] Forked 529 -[4851] Forked 530 -(529) found -(530) found -[4850] Forked 531 -[4849] Forked 532 -(531) found -(532) found -[4848] Forked 533 -[4847] Forked 534 -(533) found -(534) found -[4846] Forked 535 -[4845] Forked 536 -(535) found -(536) found -[4844] Forked 537 -[4843] Forked 538 -(537) found -(538) found -[4842] Forked 539 -[4841] Forked 540 -(539) found -(540) found -[4840] Forked 541 -[4839] Forked 542 -(541) found -(542) found -[4838] Forked 543 -[4837] Forked 544 -(543) found -(544) found -[4836] Forked 545 -[4835] Forked 546 -(545) found -(546) found -[4834] Forked 547 -[4833] Forked 548 -(547) found -(548) found -[4832] Forked 549 -[4831] Forked 550 -(549) found -(550) found -[4830] Forked 551 -[4829] Forked 552 -(551) found -(552) found -[4828] Forked 553 -[4827] Forked 554 -(553) found -(554) found -[4826] Forked 555 -[4825] Forked 556 -(555) found -(556) found -[4824] Forked 557 -[4823] Forked 558 -(557) found -(558) found -[4822] Forked 559 -[4821] Forked 560 -(559) found -(560) found -[4820] Forked 561 -[4819] Forked 562 -(561) found -(562) found -[4818] Forked 563 -[4817] Forked 564 -(563) found -(564) found -[4816] Forked 565 -(565) found -[4815] Forked 566 -(566) found -[4814] Forked 567 -(567) found -[4813] Forked 568 -(568) found -[4812] Forked 569 -(569) found -[4811] Forked 570 -(570) found -[4810] Forked 571 -(571) found -[4809] Forked 572 -(572) found -[4808] Forked 573 -(573) found -[4807] Forked 574 -(574) found -[4806] Forked 575 -(575) found -[4805] Forked 576 -(576) found -[4804] Forked 577 -(577) found -[4803] Forked 578 -(578) found -[4802] Forked 579 -(579) found -[4801] Forked 580 -(580) found -[4800] Forked 581 -(581) found -[4799] Forked 582 -(582) found -[4798] Forked 583 -(583) found -[4797] Forked 584 -(584) found -[4796] Forked 585 -(585) found -[4795] Forked 586 -(586) found -[4794] Forked 587 -(587) found -[4793] Forked 588 -(588) found -[4792] Forked 589 -(589) found -[4791] Forked 590 -(590) found -[4790] Forked 591 -(591) found -[4789] Forked 592 -(592) found -[4788] Forked 593 -(593) found -[4787] Forked 594 -(594) found -[4786] Forked 595 -(595) found -[4785] Forked 596 -(596) found -[4784] Forked 597 -(597) found -[4783] Forked 598 -(598) found -[4782] Forked 599 -(599) found -[4781] Forked 600 -[4780] Forked 601 -(600) found -(601) found -[4779] Forked 602 -[4778] Forked 603 -(602) found -(603) found -[4777] Forked 604 -[4776] Forked 606 -(604) found -(606) found -[4775] Forked 607 -[4774] Forked 609 -(607) found -(609) found -[4773] Forked 610 -[4772] Forked 612 -(610) found -(612) found -[4771] Forked 613 -[4770] Forked 615 -(613) found -(615) found -[4769] Forked 616 -[4768] Forked 617 -(616) found -(617) found -[4767] Forked 618 -[4766] Forked 619 -(618) found -(619) found -[4765] Forked 620 -[4764] Forked 621 -(620) found -(621) found -[4763] Forked 622 -[4762] Forked 623 -(622) found -(623) found -[4761] Forked 624 -[4760] Forked 625 -(624) found -(625) found -[4759] Forked 626 -[4758] Forked 627 -(626) found -(627) found -[4757] Forked 628 -[4756] Forked 629 -(628) found -(629) found -[4755] Forked 630 -[4754] Forked 631 -(630) found -(631) found -[4753] Forked 632 -[4752] Forked 633 -(632) found -(633) found -[4751] Forked 634 -[4750] Forked 635 -(634) found -(635) found -[4749] Forked 636 -[4748] Forked 637 -(636) found -(637) found -[4747] Forked 638 -[4746] Forked 639 -(638) found -(639) found -[4745] Forked 640 -[4744] Forked 641 -(640) found -(641) found -[4743] Forked 642 -[4742] Forked 643 -(642) found -(643) found -[4741] Forked 644 -[4740] Forked 646 -(644) found -(646) found -[4739] Forked 647 -(647) found -[4738] Forked 648 -(648) found -[4737] Forked 649 -(649) found -[4736] Forked 650 -(650) found -[4735] Forked 651 -(651) found -[4734] Forked 652 -(652) found -[4733] Forked 653 -(653) found -[4732] Forked 654 -(654) found -[4731] Forked 655 -(655) found -[4730] Forked 656 -(656) found -[4729] Forked 657 -(657) found -[4728] Forked 658 -(658) found -[4727] Forked 659 -(659) found -[4726] Forked 660 -(660) found -[4725] Forked 661 -(661) found -[4724] Forked 662 -(662) found -[4723] Forked 663 -(663) found -[4722] Forked 664 -(664) found -[4721] Forked 665 -(665) found -[4720] Forked 666 -(666) found -[4719] Forked 667 -(667) found -[4718] Forked 668 -(668) found -[4717] Forked 669 -(669) found -[4716] Forked 670 -(670) found -[4715] Forked 671 -(671) found -[4714] Forked 672 -(672) found -[4713] Forked 673 -(673) found -[4712] Forked 674 -(674) found -[4711] Forked 675 -(675) found -[4710] Forked 677 -(677) found -[4709] Forked 678 -(678) found -[4708] Forked 679 -(679) found -[4707] Forked 680 -(680) found -[4706] Forked 681 -(681) found -[4705] Forked 682 -(682) found -[4704] Forked 683 -(683) found -[4703] Forked 684 -(684) found -[4702] Forked 685 -(685) found -[4701] Forked 686 -[4700] Forked 687 -(686) found -(687) found -[4699] Forked 688 -[4698] Forked 689 -(688) found -(689) found -[4697] Forked 690 -[4696] Forked 691 -(691) found -(690) found -[4695] Forked 692 -(692) found -[4694] Forked 693 -(693) found -[4693] Forked 694 -(694) found -[4692] Forked 695 -(695) found -[4691] Forked 696 -(696) found -[4690] Forked 697 -(697) found -[4689] Forked 698 -(698) found -[4688] Forked 699 -(699) found -[4687] Forked 700 -(700) found -[4686] Forked 701 -(701) found -[4685] Forked 702 -(702) found -[4684] Forked 703 -(703) found -[4683] Forked 704 -(704) found -[4682] Forked 705 -(705) found -[4681] Forked 706 -(706) found -[4680] Forked 707 -(707) found -[4679] Forked 708 -(708) found -[4678] Forked 709 -(709) found -[4677] Forked 710 -(710) found -[4676] Forked 711 -(711) found -[4675] Forked 712 -(712) found -[4674] Forked 713 -(713) found -[4673] Forked 714 -(714) found -[4672] Forked 715 -(715) found -[4671] Forked 716 -(716) found -[4670] Forked 717 -(717) found -[4669] Forked 718 -(718) found -[4668] Forked 719 -(719) found -[4667] Forked 720 -(720) found -[4666] Forked 721 -(721) found -[4665] Forked 722 -(722) found -[4664] Forked 723 -(723) found -[4663] Forked 724 -(724) found -[4662] Forked 725 -(725) found -[4661] Forked 726 -(726) found -[4660] Forked 727 -(727) found -[4659] Forked 728 -(728) found -[4658] Forked 729 -(729) found -[4657] Forked 730 -(730) found -[4656] Forked 731 -(731) found -[4655] Forked 732 -(732) found -[4654] Forked 734 -(734) found -[4653] Forked 735 -(735) found -[4652] Forked 737 -(737) found -[4651] Forked 740 -(740) found -[4650] Forked 742 -(742) found -[4649] Forked 744 -(744) found -[4648] Forked 745 -(745) found -[4647] Forked 746 -(746) found -[4646] Forked 747 -(747) found -[4645] Forked 748 -(748) found -[4644] Forked 749 -(749) found -[4643] Forked 750 -(750) found -[4642] Forked 751 -(751) found -[4641] Forked 752 -(752) found -[4640] Forked 753 -(753) found -[4639] Forked 754 -(754) found -[4638] Forked 755 -(755) found -[4637] Forked 756 -(756) found -[4636] Forked 757 -(757) found -[4635] Forked 758 -(758) found -[4634] Forked 759 -(759) found -[4633] Forked 760 -(760) found -[4632] Forked 761 -(761) found -[4631] Forked 762 -(762) found -[4630] Forked 763 -(763) found -[4629] Forked 764 -(764) found -[4628] Forked 765 -(765) found -[4627] Forked 766 -(766) found -[4626] Forked 767 -(767) found -[4625] Forked 768 -(768) found -[4624] Forked 769 -(769) found -[4623] Forked 770 -(770) found -[4622] Forked 771 -(771) found -[4621] Forked 772 -(772) found -[4620] Forked 773 -(773) found -[4619] Forked 774 -(774) found -[4618] Forked 775 -(775) found -[4617] Forked 776 -(776) found -[4616] Forked 777 -(777) found -[4615] Forked 778 -(778) found -[4614] Forked 780 -(780) found -[4613] Forked 781 -(781) found -[4612] Forked 782 -(782) found -[4611] Forked 783 -(783) found -[4610] Forked 784 -(784) found -[4609] Forked 785 -(785) found -[4608] Forked 786 -(786) found -[4607] Forked 787 -(787) found -[4606] Forked 788 -(788) found -[4605] Forked 789 -(789) found -[4604] Forked 790 -(790) found -[4603] Forked 791 -(791) found -[4602] Forked 792 -(792) found -[4601] Forked 793 -(793) found -[4600] Forked 794 -[4599] Forked 795 -(794) found -(795) found -[4598] Forked 796 -[4597] Forked 797 -(796) found -(797) found -[4596] Forked 798 -[4595] Forked 799 -(798) found -(799) found -[4594] Forked 800 -[4593] Forked 801 -(800) found -(801) found -[4592] Forked 802 -[4591] Forked 803 -(802) found -(803) found -[4590] Forked 804 -[4589] Forked 805 -(804) found -(805) found -[4588] Forked 806 -[4587] Forked 807 -(806) found -(807) found -[4586] Forked 808 -[4585] Forked 809 -(808) found -(809) found -[4584] Forked 810 -[4583] Forked 811 -(810) found -(811) found -[4582] Forked 812 -[4581] Forked 813 -(812) found -(813) found -[4580] Forked 814 -[4579] Forked 815 -(814) found -(815) found -[4578] Forked 816 -[4577] Forked 817 -(816) found -(817) found -[4576] Forked 818 -[4575] Forked 819 -(818) found -(819) found -[4574] Forked 820 -[4573] Forked 821 -(820) found -(821) found -[4572] Forked 822 -[4571] Forked 823 -(822) found -(823) found -[4570] Forked 824 -[4569] Forked 825 -(824) found -(825) found -[4568] Forked 826 -[4567] Forked 827 -(826) found -(827) found -[4566] Forked 828 -[4565] Forked 829 -(828) found -(829) found -[4564] Forked 830 -[4563] Forked 831 -(830) found -(831) found -[4562] Forked 832 -(832) found -[4561] Forked 833 -[4560] Forked 834 -(833) found -(834) found -[4559] Forked 835 -[4558] Forked 836 -(835) found -(836) found -[4557] Forked 837 -[4556] Forked 838 -(837) found -(838) found -[4555] Forked 839 -[4554] Forked 840 -(839) found -(840) found -[4553] Forked 841 -[4552] Forked 842 -(841) found -(842) found -[4551] Forked 843 -[4550] Forked 844 -(843) found -(844) found -[4549] Forked 845 -[4548] Forked 847 -(845) found -(847) found -[4547] Forked 848 -[4546] Forked 849 -(848) found -(849) found -[4545] Forked 850 -[4544] Forked 851 -(850) found -(851) found -[4543] Forked 852 -[4542] Forked 853 -(852) found -(853) found -[4541] Forked 854 -[4540] Forked 855 -(854) found -(855) found -[4539] Forked 856 -[4538] Forked 857 -(856) found -(857) found -[4537] Forked 858 -(858) found -[4536] Forked 859 -[4535] Forked 860 -(859) found -(860) found -[4534] Forked 861 -[4533] Forked 862 -(861) found -(862) found -[4532] Forked 863 -[4531] Forked 864 -(863) found -(864) found -[4530] Forked 865 -[4529] Forked 866 -(865) found -(866) found -[4528] Forked 867 -[4527] Forked 868 -(867) found -(868) found -[4526] Forked 869 -[4525] Forked 870 -(869) found -(870) found -[4524] Forked 871 -[4523] Forked 872 -(871) found -(872) found -[4522] Forked 873 -[4521] Forked 874 -(873) found -(874) found -[4520] Forked 875 -[4519] Forked 876 -(875) found -(876) found -[4518] Forked 877 -[4517] Forked 879 -(877) found -(879) found -[4516] Forked 880 -(880) found -[4515] Forked 881 -(881) found -[4514] Forked 882 -(882) found -[4513] Forked 883 -(883) found -[4512] Forked 884 -(884) found -[4511] Forked 885 -(885) found -[4510] Forked 886 -(886) found -[4509] Forked 887 -(887) found -[4508] Forked 888 -(888) found -[4507] Forked 889 -(889) found -[4506] Forked 890 -(890) found -[4505] Forked 891 -(891) found -[4504] Forked 892 -(892) found -[4503] Forked 893 -(893) found -[4502] Forked 894 -(894) found -[4501] Forked 895 -(895) found -[4500] Forked 896 -(896) found -[4499] Forked 897 -(897) found -[4498] Forked 898 -(898) found -[4497] Forked 899 -(899) found -[4496] Forked 900 -(900) found -[4495] Forked 901 -(901) found -[4494] Forked 902 -(902) found -[4493] Forked 903 -(903) found -[4492] Forked 904 -(904) found -[4491] Forked 905 -(905) found -[4490] Forked 906 -(906) found -[4489] Forked 907 -(907) found -[4488] Forked 908 -(908) found -[4487] Forked 909 -(909) found -[4486] Forked 910 -(910) found -[4485] Forked 911 -(911) found -[4484] Forked 912 -(912) found -[4483] Forked 913 -(913) found -[4482] Forked 914 -(914) found -[4481] Forked 915 -(915) found -[4480] Forked 916 -(916) found -[4479] Forked 917 -(917) found -[4478] Forked 918 -[4477] Forked 919 -(918) found -(919) found -[4476] Forked 920 -[4475] Forked 921 -(920) found -(921) found -[4474] Forked 922 -[4473] Forked 923 -(922) found -(923) found -[4472] Forked 924 -[4471] Forked 925 -(924) found -(925) found -[4470] Forked 926 -[4469] Forked 927 -(926) found -(927) found -[4468] Forked 941 -[4467] Forked 942 -(941) found -(942) found -[4466] Forked 943 -[4465] Forked 944 -(943) found -(944) found -[4464] Forked 945 -[4463] Forked 946 -(945) found -(946) found -[4462] Forked 947 -[4461] Forked 950 -(947) found -(950) found -[4460] Forked 951 -[4459] Forked 952 -(951) found -(952) found -[4458] Forked 953 -[4457] Forked 954 -(953) found -(954) found -[4456] Forked 955 -[4455] Forked 956 -(955) found -(956) found -[4454] Forked 957 -[4453] Forked 958 -(957) found -(958) found -[4452] Forked 959 -[4451] Forked 960 -(959) found -(960) found -[4450] Forked 961 -[4449] Forked 962 -(961) found -(962) found -[4448] Forked 963 -[4447] Forked 964 -(963) found -(964) found -[4446] Forked 965 -[4445] Forked 966 -(965) found -(966) found -[4444] Forked 967 -[4443] Forked 968 -(967) found -(968) found -[4442] Forked 969 -[4441] Forked 970 -(969) found -(970) found -[4440] Forked 971 -[4439] Forked 972 -(971) found -(972) found -[4438] Forked 973 -[4437] Forked 974 -(973) found -(974) found -[4436] Forked 975 -[4435] Forked 976 -(975) found -(976) found -[4434] Forked 977 -[4433] Forked 978 -(977) found -(978) found -[4432] Forked 979 -(979) found -[4431] Forked 980 -(980) found -[4430] Forked 981 -(981) found -[4429] Forked 982 -(982) found -[4428] Forked 983 -(983) found -[4427] Forked 984 -(984) found -[4426] Forked 985 -(985) found -[4425] Forked 986 -(986) found -[4424] Forked 987 -(987) found -[4423] Forked 988 -(988) found -[4422] Forked 989 -(989) found -[4421] Forked 990 -(990) found -[4420] Forked 991 -(991) found -[4419] Forked 992 -(992) found -[4418] Forked 993 -(993) found -[4417] Forked 994 -(994) found -[4416] Forked 995 -(995) found -[4415] Forked 996 -(996) found -[4414] Forked 997 -(997) found -[4413] Forked 998 -(998) found -[4412] Forked 999 -(999) found -[4411] Forked 1000 -(1000) found -[4410] Forked 1001 -(1001) found -[4409] Forked 1002 -(1002) found -[4408] Forked 1003 -(1003) found -[4407] Forked 1004 -(1004) found -[4406] Forked 1005 -(1005) found -[4405] Forked 1006 -(1006) found -[4404] Forked 1007 -(1007) found -[4403] Forked 1008 -(1008) found -[4402] Forked 1009 -(1009) found -[4401] Forked 1010 -(1010) found -[4400] Forked 1011 -(1011) found -[4399] Forked 1012 -(1012) found -[4398] Forked 1013 -(1013) found -[4397] Forked 1014 -(1014) found -[4396] Forked 1015 -(1015) found -[4395] Forked 1016 -[4394] Forked 1017 -(1016) found -(1017) found -[4393] Forked 1018 -[4392] Forked 1019 -(1018) found -(1019) found -[4391] Forked 1020 -[4390] Forked 1021 -(1020) found -(1021) found -[4389] Forked 1022 -[4388] Forked 1023 -(1022) found -(1023) found -[4387] Forked 1024 -[4386] Forked 1025 -(1024) found -(1025) found -[4385] Forked 1026 -[4384] Forked 1027 -(1026) found -(1027) found -[4383] Forked 1028 -[4382] Forked 1029 -(1028) found -(1029) found -[4381] Forked 1030 -[4380] Forked 1031 -(1030) found -(1031) found -[4379] Forked 1032 -[4378] Forked 1033 -(1032) found -(1033) found -[4377] Forked 1034 -[4376] Forked 1035 -(1034) found -(1035) found -[4375] Forked 1036 -[4374] Forked 1037 -(1036) found -(1037) found -[4373] Forked 1038 -[4372] Forked 1039 -(1038) found -(1039) found -[4371] Forked 1040 -[4370] Forked 1041 -(1040) found -(1041) found -[4369] Forked 1042 -[4368] Forked 1043 -(1042) found -(1043) found -[4367] Forked 1044 -[4366] Forked 1045 -(1044) found -(1045) found -[4365] Forked 1046 -[4364] Forked 1047 -(1046) found -(1047) found -[4363] Forked 1048 -[4362] Forked 1049 -(1048) found -(1049) found -[4361] Forked 1050 -[4360] Forked 1051 -(1050) found -(1051) found -[4359] Forked 1052 -[4358] Forked 1053 -(1052) found -(1053) found -[4357] Forked 1054 -[4356] Forked 1055 -(1054) found -(1055) found -[4355] Forked 1056 -[4354] Forked 1057 -(1056) found -(1057) found -[4353] Forked 1058 -[4352] Forked 1059 -(1058) found -(1059) found -[4351] Forked 1060 -[4350] Forked 1061 -(1060) found -(1061) found -[4349] Forked 1062 -(1062) found -[4348] Forked 1063 -(1063) found -[4347] Forked 1064 -(1064) found -[4346] Forked 1065 -(1065) found -[4345] Forked 1066 -(1066) found -[4344] Forked 1067 -(1067) found -[4343] Forked 1068 -(1068) found -[4342] Forked 1069 -(1069) found -[4341] Forked 1070 -(1070) found -[4340] Forked 1071 -(1071) found -[4339] Forked 1072 -(1072) found -[4338] Forked 1073 -(1073) found -[4337] Forked 1074 -(1074) found -[4336] Forked 1075 -(1075) found -[4335] Forked 1076 -(1076) found -[4334] Forked 1077 -(1077) found -[4333] Forked 1078 -(1078) found -[4332] Forked 1079 -(1079) found -[4331] Forked 1080 -(1080) found -[4330] Forked 1081 -(1081) found -[4329] Forked 1082 -(1082) found -[4328] Forked 1083 -(1083) found -[4327] Forked 1084 -(1084) found -[4326] Forked 1085 -(1085) found -[4325] Forked 1086 -(1086) found -[4324] Forked 1087 -(1087) found -[4323] Forked 1088 -(1088) found -[4322] Forked 1089 -(1089) found -[4321] Forked 1090 -(1090) found -[4320] Forked 1091 -(1091) found -[4319] Forked 1092 -(1092) found -[4318] Forked 1093 -(1093) found -[4317] Forked 1094 -(1094) found -[4316] Forked 1095 -(1095) found -[4315] Forked 1096 -(1096) found -[4314] Forked 1097 -(1097) found -[4313] Forked 1098 -[4312] Forked 1099 -(1098) found -(1099) found -[4311] Forked 1100 -[4310] Forked 1101 -(1100) found -(1101) found -[4309] Forked 1102 -[4308] Forked 1103 -(1102) found -(1103) found -[4307] Forked 1104 -[4306] Forked 1106 -(1104) found -(1106) found -[4305] Forked 1108 -[4304] Forked 1109 -(1108) found -(1109) found -[4303] Forked 1111 -[4302] Forked 1113 -(1111) found -(1113) found -[4301] Forked 1114 -[4300] Forked 1115 -(1114) found -(1115) found -[4299] Forked 1116 -[4298] Forked 1117 -(1116) found -(1117) found -[4297] Forked 1118 -[4296] Forked 1119 -(1118) found -(1119) found -[4295] Forked 1120 -[4294] Forked 1121 -(1120) found -(1121) found -[4293] Forked 1122 -[4292] Forked 1123 -(1122) found -(1123) found -[4291] Forked 1124 -[4290] Forked 1125 -(1124) found -(1125) found -[4289] Forked 1126 -[4288] Forked 1127 -(1126) found -(1127) found -[4287] Forked 1128 -[4286] Forked 1129 -(1128) found -(1129) found -[4285] Forked 1130 -[4284] Forked 1131 -(1130) found -(1131) found -[4283] Forked 1132 -[4282] Forked 1133 -(1132) found -(1133) found -[4281] Forked 1134 -[4280] Forked 1135 -(1134) found -(1135) found -[4279] Forked 1136 -[4278] Forked 1137 -(1136) found -(1137) found -[4277] Forked 1138 -[4276] Forked 1139 -(1138) found -(1139) found -[4275] Forked 1140 -[4274] Forked 1141 -(1141) found -(1140) found -[4273] Forked 1142 -(1142) found -[4272] Forked 1143 -(1143) found -[4271] Forked 1144 -(1144) found -[4270] Forked 1145 -(1145) found -[4269] Forked 1146 -(1146) found -[4268] Forked 1147 -(1147) found -[4267] Forked 1148 -(1148) found -[4266] Forked 1149 -(1149) found -[4265] Forked 1150 -(1150) found -[4264] Forked 1151 -(1151) found -[4263] Forked 1152 -(1152) found -[4262] Forked 1153 -(1153) found -[4261] Forked 1154 -(1154) found -[4260] Forked 1155 -(1155) found -[4259] Forked 1156 -(1156) found -[4258] Forked 1157 -(1157) found -[4257] Forked 1158 -(1158) found -[4256] Forked 1159 -(1159) found -[4255] Forked 1160 -(1160) found -[4254] Forked 1161 -(1161) found -[4253] Forked 1162 -(1162) found -[4252] Forked 1163 -(1163) found -[4251] Forked 1164 -(1164) found -[4250] Forked 1165 -(1165) found -[4249] Forked 1166 -(1166) found -[4248] Forked 1167 -(1167) found -[4247] Forked 1168 -(1168) found -[4246] Forked 1169 -(1169) found -[4245] Forked 1170 -(1170) found -[4244] Forked 1171 -(1171) found -[4243] Forked 1172 -(1172) found -[4242] Forked 1173 -(1173) found -[4241] Forked 1174 -(1174) found -[4240] Forked 1175 -(1175) found -[4239] Forked 1176 -(1176) found -[4238] Forked 1177 -(1177) found -[4237] Forked 1178 -(1178) found -[4236] Forked 1179 -(1179) found -[4235] Forked 1180 -[4234] Forked 1181 -(1180) found -(1181) found -[4233] Forked 1182 -[4232] Forked 1183 -(1182) found -(1183) found -[4231] Forked 1184 -[4230] Forked 1185 -(1184) found -(1185) found -[4229] Forked 1186 -[4228] Forked 1188 -(1186) found -(1188) found -[4227] Forked 1190 -(1190) found -[4226] Forked 1191 -(1191) found -[4225] Forked 1192 -(1192) found -[4224] Forked 1193 -(1193) found -[4223] Forked 1194 -(1194) found -[4222] Forked 1195 -(1195) found -[4221] Forked 1196 -(1196) found -[4220] Forked 1197 -(1197) found -[4219] Forked 1198 -(1198) found -[4218] Forked 1199 -(1199) found -[4217] Forked 1200 -(1200) found -[4216] Forked 1201 -(1201) found -[4215] Forked 1202 -(1202) found -[4214] Forked 1203 -(1203) found -[4213] Forked 1204 -(1204) found -[4212] Forked 1205 -(1205) found -[4211] Forked 1206 -(1206) found -[4210] Forked 1207 -(1207) found -[4209] Forked 1208 -(1208) found -[4208] Forked 1209 -(1209) found -[4207] Forked 1210 -(1210) found -[4206] Forked 1211 -(1211) found -[4205] Forked 1212 -(1212) found -[4204] Forked 1213 -(1213) found -[4203] Forked 1214 -(1214) found -[4202] Forked 1215 -(1215) found -[4201] Forked 1216 -(1216) found -[4200] Forked 1217 -(1217) found -[4199] Forked 1218 -(1218) found -[4198] Forked 1219 -(1219) found -[4197] Forked 1220 -(1220) found -[4196] Forked 1221 -(1221) found -[4195] Forked 1222 -(1222) found -[4194] Forked 1223 -(1223) found -[4193] Forked 1224 -(1224) found -[4192] Forked 1225 -(1225) found -[4191] Forked 1226 -(1226) found -[4190] Forked 1227 -(1227) found -[4189] Forked 1228 -(1228) found -[4188] Forked 1229 -(1229) found -[4187] Forked 1230 -(1230) found -[4186] Forked 1231 -(1231) found -[4185] Forked 1232 -(1232) found -[4184] Forked 1233 -(1233) found -[4183] Forked 1234 -(1234) found -[4182] Forked 1235 -(1235) found -[4181] Forked 1236 -(1236) found -[4180] Forked 1237 -(1237) found -[4179] Forked 1238 -(1238) found -[4178] Forked 1239 -(1239) found -[4177] Forked 1240 -(1240) found -[4176] Forked 1241 -(1241) found -[4175] Forked 1242 -(1242) found -[4174] Forked 1243 -(1243) found -[4173] Forked 1244 -(1244) found -[4172] Forked 1245 -(1245) found -[4171] Forked 1246 -(1246) found -[4170] Forked 1247 -(1247) found -[4169] Forked 1248 -(1248) found -[4168] Forked 1249 -(1249) found -[4167] Forked 1250 -(1250) found -[4166] Forked 1251 -(1251) found -[4165] Forked 1252 -[4164] Forked 1253 -(1252) found -(1253) found -[4163] Forked 1254 -[4162] Forked 1255 -(1254) found -(1255) found -[4161] Forked 1256 -[4160] Forked 1257 -(1256) found -(1257) found -[4159] Forked 1258 -[4158] Forked 1259 -(1258) found -(1259) found -[4157] Forked 1260 -[4156] Forked 1261 -(1260) found -(1261) found -[4155] Forked 1262 -[4154] Forked 1263 -(1262) found -(1263) found -[4153] Forked 1264 -[4152] Forked 1265 -(1264) found -(1265) found -[4151] Forked 1266 -[4150] Forked 1267 -(1266) found -(1267) found -[4149] Forked 1268 -[4148] Forked 1269 -(1268) found -(1269) found -[4147] Forked 1270 -[4146] Forked 1271 -(1270) found -(1271) found -[4145] Forked 1272 -[4144] Forked 1273 -(1272) found -(1273) found -[4143] Forked 1274 -[4142] Forked 1275 -(1274) found -(1275) found -[4141] Forked 1276 -[4140] Forked 1277 -(1276) found -(1277) found -[4139] Forked 1278 -[4138] Forked 1279 -(1278) found -(1279) found -[4137] Forked 1280 -[4136] Forked 1281 -(1280) found -(1281) found -[4135] Forked 1282 -[4134] Forked 1283 -(1282) found -(1283) found -[4133] Forked 1284 -[4132] Forked 1285 -(1284) found -(1285) found -[4131] Forked 1286 -[4130] Forked 1287 -(1286) found -(1287) found -[4129] Forked 1288 -[4128] Forked 1289 -(1288) found -(1289) found -[4127] Forked 1290 -[4126] Forked 1291 -(1290) found -(1291) found -[4125] Forked 1292 -[4124] Forked 1293 -(1292) found -(1293) found -[4123] Forked 1294 -[4122] Forked 1295 -(1294) found -(1295) found -[4121] Forked 1296 -[4120] Forked 1297 -(1296) found -(1297) found -[4119] Forked 1298 -[4118] Forked 1299 -(1298) found -(1299) found -[4117] Forked 1300 -[4116] Forked 1301 -(1300) found -(1301) found -[4115] Forked 1302 -[4114] Forked 1303 -(1302) found -(1303) found -[4113] Forked 1304 -[4112] Forked 1305 -(1304) found -(1305) found -[4111] Forked 1306 -[4110] Forked 1307 -(1306) found -(1307) found -[4109] Forked 1308 -[4108] Forked 1309 -(1308) found -(1309) found -[4107] Forked 1310 -[4106] Forked 1312 -(1310) found -(1312) found -[4105] Forked 1313 -[4104] Forked 1314 -(1314) found -(1313) found -[4103] Forked 1315 -(1315) found -[4102] Forked 1316 -(1316) found -[4101] Forked 1317 -(1317) found -[4100] Forked 1318 -(1318) found -[4099] Forked 1319 -(1319) found -[4098] Forked 1320 -(1320) found -[4097] Forked 1321 -(1321) found -[4096] Forked 1322 -(1322) found -[4095] Forked 1323 -(1323) found -[4094] Forked 1324 -(1324) found -[4093] Forked 1325 -(1325) found -[4092] Forked 1326 -(1326) found -[4091] Forked 1327 -(1327) found -[4090] Forked 1328 -(1328) found -[4089] Forked 1329 -(1329) found -[4088] Forked 1330 -(1330) found -[4087] Forked 1331 -(1331) found -[4086] Forked 1332 -(1332) found -[4085] Forked 1333 -(1333) found -[4084] Forked 1334 -(1334) found -[4083] Forked 1335 -(1335) found -[4082] Forked 1336 -(1336) found -[4081] Forked 1337 -(1337) found -[4080] Forked 1338 -(1338) found -[4079] Forked 1339 -(1339) found -[4078] Forked 1340 -(1340) found -[4077] Forked 1341 -(1341) found -[4076] Forked 1342 -(1342) found -[4075] Forked 1343 -(1343) found -[4074] Forked 1344 -(1344) found -[4073] Forked 1345 -(1345) found -[4072] Forked 1346 -(1346) found -[4071] Forked 1347 -(1347) found -[4070] Forked 1348 -(1348) found -[4069] Forked 1349 -(1349) found -[4068] Forked 1350 -(1350) found -[4067] Forked 1351 -(1351) found -[4066] Forked 1352 -(1352) found -[4065] Forked 1353 -(1353) found -[4064] Forked 1354 -(1354) found -[4063] Forked 1355 -(1355) found -[4062] Forked 1356 -(1356) found -[4061] Forked 1357 -(1357) found -[4060] Forked 1358 -(1358) found -[4059] Forked 1359 -(1359) found -[4058] Forked 1360 -(1360) found -[4057] Forked 1361 -(1361) found -[4056] Forked 1362 -(1362) found -[4055] Forked 1363 -(1363) found -[4054] Forked 1364 -(1364) found -[4053] Forked 1365 -(1365) found -[4052] Forked 1366 -(1366) found -[4051] Forked 1367 -(1367) found -[4050] Forked 1368 -(1368) found -[4049] Forked 1369 -(1369) found -[4048] Forked 1370 -(1370) found -[4047] Forked 1371 -(1371) found -[4046] Forked 1372 -(1372) found -[4045] Forked 1373 -[4044] Forked 1374 -(1373) found -(1374) found -[4043] Forked 1375 -[4042] Forked 1376 -(1375) found -(1376) found -[4041] Forked 1377 -[4040] Forked 1378 -(1377) found -(1378) found -[4039] Forked 1379 -[4038] Forked 1380 -(1379) found -(1380) found -[4037] Forked 1381 -[4036] Forked 1382 -(1381) found -(1382) found -[4035] Forked 1383 -[4034] Forked 1384 -(1383) found -(1384) found -[4033] Forked 1385 -[4032] Forked 1386 -(1385) found -(1386) found -[4031] Forked 1387 -[4030] Forked 1388 -(1387) found -(1388) found -[4029] Forked 1389 -[4028] Forked 1390 -(1389) found -(1390) found -[4027] Forked 1391 -[4026] Forked 1392 -(1391) found -(1392) found -[4025] Forked 1393 -[4024] Forked 1394 -(1393) found -(1394) found -[4023] Forked 1395 -[4022] Forked 1396 -(1395) found -(1396) found -[4021] Forked 1397 -[4020] Forked 1398 -(1397) found -(1398) found -[4019] Forked 1399 -[4018] Forked 1400 -(1399) found -(1400) found -[4017] Forked 1401 -[4016] Forked 1402 -(1401) found -(1402) found -[4015] Forked 1403 -[4014] Forked 1404 -(1403) found -(1404) found -[4013] Forked 1405 -[4012] Forked 1406 -(1405) found -(1406) found -[4011] Forked 1407 -[4010] Forked 1408 -(1407) found -(1408) found -[4009] Forked 1409 -[4008] Forked 1410 -(1409) found -(1410) found -[4007] Forked 1411 -[4006] Forked 1412 -(1411) found -(1412) found -[4005] Forked 1413 -[4004] Forked 1414 -(1413) found -(1414) found -[4003] Forked 1415 -[4002] Forked 1416 -(1415) found -(1416) found -[4001] Forked 1417 -[4000] Forked 1418 -(1417) found -(1418) found -[3999] Forked 1419 -[3998] Forked 1420 -(1419) found -(1420) found -[3997] Forked 1421 -[3996] Forked 1422 -(1421) found -(1422) found -[3995] Forked 1423 -[3994] Forked 1424 -(1423) found -(1424) found -[3993] Forked 1425 -[3992] Forked 1426 -(1425) found -(1426) found -[3991] Forked 1427 -[3990] Forked 1428 -(1427) found -(1428) found -[3989] Forked 1429 -[3988] Forked 1430 -(1429) found -(1430) found -[3987] Forked 1431 -[3986] Forked 1432 -(1431) found -(1432) found -[3985] Forked 1433 -[3984] Forked 1434 -(1433) found -(1434) found -[3983] Forked 1435 -[3982] Forked 1436 -(1435) found -(1436) found -[3981] Forked 1437 -[3980] Forked 1438 -(1437) found -(1438) found -[3979] Forked 1440 -[3978] Forked 1441 -(1440) found -(1441) found -[3977] Forked 1442 -[3976] Forked 1443 -(1442) found -(1443) found -[3975] Forked 1444 -[3974] Forked 1445 -(1444) found -(1445) found -[3973] Forked 1446 -[3972] Forked 1447 -(1446) found -(1447) found -[3971] Forked 1448 -[3970] Forked 1449 -(1448) found -(1449) found -[3969] Forked 1450 -[3968] Forked 1451 -(1450) found -(1451) found -[3967] Forked 1452 -[3966] Forked 1453 -(1452) found -(1453) found -[3965] Forked 1454 -[3964] Forked 1455 -(1454) found -(1455) found -[3963] Forked 1456 -[3962] Forked 1457 -(1456) found -(1457) found -[3961] Forked 1458 -[3960] Forked 1459 -(1458) found -(1459) found -[3959] Forked 1460 -[3958] Forked 1461 -(1460) found -(1461) found -[3957] Forked 1462 -[3956] Forked 1463 -(1462) found -(1463) found -[3955] Forked 1464 -[3954] Forked 1465 -(1464) found -(1465) found -[3953] Forked 1466 -(1466) found -[3952] Forked 1467 -(1467) found -[3951] Forked 1468 -(1468) found -[3950] Forked 1469 -(1469) found -[3949] Forked 1470 -(1470) found -[3948] Forked 1471 -(1471) found -[3947] Forked 1472 -(1472) found -[3946] Forked 1473 -(1473) found -[3945] Forked 1474 -(1474) found -[3944] Forked 1475 -(1475) found -[3943] Forked 1476 -(1476) found -[3942] Forked 1477 -(1477) found -[3941] Forked 1478 -(1478) found -[3940] Forked 1479 -(1479) found -[3939] Forked 1480 -(1480) found -[3938] Forked 1481 -(1481) found -[3937] Forked 1482 -(1482) found -[3936] Forked 1483 -(1483) found -[3935] Forked 1484 -(1484) found -[3934] Forked 1485 -(1485) found -[3933] Forked 1486 -(1486) found -[3932] Forked 1487 -(1487) found -[3931] Forked 1488 -(1488) found -[3930] Forked 1489 -(1489) found -[3929] Forked 1490 -(1490) found -[3928] Forked 1491 -(1491) found -[3927] Forked 1492 -(1492) found -[3926] Forked 1493 -(1493) found -[3925] Forked 1494 -(1494) found -[3924] Forked 1495 -(1495) found -[3923] Forked 1496 -(1496) found -[3922] Forked 1497 -(1497) found -[3921] Forked 1498 -(1498) found -[3920] Forked 1499 -(1499) found -[3919] Forked 1500 -(1500) found -[3918] Forked 1501 -[3917] Forked 1502 -(1501) found -(1502) found -[3916] Forked 1503 -[3915] Forked 1504 -(1503) found -(1504) found -[3914] Forked 1505 -[3913] Forked 1506 -(1505) found -(1506) found -[3912] Forked 1507 -[3911] Forked 1508 -(1507) found -(1508) found -[3910] Forked 1509 -[3909] Forked 1510 -(1509) found -(1510) found -[3908] Forked 1511 -[3907] Forked 1512 -(1511) found -(1512) found -[3906] Forked 1513 -[3905] Forked 1514 -(1513) found -(1514) found -[3904] Forked 1515 -[3903] Forked 1516 -(1515) found -(1516) found -[3902] Forked 1517 -[3901] Forked 1518 -(1517) found -(1518) found -[3900] Forked 1519 -[3899] Forked 1520 -(1519) found -(1520) found -[3898] Forked 1521 -[3897] Forked 1522 -(1521) found -(1522) found -[3896] Forked 1523 -[3895] Forked 1524 -(1523) found -(1524) found -[3894] Forked 1525 -[3893] Forked 1526 -(1525) found -(1526) found -[3892] Forked 1527 -[3891] Forked 1528 -(1527) found -(1528) found -[3890] Forked 1529 -[3889] Forked 1530 -(1529) found -(1530) found -[3888] Forked 1531 -[3887] Forked 1532 -(1531) found -(1532) found -[3886] Forked 1533 -[3885] Forked 1534 -(1533) found -(1534) found -[3884] Forked 1535 -[3883] Forked 1536 -(1535) found -(1536) found -[3882] Forked 1537 -[3881] Forked 1538 -(1537) found -(1538) found -[3880] Forked 1539 -[3879] Forked 1540 -(1539) found -(1540) found -[3878] Forked 1541 -[3877] Forked 1542 -(1541) found -(1542) found -[3876] Forked 1543 -[3875] Forked 1544 -(1543) found -(1544) found -[3874] Forked 1545 -[3873] Forked 1546 -(1545) found -(1546) found -[3872] Forked 1547 -(1547) found -[3871] Forked 1548 -(1548) found -[3870] Forked 1549 -(1549) found -[3869] Forked 1550 -(1550) found -[3868] Forked 1551 -(1551) found -[3867] Forked 1552 -(1552) found -[3866] Forked 1553 -(1553) found -[3865] Forked 1554 -(1554) found -[3864] Forked 1555 -(1555) found -[3863] Forked 1556 -(1556) found -[3862] Forked 1557 -(1557) found -[3861] Forked 1558 -(1558) found -[3860] Forked 1559 -(1559) found -[3859] Forked 1560 -(1560) found -[3858] Forked 1561 -(1561) found -[3857] Forked 1562 -(1562) found -[3856] Forked 1563 -(1563) found -[3855] Forked 1564 -(1564) found -[3854] Forked 1565 -(1565) found -[3853] Forked 1566 -(1566) found -[3852] Forked 1567 -(1567) found -[3851] Forked 1568 -(1568) found -[3850] Forked 1569 -(1569) found -[3849] Forked 1570 -(1570) found -[3848] Forked 1571 -(1571) found -[3847] Forked 1572 -(1572) found -[3846] Forked 1573 -(1573) found -[3845] Forked 1574 -(1574) found -[3844] Forked 1575 -(1575) found -[3843] Forked 1576 -(1576) found -[3842] Forked 1577 -(1577) found -[3841] Forked 1578 -(1578) found -[3840] Forked 1579 -(1579) found -[3839] Forked 1580 -(1580) found -[3838] Forked 1581 -[3837] Forked 1582 -(1581) found -(1582) found -[3836] Forked 1583 -[3835] Forked 1584 -(1583) found -(1584) found -[3834] Forked 1585 -[3833] Forked 1586 -(1585) found -(1586) found -[3832] Forked 1587 -[3831] Forked 1588 -(1587) found -(1588) found -[3830] Forked 1589 -[3829] Forked 1590 -(1589) found -(1590) found -[3828] Forked 1591 -[3827] Forked 1592 -(1591) found -(1592) found -[3826] Forked 1593 -[3825] Forked 1595 -(1593) found -(1595) found -[3824] Forked 1596 -[3823] Forked 1597 -(1596) found -(1597) found -[3822] Forked 1598 -[3821] Forked 1599 -(1598) found -(1599) found -[3820] Forked 1600 -[3819] Forked 1601 -(1600) found -(1601) found -[3818] Forked 1602 -[3817] Forked 1603 -(1602) found -(1603) found -[3816] Forked 1604 -[3815] Forked 1605 -(1604) found -(1605) found -[3814] Forked 1606 -[3813] Forked 1607 -(1606) found -(1607) found -[3812] Forked 1608 -[3811] Forked 1609 -(1608) found -(1609) found -[3810] Forked 1610 -[3809] Forked 1611 -(1610) found -(1611) found -[3808] Forked 1612 -[3807] Forked 1613 -(1612) found -(1613) found -[3806] Forked 1614 -[3805] Forked 1615 -(1614) found -(1615) found -[3804] Forked 1616 -[3803] Forked 1617 -(1616) found -(1617) found -[3802] Forked 1618 -[3801] Forked 1619 -(1618) found -(1619) found -[3800] Forked 1620 -[3799] Forked 1621 -(1620) found -(1621) found -[3798] Forked 1622 -[3797] Forked 1623 -(1622) found -(1623) found -[3796] Forked 1624 -[3795] Forked 1625 -(1624) found -(1625) found -[3794] Forked 1626 -[3793] Forked 1627 -(1626) found -(1627) found -[3792] Forked 1628 -(1628) found -[3791] Forked 1629 -(1629) found -[3790] Forked 1630 -(1630) found -[3789] Forked 1631 -(1631) found -[3788] Forked 1632 -(1632) found -[3787] Forked 1633 -(1633) found -[3786] Forked 1634 -(1634) found -[3785] Forked 1635 -(1635) found -[3784] Forked 1636 -(1636) found -[3783] Forked 1637 -(1637) found -[3782] Forked 1638 -(1638) found -[3781] Forked 1639 -(1639) found -[3780] Forked 1640 -(1640) found -[3779] Forked 1641 -(1641) found -[3778] Forked 1642 -(1642) found -[3777] Forked 1643 -(1643) found -[3776] Forked 1644 -(1644) found -[3775] Forked 1645 -(1645) found -[3774] Forked 1646 -(1646) found -[3773] Forked 1647 -(1647) found -[3772] Forked 1648 -(1648) found -[3771] Forked 1649 -(1649) found -[3770] Forked 1650 -(1650) found -[3769] Forked 1651 -(1651) found -[3768] Forked 1652 -(1652) found -[3767] Forked 1653 -(1653) found -[3766] Forked 1654 -(1654) found -[3765] Forked 1655 -(1655) found -[3764] Forked 1656 -(1656) found -[3763] Forked 1657 -(1657) found -[3762] Forked 1658 -(1658) found -[3761] Forked 1659 -(1659) found -[3760] Forked 1660 -(1660) found -[3759] Forked 1661 -(1661) found -[3758] Forked 1662 -(1662) found -[3757] Forked 1663 -[3756] Forked 1664 -(1663) found -(1664) found -[3755] Forked 1665 -[3754] Forked 1666 -(1665) found -(1666) found -[3753] Forked 1668 -[3752] Forked 1669 -(1668) found -(1669) found -[3751] Forked 1670 -[3750] Forked 1671 -(1670) found -(1671) found -[3749] Forked 1672 -[3748] Forked 1673 -(1672) found -(1673) found -[3747] Forked 1674 -[3746] Forked 1675 -(1674) found -(1675) found -[3745] Forked 1676 -[3744] Forked 1677 -(1676) found -(1677) found -[3743] Forked 1679 -[3742] Forked 1680 -(1679) found -(1680) found -[3741] Forked 1681 -[3740] Forked 1682 -(1681) found -(1682) found -[3739] Forked 1683 -[3738] Forked 1684 -(1683) found -(1684) found -[3737] Forked 1685 -[3736] Forked 1686 -(1685) found -(1686) found -[3735] Forked 1687 -[3734] Forked 1688 -(1687) found -(1688) found -[3733] Forked 1689 -[3732] Forked 1690 -(1689) found -(1690) found -[3731] Forked 1691 -[3730] Forked 1692 -(1691) found -(1692) found -[3729] Forked 1693 -[3728] Forked 1694 -(1693) found -(1694) found -[3727] Forked 1695 -[3726] Forked 1696 -(1695) found -(1696) found -[3725] Forked 1697 -[3724] Forked 1698 -(1697) found -(1698) found -[3723] Forked 1699 -[3722] Forked 1700 -(1699) found -(1700) found -[3721] Forked 1701 -[3720] Forked 1702 -(1701) found -(1702) found -[3719] Forked 1703 -[3718] Forked 1704 -(1703) found -(1704) found -[3717] Forked 1705 -[3716] Forked 1706 -(1705) found -(1706) found -[3715] Forked 1707 -[3714] Forked 1708 -(1707) found -(1708) found -[3713] Forked 1709 -[3712] Forked 1710 -(1709) found -(1710) found -[3711] Forked 1711 -(1711) found -[3710] Forked 1712 -(1712) found -[3709] Forked 1713 -(1713) found -[3708] Forked 1714 -(1714) found -[3707] Forked 1715 -(1715) found -[3706] Forked 1716 -(1716) found -[3705] Forked 1717 -(1717) found -[3704] Forked 1718 -(1718) found -[3703] Forked 1719 -(1719) found -[3702] Forked 1720 -(1720) found -[3701] Forked 1721 -(1721) found -[3700] Forked 1722 -(1722) found -[3699] Forked 1723 -(1723) found -[3698] Forked 1724 -(1724) found -[3697] Forked 1725 -(1725) found -[3696] Forked 1726 -(1726) found -[3695] Forked 1727 -(1727) found -[3694] Forked 1728 -(1728) found -[3693] Forked 1729 -(1729) found -[3692] Forked 1730 -(1730) found -[3691] Forked 1731 -(1731) found -[3690] Forked 1732 -(1732) found -[3689] Forked 1733 -(1733) found -[3688] Forked 1734 -(1734) found -[3687] Forked 1735 -(1735) found -[3686] Forked 1736 -(1736) found -[3685] Forked 1737 -(1737) found -[3684] Forked 1738 -(1738) found -[3683] Forked 1739 -(1739) found -[3682] Forked 1740 -(1740) found -[3681] Forked 1741 -(1741) found -[3680] Forked 1742 -(1742) found -[3679] Forked 1744 -(1744) found -[3678] Forked 1746 -(1746) found -[3677] Forked 1747 -(1747) found -[3676] Forked 1748 -[3675] Forked 1749 -(1748) found -(1749) found -[3674] Forked 1750 -[3673] Forked 1751 -(1750) found -(1751) found -[3672] Forked 1752 -[3671] Forked 1753 -(1752) found -(1753) found -[3670] Forked 1754 -[3669] Forked 1755 -(1754) found -(1755) found -[3668] Forked 1756 -[3667] Forked 1757 -(1756) found -(1757) found -[3666] Forked 1758 -[3665] Forked 1760 -(1758) found -(1760) found -[3664] Forked 1761 -[3663] Forked 1762 -(1761) found -(1762) found -[3662] Forked 1763 -[3661] Forked 1764 -(1763) found -(1764) found -[3660] Forked 1765 -[3659] Forked 1766 -(1765) found -(1766) found -[3658] Forked 1767 -[3657] Forked 1768 -(1767) found -(1768) found -[3656] Forked 1769 -[3655] Forked 1770 -(1769) found -(1770) found -[3654] Forked 1771 -[3653] Forked 1772 -(1771) found -(1772) found -[3652] Forked 1773 -[3651] Forked 1774 -(1773) found -(1774) found -[3650] Forked 1775 -[3649] Forked 1776 -(1775) found -(1776) found -[3648] Forked 1777 -[3647] Forked 1778 -(1777) found -(1778) found -[3646] Forked 1779 -[3645] Forked 1780 -(1779) found -(1780) found -[3644] Forked 1781 -[3643] Forked 1782 -(1781) found -(1782) found -[3642] Forked 1783 -[3641] Forked 1784 -(1783) found -(1784) found -[3640] Forked 1785 -[3639] Forked 1786 -(1785) found -(1786) found -[3638] Forked 1787 -[3637] Forked 1788 -(1787) found -(1788) found -[3636] Forked 1789 -[3635] Forked 1790 -(1789) found -(1790) found -[3634] Forked 1791 -[3633] Forked 1792 -(1791) found -(1792) found -[3632] Forked 1793 -[3631] Forked 1794 -(1793) found -(1794) found -[3630] Forked 1795 -[3629] Forked 1796 -(1795) found -(1796) found -[3628] Forked 1797 -[3627] Forked 1798 -(1797) found -(1798) found -[3626] Forked 1799 -[3625] Forked 1800 -(1799) found -(1800) found -[3624] Forked 1801 -[3623] Forked 1802 -(1801) found -(1802) found -[3622] Forked 1803 -[3621] Forked 1804 -(1803) found -(1804) found -[3620] Forked 1805 -[3619] Forked 1806 -(1805) found -(1806) found -[3618] Forked 1807 -[3617] Forked 1808 -(1807) found -(1808) found -[3616] Forked 1809 -[3615] Forked 1810 -(1809) found -(1810) found -[3614] Forked 1811 -[3613] Forked 1812 -(1811) found -(1812) found -[3612] Forked 1813 -[3611] Forked 1814 -(1813) found -(1814) found -[3610] Forked 1815 -(1815) found -[3609] Forked 1816 -[3608] Forked 1817 -(1816) found -(1817) found -[3607] Forked 1818 -[3606] Forked 1819 -(1818) found -(1819) found -[3605] Forked 1820 -[3604] Forked 1821 -(1820) found -(1821) found -[3603] Forked 1822 -[3602] Forked 1823 -(1822) found -(1823) found -[3601] Forked 1824 -[3600] Forked 1825 -(1824) found -(1825) found -[3599] Forked 1826 -[3598] Forked 1827 -(1826) found -(1827) found -[3597] Forked 1828 -[3596] Forked 1829 -(1828) found -(1829) found -[3595] Forked 1830 -[3594] Forked 1831 -(1830) found -(1831) found -[3593] Forked 1832 -[3592] Forked 1833 -(1832) found -(1833) found -[3591] Forked 1834 -[3590] Forked 1835 -(1834) found -(1835) found -[3589] Forked 1836 -[3588] Forked 1837 -(1836) found -(1837) found -[3587] Forked 1838 -(1838) found -[3586] Forked 1839 -(1839) found -[3585] Forked 1840 -(1840) found -[3584] Forked 1841 -(1841) found -[3583] Forked 1842 -(1842) found -[3582] Forked 1843 -(1843) found -[3581] Forked 1844 -(1844) found -[3580] Forked 1845 -(1845) found -[3579] Forked 1846 -(1846) found -[3578] Forked 1847 -(1847) found -[3577] Forked 1848 -(1848) found -[3576] Forked 1849 -(1849) found -[3575] Forked 1850 -(1850) found -[3574] Forked 1851 -(1851) found -[3573] Forked 1852 -(1852) found -[3572] Forked 1853 -(1853) found -[3571] Forked 1854 -(1854) found -[3570] Forked 1855 -(1855) found -[3569] Forked 1856 -(1856) found -[3568] Forked 1857 -(1857) found -[3567] Forked 1858 -(1858) found -[3566] Forked 1859 -(1859) found -[3565] Forked 1860 -(1860) found -[3564] Forked 1861 -(1861) found -[3563] Forked 1862 -(1862) found -[3562] Forked 1863 -(1863) found -[3561] Forked 1864 -(1864) found -[3560] Forked 1865 -(1865) found -[3559] Forked 1866 -(1866) found -[3558] Forked 1867 -(1867) found -[3557] Forked 1868 -(1868) found -[3556] Forked 1869 -(1869) found -[3555] Forked 1870 -(1870) found -[3554] Forked 1871 -(1871) found -[3553] Forked 1872 -(1872) found -[3552] Forked 1873 -(1873) found -[3551] Forked 1874 -(1874) found -[3550] Forked 1875 -(1875) found -[3549] Forked 1876 -(1876) found -[3548] Forked 1877 -[3547] Forked 1878 -(1877) found -(1878) found -[3546] Forked 1879 -[3545] Forked 1880 -(1879) found -(1880) found -[3544] Forked 1881 -[3543] Forked 1882 -(1881) found -(1882) found -[3542] Forked 1883 -[3541] Forked 1884 -(1883) found -(1884) found -[3540] Forked 1885 -[3539] Forked 1886 -(1885) found -(1886) found -[3538] Forked 1887 -[3537] Forked 1888 -(1887) found -(1888) found -[3536] Forked 1889 -[3535] Forked 1890 -(1889) found -(1890) found -[3534] Forked 1891 -[3533] Forked 1892 -(1891) found -(1892) found -[3532] Forked 1893 -[3531] Forked 1894 -(1893) found -(1894) found -[3530] Forked 1895 -[3529] Forked 1896 -(1896) found -(1895) found -[3528] Forked 1897 -(1897) found -[3527] Forked 1898 -(1898) found -[3526] Forked 1899 -(1899) found -[3525] Forked 1900 -(1900) found -[3524] Forked 1901 -(1901) found -[3523] Forked 1902 -(1902) found -[3522] Forked 1903 -(1903) found -[3521] Forked 1904 -(1904) found -[3520] Forked 1905 -(1905) found -[3519] Forked 1906 -(1906) found -[3518] Forked 1907 -(1907) found -[3517] Forked 1908 -(1908) found -[3516] Forked 1909 -(1909) found -[3515] Forked 1910 -(1910) found -[3514] Forked 1911 -(1911) found -[3513] Forked 1912 -(1912) found -[3512] Forked 1913 -(1913) found -[3511] Forked 1914 -(1914) found -[3510] Forked 1915 -(1915) found -[3509] Forked 1916 -(1916) found -[3508] Forked 1917 -(1917) found -[3507] Forked 1918 -(1918) found -[3506] Forked 1919 -(1919) found -[3505] Forked 1920 -(1920) found -[3504] Forked 1921 -(1921) found -[3503] Forked 1922 -(1922) found -[3502] Forked 1923 -(1923) found -[3501] Forked 1924 -(1924) found -[3500] Forked 1925 -(1925) found -[3499] Forked 1926 -(1926) found -[3498] Forked 1927 -(1927) found -[3497] Forked 1928 -(1928) found -[3496] Forked 1929 -(1929) found -[3495] Forked 1930 -(1930) found -[3494] Forked 1931 -(1931) found -[3493] Forked 1932 -(1932) found -[3492] Forked 1933 -(1933) found -[3491] Forked 1934 -(1934) found -[3490] Forked 1935 -(1935) found -[3489] Forked 1936 -(1936) found -[3488] Forked 1937 -(1937) found -[3487] Forked 1938 -(1938) found -[3486] Forked 1939 -(1939) found -[3485] Forked 1940 -(1940) found -[3484] Forked 1941 -(1941) found -[3483] Forked 1942 -(1942) found -[3482] Forked 1943 -(1943) found -[3481] Forked 1944 -(1944) found -[3480] Forked 1945 -(1945) found -[3479] Forked 1946 -(1946) found -[3478] Forked 1947 -(1947) found -[3477] Forked 1948 -(1948) found -[3476] Forked 1949 -(1949) found -[3475] Forked 1950 -[3474] Forked 1951 -(1950) found -(1951) found -[3473] Forked 1952 -[3472] Forked 1953 -(1952) found -(1953) found -[3471] Forked 1954 -[3470] Forked 1955 -(1954) found -(1955) found -[3469] Forked 1956 -[3468] Forked 1957 -(1956) found -(1957) found -[3467] Forked 1958 -[3466] Forked 1959 -(1958) found -(1959) found -[3465] Forked 1960 -[3464] Forked 1961 -(1960) found -(1961) found -[3463] Forked 1962 -[3462] Forked 1963 -(1962) found -(1963) found -[3461] Forked 1964 -[3460] Forked 1965 -(1964) found -(1965) found -[3459] Forked 1966 -[3458] Forked 1967 -(1966) found -(1967) found -[3457] Forked 1968 -[3456] Forked 1969 -(1968) found -(1969) found -[3455] Forked 1970 -[3454] Forked 1971 -(1970) found -(1971) found -[3453] Forked 1972 -[3452] Forked 1973 -(1972) found -(1973) found -[3451] Forked 1974 -[3450] Forked 1975 -(1974) found -(1975) found -[3449] Forked 1976 -[3448] Forked 1977 -(1976) found -(1977) found -[3447] Forked 1978 -[3446] Forked 1979 -(1978) found -(1979) found -[3445] Forked 1980 -[3444] Forked 1981 -(1980) found -(1981) found -[3443] Forked 1982 -[3442] Forked 1983 -(1982) found -(1983) found -[3441] Forked 1984 -[3440] Forked 1985 -(1984) found -(1985) found -[3439] Forked 1986 -[3438] Forked 1987 -(1986) found -(1987) found -[3437] Forked 1988 -(1988) found -[3436] Forked 1989 -[3435] Forked 1990 -(1989) found -(1990) found -[3434] Forked 1991 -[3433] Forked 1992 -(1991) found -(1992) found -[3432] Forked 1993 -(1993) found -[3431] Forked 1994 -(1994) found -[3430] Forked 1995 -(1995) found -[3429] Forked 1996 -(1996) found -[3428] Forked 1997 -(1997) found -[3427] Forked 1998 -(1998) found -[3426] Forked 1999 -(1999) found -[3425] Forked 2000 -(2000) found -[3424] Forked 2001 -(2001) found -[3423] Forked 2002 -(2002) found -[3422] Forked 2003 -(2003) found -[3421] Forked 2004 -(2004) found -[3420] Forked 2005 -(2005) found -[3419] Forked 2006 -(2006) found -[3418] Forked 2007 -(2007) found -[3417] Forked 2008 -(2008) found -[3416] Forked 2009 -(2009) found -[3415] Forked 2010 -(2010) found -[3414] Forked 2011 -(2011) found -[3413] Forked 2012 -(2012) found -[3412] Forked 2013 -(2013) found -[3411] Forked 2014 -(2014) found -[3410] Forked 2015 -(2015) found -[3409] Forked 2016 -(2016) found -[3408] Forked 2017 -(2017) found -[3407] Forked 2018 -(2018) found -[3406] Forked 2019 -(2019) found -[3405] Forked 2020 -(2020) found -[3404] Forked 2021 -(2021) found -[3403] Forked 2022 -(2022) found -[3402] Forked 2023 -(2023) found -[3401] Forked 2024 -(2024) found -[3400] Forked 2025 -(2025) found -[3399] Forked 2026 -(2026) found -[3398] Forked 2027 -(2027) found -[3397] Forked 2028 -(2028) found -[3396] Forked 2029 -(2029) found -[3395] Forked 2030 -(2030) found -[3394] Forked 2031 -[3393] Forked 2032 -(2031) found -(2032) found -[3392] Forked 2033 -[3391] Forked 2034 -(2033) found -(2034) found -[3390] Forked 2035 -[3389] Forked 2036 -(2035) found -(2036) found -[3388] Forked 2037 -[3387] Forked 2038 -(2037) found -(2038) found -[3386] Forked 2039 -[3385] Forked 2040 -(2039) found -(2040) found -[3384] Forked 2041 -[3383] Forked 2042 -(2041) found -(2042) found -[3382] Forked 2043 -[3381] Forked 2044 -(2043) found -(2044) found -[3380] Forked 2045 -[3379] Forked 2046 -(2045) found -(2046) found -[3378] Forked 2047 -[3377] Forked 2048 -(2047) found -(2048) found -[3376] Forked 2049 -[3375] Forked 2050 -(2049) found -(2050) found -[3374] Forked 2051 -[3373] Forked 2052 -(2051) found -(2052) found -[3372] Forked 2053 -[3371] Forked 2054 -(2053) found -(2054) found -[3370] Forked 2055 -[3369] Forked 2056 -(2055) found -(2056) found -[3368] Forked 2057 -[3367] Forked 2058 -(2057) found -(2058) found -[3366] Forked 2059 -[3365] Forked 2060 -(2059) found -(2060) found -[3364] Forked 2061 -[3363] Forked 2062 -(2061) found -(2062) found -[3362] Forked 2063 -[3361] Forked 2064 -(2064) found -(2063) found -[3360] Forked 2065 -(2065) found -[3359] Forked 2066 -(2066) found -[3358] Forked 2067 -(2067) found -[3357] Forked 2068 -(2068) found -[3356] Forked 2070 -(2070) found -[3355] Forked 2071 -(2071) found -[3354] Forked 2072 -(2072) found -[3353] Forked 2073 -(2073) found -[3352] Forked 2074 -(2074) found -[3351] Forked 2075 -(2075) found -[3350] Forked 2076 -(2076) found -[3349] Forked 2077 -(2077) found -[3348] Forked 2078 -(2078) found -[3347] Forked 2079 -(2079) found -[3346] Forked 2080 -(2080) found -[3345] Forked 2081 -(2081) found -[3344] Forked 2082 -(2082) found -[3343] Forked 2083 -(2083) found -[3342] Forked 2084 -(2084) found -[3341] Forked 2085 -(2085) found -[3340] Forked 2086 -(2086) found -[3339] Forked 2087 -(2087) found -[3338] Forked 2088 -(2088) found -[3337] Forked 2089 -(2089) found -[3336] Forked 2090 -(2090) found -[3335] Forked 2091 -(2091) found -[3334] Forked 2092 -(2092) found -[3333] Forked 2093 -(2093) found -[3332] Forked 2094 -(2094) found -[3331] Forked 2095 -(2095) found -[3330] Forked 2096 -(2096) found -[3329] Forked 2097 -(2097) found -[3328] Forked 2098 -(2098) found -[3327] Forked 2099 -(2099) found -[3326] Forked 2100 -(2100) found -[3325] Forked 2101 -(2101) found -[3324] Forked 2102 -(2102) found -[3323] Forked 2103 -(2103) found -[3322] Forked 2104 -(2104) found -[3321] Forked 2105 -(2105) found -[3320] Forked 2106 -(2106) found -[3319] Forked 2109 -(2109) found -[3318] Forked 2110 -(2110) found -[3317] Forked 2111 -(2111) found -[3316] Forked 2112 -[3315] Forked 2113 -(2112) found -(2113) found -[3314] Forked 2114 -[3313] Forked 2115 -(2114) found -(2115) found -[3312] Forked 2116 -[3311] Forked 2117 -(2116) found -(2117) found -[3310] Forked 2118 -[3309] Forked 2119 -(2118) found -(2119) found -[3308] Forked 2120 -[3307] Forked 2121 -(2120) found -(2121) found -[3306] Forked 2122 -[3305] Forked 2123 -(2122) found -(2123) found -[3304] Forked 2124 -[3303] Forked 2125 -(2124) found -(2125) found -[3302] Forked 2126 -[3301] Forked 2127 -(2126) found -(2127) found -[3300] Forked 2128 -[3299] Forked 2129 -(2128) found -(2129) found -[3298] Forked 2130 -[3297] Forked 2131 -(2130) found -(2131) found -[3296] Forked 2132 -[3295] Forked 2133 -(2132) found -(2133) found -[3294] Forked 2134 -[3293] Forked 2135 -(2134) found -(2135) found -[3292] Forked 2136 -[3291] Forked 2137 -(2136) found -(2137) found -[3290] Forked 2138 -[3289] Forked 2139 -(2138) found -(2139) found -[3288] Forked 2140 -[3287] Forked 2141 -(2140) found -(2141) found -[3286] Forked 2142 -[3285] Forked 2143 -(2142) found -(2143) found -[3284] Forked 2144 -[3283] Forked 2145 -(2144) found -(2145) found -[3282] Forked 2146 -[3281] Forked 2147 -(2146) found -(2147) found -[3280] Forked 2148 -[3279] Forked 2149 -(2148) found -(2149) found -[3278] Forked 2150 -[3277] Forked 2151 -(2150) found -(2151) found -[3276] Forked 2152 -[3275] Forked 2153 -(2152) found -(2153) found -[3274] Forked 2154 -(2154) found -[3273] Forked 2155 -(2155) found -[3272] Forked 2156 -(2156) found -[3271] Forked 2157 -(2157) found -[3270] Forked 2158 -(2158) found -[3269] Forked 2160 -(2160) found -[3268] Forked 2161 -(2161) found -[3267] Forked 2162 -(2162) found -[3266] Forked 2163 -(2163) found -[3265] Forked 2164 -(2164) found -[3264] Forked 2165 -(2165) found -[3263] Forked 2166 -(2166) found -[3262] Forked 2167 -(2167) found -[3261] Forked 2168 -(2168) found -[3260] Forked 2169 -(2169) found -[3259] Forked 2170 -(2170) found -[3258] Forked 2171 -(2171) found -[3257] Forked 2172 -(2172) found -[3256] Forked 2173 -(2173) found -[3255] Forked 2174 -(2174) found -[3254] Forked 2175 -(2175) found -[3253] Forked 2176 -(2176) found -[3252] Forked 2177 -(2177) found -[3251] Forked 2178 -(2178) found -[3250] Forked 2179 -(2179) found -[3249] Forked 2180 -(2180) found -[3248] Forked 2181 -(2181) found -[3247] Forked 2182 -(2182) found -[3246] Forked 2183 -(2183) found -[3245] Forked 2184 -(2184) found -[3244] Forked 2185 -(2185) found -[3243] Forked 2186 -(2186) found -[3242] Forked 2187 -(2187) found -[3241] Forked 2188 -(2188) found -[3240] Forked 2189 -(2189) found -[3239] Forked 2190 -(2190) found -[3238] Forked 2191 -(2191) found -[3237] Forked 2192 -(2192) found -[3236] Forked 2193 -[3235] Forked 2194 -(2193) found -(2194) found -[3234] Forked 2195 -[3233] Forked 2196 -(2195) found -(2196) found -[3232] Forked 2197 -[3231] Forked 2198 -(2197) found -(2198) found -[3230] Forked 2199 -[3229] Forked 2200 -(2199) found -(2200) found -[3228] Forked 2201 -[3227] Forked 2202 -(2201) found -(2202) found -[3226] Forked 2203 -[3225] Forked 2204 -(2203) found -(2204) found -[3224] Forked 2205 -[3223] Forked 2206 -(2205) found -(2206) found -[3222] Forked 2207 -[3221] Forked 2208 -(2207) found -(2208) found -[3220] Forked 2209 -[3219] Forked 2210 -(2209) found -(2210) found -[3218] Forked 2211 -[3217] Forked 2212 -(2211) found -(2212) found -[3216] Forked 2213 -[3215] Forked 2214 -(2213) found -(2214) found -[3214] Forked 2215 -[3213] Forked 2216 -(2215) found -(2216) found -[3212] Forked 2217 -[3211] Forked 2218 -(2217) found -(2218) found -[3210] Forked 2219 -[3209] Forked 2220 -(2219) found -(2220) found -[3208] Forked 2221 -[3207] Forked 2222 -(2221) found -(2222) found -[3206] Forked 2223 -[3205] Forked 2224 -(2223) found -(2224) found -[3204] Forked 2225 -[3203] Forked 2226 -(2225) found -(2226) found -[3202] Forked 2227 -[3201] Forked 2228 -(2227) found -(2228) found -[3200] Forked 2229 -[3199] Forked 2230 -(2229) found -(2230) found -[3198] Forked 2231 -[3197] Forked 2232 -(2231) found -(2232) found -[3196] Forked 2233 -[3195] Forked 2234 -(2234) found -(2233) found -[3194] Forked 2235 -(2235) found -[3193] Forked 2236 -(2236) found -[3192] Forked 2237 -(2237) found -[3191] Forked 2238 -(2238) found -[3190] Forked 2239 -(2239) found -[3189] Forked 2240 -(2240) found -[3188] Forked 2241 -(2241) found -[3187] Forked 2242 -(2242) found -[3186] Forked 2243 -(2243) found -[3185] Forked 2244 -(2244) found -[3184] Forked 2245 -(2245) found -[3183] Forked 2246 -(2246) found -[3182] Forked 2247 -(2247) found -[3181] Forked 2248 -(2248) found -[3180] Forked 2249 -(2249) found -[3179] Forked 2250 -(2250) found -[3178] Forked 2251 -(2251) found -[3177] Forked 2252 -(2252) found -[3176] Forked 2253 -(2253) found -[3175] Forked 2254 -(2254) found -[3174] Forked 2255 -(2255) found -[3173] Forked 2256 -(2256) found -[3172] Forked 2257 -(2257) found -[3171] Forked 2258 -(2258) found -[3170] Forked 2259 -(2259) found -[3169] Forked 2260 -(2260) found -[3168] Forked 2261 -(2261) found -[3167] Forked 2265 -(2265) found -[3166] Forked 2266 -(2266) found -[3165] Forked 2267 -(2267) found -[3164] Forked 2268 -(2268) found -[3163] Forked 2269 -(2269) found -[3162] Forked 2270 -(2270) found -[3161] Forked 2271 -(2271) found -[3160] Forked 2272 -(2272) found -[3159] Forked 2273 -(2273) found -[3158] Forked 2274 -(2274) found -[3157] Forked 2275 -(2275) found -[3156] Forked 2276 -[3155] Forked 2277 -(2276) found -(2277) found -[3154] Forked 2278 -[3153] Forked 2279 -(2278) found -(2279) found -[3152] Forked 2280 -[3151] Forked 2281 -(2280) found -(2281) found -[3150] Forked 2282 -[3149] Forked 2283 -(2282) found -(2283) found -[3148] Forked 2284 -[3147] Forked 2285 -(2284) found -(2285) found -[3146] Forked 2286 -[3145] Forked 2287 -(2286) found -(2287) found -[3144] Forked 2288 -[3143] Forked 2289 -(2288) found -(2289) found -[3142] Forked 2290 -[3141] Forked 2291 -(2290) found -(2291) found -[3140] Forked 2292 -[3139] Forked 2293 -(2292) found -(2293) found -[3138] Forked 2294 -[3137] Forked 2295 -(2294) found -(2295) found -[3136] Forked 2296 -[3135] Forked 2297 -(2296) found -(2297) found -[3134] Forked 2298 -[3133] Forked 2299 -(2298) found -(2299) found -[3132] Forked 2300 -[3131] Forked 2301 -(2300) found -(2301) found -[3130] Forked 2302 -[3129] Forked 2303 -(2302) found -(2303) found -[3128] Forked 2304 -[3127] Forked 2305 -(2304) found -(2305) found -[3126] Forked 2306 -[3125] Forked 2307 -(2306) found -(2307) found -[3124] Forked 2308 -[3123] Forked 2309 -(2308) found -(2309) found -[3122] Forked 2310 -[3121] Forked 2311 -(2310) found -(2311) found -[3120] Forked 2312 -[3119] Forked 2313 -(2312) found -(2313) found -[3118] Forked 2314 -[3117] Forked 2315 -(2314) found -(2315) found -[3116] Forked 2316 -[3115] Forked 2317 -(2316) found -(2317) found -[3114] Forked 2318 -[3113] Forked 2319 -(2318) found -(2319) found -[3112] Forked 2320 -(2320) found -[3111] Forked 2321 -(2321) found -[3110] Forked 2322 -(2322) found -[3109] Forked 2323 -(2323) found -[3108] Forked 2324 -(2324) found -[3107] Forked 2325 -(2325) found -[3106] Forked 2326 -(2326) found -[3105] Forked 2327 -(2327) found -[3104] Forked 2328 -(2328) found -[3103] Forked 2329 -(2329) found -[3102] Forked 2330 -(2330) found -[3101] Forked 2331 -(2331) found -[3100] Forked 2332 -(2332) found -[3099] Forked 2333 -(2333) found -[3098] Forked 2334 -(2334) found -[3097] Forked 2335 -(2335) found -[3096] Forked 2336 -(2336) found -[3095] Forked 2337 -(2337) found -[3094] Forked 2338 -(2338) found -[3093] Forked 2339 -(2339) found -[3092] Forked 2340 -(2340) found -[3091] Forked 2341 -(2341) found -[3090] Forked 2342 -(2342) found -[3089] Forked 2343 -(2343) found -[3088] Forked 2344 -(2344) found -[3087] Forked 2345 -(2345) found -[3086] Forked 2346 -(2346) found -[3085] Forked 2347 -(2347) found -[3084] Forked 2348 -(2348) found -[3083] Forked 2349 -(2349) found -[3082] Forked 2350 -(2350) found -[3081] Forked 2351 -(2351) found -[3080] Forked 2352 -(2352) found -[3079] Forked 2353 -(2353) found -[3078] Forked 2354 -(2354) found -[3077] Forked 2355 -(2355) found -[3076] Forked 2356 -(2356) found -[3075] Forked 2357 -(2357) found -[3074] Forked 2358 -(2358) found -[3073] Forked 2359 -[3072] Forked 2360 -(2359) found -(2360) found -[3071] Forked 2361 -[3070] Forked 2362 -(2361) found -(2362) found -[3069] Forked 2363 -[3068] Forked 2364 -(2363) found -(2364) found -[3067] Forked 2365 -[3066] Forked 2366 -(2365) found -(2366) found -[3065] Forked 2367 -[3064] Forked 2368 -(2367) found -(2368) found -[3063] Forked 2369 -[3062] Forked 2370 -(2369) found -(2370) found -[3061] Forked 2371 -[3060] Forked 2372 -(2371) found -(2372) found -[3059] Forked 2373 -[3058] Forked 2374 -(2373) found -(2374) found -[3057] Forked 2375 -[3056] Forked 2376 -(2375) found -(2376) found -[3055] Forked 2377 -[3054] Forked 2378 -(2377) found -(2378) found -[3053] Forked 2379 -[3052] Forked 2380 -(2379) found -(2380) found -[3051] Forked 2381 -[3050] Forked 2382 -(2381) found -(2382) found -[3049] Forked 2383 -[3048] Forked 2384 -(2383) found -(2384) found -[3047] Forked 2385 -[3046] Forked 2386 -(2385) found -(2386) found -[3045] Forked 2387 -[3044] Forked 2388 -(2387) found -(2388) found -[3043] Forked 2389 -[3042] Forked 2390 -(2389) found -(2390) found -[3041] Forked 2391 -[3040] Forked 2392 -(2391) found -(2392) found -[3039] Forked 2393 -[3038] Forked 2394 -(2393) found -(2394) found -[3037] Forked 2395 -[3036] Forked 2396 -(2395) found -(2396) found -[3035] Forked 2397 -[3034] Forked 2399 -(2397) found -(2399) found -[3033] Forked 2400 -(2400) found -[3032] Forked 2401 -(2401) found -[3031] Forked 2402 -(2402) found -[3030] Forked 2404 -(2404) found -[3029] Forked 2405 -(2405) found -[3028] Forked 2406 -(2406) found -[3027] Forked 2407 -(2407) found -[3026] Forked 2408 -(2408) found -[3025] Forked 2409 -(2409) found -[3024] Forked 2410 -(2410) found -[3023] Forked 2411 -(2411) found -[3022] Forked 2412 -(2412) found -[3021] Forked 2413 -(2413) found -[3020] Forked 2414 -(2414) found -[3019] Forked 2415 -(2415) found -[3018] Forked 2416 -(2416) found -[3017] Forked 2417 -(2417) found -[3016] Forked 2418 -(2418) found -[3015] Forked 2419 -(2419) found -[3014] Forked 2420 -(2420) found -[3013] Forked 2421 -(2421) found -[3012] Forked 2422 -(2422) found -[3011] Forked 2423 -(2423) found -[3010] Forked 2424 -(2424) found -[3009] Forked 2425 -(2425) found -[3008] Forked 2426 -(2426) found -[3007] Forked 2427 -(2427) found -[3006] Forked 2428 -(2428) found -[3005] Forked 2429 -(2429) found -[3004] Forked 2430 -(2430) found -[3003] Forked 2431 -(2431) found -[3002] Forked 2432 -(2432) found -[3001] Forked 2433 -(2433) found -[3000] Forked 2434 -(2434) found -[2999] Forked 2435 -(2435) found -[2998] Forked 2436 -(2436) found -[2997] Forked 2437 -(2437) found -[2996] Forked 2438 -(2438) found -[2995] Forked 2439 -(2439) found -[2994] Forked 2440 -(2440) found -[2993] Forked 2441 -[2992] Forked 2442 -(2441) found -(2442) found -[2991] Forked 2443 -[2990] Forked 2444 -(2443) found -(2444) found -[2989] Forked 2445 -[2988] Forked 2446 -(2445) found -(2446) found -[2987] Forked 2447 -[2986] Forked 2448 -(2447) found -(2448) found -[2985] Forked 2449 -[2984] Forked 2450 -(2449) found -(2450) found -[2983] Forked 2451 -[2982] Forked 2452 -(2451) found -(2452) found -[2981] Forked 2453 -[2980] Forked 2454 -(2453) found -(2454) found -[2979] Forked 2455 -[2978] Forked 2456 -(2455) found -(2456) found -[2977] Forked 2457 -[2976] Forked 2458 -(2457) found -(2458) found -[2975] Forked 2459 -[2974] Forked 2460 -(2459) found -(2460) found -[2973] Forked 2461 -[2972] Forked 2462 -(2461) found -(2462) found -[2971] Forked 2463 -[2970] Forked 2464 -(2463) found -(2464) found -[2969] Forked 2465 -[2968] Forked 2466 -(2465) found -(2466) found -[2967] Forked 2467 -[2966] Forked 2468 -(2467) found -(2468) found -[2965] Forked 2469 -[2964] Forked 2470 -(2469) found -(2470) found -[2963] Forked 2471 -[2962] Forked 2472 -(2471) found -(2472) found -[2961] Forked 2473 -[2960] Forked 2474 -(2473) found -(2474) found -[2959] Forked 2475 -[2958] Forked 2476 -(2475) found -(2476) found -[2957] Forked 2477 -[2956] Forked 2478 -(2477) found -(2478) found -[2955] Forked 2479 -[2954] Forked 2480 -(2479) found -(2480) found -[2953] Forked 2481 -[2952] Forked 2482 -(2481) found -(2482) found -[2951] Forked 2483 -[2950] Forked 2484 -(2483) found -(2484) found -[2949] Forked 2485 -(2485) found -[2948] Forked 2486 -(2486) found -[2947] Forked 2487 -(2487) found -[2946] Forked 2488 -(2488) found -[2945] Forked 2489 -(2489) found -[2944] Forked 2490 -(2490) found -[2943] Forked 2491 -(2491) found -[2942] Forked 2492 -(2492) found -[2941] Forked 2493 -(2493) found -[2940] Forked 2494 -(2494) found -[2939] Forked 2495 -(2495) found -[2938] Forked 2496 -(2496) found -[2937] Forked 2497 -(2497) found -[2936] Forked 2498 -(2498) found -[2935] Forked 2499 -(2499) found -[2934] Forked 2500 -(2500) found -[2933] Forked 2501 -(2501) found -[2932] Forked 2502 -(2502) found -[2931] Forked 2503 -(2503) found -[2930] Forked 2504 -(2504) found -[2929] Forked 2505 -(2505) found -[2928] Forked 2506 -(2506) found -[2927] Forked 2507 -(2507) found -[2926] Forked 2508 -(2508) found -[2925] Forked 2509 -(2509) found -[2924] Forked 2510 -(2510) found -[2923] Forked 2512 -(2512) found -[2922] Forked 2513 -(2513) found -[2921] Forked 2514 -(2514) found -[2920] Forked 2515 -(2515) found -[2919] Forked 2516 -(2516) found -[2918] Forked 2517 -(2517) found -[2917] Forked 2518 -(2518) found -[2916] Forked 2519 -(2519) found -[2915] Forked 2520 -(2520) found -[2914] Forked 2521 -(2521) found -[2913] Forked 2522 -(2522) found -[2912] Forked 2523 -(2523) found -[2911] Forked 2525 -[2910] Forked 2526 -(2525) found -(2526) found -[2909] Forked 2527 -[2908] Forked 2528 -(2527) found -(2528) found -[2907] Forked 2529 -[2906] Forked 2530 -(2529) found -(2530) found -[2905] Forked 2531 -[2904] Forked 2532 -(2531) found -(2532) found -[2903] Forked 2533 -[2902] Forked 2534 -(2533) found -(2534) found -[2901] Forked 2535 -[2900] Forked 2536 -(2535) found -(2536) found -[2899] Forked 2537 -[2898] Forked 2538 -(2537) found -(2538) found -[2897] Forked 2539 -[2896] Forked 2541 -(2539) found -(2541) found -[2895] Forked 2542 -[2894] Forked 2543 -(2542) found -(2543) found -[2893] Forked 2544 -[2892] Forked 2545 -(2544) found -(2545) found -[2891] Forked 2546 -[2890] Forked 2547 -(2546) found -(2547) found -[2889] Forked 2548 -[2888] Forked 2549 -(2548) found -(2549) found -[2887] Forked 2550 -[2886] Forked 2551 -(2550) found -(2551) found -[2885] Forked 2552 -[2884] Forked 2553 -(2552) found -(2553) found -[2883] Forked 2554 -[2882] Forked 2555 -(2554) found -(2555) found -[2881] Forked 2556 -[2880] Forked 2557 -(2556) found -(2557) found -[2879] Forked 2558 -[2878] Forked 2559 -(2558) found -(2559) found -[2877] Forked 2560 -[2876] Forked 2561 -(2560) found -(2561) found -[2875] Forked 2562 -[2874] Forked 2563 -(2562) found -(2563) found -[2873] Forked 2564 -[2872] Forked 2565 -(2564) found -(2565) found -[2871] Forked 2566 -[2870] Forked 2567 -(2566) found -(2567) found -[2869] Forked 2568 -[2868] Forked 2569 -(2568) found -(2569) found -[2867] Forked 2570 -(2570) found -[2866] Forked 2571 -(2571) found -[2865] Forked 2572 -(2572) found -[2864] Forked 2573 -(2573) found -[2863] Forked 2574 -(2574) found -[2862] Forked 2575 -(2575) found -[2861] Forked 2576 -(2576) found -[2860] Forked 2577 -(2577) found -[2859] Forked 2578 -(2578) found -[2858] Forked 2579 -(2579) found -[2857] Forked 2580 -(2580) found -[2856] Forked 2581 -(2581) found -[2855] Forked 2582 -(2582) found -[2854] Forked 2583 -(2583) found -[2853] Forked 2584 -(2584) found -[2852] Forked 2585 -(2585) found -[2851] Forked 2586 -(2586) found -[2850] Forked 2587 -(2587) found -[2849] Forked 2588 -(2588) found -[2848] Forked 2589 -(2589) found -[2847] Forked 2590 -(2590) found -[2846] Forked 2591 -(2591) found -[2845] Forked 2592 -(2592) found -[2844] Forked 2593 -(2593) found -[2843] Forked 2594 -(2594) found -[2842] Forked 2595 -(2595) found -[2841] Forked 2596 -(2596) found -[2840] Forked 2597 -(2597) found -[2839] Forked 2598 -(2598) found -[2838] Forked 2599 -(2599) found -[2837] Forked 2600 -(2600) found -[2836] Forked 2601 -(2601) found -[2835] Forked 2602 -(2602) found -[2834] Forked 2603 -(2603) found -[2833] Forked 2604 -(2604) found -[2832] Forked 2605 -(2605) found -[2831] Forked 2606 -(2606) found -[2830] Forked 2607 -(2607) found -[2829] Forked 2608 -(2608) found -[2828] Forked 2609 -(2609) found -[2827] Forked 2610 -(2610) found -[2826] Forked 2611 -[2825] Forked 2612 -(2611) found -(2612) found -[2824] Forked 2613 -[2823] Forked 2614 -(2613) found -(2614) found -[2822] Forked 2615 -[2821] Forked 2616 -(2615) found -(2616) found -[2820] Forked 2617 -[2819] Forked 2618 -(2617) found -(2618) found -[2818] Forked 2619 -[2817] Forked 2620 -(2619) found -(2620) found -[2816] Forked 2621 -[2815] Forked 2622 -(2621) found -(2622) found -[2814] Forked 2623 -[2813] Forked 2624 -(2623) found -(2624) found -[2812] Forked 2625 -[2811] Forked 2626 -(2625) found -(2626) found -[2810] Forked 2627 -[2809] Forked 2628 -(2627) found -(2628) found -[2808] Forked 2629 -[2807] Forked 2630 -(2629) found -(2630) found -[2806] Forked 2631 -[2805] Forked 2632 -(2631) found -(2632) found -[2804] Forked 2633 -[2803] Forked 2634 -(2633) found -(2634) found -[2802] Forked 2635 -[2801] Forked 2636 -(2635) found -(2636) found -[2800] Forked 2637 -[2799] Forked 2638 -(2637) found -(2638) found -[2798] Forked 2639 -[2797] Forked 2640 -(2639) found -(2640) found -[2796] Forked 2641 -[2795] Forked 2642 -(2641) found -(2642) found -[2794] Forked 2643 -[2793] Forked 2644 -(2643) found -(2644) found -[2792] Forked 2645 -[2791] Forked 2646 -(2645) found -(2646) found -[2790] Forked 2647 -[2789] Forked 2648 -(2647) found -(2648) found -[2788] Forked 2649 -[2787] Forked 2650 -(2649) found -(2650) found -[2786] Forked 2651 -(2651) found -[2785] Forked 2652 -(2652) found -[2784] Forked 2653 -(2653) found -[2783] Forked 2654 -(2654) found -[2782] Forked 2655 -(2655) found -[2781] Forked 2659 -(2659) found -[2780] Forked 2662 -(2662) found -[2779] Forked 2663 -(2663) found -[2778] Forked 2664 -(2664) found -[2777] Forked 2665 -(2665) found -[2776] Forked 2666 -(2666) found -[2775] Forked 2669 -(2669) found -[2774] Forked 2670 -(2670) found -[2773] Forked 2671 -(2671) found -[2772] Forked 2672 -(2672) found -[2771] Forked 2673 -(2673) found -[2770] Forked 2674 -(2674) found -[2769] Forked 2675 -(2675) found -[2768] Forked 2676 -(2676) found -[2767] Forked 2677 -(2677) found -[2766] Forked 2678 -(2678) found -[2765] Forked 2679 -(2679) found -[2764] Forked 2680 -(2680) found -[2763] Forked 2681 -(2681) found -[2762] Forked 2682 -(2682) found -[2761] Forked 2683 -(2683) found -[2760] Forked 2684 -(2684) found -[2759] Forked 2685 -(2685) found -[2758] Forked 2686 -(2686) found -[2757] Forked 2687 -(2687) found -[2756] Forked 2688 -(2688) found -[2755] Forked 2689 -(2689) found -[2754] Forked 2690 -(2690) found -[2753] Forked 2691 -(2691) found -[2752] Forked 2692 -(2692) found -[2751] Forked 2693 -(2693) found -[2750] Forked 2694 -(2694) found -[2749] Forked 2695 -(2695) found -[2748] Forked 2696 -(2696) found -[2747] Forked 2697 -[2746] Forked 2698 -(2697) found -(2698) found -[2745] Forked 2699 -[2744] Forked 2700 -(2699) found -(2700) found -[2743] Forked 2701 -[2742] Forked 2703 -(2701) found -(2703) found -[2741] Forked 2704 -[2740] Forked 2705 -(2704) found -(2705) found -[2739] Forked 2706 -[2738] Forked 2707 -(2706) found -(2707) found -[2737] Forked 2708 -[2736] Forked 2709 -(2708) found -(2709) found -[2735] Forked 2710 -[2734] Forked 2711 -(2710) found -(2711) found -[2733] Forked 2712 -[2732] Forked 2713 -(2712) found -(2713) found -[2731] Forked 2714 -[2730] Forked 2715 -(2714) found -(2715) found -[2729] Forked 2716 -[2728] Forked 2717 -(2716) found -(2717) found -[2727] Forked 2718 -[2726] Forked 2719 -(2718) found -(2719) found -[2725] Forked 2720 -[2724] Forked 2723 -(2720) found -(2723) found -[2723] Forked 2725 -(2725) found -[2722] Forked 2728 -[2721] Forked 2729 -(2728) found -(2729) found -[2720] Forked 2730 -[2719] Forked 2731 -(2730) found -(2731) found -[2718] Forked 2732 -[2717] Forked 2733 -(2732) found -(2733) found -[2716] Forked 2734 -[2715] Forked 2735 -(2734) found -(2735) found -[2714] Forked 2736 -[2713] Forked 2737 -(2736) found -(2737) found -[2712] Forked 2738 -[2711] Forked 2739 -(2738) found -(2739) found -[2710] Forked 2740 -[2709] Forked 2741 -(2740) found -(2741) found -[2708] Forked 2742 -[2707] Forked 2743 -(2742) found -(2743) found -[2706] Forked 2744 -[2705] Forked 2745 -(2744) found -(2745) found -[2704] Forked 2746 -(2746) found -[2703] Forked 2747 -(2747) found -[2702] Forked 2748 -(2748) found -[2701] Forked 2749 -(2749) found -[2700] Forked 2750 -(2750) found -[2699] Forked 2751 -(2751) found -[2698] Forked 2752 -(2752) found -[2697] Forked 2753 -(2753) found -[2696] Forked 2754 -(2754) found -[2695] Forked 2755 -(2755) found -[2694] Forked 2756 -(2756) found -[2693] Forked 2757 -(2757) found -[2692] Forked 2758 -(2758) found -[2691] Forked 2760 -(2760) found -[2690] Forked 2761 -(2761) found -[2689] Forked 2762 -(2762) found -[2688] Forked 2763 -(2763) found -[2687] Forked 2764 -(2764) found -[2686] Forked 2765 -(2765) found -[2685] Forked 2766 -(2766) found -[2684] Forked 2767 -(2767) found -[2683] Forked 2768 -(2768) found -[2682] Forked 2769 -(2769) found -[2681] Forked 2770 -(2770) found -[2680] Forked 2771 -(2771) found -[2679] Forked 2772 -(2772) found -[2678] Forked 2773 -(2773) found -[2677] Forked 2774 -(2774) found -[2676] Forked 2775 -(2775) found -[2675] Forked 2776 -(2776) found -[2674] Forked 2777 -(2777) found -[2673] Forked 2778 -(2778) found -[2672] Forked 2779 -(2779) found -[2671] Forked 2780 -(2780) found -[2670] Forked 2781 -(2781) found -[2669] Forked 2782 -(2782) found -[2668] Forked 2783 -(2783) found -[2667] Forked 2784 -(2784) found -[2666] Forked 2785 -[2665] Forked 2786 -(2785) found -(2786) found -[2664] Forked 2787 -[2663] Forked 2788 -(2787) found -(2788) found -[2662] Forked 2789 -[2661] Forked 2790 -(2789) found -(2790) found -[2660] Forked 2791 -[2659] Forked 2792 -(2791) found -(2792) found -[2658] Forked 2793 -[2657] Forked 2794 -(2793) found -(2794) found -[2656] Forked 2795 -[2655] Forked 2796 -(2795) found -(2796) found -[2654] Forked 2797 -[2653] Forked 2798 -(2797) found -(2798) found -[2652] Forked 2799 -[2651] Forked 2800 -(2799) found -(2800) found -[2650] Forked 2801 -[2649] Forked 2802 -(2801) found -(2802) found -[2648] Forked 2803 -[2647] Forked 2804 -(2803) found -(2804) found -[2646] Forked 2805 -[2645] Forked 2806 -(2805) found -(2806) found -[2644] Forked 2807 -[2643] Forked 2808 -(2807) found -(2808) found -[2642] Forked 2809 -[2641] Forked 2810 -(2809) found -(2810) found -[2640] Forked 2811 -[2639] Forked 2812 -(2811) found -(2812) found -[2638] Forked 2813 -[2637] Forked 2814 -(2813) found -(2814) found -[2636] Forked 2815 -[2635] Forked 2816 -(2815) found -(2816) found -[2634] Forked 2817 -[2633] Forked 2818 -(2817) found -(2818) found -[2632] Forked 2819 -[2631] Forked 2820 -(2819) found -(2820) found -[2630] Forked 2821 -[2629] Forked 2822 -(2821) found -(2822) found -[2628] Forked 2823 -[2627] Forked 2824 -(2823) found -(2824) found -[2626] Forked 2825 -[2625] Forked 2826 -(2825) found -(2826) found -[2624] Forked 2827 -[2623] Forked 2830 -(2827) found -(2830) found -[2622] Forked 2831 -(2831) found -[2621] Forked 2832 -(2832) found -[2620] Forked 2833 -(2833) found -[2619] Forked 2834 -(2834) found -[2618] Forked 2835 -(2835) found -[2617] Forked 2836 -(2836) found -[2616] Forked 2837 -(2837) found -[2615] Forked 2838 -(2838) found -[2614] Forked 2839 -(2839) found -[2613] Forked 2840 -(2840) found -[2612] Forked 2841 -(2841) found -[2611] Forked 2843 -(2843) found -[2610] Forked 2844 -(2844) found -[2609] Forked 2845 -(2845) found -[2608] Forked 2846 -(2846) found -[2607] Forked 2847 -(2847) found -[2606] Forked 2848 -(2848) found -[2605] Forked 2849 -(2849) found -[2604] Forked 2850 -(2850) found -[2603] Forked 2851 -(2851) found -[2602] Forked 2852 -(2852) found -[2601] Forked 2853 -(2853) found -[2600] Forked 2854 -(2854) found -[2599] Forked 2855 -(2855) found -[2598] Forked 2856 -(2856) found -[2597] Forked 2857 -(2857) found -[2596] Forked 2858 -(2858) found -[2595] Forked 2859 -(2859) found -[2594] Forked 2860 -(2860) found -[2593] Forked 2861 -(2861) found -[2592] Forked 2862 -(2862) found -[2591] Forked 2863 -(2863) found -[2590] Forked 2864 -(2864) found -[2589] Forked 2865 -(2865) found -[2588] Forked 2866 -(2866) found -[2587] Forked 2867 -(2867) found -[2586] Forked 2868 -(2868) found -[2585] Forked 2869 -(2869) found -[2584] Forked 2870 -[2583] Forked 2871 -(2870) found -(2871) found -[2582] Forked 2872 -[2581] Forked 2873 -(2872) found -(2873) found -[2580] Forked 2874 -[2579] Forked 2875 -(2874) found -(2875) found -[2578] Forked 2876 -(2876) found -[2577] Forked 2877 -[2576] Forked 2878 -(2877) found -(2878) found -[2575] Forked 2879 -[2574] Forked 2880 -(2879) found -(2880) found -[2573] Forked 2881 -[2572] Forked 2882 -(2881) found -(2882) found -[2571] Forked 2883 -[2570] Forked 2884 -(2883) found -(2884) found -[2569] Forked 2885 -[2568] Forked 2886 -(2885) found -(2886) found -[2567] Forked 2887 -[2566] Forked 2888 -(2887) found -(2888) found -[2565] Forked 2889 -[2564] Forked 2890 -(2889) found -(2890) found -[2563] Forked 2891 -[2562] Forked 2892 -(2891) found -(2892) found -[2561] Forked 2893 -[2560] Forked 2894 -(2893) found -(2894) found -[2559] Forked 2895 -[2558] Forked 2896 -(2895) found -(2896) found -[2557] Forked 2897 -[2556] Forked 2898 -(2897) found -(2898) found -[2555] Forked 2899 -[2554] Forked 2900 -(2899) found -(2900) found -[2553] Forked 2901 -[2552] Forked 2902 -(2901) found -(2902) found -[2551] Forked 2903 -[2550] Forked 2904 -(2903) found -(2904) found -[2549] Forked 2905 -(2905) found -[2548] Forked 2906 -(2906) found -[2547] Forked 2907 -[2546] Forked 2908 -(2907) found -(2908) found -[2545] Forked 2909 -[2544] Forked 2910 -(2909) found -(2910) found -[2543] Forked 2911 -[2542] Forked 2912 -(2911) found -(2912) found -[2541] Forked 2913 -[2540] Forked 2914 -(2913) found -(2914) found -[2539] Forked 2915 -[2538] Forked 2916 -(2915) found -(2916) found -[2537] Forked 2917 -[2536] Forked 2918 -(2917) found -(2918) found -[2535] Forked 2919 -[2534] Forked 2920 -(2919) found -(2920) found -[2533] Forked 2921 -[2532] Forked 2922 -(2921) found -(2922) found -[2531] Forked 2923 -[2530] Forked 2924 -(2923) found -(2924) found -[2529] Forked 2925 -[2528] Forked 2926 -(2925) found -(2926) found -[2527] Forked 2927 -[2526] Forked 2928 -(2927) found -(2928) found -[2525] Forked 2929 -[2524] Forked 2930 -(2929) found -(2930) found -[2523] Forked 2932 -[2522] Forked 2933 -(2932) found -(2933) found -[2521] Forked 2934 -[2520] Forked 2935 -(2934) found -(2935) found -[2519] Forked 2936 -[2518] Forked 2937 -(2936) found -(2937) found -[2517] Forked 2938 -[2516] Forked 2939 -(2938) found -(2939) found -[2515] Forked 2940 -[2514] Forked 2941 -(2940) found -(2941) found -[2513] Forked 2942 -[2512] Forked 2943 -(2942) found -(2943) found -[2511] Forked 2944 -[2510] Forked 2945 -(2944) found -(2945) found -[2509] Forked 2946 -[2508] Forked 2947 -(2946) found -(2947) found -[2507] Forked 2948 -[2506] Forked 2949 -(2948) found -(2949) found -[2505] Forked 2950 -[2504] Forked 2951 -(2950) found -(2951) found -[2503] Forked 2952 -[2502] Forked 2953 -(2952) found -(2953) found -[2501] Forked 2956 -[2500] Forked 2957 -(2956) found -(2957) found -[2499] Forked 2958 -[2498] Forked 2959 -(2958) found -(2959) found -[2497] Forked 2960 -[2496] Forked 2961 -(2960) found -(2961) found -[2495] Forked 2962 -[2494] Forked 2963 -(2962) found -(2963) found -[2493] Forked 2964 -[2492] Forked 2965 -(2964) found -(2965) found -[2491] Forked 2966 -[2490] Forked 2967 -(2966) found -(2967) found -[2489] Forked 2968 -[2488] Forked 2969 -(2968) found -(2969) found -[2487] Forked 2970 -[2486] Forked 2971 -(2970) found -(2971) found -[2485] Forked 2972 -[2484] Forked 2973 -(2972) found -(2973) found -[2483] Forked 2974 -[2482] Forked 2975 -(2974) found -(2975) found -[2481] Forked 2976 -[2480] Forked 2977 -(2976) found -(2977) found -[2479] Forked 2978 -[2478] Forked 2979 -(2978) found -(2979) found -[2477] Forked 2980 -[2476] Forked 2981 -(2980) found -(2981) found -[2475] Forked 2983 -[2474] Forked 2984 -(2983) found -(2984) found -[2473] Forked 2987 -[2472] Forked 2992 -(2987) found -(2992) found -[2471] Forked 3049 -[2470] Forked 3050 -(3049) found -(3050) found -[2469] Forked 3051 -[2468] Forked 3052 -(3051) found -(3052) found -[2467] Forked 3053 -[2466] Forked 3054 -(3053) found -(3054) found -[2465] Forked 3055 -[2464] Forked 3056 -(3055) found -(3056) found -[2463] Forked 3057 -[2462] Forked 3058 -(3057) found -(3058) found -[2461] Forked 3059 -[2460] Forked 3060 -(3059) found -(3060) found -[2459] Forked 3061 -[2458] Forked 3062 -(3061) found -(3062) found -[2457] Forked 3063 -[2456] Forked 3064 -(3063) found -(3064) found -[2455] Forked 3065 -[2454] Forked 3066 -(3065) found -(3066) found -[2453] Forked 3067 -[2452] Forked 3068 -(3067) found -(3068) found -[2451] Forked 3069 -(3069) found -[2450] Forked 3070 -(3070) found -[2449] Forked 3071 -(3071) found -[2448] Forked 3072 -(3072) found -[2447] Forked 3073 -(3073) found -[2446] Forked 3074 -(3074) found -[2445] Forked 3075 -(3075) found -[2444] Forked 3076 -(3076) found -[2443] Forked 3077 -(3077) found -[2442] Forked 3078 -(3078) found -[2441] Forked 3079 -(3079) found -[2440] Forked 3080 -(3080) found -[2439] Forked 3081 -(3081) found -[2438] Forked 3082 -(3082) found -[2437] Forked 3083 -(3083) found -[2436] Forked 3085 -(3085) found -[2435] Forked 3086 -(3086) found -[2434] Forked 3087 -(3087) found -[2433] Forked 3088 -(3088) found -[2432] Forked 3089 -(3089) found -[2431] Forked 3090 -(3090) found -[2430] Forked 3091 -(3091) found -[2429] Forked 3093 -(3093) found -[2428] Forked 3094 -(3094) found -[2427] Forked 3095 -(3095) found -[2426] Forked 3096 -(3096) found -[2425] Forked 3097 -(3097) found -[2424] Forked 3098 -(3098) found -[2423] Forked 3099 -(3099) found -[2422] Forked 3101 -(3101) found -[2421] Forked 3102 -(3102) found -[2420] Forked 3103 -(3103) found -[2419] Forked 3104 -(3104) found -[2418] Forked 3105 -(3105) found -[2417] Forked 3106 -(3106) found -[2416] Forked 3107 -(3107) found -[2415] Forked 3108 -(3108) found -[2414] Forked 3109 -(3109) found -[2413] Forked 3110 -[2412] Forked 3112 -(3110) found -(3112) found -[2411] Forked 3113 -[2410] Forked 3114 -(3113) found -(3114) found -[2409] Forked 3115 -[2408] Forked 3116 -(3115) found -(3116) found -[2407] Forked 3117 -[2406] Forked 3118 -(3117) found -(3118) found -[2405] Forked 3119 -[2404] Forked 3120 -(3119) found -(3120) found -[2403] Forked 3121 -[2402] Forked 3123 -(3121) found -(3123) found -[2401] Forked 3124 -[2400] Forked 3126 -(3124) found -(3126) found -[2399] Forked 3128 -[2398] Forked 3129 -(3128) found -(3129) found -[2397] Forked 3130 -[2396] Forked 3131 -(3130) found -(3131) found -[2395] Forked 3132 -[2394] Forked 3133 -(3132) found -(3133) found -[2393] Forked 3134 -[2392] Forked 3135 -(3134) found -(3135) found -[2391] Forked 3136 -[2390] Forked 3137 -(3136) found -(3137) found -[2389] Forked 3138 -[2388] Forked 3139 -(3138) found -(3139) found -[2387] Forked 3140 -[2386] Forked 3141 -(3140) found -(3141) found -[2385] Forked 3142 -[2384] Forked 3143 -(3142) found -(3143) found -[2383] Forked 3144 -[2382] Forked 3145 -(3144) found -(3145) found -[2381] Forked 3147 -[2380] Forked 3148 -(3147) found -(3148) found -[2379] Forked 3149 -[2378] Forked 3150 -(3149) found -(3150) found -[2377] Forked 3151 -[2376] Forked 3152 -(3151) found -(3152) found -[2375] Forked 3153 -[2374] Forked 3154 -(3153) found -(3154) found -[2373] Forked 3155 -[2372] Forked 3156 -(3155) found -(3156) found -[2371] Forked 3157 -[2370] Forked 3158 -(3157) found -(3158) found -[2369] Forked 3159 -(3159) found -[2368] Forked 3160 -(3160) found -[2367] Forked 3163 -(3163) found -[2366] Forked 3164 -(3164) found -[2365] Forked 3165 -(3165) found -[2364] Forked 3166 -(3166) found -[2363] Forked 3167 -(3167) found -[2362] Forked 3168 -(3168) found -[2361] Forked 3169 -(3169) found -[2360] Forked 3170 -(3170) found -[2359] Forked 3171 -(3171) found -[2358] Forked 3172 -(3172) found -[2357] Forked 3173 -(3173) found -[2356] Forked 3174 -(3174) found -[2355] Forked 3175 -(3175) found -[2354] Forked 3176 -(3176) found -[2353] Forked 3177 -(3177) found -[2352] Forked 3178 -(3178) found -[2351] Forked 3179 -(3179) found -[2350] Forked 3180 -(3180) found -[2349] Forked 3181 -(3181) found -[2348] Forked 3182 -(3182) found -[2347] Forked 3183 -(3183) found -[2346] Forked 3184 -(3184) found -[2345] Forked 3185 -(3185) found -[2344] Forked 3186 -(3186) found -[2343] Forked 3187 -(3187) found -[2342] Forked 3188 -(3188) found -[2341] Forked 3189 -(3189) found -[2340] Forked 3190 -(3190) found -[2339] Forked 3191 -(3191) found -[2338] Forked 3192 -(3192) found -[2337] Forked 3195 -(3195) found -[2336] Forked 3196 -(3196) found -[2335] Forked 3197 -(3197) found -[2334] Forked 3198 -(3198) found -[2333] Forked 3199 -(3199) found -[2332] Forked 3200 -(3200) found -[2331] Forked 3201 -[2330] Forked 3202 -(3201) found -(3202) found -[2329] Forked 3203 -[2328] Forked 3204 -(3203) found -(3204) found -[2327] Forked 3205 -[2326] Forked 3206 -(3205) found -(3206) found -[2325] Forked 3207 -[2324] Forked 3208 -(3207) found -(3208) found -[2323] Forked 3209 -[2322] Forked 3210 -(3209) found -(3210) found -[2321] Forked 3211 -[2320] Forked 3212 -(3211) found -(3212) found -[2319] Forked 3213 -[2318] Forked 3214 -(3213) found -(3214) found -[2317] Forked 3215 -[2316] Forked 3216 -(3215) found -(3216) found -[2315] Forked 3217 -[2314] Forked 3218 -(3217) found -(3218) found -[2313] Forked 3219 -[2312] Forked 3220 -(3219) found -(3220) found -[2311] Forked 3221 -[2310] Forked 3222 -(3221) found -(3222) found -[2309] Forked 3223 -[2308] Forked 3224 -(3223) found -(3224) found -[2307] Forked 3225 -[2306] Forked 3227 -(3225) found -(3227) found -[2305] Forked 3228 -[2304] Forked 3229 -(3228) found -(3229) found -[2303] Forked 3230 -[2302] Forked 3231 -(3230) found -(3231) found -[2301] Forked 3232 -[2300] Forked 3233 -(3232) found -(3233) found -[2299] Forked 3234 -[2298] Forked 3235 -(3234) found -(3235) found -[2297] Forked 3236 -[2296] Forked 3237 -(3236) found -(3237) found -[2295] Forked 3238 -[2294] Forked 3239 -(3238) found -(3239) found -[2293] Forked 3240 -[2292] Forked 3241 -(3240) found -(3241) found -[2291] Forked 3242 -[2290] Forked 3243 -(3242) found -(3243) found -[2289] Forked 3244 -[2288] Forked 3245 -(3244) found -(3245) found -[2287] Forked 3249 -(3249) found -[2286] Forked 3250 -(3250) found -[2285] Forked 3251 -(3251) found -[2284] Forked 3252 -(3252) found -[2283] Forked 3253 -(3253) found -[2282] Forked 3254 -(3254) found -[2281] Forked 3255 -(3255) found -[2280] Forked 3256 -(3256) found -[2279] Forked 3257 -(3257) found -[2278] Forked 3258 -(3258) found -[2277] Forked 3259 -(3259) found -[2276] Forked 3260 -(3260) found -[2275] Forked 3261 -(3261) found -[2274] Forked 3262 -(3262) found -[2273] Forked 3263 -(3263) found -[2272] Forked 3264 -(3264) found -[2271] Forked 3265 -(3265) found -[2270] Forked 3266 -(3266) found -[2269] Forked 3267 -(3267) found -[2268] Forked 3268 -(3268) found -[2267] Forked 3269 -(3269) found -[2266] Forked 3270 -(3270) found -[2265] Forked 3271 -(3271) found -[2264] Forked 3272 -(3272) found -[2263] Forked 3273 -(3273) found -[2262] Forked 3274 -(3274) found -[2261] Forked 3275 -(3275) found -[2260] Forked 3276 -(3276) found -[2259] Forked 3277 -(3277) found -[2258] Forked 3278 -(3278) found -[2257] Forked 3279 -(3279) found -[2256] Forked 3280 -(3280) found -[2255] Forked 3281 -(3281) found -[2254] Forked 3282 -(3282) found -[2253] Forked 3283 -(3283) found -[2252] Forked 3284 -(3284) found -[2251] Forked 3285 -(3285) found -[2250] Forked 3286 -(3286) found -[2249] Forked 3287 -[2248] Forked 3288 -(3287) found -(3288) found -[2247] Forked 3289 -[2246] Forked 3290 -(3289) found -(3290) found -[2245] Forked 3291 -[2244] Forked 3292 -(3291) found -(3292) found -[2243] Forked 3293 -[2242] Forked 3294 -(3293) found -(3294) found -[2241] Forked 3295 -[2240] Forked 3296 -(3295) found -(3296) found -[2239] Forked 3297 -[2238] Forked 3298 -(3297) found -(3298) found -[2237] Forked 3299 -[2236] Forked 3300 -(3299) found -(3300) found -[2235] Forked 3301 -[2234] Forked 3302 -(3301) found -(3302) found -[2233] Forked 3303 -[2232] Forked 3304 -(3303) found -(3304) found -[2231] Forked 3305 -[2230] Forked 3306 -(3305) found -(3306) found -[2229] Forked 3307 -[2228] Forked 3308 -(3307) found -(3308) found -[2227] Forked 3309 -[2226] Forked 3310 -(3309) found -(3310) found -[2225] Forked 3311 -[2224] Forked 3312 -(3311) found -(3312) found -[2223] Forked 3313 -[2222] Forked 3314 -(3313) found -(3314) found -[2221] Forked 3315 -[2220] Forked 3317 -(3315) found -(3317) found -[2219] Forked 3318 -[2218] Forked 3319 -(3318) found -(3319) found -[2217] Forked 3320 -[2216] Forked 3321 -(3320) found -(3321) found -[2215] Forked 3322 -[2214] Forked 3323 -(3322) found -(3323) found -[2213] Forked 3324 -[2212] Forked 3325 -(3324) found -(3325) found -[2211] Forked 3326 -[2210] Forked 3327 -(3326) found -(3327) found -[2209] Forked 3333 -[2208] Forked 3334 -(3333) found -(3334) found -[2207] Forked 3335 -(3335) found -[2206] Forked 3336 -(3336) found -[2205] Forked 3337 -(3337) found -[2204] Forked 3338 -(3338) found -[2203] Forked 3339 -(3339) found -[2202] Forked 3340 -(3340) found -[2201] Forked 3341 -(3341) found -[2200] Forked 3342 -(3342) found -[2199] Forked 3343 -(3343) found -[2198] Forked 3344 -(3344) found -[2197] Forked 3345 -(3345) found -[2196] Forked 3347 -(3347) found -[2195] Forked 3348 -(3348) found -[2194] Forked 3349 -(3349) found -[2193] Forked 3350 -(3350) found -[2192] Forked 3351 -(3351) found -[2191] Forked 3352 -(3352) found -[2190] Forked 3353 -(3353) found -[2189] Forked 3354 -(3354) found -[2188] Forked 3355 -(3355) found -[2187] Forked 3356 -(3356) found -[2186] Forked 3357 -(3357) found -[2185] Forked 3358 -(3358) found -[2184] Forked 3359 -(3359) found -[2183] Forked 3360 -(3360) found -[2182] Forked 3361 -(3361) found -[2181] Forked 3362 -(3362) found -[2180] Forked 3363 -(3363) found -[2179] Forked 3364 -(3364) found -[2178] Forked 3365 -(3365) found -[2177] Forked 3366 -(3366) found -[2176] Forked 3367 -(3367) found -[2175] Forked 3368 -(3368) found -[2174] Forked 3369 -(3369) found -[2173] Forked 3370 -(3370) found -[2172] Forked 3371 -(3371) found -[2171] Forked 3372 -(3372) found -[2170] Forked 3373 -(3373) found -[2169] Forked 3382 -[2168] Forked 3383 -(3382) found -(3383) found -[2167] Forked 3384 -[2166] Forked 3385 -(3384) found -(3385) found -[2165] Forked 3386 -[2164] Forked 3387 -(3386) found -(3387) found -[2163] Forked 3388 -[2162] Forked 3389 -(3388) found -(3389) found -[2161] Forked 3390 -[2160] Forked 3391 -(3390) found -(3391) found -[2159] Forked 3392 -[2158] Forked 3393 -(3392) found -(3393) found -[2157] Forked 3394 -[2156] Forked 3395 -(3394) found -(3395) found -[2155] Forked 3396 -[2154] Forked 3397 -(3396) found -(3397) found -[2153] Forked 3398 -[2152] Forked 3399 -(3398) found -(3399) found -[2151] Forked 3401 -[2150] Forked 3402 -(3401) found -(3402) found -[2149] Forked 3403 -[2148] Forked 3404 -(3403) found -(3404) found -[2147] Forked 3405 -[2146] Forked 3406 -(3405) found -(3406) found -[2145] Forked 3407 -[2144] Forked 3408 -(3407) found -(3408) found -[2143] Forked 3409 -[2142] Forked 3410 -(3409) found -(3410) found -[2141] Forked 3411 -[2140] Forked 3412 -(3411) found -(3412) found -[2139] Forked 3413 -[2138] Forked 3414 -(3413) found -(3414) found -[2137] Forked 3415 -[2136] Forked 3416 -(3415) found -(3416) found -[2135] Forked 3417 -[2134] Forked 3418 -(3417) found -(3418) found -[2133] Forked 3419 -[2132] Forked 3420 -(3419) found -(3420) found -[2131] Forked 3421 -[2130] Forked 3422 -(3421) found -(3422) found -[2129] Forked 3423 -[2128] Forked 3424 -(3423) found -(3424) found -[2127] Forked 3425 -[2126] Forked 3426 -(3425) found -(3426) found -[2125] Forked 3427 -(3427) found -[2124] Forked 3428 -(3428) found -[2123] Forked 3429 -(3429) found -[2122] Forked 3430 -(3430) found -[2121] Forked 3431 -(3431) found -[2120] Forked 3432 -(3432) found -[2119] Forked 3433 -(3433) found -[2118] Forked 3434 -(3434) found -[2117] Forked 3435 -(3435) found -[2116] Forked 3436 -(3436) found -[2115] Forked 3437 -(3437) found -[2114] Forked 3438 -(3438) found -[2113] Forked 3439 -(3439) found -[2112] Forked 3440 -(3440) found -[2111] Forked 3441 -(3441) found -[2110] Forked 3442 -(3442) found -[2109] Forked 3443 -(3443) found -[2108] Forked 3444 -(3444) found -[2107] Forked 3445 -(3445) found -[2106] Forked 3446 -(3446) found -[2105] Forked 3447 -(3447) found -[2104] Forked 3448 -(3448) found -[2103] Forked 3449 -(3449) found -[2102] Forked 3450 -(3450) found -[2101] Forked 3451 -(3451) found -[2100] Forked 3452 -(3452) found -[2099] Forked 3453 -(3453) found -[2098] Forked 3454 -(3454) found -[2097] Forked 3455 -(3455) found -[2096] Forked 3456 -(3456) found -[2095] Forked 3457 -(3457) found -[2094] Forked 3458 -(3458) found -[2093] Forked 3459 -(3459) found -[2092] Forked 3460 -(3460) found -[2091] Forked 3461 -(3461) found -[2090] Forked 3462 -(3462) found -[2089] Forked 3463 -(3463) found -[2088] Forked 3464 -(3464) found -[2087] Forked 3465 -[2086] Forked 3466 -(3465) found -(3466) found -[2085] Forked 3467 -[2084] Forked 3468 -(3467) found -(3468) found -[2083] Forked 3469 -[2082] Forked 3470 -(3469) found -(3470) found -[2081] Forked 3471 -[2080] Forked 3472 -(3471) found -(3472) found -[2079] Forked 3473 -[2078] Forked 3474 -(3473) found -(3474) found -[2077] Forked 3475 -[2076] Forked 3476 -(3475) found -(3476) found -[2075] Forked 3477 -[2074] Forked 3478 -(3477) found -(3478) found -[2073] Forked 3479 -[2072] Forked 3480 -(3480) found -(3479) found -[2071] Forked 3481 -(3481) found -[2070] Forked 3482 -(3482) found -[2069] Forked 3483 -(3483) found -[2068] Forked 3484 -(3484) found -[2067] Forked 3485 -(3485) found -[2066] Forked 3486 -(3486) found -[2065] Forked 3487 -(3487) found -[2064] Forked 3488 -(3488) found -[2063] Forked 3489 -(3489) found -[2062] Forked 3490 -(3490) found -[2061] Forked 3491 -(3491) found -[2060] Forked 3492 -(3492) found -[2059] Forked 3493 -[2058] Forked 3494 -(3493) found -(3494) found -[2057] Forked 3495 -[2056] Forked 3496 -(3495) found -(3496) found -[2055] Forked 3497 -(3497) found -[2054] Forked 3498 -(3498) found -[2053] Forked 3499 -(3499) found -[2052] Forked 3500 -(3500) found -[2051] Forked 3501 -(3501) found -[2050] Forked 3502 -(3502) found -[2049] Forked 3503 -(3503) found -[2048] Forked 3504 -(3504) found -[2047] Forked 3505 -(3505) found -[2046] Forked 3506 -(3506) found -[2045] Forked 3507 -(3507) found -[2044] Forked 3508 -(3508) found -[2043] Forked 3509 -(3509) found -[2042] Forked 3510 -(3510) found -[2041] Forked 3511 -(3511) found -[2040] Forked 3512 -(3512) found -[2039] Forked 3513 -(3513) found -[2038] Forked 3514 -(3514) found -[2037] Forked 3515 -(3515) found -[2036] Forked 3516 -(3516) found -[2035] Forked 3517 -(3517) found -[2034] Forked 3518 -(3518) found -[2033] Forked 3519 -(3519) found -[2032] Forked 3520 -(3520) found -[2031] Forked 3521 -(3521) found -[2030] Forked 3522 -(3522) found -[2029] Forked 3523 -(3523) found -[2028] Forked 3524 -(3524) found -[2027] Forked 3525 -(3525) found -[2026] Forked 3526 -(3526) found -[2025] Forked 3527 -(3527) found -[2024] Forked 3528 -(3528) found -[2023] Forked 3529 -(3529) found -[2022] Forked 3530 -(3530) found -[2021] Forked 3531 -(3531) found -[2020] Forked 3532 -(3532) found -[2019] Forked 3533 -(3533) found -[2018] Forked 3534 -[2017] Forked 3535 -(3534) found -(3535) found -[2016] Forked 3536 -[2015] Forked 3537 -(3536) found -(3537) found -[2014] Forked 3538 -[2013] Forked 3539 -(3538) found -(3539) found -[2012] Forked 3540 -[2011] Forked 3541 -(3540) found -(3541) found -[2010] Forked 3542 -[2009] Forked 3543 -(3542) found -(3543) found -[2008] Forked 3544 -[2007] Forked 3545 -(3544) found -(3545) found -[2006] Forked 3546 -[2005] Forked 3548 -(3546) found -(3548) found -[2004] Forked 3549 -(3549) found -[2003] Forked 3550 -(3550) found -[2002] Forked 3551 -(3551) found -[2001] Forked 3552 -(3552) found -[2000] Forked 3553 -(3553) found -[1999] Forked 3554 -(3554) found -[1998] Forked 3555 -(3555) found -[1997] Forked 3556 -(3556) found -[1996] Forked 3557 -(3557) found -[1995] Forked 3558 -(3558) found -[1994] Forked 3559 -(3559) found -[1993] Forked 3560 -(3560) found -[1992] Forked 3561 -(3561) found -[1991] Forked 3562 -(3562) found -[1990] Forked 3563 -(3563) found -[1989] Forked 3564 -(3564) found -[1988] Forked 3565 -(3565) found -[1987] Forked 3566 -(3566) found -[1986] Forked 3567 -(3567) found -[1985] Forked 3568 -(3568) found -[1984] Forked 3569 -(3569) found -[1983] Forked 3570 -(3570) found -[1982] Forked 3571 -(3571) found -[1981] Forked 3572 -(3572) found -[1980] Forked 3573 -(3573) found -[1979] Forked 3574 -(3574) found -[1978] Forked 3575 -(3575) found -[1977] Forked 3576 -(3576) found -[1976] Forked 3577 -(3577) found -[1975] Forked 3578 -(3578) found -[1974] Forked 3579 -(3579) found -[1973] Forked 3580 -(3580) found -[1972] Forked 3581 -(3581) found -[1971] Forked 3582 -(3582) found -[1970] Forked 3583 -(3583) found -[1969] Forked 3584 -(3584) found -[1968] Forked 3585 -(3585) found -[1967] Forked 3586 -(3586) found -[1966] Forked 3587 -(3587) found -[1965] Forked 3588 -(3588) found -[1964] Forked 3589 -(3589) found -[1963] Forked 3590 -(3590) found -[1962] Forked 3591 -(3591) found -[1961] Forked 3592 -(3592) found -[1960] Forked 3593 -(3593) found -[1959] Forked 3594 -(3594) found -[1958] Forked 3595 -(3595) found -[1957] Forked 3596 -(3596) found -[1956] Forked 3597 -(3597) found -[1955] Forked 3598 -(3598) found -[1954] Forked 3599 -(3599) found -[1953] Forked 3600 -(3600) found -[1952] Forked 3601 -(3601) found -[1951] Forked 3602 -(3602) found -[1950] Forked 3603 -(3603) found -[1949] Forked 3604 -(3604) found -[1948] Forked 3605 -(3605) found -[1947] Forked 3606 -(3606) found -[1946] Forked 3607 -(3607) found -[1945] Forked 3608 -[1944] Forked 3609 -(3608) found -(3609) found -[1943] Forked 3610 -[1942] Forked 3611 -(3610) found -(3611) found -[1941] Forked 3612 -[1940] Forked 3613 -(3612) found -(3613) found -[1939] Forked 3614 -[1938] Forked 3615 -(3614) found -(3615) found -[1937] Forked 3616 -[1936] Forked 3617 -(3616) found -(3617) found -[1935] Forked 3618 -[1934] Forked 3619 -(3618) found -(3619) found -[1933] Forked 3620 -[1932] Forked 3621 -(3620) found -(3621) found -[1931] Forked 3622 -[1930] Forked 3623 -(3622) found -(3623) found -[1929] Forked 3624 -[1928] Forked 3625 -(3624) found -(3625) found -[1927] Forked 3626 -[1926] Forked 3627 -(3626) found -(3627) found -[1925] Forked 3628 -[1924] Forked 3629 -(3628) found -(3629) found -[1923] Forked 3630 -[1922] Forked 3631 -(3630) found -(3631) found -[1921] Forked 3632 -[1920] Forked 3633 -(3632) found -(3633) found -[1919] Forked 3634 -[1918] Forked 3635 -(3634) found -(3635) found -[1917] Forked 3636 -[1916] Forked 3637 -(3636) found -(3637) found -[1915] Forked 3638 -[1914] Forked 3639 -(3638) found -(3639) found -[1913] Forked 3640 -[1912] Forked 3641 -(3640) found -(3641) found -[1911] Forked 3642 -[1910] Forked 3643 -(3642) found -(3643) found -[1909] Forked 3644 -[1908] Forked 3645 -(3644) found -(3645) found -[1907] Forked 3646 -[1906] Forked 3647 -(3646) found -(3647) found -[1905] Forked 3648 -[1904] Forked 3649 -(3648) found -(3649) found -[1903] Forked 3650 -[1902] Forked 3651 -(3650) found -(3651) found -[1901] Forked 3652 -(3652) found -[1900] Forked 3653 -(3653) found -[1899] Forked 3654 -(3654) found -[1898] Forked 3655 -(3655) found -[1897] Forked 3656 -(3656) found -[1896] Forked 3658 -(3658) found -[1895] Forked 3659 -(3659) found -[1894] Forked 3660 -(3660) found -[1893] Forked 3661 -(3661) found -[1892] Forked 3662 -(3662) found -[1891] Forked 3663 -(3663) found -[1890] Forked 3664 -(3664) found -[1889] Forked 3665 -(3665) found -[1888] Forked 3666 -(3666) found -[1887] Forked 3667 -(3667) found -[1886] Forked 3669 -(3669) found -[1885] Forked 3670 -(3670) found -[1884] Forked 3671 -(3671) found -[1883] Forked 3672 -(3672) found -[1882] Forked 3673 -(3673) found -[1881] Forked 3674 -(3674) found -[1880] Forked 3675 -(3675) found -[1879] Forked 3676 -(3676) found -[1878] Forked 3677 -(3677) found -[1877] Forked 3678 -(3678) found -[1876] Forked 3679 -(3679) found -[1875] Forked 3680 -(3680) found -[1874] Forked 3681 -(3681) found -[1873] Forked 3682 -(3682) found -[1872] Forked 3683 -(3683) found -[1871] Forked 3684 -(3684) found -[1870] Forked 3685 -(3685) found -[1869] Forked 3686 -(3686) found -[1868] Forked 3687 -(3687) found -[1867] Forked 3688 -(3688) found -[1866] Forked 3689 -(3689) found -[1865] Forked 3690 -(3690) found -[1864] Forked 3691 -(3691) found -[1863] Forked 3692 -[1862] Forked 3693 -(3692) found -(3693) found -[1861] Forked 3694 -[1860] Forked 3695 -(3694) found -(3695) found -[1859] Forked 3696 -[1858] Forked 3697 -(3696) found -(3697) found -[1857] Forked 3698 -[1856] Forked 3699 -(3698) found -(3699) found -[1855] Forked 3700 -[1854] Forked 3701 -(3700) found -(3701) found -[1853] Forked 3702 -[1852] Forked 3703 -(3702) found -(3703) found -[1851] Forked 3704 -[1850] Forked 3705 -(3704) found -(3705) found -[1849] Forked 3706 -[1848] Forked 3707 -(3706) found -(3707) found -[1847] Forked 3708 -[1846] Forked 3709 -(3708) found -(3709) found -[1845] Forked 3710 -[1844] Forked 3711 -(3710) found -(3711) found -[1843] Forked 3712 -[1842] Forked 3713 -(3712) found -(3713) found -[1841] Forked 3714 -[1840] Forked 3715 -(3714) found -(3715) found -[1839] Forked 3716 -[1838] Forked 3717 -(3716) found -(3717) found -[1837] Forked 3718 -[1836] Forked 3719 -(3718) found -(3719) found -[1835] Forked 3720 -[1834] Forked 3721 -(3720) found -(3721) found -[1833] Forked 3722 -[1832] Forked 3723 -(3722) found -(3723) found -[1831] Forked 3724 -[1830] Forked 3725 -(3724) found -(3725) found -[1829] Forked 3726 -[1828] Forked 3727 -(3726) found -(3727) found -[1827] Forked 3728 -[1826] Forked 3729 -(3728) found -(3729) found -[1825] Forked 3730 -[1824] Forked 3731 -(3730) found -(3731) found -[1823] Forked 3732 -[1822] Forked 3733 -(3732) found -(3733) found -[1821] Forked 3734 -[1820] Forked 3735 -(3735) found -(3734) found -[1819] Forked 3736 -(3736) found -[1818] Forked 3737 -(3737) found -[1817] Forked 3738 -(3738) found -[1816] Forked 3739 -(3739) found -[1815] Forked 3740 -(3740) found -[1814] Forked 3741 -(3741) found -[1813] Forked 3742 -(3742) found -[1812] Forked 3743 -(3743) found -[1811] Forked 3744 -(3744) found -[1810] Forked 3745 -(3745) found -[1809] Forked 3746 -(3746) found -[1808] Forked 3747 -(3747) found -[1807] Forked 3748 -(3748) found -[1806] Forked 3749 -(3749) found -[1805] Forked 3750 -(3750) found -[1804] Forked 3751 -(3751) found -[1803] Forked 3752 -(3752) found -[1802] Forked 3753 -(3753) found -[1801] Forked 3754 -(3754) found -[1800] Forked 3755 -(3755) found -[1799] Forked 3756 -(3756) found -[1798] Forked 3757 -(3757) found -[1797] Forked 3758 -(3758) found -[1796] Forked 3759 -(3759) found -[1795] Forked 3760 -(3760) found -[1794] Forked 3761 -(3761) found -[1793] Forked 3762 -(3762) found -[1792] Forked 3763 -(3763) found -[1791] Forked 3764 -(3764) found -[1790] Forked 3765 -(3765) found -[1789] Forked 3766 -(3766) found -[1788] Forked 3767 -(3767) found -[1787] Forked 3768 -(3768) found -[1786] Forked 3769 -(3769) found -[1785] Forked 3770 -(3770) found -[1784] Forked 3771 -(3771) found -[1783] Forked 3772 -(3772) found -[1782] Forked 3773 -(3773) found -[1781] Forked 3774 -[1780] Forked 3775 -(3774) found -(3775) found -[1779] Forked 3776 -[1778] Forked 3777 -(3776) found -(3777) found -[1777] Forked 3778 -[1776] Forked 3779 -(3778) found -(3779) found -[1775] Forked 3780 -[1774] Forked 3781 -(3780) found -(3781) found -[1773] Forked 3782 -[1772] Forked 3783 -(3782) found -(3783) found -[1771] Forked 3784 -[1770] Forked 3785 -(3784) found -(3785) found -[1769] Forked 3786 -[1768] Forked 3787 -(3786) found -(3787) found -[1767] Forked 3788 -[1766] Forked 3789 -(3788) found -(3789) found -[1765] Forked 3790 -[1764] Forked 3791 -(3790) found -(3791) found -[1763] Forked 3792 -[1762] Forked 3793 -(3792) found -(3793) found -[1761] Forked 3794 -[1760] Forked 3795 -(3794) found -(3795) found -[1759] Forked 3796 -[1758] Forked 3797 -(3796) found -(3797) found -[1757] Forked 3798 -[1756] Forked 3799 -(3798) found -(3799) found -[1755] Forked 3800 -[1754] Forked 3801 -(3800) found -(3801) found -[1753] Forked 3802 -[1752] Forked 3803 -(3802) found -(3803) found -[1751] Forked 3804 -[1750] Forked 3805 -(3804) found -(3805) found -[1749] Forked 3806 -[1748] Forked 3807 -(3806) found -(3807) found -[1747] Forked 3808 -[1746] Forked 3809 -(3808) found -(3809) found -[1745] Forked 3810 -[1744] Forked 3811 -(3810) found -(3811) found -[1743] Forked 3812 -[1742] Forked 3814 -(3812) found -(3814) found -[1741] Forked 3815 -[1740] Forked 3816 -(3815) found -(3816) found -[1739] Forked 3817 -(3817) found -[1738] Forked 3818 -(3818) found -[1737] Forked 3819 -(3819) found -[1736] Forked 3820 -(3820) found -[1735] Forked 3821 -(3821) found -[1734] Forked 3822 -(3822) found -[1733] Forked 3823 -(3823) found -[1732] Forked 3824 -(3824) found -[1731] Forked 3825 -(3825) found -[1730] Forked 3826 -(3826) found -[1729] Forked 3827 -(3827) found -[1728] Forked 3828 -(3828) found -[1727] Forked 3829 -(3829) found -[1726] Forked 3830 -(3830) found -[1725] Forked 3831 -(3831) found -[1724] Forked 3832 -(3832) found -[1723] Forked 3833 -(3833) found -[1722] Forked 3834 -(3834) found -[1721] Forked 3835 -(3835) found -[1720] Forked 3836 -(3836) found -[1719] Forked 3837 -(3837) found -[1718] Forked 3838 -(3838) found -[1717] Forked 3839 -(3839) found -[1716] Forked 3840 -(3840) found -[1715] Forked 3841 -(3841) found -[1714] Forked 3842 -(3842) found -[1713] Forked 3843 -(3843) found -[1712] Forked 3844 -(3844) found -[1711] Forked 3845 -(3845) found -[1710] Forked 3846 -(3846) found -[1709] Forked 3847 -(3847) found -[1708] Forked 3848 -(3848) found -[1707] Forked 3849 -(3849) found -[1706] Forked 3850 -(3850) found -[1705] Forked 3851 -(3851) found -[1704] Forked 3852 -(3852) found -[1703] Forked 3853 -(3853) found -[1702] Forked 3854 -(3854) found -[1701] Forked 3855 -(3855) found -[1700] Forked 3856 -[1699] Forked 3857 -(3856) found -(3857) found -[1698] Forked 3858 -[1697] Forked 3859 -(3858) found -(3859) found -[1696] Forked 3860 -[1695] Forked 3861 -(3860) found -(3861) found -[1694] Forked 3862 -[1693] Forked 3863 -(3862) found -(3863) found -[1692] Forked 3864 -[1691] Forked 3865 -(3864) found -(3865) found -[1690] Forked 3866 -[1689] Forked 3867 -(3866) found -(3867) found -[1688] Forked 3868 -[1687] Forked 3869 -(3868) found -(3869) found -[1686] Forked 3870 -[1685] Forked 3871 -(3870) found -(3871) found -[1684] Forked 3872 -[1683] Forked 3873 -(3872) found -(3873) found -[1682] Forked 3874 -[1681] Forked 3875 -(3874) found -(3875) found -[1680] Forked 3876 -[1679] Forked 3877 -(3876) found -(3877) found -[1678] Forked 3878 -[1677] Forked 3879 -(3878) found -(3879) found -[1676] Forked 3880 -[1675] Forked 3881 -(3880) found -(3881) found -[1674] Forked 3882 -[1673] Forked 3883 -(3882) found -(3883) found -[1672] Forked 3884 -[1671] Forked 3885 -(3884) found -(3885) found -[1670] Forked 3886 -[1669] Forked 3887 -(3886) found -(3887) found -[1668] Forked 3888 -[1667] Forked 3889 -(3888) found -(3889) found -[1666] Forked 3890 -[1665] Forked 3891 -(3890) found -(3891) found -[1664] Forked 3892 -[1663] Forked 3893 -(3892) found -(3893) found -[1662] Forked 3894 -[1661] Forked 3896 -(3894) found -(3896) found -[1660] Forked 3897 -(3897) found -[1659] Forked 3898 -(3898) found -[1658] Forked 3899 -(3899) found -[1657] Forked 3900 -(3900) found -[1656] Forked 3901 -(3901) found -[1655] Forked 3902 -(3902) found -[1654] Forked 3903 -(3903) found -[1653] Forked 3904 -(3904) found -[1652] Forked 3905 -(3905) found -[1651] Forked 3906 -(3906) found -[1650] Forked 3907 -(3907) found -[1649] Forked 3908 -(3908) found -[1648] Forked 3909 -(3909) found -[1647] Forked 3910 -(3910) found -[1646] Forked 3911 -(3911) found -[1645] Forked 3912 -(3912) found -[1644] Forked 3913 -(3913) found -[1643] Forked 3914 -(3914) found -[1642] Forked 3915 -(3915) found -[1641] Forked 3916 -(3916) found -[1640] Forked 3917 -(3917) found -[1639] Forked 3919 -(3919) found -[1638] Forked 3920 -(3920) found -[1637] Forked 3921 -(3921) found -[1636] Forked 3922 -(3922) found -[1635] Forked 3923 -(3923) found -[1634] Forked 3924 -(3924) found -[1633] Forked 3925 -(3925) found -[1632] Forked 3926 -(3926) found -[1631] Forked 3927 -(3927) found -[1630] Forked 3928 -(3928) found -[1629] Forked 3929 -(3929) found -[1628] Forked 3930 -(3930) found -[1627] Forked 3931 -(3931) found -[1626] Forked 3932 -(3932) found -[1625] Forked 3933 -(3933) found -[1624] Forked 3934 -(3934) found -[1623] Forked 3935 -(3935) found -[1622] Forked 3936 -(3936) found -[1621] Forked 3937 -(3937) found -[1620] Forked 3938 -(3938) found -[1619] Forked 3939 -(3939) found -[1618] Forked 3940 -(3940) found -[1617] Forked 3941 -(3941) found -[1616] Forked 3942 -(3942) found -[1615] Forked 3943 -(3943) found -[1614] Forked 3944 -(3944) found -[1613] Forked 3945 -(3945) found -[1612] Forked 3946 -(3946) found -[1611] Forked 3947 -(3947) found -[1610] Forked 3948 -(3948) found -[1609] Forked 3949 -(3949) found -[1608] Forked 3950 -(3950) found -[1607] Forked 3951 -(3951) found -[1606] Forked 3952 -(3952) found -[1605] Forked 3953 -(3953) found -[1604] Forked 3954 -(3954) found -[1603] Forked 3955 -(3955) found -[1602] Forked 3956 -(3956) found -[1601] Forked 3957 -(3957) found -[1600] Forked 3958 -(3958) found -[1599] Forked 3959 -(3959) found -[1598] Forked 3960 -(3960) found -[1597] Forked 3961 -(3961) found -[1596] Forked 3962 -(3962) found -[1595] Forked 3963 -(3963) found -[1594] Forked 3964 -(3964) found -[1593] Forked 3965 -(3965) found -[1592] Forked 3966 -(3966) found -[1591] Forked 3967 -(3967) found -[1590] Forked 3968 -(3968) found -[1589] Forked 3969 -[1588] Forked 3970 -(3969) found -(3970) found -[1587] Forked 3971 -[1586] Forked 3972 -(3971) found -(3972) found -[1585] Forked 3973 -[1584] Forked 3974 -(3973) found -(3974) found -[1583] Forked 3975 -[1582] Forked 3976 -(3975) found -(3976) found -[1581] Forked 3977 -[1580] Forked 3978 -(3977) found -(3978) found -[1579] Forked 3979 -[1578] Forked 3980 -(3979) found -(3980) found -[1577] Forked 3981 -[1576] Forked 3982 -(3981) found -(3982) found -[1575] Forked 3983 -[1574] Forked 3984 -(3983) found -(3984) found -[1573] Forked 3985 -[1572] Forked 3986 -(3985) found -(3986) found -[1571] Forked 3987 -[1570] Forked 3988 -(3987) found -(3988) found -[1569] Forked 3989 -[1568] Forked 3990 -(3989) found -(3990) found -[1567] Forked 3991 -[1566] Forked 3992 -(3991) found -(3992) found -[1565] Forked 3993 -[1564] Forked 3994 -(3993) found -(3994) found -[1563] Forked 3995 -[1562] Forked 3996 -(3995) found -(3996) found -[1561] Forked 3997 -[1560] Forked 3998 -(3997) found -(3998) found -[1559] Forked 3999 -[1558] Forked 4000 -(3999) found -(4000) found -[1557] Forked 4001 -[1556] Forked 4002 -(4001) found -(4002) found -[1555] Forked 4003 -[1554] Forked 4004 -(4003) found -(4004) found -[1553] Forked 4005 -[1552] Forked 4006 -(4005) found -(4006) found -[1551] Forked 4007 -[1550] Forked 4008 -(4007) found -(4008) found -[1549] Forked 4009 -[1548] Forked 4010 -(4009) found -(4010) found -[1547] Forked 4011 -[1546] Forked 4012 -(4011) found -(4012) found -[1545] Forked 4013 -[1544] Forked 4015 -(4013) found -(4015) found -[1543] Forked 4016 -(4016) found -[1542] Forked 4017 -(4017) found -[1541] Forked 4018 -(4018) found -[1540] Forked 4019 -(4019) found -[1539] Forked 4020 -(4020) found -[1538] Forked 4021 -(4021) found -[1537] Forked 4022 -(4022) found -[1536] Forked 4023 -(4023) found -[1535] Forked 4024 -(4024) found -[1534] Forked 4025 -(4025) found -[1533] Forked 4026 -(4026) found -[1532] Forked 4028 -(4028) found -[1531] Forked 4029 -(4029) found -[1530] Forked 4030 -(4030) found -[1529] Forked 4031 -(4031) found -[1528] Forked 4032 -(4032) found -[1527] Forked 4034 -(4034) found -[1526] Forked 4035 -(4035) found -[1525] Forked 4036 -(4036) found -[1524] Forked 4037 -(4037) found -[1523] Forked 4038 -(4038) found -[1522] Forked 4039 -(4039) found -[1521] Forked 4040 -(4040) found -[1520] Forked 4041 -(4041) found -[1519] Forked 4042 -(4042) found -[1518] Forked 4043 -(4043) found -[1517] Forked 4044 -(4044) found -[1516] Forked 4045 -(4045) found -[1515] Forked 4046 -(4046) found -[1514] Forked 4047 -(4047) found -[1513] Forked 4048 -(4048) found -[1512] Forked 4049 -(4049) found -[1511] Forked 4052 -(4052) found -[1510] Forked 4053 -(4053) found -[1509] Forked 4054 -(4054) found -[1508] Forked 4055 -(4055) found -[1507] Forked 4056 -[1506] Forked 4057 -(4056) found -(4057) found -[1505] Forked 4058 -[1504] Forked 4059 -(4058) found -(4059) found -[1503] Forked 4060 -[1502] Forked 4061 -(4060) found -(4061) found -[1501] Forked 4062 -[1500] Forked 4063 -(4062) found -(4063) found -[1499] Forked 4064 -[1498] Forked 4065 -(4064) found -(4065) found -[1497] Forked 4066 -[1496] Forked 4067 -(4066) found -(4067) found -[1495] Forked 4068 -[1494] Forked 4069 -(4068) found -(4069) found -[1493] Forked 4070 -[1492] Forked 4071 -(4070) found -(4071) found -[1491] Forked 4072 -[1490] Forked 4074 -(4072) found -(4074) found -[1489] Forked 4075 -[1488] Forked 4076 -(4075) found -(4076) found -[1487] Forked 4077 -[1486] Forked 4078 -(4077) found -(4078) found -[1485] Forked 4079 -[1484] Forked 4080 -(4079) found -(4080) found -[1483] Forked 4081 -[1482] Forked 4082 -(4081) found -(4082) found -[1481] Forked 4083 -[1480] Forked 4086 -(4083) found -(4086) found -[1479] Forked 4088 -[1478] Forked 4089 -(4088) found -(4089) found -[1477] Forked 4090 -[1476] Forked 4093 -(4090) found -(4093) found -[1475] Forked 4095 -[1474] Forked 4096 -(4095) found -(4096) found -[1473] Forked 4097 -[1472] Forked 4098 -(4097) found -(4098) found -[1471] Forked 4099 -[1470] Forked 4100 -(4099) found -(4100) found -[1469] Forked 4101 -[1468] Forked 4102 -(4101) found -(4102) found -[1467] Forked 4103 -[1466] Forked 4104 -(4103) found -(4104) found -[1465] Forked 4105 -[1464] Forked 4106 -(4105) found -(4106) found -[1463] Forked 4107 -[1462] Forked 4108 -(4107) found -(4108) found -[1461] Forked 4109 -[1460] Forked 4110 -(4109) found -(4110) found -[1459] Forked 4111 -[1458] Forked 4112 -(4111) found -(4112) found -[1457] Forked 4113 -[1456] Forked 4114 -(4113) found -(4114) found -[1455] Forked 4115 -[1454] Forked 4116 -(4115) found -(4116) found -[1453] Forked 4117 -[1452] Forked 4118 -(4117) found -(4118) found -[1451] Forked 4119 -[1450] Forked 4120 -(4119) found -(4120) found -[1449] Forked 4121 -[1448] Forked 4122 -(4121) found -(4122) found -[1447] Forked 4123 -[1446] Forked 4124 -(4123) found -(4124) found -[1445] Forked 4125 -[1444] Forked 4126 -(4125) found -(4126) found -[1443] Forked 4127 -[1442] Forked 4128 -(4127) found -(4128) found -[1441] Forked 4129 -[1440] Forked 4130 -(4129) found -(4130) found -[1439] Forked 4131 -[1438] Forked 4132 -(4131) found -(4132) found -[1437] Forked 4133 -[1436] Forked 4134 -(4133) found -(4134) found -[1435] Forked 4135 -[1434] Forked 4136 -(4135) found -(4136) found -[1433] Forked 4137 -[1432] Forked 4138 -(4137) found -(4138) found -[1431] Forked 4139 -[1430] Forked 4140 -(4139) found -(4140) found -[1429] Forked 4141 -[1428] Forked 4142 -(4141) found -(4142) found -[1427] Forked 4143 -[1426] Forked 4144 -(4143) found -(4144) found -[1425] Forked 4145 -[1424] Forked 4146 -(4145) found -(4146) found -[1423] Forked 4147 -[1422] Forked 4148 -(4147) found -(4148) found -[1421] Forked 4149 -[1420] Forked 4150 -(4149) found -(4150) found -[1419] Forked 4151 -[1418] Forked 4152 -(4151) found -(4152) found -[1417] Forked 4153 -(4153) found -[1416] Forked 4154 -(4154) found -[1415] Forked 4155 -(4155) found -[1414] Forked 4156 -(4156) found -[1413] Forked 4157 -(4157) found -[1412] Forked 4158 -(4158) found -[1411] Forked 4159 -(4159) found -[1410] Forked 4160 -(4160) found -[1409] Forked 4161 -(4161) found -[1408] Forked 4162 -(4162) found -[1407] Forked 4163 -(4163) found -[1406] Forked 4164 -(4164) found -[1405] Forked 4165 -(4165) found -[1404] Forked 4166 -(4166) found -[1403] Forked 4167 -(4167) found -[1402] Forked 4168 -(4168) found -[1401] Forked 4169 -(4169) found -[1400] Forked 4170 -(4170) found -[1399] Forked 4171 -(4171) found -[1398] Forked 4172 -(4172) found -[1397] Forked 4173 -(4173) found -[1396] Forked 4174 -(4174) found -[1395] Forked 4175 -(4175) found -[1394] Forked 4176 -(4176) found -[1393] Forked 4177 -(4177) found -[1392] Forked 4178 -(4178) found -[1391] Forked 4179 -(4179) found -[1390] Forked 4180 -(4180) found -[1389] Forked 4181 -(4181) found -[1388] Forked 4182 -(4182) found -[1387] Forked 4183 -(4183) found -[1386] Forked 4184 -(4184) found -[1385] Forked 4185 -(4185) found -[1384] Forked 4186 -(4186) found -[1383] Forked 4187 -(4187) found -[1382] Forked 4188 -(4188) found -[1381] Forked 4189 -(4189) found -[1380] Forked 4190 -(4190) found -[1379] Forked 4191 -[1378] Forked 4192 -(4191) found -(4192) found -[1377] Forked 4193 -[1376] Forked 4194 -(4193) found -(4194) found -[1375] Forked 4195 -[1374] Forked 4196 -(4195) found -(4196) found -[1373] Forked 4197 -[1372] Forked 4198 -(4197) found -(4198) found -[1371] Forked 4199 -[1370] Forked 4200 -(4199) found -(4200) found -[1369] Forked 4201 -[1368] Forked 4202 -(4201) found -(4202) found -[1367] Forked 4203 -[1366] Forked 4204 -(4203) found -(4204) found -[1365] Forked 4205 -[1364] Forked 4206 -(4205) found -(4206) found -[1363] Forked 4207 -[1362] Forked 4208 -(4207) found -(4208) found -[1361] Forked 4209 -[1360] Forked 4210 -(4209) found -(4210) found -[1359] Forked 4211 -[1358] Forked 4212 -(4211) found -(4212) found -[1357] Forked 4213 -[1356] Forked 4214 -(4213) found -(4214) found -[1355] Forked 4215 -[1354] Forked 4216 -(4215) found -(4216) found -[1353] Forked 4217 -[1352] Forked 4218 -(4217) found -(4218) found -[1351] Forked 4219 -[1350] Forked 4220 -(4219) found -(4220) found -[1349] Forked 4221 -[1348] Forked 4222 -(4221) found -(4222) found -[1347] Forked 4223 -[1346] Forked 4224 -(4223) found -(4224) found -[1345] Forked 4225 -[1344] Forked 4226 -(4225) found -(4226) found -[1343] Forked 4227 -[1342] Forked 4228 -(4227) found -(4228) found -[1341] Forked 4229 -(4229) found -[1340] Forked 4230 -[1339] Forked 4231 -(4230) found -(4231) found -[1338] Forked 4232 -[1337] Forked 4233 -(4232) found -(4233) found -[1336] Forked 4234 -(4234) found -[1335] Forked 4235 -(4235) found -[1334] Forked 4236 -(4236) found -[1333] Forked 4237 -(4237) found -[1332] Forked 4238 -(4238) found -[1331] Forked 4239 -(4239) found -[1330] Forked 4240 -(4240) found -[1329] Forked 4242 -(4242) found -[1328] Forked 4243 -(4243) found -[1327] Forked 4244 -(4244) found -[1326] Forked 4245 -(4245) found -[1325] Forked 4247 -(4247) found -[1324] Forked 4248 -(4248) found -[1323] Forked 4249 -(4249) found -[1322] Forked 4250 -(4250) found -[1321] Forked 4251 -(4251) found -[1320] Forked 4252 -(4252) found -[1319] Forked 4254 -(4254) found -[1318] Forked 4255 -(4255) found -[1317] Forked 4256 -(4256) found -[1316] Forked 4257 -(4257) found -[1315] Forked 4258 -(4258) found -[1314] Forked 4259 -(4259) found -[1313] Forked 4260 -(4260) found -[1312] Forked 4261 -(4261) found -[1311] Forked 4262 -(4262) found -[1310] Forked 4263 -(4263) found -[1309] Forked 4264 -(4264) found -[1308] Forked 4265 -(4265) found -[1307] Forked 4266 -(4266) found -[1306] Forked 4267 -(4267) found -[1305] Forked 4268 -(4268) found -[1304] Forked 4269 -(4269) found -[1303] Forked 4270 -(4270) found -[1302] Forked 4271 -(4271) found -[1301] Forked 4272 -(4272) found -[1300] Forked 4273 -(4273) found -[1299] Forked 4274 -(4274) found -[1298] Forked 4275 -(4275) found -[1297] Forked 4276 -[1296] Forked 4277 -(4276) found -(4277) found -[1295] Forked 4278 -[1294] Forked 4279 -(4278) found -(4279) found -[1293] Forked 4280 -[1292] Forked 4281 -(4280) found -(4281) found -[1291] Forked 4282 -[1290] Forked 4284 -(4282) found -(4284) found -[1289] Forked 4285 -[1288] Forked 4286 -(4285) found -(4286) found -[1287] Forked 4287 -[1286] Forked 4288 -(4287) found -(4288) found -[1285] Forked 4289 -[1284] Forked 4290 -(4290) found -(4289) found -[1283] Forked 4291 -(4291) found -[1282] Forked 4292 -(4292) found -[1281] Forked 4293 -(4293) found -[1280] Forked 4294 -(4294) found -[1279] Forked 4295 -(4295) found -[1278] Forked 4296 -(4296) found -[1277] Forked 4297 -(4297) found -[1276] Forked 4298 -(4298) found -[1275] Forked 4299 -(4299) found -[1274] Forked 4300 -(4300) found -[1273] Forked 4301 -(4301) found -[1272] Forked 4302 -(4302) found -[1271] Forked 4303 -(4303) found -[1270] Forked 4304 -(4304) found -[1269] Forked 4305 -(4305) found -[1268] Forked 4306 -(4306) found -[1267] Forked 4307 -(4307) found -[1266] Forked 4308 -(4308) found -[1265] Forked 4309 -(4309) found -[1264] Forked 4310 -(4310) found -[1263] Forked 4311 -(4311) found -[1262] Forked 4312 -(4312) found -[1261] Forked 4313 -(4313) found -[1260] Forked 4314 -(4314) found -[1259] Forked 4315 -(4315) found -[1258] Forked 4316 -(4316) found -[1257] Forked 4317 -(4317) found -[1256] Forked 4318 -(4318) found -[1255] Forked 4319 -(4319) found -[1254] Forked 4320 -(4320) found -[1253] Forked 4321 -(4321) found -[1252] Forked 4322 -(4322) found -[1251] Forked 4323 -(4323) found -[1250] Forked 4324 -(4324) found -[1249] Forked 4325 -(4325) found -[1248] Forked 4326 -(4326) found -[1247] Forked 4327 -(4327) found -[1246] Forked 4328 -(4328) found -[1245] Forked 4329 -(4329) found -[1244] Forked 4330 -(4330) found -[1243] Forked 4331 -(4331) found -[1242] Forked 4332 -(4332) found -[1241] Forked 4333 -(4333) found -[1240] Forked 4334 -(4334) found -[1239] Forked 4335 -(4335) found -[1238] Forked 4336 -(4336) found -[1237] Forked 4337 -(4337) found -[1236] Forked 4338 -(4338) found -[1235] Forked 4339 -(4339) found -[1234] Forked 4340 -(4340) found -[1233] Forked 4341 -(4341) found -[1232] Forked 4342 -(4342) found -[1231] Forked 4343 -(4343) found -[1230] Forked 4344 -(4344) found -[1229] Forked 4345 -(4345) found -[1228] Forked 4346 -(4346) found -[1227] Forked 4347 -(4347) found -[1226] Forked 4348 -(4348) found -[1225] Forked 4349 -[1224] Forked 4350 -(4349) found -(4350) found -[1223] Forked 4351 -[1222] Forked 4352 -(4351) found -(4352) found -[1221] Forked 4353 -[1220] Forked 4354 -(4353) found -(4354) found -[1219] Forked 4355 -[1218] Forked 4356 -(4355) found -(4356) found -[1217] Forked 4357 -[1216] Forked 4358 -(4357) found -(4358) found -[1215] Forked 4359 -[1214] Forked 4360 -(4359) found -(4360) found -[1213] Forked 4361 -[1212] Forked 4362 -(4361) found -(4362) found -[1211] Forked 4363 -[1210] Forked 4364 -(4363) found -(4364) found -[1209] Forked 4365 -[1208] Forked 4366 -(4365) found -(4366) found -[1207] Forked 4367 -[1206] Forked 4368 -(4367) found -(4368) found -[1205] Forked 4369 -[1204] Forked 4370 -(4369) found -(4370) found -[1203] Forked 4371 -[1202] Forked 4372 -(4371) found -(4372) found -[1201] Forked 4373 -[1200] Forked 4374 -(4373) found -(4374) found -[1199] Forked 4375 -[1198] Forked 4376 -(4375) found -(4376) found -[1197] Forked 4377 -[1196] Forked 4378 -(4377) found -(4378) found -[1195] Forked 4379 -[1194] Forked 4380 -(4379) found -(4380) found -[1193] Forked 4381 -[1192] Forked 4382 -(4381) found -(4382) found -[1191] Forked 4383 -[1190] Forked 4384 -(4383) found -(4384) found -[1189] Forked 4385 -[1188] Forked 4386 -(4385) found -(4386) found -[1187] Forked 4387 -[1186] Forked 4388 -(4387) found -(4388) found -[1185] Forked 4389 -[1184] Forked 4390 -(4389) found -(4390) found -[1183] Forked 4391 -[1182] Forked 4392 -(4391) found -(4392) found -[1181] Forked 4393 -(4393) found -[1180] Forked 4394 -(4394) found -[1179] Forked 4395 -(4395) found -[1178] Forked 4396 -(4396) found -[1177] Forked 4397 -(4397) found -[1176] Forked 4398 -(4398) found -[1175] Forked 4399 -(4399) found -[1174] Forked 4400 -(4400) found -[1173] Forked 4401 -(4401) found -[1172] Forked 4402 -(4402) found -[1171] Forked 4403 -(4403) found -[1170] Forked 4404 -(4404) found -[1169] Forked 4405 -(4405) found -[1168] Forked 4406 -(4406) found -[1167] Forked 4407 -(4407) found -[1166] Forked 4408 -(4408) found -[1165] Forked 4409 -(4409) found -[1164] Forked 4410 -(4410) found -[1163] Forked 4411 -(4411) found -[1162] Forked 4412 -(4412) found -[1161] Forked 4413 -(4413) found -[1160] Forked 4414 -(4414) found -[1159] Forked 4415 -(4415) found -[1158] Forked 4416 -(4416) found -[1157] Forked 4417 -(4417) found -[1156] Forked 4418 -(4418) found -[1155] Forked 4419 -(4419) found -[1154] Forked 4420 -(4420) found -[1153] Forked 4421 -(4421) found -[1152] Forked 4422 -(4422) found -[1151] Forked 4423 -(4423) found -[1150] Forked 4424 -(4424) found -[1149] Forked 4425 -(4425) found -[1148] Forked 4426 -(4426) found -[1147] Forked 4427 -(4427) found -[1146] Forked 4428 -(4428) found -[1145] Forked 4429 -(4429) found -[1144] Forked 4430 -(4430) found -[1143] Forked 4431 -[1142] Forked 4432 -(4431) found -(4432) found -[1141] Forked 4433 -[1140] Forked 4434 -(4433) found -(4434) found -[1139] Forked 4435 -[1138] Forked 4436 -(4435) found -(4436) found -[1137] Forked 4437 -[1136] Forked 4438 -(4437) found -(4438) found -[1135] Forked 4439 -[1134] Forked 4440 -(4439) found -(4440) found -[1133] Forked 4441 -[1132] Forked 4442 -(4441) found -(4442) found -[1131] Forked 4443 -[1130] Forked 4444 -(4443) found -(4444) found -[1129] Forked 4445 -[1128] Forked 4446 -(4445) found -(4446) found -[1127] Forked 4447 -[1126] Forked 4448 -(4447) found -(4448) found -[1125] Forked 4449 -[1124] Forked 4450 -(4449) found -(4450) found -[1123] Forked 4451 -[1122] Forked 4452 -(4451) found -(4452) found -[1121] Forked 4453 -[1120] Forked 4454 -(4453) found -(4454) found -[1119] Forked 4455 -[1118] Forked 4456 -(4455) found -(4456) found -[1117] Forked 4457 -[1116] Forked 4458 -(4457) found -(4458) found -[1115] Forked 4459 -[1114] Forked 4460 -(4459) found -(4460) found -[1113] Forked 4461 -[1112] Forked 4462 -(4461) found -(4462) found -[1111] Forked 4463 -[1110] Forked 4464 -(4463) found -(4464) found -[1109] Forked 4465 -[1108] Forked 4466 -(4465) found -(4466) found -[1107] Forked 4467 -[1106] Forked 4468 -(4467) found -(4468) found -[1105] Forked 4469 -[1104] Forked 4470 -(4469) found -(4470) found -[1103] Forked 4471 -[1102] Forked 4472 -(4471) found -(4472) found -[1101] Forked 4473 -[1100] Forked 4474 -(4473) found -(4474) found -[1099] Forked 4475 -(4475) found -[1098] Forked 4476 -(4476) found -[1097] Forked 4477 -(4477) found -[1096] Forked 4478 -(4478) found -[1095] Forked 4479 -(4479) found -[1094] Forked 4480 -(4480) found -[1093] Forked 4481 -(4481) found -[1092] Forked 4482 -(4482) found -[1091] Forked 4483 -(4483) found -[1090] Forked 4484 -(4484) found -[1089] Forked 4485 -(4485) found -[1088] Forked 4486 -(4486) found -[1087] Forked 4487 -(4487) found -[1086] Forked 4488 -(4488) found -[1085] Forked 4489 -(4489) found -[1084] Forked 4490 -(4490) found -[1083] Forked 4491 -(4491) found -[1082] Forked 4492 -(4492) found -[1081] Forked 4493 -(4493) found -[1080] Forked 4494 -(4494) found -[1079] Forked 4495 -(4495) found -[1078] Forked 4496 -(4496) found -[1077] Forked 4497 -(4497) found -[1076] Forked 4498 -(4498) found -[1075] Forked 4499 -(4499) found -[1074] Forked 4500 -(4500) found -[1073] Forked 4501 -(4501) found -[1072] Forked 4502 -(4502) found -[1071] Forked 4503 -(4503) found -[1070] Forked 4504 -(4504) found -[1069] Forked 4505 -(4505) found -[1068] Forked 4506 -(4506) found -[1067] Forked 4507 -(4507) found -[1066] Forked 4508 -(4508) found -[1065] Forked 4509 -(4509) found -[1064] Forked 4510 -(4510) found -[1063] Forked 4511 -(4511) found -[1062] Forked 4512 -(4512) found -[1061] Forked 4513 -(4513) found -[1060] Forked 4514 -[1059] Forked 4515 -(4514) found -(4515) found -[1058] Forked 4516 -[1057] Forked 4517 -(4516) found -(4517) found -[1056] Forked 4518 -[1055] Forked 4519 -(4518) found -(4519) found -[1054] Forked 4520 -[1053] Forked 4521 -(4520) found -(4521) found -[1052] Forked 4522 -[1051] Forked 4523 -(4522) found -(4523) found -[1050] Forked 4524 -[1049] Forked 4525 -(4524) found -(4525) found -[1048] Forked 4526 -[1047] Forked 4527 -(4526) found -(4527) found -[1046] Forked 4528 -[1045] Forked 4529 -(4528) found -(4529) found -[1044] Forked 4530 -[1043] Forked 4531 -(4530) found -(4531) found -[1042] Forked 4532 -[1041] Forked 4533 -(4532) found -(4533) found -[1040] Forked 4534 -(4534) found -[1039] Forked 4535 -(4535) found -[1038] Forked 4536 -[1037] Forked 4537 -(4536) found -(4537) found -[1036] Forked 4538 -[1035] Forked 4539 -(4538) found -(4539) found -[1034] Forked 4540 -[1033] Forked 4541 -(4540) found -(4541) found -[1032] Forked 4542 -[1031] Forked 4543 -(4542) found -(4543) found -[1030] Forked 4544 -[1029] Forked 4545 -(4544) found -(4545) found -[1028] Forked 4546 -[1027] Forked 4547 -(4546) found -(4547) found -[1026] Forked 4548 -[1025] Forked 4549 -(4548) found -(4549) found -[1024] Forked 4550 -[1023] Forked 4551 -(4550) found -(4551) found -[1022] Forked 4552 -[1021] Forked 4553 -(4552) found -(4553) found -[1020] Forked 4554 -[1019] Forked 4555 -(4554) found -(4555) found -[1018] Forked 4556 -(4556) found -[1017] Forked 4557 -(4557) found -[1016] Forked 4558 -(4558) found -[1015] Forked 4559 -(4559) found -[1014] Forked 4560 -(4560) found -[1013] Forked 4561 -(4561) found -[1012] Forked 4562 -(4562) found -[1011] Forked 4563 -(4563) found -[1010] Forked 4564 -(4564) found -[1009] Forked 4565 -(4565) found -[1008] Forked 4566 -(4566) found -[1007] Forked 4567 -(4567) found -[1006] Forked 4568 -(4568) found -[1005] Forked 4569 -(4569) found -[1004] Forked 4570 -(4570) found -[1003] Forked 4571 -(4571) found -[1002] Forked 4572 -(4572) found -[1001] Forked 4573 -(4573) found -[1000] Forked 4574 -(4574) found -[999] Forked 4575 -(4575) found -[998] Forked 4576 -(4576) found -[997] Forked 4577 -(4577) found -[996] Forked 4578 -(4578) found -[995] Forked 4579 -(4579) found -[994] Forked 4580 -(4580) found -[993] Forked 4581 -(4581) found -[992] Forked 4582 -(4582) found -[991] Forked 4583 -(4583) found -[990] Forked 4584 -(4584) found -[989] Forked 4585 -(4585) found -[988] Forked 4586 -(4586) found -[987] Forked 4587 -(4587) found -[986] Forked 4588 -(4588) found -[985] Forked 4589 -(4589) found -[984] Forked 4590 -(4590) found -[983] Forked 4591 -(4591) found -[982] Forked 4593 -(4593) found -[981] Forked 4594 -(4594) found -[980] Forked 4595 -(4595) found -[979] Forked 4596 -[978] Forked 4597 -(4596) found -(4597) found -[977] Forked 4598 -[976] Forked 4599 -(4598) found -(4599) found -[975] Forked 4600 -[974] Forked 4601 -(4600) found -(4601) found -[973] Forked 4602 -[972] Forked 4603 -(4602) found -(4603) found -[971] Forked 4604 -[970] Forked 4605 -(4604) found -(4605) found -[969] Forked 4606 -[968] Forked 4607 -(4606) found -(4607) found -[967] Forked 4608 -[966] Forked 4609 -(4608) found -(4609) found -[965] Forked 4610 -[964] Forked 4611 -(4610) found -(4611) found -[963] Forked 4612 -[962] Forked 4613 -(4612) found -(4613) found -[961] Forked 4614 -[960] Forked 4615 -(4614) found -(4615) found -[959] Forked 4616 -[958] Forked 4617 -(4616) found -(4617) found -[957] Forked 4618 -[956] Forked 4619 -(4618) found -(4619) found -[955] Forked 4620 -[954] Forked 4621 -(4620) found -(4621) found -[953] Forked 4622 -[952] Forked 4623 -(4623) found -(4622) found -[951] Forked 4624 -(4624) found -[950] Forked 4625 -(4625) found -[949] Forked 4626 -(4626) found -[948] Forked 4627 -(4627) found -[947] Forked 4628 -(4628) found -[946] Forked 4629 -(4629) found -[945] Forked 4630 -(4630) found -[944] Forked 4631 -(4631) found -[943] Forked 4632 -(4632) found -[942] Forked 4633 -[941] Forked 4634 -(4633) found -(4634) found -[940] Forked 4635 -[939] Forked 4636 -(4636) found -(4635) found -[938] Forked 4637 -(4637) found -[937] Forked 4638 -(4638) found -[936] Forked 4639 -(4639) found -[935] Forked 4640 -(4640) found -[934] Forked 4641 -(4641) found -[933] Forked 4642 -(4642) found -[932] Forked 4643 -(4643) found -[931] Forked 4644 -(4644) found -[930] Forked 4645 -(4645) found -[929] Forked 4646 -(4646) found -[928] Forked 4647 -(4647) found -[927] Forked 4648 -(4648) found -[926] Forked 4649 -(4649) found -[925] Forked 4650 -(4650) found -[924] Forked 4651 -(4651) found -[923] Forked 4652 -(4652) found -[922] Forked 4653 -(4653) found -[921] Forked 4654 -(4654) found -[920] Forked 4655 -(4655) found -[919] Forked 4656 -(4656) found -[918] Forked 4657 -(4657) found -[917] Forked 4658 -(4658) found -[916] Forked 4659 -(4659) found -[915] Forked 4660 -(4660) found -[914] Forked 4661 -(4661) found -[913] Forked 4662 -(4662) found -[912] Forked 4663 -(4663) found -[911] Forked 4664 -(4664) found -[910] Forked 4665 -(4665) found -[909] Forked 4666 -(4666) found -[908] Forked 4667 -(4667) found -[907] Forked 4668 -(4668) found -[906] Forked 4669 -(4669) found -[905] Forked 4670 -(4670) found -[904] Forked 4671 -(4671) found -[903] Forked 4672 -(4672) found -[902] Forked 4673 -(4673) found -[901] Forked 4674 -[900] Forked 4675 -(4674) found -(4675) found -[899] Forked 4676 -[898] Forked 4677 -(4676) found -(4677) found -[897] Forked 4678 -[896] Forked 4679 -(4678) found -(4679) found -[895] Forked 4680 -[894] Forked 4681 -(4680) found -(4681) found -[893] Forked 4682 -[892] Forked 4683 -(4682) found -(4683) found -[891] Forked 4684 -[890] Forked 4685 -(4684) found -(4685) found -[889] Forked 4686 -[888] Forked 4687 -(4686) found -(4687) found -[887] Forked 4688 -[886] Forked 4689 -(4688) found -(4689) found -[885] Forked 4690 -[884] Forked 4691 -(4690) found -(4691) found -[883] Forked 4692 -[882] Forked 4693 -(4692) found -(4693) found -[881] Forked 4694 -[880] Forked 4695 -(4694) found -(4695) found -[879] Forked 4696 -[878] Forked 4697 -(4696) found -(4697) found -[877] Forked 4698 -[876] Forked 4699 -(4698) found -(4699) found -[875] Forked 4700 -[874] Forked 4701 -(4700) found -(4701) found -[873] Forked 4702 -[872] Forked 4703 -(4702) found -(4703) found -[871] Forked 4704 -[870] Forked 4705 -(4704) found -(4705) found -[869] Forked 4706 -[868] Forked 4707 -(4706) found -(4707) found -[867] Forked 4708 -[866] Forked 4709 -(4708) found -(4709) found -[865] Forked 4710 -[864] Forked 4711 -(4710) found -(4711) found -[863] Forked 4712 -[862] Forked 4713 -(4712) found -(4713) found -[861] Forked 4714 -[860] Forked 4715 -(4714) found -(4715) found -[859] Forked 4716 -[858] Forked 4717 -(4716) found -(4717) found -[857] Forked 4718 -(4718) found -[856] Forked 4719 -(4719) found -[855] Forked 4720 -(4720) found -[854] Forked 4721 -(4721) found -[853] Forked 4722 -(4722) found -[852] Forked 4723 -(4723) found -[851] Forked 4724 -(4724) found -[850] Forked 4725 -(4725) found -[849] Forked 4726 -(4726) found -[848] Forked 4727 -(4727) found -[847] Forked 4728 -(4728) found -[846] Forked 4729 -(4729) found -[845] Forked 4730 -(4730) found -[844] Forked 4731 -(4731) found -[843] Forked 4732 -(4732) found -[842] Forked 4733 -(4733) found -[841] Forked 4734 -(4734) found -[840] Forked 4735 -(4735) found -[839] Forked 4736 -(4736) found -[838] Forked 4737 -(4737) found -[837] Forked 4738 -(4738) found -[836] Forked 4739 -(4739) found -[835] Forked 4740 -(4740) found -[834] Forked 4741 -(4741) found -[833] Forked 4742 -(4742) found -[832] Forked 4743 -(4743) found -[831] Forked 4744 -(4744) found -[830] Forked 4745 -(4745) found -[829] Forked 4746 -(4746) found -[828] Forked 4747 -(4747) found -[827] Forked 4748 -(4748) found -[826] Forked 4749 -(4749) found -[825] Forked 4750 -(4750) found -[824] Forked 4751 -(4751) found -[823] Forked 4752 -(4752) found -[822] Forked 4753 -(4753) found -[821] Forked 4754 -(4754) found -[820] Forked 4755 -(4755) found -[819] Forked 4756 -(4756) found -[818] Forked 4757 -(4757) found -[817] Forked 4758 -[816] Forked 4759 -(4758) found -(4759) found -[815] Forked 4760 -[814] Forked 4761 -(4760) found -(4761) found -[813] Forked 4762 -[812] Forked 4763 -(4762) found -(4763) found -[811] Forked 4764 -[810] Forked 4765 -(4764) found -(4765) found -[809] Forked 4766 -[808] Forked 4767 -(4766) found -(4767) found -[807] Forked 4768 -[806] Forked 4769 -(4768) found -(4769) found -[805] Forked 4770 -[804] Forked 4771 -(4770) found -(4771) found -[803] Forked 4772 -[802] Forked 4773 -(4772) found -(4773) found -[801] Forked 4774 -[800] Forked 4775 -(4774) found -(4775) found -[799] Forked 4776 -[798] Forked 4777 -(4776) found -(4777) found -[797] Forked 4778 -[796] Forked 4779 -(4778) found -(4779) found -[795] Forked 4780 -[794] Forked 4781 -(4780) found -(4781) found -[793] Forked 4782 -[792] Forked 4783 -(4782) found -(4783) found -[791] Forked 4784 -[790] Forked 4785 -(4784) found -(4785) found -[789] Forked 4786 -[788] Forked 4787 -(4786) found -(4787) found -[787] Forked 4788 -[786] Forked 4789 -(4788) found -(4789) found -[785] Forked 4790 -[784] Forked 4791 -(4790) found -(4791) found -[783] Forked 4792 -[782] Forked 4793 -(4792) found -(4793) found -[781] Forked 4794 -[780] Forked 4795 -(4794) found -(4795) found -[779] Forked 4796 -[778] Forked 4797 -(4796) found -(4797) found -[777] Forked 4798 -[776] Forked 4799 -(4798) found -(4799) found -[775] Forked 4800 -[774] Forked 4801 -[773] Forked 4802 -[772] Forked 4803 -[771] Forked 4804 -[770] Forked 4805 -[769] Forked 4806 -[768] Forked 4807 -[767] Forked 4809 -(4800) found -(4801) found -(4802) found -(4803) found -(4804) found -(4805) found -(4806) found -(4807) found -(4809) found -[766] Forked 4810 -(4810) found -[765] Forked 4811 -(4811) found -[764] Forked 4812 -(4812) found -[763] Forked 4813 -(4813) found -[762] Forked 4814 -(4814) found -[761] Forked 4815 -(4815) found -[760] Forked 4816 -(4816) found -[759] Forked 4817 -(4817) found -[758] Forked 4818 -(4818) found -[757] Forked 4819 -(4819) found -[756] Forked 4820 -(4820) found -[755] Forked 4821 -(4821) found -[754] Forked 4822 -(4822) found -[753] Forked 4823 -(4823) found -[752] Forked 4824 -(4824) found -[751] Forked 4825 -(4825) found -[750] Forked 4826 -(4826) found -[749] Forked 4827 -(4827) found -[748] Forked 4828 -(4828) found -[747] Forked 4829 -(4829) found -[746] Forked 4830 -(4830) found -[745] Forked 4831 -(4831) found -[744] Forked 4832 -(4832) found -[743] Forked 4833 -(4833) found -[742] Forked 4834 -(4834) found -[741] Forked 4835 -(4835) found -[740] Forked 4836 -(4836) found -[739] Forked 4837 -(4837) found -[738] Forked 4838 -(4838) found -[737] Forked 4839 -(4839) found -[736] Forked 4840 -(4840) found -[735] Forked 4841 -(4841) found -[734] Forked 4842 -[733] Forked 4843 -(4842) found -(4843) found -[732] Forked 4844 -[731] Forked 4845 -(4844) found -(4845) found -[730] Forked 4846 -[729] Forked 4847 -(4846) found -(4847) found -[728] Forked 4848 -[727] Forked 4849 -(4848) found -(4849) found -[726] Forked 4850 -[725] Forked 4851 -(4850) found -(4851) found -[724] Forked 4852 -[723] Forked 4853 -(4852) found -(4853) found -[722] Forked 4854 -[721] Forked 4855 -(4854) found -(4855) found -[720] Forked 4856 -[719] Forked 4857 -(4856) found -(4857) found -[718] Forked 4858 -[717] Forked 4859 -(4858) found -(4859) found -[716] Forked 4860 -[715] Forked 4861 -(4860) found -(4861) found -[714] Forked 4862 -[713] Forked 4863 -(4862) found -(4863) found -[712] Forked 4864 -[711] Forked 4865 -(4864) found -(4865) found -[710] Forked 4866 -[709] Forked 4867 -(4866) found -(4867) found -[708] Forked 4868 -[707] Forked 4869 -(4868) found -(4869) found -[706] Forked 4870 -[705] Forked 4871 -(4870) found -(4871) found -[704] Forked 4872 -[703] Forked 4873 -(4872) found -(4873) found -[702] Forked 4874 -[701] Forked 4875 -(4874) found -(4875) found -[700] Forked 4876 -(4876) found -[699] Forked 4877 -[698] Forked 4878 -(4877) found -(4878) found -[697] Forked 4879 -[696] Forked 4881 -(4879) found -(4881) found -[695] Forked 4882 -(4882) found -[694] Forked 4883 -(4883) found -[693] Forked 4884 -(4884) found -[692] Forked 4885 -(4885) found -[691] Forked 4886 -(4886) found -[690] Forked 4887 -(4887) found -[689] Forked 4888 -(4888) found -[688] Forked 4889 -(4889) found -[687] Forked 4890 -(4890) found -[686] Forked 4891 -(4891) found -[685] Forked 4892 -(4892) found -[684] Forked 4893 -(4893) found -[683] Forked 4894 -(4894) found -[682] Forked 4895 -(4895) found -[681] Forked 4896 -(4896) found -[680] Forked 4897 -(4897) found -[679] Forked 4898 -(4898) found -[678] Forked 4899 -(4899) found -[677] Forked 4900 -(4900) found -[676] Forked 4901 -(4901) found -[675] Forked 4902 -(4902) found -[674] Forked 4903 -(4903) found -[673] Forked 4904 -(4904) found -[672] Forked 4905 -(4905) found -[671] Forked 4906 -(4906) found -[670] Forked 4907 -(4907) found -[669] Forked 4908 -(4908) found -[668] Forked 4909 -(4909) found -[667] Forked 4910 -(4910) found -[666] Forked 4911 -(4911) found -[665] Forked 4912 -(4912) found -[664] Forked 4913 -(4913) found -[663] Forked 4914 -(4914) found -[662] Forked 4915 -(4915) found -[661] Forked 4916 -(4916) found -[660] Forked 4917 -(4917) found -[659] Forked 4918 -(4918) found -[658] Forked 4919 -(4919) found -[657] Forked 4920 -(4920) found -[656] Forked 4921 -(4921) found -[655] Forked 4922 -(4922) found -[654] Forked 4923 -(4923) found -[653] Forked 4924 -(4924) found -[652] Forked 4925 -(4925) found -[651] Forked 4926 -(4926) found -[650] Forked 4927 -(4927) found -[649] Forked 4928 -(4928) found -[648] Forked 4929 -(4929) found -[647] Forked 4930 -(4930) found -[646] Forked 4931 -(4931) found -[645] Forked 4932 -(4932) found -[644] Forked 4933 -(4933) found -[643] Forked 4934 -(4934) found -[642] Forked 4935 -(4935) found -[641] Forked 4936 -(4936) found -[640] Forked 4937 -(4937) found -[639] Forked 4938 -(4938) found -[638] Forked 4939 -(4939) found -[637] Forked 4940 -(4940) found -[636] Forked 4941 -(4941) found -[635] Forked 4942 -(4942) found -[634] Forked 4943 -(4943) found -[633] Forked 4944 -(4944) found -[632] Forked 4945 -(4945) found -[631] Forked 4946 -(4946) found -[630] Forked 4947 -(4947) found -[629] Forked 4948 -(4948) found -[628] Forked 4949 -(4949) found -[627] Forked 4950 -(4950) found -[626] Forked 4951 -(4951) found -[625] Forked 4952 -(4952) found -[624] Forked 4953 -(4953) found -[623] Forked 4954 -(4954) found -[622] Forked 4955 -(4955) found -[621] Forked 4956 -[620] Forked 4957 -(4956) found -(4957) found -[619] Forked 4958 -[618] Forked 4959 -(4958) found -(4959) found -[617] Forked 4960 -[616] Forked 4961 -(4960) found -(4961) found -[615] Forked 4962 -[614] Forked 4963 -(4962) found -(4963) found -[613] Forked 4964 -[612] Forked 4965 -(4964) found -(4965) found -[611] Forked 4966 -[610] Forked 4967 -(4966) found -(4967) found -[609] Forked 4968 -[608] Forked 4969 -(4968) found -(4969) found -[607] Forked 4970 -[606] Forked 4971 -(4970) found -(4971) found -[605] Forked 4972 -[604] Forked 4973 -(4972) found -(4973) found -[603] Forked 4974 -[602] Forked 4975 -(4974) found -(4975) found -[601] Forked 4976 -[600] Forked 4977 -(4976) found -(4977) found -[599] Forked 4978 -[598] Forked 4979 -(4978) found -(4979) found -[597] Forked 4980 -[596] Forked 4981 -(4980) found -(4981) found -[595] Forked 4982 -[594] Forked 4983 -(4982) found -(4983) found -[593] Forked 4984 -[592] Forked 4985 -(4984) found -(4985) found -[591] Forked 4986 -[590] Forked 4987 -(4986) found -(4987) found -[589] Forked 4988 -[588] Forked 4989 -(4988) found -(4989) found -[587] Forked 4990 -[586] Forked 4991 -(4990) found -(4991) found -[585] Forked 4992 -[584] Forked 4993 -(4992) found -(4993) found -[583] Forked 4994 -[582] Forked 4995 -(4994) found -(4995) found -[581] Forked 4996 -[580] Forked 4997 -(4996) found -(4997) found -[579] Forked 4998 -[578] Forked 4999 -(4998) found -(4999) found -[577] Forked 5000 -[576] Forked 5001 -(5000) found -(5001) found -[575] Forked 5002 -(5002) found -[574] Forked 5003 -(5003) found -[573] Forked 5004 -(5004) found -[572] Forked 5005 -(5005) found -[571] Forked 5006 -(5006) found -[570] Forked 5007 -(5007) found -[569] Forked 5008 -(5008) found -[568] Forked 5009 -(5009) found -[567] Forked 5010 -(5010) found -[566] Forked 5011 -(5011) found -[565] Forked 5012 -(5012) found -[564] Forked 5013 -(5013) found -[563] Forked 5014 -(5014) found -[562] Forked 5015 -(5015) found -[561] Forked 5016 -(5016) found -[560] Forked 5017 -(5017) found -[559] Forked 5018 -(5018) found -[558] Forked 5019 -(5019) found -[557] Forked 5020 -(5020) found -[556] Forked 5021 -(5021) found -[555] Forked 5022 -(5022) found -[554] Forked 5023 -(5023) found -[553] Forked 5024 -(5024) found -[552] Forked 5025 -(5025) found -[551] Forked 5026 -(5026) found -[550] Forked 5027 -(5027) found -[549] Forked 5028 -(5028) found -[548] Forked 5029 -(5029) found -[547] Forked 5030 -(5030) found -[546] Forked 5031 -(5031) found -[545] Forked 5032 -(5032) found -[544] Forked 5033 -(5033) found -[543] Forked 5034 -(5034) found -[542] Forked 5035 -(5035) found -[541] Forked 5036 -(5036) found -[540] Forked 5037 -[539] Forked 5038 -(5037) found -(5038) found -[538] Forked 5039 -[537] Forked 5040 -(5039) found -(5040) found -[536] Forked 5041 -[535] Forked 5042 -(5041) found -(5042) found -[534] Forked 5043 -[533] Forked 5044 -(5043) found -(5044) found -[532] Forked 5045 -[531] Forked 5046 -(5045) found -(5046) found -[530] Forked 5047 -[529] Forked 5048 -(5047) found -(5048) found -[528] Forked 5049 -[527] Forked 5050 -(5049) found -(5050) found -[526] Forked 5051 -[525] Forked 5052 -(5051) found -(5052) found -[524] Forked 5053 -[523] Forked 5054 -(5053) found -(5054) found -[522] Forked 5055 -[521] Forked 5056 -(5055) found -(5056) found -[520] Forked 5057 -[519] Forked 5058 -(5057) found -(5058) found -[518] Forked 5059 -[517] Forked 5060 -(5059) found -(5060) found -[516] Forked 5061 -[515] Forked 5062 -(5061) found -(5062) found -[514] Forked 5063 -[513] Forked 5064 -(5063) found -(5064) found -[512] Forked 5065 -[511] Forked 5066 -(5065) found -(5066) found -[510] Forked 5067 -[509] Forked 5068 -(5067) found -(5068) found -[508] Forked 5069 -[507] Forked 5070 -(5069) found -(5070) found -[506] Forked 5071 -[505] Forked 5072 -(5071) found -(5072) found -[504] Forked 5073 -[503] Forked 5074 -(5073) found -(5074) found -[502] Forked 5075 -[501] Forked 5076 -(5075) found -(5076) found -[500] Forked 5077 -[499] Forked 5078 -(5077) found -(5078) found -[498] Forked 5079 -[497] Forked 5080 -(5079) found -(5080) found -[496] Forked 5081 -[495] Forked 5082 -(5081) found -(5082) found -[494] Forked 5083 -(5083) found -[493] Forked 5084 -(5084) found -[492] Forked 5085 -(5085) found -[491] Forked 5086 -(5086) found -[490] Forked 5087 -(5087) found -[489] Forked 5088 -(5088) found -[488] Forked 5089 -(5089) found -[487] Forked 5090 -(5090) found -[486] Forked 5091 -(5091) found -[485] Forked 5092 -(5092) found -[484] Forked 5093 -(5093) found -[483] Forked 5094 -(5094) found -[482] Forked 5095 -(5095) found -[481] Forked 5096 -(5096) found -[480] Forked 5097 -(5097) found -[479] Forked 5098 -(5098) found -[478] Forked 5099 -(5099) found -[477] Forked 5100 -(5100) found -[476] Forked 5101 -(5101) found -[475] Forked 5102 -(5102) found -[474] Forked 5103 -(5103) found -[473] Forked 5104 -(5104) found -[472] Forked 5105 -(5105) found -[471] Forked 5106 -(5106) found -[470] Forked 5107 -(5107) found -[469] Forked 5108 -(5108) found -[468] Forked 5109 -(5109) found -[467] Forked 5110 -(5110) found -[466] Forked 5111 -(5111) found -[465] Forked 5112 -(5112) found -[464] Forked 5113 -(5113) found -[463] Forked 5114 -(5114) found -[462] Forked 5115 -(5115) found -[461] Forked 5116 -(5116) found -[460] Forked 5117 -(5117) found -[459] Forked 5118 -(5118) found -[458] Forked 5119 -(5119) found -[457] Forked 5120 -[456] Forked 5121 -(5120) found -(5121) found -[455] Forked 5122 -[454] Forked 5123 -(5122) found -(5123) found -[453] Forked 5124 -[452] Forked 5125 -(5124) found -(5125) found -[451] Forked 5126 -[450] Forked 5127 -(5126) found -(5127) found -[449] Forked 5128 -[448] Forked 5129 -(5128) found -(5129) found -[447] Forked 5130 -[446] Forked 5131 -(5130) found -(5131) found -[445] Forked 5132 -[444] Forked 5133 -(5132) found -(5133) found -[443] Forked 5134 -[442] Forked 5135 -(5134) found -(5135) found -[441] Forked 5136 -(5136) found -[440] Forked 5137 -(5137) found -[439] Forked 5138 -(5138) found -[438] Forked 5139 -(5139) found -[437] Forked 5140 -(5140) found -[436] Forked 5141 -(5141) found -[435] Forked 5142 -(5142) found -[434] Forked 5143 -(5143) found -[433] Forked 5144 -[432] Forked 5145 -(5144) found -(5145) found -[431] Forked 5146 -[430] Forked 5147 -(5146) found -(5147) found -[429] Forked 5148 -[428] Forked 5149 -(5148) found -(5149) found -[427] Forked 5150 -[426] Forked 5151 -(5150) found -(5151) found -[425] Forked 5152 -[424] Forked 5153 -(5152) found -(5153) found -[423] Forked 5154 -[422] Forked 5155 -(5154) found -(5155) found -[421] Forked 5156 -[420] Forked 5157 -(5156) found -(5157) found -[419] Forked 5158 -[418] Forked 5159 -(5158) found -(5159) found -[417] Forked 5160 -[416] Forked 5161 -(5160) found -(5161) found -[415] Forked 5162 -[414] Forked 5164 -(5162) found -(5164) found -[413] Forked 5165 -(5165) found -[412] Forked 5166 -(5166) found -[411] Forked 5167 -(5167) found -[410] Forked 5168 -(5168) found -[409] Forked 5169 -(5169) found -[408] Forked 5170 -(5170) found -[407] Forked 5171 -(5171) found -[406] Forked 5172 -(5172) found -[405] Forked 5173 -(5173) found -[404] Forked 5174 -(5174) found -[403] Forked 5175 -(5175) found -[402] Forked 5176 -(5176) found -[401] Forked 5177 -(5177) found -[400] Forked 5178 -(5178) found -[399] Forked 5179 -(5179) found -[398] Forked 5180 -(5180) found -[397] Forked 5181 -(5181) found -[396] Forked 5182 -(5182) found -[395] Forked 5183 -(5183) found -[394] Forked 5184 -(5184) found -[393] Forked 5185 -(5185) found -[392] Forked 5186 -(5186) found -[391] Forked 5187 -(5187) found -[390] Forked 5188 -(5188) found -[389] Forked 5189 -(5189) found -[388] Forked 5190 -(5190) found -[387] Forked 5191 -(5191) found -[386] Forked 5192 -(5192) found -[385] Forked 5193 -(5193) found -[384] Forked 5194 -(5194) found -[383] Forked 5195 -(5195) found -[382] Forked 5196 -(5196) found -[381] Forked 5197 -(5197) found -[380] Forked 5198 -(5198) found -[379] Forked 5199 -[378] Forked 5200 -(5199) found -(5200) found -[377] Forked 5201 -[376] Forked 5202 -(5201) found -(5202) found -[375] Forked 5203 -[374] Forked 5204 -(5203) found -(5204) found -[373] Forked 5205 -[372] Forked 5206 -(5205) found -(5206) found -[371] Forked 5207 -[370] Forked 5208 -(5207) found -(5208) found -[369] Forked 5209 -[368] Forked 5210 -(5209) found -(5210) found -[367] Forked 5211 -[366] Forked 5212 -(5211) found -(5212) found -[365] Forked 5213 -[364] Forked 5214 -(5213) found -(5214) found -[363] Forked 5215 -[362] Forked 5216 -(5215) found -(5216) found -[361] Forked 5217 -[360] Forked 5218 -(5217) found -(5218) found -[359] Forked 5219 -[358] Forked 5220 -(5219) found -(5220) found -[357] Forked 5221 -[356] Forked 5222 -(5221) found -(5222) found -[355] Forked 5223 -[354] Forked 5224 -(5223) found -(5224) found -[353] Forked 5225 -[352] Forked 5226 -(5225) found -(5226) found -[351] Forked 5227 -[350] Forked 5228 -(5227) found -(5228) found -[349] Forked 5229 -[348] Forked 5230 -(5229) found -(5230) found -[347] Forked 5231 -[346] Forked 5232 -(5231) found -(5232) found -[345] Forked 5233 -[344] Forked 5234 -(5233) found -(5234) found -[343] Forked 5235 -[342] Forked 5236 -(5235) found -(5236) found -[341] Forked 5237 -[340] Forked 5238 -(5237) found -(5238) found -[339] Forked 5239 -[338] Forked 5240 -(5239) found -(5240) found -[337] Forked 5241 -[336] Forked 5242 -(5241) found -(5242) found -[335] Forked 5243 -[334] Forked 5244 -(5243) found -(5244) found -[333] Forked 5245 -(5245) found -[332] Forked 5246 -(5246) found -[331] Forked 5247 -(5247) found -[330] Forked 5248 -(5248) found -[329] Forked 5249 -(5249) found -[328] Forked 5250 -(5250) found -[327] Forked 5251 -(5251) found -[326] Forked 5252 -(5252) found -[325] Forked 5253 -(5253) found -[324] Forked 5254 -(5254) found -[323] Forked 5255 -(5255) found -[322] Forked 5256 -(5256) found -[321] Forked 5257 -(5257) found -[320] Forked 5258 -(5258) found -[319] Forked 5259 -(5259) found -[318] Forked 5260 -(5260) found -[317] Forked 5261 -(5261) found -[316] Forked 5262 -(5262) found -[315] Forked 5263 -(5263) found -[314] Forked 5264 -(5264) found -[313] Forked 5265 -(5265) found -[312] Forked 5266 -(5266) found -[311] Forked 5267 -(5267) found -[310] Forked 5268 -(5268) found -[309] Forked 5269 -(5269) found -[308] Forked 5270 -(5270) found -[307] Forked 5271 -(5271) found -[306] Forked 5272 -(5272) found -[305] Forked 5273 -(5273) found -[304] Forked 5274 -(5274) found -[303] Forked 5275 -(5275) found -[302] Forked 5276 -(5276) found -[301] Forked 5277 -(5277) found -[300] Forked 5278 -(5278) found -[299] Forked 5279 -(5279) found -[298] Forked 5280 -(5280) found -[297] Forked 5281 -[296] Forked 5282 -(5281) found -(5282) found -[295] Forked 5283 -[294] Forked 5284 -(5283) found -(5284) found -[293] Forked 5285 -[292] Forked 5286 -(5285) found -(5286) found -[291] Forked 5287 -[290] Forked 5288 -(5287) found -(5288) found -[289] Forked 5289 -[288] Forked 5290 -(5289) found -(5290) found -[287] Forked 5291 -[286] Forked 5292 -(5291) found -(5292) found -[285] Forked 5293 -[284] Forked 5294 -(5293) found -(5294) found -[283] Forked 5295 -[282] Forked 5296 -(5295) found -(5296) found -[281] Forked 5297 -[280] Forked 5298 -(5297) found -(5298) found -[279] Forked 5299 -[278] Forked 5300 -(5299) found -(5300) found -[277] Forked 5301 -[276] Forked 5302 -(5301) found -(5302) found -[275] Forked 5303 -[274] Forked 5304 -(5303) found -(5304) found -[273] Forked 5305 -[272] Forked 5306 -(5305) found -(5306) found -[271] Forked 5307 -[270] Forked 5308 -(5307) found -(5308) found -[269] Forked 5309 -[268] Forked 5310 -(5309) found -(5310) found -[267] Forked 5311 -[266] Forked 5312 -(5311) found -(5312) found -[265] Forked 5313 -[264] Forked 5314 -(5313) found -(5314) found -[263] Forked 5315 -[262] Forked 5316 -(5315) found -(5316) found -[261] Forked 5317 -[260] Forked 5318 -(5317) found -(5318) found -[259] Forked 5319 -[258] Forked 5320 -(5319) found -(5320) found -[257] Forked 5321 -[256] Forked 5322 -(5321) found -(5322) found -[255] Forked 5323 -[254] Forked 5324 -(5323) found -(5324) found -[253] Forked 5325 -[252] Forked 5326 -(5325) found -(5326) found -[251] Forked 5327 -(5327) found -[250] Forked 5328 -(5328) found -[249] Forked 5329 -(5329) found -[248] Forked 5330 -(5330) found -[247] Forked 5331 -(5331) found -[246] Forked 5332 -(5332) found -[245] Forked 5333 -(5333) found -[244] Forked 5334 -(5334) found -[243] Forked 5335 -(5335) found -[242] Forked 5336 -(5336) found -[241] Forked 5337 -(5337) found -[240] Forked 5338 -(5338) found -[239] Forked 5339 -(5339) found -[238] Forked 5340 -(5340) found -[237] Forked 5341 -(5341) found -[236] Forked 5342 -(5342) found -[235] Forked 5343 -(5343) found -[234] Forked 5344 -(5344) found -[233] Forked 5345 -(5345) found -[232] Forked 5346 -(5346) found -[231] Forked 5347 -(5347) found -[230] Forked 5348 -(5348) found -[229] Forked 5349 -(5349) found -[228] Forked 5350 -(5350) found -[227] Forked 5351 -(5351) found -[226] Forked 5352 -(5352) found -[225] Forked 5353 -(5353) found -[224] Forked 5354 -(5354) found -[223] Forked 5355 -(5355) found -[222] Forked 5356 -(5356) found -[221] Forked 5357 -(5357) found -[220] Forked 5358 -(5358) found -[219] Forked 5359 -(5359) found -[218] Forked 5360 -(5360) found -[217] Forked 5361 -(5361) found -[216] Forked 5362 -(5362) found -[215] Forked 5363 -[214] Forked 5364 -(5363) found -(5364) found -[213] Forked 5365 -[212] Forked 5366 -(5365) found -(5366) found -[211] Forked 5367 -[210] Forked 5368 -(5367) found -(5368) found -[209] Forked 5369 -[208] Forked 5370 -(5369) found -(5370) found -[207] Forked 5371 -[206] Forked 5372 -(5371) found -(5372) found -[205] Forked 5373 -[204] Forked 5374 -(5373) found -(5374) found -[203] Forked 5375 -[202] Forked 5376 -(5375) found -(5376) found -[201] Forked 5377 -[200] Forked 5378 -(5377) found -(5378) found -[199] Forked 5379 -[198] Forked 5380 -(5379) found -(5380) found -[197] Forked 5381 -[196] Forked 5382 -(5381) found -(5382) found -[195] Forked 5383 -[194] Forked 5384 -(5383) found -(5384) found -[193] Forked 5385 -[192] Forked 5386 -(5385) found -(5386) found -[191] Forked 5387 -[190] Forked 5388 -(5387) found -(5388) found -[189] Forked 5389 -[188] Forked 5390 -(5389) found -(5390) found -[187] Forked 5391 -[186] Forked 5392 -(5391) found -(5392) found -[185] Forked 5393 -[184] Forked 5394 -(5393) found -(5394) found -[183] Forked 5395 -[182] Forked 5396 -(5395) found -(5396) found -[181] Forked 5397 -[180] Forked 5398 -(5397) found -(5398) found -[179] Forked 5399 -[178] Forked 5400 -(5399) found -(5400) found -[177] Forked 5401 -[176] Forked 5403 -(5401) found -(5403) found -[175] Forked 5404 -(5404) found -[174] Forked 5405 -(5405) found -[173] Forked 5406 -(5406) found -[172] Forked 5407 -(5407) found -[171] Forked 5408 -(5408) found -[170] Forked 5409 -(5409) found -[169] Forked 5410 -(5410) found -[168] Forked 5411 -(5411) found -[167] Forked 5412 -(5412) found -[166] Forked 5413 -(5413) found -[165] Forked 5414 -(5414) found -[164] Forked 5415 -(5415) found -[163] Forked 5416 -(5416) found -[162] Forked 5417 -(5417) found -[161] Forked 5418 -(5418) found -[160] Forked 5419 -(5419) found -[159] Forked 5420 -(5420) found -[158] Forked 5421 -(5421) found -[157] Forked 5422 -(5422) found -[156] Forked 5423 -(5423) found -[155] Forked 5424 -(5424) found -[154] Forked 5425 -(5425) found -[153] Forked 5426 -(5426) found -[152] Forked 5427 -(5427) found -[151] Forked 5428 -(5428) found -[150] Forked 5429 -(5429) found -[149] Forked 5430 -(5430) found -[148] Forked 5431 -(5431) found -[147] Forked 5432 -(5432) found -[146] Forked 5433 -(5433) found -[145] Forked 5434 -(5434) found -[144] Forked 5435 -(5435) found -[143] Forked 5436 -(5436) found -[142] Forked 5437 -(5437) found -[141] Forked 5438 -(5438) found -[140] Forked 5439 -(5439) found -[139] Forked 5440 -(5440) found -[138] Forked 5441 -(5441) found -[137] Forked 5442 -(5442) found -[136] Forked 5443 -[135] Forked 5444 -(5443) found -(5444) found -[134] Forked 5445 -[133] Forked 5446 -(5446) found -(5445) found -[132] Forked 5447 -(5447) found -[131] Forked 5448 -(5448) found -[130] Forked 5449 -(5449) found -[129] Forked 5450 -(5450) found -[128] Forked 5451 -(5451) found -[127] Forked 5452 -(5452) found -[126] Forked 5453 -(5453) found -[125] Forked 5454 -(5454) found -[124] Forked 5455 -(5455) found -[123] Forked 5456 -(5456) found -[122] Forked 5457 -(5457) found -[121] Forked 5458 -(5458) found -[120] Forked 5459 -(5459) found -[119] Forked 5460 -(5460) found -[118] Forked 5461 -(5461) found -[117] Forked 5462 -(5462) found -[116] Forked 5463 -(5463) found -[115] Forked 5464 -(5464) found -[114] Forked 5465 -(5465) found -[113] Forked 5466 -(5466) found -[112] Forked 5467 -(5467) found -[111] Forked 5468 -(5468) found -[110] Forked 5469 -(5469) found -[109] Forked 5470 -(5470) found -[108] Forked 5471 -(5471) found -[107] Forked 5472 -(5472) found -[106] Forked 5473 -(5473) found -[105] Forked 5474 -(5474) found -[104] Forked 5475 -(5475) found -[103] Forked 5476 -(5476) found -[102] Forked 5477 -(5477) found -[101] Forked 5478 -(5478) found -[100] Forked 5479 -(5479) found -[99] Forked 5480 -(5480) found -[98] Forked 5481 -(5481) found -[97] Forked 5482 -(5482) found -[96] Forked 5483 -(5483) found -[95] Forked 5484 -(5484) found -[94] Forked 5485 -(5485) found -[93] Forked 5486 -(5486) found -[92] Forked 5487 -(5487) found -[91] Forked 5488 -(5488) found -[90] Forked 5489 -(5489) found -[89] Forked 5490 -(5490) found -[88] Forked 5491 -(5491) found -[87] Forked 5492 -(5492) found -[86] Forked 5493 -(5493) found -[85] Forked 5494 -(5494) found -[84] Forked 5495 -(5495) found -[83] Forked 5496 -(5496) found -[82] Forked 5497 -(5497) found -[81] Forked 5498 -(5498) found -[80] Forked 5499 -(5499) found -[79] Forked 5500 -(5500) found -[78] Forked 5501 -(5501) found -[77] Forked 5502 -(5502) found -[76] Forked 5503 -(5503) found -[75] Forked 5504 -(5504) found -[74] Forked 5505 -(5505) found -[73] Forked 5506 -(5506) found -[72] Forked 5507 -(5507) found -[71] Forked 5508 -(5508) found -[70] Forked 5509 -(5509) found -[69] Forked 5510 -(5510) found -[68] Forked 5511 -(5511) found -[67] Forked 5512 -(5512) found -[66] Forked 5513 -(5513) found -[65] Forked 5514 -(5514) found -[64] Forked 5515 -(5515) found -[63] Forked 5516 -(5516) found -[62] Forked 5517 -(5517) found -[61] Forked 5518 -(5518) found -[60] Forked 5519 -(5519) found -[59] Forked 5520 -(5520) found -[58] Forked 5521 -(5521) found -[57] Forked 5522 -(5522) found -[56] Forked 5523 -(5523) found -[55] Forked 5524 -(5524) found -[54] Forked 5525 -(5525) found -[53] Forked 5526 -(5526) found -[52] Forked 5527 -(5527) found -[51] Forked 5528 -(5528) found -[50] Forked 5529 -(5529) found -[49] Forked 5530 -(5530) found -[48] Forked 5531 -(5531) found -[47] Forked 5532 -(5532) found -[46] Forked 5533 -(5533) found -[45] Forked 5534 -(5534) found -[44] Forked 5535 -(5535) found -[43] Forked 5536 -(5536) found -[42] Forked 5537 -(5537) found -[41] Forked 5538 -(5538) found -[40] Forked 5539 -(5539) found -[39] Forked 5540 -(5540) found -[38] Forked 5541 -(5541) found -[37] Forked 5542 -(5542) found -[36] Forked 5543 -(5543) found -[35] Forked 5544 -(5544) found -[34] Forked 5545 -(5545) found -[33] Forked 5546 -(5546) found -[32] Forked 5547 -(5547) found -[31] Forked 5548 -(5548) found -[30] Forked 5549 -(5549) found -[29] Forked 5550 -(5550) found -[28] Forked 5551 -[27] Forked 5552 -(5551) found -(5552) found -[26] Forked 5553 -[25] Forked 5554 -(5553) found -(5554) found -[24] Forked 5555 -[23] Forked 5556 -(5555) found -(5556) found -[22] Forked 5557 -[21] Forked 5558 -(5557) found -(5558) found -[20] Forked 5559 -[19] Forked 5560 -(5559) found -(5560) found -[18] Forked 5561 -[17] Forked 5562 -(5561) found -(5562) found -[16] Forked 5563 -[15] Forked 5564 -(5563) found -(5564) found -[14] Forked 5565 -[13] Forked 5566 -(5565) found -(5566) found -[12] Forked 5567 -(5567) found -[11] Forked 5568 -[10] Forked 5569 -(5568) found -(5569) found -[9] Forked 5570 -[8] Forked 5571 -(5570) found -(5571) found -[7] Forked 5572 -[6] Forked 5573 -(5572) found -(5573) found -[5] Forked 5574 -[4] Forked 5575 -(5574) found -(5575) found -[3] Forked 5576 -[2] Forked 5577 -(5576) found -(5577) found -[1] Forked 5578 -[0] Forked 5579 -(5578) found -(5579) found diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.G b/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.G deleted file mode 100644 index 7e9c89f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/fork-latency.c.G +++ /dev/null @@ -1,40001 +0,0 @@ -MAX=20000 -[19999] Forked 18452 -(18452) found -[19998] Forked 18453 -(18453) found -[19997] Forked 18454 -(18454) found -[19996] Forked 18455 -(18455) found -[19995] Forked 18456 -(18456) found -[19994] Forked 18457 -(18457) found -[19993] Forked 18458 -(18458) found -[19992] Forked 18459 -(18459) found -[19991] Forked 18460 -(18460) found -[19990] Forked 18461 -(18461) found -[19989] Forked 18462 -(18462) found -[19988] Forked 18463 -(18463) found -[19987] Forked 18464 -(18464) found -[19986] Forked 18466 -(18466) found -[19985] Forked 18467 -(18467) found -[19984] Forked 18468 -(18468) found -[19983] Forked 18469 -(18469) found -[19982] Forked 18470 -(18470) found -[19981] Forked 18471 -(18471) found -[19980] Forked 18472 -(18472) found -[19979] Forked 18473 -(18473) found -[19978] Forked 18474 -(18474) found -[19977] Forked 18475 -(18475) found -[19976] Forked 18476 -(18476) found -[19975] Forked 18477 -(18477) found -[19974] Forked 18478 -(18478) found -[19973] Forked 18479 -(18479) found -[19972] Forked 18480 -(18480) found -[19971] Forked 18481 -(18481) found -[19970] Forked 18482 -(18482) found -[19969] Forked 18483 -(18483) found -[19968] Forked 18484 -(18484) found -[19967] Forked 18485 -(18485) found -[19966] Forked 18486 -(18486) found -[19965] Forked 18487 -(18487) found -[19964] Forked 18488 -(18488) found -[19963] Forked 18489 -(18489) found -[19962] Forked 18490 -(18490) found -[19961] Forked 18491 -(18491) found -[19960] Forked 18492 -(18492) found -[19959] Forked 18493 -(18493) found -[19958] Forked 18494 -(18494) found -[19957] Forked 18495 -(18495) found -[19956] Forked 18496 -(18496) found -[19955] Forked 18497 -(18497) found -[19954] Forked 18498 -(18498) found -[19953] Forked 18499 -(18499) found -[19952] Forked 18500 -(18500) found -[19951] Forked 18501 -(18501) found -[19950] Forked 18502 -(18502) found -[19949] Forked 18503 -(18503) found -[19948] Forked 18504 -(18504) found -[19947] Forked 18505 -(18505) found -[19946] Forked 18506 -(18506) found -[19945] Forked 18507 -(18507) found -[19944] Forked 18508 -(18508) found -[19943] Forked 18509 -(18509) found -[19942] Forked 18510 -(18510) found -[19941] Forked 18511 -(18511) found -[19940] Forked 18512 -(18512) found -[19939] Forked 18513 -(18513) found -[19938] Forked 18514 -(18514) found -[19937] Forked 18515 -(18515) found -[19936] Forked 18516 -(18516) found -[19935] Forked 18517 -(18517) found -[19934] Forked 18518 -(18518) found -[19933] Forked 18519 -(18519) found -[19932] Forked 18520 -(18520) found -[19931] Forked 18521 -(18521) found -[19930] Forked 18522 -(18522) found -[19929] Forked 18523 -(18523) found -[19928] Forked 18524 -(18524) found -[19927] Forked 18525 -(18525) found -[19926] Forked 18526 -(18526) found -[19925] Forked 18527 -(18527) found -[19924] Forked 18528 -(18528) found -[19923] Forked 18529 -(18529) found -[19922] Forked 18530 -(18530) found -[19921] Forked 18531 -(18531) found -[19920] Forked 18532 -(18532) found -[19919] Forked 18533 -(18533) found -[19918] Forked 18534 -(18534) found -[19917] Forked 18535 -(18535) found -[19916] Forked 18536 -(18536) found -[19915] Forked 18537 -(18537) found -[19914] Forked 18538 -(18538) found -[19913] Forked 18539 -(18539) found -[19912] Forked 18540 -(18540) found -[19911] Forked 18541 -(18541) found -[19910] Forked 18542 -(18542) found -[19909] Forked 18543 -(18543) found -[19908] Forked 18544 -(18544) found -[19907] Forked 18545 -(18545) found -[19906] Forked 18546 -(18546) found -[19905] Forked 18547 -(18547) found -[19904] Forked 18548 -(18548) found -[19903] Forked 18549 -(18549) found -[19902] Forked 18550 -(18550) found -[19901] Forked 18551 -(18551) found -[19900] Forked 18552 -(18552) found -[19899] Forked 18553 -(18553) found -[19898] Forked 18554 -(18554) found -[19897] Forked 18555 -(18555) found -[19896] Forked 18556 -(18556) found -[19895] Forked 18557 -(18557) found -[19894] Forked 18558 -(18558) found -[19893] Forked 18559 -(18559) found -[19892] Forked 18560 -(18560) found -[19891] Forked 18561 -[19890] Forked 18562 -(18561) found -(18562) found -[19889] Forked 18563 -[19888] Forked 18564 -(18563) found -(18564) found -[19887] Forked 18565 -[19886] Forked 18567 -(18565) found -(18567) found -[19885] Forked 18568 -[19884] Forked 18569 -(18568) found -(18569) found -[19883] Forked 18570 -[19882] Forked 18571 -(18570) found -(18571) found -[19881] Forked 18572 -[19880] Forked 18573 -(18572) found -(18573) found -[19879] Forked 18574 -[19878] Forked 18575 -(18574) found -(18575) found -[19877] Forked 18576 -[19876] Forked 18577 -(18576) found -(18577) found -[19875] Forked 18578 -[19874] Forked 18579 -(18578) found -(18579) found -[19873] Forked 18580 -[19872] Forked 18581 -(18580) found -(18581) found -[19871] Forked 18582 -[19870] Forked 18583 -(18582) found -(18583) found -[19869] Forked 18584 -[19868] Forked 18585 -(18584) found -(18585) found -[19867] Forked 18586 -[19866] Forked 18587 -(18586) found -(18587) found -[19865] Forked 18588 -[19864] Forked 18589 -(18588) found -(18589) found -[19863] Forked 18590 -[19862] Forked 18591 -(18590) found -(18591) found -[19861] Forked 18592 -[19860] Forked 18593 -(18592) found -(18593) found -[19859] Forked 18594 -[19858] Forked 18595 -(18594) found -(18595) found -[19857] Forked 18596 -[19856] Forked 18597 -(18596) found -(18597) found -[19855] Forked 18598 -[19854] Forked 18599 -(18598) found -(18599) found -[19853] Forked 18600 -[19852] Forked 18601 -(18600) found -(18601) found -[19851] Forked 18602 -[19850] Forked 18603 -(18602) found -(18603) found -[19849] Forked 18604 -[19848] Forked 18605 -(18604) found -(18605) found -[19847] Forked 18606 -[19846] Forked 18607 -(18606) found -(18607) found -[19845] Forked 18608 -[19844] Forked 18609 -(18608) found -(18609) found -[19843] Forked 18610 -[19842] Forked 18612 -(18610) found -(18612) found -[19841] Forked 18613 -[19840] Forked 18614 -(18613) found -(18614) found -[19839] Forked 18615 -[19838] Forked 18616 -(18615) found -(18616) found -[19837] Forked 18617 -[19836] Forked 18618 -(18617) found -(18618) found -[19835] Forked 18619 -[19834] Forked 18620 -(18619) found -(18620) found -[19833] Forked 18621 -[19832] Forked 18622 -(18621) found -(18622) found -[19831] Forked 18623 -[19830] Forked 18624 -(18623) found -(18624) found -[19829] Forked 18625 -[19828] Forked 18626 -(18625) found -(18626) found -[19827] Forked 18627 -[19826] Forked 18628 -(18627) found -(18628) found -[19825] Forked 18629 -[19824] Forked 18630 -(18629) found -(18630) found -[19823] Forked 18631 -[19822] Forked 18632 -(18631) found -(18632) found -[19821] Forked 18633 -[19820] Forked 18634 -(18633) found -(18634) found -[19819] Forked 18635 -[19818] Forked 18636 -(18635) found -(18636) found -[19817] Forked 18637 -[19816] Forked 18638 -(18637) found -(18638) found -[19815] Forked 18639 -[19814] Forked 18640 -(18639) found -(18640) found -[19813] Forked 18641 -[19812] Forked 18642 -(18641) found -(18642) found -[19811] Forked 18643 -[19810] Forked 18644 -(18643) found -(18644) found -[19809] Forked 18645 -[19808] Forked 18646 -(18645) found -(18646) found -[19807] Forked 18647 -[19806] Forked 18648 -(18647) found -(18648) found -[19805] Forked 18649 -[19804] Forked 18650 -(18649) found -(18650) found -[19803] Forked 18651 -[19802] Forked 18652 -(18651) found -(18652) found -[19801] Forked 18653 -[19800] Forked 18654 -(18653) found -(18654) found -[19799] Forked 18655 -(18655) found -[19798] Forked 18656 -(18656) found -[19797] Forked 18657 -(18657) found -[19796] Forked 18658 -(18658) found -[19795] Forked 18659 -(18659) found -[19794] Forked 18660 -(18660) found -[19793] Forked 18661 -(18661) found -[19792] Forked 18662 -(18662) found -[19791] Forked 18663 -(18663) found -[19790] Forked 18664 -(18664) found -[19789] Forked 18665 -(18665) found -[19788] Forked 18666 -(18666) found -[19787] Forked 18667 -(18667) found -[19786] Forked 18668 -(18668) found -[19785] Forked 18669 -(18669) found -[19784] Forked 18670 -(18670) found -[19783] Forked 18671 -(18671) found -[19782] Forked 18672 -(18672) found -[19781] Forked 18673 -(18673) found -[19780] Forked 18674 -(18674) found -[19779] Forked 18675 -(18675) found -[19778] Forked 18676 -(18676) found -[19777] Forked 18677 -(18677) found -[19776] Forked 18678 -(18678) found -[19775] Forked 18679 -(18679) found -[19774] Forked 18680 -(18680) found -[19773] Forked 18681 -(18681) found -[19772] Forked 18682 -(18682) found -[19771] Forked 18683 -(18683) found -[19770] Forked 18684 -(18684) found -[19769] Forked 18685 -(18685) found -[19768] Forked 18686 -(18686) found -[19767] Forked 18687 -(18687) found -[19766] Forked 18688 -(18688) found -[19765] Forked 18689 -(18689) found -[19764] Forked 18690 -(18690) found -[19763] Forked 18691 -(18691) found -[19762] Forked 18692 -(18692) found -[19761] Forked 18693 -[19760] Forked 18694 -(18693) found -(18694) found -[19759] Forked 18695 -(18695) found -[19758] Forked 18696 -(18696) found -[19757] Forked 18697 -(18697) found -[19756] Forked 18698 -(18698) found -[19755] Forked 18699 -[19754] Forked 18700 -(18699) found -(18700) found -[19753] Forked 18701 -[19752] Forked 18702 -(18701) found -(18702) found -[19751] Forked 18703 -[19750] Forked 18704 -(18703) found -(18704) found -[19749] Forked 18705 -[19748] Forked 18706 -(18705) found -(18706) found -[19747] Forked 18707 -[19746] Forked 18708 -(18707) found -(18708) found -[19745] Forked 18709 -[19744] Forked 18710 -(18709) found -(18710) found -[19743] Forked 18711 -[19742] Forked 18712 -(18711) found -(18712) found -[19741] Forked 18713 -[19740] Forked 18714 -(18713) found -(18714) found -[19739] Forked 18715 -[19738] Forked 18716 -(18715) found -(18716) found -[19737] Forked 18717 -[19736] Forked 18718 -(18717) found -(18718) found -[19735] Forked 18719 -[19734] Forked 18720 -(18719) found -(18720) found -[19733] Forked 18721 -[19732] Forked 18722 -(18721) found -(18722) found -[19731] Forked 18723 -[19730] Forked 18724 -(18723) found -(18724) found -[19729] Forked 18725 -[19728] Forked 18726 -(18725) found -(18726) found -[19727] Forked 18727 -[19726] Forked 18728 -(18727) found -(18728) found -[19725] Forked 18729 -[19724] Forked 18730 -(18729) found -(18730) found -[19723] Forked 18731 -[19722] Forked 18732 -(18731) found -(18732) found -[19721] Forked 18733 -[19720] Forked 18734 -(18733) found -(18734) found -[19719] Forked 18735 -[19718] Forked 18736 -(18735) found -(18736) found -[19717] Forked 18737 -[19716] Forked 18738 -(18737) found -(18738) found -[19715] Forked 18739 -[19714] Forked 18740 -(18739) found -(18740) found -[19713] Forked 18741 -[19712] Forked 18742 -(18741) found -(18742) found -[19711] Forked 18743 -[19710] Forked 18744 -(18743) found -(18744) found -[19709] Forked 18745 -(18745) found -[19708] Forked 18746 -(18746) found -[19707] Forked 18747 -[19706] Forked 18748 -(18747) found -(18748) found -[19705] Forked 18749 -[19704] Forked 18750 -(18749) found -(18750) found -[19703] Forked 18751 -[19702] Forked 18752 -(18751) found -(18752) found -[19701] Forked 18753 -[19700] Forked 18754 -(18753) found -(18754) found -[19699] Forked 18755 -[19698] Forked 18756 -(18755) found -(18756) found -[19697] Forked 18757 -[19696] Forked 18758 -(18757) found -(18758) found -[19695] Forked 18759 -[19694] Forked 18760 -(18759) found -(18760) found -[19693] Forked 18761 -[19692] Forked 18762 -(18761) found -(18762) found -[19691] Forked 18763 -[19690] Forked 18764 -(18763) found -(18764) found -[19689] Forked 18765 -[19688] Forked 18766 -(18765) found -(18766) found -[19687] Forked 18767 -[19686] Forked 18768 -(18767) found -(18768) found -[19685] Forked 18769 -[19684] Forked 18770 -(18769) found -(18770) found -[19683] Forked 18771 -[19682] Forked 18772 -(18771) found -(18772) found -[19681] Forked 18773 -[19680] Forked 18774 -(18773) found -(18774) found -[19679] Forked 18775 -[19678] Forked 18776 -(18775) found -(18776) found -[19677] Forked 18777 -[19676] Forked 18778 -(18777) found -(18778) found -[19675] Forked 18779 -[19674] Forked 18780 -(18779) found -(18780) found -[19673] Forked 18781 -[19672] Forked 18782 -(18781) found -(18782) found -[19671] Forked 18783 -[19670] Forked 18784 -(18783) found -(18784) found -[19669] Forked 18785 -[19668] Forked 18786 -(18785) found -(18786) found -[19667] Forked 18787 -[19666] Forked 18788 -(18787) found -(18788) found -[19665] Forked 18789 -[19664] Forked 18790 -(18789) found -(18790) found -[19663] Forked 18791 -[19662] Forked 18792 -(18791) found -(18792) found -[19661] Forked 18793 -[19660] Forked 18794 -(18793) found -(18794) found -[19659] Forked 18795 -[19658] Forked 18796 -(18795) found -(18796) found -[19657] Forked 18797 -[19656] Forked 18798 -(18797) found -(18798) found -[19655] Forked 18799 -[19654] Forked 18800 -(18799) found -(18800) found -[19653] Forked 18801 -[19652] Forked 18802 -(18801) found -(18802) found -[19651] Forked 18803 -[19650] Forked 18804 -(18803) found -(18804) found -[19649] Forked 18805 -[19648] Forked 18806 -(18805) found -(18806) found -[19647] Forked 18807 -[19646] Forked 18808 -(18807) found -(18808) found -[19645] Forked 18809 -[19644] Forked 18810 -(18809) found -(18810) found -[19643] Forked 18811 -[19642] Forked 18812 -(18811) found -(18812) found -[19641] Forked 18813 -[19640] Forked 18814 -(18813) found -(18814) found -[19639] Forked 18815 -[19638] Forked 18816 -(18815) found -(18816) found -[19637] Forked 18817 -[19636] Forked 18818 -(18817) found -(18818) found -[19635] Forked 18819 -[19634] Forked 18820 -(18819) found -(18820) found -[19633] Forked 18821 -[19632] Forked 18822 -(18821) found -(18822) found -[19631] Forked 18823 -[19630] Forked 18824 -(18823) found -(18824) found -[19629] Forked 18825 -[19628] Forked 18826 -(18825) found -(18826) found -[19627] Forked 18827 -[19626] Forked 18828 -(18827) found -(18828) found -[19625] Forked 18829 -[19624] Forked 18830 -(18829) found -(18830) found -[19623] Forked 18831 -[19622] Forked 18832 -(18831) found -(18832) found -[19621] Forked 18833 -[19620] Forked 18834 -(18833) found -(18834) found -[19619] Forked 18835 -[19618] Forked 18836 -(18835) found -(18836) found -[19617] Forked 18837 -[19616] Forked 18838 -(18837) found -(18838) found -[19615] Forked 18839 -[19614] Forked 18840 -(18839) found -(18840) found -[19613] Forked 18841 -[19612] Forked 18842 -(18842) found -(18841) found -[19611] Forked 18843 -(18843) found -[19610] Forked 18844 -(18844) found -[19609] Forked 18845 -(18845) found -[19608] Forked 18846 -(18846) found -[19607] Forked 18847 -(18847) found -[19606] Forked 18848 -(18848) found -[19605] Forked 18849 -(18849) found -[19604] Forked 18850 -(18850) found -[19603] Forked 18851 -(18851) found -[19602] Forked 18852 -(18852) found -[19601] Forked 18853 -(18853) found -[19600] Forked 18854 -(18854) found -[19599] Forked 18855 -(18855) found -[19598] Forked 18856 -(18856) found -[19597] Forked 18857 -(18857) found -[19596] Forked 18858 -(18858) found -[19595] Forked 18859 -(18859) found -[19594] Forked 18860 -(18860) found -[19593] Forked 18861 -(18861) found -[19592] Forked 18862 -(18862) found -[19591] Forked 18863 -(18863) found -[19590] Forked 18864 -(18864) found -[19589] Forked 18865 -(18865) found -[19588] Forked 18866 -(18866) found -[19587] Forked 18867 -(18867) found -[19586] Forked 18868 -(18868) found -[19585] Forked 18869 -(18869) found -[19584] Forked 18870 -(18870) found -[19583] Forked 18871 -(18871) found -[19582] Forked 18872 -(18872) found -[19581] Forked 18873 -(18873) found -[19580] Forked 18874 -(18874) found -[19579] Forked 18875 -(18875) found -[19578] Forked 18876 -(18876) found -[19577] Forked 18877 -(18877) found -[19576] Forked 18878 -[19575] Forked 18879 -(18878) found -(18879) found -[19574] Forked 18880 -[19573] Forked 18881 -(18880) found -(18881) found -[19572] Forked 18882 -[19571] Forked 18883 -(18882) found -(18883) found -[19570] Forked 18884 -[19569] Forked 18885 -(18884) found -(18885) found -[19568] Forked 18886 -[19567] Forked 18887 -(18886) found -(18887) found -[19566] Forked 18888 -[19565] Forked 18889 -(18888) found -(18889) found -[19564] Forked 18890 -[19563] Forked 18891 -(18890) found -(18891) found -[19562] Forked 18892 -[19561] Forked 18893 -(18892) found -(18893) found -[19560] Forked 18894 -[19559] Forked 18895 -(18894) found -(18895) found -[19558] Forked 18896 -[19557] Forked 18897 -(18896) found -(18897) found -[19556] Forked 18898 -[19555] Forked 18899 -(18898) found -(18899) found -[19554] Forked 18900 -[19553] Forked 18901 -(18900) found -(18901) found -[19552] Forked 18902 -[19551] Forked 18903 -(18902) found -(18903) found -[19550] Forked 18904 -[19549] Forked 18905 -(18904) found -(18905) found -[19548] Forked 18906 -[19547] Forked 18907 -(18906) found -(18907) found -[19546] Forked 18908 -[19545] Forked 18909 -(18908) found -(18909) found -[19544] Forked 18910 -[19543] Forked 18911 -(18910) found -(18911) found -[19542] Forked 18912 -(18912) found -[19541] Forked 18913 -(18913) found -[19540] Forked 18914 -(18914) found -[19539] Forked 18915 -(18915) found -[19538] Forked 18916 -(18916) found -[19537] Forked 18917 -(18917) found -[19536] Forked 18918 -(18918) found -[19535] Forked 18919 -(18919) found -[19534] Forked 18920 -(18920) found -[19533] Forked 18921 -(18921) found -[19532] Forked 18922 -(18922) found -[19531] Forked 18923 -(18923) found -[19530] Forked 18924 -(18924) found -[19529] Forked 18925 -(18925) found -[19528] Forked 18926 -(18926) found -[19527] Forked 18927 -(18927) found -[19526] Forked 18928 -(18928) found -[19525] Forked 18929 -(18929) found -[19524] Forked 18930 -(18930) found -[19523] Forked 18931 -(18931) found -[19522] Forked 18932 -(18932) found -[19521] Forked 18933 -(18933) found -[19520] Forked 18934 -(18934) found -[19519] Forked 18935 -(18935) found -[19518] Forked 18936 -(18936) found -[19517] Forked 18937 -(18937) found -[19516] Forked 18938 -(18938) found -[19515] Forked 18939 -(18939) found -[19514] Forked 18940 -(18940) found -[19513] Forked 18941 -(18941) found -[19512] Forked 18942 -(18942) found -[19511] Forked 18943 -(18943) found -[19510] Forked 18944 -(18944) found -[19509] Forked 18945 -(18945) found -[19508] Forked 18946 -(18946) found -[19507] Forked 18947 -(18947) found -[19506] Forked 18948 -(18948) found -[19505] Forked 18949 -[19504] Forked 18950 -(18949) found -(18950) found -[19503] Forked 18951 -[19502] Forked 18952 -(18951) found -(18952) found -[19501] Forked 18953 -[19500] Forked 18954 -(18953) found -(18954) found -[19499] Forked 18955 -[19498] Forked 18956 -(18955) found -(18956) found -[19497] Forked 18957 -[19496] Forked 18958 -(18957) found -(18958) found -[19495] Forked 18959 -[19494] Forked 18960 -(18959) found -(18960) found -[19493] Forked 18961 -[19492] Forked 18962 -(18961) found -(18962) found -[19491] Forked 18963 -[19490] Forked 18964 -(18963) found -(18964) found -[19489] Forked 18965 -[19488] Forked 18966 -(18965) found -(18966) found -[19487] Forked 18967 -[19486] Forked 18968 -(18967) found -(18968) found -[19485] Forked 18969 -[19484] Forked 18970 -(18969) found -(18970) found -[19483] Forked 18971 -[19482] Forked 18972 -(18971) found -(18972) found -[19481] Forked 18973 -[19480] Forked 18974 -(18973) found -(18974) found -[19479] Forked 18975 -[19478] Forked 18976 -(18975) found -(18976) found -[19477] Forked 18977 -[19476] Forked 18978 -(18977) found -(18978) found -[19475] Forked 18979 -[19474] Forked 18980 -(18979) found -(18980) found -[19473] Forked 18981 -[19472] Forked 18982 -(18981) found -(18982) found -[19471] Forked 18983 -[19470] Forked 18984 -(18983) found -(18984) found -[19469] Forked 18985 -[19468] Forked 18986 -(18985) found -(18986) found -[19467] Forked 18987 -[19466] Forked 18988 -(18987) found -(18988) found -[19465] Forked 18989 -[19464] Forked 18990 -(18989) found -(18990) found -[19463] Forked 18991 -[19462] Forked 18992 -(18991) found -(18992) found -[19461] Forked 18993 -[19460] Forked 18994 -(18993) found -(18994) found -[19459] Forked 18995 -[19458] Forked 18996 -(18995) found -(18996) found -[19457] Forked 18997 -(18997) found -[19456] Forked 18998 -(18998) found -[19455] Forked 18999 -(18999) found -[19454] Forked 19000 -(19000) found -[19453] Forked 19001 -(19001) found -[19452] Forked 19002 -(19002) found -[19451] Forked 19003 -(19003) found -[19450] Forked 19004 -(19004) found -[19449] Forked 19005 -(19005) found -[19448] Forked 19006 -(19006) found -[19447] Forked 19007 -(19007) found -[19446] Forked 19008 -(19008) found -[19445] Forked 19009 -(19009) found -[19444] Forked 19010 -(19010) found -[19443] Forked 19011 -(19011) found -[19442] Forked 19012 -(19012) found -[19441] Forked 19013 -(19013) found -[19440] Forked 19014 -(19014) found -[19439] Forked 19015 -(19015) found -[19438] Forked 19016 -(19016) found -[19437] Forked 19017 -(19017) found -[19436] Forked 19018 -(19018) found -[19435] Forked 19019 -(19019) found -[19434] Forked 19020 -(19020) found -[19433] Forked 19021 -(19021) found -[19432] Forked 19022 -(19022) found -[19431] Forked 19023 -(19023) found -[19430] Forked 19024 -(19024) found -[19429] Forked 19025 -(19025) found -[19428] Forked 19026 -[19427] Forked 19027 -(19026) found -(19027) found -[19426] Forked 19028 -[19425] Forked 19029 -(19028) found -(19029) found -[19424] Forked 19030 -[19423] Forked 19031 -(19030) found -(19031) found -[19422] Forked 19032 -[19421] Forked 19033 -(19032) found -(19033) found -[19420] Forked 19034 -[19419] Forked 19035 -(19034) found -(19035) found -[19418] Forked 19036 -[19417] Forked 19037 -(19036) found -(19037) found -[19416] Forked 19038 -[19415] Forked 19039 -(19038) found -(19039) found -[19414] Forked 19040 -[19413] Forked 19041 -(19040) found -(19041) found -[19412] Forked 19042 -[19411] Forked 19043 -(19042) found -(19043) found -[19410] Forked 19044 -[19409] Forked 19045 -(19044) found -(19045) found -[19408] Forked 19046 -[19407] Forked 19047 -(19046) found -(19047) found -[19406] Forked 19048 -[19405] Forked 19049 -(19048) found -(19049) found -[19404] Forked 19050 -[19403] Forked 19051 -(19050) found -(19051) found -[19402] Forked 19052 -[19401] Forked 19053 -(19052) found -(19053) found -[19400] Forked 19054 -[19399] Forked 19055 -(19054) found -(19055) found -[19398] Forked 19056 -[19397] Forked 19057 -(19056) found -(19057) found -[19396] Forked 19058 -[19395] Forked 19059 -(19058) found -(19059) found -[19394] Forked 19060 -[19393] Forked 19061 -(19060) found -(19061) found -[19392] Forked 19062 -[19391] Forked 19063 -(19062) found -(19063) found -[19390] Forked 19064 -(19064) found -[19389] Forked 19065 -[19388] Forked 19066 -(19065) found -(19066) found -[19387] Forked 19067 -[19386] Forked 19068 -(19067) found -(19068) found -[19385] Forked 19069 -[19384] Forked 19070 -(19069) found -(19070) found -[19383] Forked 19071 -(19071) found -[19382] Forked 19072 -(19072) found -[19381] Forked 19073 -(19073) found -[19380] Forked 19074 -(19074) found -[19379] Forked 19075 -(19075) found -[19378] Forked 19076 -(19076) found -[19377] Forked 19077 -(19077) found -[19376] Forked 19078 -(19078) found -[19375] Forked 19079 -(19079) found -[19374] Forked 19080 -(19080) found -[19373] Forked 19081 -(19081) found -[19372] Forked 19082 -(19082) found -[19371] Forked 19084 -(19084) found -[19370] Forked 19085 -(19085) found -[19369] Forked 19086 -(19086) found -[19368] Forked 19087 -(19087) found -[19367] Forked 19088 -(19088) found -[19366] Forked 19089 -(19089) found -[19365] Forked 19090 -(19090) found -[19364] Forked 19091 -(19091) found -[19363] Forked 19092 -(19092) found -[19362] Forked 19093 -(19093) found -[19361] Forked 19094 -(19094) found -[19360] Forked 19097 -(19097) found -[19359] Forked 19098 -(19098) found -[19358] Forked 19099 -(19099) found -[19357] Forked 19100 -(19100) found -[19356] Forked 19102 -(19102) found -[19355] Forked 19104 -(19104) found -[19354] Forked 19105 -(19105) found -[19353] Forked 19106 -(19106) found -[19352] Forked 19107 -(19107) found -[19351] Forked 19108 -(19108) found -[19350] Forked 19109 -(19109) found -[19349] Forked 19110 -(19110) found -[19348] Forked 19111 -(19111) found -[19347] Forked 19112 -(19112) found -[19346] Forked 19113 -[19345] Forked 19114 -(19113) found -(19114) found -[19344] Forked 19115 -[19343] Forked 19116 -(19115) found -(19116) found -[19342] Forked 19117 -[19341] Forked 19118 -(19117) found -(19118) found -[19340] Forked 19119 -[19339] Forked 19120 -(19119) found -(19120) found -[19338] Forked 19122 -[19337] Forked 19123 -(19122) found -(19123) found -[19336] Forked 19124 -[19335] Forked 19125 -(19124) found -(19125) found -[19334] Forked 19126 -[19333] Forked 19127 -(19126) found -(19127) found -[19332] Forked 19128 -[19331] Forked 19129 -(19128) found -(19129) found -[19330] Forked 19130 -[19329] Forked 19131 -(19130) found -(19131) found -[19328] Forked 19132 -[19327] Forked 19133 -(19132) found -(19133) found -[19326] Forked 19134 -[19325] Forked 19135 -(19134) found -(19135) found -[19324] Forked 19136 -[19323] Forked 19137 -(19136) found -(19137) found -[19322] Forked 19138 -[19321] Forked 19139 -(19138) found -(19139) found -[19320] Forked 19140 -[19319] Forked 19141 -(19140) found -(19141) found -[19318] Forked 19142 -[19317] Forked 19143 -(19142) found -(19143) found -[19316] Forked 19144 -[19315] Forked 19145 -(19144) found -(19145) found -[19314] Forked 19146 -[19313] Forked 19147 -(19146) found -(19147) found -[19312] Forked 19148 -[19311] Forked 19149 -(19148) found -(19149) found -[19310] Forked 19150 -[19309] Forked 19151 -(19150) found -(19151) found -[19308] Forked 19152 -[19307] Forked 19153 -(19152) found -(19153) found -[19306] Forked 19154 -[19305] Forked 19155 -(19154) found -(19155) found -[19304] Forked 19156 -[19303] Forked 19157 -(19156) found -(19157) found -[19302] Forked 19158 -[19301] Forked 19159 -(19158) found -(19159) found -[19300] Forked 19160 -[19299] Forked 19161 -(19160) found -(19161) found -[19298] Forked 19162 -[19297] Forked 19163 -(19162) found -(19163) found -[19296] Forked 19164 -[19295] Forked 19165 -(19164) found -(19165) found -[19294] Forked 19166 -[19293] Forked 19167 -(19166) found -(19167) found -[19292] Forked 19168 -[19291] Forked 19169 -(19168) found -(19169) found -[19290] Forked 19170 -[19289] Forked 19171 -(19170) found -(19171) found -[19288] Forked 19172 -[19287] Forked 19173 -(19172) found -(19173) found -[19286] Forked 19174 -[19285] Forked 19175 -(19174) found -(19175) found -[19284] Forked 19176 -[19283] Forked 19177 -(19176) found -(19177) found -[19282] Forked 19178 -[19281] Forked 19179 -(19178) found -(19179) found -[19280] Forked 19180 -[19279] Forked 19181 -(19180) found -(19181) found -[19278] Forked 19182 -[19277] Forked 19183 -(19182) found -(19183) found -[19276] Forked 19184 -[19275] Forked 19186 -(19184) found -(19186) found -[19274] Forked 19187 -(19187) found -[19273] Forked 19188 -[19272] Forked 19189 -(19188) found -(19189) found -[19271] Forked 19191 -[19270] Forked 19192 -(19191) found -(19192) found -[19269] Forked 19193 -[19268] Forked 19194 -(19193) found -(19194) found -[19267] Forked 19195 -[19266] Forked 19196 -(19195) found -(19196) found -[19265] Forked 19197 -[19264] Forked 19198 -(19197) found -(19198) found -[19263] Forked 19199 -[19262] Forked 19200 -(19199) found -(19200) found -[19261] Forked 19201 -[19260] Forked 19202 -(19201) found -(19202) found -[19259] Forked 19203 -[19258] Forked 19204 -(19203) found -(19204) found -[19257] Forked 19205 -[19256] Forked 19206 -(19205) found -(19206) found -[19255] Forked 19207 -[19254] Forked 19208 -(19207) found -(19208) found -[19253] Forked 19209 -[19252] Forked 19210 -(19209) found -(19210) found -[19251] Forked 19211 -[19250] Forked 19212 -(19211) found -(19212) found -[19249] Forked 19213 -[19248] Forked 19214 -(19213) found -(19214) found -[19247] Forked 19215 -[19246] Forked 19216 -(19215) found -(19216) found -[19245] Forked 19217 -[19244] Forked 19218 -(19217) found -(19218) found -[19243] Forked 19219 -[19242] Forked 19220 -(19219) found -(19220) found -[19241] Forked 19221 -[19240] Forked 19222 -(19221) found -(19222) found -[19239] Forked 19223 -[19238] Forked 19224 -(19223) found -(19224) found -[19237] Forked 19225 -[19236] Forked 19226 -(19225) found -(19226) found -[19235] Forked 19227 -[19234] Forked 19228 -(19227) found -(19228) found -[19233] Forked 19229 -[19232] Forked 19230 -(19229) found -(19230) found -[19231] Forked 19231 -[19230] Forked 19232 -(19231) found -(19232) found -[19229] Forked 19233 -[19228] Forked 19234 -(19233) found -(19234) found -[19227] Forked 19235 -[19226] Forked 19236 -(19235) found -(19236) found -[19225] Forked 19237 -[19224] Forked 19238 -(19237) found -(19238) found -[19223] Forked 19239 -[19222] Forked 19240 -(19239) found -(19240) found -[19221] Forked 19241 -[19220] Forked 19242 -(19241) found -(19242) found -[19219] Forked 19243 -[19218] Forked 19244 -(19243) found -(19244) found -[19217] Forked 19245 -[19216] Forked 19246 -(19245) found -(19246) found -[19215] Forked 19247 -[19214] Forked 19248 -(19247) found -(19248) found -[19213] Forked 19249 -[19212] Forked 19250 -(19249) found -(19250) found -[19211] Forked 19251 -(19251) found -[19210] Forked 19252 -(19252) found -[19209] Forked 19253 -(19253) found -[19208] Forked 19254 -(19254) found -[19207] Forked 19255 -(19255) found -[19206] Forked 19256 -(19256) found -[19205] Forked 19257 -(19257) found -[19204] Forked 19258 -(19258) found -[19203] Forked 19259 -(19259) found -[19202] Forked 19260 -(19260) found -[19201] Forked 19261 -(19261) found -[19200] Forked 19262 -(19262) found -[19199] Forked 19263 -(19263) found -[19198] Forked 19264 -(19264) found -[19197] Forked 19265 -(19265) found -[19196] Forked 19266 -(19266) found -[19195] Forked 19267 -(19267) found -[19194] Forked 19268 -(19268) found -[19193] Forked 19269 -(19269) found -[19192] Forked 19270 -(19270) found -[19191] Forked 19271 -(19271) found -[19190] Forked 19272 -(19272) found -[19189] Forked 19273 -(19273) found -[19188] Forked 19274 -(19274) found -[19187] Forked 19275 -(19275) found -[19186] Forked 19276 -(19276) found -[19185] Forked 19277 -(19277) found -[19184] Forked 19278 -(19278) found -[19183] Forked 19279 -(19279) found -[19182] Forked 19280 -(19280) found -[19181] Forked 19281 -(19281) found -[19180] Forked 19282 -(19282) found -[19179] Forked 19283 -(19283) found -[19178] Forked 19284 -(19284) found -[19177] Forked 19285 -(19285) found -[19176] Forked 19286 -(19286) found -[19175] Forked 19287 -(19287) found -[19174] Forked 19288 -[19173] Forked 19289 -(19288) found -(19289) found -[19172] Forked 19290 -(19290) found -[19171] Forked 19291 -(19291) found -[19170] Forked 19292 -(19292) found -[19169] Forked 19293 -(19293) found -[19168] Forked 19294 -(19294) found -[19167] Forked 19295 -(19295) found -[19166] Forked 19296 -(19296) found -[19165] Forked 19297 -(19297) found -[19164] Forked 19298 -(19298) found -[19163] Forked 19299 -(19299) found -[19162] Forked 19300 -(19300) found -[19161] Forked 19301 -(19301) found -[19160] Forked 19302 -(19302) found -[19159] Forked 19303 -(19303) found -[19158] Forked 19304 -(19304) found -[19157] Forked 19305 -(19305) found -[19156] Forked 19306 -(19306) found -[19155] Forked 19307 -(19307) found -[19154] Forked 19308 -(19308) found -[19153] Forked 19309 -(19309) found -[19152] Forked 19310 -(19310) found -[19151] Forked 19311 -(19311) found -[19150] Forked 19312 -(19312) found -[19149] Forked 19313 -(19313) found -[19148] Forked 19314 -(19314) found -[19147] Forked 19315 -(19315) found -[19146] Forked 19316 -(19316) found -[19145] Forked 19317 -(19317) found -[19144] Forked 19318 -(19318) found -[19143] Forked 19319 -(19319) found -[19142] Forked 19320 -[19141] Forked 19321 -(19321) found -(19320) found -[19140] Forked 19322 -(19322) found -[19139] Forked 19323 -(19323) found -[19138] Forked 19324 -(19324) found -[19137] Forked 19325 -(19325) found -[19136] Forked 19326 -(19326) found -[19135] Forked 19327 -(19327) found -[19134] Forked 19328 -(19328) found -[19133] Forked 19329 -(19329) found -[19132] Forked 19330 -(19330) found -[19131] Forked 19331 -(19331) found -[19130] Forked 19332 -(19332) found -[19129] Forked 19333 -(19333) found -[19128] Forked 19334 -(19334) found -[19127] Forked 19335 -(19335) found -[19126] Forked 19336 -(19336) found -[19125] Forked 19337 -(19337) found -[19124] Forked 19338 -(19338) found -[19123] Forked 19339 -(19339) found -[19122] Forked 19340 -(19340) found -[19121] Forked 19341 -(19341) found -[19120] Forked 19342 -(19342) found -[19119] Forked 19343 -(19343) found -[19118] Forked 19344 -(19344) found -[19117] Forked 19345 -(19345) found -[19116] Forked 19346 -(19346) found -[19115] Forked 19347 -(19347) found -[19114] Forked 19348 -(19348) found -[19113] Forked 19349 -(19349) found -[19112] Forked 19352 -(19352) found -[19111] Forked 19353 -(19353) found -[19110] Forked 19354 -(19354) found -[19109] Forked 19355 -(19355) found -[19108] Forked 19356 -(19356) found -[19107] Forked 19357 -(19357) found -[19106] Forked 19359 -(19359) found -[19105] Forked 19360 -(19360) found -[19104] Forked 19361 -(19361) found -[19103] Forked 19362 -(19362) found -[19102] Forked 19363 -(19363) found -[19101] Forked 19364 -(19364) found -[19100] Forked 19365 -(19365) found -[19099] Forked 19366 -(19366) found -[19098] Forked 19367 -(19367) found -[19097] Forked 19368 -(19368) found -[19096] Forked 19369 -(19369) found -[19095] Forked 19370 -(19370) found -[19094] Forked 19371 -(19371) found -[19093] Forked 19372 -(19372) found -[19092] Forked 19373 -(19373) found -[19091] Forked 19374 -(19374) found -[19090] Forked 19375 -(19375) found -[19089] Forked 19376 -(19376) found -[19088] Forked 19377 -(19377) found -[19087] Forked 19378 -(19378) found -[19086] Forked 19379 -(19379) found -[19085] Forked 19380 -(19380) found -[19084] Forked 19381 -(19381) found -[19083] Forked 19382 -(19382) found -[19082] Forked 19383 -(19383) found -[19081] Forked 19384 -(19384) found -[19080] Forked 19385 -(19385) found -[19079] Forked 19386 -(19386) found -[19078] Forked 19387 -(19387) found -[19077] Forked 19388 -(19388) found -[19076] Forked 19389 -(19389) found -[19075] Forked 19390 -(19390) found -[19074] Forked 19391 -(19391) found -[19073] Forked 19392 -(19392) found -[19072] Forked 19393 -(19393) found -[19071] Forked 19394 -(19394) found -[19070] Forked 19395 -(19395) found -[19069] Forked 19396 -(19396) found -[19068] Forked 19397 -[19067] Forked 19398 -(19397) found -(19398) found -[19066] Forked 19399 -[19065] Forked 19400 -(19399) found -(19400) found -[19064] Forked 19401 -[19063] Forked 19402 -(19401) found -(19402) found -[19062] Forked 19403 -[19061] Forked 19404 -(19403) found -(19404) found -[19060] Forked 19405 -[19059] Forked 19406 -(19405) found -(19406) found -[19058] Forked 19407 -[19057] Forked 19408 -(19407) found -(19408) found -[19056] Forked 19409 -[19055] Forked 19410 -(19409) found -(19410) found -[19054] Forked 19411 -[19053] Forked 19412 -(19411) found -(19412) found -[19052] Forked 19413 -[19051] Forked 19414 -(19413) found -(19414) found -[19050] Forked 19415 -[19049] Forked 19416 -(19415) found -(19416) found -[19048] Forked 19417 -[19047] Forked 19418 -(19417) found -(19418) found -[19046] Forked 19419 -[19045] Forked 19420 -(19419) found -(19420) found -[19044] Forked 19421 -[19043] Forked 19422 -(19421) found -(19422) found -[19042] Forked 19423 -[19041] Forked 19424 -(19423) found -(19424) found -[19040] Forked 19425 -[19039] Forked 19426 -(19425) found -(19426) found -[19038] Forked 19427 -[19037] Forked 19428 -(19427) found -(19428) found -[19036] Forked 19429 -(19429) found -[19035] Forked 19430 -(19430) found -[19034] Forked 19431 -(19431) found -[19033] Forked 19432 -(19432) found -[19032] Forked 19433 -(19433) found -[19031] Forked 19434 -(19434) found -[19030] Forked 19435 -(19435) found -[19029] Forked 19436 -(19436) found -[19028] Forked 19437 -(19437) found -[19027] Forked 19438 -(19438) found -[19026] Forked 19439 -(19439) found -[19025] Forked 19440 -(19440) found -[19024] Forked 19441 -(19441) found -[19023] Forked 19442 -(19442) found -[19022] Forked 19443 -(19443) found -[19021] Forked 19444 -(19444) found -[19020] Forked 19445 -(19445) found -[19019] Forked 19446 -(19446) found -[19018] Forked 19447 -(19447) found -[19017] Forked 19448 -(19448) found -[19016] Forked 19449 -(19449) found -[19015] Forked 19450 -(19450) found -[19014] Forked 19451 -(19451) found -[19013] Forked 19452 -(19452) found -[19012] Forked 19453 -(19453) found -[19011] Forked 19454 -(19454) found -[19010] Forked 19455 -[19009] Forked 19456 -(19455) found -(19456) found -[19008] Forked 19457 -[19007] Forked 19458 -(19457) found -(19458) found -[19006] Forked 19459 -[19005] Forked 19460 -(19459) found -(19460) found -[19004] Forked 19461 -[19003] Forked 19462 -(19461) found -(19462) found -[19002] Forked 19463 -[19001] Forked 19464 -(19463) found -(19464) found -[19000] Forked 19465 -[18999] Forked 19466 -(19465) found -(19466) found -[18998] Forked 19467 -[18997] Forked 19468 -(19467) found -(19468) found -[18996] Forked 19469 -[18995] Forked 19470 -(19469) found -(19470) found -[18994] Forked 19471 -[18993] Forked 19472 -(19471) found -(19472) found -[18992] Forked 19473 -[18991] Forked 19474 -(19473) found -(19474) found -[18990] Forked 19475 -[18989] Forked 19476 -(19475) found -(19476) found -[18988] Forked 19477 -[18987] Forked 19478 -(19477) found -(19478) found -[18986] Forked 19479 -[18985] Forked 19480 -(19479) found -(19480) found -[18984] Forked 19481 -[18983] Forked 19482 -(19481) found -(19482) found -[18982] Forked 19483 -[18981] Forked 19484 -(19483) found -(19484) found -[18980] Forked 19485 -[18979] Forked 19486 -(19485) found -(19486) found -[18978] Forked 19487 -[18977] Forked 19488 -(19487) found -(19488) found -[18976] Forked 19489 -[18975] Forked 19490 -(19489) found -(19490) found -[18974] Forked 19491 -[18973] Forked 19492 -(19491) found -(19492) found -[18972] Forked 19493 -[18971] Forked 19494 -(19493) found -(19494) found -[18970] Forked 19495 -(19495) found -[18969] Forked 19496 -[18968] Forked 19497 -(19496) found -(19497) found -[18967] Forked 19498 -[18966] Forked 19499 -(19498) found -(19499) found -[18965] Forked 19500 -(19500) found -[18964] Forked 19501 -[18963] Forked 19502 -(19501) found -(19502) found -[18962] Forked 19503 -[18961] Forked 19504 -(19503) found -(19504) found -[18960] Forked 19505 -[18959] Forked 19506 -(19505) found -(19506) found -[18958] Forked 19507 -[18957] Forked 19508 -(19507) found -(19508) found -[18956] Forked 19509 -[18955] Forked 19510 -(19509) found -(19510) found -[18954] Forked 19511 -[18953] Forked 19512 -(19511) found -(19512) found -[18952] Forked 19513 -[18951] Forked 19514 -(19513) found -(19514) found -[18950] Forked 19515 -[18949] Forked 19516 -(19515) found -(19516) found -[18948] Forked 19517 -[18947] Forked 19518 -(19517) found -(19518) found -[18946] Forked 19519 -[18945] Forked 19520 -(19519) found -(19520) found -[18944] Forked 19521 -[18943] Forked 19522 -(19521) found -(19522) found -[18942] Forked 19523 -[18941] Forked 19524 -(19523) found -(19524) found -[18940] Forked 19525 -[18939] Forked 19526 -(19525) found -(19526) found -[18938] Forked 19527 -[18937] Forked 19528 -(19527) found -(19528) found -[18936] Forked 19529 -[18935] Forked 19530 -(19529) found -(19530) found -[18934] Forked 19531 -[18933] Forked 19532 -(19531) found -(19532) found -[18932] Forked 19533 -[18931] Forked 19534 -(19533) found -(19534) found -[18930] Forked 19535 -[18929] Forked 19536 -(19535) found -(19536) found -[18928] Forked 19537 -[18927] Forked 19538 -(19537) found -(19538) found -[18926] Forked 19539 -[18925] Forked 19540 -(19539) found -(19540) found -[18924] Forked 19541 -[18923] Forked 19542 -(19541) found -(19542) found -[18922] Forked 19543 -[18921] Forked 19544 -(19543) found -(19544) found -[18920] Forked 19545 -[18919] Forked 19546 -(19545) found -(19546) found -[18918] Forked 19547 -[18917] Forked 19548 -(19547) found -(19548) found -[18916] Forked 19549 -[18915] Forked 19550 -(19549) found -(19550) found -[18914] Forked 19551 -[18913] Forked 19552 -(19551) found -(19552) found -[18912] Forked 19553 -[18911] Forked 19554 -(19553) found -(19554) found -[18910] Forked 19555 -[18909] Forked 19556 -(19555) found -(19556) found -[18908] Forked 19557 -[18907] Forked 19558 -(19557) found -(19558) found -[18906] Forked 19559 -[18905] Forked 19560 -(19559) found -(19560) found -[18904] Forked 19561 -[18903] Forked 19562 -(19561) found -(19562) found -[18902] Forked 19563 -[18901] Forked 19564 -(19563) found -(19564) found -[18900] Forked 19565 -[18899] Forked 19566 -(19565) found -(19566) found -[18898] Forked 19567 -[18897] Forked 19568 -(19567) found -(19568) found -[18896] Forked 19569 -[18895] Forked 19570 -(19569) found -(19570) found -[18894] Forked 19571 -[18893] Forked 19572 -(19571) found -(19572) found -[18892] Forked 19573 -[18891] Forked 19574 -(19573) found -(19574) found -[18890] Forked 19575 -[18889] Forked 19576 -(19575) found -(19576) found -[18888] Forked 19577 -[18887] Forked 19578 -(19577) found -(19578) found -[18886] Forked 19579 -[18885] Forked 19580 -(19579) found -(19580) found -[18884] Forked 19581 -[18883] Forked 19582 -(19581) found -(19582) found -[18882] Forked 19583 -[18881] Forked 19584 -(19583) found -(19584) found -[18880] Forked 19585 -[18879] Forked 19586 -(19585) found -(19586) found -[18878] Forked 19587 -[18877] Forked 19588 -(19587) found -(19588) found -[18876] Forked 19589 -[18875] Forked 19590 -(19589) found -(19590) found -[18874] Forked 19591 -[18873] Forked 19592 -(19591) found -(19592) found -[18872] Forked 19593 -[18871] Forked 19594 -(19593) found -(19594) found -[18870] Forked 19595 -[18869] Forked 19596 -(19595) found -(19596) found -[18868] Forked 19597 -[18867] Forked 19598 -(19597) found -(19598) found -[18866] Forked 19599 -[18865] Forked 19600 -(19599) found -(19600) found -[18864] Forked 19601 -[18863] Forked 19602 -(19601) found -(19602) found -[18862] Forked 19603 -[18861] Forked 19604 -(19603) found -(19604) found -[18860] Forked 19605 -[18859] Forked 19606 -(19605) found -(19606) found -[18858] Forked 19607 -[18857] Forked 19608 -(19607) found -(19608) found -[18856] Forked 19609 -[18855] Forked 19610 -(19609) found -(19610) found -[18854] Forked 19611 -[18853] Forked 19612 -(19611) found -(19612) found -[18852] Forked 19613 -[18851] Forked 19614 -(19613) found -(19614) found -[18850] Forked 19615 -[18849] Forked 19616 -(19615) found -(19616) found -[18848] Forked 19617 -[18847] Forked 19618 -(19617) found -(19618) found -[18846] Forked 19619 -[18845] Forked 19620 -(19619) found -(19620) found -[18844] Forked 19621 -[18843] Forked 19622 -(19621) found -(19622) found -[18842] Forked 19623 -[18841] Forked 19624 -(19623) found -(19624) found -[18840] Forked 19625 -[18839] Forked 19626 -(19625) found -(19626) found -[18838] Forked 19627 -[18837] Forked 19628 -(19627) found -(19628) found -[18836] Forked 19629 -[18835] Forked 19630 -(19629) found -(19630) found -[18834] Forked 19631 -[18833] Forked 19632 -(19631) found -(19632) found -[18832] Forked 19633 -[18831] Forked 19634 -(19633) found -(19634) found -[18830] Forked 19635 -[18829] Forked 19636 -(19635) found -(19636) found -[18828] Forked 19637 -[18827] Forked 19638 -(19637) found -(19638) found -[18826] Forked 19639 -[18825] Forked 19640 -(19639) found -(19640) found -[18824] Forked 19641 -[18823] Forked 19642 -(19641) found -(19642) found -[18822] Forked 19643 -[18821] Forked 19644 -(19643) found -(19644) found -[18820] Forked 19645 -[18819] Forked 19646 -(19645) found -(19646) found -[18818] Forked 19647 -[18817] Forked 19648 -(19647) found -(19648) found -[18816] Forked 19649 -[18815] Forked 19650 -(19649) found -(19650) found -[18814] Forked 19651 -[18813] Forked 19652 -(19651) found -(19652) found -[18812] Forked 19653 -[18811] Forked 19654 -(19653) found -(19654) found -[18810] Forked 19655 -[18809] Forked 19656 -(19655) found -(19656) found -[18808] Forked 19657 -[18807] Forked 19658 -(19657) found -(19658) found -[18806] Forked 19659 -[18805] Forked 19660 -(19659) found -(19660) found -[18804] Forked 19661 -[18803] Forked 19662 -(19661) found -(19662) found -[18802] Forked 19663 -[18801] Forked 19664 -(19663) found -(19664) found -[18800] Forked 19665 -[18799] Forked 19666 -(19665) found -(19666) found -[18798] Forked 19667 -[18797] Forked 19668 -(19667) found -(19668) found -[18796] Forked 19669 -[18795] Forked 19670 -(19669) found -(19670) found -[18794] Forked 19671 -[18793] Forked 19672 -(19671) found -(19672) found -[18792] Forked 19673 -[18791] Forked 19674 -(19673) found -(19674) found -[18790] Forked 19675 -[18789] Forked 19676 -(19675) found -(19676) found -[18788] Forked 19677 -[18787] Forked 19678 -(19677) found -(19678) found -[18786] Forked 19679 -[18785] Forked 19680 -(19679) found -(19680) found -[18784] Forked 19681 -(19681) found -[18783] Forked 19682 -(19682) found -[18782] Forked 19683 -(19683) found -[18781] Forked 19684 -(19684) found -[18780] Forked 19685 -(19685) found -[18779] Forked 19686 -(19686) found -[18778] Forked 19687 -(19687) found -[18777] Forked 19688 -(19688) found -[18776] Forked 19689 -(19689) found -[18775] Forked 19690 -(19690) found -[18774] Forked 19691 -(19691) found -[18773] Forked 19692 -(19692) found -[18772] Forked 19693 -(19693) found -[18771] Forked 19694 -(19694) found -[18770] Forked 19695 -(19695) found -[18769] Forked 19696 -(19696) found -[18768] Forked 19697 -(19697) found -[18767] Forked 19698 -(19698) found -[18766] Forked 19699 -(19699) found -[18765] Forked 19700 -(19700) found -[18764] Forked 19701 -(19701) found -[18763] Forked 19702 -(19702) found -[18762] Forked 19703 -(19703) found -[18761] Forked 19704 -(19704) found -[18760] Forked 19705 -(19705) found -[18759] Forked 19706 -(19706) found -[18758] Forked 19707 -(19707) found -[18757] Forked 19708 -(19708) found -[18756] Forked 19709 -(19709) found -[18755] Forked 19710 -(19710) found -[18754] Forked 19711 -(19711) found -[18753] Forked 19712 -(19712) found -[18752] Forked 19713 -(19713) found -[18751] Forked 19714 -(19714) found -[18750] Forked 19715 -(19715) found -[18749] Forked 19716 -(19716) found -[18748] Forked 19717 -[18747] Forked 19718 -(19717) found -(19718) found -[18746] Forked 19719 -[18745] Forked 19720 -(19719) found -(19720) found -[18744] Forked 19721 -[18743] Forked 19722 -(19721) found -(19722) found -[18742] Forked 19723 -[18741] Forked 19724 -(19723) found -(19724) found -[18740] Forked 19725 -[18739] Forked 19726 -(19725) found -(19726) found -[18738] Forked 19727 -[18737] Forked 19728 -(19727) found -(19728) found -[18736] Forked 19729 -[18735] Forked 19730 -(19729) found -(19730) found -[18734] Forked 19731 -[18733] Forked 19732 -(19731) found -(19732) found -[18732] Forked 19733 -[18731] Forked 19734 -(19733) found -(19734) found -[18730] Forked 19735 -[18729] Forked 19736 -(19735) found -(19736) found -[18728] Forked 19737 -[18727] Forked 19738 -(19737) found -(19738) found -[18726] Forked 19739 -[18725] Forked 19740 -(19739) found -(19740) found -[18724] Forked 19741 -[18723] Forked 19742 -(19741) found -(19742) found -[18722] Forked 19743 -[18721] Forked 19744 -(19743) found -(19744) found -[18720] Forked 19745 -[18719] Forked 19746 -(19745) found -(19746) found -[18718] Forked 19747 -[18717] Forked 19748 -(19747) found -(19748) found -[18716] Forked 19749 -[18715] Forked 19750 -(19749) found -(19750) found -[18714] Forked 19751 -[18713] Forked 19752 -(19751) found -(19752) found -[18712] Forked 19753 -[18711] Forked 19755 -(19753) found -(19755) found -[18710] Forked 19756 -(19756) found -[18709] Forked 19757 -(19757) found -[18708] Forked 19758 -(19758) found -[18707] Forked 19759 -(19759) found -[18706] Forked 19760 -(19760) found -[18705] Forked 19761 -(19761) found -[18704] Forked 19762 -(19762) found -[18703] Forked 19763 -(19763) found -[18702] Forked 19764 -(19764) found -[18701] Forked 19765 -(19765) found -[18700] Forked 19766 -(19766) found -[18699] Forked 19767 -(19767) found -[18698] Forked 19768 -(19768) found -[18697] Forked 19769 -(19769) found -[18696] Forked 19770 -(19770) found -[18695] Forked 19771 -(19771) found -[18694] Forked 19772 -(19772) found -[18693] Forked 19773 -(19773) found -[18692] Forked 19774 -(19774) found -[18691] Forked 19775 -(19775) found -[18690] Forked 19776 -(19776) found -[18689] Forked 19777 -(19777) found -[18688] Forked 19778 -(19778) found -[18687] Forked 19779 -(19779) found -[18686] Forked 19780 -(19780) found -[18685] Forked 19781 -(19781) found -[18684] Forked 19782 -(19782) found -[18683] Forked 19783 -(19783) found -[18682] Forked 19784 -(19784) found -[18681] Forked 19785 -(19785) found -[18680] Forked 19786 -(19786) found -[18679] Forked 19787 -(19787) found -[18678] Forked 19788 -(19788) found -[18677] Forked 19789 -(19789) found -[18676] Forked 19790 -(19790) found -[18675] Forked 19791 -(19791) found -[18674] Forked 19792 -(19792) found -[18673] Forked 19793 -(19793) found -[18672] Forked 19794 -(19794) found -[18671] Forked 19795 -(19795) found -[18670] Forked 19796 -(19796) found -[18669] Forked 19797 -[18668] Forked 19798 -(19797) found -(19798) found -[18667] Forked 19799 -[18666] Forked 19800 -(19799) found -(19800) found -[18665] Forked 19801 -[18664] Forked 19802 -(19801) found -(19802) found -[18663] Forked 19803 -[18662] Forked 19804 -(19803) found -(19804) found -[18661] Forked 19805 -[18660] Forked 19806 -(19805) found -(19806) found -[18659] Forked 19807 -[18658] Forked 19808 -(19807) found -(19808) found -[18657] Forked 19809 -[18656] Forked 19810 -(19809) found -(19810) found -[18655] Forked 19811 -[18654] Forked 19812 -(19811) found -(19812) found -[18653] Forked 19813 -[18652] Forked 19814 -(19813) found -(19814) found -[18651] Forked 19815 -[18650] Forked 19816 -(19815) found -(19816) found -[18649] Forked 19817 -[18648] Forked 19818 -(19817) found -(19818) found -[18647] Forked 19819 -[18646] Forked 19820 -(19819) found -(19820) found -[18645] Forked 19821 -[18644] Forked 19822 -(19821) found -(19822) found -[18643] Forked 19823 -[18642] Forked 19824 -(19823) found -(19824) found -[18641] Forked 19825 -[18640] Forked 19826 -(19825) found -(19826) found -[18639] Forked 19827 -[18638] Forked 19828 -(19827) found -(19828) found -[18637] Forked 19829 -[18636] Forked 19830 -(19829) found -(19830) found -[18635] Forked 19831 -[18634] Forked 19832 -(19831) found -(19832) found -[18633] Forked 19833 -[18632] Forked 19834 -(19833) found -(19834) found -[18631] Forked 19835 -[18630] Forked 19836 -(19835) found -(19836) found -[18629] Forked 19837 -[18628] Forked 19838 -(19837) found -(19838) found -[18627] Forked 19839 -[18626] Forked 19840 -(19839) found -(19840) found -[18625] Forked 19841 -[18624] Forked 19842 -(19841) found -(19842) found -[18623] Forked 19843 -[18622] Forked 19844 -(19843) found -(19844) found -[18621] Forked 19845 -(19845) found -[18620] Forked 19846 -(19846) found -[18619] Forked 19847 -(19847) found -[18618] Forked 19848 -(19848) found -[18617] Forked 19849 -(19849) found -[18616] Forked 19850 -(19850) found -[18615] Forked 19851 -(19851) found -[18614] Forked 19852 -(19852) found -[18613] Forked 19853 -(19853) found -[18612] Forked 19854 -(19854) found -[18611] Forked 19855 -(19855) found -[18610] Forked 19856 -(19856) found -[18609] Forked 19857 -(19857) found -[18608] Forked 19858 -(19858) found -[18607] Forked 19859 -(19859) found -[18606] Forked 19860 -(19860) found -[18605] Forked 19861 -(19861) found -[18604] Forked 19862 -(19862) found -[18603] Forked 19863 -(19863) found -[18602] Forked 19864 -(19864) found -[18601] Forked 19865 -(19865) found -[18600] Forked 19866 -(19866) found -[18599] Forked 19867 -(19867) found -[18598] Forked 19868 -(19868) found -[18597] Forked 19869 -(19869) found -[18596] Forked 19870 -(19870) found -[18595] Forked 19871 -(19871) found -[18594] Forked 19872 -(19872) found -[18593] Forked 19873 -(19873) found -[18592] Forked 19874 -(19874) found -[18591] Forked 19875 -(19875) found -[18590] Forked 19876 -(19876) found -[18589] Forked 19877 -(19877) found -[18588] Forked 19878 -(19878) found -[18587] Forked 19879 -[18586] Forked 19880 -(19879) found -(19880) found -[18585] Forked 19881 -[18584] Forked 19882 -(19881) found -(19882) found -[18583] Forked 19883 -[18582] Forked 19884 -(19883) found -(19884) found -[18581] Forked 19885 -[18580] Forked 19886 -(19885) found -(19886) found -[18579] Forked 19887 -[18578] Forked 19888 -(19887) found -(19888) found -[18577] Forked 19889 -[18576] Forked 19890 -(19889) found -(19890) found -[18575] Forked 19891 -[18574] Forked 19892 -(19891) found -(19892) found -[18573] Forked 19893 -[18572] Forked 19894 -(19893) found -(19894) found -[18571] Forked 19895 -[18570] Forked 19896 -(19895) found -(19896) found -[18569] Forked 19897 -[18568] Forked 19898 -(19897) found -(19898) found -[18567] Forked 19899 -[18566] Forked 19900 -(19899) found -(19900) found -[18565] Forked 19901 -[18564] Forked 19902 -(19901) found -(19902) found -[18563] Forked 19903 -[18562] Forked 19904 -(19903) found -(19904) found -[18561] Forked 19905 -[18560] Forked 19906 -(19905) found -(19906) found -[18559] Forked 19907 -[18558] Forked 19908 -(19907) found -(19908) found -[18557] Forked 19909 -[18556] Forked 19910 -(19909) found -(19910) found -[18555] Forked 19911 -[18554] Forked 19912 -(19911) found -(19912) found -[18553] Forked 19913 -[18552] Forked 19914 -(19913) found -(19914) found -[18551] Forked 19915 -[18550] Forked 19916 -(19915) found -(19916) found -[18549] Forked 19917 -[18548] Forked 19918 -(19917) found -(19918) found -[18547] Forked 19919 -[18546] Forked 19920 -(19919) found -(19920) found -[18545] Forked 19921 -[18544] Forked 19922 -(19921) found -(19922) found -[18543] Forked 19923 -[18542] Forked 19924 -(19923) found -(19924) found -[18541] Forked 19925 -[18540] Forked 19926 -(19925) found -(19926) found -[18539] Forked 19927 -[18538] Forked 19928 -(19927) found -(19928) found -[18537] Forked 19929 -[18536] Forked 19930 -(19929) found -(19930) found -[18535] Forked 19931 -[18534] Forked 19932 -(19931) found -(19932) found -[18533] Forked 19933 -[18532] Forked 19934 -(19933) found -(19934) found -[18531] Forked 19935 -[18530] Forked 19936 -(19935) found -(19936) found -[18529] Forked 19937 -[18528] Forked 19938 -(19937) found -(19938) found -[18527] Forked 19939 -[18526] Forked 19940 -(19939) found -(19940) found -[18525] Forked 19941 -[18524] Forked 19942 -(19941) found -(19942) found -[18523] Forked 19943 -[18522] Forked 19944 -(19943) found -(19944) found -[18521] Forked 19945 -[18520] Forked 19946 -(19945) found -(19946) found -[18519] Forked 19947 -[18518] Forked 19948 -(19947) found -(19948) found -[18517] Forked 19949 -[18516] Forked 19950 -(19949) found -(19950) found -[18515] Forked 19951 -[18514] Forked 19952 -(19951) found -(19952) found -[18513] Forked 19953 -[18512] Forked 19954 -(19953) found -(19954) found -[18511] Forked 19955 -[18510] Forked 19956 -(19955) found -(19956) found -[18509] Forked 19957 -[18508] Forked 19958 -(19957) found -(19958) found -[18507] Forked 19959 -[18506] Forked 19960 -(19959) found -(19960) found -[18505] Forked 19961 -[18504] Forked 19962 -(19961) found -(19962) found -[18503] Forked 19963 -[18502] Forked 19964 -(19963) found -(19964) found -[18501] Forked 19965 -[18500] Forked 19966 -(19965) found -(19966) found -[18499] Forked 19967 -[18498] Forked 19968 -(19967) found -(19968) found -[18497] Forked 19969 -[18496] Forked 19970 -(19969) found -(19970) found -[18495] Forked 19971 -(19971) found -[18494] Forked 19972 -(19972) found -[18493] Forked 19973 -(19973) found -[18492] Forked 19974 -(19974) found -[18491] Forked 19975 -(19975) found -[18490] Forked 19976 -(19976) found -[18489] Forked 19977 -(19977) found -[18488] Forked 19978 -(19978) found -[18487] Forked 19979 -(19979) found -[18486] Forked 19980 -(19980) found -[18485] Forked 19981 -(19981) found -[18484] Forked 19982 -(19982) found -[18483] Forked 19983 -(19983) found -[18482] Forked 19984 -(19984) found -[18481] Forked 19985 -(19985) found -[18480] Forked 19986 -(19986) found -[18479] Forked 19987 -(19987) found -[18478] Forked 19988 -(19988) found -[18477] Forked 19989 -(19989) found -[18476] Forked 19990 -(19990) found -[18475] Forked 19991 -(19991) found -[18474] Forked 19992 -(19992) found -[18473] Forked 19993 -(19993) found -[18472] Forked 19994 -(19994) found -[18471] Forked 19995 -(19995) found -[18470] Forked 19996 -(19996) found -[18469] Forked 19997 -(19997) found -[18468] Forked 19998 -(19998) found -[18467] Forked 19999 -(19999) found -[18466] Forked 20000 -(20000) found -[18465] Forked 20001 -(20001) found -[18464] Forked 20002 -(20002) found -[18463] Forked 20003 -(20003) found -[18462] Forked 20004 -(20004) found -[18461] Forked 20005 -(20005) found -[18460] Forked 20006 -(20006) found -[18459] Forked 20007 -(20007) found -[18458] Forked 20008 -[18457] Forked 20009 -(20008) found -(20009) found -[18456] Forked 20010 -[18455] Forked 20011 -(20010) found -(20011) found -[18454] Forked 20012 -[18453] Forked 20014 -(20012) found -(20014) found -[18452] Forked 20015 -(20015) found -[18451] Forked 20016 -(20016) found -[18450] Forked 20017 -(20017) found -[18449] Forked 20018 -(20018) found -[18448] Forked 20019 -(20019) found -[18447] Forked 20020 -(20020) found -[18446] Forked 20021 -(20021) found -[18445] Forked 20022 -(20022) found -[18444] Forked 20023 -(20023) found -[18443] Forked 20024 -(20024) found -[18442] Forked 20025 -(20025) found -[18441] Forked 20026 -(20026) found -[18440] Forked 20027 -(20027) found -[18439] Forked 20028 -(20028) found -[18438] Forked 20029 -(20029) found -[18437] Forked 20030 -(20030) found -[18436] Forked 20031 -(20031) found -[18435] Forked 20032 -(20032) found -[18434] Forked 20033 -(20033) found -[18433] Forked 20034 -(20034) found -[18432] Forked 20035 -(20035) found -[18431] Forked 20036 -(20036) found -[18430] Forked 20037 -(20037) found -[18429] Forked 20038 -(20038) found -[18428] Forked 20039 -(20039) found -[18427] Forked 20040 -(20040) found -[18426] Forked 20041 -(20041) found -[18425] Forked 20042 -(20042) found -[18424] Forked 20043 -(20043) found -[18423] Forked 20044 -(20044) found -[18422] Forked 20045 -(20045) found -[18421] Forked 20046 -(20046) found -[18420] Forked 20047 -(20047) found -[18419] Forked 20048 -(20048) found -[18418] Forked 20049 -(20049) found -[18417] Forked 20050 -(20050) found -[18416] Forked 20051 -(20051) found -[18415] Forked 20052 -(20052) found -[18414] Forked 20053 -(20053) found -[18413] Forked 20054 -(20054) found -[18412] Forked 20055 -(20055) found -[18411] Forked 20056 -(20056) found -[18410] Forked 20057 -(20057) found -[18409] Forked 20058 -(20058) found -[18408] Forked 20059 -(20059) found -[18407] Forked 20060 -(20060) found -[18406] Forked 20061 -(20061) found -[18405] Forked 20062 -(20062) found -[18404] Forked 20063 -(20063) found -[18403] Forked 20064 -(20064) found -[18402] Forked 20065 -(20065) found -[18401] Forked 20066 -(20066) found -[18400] Forked 20067 -(20067) found -[18399] Forked 20068 -(20068) found -[18398] Forked 20069 -(20069) found -[18397] Forked 20070 -(20070) found -[18396] Forked 20071 -(20071) found -[18395] Forked 20072 -(20072) found -[18394] Forked 20073 -(20073) found -[18393] Forked 20074 -(20074) found -[18392] Forked 20075 -(20075) found -[18391] Forked 20076 -(20076) found -[18390] Forked 20077 -(20077) found -[18389] Forked 20078 -(20078) found -[18388] Forked 20079 -(20079) found -[18387] Forked 20080 -(20080) found -[18386] Forked 20081 -[18385] Forked 20082 -(20081) found -(20082) found -[18384] Forked 20083 -[18383] Forked 20084 -(20083) found -(20084) found -[18382] Forked 20085 -[18381] Forked 20086 -(20085) found -(20086) found -[18380] Forked 20087 -(20087) found -[18379] Forked 20088 -(20088) found -[18378] Forked 20089 -(20089) found -[18377] Forked 20090 -(20090) found -[18376] Forked 20091 -(20091) found -[18375] Forked 20092 -(20092) found -[18374] Forked 20093 -(20093) found -[18373] Forked 20094 -(20094) found -[18372] Forked 20095 -(20095) found -[18371] Forked 20096 -(20096) found -[18370] Forked 20097 -(20097) found -[18369] Forked 20098 -(20098) found -[18368] Forked 20099 -(20099) found -[18367] Forked 20100 -(20100) found -[18366] Forked 20101 -(20101) found -[18365] Forked 20102 -(20102) found -[18364] Forked 20103 -(20103) found -[18363] Forked 20104 -(20104) found -[18362] Forked 20105 -(20105) found -[18361] Forked 20106 -(20106) found -[18360] Forked 20107 -(20107) found -[18359] Forked 20108 -(20108) found -[18358] Forked 20109 -(20109) found -[18357] Forked 20110 -(20110) found -[18356] Forked 20111 -(20111) found -[18355] Forked 20112 -(20112) found -[18354] Forked 20113 -(20113) found -[18353] Forked 20114 -(20114) found -[18352] Forked 20115 -(20115) found -[18351] Forked 20116 -(20116) found -[18350] Forked 20117 -(20117) found -[18349] Forked 20118 -(20118) found -[18348] Forked 20119 -(20119) found -[18347] Forked 20120 -(20120) found -[18346] Forked 20121 -(20121) found -[18345] Forked 20122 -(20122) found -[18344] Forked 20123 -(20123) found -[18343] Forked 20124 -(20124) found -[18342] Forked 20125 -(20125) found -[18341] Forked 20126 -(20126) found -[18340] Forked 20127 -(20127) found -[18339] Forked 20128 -(20128) found -[18338] Forked 20129 -(20129) found -[18337] Forked 20130 -(20130) found -[18336] Forked 20131 -(20131) found -[18335] Forked 20132 -(20132) found -[18334] Forked 20133 -(20133) found -[18333] Forked 20134 -(20134) found -[18332] Forked 20135 -(20135) found -[18331] Forked 20136 -(20136) found -[18330] Forked 20137 -(20137) found -[18329] Forked 20138 -(20138) found -[18328] Forked 20139 -(20139) found -[18327] Forked 20140 -(20140) found -[18326] Forked 20141 -(20141) found -[18325] Forked 20142 -(20142) found -[18324] Forked 20143 -(20143) found -[18323] Forked 20144 -(20144) found -[18322] Forked 20145 -(20145) found -[18321] Forked 20146 -(20146) found -[18320] Forked 20147 -(20147) found -[18319] Forked 20148 -(20148) found -[18318] Forked 20149 -(20149) found -[18317] Forked 20150 -(20150) found -[18316] Forked 20151 -(20151) found -[18315] Forked 20152 -(20152) found -[18314] Forked 20153 -(20153) found -[18313] Forked 20154 -(20154) found -[18312] Forked 20155 -(20155) found -[18311] Forked 20156 -(20156) found -[18310] Forked 20157 -(20157) found -[18309] Forked 20158 -(20158) found -[18308] Forked 20159 -(20159) found -[18307] Forked 20160 -(20160) found -[18306] Forked 20161 -(20161) found -[18305] Forked 20162 -(20162) found -[18304] Forked 20163 -(20163) found -[18303] Forked 20164 -(20164) found -[18302] Forked 20165 -(20165) found -[18301] Forked 20166 -(20166) found -[18300] Forked 20167 -(20167) found -[18299] Forked 20168 -(20168) found -[18298] Forked 20169 -(20169) found -[18297] Forked 20170 -(20170) found -[18296] Forked 20171 -(20171) found -[18295] Forked 20172 -(20172) found -[18294] Forked 20173 -(20173) found -[18293] Forked 20174 -(20174) found -[18292] Forked 20175 -(20175) found -[18291] Forked 20176 -(20176) found -[18290] Forked 20177 -(20177) found -[18289] Forked 20178 -(20178) found -[18288] Forked 20179 -(20179) found -[18287] Forked 20180 -(20180) found -[18286] Forked 20181 -(20181) found -[18285] Forked 20182 -(20182) found -[18284] Forked 20183 -(20183) found -[18283] Forked 20184 -(20184) found -[18282] Forked 20185 -(20185) found -[18281] Forked 20186 -(20186) found -[18280] Forked 20187 -(20187) found -[18279] Forked 20188 -(20188) found -[18278] Forked 20189 -[18277] Forked 20190 -(20189) found -(20190) found -[18276] Forked 20191 -[18275] Forked 20192 -(20191) found -(20192) found -[18274] Forked 20193 -[18273] Forked 20194 -(20193) found -(20194) found -[18272] Forked 20195 -[18271] Forked 20196 -(20195) found -(20196) found -[18270] Forked 20197 -[18269] Forked 20198 -(20197) found -(20198) found -[18268] Forked 20199 -[18267] Forked 20200 -(20199) found -(20200) found -[18266] Forked 20201 -[18265] Forked 20202 -(20201) found -(20202) found -[18264] Forked 20203 -[18263] Forked 20204 -(20203) found -(20204) found -[18262] Forked 20205 -[18261] Forked 20206 -(20205) found -(20206) found -[18260] Forked 20207 -[18259] Forked 20208 -(20207) found -(20208) found -[18258] Forked 20209 -[18257] Forked 20210 -(20209) found -(20210) found -[18256] Forked 20211 -[18255] Forked 20212 -(20211) found -(20212) found -[18254] Forked 20213 -[18253] Forked 20214 -(20213) found -(20214) found -[18252] Forked 20215 -[18251] Forked 20216 -(20215) found -(20216) found -[18250] Forked 20217 -[18249] Forked 20218 -(20217) found -(20218) found -[18248] Forked 20219 -[18247] Forked 20220 -(20219) found -(20220) found -[18246] Forked 20221 -[18245] Forked 20222 -(20221) found -(20222) found -[18244] Forked 20223 -[18243] Forked 20225 -(20223) found -(20225) found -[18242] Forked 20226 -(20226) found -[18241] Forked 20227 -(20227) found -[18240] Forked 20228 -(20228) found -[18239] Forked 20229 -(20229) found -[18238] Forked 20230 -(20230) found -[18237] Forked 20231 -(20231) found -[18236] Forked 20232 -(20232) found -[18235] Forked 20233 -(20233) found -[18234] Forked 20234 -(20234) found -[18233] Forked 20235 -(20235) found -[18232] Forked 20236 -(20236) found -[18231] Forked 20237 -(20237) found -[18230] Forked 20238 -(20238) found -[18229] Forked 20239 -(20239) found -[18228] Forked 20240 -(20240) found -[18227] Forked 20241 -(20241) found -[18226] Forked 20242 -(20242) found -[18225] Forked 20243 -(20243) found -[18224] Forked 20244 -(20244) found -[18223] Forked 20245 -(20245) found -[18222] Forked 20246 -(20246) found -[18221] Forked 20247 -(20247) found -[18220] Forked 20248 -(20248) found -[18219] Forked 20249 -(20249) found -[18218] Forked 20250 -(20250) found -[18217] Forked 20251 -(20251) found -[18216] Forked 20252 -(20252) found -[18215] Forked 20253 -(20253) found -[18214] Forked 20254 -(20254) found -[18213] Forked 20255 -(20255) found -[18212] Forked 20256 -(20256) found -[18211] Forked 20257 -(20257) found -[18210] Forked 20258 -(20258) found -[18209] Forked 20259 -(20259) found -[18208] Forked 20260 -(20260) found -[18207] Forked 20261 -(20261) found -[18206] Forked 20262 -(20262) found -[18205] Forked 20263 -(20263) found -[18204] Forked 20264 -(20264) found -[18203] Forked 20265 -(20265) found -[18202] Forked 20266 -(20266) found -[18201] Forked 20267 -(20267) found -[18200] Forked 20268 -(20268) found -[18199] Forked 20269 -(20269) found -[18198] Forked 20270 -(20270) found -[18197] Forked 20271 -(20271) found -[18196] Forked 20272 -(20272) found -[18195] Forked 20273 -(20273) found -[18194] Forked 20274 -(20274) found -[18193] Forked 20275 -(20275) found -[18192] Forked 20276 -(20276) found -[18191] Forked 20277 -(20277) found -[18190] Forked 20278 -(20278) found -[18189] Forked 20279 -(20279) found -[18188] Forked 20280 -(20280) found -[18187] Forked 20281 -(20281) found -[18186] Forked 20282 -(20282) found -[18185] Forked 20283 -(20283) found -[18184] Forked 20284 -(20284) found -[18183] Forked 20285 -(20285) found -[18182] Forked 20286 -(20286) found -[18181] Forked 20287 -(20287) found -[18180] Forked 20288 -(20288) found -[18179] Forked 20289 -(20289) found -[18178] Forked 20290 -(20290) found -[18177] Forked 20291 -(20291) found -[18176] Forked 20292 -(20292) found -[18175] Forked 20293 -(20293) found -[18174] Forked 20294 -(20294) found -[18173] Forked 20295 -(20295) found -[18172] Forked 20296 -(20296) found -[18171] Forked 20297 -(20297) found -[18170] Forked 20298 -(20298) found -[18169] Forked 20299 -(20299) found -[18168] Forked 20300 -(20300) found -[18167] Forked 20301 -(20301) found -[18166] Forked 20302 -(20302) found -[18165] Forked 20303 -(20303) found -[18164] Forked 20304 -(20304) found -[18163] Forked 20305 -(20305) found -[18162] Forked 20306 -(20306) found -[18161] Forked 20307 -(20307) found -[18160] Forked 20308 -(20308) found -[18159] Forked 20309 -(20309) found -[18158] Forked 20310 -(20310) found -[18157] Forked 20311 -(20311) found -[18156] Forked 20312 -(20312) found -[18155] Forked 20313 -(20313) found -[18154] Forked 20314 -(20314) found -[18153] Forked 20315 -(20315) found -[18152] Forked 20316 -(20316) found -[18151] Forked 20317 -(20317) found -[18150] Forked 20318 -(20318) found -[18149] Forked 20319 -(20319) found -[18148] Forked 20320 -(20320) found -[18147] Forked 20321 -(20321) found -[18146] Forked 20322 -(20322) found -[18145] Forked 20323 -(20323) found -[18144] Forked 20324 -(20324) found -[18143] Forked 20325 -(20325) found -[18142] Forked 20326 -(20326) found -[18141] Forked 20327 -(20327) found -[18140] Forked 20328 -(20328) found -[18139] Forked 20329 -(20329) found -[18138] Forked 20330 -(20330) found -[18137] Forked 20331 -(20331) found -[18136] Forked 20332 -(20332) found -[18135] Forked 20333 -(20333) found -[18134] Forked 20334 -(20334) found -[18133] Forked 20335 -(20335) found -[18132] Forked 20336 -(20336) found -[18131] Forked 20337 -(20337) found -[18130] Forked 20338 -(20338) found -[18129] Forked 20339 -(20339) found -[18128] Forked 20340 -(20340) found -[18127] Forked 20341 -(20341) found -[18126] Forked 20342 -[18125] Forked 20343 -(20342) found -(20343) found -[18124] Forked 20344 -[18123] Forked 20345 -(20344) found -(20345) found -[18122] Forked 20346 -[18121] Forked 20347 -(20346) found -(20347) found -[18120] Forked 20348 -[18119] Forked 20349 -(20348) found -(20349) found -[18118] Forked 20350 -[18117] Forked 20351 -(20350) found -(20351) found -[18116] Forked 20352 -[18115] Forked 20353 -(20352) found -(20353) found -[18114] Forked 20354 -[18113] Forked 20355 -(20354) found -(20355) found -[18112] Forked 20356 -[18111] Forked 20357 -(20356) found -(20357) found -[18110] Forked 20358 -[18109] Forked 20359 -(20358) found -(20359) found -[18108] Forked 20360 -[18107] Forked 20361 -(20360) found -(20361) found -[18106] Forked 20362 -[18105] Forked 20363 -(20362) found -(20363) found -[18104] Forked 20364 -[18103] Forked 20365 -(20364) found -(20365) found -[18102] Forked 20366 -[18101] Forked 20367 -(20366) found -(20367) found -[18100] Forked 20368 -[18099] Forked 20369 -(20368) found -(20369) found -[18098] Forked 20370 -[18097] Forked 20371 -(20370) found -(20371) found -[18096] Forked 20372 -[18095] Forked 20373 -(20372) found -(20373) found -[18094] Forked 20374 -[18093] Forked 20375 -(20374) found -(20375) found -[18092] Forked 20376 -[18091] Forked 20377 -(20376) found -(20377) found -[18090] Forked 20378 -[18089] Forked 20379 -(20378) found -(20379) found -[18088] Forked 20380 -[18087] Forked 20381 -(20380) found -(20381) found -[18086] Forked 20382 -[18085] Forked 20383 -(20382) found -(20383) found -[18084] Forked 20384 -[18083] Forked 20385 -(20384) found -(20385) found -[18082] Forked 20386 -[18081] Forked 20387 -(20386) found -(20387) found -[18080] Forked 20388 -[18079] Forked 20389 -(20388) found -(20389) found -[18078] Forked 20390 -[18077] Forked 20391 -(20390) found -(20391) found -[18076] Forked 20392 -[18075] Forked 20393 -(20392) found -(20393) found -[18074] Forked 20394 -[18073] Forked 20395 -(20394) found -(20395) found -[18072] Forked 20396 -[18071] Forked 20397 -(20396) found -(20397) found -[18070] Forked 20398 -[18069] Forked 20399 -(20398) found -(20399) found -[18068] Forked 20400 -[18067] Forked 20401 -(20400) found -(20401) found -[18066] Forked 20402 -[18065] Forked 20403 -(20402) found -(20403) found -[18064] Forked 20404 -[18063] Forked 20405 -(20404) found -(20405) found -[18062] Forked 20406 -[18061] Forked 20407 -(20406) found -(20407) found -[18060] Forked 20408 -[18059] Forked 20409 -(20408) found -(20409) found -[18058] Forked 20410 -[18057] Forked 20411 -(20410) found -(20411) found -[18056] Forked 20412 -[18055] Forked 20413 -(20412) found -(20413) found -[18054] Forked 20414 -[18053] Forked 20415 -(20414) found -(20415) found -[18052] Forked 20416 -[18051] Forked 20417 -(20416) found -(20417) found -[18050] Forked 20418 -[18049] Forked 20419 -(20418) found -(20419) found -[18048] Forked 20420 -[18047] Forked 20421 -(20420) found -(20421) found -[18046] Forked 20422 -[18045] Forked 20423 -(20422) found -(20423) found -[18044] Forked 20424 -[18043] Forked 20425 -(20424) found -(20425) found -[18042] Forked 20426 -[18041] Forked 20427 -(20426) found -(20427) found -[18040] Forked 20428 -[18039] Forked 20429 -(20428) found -(20429) found -[18038] Forked 20430 -[18037] Forked 20431 -(20430) found -(20431) found -[18036] Forked 20432 -(20432) found -[18035] Forked 20433 -(20433) found -[18034] Forked 20434 -(20434) found -[18033] Forked 20435 -(20435) found -[18032] Forked 20436 -(20436) found -[18031] Forked 20437 -(20437) found -[18030] Forked 20438 -(20438) found -[18029] Forked 20439 -(20439) found -[18028] Forked 20440 -(20440) found -[18027] Forked 20441 -(20441) found -[18026] Forked 20442 -(20442) found -[18025] Forked 20443 -(20443) found -[18024] Forked 20444 -(20444) found -[18023] Forked 20445 -(20445) found -[18022] Forked 20446 -(20446) found -[18021] Forked 20447 -(20447) found -[18020] Forked 20448 -(20448) found -[18019] Forked 20449 -(20449) found -[18018] Forked 20450 -(20450) found -[18017] Forked 20451 -(20451) found -[18016] Forked 20452 -(20452) found -[18015] Forked 20453 -(20453) found -[18014] Forked 20454 -(20454) found -[18013] Forked 20455 -(20455) found -[18012] Forked 20456 -(20456) found -[18011] Forked 20457 -(20457) found -[18010] Forked 20458 -(20458) found -[18009] Forked 20459 -(20459) found -[18008] Forked 20460 -(20460) found -[18007] Forked 20461 -(20461) found -[18006] Forked 20462 -(20462) found -[18005] Forked 20463 -(20463) found -[18004] Forked 20464 -(20464) found -[18003] Forked 20465 -(20465) found -[18002] Forked 20466 -(20466) found -[18001] Forked 20467 -(20467) found -[18000] Forked 20468 -[17999] Forked 20469 -(20468) found -(20469) found -[17998] Forked 20470 -[17997] Forked 20471 -(20470) found -(20471) found -[17996] Forked 20472 -(20472) found -[17995] Forked 20473 -[17994] Forked 20474 -(20473) found -(20474) found -[17993] Forked 20475 -[17992] Forked 20476 -(20475) found -(20476) found -[17991] Forked 20477 -[17990] Forked 20478 -(20477) found -(20478) found -[17989] Forked 20479 -[17988] Forked 20480 -(20479) found -(20480) found -[17987] Forked 20481 -[17986] Forked 20482 -(20481) found -(20482) found -[17985] Forked 20483 -(20483) found -[17984] Forked 20484 -[17983] Forked 20485 -(20484) found -(20485) found -[17982] Forked 20486 -[17981] Forked 20487 -(20486) found -(20487) found -[17980] Forked 20488 -[17979] Forked 20489 -(20488) found -(20489) found -[17978] Forked 20490 -[17977] Forked 20491 -(20490) found -(20491) found -[17976] Forked 20492 -[17975] Forked 20493 -(20492) found -(20493) found -[17974] Forked 20494 -[17973] Forked 20495 -(20494) found -(20495) found -[17972] Forked 20496 -[17971] Forked 20497 -(20496) found -(20497) found -[17970] Forked 20498 -[17969] Forked 20499 -(20498) found -(20499) found -[17968] Forked 20500 -[17967] Forked 20501 -(20500) found -(20501) found -[17966] Forked 20502 -[17965] Forked 20503 -(20502) found -(20503) found -[17964] Forked 20504 -[17963] Forked 20505 -(20504) found -(20505) found -[17962] Forked 20506 -[17961] Forked 20507 -(20506) found -(20507) found -[17960] Forked 20508 -[17959] Forked 20509 -(20508) found -(20509) found -[17958] Forked 20510 -[17957] Forked 20511 -(20510) found -(20511) found -[17956] Forked 20512 -(20512) found -[17955] Forked 20513 -(20513) found -[17954] Forked 20514 -(20514) found -[17953] Forked 20515 -(20515) found -[17952] Forked 20516 -(20516) found -[17951] Forked 20517 -(20517) found -[17950] Forked 20518 -(20518) found -[17949] Forked 20519 -(20519) found -[17948] Forked 20520 -(20520) found -[17947] Forked 20521 -(20521) found -[17946] Forked 20522 -(20522) found -[17945] Forked 20523 -(20523) found -[17944] Forked 20524 -(20524) found -[17943] Forked 20525 -(20525) found -[17942] Forked 20526 -(20526) found -[17941] Forked 20527 -(20527) found -[17940] Forked 20528 -(20528) found -[17939] Forked 20529 -(20529) found -[17938] Forked 20530 -(20530) found -[17937] Forked 20531 -(20531) found -[17936] Forked 20532 -(20532) found -[17935] Forked 20533 -(20533) found -[17934] Forked 20534 -(20534) found -[17933] Forked 20535 -(20535) found -[17932] Forked 20536 -(20536) found -[17931] Forked 20537 -(20537) found -[17930] Forked 20538 -(20538) found -[17929] Forked 20539 -(20539) found -[17928] Forked 20540 -(20540) found -[17927] Forked 20541 -(20541) found -[17926] Forked 20542 -(20542) found -[17925] Forked 20543 -(20543) found -[17924] Forked 20544 -(20544) found -[17923] Forked 20545 -(20545) found -[17922] Forked 20546 -(20546) found -[17921] Forked 20547 -(20547) found -[17920] Forked 20548 -[17919] Forked 20549 -(20548) found -(20549) found -[17918] Forked 20550 -[17917] Forked 20551 -(20550) found -(20551) found -[17916] Forked 20552 -[17915] Forked 20553 -(20552) found -(20553) found -[17914] Forked 20554 -[17913] Forked 20555 -(20554) found -(20555) found -[17912] Forked 20556 -[17911] Forked 20557 -(20556) found -(20557) found -[17910] Forked 20558 -[17909] Forked 20559 -(20558) found -(20559) found -[17908] Forked 20560 -[17907] Forked 20561 -(20560) found -(20561) found -[17906] Forked 20562 -[17905] Forked 20563 -(20562) found -(20563) found -[17904] Forked 20564 -[17903] Forked 20565 -(20564) found -(20565) found -[17902] Forked 20566 -[17901] Forked 20567 -(20566) found -(20567) found -[17900] Forked 20568 -[17899] Forked 20569 -(20568) found -(20569) found -[17898] Forked 20570 -[17897] Forked 20571 -(20570) found -(20571) found -[17896] Forked 20572 -[17895] Forked 20573 -(20572) found -(20573) found -[17894] Forked 20574 -[17893] Forked 20575 -(20574) found -(20575) found -[17892] Forked 20576 -[17891] Forked 20577 -(20576) found -(20577) found -[17890] Forked 20578 -[17889] Forked 20579 -(20578) found -(20579) found -[17888] Forked 20580 -(20580) found -[17887] Forked 20581 -(20581) found -[17886] Forked 20582 -[17885] Forked 20583 -(20582) found -(20583) found -[17884] Forked 20584 -[17883] Forked 20585 -(20584) found -(20585) found -[17882] Forked 20586 -[17881] Forked 20587 -(20586) found -(20587) found -[17880] Forked 20588 -[17879] Forked 20589 -(20588) found -(20589) found -[17878] Forked 20590 -[17877] Forked 20591 -(20590) found -(20591) found -[17876] Forked 20592 -[17875] Forked 20593 -(20592) found -(20593) found -[17874] Forked 20594 -[17873] Forked 20595 -(20594) found -(20595) found -[17872] Forked 20596 -[17871] Forked 20597 -(20596) found -(20597) found -[17870] Forked 20598 -[17869] Forked 20599 -(20598) found -(20599) found -[17868] Forked 20600 -[17867] Forked 20601 -(20600) found -(20601) found -[17866] Forked 20602 -[17865] Forked 20603 -(20602) found -(20603) found -[17864] Forked 20604 -[17863] Forked 20605 -(20604) found -(20605) found -[17862] Forked 20606 -[17861] Forked 20607 -(20606) found -(20607) found -[17860] Forked 20608 -[17859] Forked 20609 -(20608) found -(20609) found -[17858] Forked 20610 -[17857] Forked 20611 -(20610) found -(20611) found -[17856] Forked 20612 -[17855] Forked 20613 -(20612) found -(20613) found -[17854] Forked 20614 -[17853] Forked 20615 -(20614) found -(20615) found -[17852] Forked 20616 -[17851] Forked 20617 -(20616) found -(20617) found -[17850] Forked 20618 -[17849] Forked 20619 -(20618) found -(20619) found -[17848] Forked 20620 -[17847] Forked 20621 -(20620) found -(20621) found -[17846] Forked 20622 -[17845] Forked 20623 -(20622) found -(20623) found -[17844] Forked 20624 -[17843] Forked 20625 -(20624) found -(20625) found -[17842] Forked 20626 -[17841] Forked 20627 -(20626) found -(20627) found -[17840] Forked 20628 -[17839] Forked 20629 -(20628) found -(20629) found -[17838] Forked 20630 -[17837] Forked 20631 -(20630) found -(20631) found -[17836] Forked 20632 -[17835] Forked 20633 -(20632) found -(20633) found -[17834] Forked 20634 -[17833] Forked 20635 -(20634) found -(20635) found -[17832] Forked 20636 -[17831] Forked 20637 -(20636) found -(20637) found -[17830] Forked 20638 -(20638) found -[17829] Forked 20639 -(20639) found -[17828] Forked 20640 -(20640) found -[17827] Forked 20641 -(20641) found -[17826] Forked 20642 -(20642) found -[17825] Forked 20643 -(20643) found -[17824] Forked 20644 -(20644) found -[17823] Forked 20645 -(20645) found -[17822] Forked 20646 -(20646) found -[17821] Forked 20647 -(20647) found -[17820] Forked 20648 -(20648) found -[17819] Forked 20649 -(20649) found -[17818] Forked 20650 -(20650) found -[17817] Forked 20651 -(20651) found -[17816] Forked 20652 -(20652) found -[17815] Forked 20653 -(20653) found -[17814] Forked 20654 -(20654) found -[17813] Forked 20655 -(20655) found -[17812] Forked 20656 -(20656) found -[17811] Forked 20657 -(20657) found -[17810] Forked 20658 -(20658) found -[17809] Forked 20659 -(20659) found -[17808] Forked 20660 -(20660) found -[17807] Forked 20661 -(20661) found -[17806] Forked 20662 -(20662) found -[17805] Forked 20663 -(20663) found -[17804] Forked 20664 -(20664) found -[17803] Forked 20665 -(20665) found -[17802] Forked 20666 -(20666) found -[17801] Forked 20667 -(20667) found -[17800] Forked 20668 -(20668) found -[17799] Forked 20669 -(20669) found -[17798] Forked 20670 -(20670) found -[17797] Forked 20671 -(20671) found -[17796] Forked 20672 -(20672) found -[17795] Forked 20673 -[17794] Forked 20674 -(20673) found -(20674) found -[17793] Forked 20675 -[17792] Forked 20676 -(20676) found -(20675) found -[17791] Forked 20677 -(20677) found -[17790] Forked 20678 -(20678) found -[17789] Forked 20679 -(20679) found -[17788] Forked 20680 -(20680) found -[17787] Forked 20681 -(20681) found -[17786] Forked 20682 -(20682) found -[17785] Forked 20683 -(20683) found -[17784] Forked 20684 -(20684) found -[17783] Forked 20685 -(20685) found -[17782] Forked 20686 -(20686) found -[17781] Forked 20687 -(20687) found -[17780] Forked 20688 -(20688) found -[17779] Forked 20689 -(20689) found -[17778] Forked 20690 -(20690) found -[17777] Forked 20691 -(20691) found -[17776] Forked 20692 -(20692) found -[17775] Forked 20693 -(20693) found -[17774] Forked 20694 -(20694) found -[17773] Forked 20695 -(20695) found -[17772] Forked 20696 -(20696) found -[17771] Forked 20697 -(20697) found -[17770] Forked 20698 -(20698) found -[17769] Forked 20699 -(20699) found -[17768] Forked 20700 -(20700) found -[17767] Forked 20701 -(20701) found -[17766] Forked 20702 -(20702) found -[17765] Forked 20703 -(20703) found -[17764] Forked 20704 -(20704) found -[17763] Forked 20705 -(20705) found -[17762] Forked 20706 -(20706) found -[17761] Forked 20707 -(20707) found -[17760] Forked 20708 -(20708) found -[17759] Forked 20709 -(20709) found -[17758] Forked 20710 -(20710) found -[17757] Forked 20711 -(20711) found -[17756] Forked 20712 -(20712) found -[17755] Forked 20713 -(20713) found -[17754] Forked 20714 -(20714) found -[17753] Forked 20715 -(20715) found -[17752] Forked 20716 -(20716) found -[17751] Forked 20717 -(20717) found -[17750] Forked 20718 -(20718) found -[17749] Forked 20719 -(20719) found -[17748] Forked 20720 -(20720) found -[17747] Forked 20721 -(20721) found -[17746] Forked 20722 -(20722) found -[17745] Forked 20723 -(20723) found -[17744] Forked 20724 -(20724) found -[17743] Forked 20725 -(20725) found -[17742] Forked 20726 -(20726) found -[17741] Forked 20727 -(20727) found -[17740] Forked 20728 -(20728) found -[17739] Forked 20729 -(20729) found -[17738] Forked 20730 -(20730) found -[17737] Forked 20731 -(20731) found -[17736] Forked 20732 -(20732) found -[17735] Forked 20733 -(20733) found -[17734] Forked 20734 -(20734) found -[17733] Forked 20735 -(20735) found -[17732] Forked 20736 -(20736) found -[17731] Forked 20737 -(20737) found -[17730] Forked 20738 -(20738) found -[17729] Forked 20739 -(20739) found -[17728] Forked 20740 -(20740) found -[17727] Forked 20741 -(20741) found -[17726] Forked 20742 -(20742) found -[17725] Forked 20743 -(20743) found -[17724] Forked 20744 -[17723] Forked 20745 -(20744) found -(20745) found -[17722] Forked 20746 -[17721] Forked 20747 -(20746) found -(20747) found -[17720] Forked 20748 -[17719] Forked 20749 -(20748) found -(20749) found -[17718] Forked 20750 -[17717] Forked 20751 -(20750) found -(20751) found -[17716] Forked 20752 -[17715] Forked 20753 -(20752) found -(20753) found -[17714] Forked 20754 -[17713] Forked 20755 -(20754) found -(20755) found -[17712] Forked 20756 -[17711] Forked 20757 -(20756) found -(20757) found -[17710] Forked 20758 -[17709] Forked 20759 -(20758) found -(20759) found -[17708] Forked 20760 -[17707] Forked 20761 -(20760) found -(20761) found -[17706] Forked 20762 -[17705] Forked 20763 -(20762) found -(20763) found -[17704] Forked 20764 -[17703] Forked 20765 -(20764) found -(20765) found -[17702] Forked 20766 -[17701] Forked 20767 -(20766) found -(20767) found -[17700] Forked 20768 -[17699] Forked 20769 -(20768) found -(20769) found -[17698] Forked 20770 -[17697] Forked 20771 -(20770) found -(20771) found -[17696] Forked 20772 -[17695] Forked 20773 -(20772) found -(20773) found -[17694] Forked 20774 -[17693] Forked 20775 -(20774) found -(20775) found -[17692] Forked 20776 -[17691] Forked 20777 -(20776) found -(20777) found -[17690] Forked 20778 -[17689] Forked 20779 -(20778) found -(20779) found -[17688] Forked 20780 -[17687] Forked 20781 -(20780) found -(20781) found -[17686] Forked 20782 -[17685] Forked 20783 -(20782) found -(20783) found -[17684] Forked 20784 -[17683] Forked 20785 -(20784) found -(20785) found -[17682] Forked 20786 -[17681] Forked 20787 -(20786) found -(20787) found -[17680] Forked 20788 -[17679] Forked 20789 -(20788) found -(20789) found -[17678] Forked 20790 -[17677] Forked 20791 -(20790) found -(20791) found -[17676] Forked 20792 -[17675] Forked 20793 -(20792) found -(20793) found -[17674] Forked 20794 -[17673] Forked 20795 -(20794) found -(20795) found -[17672] Forked 20796 -[17671] Forked 20797 -(20796) found -(20797) found -[17670] Forked 20798 -[17669] Forked 20799 -(20798) found -(20799) found -[17668] Forked 20800 -[17667] Forked 20801 -(20800) found -(20801) found -[17666] Forked 20802 -[17665] Forked 20803 -(20802) found -(20803) found -[17664] Forked 20804 -[17663] Forked 20805 -(20804) found -(20805) found -[17662] Forked 20806 -[17661] Forked 20807 -(20806) found -(20807) found -[17660] Forked 20808 -[17659] Forked 20809 -(20808) found -(20809) found -[17658] Forked 20810 -[17657] Forked 20811 -(20810) found -(20811) found -[17656] Forked 20812 -[17655] Forked 20813 -(20812) found -(20813) found -[17654] Forked 20814 -[17653] Forked 20815 -(20814) found -(20815) found -[17652] Forked 20816 -[17651] Forked 20817 -(20816) found -(20817) found -[17650] Forked 20818 -[17649] Forked 20819 -(20818) found -(20819) found -[17648] Forked 20820 -[17647] Forked 20821 -(20820) found -(20821) found -[17646] Forked 20822 -[17645] Forked 20823 -(20822) found -(20823) found -[17644] Forked 20824 -[17643] Forked 20825 -(20824) found -(20825) found -[17642] Forked 20826 -[17641] Forked 20827 -(20826) found -(20827) found -[17640] Forked 20828 -[17639] Forked 20829 -(20828) found -(20829) found -[17638] Forked 20830 -[17637] Forked 20831 -(20830) found -(20831) found -[17636] Forked 20832 -[17635] Forked 20833 -(20832) found -(20833) found -[17634] Forked 20834 -(20834) found -[17633] Forked 20835 -[17632] Forked 20836 -(20835) found -(20836) found -[17631] Forked 20837 -[17630] Forked 20838 -(20837) found -(20838) found -[17629] Forked 20839 -[17628] Forked 20840 -(20839) found -(20840) found -[17627] Forked 20841 -[17626] Forked 20842 -(20841) found -(20842) found -[17625] Forked 20843 -[17624] Forked 20844 -(20843) found -(20844) found -[17623] Forked 20845 -[17622] Forked 20846 -(20845) found -(20846) found -[17621] Forked 20847 -[17620] Forked 20848 -(20847) found -(20848) found -[17619] Forked 20849 -[17618] Forked 20850 -(20849) found -(20850) found -[17617] Forked 20851 -[17616] Forked 20852 -(20851) found -(20852) found -[17615] Forked 20853 -[17614] Forked 20854 -(20853) found -(20854) found -[17613] Forked 20855 -[17612] Forked 20856 -(20855) found -(20856) found -[17611] Forked 20857 -[17610] Forked 20858 -(20857) found -(20858) found -[17609] Forked 20859 -[17608] Forked 20860 -(20859) found -(20860) found -[17607] Forked 20861 -[17606] Forked 20862 -(20861) found -(20862) found -[17605] Forked 20863 -[17604] Forked 20864 -(20863) found -(20864) found -[17603] Forked 20865 -[17602] Forked 20866 -(20865) found -(20866) found -[17601] Forked 20867 -[17600] Forked 20868 -(20867) found -(20868) found -[17599] Forked 20869 -[17598] Forked 20870 -(20869) found -(20870) found -[17597] Forked 20871 -[17596] Forked 20872 -(20871) found -(20872) found -[17595] Forked 20873 -[17594] Forked 20874 -(20873) found -(20874) found -[17593] Forked 20875 -[17592] Forked 20876 -(20875) found -(20876) found -[17591] Forked 20877 -[17590] Forked 20878 -(20877) found -(20878) found -[17589] Forked 20879 -[17588] Forked 20880 -(20879) found -(20880) found -[17587] Forked 20881 -[17586] Forked 20882 -(20881) found -(20882) found -[17585] Forked 20883 -[17584] Forked 20884 -(20883) found -(20884) found -[17583] Forked 20885 -[17582] Forked 20886 -(20885) found -(20886) found -[17581] Forked 20887 -[17580] Forked 20888 -(20887) found -(20888) found -[17579] Forked 20889 -[17578] Forked 20890 -(20889) found -(20890) found -[17577] Forked 20891 -[17576] Forked 20892 -(20891) found -(20892) found -[17575] Forked 20893 -[17574] Forked 20894 -(20893) found -(20894) found -[17573] Forked 20895 -[17572] Forked 20896 -(20895) found -(20896) found -[17571] Forked 20897 -[17570] Forked 20898 -(20897) found -(20898) found -[17569] Forked 20899 -[17568] Forked 20900 -(20899) found -(20900) found -[17567] Forked 20901 -[17566] Forked 20902 -(20901) found -(20902) found -[17565] Forked 20903 -[17564] Forked 20904 -(20903) found -(20904) found -[17563] Forked 20905 -[17562] Forked 20906 -(20905) found -(20906) found -[17561] Forked 20907 -[17560] Forked 20908 -(20907) found -(20908) found -[17559] Forked 20909 -[17558] Forked 20910 -(20909) found -(20910) found -[17557] Forked 20911 -[17556] Forked 20912 -(20911) found -(20912) found -[17555] Forked 20913 -[17554] Forked 20914 -(20913) found -(20914) found -[17553] Forked 20915 -[17552] Forked 20916 -(20915) found -(20916) found -[17551] Forked 20917 -[17550] Forked 20918 -(20917) found -(20918) found -[17549] Forked 20919 -[17548] Forked 20920 -(20919) found -(20920) found -[17547] Forked 20921 -[17546] Forked 20922 -(20921) found -(20922) found -[17545] Forked 20923 -[17544] Forked 20924 -(20923) found -(20924) found -[17543] Forked 20925 -[17542] Forked 20926 -(20925) found -(20926) found -[17541] Forked 20927 -[17540] Forked 20928 -(20927) found -(20928) found -[17539] Forked 20929 -[17538] Forked 20930 -(20929) found -(20930) found -[17537] Forked 20931 -[17536] Forked 20932 -(20931) found -(20932) found -[17535] Forked 20933 -[17534] Forked 20934 -(20933) found -(20934) found -[17533] Forked 20935 -[17532] Forked 20936 -(20935) found -(20936) found -[17531] Forked 20937 -[17530] Forked 20938 -(20937) found -(20938) found -[17529] Forked 20939 -[17528] Forked 20940 -(20939) found -(20940) found -[17527] Forked 20941 -[17526] Forked 20942 -(20941) found -(20942) found -[17525] Forked 20943 -[17524] Forked 20944 -(20943) found -(20944) found -[17523] Forked 20945 -[17522] Forked 20946 -(20945) found -(20946) found -[17521] Forked 20947 -[17520] Forked 20948 -(20947) found -(20948) found -[17519] Forked 20949 -[17518] Forked 20950 -(20949) found -(20950) found -[17517] Forked 20951 -[17516] Forked 20952 -(20951) found -(20952) found -[17515] Forked 20953 -[17514] Forked 20954 -(20953) found -(20954) found -[17513] Forked 20955 -[17512] Forked 20956 -(20955) found -(20956) found -[17511] Forked 20957 -[17510] Forked 20958 -(20957) found -(20958) found -[17509] Forked 20959 -[17508] Forked 20960 -(20959) found -(20960) found -[17507] Forked 20961 -[17506] Forked 20962 -(20961) found -(20962) found -[17505] Forked 20963 -[17504] Forked 20964 -(20963) found -(20964) found -[17503] Forked 20965 -[17502] Forked 20966 -(20965) found -(20966) found -[17501] Forked 20967 -[17500] Forked 20968 -(20967) found -(20968) found -[17499] Forked 20969 -[17498] Forked 20970 -(20969) found -(20970) found -[17497] Forked 20971 -[17496] Forked 20972 -(20971) found -(20972) found -[17495] Forked 20973 -(20973) found -[17494] Forked 20974 -(20974) found -[17493] Forked 20975 -(20975) found -[17492] Forked 20976 -(20976) found -[17491] Forked 20977 -(20977) found -[17490] Forked 20978 -(20978) found -[17489] Forked 20979 -(20979) found -[17488] Forked 20980 -(20980) found -[17487] Forked 20981 -(20981) found -[17486] Forked 20982 -(20982) found -[17485] Forked 20983 -(20983) found -[17484] Forked 20984 -(20984) found -[17483] Forked 20985 -(20985) found -[17482] Forked 20986 -(20986) found -[17481] Forked 20987 -(20987) found -[17480] Forked 20988 -(20988) found -[17479] Forked 20989 -(20989) found -[17478] Forked 20990 -(20990) found -[17477] Forked 20991 -(20991) found -[17476] Forked 20992 -(20992) found -[17475] Forked 20993 -(20993) found -[17474] Forked 20994 -(20994) found -[17473] Forked 20995 -(20995) found -[17472] Forked 20996 -(20996) found -[17471] Forked 20997 -(20997) found -[17470] Forked 20998 -(20998) found -[17469] Forked 20999 -(20999) found -[17468] Forked 21000 -(21000) found -[17467] Forked 21001 -(21001) found -[17466] Forked 21002 -(21002) found -[17465] Forked 21003 -(21003) found -[17464] Forked 21004 -(21004) found -[17463] Forked 21005 -(21005) found -[17462] Forked 21006 -(21006) found -[17461] Forked 21007 -(21007) found -[17460] Forked 21008 -[17459] Forked 21009 -(21008) found -(21009) found -[17458] Forked 21010 -[17457] Forked 21011 -(21010) found -(21011) found -[17456] Forked 21012 -[17455] Forked 21013 -(21012) found -(21013) found -[17454] Forked 21014 -[17453] Forked 21015 -(21014) found -(21015) found -[17452] Forked 21016 -[17451] Forked 21017 -(21016) found -(21017) found -[17450] Forked 21018 -[17449] Forked 21019 -(21018) found -(21019) found -[17448] Forked 21020 -[17447] Forked 21021 -(21020) found -(21021) found -[17446] Forked 21022 -[17445] Forked 21023 -(21022) found -(21023) found -[17444] Forked 21024 -[17443] Forked 21025 -(21024) found -(21025) found -[17442] Forked 21026 -[17441] Forked 21027 -(21026) found -(21027) found -[17440] Forked 21028 -[17439] Forked 21029 -(21028) found -(21029) found -[17438] Forked 21030 -[17437] Forked 21031 -(21030) found -(21031) found -[17436] Forked 21032 -[17435] Forked 21033 -(21032) found -(21033) found -[17434] Forked 21034 -[17433] Forked 21035 -(21034) found -(21035) found -[17432] Forked 21036 -[17431] Forked 21037 -(21036) found -(21037) found -[17430] Forked 21038 -[17429] Forked 21039 -(21038) found -(21039) found -[17428] Forked 21040 -[17427] Forked 21041 -(21040) found -(21041) found -[17426] Forked 21042 -[17425] Forked 21043 -(21042) found -(21043) found -[17424] Forked 21044 -[17423] Forked 21045 -(21044) found -(21045) found -[17422] Forked 21046 -[17421] Forked 21047 -(21046) found -(21047) found -[17420] Forked 21048 -[17419] Forked 21049 -(21048) found -(21049) found -[17418] Forked 21050 -[17417] Forked 21051 -(21050) found -(21051) found -[17416] Forked 21052 -[17415] Forked 21053 -(21052) found -(21053) found -[17414] Forked 21054 -(21054) found -[17413] Forked 21055 -(21055) found -[17412] Forked 21056 -(21056) found -[17411] Forked 21057 -(21057) found -[17410] Forked 21058 -(21058) found -[17409] Forked 21059 -(21059) found -[17408] Forked 21060 -(21060) found -[17407] Forked 21061 -(21061) found -[17406] Forked 21062 -(21062) found -[17405] Forked 21063 -(21063) found -[17404] Forked 21064 -(21064) found -[17403] Forked 21065 -(21065) found -[17402] Forked 21066 -(21066) found -[17401] Forked 21067 -(21067) found -[17400] Forked 21068 -(21068) found -[17399] Forked 21069 -(21069) found -[17398] Forked 21070 -(21070) found -[17397] Forked 21071 -(21071) found -[17396] Forked 21072 -(21072) found -[17395] Forked 21073 -(21073) found -[17394] Forked 21074 -(21074) found -[17393] Forked 21075 -(21075) found -[17392] Forked 21076 -(21076) found -[17391] Forked 21077 -(21077) found -[17390] Forked 21078 -(21078) found -[17389] Forked 21079 -(21079) found -[17388] Forked 21080 -(21080) found -[17387] Forked 21081 -(21081) found -[17386] Forked 21082 -(21082) found -[17385] Forked 21083 -(21083) found -[17384] Forked 21084 -(21084) found -[17383] Forked 21085 -(21085) found -[17382] Forked 21086 -(21086) found -[17381] Forked 21087 -(21087) found -[17380] Forked 21088 -[17379] Forked 21089 -(21088) found -(21089) found -[17378] Forked 21090 -[17377] Forked 21091 -(21090) found -(21091) found -[17376] Forked 21092 -[17375] Forked 21093 -(21092) found -(21093) found -[17374] Forked 21094 -[17373] Forked 21095 -(21094) found -(21095) found -[17372] Forked 21096 -[17371] Forked 21097 -(21096) found -(21097) found -[17370] Forked 21098 -[17369] Forked 21099 -(21098) found -(21099) found -[17368] Forked 21100 -[17367] Forked 21101 -(21100) found -(21101) found -[17366] Forked 21102 -[17365] Forked 21103 -(21102) found -(21103) found -[17364] Forked 21104 -[17363] Forked 21105 -(21104) found -(21105) found -[17362] Forked 21106 -[17361] Forked 21107 -(21106) found -(21107) found -[17360] Forked 21108 -[17359] Forked 21109 -(21108) found -(21109) found -[17358] Forked 21110 -[17357] Forked 21111 -(21110) found -(21111) found -[17356] Forked 21112 -[17355] Forked 21113 -(21112) found -(21113) found -[17354] Forked 21114 -[17353] Forked 21115 -(21114) found -(21115) found -[17352] Forked 21116 -[17351] Forked 21117 -(21116) found -(21117) found -[17350] Forked 21118 -[17349] Forked 21119 -(21118) found -(21119) found -[17348] Forked 21120 -[17347] Forked 21121 -(21120) found -(21121) found -[17346] Forked 21122 -[17345] Forked 21123 -(21122) found -(21123) found -[17344] Forked 21124 -[17343] Forked 21125 -(21124) found -(21125) found -[17342] Forked 21126 -[17341] Forked 21127 -(21126) found -(21127) found -[17340] Forked 21128 -[17339] Forked 21129 -(21128) found -(21129) found -[17338] Forked 21130 -[17337] Forked 21131 -(21130) found -(21131) found -[17336] Forked 21132 -[17335] Forked 21133 -(21132) found -(21133) found -[17334] Forked 21134 -(21134) found -[17333] Forked 21135 -(21135) found -[17332] Forked 21136 -(21136) found -[17331] Forked 21137 -(21137) found -[17330] Forked 21138 -(21138) found -[17329] Forked 21139 -(21139) found -[17328] Forked 21140 -(21140) found -[17327] Forked 21141 -(21141) found -[17326] Forked 21142 -(21142) found -[17325] Forked 21143 -(21143) found -[17324] Forked 21144 -(21144) found -[17323] Forked 21145 -(21145) found -[17322] Forked 21146 -(21146) found -[17321] Forked 21147 -(21147) found -[17320] Forked 21148 -(21148) found -[17319] Forked 21149 -(21149) found -[17318] Forked 21150 -(21150) found -[17317] Forked 21151 -(21151) found -[17316] Forked 21152 -(21152) found -[17315] Forked 21153 -(21153) found -[17314] Forked 21154 -(21154) found -[17313] Forked 21155 -(21155) found -[17312] Forked 21156 -(21156) found -[17311] Forked 21157 -(21157) found -[17310] Forked 21158 -(21158) found -[17309] Forked 21159 -(21159) found -[17308] Forked 21160 -(21160) found -[17307] Forked 21161 -(21161) found -[17306] Forked 21162 -(21162) found -[17305] Forked 21163 -(21163) found -[17304] Forked 21164 -(21164) found -[17303] Forked 21165 -(21165) found -[17302] Forked 21166 -(21166) found -[17301] Forked 21167 -(21167) found -[17300] Forked 21168 -(21168) found -[17299] Forked 21169 -[17298] Forked 21170 -(21169) found -(21170) found -[17297] Forked 21171 -[17296] Forked 21172 -(21171) found -(21172) found -[17295] Forked 21173 -[17294] Forked 21174 -(21173) found -(21174) found -[17293] Forked 21175 -[17292] Forked 21176 -(21175) found -(21176) found -[17291] Forked 21177 -[17290] Forked 21178 -(21177) found -(21178) found -[17289] Forked 21179 -[17288] Forked 21180 -(21179) found -(21180) found -[17287] Forked 21181 -[17286] Forked 21182 -(21181) found -(21182) found -[17285] Forked 21183 -[17284] Forked 21184 -(21183) found -(21184) found -[17283] Forked 21185 -[17282] Forked 21186 -(21185) found -(21186) found -[17281] Forked 21187 -[17280] Forked 21188 -(21187) found -(21188) found -[17279] Forked 21189 -[17278] Forked 21190 -(21189) found -(21190) found -[17277] Forked 21191 -[17276] Forked 21192 -(21191) found -(21192) found -[17275] Forked 21193 -[17274] Forked 21194 -(21193) found -(21194) found -[17273] Forked 21195 -[17272] Forked 21196 -(21195) found -(21196) found -[17271] Forked 21197 -[17270] Forked 21198 -(21197) found -(21198) found -[17269] Forked 21199 -[17268] Forked 21200 -(21199) found -(21200) found -[17267] Forked 21201 -[17266] Forked 21202 -(21201) found -(21202) found -[17265] Forked 21203 -[17264] Forked 21204 -(21203) found -(21204) found -[17263] Forked 21205 -[17262] Forked 21206 -(21205) found -(21206) found -[17261] Forked 21207 -[17260] Forked 21208 -(21207) found -(21208) found -[17259] Forked 21209 -[17258] Forked 21210 -(21209) found -(21210) found -[17257] Forked 21211 -[17256] Forked 21212 -(21211) found -(21212) found -[17255] Forked 21213 -[17254] Forked 21214 -(21213) found -(21214) found -[17253] Forked 21215 -(21215) found -[17252] Forked 21216 -(21216) found -[17251] Forked 21217 -(21217) found -[17250] Forked 21218 -(21218) found -[17249] Forked 21219 -(21219) found -[17248] Forked 21220 -(21220) found -[17247] Forked 21221 -(21221) found -[17246] Forked 21222 -(21222) found -[17245] Forked 21223 -(21223) found -[17244] Forked 21224 -(21224) found -[17243] Forked 21225 -(21225) found -[17242] Forked 21226 -(21226) found -[17241] Forked 21227 -(21227) found -[17240] Forked 21228 -(21228) found -[17239] Forked 21229 -(21229) found -[17238] Forked 21230 -(21230) found -[17237] Forked 21231 -(21231) found -[17236] Forked 21232 -(21232) found -[17235] Forked 21233 -(21233) found -[17234] Forked 21234 -(21234) found -[17233] Forked 21235 -(21235) found -[17232] Forked 21236 -(21236) found -[17231] Forked 21237 -(21237) found -[17230] Forked 21238 -(21238) found -[17229] Forked 21239 -(21239) found -[17228] Forked 21240 -(21240) found -[17227] Forked 21241 -(21241) found -[17226] Forked 21242 -(21242) found -[17225] Forked 21243 -(21243) found -[17224] Forked 21244 -(21244) found -[17223] Forked 21245 -(21245) found -[17222] Forked 21246 -(21246) found -[17221] Forked 21247 -(21247) found -[17220] Forked 21248 -(21248) found -[17219] Forked 21249 -(21249) found -[17218] Forked 21250 -[17217] Forked 21251 -(21250) found -(21251) found -[17216] Forked 21252 -(21252) found -[17215] Forked 21253 -(21253) found -[17214] Forked 21254 -(21254) found -[17213] Forked 21255 -[17212] Forked 21256 -(21255) found -(21256) found -[17211] Forked 21257 -[17210] Forked 21258 -(21257) found -(21258) found -[17209] Forked 21259 -[17208] Forked 21260 -(21259) found -(21260) found -[17207] Forked 21261 -[17206] Forked 21262 -(21261) found -(21262) found -[17205] Forked 21263 -[17204] Forked 21264 -(21263) found -(21264) found -[17203] Forked 21265 -[17202] Forked 21266 -(21265) found -(21266) found -[17201] Forked 21267 -[17200] Forked 21268 -(21267) found -(21268) found -[17199] Forked 21269 -[17198] Forked 21270 -(21269) found -(21270) found -[17197] Forked 21271 -[17196] Forked 21272 -(21271) found -(21272) found -[17195] Forked 21273 -[17194] Forked 21274 -(21273) found -(21274) found -[17193] Forked 21275 -[17192] Forked 21276 -(21275) found -(21276) found -[17191] Forked 21277 -[17190] Forked 21279 -(21277) found -(21279) found -[17189] Forked 21280 -(21280) found -[17188] Forked 21281 -(21281) found -[17187] Forked 21282 -(21282) found -[17186] Forked 21283 -(21283) found -[17185] Forked 21284 -(21284) found -[17184] Forked 21285 -(21285) found -[17183] Forked 21286 -(21286) found -[17182] Forked 21287 -(21287) found -[17181] Forked 21288 -(21288) found -[17180] Forked 21289 -(21289) found -[17179] Forked 21290 -(21290) found -[17178] Forked 21291 -(21291) found -[17177] Forked 21292 -(21292) found -[17176] Forked 21293 -(21293) found -[17175] Forked 21294 -(21294) found -[17174] Forked 21295 -(21295) found -[17173] Forked 21296 -(21296) found -[17172] Forked 21297 -(21297) found -[17171] Forked 21298 -(21298) found -[17170] Forked 21299 -(21299) found -[17169] Forked 21300 -(21300) found -[17168] Forked 21301 -(21301) found -[17167] Forked 21302 -(21302) found -[17166] Forked 21303 -(21303) found -[17165] Forked 21304 -(21304) found -[17164] Forked 21305 -(21305) found -[17163] Forked 21306 -(21306) found -[17162] Forked 21307 -(21307) found -[17161] Forked 21308 -(21308) found -[17160] Forked 21309 -(21309) found -[17159] Forked 21310 -(21310) found -[17158] Forked 21311 -(21311) found -[17157] Forked 21312 -(21312) found -[17156] Forked 21313 -(21313) found -[17155] Forked 21314 -(21314) found -[17154] Forked 21315 -(21315) found -[17153] Forked 21316 -(21316) found -[17152] Forked 21317 -(21317) found -[17151] Forked 21318 -(21318) found -[17150] Forked 21319 -(21319) found -[17149] Forked 21320 -(21320) found -[17148] Forked 21321 -(21321) found -[17147] Forked 21322 -(21322) found -[17146] Forked 21323 -(21323) found -[17145] Forked 21324 -(21324) found -[17144] Forked 21325 -(21325) found -[17143] Forked 21326 -(21326) found -[17142] Forked 21327 -(21327) found -[17141] Forked 21328 -(21328) found -[17140] Forked 21329 -(21329) found -[17139] Forked 21330 -(21330) found -[17138] Forked 21331 -(21331) found -[17137] Forked 21332 -[17136] Forked 21333 -(21332) found -(21333) found -[17135] Forked 21334 -[17134] Forked 21335 -(21334) found -(21335) found -[17133] Forked 21336 -[17132] Forked 21337 -(21336) found -(21337) found -[17131] Forked 21338 -[17130] Forked 21339 -(21338) found -(21339) found -[17129] Forked 21340 -[17128] Forked 21341 -(21340) found -(21341) found -[17127] Forked 21342 -[17126] Forked 21343 -(21342) found -(21343) found -[17125] Forked 21344 -[17124] Forked 21345 -(21344) found -(21345) found -[17123] Forked 21346 -[17122] Forked 21347 -(21346) found -(21347) found -[17121] Forked 21348 -[17120] Forked 21349 -(21348) found -(21349) found -[17119] Forked 21350 -[17118] Forked 21351 -(21350) found -(21351) found -[17117] Forked 21352 -[17116] Forked 21353 -(21352) found -(21353) found -[17115] Forked 21354 -[17114] Forked 21355 -(21354) found -(21355) found -[17113] Forked 21356 -[17112] Forked 21357 -(21356) found -(21357) found -[17111] Forked 21358 -[17110] Forked 21359 -(21358) found -(21359) found -[17109] Forked 21360 -[17108] Forked 21361 -(21360) found -(21361) found -[17107] Forked 21362 -[17106] Forked 21363 -(21362) found -(21363) found -[17105] Forked 21364 -[17104] Forked 21365 -(21364) found -(21365) found -[17103] Forked 21366 -[17102] Forked 21367 -(21366) found -(21367) found -[17101] Forked 21368 -[17100] Forked 21369 -(21368) found -(21369) found -[17099] Forked 21370 -[17098] Forked 21371 -(21370) found -(21371) found -[17097] Forked 21372 -[17096] Forked 21373 -(21372) found -(21373) found -[17095] Forked 21374 -[17094] Forked 21375 -(21374) found -(21375) found -[17093] Forked 21376 -[17092] Forked 21377 -(21376) found -(21377) found -[17091] Forked 21378 -[17090] Forked 21379 -(21379) found -(21378) found -[17089] Forked 21380 -(21380) found -[17088] Forked 21381 -(21381) found -[17087] Forked 21382 -(21382) found -[17086] Forked 21383 -(21383) found -[17085] Forked 21384 -(21384) found -[17084] Forked 21385 -(21385) found -[17083] Forked 21386 -(21386) found -[17082] Forked 21387 -(21387) found -[17081] Forked 21388 -(21388) found -[17080] Forked 21389 -(21389) found -[17079] Forked 21390 -(21390) found -[17078] Forked 21391 -(21391) found -[17077] Forked 21392 -(21392) found -[17076] Forked 21393 -(21393) found -[17075] Forked 21394 -(21394) found -[17074] Forked 21395 -(21395) found -[17073] Forked 21396 -(21396) found -[17072] Forked 21397 -(21397) found -[17071] Forked 21398 -(21398) found -[17070] Forked 21399 -(21399) found -[17069] Forked 21400 -(21400) found -[17068] Forked 21401 -(21401) found -[17067] Forked 21402 -(21402) found -[17066] Forked 21403 -(21403) found -[17065] Forked 21404 -(21404) found -[17064] Forked 21405 -(21405) found -[17063] Forked 21406 -(21406) found -[17062] Forked 21407 -(21407) found -[17061] Forked 21408 -(21408) found -[17060] Forked 21409 -(21409) found -[17059] Forked 21410 -(21410) found -[17058] Forked 21411 -(21411) found -[17057] Forked 21412 -(21412) found -[17056] Forked 21413 -[17055] Forked 21414 -(21413) found -(21414) found -[17054] Forked 21415 -[17053] Forked 21416 -(21415) found -(21416) found -[17052] Forked 21417 -[17051] Forked 21418 -(21417) found -(21418) found -[17050] Forked 21419 -[17049] Forked 21420 -(21419) found -(21420) found -[17048] Forked 21421 -[17047] Forked 21422 -(21421) found -(21422) found -[17046] Forked 21423 -[17045] Forked 21424 -(21423) found -(21424) found -[17044] Forked 21425 -[17043] Forked 21426 -(21425) found -(21426) found -[17042] Forked 21427 -[17041] Forked 21428 -(21427) found -(21428) found -[17040] Forked 21429 -[17039] Forked 21430 -(21429) found -(21430) found -[17038] Forked 21431 -[17037] Forked 21432 -(21431) found -(21432) found -[17036] Forked 21433 -[17035] Forked 21434 -(21433) found -(21434) found -[17034] Forked 21435 -[17033] Forked 21436 -(21435) found -(21436) found -[17032] Forked 21437 -[17031] Forked 21438 -(21437) found -(21438) found -[17030] Forked 21439 -[17029] Forked 21440 -(21439) found -(21440) found -[17028] Forked 21441 -[17027] Forked 21442 -(21441) found -(21442) found -[17026] Forked 21443 -[17025] Forked 21444 -(21443) found -(21444) found -[17024] Forked 21445 -[17023] Forked 21446 -(21445) found -(21446) found -[17022] Forked 21447 -[17021] Forked 21448 -(21447) found -(21448) found -[17020] Forked 21449 -[17019] Forked 21450 -(21449) found -(21450) found -[17018] Forked 21451 -[17017] Forked 21452 -(21451) found -(21452) found -[17016] Forked 21453 -[17015] Forked 21454 -(21454) found -(21453) found -[17014] Forked 21455 -(21455) found -[17013] Forked 21456 -(21456) found -[17012] Forked 21457 -(21457) found -[17011] Forked 21458 -(21458) found -[17010] Forked 21459 -(21459) found -[17009] Forked 21460 -(21460) found -[17008] Forked 21461 -(21461) found -[17007] Forked 21462 -(21462) found -[17006] Forked 21463 -(21463) found -[17005] Forked 21464 -(21464) found -[17004] Forked 21465 -(21465) found -[17003] Forked 21466 -(21466) found -[17002] Forked 21467 -(21467) found -[17001] Forked 21468 -(21468) found -[17000] Forked 21469 -(21469) found -[16999] Forked 21470 -(21470) found -[16998] Forked 21471 -(21471) found -[16997] Forked 21472 -(21472) found -[16996] Forked 21473 -(21473) found -[16995] Forked 21474 -(21474) found -[16994] Forked 21475 -(21475) found -[16993] Forked 21476 -(21476) found -[16992] Forked 21477 -(21477) found -[16991] Forked 21478 -(21478) found -[16990] Forked 21479 -(21479) found -[16989] Forked 21480 -(21480) found -[16988] Forked 21481 -(21481) found -[16987] Forked 21482 -(21482) found -[16986] Forked 21483 -(21483) found -[16985] Forked 21484 -(21484) found -[16984] Forked 21485 -(21485) found -[16983] Forked 21486 -(21486) found -[16982] Forked 21487 -(21487) found -[16981] Forked 21488 -(21488) found -[16980] Forked 21489 -(21489) found -[16979] Forked 21490 -[16978] Forked 21491 -(21490) found -(21491) found -[16977] Forked 21492 -[16976] Forked 21493 -(21492) found -(21493) found -[16975] Forked 21494 -[16974] Forked 21495 -(21494) found -(21495) found -[16973] Forked 21496 -[16972] Forked 21497 -(21496) found -(21497) found -[16971] Forked 21498 -[16970] Forked 21499 -(21498) found -(21499) found -[16969] Forked 21500 -[16968] Forked 21501 -(21500) found -(21501) found -[16967] Forked 21502 -[16966] Forked 21503 -(21502) found -(21503) found -[16965] Forked 21504 -[16964] Forked 21505 -(21504) found -(21505) found -[16963] Forked 21506 -[16962] Forked 21507 -(21506) found -(21507) found -[16961] Forked 21508 -[16960] Forked 21509 -(21508) found -(21509) found -[16959] Forked 21510 -[16958] Forked 21511 -(21510) found -(21511) found -[16957] Forked 21512 -[16956] Forked 21513 -(21512) found -(21513) found -[16955] Forked 21514 -[16954] Forked 21515 -(21514) found -(21515) found -[16953] Forked 21516 -[16952] Forked 21517 -(21516) found -(21517) found -[16951] Forked 21518 -[16950] Forked 21519 -(21518) found -(21519) found -[16949] Forked 21520 -[16948] Forked 21521 -(21520) found -(21521) found -[16947] Forked 21522 -[16946] Forked 21523 -(21522) found -(21523) found -[16945] Forked 21524 -[16944] Forked 21525 -(21524) found -(21525) found -[16943] Forked 21526 -[16942] Forked 21527 -(21526) found -(21527) found -[16941] Forked 21528 -[16940] Forked 21529 -(21528) found -(21529) found -[16939] Forked 21530 -[16938] Forked 21531 -(21530) found -(21531) found -[16937] Forked 21532 -[16936] Forked 21533 -(21532) found -(21533) found -[16935] Forked 21534 -[16934] Forked 21535 -(21534) found -(21535) found -[16933] Forked 21536 -[16932] Forked 21537 -(21536) found -(21537) found -[16931] Forked 21538 -[16930] Forked 21539 -(21538) found -(21539) found -[16929] Forked 21540 -[16928] Forked 21541 -(21540) found -(21541) found -[16927] Forked 21542 -[16926] Forked 21543 -(21542) found -(21543) found -[16925] Forked 21544 -[16924] Forked 21545 -(21544) found -(21545) found -[16923] Forked 21546 -[16922] Forked 21547 -(21546) found -(21547) found -[16921] Forked 21548 -[16920] Forked 21549 -(21548) found -(21549) found -[16919] Forked 21550 -[16918] Forked 21551 -(21550) found -(21551) found -[16917] Forked 21552 -[16916] Forked 21553 -(21552) found -(21553) found -[16915] Forked 21554 -[16914] Forked 21555 -(21554) found -(21555) found -[16913] Forked 21556 -[16912] Forked 21557 -(21556) found -(21557) found -[16911] Forked 21558 -[16910] Forked 21559 -(21558) found -(21559) found -[16909] Forked 21560 -[16908] Forked 21561 -(21560) found -(21561) found -[16907] Forked 21562 -[16906] Forked 21563 -(21562) found -(21563) found -[16905] Forked 21564 -[16904] Forked 21565 -(21564) found -(21565) found -[16903] Forked 21566 -[16902] Forked 21567 -(21566) found -(21567) found -[16901] Forked 21568 -[16900] Forked 21569 -(21568) found -(21569) found -[16899] Forked 21570 -[16898] Forked 21571 -(21570) found -(21571) found -[16897] Forked 21572 -[16896] Forked 21573 -(21572) found -(21573) found -[16895] Forked 21574 -[16894] Forked 21575 -(21574) found -(21575) found -[16893] Forked 21576 -[16892] Forked 21577 -(21576) found -(21577) found -[16891] Forked 21578 -[16890] Forked 21579 -(21578) found -(21579) found -[16889] Forked 21580 -[16888] Forked 21581 -(21580) found -(21581) found -[16887] Forked 21582 -[16886] Forked 21583 -(21582) found -(21583) found -[16885] Forked 21584 -[16884] Forked 21585 -(21584) found -(21585) found -[16883] Forked 21586 -[16882] Forked 21587 -(21586) found -(21587) found -[16881] Forked 21588 -[16880] Forked 21589 -(21588) found -(21589) found -[16879] Forked 21590 -[16878] Forked 21591 -(21590) found -(21591) found -[16877] Forked 21592 -[16876] Forked 21593 -(21592) found -(21593) found -[16875] Forked 21594 -[16874] Forked 21595 -(21594) found -(21595) found -[16873] Forked 21596 -[16872] Forked 21597 -(21596) found -(21597) found -[16871] Forked 21598 -[16870] Forked 21599 -(21598) found -(21599) found -[16869] Forked 21600 -[16868] Forked 21601 -(21600) found -(21601) found -[16867] Forked 21602 -[16866] Forked 21603 -(21602) found -(21603) found -[16865] Forked 21604 -[16864] Forked 21605 -(21604) found -(21605) found -[16863] Forked 21606 -[16862] Forked 21607 -(21606) found -(21607) found -[16861] Forked 21608 -[16860] Forked 21609 -(21608) found -(21609) found -[16859] Forked 21610 -[16858] Forked 21611 -(21610) found -(21611) found -[16857] Forked 21612 -[16856] Forked 21613 -(21612) found -(21613) found -[16855] Forked 21614 -[16854] Forked 21615 -(21614) found -(21615) found -[16853] Forked 21616 -[16852] Forked 21617 -(21616) found -(21617) found -[16851] Forked 21618 -[16850] Forked 21619 -(21618) found -(21619) found -[16849] Forked 21620 -[16848] Forked 21621 -(21620) found -(21621) found -[16847] Forked 21622 -[16846] Forked 21623 -(21622) found -(21623) found -[16845] Forked 21624 -[16844] Forked 21625 -(21624) found -(21625) found -[16843] Forked 21626 -[16842] Forked 21627 -(21626) found -(21627) found -[16841] Forked 21628 -[16840] Forked 21630 -(21628) found -(21630) found -[16839] Forked 21631 -(21631) found -[16838] Forked 21632 -(21632) found -[16837] Forked 21633 -(21633) found -[16836] Forked 21634 -(21634) found -[16835] Forked 21635 -(21635) found -[16834] Forked 21636 -(21636) found -[16833] Forked 21637 -(21637) found -[16832] Forked 21638 -(21638) found -[16831] Forked 21639 -(21639) found -[16830] Forked 21640 -(21640) found -[16829] Forked 21641 -(21641) found -[16828] Forked 21642 -(21642) found -[16827] Forked 21643 -(21643) found -[16826] Forked 21644 -(21644) found -[16825] Forked 21645 -(21645) found -[16824] Forked 21646 -(21646) found -[16823] Forked 21647 -(21647) found -[16822] Forked 21648 -(21648) found -[16821] Forked 21649 -(21649) found -[16820] Forked 21650 -(21650) found -[16819] Forked 21651 -(21651) found -[16818] Forked 21652 -(21652) found -[16817] Forked 21653 -(21653) found -[16816] Forked 21654 -(21654) found -[16815] Forked 21655 -(21655) found -[16814] Forked 21656 -(21656) found -[16813] Forked 21657 -(21657) found -[16812] Forked 21658 -(21658) found -[16811] Forked 21659 -(21659) found -[16810] Forked 21660 -[16809] Forked 21661 -(21660) found -(21661) found -[16808] Forked 21662 -[16807] Forked 21663 -(21662) found -(21663) found -[16806] Forked 21664 -[16805] Forked 21665 -(21664) found -(21665) found -[16804] Forked 21666 -[16803] Forked 21667 -(21666) found -(21667) found -[16802] Forked 21668 -[16801] Forked 21669 -(21668) found -(21669) found -[16800] Forked 21670 -[16799] Forked 21671 -(21670) found -(21671) found -[16798] Forked 21672 -[16797] Forked 21673 -(21672) found -(21673) found -[16796] Forked 21674 -[16795] Forked 21675 -(21674) found -(21675) found -[16794] Forked 21676 -[16793] Forked 21677 -(21676) found -(21677) found -[16792] Forked 21678 -[16791] Forked 21679 -(21678) found -(21679) found -[16790] Forked 21680 -[16789] Forked 21681 -(21680) found -(21681) found -[16788] Forked 21682 -[16787] Forked 21683 -(21682) found -(21683) found -[16786] Forked 21684 -[16785] Forked 21685 -(21684) found -(21685) found -[16784] Forked 21686 -[16783] Forked 21687 -(21686) found -(21687) found -[16782] Forked 21688 -[16781] Forked 21689 -(21688) found -(21689) found -[16780] Forked 21690 -[16779] Forked 21691 -(21690) found -(21691) found -[16778] Forked 21692 -[16777] Forked 21693 -(21692) found -(21693) found -[16776] Forked 21694 -[16775] Forked 21695 -(21694) found -(21695) found -[16774] Forked 21696 -[16773] Forked 21697 -(21696) found -(21697) found -[16772] Forked 21698 -(21698) found -[16771] Forked 21699 -[16770] Forked 21700 -(21699) found -(21700) found -[16769] Forked 21701 -[16768] Forked 21702 -(21701) found -(21702) found -[16767] Forked 21703 -[16766] Forked 21704 -(21703) found -(21704) found -[16765] Forked 21705 -[16764] Forked 21706 -(21705) found -(21706) found -[16763] Forked 21707 -[16762] Forked 21708 -(21707) found -(21708) found -[16761] Forked 21709 -[16760] Forked 21710 -(21709) found -(21710) found -[16759] Forked 21711 -[16758] Forked 21712 -(21711) found -(21712) found -[16757] Forked 21713 -[16756] Forked 21714 -(21713) found -(21714) found -[16755] Forked 21715 -[16754] Forked 21716 -(21715) found -(21716) found -[16753] Forked 21717 -[16752] Forked 21718 -(21717) found -(21718) found -[16751] Forked 21719 -[16750] Forked 21720 -(21719) found -(21720) found -[16749] Forked 21721 -[16748] Forked 21722 -(21721) found -(21722) found -[16747] Forked 21723 -[16746] Forked 21724 -(21723) found -(21724) found -[16745] Forked 21725 -[16744] Forked 21726 -(21725) found -(21726) found -[16743] Forked 21727 -[16742] Forked 21728 -(21727) found -(21728) found -[16741] Forked 21729 -[16740] Forked 21730 -(21729) found -(21730) found -[16739] Forked 21731 -[16738] Forked 21732 -(21731) found -(21732) found -[16737] Forked 21733 -[16736] Forked 21734 -(21733) found -(21734) found -[16735] Forked 21735 -[16734] Forked 21736 -(21735) found -(21736) found -[16733] Forked 21737 -[16732] Forked 21738 -(21737) found -(21738) found -[16731] Forked 21739 -[16730] Forked 21740 -(21739) found -(21740) found -[16729] Forked 21741 -[16728] Forked 21742 -(21741) found -(21742) found -[16727] Forked 21743 -[16726] Forked 21744 -(21743) found -(21744) found -[16725] Forked 21745 -[16724] Forked 21746 -(21745) found -(21746) found -[16723] Forked 21747 -[16722] Forked 21749 -(21747) found -(21749) found -[16721] Forked 21750 -(21750) found -[16720] Forked 21751 -(21751) found -[16719] Forked 21752 -(21752) found -[16718] Forked 21753 -(21753) found -[16717] Forked 21754 -(21754) found -[16716] Forked 21755 -(21755) found -[16715] Forked 21756 -(21756) found -[16714] Forked 21757 -(21757) found -[16713] Forked 21758 -(21758) found -[16712] Forked 21759 -(21759) found -[16711] Forked 21760 -(21760) found -[16710] Forked 21761 -(21761) found -[16709] Forked 21762 -(21762) found -[16708] Forked 21763 -(21763) found -[16707] Forked 21764 -(21764) found -[16706] Forked 21765 -(21765) found -[16705] Forked 21766 -(21766) found -[16704] Forked 21767 -(21767) found -[16703] Forked 21768 -(21768) found -[16702] Forked 21769 -(21769) found -[16701] Forked 21770 -(21770) found -[16700] Forked 21771 -(21771) found -[16699] Forked 21772 -(21772) found -[16698] Forked 21773 -(21773) found -[16697] Forked 21774 -(21774) found -[16696] Forked 21775 -(21775) found -[16695] Forked 21776 -(21776) found -[16694] Forked 21777 -(21777) found -[16693] Forked 21778 -(21778) found -[16692] Forked 21779 -(21779) found -[16691] Forked 21780 -(21780) found -[16690] Forked 21781 -(21781) found -[16689] Forked 21782 -(21782) found -[16688] Forked 21783 -(21783) found -[16687] Forked 21784 -(21784) found -[16686] Forked 21785 -(21785) found -[16685] Forked 21786 -(21786) found -[16684] Forked 21787 -[16683] Forked 21788 -(21787) found -(21788) found -[16682] Forked 21789 -[16681] Forked 21790 -(21789) found -(21790) found -[16680] Forked 21791 -[16679] Forked 21792 -(21791) found -(21792) found -[16678] Forked 21793 -[16677] Forked 21794 -(21793) found -(21794) found -[16676] Forked 21795 -[16675] Forked 21796 -(21795) found -(21796) found -[16674] Forked 21797 -[16673] Forked 21798 -(21797) found -(21798) found -[16672] Forked 21799 -[16671] Forked 21800 -(21799) found -(21800) found -[16670] Forked 21801 -[16669] Forked 21802 -(21801) found -(21802) found -[16668] Forked 21803 -[16667] Forked 21804 -(21803) found -(21804) found -[16666] Forked 21805 -[16665] Forked 21806 -(21805) found -(21806) found -[16664] Forked 21807 -[16663] Forked 21808 -(21807) found -(21808) found -[16662] Forked 21809 -[16661] Forked 21810 -(21809) found -(21810) found -[16660] Forked 21811 -[16659] Forked 21812 -(21811) found -(21812) found -[16658] Forked 21813 -[16657] Forked 21814 -(21813) found -(21814) found -[16656] Forked 21815 -[16655] Forked 21816 -(21815) found -(21816) found -[16654] Forked 21817 -[16653] Forked 21818 -(21817) found -(21818) found -[16652] Forked 21819 -[16651] Forked 21820 -(21819) found -(21820) found -[16650] Forked 21821 -[16649] Forked 21822 -(21821) found -(21822) found -[16648] Forked 21823 -[16647] Forked 21824 -(21823) found -(21824) found -[16646] Forked 21825 -[16645] Forked 21826 -(21825) found -(21826) found -[16644] Forked 21827 -[16643] Forked 21828 -(21827) found -(21828) found -[16642] Forked 21829 -[16641] Forked 21830 -(21829) found -(21830) found -[16640] Forked 21831 -[16639] Forked 21832 -(21831) found -(21832) found -[16638] Forked 21833 -[16637] Forked 21834 -(21833) found -(21834) found -[16636] Forked 21835 -[16635] Forked 21836 -(21835) found -(21836) found -[16634] Forked 21837 -[16633] Forked 21838 -(21837) found -(21838) found -[16632] Forked 21839 -[16631] Forked 21840 -(21839) found -(21840) found -[16630] Forked 21841 -[16629] Forked 21842 -(21841) found -(21842) found -[16628] Forked 21843 -[16627] Forked 21844 -(21843) found -(21844) found -[16626] Forked 21845 -[16625] Forked 21846 -(21845) found -(21846) found -[16624] Forked 21847 -[16623] Forked 21848 -(21847) found -(21848) found -[16622] Forked 21849 -[16621] Forked 21850 -(21849) found -(21850) found -[16620] Forked 21851 -[16619] Forked 21852 -(21851) found -(21852) found -[16618] Forked 21853 -[16617] Forked 21854 -(21853) found -(21854) found -[16616] Forked 21855 -[16615] Forked 21856 -(21855) found -(21856) found -[16614] Forked 21857 -[16613] Forked 21858 -(21857) found -(21858) found -[16612] Forked 21859 -[16611] Forked 21860 -(21859) found -(21860) found -[16610] Forked 21861 -[16609] Forked 21862 -(21861) found -(21862) found -[16608] Forked 21863 -[16607] Forked 21864 -(21863) found -(21864) found -[16606] Forked 21865 -[16605] Forked 21867 -(21865) found -(21867) found -[16604] Forked 21868 -(21868) found -[16603] Forked 21869 -(21869) found -[16602] Forked 21870 -(21870) found -[16601] Forked 21871 -(21871) found -[16600] Forked 21872 -(21872) found -[16599] Forked 21873 -(21873) found -[16598] Forked 21874 -(21874) found -[16597] Forked 21875 -(21875) found -[16596] Forked 21876 -(21876) found -[16595] Forked 21877 -(21877) found -[16594] Forked 21878 -(21878) found -[16593] Forked 21879 -(21879) found -[16592] Forked 21880 -(21880) found -[16591] Forked 21881 -(21881) found -[16590] Forked 21882 -(21882) found -[16589] Forked 21883 -(21883) found -[16588] Forked 21884 -(21884) found -[16587] Forked 21885 -(21885) found -[16586] Forked 21886 -(21886) found -[16585] Forked 21887 -(21887) found -[16584] Forked 21888 -(21888) found -[16583] Forked 21889 -(21889) found -[16582] Forked 21890 -(21890) found -[16581] Forked 21891 -(21891) found -[16580] Forked 21892 -(21892) found -[16579] Forked 21893 -(21893) found -[16578] Forked 21894 -(21894) found -[16577] Forked 21895 -(21895) found -[16576] Forked 21896 -(21896) found -[16575] Forked 21897 -(21897) found -[16574] Forked 21898 -(21898) found -[16573] Forked 21899 -(21899) found -[16572] Forked 21900 -(21900) found -[16571] Forked 21901 -(21901) found -[16570] Forked 21902 -(21902) found -[16569] Forked 21903 -(21903) found -[16568] Forked 21904 -(21904) found -[16567] Forked 21905 -(21905) found -[16566] Forked 21906 -(21906) found -[16565] Forked 21907 -(21907) found -[16564] Forked 21908 -(21908) found -[16563] Forked 21909 -(21909) found -[16562] Forked 21910 -(21910) found -[16561] Forked 21911 -(21911) found -[16560] Forked 21912 -(21912) found -[16559] Forked 21913 -(21913) found -[16558] Forked 21914 -[16557] Forked 21915 -(21914) found -(21915) found -[16556] Forked 21916 -[16555] Forked 21917 -(21916) found -(21917) found -[16554] Forked 21918 -[16553] Forked 21919 -(21918) found -(21919) found -[16552] Forked 21920 -[16551] Forked 21921 -(21920) found -(21921) found -[16550] Forked 21922 -[16549] Forked 21923 -(21922) found -(21923) found -[16548] Forked 21924 -[16547] Forked 21925 -(21924) found -(21925) found -[16546] Forked 21926 -[16545] Forked 21927 -(21926) found -(21927) found -[16544] Forked 21928 -[16543] Forked 21929 -(21928) found -(21929) found -[16542] Forked 21930 -[16541] Forked 21931 -(21930) found -(21931) found -[16540] Forked 21932 -[16539] Forked 21933 -(21932) found -(21933) found -[16538] Forked 21934 -[16537] Forked 21935 -(21934) found -(21935) found -[16536] Forked 21936 -[16535] Forked 21937 -(21936) found -(21937) found -[16534] Forked 21938 -[16533] Forked 21939 -(21938) found -(21939) found -[16532] Forked 21940 -[16531] Forked 21941 -(21940) found -(21941) found -[16530] Forked 21942 -[16529] Forked 21943 -(21942) found -(21943) found -[16528] Forked 21944 -[16527] Forked 21945 -(21944) found -(21945) found -[16526] Forked 21946 -[16525] Forked 21947 -(21946) found -(21947) found -[16524] Forked 21948 -[16523] Forked 21949 -(21948) found -(21949) found -[16522] Forked 21950 -[16521] Forked 21951 -(21950) found -(21951) found -[16520] Forked 21952 -[16519] Forked 21953 -(21952) found -(21953) found -[16518] Forked 21954 -[16517] Forked 21955 -(21954) found -(21955) found -[16516] Forked 21956 -[16515] Forked 21957 -(21956) found -(21957) found -[16514] Forked 21958 -(21958) found -[16513] Forked 21959 -(21959) found -[16512] Forked 21960 -(21960) found -[16511] Forked 21961 -(21961) found -[16510] Forked 21962 -(21962) found -[16509] Forked 21963 -(21963) found -[16508] Forked 21964 -(21964) found -[16507] Forked 21965 -(21965) found -[16506] Forked 21966 -(21966) found -[16505] Forked 21967 -(21967) found -[16504] Forked 21968 -(21968) found -[16503] Forked 21969 -(21969) found -[16502] Forked 21970 -(21970) found -[16501] Forked 21971 -(21971) found -[16500] Forked 21972 -(21972) found -[16499] Forked 21973 -(21973) found -[16498] Forked 21974 -(21974) found -[16497] Forked 21975 -(21975) found -[16496] Forked 21976 -(21976) found -[16495] Forked 21977 -(21977) found -[16494] Forked 21978 -(21978) found -[16493] Forked 21979 -(21979) found -[16492] Forked 21980 -(21980) found -[16491] Forked 21981 -(21981) found -[16490] Forked 21982 -(21982) found -[16489] Forked 21983 -(21983) found -[16488] Forked 21984 -(21984) found -[16487] Forked 21985 -(21985) found -[16486] Forked 21986 -(21986) found -[16485] Forked 21987 -(21987) found -[16484] Forked 21988 -(21988) found -[16483] Forked 21989 -(21989) found -[16482] Forked 21990 -(21990) found -[16481] Forked 21991 -(21991) found -[16480] Forked 21992 -(21992) found -[16479] Forked 21993 -(21993) found -[16478] Forked 21994 -(21994) found -[16477] Forked 21995 -[16476] Forked 21996 -(21995) found -(21996) found -[16475] Forked 21997 -[16474] Forked 21998 -(21997) found -(21998) found -[16473] Forked 21999 -[16472] Forked 22000 -(21999) found -(22000) found -[16471] Forked 22001 -[16470] Forked 22002 -(22001) found -(22002) found -[16469] Forked 22003 -[16468] Forked 22004 -(22003) found -(22004) found -[16467] Forked 22005 -[16466] Forked 22006 -(22005) found -(22006) found -[16465] Forked 22007 -[16464] Forked 22008 -(22007) found -(22008) found -[16463] Forked 22009 -[16462] Forked 22010 -(22009) found -(22010) found -[16461] Forked 22011 -[16460] Forked 22012 -(22011) found -(22012) found -[16459] Forked 22013 -[16458] Forked 22014 -(22013) found -(22014) found -[16457] Forked 22015 -[16456] Forked 22016 -(22015) found -(22016) found -[16455] Forked 22017 -[16454] Forked 22018 -(22017) found -(22018) found -[16453] Forked 22019 -[16452] Forked 22020 -(22019) found -(22020) found -[16451] Forked 22021 -[16450] Forked 22022 -(22021) found -(22022) found -[16449] Forked 22023 -[16448] Forked 22024 -(22023) found -(22024) found -[16447] Forked 22025 -[16446] Forked 22026 -(22025) found -(22026) found -[16445] Forked 22027 -[16444] Forked 22028 -(22027) found -(22028) found -[16443] Forked 22029 -[16442] Forked 22030 -(22029) found -(22030) found -[16441] Forked 22031 -[16440] Forked 22032 -(22031) found -(22032) found -[16439] Forked 22033 -[16438] Forked 22034 -(22033) found -(22034) found -[16437] Forked 22035 -[16436] Forked 22037 -(22035) found -(22037) found -[16435] Forked 22038 -(22038) found -[16434] Forked 22039 -(22039) found -[16433] Forked 22040 -(22040) found -[16432] Forked 22041 -(22041) found -[16431] Forked 22042 -(22042) found -[16430] Forked 22043 -(22043) found -[16429] Forked 22044 -(22044) found -[16428] Forked 22045 -(22045) found -[16427] Forked 22046 -(22046) found -[16426] Forked 22047 -(22047) found -[16425] Forked 22048 -(22048) found -[16424] Forked 22049 -(22049) found -[16423] Forked 22050 -(22050) found -[16422] Forked 22051 -(22051) found -[16421] Forked 22052 -(22052) found -[16420] Forked 22053 -(22053) found -[16419] Forked 22054 -(22054) found -[16418] Forked 22055 -(22055) found -[16417] Forked 22056 -(22056) found -[16416] Forked 22057 -(22057) found -[16415] Forked 22058 -(22058) found -[16414] Forked 22059 -(22059) found -[16413] Forked 22060 -(22060) found -[16412] Forked 22061 -(22061) found -[16411] Forked 22062 -(22062) found -[16410] Forked 22063 -(22063) found -[16409] Forked 22064 -(22064) found -[16408] Forked 22065 -(22065) found -[16407] Forked 22066 -(22066) found -[16406] Forked 22067 -(22067) found -[16405] Forked 22068 -(22068) found -[16404] Forked 22069 -(22069) found -[16403] Forked 22070 -(22070) found -[16402] Forked 22071 -(22071) found -[16401] Forked 22072 -(22072) found -[16400] Forked 22073 -(22073) found -[16399] Forked 22074 -(22074) found -[16398] Forked 22075 -(22075) found -[16397] Forked 22076 -(22076) found -[16396] Forked 22077 -[16395] Forked 22078 -(22077) found -(22078) found -[16394] Forked 22079 -[16393] Forked 22080 -(22079) found -(22080) found -[16392] Forked 22081 -[16391] Forked 22082 -(22081) found -(22082) found -[16390] Forked 22083 -[16389] Forked 22084 -(22083) found -(22084) found -[16388] Forked 22085 -[16387] Forked 22086 -(22085) found -(22086) found -[16386] Forked 22087 -[16385] Forked 22088 -(22087) found -(22088) found -[16384] Forked 22089 -[16383] Forked 22090 -(22089) found -(22090) found -[16382] Forked 22091 -[16381] Forked 22092 -(22091) found -(22092) found -[16380] Forked 22093 -[16379] Forked 22094 -(22093) found -(22094) found -[16378] Forked 22095 -[16377] Forked 22096 -(22095) found -(22096) found -[16376] Forked 22097 -[16375] Forked 22098 -(22097) found -(22098) found -[16374] Forked 22099 -[16373] Forked 22100 -(22099) found -(22100) found -[16372] Forked 22101 -[16371] Forked 22102 -(22101) found -(22102) found -[16370] Forked 22103 -[16369] Forked 22104 -(22103) found -(22104) found -[16368] Forked 22105 -[16367] Forked 22106 -(22105) found -(22106) found -[16366] Forked 22107 -[16365] Forked 22108 -(22107) found -(22108) found -[16364] Forked 22109 -[16363] Forked 22110 -(22109) found -(22110) found -[16362] Forked 22111 -[16361] Forked 22112 -(22111) found -(22112) found -[16360] Forked 22113 -[16359] Forked 22114 -(22113) found -(22114) found -[16358] Forked 22115 -[16357] Forked 22116 -(22115) found -(22116) found -[16356] Forked 22117 -[16355] Forked 22118 -(22117) found -(22118) found -[16354] Forked 22119 -[16353] Forked 22120 -(22119) found -(22120) found -[16352] Forked 22121 -[16351] Forked 22123 -(22121) found -(22123) found -[16350] Forked 22124 -(22124) found -[16349] Forked 22125 -(22125) found -[16348] Forked 22126 -(22126) found -[16347] Forked 22127 -(22127) found -[16346] Forked 22128 -(22128) found -[16345] Forked 22129 -(22129) found -[16344] Forked 22130 -(22130) found -[16343] Forked 22131 -(22131) found -[16342] Forked 22132 -(22132) found -[16341] Forked 22133 -(22133) found -[16340] Forked 22134 -(22134) found -[16339] Forked 22135 -(22135) found -[16338] Forked 22136 -(22136) found -[16337] Forked 22137 -(22137) found -[16336] Forked 22138 -(22138) found -[16335] Forked 22139 -(22139) found -[16334] Forked 22140 -(22140) found -[16333] Forked 22141 -(22141) found -[16332] Forked 22142 -(22142) found -[16331] Forked 22143 -(22143) found -[16330] Forked 22144 -(22144) found -[16329] Forked 22145 -(22145) found -[16328] Forked 22146 -(22146) found -[16327] Forked 22147 -(22147) found -[16326] Forked 22148 -(22148) found -[16325] Forked 22149 -(22149) found -[16324] Forked 22150 -(22150) found -[16323] Forked 22151 -(22151) found -[16322] Forked 22152 -(22152) found -[16321] Forked 22153 -(22153) found -[16320] Forked 22154 -(22154) found -[16319] Forked 22155 -(22155) found -[16318] Forked 22156 -(22156) found -[16317] Forked 22157 -(22157) found -[16316] Forked 22158 -(22158) found -[16315] Forked 22159 -(22159) found -[16314] Forked 22160 -(22160) found -[16313] Forked 22161 -(22161) found -[16312] Forked 22162 -(22162) found -[16311] Forked 22163 -(22163) found -[16310] Forked 22164 -(22164) found -[16309] Forked 22165 -(22165) found -[16308] Forked 22166 -(22166) found -[16307] Forked 22167 -(22167) found -[16306] Forked 22168 -(22168) found -[16305] Forked 22169 -(22169) found -[16304] Forked 22170 -(22170) found -[16303] Forked 22171 -(22171) found -[16302] Forked 22172 -(22172) found -[16301] Forked 22173 -(22173) found -[16300] Forked 22174 -(22174) found -[16299] Forked 22175 -(22175) found -[16298] Forked 22176 -(22176) found -[16297] Forked 22177 -(22177) found -[16296] Forked 22178 -(22178) found -[16295] Forked 22179 -(22179) found -[16294] Forked 22180 -(22180) found -[16293] Forked 22181 -(22181) found -[16292] Forked 22182 -(22182) found -[16291] Forked 22183 -(22183) found -[16290] Forked 22184 -(22184) found -[16289] Forked 22185 -(22185) found -[16288] Forked 22186 -(22186) found -[16287] Forked 22187 -(22187) found -[16286] Forked 22188 -(22188) found -[16285] Forked 22189 -(22189) found -[16284] Forked 22190 -(22190) found -[16283] Forked 22191 -(22191) found -[16282] Forked 22192 -(22192) found -[16281] Forked 22193 -(22193) found -[16280] Forked 22194 -[16279] Forked 22195 -(22194) found -(22195) found -[16278] Forked 22196 -[16277] Forked 22197 -(22196) found -(22197) found -[16276] Forked 22198 -[16275] Forked 22199 -(22198) found -(22199) found -[16274] Forked 22200 -[16273] Forked 22201 -(22200) found -(22201) found -[16272] Forked 22202 -[16271] Forked 22203 -(22202) found -(22203) found -[16270] Forked 22204 -[16269] Forked 22205 -(22204) found -(22205) found -[16268] Forked 22206 -[16267] Forked 22207 -(22206) found -(22207) found -[16266] Forked 22208 -[16265] Forked 22209 -(22208) found -(22209) found -[16264] Forked 22210 -[16263] Forked 22211 -(22210) found -(22211) found -[16262] Forked 22212 -[16261] Forked 22213 -(22212) found -(22213) found -[16260] Forked 22214 -[16259] Forked 22215 -(22214) found -(22215) found -[16258] Forked 22216 -[16257] Forked 22217 -(22216) found -(22217) found -[16256] Forked 22218 -[16255] Forked 22220 -(22218) found -(22220) found -[16254] Forked 22221 -(22221) found -[16253] Forked 22222 -(22222) found -[16252] Forked 22223 -(22223) found -[16251] Forked 22224 -(22224) found -[16250] Forked 22225 -(22225) found -[16249] Forked 22226 -(22226) found -[16248] Forked 22227 -(22227) found -[16247] Forked 22228 -(22228) found -[16246] Forked 22229 -(22229) found -[16245] Forked 22230 -(22230) found -[16244] Forked 22231 -(22231) found -[16243] Forked 22232 -(22232) found -[16242] Forked 22233 -(22233) found -[16241] Forked 22234 -(22234) found -[16240] Forked 22235 -(22235) found -[16239] Forked 22236 -(22236) found -[16238] Forked 22237 -(22237) found -[16237] Forked 22238 -(22238) found -[16236] Forked 22239 -(22239) found -[16235] Forked 22240 -(22240) found -[16234] Forked 22241 -(22241) found -[16233] Forked 22242 -(22242) found -[16232] Forked 22243 -(22243) found -[16231] Forked 22244 -(22244) found -[16230] Forked 22245 -(22245) found -[16229] Forked 22246 -(22246) found -[16228] Forked 22247 -(22247) found -[16227] Forked 22248 -(22248) found -[16226] Forked 22249 -(22249) found -[16225] Forked 22250 -(22250) found -[16224] Forked 22251 -(22251) found -[16223] Forked 22252 -(22252) found -[16222] Forked 22253 -(22253) found -[16221] Forked 22254 -(22254) found -[16220] Forked 22255 -(22255) found -[16219] Forked 22256 -(22256) found -[16218] Forked 22257 -(22257) found -[16217] Forked 22258 -(22258) found -[16216] Forked 22259 -(22259) found -[16215] Forked 22260 -(22260) found -[16214] Forked 22261 -(22261) found -[16213] Forked 22262 -(22262) found -[16212] Forked 22263 -(22263) found -[16211] Forked 22264 -(22264) found -[16210] Forked 22265 -(22265) found -[16209] Forked 22266 -(22266) found -[16208] Forked 22267 -(22267) found -[16207] Forked 22268 -(22268) found -[16206] Forked 22269 -(22269) found -[16205] Forked 22270 -(22270) found -[16204] Forked 22271 -(22271) found -[16203] Forked 22272 -(22272) found -[16202] Forked 22273 -(22273) found -[16201] Forked 22274 -(22274) found -[16200] Forked 22275 -(22275) found -[16199] Forked 22276 -(22276) found -[16198] Forked 22277 -(22277) found -[16197] Forked 22278 -(22278) found -[16196] Forked 22279 -(22279) found -[16195] Forked 22280 -(22280) found -[16194] Forked 22281 -(22281) found -[16193] Forked 22282 -(22282) found -[16192] Forked 22283 -(22283) found -[16191] Forked 22284 -(22284) found -[16190] Forked 22285 -(22285) found -[16189] Forked 22286 -(22286) found -[16188] Forked 22287 -(22287) found -[16187] Forked 22288 -(22288) found -[16186] Forked 22289 -(22289) found -[16185] Forked 22290 -(22290) found -[16184] Forked 22291 -(22291) found -[16183] Forked 22292 -(22292) found -[16182] Forked 22293 -(22293) found -[16181] Forked 22294 -(22294) found -[16180] Forked 22295 -(22295) found -[16179] Forked 22296 -(22296) found -[16178] Forked 22297 -(22297) found -[16177] Forked 22298 -(22298) found -[16176] Forked 22299 -(22299) found -[16175] Forked 22300 -(22300) found -[16174] Forked 22301 -(22301) found -[16173] Forked 22302 -(22302) found -[16172] Forked 22303 -(22303) found -[16171] Forked 22304 -(22304) found -[16170] Forked 22305 -(22305) found -[16169] Forked 22306 -(22306) found -[16168] Forked 22307 -[16167] Forked 22308 -(22307) found -(22308) found -[16166] Forked 22309 -[16165] Forked 22310 -(22309) found -(22310) found -[16164] Forked 22311 -[16163] Forked 22312 -(22311) found -(22312) found -[16162] Forked 22313 -[16161] Forked 22314 -(22313) found -(22314) found -[16160] Forked 22315 -[16159] Forked 22316 -(22315) found -(22316) found -[16158] Forked 22317 -[16157] Forked 22318 -(22317) found -(22318) found -[16156] Forked 22319 -[16155] Forked 22320 -(22319) found -(22320) found -[16154] Forked 22321 -[16153] Forked 22322 -(22321) found -(22322) found -[16152] Forked 22323 -[16151] Forked 22324 -(22323) found -(22324) found -[16150] Forked 22325 -[16149] Forked 22326 -(22325) found -(22326) found -[16148] Forked 22327 -[16147] Forked 22328 -(22327) found -(22328) found -[16146] Forked 22329 -[16145] Forked 22330 -(22329) found -(22330) found -[16144] Forked 22331 -[16143] Forked 22332 -(22331) found -(22332) found -[16142] Forked 22333 -[16141] Forked 22334 -(22333) found -(22334) found -[16140] Forked 22335 -[16139] Forked 22336 -(22335) found -(22336) found -[16138] Forked 22337 -[16137] Forked 22338 -(22337) found -(22338) found -[16136] Forked 22339 -[16135] Forked 22340 -(22339) found -(22340) found -[16134] Forked 22341 -[16133] Forked 22342 -(22341) found -(22342) found -[16132] Forked 22343 -[16131] Forked 22344 -(22343) found -(22344) found -[16130] Forked 22345 -[16129] Forked 22346 -(22345) found -(22346) found -[16128] Forked 22347 -(22347) found -[16127] Forked 22348 -[16126] Forked 22349 -(22348) found -(22349) found -[16125] Forked 22350 -[16124] Forked 22351 -(22350) found -(22351) found -[16123] Forked 22352 -[16122] Forked 22353 -(22352) found -(22353) found -[16121] Forked 22354 -[16120] Forked 22355 -(22354) found -(22355) found -[16119] Forked 22356 -[16118] Forked 22357 -(22356) found -(22357) found -[16117] Forked 22358 -[16116] Forked 22359 -(22358) found -(22359) found -[16115] Forked 22360 -[16114] Forked 22361 -(22360) found -(22361) found -[16113] Forked 22362 -[16112] Forked 22363 -(22362) found -(22363) found -[16111] Forked 22364 -[16110] Forked 22365 -(22364) found -(22365) found -[16109] Forked 22366 -[16108] Forked 22367 -(22366) found -(22367) found -[16107] Forked 22368 -[16106] Forked 22369 -(22368) found -(22369) found -[16105] Forked 22370 -[16104] Forked 22371 -(22370) found -(22371) found -[16103] Forked 22372 -[16102] Forked 22373 -(22372) found -(22373) found -[16101] Forked 22374 -[16100] Forked 22375 -(22374) found -(22375) found -[16099] Forked 22376 -[16098] Forked 22377 -(22376) found -(22377) found -[16097] Forked 22378 -[16096] Forked 22379 -(22378) found -(22379) found -[16095] Forked 22380 -[16094] Forked 22381 -(22380) found -(22381) found -[16093] Forked 22382 -[16092] Forked 22383 -(22382) found -(22383) found -[16091] Forked 22384 -[16090] Forked 22385 -(22384) found -(22385) found -[16089] Forked 22386 -[16088] Forked 22387 -(22386) found -(22387) found -[16087] Forked 22388 -[16086] Forked 22389 -(22388) found -(22389) found -[16085] Forked 22390 -[16084] Forked 22391 -(22390) found -(22391) found -[16083] Forked 22392 -[16082] Forked 22393 -(22392) found -(22393) found -[16081] Forked 22394 -[16080] Forked 22395 -(22394) found -(22395) found -[16079] Forked 22396 -[16078] Forked 22397 -(22396) found -(22397) found -[16077] Forked 22398 -[16076] Forked 22399 -(22398) found -(22399) found -[16075] Forked 22400 -[16074] Forked 22401 -(22400) found -(22401) found -[16073] Forked 22402 -[16072] Forked 22403 -(22402) found -(22403) found -[16071] Forked 22404 -[16070] Forked 22405 -(22404) found -(22405) found -[16069] Forked 22406 -[16068] Forked 22407 -(22406) found -(22407) found -[16067] Forked 22408 -[16066] Forked 22409 -(22408) found -(22409) found -[16065] Forked 22410 -[16064] Forked 22411 -(22410) found -(22411) found -[16063] Forked 22412 -[16062] Forked 22413 -(22412) found -(22413) found -[16061] Forked 22414 -[16060] Forked 22415 -(22414) found -(22415) found -[16059] Forked 22416 -[16058] Forked 22417 -(22416) found -(22417) found -[16057] Forked 22418 -[16056] Forked 22419 -(22418) found -(22419) found -[16055] Forked 22420 -[16054] Forked 22421 -(22420) found -(22421) found -[16053] Forked 22422 -[16052] Forked 22423 -(22422) found -(22423) found -[16051] Forked 22424 -[16050] Forked 22425 -(22424) found -(22425) found -[16049] Forked 22426 -[16048] Forked 22427 -(22426) found -(22427) found -[16047] Forked 22428 -[16046] Forked 22429 -(22428) found -(22429) found -[16045] Forked 22430 -[16044] Forked 22431 -(22430) found -(22431) found -[16043] Forked 22432 -[16042] Forked 22433 -(22432) found -(22433) found -[16041] Forked 22434 -[16040] Forked 22435 -(22434) found -(22435) found -[16039] Forked 22436 -[16038] Forked 22437 -(22436) found -(22437) found -[16037] Forked 22438 -[16036] Forked 22439 -(22438) found -(22439) found -[16035] Forked 22440 -[16034] Forked 22442 -(22440) found -(22442) found -[16033] Forked 22443 -(22443) found -[16032] Forked 22444 -(22444) found -[16031] Forked 22445 -(22445) found -[16030] Forked 22446 -(22446) found -[16029] Forked 22447 -(22447) found -[16028] Forked 22448 -(22448) found -[16027] Forked 22449 -(22449) found -[16026] Forked 22450 -(22450) found -[16025] Forked 22451 -(22451) found -[16024] Forked 22452 -(22452) found -[16023] Forked 22453 -(22453) found -[16022] Forked 22454 -(22454) found -[16021] Forked 22455 -(22455) found -[16020] Forked 22456 -(22456) found -[16019] Forked 22457 -(22457) found -[16018] Forked 22458 -(22458) found -[16017] Forked 22459 -(22459) found -[16016] Forked 22460 -(22460) found -[16015] Forked 22461 -(22461) found -[16014] Forked 22462 -(22462) found -[16013] Forked 22463 -(22463) found -[16012] Forked 22464 -(22464) found -[16011] Forked 22465 -(22465) found -[16010] Forked 22466 -(22466) found -[16009] Forked 22467 -(22467) found -[16008] Forked 22468 -(22468) found -[16007] Forked 22469 -(22469) found -[16006] Forked 22470 -(22470) found -[16005] Forked 22471 -(22471) found -[16004] Forked 22472 -(22472) found -[16003] Forked 22473 -(22473) found -[16002] Forked 22474 -(22474) found -[16001] Forked 22475 -(22475) found -[16000] Forked 22476 -(22476) found -[15999] Forked 22477 -(22477) found -[15998] Forked 22478 -(22478) found -[15997] Forked 22479 -(22479) found -[15996] Forked 22480 -(22480) found -[15995] Forked 22481 -(22481) found -[15994] Forked 22482 -[15993] Forked 22483 -(22482) found -(22483) found -[15992] Forked 22484 -[15991] Forked 22485 -(22484) found -(22485) found -[15990] Forked 22486 -[15989] Forked 22487 -(22486) found -(22487) found -[15988] Forked 22488 -[15987] Forked 22489 -(22488) found -(22489) found -[15986] Forked 22490 -[15985] Forked 22491 -(22490) found -(22491) found -[15984] Forked 22492 -[15983] Forked 22493 -(22492) found -(22493) found -[15982] Forked 22494 -[15981] Forked 22495 -(22494) found -(22495) found -[15980] Forked 22496 -[15979] Forked 22497 -(22496) found -(22497) found -[15978] Forked 22498 -[15977] Forked 22499 -(22498) found -(22499) found -[15976] Forked 22500 -[15975] Forked 22501 -(22500) found -(22501) found -[15974] Forked 22502 -[15973] Forked 22503 -(22502) found -(22503) found -[15972] Forked 22504 -[15971] Forked 22505 -(22504) found -(22505) found -[15970] Forked 22506 -[15969] Forked 22507 -(22506) found -(22507) found -[15968] Forked 22508 -[15967] Forked 22509 -(22508) found -(22509) found -[15966] Forked 22510 -[15965] Forked 22511 -(22510) found -(22511) found -[15964] Forked 22512 -[15963] Forked 22513 -(22512) found -(22513) found -[15962] Forked 22514 -[15961] Forked 22515 -(22514) found -(22515) found -[15960] Forked 22516 -[15959] Forked 22517 -(22516) found -(22517) found -[15958] Forked 22518 -[15957] Forked 22519 -(22518) found -(22519) found -[15956] Forked 22520 -[15955] Forked 22521 -(22520) found -(22521) found -[15954] Forked 22522 -[15953] Forked 22523 -(22522) found -(22523) found -[15952] Forked 22524 -[15951] Forked 22525 -(22524) found -(22525) found -[15950] Forked 22526 -[15949] Forked 22527 -(22526) found -(22527) found -[15948] Forked 22528 -[15947] Forked 22529 -(22528) found -(22529) found -[15946] Forked 22530 -[15945] Forked 22531 -(22530) found -(22531) found -[15944] Forked 22532 -[15943] Forked 22533 -(22532) found -(22533) found -[15942] Forked 22534 -[15941] Forked 22535 -(22534) found -(22535) found -[15940] Forked 22536 -[15939] Forked 22537 -(22536) found -(22537) found -[15938] Forked 22538 -[15937] Forked 22539 -(22538) found -(22539) found -[15936] Forked 22540 -[15935] Forked 22541 -(22540) found -(22541) found -[15934] Forked 22542 -[15933] Forked 22543 -(22542) found -(22543) found -[15932] Forked 22544 -[15931] Forked 22545 -(22544) found -(22545) found -[15930] Forked 22546 -[15929] Forked 22547 -(22546) found -(22547) found -[15928] Forked 22548 -[15927] Forked 22549 -(22548) found -(22549) found -[15926] Forked 22550 -[15925] Forked 22551 -(22550) found -(22551) found -[15924] Forked 22552 -[15923] Forked 22553 -(22552) found -(22553) found -[15922] Forked 22554 -[15921] Forked 22555 -(22554) found -(22555) found -[15920] Forked 22556 -[15919] Forked 22557 -(22556) found -(22557) found -[15918] Forked 22558 -[15917] Forked 22559 -(22558) found -(22559) found -[15916] Forked 22560 -[15915] Forked 22561 -(22560) found -(22561) found -[15914] Forked 22562 -[15913] Forked 22563 -(22562) found -(22563) found -[15912] Forked 22564 -[15911] Forked 22565 -(22564) found -(22565) found -[15910] Forked 22566 -[15909] Forked 22567 -(22566) found -(22567) found -[15908] Forked 22568 -[15907] Forked 22569 -(22568) found -(22569) found -[15906] Forked 22570 -[15905] Forked 22571 -(22570) found -(22571) found -[15904] Forked 22572 -[15903] Forked 22573 -(22572) found -(22573) found -[15902] Forked 22574 -(22574) found -[15901] Forked 22575 -(22575) found -[15900] Forked 22576 -(22576) found -[15899] Forked 22577 -(22577) found -[15898] Forked 22578 -(22578) found -[15897] Forked 22579 -(22579) found -[15896] Forked 22580 -(22580) found -[15895] Forked 22581 -(22581) found -[15894] Forked 22582 -(22582) found -[15893] Forked 22583 -(22583) found -[15892] Forked 22584 -(22584) found -[15891] Forked 22585 -(22585) found -[15890] Forked 22586 -(22586) found -[15889] Forked 22587 -(22587) found -[15888] Forked 22588 -(22588) found -[15887] Forked 22589 -(22589) found -[15886] Forked 22590 -(22590) found -[15885] Forked 22591 -(22591) found -[15884] Forked 22592 -(22592) found -[15883] Forked 22593 -(22593) found -[15882] Forked 22594 -(22594) found -[15881] Forked 22595 -(22595) found -[15880] Forked 22596 -(22596) found -[15879] Forked 22597 -(22597) found -[15878] Forked 22598 -(22598) found -[15877] Forked 22599 -(22599) found -[15876] Forked 22600 -(22600) found -[15875] Forked 22601 -(22601) found -[15874] Forked 22602 -(22602) found -[15873] Forked 22603 -(22603) found -[15872] Forked 22604 -(22604) found -[15871] Forked 22605 -(22605) found -[15870] Forked 22606 -(22606) found -[15869] Forked 22607 -(22607) found -[15868] Forked 22608 -(22608) found -[15867] Forked 22609 -[15866] Forked 22610 -(22609) found -(22610) found -[15865] Forked 22611 -[15864] Forked 22612 -(22611) found -(22612) found -[15863] Forked 22613 -[15862] Forked 22614 -(22613) found -(22614) found -[15861] Forked 22615 -[15860] Forked 22616 -(22615) found -(22616) found -[15859] Forked 22617 -[15858] Forked 22618 -(22617) found -(22618) found -[15857] Forked 22619 -[15856] Forked 22620 -(22619) found -(22620) found -[15855] Forked 22621 -[15854] Forked 22622 -(22621) found -(22622) found -[15853] Forked 22623 -[15852] Forked 22624 -(22623) found -(22624) found -[15851] Forked 22625 -[15850] Forked 22626 -(22625) found -(22626) found -[15849] Forked 22627 -[15848] Forked 22628 -(22627) found -(22628) found -[15847] Forked 22629 -[15846] Forked 22630 -(22629) found -(22630) found -[15845] Forked 22631 -[15844] Forked 22632 -(22631) found -(22632) found -[15843] Forked 22633 -[15842] Forked 22634 -(22633) found -(22634) found -[15841] Forked 22635 -[15840] Forked 22636 -(22635) found -(22636) found -[15839] Forked 22637 -[15838] Forked 22638 -(22637) found -(22638) found -[15837] Forked 22639 -[15836] Forked 22640 -(22639) found -(22640) found -[15835] Forked 22641 -[15834] Forked 22642 -(22641) found -(22642) found -[15833] Forked 22644 -[15832] Forked 22645 -(22644) found -(22645) found -[15831] Forked 22646 -[15830] Forked 22647 -(22646) found -(22647) found -[15829] Forked 22648 -[15828] Forked 22649 -(22648) found -(22649) found -[15827] Forked 22650 -[15826] Forked 22651 -(22650) found -(22651) found -[15825] Forked 22652 -[15824] Forked 22653 -(22652) found -(22653) found -[15823] Forked 22654 -[15822] Forked 22655 -(22654) found -(22655) found -[15821] Forked 22656 -[15820] Forked 22657 -(22656) found -(22657) found -[15819] Forked 22658 -(22658) found -[15818] Forked 22659 -(22659) found -[15817] Forked 22660 -(22660) found -[15816] Forked 22661 -(22661) found -[15815] Forked 22662 -(22662) found -[15814] Forked 22663 -(22663) found -[15813] Forked 22664 -(22664) found -[15812] Forked 22665 -(22665) found -[15811] Forked 22666 -(22666) found -[15810] Forked 22667 -(22667) found -[15809] Forked 22668 -(22668) found -[15808] Forked 22669 -(22669) found -[15807] Forked 22670 -(22670) found -[15806] Forked 22671 -(22671) found -[15805] Forked 22672 -(22672) found -[15804] Forked 22673 -(22673) found -[15803] Forked 22674 -(22674) found -[15802] Forked 22675 -(22675) found -[15801] Forked 22676 -(22676) found -[15800] Forked 22677 -(22677) found -[15799] Forked 22678 -(22678) found -[15798] Forked 22679 -(22679) found -[15797] Forked 22680 -(22680) found -[15796] Forked 22681 -(22681) found -[15795] Forked 22682 -(22682) found -[15794] Forked 22683 -(22683) found -[15793] Forked 22684 -(22684) found -[15792] Forked 22685 -(22685) found -[15791] Forked 22686 -(22686) found -[15790] Forked 22687 -(22687) found -[15789] Forked 22688 -(22688) found -[15788] Forked 22689 -(22689) found -[15787] Forked 22690 -(22690) found -[15786] Forked 22691 -(22691) found -[15785] Forked 22692 -(22692) found -[15784] Forked 22693 -[15783] Forked 22694 -(22693) found -(22694) found -[15782] Forked 22695 -(22695) found -[15781] Forked 22696 -(22696) found -[15780] Forked 22697 -(22697) found -[15779] Forked 22698 -(22698) found -[15778] Forked 22699 -(22699) found -[15777] Forked 22700 -(22700) found -[15776] Forked 22701 -(22701) found -[15775] Forked 22702 -(22702) found -[15774] Forked 22703 -(22703) found -[15773] Forked 22704 -(22704) found -[15772] Forked 22705 -(22705) found -[15771] Forked 22706 -(22706) found -[15770] Forked 22707 -(22707) found -[15769] Forked 22708 -(22708) found -[15768] Forked 22709 -(22709) found -[15767] Forked 22710 -(22710) found -[15766] Forked 22711 -(22711) found -[15765] Forked 22712 -(22712) found -[15764] Forked 22713 -(22713) found -[15763] Forked 22714 -(22714) found -[15762] Forked 22715 -(22715) found -[15761] Forked 22716 -(22716) found -[15760] Forked 22717 -(22717) found -[15759] Forked 22718 -(22718) found -[15758] Forked 22719 -(22719) found -[15757] Forked 22720 -(22720) found -[15756] Forked 22721 -(22721) found -[15755] Forked 22722 -(22722) found -[15754] Forked 22723 -(22723) found -[15753] Forked 22724 -(22724) found -[15752] Forked 22725 -[15751] Forked 22726 -(22725) found -(22726) found -[15750] Forked 22727 -[15749] Forked 22728 -(22727) found -(22728) found -[15748] Forked 22729 -[15747] Forked 22730 -(22729) found -(22730) found -[15746] Forked 22731 -[15745] Forked 22732 -(22731) found -(22732) found -[15744] Forked 22733 -[15743] Forked 22734 -(22733) found -(22734) found -[15742] Forked 22735 -[15741] Forked 22736 -(22735) found -(22736) found -[15740] Forked 22737 -[15739] Forked 22738 -(22737) found -(22738) found -[15738] Forked 22739 -[15737] Forked 22740 -(22739) found -(22740) found -[15736] Forked 22741 -[15735] Forked 22742 -(22741) found -(22742) found -[15734] Forked 22743 -[15733] Forked 22744 -(22743) found -(22744) found -[15732] Forked 22745 -[15731] Forked 22746 -(22745) found -(22746) found -[15730] Forked 22747 -[15729] Forked 22748 -(22747) found -(22748) found -[15728] Forked 22749 -[15727] Forked 22750 -(22749) found -(22750) found -[15726] Forked 22751 -(22751) found -[15725] Forked 22752 -[15724] Forked 22753 -(22752) found -(22753) found -[15723] Forked 22754 -[15722] Forked 22755 -(22754) found -(22755) found -[15721] Forked 22756 -[15720] Forked 22757 -(22756) found -(22757) found -[15719] Forked 22758 -[15718] Forked 22759 -(22758) found -(22759) found -[15717] Forked 22760 -[15716] Forked 22761 -(22760) found -(22761) found -[15715] Forked 22762 -[15714] Forked 22763 -(22762) found -(22763) found -[15713] Forked 22764 -[15712] Forked 22765 -(22764) found -(22765) found -[15711] Forked 22766 -[15710] Forked 22767 -(22766) found -(22767) found -[15709] Forked 22768 -[15708] Forked 22769 -(22768) found -(22769) found -[15707] Forked 22770 -[15706] Forked 22771 -(22771) found -(22770) found -[15705] Forked 22772 -(22772) found -[15704] Forked 22773 -(22773) found -[15703] Forked 22774 -(22774) found -[15702] Forked 22775 -(22775) found -[15701] Forked 22776 -(22776) found -[15700] Forked 22777 -(22777) found -[15699] Forked 22778 -(22778) found -[15698] Forked 22779 -(22779) found -[15697] Forked 22780 -(22780) found -[15696] Forked 22781 -(22781) found -[15695] Forked 22782 -(22782) found -[15694] Forked 22783 -(22783) found -[15693] Forked 22784 -(22784) found -[15692] Forked 22785 -(22785) found -[15691] Forked 22786 -(22786) found -[15690] Forked 22787 -(22787) found -[15689] Forked 22788 -(22788) found -[15688] Forked 22789 -(22789) found -[15687] Forked 22790 -(22790) found -[15686] Forked 22791 -(22791) found -[15685] Forked 22792 -(22792) found -[15684] Forked 22793 -(22793) found -[15683] Forked 22794 -(22794) found -[15682] Forked 22795 -(22795) found -[15681] Forked 22796 -(22796) found -[15680] Forked 22797 -(22797) found -[15679] Forked 22798 -(22798) found -[15678] Forked 22799 -(22799) found -[15677] Forked 22800 -(22800) found -[15676] Forked 22801 -(22801) found -[15675] Forked 22802 -(22802) found -[15674] Forked 22803 -(22803) found -[15673] Forked 22804 -(22804) found -[15672] Forked 22805 -(22805) found -[15671] Forked 22806 -(22806) found -[15670] Forked 22807 -(22807) found -[15669] Forked 22808 -(22808) found -[15668] Forked 22809 -(22809) found -[15667] Forked 22810 -(22810) found -[15666] Forked 22811 -(22811) found -[15665] Forked 22812 -(22812) found -[15664] Forked 22813 -(22813) found -[15663] Forked 22814 -(22814) found -[15662] Forked 22815 -(22815) found -[15661] Forked 22816 -(22816) found -[15660] Forked 22817 -(22817) found -[15659] Forked 22818 -(22818) found -[15658] Forked 22819 -(22819) found -[15657] Forked 22820 -(22820) found -[15656] Forked 22821 -(22821) found -[15655] Forked 22822 -(22822) found -[15654] Forked 22823 -(22823) found -[15653] Forked 22824 -(22824) found -[15652] Forked 22825 -(22825) found -[15651] Forked 22826 -(22826) found -[15650] Forked 22827 -(22827) found -[15649] Forked 22828 -(22828) found -[15648] Forked 22829 -(22829) found -[15647] Forked 22830 -(22830) found -[15646] Forked 22831 -(22831) found -[15645] Forked 22832 -(22832) found -[15644] Forked 22833 -(22833) found -[15643] Forked 22834 -(22834) found -[15642] Forked 22835 -(22835) found -[15641] Forked 22836 -(22836) found -[15640] Forked 22837 -(22837) found -[15639] Forked 22838 -(22838) found -[15638] Forked 22839 -(22839) found -[15637] Forked 22840 -(22840) found -[15636] Forked 22841 -(22841) found -[15635] Forked 22842 -(22842) found -[15634] Forked 22843 -(22843) found -[15633] Forked 22844 -(22844) found -[15632] Forked 22845 -[15631] Forked 22846 -(22845) found -(22846) found -[15630] Forked 22847 -[15629] Forked 22848 -(22847) found -(22848) found -[15628] Forked 22849 -[15627] Forked 22850 -(22849) found -(22850) found -[15626] Forked 22851 -[15625] Forked 22852 -(22851) found -(22852) found -[15624] Forked 22853 -[15623] Forked 22854 -(22853) found -(22854) found -[15622] Forked 22855 -[15621] Forked 22856 -(22855) found -(22856) found -[15620] Forked 22857 -[15619] Forked 22858 -(22857) found -(22858) found -[15618] Forked 22859 -[15617] Forked 22860 -(22859) found -(22860) found -[15616] Forked 22861 -[15615] Forked 22862 -(22861) found -(22862) found -[15614] Forked 22863 -[15613] Forked 22864 -(22863) found -(22864) found -[15612] Forked 22865 -[15611] Forked 22866 -(22865) found -(22866) found -[15610] Forked 22867 -[15609] Forked 22868 -(22867) found -(22868) found -[15608] Forked 22869 -[15607] Forked 22870 -(22869) found -(22870) found -[15606] Forked 22871 -[15605] Forked 22872 -(22871) found -(22872) found -[15604] Forked 22873 -[15603] Forked 22874 -(22873) found -(22874) found -[15602] Forked 22875 -[15601] Forked 22876 -(22875) found -(22876) found -[15600] Forked 22877 -[15599] Forked 22878 -(22877) found -(22878) found -[15598] Forked 22879 -[15597] Forked 22880 -(22879) found -(22880) found -[15596] Forked 22881 -[15595] Forked 22882 -(22881) found -(22882) found -[15594] Forked 22883 -[15593] Forked 22884 -(22883) found -(22884) found -[15592] Forked 22885 -[15591] Forked 22886 -(22885) found -(22886) found -[15590] Forked 22887 -[15589] Forked 22888 -(22888) found -(22887) found -[15588] Forked 22889 -(22889) found -[15587] Forked 22890 -(22890) found -[15586] Forked 22891 -(22891) found -[15585] Forked 22892 -(22892) found -[15584] Forked 22893 -(22893) found -[15583] Forked 22894 -(22894) found -[15582] Forked 22895 -(22895) found -[15581] Forked 22896 -(22896) found -[15580] Forked 22897 -(22897) found -[15579] Forked 22898 -(22898) found -[15578] Forked 22899 -(22899) found -[15577] Forked 22900 -(22900) found -[15576] Forked 22901 -(22901) found -[15575] Forked 22902 -(22902) found -[15574] Forked 22903 -(22903) found -[15573] Forked 22904 -(22904) found -[15572] Forked 22905 -(22905) found -[15571] Forked 22906 -(22906) found -[15570] Forked 22907 -(22907) found -[15569] Forked 22908 -(22908) found -[15568] Forked 22909 -(22909) found -[15567] Forked 22910 -(22910) found -[15566] Forked 22911 -(22911) found -[15565] Forked 22912 -(22912) found -[15564] Forked 22913 -(22913) found -[15563] Forked 22914 -(22914) found -[15562] Forked 22915 -(22915) found -[15561] Forked 22916 -(22916) found -[15560] Forked 22917 -(22917) found -[15559] Forked 22918 -(22918) found -[15558] Forked 22919 -(22919) found -[15557] Forked 22920 -(22920) found -[15556] Forked 22921 -(22921) found -[15555] Forked 22922 -(22922) found -[15554] Forked 22923 -(22923) found -[15553] Forked 22924 -[15552] Forked 22925 -(22924) found -(22925) found -[15551] Forked 22926 -[15550] Forked 22927 -(22926) found -(22927) found -[15549] Forked 22928 -[15548] Forked 22929 -(22928) found -(22929) found -[15547] Forked 22930 -[15546] Forked 22931 -(22930) found -(22931) found -[15545] Forked 22932 -[15544] Forked 22933 -(22932) found -(22933) found -[15543] Forked 22934 -[15542] Forked 22935 -(22934) found -(22935) found -[15541] Forked 22936 -[15540] Forked 22937 -(22936) found -(22937) found -[15539] Forked 22938 -[15538] Forked 22939 -(22938) found -(22939) found -[15537] Forked 22940 -[15536] Forked 22941 -(22940) found -(22941) found -[15535] Forked 22942 -[15534] Forked 22943 -(22942) found -(22943) found -[15533] Forked 22944 -[15532] Forked 22945 -(22944) found -(22945) found -[15531] Forked 22946 -[15530] Forked 22947 -(22946) found -(22947) found -[15529] Forked 22948 -[15528] Forked 22949 -(22948) found -(22949) found -[15527] Forked 22950 -[15526] Forked 22951 -(22950) found -(22951) found -[15525] Forked 22952 -[15524] Forked 22953 -(22952) found -(22953) found -[15523] Forked 22954 -[15522] Forked 22955 -(22954) found -(22955) found -[15521] Forked 22956 -[15520] Forked 22957 -(22956) found -(22957) found -[15519] Forked 22958 -[15518] Forked 22959 -(22958) found -(22959) found -[15517] Forked 22960 -[15516] Forked 22961 -(22960) found -(22961) found -[15515] Forked 22962 -[15514] Forked 22963 -(22962) found -(22963) found -[15513] Forked 22964 -[15512] Forked 22965 -(22964) found -(22965) found -[15511] Forked 22966 -[15510] Forked 22967 -(22966) found -(22967) found -[15509] Forked 22968 -(22968) found -[15508] Forked 22969 -(22969) found -[15507] Forked 22970 -(22970) found -[15506] Forked 22971 -(22971) found -[15505] Forked 22972 -(22972) found -[15504] Forked 22973 -(22973) found -[15503] Forked 22974 -(22974) found -[15502] Forked 22975 -(22975) found -[15501] Forked 22976 -(22976) found -[15500] Forked 22977 -(22977) found -[15499] Forked 22978 -(22978) found -[15498] Forked 22979 -(22979) found -[15497] Forked 22980 -(22980) found -[15496] Forked 22981 -(22981) found -[15495] Forked 22982 -(22982) found -[15494] Forked 22983 -(22983) found -[15493] Forked 22984 -(22984) found -[15492] Forked 22985 -(22985) found -[15491] Forked 22986 -(22986) found -[15490] Forked 22987 -(22987) found -[15489] Forked 22988 -(22988) found -[15488] Forked 22989 -(22989) found -[15487] Forked 22990 -(22990) found -[15486] Forked 22991 -(22991) found -[15485] Forked 22992 -(22992) found -[15484] Forked 22993 -(22993) found -[15483] Forked 22994 -(22994) found -[15482] Forked 22995 -(22995) found -[15481] Forked 22996 -(22996) found -[15480] Forked 22997 -(22997) found -[15479] Forked 22998 -(22998) found -[15478] Forked 22999 -(22999) found -[15477] Forked 23000 -(23000) found -[15476] Forked 23001 -(23001) found -[15475] Forked 23002 -(23002) found -[15474] Forked 23003 -(23003) found -[15473] Forked 23004 -[15472] Forked 23005 -(23004) found -(23005) found -[15471] Forked 23006 -[15470] Forked 23007 -(23006) found -(23007) found -[15469] Forked 23008 -[15468] Forked 23009 -(23008) found -(23009) found -[15467] Forked 23010 -[15466] Forked 23011 -(23010) found -(23011) found -[15465] Forked 23012 -[15464] Forked 23013 -(23012) found -(23013) found -[15463] Forked 23014 -[15462] Forked 23015 -(23014) found -(23015) found -[15461] Forked 23016 -[15460] Forked 23017 -(23016) found -(23017) found -[15459] Forked 23018 -[15458] Forked 23019 -(23018) found -(23019) found -[15457] Forked 23020 -[15456] Forked 23021 -(23020) found -(23021) found -[15455] Forked 23022 -[15454] Forked 23023 -(23022) found -(23023) found -[15453] Forked 23024 -[15452] Forked 23025 -(23024) found -(23025) found -[15451] Forked 23026 -[15450] Forked 23027 -(23026) found -(23027) found -[15449] Forked 23028 -[15448] Forked 23029 -(23028) found -(23029) found -[15447] Forked 23030 -[15446] Forked 23031 -(23030) found -(23031) found -[15445] Forked 23032 -[15444] Forked 23033 -(23032) found -(23033) found -[15443] Forked 23034 -[15442] Forked 23035 -(23034) found -(23035) found -[15441] Forked 23036 -[15440] Forked 23037 -(23036) found -(23037) found -[15439] Forked 23038 -[15438] Forked 23039 -(23039) found -(23038) found -[15437] Forked 23040 -(23040) found -[15436] Forked 23041 -(23041) found -[15435] Forked 23042 -(23042) found -[15434] Forked 23043 -(23043) found -[15433] Forked 23044 -(23044) found -[15432] Forked 23045 -(23045) found -[15431] Forked 23046 -(23046) found -[15430] Forked 23047 -(23047) found -[15429] Forked 23048 -(23048) found -[15428] Forked 23049 -(23049) found -[15427] Forked 23050 -(23050) found -[15426] Forked 23051 -(23051) found -[15425] Forked 23052 -(23052) found -[15424] Forked 23053 -(23053) found -[15423] Forked 23054 -(23054) found -[15422] Forked 23055 -(23055) found -[15421] Forked 23056 -(23056) found -[15420] Forked 23057 -(23057) found -[15419] Forked 23058 -(23058) found -[15418] Forked 23059 -(23059) found -[15417] Forked 23060 -(23060) found -[15416] Forked 23061 -(23061) found -[15415] Forked 23062 -(23062) found -[15414] Forked 23063 -(23063) found -[15413] Forked 23064 -(23064) found -[15412] Forked 23065 -(23065) found -[15411] Forked 23066 -(23066) found -[15410] Forked 23067 -(23067) found -[15409] Forked 23068 -(23068) found -[15408] Forked 23069 -(23069) found -[15407] Forked 23070 -(23070) found -[15406] Forked 23071 -(23071) found -[15405] Forked 23072 -(23072) found -[15404] Forked 23073 -(23073) found -[15403] Forked 23074 -(23074) found -[15402] Forked 23075 -(23075) found -[15401] Forked 23076 -(23076) found -[15400] Forked 23077 -(23077) found -[15399] Forked 23078 -(23078) found -[15398] Forked 23079 -(23079) found -[15397] Forked 23080 -(23080) found -[15396] Forked 23081 -(23081) found -[15395] Forked 23082 -(23082) found -[15394] Forked 23083 -[15393] Forked 23084 -(23083) found -(23084) found -[15392] Forked 23085 -[15391] Forked 23086 -(23085) found -(23086) found -[15390] Forked 23087 -[15389] Forked 23088 -(23087) found -(23088) found -[15388] Forked 23089 -[15387] Forked 23090 -(23089) found -(23090) found -[15386] Forked 23091 -[15385] Forked 23092 -(23091) found -(23092) found -[15384] Forked 23093 -[15383] Forked 23094 -(23093) found -(23094) found -[15382] Forked 23095 -[15381] Forked 23096 -(23095) found -(23096) found -[15380] Forked 23097 -[15379] Forked 23098 -(23097) found -(23098) found -[15378] Forked 23099 -[15377] Forked 23100 -(23099) found -(23100) found -[15376] Forked 23101 -[15375] Forked 23102 -(23101) found -(23102) found -[15374] Forked 23103 -[15373] Forked 23104 -(23103) found -(23104) found -[15372] Forked 23105 -[15371] Forked 23106 -(23105) found -(23106) found -[15370] Forked 23107 -[15369] Forked 23108 -(23107) found -(23108) found -[15368] Forked 23109 -[15367] Forked 23110 -(23109) found -(23110) found -[15366] Forked 23111 -[15365] Forked 23112 -(23111) found -(23112) found -[15364] Forked 23113 -[15363] Forked 23114 -(23113) found -(23114) found -[15362] Forked 23115 -[15361] Forked 23116 -(23115) found -(23116) found -[15360] Forked 23117 -[15359] Forked 23118 -(23117) found -(23118) found -[15358] Forked 23119 -[15357] Forked 23120 -(23119) found -(23120) found -[15356] Forked 23121 -[15355] Forked 23122 -(23121) found -(23122) found -[15354] Forked 23123 -[15353] Forked 23124 -(23123) found -(23124) found -[15352] Forked 23125 -[15351] Forked 23126 -(23125) found -(23126) found -[15350] Forked 23127 -[15349] Forked 23128 -(23127) found -(23128) found -[15348] Forked 23129 -(23129) found -[15347] Forked 23130 -(23130) found -[15346] Forked 23131 -(23131) found -[15345] Forked 23132 -[15344] Forked 23133 -(23132) found -(23133) found -[15343] Forked 23134 -[15342] Forked 23135 -(23134) found -(23135) found -[15341] Forked 23136 -[15340] Forked 23137 -(23136) found -(23137) found -[15339] Forked 23138 -[15338] Forked 23139 -(23138) found -(23139) found -[15337] Forked 23140 -[15336] Forked 23141 -(23140) found -(23141) found -[15335] Forked 23142 -[15334] Forked 23143 -(23142) found -(23143) found -[15333] Forked 23144 -[15332] Forked 23145 -(23144) found -(23145) found -[15331] Forked 23146 -[15330] Forked 23147 -(23146) found -(23147) found -[15329] Forked 23148 -[15328] Forked 23149 -(23148) found -(23149) found -[15327] Forked 23150 -[15326] Forked 23151 -(23150) found -(23151) found -[15325] Forked 23152 -[15324] Forked 23153 -(23152) found -(23153) found -[15323] Forked 23154 -[15322] Forked 23155 -(23154) found -(23155) found -[15321] Forked 23156 -[15320] Forked 23158 -(23156) found -(23158) found -[15319] Forked 23159 -(23159) found -[15318] Forked 23160 -(23160) found -[15317] Forked 23161 -(23161) found -[15316] Forked 23162 -(23162) found -[15315] Forked 23163 -(23163) found -[15314] Forked 23164 -(23164) found -[15313] Forked 23165 -(23165) found -[15312] Forked 23166 -(23166) found -[15311] Forked 23167 -(23167) found -[15310] Forked 23168 -(23168) found -[15309] Forked 23169 -(23169) found -[15308] Forked 23170 -(23170) found -[15307] Forked 23171 -(23171) found -[15306] Forked 23172 -(23172) found -[15305] Forked 23173 -(23173) found -[15304] Forked 23174 -(23174) found -[15303] Forked 23175 -(23175) found -[15302] Forked 23176 -(23176) found -[15301] Forked 23177 -(23177) found -[15300] Forked 23178 -(23178) found -[15299] Forked 23179 -(23179) found -[15298] Forked 23180 -(23180) found -[15297] Forked 23181 -(23181) found -[15296] Forked 23182 -(23182) found -[15295] Forked 23183 -(23183) found -[15294] Forked 23184 -(23184) found -[15293] Forked 23185 -(23185) found -[15292] Forked 23186 -(23186) found -[15291] Forked 23187 -(23187) found -[15290] Forked 23188 -(23188) found -[15289] Forked 23189 -(23189) found -[15288] Forked 23190 -(23190) found -[15287] Forked 23191 -(23191) found -[15286] Forked 23192 -(23192) found -[15285] Forked 23193 -(23193) found -[15284] Forked 23194 -(23194) found -[15283] Forked 23195 -(23195) found -[15282] Forked 23196 -(23196) found -[15281] Forked 23197 -(23197) found -[15280] Forked 23198 -(23198) found -[15279] Forked 23199 -(23199) found -[15278] Forked 23200 -(23200) found -[15277] Forked 23201 -(23201) found -[15276] Forked 23202 -(23202) found -[15275] Forked 23203 -(23203) found -[15274] Forked 23204 -(23204) found -[15273] Forked 23205 -(23205) found -[15272] Forked 23206 -(23206) found -[15271] Forked 23207 -(23207) found -[15270] Forked 23208 -(23208) found -[15269] Forked 23209 -(23209) found -[15268] Forked 23210 -(23210) found -[15267] Forked 23211 -[15266] Forked 23212 -(23211) found -(23212) found -[15265] Forked 23213 -[15264] Forked 23214 -(23213) found -(23214) found -[15263] Forked 23215 -[15262] Forked 23216 -(23215) found -(23216) found -[15261] Forked 23217 -[15260] Forked 23218 -(23217) found -(23218) found -[15259] Forked 23219 -[15258] Forked 23220 -(23219) found -(23220) found -[15257] Forked 23221 -[15256] Forked 23222 -(23221) found -(23222) found -[15255] Forked 23223 -[15254] Forked 23224 -(23223) found -(23224) found -[15253] Forked 23225 -[15252] Forked 23226 -(23225) found -(23226) found -[15251] Forked 23227 -[15250] Forked 23228 -(23227) found -(23228) found -[15249] Forked 23229 -[15248] Forked 23230 -(23229) found -(23230) found -[15247] Forked 23231 -[15246] Forked 23232 -(23231) found -(23232) found -[15245] Forked 23233 -[15244] Forked 23234 -(23233) found -(23234) found -[15243] Forked 23235 -[15242] Forked 23236 -(23235) found -(23236) found -[15241] Forked 23237 -[15240] Forked 23238 -(23237) found -(23238) found -[15239] Forked 23239 -[15238] Forked 23240 -(23239) found -(23240) found -[15237] Forked 23241 -[15236] Forked 23242 -(23241) found -(23242) found -[15235] Forked 23243 -[15234] Forked 23244 -(23243) found -(23244) found -[15233] Forked 23245 -[15232] Forked 23246 -(23245) found -(23246) found -[15231] Forked 23247 -[15230] Forked 23248 -(23247) found -(23248) found -[15229] Forked 23249 -[15228] Forked 23250 -(23249) found -(23250) found -[15227] Forked 23251 -[15226] Forked 23252 -(23251) found -(23252) found -[15225] Forked 23253 -[15224] Forked 23254 -(23253) found -(23254) found -[15223] Forked 23255 -[15222] Forked 23256 -(23255) found -(23256) found -[15221] Forked 23257 -[15220] Forked 23258 -(23258) found -(23257) found -[15219] Forked 23259 -(23259) found -[15218] Forked 23260 -(23260) found -[15217] Forked 23261 -(23261) found -[15216] Forked 23262 -(23262) found -[15215] Forked 23263 -(23263) found -[15214] Forked 23264 -(23264) found -[15213] Forked 23265 -(23265) found -[15212] Forked 23266 -(23266) found -[15211] Forked 23267 -(23267) found -[15210] Forked 23268 -(23268) found -[15209] Forked 23269 -(23269) found -[15208] Forked 23270 -(23270) found -[15207] Forked 23271 -(23271) found -[15206] Forked 23272 -(23272) found -[15205] Forked 23273 -(23273) found -[15204] Forked 23274 -(23274) found -[15203] Forked 23275 -(23275) found -[15202] Forked 23276 -(23276) found -[15201] Forked 23277 -(23277) found -[15200] Forked 23278 -(23278) found -[15199] Forked 23279 -(23279) found -[15198] Forked 23280 -(23280) found -[15197] Forked 23281 -(23281) found -[15196] Forked 23282 -(23282) found -[15195] Forked 23283 -(23283) found -[15194] Forked 23284 -(23284) found -[15193] Forked 23285 -(23285) found -[15192] Forked 23286 -(23286) found -[15191] Forked 23287 -(23287) found -[15190] Forked 23288 -(23288) found -[15189] Forked 23289 -(23289) found -[15188] Forked 23290 -(23290) found -[15187] Forked 23291 -(23291) found -[15186] Forked 23292 -(23292) found -[15185] Forked 23293 -(23293) found -[15184] Forked 23294 -(23294) found -[15183] Forked 23295 -(23295) found -[15182] Forked 23296 -(23296) found -[15181] Forked 23297 -(23297) found -[15180] Forked 23298 -(23298) found -[15179] Forked 23299 -(23299) found -[15178] Forked 23300 -(23300) found -[15177] Forked 23301 -(23301) found -[15176] Forked 23302 -(23302) found -[15175] Forked 23303 -(23303) found -[15174] Forked 23304 -(23304) found -[15173] Forked 23305 -(23305) found -[15172] Forked 23306 -(23306) found -[15171] Forked 23307 -(23307) found -[15170] Forked 23308 -(23308) found -[15169] Forked 23309 -(23309) found -[15168] Forked 23310 -(23310) found -[15167] Forked 23311 -(23311) found -[15166] Forked 23312 -(23312) found -[15165] Forked 23313 -(23313) found -[15164] Forked 23314 -(23314) found -[15163] Forked 23315 -(23315) found -[15162] Forked 23316 -(23316) found -[15161] Forked 23317 -(23317) found -[15160] Forked 23318 -(23318) found -[15159] Forked 23319 -(23319) found -[15158] Forked 23320 -(23320) found -[15157] Forked 23321 -(23321) found -[15156] Forked 23322 -(23322) found -[15155] Forked 23323 -(23323) found -[15154] Forked 23324 -(23324) found -[15153] Forked 23325 -(23325) found -[15152] Forked 23326 -(23326) found -[15151] Forked 23327 -(23327) found -[15150] Forked 23328 -(23328) found -[15149] Forked 23329 -(23329) found -[15148] Forked 23330 -[15147] Forked 23331 -(23330) found -(23331) found -[15146] Forked 23332 -[15145] Forked 23333 -(23332) found -(23333) found -[15144] Forked 23334 -[15143] Forked 23335 -(23334) found -(23335) found -[15142] Forked 23336 -[15141] Forked 23337 -(23336) found -(23337) found -[15140] Forked 23338 -[15139] Forked 23339 -(23338) found -(23339) found -[15138] Forked 23340 -[15137] Forked 23341 -(23340) found -(23341) found -[15136] Forked 23342 -[15135] Forked 23343 -(23342) found -(23343) found -[15134] Forked 23344 -[15133] Forked 23345 -(23344) found -(23345) found -[15132] Forked 23346 -[15131] Forked 23347 -(23346) found -(23347) found -[15130] Forked 23348 -[15129] Forked 23349 -(23348) found -(23349) found -[15128] Forked 23350 -[15127] Forked 23351 -(23350) found -(23351) found -[15126] Forked 23352 -[15125] Forked 23353 -(23352) found -(23353) found -[15124] Forked 23354 -[15123] Forked 23355 -(23354) found -(23355) found -[15122] Forked 23356 -[15121] Forked 23357 -(23356) found -(23357) found -[15120] Forked 23358 -[15119] Forked 23359 -(23358) found -(23359) found -[15118] Forked 23360 -[15117] Forked 23361 -(23360) found -(23361) found -[15116] Forked 23362 -[15115] Forked 23363 -(23362) found -(23363) found -[15114] Forked 23364 -[15113] Forked 23365 -(23364) found -(23365) found -[15112] Forked 23366 -[15111] Forked 23367 -(23366) found -(23367) found -[15110] Forked 23368 -[15109] Forked 23369 -(23368) found -(23369) found -[15108] Forked 23370 -[15107] Forked 23371 -(23370) found -(23371) found -[15106] Forked 23372 -[15105] Forked 23373 -(23372) found -(23373) found -[15104] Forked 23374 -[15103] Forked 23375 -(23374) found -(23375) found -[15102] Forked 23376 -(23376) found -[15101] Forked 23377 -(23377) found -[15100] Forked 23378 -(23378) found -[15099] Forked 23379 -(23379) found -[15098] Forked 23380 -(23380) found -[15097] Forked 23381 -(23381) found -[15096] Forked 23382 -(23382) found -[15095] Forked 23383 -(23383) found -[15094] Forked 23384 -(23384) found -[15093] Forked 23385 -(23385) found -[15092] Forked 23386 -(23386) found -[15091] Forked 23387 -(23387) found -[15090] Forked 23388 -(23388) found -[15089] Forked 23389 -(23389) found -[15088] Forked 23390 -(23390) found -[15087] Forked 23391 -(23391) found -[15086] Forked 23392 -(23392) found -[15085] Forked 23393 -(23393) found -[15084] Forked 23394 -(23394) found -[15083] Forked 23395 -(23395) found -[15082] Forked 23396 -(23396) found -[15081] Forked 23397 -(23397) found -[15080] Forked 23398 -(23398) found -[15079] Forked 23399 -(23399) found -[15078] Forked 23400 -(23400) found -[15077] Forked 23401 -(23401) found -[15076] Forked 23402 -(23402) found -[15075] Forked 23403 -(23403) found -[15074] Forked 23404 -(23404) found -[15073] Forked 23405 -(23405) found -[15072] Forked 23406 -(23406) found -[15071] Forked 23407 -(23407) found -[15070] Forked 23408 -(23408) found -[15069] Forked 23409 -(23409) found -[15068] Forked 23410 -(23410) found -[15067] Forked 23411 -(23411) found -[15066] Forked 23412 -(23412) found -[15065] Forked 23413 -[15064] Forked 23414 -(23413) found -(23414) found -[15063] Forked 23415 -[15062] Forked 23416 -(23415) found -(23416) found -[15061] Forked 23417 -[15060] Forked 23418 -(23417) found -(23418) found -[15059] Forked 23419 -[15058] Forked 23420 -(23419) found -(23420) found -[15057] Forked 23421 -[15056] Forked 23422 -(23421) found -(23422) found -[15055] Forked 23423 -[15054] Forked 23424 -(23423) found -(23424) found -[15053] Forked 23425 -[15052] Forked 23426 -(23425) found -(23426) found -[15051] Forked 23427 -[15050] Forked 23428 -(23427) found -(23428) found -[15049] Forked 23429 -[15048] Forked 23430 -(23429) found -(23430) found -[15047] Forked 23431 -[15046] Forked 23432 -(23431) found -(23432) found -[15045] Forked 23433 -[15044] Forked 23434 -(23433) found -(23434) found -[15043] Forked 23435 -[15042] Forked 23436 -(23435) found -(23436) found -[15041] Forked 23437 -[15040] Forked 23438 -(23437) found -(23438) found -[15039] Forked 23439 -[15038] Forked 23440 -(23439) found -(23440) found -[15037] Forked 23441 -[15036] Forked 23442 -(23441) found -(23442) found -[15035] Forked 23443 -[15034] Forked 23444 -(23443) found -(23444) found -[15033] Forked 23445 -[15032] Forked 23446 -(23445) found -(23446) found -[15031] Forked 23447 -[15030] Forked 23448 -(23447) found -(23448) found -[15029] Forked 23449 -[15028] Forked 23450 -(23449) found -(23450) found -[15027] Forked 23451 -[15026] Forked 23452 -(23451) found -(23452) found -[15025] Forked 23453 -[15024] Forked 23454 -(23453) found -(23454) found -[15023] Forked 23455 -[15022] Forked 23456 -(23455) found -(23456) found -[15021] Forked 23457 -[15020] Forked 23458 -(23457) found -(23458) found -[15019] Forked 23459 -[15018] Forked 23460 -(23459) found -(23460) found -[15017] Forked 23461 -[15016] Forked 23462 -(23461) found -(23462) found -[15015] Forked 23463 -[15014] Forked 23464 -(23463) found -(23464) found -[15013] Forked 23465 -[15012] Forked 23466 -(23465) found -(23466) found -[15011] Forked 23467 -[15010] Forked 23468 -(23467) found -(23468) found -[15009] Forked 23469 -[15008] Forked 23470 -(23469) found -(23470) found -[15007] Forked 23471 -[15006] Forked 23472 -(23471) found -(23472) found -[15005] Forked 23473 -[15004] Forked 23474 -(23473) found -(23474) found -[15003] Forked 23475 -[15002] Forked 23476 -(23475) found -(23476) found -[15001] Forked 23477 -[15000] Forked 23478 -(23477) found -(23478) found -[14999] Forked 23479 -[14998] Forked 23480 -(23479) found -(23480) found -[14997] Forked 23481 -[14996] Forked 23482 -(23481) found -(23482) found -[14995] Forked 23483 -[14994] Forked 23484 -(23483) found -(23484) found -[14993] Forked 23485 -[14992] Forked 23486 -(23485) found -(23486) found -[14991] Forked 23487 -[14990] Forked 23488 -(23487) found -(23488) found -[14989] Forked 23489 -[14988] Forked 23490 -(23489) found -(23490) found -[14987] Forked 23491 -[14986] Forked 23492 -(23491) found -(23492) found -[14985] Forked 23493 -[14984] Forked 23494 -(23493) found -(23494) found -[14983] Forked 23495 -[14982] Forked 23496 -(23495) found -(23496) found -[14981] Forked 23497 -[14980] Forked 23498 -(23497) found -(23498) found -[14979] Forked 23499 -[14978] Forked 23500 -(23499) found -(23500) found -[14977] Forked 23501 -[14976] Forked 23502 -(23501) found -(23502) found -[14975] Forked 23503 -[14974] Forked 23504 -(23503) found -(23504) found -[14973] Forked 23505 -[14972] Forked 23506 -(23505) found -(23506) found -[14971] Forked 23507 -[14970] Forked 23508 -(23507) found -(23508) found -[14969] Forked 23509 -[14968] Forked 23510 -(23509) found -(23510) found -[14967] Forked 23511 -[14966] Forked 23512 -(23511) found -(23512) found -[14965] Forked 23513 -[14964] Forked 23514 -(23513) found -(23514) found -[14963] Forked 23515 -[14962] Forked 23516 -(23515) found -(23516) found -[14961] Forked 23517 -[14960] Forked 23518 -(23517) found -(23518) found -[14959] Forked 23519 -[14958] Forked 23520 -(23519) found -(23520) found -[14957] Forked 23521 -[14956] Forked 23522 -(23521) found -(23522) found -[14955] Forked 23523 -[14954] Forked 23524 -(23523) found -(23524) found -[14953] Forked 23525 -[14952] Forked 23526 -(23525) found -(23526) found -[14951] Forked 23527 -[14950] Forked 23528 -(23527) found -(23528) found -[14949] Forked 23529 -[14948] Forked 23530 -(23529) found -(23530) found -[14947] Forked 23531 -[14946] Forked 23532 -(23531) found -(23532) found -[14945] Forked 23533 -[14944] Forked 23534 -(23533) found -(23534) found -[14943] Forked 23535 -[14942] Forked 23536 -(23535) found -(23536) found -[14941] Forked 23537 -[14940] Forked 23538 -(23537) found -(23538) found -[14939] Forked 23539 -[14938] Forked 23540 -(23539) found -(23540) found -[14937] Forked 23541 -[14936] Forked 23542 -(23541) found -(23542) found -[14935] Forked 23543 -[14934] Forked 23544 -(23543) found -(23544) found -[14933] Forked 23545 -[14932] Forked 23546 -(23545) found -(23546) found -[14931] Forked 23547 -[14930] Forked 23548 -(23547) found -(23548) found -[14929] Forked 23549 -[14928] Forked 23550 -(23549) found -(23550) found -[14927] Forked 23551 -[14926] Forked 23552 -(23551) found -(23552) found -[14925] Forked 23553 -[14924] Forked 23554 -(23553) found -(23554) found -[14923] Forked 23555 -[14922] Forked 23556 -(23555) found -(23556) found -[14921] Forked 23557 -[14920] Forked 23558 -(23557) found -(23558) found -[14919] Forked 23559 -[14918] Forked 23560 -(23559) found -(23560) found -[14917] Forked 23561 -[14916] Forked 23562 -(23561) found -(23562) found -[14915] Forked 23563 -[14914] Forked 23564 -(23563) found -(23564) found -[14913] Forked 23565 -[14912] Forked 23566 -(23565) found -(23566) found -[14911] Forked 23567 -[14910] Forked 23568 -(23567) found -(23568) found -[14909] Forked 23569 -[14908] Forked 23570 -(23569) found -(23570) found -[14907] Forked 23571 -[14906] Forked 23572 -(23571) found -(23572) found -[14905] Forked 23573 -[14904] Forked 23574 -(23573) found -(23574) found -[14903] Forked 23575 -[14902] Forked 23577 -(23575) found -(23577) found -[14901] Forked 23578 -(23578) found -[14900] Forked 23579 -(23579) found -[14899] Forked 23580 -(23580) found -[14898] Forked 23581 -(23581) found -[14897] Forked 23582 -(23582) found -[14896] Forked 23583 -(23583) found -[14895] Forked 23584 -(23584) found -[14894] Forked 23585 -(23585) found -[14893] Forked 23586 -(23586) found -[14892] Forked 23587 -(23587) found -[14891] Forked 23588 -(23588) found -[14890] Forked 23589 -(23589) found -[14889] Forked 23590 -(23590) found -[14888] Forked 23591 -(23591) found -[14887] Forked 23592 -(23592) found -[14886] Forked 23593 -(23593) found -[14885] Forked 23594 -(23594) found -[14884] Forked 23595 -(23595) found -[14883] Forked 23596 -(23596) found -[14882] Forked 23597 -(23597) found -[14881] Forked 23598 -(23598) found -[14880] Forked 23599 -(23599) found -[14879] Forked 23600 -(23600) found -[14878] Forked 23601 -(23601) found -[14877] Forked 23602 -(23602) found -[14876] Forked 23603 -(23603) found -[14875] Forked 23604 -(23604) found -[14874] Forked 23605 -(23605) found -[14873] Forked 23606 -(23606) found -[14872] Forked 23607 -(23607) found -[14871] Forked 23608 -(23608) found -[14870] Forked 23609 -(23609) found -[14869] Forked 23610 -(23610) found -[14868] Forked 23611 -(23611) found -[14867] Forked 23612 -(23612) found -[14866] Forked 23613 -(23613) found -[14865] Forked 23614 -(23614) found -[14864] Forked 23615 -(23615) found -[14863] Forked 23616 -(23616) found -[14862] Forked 23617 -(23617) found -[14861] Forked 23618 -(23618) found -[14860] Forked 23619 -(23619) found -[14859] Forked 23620 -(23620) found -[14858] Forked 23621 -(23621) found -[14857] Forked 23622 -(23622) found -[14856] Forked 23623 -(23623) found -[14855] Forked 23624 -(23624) found -[14854] Forked 23625 -(23625) found -[14853] Forked 23626 -(23626) found -[14852] Forked 23627 -[14851] Forked 23628 -(23627) found -(23628) found -[14850] Forked 23629 -[14849] Forked 23630 -(23629) found -(23630) found -[14848] Forked 23631 -[14847] Forked 23632 -(23631) found -(23632) found -[14846] Forked 23633 -[14845] Forked 23634 -(23633) found -(23634) found -[14844] Forked 23635 -[14843] Forked 23636 -(23635) found -(23636) found -[14842] Forked 23637 -[14841] Forked 23638 -(23637) found -(23638) found -[14840] Forked 23639 -[14839] Forked 23640 -(23639) found -(23640) found -[14838] Forked 23641 -[14837] Forked 23642 -(23641) found -(23642) found -[14836] Forked 23643 -[14835] Forked 23644 -(23643) found -(23644) found -[14834] Forked 23645 -[14833] Forked 23646 -(23645) found -(23646) found -[14832] Forked 23647 -[14831] Forked 23648 -(23647) found -(23648) found -[14830] Forked 23649 -[14829] Forked 23650 -(23649) found -(23650) found -[14828] Forked 23651 -[14827] Forked 23652 -(23651) found -(23652) found -[14826] Forked 23653 -[14825] Forked 23654 -(23653) found -(23654) found -[14824] Forked 23655 -[14823] Forked 23656 -(23655) found -(23656) found -[14822] Forked 23657 -[14821] Forked 23658 -(23657) found -(23658) found -[14820] Forked 23659 -[14819] Forked 23660 -(23659) found -(23660) found -[14818] Forked 23661 -[14817] Forked 23662 -(23661) found -(23662) found -[14816] Forked 23663 -[14815] Forked 23664 -(23663) found -(23664) found -[14814] Forked 23665 -[14813] Forked 23666 -(23665) found -(23666) found -[14812] Forked 23667 -[14811] Forked 23668 -(23667) found -(23668) found -[14810] Forked 23669 -[14809] Forked 23670 -(23669) found -(23670) found -[14808] Forked 23671 -[14807] Forked 23672 -(23671) found -(23672) found -[14806] Forked 23673 -[14805] Forked 23674 -(23673) found -(23674) found -[14804] Forked 23675 -[14803] Forked 23676 -(23675) found -(23676) found -[14802] Forked 23677 -[14801] Forked 23678 -(23677) found -(23678) found -[14800] Forked 23679 -[14799] Forked 23680 -(23679) found -(23680) found -[14798] Forked 23681 -[14797] Forked 23682 -(23681) found -(23682) found -[14796] Forked 23683 -[14795] Forked 23684 -(23683) found -(23684) found -[14794] Forked 23685 -[14793] Forked 23686 -(23685) found -(23686) found -[14792] Forked 23687 -[14791] Forked 23688 -(23687) found -(23688) found -[14790] Forked 23689 -[14789] Forked 23690 -(23689) found -(23690) found -[14788] Forked 23691 -[14787] Forked 23692 -(23691) found -(23692) found -[14786] Forked 23693 -[14785] Forked 23694 -(23693) found -(23694) found -[14784] Forked 23695 -[14783] Forked 23696 -(23695) found -(23696) found -[14782] Forked 23697 -[14781] Forked 23698 -(23697) found -(23698) found -[14780] Forked 23699 -[14779] Forked 23700 -(23699) found -(23700) found -[14778] Forked 23701 -[14777] Forked 23702 -(23701) found -(23702) found -[14776] Forked 23703 -[14775] Forked 23704 -(23703) found -(23704) found -[14774] Forked 23705 -[14773] Forked 23706 -(23705) found -(23706) found -[14772] Forked 23707 -[14771] Forked 23708 -(23707) found -(23708) found -[14770] Forked 23709 -[14769] Forked 23710 -(23709) found -(23710) found -[14768] Forked 23711 -[14767] Forked 23712 -(23711) found -(23712) found -[14766] Forked 23713 -[14765] Forked 23714 -(23713) found -(23714) found -[14764] Forked 23715 -[14763] Forked 23716 -(23715) found -(23716) found -[14762] Forked 23717 -[14761] Forked 23718 -(23717) found -(23718) found -[14760] Forked 23719 -(23719) found -[14759] Forked 23720 -(23720) found -[14758] Forked 23721 -(23721) found -[14757] Forked 23722 -(23722) found -[14756] Forked 23723 -(23723) found -[14755] Forked 23724 -(23724) found -[14754] Forked 23725 -(23725) found -[14753] Forked 23726 -(23726) found -[14752] Forked 23727 -(23727) found -[14751] Forked 23728 -(23728) found -[14750] Forked 23729 -(23729) found -[14749] Forked 23730 -(23730) found -[14748] Forked 23731 -(23731) found -[14747] Forked 23732 -(23732) found -[14746] Forked 23733 -(23733) found -[14745] Forked 23734 -(23734) found -[14744] Forked 23735 -(23735) found -[14743] Forked 23736 -(23736) found -[14742] Forked 23737 -(23737) found -[14741] Forked 23738 -(23738) found -[14740] Forked 23739 -(23739) found -[14739] Forked 23740 -(23740) found -[14738] Forked 23741 -(23741) found -[14737] Forked 23742 -(23742) found -[14736] Forked 23743 -(23743) found -[14735] Forked 23744 -(23744) found -[14734] Forked 23745 -(23745) found -[14733] Forked 23746 -(23746) found -[14732] Forked 23747 -(23747) found -[14731] Forked 23748 -(23748) found -[14730] Forked 23749 -(23749) found -[14729] Forked 23750 -(23750) found -[14728] Forked 23751 -(23751) found -[14727] Forked 23752 -[14726] Forked 23753 -(23752) found -(23753) found -[14725] Forked 23754 -[14724] Forked 23755 -(23754) found -(23755) found -[14723] Forked 23756 -[14722] Forked 23757 -(23756) found -(23757) found -[14721] Forked 23758 -[14720] Forked 23759 -(23758) found -(23759) found -[14719] Forked 23760 -[14718] Forked 23761 -(23760) found -(23761) found -[14717] Forked 23762 -[14716] Forked 23763 -(23762) found -(23763) found -[14715] Forked 23764 -[14714] Forked 23765 -(23764) found -(23765) found -[14713] Forked 23766 -[14712] Forked 23767 -(23766) found -(23767) found -[14711] Forked 23768 -[14710] Forked 23769 -(23768) found -(23769) found -[14709] Forked 23770 -[14708] Forked 23771 -(23770) found -(23771) found -[14707] Forked 23772 -[14706] Forked 23773 -(23772) found -(23773) found -[14705] Forked 23774 -[14704] Forked 23775 -(23774) found -(23775) found -[14703] Forked 23776 -[14702] Forked 23777 -(23776) found -(23777) found -[14701] Forked 23778 -[14700] Forked 23779 -(23778) found -(23779) found -[14699] Forked 23780 -[14698] Forked 23781 -(23780) found -(23781) found -[14697] Forked 23782 -[14696] Forked 23783 -(23782) found -(23783) found -[14695] Forked 23784 -[14694] Forked 23785 -(23784) found -(23785) found -[14693] Forked 23786 -[14692] Forked 23787 -(23786) found -(23787) found -[14691] Forked 23788 -[14690] Forked 23789 -(23788) found -(23789) found -[14689] Forked 23790 -[14688] Forked 23791 -(23790) found -(23791) found -[14687] Forked 23792 -[14686] Forked 23793 -(23792) found -(23793) found -[14685] Forked 23794 -[14684] Forked 23795 -(23794) found -(23795) found -[14683] Forked 23796 -[14682] Forked 23797 -(23796) found -(23797) found -[14681] Forked 23798 -[14680] Forked 23799 -(23798) found -(23799) found -[14679] Forked 23800 -[14678] Forked 23801 -(23800) found -(23801) found -[14677] Forked 23802 -[14676] Forked 23803 -(23802) found -(23803) found -[14675] Forked 23804 -[14674] Forked 23805 -(23804) found -(23805) found -[14673] Forked 23806 -[14672] Forked 23807 -(23806) found -(23807) found -[14671] Forked 23808 -[14670] Forked 23809 -(23808) found -(23809) found -[14669] Forked 23810 -[14668] Forked 23811 -(23810) found -(23811) found -[14667] Forked 23812 -[14666] Forked 23813 -(23812) found -(23813) found -[14665] Forked 23814 -[14664] Forked 23815 -(23814) found -(23815) found -[14663] Forked 23816 -[14662] Forked 23817 -(23816) found -(23817) found -[14661] Forked 23818 -[14660] Forked 23819 -(23818) found -(23819) found -[14659] Forked 23820 -[14658] Forked 23821 -(23820) found -(23821) found -[14657] Forked 23822 -[14656] Forked 23823 -(23822) found -(23823) found -[14655] Forked 23824 -[14654] Forked 23825 -(23824) found -(23825) found -[14653] Forked 23826 -[14652] Forked 23827 -(23826) found -(23827) found -[14651] Forked 23828 -[14650] Forked 23829 -(23828) found -(23829) found -[14649] Forked 23830 -[14648] Forked 23831 -(23830) found -(23831) found -[14647] Forked 23832 -[14646] Forked 23833 -(23832) found -(23833) found -[14645] Forked 23834 -[14644] Forked 23835 -(23834) found -(23835) found -[14643] Forked 23836 -[14642] Forked 23837 -(23836) found -(23837) found -[14641] Forked 23838 -[14640] Forked 23839 -(23838) found -(23839) found -[14639] Forked 23840 -[14638] Forked 23841 -(23840) found -(23841) found -[14637] Forked 23842 -[14636] Forked 23843 -(23842) found -(23843) found -[14635] Forked 23844 -(23844) found -[14634] Forked 23845 -(23845) found -[14633] Forked 23846 -(23846) found -[14632] Forked 23847 -(23847) found -[14631] Forked 23848 -(23848) found -[14630] Forked 23849 -(23849) found -[14629] Forked 23850 -(23850) found -[14628] Forked 23851 -(23851) found -[14627] Forked 23852 -(23852) found -[14626] Forked 23853 -(23853) found -[14625] Forked 23854 -(23854) found -[14624] Forked 23855 -(23855) found -[14623] Forked 23856 -(23856) found -[14622] Forked 23857 -(23857) found -[14621] Forked 23858 -(23858) found -[14620] Forked 23859 -(23859) found -[14619] Forked 23860 -(23860) found -[14618] Forked 23861 -(23861) found -[14617] Forked 23862 -(23862) found -[14616] Forked 23863 -(23863) found -[14615] Forked 23864 -(23864) found -[14614] Forked 23865 -(23865) found -[14613] Forked 23866 -(23866) found -[14612] Forked 23867 -(23867) found -[14611] Forked 23868 -(23868) found -[14610] Forked 23869 -(23869) found -[14609] Forked 23870 -(23870) found -[14608] Forked 23871 -(23871) found -[14607] Forked 23872 -(23872) found -[14606] Forked 23873 -(23873) found -[14605] Forked 23874 -(23874) found -[14604] Forked 23875 -(23875) found -[14603] Forked 23876 -(23876) found -[14602] Forked 23877 -(23877) found -[14601] Forked 23878 -(23878) found -[14600] Forked 23879 -[14599] Forked 23880 -(23879) found -(23880) found -[14598] Forked 23881 -[14597] Forked 23882 -(23881) found -(23882) found -[14596] Forked 23883 -[14595] Forked 23884 -(23883) found -(23884) found -[14594] Forked 23885 -[14593] Forked 23886 -(23885) found -(23886) found -[14592] Forked 23887 -[14591] Forked 23888 -(23887) found -(23888) found -[14590] Forked 23889 -[14589] Forked 23890 -(23889) found -(23890) found -[14588] Forked 23891 -[14587] Forked 23892 -(23891) found -(23892) found -[14586] Forked 23893 -[14585] Forked 23894 -(23893) found -(23894) found -[14584] Forked 23895 -[14583] Forked 23896 -(23895) found -(23896) found -[14582] Forked 23897 -[14581] Forked 23898 -(23897) found -(23898) found -[14580] Forked 23899 -[14579] Forked 23900 -(23899) found -(23900) found -[14578] Forked 23901 -[14577] Forked 23902 -(23901) found -(23902) found -[14576] Forked 23903 -[14575] Forked 23904 -(23903) found -(23904) found -[14574] Forked 23905 -[14573] Forked 23906 -(23905) found -(23906) found -[14572] Forked 23907 -[14571] Forked 23908 -(23907) found -(23908) found -[14570] Forked 23909 -[14569] Forked 23910 -(23909) found -(23910) found -[14568] Forked 23911 -[14567] Forked 23912 -(23911) found -(23912) found -[14566] Forked 23913 -(23913) found -[14565] Forked 23914 -(23914) found -[14564] Forked 23915 -(23915) found -[14563] Forked 23916 -(23916) found -[14562] Forked 23917 -(23917) found -[14561] Forked 23918 -(23918) found -[14560] Forked 23919 -(23919) found -[14559] Forked 23920 -(23920) found -[14558] Forked 23921 -(23921) found -[14557] Forked 23922 -(23922) found -[14556] Forked 23923 -(23923) found -[14555] Forked 23924 -(23924) found -[14554] Forked 23925 -(23925) found -[14553] Forked 23926 -(23926) found -[14552] Forked 23927 -(23927) found -[14551] Forked 23928 -(23928) found -[14550] Forked 23929 -(23929) found -[14549] Forked 23930 -(23930) found -[14548] Forked 23931 -(23931) found -[14547] Forked 23932 -(23932) found -[14546] Forked 23933 -(23933) found -[14545] Forked 23934 -(23934) found -[14544] Forked 23935 -(23935) found -[14543] Forked 23936 -(23936) found -[14542] Forked 23937 -(23937) found -[14541] Forked 23938 -(23938) found -[14540] Forked 23939 -(23939) found -[14539] Forked 23940 -(23940) found -[14538] Forked 23941 -(23941) found -[14537] Forked 23942 -(23942) found -[14536] Forked 23943 -(23943) found -[14535] Forked 23944 -(23944) found -[14534] Forked 23945 -(23945) found -[14533] Forked 23946 -(23946) found -[14532] Forked 23947 -(23947) found -[14531] Forked 23948 -(23948) found -[14530] Forked 23949 -(23949) found -[14529] Forked 23950 -(23950) found -[14528] Forked 23951 -(23951) found -[14527] Forked 23952 -(23952) found -[14526] Forked 23953 -(23953) found -[14525] Forked 23954 -(23954) found -[14524] Forked 23955 -(23955) found -[14523] Forked 23956 -(23956) found -[14522] Forked 23957 -(23957) found -[14521] Forked 23958 -(23958) found -[14520] Forked 23959 -(23959) found -[14519] Forked 23960 -(23960) found -[14518] Forked 23961 -(23961) found -[14517] Forked 23962 -(23962) found -[14516] Forked 23963 -(23963) found -[14515] Forked 23964 -(23964) found -[14514] Forked 23965 -(23965) found -[14513] Forked 23966 -(23966) found -[14512] Forked 23967 -(23967) found -[14511] Forked 23968 -(23968) found -[14510] Forked 23969 -(23969) found -[14509] Forked 23970 -(23970) found -[14508] Forked 23971 -(23971) found -[14507] Forked 23972 -(23972) found -[14506] Forked 23973 -(23973) found -[14505] Forked 23974 -(23974) found -[14504] Forked 23975 -(23975) found -[14503] Forked 23976 -(23976) found -[14502] Forked 23977 -(23977) found -[14501] Forked 23978 -(23978) found -[14500] Forked 23979 -(23979) found -[14499] Forked 23980 -(23980) found -[14498] Forked 23981 -(23981) found -[14497] Forked 23982 -(23982) found -[14496] Forked 23983 -[14495] Forked 23984 -(23983) found -(23984) found -[14494] Forked 23985 -[14493] Forked 23986 -(23985) found -(23986) found -[14492] Forked 23987 -[14491] Forked 23988 -(23987) found -(23988) found -[14490] Forked 23989 -[14489] Forked 23990 -(23989) found -(23990) found -[14488] Forked 23991 -[14487] Forked 23992 -(23991) found -(23992) found -[14486] Forked 23993 -[14485] Forked 23994 -(23993) found -(23994) found -[14484] Forked 23995 -[14483] Forked 23996 -(23995) found -(23996) found -[14482] Forked 23997 -[14481] Forked 23998 -(23997) found -(23998) found -[14480] Forked 23999 -[14479] Forked 24000 -(23999) found -(24000) found -[14478] Forked 24001 -[14477] Forked 24002 -(24001) found -(24002) found -[14476] Forked 24003 -[14475] Forked 24004 -(24003) found -(24004) found -[14474] Forked 24005 -[14473] Forked 24006 -(24005) found -(24006) found -[14472] Forked 24007 -[14471] Forked 24008 -(24007) found -(24008) found -[14470] Forked 24009 -[14469] Forked 24010 -(24009) found -(24010) found -[14468] Forked 24011 -[14467] Forked 24012 -(24011) found -(24012) found -[14466] Forked 24013 -[14465] Forked 24014 -(24013) found -(24014) found -[14464] Forked 24015 -[14463] Forked 24016 -(24015) found -(24016) found -[14462] Forked 24017 -[14461] Forked 24018 -(24017) found -(24018) found -[14460] Forked 24019 -[14459] Forked 24020 -(24019) found -(24020) found -[14458] Forked 24021 -[14457] Forked 24022 -(24021) found -(24022) found -[14456] Forked 24023 -[14455] Forked 24025 -(24023) found -(24025) found -[14454] Forked 24026 -(24026) found -[14453] Forked 24027 -(24027) found -[14452] Forked 24028 -(24028) found -[14451] Forked 24029 -(24029) found -[14450] Forked 24030 -(24030) found -[14449] Forked 24031 -(24031) found -[14448] Forked 24032 -(24032) found -[14447] Forked 24033 -(24033) found -[14446] Forked 24034 -(24034) found -[14445] Forked 24035 -(24035) found -[14444] Forked 24036 -(24036) found -[14443] Forked 24037 -(24037) found -[14442] Forked 24038 -(24038) found -[14441] Forked 24039 -(24039) found -[14440] Forked 24040 -(24040) found -[14439] Forked 24041 -(24041) found -[14438] Forked 24042 -(24042) found -[14437] Forked 24043 -(24043) found -[14436] Forked 24044 -(24044) found -[14435] Forked 24045 -(24045) found -[14434] Forked 24046 -(24046) found -[14433] Forked 24047 -(24047) found -[14432] Forked 24048 -(24048) found -[14431] Forked 24049 -(24049) found -[14430] Forked 24050 -(24050) found -[14429] Forked 24051 -(24051) found -[14428] Forked 24052 -(24052) found -[14427] Forked 24053 -(24053) found -[14426] Forked 24054 -(24054) found -[14425] Forked 24055 -(24055) found -[14424] Forked 24056 -(24056) found -[14423] Forked 24057 -(24057) found -[14422] Forked 24058 -(24058) found -[14421] Forked 24059 -(24059) found -[14420] Forked 24060 -(24060) found -[14419] Forked 24061 -(24061) found -[14418] Forked 24062 -(24062) found -[14417] Forked 24063 -(24063) found -[14416] Forked 24064 -(24064) found -[14415] Forked 24065 -(24065) found -[14414] Forked 24066 -(24066) found -[14413] Forked 24067 -(24067) found -[14412] Forked 24068 -(24068) found -[14411] Forked 24069 -(24069) found -[14410] Forked 24070 -(24070) found -[14409] Forked 24071 -(24071) found -[14408] Forked 24072 -(24072) found -[14407] Forked 24073 -(24073) found -[14406] Forked 24074 -(24074) found -[14405] Forked 24075 -(24075) found -[14404] Forked 24076 -(24076) found -[14403] Forked 24077 -(24077) found -[14402] Forked 24078 -(24078) found -[14401] Forked 24079 -(24079) found -[14400] Forked 24080 -(24080) found -[14399] Forked 24081 -(24081) found -[14398] Forked 24082 -(24082) found -[14397] Forked 24083 -(24083) found -[14396] Forked 24084 -(24084) found -[14395] Forked 24085 -(24085) found -[14394] Forked 24086 -(24086) found -[14393] Forked 24087 -(24087) found -[14392] Forked 24088 -(24088) found -[14391] Forked 24089 -(24089) found -[14390] Forked 24090 -(24090) found -[14389] Forked 24091 -(24091) found -[14388] Forked 24092 -(24092) found -[14387] Forked 24093 -(24093) found -[14386] Forked 24094 -(24094) found -[14385] Forked 24095 -(24095) found -[14384] Forked 24096 -(24096) found -[14383] Forked 24097 -(24097) found -[14382] Forked 24098 -(24098) found -[14381] Forked 24099 -(24099) found -[14380] Forked 24100 -(24100) found -[14379] Forked 24101 -(24101) found -[14378] Forked 24102 -(24102) found -[14377] Forked 24103 -(24103) found -[14376] Forked 24104 -(24104) found -[14375] Forked 24105 -(24105) found -[14374] Forked 24106 -(24106) found -[14373] Forked 24107 -(24107) found -[14372] Forked 24108 -(24108) found -[14371] Forked 24109 -(24109) found -[14370] Forked 24110 -(24110) found -[14369] Forked 24111 -(24111) found -[14368] Forked 24112 -(24112) found -[14367] Forked 24113 -(24113) found -[14366] Forked 24114 -(24114) found -[14365] Forked 24115 -(24115) found -[14364] Forked 24116 -(24116) found -[14363] Forked 24117 -(24117) found -[14362] Forked 24118 -(24118) found -[14361] Forked 24119 -(24119) found -[14360] Forked 24120 -(24120) found -[14359] Forked 24121 -(24121) found -[14358] Forked 24122 -(24122) found -[14357] Forked 24123 -(24123) found -[14356] Forked 24124 -(24124) found -[14355] Forked 24125 -(24125) found -[14354] Forked 24126 -(24126) found -[14353] Forked 24127 -(24127) found -[14352] Forked 24128 -(24128) found -[14351] Forked 24129 -(24129) found -[14350] Forked 24130 -(24130) found -[14349] Forked 24131 -(24131) found -[14348] Forked 24132 -(24132) found -[14347] Forked 24133 -(24133) found -[14346] Forked 24134 -(24134) found -[14345] Forked 24135 -(24135) found -[14344] Forked 24136 -(24136) found -[14343] Forked 24137 -(24137) found -[14342] Forked 24138 -(24138) found -[14341] Forked 24139 -(24139) found -[14340] Forked 24140 -(24140) found -[14339] Forked 24141 -(24141) found -[14338] Forked 24142 -(24142) found -[14337] Forked 24143 -(24143) found -[14336] Forked 24144 -(24144) found -[14335] Forked 24145 -(24145) found -[14334] Forked 24146 -(24146) found -[14333] Forked 24147 -(24147) found -[14332] Forked 24148 -(24148) found -[14331] Forked 24149 -(24149) found -[14330] Forked 24150 -(24150) found -[14329] Forked 24151 -(24151) found -[14328] Forked 24152 -(24152) found -[14327] Forked 24153 -(24153) found -[14326] Forked 24154 -(24154) found -[14325] Forked 24155 -(24155) found -[14324] Forked 24156 -(24156) found -[14323] Forked 24157 -(24157) found -[14322] Forked 24158 -(24158) found -[14321] Forked 24159 -(24159) found -[14320] Forked 24160 -(24160) found -[14319] Forked 24161 -(24161) found -[14318] Forked 24162 -(24162) found -[14317] Forked 24163 -(24163) found -[14316] Forked 24164 -(24164) found -[14315] Forked 24165 -(24165) found -[14314] Forked 24166 -(24166) found -[14313] Forked 24167 -(24167) found -[14312] Forked 24168 -(24168) found -[14311] Forked 24169 -(24169) found -[14310] Forked 24170 -(24170) found -[14309] Forked 24171 -(24171) found -[14308] Forked 24172 -(24172) found -[14307] Forked 24173 -(24173) found -[14306] Forked 24174 -(24174) found -[14305] Forked 24175 -(24175) found -[14304] Forked 24176 -(24176) found -[14303] Forked 24177 -[14302] Forked 24178 -(24177) found -(24178) found -[14301] Forked 24179 -[14300] Forked 24180 -(24179) found -(24180) found -[14299] Forked 24181 -[14298] Forked 24182 -(24181) found -(24182) found -[14297] Forked 24183 -[14296] Forked 24184 -(24183) found -(24184) found -[14295] Forked 24185 -[14294] Forked 24186 -(24185) found -(24186) found -[14293] Forked 24187 -[14292] Forked 24188 -(24187) found -(24188) found -[14291] Forked 24189 -[14290] Forked 24190 -(24189) found -(24190) found -[14289] Forked 24191 -[14288] Forked 24192 -(24191) found -(24192) found -[14287] Forked 24193 -[14286] Forked 24194 -(24193) found -(24194) found -[14285] Forked 24195 -[14284] Forked 24196 -(24195) found -(24196) found -[14283] Forked 24197 -[14282] Forked 24198 -(24197) found -(24198) found -[14281] Forked 24199 -[14280] Forked 24200 -(24199) found -(24200) found -[14279] Forked 24201 -[14278] Forked 24202 -(24201) found -(24202) found -[14277] Forked 24203 -[14276] Forked 24204 -(24203) found -(24204) found -[14275] Forked 24205 -[14274] Forked 24206 -(24205) found -(24206) found -[14273] Forked 24207 -[14272] Forked 24208 -(24207) found -(24208) found -[14271] Forked 24209 -[14270] Forked 24210 -(24209) found -(24210) found -[14269] Forked 24211 -[14268] Forked 24212 -(24211) found -(24212) found -[14267] Forked 24213 -[14266] Forked 24214 -(24213) found -(24214) found -[14265] Forked 24215 -[14264] Forked 24216 -(24215) found -(24216) found -[14263] Forked 24217 -[14262] Forked 24218 -(24217) found -(24218) found -[14261] Forked 24219 -[14260] Forked 24220 -(24219) found -(24220) found -[14259] Forked 24221 -[14258] Forked 24222 -(24221) found -(24222) found -[14257] Forked 24223 -[14256] Forked 24224 -(24223) found -(24224) found -[14255] Forked 24225 -[14254] Forked 24226 -(24225) found -(24226) found -[14253] Forked 24227 -[14252] Forked 24228 -(24227) found -(24228) found -[14251] Forked 24229 -[14250] Forked 24230 -(24229) found -(24230) found -[14249] Forked 24231 -[14248] Forked 24232 -(24231) found -(24232) found -[14247] Forked 24233 -[14246] Forked 24234 -(24233) found -(24234) found -[14245] Forked 24235 -[14244] Forked 24236 -(24235) found -(24236) found -[14243] Forked 24237 -[14242] Forked 24238 -(24237) found -(24238) found -[14241] Forked 24239 -[14240] Forked 24240 -(24239) found -(24240) found -[14239] Forked 24241 -[14238] Forked 24242 -(24241) found -(24242) found -[14237] Forked 24243 -[14236] Forked 24244 -(24243) found -(24244) found -[14235] Forked 24245 -[14234] Forked 24246 -(24245) found -(24246) found -[14233] Forked 24247 -[14232] Forked 24248 -(24247) found -(24248) found -[14231] Forked 24249 -[14230] Forked 24250 -(24249) found -(24250) found -[14229] Forked 24251 -[14228] Forked 24252 -(24251) found -(24252) found -[14227] Forked 24253 -[14226] Forked 24254 -(24253) found -(24254) found -[14225] Forked 24255 -[14224] Forked 24256 -(24255) found -(24256) found -[14223] Forked 24257 -(24257) found -[14222] Forked 24258 -(24258) found -[14221] Forked 24259 -(24259) found -[14220] Forked 24260 -(24260) found -[14219] Forked 24261 -(24261) found -[14218] Forked 24262 -(24262) found -[14217] Forked 24263 -(24263) found -[14216] Forked 24264 -(24264) found -[14215] Forked 24265 -(24265) found -[14214] Forked 24266 -(24266) found -[14213] Forked 24267 -(24267) found -[14212] Forked 24268 -(24268) found -[14211] Forked 24269 -(24269) found -[14210] Forked 24270 -(24270) found -[14209] Forked 24271 -(24271) found -[14208] Forked 24272 -(24272) found -[14207] Forked 24273 -(24273) found -[14206] Forked 24274 -(24274) found -[14205] Forked 24275 -(24275) found -[14204] Forked 24276 -(24276) found -[14203] Forked 24277 -(24277) found -[14202] Forked 24278 -(24278) found -[14201] Forked 24279 -(24279) found -[14200] Forked 24280 -(24280) found -[14199] Forked 24281 -(24281) found -[14198] Forked 24282 -(24282) found -[14197] Forked 24283 -(24283) found -[14196] Forked 24284 -(24284) found -[14195] Forked 24285 -(24285) found -[14194] Forked 24286 -(24286) found -[14193] Forked 24287 -(24287) found -[14192] Forked 24288 -[14191] Forked 24289 -(24288) found -(24289) found -[14190] Forked 24290 -[14189] Forked 24291 -(24290) found -(24291) found -[14188] Forked 24292 -[14187] Forked 24294 -(24292) found -(24294) found -[14186] Forked 24295 -(24295) found -[14185] Forked 24296 -(24296) found -[14184] Forked 24297 -(24297) found -[14183] Forked 24298 -(24298) found -[14182] Forked 24299 -(24299) found -[14181] Forked 24300 -(24300) found -[14180] Forked 24301 -(24301) found -[14179] Forked 24302 -(24302) found -[14178] Forked 24303 -(24303) found -[14177] Forked 24304 -(24304) found -[14176] Forked 24305 -(24305) found -[14175] Forked 24306 -(24306) found -[14174] Forked 24307 -(24307) found -[14173] Forked 24308 -(24308) found -[14172] Forked 24309 -(24309) found -[14171] Forked 24310 -(24310) found -[14170] Forked 24311 -(24311) found -[14169] Forked 24312 -(24312) found -[14168] Forked 24313 -(24313) found -[14167] Forked 24314 -(24314) found -[14166] Forked 24315 -(24315) found -[14165] Forked 24316 -(24316) found -[14164] Forked 24317 -(24317) found -[14163] Forked 24319 -(24319) found -[14162] Forked 24320 -(24320) found -[14161] Forked 24321 -(24321) found -[14160] Forked 24322 -(24322) found -[14159] Forked 24323 -(24323) found -[14158] Forked 24324 -(24324) found -[14157] Forked 24325 -(24325) found -[14156] Forked 24326 -(24326) found -[14155] Forked 24327 -(24327) found -[14154] Forked 24328 -(24328) found -[14153] Forked 24329 -(24329) found -[14152] Forked 24330 -(24330) found -[14151] Forked 24331 -(24331) found -[14150] Forked 24332 -(24332) found -[14149] Forked 24333 -(24333) found -[14148] Forked 24334 -(24334) found -[14147] Forked 24335 -(24335) found -[14146] Forked 24336 -(24336) found -[14145] Forked 24337 -(24337) found -[14144] Forked 24338 -(24338) found -[14143] Forked 24339 -(24339) found -[14142] Forked 24340 -(24340) found -[14141] Forked 24341 -(24341) found -[14140] Forked 24342 -(24342) found -[14139] Forked 24343 -(24343) found -[14138] Forked 24344 -(24344) found -[14137] Forked 24345 -(24345) found -[14136] Forked 24346 -(24346) found -[14135] Forked 24347 -(24347) found -[14134] Forked 24348 -(24348) found -[14133] Forked 24349 -(24349) found -[14132] Forked 24350 -(24350) found -[14131] Forked 24351 -(24351) found -[14130] Forked 24352 -(24352) found -[14129] Forked 24353 -(24353) found -[14128] Forked 24354 -(24354) found -[14127] Forked 24355 -(24355) found -[14126] Forked 24356 -(24356) found -[14125] Forked 24357 -(24357) found -[14124] Forked 24358 -(24358) found -[14123] Forked 24359 -(24359) found -[14122] Forked 24360 -(24360) found -[14121] Forked 24361 -[14120] Forked 24362 -(24361) found -(24362) found -[14119] Forked 24363 -[14118] Forked 24364 -(24363) found -(24364) found -[14117] Forked 24365 -[14116] Forked 24366 -(24365) found -(24366) found -[14115] Forked 24367 -[14114] Forked 24368 -(24367) found -(24368) found -[14113] Forked 24369 -[14112] Forked 24370 -(24369) found -(24370) found -[14111] Forked 24371 -[14110] Forked 24372 -(24371) found -(24372) found -[14109] Forked 24373 -[14108] Forked 24374 -(24373) found -(24374) found -[14107] Forked 24375 -[14106] Forked 24376 -(24375) found -(24376) found -[14105] Forked 24377 -[14104] Forked 24378 -(24377) found -(24378) found -[14103] Forked 24379 -[14102] Forked 24380 -(24379) found -(24380) found -[14101] Forked 24381 -[14100] Forked 24382 -(24381) found -(24382) found -[14099] Forked 24383 -[14098] Forked 24384 -(24383) found -(24384) found -[14097] Forked 24385 -[14096] Forked 24386 -(24385) found -(24386) found -[14095] Forked 24387 -[14094] Forked 24388 -(24387) found -(24388) found -[14093] Forked 24389 -[14092] Forked 24390 -(24389) found -(24390) found -[14091] Forked 24391 -[14090] Forked 24392 -(24391) found -(24392) found -[14089] Forked 24393 -[14088] Forked 24394 -(24393) found -(24394) found -[14087] Forked 24395 -[14086] Forked 24396 -(24395) found -(24396) found -[14085] Forked 24397 -[14084] Forked 24398 -(24397) found -(24398) found -[14083] Forked 24399 -[14082] Forked 24400 -(24399) found -(24400) found -[14081] Forked 24401 -[14080] Forked 24402 -(24401) found -(24402) found -[14079] Forked 24403 -[14078] Forked 24404 -(24403) found -(24404) found -[14077] Forked 24405 -[14076] Forked 24406 -(24406) found -(24405) found -[14075] Forked 24407 -(24407) found -[14074] Forked 24408 -(24408) found -[14073] Forked 24409 -(24409) found -[14072] Forked 24410 -(24410) found -[14071] Forked 24411 -(24411) found -[14070] Forked 24412 -(24412) found -[14069] Forked 24413 -(24413) found -[14068] Forked 24414 -(24414) found -[14067] Forked 24415 -(24415) found -[14066] Forked 24416 -(24416) found -[14065] Forked 24417 -(24417) found -[14064] Forked 24418 -(24418) found -[14063] Forked 24419 -(24419) found -[14062] Forked 24420 -(24420) found -[14061] Forked 24421 -(24421) found -[14060] Forked 24422 -(24422) found -[14059] Forked 24423 -(24423) found -[14058] Forked 24424 -(24424) found -[14057] Forked 24425 -(24425) found -[14056] Forked 24426 -(24426) found -[14055] Forked 24427 -(24427) found -[14054] Forked 24428 -(24428) found -[14053] Forked 24429 -(24429) found -[14052] Forked 24430 -(24430) found -[14051] Forked 24431 -(24431) found -[14050] Forked 24432 -(24432) found -[14049] Forked 24433 -(24433) found -[14048] Forked 24434 -(24434) found -[14047] Forked 24435 -(24435) found -[14046] Forked 24436 -(24436) found -[14045] Forked 24437 -(24437) found -[14044] Forked 24438 -(24438) found -[14043] Forked 24439 -(24439) found -[14042] Forked 24440 -(24440) found -[14041] Forked 24441 -(24441) found -[14040] Forked 24442 -[14039] Forked 24443 -(24442) found -(24443) found -[14038] Forked 24444 -[14037] Forked 24445 -(24444) found -(24445) found -[14036] Forked 24446 -[14035] Forked 24447 -(24446) found -(24447) found -[14034] Forked 24448 -[14033] Forked 24449 -(24448) found -(24449) found -[14032] Forked 24450 -[14031] Forked 24451 -(24450) found -(24451) found -[14030] Forked 24452 -[14029] Forked 24453 -(24452) found -(24453) found -[14028] Forked 24454 -[14027] Forked 24455 -(24454) found -(24455) found -[14026] Forked 24456 -[14025] Forked 24457 -(24456) found -(24457) found -[14024] Forked 24458 -[14023] Forked 24459 -(24458) found -(24459) found -[14022] Forked 24460 -[14021] Forked 24461 -(24460) found -(24461) found -[14020] Forked 24462 -[14019] Forked 24463 -(24462) found -(24463) found -[14018] Forked 24464 -[14017] Forked 24465 -(24464) found -(24465) found -[14016] Forked 24466 -[14015] Forked 24467 -(24466) found -(24467) found -[14014] Forked 24468 -[14013] Forked 24469 -(24468) found -(24469) found -[14012] Forked 24470 -[14011] Forked 24473 -(24470) found -(24473) found -[14010] Forked 24474 -[14009] Forked 24475 -(24474) found -(24475) found -[14008] Forked 24476 -[14007] Forked 24477 -(24476) found -(24477) found -[14006] Forked 24478 -[14005] Forked 24479 -(24478) found -(24479) found -[14004] Forked 24480 -[14003] Forked 24481 -(24480) found -(24481) found -[14002] Forked 24482 -[14001] Forked 24483 -(24482) found -(24483) found -[14000] Forked 24484 -[13999] Forked 24485 -(24484) found -(24485) found -[13998] Forked 24486 -[13997] Forked 24487 -(24486) found -(24487) found -[13996] Forked 24488 -[13995] Forked 24489 -(24488) found -(24489) found -[13994] Forked 24490 -[13993] Forked 24491 -(24490) found -(24491) found -[13992] Forked 24492 -[13991] Forked 24493 -(24492) found -(24493) found -[13990] Forked 24494 -[13989] Forked 24495 -(24494) found -(24495) found -[13988] Forked 24496 -[13987] Forked 24497 -(24496) found -(24497) found -[13986] Forked 24498 -[13985] Forked 24499 -(24498) found -(24499) found -[13984] Forked 24500 -[13983] Forked 24501 -(24500) found -(24501) found -[13982] Forked 24502 -[13981] Forked 24503 -(24502) found -(24503) found -[13980] Forked 24504 -[13979] Forked 24505 -(24504) found -(24505) found -[13978] Forked 24506 -[13977] Forked 24507 -(24506) found -(24507) found -[13976] Forked 24508 -[13975] Forked 24509 -(24508) found -(24509) found -[13974] Forked 24510 -[13973] Forked 24511 -(24510) found -(24511) found -[13972] Forked 24512 -[13971] Forked 24513 -(24512) found -(24513) found -[13970] Forked 24514 -[13969] Forked 24515 -(24514) found -(24515) found -[13968] Forked 24516 -[13967] Forked 24517 -(24516) found -(24517) found -[13966] Forked 24518 -[13965] Forked 24519 -(24518) found -(24519) found -[13964] Forked 24520 -[13963] Forked 24521 -(24520) found -(24521) found -[13962] Forked 24522 -(24522) found -[13961] Forked 24523 -[13960] Forked 24524 -(24523) found -(24524) found -[13959] Forked 24525 -[13958] Forked 24526 -(24525) found -(24526) found -[13957] Forked 24527 -[13956] Forked 24528 -(24527) found -(24528) found -[13955] Forked 24529 -[13954] Forked 24530 -(24529) found -(24530) found -[13953] Forked 24531 -[13952] Forked 24532 -(24531) found -(24532) found -[13951] Forked 24533 -[13950] Forked 24534 -(24533) found -(24534) found -[13949] Forked 24535 -[13948] Forked 24536 -(24535) found -(24536) found -[13947] Forked 24537 -[13946] Forked 24538 -(24537) found -(24538) found -[13945] Forked 24539 -[13944] Forked 24540 -(24539) found -(24540) found -[13943] Forked 24541 -[13942] Forked 24542 -(24541) found -(24542) found -[13941] Forked 24543 -[13940] Forked 24544 -(24543) found -(24544) found -[13939] Forked 24545 -[13938] Forked 24546 -(24545) found -(24546) found -[13937] Forked 24547 -[13936] Forked 24548 -(24547) found -(24548) found -[13935] Forked 24549 -[13934] Forked 24550 -(24549) found -(24550) found -[13933] Forked 24551 -[13932] Forked 24552 -(24551) found -(24552) found -[13931] Forked 24553 -[13930] Forked 24554 -(24553) found -(24554) found -[13929] Forked 24555 -[13928] Forked 24556 -(24555) found -(24556) found -[13927] Forked 24557 -[13926] Forked 24558 -(24557) found -(24558) found -[13925] Forked 24559 -[13924] Forked 24560 -(24559) found -(24560) found -[13923] Forked 24561 -[13922] Forked 24562 -(24561) found -(24562) found -[13921] Forked 24563 -[13920] Forked 24564 -(24563) found -(24564) found -[13919] Forked 24565 -[13918] Forked 24566 -(24565) found -(24566) found -[13917] Forked 24567 -[13916] Forked 24568 -(24567) found -(24568) found -[13915] Forked 24569 -[13914] Forked 24570 -(24569) found -(24570) found -[13913] Forked 24571 -[13912] Forked 24572 -(24571) found -(24572) found -[13911] Forked 24573 -[13910] Forked 24574 -(24573) found -(24574) found -[13909] Forked 24575 -[13908] Forked 24576 -(24575) found -(24576) found -[13907] Forked 24577 -[13906] Forked 24578 -(24577) found -(24578) found -[13905] Forked 24579 -[13904] Forked 24580 -(24579) found -(24580) found -[13903] Forked 24581 -[13902] Forked 24582 -(24581) found -(24582) found -[13901] Forked 24583 -[13900] Forked 24585 -(24583) found -(24585) found -[13899] Forked 24586 -(24586) found -[13898] Forked 24587 -(24587) found -[13897] Forked 24588 -(24588) found -[13896] Forked 24589 -(24589) found -[13895] Forked 24590 -(24590) found -[13894] Forked 24591 -(24591) found -[13893] Forked 24592 -(24592) found -[13892] Forked 24593 -(24593) found -[13891] Forked 24594 -(24594) found -[13890] Forked 24595 -(24595) found -[13889] Forked 24596 -(24596) found -[13888] Forked 24597 -(24597) found -[13887] Forked 24598 -(24598) found -[13886] Forked 24599 -(24599) found -[13885] Forked 24600 -(24600) found -[13884] Forked 24601 -(24601) found -[13883] Forked 24602 -(24602) found -[13882] Forked 24603 -(24603) found -[13881] Forked 24604 -(24604) found -[13880] Forked 24605 -(24605) found -[13879] Forked 24606 -(24606) found -[13878] Forked 24607 -(24607) found -[13877] Forked 24608 -(24608) found -[13876] Forked 24609 -(24609) found -[13875] Forked 24610 -(24610) found -[13874] Forked 24611 -(24611) found -[13873] Forked 24612 -(24612) found -[13872] Forked 24613 -(24613) found -[13871] Forked 24614 -(24614) found -[13870] Forked 24615 -(24615) found -[13869] Forked 24616 -(24616) found -[13868] Forked 24617 -(24617) found -[13867] Forked 24618 -(24618) found -[13866] Forked 24619 -(24619) found -[13865] Forked 24620 -(24620) found -[13864] Forked 24621 -(24621) found -[13863] Forked 24622 -(24622) found -[13862] Forked 24623 -(24623) found -[13861] Forked 24624 -(24624) found -[13860] Forked 24625 -(24625) found -[13859] Forked 24626 -(24626) found -[13858] Forked 24627 -(24627) found -[13857] Forked 24628 -(24628) found -[13856] Forked 24629 -(24629) found -[13855] Forked 24630 -(24630) found -[13854] Forked 24631 -(24631) found -[13853] Forked 24632 -(24632) found -[13852] Forked 24633 -(24633) found -[13851] Forked 24634 -(24634) found -[13850] Forked 24635 -(24635) found -[13849] Forked 24636 -(24636) found -[13848] Forked 24637 -(24637) found -[13847] Forked 24638 -(24638) found -[13846] Forked 24639 -(24639) found -[13845] Forked 24640 -(24640) found -[13844] Forked 24641 -(24641) found -[13843] Forked 24642 -(24642) found -[13842] Forked 24643 -(24643) found -[13841] Forked 24644 -(24644) found -[13840] Forked 24645 -(24645) found -[13839] Forked 24646 -(24646) found -[13838] Forked 24647 -(24647) found -[13837] Forked 24648 -(24648) found -[13836] Forked 24649 -(24649) found -[13835] Forked 24650 -(24650) found -[13834] Forked 24651 -(24651) found -[13833] Forked 24652 -(24652) found -[13832] Forked 24653 -(24653) found -[13831] Forked 24654 -(24654) found -[13830] Forked 24655 -(24655) found -[13829] Forked 24656 -(24656) found -[13828] Forked 24657 -(24657) found -[13827] Forked 24658 -(24658) found -[13826] Forked 24659 -(24659) found -[13825] Forked 24660 -(24660) found -[13824] Forked 24661 -(24661) found -[13823] Forked 24662 -(24662) found -[13822] Forked 24663 -(24663) found -[13821] Forked 24664 -(24664) found -[13820] Forked 24665 -(24665) found -[13819] Forked 24666 -(24666) found -[13818] Forked 24667 -(24667) found -[13817] Forked 24668 -(24668) found -[13816] Forked 24669 -(24669) found -[13815] Forked 24670 -(24670) found -[13814] Forked 24671 -(24671) found -[13813] Forked 24672 -(24672) found -[13812] Forked 24673 -(24673) found -[13811] Forked 24674 -(24674) found -[13810] Forked 24675 -(24675) found -[13809] Forked 24676 -(24676) found -[13808] Forked 24677 -(24677) found -[13807] Forked 24678 -(24678) found -[13806] Forked 24679 -(24679) found -[13805] Forked 24680 -(24680) found -[13804] Forked 24681 -(24681) found -[13803] Forked 24682 -(24682) found -[13802] Forked 24683 -(24683) found -[13801] Forked 24684 -(24684) found -[13800] Forked 24685 -(24685) found -[13799] Forked 24686 -(24686) found -[13798] Forked 24687 -(24687) found -[13797] Forked 24688 -[13796] Forked 24690 -(24688) found -(24690) found -[13795] Forked 24691 -(24691) found -[13794] Forked 24692 -(24692) found -[13793] Forked 24693 -(24693) found -[13792] Forked 24694 -[13791] Forked 24695 -(24694) found -(24695) found -[13790] Forked 24696 -[13789] Forked 24697 -(24696) found -(24697) found -[13788] Forked 24698 -[13787] Forked 24699 -(24698) found -(24699) found -[13786] Forked 24700 -[13785] Forked 24701 -(24700) found -(24701) found -[13784] Forked 24702 -[13783] Forked 24703 -(24702) found -(24703) found -[13782] Forked 24704 -[13781] Forked 24705 -(24704) found -(24705) found -[13780] Forked 24706 -[13779] Forked 24707 -(24706) found -(24707) found -[13778] Forked 24708 -[13777] Forked 24709 -(24708) found -(24709) found -[13776] Forked 24710 -[13775] Forked 24711 -(24710) found -(24711) found -[13774] Forked 24712 -[13773] Forked 24713 -(24712) found -(24713) found -[13772] Forked 24714 -[13771] Forked 24715 -(24714) found -(24715) found -[13770] Forked 24716 -[13769] Forked 24717 -(24716) found -(24717) found -[13768] Forked 24718 -[13767] Forked 24719 -(24718) found -(24719) found -[13766] Forked 24720 -[13765] Forked 24721 -(24720) found -(24721) found -[13764] Forked 24722 -[13763] Forked 24723 -(24722) found -(24723) found -[13762] Forked 24724 -[13761] Forked 24725 -(24724) found -(24725) found -[13760] Forked 24726 -[13759] Forked 24727 -(24726) found -(24727) found -[13758] Forked 24728 -[13757] Forked 24729 -(24728) found -(24729) found -[13756] Forked 24730 -[13755] Forked 24731 -(24730) found -(24731) found -[13754] Forked 24732 -[13753] Forked 24733 -(24732) found -(24733) found -[13752] Forked 24734 -(24734) found -[13751] Forked 24735 -(24735) found -[13750] Forked 24736 -(24736) found -[13749] Forked 24737 -(24737) found -[13748] Forked 24738 -(24738) found -[13747] Forked 24739 -(24739) found -[13746] Forked 24740 -(24740) found -[13745] Forked 24741 -(24741) found -[13744] Forked 24742 -(24742) found -[13743] Forked 24743 -(24743) found -[13742] Forked 24744 -(24744) found -[13741] Forked 24745 -(24745) found -[13740] Forked 24746 -(24746) found -[13739] Forked 24747 -(24747) found -[13738] Forked 24748 -(24748) found -[13737] Forked 24749 -(24749) found -[13736] Forked 24750 -(24750) found -[13735] Forked 24751 -(24751) found -[13734] Forked 24752 -(24752) found -[13733] Forked 24753 -(24753) found -[13732] Forked 24754 -(24754) found -[13731] Forked 24755 -(24755) found -[13730] Forked 24756 -(24756) found -[13729] Forked 24757 -(24757) found -[13728] Forked 24758 -(24758) found -[13727] Forked 24759 -(24759) found -[13726] Forked 24760 -(24760) found -[13725] Forked 24761 -(24761) found -[13724] Forked 24762 -(24762) found -[13723] Forked 24763 -(24763) found -[13722] Forked 24764 -(24764) found -[13721] Forked 24765 -(24765) found -[13720] Forked 24766 -(24766) found -[13719] Forked 24767 -(24767) found -[13718] Forked 24768 -(24768) found -[13717] Forked 24769 -(24769) found -[13716] Forked 24770 -[13715] Forked 24771 -(24770) found -(24771) found -[13714] Forked 24772 -[13713] Forked 24773 -(24772) found -(24773) found -[13712] Forked 24774 -[13711] Forked 24776 -(24774) found -(24776) found -[13710] Forked 24777 -(24777) found -[13709] Forked 24778 -(24778) found -[13708] Forked 24779 -(24779) found -[13707] Forked 24780 -(24780) found -[13706] Forked 24781 -(24781) found -[13705] Forked 24782 -(24782) found -[13704] Forked 24783 -(24783) found -[13703] Forked 24784 -(24784) found -[13702] Forked 24785 -(24785) found -[13701] Forked 24786 -(24786) found -[13700] Forked 24787 -(24787) found -[13699] Forked 24788 -(24788) found -[13698] Forked 24789 -(24789) found -[13697] Forked 24790 -(24790) found -[13696] Forked 24791 -(24791) found -[13695] Forked 24792 -(24792) found -[13694] Forked 24793 -(24793) found -[13693] Forked 24794 -(24794) found -[13692] Forked 24795 -(24795) found -[13691] Forked 24796 -(24796) found -[13690] Forked 24797 -(24797) found -[13689] Forked 24798 -(24798) found -[13688] Forked 24799 -(24799) found -[13687] Forked 24800 -(24800) found -[13686] Forked 24801 -(24801) found -[13685] Forked 24802 -(24802) found -[13684] Forked 24803 -(24803) found -[13683] Forked 24804 -(24804) found -[13682] Forked 24805 -(24805) found -[13681] Forked 24806 -(24806) found -[13680] Forked 24807 -(24807) found -[13679] Forked 24808 -(24808) found -[13678] Forked 24809 -(24809) found -[13677] Forked 24810 -(24810) found -[13676] Forked 24811 -(24811) found -[13675] Forked 24812 -(24812) found -[13674] Forked 24813 -(24813) found -[13673] Forked 24814 -(24814) found -[13672] Forked 24815 -(24815) found -[13671] Forked 24816 -(24816) found -[13670] Forked 24817 -(24817) found -[13669] Forked 24818 -(24818) found -[13668] Forked 24819 -(24819) found -[13667] Forked 24820 -(24820) found -[13666] Forked 24821 -(24821) found -[13665] Forked 24822 -(24822) found -[13664] Forked 24823 -(24823) found -[13663] Forked 24824 -(24824) found -[13662] Forked 24825 -(24825) found -[13661] Forked 24826 -(24826) found -[13660] Forked 24827 -(24827) found -[13659] Forked 24828 -(24828) found -[13658] Forked 24829 -(24829) found -[13657] Forked 24830 -(24830) found -[13656] Forked 24831 -(24831) found -[13655] Forked 24832 -(24832) found -[13654] Forked 24833 -(24833) found -[13653] Forked 24834 -(24834) found -[13652] Forked 24835 -(24835) found -[13651] Forked 24836 -(24836) found -[13650] Forked 24837 -(24837) found -[13649] Forked 24838 -(24838) found -[13648] Forked 24839 -(24839) found -[13647] Forked 24840 -(24840) found -[13646] Forked 24841 -(24841) found -[13645] Forked 24842 -(24842) found -[13644] Forked 24843 -(24843) found -[13643] Forked 24844 -(24844) found -[13642] Forked 24845 -(24845) found -[13641] Forked 24846 -(24846) found -[13640] Forked 24847 -(24847) found -[13639] Forked 24848 -(24848) found -[13638] Forked 24849 -(24849) found -[13637] Forked 24850 -(24850) found -[13636] Forked 24851 -(24851) found -[13635] Forked 24852 -(24852) found -[13634] Forked 24853 -(24853) found -[13633] Forked 24854 -(24854) found -[13632] Forked 24855 -(24855) found -[13631] Forked 24856 -(24856) found -[13630] Forked 24857 -(24857) found -[13629] Forked 24858 -(24858) found -[13628] Forked 24859 -(24859) found -[13627] Forked 24860 -(24860) found -[13626] Forked 24861 -(24861) found -[13625] Forked 24862 -(24862) found -[13624] Forked 24863 -(24863) found -[13623] Forked 24864 -(24864) found -[13622] Forked 24865 -(24865) found -[13621] Forked 24866 -(24866) found -[13620] Forked 24867 -(24867) found -[13619] Forked 24868 -(24868) found -[13618] Forked 24869 -(24869) found -[13617] Forked 24870 -(24870) found -[13616] Forked 24871 -(24871) found -[13615] Forked 24872 -(24872) found -[13614] Forked 24873 -(24873) found -[13613] Forked 24874 -(24874) found -[13612] Forked 24875 -(24875) found -[13611] Forked 24876 -(24876) found -[13610] Forked 24877 -(24877) found -[13609] Forked 24878 -(24878) found -[13608] Forked 24879 -[13607] Forked 24880 -(24879) found -(24880) found -[13606] Forked 24881 -[13605] Forked 24882 -(24881) found -(24882) found -[13604] Forked 24883 -[13603] Forked 24884 -(24883) found -(24884) found -[13602] Forked 24885 -[13601] Forked 24886 -(24885) found -(24886) found -[13600] Forked 24887 -[13599] Forked 24888 -(24887) found -(24888) found -[13598] Forked 24889 -(24889) found -[13597] Forked 24890 -[13596] Forked 24891 -(24890) found -(24891) found -[13595] Forked 24892 -[13594] Forked 24893 -(24892) found -(24893) found -[13593] Forked 24894 -[13592] Forked 24895 -(24894) found -(24895) found -[13591] Forked 24896 -[13590] Forked 24897 -(24896) found -(24897) found -[13589] Forked 24898 -[13588] Forked 24899 -(24898) found -(24899) found -[13587] Forked 24900 -[13586] Forked 24901 -(24900) found -(24901) found -[13585] Forked 24902 -[13584] Forked 24903 -(24902) found -(24903) found -[13583] Forked 24904 -[13582] Forked 24905 -(24904) found -(24905) found -[13581] Forked 24906 -[13580] Forked 24907 -(24906) found -(24907) found -[13579] Forked 24908 -[13578] Forked 24909 -(24908) found -(24909) found -[13577] Forked 24910 -[13576] Forked 24911 -(24910) found -(24911) found -[13575] Forked 24912 -[13574] Forked 24913 -(24912) found -(24913) found -[13573] Forked 24914 -[13572] Forked 24915 -(24914) found -(24915) found -[13571] Forked 24916 -[13570] Forked 24917 -(24916) found -(24917) found -[13569] Forked 24918 -[13568] Forked 24919 -(24918) found -(24919) found -[13567] Forked 24920 -[13566] Forked 24921 -(24920) found -(24921) found -[13565] Forked 24922 -[13564] Forked 24923 -(24922) found -(24923) found -[13563] Forked 24924 -[13562] Forked 24925 -(24924) found -(24925) found -[13561] Forked 24926 -[13560] Forked 24927 -(24926) found -(24927) found -[13559] Forked 24928 -[13558] Forked 24929 -(24928) found -(24929) found -[13557] Forked 24930 -[13556] Forked 24931 -(24930) found -(24931) found -[13555] Forked 24932 -[13554] Forked 24933 -(24932) found -(24933) found -[13553] Forked 24934 -[13552] Forked 24935 -(24934) found -(24935) found -[13551] Forked 24936 -[13550] Forked 24937 -(24936) found -(24937) found -[13549] Forked 24938 -[13548] Forked 24939 -(24938) found -(24939) found -[13547] Forked 24940 -[13546] Forked 24941 -(24940) found -(24941) found -[13545] Forked 24942 -[13544] Forked 24943 -(24942) found -(24943) found -[13543] Forked 24944 -[13542] Forked 24945 -(24944) found -(24945) found -[13541] Forked 24946 -[13540] Forked 24947 -(24946) found -(24947) found -[13539] Forked 24948 -[13538] Forked 24949 -(24948) found -(24949) found -[13537] Forked 24950 -[13536] Forked 24951 -(24950) found -(24951) found -[13535] Forked 24952 -[13534] Forked 24953 -(24952) found -(24953) found -[13533] Forked 24954 -[13532] Forked 24955 -(24954) found -(24955) found -[13531] Forked 24956 -[13530] Forked 24957 -(24956) found -(24957) found -[13529] Forked 24958 -[13528] Forked 24959 -(24958) found -(24959) found -[13527] Forked 24960 -[13526] Forked 24961 -(24960) found -(24961) found -[13525] Forked 24962 -[13524] Forked 24963 -(24962) found -(24963) found -[13523] Forked 24964 -[13522] Forked 24965 -(24964) found -(24965) found -[13521] Forked 24966 -[13520] Forked 24967 -(24966) found -(24967) found -[13519] Forked 24968 -[13518] Forked 24969 -(24968) found -(24969) found -[13517] Forked 24970 -(24970) found -[13516] Forked 24971 -(24971) found -[13515] Forked 24972 -(24972) found -[13514] Forked 24973 -(24973) found -[13513] Forked 24974 -(24974) found -[13512] Forked 24975 -(24975) found -[13511] Forked 24976 -(24976) found -[13510] Forked 24977 -(24977) found -[13509] Forked 24978 -(24978) found -[13508] Forked 24979 -(24979) found -[13507] Forked 24980 -(24980) found -[13506] Forked 24981 -(24981) found -[13505] Forked 24982 -(24982) found -[13504] Forked 24983 -(24983) found -[13503] Forked 24984 -(24984) found -[13502] Forked 24985 -(24985) found -[13501] Forked 24986 -(24986) found -[13500] Forked 24987 -(24987) found -[13499] Forked 24988 -(24988) found -[13498] Forked 24989 -(24989) found -[13497] Forked 24990 -(24990) found -[13496] Forked 24991 -(24991) found -[13495] Forked 24992 -(24992) found -[13494] Forked 24993 -(24993) found -[13493] Forked 24994 -(24994) found -[13492] Forked 24996 -(24996) found -[13491] Forked 24997 -(24997) found -[13490] Forked 24998 -(24998) found -[13489] Forked 24999 -(24999) found -[13488] Forked 25000 -(25000) found -[13487] Forked 25001 -(25001) found -[13486] Forked 25002 -(25002) found -[13485] Forked 25003 -(25003) found -[13484] Forked 25004 -(25004) found -[13483] Forked 25005 -(25005) found -[13482] Forked 25006 -(25006) found -[13481] Forked 25007 -[13480] Forked 25008 -(25007) found -(25008) found -[13479] Forked 25009 -[13478] Forked 25010 -(25009) found -(25010) found -[13477] Forked 25011 -[13476] Forked 25013 -(25011) found -(25013) found -[13475] Forked 25014 -(25014) found -[13474] Forked 25015 -(25015) found -[13473] Forked 25016 -(25016) found -[13472] Forked 25017 -(25017) found -[13471] Forked 25018 -(25018) found -[13470] Forked 25019 -(25019) found -[13469] Forked 25020 -(25020) found -[13468] Forked 25021 -(25021) found -[13467] Forked 25022 -(25022) found -[13466] Forked 25023 -(25023) found -[13465] Forked 25024 -(25024) found -[13464] Forked 25025 -(25025) found -[13463] Forked 25026 -(25026) found -[13462] Forked 25027 -(25027) found -[13461] Forked 25028 -(25028) found -[13460] Forked 25029 -(25029) found -[13459] Forked 25030 -(25030) found -[13458] Forked 25031 -(25031) found -[13457] Forked 25032 -(25032) found -[13456] Forked 25033 -(25033) found -[13455] Forked 25034 -(25034) found -[13454] Forked 25035 -(25035) found -[13453] Forked 25036 -(25036) found -[13452] Forked 25037 -(25037) found -[13451] Forked 25038 -(25038) found -[13450] Forked 25039 -(25039) found -[13449] Forked 25040 -(25040) found -[13448] Forked 25041 -(25041) found -[13447] Forked 25042 -(25042) found -[13446] Forked 25043 -(25043) found -[13445] Forked 25044 -(25044) found -[13444] Forked 25045 -(25045) found -[13443] Forked 25046 -(25046) found -[13442] Forked 25047 -(25047) found -[13441] Forked 25048 -(25048) found -[13440] Forked 25049 -(25049) found -[13439] Forked 25050 -(25050) found -[13438] Forked 25051 -(25051) found -[13437] Forked 25052 -(25052) found -[13436] Forked 25053 -(25053) found -[13435] Forked 25054 -(25054) found -[13434] Forked 25055 -(25055) found -[13433] Forked 25056 -(25056) found -[13432] Forked 25057 -(25057) found -[13431] Forked 25058 -(25058) found -[13430] Forked 25059 -(25059) found -[13429] Forked 25060 -(25060) found -[13428] Forked 25061 -(25061) found -[13427] Forked 25062 -(25062) found -[13426] Forked 25063 -(25063) found -[13425] Forked 25064 -(25064) found -[13424] Forked 25065 -(25065) found -[13423] Forked 25066 -(25066) found -[13422] Forked 25067 -(25067) found -[13421] Forked 25068 -(25068) found -[13420] Forked 25069 -(25069) found -[13419] Forked 25070 -(25070) found -[13418] Forked 25071 -(25071) found -[13417] Forked 25072 -(25072) found -[13416] Forked 25073 -(25073) found -[13415] Forked 25074 -(25074) found -[13414] Forked 25075 -(25075) found -[13413] Forked 25076 -(25076) found -[13412] Forked 25077 -(25077) found -[13411] Forked 25078 -(25078) found -[13410] Forked 25079 -[13409] Forked 25080 -(25079) found -(25080) found -[13408] Forked 25081 -[13407] Forked 25082 -(25081) found -(25082) found -[13406] Forked 25083 -[13405] Forked 25084 -(25083) found -(25084) found -[13404] Forked 25085 -[13403] Forked 25086 -(25085) found -(25086) found -[13402] Forked 25087 -[13401] Forked 25088 -(25087) found -(25088) found -[13400] Forked 25089 -[13399] Forked 25090 -(25089) found -(25090) found -[13398] Forked 25091 -[13397] Forked 25092 -(25091) found -(25092) found -[13396] Forked 25093 -[13395] Forked 25094 -(25093) found -(25094) found -[13394] Forked 25095 -[13393] Forked 25096 -(25095) found -(25096) found -[13392] Forked 25097 -[13391] Forked 25098 -(25097) found -(25098) found -[13390] Forked 25099 -[13389] Forked 25100 -(25099) found -(25100) found -[13388] Forked 25101 -[13387] Forked 25102 -(25101) found -(25102) found -[13386] Forked 25103 -[13385] Forked 25104 -(25103) found -(25104) found -[13384] Forked 25105 -[13383] Forked 25106 -(25105) found -(25106) found -[13382] Forked 25107 -[13381] Forked 25108 -(25107) found -(25108) found -[13380] Forked 25109 -[13379] Forked 25110 -(25109) found -(25110) found -[13378] Forked 25111 -[13377] Forked 25112 -(25111) found -(25112) found -[13376] Forked 25113 -[13375] Forked 25114 -(25113) found -(25114) found -[13374] Forked 25115 -[13373] Forked 25116 -(25115) found -(25116) found -[13372] Forked 25117 -[13371] Forked 25118 -(25117) found -(25118) found -[13370] Forked 25119 -[13369] Forked 25120 -(25119) found -(25120) found -[13368] Forked 25121 -[13367] Forked 25122 -(25121) found -(25122) found -[13366] Forked 25123 -[13365] Forked 25124 -(25123) found -(25124) found -[13364] Forked 25125 -[13363] Forked 25126 -(25125) found -(25126) found -[13362] Forked 25127 -[13361] Forked 25128 -(25127) found -(25128) found -[13360] Forked 25129 -[13359] Forked 25130 -(25129) found -(25130) found -[13358] Forked 25131 -[13357] Forked 25132 -(25131) found -(25132) found -[13356] Forked 25133 -[13355] Forked 25134 -(25133) found -(25134) found -[13354] Forked 25135 -[13353] Forked 25136 -(25135) found -(25136) found -[13352] Forked 25137 -[13351] Forked 25138 -(25137) found -(25138) found -[13350] Forked 25139 -[13349] Forked 25140 -(25139) found -(25140) found -[13348] Forked 25141 -[13347] Forked 25142 -(25141) found -(25142) found -[13346] Forked 25143 -[13345] Forked 25144 -(25143) found -(25144) found -[13344] Forked 25145 -[13343] Forked 25146 -(25145) found -(25146) found -[13342] Forked 25147 -[13341] Forked 25148 -(25147) found -(25148) found -[13340] Forked 25149 -[13339] Forked 25150 -(25149) found -(25150) found -[13338] Forked 25151 -[13337] Forked 25152 -(25151) found -(25152) found -[13336] Forked 25153 -[13335] Forked 25154 -(25153) found -(25154) found -[13334] Forked 25155 -[13333] Forked 25156 -(25155) found -(25156) found -[13332] Forked 25157 -[13331] Forked 25158 -(25157) found -(25158) found -[13330] Forked 25159 -[13329] Forked 25160 -(25159) found -(25160) found -[13328] Forked 25161 -[13327] Forked 25162 -(25161) found -(25162) found -[13326] Forked 25163 -[13325] Forked 25164 -(25163) found -(25164) found -[13324] Forked 25165 -[13323] Forked 25166 -(25165) found -(25166) found -[13322] Forked 25167 -[13321] Forked 25168 -(25167) found -(25168) found -[13320] Forked 25169 -[13319] Forked 25170 -(25169) found -(25170) found -[13318] Forked 25171 -[13317] Forked 25172 -(25171) found -(25172) found -[13316] Forked 25173 -[13315] Forked 25174 -(25173) found -(25174) found -[13314] Forked 25175 -[13313] Forked 25176 -(25175) found -(25176) found -[13312] Forked 25177 -[13311] Forked 25178 -(25177) found -(25178) found -[13310] Forked 25179 -[13309] Forked 25180 -(25179) found -(25180) found -[13308] Forked 25181 -[13307] Forked 25182 -(25181) found -(25182) found -[13306] Forked 25183 -[13305] Forked 25184 -(25183) found -(25184) found -[13304] Forked 25185 -[13303] Forked 25186 -(25185) found -(25186) found -[13302] Forked 25187 -[13301] Forked 25188 -(25187) found -(25188) found -[13300] Forked 25189 -[13299] Forked 25190 -(25189) found -(25190) found -[13298] Forked 25191 -[13297] Forked 25192 -(25191) found -(25192) found -[13296] Forked 25193 -[13295] Forked 25194 -(25193) found -(25194) found -[13294] Forked 25195 -[13293] Forked 25196 -(25195) found -(25196) found -[13292] Forked 25197 -[13291] Forked 25198 -(25197) found -(25198) found -[13290] Forked 25199 -[13289] Forked 25200 -(25199) found -(25200) found -[13288] Forked 25201 -[13287] Forked 25202 -(25201) found -(25202) found -[13286] Forked 25203 -[13285] Forked 25204 -(25203) found -(25204) found -[13284] Forked 25205 -[13283] Forked 25206 -(25205) found -(25206) found -[13282] Forked 25207 -[13281] Forked 25208 -(25207) found -(25208) found -[13280] Forked 25209 -[13279] Forked 25210 -(25209) found -(25210) found -[13278] Forked 25211 -[13277] Forked 25212 -(25211) found -(25212) found -[13276] Forked 25213 -[13275] Forked 25214 -(25213) found -(25214) found -[13274] Forked 25215 -[13273] Forked 25216 -(25215) found -(25216) found -[13272] Forked 25217 -[13271] Forked 25218 -(25217) found -(25218) found -[13270] Forked 25219 -[13269] Forked 25220 -(25219) found -(25220) found -[13268] Forked 25221 -[13267] Forked 25222 -(25221) found -(25222) found -[13266] Forked 25223 -[13265] Forked 25224 -(25223) found -(25224) found -[13264] Forked 25225 -[13263] Forked 25226 -(25225) found -(25226) found -[13262] Forked 25227 -[13261] Forked 25228 -(25227) found -(25228) found -[13260] Forked 25229 -[13259] Forked 25230 -(25229) found -(25230) found -[13258] Forked 25231 -[13257] Forked 25232 -(25231) found -(25232) found -[13256] Forked 25233 -[13255] Forked 25234 -(25233) found -(25234) found -[13254] Forked 25235 -[13253] Forked 25236 -(25235) found -(25236) found -[13252] Forked 25237 -[13251] Forked 25238 -(25237) found -(25238) found -[13250] Forked 25239 -[13249] Forked 25240 -(25239) found -(25240) found -[13248] Forked 25241 -[13247] Forked 25242 -(25241) found -(25242) found -[13246] Forked 25243 -[13245] Forked 25244 -(25243) found -(25244) found -[13244] Forked 25245 -[13243] Forked 25246 -(25245) found -(25246) found -[13242] Forked 25247 -[13241] Forked 25248 -(25247) found -(25248) found -[13240] Forked 25249 -[13239] Forked 25250 -(25249) found -(25250) found -[13238] Forked 25251 -[13237] Forked 25252 -(25251) found -(25252) found -[13236] Forked 25253 -[13235] Forked 25254 -(25253) found -(25254) found -[13234] Forked 25255 -[13233] Forked 25256 -(25255) found -(25256) found -[13232] Forked 25257 -[13231] Forked 25258 -(25257) found -(25258) found -[13230] Forked 25259 -[13229] Forked 25260 -(25259) found -(25260) found -[13228] Forked 25261 -(25261) found -[13227] Forked 25262 -(25262) found -[13226] Forked 25263 -(25263) found -[13225] Forked 25264 -(25264) found -[13224] Forked 25265 -(25265) found -[13223] Forked 25266 -(25266) found -[13222] Forked 25267 -(25267) found -[13221] Forked 25268 -(25268) found -[13220] Forked 25269 -(25269) found -[13219] Forked 25270 -(25270) found -[13218] Forked 25271 -(25271) found -[13217] Forked 25272 -(25272) found -[13216] Forked 25273 -(25273) found -[13215] Forked 25274 -(25274) found -[13214] Forked 25275 -(25275) found -[13213] Forked 25276 -(25276) found -[13212] Forked 25277 -(25277) found -[13211] Forked 25278 -(25278) found -[13210] Forked 25279 -(25279) found -[13209] Forked 25280 -(25280) found -[13208] Forked 25281 -(25281) found -[13207] Forked 25282 -(25282) found -[13206] Forked 25283 -(25283) found -[13205] Forked 25284 -(25284) found -[13204] Forked 25285 -(25285) found -[13203] Forked 25286 -(25286) found -[13202] Forked 25287 -(25287) found -[13201] Forked 25288 -(25288) found -[13200] Forked 25289 -(25289) found -[13199] Forked 25290 -(25290) found -[13198] Forked 25291 -(25291) found -[13197] Forked 25292 -(25292) found -[13196] Forked 25293 -(25293) found -[13195] Forked 25294 -(25294) found -[13194] Forked 25295 -[13193] Forked 25296 -(25295) found -(25296) found -[13192] Forked 25297 -[13191] Forked 25298 -(25297) found -(25298) found -[13190] Forked 25299 -[13189] Forked 25300 -(25299) found -(25300) found -[13188] Forked 25301 -[13187] Forked 25302 -(25301) found -(25302) found -[13186] Forked 25303 -[13185] Forked 25304 -(25303) found -(25304) found -[13184] Forked 25305 -[13183] Forked 25306 -(25305) found -(25306) found -[13182] Forked 25307 -[13181] Forked 25308 -(25307) found -(25308) found -[13180] Forked 25309 -[13179] Forked 25310 -(25309) found -(25310) found -[13178] Forked 25311 -[13177] Forked 25312 -(25311) found -(25312) found -[13176] Forked 25313 -[13175] Forked 25314 -(25313) found -(25314) found -[13174] Forked 25315 -[13173] Forked 25316 -(25315) found -(25316) found -[13172] Forked 25317 -[13171] Forked 25318 -(25317) found -(25318) found -[13170] Forked 25319 -[13169] Forked 25320 -(25319) found -(25320) found -[13168] Forked 25321 -[13167] Forked 25322 -(25321) found -(25322) found -[13166] Forked 25323 -[13165] Forked 25324 -(25323) found -(25324) found -[13164] Forked 25325 -[13163] Forked 25326 -(25325) found -(25326) found -[13162] Forked 25327 -[13161] Forked 25328 -(25327) found -(25328) found -[13160] Forked 25329 -[13159] Forked 25330 -(25329) found -(25330) found -[13158] Forked 25331 -[13157] Forked 25332 -(25331) found -(25332) found -[13156] Forked 25333 -(25333) found -[13155] Forked 25334 -[13154] Forked 25335 -(25334) found -(25335) found -[13153] Forked 25336 -[13152] Forked 25337 -(25336) found -(25337) found -[13151] Forked 25338 -[13150] Forked 25339 -(25338) found -(25339) found -[13149] Forked 25340 -[13148] Forked 25341 -(25340) found -(25341) found -[13147] Forked 25342 -[13146] Forked 25343 -(25342) found -(25343) found -[13145] Forked 25344 -[13144] Forked 25345 -(25344) found -(25345) found -[13143] Forked 25346 -[13142] Forked 25347 -(25346) found -(25347) found -[13141] Forked 25348 -[13140] Forked 25349 -(25348) found -(25349) found -[13139] Forked 25350 -[13138] Forked 25351 -(25350) found -(25351) found -[13137] Forked 25352 -[13136] Forked 25353 -(25352) found -(25353) found -[13135] Forked 25354 -[13134] Forked 25355 -(25354) found -(25355) found -[13133] Forked 25356 -[13132] Forked 25357 -(25356) found -(25357) found -[13131] Forked 25358 -[13130] Forked 25359 -(25358) found -(25359) found -[13129] Forked 25360 -[13128] Forked 25361 -(25360) found -(25361) found -[13127] Forked 25362 -[13126] Forked 25363 -(25362) found -(25363) found -[13125] Forked 25364 -[13124] Forked 25365 -(25364) found -(25365) found -[13123] Forked 25366 -[13122] Forked 25367 -(25366) found -(25367) found -[13121] Forked 25368 -[13120] Forked 25369 -(25368) found -(25369) found -[13119] Forked 25370 -[13118] Forked 25371 -(25370) found -(25371) found -[13117] Forked 25372 -[13116] Forked 25373 -(25372) found -(25373) found -[13115] Forked 25374 -[13114] Forked 25375 -(25374) found -(25375) found -[13113] Forked 25376 -[13112] Forked 25377 -(25376) found -(25377) found -[13111] Forked 25378 -[13110] Forked 25379 -(25378) found -(25379) found -[13109] Forked 25380 -[13108] Forked 25381 -(25380) found -(25381) found -[13107] Forked 25382 -[13106] Forked 25383 -(25382) found -(25383) found -[13105] Forked 25384 -[13104] Forked 25385 -(25384) found -(25385) found -[13103] Forked 25386 -[13102] Forked 25387 -(25386) found -(25387) found -[13101] Forked 25388 -[13100] Forked 25389 -(25388) found -(25389) found -[13099] Forked 25390 -[13098] Forked 25391 -(25390) found -(25391) found -[13097] Forked 25392 -[13096] Forked 25393 -(25392) found -(25393) found -[13095] Forked 25394 -[13094] Forked 25396 -(25394) found -(25396) found -[13093] Forked 25397 -(25397) found -[13092] Forked 25398 -(25398) found -[13091] Forked 25399 -(25399) found -[13090] Forked 25400 -(25400) found -[13089] Forked 25401 -(25401) found -[13088] Forked 25402 -(25402) found -[13087] Forked 25403 -(25403) found -[13086] Forked 25404 -(25404) found -[13085] Forked 25405 -(25405) found -[13084] Forked 25406 -(25406) found -[13083] Forked 25407 -(25407) found -[13082] Forked 25408 -(25408) found -[13081] Forked 25409 -(25409) found -[13080] Forked 25410 -(25410) found -[13079] Forked 25411 -(25411) found -[13078] Forked 25412 -(25412) found -[13077] Forked 25413 -(25413) found -[13076] Forked 25414 -(25414) found -[13075] Forked 25416 -(25416) found -[13074] Forked 25417 -(25417) found -[13073] Forked 25418 -(25418) found -[13072] Forked 25419 -(25419) found -[13071] Forked 25420 -(25420) found -[13070] Forked 25421 -(25421) found -[13069] Forked 25422 -(25422) found -[13068] Forked 25423 -(25423) found -[13067] Forked 25424 -(25424) found -[13066] Forked 25426 -(25426) found -[13065] Forked 25428 -(25428) found -[13064] Forked 25430 -(25430) found -[13063] Forked 25431 -(25431) found -[13062] Forked 25432 -(25432) found -[13061] Forked 25433 -(25433) found -[13060] Forked 25434 -(25434) found -[13059] Forked 25435 -(25435) found -[13058] Forked 25436 -(25436) found -[13057] Forked 25437 -(25437) found -[13056] Forked 25438 -(25438) found -[13055] Forked 25439 -(25439) found -[13054] Forked 25440 -(25440) found -[13053] Forked 25441 -(25441) found -[13052] Forked 25442 -(25442) found -[13051] Forked 25443 -(25443) found -[13050] Forked 25444 -(25444) found -[13049] Forked 25445 -(25445) found -[13048] Forked 25446 -(25446) found -[13047] Forked 25447 -(25447) found -[13046] Forked 25448 -(25448) found -[13045] Forked 25449 -(25449) found -[13044] Forked 25450 -(25450) found -[13043] Forked 25451 -(25451) found -[13042] Forked 25452 -(25452) found -[13041] Forked 25453 -(25453) found -[13040] Forked 25454 -(25454) found -[13039] Forked 25455 -(25455) found -[13038] Forked 25456 -(25456) found -[13037] Forked 25457 -(25457) found -[13036] Forked 25458 -(25458) found -[13035] Forked 25459 -(25459) found -[13034] Forked 25460 -(25460) found -[13033] Forked 25461 -[13032] Forked 25462 -(25461) found -(25462) found -[13031] Forked 25463 -[13030] Forked 25464 -(25463) found -(25464) found -[13029] Forked 25465 -[13028] Forked 25466 -(25465) found -(25466) found -[13027] Forked 25467 -[13026] Forked 25468 -(25467) found -(25468) found -[13025] Forked 25469 -[13024] Forked 25470 -(25469) found -(25470) found -[13023] Forked 25471 -[13022] Forked 25472 -(25471) found -(25472) found -[13021] Forked 25473 -[13020] Forked 25474 -(25473) found -(25474) found -[13019] Forked 25475 -[13018] Forked 25476 -(25475) found -(25476) found -[13017] Forked 25477 -[13016] Forked 25478 -(25477) found -(25478) found -[13015] Forked 25479 -[13014] Forked 25480 -(25479) found -(25480) found -[13013] Forked 25481 -[13012] Forked 25482 -(25481) found -(25482) found -[13011] Forked 25483 -[13010] Forked 25484 -(25483) found -(25484) found -[13009] Forked 25485 -[13008] Forked 25486 -(25485) found -(25486) found -[13007] Forked 25487 -[13006] Forked 25488 -(25487) found -(25488) found -[13005] Forked 25489 -[13004] Forked 25490 -(25489) found -(25490) found -[13003] Forked 25491 -[13002] Forked 25492 -(25491) found -(25492) found -[13001] Forked 25493 -[13000] Forked 25494 -(25493) found -(25494) found -[12999] Forked 25495 -[12998] Forked 25496 -(25495) found -(25496) found -[12997] Forked 25497 -[12996] Forked 25498 -(25497) found -(25498) found -[12995] Forked 25499 -[12994] Forked 25500 -(25499) found -(25500) found -[12993] Forked 25501 -[12992] Forked 25502 -(25501) found -(25502) found -[12991] Forked 25503 -[12990] Forked 25504 -(25503) found -(25504) found -[12989] Forked 25505 -[12988] Forked 25506 -(25505) found -(25506) found -[12987] Forked 25507 -[12986] Forked 25508 -(25507) found -(25508) found -[12985] Forked 25509 -[12984] Forked 25510 -(25509) found -(25510) found -[12983] Forked 25511 -[12982] Forked 25512 -(25511) found -(25512) found -[12981] Forked 25513 -[12980] Forked 25514 -(25513) found -(25514) found -[12979] Forked 25515 -[12978] Forked 25516 -(25515) found -(25516) found -[12977] Forked 25517 -[12976] Forked 25518 -(25517) found -(25518) found -[12975] Forked 25519 -[12974] Forked 25520 -(25519) found -(25520) found -[12973] Forked 25521 -[12972] Forked 25522 -(25521) found -(25522) found -[12971] Forked 25523 -[12970] Forked 25524 -(25523) found -(25524) found -[12969] Forked 25525 -[12968] Forked 25526 -(25525) found -(25526) found -[12967] Forked 25527 -[12966] Forked 25528 -(25527) found -(25528) found -[12965] Forked 25529 -[12964] Forked 25530 -(25529) found -(25530) found -[12963] Forked 25531 -[12962] Forked 25532 -(25531) found -(25532) found -[12961] Forked 25533 -[12960] Forked 25534 -(25533) found -(25534) found -[12959] Forked 25535 -[12958] Forked 25536 -(25535) found -(25536) found -[12957] Forked 25537 -[12956] Forked 25538 -(25537) found -(25538) found -[12955] Forked 25539 -[12954] Forked 25540 -(25539) found -(25540) found -[12953] Forked 25541 -[12952] Forked 25542 -(25541) found -(25542) found -[12951] Forked 25543 -[12950] Forked 25544 -(25543) found -(25544) found -[12949] Forked 25545 -[12948] Forked 25546 -(25545) found -(25546) found -[12947] Forked 25547 -[12946] Forked 25548 -(25547) found -(25548) found -[12945] Forked 25549 -[12944] Forked 25550 -(25549) found -(25550) found -[12943] Forked 25551 -[12942] Forked 25552 -(25551) found -(25552) found -[12941] Forked 25553 -[12940] Forked 25554 -(25553) found -(25554) found -[12939] Forked 25555 -[12938] Forked 25556 -(25555) found -(25556) found -[12937] Forked 25557 -[12936] Forked 25558 -(25557) found -(25558) found -[12935] Forked 25559 -[12934] Forked 25560 -(25559) found -(25560) found -[12933] Forked 25561 -[12932] Forked 25562 -(25561) found -(25562) found -[12931] Forked 25563 -[12930] Forked 25564 -(25563) found -(25564) found -[12929] Forked 25565 -[12928] Forked 25566 -(25565) found -(25566) found -[12927] Forked 25567 -[12926] Forked 25568 -(25567) found -(25568) found -[12925] Forked 25569 -[12924] Forked 25570 -(25569) found -(25570) found -[12923] Forked 25571 -[12922] Forked 25572 -(25571) found -(25572) found -[12921] Forked 25573 -[12920] Forked 25574 -(25573) found -(25574) found -[12919] Forked 25575 -[12918] Forked 25576 -(25575) found -(25576) found -[12917] Forked 25577 -[12916] Forked 25578 -(25577) found -(25578) found -[12915] Forked 25579 -[12914] Forked 25580 -(25579) found -(25580) found -[12913] Forked 25581 -[12912] Forked 25582 -(25581) found -(25582) found -[12911] Forked 25583 -[12910] Forked 25584 -(25583) found -(25584) found -[12909] Forked 25585 -[12908] Forked 25586 -(25585) found -(25586) found -[12907] Forked 25587 -[12906] Forked 25588 -(25587) found -(25588) found -[12905] Forked 25589 -[12904] Forked 25590 -(25589) found -(25590) found -[12903] Forked 25591 -[12902] Forked 25592 -(25591) found -(25592) found -[12901] Forked 25593 -[12900] Forked 25595 -(25593) found -(25595) found -[12899] Forked 25596 -[12898] Forked 25597 -(25596) found -(25597) found -[12897] Forked 25598 -[12896] Forked 25599 -(25599) found -(25598) found -[12895] Forked 25600 -(25600) found -[12894] Forked 25601 -[12893] Forked 25602 -(25601) found -(25602) found -[12892] Forked 25603 -[12891] Forked 25604 -(25603) found -(25604) found -[12890] Forked 25605 -[12889] Forked 25606 -(25605) found -(25606) found -[12888] Forked 25607 -[12887] Forked 25608 -(25607) found -(25608) found -[12886] Forked 25609 -[12885] Forked 25610 -(25609) found -(25610) found -[12884] Forked 25611 -[12883] Forked 25612 -(25611) found -(25612) found -[12882] Forked 25613 -[12881] Forked 25614 -(25613) found -(25614) found -[12880] Forked 25615 -[12879] Forked 25616 -(25615) found -(25616) found -[12878] Forked 25617 -[12877] Forked 25618 -(25617) found -(25618) found -[12876] Forked 25619 -[12875] Forked 25620 -(25619) found -(25620) found -[12874] Forked 25621 -[12873] Forked 25622 -(25621) found -(25622) found -[12872] Forked 25623 -[12871] Forked 25624 -(25623) found -(25624) found -[12870] Forked 25625 -(25625) found -[12869] Forked 25626 -[12868] Forked 25627 -(25626) found -(25627) found -[12867] Forked 25628 -[12866] Forked 25629 -(25628) found -(25629) found -[12865] Forked 25630 -[12864] Forked 25631 -(25630) found -(25631) found -[12863] Forked 25632 -[12862] Forked 25633 -(25632) found -(25633) found -[12861] Forked 25634 -[12860] Forked 25635 -(25634) found -(25635) found -[12859] Forked 25636 -[12858] Forked 25637 -(25636) found -(25637) found -[12857] Forked 25638 -[12856] Forked 25639 -(25638) found -(25639) found -[12855] Forked 25640 -[12854] Forked 25641 -(25640) found -(25641) found -[12853] Forked 25642 -[12852] Forked 25643 -(25642) found -(25643) found -[12851] Forked 25644 -[12850] Forked 25645 -(25644) found -(25645) found -[12849] Forked 25646 -[12848] Forked 25647 -(25646) found -(25647) found -[12847] Forked 25648 -[12846] Forked 25649 -(25648) found -(25649) found -[12845] Forked 25650 -[12844] Forked 25651 -(25650) found -(25651) found -[12843] Forked 25652 -[12842] Forked 25653 -(25652) found -(25653) found -[12841] Forked 25654 -[12840] Forked 25655 -(25654) found -(25655) found -[12839] Forked 25656 -[12838] Forked 25657 -(25656) found -(25657) found -[12837] Forked 25658 -[12836] Forked 25659 -(25658) found -(25659) found -[12835] Forked 25660 -[12834] Forked 25661 -(25660) found -(25661) found -[12833] Forked 25662 -[12832] Forked 25663 -(25662) found -(25663) found -[12831] Forked 25664 -[12830] Forked 25665 -(25664) found -(25665) found -[12829] Forked 25666 -[12828] Forked 25667 -(25666) found -(25667) found -[12827] Forked 25668 -[12826] Forked 25669 -(25668) found -(25669) found -[12825] Forked 25670 -[12824] Forked 25671 -(25670) found -(25671) found -[12823] Forked 25672 -[12822] Forked 25673 -(25672) found -(25673) found -[12821] Forked 25674 -[12820] Forked 25675 -(25674) found -(25675) found -[12819] Forked 25676 -[12818] Forked 25677 -(25676) found -(25677) found -[12817] Forked 25678 -[12816] Forked 25679 -(25678) found -(25679) found -[12815] Forked 25680 -[12814] Forked 25681 -(25680) found -(25681) found -[12813] Forked 25682 -[12812] Forked 25683 -(25682) found -(25683) found -[12811] Forked 25684 -[12810] Forked 25685 -(25684) found -(25685) found -[12809] Forked 25686 -[12808] Forked 25687 -(25686) found -(25687) found -[12807] Forked 25688 -[12806] Forked 25689 -(25688) found -(25689) found -[12805] Forked 25690 -[12804] Forked 25691 -(25690) found -(25691) found -[12803] Forked 25692 -[12802] Forked 25693 -(25692) found -(25693) found -[12801] Forked 25694 -[12800] Forked 25695 -(25694) found -(25695) found -[12799] Forked 25696 -[12798] Forked 25697 -(25696) found -(25697) found -[12797] Forked 25698 -[12796] Forked 25699 -(25698) found -(25699) found -[12795] Forked 25700 -[12794] Forked 25701 -(25700) found -(25701) found -[12793] Forked 25702 -[12792] Forked 25703 -(25702) found -(25703) found -[12791] Forked 25704 -[12790] Forked 25705 -(25704) found -(25705) found -[12789] Forked 25706 -[12788] Forked 25707 -(25706) found -(25707) found -[12787] Forked 25708 -[12786] Forked 25709 -(25708) found -(25709) found -[12785] Forked 25710 -[12784] Forked 25711 -(25710) found -(25711) found -[12783] Forked 25712 -[12782] Forked 25713 -(25712) found -(25713) found -[12781] Forked 25714 -[12780] Forked 25715 -(25714) found -(25715) found -[12779] Forked 25716 -[12778] Forked 25717 -(25716) found -(25717) found -[12777] Forked 25718 -[12776] Forked 25719 -(25718) found -(25719) found -[12775] Forked 25720 -[12774] Forked 25721 -(25720) found -(25721) found -[12773] Forked 25722 -[12772] Forked 25723 -(25722) found -(25723) found -[12771] Forked 25724 -[12770] Forked 25725 -(25724) found -(25725) found -[12769] Forked 25726 -[12768] Forked 25727 -(25727) found -(25726) found -[12767] Forked 25728 -(25728) found -[12766] Forked 25729 -(25729) found -[12765] Forked 25730 -(25730) found -[12764] Forked 25731 -(25731) found -[12763] Forked 25732 -(25732) found -[12762] Forked 25733 -(25733) found -[12761] Forked 25734 -(25734) found -[12760] Forked 25735 -(25735) found -[12759] Forked 25736 -(25736) found -[12758] Forked 25737 -(25737) found -[12757] Forked 25738 -(25738) found -[12756] Forked 25739 -(25739) found -[12755] Forked 25740 -(25740) found -[12754] Forked 25741 -(25741) found -[12753] Forked 25742 -(25742) found -[12752] Forked 25743 -(25743) found -[12751] Forked 25744 -(25744) found -[12750] Forked 25745 -(25745) found -[12749] Forked 25746 -(25746) found -[12748] Forked 25747 -(25747) found -[12747] Forked 25748 -(25748) found -[12746] Forked 25749 -(25749) found -[12745] Forked 25750 -(25750) found -[12744] Forked 25751 -(25751) found -[12743] Forked 25752 -(25752) found -[12742] Forked 25753 -(25753) found -[12741] Forked 25754 -(25754) found -[12740] Forked 25755 -(25755) found -[12739] Forked 25756 -(25756) found -[12738] Forked 25757 -(25757) found -[12737] Forked 25758 -(25758) found -[12736] Forked 25759 -(25759) found -[12735] Forked 25760 -(25760) found -[12734] Forked 25761 -(25761) found -[12733] Forked 25762 -(25762) found -[12732] Forked 25763 -(25763) found -[12731] Forked 25764 -(25764) found -[12730] Forked 25765 -(25765) found -[12729] Forked 25766 -(25766) found -[12728] Forked 25767 -(25767) found -[12727] Forked 25768 -(25768) found -[12726] Forked 25769 -(25769) found -[12725] Forked 25770 -(25770) found -[12724] Forked 25771 -(25771) found -[12723] Forked 25772 -(25772) found -[12722] Forked 25774 -(25774) found -[12721] Forked 25775 -(25775) found -[12720] Forked 25776 -(25776) found -[12719] Forked 25777 -(25777) found -[12718] Forked 25778 -(25778) found -[12717] Forked 25779 -(25779) found -[12716] Forked 25780 -(25780) found -[12715] Forked 25781 -(25781) found -[12714] Forked 25782 -(25782) found -[12713] Forked 25783 -(25783) found -[12712] Forked 25784 -(25784) found -[12711] Forked 25785 -(25785) found -[12710] Forked 25786 -(25786) found -[12709] Forked 25787 -(25787) found -[12708] Forked 25788 -(25788) found -[12707] Forked 25789 -(25789) found -[12706] Forked 25790 -(25790) found -[12705] Forked 25791 -(25791) found -[12704] Forked 25792 -(25792) found -[12703] Forked 25793 -(25793) found -[12702] Forked 25794 -(25794) found -[12701] Forked 25795 -(25795) found -[12700] Forked 25796 -[12699] Forked 25797 -(25796) found -(25797) found -[12698] Forked 25798 -[12697] Forked 25799 -(25798) found -(25799) found -[12696] Forked 25800 -[12695] Forked 25801 -(25800) found -(25801) found -[12694] Forked 25802 -[12693] Forked 25803 -(25802) found -(25803) found -[12692] Forked 25804 -[12691] Forked 25805 -(25804) found -(25805) found -[12690] Forked 25806 -[12689] Forked 25807 -(25806) found -(25807) found -[12688] Forked 25808 -[12687] Forked 25809 -(25808) found -(25809) found -[12686] Forked 25810 -[12685] Forked 25811 -(25810) found -(25811) found -[12684] Forked 25812 -[12683] Forked 25813 -(25812) found -(25813) found -[12682] Forked 25814 -[12681] Forked 25815 -(25814) found -(25815) found -[12680] Forked 25816 -[12679] Forked 25817 -(25816) found -(25817) found -[12678] Forked 25818 -[12677] Forked 25819 -(25818) found -(25819) found -[12676] Forked 25820 -[12675] Forked 25821 -(25820) found -(25821) found -[12674] Forked 25822 -[12673] Forked 25823 -(25822) found -(25823) found -[12672] Forked 25824 -[12671] Forked 25825 -(25824) found -(25825) found -[12670] Forked 25826 -[12669] Forked 25827 -(25826) found -(25827) found -[12668] Forked 25828 -[12667] Forked 25829 -(25828) found -(25829) found -[12666] Forked 25830 -[12665] Forked 25831 -(25830) found -(25831) found -[12664] Forked 25832 -[12663] Forked 25833 -(25832) found -(25833) found -[12662] Forked 25834 -[12661] Forked 25835 -(25834) found -(25835) found -[12660] Forked 25836 -[12659] Forked 25837 -(25836) found -(25837) found -[12658] Forked 25838 -[12657] Forked 25839 -(25838) found -(25839) found -[12656] Forked 25840 -[12655] Forked 25841 -(25840) found -(25841) found -[12654] Forked 25842 -[12653] Forked 25843 -(25842) found -(25843) found -[12652] Forked 25844 -[12651] Forked 25845 -(25844) found -(25845) found -[12650] Forked 25846 -[12649] Forked 25847 -(25846) found -(25847) found -[12648] Forked 25848 -[12647] Forked 25849 -(25848) found -(25849) found -[12646] Forked 25850 -[12645] Forked 25851 -(25850) found -(25851) found -[12644] Forked 25852 -[12643] Forked 25853 -(25852) found -(25853) found -[12642] Forked 25854 -[12641] Forked 25855 -(25854) found -(25855) found -[12640] Forked 25856 -[12639] Forked 25857 -(25856) found -(25857) found -[12638] Forked 25858 -[12637] Forked 25859 -(25858) found -(25859) found -[12636] Forked 25860 -[12635] Forked 25861 -(25860) found -(25861) found -[12634] Forked 25862 -[12633] Forked 25863 -(25862) found -(25863) found -[12632] Forked 25864 -[12631] Forked 25865 -(25864) found -(25865) found -[12630] Forked 25866 -[12629] Forked 25867 -(25866) found -(25867) found -[12628] Forked 25868 -[12627] Forked 25869 -(25868) found -(25869) found -[12626] Forked 25870 -[12625] Forked 25871 -(25870) found -(25871) found -[12624] Forked 25872 -[12623] Forked 25873 -(25872) found -(25873) found -[12622] Forked 25874 -[12621] Forked 25875 -(25874) found -(25875) found -[12620] Forked 25876 -[12619] Forked 25877 -(25876) found -(25877) found -[12618] Forked 25878 -[12617] Forked 25879 -(25878) found -(25879) found -[12616] Forked 25880 -[12615] Forked 25881 -(25880) found -(25881) found -[12614] Forked 25882 -[12613] Forked 25883 -(25882) found -(25883) found -[12612] Forked 25884 -[12611] Forked 25885 -(25884) found -(25885) found -[12610] Forked 25886 -[12609] Forked 25887 -(25886) found -(25887) found -[12608] Forked 25888 -[12607] Forked 25889 -(25888) found -(25889) found -[12606] Forked 25890 -[12605] Forked 25891 -(25890) found -(25891) found -[12604] Forked 25892 -[12603] Forked 25893 -(25892) found -(25893) found -[12602] Forked 25894 -[12601] Forked 25895 -(25894) found -(25895) found -[12600] Forked 25896 -[12599] Forked 25897 -(25896) found -(25897) found -[12598] Forked 25898 -[12597] Forked 25899 -(25898) found -(25899) found -[12596] Forked 25900 -[12595] Forked 25901 -(25900) found -(25901) found -[12594] Forked 25902 -[12593] Forked 25903 -(25902) found -(25903) found -[12592] Forked 25904 -[12591] Forked 25905 -(25904) found -(25905) found -[12590] Forked 25906 -[12589] Forked 25907 -(25906) found -(25907) found -[12588] Forked 25908 -[12587] Forked 25909 -(25908) found -(25909) found -[12586] Forked 25910 -[12585] Forked 25911 -(25910) found -(25911) found -[12584] Forked 25912 -[12583] Forked 25913 -(25912) found -(25913) found -[12582] Forked 25914 -[12581] Forked 25915 -(25914) found -(25915) found -[12580] Forked 25916 -[12579] Forked 25917 -(25916) found -(25917) found -[12578] Forked 25918 -[12577] Forked 25919 -(25918) found -(25919) found -[12576] Forked 25920 -[12575] Forked 25921 -(25920) found -(25921) found -[12574] Forked 25922 -[12573] Forked 25923 -(25922) found -(25923) found -[12572] Forked 25924 -[12571] Forked 25925 -(25924) found -(25925) found -[12570] Forked 25926 -[12569] Forked 25927 -(25926) found -(25927) found -[12568] Forked 25928 -[12567] Forked 25929 -(25928) found -(25929) found -[12566] Forked 25930 -[12565] Forked 25931 -(25930) found -(25931) found -[12564] Forked 25932 -[12563] Forked 25933 -(25932) found -(25933) found -[12562] Forked 25934 -(25934) found -[12561] Forked 25935 -(25935) found -[12560] Forked 25936 -(25936) found -[12559] Forked 25937 -(25937) found -[12558] Forked 25938 -(25938) found -[12557] Forked 25939 -(25939) found -[12556] Forked 25940 -(25940) found -[12555] Forked 25941 -(25941) found -[12554] Forked 25942 -(25942) found -[12553] Forked 25943 -(25943) found -[12552] Forked 25944 -(25944) found -[12551] Forked 25945 -(25945) found -[12550] Forked 25946 -(25946) found -[12549] Forked 25947 -(25947) found -[12548] Forked 25948 -(25948) found -[12547] Forked 25949 -(25949) found -[12546] Forked 25950 -(25950) found -[12545] Forked 25951 -(25951) found -[12544] Forked 25952 -(25952) found -[12543] Forked 25953 -(25953) found -[12542] Forked 25954 -(25954) found -[12541] Forked 25955 -(25955) found -[12540] Forked 25956 -(25956) found -[12539] Forked 25957 -(25957) found -[12538] Forked 25958 -(25958) found -[12537] Forked 25959 -(25959) found -[12536] Forked 25960 -(25960) found -[12535] Forked 25961 -(25961) found -[12534] Forked 25962 -(25962) found -[12533] Forked 25963 -(25963) found -[12532] Forked 25964 -(25964) found -[12531] Forked 25965 -(25965) found -[12530] Forked 25966 -(25966) found -[12529] Forked 25967 -(25967) found -[12528] Forked 25968 -(25968) found -[12527] Forked 25969 -[12526] Forked 25970 -(25969) found -(25970) found -[12525] Forked 25971 -[12524] Forked 25972 -(25971) found -(25972) found -[12523] Forked 25973 -[12522] Forked 25974 -(25973) found -(25974) found -[12521] Forked 25975 -[12520] Forked 25976 -(25975) found -(25976) found -[12519] Forked 25977 -[12518] Forked 25978 -(25977) found -(25978) found -[12517] Forked 25979 -[12516] Forked 25980 -(25979) found -(25980) found -[12515] Forked 25981 -[12514] Forked 25982 -(25981) found -(25982) found -[12513] Forked 25983 -[12512] Forked 25984 -(25983) found -(25984) found -[12511] Forked 25985 -[12510] Forked 25986 -(25985) found -(25986) found -[12509] Forked 25987 -[12508] Forked 25988 -(25987) found -(25988) found -[12507] Forked 25989 -[12506] Forked 25990 -(25989) found -(25990) found -[12505] Forked 25991 -[12504] Forked 25992 -(25991) found -(25992) found -[12503] Forked 25993 -[12502] Forked 25994 -(25993) found -(25994) found -[12501] Forked 25995 -[12500] Forked 25996 -(25995) found -(25996) found -[12499] Forked 25997 -[12498] Forked 25998 -(25997) found -(25998) found -[12497] Forked 25999 -[12496] Forked 26000 -(25999) found -(26000) found -[12495] Forked 26001 -[12494] Forked 26002 -(26001) found -(26002) found -[12493] Forked 26003 -[12492] Forked 26004 -(26003) found -(26004) found -[12491] Forked 26005 -[12490] Forked 26006 -(26005) found -(26006) found -[12489] Forked 26007 -[12488] Forked 26008 -(26007) found -(26008) found -[12487] Forked 26009 -[12486] Forked 26010 -(26009) found -(26010) found -[12485] Forked 26011 -[12484] Forked 26012 -(26011) found -(26012) found -[12483] Forked 26013 -[12482] Forked 26014 -(26013) found -(26014) found -[12481] Forked 26015 -(26015) found -[12480] Forked 26016 -(26016) found -[12479] Forked 26017 -(26017) found -[12478] Forked 26018 -(26018) found -[12477] Forked 26019 -(26019) found -[12476] Forked 26020 -(26020) found -[12475] Forked 26021 -(26021) found -[12474] Forked 26022 -(26022) found -[12473] Forked 26023 -(26023) found -[12472] Forked 26024 -(26024) found -[12471] Forked 26025 -(26025) found -[12470] Forked 26026 -(26026) found -[12469] Forked 26027 -(26027) found -[12468] Forked 26028 -(26028) found -[12467] Forked 26029 -(26029) found -[12466] Forked 26030 -(26030) found -[12465] Forked 26031 -(26031) found -[12464] Forked 26032 -(26032) found -[12463] Forked 26033 -(26033) found -[12462] Forked 26034 -(26034) found -[12461] Forked 26035 -(26035) found -[12460] Forked 26036 -(26036) found -[12459] Forked 26037 -(26037) found -[12458] Forked 26038 -(26038) found -[12457] Forked 26039 -(26039) found -[12456] Forked 26040 -(26040) found -[12455] Forked 26041 -(26041) found -[12454] Forked 26042 -(26042) found -[12453] Forked 26043 -(26043) found -[12452] Forked 26044 -(26044) found -[12451] Forked 26045 -(26045) found -[12450] Forked 26046 -(26046) found -[12449] Forked 26047 -(26047) found -[12448] Forked 26048 -(26048) found -[12447] Forked 26049 -(26049) found -[12446] Forked 26050 -[12445] Forked 26051 -(26050) found -(26051) found -[12444] Forked 26052 -[12443] Forked 26053 -(26052) found -(26053) found -[12442] Forked 26054 -[12441] Forked 26055 -(26054) found -(26055) found -[12440] Forked 26056 -[12439] Forked 26057 -(26056) found -(26057) found -[12438] Forked 26058 -[12437] Forked 26059 -(26058) found -(26059) found -[12436] Forked 26060 -[12435] Forked 26061 -(26060) found -(26061) found -[12434] Forked 26062 -[12433] Forked 26063 -(26062) found -(26063) found -[12432] Forked 26064 -[12431] Forked 26065 -(26064) found -(26065) found -[12430] Forked 26066 -[12429] Forked 26067 -(26066) found -(26067) found -[12428] Forked 26068 -[12427] Forked 26069 -(26068) found -(26069) found -[12426] Forked 26070 -[12425] Forked 26071 -(26070) found -(26071) found -[12424] Forked 26072 -[12423] Forked 26073 -(26072) found -(26073) found -[12422] Forked 26074 -[12421] Forked 26075 -(26074) found -(26075) found -[12420] Forked 26076 -[12419] Forked 26077 -(26076) found -(26077) found -[12418] Forked 26078 -[12417] Forked 26079 -(26078) found -(26079) found -[12416] Forked 26080 -[12415] Forked 26081 -(26080) found -(26081) found -[12414] Forked 26082 -[12413] Forked 26083 -(26082) found -(26083) found -[12412] Forked 26084 -[12411] Forked 26085 -(26084) found -(26085) found -[12410] Forked 26086 -[12409] Forked 26087 -(26086) found -(26087) found -[12408] Forked 26088 -[12407] Forked 26089 -(26088) found -(26089) found -[12406] Forked 26090 -[12405] Forked 26091 -(26090) found -(26091) found -[12404] Forked 26092 -[12403] Forked 26093 -(26092) found -(26093) found -[12402] Forked 26094 -[12401] Forked 26095 -(26094) found -(26095) found -[12400] Forked 26096 -[12399] Forked 26097 -(26096) found -(26097) found -[12398] Forked 26098 -[12397] Forked 26099 -(26098) found -(26099) found -[12396] Forked 26100 -[12395] Forked 26101 -(26100) found -(26101) found -[12394] Forked 26102 -[12393] Forked 26103 -(26102) found -(26103) found -[12392] Forked 26104 -[12391] Forked 26105 -(26104) found -(26105) found -[12390] Forked 26106 -[12389] Forked 26107 -(26106) found -(26107) found -[12388] Forked 26108 -[12387] Forked 26109 -(26108) found -(26109) found -[12386] Forked 26110 -[12385] Forked 26111 -(26110) found -(26111) found -[12384] Forked 26112 -[12383] Forked 26113 -(26112) found -(26113) found -[12382] Forked 26114 -[12381] Forked 26115 -(26114) found -(26115) found -[12380] Forked 26116 -[12379] Forked 26117 -(26116) found -(26117) found -[12378] Forked 26118 -[12377] Forked 26119 -(26118) found -(26119) found -[12376] Forked 26120 -[12375] Forked 26121 -(26120) found -(26121) found -[12374] Forked 26122 -[12373] Forked 26123 -(26122) found -(26123) found -[12372] Forked 26124 -[12371] Forked 26125 -(26124) found -(26125) found -[12370] Forked 26126 -[12369] Forked 26127 -(26126) found -(26127) found -[12368] Forked 26128 -[12367] Forked 26129 -(26128) found -(26129) found -[12366] Forked 26130 -[12365] Forked 26131 -(26130) found -(26131) found -[12364] Forked 26132 -[12363] Forked 26133 -(26132) found -(26133) found -[12362] Forked 26134 -[12361] Forked 26135 -(26134) found -(26135) found -[12360] Forked 26136 -[12359] Forked 26137 -(26136) found -(26137) found -[12358] Forked 26138 -[12357] Forked 26139 -(26138) found -(26139) found -[12356] Forked 26140 -[12355] Forked 26141 -(26140) found -(26141) found -[12354] Forked 26142 -[12353] Forked 26143 -(26142) found -(26143) found -[12352] Forked 26144 -[12351] Forked 26145 -(26144) found -(26145) found -[12350] Forked 26146 -[12349] Forked 26147 -(26146) found -(26147) found -[12348] Forked 26148 -[12347] Forked 26149 -(26148) found -(26149) found -[12346] Forked 26150 -[12345] Forked 26151 -(26150) found -(26151) found -[12344] Forked 26152 -[12343] Forked 26153 -(26152) found -(26153) found -[12342] Forked 26154 -[12341] Forked 26155 -(26154) found -(26155) found -[12340] Forked 26156 -[12339] Forked 26157 -(26156) found -(26157) found -[12338] Forked 26158 -[12337] Forked 26159 -(26158) found -(26159) found -[12336] Forked 26160 -[12335] Forked 26161 -(26160) found -(26161) found -[12334] Forked 26162 -[12333] Forked 26163 -(26162) found -(26163) found -[12332] Forked 26164 -[12331] Forked 26165 -(26164) found -(26165) found -[12330] Forked 26166 -[12329] Forked 26167 -(26166) found -(26167) found -[12328] Forked 26168 -[12327] Forked 26169 -(26168) found -(26169) found -[12326] Forked 26170 -[12325] Forked 26171 -(26170) found -(26171) found -[12324] Forked 26172 -[12323] Forked 26173 -(26172) found -(26173) found -[12322] Forked 26174 -[12321] Forked 26175 -(26174) found -(26175) found -[12320] Forked 26176 -[12319] Forked 26177 -(26176) found -(26177) found -[12318] Forked 26178 -[12317] Forked 26179 -(26178) found -(26179) found -[12316] Forked 26180 -[12315] Forked 26181 -(26180) found -(26181) found -[12314] Forked 26182 -(26182) found -[12313] Forked 26183 -[12312] Forked 26184 -(26183) found -(26184) found -[12311] Forked 26185 -[12310] Forked 26186 -(26185) found -(26186) found -[12309] Forked 26187 -[12308] Forked 26188 -(26187) found -(26188) found -[12307] Forked 26189 -[12306] Forked 26190 -(26189) found -(26190) found -[12305] Forked 26191 -[12304] Forked 26192 -(26191) found -(26192) found -[12303] Forked 26193 -[12302] Forked 26194 -(26193) found -(26194) found -[12301] Forked 26195 -[12300] Forked 26196 -(26195) found -(26196) found -[12299] Forked 26197 -[12298] Forked 26198 -(26197) found -(26198) found -[12297] Forked 26199 -[12296] Forked 26200 -(26199) found -(26200) found -[12295] Forked 26201 -[12294] Forked 26202 -(26201) found -(26202) found -[12293] Forked 26203 -[12292] Forked 26204 -(26203) found -(26204) found -[12291] Forked 26205 -[12290] Forked 26206 -(26205) found -(26206) found -[12289] Forked 26207 -[12288] Forked 26208 -(26207) found -(26208) found -[12287] Forked 26209 -[12286] Forked 26210 -(26209) found -(26210) found -[12285] Forked 26211 -[12284] Forked 26212 -(26211) found -(26212) found -[12283] Forked 26213 -[12282] Forked 26214 -(26213) found -(26214) found -[12281] Forked 26215 -[12280] Forked 26216 -(26215) found -(26216) found -[12279] Forked 26217 -[12278] Forked 26218 -(26217) found -(26218) found -[12277] Forked 26219 -[12276] Forked 26220 -(26219) found -(26220) found -[12275] Forked 26221 -[12274] Forked 26222 -(26221) found -(26222) found -[12273] Forked 26223 -[12272] Forked 26224 -(26223) found -(26224) found -[12271] Forked 26225 -[12270] Forked 26226 -(26225) found -(26226) found -[12269] Forked 26227 -[12268] Forked 26228 -(26227) found -(26228) found -[12267] Forked 26229 -[12266] Forked 26230 -(26229) found -(26230) found -[12265] Forked 26231 -[12264] Forked 26232 -(26231) found -(26232) found -[12263] Forked 26233 -[12262] Forked 26234 -(26233) found -(26234) found -[12261] Forked 26235 -[12260] Forked 26236 -(26235) found -(26236) found -[12259] Forked 26237 -[12258] Forked 26238 -(26237) found -(26238) found -[12257] Forked 26239 -[12256] Forked 26240 -(26239) found -(26240) found -[12255] Forked 26241 -[12254] Forked 26242 -(26241) found -(26242) found -[12253] Forked 26243 -[12252] Forked 26244 -(26243) found -(26244) found -[12251] Forked 26245 -[12250] Forked 26246 -(26245) found -(26246) found -[12249] Forked 26247 -[12248] Forked 26248 -(26247) found -(26248) found -[12247] Forked 26249 -[12246] Forked 26250 -(26249) found -(26250) found -[12245] Forked 26251 -[12244] Forked 26252 -(26251) found -(26252) found -[12243] Forked 26253 -[12242] Forked 26254 -(26253) found -(26254) found -[12241] Forked 26255 -[12240] Forked 26256 -(26255) found -(26256) found -[12239] Forked 26257 -[12238] Forked 26258 -(26257) found -(26258) found -[12237] Forked 26259 -[12236] Forked 26260 -(26259) found -(26260) found -[12235] Forked 26261 -[12234] Forked 26262 -(26261) found -(26262) found -[12233] Forked 26263 -[12232] Forked 26264 -(26263) found -(26264) found -[12231] Forked 26265 -[12230] Forked 26266 -(26265) found -(26266) found -[12229] Forked 26267 -[12228] Forked 26268 -(26267) found -(26268) found -[12227] Forked 26269 -[12226] Forked 26270 -(26269) found -(26270) found -[12225] Forked 26271 -[12224] Forked 26272 -(26271) found -(26272) found -[12223] Forked 26273 -[12222] Forked 26274 -(26273) found -(26274) found -[12221] Forked 26275 -[12220] Forked 26276 -(26275) found -(26276) found -[12219] Forked 26277 -[12218] Forked 26278 -(26277) found -(26278) found -[12217] Forked 26279 -[12216] Forked 26280 -(26279) found -(26280) found -[12215] Forked 26281 -[12214] Forked 26282 -(26281) found -(26282) found -[12213] Forked 26283 -[12212] Forked 26284 -(26283) found -(26284) found -[12211] Forked 26285 -[12210] Forked 26286 -(26285) found -(26286) found -[12209] Forked 26287 -[12208] Forked 26288 -(26287) found -(26288) found -[12207] Forked 26289 -[12206] Forked 26290 -(26289) found -(26290) found -[12205] Forked 26291 -[12204] Forked 26292 -(26291) found -(26292) found -[12203] Forked 26293 -[12202] Forked 26294 -(26293) found -(26294) found -[12201] Forked 26295 -[12200] Forked 26296 -(26295) found -(26296) found -[12199] Forked 26297 -[12198] Forked 26298 -(26297) found -(26298) found -[12197] Forked 26299 -[12196] Forked 26300 -(26299) found -(26300) found -[12195] Forked 26301 -[12194] Forked 26302 -(26301) found -(26302) found -[12193] Forked 26303 -[12192] Forked 26304 -(26303) found -(26304) found -[12191] Forked 26305 -[12190] Forked 26306 -(26305) found -(26306) found -[12189] Forked 26307 -[12188] Forked 26308 -(26307) found -(26308) found -[12187] Forked 26309 -[12186] Forked 26310 -(26309) found -(26310) found -[12185] Forked 26311 -[12184] Forked 26312 -(26311) found -(26312) found -[12183] Forked 26313 -[12182] Forked 26314 -(26313) found -(26314) found -[12181] Forked 26315 -[12180] Forked 26316 -(26315) found -(26316) found -[12179] Forked 26317 -[12178] Forked 26318 -(26317) found -(26318) found -[12177] Forked 26319 -[12176] Forked 26320 -(26319) found -(26320) found -[12175] Forked 26321 -[12174] Forked 26322 -(26321) found -(26322) found -[12173] Forked 26323 -[12172] Forked 26324 -(26323) found -(26324) found -[12171] Forked 26325 -[12170] Forked 26326 -(26325) found -(26326) found -[12169] Forked 26327 -[12168] Forked 26328 -(26327) found -(26328) found -[12167] Forked 26329 -[12166] Forked 26330 -(26329) found -(26330) found -[12165] Forked 26331 -[12164] Forked 26332 -(26331) found -(26332) found -[12163] Forked 26333 -[12162] Forked 26334 -(26333) found -(26334) found -[12161] Forked 26335 -[12160] Forked 26336 -(26335) found -(26336) found -[12159] Forked 26337 -[12158] Forked 26338 -(26337) found -(26338) found -[12157] Forked 26339 -[12156] Forked 26340 -(26339) found -(26340) found -[12155] Forked 26341 -[12154] Forked 26342 -(26341) found -(26342) found -[12153] Forked 26343 -[12152] Forked 26344 -(26343) found -(26344) found -[12151] Forked 26345 -[12150] Forked 26346 -(26345) found -(26346) found -[12149] Forked 26347 -[12148] Forked 26348 -(26347) found -(26348) found -[12147] Forked 26349 -[12146] Forked 26350 -(26349) found -(26350) found -[12145] Forked 26351 -[12144] Forked 26352 -(26351) found -(26352) found -[12143] Forked 26353 -[12142] Forked 26354 -(26353) found -(26354) found -[12141] Forked 26355 -[12140] Forked 26356 -(26355) found -(26356) found -[12139] Forked 26357 -[12138] Forked 26358 -(26357) found -(26358) found -[12137] Forked 26359 -[12136] Forked 26360 -(26359) found -(26360) found -[12135] Forked 26361 -[12134] Forked 26362 -(26361) found -(26362) found -[12133] Forked 26363 -[12132] Forked 26364 -(26363) found -(26364) found -[12131] Forked 26365 -[12130] Forked 26366 -(26365) found -(26366) found -[12129] Forked 26367 -(26367) found -[12128] Forked 26368 -(26368) found -[12127] Forked 26369 -(26369) found -[12126] Forked 26370 -(26370) found -[12125] Forked 26371 -(26371) found -[12124] Forked 26372 -(26372) found -[12123] Forked 26373 -(26373) found -[12122] Forked 26374 -(26374) found -[12121] Forked 26375 -(26375) found -[12120] Forked 26376 -(26376) found -[12119] Forked 26377 -(26377) found -[12118] Forked 26378 -(26378) found -[12117] Forked 26379 -(26379) found -[12116] Forked 26380 -(26380) found -[12115] Forked 26381 -(26381) found -[12114] Forked 26382 -(26382) found -[12113] Forked 26383 -(26383) found -[12112] Forked 26384 -(26384) found -[12111] Forked 26385 -(26385) found -[12110] Forked 26386 -(26386) found -[12109] Forked 26387 -(26387) found -[12108] Forked 26388 -(26388) found -[12107] Forked 26389 -(26389) found -[12106] Forked 26390 -(26390) found -[12105] Forked 26391 -(26391) found -[12104] Forked 26392 -(26392) found -[12103] Forked 26393 -(26393) found -[12102] Forked 26394 -(26394) found -[12101] Forked 26395 -(26395) found -[12100] Forked 26396 -(26396) found -[12099] Forked 26397 -(26397) found -[12098] Forked 26398 -(26398) found -[12097] Forked 26399 -(26399) found -[12096] Forked 26400 -(26400) found -[12095] Forked 26401 -[12094] Forked 26402 -(26401) found -(26402) found -[12093] Forked 26403 -[12092] Forked 26404 -(26403) found -(26404) found -[12091] Forked 26405 -[12090] Forked 26406 -(26405) found -(26406) found -[12089] Forked 26407 -[12088] Forked 26408 -(26407) found -(26408) found -[12087] Forked 26409 -[12086] Forked 26410 -(26409) found -(26410) found -[12085] Forked 26411 -[12084] Forked 26412 -(26411) found -(26412) found -[12083] Forked 26413 -[12082] Forked 26414 -(26413) found -(26414) found -[12081] Forked 26415 -[12080] Forked 26416 -(26415) found -(26416) found -[12079] Forked 26417 -[12078] Forked 26418 -(26417) found -(26418) found -[12077] Forked 26419 -[12076] Forked 26420 -(26419) found -(26420) found -[12075] Forked 26421 -[12074] Forked 26422 -(26421) found -(26422) found -[12073] Forked 26423 -[12072] Forked 26424 -(26423) found -(26424) found -[12071] Forked 26425 -[12070] Forked 26426 -(26425) found -(26426) found -[12069] Forked 26427 -[12068] Forked 26428 -(26427) found -(26428) found -[12067] Forked 26429 -[12066] Forked 26430 -(26429) found -(26430) found -[12065] Forked 26431 -[12064] Forked 26432 -(26431) found -(26432) found -[12063] Forked 26433 -[12062] Forked 26434 -(26433) found -(26434) found -[12061] Forked 26435 -[12060] Forked 26436 -(26435) found -(26436) found -[12059] Forked 26437 -[12058] Forked 26438 -(26437) found -(26438) found -[12057] Forked 26439 -[12056] Forked 26440 -(26439) found -(26440) found -[12055] Forked 26441 -[12054] Forked 26442 -(26441) found -(26442) found -[12053] Forked 26443 -[12052] Forked 26444 -(26443) found -(26444) found -[12051] Forked 26445 -[12050] Forked 26446 -(26445) found -(26446) found -[12049] Forked 26447 -[12048] Forked 26448 -(26447) found -(26448) found -[12047] Forked 26449 -[12046] Forked 26450 -(26449) found -(26450) found -[12045] Forked 26451 -[12044] Forked 26452 -(26451) found -(26452) found -[12043] Forked 26453 -[12042] Forked 26454 -(26453) found -(26454) found -[12041] Forked 26455 -[12040] Forked 26456 -(26455) found -(26456) found -[12039] Forked 26457 -[12038] Forked 26458 -(26457) found -(26458) found -[12037] Forked 26459 -[12036] Forked 26460 -(26459) found -(26460) found -[12035] Forked 26461 -[12034] Forked 26462 -(26461) found -(26462) found -[12033] Forked 26463 -[12032] Forked 26464 -(26463) found -(26464) found -[12031] Forked 26465 -[12030] Forked 26466 -(26465) found -(26466) found -[12029] Forked 26467 -[12028] Forked 26468 -(26467) found -(26468) found -[12027] Forked 26469 -[12026] Forked 26470 -(26469) found -(26470) found -[12025] Forked 26471 -[12024] Forked 26472 -(26471) found -(26472) found -[12023] Forked 26473 -[12022] Forked 26474 -(26473) found -(26474) found -[12021] Forked 26475 -[12020] Forked 26476 -(26475) found -(26476) found -[12019] Forked 26477 -[12018] Forked 26478 -(26477) found -(26478) found -[12017] Forked 26479 -[12016] Forked 26480 -(26479) found -(26480) found -[12015] Forked 26481 -[12014] Forked 26482 -(26481) found -(26482) found -[12013] Forked 26483 -[12012] Forked 26484 -(26483) found -(26484) found -[12011] Forked 26485 -[12010] Forked 26486 -(26485) found -(26486) found -[12009] Forked 26487 -[12008] Forked 26488 -(26487) found -(26488) found -[12007] Forked 26489 -[12006] Forked 26490 -(26489) found -(26490) found -[12005] Forked 26491 -[12004] Forked 26492 -(26491) found -(26492) found -[12003] Forked 26493 -[12002] Forked 26494 -(26493) found -(26494) found -[12001] Forked 26495 -[12000] Forked 26496 -(26495) found -(26496) found -[11999] Forked 26497 -[11998] Forked 26498 -(26497) found -(26498) found -[11997] Forked 26499 -[11996] Forked 26500 -(26499) found -(26500) found -[11995] Forked 26501 -[11994] Forked 26502 -(26501) found -(26502) found -[11993] Forked 26503 -[11992] Forked 26504 -(26503) found -(26504) found -[11991] Forked 26505 -[11990] Forked 26506 -(26505) found -(26506) found -[11989] Forked 26507 -[11988] Forked 26508 -(26507) found -(26508) found -[11987] Forked 26509 -[11986] Forked 26510 -(26509) found -(26510) found -[11985] Forked 26511 -[11984] Forked 26512 -(26511) found -(26512) found -[11983] Forked 26513 -[11982] Forked 26514 -(26513) found -(26514) found -[11981] Forked 26515 -[11980] Forked 26516 -(26515) found -(26516) found -[11979] Forked 26517 -[11978] Forked 26518 -(26517) found -(26518) found -[11977] Forked 26519 -[11976] Forked 26520 -(26519) found -(26520) found -[11975] Forked 26521 -[11974] Forked 26522 -(26521) found -(26522) found -[11973] Forked 26523 -[11972] Forked 26524 -(26523) found -(26524) found -[11971] Forked 26525 -[11970] Forked 26526 -(26525) found -(26526) found -[11969] Forked 26527 -[11968] Forked 26528 -(26527) found -(26528) found -[11967] Forked 26529 -[11966] Forked 26530 -(26529) found -(26530) found -[11965] Forked 26531 -[11964] Forked 26532 -(26531) found -(26532) found -[11963] Forked 26533 -[11962] Forked 26534 -(26533) found -(26534) found -[11961] Forked 26535 -[11960] Forked 26536 -(26535) found -(26536) found -[11959] Forked 26537 -(26537) found -[11958] Forked 26538 -(26538) found -[11957] Forked 26539 -(26539) found -[11956] Forked 26540 -(26540) found -[11955] Forked 26541 -(26541) found -[11954] Forked 26542 -(26542) found -[11953] Forked 26543 -(26543) found -[11952] Forked 26544 -(26544) found -[11951] Forked 26545 -(26545) found -[11950] Forked 26546 -(26546) found -[11949] Forked 26547 -(26547) found -[11948] Forked 26548 -(26548) found -[11947] Forked 26549 -(26549) found -[11946] Forked 26550 -(26550) found -[11945] Forked 26551 -(26551) found -[11944] Forked 26552 -(26552) found -[11943] Forked 26553 -(26553) found -[11942] Forked 26554 -(26554) found -[11941] Forked 26555 -(26555) found -[11940] Forked 26556 -(26556) found -[11939] Forked 26557 -(26557) found -[11938] Forked 26558 -(26558) found -[11937] Forked 26559 -(26559) found -[11936] Forked 26560 -(26560) found -[11935] Forked 26561 -(26561) found -[11934] Forked 26562 -(26562) found -[11933] Forked 26563 -(26563) found -[11932] Forked 26564 -(26564) found -[11931] Forked 26565 -(26565) found -[11930] Forked 26566 -(26566) found -[11929] Forked 26567 -(26567) found -[11928] Forked 26568 -(26568) found -[11927] Forked 26569 -(26569) found -[11926] Forked 26570 -(26570) found -[11925] Forked 26571 -(26571) found -[11924] Forked 26572 -(26572) found -[11923] Forked 26573 -(26573) found -[11922] Forked 26574 -(26574) found -[11921] Forked 26575 -(26575) found -[11920] Forked 26576 -(26576) found -[11919] Forked 26577 -(26577) found -[11918] Forked 26578 -(26578) found -[11917] Forked 26579 -(26579) found -[11916] Forked 26580 -(26580) found -[11915] Forked 26581 -(26581) found -[11914] Forked 26582 -(26582) found -[11913] Forked 26583 -(26583) found -[11912] Forked 26584 -(26584) found -[11911] Forked 26585 -(26585) found -[11910] Forked 26586 -(26586) found -[11909] Forked 26587 -(26587) found -[11908] Forked 26588 -(26588) found -[11907] Forked 26589 -(26589) found -[11906] Forked 26590 -(26590) found -[11905] Forked 26591 -(26591) found -[11904] Forked 26592 -(26592) found -[11903] Forked 26593 -(26593) found -[11902] Forked 26594 -(26594) found -[11901] Forked 26595 -(26595) found -[11900] Forked 26596 -(26596) found -[11899] Forked 26597 -(26597) found -[11898] Forked 26598 -(26598) found -[11897] Forked 26599 -(26599) found -[11896] Forked 26600 -(26600) found -[11895] Forked 26601 -(26601) found -[11894] Forked 26602 -(26602) found -[11893] Forked 26603 -(26603) found -[11892] Forked 26604 -(26604) found -[11891] Forked 26605 -(26605) found -[11890] Forked 26606 -(26606) found -[11889] Forked 26607 -(26607) found -[11888] Forked 26608 -(26608) found -[11887] Forked 26609 -[11886] Forked 26610 -(26609) found -(26610) found -[11885] Forked 26611 -[11884] Forked 26612 -(26611) found -(26612) found -[11883] Forked 26613 -[11882] Forked 26614 -(26613) found -(26614) found -[11881] Forked 26615 -[11880] Forked 26616 -(26615) found -(26616) found -[11879] Forked 26617 -[11878] Forked 26618 -(26617) found -(26618) found -[11877] Forked 26619 -[11876] Forked 26620 -(26619) found -(26620) found -[11875] Forked 26621 -[11874] Forked 26622 -(26621) found -(26622) found -[11873] Forked 26623 -[11872] Forked 26624 -(26623) found -(26624) found -[11871] Forked 26625 -[11870] Forked 26626 -(26625) found -(26626) found -[11869] Forked 26627 -[11868] Forked 26628 -(26627) found -(26628) found -[11867] Forked 26629 -[11866] Forked 26630 -(26629) found -(26630) found -[11865] Forked 26631 -[11864] Forked 26632 -(26631) found -(26632) found -[11863] Forked 26633 -[11862] Forked 26634 -(26633) found -(26634) found -[11861] Forked 26635 -[11860] Forked 26636 -(26635) found -(26636) found -[11859] Forked 26637 -[11858] Forked 26638 -(26637) found -(26638) found -[11857] Forked 26639 -[11856] Forked 26640 -(26639) found -(26640) found -[11855] Forked 26641 -[11854] Forked 26642 -(26641) found -(26642) found -[11853] Forked 26643 -[11852] Forked 26644 -(26643) found -(26644) found -[11851] Forked 26645 -[11850] Forked 26646 -(26645) found -(26646) found -[11849] Forked 26647 -[11848] Forked 26648 -(26647) found -(26648) found -[11847] Forked 26649 -[11846] Forked 26650 -(26649) found -(26650) found -[11845] Forked 26651 -[11844] Forked 26652 -(26651) found -(26652) found -[11843] Forked 26653 -(26653) found -[11842] Forked 26654 -(26654) found -[11841] Forked 26655 -(26655) found -[11840] Forked 26656 -(26656) found -[11839] Forked 26657 -(26657) found -[11838] Forked 26658 -(26658) found -[11837] Forked 26659 -(26659) found -[11836] Forked 26660 -(26660) found -[11835] Forked 26661 -(26661) found -[11834] Forked 26662 -(26662) found -[11833] Forked 26663 -(26663) found -[11832] Forked 26664 -(26664) found -[11831] Forked 26665 -(26665) found -[11830] Forked 26666 -(26666) found -[11829] Forked 26667 -(26667) found -[11828] Forked 26668 -(26668) found -[11827] Forked 26669 -(26669) found -[11826] Forked 26670 -(26670) found -[11825] Forked 26671 -(26671) found -[11824] Forked 26672 -(26672) found -[11823] Forked 26673 -(26673) found -[11822] Forked 26674 -(26674) found -[11821] Forked 26675 -(26675) found -[11820] Forked 26676 -(26676) found -[11819] Forked 26677 -(26677) found -[11818] Forked 26678 -(26678) found -[11817] Forked 26679 -(26679) found -[11816] Forked 26680 -(26680) found -[11815] Forked 26681 -(26681) found -[11814] Forked 26682 -(26682) found -[11813] Forked 26683 -(26683) found -[11812] Forked 26684 -(26684) found -[11811] Forked 26685 -(26685) found -[11810] Forked 26686 -(26686) found -[11809] Forked 26687 -(26687) found -[11808] Forked 26688 -(26688) found -[11807] Forked 26689 -[11806] Forked 26690 -(26689) found -(26690) found -[11805] Forked 26691 -[11804] Forked 26692 -(26691) found -(26692) found -[11803] Forked 26693 -[11802] Forked 26694 -(26693) found -(26694) found -[11801] Forked 26695 -[11800] Forked 26696 -(26695) found -(26696) found -[11799] Forked 26697 -[11798] Forked 26698 -(26697) found -(26698) found -[11797] Forked 26699 -[11796] Forked 26700 -(26699) found -(26700) found -[11795] Forked 26701 -[11794] Forked 26702 -(26701) found -(26702) found -[11793] Forked 26703 -[11792] Forked 26704 -(26703) found -(26704) found -[11791] Forked 26705 -[11790] Forked 26706 -(26705) found -(26706) found -[11789] Forked 26707 -[11788] Forked 26708 -(26707) found -(26708) found -[11787] Forked 26709 -[11786] Forked 26710 -(26709) found -(26710) found -[11785] Forked 26711 -[11784] Forked 26712 -(26711) found -(26712) found -[11783] Forked 26713 -[11782] Forked 26714 -(26713) found -(26714) found -[11781] Forked 26715 -[11780] Forked 26716 -(26715) found -(26716) found -[11779] Forked 26717 -[11778] Forked 26718 -(26717) found -(26718) found -[11777] Forked 26719 -[11776] Forked 26720 -(26719) found -(26720) found -[11775] Forked 26721 -[11774] Forked 26722 -(26721) found -(26722) found -[11773] Forked 26723 -[11772] Forked 26724 -(26723) found -(26724) found -[11771] Forked 26725 -[11770] Forked 26726 -(26725) found -(26726) found -[11769] Forked 26727 -[11768] Forked 26728 -(26727) found -(26728) found -[11767] Forked 26729 -[11766] Forked 26730 -(26729) found -(26730) found -[11765] Forked 26731 -[11764] Forked 26732 -(26731) found -(26732) found -[11763] Forked 26733 -(26733) found -[11762] Forked 26734 -(26734) found -[11761] Forked 26735 -(26735) found -[11760] Forked 26736 -(26736) found -[11759] Forked 26737 -(26737) found -[11758] Forked 26738 -(26738) found -[11757] Forked 26739 -(26739) found -[11756] Forked 26740 -(26740) found -[11755] Forked 26741 -(26741) found -[11754] Forked 26742 -(26742) found -[11753] Forked 26743 -(26743) found -[11752] Forked 26744 -(26744) found -[11751] Forked 26745 -(26745) found -[11750] Forked 26746 -(26746) found -[11749] Forked 26747 -(26747) found -[11748] Forked 26748 -(26748) found -[11747] Forked 26749 -(26749) found -[11746] Forked 26750 -(26750) found -[11745] Forked 26751 -(26751) found -[11744] Forked 26752 -(26752) found -[11743] Forked 26753 -(26753) found -[11742] Forked 26754 -(26754) found -[11741] Forked 26755 -(26755) found -[11740] Forked 26756 -(26756) found -[11739] Forked 26757 -(26757) found -[11738] Forked 26758 -(26758) found -[11737] Forked 26759 -(26759) found -[11736] Forked 26760 -(26760) found -[11735] Forked 26761 -(26761) found -[11734] Forked 26762 -(26762) found -[11733] Forked 26763 -(26763) found -[11732] Forked 26764 -(26764) found -[11731] Forked 26765 -(26765) found -[11730] Forked 26766 -(26766) found -[11729] Forked 26767 -(26767) found -[11728] Forked 26768 -(26768) found -[11727] Forked 26769 -[11726] Forked 26770 -(26769) found -(26770) found -[11725] Forked 26771 -[11724] Forked 26772 -(26771) found -(26772) found -[11723] Forked 26773 -(26773) found -[11722] Forked 26774 -[11721] Forked 26775 -(26774) found -(26775) found -[11720] Forked 26776 -[11719] Forked 26777 -(26776) found -(26777) found -[11718] Forked 26778 -[11717] Forked 26779 -(26778) found -(26779) found -[11716] Forked 26780 -[11715] Forked 26781 -(26780) found -(26781) found -[11714] Forked 26782 -[11713] Forked 26783 -(26782) found -(26783) found -[11712] Forked 26784 -[11711] Forked 26785 -(26784) found -(26785) found -[11710] Forked 26786 -[11709] Forked 26787 -(26786) found -(26787) found -[11708] Forked 26788 -[11707] Forked 26789 -(26788) found -(26789) found -[11706] Forked 26790 -[11705] Forked 26791 -(26790) found -(26791) found -[11704] Forked 26792 -[11703] Forked 26793 -(26792) found -(26793) found -[11702] Forked 26794 -[11701] Forked 26795 -(26794) found -(26795) found -[11700] Forked 26796 -[11699] Forked 26797 -(26796) found -(26797) found -[11698] Forked 26798 -[11697] Forked 26799 -(26798) found -(26799) found -[11696] Forked 26800 -[11695] Forked 26801 -(26800) found -(26801) found -[11694] Forked 26802 -[11693] Forked 26803 -(26802) found -(26803) found -[11692] Forked 26804 -[11691] Forked 26805 -(26804) found -(26805) found -[11690] Forked 26806 -[11689] Forked 26807 -(26806) found -(26807) found -[11688] Forked 26808 -[11687] Forked 26809 -(26808) found -(26809) found -[11686] Forked 26810 -[11685] Forked 26811 -(26810) found -(26811) found -[11684] Forked 26812 -(26812) found -[11683] Forked 26813 -(26813) found -[11682] Forked 26814 -(26814) found -[11681] Forked 26815 -(26815) found -[11680] Forked 26816 -(26816) found -[11679] Forked 26817 -(26817) found -[11678] Forked 26818 -(26818) found -[11677] Forked 26819 -(26819) found -[11676] Forked 26820 -(26820) found -[11675] Forked 26822 -(26822) found -[11674] Forked 26823 -(26823) found -[11673] Forked 26824 -(26824) found -[11672] Forked 26825 -(26825) found -[11671] Forked 26826 -(26826) found -[11670] Forked 26827 -(26827) found -[11669] Forked 26828 -(26828) found -[11668] Forked 26829 -(26829) found -[11667] Forked 26830 -(26830) found -[11666] Forked 26831 -(26831) found -[11665] Forked 26832 -(26832) found -[11664] Forked 26833 -(26833) found -[11663] Forked 26834 -(26834) found -[11662] Forked 26835 -(26835) found -[11661] Forked 26836 -(26836) found -[11660] Forked 26837 -(26837) found -[11659] Forked 26838 -(26838) found -[11658] Forked 26839 -(26839) found -[11657] Forked 26840 -(26840) found -[11656] Forked 26841 -(26841) found -[11655] Forked 26842 -(26842) found -[11654] Forked 26843 -(26843) found -[11653] Forked 26844 -(26844) found -[11652] Forked 26845 -(26845) found -[11651] Forked 26846 -(26846) found -[11650] Forked 26847 -(26847) found -[11649] Forked 26848 -(26848) found -[11648] Forked 26849 -[11647] Forked 26850 -(26849) found -(26850) found -[11646] Forked 26851 -[11645] Forked 26852 -(26851) found -(26852) found -[11644] Forked 26853 -[11643] Forked 26854 -(26853) found -(26854) found -[11642] Forked 26855 -[11641] Forked 26856 -(26855) found -(26856) found -[11640] Forked 26857 -[11639] Forked 26858 -(26857) found -(26858) found -[11638] Forked 26859 -[11637] Forked 26860 -(26859) found -(26860) found -[11636] Forked 26861 -[11635] Forked 26862 -(26861) found -(26862) found -[11634] Forked 26863 -[11633] Forked 26864 -(26863) found -(26864) found -[11632] Forked 26865 -[11631] Forked 26866 -(26865) found -(26866) found -[11630] Forked 26867 -[11629] Forked 26868 -(26867) found -(26868) found -[11628] Forked 26869 -[11627] Forked 26870 -(26869) found -(26870) found -[11626] Forked 26871 -[11625] Forked 26872 -(26871) found -(26872) found -[11624] Forked 26873 -[11623] Forked 26874 -(26873) found -(26874) found -[11622] Forked 26875 -[11621] Forked 26876 -(26875) found -(26876) found -[11620] Forked 26877 -[11619] Forked 26878 -(26877) found -(26878) found -[11618] Forked 26879 -[11617] Forked 26880 -(26879) found -(26880) found -[11616] Forked 26881 -[11615] Forked 26882 -(26881) found -(26882) found -[11614] Forked 26883 -[11613] Forked 26884 -(26883) found -(26884) found -[11612] Forked 26885 -[11611] Forked 26886 -(26885) found -(26886) found -[11610] Forked 26887 -[11609] Forked 26888 -(26887) found -(26888) found -[11608] Forked 26889 -[11607] Forked 26890 -(26889) found -(26890) found -[11606] Forked 26891 -[11605] Forked 26892 -(26891) found -(26892) found -[11604] Forked 26893 -(26893) found -[11603] Forked 26894 -(26894) found -[11602] Forked 26895 -(26895) found -[11601] Forked 26896 -(26896) found -[11600] Forked 26897 -(26897) found -[11599] Forked 26898 -(26898) found -[11598] Forked 26899 -(26899) found -[11597] Forked 26900 -(26900) found -[11596] Forked 26901 -(26901) found -[11595] Forked 26902 -(26902) found -[11594] Forked 26903 -(26903) found -[11593] Forked 26904 -(26904) found -[11592] Forked 26905 -(26905) found -[11591] Forked 26906 -(26906) found -[11590] Forked 26907 -(26907) found -[11589] Forked 26908 -(26908) found -[11588] Forked 26909 -(26909) found -[11587] Forked 26910 -(26910) found -[11586] Forked 26911 -(26911) found -[11585] Forked 26912 -(26912) found -[11584] Forked 26913 -(26913) found -[11583] Forked 26914 -(26914) found -[11582] Forked 26915 -(26915) found -[11581] Forked 26916 -(26916) found -[11580] Forked 26917 -(26917) found -[11579] Forked 26918 -(26918) found -[11578] Forked 26919 -(26919) found -[11577] Forked 26920 -(26920) found -[11576] Forked 26921 -(26921) found -[11575] Forked 26922 -(26922) found -[11574] Forked 26923 -(26923) found -[11573] Forked 26924 -(26924) found -[11572] Forked 26925 -(26925) found -[11571] Forked 26926 -(26926) found -[11570] Forked 26927 -(26927) found -[11569] Forked 26928 -(26928) found -[11568] Forked 26929 -(26929) found -[11567] Forked 26930 -[11566] Forked 26931 -(26930) found -(26931) found -[11565] Forked 26932 -[11564] Forked 26933 -(26932) found -(26933) found -[11563] Forked 26934 -[11562] Forked 26935 -(26934) found -(26935) found -[11561] Forked 26936 -[11560] Forked 26937 -(26936) found -(26937) found -[11559] Forked 26938 -[11558] Forked 26939 -(26938) found -(26939) found -[11557] Forked 26940 -[11556] Forked 26941 -(26940) found -(26941) found -[11555] Forked 26942 -[11554] Forked 26943 -(26942) found -(26943) found -[11553] Forked 26944 -[11552] Forked 26945 -(26944) found -(26945) found -[11551] Forked 26946 -[11550] Forked 26947 -(26946) found -(26947) found -[11549] Forked 26948 -[11548] Forked 26949 -(26948) found -(26949) found -[11547] Forked 26950 -[11546] Forked 26951 -(26950) found -(26951) found -[11545] Forked 26952 -[11544] Forked 26953 -(26952) found -(26953) found -[11543] Forked 26954 -[11542] Forked 26955 -(26954) found -(26955) found -[11541] Forked 26956 -[11540] Forked 26957 -(26957) found -(26956) found -[11539] Forked 26958 -(26958) found -[11538] Forked 26959 -(26959) found -[11537] Forked 26960 -(26960) found -[11536] Forked 26961 -(26961) found -[11535] Forked 26962 -(26962) found -[11534] Forked 26963 -[11533] Forked 26964 -(26963) found -(26964) found -[11532] Forked 26965 -[11531] Forked 26966 -(26965) found -(26966) found -[11530] Forked 26967 -[11529] Forked 26968 -(26967) found -(26968) found -[11528] Forked 26969 -[11527] Forked 26970 -(26969) found -(26970) found -[11526] Forked 26971 -[11525] Forked 26972 -(26971) found -(26972) found -[11524] Forked 26973 -[11523] Forked 26974 -(26973) found -(26974) found -[11522] Forked 26975 -[11521] Forked 26976 -(26975) found -(26976) found -[11520] Forked 26977 -[11519] Forked 26978 -(26977) found -(26978) found -[11518] Forked 26979 -[11517] Forked 26980 -(26979) found -(26980) found -[11516] Forked 26981 -[11515] Forked 26982 -(26981) found -(26982) found -[11514] Forked 26983 -[11513] Forked 26984 -(26983) found -(26984) found -[11512] Forked 26985 -[11511] Forked 26986 -(26985) found -(26986) found -[11510] Forked 26987 -[11509] Forked 26988 -(26987) found -(26988) found -[11508] Forked 26989 -[11507] Forked 26990 -(26989) found -(26990) found -[11506] Forked 26991 -[11505] Forked 26992 -(26991) found -(26992) found -[11504] Forked 26993 -[11503] Forked 26994 -(26993) found -(26994) found -[11502] Forked 26995 -[11501] Forked 26996 -(26995) found -(26996) found -[11500] Forked 26997 -[11499] Forked 26998 -(26997) found -(26998) found -[11498] Forked 26999 -[11497] Forked 27000 -(26999) found -(27000) found -[11496] Forked 27001 -[11495] Forked 27002 -(27001) found -(27002) found -[11494] Forked 27003 -[11493] Forked 27004 -(27003) found -(27004) found -[11492] Forked 27005 -[11491] Forked 27006 -(27005) found -(27006) found -[11490] Forked 27007 -[11489] Forked 27008 -(27007) found -(27008) found -[11488] Forked 27009 -[11487] Forked 27010 -(27009) found -(27010) found -[11486] Forked 27011 -[11485] Forked 27012 -(27011) found -(27012) found -[11484] Forked 27013 -[11483] Forked 27014 -(27013) found -(27014) found -[11482] Forked 27015 -(27015) found -[11481] Forked 27016 -(27016) found -[11480] Forked 27017 -(27017) found -[11479] Forked 27018 -(27018) found -[11478] Forked 27019 -(27019) found -[11477] Forked 27020 -(27020) found -[11476] Forked 27021 -(27021) found -[11475] Forked 27022 -(27022) found -[11474] Forked 27023 -(27023) found -[11473] Forked 27024 -(27024) found -[11472] Forked 27025 -(27025) found -[11471] Forked 27026 -(27026) found -[11470] Forked 27027 -(27027) found -[11469] Forked 27028 -(27028) found -[11468] Forked 27029 -(27029) found -[11467] Forked 27030 -(27030) found -[11466] Forked 27031 -(27031) found -[11465] Forked 27032 -(27032) found -[11464] Forked 27033 -(27033) found -[11463] Forked 27034 -(27034) found -[11462] Forked 27035 -(27035) found -[11461] Forked 27036 -(27036) found -[11460] Forked 27037 -(27037) found -[11459] Forked 27038 -(27038) found -[11458] Forked 27039 -(27039) found -[11457] Forked 27040 -(27040) found -[11456] Forked 27041 -(27041) found -[11455] Forked 27042 -(27042) found -[11454] Forked 27043 -(27043) found -[11453] Forked 27044 -(27044) found -[11452] Forked 27045 -(27045) found -[11451] Forked 27046 -(27046) found -[11450] Forked 27047 -(27047) found -[11449] Forked 27048 -(27048) found -[11448] Forked 27049 -[11447] Forked 27050 -(27049) found -(27050) found -[11446] Forked 27051 -[11445] Forked 27052 -(27051) found -(27052) found -[11444] Forked 27053 -[11443] Forked 27054 -(27053) found -(27054) found -[11442] Forked 27055 -[11441] Forked 27056 -(27055) found -(27056) found -[11440] Forked 27057 -[11439] Forked 27058 -(27057) found -(27058) found -[11438] Forked 27059 -[11437] Forked 27060 -(27059) found -(27060) found -[11436] Forked 27061 -[11435] Forked 27062 -(27061) found -(27062) found -[11434] Forked 27063 -[11433] Forked 27064 -(27063) found -(27064) found -[11432] Forked 27065 -[11431] Forked 27066 -(27065) found -(27066) found -[11430] Forked 27067 -[11429] Forked 27068 -(27067) found -(27068) found -[11428] Forked 27069 -[11427] Forked 27070 -(27069) found -(27070) found -[11426] Forked 27071 -[11425] Forked 27072 -(27071) found -(27072) found -[11424] Forked 27073 -[11423] Forked 27074 -(27073) found -(27074) found -[11422] Forked 27075 -[11421] Forked 27076 -(27075) found -(27076) found -[11420] Forked 27077 -[11419] Forked 27078 -(27078) found -(27077) found -[11418] Forked 27079 -(27079) found -[11417] Forked 27080 -(27080) found -[11416] Forked 27081 -(27081) found -[11415] Forked 27082 -(27082) found -[11414] Forked 27083 -(27083) found -[11413] Forked 27084 -(27084) found -[11412] Forked 27085 -(27085) found -[11411] Forked 27086 -(27086) found -[11410] Forked 27087 -(27087) found -[11409] Forked 27088 -(27088) found -[11408] Forked 27089 -(27089) found -[11407] Forked 27090 -(27090) found -[11406] Forked 27091 -(27091) found -[11405] Forked 27092 -(27092) found -[11404] Forked 27093 -(27093) found -[11403] Forked 27094 -(27094) found -[11402] Forked 27095 -(27095) found -[11401] Forked 27096 -(27096) found -[11400] Forked 27097 -(27097) found -[11399] Forked 27098 -(27098) found -[11398] Forked 27099 -(27099) found -[11397] Forked 27100 -(27100) found -[11396] Forked 27101 -(27101) found -[11395] Forked 27102 -(27102) found -[11394] Forked 27103 -(27103) found -[11393] Forked 27104 -(27104) found -[11392] Forked 27105 -(27105) found -[11391] Forked 27106 -(27106) found -[11390] Forked 27107 -(27107) found -[11389] Forked 27108 -(27108) found -[11388] Forked 27109 -(27109) found -[11387] Forked 27110 -(27110) found -[11386] Forked 27111 -(27111) found -[11385] Forked 27112 -(27112) found -[11384] Forked 27113 -(27113) found -[11383] Forked 27114 -(27114) found -[11382] Forked 27115 -(27115) found -[11381] Forked 27116 -(27116) found -[11380] Forked 27117 -(27117) found -[11379] Forked 27118 -(27118) found -[11378] Forked 27119 -(27119) found -[11377] Forked 27120 -(27120) found -[11376] Forked 27121 -(27121) found -[11375] Forked 27122 -(27122) found -[11374] Forked 27123 -(27123) found -[11373] Forked 27124 -(27124) found -[11372] Forked 27125 -(27125) found -[11371] Forked 27126 -[11370] Forked 27127 -(27126) found -(27127) found -[11369] Forked 27128 -[11368] Forked 27129 -(27128) found -(27129) found -[11367] Forked 27130 -[11366] Forked 27131 -(27130) found -(27131) found -[11365] Forked 27132 -[11364] Forked 27133 -(27132) found -(27133) found -[11363] Forked 27134 -[11362] Forked 27135 -(27134) found -(27135) found -[11361] Forked 27136 -[11360] Forked 27137 -(27136) found -(27137) found -[11359] Forked 27138 -[11358] Forked 27139 -(27138) found -(27139) found -[11357] Forked 27140 -[11356] Forked 27141 -(27140) found -(27141) found -[11355] Forked 27142 -[11354] Forked 27143 -(27142) found -(27143) found -[11353] Forked 27144 -[11352] Forked 27145 -(27144) found -(27145) found -[11351] Forked 27146 -[11350] Forked 27147 -(27146) found -(27147) found -[11349] Forked 27148 -[11348] Forked 27149 -(27148) found -(27149) found -[11347] Forked 27150 -[11346] Forked 27151 -(27150) found -(27151) found -[11345] Forked 27152 -[11344] Forked 27153 -(27152) found -(27153) found -[11343] Forked 27154 -[11342] Forked 27155 -(27154) found -(27155) found -[11341] Forked 27156 -[11340] Forked 27157 -(27156) found -(27157) found -[11339] Forked 27158 -[11338] Forked 27159 -(27158) found -(27159) found -[11337] Forked 27160 -[11336] Forked 27161 -(27160) found -(27161) found -[11335] Forked 27162 -[11334] Forked 27163 -(27162) found -(27163) found -[11333] Forked 27164 -[11332] Forked 27165 -(27164) found -(27165) found -[11331] Forked 27166 -[11330] Forked 27167 -(27166) found -(27167) found -[11329] Forked 27168 -[11328] Forked 27169 -(27168) found -(27169) found -[11327] Forked 27170 -[11326] Forked 27171 -(27170) found -(27171) found -[11325] Forked 27172 -(27172) found -[11324] Forked 27173 -(27173) found -[11323] Forked 27174 -(27174) found -[11322] Forked 27175 -(27175) found -[11321] Forked 27176 -(27176) found -[11320] Forked 27177 -(27177) found -[11319] Forked 27178 -(27178) found -[11318] Forked 27179 -(27179) found -[11317] Forked 27180 -(27180) found -[11316] Forked 27181 -(27181) found -[11315] Forked 27182 -(27182) found -[11314] Forked 27183 -(27183) found -[11313] Forked 27184 -(27184) found -[11312] Forked 27185 -(27185) found -[11311] Forked 27186 -(27186) found -[11310] Forked 27187 -(27187) found -[11309] Forked 27188 -(27188) found -[11308] Forked 27189 -(27189) found -[11307] Forked 27190 -(27190) found -[11306] Forked 27191 -(27191) found -[11305] Forked 27192 -(27192) found -[11304] Forked 27193 -(27193) found -[11303] Forked 27194 -(27194) found -[11302] Forked 27195 -(27195) found -[11301] Forked 27196 -(27196) found -[11300] Forked 27197 -(27197) found -[11299] Forked 27198 -(27198) found -[11298] Forked 27199 -(27199) found -[11297] Forked 27200 -(27200) found -[11296] Forked 27201 -(27201) found -[11295] Forked 27202 -(27202) found -[11294] Forked 27203 -(27203) found -[11293] Forked 27204 -(27204) found -[11292] Forked 27205 -(27205) found -[11291] Forked 27206 -[11290] Forked 27207 -(27206) found -(27207) found -[11289] Forked 27208 -[11288] Forked 27209 -(27208) found -(27209) found -[11287] Forked 27210 -[11286] Forked 27211 -(27210) found -(27211) found -[11285] Forked 27212 -[11284] Forked 27213 -(27212) found -(27213) found -[11283] Forked 27214 -[11282] Forked 27215 -(27214) found -(27215) found -[11281] Forked 27216 -[11280] Forked 27217 -(27216) found -(27217) found -[11279] Forked 27218 -[11278] Forked 27219 -(27218) found -(27219) found -[11277] Forked 27220 -[11276] Forked 27221 -(27220) found -(27221) found -[11275] Forked 27222 -[11274] Forked 27223 -(27222) found -(27223) found -[11273] Forked 27224 -[11272] Forked 27225 -(27224) found -(27225) found -[11271] Forked 27226 -[11270] Forked 27227 -(27226) found -(27227) found -[11269] Forked 27228 -[11268] Forked 27229 -(27228) found -(27229) found -[11267] Forked 27230 -[11266] Forked 27231 -(27230) found -(27231) found -[11265] Forked 27232 -[11264] Forked 27233 -(27232) found -(27233) found -[11263] Forked 27234 -[11262] Forked 27235 -(27234) found -(27235) found -[11261] Forked 27236 -[11260] Forked 27237 -(27236) found -(27237) found -[11259] Forked 27238 -[11258] Forked 27239 -(27238) found -(27239) found -[11257] Forked 27240 -[11256] Forked 27241 -(27240) found -(27241) found -[11255] Forked 27242 -[11254] Forked 27243 -(27242) found -(27243) found -[11253] Forked 27244 -[11252] Forked 27245 -(27244) found -(27245) found -[11251] Forked 27246 -[11250] Forked 27247 -(27246) found -(27247) found -[11249] Forked 27248 -[11248] Forked 27249 -(27248) found -(27249) found -[11247] Forked 27250 -[11246] Forked 27251 -(27250) found -(27251) found -[11245] Forked 27252 -(27252) found -[11244] Forked 27253 -(27253) found -[11243] Forked 27254 -(27254) found -[11242] Forked 27255 -(27255) found -[11241] Forked 27256 -(27256) found -[11240] Forked 27257 -(27257) found -[11239] Forked 27258 -(27258) found -[11238] Forked 27259 -(27259) found -[11237] Forked 27260 -(27260) found -[11236] Forked 27261 -(27261) found -[11235] Forked 27262 -(27262) found -[11234] Forked 27263 -(27263) found -[11233] Forked 27264 -(27264) found -[11232] Forked 27265 -(27265) found -[11231] Forked 27266 -(27266) found -[11230] Forked 27267 -(27267) found -[11229] Forked 27268 -(27268) found -[11228] Forked 27269 -(27269) found -[11227] Forked 27270 -(27270) found -[11226] Forked 27271 -(27271) found -[11225] Forked 27272 -(27272) found -[11224] Forked 27273 -(27273) found -[11223] Forked 27274 -(27274) found -[11222] Forked 27275 -(27275) found -[11221] Forked 27276 -(27276) found -[11220] Forked 27277 -(27277) found -[11219] Forked 27278 -(27278) found -[11218] Forked 27279 -(27279) found -[11217] Forked 27280 -(27280) found -[11216] Forked 27281 -(27281) found -[11215] Forked 27282 -(27282) found -[11214] Forked 27283 -(27283) found -[11213] Forked 27284 -(27284) found -[11212] Forked 27285 -(27285) found -[11211] Forked 27286 -(27286) found -[11210] Forked 27287 -[11209] Forked 27288 -(27287) found -(27288) found -[11208] Forked 27289 -[11207] Forked 27290 -(27289) found -(27290) found -[11206] Forked 27291 -[11205] Forked 27292 -(27291) found -(27292) found -[11204] Forked 27293 -[11203] Forked 27294 -(27293) found -(27294) found -[11202] Forked 27295 -[11201] Forked 27296 -(27295) found -(27296) found -[11200] Forked 27297 -[11199] Forked 27298 -(27297) found -(27298) found -[11198] Forked 27299 -[11197] Forked 27300 -(27299) found -(27300) found -[11196] Forked 27301 -[11195] Forked 27302 -(27301) found -(27302) found -[11194] Forked 27303 -[11193] Forked 27304 -(27303) found -(27304) found -[11192] Forked 27305 -[11191] Forked 27306 -(27305) found -(27306) found -[11190] Forked 27307 -[11189] Forked 27308 -(27307) found -(27308) found -[11188] Forked 27309 -[11187] Forked 27310 -(27309) found -(27310) found -[11186] Forked 27311 -[11185] Forked 27312 -(27311) found -(27312) found -[11184] Forked 27313 -[11183] Forked 27314 -(27313) found -(27314) found -[11182] Forked 27315 -[11181] Forked 27316 -(27315) found -(27316) found -[11180] Forked 27317 -[11179] Forked 27318 -(27317) found -(27318) found -[11178] Forked 27319 -[11177] Forked 27320 -(27319) found -(27320) found -[11176] Forked 27321 -[11175] Forked 27322 -(27321) found -(27322) found -[11174] Forked 27323 -[11173] Forked 27324 -(27323) found -(27324) found -[11172] Forked 27325 -[11171] Forked 27326 -(27325) found -(27326) found -[11170] Forked 27327 -[11169] Forked 27328 -(27327) found -(27328) found -[11168] Forked 27329 -[11167] Forked 27330 -(27329) found -(27330) found -[11166] Forked 27331 -[11165] Forked 27332 -(27331) found -(27332) found -[11164] Forked 27333 -[11163] Forked 27334 -(27333) found -(27334) found -[11162] Forked 27335 -[11161] Forked 27336 -(27335) found -(27336) found -[11160] Forked 27337 -[11159] Forked 27338 -(27337) found -(27338) found -[11158] Forked 27339 -[11157] Forked 27340 -(27339) found -(27340) found -[11156] Forked 27341 -[11155] Forked 27342 -(27341) found -(27342) found -[11154] Forked 27343 -[11153] Forked 27344 -(27343) found -(27344) found -[11152] Forked 27345 -[11151] Forked 27346 -(27345) found -(27346) found -[11150] Forked 27347 -[11149] Forked 27348 -(27347) found -(27348) found -[11148] Forked 27349 -[11147] Forked 27350 -(27349) found -(27350) found -[11146] Forked 27351 -[11145] Forked 27352 -(27351) found -(27352) found -[11144] Forked 27353 -[11143] Forked 27354 -(27353) found -(27354) found -[11142] Forked 27355 -[11141] Forked 27356 -(27355) found -(27356) found -[11140] Forked 27357 -[11139] Forked 27358 -(27357) found -(27358) found -[11138] Forked 27359 -[11137] Forked 27360 -(27359) found -(27360) found -[11136] Forked 27361 -[11135] Forked 27362 -(27361) found -(27362) found -[11134] Forked 27363 -[11133] Forked 27364 -(27363) found -(27364) found -[11132] Forked 27365 -[11131] Forked 27366 -(27365) found -(27366) found -[11130] Forked 27367 -[11129] Forked 27368 -(27367) found -(27368) found -[11128] Forked 27369 -[11127] Forked 27370 -(27369) found -(27370) found -[11126] Forked 27371 -[11125] Forked 27372 -(27371) found -(27372) found -[11124] Forked 27373 -[11123] Forked 27374 -(27373) found -(27374) found -[11122] Forked 27375 -[11121] Forked 27376 -(27375) found -(27376) found -[11120] Forked 27377 -[11119] Forked 27378 -(27377) found -(27378) found -[11118] Forked 27379 -[11117] Forked 27380 -(27379) found -(27380) found -[11116] Forked 27381 -[11115] Forked 27382 -(27381) found -(27382) found -[11114] Forked 27383 -[11113] Forked 27384 -(27383) found -(27384) found -[11112] Forked 27385 -[11111] Forked 27386 -(27385) found -(27386) found -[11110] Forked 27387 -[11109] Forked 27388 -(27387) found -(27388) found -[11108] Forked 27389 -[11107] Forked 27390 -(27389) found -(27390) found -[11106] Forked 27391 -[11105] Forked 27392 -(27391) found -(27392) found -[11104] Forked 27393 -[11103] Forked 27394 -(27393) found -(27394) found -[11102] Forked 27395 -[11101] Forked 27396 -(27395) found -(27396) found -[11100] Forked 27397 -[11099] Forked 27398 -(27397) found -(27398) found -[11098] Forked 27399 -[11097] Forked 27400 -(27399) found -(27400) found -[11096] Forked 27401 -[11095] Forked 27402 -(27401) found -(27402) found -[11094] Forked 27403 -[11093] Forked 27404 -(27403) found -(27404) found -[11092] Forked 27405 -[11091] Forked 27406 -(27405) found -(27406) found -[11090] Forked 27407 -[11089] Forked 27408 -(27407) found -(27408) found -[11088] Forked 27409 -[11087] Forked 27410 -(27409) found -(27410) found -[11086] Forked 27411 -[11085] Forked 27412 -(27411) found -(27412) found -[11084] Forked 27413 -[11083] Forked 27414 -(27413) found -(27414) found -[11082] Forked 27415 -[11081] Forked 27416 -(27415) found -(27416) found -[11080] Forked 27417 -[11079] Forked 27418 -(27417) found -(27418) found -[11078] Forked 27419 -[11077] Forked 27420 -(27419) found -(27420) found -[11076] Forked 27421 -[11075] Forked 27422 -(27421) found -(27422) found -[11074] Forked 27423 -(27423) found -[11073] Forked 27424 -(27424) found -[11072] Forked 27425 -(27425) found -[11071] Forked 27426 -(27426) found -[11070] Forked 27427 -(27427) found -[11069] Forked 27428 -(27428) found -[11068] Forked 27429 -(27429) found -[11067] Forked 27430 -(27430) found -[11066] Forked 27431 -(27431) found -[11065] Forked 27432 -(27432) found -[11064] Forked 27433 -(27433) found -[11063] Forked 27434 -(27434) found -[11062] Forked 27435 -(27435) found -[11061] Forked 27436 -(27436) found -[11060] Forked 27437 -(27437) found -[11059] Forked 27438 -(27438) found -[11058] Forked 27439 -(27439) found -[11057] Forked 27440 -(27440) found -[11056] Forked 27441 -(27441) found -[11055] Forked 27442 -(27442) found -[11054] Forked 27443 -(27443) found -[11053] Forked 27444 -(27444) found -[11052] Forked 27445 -(27445) found -[11051] Forked 27446 -(27446) found -[11050] Forked 27447 -(27447) found -[11049] Forked 27448 -(27448) found -[11048] Forked 27449 -(27449) found -[11047] Forked 27450 -(27450) found -[11046] Forked 27451 -(27451) found -[11045] Forked 27452 -(27452) found -[11044] Forked 27453 -(27453) found -[11043] Forked 27454 -(27454) found -[11042] Forked 27455 -(27455) found -[11041] Forked 27456 -(27456) found -[11040] Forked 27457 -[11039] Forked 27458 -(27457) found -(27458) found -[11038] Forked 27459 -[11037] Forked 27460 -(27459) found -(27460) found -[11036] Forked 27461 -[11035] Forked 27462 -(27461) found -(27462) found -[11034] Forked 27463 -[11033] Forked 27464 -(27463) found -(27464) found -[11032] Forked 27465 -[11031] Forked 27466 -(27465) found -(27466) found -[11030] Forked 27467 -[11029] Forked 27468 -(27467) found -(27468) found -[11028] Forked 27469 -[11027] Forked 27470 -(27469) found -(27470) found -[11026] Forked 27471 -[11025] Forked 27472 -(27471) found -(27472) found -[11024] Forked 27473 -[11023] Forked 27474 -(27473) found -(27474) found -[11022] Forked 27475 -[11021] Forked 27476 -(27475) found -(27476) found -[11020] Forked 27477 -[11019] Forked 27478 -(27477) found -(27478) found -[11018] Forked 27479 -[11017] Forked 27480 -(27479) found -(27480) found -[11016] Forked 27481 -[11015] Forked 27482 -(27481) found -(27482) found -[11014] Forked 27483 -[11013] Forked 27484 -(27483) found -(27484) found -[11012] Forked 27485 -[11011] Forked 27486 -(27485) found -(27486) found -[11010] Forked 27487 -[11009] Forked 27488 -(27487) found -(27488) found -[11008] Forked 27489 -[11007] Forked 27490 -(27489) found -(27490) found -[11006] Forked 27491 -[11005] Forked 27492 -(27491) found -(27492) found -[11004] Forked 27493 -[11003] Forked 27494 -(27493) found -(27494) found -[11002] Forked 27495 -[11001] Forked 27496 -(27495) found -(27496) found -[11000] Forked 27497 -[10999] Forked 27498 -(27497) found -(27498) found -[10998] Forked 27499 -[10997] Forked 27500 -(27499) found -(27500) found -[10996] Forked 27501 -[10995] Forked 27502 -(27501) found -(27502) found -[10994] Forked 27503 -(27503) found -[10993] Forked 27504 -(27504) found -[10992] Forked 27505 -(27505) found -[10991] Forked 27506 -(27506) found -[10990] Forked 27507 -(27507) found -[10989] Forked 27508 -(27508) found -[10988] Forked 27509 -(27509) found -[10987] Forked 27510 -(27510) found -[10986] Forked 27511 -(27511) found -[10985] Forked 27512 -(27512) found -[10984] Forked 27513 -(27513) found -[10983] Forked 27514 -(27514) found -[10982] Forked 27515 -(27515) found -[10981] Forked 27516 -(27516) found -[10980] Forked 27517 -(27517) found -[10979] Forked 27518 -(27518) found -[10978] Forked 27519 -(27519) found -[10977] Forked 27520 -(27520) found -[10976] Forked 27521 -(27521) found -[10975] Forked 27522 -(27522) found -[10974] Forked 27523 -(27523) found -[10973] Forked 27524 -(27524) found -[10972] Forked 27525 -(27525) found -[10971] Forked 27526 -(27526) found -[10970] Forked 27527 -(27527) found -[10969] Forked 27528 -(27528) found -[10968] Forked 27529 -(27529) found -[10967] Forked 27530 -(27530) found -[10966] Forked 27531 -(27531) found -[10965] Forked 27532 -(27532) found -[10964] Forked 27533 -(27533) found -[10963] Forked 27534 -(27534) found -[10962] Forked 27535 -(27535) found -[10961] Forked 27536 -(27536) found -[10960] Forked 27537 -[10959] Forked 27538 -(27537) found -(27538) found -[10958] Forked 27539 -[10957] Forked 27540 -(27539) found -(27540) found -[10956] Forked 27541 -[10955] Forked 27542 -(27541) found -(27542) found -[10954] Forked 27543 -[10953] Forked 27544 -(27543) found -(27544) found -[10952] Forked 27545 -[10951] Forked 27546 -(27545) found -(27546) found -[10950] Forked 27547 -[10949] Forked 27548 -(27547) found -(27548) found -[10948] Forked 27549 -[10947] Forked 27550 -(27549) found -(27550) found -[10946] Forked 27551 -[10945] Forked 27552 -(27551) found -(27552) found -[10944] Forked 27553 -[10943] Forked 27554 -(27553) found -(27554) found -[10942] Forked 27555 -[10941] Forked 27556 -(27555) found -(27556) found -[10940] Forked 27557 -[10939] Forked 27558 -(27557) found -(27558) found -[10938] Forked 27559 -[10937] Forked 27560 -(27559) found -(27560) found -[10936] Forked 27561 -[10935] Forked 27562 -(27561) found -(27562) found -[10934] Forked 27563 -[10933] Forked 27564 -(27563) found -(27564) found -[10932] Forked 27565 -[10931] Forked 27566 -(27565) found -(27566) found -[10930] Forked 27567 -[10929] Forked 27568 -(27567) found -(27568) found -[10928] Forked 27569 -[10927] Forked 27570 -(27569) found -(27570) found -[10926] Forked 27571 -[10925] Forked 27572 -(27571) found -(27572) found -[10924] Forked 27573 -[10923] Forked 27574 -(27573) found -(27574) found -[10922] Forked 27575 -[10921] Forked 27576 -(27575) found -(27576) found -[10920] Forked 27577 -[10919] Forked 27578 -(27577) found -(27578) found -[10918] Forked 27579 -[10917] Forked 27580 -(27579) found -(27580) found -[10916] Forked 27581 -[10915] Forked 27582 -(27581) found -(27582) found -[10914] Forked 27583 -(27583) found -[10913] Forked 27584 -(27584) found -[10912] Forked 27585 -(27585) found -[10911] Forked 27586 -(27586) found -[10910] Forked 27587 -(27587) found -[10909] Forked 27588 -(27588) found -[10908] Forked 27589 -(27589) found -[10907] Forked 27590 -(27590) found -[10906] Forked 27591 -(27591) found -[10905] Forked 27592 -(27592) found -[10904] Forked 27593 -(27593) found -[10903] Forked 27594 -(27594) found -[10902] Forked 27595 -(27595) found -[10901] Forked 27596 -(27596) found -[10900] Forked 27597 -(27597) found -[10899] Forked 27598 -(27598) found -[10898] Forked 27599 -(27599) found -[10897] Forked 27600 -(27600) found -[10896] Forked 27601 -(27601) found -[10895] Forked 27602 -(27602) found -[10894] Forked 27603 -(27603) found -[10893] Forked 27604 -(27604) found -[10892] Forked 27605 -(27605) found -[10891] Forked 27606 -(27606) found -[10890] Forked 27607 -(27607) found -[10889] Forked 27608 -(27608) found -[10888] Forked 27609 -(27609) found -[10887] Forked 27610 -(27610) found -[10886] Forked 27611 -(27611) found -[10885] Forked 27612 -(27612) found -[10884] Forked 27613 -(27613) found -[10883] Forked 27614 -(27614) found -[10882] Forked 27615 -(27615) found -[10881] Forked 27616 -(27616) found -[10880] Forked 27617 -(27617) found -[10879] Forked 27618 -[10878] Forked 27619 -(27618) found -(27619) found -[10877] Forked 27620 -[10876] Forked 27621 -(27620) found -(27621) found -[10875] Forked 27622 -[10874] Forked 27623 -(27622) found -(27623) found -[10873] Forked 27624 -[10872] Forked 27625 -(27624) found -(27625) found -[10871] Forked 27626 -[10870] Forked 27627 -(27626) found -(27627) found -[10869] Forked 27628 -[10868] Forked 27629 -(27628) found -(27629) found -[10867] Forked 27630 -[10866] Forked 27631 -(27630) found -(27631) found -[10865] Forked 27632 -[10864] Forked 27633 -(27632) found -(27633) found -[10863] Forked 27634 -[10862] Forked 27635 -(27634) found -(27635) found -[10861] Forked 27636 -[10860] Forked 27637 -(27636) found -(27637) found -[10859] Forked 27638 -[10858] Forked 27639 -(27638) found -(27639) found -[10857] Forked 27640 -[10856] Forked 27641 -(27640) found -(27641) found -[10855] Forked 27642 -[10854] Forked 27643 -(27642) found -(27643) found -[10853] Forked 27644 -[10852] Forked 27645 -(27644) found -(27645) found -[10851] Forked 27646 -[10850] Forked 27647 -(27646) found -(27647) found -[10849] Forked 27648 -[10848] Forked 27649 -(27648) found -(27649) found -[10847] Forked 27650 -[10846] Forked 27651 -(27650) found -(27651) found -[10845] Forked 27652 -[10844] Forked 27653 -(27652) found -(27653) found -[10843] Forked 27654 -[10842] Forked 27655 -(27654) found -(27655) found -[10841] Forked 27656 -[10840] Forked 27657 -(27656) found -(27657) found -[10839] Forked 27658 -[10838] Forked 27659 -(27658) found -(27659) found -[10837] Forked 27660 -[10836] Forked 27661 -(27660) found -(27661) found -[10835] Forked 27662 -[10834] Forked 27663 -(27662) found -(27663) found -[10833] Forked 27664 -[10832] Forked 27665 -(27664) found -(27665) found -[10831] Forked 27666 -[10830] Forked 27667 -(27666) found -(27667) found -[10829] Forked 27668 -[10828] Forked 27669 -(27668) found -(27669) found -[10827] Forked 27670 -[10826] Forked 27671 -(27670) found -(27671) found -[10825] Forked 27672 -[10824] Forked 27673 -(27672) found -(27673) found -[10823] Forked 27674 -[10822] Forked 27675 -(27674) found -(27675) found -[10821] Forked 27676 -[10820] Forked 27677 -(27676) found -(27677) found -[10819] Forked 27678 -[10818] Forked 27679 -(27678) found -(27679) found -[10817] Forked 27680 -[10816] Forked 27681 -(27680) found -(27681) found -[10815] Forked 27682 -[10814] Forked 27683 -(27682) found -(27683) found -[10813] Forked 27684 -[10812] Forked 27685 -(27684) found -(27685) found -[10811] Forked 27686 -[10810] Forked 27687 -(27686) found -(27687) found -[10809] Forked 27688 -[10808] Forked 27689 -(27688) found -(27689) found -[10807] Forked 27691 -[10806] Forked 27692 -(27691) found -(27692) found -[10805] Forked 27693 -[10804] Forked 27694 -(27693) found -(27694) found -[10803] Forked 27695 -[10802] Forked 27696 -(27695) found -(27696) found -[10801] Forked 27697 -[10800] Forked 27698 -(27697) found -(27698) found -[10799] Forked 27699 -[10798] Forked 27700 -(27699) found -(27700) found -[10797] Forked 27701 -[10796] Forked 27702 -(27701) found -(27702) found -[10795] Forked 27703 -[10794] Forked 27704 -(27703) found -(27704) found -[10793] Forked 27705 -[10792] Forked 27706 -(27705) found -(27706) found -[10791] Forked 27707 -[10790] Forked 27708 -(27707) found -(27708) found -[10789] Forked 27709 -(27709) found -[10788] Forked 27710 -(27710) found -[10787] Forked 27711 -(27711) found -[10786] Forked 27712 -(27712) found -[10785] Forked 27713 -(27713) found -[10784] Forked 27714 -(27714) found -[10783] Forked 27715 -(27715) found -[10782] Forked 27716 -(27716) found -[10781] Forked 27717 -(27717) found -[10780] Forked 27718 -(27718) found -[10779] Forked 27719 -(27719) found -[10778] Forked 27720 -(27720) found -[10777] Forked 27721 -(27721) found -[10776] Forked 27722 -(27722) found -[10775] Forked 27723 -(27723) found -[10774] Forked 27724 -(27724) found -[10773] Forked 27725 -(27725) found -[10772] Forked 27726 -(27726) found -[10771] Forked 27727 -(27727) found -[10770] Forked 27728 -(27728) found -[10769] Forked 27729 -(27729) found -[10768] Forked 27730 -(27730) found -[10767] Forked 27731 -(27731) found -[10766] Forked 27732 -(27732) found -[10765] Forked 27733 -(27733) found -[10764] Forked 27734 -(27734) found -[10763] Forked 27735 -(27735) found -[10762] Forked 27736 -(27736) found -[10761] Forked 27737 -(27737) found -[10760] Forked 27738 -(27738) found -[10759] Forked 27739 -(27739) found -[10758] Forked 27740 -(27740) found -[10757] Forked 27741 -(27741) found -[10756] Forked 27742 -(27742) found -[10755] Forked 27743 -(27743) found -[10754] Forked 27744 -(27744) found -[10753] Forked 27745 -[10752] Forked 27746 -(27745) found -(27746) found -[10751] Forked 27747 -[10750] Forked 27748 -(27747) found -(27748) found -[10749] Forked 27749 -(27749) found -[10748] Forked 27750 -[10747] Forked 27751 -(27750) found -(27751) found -[10746] Forked 27752 -[10745] Forked 27753 -(27752) found -(27753) found -[10744] Forked 27754 -[10743] Forked 27755 -(27754) found -(27755) found -[10742] Forked 27756 -[10741] Forked 27757 -(27756) found -(27757) found -[10740] Forked 27758 -[10739] Forked 27759 -(27758) found -(27759) found -[10738] Forked 27760 -[10737] Forked 27761 -(27760) found -(27761) found -[10736] Forked 27762 -[10735] Forked 27763 -(27762) found -(27763) found -[10734] Forked 27764 -[10733] Forked 27765 -(27764) found -(27765) found -[10732] Forked 27766 -[10731] Forked 27767 -(27766) found -(27767) found -[10730] Forked 27768 -[10729] Forked 27769 -(27768) found -(27769) found -[10728] Forked 27770 -[10727] Forked 27771 -(27770) found -(27771) found -[10726] Forked 27772 -[10725] Forked 27773 -(27772) found -(27773) found -[10724] Forked 27774 -[10723] Forked 27775 -(27774) found -(27775) found -[10722] Forked 27776 -[10721] Forked 27777 -(27776) found -(27777) found -[10720] Forked 27778 -[10719] Forked 27779 -(27778) found -(27779) found -[10718] Forked 27780 -[10717] Forked 27781 -(27780) found -(27781) found -[10716] Forked 27782 -[10715] Forked 27783 -(27782) found -(27783) found -[10714] Forked 27784 -[10713] Forked 27785 -(27784) found -(27785) found -[10712] Forked 27786 -[10711] Forked 27787 -(27786) found -(27787) found -[10710] Forked 27788 -[10709] Forked 27789 -(27788) found -(27789) found -[10708] Forked 27790 -[10707] Forked 27791 -(27790) found -(27791) found -[10706] Forked 27792 -[10705] Forked 27793 -(27792) found -(27793) found -[10704] Forked 27794 -[10703] Forked 27795 -(27794) found -(27795) found -[10702] Forked 27796 -[10701] Forked 27797 -(27796) found -(27797) found -[10700] Forked 27798 -(27798) found -[10699] Forked 27799 -[10698] Forked 27800 -(27799) found -(27800) found -[10697] Forked 27801 -[10696] Forked 27802 -(27801) found -(27802) found -[10695] Forked 27803 -[10694] Forked 27804 -(27803) found -(27804) found -[10693] Forked 27805 -[10692] Forked 27806 -(27805) found -(27806) found -[10691] Forked 27807 -[10690] Forked 27808 -(27807) found -(27808) found -[10689] Forked 27809 -[10688] Forked 27810 -(27809) found -(27810) found -[10687] Forked 27811 -[10686] Forked 27812 -(27811) found -(27812) found -[10685] Forked 27813 -[10684] Forked 27814 -(27813) found -(27814) found -[10683] Forked 27815 -[10682] Forked 27816 -(27815) found -(27816) found -[10681] Forked 27817 -[10680] Forked 27818 -(27817) found -(27818) found -[10679] Forked 27819 -[10678] Forked 27820 -(27819) found -(27820) found -[10677] Forked 27821 -[10676] Forked 27822 -(27821) found -(27822) found -[10675] Forked 27823 -[10674] Forked 27824 -(27823) found -(27824) found -[10673] Forked 27825 -[10672] Forked 27826 -(27825) found -(27826) found -[10671] Forked 27827 -[10670] Forked 27828 -(27827) found -(27828) found -[10669] Forked 27829 -[10668] Forked 27831 -(27829) found -(27831) found -[10667] Forked 27832 -[10666] Forked 27833 -(27832) found -(27833) found -[10665] Forked 27834 -[10664] Forked 27835 -(27834) found -(27835) found -[10663] Forked 27836 -(27836) found -[10662] Forked 27837 -(27837) found -[10661] Forked 27838 -(27838) found -[10660] Forked 27839 -(27839) found -[10659] Forked 27840 -(27840) found -[10658] Forked 27841 -(27841) found -[10657] Forked 27842 -(27842) found -[10656] Forked 27843 -(27843) found -[10655] Forked 27844 -(27844) found -[10654] Forked 27845 -(27845) found -[10653] Forked 27846 -(27846) found -[10652] Forked 27847 -(27847) found -[10651] Forked 27848 -(27848) found -[10650] Forked 27849 -(27849) found -[10649] Forked 27850 -(27850) found -[10648] Forked 27851 -(27851) found -[10647] Forked 27852 -(27852) found -[10646] Forked 27853 -(27853) found -[10645] Forked 27854 -(27854) found -[10644] Forked 27855 -(27855) found -[10643] Forked 27856 -(27856) found -[10642] Forked 27857 -(27857) found -[10641] Forked 27858 -(27858) found -[10640] Forked 27859 -(27859) found -[10639] Forked 27860 -(27860) found -[10638] Forked 27861 -(27861) found -[10637] Forked 27862 -(27862) found -[10636] Forked 27863 -(27863) found -[10635] Forked 27864 -(27864) found -[10634] Forked 27865 -(27865) found -[10633] Forked 27866 -(27866) found -[10632] Forked 27867 -(27867) found -[10631] Forked 27868 -(27868) found -[10630] Forked 27869 -(27869) found -[10629] Forked 27870 -[10628] Forked 27871 -(27870) found -(27871) found -[10627] Forked 27872 -[10626] Forked 27873 -(27872) found -(27873) found -[10625] Forked 27874 -[10624] Forked 27875 -(27874) found -(27875) found -[10623] Forked 27876 -[10622] Forked 27877 -(27876) found -(27877) found -[10621] Forked 27878 -[10620] Forked 27879 -(27878) found -(27879) found -[10619] Forked 27880 -[10618] Forked 27881 -(27880) found -(27881) found -[10617] Forked 27882 -[10616] Forked 27883 -(27882) found -(27883) found -[10615] Forked 27884 -[10614] Forked 27885 -(27884) found -(27885) found -[10613] Forked 27886 -[10612] Forked 27887 -(27886) found -(27887) found -[10611] Forked 27888 -[10610] Forked 27889 -(27888) found -(27889) found -[10609] Forked 27890 -[10608] Forked 27891 -(27890) found -(27891) found -[10607] Forked 27892 -[10606] Forked 27893 -(27892) found -(27893) found -[10605] Forked 27894 -[10604] Forked 27895 -(27894) found -(27895) found -[10603] Forked 27896 -[10602] Forked 27897 -(27896) found -(27897) found -[10601] Forked 27898 -[10600] Forked 27899 -(27898) found -(27899) found -[10599] Forked 27900 -[10598] Forked 27901 -(27900) found -(27901) found -[10597] Forked 27902 -[10596] Forked 27903 -(27902) found -(27903) found -[10595] Forked 27904 -[10594] Forked 27905 -(27904) found -(27905) found -[10593] Forked 27906 -[10592] Forked 27907 -(27906) found -(27907) found -[10591] Forked 27908 -[10590] Forked 27909 -(27908) found -(27909) found -[10589] Forked 27910 -[10588] Forked 27911 -(27910) found -(27911) found -[10587] Forked 27912 -[10586] Forked 27913 -(27912) found -(27913) found -[10585] Forked 27914 -(27914) found -[10584] Forked 27915 -[10583] Forked 27916 -(27915) found -(27916) found -[10582] Forked 27917 -[10581] Forked 27918 -(27917) found -(27918) found -[10580] Forked 27919 -(27919) found -[10579] Forked 27920 -[10578] Forked 27921 -(27920) found -(27921) found -[10577] Forked 27922 -[10576] Forked 27923 -(27923) found -(27922) found -[10575] Forked 27924 -(27924) found -[10574] Forked 27925 -(27925) found -[10573] Forked 27926 -(27926) found -[10572] Forked 27927 -(27927) found -[10571] Forked 27928 -(27928) found -[10570] Forked 27929 -(27929) found -[10569] Forked 27930 -(27930) found -[10568] Forked 27931 -(27931) found -[10567] Forked 27932 -(27932) found -[10566] Forked 27933 -(27933) found -[10565] Forked 27934 -(27934) found -[10564] Forked 27935 -(27935) found -[10563] Forked 27936 -(27936) found -[10562] Forked 27937 -(27937) found -[10561] Forked 27938 -(27938) found -[10560] Forked 27939 -(27939) found -[10559] Forked 27940 -(27940) found -[10558] Forked 27941 -(27941) found -[10557] Forked 27942 -(27942) found -[10556] Forked 27943 -(27943) found -[10555] Forked 27944 -(27944) found -[10554] Forked 27945 -(27945) found -[10553] Forked 27946 -(27946) found -[10552] Forked 27947 -(27947) found -[10551] Forked 27948 -(27948) found -[10550] Forked 27949 -(27949) found -[10549] Forked 27950 -(27950) found -[10548] Forked 27951 -(27951) found -[10547] Forked 27952 -(27952) found -[10546] Forked 27953 -(27953) found -[10545] Forked 27954 -(27954) found -[10544] Forked 27955 -(27955) found -[10543] Forked 27956 -(27956) found -[10542] Forked 27957 -(27957) found -[10541] Forked 27958 -(27958) found -[10540] Forked 27959 -(27959) found -[10539] Forked 27960 -(27960) found -[10538] Forked 27961 -(27961) found -[10537] Forked 27962 -(27962) found -[10536] Forked 27963 -(27963) found -[10535] Forked 27964 -(27964) found -[10534] Forked 27965 -(27965) found -[10533] Forked 27966 -(27966) found -[10532] Forked 27967 -(27967) found -[10531] Forked 27968 -(27968) found -[10530] Forked 27969 -(27969) found -[10529] Forked 27970 -(27970) found -[10528] Forked 27971 -(27971) found -[10527] Forked 27972 -(27972) found -[10526] Forked 27973 -(27973) found -[10525] Forked 27974 -(27974) found -[10524] Forked 27975 -(27975) found -[10523] Forked 27976 -(27976) found -[10522] Forked 27977 -(27977) found -[10521] Forked 27978 -(27978) found -[10520] Forked 27979 -(27979) found -[10519] Forked 27980 -(27980) found -[10518] Forked 27981 -(27981) found -[10517] Forked 27982 -(27982) found -[10516] Forked 27983 -(27983) found -[10515] Forked 27984 -(27984) found -[10514] Forked 27985 -(27985) found -[10513] Forked 27986 -[10512] Forked 27988 -(27986) found -(27988) found -[10511] Forked 27989 -[10510] Forked 27990 -(27989) found -(27990) found -[10509] Forked 27991 -[10508] Forked 27992 -(27991) found -(27992) found -[10507] Forked 27993 -[10506] Forked 27994 -(27993) found -(27994) found -[10505] Forked 27995 -[10504] Forked 27996 -(27995) found -(27996) found -[10503] Forked 27997 -[10502] Forked 27998 -(27997) found -(27998) found -[10501] Forked 27999 -[10500] Forked 28000 -(27999) found -(28000) found -[10499] Forked 28001 -[10498] Forked 28002 -(28001) found -(28002) found -[10497] Forked 28003 -[10496] Forked 28004 -(28003) found -(28004) found -[10495] Forked 28005 -[10494] Forked 28006 -(28005) found -(28006) found -[10493] Forked 28007 -[10492] Forked 28008 -(28007) found -(28008) found -[10491] Forked 28009 -[10490] Forked 28010 -(28009) found -(28010) found -[10489] Forked 28011 -[10488] Forked 28012 -(28011) found -(28012) found -[10487] Forked 28013 -[10486] Forked 28014 -(28013) found -(28014) found -[10485] Forked 28015 -[10484] Forked 28016 -(28015) found -(28016) found -[10483] Forked 28017 -[10482] Forked 28018 -(28017) found -(28018) found -[10481] Forked 28019 -[10480] Forked 28020 -(28019) found -(28020) found -[10479] Forked 28021 -[10478] Forked 28022 -(28021) found -(28022) found -[10477] Forked 28023 -[10476] Forked 28024 -(28023) found -(28024) found -[10475] Forked 28025 -[10474] Forked 28026 -(28025) found -(28026) found -[10473] Forked 28027 -[10472] Forked 28028 -(28027) found -(28028) found -[10471] Forked 28029 -[10470] Forked 28030 -(28029) found -(28030) found -[10469] Forked 28031 -(28031) found -[10468] Forked 28032 -(28032) found -[10467] Forked 28033 -(28033) found -[10466] Forked 28034 -(28034) found -[10465] Forked 28035 -(28035) found -[10464] Forked 28036 -(28036) found -[10463] Forked 28037 -(28037) found -[10462] Forked 28038 -(28038) found -[10461] Forked 28039 -(28039) found -[10460] Forked 28040 -(28040) found -[10459] Forked 28041 -(28041) found -[10458] Forked 28042 -(28042) found -[10457] Forked 28043 -(28043) found -[10456] Forked 28044 -(28044) found -[10455] Forked 28045 -(28045) found -[10454] Forked 28047 -(28047) found -[10453] Forked 28048 -(28048) found -[10452] Forked 28049 -(28049) found -[10451] Forked 28050 -(28050) found -[10450] Forked 28051 -(28051) found -[10449] Forked 28052 -(28052) found -[10448] Forked 28053 -(28053) found -[10447] Forked 28054 -(28054) found -[10446] Forked 28055 -(28055) found -[10445] Forked 28056 -(28056) found -[10444] Forked 28057 -(28057) found -[10443] Forked 28058 -(28058) found -[10442] Forked 28059 -(28059) found -[10441] Forked 28060 -(28060) found -[10440] Forked 28061 -(28061) found -[10439] Forked 28062 -(28062) found -[10438] Forked 28063 -(28063) found -[10437] Forked 28064 -(28064) found -[10436] Forked 28065 -(28065) found -[10435] Forked 28066 -(28066) found -[10434] Forked 28067 -(28067) found -[10433] Forked 28068 -[10432] Forked 28069 -(28068) found -(28069) found -[10431] Forked 28070 -[10430] Forked 28071 -(28070) found -(28071) found -[10429] Forked 28072 -[10428] Forked 28073 -(28072) found -(28073) found -[10427] Forked 28074 -[10426] Forked 28075 -(28074) found -(28075) found -[10425] Forked 28076 -[10424] Forked 28077 -(28076) found -(28077) found -[10423] Forked 28078 -[10422] Forked 28079 -(28078) found -(28079) found -[10421] Forked 28080 -[10420] Forked 28081 -(28080) found -(28081) found -[10419] Forked 28082 -[10418] Forked 28083 -(28082) found -(28083) found -[10417] Forked 28084 -[10416] Forked 28085 -(28084) found -(28085) found -[10415] Forked 28086 -[10414] Forked 28087 -(28086) found -(28087) found -[10413] Forked 28088 -[10412] Forked 28089 -(28088) found -(28089) found -[10411] Forked 28090 -[10410] Forked 28091 -(28090) found -(28091) found -[10409] Forked 28092 -[10408] Forked 28093 -(28092) found -(28093) found -[10407] Forked 28094 -[10406] Forked 28095 -(28094) found -(28095) found -[10405] Forked 28096 -[10404] Forked 28097 -(28096) found -(28097) found -[10403] Forked 28098 -[10402] Forked 28100 -(28098) found -(28100) found -[10401] Forked 28101 -(28101) found -[10400] Forked 28102 -(28102) found -[10399] Forked 28103 -(28103) found -[10398] Forked 28104 -(28104) found -[10397] Forked 28105 -(28105) found -[10396] Forked 28106 -(28106) found -[10395] Forked 28107 -(28107) found -[10394] Forked 28108 -(28108) found -[10393] Forked 28109 -(28109) found -[10392] Forked 28110 -(28110) found -[10391] Forked 28111 -(28111) found -[10390] Forked 28112 -(28112) found -[10389] Forked 28113 -(28113) found -[10388] Forked 28114 -(28114) found -[10387] Forked 28115 -(28115) found -[10386] Forked 28116 -(28116) found -[10385] Forked 28117 -(28117) found -[10384] Forked 28118 -(28118) found -[10383] Forked 28119 -(28119) found -[10382] Forked 28120 -(28120) found -[10381] Forked 28121 -(28121) found -[10380] Forked 28122 -(28122) found -[10379] Forked 28123 -(28123) found -[10378] Forked 28124 -(28124) found -[10377] Forked 28125 -(28125) found -[10376] Forked 28126 -(28126) found -[10375] Forked 28127 -(28127) found -[10374] Forked 28128 -(28128) found -[10373] Forked 28129 -(28129) found -[10372] Forked 28130 -(28130) found -[10371] Forked 28131 -(28131) found -[10370] Forked 28132 -(28132) found -[10369] Forked 28133 -(28133) found -[10368] Forked 28134 -(28134) found -[10367] Forked 28135 -(28135) found -[10366] Forked 28136 -(28136) found -[10365] Forked 28137 -(28137) found -[10364] Forked 28138 -(28138) found -[10363] Forked 28139 -(28139) found -[10362] Forked 28140 -(28140) found -[10361] Forked 28141 -(28141) found -[10360] Forked 28142 -(28142) found -[10359] Forked 28143 -(28143) found -[10358] Forked 28144 -(28144) found -[10357] Forked 28145 -(28145) found -[10356] Forked 28146 -(28146) found -[10355] Forked 28147 -(28147) found -[10354] Forked 28148 -(28148) found -[10353] Forked 28149 -(28149) found -[10352] Forked 28150 -(28150) found -[10351] Forked 28151 -(28151) found -[10350] Forked 28152 -(28152) found -[10349] Forked 28153 -(28153) found -[10348] Forked 28154 -(28154) found -[10347] Forked 28155 -(28155) found -[10346] Forked 28156 -(28156) found -[10345] Forked 28157 -(28157) found -[10344] Forked 28158 -(28158) found -[10343] Forked 28159 -(28159) found -[10342] Forked 28160 -(28160) found -[10341] Forked 28161 -(28161) found -[10340] Forked 28162 -(28162) found -[10339] Forked 28163 -(28163) found -[10338] Forked 28164 -(28164) found -[10337] Forked 28165 -(28165) found -[10336] Forked 28166 -(28166) found -[10335] Forked 28167 -(28167) found -[10334] Forked 28168 -(28168) found -[10333] Forked 28169 -(28169) found -[10332] Forked 28170 -(28170) found -[10331] Forked 28171 -(28171) found -[10330] Forked 28172 -(28172) found -[10329] Forked 28173 -(28173) found -[10328] Forked 28174 -(28174) found -[10327] Forked 28175 -(28175) found -[10326] Forked 28176 -(28176) found -[10325] Forked 28177 -(28177) found -[10324] Forked 28178 -(28178) found -[10323] Forked 28179 -(28179) found -[10322] Forked 28180 -(28180) found -[10321] Forked 28181 -(28181) found -[10320] Forked 28182 -(28182) found -[10319] Forked 28183 -[10318] Forked 28184 -(28183) found -(28184) found -[10317] Forked 28185 -[10316] Forked 28186 -(28185) found -(28186) found -[10315] Forked 28187 -[10314] Forked 28188 -(28187) found -(28188) found -[10313] Forked 28189 -[10312] Forked 28190 -(28189) found -(28190) found -[10311] Forked 28191 -[10310] Forked 28192 -(28191) found -(28192) found -[10309] Forked 28193 -[10308] Forked 28194 -(28193) found -(28194) found -[10307] Forked 28195 -[10306] Forked 28196 -(28195) found -(28196) found -[10305] Forked 28197 -[10304] Forked 28198 -(28197) found -(28198) found -[10303] Forked 28199 -[10302] Forked 28200 -(28199) found -(28200) found -[10301] Forked 28201 -[10300] Forked 28202 -(28201) found -(28202) found -[10299] Forked 28203 -[10298] Forked 28204 -(28203) found -(28204) found -[10297] Forked 28205 -[10296] Forked 28206 -(28205) found -(28206) found -[10295] Forked 28207 -[10294] Forked 28208 -(28207) found -(28208) found -[10293] Forked 28209 -[10292] Forked 28210 -(28209) found -(28210) found -[10291] Forked 28211 -[10290] Forked 28212 -(28211) found -(28212) found -[10289] Forked 28213 -[10288] Forked 28214 -(28213) found -(28214) found -[10287] Forked 28215 -[10286] Forked 28216 -(28215) found -(28216) found -[10285] Forked 28217 -[10284] Forked 28218 -(28217) found -(28218) found -[10283] Forked 28219 -[10282] Forked 28220 -(28219) found -(28220) found -[10281] Forked 28221 -[10280] Forked 28222 -(28221) found -(28222) found -[10279] Forked 28223 -[10278] Forked 28224 -(28223) found -(28224) found -[10277] Forked 28225 -[10276] Forked 28226 -(28225) found -(28226) found -[10275] Forked 28227 -[10274] Forked 28228 -(28227) found -(28228) found -[10273] Forked 28229 -(28229) found -[10272] Forked 28230 -(28230) found -[10271] Forked 28231 -(28231) found -[10270] Forked 28232 -(28232) found -[10269] Forked 28233 -(28233) found -[10268] Forked 28234 -(28234) found -[10267] Forked 28235 -(28235) found -[10266] Forked 28236 -(28236) found -[10265] Forked 28237 -(28237) found -[10264] Forked 28238 -(28238) found -[10263] Forked 28239 -(28239) found -[10262] Forked 28240 -(28240) found -[10261] Forked 28241 -(28241) found -[10260] Forked 28242 -(28242) found -[10259] Forked 28243 -(28243) found -[10258] Forked 28244 -(28244) found -[10257] Forked 28245 -(28245) found -[10256] Forked 28246 -(28246) found -[10255] Forked 28247 -(28247) found -[10254] Forked 28248 -(28248) found -[10253] Forked 28249 -(28249) found -[10252] Forked 28250 -(28250) found -[10251] Forked 28251 -(28251) found -[10250] Forked 28252 -(28252) found -[10249] Forked 28253 -(28253) found -[10248] Forked 28254 -(28254) found -[10247] Forked 28255 -(28255) found -[10246] Forked 28256 -(28256) found -[10245] Forked 28257 -(28257) found -[10244] Forked 28258 -(28258) found -[10243] Forked 28259 -(28259) found -[10242] Forked 28260 -(28260) found -[10241] Forked 28261 -(28261) found -[10240] Forked 28262 -(28262) found -[10239] Forked 28263 -(28263) found -[10238] Forked 28264 -(28264) found -[10237] Forked 28265 -[10236] Forked 28266 -(28265) found -(28266) found -[10235] Forked 28267 -[10234] Forked 28268 -(28267) found -(28268) found -[10233] Forked 28269 -[10232] Forked 28270 -(28269) found -(28270) found -[10231] Forked 28271 -[10230] Forked 28272 -(28271) found -(28272) found -[10229] Forked 28273 -[10228] Forked 28274 -(28273) found -(28274) found -[10227] Forked 28275 -[10226] Forked 28276 -(28275) found -(28276) found -[10225] Forked 28277 -(28277) found -[10224] Forked 28278 -(28278) found -[10223] Forked 28279 -(28279) found -[10222] Forked 28280 -(28280) found -[10221] Forked 28281 -(28281) found -[10220] Forked 28282 -(28282) found -[10219] Forked 28283 -(28283) found -[10218] Forked 28284 -[10217] Forked 28285 -(28284) found -(28285) found -[10216] Forked 28286 -[10215] Forked 28287 -(28286) found -(28287) found -[10214] Forked 28288 -[10213] Forked 28289 -(28288) found -(28289) found -[10212] Forked 28290 -[10211] Forked 28291 -(28290) found -(28291) found -[10210] Forked 28292 -[10209] Forked 28293 -(28292) found -(28293) found -[10208] Forked 28294 -[10207] Forked 28295 -(28294) found -(28295) found -[10206] Forked 28296 -[10205] Forked 28297 -(28296) found -(28297) found -[10204] Forked 28298 -[10203] Forked 28299 -(28298) found -(28299) found -[10202] Forked 28300 -[10201] Forked 28301 -(28300) found -(28301) found -[10200] Forked 28302 -[10199] Forked 28303 -(28302) found -(28303) found -[10198] Forked 28304 -[10197] Forked 28305 -(28304) found -(28305) found -[10196] Forked 28306 -[10195] Forked 28307 -(28306) found -(28307) found -[10194] Forked 28308 -[10193] Forked 28309 -(28308) found -(28309) found -[10192] Forked 28310 -[10191] Forked 28311 -(28310) found -(28311) found -[10190] Forked 28312 -[10189] Forked 28313 -(28312) found -(28313) found -[10188] Forked 28314 -[10187] Forked 28315 -(28314) found -(28315) found -[10186] Forked 28316 -[10185] Forked 28317 -(28316) found -(28317) found -[10184] Forked 28318 -[10183] Forked 28319 -(28318) found -(28319) found -[10182] Forked 28320 -[10181] Forked 28321 -(28320) found -(28321) found -[10180] Forked 28322 -[10179] Forked 28323 -(28322) found -(28323) found -[10178] Forked 28324 -[10177] Forked 28325 -(28324) found -(28325) found -[10176] Forked 28326 -[10175] Forked 28327 -(28326) found -(28327) found -[10174] Forked 28328 -[10173] Forked 28329 -(28328) found -(28329) found -[10172] Forked 28330 -[10171] Forked 28331 -(28330) found -(28331) found -[10170] Forked 28332 -[10169] Forked 28333 -(28332) found -(28333) found -[10168] Forked 28334 -[10167] Forked 28335 -(28334) found -(28335) found -[10166] Forked 28336 -[10165] Forked 28337 -(28336) found -(28337) found -[10164] Forked 28338 -[10163] Forked 28339 -(28338) found -(28339) found -[10162] Forked 28340 -[10161] Forked 28341 -(28340) found -(28341) found -[10160] Forked 28342 -[10159] Forked 28343 -(28342) found -(28343) found -[10158] Forked 28344 -[10157] Forked 28345 -(28344) found -(28345) found -[10156] Forked 28346 -[10155] Forked 28347 -(28346) found -(28347) found -[10154] Forked 28348 -[10153] Forked 28349 -(28348) found -(28349) found -[10152] Forked 28350 -[10151] Forked 28351 -(28350) found -(28351) found -[10150] Forked 28352 -(28352) found -[10149] Forked 28353 -(28353) found -[10148] Forked 28354 -(28354) found -[10147] Forked 28355 -(28355) found -[10146] Forked 28356 -(28356) found -[10145] Forked 28357 -(28357) found -[10144] Forked 28358 -(28358) found -[10143] Forked 28359 -(28359) found -[10142] Forked 28360 -(28360) found -[10141] Forked 28361 -(28361) found -[10140] Forked 28362 -(28362) found -[10139] Forked 28363 -(28363) found -[10138] Forked 28364 -(28364) found -[10137] Forked 28365 -(28365) found -[10136] Forked 28366 -(28366) found -[10135] Forked 28367 -(28367) found -[10134] Forked 28368 -(28368) found -[10133] Forked 28369 -(28369) found -[10132] Forked 28370 -(28370) found -[10131] Forked 28371 -(28371) found -[10130] Forked 28372 -(28372) found -[10129] Forked 28373 -(28373) found -[10128] Forked 28374 -(28374) found -[10127] Forked 28375 -(28375) found -[10126] Forked 28376 -(28376) found -[10125] Forked 28377 -(28377) found -[10124] Forked 28378 -(28378) found -[10123] Forked 28379 -(28379) found -[10122] Forked 28380 -(28380) found -[10121] Forked 28381 -(28381) found -[10120] Forked 28382 -(28382) found -[10119] Forked 28383 -(28383) found -[10118] Forked 28384 -(28384) found -[10117] Forked 28385 -(28385) found -[10116] Forked 28386 -(28386) found -[10115] Forked 28387 -(28387) found -[10114] Forked 28388 -[10113] Forked 28389 -(28388) found -(28389) found -[10112] Forked 28390 -[10111] Forked 28391 -(28390) found -(28391) found -[10110] Forked 28392 -[10109] Forked 28393 -(28392) found -(28393) found -[10108] Forked 28394 -[10107] Forked 28395 -(28394) found -(28395) found -[10106] Forked 28396 -[10105] Forked 28397 -(28396) found -(28397) found -[10104] Forked 28398 -[10103] Forked 28399 -(28398) found -(28399) found -[10102] Forked 28400 -[10101] Forked 28401 -(28400) found -(28401) found -[10100] Forked 28402 -[10099] Forked 28403 -(28402) found -(28403) found -[10098] Forked 28404 -[10097] Forked 28405 -(28404) found -(28405) found -[10096] Forked 28406 -[10095] Forked 28407 -(28406) found -(28407) found -[10094] Forked 28408 -[10093] Forked 28409 -(28408) found -(28409) found -[10092] Forked 28410 -[10091] Forked 28411 -(28410) found -(28411) found -[10090] Forked 28412 -[10089] Forked 28413 -(28412) found -(28413) found -[10088] Forked 28414 -[10087] Forked 28415 -(28414) found -(28415) found -[10086] Forked 28416 -[10085] Forked 28417 -(28416) found -(28417) found -[10084] Forked 28418 -[10083] Forked 28419 -(28418) found -(28419) found -[10082] Forked 28420 -[10081] Forked 28421 -(28420) found -(28421) found -[10080] Forked 28422 -[10079] Forked 28423 -(28422) found -(28423) found -[10078] Forked 28424 -[10077] Forked 28425 -(28424) found -(28425) found -[10076] Forked 28426 -[10075] Forked 28427 -(28426) found -(28427) found -[10074] Forked 28428 -[10073] Forked 28429 -(28428) found -(28429) found -[10072] Forked 28430 -[10071] Forked 28431 -(28430) found -(28431) found -[10070] Forked 28432 -[10069] Forked 28433 -(28432) found -(28433) found -[10068] Forked 28434 -[10067] Forked 28435 -(28434) found -(28435) found -[10066] Forked 28436 -[10065] Forked 28437 -(28436) found -(28437) found -[10064] Forked 28438 -[10063] Forked 28439 -(28438) found -(28439) found -[10062] Forked 28440 -[10061] Forked 28441 -(28440) found -(28441) found -[10060] Forked 28442 -[10059] Forked 28443 -(28442) found -(28443) found -[10058] Forked 28444 -[10057] Forked 28445 -(28444) found -(28445) found -[10056] Forked 28446 -[10055] Forked 28447 -(28446) found -(28447) found -[10054] Forked 28448 -[10053] Forked 28449 -(28448) found -(28449) found -[10052] Forked 28450 -[10051] Forked 28452 -(28450) found -(28452) found -[10050] Forked 28453 -(28453) found -[10049] Forked 28454 -(28454) found -[10048] Forked 28455 -(28455) found -[10047] Forked 28456 -(28456) found -[10046] Forked 28457 -(28457) found -[10045] Forked 28458 -(28458) found -[10044] Forked 28459 -(28459) found -[10043] Forked 28460 -(28460) found -[10042] Forked 28461 -(28461) found -[10041] Forked 28462 -(28462) found -[10040] Forked 28463 -(28463) found -[10039] Forked 28464 -(28464) found -[10038] Forked 28465 -(28465) found -[10037] Forked 28466 -(28466) found -[10036] Forked 28467 -(28467) found -[10035] Forked 28468 -(28468) found -[10034] Forked 28469 -(28469) found -[10033] Forked 28470 -(28470) found -[10032] Forked 28471 -(28471) found -[10031] Forked 28472 -(28472) found -[10030] Forked 28473 -(28473) found -[10029] Forked 28474 -(28474) found -[10028] Forked 28475 -(28475) found -[10027] Forked 28476 -(28476) found -[10026] Forked 28477 -(28477) found -[10025] Forked 28478 -(28478) found -[10024] Forked 28479 -(28479) found -[10023] Forked 28480 -(28480) found -[10022] Forked 28481 -(28481) found -[10021] Forked 28482 -(28482) found -[10020] Forked 28483 -(28483) found -[10019] Forked 28484 -(28484) found -[10018] Forked 28485 -(28485) found -[10017] Forked 28486 -(28486) found -[10016] Forked 28487 -(28487) found -[10015] Forked 28488 -(28488) found -[10014] Forked 28489 -(28489) found -[10013] Forked 28490 -(28490) found -[10012] Forked 28491 -(28491) found -[10011] Forked 28492 -(28492) found -[10010] Forked 28493 -(28493) found -[10009] Forked 28494 -(28494) found -[10008] Forked 28495 -(28495) found -[10007] Forked 28496 -(28496) found -[10006] Forked 28497 -(28497) found -[10005] Forked 28498 -(28498) found -[10004] Forked 28499 -(28499) found -[10003] Forked 28500 -(28500) found -[10002] Forked 28501 -(28501) found -[10001] Forked 28502 -(28502) found -[10000] Forked 28503 -(28503) found -[9999] Forked 28504 -(28504) found -[9998] Forked 28505 -(28505) found -[9997] Forked 28506 -(28506) found -[9996] Forked 28507 -(28507) found -[9995] Forked 28508 -(28508) found -[9994] Forked 28509 -(28509) found -[9993] Forked 28510 -(28510) found -[9992] Forked 28511 -(28511) found -[9991] Forked 28512 -(28512) found -[9990] Forked 28513 -(28513) found -[9989] Forked 28514 -(28514) found -[9988] Forked 28515 -(28515) found -[9987] Forked 28516 -(28516) found -[9986] Forked 28517 -(28517) found -[9985] Forked 28518 -(28518) found -[9984] Forked 28519 -(28519) found -[9983] Forked 28520 -(28520) found -[9982] Forked 28521 -(28521) found -[9981] Forked 28522 -(28522) found -[9980] Forked 28523 -(28523) found -[9979] Forked 28524 -(28524) found -[9978] Forked 28525 -(28525) found -[9977] Forked 28526 -(28526) found -[9976] Forked 28527 -(28527) found -[9975] Forked 28528 -(28528) found -[9974] Forked 28529 -(28529) found -[9973] Forked 28530 -(28530) found -[9972] Forked 28531 -(28531) found -[9971] Forked 28532 -(28532) found -[9970] Forked 28533 -(28533) found -[9969] Forked 28534 -(28534) found -[9968] Forked 28535 -(28535) found -[9967] Forked 28536 -(28536) found -[9966] Forked 28537 -(28537) found -[9965] Forked 28538 -(28538) found -[9964] Forked 28539 -(28539) found -[9963] Forked 28540 -(28540) found -[9962] Forked 28541 -(28541) found -[9961] Forked 28542 -[9960] Forked 28543 -(28542) found -(28543) found -[9959] Forked 28544 -[9958] Forked 28545 -(28544) found -(28545) found -[9957] Forked 28546 -[9956] Forked 28547 -(28546) found -(28547) found -[9955] Forked 28548 -[9954] Forked 28549 -(28548) found -(28549) found -[9953] Forked 28550 -[9952] Forked 28551 -(28550) found -(28551) found -[9951] Forked 28552 -[9950] Forked 28553 -(28552) found -(28553) found -[9949] Forked 28554 -[9948] Forked 28555 -(28554) found -(28555) found -[9947] Forked 28556 -[9946] Forked 28557 -(28556) found -(28557) found -[9945] Forked 28558 -[9944] Forked 28559 -(28558) found -(28559) found -[9943] Forked 28560 -[9942] Forked 28561 -(28560) found -(28561) found -[9941] Forked 28562 -[9940] Forked 28563 -(28562) found -(28563) found -[9939] Forked 28564 -[9938] Forked 28565 -(28564) found -(28565) found -[9937] Forked 28566 -[9936] Forked 28567 -(28566) found -(28567) found -[9935] Forked 28568 -[9934] Forked 28569 -(28568) found -(28569) found -[9933] Forked 28570 -[9932] Forked 28572 -(28570) found -(28572) found -[9931] Forked 28573 -(28573) found -[9930] Forked 28574 -(28574) found -[9929] Forked 28575 -(28575) found -[9928] Forked 28576 -(28576) found -[9927] Forked 28577 -(28577) found -[9926] Forked 28578 -(28578) found -[9925] Forked 28579 -(28579) found -[9924] Forked 28580 -(28580) found -[9923] Forked 28581 -(28581) found -[9922] Forked 28582 -(28582) found -[9921] Forked 28583 -(28583) found -[9920] Forked 28584 -(28584) found -[9919] Forked 28585 -(28585) found -[9918] Forked 28586 -(28586) found -[9917] Forked 28587 -(28587) found -[9916] Forked 28588 -(28588) found -[9915] Forked 28589 -(28589) found -[9914] Forked 28590 -(28590) found -[9913] Forked 28591 -(28591) found -[9912] Forked 28592 -(28592) found -[9911] Forked 28593 -(28593) found -[9910] Forked 28594 -(28594) found -[9909] Forked 28595 -(28595) found -[9908] Forked 28596 -(28596) found -[9907] Forked 28597 -(28597) found -[9906] Forked 28598 -(28598) found -[9905] Forked 28599 -(28599) found -[9904] Forked 28600 -(28600) found -[9903] Forked 28601 -(28601) found -[9902] Forked 28602 -(28602) found -[9901] Forked 28603 -(28603) found -[9900] Forked 28604 -(28604) found -[9899] Forked 28605 -(28605) found -[9898] Forked 28606 -(28606) found -[9897] Forked 28607 -(28607) found -[9896] Forked 28608 -(28608) found -[9895] Forked 28609 -(28609) found -[9894] Forked 28610 -(28610) found -[9893] Forked 28611 -(28611) found -[9892] Forked 28612 -(28612) found -[9891] Forked 28613 -(28613) found -[9890] Forked 28614 -(28614) found -[9889] Forked 28615 -(28615) found -[9888] Forked 28616 -(28616) found -[9887] Forked 28617 -(28617) found -[9886] Forked 28618 -(28618) found -[9885] Forked 28619 -(28619) found -[9884] Forked 28620 -(28620) found -[9883] Forked 28621 -(28621) found -[9882] Forked 28622 -(28622) found -[9881] Forked 28623 -(28623) found -[9880] Forked 28624 -(28624) found -[9879] Forked 28625 -(28625) found -[9878] Forked 28626 -(28626) found -[9877] Forked 28627 -(28627) found -[9876] Forked 28628 -(28628) found -[9875] Forked 28629 -(28629) found -[9874] Forked 28630 -(28630) found -[9873] Forked 28631 -(28631) found -[9872] Forked 28632 -(28632) found -[9871] Forked 28633 -(28633) found -[9870] Forked 28634 -(28634) found -[9869] Forked 28635 -(28635) found -[9868] Forked 28636 -(28636) found -[9867] Forked 28637 -(28637) found -[9866] Forked 28638 -(28638) found -[9865] Forked 28639 -(28639) found -[9864] Forked 28640 -(28640) found -[9863] Forked 28641 -(28641) found -[9862] Forked 28642 -(28642) found -[9861] Forked 28643 -(28643) found -[9860] Forked 28644 -(28644) found -[9859] Forked 28645 -(28645) found -[9858] Forked 28646 -(28646) found -[9857] Forked 28647 -(28647) found -[9856] Forked 28648 -(28648) found -[9855] Forked 28649 -(28649) found -[9854] Forked 28650 -(28650) found -[9853] Forked 28651 -(28651) found -[9852] Forked 28652 -(28652) found -[9851] Forked 28653 -(28653) found -[9850] Forked 28654 -(28654) found -[9849] Forked 28655 -[9848] Forked 28656 -(28655) found -(28656) found -[9847] Forked 28657 -[9846] Forked 28658 -(28657) found -(28658) found -[9845] Forked 28659 -[9844] Forked 28660 -(28659) found -(28660) found -[9843] Forked 28661 -[9842] Forked 28662 -(28661) found -(28662) found -[9841] Forked 28663 -[9840] Forked 28664 -(28663) found -(28664) found -[9839] Forked 28665 -[9838] Forked 28666 -(28665) found -(28666) found -[9837] Forked 28667 -[9836] Forked 28668 -(28667) found -(28668) found -[9835] Forked 28669 -[9834] Forked 28670 -(28669) found -(28670) found -[9833] Forked 28671 -[9832] Forked 28672 -(28671) found -(28672) found -[9831] Forked 28673 -[9830] Forked 28674 -(28673) found -(28674) found -[9829] Forked 28675 -[9828] Forked 28676 -(28675) found -(28676) found -[9827] Forked 28677 -[9826] Forked 28678 -(28677) found -(28678) found -[9825] Forked 28679 -[9824] Forked 28680 -(28679) found -(28680) found -[9823] Forked 28681 -[9822] Forked 28682 -(28681) found -(28682) found -[9821] Forked 28683 -[9820] Forked 28684 -(28683) found -(28684) found -[9819] Forked 28685 -[9818] Forked 28686 -(28685) found -(28686) found -[9817] Forked 28687 -[9816] Forked 28688 -(28687) found -(28688) found -[9815] Forked 28689 -[9814] Forked 28690 -(28689) found -(28690) found -[9813] Forked 28691 -[9812] Forked 28692 -(28691) found -(28692) found -[9811] Forked 28693 -[9810] Forked 28694 -(28693) found -(28694) found -[9809] Forked 28696 -[9808] Forked 28697 -(28696) found -(28697) found -[9807] Forked 28698 -[9806] Forked 28699 -(28698) found -(28699) found -[9805] Forked 28700 -[9804] Forked 28701 -(28700) found -(28701) found -[9803] Forked 28702 -(28702) found -[9802] Forked 28703 -(28703) found -[9801] Forked 28704 -(28704) found -[9800] Forked 28705 -(28705) found -[9799] Forked 28706 -(28706) found -[9798] Forked 28707 -(28707) found -[9797] Forked 28708 -(28708) found -[9796] Forked 28709 -(28709) found -[9795] Forked 28710 -(28710) found -[9794] Forked 28711 -(28711) found -[9793] Forked 28712 -(28712) found -[9792] Forked 28713 -(28713) found -[9791] Forked 28714 -(28714) found -[9790] Forked 28715 -(28715) found -[9789] Forked 28716 -(28716) found -[9788] Forked 28717 -(28717) found -[9787] Forked 28718 -(28718) found -[9786] Forked 28719 -(28719) found -[9785] Forked 28720 -(28720) found -[9784] Forked 28721 -(28721) found -[9783] Forked 28722 -(28722) found -[9782] Forked 28723 -(28723) found -[9781] Forked 28724 -(28724) found -[9780] Forked 28725 -(28725) found -[9779] Forked 28726 -(28726) found -[9778] Forked 28727 -(28727) found -[9777] Forked 28728 -(28728) found -[9776] Forked 28729 -(28729) found -[9775] Forked 28730 -(28730) found -[9774] Forked 28731 -(28731) found -[9773] Forked 28732 -(28732) found -[9772] Forked 28733 -(28733) found -[9771] Forked 28734 -(28734) found -[9770] Forked 28735 -(28735) found -[9769] Forked 28736 -(28736) found -[9768] Forked 28737 -[9767] Forked 28738 -(28737) found -(28738) found -[9766] Forked 28739 -[9765] Forked 28740 -(28739) found -(28740) found -[9764] Forked 28741 -[9763] Forked 28742 -(28741) found -(28742) found -[9762] Forked 28743 -[9761] Forked 28744 -(28743) found -(28744) found -[9760] Forked 28745 -[9759] Forked 28746 -(28745) found -(28746) found -[9758] Forked 28747 -[9757] Forked 28748 -(28747) found -(28748) found -[9756] Forked 28749 -[9755] Forked 28750 -(28749) found -(28750) found -[9754] Forked 28751 -[9753] Forked 28752 -(28751) found -(28752) found -[9752] Forked 28753 -[9751] Forked 28754 -(28753) found -(28754) found -[9750] Forked 28755 -[9749] Forked 28756 -(28755) found -(28756) found -[9748] Forked 28757 -[9747] Forked 28758 -(28757) found -(28758) found -[9746] Forked 28759 -[9745] Forked 28760 -(28759) found -(28760) found -[9744] Forked 28761 -[9743] Forked 28762 -(28761) found -(28762) found -[9742] Forked 28763 -[9741] Forked 28764 -(28763) found -(28764) found -[9740] Forked 28765 -[9739] Forked 28766 -(28765) found -(28766) found -[9738] Forked 28767 -[9737] Forked 28768 -(28767) found -(28768) found -[9736] Forked 28769 -[9735] Forked 28770 -(28769) found -(28770) found -[9734] Forked 28771 -[9733] Forked 28772 -(28771) found -(28772) found -[9732] Forked 28773 -[9731] Forked 28774 -(28773) found -(28774) found -[9730] Forked 28775 -[9729] Forked 28776 -(28775) found -(28776) found -[9728] Forked 28777 -[9727] Forked 28778 -(28777) found -(28778) found -[9726] Forked 28779 -[9725] Forked 28780 -(28779) found -(28780) found -[9724] Forked 28781 -[9723] Forked 28782 -(28781) found -(28782) found -[9722] Forked 28783 -(28783) found -[9721] Forked 28784 -(28784) found -[9720] Forked 28785 -(28785) found -[9719] Forked 28786 -(28786) found -[9718] Forked 28787 -(28787) found -[9717] Forked 28788 -(28788) found -[9716] Forked 28789 -(28789) found -[9715] Forked 28790 -(28790) found -[9714] Forked 28791 -(28791) found -[9713] Forked 28792 -(28792) found -[9712] Forked 28793 -(28793) found -[9711] Forked 28794 -(28794) found -[9710] Forked 28795 -(28795) found -[9709] Forked 28796 -(28796) found -[9708] Forked 28797 -(28797) found -[9707] Forked 28798 -(28798) found -[9706] Forked 28799 -(28799) found -[9705] Forked 28800 -(28800) found -[9704] Forked 28801 -(28801) found -[9703] Forked 28802 -(28802) found -[9702] Forked 28803 -(28803) found -[9701] Forked 28804 -(28804) found -[9700] Forked 28805 -(28805) found -[9699] Forked 28806 -(28806) found -[9698] Forked 28807 -(28807) found -[9697] Forked 28808 -(28808) found -[9696] Forked 28809 -(28809) found -[9695] Forked 28810 -(28810) found -[9694] Forked 28811 -(28811) found -[9693] Forked 28812 -(28812) found -[9692] Forked 28813 -(28813) found -[9691] Forked 28814 -(28814) found -[9690] Forked 28815 -(28815) found -[9689] Forked 28816 -(28816) found -[9688] Forked 28817 -[9687] Forked 28818 -(28817) found -(28818) found -[9686] Forked 28819 -[9685] Forked 28820 -(28819) found -(28820) found -[9684] Forked 28821 -[9683] Forked 28822 -(28821) found -(28822) found -[9682] Forked 28823 -[9681] Forked 28824 -(28823) found -(28824) found -[9680] Forked 28825 -[9679] Forked 28826 -(28825) found -(28826) found -[9678] Forked 28827 -[9677] Forked 28828 -(28827) found -(28828) found -[9676] Forked 28829 -[9675] Forked 28830 -(28829) found -(28830) found -[9674] Forked 28831 -[9673] Forked 28832 -(28831) found -(28832) found -[9672] Forked 28833 -[9671] Forked 28834 -(28833) found -(28834) found -[9670] Forked 28835 -[9669] Forked 28836 -(28835) found -(28836) found -[9668] Forked 28837 -[9667] Forked 28838 -(28837) found -(28838) found -[9666] Forked 28839 -[9665] Forked 28840 -(28839) found -(28840) found -[9664] Forked 28841 -[9663] Forked 28842 -(28841) found -(28842) found -[9662] Forked 28843 -[9661] Forked 28844 -(28843) found -(28844) found -[9660] Forked 28845 -[9659] Forked 28846 -(28845) found -(28846) found -[9658] Forked 28847 -[9657] Forked 28848 -(28847) found -(28848) found -[9656] Forked 28849 -[9655] Forked 28850 -(28849) found -(28850) found -[9654] Forked 28851 -[9653] Forked 28852 -(28851) found -(28852) found -[9652] Forked 28853 -[9651] Forked 28854 -(28853) found -(28854) found -[9650] Forked 28855 -[9649] Forked 28856 -(28855) found -(28856) found -[9648] Forked 28857 -[9647] Forked 28858 -(28857) found -(28858) found -[9646] Forked 28859 -[9645] Forked 28860 -(28859) found -(28860) found -[9644] Forked 28861 -[9643] Forked 28862 -(28861) found -(28862) found -[9642] Forked 28863 -(28863) found -[9641] Forked 28864 -(28864) found -[9640] Forked 28865 -(28865) found -[9639] Forked 28866 -(28866) found -[9638] Forked 28867 -(28867) found -[9637] Forked 28868 -(28868) found -[9636] Forked 28869 -(28869) found -[9635] Forked 28870 -(28870) found -[9634] Forked 28871 -(28871) found -[9633] Forked 28872 -(28872) found -[9632] Forked 28873 -(28873) found -[9631] Forked 28874 -(28874) found -[9630] Forked 28875 -(28875) found -[9629] Forked 28876 -(28876) found -[9628] Forked 28877 -(28877) found -[9627] Forked 28878 -(28878) found -[9626] Forked 28879 -(28879) found -[9625] Forked 28880 -(28880) found -[9624] Forked 28881 -(28881) found -[9623] Forked 28882 -(28882) found -[9622] Forked 28883 -(28883) found -[9621] Forked 28884 -(28884) found -[9620] Forked 28885 -(28885) found -[9619] Forked 28886 -(28886) found -[9618] Forked 28887 -(28887) found -[9617] Forked 28888 -(28888) found -[9616] Forked 28889 -(28889) found -[9615] Forked 28890 -(28890) found -[9614] Forked 28891 -(28891) found -[9613] Forked 28892 -(28892) found -[9612] Forked 28893 -(28893) found -[9611] Forked 28894 -(28894) found -[9610] Forked 28895 -(28895) found -[9609] Forked 28896 -(28896) found -[9608] Forked 28897 -(28897) found -[9607] Forked 28898 -[9606] Forked 28899 -(28898) found -(28899) found -[9605] Forked 28900 -[9604] Forked 28901 -(28900) found -(28901) found -[9603] Forked 28902 -[9602] Forked 28903 -(28902) found -(28903) found -[9601] Forked 28904 -[9600] Forked 28905 -(28904) found -(28905) found -[9599] Forked 28906 -[9598] Forked 28907 -(28906) found -(28907) found -[9597] Forked 28908 -[9596] Forked 28909 -(28908) found -(28909) found -[9595] Forked 28910 -[9594] Forked 28911 -(28910) found -(28911) found -[9593] Forked 28912 -[9592] Forked 28913 -(28912) found -(28913) found -[9591] Forked 28914 -[9590] Forked 28915 -(28914) found -(28915) found -[9589] Forked 28916 -[9588] Forked 28917 -(28916) found -(28917) found -[9587] Forked 28918 -[9586] Forked 28919 -(28918) found -(28919) found -[9585] Forked 28920 -[9584] Forked 28921 -(28920) found -(28921) found -[9583] Forked 28922 -[9582] Forked 28923 -(28922) found -(28923) found -[9581] Forked 28924 -[9580] Forked 28925 -(28924) found -(28925) found -[9579] Forked 28926 -[9578] Forked 28927 -(28926) found -(28927) found -[9577] Forked 28928 -[9576] Forked 28929 -(28928) found -(28929) found -[9575] Forked 28930 -[9574] Forked 28931 -(28930) found -(28931) found -[9573] Forked 28932 -[9572] Forked 28933 -(28932) found -(28933) found -[9571] Forked 28934 -[9570] Forked 28935 -(28934) found -(28935) found -[9569] Forked 28936 -[9568] Forked 28937 -(28936) found -(28937) found -[9567] Forked 28938 -[9566] Forked 28939 -(28938) found -(28939) found -[9565] Forked 28940 -[9564] Forked 28941 -(28940) found -(28941) found -[9563] Forked 28942 -[9562] Forked 28943 -(28942) found -(28943) found -[9561] Forked 28944 -[9560] Forked 28945 -(28944) found -(28945) found -[9559] Forked 28946 -[9558] Forked 28947 -(28946) found -(28947) found -[9557] Forked 28948 -[9556] Forked 28949 -(28948) found -(28949) found -[9555] Forked 28950 -[9554] Forked 28951 -(28950) found -(28951) found -[9553] Forked 28952 -[9552] Forked 28953 -(28952) found -(28953) found -[9551] Forked 28954 -[9550] Forked 28955 -(28954) found -(28955) found -[9549] Forked 28956 -[9548] Forked 28957 -(28956) found -(28957) found -[9547] Forked 28958 -[9546] Forked 28959 -(28958) found -(28959) found -[9545] Forked 28960 -[9544] Forked 28961 -(28960) found -(28961) found -[9543] Forked 28962 -[9542] Forked 28963 -(28962) found -(28963) found -[9541] Forked 28964 -[9540] Forked 28965 -(28964) found -(28965) found -[9539] Forked 28966 -[9538] Forked 28967 -(28966) found -(28967) found -[9537] Forked 28968 -[9536] Forked 28969 -(28968) found -(28969) found -[9535] Forked 28970 -[9534] Forked 28971 -(28970) found -(28971) found -[9533] Forked 28972 -[9532] Forked 28973 -(28972) found -(28973) found -[9531] Forked 28974 -[9530] Forked 28975 -(28974) found -(28975) found -[9529] Forked 28976 -[9528] Forked 28977 -(28976) found -(28977) found -[9527] Forked 28978 -[9526] Forked 28979 -(28978) found -(28979) found -[9525] Forked 28980 -[9524] Forked 28981 -(28980) found -(28981) found -[9523] Forked 28982 -[9522] Forked 28983 -(28982) found -(28983) found -[9521] Forked 28984 -[9520] Forked 28985 -(28984) found -(28985) found -[9519] Forked 28986 -[9518] Forked 28987 -(28986) found -(28987) found -[9517] Forked 28988 -(28988) found -[9516] Forked 28989 -(28989) found -[9515] Forked 28990 -(28990) found -[9514] Forked 28991 -(28991) found -[9513] Forked 28992 -(28992) found -[9512] Forked 28993 -(28993) found -[9511] Forked 28994 -(28994) found -[9510] Forked 28995 -(28995) found -[9509] Forked 28996 -(28996) found -[9508] Forked 28997 -(28997) found -[9507] Forked 28998 -(28998) found -[9506] Forked 28999 -(28999) found -[9505] Forked 29000 -(29000) found -[9504] Forked 29001 -(29001) found -[9503] Forked 29002 -(29002) found -[9502] Forked 29003 -(29003) found -[9501] Forked 29004 -(29004) found -[9500] Forked 29005 -(29005) found -[9499] Forked 29006 -(29006) found -[9498] Forked 29007 -(29007) found -[9497] Forked 29008 -(29008) found -[9496] Forked 29009 -(29009) found -[9495] Forked 29010 -(29010) found -[9494] Forked 29011 -(29011) found -[9493] Forked 29012 -(29012) found -[9492] Forked 29013 -(29013) found -[9491] Forked 29014 -(29014) found -[9490] Forked 29015 -(29015) found -[9489] Forked 29016 -(29016) found -[9488] Forked 29017 -(29017) found -[9487] Forked 29018 -(29018) found -[9486] Forked 29019 -(29019) found -[9485] Forked 29020 -(29020) found -[9484] Forked 29021 -(29021) found -[9483] Forked 29022 -(29022) found -[9482] Forked 29023 -(29023) found -[9481] Forked 29024 -[9480] Forked 29025 -(29024) found -(29025) found -[9479] Forked 29026 -[9478] Forked 29027 -(29026) found -(29027) found -[9477] Forked 29028 -[9476] Forked 29029 -(29028) found -(29029) found -[9475] Forked 29030 -(29030) found -[9474] Forked 29031 -[9473] Forked 29032 -(29031) found -(29032) found -[9472] Forked 29033 -[9471] Forked 29034 -(29033) found -(29034) found -[9470] Forked 29035 -[9469] Forked 29036 -(29035) found -(29036) found -[9468] Forked 29037 -[9467] Forked 29038 -(29037) found -(29038) found -[9466] Forked 29039 -[9465] Forked 29040 -(29039) found -(29040) found -[9464] Forked 29041 -[9463] Forked 29042 -(29041) found -(29042) found -[9462] Forked 29043 -[9461] Forked 29044 -(29043) found -(29044) found -[9460] Forked 29045 -[9459] Forked 29046 -(29045) found -(29046) found -[9458] Forked 29047 -[9457] Forked 29048 -(29047) found -(29048) found -[9456] Forked 29049 -[9455] Forked 29050 -(29049) found -(29050) found -[9454] Forked 29051 -[9453] Forked 29052 -(29051) found -(29052) found -[9452] Forked 29053 -[9451] Forked 29054 -(29053) found -(29054) found -[9450] Forked 29055 -[9449] Forked 29056 -(29055) found -(29056) found -[9448] Forked 29057 -[9447] Forked 29058 -(29057) found -(29058) found -[9446] Forked 29059 -[9445] Forked 29060 -(29059) found -(29060) found -[9444] Forked 29061 -[9443] Forked 29062 -(29061) found -(29062) found -[9442] Forked 29063 -[9441] Forked 29064 -(29063) found -(29064) found -[9440] Forked 29065 -[9439] Forked 29066 -(29065) found -(29066) found -[9438] Forked 29067 -(29067) found -[9437] Forked 29068 -(29068) found -[9436] Forked 29069 -(29069) found -[9435] Forked 29070 -(29070) found -[9434] Forked 29071 -(29071) found -[9433] Forked 29072 -(29072) found -[9432] Forked 29073 -(29073) found -[9431] Forked 29074 -(29074) found -[9430] Forked 29075 -(29075) found -[9429] Forked 29076 -(29076) found -[9428] Forked 29077 -(29077) found -[9427] Forked 29078 -(29078) found -[9426] Forked 29079 -(29079) found -[9425] Forked 29080 -(29080) found -[9424] Forked 29081 -(29081) found -[9423] Forked 29082 -(29082) found -[9422] Forked 29083 -(29083) found -[9421] Forked 29084 -(29084) found -[9420] Forked 29085 -(29085) found -[9419] Forked 29086 -(29086) found -[9418] Forked 29087 -(29087) found -[9417] Forked 29088 -(29088) found -[9416] Forked 29089 -(29089) found -[9415] Forked 29090 -(29090) found -[9414] Forked 29091 -(29091) found -[9413] Forked 29092 -(29092) found -[9412] Forked 29093 -(29093) found -[9411] Forked 29094 -(29094) found -[9410] Forked 29095 -(29095) found -[9409] Forked 29096 -(29096) found -[9408] Forked 29097 -(29097) found -[9407] Forked 29098 -(29098) found -[9406] Forked 29099 -(29099) found -[9405] Forked 29100 -(29100) found -[9404] Forked 29101 -(29101) found -[9403] Forked 29102 -(29102) found -[9402] Forked 29103 -[9401] Forked 29104 -(29103) found -(29104) found -[9400] Forked 29105 -[9399] Forked 29106 -(29105) found -(29106) found -[9398] Forked 29107 -(29107) found -[9397] Forked 29108 -[9396] Forked 29109 -(29108) found -(29109) found -[9395] Forked 29110 -[9394] Forked 29111 -(29110) found -(29111) found -[9393] Forked 29112 -[9392] Forked 29113 -(29112) found -(29113) found -[9391] Forked 29114 -[9390] Forked 29115 -(29114) found -(29115) found -[9389] Forked 29116 -[9388] Forked 29117 -(29116) found -(29117) found -[9387] Forked 29118 -[9386] Forked 29119 -(29118) found -(29119) found -[9385] Forked 29120 -[9384] Forked 29121 -(29120) found -(29121) found -[9383] Forked 29122 -[9382] Forked 29123 -(29122) found -(29123) found -[9381] Forked 29124 -[9380] Forked 29125 -(29124) found -(29125) found -[9379] Forked 29126 -[9378] Forked 29127 -(29126) found -(29127) found -[9377] Forked 29128 -[9376] Forked 29129 -(29128) found -(29129) found -[9375] Forked 29130 -[9374] Forked 29131 -(29130) found -(29131) found -[9373] Forked 29132 -[9372] Forked 29133 -(29132) found -(29133) found -[9371] Forked 29134 -[9370] Forked 29135 -(29134) found -(29135) found -[9369] Forked 29136 -[9368] Forked 29137 -(29136) found -(29137) found -[9367] Forked 29138 -[9366] Forked 29139 -(29138) found -(29139) found -[9365] Forked 29140 -[9364] Forked 29141 -(29140) found -(29141) found -[9363] Forked 29142 -[9362] Forked 29143 -(29142) found -(29143) found -[9361] Forked 29144 -[9360] Forked 29145 -(29144) found -(29145) found -[9359] Forked 29146 -[9358] Forked 29147 -(29146) found -(29147) found -[9357] Forked 29148 -[9356] Forked 29149 -(29148) found -(29149) found -[9355] Forked 29150 -[9354] Forked 29151 -(29150) found -(29151) found -[9353] Forked 29152 -[9352] Forked 29153 -(29152) found -(29153) found -[9351] Forked 29154 -[9350] Forked 29155 -(29154) found -(29155) found -[9349] Forked 29156 -[9348] Forked 29157 -(29156) found -(29157) found -[9347] Forked 29158 -[9346] Forked 29159 -(29158) found -(29159) found -[9345] Forked 29160 -[9344] Forked 29161 -(29160) found -(29161) found -[9343] Forked 29162 -[9342] Forked 29163 -(29162) found -(29163) found -[9341] Forked 29164 -[9340] Forked 29165 -(29164) found -(29165) found -[9339] Forked 29166 -[9338] Forked 29167 -(29166) found -(29167) found -[9337] Forked 29168 -[9336] Forked 29169 -(29168) found -(29169) found -[9335] Forked 29170 -[9334] Forked 29171 -(29170) found -(29171) found -[9333] Forked 29172 -[9332] Forked 29173 -(29172) found -(29173) found -[9331] Forked 29174 -[9330] Forked 29176 -(29174) found -(29176) found -[9329] Forked 29177 -(29177) found -[9328] Forked 29178 -(29178) found -[9327] Forked 29179 -(29179) found -[9326] Forked 29180 -(29180) found -[9325] Forked 29181 -(29181) found -[9324] Forked 29182 -(29182) found -[9323] Forked 29183 -(29183) found -[9322] Forked 29184 -(29184) found -[9321] Forked 29185 -(29185) found -[9320] Forked 29186 -(29186) found -[9319] Forked 29187 -(29187) found -[9318] Forked 29188 -(29188) found -[9317] Forked 29189 -(29189) found -[9316] Forked 29190 -(29190) found -[9315] Forked 29191 -(29191) found -[9314] Forked 29192 -(29192) found -[9313] Forked 29193 -(29193) found -[9312] Forked 29194 -(29194) found -[9311] Forked 29195 -(29195) found -[9310] Forked 29196 -(29196) found -[9309] Forked 29197 -(29197) found -[9308] Forked 29198 -(29198) found -[9307] Forked 29199 -(29199) found -[9306] Forked 29200 -(29200) found -[9305] Forked 29201 -(29201) found -[9304] Forked 29202 -(29202) found -[9303] Forked 29203 -(29203) found -[9302] Forked 29204 -(29204) found -[9301] Forked 29205 -(29205) found -[9300] Forked 29206 -(29206) found -[9299] Forked 29207 -(29207) found -[9298] Forked 29208 -(29208) found -[9297] Forked 29209 -(29209) found -[9296] Forked 29210 -(29210) found -[9295] Forked 29211 -(29211) found -[9294] Forked 29212 -(29212) found -[9293] Forked 29213 -(29213) found -[9292] Forked 29214 -(29214) found -[9291] Forked 29215 -(29215) found -[9290] Forked 29216 -(29216) found -[9289] Forked 29217 -(29217) found -[9288] Forked 29218 -(29218) found -[9287] Forked 29219 -(29219) found -[9286] Forked 29220 -(29220) found -[9285] Forked 29221 -(29221) found -[9284] Forked 29222 -(29222) found -[9283] Forked 29223 -(29223) found -[9282] Forked 29224 -(29224) found -[9281] Forked 29225 -(29225) found -[9280] Forked 29226 -[9279] Forked 29227 -(29226) found -(29227) found -[9278] Forked 29228 -[9277] Forked 29229 -(29228) found -(29229) found -[9276] Forked 29230 -[9275] Forked 29231 -(29230) found -(29231) found -[9274] Forked 29232 -[9273] Forked 29233 -(29232) found -(29233) found -[9272] Forked 29234 -[9271] Forked 29235 -(29234) found -(29235) found -[9270] Forked 29236 -[9269] Forked 29237 -(29236) found -(29237) found -[9268] Forked 29238 -[9267] Forked 29239 -(29238) found -(29239) found -[9266] Forked 29240 -[9265] Forked 29241 -(29240) found -(29241) found -[9264] Forked 29242 -[9263] Forked 29243 -(29242) found -(29243) found -[9262] Forked 29244 -[9261] Forked 29245 -(29244) found -(29245) found -[9260] Forked 29246 -[9259] Forked 29247 -(29246) found -(29247) found -[9258] Forked 29248 -[9257] Forked 29249 -(29248) found -(29249) found -[9256] Forked 29250 -[9255] Forked 29251 -(29250) found -(29251) found -[9254] Forked 29252 -[9253] Forked 29253 -(29252) found -(29253) found -[9252] Forked 29254 -[9251] Forked 29255 -(29254) found -(29255) found -[9250] Forked 29256 -[9249] Forked 29257 -(29256) found -(29257) found -[9248] Forked 29258 -[9247] Forked 29259 -(29258) found -(29259) found -[9246] Forked 29260 -[9245] Forked 29261 -(29260) found -(29261) found -[9244] Forked 29262 -[9243] Forked 29263 -(29262) found -(29263) found -[9242] Forked 29264 -[9241] Forked 29265 -(29264) found -(29265) found -[9240] Forked 29266 -[9239] Forked 29267 -(29266) found -(29267) found -[9238] Forked 29268 -[9237] Forked 29269 -(29268) found -(29269) found -[9236] Forked 29270 -[9235] Forked 29271 -(29270) found -(29271) found -[9234] Forked 29272 -(29272) found -[9233] Forked 29273 -(29273) found -[9232] Forked 29274 -(29274) found -[9231] Forked 29275 -(29275) found -[9230] Forked 29276 -(29276) found -[9229] Forked 29277 -(29277) found -[9228] Forked 29278 -(29278) found -[9227] Forked 29279 -(29279) found -[9226] Forked 29280 -(29280) found -[9225] Forked 29281 -(29281) found -[9224] Forked 29282 -(29282) found -[9223] Forked 29283 -(29283) found -[9222] Forked 29284 -(29284) found -[9221] Forked 29285 -(29285) found -[9220] Forked 29286 -(29286) found -[9219] Forked 29287 -(29287) found -[9218] Forked 29288 -(29288) found -[9217] Forked 29289 -(29289) found -[9216] Forked 29290 -(29290) found -[9215] Forked 29291 -(29291) found -[9214] Forked 29292 -(29292) found -[9213] Forked 29293 -(29293) found -[9212] Forked 29294 -(29294) found -[9211] Forked 29295 -(29295) found -[9210] Forked 29296 -(29296) found -[9209] Forked 29297 -(29297) found -[9208] Forked 29298 -(29298) found -[9207] Forked 29299 -(29299) found -[9206] Forked 29300 -(29300) found -[9205] Forked 29301 -(29301) found -[9204] Forked 29302 -(29302) found -[9203] Forked 29303 -(29303) found -[9202] Forked 29304 -(29304) found -[9201] Forked 29305 -(29305) found -[9200] Forked 29306 -[9199] Forked 29307 -(29306) found -(29307) found -[9198] Forked 29308 -[9197] Forked 29309 -(29308) found -(29309) found -[9196] Forked 29310 -[9195] Forked 29311 -(29310) found -(29311) found -[9194] Forked 29312 -[9193] Forked 29313 -(29312) found -(29313) found -[9192] Forked 29314 -[9191] Forked 29315 -(29314) found -(29315) found -[9190] Forked 29316 -[9189] Forked 29317 -(29316) found -(29317) found -[9188] Forked 29318 -[9187] Forked 29319 -(29318) found -(29319) found -[9186] Forked 29320 -[9185] Forked 29321 -(29320) found -(29321) found -[9184] Forked 29322 -[9183] Forked 29323 -(29322) found -(29323) found -[9182] Forked 29324 -[9181] Forked 29325 -(29324) found -(29325) found -[9180] Forked 29326 -[9179] Forked 29327 -(29326) found -(29327) found -[9178] Forked 29328 -[9177] Forked 29329 -(29328) found -(29329) found -[9176] Forked 29330 -[9175] Forked 29331 -(29330) found -(29331) found -[9174] Forked 29332 -[9173] Forked 29333 -(29332) found -(29333) found -[9172] Forked 29334 -[9171] Forked 29335 -(29334) found -(29335) found -[9170] Forked 29336 -[9169] Forked 29337 -(29336) found -(29337) found -[9168] Forked 29338 -[9167] Forked 29339 -(29338) found -(29339) found -[9166] Forked 29340 -[9165] Forked 29341 -(29340) found -(29341) found -[9164] Forked 29342 -[9163] Forked 29343 -(29342) found -(29343) found -[9162] Forked 29344 -[9161] Forked 29345 -(29344) found -(29345) found -[9160] Forked 29346 -[9159] Forked 29347 -(29346) found -(29347) found -[9158] Forked 29348 -[9157] Forked 29349 -(29348) found -(29349) found -[9156] Forked 29350 -[9155] Forked 29351 -(29350) found -(29351) found -[9154] Forked 29352 -[9153] Forked 29353 -(29352) found -(29353) found -[9152] Forked 29354 -[9151] Forked 29355 -(29354) found -(29355) found -[9150] Forked 29356 -[9149] Forked 29357 -(29356) found -(29357) found -[9148] Forked 29358 -[9147] Forked 29359 -(29358) found -(29359) found -[9146] Forked 29360 -[9145] Forked 29361 -(29360) found -(29361) found -[9144] Forked 29362 -[9143] Forked 29363 -(29362) found -(29363) found -[9142] Forked 29364 -[9141] Forked 29365 -(29364) found -(29365) found -[9140] Forked 29366 -[9139] Forked 29367 -(29366) found -(29367) found -[9138] Forked 29368 -[9137] Forked 29369 -(29368) found -(29369) found -[9136] Forked 29370 -[9135] Forked 29371 -(29370) found -(29371) found -[9134] Forked 29372 -[9133] Forked 29373 -(29372) found -(29373) found -[9132] Forked 29374 -[9131] Forked 29375 -(29374) found -(29375) found -[9130] Forked 29376 -[9129] Forked 29377 -(29376) found -(29377) found -[9128] Forked 29378 -[9127] Forked 29379 -(29378) found -(29379) found -[9126] Forked 29380 -[9125] Forked 29381 -(29380) found -(29381) found -[9124] Forked 29382 -[9123] Forked 29383 -(29382) found -(29383) found -[9122] Forked 29384 -[9121] Forked 29385 -(29384) found -(29385) found -[9120] Forked 29386 -[9119] Forked 29387 -(29386) found -(29387) found -[9118] Forked 29388 -[9117] Forked 29389 -(29388) found -(29389) found -[9116] Forked 29390 -[9115] Forked 29391 -(29390) found -(29391) found -[9114] Forked 29392 -[9113] Forked 29393 -(29392) found -(29393) found -[9112] Forked 29394 -[9111] Forked 29395 -(29394) found -(29395) found -[9110] Forked 29396 -(29396) found -[9109] Forked 29397 -(29397) found -[9108] Forked 29398 -(29398) found -[9107] Forked 29399 -(29399) found -[9106] Forked 29400 -(29400) found -[9105] Forked 29401 -(29401) found -[9104] Forked 29402 -(29402) found -[9103] Forked 29403 -(29403) found -[9102] Forked 29404 -(29404) found -[9101] Forked 29405 -(29405) found -[9100] Forked 29406 -(29406) found -[9099] Forked 29407 -(29407) found -[9098] Forked 29408 -(29408) found -[9097] Forked 29409 -(29409) found -[9096] Forked 29410 -(29410) found -[9095] Forked 29411 -(29411) found -[9094] Forked 29412 -(29412) found -[9093] Forked 29413 -(29413) found -[9092] Forked 29414 -(29414) found -[9091] Forked 29415 -(29415) found -[9090] Forked 29416 -(29416) found -[9089] Forked 29417 -(29417) found -[9088] Forked 29418 -(29418) found -[9087] Forked 29419 -(29419) found -[9086] Forked 29420 -(29420) found -[9085] Forked 29421 -(29421) found -[9084] Forked 29422 -(29422) found -[9083] Forked 29423 -(29423) found -[9082] Forked 29424 -(29424) found -[9081] Forked 29425 -(29425) found -[9080] Forked 29426 -(29426) found -[9079] Forked 29427 -(29427) found -[9078] Forked 29428 -(29428) found -[9077] Forked 29429 -(29429) found -[9076] Forked 29430 -(29430) found -[9075] Forked 29431 -(29431) found -[9074] Forked 29432 -[9073] Forked 29433 -(29432) found -(29433) found -[9072] Forked 29434 -[9071] Forked 29435 -(29434) found -(29435) found -[9070] Forked 29436 -(29436) found -[9069] Forked 29437 -[9068] Forked 29438 -(29437) found -(29438) found -[9067] Forked 29439 -[9066] Forked 29440 -(29439) found -(29440) found -[9065] Forked 29441 -[9064] Forked 29442 -(29441) found -(29442) found -[9063] Forked 29443 -[9062] Forked 29444 -(29443) found -(29444) found -[9061] Forked 29445 -[9060] Forked 29446 -(29445) found -(29446) found -[9059] Forked 29447 -[9058] Forked 29448 -(29447) found -(29448) found -[9057] Forked 29449 -[9056] Forked 29450 -(29449) found -(29450) found -[9055] Forked 29451 -[9054] Forked 29452 -(29451) found -(29452) found -[9053] Forked 29453 -[9052] Forked 29454 -(29453) found -(29454) found -[9051] Forked 29455 -[9050] Forked 29456 -(29455) found -(29456) found -[9049] Forked 29457 -[9048] Forked 29458 -(29457) found -(29458) found -[9047] Forked 29459 -[9046] Forked 29460 -(29459) found -(29460) found -[9045] Forked 29461 -[9044] Forked 29462 -(29461) found -(29462) found -[9043] Forked 29463 -[9042] Forked 29464 -(29463) found -(29464) found -[9041] Forked 29465 -[9040] Forked 29466 -(29465) found -(29466) found -[9039] Forked 29467 -[9038] Forked 29468 -(29467) found -(29468) found -[9037] Forked 29469 -[9036] Forked 29470 -(29469) found -(29470) found -[9035] Forked 29471 -[9034] Forked 29472 -(29471) found -(29472) found -[9033] Forked 29473 -[9032] Forked 29474 -(29473) found -(29474) found -[9031] Forked 29475 -[9030] Forked 29476 -(29475) found -(29476) found -[9029] Forked 29477 -[9028] Forked 29478 -(29477) found -(29478) found -[9027] Forked 29479 -[9026] Forked 29480 -(29479) found -(29480) found -[9025] Forked 29481 -[9024] Forked 29482 -(29481) found -(29482) found -[9023] Forked 29483 -[9022] Forked 29484 -(29483) found -(29484) found -[9021] Forked 29485 -[9020] Forked 29486 -(29485) found -(29486) found -[9019] Forked 29487 -[9018] Forked 29488 -(29487) found -(29488) found -[9017] Forked 29489 -[9016] Forked 29490 -(29489) found -(29490) found -[9015] Forked 29491 -[9014] Forked 29492 -(29491) found -(29492) found -[9013] Forked 29493 -[9012] Forked 29494 -(29493) found -(29494) found -[9011] Forked 29495 -[9010] Forked 29496 -(29495) found -(29496) found -[9009] Forked 29497 -[9008] Forked 29498 -(29497) found -(29498) found -[9007] Forked 29499 -[9006] Forked 29500 -(29499) found -(29500) found -[9005] Forked 29501 -[9004] Forked 29502 -(29501) found -(29502) found -[9003] Forked 29503 -[9002] Forked 29504 -(29503) found -(29504) found -[9001] Forked 29505 -[9000] Forked 29506 -(29505) found -(29506) found -[8999] Forked 29507 -[8998] Forked 29508 -(29507) found -(29508) found -[8997] Forked 29509 -[8996] Forked 29510 -(29509) found -(29510) found -[8995] Forked 29511 -[8994] Forked 29512 -(29511) found -(29512) found -[8993] Forked 29513 -[8992] Forked 29514 -(29513) found -(29514) found -[8991] Forked 29515 -[8990] Forked 29516 -(29515) found -(29516) found -[8989] Forked 29517 -[8988] Forked 29518 -(29517) found -(29518) found -[8987] Forked 29519 -[8986] Forked 29520 -(29519) found -(29520) found -[8985] Forked 29521 -[8984] Forked 29522 -(29521) found -(29522) found -[8983] Forked 29523 -[8982] Forked 29524 -(29523) found -(29524) found -[8981] Forked 29525 -[8980] Forked 29526 -(29525) found -(29526) found -[8979] Forked 29527 -[8978] Forked 29528 -(29527) found -(29528) found -[8977] Forked 29529 -[8976] Forked 29530 -(29529) found -(29530) found -[8975] Forked 29531 -[8974] Forked 29532 -(29531) found -(29532) found -[8973] Forked 29533 -[8972] Forked 29534 -(29533) found -(29534) found -[8971] Forked 29535 -[8970] Forked 29536 -(29535) found -(29536) found -[8969] Forked 29537 -[8968] Forked 29538 -(29537) found -(29538) found -[8967] Forked 29539 -[8966] Forked 29540 -(29539) found -(29540) found -[8965] Forked 29541 -[8964] Forked 29542 -(29541) found -(29542) found -[8963] Forked 29543 -[8962] Forked 29544 -(29543) found -(29544) found -[8961] Forked 29545 -[8960] Forked 29546 -(29545) found -(29546) found -[8959] Forked 29547 -(29547) found -[8958] Forked 29548 -(29548) found -[8957] Forked 29549 -[8956] Forked 29550 -(29549) found -(29550) found -[8955] Forked 29551 -[8954] Forked 29552 -(29551) found -(29552) found -[8953] Forked 29553 -[8952] Forked 29554 -(29553) found -(29554) found -[8951] Forked 29555 -[8950] Forked 29556 -(29555) found -(29556) found -[8949] Forked 29557 -[8948] Forked 29558 -(29557) found -(29558) found -[8947] Forked 29559 -[8946] Forked 29560 -(29559) found -(29560) found -[8945] Forked 29561 -[8944] Forked 29562 -(29561) found -(29562) found -[8943] Forked 29563 -[8942] Forked 29564 -(29563) found -(29564) found -[8941] Forked 29565 -(29565) found -[8940] Forked 29566 -(29566) found -[8939] Forked 29567 -(29567) found -[8938] Forked 29568 -(29568) found -[8937] Forked 29569 -(29569) found -[8936] Forked 29570 -(29570) found -[8935] Forked 29571 -(29571) found -[8934] Forked 29572 -(29572) found -[8933] Forked 29573 -(29573) found -[8932] Forked 29574 -(29574) found -[8931] Forked 29575 -(29575) found -[8930] Forked 29576 -(29576) found -[8929] Forked 29577 -(29577) found -[8928] Forked 29578 -(29578) found -[8927] Forked 29579 -(29579) found -[8926] Forked 29580 -(29580) found -[8925] Forked 29581 -(29581) found -[8924] Forked 29582 -(29582) found -[8923] Forked 29583 -(29583) found -[8922] Forked 29584 -(29584) found -[8921] Forked 29585 -(29585) found -[8920] Forked 29586 -(29586) found -[8919] Forked 29587 -(29587) found -[8918] Forked 29588 -(29588) found -[8917] Forked 29589 -(29589) found -[8916] Forked 29590 -(29590) found -[8915] Forked 29591 -(29591) found -[8914] Forked 29592 -(29592) found -[8913] Forked 29593 -(29593) found -[8912] Forked 29594 -(29594) found -[8911] Forked 29595 -(29595) found -[8910] Forked 29596 -(29596) found -[8909] Forked 29597 -(29597) found -[8908] Forked 29598 -(29598) found -[8907] Forked 29599 -(29599) found -[8906] Forked 29600 -(29600) found -[8905] Forked 29601 -(29601) found -[8904] Forked 29602 -(29602) found -[8903] Forked 29603 -(29603) found -[8902] Forked 29604 -(29604) found -[8901] Forked 29605 -(29605) found -[8900] Forked 29606 -(29606) found -[8899] Forked 29607 -(29607) found -[8898] Forked 29608 -(29608) found -[8897] Forked 29609 -(29609) found -[8896] Forked 29610 -(29610) found -[8895] Forked 29611 -(29611) found -[8894] Forked 29612 -(29612) found -[8893] Forked 29613 -(29613) found -[8892] Forked 29614 -(29614) found -[8891] Forked 29615 -(29615) found -[8890] Forked 29616 -(29616) found -[8889] Forked 29617 -(29617) found -[8888] Forked 29618 -(29618) found -[8887] Forked 29619 -(29619) found -[8886] Forked 29620 -(29620) found -[8885] Forked 29621 -(29621) found -[8884] Forked 29622 -(29622) found -[8883] Forked 29623 -(29623) found -[8882] Forked 29624 -(29624) found -[8881] Forked 29625 -(29625) found -[8880] Forked 29626 -(29626) found -[8879] Forked 29627 -(29627) found -[8878] Forked 29628 -(29628) found -[8877] Forked 29629 -(29629) found -[8876] Forked 29630 -(29630) found -[8875] Forked 29631 -(29631) found -[8874] Forked 29632 -(29632) found -[8873] Forked 29633 -(29633) found -[8872] Forked 29634 -(29634) found -[8871] Forked 29635 -(29635) found -[8870] Forked 29636 -(29636) found -[8869] Forked 29637 -[8868] Forked 29638 -(29637) found -(29638) found -[8867] Forked 29639 -[8866] Forked 29640 -(29639) found -(29640) found -[8865] Forked 29641 -[8864] Forked 29642 -(29641) found -(29642) found -[8863] Forked 29643 -[8862] Forked 29644 -(29643) found -(29644) found -[8861] Forked 29645 -[8860] Forked 29646 -(29645) found -(29646) found -[8859] Forked 29647 -[8858] Forked 29648 -(29647) found -(29648) found -[8857] Forked 29649 -[8856] Forked 29650 -(29649) found -(29650) found -[8855] Forked 29651 -[8854] Forked 29652 -(29651) found -(29652) found -[8853] Forked 29653 -[8852] Forked 29654 -(29653) found -(29654) found -[8851] Forked 29655 -[8850] Forked 29656 -(29655) found -(29656) found -[8849] Forked 29657 -[8848] Forked 29659 -(29657) found -(29659) found -[8847] Forked 29660 -(29660) found -[8846] Forked 29661 -(29661) found -[8845] Forked 29662 -(29662) found -[8844] Forked 29663 -(29663) found -[8843] Forked 29664 -(29664) found -[8842] Forked 29665 -(29665) found -[8841] Forked 29666 -(29666) found -[8840] Forked 29667 -(29667) found -[8839] Forked 29668 -(29668) found -[8838] Forked 29669 -(29669) found -[8837] Forked 29670 -(29670) found -[8836] Forked 29671 -(29671) found -[8835] Forked 29672 -(29672) found -[8834] Forked 29673 -(29673) found -[8833] Forked 29674 -(29674) found -[8832] Forked 29675 -(29675) found -[8831] Forked 29676 -(29676) found -[8830] Forked 29677 -(29677) found -[8829] Forked 29678 -(29678) found -[8828] Forked 29679 -(29679) found -[8827] Forked 29680 -(29680) found -[8826] Forked 29681 -(29681) found -[8825] Forked 29682 -(29682) found -[8824] Forked 29683 -(29683) found -[8823] Forked 29684 -(29684) found -[8822] Forked 29685 -(29685) found -[8821] Forked 29686 -(29686) found -[8820] Forked 29687 -(29687) found -[8819] Forked 29688 -(29688) found -[8818] Forked 29689 -(29689) found -[8817] Forked 29690 -(29690) found -[8816] Forked 29691 -(29691) found -[8815] Forked 29692 -(29692) found -[8814] Forked 29693 -(29693) found -[8813] Forked 29694 -(29694) found -[8812] Forked 29695 -(29695) found -[8811] Forked 29696 -(29696) found -[8810] Forked 29697 -(29697) found -[8809] Forked 29698 -(29698) found -[8808] Forked 29699 -(29699) found -[8807] Forked 29700 -(29700) found -[8806] Forked 29701 -(29701) found -[8805] Forked 29702 -(29702) found -[8804] Forked 29703 -(29703) found -[8803] Forked 29704 -(29704) found -[8802] Forked 29705 -(29705) found -[8801] Forked 29706 -(29706) found -[8800] Forked 29707 -(29707) found -[8799] Forked 29708 -(29708) found -[8798] Forked 29709 -(29709) found -[8797] Forked 29710 -(29710) found -[8796] Forked 29711 -(29711) found -[8795] Forked 29712 -(29712) found -[8794] Forked 29713 -(29713) found -[8793] Forked 29714 -(29714) found -[8792] Forked 29715 -(29715) found -[8791] Forked 29716 -(29716) found -[8790] Forked 29717 -(29717) found -[8789] Forked 29718 -(29718) found -[8788] Forked 29719 -(29719) found -[8787] Forked 29720 -(29720) found -[8786] Forked 29721 -(29721) found -[8785] Forked 29722 -(29722) found -[8784] Forked 29723 -(29723) found -[8783] Forked 29724 -(29724) found -[8782] Forked 29725 -(29725) found -[8781] Forked 29726 -(29726) found -[8780] Forked 29727 -(29727) found -[8779] Forked 29728 -(29728) found -[8778] Forked 29729 -(29729) found -[8777] Forked 29730 -(29730) found -[8776] Forked 29731 -(29731) found -[8775] Forked 29732 -(29732) found -[8774] Forked 29733 -(29733) found -[8773] Forked 29734 -(29734) found -[8772] Forked 29735 -(29735) found -[8771] Forked 29736 -(29736) found -[8770] Forked 29737 -(29737) found -[8769] Forked 29738 -(29738) found -[8768] Forked 29739 -(29739) found -[8767] Forked 29740 -(29740) found -[8766] Forked 29741 -(29741) found -[8765] Forked 29742 -(29742) found -[8764] Forked 29743 -(29743) found -[8763] Forked 29744 -(29744) found -[8762] Forked 29745 -(29745) found -[8761] Forked 29746 -(29746) found -[8760] Forked 29747 -(29747) found -[8759] Forked 29748 -(29748) found -[8758] Forked 29749 -[8757] Forked 29750 -(29749) found -(29750) found -[8756] Forked 29751 -[8755] Forked 29752 -(29751) found -(29752) found -[8754] Forked 29753 -[8753] Forked 29755 -(29753) found -(29755) found -[8752] Forked 29756 -(29756) found -[8751] Forked 29757 -(29757) found -[8750] Forked 29758 -(29758) found -[8749] Forked 29759 -(29759) found -[8748] Forked 29760 -(29760) found -[8747] Forked 29761 -(29761) found -[8746] Forked 29762 -(29762) found -[8745] Forked 29763 -(29763) found -[8744] Forked 29764 -(29764) found -[8743] Forked 29765 -(29765) found -[8742] Forked 29766 -(29766) found -[8741] Forked 29767 -(29767) found -[8740] Forked 29768 -(29768) found -[8739] Forked 29769 -(29769) found -[8738] Forked 29770 -(29770) found -[8737] Forked 29771 -(29771) found -[8736] Forked 29772 -(29772) found -[8735] Forked 29773 -(29773) found -[8734] Forked 29774 -(29774) found -[8733] Forked 29775 -(29775) found -[8732] Forked 29776 -(29776) found -[8731] Forked 29777 -(29777) found -[8730] Forked 29778 -(29778) found -[8729] Forked 29779 -(29779) found -[8728] Forked 29780 -(29780) found -[8727] Forked 29781 -(29781) found -[8726] Forked 29782 -(29782) found -[8725] Forked 29783 -(29783) found -[8724] Forked 29784 -(29784) found -[8723] Forked 29785 -(29785) found -[8722] Forked 29786 -(29786) found -[8721] Forked 29787 -(29787) found -[8720] Forked 29788 -(29788) found -[8719] Forked 29789 -(29789) found -[8718] Forked 29790 -(29790) found -[8717] Forked 29791 -(29791) found -[8716] Forked 29792 -(29792) found -[8715] Forked 29793 -(29793) found -[8714] Forked 29794 -(29794) found -[8713] Forked 29795 -(29795) found -[8712] Forked 29796 -(29796) found -[8711] Forked 29797 -(29797) found -[8710] Forked 29798 -(29798) found -[8709] Forked 29799 -(29799) found -[8708] Forked 29800 -(29800) found -[8707] Forked 29801 -(29801) found -[8706] Forked 29802 -(29802) found -[8705] Forked 29803 -(29803) found -[8704] Forked 29804 -(29804) found -[8703] Forked 29805 -(29805) found -[8702] Forked 29806 -(29806) found -[8701] Forked 29807 -(29807) found -[8700] Forked 29808 -(29808) found -[8699] Forked 29809 -(29809) found -[8698] Forked 29810 -(29810) found -[8697] Forked 29811 -(29811) found -[8696] Forked 29812 -(29812) found -[8695] Forked 29813 -(29813) found -[8694] Forked 29814 -(29814) found -[8693] Forked 29815 -(29815) found -[8692] Forked 29816 -(29816) found -[8691] Forked 29817 -(29817) found -[8690] Forked 29818 -(29818) found -[8689] Forked 29819 -(29819) found -[8688] Forked 29820 -(29820) found -[8687] Forked 29821 -(29821) found -[8686] Forked 29822 -(29822) found -[8685] Forked 29823 -(29823) found -[8684] Forked 29824 -(29824) found -[8683] Forked 29825 -(29825) found -[8682] Forked 29826 -(29826) found -[8681] Forked 29827 -(29827) found -[8680] Forked 29828 -(29828) found -[8679] Forked 29829 -(29829) found -[8678] Forked 29830 -(29830) found -[8677] Forked 29831 -(29831) found -[8676] Forked 29832 -(29832) found -[8675] Forked 29833 -(29833) found -[8674] Forked 29834 -(29834) found -[8673] Forked 29835 -(29835) found -[8672] Forked 29836 -(29836) found -[8671] Forked 29837 -(29837) found -[8670] Forked 29838 -(29838) found -[8669] Forked 29839 -(29839) found -[8668] Forked 29840 -(29840) found -[8667] Forked 29841 -(29841) found -[8666] Forked 29842 -(29842) found -[8665] Forked 29843 -(29843) found -[8664] Forked 29844 -(29844) found -[8663] Forked 29845 -(29845) found -[8662] Forked 29846 -(29846) found -[8661] Forked 29847 -(29847) found -[8660] Forked 29848 -(29848) found -[8659] Forked 29849 -(29849) found -[8658] Forked 29850 -(29850) found -[8657] Forked 29851 -(29851) found -[8656] Forked 29852 -(29852) found -[8655] Forked 29853 -(29853) found -[8654] Forked 29854 -(29854) found -[8653] Forked 29855 -(29855) found -[8652] Forked 29856 -(29856) found -[8651] Forked 29857 -(29857) found -[8650] Forked 29858 -[8649] Forked 29859 -(29858) found -(29859) found -[8648] Forked 29860 -[8647] Forked 29861 -(29860) found -(29861) found -[8646] Forked 29862 -[8645] Forked 29863 -(29862) found -(29863) found -[8644] Forked 29864 -[8643] Forked 29865 -(29864) found -(29865) found -[8642] Forked 29866 -[8641] Forked 29867 -(29866) found -(29867) found -[8640] Forked 29868 -[8639] Forked 29869 -(29868) found -(29869) found -[8638] Forked 29870 -[8637] Forked 29871 -(29870) found -(29871) found -[8636] Forked 29872 -[8635] Forked 29873 -(29872) found -(29873) found -[8634] Forked 29874 -[8633] Forked 29875 -(29874) found -(29875) found -[8632] Forked 29876 -[8631] Forked 29877 -(29876) found -(29877) found -[8630] Forked 29878 -[8629] Forked 29879 -(29878) found -(29879) found -[8628] Forked 29880 -[8627] Forked 29881 -(29880) found -(29881) found -[8626] Forked 29882 -[8625] Forked 29883 -(29882) found -(29883) found -[8624] Forked 29884 -[8623] Forked 29885 -(29884) found -(29885) found -[8622] Forked 29886 -[8621] Forked 29887 -(29886) found -(29887) found -[8620] Forked 29888 -[8619] Forked 29889 -(29888) found -(29889) found -[8618] Forked 29890 -[8617] Forked 29891 -(29890) found -(29891) found -[8616] Forked 29892 -[8615] Forked 29893 -(29892) found -(29893) found -[8614] Forked 29894 -[8613] Forked 29895 -(29894) found -(29895) found -[8612] Forked 29896 -[8611] Forked 29897 -(29896) found -(29897) found -[8610] Forked 29898 -[8609] Forked 29899 -(29899) found -(29898) found -[8608] Forked 29900 -(29900) found -[8607] Forked 29901 -(29901) found -[8606] Forked 29902 -(29902) found -[8605] Forked 29903 -(29903) found -[8604] Forked 29904 -(29904) found -[8603] Forked 29905 -(29905) found -[8602] Forked 29906 -(29906) found -[8601] Forked 29907 -[8600] Forked 29908 -(29907) found -(29908) found -[8599] Forked 29909 -[8598] Forked 29910 -(29909) found -(29910) found -[8597] Forked 29911 -[8596] Forked 29912 -(29911) found -(29912) found -[8595] Forked 29913 -[8594] Forked 29914 -(29913) found -(29914) found -[8593] Forked 29915 -[8592] Forked 29916 -(29915) found -(29916) found -[8591] Forked 29917 -[8590] Forked 29918 -(29917) found -(29918) found -[8589] Forked 29919 -[8588] Forked 29920 -(29919) found -(29920) found -[8587] Forked 29921 -[8586] Forked 29922 -(29921) found -(29922) found -[8585] Forked 29923 -[8584] Forked 29924 -(29923) found -(29924) found -[8583] Forked 29925 -[8582] Forked 29926 -(29925) found -(29926) found -[8581] Forked 29927 -[8580] Forked 29928 -(29927) found -(29928) found -[8579] Forked 29929 -[8578] Forked 29930 -(29929) found -(29930) found -[8577] Forked 29931 -[8576] Forked 29932 -(29931) found -(29932) found -[8575] Forked 29933 -[8574] Forked 29934 -(29933) found -(29934) found -[8573] Forked 29935 -[8572] Forked 29936 -(29935) found -(29936) found -[8571] Forked 29937 -[8570] Forked 29938 -(29937) found -(29938) found -[8569] Forked 29939 -[8568] Forked 29940 -(29939) found -(29940) found -[8567] Forked 29941 -[8566] Forked 29942 -(29941) found -(29942) found -[8565] Forked 29943 -[8564] Forked 29944 -(29943) found -(29944) found -[8563] Forked 29945 -[8562] Forked 29946 -(29945) found -(29946) found -[8561] Forked 29947 -(29947) found -[8560] Forked 29948 -(29948) found -[8559] Forked 29949 -(29949) found -[8558] Forked 29950 -(29950) found -[8557] Forked 29951 -(29951) found -[8556] Forked 29952 -(29952) found -[8555] Forked 29953 -(29953) found -[8554] Forked 29954 -(29954) found -[8553] Forked 29955 -(29955) found -[8552] Forked 29956 -(29956) found -[8551] Forked 29957 -(29957) found -[8550] Forked 29958 -(29958) found -[8549] Forked 29959 -(29959) found -[8548] Forked 29960 -(29960) found -[8547] Forked 29961 -(29961) found -[8546] Forked 29962 -(29962) found -[8545] Forked 29963 -(29963) found -[8544] Forked 29964 -(29964) found -[8543] Forked 29965 -(29965) found -[8542] Forked 29966 -(29966) found -[8541] Forked 29967 -(29967) found -[8540] Forked 29968 -(29968) found -[8539] Forked 29969 -(29969) found -[8538] Forked 29970 -(29970) found -[8537] Forked 29971 -(29971) found -[8536] Forked 29972 -(29972) found -[8535] Forked 29973 -(29973) found -[8534] Forked 29974 -(29974) found -[8533] Forked 29975 -(29975) found -[8532] Forked 29976 -(29976) found -[8531] Forked 29977 -(29977) found -[8530] Forked 29978 -(29978) found -[8529] Forked 29979 -(29979) found -[8528] Forked 29980 -(29980) found -[8527] Forked 29981 -(29981) found -[8526] Forked 29982 -(29982) found -[8525] Forked 29983 -[8524] Forked 29984 -(29983) found -(29984) found -[8523] Forked 29985 -[8522] Forked 29986 -(29985) found -(29986) found -[8521] Forked 29987 -[8520] Forked 29988 -(29987) found -(29988) found -[8519] Forked 29989 -[8518] Forked 29990 -(29989) found -(29990) found -[8517] Forked 29991 -[8516] Forked 29992 -(29991) found -(29992) found -[8515] Forked 29993 -[8514] Forked 29994 -(29993) found -(29994) found -[8513] Forked 29995 -[8512] Forked 29996 -(29995) found -(29996) found -[8511] Forked 29997 -[8510] Forked 29998 -(29997) found -(29998) found -[8509] Forked 29999 -[8508] Forked 30000 -(29999) found -(30000) found -[8507] Forked 30001 -[8506] Forked 30002 -(30001) found -(30002) found -[8505] Forked 30003 -[8504] Forked 30004 -(30003) found -(30004) found -[8503] Forked 30005 -[8502] Forked 30006 -(30005) found -(30006) found -[8501] Forked 30007 -[8500] Forked 30008 -(30007) found -(30008) found -[8499] Forked 30009 -[8498] Forked 30010 -(30009) found -(30010) found -[8497] Forked 30011 -[8496] Forked 30012 -(30011) found -(30012) found -[8495] Forked 30013 -[8494] Forked 30014 -(30013) found -(30014) found -[8493] Forked 30015 -[8492] Forked 30016 -(30015) found -(30016) found -[8491] Forked 30017 -[8490] Forked 30018 -(30017) found -(30018) found -[8489] Forked 30019 -[8488] Forked 30020 -(30019) found -(30020) found -[8487] Forked 30021 -[8486] Forked 30022 -(30021) found -(30022) found -[8485] Forked 30023 -[8484] Forked 30024 -(30023) found -(30024) found -[8483] Forked 30025 -[8482] Forked 30026 -(30025) found -(30026) found -[8481] Forked 30027 -(30027) found -[8480] Forked 30028 -(30028) found -[8479] Forked 30029 -(30029) found -[8478] Forked 30030 -(30030) found -[8477] Forked 30031 -(30031) found -[8476] Forked 30032 -(30032) found -[8475] Forked 30033 -(30033) found -[8474] Forked 30034 -(30034) found -[8473] Forked 30035 -(30035) found -[8472] Forked 30036 -(30036) found -[8471] Forked 30037 -(30037) found -[8470] Forked 30038 -(30038) found -[8469] Forked 30039 -(30039) found -[8468] Forked 30040 -(30040) found -[8467] Forked 30041 -(30041) found -[8466] Forked 30042 -(30042) found -[8465] Forked 30043 -(30043) found -[8464] Forked 30044 -(30044) found -[8463] Forked 30045 -(30045) found -[8462] Forked 30046 -(30046) found -[8461] Forked 30047 -(30047) found -[8460] Forked 30048 -(30048) found -[8459] Forked 30049 -(30049) found -[8458] Forked 30050 -(30050) found -[8457] Forked 30051 -(30051) found -[8456] Forked 30052 -(30052) found -[8455] Forked 30053 -(30053) found -[8454] Forked 30054 -(30054) found -[8453] Forked 30055 -(30055) found -[8452] Forked 30056 -(30056) found -[8451] Forked 30057 -(30057) found -[8450] Forked 30058 -(30058) found -[8449] Forked 30059 -(30059) found -[8448] Forked 30060 -(30060) found -[8447] Forked 30061 -(30061) found -[8446] Forked 30062 -(30062) found -[8445] Forked 30063 -(30063) found -[8444] Forked 30064 -[8443] Forked 30065 -(30064) found -(30065) found -[8442] Forked 30066 -[8441] Forked 30067 -(30066) found -(30067) found -[8440] Forked 30068 -[8439] Forked 30069 -(30068) found -(30069) found -[8438] Forked 30070 -[8437] Forked 30071 -(30070) found -(30071) found -[8436] Forked 30072 -[8435] Forked 30073 -(30072) found -(30073) found -[8434] Forked 30074 -[8433] Forked 30075 -(30074) found -(30075) found -[8432] Forked 30076 -[8431] Forked 30077 -(30076) found -(30077) found -[8430] Forked 30078 -[8429] Forked 30079 -(30078) found -(30079) found -[8428] Forked 30080 -[8427] Forked 30081 -(30080) found -(30081) found -[8426] Forked 30082 -[8425] Forked 30083 -(30082) found -(30083) found -[8424] Forked 30084 -[8423] Forked 30085 -(30084) found -(30085) found -[8422] Forked 30086 -[8421] Forked 30087 -(30086) found -(30087) found -[8420] Forked 30088 -[8419] Forked 30089 -(30088) found -(30089) found -[8418] Forked 30090 -[8417] Forked 30091 -(30090) found -(30091) found -[8416] Forked 30092 -[8415] Forked 30093 -(30092) found -(30093) found -[8414] Forked 30094 -[8413] Forked 30095 -(30094) found -(30095) found -[8412] Forked 30096 -[8411] Forked 30097 -(30096) found -(30097) found -[8410] Forked 30098 -[8409] Forked 30099 -(30098) found -(30099) found -[8408] Forked 30100 -[8407] Forked 30101 -(30100) found -(30101) found -[8406] Forked 30102 -[8405] Forked 30103 -(30102) found -(30103) found -[8404] Forked 30104 -[8403] Forked 30105 -(30104) found -(30105) found -[8402] Forked 30106 -[8401] Forked 30107 -(30106) found -(30107) found -[8400] Forked 30108 -[8399] Forked 30109 -(30108) found -(30109) found -[8398] Forked 30110 -[8397] Forked 30111 -(30110) found -(30111) found -[8396] Forked 30112 -[8395] Forked 30113 -(30112) found -(30113) found -[8394] Forked 30114 -[8393] Forked 30115 -(30114) found -(30115) found -[8392] Forked 30116 -[8391] Forked 30117 -(30116) found -(30117) found -[8390] Forked 30118 -[8389] Forked 30119 -(30118) found -(30119) found -[8388] Forked 30120 -[8387] Forked 30121 -(30120) found -(30121) found -[8386] Forked 30122 -[8385] Forked 30123 -(30122) found -(30123) found -[8384] Forked 30124 -[8383] Forked 30125 -(30124) found -(30125) found -[8382] Forked 30126 -[8381] Forked 30127 -(30126) found -(30127) found -[8380] Forked 30128 -[8379] Forked 30129 -(30128) found -(30129) found -[8378] Forked 30130 -[8377] Forked 30131 -(30130) found -(30131) found -[8376] Forked 30132 -[8375] Forked 30133 -(30132) found -(30133) found -[8374] Forked 30134 -[8373] Forked 30135 -(30134) found -(30135) found -[8372] Forked 30136 -[8371] Forked 30137 -(30136) found -(30137) found -[8370] Forked 30138 -[8369] Forked 30139 -(30138) found -(30139) found -[8368] Forked 30140 -[8367] Forked 30141 -(30140) found -(30141) found -[8366] Forked 30142 -[8365] Forked 30143 -(30142) found -(30143) found -[8364] Forked 30144 -[8363] Forked 30145 -(30144) found -(30145) found -[8362] Forked 30146 -[8361] Forked 30147 -(30146) found -(30147) found -[8360] Forked 30148 -[8359] Forked 30149 -(30148) found -(30149) found -[8358] Forked 30150 -[8357] Forked 30151 -(30150) found -(30151) found -[8356] Forked 30152 -[8355] Forked 30153 -(30152) found -(30153) found -[8354] Forked 30154 -[8353] Forked 30155 -(30154) found -(30155) found -[8352] Forked 30156 -(30156) found -[8351] Forked 30157 -(30157) found -[8350] Forked 30158 -(30158) found -[8349] Forked 30159 -(30159) found -[8348] Forked 30160 -(30160) found -[8347] Forked 30161 -[8346] Forked 30162 -(30161) found -(30162) found -[8345] Forked 30163 -[8344] Forked 30164 -(30163) found -(30164) found -[8343] Forked 30165 -[8342] Forked 30166 -(30165) found -(30166) found -[8341] Forked 30167 -[8340] Forked 30168 -(30167) found -(30168) found -[8339] Forked 30169 -[8338] Forked 30170 -(30169) found -(30170) found -[8337] Forked 30171 -[8336] Forked 30172 -(30171) found -(30172) found -[8335] Forked 30173 -[8334] Forked 30174 -(30173) found -(30174) found -[8333] Forked 30175 -[8332] Forked 30176 -(30175) found -(30176) found -[8331] Forked 30177 -[8330] Forked 30178 -(30177) found -(30178) found -[8329] Forked 30179 -[8328] Forked 30180 -(30179) found -(30180) found -[8327] Forked 30181 -[8326] Forked 30182 -(30181) found -(30182) found -[8325] Forked 30183 -[8324] Forked 30184 -(30183) found -(30184) found -[8323] Forked 30185 -[8322] Forked 30186 -(30185) found -(30186) found -[8321] Forked 30187 -[8320] Forked 30188 -(30187) found -(30188) found -[8319] Forked 30189 -[8318] Forked 30190 -(30189) found -(30190) found -[8317] Forked 30191 -[8316] Forked 30192 -(30191) found -(30192) found -[8315] Forked 30193 -[8314] Forked 30194 -(30193) found -(30194) found -[8313] Forked 30195 -[8312] Forked 30196 -(30195) found -(30196) found -[8311] Forked 30197 -[8310] Forked 30198 -(30197) found -(30198) found -[8309] Forked 30199 -[8308] Forked 30201 -(30199) found -(30201) found -[8307] Forked 30202 -(30202) found -[8306] Forked 30203 -(30203) found -[8305] Forked 30204 -(30204) found -[8304] Forked 30205 -(30205) found -[8303] Forked 30206 -(30206) found -[8302] Forked 30207 -(30207) found -[8301] Forked 30208 -(30208) found -[8300] Forked 30209 -(30209) found -[8299] Forked 30210 -(30210) found -[8298] Forked 30211 -(30211) found -[8297] Forked 30212 -(30212) found -[8296] Forked 30213 -(30213) found -[8295] Forked 30214 -(30214) found -[8294] Forked 30215 -(30215) found -[8293] Forked 30216 -(30216) found -[8292] Forked 30217 -(30217) found -[8291] Forked 30218 -(30218) found -[8290] Forked 30219 -(30219) found -[8289] Forked 30220 -(30220) found -[8288] Forked 30221 -(30221) found -[8287] Forked 30222 -(30222) found -[8286] Forked 30223 -(30223) found -[8285] Forked 30224 -(30224) found -[8284] Forked 30225 -(30225) found -[8283] Forked 30226 -(30226) found -[8282] Forked 30227 -(30227) found -[8281] Forked 30228 -(30228) found -[8280] Forked 30229 -(30229) found -[8279] Forked 30230 -(30230) found -[8278] Forked 30231 -(30231) found -[8277] Forked 30232 -(30232) found -[8276] Forked 30233 -(30233) found -[8275] Forked 30234 -(30234) found -[8274] Forked 30235 -(30235) found -[8273] Forked 30236 -(30236) found -[8272] Forked 30237 -(30237) found -[8271] Forked 30238 -(30238) found -[8270] Forked 30239 -(30239) found -[8269] Forked 30240 -(30240) found -[8268] Forked 30241 -(30241) found -[8267] Forked 30242 -[8266] Forked 30243 -(30243) found -(30242) found -[8265] Forked 30244 -(30244) found -[8264] Forked 30245 -(30245) found -[8263] Forked 30246 -(30246) found -[8262] Forked 30247 -(30247) found -[8261] Forked 30248 -(30248) found -[8260] Forked 30249 -(30249) found -[8259] Forked 30250 -(30250) found -[8258] Forked 30251 -(30251) found -[8257] Forked 30252 -(30252) found -[8256] Forked 30253 -(30253) found -[8255] Forked 30254 -(30254) found -[8254] Forked 30255 -(30255) found -[8253] Forked 30256 -(30256) found -[8252] Forked 30257 -(30257) found -[8251] Forked 30258 -(30258) found -[8250] Forked 30259 -(30259) found -[8249] Forked 30260 -(30260) found -[8248] Forked 30261 -(30261) found -[8247] Forked 30262 -(30262) found -[8246] Forked 30263 -(30263) found -[8245] Forked 30264 -(30264) found -[8244] Forked 30265 -(30265) found -[8243] Forked 30266 -(30266) found -[8242] Forked 30267 -(30267) found -[8241] Forked 30268 -(30268) found -[8240] Forked 30269 -(30269) found -[8239] Forked 30270 -(30270) found -[8238] Forked 30271 -(30271) found -[8237] Forked 30272 -(30272) found -[8236] Forked 30273 -(30273) found -[8235] Forked 30274 -(30274) found -[8234] Forked 30275 -(30275) found -[8233] Forked 30276 -(30276) found -[8232] Forked 30277 -(30277) found -[8231] Forked 30278 -(30278) found -[8230] Forked 30279 -(30279) found -[8229] Forked 30280 -(30280) found -[8228] Forked 30281 -(30281) found -[8227] Forked 30282 -(30282) found -[8226] Forked 30283 -(30283) found -[8225] Forked 30284 -(30284) found -[8224] Forked 30285 -(30285) found -[8223] Forked 30286 -(30286) found -[8222] Forked 30287 -(30287) found -[8221] Forked 30288 -(30288) found -[8220] Forked 30289 -(30289) found -[8219] Forked 30290 -(30290) found -[8218] Forked 30291 -(30291) found -[8217] Forked 30292 -(30292) found -[8216] Forked 30293 -(30293) found -[8215] Forked 30294 -(30294) found -[8214] Forked 30295 -(30295) found -[8213] Forked 30296 -(30296) found -[8212] Forked 30297 -(30297) found -[8211] Forked 30298 -(30298) found -[8210] Forked 30299 -(30299) found -[8209] Forked 30300 -(30300) found -[8208] Forked 30301 -(30301) found -[8207] Forked 30302 -(30302) found -[8206] Forked 30303 -(30303) found -[8205] Forked 30304 -(30304) found -[8204] Forked 30305 -(30305) found -[8203] Forked 30306 -(30306) found -[8202] Forked 30307 -(30307) found -[8201] Forked 30308 -(30308) found -[8200] Forked 30309 -(30309) found -[8199] Forked 30310 -(30310) found -[8198] Forked 30311 -(30311) found -[8197] Forked 30312 -(30312) found -[8196] Forked 30313 -(30313) found -[8195] Forked 30314 -(30314) found -[8194] Forked 30315 -[8193] Forked 30316 -(30315) found -(30316) found -[8192] Forked 30317 -[8191] Forked 30318 -(30317) found -(30318) found -[8190] Forked 30319 -[8189] Forked 30320 -(30319) found -(30320) found -[8188] Forked 30321 -[8187] Forked 30322 -(30321) found -(30322) found -[8186] Forked 30323 -[8185] Forked 30324 -(30323) found -(30324) found -[8184] Forked 30325 -[8183] Forked 30326 -(30325) found -(30326) found -[8182] Forked 30327 -[8181] Forked 30328 -(30327) found -(30328) found -[8180] Forked 30329 -[8179] Forked 30330 -(30329) found -(30330) found -[8178] Forked 30331 -[8177] Forked 30332 -(30331) found -(30332) found -[8176] Forked 30333 -[8175] Forked 30334 -(30333) found -(30334) found -[8174] Forked 30335 -[8173] Forked 30336 -(30335) found -(30336) found -[8172] Forked 30337 -[8171] Forked 30338 -(30337) found -(30338) found -[8170] Forked 30339 -(30339) found -[8169] Forked 30340 -[8168] Forked 30341 -(30340) found -(30341) found -[8167] Forked 30342 -[8166] Forked 30343 -(30342) found -(30343) found -[8165] Forked 30344 -[8164] Forked 30345 -(30344) found -(30345) found -[8163] Forked 30346 -[8162] Forked 30347 -(30346) found -(30347) found -[8161] Forked 30348 -[8160] Forked 30349 -(30348) found -(30349) found -[8159] Forked 30350 -[8158] Forked 30351 -(30350) found -(30351) found -[8157] Forked 30352 -[8156] Forked 30353 -(30352) found -(30353) found -[8155] Forked 30354 -[8154] Forked 30355 -(30355) found -(30354) found -[8153] Forked 30356 -(30356) found -[8152] Forked 30357 -(30357) found -[8151] Forked 30358 -(30358) found -[8150] Forked 30359 -(30359) found -[8149] Forked 30360 -(30360) found -[8148] Forked 30361 -(30361) found -[8147] Forked 30362 -(30362) found -[8146] Forked 30363 -(30363) found -[8145] Forked 30364 -(30364) found -[8144] Forked 30365 -(30365) found -[8143] Forked 30366 -(30366) found -[8142] Forked 30367 -(30367) found -[8141] Forked 30368 -(30368) found -[8140] Forked 30369 -(30369) found -[8139] Forked 30370 -(30370) found -[8138] Forked 30371 -(30371) found -[8137] Forked 30372 -(30372) found -[8136] Forked 30373 -(30373) found -[8135] Forked 30374 -(30374) found -[8134] Forked 30375 -(30375) found -[8133] Forked 30376 -(30376) found -[8132] Forked 30377 -(30377) found -[8131] Forked 30378 -(30378) found -[8130] Forked 30379 -(30379) found -[8129] Forked 30380 -(30380) found -[8128] Forked 30381 -(30381) found -[8127] Forked 30382 -(30382) found -[8126] Forked 30383 -(30383) found -[8125] Forked 30384 -(30384) found -[8124] Forked 30385 -(30385) found -[8123] Forked 30386 -(30386) found -[8122] Forked 30387 -(30387) found -[8121] Forked 30388 -(30388) found -[8120] Forked 30389 -(30389) found -[8119] Forked 30390 -(30390) found -[8118] Forked 30391 -[8117] Forked 30392 -(30391) found -(30392) found -[8116] Forked 30393 -[8115] Forked 30394 -(30393) found -(30394) found -[8114] Forked 30395 -[8113] Forked 30396 -(30395) found -(30396) found -[8112] Forked 30397 -[8111] Forked 30398 -(30397) found -(30398) found -[8110] Forked 30399 -[8109] Forked 30400 -(30399) found -(30400) found -[8108] Forked 30401 -[8107] Forked 30402 -(30401) found -(30402) found -[8106] Forked 30403 -[8105] Forked 30404 -(30403) found -(30404) found -[8104] Forked 30405 -[8103] Forked 30406 -(30405) found -(30406) found -[8102] Forked 30407 -[8101] Forked 30408 -(30407) found -(30408) found -[8100] Forked 30409 -[8099] Forked 30410 -(30409) found -(30410) found -[8098] Forked 30411 -[8097] Forked 30412 -(30411) found -(30412) found -[8096] Forked 30413 -[8095] Forked 30414 -(30413) found -(30414) found -[8094] Forked 30415 -[8093] Forked 30416 -(30415) found -(30416) found -[8092] Forked 30417 -[8091] Forked 30418 -(30417) found -(30418) found -[8090] Forked 30419 -[8089] Forked 30420 -(30419) found -(30420) found -[8088] Forked 30421 -[8087] Forked 30422 -(30421) found -(30422) found -[8086] Forked 30423 -[8085] Forked 30424 -(30423) found -(30424) found -[8084] Forked 30425 -[8083] Forked 30426 -(30425) found -(30426) found -[8082] Forked 30427 -[8081] Forked 30428 -(30427) found -(30428) found -[8080] Forked 30429 -[8079] Forked 30430 -(30429) found -(30430) found -[8078] Forked 30431 -[8077] Forked 30433 -(30431) found -(30433) found -[8076] Forked 30434 -(30434) found -[8075] Forked 30435 -(30435) found -[8074] Forked 30436 -(30436) found -[8073] Forked 30437 -(30437) found -[8072] Forked 30438 -(30438) found -[8071] Forked 30439 -(30439) found -[8070] Forked 30440 -(30440) found -[8069] Forked 30441 -(30441) found -[8068] Forked 30442 -(30442) found -[8067] Forked 30443 -(30443) found -[8066] Forked 30444 -(30444) found -[8065] Forked 30445 -(30445) found -[8064] Forked 30446 -(30446) found -[8063] Forked 30447 -(30447) found -[8062] Forked 30448 -(30448) found -[8061] Forked 30449 -(30449) found -[8060] Forked 30450 -(30450) found -[8059] Forked 30451 -(30451) found -[8058] Forked 30452 -(30452) found -[8057] Forked 30453 -(30453) found -[8056] Forked 30454 -(30454) found -[8055] Forked 30455 -(30455) found -[8054] Forked 30456 -(30456) found -[8053] Forked 30457 -(30457) found -[8052] Forked 30458 -(30458) found -[8051] Forked 30459 -(30459) found -[8050] Forked 30460 -(30460) found -[8049] Forked 30461 -(30461) found -[8048] Forked 30462 -(30462) found -[8047] Forked 30463 -(30463) found -[8046] Forked 30464 -(30464) found -[8045] Forked 30465 -(30465) found -[8044] Forked 30466 -(30466) found -[8043] Forked 30467 -(30467) found -[8042] Forked 30468 -(30468) found -[8041] Forked 30469 -(30469) found -[8040] Forked 30470 -(30470) found -[8039] Forked 30471 -(30471) found -[8038] Forked 30472 -(30472) found -[8037] Forked 30473 -(30473) found -[8036] Forked 30474 -(30474) found -[8035] Forked 30475 -(30475) found -[8034] Forked 30476 -(30476) found -[8033] Forked 30477 -(30477) found -[8032] Forked 30478 -(30478) found -[8031] Forked 30479 -(30479) found -[8030] Forked 30480 -(30480) found -[8029] Forked 30481 -(30481) found -[8028] Forked 30482 -(30482) found -[8027] Forked 30483 -(30483) found -[8026] Forked 30484 -(30484) found -[8025] Forked 30485 -(30485) found -[8024] Forked 30486 -(30486) found -[8023] Forked 30487 -(30487) found -[8022] Forked 30488 -(30488) found -[8021] Forked 30489 -(30489) found -[8020] Forked 30490 -(30490) found -[8019] Forked 30491 -(30491) found -[8018] Forked 30492 -(30492) found -[8017] Forked 30493 -(30493) found -[8016] Forked 30494 -(30494) found -[8015] Forked 30495 -(30495) found -[8014] Forked 30496 -(30496) found -[8013] Forked 30497 -(30497) found -[8012] Forked 30498 -(30498) found -[8011] Forked 30499 -(30499) found -[8010] Forked 30500 -(30500) found -[8009] Forked 30501 -(30501) found -[8008] Forked 30502 -(30502) found -[8007] Forked 30503 -(30503) found -[8006] Forked 30504 -(30504) found -[8005] Forked 30505 -(30505) found -[8004] Forked 30506 -(30506) found -[8003] Forked 30507 -(30507) found -[8002] Forked 30509 -(30509) found -[8001] Forked 30510 -(30510) found -[8000] Forked 30511 -[7999] Forked 30512 -(30511) found -(30512) found -[7998] Forked 30513 -[7997] Forked 30515 -(30513) found -(30515) found -[7996] Forked 30516 -[7995] Forked 30517 -(30516) found -(30517) found -[7994] Forked 30518 -[7993] Forked 30519 -(30518) found -(30519) found -[7992] Forked 30521 -[7991] Forked 30522 -(30521) found -(30522) found -[7990] Forked 30523 -[7989] Forked 30524 -(30523) found -(30524) found -[7988] Forked 30525 -[7987] Forked 30526 -(30525) found -(30526) found -[7986] Forked 30528 -[7985] Forked 30529 -(30528) found -(30529) found -[7984] Forked 30530 -[7983] Forked 30531 -(30530) found -(30531) found -[7982] Forked 30532 -[7981] Forked 30534 -(30532) found -(30534) found -[7980] Forked 30535 -[7979] Forked 30536 -(30535) found -(30536) found -[7978] Forked 30537 -[7977] Forked 30538 -(30537) found -(30538) found -[7976] Forked 30540 -[7975] Forked 30541 -(30540) found -(30541) found -[7974] Forked 30542 -[7973] Forked 30543 -(30542) found -(30543) found -[7972] Forked 30544 -[7971] Forked 30545 -(30544) found -(30545) found -[7970] Forked 30546 -[7969] Forked 30547 -(30546) found -(30547) found -[7968] Forked 30548 -[7967] Forked 30549 -(30548) found -(30549) found -[7966] Forked 30550 -[7965] Forked 30551 -(30550) found -(30551) found -[7964] Forked 30552 -[7963] Forked 30553 -(30552) found -(30553) found -[7962] Forked 30554 -[7961] Forked 30555 -(30554) found -(30555) found -[7960] Forked 30556 -[7959] Forked 30557 -(30556) found -(30557) found -[7958] Forked 30558 -[7957] Forked 30559 -(30558) found -(30559) found -[7956] Forked 30560 -[7955] Forked 30561 -(30560) found -(30561) found -[7954] Forked 30562 -(30562) found -[7953] Forked 30563 -(30563) found -[7952] Forked 30564 -(30564) found -[7951] Forked 30565 -(30565) found -[7950] Forked 30566 -(30566) found -[7949] Forked 30567 -(30567) found -[7948] Forked 30568 -(30568) found -[7947] Forked 30569 -(30569) found -[7946] Forked 30570 -(30570) found -[7945] Forked 30571 -(30571) found -[7944] Forked 30572 -(30572) found -[7943] Forked 30573 -(30573) found -[7942] Forked 30574 -(30574) found -[7941] Forked 30575 -(30575) found -[7940] Forked 30576 -(30576) found -[7939] Forked 30577 -(30577) found -[7938] Forked 30578 -(30578) found -[7937] Forked 30579 -(30579) found -[7936] Forked 30580 -(30580) found -[7935] Forked 30581 -(30581) found -[7934] Forked 30582 -(30582) found -[7933] Forked 30583 -(30583) found -[7932] Forked 30584 -(30584) found -[7931] Forked 30585 -(30585) found -[7930] Forked 30586 -(30586) found -[7929] Forked 30587 -(30587) found -[7928] Forked 30588 -(30588) found -[7927] Forked 30589 -(30589) found -[7926] Forked 30590 -(30590) found -[7925] Forked 30591 -(30591) found -[7924] Forked 30592 -(30592) found -[7923] Forked 30593 -(30593) found -[7922] Forked 30594 -(30594) found -[7921] Forked 30595 -(30595) found -[7920] Forked 30596 -(30596) found -[7919] Forked 30597 -(30597) found -[7918] Forked 30598 -(30598) found -[7917] Forked 30599 -[7916] Forked 30600 -(30599) found -(30600) found -[7915] Forked 30601 -[7914] Forked 30602 -(30601) found -(30602) found -[7913] Forked 30603 -[7912] Forked 30604 -(30603) found -(30604) found -[7911] Forked 30605 -[7910] Forked 30606 -(30605) found -(30606) found -[7909] Forked 30607 -[7908] Forked 30608 -(30607) found -(30608) found -[7907] Forked 30609 -[7906] Forked 30610 -(30609) found -(30610) found -[7905] Forked 30611 -[7904] Forked 30612 -(30611) found -(30612) found -[7903] Forked 30613 -[7902] Forked 30614 -(30613) found -(30614) found -[7901] Forked 30615 -[7900] Forked 30616 -(30615) found -(30616) found -[7899] Forked 30617 -[7898] Forked 30618 -(30617) found -(30618) found -[7897] Forked 30619 -[7896] Forked 30620 -(30619) found -(30620) found -[7895] Forked 30621 -[7894] Forked 30622 -(30621) found -(30622) found -[7893] Forked 30623 -[7892] Forked 30624 -(30623) found -(30624) found -[7891] Forked 30625 -[7890] Forked 30626 -(30625) found -(30626) found -[7889] Forked 30627 -[7888] Forked 30628 -(30627) found -(30628) found -[7887] Forked 30629 -[7886] Forked 30630 -(30629) found -(30630) found -[7885] Forked 30631 -[7884] Forked 30633 -(30631) found -(30633) found -[7883] Forked 30634 -(30634) found -[7882] Forked 30635 -(30635) found -[7881] Forked 30636 -(30636) found -[7880] Forked 30637 -[7879] Forked 30638 -(30637) found -(30638) found -[7878] Forked 30639 -[7877] Forked 30640 -(30639) found -(30640) found -[7876] Forked 30641 -(30641) found -[7875] Forked 30642 -[7874] Forked 30643 -(30642) found -(30643) found -[7873] Forked 30644 -[7872] Forked 30645 -(30644) found -(30645) found -[7871] Forked 30646 -[7870] Forked 30647 -(30646) found -(30647) found -[7869] Forked 30648 -[7868] Forked 30649 -(30648) found -(30649) found -[7867] Forked 30650 -[7866] Forked 30651 -(30650) found -(30651) found -[7865] Forked 30652 -[7864] Forked 30653 -(30652) found -(30653) found -[7863] Forked 30654 -[7862] Forked 30655 -(30654) found -(30655) found -[7861] Forked 30656 -[7860] Forked 30657 -(30656) found -(30657) found -[7859] Forked 30658 -[7858] Forked 30659 -(30658) found -(30659) found -[7857] Forked 30660 -[7856] Forked 30661 -(30660) found -(30661) found -[7855] Forked 30662 -[7854] Forked 30663 -(30662) found -(30663) found -[7853] Forked 30664 -[7852] Forked 30665 -(30664) found -(30665) found -[7851] Forked 30666 -[7850] Forked 30667 -(30666) found -(30667) found -[7849] Forked 30668 -[7848] Forked 30669 -(30668) found -(30669) found -[7847] Forked 30670 -[7846] Forked 30671 -(30670) found -(30671) found -[7845] Forked 30672 -[7844] Forked 30673 -(30672) found -(30673) found -[7843] Forked 30674 -[7842] Forked 30675 -(30674) found -(30675) found -[7841] Forked 30676 -[7840] Forked 30677 -(30676) found -(30677) found -[7839] Forked 30678 -[7838] Forked 30679 -(30678) found -(30679) found -[7837] Forked 30680 -[7836] Forked 30681 -(30680) found -(30681) found -[7835] Forked 30682 -[7834] Forked 30683 -(30682) found -(30683) found -[7833] Forked 30684 -[7832] Forked 30685 -(30684) found -(30685) found -[7831] Forked 30686 -[7830] Forked 30687 -(30686) found -(30687) found -[7829] Forked 30688 -[7828] Forked 30689 -(30688) found -(30689) found -[7827] Forked 30690 -[7826] Forked 30691 -(30690) found -(30691) found -[7825] Forked 30692 -[7824] Forked 30693 -(30692) found -(30693) found -[7823] Forked 30694 -[7822] Forked 30695 -(30694) found -(30695) found -[7821] Forked 30696 -[7820] Forked 30697 -(30696) found -(30697) found -[7819] Forked 30698 -[7818] Forked 30699 -(30698) found -(30699) found -[7817] Forked 30700 -[7816] Forked 30701 -(30700) found -(30701) found -[7815] Forked 30702 -[7814] Forked 30703 -(30702) found -(30703) found -[7813] Forked 30704 -[7812] Forked 30705 -(30704) found -(30705) found -[7811] Forked 30706 -[7810] Forked 30707 -(30706) found -(30707) found -[7809] Forked 30708 -[7808] Forked 30709 -(30708) found -(30709) found -[7807] Forked 30710 -[7806] Forked 30711 -(30710) found -(30711) found -[7805] Forked 30712 -[7804] Forked 30713 -(30712) found -(30713) found -[7803] Forked 30714 -[7802] Forked 30715 -(30714) found -(30715) found -[7801] Forked 30716 -[7800] Forked 30717 -(30716) found -(30717) found -[7799] Forked 30718 -[7798] Forked 30719 -(30718) found -(30719) found -[7797] Forked 30720 -[7796] Forked 30721 -(30720) found -(30721) found -[7795] Forked 30722 -[7794] Forked 30723 -(30722) found -(30723) found -[7793] Forked 30724 -[7792] Forked 30725 -(30724) found -(30725) found -[7791] Forked 30726 -[7790] Forked 30727 -(30726) found -(30727) found -[7789] Forked 30728 -[7788] Forked 30729 -(30728) found -(30729) found -[7787] Forked 30730 -[7786] Forked 30731 -(30730) found -(30731) found -[7785] Forked 30732 -[7784] Forked 30733 -(30732) found -(30733) found -[7783] Forked 30734 -(30734) found -[7782] Forked 30735 -(30735) found -[7781] Forked 30736 -(30736) found -[7780] Forked 30737 -(30737) found -[7779] Forked 30738 -(30738) found -[7778] Forked 30739 -(30739) found -[7777] Forked 30740 -(30740) found -[7776] Forked 30741 -(30741) found -[7775] Forked 30742 -(30742) found -[7774] Forked 30743 -(30743) found -[7773] Forked 30744 -(30744) found -[7772] Forked 30745 -(30745) found -[7771] Forked 30746 -(30746) found -[7770] Forked 30747 -(30747) found -[7769] Forked 30748 -(30748) found -[7768] Forked 30749 -(30749) found -[7767] Forked 30750 -(30750) found -[7766] Forked 30751 -(30751) found -[7765] Forked 30752 -(30752) found -[7764] Forked 30753 -(30753) found -[7763] Forked 30754 -(30754) found -[7762] Forked 30755 -(30755) found -[7761] Forked 30756 -(30756) found -[7760] Forked 30757 -(30757) found -[7759] Forked 30758 -(30758) found -[7758] Forked 30759 -(30759) found -[7757] Forked 30760 -(30760) found -[7756] Forked 30761 -(30761) found -[7755] Forked 30762 -(30762) found -[7754] Forked 30763 -(30763) found -[7753] Forked 30764 -(30764) found -[7752] Forked 30765 -(30765) found -[7751] Forked 30766 -(30766) found -[7750] Forked 30767 -(30767) found -[7749] Forked 30768 -(30768) found -[7748] Forked 30769 -(30769) found -[7747] Forked 30770 -(30770) found -[7746] Forked 30771 -[7745] Forked 30772 -(30771) found -(30772) found -[7744] Forked 30773 -[7743] Forked 30774 -(30773) found -(30774) found -[7742] Forked 30775 -[7741] Forked 30776 -(30775) found -(30776) found -[7740] Forked 30777 -[7739] Forked 30778 -(30777) found -(30778) found -[7738] Forked 30779 -[7737] Forked 30780 -(30779) found -(30780) found -[7736] Forked 30781 -[7735] Forked 30782 -(30781) found -(30782) found -[7734] Forked 30783 -[7733] Forked 30784 -(30783) found -(30784) found -[7732] Forked 30785 -[7731] Forked 30786 -(30785) found -(30786) found -[7730] Forked 30787 -[7729] Forked 30788 -(30787) found -(30788) found -[7728] Forked 30789 -[7727] Forked 30790 -(30789) found -(30790) found -[7726] Forked 30791 -[7725] Forked 30792 -(30791) found -(30792) found -[7724] Forked 30793 -[7723] Forked 30794 -(30793) found -(30794) found -[7722] Forked 30795 -[7721] Forked 30796 -(30795) found -(30796) found -[7720] Forked 30797 -[7719] Forked 30798 -(30797) found -(30798) found -[7718] Forked 30799 -[7717] Forked 30800 -(30799) found -(30800) found -[7716] Forked 30801 -[7715] Forked 30802 -(30801) found -(30802) found -[7714] Forked 30803 -[7713] Forked 30804 -(30803) found -(30804) found -[7712] Forked 30805 -[7711] Forked 30806 -(30805) found -(30806) found -[7710] Forked 30807 -[7709] Forked 30808 -(30807) found -(30808) found -[7708] Forked 30809 -[7707] Forked 30810 -(30809) found -(30810) found -[7706] Forked 30811 -[7705] Forked 30812 -(30811) found -(30812) found -[7704] Forked 30813 -[7703] Forked 30814 -(30813) found -(30814) found -[7702] Forked 30815 -(30815) found -[7701] Forked 30816 -(30816) found -[7700] Forked 30817 -(30817) found -[7699] Forked 30818 -(30818) found -[7698] Forked 30819 -(30819) found -[7697] Forked 30820 -(30820) found -[7696] Forked 30821 -(30821) found -[7695] Forked 30822 -(30822) found -[7694] Forked 30823 -(30823) found -[7693] Forked 30824 -(30824) found -[7692] Forked 30825 -(30825) found -[7691] Forked 30826 -(30826) found -[7690] Forked 30827 -(30827) found -[7689] Forked 30828 -(30828) found -[7688] Forked 30829 -(30829) found -[7687] Forked 30831 -(30831) found -[7686] Forked 30832 -(30832) found -[7685] Forked 30833 -(30833) found -[7684] Forked 30834 -(30834) found -[7683] Forked 30835 -(30835) found -[7682] Forked 30837 -(30837) found -[7681] Forked 30838 -(30838) found -[7680] Forked 30839 -(30839) found -[7679] Forked 30840 -(30840) found -[7678] Forked 30841 -(30841) found -[7677] Forked 30843 -(30843) found -[7676] Forked 30844 -(30844) found -[7675] Forked 30845 -(30845) found -[7674] Forked 30846 -(30846) found -[7673] Forked 30847 -(30847) found -[7672] Forked 30849 -(30849) found -[7671] Forked 30850 -(30850) found -[7670] Forked 30851 -(30851) found -[7669] Forked 30852 -(30852) found -[7668] Forked 30853 -[7667] Forked 30855 -(30853) found -(30855) found -[7666] Forked 30856 -[7665] Forked 30857 -(30856) found -(30857) found -[7664] Forked 30858 -[7663] Forked 30859 -(30858) found -(30859) found -[7662] Forked 30861 -[7661] Forked 30862 -(30861) found -(30862) found -[7660] Forked 30863 -[7659] Forked 30864 -(30863) found -(30864) found -[7658] Forked 30865 -[7657] Forked 30866 -(30865) found -(30866) found -[7656] Forked 30867 -[7655] Forked 30868 -(30867) found -(30868) found -[7654] Forked 30869 -[7653] Forked 30870 -(30869) found -(30870) found -[7652] Forked 30871 -[7651] Forked 30872 -(30871) found -(30872) found -[7650] Forked 30873 -[7649] Forked 30874 -(30873) found -(30874) found -[7648] Forked 30875 -[7647] Forked 30876 -(30875) found -(30876) found -[7646] Forked 30877 -[7645] Forked 30878 -(30877) found -(30878) found -[7644] Forked 30879 -[7643] Forked 30881 -(30879) found -(30881) found -[7642] Forked 30882 -(30882) found -[7641] Forked 30883 -(30883) found -[7640] Forked 30884 -(30884) found -[7639] Forked 30885 -(30885) found -[7638] Forked 30886 -(30886) found -[7637] Forked 30887 -(30887) found -[7636] Forked 30888 -(30888) found -[7635] Forked 30889 -(30889) found -[7634] Forked 30890 -(30890) found -[7633] Forked 30891 -(30891) found -[7632] Forked 30892 -(30892) found -[7631] Forked 30893 -(30893) found -[7630] Forked 30894 -(30894) found -[7629] Forked 30895 -(30895) found -[7628] Forked 30896 -(30896) found -[7627] Forked 30897 -(30897) found -[7626] Forked 30898 -(30898) found -[7625] Forked 30899 -(30899) found -[7624] Forked 30900 -(30900) found -[7623] Forked 30901 -(30901) found -[7622] Forked 30902 -(30902) found -[7621] Forked 30903 -(30903) found -[7620] Forked 30904 -(30904) found -[7619] Forked 30905 -(30905) found -[7618] Forked 30906 -(30906) found -[7617] Forked 30907 -(30907) found -[7616] Forked 30908 -(30908) found -[7615] Forked 30909 -(30909) found -[7614] Forked 30910 -(30910) found -[7613] Forked 30911 -(30911) found -[7612] Forked 30912 -(30912) found -[7611] Forked 30913 -(30913) found -[7610] Forked 30914 -(30914) found -[7609] Forked 30915 -(30915) found -[7608] Forked 30916 -(30916) found -[7607] Forked 30917 -(30917) found -[7606] Forked 30918 -(30918) found -[7605] Forked 30919 -(30919) found -[7604] Forked 30920 -(30920) found -[7603] Forked 30921 -(30921) found -[7602] Forked 30922 -(30922) found -[7601] Forked 30923 -(30923) found -[7600] Forked 30924 -[7599] Forked 30925 -(30924) found -(30925) found -[7598] Forked 30926 -[7597] Forked 30927 -(30926) found -(30927) found -[7596] Forked 30928 -[7595] Forked 30929 -(30928) found -(30929) found -[7594] Forked 30930 -[7593] Forked 30931 -(30930) found -(30931) found -[7592] Forked 30932 -[7591] Forked 30933 -(30932) found -(30933) found -[7590] Forked 30934 -[7589] Forked 30935 -(30934) found -(30935) found -[7588] Forked 30936 -[7587] Forked 30937 -(30936) found -(30937) found -[7586] Forked 30938 -[7585] Forked 30939 -(30938) found -(30939) found -[7584] Forked 30940 -[7583] Forked 30941 -(30940) found -(30941) found -[7582] Forked 30942 -[7581] Forked 30943 -(30942) found -(30943) found -[7580] Forked 30944 -[7579] Forked 30945 -(30944) found -(30945) found -[7578] Forked 30946 -[7577] Forked 30947 -(30946) found -(30947) found -[7576] Forked 30948 -[7575] Forked 30949 -(30948) found -(30949) found -[7574] Forked 30950 -[7573] Forked 30951 -(30950) found -(30951) found -[7572] Forked 30952 -[7571] Forked 30953 -(30952) found -(30953) found -[7570] Forked 30954 -[7569] Forked 30955 -(30954) found -(30955) found -[7568] Forked 30956 -[7567] Forked 30957 -(30956) found -(30957) found -[7566] Forked 30958 -[7565] Forked 30959 -(30958) found -(30959) found -[7564] Forked 30960 -[7563] Forked 30961 -(30960) found -(30961) found -[7562] Forked 30962 -(30962) found -[7561] Forked 30963 -[7560] Forked 30964 -(30963) found -(30964) found -[7559] Forked 30965 -[7558] Forked 30966 -(30965) found -(30966) found -[7557] Forked 30967 -(30967) found -[7556] Forked 30968 -(30968) found -[7555] Forked 30969 -(30969) found -[7554] Forked 30970 -(30970) found -[7553] Forked 30971 -(30971) found -[7552] Forked 30972 -(30972) found -[7551] Forked 30973 -(30973) found -[7550] Forked 30974 -(30974) found -[7549] Forked 30975 -(30975) found -[7548] Forked 30976 -(30976) found -[7547] Forked 30977 -(30977) found -[7546] Forked 30978 -(30978) found -[7545] Forked 30979 -(30979) found -[7544] Forked 30980 -(30980) found -[7543] Forked 30981 -(30981) found -[7542] Forked 30982 -(30982) found -[7541] Forked 30983 -(30983) found -[7540] Forked 30984 -(30984) found -[7539] Forked 30985 -(30985) found -[7538] Forked 30986 -(30986) found -[7537] Forked 30987 -(30987) found -[7536] Forked 30988 -(30988) found -[7535] Forked 30989 -(30989) found -[7534] Forked 30990 -(30990) found -[7533] Forked 30991 -(30991) found -[7532] Forked 30992 -(30992) found -[7531] Forked 30993 -(30993) found -[7530] Forked 30994 -(30994) found -[7529] Forked 30995 -(30995) found -[7528] Forked 30996 -(30996) found -[7527] Forked 30997 -(30997) found -[7526] Forked 30998 -(30998) found -[7525] Forked 30999 -(30999) found -[7524] Forked 31000 -(31000) found -[7523] Forked 31001 -(31001) found -[7522] Forked 31002 -(31002) found -[7521] Forked 31003 -(31003) found -[7520] Forked 31004 -[7519] Forked 31005 -(31004) found -(31005) found -[7518] Forked 31006 -[7517] Forked 31007 -(31006) found -(31007) found -[7516] Forked 31008 -[7515] Forked 31009 -(31008) found -(31009) found -[7514] Forked 31010 -[7513] Forked 31011 -(31010) found -(31011) found -[7512] Forked 31012 -[7511] Forked 31013 -(31012) found -(31013) found -[7510] Forked 31014 -[7509] Forked 31015 -(31014) found -(31015) found -[7508] Forked 31016 -[7507] Forked 31017 -(31016) found -(31017) found -[7506] Forked 31018 -[7505] Forked 31019 -(31018) found -(31019) found -[7504] Forked 31020 -[7503] Forked 31021 -(31020) found -(31021) found -[7502] Forked 31022 -[7501] Forked 31023 -(31022) found -(31023) found -[7500] Forked 31024 -[7499] Forked 31025 -(31024) found -(31025) found -[7498] Forked 31026 -[7497] Forked 31027 -(31026) found -(31027) found -[7496] Forked 31028 -[7495] Forked 31029 -(31028) found -(31029) found -[7494] Forked 31030 -[7493] Forked 31031 -(31030) found -(31031) found -[7492] Forked 31032 -[7491] Forked 31033 -(31032) found -(31033) found -[7490] Forked 31034 -[7489] Forked 31035 -(31034) found -(31035) found -[7488] Forked 31036 -[7487] Forked 31037 -(31036) found -(31037) found -[7486] Forked 31038 -[7485] Forked 31039 -(31038) found -(31039) found -[7484] Forked 31040 -[7483] Forked 31041 -(31040) found -(31041) found -[7482] Forked 31042 -[7481] Forked 31043 -(31042) found -(31043) found -[7480] Forked 31044 -[7479] Forked 31045 -(31044) found -(31045) found -[7478] Forked 31046 -[7477] Forked 31047 -(31046) found -(31047) found -[7476] Forked 31048 -(31048) found -[7475] Forked 31049 -(31049) found -[7474] Forked 31050 -(31050) found -[7473] Forked 31051 -(31051) found -[7472] Forked 31052 -(31052) found -[7471] Forked 31053 -(31053) found -[7470] Forked 31054 -(31054) found -[7469] Forked 31055 -(31055) found -[7468] Forked 31056 -(31056) found -[7467] Forked 31057 -(31057) found -[7466] Forked 31058 -(31058) found -[7465] Forked 31059 -(31059) found -[7464] Forked 31060 -(31060) found -[7463] Forked 31061 -(31061) found -[7462] Forked 31062 -(31062) found -[7461] Forked 31064 -(31064) found -[7460] Forked 31065 -(31065) found -[7459] Forked 31066 -(31066) found -[7458] Forked 31067 -(31067) found -[7457] Forked 31068 -(31068) found -[7456] Forked 31069 -(31069) found -[7455] Forked 31070 -(31070) found -[7454] Forked 31071 -(31071) found -[7453] Forked 31072 -(31072) found -[7452] Forked 31073 -(31073) found -[7451] Forked 31074 -(31074) found -[7450] Forked 31075 -(31075) found -[7449] Forked 31076 -(31076) found -[7448] Forked 31077 -(31077) found -[7447] Forked 31078 -(31078) found -[7446] Forked 31079 -(31079) found -[7445] Forked 31080 -(31080) found -[7444] Forked 31081 -(31081) found -[7443] Forked 31082 -(31082) found -[7442] Forked 31083 -(31083) found -[7441] Forked 31084 -(31084) found -[7440] Forked 31085 -(31085) found -[7439] Forked 31086 -[7438] Forked 31087 -(31086) found -(31087) found -[7437] Forked 31088 -[7436] Forked 31089 -(31088) found -(31089) found -[7435] Forked 31090 -[7434] Forked 31091 -(31090) found -(31091) found -[7433] Forked 31092 -[7432] Forked 31093 -(31092) found -(31093) found -[7431] Forked 31094 -[7430] Forked 31095 -(31094) found -(31095) found -[7429] Forked 31096 -[7428] Forked 31097 -(31096) found -(31097) found -[7427] Forked 31098 -[7426] Forked 31099 -(31098) found -(31099) found -[7425] Forked 31100 -[7424] Forked 31101 -(31100) found -(31101) found -[7423] Forked 31102 -[7422] Forked 31103 -(31102) found -(31103) found -[7421] Forked 31104 -[7420] Forked 31105 -(31104) found -(31105) found -[7419] Forked 31106 -[7418] Forked 31107 -(31106) found -(31107) found -[7417] Forked 31108 -[7416] Forked 31109 -(31108) found -(31109) found -[7415] Forked 31110 -[7414] Forked 31111 -(31110) found -(31111) found -[7413] Forked 31112 -[7412] Forked 31113 -(31112) found -(31113) found -[7411] Forked 31114 -[7410] Forked 31115 -(31114) found -(31115) found -[7409] Forked 31116 -[7408] Forked 31117 -(31116) found -(31117) found -[7407] Forked 31118 -[7406] Forked 31119 -(31118) found -(31119) found -[7405] Forked 31120 -[7404] Forked 31121 -(31120) found -(31121) found -[7403] Forked 31122 -[7402] Forked 31123 -(31122) found -(31123) found -[7401] Forked 31124 -[7400] Forked 31125 -(31124) found -(31125) found -[7399] Forked 31126 -[7398] Forked 31127 -(31126) found -(31127) found -[7397] Forked 31128 -[7396] Forked 31129 -(31128) found -(31129) found -[7395] Forked 31130 -(31130) found -[7394] Forked 31131 -(31131) found -[7393] Forked 31132 -(31132) found -[7392] Forked 31133 -(31133) found -[7391] Forked 31134 -(31134) found -[7390] Forked 31135 -(31135) found -[7389] Forked 31136 -(31136) found -[7388] Forked 31137 -(31137) found -[7387] Forked 31138 -(31138) found -[7386] Forked 31139 -(31139) found -[7385] Forked 31140 -(31140) found -[7384] Forked 31141 -(31141) found -[7383] Forked 31142 -(31142) found -[7382] Forked 31143 -(31143) found -[7381] Forked 31144 -(31144) found -[7380] Forked 31145 -(31145) found -[7379] Forked 31146 -(31146) found -[7378] Forked 31147 -(31147) found -[7377] Forked 31148 -(31148) found -[7376] Forked 31149 -(31149) found -[7375] Forked 31150 -(31150) found -[7374] Forked 31151 -(31151) found -[7373] Forked 31152 -(31152) found -[7372] Forked 31153 -(31153) found -[7371] Forked 31154 -(31154) found -[7370] Forked 31155 -(31155) found -[7369] Forked 31156 -(31156) found -[7368] Forked 31157 -(31157) found -[7367] Forked 31158 -(31158) found -[7366] Forked 31159 -(31159) found -[7365] Forked 31160 -(31160) found -[7364] Forked 31161 -(31161) found -[7363] Forked 31162 -(31162) found -[7362] Forked 31163 -(31163) found -[7361] Forked 31164 -[7360] Forked 31165 -(31164) found -(31165) found -[7359] Forked 31166 -[7358] Forked 31167 -(31166) found -(31167) found -[7357] Forked 31168 -[7356] Forked 31169 -(31168) found -(31169) found -[7355] Forked 31170 -[7354] Forked 31171 -(31170) found -(31171) found -[7353] Forked 31172 -[7352] Forked 31173 -(31172) found -(31173) found -[7351] Forked 31174 -[7350] Forked 31175 -(31174) found -(31175) found -[7349] Forked 31176 -[7348] Forked 31177 -(31176) found -(31177) found -[7347] Forked 31178 -[7346] Forked 31179 -(31178) found -(31179) found -[7345] Forked 31180 -[7344] Forked 31181 -(31180) found -(31181) found -[7343] Forked 31182 -[7342] Forked 31183 -(31182) found -(31183) found -[7341] Forked 31184 -[7340] Forked 31185 -(31184) found -(31185) found -[7339] Forked 31186 -[7338] Forked 31187 -(31186) found -(31187) found -[7337] Forked 31188 -[7336] Forked 31189 -(31188) found -(31189) found -[7335] Forked 31190 -[7334] Forked 31191 -(31190) found -(31191) found -[7333] Forked 31192 -[7332] Forked 31193 -(31192) found -(31193) found -[7331] Forked 31194 -[7330] Forked 31195 -(31194) found -(31195) found -[7329] Forked 31196 -[7328] Forked 31197 -(31196) found -(31197) found -[7327] Forked 31198 -[7326] Forked 31199 -(31198) found -(31199) found -[7325] Forked 31200 -[7324] Forked 31201 -(31200) found -(31201) found -[7323] Forked 31202 -[7322] Forked 31203 -(31202) found -(31203) found -[7321] Forked 31204 -[7320] Forked 31205 -(31204) found -(31205) found -[7319] Forked 31206 -[7318] Forked 31207 -(31206) found -(31207) found -[7317] Forked 31208 -[7316] Forked 31209 -(31208) found -(31209) found -[7315] Forked 31210 -(31210) found -[7314] Forked 31211 -(31211) found -[7313] Forked 31212 -(31212) found -[7312] Forked 31213 -(31213) found -[7311] Forked 31214 -(31214) found -[7310] Forked 31215 -(31215) found -[7309] Forked 31216 -(31216) found -[7308] Forked 31217 -(31217) found -[7307] Forked 31218 -(31218) found -[7306] Forked 31219 -(31219) found -[7305] Forked 31220 -(31220) found -[7304] Forked 31221 -(31221) found -[7303] Forked 31222 -(31222) found -[7302] Forked 31223 -(31223) found -[7301] Forked 31224 -(31224) found -[7300] Forked 31225 -(31225) found -[7299] Forked 31226 -(31226) found -[7298] Forked 31227 -(31227) found -[7297] Forked 31228 -(31228) found -[7296] Forked 31229 -(31229) found -[7295] Forked 31230 -(31230) found -[7294] Forked 31231 -(31231) found -[7293] Forked 31232 -(31232) found -[7292] Forked 31233 -(31233) found -[7291] Forked 31234 -(31234) found -[7290] Forked 31235 -(31235) found -[7289] Forked 31236 -(31236) found -[7288] Forked 31237 -(31237) found -[7287] Forked 31238 -(31238) found -[7286] Forked 31239 -(31239) found -[7285] Forked 31240 -[7284] Forked 31241 -(31240) found -(31241) found -[7283] Forked 31242 -[7282] Forked 31243 -(31242) found -(31243) found -[7281] Forked 31244 -[7280] Forked 31245 -(31244) found -(31245) found -[7279] Forked 31246 -[7278] Forked 31247 -(31246) found -(31247) found -[7277] Forked 31248 -[7276] Forked 31249 -(31248) found -(31249) found -[7275] Forked 31250 -[7274] Forked 31251 -(31250) found -(31251) found -[7273] Forked 31252 -[7272] Forked 31253 -(31252) found -(31253) found -[7271] Forked 31254 -[7270] Forked 31255 -(31254) found -(31255) found -[7269] Forked 31256 -[7268] Forked 31257 -(31256) found -(31257) found -[7267] Forked 31258 -[7266] Forked 31259 -(31258) found -(31259) found -[7265] Forked 31260 -[7264] Forked 31261 -(31260) found -(31261) found -[7263] Forked 31262 -[7262] Forked 31263 -(31262) found -(31263) found -[7261] Forked 31264 -[7260] Forked 31265 -(31264) found -(31265) found -[7259] Forked 31266 -[7258] Forked 31267 -(31266) found -(31267) found -[7257] Forked 31268 -[7256] Forked 31269 -(31268) found -(31269) found -[7255] Forked 31270 -[7254] Forked 31271 -(31270) found -(31271) found -[7253] Forked 31272 -[7252] Forked 31273 -(31272) found -(31273) found -[7251] Forked 31274 -[7250] Forked 31275 -(31274) found -(31275) found -[7249] Forked 31276 -[7248] Forked 31277 -(31276) found -(31277) found -[7247] Forked 31278 -[7246] Forked 31279 -(31278) found -(31279) found -[7245] Forked 31280 -[7244] Forked 31281 -(31280) found -(31281) found -[7243] Forked 31282 -[7242] Forked 31283 -(31282) found -(31283) found -[7241] Forked 31284 -[7240] Forked 31285 -(31285) found -(31284) found -[7239] Forked 31286 -(31286) found -[7238] Forked 31287 -(31287) found -[7237] Forked 31288 -(31288) found -[7236] Forked 31289 -(31289) found -[7235] Forked 31290 -(31290) found -[7234] Forked 31291 -(31291) found -[7233] Forked 31292 -(31292) found -[7232] Forked 31293 -(31293) found -[7231] Forked 31294 -(31294) found -[7230] Forked 31295 -(31295) found -[7229] Forked 31296 -(31296) found -[7228] Forked 31297 -(31297) found -[7227] Forked 31298 -(31298) found -[7226] Forked 31299 -(31299) found -[7225] Forked 31300 -(31300) found -[7224] Forked 31301 -(31301) found -[7223] Forked 31302 -(31302) found -[7222] Forked 31303 -(31303) found -[7221] Forked 31304 -(31304) found -[7220] Forked 31305 -(31305) found -[7219] Forked 31306 -(31306) found -[7218] Forked 31307 -(31307) found -[7217] Forked 31308 -(31308) found -[7216] Forked 31309 -(31309) found -[7215] Forked 31310 -(31310) found -[7214] Forked 31311 -(31311) found -[7213] Forked 31312 -(31312) found -[7212] Forked 31313 -(31313) found -[7211] Forked 31314 -(31314) found -[7210] Forked 31315 -(31315) found -[7209] Forked 31316 -(31316) found -[7208] Forked 31317 -(31317) found -[7207] Forked 31318 -(31318) found -[7206] Forked 31319 -(31319) found -[7205] Forked 31320 -[7204] Forked 31321 -(31320) found -(31321) found -[7203] Forked 31322 -[7202] Forked 31323 -(31323) found -(31322) found -[7201] Forked 31324 -(31324) found -[7200] Forked 31325 -(31325) found -[7199] Forked 31326 -(31326) found -[7198] Forked 31327 -(31327) found -[7197] Forked 31328 -(31328) found -[7196] Forked 31329 -(31329) found -[7195] Forked 31330 -(31330) found -[7194] Forked 31331 -(31331) found -[7193] Forked 31332 -(31332) found -[7192] Forked 31333 -(31333) found -[7191] Forked 31334 -(31334) found -[7190] Forked 31335 -(31335) found -[7189] Forked 31336 -(31336) found -[7188] Forked 31337 -(31337) found -[7187] Forked 31338 -(31338) found -[7186] Forked 31339 -(31339) found -[7185] Forked 31340 -(31340) found -[7184] Forked 31341 -(31341) found -[7183] Forked 31342 -(31342) found -[7182] Forked 31343 -(31343) found -[7181] Forked 31344 -(31344) found -[7180] Forked 31345 -(31345) found -[7179] Forked 31346 -(31346) found -[7178] Forked 31347 -(31347) found -[7177] Forked 31348 -(31348) found -[7176] Forked 31349 -(31349) found -[7175] Forked 31350 -(31350) found -[7174] Forked 31351 -(31351) found -[7173] Forked 31352 -(31352) found -[7172] Forked 31353 -(31353) found -[7171] Forked 31354 -(31354) found -[7170] Forked 31355 -(31355) found -[7169] Forked 31356 -(31356) found -[7168] Forked 31357 -(31357) found -[7167] Forked 31358 -(31358) found -[7166] Forked 31359 -(31359) found -[7165] Forked 31360 -(31360) found -[7164] Forked 31361 -(31361) found -[7163] Forked 31362 -(31362) found -[7162] Forked 31363 -(31363) found -[7161] Forked 31364 -(31364) found -[7160] Forked 31365 -(31365) found -[7159] Forked 31366 -(31366) found -[7158] Forked 31367 -(31367) found -[7157] Forked 31368 -(31368) found -[7156] Forked 31369 -(31369) found -[7155] Forked 31370 -(31370) found -[7154] Forked 31371 -(31371) found -[7153] Forked 31372 -(31372) found -[7152] Forked 31373 -(31373) found -[7151] Forked 31374 -(31374) found -[7150] Forked 31375 -(31375) found -[7149] Forked 31376 -(31376) found -[7148] Forked 31377 -(31377) found -[7147] Forked 31378 -(31378) found -[7146] Forked 31379 -(31379) found -[7145] Forked 31380 -(31380) found -[7144] Forked 31381 -(31381) found -[7143] Forked 31382 -(31382) found -[7142] Forked 31383 -(31383) found -[7141] Forked 31384 -(31384) found -[7140] Forked 31385 -(31385) found -[7139] Forked 31386 -(31386) found -[7138] Forked 31387 -(31387) found -[7137] Forked 31388 -(31388) found -[7136] Forked 31389 -(31389) found -[7135] Forked 31390 -(31390) found -[7134] Forked 31391 -(31391) found -[7133] Forked 31392 -(31392) found -[7132] Forked 31393 -(31393) found -[7131] Forked 31394 -(31394) found -[7130] Forked 31395 -(31395) found -[7129] Forked 31396 -(31396) found -[7128] Forked 31397 -(31397) found -[7127] Forked 31398 -(31398) found -[7126] Forked 31399 -(31399) found -[7125] Forked 31400 -(31400) found -[7124] Forked 31401 -(31401) found -[7123] Forked 31402 -(31402) found -[7122] Forked 31403 -(31403) found -[7121] Forked 31404 -(31404) found -[7120] Forked 31405 -(31405) found -[7119] Forked 31406 -(31406) found -[7118] Forked 31407 -(31407) found -[7117] Forked 31408 -(31408) found -[7116] Forked 31409 -(31409) found -[7115] Forked 31410 -(31410) found -[7114] Forked 31411 -(31411) found -[7113] Forked 31412 -(31412) found -[7112] Forked 31413 -(31413) found -[7111] Forked 31414 -(31414) found -[7110] Forked 31415 -(31415) found -[7109] Forked 31416 -(31416) found -[7108] Forked 31417 -(31417) found -[7107] Forked 31418 -(31418) found -[7106] Forked 31419 -(31419) found -[7105] Forked 31420 -(31420) found -[7104] Forked 31421 -(31421) found -[7103] Forked 31422 -(31422) found -[7102] Forked 31423 -(31423) found -[7101] Forked 31424 -(31424) found -[7100] Forked 31425 -(31425) found -[7099] Forked 31426 -[7098] Forked 31427 -(31426) found -(31427) found -[7097] Forked 31428 -[7096] Forked 31429 -(31428) found -(31429) found -[7095] Forked 31430 -[7094] Forked 31431 -(31430) found -(31431) found -[7093] Forked 31432 -[7092] Forked 31433 -(31432) found -(31433) found -[7091] Forked 31434 -[7090] Forked 31435 -(31434) found -(31435) found -[7089] Forked 31436 -[7088] Forked 31437 -(31436) found -(31437) found -[7087] Forked 31438 -[7086] Forked 31439 -(31438) found -(31439) found -[7085] Forked 31440 -[7084] Forked 31441 -(31440) found -(31441) found -[7083] Forked 31442 -[7082] Forked 31443 -(31442) found -(31443) found -[7081] Forked 31444 -[7080] Forked 31445 -(31444) found -(31445) found -[7079] Forked 31446 -[7078] Forked 31447 -(31446) found -(31447) found -[7077] Forked 31448 -[7076] Forked 31449 -(31448) found -(31449) found -[7075] Forked 31450 -[7074] Forked 31451 -(31450) found -(31451) found -[7073] Forked 31452 -[7072] Forked 31453 -(31452) found -(31453) found -[7071] Forked 31454 -[7070] Forked 31455 -(31454) found -(31455) found -[7069] Forked 31456 -[7068] Forked 31457 -(31456) found -(31457) found -[7067] Forked 31458 -[7066] Forked 31459 -(31458) found -(31459) found -[7065] Forked 31460 -[7064] Forked 31461 -(31460) found -(31461) found -[7063] Forked 31462 -[7062] Forked 31463 -(31462) found -(31463) found -[7061] Forked 31464 -[7060] Forked 31465 -(31464) found -(31465) found -[7059] Forked 31466 -[7058] Forked 31467 -(31466) found -(31467) found -[7057] Forked 31468 -[7056] Forked 31469 -(31468) found -(31469) found -[7055] Forked 31470 -[7054] Forked 31471 -(31470) found -(31471) found -[7053] Forked 31472 -[7052] Forked 31473 -(31472) found -(31473) found -[7051] Forked 31474 -[7050] Forked 31475 -(31474) found -(31475) found -[7049] Forked 31476 -[7048] Forked 31477 -(31476) found -(31477) found -[7047] Forked 31478 -[7046] Forked 31479 -(31478) found -(31479) found -[7045] Forked 31480 -[7044] Forked 31481 -(31480) found -(31481) found -[7043] Forked 31482 -[7042] Forked 31483 -(31482) found -(31483) found -[7041] Forked 31484 -[7040] Forked 31485 -(31484) found -(31485) found -[7039] Forked 31486 -[7038] Forked 31487 -(31486) found -(31487) found -[7037] Forked 31488 -[7036] Forked 31489 -(31488) found -(31489) found -[7035] Forked 31490 -[7034] Forked 31491 -(31490) found -(31491) found -[7033] Forked 31492 -[7032] Forked 31493 -(31492) found -(31493) found -[7031] Forked 31494 -[7030] Forked 31495 -(31494) found -(31495) found -[7029] Forked 31496 -[7028] Forked 31497 -(31496) found -(31497) found -[7027] Forked 31498 -[7026] Forked 31499 -(31498) found -(31499) found -[7025] Forked 31500 -[7024] Forked 31501 -(31500) found -(31501) found -[7023] Forked 31502 -[7022] Forked 31503 -(31502) found -(31503) found -[7021] Forked 31504 -[7020] Forked 31505 -(31504) found -(31505) found -[7019] Forked 31506 -[7018] Forked 31507 -(31506) found -(31507) found -[7017] Forked 31508 -[7016] Forked 31509 -(31508) found -(31509) found -[7015] Forked 31510 -[7014] Forked 31511 -(31510) found -(31511) found -[7013] Forked 31512 -[7012] Forked 31513 -(31512) found -(31513) found -[7011] Forked 31514 -[7010] Forked 31515 -(31514) found -(31515) found -[7009] Forked 31516 -[7008] Forked 31517 -(31516) found -(31517) found -[7007] Forked 31518 -[7006] Forked 31519 -(31518) found -(31519) found -[7005] Forked 31520 -[7004] Forked 31521 -(31520) found -(31521) found -[7003] Forked 31522 -[7002] Forked 31523 -(31522) found -(31523) found -[7001] Forked 31524 -[7000] Forked 31525 -(31524) found -(31525) found -[6999] Forked 31526 -[6998] Forked 31527 -(31526) found -(31527) found -[6997] Forked 31528 -[6996] Forked 31529 -(31528) found -(31529) found -[6995] Forked 31530 -[6994] Forked 31531 -(31530) found -(31531) found -[6993] Forked 31532 -[6992] Forked 31533 -(31532) found -(31533) found -[6991] Forked 31534 -[6990] Forked 31535 -(31534) found -(31535) found -[6989] Forked 31536 -[6988] Forked 31537 -(31536) found -(31537) found -[6987] Forked 31538 -[6986] Forked 31539 -(31538) found -(31539) found -[6985] Forked 31540 -[6984] Forked 31541 -(31540) found -(31541) found -[6983] Forked 31542 -[6982] Forked 31543 -(31542) found -(31543) found -[6981] Forked 31544 -[6980] Forked 31545 -(31544) found -(31545) found -[6979] Forked 31546 -[6978] Forked 31547 -(31546) found -(31547) found -[6977] Forked 31548 -[6976] Forked 31549 -(31548) found -(31549) found -[6975] Forked 31550 -[6974] Forked 31551 -(31550) found -(31551) found -[6973] Forked 31552 -[6972] Forked 31553 -(31552) found -(31553) found -[6971] Forked 31554 -[6970] Forked 31555 -(31554) found -(31555) found -[6969] Forked 31556 -[6968] Forked 31557 -(31556) found -(31557) found -[6967] Forked 31558 -[6966] Forked 31559 -(31558) found -(31559) found -[6965] Forked 31560 -[6964] Forked 31561 -(31560) found -(31561) found -[6963] Forked 31562 -[6962] Forked 31563 -(31562) found -(31563) found -[6961] Forked 31564 -[6960] Forked 31565 -(31564) found -(31565) found -[6959] Forked 31566 -[6958] Forked 31567 -(31566) found -(31567) found -[6957] Forked 31568 -[6956] Forked 31569 -(31568) found -(31569) found -[6955] Forked 31570 -[6954] Forked 31571 -(31570) found -(31571) found -[6953] Forked 31572 -[6952] Forked 31573 -(31572) found -(31573) found -[6951] Forked 31574 -[6950] Forked 31575 -(31574) found -(31575) found -[6949] Forked 31576 -[6948] Forked 31577 -(31576) found -(31577) found -[6947] Forked 31578 -[6946] Forked 31579 -(31578) found -(31579) found -[6945] Forked 31580 -[6944] Forked 31581 -(31580) found -(31581) found -[6943] Forked 31582 -[6942] Forked 31583 -(31582) found -(31583) found -[6941] Forked 31584 -[6940] Forked 31585 -(31584) found -(31585) found -[6939] Forked 31586 -[6938] Forked 31587 -(31586) found -(31587) found -[6937] Forked 31588 -[6936] Forked 31589 -(31588) found -(31589) found -[6935] Forked 31590 -[6934] Forked 31591 -(31590) found -(31591) found -[6933] Forked 31592 -[6932] Forked 31593 -(31592) found -(31593) found -[6931] Forked 31594 -[6930] Forked 31595 -(31594) found -(31595) found -[6929] Forked 31596 -[6928] Forked 31597 -(31596) found -(31597) found -[6927] Forked 31598 -[6926] Forked 31599 -(31598) found -(31599) found -[6925] Forked 31600 -[6924] Forked 31601 -(31600) found -(31601) found -[6923] Forked 31602 -[6922] Forked 31603 -(31602) found -(31603) found -[6921] Forked 31604 -[6920] Forked 31605 -(31604) found -(31605) found -[6919] Forked 31606 -[6918] Forked 31607 -(31606) found -(31607) found -[6917] Forked 31608 -[6916] Forked 31609 -(31608) found -(31609) found -[6915] Forked 31610 -(31610) found -[6914] Forked 31611 -(31611) found -[6913] Forked 31612 -(31612) found -[6912] Forked 31613 -(31613) found -[6911] Forked 31614 -(31614) found -[6910] Forked 31615 -[6909] Forked 31616 -(31615) found -(31616) found -[6908] Forked 31617 -[6907] Forked 31618 -(31617) found -(31618) found -[6906] Forked 31619 -[6905] Forked 31620 -(31619) found -(31620) found -[6904] Forked 31621 -[6903] Forked 31622 -(31621) found -(31622) found -[6902] Forked 31623 -[6901] Forked 31624 -(31623) found -(31624) found -[6900] Forked 31625 -[6899] Forked 31626 -(31625) found -(31626) found -[6898] Forked 31627 -[6897] Forked 31628 -(31627) found -(31628) found -[6896] Forked 31629 -[6895] Forked 31630 -(31629) found -(31630) found -[6894] Forked 31631 -[6893] Forked 31632 -(31631) found -(31632) found -[6892] Forked 31633 -[6891] Forked 31634 -(31633) found -(31634) found -[6890] Forked 31635 -[6889] Forked 31636 -(31635) found -(31636) found -[6888] Forked 31637 -[6887] Forked 31638 -(31637) found -(31638) found -[6886] Forked 31639 -[6885] Forked 31640 -(31639) found -(31640) found -[6884] Forked 31641 -[6883] Forked 31642 -(31641) found -(31642) found -[6882] Forked 31643 -[6881] Forked 31644 -(31643) found -(31644) found -[6880] Forked 31645 -[6879] Forked 31646 -(31645) found -(31646) found -[6878] Forked 31647 -[6877] Forked 31648 -(31647) found -(31648) found -[6876] Forked 31649 -[6875] Forked 31650 -(31649) found -(31650) found -[6874] Forked 31651 -[6873] Forked 31652 -(31651) found -(31652) found -[6872] Forked 31653 -[6871] Forked 31654 -(31653) found -(31654) found -[6870] Forked 31655 -[6869] Forked 31656 -(31655) found -(31656) found -[6868] Forked 31657 -[6867] Forked 31658 -(31657) found -(31658) found -[6866] Forked 31659 -[6865] Forked 31660 -(31659) found -(31660) found -[6864] Forked 31661 -[6863] Forked 31662 -(31661) found -(31662) found -[6862] Forked 31663 -[6861] Forked 31664 -(31663) found -(31664) found -[6860] Forked 31665 -[6859] Forked 31666 -(31665) found -(31666) found -[6858] Forked 31667 -[6857] Forked 31668 -(31667) found -(31668) found -[6856] Forked 31669 -[6855] Forked 31670 -(31669) found -(31670) found -[6854] Forked 31671 -[6853] Forked 31672 -(31671) found -(31672) found -[6852] Forked 31673 -[6851] Forked 31674 -(31673) found -(31674) found -[6850] Forked 31675 -[6849] Forked 31676 -(31675) found -(31676) found -[6848] Forked 31677 -[6847] Forked 31678 -(31677) found -(31678) found -[6846] Forked 31679 -[6845] Forked 31680 -(31679) found -(31680) found -[6844] Forked 31681 -[6843] Forked 31682 -(31681) found -(31682) found -[6842] Forked 31683 -[6841] Forked 31684 -(31683) found -(31684) found -[6840] Forked 31685 -[6839] Forked 31686 -(31685) found -(31686) found -[6838] Forked 31687 -[6837] Forked 31688 -(31687) found -(31688) found -[6836] Forked 31689 -[6835] Forked 31690 -(31689) found -(31690) found -[6834] Forked 31691 -[6833] Forked 31692 -(31691) found -(31692) found -[6832] Forked 31693 -[6831] Forked 31694 -(31693) found -(31694) found -[6830] Forked 31695 -[6829] Forked 31696 -(31695) found -(31696) found -[6828] Forked 31697 -[6827] Forked 31698 -(31697) found -(31698) found -[6826] Forked 31699 -[6825] Forked 31700 -(31699) found -(31700) found -[6824] Forked 31701 -[6823] Forked 31702 -(31701) found -(31702) found -[6822] Forked 31703 -[6821] Forked 31704 -(31703) found -(31704) found -[6820] Forked 31705 -[6819] Forked 31706 -(31706) found -(31705) found -[6818] Forked 31707 -(31707) found -[6817] Forked 31708 -(31708) found -[6816] Forked 31709 -(31709) found -[6815] Forked 31710 -(31710) found -[6814] Forked 31711 -(31711) found -[6813] Forked 31712 -(31712) found -[6812] Forked 31713 -(31713) found -[6811] Forked 31714 -(31714) found -[6810] Forked 31715 -(31715) found -[6809] Forked 31716 -(31716) found -[6808] Forked 31717 -(31717) found -[6807] Forked 31718 -(31718) found -[6806] Forked 31719 -(31719) found -[6805] Forked 31720 -(31720) found -[6804] Forked 31721 -(31721) found -[6803] Forked 31722 -(31722) found -[6802] Forked 31723 -(31723) found -[6801] Forked 31724 -(31724) found -[6800] Forked 31725 -(31725) found -[6799] Forked 31726 -(31726) found -[6798] Forked 31727 -(31727) found -[6797] Forked 31728 -(31728) found -[6796] Forked 31729 -(31729) found -[6795] Forked 31730 -(31730) found -[6794] Forked 31731 -(31731) found -[6793] Forked 31732 -(31732) found -[6792] Forked 31733 -(31733) found -[6791] Forked 31734 -(31734) found -[6790] Forked 31735 -(31735) found -[6789] Forked 31736 -(31736) found -[6788] Forked 31737 -(31737) found -[6787] Forked 31738 -(31738) found -[6786] Forked 31739 -(31739) found -[6785] Forked 31740 -(31740) found -[6784] Forked 31741 -(31741) found -[6783] Forked 31742 -[6782] Forked 31743 -(31742) found -(31743) found -[6781] Forked 31744 -[6780] Forked 31745 -(31744) found -(31745) found -[6779] Forked 31746 -[6778] Forked 31747 -(31746) found -(31747) found -[6777] Forked 31748 -[6776] Forked 31749 -(31748) found -(31749) found -[6775] Forked 31750 -[6774] Forked 31751 -(31750) found -(31751) found -[6773] Forked 31752 -[6772] Forked 31753 -(31752) found -(31753) found -[6771] Forked 31754 -[6770] Forked 31755 -(31754) found -(31755) found -[6769] Forked 31756 -[6768] Forked 31757 -(31756) found -(31757) found -[6767] Forked 31758 -[6766] Forked 31759 -(31758) found -(31759) found -[6765] Forked 31760 -[6764] Forked 31761 -(31760) found -(31761) found -[6763] Forked 31762 -[6762] Forked 31763 -(31762) found -(31763) found -[6761] Forked 31764 -[6760] Forked 31765 -(31764) found -(31765) found -[6759] Forked 31766 -[6758] Forked 31767 -(31766) found -(31767) found -[6757] Forked 31768 -[6756] Forked 31769 -(31768) found -(31769) found -[6755] Forked 31770 -[6754] Forked 31771 -(31770) found -(31771) found -[6753] Forked 31772 -[6752] Forked 31773 -(31772) found -(31773) found -[6751] Forked 31774 -[6750] Forked 31775 -(31774) found -(31775) found -[6749] Forked 31776 -[6748] Forked 31777 -(31776) found -(31777) found -[6747] Forked 31778 -[6746] Forked 31779 -(31778) found -(31779) found -[6745] Forked 31780 -[6744] Forked 31781 -(31780) found -(31781) found -[6743] Forked 31782 -[6742] Forked 31783 -(31782) found -(31783) found -[6741] Forked 31784 -[6740] Forked 31785 -(31784) found -(31785) found -[6739] Forked 31786 -[6738] Forked 31787 -(31786) found -(31787) found -[6737] Forked 31788 -[6736] Forked 31789 -(31788) found -(31789) found -[6735] Forked 31790 -[6734] Forked 31791 -(31790) found -(31791) found -[6733] Forked 31792 -[6732] Forked 31793 -(31792) found -(31793) found -[6731] Forked 31794 -[6730] Forked 31795 -(31794) found -(31795) found -[6729] Forked 31796 -[6728] Forked 31797 -(31796) found -(31797) found -[6727] Forked 31798 -[6726] Forked 31799 -(31798) found -(31799) found -[6725] Forked 31800 -[6724] Forked 31801 -(31800) found -(31801) found -[6723] Forked 31802 -[6722] Forked 31803 -(31802) found -(31803) found -[6721] Forked 31804 -[6720] Forked 31805 -(31804) found -(31805) found -[6719] Forked 31806 -[6718] Forked 31807 -(31806) found -(31807) found -[6717] Forked 31808 -[6716] Forked 31809 -(31808) found -(31809) found -[6715] Forked 31810 -[6714] Forked 31811 -(31810) found -(31811) found -[6713] Forked 31812 -[6712] Forked 31813 -(31812) found -(31813) found -[6711] Forked 31814 -[6710] Forked 31815 -(31814) found -(31815) found -[6709] Forked 31816 -[6708] Forked 31817 -(31816) found -(31817) found -[6707] Forked 31818 -[6706] Forked 31819 -(31818) found -(31819) found -[6705] Forked 31820 -[6704] Forked 31821 -(31820) found -(31821) found -[6703] Forked 31822 -[6702] Forked 31823 -(31822) found -(31823) found -[6701] Forked 31824 -[6700] Forked 31825 -(31824) found -(31825) found -[6699] Forked 31826 -[6698] Forked 31827 -(31826) found -(31827) found -[6697] Forked 31828 -[6696] Forked 31829 -(31828) found -(31829) found -[6695] Forked 31830 -[6694] Forked 31831 -(31830) found -(31831) found -[6693] Forked 31832 -[6692] Forked 31833 -(31832) found -(31833) found -[6691] Forked 31834 -[6690] Forked 31835 -(31834) found -(31835) found -[6689] Forked 31836 -[6688] Forked 31837 -(31836) found -(31837) found -[6687] Forked 31838 -[6686] Forked 31839 -(31838) found -(31839) found -[6685] Forked 31840 -[6684] Forked 31842 -(31840) found -(31842) found -[6683] Forked 31843 -(31843) found -[6682] Forked 31844 -(31844) found -[6681] Forked 31845 -(31845) found -[6680] Forked 31846 -(31846) found -[6679] Forked 31847 -(31847) found -[6678] Forked 31848 -(31848) found -[6677] Forked 31849 -(31849) found -[6676] Forked 31850 -(31850) found -[6675] Forked 31851 -(31851) found -[6674] Forked 31852 -(31852) found -[6673] Forked 31853 -(31853) found -[6672] Forked 31854 -(31854) found -[6671] Forked 31855 -(31855) found -[6670] Forked 31856 -(31856) found -[6669] Forked 31857 -(31857) found -[6668] Forked 31858 -(31858) found -[6667] Forked 31859 -(31859) found -[6666] Forked 31860 -(31860) found -[6665] Forked 31861 -(31861) found -[6664] Forked 31862 -(31862) found -[6663] Forked 31863 -(31863) found -[6662] Forked 31864 -(31864) found -[6661] Forked 31865 -(31865) found -[6660] Forked 31866 -(31866) found -[6659] Forked 31867 -(31867) found -[6658] Forked 31868 -(31868) found -[6657] Forked 31869 -(31869) found -[6656] Forked 31870 -(31870) found -[6655] Forked 31871 -(31871) found -[6654] Forked 31872 -(31872) found -[6653] Forked 31873 -(31873) found -[6652] Forked 31874 -(31874) found -[6651] Forked 31875 -(31875) found -[6650] Forked 31876 -(31876) found -[6649] Forked 31877 -(31877) found -[6648] Forked 31878 -(31878) found -[6647] Forked 31879 -(31879) found -[6646] Forked 31880 -(31880) found -[6645] Forked 31881 -(31881) found -[6644] Forked 31882 -(31882) found -[6643] Forked 31883 -(31883) found -[6642] Forked 31884 -(31884) found -[6641] Forked 31885 -(31885) found -[6640] Forked 31886 -(31886) found -[6639] Forked 31887 -(31887) found -[6638] Forked 31888 -(31888) found -[6637] Forked 31889 -(31889) found -[6636] Forked 31890 -(31890) found -[6635] Forked 31891 -(31891) found -[6634] Forked 31892 -(31892) found -[6633] Forked 31893 -(31893) found -[6632] Forked 31894 -(31894) found -[6631] Forked 31895 -(31895) found -[6630] Forked 31896 -(31896) found -[6629] Forked 31897 -(31897) found -[6628] Forked 31898 -(31898) found -[6627] Forked 31899 -(31899) found -[6626] Forked 31900 -(31900) found -[6625] Forked 31901 -(31901) found -[6624] Forked 31902 -(31902) found -[6623] Forked 31903 -(31903) found -[6622] Forked 31904 -[6621] Forked 31905 -(31904) found -(31905) found -[6620] Forked 31906 -[6619] Forked 31907 -(31906) found -(31907) found -[6618] Forked 31908 -[6617] Forked 31909 -(31908) found -(31909) found -[6616] Forked 31910 -[6615] Forked 31911 -(31910) found -(31911) found -[6614] Forked 31912 -[6613] Forked 31913 -(31912) found -(31913) found -[6612] Forked 31914 -[6611] Forked 31915 -(31914) found -(31915) found -[6610] Forked 31916 -[6609] Forked 31917 -(31916) found -(31917) found -[6608] Forked 31918 -[6607] Forked 31919 -(31918) found -(31919) found -[6606] Forked 31920 -[6605] Forked 31921 -(31920) found -(31921) found -[6604] Forked 31922 -[6603] Forked 31923 -(31922) found -(31923) found -[6602] Forked 31924 -[6601] Forked 31925 -(31924) found -(31925) found -[6600] Forked 31926 -[6599] Forked 31927 -(31926) found -(31927) found -[6598] Forked 31928 -[6597] Forked 31929 -(31928) found -(31929) found -[6596] Forked 31930 -[6595] Forked 31931 -(31930) found -(31931) found -[6594] Forked 31932 -[6593] Forked 31933 -(31932) found -(31933) found -[6592] Forked 31934 -[6591] Forked 31935 -(31934) found -(31935) found -[6590] Forked 31936 -[6589] Forked 31937 -(31936) found -(31937) found -[6588] Forked 31938 -[6587] Forked 31939 -(31938) found -(31939) found -[6586] Forked 31940 -[6585] Forked 31941 -(31940) found -(31941) found -[6584] Forked 31942 -[6583] Forked 31943 -(31942) found -(31943) found -[6582] Forked 31944 -[6581] Forked 31945 -(31944) found -(31945) found -[6580] Forked 31946 -[6579] Forked 31947 -(31946) found -(31947) found -[6578] Forked 31948 -[6577] Forked 31949 -(31948) found -(31949) found -[6576] Forked 31950 -(31950) found -[6575] Forked 31951 -(31951) found -[6574] Forked 31952 -(31952) found -[6573] Forked 31953 -(31953) found -[6572] Forked 31954 -(31954) found -[6571] Forked 31955 -(31955) found -[6570] Forked 31956 -(31956) found -[6569] Forked 31957 -(31957) found -[6568] Forked 31958 -(31958) found -[6567] Forked 31959 -(31959) found -[6566] Forked 31960 -(31960) found -[6565] Forked 31961 -(31961) found -[6564] Forked 31962 -(31962) found -[6563] Forked 31963 -(31963) found -[6562] Forked 31964 -(31964) found -[6561] Forked 31965 -(31965) found -[6560] Forked 31966 -(31966) found -[6559] Forked 31967 -(31967) found -[6558] Forked 31968 -(31968) found -[6557] Forked 31969 -(31969) found -[6556] Forked 31970 -(31970) found -[6555] Forked 31971 -(31971) found -[6554] Forked 31972 -(31972) found -[6553] Forked 31973 -(31973) found -[6552] Forked 31974 -(31974) found -[6551] Forked 31975 -(31975) found -[6550] Forked 31976 -(31976) found -[6549] Forked 31977 -(31977) found -[6548] Forked 31978 -(31978) found -[6547] Forked 31979 -(31979) found -[6546] Forked 31980 -(31980) found -[6545] Forked 31981 -(31981) found -[6544] Forked 31982 -(31982) found -[6543] Forked 31983 -(31983) found -[6542] Forked 31984 -(31984) found -[6541] Forked 31985 -[6540] Forked 31986 -(31985) found -(31986) found -[6539] Forked 31987 -[6538] Forked 31988 -(31987) found -(31988) found -[6537] Forked 31989 -[6536] Forked 31990 -(31989) found -(31990) found -[6535] Forked 31991 -[6534] Forked 31992 -(31991) found -(31992) found -[6533] Forked 31993 -[6532] Forked 31994 -(31993) found -(31994) found -[6531] Forked 31995 -[6530] Forked 31996 -(31995) found -(31996) found -[6529] Forked 31997 -[6528] Forked 31998 -(31997) found -(31998) found -[6527] Forked 31999 -[6526] Forked 32000 -(31999) found -(32000) found -[6525] Forked 32001 -[6524] Forked 32002 -(32001) found -(32002) found -[6523] Forked 32003 -[6522] Forked 32004 -(32003) found -(32004) found -[6521] Forked 32005 -[6520] Forked 32006 -(32005) found -(32006) found -[6519] Forked 32007 -[6518] Forked 32008 -(32007) found -(32008) found -[6517] Forked 32009 -[6516] Forked 32010 -(32009) found -(32010) found -[6515] Forked 32011 -[6514] Forked 32012 -(32011) found -(32012) found -[6513] Forked 32013 -[6512] Forked 32014 -(32013) found -(32014) found -[6511] Forked 32015 -[6510] Forked 32016 -(32015) found -(32016) found -[6509] Forked 32017 -[6508] Forked 32018 -(32017) found -(32018) found -[6507] Forked 32019 -[6506] Forked 32020 -(32019) found -(32020) found -[6505] Forked 32021 -[6504] Forked 32022 -(32021) found -(32022) found -[6503] Forked 32023 -[6502] Forked 32024 -(32023) found -(32024) found -[6501] Forked 32025 -[6500] Forked 32026 -(32025) found -(32026) found -[6499] Forked 32027 -[6498] Forked 32028 -(32027) found -(32028) found -[6497] Forked 32029 -[6496] Forked 32030 -(32029) found -(32030) found -[6495] Forked 32031 -[6494] Forked 32032 -(32031) found -(32032) found -[6493] Forked 32033 -[6492] Forked 32034 -(32033) found -(32034) found -[6491] Forked 32035 -[6490] Forked 32036 -(32035) found -(32036) found -[6489] Forked 32037 -[6488] Forked 32038 -(32037) found -(32038) found -[6487] Forked 32039 -[6486] Forked 32040 -(32039) found -(32040) found -[6485] Forked 32041 -[6484] Forked 32042 -(32041) found -(32042) found -[6483] Forked 32043 -[6482] Forked 32044 -(32043) found -(32044) found -[6481] Forked 32045 -[6480] Forked 32046 -(32045) found -(32046) found -[6479] Forked 32047 -[6478] Forked 32048 -(32047) found -(32048) found -[6477] Forked 32049 -[6476] Forked 32050 -(32049) found -(32050) found -[6475] Forked 32051 -[6474] Forked 32052 -(32051) found -(32052) found -[6473] Forked 32053 -[6472] Forked 32054 -(32053) found -(32054) found -[6471] Forked 32055 -[6470] Forked 32056 -(32055) found -(32056) found -[6469] Forked 32057 -[6468] Forked 32058 -(32057) found -(32058) found -[6467] Forked 32059 -[6466] Forked 32060 -(32059) found -(32060) found -[6465] Forked 32061 -[6464] Forked 32062 -(32061) found -(32062) found -[6463] Forked 32063 -[6462] Forked 32064 -(32063) found -(32064) found -[6461] Forked 32065 -[6460] Forked 32066 -(32065) found -(32066) found -[6459] Forked 32067 -[6458] Forked 32068 -(32067) found -(32068) found -[6457] Forked 32069 -[6456] Forked 32070 -(32069) found -(32070) found -[6455] Forked 32071 -[6454] Forked 32072 -(32071) found -(32072) found -[6453] Forked 32073 -[6452] Forked 32074 -(32073) found -(32074) found -[6451] Forked 32075 -[6450] Forked 32076 -(32075) found -(32076) found -[6449] Forked 32077 -[6448] Forked 32078 -(32077) found -(32078) found -[6447] Forked 32079 -[6446] Forked 32080 -(32079) found -(32080) found -[6445] Forked 32081 -[6444] Forked 32082 -(32081) found -(32082) found -[6443] Forked 32083 -[6442] Forked 32084 -(32083) found -(32084) found -[6441] Forked 32085 -[6440] Forked 32086 -(32085) found -(32086) found -[6439] Forked 32087 -[6438] Forked 32088 -(32087) found -(32088) found -[6437] Forked 32089 -[6436] Forked 32090 -(32089) found -(32090) found -[6435] Forked 32091 -[6434] Forked 32092 -(32091) found -(32092) found -[6433] Forked 32093 -[6432] Forked 32094 -(32093) found -(32094) found -[6431] Forked 32095 -[6430] Forked 32096 -(32095) found -(32096) found -[6429] Forked 32097 -[6428] Forked 32098 -(32097) found -(32098) found -[6427] Forked 32099 -[6426] Forked 32100 -(32099) found -(32100) found -[6425] Forked 32101 -[6424] Forked 32102 -(32101) found -(32102) found -[6423] Forked 32103 -[6422] Forked 32104 -(32103) found -(32104) found -[6421] Forked 32105 -[6420] Forked 32106 -(32105) found -(32106) found -[6419] Forked 32107 -[6418] Forked 32108 -(32107) found -(32108) found -[6417] Forked 32109 -[6416] Forked 32110 -(32109) found -(32110) found -[6415] Forked 32111 -[6414] Forked 32112 -(32111) found -(32112) found -[6413] Forked 32113 -[6412] Forked 32115 -(32113) found -(32115) found -[6411] Forked 32116 -(32116) found -[6410] Forked 32117 -[6409] Forked 32118 -(32117) found -(32118) found -[6408] Forked 32119 -[6407] Forked 32120 -(32119) found -(32120) found -[6406] Forked 32121 -[6405] Forked 32122 -(32121) found -(32122) found -[6404] Forked 32123 -[6403] Forked 32124 -(32123) found -(32124) found -[6402] Forked 32125 -[6401] Forked 32126 -(32125) found -(32126) found -[6400] Forked 32127 -[6399] Forked 32128 -(32127) found -(32128) found -[6398] Forked 32129 -[6397] Forked 32130 -(32129) found -(32130) found -[6396] Forked 32131 -[6395] Forked 32132 -(32131) found -(32132) found -[6394] Forked 32133 -[6393] Forked 32134 -(32133) found -(32134) found -[6392] Forked 32135 -[6391] Forked 32136 -(32135) found -(32136) found -[6390] Forked 32137 -[6389] Forked 32138 -(32137) found -(32138) found -[6388] Forked 32139 -[6387] Forked 32140 -(32139) found -(32140) found -[6386] Forked 32141 -[6385] Forked 32142 -(32141) found -(32142) found -[6384] Forked 32143 -[6383] Forked 32144 -(32143) found -(32144) found -[6382] Forked 32145 -[6381] Forked 32146 -(32145) found -(32146) found -[6380] Forked 32147 -[6379] Forked 32148 -(32147) found -(32148) found -[6378] Forked 32149 -[6377] Forked 32150 -(32149) found -(32150) found -[6376] Forked 32151 -[6375] Forked 32152 -(32151) found -(32152) found -[6374] Forked 32153 -[6373] Forked 32154 -(32153) found -(32154) found -[6372] Forked 32155 -[6371] Forked 32156 -(32155) found -(32156) found -[6370] Forked 32157 -[6369] Forked 32158 -(32157) found -(32158) found -[6368] Forked 32159 -[6367] Forked 32160 -(32159) found -(32160) found -[6366] Forked 32161 -[6365] Forked 32162 -(32161) found -(32162) found -[6364] Forked 32163 -[6363] Forked 32164 -(32163) found -(32164) found -[6362] Forked 32165 -[6361] Forked 32166 -(32165) found -(32166) found -[6360] Forked 32167 -[6359] Forked 32168 -(32167) found -(32168) found -[6358] Forked 32169 -(32169) found -[6357] Forked 32170 -(32170) found -[6356] Forked 32171 -(32171) found -[6355] Forked 32172 -(32172) found -[6354] Forked 32173 -(32173) found -[6353] Forked 32174 -(32174) found -[6352] Forked 32175 -(32175) found -[6351] Forked 32176 -(32176) found -[6350] Forked 32177 -(32177) found -[6349] Forked 32178 -(32178) found -[6348] Forked 32179 -(32179) found -[6347] Forked 32180 -(32180) found -[6346] Forked 32181 -(32181) found -[6345] Forked 32182 -(32182) found -[6344] Forked 32183 -(32183) found -[6343] Forked 32184 -(32184) found -[6342] Forked 32185 -(32185) found -[6341] Forked 32186 -(32186) found -[6340] Forked 32187 -(32187) found -[6339] Forked 32188 -(32188) found -[6338] Forked 32189 -(32189) found -[6337] Forked 32190 -(32190) found -[6336] Forked 32191 -(32191) found -[6335] Forked 32192 -(32192) found -[6334] Forked 32193 -(32193) found -[6333] Forked 32194 -(32194) found -[6332] Forked 32195 -(32195) found -[6331] Forked 32196 -(32196) found -[6330] Forked 32197 -(32197) found -[6329] Forked 32198 -(32198) found -[6328] Forked 32199 -(32199) found -[6327] Forked 32200 -(32200) found -[6326] Forked 32201 -(32201) found -[6325] Forked 32202 -(32202) found -[6324] Forked 32203 -(32203) found -[6323] Forked 32204 -[6322] Forked 32205 -(32204) found -(32205) found -[6321] Forked 32206 -[6320] Forked 32207 -(32206) found -(32207) found -[6319] Forked 32208 -[6318] Forked 32209 -(32208) found -(32209) found -[6317] Forked 32210 -[6316] Forked 32211 -(32210) found -(32211) found -[6315] Forked 32212 -[6314] Forked 32213 -(32212) found -(32213) found -[6313] Forked 32214 -[6312] Forked 32215 -(32214) found -(32215) found -[6311] Forked 32216 -[6310] Forked 32217 -(32216) found -(32217) found -[6309] Forked 32218 -[6308] Forked 32219 -(32218) found -(32219) found -[6307] Forked 32220 -[6306] Forked 32221 -(32220) found -(32221) found -[6305] Forked 32222 -[6304] Forked 32223 -(32222) found -(32223) found -[6303] Forked 32224 -[6302] Forked 32225 -(32224) found -(32225) found -[6301] Forked 32226 -[6300] Forked 32227 -(32226) found -(32227) found -[6299] Forked 32228 -[6298] Forked 32229 -(32228) found -(32229) found -[6297] Forked 32230 -[6296] Forked 32231 -(32230) found -(32231) found -[6295] Forked 32232 -[6294] Forked 32233 -(32232) found -(32233) found -[6293] Forked 32234 -[6292] Forked 32235 -(32234) found -(32235) found -[6291] Forked 32236 -[6290] Forked 32237 -(32236) found -(32237) found -[6289] Forked 32238 -[6288] Forked 32239 -(32238) found -(32239) found -[6287] Forked 32240 -[6286] Forked 32241 -(32240) found -(32241) found -[6285] Forked 32242 -[6284] Forked 32243 -(32242) found -(32243) found -[6283] Forked 32244 -[6282] Forked 32245 -(32244) found -(32245) found -[6281] Forked 32246 -[6280] Forked 32247 -(32246) found -(32247) found -[6279] Forked 32248 -[6278] Forked 32249 -(32248) found -(32249) found -[6277] Forked 32250 -(32250) found -[6276] Forked 32251 -(32251) found -[6275] Forked 32252 -(32252) found -[6274] Forked 32253 -(32253) found -[6273] Forked 32254 -(32254) found -[6272] Forked 32255 -(32255) found -[6271] Forked 32256 -(32256) found -[6270] Forked 32257 -(32257) found -[6269] Forked 32258 -(32258) found -[6268] Forked 32259 -(32259) found -[6267] Forked 32260 -(32260) found -[6266] Forked 32261 -(32261) found -[6265] Forked 32262 -(32262) found -[6264] Forked 32263 -(32263) found -[6263] Forked 32264 -(32264) found -[6262] Forked 32265 -(32265) found -[6261] Forked 32266 -(32266) found -[6260] Forked 32267 -(32267) found -[6259] Forked 32268 -(32268) found -[6258] Forked 32269 -(32269) found -[6257] Forked 32270 -(32270) found -[6256] Forked 32271 -(32271) found -[6255] Forked 32272 -(32272) found -[6254] Forked 32273 -(32273) found -[6253] Forked 32274 -(32274) found -[6252] Forked 32275 -[6251] Forked 32276 -(32275) found -(32276) found -[6250] Forked 32277 -[6249] Forked 32278 -(32277) found -(32278) found -[6248] Forked 32279 -[6247] Forked 32280 -(32279) found -(32280) found -[6246] Forked 32281 -[6245] Forked 32282 -(32281) found -(32282) found -[6244] Forked 32283 -[6243] Forked 32284 -(32283) found -(32284) found -[6242] Forked 32285 -[6241] Forked 32286 -(32285) found -(32286) found -[6240] Forked 32287 -[6239] Forked 32288 -(32287) found -(32288) found -[6238] Forked 32289 -[6237] Forked 32290 -(32289) found -(32290) found -[6236] Forked 32291 -[6235] Forked 32292 -(32291) found -(32292) found -[6234] Forked 32293 -[6233] Forked 32294 -(32293) found -(32294) found -[6232] Forked 32295 -[6231] Forked 32296 -(32295) found -(32296) found -[6230] Forked 32297 -[6229] Forked 32298 -(32297) found -(32298) found -[6228] Forked 32299 -[6227] Forked 32300 -(32299) found -(32300) found -[6226] Forked 32301 -[6225] Forked 32302 -(32301) found -(32302) found -[6224] Forked 32303 -[6223] Forked 32304 -(32303) found -(32304) found -[6222] Forked 32305 -[6221] Forked 32306 -(32305) found -(32306) found -[6220] Forked 32307 -[6219] Forked 32308 -(32307) found -(32308) found -[6218] Forked 32309 -[6217] Forked 32310 -(32309) found -(32310) found -[6216] Forked 32311 -[6215] Forked 32312 -(32311) found -(32312) found -[6214] Forked 32313 -[6213] Forked 32314 -(32313) found -(32314) found -[6212] Forked 32315 -[6211] Forked 32316 -(32315) found -(32316) found -[6210] Forked 32317 -[6209] Forked 32318 -(32317) found -(32318) found -[6208] Forked 32319 -[6207] Forked 32320 -(32319) found -(32320) found -[6206] Forked 32321 -(32321) found -[6205] Forked 32322 -(32322) found -[6204] Forked 32323 -(32323) found -[6203] Forked 32324 -(32324) found -[6202] Forked 32325 -(32325) found -[6201] Forked 32326 -(32326) found -[6200] Forked 32327 -(32327) found -[6199] Forked 32328 -(32328) found -[6198] Forked 32329 -(32329) found -[6197] Forked 32330 -(32330) found -[6196] Forked 32331 -(32331) found -[6195] Forked 32332 -(32332) found -[6194] Forked 32333 -(32333) found -[6193] Forked 32334 -(32334) found -[6192] Forked 32335 -(32335) found -[6191] Forked 32336 -(32336) found -[6190] Forked 32337 -(32337) found -[6189] Forked 32338 -(32338) found -[6188] Forked 32339 -(32339) found -[6187] Forked 32340 -(32340) found -[6186] Forked 32341 -(32341) found -[6185] Forked 32342 -(32342) found -[6184] Forked 32343 -(32343) found -[6183] Forked 32344 -(32344) found -[6182] Forked 32345 -(32345) found -[6181] Forked 32346 -(32346) found -[6180] Forked 32347 -(32347) found -[6179] Forked 32348 -(32348) found -[6178] Forked 32349 -(32349) found -[6177] Forked 32350 -(32350) found -[6176] Forked 32351 -(32351) found -[6175] Forked 32352 -(32352) found -[6174] Forked 32353 -(32353) found -[6173] Forked 32354 -(32354) found -[6172] Forked 32355 -(32355) found -[6171] Forked 32356 -[6170] Forked 32357 -(32356) found -(32357) found -[6169] Forked 32358 -[6168] Forked 32359 -(32358) found -(32359) found -[6167] Forked 32360 -[6166] Forked 32361 -(32360) found -(32361) found -[6165] Forked 32362 -[6164] Forked 32363 -(32362) found -(32363) found -[6163] Forked 32364 -[6162] Forked 32365 -(32364) found -(32365) found -[6161] Forked 32366 -[6160] Forked 32367 -(32366) found -(32367) found -[6159] Forked 32368 -[6158] Forked 32369 -(32368) found -(32369) found -[6157] Forked 32370 -[6156] Forked 32371 -(32370) found -(32371) found -[6155] Forked 32372 -[6154] Forked 32373 -(32372) found -(32373) found -[6153] Forked 32374 -[6152] Forked 32375 -(32374) found -(32375) found -[6151] Forked 32376 -[6150] Forked 32377 -(32376) found -(32377) found -[6149] Forked 32378 -[6148] Forked 32379 -(32378) found -(32379) found -[6147] Forked 32380 -[6146] Forked 32381 -(32380) found -(32381) found -[6145] Forked 32382 -[6144] Forked 32383 -(32382) found -(32383) found -[6143] Forked 32384 -[6142] Forked 32385 -(32384) found -(32385) found -[6141] Forked 32386 -[6140] Forked 32387 -(32386) found -(32387) found -[6139] Forked 32388 -[6138] Forked 32389 -(32388) found -(32389) found -[6137] Forked 32390 -[6136] Forked 32391 -(32390) found -(32391) found -[6135] Forked 32392 -[6134] Forked 32393 -(32392) found -(32393) found -[6133] Forked 32394 -[6132] Forked 32396 -(32394) found -(32396) found -[6131] Forked 32397 -(32397) found -[6130] Forked 32398 -(32398) found -[6129] Forked 32399 -(32399) found -[6128] Forked 32400 -(32400) found -[6127] Forked 32401 -(32401) found -[6126] Forked 32402 -(32402) found -[6125] Forked 32403 -(32403) found -[6124] Forked 32404 -(32404) found -[6123] Forked 32405 -(32405) found -[6122] Forked 32406 -(32406) found -[6121] Forked 32407 -(32407) found -[6120] Forked 32408 -(32408) found -[6119] Forked 32409 -(32409) found -[6118] Forked 32410 -(32410) found -[6117] Forked 32411 -(32411) found -[6116] Forked 32412 -(32412) found -[6115] Forked 32413 -(32413) found -[6114] Forked 32414 -(32414) found -[6113] Forked 32415 -(32415) found -[6112] Forked 32416 -(32416) found -[6111] Forked 32417 -(32417) found -[6110] Forked 32418 -(32418) found -[6109] Forked 32419 -(32419) found -[6108] Forked 32420 -(32420) found -[6107] Forked 32421 -(32421) found -[6106] Forked 32422 -(32422) found -[6105] Forked 32423 -(32423) found -[6104] Forked 32424 -(32424) found -[6103] Forked 32425 -(32425) found -[6102] Forked 32426 -(32426) found -[6101] Forked 32427 -(32427) found -[6100] Forked 32428 -(32428) found -[6099] Forked 32429 -(32429) found -[6098] Forked 32430 -(32430) found -[6097] Forked 32431 -(32431) found -[6096] Forked 32432 -(32432) found -[6095] Forked 32433 -(32433) found -[6094] Forked 32434 -(32434) found -[6093] Forked 32435 -(32435) found -[6092] Forked 32436 -[6091] Forked 32437 -(32436) found -(32437) found -[6090] Forked 32438 -[6089] Forked 32439 -(32438) found -(32439) found -[6088] Forked 32440 -[6087] Forked 32441 -(32440) found -(32441) found -[6086] Forked 32442 -[6085] Forked 32443 -(32442) found -(32443) found -[6084] Forked 32444 -[6083] Forked 32445 -(32444) found -(32445) found -[6082] Forked 32446 -[6081] Forked 32447 -(32446) found -(32447) found -[6080] Forked 32448 -[6079] Forked 32449 -(32448) found -(32449) found -[6078] Forked 32450 -[6077] Forked 32452 -(32450) found -(32452) found -[6076] Forked 32453 -(32453) found -[6075] Forked 32454 -(32454) found -[6074] Forked 32455 -(32455) found -[6073] Forked 32456 -(32456) found -[6072] Forked 32457 -(32457) found -[6071] Forked 32458 -(32458) found -[6070] Forked 32459 -(32459) found -[6069] Forked 32460 -(32460) found -[6068] Forked 32461 -(32461) found -[6067] Forked 32462 -(32462) found -[6066] Forked 32463 -(32463) found -[6065] Forked 32464 -(32464) found -[6064] Forked 32465 -(32465) found -[6063] Forked 32466 -(32466) found -[6062] Forked 32467 -(32467) found -[6061] Forked 32468 -(32468) found -[6060] Forked 32469 -(32469) found -[6059] Forked 32470 -(32470) found -[6058] Forked 32471 -(32471) found -[6057] Forked 32472 -(32472) found -[6056] Forked 32473 -(32473) found -[6055] Forked 32474 -(32474) found -[6054] Forked 32475 -(32475) found -[6053] Forked 32476 -(32476) found -[6052] Forked 32477 -(32477) found -[6051] Forked 32478 -(32478) found -[6050] Forked 32479 -(32479) found -[6049] Forked 32480 -(32480) found -[6048] Forked 32481 -(32481) found -[6047] Forked 32482 -(32482) found -[6046] Forked 32483 -(32483) found -[6045] Forked 32484 -(32484) found -[6044] Forked 32485 -(32485) found -[6043] Forked 32486 -(32486) found -[6042] Forked 32487 -(32487) found -[6041] Forked 32488 -(32488) found -[6040] Forked 32489 -(32489) found -[6039] Forked 32490 -(32490) found -[6038] Forked 32491 -(32491) found -[6037] Forked 32492 -(32492) found -[6036] Forked 32493 -(32493) found -[6035] Forked 32494 -(32494) found -[6034] Forked 32495 -(32495) found -[6033] Forked 32496 -(32496) found -[6032] Forked 32497 -(32497) found -[6031] Forked 32498 -(32498) found -[6030] Forked 32499 -(32499) found -[6029] Forked 32500 -(32500) found -[6028] Forked 32501 -(32501) found -[6027] Forked 32502 -(32502) found -[6026] Forked 32503 -(32503) found -[6025] Forked 32504 -(32504) found -[6024] Forked 32505 -(32505) found -[6023] Forked 32506 -(32506) found -[6022] Forked 32507 -(32507) found -[6021] Forked 32508 -(32508) found -[6020] Forked 32509 -(32509) found -[6019] Forked 32510 -(32510) found -[6018] Forked 32511 -[6017] Forked 32512 -(32511) found -(32512) found -[6016] Forked 32513 -[6015] Forked 32514 -(32513) found -(32514) found -[6014] Forked 32515 -[6013] Forked 32516 -(32515) found -(32516) found -[6012] Forked 32517 -[6011] Forked 32518 -(32517) found -(32518) found -[6010] Forked 32519 -[6009] Forked 32520 -(32519) found -(32520) found -[6008] Forked 32521 -[6007] Forked 32522 -(32521) found -(32522) found -[6006] Forked 32523 -[6005] Forked 32524 -(32523) found -(32524) found -[6004] Forked 32525 -[6003] Forked 32526 -(32525) found -(32526) found -[6002] Forked 32527 -[6001] Forked 32528 -(32527) found -(32528) found -[6000] Forked 32529 -[5999] Forked 32530 -(32529) found -(32530) found -[5998] Forked 32531 -[5997] Forked 32532 -(32531) found -(32532) found -[5996] Forked 32533 -[5995] Forked 32534 -(32533) found -(32534) found -[5994] Forked 32535 -[5993] Forked 32536 -(32535) found -(32536) found -[5992] Forked 32537 -[5991] Forked 32538 -(32537) found -(32538) found -[5990] Forked 32539 -[5989] Forked 32540 -(32539) found -(32540) found -[5988] Forked 32541 -[5987] Forked 32542 -(32541) found -(32542) found -[5986] Forked 32543 -[5985] Forked 32544 -(32543) found -(32544) found -[5984] Forked 32545 -[5983] Forked 32546 -(32545) found -(32546) found -[5982] Forked 32547 -[5981] Forked 32548 -(32547) found -(32548) found -[5980] Forked 32549 -[5979] Forked 32550 -(32549) found -(32550) found -[5978] Forked 32551 -[5977] Forked 32552 -(32551) found -(32552) found -[5976] Forked 32553 -[5975] Forked 32554 -(32553) found -(32554) found -[5974] Forked 32555 -[5973] Forked 32556 -(32555) found -(32556) found -[5972] Forked 32557 -[5971] Forked 32558 -(32557) found -(32558) found -[5970] Forked 32559 -[5969] Forked 32560 -(32559) found -(32560) found -[5968] Forked 32561 -[5967] Forked 32562 -(32561) found -(32562) found -[5966] Forked 32563 -[5965] Forked 32564 -(32563) found -(32564) found -[5964] Forked 32565 -[5963] Forked 32566 -(32565) found -(32566) found -[5962] Forked 32567 -[5961] Forked 32568 -(32567) found -(32568) found -[5960] Forked 32569 -[5959] Forked 32570 -(32569) found -(32570) found -[5958] Forked 32571 -[5957] Forked 32572 -(32571) found -(32572) found -[5956] Forked 32573 -[5955] Forked 32574 -(32573) found -(32574) found -[5954] Forked 32575 -[5953] Forked 32576 -(32575) found -(32576) found -[5952] Forked 32577 -[5951] Forked 32578 -(32577) found -(32578) found -[5950] Forked 32579 -[5949] Forked 32580 -(32579) found -(32580) found -[5948] Forked 32581 -[5947] Forked 32582 -(32581) found -(32582) found -[5946] Forked 32583 -[5945] Forked 32584 -(32583) found -(32584) found -[5944] Forked 32585 -[5943] Forked 32586 -(32585) found -(32586) found -[5942] Forked 32587 -[5941] Forked 32588 -(32587) found -(32588) found -[5940] Forked 32589 -[5939] Forked 32590 -(32589) found -(32590) found -[5938] Forked 32591 -[5937] Forked 32592 -(32591) found -(32592) found -[5936] Forked 32593 -[5935] Forked 32594 -(32593) found -(32594) found -[5934] Forked 32595 -[5933] Forked 32596 -(32595) found -(32596) found -[5932] Forked 32597 -[5931] Forked 32599 -(32597) found -(32599) found -[5930] Forked 32600 -(32600) found -[5929] Forked 32601 -(32601) found -[5928] Forked 32602 -(32602) found -[5927] Forked 32603 -(32603) found -[5926] Forked 32604 -(32604) found -[5925] Forked 32605 -(32605) found -[5924] Forked 32606 -(32606) found -[5923] Forked 32607 -(32607) found -[5922] Forked 32608 -(32608) found -[5921] Forked 32609 -(32609) found -[5920] Forked 32610 -(32610) found -[5919] Forked 32611 -(32611) found -[5918] Forked 32612 -(32612) found -[5917] Forked 32613 -(32613) found -[5916] Forked 32614 -(32614) found -[5915] Forked 32615 -(32615) found -[5914] Forked 32616 -(32616) found -[5913] Forked 32617 -(32617) found -[5912] Forked 32618 -(32618) found -[5911] Forked 32619 -(32619) found -[5910] Forked 32620 -(32620) found -[5909] Forked 32621 -(32621) found -[5908] Forked 32622 -(32622) found -[5907] Forked 32623 -(32623) found -[5906] Forked 32624 -(32624) found -[5905] Forked 32625 -(32625) found -[5904] Forked 32626 -(32626) found -[5903] Forked 32627 -(32627) found -[5902] Forked 32628 -(32628) found -[5901] Forked 32629 -(32629) found -[5900] Forked 32630 -(32630) found -[5899] Forked 32631 -(32631) found -[5898] Forked 32632 -(32632) found -[5897] Forked 32633 -(32633) found -[5896] Forked 32634 -(32634) found -[5895] Forked 32635 -(32635) found -[5894] Forked 32636 -(32636) found -[5893] Forked 32637 -(32637) found -[5892] Forked 32638 -(32638) found -[5891] Forked 32639 -[5890] Forked 32640 -(32639) found -(32640) found -[5889] Forked 32641 -[5888] Forked 32642 -(32641) found -(32642) found -[5887] Forked 32643 -[5886] Forked 32644 -(32643) found -(32644) found -[5885] Forked 32645 -[5884] Forked 32646 -(32645) found -(32646) found -[5883] Forked 32647 -[5882] Forked 32648 -(32647) found -(32648) found -[5881] Forked 32649 -[5880] Forked 32650 -(32649) found -(32650) found -[5879] Forked 32651 -[5878] Forked 32652 -(32651) found -(32652) found -[5877] Forked 32653 -[5876] Forked 32654 -(32653) found -(32654) found -[5875] Forked 32655 -[5874] Forked 32656 -(32655) found -(32656) found -[5873] Forked 32657 -[5872] Forked 32658 -(32657) found -(32658) found -[5871] Forked 32659 -[5870] Forked 32660 -(32659) found -(32660) found -[5869] Forked 32661 -[5868] Forked 32662 -(32661) found -(32662) found -[5867] Forked 32663 -[5866] Forked 32664 -(32663) found -(32664) found -[5865] Forked 32665 -[5864] Forked 32666 -(32665) found -(32666) found -[5863] Forked 32667 -[5862] Forked 32668 -(32667) found -(32668) found -[5861] Forked 32669 -[5860] Forked 32670 -(32669) found -(32670) found -[5859] Forked 32671 -[5858] Forked 32672 -(32671) found -(32672) found -[5857] Forked 32673 -[5856] Forked 32674 -(32673) found -(32674) found -[5855] Forked 32675 -[5854] Forked 32676 -(32675) found -(32676) found -[5853] Forked 32677 -[5852] Forked 32678 -(32677) found -(32678) found -[5851] Forked 32679 -[5850] Forked 32680 -(32679) found -(32680) found -[5849] Forked 32681 -[5848] Forked 32682 -(32681) found -(32682) found -[5847] Forked 32683 -(32683) found -[5846] Forked 32684 -(32684) found -[5845] Forked 32685 -(32685) found -[5844] Forked 32686 -(32686) found -[5843] Forked 32687 -(32687) found -[5842] Forked 32688 -(32688) found -[5841] Forked 32689 -(32689) found -[5840] Forked 32690 -(32690) found -[5839] Forked 32691 -(32691) found -[5838] Forked 32692 -(32692) found -[5837] Forked 32693 -(32693) found -[5836] Forked 32694 -(32694) found -[5835] Forked 32695 -(32695) found -[5834] Forked 32696 -(32696) found -[5833] Forked 32697 -(32697) found -[5832] Forked 32698 -(32698) found -[5831] Forked 32699 -(32699) found -[5830] Forked 32700 -(32700) found -[5829] Forked 32701 -(32701) found -[5828] Forked 32702 -(32702) found -[5827] Forked 32703 -(32703) found -[5826] Forked 32704 -(32704) found -[5825] Forked 32705 -(32705) found -[5824] Forked 32706 -(32706) found -[5823] Forked 32707 -(32707) found -[5822] Forked 32708 -(32708) found -[5821] Forked 32709 -(32709) found -[5820] Forked 32710 -(32710) found -[5819] Forked 32711 -(32711) found -[5818] Forked 32712 -(32712) found -[5817] Forked 32713 -(32713) found -[5816] Forked 32714 -(32714) found -[5815] Forked 32715 -(32715) found -[5814] Forked 32716 -(32716) found -[5813] Forked 32717 -(32717) found -[5812] Forked 32718 -(32718) found -[5811] Forked 32719 -[5810] Forked 32720 -(32719) found -(32720) found -[5809] Forked 32721 -[5808] Forked 32722 -(32721) found -(32722) found -[5807] Forked 32723 -[5806] Forked 32724 -(32723) found -(32724) found -[5805] Forked 32725 -[5804] Forked 32726 -(32725) found -(32726) found -[5803] Forked 32727 -[5802] Forked 32728 -(32727) found -(32728) found -[5801] Forked 32729 -[5800] Forked 32730 -(32729) found -(32730) found -[5799] Forked 32731 -[5798] Forked 32732 -(32731) found -(32732) found -[5797] Forked 32733 -[5796] Forked 32734 -(32733) found -(32734) found -[5795] Forked 32735 -[5794] Forked 32736 -(32735) found -(32736) found -[5793] Forked 32737 -[5792] Forked 32738 -(32737) found -(32738) found -[5791] Forked 32739 -[5790] Forked 32740 -(32739) found -(32740) found -[5789] Forked 32741 -[5788] Forked 32742 -(32741) found -(32742) found -[5787] Forked 32743 -[5786] Forked 32744 -(32743) found -(32744) found -[5785] Forked 32745 -[5784] Forked 32746 -(32745) found -(32746) found -[5783] Forked 32747 -[5782] Forked 32748 -(32747) found -(32748) found -[5781] Forked 32749 -[5780] Forked 32750 -(32749) found -(32750) found -[5779] Forked 32751 -[5778] Forked 32752 -(32751) found -(32752) found -[5777] Forked 32753 -[5776] Forked 32754 -(32753) found -(32754) found -[5775] Forked 32755 -[5774] Forked 32756 -(32755) found -(32756) found -[5773] Forked 32757 -[5772] Forked 32758 -(32757) found -(32758) found -[5771] Forked 32759 -[5770] Forked 32760 -(32759) found -(32760) found -[5769] Forked 32761 -(32761) found -[5768] Forked 32762 -(32762) found -[5767] Forked 32763 -(32763) found -[5766] Forked 32764 -(32764) found -[5765] Forked 32765 -(32765) found -[5764] Forked 32766 -(32766) found -[5763] Forked 32767 -(32767) found -[5762] Forked 300 -(300) found -[5761] Forked 301 -(301) found -[5760] Forked 302 -(302) found -[5759] Forked 303 -(303) found -[5758] Forked 304 -(304) found -[5757] Forked 305 -(305) found -[5756] Forked 306 -(306) found -[5755] Forked 307 -(307) found -[5754] Forked 308 -(308) found -[5753] Forked 309 -(309) found -[5752] Forked 310 -(310) found -[5751] Forked 311 -(311) found -[5750] Forked 312 -(312) found -[5749] Forked 313 -(313) found -[5748] Forked 314 -(314) found -[5747] Forked 315 -(315) found -[5746] Forked 316 -(316) found -[5745] Forked 317 -(317) found -[5744] Forked 318 -(318) found -[5743] Forked 319 -(319) found -[5742] Forked 320 -(320) found -[5741] Forked 321 -(321) found -[5740] Forked 322 -(322) found -[5739] Forked 323 -(323) found -[5738] Forked 324 -(324) found -[5737] Forked 325 -(325) found -[5736] Forked 328 -(328) found -[5735] Forked 330 -(330) found -[5734] Forked 331 -[5733] Forked 332 -(331) found -(332) found -[5732] Forked 333 -[5731] Forked 334 -(333) found -(334) found -[5730] Forked 335 -[5729] Forked 336 -(335) found -(336) found -[5728] Forked 337 -[5727] Forked 338 -(337) found -(338) found -[5726] Forked 339 -[5725] Forked 340 -(339) found -(340) found -[5724] Forked 341 -[5723] Forked 342 -(341) found -(342) found -[5722] Forked 343 -[5721] Forked 344 -(343) found -(344) found -[5720] Forked 345 -[5719] Forked 346 -(345) found -(346) found -[5718] Forked 347 -[5717] Forked 348 -(347) found -(348) found -[5716] Forked 349 -[5715] Forked 350 -(349) found -(350) found -[5714] Forked 351 -[5713] Forked 352 -(351) found -(352) found -[5712] Forked 353 -[5711] Forked 354 -(353) found -(354) found -[5710] Forked 355 -[5709] Forked 356 -(355) found -(356) found -[5708] Forked 357 -[5707] Forked 358 -(357) found -(358) found -[5706] Forked 359 -[5705] Forked 360 -(359) found -(360) found -[5704] Forked 361 -[5703] Forked 362 -(361) found -(362) found -[5702] Forked 363 -[5701] Forked 364 -(363) found -(364) found -[5700] Forked 365 -[5699] Forked 366 -(365) found -(366) found -[5698] Forked 367 -[5697] Forked 368 -(367) found -(368) found -[5696] Forked 369 -[5695] Forked 370 -(369) found -(370) found -[5694] Forked 371 -[5693] Forked 372 -(371) found -(372) found -[5692] Forked 373 -[5691] Forked 374 -(373) found -(374) found -[5690] Forked 375 -(375) found -[5689] Forked 376 -(376) found -[5688] Forked 377 -(377) found -[5687] Forked 378 -(378) found -[5686] Forked 379 -(379) found -[5685] Forked 380 -(380) found -[5684] Forked 381 -(381) found -[5683] Forked 383 -(383) found -[5682] Forked 384 -(384) found -[5681] Forked 385 -(385) found -[5680] Forked 386 -(386) found -[5679] Forked 387 -(387) found -[5678] Forked 388 -(388) found -[5677] Forked 389 -(389) found -[5676] Forked 390 -(390) found -[5675] Forked 391 -(391) found -[5674] Forked 392 -(392) found -[5673] Forked 393 -(393) found -[5672] Forked 394 -(394) found -[5671] Forked 395 -(395) found -[5670] Forked 396 -(396) found -[5669] Forked 397 -(397) found -[5668] Forked 398 -(398) found -[5667] Forked 399 -(399) found -[5666] Forked 401 -(401) found -[5665] Forked 402 -(402) found -[5664] Forked 403 -(403) found -[5663] Forked 404 -(404) found -[5662] Forked 405 -(405) found -[5661] Forked 407 -(407) found -[5660] Forked 408 -(408) found -[5659] Forked 409 -(409) found -[5658] Forked 410 -(410) found -[5657] Forked 411 -(411) found -[5656] Forked 412 -(412) found -[5655] Forked 413 -[5654] Forked 414 -(413) found -(414) found -[5653] Forked 415 -[5652] Forked 416 -(415) found -(416) found -[5651] Forked 417 -[5650] Forked 418 -(417) found -(418) found -[5649] Forked 419 -[5648] Forked 420 -(419) found -(420) found -[5647] Forked 421 -[5646] Forked 422 -(421) found -(422) found -[5645] Forked 423 -[5644] Forked 424 -(423) found -(424) found -[5643] Forked 425 -[5642] Forked 426 -(425) found -(426) found -[5641] Forked 427 -[5640] Forked 429 -(427) found -(429) found -[5639] Forked 430 -[5638] Forked 431 -(430) found -(431) found -[5637] Forked 432 -[5636] Forked 433 -(432) found -(433) found -[5635] Forked 434 -[5634] Forked 435 -(434) found -(435) found -[5633] Forked 436 -[5632] Forked 437 -(436) found -(437) found -[5631] Forked 438 -[5630] Forked 439 -(438) found -(439) found -[5629] Forked 440 -[5628] Forked 441 -(440) found -(441) found -[5627] Forked 442 -[5626] Forked 443 -(442) found -(443) found -[5625] Forked 444 -[5624] Forked 445 -(444) found -(445) found -[5623] Forked 446 -[5622] Forked 447 -(446) found -(447) found -[5621] Forked 448 -[5620] Forked 449 -(448) found -(449) found -[5619] Forked 450 -[5618] Forked 451 -(450) found -(451) found -[5617] Forked 452 -[5616] Forked 453 -(452) found -(453) found -[5615] Forked 454 -[5614] Forked 455 -(454) found -(455) found -[5613] Forked 456 -[5612] Forked 457 -(456) found -(457) found -[5611] Forked 458 -[5610] Forked 459 -(458) found -(459) found -[5609] Forked 460 -[5608] Forked 461 -(460) found -(461) found -[5607] Forked 462 -[5606] Forked 463 -(462) found -(463) found -[5605] Forked 464 -[5604] Forked 465 -(464) found -(465) found -[5603] Forked 466 -[5602] Forked 467 -(466) found -(467) found -[5601] Forked 468 -[5600] Forked 469 -(468) found -(469) found -[5599] Forked 470 -[5598] Forked 471 -(470) found -(471) found -[5597] Forked 472 -[5596] Forked 473 -(472) found -(473) found -[5595] Forked 474 -[5594] Forked 475 -(474) found -(475) found -[5593] Forked 476 -[5592] Forked 477 -(476) found -(477) found -[5591] Forked 478 -[5590] Forked 479 -(478) found -(479) found -[5589] Forked 480 -[5588] Forked 481 -(480) found -(481) found -[5587] Forked 482 -[5586] Forked 483 -(482) found -(483) found -[5585] Forked 484 -[5584] Forked 485 -(484) found -(485) found -[5583] Forked 486 -[5582] Forked 487 -(486) found -(487) found -[5581] Forked 488 -[5580] Forked 489 -(488) found -(489) found -[5579] Forked 490 -[5578] Forked 491 -(490) found -(491) found -[5577] Forked 492 -[5576] Forked 493 -(492) found -(493) found -[5575] Forked 494 -[5574] Forked 495 -(494) found -(495) found -[5573] Forked 496 -[5572] Forked 497 -(496) found -(497) found -[5571] Forked 498 -[5570] Forked 499 -(498) found -(499) found -[5569] Forked 500 -[5568] Forked 501 -(500) found -(501) found -[5567] Forked 502 -[5566] Forked 503 -(502) found -(503) found -[5565] Forked 504 -[5564] Forked 505 -(504) found -(505) found -[5563] Forked 506 -(506) found -[5562] Forked 507 -(507) found -[5561] Forked 508 -(508) found -[5560] Forked 509 -(509) found -[5559] Forked 510 -(510) found -[5558] Forked 511 -(511) found -[5557] Forked 512 -(512) found -[5556] Forked 513 -(513) found -[5555] Forked 514 -(514) found -[5554] Forked 515 -(515) found -[5553] Forked 516 -(516) found -[5552] Forked 517 -(517) found -[5551] Forked 518 -(518) found -[5550] Forked 519 -(519) found -[5549] Forked 520 -(520) found -[5548] Forked 521 -(521) found -[5547] Forked 522 -(522) found -[5546] Forked 523 -(523) found -[5545] Forked 524 -(524) found -[5544] Forked 525 -(525) found -[5543] Forked 526 -(526) found -[5542] Forked 527 -(527) found -[5541] Forked 528 -(528) found -[5540] Forked 529 -(529) found -[5539] Forked 530 -(530) found -[5538] Forked 531 -(531) found -[5537] Forked 532 -(532) found -[5536] Forked 533 -(533) found -[5535] Forked 534 -(534) found -[5534] Forked 535 -(535) found -[5533] Forked 536 -(536) found -[5532] Forked 537 -(537) found -[5531] Forked 538 -(538) found -[5530] Forked 539 -(539) found -[5529] Forked 540 -[5528] Forked 541 -(540) found -(541) found -[5527] Forked 542 -[5526] Forked 543 -(542) found -(543) found -[5525] Forked 544 -[5524] Forked 545 -(544) found -(545) found -[5523] Forked 546 -[5522] Forked 547 -(546) found -(547) found -[5521] Forked 548 -[5520] Forked 549 -(548) found -(549) found -[5519] Forked 550 -[5518] Forked 551 -(550) found -(551) found -[5517] Forked 552 -[5516] Forked 553 -(552) found -(553) found -[5515] Forked 554 -[5514] Forked 555 -(554) found -(555) found -[5513] Forked 556 -[5512] Forked 557 -(556) found -(557) found -[5511] Forked 558 -[5510] Forked 559 -(558) found -(559) found -[5509] Forked 560 -[5508] Forked 561 -(560) found -(561) found -[5507] Forked 562 -[5506] Forked 563 -(562) found -(563) found -[5505] Forked 564 -[5504] Forked 565 -(564) found -(565) found -[5503] Forked 566 -[5502] Forked 567 -(566) found -(567) found -[5501] Forked 568 -[5500] Forked 569 -(568) found -(569) found -[5499] Forked 570 -[5498] Forked 571 -(570) found -(571) found -[5497] Forked 572 -[5496] Forked 573 -(572) found -(573) found -[5495] Forked 574 -[5494] Forked 575 -(574) found -(575) found -[5493] Forked 576 -[5492] Forked 577 -(576) found -(577) found -[5491] Forked 578 -[5490] Forked 579 -(578) found -(579) found -[5489] Forked 580 -[5488] Forked 581 -(580) found -(581) found -[5487] Forked 582 -[5486] Forked 583 -(582) found -(583) found -[5485] Forked 584 -[5484] Forked 585 -(584) found -(585) found -[5483] Forked 586 -[5482] Forked 587 -(586) found -(587) found -[5481] Forked 588 -[5480] Forked 589 -(588) found -(589) found -[5479] Forked 590 -[5478] Forked 591 -(590) found -(591) found -[5477] Forked 592 -[5476] Forked 593 -(592) found -(593) found -[5475] Forked 594 -[5474] Forked 595 -(594) found -(595) found -[5473] Forked 596 -[5472] Forked 597 -(596) found -(597) found -[5471] Forked 598 -[5470] Forked 599 -(598) found -(599) found -[5469] Forked 600 -[5468] Forked 601 -(600) found -(601) found -[5467] Forked 602 -[5466] Forked 603 -(602) found -(603) found -[5465] Forked 604 -[5464] Forked 606 -(604) found -(606) found -[5463] Forked 607 -[5462] Forked 609 -(607) found -(609) found -[5461] Forked 610 -[5460] Forked 612 -(610) found -(612) found -[5459] Forked 613 -[5458] Forked 615 -(613) found -(615) found -[5457] Forked 616 -[5456] Forked 617 -(616) found -(617) found -[5455] Forked 618 -[5454] Forked 619 -(618) found -(619) found -[5453] Forked 620 -[5452] Forked 621 -(620) found -(621) found -[5451] Forked 622 -[5450] Forked 623 -(622) found -(623) found -[5449] Forked 624 -[5448] Forked 625 -(624) found -(625) found -[5447] Forked 626 -[5446] Forked 627 -(626) found -(627) found -[5445] Forked 628 -[5444] Forked 629 -(628) found -(629) found -[5443] Forked 630 -[5442] Forked 631 -(630) found -(631) found -[5441] Forked 632 -[5440] Forked 633 -(632) found -(633) found -[5439] Forked 634 -[5438] Forked 635 -(634) found -(635) found -[5437] Forked 636 -(636) found -[5436] Forked 637 -(637) found -[5435] Forked 638 -(638) found -[5434] Forked 639 -(639) found -[5433] Forked 640 -(640) found -[5432] Forked 641 -(641) found -[5431] Forked 642 -(642) found -[5430] Forked 643 -(643) found -[5429] Forked 644 -(644) found -[5428] Forked 645 -(645) found -[5427] Forked 646 -(646) found -[5426] Forked 647 -(647) found -[5425] Forked 648 -(648) found -[5424] Forked 649 -(649) found -[5423] Forked 650 -(650) found -[5422] Forked 651 -(651) found -[5421] Forked 652 -(652) found -[5420] Forked 653 -(653) found -[5419] Forked 654 -(654) found -[5418] Forked 655 -(655) found -[5417] Forked 656 -(656) found -[5416] Forked 657 -(657) found -[5415] Forked 658 -(658) found -[5414] Forked 659 -(659) found -[5413] Forked 660 -(660) found -[5412] Forked 661 -(661) found -[5411] Forked 662 -(662) found -[5410] Forked 663 -(663) found -[5409] Forked 664 -(664) found -[5408] Forked 665 -(665) found -[5407] Forked 666 -(666) found -[5406] Forked 667 -(667) found -[5405] Forked 668 -(668) found -[5404] Forked 669 -(669) found -[5403] Forked 670 -(670) found -[5402] Forked 671 -(671) found -[5401] Forked 672 -[5400] Forked 673 -(672) found -(673) found -[5399] Forked 674 -[5398] Forked 675 -(674) found -(675) found -[5397] Forked 677 -[5396] Forked 678 -(677) found -(678) found -[5395] Forked 679 -[5394] Forked 680 -(679) found -(680) found -[5393] Forked 681 -[5392] Forked 682 -(681) found -(682) found -[5391] Forked 683 -[5390] Forked 684 -(683) found -(684) found -[5389] Forked 685 -[5388] Forked 686 -(685) found -(686) found -[5387] Forked 687 -[5386] Forked 688 -(687) found -(688) found -[5385] Forked 689 -[5384] Forked 690 -(689) found -(690) found -[5383] Forked 691 -[5382] Forked 692 -(691) found -(692) found -[5381] Forked 693 -[5380] Forked 694 -(693) found -(694) found -[5379] Forked 695 -[5378] Forked 696 -(695) found -(696) found -[5377] Forked 697 -[5376] Forked 698 -(697) found -(698) found -[5375] Forked 699 -[5374] Forked 700 -(699) found -(700) found -[5373] Forked 701 -[5372] Forked 702 -(701) found -(702) found -[5371] Forked 703 -[5370] Forked 704 -(703) found -(704) found -[5369] Forked 705 -[5368] Forked 706 -(705) found -(706) found -[5367] Forked 707 -[5366] Forked 708 -(707) found -(708) found -[5365] Forked 709 -[5364] Forked 710 -(709) found -(710) found -[5363] Forked 711 -[5362] Forked 712 -(711) found -(712) found -[5361] Forked 713 -(713) found -[5360] Forked 714 -[5359] Forked 715 -(714) found -(715) found -[5358] Forked 716 -[5357] Forked 717 -(716) found -(717) found -[5356] Forked 718 -[5355] Forked 719 -(718) found -(719) found -[5354] Forked 720 -[5353] Forked 721 -(720) found -(721) found -[5352] Forked 722 -[5351] Forked 723 -(722) found -(723) found -[5350] Forked 724 -[5349] Forked 725 -(724) found -(725) found -[5348] Forked 726 -[5347] Forked 727 -(726) found -(727) found -[5346] Forked 728 -[5345] Forked 729 -(728) found -(729) found -[5344] Forked 730 -[5343] Forked 731 -(730) found -(731) found -[5342] Forked 732 -[5341] Forked 734 -(732) found -(734) found -[5340] Forked 735 -[5339] Forked 737 -(735) found -(737) found -[5338] Forked 740 -[5337] Forked 742 -(740) found -(742) found -[5336] Forked 744 -[5335] Forked 745 -(744) found -(745) found -[5334] Forked 746 -[5333] Forked 747 -(746) found -(747) found -[5332] Forked 748 -[5331] Forked 749 -(748) found -(749) found -[5330] Forked 750 -[5329] Forked 751 -(750) found -(751) found -[5328] Forked 752 -[5327] Forked 753 -(752) found -(753) found -[5326] Forked 754 -[5325] Forked 755 -(754) found -(755) found -[5324] Forked 756 -[5323] Forked 757 -(756) found -(757) found -[5322] Forked 758 -[5321] Forked 759 -(758) found -(759) found -[5320] Forked 760 -[5319] Forked 761 -(760) found -(761) found -[5318] Forked 762 -[5317] Forked 763 -(762) found -(763) found -[5316] Forked 764 -[5315] Forked 765 -(764) found -(765) found -[5314] Forked 766 -[5313] Forked 767 -(766) found -(767) found -[5312] Forked 768 -[5311] Forked 769 -(768) found -(769) found -[5310] Forked 770 -[5309] Forked 771 -(770) found -(771) found -[5308] Forked 772 -(772) found -[5307] Forked 773 -(773) found -[5306] Forked 774 -(774) found -[5305] Forked 775 -(775) found -[5304] Forked 776 -(776) found -[5303] Forked 777 -(777) found -[5302] Forked 778 -(778) found -[5301] Forked 780 -(780) found -[5300] Forked 781 -(781) found -[5299] Forked 782 -(782) found -[5298] Forked 783 -(783) found -[5297] Forked 784 -(784) found -[5296] Forked 785 -(785) found -[5295] Forked 786 -(786) found -[5294] Forked 787 -(787) found -[5293] Forked 788 -(788) found -[5292] Forked 789 -(789) found -[5291] Forked 790 -(790) found -[5290] Forked 791 -(791) found -[5289] Forked 792 -(792) found -[5288] Forked 793 -(793) found -[5287] Forked 794 -(794) found -[5286] Forked 795 -(795) found -[5285] Forked 796 -(796) found -[5284] Forked 797 -(797) found -[5283] Forked 798 -(798) found -[5282] Forked 799 -(799) found -[5281] Forked 800 -(800) found -[5280] Forked 801 -(801) found -[5279] Forked 802 -(802) found -[5278] Forked 803 -(803) found -[5277] Forked 804 -(804) found -[5276] Forked 805 -(805) found -[5275] Forked 806 -(806) found -[5274] Forked 807 -[5273] Forked 808 -(807) found -(808) found -[5272] Forked 809 -(809) found -[5271] Forked 810 -(810) found -[5270] Forked 811 -(811) found -[5269] Forked 812 -(812) found -[5268] Forked 813 -(813) found -[5267] Forked 814 -(814) found -[5266] Forked 815 -(815) found -[5265] Forked 816 -(816) found -[5264] Forked 817 -(817) found -[5263] Forked 818 -(818) found -[5262] Forked 819 -(819) found -[5261] Forked 820 -(820) found -[5260] Forked 821 -(821) found -[5259] Forked 822 -(822) found -[5258] Forked 823 -(823) found -[5257] Forked 824 -(824) found -[5256] Forked 825 -(825) found -[5255] Forked 826 -(826) found -[5254] Forked 827 -(827) found -[5253] Forked 828 -(828) found -[5252] Forked 829 -(829) found -[5251] Forked 830 -(830) found -[5250] Forked 831 -(831) found -[5249] Forked 832 -(832) found -[5248] Forked 833 -(833) found -[5247] Forked 834 -(834) found -[5246] Forked 835 -(835) found -[5245] Forked 836 -(836) found -[5244] Forked 837 -(837) found -[5243] Forked 838 -(838) found -[5242] Forked 839 -[5241] Forked 840 -(839) found -(840) found -[5240] Forked 841 -[5239] Forked 842 -(841) found -(842) found -[5238] Forked 843 -[5237] Forked 844 -(843) found -(844) found -[5236] Forked 845 -[5235] Forked 847 -(845) found -(847) found -[5234] Forked 848 -[5233] Forked 849 -(848) found -(849) found -[5232] Forked 850 -[5231] Forked 851 -(850) found -(851) found -[5230] Forked 852 -[5229] Forked 853 -(852) found -(853) found -[5228] Forked 854 -[5227] Forked 855 -(854) found -(855) found -[5226] Forked 856 -[5225] Forked 857 -(856) found -(857) found -[5224] Forked 858 -[5223] Forked 859 -(858) found -(859) found -[5222] Forked 860 -[5221] Forked 861 -(860) found -(861) found -[5220] Forked 862 -[5219] Forked 863 -(862) found -(863) found -[5218] Forked 864 -[5217] Forked 865 -(864) found -(865) found -[5216] Forked 866 -[5215] Forked 867 -(866) found -(867) found -[5214] Forked 868 -[5213] Forked 869 -(868) found -(869) found -[5212] Forked 870 -[5211] Forked 871 -(870) found -(871) found -[5210] Forked 872 -[5209] Forked 873 -(872) found -(873) found -[5208] Forked 874 -[5207] Forked 875 -(874) found -(875) found -[5206] Forked 876 -[5205] Forked 877 -(876) found -(877) found -[5204] Forked 878 -[5203] Forked 879 -(878) found -(879) found -[5202] Forked 880 -[5201] Forked 881 -(880) found -(881) found -[5200] Forked 882 -[5199] Forked 883 -(882) found -(883) found -[5198] Forked 884 -[5197] Forked 885 -(885) found -(884) found -[5196] Forked 886 -(886) found -[5195] Forked 887 -(887) found -[5194] Forked 888 -(888) found -[5193] Forked 889 -(889) found -[5192] Forked 890 -(890) found -[5191] Forked 891 -(891) found -[5190] Forked 892 -(892) found -[5189] Forked 893 -(893) found -[5188] Forked 894 -(894) found -[5187] Forked 895 -(895) found -[5186] Forked 896 -(896) found -[5185] Forked 897 -(897) found -[5184] Forked 898 -(898) found -[5183] Forked 899 -(899) found -[5182] Forked 900 -(900) found -[5181] Forked 901 -(901) found -[5180] Forked 902 -(902) found -[5179] Forked 903 -(903) found -[5178] Forked 904 -(904) found -[5177] Forked 905 -(905) found -[5176] Forked 906 -(906) found -[5175] Forked 907 -(907) found -[5174] Forked 908 -(908) found -[5173] Forked 909 -(909) found -[5172] Forked 910 -(910) found -[5171] Forked 911 -(911) found -[5170] Forked 912 -(912) found -[5169] Forked 913 -(913) found -[5168] Forked 914 -(914) found -[5167] Forked 915 -(915) found -[5166] Forked 916 -(916) found -[5165] Forked 917 -(917) found -[5164] Forked 918 -(918) found -[5163] Forked 919 -(919) found -[5162] Forked 920 -[5161] Forked 921 -(920) found -(921) found -[5160] Forked 922 -[5159] Forked 923 -(922) found -(923) found -[5158] Forked 924 -[5157] Forked 925 -(924) found -(925) found -[5156] Forked 926 -[5155] Forked 927 -(926) found -(927) found -[5154] Forked 928 -[5153] Forked 929 -(928) found -(929) found -[5152] Forked 930 -[5151] Forked 931 -(930) found -(931) found -[5150] Forked 932 -[5149] Forked 933 -(932) found -(933) found -[5148] Forked 934 -[5147] Forked 935 -(934) found -(935) found -[5146] Forked 936 -[5145] Forked 937 -(936) found -(937) found -[5144] Forked 938 -[5143] Forked 939 -(938) found -(939) found -[5142] Forked 940 -[5141] Forked 941 -(940) found -(941) found -[5140] Forked 942 -[5139] Forked 943 -(942) found -(943) found -[5138] Forked 944 -[5137] Forked 945 -(944) found -(945) found -[5136] Forked 946 -[5135] Forked 947 -(946) found -(947) found -[5134] Forked 948 -[5133] Forked 949 -(948) found -(949) found -[5132] Forked 950 -[5131] Forked 951 -(950) found -(951) found -[5130] Forked 952 -[5129] Forked 953 -(952) found -(953) found -[5128] Forked 954 -[5127] Forked 955 -(954) found -(955) found -[5126] Forked 956 -[5125] Forked 957 -(956) found -(957) found -[5124] Forked 958 -[5123] Forked 959 -(958) found -(959) found -[5122] Forked 960 -[5121] Forked 961 -(960) found -(961) found -[5120] Forked 962 -[5119] Forked 963 -(962) found -(963) found -[5118] Forked 964 -[5117] Forked 965 -(965) found -(964) found -[5116] Forked 966 -(966) found -[5115] Forked 967 -(967) found -[5114] Forked 968 -(968) found -[5113] Forked 969 -(969) found -[5112] Forked 970 -(970) found -[5111] Forked 971 -(971) found -[5110] Forked 972 -(972) found -[5109] Forked 973 -(973) found -[5108] Forked 974 -(974) found -[5107] Forked 975 -(975) found -[5106] Forked 976 -(976) found -[5105] Forked 977 -(977) found -[5104] Forked 978 -(978) found -[5103] Forked 979 -(979) found -[5102] Forked 980 -(980) found -[5101] Forked 981 -(981) found -[5100] Forked 982 -(982) found -[5099] Forked 983 -(983) found -[5098] Forked 984 -(984) found -[5097] Forked 985 -(985) found -[5096] Forked 986 -(986) found -[5095] Forked 987 -(987) found -[5094] Forked 988 -(988) found -[5093] Forked 989 -(989) found -[5092] Forked 990 -(990) found -[5091] Forked 991 -(991) found -[5090] Forked 992 -(992) found -[5089] Forked 993 -(993) found -[5088] Forked 994 -(994) found -[5087] Forked 995 -(995) found -[5086] Forked 996 -(996) found -[5085] Forked 997 -(997) found -[5084] Forked 998 -(998) found -[5083] Forked 999 -(999) found -[5082] Forked 1000 -(1000) found -[5081] Forked 1001 -(1001) found -[5080] Forked 1002 -(1002) found -[5079] Forked 1003 -(1003) found -[5078] Forked 1004 -(1004) found -[5077] Forked 1005 -(1005) found -[5076] Forked 1006 -(1006) found -[5075] Forked 1007 -(1007) found -[5074] Forked 1008 -(1008) found -[5073] Forked 1009 -(1009) found -[5072] Forked 1010 -(1010) found -[5071] Forked 1011 -(1011) found -[5070] Forked 1012 -(1012) found -[5069] Forked 1013 -(1013) found -[5068] Forked 1014 -(1014) found -[5067] Forked 1015 -(1015) found -[5066] Forked 1016 -(1016) found -[5065] Forked 1017 -(1017) found -[5064] Forked 1018 -(1018) found -[5063] Forked 1019 -(1019) found -[5062] Forked 1020 -(1020) found -[5061] Forked 1021 -(1021) found -[5060] Forked 1022 -(1022) found -[5059] Forked 1023 -(1023) found -[5058] Forked 1024 -(1024) found -[5057] Forked 1025 -(1025) found -[5056] Forked 1026 -(1026) found -[5055] Forked 1027 -(1027) found -[5054] Forked 1028 -(1028) found -[5053] Forked 1029 -(1029) found -[5052] Forked 1030 -(1030) found -[5051] Forked 1031 -(1031) found -[5050] Forked 1032 -(1032) found -[5049] Forked 1033 -(1033) found -[5048] Forked 1034 -(1034) found -[5047] Forked 1035 -(1035) found -[5046] Forked 1036 -[5045] Forked 1037 -(1036) found -(1037) found -[5044] Forked 1038 -[5043] Forked 1039 -(1038) found -(1039) found -[5042] Forked 1040 -[5041] Forked 1041 -(1040) found -(1041) found -[5040] Forked 1042 -[5039] Forked 1043 -(1042) found -(1043) found -[5038] Forked 1044 -[5037] Forked 1045 -(1044) found -(1045) found -[5036] Forked 1046 -[5035] Forked 1047 -(1046) found -(1047) found -[5034] Forked 1048 -[5033] Forked 1049 -(1048) found -(1049) found -[5032] Forked 1050 -[5031] Forked 1051 -(1050) found -(1051) found -[5030] Forked 1052 -[5029] Forked 1053 -(1052) found -(1053) found -[5028] Forked 1054 -[5027] Forked 1055 -(1054) found -(1055) found -[5026] Forked 1056 -[5025] Forked 1057 -(1056) found -(1057) found -[5024] Forked 1058 -[5023] Forked 1059 -(1058) found -(1059) found -[5022] Forked 1060 -[5021] Forked 1061 -(1060) found -(1061) found -[5020] Forked 1062 -[5019] Forked 1063 -(1062) found -(1063) found -[5018] Forked 1064 -[5017] Forked 1065 -(1064) found -(1065) found -[5016] Forked 1066 -[5015] Forked 1067 -(1066) found -(1067) found -[5014] Forked 1068 -[5013] Forked 1069 -(1068) found -(1069) found -[5012] Forked 1070 -[5011] Forked 1071 -(1070) found -(1071) found -[5010] Forked 1072 -[5009] Forked 1073 -(1072) found -(1073) found -[5008] Forked 1074 -[5007] Forked 1075 -(1074) found -(1075) found -[5006] Forked 1076 -[5005] Forked 1077 -(1076) found -(1077) found -[5004] Forked 1078 -[5003] Forked 1079 -(1078) found -(1079) found -[5002] Forked 1080 -[5001] Forked 1081 -(1080) found -(1081) found -[5000] Forked 1082 -[4999] Forked 1083 -(1082) found -(1083) found -[4998] Forked 1084 -[4997] Forked 1085 -(1084) found -(1085) found -[4996] Forked 1086 -[4995] Forked 1087 -(1086) found -(1087) found -[4994] Forked 1088 -[4993] Forked 1089 -(1088) found -(1089) found -[4992] Forked 1090 -[4991] Forked 1091 -(1090) found -(1091) found -[4990] Forked 1092 -[4989] Forked 1093 -(1092) found -(1093) found -[4988] Forked 1094 -[4987] Forked 1095 -(1094) found -(1095) found -[4986] Forked 1096 -[4985] Forked 1097 -(1096) found -(1097) found -[4984] Forked 1098 -[4983] Forked 1099 -(1098) found -(1099) found -[4982] Forked 1100 -[4981] Forked 1101 -(1100) found -(1101) found -[4980] Forked 1102 -[4979] Forked 1103 -(1102) found -(1103) found -[4978] Forked 1104 -[4977] Forked 1105 -(1104) found -(1105) found -[4976] Forked 1106 -[4975] Forked 1108 -(1106) found -(1108) found -[4974] Forked 1109 -[4973] Forked 1110 -(1109) found -(1110) found -[4972] Forked 1111 -[4971] Forked 1112 -(1111) found -(1112) found -[4970] Forked 1113 -[4969] Forked 1114 -(1113) found -(1114) found -[4968] Forked 1115 -[4967] Forked 1116 -(1115) found -(1116) found -[4966] Forked 1117 -[4965] Forked 1118 -(1117) found -(1118) found -[4964] Forked 1119 -[4963] Forked 1120 -(1119) found -(1120) found -[4962] Forked 1121 -[4961] Forked 1122 -(1121) found -(1122) found -[4960] Forked 1123 -[4959] Forked 1124 -(1123) found -(1124) found -[4958] Forked 1125 -(1125) found -[4957] Forked 1126 -(1126) found -[4956] Forked 1127 -(1127) found -[4955] Forked 1128 -(1128) found -[4954] Forked 1129 -(1129) found -[4953] Forked 1130 -(1130) found -[4952] Forked 1131 -(1131) found -[4951] Forked 1132 -(1132) found -[4950] Forked 1133 -[4949] Forked 1134 -(1133) found -(1134) found -[4948] Forked 1135 -[4947] Forked 1136 -(1135) found -(1136) found -[4946] Forked 1137 -[4945] Forked 1138 -(1137) found -(1138) found -[4944] Forked 1139 -[4943] Forked 1140 -(1139) found -(1140) found -[4942] Forked 1141 -[4941] Forked 1142 -(1141) found -(1142) found -[4940] Forked 1143 -[4939] Forked 1144 -(1143) found -(1144) found -[4938] Forked 1145 -[4937] Forked 1146 -(1145) found -(1146) found -[4936] Forked 1147 -[4935] Forked 1148 -(1147) found -(1148) found -[4934] Forked 1149 -[4933] Forked 1150 -(1149) found -(1150) found -[4932] Forked 1151 -[4931] Forked 1152 -(1151) found -(1152) found -[4930] Forked 1153 -[4929] Forked 1154 -(1153) found -(1154) found -[4928] Forked 1155 -[4927] Forked 1156 -(1155) found -(1156) found -[4926] Forked 1157 -[4925] Forked 1158 -(1157) found -(1158) found -[4924] Forked 1159 -[4923] Forked 1160 -(1159) found -(1160) found -[4922] Forked 1161 -[4921] Forked 1162 -(1161) found -(1162) found -[4920] Forked 1163 -[4919] Forked 1164 -(1163) found -(1164) found -[4918] Forked 1165 -[4917] Forked 1166 -(1165) found -(1166) found -[4916] Forked 1167 -(1167) found -[4915] Forked 1168 -(1168) found -[4914] Forked 1169 -(1169) found -[4913] Forked 1170 -(1170) found -[4912] Forked 1171 -(1171) found -[4911] Forked 1172 -(1172) found -[4910] Forked 1173 -(1173) found -[4909] Forked 1174 -(1174) found -[4908] Forked 1175 -(1175) found -[4907] Forked 1176 -(1176) found -[4906] Forked 1177 -(1177) found -[4905] Forked 1178 -(1178) found -[4904] Forked 1179 -(1179) found -[4903] Forked 1180 -(1180) found -[4902] Forked 1181 -(1181) found -[4901] Forked 1182 -(1182) found -[4900] Forked 1183 -(1183) found -[4899] Forked 1184 -(1184) found -[4898] Forked 1185 -(1185) found -[4897] Forked 1186 -(1186) found -[4896] Forked 1187 -(1187) found -[4895] Forked 1188 -(1188) found -[4894] Forked 1190 -(1190) found -[4893] Forked 1191 -(1191) found -[4892] Forked 1192 -(1192) found -[4891] Forked 1193 -(1193) found -[4890] Forked 1194 -(1194) found -[4889] Forked 1195 -(1195) found -[4888] Forked 1196 -(1196) found -[4887] Forked 1197 -(1197) found -[4886] Forked 1198 -(1198) found -[4885] Forked 1199 -(1199) found -[4884] Forked 1200 -(1200) found -[4883] Forked 1201 -(1201) found -[4882] Forked 1202 -(1202) found -[4881] Forked 1203 -(1203) found -[4880] Forked 1204 -[4879] Forked 1205 -(1204) found -(1205) found -[4878] Forked 1206 -[4877] Forked 1207 -(1206) found -(1207) found -[4876] Forked 1208 -[4875] Forked 1209 -(1208) found -(1209) found -[4874] Forked 1210 -[4873] Forked 1211 -(1210) found -(1211) found -[4872] Forked 1212 -[4871] Forked 1213 -(1212) found -(1213) found -[4870] Forked 1214 -[4869] Forked 1215 -(1214) found -(1215) found -[4868] Forked 1216 -[4867] Forked 1217 -(1216) found -(1217) found -[4866] Forked 1218 -[4865] Forked 1219 -(1218) found -(1219) found -[4864] Forked 1220 -[4863] Forked 1221 -(1220) found -(1221) found -[4862] Forked 1222 -[4861] Forked 1223 -(1222) found -(1223) found -[4860] Forked 1224 -[4859] Forked 1225 -(1224) found -(1225) found -[4858] Forked 1226 -[4857] Forked 1227 -(1226) found -(1227) found -[4856] Forked 1228 -[4855] Forked 1229 -(1228) found -(1229) found -[4854] Forked 1230 -[4853] Forked 1231 -(1230) found -(1231) found -[4852] Forked 1232 -[4851] Forked 1233 -(1232) found -(1233) found -[4850] Forked 1234 -[4849] Forked 1235 -(1234) found -(1235) found -[4848] Forked 1236 -[4847] Forked 1237 -(1236) found -(1237) found -[4846] Forked 1238 -[4845] Forked 1239 -(1238) found -(1239) found -[4844] Forked 1240 -[4843] Forked 1241 -(1240) found -(1241) found -[4842] Forked 1242 -[4841] Forked 1243 -(1242) found -(1243) found -[4840] Forked 1244 -[4839] Forked 1245 -(1244) found -(1245) found -[4838] Forked 1246 -[4837] Forked 1247 -(1246) found -(1247) found -[4836] Forked 1248 -[4835] Forked 1249 -(1248) found -(1249) found -[4834] Forked 1250 -[4833] Forked 1251 -(1250) found -(1251) found -[4832] Forked 1252 -(1252) found -[4831] Forked 1253 -[4830] Forked 1254 -(1253) found -(1254) found -[4829] Forked 1255 -[4828] Forked 1256 -(1255) found -(1256) found -[4827] Forked 1257 -[4826] Forked 1258 -(1257) found -(1258) found -[4825] Forked 1259 -[4824] Forked 1260 -(1259) found -(1260) found -[4823] Forked 1261 -[4822] Forked 1262 -(1261) found -(1262) found -[4821] Forked 1263 -[4820] Forked 1264 -(1263) found -(1264) found -[4819] Forked 1265 -[4818] Forked 1266 -(1265) found -(1266) found -[4817] Forked 1267 -[4816] Forked 1268 -(1267) found -(1268) found -[4815] Forked 1269 -[4814] Forked 1270 -(1269) found -(1270) found -[4813] Forked 1271 -[4812] Forked 1272 -(1271) found -(1272) found -[4811] Forked 1273 -[4810] Forked 1274 -(1273) found -(1274) found -[4809] Forked 1275 -[4808] Forked 1276 -(1275) found -(1276) found -[4807] Forked 1277 -[4806] Forked 1278 -(1277) found -(1278) found -[4805] Forked 1279 -[4804] Forked 1280 -(1279) found -(1280) found -[4803] Forked 1281 -[4802] Forked 1282 -(1281) found -(1282) found -[4801] Forked 1283 -[4800] Forked 1284 -(1283) found -(1284) found -[4799] Forked 1285 -[4798] Forked 1286 -(1285) found -(1286) found -[4797] Forked 1287 -[4796] Forked 1288 -(1287) found -(1288) found -[4795] Forked 1289 -[4794] Forked 1290 -(1289) found -(1290) found -[4793] Forked 1291 -(1291) found -[4792] Forked 1292 -(1292) found -[4791] Forked 1293 -(1293) found -[4790] Forked 1294 -(1294) found -[4789] Forked 1295 -(1295) found -[4788] Forked 1296 -(1296) found -[4787] Forked 1297 -(1297) found -[4786] Forked 1298 -(1298) found -[4785] Forked 1299 -(1299) found -[4784] Forked 1300 -(1300) found -[4783] Forked 1301 -(1301) found -[4782] Forked 1302 -(1302) found -[4781] Forked 1303 -(1303) found -[4780] Forked 1304 -(1304) found -[4779] Forked 1305 -(1305) found -[4778] Forked 1306 -(1306) found -[4777] Forked 1307 -(1307) found -[4776] Forked 1308 -(1308) found -[4775] Forked 1309 -(1309) found -[4774] Forked 1310 -(1310) found -[4773] Forked 1312 -(1312) found -[4772] Forked 1313 -(1313) found -[4771] Forked 1314 -(1314) found -[4770] Forked 1315 -(1315) found -[4769] Forked 1316 -(1316) found -[4768] Forked 1317 -(1317) found -[4767] Forked 1318 -(1318) found -[4766] Forked 1319 -(1319) found -[4765] Forked 1320 -(1320) found -[4764] Forked 1321 -(1321) found -[4763] Forked 1322 -(1322) found -[4762] Forked 1323 -(1323) found -[4761] Forked 1324 -(1324) found -[4760] Forked 1325 -(1325) found -[4759] Forked 1326 -[4758] Forked 1327 -(1326) found -(1327) found -[4757] Forked 1328 -[4756] Forked 1329 -(1328) found -(1329) found -[4755] Forked 1330 -[4754] Forked 1331 -(1330) found -(1331) found -[4753] Forked 1332 -[4752] Forked 1333 -(1332) found -(1333) found -[4751] Forked 1334 -[4750] Forked 1335 -(1334) found -(1335) found -[4749] Forked 1336 -[4748] Forked 1337 -(1336) found -(1337) found -[4747] Forked 1338 -[4746] Forked 1339 -(1338) found -(1339) found -[4745] Forked 1340 -[4744] Forked 1341 -(1340) found -(1341) found -[4743] Forked 1342 -[4742] Forked 1343 -(1342) found -(1343) found -[4741] Forked 1344 -[4740] Forked 1345 -(1344) found -(1345) found -[4739] Forked 1346 -[4738] Forked 1347 -(1346) found -(1347) found -[4737] Forked 1348 -[4736] Forked 1349 -(1348) found -(1349) found -[4735] Forked 1350 -[4734] Forked 1351 -(1350) found -(1351) found -[4733] Forked 1352 -[4732] Forked 1353 -(1352) found -(1353) found -[4731] Forked 1354 -[4730] Forked 1355 -(1354) found -(1355) found -[4729] Forked 1356 -[4728] Forked 1357 -(1356) found -(1357) found -[4727] Forked 1358 -[4726] Forked 1359 -(1358) found -(1359) found -[4725] Forked 1360 -[4724] Forked 1361 -(1360) found -(1361) found -[4723] Forked 1362 -[4722] Forked 1363 -(1362) found -(1363) found -[4721] Forked 1364 -[4720] Forked 1365 -(1364) found -(1365) found -[4719] Forked 1366 -[4718] Forked 1367 -(1366) found -(1367) found -[4717] Forked 1368 -[4716] Forked 1369 -(1368) found -(1369) found -[4715] Forked 1370 -[4714] Forked 1371 -(1370) found -(1371) found -[4713] Forked 1372 -(1372) found -[4712] Forked 1373 -(1373) found -[4711] Forked 1374 -(1374) found -[4710] Forked 1375 -(1375) found -[4709] Forked 1376 -(1376) found -[4708] Forked 1377 -(1377) found -[4707] Forked 1378 -(1378) found -[4706] Forked 1379 -(1379) found -[4705] Forked 1380 -(1380) found -[4704] Forked 1381 -(1381) found -[4703] Forked 1382 -(1382) found -[4702] Forked 1383 -(1383) found -[4701] Forked 1384 -(1384) found -[4700] Forked 1385 -(1385) found -[4699] Forked 1386 -(1386) found -[4698] Forked 1387 -(1387) found -[4697] Forked 1388 -(1388) found -[4696] Forked 1389 -(1389) found -[4695] Forked 1390 -(1390) found -[4694] Forked 1391 -(1391) found -[4693] Forked 1392 -(1392) found -[4692] Forked 1393 -(1393) found -[4691] Forked 1394 -(1394) found -[4690] Forked 1395 -(1395) found -[4689] Forked 1396 -(1396) found -[4688] Forked 1397 -(1397) found -[4687] Forked 1398 -(1398) found -[4686] Forked 1399 -(1399) found -[4685] Forked 1400 -(1400) found -[4684] Forked 1401 -(1401) found -[4683] Forked 1402 -(1402) found -[4682] Forked 1403 -(1403) found -[4681] Forked 1404 -(1404) found -[4680] Forked 1405 -(1405) found -[4679] Forked 1406 -[4678] Forked 1407 -(1406) found -(1407) found -[4677] Forked 1408 -[4676] Forked 1409 -(1408) found -(1409) found -[4675] Forked 1410 -[4674] Forked 1411 -(1410) found -(1411) found -[4673] Forked 1412 -[4672] Forked 1413 -(1412) found -(1413) found -[4671] Forked 1414 -[4670] Forked 1415 -(1414) found -(1415) found -[4669] Forked 1416 -[4668] Forked 1417 -(1416) found -(1417) found -[4667] Forked 1418 -[4666] Forked 1419 -(1418) found -(1419) found -[4665] Forked 1420 -[4664] Forked 1421 -(1420) found -(1421) found -[4663] Forked 1422 -[4662] Forked 1423 -(1422) found -(1423) found -[4661] Forked 1424 -[4660] Forked 1425 -(1424) found -(1425) found -[4659] Forked 1426 -[4658] Forked 1427 -(1426) found -(1427) found -[4657] Forked 1428 -[4656] Forked 1429 -(1428) found -(1429) found -[4655] Forked 1430 -[4654] Forked 1431 -(1431) found -(1430) found -[4653] Forked 1432 -(1432) found -[4652] Forked 1433 -(1433) found -[4651] Forked 1434 -(1434) found -[4650] Forked 1435 -(1435) found -[4649] Forked 1436 -(1436) found -[4648] Forked 1437 -(1437) found -[4647] Forked 1438 -(1438) found -[4646] Forked 1440 -(1440) found -[4645] Forked 1441 -(1441) found -[4644] Forked 1442 -(1442) found -[4643] Forked 1443 -(1443) found -[4642] Forked 1444 -(1444) found -[4641] Forked 1445 -(1445) found -[4640] Forked 1446 -(1446) found -[4639] Forked 1447 -(1447) found -[4638] Forked 1448 -(1448) found -[4637] Forked 1449 -(1449) found -[4636] Forked 1450 -(1450) found -[4635] Forked 1451 -(1451) found -[4634] Forked 1452 -(1452) found -[4633] Forked 1453 -(1453) found -[4632] Forked 1454 -(1454) found -[4631] Forked 1455 -(1455) found -[4630] Forked 1456 -(1456) found -[4629] Forked 1457 -(1457) found -[4628] Forked 1458 -(1458) found -[4627] Forked 1459 -(1459) found -[4626] Forked 1460 -(1460) found -[4625] Forked 1461 -(1461) found -[4624] Forked 1462 -(1462) found -[4623] Forked 1463 -(1463) found -[4622] Forked 1464 -(1464) found -[4621] Forked 1465 -(1465) found -[4620] Forked 1466 -(1466) found -[4619] Forked 1467 -(1467) found -[4618] Forked 1468 -(1468) found -[4617] Forked 1469 -(1469) found -[4616] Forked 1470 -(1470) found -[4615] Forked 1471 -(1471) found -[4614] Forked 1472 -(1472) found -[4613] Forked 1473 -(1473) found -[4612] Forked 1474 -(1474) found -[4611] Forked 1475 -(1475) found -[4610] Forked 1476 -(1476) found -[4609] Forked 1477 -(1477) found -[4608] Forked 1478 -(1478) found -[4607] Forked 1479 -(1479) found -[4606] Forked 1480 -(1480) found -[4605] Forked 1481 -(1481) found -[4604] Forked 1482 -(1482) found -[4603] Forked 1483 -(1483) found -[4602] Forked 1484 -(1484) found -[4601] Forked 1485 -(1485) found -[4600] Forked 1486 -(1486) found -[4599] Forked 1487 -(1487) found -[4598] Forked 1488 -(1488) found -[4597] Forked 1489 -(1489) found -[4596] Forked 1490 -(1490) found -[4595] Forked 1491 -(1491) found -[4594] Forked 1492 -(1492) found -[4593] Forked 1493 -(1493) found -[4592] Forked 1494 -(1494) found -[4591] Forked 1495 -(1495) found -[4590] Forked 1496 -(1496) found -[4589] Forked 1497 -(1497) found -[4588] Forked 1498 -(1498) found -[4587] Forked 1499 -(1499) found -[4586] Forked 1500 -(1500) found -[4585] Forked 1501 -(1501) found -[4584] Forked 1502 -(1502) found -[4583] Forked 1503 -(1503) found -[4582] Forked 1504 -(1504) found -[4581] Forked 1505 -(1505) found -[4580] Forked 1506 -(1506) found -[4579] Forked 1507 -(1507) found -[4578] Forked 1508 -(1508) found -[4577] Forked 1509 -(1509) found -[4576] Forked 1510 -(1510) found -[4575] Forked 1511 -(1511) found -[4574] Forked 1512 -(1512) found -[4573] Forked 1513 -(1513) found -[4572] Forked 1514 -(1514) found -[4571] Forked 1515 -[4570] Forked 1516 -(1515) found -(1516) found -[4569] Forked 1517 -[4568] Forked 1518 -(1517) found -(1518) found -[4567] Forked 1519 -(1519) found -[4566] Forked 1520 -[4565] Forked 1521 -(1520) found -(1521) found -[4564] Forked 1522 -[4563] Forked 1523 -(1522) found -(1523) found -[4562] Forked 1524 -[4561] Forked 1525 -(1524) found -(1525) found -[4560] Forked 1526 -[4559] Forked 1527 -(1526) found -(1527) found -[4558] Forked 1528 -[4557] Forked 1529 -(1528) found -(1529) found -[4556] Forked 1530 -[4555] Forked 1531 -(1530) found -(1531) found -[4554] Forked 1532 -[4553] Forked 1533 -(1532) found -(1533) found -[4552] Forked 1534 -[4551] Forked 1535 -(1534) found -(1535) found -[4550] Forked 1536 -[4549] Forked 1537 -(1536) found -(1537) found -[4548] Forked 1538 -[4547] Forked 1539 -(1538) found -(1539) found -[4546] Forked 1540 -[4545] Forked 1541 -(1540) found -(1541) found -[4544] Forked 1542 -[4543] Forked 1543 -(1542) found -(1543) found -[4542] Forked 1544 -[4541] Forked 1545 -(1544) found -(1545) found -[4540] Forked 1546 -[4539] Forked 1547 -(1546) found -(1547) found -[4538] Forked 1548 -[4537] Forked 1549 -(1548) found -(1549) found -[4536] Forked 1550 -[4535] Forked 1551 -(1550) found -(1551) found -[4534] Forked 1552 -[4533] Forked 1553 -(1552) found -(1553) found -[4532] Forked 1554 -[4531] Forked 1555 -(1554) found -(1555) found -[4530] Forked 1556 -[4529] Forked 1557 -(1556) found -(1557) found -[4528] Forked 1558 -[4527] Forked 1559 -(1558) found -(1559) found -[4526] Forked 1560 -[4525] Forked 1561 -(1560) found -(1561) found -[4524] Forked 1562 -[4523] Forked 1563 -(1562) found -(1563) found -[4522] Forked 1564 -[4521] Forked 1565 -(1564) found -(1565) found -[4520] Forked 1566 -[4519] Forked 1567 -(1566) found -(1567) found -[4518] Forked 1568 -[4517] Forked 1569 -(1568) found -(1569) found -[4516] Forked 1570 -[4515] Forked 1571 -(1570) found -(1571) found -[4514] Forked 1572 -[4513] Forked 1573 -(1572) found -(1573) found -[4512] Forked 1574 -[4511] Forked 1575 -(1574) found -(1575) found -[4510] Forked 1576 -[4509] Forked 1577 -(1576) found -(1577) found -[4508] Forked 1578 -[4507] Forked 1579 -(1578) found -(1579) found -[4506] Forked 1580 -[4505] Forked 1581 -(1580) found -(1581) found -[4504] Forked 1582 -[4503] Forked 1583 -(1582) found -(1583) found -[4502] Forked 1584 -[4501] Forked 1585 -(1584) found -(1585) found -[4500] Forked 1586 -[4499] Forked 1587 -(1586) found -(1587) found -[4498] Forked 1588 -[4497] Forked 1589 -(1588) found -(1589) found -[4496] Forked 1590 -[4495] Forked 1591 -(1590) found -(1591) found -[4494] Forked 1592 -[4493] Forked 1593 -(1592) found -(1593) found -[4492] Forked 1595 -[4491] Forked 1596 -(1595) found -(1596) found -[4490] Forked 1597 -[4489] Forked 1598 -(1597) found -(1598) found -[4488] Forked 1599 -[4487] Forked 1600 -(1599) found -(1600) found -[4486] Forked 1601 -[4485] Forked 1602 -(1601) found -(1602) found -[4484] Forked 1603 -[4483] Forked 1604 -(1603) found -(1604) found -[4482] Forked 1605 -[4481] Forked 1606 -(1605) found -(1606) found -[4480] Forked 1607 -[4479] Forked 1608 -(1607) found -(1608) found -[4478] Forked 1609 -[4477] Forked 1611 -(1609) found -(1611) found -[4476] Forked 1612 -(1612) found -[4475] Forked 1613 -(1613) found -[4474] Forked 1614 -(1614) found -[4473] Forked 1615 -(1615) found -[4472] Forked 1616 -(1616) found -[4471] Forked 1617 -(1617) found -[4470] Forked 1618 -(1618) found -[4469] Forked 1619 -(1619) found -[4468] Forked 1620 -(1620) found -[4467] Forked 1621 -(1621) found -[4466] Forked 1622 -(1622) found -[4465] Forked 1623 -(1623) found -[4464] Forked 1624 -(1624) found -[4463] Forked 1625 -(1625) found -[4462] Forked 1626 -(1626) found -[4461] Forked 1627 -(1627) found -[4460] Forked 1628 -(1628) found -[4459] Forked 1629 -(1629) found -[4458] Forked 1630 -(1630) found -[4457] Forked 1631 -(1631) found -[4456] Forked 1632 -(1632) found -[4455] Forked 1633 -(1633) found -[4454] Forked 1634 -(1634) found -[4453] Forked 1635 -(1635) found -[4452] Forked 1636 -(1636) found -[4451] Forked 1637 -(1637) found -[4450] Forked 1638 -(1638) found -[4449] Forked 1639 -(1639) found -[4448] Forked 1640 -(1640) found -[4447] Forked 1641 -(1641) found -[4446] Forked 1642 -(1642) found -[4445] Forked 1643 -(1643) found -[4444] Forked 1644 -(1644) found -[4443] Forked 1645 -(1645) found -[4442] Forked 1646 -(1646) found -[4441] Forked 1647 -(1647) found -[4440] Forked 1648 -(1648) found -[4439] Forked 1649 -(1649) found -[4438] Forked 1650 -(1650) found -[4437] Forked 1651 -(1651) found -[4436] Forked 1652 -(1652) found -[4435] Forked 1653 -(1653) found -[4434] Forked 1654 -(1654) found -[4433] Forked 1655 -(1655) found -[4432] Forked 1656 -(1656) found -[4431] Forked 1657 -(1657) found -[4430] Forked 1658 -(1658) found -[4429] Forked 1659 -(1659) found -[4428] Forked 1660 -(1660) found -[4427] Forked 1661 -(1661) found -[4426] Forked 1662 -(1662) found -[4425] Forked 1663 -(1663) found -[4424] Forked 1664 -(1664) found -[4423] Forked 1665 -(1665) found -[4422] Forked 1666 -(1666) found -[4421] Forked 1668 -(1668) found -[4420] Forked 1669 -(1669) found -[4419] Forked 1670 -(1670) found -[4418] Forked 1671 -(1671) found -[4417] Forked 1672 -(1672) found -[4416] Forked 1673 -(1673) found -[4415] Forked 1674 -(1674) found -[4414] Forked 1675 -(1675) found -[4413] Forked 1676 -(1676) found -[4412] Forked 1677 -(1677) found -[4411] Forked 1679 -(1679) found -[4410] Forked 1680 -[4409] Forked 1681 -(1680) found -(1681) found -[4408] Forked 1682 -[4407] Forked 1683 -(1682) found -(1683) found -[4406] Forked 1684 -[4405] Forked 1685 -(1684) found -(1685) found -[4404] Forked 1686 -[4403] Forked 1687 -(1686) found -(1687) found -[4402] Forked 1688 -[4401] Forked 1689 -(1688) found -(1689) found -[4400] Forked 1690 -[4399] Forked 1691 -(1690) found -(1691) found -[4398] Forked 1692 -[4397] Forked 1693 -(1692) found -(1693) found -[4396] Forked 1694 -[4395] Forked 1695 -(1694) found -(1695) found -[4394] Forked 1696 -[4393] Forked 1697 -(1696) found -(1697) found -[4392] Forked 1698 -[4391] Forked 1699 -(1698) found -(1699) found -[4390] Forked 1700 -[4389] Forked 1701 -(1700) found -(1701) found -[4388] Forked 1702 -[4387] Forked 1703 -(1702) found -(1703) found -[4386] Forked 1704 -[4385] Forked 1705 -(1704) found -(1705) found -[4384] Forked 1706 -[4383] Forked 1707 -(1706) found -(1707) found -[4382] Forked 1708 -[4381] Forked 1709 -(1708) found -(1709) found -[4380] Forked 1710 -[4379] Forked 1711 -(1710) found -(1711) found -[4378] Forked 1712 -[4377] Forked 1713 -(1712) found -(1713) found -[4376] Forked 1714 -[4375] Forked 1715 -(1714) found -(1715) found -[4374] Forked 1716 -[4373] Forked 1717 -(1716) found -(1717) found -[4372] Forked 1718 -[4371] Forked 1719 -(1718) found -(1719) found -[4370] Forked 1720 -[4369] Forked 1721 -(1720) found -(1721) found -[4368] Forked 1722 -[4367] Forked 1723 -(1722) found -(1723) found -[4366] Forked 1724 -(1724) found -[4365] Forked 1725 -(1725) found -[4364] Forked 1726 -(1726) found -[4363] Forked 1727 -(1727) found -[4362] Forked 1728 -(1728) found -[4361] Forked 1729 -(1729) found -[4360] Forked 1730 -(1730) found -[4359] Forked 1731 -(1731) found -[4358] Forked 1732 -(1732) found -[4357] Forked 1733 -(1733) found -[4356] Forked 1734 -(1734) found -[4355] Forked 1735 -(1735) found -[4354] Forked 1736 -(1736) found -[4353] Forked 1737 -(1737) found -[4352] Forked 1738 -(1738) found -[4351] Forked 1739 -(1739) found -[4350] Forked 1740 -(1740) found -[4349] Forked 1741 -(1741) found -[4348] Forked 1742 -(1742) found -[4347] Forked 1743 -(1743) found -[4346] Forked 1744 -(1744) found -[4345] Forked 1745 -(1745) found -[4344] Forked 1746 -(1746) found -[4343] Forked 1747 -(1747) found -[4342] Forked 1748 -(1748) found -[4341] Forked 1749 -(1749) found -[4340] Forked 1750 -(1750) found -[4339] Forked 1751 -(1751) found -[4338] Forked 1752 -(1752) found -[4337] Forked 1753 -(1753) found -[4336] Forked 1754 -(1754) found -[4335] Forked 1755 -(1755) found -[4334] Forked 1756 -(1756) found -[4333] Forked 1757 -(1757) found -[4332] Forked 1758 -(1758) found -[4331] Forked 1760 -[4330] Forked 1761 -(1760) found -(1761) found -[4329] Forked 1762 -[4328] Forked 1763 -(1762) found -(1763) found -[4327] Forked 1764 -[4326] Forked 1765 -(1764) found -(1765) found -[4325] Forked 1766 -[4324] Forked 1767 -(1766) found -(1767) found -[4323] Forked 1768 -[4322] Forked 1769 -(1768) found -(1769) found -[4321] Forked 1770 -[4320] Forked 1771 -(1770) found -(1771) found -[4319] Forked 1772 -[4318] Forked 1773 -(1772) found -(1773) found -[4317] Forked 1774 -[4316] Forked 1775 -(1774) found -(1775) found -[4315] Forked 1776 -[4314] Forked 1777 -(1776) found -(1777) found -[4313] Forked 1778 -[4312] Forked 1779 -(1778) found -(1779) found -[4311] Forked 1780 -[4310] Forked 1781 -(1780) found -(1781) found -[4309] Forked 1782 -[4308] Forked 1783 -(1782) found -(1783) found -[4307] Forked 1784 -[4306] Forked 1785 -(1784) found -(1785) found -[4305] Forked 1786 -[4304] Forked 1787 -(1786) found -(1787) found -[4303] Forked 1788 -[4302] Forked 1789 -(1788) found -(1789) found -[4301] Forked 1790 -[4300] Forked 1791 -(1790) found -(1791) found -[4299] Forked 1792 -[4298] Forked 1793 -(1792) found -(1793) found -[4297] Forked 1794 -[4296] Forked 1795 -(1794) found -(1795) found -[4295] Forked 1796 -[4294] Forked 1797 -(1796) found -(1797) found -[4293] Forked 1798 -[4292] Forked 1799 -(1798) found -(1799) found -[4291] Forked 1800 -[4290] Forked 1801 -(1800) found -(1801) found -[4289] Forked 1802 -[4288] Forked 1803 -(1802) found -(1803) found -[4287] Forked 1804 -[4286] Forked 1805 -(1804) found -(1805) found -[4285] Forked 1806 -[4284] Forked 1807 -(1806) found -(1807) found -[4283] Forked 1808 -[4282] Forked 1809 -(1808) found -(1809) found -[4281] Forked 1810 -[4280] Forked 1811 -(1810) found -(1811) found -[4279] Forked 1812 -[4278] Forked 1813 -(1812) found -(1813) found -[4277] Forked 1814 -[4276] Forked 1815 -(1814) found -(1815) found -[4275] Forked 1816 -[4274] Forked 1817 -(1816) found -(1817) found -[4273] Forked 1818 -[4272] Forked 1819 -(1818) found -(1819) found -[4271] Forked 1820 -[4270] Forked 1821 -(1820) found -(1821) found -[4269] Forked 1822 -[4268] Forked 1823 -(1822) found -(1823) found -[4267] Forked 1824 -[4266] Forked 1825 -(1824) found -(1825) found -[4265] Forked 1826 -[4264] Forked 1827 -(1826) found -(1827) found -[4263] Forked 1828 -[4262] Forked 1829 -(1828) found -(1829) found -[4261] Forked 1830 -[4260] Forked 1831 -(1830) found -(1831) found -[4259] Forked 1832 -[4258] Forked 1833 -(1832) found -(1833) found -[4257] Forked 1834 -[4256] Forked 1835 -(1834) found -(1835) found -[4255] Forked 1836 -[4254] Forked 1837 -(1836) found -(1837) found -[4253] Forked 1838 -[4252] Forked 1839 -(1838) found -(1839) found -[4251] Forked 1840 -[4250] Forked 1841 -(1840) found -(1841) found -[4249] Forked 1842 -[4248] Forked 1843 -(1842) found -(1843) found -[4247] Forked 1844 -[4246] Forked 1845 -(1844) found -(1845) found -[4245] Forked 1846 -[4244] Forked 1847 -(1846) found -(1847) found -[4243] Forked 1848 -[4242] Forked 1849 -(1848) found -(1849) found -[4241] Forked 1850 -[4240] Forked 1851 -(1850) found -(1851) found -[4239] Forked 1852 -[4238] Forked 1853 -(1852) found -(1853) found -[4237] Forked 1854 -[4236] Forked 1855 -(1854) found -(1855) found -[4235] Forked 1856 -[4234] Forked 1857 -(1856) found -(1857) found -[4233] Forked 1858 -[4232] Forked 1859 -(1858) found -(1859) found -[4231] Forked 1860 -[4230] Forked 1861 -(1860) found -(1861) found -[4229] Forked 1862 -[4228] Forked 1863 -(1862) found -(1863) found -[4227] Forked 1864 -[4226] Forked 1865 -(1864) found -(1865) found -[4225] Forked 1866 -[4224] Forked 1867 -(1866) found -(1867) found -[4223] Forked 1868 -[4222] Forked 1869 -(1868) found -(1869) found -[4221] Forked 1870 -[4220] Forked 1871 -(1870) found -(1871) found -[4219] Forked 1872 -[4218] Forked 1873 -(1872) found -(1873) found -[4217] Forked 1874 -[4216] Forked 1875 -(1874) found -(1875) found -[4215] Forked 1876 -[4214] Forked 1877 -(1876) found -(1877) found -[4213] Forked 1878 -[4212] Forked 1879 -(1878) found -(1879) found -[4211] Forked 1880 -[4210] Forked 1881 -(1880) found -(1881) found -[4209] Forked 1882 -[4208] Forked 1883 -(1882) found -(1883) found -[4207] Forked 1884 -[4206] Forked 1885 -(1884) found -(1885) found -[4205] Forked 1886 -[4204] Forked 1887 -(1886) found -(1887) found -[4203] Forked 1888 -[4202] Forked 1889 -(1888) found -(1889) found -[4201] Forked 1890 -[4200] Forked 1891 -(1890) found -(1891) found -[4199] Forked 1892 -[4198] Forked 1893 -(1892) found -(1893) found -[4197] Forked 1894 -(1894) found -[4196] Forked 1895 -[4195] Forked 1896 -(1895) found -(1896) found -[4194] Forked 1897 -[4193] Forked 1898 -(1897) found -(1898) found -[4192] Forked 1899 -[4191] Forked 1900 -(1899) found -(1900) found -[4190] Forked 1901 -[4189] Forked 1902 -(1901) found -(1902) found -[4188] Forked 1903 -[4187] Forked 1904 -(1903) found -(1904) found -[4186] Forked 1905 -[4185] Forked 1906 -(1905) found -(1906) found -[4184] Forked 1907 -[4183] Forked 1908 -(1907) found -(1908) found -[4182] Forked 1909 -[4181] Forked 1910 -(1909) found -(1910) found -[4180] Forked 1911 -[4179] Forked 1912 -(1911) found -(1912) found -[4178] Forked 1913 -[4177] Forked 1914 -(1913) found -(1914) found -[4176] Forked 1915 -[4175] Forked 1916 -(1915) found -(1916) found -[4174] Forked 1917 -[4173] Forked 1918 -(1917) found -(1918) found -[4172] Forked 1919 -[4171] Forked 1920 -(1919) found -(1920) found -[4170] Forked 1921 -[4169] Forked 1922 -(1921) found -(1922) found -[4168] Forked 1923 -[4167] Forked 1924 -(1923) found -(1924) found -[4166] Forked 1925 -[4165] Forked 1926 -(1925) found -(1926) found -[4164] Forked 1927 -[4163] Forked 1928 -(1927) found -(1928) found -[4162] Forked 1929 -[4161] Forked 1930 -(1929) found -(1930) found -[4160] Forked 1931 -[4159] Forked 1932 -(1931) found -(1932) found -[4158] Forked 1933 -[4157] Forked 1934 -(1933) found -(1934) found -[4156] Forked 1935 -[4155] Forked 1936 -(1935) found -(1936) found -[4154] Forked 1937 -[4153] Forked 1938 -(1937) found -(1938) found -[4152] Forked 1939 -[4151] Forked 1940 -(1939) found -(1940) found -[4150] Forked 1941 -(1941) found -[4149] Forked 1942 -(1942) found -[4148] Forked 1943 -(1943) found -[4147] Forked 1944 -(1944) found -[4146] Forked 1945 -(1945) found -[4145] Forked 1946 -(1946) found -[4144] Forked 1947 -(1947) found -[4143] Forked 1948 -(1948) found -[4142] Forked 1949 -(1949) found -[4141] Forked 1950 -(1950) found -[4140] Forked 1951 -(1951) found -[4139] Forked 1952 -(1952) found -[4138] Forked 1953 -(1953) found -[4137] Forked 1954 -(1954) found -[4136] Forked 1955 -(1955) found -[4135] Forked 1956 -(1956) found -[4134] Forked 1957 -(1957) found -[4133] Forked 1958 -(1958) found -[4132] Forked 1959 -(1959) found -[4131] Forked 1960 -(1960) found -[4130] Forked 1961 -(1961) found -[4129] Forked 1962 -(1962) found -[4128] Forked 1963 -(1963) found -[4127] Forked 1964 -(1964) found -[4126] Forked 1965 -(1965) found -[4125] Forked 1966 -(1966) found -[4124] Forked 1967 -(1967) found -[4123] Forked 1968 -(1968) found -[4122] Forked 1969 -(1969) found -[4121] Forked 1970 -(1970) found -[4120] Forked 1971 -(1971) found -[4119] Forked 1972 -(1972) found -[4118] Forked 1973 -(1973) found -[4117] Forked 1974 -(1974) found -[4116] Forked 1975 -[4115] Forked 1976 -(1975) found -(1976) found -[4114] Forked 1977 -[4113] Forked 1978 -(1977) found -(1978) found -[4112] Forked 1979 -(1979) found -[4111] Forked 1980 -(1980) found -[4110] Forked 1981 -[4109] Forked 1982 -(1981) found -(1982) found -[4108] Forked 1983 -[4107] Forked 1984 -(1983) found -(1984) found -[4106] Forked 1985 -[4105] Forked 1986 -(1985) found -(1986) found -[4104] Forked 1987 -[4103] Forked 1988 -(1987) found -(1988) found -[4102] Forked 1989 -[4101] Forked 1990 -(1989) found -(1990) found -[4100] Forked 1991 -[4099] Forked 1992 -(1991) found -(1992) found -[4098] Forked 1993 -[4097] Forked 1994 -(1993) found -(1994) found -[4096] Forked 1995 -[4095] Forked 1996 -(1995) found -(1996) found -[4094] Forked 1997 -[4093] Forked 1998 -(1997) found -(1998) found -[4092] Forked 1999 -[4091] Forked 2000 -(1999) found -(2000) found -[4090] Forked 2001 -[4089] Forked 2002 -(2001) found -(2002) found -[4088] Forked 2003 -[4087] Forked 2004 -(2003) found -(2004) found -[4086] Forked 2005 -[4085] Forked 2006 -(2005) found -(2006) found -[4084] Forked 2007 -[4083] Forked 2008 -(2007) found -(2008) found -[4082] Forked 2009 -[4081] Forked 2010 -(2009) found -(2010) found -[4080] Forked 2011 -[4079] Forked 2012 -(2011) found -(2012) found -[4078] Forked 2013 -[4077] Forked 2014 -(2013) found -(2014) found -[4076] Forked 2015 -[4075] Forked 2016 -(2015) found -(2016) found -[4074] Forked 2017 -[4073] Forked 2018 -(2017) found -(2018) found -[4072] Forked 2019 -[4071] Forked 2020 -(2019) found -(2020) found -[4070] Forked 2021 -[4069] Forked 2022 -(2021) found -(2022) found -[4068] Forked 2023 -[4067] Forked 2024 -(2023) found -(2024) found -[4066] Forked 2025 -[4065] Forked 2026 -(2025) found -(2026) found -[4064] Forked 2027 -[4063] Forked 2028 -(2027) found -(2028) found -[4062] Forked 2029 -[4061] Forked 2030 -(2029) found -(2030) found -[4060] Forked 2031 -[4059] Forked 2032 -(2031) found -(2032) found -[4058] Forked 2033 -[4057] Forked 2034 -(2033) found -(2034) found -[4056] Forked 2035 -[4055] Forked 2036 -(2035) found -(2036) found -[4054] Forked 2037 -[4053] Forked 2038 -(2037) found -(2038) found -[4052] Forked 2039 -[4051] Forked 2040 -(2039) found -(2040) found -[4050] Forked 2041 -[4049] Forked 2042 -(2041) found -(2042) found -[4048] Forked 2043 -[4047] Forked 2044 -(2043) found -(2044) found -[4046] Forked 2045 -[4045] Forked 2046 -(2045) found -(2046) found -[4044] Forked 2047 -[4043] Forked 2048 -(2047) found -(2048) found -[4042] Forked 2049 -[4041] Forked 2050 -(2049) found -(2050) found -[4040] Forked 2051 -[4039] Forked 2052 -(2051) found -(2052) found -[4038] Forked 2053 -[4037] Forked 2054 -(2053) found -(2054) found -[4036] Forked 2055 -[4035] Forked 2056 -(2055) found -(2056) found -[4034] Forked 2057 -[4033] Forked 2058 -(2057) found -(2058) found -[4032] Forked 2059 -[4031] Forked 2060 -(2059) found -(2060) found -[4030] Forked 2061 -[4029] Forked 2062 -(2061) found -(2062) found -[4028] Forked 2063 -[4027] Forked 2064 -(2063) found -(2064) found -[4026] Forked 2065 -[4025] Forked 2066 -(2065) found -(2066) found -[4024] Forked 2067 -[4023] Forked 2068 -(2067) found -(2068) found -[4022] Forked 2070 -[4021] Forked 2071 -(2070) found -(2071) found -[4020] Forked 2072 -[4019] Forked 2073 -(2072) found -(2073) found -[4018] Forked 2074 -[4017] Forked 2075 -(2074) found -(2075) found -[4016] Forked 2076 -[4015] Forked 2077 -(2076) found -(2077) found -[4014] Forked 2078 -[4013] Forked 2079 -(2078) found -(2079) found -[4012] Forked 2080 -[4011] Forked 2081 -(2080) found -(2081) found -[4010] Forked 2082 -[4009] Forked 2083 -(2082) found -(2083) found -[4008] Forked 2084 -[4007] Forked 2085 -(2084) found -(2085) found -[4006] Forked 2086 -[4005] Forked 2087 -(2086) found -(2087) found -[4004] Forked 2088 -[4003] Forked 2089 -(2088) found -(2089) found -[4002] Forked 2090 -[4001] Forked 2091 -(2090) found -(2091) found -[4000] Forked 2092 -[3999] Forked 2093 -(2092) found -(2093) found -[3998] Forked 2094 -[3997] Forked 2095 -(2094) found -(2095) found -[3996] Forked 2096 -[3995] Forked 2097 -(2096) found -(2097) found -[3994] Forked 2098 -[3993] Forked 2099 -(2098) found -(2099) found -[3992] Forked 2100 -[3991] Forked 2101 -(2100) found -(2101) found -[3990] Forked 2102 -[3989] Forked 2103 -(2102) found -(2103) found -[3988] Forked 2104 -[3987] Forked 2105 -(2104) found -(2105) found -[3986] Forked 2106 -[3985] Forked 2109 -(2106) found -(2109) found -[3984] Forked 2110 -[3983] Forked 2111 -(2110) found -(2111) found -[3982] Forked 2112 -[3981] Forked 2113 -(2112) found -(2113) found -[3980] Forked 2114 -[3979] Forked 2115 -(2114) found -(2115) found -[3978] Forked 2116 -[3977] Forked 2117 -(2116) found -(2117) found -[3976] Forked 2118 -[3975] Forked 2119 -(2118) found -(2119) found -[3974] Forked 2120 -[3973] Forked 2121 -(2120) found -(2121) found -[3972] Forked 2122 -[3971] Forked 2123 -(2122) found -(2123) found -[3970] Forked 2124 -[3969] Forked 2125 -(2124) found -(2125) found -[3968] Forked 2126 -[3967] Forked 2127 -(2126) found -(2127) found -[3966] Forked 2128 -[3965] Forked 2129 -(2128) found -(2129) found -[3964] Forked 2130 -[3963] Forked 2131 -(2130) found -(2131) found -[3962] Forked 2132 -[3961] Forked 2133 -(2132) found -(2133) found -[3960] Forked 2134 -[3959] Forked 2135 -(2134) found -(2135) found -[3958] Forked 2136 -[3957] Forked 2137 -(2136) found -(2137) found -[3956] Forked 2138 -[3955] Forked 2139 -(2138) found -(2139) found -[3954] Forked 2140 -[3953] Forked 2141 -(2140) found -(2141) found -[3952] Forked 2142 -[3951] Forked 2143 -(2142) found -(2143) found -[3950] Forked 2144 -[3949] Forked 2145 -(2144) found -(2145) found -[3948] Forked 2146 -[3947] Forked 2147 -(2146) found -(2147) found -[3946] Forked 2148 -[3945] Forked 2149 -(2148) found -(2149) found -[3944] Forked 2150 -[3943] Forked 2151 -(2150) found -(2151) found -[3942] Forked 2152 -[3941] Forked 2153 -(2152) found -(2153) found -[3940] Forked 2154 -[3939] Forked 2155 -(2154) found -(2155) found -[3938] Forked 2156 -[3937] Forked 2157 -(2156) found -(2157) found -[3936] Forked 2158 -[3935] Forked 2159 -(2158) found -(2159) found -[3934] Forked 2160 -[3933] Forked 2161 -(2160) found -(2161) found -[3932] Forked 2162 -[3931] Forked 2163 -(2162) found -(2163) found -[3930] Forked 2164 -[3929] Forked 2165 -(2164) found -(2165) found -[3928] Forked 2166 -[3927] Forked 2167 -(2166) found -(2167) found -[3926] Forked 2168 -[3925] Forked 2169 -(2168) found -(2169) found -[3924] Forked 2170 -[3923] Forked 2171 -(2170) found -(2171) found -[3922] Forked 2172 -[3921] Forked 2173 -(2172) found -(2173) found -[3920] Forked 2174 -[3919] Forked 2175 -(2174) found -(2175) found -[3918] Forked 2176 -[3917] Forked 2177 -(2176) found -(2177) found -[3916] Forked 2178 -[3915] Forked 2179 -(2178) found -(2179) found -[3914] Forked 2180 -[3913] Forked 2181 -(2180) found -(2181) found -[3912] Forked 2182 -[3911] Forked 2183 -(2182) found -(2183) found -[3910] Forked 2184 -[3909] Forked 2185 -(2184) found -(2185) found -[3908] Forked 2186 -[3907] Forked 2187 -(2186) found -(2187) found -[3906] Forked 2188 -[3905] Forked 2189 -(2188) found -(2189) found -[3904] Forked 2190 -[3903] Forked 2191 -(2190) found -(2191) found -[3902] Forked 2192 -[3901] Forked 2193 -(2192) found -(2193) found -[3900] Forked 2194 -[3899] Forked 2195 -(2194) found -(2195) found -[3898] Forked 2196 -[3897] Forked 2197 -(2196) found -(2197) found -[3896] Forked 2198 -[3895] Forked 2199 -(2198) found -(2199) found -[3894] Forked 2200 -[3893] Forked 2201 -(2200) found -(2201) found -[3892] Forked 2202 -(2202) found -[3891] Forked 2203 -[3890] Forked 2204 -(2203) found -(2204) found -[3889] Forked 2205 -[3888] Forked 2206 -(2205) found -(2206) found -[3887] Forked 2207 -[3886] Forked 2208 -(2207) found -(2208) found -[3885] Forked 2209 -[3884] Forked 2210 -(2209) found -(2210) found -[3883] Forked 2211 -[3882] Forked 2212 -(2211) found -(2212) found -[3881] Forked 2213 -[3880] Forked 2214 -(2213) found -(2214) found -[3879] Forked 2215 -[3878] Forked 2216 -(2215) found -(2216) found -[3877] Forked 2217 -[3876] Forked 2218 -(2217) found -(2218) found -[3875] Forked 2219 -[3874] Forked 2220 -(2219) found -(2220) found -[3873] Forked 2221 -[3872] Forked 2222 -(2221) found -(2222) found -[3871] Forked 2223 -[3870] Forked 2224 -(2223) found -(2224) found -[3869] Forked 2225 -[3868] Forked 2226 -(2225) found -(2226) found -[3867] Forked 2227 -[3866] Forked 2228 -(2227) found -(2228) found -[3865] Forked 2229 -[3864] Forked 2230 -(2229) found -(2230) found -[3863] Forked 2231 -[3862] Forked 2232 -(2231) found -(2232) found -[3861] Forked 2233 -[3860] Forked 2234 -(2233) found -(2234) found -[3859] Forked 2235 -[3858] Forked 2236 -(2235) found -(2236) found -[3857] Forked 2237 -[3856] Forked 2238 -(2237) found -(2238) found -[3855] Forked 2239 -[3854] Forked 2240 -(2239) found -(2240) found -[3853] Forked 2241 -[3852] Forked 2242 -(2241) found -(2242) found -[3851] Forked 2243 -[3850] Forked 2244 -(2243) found -(2244) found -[3849] Forked 2245 -[3848] Forked 2246 -(2245) found -(2246) found -[3847] Forked 2247 -[3846] Forked 2248 -(2247) found -(2248) found -[3845] Forked 2249 -[3844] Forked 2250 -(2249) found -(2250) found -[3843] Forked 2251 -[3842] Forked 2252 -(2251) found -(2252) found -[3841] Forked 2253 -[3840] Forked 2254 -(2253) found -(2254) found -[3839] Forked 2255 -[3838] Forked 2256 -(2255) found -(2256) found -[3837] Forked 2257 -[3836] Forked 2258 -(2257) found -(2258) found -[3835] Forked 2259 -[3834] Forked 2260 -(2259) found -(2260) found -[3833] Forked 2261 -[3832] Forked 2265 -(2261) found -(2265) found -[3831] Forked 2266 -[3830] Forked 2267 -(2266) found -(2267) found -[3829] Forked 2268 -[3828] Forked 2269 -(2268) found -(2269) found -[3827] Forked 2270 -[3826] Forked 2271 -(2270) found -(2271) found -[3825] Forked 2272 -[3824] Forked 2273 -(2272) found -(2273) found -[3823] Forked 2274 -[3822] Forked 2275 -(2274) found -(2275) found -[3821] Forked 2276 -[3820] Forked 2277 -(2276) found -(2277) found -[3819] Forked 2278 -[3818] Forked 2279 -(2278) found -(2279) found -[3817] Forked 2280 -[3816] Forked 2281 -(2280) found -(2281) found -[3815] Forked 2282 -[3814] Forked 2283 -(2282) found -(2283) found -[3813] Forked 2284 -[3812] Forked 2285 -(2284) found -(2285) found -[3811] Forked 2286 -[3810] Forked 2287 -(2286) found -(2287) found -[3809] Forked 2288 -[3808] Forked 2289 -(2288) found -(2289) found -[3807] Forked 2290 -[3806] Forked 2291 -(2290) found -(2291) found -[3805] Forked 2292 -[3804] Forked 2293 -(2292) found -(2293) found -[3803] Forked 2294 -[3802] Forked 2295 -(2294) found -(2295) found -[3801] Forked 2296 -(2296) found -[3800] Forked 2297 -(2297) found -[3799] Forked 2298 -(2298) found -[3798] Forked 2299 -(2299) found -[3797] Forked 2300 -(2300) found -[3796] Forked 2301 -(2301) found -[3795] Forked 2302 -(2302) found -[3794] Forked 2303 -(2303) found -[3793] Forked 2304 -(2304) found -[3792] Forked 2305 -(2305) found -[3791] Forked 2306 -(2306) found -[3790] Forked 2307 -(2307) found -[3789] Forked 2308 -(2308) found -[3788] Forked 2309 -(2309) found -[3787] Forked 2310 -(2310) found -[3786] Forked 2311 -(2311) found -[3785] Forked 2312 -(2312) found -[3784] Forked 2313 -(2313) found -[3783] Forked 2314 -(2314) found -[3782] Forked 2315 -(2315) found -[3781] Forked 2316 -(2316) found -[3780] Forked 2317 -(2317) found -[3779] Forked 2318 -(2318) found -[3778] Forked 2319 -(2319) found -[3777] Forked 2320 -(2320) found -[3776] Forked 2321 -(2321) found -[3775] Forked 2322 -(2322) found -[3774] Forked 2323 -(2323) found -[3773] Forked 2324 -(2324) found -[3772] Forked 2325 -(2325) found -[3771] Forked 2326 -(2326) found -[3770] Forked 2327 -(2327) found -[3769] Forked 2328 -(2328) found -[3768] Forked 2329 -(2329) found -[3767] Forked 2330 -[3766] Forked 2331 -(2330) found -(2331) found -[3765] Forked 2332 -[3764] Forked 2333 -(2332) found -(2333) found -[3763] Forked 2334 -[3762] Forked 2335 -(2334) found -(2335) found -[3761] Forked 2336 -[3760] Forked 2337 -(2336) found -(2337) found -[3759] Forked 2338 -[3758] Forked 2339 -(2338) found -(2339) found -[3757] Forked 2340 -[3756] Forked 2341 -(2340) found -(2341) found -[3755] Forked 2342 -[3754] Forked 2343 -(2342) found -(2343) found -[3753] Forked 2344 -[3752] Forked 2345 -(2344) found -(2345) found -[3751] Forked 2346 -[3750] Forked 2347 -(2346) found -(2347) found -[3749] Forked 2348 -[3748] Forked 2349 -(2348) found -(2349) found -[3747] Forked 2350 -[3746] Forked 2351 -(2350) found -(2351) found -[3745] Forked 2352 -[3744] Forked 2353 -(2352) found -(2353) found -[3743] Forked 2354 -[3742] Forked 2355 -(2354) found -(2355) found -[3741] Forked 2356 -[3740] Forked 2357 -(2356) found -(2357) found -[3739] Forked 2358 -[3738] Forked 2359 -(2358) found -(2359) found -[3737] Forked 2360 -[3736] Forked 2361 -(2360) found -(2361) found -[3735] Forked 2362 -[3734] Forked 2363 -(2362) found -(2363) found -[3733] Forked 2364 -[3732] Forked 2365 -(2364) found -(2365) found -[3731] Forked 2366 -[3730] Forked 2367 -(2366) found -(2367) found -[3729] Forked 2368 -[3728] Forked 2369 -(2368) found -(2369) found -[3727] Forked 2370 -[3726] Forked 2371 -(2370) found -(2371) found -[3725] Forked 2372 -[3724] Forked 2373 -(2372) found -(2373) found -[3723] Forked 2374 -[3722] Forked 2375 -(2374) found -(2375) found -[3721] Forked 2376 -(2376) found -[3720] Forked 2377 -(2377) found -[3719] Forked 2378 -(2378) found -[3718] Forked 2379 -(2379) found -[3717] Forked 2380 -(2380) found -[3716] Forked 2381 -(2381) found -[3715] Forked 2382 -(2382) found -[3714] Forked 2383 -(2383) found -[3713] Forked 2384 -(2384) found -[3712] Forked 2385 -(2385) found -[3711] Forked 2386 -(2386) found -[3710] Forked 2387 -(2387) found -[3709] Forked 2388 -(2388) found -[3708] Forked 2389 -(2389) found -[3707] Forked 2390 -(2390) found -[3706] Forked 2391 -(2391) found -[3705] Forked 2392 -(2392) found -[3704] Forked 2393 -(2393) found -[3703] Forked 2394 -(2394) found -[3702] Forked 2395 -(2395) found -[3701] Forked 2396 -(2396) found -[3700] Forked 2397 -(2397) found -[3699] Forked 2398 -(2398) found -[3698] Forked 2399 -(2399) found -[3697] Forked 2400 -(2400) found -[3696] Forked 2401 -(2401) found -[3695] Forked 2402 -(2402) found -[3694] Forked 2404 -(2404) found -[3693] Forked 2405 -(2405) found -[3692] Forked 2406 -(2406) found -[3691] Forked 2407 -(2407) found -[3690] Forked 2408 -(2408) found -[3689] Forked 2409 -(2409) found -[3688] Forked 2410 -(2410) found -[3687] Forked 2411 -[3686] Forked 2412 -(2411) found -(2412) found -[3685] Forked 2413 -[3684] Forked 2414 -(2413) found -(2414) found -[3683] Forked 2415 -[3682] Forked 2416 -(2415) found -(2416) found -[3681] Forked 2417 -[3680] Forked 2418 -(2417) found -(2418) found -[3679] Forked 2419 -[3678] Forked 2420 -(2419) found -(2420) found -[3677] Forked 2421 -[3676] Forked 2422 -(2421) found -(2422) found -[3675] Forked 2423 -[3674] Forked 2424 -(2423) found -(2424) found -[3673] Forked 2425 -[3672] Forked 2426 -(2425) found -(2426) found -[3671] Forked 2427 -[3670] Forked 2428 -(2427) found -(2428) found -[3669] Forked 2429 -[3668] Forked 2430 -(2429) found -(2430) found -[3667] Forked 2431 -[3666] Forked 2432 -(2431) found -(2432) found -[3665] Forked 2433 -[3664] Forked 2434 -(2433) found -(2434) found -[3663] Forked 2435 -[3662] Forked 2436 -(2435) found -(2436) found -[3661] Forked 2437 -[3660] Forked 2438 -(2437) found -(2438) found -[3659] Forked 2439 -[3658] Forked 2440 -(2439) found -(2440) found -[3657] Forked 2441 -[3656] Forked 2442 -(2441) found -(2442) found -[3655] Forked 2443 -[3654] Forked 2444 -(2443) found -(2444) found -[3653] Forked 2445 -[3652] Forked 2446 -(2445) found -(2446) found -[3651] Forked 2447 -[3650] Forked 2448 -(2447) found -(2448) found -[3649] Forked 2449 -[3648] Forked 2450 -(2449) found -(2450) found -[3647] Forked 2451 -[3646] Forked 2452 -(2451) found -(2452) found -[3645] Forked 2453 -[3644] Forked 2454 -(2453) found -(2454) found -[3643] Forked 2455 -[3642] Forked 2456 -(2455) found -(2456) found -[3641] Forked 2457 -(2457) found -[3640] Forked 2458 -(2458) found -[3639] Forked 2459 -(2459) found -[3638] Forked 2460 -(2460) found -[3637] Forked 2461 -(2461) found -[3636] Forked 2462 -(2462) found -[3635] Forked 2463 -(2463) found -[3634] Forked 2464 -(2464) found -[3633] Forked 2465 -(2465) found -[3632] Forked 2466 -(2466) found -[3631] Forked 2467 -(2467) found -[3630] Forked 2468 -(2468) found -[3629] Forked 2469 -(2469) found -[3628] Forked 2470 -(2470) found -[3627] Forked 2471 -(2471) found -[3626] Forked 2472 -(2472) found -[3625] Forked 2473 -(2473) found -[3624] Forked 2474 -(2474) found -[3623] Forked 2475 -(2475) found -[3622] Forked 2476 -(2476) found -[3621] Forked 2477 -(2477) found -[3620] Forked 2478 -(2478) found -[3619] Forked 2479 -(2479) found -[3618] Forked 2480 -(2480) found -[3617] Forked 2481 -(2481) found -[3616] Forked 2482 -(2482) found -[3615] Forked 2483 -(2483) found -[3614] Forked 2484 -(2484) found -[3613] Forked 2485 -(2485) found -[3612] Forked 2486 -(2486) found -[3611] Forked 2487 -(2487) found -[3610] Forked 2488 -(2488) found -[3609] Forked 2489 -(2489) found -[3608] Forked 2490 -(2490) found -[3607] Forked 2491 -[3606] Forked 2492 -(2491) found -(2492) found -[3605] Forked 2493 -[3604] Forked 2494 -(2493) found -(2494) found -[3603] Forked 2495 -[3602] Forked 2496 -(2495) found -(2496) found -[3601] Forked 2497 -[3600] Forked 2498 -(2497) found -(2498) found -[3599] Forked 2499 -[3598] Forked 2500 -(2499) found -(2500) found -[3597] Forked 2501 -[3596] Forked 2502 -(2501) found -(2502) found -[3595] Forked 2503 -[3594] Forked 2504 -(2503) found -(2504) found -[3593] Forked 2505 -[3592] Forked 2506 -(2505) found -(2506) found -[3591] Forked 2507 -[3590] Forked 2508 -(2507) found -(2508) found -[3589] Forked 2509 -[3588] Forked 2510 -(2509) found -(2510) found -[3587] Forked 2512 -[3586] Forked 2513 -(2512) found -(2513) found -[3585] Forked 2514 -[3584] Forked 2515 -(2514) found -(2515) found -[3583] Forked 2516 -[3582] Forked 2517 -(2516) found -(2517) found -[3581] Forked 2518 -[3580] Forked 2519 -(2518) found -(2519) found -[3579] Forked 2520 -[3578] Forked 2521 -(2520) found -(2521) found -[3577] Forked 2522 -[3576] Forked 2523 -(2522) found -(2523) found -[3575] Forked 2525 -[3574] Forked 2526 -(2525) found -(2526) found -[3573] Forked 2527 -[3572] Forked 2528 -(2527) found -(2528) found -[3571] Forked 2529 -[3570] Forked 2530 -(2529) found -(2530) found -[3569] Forked 2531 -[3568] Forked 2532 -(2531) found -(2532) found -[3567] Forked 2533 -[3566] Forked 2534 -(2533) found -(2534) found -[3565] Forked 2535 -[3564] Forked 2536 -(2535) found -(2536) found -[3563] Forked 2537 -[3562] Forked 2538 -(2537) found -(2538) found -[3561] Forked 2539 -[3560] Forked 2541 -(2539) found -(2541) found -[3559] Forked 2542 -[3558] Forked 2543 -(2542) found -(2543) found -[3557] Forked 2544 -[3556] Forked 2545 -(2544) found -(2545) found -[3555] Forked 2546 -[3554] Forked 2547 -(2546) found -(2547) found -[3553] Forked 2548 -[3552] Forked 2549 -(2548) found -(2549) found -[3551] Forked 2550 -[3550] Forked 2551 -(2550) found -(2551) found -[3549] Forked 2552 -[3548] Forked 2553 -(2552) found -(2553) found -[3547] Forked 2554 -[3546] Forked 2555 -(2554) found -(2555) found -[3545] Forked 2556 -[3544] Forked 2557 -(2556) found -(2557) found -[3543] Forked 2558 -[3542] Forked 2559 -(2558) found -(2559) found -[3541] Forked 2560 -[3540] Forked 2561 -(2560) found -(2561) found -[3539] Forked 2562 -[3538] Forked 2563 -(2562) found -(2563) found -[3537] Forked 2564 -[3536] Forked 2565 -(2564) found -(2565) found -[3535] Forked 2566 -[3534] Forked 2567 -(2566) found -(2567) found -[3533] Forked 2568 -[3532] Forked 2569 -(2568) found -(2569) found -[3531] Forked 2570 -[3530] Forked 2571 -(2570) found -(2571) found -[3529] Forked 2572 -[3528] Forked 2573 -(2572) found -(2573) found -[3527] Forked 2574 -[3526] Forked 2575 -(2574) found -(2575) found -[3525] Forked 2576 -[3524] Forked 2577 -(2576) found -(2577) found -[3523] Forked 2578 -[3522] Forked 2579 -(2578) found -(2579) found -[3521] Forked 2580 -[3520] Forked 2581 -(2580) found -(2581) found -[3519] Forked 2582 -(2582) found -[3518] Forked 2583 -(2583) found -[3517] Forked 2584 -(2584) found -[3516] Forked 2585 -(2585) found -[3515] Forked 2586 -(2586) found -[3514] Forked 2587 -(2587) found -[3513] Forked 2588 -(2588) found -[3512] Forked 2589 -(2589) found -[3511] Forked 2590 -(2590) found -[3510] Forked 2591 -(2591) found -[3509] Forked 2592 -(2592) found -[3508] Forked 2593 -(2593) found -[3507] Forked 2594 -(2594) found -[3506] Forked 2595 -(2595) found -[3505] Forked 2596 -(2596) found -[3504] Forked 2597 -(2597) found -[3503] Forked 2598 -(2598) found -[3502] Forked 2599 -(2599) found -[3501] Forked 2600 -(2600) found -[3500] Forked 2601 -(2601) found -[3499] Forked 2602 -(2602) found -[3498] Forked 2603 -(2603) found -[3497] Forked 2604 -(2604) found -[3496] Forked 2605 -(2605) found -[3495] Forked 2606 -(2606) found -[3494] Forked 2607 -(2607) found -[3493] Forked 2608 -(2608) found -[3492] Forked 2609 -(2609) found -[3491] Forked 2610 -(2610) found -[3490] Forked 2611 -(2611) found -[3489] Forked 2612 -(2612) found -[3488] Forked 2613 -(2613) found -[3487] Forked 2614 -(2614) found -[3486] Forked 2615 -(2615) found -[3485] Forked 2616 -(2616) found -[3484] Forked 2617 -(2617) found -[3483] Forked 2618 -[3482] Forked 2619 -(2618) found -(2619) found -[3481] Forked 2620 -[3480] Forked 2621 -(2620) found -(2621) found -[3479] Forked 2622 -(2622) found -[3478] Forked 2623 -[3477] Forked 2624 -(2623) found -(2624) found -[3476] Forked 2625 -[3475] Forked 2626 -(2625) found -(2626) found -[3474] Forked 2627 -[3473] Forked 2628 -(2627) found -(2628) found -[3472] Forked 2629 -[3471] Forked 2630 -(2629) found -(2630) found -[3470] Forked 2631 -[3469] Forked 2632 -(2631) found -(2632) found -[3468] Forked 2633 -[3467] Forked 2634 -(2633) found -(2634) found -[3466] Forked 2635 -[3465] Forked 2636 -(2635) found -(2636) found -[3464] Forked 2637 -[3463] Forked 2638 -(2637) found -(2638) found -[3462] Forked 2639 -[3461] Forked 2640 -(2639) found -(2640) found -[3460] Forked 2641 -[3459] Forked 2642 -(2641) found -(2642) found -[3458] Forked 2643 -[3457] Forked 2644 -(2643) found -(2644) found -[3456] Forked 2645 -[3455] Forked 2646 -(2645) found -(2646) found -[3454] Forked 2647 -[3453] Forked 2648 -(2647) found -(2648) found -[3452] Forked 2649 -[3451] Forked 2650 -(2649) found -(2650) found -[3450] Forked 2651 -[3449] Forked 2652 -(2651) found -(2652) found -[3448] Forked 2653 -[3447] Forked 2654 -(2653) found -(2654) found -[3446] Forked 2655 -[3445] Forked 2659 -(2655) found -(2659) found -[3444] Forked 2662 -[3443] Forked 2663 -(2662) found -(2663) found -[3442] Forked 2664 -[3441] Forked 2665 -(2664) found -(2665) found -[3440] Forked 2666 -(2666) found -[3439] Forked 2668 -(2668) found -[3438] Forked 2669 -(2669) found -[3437] Forked 2670 -(2670) found -[3436] Forked 2671 -(2671) found -[3435] Forked 2672 -(2672) found -[3434] Forked 2673 -(2673) found -[3433] Forked 2674 -(2674) found -[3432] Forked 2675 -(2675) found -[3431] Forked 2676 -(2676) found -[3430] Forked 2677 -(2677) found -[3429] Forked 2678 -(2678) found -[3428] Forked 2679 -(2679) found -[3427] Forked 2680 -(2680) found -[3426] Forked 2681 -(2681) found -[3425] Forked 2682 -(2682) found -[3424] Forked 2683 -(2683) found -[3423] Forked 2684 -(2684) found -[3422] Forked 2685 -(2685) found -[3421] Forked 2686 -(2686) found -[3420] Forked 2687 -(2687) found -[3419] Forked 2688 -(2688) found -[3418] Forked 2689 -(2689) found -[3417] Forked 2690 -(2690) found -[3416] Forked 2691 -(2691) found -[3415] Forked 2692 -(2692) found -[3414] Forked 2693 -(2693) found -[3413] Forked 2694 -(2694) found -[3412] Forked 2695 -(2695) found -[3411] Forked 2696 -(2696) found -[3410] Forked 2697 -(2697) found -[3409] Forked 2698 -(2698) found -[3408] Forked 2699 -(2699) found -[3407] Forked 2700 -(2700) found -[3406] Forked 2701 -(2701) found -[3405] Forked 2703 -(2703) found -[3404] Forked 2704 -[3403] Forked 2705 -(2704) found -(2705) found -[3402] Forked 2706 -(2706) found -[3401] Forked 2707 -(2707) found -[3400] Forked 2708 -(2708) found -[3399] Forked 2709 -(2709) found -[3398] Forked 2710 -[3397] Forked 2711 -(2710) found -(2711) found -[3396] Forked 2712 -[3395] Forked 2713 -(2712) found -(2713) found -[3394] Forked 2714 -[3393] Forked 2715 -(2714) found -(2715) found -[3392] Forked 2716 -[3391] Forked 2717 -(2716) found -(2717) found -[3390] Forked 2718 -[3389] Forked 2719 -(2718) found -(2719) found -[3388] Forked 2720 -[3387] Forked 2723 -(2720) found -(2723) found -[3386] Forked 2725 -[3385] Forked 2728 -(2725) found -(2728) found -[3384] Forked 2729 -[3383] Forked 2730 -(2729) found -(2730) found -[3382] Forked 2731 -[3381] Forked 2732 -(2731) found -(2732) found -[3380] Forked 2733 -[3379] Forked 2734 -(2733) found -(2734) found -[3378] Forked 2735 -[3377] Forked 2736 -(2735) found -(2736) found -[3376] Forked 2737 -[3375] Forked 2738 -(2737) found -(2738) found -[3374] Forked 2739 -[3373] Forked 2740 -(2739) found -(2740) found -[3372] Forked 2741 -[3371] Forked 2742 -(2741) found -(2742) found -[3370] Forked 2743 -[3369] Forked 2745 -(2743) found -(2745) found -[3368] Forked 2746 -(2746) found -[3367] Forked 2747 -(2747) found -[3366] Forked 2748 -(2748) found -[3365] Forked 2749 -(2749) found -[3364] Forked 2750 -(2750) found -[3363] Forked 2751 -(2751) found -[3362] Forked 2752 -(2752) found -[3361] Forked 2753 -(2753) found -[3360] Forked 2754 -(2754) found -[3359] Forked 2755 -(2755) found -[3358] Forked 2756 -(2756) found -[3357] Forked 2757 -(2757) found -[3356] Forked 2758 -(2758) found -[3355] Forked 2760 -(2760) found -[3354] Forked 2761 -(2761) found -[3353] Forked 2762 -(2762) found -[3352] Forked 2763 -(2763) found -[3351] Forked 2764 -(2764) found -[3350] Forked 2765 -(2765) found -[3349] Forked 2766 -(2766) found -[3348] Forked 2767 -(2767) found -[3347] Forked 2768 -(2768) found -[3346] Forked 2769 -(2769) found -[3345] Forked 2770 -(2770) found -[3344] Forked 2771 -(2771) found -[3343] Forked 2772 -(2772) found -[3342] Forked 2773 -(2773) found -[3341] Forked 2774 -(2774) found -[3340] Forked 2775 -(2775) found -[3339] Forked 2776 -(2776) found -[3338] Forked 2777 -(2777) found -[3337] Forked 2778 -(2778) found -[3336] Forked 2779 -(2779) found -[3335] Forked 2780 -(2780) found -[3334] Forked 2781 -(2781) found -[3333] Forked 2782 -(2782) found -[3332] Forked 2783 -(2783) found -[3331] Forked 2784 -(2784) found -[3330] Forked 2785 -(2785) found -[3329] Forked 2786 -(2786) found -[3328] Forked 2787 -(2787) found -[3327] Forked 2788 -(2788) found -[3326] Forked 2789 -(2789) found -[3325] Forked 2790 -(2790) found -[3324] Forked 2791 -(2791) found -[3323] Forked 2792 -(2792) found -[3322] Forked 2793 -(2793) found -[3321] Forked 2794 -[3320] Forked 2795 -(2795) found -(2794) found -[3319] Forked 2796 -(2796) found -[3318] Forked 2797 -(2797) found -[3317] Forked 2798 -(2798) found -[3316] Forked 2799 -(2799) found -[3315] Forked 2800 -(2800) found -[3314] Forked 2801 -(2801) found -[3313] Forked 2802 -(2802) found -[3312] Forked 2803 -(2803) found -[3311] Forked 2804 -(2804) found -[3310] Forked 2805 -(2805) found -[3309] Forked 2806 -(2806) found -[3308] Forked 2807 -(2807) found -[3307] Forked 2808 -(2808) found -[3306] Forked 2809 -(2809) found -[3305] Forked 2810 -(2810) found -[3304] Forked 2811 -(2811) found -[3303] Forked 2812 -(2812) found -[3302] Forked 2813 -(2813) found -[3301] Forked 2814 -(2814) found -[3300] Forked 2815 -(2815) found -[3299] Forked 2816 -(2816) found -[3298] Forked 2817 -(2817) found -[3297] Forked 2818 -(2818) found -[3296] Forked 2819 -(2819) found -[3295] Forked 2820 -(2820) found -[3294] Forked 2821 -(2821) found -[3293] Forked 2822 -(2822) found -[3292] Forked 2823 -(2823) found -[3291] Forked 2824 -(2824) found -[3290] Forked 2825 -(2825) found -[3289] Forked 2826 -(2826) found -[3288] Forked 2827 -(2827) found -[3287] Forked 2830 -(2830) found -[3286] Forked 2831 -(2831) found -[3285] Forked 2832 -(2832) found -[3284] Forked 2833 -(2833) found -[3283] Forked 2834 -(2834) found -[3282] Forked 2835 -(2835) found -[3281] Forked 2836 -(2836) found -[3280] Forked 2837 -(2837) found -[3279] Forked 2838 -(2838) found -[3278] Forked 2839 -(2839) found -[3277] Forked 2840 -(2840) found -[3276] Forked 2841 -(2841) found -[3275] Forked 2843 -(2843) found -[3274] Forked 2844 -(2844) found -[3273] Forked 2845 -(2845) found -[3272] Forked 2846 -(2846) found -[3271] Forked 2847 -(2847) found -[3270] Forked 2848 -(2848) found -[3269] Forked 2849 -(2849) found -[3268] Forked 2850 -(2850) found -[3267] Forked 2851 -(2851) found -[3266] Forked 2852 -(2852) found -[3265] Forked 2853 -(2853) found -[3264] Forked 2854 -(2854) found -[3263] Forked 2855 -(2855) found -[3262] Forked 2856 -(2856) found -[3261] Forked 2857 -(2857) found -[3260] Forked 2858 -(2858) found -[3259] Forked 2859 -(2859) found -[3258] Forked 2860 -(2860) found -[3257] Forked 2861 -(2861) found -[3256] Forked 2862 -(2862) found -[3255] Forked 2863 -(2863) found -[3254] Forked 2864 -(2864) found -[3253] Forked 2865 -(2865) found -[3252] Forked 2866 -(2866) found -[3251] Forked 2867 -(2867) found -[3250] Forked 2868 -[3249] Forked 2869 -(2868) found -(2869) found -[3248] Forked 2870 -[3247] Forked 2871 -(2870) found -(2871) found -[3246] Forked 2872 -[3245] Forked 2873 -(2872) found -(2873) found -[3244] Forked 2874 -[3243] Forked 2875 -(2874) found -(2875) found -[3242] Forked 2876 -[3241] Forked 2877 -(2876) found -(2877) found -[3240] Forked 2878 -[3239] Forked 2879 -(2878) found -(2879) found -[3238] Forked 2880 -[3237] Forked 2881 -(2880) found -(2881) found -[3236] Forked 2882 -[3235] Forked 2883 -(2882) found -(2883) found -[3234] Forked 2884 -[3233] Forked 2885 -(2884) found -(2885) found -[3232] Forked 2886 -[3231] Forked 2887 -(2886) found -(2887) found -[3230] Forked 2888 -[3229] Forked 2889 -(2888) found -(2889) found -[3228] Forked 2890 -[3227] Forked 2891 -(2890) found -(2891) found -[3226] Forked 2892 -[3225] Forked 2893 -(2892) found -(2893) found -[3224] Forked 2894 -[3223] Forked 2895 -(2894) found -(2895) found -[3222] Forked 2896 -[3221] Forked 2897 -(2896) found -(2897) found -[3220] Forked 2898 -[3219] Forked 2899 -(2898) found -(2899) found -[3218] Forked 2900 -[3217] Forked 2901 -(2900) found -(2901) found -[3216] Forked 2902 -[3215] Forked 2903 -(2902) found -(2903) found -[3214] Forked 2904 -[3213] Forked 2905 -(2904) found -(2905) found -[3212] Forked 2906 -[3211] Forked 2908 -(2906) found -(2908) found -[3210] Forked 2909 -(2909) found -[3209] Forked 2910 -(2910) found -[3208] Forked 2911 -(2911) found -[3207] Forked 2912 -(2912) found -[3206] Forked 2913 -(2913) found -[3205] Forked 2914 -(2914) found -[3204] Forked 2915 -(2915) found -[3203] Forked 2916 -(2916) found -[3202] Forked 2917 -(2917) found -[3201] Forked 2918 -(2918) found -[3200] Forked 2919 -(2919) found -[3199] Forked 2920 -(2920) found -[3198] Forked 2921 -(2921) found -[3197] Forked 2922 -(2922) found -[3196] Forked 2923 -(2923) found -[3195] Forked 2924 -(2924) found -[3194] Forked 2925 -(2925) found -[3193] Forked 2926 -(2926) found -[3192] Forked 2927 -(2927) found -[3191] Forked 2928 -(2928) found -[3190] Forked 2929 -(2929) found -[3189] Forked 2930 -(2930) found -[3188] Forked 2932 -(2932) found -[3187] Forked 2933 -(2933) found -[3186] Forked 2934 -(2934) found -[3185] Forked 2935 -(2935) found -[3184] Forked 2936 -(2936) found -[3183] Forked 2937 -(2937) found -[3182] Forked 2938 -(2938) found -[3181] Forked 2939 -(2939) found -[3180] Forked 2940 -(2940) found -[3179] Forked 2941 -(2941) found -[3178] Forked 2942 -(2942) found -[3177] Forked 2943 -(2943) found -[3176] Forked 2944 -(2944) found -[3175] Forked 2945 -(2945) found -[3174] Forked 2946 -[3173] Forked 2947 -(2946) found -(2947) found -[3172] Forked 2948 -[3171] Forked 2949 -(2948) found -(2949) found -[3170] Forked 2950 -[3169] Forked 2951 -(2950) found -(2951) found -[3168] Forked 2952 -[3167] Forked 2953 -(2952) found -(2953) found -[3166] Forked 2956 -[3165] Forked 2957 -(2956) found -(2957) found -[3164] Forked 2958 -[3163] Forked 2959 -(2958) found -(2959) found -[3162] Forked 2960 -[3161] Forked 2961 -(2960) found -(2961) found -[3160] Forked 2962 -[3159] Forked 2963 -(2962) found -(2963) found -[3158] Forked 2964 -[3157] Forked 2965 -(2964) found -(2965) found -[3156] Forked 2966 -[3155] Forked 2967 -(2966) found -(2967) found -[3154] Forked 2968 -[3153] Forked 2969 -(2968) found -(2969) found -[3152] Forked 2970 -[3151] Forked 2971 -(2970) found -(2971) found -[3150] Forked 2972 -[3149] Forked 2973 -(2972) found -(2973) found -[3148] Forked 2974 -[3147] Forked 2975 -(2974) found -(2975) found -[3146] Forked 2976 -[3145] Forked 2977 -(2976) found -(2977) found -[3144] Forked 2978 -[3143] Forked 2979 -(2978) found -(2979) found -[3142] Forked 2980 -[3141] Forked 2981 -(2980) found -(2981) found -[3140] Forked 2983 -[3139] Forked 2984 -(2983) found -(2984) found -[3138] Forked 2987 -[3137] Forked 2992 -(2987) found -(2992) found -[3136] Forked 3049 -[3135] Forked 3050 -(3049) found -(3050) found -[3134] Forked 3051 -[3133] Forked 3052 -(3051) found -(3052) found -[3132] Forked 3053 -[3131] Forked 3054 -(3053) found -(3054) found -[3130] Forked 3055 -[3129] Forked 3056 -(3055) found -(3056) found -[3128] Forked 3057 -[3127] Forked 3058 -(3057) found -(3058) found -[3126] Forked 3059 -(3059) found -[3125] Forked 3060 -(3060) found -[3124] Forked 3061 -(3061) found -[3123] Forked 3062 -(3062) found -[3122] Forked 3063 -(3063) found -[3121] Forked 3064 -(3064) found -[3120] Forked 3065 -(3065) found -[3119] Forked 3066 -(3066) found -[3118] Forked 3067 -(3067) found -[3117] Forked 3068 -(3068) found -[3116] Forked 3069 -(3069) found -[3115] Forked 3070 -(3070) found -[3114] Forked 3071 -(3071) found -[3113] Forked 3072 -(3072) found -[3112] Forked 3073 -(3073) found -[3111] Forked 3074 -(3074) found -[3110] Forked 3075 -(3075) found -[3109] Forked 3076 -(3076) found -[3108] Forked 3077 -(3077) found -[3107] Forked 3078 -(3078) found -[3106] Forked 3079 -(3079) found -[3105] Forked 3080 -(3080) found -[3104] Forked 3081 -(3081) found -[3103] Forked 3082 -(3082) found -[3102] Forked 3083 -(3083) found -[3101] Forked 3085 -(3085) found -[3100] Forked 3086 -(3086) found -[3099] Forked 3087 -(3087) found -[3098] Forked 3088 -(3088) found -[3097] Forked 3089 -(3089) found -[3096] Forked 3090 -(3090) found -[3095] Forked 3091 -(3091) found -[3094] Forked 3093 -(3093) found -[3093] Forked 3094 -(3094) found -[3092] Forked 3095 -(3095) found -[3091] Forked 3096 -[3090] Forked 3097 -(3096) found -(3097) found -[3089] Forked 3098 -[3088] Forked 3099 -(3098) found -(3099) found -[3087] Forked 3101 -[3086] Forked 3102 -(3101) found -(3102) found -[3085] Forked 3103 -[3084] Forked 3104 -(3103) found -(3104) found -[3083] Forked 3105 -[3082] Forked 3106 -(3105) found -(3106) found -[3081] Forked 3107 -[3080] Forked 3108 -(3107) found -(3108) found -[3079] Forked 3109 -[3078] Forked 3110 -(3109) found -(3110) found -[3077] Forked 3112 -[3076] Forked 3113 -(3112) found -(3113) found -[3075] Forked 3114 -[3074] Forked 3115 -(3114) found -(3115) found -[3073] Forked 3116 -[3072] Forked 3117 -(3116) found -(3117) found -[3071] Forked 3118 -[3070] Forked 3119 -(3118) found -(3119) found -[3069] Forked 3120 -[3068] Forked 3121 -(3120) found -(3121) found -[3067] Forked 3123 -[3066] Forked 3124 -(3123) found -(3124) found -[3065] Forked 3126 -[3064] Forked 3128 -(3126) found -(3128) found -[3063] Forked 3129 -[3062] Forked 3130 -(3129) found -(3130) found -[3061] Forked 3131 -[3060] Forked 3132 -(3131) found -(3132) found -[3059] Forked 3133 -[3058] Forked 3134 -(3133) found -(3134) found -[3057] Forked 3135 -[3056] Forked 3136 -(3135) found -(3136) found -[3055] Forked 3137 -[3054] Forked 3138 -(3137) found -(3138) found -[3053] Forked 3139 -[3052] Forked 3140 -(3139) found -(3140) found -[3051] Forked 3141 -[3050] Forked 3142 -(3141) found -(3142) found -[3049] Forked 3143 -[3048] Forked 3144 -(3143) found -(3144) found -[3047] Forked 3145 -[3046] Forked 3147 -(3145) found -(3147) found -[3045] Forked 3148 -[3044] Forked 3149 -(3148) found -(3149) found -[3043] Forked 3150 -(3150) found -[3042] Forked 3151 -(3151) found -[3041] Forked 3152 -(3152) found -[3040] Forked 3153 -(3153) found -[3039] Forked 3154 -(3154) found -[3038] Forked 3155 -(3155) found -[3037] Forked 3156 -(3156) found -[3036] Forked 3157 -(3157) found -[3035] Forked 3158 -(3158) found -[3034] Forked 3159 -(3159) found -[3033] Forked 3160 -(3160) found -[3032] Forked 3163 -(3163) found -[3031] Forked 3164 -(3164) found -[3030] Forked 3165 -(3165) found -[3029] Forked 3166 -(3166) found -[3028] Forked 3167 -(3167) found -[3027] Forked 3168 -(3168) found -[3026] Forked 3169 -(3169) found -[3025] Forked 3170 -(3170) found -[3024] Forked 3171 -(3171) found -[3023] Forked 3172 -(3172) found -[3022] Forked 3173 -(3173) found -[3021] Forked 3174 -(3174) found -[3020] Forked 3175 -(3175) found -[3019] Forked 3176 -(3176) found -[3018] Forked 3177 -(3177) found -[3017] Forked 3178 -(3178) found -[3016] Forked 3179 -(3179) found -[3015] Forked 3180 -(3180) found -[3014] Forked 3181 -(3181) found -[3013] Forked 3182 -(3182) found -[3012] Forked 3183 -(3183) found -[3011] Forked 3184 -(3184) found -[3010] Forked 3185 -(3185) found -[3009] Forked 3186 -(3186) found -[3008] Forked 3187 -[3007] Forked 3188 -(3187) found -(3188) found -[3006] Forked 3189 -[3005] Forked 3190 -(3189) found -(3190) found -[3004] Forked 3191 -[3003] Forked 3192 -(3191) found -(3192) found -[3002] Forked 3195 -[3001] Forked 3196 -(3195) found -(3196) found -[3000] Forked 3197 -[2999] Forked 3198 -(3197) found -(3198) found -[2998] Forked 3199 -[2997] Forked 3200 -(3199) found -(3200) found -[2996] Forked 3201 -[2995] Forked 3202 -(3201) found -(3202) found -[2994] Forked 3203 -[2993] Forked 3204 -(3203) found -(3204) found -[2992] Forked 3205 -[2991] Forked 3206 -(3205) found -(3206) found -[2990] Forked 3207 -[2989] Forked 3208 -(3207) found -(3208) found -[2988] Forked 3209 -[2987] Forked 3210 -(3209) found -(3210) found -[2986] Forked 3211 -[2985] Forked 3212 -(3211) found -(3212) found -[2984] Forked 3213 -[2983] Forked 3214 -(3213) found -(3214) found -[2982] Forked 3215 -[2981] Forked 3216 -(3215) found -(3216) found -[2980] Forked 3217 -[2979] Forked 3218 -(3217) found -(3218) found -[2978] Forked 3219 -[2977] Forked 3220 -(3219) found -(3220) found -[2976] Forked 3221 -[2975] Forked 3222 -(3221) found -(3222) found -[2974] Forked 3223 -[2973] Forked 3224 -(3223) found -(3224) found -[2972] Forked 3225 -[2971] Forked 3227 -(3225) found -(3227) found -[2970] Forked 3228 -[2969] Forked 3229 -(3228) found -(3229) found -[2968] Forked 3230 -[2967] Forked 3231 -(3230) found -(3231) found -[2966] Forked 3232 -[2965] Forked 3233 -(3232) found -(3233) found -[2964] Forked 3234 -[2963] Forked 3235 -(3234) found -(3235) found -[2962] Forked 3236 -(3236) found -[2961] Forked 3237 -(3237) found -[2960] Forked 3238 -(3238) found -[2959] Forked 3239 -(3239) found -[2958] Forked 3240 -(3240) found -[2957] Forked 3241 -(3241) found -[2956] Forked 3242 -(3242) found -[2955] Forked 3243 -(3243) found -[2954] Forked 3244 -(3244) found -[2953] Forked 3245 -(3245) found -[2952] Forked 3246 -(3246) found -[2951] Forked 3247 -(3247) found -[2950] Forked 3249 -(3249) found -[2949] Forked 3250 -(3250) found -[2948] Forked 3251 -(3251) found -[2947] Forked 3252 -(3252) found -[2946] Forked 3253 -(3253) found -[2945] Forked 3254 -(3254) found -[2944] Forked 3255 -(3255) found -[2943] Forked 3256 -(3256) found -[2942] Forked 3257 -(3257) found -[2941] Forked 3258 -(3258) found -[2940] Forked 3259 -(3259) found -[2939] Forked 3260 -(3260) found -[2938] Forked 3261 -(3261) found -[2937] Forked 3262 -(3262) found -[2936] Forked 3263 -(3263) found -[2935] Forked 3264 -(3264) found -[2934] Forked 3265 -(3265) found -[2933] Forked 3266 -(3266) found -[2932] Forked 3267 -(3267) found -[2931] Forked 3268 -(3268) found -[2930] Forked 3269 -(3269) found -[2929] Forked 3270 -(3270) found -[2928] Forked 3271 -[2927] Forked 3272 -(3271) found -(3272) found -[2926] Forked 3273 -[2925] Forked 3274 -(3273) found -(3274) found -[2924] Forked 3275 -[2923] Forked 3276 -(3275) found -(3276) found -[2922] Forked 3277 -[2921] Forked 3278 -(3277) found -(3278) found -[2920] Forked 3279 -[2919] Forked 3280 -(3279) found -(3280) found -[2918] Forked 3281 -[2917] Forked 3282 -(3281) found -(3282) found -[2916] Forked 3283 -[2915] Forked 3284 -(3283) found -(3284) found -[2914] Forked 3285 -[2913] Forked 3286 -(3285) found -(3286) found -[2912] Forked 3287 -[2911] Forked 3288 -(3287) found -(3288) found -[2910] Forked 3289 -[2909] Forked 3290 -(3289) found -(3290) found -[2908] Forked 3291 -[2907] Forked 3292 -(3291) found -(3292) found -[2906] Forked 3293 -[2905] Forked 3294 -(3293) found -(3294) found -[2904] Forked 3295 -[2903] Forked 3296 -(3295) found -(3296) found -[2902] Forked 3297 -[2901] Forked 3298 -(3297) found -(3298) found -[2900] Forked 3299 -[2899] Forked 3300 -(3299) found -(3300) found -[2898] Forked 3301 -[2897] Forked 3302 -(3301) found -(3302) found -[2896] Forked 3303 -[2895] Forked 3304 -(3303) found -(3304) found -[2894] Forked 3305 -[2893] Forked 3306 -(3305) found -(3306) found -[2892] Forked 3307 -[2891] Forked 3308 -(3307) found -(3308) found -[2890] Forked 3309 -[2889] Forked 3310 -(3309) found -(3310) found -[2888] Forked 3311 -[2887] Forked 3312 -(3311) found -(3312) found -[2886] Forked 3313 -[2885] Forked 3314 -(3313) found -(3314) found -[2884] Forked 3315 -[2883] Forked 3317 -(3315) found -(3317) found -[2882] Forked 3318 -[2881] Forked 3319 -(3318) found -(3319) found -[2880] Forked 3320 -[2879] Forked 3321 -(3320) found -(3321) found -[2878] Forked 3322 -[2877] Forked 3323 -(3322) found -(3323) found -[2876] Forked 3324 -[2875] Forked 3325 -(3324) found -(3325) found -[2874] Forked 3326 -[2873] Forked 3327 -(3326) found -(3327) found -[2872] Forked 3333 -[2871] Forked 3334 -(3333) found -(3334) found -[2870] Forked 3335 -[2869] Forked 3336 -(3335) found -(3336) found -[2868] Forked 3337 -[2867] Forked 3338 -(3337) found -(3338) found -[2866] Forked 3339 -[2865] Forked 3340 -(3339) found -(3340) found -[2864] Forked 3341 -[2863] Forked 3342 -(3341) found -(3342) found -[2862] Forked 3343 -[2861] Forked 3344 -(3343) found -(3344) found -[2860] Forked 3345 -[2859] Forked 3347 -(3345) found -(3347) found -[2858] Forked 3348 -[2857] Forked 3349 -(3348) found -(3349) found -[2856] Forked 3350 -[2855] Forked 3351 -(3350) found -(3351) found -[2854] Forked 3352 -[2853] Forked 3353 -(3352) found -(3353) found -[2852] Forked 3354 -[2851] Forked 3355 -(3354) found -(3355) found -[2850] Forked 3356 -[2849] Forked 3357 -(3356) found -(3357) found -[2848] Forked 3358 -[2847] Forked 3359 -(3358) found -(3359) found -[2846] Forked 3360 -[2845] Forked 3361 -(3360) found -(3361) found -[2844] Forked 3362 -[2843] Forked 3363 -(3362) found -(3363) found -[2842] Forked 3364 -[2841] Forked 3366 -(3364) found -(3366) found -[2840] Forked 3367 -(3367) found -[2839] Forked 3368 -(3368) found -[2838] Forked 3369 -(3369) found -[2837] Forked 3370 -(3370) found -[2836] Forked 3371 -(3371) found -[2835] Forked 3372 -(3372) found -[2834] Forked 3373 -(3373) found -[2833] Forked 3382 -(3382) found -[2832] Forked 3383 -(3383) found -[2831] Forked 3384 -(3384) found -[2830] Forked 3385 -(3385) found -[2829] Forked 3386 -(3386) found -[2828] Forked 3387 -(3387) found -[2827] Forked 3388 -(3388) found -[2826] Forked 3389 -(3389) found -[2825] Forked 3390 -(3390) found -[2824] Forked 3391 -(3391) found -[2823] Forked 3392 -(3392) found -[2822] Forked 3393 -(3393) found -[2821] Forked 3394 -(3394) found -[2820] Forked 3395 -(3395) found -[2819] Forked 3396 -(3396) found -[2818] Forked 3397 -(3397) found -[2817] Forked 3398 -(3398) found -[2816] Forked 3399 -(3399) found -[2815] Forked 3401 -(3401) found -[2814] Forked 3402 -(3402) found -[2813] Forked 3403 -(3403) found -[2812] Forked 3404 -(3404) found -[2811] Forked 3405 -(3405) found -[2810] Forked 3406 -(3406) found -[2809] Forked 3407 -(3407) found -[2808] Forked 3408 -(3408) found -[2807] Forked 3409 -(3409) found -[2806] Forked 3410 -(3410) found -[2805] Forked 3411 -(3411) found -[2804] Forked 3412 -(3412) found -[2803] Forked 3413 -(3413) found -[2802] Forked 3414 -(3414) found -[2801] Forked 3415 -[2800] Forked 3416 -(3415) found -(3416) found -[2799] Forked 3417 -[2798] Forked 3418 -(3417) found -(3418) found -[2797] Forked 3419 -[2796] Forked 3420 -(3419) found -(3420) found -[2795] Forked 3421 -[2794] Forked 3422 -(3421) found -(3422) found -[2793] Forked 3423 -[2792] Forked 3424 -(3423) found -(3424) found -[2791] Forked 3425 -[2790] Forked 3426 -(3425) found -(3426) found -[2789] Forked 3427 -[2788] Forked 3428 -(3427) found -(3428) found -[2787] Forked 3429 -[2786] Forked 3430 -(3429) found -(3430) found -[2785] Forked 3431 -[2784] Forked 3432 -(3431) found -(3432) found -[2783] Forked 3433 -[2782] Forked 3434 -(3433) found -(3434) found -[2781] Forked 3435 -[2780] Forked 3436 -(3435) found -(3436) found -[2779] Forked 3437 -[2778] Forked 3438 -(3437) found -(3438) found -[2777] Forked 3439 -[2776] Forked 3440 -(3439) found -(3440) found -[2775] Forked 3441 -[2774] Forked 3442 -(3441) found -(3442) found -[2773] Forked 3443 -[2772] Forked 3444 -(3443) found -(3444) found -[2771] Forked 3445 -[2770] Forked 3446 -(3445) found -(3446) found -[2769] Forked 3447 -[2768] Forked 3448 -(3447) found -(3448) found -[2767] Forked 3449 -[2766] Forked 3450 -(3449) found -(3450) found -[2765] Forked 3451 -[2764] Forked 3452 -(3451) found -(3452) found -[2763] Forked 3453 -[2762] Forked 3454 -(3453) found -(3454) found -[2761] Forked 3455 -[2760] Forked 3456 -(3455) found -(3456) found -[2759] Forked 3457 -[2758] Forked 3458 -(3457) found -(3458) found -[2757] Forked 3459 -(3459) found -[2756] Forked 3460 -(3460) found -[2755] Forked 3461 -(3461) found -[2754] Forked 3462 -(3462) found -[2753] Forked 3463 -(3463) found -[2752] Forked 3464 -(3464) found -[2751] Forked 3465 -(3465) found -[2750] Forked 3466 -(3466) found -[2749] Forked 3467 -(3467) found -[2748] Forked 3468 -(3468) found -[2747] Forked 3469 -(3469) found -[2746] Forked 3470 -(3470) found -[2745] Forked 3471 -(3471) found -[2744] Forked 3472 -(3472) found -[2743] Forked 3473 -(3473) found -[2742] Forked 3474 -(3474) found -[2741] Forked 3475 -(3475) found -[2740] Forked 3476 -(3476) found -[2739] Forked 3477 -(3477) found -[2738] Forked 3478 -(3478) found -[2737] Forked 3479 -(3479) found -[2736] Forked 3480 -(3480) found -[2735] Forked 3481 -(3481) found -[2734] Forked 3482 -(3482) found -[2733] Forked 3483 -(3483) found -[2732] Forked 3484 -(3484) found -[2731] Forked 3485 -(3485) found -[2730] Forked 3486 -(3486) found -[2729] Forked 3487 -(3487) found -[2728] Forked 3488 -(3488) found -[2727] Forked 3489 -(3489) found -[2726] Forked 3490 -(3490) found -[2725] Forked 3491 -(3491) found -[2724] Forked 3492 -(3492) found -[2723] Forked 3493 -(3493) found -[2722] Forked 3494 -(3494) found -[2721] Forked 3495 -(3495) found -[2720] Forked 3496 -[2719] Forked 3497 -(3496) found -(3497) found -[2718] Forked 3498 -[2717] Forked 3499 -(3498) found -(3499) found -[2716] Forked 3500 -[2715] Forked 3501 -(3500) found -(3501) found -[2714] Forked 3502 -[2713] Forked 3503 -(3502) found -(3503) found -[2712] Forked 3504 -[2711] Forked 3505 -(3504) found -(3505) found -[2710] Forked 3506 -[2709] Forked 3507 -(3506) found -(3507) found -[2708] Forked 3508 -[2707] Forked 3509 -(3508) found -(3509) found -[2706] Forked 3510 -[2705] Forked 3511 -(3510) found -(3511) found -[2704] Forked 3512 -[2703] Forked 3513 -(3512) found -(3513) found -[2702] Forked 3514 -[2701] Forked 3515 -(3514) found -(3515) found -[2700] Forked 3516 -[2699] Forked 3517 -(3516) found -(3517) found -[2698] Forked 3518 -[2697] Forked 3519 -(3518) found -(3519) found -[2696] Forked 3520 -[2695] Forked 3521 -(3520) found -(3521) found -[2694] Forked 3522 -[2693] Forked 3523 -(3522) found -(3523) found -[2692] Forked 3524 -[2691] Forked 3525 -(3524) found -(3525) found -[2690] Forked 3526 -[2689] Forked 3527 -(3526) found -(3527) found -[2688] Forked 3528 -[2687] Forked 3529 -(3528) found -(3529) found -[2686] Forked 3530 -[2685] Forked 3531 -(3530) found -(3531) found -[2684] Forked 3532 -[2683] Forked 3533 -(3532) found -(3533) found -[2682] Forked 3534 -[2681] Forked 3535 -(3534) found -(3535) found -[2680] Forked 3536 -[2679] Forked 3537 -(3536) found -(3537) found -[2678] Forked 3538 -[2677] Forked 3539 -(3538) found -(3539) found -[2676] Forked 3540 -(3540) found -[2675] Forked 3541 -(3541) found -[2674] Forked 3542 -(3542) found -[2673] Forked 3543 -(3543) found -[2672] Forked 3544 -(3544) found -[2671] Forked 3545 -(3545) found -[2670] Forked 3546 -(3546) found -[2669] Forked 3547 -(3547) found -[2668] Forked 3548 -(3548) found -[2667] Forked 3549 -(3549) found -[2666] Forked 3550 -(3550) found -[2665] Forked 3551 -(3551) found -[2664] Forked 3552 -(3552) found -[2663] Forked 3553 -(3553) found -[2662] Forked 3554 -(3554) found -[2661] Forked 3555 -(3555) found -[2660] Forked 3556 -(3556) found -[2659] Forked 3557 -(3557) found -[2658] Forked 3558 -(3558) found -[2657] Forked 3559 -(3559) found -[2656] Forked 3560 -(3560) found -[2655] Forked 3561 -(3561) found -[2654] Forked 3562 -(3562) found -[2653] Forked 3563 -(3563) found -[2652] Forked 3564 -(3564) found -[2651] Forked 3565 -(3565) found -[2650] Forked 3566 -(3566) found -[2649] Forked 3567 -(3567) found -[2648] Forked 3568 -(3568) found -[2647] Forked 3569 -(3569) found -[2646] Forked 3570 -(3570) found -[2645] Forked 3571 -(3571) found -[2644] Forked 3572 -(3572) found -[2643] Forked 3573 -(3573) found -[2642] Forked 3574 -(3574) found -[2641] Forked 3575 -(3575) found -[2640] Forked 3576 -(3576) found -[2639] Forked 3577 -[2638] Forked 3578 -(3577) found -(3578) found -[2637] Forked 3579 -[2636] Forked 3580 -(3579) found -(3580) found -[2635] Forked 3581 -[2634] Forked 3582 -(3581) found -(3582) found -[2633] Forked 3583 -[2632] Forked 3584 -(3583) found -(3584) found -[2631] Forked 3585 -[2630] Forked 3586 -(3585) found -(3586) found -[2629] Forked 3587 -[2628] Forked 3588 -(3587) found -(3588) found -[2627] Forked 3589 -[2626] Forked 3590 -(3589) found -(3590) found -[2625] Forked 3591 -[2624] Forked 3592 -(3591) found -(3592) found -[2623] Forked 3593 -[2622] Forked 3594 -(3593) found -(3594) found -[2621] Forked 3595 -[2620] Forked 3596 -(3595) found -(3596) found -[2619] Forked 3597 -[2618] Forked 3598 -(3597) found -(3598) found -[2617] Forked 3599 -[2616] Forked 3600 -(3599) found -(3600) found -[2615] Forked 3601 -[2614] Forked 3602 -(3601) found -(3602) found -[2613] Forked 3603 -[2612] Forked 3604 -(3603) found -(3604) found -[2611] Forked 3605 -[2610] Forked 3606 -(3605) found -(3606) found -[2609] Forked 3607 -[2608] Forked 3608 -(3607) found -(3608) found -[2607] Forked 3609 -[2606] Forked 3610 -(3609) found -(3610) found -[2605] Forked 3611 -[2604] Forked 3612 -(3611) found -(3612) found -[2603] Forked 3613 -[2602] Forked 3614 -(3613) found -(3614) found -[2601] Forked 3615 -[2600] Forked 3616 -(3615) found -(3616) found -[2599] Forked 3617 -[2598] Forked 3618 -(3617) found -(3618) found -[2597] Forked 3619 -[2596] Forked 3620 -(3619) found -(3620) found -[2595] Forked 3621 -(3621) found -[2594] Forked 3622 -(3622) found -[2593] Forked 3623 -(3623) found -[2592] Forked 3624 -(3624) found -[2591] Forked 3625 -(3625) found -[2590] Forked 3626 -(3626) found -[2589] Forked 3627 -(3627) found -[2588] Forked 3628 -(3628) found -[2587] Forked 3629 -(3629) found -[2586] Forked 3630 -(3630) found -[2585] Forked 3631 -(3631) found -[2584] Forked 3632 -(3632) found -[2583] Forked 3633 -(3633) found -[2582] Forked 3634 -(3634) found -[2581] Forked 3635 -(3635) found -[2580] Forked 3636 -(3636) found -[2579] Forked 3637 -(3637) found -[2578] Forked 3638 -(3638) found -[2577] Forked 3639 -(3639) found -[2576] Forked 3640 -(3640) found -[2575] Forked 3641 -(3641) found -[2574] Forked 3642 -(3642) found -[2573] Forked 3643 -(3643) found -[2572] Forked 3644 -(3644) found -[2571] Forked 3645 -(3645) found -[2570] Forked 3646 -(3646) found -[2569] Forked 3647 -(3647) found -[2568] Forked 3648 -(3648) found -[2567] Forked 3649 -(3649) found -[2566] Forked 3650 -(3650) found -[2565] Forked 3651 -(3651) found -[2564] Forked 3652 -(3652) found -[2563] Forked 3653 -(3653) found -[2562] Forked 3654 -(3654) found -[2561] Forked 3655 -(3655) found -[2560] Forked 3656 -(3656) found -[2559] Forked 3658 -(3658) found -[2558] Forked 3659 -[2557] Forked 3660 -(3659) found -(3660) found -[2556] Forked 3661 -[2555] Forked 3662 -(3661) found -(3662) found -[2554] Forked 3663 -[2553] Forked 3664 -(3663) found -(3664) found -[2552] Forked 3665 -[2551] Forked 3666 -(3665) found -(3666) found -[2550] Forked 3667 -[2549] Forked 3669 -(3667) found -(3669) found -[2548] Forked 3670 -[2547] Forked 3671 -(3670) found -(3671) found -[2546] Forked 3672 -[2545] Forked 3673 -(3672) found -(3673) found -[2544] Forked 3674 -[2543] Forked 3675 -(3674) found -(3675) found -[2542] Forked 3676 -[2541] Forked 3677 -(3676) found -(3677) found -[2540] Forked 3678 -[2539] Forked 3679 -(3678) found -(3679) found -[2538] Forked 3680 -[2537] Forked 3681 -(3680) found -(3681) found -[2536] Forked 3682 -[2535] Forked 3683 -(3682) found -(3683) found -[2534] Forked 3684 -[2533] Forked 3685 -(3684) found -(3685) found -[2532] Forked 3686 -[2531] Forked 3687 -(3686) found -(3687) found -[2530] Forked 3688 -[2529] Forked 3689 -(3688) found -(3689) found -[2528] Forked 3690 -[2527] Forked 3691 -(3690) found -(3691) found -[2526] Forked 3692 -[2525] Forked 3693 -(3692) found -(3693) found -[2524] Forked 3694 -[2523] Forked 3695 -(3694) found -(3695) found -[2522] Forked 3696 -[2521] Forked 3697 -(3696) found -(3697) found -[2520] Forked 3698 -[2519] Forked 3700 -(3698) found -(3700) found -[2518] Forked 3701 -(3701) found -[2517] Forked 3702 -(3702) found -[2516] Forked 3703 -(3703) found -[2515] Forked 3704 -(3704) found -[2514] Forked 3705 -(3705) found -[2513] Forked 3706 -(3706) found -[2512] Forked 3707 -(3707) found -[2511] Forked 3708 -(3708) found -[2510] Forked 3709 -(3709) found -[2509] Forked 3710 -(3710) found -[2508] Forked 3711 -(3711) found -[2507] Forked 3712 -(3712) found -[2506] Forked 3713 -(3713) found -[2505] Forked 3714 -(3714) found -[2504] Forked 3715 -(3715) found -[2503] Forked 3716 -(3716) found -[2502] Forked 3717 -(3717) found -[2501] Forked 3718 -(3718) found -[2500] Forked 3719 -(3719) found -[2499] Forked 3720 -(3720) found -[2498] Forked 3721 -(3721) found -[2497] Forked 3722 -(3722) found -[2496] Forked 3723 -(3723) found -[2495] Forked 3724 -(3724) found -[2494] Forked 3725 -(3725) found -[2493] Forked 3726 -(3726) found -[2492] Forked 3727 -(3727) found -[2491] Forked 3728 -(3728) found -[2490] Forked 3729 -(3729) found -[2489] Forked 3730 -(3730) found -[2488] Forked 3731 -(3731) found -[2487] Forked 3732 -(3732) found -[2486] Forked 3733 -(3733) found -[2485] Forked 3734 -(3734) found -[2484] Forked 3735 -(3735) found -[2483] Forked 3736 -(3736) found -[2482] Forked 3737 -(3737) found -[2481] Forked 3738 -(3738) found -[2480] Forked 3739 -(3739) found -[2479] Forked 3740 -[2478] Forked 3741 -(3740) found -(3741) found -[2477] Forked 3742 -[2476] Forked 3743 -(3742) found -(3743) found -[2475] Forked 3744 -[2474] Forked 3745 -(3744) found -(3745) found -[2473] Forked 3746 -[2472] Forked 3747 -(3746) found -(3747) found -[2471] Forked 3748 -[2470] Forked 3749 -(3748) found -(3749) found -[2469] Forked 3750 -[2468] Forked 3751 -(3750) found -(3751) found -[2467] Forked 3752 -[2466] Forked 3753 -(3752) found -(3753) found -[2465] Forked 3754 -[2464] Forked 3755 -(3754) found -(3755) found -[2463] Forked 3756 -[2462] Forked 3757 -(3756) found -(3757) found -[2461] Forked 3758 -[2460] Forked 3759 -(3758) found -(3759) found -[2459] Forked 3760 -[2458] Forked 3761 -(3760) found -(3761) found -[2457] Forked 3762 -[2456] Forked 3763 -(3762) found -(3763) found -[2455] Forked 3764 -[2454] Forked 3765 -(3764) found -(3765) found -[2453] Forked 3766 -[2452] Forked 3767 -(3766) found -(3767) found -[2451] Forked 3768 -[2450] Forked 3769 -(3768) found -(3769) found -[2449] Forked 3770 -[2448] Forked 3771 -(3770) found -(3771) found -[2447] Forked 3772 -[2446] Forked 3773 -(3772) found -(3773) found -[2445] Forked 3774 -[2444] Forked 3775 -(3774) found -(3775) found -[2443] Forked 3776 -[2442] Forked 3778 -(3776) found -(3778) found -[2441] Forked 3779 -(3779) found -[2440] Forked 3780 -(3780) found -[2439] Forked 3781 -(3781) found -[2438] Forked 3782 -(3782) found -[2437] Forked 3783 -(3783) found -[2436] Forked 3784 -(3784) found -[2435] Forked 3785 -(3785) found -[2434] Forked 3786 -(3786) found -[2433] Forked 3787 -(3787) found -[2432] Forked 3788 -(3788) found -[2431] Forked 3789 -(3789) found -[2430] Forked 3790 -(3790) found -[2429] Forked 3791 -(3791) found -[2428] Forked 3792 -(3792) found -[2427] Forked 3793 -(3793) found -[2426] Forked 3794 -(3794) found -[2425] Forked 3795 -(3795) found -[2424] Forked 3796 -(3796) found -[2423] Forked 3797 -(3797) found -[2422] Forked 3798 -(3798) found -[2421] Forked 3799 -(3799) found -[2420] Forked 3800 -(3800) found -[2419] Forked 3801 -(3801) found -[2418] Forked 3802 -(3802) found -[2417] Forked 3803 -(3803) found -[2416] Forked 3804 -(3804) found -[2415] Forked 3805 -(3805) found -[2414] Forked 3806 -(3806) found -[2413] Forked 3807 -(3807) found -[2412] Forked 3808 -(3808) found -[2411] Forked 3809 -(3809) found -[2410] Forked 3810 -(3810) found -[2409] Forked 3811 -(3811) found -[2408] Forked 3812 -(3812) found -[2407] Forked 3813 -(3813) found -[2406] Forked 3814 -(3814) found -[2405] Forked 3815 -(3815) found -[2404] Forked 3816 -(3816) found -[2403] Forked 3817 -[2402] Forked 3818 -(3817) found -(3818) found -[2401] Forked 3819 -[2400] Forked 3820 -(3819) found -(3820) found -[2399] Forked 3821 -[2398] Forked 3822 -(3821) found -(3822) found -[2397] Forked 3823 -[2396] Forked 3824 -(3823) found -(3824) found -[2395] Forked 3825 -[2394] Forked 3826 -(3825) found -(3826) found -[2393] Forked 3827 -[2392] Forked 3828 -(3827) found -(3828) found -[2391] Forked 3829 -[2390] Forked 3830 -(3829) found -(3830) found -[2389] Forked 3831 -[2388] Forked 3832 -(3831) found -(3832) found -[2387] Forked 3833 -[2386] Forked 3834 -(3833) found -(3834) found -[2385] Forked 3835 -[2384] Forked 3836 -(3835) found -(3836) found -[2383] Forked 3837 -[2382] Forked 3838 -(3837) found -(3838) found -[2381] Forked 3839 -[2380] Forked 3840 -(3839) found -(3840) found -[2379] Forked 3841 -[2378] Forked 3842 -(3841) found -(3842) found -[2377] Forked 3843 -[2376] Forked 3844 -(3843) found -(3844) found -[2375] Forked 3845 -[2374] Forked 3846 -(3845) found -(3846) found -[2373] Forked 3847 -[2372] Forked 3848 -(3847) found -(3848) found -[2371] Forked 3849 -[2370] Forked 3850 -(3849) found -(3850) found -[2369] Forked 3851 -[2368] Forked 3852 -(3851) found -(3852) found -[2367] Forked 3853 -[2366] Forked 3854 -(3853) found -(3854) found -[2365] Forked 3855 -[2364] Forked 3856 -(3855) found -(3856) found -[2363] Forked 3857 -[2362] Forked 3858 -(3857) found -(3858) found -[2361] Forked 3859 -[2360] Forked 3860 -(3859) found -(3860) found -[2359] Forked 3861 -(3861) found -[2358] Forked 3862 -(3862) found -[2357] Forked 3863 -(3863) found -[2356] Forked 3864 -(3864) found -[2355] Forked 3865 -(3865) found -[2354] Forked 3866 -(3866) found -[2353] Forked 3867 -(3867) found -[2352] Forked 3868 -(3868) found -[2351] Forked 3869 -(3869) found -[2350] Forked 3870 -(3870) found -[2349] Forked 3871 -(3871) found -[2348] Forked 3872 -(3872) found -[2347] Forked 3873 -(3873) found -[2346] Forked 3874 -(3874) found -[2345] Forked 3875 -(3875) found -[2344] Forked 3876 -(3876) found -[2343] Forked 3877 -(3877) found -[2342] Forked 3878 -(3878) found -[2341] Forked 3879 -(3879) found -[2340] Forked 3880 -(3880) found -[2339] Forked 3881 -(3881) found -[2338] Forked 3882 -(3882) found -[2337] Forked 3883 -(3883) found -[2336] Forked 3884 -(3884) found -[2335] Forked 3885 -(3885) found -[2334] Forked 3886 -(3886) found -[2333] Forked 3887 -(3887) found -[2332] Forked 3888 -(3888) found -[2331] Forked 3889 -(3889) found -[2330] Forked 3890 -(3890) found -[2329] Forked 3891 -(3891) found -[2328] Forked 3892 -(3892) found -[2327] Forked 3893 -(3893) found -[2326] Forked 3894 -(3894) found -[2325] Forked 3895 -(3895) found -[2324] Forked 3896 -(3896) found -[2323] Forked 3897 -(3897) found -[2322] Forked 3898 -[2321] Forked 3899 -(3898) found -(3899) found -[2320] Forked 3900 -[2319] Forked 3901 -(3900) found -(3901) found -[2318] Forked 3902 -[2317] Forked 3903 -(3902) found -(3903) found -[2316] Forked 3904 -[2315] Forked 3905 -(3904) found -(3905) found -[2314] Forked 3906 -[2313] Forked 3907 -(3906) found -(3907) found -[2312] Forked 3908 -[2311] Forked 3909 -(3908) found -(3909) found -[2310] Forked 3910 -[2309] Forked 3911 -(3910) found -(3911) found -[2308] Forked 3912 -[2307] Forked 3913 -(3912) found -(3913) found -[2306] Forked 3914 -[2305] Forked 3915 -(3914) found -(3915) found -[2304] Forked 3916 -[2303] Forked 3917 -(3916) found -(3917) found -[2302] Forked 3918 -[2301] Forked 3919 -(3918) found -(3919) found -[2300] Forked 3920 -[2299] Forked 3921 -(3920) found -(3921) found -[2298] Forked 3922 -[2297] Forked 3923 -(3922) found -(3923) found -[2296] Forked 3924 -[2295] Forked 3926 -(3924) found -(3926) found -[2294] Forked 3927 -(3927) found -[2293] Forked 3928 -(3928) found -[2292] Forked 3929 -(3929) found -[2291] Forked 3930 -(3930) found -[2290] Forked 3931 -(3931) found -[2289] Forked 3932 -(3932) found -[2288] Forked 3933 -(3933) found -[2287] Forked 3934 -(3934) found -[2286] Forked 3935 -(3935) found -[2285] Forked 3936 -(3936) found -[2284] Forked 3937 -(3937) found -[2283] Forked 3938 -(3938) found -[2282] Forked 3939 -(3939) found -[2281] Forked 3940 -(3940) found -[2280] Forked 3941 -(3941) found -[2279] Forked 3942 -(3942) found -[2278] Forked 3943 -(3943) found -[2277] Forked 3944 -(3944) found -[2276] Forked 3945 -(3945) found -[2275] Forked 3946 -(3946) found -[2274] Forked 3947 -(3947) found -[2273] Forked 3948 -(3948) found -[2272] Forked 3949 -(3949) found -[2271] Forked 3950 -(3950) found -[2270] Forked 3951 -(3951) found -[2269] Forked 3952 -(3952) found -[2268] Forked 3953 -(3953) found -[2267] Forked 3954 -(3954) found -[2266] Forked 3955 -(3955) found -[2265] Forked 3956 -(3956) found -[2264] Forked 3957 -(3957) found -[2263] Forked 3958 -(3958) found -[2262] Forked 3959 -(3959) found -[2261] Forked 3960 -(3960) found -[2260] Forked 3961 -(3961) found -[2259] Forked 3962 -(3962) found -[2258] Forked 3963 -(3963) found -[2257] Forked 3964 -(3964) found -[2256] Forked 3965 -(3965) found -[2255] Forked 3966 -(3966) found -[2254] Forked 3967 -(3967) found -[2253] Forked 3968 -(3968) found -[2252] Forked 3969 -(3969) found -[2251] Forked 3970 -(3970) found -[2250] Forked 3971 -(3971) found -[2249] Forked 3972 -(3972) found -[2248] Forked 3973 -(3973) found -[2247] Forked 3974 -(3974) found -[2246] Forked 3975 -(3975) found -[2245] Forked 3976 -(3976) found -[2244] Forked 3977 -(3977) found -[2243] Forked 3978 -(3978) found -[2242] Forked 3979 -(3979) found -[2241] Forked 3980 -(3980) found -[2240] Forked 3981 -(3981) found -[2239] Forked 3982 -(3982) found -[2238] Forked 3983 -(3983) found -[2237] Forked 3984 -(3984) found -[2236] Forked 3985 -(3985) found -[2235] Forked 3986 -(3986) found -[2234] Forked 3987 -(3987) found -[2233] Forked 3988 -(3988) found -[2232] Forked 3989 -(3989) found -[2231] Forked 3990 -(3990) found -[2230] Forked 3991 -(3991) found -[2229] Forked 3992 -(3992) found -[2228] Forked 3993 -(3993) found -[2227] Forked 3994 -(3994) found -[2226] Forked 3995 -(3995) found -[2225] Forked 3996 -(3996) found -[2224] Forked 3997 -(3997) found -[2223] Forked 3998 -(3998) found -[2222] Forked 3999 -[2221] Forked 4000 -(3999) found -(4000) found -[2220] Forked 4001 -[2219] Forked 4002 -(4001) found -(4002) found -[2218] Forked 4003 -[2217] Forked 4004 -(4003) found -(4004) found -[2216] Forked 4005 -[2215] Forked 4006 -(4005) found -(4006) found -[2214] Forked 4007 -[2213] Forked 4008 -(4007) found -(4008) found -[2212] Forked 4009 -[2211] Forked 4010 -(4009) found -(4010) found -[2210] Forked 4011 -[2209] Forked 4012 -(4011) found -(4012) found -[2208] Forked 4013 -[2207] Forked 4014 -(4013) found -(4014) found -[2206] Forked 4015 -[2205] Forked 4016 -(4015) found -(4016) found -[2204] Forked 4017 -[2203] Forked 4018 -(4017) found -(4018) found -[2202] Forked 4019 -[2201] Forked 4020 -(4019) found -(4020) found -[2200] Forked 4021 -[2199] Forked 4022 -(4021) found -(4022) found -[2198] Forked 4023 -[2197] Forked 4024 -(4023) found -(4024) found -[2196] Forked 4025 -[2195] Forked 4026 -(4025) found -(4026) found -[2194] Forked 4028 -[2193] Forked 4029 -(4028) found -(4029) found -[2192] Forked 4030 -[2191] Forked 4031 -(4030) found -(4031) found -[2190] Forked 4032 -[2189] Forked 4034 -(4032) found -(4034) found -[2188] Forked 4035 -[2187] Forked 4037 -(4035) found -(4037) found -[2186] Forked 4038 -(4038) found -[2185] Forked 4039 -(4039) found -[2184] Forked 4040 -(4040) found -[2183] Forked 4041 -(4041) found -[2182] Forked 4042 -(4042) found -[2181] Forked 4043 -(4043) found -[2180] Forked 4044 -(4044) found -[2179] Forked 4045 -(4045) found -[2178] Forked 4046 -(4046) found -[2177] Forked 4047 -(4047) found -[2176] Forked 4048 -(4048) found -[2175] Forked 4049 -(4049) found -[2174] Forked 4052 -(4052) found -[2173] Forked 4053 -(4053) found -[2172] Forked 4054 -(4054) found -[2171] Forked 4055 -(4055) found -[2170] Forked 4056 -(4056) found -[2169] Forked 4057 -(4057) found -[2168] Forked 4058 -(4058) found -[2167] Forked 4059 -(4059) found -[2166] Forked 4060 -(4060) found -[2165] Forked 4061 -(4061) found -[2164] Forked 4062 -(4062) found -[2163] Forked 4063 -(4063) found -[2162] Forked 4064 -(4064) found -[2161] Forked 4065 -(4065) found -[2160] Forked 4066 -(4066) found -[2159] Forked 4067 -(4067) found -[2158] Forked 4068 -(4068) found -[2157] Forked 4069 -(4069) found -[2156] Forked 4070 -(4070) found -[2155] Forked 4071 -(4071) found -[2154] Forked 4072 -(4072) found -[2153] Forked 4074 -(4074) found -[2152] Forked 4075 -(4075) found -[2151] Forked 4076 -(4076) found -[2150] Forked 4077 -(4077) found -[2149] Forked 4078 -(4078) found -[2148] Forked 4079 -(4079) found -[2147] Forked 4080 -(4080) found -[2146] Forked 4081 -(4081) found -[2145] Forked 4082 -(4082) found -[2144] Forked 4083 -[2143] Forked 4086 -(4083) found -(4086) found -[2142] Forked 4088 -[2141] Forked 4089 -(4088) found -(4089) found -[2140] Forked 4090 -[2139] Forked 4093 -(4090) found -(4093) found -[2138] Forked 4095 -[2137] Forked 4096 -(4095) found -(4096) found -[2136] Forked 4097 -[2135] Forked 4098 -(4097) found -(4098) found -[2134] Forked 4099 -[2133] Forked 4100 -(4099) found -(4100) found -[2132] Forked 4101 -[2131] Forked 4102 -(4101) found -(4102) found -[2130] Forked 4103 -[2129] Forked 4104 -(4103) found -(4104) found -[2128] Forked 4105 -[2127] Forked 4106 -(4105) found -(4106) found -[2126] Forked 4107 -[2125] Forked 4108 -(4107) found -(4108) found -[2124] Forked 4109 -[2123] Forked 4110 -(4109) found -(4110) found -[2122] Forked 4111 -[2121] Forked 4112 -(4111) found -(4112) found -[2120] Forked 4113 -[2119] Forked 4114 -(4113) found -(4114) found -[2118] Forked 4115 -[2117] Forked 4116 -(4115) found -(4116) found -[2116] Forked 4117 -[2115] Forked 4118 -(4117) found -(4118) found -[2114] Forked 4119 -[2113] Forked 4120 -(4119) found -(4120) found -[2112] Forked 4121 -[2111] Forked 4122 -(4121) found -(4122) found -[2110] Forked 4123 -[2109] Forked 4124 -(4123) found -(4124) found -[2108] Forked 4125 -[2107] Forked 4126 -(4125) found -(4126) found -[2106] Forked 4127 -[2105] Forked 4128 -(4127) found -(4128) found -[2104] Forked 4129 -[2103] Forked 4130 -(4129) found -(4130) found -[2102] Forked 4131 -[2101] Forked 4132 -(4131) found -(4132) found -[2100] Forked 4133 -[2099] Forked 4134 -(4133) found -(4134) found -[2098] Forked 4135 -[2097] Forked 4136 -(4135) found -(4136) found -[2096] Forked 4137 -[2095] Forked 4138 -(4137) found -(4138) found -[2094] Forked 4139 -[2093] Forked 4140 -(4139) found -(4140) found -[2092] Forked 4141 -[2091] Forked 4142 -(4141) found -(4142) found -[2090] Forked 4143 -[2089] Forked 4144 -(4143) found -(4144) found -[2088] Forked 4145 -[2087] Forked 4146 -(4145) found -(4146) found -[2086] Forked 4147 -[2085] Forked 4148 -(4147) found -(4148) found -[2084] Forked 4149 -[2083] Forked 4150 -(4149) found -(4150) found -[2082] Forked 4151 -[2081] Forked 4152 -(4151) found -(4152) found -[2080] Forked 4153 -[2079] Forked 4154 -(4153) found -(4154) found -[2078] Forked 4155 -[2077] Forked 4156 -(4155) found -(4156) found -[2076] Forked 4157 -[2075] Forked 4158 -(4157) found -(4158) found -[2074] Forked 4159 -[2073] Forked 4160 -(4159) found -(4160) found -[2072] Forked 4161 -[2071] Forked 4162 -(4161) found -(4162) found -[2070] Forked 4163 -[2069] Forked 4164 -(4163) found -(4164) found -[2068] Forked 4165 -[2067] Forked 4166 -(4165) found -(4166) found -[2066] Forked 4167 -[2065] Forked 4168 -(4167) found -(4168) found -[2064] Forked 4169 -[2063] Forked 4170 -(4169) found -(4170) found -[2062] Forked 4171 -[2061] Forked 4172 -(4171) found -(4172) found -[2060] Forked 4173 -[2059] Forked 4174 -(4173) found -(4174) found -[2058] Forked 4175 -[2057] Forked 4176 -(4175) found -(4176) found -[2056] Forked 4177 -[2055] Forked 4178 -(4177) found -(4178) found -[2054] Forked 4179 -[2053] Forked 4180 -(4179) found -(4180) found -[2052] Forked 4181 -(4181) found -[2051] Forked 4182 -(4182) found -[2050] Forked 4183 -(4183) found -[2049] Forked 4184 -(4184) found -[2048] Forked 4185 -(4185) found -[2047] Forked 4186 -(4186) found -[2046] Forked 4187 -(4187) found -[2045] Forked 4188 -(4188) found -[2044] Forked 4189 -(4189) found -[2043] Forked 4190 -(4190) found -[2042] Forked 4191 -(4191) found -[2041] Forked 4192 -(4192) found -[2040] Forked 4193 -(4193) found -[2039] Forked 4194 -(4194) found -[2038] Forked 4195 -(4195) found -[2037] Forked 4196 -(4196) found -[2036] Forked 4197 -(4197) found -[2035] Forked 4198 -(4198) found -[2034] Forked 4199 -(4199) found -[2033] Forked 4200 -(4200) found -[2032] Forked 4201 -(4201) found -[2031] Forked 4202 -(4202) found -[2030] Forked 4203 -(4203) found -[2029] Forked 4204 -(4204) found -[2028] Forked 4205 -(4205) found -[2027] Forked 4206 -(4206) found -[2026] Forked 4207 -(4207) found -[2025] Forked 4208 -(4208) found -[2024] Forked 4209 -(4209) found -[2023] Forked 4210 -(4210) found -[2022] Forked 4211 -(4211) found -[2021] Forked 4212 -(4212) found -[2020] Forked 4213 -(4213) found -[2019] Forked 4214 -(4214) found -[2018] Forked 4215 -(4215) found -[2017] Forked 4216 -(4216) found -[2016] Forked 4217 -[2015] Forked 4218 -(4217) found -(4218) found -[2014] Forked 4219 -[2013] Forked 4220 -(4219) found -(4220) found -[2012] Forked 4221 -[2011] Forked 4222 -(4221) found -(4222) found -[2010] Forked 4223 -[2009] Forked 4224 -(4223) found -(4224) found -[2008] Forked 4225 -[2007] Forked 4226 -(4225) found -(4226) found -[2006] Forked 4227 -[2005] Forked 4228 -(4227) found -(4228) found -[2004] Forked 4229 -[2003] Forked 4230 -(4229) found -(4230) found -[2002] Forked 4231 -[2001] Forked 4232 -(4231) found -(4232) found -[2000] Forked 4233 -[1999] Forked 4234 -(4233) found -(4234) found -[1998] Forked 4235 -[1997] Forked 4236 -(4235) found -(4236) found -[1996] Forked 4237 -[1995] Forked 4238 -(4237) found -(4238) found -[1994] Forked 4239 -[1993] Forked 4240 -(4239) found -(4240) found -[1992] Forked 4242 -[1991] Forked 4243 -(4242) found -(4243) found -[1990] Forked 4244 -[1989] Forked 4245 -(4244) found -(4245) found -[1988] Forked 4247 -[1987] Forked 4248 -(4247) found -(4248) found -[1986] Forked 4249 -[1985] Forked 4250 -(4249) found -(4250) found -[1984] Forked 4251 -[1983] Forked 4252 -(4251) found -(4252) found -[1982] Forked 4254 -[1981] Forked 4255 -(4254) found -(4255) found -[1980] Forked 4256 -[1979] Forked 4257 -(4256) found -(4257) found -[1978] Forked 4258 -[1977] Forked 4259 -(4258) found -(4259) found -[1976] Forked 4260 -[1975] Forked 4261 -(4260) found -(4261) found -[1974] Forked 4262 -[1973] Forked 4263 -(4262) found -(4263) found -[1972] Forked 4264 -(4264) found -[1971] Forked 4265 -(4265) found -[1970] Forked 4266 -(4266) found -[1969] Forked 4267 -(4267) found -[1968] Forked 4268 -(4268) found -[1967] Forked 4269 -(4269) found -[1966] Forked 4270 -(4270) found -[1965] Forked 4271 -(4271) found -[1964] Forked 4272 -(4272) found -[1963] Forked 4273 -(4273) found -[1962] Forked 4274 -(4274) found -[1961] Forked 4275 -(4275) found -[1960] Forked 4276 -(4276) found -[1959] Forked 4277 -(4277) found -[1958] Forked 4278 -(4278) found -[1957] Forked 4279 -(4279) found -[1956] Forked 4280 -(4280) found -[1955] Forked 4281 -(4281) found -[1954] Forked 4282 -(4282) found -[1953] Forked 4284 -(4284) found -[1952] Forked 4285 -(4285) found -[1951] Forked 4286 -(4286) found -[1950] Forked 4287 -(4287) found -[1949] Forked 4288 -(4288) found -[1948] Forked 4289 -(4289) found -[1947] Forked 4290 -(4290) found -[1946] Forked 4291 -(4291) found -[1945] Forked 4292 -(4292) found -[1944] Forked 4293 -(4293) found -[1943] Forked 4294 -(4294) found -[1942] Forked 4295 -(4295) found -[1941] Forked 4296 -(4296) found -[1940] Forked 4297 -(4297) found -[1939] Forked 4298 -(4298) found -[1938] Forked 4299 -(4299) found -[1937] Forked 4300 -(4300) found -[1936] Forked 4301 -(4301) found -[1935] Forked 4302 -[1934] Forked 4303 -(4302) found -(4303) found -[1933] Forked 4304 -[1932] Forked 4305 -(4304) found -(4305) found -[1931] Forked 4306 -[1930] Forked 4307 -(4306) found -(4307) found -[1929] Forked 4308 -[1928] Forked 4309 -(4308) found -(4309) found -[1927] Forked 4310 -[1926] Forked 4311 -(4310) found -(4311) found -[1925] Forked 4312 -[1924] Forked 4313 -(4312) found -(4313) found -[1923] Forked 4314 -[1922] Forked 4315 -(4314) found -(4315) found -[1921] Forked 4316 -[1920] Forked 4317 -(4316) found -(4317) found -[1919] Forked 4318 -[1918] Forked 4319 -(4318) found -(4319) found -[1917] Forked 4320 -[1916] Forked 4321 -(4320) found -(4321) found -[1915] Forked 4322 -[1914] Forked 4323 -(4322) found -(4323) found -[1913] Forked 4324 -[1912] Forked 4325 -(4324) found -(4325) found -[1911] Forked 4326 -[1910] Forked 4327 -(4326) found -(4327) found -[1909] Forked 4328 -[1908] Forked 4329 -(4328) found -(4329) found -[1907] Forked 4330 -[1906] Forked 4331 -(4330) found -(4331) found -[1905] Forked 4332 -[1904] Forked 4333 -(4332) found -(4333) found -[1903] Forked 4334 -[1902] Forked 4335 -(4334) found -(4335) found -[1901] Forked 4336 -[1900] Forked 4337 -(4336) found -(4337) found -[1899] Forked 4338 -[1898] Forked 4339 -(4338) found -(4339) found -[1897] Forked 4340 -[1896] Forked 4342 -(4340) found -(4342) found -[1895] Forked 4343 -(4343) found -[1894] Forked 4344 -(4344) found -[1893] Forked 4345 -(4345) found -[1892] Forked 4346 -(4346) found -[1891] Forked 4347 -(4347) found -[1890] Forked 4348 -(4348) found -[1889] Forked 4349 -(4349) found -[1888] Forked 4350 -(4350) found -[1887] Forked 4351 -(4351) found -[1886] Forked 4352 -(4352) found -[1885] Forked 4353 -(4353) found -[1884] Forked 4354 -(4354) found -[1883] Forked 4355 -(4355) found -[1882] Forked 4356 -(4356) found -[1881] Forked 4357 -(4357) found -[1880] Forked 4358 -(4358) found -[1879] Forked 4359 -(4359) found -[1878] Forked 4360 -(4360) found -[1877] Forked 4361 -(4361) found -[1876] Forked 4362 -(4362) found -[1875] Forked 4363 -(4363) found -[1874] Forked 4364 -(4364) found -[1873] Forked 4365 -(4365) found -[1872] Forked 4366 -(4366) found -[1871] Forked 4367 -(4367) found -[1870] Forked 4368 -(4368) found -[1869] Forked 4369 -(4369) found -[1868] Forked 4370 -(4370) found -[1867] Forked 4371 -(4371) found -[1866] Forked 4372 -(4372) found -[1865] Forked 4373 -(4373) found -[1864] Forked 4374 -(4374) found -[1863] Forked 4375 -(4375) found -[1862] Forked 4376 -(4376) found -[1861] Forked 4377 -(4377) found -[1860] Forked 4378 -(4378) found -[1859] Forked 4379 -(4379) found -[1858] Forked 4380 -(4380) found -[1857] Forked 4381 -(4381) found -[1856] Forked 4382 -[1855] Forked 4383 -(4382) found -(4383) found -[1854] Forked 4384 -[1853] Forked 4385 -(4384) found -(4385) found -[1852] Forked 4386 -[1851] Forked 4387 -(4386) found -(4387) found -[1850] Forked 4388 -[1849] Forked 4389 -(4388) found -(4389) found -[1848] Forked 4390 -[1847] Forked 4391 -(4390) found -(4391) found -[1846] Forked 4392 -[1845] Forked 4393 -(4392) found -(4393) found -[1844] Forked 4394 -[1843] Forked 4395 -(4394) found -(4395) found -[1842] Forked 4396 -[1841] Forked 4397 -(4396) found -(4397) found -[1840] Forked 4398 -[1839] Forked 4399 -(4398) found -(4399) found -[1838] Forked 4400 -[1837] Forked 4401 -(4400) found -(4401) found -[1836] Forked 4402 -[1835] Forked 4403 -(4402) found -(4403) found -[1834] Forked 4404 -[1833] Forked 4405 -(4404) found -(4405) found -[1832] Forked 4406 -[1831] Forked 4407 -(4406) found -(4407) found -[1830] Forked 4408 -[1829] Forked 4409 -(4408) found -(4409) found -[1828] Forked 4410 -[1827] Forked 4411 -(4410) found -(4411) found -[1826] Forked 4412 -[1825] Forked 4413 -(4412) found -(4413) found -[1824] Forked 4414 -[1823] Forked 4415 -(4414) found -(4415) found -[1822] Forked 4416 -[1821] Forked 4417 -(4416) found -(4417) found -[1820] Forked 4418 -[1819] Forked 4419 -(4418) found -(4419) found -[1818] Forked 4420 -[1817] Forked 4421 -(4420) found -(4421) found -[1816] Forked 4422 -[1815] Forked 4423 -(4422) found -(4423) found -[1814] Forked 4424 -(4424) found -[1813] Forked 4425 -(4425) found -[1812] Forked 4426 -(4426) found -[1811] Forked 4427 -(4427) found -[1810] Forked 4428 -(4428) found -[1809] Forked 4429 -(4429) found -[1808] Forked 4430 -(4430) found -[1807] Forked 4431 -(4431) found -[1806] Forked 4432 -(4432) found -[1805] Forked 4433 -(4433) found -[1804] Forked 4434 -(4434) found -[1803] Forked 4435 -(4435) found -[1802] Forked 4436 -(4436) found -[1801] Forked 4437 -(4437) found -[1800] Forked 4438 -(4438) found -[1799] Forked 4439 -(4439) found -[1798] Forked 4440 -(4440) found -[1797] Forked 4441 -(4441) found -[1796] Forked 4442 -(4442) found -[1795] Forked 4443 -(4443) found -[1794] Forked 4444 -(4444) found -[1793] Forked 4445 -(4445) found -[1792] Forked 4446 -(4446) found -[1791] Forked 4447 -(4447) found -[1790] Forked 4448 -(4448) found -[1789] Forked 4449 -(4449) found -[1788] Forked 4450 -(4450) found -[1787] Forked 4451 -(4451) found -[1786] Forked 4452 -(4452) found -[1785] Forked 4453 -(4453) found -[1784] Forked 4454 -(4454) found -[1783] Forked 4455 -(4455) found -[1782] Forked 4456 -(4456) found -[1781] Forked 4457 -(4457) found -[1780] Forked 4458 -(4458) found -[1779] Forked 4459 -(4459) found -[1778] Forked 4460 -[1777] Forked 4461 -(4460) found -(4461) found -[1776] Forked 4462 -[1775] Forked 4463 -(4462) found -(4463) found -[1774] Forked 4464 -[1773] Forked 4465 -(4464) found -(4465) found -[1772] Forked 4466 -[1771] Forked 4467 -(4466) found -(4467) found -[1770] Forked 4468 -[1769] Forked 4469 -(4468) found -(4469) found -[1768] Forked 4470 -[1767] Forked 4471 -(4470) found -(4471) found -[1766] Forked 4472 -[1765] Forked 4473 -(4472) found -(4473) found -[1764] Forked 4474 -[1763] Forked 4475 -(4474) found -(4475) found -[1762] Forked 4476 -[1761] Forked 4477 -(4476) found -(4477) found -[1760] Forked 4478 -[1759] Forked 4479 -(4478) found -(4479) found -[1758] Forked 4480 -[1757] Forked 4481 -(4480) found -(4481) found -[1756] Forked 4482 -[1755] Forked 4483 -(4482) found -(4483) found -[1754] Forked 4484 -[1753] Forked 4485 -(4484) found -(4485) found -[1752] Forked 4486 -[1751] Forked 4487 -(4486) found -(4487) found -[1750] Forked 4488 -[1749] Forked 4489 -(4488) found -(4489) found -[1748] Forked 4490 -[1747] Forked 4491 -(4490) found -(4491) found -[1746] Forked 4492 -[1745] Forked 4493 -(4492) found -(4493) found -[1744] Forked 4494 -[1743] Forked 4495 -(4494) found -(4495) found -[1742] Forked 4496 -[1741] Forked 4497 -(4496) found -(4497) found -[1740] Forked 4498 -[1739] Forked 4499 -(4498) found -(4499) found -[1738] Forked 4500 -[1737] Forked 4501 -(4500) found -(4501) found -[1736] Forked 4502 -[1735] Forked 4503 -(4502) found -(4503) found -[1734] Forked 4504 -[1733] Forked 4505 -(4504) found -(4505) found -[1732] Forked 4506 -[1731] Forked 4507 -(4506) found -(4507) found -[1730] Forked 4508 -[1729] Forked 4509 -(4508) found -(4509) found -[1728] Forked 4510 -[1727] Forked 4511 -(4510) found -(4511) found -[1726] Forked 4512 -[1725] Forked 4513 -(4512) found -(4513) found -[1724] Forked 4514 -[1723] Forked 4515 -(4514) found -(4515) found -[1722] Forked 4516 -[1721] Forked 4517 -(4516) found -(4517) found -[1720] Forked 4518 -[1719] Forked 4519 -(4518) found -(4519) found -[1718] Forked 4520 -[1717] Forked 4521 -(4520) found -(4521) found -[1716] Forked 4522 -[1715] Forked 4523 -(4522) found -(4523) found -[1714] Forked 4524 -[1713] Forked 4525 -(4524) found -(4525) found -[1712] Forked 4526 -[1711] Forked 4527 -(4526) found -(4527) found -[1710] Forked 4528 -[1709] Forked 4529 -(4528) found -(4529) found -[1708] Forked 4530 -[1707] Forked 4531 -(4530) found -(4531) found -[1706] Forked 4532 -[1705] Forked 4533 -(4532) found -(4533) found -[1704] Forked 4534 -[1703] Forked 4535 -(4534) found -(4535) found -[1702] Forked 4536 -[1701] Forked 4537 -(4536) found -(4537) found -[1700] Forked 4538 -[1699] Forked 4539 -(4538) found -(4539) found -[1698] Forked 4540 -[1697] Forked 4541 -(4540) found -(4541) found -[1696] Forked 4542 -[1695] Forked 4543 -(4542) found -(4543) found -[1694] Forked 4544 -[1693] Forked 4545 -(4544) found -(4545) found -[1692] Forked 4546 -[1691] Forked 4547 -(4546) found -(4547) found -[1690] Forked 4548 -[1689] Forked 4549 -(4548) found -(4549) found -[1688] Forked 4550 -[1687] Forked 4551 -(4550) found -(4551) found -[1686] Forked 4552 -(4552) found -[1685] Forked 4553 -(4553) found -[1684] Forked 4554 -(4554) found -[1683] Forked 4555 -(4555) found -[1682] Forked 4556 -(4556) found -[1681] Forked 4557 -(4557) found -[1680] Forked 4558 -(4558) found -[1679] Forked 4559 -(4559) found -[1678] Forked 4560 -(4560) found -[1677] Forked 4561 -(4561) found -[1676] Forked 4562 -(4562) found -[1675] Forked 4563 -(4563) found -[1674] Forked 4564 -(4564) found -[1673] Forked 4565 -(4565) found -[1672] Forked 4566 -(4566) found -[1671] Forked 4567 -(4567) found -[1670] Forked 4568 -(4568) found -[1669] Forked 4569 -(4569) found -[1668] Forked 4570 -(4570) found -[1667] Forked 4571 -(4571) found -[1666] Forked 4572 -(4572) found -[1665] Forked 4573 -(4573) found -[1664] Forked 4574 -(4574) found -[1663] Forked 4575 -(4575) found -[1662] Forked 4576 -(4576) found -[1661] Forked 4577 -(4577) found -[1660] Forked 4578 -(4578) found -[1659] Forked 4579 -(4579) found -[1658] Forked 4580 -(4580) found -[1657] Forked 4581 -(4581) found -[1656] Forked 4582 -(4582) found -[1655] Forked 4583 -(4583) found -[1654] Forked 4584 -[1653] Forked 4585 -(4584) found -(4585) found -[1652] Forked 4586 -[1651] Forked 4587 -(4586) found -(4587) found -[1650] Forked 4588 -[1649] Forked 4589 -(4588) found -(4589) found -[1648] Forked 4590 -[1647] Forked 4591 -(4590) found -(4591) found -[1646] Forked 4593 -[1645] Forked 4594 -(4593) found -(4594) found -[1644] Forked 4595 -[1643] Forked 4596 -(4595) found -(4596) found -[1642] Forked 4597 -[1641] Forked 4598 -(4597) found -(4598) found -[1640] Forked 4599 -[1639] Forked 4600 -(4599) found -(4600) found -[1638] Forked 4601 -[1637] Forked 4602 -(4601) found -(4602) found -[1636] Forked 4603 -[1635] Forked 4604 -(4603) found -(4604) found -[1634] Forked 4605 -[1633] Forked 4606 -(4605) found -(4606) found -[1632] Forked 4607 -[1631] Forked 4608 -(4607) found -(4608) found -[1630] Forked 4609 -[1629] Forked 4610 -(4609) found -(4610) found -[1628] Forked 4611 -[1627] Forked 4612 -(4611) found -(4612) found -[1626] Forked 4613 -[1625] Forked 4614 -(4613) found -(4614) found -[1624] Forked 4615 -[1623] Forked 4616 -(4615) found -(4616) found -[1622] Forked 4617 -[1621] Forked 4618 -(4617) found -(4618) found -[1620] Forked 4619 -[1619] Forked 4620 -(4619) found -(4620) found -[1618] Forked 4621 -[1617] Forked 4622 -(4621) found -(4622) found -[1616] Forked 4623 -[1615] Forked 4624 -(4623) found -(4624) found -[1614] Forked 4625 -[1613] Forked 4626 -(4625) found -(4626) found -[1612] Forked 4627 -[1611] Forked 4628 -(4627) found -(4628) found -[1610] Forked 4629 -[1609] Forked 4630 -(4629) found -(4630) found -[1608] Forked 4631 -[1607] Forked 4632 -(4631) found -(4632) found -[1606] Forked 4633 -(4633) found -[1605] Forked 4634 -(4634) found -[1604] Forked 4635 -(4635) found -[1603] Forked 4636 -(4636) found -[1602] Forked 4637 -(4637) found -[1601] Forked 4638 -(4638) found -[1600] Forked 4639 -(4639) found -[1599] Forked 4640 -(4640) found -[1598] Forked 4641 -(4641) found -[1597] Forked 4642 -(4642) found -[1596] Forked 4643 -(4643) found -[1595] Forked 4644 -(4644) found -[1594] Forked 4645 -(4645) found -[1593] Forked 4646 -(4646) found -[1592] Forked 4647 -(4647) found -[1591] Forked 4648 -(4648) found -[1590] Forked 4649 -(4649) found -[1589] Forked 4650 -(4650) found -[1588] Forked 4651 -(4651) found -[1587] Forked 4652 -(4652) found -[1586] Forked 4653 -(4653) found -[1585] Forked 4654 -(4654) found -[1584] Forked 4655 -(4655) found -[1583] Forked 4656 -(4656) found -[1582] Forked 4657 -(4657) found -[1581] Forked 4658 -(4658) found -[1580] Forked 4659 -(4659) found -[1579] Forked 4660 -(4660) found -[1578] Forked 4661 -(4661) found -[1577] Forked 4662 -(4662) found -[1576] Forked 4663 -[1575] Forked 4664 -(4664) found -(4663) found -[1574] Forked 4665 -(4665) found -[1573] Forked 4666 -(4666) found -[1572] Forked 4667 -(4667) found -[1571] Forked 4668 -(4668) found -[1570] Forked 4669 -(4669) found -[1569] Forked 4670 -(4670) found -[1568] Forked 4671 -(4671) found -[1567] Forked 4672 -(4672) found -[1566] Forked 4673 -(4673) found -[1565] Forked 4674 -(4674) found -[1564] Forked 4675 -(4675) found -[1563] Forked 4676 -(4676) found -[1562] Forked 4677 -(4677) found -[1561] Forked 4678 -(4678) found -[1560] Forked 4679 -(4679) found -[1559] Forked 4680 -(4680) found -[1558] Forked 4681 -(4681) found -[1557] Forked 4682 -(4682) found -[1556] Forked 4683 -(4683) found -[1555] Forked 4684 -(4684) found -[1554] Forked 4685 -(4685) found -[1553] Forked 4686 -(4686) found -[1552] Forked 4687 -(4687) found -[1551] Forked 4688 -(4688) found -[1550] Forked 4689 -(4689) found -[1549] Forked 4690 -(4690) found -[1548] Forked 4691 -(4691) found -[1547] Forked 4692 -(4692) found -[1546] Forked 4693 -(4693) found -[1545] Forked 4694 -(4694) found -[1544] Forked 4695 -(4695) found -[1543] Forked 4696 -(4696) found -[1542] Forked 4697 -(4697) found -[1541] Forked 4698 -(4698) found -[1540] Forked 4699 -(4699) found -[1539] Forked 4700 -(4700) found -[1538] Forked 4701 -(4701) found -[1537] Forked 4702 -(4702) found -[1536] Forked 4703 -(4703) found -[1535] Forked 4704 -(4704) found -[1534] Forked 4705 -(4705) found -[1533] Forked 4706 -(4706) found -[1532] Forked 4707 -(4707) found -[1531] Forked 4708 -(4708) found -[1530] Forked 4709 -(4709) found -[1529] Forked 4710 -(4710) found -[1528] Forked 4711 -(4711) found -[1527] Forked 4712 -(4712) found -[1526] Forked 4713 -(4713) found -[1525] Forked 4714 -(4714) found -[1524] Forked 4715 -(4715) found -[1523] Forked 4716 -(4716) found -[1522] Forked 4717 -(4717) found -[1521] Forked 4718 -(4718) found -[1520] Forked 4719 -(4719) found -[1519] Forked 4720 -(4720) found -[1518] Forked 4721 -(4721) found -[1517] Forked 4722 -(4722) found -[1516] Forked 4723 -(4723) found -[1515] Forked 4724 -(4724) found -[1514] Forked 4725 -(4725) found -[1513] Forked 4726 -(4726) found -[1512] Forked 4727 -(4727) found -[1511] Forked 4728 -(4728) found -[1510] Forked 4729 -(4729) found -[1509] Forked 4730 -(4730) found -[1508] Forked 4731 -(4731) found -[1507] Forked 4732 -(4732) found -[1506] Forked 4733 -(4733) found -[1505] Forked 4734 -(4734) found -[1504] Forked 4735 -(4735) found -[1503] Forked 4736 -[1502] Forked 4737 -(4736) found -(4737) found -[1501] Forked 4738 -[1500] Forked 4739 -(4738) found -(4739) found -[1499] Forked 4740 -[1498] Forked 4741 -(4740) found -(4741) found -[1497] Forked 4742 -[1496] Forked 4743 -(4742) found -(4743) found -[1495] Forked 4744 -[1494] Forked 4745 -(4744) found -(4745) found -[1493] Forked 4746 -[1492] Forked 4747 -(4746) found -(4747) found -[1491] Forked 4748 -[1490] Forked 4749 -(4748) found -(4749) found -[1489] Forked 4750 -[1488] Forked 4751 -(4750) found -(4751) found -[1487] Forked 4752 -[1486] Forked 4753 -(4752) found -(4753) found -[1485] Forked 4754 -[1484] Forked 4755 -(4754) found -(4755) found -[1483] Forked 4756 -[1482] Forked 4757 -(4756) found -(4757) found -[1481] Forked 4758 -[1480] Forked 4759 -(4758) found -(4759) found -[1479] Forked 4760 -[1478] Forked 4761 -(4760) found -(4761) found -[1477] Forked 4762 -[1476] Forked 4763 -(4762) found -(4763) found -[1475] Forked 4764 -[1474] Forked 4765 -(4764) found -(4765) found -[1473] Forked 4766 -[1472] Forked 4767 -(4766) found -(4767) found -[1471] Forked 4768 -[1470] Forked 4769 -(4768) found -(4769) found -[1469] Forked 4770 -[1468] Forked 4771 -(4770) found -(4771) found -[1467] Forked 4772 -[1466] Forked 4773 -(4772) found -(4773) found -[1465] Forked 4774 -[1464] Forked 4775 -(4774) found -(4775) found -[1463] Forked 4776 -[1462] Forked 4777 -(4776) found -(4777) found -[1461] Forked 4778 -[1460] Forked 4779 -(4778) found -(4779) found -[1459] Forked 4780 -(4780) found -[1458] Forked 4781 -(4781) found -[1457] Forked 4782 -(4782) found -[1456] Forked 4783 -(4783) found -[1455] Forked 4784 -(4784) found -[1454] Forked 4785 -(4785) found -[1453] Forked 4786 -(4786) found -[1452] Forked 4787 -(4787) found -[1451] Forked 4788 -(4788) found -[1450] Forked 4789 -(4789) found -[1449] Forked 4790 -(4790) found -[1448] Forked 4791 -(4791) found -[1447] Forked 4792 -(4792) found -[1446] Forked 4793 -(4793) found -[1445] Forked 4794 -(4794) found -[1444] Forked 4795 -(4795) found -[1443] Forked 4796 -(4796) found -[1442] Forked 4797 -(4797) found -[1441] Forked 4798 -(4798) found -[1440] Forked 4799 -(4799) found -[1439] Forked 4800 -(4800) found -[1438] Forked 4801 -(4801) found -[1437] Forked 4802 -(4802) found -[1436] Forked 4803 -(4803) found -[1435] Forked 4804 -(4804) found -[1434] Forked 4805 -(4805) found -[1433] Forked 4806 -(4806) found -[1432] Forked 4807 -(4807) found -[1431] Forked 4808 -(4808) found -[1430] Forked 4809 -(4809) found -[1429] Forked 4810 -(4810) found -[1428] Forked 4811 -(4811) found -[1427] Forked 4812 -(4812) found -[1426] Forked 4813 -(4813) found -[1425] Forked 4814 -(4814) found -[1424] Forked 4815 -(4815) found -[1423] Forked 4816 -[1422] Forked 4817 -(4816) found -(4817) found -[1421] Forked 4818 -[1420] Forked 4819 -(4818) found -(4819) found -[1419] Forked 4820 -(4820) found -[1418] Forked 4821 -[1417] Forked 4822 -(4821) found -(4822) found -[1416] Forked 4823 -[1415] Forked 4824 -(4823) found -(4824) found -[1414] Forked 4825 -[1413] Forked 4826 -(4825) found -(4826) found -[1412] Forked 4827 -[1411] Forked 4828 -(4827) found -(4828) found -[1410] Forked 4829 -[1409] Forked 4830 -(4829) found -(4830) found -[1408] Forked 4831 -[1407] Forked 4832 -(4831) found -(4832) found -[1406] Forked 4833 -[1405] Forked 4834 -(4833) found -(4834) found -[1404] Forked 4835 -[1403] Forked 4836 -(4835) found -(4836) found -[1402] Forked 4837 -[1401] Forked 4838 -(4837) found -(4838) found -[1400] Forked 4839 -[1399] Forked 4840 -(4839) found -(4840) found -[1398] Forked 4841 -[1397] Forked 4842 -(4841) found -(4842) found -[1396] Forked 4843 -[1395] Forked 4844 -(4843) found -(4844) found -[1394] Forked 4845 -[1393] Forked 4846 -(4845) found -(4846) found -[1392] Forked 4847 -[1391] Forked 4848 -(4847) found -(4848) found -[1390] Forked 4849 -[1389] Forked 4850 -(4849) found -(4850) found -[1388] Forked 4851 -[1387] Forked 4852 -(4851) found -(4852) found -[1386] Forked 4853 -[1385] Forked 4854 -(4853) found -(4854) found -[1384] Forked 4855 -[1383] Forked 4856 -(4855) found -(4856) found -[1382] Forked 4857 -[1381] Forked 4858 -(4857) found -(4858) found -[1380] Forked 4859 -(4859) found -[1379] Forked 4860 -[1378] Forked 4861 -(4860) found -(4861) found -[1377] Forked 4862 -[1376] Forked 4863 -(4862) found -(4863) found -[1375] Forked 4864 -[1374] Forked 4865 -(4864) found -(4865) found -[1373] Forked 4866 -[1372] Forked 4867 -(4866) found -(4867) found -[1371] Forked 4868 -[1370] Forked 4869 -(4868) found -(4869) found -[1369] Forked 4870 -[1368] Forked 4871 -(4870) found -(4871) found -[1367] Forked 4872 -[1366] Forked 4873 -(4872) found -(4873) found -[1365] Forked 4874 -[1364] Forked 4875 -(4874) found -(4875) found -[1363] Forked 4876 -[1362] Forked 4877 -(4876) found -(4877) found -[1361] Forked 4878 -[1360] Forked 4879 -(4878) found -(4879) found -[1359] Forked 4880 -[1358] Forked 4881 -(4880) found -(4881) found -[1357] Forked 4882 -[1356] Forked 4883 -(4882) found -(4883) found -[1355] Forked 4884 -[1354] Forked 4885 -(4884) found -(4885) found -[1353] Forked 4886 -[1352] Forked 4887 -(4886) found -(4887) found -[1351] Forked 4888 -[1350] Forked 4889 -(4888) found -(4889) found -[1349] Forked 4890 -[1348] Forked 4891 -(4890) found -(4891) found -[1347] Forked 4892 -[1346] Forked 4893 -(4892) found -(4893) found -[1345] Forked 4894 -[1344] Forked 4895 -(4894) found -(4895) found -[1343] Forked 4896 -[1342] Forked 4897 -(4896) found -(4897) found -[1341] Forked 4898 -[1340] Forked 4899 -(4898) found -(4899) found -[1339] Forked 4900 -[1338] Forked 4901 -(4900) found -(4901) found -[1337] Forked 4902 -[1336] Forked 4903 -(4902) found -(4903) found -[1335] Forked 4904 -[1334] Forked 4905 -(4904) found -(4905) found -[1333] Forked 4906 -[1332] Forked 4907 -(4906) found -(4907) found -[1331] Forked 4908 -[1330] Forked 4909 -(4908) found -(4909) found -[1329] Forked 4910 -[1328] Forked 4911 -(4910) found -(4911) found -[1327] Forked 4912 -[1326] Forked 4913 -(4912) found -(4913) found -[1325] Forked 4914 -[1324] Forked 4915 -(4914) found -(4915) found -[1323] Forked 4916 -[1322] Forked 4917 -(4916) found -(4917) found -[1321] Forked 4918 -[1320] Forked 4919 -(4918) found -(4919) found -[1319] Forked 4920 -[1318] Forked 4921 -(4920) found -(4921) found -[1317] Forked 4922 -[1316] Forked 4923 -(4922) found -(4923) found -[1315] Forked 4924 -[1314] Forked 4925 -(4924) found -(4925) found -[1313] Forked 4926 -[1312] Forked 4927 -(4926) found -(4927) found -[1311] Forked 4928 -[1310] Forked 4929 -(4928) found -(4929) found -[1309] Forked 4930 -[1308] Forked 4931 -(4930) found -(4931) found -[1307] Forked 4932 -[1306] Forked 4933 -(4932) found -(4933) found -[1305] Forked 4934 -[1304] Forked 4935 -(4934) found -(4935) found -[1303] Forked 4936 -[1302] Forked 4937 -(4936) found -(4937) found -[1301] Forked 4938 -[1300] Forked 4939 -(4938) found -(4939) found -[1299] Forked 4940 -[1298] Forked 4941 -(4940) found -(4941) found -[1297] Forked 4942 -[1296] Forked 4943 -(4942) found -(4943) found -[1295] Forked 4944 -[1294] Forked 4945 -(4944) found -(4945) found -[1293] Forked 4946 -[1292] Forked 4947 -(4946) found -(4947) found -[1291] Forked 4948 -[1290] Forked 4949 -(4948) found -(4949) found -[1289] Forked 4950 -[1288] Forked 4951 -(4950) found -(4951) found -[1287] Forked 4952 -[1286] Forked 4953 -(4952) found -(4953) found -[1285] Forked 4954 -[1284] Forked 4955 -(4954) found -(4955) found -[1283] Forked 4956 -[1282] Forked 4957 -(4956) found -(4957) found -[1281] Forked 4958 -[1280] Forked 4959 -(4958) found -(4959) found -[1279] Forked 4960 -[1278] Forked 4961 -(4960) found -(4961) found -[1277] Forked 4962 -[1276] Forked 4963 -(4962) found -(4963) found -[1275] Forked 4964 -[1274] Forked 4965 -(4964) found -(4965) found -[1273] Forked 4966 -[1272] Forked 4967 -(4966) found -(4967) found -[1271] Forked 4968 -[1270] Forked 4969 -(4968) found -(4969) found -[1269] Forked 4970 -[1268] Forked 4971 -(4970) found -(4971) found -[1267] Forked 4972 -[1266] Forked 4973 -(4972) found -(4973) found -[1265] Forked 4974 -[1264] Forked 4975 -(4974) found -(4975) found -[1263] Forked 4976 -[1262] Forked 4977 -(4976) found -(4977) found -[1261] Forked 4978 -[1260] Forked 4979 -(4978) found -(4979) found -[1259] Forked 4980 -[1258] Forked 4981 -(4980) found -(4981) found -[1257] Forked 4982 -[1256] Forked 4983 -(4982) found -(4983) found -[1255] Forked 4984 -[1254] Forked 4985 -(4984) found -(4985) found -[1253] Forked 4986 -[1252] Forked 4987 -(4986) found -(4987) found -[1251] Forked 4988 -[1250] Forked 4989 -(4988) found -(4989) found -[1249] Forked 4990 -[1248] Forked 4991 -(4990) found -(4991) found -[1247] Forked 4992 -[1246] Forked 4993 -(4992) found -(4993) found -[1245] Forked 4994 -[1244] Forked 4995 -(4994) found -(4995) found -[1243] Forked 4996 -[1242] Forked 4997 -(4996) found -(4997) found -[1241] Forked 4998 -[1240] Forked 4999 -(4998) found -(4999) found -[1239] Forked 5000 -[1238] Forked 5001 -(5000) found -(5001) found -[1237] Forked 5002 -[1236] Forked 5003 -(5002) found -(5003) found -[1235] Forked 5004 -[1234] Forked 5005 -(5004) found -(5005) found -[1233] Forked 5006 -[1232] Forked 5007 -(5006) found -(5007) found -[1231] Forked 5008 -[1230] Forked 5009 -(5008) found -(5009) found -[1229] Forked 5010 -[1228] Forked 5011 -(5010) found -(5011) found -[1227] Forked 5012 -[1226] Forked 5013 -(5012) found -(5013) found -[1225] Forked 5014 -[1224] Forked 5015 -(5014) found -(5015) found -[1223] Forked 5016 -[1222] Forked 5017 -(5016) found -(5017) found -[1221] Forked 5018 -[1220] Forked 5019 -(5018) found -(5019) found -[1219] Forked 5020 -[1218] Forked 5021 -(5020) found -(5021) found -[1217] Forked 5022 -[1216] Forked 5023 -(5022) found -(5023) found -[1215] Forked 5024 -[1214] Forked 5025 -(5024) found -(5025) found -[1213] Forked 5026 -[1212] Forked 5027 -(5026) found -(5027) found -[1211] Forked 5028 -[1210] Forked 5029 -(5028) found -(5029) found -[1209] Forked 5030 -[1208] Forked 5031 -(5030) found -(5031) found -[1207] Forked 5032 -[1206] Forked 5033 -(5032) found -(5033) found -[1205] Forked 5034 -[1204] Forked 5035 -(5034) found -(5035) found -[1203] Forked 5036 -[1202] Forked 5037 -(5036) found -(5037) found -[1201] Forked 5038 -[1200] Forked 5039 -(5038) found -(5039) found -[1199] Forked 5040 -[1198] Forked 5041 -(5040) found -(5041) found -[1197] Forked 5042 -(5042) found -[1196] Forked 5043 -(5043) found -[1195] Forked 5044 -(5044) found -[1194] Forked 5045 -(5045) found -[1193] Forked 5046 -(5046) found -[1192] Forked 5047 -(5047) found -[1191] Forked 5048 -(5048) found -[1190] Forked 5049 -(5049) found -[1189] Forked 5050 -(5050) found -[1188] Forked 5051 -(5051) found -[1187] Forked 5052 -(5052) found -[1186] Forked 5053 -(5053) found -[1185] Forked 5054 -(5054) found -[1184] Forked 5055 -(5055) found -[1183] Forked 5056 -(5056) found -[1182] Forked 5057 -(5057) found -[1181] Forked 5058 -(5058) found -[1180] Forked 5059 -(5059) found -[1179] Forked 5060 -(5060) found -[1178] Forked 5061 -(5061) found -[1177] Forked 5062 -(5062) found -[1176] Forked 5063 -(5063) found -[1175] Forked 5064 -(5064) found -[1174] Forked 5065 -(5065) found -[1173] Forked 5066 -(5066) found -[1172] Forked 5067 -(5067) found -[1171] Forked 5068 -(5068) found -[1170] Forked 5069 -(5069) found -[1169] Forked 5070 -(5070) found -[1168] Forked 5071 -(5071) found -[1167] Forked 5072 -(5072) found -[1166] Forked 5073 -(5073) found -[1165] Forked 5074 -(5074) found -[1164] Forked 5075 -(5075) found -[1163] Forked 5076 -[1162] Forked 5077 -(5076) found -(5077) found -[1161] Forked 5078 -[1160] Forked 5079 -(5078) found -(5079) found -[1159] Forked 5080 -[1158] Forked 5081 -(5080) found -(5081) found -[1157] Forked 5082 -[1156] Forked 5083 -(5082) found -(5083) found -[1155] Forked 5084 -[1154] Forked 5085 -(5084) found -(5085) found -[1153] Forked 5086 -[1152] Forked 5087 -(5086) found -(5087) found -[1151] Forked 5088 -[1150] Forked 5089 -(5088) found -(5089) found -[1149] Forked 5090 -[1148] Forked 5091 -(5090) found -(5091) found -[1147] Forked 5092 -[1146] Forked 5093 -(5092) found -(5093) found -[1145] Forked 5094 -[1144] Forked 5095 -(5094) found -(5095) found -[1143] Forked 5096 -[1142] Forked 5097 -(5096) found -(5097) found -[1141] Forked 5098 -[1140] Forked 5099 -(5098) found -(5099) found -[1139] Forked 5100 -[1138] Forked 5101 -(5100) found -(5101) found -[1137] Forked 5102 -[1136] Forked 5103 -(5102) found -(5103) found -[1135] Forked 5104 -[1134] Forked 5105 -(5104) found -(5105) found -[1133] Forked 5106 -[1132] Forked 5107 -(5106) found -(5107) found -[1131] Forked 5108 -[1130] Forked 5109 -(5108) found -(5109) found -[1129] Forked 5110 -[1128] Forked 5111 -(5110) found -(5111) found -[1127] Forked 5112 -[1126] Forked 5113 -(5112) found -(5113) found -[1125] Forked 5114 -[1124] Forked 5115 -(5114) found -(5115) found -[1123] Forked 5116 -[1122] Forked 5117 -(5116) found -(5117) found -[1121] Forked 5118 -[1120] Forked 5119 -(5118) found -(5119) found -[1119] Forked 5120 -[1118] Forked 5121 -(5120) found -(5121) found -[1117] Forked 5122 -[1116] Forked 5123 -(5122) found -(5123) found -[1115] Forked 5124 -[1114] Forked 5125 -(5124) found -(5125) found -[1113] Forked 5126 -[1112] Forked 5127 -(5126) found -(5127) found -[1111] Forked 5128 -[1110] Forked 5129 -(5128) found -(5129) found -[1109] Forked 5130 -[1108] Forked 5131 -(5130) found -(5131) found -[1107] Forked 5132 -[1106] Forked 5133 -(5132) found -(5133) found -[1105] Forked 5134 -[1104] Forked 5135 -(5134) found -(5135) found -[1103] Forked 5136 -[1102] Forked 5137 -(5136) found -(5137) found -[1101] Forked 5138 -[1100] Forked 5139 -(5138) found -(5139) found -[1099] Forked 5140 -[1098] Forked 5141 -(5140) found -(5141) found -[1097] Forked 5142 -[1096] Forked 5143 -(5142) found -(5143) found -[1095] Forked 5144 -[1094] Forked 5145 -(5144) found -(5145) found -[1093] Forked 5146 -[1092] Forked 5147 -(5146) found -(5147) found -[1091] Forked 5148 -[1090] Forked 5149 -(5148) found -(5149) found -[1089] Forked 5150 -[1088] Forked 5151 -(5150) found -(5151) found -[1087] Forked 5152 -[1086] Forked 5153 -(5152) found -(5153) found -[1085] Forked 5154 -[1084] Forked 5155 -(5154) found -(5155) found -[1083] Forked 5156 -[1082] Forked 5157 -(5156) found -(5157) found -[1081] Forked 5158 -[1080] Forked 5159 -(5158) found -(5159) found -[1079] Forked 5160 -[1078] Forked 5161 -(5160) found -(5161) found -[1077] Forked 5162 -[1076] Forked 5163 -(5162) found -(5163) found -[1075] Forked 5164 -[1074] Forked 5165 -(5164) found -(5165) found -[1073] Forked 5166 -(5166) found -[1072] Forked 5167 -(5167) found -[1071] Forked 5168 -(5168) found -[1070] Forked 5169 -(5169) found -[1069] Forked 5170 -(5170) found -[1068] Forked 5171 -(5171) found -[1067] Forked 5172 -(5172) found -[1066] Forked 5173 -(5173) found -[1065] Forked 5174 -(5174) found -[1064] Forked 5175 -(5175) found -[1063] Forked 5176 -(5176) found -[1062] Forked 5177 -(5177) found -[1061] Forked 5178 -(5178) found -[1060] Forked 5179 -(5179) found -[1059] Forked 5180 -(5180) found -[1058] Forked 5181 -(5181) found -[1057] Forked 5182 -(5182) found -[1056] Forked 5183 -(5183) found -[1055] Forked 5184 -(5184) found -[1054] Forked 5185 -(5185) found -[1053] Forked 5186 -(5186) found -[1052] Forked 5187 -(5187) found -[1051] Forked 5188 -(5188) found -[1050] Forked 5189 -(5189) found -[1049] Forked 5190 -(5190) found -[1048] Forked 5191 -(5191) found -[1047] Forked 5192 -(5192) found -[1046] Forked 5193 -(5193) found -[1045] Forked 5194 -(5194) found -[1044] Forked 5195 -(5195) found -[1043] Forked 5196 -(5196) found -[1042] Forked 5197 -(5197) found -[1041] Forked 5198 -(5198) found -[1040] Forked 5199 -(5199) found -[1039] Forked 5200 -(5200) found -[1038] Forked 5201 -[1037] Forked 5202 -(5201) found -(5202) found -[1036] Forked 5203 -[1035] Forked 5204 -(5203) found -(5204) found -[1034] Forked 5205 -[1033] Forked 5207 -(5205) found -(5207) found -[1032] Forked 5208 -(5208) found -[1031] Forked 5209 -(5209) found -[1030] Forked 5210 -(5210) found -[1029] Forked 5211 -(5211) found -[1028] Forked 5212 -(5212) found -[1027] Forked 5213 -(5213) found -[1026] Forked 5214 -(5214) found -[1025] Forked 5215 -(5215) found -[1024] Forked 5216 -(5216) found -[1023] Forked 5217 -(5217) found -[1022] Forked 5218 -(5218) found -[1021] Forked 5219 -(5219) found -[1020] Forked 5220 -(5220) found -[1019] Forked 5221 -(5221) found -[1018] Forked 5222 -(5222) found -[1017] Forked 5223 -(5223) found -[1016] Forked 5224 -(5224) found -[1015] Forked 5225 -(5225) found -[1014] Forked 5226 -(5226) found -[1013] Forked 5227 -(5227) found -[1012] Forked 5228 -(5228) found -[1011] Forked 5229 -(5229) found -[1010] Forked 5230 -(5230) found -[1009] Forked 5231 -(5231) found -[1008] Forked 5232 -(5232) found -[1007] Forked 5233 -(5233) found -[1006] Forked 5234 -(5234) found -[1005] Forked 5235 -(5235) found -[1004] Forked 5236 -(5236) found -[1003] Forked 5237 -(5237) found -[1002] Forked 5238 -(5238) found -[1001] Forked 5239 -(5239) found -[1000] Forked 5240 -(5240) found -[999] Forked 5241 -(5241) found -[998] Forked 5242 -(5242) found -[997] Forked 5243 -(5243) found -[996] Forked 5244 -(5244) found -[995] Forked 5245 -(5245) found -[994] Forked 5246 -(5246) found -[993] Forked 5247 -(5247) found -[992] Forked 5248 -(5248) found -[991] Forked 5249 -(5249) found -[990] Forked 5250 -(5250) found -[989] Forked 5251 -(5251) found -[988] Forked 5252 -(5252) found -[987] Forked 5253 -(5253) found -[986] Forked 5254 -(5254) found -[985] Forked 5255 -(5255) found -[984] Forked 5256 -(5256) found -[983] Forked 5257 -(5257) found -[982] Forked 5258 -(5258) found -[981] Forked 5259 -(5259) found -[980] Forked 5260 -(5260) found -[979] Forked 5261 -(5261) found -[978] Forked 5262 -(5262) found -[977] Forked 5263 -(5263) found -[976] Forked 5264 -(5264) found -[975] Forked 5265 -(5265) found -[974] Forked 5266 -(5266) found -[973] Forked 5267 -(5267) found -[972] Forked 5268 -(5268) found -[971] Forked 5269 -(5269) found -[970] Forked 5270 -(5270) found -[969] Forked 5271 -(5271) found -[968] Forked 5272 -(5272) found -[967] Forked 5273 -(5273) found -[966] Forked 5274 -(5274) found -[965] Forked 5275 -[964] Forked 5276 -(5275) found -(5276) found -[963] Forked 5277 -[962] Forked 5278 -(5277) found -(5278) found -[961] Forked 5279 -[960] Forked 5280 -(5279) found -(5280) found -[959] Forked 5281 -[958] Forked 5282 -(5281) found -(5282) found -[957] Forked 5283 -[956] Forked 5284 -(5283) found -(5284) found -[955] Forked 5285 -[954] Forked 5286 -(5285) found -(5286) found -[953] Forked 5287 -[952] Forked 5288 -(5287) found -(5288) found -[951] Forked 5289 -[950] Forked 5290 -(5289) found -(5290) found -[949] Forked 5291 -[948] Forked 5292 -(5291) found -(5292) found -[947] Forked 5293 -[946] Forked 5294 -(5293) found -(5294) found -[945] Forked 5295 -[944] Forked 5296 -(5295) found -(5296) found -[943] Forked 5297 -[942] Forked 5298 -(5297) found -(5298) found -[941] Forked 5299 -[940] Forked 5300 -(5299) found -(5300) found -[939] Forked 5301 -[938] Forked 5302 -(5301) found -(5302) found -[937] Forked 5303 -[936] Forked 5304 -(5303) found -(5304) found -[935] Forked 5305 -[934] Forked 5306 -(5305) found -(5306) found -[933] Forked 5307 -[932] Forked 5308 -(5307) found -(5308) found -[931] Forked 5309 -[930] Forked 5310 -(5309) found -(5310) found -[929] Forked 5311 -[928] Forked 5312 -(5311) found -(5312) found -[927] Forked 5313 -[926] Forked 5314 -(5313) found -(5314) found -[925] Forked 5315 -[924] Forked 5316 -(5315) found -(5316) found -[923] Forked 5317 -(5317) found -[922] Forked 5318 -(5318) found -[921] Forked 5319 -(5319) found -[920] Forked 5320 -(5320) found -[919] Forked 5321 -(5321) found -[918] Forked 5322 -(5322) found -[917] Forked 5323 -(5323) found -[916] Forked 5324 -(5324) found -[915] Forked 5325 -(5325) found -[914] Forked 5326 -(5326) found -[913] Forked 5327 -(5327) found -[912] Forked 5328 -(5328) found -[911] Forked 5329 -(5329) found -[910] Forked 5330 -(5330) found -[909] Forked 5331 -(5331) found -[908] Forked 5332 -(5332) found -[907] Forked 5333 -(5333) found -[906] Forked 5334 -(5334) found -[905] Forked 5335 -(5335) found -[904] Forked 5336 -(5336) found -[903] Forked 5337 -(5337) found -[902] Forked 5338 -(5338) found -[901] Forked 5339 -(5339) found -[900] Forked 5340 -(5340) found -[899] Forked 5341 -(5341) found -[898] Forked 5342 -(5342) found -[897] Forked 5343 -(5343) found -[896] Forked 5344 -(5344) found -[895] Forked 5345 -(5345) found -[894] Forked 5346 -(5346) found -[893] Forked 5347 -(5347) found -[892] Forked 5348 -(5348) found -[891] Forked 5349 -(5349) found -[890] Forked 5350 -(5350) found -[889] Forked 5351 -(5351) found -[888] Forked 5352 -(5352) found -[887] Forked 5353 -[886] Forked 5354 -(5353) found -(5354) found -[885] Forked 5355 -[884] Forked 5356 -(5355) found -(5356) found -[883] Forked 5357 -[882] Forked 5358 -(5357) found -(5358) found -[881] Forked 5359 -[880] Forked 5360 -(5359) found -(5360) found -[879] Forked 5361 -[878] Forked 5362 -(5361) found -(5362) found -[877] Forked 5363 -[876] Forked 5364 -(5363) found -(5364) found -[875] Forked 5365 -[874] Forked 5366 -(5365) found -(5366) found -[873] Forked 5367 -(5367) found -[872] Forked 5368 -(5368) found -[871] Forked 5369 -[870] Forked 5370 -(5369) found -(5370) found -[869] Forked 5371 -[868] Forked 5372 -(5371) found -(5372) found -[867] Forked 5373 -[866] Forked 5374 -(5373) found -(5374) found -[865] Forked 5375 -[864] Forked 5376 -(5375) found -(5376) found -[863] Forked 5377 -[862] Forked 5378 -(5377) found -(5378) found -[861] Forked 5379 -[860] Forked 5380 -(5379) found -(5380) found -[859] Forked 5381 -[858] Forked 5382 -(5381) found -(5382) found -[857] Forked 5383 -[856] Forked 5384 -(5383) found -(5384) found -[855] Forked 5385 -[854] Forked 5386 -(5385) found -(5386) found -[853] Forked 5387 -[852] Forked 5388 -(5387) found -(5388) found -[851] Forked 5389 -[850] Forked 5390 -(5389) found -(5390) found -[849] Forked 5391 -[848] Forked 5392 -(5391) found -(5392) found -[847] Forked 5393 -[846] Forked 5394 -(5393) found -(5394) found -[845] Forked 5395 -[844] Forked 5396 -(5395) found -(5396) found -[843] Forked 5397 -[842] Forked 5398 -(5397) found -(5398) found -[841] Forked 5399 -[840] Forked 5400 -(5399) found -(5400) found -[839] Forked 5401 -[838] Forked 5402 -(5401) found -(5402) found -[837] Forked 5403 -[836] Forked 5404 -(5403) found -(5404) found -[835] Forked 5405 -[834] Forked 5406 -(5405) found -(5406) found -[833] Forked 5407 -[832] Forked 5408 -(5407) found -(5408) found -[831] Forked 5409 -[830] Forked 5410 -(5409) found -(5410) found -[829] Forked 5411 -[828] Forked 5412 -(5411) found -(5412) found -[827] Forked 5413 -[826] Forked 5414 -(5414) found -(5413) found -[825] Forked 5415 -(5415) found -[824] Forked 5416 -(5416) found -[823] Forked 5417 -(5417) found -[822] Forked 5418 -(5418) found -[821] Forked 5419 -(5419) found -[820] Forked 5420 -(5420) found -[819] Forked 5421 -(5421) found -[818] Forked 5422 -(5422) found -[817] Forked 5423 -(5423) found -[816] Forked 5424 -(5424) found -[815] Forked 5425 -(5425) found -[814] Forked 5426 -(5426) found -[813] Forked 5427 -(5427) found -[812] Forked 5428 -(5428) found -[811] Forked 5429 -(5429) found -[810] Forked 5430 -(5430) found -[809] Forked 5431 -(5431) found -[808] Forked 5432 -(5432) found -[807] Forked 5433 -(5433) found -[806] Forked 5434 -(5434) found -[805] Forked 5435 -(5435) found -[804] Forked 5436 -(5436) found -[803] Forked 5437 -(5437) found -[802] Forked 5438 -(5438) found -[801] Forked 5439 -(5439) found -[800] Forked 5440 -(5440) found -[799] Forked 5441 -(5441) found -[798] Forked 5442 -(5442) found -[797] Forked 5443 -(5443) found -[796] Forked 5444 -(5444) found -[795] Forked 5445 -(5445) found -[794] Forked 5446 -(5446) found -[793] Forked 5447 -(5447) found -[792] Forked 5448 -(5448) found -[791] Forked 5449 -(5449) found -[790] Forked 5450 -(5450) found -[789] Forked 5451 -(5451) found -[788] Forked 5452 -(5452) found -[787] Forked 5453 -(5453) found -[786] Forked 5454 -(5454) found -[785] Forked 5455 -(5455) found -[784] Forked 5456 -(5456) found -[783] Forked 5457 -(5457) found -[782] Forked 5458 -(5458) found -[781] Forked 5459 -(5459) found -[780] Forked 5460 -(5460) found -[779] Forked 5461 -(5461) found -[778] Forked 5462 -(5462) found -[777] Forked 5463 -(5463) found -[776] Forked 5464 -(5464) found -[775] Forked 5465 -(5465) found -[774] Forked 5466 -(5466) found -[773] Forked 5467 -(5467) found -[772] Forked 5468 -(5468) found -[771] Forked 5469 -(5469) found -[770] Forked 5470 -(5470) found -[769] Forked 5471 -(5471) found -[768] Forked 5472 -[767] Forked 5473 -(5472) found -(5473) found -[766] Forked 5474 -[765] Forked 5475 -(5474) found -(5475) found -[764] Forked 5476 -[763] Forked 5477 -(5476) found -(5477) found -[762] Forked 5478 -[761] Forked 5479 -(5478) found -(5479) found -[760] Forked 5480 -[759] Forked 5481 -(5480) found -(5481) found -[758] Forked 5482 -[757] Forked 5483 -(5482) found -(5483) found -[756] Forked 5484 -[755] Forked 5485 -(5484) found -(5485) found -[754] Forked 5486 -[753] Forked 5487 -(5486) found -(5487) found -[752] Forked 5488 -[751] Forked 5489 -(5488) found -(5489) found -[750] Forked 5490 -[749] Forked 5491 -(5490) found -(5491) found -[748] Forked 5492 -[747] Forked 5493 -(5492) found -(5493) found -[746] Forked 5494 -[745] Forked 5495 -(5494) found -(5495) found -[744] Forked 5496 -[743] Forked 5497 -(5496) found -(5497) found -[742] Forked 5498 -[741] Forked 5499 -(5498) found -(5499) found -[740] Forked 5500 -[739] Forked 5501 -(5500) found -(5501) found -[738] Forked 5502 -[737] Forked 5503 -(5502) found -(5503) found -[736] Forked 5504 -[735] Forked 5505 -(5504) found -(5505) found -[734] Forked 5506 -[733] Forked 5507 -(5506) found -(5507) found -[732] Forked 5508 -[731] Forked 5509 -(5508) found -(5509) found -[730] Forked 5510 -[729] Forked 5511 -(5510) found -(5511) found -[728] Forked 5512 -[727] Forked 5513 -(5512) found -(5513) found -[726] Forked 5514 -[725] Forked 5515 -(5514) found -(5515) found -[724] Forked 5516 -[723] Forked 5517 -(5516) found -(5517) found -[722] Forked 5518 -[721] Forked 5519 -(5518) found -(5519) found -[720] Forked 5520 -[719] Forked 5521 -(5520) found -(5521) found -[718] Forked 5522 -[717] Forked 5523 -(5522) found -(5523) found -[716] Forked 5524 -[715] Forked 5525 -(5524) found -(5525) found -[714] Forked 5526 -[713] Forked 5527 -(5526) found -(5527) found -[712] Forked 5528 -[711] Forked 5529 -(5528) found -(5529) found -[710] Forked 5530 -[709] Forked 5531 -(5530) found -(5531) found -[708] Forked 5532 -[707] Forked 5533 -(5532) found -(5533) found -[706] Forked 5534 -[705] Forked 5535 -(5534) found -(5535) found -[704] Forked 5536 -[703] Forked 5537 -(5536) found -(5537) found -[702] Forked 5538 -[701] Forked 5539 -(5538) found -(5539) found -[700] Forked 5540 -[699] Forked 5541 -(5540) found -(5541) found -[698] Forked 5542 -[697] Forked 5543 -(5542) found -(5543) found -[696] Forked 5544 -[695] Forked 5545 -(5544) found -(5545) found -[694] Forked 5546 -[693] Forked 5547 -(5546) found -(5547) found -[692] Forked 5548 -[691] Forked 5549 -(5548) found -(5549) found -[690] Forked 5550 -[689] Forked 5551 -(5550) found -(5551) found -[688] Forked 5552 -[687] Forked 5553 -(5552) found -(5553) found -[686] Forked 5554 -[685] Forked 5555 -(5554) found -(5555) found -[684] Forked 5556 -[683] Forked 5557 -(5556) found -(5557) found -[682] Forked 5558 -[681] Forked 5559 -(5558) found -(5559) found -[680] Forked 5560 -[679] Forked 5561 -(5560) found -(5561) found -[678] Forked 5562 -[677] Forked 5563 -(5562) found -(5563) found -[676] Forked 5564 -(5564) found -[675] Forked 5565 -(5565) found -[674] Forked 5566 -(5566) found -[673] Forked 5567 -(5567) found -[672] Forked 5568 -(5568) found -[671] Forked 5569 -(5569) found -[670] Forked 5570 -(5570) found -[669] Forked 5571 -(5571) found -[668] Forked 5572 -(5572) found -[667] Forked 5573 -(5573) found -[666] Forked 5574 -(5574) found -[665] Forked 5575 -(5575) found -[664] Forked 5576 -(5576) found -[663] Forked 5577 -(5577) found -[662] Forked 5578 -(5578) found -[661] Forked 5579 -(5579) found -[660] Forked 5580 -(5580) found -[659] Forked 5581 -(5581) found -[658] Forked 5582 -(5582) found -[657] Forked 5583 -(5583) found -[656] Forked 5584 -(5584) found -[655] Forked 5585 -(5585) found -[654] Forked 5586 -(5586) found -[653] Forked 5587 -(5587) found -[652] Forked 5588 -(5588) found -[651] Forked 5589 -(5589) found -[650] Forked 5590 -(5590) found -[649] Forked 5591 -(5591) found -[648] Forked 5592 -(5592) found -[647] Forked 5593 -(5593) found -[646] Forked 5594 -(5594) found -[645] Forked 5595 -(5595) found -[644] Forked 5596 -(5596) found -[643] Forked 5597 -(5597) found -[642] Forked 5598 -(5598) found -[641] Forked 5599 -(5599) found -[640] Forked 5600 -(5600) found -[639] Forked 5601 -[638] Forked 5602 -(5601) found -(5602) found -[637] Forked 5603 -[636] Forked 5604 -(5603) found -(5604) found -[635] Forked 5605 -[634] Forked 5606 -(5605) found -(5606) found -[633] Forked 5607 -[632] Forked 5608 -(5607) found -(5608) found -[631] Forked 5609 -[630] Forked 5610 -(5609) found -(5610) found -[629] Forked 5611 -[628] Forked 5612 -(5611) found -(5612) found -[627] Forked 5613 -[626] Forked 5614 -(5613) found -(5614) found -[625] Forked 5615 -[624] Forked 5616 -(5615) found -(5616) found -[623] Forked 5617 -[622] Forked 5618 -(5617) found -(5618) found -[621] Forked 5619 -[620] Forked 5620 -(5619) found -(5620) found -[619] Forked 5621 -[618] Forked 5622 -(5621) found -(5622) found -[617] Forked 5623 -[616] Forked 5624 -(5623) found -(5624) found -[615] Forked 5625 -[614] Forked 5626 -(5625) found -(5626) found -[613] Forked 5627 -[612] Forked 5628 -(5627) found -(5628) found -[611] Forked 5629 -[610] Forked 5630 -(5629) found -(5630) found -[609] Forked 5631 -[608] Forked 5632 -(5631) found -(5632) found -[607] Forked 5633 -[606] Forked 5634 -(5633) found -(5634) found -[605] Forked 5635 -[604] Forked 5636 -(5635) found -(5636) found -[603] Forked 5637 -[602] Forked 5638 -(5637) found -(5638) found -[601] Forked 5639 -[600] Forked 5640 -(5639) found -(5640) found -[599] Forked 5641 -[598] Forked 5642 -(5641) found -(5642) found -[597] Forked 5643 -[596] Forked 5644 -(5643) found -(5644) found -[595] Forked 5645 -[594] Forked 5646 -(5645) found -(5646) found -[593] Forked 5647 -[592] Forked 5648 -(5647) found -(5648) found -[591] Forked 5649 -[590] Forked 5650 -(5649) found -(5650) found -[589] Forked 5651 -[588] Forked 5652 -(5651) found -(5652) found -[587] Forked 5653 -[586] Forked 5654 -(5653) found -(5654) found -[585] Forked 5655 -[584] Forked 5656 -(5655) found -(5656) found -[583] Forked 5657 -[582] Forked 5658 -(5657) found -(5658) found -[581] Forked 5659 -[580] Forked 5660 -(5659) found -(5660) found -[579] Forked 5661 -[578] Forked 5662 -(5661) found -(5662) found -[577] Forked 5663 -[576] Forked 5664 -(5663) found -(5664) found -[575] Forked 5665 -[574] Forked 5666 -(5665) found -(5666) found -[573] Forked 5667 -[572] Forked 5668 -(5667) found -(5668) found -[571] Forked 5669 -[570] Forked 5670 -(5669) found -(5670) found -[569] Forked 5671 -[568] Forked 5672 -(5671) found -(5672) found -[567] Forked 5673 -[566] Forked 5674 -(5673) found -(5674) found -[565] Forked 5675 -[564] Forked 5676 -(5675) found -(5676) found -[563] Forked 5677 -[562] Forked 5678 -(5677) found -(5678) found -[561] Forked 5679 -[560] Forked 5680 -(5679) found -(5680) found -[559] Forked 5681 -[558] Forked 5682 -(5681) found -(5682) found -[557] Forked 5683 -[556] Forked 5684 -(5683) found -(5684) found -[555] Forked 5685 -[554] Forked 5686 -(5685) found -(5686) found -[553] Forked 5687 -[552] Forked 5688 -(5687) found -(5688) found -[551] Forked 5689 -[550] Forked 5690 -(5689) found -(5690) found -[549] Forked 5691 -[548] Forked 5692 -(5691) found -(5692) found -[547] Forked 5693 -(5693) found -[546] Forked 5694 -[545] Forked 5695 -(5694) found -(5695) found -[544] Forked 5696 -(5696) found -[543] Forked 5697 -[542] Forked 5698 -(5697) found -(5698) found -[541] Forked 5699 -[540] Forked 5700 -(5699) found -(5700) found -[539] Forked 5701 -[538] Forked 5702 -(5701) found -(5702) found -[537] Forked 5703 -[536] Forked 5705 -(5703) found -(5705) found -[535] Forked 5706 -(5706) found -[534] Forked 5707 -(5707) found -[533] Forked 5708 -(5708) found -[532] Forked 5709 -(5709) found -[531] Forked 5710 -(5710) found -[530] Forked 5711 -(5711) found -[529] Forked 5712 -(5712) found -[528] Forked 5713 -(5713) found -[527] Forked 5714 -(5714) found -[526] Forked 5715 -(5715) found -[525] Forked 5716 -(5716) found -[524] Forked 5717 -(5717) found -[523] Forked 5718 -(5718) found -[522] Forked 5719 -(5719) found -[521] Forked 5720 -(5720) found -[520] Forked 5721 -(5721) found -[519] Forked 5722 -(5722) found -[518] Forked 5723 -(5723) found -[517] Forked 5724 -(5724) found -[516] Forked 5725 -(5725) found -[515] Forked 5726 -(5726) found -[514] Forked 5727 -(5727) found -[513] Forked 5728 -(5728) found -[512] Forked 5729 -(5729) found -[511] Forked 5730 -(5730) found -[510] Forked 5731 -(5731) found -[509] Forked 5732 -(5732) found -[508] Forked 5733 -(5733) found -[507] Forked 5734 -(5734) found -[506] Forked 5735 -(5735) found -[505] Forked 5736 -(5736) found -[504] Forked 5737 -(5737) found -[503] Forked 5738 -(5738) found -[502] Forked 5739 -(5739) found -[501] Forked 5740 -(5740) found -[500] Forked 5741 -(5741) found -[499] Forked 5742 -(5742) found -[498] Forked 5743 -(5743) found -[497] Forked 5744 -(5744) found -[496] Forked 5745 -(5745) found -[495] Forked 5746 -(5746) found -[494] Forked 5747 -(5747) found -[493] Forked 5748 -(5748) found -[492] Forked 5749 -(5749) found -[491] Forked 5750 -(5750) found -[490] Forked 5751 -(5751) found -[489] Forked 5752 -(5752) found -[488] Forked 5753 -(5753) found -[487] Forked 5754 -(5754) found -[486] Forked 5755 -(5755) found -[485] Forked 5756 -(5756) found -[484] Forked 5757 -(5757) found -[483] Forked 5758 -(5758) found -[482] Forked 5759 -(5759) found -[481] Forked 5760 -(5760) found -[480] Forked 5761 -(5761) found -[479] Forked 5762 -(5762) found -[478] Forked 5763 -(5763) found -[477] Forked 5764 -(5764) found -[476] Forked 5765 -(5765) found -[475] Forked 5766 -(5766) found -[474] Forked 5767 -(5767) found -[473] Forked 5768 -(5768) found -[472] Forked 5769 -(5769) found -[471] Forked 5770 -(5770) found -[470] Forked 5771 -(5771) found -[469] Forked 5772 -(5772) found -[468] Forked 5773 -(5773) found -[467] Forked 5774 -(5774) found -[466] Forked 5775 -(5775) found -[465] Forked 5776 -(5776) found -[464] Forked 5777 -(5777) found -[463] Forked 5778 -(5778) found -[462] Forked 5779 -(5779) found -[461] Forked 5780 -(5780) found -[460] Forked 5781 -(5781) found -[459] Forked 5782 -(5782) found -[458] Forked 5783 -(5783) found -[457] Forked 5784 -(5784) found -[456] Forked 5785 -(5785) found -[455] Forked 5786 -(5786) found -[454] Forked 5787 -(5787) found -[453] Forked 5788 -(5788) found -[452] Forked 5789 -(5789) found -[451] Forked 5790 -(5790) found -[450] Forked 5791 -(5791) found -[449] Forked 5792 -(5792) found -[448] Forked 5793 -(5793) found -[447] Forked 5794 -(5794) found -[446] Forked 5795 -(5795) found -[445] Forked 5796 -(5796) found -[444] Forked 5797 -(5797) found -[443] Forked 5798 -(5798) found -[442] Forked 5799 -(5799) found -[441] Forked 5800 -(5800) found -[440] Forked 5801 -(5801) found -[439] Forked 5802 -(5802) found -[438] Forked 5803 -(5803) found -[437] Forked 5804 -[436] Forked 5805 -(5804) found -(5805) found -[435] Forked 5806 -[434] Forked 5807 -(5806) found -(5807) found -[433] Forked 5808 -[432] Forked 5809 -(5808) found -(5809) found -[431] Forked 5810 -[430] Forked 5811 -(5810) found -(5811) found -[429] Forked 5812 -[428] Forked 5813 -(5812) found -(5813) found -[427] Forked 5814 -[426] Forked 5815 -(5814) found -(5815) found -[425] Forked 5816 -[424] Forked 5817 -(5816) found -(5817) found -[423] Forked 5818 -[422] Forked 5819 -(5818) found -(5819) found -[421] Forked 5820 -[420] Forked 5821 -(5820) found -(5821) found -[419] Forked 5822 -[418] Forked 5823 -(5822) found -(5823) found -[417] Forked 5824 -[416] Forked 5825 -(5824) found -(5825) found -[415] Forked 5826 -[414] Forked 5827 -(5826) found -(5827) found -[413] Forked 5828 -[412] Forked 5829 -(5828) found -(5829) found -[411] Forked 5830 -[410] Forked 5831 -(5830) found -(5831) found -[409] Forked 5832 -[408] Forked 5833 -(5832) found -(5833) found -[407] Forked 5834 -[406] Forked 5835 -(5834) found -(5835) found -[405] Forked 5836 -[404] Forked 5838 -(5836) found -(5838) found -[403] Forked 5839 -(5839) found -[402] Forked 5840 -(5840) found -[401] Forked 5841 -(5841) found -[400] Forked 5842 -(5842) found -[399] Forked 5843 -(5843) found -[398] Forked 5844 -(5844) found -[397] Forked 5845 -(5845) found -[396] Forked 5846 -(5846) found -[395] Forked 5847 -(5847) found -[394] Forked 5848 -(5848) found -[393] Forked 5849 -(5849) found -[392] Forked 5850 -(5850) found -[391] Forked 5851 -(5851) found -[390] Forked 5852 -(5852) found -[389] Forked 5853 -(5853) found -[388] Forked 5854 -(5854) found -[387] Forked 5855 -(5855) found -[386] Forked 5856 -(5856) found -[385] Forked 5857 -(5857) found -[384] Forked 5858 -(5858) found -[383] Forked 5859 -(5859) found -[382] Forked 5860 -(5860) found -[381] Forked 5861 -(5861) found -[380] Forked 5862 -(5862) found -[379] Forked 5863 -(5863) found -[378] Forked 5864 -(5864) found -[377] Forked 5865 -(5865) found -[376] Forked 5866 -(5866) found -[375] Forked 5867 -(5867) found -[374] Forked 5868 -(5868) found -[373] Forked 5869 -(5869) found -[372] Forked 5870 -(5870) found -[371] Forked 5871 -(5871) found -[370] Forked 5872 -(5872) found -[369] Forked 5873 -(5873) found -[368] Forked 5874 -(5874) found -[367] Forked 5875 -(5875) found -[366] Forked 5876 -(5876) found -[365] Forked 5877 -(5877) found -[364] Forked 5878 -(5878) found -[363] Forked 5879 -(5879) found -[362] Forked 5880 -(5880) found -[361] Forked 5881 -(5881) found -[360] Forked 5882 -(5882) found -[359] Forked 5883 -(5883) found -[358] Forked 5884 -[357] Forked 5885 -(5884) found -(5885) found -[356] Forked 5886 -(5886) found -[355] Forked 5887 -[354] Forked 5888 -(5887) found -(5888) found -[353] Forked 5889 -[352] Forked 5890 -(5889) found -(5890) found -[351] Forked 5891 -[350] Forked 5892 -(5891) found -(5892) found -[349] Forked 5893 -[348] Forked 5894 -(5893) found -(5894) found -[347] Forked 5895 -[346] Forked 5896 -(5895) found -(5896) found -[345] Forked 5897 -[344] Forked 5898 -(5897) found -(5898) found -[343] Forked 5899 -[342] Forked 5900 -(5899) found -(5900) found -[341] Forked 5901 -[340] Forked 5902 -(5901) found -(5902) found -[339] Forked 5903 -[338] Forked 5904 -(5903) found -(5904) found -[337] Forked 5905 -[336] Forked 5906 -(5905) found -(5906) found -[335] Forked 5907 -[334] Forked 5908 -(5907) found -(5908) found -[333] Forked 5909 -[332] Forked 5910 -(5909) found -(5910) found -[331] Forked 5911 -[330] Forked 5912 -(5911) found -(5912) found -[329] Forked 5913 -[328] Forked 5914 -(5913) found -(5914) found -[327] Forked 5915 -[326] Forked 5916 -(5915) found -(5916) found -[325] Forked 5917 -[324] Forked 5918 -(5917) found -(5918) found -[323] Forked 5919 -[322] Forked 5920 -(5919) found -(5920) found -[321] Forked 5921 -[320] Forked 5922 -(5921) found -(5922) found -[319] Forked 5923 -[318] Forked 5924 -(5923) found -(5924) found -[317] Forked 5925 -[316] Forked 5926 -(5925) found -(5926) found -[315] Forked 5927 -[314] Forked 5928 -(5927) found -(5928) found -[313] Forked 5929 -[312] Forked 5930 -(5929) found -(5930) found -[311] Forked 5931 -[310] Forked 5932 -(5931) found -(5932) found -[309] Forked 5933 -[308] Forked 5934 -(5933) found -(5934) found -[307] Forked 5935 -[306] Forked 5936 -(5935) found -(5936) found -[305] Forked 5937 -[304] Forked 5938 -(5937) found -(5938) found -[303] Forked 5939 -[302] Forked 5940 -(5939) found -(5940) found -[301] Forked 5941 -[300] Forked 5942 -(5941) found -(5942) found -[299] Forked 5943 -[298] Forked 5944 -(5943) found -(5944) found -[297] Forked 5945 -[296] Forked 5946 -(5945) found -(5946) found -[295] Forked 5947 -[294] Forked 5948 -(5947) found -(5948) found -[293] Forked 5949 -[292] Forked 5950 -(5949) found -(5950) found -[291] Forked 5951 -[290] Forked 5952 -(5951) found -(5952) found -[289] Forked 5953 -[288] Forked 5954 -(5953) found -(5954) found -[287] Forked 5955 -[286] Forked 5956 -(5955) found -(5956) found -[285] Forked 5957 -[284] Forked 5958 -(5957) found -(5958) found -[283] Forked 5959 -[282] Forked 5960 -(5959) found -(5960) found -[281] Forked 5961 -[280] Forked 5962 -(5961) found -(5962) found -[279] Forked 5963 -[278] Forked 5964 -(5963) found -(5964) found -[277] Forked 5965 -[276] Forked 5966 -(5965) found -(5966) found -[275] Forked 5967 -[274] Forked 5968 -(5967) found -(5968) found -[273] Forked 5969 -[272] Forked 5970 -(5969) found -(5970) found -[271] Forked 5971 -[270] Forked 5972 -(5971) found -(5972) found -[269] Forked 5973 -[268] Forked 5974 -(5973) found -(5974) found -[267] Forked 5975 -(5975) found -[266] Forked 5976 -(5976) found -[265] Forked 5977 -(5977) found -[264] Forked 5978 -(5978) found -[263] Forked 5979 -(5979) found -[262] Forked 5980 -(5980) found -[261] Forked 5981 -(5981) found -[260] Forked 5982 -(5982) found -[259] Forked 5983 -(5983) found -[258] Forked 5984 -(5984) found -[257] Forked 5985 -(5985) found -[256] Forked 5986 -(5986) found -[255] Forked 5987 -(5987) found -[254] Forked 5988 -(5988) found -[253] Forked 5989 -(5989) found -[252] Forked 5990 -(5990) found -[251] Forked 5991 -(5991) found -[250] Forked 5992 -(5992) found -[249] Forked 5993 -(5993) found -[248] Forked 5994 -(5994) found -[247] Forked 5995 -(5995) found -[246] Forked 5996 -(5996) found -[245] Forked 5997 -(5997) found -[244] Forked 5998 -(5998) found -[243] Forked 5999 -(5999) found -[242] Forked 6000 -(6000) found -[241] Forked 6001 -(6001) found -[240] Forked 6002 -(6002) found -[239] Forked 6003 -(6003) found -[238] Forked 6004 -(6004) found -[237] Forked 6005 -(6005) found -[236] Forked 6006 -(6006) found -[235] Forked 6007 -(6007) found -[234] Forked 6008 -(6008) found -[233] Forked 6009 -(6009) found -[232] Forked 6010 -(6010) found -[231] Forked 6011 -[230] Forked 6012 -(6011) found -(6012) found -[229] Forked 6013 -[228] Forked 6014 -(6013) found -(6014) found -[227] Forked 6015 -[226] Forked 6016 -(6015) found -(6016) found -[225] Forked 6017 -[224] Forked 6018 -(6017) found -(6018) found -[223] Forked 6019 -[222] Forked 6020 -(6019) found -(6020) found -[221] Forked 6021 -[220] Forked 6022 -(6021) found -(6022) found -[219] Forked 6023 -[218] Forked 6024 -(6023) found -(6024) found -[217] Forked 6025 -[216] Forked 6026 -(6025) found -(6026) found -[215] Forked 6027 -[214] Forked 6028 -(6027) found -(6028) found -[213] Forked 6029 -[212] Forked 6030 -(6029) found -(6030) found -[211] Forked 6031 -[210] Forked 6032 -(6031) found -(6032) found -[209] Forked 6033 -[208] Forked 6034 -(6033) found -(6034) found -[207] Forked 6035 -[206] Forked 6036 -(6035) found -(6036) found -[205] Forked 6037 -[204] Forked 6038 -(6037) found -(6038) found -[203] Forked 6039 -[202] Forked 6040 -(6039) found -(6040) found -[201] Forked 6041 -[200] Forked 6042 -(6041) found -(6042) found -[199] Forked 6043 -[198] Forked 6044 -(6043) found -(6044) found -[197] Forked 6045 -[196] Forked 6046 -(6045) found -(6046) found -[195] Forked 6047 -[194] Forked 6048 -(6047) found -(6048) found -[193] Forked 6049 -[192] Forked 6050 -(6049) found -(6050) found -[191] Forked 6051 -[190] Forked 6052 -(6051) found -(6052) found -[189] Forked 6053 -[188] Forked 6054 -(6053) found -(6054) found -[187] Forked 6055 -[186] Forked 6056 -(6055) found -(6056) found -[185] Forked 6057 -[184] Forked 6058 -(6057) found -(6058) found -[183] Forked 6059 -[182] Forked 6060 -(6059) found -(6060) found -[181] Forked 6061 -[180] Forked 6062 -(6061) found -(6062) found -[179] Forked 6063 -[178] Forked 6064 -(6063) found -(6064) found -[177] Forked 6065 -[176] Forked 6066 -(6065) found -(6066) found -[175] Forked 6067 -[174] Forked 6068 -(6067) found -(6068) found -[173] Forked 6069 -[172] Forked 6070 -(6069) found -(6070) found -[171] Forked 6071 -[170] Forked 6072 -(6071) found -(6072) found -[169] Forked 6073 -[168] Forked 6074 -(6073) found -(6074) found -[167] Forked 6075 -[166] Forked 6076 -(6075) found -(6076) found -[165] Forked 6077 -[164] Forked 6078 -(6077) found -(6078) found -[163] Forked 6079 -[162] Forked 6080 -(6079) found -(6080) found -[161] Forked 6081 -[160] Forked 6082 -(6081) found -(6082) found -[159] Forked 6083 -[158] Forked 6084 -(6083) found -(6084) found -[157] Forked 6085 -[156] Forked 6086 -(6085) found -(6086) found -[155] Forked 6087 -[154] Forked 6088 -(6087) found -(6088) found -[153] Forked 6089 -[152] Forked 6090 -(6089) found -(6090) found -[151] Forked 6091 -[150] Forked 6092 -(6091) found -(6092) found -[149] Forked 6093 -[148] Forked 6094 -(6093) found -(6094) found -[147] Forked 6095 -[146] Forked 6096 -(6095) found -(6096) found -[145] Forked 6097 -[144] Forked 6098 -(6097) found -(6098) found -[143] Forked 6099 -[142] Forked 6100 -(6099) found -(6100) found -[141] Forked 6101 -[140] Forked 6102 -(6101) found -(6102) found -[139] Forked 6103 -(6103) found -[138] Forked 6104 -(6104) found -[137] Forked 6105 -(6105) found -[136] Forked 6106 -(6106) found -[135] Forked 6107 -(6107) found -[134] Forked 6108 -(6108) found -[133] Forked 6109 -(6109) found -[132] Forked 6110 -(6110) found -[131] Forked 6111 -(6111) found -[130] Forked 6112 -(6112) found -[129] Forked 6113 -(6113) found -[128] Forked 6114 -(6114) found -[127] Forked 6115 -(6115) found -[126] Forked 6116 -(6116) found -[125] Forked 6117 -(6117) found -[124] Forked 6118 -(6118) found -[123] Forked 6119 -(6119) found -[122] Forked 6120 -(6120) found -[121] Forked 6121 -(6121) found -[120] Forked 6122 -(6122) found -[119] Forked 6123 -(6123) found -[118] Forked 6124 -(6124) found -[117] Forked 6125 -(6125) found -[116] Forked 6126 -(6126) found -[115] Forked 6127 -(6127) found -[114] Forked 6128 -(6128) found -[113] Forked 6129 -(6129) found -[112] Forked 6130 -(6130) found -[111] Forked 6131 -(6131) found -[110] Forked 6132 -(6132) found -[109] Forked 6133 -(6133) found -[108] Forked 6134 -(6134) found -[107] Forked 6135 -(6135) found -[106] Forked 6136 -(6136) found -[105] Forked 6137 -(6137) found -[104] Forked 6138 -[103] Forked 6139 -(6138) found -(6139) found -[102] Forked 6140 -[101] Forked 6141 -(6140) found -(6141) found -[100] Forked 6142 -[99] Forked 6143 -(6142) found -(6143) found -[98] Forked 6144 -[97] Forked 6145 -(6144) found -(6145) found -[96] Forked 6146 -[95] Forked 6147 -(6146) found -(6147) found -[94] Forked 6148 -[93] Forked 6149 -(6148) found -(6149) found -[92] Forked 6150 -[91] Forked 6151 -(6150) found -(6151) found -[90] Forked 6152 -[89] Forked 6153 -(6152) found -(6153) found -[88] Forked 6154 -[87] Forked 6155 -(6154) found -(6155) found -[86] Forked 6156 -[85] Forked 6157 -(6156) found -(6157) found -[84] Forked 6158 -[83] Forked 6159 -(6158) found -(6159) found -[82] Forked 6160 -[81] Forked 6161 -(6160) found -(6161) found -[80] Forked 6162 -[79] Forked 6163 -(6162) found -(6163) found -[78] Forked 6164 -[77] Forked 6165 -(6164) found -(6165) found -[76] Forked 6166 -[75] Forked 6167 -(6166) found -(6167) found -[74] Forked 6168 -[73] Forked 6169 -(6168) found -(6169) found -[72] Forked 6170 -[71] Forked 6171 -(6170) found -(6171) found -[70] Forked 6172 -[69] Forked 6173 -(6172) found -(6173) found -[68] Forked 6174 -[67] Forked 6175 -(6174) found -(6175) found -[66] Forked 6176 -[65] Forked 6177 -(6176) found -(6177) found -[64] Forked 6178 -[63] Forked 6179 -(6178) found -(6179) found -[62] Forked 6180 -[61] Forked 6181 -(6180) found -(6181) found -[60] Forked 6182 -[59] Forked 6183 -(6182) found -(6183) found -[58] Forked 6184 -(6184) found -[57] Forked 6185 -(6185) found -[56] Forked 6186 -(6186) found -[55] Forked 6187 -(6187) found -[54] Forked 6188 -(6188) found -[53] Forked 6189 -(6189) found -[52] Forked 6190 -(6190) found -[51] Forked 6191 -(6191) found -[50] Forked 6192 -(6192) found -[49] Forked 6193 -(6193) found -[48] Forked 6194 -(6194) found -[47] Forked 6195 -(6195) found -[46] Forked 6196 -(6196) found -[45] Forked 6197 -(6197) found -[44] Forked 6198 -(6198) found -[43] Forked 6199 -(6199) found -[42] Forked 6200 -(6200) found -[41] Forked 6201 -(6201) found -[40] Forked 6202 -(6202) found -[39] Forked 6203 -(6203) found -[38] Forked 6204 -(6204) found -[37] Forked 6205 -(6205) found -[36] Forked 6206 -(6206) found -[35] Forked 6207 -(6207) found -[34] Forked 6208 -(6208) found -[33] Forked 6209 -(6209) found -[32] Forked 6210 -(6210) found -[31] Forked 6211 -(6211) found -[30] Forked 6212 -(6212) found -[29] Forked 6213 -(6213) found -[28] Forked 6214 -(6214) found -[27] Forked 6215 -(6215) found -[26] Forked 6216 -(6216) found -[25] Forked 6217 -(6217) found -[24] Forked 6218 -(6218) found -[23] Forked 6219 -(6219) found -[22] Forked 6220 -[21] Forked 6221 -(6220) found -(6221) found -[20] Forked 6222 -(6222) found -[19] Forked 6223 -(6223) found -[18] Forked 6224 -(6224) found -[17] Forked 6225 -[16] Forked 6226 -(6225) found -(6226) found -[15] Forked 6227 -[14] Forked 6228 -(6227) found -(6228) found -[13] Forked 6229 -[12] Forked 6230 -(6229) found -(6230) found -[11] Forked 6231 -[10] Forked 6232 -(6231) found -(6232) found -[9] Forked 6233 -[8] Forked 6234 -(6233) found -(6234) found -[7] Forked 6235 -[6] Forked 6236 -(6235) found -(6236) found -[5] Forked 6237 -[4] Forked 6239 -(6237) found -(6239) found -[3] Forked 6240 -(6240) found -[2] Forked 6241 -(6241) found -[1] Forked 6242 -(6242) found -[0] Forked 6243 -(6243) found diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/memcpy.c b/software/cinit/browse_source/cinit-0.3pre17/src/test/memcpy.c deleted file mode 100644 index 3c6cc2ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/memcpy.c +++ /dev/null @@ -1,46 +0,0 @@ -#include /* memcpy() */ -#include - -struct cinit_answer { - int options; - char data[2045]; -}; - -int f1(struct cinit_answer *buf); -int f2(struct cinit_answer *buf); - -int f2(struct cinit_answer *buf) -{ - struct cinit_answer msg; - - printf("f2: %p\n", buf); - - msg.options = 12; - strcpy(msg.data, "stringit"); - - printf("addr= %p\n", memcpy(buf, &msg, sizeof(*buf))); - - printf("ok\n"); - - return 1; -} - -int f1(struct cinit_answer *buf) -{ - printf("f1: %p\n", buf); - printf("ret=%d\n", f2(buf)); - - return 1; -} - -int main() -{ - struct cinit_answer test; - - if(!f1(&test)) - return 1; - - printf("s: %s d: %d\n", test.data, test.options); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/test-newline.c b/software/cinit/browse_source/cinit-0.3pre17/src/test/test-newline.c deleted file mode 100644 index 4cccf535..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/test-newline.c +++ /dev/null @@ -1,30 +0,0 @@ -#include -#include -#include -#include - -char *strip_final_newline(char *test1); - -int main() -{ - // char *test1 = "zeile1\nzeile2\n"; - // char *test2 = "zeile1\nzeile2\nzeile3"; - char *test1; - char *test2; - - test1 = malloc(50); - test2 = malloc(50); - - strcpy(test1, "zeile1\nzeile2\n"); - strcpy(test2, "zeile1\nzeile2\nzeile3"); - - char *result; - - result = strip_final_newline(test1); - printf("A%sA\n", result); - - result = strip_final_newline(test2); - printf("B%sB\n", result); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre17/src/test/test_build_argv+link.c deleted file mode 100644 index 87e46293..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_build_argv+link.c +++ /dev/null @@ -1,37 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if((tmp = cinit_build_argv(file, &cargv)) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else - exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0], cargv.argv, cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre17/src/test/test_build_argv.c deleted file mode 100644 index 79ee5a48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_build_argv.c +++ /dev/null @@ -1,37 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if((tmp = cinit_build_argv(file, &cargv)) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else - exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0], cargv.argv, cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec deleted file mode 100755 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre17/src/test/test_gen_svc_tree.c deleted file mode 100644 index 433be536..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,21 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre17/src/test/test_openreadclose.c deleted file mode 100644 index 804a01b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file, &data); - - printf("%s\n", data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/tired.c b/software/cinit/browse_source/cinit-0.3pre17/src/test/tired.c deleted file mode 100644 index b6e33260..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/tired.c +++ /dev/null @@ -1,22 +0,0 @@ -#include - -struct msgq_server_short { - long mtype; - int mu; -}; - -main() -{ - struct msgq_server_short t1, *t2; - - t2 = &t1; - - int a = sizeof(t1); - int b = sizeof(t2); - int c = sizeof(*t2); - - printf("a=%d,b=%d,c=%d\n", a, b, c); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre17/src/test/transfer_structure.c b/software/cinit/browse_source/cinit-0.3pre17/src/test/transfer_structure.c deleted file mode 100644 index f9755df3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre17/src/test/transfer_structure.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include - -struct test { - char buf[2048]; - int cmd; -}; - -struct badtest { - char *buf; - int cmd; -}; - -#define PATH "/etc/cinit/svc/local-tuning/udev" - -int main() -{ - struct test cmd; - struct badtest nocmd; - int pfd[2]; - int tmp; - - strcpy(cmd.buf, "/which/service/to/disable"); - cmd.cmd = 42; - - if(pipe(pfd) == -1) - return 1; - nocmd.cmd = 42; - nocmd.buf = malloc(strlen(PATH) + 1); - strcpy(nocmd.buf, PATH); - - if(fork() > 1) { - tmp = write(pfd[1], &cmd, sizeof(cmd)); - printf("PA: tmp=%d\n", tmp); - - tmp = write(pfd[1], &nocmd, sizeof(nocmd)); - printf("PA: tmp2=%d\n", tmp); - } else { - strcpy(cmd.buf, ""); - cmd.cmd = 0; - - tmp = read(pfd[0], &cmd, sizeof(cmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n", tmp, cmd.cmd, cmd.buf); - - free(nocmd.buf); - nocmd.cmd = 0; - - tmp = read(pfd[0], &nocmd, sizeof(nocmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n", tmp, nocmd.cmd, nocmd.buf); - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/ b/software/cinit/browse_source/cinit-0.3pre18/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre18/.ditz-config b/software/cinit/browse_source/cinit-0.3pre18/.ditz-config deleted file mode 100644 index e831e23d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/.ditz-config +++ /dev/null @@ -1,4 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/config -name: Nico Schottelius -email: nico@ikn.schottelius.org -issue_dir: bugs diff --git a/software/cinit/browse_source/cinit-0.3pre18/.ditz-plugins b/software/cinit/browse_source/cinit-0.3pre18/.ditz-plugins deleted file mode 100644 index 2756e1e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/.ditz-plugins +++ /dev/null @@ -1 +0,0 @@ -- git diff --git a/software/cinit/browse_source/cinit-0.3pre18/.gitignore b/software/cinit/browse_source/cinit-0.3pre18/.gitignore deleted file mode 100644 index 08ec3283..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -*.o -*.a -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -*.html -*.htm -*.man -*.texi -*.texi -*.docbook -src/halt.kill -src/poweroff.kill -src/reboot.kill -doc/man/*.[0-9] -doc/man/*.xml -src/cmd -.*.swp -.exclude -src/.configured -src/cinit.halt -src/cinit.poweroff -src/cinit.reboot diff --git a/software/cinit/browse_source/cinit-0.3pre18/Makefile b/software/cinit/browse_source/cinit-0.3pre18/Makefile deleted file mode 100644 index fc7bcdd0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/Makefile +++ /dev/null @@ -1,145 +0,0 @@ -# -# 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation -dev-all: all - -install clean dist distclean: - @for subdir in ${CDIRS}; do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && ${MAKE} ${MAKEFLAGS} $@) || break; \ - done; - -.PHONY: sources -sources: - ${MAKE} -C src all - -.PHONY: documentation -documentation: - ${MAKE} -C doc documentation - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - -################################################################################ -# Tests -# -tests: - # does not work, due getting killed, due to design :-) - #./scripts/internal/compile_run_as_compiler.sh - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -### User Mode Linux / DIRECTORY -UML_DIR_OS_DEBIAN=lenny -UML_ROOT_DIR=~/cinit/vm/uml/$(UML_DIR_OS_DEBIAN) -UML_ROOT_DIR_ABS=$(shell cd $(UML_ROOT_DIR) && pwd -P) -CONFDIR=etc/cinit/ - -uml-install-debian: - mkdir -p $(UML_ROOT_DIR) - sudo /usr/sbin/debootstrap $(UML_DIR_OS_DEBIAN) $(UML_ROOT_DIR) - me=$$(whoami); sudo chown -R $$me $(UML_ROOT_DIR) - -# only install binaries, no need to test documentation -uml-install-config: - rsync -av --delete ./$(CONFDIR) $(UML_ROOT_DIR)/$(CONFDIR) - -uml-install-cinit: - dir=$$(cd $(UML_ROOT_DIR); pwd -P); make -C src DESTDIR=$$dir install - -uml-dir-start-cinit: uml-install-config - dir=$$(cd $(UML_ROOT_DIR); pwd -P); linux root=/dev/root rootflags=$$dir rootfstype=hostfs init=/sbin/cinit - -uml-dir-start-plain: - ./scripts/vm/uml-dir-start-plain.sh $(UML_ROOT_DIR_ABS) - -### User Mode Linux / IMAGE -UML_IMG_FILE=~/cinit/vm/uml/Debian-3.0r0.ext2 -uml-img-start-cinit: - ./scripts/vm/uml-img-start-cinit.sh $(UML_IMG_FILE) - -uml-img-start-plain: - ./scripts/vm/uml-img-start-plain.sh $(UML_IMG_FILE) - -# debian-etch -de-install: - rsync -av --delete ./ root@de:cinit - rsync -av --delete ./etc/cinit/ root@de:/etc/cinit - ssh root@de '(cd cinit; make clean install)' - -de-run: - ssh root@de reboot - -UBUNTUHOST=cinit@192.168.122.107 -UBUNTUCONF=./etc/cinit-ubuntu -UBUNTUINSTALL="cd cinit && make clean && sudo make install" -UBUNTUTEST="sudo reboot" -ubuntu-sync: - rsync -av --delete ./ $(UBUNTUHOST):cinit -ubuntu-install: ubuntu-sync - ssh "$(UBUNTUHOST)" $(UBUNTUINSTALL) - -ubuntu-test: ubuntu-install - ssh "$(UBUNTUHOST)" $(UBUNTUTEST) - -################################################################################ -# -# Developer targets -# - -release: ./scripts/internal/cinit.release - ./scripts/internal/cinit.release now - -scripts/internal/cinit.release: ./scripts/internal/test-cmd.sh - ./scripts/internal/test-cmd.sh - -WEBFILE=~/privat/computer/net/netzseiten/www.nico.schottelius.org/src/software/cinit.mdwn -.PHONY: web -web: README - cp $< $(WEBFILE) - -cinitconfconfdir=../cinit-conf/conf -sync-conf: - rsync --delete -av ./conf/ $(cinitconfconfdir) - cd $(cinitconfconfdir); git add .; git commit -m "sync with cinit/conf" diff --git a/software/cinit/browse_source/cinit-0.3pre18/README b/software/cinit/browse_source/cinit-0.3pre18/README deleted file mode 100644 index 6bf95015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/README +++ /dev/null @@ -1,238 +0,0 @@ -cinit is a fast, small and simple init with support for profiles - -## Introduction - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design of -Richard Goochs -[need concept](http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/) -and Felix von Leitners -[minit](http://www.fefe.de/minit/). -Minit does not support real dependencies (you don't know whether the -service you depend on really started) and the need concept is somehow -slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -### Cinit main features - -* portability: it should run on every Unix -* true dependencies (soft and hard!) -* parallel execution -* highly customisable (see conf/*) -* profile support (specify what services to start depending on the profile) - - -### Why should I use cinit? - - * To significant speedup the startup process - * To use highest level of parallelisation at startup - * To benefit from real dependencies (so called ***needs*** and ***wants***) - * To easily create profiles that can be chosen at startup (even **before** init is started!) - -### How does cinit work? - -Cinit creates a dependency tree at startup and executes the services. -A service can have two type of dependencies: - - * ***wants*** describe soft dependencies (i.e. it's not fatal if the wanted service fails to start) - * ***needs*** describe hard dependencies (if the needed service fails, the depending won't be started) - -Let's have a look at an example: - - - A - (wants) - / \ - |------> B \ C - | / \ / \ - ^ (needs) (needs) (wants) - | D E F - | | - |------<------(needs)----| - - -Or in words: - - * B and C do not have dependencies - * They will be started at the beginning - * A wants B and C - * A waits until B and C are executed and started afterwards, - independently of the success of B and C - * A will also be started, if B and C fail to start. - * D needs B - * D will only be started, if B is successfully started - * E needs B and C - * E will only be started, if both B and C are successfully started - * F wants C and needs B - * F will only be started, if B is successfully started - * F waits until C is started and is started afterwards - -## Getting cinit - -### Development versions -You can get the latest (development) version via git: - - git clone git://git.schottelius.org/cLinux/cinit.git - -Additionally, the following other git ressources are available: - - * [Gitweb](http://git.schottelius.org/?p=cLinux/cinit.git;a=summary). - * [Mirror at github](http://github.com/telmich/cinit) - * [Mirror at gitorious](http://gitorious.org/cinit) - - -### Archives - - * [[cinit-0.3pre18.tar.bz2|archives/cinit-0.3pre18.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre18/)) - [[changes|browse_source/cinit-0.3pre18/doc/changes/0.3pre18]] - * [[cinit-0.3pre17.tar.bz2|archives/cinit-0.3pre17.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre17/)) - [[changes|browse_source/cinit-0.3pre17/doc/changes/0.3pre17]] - * [[cinit-0.3pre16.tar.bz2|archives/cinit-0.3pre16.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre16/)) - [[changes|browse_source/cinit-0.3pre16/doc/changes/0.3pre16]] - * [[cinit-0.3pre15.tar.bz2|archives/cinit-0.3pre15.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre15/)) - [[changes|browse_source/cinit-0.3pre15/doc/changes/0.3pre15]] - * [[cinit-0.3pre14.tar.bz2|archives/cinit-0.3pre14.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre14/)) - [[changes|browse_source/cinit-0.3pre14/CHANGES]] - * [[cinit-0.3pre13.tar.bz2|archives/cinit-0.3pre13.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre13/)) - [[changes|browse_source/cinit-0.3pre13/CHANGES]] - * [[cinit-0.3pre12.tar.bz2|archives/cinit-0.3pre12.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre12/)) - [[changes|browse_source/cinit-0.3pre12/CHANGES]] - * [[cinit-0.3pre11.tar.bz2|archives/cinit-0.3pre11.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre11/)) - [[changes|browse_source/cinit-0.3pre11/CHANGES]] - * [[cinit-0.3pre10.tar.bz2|archives/cinit-0.3pre10.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre10/)) - [[changes|browse_source/cinit-0.3pre10/CHANGES]] - * [[cinit-0.3pre9.tar.bz2|archives/cinit-0.3pre9.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre9/)) - [[changes|browse_source/cinit-0.3pre9/CHANGES]] - * [[cinit-0.3pre8.tar.bz2|archives/cinit-0.3pre8.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre8/)) - [[changes|browse_source/cinit-0.3pre8/CHANGES]] - * [[cinit-0.3pre7.tar.bz2|archives/cinit-0.3pre7.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre7/)) - [[changes|browse_source/cinit-0.3pre7/CHANGES]] - * [[cinit-0.3pre6.tar.bz2|archives/cinit-0.3pre6.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre6/)) - [[changes|browse_source/cinit-0.3pre6/CHANGES]] - * [[cinit-0.3pre5.tar.bz2|archives/cinit-0.3pre5.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre5/)) - [[changes|browse_source/cinit-0.3pre5/CHANGES]] - * [[cinit-0.3pre4.tar.bz2|archives/cinit-0.3pre4.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre4/)) - [[changes|browse_source/cinit-0.3pre4/CHANGES]] - * [[cinit-0.3pre3.tar.bz2|archives/cinit-0.3pre3.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre3/)) - [[changes|browse_source/cinit-0.3pre3/CHANGES]] - * [[cinit-0.3pre2.tar.bz2|archives/cinit-0.3pre2.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre2/)) - [[changes|browse_source/cinit-0.3pre2/CHANGES]] - * [[cinit-0.3pre1.tar.bz2|archives/cinit-0.3pre1.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre1/)) - [[changes|browse_source/cinit-0.3pre1/CHANGES]] - * [[cinit-0.2.1.tar.bz2|archives/cinit-0.2.1.tar.bz2]] - ([browse source](browse_source/cinit-0.2.1/)) - [[changes|browse_source/cinit-0.2.1/CHANGES]] - * [[cinit-0.2.tar.bz2|archives/cinit-0.2.tar.bz2]] - ([browse source](browse_source/cinit-0.2/)) - [[changes|browse_source/cinit-0.2/CHANGES]] - * [[cinit-0.1.tar.bz2|archives/cinit-0.1.tar.bz2]] - ([browse source](browse_source/cinit-0.1/)) - [[changes|browse_source/cinit-0.1/CHANGES]] - * [[cinit-0.0.8.tar.bz2|archives/cinit-0.0.8.tar.bz2]] - ([browse source](browse_source/cinit-0.0.8/)) - [[changes|browse_source/cinit-0.0.8/CHANGES]] - * [[cinit-0.0.7.tar.bz2|archives/cinit-0.0.7.tar.bz2]] - ([browse source](browse_source/cinit-0.0.7/)) - [[changes|browse_source/cinit-0.0.7/CHANGES]] - * [[cinit-0.0.6.tar.bz2|archives/cinit-0.0.6.tar.bz2]] - ([browse source](browse_source/cinit-0.0.6/)) - [[changes|browse_source/cinit-0.0.6/CHANGES]] - * [[cinit-0.0.5.tar.bz2|archives/cinit-0.0.5.tar.bz2]] - ([browse source](browse_source/cinit-0.0.5/)) - [[changes|browse_source/cinit-0.0.5/CHANGES]] - * [[cinit-0.0.4.tar.bz2|archives/cinit-0.0.4.tar.bz2]] - ([browse source](browse_source/cinit-0.0.4/)) - [[changes|browse_source/cinit-0.0.4/CHANGES]] - -## Documentation -The documentation is currently spread all over the ***doc/*** directory -within the tarball and is being cleaned up. Additionally there -are two presentations available: - - * [[2005-10-22: (German) speech at Technophil|software/cinit/speeches/2005-10-22]] - * [[2005-08-06: (German) online speech|software/cinit/speeches/2005-08-06]] - -### Pre-Configuring -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -### Installing cinit -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists: - - # make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -### Configuring cinit -You'll have to configure cinit in /etc/cinit and add services, -before you can use it. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. - -There are some testing examples below doc/examples/, to be used -as a starting point. - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available, -but they are in the making (see various bugs in ditz). - -### Configuring the OS / Kernel - -After configuring cinit you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - * Linux/LILO and Linux/yaboot (ppc): - * append="init=/sbin/cinit" - * grub1 and grub2: - * kernel init=/sbin/cinit - -## Support - -### IRC -You can join the development ***IRC channel*** -[#cLinux on irc.freenode.org](irc://irc.freenode.org/#cLinux). - -### Mailing list -Bug reports, questions, patches, etc. should be send to the -[cinit mailing list](http://l.schottelius.org/mailman/listinfo/cinit). - -## Related websites - - * [cinit](http://www.nico.schottelius.org/software/cinit/) - * [cinit mailing list](http://l.schottelius.org/mailman/listinfo/cinit) - * BSD init systems (same codebase): - * [FreeBSDs init](http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/init/) - * [NetBSDs init](http://cvsweb.netbsd.org/bsdweb.cgi/src/sbin/init/) - * [OpenBSDs init](http://www.openbsd.org/cgi-bin/cvsweb/src/sbin/init/) - * [initng](http://www.initng.org/) - * [minit](http://www.fefe.de/minit/) - * [runit](http://smarden.org/runit/) - * [need/simpleinit](http://www.atnf.csiro.au/~rgooch/linux/boot-scripts/) - * [sys-v-init](ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/) - * [upstart](http://www.netsplit.com/blog/work/canonical/upstart.html) - - -[[!tag unix]] diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.config.shell b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.config.shell deleted file mode 100755 index cb08a0c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.config.shell +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Create a minimal "usable" config -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -cinit-conf.svc.init -cinit-conf.svc.categories -cinit-conf.svc.mount.proc -cinit-conf.svc.mount.root -cinit-conf.svc.shell -cinit-conf.svc-boot-enable "local-services/shell" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.get-confdir b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.get-confdir deleted file mode 100755 index 5deb8a85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.get-confdir +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# -# 2005-2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) -# - -hier="${0%/*}" - -# try environment first -if [ "$CINIT_CONF_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_CONF_DIR -elif [ -d "${hier}/../conf/" ]; then - CONFDIR="${hier}/../conf/" -elif [ -d "/etc/cinit-conf/" ]; then - CONFDIR="/etc/cinit-conf/" -else - echo 'Did not find cinit-conf configuration!' >&2 - echo "Please set the variable CINIT_CONF_CONF_DIR" >&2 - exit 1 -fi - -CONFDIR=$(cd "${CONFDIR}" && pwd -P) - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.migrate.archlinux b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.migrate.archlinux deleted file mode 100755 index 7d52f78c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.migrate.archlinux +++ /dev/null @@ -1,490 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Try to migrate archlinux to cinit -# - -set -e - -################################################################################ -# -# Base layout, same for every OS -# -cinit-conf.svc.init -cinit-conf.svc.categories - -# Arch Linux has a minimal /etc/inittab, nice to migrate! -# Arch only starts /etc/rc.sysinit. Even nicer to migrate! - -# These are covered already by our existing scripts -#/bin/mount -n -t tmpfs none /dev -o mode=0755 -#/bin/mount -n -t proc none /proc -#/bin/mount -n -t sysfs none /sys - -# Copy static device nodes to /dev -# /bin/cp -a /lib/udev/devices/* /dev/ -cinit-conf.svc.udev.copy-static - -# start up our mini logger until syslog takes over -/sbin/minilogd - -# anything more serious than KERN_WARNING goes to the console -# 'verbose' cmdline parameter enables more messages -if /bin/grep -q " verbose" /proc/cmdline; then - /bin/dmesg -n 8 -else - /bin/dmesg -n 3 -fi - -# enable rtc access -/sbin/modprobe rtc-cmos >/dev/null 2>&1 -RTC_MAJOR=$(/bin/grep -w rtc /proc/devices 2>/dev/null) -RTC_MAJOR="${RTC_MAJOR%% *}" -if [ -n "$RTC_MAJOR" ]; then - /bin/mknod /dev/rtc0 c $RTC_MAJOR 0 - /bin/ln -s /dev/rtc0 /dev/rtc -fi - -HWCLOCK_PARAMS="--hctosys" -if [ "$HARDWARECLOCK" = "UTC" ]; then - HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc" -elif [ "$HARDWARECLOCK" = "localtime" ]; then - HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime" -else - HWCLOCK_PARAMS="" -fi - -# Set clock early to fix some bugs with filesystem checks -# Clock is set again later to match rc.conf -if [ -n "$HWCLOCK_PARAMS" -a -f /etc/localtime ]; then - /sbin/hwclock $HWCLOCK_PARAMS --noadjfile -fi - -echo > /proc/sys/kernel/hotplug - -if [ -x /sbin/udevadm ]; then - stat_busy "Starting UDev Daemon" - /sbin/udevd --daemon - stat_done -else - # Static /dev, our last resort - status "Using static /dev filesystem" true -fi - -# Trigger udev uevents -if /bin/pidof -o %PPID /sbin/udevd >/dev/null; then - stat_busy "Triggering UDev uevents" - /sbin/udevadm trigger - stat_done -fi - -# Load modules from the MODULES array defined in rc.conf -if ! [ "$load_modules" = "off" ]; then - if [ -f /proc/modules ]; then - stat_busy "Loading Modules" - for mod in "${MODULES[@]}"; do - if [ "$mod" = "${mod#!}" ]; then - /sbin/modprobe $mod - fi - done - stat_done - fi - if [ -d /proc/acpi ]; then - stat_busy "Loading standard ACPI modules" - ACPI_MODULES="ac battery button fan processor thermal" - k="$(echo $BLACKLIST ${MOD_BLACKLIST[@]} | /bin/sed 's|-|_|g')" - j="$(echo ${MODULES[@]} | /bin/sed 's|-|_|g')" - #add disabled MODULES (!) to blacklist - much requested feature - for m in ${j}; do - [ "$m" != "${m#!}" ] && k="${k} ${m#!}" - done - # add disablemodules= from commandline to blacklist - k="${k} $(echo ${disablemodules} | /bin/sed 's|-|_|g' | /bin/sed 's|,| |g')" - for n in ${ACPI_MODULES}; do - if ! echo ${k} | /bin/grep "\<$n\>" 2>&1 >/dev/null; then - /sbin/modprobe $n > /dev/null 2>&1 - fi - done - stat_done - fi -fi - -# Wait for udev uevents -if /bin/pidof -o %PPID /sbin/udevd >/dev/null; then - stat_busy "Waiting for UDev uevents to be processed" - udevstart="$(/bin/date +%s%0N)" - /sbin/udevadm settle - stat_done - udevend="$(/bin/date +%s%0N)" - printhl " UDev uevent processing time: $((($udevend-$udevstart)/1000000))ms" -fi - -# bring up the loopback interface -if [ -d /sys/class/net/lo ]; then - stat_busy "Bringing up loopback interface" - /sbin/ifconfig lo 127.0.0.1 up - if [ $? -ne 0 ]; then - stat_fail - else - stat_done - fi -fi - -# If necessary, find md devices and manually assemble RAID arrays -if [ -f /etc/mdadm.conf -a "$(/bin/grep ^ARRAY /etc/mdadm.conf 2>/dev/null)" ]; then - # udev won't create these md nodes, so we do it ourselves - for dev in $(/bin/grep ^ARRAY /etc/mdadm.conf | /bin/awk '{print $2}'); do - path=$(echo $dev | /bin/sed 's|/[^/]*$||') - node=$(echo $dev | /bin/sed "s|^$path/||") - minor=$(echo $node | /bin/sed 's|^[^0-9]*||') - [ ! -e $path/$node ] && /bin/mknod $path/$node b 9 $minor - done - status "Activating RAID arrays" /sbin/mdadm --assemble --scan -fi - -if [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then - if [ -x /sbin/lvm -a -d /sys/block ]; then - # Kernel 2.6.x, LVM2 groups - /sbin/modprobe -q dm-mod 2>/dev/null - stat_busy "Activating LVM2 groups" - /sbin/lvm vgscan --ignorelockingfailure --mknodes >/dev/null - /sbin/lvm vgchange --ignorelockingfailure -a y >/dev/null - if [ $? -ne 0 ]; then - stat_fail - else - stat_done - fi - fi -fi - -# Set up non-root encrypted partition mappings -if [ -f /etc/crypttab -a -n "$(/bin/grep -v ^# /etc/crypttab | /bin/grep -v ^$)" ]; then - /sbin/modprobe -q dm-mod 2>/dev/null - stat_busy "Unlocking encrypted volumes:" - csfailed=0 - CS=/sbin/cryptsetup.static - do_crypt() { - if [ $# -ge 3 ]; then - cname="$1" - csrc="$2" - cpass="$3" - shift 3 - copts="$*" - stat_append "${cname}.." - # For some fun reason, the parameter ordering varies for - # LUKS and non-LUKS devices. Joy. - if [ "${cpass}" = "SWAP" ]; then - # This is DANGEROUS! The only possible safety check - # is to not proceed in case we find a LUKS device - # This may cause dataloss if it is not used carefully - if $CS isLuks $csrc 2>/dev/null; then - false - else - $CS -d /dev/urandom $copts create $cname $csrc >/dev/null - if [ $? -eq 0 ]; then - stat_append "creating swapspace.." - /sbin/mkswap -f -L $cname /dev/mapper/$cname >/dev/null - fi - fi - elif [ "${cpass}" = "ASK" ]; then - printf "\nOpening '${cname}' volume:\n" - - if $CS isLuks $csrc 2>/dev/null; then - $CS $copts luksOpen $csrc $cname < /dev/console - else - $CS $copts create $cname $csrc < /dev/console - fi - elif [ "${cpass:0:1}" != "/" ]; then - if $CS isLuks $csrc 2>/dev/null; then - echo "$cpass" | $CS $copts luksOpen $csrc $cname >/dev/null - else - echo "$cpass" | $CS $copts create $cname $csrc >/dev/null - fi - else - if $CS isLuks $csrc 2>/dev/null; then - $CS -d $cpass $copts luksOpen $csrc $cname >/dev/null - else - $CS -d $cpass $copts create $cname $csrc >/dev/null - fi - fi - if [ $? -ne 0 ]; then - csfailed=1 - stat_append "failed " - else - stat_append "ok " - fi - fi - } - while read line; do - eval do_crypt "$line" - done /dev/null - /sbin/lvm vgchange --ignorelockingfailure -a y >/dev/null - fi - fi -fi - -status "Mounting Root Read-only" /bin/mount -n -o remount,ro / - -FORCEFSCK= -[ -f /forcefsck ] && FORCEFSCK="-- -f" -NETFS="nonfs,nonfs4,nosmbfs,nocifs,nocodafs,noncpfs,nosysfs,noshfs,nofuse,nofuseblk,noglusterfs" - -fsck_reboot() { - echo "Automatic reboot in progress..." - /bin/umount -a - /bin/mount -n -o remount,ro / - /sbin/reboot -f - exit 0 -} - -if [ -x /sbin/fsck ]; then - stat_busy "Checking Filesystems" - FSCK_OUT=/dev/stdout - FSCK_ERR=/dev/null - /sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK >$FSCK_OUT 2>$FSCK_ERR - fsckret=$? - if [ ${fsckret} -gt 1 ]; then - stat_fail - fi - if [ $((${fsckret}&2)) -eq 2 ]; then - echo - echo "********************** REBOOT REQUIRED *********************" - echo "* *" - echo "* The system will be rebooted automatically in 15 seconds. *" - echo "* *" - echo "************************************************************" - echo - /bin/sleep 15 - fsck_reboot - fi - if [ ${fsckret} -gt 1 -a ${fsckret} -ne 32 ]; then - echo - echo "***************** FILESYSTEM CHECK FAILED ****************" - echo "* *" - echo "* Please repair manually and reboot. Note that the root *" - echo "* file system is currently mounted read-only. To remount *" - echo "* it read-write type: mount -n -o remount,rw / *" - echo "* When you exit the maintenance shell the system will *" - echo "* reboot automatically. *" - echo "* *" - echo "************************************************************" - echo - /sbin/sulogin -p - fsck_reboot - fi - stat_done -fi - -stat_busy "Mounting Local Filesystems" -/bin/mount -n -o remount,rw / -/bin/rm -f /etc/mtab* -# make sure / gets written to /etc/mtab -/bin/mount -o remount,rw / -# Write /proc, /sys and /dev to /etc/mtab -if [ -e /proc/mounts ]; then - /bin/grep -e "/proc " -e "/sys " -e "/dev " /proc/mounts >> /etc/mtab -fi -# now mount all the local filesystems -/bin/mount -a -t $NETFS -O no_netdev -stat_done - -status "Activating Swap" /sbin/swapon -a - -stat_busy "Configuring System Clock" -if [ ! -f /var/lib/hwclock/adjtime ]; then - echo "0.0 0 0.0" > /var/lib/hwclock/adjtime -fi -if [ "$TIMEZONE" != "" -a -e "/usr/share/zoneinfo/$TIMEZONE" ]; then - /bin/rm -f /etc/localtime - /bin/cp "/usr/share/zoneinfo/$TIMEZONE" /etc/localtime -fi - -if [ -n "$HWCLOCK_PARAMS" ]; then - /sbin/hwclock --adjust #Adjust for system drift - /sbin/hwclock $HWCLOCK_PARAMS -fi -stat_done - -RANDOM_SEED=/var/lib/misc/random-seed -if [ -f $RANDOM_SEED ]; then - stat_busy "Initializing Random Seed" - /bin/cat $RANDOM_SEED > /dev/urandom - stat_done -fi - -stat_busy "Removing Leftover Files" -/bin/rm -f /etc/nologin &>/dev/null -/bin/rm -f /etc/shutdownpid &>/dev/null -/bin/rm -f /var/lock/* &>/dev/null -/bin/rm -rf /tmp/* /tmp/.* &>/dev/null -/bin/rm -f /forcefsck &>/dev/null -(cd /var/run && /usr/bin/find . ! -type d -exec /bin/rm -f -- {} \; ) -: > /var/run/utmp -/bin/chmod 0664 /var/run/utmp -# Keep {x,k,g}dm happy with xorg -/bin/mkdir /tmp/.ICE-unix && /bin/chmod 1777 /tmp/.ICE-unix -/bin/mkdir /tmp/.X11-unix && /bin/chmod 1777 /tmp/.X11-unix -stat_done - -#status "Updating Shared Library Links" /sbin/ldconfig - -if [ "$HOSTNAME" != "" ]; then - status "Setting Hostname: $HOSTNAME" /bin/hostname $HOSTNAME -fi - -# Set the NIS domain name, if necessary -[ -f /etc/conf.d/nisdomainname ] && . /etc/conf.d/nisdomainname -if [ "$NISDOMAINNAME" != "" ]; then - status "Setting NIS Domain Name: $NISDOMAINNAME" /bin/nisdomainname $NISDOMAINNAME -fi - -status "Updating Module Dependencies" /sbin/depmod -A - -# Flush old locale settings -: >/etc/profile.d/locale.sh -/bin/chmod 755 /etc/profile.d/locale.sh -# Set user defined locale -[ -z "$LOCALE" ] && LOCALE="en_US" -stat_busy "Setting Locale: $LOCALE" -echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh -stat_done - -# Adding persistent network/cdrom generated rules -if [ -f "/dev/.udev/tmp-rules--70-persistent-cd.rules" ]; then - stat_busy "Adding persistent cdrom udev rules" - /bin/cat /dev/.udev/tmp-rules--70-persistent-cd.rules >> /etc/udev/rules.d/70-persistent-cd.rules - stat_done -fi -if [ -f "/dev/.udev/tmp-rules--70-persistent-net.rules" ]; then - stat_busy "Adding persistent network udev rules" - /bin/cat /dev/.udev/tmp-rules--70-persistent-net.rules >> /etc/udev/rules.d/70-persistent-net.rules - stat_done -fi - -/bin/dmesg >| /var/log/dmesg.log - -# End of file -# vim: set ts=2 noet: - -# The part before here is migrated, the rest came from the template -exit 0 - -# /etc/event.d/rc-default guesses 2, so we also assume it's 2. -default_runlevel=2 - -################################################################################ -# Sys-v-init on Linux and variants (=upstart) execute rcS before rc2. -# -# Upstart on jaunty is starts /etc/event.d/rc-default, which -# starts /etc/event.d/rcS which starts /etc/init.d/rcS which -# starts /etc/init.d/rc S which starts the shell scripts in -# /etc/rcS.d/ (does not sound very efficient to me). - -# cinit@cinit-desktop:/etc/event.d$ ls -1 /etc/rcS.d/ | sed 's/^/# /' -# README: not migrated: -# S01mountkernfs.sh: sysfs, proc; ignored spufs, /var/run, /lib/init: migrated -cinit-conf.svc.mount.proc -cinit-conf.svc.mount.sys - -# S01readahead: ignored -# S02hostname.sh: migrated -cinit-conf.svc.hostname.linux $(hostname) - -# S06keyboard-setup: migrated -cinit-conf.svc.keymap.linux - -# S07linux-restricted-modules-common: ignored -# S10udev: migrated -cinit-conf.svc.mount.udev -cinit-conf.svc.local-tuning.udev.ubuntu - -# S11mountdevsubfs.sh: migrated! -cinit-conf.svc.mount.dev-shm -cinit-conf.svc.mount.dev-pts - -# S13pcmciautils: ignored -# S15module-init-tools: not migrated: I think modules should be put into services -# S17procps: migrated -cinit-conf.svc.sysctl.linux - -# S20checkroot.sh: migrated for / -cinit-conf.svc.mount.root - -# S22mtab.sh: manually create mtab; migrated (though a little bit hacky) -cinit-conf.svc.mtab-clean.linux - -# S25brltty: ignored: don't have a braille terminal here to test it -# S30checkfs.sh: ignored, not yet supported, have to find other mountpoints first -# S35mountall.sh: ignored: same as S30checkfs.sh -# S36mountall-bootclean.sh: migrated -# /var/run is not a tempdir, do not clean it -cinit-conf.svc.tmp.clean "/tmp" "/var/tmp" "/var/lock" -cinit-conf.svc.tmp.create "/tmp" "/var/tmp" "/var/lock" - -# S37apparmor: ignored -# S37mountoverflowtmp: ignored, that's a boottime bugfix -# S37udev-finish: no need to migrate, if having correct dependencies. -# S39readahead-desktop: ignored, as it seems not to work here -# S39ufw: disabled here by default -> skip -# S40networking -cinit-conf.svc.network.debian - -# S45mountnfs.sh: migrated, only much smaller -cinit-conf.svc.mount.nfs - -# S46mountnfs-bootclean.sh: already done (cinit-conf.svc.tmp.*) -# S49console-setup: migrated -cinit-conf.svc.setup.console.linux - -# S55bootmisc.sh -# S55urandom -# S70screen-cleanup -# S70x11-common - -cat << eof - -Ubuntu upstart migration completed. - -WARNING: - - This is a "lazy" migration: Ubuntu init scripts are migrated - similar, but not identical. Some services have been skipped, because - they are not necessary with cinit or in general. - - Check /etc/cinit before rebooting with cinit! - -KNOWN BUGS: - - S20checkroot.sh: Only / is being fscked, other partitions are ignored. - -HINT: - - Make sure init=/sbin/cinit is set in your bootloader. - -eof diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.migrate.upstart.ubuntu.jaunty b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.migrate.upstart.ubuntu.jaunty deleted file mode 100755 index d13d5007..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.migrate.upstart.ubuntu.jaunty +++ /dev/null @@ -1,174 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Try to migrate upstarts config from ubuntu jaunty to cinit config -# - -set -e - -# /etc/event.d/rc-default guesses 2, so we also assume it's 2. -default_runlevel=2 - -################################################################################ -# -# Base layout, same for every OS -# -cinit-conf.svc.init -cinit-conf.svc.categories -cinit-conf.svc.init.dependencies - -################################################################################ -# Sys-v-init on Linux and variants (=upstart) execute rcS before rc2. -# -# Upstart on jaunty is starts /etc/event.d/rc-default, which -# starts /etc/event.d/rcS which starts /etc/init.d/rcS which -# starts /etc/init.d/rc S which starts the shell scripts in -# /etc/rcS.d/ (does not sound very efficient to me). - -# cinit@cinit-desktop:/etc/event.d$ ls -1 /etc/rcS.d/ | sed 's/^/# /' -# README: not migrated: -# S01mountkernfs.sh: sysfs, proc; ignored spufs, /var/run, /lib/init: migrated -cinit-conf.svc.mount.proc -cinit-conf.svc.mount.sys - -# S01readahead: ignored -# S02hostname.sh: migrated -cinit-conf.svc.hostname.linux $(hostname) - -# S06keyboard-setup: migrated -cinit-conf.svc.keymap.linux - -# S07linux-restricted-modules-common: ignored -# S10udev: migrated -cinit-conf.svc.mount.udev -cinit-conf.svc.local-tuning.udev.ubuntu - -# S11mountdevsubfs.sh: migrated! -cinit-conf.svc.mount.dev-shm -cinit-conf.svc.mount.dev-pts - -# S13pcmciautils: ignored -# S15module-init-tools: not migrated: I think modules should be put into services -# S17procps: migrated -cinit-conf.svc.sysctl.linux - -# S20checkroot.sh: migrated for / -cinit-conf.svc.mount.root - -# S22mtab.sh: manually create mtab; migrated (though a little bit hacky) -cinit-conf.svc.mtab-clean.linux - -# S25brltty: ignored: don't have a braille terminal here to test it -# S30checkfs.sh: ignored, not yet supported, have to find other mountpoints first -# S35mountall.sh: ignored: same as S30checkfs.sh -# S36mountall-bootclean.sh: migrated -# /var/run is not a tempdir, do not clean it -cinit-conf.svc.tmp.clean "/tmp" "/var/tmp" "/var/lock" -cinit-conf.svc.tmp.create "/tmp" "/var/tmp" "/var/lock" - -# S37apparmor: ignored -# S37mountoverflowtmp: ignored, that's a boottime bugfix -# S37udev-finish: no need to migrate, if having correct dependencies. -# S39readahead-desktop: ignored, as it seems not to work here -# S39ufw: disabled here by default -> skip -# S40networking -cinit-conf.svc.network.debian - -# S45mountnfs.sh: migrated, only much smaller -cinit-conf.svc.mount.nfs - -# S46mountnfs-bootclean.sh: already done (cinit-conf.svc.tmp.*) -# S49console-setup: migrated -cinit-conf.svc.setup.console.linux - -# S55bootmisc.sh: skipped -# S55urandom: skipped, should be done later! -# S70screen-cleanup: skipped, unclean, should be done later! -# S70x11-common: also skipped, want to finish this script. - -################################################################################ -# -# /etc/rc2.d/ migration -# -# cinit@cinit-desktop:/etc/rc2.d$ ls -1 -# README -# S01policykit: ignored -# S10acpid: migrated (without module loading) -cinit-conf.svc.acpid -# Skipping the following ones currently -# S10sysklogd -# S11klogd -# S12dbus -# S16ssh -cinit-conf.svc.sshd -# S20apport -# S20hotkey-setup -# S24hal -# S25bluetooth -# S30gdm -# S50NetworkManager -# S50avahi-daemon -# S50cups -# S50pulseaudio -# S50rsync -# S50saned -# S50system-tools-backends -# S70bootlogs.sh -# S70dns-clean -# S70pppd-dns -# S89anacron -# S89atd -# S89cron -# S90binfmt-support -# S98usplash -# S99acpi-support -# S99laptop-mode -# S99ondemand -# S99rc.local -# S99rmnologin -# S99stop-readahead - -################################################################################ -# -# Enable local login with six getties -# -cinit-conf.svc.agetty 6 - -cat << eof - -Ubuntu upstart migration completed. - -WARNING: - - This is a "lazy" migration: Ubuntu init scripts are migrated - similar, but not identical. Some services have been skipped, because - they are not necessary with cinit or in general. - - Check /etc/cinit before rebooting with cinit! - -KNOWN BUGS: - - S20checkroot.sh: Only / is being fscked, other partitions are ignored. - -HINT: - - Make sure init=/sbin/cinit is set in your bootloader. - -eof diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.read-conf b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.read-conf deleted file mode 100755 index f21a805a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.read-conf +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -hier="${0%/*}" - -: ${CONFDIR:="$("${hier}/cinit-conf.get-confdir")"} - -# read general values and overwrite specific ones later -for conf in ${CONFDIR}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - # short version - eval : \${$NAME:=$(head -n1 "${conf}")} - - # long version - #if eval test -z \$$NAME; then - # eval $NAME=\"$(head -n 1 $conf)\" - # eval export $NAME - #fi -# eval echo $NAME = \$$NAME -done - -# comment out: generated automatically now -#: ${DESTDIR="$(head -n1 "${CONFDIR}/destdir")"} -#: ${SERVICE_CATEGORIES="$(head -n1 "${CONFDIR}/service_categories")"} -#: ${GETTYDIR="${SVCDIR}/$(head -n1 "${CONFDIR}/gettydir")"} -#: ${INSTALL_PROG="$(head -n1 "${CONFDIR}/install_prog")"} -#: ${INSTALL_DIRECTORY="$(head -n1 "${CONFDIR}/install_directory")"} -#: ${C_ON="$(head -n1 "${CONFDIR}/c_on")"} -#: ${C_PARAMS="$(head -n1 "${CONFDIR}/c_params")"} -#: ${C_RESPAWN="$(head -n1 "${CONFDIR}/c_respawn")"} - -# overwrite or set: add destdir and put things together -# R_* = real = should be used in scripts -: ${R_CINIT_DIR:="${DESTDIR}/${CINIT_DIR}"} -: ${R_CINITCONF_DIR:="${R_CINIT_DIR}/${CINITCONFDIR}"} -: ${R_SVC_DIR:="${R_CINIT_DIR}/${SVCDIR}"} - -# T_*: theorethic (not real, usable for linking) -: ${T_CINIT_DIR:="${CINIT_DIR}"} -: ${T_CINITCONF_DIR:="${T_CINIT_DIR}/${CINITCONFDIR}"} -: ${T_SVC_DIR:="${T_CINIT_DIR}/${SVCDIR}"} diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-boot-enable b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-boot-enable deleted file mode 100755 index dd0ce633..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-boot-enable +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# -# Enable a service at boottime: add it to init wants list -# - -set -e - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -. "${__abs_mydir}/cinit-conf.read-conf" - - -if [ $# -lt 1 ]; then - echo "${__myname}: services... " - echo "" - echo " I add the services to init, so they will be started at boot." - echo "" - exit 1 -fi - -SVC="init" - -cinit-conf.svc.dependency.add "${SVC}" "wants" "$@" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-create.template b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-create.template deleted file mode 100755 index 96898b63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-create.template +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Create an almost empty service -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I create templates for your services" - exit 1 -fi - -for svc in $@; do - INSTDIR="${R_SVC_DIR}/${svc}" - - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - - echo -n "Creating template $svc ..." - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}" - - # needs - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - - # wants - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - - # README - cat << eof > "${INSTDIR}/README" -This service was created by $0. - -Please update this README to match the real content. - -Add entries to ${C_NEEDS} for the services this services really needs -(it will not start if one failed to start). - -Add services to ${C_WANTS} for the services this services wants -(it will start if one or more fail)." -eof - - echo "done." -done diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-delete b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-delete deleted file mode 100755 index 77e0b8e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-delete +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Delete services -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I delete your services" - exit 1 -fi - -for svc in "$@"; do - SERVICE="${R_SVC_DIR}/${svc}" - - if [ ! -e "$SERVICE" ]; then - echo "${svc}: does not exists, cannot remove.." - continue - fi - - echo -n "Removing $svc ..." - rm -rf "${SERVICE}" - echo "done." -done diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-off b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-off deleted file mode 100755 index 8ac78b21..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-off +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Select program to start on service stop -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "${__abs_mydir}/cinit-conf.read-conf" - -if [ $# -ne 2 ]; then - echo "${__myname}: service path-to-executable" - exit 1 -fi - -svc="$1"; shift -executable="$1"; shift - -echo "${svc}:${C_OFF}->${executable}" - -ln -sf "${executable}" "${R_SVC_DIR}/${svc}/${C_OFF}" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-on b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-on deleted file mode 100755 index 7b8121c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-on +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Select program to start on service start -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -ne 2 ]; then - echo "$(basename $0): service path-to-executable" - exit 1 -fi - -svc="$1"; shift -executable="$1"; shift - -echo "${svc}:${C_ON}->${executable}" - -ln -sf "${executable}" "${R_SVC_DIR}/${svc}/${C_ON}" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-param.add b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-param.add deleted file mode 100755 index 6daa7059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-param.add +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Select program to start on service start -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 3 ]; then - echo "$(basename $0): service (${C_ON}|${C_OFF}) params..." - exit 1 -fi - -svc="$1"; shift -type="$1"; shift - -while [ $# -gt 0 ]; do - param="$1"; shift - file="${svc}/${type}${C_PARAMS}" - echo "${file}+=${param}" - echo "${param}" >> "${R_SVC_DIR}/${file}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-respawn.off b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-respawn.off deleted file mode 100755 index 1809f43e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-respawn.off +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Disable respawing for a service -# - -set -e - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -# init variables -. "${__mydir}/cinit-conf.read-conf" - -if [ $# -lt 1 ]; then - echo "${__myname}: service-name(s)" - echo " Services will lose their respawn mark" - exit 1 -fi - -for svc in "$@"; do - echo -n "${svc}:respaw->off" - rm -f "${R_SVC_DIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-respawn.on b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-respawn.on deleted file mode 100755 index b00adb14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc-respawn.on +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Enable respawing for a service -# - -set -e - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -# init variables -. "${__mydir}/cinit-conf.read-conf" - -if [ $# -lt 1 ]; then - echo "${__myname}: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -for svc in "$@"; do - echo -n "${svc}:respaw->on" - touch "${R_SVC_DIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.acpid b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.acpid deleted file mode 100755 index f92a80d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.acpid +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start acpid -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 0 ]; then - echo "${__myname}: " - echo "" - echo " I start the old acpid" - echo "" - exit 23 -fi - -SVC="local-services/acpid" -BINARY_PATH="$(which acpid)" -NEEDS="mount/root mount/proc" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-f" - -# no known dependencies -cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.agetty b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.agetty deleted file mode 100755 index a168e5bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.agetty +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Enable agetty (6 times is fine) -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 1 ]; then - echo "${__myname}: " - echo "" - echo " Allow login to your system using agetty" - echo "" - exit 23 -fi -num_getties="$1"; shift - -SVCBASE="local-services/agetty" - -# agetty is called getty within debian/ubuntu -> FIXME: also search for agetty -BINARY_PATH="$(which getty)" -NEEDS="mount/root mount/proc" - -# Create container to hold all the getties -cinit-conf.svc-create.template "${SVCBASE}" - -i=0 -while [ "$i" -lt "$num_getties" ]; do - SVC="${SVCBASE}/$i" - tty="tty${i}" - speed="38400" - - cinit-conf.svc-create.template "${SVC}" - cinit-conf.svc.respawn.on "${SVC}" - cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" - cinit-conf.svc-param.add "${SVC}" "${C_ON}" "${speed}" "${tty}" - - cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - - # add each getty to the "super-getty-service" - cinit-conf.svc.dependency.add "${SVCBASE}" "needs" "${SVC}" - - i=$(($i+1)) -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.categories b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.categories deleted file mode 100755 index 6db485fc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.categories +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Create default categories -# - -. "$(dirname $0)/cinit-conf.read-conf" - -cinit-conf.svc-create.template $SERVICE_CATEGORIES diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.dependency.add b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.dependency.add deleted file mode 100755 index ea94ae95..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.dependency.add +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh -# -# 2008-2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# -# cinit: create dependency: service a needs or wants service b -# - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A="$1"; shift -DEP="$1"; shift - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case "${DEP}" in - wishes|wants) DEP="$C_WANTS" ;; - needs|requires) DEP="$C_NEEDS" ;; - *) echo "Use \"want\" or \"need\" as type of dependency." -esac - -SVC_A_LDIR="${R_SVC_DIR}/${SVC_A}/${DEP}" -# Try to create dependency directory, if it does not exist -if [ ! -d "${SVC_A_LDIR}" ]; then - echo "${SVC_A}:+${DEP}" - mkdir "${SVC_A_LDIR}" -fi - -# allow multiple dependencies to be added in one run -while [ $# -gt 0 ]; do - SVC_B="$1"; shift - - # remove slashes in the name for destination - SVC_B_LNAME="$(echo "$SVC_B" | sed 's#/#-#g')" - SVC_B_SOURCE="${T_SVC_DIR}/${SVC_B}" - SVC_A_LDEST="${SVC_A_LDIR}/${SVC_B_LNAME}" - - echo "${SVC_A} ${DEP} ${SVC_B} (${SVC_B_LNAME})" - ln -sf "${SVC_B_SOURCE}" "${SVC_A_LDEST}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.fsck.linux b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.fsck.linux deleted file mode 100755 index ab522794..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.fsck.linux +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Filesystemcheck -# Warning: Ubuntu has UUIDs: -# root@ubuntu:~# cat /etc/fstab -# /etc/fstab: static file system information. -# -# Use 'vol_id --uuid' to print the universally unique identifier for a -# device; this may be used with UUID= as a more robust way to name devices -# that works even if disks are added and removed. See fstab(5). -# [...] -# UUID=405998e4-63ba-4190-8a69-488bd81b9d39 / ext3 relatime,errors=remount-ro 0 1 -# -# But the mtab of the running system contains the useful entry -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -ne 2 ]; then - echo "$(basename $0): servicename device" - exit 1 -fi - -SVC="$1"; shift -DEVICE="$1"; shift -BINARY_PATH="$(which fsck)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "${DEVICE}" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.getty.add b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.getty.add deleted file mode 100755 index ea4e1815..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.getty.add +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -BASEDIR="${R_SVC_DIR}/${GETTYDIR}" -LAST_NUMBER=$(cd "$BASEDIR" && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.getty.remove b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.getty.remove deleted file mode 100755 index 8a9801dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.getty.remove +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -BASEDIR="$DESTDIR/$CINIT_DIR/$GETTY_DIR" -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR="$BASEDIR/$NUMBER" - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.hostname.linux b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.hostname.linux deleted file mode 100755 index 50eb7737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.hostname.linux +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Setup the hostname -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME="$1" -: ${HOSTNAME_BIN:=/bin/hostname} - -SVC="network/hostname" - -cinit-conf.svc-create.template "${SVC}" -ln -sf "$HOSTNAME_BIN" "${R_SVC_DIR}/${SVC}/${C_ON}" -echo "$HOSTNAME" > "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" - -cinit-conf.svc.dependency.add "${SVC}" needs "mount/proc" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.init b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.init deleted file mode 100755 index 7d6f4329..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.init +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_CINITCONF_DIR}" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}" - -# init must be there. always. -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}/init" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.init.dependencies b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.init.dependencies deleted file mode 100755 index b21ed402..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.init.dependencies +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# cinit: add standard sub-configuration directories to init wants -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -cinit-conf.svc.dependency.add init wants getty -cinit-conf.svc.dependency.add init wants local-services -cinit-conf.svc.dependency.add init wants local-tuning -cinit-conf.svc.dependency.add init wants mount -cinit-conf.svc.dependency.add init wants network diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.keymap.linux b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.keymap.linux deleted file mode 100755 index faa12530..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.keymap.linux +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Setup console keymap -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="local-tuning/keymap" -BINARY_PATH="$(which setupcon)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-k" - -# FIXME: what are the correct dependencies? -cinit-conf.svc.dependency.add "${SVC}" "needs" "mount/proc" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.linux.network.lo b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.linux.network.lo deleted file mode 100755 index 0211a8b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.linux.network.lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.local-tuning.udev.ubuntu b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.local-tuning.udev.ubuntu deleted file mode 100755 index eeb53214..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.local-tuning.udev.ubuntu +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Configure the udev service -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY_PATH="$(which udevadm)" - -SVC="local-tuning/udev" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "settle" - -# dependencies -cinit-conf.svc.dependency.add "${SVC}" needs "mount/sys" -cinit-conf.svc.dependency.add "${SVC}" needs "mount/udev" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.dev-pts b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.dev-pts deleted file mode 100755 index 8d8c0da9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.dev-pts +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount /dev/shm, as specified in Ubuntu: -# -# domount tmpfs shmfs /dev/shm tmpfs -onosuid,nodev$SHM_OPT -# -# - - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="mount/dev-pts" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" - -# Ubuntu: domount devpts "" /dev/pts devpts -onoexec,nosuid,gid=$TTYGRP,mode=$TTYMODE -# root@cinit-desktop:/home/cinit/cinit# grep -e TTYGRP -e TTYMODE /etc/default/* -# /etc/default/devpts:TTYGRP=5 -# /etc/default/devpts:TTYMODE=620 -# root@cinit-desktop:/home/cinit/cinit# awk -F: '$3 ~ /^5$/ { print $1 }' /etc/group -# tty - - -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-n" "-t" "devpts" "devpts" "/dev/pts" "-onoexec,nosuid,gid=5,mode=620" -cinit-conf.svc.dependency.add "${SVC}" "needs" "mount/udev" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.dev-shm b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.dev-shm deleted file mode 100755 index 3466b68f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.dev-shm +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount /dev/shm, as specified in Ubuntu: -# -# domount tmpfs shmfs /dev/shm tmpfs -onosuid,nodev$SHM_OPT -# -# - - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="mount/dev-shm" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-n" "-t" "tmpfs" "-onosuid,nodev" "shmfs" "/dev/shm" -cinit-conf.svc.dependency.add "${SVC}" "needs" "mount/udev" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.getsource b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.getsource deleted file mode 100755 index 9ee21f6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.getsource +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -# FIXME: Skip ^#!, make for generic mounts! -awk '$2 ~ /^\/$/ { print $0 }' < /etc/fstab diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.nfs b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.nfs deleted file mode 100755 index 3bea7463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.nfs +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount NFS shares -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 0 ]; then - echo "${__myname}: " - echo "" - echo " Enable NFS mounts" - echo "" - exit 23 -fi - -SVC="mount/nfs" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-a" "-t" "nfs" - -BINARY_PATH="$(which umount)" -cinit-conf.svc-off "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_OFF}" "-a" "-t" "nfs" - -# NFS mounts always need the network to be up -cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS "network" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.proc b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.proc deleted file mode 100755 index 42ae9171..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.proc +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount /proc -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -# - mount /proc -SVC="mount/proc" - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}/${SVC}" -ln -sf /bin/mount "${R_SVC_DIR}/${SVC}/${C_ON}" -echo proc > "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" -echo -t >> "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" -echo proc >> "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" -echo /proc >> "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.root b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.root deleted file mode 100755 index 17eff913..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.root +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# mount / read/write (and fsck it before) -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -# mount root read/write -SVC="mount/root" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-n" "-o" "remount,rw" "/" - -SVC_FSCK="${SVC}/fsck" -BINARY_PATH="$(which fsck)" -DEV="$(mount | awk '$3 ~ /\/$/ { print $1 }')" - -cinit-conf.svc.fsck.linux "${SVC_FSCK}" "${DEV}" -cinit-conf.svc.dependency.add "${SVC}" "needs" "${SVC_FSCK}" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.swap b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.swap deleted file mode 100755 index 10ca6be3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.sys b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.sys deleted file mode 100755 index fa09253d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.sysfs b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.sysfs deleted file mode 100755 index 05da04f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.sysfs +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount sysfs -# - - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -DDIR="${R_SVC_DIR}/mount/sys/" - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DDIR}" -ln -sf /bin/mount "${DDIR}${C_ON}" -echo sysfs > "${DDIR}${C_ON}${C_PARAMS}" -echo -t >> "${DDIR}${C_ON}${C_PARAMS}" -echo sysfs >> "${DDIR}${C_ON}${C_PARAMS}" -echo /sys >> "${DDIR}${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.udev b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.udev deleted file mode 100755 index 0233336f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mount.udev +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Setup console keymap -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="mount/udev" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-n" "-t" "tmpfs" "-o" "mode=0755" "udev" "/dev" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mtab-clean.linux b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mtab-clean.linux deleted file mode 100755 index ac84719b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.mtab-clean.linux +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Initialise the /etc/mtab file on Linux: -# Ubuntu Jaunty manually creates it, we just ignore it -# and link it to /proc/mounts. -# -# This is probably not the perfect way, as /proc/mounts -# contains more stuff than useful. Maybe we can add a -# "add mount to mtab" dependency to all mount/X/ services, -# that depends on mount/root. -# -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -SVC="local-tuning/cleanup-mtab" -BINARY_PATH="$(which ln)" - -# Is mount/proc needed or is it sane to link to an empty /etc/mtab -# by linking that to a non-existing file? -NEEDS="mount/root mount/proc" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-sf" "/proc/mounts" "/etc/mtab" - -cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.network.debian b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.network.debian deleted file mode 100755 index a8e1ac1a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.network.debian +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start network -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 0 ]; then - echo "${__myname}: " - echo "" - echo " I start all your network devices" - echo "" - exit 23 -fi - -SVC="network/devices" -BINARY_PATH="$(which ifup)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-a" - -# FIXME: Is it really senseful to call ifdown at shutdown? -# Or is that useless anyway? Besides some DHCP_RELEASEs -BINARY_PATH="$(which ifdown)" -cinit-conf.svc-off "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_OFF}" "-a" - -# no known dependencies -#cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.setup.console.linux b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.setup.console.linux deleted file mode 100755 index f9a980ee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.setup.console.linux +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# Setup the Linux console -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 0 ]; then - echo "${__myname}: " - echo "" - echo " Setup Linux console" - echo "" - exit 23 -fi - -SVC="local-tuning/setup-console" -BINARY_PATH="$(which setupcon)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "--force" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.shell b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.shell deleted file mode 100755 index 490ee3de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.shell +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start a shell - the debugging example -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 0 ]; then - echo "${__myname}: " - echo "" - echo " I start a local shell" - echo "" - exit 23 -fi - -SVC="local-services/shell" -BINARY_PATH="$(which sh)" -WANTS="mount/root mount/proc" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-i" -cinit-conf.svc-respawn.on "${SVC}" - -cinit-conf.svc.dependency.add "${SVC}" "wants" $WANTS - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.sshd b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.sshd deleted file mode 100755 index 672b02f2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.sshd +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start sshd -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 0 ]; then - echo "${__myname}: " - echo "" - echo " I start the OpenSSH server (not just sshd, Mike)." - echo "" - exit 23 -fi - -SVC="remote-services/sshd" -BINARY_PATH="$(which sshd)" -#NEEDS="mount/root mount/proc" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-D" - -# no known dependencies -#cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.sysctl.linux b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.sysctl.linux deleted file mode 100755 index e4f21a4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.sysctl.linux +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Load sysctl values -# -# Ubuntu: for file in /etc/sysctl.conf /etc/sysctl.d/*.conf -# - - -. "$(dirname $0)/cinit-conf.read-conf" - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="local-tuning/sysctl" -BINARY_PATH="$(which sysctl)" - -# main service -cinit-conf.svc-delete "${SVC}" -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-p" "/etc/sysctl.conf" - -# create "sub"-services -for file in /etc/sysctl.d/*.conf; do - bsvc="${file##*/}" - bsvc="${bsvc%*.conf}" - svc="${SVC}/${bsvc}" - - cinit-conf.svc-create.template "${svc}" - cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" - cinit-conf.svc-param.add "${svc}" "${C_ON}" "-p" "${file}" - cinit-conf.svc.dependency.add "${SVC}" "needs" "${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.tmp.clean b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.tmp.clean deleted file mode 100755 index 02e6dd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.tmp.clean +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Cleanup temp directories -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -lt 1 ]; then - echo "${__myname}: tmpdirs... " - echo "" - echo " I remove those tempdirs on bootup." - echo "" - exit 23 -fi - -SVC="local-tuning/tmp-clean" -BINARY_PATH="$(which rm)" - -# FIXME: We would need all the related partions to be r/w -# So probably add a warning somewhere or add another argument, -# specifyng other needs -NEEDS="mount/root" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-rf" -cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - -# all other arguments are temp directories -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "$@" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.tmp.create b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.tmp.create deleted file mode 100755 index 3a2d6b5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.tmp.create +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Recreate temp directories -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -lt 1 ]; then - echo "${__myname}: tmpdirs... " - echo "" - echo " I create those tempdirs on bootup." - echo "" - exit 23 -fi - -SVC="local-tuning/tmp/create" -BINARY_PATH="$(which mkdir)" - -# FIXME: We would need all the related partions to be r/w -# So probably add a warning somewhere or add another argument, -# specifyng other needs -NEEDS="mount/root" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" - -# all other arguments are temp directories -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-m" "1777" "$@" - -cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.udev.copy-static b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.udev.copy-static deleted file mode 100755 index 3eb7c10e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.svc.udev.copy-static +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Copny static files to /dev -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="local-tuning/udev/copy-static" -BINARY_PATH="$(which cp)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-a" "/lib/udev/devices/" "/dev/" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.sys-v-init.get-current-runlevel b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.sys-v-init.get-current-runlevel deleted file mode 100755 index aba723f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.sys-v-init.get-current-runlevel +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -runlevel | cut -d " " -f2 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.sys-v-init.migrate-fstab b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.sys-v-init.migrate-fstab deleted file mode 100755 index f3c08736..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit-conf.sys-v-init.migrate-fstab +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -# read root - -# read swap - -# FIXME: read others: later -echo "Warning: Only configuring / and swap, ignoring other devices for now" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.reboot deleted file mode 100755 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.shutdown deleted file mode 100755 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.svc.init b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.svc.init deleted file mode 100755 index bdbfb8cd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.svc.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.svc.linux.debian.ntpdate b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.svc.linux.debian.ntpdate deleted file mode 100755 index 2b9ef315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.svc.linux.debian.ntpdate +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.wait.for.daemon deleted file mode 100755 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/README b/software/cinit/browse_source/cinit-0.3pre18/bugs/README deleted file mode 100644 index 6472dbf7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/README +++ /dev/null @@ -1 +0,0 @@ -This directory is maintained by ditz. diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-0c63a541a2261c7322d6c59a6adb091301020c8d.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-0c63a541a2261c7322d6c59a6adb091301020c8d.yaml deleted file mode 100644 index 5a125ca4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-0c63a541a2261c7322d6c59a6adb091301020c8d.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Create minimal sample configurations for different OS -desc: |- - Similar to what I thought todo in cinit.install.test: - - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar -type: :task -component: portability -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-24 20:14:42.832701 Z -references: [] - -id: 0c63a541a2261c7322d6c59a6adb091301020c8d -log_events: -- - 2009-09-24 20:14:44.120614 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-0d8142c646aa04e8e713fc8f886a44475581c670.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-0d8142c646aa04e8e713fc8f886a44475581c670.yaml deleted file mode 100644 index 4c082d64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-0d8142c646aa04e8e713fc8f886a44475581c670.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: How to handle OS specific signal handlers -desc: |- - -- cinit ignores the Keyboard request - - Currently there is no support to react on 'ctr+alt+del': - - Maybe allow signal handlers to be passed to something like services? -type: :task -component: core -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:29:28.589652 Z -references: [] - -id: 0d8142c646aa04e8e713fc8f886a44475581c670 -log_events: -- - 2009-09-28 05:29:31.033914 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-120cbf62dbdd9a7a026bcbb7d2863599c7183f70.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-120cbf62dbdd9a7a026bcbb7d2863599c7183f70.yaml deleted file mode 100644 index 71b24dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-120cbf62dbdd9a7a026bcbb7d2863599c7183f70.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add install targets -desc: |- - install: - make install => does not overwrite critical targets - * cinit - * *.kill (see client/*) - * cmd - make force-install => overwrites /sbin/{halt,poweroff,reboot}? - => with script that wraps cmd - make install-template: - * creates categories - make install-miniconf: - * creates categories - * creates one service starting a shell (depending on the OS!) -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:42:21.470333 Z -references: [] - -id: 120cbf62dbdd9a7a026bcbb7d2863599c7183f70 -log_events: -- - 2009-09-28 05:42:22.146097 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-1cc421b885608485f73c9041c5c0af71df76331a.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-1cc421b885608485f73c9041c5c0af71df76331a.yaml deleted file mode 100644 index 10759001..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-1cc421b885608485f73c9041c5c0af71df76331a.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Documentate, how to write an init system -desc: So others can redo it. -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:17:05.878201 Z -references: [] - -id: 1cc421b885608485f73c9041c5c0af71df76331a -log_events: -- - 2009-09-29 05:17:06.729534 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-1e83dca921062d97b96830caf24e7898ad4fbbe2.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-1e83dca921062d97b96830caf24e7898ad4fbbe2.yaml deleted file mode 100644 index 1a6a63a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-1e83dca921062d97b96830caf24e7898ad4fbbe2.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: add error handling to cinit.install.binary -desc: Double check the whole installation process -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:32:13.897529 Z -references: [] - -id: 1e83dca921062d97b96830caf24e7898ad4fbbe2 -log_events: -- - 2009-09-28 05:32:14.581391 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml deleted file mode 100644 index d815cbd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "Documentate: How to cross compile" -desc: |- - conf/os to destination os - conf/cc - conf/ld - conf/cflags - conf/ldflags -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-07 06:31:53.866741 Z -references: [] - -id: 25822475f5d01c35eb9edd8d75c065c83032701b -log_events: -- - 2009-09-07 06:31:54.990478 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9.yaml deleted file mode 100644 index 40245817..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9.yaml +++ /dev/null @@ -1,43 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add reason, why service was not started -desc: |- - -------------------------------------------------------------------------------- - csvc: - 11:09 < folken23> telmich: oder service allready started. - -------------------------------------------------------------------------------- - cinit: - 11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. - 11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:36:51.093468 Z -references: [] - -id: 278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9 -log_events: -- - 2009-09-28 05:36:51.957356 Z - - Nico Schottelius - - created - - "" -- - 2009-09-29 05:15:14.622132 Z - - Nico Schottelius - - commented - - |- - And add better status messages: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-29d45f06044e5329dca7f351a17676e65d4e3b38.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-29d45f06044e5329dca7f351a17676e65d4e3b38.yaml deleted file mode 100644 index 7cd1909c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-29d45f06044e5329dca7f351a17676e65d4e3b38.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "Bugfix: SIGCHLD not handled carefully" -desc: "" -type: :task -component: core -release: "0.3" -reporter: Nico Schottelius -status: :in_progress -disposition: -creation_time: 2009-09-29 05:34:17.833638 Z -references: [] - -id: 29d45f06044e5329dca7f351a17676e65d4e3b38 -log_events: -- - 2009-09-29 05:34:18.397430 Z - - Nico Schottelius - - created - - "" -- - 2009-09-29 05:35:28.338069 Z - - Nico Schottelius - - changed status from unstarted to in_progress - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-2a4a3675810b44b05ce51c021690fb3f21725e55.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-2a4a3675810b44b05ce51c021690fb3f21725e55.yaml deleted file mode 100644 index cccc3fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-2a4a3675810b44b05ce51c021690fb3f21725e55.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: write sys-v-init-shutdown-wrapper -desc: |- - So people can use their known tools: - * shutdown - * halt - * reboot - * poweroff -type: :task -component: user interface -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 18:35:44.468421 Z -references: [] - -id: 2a4a3675810b44b05ce51c021690fb3f21725e55 -log_events: -- - 2009-09-28 18:35:45.292294 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-2fda514da472aa15fa57d2df06e8d5cc909016d0.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-2fda514da472aa15fa57d2df06e8d5cc909016d0.yaml deleted file mode 100644 index dc0c9622..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-2fda514da472aa15fa57d2df06e8d5cc909016d0.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Write a small manual -desc: |- - How to - - install - - configure - - boot (different OS) -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 18:37:34.300443 Z -references: [] - -id: 2fda514da472aa15fa57d2df06e8d5cc909016d0 -log_events: -- - 2009-09-28 18:37:35.280232 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-3a620ff450d0c685a5567d25d77230763c835c8e.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-3a620ff450d0c685a5567d25d77230763c835c8e.yaml deleted file mode 100644 index ac9f8430..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-3a620ff450d0c685a5567d25d77230763c835c8e.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Allow non-parallel bootup -desc: For easier debugging and people who are confused with parallel startup -type: :task -component: core -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-10-24 14:18:44.270577 Z -references: [] - -id: 3a620ff450d0c685a5567d25d77230763c835c8e -log_events: -- - 2009-10-24 14:18:44.990439 Z - - Nico Schottelius - - created - - "" -git_branch: diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-3cc14c82109544e198e5cce002c0d94a66e6f4d7.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-3cc14c82109544e198e5cce002c0d94a66e6f4d7.yaml deleted file mode 100644 index 8e7731a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-3cc14c82109544e198e5cce002c0d94a66e6f4d7.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Export service information -desc: Like pid, path, ... -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:18:47.901610 Z -references: [] - -id: 3cc14c82109544e198e5cce002c0d94a66e6f4d7 -log_events: -- - 2009-09-29 05:18:48.369488 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d.yaml deleted file mode 100644 index 35fdf1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add service start/stop -desc: Hack cinit_svc_disable.c -type: :task -component: cinit -release: "0.3" -reporter: Nico Schottelius -status: :in_progress -disposition: -creation_time: 2009-09-29 05:31:38.533662 Z -references: [] - -id: 40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d -log_events: -- - 2009-09-29 05:31:39.209477 Z - - Nico Schottelius - - created - - "" -- - 2009-09-29 05:32:40.681588 Z - - Nico Schottelius - - commented - - "svc_stop vs. svc_disable: coded tired?" -- - 2009-09-29 05:33:27.666143 Z - - Nico Schottelius - - changed status from unstarted to in_progress - - on it... diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-4e460e6061fb5d39549b85d42fc33f57de7a1396.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-4e460e6061fb5d39549b85d42fc33f57de7a1396.yaml deleted file mode 100644 index 01d7564a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-4e460e6061fb5d39549b85d42fc33f57de7a1396.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Maybe create libcinit? -desc: At least for use in cmd() -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:43:27.689712 Z -references: [] - -id: 4e460e6061fb5d39549b85d42fc33f57de7a1396 -log_events: -- - 2009-09-28 05:43:28.069533 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-5bd7befd45553864b1d2ebc12509e06440a402d0.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-5bd7befd45553864b1d2ebc12509e06440a402d0.yaml deleted file mode 100644 index c033e3d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-5bd7befd45553864b1d2ebc12509e06440a402d0.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Documentate how to migrate from another init system -desc: "" -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 20:00:00.854675 Z -references: [] - -id: 5bd7befd45553864b1d2ebc12509e06440a402d0 -log_events: -- - 2009-09-28 20:00:01.450291 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7.yaml deleted file mode 100644 index 5fcbc43d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: add code do implement stopping / restarting service with/without dependency tree -desc: "" -type: :task -component: cinit -release: 0.3.1 -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:33:24.966097 Z -references: [] - -id: 5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7 -log_events: -- - 2009-09-28 05:33:25.929966 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-8391cdbcb30d007bfb692504d9469a93f7c15b97.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-8391cdbcb30d007bfb692504d9469a93f7c15b97.yaml deleted file mode 100644 index a4da0c19..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-8391cdbcb30d007bfb692504d9469a93f7c15b97.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Mase sure cinit runs on POSIX -desc: Double check that there are no linux deps in it anymore (from cinit-0.2) -type: :task -component: portability -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:16:19.961614 Z -references: [] - -id: 8391cdbcb30d007bfb692504d9469a93f7c15b97 -log_events: -- - 2009-09-29 05:16:20.858087 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-85687a7f79046db51429db38e7b1da5234a3675e.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-85687a7f79046db51429db38e7b1da5234a3675e.yaml deleted file mode 100644 index f87e898a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-85687a7f79046db51429db38e7b1da5234a3675e.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: write examples for profiles -desc: |- - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:19:26.941625 Z -references: [] - -id: 85687a7f79046db51429db38e7b1da5234a3675e -log_events: -- - 2009-09-29 05:19:27.345506 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-863a9d56ed460fb45e91d2c555d57133d2286f72.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-863a9d56ed460fb45e91d2c555d57133d2286f72.yaml deleted file mode 100644 index 9716ac2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-863a9d56ed460fb45e91d2c555d57133d2286f72.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add speedup part in documentation -desc: |- - - cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - - Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:30:01.562097 Z -references: [] - -id: 863a9d56ed460fb45e91d2c555d57133d2286f72 -log_events: -- - 2009-09-28 05:30:02.433805 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8.yaml deleted file mode 100644 index 50eaa305..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Create cinit-conf framework or libexec -desc: |- - Maybe include - - cinit_service_modify(name|path) - - cinit_service_create() - interactive - - cinit_service_delete(name|path) - interactive - * has to take care about needs / wants! - - cinit_magic_configuration_generation() - * tries to build a completly fresh configuration, by analysing your system - - Non interactive tools - - cinit_svc_del -type: :task -component: user interface -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:28:48.049604 Z -references: [] - -id: 8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8 -log_events: -- - 2009-09-29 05:28:48.665510 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-b5428a5e8b064827fac8f1bc905cd5b304961f77.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-b5428a5e8b064827fac8f1bc905cd5b304961f77.yaml deleted file mode 100644 index 5666d6be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-b5428a5e8b064827fac8f1bc905cd5b304961f77.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add dumpstate function -desc: |- - It should write a cconfig tree similar to the configuration - Additionally it should contain a "state" field - - This feature is the base for hot-upgrading cinit. -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-10-05 20:57:25.373348 Z -references: [] - -id: b5428a5e8b064827fac8f1bc905cd5b304961f77 -log_events: -- - 2009-10-05 20:57:25.943152 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-bb27c9b51f82dd54eba8baa40aa5e8bba326ea01.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-bb27c9b51f82dd54eba8baa40aa5e8bba326ea01.yaml deleted file mode 100644 index f90ec206..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-bb27c9b51f82dd54eba8baa40aa5e8bba326ea01.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: export profile information -desc: Possible via $CINIT_PROFILE -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:19:54.965525 Z -references: [] - -id: bb27c9b51f82dd54eba8baa40aa5e8bba326ea01 -log_events: -- - 2009-09-29 05:19:55.929526 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-c8d020845511594b4b90bb38a2a839ef6ce4c9c8.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-c8d020845511594b4b90bb38a2a839ef6ce4c9c8.yaml deleted file mode 100644 index 886b3337..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-c8d020845511594b4b90bb38a2a839ef6ce4c9c8.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Cleanup environment before starting child -desc: |- - Close fds, free mem, ... - Chcek what's necessary, what's senseful, ... -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:41:22.857702 Z -references: [] - -id: c8d020845511594b4b90bb38a2a839ef6ce4c9c8 -log_events: -- - 2009-09-28 05:41:23.909476 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-d3732fffad054c5a1f781f28a60015346ad28dd6.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-d3732fffad054c5a1f781f28a60015346ad28dd6.yaml deleted file mode 100644 index fed5b461..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-d3732fffad054c5a1f781f28a60015346ad28dd6.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: write cinit-conf.check -desc: |- - * report broken links in needs/wants - * report circular dependencies -type: :task -component: user interface -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 18:36:27.892997 Z -references: [] - -id: d3732fffad054c5a1f781f28a60015346ad28dd6 -log_events: -- - 2009-09-28 18:36:28.504859 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-d7a7970bd20e1dc0b04f314fee5f39ba90d3d904.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-d7a7970bd20e1dc0b04f314fee5f39ba90d3d904.yaml deleted file mode 100644 index 8b379025..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-d7a7970bd20e1dc0b04f314fee5f39ba90d3d904.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Cleanup contrib+tools -desc: Tools may be old or not even compiling. Cleanup! -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:22:54.298139 Z -references: [] - -id: d7a7970bd20e1dc0b04f314fee5f39ba90d3d904 -log_events: -- - 2009-09-29 05:22:55.166003 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1.yaml deleted file mode 100644 index 27f2d088..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Documentate sleeping behaviour (when respawing processes) -desc: |- - - cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:27:32.721481 Z -references: [] - -id: dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1 -log_events: -- - 2009-09-28 05:27:33.821345 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669.yaml deleted file mode 100644 index 08026edf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: define service status in one document, so repeatition stops -desc: |- - maybe use doxygen? - Chose focus: user | developer -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:31:11.886061 Z -references: [] - -id: e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669 -log_events: -- - 2009-09-28 05:31:12.802016 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-e435cb93810ea790f795fedc2e9afc6475c9c0a8.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-e435cb93810ea790f795fedc2e9afc6475c9c0a8.yaml deleted file mode 100644 index 13713f55..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-e435cb93810ea790f795fedc2e9afc6475c9c0a8.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "FAQ: what happens when a service does not terminate...." -desc: write faq! -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 20:11:41.130314 Z -references: [] - -id: e435cb93810ea790f795fedc2e9afc6475c9c0a8 -log_events: -- - 2009-09-28 20:11:41.862145 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-f10682d63b1059f876c6cdde2323a596dba89d3c.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-f10682d63b1059f876c6cdde2323a596dba89d3c.yaml deleted file mode 100644 index 0685c6f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-f10682d63b1059f876c6cdde2323a596dba89d3c.yaml +++ /dev/null @@ -1,51 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Test new build sytem -desc: |- - Migrate conf/ to general conf/-buildsystem (write documentation for it). - - gpm2 may be an example for this! - - conf/targets: - targets to make available in Makefile and their dependencies - - abstract the build-process somehow, so one can create build-targets? - - c-programs/ (includes cc / ld) - cinit (link to conf/object_listings cinit?) - conf/object_listings - lists of dependencies: - conf/object_listings/cinit contains all objects needed for cinit - - conf/programs/ - like cc, ld, install, ... - - conf/built-options/ - like --... in ./configure - - conf/install/ - - options/ - destdir (prefixed before everything) - prefix (standard prefix) - bin (relative to prefix, if not beginning with a /) - sbin (relative to prefix, if not beginning with a /) - lib (relative to prefix, if not beginning with a /) - targets/ - cinit/ - built-target (link to conf/targets/cinit) - destination (relative to -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:21:55.313650 Z -references: [] - -id: f10682d63b1059f876c6cdde2323a596dba89d3c -log_events: -- - 2009-09-29 05:21:55.845402 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3.yaml deleted file mode 100644 index 23949d0a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Check shutdown code -desc: To verify the right way -type: :task -component: core -release: "0.3" -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:34:46.305951 Z -references: [] - -id: fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3 -log_events: -- - 2009-09-29 05:34:46.774065 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-fea40277e32b0bd747d7f47a68d41009fc046fd9.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-fea40277e32b0bd747d7f47a68d41009fc046fd9.yaml deleted file mode 100644 index 57911dc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/issue-fea40277e32b0bd747d7f47a68d41009fc046fd9.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: add logging support for services -desc: Similar to DJB tools? multilog? -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:18:00.717667 Z -references: [] - -id: fea40277e32b0bd747d7f47a68d41009fc046fd9 -log_events: -- - 2009-09-29 05:18:01.146029 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre18/bugs/project.yaml b/software/cinit/browse_source/cinit-0.3pre18/bugs/project.yaml deleted file mode 100644 index 490b5cff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/bugs/project.yaml +++ /dev/null @@ -1,44 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/project -name: cinit -version: "0.5" -components: -- !ditz.rubyforge.org,2008-03-06/component - name: cinit -- !ditz.rubyforge.org,2008-03-06/component - name: core -- !ditz.rubyforge.org,2008-03-06/component - name: user interface -- !ditz.rubyforge.org,2008-03-06/component - name: portability -- !ditz.rubyforge.org,2008-03-06/component - name: documentation -- !ditz.rubyforge.org,2008-03-06/component - name: build -releases: -- !ditz.rubyforge.org,2008-03-06/release - name: "0.3" - status: :unreleased - release_time: - log_events: - - - 2009-09-07 06:28:02.974644 Z - - Nico Schottelius - - created - - The first cleaned up version -- !ditz.rubyforge.org,2008-03-06/release - name: future - status: :unreleased - release_time: - log_events: - - - 2009-09-07 06:29:14.264777 Z - - Nico Schottelius - - created - - All things to be fixed in the future. -- !ditz.rubyforge.org,2008-03-06/release - name: 0.3.1 - status: :unreleased - release_time: - log_events: - - - 2009-09-28 05:32:55.870041 Z - - Nico Schottelius - - created - - Bugfix of 0.3 diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/.README b/software/cinit/browse_source/cinit-0.3pre18/conf/.README deleted file mode 100644 index c4d984c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/.README +++ /dev/null @@ -1,7 +0,0 @@ -This is an example for a cinit and cinit-conf configuration. - -The first line of a file contains the configuration value, -the rest of the file may contain a description. - -The conf/ directory is shared by cinit and cinit-conf and may contain files that -are only relevant for one of the two projects. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre18/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre18/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_desaster b/software/cinit/browse_source/cinit-0.3pre18/conf/c_desaster deleted file mode 100644 index 153a63cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_desaster +++ /dev/null @@ -1,5 +0,0 @@ -/bin/sh - -The path to a program, that we execute if nothing -else helps. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_env b/software/cinit/browse_source/cinit-0.3pre18/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_init b/software/cinit/browse_source/cinit-0.3pre18/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_last b/software/cinit/browse_source/cinit-0.3pre18/conf/c_last deleted file mode 100644 index 8debf155..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_last +++ /dev/null @@ -1,7 +0,0 @@ -last - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -This maybe a shellscript with the OS-specific umount procedure (like umount -a), -see doc/user/configuring.cinit for more details. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre18/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_off b/software/cinit/browse_source/cinit-0.3pre18/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_on b/software/cinit/browse_source/cinit-0.3pre18/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre18/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_params b/software/cinit/browse_source/cinit-0.3pre18/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre18/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre18/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre18/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre18/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre18/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre18/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/cc b/software/cinit/browse_source/cinit-0.3pre18/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/cflags b/software/cinit/browse_source/cinit-0.3pre18/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre18/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/cinitconfdir b/software/cinit/browse_source/cinit-0.3pre18/conf/cinitconfdir deleted file mode 100644 index 9dc3b52b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/cinitconfdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -General cinit-configuration (below cinitdir) diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/destdir b/software/cinit/browse_source/cinit-0.3pre18/conf/destdir deleted file mode 100644 index 3326ace6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/destdir +++ /dev/null @@ -1,6 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. - -cinit-conf uses this file for installing the configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/gettydir b/software/cinit/browse_source/cinit-0.3pre18/conf/gettydir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/gettydir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre18/conf/install_directory deleted file mode 100644 index 80cab694..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to pass to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre18/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre18/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/ld b/software/cinit/browse_source/cinit-0.3pre18/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre18/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre18/conf/max_delay deleted file mode 100644 index 30725bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/max_delay +++ /dev/null @@ -1,4 +0,0 @@ -30 - -Maximum number of seconds to sleep between retrying to start it -(respawn only). diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre18/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre18/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre18/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre18/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/os b/software/cinit/browse_source/cinit-0.3pre18/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre18/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre18/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre18/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/prefix b/software/cinit/browse_source/cinit-0.3pre18/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/profile b/software/cinit/browse_source/cinit-0.3pre18/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre18/conf/service_categories deleted file mode 100644 index 92a5a683..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/service_categories +++ /dev/null @@ -1,3 +0,0 @@ -local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as 'pseudo-services'. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre18/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/strip b/software/cinit/browse_source/cinit-0.3pre18/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre18/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre18/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre18/conf/version b/software/cinit/browse_source/cinit-0.3pre18/conf/version deleted file mode 100644 index 35c08b90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre18" - -The version of cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/Makefile deleted file mode 100644 index 23cc41f0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o usage.o mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/cconfig.graph.xml.rb deleted file mode 100755 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/cinit-vis.pl deleted file mode 100755 index 4a439fc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/svc/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/cinit.graph.text.c deleted file mode 100644 index 5e5316ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -//#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.graph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.graph.text - textual representatio of the cinit directory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.graph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/cinit.h b/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/cinit.h deleted file mode 100644 index cbde3195..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/cinit.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Dummy header file to intgrate mini_printf and usage - */ - -#ifndef CINIT_DUMMY_HEADER -#define CINIT_DUMMY_HEADER - -void usage(char *banner, char *text); -void mini_printf(char *str,int fd); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100755 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/mini_printf.c deleted file mode 120000 index 3e9a596c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/mini_printf.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/mini_printf.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/usage.c b/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/usage.c deleted file mode 120000 index c26691ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/contrib+tools/usage.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/usage.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre18/doc/.buildwarn deleted file mode 100644 index 41183a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/.buildwarn +++ /dev/null @@ -1,24 +0,0 @@ - -Welcome to the cinit -******************** - -Hints: ------- - - Settings can be found in conf/* (also used for compiling) - - Cinit configuration is normally found in /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text BEFORE installing. - -Building cinit --------------- - - "make all" - to build cinit - "make install" - to install cinit, documentation and core tools - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/COPYING b/software/cinit/browse_source/cinit-0.3pre18/doc/COPYING deleted file mode 100644 index 94a9ed02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/COPYING +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/CREDITS b/software/cinit/browse_source/cinit-0.3pre18/doc/CREDITS deleted file mode 100644 index febdcf4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/CREDITS +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: ls -l) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding -Tonnerre Lombard - * NetBSD support (host + hints) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre18/doc/Makefile deleted file mode 100644 index 0daac842..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -A2X=a2x -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text man/halt.kill.text man/poweroff.kill.text \ - man/reboot.kill.text man/cmd.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DEVELDOCS = devel/codingguideline.text -DOCS = $(MANDOCS) $(USERDOCS) $(DEVELDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -#TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpages" - @echo "pdf: only generate pdfs (requires: fop)" - -install: $(DOC_ALL) - @echo "===> Copy " man/*.[0-9] "to the correct manpaths" - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -#%.man: %.mandocbook -# ${DOCBOOKTOMAN} --to-stdout $< > $@ - -%.man: %.text - ${A2X} -f manpage $< - -%.pdf: %.text - ${A2X} -f pdf $< - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - rm -f man/*.texi man/*.xml man/*.[0-9] - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/README.text b/software/cinit/browse_source/cinit-0.3pre18/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/Changelog b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/TODO.lucky b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/TODO.lucky deleted file mode 100644 index 3ac57ee5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/TODO.lucky +++ /dev/null @@ -1,16 +0,0 @@ -18:18 hey, ich hatte gerade ein wenig lust mich mit cinit zu befassen, hier also mein - kleiner bug-report: in src/include fehlt cinit.h, (alles auf das aktuelle - tarball bezogen), ich hab's aus pre9 genommen, hatte ich noch da, da git nicht - wollte(Cannot get remote repository information.), ausserdem hast du _ statt - - in doc/man/cinit.text verwendet bei der email, das mag docbook nicht, die - beiden zeilen habe ich korrigiert, danch ging schon mal make all und auch make - ins -18:35 und warum installiert er die man pages nicht mit? -07:20 so, kleiner zwischenbericht, das argv problem bei lvm gibt es mit pre10 nicht - mehr, d.h. dass man auch kein shell-skript mehr braucht um lvm/luks-devices zu - mounten :) -07:20 soweit sieht eig. alles gut aus -07:21 wenn das so bleibt, dann werd' ich dauerhaft auf cinit umsteigen :) -07:21 und wenn sich die gelegenheit bietet, dann stell ich cinit auch mal in der - info-ag von unserer schule vor :) - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/root-vm-testing b/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/root-vm-testing deleted file mode 100644 index a8773dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/root-vm-testing +++ /dev/null @@ -1,9 +0,0 @@ -[19:33] denkbrett:root% cat uml-mount.sh -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl - -denkbrett# tar cfj ~nico/projekte/cinit/conf-vm-2007-03-05.tar.bz2 cinit -denkbrett# chown -R nico cinit -denkbrett# chown nico ../sbin - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/shutdown.text deleted file mode 100644 index ac76425d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/shutdown.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} - * no, implemented that directly into cinit! -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process - * create mappers for target OS - - Linux - - {free,net,open}bsd - - others may contribute theirself -- also implement poweroff - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement halt - * kill -USR1 1 - - -The implementation ------------------ -x shutdown is initiated -x disable communication (nobody can influence us anymore) -x install special signal handler? - - no. we do not care about zombies anymore, we are gone soon anyway - - simply reset to the default -- begin to shutdown services - * where to start? - * begin shutdown at the end of the tree, viewing/sorting it by the 'needed_by' - -> where to begin sort? - -> worst implementation: scan all services (easy for now) - -> result: list of services, that noone needs :-) - * stop those services and step above - - stop a service, as soon as noone needs it anymore - * check all needed_by links - * more or less the inverted gen_svc_tree -- how to shutdown a service - * if existing, call off - - if off does not exist: - * if respawn: send sigterm to the process - * also implement sigkill at this stage? - - think we can delay it to the end - - otherwise users can use off! - - implement environment for off ($cinit_respawn_pid, $cinit_service_name) - - do *NOT* care about the return value, we can't do anything for it - anymore anyway -- after all services are shutdown, kill all remaining services - * SIGTERM - * wait(defined_time_in_seconds) - * SIGKILL -- call the last command - * to cleanup the system - - umount -a (if needed) - - swapoff (if needed) - - sync (if needed) -- switch off diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/sizes b/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/sizes deleted file mode 100644 index ddd30f75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/braindumps/sizes +++ /dev/null @@ -1,6 +0,0 @@ -sysvinit: -root 1 0.0 0.0 1944 648 ? Ss 02:12 0:00 init [2] - -cinit-0.3pre8-glibc-linux: -compiler 25323 0.0 0.0 1564 392 pts/2 S+ 20:22 0:00 ./cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.1 b/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.1 deleted file mode 100644 index a0db62e6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.1 +++ /dev/null @@ -1,2 +0,0 @@ -* Initial release -* Support for adding getties diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.3pre15 deleted file mode 100644 index bd197d02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.3pre15 +++ /dev/null @@ -1,3 +0,0 @@ -Released: 2009-09-23 -Changes: - * Changed child handling (no function calls in sig_child handler anymore) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.3pre16 b/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.3pre16 deleted file mode 100644 index 6749eede..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.3pre16 +++ /dev/null @@ -1,6 +0,0 @@ -Released: 2009-09-29 -Changes: - * Re-integrated cinit-conf - * Merged READE and cinit website - * Cleaned up bin/: Executables can now be installed - * Cleaned up top level directory diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.3pre17 b/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.3pre17 deleted file mode 100644 index ec103f77..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.3pre17 +++ /dev/null @@ -1,3 +0,0 @@ -Released: 2009-10-05 -Changes: - * Populated bin/ with a lot of scripts to migrate ubuntu/upstart to cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.3pre18 b/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.3pre18 deleted file mode 100644 index 40dfc92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/changes/0.3pre18 +++ /dev/null @@ -1,4 +0,0 @@ -Released: 2009-11-05 -Changes: - * Added script to partially migrate Ubuntu Jaunty almost completly to cinit - * Added script to create minimal configuration (cinit-conf.config.shell) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/changes/00-before-0.3pre15 b/software/cinit/browse_source/cinit-0.3pre18/doc/changes/00-before-0.3pre15 deleted file mode 100644 index ce8f4b43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/changes/00-before-0.3pre15 +++ /dev/null @@ -1,108 +0,0 @@ -cinit-0.3pre14: 2008-03-17 - - Added test-suite for cmd - - Added support to shutdown services in cinit and cmd - (without needs and wants) - - Added linux-sysvinit wrapper for shutdown (See - scripts/wrapper/linux-sysvinit/shutdown) - - Rewrote most parts of cmd (to make it more beautiful) - - Changed license to GPL 3.0 - -cinit-0.3pre13: 2007-09-26 - - Added -V (get cmd version), -h (help), -p (get pid) to cmd - - Cleaned up namemsage in msgq.h - - Added global service lock - - Splitted of svc.h to svc.h, svc-intern.h and svc-messages.h - - Prepared logic splitoff from cinit_ipc_listen() - - Fixed bug: fork() has a general race condition - (see src/test/fork-latency.c) through use of global lock - -cinit-0.3pre12: 2007-09-06 - - Added DESTDIR support - - Added support to get service status via cmd: cmd -s - * also supports relative paths to CINIT_DIR ("/etc/cinit") - - Fixed git clone problem: hooks are needed for dumb git - - Fixed bug: We did not wait for services to finsh, which we depend on being - ran once. - -cinit-0.3pre11: 2007-09-01 - - Added basic communication: - * client binary "cmd" with argument -v returns cinit-version - - Updated {halt,reboot,poweroff}.kill - -cinit-0.3pre10: - - Fixed make install target - - Added halt.kill, poweroff.kill and reboot.kill (including manpages!) - - Fixed invalid comparision in core/cinit.c - - Be verbose: Print what we execute - - Updated documentation - -cinit-0.3pre9: 2007-05-15 - - Implemented sleeping before respawn (static delay) - - Report broken links on execution, but ignore empty services - - Cleaned up message queue error reporting - -cinit-0.3pre8: 2007-04-06 - - Updated and merged documentation: Codingstyle and Codingguide - - Cleaned sigaction-code (fixes segfault on glibc) - - Cleaned object listings - - Added notifications at shutdown - - Fixed status check - -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/Doxyfile b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/Doxyfile deleted file mode 100644 index d7de54af..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/Doxyfile +++ /dev/null @@ -1,305 +0,0 @@ -# Doxyfile 1.5.6 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = cinit -PROJECT_NUMBER = 0.3pre15 -OUTPUT_DIRECTORY = /home/user/nico/oeffentlich/computer/projekte/cinit/doxygen -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = YES -STRIP_FROM_PATH = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = NO -QT_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = NO -INHERIT_DOCS = YES -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 3 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO -OPTIMIZE_FOR_FORTRAN = NO -OPTIMIZE_OUTPUT_VHDL = NO -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -SIP_SUPPORT = NO -IDL_PROPERTY_SUPPORT = YES -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -TYPEDEF_HIDES_STRUCT = NO -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = YES -EXTRACT_PRIVATE = YES -EXTRACT_STATIC = YES -EXTRACT_LOCAL_CLASSES = YES -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = YES -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = YES -SORT_BRIEF_DOCS = NO -SORT_GROUP_NAMES = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = YES -SHOW_DIRECTORIES = NO -SHOW_FILES = YES -SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.f90 \ - *.f \ - *.vhd \ - *.vhdl \ - *.C \ - *.CC \ - *.C++ \ - *.II \ - *.I++ \ - *.H \ - *.HH \ - *.H++ \ - *.CS \ - *.PHP \ - *.PHP3 \ - *.M \ - *.MM \ - *.PY \ - *.F90 \ - *.F \ - *.VHD \ - *.VHDL -RECURSIVE = YES -EXCLUDE = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src/ancient/ \ - /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src/test/ -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = YES -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = YES -REFERENCES_RELATION = YES -REFERENCES_LINK_SOURCE = YES -USE_HTAGS = NO -VERBATIM_HEADERS = YES -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = YES -GENERATE_HTMLHELP = NO -GENERATE_DOCSET = NO -DOCSET_FEEDNAME = "Doxygen generated docs" -DOCSET_BUNDLE_ID = org.doxygen.Project -HTML_DYNAMIC_SECTIONS = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -CHM_INDEX_ENCODING = -BINARY_TOC = NO -TOC_EXPAND = NO -DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = NONE -TREEVIEW_WIDTH = 250 -FORMULA_FONTSIZE = 10 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = YES -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = YES -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = NO -MSCGEN_PATH = -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = YES -DOT_FONTNAME = FreeSans -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 1000 -DOT_TRANSPARENT = YES -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = NO diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/cinit-status-translation.dia b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/cinit-status-translation.dia deleted file mode 100644 index 55935dd0..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/cinit-status-translation.dia and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/cinit-status-translation.png b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/cinit-status-translation.png deleted file mode 100644 index 6bafa119..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/cinit-status-translation.png and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/codingguideline.text b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/codingguideline.text deleted file mode 100644 index d4686d8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/codingguideline.text +++ /dev/null @@ -1,149 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. -Indent variable names, so the names begin all at the same position. -Use three spaces to place them. - - -Whitespaces ------------ -Where to put or avoid whitespaces (space or linefeed (lf)). - - -Spaces -~~~~~~ -- After closing brace "if(test) return 0;" -- Spaces before and after '=', '>', '<', '==', '!='', '>=', '<=', '>>', '<<', '&', '&&', '|', '||' -- After start of comment and before end of comment: '/* text */' - - - After ')', ',' - -No spaces -~~~~~~~~~ -- Within braces and code "(!test)", -- Before braces "if(code)" -- No space before ), so if '))', do not put a space after the first ')' - - -Linebreaks -~~~~~~~~~~ -This somehow includes the setting of braces (indirectly through (not) setting -spaces. - -If -^^ - -Put the if, the braces and the opening curly brace on one line, -put the closing one together with `else` and the new opening -curly brace on one line: - ------------------------------------------------------------------------------- -if(...) { - /* code */ -} else { - /* else: code */ -} ------------------------------------------------------------------------------- - -While -^^^^^ ------------------------------------------------------------------------------- -while(condition) { - /* repeat */ -} ------------------------------------------------------------------------------- - -Do-While -^^^^^^^^ ------------------------------------------------------------------------------- -do { - /* something */ -} while(running); ------------------------------------------------------------------------------- - -Switch -^^^^^^ - ------------------------------------------------------------------------------- -switch(value) { - case DO_SOMETHING: - /* code */ - break; - default: - break; -} ------------------------------------------------------------------------------- - - - -Where to put curly braces -------------------------- - -Functions -~~~~~~~~~ -Opening and closing curly braces are placed on a seperate row: - ------------------------------------------------------------------------------- -int func(int params) -{ - body -} ------------------------------------------------------------------------------- - - -If, else, while, do-while -~~~~~~~~~~~~~~~~~~~~~~~~~ -See above. - - -Comments ---------- -where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - -If there is more than one line containing a comment, try to adjust them -so they look the same in width and position: - ------------------------------------------------------------------------------- - int illuminati = 23; /* do not want to comment that */ - int the_answer_to_everything = 42; /* 42. */ - - [...] - - while(illuminati < the_answer_to_everything) { /* only try before them */ - overtake_world(&self); /* overtake is complex */ - } ------------------------------------------------------------------------------- - - -Header -------- -Put a header into each file, containing: - - - Date of file being put into existence (year is enough) - - Name and e-mail (obfuscated if you want) of the author(s) - - Description of the function - - Copyright statement (if not included GPLv2 or later is assumed) - - -Includes -~~~~~~~~ -Include system headers first, then place own headers. Comment the includes, -wherefore you added them. Example: - ------------------------------------------------------------------------------- -#include /* write */ -#include "cinit.h> /* cinit_ipc_* */ ------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/communication.text deleted file mode 100644 index 64ea30cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/communication.text +++ /dev/null @@ -1,248 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - - -Numbers -~~~~~~~ -Can be found in include/cinit.h. - - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -Can't use a structure, were missing the point that we cannot transfer dynamic -length strings. Thus the protocol consists of: - - client(int) => cinit - cinit(ini) => client - => after that follows command specific data - -The byte order is host specific (may be little or big endian). - -STRUCTURE WITH STATIC SIZE. MSGRCV! -IPC LAYER CREATES TRANSPORT! - -Type -~~~~ -Messages are binary data. - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: What's the status of service XYZ? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Code, length of service name, the service name (without \0). -int, int, char[]; - - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/ipc.text deleted file mode 100644 index e57ac039..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/ipc.text +++ /dev/null @@ -1,169 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - -Abstraction layer: cinit_ipc_* ------------------------------- -You can choose or even reimplement ipc code for cinit. You only have to create -a directory below src/ipc/ and create the following necessary functions: - -int cinit_ipc_init(void); -~~~~~~~~~~~~~~~~~~~~~~~~~ -Initialise the IPC functions in cinit. - - -int cinit_ipc_listen(void); -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Never ending looping function that listens for commands and passes the -retrieved command to read_command(). - -other -~~~~~~ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - - -cinit_get_data(int ident, int size, void *data) => read size bytes from client -with ident - -/***************************************************************************** - * Functions: in clients - */ - int cinit_ipc_logon(void); /* logon to init (client init) */ - int cinit_ipc_connect(void); /* connect to init */ - int cinit_ipc_csend(struct cinit_message *data); /* send to the server from a client */ - - --------------------------------------------------------------------------------- -Messages: - - struct cinit_question qsn; - struct cinit_answer asr; - -question: - -answer: - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) - -> return 0 on ipc errors - --------------------------------------------------------------------------------- -enable / disable services: - - - send svc - - send flags - - - recv return: - CINIT_ASW_SVC_STOPPED: successfully stopped the service - - CINIT_ASW_SVC_ERR: failed to stop the service - CINIT_ASW_SVC_WANTS: wants failed - CINIT_ASW_SVC_NEEDS: needs failed - opt contains number of failed services - retriev them from cinit after that - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/testing-cinit-in-vm.text b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/testing-cinit-in-vm.text deleted file mode 100644 index 824b94c9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/testing-cinit-in-vm.text +++ /dev/null @@ -1,11 +0,0 @@ - -m = manually -a = automated - -m Install OS of your choice into KVM, including make, gcc, ssh and rsync -m Startup VM -a Transfer data to VM -a Compile cinit on VM -a Install cinit and configuration on VM -m Configure bootloader to add cinit as alternative choice -m Reboot and start cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre18/doc/devel/testing.text deleted file mode 100644 index 6ac0b6da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/devel/testing.text +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. - - - --------------------------------------------------------------------------------- -Using a raw (x86) hd image: -Access partition 1 via losetup: - -sudo losetup -o 32256 /dev/loop0 "$hierabs/debian-hd.img" -linux ubd0=/dev/loop0 init=/sbin/cinit "$@" - -Offset was taken from fdisk: - -[19:22] denkbrett:emu# fdisk -l -u /dev/sda - -Disk /dev/sda: 80.0 GB, 80026361856 bytes -255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors -Units = sectors of 1 * 512 = 512 bytes -Disk identifier: 0x1669c708 - - Device Boot Start End Blocks Id System -/dev/sda1 63 19535039 9767488+ 83 Linux -/dev/sda2 19535040 23438834 1951897+ 82 Linux swap / Solaris -/dev/sda3 23438835 156296384 66428775 83 Linux - -===> 63*512bytes spaeter beginnt sda1 - -[19:23] denkbrett:~% echo 512\*63 |bc -l -32256 - -Results in losetup -o 32256 /dev/loop0 ./debian-hd.img - -Scripts from the nsbin project (lo-*) can be used. -It can be found at http://unix.schottelius.org/cgi-bin/gitweb.cgi. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/README deleted file mode 100644 index f803f9b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains example configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/README deleted file mode 100644 index a862330c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/README +++ /dev/null @@ -1 +0,0 @@ -Example configurations for cinit-0.3. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/README deleted file mode 100644 index 0b059353..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/README +++ /dev/null @@ -1,5 +0,0 @@ -This directory contains configuration examples from -'denkbrett' which is Nico Schottelius' main notebook. - -It's a x86 Linux notebook, so x86 and Linux specific -services will be loaded (like acpid, udev). diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 deleted file mode 100644 index 22889cc0..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README deleted file mode 100644 index e0582b25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -shell running, getty missing diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 deleted file mode 100644 index bc129f72..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README deleted file mode 100644 index b5a39918..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -getty on tty2 running, but displays -"Unable to determine your tty name". -Possibly problem with empty /dev. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 deleted file mode 100644 index 2b1bc744..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README deleted file mode 100644 index 9f87a662..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added fsck for root filesystem -and added (currently) unneeded /proc service. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 deleted file mode 100644 index 31a73e9a..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README deleted file mode 100644 index 3f43b0d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added needs /proc to getty/1 and 2. -Now we can login through getty! diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 deleted file mode 100644 index 9a490a32..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README deleted file mode 100644 index cb778400..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added service "network/hostname" and added it as wants to -the gettys. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 deleted file mode 100644 index 42d30cdc..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README deleted file mode 100644 index b1aac768..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added respawn to the rescue-shell and the gettys. -Also added TERM=linux so agetty can pass that to -the shell. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 deleted file mode 100644 index 9b75a07b..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README deleted file mode 100644 index cdedced3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added eth0 and a driver loader as well as added it -to the init list. If everything goes well, I'll have -dynamic network running after reboot :-) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 deleted file mode 100644 index 2a50bf51..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README deleted file mode 100644 index d54c9da3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added luksopen and dm_crypt support. UNTESTED. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 deleted file mode 100644 index 4d53ad3c..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README deleted file mode 100644 index 6e166f28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added acpid, removed luksopen currently from the dependency -list. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 deleted file mode 100644 index 7af7167f..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README deleted file mode 100644 index b45f2595..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added support for the loopback device (network/loopback). diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 deleted file mode 100644 index 907f4bf1..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README deleted file mode 100644 index 0fa9cf4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added two more getties: getty/3 and getty/4 and added -them to init/needs. And yes, this configuration is in -use on my production system :-) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 deleted file mode 100644 index f91c0c58..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README deleted file mode 100644 index 80b538b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added unicode_start/stop and made it wants for gettys. -Added the sys-v-init-udev-script to init/wants, I am currently -to lazy to reimplement the whole udev bunch. Anyone else? ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 deleted file mode 100644 index 98454c86..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README deleted file mode 100644 index 78e81d56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Sleep before kill decreased to 2. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 deleted file mode 100644 index 1880c52d..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README deleted file mode 100644 index 740026e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added support for cpufreq (ondemand) on IBM T60. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 deleted file mode 100644 index f79a8ee6..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README deleted file mode 100644 index bfc5c0ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added mount /proc as requirement for acpid! diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 deleted file mode 100644 index a2b8fdea..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README deleted file mode 100644 index 3493ca3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added dmesg -n1 so there's less noise on startup. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 deleted file mode 100644 index 8df7a9c9..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README deleted file mode 100644 index cb6f8d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README +++ /dev/null @@ -1,7 +0,0 @@ -- Added needs: - unicode / console: /proc - udev: /proc - syslog-ng: mount/root - -- fixed mount/root/fsck: missed "then" - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 deleted file mode 100644 index 33f75a62..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README deleted file mode 100644 index 07e6f29e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added respawn for syslog-ng diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 deleted file mode 100644 index e3b7df82..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README deleted file mode 100644 index 650274b7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Add TERM=linux to console-unicode and also depend it on udev so -devices are existing. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 deleted file mode 100644 index d8c7dd55..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README deleted file mode 100644 index f6d5eb89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -acpid needs to write to /var/run! diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last deleted file mode 100755 index f722a251..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -umount -a -sync -# report, there should be nothing left -ps axuwww -umount -a diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last.params deleted file mode 100755 index ec169e3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last.params +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -echo "This is the last command executed" -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill deleted file mode 100644 index 7ed6ff82..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill.README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill.README deleted file mode 100644 index e9d11095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill.README +++ /dev/null @@ -1,2 +0,0 @@ -Test with 30 seconds sleep, that is really enough to see if it differs from -builtin 2 seconds. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/proc b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.env b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.params deleted file mode 100644 index db1290b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty1 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/respawn b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/hostname b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/proc b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.env b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.params deleted file mode 100644 index bc8c9b28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty2 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/respawn b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/hostname b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/proc b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.env b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.params deleted file mode 100644 index 7efd5e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty3 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/respawn b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/hostname b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/proc b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.env b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.params deleted file mode 100644 index 47e2d7a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty4 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/respawn b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/hostname b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/acpid b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/acpid deleted file mode 120000 index 88098497..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/acpid +++ /dev/null @@ -1 +0,0 @@ -../../local-services/acpid \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/eth0.dhcp b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/eth0.dhcp deleted file mode 120000 index 8d2c9b8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/eth0.dhcp +++ /dev/null @@ -1 +0,0 @@ -../../network/eth0.dhcp \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-2 deleted file mode 120000 index 92f3bf2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-2 +++ /dev/null @@ -1 +0,0 @@ -../../getty/2 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-3 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-3 deleted file mode 120000 index 9c0aeaed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-3 +++ /dev/null @@ -1 +0,0 @@ -../../getty/3 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-4 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-4 deleted file mode 120000 index 7b967eed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-4 +++ /dev/null @@ -1 +0,0 @@ -../../getty/4 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/keyboard deleted file mode 120000 index c4488690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/loopback b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/loopback deleted file mode 120000 index 69fe6f89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/loopback +++ /dev/null @@ -1 +0,0 @@ -../../network/loopback \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/rescue-shell b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/rescue-shell deleted file mode 120000 index be06dd0a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/rescue-shell +++ /dev/null @@ -1 +0,0 @@ -../../rescue-shell \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/sysfs b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/sysfs deleted file mode 120000 index 67c524a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/sysfs +++ /dev/null @@ -1 +0,0 @@ -../../mount/sysfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on deleted file mode 120000 index 7bbf7ccd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on +++ /dev/null @@ -1 +0,0 @@ -/bin/echo \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on.params deleted file mode 100644 index 6e271318..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on.params +++ /dev/null @@ -1 +0,0 @@ -*** cinit successfully started *** diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/quiet-kernel b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/quiet-kernel deleted file mode 120000 index 8da32e9b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/quiet-kernel +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/quiet-kernel \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/udev b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/udev deleted file mode 120000 index 9dfe9879..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/udev +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/udev \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/README deleted file mode 100644 index d5190e7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/README +++ /dev/null @@ -1 +0,0 @@ -Load acpi drivers before we are started. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/acpi b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/acpi deleted file mode 120000 index 888ba93b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/acpi +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/drivers/acpi \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/proc b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/root b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on deleted file mode 120000 index 43369f77..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/acpid \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on.params deleted file mode 100644 index 105c5f3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on.params +++ /dev/null @@ -1 +0,0 @@ --f diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/respawn b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/README deleted file mode 100644 index 628fab6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/README +++ /dev/null @@ -1,2 +0,0 @@ -Metalog is a smart syslogd replacement and it does not fork -normally. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/needs/root b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/on deleted file mode 120000 index 54fdda86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/metalog \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log deleted file mode 120000 index 515549d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-dev-log \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/root b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on deleted file mode 120000 index 099ec19b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/syslog-ng \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on.params deleted file mode 100644 index ee1f6c5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on.params +++ /dev/null @@ -1 +0,0 @@ --F diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/respawn b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/README deleted file mode 100644 index dd8ef91c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/README +++ /dev/null @@ -1,5 +0,0 @@ -Remove /dev/log from previous run, so syslog* (syslog-ng,metalog,syslogd) -can start. - -We're directly needed by the syslog variants, so if they are -not started, we are not started. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/needs/root b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on deleted file mode 120000 index 3530dc46..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on +++ /dev/null @@ -1 +0,0 @@ -/bin/rm \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on.params deleted file mode 100644 index 6d8ffbb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on.params +++ /dev/null @@ -1,2 +0,0 @@ --f -/dev/log diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/README deleted file mode 100644 index 20ff9536..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/README +++ /dev/null @@ -1 +0,0 @@ -Remove the /etc/mtab, so it's in a clean state. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on deleted file mode 120000 index 3530dc46..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on +++ /dev/null @@ -1 +0,0 @@ -/bin/rm \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on.params deleted file mode 100644 index fceff107..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on.params +++ /dev/null @@ -1,2 +0,0 @@ --f -/etc/mtab diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/README deleted file mode 100644 index fa12de87..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/README +++ /dev/null @@ -1 +0,0 @@ -Enable unicode on the Linux console. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/proc b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/udev b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/udev deleted file mode 120000 index 45ebbd7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/udev +++ /dev/null @@ -1 +0,0 @@ -../../udev/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/off b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/off deleted file mode 120000 index d1b3dabc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/off +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/unicode_stop \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on deleted file mode 120000 index 1a8ea15c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/unicode_start \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on.env b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params deleted file mode 100644 index 6999c48d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params +++ /dev/null @@ -1 +0,0 @@ -cpufreq_ondemand diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand deleted file mode 120000 index 8d465d25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand +++ /dev/null @@ -1 +0,0 @@ -../cpufreq_ondemand \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino deleted file mode 120000 index 7a81f768..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino +++ /dev/null @@ -1 +0,0 @@ -../speedstep-centrino \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs deleted file mode 120000 index abdd5e9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs +++ /dev/null @@ -1 +0,0 @@ -../../../mount/sysfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/on deleted file mode 100755 index 9ded0cc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/on +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params deleted file mode 100644 index b0daf284..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params +++ /dev/null @@ -1 +0,0 @@ -speedstep-centrino diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on.params deleted file mode 100644 index 9ccaeece..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on.params +++ /dev/null @@ -1 +0,0 @@ -aes diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params deleted file mode 100644 index d2a85215..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params +++ /dev/null @@ -1 +0,0 @@ -dm_crypt diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/README deleted file mode 100644 index a8b1c282..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi ac information. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params deleted file mode 100644 index a9eb3bbf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params +++ /dev/null @@ -1 +0,0 @@ -ac diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/README deleted file mode 100644 index 448a4a0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi battery information. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params deleted file mode 100644 index 37ac71bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params +++ /dev/null @@ -1 +0,0 @@ -battery diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/README deleted file mode 100644 index bda85f4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi buttons. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params deleted file mode 100644 index ef3f216a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params +++ /dev/null @@ -1 +0,0 @@ -button diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/README deleted file mode 100644 index d9ad05c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi fans. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params deleted file mode 100644 index 6de1f525..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params +++ /dev/null @@ -1 +0,0 @@ -fan diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README deleted file mode 100644 index ff0f6f4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README +++ /dev/null @@ -1 +0,0 @@ -Extra functionality for my ibm t60. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params deleted file mode 100644 index 80916c68..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params +++ /dev/null @@ -1 +0,0 @@ -ibm_acpi diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac deleted file mode 120000 index 4d2aefc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac +++ /dev/null @@ -1 +0,0 @@ -../ac \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery deleted file mode 120000 index 990e6bcd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery +++ /dev/null @@ -1 +0,0 @@ -../battery \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/button b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/button deleted file mode 120000 index b99dcf7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/button +++ /dev/null @@ -1 +0,0 @@ -../button \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan deleted file mode 120000 index 7923f9b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan +++ /dev/null @@ -1 +0,0 @@ -../fan \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi deleted file mode 120000 index d32add47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi +++ /dev/null @@ -1 +0,0 @@ -../ibm_acpi \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal deleted file mode 120000 index f2d6718c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal +++ /dev/null @@ -1 +0,0 @@ -../thermal \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README deleted file mode 100644 index da0b9c13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi thermal information: temperature and fans. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params deleted file mode 100644 index a175d50f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params +++ /dev/null @@ -1 +0,0 @@ -thermal diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on.params deleted file mode 100644 index 9f318065..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on.params +++ /dev/null @@ -1 +0,0 @@ -e1000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on deleted file mode 120000 index a5ce029b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on +++ /dev/null @@ -1 +0,0 @@ -/bin/loadkeys \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on.params deleted file mode 100644 index 1c96d177..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on.params +++ /dev/null @@ -1 +0,0 @@ -us diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on deleted file mode 120000 index 09bd56b7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on +++ /dev/null @@ -1 +0,0 @@ -/bin/dmesg \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on.params deleted file mode 100644 index d22a4869..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on.params +++ /dev/null @@ -1 +0,0 @@ --n1 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/needs/proc b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on deleted file mode 120000 index 1ecced27..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on +++ /dev/null @@ -1 +0,0 @@ -/etc/init.d/udev \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on.params deleted file mode 100644 index d44e18fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on.params +++ /dev/null @@ -1 +0,0 @@ -start diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/README deleted file mode 100644 index 7d699823..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/README +++ /dev/null @@ -1,3 +0,0 @@ -Need to load keyboard layout before trying to decrypt. -I also need dm_crypt and the aes module, as both are not -compiled into my kernel. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes deleted file mode 120000 index 15b8e7d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/crypto/aes \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt deleted file mode 120000 index 9066e234..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/crypto/dm_crypt \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard deleted file mode 120000 index 34376346..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/on deleted file mode 100755 index a40f7a4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/on +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -# read key until success -while true; do - cryptsetup luksOpen /dev/sda3 home && break -done diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen deleted file mode 120000 index f0585cf1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen +++ /dev/null @@ -1 +0,0 @@ -../luksopen/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on.params deleted file mode 100644 index 05280cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on.params +++ /dev/null @@ -1 +0,0 @@ -/home diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/needs/clean-mtab b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/needs/clean-mtab deleted file mode 120000 index 0bea57c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/needs/clean-mtab +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-mtab \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on.params deleted file mode 100644 index 4c3fcfb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on.params +++ /dev/null @@ -1 +0,0 @@ -/proc diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/needs/udev b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/needs/udev deleted file mode 120000 index 3d36cb50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/needs/udev +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/udev/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on deleted file mode 100755 index ea236360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Wrapper for fsck that returns 1 on success... -# Nico Schottelius -# 2007-05-25 -# for cLinux/cinit - -fsck=/sbin/fsck -dev="$1" - -"$fsck" "$dev" - -# return of 1 == repaired successful -if [ $? -gt 1 ]; then - exit 1 -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.old b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.old deleted file mode 120000 index 2a85786a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.old +++ /dev/null @@ -1 +0,0 @@ -/sbin/fsck.jfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.params deleted file mode 100644 index 90020847..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.params +++ /dev/null @@ -1 +0,0 @@ -/dev/hda1 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/needs/fsck b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/needs/fsck deleted file mode 120000 index c2e5e63f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/needs/fsck +++ /dev/null @@ -1 +0,0 @@ -../fsck \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on.params deleted file mode 100644 index 6a052263..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on.params +++ /dev/null @@ -1,4 +0,0 @@ --n --o -remount,rw -/ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/README b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/README deleted file mode 100644 index e01cb66a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/README +++ /dev/null @@ -1 +0,0 @@ -Udev needs us. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/needs/clean-mtab b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/needs/clean-mtab deleted file mode 120000 index 0bea57c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/needs/clean-mtab +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-mtab \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on.params deleted file mode 100644 index a6b724ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on.params +++ /dev/null @@ -1,4 +0,0 @@ -sysfs --t -sysfs -/sys diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/load-driver b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/load-driver deleted file mode 120000 index 2c9afe03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/load-driver +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/drivers/eth0 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/root b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/root deleted file mode 120000 index 68ea58e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on deleted file mode 120000 index 639430c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/udhcpc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on.params deleted file mode 100644 index 5f192cbc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on.params +++ /dev/null @@ -1,4 +0,0 @@ --f --n --i -eth0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/respawn b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on deleted file mode 120000 index 5779a119..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on +++ /dev/null @@ -1 +0,0 @@ -/bin/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on.params deleted file mode 100644 index 3614fe72..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on.params +++ /dev/null @@ -1 +0,0 @@ -cinit-host diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on deleted file mode 120000 index e27843a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/ifconfig \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on.params deleted file mode 100644 index e58476c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on.params +++ /dev/null @@ -1,3 +0,0 @@ -lo -127.0.0.1 -up diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on deleted file mode 120000 index cf9865a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/sshd \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on.params b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on.params deleted file mode 100644 index eb11be00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on.params +++ /dev/null @@ -1 +0,0 @@ --D diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on deleted file mode 120000 index db1611f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on +++ /dev/null @@ -1 +0,0 @@ -/bin/sh \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on.env b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on.env deleted file mode 100644 index 54ba45f1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on.env +++ /dev/null @@ -1,2 +0,0 @@ -TERM=linux -PATH=/sbin:/bin:/usr/sbin:/usr/bin diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/respawn b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/rsync b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/rsync deleted file mode 100755 index f9649179..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/rsync +++ /dev/null @@ -1,2 +0,0 @@ -chmod a+r * -rsync -av ./ nico@home.schottelius.org:unix/cinit/samples/cinit-0.3/denkbrett/ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/rsync.local b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/rsync.local deleted file mode 100755 index d7ee374b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/rsync.local +++ /dev/null @@ -1,3 +0,0 @@ -DIR=~nico/projekte/cinit/configs/denkbrett/ -rsync -av ./ "$DIR" -chown nico "$DIR"/* diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 deleted file mode 100644 index 1b760767..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 deleted file mode 100644 index 61cf45c1..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre18/doc/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/gpl3-header.c b/software/cinit/browse_source/cinit-0.3pre18/doc/gpl3-header.c deleted file mode 100644 index d8030109..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/gpl3-header.c +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * - * 2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * purpose_of_this_file_is_also_there_behind_the_big_header - * - */ - - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/gpl3-header.sh b/software/cinit/browse_source/cinit-0.3pre18/doc/gpl3-header.sh deleted file mode 100644 index 29b75e61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/gpl3-header.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Description here -# - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre18/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre18/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre18/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/man/cinit-conf.text b/software/cinit/browse_source/cinit-0.3pre18/doc/man/cinit-conf.text deleted file mode 100644 index 0e86ec25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/man/cinit-conf.text +++ /dev/null @@ -1,47 +0,0 @@ -cinit-conf - helps to configure cinit -===================================== -Nico Schottelius -0.0.1, Initial version written on 20080418 in the Bus to Gossau - -cinit-conf aims to be a suite to help to configure cinit and -migrate systems to cinit. - -Introduction ------------- -`cinit` is a fast init system with dependency features and -profile support. As `cinit` is not widely known and it is quite -different in its approach compared to traditional init systems, -the configuration is also quite different. - -To make life easier for people to migrate to and manage `cinit`, -this project was started. - -If you use `cinit-conf`, please send feedback to me using `report_success.sh`. - - -What can it do? -~~~~~~~~~~~~~~~ -.In its current state, `cinit-conf` can -- add getties on Linux (bin/cinit-conf.getty.add) -- find its configuration directory (bin/cinit-conf.get-confdir) - - -What should it can do? -~~~~~~~~~~~~~~~~~~~~~~ -Much more ;-) - -.Also known as features planned, but not implemented. -- Migrate complete installations -- Provide a big toolset to be used by humans and in scripts -- Make your life easier, because you are able to use `cinit` - - -Wherefore can I use it? -~~~~~~~~~~~~~~~~~~~~~~~ -Currenty only to add a getty, but more features will follow soon. - - -How to use ----------- -Execute ./bin/cinit-conf.getty.add. - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre18/doc/man/cinit.text deleted file mode 100644 index 19d0015a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/man/cmd.text b/software/cinit/browse_source/cinit-0.3pre18/doc/man/cmd.text deleted file mode 100644 index b834fabf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/man/cmd.text +++ /dev/null @@ -1,89 +0,0 @@ -cmd(8) -====== -Nico Schottelius - - -NAME ----- -cmd - cinit management and information tool - - -SYNOPSIS --------- -'cmd' [-ed (i|w|n)] [-(p|s) ] [-v] - - -DESCRIPTION ------------ -cmd adds the management possibility to cinit(8). You can retrieve -several information from cinit and change services. - -OPTIONS -------- --d:: - Disable service (see below for required parameters) - (NOT YET IMPLEMENTED) - --e:: - Enable service - - i: Included all needs and wants - - n: Exclude needs - - w: Exclude wants - (NOT YET IMPLEMENTED) - --p:: - Retrieve last process id (pid) for the specific service. For respawn - services this is the pid of the running service. For services that are - started only once it is the pid it had when running. - (NOT YET IMPLEMENTED) - --s:: - Retrieve status of a service. Warning: Do not add trailing slash. - Path can be specified absolute (/etc/cinit/svc/mount/root) or - relative (mount/root). - --v:: - Get version of cinit. - --V:: - Get version of cmd. - - - -EXAMPLES --------- -Get version:: - [8:44] denkbrett:src# cmd -v - - Version of cinit: 0.3pre12 - -Get status:: - [8:37] denkbrett:src# ./cmd -s mount/root - - Status of /etc/cinit/svc/mount/root is: 2001 - - -EXIT STATUS ------------ -Cmd returns 0 on success, 1 on user errors, 2 on communication errors and -3 on unknown reason errors. - -BUGS ----- -Not everything is implemented. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License Version 3 (GPLv3). diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre18/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/man/halt.kill.text b/software/cinit/browse_source/cinit-0.3pre18/doc/man/halt.kill.text deleted file mode 100644 index 4a31e257..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/man/halt.kill.text +++ /dev/null @@ -1,46 +0,0 @@ -halt.kill(8) -============ -Nico Schottelius - - -NAME ----- -halt.kill - Halts systems running cinit through a kill call - -SYNOPSIS --------- -'halt.kill' - - -DESCRIPTION ------------ -You normally halt your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to halt -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute halt.kill, your system will be halted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/man/poweroff.kill.text b/software/cinit/browse_source/cinit-0.3pre18/doc/man/poweroff.kill.text deleted file mode 100644 index 62807ba1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/man/poweroff.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -poweroff.kill(8) -================ -Nico Schottelius - - -NAME ----- -poweroff.kill - Halts and powers off systems running cinit through a kill call - -SYNOPSIS --------- -'poweroff.kill' - - -DESCRIPTION ------------ -You normally poweroff your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to poweroff -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute poweroff.kill, your system will be - powered off. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), reboot.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/man/reboot.kill.text b/software/cinit/browse_source/cinit-0.3pre18/doc/man/reboot.kill.text deleted file mode 100644 index a748553e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/man/reboot.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -reboot.kill(8) -============== -Nico Schottelius - - -NAME ----- -reboot.kill - Reboots systems running cinit through a kill call - -SYNOPSIS --------- -'reboot.kill' - - -DESCRIPTION ------------ -You normally reboot your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to reboot -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute reboot.kill, your system will be - rebooted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), poweroff.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.1 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.1 deleted file mode 100644 index d875ff2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.1 +++ /dev/null @@ -1,4 +0,0 @@ -- initial release: show the project -- add gpl3 header to all scripts in bin/ -- add README -- add some todos diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.1.1 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.1.1 deleted file mode 100644 index 34999cb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.1.1 +++ /dev/null @@ -1,6 +0,0 @@ -- make it possible to migrate a Debian Lenny -- continue rename cinit.* to cinit-conf.* - * migration from cinit-bin -- fixup inclusion -- add more helper scripts -- add report_success.sh diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.2 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.2 deleted file mode 100644 index 9b5c3496..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.2 +++ /dev/null @@ -1 +0,0 @@ -- make it possible to migrate a Debian (Lenny): basic (without everything, make it run) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.2.1 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.2.1 deleted file mode 100644 index 117995bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.2.1 +++ /dev/null @@ -1 +0,0 @@ -- add manpages diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.2.2 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.2.2 deleted file mode 100644 index d359b248..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.2.2 +++ /dev/null @@ -1,3 +0,0 @@ -- remove calls to dirname! - . "$(dirname $0)/cinit-conf.read-conf" - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3 deleted file mode 100644 index 4f27dd34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3 +++ /dev/null @@ -1 +0,0 @@ -- make bla_dir and bladir consistent diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre11 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre11 deleted file mode 100644 index ec532269..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre11 +++ /dev/null @@ -1,10 +0,0 @@ -Done: -- cleanup ipc: - merge cinit_ipc_logon() and cinit_ipc_connect()? - => already done! -- finish cmd in general, perhaps only including one command. -[18:51] denkbrett:src# LANG=C cp cinit /sbin/cinit -cp: cannot create regular file `/sbin/cinit': Text file busy - => mv & cp! - => documentation! - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre12 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre12 deleted file mode 100644 index edbe41d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre12 +++ /dev/null @@ -1,41 +0,0 @@ -Wished release date: 6/7. September - --------------------------------------------------------------------------------- -Done: -- begin to write documentation about client functions - => noone needs that anyway. skip and concentrate on functions now. - -cleanup ipc! - where to call !cinit_ipc_logon and !cinit_ipc_connect? - --------------------------------------------------------------------------------- -Add -Hallo, - -Liebster Nico, wuerdest du die dazu durchringen "make install" und -vllt. sogar "make install-test" in die cinit 0.3er branch aufnehmen? - -vlg Lucky - ==> added make install in previous releases, make test maybe come back - later again. -- cleanup communication: - put parts of comm.h into cinit.h => global exposure - or define new structure in cinit.h? - => removed comm.h -- check svc path in cmd: if it's relative, add /etc/cinit/svc to it - => added. -- add update for git => so cloning does not fail! - => added hook. -Use http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html - => partly implemented - -- remove manual pid support, use the one supplied by msgctl() - => ok. -- there seems to be a race condition in the execution of the - dependency tree: it happens that services that depend on - mounted /proc, have needs on mount/proc are still exited - before /proc is mounted. - problem of cinit or of mount, exiting too early? - guess the first one, so fix it :-) - - => missing check in svc_needs_status.c diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre13 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre13 deleted file mode 100644 index ff8d4296..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre13 +++ /dev/null @@ -1,19 +0,0 @@ -Wished released date: 10./11. September - --------------------------------------------------------------------------------- -Done: -- add get_svc_pid() -- cleanup msgq.h: namespace! -- cleanup cmd: add real usage, add -h for help -- cleanup cinit_ipc_logon()! [already done before] -- cleanup headers: ==> not yet needed. - seems to make more sense, to have more than one exposed header. - cinit.h gets to fast too big. so splitoff to: - /* main */ - /* ... */ -- create libcinit.a/so and link against it => not need right now. -- pre12 seems to have an IPC problem: Fix it. ==> problem with not finishing cinit startup -- global symbol to track the connection to cinit in the client - => cinit_ipc_cinit() - initalise ipc in the client (only once) - => not really our problem, client should be able to remember - whether she called us once or twice. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre13.race-condition b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre13.race-condition deleted file mode 100644 index 19bea29a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre13.race-condition +++ /dev/null @@ -1,12 +0,0 @@ -09:49 < telmich> is it possible, that if I fork() and call _exit(0) in the child, that the - _exit(0) is executed earlier than the fork() call returns in the parent? -09:49 < telmich> I'm having some race condition in cinit, where the pid is not yet updated in - the service structure, and the child exited before and thus cinit does not - update the service -09:49 < telmich> as being run -09:51 < telmich> rexy_: currently I'm thinking about implementing a lock before starting the - fork() -09:51 < telmich> rexy_: thus cinit will react differently, if the starting function is still - running -09:51 < telmich> rexy_: but I'm somehow confused, that fork() allows such race condition - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre14 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre14 deleted file mode 100644 index e002d60c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre14 +++ /dev/null @@ -1,3 +0,0 @@ -Wished release date: 13. September -- add support for shutting down services - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre15 deleted file mode 100644 index 8f81446a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre15 +++ /dev/null @@ -1,62 +0,0 @@ -Wished release date: 20. September -- Add support for starting/stoping services via cmd - - add support for additional information (like which services stopped - when having dependencies) - - if cinit has to stop / start others, how to report? - - add strings to cinit internally to a buffer? - -> or struct cinit_answer + status - -- add support to enable services - -- create some boot profiles -- cinit.install.standard.dirs.argv -- code check: - * check needs: - really started, after started or after finished starting? - * wants: - are they checked? - -- fix devel/codingguideline.text! - -- perhaps merge svc_need_status to svc_status - -cinit-communication: - cinit_get_failed_needs(char *name, int *cnt); -- add support for shutting down services on halt -- cleanup msgq/cinit_ipc_listen.c -- move logic out of the child handler: - => use the new while()-loop in core/cinit.c! - - time() and co. are problematic in a child handler! - - introduce global list of services to execute - => perhaps reuse already existing dependency-list? - - tree_exec(): check whether adding something to the dep list hurts - => don't think so. - expand / change ipc handler: - make it return the message - move while() loop to core/cinit.c - - in the while loop, the global dependency list should - be empty. - - if it is not, we should start something. - - => chance cinit_ipc_listen() to use without while() loop - => export logic to core/cinit.c -- map status numbers to messages -- Cleanup doc/user/NEW_using_cinit_freebsd - => make a real document! -- write / update manpage for cmd! -- add sleep() support after service exited. - --------------------------------------------------------------------------------- -Done: -- add minimal test-suite: - cmd -s /etc/cinit/svc/init - cmd -p /etc/cinit/svc/init - cmd -v - cmd -V -- change to GPLv3? - => ask Markus (cinit), Killerfox (cconfig) and Peter (cconfig) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre16 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre16 deleted file mode 100644 index 16e6efb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre16 +++ /dev/null @@ -1,9 +0,0 @@ -Wished release date: 27. September -- check porting code: - * advise users to set conf/os - * add uname -r | tr ... as make osconfig -- check that all parts of cinit compile at least under: - * linux, linux on 64bit - * FreeBSD - * NetBSD -- cleanup output diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre17 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre17 deleted file mode 100644 index 82976e37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre17 +++ /dev/null @@ -1,11 +0,0 @@ -Wished release date: 3. October - -"Code quality assurance release" - -- Fix bugs all outstanding bugs. -- Give cinit some time, write some documentation and make pre17 the last pre of the 0.3 - serie. -- Give the code out to other developers, request explicit strong critics - => So even - "This could be in theory, if Mars is behind Pluto on Sunday evening" bugs - are out. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre18 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre18 deleted file mode 100644 index d02aac8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre18 +++ /dev/null @@ -1,3 +0,0 @@ -- add support to manually set status of a service: - cmd -s respawn, failed, once, ... -- make get status = -g diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre19 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre19 deleted file mode 100644 index 2e4dfe15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.3pre19 +++ /dev/null @@ -1,4 +0,0 @@ -- enable fast shutdown: - - ignores services and jumps directly to conf/last -- enable ultrafast shutdown - - even skips conf/last diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.4 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.4 deleted file mode 100644 index 3b772d4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.4 +++ /dev/null @@ -1,44 +0,0 @@ --------------------------------------------------------------------------------- -Clean service status messages: - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s --------------------------------------------------------------------------------- -16:13 < KillerFox> telmich: hast du eigentlich schon hooks in cinit? -20:07 < KillerFox> Vapier fĂ¼hrt mal wieder Selbstgespräche. -23:39 < telmich> KillerFox: wozu? -23:42 < KillerFox> telmich: es wäre durchaus interessant, um z.B. sterbende Prozesse wieder zu - starten und so. -23:42 < KillerFox> oder einen Hinweis per Mail zu verschicken. -23:43 < telmich> ahh, du meinst so benachrichtigungen von cinit an $prozess? -23:43 < KillerFox> jein -23:43 < KillerFox> du machst z.B. /etc/cinit/hooks/ -23:43 < KillerFox> darin gibts dann Scripte die bei bestimmten Ereignise aufgerufen werden. -23:43 < KillerFox> z.B. wenn ein Prozess stirbt -23:44 < KillerFox> du kannst dir natĂ¼rlich auch Ă¼berlegen, es auf Prozessebene herunter zu - hacken -23:44 < telmich> ja, eher letzeres -23:44 < KillerFox> so könnte man auch ein paar nette Sachen machen. z.B. Aufräumarbeiten - nachdem ein Prozess beendet wurde oder so -23:45 < KillerFox> telmich: ich finde beides Sinnvoller -23:45 < KillerFox> telmich: globale und lokale Hooks -23:45 < KillerFox> lokale Ă¼berschreiben globale oder so -23:45 < telmich> oder laufen beide -23:45 < KillerFox> oder man kaskadiert sie. -23:45 < KillerFox> genau -23:46 < KillerFox> sinnvolle hooks: pre-start, start, post-start, pre-stop, stop, post-stop, - crash -23:46 < KillerFox> oder sowas -23:47 < KillerFox> vielleicht fallen dir noch mehr ein. -23:48 < KillerFox> die Kommunikation könnte man dann wahlweise Ă¼ber Parameter oder - Umgebungsvariablen lösen -23:48 < KillerFox> um z.B. mitzuteilen welcher Prozess gestoppt wurde -23:49 < KillerFox> z.B. wenn man in pre-stop je nach Bedingung den Stop-Vorgang abbrechen will. -23:49 < telmich> via ${ipc} => kommt darauf an, was implementiert ist; zZ ist es ja msgq -23:50 < telmich> ahh, so -23:50 < telmich> das waere noch recht trivial ueber pipes -23:50 < KillerFox> fifos/sockets, was auch immer. -23:50 < KillerFox> das mĂ¼sste man dann mit einer Bibliothek lösen oder so -23:50 < telmich> ja, die ist auch im aufbau in libcinit/ - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.4.1 b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.4.1 deleted file mode 100644 index b0d7685d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/0.4.1 +++ /dev/null @@ -1,2 +0,0 @@ -- Generate automatic asciidoc from conf/* - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/long_list b/software/cinit/browse_source/cinit-0.3pre18/doc/todo/long_list deleted file mode 100644 index ec11f18d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/todo/long_list +++ /dev/null @@ -1,21 +0,0 @@ -Code ----- - -Performance -~~~~~~~~~~~ - -- Perhaps replace malloc for path with static buffer? - -Compatibility -~~~~~~~~~~~~~ -- create migration scripts - -Usage -~~~~~ -- Aid in debugging cinit-configuration (check without reboot) -- Integrate into OS package system - -Other -~~~~~ -- add log support to shm -- Check and clean doc/: Remove *TODO*+ROADMAP and leave behin doc/TODO (or ditz) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre18/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre18/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/configuring.cinit.text deleted file mode 100644 index 8e45937d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/configuring.cinit.text +++ /dev/null @@ -1,337 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -Less is more ------------- -In contrast to a lot of other init system configurations, the -cinit configuration is not a "catch all", but more a "minimalistic" -configuration: I don't think it's wise to include support for -exotic configurations and a lot of if/else combinations in an init -system configuration. These if/else should be solved at the configuration -time, *not* everytime at boot! - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - -The cinit configuration consists of -- a special configuration directory -- and the service definitions. - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - -Conf ----- -The special configuration directory is normally called `conf/` -(defined at compile-time in `conf/c_confdir`). - -For all executables into this directory apply the same rules as mentioned -below in "Execution: on and off": Appened .params specifies parameters, -appended .env specifies environment. - - -conf/last -~~~~~~~~~ -This is the last part that will be executed. After it has finished, cinit -will halt, power-off or reboot your machine. - -You can use it for whatever task to accomplish (as most things of cinit), but -the idea behind it is to use it for cleaning up things that are not covered -by the off parts of the services. This maybe swapoff (although this is an unecessary -call before poweroff, imho and even if needed this could be handled within the -off part of the same services that enabled it) or `umount -a` for everything -manually mounted and not unmounted yet. - - -conf/sleep_before_kill -~~~~~~~~~~~~~~~~~~~~~~ -This file contains just one line: The number of seconds to sleep after SIGTERM was sent -to every remaining process before sending SIGKILL to all processes. If this file -is unreadable or not existent, cinit will fall back to the value compiled in -(which was specified at build time in conf/sleep_kill). - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start). - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - - -Debugging the configuration ----------------------------- -Use `ls -lR /etc/cinit` or one of the tools found in contrib+tools/. - - -Examples --------- -Currently there are some example configurations available -at http://unix.schottelius.org/cinit/samples/cinit-0.3/, sorted -by host on which they are created. - -In near future, there will also be a file name configuration.example.text, -which will lead you to a sample configuration. - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/daemons.backgrounding.text deleted file mode 100644 index 5b61b91d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- dnsmasq [dhcp/tfpt/dns]: -k -- dovecot [imap/pop3 server]: -F -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- freeradius [radiusd]: -f -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openpbx [pbx]: -f -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre18/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/freebsd.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/freebsd.text deleted file mode 100644 index 05499166..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/freebsd.text +++ /dev/null @@ -1,21 +0,0 @@ -11:33 < mux> from sys/kern/init_main.c: -11:33 < telmich> mux: that's true; I just tried with linux and I tell the - bootloader, who tells the kernel then -11:33 < mux> static char init_path[MAXPATHLEN] = -11:33 < mux> #ifdef INIT_PATH __XSTRING(INIT_PATH); -11:33 < mux> #else -"/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall"; -11:33 < mux> #endif -11:33 < mux> but you give a loader tunable -11:34 < mux> if ((var = getenv("init_path")) != NULL) { -11:34 < mux> strlcpy(init_path, var, sizeof(init_path)); -11:34 < mux> freeenv(var); -11:34 < mux> } -11:34 < mux> here you are -11:34 < telmich> ahh, that's good -11:34 * telmich has to try cinit on freebsd the next days :-) -12:34 < mux> (s/you give/you can give/) -11:35 < mux> so, simply init_path)="/sbin/cinit" in /boot/loader.conf should do - it -11:35 < mux> minus the typo - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre18/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre18/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/problems-and-solutions.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/problems-and-solutions.text deleted file mode 100644 index 92cdd241..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/problems-and-solutions.text +++ /dev/null @@ -1,33 +0,0 @@ -cinit - Problems occured and solutions used -=========================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2007-05-28 -:Author Initials: NS - -This documentes describes real problems people had with -cinit and their appropriate solutions. Feel free to add -your problems and solutions here. - - -Introduction ------------- - - -Adding problems and solutions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Simply add your problem and solution and sign your paragraph -with your name. Then send the diff -u to the cinit mailinglist -or setup a git-repository so I can pull the changes. - - -Hibernate ---------- -uses /sbin/runlevel, which should *not* respond with 0 or 6 -as the second number. As cinit does not have /sbin/runlevel, -because cinit does not have any runlevels, you could hardcode -it to values hibernate accepts: - ----------------------------------------------------------------------- -#!/bin/sh -echo N 2 ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/problems.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/problems.text deleted file mode 100644 index 4fe8a315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/problems.text +++ /dev/null @@ -1,114 +0,0 @@ -Problems using cinit -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-24 -:Author Initials: NS - - -Using a high-speed, true dependency aware, profile supporting -logical acting and reliable init system like cinit is not -completly problem free. This document describes some common -problems you may have and their solutions. - - -Possible problems ------------------ - -Confused users -~~~~~~~~~~~~~~ -Compared to traditional init systems like sys-v-init or bsd-init -cinit introduces a complet new boot concept. This does not just -mean that you have services instead of shell-scripts (which is -one reason cinit is starting up faster), but also that the boot -order may be changed dynamically at bootup:, if a service fails. -And even if no service fails, the boot order may be different -on each boot, because processes are started in parallel and -may return earlier or later on each boot. To coordinate the -parallel running processes, cinit uses depencies, which are pretty -easy to understad when configurung, but may need some more -detailled watching at boot to understand it. - -The 'confused users'-problem is perhaps also the biggest -problem for introducing cinit as a replacement to current -init systems. - - -Configuration issues -~~~~~~~~~~~~~~~~~~~~ - -Not marking services as respawn -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When cinit starts, it will wait for every service to exit. -So if you have a dependency on a service -that never exits, the whole init process may hang (dependending -on the dependencies). If you have services that are intendet -*not* to exit after start, you *have* to mark those with -`respawn`: Those services are started and watched by cinit -and will be restarted. This was a design choice to ensure -that all 'always running' processes *are* restarted. - -I did not find any service that should not exit and not -have a respawn flag. If you really really really have such -a service and you can prove to me that the respawn flag -would do harm to your system, I will think about implementing -a flag that tells cinit not to wait for it, but mark it -as successfully run after it has been started. - -User interaction -~~~~~~~~~~~~~~~~ - -User input -~~~~~~~~~~ -There may be the situation that you have to press a key -or enter some data when a service starts up (like entering -the password for your crypto harddisks). With cinit, this -will look like a mess, because other services may write to -the same console the service wrote a user prompt. - -The best solution for this problem is in my humble -opinion to create an user-input daemon that serialises -the requests and displays one after another. - -This could look like this: Your daemon wants to ask for -a passphrase for the SSL-certificate. You add aa needs -to this daemon to the 'input-daemon'. When you -start this service, it will contact the input-daemon -running on another virtual console and displaying a text -and an input field that is passed back to this service. -After that the input daemon changes back to the initial -console or asks for the next input, if there is another -request available. - -This input daemon may also be run on a graphical (X11) display. -. -Output to the user -~~~~~~~~~~~~~~~~~~ -When cinit starts up there may be many messages printed -out that also may look like printed random order. -To prevent your endusers from being confused you can create -some kind of graphical interface (like a framebuffer -or X11 display) that reads the output of cinit and converts -it to flashing images. It could look like this: - ----------------------------------------------------------------------- - - Your (graphical?) display: - -------------------------------------------------------------- - | /-----------------\ | - | | Red border, | | - | | failed to start | | - | \-----------------/ | - | | - | /------ | - | | Green border, | - | image van | - | | - | | - | | - | | - | | - | | - -------------------------------------------------------------- - - ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre18/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/respawning-sleep.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/respawning-sleep.text deleted file mode 100644 index 24ed17e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/respawning-sleep.text +++ /dev/null @@ -1,52 +0,0 @@ -cinit - Respawning and sleeping -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-13 -:Author Initials: NS - - -How cinit sleeps, before a service is respawned. - -Introduction ------------- -When a service, that is configured to be respawning, exits cinit restarts it. -Because services may be broken and thus cinit would try to restart it many -times in a second, it is necessary to sleep between restarts. - -The big question: How to sleep? ------------------------------------- -The first possibility is to sleep a fixed amount of time between restarts: -For instance one second. This is not a good solution, because this waits -one unecessary second if the process just crashed. It may be too less, if -the service is really broken. - -The second possibility is to sleep a dynamic amount of time. - - -The next big question: How long to sleep? ------------------------------------------ -I think that as long as a service is broken we should not investigate to much -time into restarting it. So we can define a maximum amount of time to sleep -(for instance 30 seconds). The minimum amount of time to sleep is zero seconds. - -When the service is first started, the sleep time defaults to the minimum -amount of time. Each time the service is restarted, the sleep time is adjusted: - -sleep time (st) = Maximum sleep time (mst) / Time the process was running (tr) - -- If tr is < 1 it is adjusted to 1 and thus st is set to mst. -- If tr is > mst, st is set to 0. - - -How to force restart of a service? ----------------------------------- -Use cvsc (to be implemented). - - -Hom is it implemented? ----------------------- -Everytime cinit has to respawn a service it has to fork() itself. -The sleep call is implemented in the fork, so cinit itself does not have -to care about it. After the sleep time is over or the fork() recieves -SIGALARM it executes the real service. cinit itself records as start time -the current time plus sleep time. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre18/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre18/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre18/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre18/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre18/libexec/cinit-conf/dialog-alias.sh b/software/cinit/browse_source/cinit-0.3pre18/libexec/cinit-conf/dialog-alias.sh deleted file mode 100644 index 89813726..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/libexec/cinit-conf/dialog-alias.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# the cLinux project -# Created: 2004-12-25 -# Last-Modified: -# choose the correct dialog version - -if [ -z "$DISPLAY" ]; then - alias dialog="dialog --shadow --backtitle \"$full_version\"" -else - alias dialog="Xdialog --backtitle \"$full_version\"" -fi diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/README b/software/cinit/browse_source/cinit-0.3pre18/scripts/README deleted file mode 100644 index 95afabe2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/README +++ /dev/null @@ -1,3 +0,0 @@ -Scripts for internal use. - -Users: Use bin/ for usable helper programs. diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/build/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre18/scripts/build/cinit.configure.ipc deleted file mode 100755 index b8154ba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/build/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/build/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre18/scripts/build/cinit.configure.mark deleted file mode 100755 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/build/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/build/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre18/scripts/build/cinit.configure.os deleted file mode 100755 index ece6f53c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/build/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/build/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre18/scripts/build/cinit.configure.tools deleted file mode 100755 index 39c2f00d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/build/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../../tmpbin/ -CC=$(head -n 1 "$HIER/../../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../../conf/cflags") -LD=$(head -n 1 "$HIER/../../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/cconfig.mk.makefile b/software/cinit/browse_source/cinit-0.3pre18/scripts/cconfig.mk.makefile deleted file mode 100755 index 822addce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/cconfig.mk.makefile +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-20, 0110 CEST -# cconfig: create makefile from conf/ directory -# currently: all files -# later: only built-defines -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "#" -echo "# Warning: Autogenerated by $0, do not edit. " -echo "#" -for conf in ${CONFS}; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - echo "${NAME}=${value}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre18/scripts/cinit.build-env deleted file mode 100755 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre18/scripts/cinit.get-confdir deleted file mode 100755 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre18/scripts/cinit.mkheader deleted file mode 100755 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre18/scripts/cinit.read-conf deleted file mode 100755 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/README b/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/README deleted file mode 100644 index 64c0d174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/README +++ /dev/null @@ -1 +0,0 @@ -Scripts used to generate or aid in creating a configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/freebsd/create_services.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/freebsd/create_services.sh deleted file mode 100644 index 52e123a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/freebsd/create_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to create from stdin -# Create services (add correct dependencies) -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/freebsd/enable_services.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/freebsd/enable_services.sh deleted file mode 100644 index ce4563a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/freebsd/enable_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to enabled from stdin -# Services must already exist -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/freebsd/search_enabled_services.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/freebsd/search_enabled_services.sh deleted file mode 100644 index 69e519b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/freebsd/search_enabled_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search for enabled services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/freebsd/search_services.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/freebsd/search_services.sh deleted file mode 100644 index 2043e857..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/configuration/freebsd/search_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search all services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of all services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/README b/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/README deleted file mode 100644 index c0e8b95b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/README +++ /dev/null @@ -1 +0,0 @@ -Scripts that should move to bin/ as soon as they are ready to be used. diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit-conf.migrate.sysvinit.debian b/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit-conf.migrate.sysvinit.debian deleted file mode 100755 index 0fdcb5f1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit-conf.migrate.sysvinit.debian +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. -# -- She's not my girlfriend anymore, but now I want to test cinit-0.3pre15 on -# my notebook - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit-conf.read-conf - -if [ -d "${CINIT_DIR}" ]; then - echo "ERROR: Configuration directory exists already at ${CINIT_DIR}." - exit 1 -fi - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -: ${ROOT_DEV:=$(awk '$2 ~ /^\/$/ { print $1 }' ${DESTDIR}/etc/fstab)} -: ${ROOT_FSCK:=$(awk '$2 ~ /^\/$/ { print $6 }' ${DESTDIR}/etc/fstab)} -: ${ROOT_FS:=$(awk '$2 ~ /^\/$/ { print $3 }' ${DESTDIR}/etc/fstab)} -: ${HOSTNAME:=$(hostname)} - - -echo "***> Configuration" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -#echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -set -x -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit-conf.install.dirs.base -$(dirname $0)/cinit-conf.install.dirs.svc-categories -$(dirname $0)/cinit-conf.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit-conf.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit-conf.install.service.linux.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit-conf.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV (\$ROOT_FSCK is not 1 in fstab)..." -fi - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit-conf.install.service.linux.hostname "$HOSTNAME" - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit-conf.getty.add - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit-conf.add.dependency getty wants getty/$i -done - -exit 0 -# FIXME: Stopped here - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit-conf.migrate.sysvinit.debian.sid b/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit-conf.migrate.sysvinit.debian.sid deleted file mode 100755 index c0945edb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit-conf.migrate.sysvinit.debian.sid +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. -# -- She's not my girlfriend anymore, but now I want to test cinit-0.3pre15 on -# my notebook - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit-conf.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit-conf.miniconf.linux b/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit-conf.miniconf.linux deleted file mode 100755 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit-conf.miniconf.linux +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit-conf.miniconf.linux.todo b/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit-conf.miniconf.linux.todo deleted file mode 100644 index 953c06e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit-conf.miniconf.linux.todo +++ /dev/null @@ -1,4 +0,0 @@ -Make it work with a system. - -Same aim as cinit.install.test, but different approach: -This script tries to build the config dynamically. diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit.install.test deleted file mode 100755 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit.install.test.todo b/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit.install.test.todo deleted file mode 100644 index 8e48d55e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/cinit.install.test.todo +++ /dev/null @@ -1 +0,0 @@ -See ditz: portability-1 diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/migrate-linux-debian-lenny.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/migrate-linux-debian-lenny.sh deleted file mode 100755 index 8f3185e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/future-bin/migrate-linux-debian-lenny.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -bd="${0%/*}" -export bd - -echo "Trying to configure cinit for your Debian Linux" - -# migrate /etc/fstab to mounts - -"$bd/linux/sys-v-init/migrate-fstab.sh" - -# migrate / create 6 getties - -# migrate network - -# migrate services diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/install/README b/software/cinit/browse_source/cinit-0.3pre18/scripts/install/README deleted file mode 100644 index 7870c76e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/install/README +++ /dev/null @@ -1 +0,0 @@ -Scripts to be used for installing (NOT CONFIGURING) cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/install/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre18/scripts/install/cinit.install.binary deleted file mode 100755 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/install/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/install/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre18/scripts/install/cinit.install.dir deleted file mode 100755 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/install/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/cinit.release b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/cinit.release deleted file mode 100755 index ca2f8513..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/cinit.release +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: ls -l - -if [ $# -ne 1 ]; then - echo "This is a maintainer-only script to release cinit" - echo $(basename $0): version - exit 1 -fi - -# paths -D_BASE="/home/users/nico/privat/rechner/netz/seiten/www.nico.schottelius.org/src/software/cinit" -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ - -# versions to check -VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')" -VERSION_ARGV="$1" -VERSION_GIT="$(git describe)" -VERSION_README=$(grep -q "$VERSION_ARGV" README && echo $VERSION_ARGV) - -echo "=> Version commandline: $VERSION_ARGV" -echo "=> Version conf/version: $VERSION_CONF" -echo "=> Version git: $VERSION_GIT" -echo "=> Version README: $VERSION_README" - -if [ "$VERSION_ARGV" = "$VERSION_CONF" -a "$VERSION_ARGV" = "$VERSION_GIT" ]; then - echo "=> Version confirmed." -else - echo "*** VERSION MISMATCH ***" - exit 42 -fi - -# Finally, accept the right version -VERSION="$VERSION_GIT" -NAME="cinit-${VERSION}" -TARNAME="cinit-${VERSION}.tar.bz2" -TARPATH="$D_DIR/$TARNAME" - -echo -n "=> Continue to release $NAME? " -read yes - -git archive $VERSION --prefix="${NAME}/" --output="${TARPATH}" -( cd "$D_SOURCE" && tar xvf "$TARPATH" ) - -echo "Please do not forget to update the website..." - -################################################################################ -# Unused, but interesting - -# make sure the examples are not executed anymore -exit 0 - -# match cinit-$version as directory name -VERSION_DIR="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')" - -# grep version string from CHANGES file (often used, obsoleted here) -VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):.*/\1/')" - -# Correct umask 077 results -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$RDIR\" \"$LINK\"" - -# Create archive -echo "Creating bzip2 compressed tar" -cd $DDIR -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$RDIR" -chmod 0644 "$OUT_NAME" - -# Transfer to a remote host -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" - -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" - - - diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/compile+run.sh deleted file mode 100755 index 30ec68a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/compile+run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -if [ ! "$1" ]; then - echo "HOSTNAME" - exit 23 -fi - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$host" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/compile_local.sh deleted file mode 100755 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/compile_run_as_compiler.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/compile_run_as_compiler.sh deleted file mode 100755 index f1ba01d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/compile_run_as_compiler.sh +++ /dev/null @@ -1,14 +0,0 @@ -what=$(dirname $0)/../../ -what_real=$(cd "$what" && pwd -P) -dest=~compiler/cinit-test - -set -e -sudo rsync -av "${what_real}/" "$dest" -sudo chown -R compiler "$dest" -sudo -u compiler "${dest}/scripts/internal/compile_local.sh" -sudo -u compiler "${dest}/src/cinit" & -sleep 13 -sudo -u compiler "${dest}/scripts/internal/stop_cinit.sh" - -# exit 0 for make -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/compile_test.sh deleted file mode 100755 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/create_test_config.sh deleted file mode 100755 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/find_right_version.sh deleted file mode 100755 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/indent_script b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/indent_script deleted file mode 100755 index 5e1a8b0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/indent_script +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-linux at schottelius.org) -# indents like kr with a little bit more beauty look -# 13-May-2004 -# written for the monotone project, adapted for all my projects -# -# Copying: GPLv3 - -if [ $# -lt 1 ]; then - echo "$0: " - exit 1 -fi - -opts="" -opts="${opts} -bap" # --blank-lines-after-procedures -opts="${opts} -bbb" # --blank-lines-before-block-comments -opts="${opts} -bad" # --blank-lines-after-declarations -opts="${opts} -bbo" # --break-before-boolean-operator -opts="${opts} -br" # --braces-on-if-line -opts="${opts} -brs" # --braces-on-struct-decl-line -opts="${opts} -cdb" # --comment-delimiters-on-blank-lines -opts="${opts} -cbi0" # --case-brace-indentation -opts="${opts} -cdw" # --cuddle-do-while -opts="${opts} -ce" # --cuddle-else, see -br -opts="${opts} -ci0" # --continuation-indentation (see -lp) -opts="${opts} -cli3" # --case-indentation -opts="${opts} -cp33" # --else-endif-columnn -opts="${opts} -cs" # --space-after-cast -opts="${opts} -d0" # --line-comments-indentationn -opts="${opts} -di0" # --declaration-indentation -opts="${opts} -fca" # --format-all-comments -opts="${opts} -hnl" # --honour-newlines -opts="${opts} -i3" # --indent-level -opts="${opts} -ip0" # --parameter-indentation -opts="${opts} -l80" # --line-length -opts="${opts} -lc80" # --line-length -opts="${opts} -lp" # --continue-at-parentheses -opts="${opts} -lps" # --leave-preprocessor-space -opts="${opts} -nbc" # --no-blank-lines-after-commas -opts="${opts} -nbfda" # --dont-break-function-decl-args -opts="${opts} -nbfde" # NOT --break-function-decl-args -opts="${opts} -nfc1" # --dont-format-first-column-comments -opts="${opts} -npcs" # --no-space-after-function-call-names -opts="${opts} -nprs" # --no-space-after-parentheses -opts="${opts} -npsl" # --dont-break-procedure-type -opts="${opts} -nsaf" # --no-space-after-for -opts="${opts} -nsai" # --no-space-after-if -opts="${opts} -nsaw" # --no-space-after-while -opts="${opts} -npsl" # --dont-break-procedure-type -opts="${opts} -nut" # --no-tabs -opts="${opts} -nv" # --no-verbosity -opts="${opts} -npro" # --ignore-profile -opts="${opts} -pi0" # --paren-indentationn -opts="${opts} -ppi3" # preprocessor indent -opts="${opts} -sbi0" # --struct-brace-indentation -opts="${opts} -sc" # --start-left-side-of-comments -opts="${opts} -sob" # --swallow-optional-blank-lines -opts="${opts} -ss" # --space-special-semicolon - - - -for file in "$@"; do - indent $opts "$file" -done - # old: -# -ad \ -# -ts3 -nut -sc -ce -cdw -cli0 -nbc lp -ppi3 -di1 -c33 -cd33 -ncdb -ci3 -cp33 -cs -d0 -di0 -l75 -nfc1 -nfca -hnl -ip0 -nprs -saf -sai -saw -nsob -nss -npsl "$file" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/old/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/old/cdoc-man.sh deleted file mode 100755 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/old/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/qemu-test.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/qemu-test.sh deleted file mode 100755 index fd41312e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/qemu-test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-03: For testing cinit in qemu -# - -emud="${HOME}/emu" -img="${emud}/debian-hd.img" -ddir="${emud}/mount" -loop=/dev/loop1 -fsck="/sbin/fsck.jfs" - -# my jfs is on the first partition, 512*63 bytes offset -offset="32256" - -set -e -set -x -sudo losetup -o "${offset}" "${loop}" "${img}" -sudo "${fsck}" "${loop}" -sudo mount "${loop}" "${ddir}" - -sudo umount "${loop}" -sudo losetup -d "${loop}" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/stop_cinit.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/stop_cinit.sh deleted file mode 100755 index 86e4d82b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/stop_cinit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Linux specific, but don't care, I am the only person that should use it - -killall -TERM cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/test-cmd.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/test-cmd.sh deleted file mode 100755 index dbfc5c73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/test-cmd.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-27: Test cmd -# - - -echo "Testing cmd..." -sudo /sbin/cmd -s /etc/cinit/svc/init -sudo /sbin/cmd -p /etc/cinit/svc/init -sudo /sbin/cmd -v -sudo /sbin/cmd -V diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/test/cinit-conf.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/test/cinit-conf.sh deleted file mode 100755 index 0e29816e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/test/cinit-conf.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: 2005-08-08 -# cinit-conf - -LIBEXEC=$(dirname $0)/../libexec/cinit-conf/ - -. ${LIBEXEC}/dialog-alias.sh - -dialog --calendar "Test" 0 0 18 12 1982 -dialog --checklist "Checktest" 0 0 0 item1 on item2 off item3 on -dialog --infobox "Infotext" 0 0 -dialog --inputbox "inputbox" 0 0 "vorgegebener text" -dialog --menu "menu" 0 0 0 tag1 item1 tag2 item2 bla blub -dialog --infobox "Infotext" 0 0 -dialog --msgbox "Infotext" 0 0 -dialog --radiolist "Infotext" 0 0 0 tag1 item1 on tag2 item2 off -dialog --textbox ~/.bashrc 0 0 -dialog --yesno "Ja oder nein?" 0 0 - -dialog --gauge "Checktest" 0 0 10 - -#dialog --inputmenu "Infotext" 0 0 0 tag1 item1 tag2 item2 bla blub diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/test/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/test/cinit.uml.test deleted file mode 100755 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/test/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/test_on_hosts.sh deleted file mode 100755 index afeb2627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net jiffies.forkbomb.ch ddna044.netstream.ch" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/valgrind deleted file mode 100755 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre18/scripts/report.compile deleted file mode 100755 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/README b/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/README deleted file mode 100644 index 653e9875..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/README +++ /dev/null @@ -1,2 +0,0 @@ -Directory to keep scripts related to controlling vms, -which are used for testing cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/qemu-start.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/qemu-start.sh deleted file mode 100755 index ac863a20..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/qemu-start.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -ROOT=$(dirname $0)/../root/Debian-3.0r0.ext2 - -qemu -hda "$ROOT" "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-dir-start-plain.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-dir-start-plain.sh deleted file mode 100755 index 41b1b218..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-dir-start-plain.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start an image with its standard init -# - -ROOT="$1"; shift - -linux root=/dev/root rootflags="$ROOT" rootfstype=hostfs "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-img-start-cinit.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-img-start-cinit.sh deleted file mode 100755 index 8a147d6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-img-start-cinit.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start an image with cinit as init -# - -ROOT="$1"; shift - -linux "ubd0=$ROOT" init=/sbin/cinit "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-img-start-plain.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-img-start-plain.sh deleted file mode 100755 index 311eaf13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-img-start-plain.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start an image with its standard init -# - -ROOT="$1"; shift - -linux "ubd0=$ROOT" "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-mount.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-mount.sh deleted file mode 100755 index bd52286a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-mount.sh +++ /dev/null @@ -1,3 +0,0 @@ -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl,sync diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-shell.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-shell.sh deleted file mode 100755 index e1776af2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-shell.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -ROOT=$(dirname $0)/Debian-3.0r0.ext2 - -linux ubd0=$ROOT init=/bin/sh "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-umount.sh b/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-umount.sh deleted file mode 100755 index 70453e35..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/vm/uml-umount.sh +++ /dev/null @@ -1,3 +0,0 @@ -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo umount "$DDIR" diff --git a/software/cinit/browse_source/cinit-0.3pre18/scripts/wrapper/linux-sysvinit/shutdown b/software/cinit/browse_source/cinit-0.3pre18/scripts/wrapper/linux-sysvinit/shutdown deleted file mode 100755 index b8cf3837..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/scripts/wrapper/linux-sysvinit/shutdown +++ /dev/null @@ -1,207 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-cinit /at/ schottelius.org) -# 2007-05-21 -# Behave as being shutdown from Linux' sysvinit - -# Always needed variables / functions -_0_short=${0##*/} -_o_seperator=":" -_oecho_seperator=":" -_eecho_seperator=">" - -# ok-exit/echo -_oecho() -{ - echo "${_0_short}${_oecho_seperator}" "$@" -} - -_oexit() -{ - _oecho "$@" - exit 0 -} - -# error-exit/echo -_eecho() -{ - echo "${_0_short}${_oecho_seperator}" "$@" >&2 -} - -_eexit() -{ - _eecho "$@" - exit 1 -} - -# Program specific variables - -time_t=0 # -t sec -warn_only_k=0 # -k -reboot_r=0 # -r -halt_h=0 # -h -poweroff_P=0 # -P -cancel_c=0 # -c -time=-1 # [time] -message="" # [warning-message] -cmd="" # what to execute internally -pidfile="/var/run/cinit.shutdown" -pid="" -runs="" - -version="0.1" -version_date="2007-10-30" - -message_intro="The system is going down for" -message_reboot="reboot" -message_halt="halt" -message_poweroff="poweroff" - -# unimplemented: -a, -H, -f, -F -# deprecated and thus not implemented: -n - -# traping signals -trap_signals() -{ - _oexit "Aborted shutdown" -} - -# all the functions - -usage() -{ - -cat << cinit_usage - -*** cinit linux-sysvinit shutdown wrapper (Version ${version} ${version_date}) *** - -Usage shutdown [-akrhHPfnc] [-t secs] time [warning message] - -a: use /etc/shutdown.allow - -k: don't really shutdown, only warn. - -r: reboot after shutdown. - -h: halt after shutdown. - -P: halt action is to turn off power. - -H: halt action is to just halt. - -f: do a 'fast' reboot (skip fsck). - -F: Force fsck on reboot. - -n: do not go through "init" but go down real fast. - -c: cancel a running shutdown. - -t secs: delay between warning and kill signal. - ** the "time" argument is mandatory! (try "now") ** - -You can also call "cinit.{halt|reboot|poweroff}" directly -(instead of using this wrapper). - -cinit_usage - -exit 0 - -} - -warn() -{ - ( echo ""; echo "$@"; echo "" ) | wall - ( echo ""; echo "$@"; echo "" ) -} - -if [ "$#" -lt 1 ]; then - usage -fi - -# getopt! -while [ "$#" -ge 1 ]; do - arg="$1"; shift - - case "${arg}" in - -a|-F|-f|-n) - _oexit "Sorry, ${arg} is not implemented." - ;; - -t) - if [ "$#" -lt 1 ]; then - _eexit "-t needs the time argument" - fi - time_t="$1"; shift - ;; - -k) - warn_only_k=1 - cmd=true - ;; - -r) - reboot_r=1 - cmd=cinit.reboot - message_what="${message_reboot}" - ;; - -h|-H) - halt_h=1 - cmd=cinit.halt - message_what="${message_halt}" - ;; - -P) - poweroff_P=1 - cmd=cinit.poweroff - message_what="${message_poweroff}" - ;; - -c) - cancel_c=1 - ;; - *) - # time unset? - if [ "${time}" = -1 ]; then - time="${arg}" - [ "${time}" = "now" ] && time=0 - elif [ -z "${message}" ]; then - message="${arg}" - else - _eexit "Already specified time and message" - fi - ;; - esac -done - -if [ -f "${pidfile}" ]; then - pid=$(cat "${pidfile}") - runs=$(kill -CONT "${pid}" >/dev/null 2>&1 && echo yes) -fi - -# do cancel or abort or locking -if [ "${cancel_c}" -eq 1 ]; then - if [ "${runs}" ]; then - kill -TERM "${pid}" - _oexit "Terminated running shutdown at \"${pid}\"." - else - _eexit "Cannot abort shutdown, not running." - fi -fi - -if [ -z "${time}" ]; then - usage -fi - -if [ -z "${cmd}" ]; then - _eexit "You need to specify one of -h, -P, -H, -r." -fi - -# add lock -if [ "${pid}" ]; then - if [ "${runs}" ]; then - _eexit "Shutdown already running." - else - _oecho "Overwriting stale pidfile" - fi -fi -echo $$ > "${pidfile}" - -if [ "${message}" ]; then - warn "${message}" -fi - -# signals to abort on -trap trap_signals INT HUP TERM - -while [ "${time}" -gt 0 ]; do - warn "${message_intro} ${message_what} in ${time} minute(s)." - sleep 60 - time=$((${time}-1)) -done - -warn "${message_intro} ${message_what} now." -"${cmd}" diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:41:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:41:08 deleted file mode 100644 index d29de765..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:41:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586640 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:46:09 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:46:09 deleted file mode 100644 index 7ecb58be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-15:46:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586368 Apr 30 15:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-16:50:05 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-16:50:05 deleted file mode 100644 index d87323e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-16:50:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587818 Apr 30 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:03:00 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:03:00 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:39:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:39:08 deleted file mode 100644 index 0c2bb0af..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:39:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586194 May 6 20:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:54:00 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:54:00 deleted file mode 100644 index fe51f37f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:55:07 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:55:07 deleted file mode 100644 index 4d2854b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:55:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-23:00:07 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-23:00:07 deleted file mode 100644 index c0db4814..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-23:00:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 23:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:31:01 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:31:01 deleted file mode 100644 index 4ad1fccf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:31:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:31 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:39:02 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:39:02 deleted file mode 100644 index 16613354..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:39:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:43:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:43:08 deleted file mode 100644 index 29e5ab44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:54:04 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:54:04 deleted file mode 100644 index 474189e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:54:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:18:00 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:18:00 deleted file mode 100644 index 960ca358..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:18:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:14:00 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:14:00 deleted file mode 100644 index 7de2bc3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:14:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:14 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:43:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:43:08 deleted file mode 100644 index 11a18f12..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597245 May 7 14:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:48:01 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:48:01 deleted file mode 100644 index 28b127b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:48:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597405 May 7 14:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:55:05 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:55:05 deleted file mode 100644 index 5d0fa0e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:55:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:01:01 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:01:01 deleted file mode 100644 index 7c8b202b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:01:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 15:01 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:27:00 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:27:00 deleted file mode 100644 index a2d19633..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:27:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:20:02 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:20:02 deleted file mode 100644 index 23608225..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:20:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602184 May 7 16:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:31:09 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:31:09 deleted file mode 100644 index 40f890cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:31:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:31 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:08:09 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:08:09 deleted file mode 100644 index 22b48319..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:08:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-10:44:00 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-10:44:00 deleted file mode 100644 index 4dad0f2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-10:44:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 64935 May 8 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-12:42:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-12:42:08 deleted file mode 100644 index a356e57e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-12:42:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 23195 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:25:05 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:25:05 deleted file mode 100644 index 0b5026c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:25:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:30:03 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:30:03 deleted file mode 100644 index 7377ee59..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:30:03 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-21:54:00 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-21:54:00 deleted file mode 100644 index 41ed8e4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-21:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604637 May 10 21:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:07:06 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:07:06 deleted file mode 100644 index 9579bf3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:07:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95212 May 10 22:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-00:14:02 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-00:14:02 deleted file mode 100644 index 86483ada..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-00:14:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-15-22:32:07 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-15-22:32:07 deleted file mode 100644 index 59557c4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-15-22:32:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 15 22:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-15-23:52:06 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-15-23:52:06 deleted file mode 100644 index 757e6dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-15-23:52:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579305 May 15 23:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-15-23:56:00 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-15-23:56:00 deleted file mode 100644 index 24c85104..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-15-23:56:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605145 May 15 23:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:16:09 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:16:09 deleted file mode 100644 index 27254aa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:16:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605205 May 16 00:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-09:58:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-09:58:08 deleted file mode 100644 index 90a5b698..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-09:58:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605567 May 16 09:58 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:09:00 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:09:00 deleted file mode 100644 index 4c34f810..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:09:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605583 May 16 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:13:07 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:13:07 deleted file mode 100644 index b6a851e6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:13:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605619 May 16 10:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:23:05 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:23:05 deleted file mode 100644 index 2c4fc649..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:23:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-14:56:01 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-14:56:01 deleted file mode 100644 index c5e08e25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-14:56:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95794 May 21 14:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:35:00 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:35:00 deleted file mode 100644 index 0f2d5463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:35:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:35 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-08-10:23:04 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-08-10:23:04 deleted file mode 100644 index 0858c419..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-08-10:23:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53724 Jun 8 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-08:44:09 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-08:44:09 deleted file mode 100644 index b96788fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-08:44:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53524 Jun 9 08:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-10:00:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-10:00:08 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-11:47:04 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-11:47:04 deleted file mode 100644 index 531df2bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-09-11:47:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-10-18:14:05 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-10-18:14:05 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-10-18:14:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-12-18:09:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-12-18:09:08 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-12-18:09:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-08:13:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-08:13:08 deleted file mode 100644 index eab7486c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-08:13:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 13 08:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-10:01:02 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-10:01:02 deleted file mode 100644 index cd4e9dad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-10:01:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52380 Jun 14 10:01 cinit --rwx------ 1 nico users 47356 Jun 14 10:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-06:46:05 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-06:46:05 deleted file mode 100644 index e0e1051d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-06:46:05 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:46 cinit --rwx------ 1 nico users 47324 Jun 15 06:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-16-12:18:07 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-16-12:18:07 deleted file mode 100644 index 43633af1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-16-12:18:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 16 12:18 cinit --rwx------ 1 nico users 50860 Jun 16 12:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-10:35:02 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-10:35:02 deleted file mode 100644 index 41fcadb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-10:35:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47584 Jun 22 10:35 cinit --rwx------ 1 nico users 46760 Jun 22 10:35 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-25-11:56:07 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-25-11:56:07 deleted file mode 100644 index 0f917aee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-25-11:56:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47712 Jun 25 11:56 cinit --rwx------ 1 nico users 46760 Jun 25 11:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:11:07 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:11:07 deleted file mode 100644 index 7e4c645b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:11:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:11 cinit --rwx------ 1 nico users 50860 Jul 6 08:11 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:08:05 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:08:05 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:08:05 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:13:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:13:08 deleted file mode 100644 index 2b09e08b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-07-06-10:13:08 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:13 cinit --rwx------ 1 nico users 50860 Jul 6 10:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-08-08-01:00:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-08-08-01:00:08 deleted file mode 100644 index 9c0c4908..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-08-08-01:00:08 +++ /dev/null @@ -1,3 +0,0 @@ -total 840 --rwx------ 1 root root 429764 Aug 8 01:00 cinit --rwx------ 1 root root 426052 Aug 8 01:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-08-29-21:48:00 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-08-29-21:48:00 deleted file mode 100644 index caa24bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-08-29-21:48:00 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 root root 437404 2005-08-29 21:47 cinit --rwx------ 1 root root 436316 2005-08-29 21:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-05:57:00 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-05:57:00 deleted file mode 100644 index ba396d14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-05:57:00 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:57 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:56 cinit --rwx------ 1 nico nico 440412 Sep 3 05:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-05:58:07 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-05:58:07 deleted file mode 100644 index 65f0cc50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-05:58:07 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-03 05:58 ccontrol --rwx------ 1 root root 444508 2005-09-03 05:58 cinit --rwx------ 1 root root 440412 2005-09-03 05:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:43:02 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:43:02 deleted file mode 100644 index 027a5b67..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:43:02 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:43 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:43 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:51:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:51:08 deleted file mode 100644 index a0fdf121..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:51:08 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:43 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:51 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:58:04 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:58:04 deleted file mode 100644 index 5c6da786..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-09:58:04 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:58 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:58 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre18/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-17-00:31:08 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-17-00:31:08 deleted file mode 100644 index b95123d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-17-00:31:08 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 00:31 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:31 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:08:04 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:08:04 deleted file mode 100644 index df9d08a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:08:04 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:08 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:08 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-11:46:07 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-11:46:07 deleted file mode 100644 index 7b96d3d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-11:46:07 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:46 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:46 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-15:19:05 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-15:19:05 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-15:19:05 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-11-29-235707 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-11-29-235707 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-11-29-235707 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-185602 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-185602 deleted file mode 100644 index d90770a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-185602 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71836 2006-12-03 18:56 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-185901 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-185901 deleted file mode 100644 index 61cc9bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-185901 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71768 2006-12-03 18:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-06-180205 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-06-180205 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-06-180205 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-213702 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-213702 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-213702 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre18/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2007-02-23-202443 b/software/cinit/browse_source/cinit-0.3pre18/size/2007-02-23-202443 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2007-02-23-202443 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2007-02-23-202720 b/software/cinit/browse_source/cinit-0.3pre18/size/2007-02-23-202720 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2007-02-23-202720 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2007-03-07-231936 b/software/cinit/browse_source/cinit-0.3pre18/size/2007-03-07-231936 deleted file mode 100644 index c2ef3d0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2007-03-07-231936 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71213 2007-03-07 23:18 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2007-04-06-011811 b/software/cinit/browse_source/cinit-0.3pre18/size/2007-04-06-011811 deleted file mode 100644 index 73de8724..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2007-04-06-011811 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71281 2007-04-06 01:17 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/size/2009-09-29-075620 b/software/cinit/browse_source/cinit-0.3pre18/size/2009-09-29-075620 deleted file mode 100644 index 7719cb7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/size/2009-09-29-075620 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 101258 2009-09-29 07:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/Makefile b/software/cinit/browse_source/cinit-0.3pre18/src/Makefile deleted file mode 100644 index a3a5a4eb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/Makefile +++ /dev/null @@ -1,185 +0,0 @@ -# -# 2008 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. - -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . - -# -# Don't edit Makefiles, use conf/* for configuration. -# - -################################################################################ -# -# Build tools / locations -# - -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin -DESTDIR= -#DESTDIR=/home/user/nico/emu/dst - -################################################################################ -# -# All objects / binaries -# depend on headers. More or less. FIXME: use gcc -M -# -BIN=cinit.halt cinit.poweroff cinit.reboot cmd -CINIT=cinit -ALLBIN=${BIN} ${CINIT} - -# headers -CONFIG_H=include/config.h -CINIT_HEADERS=${shell cat include/listing} - -# objects -CINIT_OBJ=${shell cat object_lists/cinit} -HALTKILL_OBJ=${shell cat object_lists/halt.kill} -POWEROFFKILL_OBJ=${shell cat object_lists/poweroff.kill} -REBOOTKILL_OBJ=${shell cat object_lists/reboot.kill} -CMD_OBJ=${shell cat object_lists/cmd} - -# -# All objects -# -OBJ=${CINIT_OBJ} ${HALTKILL_OBJ} ${POWEROFFKILL_OBJ} ${REBOOTKILL_OBJ} - -################################################################################ -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: ${ALLBIN} - - -################################################################################ -# -# Generic -# -${OBJ}: ${CINIT_HEADERS} - -%.o: %.c - ${CC} -c -o $@ $< - -################################################################################ -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../scripts/build/cinit.configure.os - @../scripts/build/cinit.configure.tools - @../scripts/build/cinit.configure.ipc - @../scripts/build/cinit.configure.mark - -${CINIT_OBJ}: ${CONFIG_H} - -${CONFIG_H}: ../conf/* - ../scripts/cinit.mkheader > ${CONFIG_H} - -################################################################################ -# -# Install targets -# - -#install: install-dir cinit cservice ccontrol -install: install-cinit install-utilities - -install-sbin: - install -d ${DESTDIR}/sbin - -install-utilities: install-sbin ${BIN} - @echo '*** Installing utilities ***' - install ${BIN} ${DESTDIR}/sbin - -install-cinit: install-sbin cinit - @echo '*** Installing cinit ***' - @echo "Need to delete cinit before reinstalling it {text file busy problem}" - rm -f ${DESTDIR}/sbin/cinit - install cinit ${DESTDIR}/sbin - -# FIXME: target broken -install-miniconf: - ./bin/cinit.install.miniconf - -# FIXME: target broken -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# - -cinit: ${CINIT_OBJ} - ${LD} $^ -o $@ - -cinit.halt: ${HALTKILL_OBJ} - ${LD} $^ -o $@ - -cinit.poweroff: ${POWEROFFKILL_OBJ} - ${LD} $^ -o $@ - -cinit.reboot: ${REBOOTKILL_OBJ} - ${LD} $^ -o $@ - -cmd: ${CMD_OBJ} - ${LD} $^ -o $@ - -################################################################################ -# -# Internal test targets -# - -uml: cinit cmd - ../../vm/uml/uml-mount.sh - cp cinit cmd ../../vm/uml/root/sbin/ - ../../vm/uml/uml-umount.sh - -umlstart: uml - ../../vm/uml/uml-start.sh - -SDIR=../size -SNOW=$(shell date +%Y-%m-%d-%H%M%S) -sizecheck: cinit - ls -l cinit > $(SDIR)/$(SNOW) - cat $(SDIR)/$(SNOW) - git add $(SDIR)/$(SNOW) - git commit -m "Size: $$(awk '{ print $$5 }' $(SDIR)/$(SNOW))" - - -################################################################################ -# -# Clenaup targets -# - -.PHONY: clean -.PHONY: dist -.PHONY: distclean - -dist: distclean - -distclean: clean - rm -f os/current ipc/current .configured - -clean: - rm -f ../tmpbin/*.configured - rm -f ${BIN} ${CINIT_OBJ} ${CINIT} - find . -name \*.o -exec rm {} \; diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre18/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/README b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/README deleted file mode 100644 index f66e0ddb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/README +++ /dev/null @@ -1,4 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/STOPPED b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/STOPPED deleted file mode 100644 index a0013ca6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/STOPPED +++ /dev/null @@ -1,12 +0,0 @@ -0. Definition Nachrichten -0.1 Definition returncodes und co... - - -1. execute_sth: finish, so we can use it for panic - -2. MSGQ: - beidseitig implemenntieren - ipc header integrieren - Dokumentieren - - conf/* von msgq saeubern diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/charp_to_flag.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/charp_to_flag.c deleted file mode 100644 index ae4321a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/charp_to_flag.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Convert char pointer to uint32_t flag - * - */ - -#include /* strchr */ -#include /* NULL */ - -#include "cinit.h" /* cinit */ - -uint32_t charp_to_flag(char *str) -{ - uint32_t ret = 0; - - if(str != NULL) { - if(strchr(str, CINIT_CMD_SVC_WANTS) != NULL) - ret |= CINIT_QSN_SVC_WANTS; - if(strchr(str, CINIT_CMD_SVC_NEEDS) != NULL) - ret |= CINIT_QSN_SVC_NEEDS; - } - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/cinit_get_svc_status.c01 b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/cinit_get_svc_status.c01 deleted file mode 100644 index cdc9d8c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/cinit_get_svc_status.c01 +++ /dev/null @@ -1,54 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Retrieves status of a service - */ - - -#include /* malloc */ -#include /* str* */ -#include /* integers */ - -#include "cinit.h" /* header for clients */ - -/* returns either the status (>0) - * or -1 on memory error - */ -int32_t cinit_get_svc_status(char *name) -{ - /* fixme: s32 int! */ - int tmp; - int32_t res; - char *p, *answer; - int offset = 0, len = strlen(name); - - p = malloc(len + 2 * sizeof(tmp)); - if(!p) return -1; - - /* code */ - tmp = CINIT_MSG_GET_STATUS; - strncpy(p,(char *) &tmp, sizeof(tmp)); - offset += sizeof(tmp); - - /* length */ - strncpy(&p[offset],(char *) &len, sizeof(len)); - offset += sizeof(len); - - /* data */ - strncpy(p, (char *) name, len); - - answer = cinit_send_to(p,len); - - if(answer) { - strncpy((char *) &res, answer, sizeof(res)); - free(answer); - } else { - res = -1; - } - - free(name); - return res; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/comm.h b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/comm.h deleted file mode 100644 index 4fbe8c50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/comm.h +++ /dev/null @@ -1,81 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ -#include /* pid_t */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_MIN='A', /* minimum command number */ - CMD_SVC_START, /* the client wants US to start a service */ - CMD_SVC_START_ONLY, /* start this service without dependencies */ - CMD_SVC_START_NEEDS, /* start this service, needs, but no wants */ - CMD_SVC_STOP, /* stop svc and all svcs that need it */ - CMD_SVC_STOP_ONLY, /* we should stop _only_ this service */ - CMD_SVC_STOP_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ /* FIXME: NEEDED? */ - CMD_RESCUE, /* we should start the rescue mode */ /* UNIMPLEMENTED */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ /* UNIMPLEMENTED */ - CMD_INFO, /* send information about that service */ /* UNIMPLEMENTED */ - CMD_MAX , /* maximum command number */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * client issues a command: start_command - */ -struct s_cmd { - char cmd; - pid_t pid; -}; - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/cservice.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/do_change_status.c deleted file mode 100644 index 58c0bbf0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/do_change_status.c +++ /dev/null @@ -1,72 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t * pid, int sock2, - int action) -{ - int tmp; - - ssize_t(*fpoint) (int, void *, size_t); - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - tmp = strlen(svc); - } - - if(fpoint(sock2, &tmp, sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2, svc, tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2, status, sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2, pid, sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/do_reboot.c.orig b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/do_reboot.c.orig deleted file mode 100644 index 9c4c8331..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/do_reboot.c.orig +++ /dev/null @@ -1,144 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" -#include "os.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - /* Let's disappear, we don't care about clients anymore */ - close(sock); - /********* first SIGTERM the respawning processes **********/ - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - kill(tmp->pid,SIGTERM); - } - tmp = tmp->before; - } while( tmp != list ); - - /********* now wait for the respawn watchers to return *****/ - tmp = list->before; - do { - if( tmp->status == ST_RESPAWN) { - /* wait until the respawn watcher terminated */ - waitpid(tmp->pid,&i,0); - } - - /* execute shutdown service FIXME: parallelize that?*/ - exec_svc(tmp->abs_path,CMD_STOP_SVC); - tmp = tmp->before; - } while( tmp != list ); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ -#define CMD_CNT 4 - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-arfd" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - -#define RESCUE_CMD "/bin/sh" - - /* now: we are completley alone. umount everything, go to bed */ - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG2; - cmd[3] = MOUNT_ARG3; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } else { - _exit(1); - } - - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - case SIGUSR2: /* rescue - destroy ourself */ - LOG(MSG_RESCUE); - cmd[0] = RESCUE_CMD; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - case SIGCONT: /* update */ - LOG(MSG_UPDATE); - cmd[0] = CINIT_BIN; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - } - - /* do not exit, Linux does that for us */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/do_result.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/do_result.c deleted file mode 100644 index d302e4df..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/do_result.c +++ /dev/null @@ -1,35 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t(*fpoint) (int, void *, size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - } - - if(fpoint(nsock, value, 1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} - -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/do_svc_name.c deleted file mode 100644 index b56523d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/do_svc_name.c +++ /dev/null @@ -1,59 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - - ssize_t(*fpoint) (int, void *, size_t); - - /* - * set pointers - */ - if(action == ACT_CLIENT) { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* - * read / write lenght - */ - if(fpoint(sock2, &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* - * write/read service name - */ - if(fpoint(sock2, svc, tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/exec_svc.c deleted file mode 100644 index 35e71ba4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/exec_svc.c +++ /dev/null @@ -1,298 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if(cpid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid, &tmp, 0); - if(WIFEXITED(tmp)) { - if(!WEXITSTATUS(tmp)) { - return cpid; - } - } - SERVICE_LOG(abspath, LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ON); - } else { - strcat(pathtmp, C_OFF); - } - - /* - * readlink retrieves real name, if it is a symlink - */ - if((tmp = readlink(pathtmp, pathtmp, PATH_MAX)) == -1) { - - /* - * nothing there? fine, exit - */ - if(errno == ENOENT) { - _exit(0); - } else if(errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* - * restore original name, file is not a link - */ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ON); - } else { - strcat(pathtmp, C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* - * add '\0', readlink forgets it - */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; neither - * readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc(sizeof(char *)); - if(nargv == NULL) - _exit(1); - - *nargv = (char *) malloc(tmp); - if(*nargv == NULL) - _exit(1); - - strcpy(*nargv, pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ONARG); - } else { - strcat(pathtmp, C_OFFARG); - } - - /* - * open params file - */ - if(!stat(pathtmp, &buf)) { - fd = open(pathtmp, O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* - * fill sbuf with content - */ - while((tmp = read(fd, pathtmp, PATH_MAX)) != 0) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf, argc + tmp + 1); - strncpy(&sbuf[argc], pathtmp, tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* - * The idea is to reuse the allocated memory. We'll simply * replace the \n - * with \0 and set a char* to it. * We'll lose the last byte (the initial - * \0), but we * don't care, as we die some seconds later with execv() * oh, - * we'll only lose it, if the file is terminated by \n - */ - - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* - * set to the beginning - */ - nargv[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - } else { - /* - * set to the end of sbuf, not to the \0, but one before - */ - p = sbuf + (strlen(sbuf) - 1); - } - - /* - * if next byte is 0, the end of string is found - */ - if(*(p + 1) == '\0') { - sbuf = NULL; - } else { - sbuf = p + 1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ONENV); - } else { - strcat(pathtmp, C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if(!stat(pathtmp, &buf)) { - fd = open(pathtmp, O_RDONLY); - - /* - * file exists, failing to open it is an error - */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while((tmp = read(fd, pathtmp, PATH_MAX)) != 0) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf, argc + tmp + 1); - strncpy(&sbuf[argc], pathtmp, tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - } else { - /* - * set to the end of sbuf, not to the \0, but one before - */ - p = sbuf + (strlen(sbuf) - 1); - } - - if(*(p + 1) == '\0') { - sbuf = NULL; - } else { - sbuf = p + 1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0], nargv, nenv); - - /* - * we should never reach this block - */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* - * FIXME: remove debug, remove double printing without loosing info - */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/main.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/main.c deleted file mode 100644 index 9016eac1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/main.c +++ /dev/null @@ -1,106 +0,0 @@ - -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * main.c - * main part of cinit - */ - -#include /* ftok */ -#include /* msgget */ -#include /* perror */ -#include /* exit */ - -#include "cinit.h" - -/* global variables */ -struct listitem *list; -pid_t cpid; - -/*********************************************************************** - * the main procedure - */ - -int main(int argc, char **argv) -{ - char *initdir; - key_t msg_key; - int msq_id; - - initdir = CINIT_INIT; /* default init dir */ - list = NULL; /* list of services is empty currently */ - cpid = getpid(); /* no comment */ - - if(cpid != 1) { - usage(CINIT_VERSION, MSG_USAGE); - } - - /* - * set signal handlers - */ - set_signals(ACT_SERV); - - /* - * read arguments, profile support - */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc - 1], strlen(PROFILE))) { - initdir = (char *) malloc(strlen(CINIT_DIR) + - strlen(&argv[argc - 1][strlen(PROFILE)]) + - 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_DIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc - 1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* - * tell the world we are there FIXME: do we really need three calls? - */ - mini_printf(MSG_BOOTING, 1); - mini_printf(initdir, 1); - mini_printf("\n", 1); - - if(chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /* - * create message queues - */ - - /* - * start init or profile - */ - run_init_svc(initdir); - - /* - * free, if we malloc()ed before - */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* - * wait until we recieved the signal to create the socket - */ - - /* - * our life is polling a socket - */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if((plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/msg_change_status.c deleted file mode 100644 index 40a46946..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/msg_change_status.c +++ /dev/null @@ -1,30 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc, &status, &pid, sock, ACT_CLIENT)) { - return 0; - } - if(!do_result(sock, NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/msg_svc_on_off.c deleted file mode 100644 index 350d41fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/msg_svc_on_off.c +++ /dev/null @@ -1,26 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) - return RT_ERR_COMM; - if(!do_svc_name(sock, svc, ACT_CLIENT)) - return RT_ERR_COMM; - return (int) do_result(sock, NULL); -} - -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/pipes b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/pipes deleted file mode 100644 index 581b1274..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/pipes +++ /dev/null @@ -1,17 +0,0 @@ - /* create pipes */ - if(pipe(pfd) == -1) { - perror(MSG_ERR_PIPE); - panic(); - } - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } - diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/respawn_svc.c deleted file mode 100644 index d52984be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/respawn_svc.c +++ /dev/null @@ -1,114 +0,0 @@ - -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX + 1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* - * if we read anything, our child succeded - */ - if(read(pipefd[0], &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM, &sa, NULL); /* term = kill respawing process */ - /* - * sigterm handler should kill first our watching pid, reset the pid to 0 - * and then we'll kill ourselves - */ - - tmp = 1; - if(write(pipefd[1], &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* - * try to read delay into sock - */ - strcpy(delay, abspath); - strcat(delay, SLASH); - strcat(delay, C_DELAY); - - /* - * reuse sock to specify delay - */ - sock = -1; - tmp = open(delay, O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp, &delay[0], PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* - * exec_svc will set cpid accordingly - */ - if(!exec_svc(abspath, CMD_START_SVC)) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* - * FIXME: put most code of sig_terminate here, look for no_kill - */ - - /* - * start off task - */ - exec_svc(abspath, CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/run_init_svc.c deleted file mode 100644 index 2cc30262..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/run_init_svc.c +++ /dev/null @@ -1,57 +0,0 @@ - -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* - * leave cinit alone - */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* - * FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully - * anyway */ - } - /* - * parent exits, we don't care about our children - */ - return 1; -} - -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/run_init_svc2.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/run_init_svc2.c deleted file mode 100644 index 338b1a11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/run_init_svc2.c +++ /dev/null @@ -1,58 +0,0 @@ - -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) -{ - rpath = "test"; - return 0; -} /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* - * leave cinit alone - */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) - _exit(1); - - /* - * FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully - * anyway */ - } - /* - * parent exits, we don't care about our children - */ - return 1; -} - -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/run_run_svcs.c deleted file mode 100644 index b12cbb54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/run_run_svcs.c +++ /dev/null @@ -1,95 +0,0 @@ - -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX + 1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* - * if there is no such dir, we are finished - */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while((tdirent = readdir(d_tmp)) != NULL) { - /* - * ignore . and .. and everything with a . at the beginning - */ - if(*(tdirent->d_name) == '.') - continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf, abspath); - strcat(pathbuf, SLASH); - strcat(pathbuf, tdirent->d_name); - if(run_svc(pathbuf)) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* - * wait for pids - */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* - * if anything failed, we failed - */ - if(!WIFEXITED(status)) { - ret = 0; - } else { - if(WEXITSTATUS(status)) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/run_svc.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/run_svc.c deleted file mode 100644 index 194c981f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/run_svc.c +++ /dev/null @@ -1,144 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* - * save current working dir - */ - if(!(int) getcwd(pathtmp, PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* - * change to rpath - */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* - * get absolute name of rpath - */ - if(!(int) getcwd(abspath, PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* - * change back - */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath, CMD_START_SVC); /* check status */ - - switch (tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts, NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN, 1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_NEEDS); - - /* - * check for needs - */ - if(stat(pathtmp, &buf) == 0) { - if(!run_run_svcs(pathtmp)) { - SERVICE_LOG(abspath, LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_WANTS); - - if(stat(pathtmp, &buf) == 0) { - run_run_svcs(pathtmp); /* don't care about what happens with the want - * svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_RESPAWN); - - if(stat(pathtmp, &buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid)) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} - -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/set_signals.c01 b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/set_signals.c01 deleted file mode 100644 index ff35a78a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/set_signals.c01 +++ /dev/null @@ -1,40 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - D_PRINTF("Signale setzen"); - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c and ctr+alt+del */ - - /* what todo when a child exited, cleaning dead processes */ - if(action == ACT_SERV) { - sa.sa_handler=sig_child; -// SA_NOCLDSTOP - } - sigaction(SIGCHLD,&sa,NULL); - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } - sigaction(SIGUSR1,&sa,NULL); /* halt */ - sigaction(SIGUSR2,&sa,NULL); /* rescue */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGHUP,&sa,NULL); /* reboot */ - -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/sig_terminate.c deleted file mode 100644 index bc7171fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/sig_terminate.c +++ /dev/null @@ -1,73 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* - * FIXME: only send SIGTERM, if not_kill does not exist - */ - if(kill(cpid, SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* - * variabel delay - */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* - * if it still exists... - */ - if(kill(cpid, 0) != -1) { - /* - * kill if there is a delay - */ - if(sock != 0) { - nanosleep(&ts, NULL); - status = kill(cpid, SIGKILL); - if(status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* - * remove zombie if killed, if delay is zero wait for it - */ - waitpid(cpid, &status, 0); - - /* - * reset the watching pid to zero (NOT THE WATCHER's!) - */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/test-signal.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/test-signal.c deleted file mode 100644 index a081fb76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/test-signal.c +++ /dev/null @@ -1,56 +0,0 @@ - -/* test case for glibc */ - -#include -#include /* sigaction, sigemtpyset */ -#include -#include -#include -#include -#include - -void sig_child(int tmp) -{ - struct timeval tv; - pid_t pid; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - gettimeofday(&tv, NULL); - printf("sighandler: %d\n", tv.tv_sec); - } -} - -int main() -{ - struct sigaction sa; - struct timeval tv; - struct timespec ts; - pid_t pid; - - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - - sigaction(SIGCHLD, &sa, NULL); - - while(1) { - pid = fork(); - - /* - * child - */ - if(!pid) { - ts.tv_sec = 2; - nanosleep(&ts, NULL); - gettimeofday(&tv, NULL); - - printf("child: %d\n", tv.tv_sec); - return 0; - } - - ts.tv_nsec = 100000; - nanosleep(&ts, NULL); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/unused-coded/cinit_read_from.c b/software/cinit/browse_source/cinit-0.3pre18/src/ancient/unused-coded/cinit_read_from.c deleted file mode 100644 index 54499be3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ancient/unused-coded/cinit_read_from.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read data from cinit to the client - */ - - -#include "ipc.h" /* IPC */ - -/* gets a bunch of bytes and returns the answer from cinit */ -int cinit_read_from(char **dest, int len) -{ - if(!cinit_ipc_logon()) return NULL; - if(!cinit_ipc_connect()) return NULL; - - /* FIXME: add length to ipc function? */ - if(!cinit_ipc_csend(data)) return NULL; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/client/cmd.c b/software/cinit/browse_source/cinit-0.3pre18/src/client/cmd.c deleted file mode 100644 index d85e417c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/client/cmd.c +++ /dev/null @@ -1,259 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * cmd - the cinit client program - sends commands to cinit - * - */ - -#include /* getopt */ -#include /* signals */ -#include /* printf() */ -#include /* free() */ -#include /* strncmp */ - -#include /* integers */ -#include /* PATH_MAX */ - -#include "cmd.h" /* own header */ -#include "signals.h" /* which signal */ -#include "svc.h" /* service related */ -#include "intern.h" /* print_errno() */ - -#include "cinit.h" /* cinit external */ - -#define C_USAGE(error) usage(USAGE_TEXT,error) -#define MSG_IPC_ERROR "An IPC error occured while connecting to cinit. " \ - "Is cinit running?\n" -#define MSG_UNKNOWN_SVC "Unknown service: %s\n" -#define MSG_UNKNOWN_RET "Unknown return code: %d\n" - -enum { - NOTHING, - ENABLE, - DISABLE, - PID, - STATUS -} whattodo; - -/*********************************************************************** - * cmd: main - */ -int main(int argc, char **argv) -{ - char buf[CINIT_DATA_LEN]; - char *flag = NULL; - int opt; - int what = NOTHING; - uint32_t ret; - uint32_t (*fp)(char *, uint32_t); /* to select enable or disable */ - - - union { - uint32_t status; - pid_t pid; - } u; - - /* - * -d w(ants) excluded) - * -e n(eeds excluded) - * -d i(nclude everything) - */ - - /* check for - * d|e: - * check for flags - * p|s: - * continue with service - * h|v|V: print and exit - */ - while((opt = getopt(argc, argv, CMD_OPTIONS)) != -1) { - switch (opt) { - - /******************************************** - * Non-continuing parameters - */ - - /******************************************** - * help - */ - case 'h': - printf(CMD_USAGE); - return 0; - break; - - /********************************************/ - case 'v': /* get version of cinit */ - ret = cinit_get_version(buf); - switch (ret) { - case CINIT_ASW_OK: - printf("Version of cinit: %s\n", buf); - return 0; - break; - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - return what; - break; - - /********************************************/ - case 'V': /* version */ - printf("Version of cmd: %s\n", CMD_VERSION); - return 0; - break; - - /********************************************/ - /* - * Continuing parameters - */ - - /********************************************/ - case 'e': /* enable service */ - what = ENABLE; - flag = optarg; - break; - - case 'd': /* disable service */ - what = DISABLE; - flag = optarg; - break; - - /********************************************/ - case 'p': /* get pid */ - what = PID; - break; - - /********************************************/ - case 's': /* get status */ - what = STATUS; - break; - - /********************************************/ - - default: - fprintf(stderr, - "Sorry, I did not understand what you want. Try -h, please.\n"); - return 1; - break; - } - } - - if(what == NOTHING) { - fprintf(stderr, - "That is not much you request from me. Try -h for help.\n"); - return 1; - } - - if(!path_absolute(argv[optind], buf, CINIT_DATA_LEN)) - return 1; - - fp = NULL; - switch (what) { - case ENABLE: - fp = cinit_svc_enable; - case DISABLE: - if(!fp) fp = cinit_svc_disable; - - u.status |= cinit_flag_to_uint32_t(flag); - - ret = fp(buf, u.status); - - switch (ret) { - case CINIT_ASW_OK: - printf("Set status of %s.\n", buf); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf(MSG_UNKNOWN_SVC, buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - - case PID: - ret = cinit_svc_get_pid(buf, &(u.pid)); - switch (ret) { - case CINIT_ASW_OK: - printf("PID of %s: %d\n", buf, u.pid); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf(MSG_UNKNOWN_SVC, buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - - case STATUS: - ret = cinit_svc_get_status(buf, &(u.status)); - switch (ret) { - case CINIT_ASW_OK: - printf("Status of %s is: %d\n", buf, u.status); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf("Unknown service: %s\n", buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - } - - return what; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/client/halt.kill.c b/software/cinit/browse_source/cinit-0.3pre18/src/client/halt.kill.c deleted file mode 100644 index eeb4c53a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/client/halt.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Halt the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_HALT) == -1) { - print_errno(MSG_HALT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/client/poweroff.kill.c b/software/cinit/browse_source/cinit-0.3pre18/src/client/poweroff.kill.c deleted file mode 100644 index 7066fedc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/client/poweroff.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_POWEROFF) == -1) { - print_errno(MSG_POWEROFF_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/client/reboot.kill.c b/software/cinit/browse_source/cinit-0.3pre18/src/client/reboot.kill.c deleted file mode 100644 index 4592b379..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/client/reboot.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_REBOOT) == -1) { - print_errno(MSG_REBOOT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/comm/README b/software/cinit/browse_source/cinit-0.3pre18/src/comm/README deleted file mode 100644 index b43969f2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/comm/README +++ /dev/null @@ -1,22 +0,0 @@ -This directory contains the server (aka cinit) part of the communication process. - -All the communication functions do not depend on the underlying -inter process communication mechanism. Use the following functions: - - - send_command(): client function: sends a command to cinit - - send_service(): client function: send the service name to operate on - - - read_command(): server function: reads beginning of a command - * Extracts the command - * reads client identification (=pid) - * calls other functions, depending on the command send => switch() - - read_service(): server function: reads service - - - write_answer(): server function: answer? - * sends answers to clients => senseful? - - - TODO: - - define information function, that returns various information about - a service - diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_svc_disable.c b/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_svc_disable.c deleted file mode 100644 index 94258487..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_svc_disable.c +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * disables a service - * - */ - -#include "svc-intern.h" /* list_search */ -#include "cinit.h" /* structure: cinit_answer */ - - -/** - * Returns the answer to the disable request to the client. - */ -int answer_svc_disable(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = svc_disable(tmp); - asr->opt = 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_svc_pid.c b/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_svc_pid.c deleted file mode 100644 index 2fdf11c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_svc_pid.c +++ /dev/null @@ -1,42 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * return pid of service - * - */ - -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_pid(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = CINIT_ASW_OK; - asr->opt = tmp->pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_svc_status.c b/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_svc_status.c deleted file mode 100644 index 99d0adf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_svc_status.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * returns status of service - * - */ - -#include /* strncpy */ -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_status(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = CINIT_ASW_OK; - asr->opt = tmp->status; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_svc_stop.c b/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_svc_stop.c deleted file mode 100644 index 73d32f8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_svc_stop.c +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Disable a service (with or without dependencies) - * - */ - -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_stop(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - if(tmp->status & (CINIT_ST_RESPAWNING | CINIT_ST_ONCE_RUN)) { - asr->ret = svc_disable(tmp); - } else { /* not running, nothing todo */ - asr->ret = CINIT_ASW_OK; - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_version.c b/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_version.c deleted file mode 100644 index e57cf552..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/comm/answer_version.c +++ /dev/null @@ -1,35 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * return version of cinit - * - */ - -#include "config.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_version(struct cinit_answer *asr) -{ - asr->ret = CINIT_ASW_OK; - cinit_cp_data(asr->data, VERSION); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/comm/cinit_append_data.c b/software/cinit/browse_source/cinit-0.3pre18/src/comm/cinit_append_data.c deleted file mode 100644 index 46c8a3e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/comm/cinit_append_data.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Append data to the existing field - * - */ - -#include /* strncpy */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -void cinit_append_data(char data[], char *src) -{ - strncat(data, src, CINIT_DATA_LEN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/comm/cinit_cp_data.c b/software/cinit/browse_source/cinit-0.3pre18/src/comm/cinit_cp_data.c deleted file mode 100644 index dd107ea8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/comm/cinit_cp_data.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * fill the data field of qsn and asn - * - */ - -#include /* strncpy */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -void cinit_cp_data(char data[], char *src) -{ - strncpy(data, src, CINIT_DATA_LEN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/comm/read_command.c b/software/cinit/browse_source/cinit-0.3pre18/src/comm/read_command.c deleted file mode 100644 index 3cc17300..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/comm/read_command.c +++ /dev/null @@ -1,66 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * cinit reads a command sent by a client, called by ipc listener - * - */ - -#include "cinit.h" /* structures */ -#include "intern.h" /* answer_svc_status() */ - -int read_command(struct cinit_question qsn, struct cinit_answer *asr) -{ - switch (qsn.cmd) { - case CINIT_QSN_GET_VERSION: - if(!answer_version(asr)) - return 0; - break; - - case CINIT_QSN_GET_STATUS: - if(!answer_svc_status(qsn.data, asr)) - return 0; - break; - - case CINIT_QSN_GET_PID: - if(!answer_svc_pid(qsn.data, asr)) - return 0; - break; - - case CINIT_QSN_SVC_DISABLE: - if(!answer_svc_disable(qsn.data, asr)) - return 0; - break; - - /* - * FIXME: stopped here case CINIT_MSG_SVC_ENABLE: - * if(!answer_svc_enable(qsn.data, asr)) return 0; break; - */ - - /* - * Unknown command: should not happen :-) - */ - default: - return 0; - break; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre18/src/core/build_argv.c deleted file mode 100644 index 89d50626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/core/build_argv.c +++ /dev/null @@ -1,193 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "intern.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX + 1]; - char *sbuf = NULL; - char *p; - - /* - * sane values - */ - bav->argv = NULL; - bav->envp = NULL; - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename, pathtmp, PATH_MAX)) == -1) { - /* - * nothing there? - */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if(errno != EINVAL) { - return BA_E_OTHER; - } - tmp = strlen(basename); - strncpy(pathtmp, basename, tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; neither - * readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) - return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) - return BA_E_MEM; - - strncpy(*(bav->argv), pathtmp, tmp); - - /********************** read params *********************/ - /* - * FIXME check bounds! - */ - strcpy(pathtmp, basename); - strcat(pathtmp, C_PARAMS); - /* - * ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL ORC_OK: Ok, have a filled - * buffer (perhaps NULL, too) other: Error, print errno - */ - tmp = openreadclose(pathtmp, &sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) - return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p + 1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) - return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp, basename); - strcat(pathtmp, C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp, &sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) - return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - sbuf = p + 1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre18/src/core/cinit.c deleted file mode 100644 index eb214502..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/core/cinit.c +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ -#include /* struct sigaction */ - -#include "intern.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc-intern.h" /* gen_svc_tree */ -#include "signals.h" /* signals used by cinit */ - -struct listitem *svc_list = NULL; /* services in a dependency tree */ -struct dep *deps_pending = NULL; /* the first services to be started */ -int svc_exited; /* did some service exit? */ - -struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END]; -int cinit_global_signals[SIGCINIT_END]; - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ - - /* - * Is this really needed? pid_t cpid; - * - * if(cpid != 1) { mini_printf(CINIT_VERSION,2); mini_printf(MSG_USAGE,2); - * return 0; } - */ - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING, 1); mini_printf(initdir, 1); mini_printf("\n", 1); - - /* Should we start a profile? */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc - 1], strlen(PROFILE))) { - initdir = malloc(strlen(CINIT_SVCDIR) + - strlen(&argv[argc - 1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc - 1][strlen(PROFILE)]); - break; - } - --argc; - } - - /* no configuration? - panic! */ - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize communication (IPC) */ - if(!cinit_ipc_init()) panic(); - - /* Init signal handler */ - signal_init_map(sigstages, cinit_global_signals); - set_signals(SIGSTAGE_DAEMON); - - /* build service dependency tree */ - if(!gen_svc_tree(initdir)) panic(); - - /* unused now, free if allocated */ - if(strcmp(initdir, CINIT_INIT)) free(initdir); - - /* FIXME: what todo? - * change to /, so applications have that as cwd, too Is that really - * seneful? Does that help any application? If not, just for looking nice, - * that's not a reason to enable it. if(chdir(SLASH) == -1) { - * print_errno(SLASH); panic(); } - */ - - /* the main startup routine */ - if(!tree_exec(deps_pending)) panic(); - - /* listen to commands after startup */ - while(1) { - /* react on service changes (=process exited) */ - if(svc_exited) svc_status_changed(deps_pending); - - /* handle the changes */ - if(deps_pending) svc_handle_pending(deps_pending); - - /* listen until we get a message or get interrupted */ - cinit_ipc_listen(); - - /* - * check dependency list: perhaps we need to restart something - */ - /* - * implement in cinit-0.3pre14/5 - */ - - // tree_exec(deps_pending); - // reuse tree_exec()? - // if(dep) { svc_start() .. ? - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre18/src/core/do_reboot.c deleted file mode 100644 index b9a3b8a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/core/do_reboot.c +++ /dev/null @@ -1,93 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Reboot: includes shutdown, reboot and poweroff - */ - -#include /* kill() */ -#include /* exit */ - -#include "signals.h" /* signal handling */ -#include "reboot.h" /* cinit_poweroff&co */ -#include "messages.h" /* messages */ -#include "svc-intern.h" /* shutdown_services */ -#include "intern.h" /* many functions */ -#include "ipc.h" /* disable ipc */ - -void do_reboot(int signal) -{ - /* - * do not listen to client requests anymore - * and tell the user what happens - */ - LOG(MSG_SHUTDOWN_START); - cinit_ipc_destroy(); - set_signals(SIGSTAGE_REBOOT); - - /* - * shutdown all services: take care about the dependency tree - */ - LOG(MSG_SHUTDOWN_SVC); - shutdown_services(svc_list); - - /* - * now: all services are down, let's kill all other processes - */ - LOG(MSG_SHUTDOWN_TERM); - if(kill(-1, SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - LOG(MSG_SHUTDOWN_KILL); - if(kill(-1, SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* - * Execute the last command - */ - LOG(MSG_SHUTDOWN_LAST); - execute_and_wait(CINIT_LAST); - - /* - * do what we really wanted to do - */ - switch (signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } - /* - * FIXME: should we exit? - */ - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre18/src/core/panic.c deleted file mode 100644 index 16d6ed11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/core/panic.c +++ /dev/null @@ -1,50 +0,0 @@ - -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Execute something - */ - -#include /* execv */ - -#include "intern.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) - _exit(0); - - /*********************************************************************** - * In case nothing helps, try to execute something that is always there. - * (conf/c_desaster) - */ - nargv[0] = C_DESASTER; - nargv[1] = NULL; - - if(execv(nargv[0], nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* We tried everything possible, die now. */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre18/src/core/set_signals.c deleted file mode 100644 index 41ccfc8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/core/set_signals.c +++ /dev/null @@ -1,65 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set signal handlers - */ - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ - -//#include "intern.h" /* defines */ -//#include "reboot.h" /* reboot related */ -#include "signals.h" /* reboot related */ - -void set_signals(int stage) -{ - int i; - - for(i = 0; i < SIGCINIT_END; i++) { - sigaction(cinit_global_signals[i], &sigstages[stage][i], NULL); /* what - * todo - * when - * a - * child - * exited - */ - } - -// struct sigaction sa; - // sigemptyset(&sa.sa_mask); /* no other signals should be blocked */ - // sa.sa_flags = 0; -// if(action == ACT_SERV) { -// sa.sa_handler = sig_child; -// sa.sa_flags = SA_NOCLDSTOP; -// } else { -// sa.sa_handler = SIG_DFL; -// } - -// sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - -// sa.sa_flags = 0; /* reset flags */ -// if(action == ACT_SERV) { -// sa.sa_handler = do_reboot; -// } -// sigaction(SIG_CINIT_HALT, &sa, NULL); /* halt */ -// sigaction(SIG_CINIT_POWEROFF, &sa, NULL); /* poweroff */ -// sigaction(SIG_CINIT_REBOOT, &sa, NULL); /* reboot */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre18/src/core/sig_child.c deleted file mode 100644 index 08f15c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/core/sig_child.c +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * The child handler (may *not* exec other functions!) - * - */ - -#include "svc-intern.h" /* marking */ - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - tmp = 2; /* FIXME: how to tell stupid gcc that tmp is a must? */ - svc_exited = 1; /* FIXME: catch possible race conditions in svc_status_changed() */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/core/signal_init_map.c b/software/cinit/browse_source/cinit-0.3pre18/src/core/signal_init_map.c deleted file mode 100644 index a07395f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/core/signal_init_map.c +++ /dev/null @@ -1,66 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Define signal handlers / actions for the different internal stages - */ - -#include -#include "signals.h" -#include "reboot.h" -#include "intern.h" - -void signal_init_map(struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END], - int cinit_signals[SIGCINIT_END]) -{ - /* - * First map signals to index - */ - cinit_signals[SIGCINIT_HALT] = SIGUSR1; - cinit_signals[SIGCINIT_POWEROFF] = SIGTERM; - cinit_signals[SIGCINIT_REBOOT] = SIGHUP; - cinit_signals[SIGCINIT_CHILD] = SIGCHLD; - - /* - * Then add the actions for daemon - */ - sigstages[SIGSTAGE_DAEMON][SIGCINIT_HALT].sa_handler = do_reboot; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_POWEROFF].sa_handler = do_reboot; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_REBOOT].sa_handler = do_reboot; - - sigstages[SIGSTAGE_DAEMON][SIGCINIT_CHILD].sa_handler = sig_child; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_CHILD].sa_flags = SA_NOCLDSTOP; - - /* - * Then add the actions for client (=fork> - */ - sigstages[SIGSTAGE_CLIENT][SIGCINIT_HALT].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_POWEROFF].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_REBOOT].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_CHILD].sa_handler = SIG_DFL; - - /* - * Then add the actions for shutdown - */ - sigstages[SIGSTAGE_REBOOT][SIGCINIT_HALT].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_POWEROFF].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_REBOOT].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_CHILD].sa_handler = SIG_IGN; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre18/src/generic/execute_and_wait.c deleted file mode 100644 index 3816e5c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/generic/execute_and_wait.c +++ /dev/null @@ -1,52 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* - * fork - */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* - * exec / child - */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* - * wait / parent - */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre18/src/generic/execute_sth.c deleted file mode 100644 index 79197769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/generic/execute_sth.c +++ /dev/null @@ -1,41 +0,0 @@ - -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ - -#include "intern.h" -#include "build_argv.h" -#include "messages.h" /* D_PRINTF */ - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - tmp = cinit_build_argv(basename, &bav); - if((tmp = cinit_build_argv(basename, &bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - /* - * tell the user what we execute - */ - mini_printf(MSG_INTRO_EXEC, 1); - mini_printf((bav.argv)[0], 1); - mini_printf("\n", 1); - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for - * cinit to recognize it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre18/src/generic/file_exists.c deleted file mode 100644 index 72294eba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/generic/file_exists.c +++ /dev/null @@ -1,66 +0,0 @@ - -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* errno */ -#include /* stat */ -#include /* NULL */ - -#include "intern.h" /* print_errno() */ -#include "svc-intern.h" /* svc_report_status() */ -#include "messages.h" /* messages.. */ - -int file_exists(char *filename) -{ - struct stat buf; - - /* - * check: - is it a link? if so, is it broken? report! - is it non existent? - * -> return non-existent - is it existent, but not a regular file? report! - */ - if(lstat(filename, &buf) == -1) { /* lstat fails? */ - if(errno == ENOENT) { - /* - * FIXME: remove later - */ - printf("%s is not existing! => ok, most likely\n", filename); - return FE_NOT; - } else { - mini_printf("anderer fehler.\n", 1); - print_errno(filename); - return FE_ERR; - } - } else { - if(S_ISLNK(buf.st_mode)) { /* is a link */ - /* - * check link destination - */ - if(stat(filename, &buf) == -1) { /* do real stat(): */ - if(errno == ENOENT) { - svc_report_status(filename, MSG_BROKENLINK, NULL); - return FE_NOLINK; - } else { - /* - * FIXME: MSG_*, ?? - */ - mini_printf("anderer fehler.\n", 1); - print_errno(filename); - return FE_ERR; - } - } - } - } /* caught all stat() errors */ - - if(!S_ISREG(buf.st_mode)) { - svc_report_status(filename, MSG_NONREGULAR, NULL); - return FE_OTHER; - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre18/src/generic/mini_printf.c deleted file mode 100644 index 752a2187..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/generic/mini_printf.c +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str, int fd) -{ - char *p; - - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd, str, (size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre18/src/generic/openreadclose.c deleted file mode 100644 index e9d65961..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/generic/openreadclose.c +++ /dev/null @@ -1,77 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "intern.h" /* ORC_* */ - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - *where = NULL; - - /* - * what a wonderful loop - */ - while((fd = open(filename, O_RDONLY)) == -1) { - if(errno == ENOENT) - return ORC_ERR_NONEXISTENT; - if(errno != EINTR) - return ORC_ERR_OPEN; - } - - cnt = 0; - while(1) { - tmp = read(fd, buf, 512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where, cnt + 1); - if(*where == NULL) - return ORC_ERR_MEM; - - /* - * FIXME check correctness of copied buffer... and get some sleep..soon, - * very soon! - */ - strncpy(&(*where)[cnt - tmp], buf, tmp); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) - continue; - return ORC_ERR_CLOSE; - } - - /* - * terminate string! - */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre18/src/generic/path_absolute.c deleted file mode 100644 index 9bafdc7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/generic/path_absolute.c +++ /dev/null @@ -1,56 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * create an absulte path - * - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX + 1]; - - if(!getcwd(oldpath, PATH_MAX + 1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath, size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre18/src/generic/path_append.c deleted file mode 100644 index 084cc4c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/generic/path_append.c +++ /dev/null @@ -1,31 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end - 1], SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) - return 0; - strcat(path, SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) - return 0; - } - strcat(path, append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre18/src/generic/print_errno.c deleted file mode 100644 index 9aeab78f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/generic/print_errno.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre18/src/generic/sleep_before_kill.c deleted file mode 100644 index d32ca274..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,56 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Let's sleep a little bit - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE, &content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) - tmp = SLEEP_KILL; - free(content); - } else { - mini_printf(MSG_BUILTIN_SLEEP, 1); - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts, NULL) == -1) { - print_errno(MSG_ERR_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre18/src/generic/strip_final_newline.c deleted file mode 100644 index 924a23b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/generic/strip_final_newline.c +++ /dev/null @@ -1,36 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* - * don't get fooled by bad pointers - */ - if(str == NULL) { - return NULL; - } - - p = strrchr(str, '\n'); - if(p) { - if(*(p + 1) == '\0') { - *p = '\0'; /* DO NOT FORGET TO TERMINATE STRING */ - str = realloc(str, (p - str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre18/src/generic/usage.c deleted file mode 100644 index 5b4a26d7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/generic/usage.c +++ /dev/null @@ -1,24 +0,0 @@ - -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * usage: tell the user what's wrong and a help text - * - */ - -#include /* _exit() */ -#include "intern.h" /* mini_printf */ - -void usage(char *banner, char *text) -{ - /* - * print banner + error message - */ - mini_printf(banner, 1); - mini_printf(text, 1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre18/src/include/build_argv.h deleted file mode 100644 index 18b7bf5b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/build_argv.h +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre18/src/include/cinit.h deleted file mode 100644 index 2f7421b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/cinit.h +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Header file for external programs (in theory) - */ - -#ifndef __CINIT_EXTERNAL_HEADER -#define __CINIT_EXTERNAL_HEADER - -/* includes */ -#include /* required for functions */ -#include /* PATH_MAX */ -#include /* pid_t */ - -/* limits */ -#define CINIT_DATA_LEN (PATH_MAX+1) - -/* - * structures: independent of the ipc code! - */ - -/* messages from the client */ -struct cinit_question { - uint32_t cmd; - uint32_t opt; - char data[CINIT_DATA_LEN]; -}; - -/* messages from cinit */ -struct cinit_answer { - uint32_t ret; - uint32_t opt; - char data[CINIT_DATA_LEN]; -}; - -/*********************************************************************** - * codes for messages - */ -enum { /* questions */ - CINIT_QSN_GET_STATUS = 0x01, /* status of a service */ - CINIT_QSN_GET_PID = 0x02, /* get pid of a service */ - CINIT_QSN_GET_VERSION = 0x04, /* version of cinit */ - CINIT_QSN_SVC_DISABLE = 0x08, /* service: stop */ - CINIT_QSN_SVC_ENABLE = 0x10, /* service: start */ - CINIT_QSN_SVC_NEEDS = 0x20, /* in/exclude needs */ - CINIT_QSN_SVC_WANTS = 0x40, /* in/exclude wants */ - CINIT_QSN_SVC_LIST = 0x80, /* list services */ - - CINIT_QSN_QUESTION_END = 0xffff /* last message */ -}; - -enum { /* answers */ - CINIT_ASW_IPC_ERROR = 0x00, /* bad error */ - CINIT_ASW_OK = 0x01, /* general ok value */ - CINIT_ASW_SVC_UNKNOWN = 0x04, /* Services is not known */ - CINIT_ASW_SVC_DISABLED = 0x08, /* service: stop */ - CINIT_ASW_SVC_ENABLED = 0x10, /* service: start */ - CINIT_ASW_SVC_ERR = 0x20, /* in/excluded needs */ - CINIT_ASW_SVC_WANTS = 0x40, /* in/excluded wants */ - CINIT_ASW_SVC_NEEDS = 0x80, /* in/excluded needs */ - CINIT_ASW_ERR_INTERN = 0x100, /* cinit internal error */ - - CINIT_ASW_ANSWER_END = 0xffff /* last message */ -}; - -enum cinit_svc_flags { - CINIT_CMD_SVC_WANTS = 'w', - CINIT_CMD_SVC_NEEDS = 'n' -}; - -struct cinit_msg_msg { - int code; - char *msg; -}; - -//struct cinit_msg_msg cinit_codes2messages[] = { - -//} - -/* functions */ -int cinit_send_to(struct cinit_question *, struct cinit_answer *); -void cinit_cp_data(char data[], char *src); - -void cinit_prepare_comm(struct cinit_question *qsn, - struct cinit_answer *asr, - uint32_t cmd); - -uint32_t cinit_flag_to_uint32_t(char *); -uint32_t cinit_get_version(char *); -uint32_t cinit_svc_disable(char *svc, uint32_t flag); -uint32_t cinit_svc_enable(char *svc, uint32_t flag); -uint32_t cinit_svc_get_pid(char *, pid_t *status); -uint32_t cinit_svc_get_status(char *, uint32_t *); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/cmd.h b/software/cinit/browse_source/cinit-0.3pre18/src/include/cmd.h deleted file mode 100644 index eb29be93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/cmd.h +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Header file for the cmd (cinit management) - */ - -#ifndef CINIT_CMD_HEADER -#define CINIT_CMD_HEADER - -#define CMD_USAGE "cmd - cinit management\n\n" \ - "cmd -[de [nw]] -[ps] [service] -[hvV]\n\n" \ - " -d: disable service\n" \ - " n: without needs\n" \ - " Skip needs when en/disabling\n\n"\ - " w: without wants\n" \ - " Skip wants when en/disabling\n" \ - " -e: enable service\n" \ - " see above\n" \ - " -h: get help\n" \ - " this messages" \ - " -p: get process id (pid)\n" \ - " of specified service\n" \ - " -s: get status\n" \ - " of specified service\n" \ - " -v: get version\n" \ - " of cinit\n" \ - " -V: get version\n" \ - " of cmd\n" \ - "" - -#define CMD_OPTIONS "e::d::hpsvV" - -#define MSG_KILL "kill()" -#define CMD_VERSION "0.2" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/intern.h b/software/cinit/browse_source/cinit-0.3pre18/src/include/intern.h deleted file mode 100644 index b214c9cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/intern.h +++ /dev/null @@ -1,125 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * internal stuff only :-) - * - */ - - -#ifndef _CINIT_INTERN_H -#define _CINIT_INTERN_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* structures: answer / question */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_NOLINK, /* file is a broken symbolic link*/ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_LAST CINIT_CONFDIR SLASH C_LAST -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* functions (used by server and client) */ -void mini_printf(char *str, int fd); -//void usage(char *banner, char *stext); - -/* core functions */ -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -//int msg_svc_on_off(char *svc, char action); -//int msg_change_status(char *svc, char status, pid_t pid); -//int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* communication */ -int read_command(struct cinit_question, struct cinit_answer *); -int answer_svc_status(char *, struct cinit_answer *); -int answer_svc_pid(char *, struct cinit_answer *); -int answer_version(struct cinit_answer *); -int answer_svc_disable(char *, struct cinit_answer *); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -void print_errno(char *text); - -#endif /* INTERN */ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre18/src/include/ipc.h deleted file mode 100644 index e06bd734..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/ipc.h +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/* FIXME: change to cinit/types.h later */ -#include "cinit.h" - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init */ - -int cinit_ipc_connect(void); /* connect to init */ - -int cinit_ipc_csend(struct cinit_question *); /* ask the server */ -int cinit_ipc_cread(struct cinit_answer *); /* read answer */ - -int cinit_ipc_logoff(void); /* logoff */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/listing b/software/cinit/browse_source/cinit-0.3pre18/src/include/listing deleted file mode 100644 index bccdad37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/listing +++ /dev/null @@ -1,8 +0,0 @@ -include/intern.h -include/config.h -include/ipc.h -include/messages.h -include/os.h -include/reboot.h -include/signals.h -include/svc.h diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre18/src/include/messages.h deleted file mode 100644 index 53bf64bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/messages.h +++ /dev/null @@ -1,169 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * All messages - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -//#define MSG_ERR_DEPS "Too many dependencies" -//#define MSG_ERR_ACCEPT "accept" -//#define MSG_ERR_WAITPID "waitpid" -//#define MSG_ERR_POLL "poll" -//#define MSG_ERR_MODIFY "modify list failed" -//#define MSG_ERR_COMM "Communication failed" - -//#define MSG_ERR_LESS_ARGS "Too less arguments!" -//#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -//#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -//#define LOG_NEED_FAIL "One or more need failed" -//#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# include -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) {} -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ - -/* services: how they should be printed - * /etc/cinit/svc/long/name: started once - * /etc/cinit/svc/long/name: is respawning - * /etc/cinit/svc/long/name: FAILED (why it happened) - */ - -#define MSG_INTRO_CINIT "cinit:" -#define MSG_INTRO_SPACE MSG_INTRO_CINIT " " -#define MSG_INTRO_SVC MSG_INTRO_CINIT -#define MSG_INTRO_STOP MSG_INTRO_CINIT "stop: " -#define MSG_INTRO_EXEC MSG_INTRO_CINIT "exec: " - -/* FIXME: remove/append, but no intro! */ -#define MSG_INTRO_FAIL "FAILED " -#define MSG_INTRO_RESPAWN MSG_INTRO_CINIT "respawn: " -#define MSG_INTRO_OK MSG_INTRO_CINIT "ok: " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" - - -#define MSG_BUILTIN_SLEEP MSG_INTRO_STOP "Using built-in sleep" - -#define MSG_TREE_EXEC MSG_INTRO_SPACE "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_FATAL_PANIC MSG_INTRO_SPACE "I tried everything, but even panic() failed: " -#define MSG_ERR_SLEEP MSG_INTRO_SPACE "Sleep did not succeed" -#define MSG_GETTIMEOFDAY MSG_INTRO_SPACE "gettimeofday() failed!" - -/* execution */ -//#define MSG_EXECUTING MSG_INTRO_EXEC - -/* stat() errors */ -#define MSG_NONREGULAR "Is not a regular file." -#define MSG_BROKENLINK "Is a broken link." - -/* Service messages */ -#define MSG_SVC_START "Starting... " -#define MSG_SVC_STOP "Stoping... " -#define MSG_SVC_RESTART "Restarted." -#define MSG_SVC_SLEEP "Sleeping before restart" -#define MSG_SVC_OK_ONCE "Started once." -#define MSG_SVC_OK_RESPAWN "Is respawning." - -/* Status messages */ -#define MSG_SHUTDOWN_START MSG_INTRO_STOP "\nBeginning the shutdown process..." -#define MSG_SHUTDOWN_SVC MSG_INTRO_STOP "Shutting down services now..." -#define MSG_SHUTDOWN_TERM MSG_INTRO_STOP "Terminating remaining processes..." -#define MSG_SHUTDOWN_KILL MSG_INTRO_STOP "Killing remaining processes..." -#define MSG_SHUTDOWN_LAST MSG_INTRO_STOP "Executing final service..." -#define MSG_POWER_OFF MSG_INTRO_STOP "Powering off..." -#define MSG_HALT MSG_INTRO_STOP "Halting system ..." -#define MSG_REBOOT MSG_INTRO_STOP "Rebooting ..." - -/* client messages */ -#define MSG_HALT_KILL "halt.kill" -#define MSG_REBOOT_KILL "reboot.kill" -#define MSG_POWEROFF_KILL "poweroff.kill" - - -/* reboot */ -#define MSG_TERMKILL MSG_INTRO_FAIL "SIGTERM" -#define MSG_KILLBILL MSG_INTRO_FAIL "SIGKILL" - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre18/src/include/os.h deleted file mode 100644 index d6173a83..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/os.h +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/reboot.h b/software/cinit/browse_source/cinit-0.3pre18/src/include/reboot.h deleted file mode 100644 index 4e490bd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/reboot.h +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * reboot specific functions - * - */ - -#ifndef CINIT_REBOOT_HEADER -#define CINIT_REBOOT_HEADER - -/***************************************************************************** - * the main reboot function - */ -void do_reboot(int signal); - - -/***************************************************************************** - * os specific functions - */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - - -/***************************************************************************** - * Functions: abstract do_reboot - */ -#define cinit_do_reboot() do_reboot(SIGHUP) -#define cinit_do_halt() do_reboot(SIGUSR1) -#define cinit_do_poweroff() do_reboot(SIGTERM) - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/signals.h b/software/cinit/browse_source/cinit-0.3pre18/src/include/signals.h deleted file mode 100644 index 7c5e2e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/signals.h +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Define signals to use: needs signal.h to be included before. - */ - -#ifndef CINIT_SIGNALS_HEADER -#define CINIT_SIGNALS_HEADER - -#define SIG_CINIT_HALT SIGUSR1 -#define SIG_CINIT_POWEROFF SIGTERM -#define SIG_CINIT_REBOOT SIGHUP -#define SIG_CINIT_CHILD SIGCHLD - -enum { - SIGSTAGE_REBOOT, - SIGSTAGE_DAEMON, - SIGSTAGE_CLIENT, - SIGSTAGE_END -}; - -enum { - SIGCINIT_HALT, - SIGCINIT_POWEROFF, - SIGCINIT_REBOOT, - SIGCINIT_CHILD, - SIGCINIT_END -}; - -#include -struct cinit_signal_map { - int signal; - struct sigaction sigstages; -}; - - -void signal_init_map(struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END], int cinit_signals[SIGCINIT_END]); -void set_signals(int stage); - -/* global vars */ -extern int cinit_global_signals[SIGCINIT_END]; /* maps signal codes to index */ -extern struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END]; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/svc-intern.h b/software/cinit/browse_source/cinit-0.3pre18/src/include/svc-intern.h deleted file mode 100644 index 38d3bad0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/svc-intern.h +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Internal service specifics - * - */ - -#ifndef __CINIT_SVC_INTERN_H -#define __CINIT_SVC_INTERN_H - -/* includes */ -#include /* pid_t */ -#include /* int types */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* LEN */ - -/* service tree item */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char abs_path[CINIT_DATA_LEN]; /* name of service */ - uint32_t status; /* current status */ - int waitpid; /* result of last waitpid call */ - pid_t pid; /* pid of service / respawn watcher */ - time_t start; /* time the process was started last time */ - time_t exited; /* time the process exited */ - - - struct dep *wanted_by; /* list of services that want this service */ - struct dep *needed_by; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ - - struct listitem *changed; /* list of changed services */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *deps_pending; /* the services to handle */ -extern struct listitem *svc_list; /* the list of services */ -extern int svc_exited; /* mark change */ - -/* list functions */ -struct listitem *list_insert(char *path, uint32_t status); -int list_delete_byname(char *path); -int list_delete_bypointer(struct listitem *); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -uint32_t svc_set_status(struct listitem *li, uint32_t status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void shutdown_services(struct listitem *start); - -void svc_start(struct listitem *); -void svc_stop_deps(struct listitem *, int); -uint32_t svc_disable(struct listitem *); -int svc_status_changed(); -int svc_handle_pending(struct dep *pending); - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -#endif /* _CINIT_SVC_INTERN_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/svc-messages.h b/software/cinit/browse_source/cinit-0.3pre18/src/include/svc-messages.h deleted file mode 100644 index 14873228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/svc-messages.h +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Service status messages - */ - - -#ifndef __CINIT_SVC_MESSAGES_H -#define __CINIT_SVC_MESSAGES_H - -#include "svc.h" - -struct cinit_svc_msg { - int code; - char *msg; -}; - -struct cinit_svc_msg cinit_svc_msg_codes[] = { - { CINIT_ST_SH_ONCE, "Service should be started once" }, - { CINIT_ST_SH_RESPAWN, "Service should respawn" }, - { CINIT_ST_ONCE_OK, "Service successfully started once" }, - { CINIT_ST_ONCE_FAIL, "Service failed to start once" }, - { CINIT_ST_RESPAWNING, "Service is respawning" }, - { CINIT_ST_NEED_FAILD, "One ore more needs failed" }, - { CINIT_ST_IN_LIST, "Service is in starter list" }, - { CINIT_ST_BAD_ERR, "Some strange error happened" }, - { CINIT_ST_ONCE_RUN, "Service is currently running once" }, - { CINIT_ST_NOT_EXIST, "This service does not exist" } -}; - -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre18/src/include/svc.h deleted file mode 100644 index ac8bc552..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/include/svc.h +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Service status (also exposed to the outside) - */ - - -#ifndef __CINIT_SVC_H -#define __CINIT_SVC_H - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum cinit_svc_status { - /* first define basics */ - CINIT_ST_SH_ONCE = 0x1, /* service SHould be started once yx*/ - CINIT_ST_SH_RESPAWN = 0x2, /* service SHould respawn yx*/ - CINIT_ST_ONCE_OK = 0x4, /* service was successfully started once */ - CINIT_ST_ONCE_FAIL = 0x8, /* service failed to start */ - CINIT_ST_RESPAWNING = 0x10, /* service is respawning */ - CINIT_ST_NEED_FAILD = 0x20, /* this service is not started, need failed x*/ - CINIT_ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - CINIT_ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - CINIT_ST_ONCE_RUN = 0x100, /* the once process is currently running yx*/ - CINIT_ST_NOT_EXIST = 0x200, /* there's no such service in our database */ - CINIT_ST_SH_STOP = 0x400, /* service was running, is being stopped x*/ - CINIT_ST_STOPPED = 0x800, /* service is stopped x*/ - CINIT_ST_STOP_FAIL = 0x1000 /* service failed to stop..strange situation */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum cinit_svc_needs_status { - CINIT_SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - CINIT_SNS_NEEDS_FAILED, /* one ore more needs failed */ - CINIT_SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -/*********************************************************************** - * How to start/stop a service - */ -enum cinit_svc_start_stop_options { - CINIT_SSSO_COMPLETE = 0x0, /* with all dependencies */ - CINIT_SSSO_WO_NEEDS = 0x1, /* without needs */ - CINIT_SSSO_WO_WANTS = 0x2, /* without wants */ - CINIT_SSSO_WO_BOTH = 0x4 /* without both */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq-rt/README b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq-rt/README deleted file mode 100644 index cc1a1b7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq-rt/README +++ /dev/null @@ -1,2 +0,0 @@ -This implementation uses the new realtime inferface of -posix instead of the old one functions. diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq-rt/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq-rt/cinit_ipc_init.c deleted file mode 100644 index ef22b6d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq-rt/cinit_ipc_init.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include - -#include "cinit.h" -#include "config.h" -#include "msgq-rt.h" - -int cinit_ipc_init(void) -{ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq-rt/mq_open.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq-rt/mq_open.c deleted file mode 100644 index 445e7dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq-rt/mq_open.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -int main() -{ - mqd_t readq = mq_open("/test",O_RDWR|O_CREAT|O_EXCL); - //mqd_t readq = mq_open("/bin/ls",O_RDWR|O_CREAT|O_EXCL); - - if(readq == -1) { - perror("oh nein"); - return 1; - } - mqd_t writeq = mq_open("/bin/cp",O_WRONLY|O_CREAT|O_EXCL); - if(readq == -1) { - perror("oh oh nein"); - return 1; - } -} - - diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq-rt/msgq-rt.h b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq-rt/msgq-rt.h deleted file mode 100644 index d09a2808..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq-rt/msgq-rt.h +++ /dev/null @@ -1,39 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#define MSGQ_PATHNAME "/cinit" /* identifier */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_cread.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_cread.c deleted file mode 100644 index ef811fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_cread.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client reads messages from cinit - * - */ - -#include /* msg* */ -#include /* memcpy() */ -#include /* getpid() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msq specific */ - -int cinit_ipc_cread(struct cinit_answer *buf) -{ - struct cinit_msgq_server asr; - - if(msgrcv(__cinit_mq_in, &asr, sizeof(asr.asr), getpid(), 0) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGRCV); - return 0; - } - memcpy(buf, &(asr.asr), sizeof(*buf)); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 04683ab1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client sends messages to cinit - * - */ - -#include /* msgget */ -#include /* memcpy() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structure */ - -int cinit_ipc_csend(struct cinit_question *qsn) -{ - struct cinit_msgq_client msg; - - msg.mtype = 1; /* cinit = 1 */ - - /* copy question structure into the msgq-structure */ - memcpy(&(msg.qsn), qsn, sizeof(msg.qsn)); - - if(msgsnd(__cinit_mq_out, &msg, sizeof(msg.qsn), 0) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGSEND); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 8186cba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ -#include "msgq.h" /* mq_in, mq_out */ -#include "intern.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(__cinit_mq_in, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(__cinit_mq_out, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index d5102f13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* message queue */ - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index fb4aac52..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * Listen to messages - * - */ - -#include /* printf() */ - -#include /* msg* */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structs */ - -int cinit_ipc_listen(void) -{ - int tmp; - struct cinit_msgq_client qsn; - struct cinit_msgq_server asr; - struct msqid_ds msq; - - tmp = msgrcv(__cinit_mq_in, &qsn, sizeof (qsn.qsn), 0, 0); - - /* message system problem */ - if(tmp == -1) { - if(errno != EINTR) { - print_errno(__CINIT_MSG_MSGQ_MSGRCV); - } - return -1; - } - - /* retrieve pid */ - if(msgctl(__cinit_mq_in, IPC_STAT, &msq) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGCTL); - return -1; - } - - if(!read_command(qsn.qsn, &(asr.asr))) { - /* FIXME: mini_print */ - printf("read command failed\n"); - - asr.asr.ret = CINIT_ASW_ERR_INTERN; - } - - asr.mtype = msq.msg_lspid; - if(msgsnd(__cinit_mq_out, &asr, sizeof(asr.asr), 0) == -1) { - /* FIXME: do different things on differen errnos ... */ - print_errno("msgsend/answer"); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index ac8306d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Disconnect from cinit - * - */ - -int cinit_ipc_logoff(void) -{ - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index e15b12f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msgq constants */ - -int cinit_ipc_logon(void) -{ - key_t k_tmp; - - /* generiere nen schluessel: andersrum als im Server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, 0); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, 0); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/msgq.h deleted file mode 100644 index 68398764..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,58 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * header of message queuing interface - * - */ - -#ifndef __CINIT_IPC_HEADER -#define __CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define __CINIT_MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define __CINIT_MSGQ_TO_SERVER 'i' /* also for ftok */ -#define __CINIT_MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define __CINIT_MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables: FIXME: rename, we're in client namespace! - */ -int __cinit_mq_in; /* input */ -int __cinit_mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct cinit_msgq_client { - long mtype; - struct cinit_question qsn; -}; - -/* messages _from_ the server _to_ the client */ -struct cinit_msgq_server { - long mtype; - struct cinit_answer asr; -}; - -/*********************************************************************** - * Messages - */ - -#define __CINIT_MSG_MSGQ_FTOK "ftok" -#define __CINIT_MSG_MSGQ_MSGGET "msgget" -#define __CINIT_MSG_MSGQ_MSGCTL "msgctl" -#define __CINIT_MSG_MSGQ_MSGSEND "msgsend" -#define __CINIT_MSG_MSGQ_MSGRCV "msgrcv" -#define __CINIT_MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/socket+linux-tmpfs/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/socket+linux-tmpfs/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/socket+linux-tmpfs/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/socket+linux-tmpfs/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre18/src/ipc/socket+linux-tmpfs/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/ipc/socket+linux-tmpfs/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/README b/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/README deleted file mode 100644 index 096cc779..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/README +++ /dev/null @@ -1,22 +0,0 @@ -Build a small library that can be used by different applications, that provides: - - Constants / Macros: - for cinit_halt: - CINIT_HALT - CINIT_REBOOT - CINIT_POWEROFF - - for cinit_svc_start/stop: - CINIT_SVC_NORMAL - CINIT_SVC_NEEDS - CINIT_SVC_ONLY - CINIT_SVC_WANTS - - Functions: - void cinit_halt(int how); - int cinit_svc_start(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - -This lib must then include: - - choosen ipc functions diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_flag_to_uint32_t.c b/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_flag_to_uint32_t.c deleted file mode 100644 index 89949c8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_flag_to_uint32_t.c +++ /dev/null @@ -1,46 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Converts cher * to uint32_t for svc operations - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* integers */ - -#include "cinit.h" /* constants */ - -uint32_t cinit_flag_to_uint32_t(char *flag) -{ - uint32_t ret = 0; /* no flags */ - - if(flag != NULL) { - if(strchr(flag, CINIT_CMD_SVC_NEEDS)) { - ret |= CINIT_QSN_SVC_NEEDS; - } - if(strchr(flag, CINIT_CMD_SVC_WANTS)) { - ret |= CINIT_QSN_SVC_WANTS; - } - } - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_get_version.c b/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_get_version.c deleted file mode 100644 index 794e25bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_get_version.c +++ /dev/null @@ -1,38 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves version of cinit - */ - -#include "cinit.h" /* header for clients */ - -uint32_t cinit_get_version(char *buf) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_VERSION); - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - cinit_cp_data(buf, asr.data); - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_halt.c b/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_halt.c deleted file mode 100644 index f5e9c96a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_halt.c +++ /dev/null @@ -1,39 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * purpose_of_this_file_is_also_there_behind_the_big_header - * - */ - -#include "" /* include global header */ -int cinit_halt(int how) -{ - switch (how) { - case 'p': /* power off */ - break; - - default: - break; - } -} - -return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_prepare_comm.c b/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_prepare_comm.c deleted file mode 100644 index 8badc744..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_prepare_comm.c +++ /dev/null @@ -1,37 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Prepares the communication - */ - -#include /* str*, memset */ -#include /* uint32_t */ - -#include "cinit.h" /* header for clients */ - -void cinit_prepare_comm(struct cinit_question *qsn, struct cinit_answer *asr, - uint32_t cmd) -{ - memset(qsn, '\0', sizeof(struct cinit_question)); - memset(asr, '\0', sizeof(struct cinit_answer)); - - qsn->cmd = cmd; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_send_to.c b/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_send_to.c deleted file mode 100644 index cfd3a35c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_send_to.c +++ /dev/null @@ -1,41 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * sends data from the client to cinit - * - */ - -#include "ipc.h" /* IPC */ -#include "cinit.h" /* struct cinit_message */ - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) -{ - if(!cinit_ipc_logon()) - return 0; - if(!cinit_ipc_csend(data)) - return 0; - if(!cinit_ipc_cread(res)) - return 0; - if(!cinit_ipc_logoff()) - return 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_svc_disable.c b/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_svc_disable.c deleted file mode 100644 index 6c25c330..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_svc_disable.c +++ /dev/null @@ -1,68 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Disables a service - * - */ - -#include /* integers */ - -#include "cinit.h" /* header for clients */ - -/* - * to cinit: - * disable + flags - * from cinit: - * status - * unknown service - * disabled the service - * - * disabled the service and needs - * disabled the service and wants - * disabled the service and needs and wants - * - * if it is one of the last three it follows - * uint32_t num: how many services stopped - * num times - * - * uint32_t len (excluding \0) - * char name[] - */ - -uint32_t cinit_svc_disable(char *svc, uint32_t flag) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_SVC_DISABLE); - cinit_cp_data((qsn.data), svc); - - qsn.opt = flag; - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - /* - * FIXME: 0.3pre15: add retrieval of services - */ - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_svc_enable.c b/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_svc_enable.c deleted file mode 100644 index 701a2b89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_svc_enable.c +++ /dev/null @@ -1,48 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves pid of a service - * - */ - -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_enable(char *svc, uint32_t flag) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_SVC_ENABLE); - cinit_cp_data((qsn.data), svc); - - qsn.opt = flag; - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - /* - * add logic to display started services here or: add logic to start - * dependend services in here: want to start a -> cinit returns needs b - */ - - return CINIT_ASW_IPC_ERROR; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_svc_get_pid.c b/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_svc_get_pid.c deleted file mode 100644 index 715fe953..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_svc_get_pid.c +++ /dev/null @@ -1,44 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves pid of a service - * - */ - -#include /* pid_t */ -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_get_pid(char *name, pid_t * status) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_PID); - cinit_cp_data((qsn.data), name); - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - *status = asr.opt; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_svc_get_status.c b/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_svc_get_status.c deleted file mode 100644 index be8a1a4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/libcinit/cinit_svc_get_status.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves status of a service - * - */ - -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_get_status(char *name, uint32_t * status) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_STATUS); - cinit_cp_data((qsn.data), name); - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - *status = asr.opt; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/cinit deleted file mode 100644 index 577bcf6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/cinit +++ /dev/null @@ -1,62 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/set_signals.o -core/signal_init_map.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/gen_halt_tree.o -svc/list_delete_byname.o -svc/list_delete_bypointer.o -svc/list_insert.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/svc_handle_pending.o -svc/svc_status_changed.o -svc/svc_disable.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/shutdown_services.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_fail.o -svc/svc_start.o -svc/svc_stop_deps.o -comm/read_command.o -comm/answer_svc_status.o -comm/answer_svc_pid.o -comm/answer_version.o -comm/cinit_cp_data.o -comm/answer_svc_disable.o diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/cmd b/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/cmd deleted file mode 100644 index a32be1f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/cmd +++ /dev/null @@ -1,17 +0,0 @@ -client/cmd.o -comm/cinit_cp_data.o -generic/print_errno.o -generic/path_absolute.o -generic/mini_printf.o -ipc/current/cinit_ipc_logon.o -ipc/current/cinit_ipc_csend.o -ipc/current/cinit_ipc_cread.o -ipc/current/cinit_ipc_logoff.o -libcinit/cinit_get_version.o -libcinit/cinit_send_to.o -libcinit/cinit_svc_get_pid.o -libcinit/cinit_svc_get_status.o -libcinit/cinit_prepare_comm.o -libcinit/cinit_svc_enable.o -libcinit/cinit_svc_disable.o -libcinit/cinit_flag_to_uint32_t.o diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/halt.kill b/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/halt.kill deleted file mode 100644 index e5b12a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/halt.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/halt.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/poweroff.kill b/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/poweroff.kill deleted file mode 100644 index 306fc0bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/poweroff.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/poweroff.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/reboot.kill b/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/reboot.kill deleted file mode 100644 index f851badf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/object_lists/reboot.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/reboot.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre18/src/os/freebsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre18/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre18/src/os/freebsd/poweroff.c deleted file mode 100644 index c73dd079..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre18/src/os/freebsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre18/src/os/linux/halt.c deleted file mode 100644 index 5ee3eb53..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre18/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre18/src/os/linux/poweroff.c deleted file mode 100644 index c7d2b1c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre18/src/os/linux/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre18/src/os/netbsd/halt.c deleted file mode 100644 index 972aecf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/netbsd/halt.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre18/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre18/src/os/netbsd/poweroff.c deleted file mode 100644 index 17d7b259..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre18/src/os/netbsd/reboot.c deleted file mode 100644 index 14313e17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/netbsd/reboot.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre18/src/os/openbsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre18/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre18/src/os/openbsd/poweroff.c deleted file mode 100644 index bf4120e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre18/src/os/openbsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/check_add_deps.c deleted file mode 100644 index b3fcd691..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/check_add_deps.c +++ /dev/null @@ -1,128 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Add dependencies to a service - */ - -#include /* getcwd */ - -#include /* DIR */ -#include /* errno */ - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_* */ -#include "svc-intern.h" /* DEP_* */ - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX + 1]; - char oldpath[PATH_MAX + 1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath, PATH_MAX + 1)) { - print_errno(MSG_GETCWD); - return 0; - } - - /* Create path */ - strncpy(buf, svc->abs_path, PATH_MAX+1); - if(type == DEP_NEEDS) { - if(!path_append(buf, C_NEEDS)) return 0; - } else { - if(!path_append(buf, C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent = readdir(d_tmp)) != NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* - * skip non-working directories / broken links path_absolute reports - * errors on failure - */ - if(!path_absolute(tdirent->d_name, buf, PATH_MAX + 1)) continue; - - /* 1. create the service we depend on 2. initialize its dependencies */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* - * We need ALL dependencies, as we are called only once per service; no - * need to test that first! And the other service CANNOT know anything - * about us yet, so we always add us to its list. - */ - - /* - * Dependencies: - a.needs b; add b to the list of dependencies. - - * a.needs b; add a to the list of needed by b. 1. check whether the - * dependency already exists 2. otherwise add it 3. do it once for needs, - * once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - /* add us to the other service */ - dep_entry_add(&(new_svc->needed_by), deps); - - /* add other service to us */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs), deps); - } else { - /* add us to the other service */ - dep_entry_add(&(new_svc->wanted_by), deps); - - /* add other service to us */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants), deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/dep_create.c deleted file mode 100644 index 1bf513ee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/dep_create.c +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc-intern.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/dep_entry_add.c deleted file mode 100644 index 41b67d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/dep_entry_add.c +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Add a new item to a (non-)empty list - */ - -#include "svc-intern.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(!(*deplist)) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/dep_entry_del.c deleted file mode 100644 index 460b37ce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/dep_entry_del.c +++ /dev/null @@ -1,55 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc-intern.h" /* struct *dep */ - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* - * last service in the list - */ - if(del->next == del && del->prev == del) { - tmp = NULL; - } else { - /* - * remove from list - */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/dep_needs_wants_add.c deleted file mode 100644 index cfb7b242..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ -#include "svc-intern.h" /* struct *dep */ -#include "svc.h" /* struct *dep */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed_by; - } else { - end = svc->wanted_by; - } - - /* - * Place to the first dependency of this service - */ - tmp = end; - if(tmp != NULL) { - do { - /* - * Add service to the starter list, which - should be started once - - * should be respawned (both VIRGIN services!) - and which are not - * already in the list! - */ - if(((tmp->svc->status & CINIT_ST_SH_ONCE) || - (tmp->svc->status & CINIT_ST_SH_RESPAWN)) && - !(tmp->svc->status & CINIT_ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= CINIT_ST_IN_LIST; - dep_entry_add(list, new); - } - - /* - * FIXME: Clearify if we should go forward or backwards? this decision - * will influence starting order and may thereby add a minimal mount - * of speed enhancement As far as I can see it is not predictable, - * which way is better, because it heavily depends on the other - * services. If you know better, provide me with a patch ;-) - */ - - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/gen_halt_tree.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/gen_halt_tree.c deleted file mode 100644 index fee84d11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/gen_halt_tree.c +++ /dev/null @@ -1,64 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * This function reads the full service tree and generates - * a list of services to begin shutdown (those that are not - * wanted or needed by any other service). - */ - -#include /* NULL */ - -#include "svc-intern.h" /* structs */ -#include "intern.h" /* structs */ - -struct dep *gen_halt_list(struct listitem *svc_tree) -{ - struct dep *list = NULL, *new = NULL; - struct listitem *tmp; - - /* - * no tree? nothing to shutdown. - */ - if(!svc_tree) { - return NULL; - } - - /* - * find all services that do not depend on other services: - empty wants? - * (currently ignore them) - empty needs! - */ - tmp = svc_tree; - do { - if(tmp->needs == NULL) { - /* - * create new dependency - */ - new = dep_create(tmp); - if(!new) - return NULL; - - dep_entry_add(&list, new); - } - tmp = tmp->next; - } while(tmp != svc_tree); - - return list; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/gen_svc_tree.c deleted file mode 100644 index ceb4acf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Pre calculate the service tree (recursive calling) - */ - -#include - -#include "intern.h" /* functions */ -#include "svc.h" /* constants */ -#include "svc-intern.h" /* functions */ - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li = list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li = svc_create(svc))) return NULL; - - /* add dependencies */ - if(!check_add_deps(li, DEP_NEEDS)) return NULL; - if(!check_add_deps(li, DEP_WANTS)) return NULL; - - /* If it has no dependencies, then the service is a start service. */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&deps_pending, deps); - - /* - * Mark it as being in the startup list, so it does not get added again - * in a dep_needs_wants_add call - */ - li->status |= CINIT_ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_delete_byname.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_delete_byname.c deleted file mode 100644 index 5bceb289..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_delete_byname.c +++ /dev/null @@ -1,47 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* free */ -#include "intern.h" /* list_search */ -#include "svc-intern.h" /* listitem */ - -/* ... */ -int list_delete_byname(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if(tmp == NULL) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - - free(tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_delete_bypointer.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_delete_bypointer.c deleted file mode 100644 index d50b51b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_delete_bypointer.c +++ /dev/null @@ -1,42 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* free */ -#include "svc-intern.h" /* listitem */ - -int list_delete_bypointer(struct listitem *li) -{ - /* FIXME: add warning? this case should not happen */ - if(li == NULL) { - return 0; - } - - li->next->prev = li->prev; - li->prev->next = li->next; - - free(li); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_display_all.c deleted file mode 100644 index b94758f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_display_all.c +++ /dev/null @@ -1,49 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ - -#include "messages.h" /* D_PRINTF */ -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return 0; - } else { - tmp = svc_list; - } - - do { - D_PRINTF("Service: "); - D_PRINTF(tmp->abs_path); - D_PRINTF("\n"); - - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_insert.c deleted file mode 100644 index 9f87be69..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_insert.c +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Insert service into service list - * - */ - -#include /* uint32_t */ -#include /* malloc */ -#include /* bzero / memset */ -#include "svc-intern.h" /* the list pointer */ - -struct listitem *list_insert(char *path, uint32_t status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - cinit_cp_data(tmp->abs_path, path); - - tmp->status = status; - tmp->pid = 0; - tmp->changed = NULL; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_modify.c deleted file mode 100644 index f527d98d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_modify.c +++ /dev/null @@ -1,57 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED. Not in use anymore. - * - * List handling - */ - -#error "NOT IN USE" - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if(tmp == NULL) { - return 0; - } - - /* - * delete objects, which are killed - */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_search.c deleted file mode 100644 index ff4578c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_search.c +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "svc-intern.h" /* struct listitem */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) return NULL; - - tmp = svc_list; - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_search_pid.c deleted file mode 100644 index 0633d95e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/list_search_pid.c +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Search by pid - * - */ - -#include /* NULL */ -#include /* pid_t */ -#include "svc-intern.h" /* struct listitem */ - -inline struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) return NULL; - - tmp = svc_list; - - do { - if(pid == tmp->pid) return tmp; /* found service */ - - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/shutdown_services.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/shutdown_services.c deleted file mode 100644 index e17dea04..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/shutdown_services.c +++ /dev/null @@ -1,48 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Shutdown all services: This is more or less the negative - * version of 'tree_exec()' - */ - -#include "svc-intern.h" /* struct */ -#include "svc.h" /* defines */ - -void shutdown_services(struct listitem *svc) -{ - /* - * The shutdown procedure: - * - * - take the list of running services - * - begin at the first (could be any) service and - * - shutdown all services that depend on that service - * --> recursive - * - take the next service (if there is still one ;-) - */ - - while(svc) { - svc_stop_deps(svc, CINIT_SSSO_COMPLETE); - svc = svc->next; - list_delete_bypointer(svc->prev); - } - - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_add_needs.c deleted file mode 100644 index be6c6312..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_add_needs.c +++ /dev/null @@ -1,92 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED! - * - * List handling - */ - -#error "NOT IN USE" - -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - /* - * retrieve service entries in global service list - */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* - * and exit if one is missing - */ - if(!svc_needs || !svc_is_needed) { - return 0; - } - - /* - * first add needs - */ - - /* - * now add needed_by - */ - - malloc... /* for adding */ - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* - * write generic function for dependencies or even all lists - */ - dep_entry_add(list_pointer, new_entry); - - if(list == NULL) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path, path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_create.c deleted file mode 100644 index 081a1b78..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_create.c +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Create a service, checking for existence is done before. - */ - -#include /* NULL */ -#include /* stat */ -#include /* errno */ - -#include "svc.h" /* constants */ -#include "svc-intern.h" /* listitem */ -#include "intern.h" /* path_append */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -struct listitem *svc_create(char *svc) -{ - char buf[CINIT_DATA_LEN]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc, -1); - if(!li) return NULL; - - cinit_cp_data(buf, svc); - if(!path_append(buf, C_RESPAWN)) return NULL; - - if(stat(buf, &statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li, CINIT_ST_SH_ONCE); - } else { - return NULL; - } - } else { - svc_set_status(li, CINIT_ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_disable.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_disable.c deleted file mode 100644 index e0704bfc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_disable.c +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Stop a service - * - * Status: Written, looks finished, but untested. - * - * respawn: - * - disable respawning: set status to ST_RESPAWN_STOP - * - send term signal? no => can be done in "off" - * => set environment CINIT_SVC_PID - * once and respawn: - * - look for 'off' binary, execute if present - * - mark service as off or delete it? - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* waitpid */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ -#include "cinit.h" /* CINIT_DATA_LEN */ -#include "signals.h" /* signal handling */ - -uint32_t svc_disable(struct listitem *li) -{ - char buf[CINIT_DATA_LEN]; - - svc_set_status(li, CINIT_ST_SH_STOP); - - li->pid = fork(); - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path, MSG_SVC_FORK, strerror(errno)); - svc_set_status(li, CINIT_ST_BAD_ERR); - return CINIT_ASW_ERR_INTERN; - } - - /********************** Parent / fork() ************************/ - if(li->pid > 0) { - /* FIXME: why duplicate? */ - svc_set_status(li, CINIT_ST_SH_STOP); - return CINIT_ASW_OK; - } - - /********************** Client / fork() ************************/ - svc_report_status(li->abs_path, MSG_SVC_STOP, NULL); - - cinit_cp_data(buf, li->abs_path); - if(!path_append(buf, C_OFF)) _exit(1); - - /* - * Check for existence - */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - _exit(0); - } - - if(li->status == FE_FILE) { - /* - * FIXME: reset signals: Is this necessary? Or does fork clean it anyway? - */ - set_signals(SIGSTAGE_CLIENT); - - /* - * and now, fire it up - */ - execute_sth(buf); - } else { - /* - * FIXME: report? - */ - /* - * either no file or an error - */ - _exit(1); - } - - /* FIXME: we will never return ... */ - return CINIT_ASW_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_fail.c deleted file mode 100644 index 63ed7ff9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_fail.c +++ /dev/null @@ -1,38 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Mark the service as being failed - */ - -#include "svc.h" -#include "svc-intern.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) - li->status = CINIT_ST_ONCE_FAIL; - else { - /* - * FIXME: do something senseful, record time of dead? - */ - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_handle_pending.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_handle_pending.c deleted file mode 100644 index c8ae2f68..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_handle_pending.c +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Handle pending services - * - */ - -#include /* NULL */ - -#include /* NULL */ -#include "intern.h" /* mini_printf */ -#include "messages.h" /* messages */ -#include "svc.h" /* svc_init */ -#include "svc-intern.h" /* svc_init */ - -/*********************************************************************** - * go through the pending list and exit at the end. - * we will be called again after something changed: - * svc_status_changed() is triggered by the death of one or more children - * and sets up changes - */ -int svc_handle_pending(struct dep *pending) -{ - struct dep *tmp = pending; - struct dep *hack; - struct timespec ts; - - mini_printf(MSG_TREE_EXEC, 1); - - /* apply changes to changed services */ - while(tmp != NULL) { - /* to be started */ - if(tmp->svc->status & (CINIT_ST_SH_ONCE | CINIT_ST_SH_RESPAWN)) { - svc_start(tmp->svc); - tmp = dep_entry_del(tmp); - } - - switch(svc_needs_status(tmp->svc)) { - case CINIT_SNS_NEEDS_STARTED: - /* - * FIXME: MSG_* - */ - svc_report_status(tmp->svc->abs_path, "Finished needs.", NULL); - - /* execute service, add dependencies, remove from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_FAILED: - /* - * mark service as NEED_FAILD and delete from list - */ - /* FIXME: reporting moved to svc_needs_status.c */ - //svc_report_status(tmp->svc->abs_path, MSG_SVC_NEED_FAIL, NULL); - svc_set_status(tmp->svc, CINIT_ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_UNFINISHED: - /* - * FIXME: continue here! - */ - - hack = tmp->svc->needs; - do { - // get needs -// printf("%s waits for %s",tmp->svc->abs_path,hack->svc->abs_path); - // display status of needs - // printf("%s: %ld\n",hack->svc->abs_path,hack->svc->status); - hack = hack->next; - } while(hack != tmp->svc->needs); - - tmp = tmp->next; /* continue with the next item */ - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep(&ts, NULL); - break; - } - /* - * This case happens, if it's the last service waiting for something - */ - /* - * if(tmp == tmp->next) { - * - * nanosleep()? printf("BUUUUUUUUUUUUUG, exit\n"); break; } - */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_needs_status.c deleted file mode 100644 index 9b9e0243..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_needs_status.c +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return status of the needs of this service - * - */ - -#include /* NULL */ -#include "svc.h" /* service information */ -#include "svc-intern.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = CINIT_SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - - if(deps == NULL) - return CINIT_SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* - * worst case: need failed - */ - if((deps->svc->status & CINIT_ST_NEED_FAILD) || - (deps->svc->status & CINIT_ST_ONCE_FAIL) || - (deps->svc->status & CINIT_ST_BAD_ERR)) { - printf("%s not started, because %s failed.\n", svc->abs_path, deps->svc->abs_path); - retval = CINIT_SNS_NEEDS_FAILED; - break; - } - /* - * services are being started - */ - if((deps->svc->status & CINIT_ST_SH_ONCE) || - (deps->svc->status & CINIT_ST_SH_RESPAWN) || - (deps->svc->status & CINIT_ST_ONCE_RUN)) { - // printf("%s (%ld) waits for %s (%ld)\n",svc->abs_path, svc->status, - // deps->svc->abs_path, deps->svc->status); - retval = CINIT_SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_report_status.c deleted file mode 100644 index 9a1c1bab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_report_status.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Tell the world what happened to the service - */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC, 1); - mini_printf(svc, 1); - mini_printf(": ", 1); - mini_printf(msg, 1); - if(err) { - mini_printf(" (", 1); - mini_printf(err, 1); - mini_printf(")", 1); - } - mini_printf("\n", 1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_respawn_check.c deleted file mode 100644 index 86fe71ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,40 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED? not in use. - * - * Check whether service is existent - */ - -#error "NOT IN USE" - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX + 1]; - - strcpy(buf, svc->abs_path); - if(!path_append(buf, C_RESPAWN)) - return 0} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_set_status.c deleted file mode 100644 index 647ea20a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_set_status.c +++ /dev/null @@ -1,37 +0,0 @@ - -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set the status of a service - */ - -#include - -#include "svc-intern.h" - -/* checking for existence is done before! */ -uint32_t svc_set_status(struct listitem *li, uint32_t status) -{ - /* - * FIXME: also set time? - */ - - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_should_respawn.c deleted file mode 100644 index a217261a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return whether should respawn or not - */ - -#include "svc-intern.h" -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & CINIT_ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_start.c deleted file mode 100644 index 0715697a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_start.c +++ /dev/null @@ -1,142 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* nanosleep() */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ -#include "cinit.h" /* CINIT_DATA_LEN */ -#include "signals.h" /* signal handling */ - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li) -{ - char buf[CINIT_DATA_LEN]; - struct timespec ts; - int delay = 0; /* FIXME: to be calculated by waitpid status, if respawing */ - - /* first update status before forking ! */ - if(li->status & CINIT_ST_SH_ONCE) li->status = CINIT_ST_ONCE_RUN; - else li->status = CINIT_ST_RESPAWNING; - - /* set start time */ - li->start = time(NULL); - - /* - * FIXME: All cleanup must go here close(fds); reset signals reset env? - * FIXME: Add logging possibility to here open (0,1,2) to other processes, - * if specified - */ - - /* - * BUG: the following child may return _before_ the fork returns in the - * parent. Thus this pid may not be registered. And that's the reason why - * we need the global svc_lock! - */ - li->pid = fork(); - - /********************** parent ************************/ - if(li->pid > 0) { - printf("%s is at %d\n", li->abs_path, li->pid); - return; - } - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path, MSG_SVC_FORK, strerror(errno)); - svc_set_status(li, CINIT_ST_BAD_ERR); - return; - } - - /********************** Client / fork() ************************/ - /* - * sleep, if necesseray - */ - if(delay) { - ts.tv_sec = delay; - ts.tv_nsec = 0; - - /* - * FIXME: also report value; int2char - */ - printf("Delay: %d\n", delay); - svc_report_status(li->abs_path, MSG_SVC_SLEEP, NULL); - - /* - * do not need to check for errors, because we can continue anyway - */ - /* - * WRONG: FIXME: look whether to sleep again - */ - nanosleep(&ts, NULL); - } - svc_report_status(li->abs_path, MSG_SVC_START, NULL); - - cinit_cp_data(buf, li->abs_path); - if(!path_append(buf, C_ON)) - return; - - /* - * Check for existence - */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - /* - * FIXME: remove later - */ - printf("********************\n"); - printf("WO/EXE: %s\n", li->abs_path); - printf("********************\n"); - /* - * probably a problem: we exit too fast, cinit does not yet have us in - * the process list. is that possible? => catch with sleep - */ - // sleep(2); - _exit(0); /* nothing there? fine! */ - } - - if(li->status == FE_FILE) { - set_signals(SIGSTAGE_CLIENT); - - /* - * and now, fire it up - */ - execute_sth(buf); - } else { - /* - * FIXME: report? - */ - /* - * either no file or an error - */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_status_changed.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_status_changed.c deleted file mode 100644 index eeff8af7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_status_changed.c +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * - * 2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Handle changed services - * - */ - -#include /* Macros for waitpid */ -#include /* NULL */ -//#include /* gettimeofday() */ /* FIXME: CHECK POSIX */ -#include /* time() */ - -#include "svc-intern.h" /* listem */ -#include "svc.h" /* service status */ -#include "intern.h" /* mini_printf */ -//#include "messages.h" /* messages/D_PRINTF */ - - -/*********************************************************************** - * register changes from our children - */ -int svc_status_changed() -{ - int success; - int tmp = 0; - struct listitem *svc; - pid_t pid; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - svc = list_search_pid(pid); - - if(!svc) continue; /* ignore stuff from our lazy children */ - - success = (WIFEXITED(svc->waitpid) && !WEXITSTATUS(svc->waitpid)) ? 1 : 0; - svc->exited = time(NULL); - - /************************************************************************ - * Update status using a "status translation table" - */ - - /* once running service exited */ - if(svc->status & CINIT_ST_ONCE_RUN) { - if(success) { - svc->status = CINIT_ST_ONCE_OK; - } else { - svc->status = CINIT_ST_ONCE_FAIL; - } - } - /* respawing service died */ - else if(svc->status & CINIT_ST_RESPAWNING) { - svc->status = CINIT_ST_SH_RESPAWN; - } - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_stop_deps.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_stop_deps.c deleted file mode 100644 index 02d6d6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_stop_deps.c +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - FIXME: not needed anymore! -> change to svc_status_changed() - * Stop a service, taking care about its dependencies - */ - -#include "svc.h" /* enums */ -#include "svc-intern.h" /* struct listitem */ - -/* - * how == CINIT_SSSO_COMPLETE => stop needs/wants before - * how & CINIT_SSSO_WO_NEEDS => omit needs - * how & CINIT_SSSO_WO_WANTS => omit wants - */ - -void svc_stop_deps(struct listitem *li, int how) -{ - struct dep *tmp; - - /* - * don't continue if already being stopped - */ - if(li->status & CINIT_ST_SH_STOP) return; - - /* - * shutdown depending services first: needed_by - */ - tmp = li->needed_by; - do { - if(how & CINIT_SSSO_WO_NEEDS) - break; - svc_stop_deps(tmp->svc, how); - tmp = tmp->next; - } while(tmp != li->needed_by); - - /* - * shutdown depending services first: wanted_by - */ - tmp = li->wanted_by; - do { - if(how & CINIT_SSSO_WO_WANTS) - break; - svc_stop_deps(tmp->svc, how); - tmp = tmp->next; - } while(tmp != li->wanted_by); - - svc_disable(li); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_success.c deleted file mode 100644 index cef5b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/svc_success.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set the status of a service - */ - -#include /* NULL */ - -#include "svc.h" /* listitem, svc_report_status */ -#include "svc-intern.h" /* listitem, svc_report_status */ -#include "messages.h" /* messages */ - -void svc_success(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) { - svc_report_status(li->abs_path, MSG_SVC_OK_ONCE, NULL); - li->status = CINIT_ST_ONCE_OK; - } else { - svc_report_status(li->abs_path, MSG_SVC_OK_RESPAWN, NULL); - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre18/src/svc/tree_exec.c deleted file mode 100644 index 5e58572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/svc/tree_exec.c +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Start the service tree we created - */ - -#include /* NULL */ - -#include /* NULL */ -#include "intern.h" /* mini_printf */ -#include "messages.h" /* messages */ -#include "svc.h" /* svc_init */ -#include "svc-intern.h" /* svc_init */ - -/* some thoughts... - * - * - we already generated the tree, now we need to start it from - * the endings - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - struct dep *hack; - struct timespec ts; - - mini_printf(MSG_TREE_EXEC, 1); - - /* - * the main starting loop: All services in this list should be started, but - * it is possible that dependent services are in the list. In this case - * simply skip the current service - */ - do { - switch (svc_needs_status(tmp->svc)) { - case CINIT_SNS_NEEDS_STARTED: - /* - * FIXME: MSG_* - */ - svc_report_status(tmp->svc->abs_path, "Finished needs.", NULL); - - /* execute service, add dependencies, remove from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_FAILED: - /* - * mark service as NEED_FAILD and delete from list - */ - /* FIXME: reporting moved to svc_needs_status.c */ - //svc_report_status(tmp->svc->abs_path, MSG_SVC_NEED_FAIL, NULL); - svc_set_status(tmp->svc, CINIT_ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_UNFINISHED: - /* - * FIXME: continue here! - */ - - hack = tmp->svc->needs; - do { - // get needs -// printf("%s waits for %s",tmp->svc->abs_path,hack->svc->abs_path); - // display status of needs - // printf("%s: %ld\n",hack->svc->abs_path,hack->svc->status); - hack = hack->next; - } while(hack != tmp->svc->needs); - - tmp = tmp->next; /* continue with the next item */ - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep(&ts, NULL); - break; - } - /* - * This case happens, if it's the last service waiting for something - */ - /* - * if(tmp == tmp->next) { - * - * nanosleep()? printf("BUUUUUUUUUUUUUG, exit\n"); break; } - */ - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/data1.c b/software/cinit/browse_source/cinit-0.3pre18/src/test/data1.c deleted file mode 100644 index 5be9b26a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/data1.c +++ /dev/null @@ -1,53 +0,0 @@ -#include -#include -#include - -int main() -{ - int a, b, e; - char *c = "/etc/cinit/svc/...", *data; - - int a2, b2; - char *c2; - - a2 = b2 = 0; - - a = 1001; - b = strlen(c); - c2 = malloc(b + 1); - if(!c2) - return 40; - - e = sizeof(a) + sizeof(b) + b; - - printf("e=%d (b=%d)\n", e, b); - - data = malloc(e); - if(!data) - return 20; - - /* - * in - */ - strcpy(data, (char *) &a); - e = sizeof(a); - strcpy(&data[e], (char *) &b); - e += sizeof(b); - strcpy(&data[e], c); - - /* - * out - */ - strncpy((char *) &a2, data, sizeof(a2)); - printf("a2=%d\n", a2); - e = sizeof(a2); - - strncpy((char *) &b2, &data[e], sizeof(b2)); - printf("b2=%d\n", b2); - e += sizeof(b2); - - strncpy(c2, &data[e], b2); - printf("c2=%s\n", c2); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c b/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c deleted file mode 100644 index 77cc731a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c +++ /dev/null @@ -1,147 +0,0 @@ -/************* - * - * A very small program to show that the child() of a fork() - * proceess can / CANNOT exit before fork() returns in the parent - * - * Nico Schottelius, Copying: GPLv3, 20070925 - * - * I run it this way: - - * % ./fork-latency | grep "Unknown child exited" | sort | uniq | wc -l - * => Number of children that exited before we recorded them! (should be 0) - * - * % ./fork-latency | grep "found" | sort | uniq | wc -l - * => children, which exited after fork() returned. - * - * % ./fork-latency | grep "found" | wc -l - * => should equal MAX (see sourcecode) - * - * % ./fork-latency | wc -l - * => should also equal MAX (see sourcecode) - * - * Some interesting facts: - * - * - With MAX=5000 I get: - * - * [20:02] ikn:test% ./fork-latency | grep "found" | wc -l - * 731705 - * [20:03] ikn:test% ./fork-latency | wc -l - * 734683 - * - * [20:04] ikn:test% ./fork-latency | sort | head -n 4 - * 1339) found - * 1339) found - * 1339) found - * 1339) found - * - * - * I'm wondering, why even with WNOHANG I get to check pids twice, - * also because I'm clearing the pid, after I found it (list[o] = 0). - * - -This code is weired (using return intead of exit, see below): - -[20:38] ikn:test% ./fork-latency > D -[20:38] ikn:test% cat D -MAX=2 -MAX=2 -[1] Forked 12264 -MAX=2 -[1] Forked 12264 -[0] Forked 12265 -(12264) found -(12265) found -[20:38] ikn:test% - - -With _exit: - -[21:17] ikn:test% ./fork-latency > E -[21:17] ikn:test% cat E -MAX=2 -[1] Forked 15388 -[0] Forked 15389 -(15388) found -(15389) found - - - */ - -#include /* fork() */ -#include /* sigaction, sigemtpyset */ -#include /* waitpid */ -#include /* printf, NULL */ - -#define MAX 20000 /* number of forks */ - -pid_t list[MAX]; -int i; -int got_sig; - -void sig_child(int sig) -{ - got_sig = 1; -} - -void reap_child() -{ - int o; - int found; - int status; - pid_t pid; - - got_sig = 0; - - /* WNOHANG is evil: it makes us call the loop MORE THAN ONCE - * PER DEAD CHILD! -> registering a dead child via signal - * handler makes WNOHANG obsolete - */ - //while((pid = waitpid(-1, &status, WNOHANG)) > 0) { - while((pid = waitpid(-1, &status, 0)) > 0) { - found = 0; - // no need to search the whole list, use o = i instead - // for(o = 0; o < MAX; o++) { - for(o = i; o < MAX; o++) { - if(list[o] == pid) { - list[o] = 0; /* empty */ - found = 1; - break; - } - } - if(found) { - printf("(%d) found\n", pid); - } else { - printf("(%d) Unknown child exited\n", pid); - } - } -} - -int main() -{ - struct sigaction sa; - - /* listen to SIGCHLD */ - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - sigaction(SIGCHLD, &sa, NULL); - - i = MAX; - - printf("MAX=%d\n", i); - - for(i = MAX - 1; i >= 0; i--) { - list[i] = fork(); - /* child exists immediately */ - if(list[i] == 0) _exit(0); - - /* this causes a different behaviour */ - /* if(list[i] == 0) return 0; */ - - printf("[%d] Forked %d\n", i, list[i]); - - /* parent code */ - if(got_sig) reap_child(); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.A b/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.A deleted file mode 100644 index bd0df9f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.A +++ /dev/null @@ -1,8 +0,0 @@ -Forking 1 -Forking 1 -(11456) found -Forking 0 -Forking 1 -(11456) found -Forking 0 -(11457) found diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.B b/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.B deleted file mode 100644 index 95f042c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.B +++ /dev/null @@ -1,7 +0,0 @@ -Forking 1 (0) -Forking 1 (11799) -Forking 0 (0) -Forking 1 (11799) -Forking 0 (11800) -(11799) found -(11800) found diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.C b/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.C deleted file mode 100644 index 9c1b6922..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.C +++ /dev/null @@ -1,5 +0,0 @@ -[1] Forked 11905 -[1] Forked 11905 -[0] Forked 11906 -(11905) found -(11906) found diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.D b/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.D deleted file mode 100644 index 4adfec55..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.D +++ /dev/null @@ -1,8 +0,0 @@ -MAX=2 -MAX=2 -[1] Forked 12264 -MAX=2 -[1] Forked 12264 -[0] Forked 12265 -(12264) found -(12265) found diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.E b/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.E deleted file mode 100644 index 4a4190a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.E +++ /dev/null @@ -1,5 +0,0 @@ -MAX=2 -[1] Forked 15388 -[0] Forked 15389 -(15388) found -(15389) found diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.F b/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.F deleted file mode 100644 index a7ebfe81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.F +++ /dev/null @@ -1,40001 +0,0 @@ -MAX=20000 -[19999] Forked 17761 -[19998] Forked 17762 -(17761) found -(17762) found -[19997] Forked 17763 -[19996] Forked 17764 -(17763) found -(17764) found -[19995] Forked 17765 -(17765) found -[19994] Forked 17766 -(17766) found -[19993] Forked 17767 -(17767) found -[19992] Forked 17768 -(17768) found -[19991] Forked 17769 -(17769) found -[19990] Forked 17770 -(17770) found -[19989] Forked 17771 -(17771) found -[19988] Forked 17772 -(17772) found -[19987] Forked 17773 -(17773) found -[19986] Forked 17774 -(17774) found -[19985] Forked 17775 -(17775) found -[19984] Forked 17776 -(17776) found -[19983] Forked 17777 -(17777) found -[19982] Forked 17778 -(17778) found -[19981] Forked 17779 -(17779) found -[19980] Forked 17780 -(17780) found -[19979] Forked 17781 -(17781) found -[19978] Forked 17782 -(17782) found -[19977] Forked 17783 -(17783) found -[19976] Forked 17784 -(17784) found -[19975] Forked 17785 -(17785) found -[19974] Forked 17786 -(17786) found -[19973] Forked 17787 -(17787) found -[19972] Forked 17788 -(17788) found -[19971] Forked 17789 -(17789) found -[19970] Forked 17790 -(17790) found -[19969] Forked 17791 -(17791) found -[19968] Forked 17792 -(17792) found -[19967] Forked 17793 -[19966] Forked 17794 -(17793) found -(17794) found -[19965] Forked 17795 -[19964] Forked 17796 -(17795) found -(17796) found -[19963] Forked 17797 -[19962] Forked 17798 -(17797) found -(17798) found -[19961] Forked 17799 -[19960] Forked 17800 -(17799) found -(17800) found -[19959] Forked 17801 -[19958] Forked 17802 -(17801) found -(17802) found -[19957] Forked 17803 -[19956] Forked 17804 -(17803) found -(17804) found -[19955] Forked 17805 -[19954] Forked 17806 -(17805) found -(17806) found -[19953] Forked 17807 -[19952] Forked 17808 -(17807) found -(17808) found -[19951] Forked 17809 -[19950] Forked 17810 -(17809) found -(17810) found -[19949] Forked 17811 -[19948] Forked 17812 -(17811) found -(17812) found -[19947] Forked 17813 -[19946] Forked 17814 -(17813) found -(17814) found -[19945] Forked 17815 -[19944] Forked 17816 -(17815) found -(17816) found -[19943] Forked 17817 -[19942] Forked 17818 -(17817) found -(17818) found -[19941] Forked 17819 -[19940] Forked 17820 -(17819) found -(17820) found -[19939] Forked 17821 -[19938] Forked 17822 -(17821) found -(17822) found -[19937] Forked 17823 -[19936] Forked 17824 -(17823) found -(17824) found -[19935] Forked 17825 -[19934] Forked 17826 -(17825) found -(17826) found -[19933] Forked 17827 -[19932] Forked 17828 -(17827) found -(17828) found -[19931] Forked 17829 -[19930] Forked 17830 -(17829) found -(17830) found -[19929] Forked 17831 -[19928] Forked 17832 -(17831) found -(17832) found -[19927] Forked 17833 -[19926] Forked 17834 -(17833) found -(17834) found -[19925] Forked 17835 -[19924] Forked 17836 -(17835) found -(17836) found -[19923] Forked 17837 -[19922] Forked 17838 -(17837) found -(17838) found -[19921] Forked 17839 -[19920] Forked 17840 -(17839) found -(17840) found -[19919] Forked 17841 -[19918] Forked 17842 -(17841) found -(17842) found -[19917] Forked 17843 -[19916] Forked 17844 -(17843) found -(17844) found -[19915] Forked 17845 -[19914] Forked 17846 -(17845) found -(17846) found -[19913] Forked 17847 -[19912] Forked 17848 -(17847) found -(17848) found -[19911] Forked 17849 -[19910] Forked 17850 -(17849) found -(17850) found -[19909] Forked 17851 -[19908] Forked 17852 -(17851) found -(17852) found -[19907] Forked 17853 -[19906] Forked 17854 -(17853) found -(17854) found -[19905] Forked 17855 -[19904] Forked 17856 -(17855) found -(17856) found -[19903] Forked 17857 -[19902] Forked 17858 -(17857) found -(17858) found -[19901] Forked 17859 -[19900] Forked 17860 -(17859) found -(17860) found -[19899] Forked 17861 -[19898] Forked 17862 -(17861) found -(17862) found -[19897] Forked 17863 -[19896] Forked 17864 -(17863) found -(17864) found -[19895] Forked 17865 -[19894] Forked 17866 -(17865) found -(17866) found -[19893] Forked 17867 -[19892] Forked 17868 -(17867) found -(17868) found -[19891] Forked 17869 -[19890] Forked 17870 -(17869) found -(17870) found -[19889] Forked 17871 -[19888] Forked 17872 -(17871) found -(17872) found -[19887] Forked 17873 -[19886] Forked 17874 -(17873) found -(17874) found -[19885] Forked 17875 -[19884] Forked 17876 -(17875) found -(17876) found -[19883] Forked 17877 -[19882] Forked 17878 -(17877) found -(17878) found -[19881] Forked 17879 -[19880] Forked 17880 -(17879) found -(17880) found -[19879] Forked 17881 -[19878] Forked 17882 -(17881) found -(17882) found -[19877] Forked 17883 -[19876] Forked 17884 -(17883) found -(17884) found -[19875] Forked 17885 -[19874] Forked 17886 -(17885) found -(17886) found -[19873] Forked 17887 -[19872] Forked 17888 -(17887) found -(17888) found -[19871] Forked 17889 -[19870] Forked 17890 -(17889) found -(17890) found -[19869] Forked 17891 -[19868] Forked 17892 -(17891) found -(17892) found -[19867] Forked 17893 -[19866] Forked 17894 -(17893) found -(17894) found -[19865] Forked 17895 -[19864] Forked 17896 -(17895) found -(17896) found -[19863] Forked 17897 -[19862] Forked 17898 -(17897) found -(17898) found -[19861] Forked 17899 -[19860] Forked 17900 -(17899) found -(17900) found -[19859] Forked 17901 -[19858] Forked 17902 -(17901) found -(17902) found -[19857] Forked 17903 -[19856] Forked 17904 -(17903) found -(17904) found -[19855] Forked 17905 -[19854] Forked 17906 -(17905) found -(17906) found -[19853] Forked 17907 -[19852] Forked 17908 -(17907) found -(17908) found -[19851] Forked 17909 -[19850] Forked 17910 -(17909) found -(17910) found -[19849] Forked 17911 -[19848] Forked 17912 -(17911) found -(17912) found -[19847] Forked 17913 -[19846] Forked 17914 -(17913) found -(17914) found -[19845] Forked 17915 -[19844] Forked 17916 -(17915) found -(17916) found -[19843] Forked 17917 -[19842] Forked 17918 -(17917) found -(17918) found -[19841] Forked 17919 -[19840] Forked 17920 -(17919) found -(17920) found -[19839] Forked 17921 -[19838] Forked 17922 -(17921) found -(17922) found -[19837] Forked 17923 -[19836] Forked 17924 -(17923) found -(17924) found -[19835] Forked 17925 -(17925) found -[19834] Forked 17926 -(17926) found -[19833] Forked 17927 -(17927) found -[19832] Forked 17928 -(17928) found -[19831] Forked 17929 -(17929) found -[19830] Forked 17930 -(17930) found -[19829] Forked 17931 -(17931) found -[19828] Forked 17932 -[19827] Forked 17933 -(17932) found -(17933) found -[19826] Forked 17934 -(17934) found -[19825] Forked 17935 -(17935) found -[19824] Forked 17936 -(17936) found -[19823] Forked 17937 -(17937) found -[19822] Forked 17938 -(17938) found -[19821] Forked 17939 -(17939) found -[19820] Forked 17940 -(17940) found -[19819] Forked 17941 -(17941) found -[19818] Forked 17942 -(17942) found -[19817] Forked 17943 -(17943) found -[19816] Forked 17944 -(17944) found -[19815] Forked 17945 -(17945) found -[19814] Forked 17946 -(17946) found -[19813] Forked 17947 -(17947) found -[19812] Forked 17948 -(17948) found -[19811] Forked 17949 -(17949) found -[19810] Forked 17950 -(17950) found -[19809] Forked 17951 -(17951) found -[19808] Forked 17952 -(17952) found -[19807] Forked 17953 -(17953) found -[19806] Forked 17954 -(17954) found -[19805] Forked 17955 -(17955) found -[19804] Forked 17956 -(17956) found -[19803] Forked 17957 -(17957) found -[19802] Forked 17958 -(17958) found -[19801] Forked 17959 -(17959) found -[19800] Forked 17960 -(17960) found -[19799] Forked 17961 -(17961) found -[19798] Forked 17962 -(17962) found -[19797] Forked 17963 -(17963) found -[19796] Forked 17964 -(17964) found -[19795] Forked 17965 -(17965) found -[19794] Forked 17966 -(17966) found -[19793] Forked 17967 -(17967) found -[19792] Forked 17968 -(17968) found -[19791] Forked 17969 -(17969) found -[19790] Forked 17970 -[19789] Forked 17971 -(17970) found -(17971) found -[19788] Forked 17972 -[19787] Forked 17973 -(17972) found -(17973) found -[19786] Forked 17974 -[19785] Forked 17975 -(17974) found -(17975) found -[19784] Forked 17976 -[19783] Forked 17977 -(17976) found -(17977) found -[19782] Forked 17978 -[19781] Forked 17979 -(17978) found -(17979) found -[19780] Forked 17980 -[19779] Forked 17981 -(17981) found -(17980) found -[19778] Forked 17982 -(17982) found -[19777] Forked 17983 -(17983) found -[19776] Forked 17984 -(17984) found -[19775] Forked 17985 -(17985) found -[19774] Forked 17986 -(17986) found -[19773] Forked 17987 -(17987) found -[19772] Forked 17988 -(17988) found -[19771] Forked 17989 -(17989) found -[19770] Forked 17990 -(17990) found -[19769] Forked 17991 -(17991) found -[19768] Forked 17992 -(17992) found -[19767] Forked 17993 -(17993) found -[19766] Forked 17994 -(17994) found -[19765] Forked 17995 -(17995) found -[19764] Forked 17996 -(17996) found -[19763] Forked 17997 -(17997) found -[19762] Forked 17998 -(17998) found -[19761] Forked 17999 -(17999) found -[19760] Forked 18000 -(18000) found -[19759] Forked 18001 -(18001) found -[19758] Forked 18002 -(18002) found -[19757] Forked 18003 -(18003) found -[19756] Forked 18004 -(18004) found -[19755] Forked 18005 -(18005) found -[19754] Forked 18006 -(18006) found -[19753] Forked 18007 -(18007) found -[19752] Forked 18008 -(18008) found -[19751] Forked 18009 -(18009) found -[19750] Forked 18010 -(18010) found -[19749] Forked 18011 -(18011) found -[19748] Forked 18012 -(18012) found -[19747] Forked 18013 -(18013) found -[19746] Forked 18014 -(18014) found -[19745] Forked 18015 -(18015) found -[19744] Forked 18016 -(18016) found -[19743] Forked 18017 -(18017) found -[19742] Forked 18018 -(18018) found -[19741] Forked 18019 -(18019) found -[19740] Forked 18020 -(18020) found -[19739] Forked 18021 -(18021) found -[19738] Forked 18022 -(18022) found -[19737] Forked 18023 -(18023) found -[19736] Forked 18024 -(18024) found -[19735] Forked 18025 -(18025) found -[19734] Forked 18026 -(18026) found -[19733] Forked 18027 -(18027) found -[19732] Forked 18028 -(18028) found -[19731] Forked 18029 -(18029) found -[19730] Forked 18030 -(18030) found -[19729] Forked 18031 -(18031) found -[19728] Forked 18032 -(18032) found -[19727] Forked 18033 -(18033) found -[19726] Forked 18034 -(18034) found -[19725] Forked 18035 -(18035) found -[19724] Forked 18036 -(18036) found -[19723] Forked 18037 -(18037) found -[19722] Forked 18038 -(18038) found -[19721] Forked 18039 -(18039) found -[19720] Forked 18040 -(18040) found -[19719] Forked 18041 -(18041) found -[19718] Forked 18042 -[19717] Forked 18043 -(18042) found -(18043) found -[19716] Forked 18044 -[19715] Forked 18045 -(18044) found -(18045) found -[19714] Forked 18046 -[19713] Forked 18047 -(18046) found -(18047) found -[19712] Forked 18048 -[19711] Forked 18049 -(18049) found -(18048) found -[19710] Forked 18050 -(18050) found -[19709] Forked 18051 -(18051) found -[19708] Forked 18052 -(18052) found -[19707] Forked 18053 -(18053) found -[19706] Forked 18055 -(18055) found -[19705] Forked 18056 -(18056) found -[19704] Forked 18057 -(18057) found -[19703] Forked 18058 -(18058) found -[19702] Forked 18059 -(18059) found -[19701] Forked 18060 -(18060) found -[19700] Forked 18061 -(18061) found -[19699] Forked 18062 -(18062) found -[19698] Forked 18063 -(18063) found -[19697] Forked 18064 -(18064) found -[19696] Forked 18065 -(18065) found -[19695] Forked 18066 -(18066) found -[19694] Forked 18067 -(18067) found -[19693] Forked 18068 -(18068) found -[19692] Forked 18069 -(18069) found -[19691] Forked 18070 -(18070) found -[19690] Forked 18071 -(18071) found -[19689] Forked 18072 -(18072) found -[19688] Forked 18073 -(18073) found -[19687] Forked 18074 -(18074) found -[19686] Forked 18075 -(18075) found -[19685] Forked 18076 -(18076) found -[19684] Forked 18077 -(18077) found -[19683] Forked 18078 -(18078) found -[19682] Forked 18079 -(18079) found -[19681] Forked 18080 -(18080) found -[19680] Forked 18081 -(18081) found -[19679] Forked 18082 -(18082) found -[19678] Forked 18083 -(18083) found -[19677] Forked 18084 -(18084) found -[19676] Forked 18085 -(18085) found -[19675] Forked 18086 -(18086) found -[19674] Forked 18087 -(18087) found -[19673] Forked 18088 -(18088) found -[19672] Forked 18089 -(18089) found -[19671] Forked 18090 -(18090) found -[19670] Forked 18091 -(18091) found -[19669] Forked 18092 -(18092) found -[19668] Forked 18093 -(18093) found -[19667] Forked 18094 -(18094) found -[19666] Forked 18095 -(18095) found -[19665] Forked 18096 -(18096) found -[19664] Forked 18097 -(18097) found -[19663] Forked 18098 -(18098) found -[19662] Forked 18099 -(18099) found -[19661] Forked 18100 -(18100) found -[19660] Forked 18101 -(18101) found -[19659] Forked 18102 -(18102) found -[19658] Forked 18103 -(18103) found -[19657] Forked 18104 -(18104) found -[19656] Forked 18105 -(18105) found -[19655] Forked 18106 -(18106) found -[19654] Forked 18107 -(18107) found -[19653] Forked 18108 -(18108) found -[19652] Forked 18109 -(18109) found -[19651] Forked 18110 -(18110) found -[19650] Forked 18111 -(18111) found -[19649] Forked 18112 -(18112) found -[19648] Forked 18113 -[19647] Forked 18114 -(18113) found -(18114) found -[19646] Forked 18115 -[19645] Forked 18116 -(18115) found -(18116) found -[19644] Forked 18117 -[19643] Forked 18118 -(18117) found -(18118) found -[19642] Forked 18119 -[19641] Forked 18120 -(18119) found -(18120) found -[19640] Forked 18121 -[19639] Forked 18122 -(18121) found -(18122) found -[19638] Forked 18123 -[19637] Forked 18124 -(18123) found -(18124) found -[19636] Forked 18125 -[19635] Forked 18126 -(18125) found -(18126) found -[19634] Forked 18127 -[19633] Forked 18128 -(18127) found -(18128) found -[19632] Forked 18129 -[19631] Forked 18130 -(18129) found -(18130) found -[19630] Forked 18131 -[19629] Forked 18132 -(18131) found -(18132) found -[19628] Forked 18133 -[19627] Forked 18134 -(18133) found -(18134) found -[19626] Forked 18135 -[19625] Forked 18136 -(18135) found -(18136) found -[19624] Forked 18137 -[19623] Forked 18138 -(18137) found -(18138) found -[19622] Forked 18139 -[19621] Forked 18140 -(18139) found -(18140) found -[19620] Forked 18141 -[19619] Forked 18142 -(18141) found -(18142) found -[19618] Forked 18143 -[19617] Forked 18144 -(18143) found -(18144) found -[19616] Forked 18145 -[19615] Forked 18146 -(18145) found -(18146) found -[19614] Forked 18147 -[19613] Forked 18148 -(18147) found -(18148) found -[19612] Forked 18149 -[19611] Forked 18150 -(18149) found -(18150) found -[19610] Forked 18151 -[19609] Forked 18152 -(18151) found -(18152) found -[19608] Forked 18153 -[19607] Forked 18154 -(18153) found -(18154) found -[19606] Forked 18155 -[19605] Forked 18156 -(18155) found -(18156) found -[19604] Forked 18157 -[19603] Forked 18158 -(18157) found -(18158) found -[19602] Forked 18159 -[19601] Forked 18160 -(18159) found -(18160) found -[19600] Forked 18161 -(18161) found -[19599] Forked 18162 -(18162) found -[19598] Forked 18163 -(18163) found -[19597] Forked 18164 -(18164) found -[19596] Forked 18165 -(18165) found -[19595] Forked 18166 -(18166) found -[19594] Forked 18167 -(18167) found -[19593] Forked 18168 -(18168) found -[19592] Forked 18169 -(18169) found -[19591] Forked 18170 -(18170) found -[19590] Forked 18171 -(18171) found -[19589] Forked 18172 -(18172) found -[19588] Forked 18173 -(18173) found -[19587] Forked 18174 -(18174) found -[19586] Forked 18175 -(18175) found -[19585] Forked 18176 -(18176) found -[19584] Forked 18177 -(18177) found -[19583] Forked 18178 -(18178) found -[19582] Forked 18179 -(18179) found -[19581] Forked 18180 -(18180) found -[19580] Forked 18181 -(18181) found -[19579] Forked 18182 -(18182) found -[19578] Forked 18183 -(18183) found -[19577] Forked 18184 -(18184) found -[19576] Forked 18185 -(18185) found -[19575] Forked 18186 -(18186) found -[19574] Forked 18187 -(18187) found -[19573] Forked 18188 -(18188) found -[19572] Forked 18189 -(18189) found -[19571] Forked 18190 -(18190) found -[19570] Forked 18191 -(18191) found -[19569] Forked 18192 -(18192) found -[19568] Forked 18193 -(18193) found -[19567] Forked 18194 -(18194) found -[19566] Forked 18195 -(18195) found -[19565] Forked 18196 -(18196) found -[19564] Forked 18197 -[19563] Forked 18198 -(18197) found -(18198) found -[19562] Forked 18199 -[19561] Forked 18200 -(18199) found -(18200) found -[19560] Forked 18201 -[19559] Forked 18202 -(18201) found -(18202) found -[19558] Forked 18203 -[19557] Forked 18204 -(18203) found -(18204) found -[19556] Forked 18205 -[19555] Forked 18206 -(18205) found -(18206) found -[19554] Forked 18207 -[19553] Forked 18208 -(18207) found -(18208) found -[19552] Forked 18209 -[19551] Forked 18210 -(18209) found -(18210) found -[19550] Forked 18211 -[19549] Forked 18212 -(18211) found -(18212) found -[19548] Forked 18213 -[19547] Forked 18214 -(18213) found -(18214) found -[19546] Forked 18215 -[19545] Forked 18216 -(18215) found -(18216) found -[19544] Forked 18217 -[19543] Forked 18218 -(18217) found -(18218) found -[19542] Forked 18219 -[19541] Forked 18220 -(18219) found -(18220) found -[19540] Forked 18221 -[19539] Forked 18222 -(18221) found -(18222) found -[19538] Forked 18223 -[19537] Forked 18224 -(18223) found -(18224) found -[19536] Forked 18225 -[19535] Forked 18226 -(18225) found -(18226) found -[19534] Forked 18227 -[19533] Forked 18228 -(18227) found -(18228) found -[19532] Forked 18229 -[19531] Forked 18230 -(18229) found -(18230) found -[19530] Forked 18231 -[19529] Forked 18232 -(18231) found -(18232) found -[19528] Forked 18233 -[19527] Forked 18234 -(18233) found -(18234) found -[19526] Forked 18235 -[19525] Forked 18236 -(18235) found -(18236) found -[19524] Forked 18237 -[19523] Forked 18238 -(18237) found -(18238) found -[19522] Forked 18239 -[19521] Forked 18240 -(18239) found -(18240) found -[19520] Forked 18241 -[19519] Forked 18242 -(18241) found -(18242) found -[19518] Forked 18243 -[19517] Forked 18244 -(18243) found -(18244) found -[19516] Forked 18245 -[19515] Forked 18246 -(18245) found -(18246) found -[19514] Forked 18247 -[19513] Forked 18248 -(18247) found -(18248) found -[19512] Forked 18249 -[19511] Forked 18250 -(18249) found -(18250) found -[19510] Forked 18251 -[19509] Forked 18252 -(18251) found -(18252) found -[19508] Forked 18253 -[19507] Forked 18254 -(18253) found -(18254) found -[19506] Forked 18255 -[19505] Forked 18256 -(18255) found -(18256) found -[19504] Forked 18257 -[19503] Forked 18258 -(18257) found -(18258) found -[19502] Forked 18259 -[19501] Forked 18260 -(18259) found -(18260) found -[19500] Forked 18261 -[19499] Forked 18262 -(18261) found -(18262) found -[19498] Forked 18263 -[19497] Forked 18264 -(18263) found -(18264) found -[19496] Forked 18265 -[19495] Forked 18266 -(18265) found -(18266) found -[19494] Forked 18267 -[19493] Forked 18268 -(18267) found -(18268) found -[19492] Forked 18269 -[19491] Forked 18270 -(18269) found -(18270) found -[19490] Forked 18271 -[19489] Forked 18272 -(18271) found -(18272) found -[19488] Forked 18273 -[19487] Forked 18274 -(18273) found -(18274) found -[19486] Forked 18275 -[19485] Forked 18276 -(18275) found -(18276) found -[19484] Forked 18277 -[19483] Forked 18278 -(18277) found -(18278) found -[19482] Forked 18279 -[19481] Forked 18280 -(18279) found -(18280) found -[19480] Forked 18281 -[19479] Forked 18282 -(18281) found -(18282) found -[19478] Forked 18283 -[19477] Forked 18284 -(18283) found -(18284) found -[19476] Forked 18285 -[19475] Forked 18286 -(18285) found -(18286) found -[19474] Forked 18287 -[19473] Forked 18288 -(18287) found -(18288) found -[19472] Forked 18289 -[19471] Forked 18290 -(18289) found -(18290) found -[19470] Forked 18291 -[19469] Forked 18292 -(18291) found -(18292) found -[19468] Forked 18293 -[19467] Forked 18294 -(18293) found -(18294) found -[19466] Forked 18295 -[19465] Forked 18296 -(18295) found -(18296) found -[19464] Forked 18297 -[19463] Forked 18298 -(18297) found -(18298) found -[19462] Forked 18299 -[19461] Forked 18300 -(18299) found -(18300) found -[19460] Forked 18301 -[19459] Forked 18302 -(18301) found -(18302) found -[19458] Forked 18303 -[19457] Forked 18304 -(18303) found -(18304) found -[19456] Forked 18305 -[19455] Forked 18306 -(18305) found -(18306) found -[19454] Forked 18307 -[19453] Forked 18308 -(18307) found -(18308) found -[19452] Forked 18309 -[19451] Forked 18310 -(18309) found -(18310) found -[19450] Forked 18311 -[19449] Forked 18312 -(18311) found -(18312) found -[19448] Forked 18313 -[19447] Forked 18314 -(18313) found -(18314) found -[19446] Forked 18315 -[19445] Forked 18316 -(18315) found -(18316) found -[19444] Forked 18317 -[19443] Forked 18318 -(18317) found -(18318) found -[19442] Forked 18319 -[19441] Forked 18320 -(18319) found -(18320) found -[19440] Forked 18321 -[19439] Forked 18322 -(18321) found -(18322) found -[19438] Forked 18323 -[19437] Forked 18324 -(18323) found -(18324) found -[19436] Forked 18325 -[19435] Forked 18326 -(18325) found -(18326) found -[19434] Forked 18327 -[19433] Forked 18328 -(18327) found -(18328) found -[19432] Forked 18329 -[19431] Forked 18330 -(18329) found -(18330) found -[19430] Forked 18331 -[19429] Forked 18332 -(18331) found -(18332) found -[19428] Forked 18333 -[19427] Forked 18334 -(18333) found -(18334) found -[19426] Forked 18335 -[19425] Forked 18336 -(18335) found -(18336) found -[19424] Forked 18337 -(18337) found -[19423] Forked 18338 -[19422] Forked 18339 -(18338) found -(18339) found -[19421] Forked 18340 -[19420] Forked 18341 -(18340) found -(18341) found -[19419] Forked 18342 -[19418] Forked 18343 -(18342) found -(18343) found -[19417] Forked 18344 -[19416] Forked 18345 -(18344) found -(18345) found -[19415] Forked 18346 -[19414] Forked 18347 -(18346) found -(18347) found -[19413] Forked 18348 -[19412] Forked 18349 -(18348) found -(18349) found -[19411] Forked 18350 -[19410] Forked 18351 -(18350) found -(18351) found -[19409] Forked 18352 -[19408] Forked 18353 -(18352) found -(18353) found -[19407] Forked 18354 -[19406] Forked 18355 -(18354) found -(18355) found -[19405] Forked 18356 -[19404] Forked 18357 -(18356) found -(18357) found -[19403] Forked 18358 -[19402] Forked 18359 -(18358) found -(18359) found -[19401] Forked 18360 -[19400] Forked 18361 -(18360) found -(18361) found -[19399] Forked 18362 -[19398] Forked 18363 -(18362) found -(18363) found -[19397] Forked 18364 -[19396] Forked 18365 -(18364) found -(18365) found -[19395] Forked 18366 -[19394] Forked 18367 -(18366) found -(18367) found -[19393] Forked 18368 -[19392] Forked 18369 -(18368) found -(18369) found -[19391] Forked 18370 -[19390] Forked 18371 -(18370) found -(18371) found -[19389] Forked 18372 -[19388] Forked 18373 -(18372) found -(18373) found -[19387] Forked 18374 -[19386] Forked 18375 -(18374) found -(18375) found -[19385] Forked 18376 -[19384] Forked 18377 -(18376) found -(18377) found -[19383] Forked 18378 -[19382] Forked 18379 -(18378) found -(18379) found -[19381] Forked 18380 -(18380) found -[19380] Forked 18381 -(18381) found -[19379] Forked 18382 -(18382) found -[19378] Forked 18383 -(18383) found -[19377] Forked 18384 -(18384) found -[19376] Forked 18385 -(18385) found -[19375] Forked 18386 -(18386) found -[19374] Forked 18387 -(18387) found -[19373] Forked 18388 -(18388) found -[19372] Forked 18389 -(18389) found -[19371] Forked 18390 -(18390) found -[19370] Forked 18391 -(18391) found -[19369] Forked 18392 -(18392) found -[19368] Forked 18393 -(18393) found -[19367] Forked 18394 -(18394) found -[19366] Forked 18395 -(18395) found -[19365] Forked 18396 -(18396) found -[19364] Forked 18397 -(18397) found -[19363] Forked 18398 -(18398) found -[19362] Forked 18399 -(18399) found -[19361] Forked 18400 -(18400) found -[19360] Forked 18401 -(18401) found -[19359] Forked 18402 -(18402) found -[19358] Forked 18403 -(18403) found -[19357] Forked 18404 -(18404) found -[19356] Forked 18405 -(18405) found -[19355] Forked 18406 -(18406) found -[19354] Forked 18407 -(18407) found -[19353] Forked 18408 -(18408) found -[19352] Forked 18409 -(18409) found -[19351] Forked 18410 -(18410) found -[19350] Forked 18411 -(18411) found -[19349] Forked 18412 -(18412) found -[19348] Forked 18413 -(18413) found -[19347] Forked 18414 -(18414) found -[19346] Forked 18415 -(18415) found -[19345] Forked 18416 -(18416) found -[19344] Forked 18417 -(18417) found -[19343] Forked 18418 -(18418) found -[19342] Forked 18419 -[19341] Forked 18420 -(18419) found -(18420) found -[19340] Forked 18421 -[19339] Forked 18422 -(18421) found -(18422) found -[19338] Forked 18423 -[19337] Forked 18424 -(18423) found -(18424) found -[19336] Forked 18425 -[19335] Forked 18426 -(18425) found -(18426) found -[19334] Forked 18427 -[19333] Forked 18428 -(18427) found -(18428) found -[19332] Forked 18429 -[19331] Forked 18430 -(18429) found -(18430) found -[19330] Forked 18431 -[19329] Forked 18432 -(18431) found -(18432) found -[19328] Forked 18433 -[19327] Forked 18434 -(18433) found -(18434) found -[19326] Forked 18435 -[19325] Forked 18436 -(18435) found -(18436) found -[19324] Forked 18437 -[19323] Forked 18438 -(18437) found -(18438) found -[19322] Forked 18439 -[19321] Forked 18440 -(18439) found -(18440) found -[19320] Forked 18441 -[19319] Forked 18442 -(18441) found -(18442) found -[19318] Forked 18443 -[19317] Forked 18444 -(18443) found -(18444) found -[19316] Forked 18445 -[19315] Forked 18446 -(18445) found -(18446) found -[19314] Forked 18447 -[19313] Forked 18448 -(18447) found -(18448) found -[19312] Forked 18449 -[19311] Forked 18450 -(18449) found -(18450) found -[19310] Forked 18451 -[19309] Forked 18452 -(18451) found -(18452) found -[19308] Forked 18453 -[19307] Forked 18454 -(18453) found -(18454) found -[19306] Forked 18455 -[19305] Forked 18456 -(18455) found -(18456) found -[19304] Forked 18457 -[19303] Forked 18458 -(18457) found -(18458) found -[19302] Forked 18459 -[19301] Forked 18460 -(18459) found -(18460) found -[19300] Forked 18461 -[19299] Forked 18462 -(18461) found -(18462) found -[19298] Forked 18463 -(18463) found -[19297] Forked 18464 -(18464) found -[19296] Forked 18466 -(18466) found -[19295] Forked 18467 -(18467) found -[19294] Forked 18468 -(18468) found -[19293] Forked 18469 -(18469) found -[19292] Forked 18470 -(18470) found -[19291] Forked 18471 -(18471) found -[19290] Forked 18472 -(18472) found -[19289] Forked 18473 -(18473) found -[19288] Forked 18474 -(18474) found -[19287] Forked 18475 -(18475) found -[19286] Forked 18476 -(18476) found -[19285] Forked 18477 -(18477) found -[19284] Forked 18478 -(18478) found -[19283] Forked 18479 -(18479) found -[19282] Forked 18480 -(18480) found -[19281] Forked 18481 -(18481) found -[19280] Forked 18482 -(18482) found -[19279] Forked 18483 -(18483) found -[19278] Forked 18484 -(18484) found -[19277] Forked 18485 -(18485) found -[19276] Forked 18486 -(18486) found -[19275] Forked 18487 -(18487) found -[19274] Forked 18488 -(18488) found -[19273] Forked 18489 -(18489) found -[19272] Forked 18490 -(18490) found -[19271] Forked 18491 -(18491) found -[19270] Forked 18492 -(18492) found -[19269] Forked 18493 -(18493) found -[19268] Forked 18494 -(18494) found -[19267] Forked 18495 -(18495) found -[19266] Forked 18496 -(18496) found -[19265] Forked 18497 -(18497) found -[19264] Forked 18498 -(18498) found -[19263] Forked 18499 -(18499) found -[19262] Forked 18500 -(18500) found -[19261] Forked 18501 -(18501) found -[19260] Forked 18502 -(18502) found -[19259] Forked 18503 -[19258] Forked 18504 -(18503) found -(18504) found -[19257] Forked 18505 -[19256] Forked 18506 -(18505) found -(18506) found -[19255] Forked 18507 -[19254] Forked 18508 -(18507) found -(18508) found -[19253] Forked 18509 -[19252] Forked 18510 -(18509) found -(18510) found -[19251] Forked 18511 -[19250] Forked 18512 -(18511) found -(18512) found -[19249] Forked 18513 -[19248] Forked 18514 -(18513) found -(18514) found -[19247] Forked 18515 -[19246] Forked 18516 -(18515) found -(18516) found -[19245] Forked 18517 -[19244] Forked 18518 -(18518) found -(18517) found -[19243] Forked 18519 -(18519) found -[19242] Forked 18520 -(18520) found -[19241] Forked 18521 -(18521) found -[19240] Forked 18522 -(18522) found -[19239] Forked 18523 -(18523) found -[19238] Forked 18524 -(18524) found -[19237] Forked 18525 -(18525) found -[19236] Forked 18526 -(18526) found -[19235] Forked 18527 -(18527) found -[19234] Forked 18528 -(18528) found -[19233] Forked 18529 -(18529) found -[19232] Forked 18530 -(18530) found -[19231] Forked 18531 -(18531) found -[19230] Forked 18532 -(18532) found -[19229] Forked 18533 -(18533) found -[19228] Forked 18534 -(18534) found -[19227] Forked 18535 -(18535) found -[19226] Forked 18536 -(18536) found -[19225] Forked 18537 -(18537) found -[19224] Forked 18538 -(18538) found -[19223] Forked 18539 -(18539) found -[19222] Forked 18540 -(18540) found -[19221] Forked 18541 -(18541) found -[19220] Forked 18542 -(18542) found -[19219] Forked 18543 -(18543) found -[19218] Forked 18544 -(18544) found -[19217] Forked 18545 -(18545) found -[19216] Forked 18546 -(18546) found -[19215] Forked 18547 -(18547) found -[19214] Forked 18548 -(18548) found -[19213] Forked 18549 -(18549) found -[19212] Forked 18550 -(18550) found -[19211] Forked 18551 -(18551) found -[19210] Forked 18552 -(18552) found -[19209] Forked 18553 -(18553) found -[19208] Forked 18554 -(18554) found -[19207] Forked 18555 -(18555) found -[19206] Forked 18556 -(18556) found -[19205] Forked 18557 -(18557) found -[19204] Forked 18558 -(18558) found -[19203] Forked 18559 -(18559) found -[19202] Forked 18560 -(18560) found -[19201] Forked 18561 -(18561) found -[19200] Forked 18562 -(18562) found -[19199] Forked 18563 -(18563) found -[19198] Forked 18564 -(18564) found -[19197] Forked 18565 -(18565) found -[19196] Forked 18566 -(18566) found -[19195] Forked 18567 -(18567) found -[19194] Forked 18568 -(18568) found -[19193] Forked 18569 -(18569) found -[19192] Forked 18570 -(18570) found -[19191] Forked 18571 -(18571) found -[19190] Forked 18572 -(18572) found -[19189] Forked 18573 -(18573) found -[19188] Forked 18574 -(18574) found -[19187] Forked 18575 -[19186] Forked 18576 -(18575) found -(18576) found -[19185] Forked 18577 -[19184] Forked 18578 -(18577) found -(18578) found -[19183] Forked 18579 -[19182] Forked 18580 -(18579) found -(18580) found -[19181] Forked 18581 -[19180] Forked 18582 -(18581) found -(18582) found -[19179] Forked 18583 -[19178] Forked 18584 -(18583) found -(18584) found -[19177] Forked 18585 -[19176] Forked 18586 -(18585) found -(18586) found -[19175] Forked 18587 -[19174] Forked 18588 -(18587) found -(18588) found -[19173] Forked 18589 -[19172] Forked 18590 -(18589) found -(18590) found -[19171] Forked 18591 -[19170] Forked 18592 -(18591) found -(18592) found -[19169] Forked 18593 -[19168] Forked 18594 -(18593) found -(18594) found -[19167] Forked 18595 -[19166] Forked 18596 -(18595) found -(18596) found -[19165] Forked 18597 -[19164] Forked 18598 -(18597) found -(18598) found -[19163] Forked 18599 -[19162] Forked 18600 -(18599) found -(18600) found -[19161] Forked 18601 -[19160] Forked 18602 -(18601) found -(18602) found -[19159] Forked 18603 -[19158] Forked 18604 -(18603) found -(18604) found -[19157] Forked 18605 -[19156] Forked 18606 -(18605) found -(18606) found -[19155] Forked 18607 -[19154] Forked 18608 -(18607) found -(18608) found -[19153] Forked 18609 -[19152] Forked 18610 -(18609) found -(18610) found -[19151] Forked 18612 -[19150] Forked 18613 -(18612) found -(18613) found -[19149] Forked 18614 -[19148] Forked 18615 -(18614) found -(18615) found -[19147] Forked 18616 -[19146] Forked 18617 -(18616) found -(18617) found -[19145] Forked 18618 -[19144] Forked 18619 -(18618) found -(18619) found -[19143] Forked 18620 -(18620) found -[19142] Forked 18621 -(18621) found -[19141] Forked 18622 -(18622) found -[19140] Forked 18623 -(18623) found -[19139] Forked 18624 -(18624) found -[19138] Forked 18625 -(18625) found -[19137] Forked 18626 -(18626) found -[19136] Forked 18627 -(18627) found -[19135] Forked 18628 -(18628) found -[19134] Forked 18629 -(18629) found -[19133] Forked 18630 -(18630) found -[19132] Forked 18631 -(18631) found -[19131] Forked 18632 -(18632) found -[19130] Forked 18633 -(18633) found -[19129] Forked 18634 -(18634) found -[19128] Forked 18635 -(18635) found -[19127] Forked 18636 -(18636) found -[19126] Forked 18637 -(18637) found -[19125] Forked 18638 -(18638) found -[19124] Forked 18639 -(18639) found -[19123] Forked 18640 -(18640) found -[19122] Forked 18641 -(18641) found -[19121] Forked 18642 -(18642) found -[19120] Forked 18643 -(18643) found -[19119] Forked 18644 -(18644) found -[19118] Forked 18645 -(18645) found -[19117] Forked 18646 -(18646) found -[19116] Forked 18647 -(18647) found -[19115] Forked 18648 -(18648) found -[19114] Forked 18649 -(18649) found -[19113] Forked 18650 -(18650) found -[19112] Forked 18651 -(18651) found -[19111] Forked 18652 -(18652) found -[19110] Forked 18653 -(18653) found -[19109] Forked 18654 -(18654) found -[19108] Forked 18655 -(18655) found -[19107] Forked 18656 -(18656) found -[19106] Forked 18657 -[19105] Forked 18658 -(18657) found -(18658) found -[19104] Forked 18659 -[19103] Forked 18660 -(18659) found -(18660) found -[19102] Forked 18661 -[19101] Forked 18662 -(18661) found -(18662) found -[19100] Forked 18663 -[19099] Forked 18664 -(18663) found -(18664) found -[19098] Forked 18665 -[19097] Forked 18666 -(18665) found -(18666) found -[19096] Forked 18667 -[19095] Forked 18668 -(18667) found -(18668) found -[19094] Forked 18669 -[19093] Forked 18670 -(18669) found -(18670) found -[19092] Forked 18671 -[19091] Forked 18672 -(18671) found -(18672) found -[19090] Forked 18673 -[19089] Forked 18674 -(18673) found -(18674) found -[19088] Forked 18675 -[19087] Forked 18676 -(18675) found -(18676) found -[19086] Forked 18677 -[19085] Forked 18678 -(18677) found -(18678) found -[19084] Forked 18679 -[19083] Forked 18680 -(18679) found -(18680) found -[19082] Forked 18681 -[19081] Forked 18682 -(18681) found -(18682) found -[19080] Forked 18683 -[19079] Forked 18684 -(18683) found -(18684) found -[19078] Forked 18685 -[19077] Forked 18686 -(18685) found -(18686) found -[19076] Forked 18687 -[19075] Forked 18688 -(18687) found -(18688) found -[19074] Forked 18689 -[19073] Forked 18690 -(18689) found -(18690) found -[19072] Forked 18691 -[19071] Forked 18692 -(18691) found -(18692) found -[19070] Forked 18693 -[19069] Forked 18694 -(18693) found -(18694) found -[19068] Forked 18695 -[19067] Forked 18696 -(18695) found -(18696) found -[19066] Forked 18697 -[19065] Forked 18698 -(18697) found -(18698) found -[19064] Forked 18699 -[19063] Forked 18700 -(18699) found -(18700) found -[19062] Forked 18701 -[19061] Forked 18702 -(18701) found -(18702) found -[19060] Forked 18703 -[19059] Forked 18704 -(18703) found -(18704) found -[19058] Forked 18705 -[19057] Forked 18706 -(18705) found -(18706) found -[19056] Forked 18707 -[19055] Forked 18708 -(18707) found -(18708) found -[19054] Forked 18709 -[19053] Forked 18710 -(18709) found -(18710) found -[19052] Forked 18711 -[19051] Forked 18712 -(18711) found -(18712) found -[19050] Forked 18713 -[19049] Forked 18714 -(18713) found -(18714) found -[19048] Forked 18715 -[19047] Forked 18716 -(18715) found -(18716) found -[19046] Forked 18717 -[19045] Forked 18718 -(18717) found -(18718) found -[19044] Forked 18719 -[19043] Forked 18720 -(18719) found -(18720) found -[19042] Forked 18721 -[19041] Forked 18722 -(18721) found -(18722) found -[19040] Forked 18723 -[19039] Forked 18724 -(18723) found -(18724) found -[19038] Forked 18725 -[19037] Forked 18726 -(18725) found -(18726) found -[19036] Forked 18727 -[19035] Forked 18728 -(18727) found -(18728) found -[19034] Forked 18729 -[19033] Forked 18730 -(18729) found -(18730) found -[19032] Forked 18731 -[19031] Forked 18732 -(18731) found -(18732) found -[19030] Forked 18733 -[19029] Forked 18734 -(18733) found -(18734) found -[19028] Forked 18735 -[19027] Forked 18736 -(18735) found -(18736) found -[19026] Forked 18737 -(18737) found -[19025] Forked 18738 -[19024] Forked 18739 -(18738) found -(18739) found -[19023] Forked 18740 -[19022] Forked 18741 -(18740) found -(18741) found -[19021] Forked 18742 -[19020] Forked 18743 -(18742) found -(18743) found -[19019] Forked 18744 -[19018] Forked 18745 -(18744) found -(18745) found -[19017] Forked 18746 -[19016] Forked 18747 -(18746) found -(18747) found -[19015] Forked 18748 -[19014] Forked 18749 -(18748) found -(18749) found -[19013] Forked 18750 -[19012] Forked 18751 -(18750) found -(18751) found -[19011] Forked 18752 -[19010] Forked 18753 -(18752) found -(18753) found -[19009] Forked 18754 -[19008] Forked 18755 -(18754) found -(18755) found -[19007] Forked 18756 -[19006] Forked 18757 -(18756) found -(18757) found -[19005] Forked 18758 -[19004] Forked 18759 -(18758) found -(18759) found -[19003] Forked 18760 -[19002] Forked 18761 -(18760) found -(18761) found -[19001] Forked 18762 -[19000] Forked 18763 -(18762) found -(18763) found -[18999] Forked 18764 -[18998] Forked 18765 -(18764) found -(18765) found -[18997] Forked 18766 -[18996] Forked 18767 -(18766) found -(18767) found -[18995] Forked 18768 -[18994] Forked 18769 -(18768) found -(18769) found -[18993] Forked 18770 -[18992] Forked 18771 -(18770) found -(18771) found -[18991] Forked 18772 -[18990] Forked 18773 -(18772) found -(18773) found -[18989] Forked 18774 -[18988] Forked 18775 -(18774) found -(18775) found -[18987] Forked 18776 -[18986] Forked 18777 -(18776) found -(18777) found -[18985] Forked 18778 -[18984] Forked 18779 -(18778) found -(18779) found -[18983] Forked 18780 -[18982] Forked 18781 -(18780) found -(18781) found -[18981] Forked 18782 -[18980] Forked 18783 -(18782) found -(18783) found -[18979] Forked 18784 -[18978] Forked 18785 -(18784) found -(18785) found -[18977] Forked 18786 -[18976] Forked 18787 -(18786) found -(18787) found -[18975] Forked 18788 -[18974] Forked 18789 -(18788) found -(18789) found -[18973] Forked 18790 -[18972] Forked 18791 -(18790) found -(18791) found -[18971] Forked 18792 -(18792) found -[18970] Forked 18793 -(18793) found -[18969] Forked 18794 -(18794) found -[18968] Forked 18795 -(18795) found -[18967] Forked 18796 -(18796) found -[18966] Forked 18797 -(18797) found -[18965] Forked 18798 -(18798) found -[18964] Forked 18799 -(18799) found -[18963] Forked 18800 -(18800) found -[18962] Forked 18801 -(18801) found -[18961] Forked 18802 -(18802) found -[18960] Forked 18803 -(18803) found -[18959] Forked 18804 -(18804) found -[18958] Forked 18805 -(18805) found -[18957] Forked 18806 -(18806) found -[18956] Forked 18807 -(18807) found -[18955] Forked 18808 -(18808) found -[18954] Forked 18809 -(18809) found -[18953] Forked 18810 -(18810) found -[18952] Forked 18811 -(18811) found -[18951] Forked 18812 -(18812) found -[18950] Forked 18813 -(18813) found -[18949] Forked 18814 -(18814) found -[18948] Forked 18815 -(18815) found -[18947] Forked 18816 -(18816) found -[18946] Forked 18817 -(18817) found -[18945] Forked 18818 -(18818) found -[18944] Forked 18819 -(18819) found -[18943] Forked 18820 -(18820) found -[18942] Forked 18821 -(18821) found -[18941] Forked 18822 -(18822) found -[18940] Forked 18823 -(18823) found -[18939] Forked 18824 -(18824) found -[18938] Forked 18825 -(18825) found -[18937] Forked 18826 -(18826) found -[18936] Forked 18827 -(18827) found -[18935] Forked 18828 -(18828) found -[18934] Forked 18829 -[18933] Forked 18830 -(18829) found -(18830) found -[18932] Forked 18831 -[18931] Forked 18832 -(18831) found -(18832) found -[18930] Forked 18833 -[18929] Forked 18834 -(18833) found -(18834) found -[18928] Forked 18835 -[18927] Forked 18836 -(18835) found -(18836) found -[18926] Forked 18837 -[18925] Forked 18838 -(18837) found -(18838) found -[18924] Forked 18839 -[18923] Forked 18840 -(18839) found -(18840) found -[18922] Forked 18841 -[18921] Forked 18842 -(18841) found -(18842) found -[18920] Forked 18843 -[18919] Forked 18844 -(18843) found -(18844) found -[18918] Forked 18845 -[18917] Forked 18846 -(18845) found -(18846) found -[18916] Forked 18847 -[18915] Forked 18848 -(18847) found -(18848) found -[18914] Forked 18849 -[18913] Forked 18850 -(18849) found -(18850) found -[18912] Forked 18851 -[18911] Forked 18852 -(18851) found -(18852) found -[18910] Forked 18853 -[18909] Forked 18854 -(18853) found -(18854) found -[18908] Forked 18855 -[18907] Forked 18856 -(18855) found -(18856) found -[18906] Forked 18857 -[18905] Forked 18858 -(18857) found -(18858) found -[18904] Forked 18859 -[18903] Forked 18860 -(18859) found -(18860) found -[18902] Forked 18861 -[18901] Forked 18862 -(18861) found -(18862) found -[18900] Forked 18863 -[18899] Forked 18864 -(18863) found -(18864) found -[18898] Forked 18865 -[18897] Forked 18866 -(18865) found -(18866) found -[18896] Forked 18867 -(18867) found -[18895] Forked 18868 -[18894] Forked 18869 -(18868) found -(18869) found -[18893] Forked 18870 -[18892] Forked 18871 -(18870) found -(18871) found -[18891] Forked 18872 -(18872) found -[18890] Forked 18873 -(18873) found -[18889] Forked 18874 -(18874) found -[18888] Forked 18875 -(18875) found -[18887] Forked 18876 -(18876) found -[18886] Forked 18877 -(18877) found -[18885] Forked 18878 -(18878) found -[18884] Forked 18879 -(18879) found -[18883] Forked 18880 -(18880) found -[18882] Forked 18881 -(18881) found -[18881] Forked 18882 -(18882) found -[18880] Forked 18883 -(18883) found -[18879] Forked 18884 -(18884) found -[18878] Forked 18885 -(18885) found -[18877] Forked 18886 -(18886) found -[18876] Forked 18887 -(18887) found -[18875] Forked 18888 -(18888) found -[18874] Forked 18889 -(18889) found -[18873] Forked 18890 -(18890) found -[18872] Forked 18891 -(18891) found -[18871] Forked 18892 -(18892) found -[18870] Forked 18895 -(18895) found -[18869] Forked 18896 -(18896) found -[18868] Forked 18897 -(18897) found -[18867] Forked 18898 -(18898) found -[18866] Forked 18899 -(18899) found -[18865] Forked 18900 -(18900) found -[18864] Forked 18901 -(18901) found -[18863] Forked 18902 -(18902) found -[18862] Forked 18903 -(18903) found -[18861] Forked 18904 -(18904) found -[18860] Forked 18905 -(18905) found -[18859] Forked 18906 -(18906) found -[18858] Forked 18907 -(18907) found -[18857] Forked 18908 -(18908) found -[18856] Forked 18909 -(18909) found -[18855] Forked 18910 -(18910) found -[18854] Forked 18911 -(18911) found -[18853] Forked 18912 -(18912) found -[18852] Forked 18913 -[18851] Forked 18914 -(18913) found -(18914) found -[18850] Forked 18915 -[18849] Forked 18916 -(18915) found -(18916) found -[18848] Forked 18917 -[18847] Forked 18918 -(18917) found -(18918) found -[18846] Forked 18919 -[18845] Forked 18920 -(18920) found -(18919) found -[18844] Forked 18921 -(18921) found -[18843] Forked 18922 -(18922) found -[18842] Forked 18923 -(18923) found -[18841] Forked 18925 -(18925) found -[18840] Forked 18926 -(18926) found -[18839] Forked 18927 -(18927) found -[18838] Forked 18928 -(18928) found -[18837] Forked 18929 -(18929) found -[18836] Forked 18930 -(18930) found -[18835] Forked 18931 -(18931) found -[18834] Forked 18932 -(18932) found -[18833] Forked 18933 -(18933) found -[18832] Forked 18934 -(18934) found -[18831] Forked 18935 -(18935) found -[18830] Forked 18936 -(18936) found -[18829] Forked 18937 -(18937) found -[18828] Forked 18938 -(18938) found -[18827] Forked 18939 -(18939) found -[18826] Forked 18940 -(18940) found -[18825] Forked 18941 -(18941) found -[18824] Forked 18942 -(18942) found -[18823] Forked 18943 -(18943) found -[18822] Forked 18944 -(18944) found -[18821] Forked 18945 -(18945) found -[18820] Forked 18946 -[18819] Forked 18947 -(18946) found -(18947) found -[18818] Forked 18948 -[18817] Forked 18949 -(18948) found -(18949) found -[18816] Forked 18950 -[18815] Forked 18951 -(18950) found -(18951) found -[18814] Forked 18952 -[18813] Forked 18953 -(18952) found -(18953) found -[18812] Forked 18954 -[18811] Forked 18955 -(18954) found -(18955) found -[18810] Forked 18956 -[18809] Forked 18957 -(18956) found -(18957) found -[18808] Forked 18958 -[18807] Forked 18959 -(18958) found -(18959) found -[18806] Forked 18960 -[18805] Forked 18961 -(18960) found -(18961) found -[18804] Forked 18962 -[18803] Forked 18963 -(18962) found -(18963) found -[18802] Forked 18964 -[18801] Forked 18965 -(18964) found -(18965) found -[18800] Forked 18966 -[18799] Forked 18967 -(18966) found -(18967) found -[18798] Forked 18968 -(18968) found -[18797] Forked 18969 -(18969) found -[18796] Forked 18970 -[18795] Forked 18971 -(18970) found -(18971) found -[18794] Forked 18972 -[18793] Forked 18973 -(18972) found -(18973) found -[18792] Forked 18974 -[18791] Forked 18975 -(18974) found -(18975) found -[18790] Forked 18976 -[18789] Forked 18977 -(18976) found -(18977) found -[18788] Forked 18978 -[18787] Forked 18979 -(18978) found -(18979) found -[18786] Forked 18980 -[18785] Forked 18981 -(18980) found -(18981) found -[18784] Forked 18982 -[18783] Forked 18983 -(18982) found -(18983) found -[18782] Forked 18984 -[18781] Forked 18985 -(18984) found -(18985) found -[18780] Forked 18986 -[18779] Forked 18987 -(18986) found -(18987) found -[18778] Forked 18988 -[18777] Forked 18990 -(18988) found -(18990) found -[18776] Forked 18991 -(18991) found -[18775] Forked 18992 -(18992) found -[18774] Forked 18993 -(18993) found -[18773] Forked 18994 -(18994) found -[18772] Forked 18995 -(18995) found -[18771] Forked 18996 -(18996) found -[18770] Forked 18997 -(18997) found -[18769] Forked 18998 -(18998) found -[18768] Forked 18999 -(18999) found -[18767] Forked 19000 -(19000) found -[18766] Forked 19001 -(19001) found -[18765] Forked 19002 -(19002) found -[18764] Forked 19003 -(19003) found -[18763] Forked 19004 -(19004) found -[18762] Forked 19005 -(19005) found -[18761] Forked 19006 -(19006) found -[18760] Forked 19007 -(19007) found -[18759] Forked 19008 -(19008) found -[18758] Forked 19009 -(19009) found -[18757] Forked 19010 -(19010) found -[18756] Forked 19011 -(19011) found -[18755] Forked 19012 -(19012) found -[18754] Forked 19013 -(19013) found -[18753] Forked 19014 -(19014) found -[18752] Forked 19015 -(19015) found -[18751] Forked 19017 -(19017) found -[18750] Forked 19018 -(19018) found -[18749] Forked 19019 -(19019) found -[18748] Forked 19020 -(19020) found -[18747] Forked 19021 -(19021) found -[18746] Forked 19022 -(19022) found -[18745] Forked 19023 -(19023) found -[18744] Forked 19024 -(19024) found -[18743] Forked 19025 -(19025) found -[18742] Forked 19026 -(19026) found -[18741] Forked 19027 -(19027) found -[18740] Forked 19028 -(19028) found -[18739] Forked 19029 -(19029) found -[18738] Forked 19030 -(19030) found -[18737] Forked 19031 -[18736] Forked 19032 -(19031) found -(19032) found -[18735] Forked 19033 -[18734] Forked 19034 -(19033) found -(19034) found -[18733] Forked 19035 -[18732] Forked 19036 -(19035) found -(19036) found -[18731] Forked 19037 -[18730] Forked 19038 -(19037) found -(19038) found -[18729] Forked 19039 -[18728] Forked 19040 -(19039) found -(19040) found -[18727] Forked 19041 -[18726] Forked 19042 -(19041) found -(19042) found -[18725] Forked 19043 -[18724] Forked 19044 -(19043) found -(19044) found -[18723] Forked 19045 -[18722] Forked 19046 -(19045) found -(19046) found -[18721] Forked 19047 -[18720] Forked 19048 -(19047) found -(19048) found -[18719] Forked 19049 -[18718] Forked 19050 -(19049) found -(19050) found -[18717] Forked 19051 -[18716] Forked 19052 -(19051) found -(19052) found -[18715] Forked 19053 -[18714] Forked 19054 -(19053) found -(19054) found -[18713] Forked 19055 -[18712] Forked 19056 -(19055) found -(19056) found -[18711] Forked 19057 -[18710] Forked 19058 -(19057) found -(19058) found -[18709] Forked 19059 -[18708] Forked 19060 -(19059) found -(19060) found -[18707] Forked 19061 -[18706] Forked 19062 -(19061) found -(19062) found -[18705] Forked 19063 -[18704] Forked 19064 -(19063) found -(19064) found -[18703] Forked 19065 -[18702] Forked 19066 -(19065) found -(19066) found -[18701] Forked 19067 -[18700] Forked 19068 -(19067) found -(19068) found -[18699] Forked 19069 -[18698] Forked 19070 -(19069) found -(19070) found -[18697] Forked 19071 -[18696] Forked 19072 -(19071) found -(19072) found -[18695] Forked 19073 -[18694] Forked 19074 -(19073) found -(19074) found -[18693] Forked 19075 -[18692] Forked 19076 -(19075) found -(19076) found -[18691] Forked 19077 -[18690] Forked 19078 -(19077) found -(19078) found -[18689] Forked 19079 -(19079) found -[18688] Forked 19080 -[18687] Forked 19081 -(19080) found -(19081) found -[18686] Forked 19082 -[18685] Forked 19083 -(19082) found -(19083) found -[18684] Forked 19084 -[18683] Forked 19085 -(19084) found -(19085) found -[18682] Forked 19086 -[18681] Forked 19087 -(19086) found -(19087) found -[18680] Forked 19088 -[18679] Forked 19089 -(19088) found -(19089) found -[18678] Forked 19090 -[18677] Forked 19091 -(19090) found -(19091) found -[18676] Forked 19092 -[18675] Forked 19093 -(19092) found -(19093) found -[18674] Forked 19094 -[18673] Forked 19095 -(19094) found -(19095) found -[18672] Forked 19096 -[18671] Forked 19097 -(19096) found -(19097) found -[18670] Forked 19098 -[18669] Forked 19099 -(19098) found -(19099) found -[18668] Forked 19100 -[18667] Forked 19101 -(19100) found -(19101) found -[18666] Forked 19102 -[18665] Forked 19104 -(19102) found -(19104) found -[18664] Forked 19105 -[18663] Forked 19106 -(19105) found -(19106) found -[18662] Forked 19107 -[18661] Forked 19108 -(19107) found -(19108) found -[18660] Forked 19109 -[18659] Forked 19110 -(19109) found -(19110) found -[18658] Forked 19111 -[18657] Forked 19112 -(19111) found -(19112) found -[18656] Forked 19113 -[18655] Forked 19114 -(19113) found -(19114) found -[18654] Forked 19115 -[18653] Forked 19116 -(19115) found -(19116) found -[18652] Forked 19117 -[18651] Forked 19118 -(19117) found -(19118) found -[18650] Forked 19119 -[18649] Forked 19120 -(19119) found -(19120) found -[18648] Forked 19121 -[18647] Forked 19122 -(19121) found -(19122) found -[18646] Forked 19123 -[18645] Forked 19124 -(19123) found -(19124) found -[18644] Forked 19125 -[18643] Forked 19126 -(19125) found -(19126) found -[18642] Forked 19127 -[18641] Forked 19128 -(19127) found -(19128) found -[18640] Forked 19129 -[18639] Forked 19130 -(19129) found -(19130) found -[18638] Forked 19131 -[18637] Forked 19132 -(19131) found -(19132) found -[18636] Forked 19133 -[18635] Forked 19134 -(19133) found -(19134) found -[18634] Forked 19135 -[18633] Forked 19136 -(19135) found -(19136) found -[18632] Forked 19137 -[18631] Forked 19138 -(19137) found -(19138) found -[18630] Forked 19139 -[18629] Forked 19140 -(19139) found -(19140) found -[18628] Forked 19141 -[18627] Forked 19142 -(19141) found -(19142) found -[18626] Forked 19143 -[18625] Forked 19144 -(19143) found -(19144) found -[18624] Forked 19145 -[18623] Forked 19146 -(19145) found -(19146) found -[18622] Forked 19147 -[18621] Forked 19148 -(19147) found -(19148) found -[18620] Forked 19149 -[18619] Forked 19150 -(19149) found -(19150) found -[18618] Forked 19151 -[18617] Forked 19152 -(19151) found -(19152) found -[18616] Forked 19153 -[18615] Forked 19154 -(19153) found -(19154) found -[18614] Forked 19155 -[18613] Forked 19156 -(19155) found -(19156) found -[18612] Forked 19157 -[18611] Forked 19158 -(19157) found -(19158) found -[18610] Forked 19159 -[18609] Forked 19160 -(19159) found -(19160) found -[18608] Forked 19161 -[18607] Forked 19162 -(19161) found -(19162) found -[18606] Forked 19163 -[18605] Forked 19164 -(19163) found -(19164) found -[18604] Forked 19165 -[18603] Forked 19166 -(19165) found -(19166) found -[18602] Forked 19167 -[18601] Forked 19168 -(19167) found -(19168) found -[18600] Forked 19169 -[18599] Forked 19170 -(19169) found -(19170) found -[18598] Forked 19171 -(19171) found -[18597] Forked 19172 -(19172) found -[18596] Forked 19173 -(19173) found -[18595] Forked 19174 -(19174) found -[18594] Forked 19175 -(19175) found -[18593] Forked 19176 -(19176) found -[18592] Forked 19177 -(19177) found -[18591] Forked 19178 -(19178) found -[18590] Forked 19179 -(19179) found -[18589] Forked 19180 -(19180) found -[18588] Forked 19181 -(19181) found -[18587] Forked 19182 -(19182) found -[18586] Forked 19183 -(19183) found -[18585] Forked 19184 -(19184) found -[18584] Forked 19185 -(19185) found -[18583] Forked 19186 -(19186) found -[18582] Forked 19187 -(19187) found -[18581] Forked 19188 -(19188) found -[18580] Forked 19189 -(19189) found -[18579] Forked 19191 -(19191) found -[18578] Forked 19192 -(19192) found -[18577] Forked 19193 -(19193) found -[18576] Forked 19194 -(19194) found -[18575] Forked 19195 -(19195) found -[18574] Forked 19196 -(19196) found -[18573] Forked 19197 -(19197) found -[18572] Forked 19198 -(19198) found -[18571] Forked 19199 -(19199) found -[18570] Forked 19200 -(19200) found -[18569] Forked 19201 -(19201) found -[18568] Forked 19202 -(19202) found -[18567] Forked 19203 -(19203) found -[18566] Forked 19204 -(19204) found -[18565] Forked 19205 -(19205) found -[18564] Forked 19206 -(19206) found -[18563] Forked 19207 -[18562] Forked 19208 -(19207) found -(19208) found -[18561] Forked 19209 -[18560] Forked 19210 -(19209) found -(19210) found -[18559] Forked 19211 -[18558] Forked 19212 -(19211) found -(19212) found -[18557] Forked 19213 -[18556] Forked 19214 -(19213) found -(19214) found -[18555] Forked 19215 -[18554] Forked 19216 -(19215) found -(19216) found -[18553] Forked 19217 -[18552] Forked 19218 -(19217) found -(19218) found -[18551] Forked 19219 -[18550] Forked 19220 -(19219) found -(19220) found -[18549] Forked 19221 -[18548] Forked 19222 -(19221) found -(19222) found -[18547] Forked 19223 -[18546] Forked 19224 -(19223) found -(19224) found -[18545] Forked 19225 -[18544] Forked 19226 -(19225) found -(19226) found -[18543] Forked 19227 -[18542] Forked 19228 -(19227) found -(19228) found -[18541] Forked 19229 -[18540] Forked 19230 -(19229) found -(19230) found -[18539] Forked 19231 -[18538] Forked 19232 -(19231) found -(19232) found -[18537] Forked 19233 -[18536] Forked 19234 -(19233) found -(19234) found -[18535] Forked 19235 -[18534] Forked 19236 -(19235) found -(19236) found -[18533] Forked 19237 -[18532] Forked 19238 -(19237) found -(19238) found -[18531] Forked 19239 -[18530] Forked 19240 -(19239) found -(19240) found -[18529] Forked 19241 -[18528] Forked 19242 -(19241) found -(19242) found -[18527] Forked 19243 -[18526] Forked 19244 -(19243) found -(19244) found -[18525] Forked 19245 -[18524] Forked 19246 -(19245) found -(19246) found -[18523] Forked 19247 -[18522] Forked 19248 -(19247) found -(19248) found -[18521] Forked 19249 -[18520] Forked 19250 -(19249) found -(19250) found -[18519] Forked 19251 -[18518] Forked 19252 -(19251) found -(19252) found -[18517] Forked 19253 -(19253) found -[18516] Forked 19254 -[18515] Forked 19255 -(19254) found -(19255) found -[18514] Forked 19256 -[18513] Forked 19257 -(19256) found -(19257) found -[18512] Forked 19258 -[18511] Forked 19259 -(19258) found -(19259) found -[18510] Forked 19260 -[18509] Forked 19261 -(19260) found -(19261) found -[18508] Forked 19262 -[18507] Forked 19263 -(19262) found -(19263) found -[18506] Forked 19264 -[18505] Forked 19265 -(19264) found -(19265) found -[18504] Forked 19266 -[18503] Forked 19267 -(19266) found -(19267) found -[18502] Forked 19268 -[18501] Forked 19269 -(19268) found -(19269) found -[18500] Forked 19270 -[18499] Forked 19271 -(19270) found -(19271) found -[18498] Forked 19272 -[18497] Forked 19273 -(19272) found -(19273) found -[18496] Forked 19274 -[18495] Forked 19275 -(19274) found -(19275) found -[18494] Forked 19276 -[18493] Forked 19277 -(19276) found -(19277) found -[18492] Forked 19278 -[18491] Forked 19279 -(19278) found -(19279) found -[18490] Forked 19280 -[18489] Forked 19281 -(19280) found -(19281) found -[18488] Forked 19282 -[18487] Forked 19283 -(19282) found -(19283) found -[18486] Forked 19284 -[18485] Forked 19285 -(19284) found -(19285) found -[18484] Forked 19286 -[18483] Forked 19287 -(19286) found -(19287) found -[18482] Forked 19288 -[18481] Forked 19289 -(19288) found -(19289) found -[18480] Forked 19290 -[18479] Forked 19291 -(19290) found -(19291) found -[18478] Forked 19292 -[18477] Forked 19293 -(19292) found -(19293) found -[18476] Forked 19294 -[18475] Forked 19295 -(19294) found -(19295) found -[18474] Forked 19296 -[18473] Forked 19297 -(19296) found -(19297) found -[18472] Forked 19298 -(19298) found -[18471] Forked 19299 -(19299) found -[18470] Forked 19300 -(19300) found -[18469] Forked 19301 -(19301) found -[18468] Forked 19302 -(19302) found -[18467] Forked 19303 -(19303) found -[18466] Forked 19304 -(19304) found -[18465] Forked 19305 -(19305) found -[18464] Forked 19306 -(19306) found -[18463] Forked 19307 -(19307) found -[18462] Forked 19308 -(19308) found -[18461] Forked 19309 -(19309) found -[18460] Forked 19310 -(19310) found -[18459] Forked 19311 -(19311) found -[18458] Forked 19312 -(19312) found -[18457] Forked 19313 -(19313) found -[18456] Forked 19314 -(19314) found -[18455] Forked 19315 -(19315) found -[18454] Forked 19316 -(19316) found -[18453] Forked 19317 -(19317) found -[18452] Forked 19318 -(19318) found -[18451] Forked 19319 -(19319) found -[18450] Forked 19320 -(19320) found -[18449] Forked 19321 -(19321) found -[18448] Forked 19322 -(19322) found -[18447] Forked 19323 -(19323) found -[18446] Forked 19324 -(19324) found -[18445] Forked 19325 -(19325) found -[18444] Forked 19326 -(19326) found -[18443] Forked 19327 -(19327) found -[18442] Forked 19328 -(19328) found -[18441] Forked 19329 -(19329) found -[18440] Forked 19330 -(19330) found -[18439] Forked 19331 -(19331) found -[18438] Forked 19332 -(19332) found -[18437] Forked 19333 -(19333) found -[18436] Forked 19334 -(19334) found -[18435] Forked 19335 -(19335) found -[18434] Forked 19336 -(19336) found -[18433] Forked 19337 -(19337) found -[18432] Forked 19338 -[18431] Forked 19339 -(19338) found -(19339) found -[18430] Forked 19340 -[18429] Forked 19341 -(19340) found -(19341) found -[18428] Forked 19342 -[18427] Forked 19343 -(19342) found -(19343) found -[18426] Forked 19344 -[18425] Forked 19345 -(19344) found -(19345) found -[18424] Forked 19346 -(19346) found -[18423] Forked 19347 -(19347) found -[18422] Forked 19348 -[18421] Forked 19349 -(19348) found -(19349) found -[18420] Forked 19350 -[18419] Forked 19351 -(19350) found -(19351) found -[18418] Forked 19352 -[18417] Forked 19353 -(19352) found -(19353) found -[18416] Forked 19354 -[18415] Forked 19355 -(19354) found -(19355) found -[18414] Forked 19356 -[18413] Forked 19357 -(19356) found -(19357) found -[18412] Forked 19358 -[18411] Forked 19359 -(19358) found -(19359) found -[18410] Forked 19360 -[18409] Forked 19361 -(19360) found -(19361) found -[18408] Forked 19362 -[18407] Forked 19363 -(19362) found -(19363) found -[18406] Forked 19364 -[18405] Forked 19365 -(19364) found -(19365) found -[18404] Forked 19366 -[18403] Forked 19367 -(19366) found -(19367) found -[18402] Forked 19368 -[18401] Forked 19369 -(19368) found -(19369) found -[18400] Forked 19370 -[18399] Forked 19371 -(19370) found -(19371) found -[18398] Forked 19372 -[18397] Forked 19373 -(19372) found -(19373) found -[18396] Forked 19374 -[18395] Forked 19375 -(19374) found -(19375) found -[18394] Forked 19376 -[18393] Forked 19378 -(19376) found -(19378) found -[18392] Forked 19379 -(19379) found -[18391] Forked 19380 -(19380) found -[18390] Forked 19381 -(19381) found -[18389] Forked 19382 -(19382) found -[18388] Forked 19383 -(19383) found -[18387] Forked 19384 -(19384) found -[18386] Forked 19385 -(19385) found -[18385] Forked 19386 -(19386) found -[18384] Forked 19387 -(19387) found -[18383] Forked 19388 -(19388) found -[18382] Forked 19389 -(19389) found -[18381] Forked 19390 -(19390) found -[18380] Forked 19391 -(19391) found -[18379] Forked 19392 -(19392) found -[18378] Forked 19393 -(19393) found -[18377] Forked 19394 -(19394) found -[18376] Forked 19395 -(19395) found -[18375] Forked 19396 -(19396) found -[18374] Forked 19397 -(19397) found -[18373] Forked 19398 -(19398) found -[18372] Forked 19399 -(19399) found -[18371] Forked 19400 -(19400) found -[18370] Forked 19401 -(19401) found -[18369] Forked 19402 -(19402) found -[18368] Forked 19403 -(19403) found -[18367] Forked 19404 -(19404) found -[18366] Forked 19405 -(19405) found -[18365] Forked 19406 -(19406) found -[18364] Forked 19407 -(19407) found -[18363] Forked 19408 -(19408) found -[18362] Forked 19409 -(19409) found -[18361] Forked 19410 -(19410) found -[18360] Forked 19411 -(19411) found -[18359] Forked 19412 -(19412) found -[18358] Forked 19413 -(19413) found -[18357] Forked 19414 -(19414) found -[18356] Forked 19415 -(19415) found -[18355] Forked 19416 -(19416) found -[18354] Forked 19417 -(19417) found -[18353] Forked 19418 -(19418) found -[18352] Forked 19419 -(19419) found -[18351] Forked 19420 -(19420) found -[18350] Forked 19421 -(19421) found -[18349] Forked 19422 -(19422) found -[18348] Forked 19423 -(19423) found -[18347] Forked 19424 -(19424) found -[18346] Forked 19425 -(19425) found -[18345] Forked 19426 -(19426) found -[18344] Forked 19427 -(19427) found -[18343] Forked 19428 -(19428) found -[18342] Forked 19429 -(19429) found -[18341] Forked 19430 -(19430) found -[18340] Forked 19431 -(19431) found -[18339] Forked 19432 -(19432) found -[18338] Forked 19433 -(19433) found -[18337] Forked 19434 -(19434) found -[18336] Forked 19435 -(19435) found -[18335] Forked 19436 -(19436) found -[18334] Forked 19437 -(19437) found -[18333] Forked 19438 -(19438) found -[18332] Forked 19439 -(19439) found -[18331] Forked 19440 -(19440) found -[18330] Forked 19441 -(19441) found -[18329] Forked 19442 -(19442) found -[18328] Forked 19443 -(19443) found -[18327] Forked 19444 -(19444) found -[18326] Forked 19445 -(19445) found -[18325] Forked 19446 -(19446) found -[18324] Forked 19447 -(19447) found -[18323] Forked 19448 -(19448) found -[18322] Forked 19449 -(19449) found -[18321] Forked 19450 -(19450) found -[18320] Forked 19451 -(19451) found -[18319] Forked 19452 -(19452) found -[18318] Forked 19453 -(19453) found -[18317] Forked 19454 -[18316] Forked 19455 -(19454) found -(19455) found -[18315] Forked 19456 -[18314] Forked 19457 -(19456) found -(19457) found -[18313] Forked 19458 -[18312] Forked 19459 -(19458) found -(19459) found -[18311] Forked 19460 -[18310] Forked 19461 -(19460) found -(19461) found -[18309] Forked 19462 -[18308] Forked 19463 -(19462) found -(19463) found -[18307] Forked 19464 -[18306] Forked 19465 -(19464) found -(19465) found -[18305] Forked 19466 -[18304] Forked 19467 -(19466) found -(19467) found -[18303] Forked 19468 -[18302] Forked 19469 -(19468) found -(19469) found -[18301] Forked 19470 -[18300] Forked 19471 -(19470) found -(19471) found -[18299] Forked 19472 -[18298] Forked 19473 -(19472) found -(19473) found -[18297] Forked 19474 -[18296] Forked 19475 -(19474) found -(19475) found -[18295] Forked 19476 -[18294] Forked 19477 -(19476) found -(19477) found -[18293] Forked 19478 -[18292] Forked 19479 -(19478) found -(19479) found -[18291] Forked 19480 -[18290] Forked 19481 -(19480) found -(19481) found -[18289] Forked 19482 -[18288] Forked 19483 -(19482) found -(19483) found -[18287] Forked 19484 -[18286] Forked 19485 -(19484) found -(19485) found -[18285] Forked 19486 -[18284] Forked 19487 -(19486) found -(19487) found -[18283] Forked 19488 -[18282] Forked 19489 -(19488) found -(19489) found -[18281] Forked 19490 -[18280] Forked 19491 -(19490) found -(19491) found -[18279] Forked 19492 -[18278] Forked 19493 -(19492) found -(19493) found -[18277] Forked 19494 -[18276] Forked 19495 -(19494) found -(19495) found -[18275] Forked 19496 -[18274] Forked 19497 -(19496) found -(19497) found -[18273] Forked 19498 -[18272] Forked 19499 -(19498) found -(19499) found -[18271] Forked 19500 -(19500) found -[18270] Forked 19501 -(19501) found -[18269] Forked 19502 -(19502) found -[18268] Forked 19503 -(19503) found -[18267] Forked 19504 -(19504) found -[18266] Forked 19505 -(19505) found -[18265] Forked 19506 -(19506) found -[18264] Forked 19507 -(19507) found -[18263] Forked 19508 -(19508) found -[18262] Forked 19509 -(19509) found -[18261] Forked 19510 -(19510) found -[18260] Forked 19511 -(19511) found -[18259] Forked 19512 -(19512) found -[18258] Forked 19513 -(19513) found -[18257] Forked 19514 -(19514) found -[18256] Forked 19515 -(19515) found -[18255] Forked 19516 -(19516) found -[18254] Forked 19517 -(19517) found -[18253] Forked 19518 -(19518) found -[18252] Forked 19519 -(19519) found -[18251] Forked 19520 -(19520) found -[18250] Forked 19521 -(19521) found -[18249] Forked 19522 -(19522) found -[18248] Forked 19523 -(19523) found -[18247] Forked 19524 -(19524) found -[18246] Forked 19525 -(19525) found -[18245] Forked 19526 -(19526) found -[18244] Forked 19527 -(19527) found -[18243] Forked 19528 -(19528) found -[18242] Forked 19529 -(19529) found -[18241] Forked 19530 -(19530) found -[18240] Forked 19531 -(19531) found -[18239] Forked 19532 -(19532) found -[18238] Forked 19533 -(19533) found -[18237] Forked 19534 -(19534) found -[18236] Forked 19535 -[18235] Forked 19536 -(19535) found -(19536) found -[18234] Forked 19537 -[18233] Forked 19538 -(19537) found -(19538) found -[18232] Forked 19539 -[18231] Forked 19540 -(19539) found -(19540) found -[18230] Forked 19541 -[18229] Forked 19542 -(19541) found -(19542) found -[18228] Forked 19543 -[18227] Forked 19544 -(19543) found -(19544) found -[18226] Forked 19545 -[18225] Forked 19546 -(19545) found -(19546) found -[18224] Forked 19547 -[18223] Forked 19548 -(19547) found -(19548) found -[18222] Forked 19549 -[18221] Forked 19550 -(19549) found -(19550) found -[18220] Forked 19551 -[18219] Forked 19552 -(19551) found -(19552) found -[18218] Forked 19553 -[18217] Forked 19554 -(19553) found -(19554) found -[18216] Forked 19555 -[18215] Forked 19556 -(19555) found -(19556) found -[18214] Forked 19557 -[18213] Forked 19558 -(19557) found -(19558) found -[18212] Forked 19559 -[18211] Forked 19560 -(19559) found -(19560) found -[18210] Forked 19561 -[18209] Forked 19562 -(19561) found -(19562) found -[18208] Forked 19563 -[18207] Forked 19564 -(19563) found -(19564) found -[18206] Forked 19565 -[18205] Forked 19566 -(19565) found -(19566) found -[18204] Forked 19567 -[18203] Forked 19568 -(19567) found -(19568) found -[18202] Forked 19569 -[18201] Forked 19570 -(19569) found -(19570) found -[18200] Forked 19571 -[18199] Forked 19572 -(19571) found -(19572) found -[18198] Forked 19573 -[18197] Forked 19574 -(19573) found -(19574) found -[18196] Forked 19575 -[18195] Forked 19576 -(19575) found -(19576) found -[18194] Forked 19577 -[18193] Forked 19578 -(19577) found -(19578) found -[18192] Forked 19579 -[18191] Forked 19580 -(19579) found -(19580) found -[18190] Forked 19581 -[18189] Forked 19582 -(19581) found -(19582) found -[18188] Forked 19583 -[18187] Forked 19584 -(19583) found -(19584) found -[18186] Forked 19585 -[18185] Forked 19586 -(19585) found -(19586) found -[18184] Forked 19587 -[18183] Forked 19588 -(19587) found -(19588) found -[18182] Forked 19589 -[18181] Forked 19590 -(19589) found -(19590) found -[18180] Forked 19591 -[18179] Forked 19592 -(19591) found -(19592) found -[18178] Forked 19593 -[18177] Forked 19594 -(19593) found -(19594) found -[18176] Forked 19595 -[18175] Forked 19596 -(19595) found -(19596) found -[18174] Forked 19597 -[18173] Forked 19598 -(19597) found -(19598) found -[18172] Forked 19599 -[18171] Forked 19600 -(19599) found -(19600) found -[18170] Forked 19601 -[18169] Forked 19602 -(19601) found -(19602) found -[18168] Forked 19603 -[18167] Forked 19604 -(19603) found -(19604) found -[18166] Forked 19605 -[18165] Forked 19606 -(19605) found -(19606) found -[18164] Forked 19607 -[18163] Forked 19608 -(19607) found -(19608) found -[18162] Forked 19609 -[18161] Forked 19610 -(19609) found -(19610) found -[18160] Forked 19611 -[18159] Forked 19612 -(19611) found -(19612) found -[18158] Forked 19613 -[18157] Forked 19614 -(19613) found -(19614) found -[18156] Forked 19615 -[18155] Forked 19616 -(19615) found -(19616) found -[18154] Forked 19617 -[18153] Forked 19618 -(19617) found -(19618) found -[18152] Forked 19619 -[18151] Forked 19620 -(19619) found -(19620) found -[18150] Forked 19621 -[18149] Forked 19622 -(19621) found -(19622) found -[18148] Forked 19623 -[18147] Forked 19624 -(19623) found -(19624) found -[18146] Forked 19625 -[18145] Forked 19626 -(19625) found -(19626) found -[18144] Forked 19627 -(19627) found -[18143] Forked 19628 -(19628) found -[18142] Forked 19629 -(19629) found -[18141] Forked 19630 -(19630) found -[18140] Forked 19631 -(19631) found -[18139] Forked 19632 -(19632) found -[18138] Forked 19633 -(19633) found -[18137] Forked 19634 -(19634) found -[18136] Forked 19635 -(19635) found -[18135] Forked 19636 -(19636) found -[18134] Forked 19637 -(19637) found -[18133] Forked 19638 -(19638) found -[18132] Forked 19639 -(19639) found -[18131] Forked 19640 -(19640) found -[18130] Forked 19641 -(19641) found -[18129] Forked 19642 -(19642) found -[18128] Forked 19643 -(19643) found -[18127] Forked 19644 -(19644) found -[18126] Forked 19645 -(19645) found -[18125] Forked 19646 -(19646) found -[18124] Forked 19647 -(19647) found -[18123] Forked 19648 -(19648) found -[18122] Forked 19649 -(19649) found -[18121] Forked 19650 -(19650) found -[18120] Forked 19651 -(19651) found -[18119] Forked 19652 -(19652) found -[18118] Forked 19653 -(19653) found -[18117] Forked 19654 -(19654) found -[18116] Forked 19655 -(19655) found -[18115] Forked 19656 -(19656) found -[18114] Forked 19657 -(19657) found -[18113] Forked 19658 -(19658) found -[18112] Forked 19659 -(19659) found -[18111] Forked 19660 -(19660) found -[18110] Forked 19661 -(19661) found -[18109] Forked 19662 -(19662) found -[18108] Forked 19663 -(19663) found -[18107] Forked 19664 -(19664) found -[18106] Forked 19665 -[18105] Forked 19666 -(19665) found -(19666) found -[18104] Forked 19667 -[18103] Forked 19668 -(19667) found -(19668) found -[18102] Forked 19669 -[18101] Forked 19670 -(19669) found -(19670) found -[18100] Forked 19671 -[18099] Forked 19672 -(19671) found -(19672) found -[18098] Forked 19673 -[18097] Forked 19674 -(19673) found -(19674) found -[18096] Forked 19675 -[18095] Forked 19676 -(19675) found -(19676) found -[18094] Forked 19677 -[18093] Forked 19678 -(19677) found -(19678) found -[18092] Forked 19679 -[18091] Forked 19680 -(19679) found -(19680) found -[18090] Forked 19681 -[18089] Forked 19682 -(19681) found -(19682) found -[18088] Forked 19683 -[18087] Forked 19684 -(19683) found -(19684) found -[18086] Forked 19685 -[18085] Forked 19686 -(19685) found -(19686) found -[18084] Forked 19687 -[18083] Forked 19688 -(19687) found -(19688) found -[18082] Forked 19689 -[18081] Forked 19690 -(19689) found -(19690) found -[18080] Forked 19691 -[18079] Forked 19692 -(19691) found -(19692) found -[18078] Forked 19693 -[18077] Forked 19694 -(19693) found -(19694) found -[18076] Forked 19695 -[18075] Forked 19696 -(19695) found -(19696) found -[18074] Forked 19697 -[18073] Forked 19698 -(19697) found -(19698) found -[18072] Forked 19699 -[18071] Forked 19700 -(19699) found -(19700) found -[18070] Forked 19701 -[18069] Forked 19702 -(19701) found -(19702) found -[18068] Forked 19703 -[18067] Forked 19704 -(19703) found -(19704) found -[18066] Forked 19705 -[18065] Forked 19706 -(19705) found -(19706) found -[18064] Forked 19707 -[18063] Forked 19708 -(19707) found -(19708) found -[18062] Forked 19709 -(19709) found -[18061] Forked 19710 -(19710) found -[18060] Forked 19711 -(19711) found -[18059] Forked 19712 -(19712) found -[18058] Forked 19713 -(19713) found -[18057] Forked 19714 -(19714) found -[18056] Forked 19715 -(19715) found -[18055] Forked 19716 -(19716) found -[18054] Forked 19717 -(19717) found -[18053] Forked 19718 -(19718) found -[18052] Forked 19719 -(19719) found -[18051] Forked 19720 -(19720) found -[18050] Forked 19721 -(19721) found -[18049] Forked 19722 -(19722) found -[18048] Forked 19723 -(19723) found -[18047] Forked 19724 -(19724) found -[18046] Forked 19725 -(19725) found -[18045] Forked 19726 -(19726) found -[18044] Forked 19727 -(19727) found -[18043] Forked 19728 -(19728) found -[18042] Forked 19729 -(19729) found -[18041] Forked 19730 -(19730) found -[18040] Forked 19731 -(19731) found -[18039] Forked 19732 -(19732) found -[18038] Forked 19733 -(19733) found -[18037] Forked 19734 -(19734) found -[18036] Forked 19735 -(19735) found -[18035] Forked 19736 -(19736) found -[18034] Forked 19737 -(19737) found -[18033] Forked 19738 -(19738) found -[18032] Forked 19739 -(19739) found -[18031] Forked 19740 -(19740) found -[18030] Forked 19741 -(19741) found -[18029] Forked 19742 -(19742) found -[18028] Forked 19743 -(19743) found -[18027] Forked 19744 -(19744) found -[18026] Forked 19745 -(19745) found -[18025] Forked 19746 -(19746) found -[18024] Forked 19747 -(19747) found -[18023] Forked 19748 -(19748) found -[18022] Forked 19749 -[18021] Forked 19750 -(19749) found -(19750) found -[18020] Forked 19751 -[18019] Forked 19752 -(19751) found -(19752) found -[18018] Forked 19753 -[18017] Forked 19754 -(19753) found -(19754) found -[18016] Forked 19755 -[18015] Forked 19756 -(19755) found -(19756) found -[18014] Forked 19757 -[18013] Forked 19758 -(19757) found -(19758) found -[18012] Forked 19759 -[18011] Forked 19760 -(19759) found -(19760) found -[18010] Forked 19761 -[18009] Forked 19762 -(19761) found -(19762) found -[18008] Forked 19763 -[18007] Forked 19764 -(19763) found -(19764) found -[18006] Forked 19765 -[18005] Forked 19766 -(19765) found -(19766) found -[18004] Forked 19767 -[18003] Forked 19768 -(19767) found -(19768) found -[18002] Forked 19769 -[18001] Forked 19770 -(19769) found -(19770) found -[18000] Forked 19771 -[17999] Forked 19772 -(19771) found -(19772) found -[17998] Forked 19773 -[17997] Forked 19774 -(19773) found -(19774) found -[17996] Forked 19775 -[17995] Forked 19776 -(19776) found -(19775) found -[17994] Forked 19777 -(19777) found -[17993] Forked 19778 -(19778) found -[17992] Forked 19779 -(19779) found -[17991] Forked 19780 -(19780) found -[17990] Forked 19781 -(19781) found -[17989] Forked 19782 -(19782) found -[17988] Forked 19783 -(19783) found -[17987] Forked 19784 -(19784) found -[17986] Forked 19785 -(19785) found -[17985] Forked 19786 -(19786) found -[17984] Forked 19787 -(19787) found -[17983] Forked 19788 -(19788) found -[17982] Forked 19789 -(19789) found -[17981] Forked 19790 -(19790) found -[17980] Forked 19791 -(19791) found -[17979] Forked 19792 -(19792) found -[17978] Forked 19793 -(19793) found -[17977] Forked 19794 -(19794) found -[17976] Forked 19795 -(19795) found -[17975] Forked 19796 -(19796) found -[17974] Forked 19797 -(19797) found -[17973] Forked 19798 -(19798) found -[17972] Forked 19799 -(19799) found -[17971] Forked 19800 -(19800) found -[17970] Forked 19801 -(19801) found -[17969] Forked 19802 -(19802) found -[17968] Forked 19803 -(19803) found -[17967] Forked 19804 -(19804) found -[17966] Forked 19805 -(19805) found -[17965] Forked 19806 -(19806) found -[17964] Forked 19807 -(19807) found -[17963] Forked 19808 -(19808) found -[17962] Forked 19809 -(19809) found -[17961] Forked 19810 -(19810) found -[17960] Forked 19811 -(19811) found -[17959] Forked 19812 -(19812) found -[17958] Forked 19813 -(19813) found -[17957] Forked 19814 -(19814) found -[17956] Forked 19815 -(19815) found -[17955] Forked 19816 -(19816) found -[17954] Forked 19817 -(19817) found -[17953] Forked 19818 -(19818) found -[17952] Forked 19819 -(19819) found -[17951] Forked 19820 -(19820) found -[17950] Forked 19821 -(19821) found -[17949] Forked 19822 -(19822) found -[17948] Forked 19823 -(19823) found -[17947] Forked 19824 -(19824) found -[17946] Forked 19825 -(19825) found -[17945] Forked 19826 -[17944] Forked 19827 -(19826) found -(19827) found -[17943] Forked 19828 -[17942] Forked 19829 -(19828) found -(19829) found -[17941] Forked 19830 -[17940] Forked 19831 -(19830) found -(19831) found -[17939] Forked 19832 -[17938] Forked 19833 -(19832) found -(19833) found -[17937] Forked 19834 -[17936] Forked 19835 -(19834) found -(19835) found -[17935] Forked 19836 -[17934] Forked 19837 -(19836) found -(19837) found -[17933] Forked 19838 -[17932] Forked 19839 -(19838) found -(19839) found -[17931] Forked 19840 -[17930] Forked 19841 -(19840) found -(19841) found -[17929] Forked 19842 -[17928] Forked 19843 -(19842) found -(19843) found -[17927] Forked 19844 -[17926] Forked 19845 -(19844) found -(19845) found -[17925] Forked 19846 -[17924] Forked 19847 -(19846) found -(19847) found -[17923] Forked 19848 -[17922] Forked 19849 -(19848) found -(19849) found -[17921] Forked 19850 -[17920] Forked 19851 -(19850) found -(19851) found -[17919] Forked 19852 -[17918] Forked 19853 -(19852) found -(19853) found -[17917] Forked 19854 -[17916] Forked 19855 -(19854) found -(19855) found -[17915] Forked 19856 -[17914] Forked 19857 -(19856) found -(19857) found -[17913] Forked 19858 -[17912] Forked 19859 -(19858) found -(19859) found -[17911] Forked 19860 -[17910] Forked 19861 -(19860) found -(19861) found -[17909] Forked 19862 -[17908] Forked 19863 -(19862) found -(19863) found -[17907] Forked 19864 -[17906] Forked 19865 -(19864) found -(19865) found -[17905] Forked 19866 -[17904] Forked 19867 -(19866) found -(19867) found -[17903] Forked 19868 -[17902] Forked 19869 -(19869) found -(19868) found -[17901] Forked 19870 -(19870) found -[17900] Forked 19871 -(19871) found -[17899] Forked 19872 -(19872) found -[17898] Forked 19873 -(19873) found -[17897] Forked 19874 -(19874) found -[17896] Forked 19875 -(19875) found -[17895] Forked 19876 -(19876) found -[17894] Forked 19877 -(19877) found -[17893] Forked 19878 -(19878) found -[17892] Forked 19879 -(19879) found -[17891] Forked 19880 -(19880) found -[17890] Forked 19881 -(19881) found -[17889] Forked 19882 -(19882) found -[17888] Forked 19883 -(19883) found -[17887] Forked 19884 -(19884) found -[17886] Forked 19885 -(19885) found -[17885] Forked 19886 -(19886) found -[17884] Forked 19887 -(19887) found -[17883] Forked 19888 -(19888) found -[17882] Forked 19889 -(19889) found -[17881] Forked 19890 -(19890) found -[17880] Forked 19891 -(19891) found -[17879] Forked 19892 -(19892) found -[17878] Forked 19893 -(19893) found -[17877] Forked 19894 -(19894) found -[17876] Forked 19895 -(19895) found -[17875] Forked 19896 -(19896) found -[17874] Forked 19897 -(19897) found -[17873] Forked 19898 -(19898) found -[17872] Forked 19899 -(19899) found -[17871] Forked 19900 -(19900) found -[17870] Forked 19901 -(19901) found -[17869] Forked 19902 -(19902) found -[17868] Forked 19903 -(19903) found -[17867] Forked 19904 -(19904) found -[17866] Forked 19905 -(19905) found -[17865] Forked 19906 -[17864] Forked 19907 -(19906) found -(19907) found -[17863] Forked 19908 -[17862] Forked 19909 -(19908) found -(19909) found -[17861] Forked 19910 -[17860] Forked 19911 -(19910) found -(19911) found -[17859] Forked 19912 -[17858] Forked 19913 -(19912) found -(19913) found -[17857] Forked 19914 -[17856] Forked 19915 -(19914) found -(19915) found -[17855] Forked 19916 -[17854] Forked 19917 -(19916) found -(19917) found -[17853] Forked 19918 -[17852] Forked 19919 -(19918) found -(19919) found -[17851] Forked 19920 -[17850] Forked 19921 -(19920) found -(19921) found -[17849] Forked 19922 -[17848] Forked 19923 -(19922) found -(19923) found -[17847] Forked 19924 -[17846] Forked 19925 -(19924) found -(19925) found -[17845] Forked 19926 -[17844] Forked 19927 -(19926) found -(19927) found -[17843] Forked 19928 -[17842] Forked 19929 -(19928) found -(19929) found -[17841] Forked 19930 -[17840] Forked 19931 -(19930) found -(19931) found -[17839] Forked 19932 -[17838] Forked 19933 -(19932) found -(19933) found -[17837] Forked 19934 -[17836] Forked 19935 -(19934) found -(19935) found -[17835] Forked 19936 -[17834] Forked 19937 -(19936) found -(19937) found -[17833] Forked 19938 -[17832] Forked 19939 -(19938) found -(19939) found -[17831] Forked 19940 -[17830] Forked 19941 -(19940) found -(19941) found -[17829] Forked 19942 -[17828] Forked 19943 -(19942) found -(19943) found -[17827] Forked 19944 -[17826] Forked 19945 -(19944) found -(19945) found -[17825] Forked 19946 -[17824] Forked 19947 -(19946) found -(19947) found -[17823] Forked 19948 -[17822] Forked 19949 -(19948) found -(19949) found -[17821] Forked 19950 -(19950) found -[17820] Forked 19951 -(19951) found -[17819] Forked 19952 -(19952) found -[17818] Forked 19953 -(19953) found -[17817] Forked 19954 -(19954) found -[17816] Forked 19955 -(19955) found -[17815] Forked 19956 -(19956) found -[17814] Forked 19957 -(19957) found -[17813] Forked 19958 -(19958) found -[17812] Forked 19959 -(19959) found -[17811] Forked 19960 -(19960) found -[17810] Forked 19961 -(19961) found -[17809] Forked 19962 -(19962) found -[17808] Forked 19963 -(19963) found -[17807] Forked 19964 -(19964) found -[17806] Forked 19965 -(19965) found -[17805] Forked 19966 -(19966) found -[17804] Forked 19967 -(19967) found -[17803] Forked 19968 -(19968) found -[17802] Forked 19969 -(19969) found -[17801] Forked 19970 -(19970) found -[17800] Forked 19971 -(19971) found -[17799] Forked 19972 -(19972) found -[17798] Forked 19973 -(19973) found -[17797] Forked 19974 -(19974) found -[17796] Forked 19975 -(19975) found -[17795] Forked 19976 -(19976) found -[17794] Forked 19977 -(19977) found -[17793] Forked 19978 -(19978) found -[17792] Forked 19979 -(19979) found -[17791] Forked 19980 -(19980) found -[17790] Forked 19981 -(19981) found -[17789] Forked 19982 -(19982) found -[17788] Forked 19983 -(19983) found -[17787] Forked 19984 -(19984) found -[17786] Forked 19985 -(19985) found -[17785] Forked 19986 -(19986) found -[17784] Forked 19987 -(19987) found -[17783] Forked 19988 -(19988) found -[17782] Forked 19989 -[17781] Forked 19990 -(19989) found -(19990) found -[17780] Forked 19991 -[17779] Forked 19992 -(19991) found -(19992) found -[17778] Forked 19993 -[17777] Forked 19994 -(19993) found -(19994) found -[17776] Forked 19995 -[17775] Forked 19996 -(19995) found -(19996) found -[17774] Forked 19997 -[17773] Forked 19998 -(19997) found -(19998) found -[17772] Forked 19999 -[17771] Forked 20000 -(19999) found -(20000) found -[17770] Forked 20001 -[17769] Forked 20002 -(20001) found -(20002) found -[17768] Forked 20003 -[17767] Forked 20004 -(20003) found -(20004) found -[17766] Forked 20005 -[17765] Forked 20006 -(20005) found -(20006) found -[17764] Forked 20007 -[17763] Forked 20008 -(20007) found -(20008) found -[17762] Forked 20009 -[17761] Forked 20010 -(20009) found -(20010) found -[17760] Forked 20011 -[17759] Forked 20012 -(20011) found -(20012) found -[17758] Forked 20013 -[17757] Forked 20014 -(20013) found -(20014) found -[17756] Forked 20015 -[17755] Forked 20016 -(20015) found -(20016) found -[17754] Forked 20017 -[17753] Forked 20018 -(20017) found -(20018) found -[17752] Forked 20019 -[17751] Forked 20020 -(20019) found -(20020) found -[17750] Forked 20021 -[17749] Forked 20022 -(20021) found -(20022) found -[17748] Forked 20023 -[17747] Forked 20024 -(20023) found -(20024) found -[17746] Forked 20025 -[17745] Forked 20026 -(20025) found -(20026) found -[17744] Forked 20027 -[17743] Forked 20029 -(20027) found -(20029) found -[17742] Forked 20030 -(20030) found -[17741] Forked 20031 -(20031) found -[17740] Forked 20032 -(20032) found -[17739] Forked 20033 -(20033) found -[17738] Forked 20034 -(20034) found -[17737] Forked 20035 -(20035) found -[17736] Forked 20036 -(20036) found -[17735] Forked 20037 -(20037) found -[17734] Forked 20038 -(20038) found -[17733] Forked 20039 -(20039) found -[17732] Forked 20040 -(20040) found -[17731] Forked 20041 -(20041) found -[17730] Forked 20042 -(20042) found -[17729] Forked 20043 -(20043) found -[17728] Forked 20044 -(20044) found -[17727] Forked 20045 -(20045) found -[17726] Forked 20046 -(20046) found -[17725] Forked 20047 -(20047) found -[17724] Forked 20048 -(20048) found -[17723] Forked 20049 -(20049) found -[17722] Forked 20050 -(20050) found -[17721] Forked 20051 -(20051) found -[17720] Forked 20052 -(20052) found -[17719] Forked 20053 -(20053) found -[17718] Forked 20054 -(20054) found -[17717] Forked 20055 -(20055) found -[17716] Forked 20056 -(20056) found -[17715] Forked 20057 -(20057) found -[17714] Forked 20058 -(20058) found -[17713] Forked 20059 -(20059) found -[17712] Forked 20060 -(20060) found -[17711] Forked 20061 -(20061) found -[17710] Forked 20062 -(20062) found -[17709] Forked 20063 -(20063) found -[17708] Forked 20064 -(20064) found -[17707] Forked 20065 -(20065) found -[17706] Forked 20066 -(20066) found -[17705] Forked 20067 -(20067) found -[17704] Forked 20068 -(20068) found -[17703] Forked 20069 -(20069) found -[17702] Forked 20070 -(20070) found -[17701] Forked 20071 -(20071) found -[17700] Forked 20072 -(20072) found -[17699] Forked 20073 -(20073) found -[17698] Forked 20074 -(20074) found -[17697] Forked 20075 -(20075) found -[17696] Forked 20076 -(20076) found -[17695] Forked 20077 -(20077) found -[17694] Forked 20078 -(20078) found -[17693] Forked 20079 -(20079) found -[17692] Forked 20080 -(20080) found -[17691] Forked 20081 -(20081) found -[17690] Forked 20082 -(20082) found -[17689] Forked 20083 -(20083) found -[17688] Forked 20084 -(20084) found -[17687] Forked 20085 -(20085) found -[17686] Forked 20086 -(20086) found -[17685] Forked 20087 -(20087) found -[17684] Forked 20088 -(20088) found -[17683] Forked 20089 -(20089) found -[17682] Forked 20090 -(20090) found -[17681] Forked 20091 -(20091) found -[17680] Forked 20092 -(20092) found -[17679] Forked 20093 -(20093) found -[17678] Forked 20094 -(20094) found -[17677] Forked 20095 -(20095) found -[17676] Forked 20096 -(20096) found -[17675] Forked 20097 -(20097) found -[17674] Forked 20098 -(20098) found -[17673] Forked 20099 -(20099) found -[17672] Forked 20100 -(20100) found -[17671] Forked 20101 -(20101) found -[17670] Forked 20102 -(20102) found -[17669] Forked 20103 -[17668] Forked 20104 -(20103) found -(20104) found -[17667] Forked 20105 -[17666] Forked 20106 -(20105) found -(20106) found -[17665] Forked 20107 -[17664] Forked 20108 -(20107) found -(20108) found -[17663] Forked 20109 -[17662] Forked 20110 -(20109) found -(20110) found -[17661] Forked 20111 -[17660] Forked 20112 -(20111) found -(20112) found -[17659] Forked 20113 -[17658] Forked 20114 -(20113) found -(20114) found -[17657] Forked 20115 -[17656] Forked 20116 -(20115) found -(20116) found -[17655] Forked 20117 -[17654] Forked 20118 -(20117) found -(20118) found -[17653] Forked 20119 -[17652] Forked 20120 -(20119) found -(20120) found -[17651] Forked 20121 -[17650] Forked 20122 -(20121) found -(20122) found -[17649] Forked 20123 -[17648] Forked 20124 -(20123) found -(20124) found -[17647] Forked 20125 -[17646] Forked 20126 -(20125) found -(20126) found -[17645] Forked 20127 -[17644] Forked 20128 -(20127) found -(20128) found -[17643] Forked 20129 -[17642] Forked 20130 -(20129) found -(20130) found -[17641] Forked 20131 -[17640] Forked 20132 -(20131) found -(20132) found -[17639] Forked 20133 -[17638] Forked 20134 -(20133) found -(20134) found -[17637] Forked 20135 -[17636] Forked 20136 -(20135) found -(20136) found -[17635] Forked 20137 -[17634] Forked 20138 -(20137) found -(20138) found -[17633] Forked 20139 -[17632] Forked 20140 -(20139) found -(20140) found -[17631] Forked 20141 -[17630] Forked 20142 -(20141) found -(20142) found -[17629] Forked 20143 -[17628] Forked 20144 -(20143) found -(20144) found -[17627] Forked 20145 -[17626] Forked 20146 -(20145) found -(20146) found -[17625] Forked 20147 -[17624] Forked 20148 -(20147) found -(20148) found -[17623] Forked 20149 -[17622] Forked 20150 -(20150) found -(20149) found -[17621] Forked 20151 -(20151) found -[17620] Forked 20152 -(20152) found -[17619] Forked 20153 -(20153) found -[17618] Forked 20154 -(20154) found -[17617] Forked 20155 -(20155) found -[17616] Forked 20156 -(20156) found -[17615] Forked 20157 -(20157) found -[17614] Forked 20158 -(20158) found -[17613] Forked 20159 -(20159) found -[17612] Forked 20160 -(20160) found -[17611] Forked 20161 -(20161) found -[17610] Forked 20162 -(20162) found -[17609] Forked 20163 -(20163) found -[17608] Forked 20164 -(20164) found -[17607] Forked 20165 -(20165) found -[17606] Forked 20166 -(20166) found -[17605] Forked 20167 -(20167) found -[17604] Forked 20168 -(20168) found -[17603] Forked 20169 -(20169) found -[17602] Forked 20170 -(20170) found -[17601] Forked 20171 -(20171) found -[17600] Forked 20172 -(20172) found -[17599] Forked 20173 -(20173) found -[17598] Forked 20174 -(20174) found -[17597] Forked 20175 -(20175) found -[17596] Forked 20176 -(20176) found -[17595] Forked 20177 -(20177) found -[17594] Forked 20178 -(20178) found -[17593] Forked 20179 -(20179) found -[17592] Forked 20180 -(20180) found -[17591] Forked 20181 -(20181) found -[17590] Forked 20182 -(20182) found -[17589] Forked 20183 -(20183) found -[17588] Forked 20184 -(20184) found -[17587] Forked 20185 -(20185) found -[17586] Forked 20186 -(20186) found -[17585] Forked 20187 -(20187) found -[17584] Forked 20188 -(20188) found -[17583] Forked 20189 -(20189) found -[17582] Forked 20190 -(20190) found -[17581] Forked 20191 -(20191) found -[17580] Forked 20192 -(20192) found -[17579] Forked 20193 -(20193) found -[17578] Forked 20194 -(20194) found -[17577] Forked 20195 -(20195) found -[17576] Forked 20196 -(20196) found -[17575] Forked 20197 -(20197) found -[17574] Forked 20198 -(20198) found -[17573] Forked 20199 -(20199) found -[17572] Forked 20200 -(20200) found -[17571] Forked 20201 -[17570] Forked 20202 -(20201) found -(20202) found -[17569] Forked 20203 -[17568] Forked 20204 -(20203) found -(20204) found -[17567] Forked 20205 -[17566] Forked 20206 -(20205) found -(20206) found -[17565] Forked 20207 -(20207) found -[17564] Forked 20208 -(20208) found -[17563] Forked 20209 -(20209) found -[17562] Forked 20210 -(20210) found -[17561] Forked 20211 -(20211) found -[17560] Forked 20212 -(20212) found -[17559] Forked 20213 -(20213) found -[17558] Forked 20214 -(20214) found -[17557] Forked 20215 -(20215) found -[17556] Forked 20216 -(20216) found -[17555] Forked 20217 -(20217) found -[17554] Forked 20218 -(20218) found -[17553] Forked 20219 -(20219) found -[17552] Forked 20220 -(20220) found -[17551] Forked 20221 -(20221) found -[17550] Forked 20222 -(20222) found -[17549] Forked 20223 -(20223) found -[17548] Forked 20224 -(20224) found -[17547] Forked 20225 -(20225) found -[17546] Forked 20226 -(20226) found -[17545] Forked 20227 -(20227) found -[17544] Forked 20228 -(20228) found -[17543] Forked 20229 -(20229) found -[17542] Forked 20230 -(20230) found -[17541] Forked 20231 -(20231) found -[17540] Forked 20232 -(20232) found -[17539] Forked 20233 -(20233) found -[17538] Forked 20234 -(20234) found -[17537] Forked 20235 -(20235) found -[17536] Forked 20236 -(20236) found -[17535] Forked 20237 -(20237) found -[17534] Forked 20238 -(20238) found -[17533] Forked 20239 -(20239) found -[17532] Forked 20240 -(20240) found -[17531] Forked 20241 -(20241) found -[17530] Forked 20242 -[17529] Forked 20243 -(20242) found -(20243) found -[17528] Forked 20244 -[17527] Forked 20245 -(20244) found -(20245) found -[17526] Forked 20246 -[17525] Forked 20247 -(20246) found -(20247) found -[17524] Forked 20248 -[17523] Forked 20249 -(20248) found -(20249) found -[17522] Forked 20250 -[17521] Forked 20251 -(20250) found -(20251) found -[17520] Forked 20252 -[17519] Forked 20253 -(20252) found -(20253) found -[17518] Forked 20254 -[17517] Forked 20255 -(20254) found -(20255) found -[17516] Forked 20256 -[17515] Forked 20257 -(20256) found -(20257) found -[17514] Forked 20258 -[17513] Forked 20259 -(20258) found -(20259) found -[17512] Forked 20260 -[17511] Forked 20261 -(20260) found -(20261) found -[17510] Forked 20262 -[17509] Forked 20263 -(20262) found -(20263) found -[17508] Forked 20264 -[17507] Forked 20265 -(20264) found -(20265) found -[17506] Forked 20266 -[17505] Forked 20267 -(20266) found -(20267) found -[17504] Forked 20268 -[17503] Forked 20269 -(20268) found -(20269) found -[17502] Forked 20270 -[17501] Forked 20271 -(20270) found -(20271) found -[17500] Forked 20272 -[17499] Forked 20273 -(20272) found -(20273) found -[17498] Forked 20274 -[17497] Forked 20275 -(20274) found -(20275) found -[17496] Forked 20276 -[17495] Forked 20277 -(20276) found -(20277) found -[17494] Forked 20278 -[17493] Forked 20279 -(20278) found -(20279) found -[17492] Forked 20280 -[17491] Forked 20281 -(20280) found -(20281) found -[17490] Forked 20282 -[17489] Forked 20283 -(20282) found -(20283) found -[17488] Forked 20284 -[17487] Forked 20285 -(20284) found -(20285) found -[17486] Forked 20286 -[17485] Forked 20287 -(20286) found -(20287) found -[17484] Forked 20288 -[17483] Forked 20289 -(20288) found -(20289) found -[17482] Forked 20290 -[17481] Forked 20291 -(20290) found -(20291) found -[17480] Forked 20292 -[17479] Forked 20293 -(20292) found -(20293) found -[17478] Forked 20294 -[17477] Forked 20295 -(20294) found -(20295) found -[17476] Forked 20296 -[17475] Forked 20297 -(20296) found -(20297) found -[17474] Forked 20298 -[17473] Forked 20299 -(20298) found -(20299) found -[17472] Forked 20300 -[17471] Forked 20301 -(20300) found -(20301) found -[17470] Forked 20302 -[17469] Forked 20303 -(20302) found -(20303) found -[17468] Forked 20304 -[17467] Forked 20305 -(20304) found -(20305) found -[17466] Forked 20306 -[17465] Forked 20307 -(20306) found -(20307) found -[17464] Forked 20308 -[17463] Forked 20309 -(20308) found -(20309) found -[17462] Forked 20310 -[17461] Forked 20311 -(20310) found -(20311) found -[17460] Forked 20312 -[17459] Forked 20313 -(20312) found -(20313) found -[17458] Forked 20314 -[17457] Forked 20315 -(20314) found -(20315) found -[17456] Forked 20316 -[17455] Forked 20317 -(20316) found -(20317) found -[17454] Forked 20318 -[17453] Forked 20319 -(20318) found -(20319) found -[17452] Forked 20320 -[17451] Forked 20321 -(20320) found -(20321) found -[17450] Forked 20322 -[17449] Forked 20323 -(20322) found -(20323) found -[17448] Forked 20324 -[17447] Forked 20325 -(20324) found -(20325) found -[17446] Forked 20326 -[17445] Forked 20327 -(20326) found -(20327) found -[17444] Forked 20328 -[17443] Forked 20329 -(20328) found -(20329) found -[17442] Forked 20330 -[17441] Forked 20331 -(20330) found -(20331) found -[17440] Forked 20332 -[17439] Forked 20333 -(20332) found -(20333) found -[17438] Forked 20334 -(20334) found -[17437] Forked 20335 -(20335) found -[17436] Forked 20336 -(20336) found -[17435] Forked 20337 -(20337) found -[17434] Forked 20338 -(20338) found -[17433] Forked 20339 -(20339) found -[17432] Forked 20340 -(20340) found -[17431] Forked 20341 -(20341) found -[17430] Forked 20342 -(20342) found -[17429] Forked 20343 -(20343) found -[17428] Forked 20344 -(20344) found -[17427] Forked 20345 -(20345) found -[17426] Forked 20346 -(20346) found -[17425] Forked 20347 -(20347) found -[17424] Forked 20348 -(20348) found -[17423] Forked 20349 -(20349) found -[17422] Forked 20350 -(20350) found -[17421] Forked 20351 -(20351) found -[17420] Forked 20352 -(20352) found -[17419] Forked 20353 -(20353) found -[17418] Forked 20354 -(20354) found -[17417] Forked 20355 -(20355) found -[17416] Forked 20356 -(20356) found -[17415] Forked 20357 -(20357) found -[17414] Forked 20358 -(20358) found -[17413] Forked 20359 -(20359) found -[17412] Forked 20360 -(20360) found -[17411] Forked 20361 -(20361) found -[17410] Forked 20362 -(20362) found -[17409] Forked 20363 -(20363) found -[17408] Forked 20364 -(20364) found -[17407] Forked 20365 -(20365) found -[17406] Forked 20366 -(20366) found -[17405] Forked 20367 -(20367) found -[17404] Forked 20368 -(20368) found -[17403] Forked 20369 -(20369) found -[17402] Forked 20370 -(20370) found -[17401] Forked 20371 -(20371) found -[17400] Forked 20372 -(20372) found -[17399] Forked 20373 -[17398] Forked 20374 -(20373) found -(20374) found -[17397] Forked 20375 -[17396] Forked 20376 -(20375) found -(20376) found -[17395] Forked 20377 -[17394] Forked 20378 -(20377) found -(20378) found -[17393] Forked 20379 -[17392] Forked 20380 -(20379) found -(20380) found -[17391] Forked 20381 -[17390] Forked 20382 -(20381) found -(20382) found -[17389] Forked 20383 -[17388] Forked 20384 -(20383) found -(20384) found -[17387] Forked 20385 -[17386] Forked 20386 -(20385) found -(20386) found -[17385] Forked 20387 -[17384] Forked 20388 -(20387) found -(20388) found -[17383] Forked 20389 -[17382] Forked 20390 -(20389) found -(20390) found -[17381] Forked 20391 -[17380] Forked 20392 -(20391) found -(20392) found -[17379] Forked 20393 -[17378] Forked 20394 -(20393) found -(20394) found -[17377] Forked 20395 -[17376] Forked 20396 -(20395) found -(20396) found -[17375] Forked 20397 -[17374] Forked 20398 -(20397) found -(20398) found -[17373] Forked 20399 -[17372] Forked 20400 -(20399) found -(20400) found -[17371] Forked 20401 -[17370] Forked 20402 -(20401) found -(20402) found -[17369] Forked 20403 -[17368] Forked 20404 -(20403) found -(20404) found -[17367] Forked 20405 -[17366] Forked 20406 -(20405) found -(20406) found -[17365] Forked 20407 -[17364] Forked 20408 -(20407) found -(20408) found -[17363] Forked 20409 -[17362] Forked 20410 -(20409) found -(20410) found -[17361] Forked 20411 -[17360] Forked 20412 -(20411) found -(20412) found -[17359] Forked 20413 -[17358] Forked 20414 -(20413) found -(20414) found -[17357] Forked 20415 -[17356] Forked 20416 -(20415) found -(20416) found -[17355] Forked 20417 -(20417) found -[17354] Forked 20418 -(20418) found -[17353] Forked 20419 -(20419) found -[17352] Forked 20420 -(20420) found -[17351] Forked 20421 -(20421) found -[17350] Forked 20422 -(20422) found -[17349] Forked 20423 -(20423) found -[17348] Forked 20424 -(20424) found -[17347] Forked 20425 -(20425) found -[17346] Forked 20426 -(20426) found -[17345] Forked 20427 -(20427) found -[17344] Forked 20428 -(20428) found -[17343] Forked 20429 -(20429) found -[17342] Forked 20430 -(20430) found -[17341] Forked 20431 -(20431) found -[17340] Forked 20432 -(20432) found -[17339] Forked 20433 -(20433) found -[17338] Forked 20434 -(20434) found -[17337] Forked 20435 -(20435) found -[17336] Forked 20436 -(20436) found -[17335] Forked 20437 -(20437) found -[17334] Forked 20438 -(20438) found -[17333] Forked 20439 -(20439) found -[17332] Forked 20440 -(20440) found -[17331] Forked 20441 -(20441) found -[17330] Forked 20442 -(20442) found -[17329] Forked 20443 -(20443) found -[17328] Forked 20444 -(20444) found -[17327] Forked 20445 -(20445) found -[17326] Forked 20446 -(20446) found -[17325] Forked 20447 -(20447) found -[17324] Forked 20448 -(20448) found -[17323] Forked 20449 -(20449) found -[17322] Forked 20450 -(20450) found -[17321] Forked 20451 -(20451) found -[17320] Forked 20452 -(20452) found -[17319] Forked 20453 -(20453) found -[17318] Forked 20454 -(20454) found -[17317] Forked 20455 -(20455) found -[17316] Forked 20456 -[17315] Forked 20457 -(20456) found -(20457) found -[17314] Forked 20458 -[17313] Forked 20459 -(20458) found -(20459) found -[17312] Forked 20460 -[17311] Forked 20461 -(20460) found -(20461) found -[17310] Forked 20462 -[17309] Forked 20463 -(20462) found -(20463) found -[17308] Forked 20464 -[17307] Forked 20465 -(20464) found -(20465) found -[17306] Forked 20466 -[17305] Forked 20467 -(20466) found -(20467) found -[17304] Forked 20468 -[17303] Forked 20469 -(20468) found -(20469) found -[17302] Forked 20470 -[17301] Forked 20471 -(20470) found -(20471) found -[17300] Forked 20472 -[17299] Forked 20473 -(20472) found -(20473) found -[17298] Forked 20474 -[17297] Forked 20475 -(20474) found -(20475) found -[17296] Forked 20476 -[17295] Forked 20477 -(20476) found -(20477) found -[17294] Forked 20478 -[17293] Forked 20479 -(20478) found -(20479) found -[17292] Forked 20480 -[17291] Forked 20481 -(20480) found -(20481) found -[17290] Forked 20482 -[17289] Forked 20483 -(20482) found -(20483) found -[17288] Forked 20484 -[17287] Forked 20485 -(20484) found -(20485) found -[17286] Forked 20486 -[17285] Forked 20487 -(20486) found -(20487) found -[17284] Forked 20488 -[17283] Forked 20489 -(20488) found -(20489) found -[17282] Forked 20490 -[17281] Forked 20491 -(20490) found -(20491) found -[17280] Forked 20492 -[17279] Forked 20493 -(20492) found -(20493) found -[17278] Forked 20494 -(20494) found -[17277] Forked 20495 -[17276] Forked 20496 -(20495) found -(20496) found -[17275] Forked 20497 -[17274] Forked 20498 -(20497) found -(20498) found -[17273] Forked 20499 -(20499) found -[17272] Forked 20500 -(20500) found -[17271] Forked 20501 -(20501) found -[17270] Forked 20502 -(20502) found -[17269] Forked 20503 -(20503) found -[17268] Forked 20504 -(20504) found -[17267] Forked 20505 -(20505) found -[17266] Forked 20506 -(20506) found -[17265] Forked 20507 -(20507) found -[17264] Forked 20508 -(20508) found -[17263] Forked 20509 -(20509) found -[17262] Forked 20510 -(20510) found -[17261] Forked 20511 -(20511) found -[17260] Forked 20512 -(20512) found -[17259] Forked 20513 -(20513) found -[17258] Forked 20514 -(20514) found -[17257] Forked 20515 -(20515) found -[17256] Forked 20516 -(20516) found -[17255] Forked 20517 -(20517) found -[17254] Forked 20518 -(20518) found -[17253] Forked 20519 -(20519) found -[17252] Forked 20520 -(20520) found -[17251] Forked 20521 -(20521) found -[17250] Forked 20522 -(20522) found -[17249] Forked 20523 -(20523) found -[17248] Forked 20524 -(20524) found -[17247] Forked 20525 -(20525) found -[17246] Forked 20526 -(20526) found -[17245] Forked 20527 -(20527) found -[17244] Forked 20528 -(20528) found -[17243] Forked 20529 -(20529) found -[17242] Forked 20530 -(20530) found -[17241] Forked 20531 -(20531) found -[17240] Forked 20532 -(20532) found -[17239] Forked 20533 -(20533) found -[17238] Forked 20534 -(20534) found -[17237] Forked 20535 -(20535) found -[17236] Forked 20536 -(20536) found -[17235] Forked 20537 -(20537) found -[17234] Forked 20538 -[17233] Forked 20539 -(20538) found -(20539) found -[17232] Forked 20540 -[17231] Forked 20541 -(20540) found -(20541) found -[17230] Forked 20542 -[17229] Forked 20543 -(20542) found -(20543) found -[17228] Forked 20544 -[17227] Forked 20545 -(20544) found -(20545) found -[17226] Forked 20546 -[17225] Forked 20547 -(20546) found -(20547) found -[17224] Forked 20548 -[17223] Forked 20549 -(20548) found -(20549) found -[17222] Forked 20550 -[17221] Forked 20551 -(20550) found -(20551) found -[17220] Forked 20552 -[17219] Forked 20553 -(20552) found -(20553) found -[17218] Forked 20554 -[17217] Forked 20555 -(20554) found -(20555) found -[17216] Forked 20556 -[17215] Forked 20557 -(20556) found -(20557) found -[17214] Forked 20558 -[17213] Forked 20559 -(20558) found -(20559) found -[17212] Forked 20560 -[17211] Forked 20561 -(20560) found -(20561) found -[17210] Forked 20562 -[17209] Forked 20563 -(20562) found -(20563) found -[17208] Forked 20564 -[17207] Forked 20565 -(20564) found -(20565) found -[17206] Forked 20566 -[17205] Forked 20567 -(20566) found -(20567) found -[17204] Forked 20568 -[17203] Forked 20569 -(20568) found -(20569) found -[17202] Forked 20570 -[17201] Forked 20571 -(20570) found -(20571) found -[17200] Forked 20572 -[17199] Forked 20573 -(20572) found -(20573) found -[17198] Forked 20574 -[17197] Forked 20575 -(20574) found -(20575) found -[17196] Forked 20576 -[17195] Forked 20577 -(20576) found -(20577) found -[17194] Forked 20578 -[17193] Forked 20579 -(20578) found -(20579) found -[17192] Forked 20580 -[17191] Forked 20581 -(20580) found -(20581) found -[17190] Forked 20582 -[17189] Forked 20583 -(20582) found -(20583) found -[17188] Forked 20584 -[17187] Forked 20585 -(20584) found -(20585) found -[17186] Forked 20586 -[17185] Forked 20587 -(20586) found -(20587) found -[17184] Forked 20588 -[17183] Forked 20589 -(20588) found -(20589) found -[17182] Forked 20590 -[17181] Forked 20591 -(20590) found -(20591) found -[17180] Forked 20592 -[17179] Forked 20593 -(20592) found -(20593) found -[17178] Forked 20594 -[17177] Forked 20595 -(20594) found -(20595) found -[17176] Forked 20596 -[17175] Forked 20597 -(20596) found -(20597) found -[17174] Forked 20598 -[17173] Forked 20599 -(20598) found -(20599) found -[17172] Forked 20600 -[17171] Forked 20601 -(20600) found -(20601) found -[17170] Forked 20602 -[17169] Forked 20603 -(20602) found -(20603) found -[17168] Forked 20604 -[17167] Forked 20605 -(20604) found -(20605) found -[17166] Forked 20606 -[17165] Forked 20607 -(20606) found -(20607) found -[17164] Forked 20608 -[17163] Forked 20609 -(20608) found -(20609) found -[17162] Forked 20610 -[17161] Forked 20611 -(20610) found -(20611) found -[17160] Forked 20612 -[17159] Forked 20613 -(20612) found -(20613) found -[17158] Forked 20614 -[17157] Forked 20615 -(20614) found -(20615) found -[17156] Forked 20616 -[17155] Forked 20617 -(20616) found -(20617) found -[17154] Forked 20618 -[17153] Forked 20619 -(20618) found -(20619) found -[17152] Forked 20620 -[17151] Forked 20621 -(20620) found -(20621) found -[17150] Forked 20622 -[17149] Forked 20623 -(20622) found -(20623) found -[17148] Forked 20624 -[17147] Forked 20625 -(20624) found -(20625) found -[17146] Forked 20626 -[17145] Forked 20627 -(20626) found -(20627) found -[17144] Forked 20628 -[17143] Forked 20629 -(20628) found -(20629) found -[17142] Forked 20630 -(20630) found -[17141] Forked 20631 -(20631) found -[17140] Forked 20632 -(20632) found -[17139] Forked 20633 -(20633) found -[17138] Forked 20634 -(20634) found -[17137] Forked 20635 -(20635) found -[17136] Forked 20636 -(20636) found -[17135] Forked 20637 -(20637) found -[17134] Forked 20638 -(20638) found -[17133] Forked 20639 -(20639) found -[17132] Forked 20640 -(20640) found -[17131] Forked 20641 -(20641) found -[17130] Forked 20642 -(20642) found -[17129] Forked 20643 -(20643) found -[17128] Forked 20644 -(20644) found -[17127] Forked 20645 -(20645) found -[17126] Forked 20646 -(20646) found -[17125] Forked 20647 -(20647) found -[17124] Forked 20648 -(20648) found -[17123] Forked 20649 -(20649) found -[17122] Forked 20650 -(20650) found -[17121] Forked 20651 -(20651) found -[17120] Forked 20652 -(20652) found -[17119] Forked 20653 -(20653) found -[17118] Forked 20654 -(20654) found -[17117] Forked 20655 -(20655) found -[17116] Forked 20656 -(20656) found -[17115] Forked 20657 -(20657) found -[17114] Forked 20658 -(20658) found -[17113] Forked 20659 -(20659) found -[17112] Forked 20660 -(20660) found -[17111] Forked 20661 -(20661) found -[17110] Forked 20662 -(20662) found -[17109] Forked 20663 -(20663) found -[17108] Forked 20664 -[17107] Forked 20665 -(20664) found -(20665) found -[17106] Forked 20666 -[17105] Forked 20667 -(20666) found -(20667) found -[17104] Forked 20668 -[17103] Forked 20669 -(20668) found -(20669) found -[17102] Forked 20670 -[17101] Forked 20671 -(20670) found -(20671) found -[17100] Forked 20672 -[17099] Forked 20673 -(20672) found -(20673) found -[17098] Forked 20674 -[17097] Forked 20675 -(20674) found -(20675) found -[17096] Forked 20676 -[17095] Forked 20677 -(20676) found -(20677) found -[17094] Forked 20678 -[17093] Forked 20679 -(20678) found -(20679) found -[17092] Forked 20680 -[17091] Forked 20681 -(20680) found -(20681) found -[17090] Forked 20682 -[17089] Forked 20683 -(20682) found -(20683) found -[17088] Forked 20684 -[17087] Forked 20685 -(20684) found -(20685) found -[17086] Forked 20686 -[17085] Forked 20687 -(20686) found -(20687) found -[17084] Forked 20688 -[17083] Forked 20689 -(20688) found -(20689) found -[17082] Forked 20690 -[17081] Forked 20691 -(20690) found -(20691) found -[17080] Forked 20692 -[17079] Forked 20693 -(20692) found -(20693) found -[17078] Forked 20694 -[17077] Forked 20695 -(20694) found -(20695) found -[17076] Forked 20696 -[17075] Forked 20697 -(20696) found -(20697) found -[17074] Forked 20698 -[17073] Forked 20699 -(20698) found -(20699) found -[17072] Forked 20700 -[17071] Forked 20701 -(20700) found -(20701) found -[17070] Forked 20702 -[17069] Forked 20703 -(20702) found -(20703) found -[17068] Forked 20704 -[17067] Forked 20706 -(20704) found -(20706) found -[17066] Forked 20707 -(20707) found -[17065] Forked 20708 -(20708) found -[17064] Forked 20709 -(20709) found -[17063] Forked 20710 -(20710) found -[17062] Forked 20711 -(20711) found -[17061] Forked 20712 -(20712) found -[17060] Forked 20713 -(20713) found -[17059] Forked 20714 -(20714) found -[17058] Forked 20715 -(20715) found -[17057] Forked 20716 -(20716) found -[17056] Forked 20717 -(20717) found -[17055] Forked 20718 -(20718) found -[17054] Forked 20719 -(20719) found -[17053] Forked 20720 -(20720) found -[17052] Forked 20721 -(20721) found -[17051] Forked 20722 -(20722) found -[17050] Forked 20723 -(20723) found -[17049] Forked 20724 -(20724) found -[17048] Forked 20725 -(20725) found -[17047] Forked 20726 -(20726) found -[17046] Forked 20727 -(20727) found -[17045] Forked 20728 -(20728) found -[17044] Forked 20729 -(20729) found -[17043] Forked 20730 -(20730) found -[17042] Forked 20731 -(20731) found -[17041] Forked 20732 -(20732) found -[17040] Forked 20733 -(20733) found -[17039] Forked 20734 -(20734) found -[17038] Forked 20735 -(20735) found -[17037] Forked 20736 -(20736) found -[17036] Forked 20737 -(20737) found -[17035] Forked 20738 -(20738) found -[17034] Forked 20739 -(20739) found -[17033] Forked 20740 -(20740) found -[17032] Forked 20741 -(20741) found -[17031] Forked 20742 -(20742) found -[17030] Forked 20743 -(20743) found -[17029] Forked 20744 -(20744) found -[17028] Forked 20745 -(20745) found -[17027] Forked 20746 -(20746) found -[17026] Forked 20747 -(20747) found -[17025] Forked 20748 -(20748) found -[17024] Forked 20749 -(20749) found -[17023] Forked 20750 -(20750) found -[17022] Forked 20751 -(20751) found -[17021] Forked 20752 -(20752) found -[17020] Forked 20753 -(20753) found -[17019] Forked 20754 -(20754) found -[17018] Forked 20755 -(20755) found -[17017] Forked 20756 -(20756) found -[17016] Forked 20757 -(20757) found -[17015] Forked 20758 -(20758) found -[17014] Forked 20759 -(20759) found -[17013] Forked 20760 -(20760) found -[17012] Forked 20761 -(20761) found -[17011] Forked 20762 -(20762) found -[17010] Forked 20763 -(20763) found -[17009] Forked 20764 -(20764) found -[17008] Forked 20765 -(20765) found -[17007] Forked 20766 -(20766) found -[17006] Forked 20767 -(20767) found -[17005] Forked 20768 -(20768) found -[17004] Forked 20769 -(20769) found -[17003] Forked 20770 -(20770) found -[17002] Forked 20771 -(20771) found -[17001] Forked 20772 -(20772) found -[17000] Forked 20773 -(20773) found -[16999] Forked 20774 -(20774) found -[16998] Forked 20775 -(20775) found -[16997] Forked 20776 -(20776) found -[16996] Forked 20777 -(20777) found -[16995] Forked 20778 -(20778) found -[16994] Forked 20779 -(20779) found -[16993] Forked 20780 -(20780) found -[16992] Forked 20781 -(20781) found -[16991] Forked 20782 -[16990] Forked 20783 -(20782) found -(20783) found -[16989] Forked 20784 -[16988] Forked 20785 -(20784) found -(20785) found -[16987] Forked 20786 -[16986] Forked 20787 -(20786) found -(20787) found -[16985] Forked 20788 -[16984] Forked 20789 -(20788) found -(20789) found -[16983] Forked 20790 -[16982] Forked 20791 -(20790) found -(20791) found -[16981] Forked 20792 -[16980] Forked 20793 -(20792) found -(20793) found -[16979] Forked 20794 -[16978] Forked 20795 -(20794) found -(20795) found -[16977] Forked 20796 -[16976] Forked 20797 -(20796) found -(20797) found -[16975] Forked 20798 -[16974] Forked 20799 -(20798) found -(20799) found -[16973] Forked 20800 -[16972] Forked 20801 -(20800) found -(20801) found -[16971] Forked 20802 -[16970] Forked 20803 -(20802) found -(20803) found -[16969] Forked 20804 -[16968] Forked 20805 -(20804) found -(20805) found -[16967] Forked 20806 -[16966] Forked 20807 -(20806) found -(20807) found -[16965] Forked 20808 -[16964] Forked 20809 -(20808) found -(20809) found -[16963] Forked 20810 -[16962] Forked 20811 -(20810) found -(20811) found -[16961] Forked 20812 -[16960] Forked 20813 -(20812) found -(20813) found -[16959] Forked 20814 -[16958] Forked 20815 -(20814) found -(20815) found -[16957] Forked 20816 -[16956] Forked 20817 -(20816) found -(20817) found -[16955] Forked 20818 -[16954] Forked 20819 -(20818) found -(20819) found -[16953] Forked 20820 -[16952] Forked 20821 -(20820) found -(20821) found -[16951] Forked 20822 -[16950] Forked 20823 -(20822) found -(20823) found -[16949] Forked 20824 -(20824) found -[16948] Forked 20825 -(20825) found -[16947] Forked 20826 -(20826) found -[16946] Forked 20827 -(20827) found -[16945] Forked 20828 -(20828) found -[16944] Forked 20829 -(20829) found -[16943] Forked 20830 -(20830) found -[16942] Forked 20831 -(20831) found -[16941] Forked 20832 -(20832) found -[16940] Forked 20833 -(20833) found -[16939] Forked 20834 -(20834) found -[16938] Forked 20835 -(20835) found -[16937] Forked 20836 -(20836) found -[16936] Forked 20837 -(20837) found -[16935] Forked 20838 -(20838) found -[16934] Forked 20839 -(20839) found -[16933] Forked 20840 -(20840) found -[16932] Forked 20841 -(20841) found -[16931] Forked 20842 -(20842) found -[16930] Forked 20843 -(20843) found -[16929] Forked 20844 -(20844) found -[16928] Forked 20845 -(20845) found -[16927] Forked 20846 -(20846) found -[16926] Forked 20847 -(20847) found -[16925] Forked 20848 -(20848) found -[16924] Forked 20849 -(20849) found -[16923] Forked 20850 -(20850) found -[16922] Forked 20851 -(20851) found -[16921] Forked 20852 -(20852) found -[16920] Forked 20853 -(20853) found -[16919] Forked 20854 -(20854) found -[16918] Forked 20855 -(20855) found -[16917] Forked 20856 -(20856) found -[16916] Forked 20857 -(20857) found -[16915] Forked 20858 -(20858) found -[16914] Forked 20859 -(20859) found -[16913] Forked 20860 -[16912] Forked 20861 -(20860) found -(20861) found -[16911] Forked 20862 -[16910] Forked 20863 -(20862) found -(20863) found -[16909] Forked 20864 -[16908] Forked 20865 -(20865) found -(20864) found -[16907] Forked 20866 -(20866) found -[16906] Forked 20867 -(20867) found -[16905] Forked 20868 -(20868) found -[16904] Forked 20869 -(20869) found -[16903] Forked 20870 -(20870) found -[16902] Forked 20871 -(20871) found -[16901] Forked 20872 -(20872) found -[16900] Forked 20873 -(20873) found -[16899] Forked 20874 -(20874) found -[16898] Forked 20875 -(20875) found -[16897] Forked 20876 -(20876) found -[16896] Forked 20877 -(20877) found -[16895] Forked 20878 -(20878) found -[16894] Forked 20879 -(20879) found -[16893] Forked 20880 -(20880) found -[16892] Forked 20881 -(20881) found -[16891] Forked 20882 -(20882) found -[16890] Forked 20883 -(20883) found -[16889] Forked 20884 -(20884) found -[16888] Forked 20885 -(20885) found -[16887] Forked 20886 -(20886) found -[16886] Forked 20887 -(20887) found -[16885] Forked 20888 -(20888) found -[16884] Forked 20889 -(20889) found -[16883] Forked 20890 -(20890) found -[16882] Forked 20891 -(20891) found -[16881] Forked 20892 -(20892) found -[16880] Forked 20893 -(20893) found -[16879] Forked 20894 -(20894) found -[16878] Forked 20895 -(20895) found -[16877] Forked 20896 -(20896) found -[16876] Forked 20897 -(20897) found -[16875] Forked 20898 -(20898) found -[16874] Forked 20899 -(20899) found -[16873] Forked 20900 -(20900) found -[16872] Forked 20901 -(20901) found -[16871] Forked 20902 -(20902) found -[16870] Forked 20903 -(20903) found -[16869] Forked 20904 -(20904) found -[16868] Forked 20905 -(20905) found -[16867] Forked 20906 -(20906) found -[16866] Forked 20907 -(20907) found -[16865] Forked 20908 -(20908) found -[16864] Forked 20909 -(20909) found -[16863] Forked 20910 -(20910) found -[16862] Forked 20911 -(20911) found -[16861] Forked 20912 -(20912) found -[16860] Forked 20913 -(20913) found -[16859] Forked 20914 -(20914) found -[16858] Forked 20915 -(20915) found -[16857] Forked 20916 -(20916) found -[16856] Forked 20917 -(20917) found -[16855] Forked 20918 -(20918) found -[16854] Forked 20919 -(20919) found -[16853] Forked 20920 -(20920) found -[16852] Forked 20921 -(20921) found -[16851] Forked 20922 -(20922) found -[16850] Forked 20923 -(20923) found -[16849] Forked 20924 -(20924) found -[16848] Forked 20925 -(20925) found -[16847] Forked 20926 -(20926) found -[16846] Forked 20927 -(20927) found -[16845] Forked 20928 -(20928) found -[16844] Forked 20929 -(20929) found -[16843] Forked 20930 -[16842] Forked 20931 -(20930) found -(20931) found -[16841] Forked 20932 -[16840] Forked 20933 -(20932) found -(20933) found -[16839] Forked 20934 -[16838] Forked 20935 -(20934) found -(20935) found -[16837] Forked 20936 -[16836] Forked 20937 -(20936) found -(20937) found -[16835] Forked 20938 -[16834] Forked 20939 -(20938) found -(20939) found -[16833] Forked 20940 -[16832] Forked 20941 -(20940) found -(20941) found -[16831] Forked 20942 -[16830] Forked 20943 -(20942) found -(20943) found -[16829] Forked 20944 -[16828] Forked 20945 -(20944) found -(20945) found -[16827] Forked 20946 -[16826] Forked 20947 -(20946) found -(20947) found -[16825] Forked 20948 -(20948) found -[16824] Forked 20949 -(20949) found -[16823] Forked 20950 -[16822] Forked 20951 -(20950) found -(20951) found -[16821] Forked 20952 -[16820] Forked 20953 -(20952) found -(20953) found -[16819] Forked 20954 -[16818] Forked 20955 -(20954) found -(20955) found -[16817] Forked 20956 -[16816] Forked 20957 -(20956) found -(20957) found -[16815] Forked 20958 -[16814] Forked 20959 -(20958) found -(20959) found -[16813] Forked 20960 -[16812] Forked 20961 -(20960) found -(20961) found -[16811] Forked 20962 -[16810] Forked 20963 -(20962) found -(20963) found -[16809] Forked 20964 -[16808] Forked 20965 -(20964) found -(20965) found -[16807] Forked 20966 -[16806] Forked 20967 -(20966) found -(20967) found -[16805] Forked 20968 -[16804] Forked 20969 -(20968) found -(20969) found -[16803] Forked 20970 -[16802] Forked 20971 -(20970) found -(20971) found -[16801] Forked 20972 -[16800] Forked 20973 -(20972) found -(20973) found -[16799] Forked 20974 -(20974) found -[16798] Forked 20975 -(20975) found -[16797] Forked 20976 -(20976) found -[16796] Forked 20977 -(20977) found -[16795] Forked 20978 -(20978) found -[16794] Forked 20979 -(20979) found -[16793] Forked 20980 -(20980) found -[16792] Forked 20981 -(20981) found -[16791] Forked 20982 -(20982) found -[16790] Forked 20983 -(20983) found -[16789] Forked 20984 -(20984) found -[16788] Forked 20985 -(20985) found -[16787] Forked 20986 -(20986) found -[16786] Forked 20987 -(20987) found -[16785] Forked 20988 -(20988) found -[16784] Forked 20989 -(20989) found -[16783] Forked 20990 -(20990) found -[16782] Forked 20991 -(20991) found -[16781] Forked 20992 -(20992) found -[16780] Forked 20993 -(20993) found -[16779] Forked 20994 -(20994) found -[16778] Forked 20995 -(20995) found -[16777] Forked 20996 -(20996) found -[16776] Forked 20997 -(20997) found -[16775] Forked 20998 -(20998) found -[16774] Forked 20999 -(20999) found -[16773] Forked 21000 -(21000) found -[16772] Forked 21001 -(21001) found -[16771] Forked 21002 -(21002) found -[16770] Forked 21003 -(21003) found -[16769] Forked 21004 -(21004) found -[16768] Forked 21005 -(21005) found -[16767] Forked 21006 -(21006) found -[16766] Forked 21007 -(21007) found -[16765] Forked 21008 -(21008) found -[16764] Forked 21009 -(21009) found -[16763] Forked 21010 -(21010) found -[16762] Forked 21011 -[16761] Forked 21012 -(21011) found -(21012) found -[16760] Forked 21013 -[16759] Forked 21014 -(21013) found -(21014) found -[16758] Forked 21015 -[16757] Forked 21016 -(21015) found -(21016) found -[16756] Forked 21017 -[16755] Forked 21018 -(21017) found -(21018) found -[16754] Forked 21019 -[16753] Forked 21020 -(21019) found -(21020) found -[16752] Forked 21021 -[16751] Forked 21022 -(21021) found -(21022) found -[16750] Forked 21023 -[16749] Forked 21024 -(21023) found -(21024) found -[16748] Forked 21025 -[16747] Forked 21026 -(21025) found -(21026) found -[16746] Forked 21027 -[16745] Forked 21028 -(21027) found -(21028) found -[16744] Forked 21029 -[16743] Forked 21030 -(21029) found -(21030) found -[16742] Forked 21031 -[16741] Forked 21032 -(21031) found -(21032) found -[16740] Forked 21033 -[16739] Forked 21034 -(21033) found -(21034) found -[16738] Forked 21035 -[16737] Forked 21036 -(21035) found -(21036) found -[16736] Forked 21037 -[16735] Forked 21038 -(21037) found -(21038) found -[16734] Forked 21039 -[16733] Forked 21040 -(21039) found -(21040) found -[16732] Forked 21041 -[16731] Forked 21042 -(21041) found -(21042) found -[16730] Forked 21043 -[16729] Forked 21044 -(21043) found -(21044) found -[16728] Forked 21045 -[16727] Forked 21046 -(21045) found -(21046) found -[16726] Forked 21047 -[16725] Forked 21048 -(21047) found -(21048) found -[16724] Forked 21049 -[16723] Forked 21050 -(21049) found -(21050) found -[16722] Forked 21051 -[16721] Forked 21052 -(21051) found -(21052) found -[16720] Forked 21053 -[16719] Forked 21054 -(21053) found -(21054) found -[16718] Forked 21055 -[16717] Forked 21056 -(21055) found -(21056) found -[16716] Forked 21057 -[16715] Forked 21058 -(21057) found -(21058) found -[16714] Forked 21059 -[16713] Forked 21060 -(21059) found -(21060) found -[16712] Forked 21061 -[16711] Forked 21062 -(21061) found -(21062) found -[16710] Forked 21063 -[16709] Forked 21064 -(21063) found -(21064) found -[16708] Forked 21065 -[16707] Forked 21066 -(21065) found -(21066) found -[16706] Forked 21067 -[16705] Forked 21068 -(21067) found -(21068) found -[16704] Forked 21069 -[16703] Forked 21070 -(21069) found -(21070) found -[16702] Forked 21071 -[16701] Forked 21072 -(21071) found -(21072) found -[16700] Forked 21073 -[16699] Forked 21074 -(21073) found -(21074) found -[16698] Forked 21075 -[16697] Forked 21076 -(21075) found -(21076) found -[16696] Forked 21077 -[16695] Forked 21078 -(21077) found -(21078) found -[16694] Forked 21079 -[16693] Forked 21080 -(21079) found -(21080) found -[16692] Forked 21081 -(21081) found -[16691] Forked 21082 -[16690] Forked 21083 -(21082) found -(21083) found -[16689] Forked 21084 -[16688] Forked 21085 -(21084) found -(21085) found -[16687] Forked 21086 -[16686] Forked 21087 -(21086) found -(21087) found -[16685] Forked 21088 -[16684] Forked 21089 -(21088) found -(21089) found -[16683] Forked 21090 -[16682] Forked 21091 -(21090) found -(21091) found -[16681] Forked 21092 -[16680] Forked 21093 -(21093) found -(21092) found -[16679] Forked 21094 -(21094) found -[16678] Forked 21095 -(21095) found -[16677] Forked 21096 -(21096) found -[16676] Forked 21097 -(21097) found -[16675] Forked 21098 -(21098) found -[16674] Forked 21099 -(21099) found -[16673] Forked 21100 -(21100) found -[16672] Forked 21101 -(21101) found -[16671] Forked 21102 -(21102) found -[16670] Forked 21103 -(21103) found -[16669] Forked 21104 -(21104) found -[16668] Forked 21105 -(21105) found -[16667] Forked 21106 -(21106) found -[16666] Forked 21107 -(21107) found -[16665] Forked 21108 -(21108) found -[16664] Forked 21109 -(21109) found -[16663] Forked 21110 -(21110) found -[16662] Forked 21111 -(21111) found -[16661] Forked 21112 -(21112) found -[16660] Forked 21113 -(21113) found -[16659] Forked 21114 -(21114) found -[16658] Forked 21115 -(21115) found -[16657] Forked 21116 -(21116) found -[16656] Forked 21117 -(21117) found -[16655] Forked 21118 -(21118) found -[16654] Forked 21119 -(21119) found -[16653] Forked 21120 -(21120) found -[16652] Forked 21121 -(21121) found -[16651] Forked 21122 -(21122) found -[16650] Forked 21123 -(21123) found -[16649] Forked 21124 -(21124) found -[16648] Forked 21125 -(21125) found -[16647] Forked 21126 -(21126) found -[16646] Forked 21127 -(21127) found -[16645] Forked 21128 -(21128) found -[16644] Forked 21129 -(21129) found -[16643] Forked 21130 -(21130) found -[16642] Forked 21131 -(21131) found -[16641] Forked 21132 -(21132) found -[16640] Forked 21133 -(21133) found -[16639] Forked 21134 -(21134) found -[16638] Forked 21135 -[16637] Forked 21136 -(21135) found -(21136) found -[16636] Forked 21137 -[16635] Forked 21138 -(21137) found -(21138) found -[16634] Forked 21139 -[16633] Forked 21140 -(21139) found -(21140) found -[16632] Forked 21141 -[16631] Forked 21142 -(21141) found -(21142) found -[16630] Forked 21143 -[16629] Forked 21144 -(21143) found -(21144) found -[16628] Forked 21145 -[16627] Forked 21146 -(21145) found -(21146) found -[16626] Forked 21147 -[16625] Forked 21148 -(21147) found -(21148) found -[16624] Forked 21149 -[16623] Forked 21150 -(21149) found -(21150) found -[16622] Forked 21151 -[16621] Forked 21152 -(21151) found -(21152) found -[16620] Forked 21153 -[16619] Forked 21154 -(21153) found -(21154) found -[16618] Forked 21155 -[16617] Forked 21156 -(21155) found -(21156) found -[16616] Forked 21157 -[16615] Forked 21158 -(21157) found -(21158) found -[16614] Forked 21159 -[16613] Forked 21160 -(21159) found -(21160) found -[16612] Forked 21161 -[16611] Forked 21162 -(21161) found -(21162) found -[16610] Forked 21163 -[16609] Forked 21164 -(21163) found -(21164) found -[16608] Forked 21165 -[16607] Forked 21166 -(21165) found -(21166) found -[16606] Forked 21167 -[16605] Forked 21168 -(21167) found -(21168) found -[16604] Forked 21169 -[16603] Forked 21170 -(21169) found -(21170) found -[16602] Forked 21171 -[16601] Forked 21172 -(21171) found -(21172) found -[16600] Forked 21173 -[16599] Forked 21175 -(21173) found -(21175) found -[16598] Forked 21176 -(21176) found -[16597] Forked 21177 -(21177) found -[16596] Forked 21178 -(21178) found -[16595] Forked 21179 -(21179) found -[16594] Forked 21180 -(21180) found -[16593] Forked 21181 -(21181) found -[16592] Forked 21182 -(21182) found -[16591] Forked 21183 -(21183) found -[16590] Forked 21184 -(21184) found -[16589] Forked 21185 -(21185) found -[16588] Forked 21186 -(21186) found -[16587] Forked 21187 -(21187) found -[16586] Forked 21188 -(21188) found -[16585] Forked 21189 -(21189) found -[16584] Forked 21190 -(21190) found -[16583] Forked 21191 -(21191) found -[16582] Forked 21192 -(21192) found -[16581] Forked 21193 -(21193) found -[16580] Forked 21194 -(21194) found -[16579] Forked 21195 -(21195) found -[16578] Forked 21196 -(21196) found -[16577] Forked 21197 -(21197) found -[16576] Forked 21198 -(21198) found -[16575] Forked 21199 -(21199) found -[16574] Forked 21200 -(21200) found -[16573] Forked 21201 -(21201) found -[16572] Forked 21202 -(21202) found -[16571] Forked 21203 -(21203) found -[16570] Forked 21204 -(21204) found -[16569] Forked 21205 -(21205) found -[16568] Forked 21206 -(21206) found -[16567] Forked 21207 -(21207) found -[16566] Forked 21208 -(21208) found -[16565] Forked 21209 -(21209) found -[16564] Forked 21210 -(21210) found -[16563] Forked 21211 -(21211) found -[16562] Forked 21212 -(21212) found -[16561] Forked 21213 -(21213) found -[16560] Forked 21214 -(21214) found -[16559] Forked 21215 -(21215) found -[16558] Forked 21216 -[16557] Forked 21217 -(21216) found -(21217) found -[16556] Forked 21218 -[16555] Forked 21219 -(21218) found -(21219) found -[16554] Forked 21220 -[16553] Forked 21221 -(21220) found -(21221) found -[16552] Forked 21222 -[16551] Forked 21223 -(21222) found -(21223) found -[16550] Forked 21224 -[16549] Forked 21225 -(21224) found -(21225) found -[16548] Forked 21226 -[16547] Forked 21227 -(21226) found -(21227) found -[16546] Forked 21228 -[16545] Forked 21229 -(21228) found -(21229) found -[16544] Forked 21230 -[16543] Forked 21231 -(21230) found -(21231) found -[16542] Forked 21232 -[16541] Forked 21233 -(21232) found -(21233) found -[16540] Forked 21234 -[16539] Forked 21235 -(21234) found -(21235) found -[16538] Forked 21236 -[16537] Forked 21237 -(21236) found -(21237) found -[16536] Forked 21238 -[16535] Forked 21239 -(21238) found -(21239) found -[16534] Forked 21240 -[16533] Forked 21241 -(21240) found -(21241) found -[16532] Forked 21242 -[16531] Forked 21243 -(21242) found -(21243) found -[16530] Forked 21244 -[16529] Forked 21245 -(21244) found -(21245) found -[16528] Forked 21246 -[16527] Forked 21247 -(21246) found -(21247) found -[16526] Forked 21248 -[16525] Forked 21249 -(21248) found -(21249) found -[16524] Forked 21250 -[16523] Forked 21251 -(21250) found -(21251) found -[16522] Forked 21252 -[16521] Forked 21253 -(21252) found -(21253) found -[16520] Forked 21254 -[16519] Forked 21255 -(21254) found -(21255) found -[16518] Forked 21256 -[16517] Forked 21257 -(21256) found -(21257) found -[16516] Forked 21258 -[16515] Forked 21259 -(21258) found -(21259) found -[16514] Forked 21260 -[16513] Forked 21261 -(21260) found -(21261) found -[16512] Forked 21262 -(21262) found -[16511] Forked 21263 -(21263) found -[16510] Forked 21264 -(21264) found -[16509] Forked 21265 -(21265) found -[16508] Forked 21266 -(21266) found -[16507] Forked 21267 -(21267) found -[16506] Forked 21268 -(21268) found -[16505] Forked 21269 -(21269) found -[16504] Forked 21270 -(21270) found -[16503] Forked 21271 -(21271) found -[16502] Forked 21272 -(21272) found -[16501] Forked 21273 -(21273) found -[16500] Forked 21274 -(21274) found -[16499] Forked 21275 -(21275) found -[16498] Forked 21276 -(21276) found -[16497] Forked 21277 -(21277) found -[16496] Forked 21278 -(21278) found -[16495] Forked 21279 -(21279) found -[16494] Forked 21280 -(21280) found -[16493] Forked 21281 -(21281) found -[16492] Forked 21282 -(21282) found -[16491] Forked 21283 -(21283) found -[16490] Forked 21284 -(21284) found -[16489] Forked 21285 -(21285) found -[16488] Forked 21286 -(21286) found -[16487] Forked 21287 -(21287) found -[16486] Forked 21288 -(21288) found -[16485] Forked 21289 -(21289) found -[16484] Forked 21290 -(21290) found -[16483] Forked 21291 -(21291) found -[16482] Forked 21292 -(21292) found -[16481] Forked 21293 -(21293) found -[16480] Forked 21294 -(21294) found -[16479] Forked 21295 -(21295) found -[16478] Forked 21296 -(21296) found -[16477] Forked 21297 -[16476] Forked 21298 -(21297) found -(21298) found -[16475] Forked 21299 -[16474] Forked 21300 -(21299) found -(21300) found -[16473] Forked 21301 -[16472] Forked 21302 -(21301) found -(21302) found -[16471] Forked 21303 -[16470] Forked 21304 -(21303) found -(21304) found -[16469] Forked 21305 -[16468] Forked 21306 -(21305) found -(21306) found -[16467] Forked 21307 -[16466] Forked 21308 -(21307) found -(21308) found -[16465] Forked 21309 -[16464] Forked 21310 -(21309) found -(21310) found -[16463] Forked 21311 -[16462] Forked 21312 -(21311) found -(21312) found -[16461] Forked 21313 -[16460] Forked 21314 -(21313) found -(21314) found -[16459] Forked 21315 -[16458] Forked 21316 -(21315) found -(21316) found -[16457] Forked 21317 -[16456] Forked 21318 -(21317) found -(21318) found -[16455] Forked 21319 -[16454] Forked 21320 -(21319) found -(21320) found -[16453] Forked 21321 -[16452] Forked 21322 -(21321) found -(21322) found -[16451] Forked 21323 -[16450] Forked 21324 -(21323) found -(21324) found -[16449] Forked 21325 -[16448] Forked 21326 -(21325) found -(21326) found -[16447] Forked 21327 -[16446] Forked 21328 -(21327) found -(21328) found -[16445] Forked 21329 -[16444] Forked 21330 -(21329) found -(21330) found -[16443] Forked 21331 -[16442] Forked 21332 -(21331) found -(21332) found -[16441] Forked 21333 -[16440] Forked 21334 -(21333) found -(21334) found -[16439] Forked 21335 -[16438] Forked 21336 -(21335) found -(21336) found -[16437] Forked 21337 -[16436] Forked 21338 -(21337) found -(21338) found -[16435] Forked 21339 -[16434] Forked 21340 -(21339) found -(21340) found -[16433] Forked 21341 -[16432] Forked 21342 -(21341) found -(21342) found -[16431] Forked 21343 -[16430] Forked 21344 -(21343) found -(21344) found -[16429] Forked 21345 -[16428] Forked 21346 -(21345) found -(21346) found -[16427] Forked 21347 -[16426] Forked 21348 -(21347) found -(21348) found -[16425] Forked 21349 -[16424] Forked 21350 -(21349) found -(21350) found -[16423] Forked 21351 -[16422] Forked 21352 -(21351) found -(21352) found -[16421] Forked 21353 -[16420] Forked 21354 -(21353) found -(21354) found -[16419] Forked 21355 -[16418] Forked 21356 -(21355) found -(21356) found -[16417] Forked 21357 -[16416] Forked 21358 -(21357) found -(21358) found -[16415] Forked 21359 -[16414] Forked 21360 -(21359) found -(21360) found -[16413] Forked 21361 -[16412] Forked 21362 -(21361) found -(21362) found -[16411] Forked 21363 -[16410] Forked 21364 -(21363) found -(21364) found -[16409] Forked 21365 -[16408] Forked 21366 -(21365) found -(21366) found -[16407] Forked 21367 -[16406] Forked 21368 -(21367) found -(21368) found -[16405] Forked 21369 -[16404] Forked 21370 -(21369) found -(21370) found -[16403] Forked 21371 -[16402] Forked 21372 -(21371) found -(21372) found -[16401] Forked 21373 -[16400] Forked 21374 -(21373) found -(21374) found -[16399] Forked 21375 -[16398] Forked 21376 -(21375) found -(21376) found -[16397] Forked 21377 -[16396] Forked 21378 -(21377) found -(21378) found -[16395] Forked 21379 -[16394] Forked 21380 -(21379) found -(21380) found -[16393] Forked 21381 -[16392] Forked 21382 -(21381) found -(21382) found -[16391] Forked 21383 -[16390] Forked 21384 -(21383) found -(21384) found -[16389] Forked 21385 -[16388] Forked 21386 -(21385) found -(21386) found -[16387] Forked 21387 -[16386] Forked 21388 -(21387) found -(21388) found -[16385] Forked 21389 -(21389) found -[16384] Forked 21390 -(21390) found -[16383] Forked 21391 -(21391) found -[16382] Forked 21392 -(21392) found -[16381] Forked 21393 -(21393) found -[16380] Forked 21394 -(21394) found -[16379] Forked 21395 -(21395) found -[16378] Forked 21396 -(21396) found -[16377] Forked 21397 -(21397) found -[16376] Forked 21398 -(21398) found -[16375] Forked 21399 -(21399) found -[16374] Forked 21400 -(21400) found -[16373] Forked 21401 -(21401) found -[16372] Forked 21402 -(21402) found -[16371] Forked 21403 -(21403) found -[16370] Forked 21404 -(21404) found -[16369] Forked 21405 -(21405) found -[16368] Forked 21406 -(21406) found -[16367] Forked 21407 -(21407) found -[16366] Forked 21408 -(21408) found -[16365] Forked 21409 -(21409) found -[16364] Forked 21410 -(21410) found -[16363] Forked 21411 -(21411) found -[16362] Forked 21412 -(21412) found -[16361] Forked 21413 -(21413) found -[16360] Forked 21414 -(21414) found -[16359] Forked 21415 -(21415) found -[16358] Forked 21416 -(21416) found -[16357] Forked 21417 -(21417) found -[16356] Forked 21418 -(21418) found -[16355] Forked 21419 -(21419) found -[16354] Forked 21420 -(21420) found -[16353] Forked 21421 -(21421) found -[16352] Forked 21422 -(21422) found -[16351] Forked 21423 -(21423) found -[16350] Forked 21424 -(21424) found -[16349] Forked 21425 -(21425) found -[16348] Forked 21426 -(21426) found -[16347] Forked 21427 -(21427) found -[16346] Forked 21428 -[16345] Forked 21429 -(21428) found -(21429) found -[16344] Forked 21430 -[16343] Forked 21431 -(21430) found -(21431) found -[16342] Forked 21432 -(21432) found -[16341] Forked 21433 -[16340] Forked 21434 -(21433) found -(21434) found -[16339] Forked 21435 -[16338] Forked 21436 -(21435) found -(21436) found -[16337] Forked 21437 -[16336] Forked 21438 -(21437) found -(21438) found -[16335] Forked 21439 -[16334] Forked 21440 -(21439) found -(21440) found -[16333] Forked 21441 -[16332] Forked 21442 -(21441) found -(21442) found -[16331] Forked 21443 -[16330] Forked 21444 -(21443) found -(21444) found -[16329] Forked 21445 -[16328] Forked 21446 -(21445) found -(21446) found -[16327] Forked 21447 -[16326] Forked 21448 -(21447) found -(21448) found -[16325] Forked 21449 -[16324] Forked 21450 -(21449) found -(21450) found -[16323] Forked 21451 -[16322] Forked 21452 -(21451) found -(21452) found -[16321] Forked 21453 -[16320] Forked 21454 -(21453) found -(21454) found -[16319] Forked 21455 -[16318] Forked 21456 -(21455) found -(21456) found -[16317] Forked 21457 -[16316] Forked 21458 -(21457) found -(21458) found -[16315] Forked 21459 -[16314] Forked 21460 -(21459) found -(21460) found -[16313] Forked 21461 -[16312] Forked 21462 -(21461) found -(21462) found -[16311] Forked 21463 -[16310] Forked 21464 -(21463) found -(21464) found -[16309] Forked 21465 -[16308] Forked 21466 -(21465) found -(21466) found -[16307] Forked 21467 -[16306] Forked 21468 -(21468) found -(21467) found -[16305] Forked 21469 -(21469) found -[16304] Forked 21470 -(21470) found -[16303] Forked 21471 -(21471) found -[16302] Forked 21472 -(21472) found -[16301] Forked 21473 -(21473) found -[16300] Forked 21474 -(21474) found -[16299] Forked 21475 -(21475) found -[16298] Forked 21476 -(21476) found -[16297] Forked 21477 -(21477) found -[16296] Forked 21478 -(21478) found -[16295] Forked 21479 -(21479) found -[16294] Forked 21480 -(21480) found -[16293] Forked 21481 -(21481) found -[16292] Forked 21482 -(21482) found -[16291] Forked 21483 -(21483) found -[16290] Forked 21484 -(21484) found -[16289] Forked 21485 -(21485) found -[16288] Forked 21486 -(21486) found -[16287] Forked 21487 -(21487) found -[16286] Forked 21488 -(21488) found -[16285] Forked 21489 -(21489) found -[16284] Forked 21490 -(21490) found -[16283] Forked 21491 -(21491) found -[16282] Forked 21492 -(21492) found -[16281] Forked 21493 -(21493) found -[16280] Forked 21494 -(21494) found -[16279] Forked 21495 -(21495) found -[16278] Forked 21496 -(21496) found -[16277] Forked 21497 -(21497) found -[16276] Forked 21498 -(21498) found -[16275] Forked 21499 -(21499) found -[16274] Forked 21500 -(21500) found -[16273] Forked 21501 -(21501) found -[16272] Forked 21502 -(21502) found -[16271] Forked 21503 -[16270] Forked 21504 -(21503) found -(21504) found -[16269] Forked 21505 -[16268] Forked 21506 -(21505) found -(21506) found -[16267] Forked 21507 -[16266] Forked 21508 -(21507) found -(21508) found -[16265] Forked 21509 -[16264] Forked 21510 -(21509) found -(21510) found -[16263] Forked 21511 -[16262] Forked 21512 -(21511) found -(21512) found -[16261] Forked 21513 -[16260] Forked 21514 -(21513) found -(21514) found -[16259] Forked 21515 -[16258] Forked 21516 -(21515) found -(21516) found -[16257] Forked 21517 -[16256] Forked 21518 -(21517) found -(21518) found -[16255] Forked 21519 -[16254] Forked 21520 -(21519) found -(21520) found -[16253] Forked 21521 -[16252] Forked 21522 -(21521) found -(21522) found -[16251] Forked 21523 -[16250] Forked 21524 -(21523) found -(21524) found -[16249] Forked 21525 -[16248] Forked 21526 -(21525) found -(21526) found -[16247] Forked 21527 -[16246] Forked 21528 -(21527) found -(21528) found -[16245] Forked 21529 -[16244] Forked 21530 -(21529) found -(21530) found -[16243] Forked 21531 -[16242] Forked 21532 -(21531) found -(21532) found -[16241] Forked 21533 -[16240] Forked 21534 -(21533) found -(21534) found -[16239] Forked 21535 -[16238] Forked 21536 -(21535) found -(21536) found -[16237] Forked 21537 -[16236] Forked 21538 -(21537) found -(21538) found -[16235] Forked 21539 -[16234] Forked 21540 -(21539) found -(21540) found -[16233] Forked 21541 -[16232] Forked 21542 -(21541) found -(21542) found -[16231] Forked 21543 -[16230] Forked 21544 -(21543) found -(21544) found -[16229] Forked 21545 -(21545) found -[16228] Forked 21546 -(21546) found -[16227] Forked 21547 -(21547) found -[16226] Forked 21548 -(21548) found -[16225] Forked 21549 -(21549) found -[16224] Forked 21550 -(21550) found -[16223] Forked 21551 -(21551) found -[16222] Forked 21552 -(21552) found -[16221] Forked 21553 -(21553) found -[16220] Forked 21554 -(21554) found -[16219] Forked 21555 -(21555) found -[16218] Forked 21556 -(21556) found -[16217] Forked 21557 -(21557) found -[16216] Forked 21558 -(21558) found -[16215] Forked 21559 -(21559) found -[16214] Forked 21560 -(21560) found -[16213] Forked 21561 -(21561) found -[16212] Forked 21562 -(21562) found -[16211] Forked 21563 -(21563) found -[16210] Forked 21564 -(21564) found -[16209] Forked 21565 -(21565) found -[16208] Forked 21566 -(21566) found -[16207] Forked 21567 -(21567) found -[16206] Forked 21568 -(21568) found -[16205] Forked 21569 -(21569) found -[16204] Forked 21570 -(21570) found -[16203] Forked 21571 -(21571) found -[16202] Forked 21572 -(21572) found -[16201] Forked 21573 -(21573) found -[16200] Forked 21574 -(21574) found -[16199] Forked 21575 -(21575) found -[16198] Forked 21576 -(21576) found -[16197] Forked 21577 -(21577) found -[16196] Forked 21578 -(21578) found -[16195] Forked 21579 -(21579) found -[16194] Forked 21580 -(21580) found -[16193] Forked 21581 -(21581) found -[16192] Forked 21582 -(21582) found -[16191] Forked 21583 -(21583) found -[16190] Forked 21584 -[16189] Forked 21585 -(21584) found -(21585) found -[16188] Forked 21586 -[16187] Forked 21587 -(21586) found -(21587) found -[16186] Forked 21588 -[16185] Forked 21589 -(21588) found -(21589) found -[16184] Forked 21590 -[16183] Forked 21591 -(21590) found -(21591) found -[16182] Forked 21592 -[16181] Forked 21593 -(21592) found -(21593) found -[16180] Forked 21594 -[16179] Forked 21595 -(21594) found -(21595) found -[16178] Forked 21596 -[16177] Forked 21597 -(21596) found -(21597) found -[16176] Forked 21598 -[16175] Forked 21599 -(21598) found -(21599) found -[16174] Forked 21600 -[16173] Forked 21601 -(21600) found -(21601) found -[16172] Forked 21602 -[16171] Forked 21603 -(21602) found -(21603) found -[16170] Forked 21604 -[16169] Forked 21605 -(21604) found -(21605) found -[16168] Forked 21606 -[16167] Forked 21607 -(21606) found -(21607) found -[16166] Forked 21608 -[16165] Forked 21609 -(21608) found -(21609) found -[16164] Forked 21610 -[16163] Forked 21611 -(21610) found -(21611) found -[16162] Forked 21612 -[16161] Forked 21613 -(21612) found -(21613) found -[16160] Forked 21614 -[16159] Forked 21615 -(21614) found -(21615) found -[16158] Forked 21616 -[16157] Forked 21617 -(21616) found -(21617) found -[16156] Forked 21618 -[16155] Forked 21619 -(21618) found -(21619) found -[16154] Forked 21620 -[16153] Forked 21621 -(21620) found -(21621) found -[16152] Forked 21622 -[16151] Forked 21623 -(21622) found -(21623) found -[16150] Forked 21624 -[16149] Forked 21625 -(21624) found -(21625) found -[16148] Forked 21626 -[16147] Forked 21627 -(21626) found -(21627) found -[16146] Forked 21628 -(21628) found -[16145] Forked 21630 -(21630) found -[16144] Forked 21631 -(21631) found -[16143] Forked 21632 -(21632) found -[16142] Forked 21633 -(21633) found -[16141] Forked 21634 -(21634) found -[16140] Forked 21635 -(21635) found -[16139] Forked 21636 -(21636) found -[16138] Forked 21637 -(21637) found -[16137] Forked 21638 -(21638) found -[16136] Forked 21639 -(21639) found -[16135] Forked 21640 -(21640) found -[16134] Forked 21641 -(21641) found -[16133] Forked 21642 -(21642) found -[16132] Forked 21643 -(21643) found -[16131] Forked 21644 -(21644) found -[16130] Forked 21645 -(21645) found -[16129] Forked 21646 -(21646) found -[16128] Forked 21647 -(21647) found -[16127] Forked 21648 -(21648) found -[16126] Forked 21649 -(21649) found -[16125] Forked 21650 -(21650) found -[16124] Forked 21651 -(21651) found -[16123] Forked 21652 -(21652) found -[16122] Forked 21653 -(21653) found -[16121] Forked 21654 -(21654) found -[16120] Forked 21655 -(21655) found -[16119] Forked 21656 -(21656) found -[16118] Forked 21657 -(21657) found -[16117] Forked 21658 -(21658) found -[16116] Forked 21659 -(21659) found -[16115] Forked 21660 -(21660) found -[16114] Forked 21661 -(21661) found -[16113] Forked 21662 -(21662) found -[16112] Forked 21663 -(21663) found -[16111] Forked 21664 -(21664) found -[16110] Forked 21665 -(21665) found -[16109] Forked 21666 -(21666) found -[16108] Forked 21667 -(21667) found -[16107] Forked 21668 -[16106] Forked 21669 -(21668) found -(21669) found -[16105] Forked 21670 -[16104] Forked 21671 -(21670) found -(21671) found -[16103] Forked 21672 -[16102] Forked 21673 -(21672) found -(21673) found -[16101] Forked 21674 -[16100] Forked 21675 -(21674) found -(21675) found -[16099] Forked 21676 -[16098] Forked 21677 -(21676) found -(21677) found -[16097] Forked 21678 -[16096] Forked 21679 -(21678) found -(21679) found -[16095] Forked 21680 -[16094] Forked 21681 -(21680) found -(21681) found -[16093] Forked 21682 -[16092] Forked 21683 -(21682) found -(21683) found -[16091] Forked 21684 -[16090] Forked 21685 -(21684) found -(21685) found -[16089] Forked 21686 -[16088] Forked 21687 -(21686) found -(21687) found -[16087] Forked 21688 -[16086] Forked 21689 -(21688) found -(21689) found -[16085] Forked 21690 -[16084] Forked 21691 -(21690) found -(21691) found -[16083] Forked 21692 -[16082] Forked 21693 -(21692) found -(21693) found -[16081] Forked 21694 -[16080] Forked 21695 -(21694) found -(21695) found -[16079] Forked 21696 -(21696) found -[16078] Forked 21697 -(21697) found -[16077] Forked 21698 -(21698) found -[16076] Forked 21699 -(21699) found -[16075] Forked 21700 -(21700) found -[16074] Forked 21701 -(21701) found -[16073] Forked 21702 -(21702) found -[16072] Forked 21703 -(21703) found -[16071] Forked 21704 -(21704) found -[16070] Forked 21705 -(21705) found -[16069] Forked 21706 -(21706) found -[16068] Forked 21707 -(21707) found -[16067] Forked 21708 -(21708) found -[16066] Forked 21709 -(21709) found -[16065] Forked 21710 -(21710) found -[16064] Forked 21711 -(21711) found -[16063] Forked 21712 -(21712) found -[16062] Forked 21713 -(21713) found -[16061] Forked 21714 -(21714) found -[16060] Forked 21715 -(21715) found -[16059] Forked 21716 -(21716) found -[16058] Forked 21717 -(21717) found -[16057] Forked 21718 -(21718) found -[16056] Forked 21719 -(21719) found -[16055] Forked 21720 -(21720) found -[16054] Forked 21721 -(21721) found -[16053] Forked 21722 -(21722) found -[16052] Forked 21723 -(21723) found -[16051] Forked 21724 -(21724) found -[16050] Forked 21725 -(21725) found -[16049] Forked 21726 -(21726) found -[16048] Forked 21727 -(21727) found -[16047] Forked 21728 -(21728) found -[16046] Forked 21729 -(21729) found -[16045] Forked 21730 -(21730) found -[16044] Forked 21731 -(21731) found -[16043] Forked 21732 -(21732) found -[16042] Forked 21733 -(21733) found -[16041] Forked 21734 -(21734) found -[16040] Forked 21735 -(21735) found -[16039] Forked 21736 -(21736) found -[16038] Forked 21737 -(21737) found -[16037] Forked 21738 -(21738) found -[16036] Forked 21739 -(21739) found -[16035] Forked 21740 -(21740) found -[16034] Forked 21741 -(21741) found -[16033] Forked 21742 -(21742) found -[16032] Forked 21743 -(21743) found -[16031] Forked 21744 -(21744) found -[16030] Forked 21745 -(21745) found -[16029] Forked 21746 -[16028] Forked 21747 -(21746) found -(21747) found -[16027] Forked 21748 -[16026] Forked 21749 -(21748) found -(21749) found -[16025] Forked 21750 -[16024] Forked 21751 -(21750) found -(21751) found -[16023] Forked 21752 -(21752) found -[16022] Forked 21753 -[16021] Forked 21754 -(21753) found -(21754) found -[16020] Forked 21755 -(21755) found -[16019] Forked 21756 -(21756) found -[16018] Forked 21757 -[16017] Forked 21758 -(21757) found -(21758) found -[16016] Forked 21759 -[16015] Forked 21760 -(21759) found -(21760) found -[16014] Forked 21761 -[16013] Forked 21762 -(21761) found -(21762) found -[16012] Forked 21763 -[16011] Forked 21764 -(21763) found -(21764) found -[16010] Forked 21765 -[16009] Forked 21766 -(21765) found -(21766) found -[16008] Forked 21767 -[16007] Forked 21768 -(21767) found -(21768) found -[16006] Forked 21769 -[16005] Forked 21770 -(21769) found -(21770) found -[16004] Forked 21771 -[16003] Forked 21772 -(21771) found -(21772) found -[16002] Forked 21773 -[16001] Forked 21774 -(21773) found -(21774) found -[16000] Forked 21775 -[15999] Forked 21776 -(21775) found -(21776) found -[15998] Forked 21777 -[15997] Forked 21778 -(21777) found -(21778) found -[15996] Forked 21779 -[15995] Forked 21780 -(21779) found -(21780) found -[15994] Forked 21781 -[15993] Forked 21782 -(21781) found -(21782) found -[15992] Forked 21783 -[15991] Forked 21785 -(21783) found -(21785) found -[15990] Forked 21786 -(21786) found -[15989] Forked 21787 -(21787) found -[15988] Forked 21788 -(21788) found -[15987] Forked 21789 -(21789) found -[15986] Forked 21790 -(21790) found -[15985] Forked 21791 -(21791) found -[15984] Forked 21792 -(21792) found -[15983] Forked 21793 -(21793) found -[15982] Forked 21794 -(21794) found -[15981] Forked 21795 -(21795) found -[15980] Forked 21796 -(21796) found -[15979] Forked 21797 -(21797) found -[15978] Forked 21798 -(21798) found -[15977] Forked 21799 -(21799) found -[15976] Forked 21800 -(21800) found -[15975] Forked 21801 -(21801) found -[15974] Forked 21802 -(21802) found -[15973] Forked 21803 -(21803) found -[15972] Forked 21804 -(21804) found -[15971] Forked 21805 -(21805) found -[15970] Forked 21806 -(21806) found -[15969] Forked 21807 -(21807) found -[15968] Forked 21808 -(21808) found -[15967] Forked 21809 -(21809) found -[15966] Forked 21810 -(21810) found -[15965] Forked 21811 -(21811) found -[15964] Forked 21812 -(21812) found -[15963] Forked 21813 -(21813) found -[15962] Forked 21814 -(21814) found -[15961] Forked 21815 -(21815) found -[15960] Forked 21816 -(21816) found -[15959] Forked 21817 -(21817) found -[15958] Forked 21818 -(21818) found -[15957] Forked 21819 -(21819) found -[15956] Forked 21820 -(21820) found -[15955] Forked 21821 -(21821) found -[15954] Forked 21822 -(21822) found -[15953] Forked 21823 -(21823) found -[15952] Forked 21824 -(21824) found -[15951] Forked 21825 -(21825) found -[15950] Forked 21826 -(21826) found -[15949] Forked 21827 -(21827) found -[15948] Forked 21828 -(21828) found -[15947] Forked 21829 -(21829) found -[15946] Forked 21830 -(21830) found -[15945] Forked 21831 -(21831) found -[15944] Forked 21832 -(21832) found -[15943] Forked 21833 -(21833) found -[15942] Forked 21834 -(21834) found -[15941] Forked 21835 -(21835) found -[15940] Forked 21836 -(21836) found -[15939] Forked 21837 -(21837) found -[15938] Forked 21838 -(21838) found -[15937] Forked 21839 -(21839) found -[15936] Forked 21840 -(21840) found -[15935] Forked 21841 -(21841) found -[15934] Forked 21842 -(21842) found -[15933] Forked 21843 -(21843) found -[15932] Forked 21844 -(21844) found -[15931] Forked 21845 -(21845) found -[15930] Forked 21846 -(21846) found -[15929] Forked 21847 -(21847) found -[15928] Forked 21848 -(21848) found -[15927] Forked 21849 -(21849) found -[15926] Forked 21850 -(21850) found -[15925] Forked 21851 -(21851) found -[15924] Forked 21852 -(21852) found -[15923] Forked 21853 -(21853) found -[15922] Forked 21854 -(21854) found -[15921] Forked 21855 -(21855) found -[15920] Forked 21856 -(21856) found -[15919] Forked 21857 -(21857) found -[15918] Forked 21858 -(21858) found -[15917] Forked 21859 -(21859) found -[15916] Forked 21860 -(21860) found -[15915] Forked 21861 -(21861) found -[15914] Forked 21862 -(21862) found -[15913] Forked 21863 -(21863) found -[15912] Forked 21864 -(21864) found -[15911] Forked 21865 -(21865) found -[15910] Forked 21866 -(21866) found -[15909] Forked 21867 -(21867) found -[15908] Forked 21868 -(21868) found -[15907] Forked 21869 -(21869) found -[15906] Forked 21870 -(21870) found -[15905] Forked 21871 -(21871) found -[15904] Forked 21872 -(21872) found -[15903] Forked 21873 -(21873) found -[15902] Forked 21874 -(21874) found -[15901] Forked 21875 -(21875) found -[15900] Forked 21876 -(21876) found -[15899] Forked 21877 -(21877) found -[15898] Forked 21878 -(21878) found -[15897] Forked 21879 -(21879) found -[15896] Forked 21880 -(21880) found -[15895] Forked 21881 -(21881) found -[15894] Forked 21882 -(21882) found -[15893] Forked 21883 -(21883) found -[15892] Forked 21884 -(21884) found -[15891] Forked 21885 -(21885) found -[15890] Forked 21886 -(21886) found -[15889] Forked 21887 -(21887) found -[15888] Forked 21888 -(21888) found -[15887] Forked 21889 -(21889) found -[15886] Forked 21890 -(21890) found -[15885] Forked 21891 -(21891) found -[15884] Forked 21892 -(21892) found -[15883] Forked 21893 -(21893) found -[15882] Forked 21894 -(21894) found -[15881] Forked 21895 -(21895) found -[15880] Forked 21896 -[15879] Forked 21897 -(21896) found -(21897) found -[15878] Forked 21898 -[15877] Forked 21899 -(21898) found -(21899) found -[15876] Forked 21900 -[15875] Forked 21901 -(21900) found -(21901) found -[15874] Forked 21902 -[15873] Forked 21903 -(21902) found -(21903) found -[15872] Forked 21904 -[15871] Forked 21905 -(21904) found -(21905) found -[15870] Forked 21906 -[15869] Forked 21907 -(21906) found -(21907) found -[15868] Forked 21908 -[15867] Forked 21909 -(21908) found -(21909) found -[15866] Forked 21910 -[15865] Forked 21911 -(21910) found -(21911) found -[15864] Forked 21912 -[15863] Forked 21913 -(21912) found -(21913) found -[15862] Forked 21914 -[15861] Forked 21915 -(21914) found -(21915) found -[15860] Forked 21916 -[15859] Forked 21917 -(21916) found -(21917) found -[15858] Forked 21918 -[15857] Forked 21919 -(21918) found -(21919) found -[15856] Forked 21920 -[15855] Forked 21921 -(21920) found -(21921) found -[15854] Forked 21922 -[15853] Forked 21923 -(21922) found -(21923) found -[15852] Forked 21924 -[15851] Forked 21925 -(21924) found -(21925) found -[15850] Forked 21926 -[15849] Forked 21927 -(21926) found -(21927) found -[15848] Forked 21928 -[15847] Forked 21929 -(21928) found -(21929) found -[15846] Forked 21930 -[15845] Forked 21931 -(21930) found -(21931) found -[15844] Forked 21932 -[15843] Forked 21933 -(21932) found -(21933) found -[15842] Forked 21934 -[15841] Forked 21935 -(21934) found -(21935) found -[15840] Forked 21936 -[15839] Forked 21937 -(21936) found -(21937) found -[15838] Forked 21938 -[15837] Forked 21939 -(21938) found -(21939) found -[15836] Forked 21940 -[15835] Forked 21941 -(21940) found -(21941) found -[15834] Forked 21942 -[15833] Forked 21943 -(21942) found -(21943) found -[15832] Forked 21944 -[15831] Forked 21945 -(21944) found -(21945) found -[15830] Forked 21946 -[15829] Forked 21947 -(21946) found -(21947) found -[15828] Forked 21948 -[15827] Forked 21949 -(21948) found -(21949) found -[15826] Forked 21950 -[15825] Forked 21951 -(21950) found -(21951) found -[15824] Forked 21952 -[15823] Forked 21953 -(21952) found -(21953) found -[15822] Forked 21954 -[15821] Forked 21955 -(21954) found -(21955) found -[15820] Forked 21956 -[15819] Forked 21957 -(21956) found -(21957) found -[15818] Forked 21958 -[15817] Forked 21959 -(21958) found -(21959) found -[15816] Forked 21960 -[15815] Forked 21961 -(21960) found -(21961) found -[15814] Forked 21962 -[15813] Forked 21963 -(21962) found -(21963) found -[15812] Forked 21964 -[15811] Forked 21965 -(21964) found -(21965) found -[15810] Forked 21966 -[15809] Forked 21967 -(21966) found -(21967) found -[15808] Forked 21968 -[15807] Forked 21969 -(21968) found -(21969) found -[15806] Forked 21970 -[15805] Forked 21971 -(21970) found -(21971) found -[15804] Forked 21972 -[15803] Forked 21973 -(21972) found -(21973) found -[15802] Forked 21974 -[15801] Forked 21975 -(21974) found -(21975) found -[15800] Forked 21976 -[15799] Forked 21977 -(21976) found -(21977) found -[15798] Forked 21978 -[15797] Forked 21979 -(21978) found -(21979) found -[15796] Forked 21980 -[15795] Forked 21981 -(21980) found -(21981) found -[15794] Forked 21982 -[15793] Forked 21983 -(21982) found -(21983) found -[15792] Forked 21984 -[15791] Forked 21985 -(21984) found -(21985) found -[15790] Forked 21986 -[15789] Forked 21987 -(21986) found -(21987) found -[15788] Forked 21988 -[15787] Forked 21989 -(21988) found -(21989) found -[15786] Forked 21990 -[15785] Forked 21991 -(21990) found -(21991) found -[15784] Forked 21992 -[15783] Forked 21993 -(21992) found -(21993) found -[15782] Forked 21994 -[15781] Forked 21995 -(21994) found -(21995) found -[15780] Forked 21996 -[15779] Forked 21997 -(21996) found -(21997) found -[15778] Forked 21998 -[15777] Forked 21999 -(21998) found -(21999) found -[15776] Forked 22000 -[15775] Forked 22001 -(22000) found -(22001) found -[15774] Forked 22002 -[15773] Forked 22004 -(22002) found -(22004) found -[15772] Forked 22005 -(22005) found -[15771] Forked 22006 -(22006) found -[15770] Forked 22007 -(22007) found -[15769] Forked 22008 -(22008) found -[15768] Forked 22009 -(22009) found -[15767] Forked 22010 -(22010) found -[15766] Forked 22011 -(22011) found -[15765] Forked 22012 -(22012) found -[15764] Forked 22013 -(22013) found -[15763] Forked 22014 -(22014) found -[15762] Forked 22015 -(22015) found -[15761] Forked 22016 -(22016) found -[15760] Forked 22017 -(22017) found -[15759] Forked 22018 -(22018) found -[15758] Forked 22019 -(22019) found -[15757] Forked 22020 -(22020) found -[15756] Forked 22021 -(22021) found -[15755] Forked 22022 -(22022) found -[15754] Forked 22023 -(22023) found -[15753] Forked 22024 -(22024) found -[15752] Forked 22025 -(22025) found -[15751] Forked 22026 -(22026) found -[15750] Forked 22027 -(22027) found -[15749] Forked 22028 -(22028) found -[15748] Forked 22029 -(22029) found -[15747] Forked 22030 -(22030) found -[15746] Forked 22031 -(22031) found -[15745] Forked 22032 -(22032) found -[15744] Forked 22033 -(22033) found -[15743] Forked 22034 -(22034) found -[15742] Forked 22035 -(22035) found -[15741] Forked 22036 -(22036) found -[15740] Forked 22037 -(22037) found -[15739] Forked 22038 -(22038) found -[15738] Forked 22039 -(22039) found -[15737] Forked 22040 -(22040) found -[15736] Forked 22041 -(22041) found -[15735] Forked 22042 -(22042) found -[15734] Forked 22043 -(22043) found -[15733] Forked 22044 -(22044) found -[15732] Forked 22045 -(22045) found -[15731] Forked 22046 -(22046) found -[15730] Forked 22047 -(22047) found -[15729] Forked 22048 -(22048) found -[15728] Forked 22049 -(22049) found -[15727] Forked 22050 -(22050) found -[15726] Forked 22051 -(22051) found -[15725] Forked 22052 -(22052) found -[15724] Forked 22053 -(22053) found -[15723] Forked 22054 -(22054) found -[15722] Forked 22055 -(22055) found -[15721] Forked 22056 -(22056) found -[15720] Forked 22057 -(22057) found -[15719] Forked 22058 -(22058) found -[15718] Forked 22059 -(22059) found -[15717] Forked 22060 -(22060) found -[15716] Forked 22061 -(22061) found -[15715] Forked 22062 -(22062) found -[15714] Forked 22063 -(22063) found -[15713] Forked 22064 -(22064) found -[15712] Forked 22065 -(22065) found -[15711] Forked 22066 -[15710] Forked 22067 -(22066) found -(22067) found -[15709] Forked 22068 -[15708] Forked 22069 -(22068) found -(22069) found -[15707] Forked 22070 -[15706] Forked 22071 -(22070) found -(22071) found -[15705] Forked 22072 -[15704] Forked 22073 -(22072) found -(22073) found -[15703] Forked 22074 -[15702] Forked 22075 -(22074) found -(22075) found -[15701] Forked 22076 -[15700] Forked 22077 -(22076) found -(22077) found -[15699] Forked 22078 -[15698] Forked 22079 -(22078) found -(22079) found -[15697] Forked 22080 -[15696] Forked 22081 -(22080) found -(22081) found -[15695] Forked 22082 -[15694] Forked 22083 -(22082) found -(22083) found -[15693] Forked 22084 -(22084) found -[15692] Forked 22085 -[15691] Forked 22086 -(22085) found -(22086) found -[15690] Forked 22087 -[15689] Forked 22088 -(22087) found -(22088) found -[15688] Forked 22089 -[15687] Forked 22090 -(22089) found -(22090) found -[15686] Forked 22091 -[15685] Forked 22092 -(22091) found -(22092) found -[15684] Forked 22093 -[15683] Forked 22094 -(22093) found -(22094) found -[15682] Forked 22095 -[15681] Forked 22096 -(22095) found -(22096) found -[15680] Forked 22097 -[15679] Forked 22098 -(22097) found -(22098) found -[15678] Forked 22099 -[15677] Forked 22100 -(22099) found -(22100) found -[15676] Forked 22101 -[15675] Forked 22102 -(22101) found -(22102) found -[15674] Forked 22103 -[15673] Forked 22104 -(22103) found -(22104) found -[15672] Forked 22105 -[15671] Forked 22106 -(22105) found -(22106) found -[15670] Forked 22107 -[15669] Forked 22108 -(22107) found -(22108) found -[15668] Forked 22109 -(22109) found -[15667] Forked 22110 -(22110) found -[15666] Forked 22111 -(22111) found -[15665] Forked 22112 -(22112) found -[15664] Forked 22113 -(22113) found -[15663] Forked 22114 -(22114) found -[15662] Forked 22115 -(22115) found -[15661] Forked 22116 -(22116) found -[15660] Forked 22117 -(22117) found -[15659] Forked 22118 -(22118) found -[15658] Forked 22119 -(22119) found -[15657] Forked 22120 -(22120) found -[15656] Forked 22121 -(22121) found -[15655] Forked 22122 -(22122) found -[15654] Forked 22123 -(22123) found -[15653] Forked 22124 -(22124) found -[15652] Forked 22125 -(22125) found -[15651] Forked 22126 -(22126) found -[15650] Forked 22127 -(22127) found -[15649] Forked 22128 -(22128) found -[15648] Forked 22129 -(22129) found -[15647] Forked 22130 -(22130) found -[15646] Forked 22131 -(22131) found -[15645] Forked 22132 -(22132) found -[15644] Forked 22133 -(22133) found -[15643] Forked 22134 -(22134) found -[15642] Forked 22135 -(22135) found -[15641] Forked 22136 -(22136) found -[15640] Forked 22137 -(22137) found -[15639] Forked 22138 -(22138) found -[15638] Forked 22139 -(22139) found -[15637] Forked 22140 -(22140) found -[15636] Forked 22141 -(22141) found -[15635] Forked 22142 -(22142) found -[15634] Forked 22143 -(22143) found -[15633] Forked 22144 -(22144) found -[15632] Forked 22145 -(22145) found -[15631] Forked 22146 -(22146) found -[15630] Forked 22147 -(22147) found -[15629] Forked 22148 -[15628] Forked 22149 -(22148) found -(22149) found -[15627] Forked 22150 -[15626] Forked 22151 -(22150) found -(22151) found -[15625] Forked 22152 -[15624] Forked 22153 -(22152) found -(22153) found -[15623] Forked 22154 -[15622] Forked 22155 -(22154) found -(22155) found -[15621] Forked 22156 -[15620] Forked 22157 -(22156) found -(22157) found -[15619] Forked 22158 -[15618] Forked 22159 -(22158) found -(22159) found -[15617] Forked 22160 -[15616] Forked 22161 -(22160) found -(22161) found -[15615] Forked 22162 -[15614] Forked 22163 -(22162) found -(22163) found -[15613] Forked 22164 -[15612] Forked 22165 -(22164) found -(22165) found -[15611] Forked 22166 -[15610] Forked 22167 -(22167) found -(22166) found -[15609] Forked 22168 -(22168) found -[15608] Forked 22169 -(22169) found -[15607] Forked 22170 -(22170) found -[15606] Forked 22171 -(22171) found -[15605] Forked 22172 -(22172) found -[15604] Forked 22173 -(22173) found -[15603] Forked 22174 -(22174) found -[15602] Forked 22175 -(22175) found -[15601] Forked 22176 -(22176) found -[15600] Forked 22177 -(22177) found -[15599] Forked 22178 -(22178) found -[15598] Forked 22179 -(22179) found -[15597] Forked 22180 -(22180) found -[15596] Forked 22181 -(22181) found -[15595] Forked 22182 -(22182) found -[15594] Forked 22183 -[15593] Forked 22184 -(22183) found -(22184) found -[15592] Forked 22185 -[15591] Forked 22186 -(22185) found -(22186) found -[15590] Forked 22187 -[15589] Forked 22188 -(22187) found -(22188) found -[15588] Forked 22189 -[15587] Forked 22190 -(22189) found -(22190) found -[15586] Forked 22191 -[15585] Forked 22192 -(22191) found -(22192) found -[15584] Forked 22193 -[15583] Forked 22194 -(22193) found -(22194) found -[15582] Forked 22195 -[15581] Forked 22196 -(22195) found -(22196) found -[15580] Forked 22197 -[15579] Forked 22198 -(22197) found -(22198) found -[15578] Forked 22199 -[15577] Forked 22200 -(22199) found -(22200) found -[15576] Forked 22201 -[15575] Forked 22202 -(22201) found -(22202) found -[15574] Forked 22203 -[15573] Forked 22204 -(22203) found -(22204) found -[15572] Forked 22205 -[15571] Forked 22206 -(22205) found -(22206) found -[15570] Forked 22207 -[15569] Forked 22209 -(22207) found -(22209) found -[15568] Forked 22210 -(22210) found -[15567] Forked 22211 -(22211) found -[15566] Forked 22212 -(22212) found -[15565] Forked 22213 -(22213) found -[15564] Forked 22214 -(22214) found -[15563] Forked 22215 -(22215) found -[15562] Forked 22216 -(22216) found -[15561] Forked 22217 -(22217) found -[15560] Forked 22218 -(22218) found -[15559] Forked 22219 -(22219) found -[15558] Forked 22220 -(22220) found -[15557] Forked 22221 -(22221) found -[15556] Forked 22222 -(22222) found -[15555] Forked 22223 -(22223) found -[15554] Forked 22224 -(22224) found -[15553] Forked 22225 -(22225) found -[15552] Forked 22226 -(22226) found -[15551] Forked 22227 -(22227) found -[15550] Forked 22228 -(22228) found -[15549] Forked 22229 -(22229) found -[15548] Forked 22230 -(22230) found -[15547] Forked 22231 -(22231) found -[15546] Forked 22232 -(22232) found -[15545] Forked 22233 -(22233) found -[15544] Forked 22234 -(22234) found -[15543] Forked 22235 -(22235) found -[15542] Forked 22236 -(22236) found -[15541] Forked 22237 -(22237) found -[15540] Forked 22238 -(22238) found -[15539] Forked 22239 -(22239) found -[15538] Forked 22240 -(22240) found -[15537] Forked 22241 -(22241) found -[15536] Forked 22242 -(22242) found -[15535] Forked 22243 -(22243) found -[15534] Forked 22244 -(22244) found -[15533] Forked 22245 -(22245) found -[15532] Forked 22246 -(22246) found -[15531] Forked 22247 -(22247) found -[15530] Forked 22248 -(22248) found -[15529] Forked 22249 -(22249) found -[15528] Forked 22250 -(22250) found -[15527] Forked 22251 -(22251) found -[15526] Forked 22252 -(22252) found -[15525] Forked 22253 -(22253) found -[15524] Forked 22254 -(22254) found -[15523] Forked 22255 -(22255) found -[15522] Forked 22256 -(22256) found -[15521] Forked 22257 -(22257) found -[15520] Forked 22258 -(22258) found -[15519] Forked 22259 -(22259) found -[15518] Forked 22260 -(22260) found -[15517] Forked 22261 -[15516] Forked 22262 -(22261) found -(22262) found -[15515] Forked 22263 -[15514] Forked 22264 -(22263) found -(22264) found -[15513] Forked 22265 -(22265) found -[15512] Forked 22266 -(22266) found -[15511] Forked 22267 -(22267) found -[15510] Forked 22268 -(22268) found -[15509] Forked 22269 -(22269) found -[15508] Forked 22270 -(22270) found -[15507] Forked 22271 -(22271) found -[15506] Forked 22272 -(22272) found -[15505] Forked 22273 -(22273) found -[15504] Forked 22274 -(22274) found -[15503] Forked 22275 -(22275) found -[15502] Forked 22276 -(22276) found -[15501] Forked 22277 -(22277) found -[15500] Forked 22278 -(22278) found -[15499] Forked 22279 -(22279) found -[15498] Forked 22280 -(22280) found -[15497] Forked 22281 -(22281) found -[15496] Forked 22282 -(22282) found -[15495] Forked 22283 -(22283) found -[15494] Forked 22284 -(22284) found -[15493] Forked 22285 -(22285) found -[15492] Forked 22286 -(22286) found -[15491] Forked 22287 -(22287) found -[15490] Forked 22288 -(22288) found -[15489] Forked 22289 -(22289) found -[15488] Forked 22290 -(22290) found -[15487] Forked 22291 -(22291) found -[15486] Forked 22292 -(22292) found -[15485] Forked 22293 -(22293) found -[15484] Forked 22294 -(22294) found -[15483] Forked 22295 -(22295) found -[15482] Forked 22296 -(22296) found -[15481] Forked 22297 -(22297) found -[15480] Forked 22298 -(22298) found -[15479] Forked 22299 -(22299) found -[15478] Forked 22300 -(22300) found -[15477] Forked 22301 -(22301) found -[15476] Forked 22302 -(22302) found -[15475] Forked 22303 -(22303) found -[15474] Forked 22304 -[15473] Forked 22305 -(22304) found -(22305) found -[15472] Forked 22306 -[15471] Forked 22307 -(22306) found -(22307) found -[15470] Forked 22308 -[15469] Forked 22309 -(22308) found -(22309) found -[15468] Forked 22310 -[15467] Forked 22311 -(22310) found -(22311) found -[15466] Forked 22312 -[15465] Forked 22313 -(22312) found -(22313) found -[15464] Forked 22314 -[15463] Forked 22315 -(22314) found -(22315) found -[15462] Forked 22316 -[15461] Forked 22317 -(22316) found -(22317) found -[15460] Forked 22318 -[15459] Forked 22319 -(22318) found -(22319) found -[15458] Forked 22320 -[15457] Forked 22321 -(22320) found -(22321) found -[15456] Forked 22322 -[15455] Forked 22323 -(22322) found -(22323) found -[15454] Forked 22324 -[15453] Forked 22325 -(22324) found -(22325) found -[15452] Forked 22326 -[15451] Forked 22327 -(22326) found -(22327) found -[15450] Forked 22328 -[15449] Forked 22329 -(22328) found -(22329) found -[15448] Forked 22330 -[15447] Forked 22331 -(22330) found -(22331) found -[15446] Forked 22332 -[15445] Forked 22333 -(22332) found -(22333) found -[15444] Forked 22334 -[15443] Forked 22335 -(22334) found -(22335) found -[15442] Forked 22336 -[15441] Forked 22337 -(22336) found -(22337) found -[15440] Forked 22338 -[15439] Forked 22339 -(22338) found -(22339) found -[15438] Forked 22340 -[15437] Forked 22341 -(22340) found -(22341) found -[15436] Forked 22342 -[15435] Forked 22343 -(22342) found -(22343) found -[15434] Forked 22344 -[15433] Forked 22345 -(22344) found -(22345) found -[15432] Forked 22346 -[15431] Forked 22347 -(22346) found -(22347) found -[15430] Forked 22348 -(22348) found -[15429] Forked 22349 -(22349) found -[15428] Forked 22350 -(22350) found -[15427] Forked 22351 -(22351) found -[15426] Forked 22352 -(22352) found -[15425] Forked 22353 -(22353) found -[15424] Forked 22354 -(22354) found -[15423] Forked 22355 -(22355) found -[15422] Forked 22356 -(22356) found -[15421] Forked 22357 -(22357) found -[15420] Forked 22358 -(22358) found -[15419] Forked 22359 -(22359) found -[15418] Forked 22360 -(22360) found -[15417] Forked 22361 -(22361) found -[15416] Forked 22362 -(22362) found -[15415] Forked 22363 -(22363) found -[15414] Forked 22364 -(22364) found -[15413] Forked 22365 -(22365) found -[15412] Forked 22366 -(22366) found -[15411] Forked 22367 -(22367) found -[15410] Forked 22368 -(22368) found -[15409] Forked 22369 -(22369) found -[15408] Forked 22370 -(22370) found -[15407] Forked 22371 -(22371) found -[15406] Forked 22372 -(22372) found -[15405] Forked 22373 -(22373) found -[15404] Forked 22374 -(22374) found -[15403] Forked 22375 -(22375) found -[15402] Forked 22376 -(22376) found -[15401] Forked 22377 -(22377) found -[15400] Forked 22378 -(22378) found -[15399] Forked 22379 -(22379) found -[15398] Forked 22380 -(22380) found -[15397] Forked 22381 -(22381) found -[15396] Forked 22382 -(22382) found -[15395] Forked 22383 -(22383) found -[15394] Forked 22384 -(22384) found -[15393] Forked 22385 -(22385) found -[15392] Forked 22386 -(22386) found -[15391] Forked 22387 -[15390] Forked 22388 -(22387) found -(22388) found -[15389] Forked 22389 -[15388] Forked 22390 -(22389) found -(22390) found -[15387] Forked 22391 -[15386] Forked 22392 -(22391) found -(22392) found -[15385] Forked 22393 -[15384] Forked 22394 -(22393) found -(22394) found -[15383] Forked 22395 -[15382] Forked 22396 -(22395) found -(22396) found -[15381] Forked 22397 -[15380] Forked 22398 -(22397) found -(22398) found -[15379] Forked 22399 -[15378] Forked 22400 -(22399) found -(22400) found -[15377] Forked 22401 -[15376] Forked 22402 -(22401) found -(22402) found -[15375] Forked 22403 -[15374] Forked 22404 -(22403) found -(22404) found -[15373] Forked 22405 -[15372] Forked 22406 -(22405) found -(22406) found -[15371] Forked 22407 -[15370] Forked 22408 -(22407) found -(22408) found -[15369] Forked 22409 -[15368] Forked 22410 -(22409) found -(22410) found -[15367] Forked 22411 -[15366] Forked 22412 -(22411) found -(22412) found -[15365] Forked 22413 -[15364] Forked 22414 -(22413) found -(22414) found -[15363] Forked 22415 -[15362] Forked 22416 -(22415) found -(22416) found -[15361] Forked 22417 -[15360] Forked 22418 -(22417) found -(22418) found -[15359] Forked 22419 -[15358] Forked 22420 -(22420) found -(22419) found -[15357] Forked 22421 -(22421) found -[15356] Forked 22422 -(22422) found -[15355] Forked 22423 -(22423) found -[15354] Forked 22424 -(22424) found -[15353] Forked 22425 -(22425) found -[15352] Forked 22426 -(22426) found -[15351] Forked 22427 -(22427) found -[15350] Forked 22428 -(22428) found -[15349] Forked 22429 -(22429) found -[15348] Forked 22430 -(22430) found -[15347] Forked 22431 -(22431) found -[15346] Forked 22432 -(22432) found -[15345] Forked 22433 -(22433) found -[15344] Forked 22434 -(22434) found -[15343] Forked 22435 -(22435) found -[15342] Forked 22436 -(22436) found -[15341] Forked 22437 -(22437) found -[15340] Forked 22438 -(22438) found -[15339] Forked 22439 -(22439) found -[15338] Forked 22440 -(22440) found -[15337] Forked 22441 -(22441) found -[15336] Forked 22442 -(22442) found -[15335] Forked 22443 -(22443) found -[15334] Forked 22444 -(22444) found -[15333] Forked 22445 -(22445) found -[15332] Forked 22446 -(22446) found -[15331] Forked 22447 -(22447) found -[15330] Forked 22448 -(22448) found -[15329] Forked 22449 -(22449) found -[15328] Forked 22450 -(22450) found -[15327] Forked 22451 -(22451) found -[15326] Forked 22452 -(22452) found -[15325] Forked 22453 -(22453) found -[15324] Forked 22454 -(22454) found -[15323] Forked 22455 -(22455) found -[15322] Forked 22456 -(22456) found -[15321] Forked 22457 -(22457) found -[15320] Forked 22458 -(22458) found -[15319] Forked 22459 -(22459) found -[15318] Forked 22460 -(22460) found -[15317] Forked 22461 -(22461) found -[15316] Forked 22462 -(22462) found -[15315] Forked 22463 -(22463) found -[15314] Forked 22464 -(22464) found -[15313] Forked 22465 -(22465) found -[15312] Forked 22466 -(22466) found -[15311] Forked 22467 -(22467) found -[15310] Forked 22468 -(22468) found -[15309] Forked 22469 -(22469) found -[15308] Forked 22470 -[15307] Forked 22471 -(22470) found -(22471) found -[15306] Forked 22472 -[15305] Forked 22473 -(22472) found -(22473) found -[15304] Forked 22474 -[15303] Forked 22475 -(22474) found -(22475) found -[15302] Forked 22476 -[15301] Forked 22477 -(22476) found -(22477) found -[15300] Forked 22478 -[15299] Forked 22479 -(22478) found -(22479) found -[15298] Forked 22480 -[15297] Forked 22481 -(22480) found -(22481) found -[15296] Forked 22482 -[15295] Forked 22483 -(22482) found -(22483) found -[15294] Forked 22484 -[15293] Forked 22485 -(22484) found -(22485) found -[15292] Forked 22486 -[15291] Forked 22487 -(22486) found -(22487) found -[15290] Forked 22488 -[15289] Forked 22489 -(22488) found -(22489) found -[15288] Forked 22490 -[15287] Forked 22491 -(22490) found -(22491) found -[15286] Forked 22492 -[15285] Forked 22493 -(22492) found -(22493) found -[15284] Forked 22494 -[15283] Forked 22495 -(22494) found -(22495) found -[15282] Forked 22496 -[15281] Forked 22497 -(22496) found -(22497) found -[15280] Forked 22498 -[15279] Forked 22499 -(22498) found -(22499) found -[15278] Forked 22500 -[15277] Forked 22501 -(22500) found -(22501) found -[15276] Forked 22502 -[15275] Forked 22503 -(22502) found -(22503) found -[15274] Forked 22504 -[15273] Forked 22505 -(22504) found -(22505) found -[15272] Forked 22506 -(22506) found -[15271] Forked 22507 -[15270] Forked 22508 -(22507) found -(22508) found -[15269] Forked 22509 -[15268] Forked 22510 -(22509) found -(22510) found -[15267] Forked 22511 -(22511) found -[15266] Forked 22512 -(22512) found -[15265] Forked 22513 -(22513) found -[15264] Forked 22514 -(22514) found -[15263] Forked 22515 -(22515) found -[15262] Forked 22516 -(22516) found -[15261] Forked 22517 -(22517) found -[15260] Forked 22518 -(22518) found -[15259] Forked 22519 -(22519) found -[15258] Forked 22520 -(22520) found -[15257] Forked 22521 -(22521) found -[15256] Forked 22522 -(22522) found -[15255] Forked 22523 -(22523) found -[15254] Forked 22524 -(22524) found -[15253] Forked 22525 -(22525) found -[15252] Forked 22526 -(22526) found -[15251] Forked 22527 -(22527) found -[15250] Forked 22528 -(22528) found -[15249] Forked 22529 -(22529) found -[15248] Forked 22530 -(22530) found -[15247] Forked 22531 -(22531) found -[15246] Forked 22532 -(22532) found -[15245] Forked 22533 -(22533) found -[15244] Forked 22534 -(22534) found -[15243] Forked 22535 -(22535) found -[15242] Forked 22536 -(22536) found -[15241] Forked 22537 -(22537) found -[15240] Forked 22538 -(22538) found -[15239] Forked 22539 -(22539) found -[15238] Forked 22540 -(22540) found -[15237] Forked 22541 -(22541) found -[15236] Forked 22542 -(22542) found -[15235] Forked 22543 -(22543) found -[15234] Forked 22544 -(22544) found -[15233] Forked 22545 -(22545) found -[15232] Forked 22546 -(22546) found -[15231] Forked 22547 -(22547) found -[15230] Forked 22548 -(22548) found -[15229] Forked 22549 -(22549) found -[15228] Forked 22550 -[15227] Forked 22551 -(22550) found -(22551) found -[15226] Forked 22552 -[15225] Forked 22553 -(22552) found -(22553) found -[15224] Forked 22554 -[15223] Forked 22555 -(22554) found -(22555) found -[15222] Forked 22556 -[15221] Forked 22557 -(22556) found -(22557) found -[15220] Forked 22558 -[15219] Forked 22559 -(22558) found -(22559) found -[15218] Forked 22560 -[15217] Forked 22561 -(22560) found -(22561) found -[15216] Forked 22562 -[15215] Forked 22563 -(22563) found -(22562) found -[15214] Forked 22564 -(22564) found -[15213] Forked 22565 -(22565) found -[15212] Forked 22566 -(22566) found -[15211] Forked 22567 -(22567) found -[15210] Forked 22568 -(22568) found -[15209] Forked 22569 -(22569) found -[15208] Forked 22570 -(22570) found -[15207] Forked 22571 -(22571) found -[15206] Forked 22572 -(22572) found -[15205] Forked 22573 -(22573) found -[15204] Forked 22574 -(22574) found -[15203] Forked 22575 -(22575) found -[15202] Forked 22576 -(22576) found -[15201] Forked 22577 -(22577) found -[15200] Forked 22578 -(22578) found -[15199] Forked 22579 -(22579) found -[15198] Forked 22580 -(22580) found -[15197] Forked 22581 -(22581) found -[15196] Forked 22582 -(22582) found -[15195] Forked 22583 -(22583) found -[15194] Forked 22584 -(22584) found -[15193] Forked 22585 -[15192] Forked 22586 -(22585) found -(22586) found -[15191] Forked 22587 -[15190] Forked 22588 -(22587) found -(22588) found -[15189] Forked 22589 -[15188] Forked 22590 -(22589) found -(22590) found -[15187] Forked 22591 -[15186] Forked 22592 -(22591) found -(22592) found -[15185] Forked 22593 -[15184] Forked 22594 -(22593) found -(22594) found -[15183] Forked 22595 -[15182] Forked 22596 -(22595) found -(22596) found -[15181] Forked 22597 -[15180] Forked 22598 -(22597) found -(22598) found -[15179] Forked 22599 -[15178] Forked 22600 -(22599) found -(22600) found -[15177] Forked 22601 -[15176] Forked 22602 -(22601) found -(22602) found -[15175] Forked 22603 -[15174] Forked 22604 -(22603) found -(22604) found -[15173] Forked 22605 -[15172] Forked 22606 -(22605) found -(22606) found -[15171] Forked 22607 -[15170] Forked 22608 -(22607) found -(22608) found -[15169] Forked 22609 -[15168] Forked 22610 -(22609) found -(22610) found -[15167] Forked 22611 -[15166] Forked 22612 -(22611) found -(22612) found -[15165] Forked 22613 -[15164] Forked 22614 -(22613) found -(22614) found -[15163] Forked 22615 -[15162] Forked 22616 -(22615) found -(22616) found -[15161] Forked 22617 -[15160] Forked 22618 -(22617) found -(22618) found -[15159] Forked 22619 -[15158] Forked 22620 -(22619) found -(22620) found -[15157] Forked 22621 -[15156] Forked 22622 -(22621) found -(22622) found -[15155] Forked 22623 -[15154] Forked 22624 -(22623) found -(22624) found -[15153] Forked 22625 -[15152] Forked 22627 -(22625) found -(22627) found -[15151] Forked 22628 -(22628) found -[15150] Forked 22629 -(22629) found -[15149] Forked 22630 -(22630) found -[15148] Forked 22631 -(22631) found -[15147] Forked 22632 -(22632) found -[15146] Forked 22633 -(22633) found -[15145] Forked 22634 -(22634) found -[15144] Forked 22635 -(22635) found -[15143] Forked 22636 -(22636) found -[15142] Forked 22637 -(22637) found -[15141] Forked 22638 -(22638) found -[15140] Forked 22639 -(22639) found -[15139] Forked 22640 -(22640) found -[15138] Forked 22641 -(22641) found -[15137] Forked 22642 -(22642) found -[15136] Forked 22644 -(22644) found -[15135] Forked 22645 -(22645) found -[15134] Forked 22646 -(22646) found -[15133] Forked 22647 -(22647) found -[15132] Forked 22648 -(22648) found -[15131] Forked 22649 -(22649) found -[15130] Forked 22650 -(22650) found -[15129] Forked 22651 -(22651) found -[15128] Forked 22652 -(22652) found -[15127] Forked 22653 -(22653) found -[15126] Forked 22654 -(22654) found -[15125] Forked 22655 -(22655) found -[15124] Forked 22656 -(22656) found -[15123] Forked 22657 -(22657) found -[15122] Forked 22658 -(22658) found -[15121] Forked 22659 -(22659) found -[15120] Forked 22660 -(22660) found -[15119] Forked 22661 -(22661) found -[15118] Forked 22662 -(22662) found -[15117] Forked 22663 -(22663) found -[15116] Forked 22664 -(22664) found -[15115] Forked 22665 -(22665) found -[15114] Forked 22666 -(22666) found -[15113] Forked 22667 -(22667) found -[15112] Forked 22668 -(22668) found -[15111] Forked 22669 -(22669) found -[15110] Forked 22670 -(22670) found -[15109] Forked 22671 -(22671) found -[15108] Forked 22672 -(22672) found -[15107] Forked 22673 -(22673) found -[15106] Forked 22674 -(22674) found -[15105] Forked 22675 -(22675) found -[15104] Forked 22676 -(22676) found -[15103] Forked 22677 -(22677) found -[15102] Forked 22678 -(22678) found -[15101] Forked 22679 -(22679) found -[15100] Forked 22680 -(22680) found -[15099] Forked 22681 -(22681) found -[15098] Forked 22682 -(22682) found -[15097] Forked 22683 -(22683) found -[15096] Forked 22684 -(22684) found -[15095] Forked 22685 -(22685) found -[15094] Forked 22686 -(22686) found -[15093] Forked 22687 -(22687) found -[15092] Forked 22688 -(22688) found -[15091] Forked 22689 -(22689) found -[15090] Forked 22690 -(22690) found -[15089] Forked 22691 -(22691) found -[15088] Forked 22692 -(22692) found -[15087] Forked 22693 -(22693) found -[15086] Forked 22694 -(22694) found -[15085] Forked 22695 -(22695) found -[15084] Forked 22696 -(22696) found -[15083] Forked 22697 -(22697) found -[15082] Forked 22698 -(22698) found -[15081] Forked 22699 -(22699) found -[15080] Forked 22700 -(22700) found -[15079] Forked 22701 -(22701) found -[15078] Forked 22702 -(22702) found -[15077] Forked 22703 -(22703) found -[15076] Forked 22704 -[15075] Forked 22705 -(22704) found -(22705) found -[15074] Forked 22706 -[15073] Forked 22707 -(22706) found -(22707) found -[15072] Forked 22708 -[15071] Forked 22709 -(22708) found -(22709) found -[15070] Forked 22710 -[15069] Forked 22711 -(22710) found -(22711) found -[15068] Forked 22712 -[15067] Forked 22713 -(22712) found -(22713) found -[15066] Forked 22714 -[15065] Forked 22715 -(22714) found -(22715) found -[15064] Forked 22716 -[15063] Forked 22717 -(22716) found -(22717) found -[15062] Forked 22718 -[15061] Forked 22719 -(22718) found -(22719) found -[15060] Forked 22720 -[15059] Forked 22721 -(22720) found -(22721) found -[15058] Forked 22722 -[15057] Forked 22723 -(22722) found -(22723) found -[15056] Forked 22724 -[15055] Forked 22725 -(22724) found -(22725) found -[15054] Forked 22726 -[15053] Forked 22727 -(22726) found -(22727) found -[15052] Forked 22728 -[15051] Forked 22729 -(22728) found -(22729) found -[15050] Forked 22730 -[15049] Forked 22731 -(22730) found -(22731) found -[15048] Forked 22732 -[15047] Forked 22733 -(22732) found -(22733) found -[15046] Forked 22734 -[15045] Forked 22735 -(22734) found -(22735) found -[15044] Forked 22736 -[15043] Forked 22737 -(22736) found -(22737) found -[15042] Forked 22738 -[15041] Forked 22739 -(22738) found -(22739) found -[15040] Forked 22740 -[15039] Forked 22741 -(22740) found -(22741) found -[15038] Forked 22742 -[15037] Forked 22743 -(22742) found -(22743) found -[15036] Forked 22744 -[15035] Forked 22745 -(22744) found -(22745) found -[15034] Forked 22746 -[15033] Forked 22747 -(22746) found -(22747) found -[15032] Forked 22748 -(22748) found -[15031] Forked 22749 -(22749) found -[15030] Forked 22750 -(22750) found -[15029] Forked 22751 -(22751) found -[15028] Forked 22752 -(22752) found -[15027] Forked 22753 -(22753) found -[15026] Forked 22754 -(22754) found -[15025] Forked 22755 -(22755) found -[15024] Forked 22756 -(22756) found -[15023] Forked 22757 -(22757) found -[15022] Forked 22758 -(22758) found -[15021] Forked 22759 -(22759) found -[15020] Forked 22760 -(22760) found -[15019] Forked 22761 -(22761) found -[15018] Forked 22762 -(22762) found -[15017] Forked 22763 -(22763) found -[15016] Forked 22764 -(22764) found -[15015] Forked 22765 -(22765) found -[15014] Forked 22766 -(22766) found -[15013] Forked 22767 -(22767) found -[15012] Forked 22768 -(22768) found -[15011] Forked 22769 -(22769) found -[15010] Forked 22770 -(22770) found -[15009] Forked 22771 -(22771) found -[15008] Forked 22772 -(22772) found -[15007] Forked 22773 -(22773) found -[15006] Forked 22774 -(22774) found -[15005] Forked 22775 -(22775) found -[15004] Forked 22776 -(22776) found -[15003] Forked 22777 -(22777) found -[15002] Forked 22778 -(22778) found -[15001] Forked 22779 -(22779) found -[15000] Forked 22780 -(22780) found -[14999] Forked 22781 -(22781) found -[14998] Forked 22782 -(22782) found -[14997] Forked 22783 -(22783) found -[14996] Forked 22784 -[14995] Forked 22785 -(22784) found -(22785) found -[14994] Forked 22786 -[14993] Forked 22787 -(22786) found -(22787) found -[14992] Forked 22788 -[14991] Forked 22789 -(22788) found -(22789) found -[14990] Forked 22790 -[14989] Forked 22791 -(22790) found -(22791) found -[14988] Forked 22792 -[14987] Forked 22793 -(22792) found -(22793) found -[14986] Forked 22794 -[14985] Forked 22795 -(22794) found -(22795) found -[14984] Forked 22796 -[14983] Forked 22797 -(22796) found -(22797) found -[14982] Forked 22798 -[14981] Forked 22799 -(22798) found -(22799) found -[14980] Forked 22800 -[14979] Forked 22801 -(22800) found -(22801) found -[14978] Forked 22802 -[14977] Forked 22803 -(22802) found -(22803) found -[14976] Forked 22804 -[14975] Forked 22805 -(22804) found -(22805) found -[14974] Forked 22806 -[14973] Forked 22807 -(22806) found -(22807) found -[14972] Forked 22808 -[14971] Forked 22809 -(22808) found -(22809) found -[14970] Forked 22810 -[14969] Forked 22811 -(22810) found -(22811) found -[14968] Forked 22812 -[14967] Forked 22813 -(22812) found -(22813) found -[14966] Forked 22814 -[14965] Forked 22815 -(22814) found -(22815) found -[14964] Forked 22816 -[14963] Forked 22817 -(22816) found -(22817) found -[14962] Forked 22818 -[14961] Forked 22819 -(22818) found -(22819) found -[14960] Forked 22820 -[14959] Forked 22821 -(22820) found -(22821) found -[14958] Forked 22822 -[14957] Forked 22824 -(22822) found -(22824) found -[14956] Forked 22825 -(22825) found -[14955] Forked 22826 -(22826) found -[14954] Forked 22827 -(22827) found -[14953] Forked 22828 -(22828) found -[14952] Forked 22829 -(22829) found -[14951] Forked 22830 -(22830) found -[14950] Forked 22831 -(22831) found -[14949] Forked 22832 -(22832) found -[14948] Forked 22833 -(22833) found -[14947] Forked 22834 -(22834) found -[14946] Forked 22835 -(22835) found -[14945] Forked 22836 -(22836) found -[14944] Forked 22837 -(22837) found -[14943] Forked 22838 -(22838) found -[14942] Forked 22839 -(22839) found -[14941] Forked 22840 -(22840) found -[14940] Forked 22841 -(22841) found -[14939] Forked 22842 -(22842) found -[14938] Forked 22843 -(22843) found -[14937] Forked 22844 -(22844) found -[14936] Forked 22845 -(22845) found -[14935] Forked 22846 -(22846) found -[14934] Forked 22847 -(22847) found -[14933] Forked 22848 -(22848) found -[14932] Forked 22849 -(22849) found -[14931] Forked 22850 -(22850) found -[14930] Forked 22851 -(22851) found -[14929] Forked 22852 -(22852) found -[14928] Forked 22853 -(22853) found -[14927] Forked 22854 -(22854) found -[14926] Forked 22855 -(22855) found -[14925] Forked 22856 -(22856) found -[14924] Forked 22857 -(22857) found -[14923] Forked 22858 -(22858) found -[14922] Forked 22859 -(22859) found -[14921] Forked 22860 -(22860) found -[14920] Forked 22861 -(22861) found -[14919] Forked 22862 -(22862) found -[14918] Forked 22863 -[14917] Forked 22864 -(22863) found -(22864) found -[14916] Forked 22865 -[14915] Forked 22866 -(22865) found -(22866) found -[14914] Forked 22867 -[14913] Forked 22868 -(22867) found -(22868) found -[14912] Forked 22869 -[14911] Forked 22870 -(22869) found -(22870) found -[14910] Forked 22871 -[14909] Forked 22872 -(22871) found -(22872) found -[14908] Forked 22873 -[14907] Forked 22874 -(22873) found -(22874) found -[14906] Forked 22875 -[14905] Forked 22876 -(22875) found -(22876) found -[14904] Forked 22877 -[14903] Forked 22878 -(22877) found -(22878) found -[14902] Forked 22879 -[14901] Forked 22880 -(22879) found -(22880) found -[14900] Forked 22881 -[14899] Forked 22882 -(22881) found -(22882) found -[14898] Forked 22883 -[14897] Forked 22884 -(22883) found -(22884) found -[14896] Forked 22885 -[14895] Forked 22886 -(22885) found -(22886) found -[14894] Forked 22887 -[14893] Forked 22888 -(22887) found -(22888) found -[14892] Forked 22889 -[14891] Forked 22890 -(22889) found -(22890) found -[14890] Forked 22891 -[14889] Forked 22892 -(22891) found -(22892) found -[14888] Forked 22893 -[14887] Forked 22894 -(22893) found -(22894) found -[14886] Forked 22895 -[14885] Forked 22896 -(22895) found -(22896) found -[14884] Forked 22897 -[14883] Forked 22898 -(22897) found -(22898) found -[14882] Forked 22899 -[14881] Forked 22900 -(22899) found -(22900) found -[14880] Forked 22901 -[14879] Forked 22902 -(22901) found -(22902) found -[14878] Forked 22903 -[14877] Forked 22904 -(22903) found -(22904) found -[14876] Forked 22905 -[14875] Forked 22906 -(22905) found -(22906) found -[14874] Forked 22907 -(22907) found -[14873] Forked 22908 -(22908) found -[14872] Forked 22909 -(22909) found -[14871] Forked 22910 -(22910) found -[14870] Forked 22911 -(22911) found -[14869] Forked 22912 -(22912) found -[14868] Forked 22913 -(22913) found -[14867] Forked 22914 -(22914) found -[14866] Forked 22915 -(22915) found -[14865] Forked 22916 -(22916) found -[14864] Forked 22917 -(22917) found -[14863] Forked 22918 -(22918) found -[14862] Forked 22919 -(22919) found -[14861] Forked 22920 -(22920) found -[14860] Forked 22921 -(22921) found -[14859] Forked 22922 -(22922) found -[14858] Forked 22923 -(22923) found -[14857] Forked 22924 -(22924) found -[14856] Forked 22925 -(22925) found -[14855] Forked 22926 -(22926) found -[14854] Forked 22927 -(22927) found -[14853] Forked 22928 -(22928) found -[14852] Forked 22929 -(22929) found -[14851] Forked 22930 -(22930) found -[14850] Forked 22931 -(22931) found -[14849] Forked 22932 -(22932) found -[14848] Forked 22933 -(22933) found -[14847] Forked 22934 -(22934) found -[14846] Forked 22935 -(22935) found -[14845] Forked 22936 -(22936) found -[14844] Forked 22937 -(22937) found -[14843] Forked 22938 -(22938) found -[14842] Forked 22939 -(22939) found -[14841] Forked 22940 -(22940) found -[14840] Forked 22941 -(22941) found -[14839] Forked 22942 -(22942) found -[14838] Forked 22943 -(22943) found -[14837] Forked 22944 -(22944) found -[14836] Forked 22945 -(22945) found -[14835] Forked 22946 -[14834] Forked 22947 -(22946) found -(22947) found -[14833] Forked 22948 -[14832] Forked 22949 -(22948) found -(22949) found -[14831] Forked 22950 -[14830] Forked 22951 -(22950) found -(22951) found -[14829] Forked 22952 -[14828] Forked 22953 -(22952) found -(22953) found -[14827] Forked 22954 -[14826] Forked 22955 -(22954) found -(22955) found -[14825] Forked 22956 -[14824] Forked 22957 -(22956) found -(22957) found -[14823] Forked 22958 -[14822] Forked 22959 -(22958) found -(22959) found -[14821] Forked 22960 -[14820] Forked 22961 -(22960) found -(22961) found -[14819] Forked 22962 -[14818] Forked 22963 -(22962) found -(22963) found -[14817] Forked 22964 -[14816] Forked 22965 -(22964) found -(22965) found -[14815] Forked 22966 -[14814] Forked 22967 -(22966) found -(22967) found -[14813] Forked 22968 -[14812] Forked 22969 -(22968) found -(22969) found -[14811] Forked 22970 -[14810] Forked 22971 -(22970) found -(22971) found -[14809] Forked 22972 -[14808] Forked 22973 -(22972) found -(22973) found -[14807] Forked 22974 -[14806] Forked 22975 -(22974) found -(22975) found -[14805] Forked 22976 -[14804] Forked 22977 -(22976) found -(22977) found -[14803] Forked 22978 -[14802] Forked 22979 -(22978) found -(22979) found -[14801] Forked 22980 -[14800] Forked 22981 -(22980) found -(22981) found -[14799] Forked 22982 -[14798] Forked 22983 -(22982) found -(22983) found -[14797] Forked 22984 -[14796] Forked 22985 -(22984) found -(22985) found -[14795] Forked 22986 -[14794] Forked 22987 -(22986) found -(22987) found -[14793] Forked 22988 -[14792] Forked 22989 -(22988) found -(22989) found -[14791] Forked 22990 -(22990) found -[14790] Forked 22991 -(22991) found -[14789] Forked 22992 -(22992) found -[14788] Forked 22993 -(22993) found -[14787] Forked 22994 -(22994) found -[14786] Forked 22995 -(22995) found -[14785] Forked 22996 -(22996) found -[14784] Forked 22997 -(22997) found -[14783] Forked 22998 -(22998) found -[14782] Forked 22999 -(22999) found -[14781] Forked 23000 -(23000) found -[14780] Forked 23001 -(23001) found -[14779] Forked 23002 -(23002) found -[14778] Forked 23003 -(23003) found -[14777] Forked 23004 -(23004) found -[14776] Forked 23005 -(23005) found -[14775] Forked 23006 -(23006) found -[14774] Forked 23007 -(23007) found -[14773] Forked 23008 -(23008) found -[14772] Forked 23009 -(23009) found -[14771] Forked 23010 -(23010) found -[14770] Forked 23011 -(23011) found -[14769] Forked 23012 -(23012) found -[14768] Forked 23013 -(23013) found -[14767] Forked 23014 -(23014) found -[14766] Forked 23015 -(23015) found -[14765] Forked 23016 -(23016) found -[14764] Forked 23017 -(23017) found -[14763] Forked 23018 -(23018) found -[14762] Forked 23019 -(23019) found -[14761] Forked 23020 -(23020) found -[14760] Forked 23021 -(23021) found -[14759] Forked 23022 -(23022) found -[14758] Forked 23023 -(23023) found -[14757] Forked 23024 -(23024) found -[14756] Forked 23025 -(23025) found -[14755] Forked 23026 -(23026) found -[14754] Forked 23027 -(23027) found -[14753] Forked 23028 -(23028) found -[14752] Forked 23029 -[14751] Forked 23030 -(23029) found -(23030) found -[14750] Forked 23031 -[14749] Forked 23032 -(23031) found -(23032) found -[14748] Forked 23033 -[14747] Forked 23034 -(23033) found -(23034) found -[14746] Forked 23035 -[14745] Forked 23036 -(23035) found -(23036) found -[14744] Forked 23037 -[14743] Forked 23038 -(23037) found -(23038) found -[14742] Forked 23039 -[14741] Forked 23040 -(23039) found -(23040) found -[14740] Forked 23041 -[14739] Forked 23042 -(23041) found -(23042) found -[14738] Forked 23043 -[14737] Forked 23044 -(23043) found -(23044) found -[14736] Forked 23045 -[14735] Forked 23046 -(23045) found -(23046) found -[14734] Forked 23047 -[14733] Forked 23048 -(23047) found -(23048) found -[14732] Forked 23049 -[14731] Forked 23050 -(23049) found -(23050) found -[14730] Forked 23051 -[14729] Forked 23052 -(23051) found -(23052) found -[14728] Forked 23053 -[14727] Forked 23054 -(23053) found -(23054) found -[14726] Forked 23055 -[14725] Forked 23056 -(23055) found -(23056) found -[14724] Forked 23057 -[14723] Forked 23058 -(23057) found -(23058) found -[14722] Forked 23059 -[14721] Forked 23060 -(23059) found -(23060) found -[14720] Forked 23061 -[14719] Forked 23062 -(23061) found -(23062) found -[14718] Forked 23063 -[14717] Forked 23064 -(23063) found -(23064) found -[14716] Forked 23065 -[14715] Forked 23066 -(23065) found -(23066) found -[14714] Forked 23067 -[14713] Forked 23069 -(23067) found -(23069) found -[14712] Forked 23070 -(23070) found -[14711] Forked 23071 -(23071) found -[14710] Forked 23072 -(23072) found -[14709] Forked 23073 -(23073) found -[14708] Forked 23074 -(23074) found -[14707] Forked 23075 -(23075) found -[14706] Forked 23076 -(23076) found -[14705] Forked 23077 -(23077) found -[14704] Forked 23078 -(23078) found -[14703] Forked 23079 -(23079) found -[14702] Forked 23080 -(23080) found -[14701] Forked 23081 -(23081) found -[14700] Forked 23082 -(23082) found -[14699] Forked 23083 -(23083) found -[14698] Forked 23084 -(23084) found -[14697] Forked 23085 -(23085) found -[14696] Forked 23086 -(23086) found -[14695] Forked 23087 -(23087) found -[14694] Forked 23088 -(23088) found -[14693] Forked 23089 -(23089) found -[14692] Forked 23090 -(23090) found -[14691] Forked 23091 -(23091) found -[14690] Forked 23092 -(23092) found -[14689] Forked 23093 -(23093) found -[14688] Forked 23094 -(23094) found -[14687] Forked 23095 -(23095) found -[14686] Forked 23096 -(23096) found -[14685] Forked 23097 -(23097) found -[14684] Forked 23098 -(23098) found -[14683] Forked 23099 -(23099) found -[14682] Forked 23100 -(23100) found -[14681] Forked 23101 -(23101) found -[14680] Forked 23102 -(23102) found -[14679] Forked 23103 -(23103) found -[14678] Forked 23104 -(23104) found -[14677] Forked 23105 -(23105) found -[14676] Forked 23106 -(23106) found -[14675] Forked 23107 -(23107) found -[14674] Forked 23108 -(23108) found -[14673] Forked 23109 -(23109) found -[14672] Forked 23110 -(23110) found -[14671] Forked 23111 -(23111) found -[14670] Forked 23112 -(23112) found -[14669] Forked 23113 -(23113) found -[14668] Forked 23114 -(23114) found -[14667] Forked 23115 -(23115) found -[14666] Forked 23116 -(23116) found -[14665] Forked 23117 -(23117) found -[14664] Forked 23118 -(23118) found -[14663] Forked 23119 -(23119) found -[14662] Forked 23120 -(23120) found -[14661] Forked 23121 -(23121) found -[14660] Forked 23122 -(23122) found -[14659] Forked 23123 -(23123) found -[14658] Forked 23124 -(23124) found -[14657] Forked 23125 -(23125) found -[14656] Forked 23126 -(23126) found -[14655] Forked 23127 -(23127) found -[14654] Forked 23128 -(23128) found -[14653] Forked 23129 -(23129) found -[14652] Forked 23130 -(23130) found -[14651] Forked 23131 -(23131) found -[14650] Forked 23132 -(23132) found -[14649] Forked 23133 -(23133) found -[14648] Forked 23134 -(23134) found -[14647] Forked 23135 -(23135) found -[14646] Forked 23136 -(23136) found -[14645] Forked 23137 -(23137) found -[14644] Forked 23138 -(23138) found -[14643] Forked 23139 -(23139) found -[14642] Forked 23140 -(23140) found -[14641] Forked 23141 -(23141) found -[14640] Forked 23142 -[14639] Forked 23143 -(23142) found -(23143) found -[14638] Forked 23144 -[14637] Forked 23145 -(23144) found -(23145) found -[14636] Forked 23146 -[14635] Forked 23147 -(23146) found -(23147) found -[14634] Forked 23148 -[14633] Forked 23149 -(23148) found -(23149) found -[14632] Forked 23150 -[14631] Forked 23151 -(23150) found -(23151) found -[14630] Forked 23152 -[14629] Forked 23153 -(23152) found -(23153) found -[14628] Forked 23154 -[14627] Forked 23155 -(23154) found -(23155) found -[14626] Forked 23156 -[14625] Forked 23157 -(23156) found -(23157) found -[14624] Forked 23158 -[14623] Forked 23159 -(23158) found -(23159) found -[14622] Forked 23160 -[14621] Forked 23161 -(23160) found -(23161) found -[14620] Forked 23162 -[14619] Forked 23163 -(23162) found -(23163) found -[14618] Forked 23164 -[14617] Forked 23165 -(23164) found -(23165) found -[14616] Forked 23166 -[14615] Forked 23167 -(23166) found -(23167) found -[14614] Forked 23168 -[14613] Forked 23169 -(23169) found -(23168) found -[14612] Forked 23170 -(23170) found -[14611] Forked 23171 -(23171) found -[14610] Forked 23172 -(23172) found -[14609] Forked 23173 -(23173) found -[14608] Forked 23174 -(23174) found -[14607] Forked 23175 -(23175) found -[14606] Forked 23176 -(23176) found -[14605] Forked 23177 -(23177) found -[14604] Forked 23178 -(23178) found -[14603] Forked 23179 -(23179) found -[14602] Forked 23180 -(23180) found -[14601] Forked 23181 -(23181) found -[14600] Forked 23182 -(23182) found -[14599] Forked 23183 -(23183) found -[14598] Forked 23184 -(23184) found -[14597] Forked 23185 -(23185) found -[14596] Forked 23186 -(23186) found -[14595] Forked 23187 -(23187) found -[14594] Forked 23188 -(23188) found -[14593] Forked 23189 -(23189) found -[14592] Forked 23190 -(23190) found -[14591] Forked 23191 -(23191) found -[14590] Forked 23192 -(23192) found -[14589] Forked 23193 -(23193) found -[14588] Forked 23194 -(23194) found -[14587] Forked 23195 -(23195) found -[14586] Forked 23196 -(23196) found -[14585] Forked 23197 -(23197) found -[14584] Forked 23198 -(23198) found -[14583] Forked 23199 -(23199) found -[14582] Forked 23200 -(23200) found -[14581] Forked 23201 -(23201) found -[14580] Forked 23202 -(23202) found -[14579] Forked 23203 -(23203) found -[14578] Forked 23204 -(23204) found -[14577] Forked 23205 -(23205) found -[14576] Forked 23206 -(23206) found -[14575] Forked 23207 -(23207) found -[14574] Forked 23208 -(23208) found -[14573] Forked 23209 -(23209) found -[14572] Forked 23210 -(23210) found -[14571] Forked 23211 -(23211) found -[14570] Forked 23212 -(23212) found -[14569] Forked 23213 -(23213) found -[14568] Forked 23214 -(23214) found -[14567] Forked 23215 -(23215) found -[14566] Forked 23216 -(23216) found -[14565] Forked 23217 -(23217) found -[14564] Forked 23218 -(23218) found -[14563] Forked 23219 -(23219) found -[14562] Forked 23220 -[14561] Forked 23221 -(23220) found -(23221) found -[14560] Forked 23222 -[14559] Forked 23223 -(23222) found -(23223) found -[14558] Forked 23224 -[14557] Forked 23225 -(23224) found -(23225) found -[14556] Forked 23226 -[14555] Forked 23227 -(23226) found -(23227) found -[14554] Forked 23228 -[14553] Forked 23229 -(23228) found -(23229) found -[14552] Forked 23230 -[14551] Forked 23231 -(23230) found -(23231) found -[14550] Forked 23232 -[14549] Forked 23233 -(23232) found -(23233) found -[14548] Forked 23234 -[14547] Forked 23235 -(23234) found -(23235) found -[14546] Forked 23236 -[14545] Forked 23237 -(23236) found -(23237) found -[14544] Forked 23238 -[14543] Forked 23239 -(23238) found -(23239) found -[14542] Forked 23240 -[14541] Forked 23241 -(23240) found -(23241) found -[14540] Forked 23242 -[14539] Forked 23243 -(23242) found -(23243) found -[14538] Forked 23244 -[14537] Forked 23245 -(23244) found -(23245) found -[14536] Forked 23246 -[14535] Forked 23247 -(23246) found -(23247) found -[14534] Forked 23248 -[14533] Forked 23249 -(23248) found -(23249) found -[14532] Forked 23250 -[14531] Forked 23251 -(23250) found -(23251) found -[14530] Forked 23252 -[14529] Forked 23253 -(23252) found -(23253) found -[14528] Forked 23254 -[14527] Forked 23255 -(23254) found -(23255) found -[14526] Forked 23256 -[14525] Forked 23257 -(23256) found -(23257) found -[14524] Forked 23258 -[14523] Forked 23259 -(23258) found -(23259) found -[14522] Forked 23260 -[14521] Forked 23261 -(23260) found -(23261) found -[14520] Forked 23262 -[14519] Forked 23263 -(23262) found -(23263) found -[14518] Forked 23264 -[14517] Forked 23265 -(23264) found -(23265) found -[14516] Forked 23266 -[14515] Forked 23267 -(23266) found -(23267) found -[14514] Forked 23268 -[14513] Forked 23269 -(23268) found -(23269) found -[14512] Forked 23270 -[14511] Forked 23271 -(23270) found -(23271) found -[14510] Forked 23272 -[14509] Forked 23273 -(23272) found -(23273) found -[14508] Forked 23274 -[14507] Forked 23275 -(23274) found -(23275) found -[14506] Forked 23276 -[14505] Forked 23277 -(23276) found -(23277) found -[14504] Forked 23278 -[14503] Forked 23279 -(23278) found -(23279) found -[14502] Forked 23280 -[14501] Forked 23281 -(23280) found -(23281) found -[14500] Forked 23282 -[14499] Forked 23283 -(23282) found -(23283) found -[14498] Forked 23284 -[14497] Forked 23285 -(23284) found -(23285) found -[14496] Forked 23286 -[14495] Forked 23287 -(23286) found -(23287) found -[14494] Forked 23288 -[14493] Forked 23289 -(23288) found -(23289) found -[14492] Forked 23290 -[14491] Forked 23291 -(23290) found -(23291) found -[14490] Forked 23292 -[14489] Forked 23293 -(23292) found -(23293) found -[14488] Forked 23294 -[14487] Forked 23295 -(23294) found -(23295) found -[14486] Forked 23296 -[14485] Forked 23297 -(23296) found -(23297) found -[14484] Forked 23298 -[14483] Forked 23299 -(23298) found -(23299) found -[14482] Forked 23300 -[14481] Forked 23301 -(23300) found -(23301) found -[14480] Forked 23302 -[14479] Forked 23303 -(23302) found -(23303) found -[14478] Forked 23304 -[14477] Forked 23305 -(23304) found -(23305) found -[14476] Forked 23306 -[14475] Forked 23307 -(23306) found -(23307) found -[14474] Forked 23308 -[14473] Forked 23309 -(23308) found -(23309) found -[14472] Forked 23310 -[14471] Forked 23311 -(23310) found -(23311) found -[14470] Forked 23312 -(23312) found -[14469] Forked 23313 -(23313) found -[14468] Forked 23314 -(23314) found -[14467] Forked 23315 -(23315) found -[14466] Forked 23316 -(23316) found -[14465] Forked 23317 -(23317) found -[14464] Forked 23318 -(23318) found -[14463] Forked 23319 -(23319) found -[14462] Forked 23320 -(23320) found -[14461] Forked 23321 -(23321) found -[14460] Forked 23322 -(23322) found -[14459] Forked 23323 -(23323) found -[14458] Forked 23324 -(23324) found -[14457] Forked 23325 -(23325) found -[14456] Forked 23326 -(23326) found -[14455] Forked 23327 -(23327) found -[14454] Forked 23328 -(23328) found -[14453] Forked 23329 -(23329) found -[14452] Forked 23330 -(23330) found -[14451] Forked 23331 -(23331) found -[14450] Forked 23332 -(23332) found -[14449] Forked 23333 -(23333) found -[14448] Forked 23334 -(23334) found -[14447] Forked 23335 -(23335) found -[14446] Forked 23336 -(23336) found -[14445] Forked 23337 -(23337) found -[14444] Forked 23338 -(23338) found -[14443] Forked 23339 -(23339) found -[14442] Forked 23340 -(23340) found -[14441] Forked 23341 -(23341) found -[14440] Forked 23342 -(23342) found -[14439] Forked 23343 -(23343) found -[14438] Forked 23344 -(23344) found -[14437] Forked 23345 -(23345) found -[14436] Forked 23346 -(23346) found -[14435] Forked 23347 -(23347) found -[14434] Forked 23348 -(23348) found -[14433] Forked 23349 -(23349) found -[14432] Forked 23350 -[14431] Forked 23351 -(23350) found -(23351) found -[14430] Forked 23352 -[14429] Forked 23353 -(23352) found -(23353) found -[14428] Forked 23354 -[14427] Forked 23355 -(23354) found -(23355) found -[14426] Forked 23356 -[14425] Forked 23357 -(23356) found -(23357) found -[14424] Forked 23358 -[14423] Forked 23359 -(23358) found -(23359) found -[14422] Forked 23360 -[14421] Forked 23361 -(23360) found -(23361) found -[14420] Forked 23362 -[14419] Forked 23363 -(23362) found -(23363) found -[14418] Forked 23364 -[14417] Forked 23365 -(23364) found -(23365) found -[14416] Forked 23366 -(23366) found -[14415] Forked 23367 -(23367) found -[14414] Forked 23368 -[14413] Forked 23369 -(23368) found -(23369) found -[14412] Forked 23370 -[14411] Forked 23371 -(23370) found -(23371) found -[14410] Forked 23372 -[14409] Forked 23373 -(23372) found -(23373) found -[14408] Forked 23374 -[14407] Forked 23375 -(23374) found -(23375) found -[14406] Forked 23376 -[14405] Forked 23377 -(23376) found -(23377) found -[14404] Forked 23378 -[14403] Forked 23379 -(23378) found -(23379) found -[14402] Forked 23380 -[14401] Forked 23381 -(23380) found -(23381) found -[14400] Forked 23382 -[14399] Forked 23383 -(23382) found -(23383) found -[14398] Forked 23384 -[14397] Forked 23385 -(23384) found -(23385) found -[14396] Forked 23386 -[14395] Forked 23387 -(23386) found -(23387) found -[14394] Forked 23388 -[14393] Forked 23389 -(23388) found -(23389) found -[14392] Forked 23390 -[14391] Forked 23391 -(23390) found -(23391) found -[14390] Forked 23392 -[14389] Forked 23393 -(23392) found -(23393) found -[14388] Forked 23394 -[14387] Forked 23395 -(23394) found -(23395) found -[14386] Forked 23396 -[14385] Forked 23397 -(23396) found -(23397) found -[14384] Forked 23398 -[14383] Forked 23399 -(23398) found -(23399) found -[14382] Forked 23400 -[14381] Forked 23401 -(23400) found -(23401) found -[14380] Forked 23402 -[14379] Forked 23403 -(23402) found -(23403) found -[14378] Forked 23404 -[14377] Forked 23405 -(23404) found -(23405) found -[14376] Forked 23406 -[14375] Forked 23407 -(23406) found -(23407) found -[14374] Forked 23408 -[14373] Forked 23409 -(23408) found -(23409) found -[14372] Forked 23410 -[14371] Forked 23411 -(23410) found -(23411) found -[14370] Forked 23412 -[14369] Forked 23413 -(23412) found -(23413) found -[14368] Forked 23414 -[14367] Forked 23415 -(23414) found -(23415) found -[14366] Forked 23416 -[14365] Forked 23417 -(23416) found -(23417) found -[14364] Forked 23418 -[14363] Forked 23419 -(23419) found -(23418) found -[14362] Forked 23420 -(23420) found -[14361] Forked 23421 -(23421) found -[14360] Forked 23422 -(23422) found -[14359] Forked 23423 -(23423) found -[14358] Forked 23424 -(23424) found -[14357] Forked 23425 -(23425) found -[14356] Forked 23426 -(23426) found -[14355] Forked 23427 -(23427) found -[14354] Forked 23428 -(23428) found -[14353] Forked 23429 -(23429) found -[14352] Forked 23430 -(23430) found -[14351] Forked 23431 -(23431) found -[14350] Forked 23432 -(23432) found -[14349] Forked 23433 -(23433) found -[14348] Forked 23434 -(23434) found -[14347] Forked 23435 -(23435) found -[14346] Forked 23436 -(23436) found -[14345] Forked 23437 -(23437) found -[14344] Forked 23438 -(23438) found -[14343] Forked 23439 -(23439) found -[14342] Forked 23440 -(23440) found -[14341] Forked 23441 -(23441) found -[14340] Forked 23442 -(23442) found -[14339] Forked 23443 -(23443) found -[14338] Forked 23444 -(23444) found -[14337] Forked 23445 -(23445) found -[14336] Forked 23446 -(23446) found -[14335] Forked 23447 -(23447) found -[14334] Forked 23448 -(23448) found -[14333] Forked 23449 -(23449) found -[14332] Forked 23450 -(23450) found -[14331] Forked 23451 -(23451) found -[14330] Forked 23452 -(23452) found -[14329] Forked 23453 -(23453) found -[14328] Forked 23454 -(23454) found -[14327] Forked 23455 -(23455) found -[14326] Forked 23456 -(23456) found -[14325] Forked 23457 -(23457) found -[14324] Forked 23458 -(23458) found -[14323] Forked 23459 -(23459) found -[14322] Forked 23460 -(23460) found -[14321] Forked 23461 -(23461) found -[14320] Forked 23462 -(23462) found -[14319] Forked 23463 -(23463) found -[14318] Forked 23464 -(23464) found -[14317] Forked 23465 -(23465) found -[14316] Forked 23466 -(23466) found -[14315] Forked 23467 -(23467) found -[14314] Forked 23468 -(23468) found -[14313] Forked 23469 -[14312] Forked 23470 -(23469) found -(23470) found -[14311] Forked 23471 -[14310] Forked 23472 -(23471) found -(23472) found -[14309] Forked 23473 -[14308] Forked 23474 -(23473) found -(23474) found -[14307] Forked 23475 -[14306] Forked 23476 -(23475) found -(23476) found -[14305] Forked 23477 -[14304] Forked 23478 -(23477) found -(23478) found -[14303] Forked 23479 -[14302] Forked 23480 -(23479) found -(23480) found -[14301] Forked 23481 -[14300] Forked 23482 -(23481) found -(23482) found -[14299] Forked 23483 -[14298] Forked 23484 -(23483) found -(23484) found -[14297] Forked 23485 -[14296] Forked 23486 -(23485) found -(23486) found -[14295] Forked 23487 -[14294] Forked 23488 -(23487) found -(23488) found -[14293] Forked 23489 -[14292] Forked 23490 -(23489) found -(23490) found -[14291] Forked 23491 -[14290] Forked 23492 -(23491) found -(23492) found -[14289] Forked 23493 -[14288] Forked 23494 -(23493) found -(23494) found -[14287] Forked 23495 -[14286] Forked 23496 -(23495) found -(23496) found -[14285] Forked 23497 -[14284] Forked 23498 -(23497) found -(23498) found -[14283] Forked 23499 -[14282] Forked 23500 -(23499) found -(23500) found -[14281] Forked 23501 -[14280] Forked 23502 -(23501) found -(23502) found -[14279] Forked 23503 -[14278] Forked 23504 -(23503) found -(23504) found -[14277] Forked 23505 -[14276] Forked 23506 -(23505) found -(23506) found -[14275] Forked 23507 -[14274] Forked 23508 -(23507) found -(23508) found -[14273] Forked 23509 -[14272] Forked 23510 -(23509) found -(23510) found -[14271] Forked 23511 -[14270] Forked 23512 -(23511) found -(23512) found -[14269] Forked 23513 -[14268] Forked 23514 -(23513) found -(23514) found -[14267] Forked 23515 -[14266] Forked 23516 -(23516) found -(23515) found -[14265] Forked 23517 -(23517) found -[14264] Forked 23518 -(23518) found -[14263] Forked 23519 -(23519) found -[14262] Forked 23520 -(23520) found -[14261] Forked 23521 -(23521) found -[14260] Forked 23522 -(23522) found -[14259] Forked 23523 -(23523) found -[14258] Forked 23524 -(23524) found -[14257] Forked 23525 -(23525) found -[14256] Forked 23526 -(23526) found -[14255] Forked 23527 -(23527) found -[14254] Forked 23528 -(23528) found -[14253] Forked 23529 -(23529) found -[14252] Forked 23530 -(23530) found -[14251] Forked 23531 -(23531) found -[14250] Forked 23532 -(23532) found -[14249] Forked 23533 -(23533) found -[14248] Forked 23534 -(23534) found -[14247] Forked 23535 -(23535) found -[14246] Forked 23536 -(23536) found -[14245] Forked 23537 -(23537) found -[14244] Forked 23538 -(23538) found -[14243] Forked 23539 -(23539) found -[14242] Forked 23540 -(23540) found -[14241] Forked 23541 -(23541) found -[14240] Forked 23542 -(23542) found -[14239] Forked 23543 -(23543) found -[14238] Forked 23544 -(23544) found -[14237] Forked 23545 -(23545) found -[14236] Forked 23546 -(23546) found -[14235] Forked 23547 -(23547) found -[14234] Forked 23548 -(23548) found -[14233] Forked 23549 -(23549) found -[14232] Forked 23550 -(23550) found -[14231] Forked 23551 -(23551) found -[14230] Forked 23552 -(23552) found -[14229] Forked 23553 -(23553) found -[14228] Forked 23554 -(23554) found -[14227] Forked 23555 -(23555) found -[14226] Forked 23556 -(23556) found -[14225] Forked 23557 -(23557) found -[14224] Forked 23558 -(23558) found -[14223] Forked 23559 -(23559) found -[14222] Forked 23560 -(23560) found -[14221] Forked 23561 -(23561) found -[14220] Forked 23562 -(23562) found -[14219] Forked 23563 -(23563) found -[14218] Forked 23564 -(23564) found -[14217] Forked 23565 -(23565) found -[14216] Forked 23566 -(23566) found -[14215] Forked 23567 -(23567) found -[14214] Forked 23568 -(23568) found -[14213] Forked 23569 -(23569) found -[14212] Forked 23570 -(23570) found -[14211] Forked 23571 -(23571) found -[14210] Forked 23572 -(23572) found -[14209] Forked 23573 -(23573) found -[14208] Forked 23574 -(23574) found -[14207] Forked 23575 -(23575) found -[14206] Forked 23576 -(23576) found -[14205] Forked 23577 -(23577) found -[14204] Forked 23578 -(23578) found -[14203] Forked 23579 -(23579) found -[14202] Forked 23580 -(23580) found -[14201] Forked 23581 -(23581) found -[14200] Forked 23582 -(23582) found -[14199] Forked 23583 -(23583) found -[14198] Forked 23584 -(23584) found -[14197] Forked 23585 -[14196] Forked 23586 -(23585) found -(23586) found -[14195] Forked 23587 -[14194] Forked 23588 -(23587) found -(23588) found -[14193] Forked 23589 -[14192] Forked 23590 -(23589) found -(23590) found -[14191] Forked 23591 -[14190] Forked 23592 -(23591) found -(23592) found -[14189] Forked 23593 -[14188] Forked 23594 -(23593) found -(23594) found -[14187] Forked 23595 -[14186] Forked 23596 -(23595) found -(23596) found -[14185] Forked 23597 -[14184] Forked 23598 -(23597) found -(23598) found -[14183] Forked 23599 -[14182] Forked 23600 -(23599) found -(23600) found -[14181] Forked 23601 -[14180] Forked 23602 -(23601) found -(23602) found -[14179] Forked 23603 -[14178] Forked 23604 -(23603) found -(23604) found -[14177] Forked 23605 -[14176] Forked 23606 -(23605) found -(23606) found -[14175] Forked 23607 -[14174] Forked 23608 -(23607) found -(23608) found -[14173] Forked 23609 -[14172] Forked 23610 -(23609) found -(23610) found -[14171] Forked 23611 -[14170] Forked 23612 -(23611) found -(23612) found -[14169] Forked 23613 -[14168] Forked 23614 -(23613) found -(23614) found -[14167] Forked 23615 -[14166] Forked 23616 -(23615) found -(23616) found -[14165] Forked 23617 -[14164] Forked 23618 -(23617) found -(23618) found -[14163] Forked 23619 -[14162] Forked 23620 -(23619) found -(23620) found -[14161] Forked 23621 -[14160] Forked 23622 -(23621) found -(23622) found -[14159] Forked 23623 -[14158] Forked 23624 -(23623) found -(23624) found -[14157] Forked 23625 -[14156] Forked 23626 -(23625) found -(23626) found -[14155] Forked 23627 -[14154] Forked 23628 -(23627) found -(23628) found -[14153] Forked 23629 -[14152] Forked 23630 -(23629) found -(23630) found -[14151] Forked 23631 -[14150] Forked 23632 -(23631) found -(23632) found -[14149] Forked 23633 -[14148] Forked 23634 -(23633) found -(23634) found -[14147] Forked 23635 -[14146] Forked 23636 -(23635) found -(23636) found -[14145] Forked 23637 -[14144] Forked 23638 -(23637) found -(23638) found -[14143] Forked 23639 -[14142] Forked 23640 -(23639) found -(23640) found -[14141] Forked 23641 -[14140] Forked 23642 -(23641) found -(23642) found -[14139] Forked 23643 -[14138] Forked 23644 -(23643) found -(23644) found -[14137] Forked 23645 -[14136] Forked 23646 -(23645) found -(23646) found -[14135] Forked 23647 -[14134] Forked 23648 -(23647) found -(23648) found -[14133] Forked 23649 -[14132] Forked 23650 -(23649) found -(23650) found -[14131] Forked 23651 -[14130] Forked 23652 -(23651) found -(23652) found -[14129] Forked 23653 -[14128] Forked 23654 -(23653) found -(23654) found -[14127] Forked 23655 -[14126] Forked 23656 -(23655) found -(23656) found -[14125] Forked 23657 -[14124] Forked 23658 -(23657) found -(23658) found -[14123] Forked 23659 -[14122] Forked 23660 -(23659) found -(23660) found -[14121] Forked 23661 -[14120] Forked 23662 -(23661) found -(23662) found -[14119] Forked 23663 -[14118] Forked 23664 -(23663) found -(23664) found -[14117] Forked 23665 -[14116] Forked 23666 -(23665) found -(23666) found -[14115] Forked 23667 -[14114] Forked 23668 -(23667) found -(23668) found -[14113] Forked 23669 -[14112] Forked 23670 -(23669) found -(23670) found -[14111] Forked 23671 -[14110] Forked 23672 -(23671) found -(23672) found -[14109] Forked 23673 -[14108] Forked 23674 -(23673) found -(23674) found -[14107] Forked 23675 -[14106] Forked 23676 -(23675) found -(23676) found -[14105] Forked 23677 -[14104] Forked 23678 -(23677) found -(23678) found -[14103] Forked 23679 -[14102] Forked 23680 -(23679) found -(23680) found -[14101] Forked 23681 -[14100] Forked 23682 -(23681) found -(23682) found -[14099] Forked 23683 -[14098] Forked 23684 -(23683) found -(23684) found -[14097] Forked 23685 -[14096] Forked 23686 -(23685) found -(23686) found -[14095] Forked 23687 -[14094] Forked 23688 -(23687) found -(23688) found -[14093] Forked 23689 -[14092] Forked 23690 -(23689) found -(23690) found -[14091] Forked 23691 -[14090] Forked 23692 -(23691) found -(23692) found -[14089] Forked 23693 -[14088] Forked 23694 -(23693) found -(23694) found -[14087] Forked 23695 -[14086] Forked 23696 -(23695) found -(23696) found -[14085] Forked 23697 -[14084] Forked 23698 -(23697) found -(23698) found -[14083] Forked 23699 -[14082] Forked 23700 -(23699) found -(23700) found -[14081] Forked 23701 -[14080] Forked 23702 -(23701) found -(23702) found -[14079] Forked 23703 -[14078] Forked 23704 -(23703) found -(23704) found -[14077] Forked 23705 -[14076] Forked 23706 -(23705) found -(23706) found -[14075] Forked 23707 -[14074] Forked 23708 -(23707) found -(23708) found -[14073] Forked 23709 -[14072] Forked 23710 -(23709) found -(23710) found -[14071] Forked 23711 -[14070] Forked 23712 -(23711) found -(23712) found -[14069] Forked 23713 -[14068] Forked 23714 -(23713) found -(23714) found -[14067] Forked 23715 -[14066] Forked 23716 -(23715) found -(23716) found -[14065] Forked 23717 -[14064] Forked 23718 -(23717) found -(23718) found -[14063] Forked 23719 -(23719) found -[14062] Forked 23720 -(23720) found -[14061] Forked 23721 -(23721) found -[14060] Forked 23722 -(23722) found -[14059] Forked 23723 -(23723) found -[14058] Forked 23724 -(23724) found -[14057] Forked 23725 -(23725) found -[14056] Forked 23726 -(23726) found -[14055] Forked 23727 -(23727) found -[14054] Forked 23728 -(23728) found -[14053] Forked 23729 -(23729) found -[14052] Forked 23730 -(23730) found -[14051] Forked 23731 -(23731) found -[14050] Forked 23732 -(23732) found -[14049] Forked 23733 -(23733) found -[14048] Forked 23734 -(23734) found -[14047] Forked 23735 -(23735) found -[14046] Forked 23736 -(23736) found -[14045] Forked 23737 -(23737) found -[14044] Forked 23738 -(23738) found -[14043] Forked 23739 -(23739) found -[14042] Forked 23740 -(23740) found -[14041] Forked 23741 -(23741) found -[14040] Forked 23742 -(23742) found -[14039] Forked 23743 -(23743) found -[14038] Forked 23744 -(23744) found -[14037] Forked 23745 -(23745) found -[14036] Forked 23746 -(23746) found -[14035] Forked 23747 -(23747) found -[14034] Forked 23748 -(23748) found -[14033] Forked 23749 -(23749) found -[14032] Forked 23750 -(23750) found -[14031] Forked 23751 -(23751) found -[14030] Forked 23752 -(23752) found -[14029] Forked 23753 -(23753) found -[14028] Forked 23754 -(23754) found -[14027] Forked 23755 -(23755) found -[14026] Forked 23756 -(23756) found -[14025] Forked 23757 -[14024] Forked 23758 -(23757) found -(23758) found -[14023] Forked 23759 -[14022] Forked 23760 -(23759) found -(23760) found -[14021] Forked 23761 -[14020] Forked 23762 -(23761) found -(23762) found -[14019] Forked 23763 -[14018] Forked 23764 -(23763) found -(23764) found -[14017] Forked 23765 -[14016] Forked 23766 -(23765) found -(23766) found -[14015] Forked 23767 -[14014] Forked 23768 -(23767) found -(23768) found -[14013] Forked 23769 -[14012] Forked 23770 -(23769) found -(23770) found -[14011] Forked 23771 -[14010] Forked 23772 -(23771) found -(23772) found -[14009] Forked 23773 -[14008] Forked 23774 -(23773) found -(23774) found -[14007] Forked 23775 -[14006] Forked 23776 -(23775) found -(23776) found -[14005] Forked 23777 -[14004] Forked 23778 -(23777) found -(23778) found -[14003] Forked 23779 -[14002] Forked 23780 -(23779) found -(23780) found -[14001] Forked 23781 -[14000] Forked 23782 -(23781) found -(23782) found -[13999] Forked 23783 -[13998] Forked 23784 -(23783) found -(23784) found -[13997] Forked 23785 -[13996] Forked 23786 -(23785) found -(23786) found -[13995] Forked 23787 -[13994] Forked 23788 -(23787) found -(23788) found -[13993] Forked 23789 -[13992] Forked 23790 -(23789) found -(23790) found -[13991] Forked 23791 -[13990] Forked 23792 -(23791) found -(23792) found -[13989] Forked 23793 -[13988] Forked 23794 -(23793) found -(23794) found -[13987] Forked 23795 -[13986] Forked 23796 -(23795) found -(23796) found -[13985] Forked 23797 -[13984] Forked 23798 -(23797) found -(23798) found -[13983] Forked 23799 -[13982] Forked 23800 -(23799) found -(23800) found -[13981] Forked 23801 -[13980] Forked 23802 -(23801) found -(23802) found -[13979] Forked 23803 -[13978] Forked 23804 -(23803) found -(23804) found -[13977] Forked 23805 -[13976] Forked 23806 -(23805) found -(23806) found -[13975] Forked 23807 -[13974] Forked 23808 -(23807) found -(23808) found -[13973] Forked 23809 -[13972] Forked 23810 -(23809) found -(23810) found -[13971] Forked 23811 -[13970] Forked 23812 -(23811) found -(23812) found -[13969] Forked 23813 -[13968] Forked 23814 -(23813) found -(23814) found -[13967] Forked 23815 -[13966] Forked 23816 -(23815) found -(23816) found -[13965] Forked 23817 -[13964] Forked 23818 -(23817) found -(23818) found -[13963] Forked 23819 -[13962] Forked 23820 -(23819) found -(23820) found -[13961] Forked 23821 -[13960] Forked 23822 -(23821) found -(23822) found -[13959] Forked 23823 -[13958] Forked 23824 -(23823) found -(23824) found -[13957] Forked 23825 -[13956] Forked 23826 -(23825) found -(23826) found -[13955] Forked 23827 -[13954] Forked 23828 -(23827) found -(23828) found -[13953] Forked 23829 -[13952] Forked 23830 -(23829) found -(23830) found -[13951] Forked 23831 -[13950] Forked 23832 -(23831) found -(23832) found -[13949] Forked 23833 -[13948] Forked 23834 -(23833) found -(23834) found -[13947] Forked 23835 -[13946] Forked 23836 -(23835) found -(23836) found -[13945] Forked 23837 -[13944] Forked 23838 -(23837) found -(23838) found -[13943] Forked 23839 -[13942] Forked 23840 -(23839) found -(23840) found -[13941] Forked 23841 -[13940] Forked 23842 -(23841) found -(23842) found -[13939] Forked 23843 -[13938] Forked 23844 -(23843) found -(23844) found -[13937] Forked 23845 -[13936] Forked 23847 -(23845) found -(23847) found -[13935] Forked 23848 -(23848) found -[13934] Forked 23849 -(23849) found -[13933] Forked 23850 -(23850) found -[13932] Forked 23851 -(23851) found -[13931] Forked 23852 -(23852) found -[13930] Forked 23853 -(23853) found -[13929] Forked 23854 -(23854) found -[13928] Forked 23855 -(23855) found -[13927] Forked 23856 -(23856) found -[13926] Forked 23857 -(23857) found -[13925] Forked 23858 -(23858) found -[13924] Forked 23859 -(23859) found -[13923] Forked 23860 -(23860) found -[13922] Forked 23861 -(23861) found -[13921] Forked 23862 -(23862) found -[13920] Forked 23863 -(23863) found -[13919] Forked 23864 -(23864) found -[13918] Forked 23865 -(23865) found -[13917] Forked 23866 -(23866) found -[13916] Forked 23867 -(23867) found -[13915] Forked 23868 -(23868) found -[13914] Forked 23869 -(23869) found -[13913] Forked 23870 -(23870) found -[13912] Forked 23871 -(23871) found -[13911] Forked 23872 -(23872) found -[13910] Forked 23873 -(23873) found -[13909] Forked 23874 -(23874) found -[13908] Forked 23875 -(23875) found -[13907] Forked 23876 -(23876) found -[13906] Forked 23877 -(23877) found -[13905] Forked 23878 -(23878) found -[13904] Forked 23879 -(23879) found -[13903] Forked 23880 -(23880) found -[13902] Forked 23881 -(23881) found -[13901] Forked 23882 -(23882) found -[13900] Forked 23883 -(23883) found -[13899] Forked 23884 -(23884) found -[13898] Forked 23885 -(23885) found -[13897] Forked 23886 -(23886) found -[13896] Forked 23887 -(23887) found -[13895] Forked 23888 -(23888) found -[13894] Forked 23889 -(23889) found -[13893] Forked 23890 -(23890) found -[13892] Forked 23891 -(23891) found -[13891] Forked 23892 -(23892) found -[13890] Forked 23893 -(23893) found -[13889] Forked 23894 -(23894) found -[13888] Forked 23895 -(23895) found -[13887] Forked 23896 -(23896) found -[13886] Forked 23897 -(23897) found -[13885] Forked 23898 -(23898) found -[13884] Forked 23899 -(23899) found -[13883] Forked 23900 -(23900) found -[13882] Forked 23901 -(23901) found -[13881] Forked 23902 -(23902) found -[13880] Forked 23903 -(23903) found -[13879] Forked 23904 -(23904) found -[13878] Forked 23905 -(23905) found -[13877] Forked 23906 -(23906) found -[13876] Forked 23907 -(23907) found -[13875] Forked 23908 -(23908) found -[13874] Forked 23909 -(23909) found -[13873] Forked 23910 -(23910) found -[13872] Forked 23911 -(23911) found -[13871] Forked 23912 -(23912) found -[13870] Forked 23913 -(23913) found -[13869] Forked 23914 -(23914) found -[13868] Forked 23915 -(23915) found -[13867] Forked 23916 -(23916) found -[13866] Forked 23917 -(23917) found -[13865] Forked 23918 -[13864] Forked 23919 -(23918) found -(23919) found -[13863] Forked 23920 -[13862] Forked 23921 -(23920) found -(23921) found -[13861] Forked 23922 -[13860] Forked 23923 -(23922) found -(23923) found -[13859] Forked 23924 -(23924) found -[13858] Forked 23925 -[13857] Forked 23926 -(23926) found -(23925) found -[13856] Forked 23927 -(23927) found -[13855] Forked 23928 -(23928) found -[13854] Forked 23929 -(23929) found -[13853] Forked 23930 -(23930) found -[13852] Forked 23931 -(23931) found -[13851] Forked 23932 -(23932) found -[13850] Forked 23933 -(23933) found -[13849] Forked 23934 -(23934) found -[13848] Forked 23935 -(23935) found -[13847] Forked 23936 -(23936) found -[13846] Forked 23937 -(23937) found -[13845] Forked 23938 -(23938) found -[13844] Forked 23939 -(23939) found -[13843] Forked 23940 -(23940) found -[13842] Forked 23941 -(23941) found -[13841] Forked 23942 -(23942) found -[13840] Forked 23943 -[13839] Forked 23944 -(23943) found -(23944) found -[13838] Forked 23945 -[13837] Forked 23946 -(23946) found -(23945) found -[13836] Forked 23947 -(23947) found -[13835] Forked 23948 -(23948) found -[13834] Forked 23949 -(23949) found -[13833] Forked 23950 -(23950) found -[13832] Forked 23951 -(23951) found -[13831] Forked 23952 -(23952) found -[13830] Forked 23953 -(23953) found -[13829] Forked 23954 -(23954) found -[13828] Forked 23955 -(23955) found -[13827] Forked 23956 -(23956) found -[13826] Forked 23957 -(23957) found -[13825] Forked 23958 -(23958) found -[13824] Forked 23959 -(23959) found -[13823] Forked 23960 -(23960) found -[13822] Forked 23961 -(23961) found -[13821] Forked 23962 -(23962) found -[13820] Forked 23963 -(23963) found -[13819] Forked 23964 -(23964) found -[13818] Forked 23965 -(23965) found -[13817] Forked 23966 -(23966) found -[13816] Forked 23967 -(23967) found -[13815] Forked 23968 -(23968) found -[13814] Forked 23969 -(23969) found -[13813] Forked 23970 -(23970) found -[13812] Forked 23971 -(23971) found -[13811] Forked 23972 -(23972) found -[13810] Forked 23973 -(23973) found -[13809] Forked 23974 -(23974) found -[13808] Forked 23975 -(23975) found -[13807] Forked 23976 -(23976) found -[13806] Forked 23977 -(23977) found -[13805] Forked 23978 -(23978) found -[13804] Forked 23979 -(23979) found -[13803] Forked 23980 -(23980) found -[13802] Forked 23981 -(23981) found -[13801] Forked 23982 -(23982) found -[13800] Forked 23983 -(23983) found -[13799] Forked 23984 -(23984) found -[13798] Forked 23985 -[13797] Forked 23986 -(23985) found -(23986) found -[13796] Forked 23987 -[13795] Forked 23988 -(23987) found -(23988) found -[13794] Forked 23989 -[13793] Forked 23990 -(23989) found -(23990) found -[13792] Forked 23991 -[13791] Forked 23992 -(23991) found -(23992) found -[13790] Forked 23993 -[13789] Forked 23994 -(23993) found -(23994) found -[13788] Forked 23995 -[13787] Forked 23996 -(23995) found -(23996) found -[13786] Forked 23997 -[13785] Forked 23998 -(23997) found -(23998) found -[13784] Forked 23999 -[13783] Forked 24000 -(23999) found -(24000) found -[13782] Forked 24001 -[13781] Forked 24002 -(24001) found -(24002) found -[13780] Forked 24003 -[13779] Forked 24004 -(24004) found -(24003) found -[13778] Forked 24005 -(24005) found -[13777] Forked 24006 -(24006) found -[13776] Forked 24007 -(24007) found -[13775] Forked 24008 -(24008) found -[13774] Forked 24009 -(24009) found -[13773] Forked 24010 -(24010) found -[13772] Forked 24011 -(24011) found -[13771] Forked 24012 -(24012) found -[13770] Forked 24013 -(24013) found -[13769] Forked 24014 -(24014) found -[13768] Forked 24015 -(24015) found -[13767] Forked 24016 -(24016) found -[13766] Forked 24017 -(24017) found -[13765] Forked 24018 -(24018) found -[13764] Forked 24019 -[13763] Forked 24020 -(24019) found -(24020) found -[13762] Forked 24021 -[13761] Forked 24022 -(24021) found -(24022) found -[13760] Forked 24023 -[13759] Forked 24024 -(24023) found -(24024) found -[13758] Forked 24025 -[13757] Forked 24026 -(24025) found -(24026) found -[13756] Forked 24027 -[13755] Forked 24028 -(24027) found -(24028) found -[13754] Forked 24029 -[13753] Forked 24030 -(24029) found -(24030) found -[13752] Forked 24031 -[13751] Forked 24032 -(24031) found -(24032) found -[13750] Forked 24033 -[13749] Forked 24034 -(24033) found -(24034) found -[13748] Forked 24035 -[13747] Forked 24036 -(24035) found -(24036) found -[13746] Forked 24037 -[13745] Forked 24038 -(24037) found -(24038) found -[13744] Forked 24039 -[13743] Forked 24040 -(24039) found -(24040) found -[13742] Forked 24041 -[13741] Forked 24042 -(24041) found -(24042) found -[13740] Forked 24043 -[13739] Forked 24044 -(24043) found -(24044) found -[13738] Forked 24045 -(24045) found -[13737] Forked 24046 -[13736] Forked 24048 -(24046) found -(24048) found -[13735] Forked 24049 -(24049) found -[13734] Forked 24050 -(24050) found -[13733] Forked 24051 -(24051) found -[13732] Forked 24052 -(24052) found -[13731] Forked 24053 -(24053) found -[13730] Forked 24054 -(24054) found -[13729] Forked 24055 -(24055) found -[13728] Forked 24056 -(24056) found -[13727] Forked 24057 -(24057) found -[13726] Forked 24058 -(24058) found -[13725] Forked 24059 -(24059) found -[13724] Forked 24060 -(24060) found -[13723] Forked 24061 -(24061) found -[13722] Forked 24062 -(24062) found -[13721] Forked 24063 -(24063) found -[13720] Forked 24064 -(24064) found -[13719] Forked 24065 -(24065) found -[13718] Forked 24066 -(24066) found -[13717] Forked 24067 -(24067) found -[13716] Forked 24068 -(24068) found -[13715] Forked 24069 -(24069) found -[13714] Forked 24070 -(24070) found -[13713] Forked 24071 -(24071) found -[13712] Forked 24072 -(24072) found -[13711] Forked 24073 -(24073) found -[13710] Forked 24074 -(24074) found -[13709] Forked 24075 -(24075) found -[13708] Forked 24076 -(24076) found -[13707] Forked 24077 -(24077) found -[13706] Forked 24078 -(24078) found -[13705] Forked 24079 -(24079) found -[13704] Forked 24080 -(24080) found -[13703] Forked 24081 -(24081) found -[13702] Forked 24082 -(24082) found -[13701] Forked 24083 -(24083) found -[13700] Forked 24084 -(24084) found -[13699] Forked 24085 -(24085) found -[13698] Forked 24086 -(24086) found -[13697] Forked 24087 -(24087) found -[13696] Forked 24088 -(24088) found -[13695] Forked 24089 -(24089) found -[13694] Forked 24090 -(24090) found -[13693] Forked 24091 -(24091) found -[13692] Forked 24092 -(24092) found -[13691] Forked 24093 -(24093) found -[13690] Forked 24094 -(24094) found -[13689] Forked 24095 -(24095) found -[13688] Forked 24096 -(24096) found -[13687] Forked 24097 -(24097) found -[13686] Forked 24098 -(24098) found -[13685] Forked 24099 -(24099) found -[13684] Forked 24100 -(24100) found -[13683] Forked 24101 -(24101) found -[13682] Forked 24102 -(24102) found -[13681] Forked 24103 -(24103) found -[13680] Forked 24104 -(24104) found -[13679] Forked 24105 -(24105) found -[13678] Forked 24106 -(24106) found -[13677] Forked 24107 -(24107) found -[13676] Forked 24108 -(24108) found -[13675] Forked 24109 -(24109) found -[13674] Forked 24110 -(24110) found -[13673] Forked 24111 -(24111) found -[13672] Forked 24112 -(24112) found -[13671] Forked 24113 -(24113) found -[13670] Forked 24114 -(24114) found -[13669] Forked 24115 -(24115) found -[13668] Forked 24116 -(24116) found -[13667] Forked 24117 -(24117) found -[13666] Forked 24118 -(24118) found -[13665] Forked 24119 -(24119) found -[13664] Forked 24120 -(24120) found -[13663] Forked 24121 -(24121) found -[13662] Forked 24122 -(24122) found -[13661] Forked 24123 -(24123) found -[13660] Forked 24124 -(24124) found -[13659] Forked 24125 -(24125) found -[13658] Forked 24126 -[13657] Forked 24127 -(24126) found -(24127) found -[13656] Forked 24128 -[13655] Forked 24129 -(24128) found -(24129) found -[13654] Forked 24130 -[13653] Forked 24131 -(24130) found -(24131) found -[13652] Forked 24132 -[13651] Forked 24133 -(24132) found -(24133) found -[13650] Forked 24134 -[13649] Forked 24135 -(24135) found -(24134) found -[13648] Forked 24136 -(24136) found -[13647] Forked 24137 -(24137) found -[13646] Forked 24139 -(24139) found -[13645] Forked 24140 -(24140) found -[13644] Forked 24141 -(24141) found -[13643] Forked 24142 -(24142) found -[13642] Forked 24143 -(24143) found -[13641] Forked 24144 -(24144) found -[13640] Forked 24145 -(24145) found -[13639] Forked 24146 -(24146) found -[13638] Forked 24147 -(24147) found -[13637] Forked 24148 -(24148) found -[13636] Forked 24149 -(24149) found -[13635] Forked 24150 -(24150) found -[13634] Forked 24151 -(24151) found -[13633] Forked 24152 -(24152) found -[13632] Forked 24153 -(24153) found -[13631] Forked 24154 -[13630] Forked 24155 -(24154) found -(24155) found -[13629] Forked 24156 -[13628] Forked 24157 -(24156) found -(24157) found -[13627] Forked 24158 -[13626] Forked 24159 -(24158) found -(24159) found -[13625] Forked 24160 -[13624] Forked 24161 -(24160) found -(24161) found -[13623] Forked 24162 -[13622] Forked 24163 -(24162) found -(24163) found -[13621] Forked 24164 -(24164) found -[13620] Forked 24165 -(24165) found -[13619] Forked 24166 -(24166) found -[13618] Forked 24167 -(24167) found -[13617] Forked 24168 -(24168) found -[13616] Forked 24169 -(24169) found -[13615] Forked 24170 -(24170) found -[13614] Forked 24171 -(24171) found -[13613] Forked 24172 -(24172) found -[13612] Forked 24173 -(24173) found -[13611] Forked 24174 -(24174) found -[13610] Forked 24175 -(24175) found -[13609] Forked 24176 -(24176) found -[13608] Forked 24177 -(24177) found -[13607] Forked 24178 -(24178) found -[13606] Forked 24179 -(24179) found -[13605] Forked 24180 -(24180) found -[13604] Forked 24181 -(24181) found -[13603] Forked 24182 -(24182) found -[13602] Forked 24183 -(24183) found -[13601] Forked 24184 -(24184) found -[13600] Forked 24185 -(24185) found -[13599] Forked 24186 -(24186) found -[13598] Forked 24187 -(24187) found -[13597] Forked 24188 -(24188) found -[13596] Forked 24189 -(24189) found -[13595] Forked 24190 -(24190) found -[13594] Forked 24191 -(24191) found -[13593] Forked 24192 -(24192) found -[13592] Forked 24193 -(24193) found -[13591] Forked 24194 -(24194) found -[13590] Forked 24195 -(24195) found -[13589] Forked 24196 -(24196) found -[13588] Forked 24197 -(24197) found -[13587] Forked 24198 -(24198) found -[13586] Forked 24199 -(24199) found -[13585] Forked 24200 -[13584] Forked 24201 -(24200) found -(24201) found -[13583] Forked 24202 -[13582] Forked 24203 -(24202) found -(24203) found -[13581] Forked 24204 -[13580] Forked 24205 -(24204) found -(24205) found -[13579] Forked 24206 -[13578] Forked 24207 -(24206) found -(24207) found -[13577] Forked 24208 -[13576] Forked 24209 -(24208) found -(24209) found -[13575] Forked 24210 -[13574] Forked 24211 -(24210) found -(24211) found -[13573] Forked 24212 -[13572] Forked 24213 -(24212) found -(24213) found -[13571] Forked 24214 -[13570] Forked 24215 -(24214) found -(24215) found -[13569] Forked 24216 -[13568] Forked 24217 -(24216) found -(24217) found -[13567] Forked 24218 -[13566] Forked 24219 -(24218) found -(24219) found -[13565] Forked 24220 -[13564] Forked 24221 -(24220) found -(24221) found -[13563] Forked 24222 -[13562] Forked 24224 -(24222) found -(24224) found -[13561] Forked 24225 -(24225) found -[13560] Forked 24226 -(24226) found -[13559] Forked 24227 -(24227) found -[13558] Forked 24228 -(24228) found -[13557] Forked 24229 -(24229) found -[13556] Forked 24230 -(24230) found -[13555] Forked 24231 -(24231) found -[13554] Forked 24232 -(24232) found -[13553] Forked 24233 -(24233) found -[13552] Forked 24234 -(24234) found -[13551] Forked 24235 -(24235) found -[13550] Forked 24236 -(24236) found -[13549] Forked 24237 -(24237) found -[13548] Forked 24238 -(24238) found -[13547] Forked 24239 -(24239) found -[13546] Forked 24240 -(24240) found -[13545] Forked 24241 -(24241) found -[13544] Forked 24242 -(24242) found -[13543] Forked 24243 -(24243) found -[13542] Forked 24244 -(24244) found -[13541] Forked 24245 -(24245) found -[13540] Forked 24246 -(24246) found -[13539] Forked 24247 -(24247) found -[13538] Forked 24248 -(24248) found -[13537] Forked 24249 -(24249) found -[13536] Forked 24250 -(24250) found -[13535] Forked 24251 -(24251) found -[13534] Forked 24252 -(24252) found -[13533] Forked 24253 -(24253) found -[13532] Forked 24254 -(24254) found -[13531] Forked 24255 -(24255) found -[13530] Forked 24256 -(24256) found -[13529] Forked 24257 -(24257) found -[13528] Forked 24258 -(24258) found -[13527] Forked 24259 -(24259) found -[13526] Forked 24260 -(24260) found -[13525] Forked 24261 -(24261) found -[13524] Forked 24262 -(24262) found -[13523] Forked 24263 -(24263) found -[13522] Forked 24264 -(24264) found -[13521] Forked 24265 -(24265) found -[13520] Forked 24266 -(24266) found -[13519] Forked 24267 -(24267) found -[13518] Forked 24268 -(24268) found -[13517] Forked 24269 -(24269) found -[13516] Forked 24270 -(24270) found -[13515] Forked 24271 -(24271) found -[13514] Forked 24272 -(24272) found -[13513] Forked 24273 -(24273) found -[13512] Forked 24274 -(24274) found -[13511] Forked 24275 -(24275) found -[13510] Forked 24276 -[13509] Forked 24277 -(24276) found -(24277) found -[13508] Forked 24278 -[13507] Forked 24279 -(24278) found -(24279) found -[13506] Forked 24280 -[13505] Forked 24281 -(24280) found -(24281) found -[13504] Forked 24282 -[13503] Forked 24283 -(24282) found -(24283) found -[13502] Forked 24284 -[13501] Forked 24285 -(24284) found -(24285) found -[13500] Forked 24286 -[13499] Forked 24287 -(24286) found -(24287) found -[13498] Forked 24288 -[13497] Forked 24289 -(24288) found -(24289) found -[13496] Forked 24290 -[13495] Forked 24291 -(24290) found -(24291) found -[13494] Forked 24292 -[13493] Forked 24293 -(24292) found -(24293) found -[13492] Forked 24294 -[13491] Forked 24295 -(24294) found -(24295) found -[13490] Forked 24296 -[13489] Forked 24297 -(24296) found -(24297) found -[13488] Forked 24298 -[13487] Forked 24299 -(24298) found -(24299) found -[13486] Forked 24300 -[13485] Forked 24301 -(24300) found -(24301) found -[13484] Forked 24302 -[13483] Forked 24303 -(24302) found -(24303) found -[13482] Forked 24304 -[13481] Forked 24305 -(24304) found -(24305) found -[13480] Forked 24306 -[13479] Forked 24307 -(24306) found -(24307) found -[13478] Forked 24308 -[13477] Forked 24309 -(24308) found -(24309) found -[13476] Forked 24310 -[13475] Forked 24311 -(24310) found -(24311) found -[13474] Forked 24312 -[13473] Forked 24313 -(24312) found -(24313) found -[13472] Forked 24314 -[13471] Forked 24315 -(24314) found -(24315) found -[13470] Forked 24316 -[13469] Forked 24317 -(24316) found -(24317) found -[13468] Forked 24319 -[13467] Forked 24320 -(24319) found -(24320) found -[13466] Forked 24321 -(24321) found -[13465] Forked 24322 -(24322) found -[13464] Forked 24323 -(24323) found -[13463] Forked 24324 -(24324) found -[13462] Forked 24325 -(24325) found -[13461] Forked 24326 -(24326) found -[13460] Forked 24327 -(24327) found -[13459] Forked 24328 -(24328) found -[13458] Forked 24329 -(24329) found -[13457] Forked 24330 -(24330) found -[13456] Forked 24331 -(24331) found -[13455] Forked 24332 -(24332) found -[13454] Forked 24333 -(24333) found -[13453] Forked 24334 -(24334) found -[13452] Forked 24335 -(24335) found -[13451] Forked 24336 -(24336) found -[13450] Forked 24337 -(24337) found -[13449] Forked 24338 -(24338) found -[13448] Forked 24339 -(24339) found -[13447] Forked 24340 -(24340) found -[13446] Forked 24341 -(24341) found -[13445] Forked 24342 -(24342) found -[13444] Forked 24343 -(24343) found -[13443] Forked 24344 -(24344) found -[13442] Forked 24345 -(24345) found -[13441] Forked 24346 -(24346) found -[13440] Forked 24347 -(24347) found -[13439] Forked 24348 -(24348) found -[13438] Forked 24349 -(24349) found -[13437] Forked 24350 -(24350) found -[13436] Forked 24351 -(24351) found -[13435] Forked 24352 -(24352) found -[13434] Forked 24353 -(24353) found -[13433] Forked 24354 -(24354) found -[13432] Forked 24355 -(24355) found -[13431] Forked 24356 -(24356) found -[13430] Forked 24357 -[13429] Forked 24358 -(24357) found -(24358) found -[13428] Forked 24359 -[13427] Forked 24360 -(24359) found -(24360) found -[13426] Forked 24361 -[13425] Forked 24362 -(24361) found -(24362) found -[13424] Forked 24363 -[13423] Forked 24364 -(24363) found -(24364) found -[13422] Forked 24365 -[13421] Forked 24366 -(24365) found -(24366) found -[13420] Forked 24367 -[13419] Forked 24368 -(24367) found -(24368) found -[13418] Forked 24369 -[13417] Forked 24370 -(24369) found -(24370) found -[13416] Forked 24371 -[13415] Forked 24372 -(24371) found -(24372) found -[13414] Forked 24373 -[13413] Forked 24374 -(24373) found -(24374) found -[13412] Forked 24375 -[13411] Forked 24376 -(24375) found -(24376) found -[13410] Forked 24377 -[13409] Forked 24378 -(24377) found -(24378) found -[13408] Forked 24379 -(24379) found -[13407] Forked 24380 -[13406] Forked 24381 -(24380) found -(24381) found -[13405] Forked 24382 -[13404] Forked 24383 -(24382) found -(24383) found -[13403] Forked 24384 -[13402] Forked 24385 -(24384) found -(24385) found -[13401] Forked 24386 -[13400] Forked 24387 -(24386) found -(24387) found -[13399] Forked 24388 -[13398] Forked 24389 -(24388) found -(24389) found -[13397] Forked 24390 -[13396] Forked 24391 -(24390) found -(24391) found -[13395] Forked 24392 -[13394] Forked 24393 -(24392) found -(24393) found -[13393] Forked 24394 -[13392] Forked 24395 -(24394) found -(24395) found -[13391] Forked 24396 -[13390] Forked 24397 -(24396) found -(24397) found -[13389] Forked 24398 -[13388] Forked 24399 -(24398) found -(24399) found -[13387] Forked 24400 -[13386] Forked 24401 -(24400) found -(24401) found -[13385] Forked 24402 -(24402) found -[13384] Forked 24403 -(24403) found -[13383] Forked 24404 -(24404) found -[13382] Forked 24405 -(24405) found -[13381] Forked 24406 -(24406) found -[13380] Forked 24407 -(24407) found -[13379] Forked 24408 -(24408) found -[13378] Forked 24409 -(24409) found -[13377] Forked 24410 -(24410) found -[13376] Forked 24411 -(24411) found -[13375] Forked 24412 -(24412) found -[13374] Forked 24413 -(24413) found -[13373] Forked 24414 -(24414) found -[13372] Forked 24415 -(24415) found -[13371] Forked 24416 -(24416) found -[13370] Forked 24417 -(24417) found -[13369] Forked 24418 -(24418) found -[13368] Forked 24419 -(24419) found -[13367] Forked 24420 -(24420) found -[13366] Forked 24421 -(24421) found -[13365] Forked 24422 -(24422) found -[13364] Forked 24423 -(24423) found -[13363] Forked 24424 -(24424) found -[13362] Forked 24425 -(24425) found -[13361] Forked 24426 -(24426) found -[13360] Forked 24427 -(24427) found -[13359] Forked 24428 -(24428) found -[13358] Forked 24429 -(24429) found -[13357] Forked 24430 -(24430) found -[13356] Forked 24431 -(24431) found -[13355] Forked 24432 -(24432) found -[13354] Forked 24433 -(24433) found -[13353] Forked 24434 -(24434) found -[13352] Forked 24435 -(24435) found -[13351] Forked 24436 -(24436) found -[13350] Forked 24437 -(24437) found -[13349] Forked 24438 -(24438) found -[13348] Forked 24439 -(24439) found -[13347] Forked 24440 -(24440) found -[13346] Forked 24441 -(24441) found -[13345] Forked 24442 -[13344] Forked 24443 -(24442) found -(24443) found -[13343] Forked 24444 -[13342] Forked 24445 -(24444) found -(24445) found -[13341] Forked 24446 -[13340] Forked 24447 -(24446) found -(24447) found -[13339] Forked 24448 -[13338] Forked 24449 -(24448) found -(24449) found -[13337] Forked 24450 -[13336] Forked 24451 -(24450) found -(24451) found -[13335] Forked 24452 -[13334] Forked 24453 -(24452) found -(24453) found -[13333] Forked 24454 -[13332] Forked 24455 -(24454) found -(24455) found -[13331] Forked 24456 -[13330] Forked 24457 -(24456) found -(24457) found -[13329] Forked 24458 -[13328] Forked 24459 -(24458) found -(24459) found -[13327] Forked 24460 -[13326] Forked 24461 -(24460) found -(24461) found -[13325] Forked 24462 -[13324] Forked 24463 -(24462) found -(24463) found -[13323] Forked 24464 -[13322] Forked 24465 -(24464) found -(24465) found -[13321] Forked 24466 -[13320] Forked 24467 -(24466) found -(24467) found -[13319] Forked 24468 -[13318] Forked 24469 -(24468) found -(24469) found -[13317] Forked 24470 -[13316] Forked 24473 -(24470) found -(24473) found -[13315] Forked 24474 -[13314] Forked 24475 -(24474) found -(24475) found -[13313] Forked 24476 -[13312] Forked 24477 -(24476) found -(24477) found -[13311] Forked 24478 -[13310] Forked 24479 -(24478) found -(24479) found -[13309] Forked 24480 -[13308] Forked 24481 -(24480) found -(24481) found -[13307] Forked 24482 -[13306] Forked 24483 -(24482) found -(24483) found -[13305] Forked 24484 -[13304] Forked 24485 -(24484) found -(24485) found -[13303] Forked 24486 -(24486) found -[13302] Forked 24487 -(24487) found -[13301] Forked 24488 -(24488) found -[13300] Forked 24489 -(24489) found -[13299] Forked 24490 -(24490) found -[13298] Forked 24491 -(24491) found -[13297] Forked 24492 -(24492) found -[13296] Forked 24493 -(24493) found -[13295] Forked 24494 -(24494) found -[13294] Forked 24495 -(24495) found -[13293] Forked 24496 -(24496) found -[13292] Forked 24497 -(24497) found -[13291] Forked 24498 -(24498) found -[13290] Forked 24499 -(24499) found -[13289] Forked 24500 -(24500) found -[13288] Forked 24501 -(24501) found -[13287] Forked 24502 -(24502) found -[13286] Forked 24503 -(24503) found -[13285] Forked 24504 -(24504) found -[13284] Forked 24505 -(24505) found -[13283] Forked 24506 -(24506) found -[13282] Forked 24507 -(24507) found -[13281] Forked 24508 -(24508) found -[13280] Forked 24509 -(24509) found -[13279] Forked 24510 -(24510) found -[13278] Forked 24511 -(24511) found -[13277] Forked 24512 -(24512) found -[13276] Forked 24513 -(24513) found -[13275] Forked 24514 -(24514) found -[13274] Forked 24515 -(24515) found -[13273] Forked 24516 -(24516) found -[13272] Forked 24517 -(24517) found -[13271] Forked 24518 -(24518) found -[13270] Forked 24519 -(24519) found -[13269] Forked 24520 -(24520) found -[13268] Forked 24521 -(24521) found -[13267] Forked 24522 -(24522) found -[13266] Forked 24523 -(24523) found -[13265] Forked 24524 -(24524) found -[13264] Forked 24525 -[13263] Forked 24526 -(24525) found -(24526) found -[13262] Forked 24527 -[13261] Forked 24528 -(24527) found -(24528) found -[13260] Forked 24529 -[13259] Forked 24530 -(24529) found -(24530) found -[13258] Forked 24531 -[13257] Forked 24532 -(24531) found -(24532) found -[13256] Forked 24533 -[13255] Forked 24534 -(24533) found -(24534) found -[13254] Forked 24535 -[13253] Forked 24536 -(24535) found -(24536) found -[13252] Forked 24537 -[13251] Forked 24538 -(24537) found -(24538) found -[13250] Forked 24539 -[13249] Forked 24540 -(24539) found -(24540) found -[13248] Forked 24541 -[13247] Forked 24542 -(24541) found -(24542) found -[13246] Forked 24543 -[13245] Forked 24544 -(24543) found -(24544) found -[13244] Forked 24545 -[13243] Forked 24546 -(24545) found -(24546) found -[13242] Forked 24547 -[13241] Forked 24548 -(24547) found -(24548) found -[13240] Forked 24549 -[13239] Forked 24550 -(24549) found -(24550) found -[13238] Forked 24551 -[13237] Forked 24552 -(24551) found -(24552) found -[13236] Forked 24553 -[13235] Forked 24554 -(24553) found -(24554) found -[13234] Forked 24555 -[13233] Forked 24556 -(24555) found -(24556) found -[13232] Forked 24557 -[13231] Forked 24558 -(24558) found -(24557) found -[13230] Forked 24559 -(24559) found -[13229] Forked 24560 -(24560) found -[13228] Forked 24561 -(24561) found -[13227] Forked 24562 -(24562) found -[13226] Forked 24563 -[13225] Forked 24564 -(24563) found -(24564) found -[13224] Forked 24565 -[13223] Forked 24566 -(24565) found -(24566) found -[13222] Forked 24567 -(24567) found -[13221] Forked 24568 -(24568) found -[13220] Forked 24569 -(24569) found -[13219] Forked 24570 -(24570) found -[13218] Forked 24571 -(24571) found -[13217] Forked 24572 -(24572) found -[13216] Forked 24573 -(24573) found -[13215] Forked 24574 -(24574) found -[13214] Forked 24575 -(24575) found -[13213] Forked 24576 -(24576) found -[13212] Forked 24577 -(24577) found -[13211] Forked 24578 -(24578) found -[13210] Forked 24579 -(24579) found -[13209] Forked 24580 -(24580) found -[13208] Forked 24581 -(24581) found -[13207] Forked 24582 -(24582) found -[13206] Forked 24583 -(24583) found -[13205] Forked 24584 -(24584) found -[13204] Forked 24585 -(24585) found -[13203] Forked 24586 -(24586) found -[13202] Forked 24587 -(24587) found -[13201] Forked 24588 -(24588) found -[13200] Forked 24589 -(24589) found -[13199] Forked 24590 -(24590) found -[13198] Forked 24591 -(24591) found -[13197] Forked 24592 -(24592) found -[13196] Forked 24593 -(24593) found -[13195] Forked 24594 -(24594) found -[13194] Forked 24595 -(24595) found -[13193] Forked 24596 -(24596) found -[13192] Forked 24597 -(24597) found -[13191] Forked 24598 -(24598) found -[13190] Forked 24599 -(24599) found -[13189] Forked 24600 -(24600) found -[13188] Forked 24601 -(24601) found -[13187] Forked 24602 -(24602) found -[13186] Forked 24603 -(24603) found -[13185] Forked 24604 -(24604) found -[13184] Forked 24605 -(24605) found -[13183] Forked 24606 -[13182] Forked 24607 -(24606) found -(24607) found -[13181] Forked 24608 -[13180] Forked 24609 -(24608) found -(24609) found -[13179] Forked 24610 -[13178] Forked 24611 -(24610) found -(24611) found -[13177] Forked 24612 -[13176] Forked 24613 -(24612) found -(24613) found -[13175] Forked 24614 -[13174] Forked 24615 -(24614) found -(24615) found -[13173] Forked 24616 -[13172] Forked 24617 -(24616) found -(24617) found -[13171] Forked 24618 -[13170] Forked 24619 -(24618) found -(24619) found -[13169] Forked 24620 -[13168] Forked 24621 -(24620) found -(24621) found -[13167] Forked 24622 -[13166] Forked 24623 -(24622) found -(24623) found -[13165] Forked 24624 -[13164] Forked 24625 -(24624) found -(24625) found -[13163] Forked 24626 -[13162] Forked 24627 -(24626) found -(24627) found -[13161] Forked 24628 -[13160] Forked 24629 -(24628) found -(24629) found -[13159] Forked 24630 -[13158] Forked 24631 -(24630) found -(24631) found -[13157] Forked 24632 -[13156] Forked 24633 -(24632) found -(24633) found -[13155] Forked 24634 -[13154] Forked 24635 -(24634) found -(24635) found -[13153] Forked 24636 -[13152] Forked 24637 -(24636) found -(24637) found -[13151] Forked 24638 -[13150] Forked 24639 -(24638) found -(24639) found -[13149] Forked 24640 -[13148] Forked 24641 -(24640) found -(24641) found -[13147] Forked 24642 -[13146] Forked 24643 -(24642) found -(24643) found -[13145] Forked 24644 -[13144] Forked 24645 -(24644) found -(24645) found -[13143] Forked 24646 -[13142] Forked 24647 -(24646) found -(24647) found -[13141] Forked 24648 -[13140] Forked 24649 -(24648) found -(24649) found -[13139] Forked 24650 -(24650) found -[13138] Forked 24651 -(24651) found -[13137] Forked 24652 -(24652) found -[13136] Forked 24653 -(24653) found -[13135] Forked 24654 -(24654) found -[13134] Forked 24655 -(24655) found -[13133] Forked 24656 -(24656) found -[13132] Forked 24657 -(24657) found -[13131] Forked 24658 -(24658) found -[13130] Forked 24659 -(24659) found -[13129] Forked 24660 -(24660) found -[13128] Forked 24661 -(24661) found -[13127] Forked 24662 -(24662) found -[13126] Forked 24663 -(24663) found -[13125] Forked 24664 -(24664) found -[13124] Forked 24665 -(24665) found -[13123] Forked 24666 -(24666) found -[13122] Forked 24667 -(24667) found -[13121] Forked 24668 -(24668) found -[13120] Forked 24669 -(24669) found -[13119] Forked 24670 -(24670) found -[13118] Forked 24671 -(24671) found -[13117] Forked 24672 -(24672) found -[13116] Forked 24673 -(24673) found -[13115] Forked 24674 -(24674) found -[13114] Forked 24675 -(24675) found -[13113] Forked 24676 -(24676) found -[13112] Forked 24677 -(24677) found -[13111] Forked 24678 -(24678) found -[13110] Forked 24679 -(24679) found -[13109] Forked 24680 -(24680) found -[13108] Forked 24681 -(24681) found -[13107] Forked 24682 -(24682) found -[13106] Forked 24683 -(24683) found -[13105] Forked 24684 -(24684) found -[13104] Forked 24685 -(24685) found -[13103] Forked 24686 -(24686) found -[13102] Forked 24687 -(24687) found -[13101] Forked 24688 -[13100] Forked 24689 -(24688) found -(24689) found -[13099] Forked 24690 -[13098] Forked 24691 -(24690) found -(24691) found -[13097] Forked 24692 -[13096] Forked 24693 -(24692) found -(24693) found -[13095] Forked 24694 -[13094] Forked 24695 -(24694) found -(24695) found -[13093] Forked 24696 -[13092] Forked 24697 -(24696) found -(24697) found -[13091] Forked 24698 -[13090] Forked 24699 -(24698) found -(24699) found -[13089] Forked 24700 -[13088] Forked 24701 -(24700) found -(24701) found -[13087] Forked 24702 -[13086] Forked 24703 -(24702) found -(24703) found -[13085] Forked 24704 -[13084] Forked 24705 -(24704) found -(24705) found -[13083] Forked 24706 -[13082] Forked 24707 -(24706) found -(24707) found -[13081] Forked 24708 -[13080] Forked 24709 -(24708) found -(24709) found -[13079] Forked 24710 -[13078] Forked 24711 -(24710) found -(24711) found -[13077] Forked 24712 -[13076] Forked 24713 -(24712) found -(24713) found -[13075] Forked 24714 -[13074] Forked 24715 -(24714) found -(24715) found -[13073] Forked 24716 -[13072] Forked 24717 -(24716) found -(24717) found -[13071] Forked 24718 -[13070] Forked 24719 -(24718) found -(24719) found -[13069] Forked 24720 -[13068] Forked 24721 -(24721) found -(24720) found -[13067] Forked 24722 -(24722) found -[13066] Forked 24723 -(24723) found -[13065] Forked 24724 -(24724) found -[13064] Forked 24725 -(24725) found -[13063] Forked 24726 -[13062] Forked 24727 -(24726) found -(24727) found -[13061] Forked 24728 -[13060] Forked 24729 -(24728) found -(24729) found -[13059] Forked 24730 -[13058] Forked 24731 -(24730) found -(24731) found -[13057] Forked 24732 -[13056] Forked 24733 -(24732) found -(24733) found -[13055] Forked 24734 -[13054] Forked 24735 -(24734) found -(24735) found -[13053] Forked 24736 -[13052] Forked 24737 -(24736) found -(24737) found -[13051] Forked 24738 -[13050] Forked 24739 -(24738) found -(24739) found -[13049] Forked 24740 -[13048] Forked 24741 -(24740) found -(24741) found -[13047] Forked 24742 -[13046] Forked 24743 -(24742) found -(24743) found -[13045] Forked 24744 -[13044] Forked 24745 -(24744) found -(24745) found -[13043] Forked 24746 -[13042] Forked 24747 -(24746) found -(24747) found -[13041] Forked 24748 -[13040] Forked 24749 -(24748) found -(24749) found -[13039] Forked 24750 -[13038] Forked 24751 -(24750) found -(24751) found -[13037] Forked 24752 -[13036] Forked 24753 -(24752) found -(24753) found -[13035] Forked 24754 -[13034] Forked 24755 -(24754) found -(24755) found -[13033] Forked 24756 -[13032] Forked 24757 -(24756) found -(24757) found -[13031] Forked 24758 -[13030] Forked 24759 -(24758) found -(24759) found -[13029] Forked 24760 -[13028] Forked 24761 -(24760) found -(24761) found -[13027] Forked 24762 -[13026] Forked 24763 -(24762) found -(24763) found -[13025] Forked 24764 -[13024] Forked 24765 -(24764) found -(24765) found -[13023] Forked 24766 -[13022] Forked 24767 -(24766) found -(24767) found -[13021] Forked 24768 -[13020] Forked 24769 -(24768) found -(24769) found -[13019] Forked 24770 -[13018] Forked 24771 -(24770) found -(24771) found -[13017] Forked 24772 -[13016] Forked 24773 -(24772) found -(24773) found -[13015] Forked 24774 -(24774) found -[13014] Forked 24775 -(24775) found -[13013] Forked 24776 -(24776) found -[13012] Forked 24777 -(24777) found -[13011] Forked 24778 -(24778) found -[13010] Forked 24779 -(24779) found -[13009] Forked 24780 -(24780) found -[13008] Forked 24781 -(24781) found -[13007] Forked 24782 -(24782) found -[13006] Forked 24783 -(24783) found -[13005] Forked 24784 -(24784) found -[13004] Forked 24785 -(24785) found -[13003] Forked 24786 -(24786) found -[13002] Forked 24787 -(24787) found -[13001] Forked 24788 -(24788) found -[13000] Forked 24789 -(24789) found -[12999] Forked 24790 -(24790) found -[12998] Forked 24791 -(24791) found -[12997] Forked 24792 -(24792) found -[12996] Forked 24793 -(24793) found -[12995] Forked 24794 -(24794) found -[12994] Forked 24795 -(24795) found -[12993] Forked 24796 -(24796) found -[12992] Forked 24797 -(24797) found -[12991] Forked 24798 -(24798) found -[12990] Forked 24799 -(24799) found -[12989] Forked 24800 -(24800) found -[12988] Forked 24801 -(24801) found -[12987] Forked 24802 -(24802) found -[12986] Forked 24803 -(24803) found -[12985] Forked 24804 -(24804) found -[12984] Forked 24805 -(24805) found -[12983] Forked 24806 -(24806) found -[12982] Forked 24807 -(24807) found -[12981] Forked 24808 -(24808) found -[12980] Forked 24809 -[12979] Forked 24810 -(24809) found -(24810) found -[12978] Forked 24811 -[12977] Forked 24812 -(24811) found -(24812) found -[12976] Forked 24813 -[12975] Forked 24814 -(24813) found -(24814) found -[12974] Forked 24815 -[12973] Forked 24816 -(24815) found -(24816) found -[12972] Forked 24817 -[12971] Forked 24818 -(24817) found -(24818) found -[12970] Forked 24819 -[12969] Forked 24820 -(24819) found -(24820) found -[12968] Forked 24821 -[12967] Forked 24822 -(24821) found -(24822) found -[12966] Forked 24823 -[12965] Forked 24824 -(24823) found -(24824) found -[12964] Forked 24825 -[12963] Forked 24826 -(24825) found -(24826) found -[12962] Forked 24827 -[12961] Forked 24828 -(24827) found -(24828) found -[12960] Forked 24829 -[12959] Forked 24830 -(24829) found -(24830) found -[12958] Forked 24831 -[12957] Forked 24832 -(24831) found -(24832) found -[12956] Forked 24833 -[12955] Forked 24834 -(24833) found -(24834) found -[12954] Forked 24835 -[12953] Forked 24836 -(24835) found -(24836) found -[12952] Forked 24837 -[12951] Forked 24838 -(24837) found -(24838) found -[12950] Forked 24839 -[12949] Forked 24840 -(24839) found -(24840) found -[12948] Forked 24841 -[12947] Forked 24842 -(24841) found -(24842) found -[12946] Forked 24843 -[12945] Forked 24844 -(24843) found -(24844) found -[12944] Forked 24845 -[12943] Forked 24846 -(24845) found -(24846) found -[12942] Forked 24847 -[12941] Forked 24848 -(24847) found -(24848) found -[12940] Forked 24849 -[12939] Forked 24850 -(24849) found -(24850) found -[12938] Forked 24851 -[12937] Forked 24852 -(24851) found -(24852) found -[12936] Forked 24853 -[12935] Forked 24854 -(24853) found -(24854) found -[12934] Forked 24855 -(24855) found -[12933] Forked 24856 -(24856) found -[12932] Forked 24857 -(24857) found -[12931] Forked 24858 -(24858) found -[12930] Forked 24859 -(24859) found -[12929] Forked 24860 -(24860) found -[12928] Forked 24861 -(24861) found -[12927] Forked 24862 -(24862) found -[12926] Forked 24863 -(24863) found -[12925] Forked 24864 -(24864) found -[12924] Forked 24865 -(24865) found -[12923] Forked 24866 -(24866) found -[12922] Forked 24867 -(24867) found -[12921] Forked 24868 -(24868) found -[12920] Forked 24869 -(24869) found -[12919] Forked 24870 -(24870) found -[12918] Forked 24871 -(24871) found -[12917] Forked 24872 -(24872) found -[12916] Forked 24873 -(24873) found -[12915] Forked 24874 -(24874) found -[12914] Forked 24875 -(24875) found -[12913] Forked 24876 -(24876) found -[12912] Forked 24877 -(24877) found -[12911] Forked 24878 -(24878) found -[12910] Forked 24879 -(24879) found -[12909] Forked 24880 -(24880) found -[12908] Forked 24881 -(24881) found -[12907] Forked 24882 -(24882) found -[12906] Forked 24883 -(24883) found -[12905] Forked 24884 -(24884) found -[12904] Forked 24885 -(24885) found -[12903] Forked 24886 -(24886) found -[12902] Forked 24887 -(24887) found -[12901] Forked 24888 -(24888) found -[12900] Forked 24889 -(24889) found -[12899] Forked 24890 -[12898] Forked 24891 -(24890) found -(24891) found -[12897] Forked 24892 -[12896] Forked 24893 -(24892) found -(24893) found -[12895] Forked 24894 -[12894] Forked 24895 -(24894) found -(24895) found -[12893] Forked 24896 -[12892] Forked 24897 -(24896) found -(24897) found -[12891] Forked 24898 -[12890] Forked 24899 -(24898) found -(24899) found -[12889] Forked 24900 -[12888] Forked 24901 -(24900) found -(24901) found -[12887] Forked 24902 -[12886] Forked 24903 -(24902) found -(24903) found -[12885] Forked 24904 -[12884] Forked 24905 -(24904) found -(24905) found -[12883] Forked 24906 -[12882] Forked 24907 -(24906) found -(24907) found -[12881] Forked 24908 -[12880] Forked 24909 -(24908) found -(24909) found -[12879] Forked 24910 -[12878] Forked 24911 -(24910) found -(24911) found -[12877] Forked 24912 -[12876] Forked 24913 -(24912) found -(24913) found -[12875] Forked 24914 -[12874] Forked 24915 -(24914) found -(24915) found -[12873] Forked 24916 -[12872] Forked 24917 -(24916) found -(24917) found -[12871] Forked 24918 -[12870] Forked 24919 -(24918) found -(24919) found -[12869] Forked 24920 -[12868] Forked 24921 -(24920) found -(24921) found -[12867] Forked 24922 -[12866] Forked 24923 -(24922) found -(24923) found -[12865] Forked 24924 -[12864] Forked 24925 -(24924) found -(24925) found -[12863] Forked 24926 -[12862] Forked 24927 -(24926) found -(24927) found -[12861] Forked 24928 -[12860] Forked 24929 -(24928) found -(24929) found -[12859] Forked 24930 -[12858] Forked 24931 -(24930) found -(24931) found -[12857] Forked 24932 -[12856] Forked 24933 -(24932) found -(24933) found -[12855] Forked 24934 -[12854] Forked 24935 -(24934) found -(24935) found -[12853] Forked 24936 -[12852] Forked 24937 -(24936) found -(24937) found -[12851] Forked 24938 -[12850] Forked 24939 -(24938) found -(24939) found -[12849] Forked 24940 -[12848] Forked 24941 -(24940) found -(24941) found -[12847] Forked 24942 -[12846] Forked 24943 -(24942) found -(24943) found -[12845] Forked 24944 -[12844] Forked 24945 -(24944) found -(24945) found -[12843] Forked 24946 -[12842] Forked 24947 -(24946) found -(24947) found -[12841] Forked 24948 -(24948) found -[12840] Forked 24949 -(24949) found -[12839] Forked 24950 -[12838] Forked 24951 -(24950) found -(24951) found -[12837] Forked 24952 -[12836] Forked 24953 -(24952) found -(24953) found -[12835] Forked 24954 -[12834] Forked 24955 -(24954) found -(24955) found -[12833] Forked 24956 -[12832] Forked 24957 -(24956) found -(24957) found -[12831] Forked 24958 -[12830] Forked 24959 -(24958) found -(24959) found -[12829] Forked 24960 -[12828] Forked 24961 -(24960) found -(24961) found -[12827] Forked 24962 -[12826] Forked 24963 -(24962) found -(24963) found -[12825] Forked 24964 -[12824] Forked 24965 -(24964) found -(24965) found -[12823] Forked 24966 -[12822] Forked 24967 -(24966) found -(24967) found -[12821] Forked 24968 -[12820] Forked 24969 -(24968) found -(24969) found -[12819] Forked 24970 -[12818] Forked 24971 -(24970) found -(24971) found -[12817] Forked 24972 -[12816] Forked 24973 -(24972) found -(24973) found -[12815] Forked 24974 -[12814] Forked 24975 -(24974) found -(24975) found -[12813] Forked 24976 -[12812] Forked 24977 -(24976) found -(24977) found -[12811] Forked 24978 -[12810] Forked 24979 -(24978) found -(24979) found -[12809] Forked 24980 -[12808] Forked 24981 -(24980) found -(24981) found -[12807] Forked 24982 -[12806] Forked 24983 -(24982) found -(24983) found -[12805] Forked 24984 -[12804] Forked 24985 -(24984) found -(24985) found -[12803] Forked 24986 -[12802] Forked 24987 -(24986) found -(24987) found -[12801] Forked 24988 -[12800] Forked 24989 -(24988) found -(24989) found -[12799] Forked 24990 -[12798] Forked 24991 -(24990) found -(24991) found -[12797] Forked 24992 -[12796] Forked 24993 -(24992) found -(24993) found -[12795] Forked 24994 -[12794] Forked 24996 -(24994) found -(24996) found -[12793] Forked 24997 -[12792] Forked 24998 -(24997) found -(24998) found -[12791] Forked 24999 -[12790] Forked 25000 -(24999) found -(25000) found -[12789] Forked 25001 -[12788] Forked 25002 -(25001) found -(25002) found -[12787] Forked 25003 -[12786] Forked 25004 -(25003) found -(25004) found -[12785] Forked 25005 -[12784] Forked 25006 -(25005) found -(25006) found -[12783] Forked 25007 -[12782] Forked 25008 -(25007) found -(25008) found -[12781] Forked 25009 -[12780] Forked 25010 -(25009) found -(25010) found -[12779] Forked 25011 -[12778] Forked 25012 -(25011) found -(25012) found -[12777] Forked 25013 -[12776] Forked 25014 -(25013) found -(25014) found -[12775] Forked 25015 -[12774] Forked 25016 -(25015) found -(25016) found -[12773] Forked 25017 -[12772] Forked 25018 -(25017) found -(25018) found -[12771] Forked 25019 -[12770] Forked 25020 -(25019) found -(25020) found -[12769] Forked 25021 -[12768] Forked 25023 -(25021) found -(25023) found -[12767] Forked 25024 -(25024) found -[12766] Forked 25025 -(25025) found -[12765] Forked 25026 -(25026) found -[12764] Forked 25027 -(25027) found -[12763] Forked 25028 -(25028) found -[12762] Forked 25029 -(25029) found -[12761] Forked 25030 -(25030) found -[12760] Forked 25031 -(25031) found -[12759] Forked 25032 -(25032) found -[12758] Forked 25033 -(25033) found -[12757] Forked 25034 -(25034) found -[12756] Forked 25035 -(25035) found -[12755] Forked 25036 -(25036) found -[12754] Forked 25037 -(25037) found -[12753] Forked 25038 -(25038) found -[12752] Forked 25039 -(25039) found -[12751] Forked 25040 -(25040) found -[12750] Forked 25041 -(25041) found -[12749] Forked 25042 -(25042) found -[12748] Forked 25043 -(25043) found -[12747] Forked 25044 -(25044) found -[12746] Forked 25045 -(25045) found -[12745] Forked 25046 -(25046) found -[12744] Forked 25047 -(25047) found -[12743] Forked 25048 -(25048) found -[12742] Forked 25049 -(25049) found -[12741] Forked 25050 -(25050) found -[12740] Forked 25051 -(25051) found -[12739] Forked 25052 -(25052) found -[12738] Forked 25053 -(25053) found -[12737] Forked 25054 -(25054) found -[12736] Forked 25055 -(25055) found -[12735] Forked 25056 -(25056) found -[12734] Forked 25057 -(25057) found -[12733] Forked 25058 -(25058) found -[12732] Forked 25059 -(25059) found -[12731] Forked 25060 -(25060) found -[12730] Forked 25061 -(25061) found -[12729] Forked 25062 -[12728] Forked 25063 -(25063) found -(25062) found -[12727] Forked 25064 -(25064) found -[12726] Forked 25065 -(25065) found -[12725] Forked 25066 -(25066) found -[12724] Forked 25067 -(25067) found -[12723] Forked 25068 -(25068) found -[12722] Forked 25069 -(25069) found -[12721] Forked 25070 -(25070) found -[12720] Forked 25071 -(25071) found -[12719] Forked 25072 -(25072) found -[12718] Forked 25073 -(25073) found -[12717] Forked 25074 -(25074) found -[12716] Forked 25075 -(25075) found -[12715] Forked 25076 -(25076) found -[12714] Forked 25077 -(25077) found -[12713] Forked 25078 -(25078) found -[12712] Forked 25079 -(25079) found -[12711] Forked 25080 -(25080) found -[12710] Forked 25081 -(25081) found -[12709] Forked 25082 -(25082) found -[12708] Forked 25083 -(25083) found -[12707] Forked 25084 -(25084) found -[12706] Forked 25085 -(25085) found -[12705] Forked 25086 -(25086) found -[12704] Forked 25087 -(25087) found -[12703] Forked 25088 -(25088) found -[12702] Forked 25089 -(25089) found -[12701] Forked 25090 -(25090) found -[12700] Forked 25091 -(25091) found -[12699] Forked 25092 -(25092) found -[12698] Forked 25093 -(25093) found -[12697] Forked 25094 -(25094) found -[12696] Forked 25095 -(25095) found -[12695] Forked 25096 -(25096) found -[12694] Forked 25097 -(25097) found -[12693] Forked 25098 -(25098) found -[12692] Forked 25099 -(25099) found -[12691] Forked 25100 -(25100) found -[12690] Forked 25101 -(25101) found -[12689] Forked 25102 -(25102) found -[12688] Forked 25103 -(25103) found -[12687] Forked 25104 -(25104) found -[12686] Forked 25105 -(25105) found -[12685] Forked 25106 -(25106) found -[12684] Forked 25107 -(25107) found -[12683] Forked 25108 -(25108) found -[12682] Forked 25109 -(25109) found -[12681] Forked 25110 -(25110) found -[12680] Forked 25111 -(25111) found -[12679] Forked 25112 -(25112) found -[12678] Forked 25113 -(25113) found -[12677] Forked 25114 -(25114) found -[12676] Forked 25115 -(25115) found -[12675] Forked 25116 -(25116) found -[12674] Forked 25117 -(25117) found -[12673] Forked 25118 -(25118) found -[12672] Forked 25119 -(25119) found -[12671] Forked 25120 -(25120) found -[12670] Forked 25121 -(25121) found -[12669] Forked 25122 -(25122) found -[12668] Forked 25123 -(25123) found -[12667] Forked 25124 -(25124) found -[12666] Forked 25125 -(25125) found -[12665] Forked 25126 -(25126) found -[12664] Forked 25127 -(25127) found -[12663] Forked 25128 -(25128) found -[12662] Forked 25129 -(25129) found -[12661] Forked 25130 -(25130) found -[12660] Forked 25131 -(25131) found -[12659] Forked 25132 -[12658] Forked 25133 -(25132) found -(25133) found -[12657] Forked 25134 -[12656] Forked 25135 -(25134) found -(25135) found -[12655] Forked 25136 -[12654] Forked 25137 -(25136) found -(25137) found -[12653] Forked 25138 -[12652] Forked 25139 -(25138) found -(25139) found -[12651] Forked 25140 -[12650] Forked 25141 -(25140) found -(25141) found -[12649] Forked 25142 -[12648] Forked 25143 -(25142) found -(25143) found -[12647] Forked 25144 -[12646] Forked 25145 -(25144) found -(25145) found -[12645] Forked 25146 -[12644] Forked 25147 -(25146) found -(25147) found -[12643] Forked 25148 -[12642] Forked 25149 -(25148) found -(25149) found -[12641] Forked 25150 -[12640] Forked 25151 -(25150) found -(25151) found -[12639] Forked 25152 -[12638] Forked 25153 -(25152) found -(25153) found -[12637] Forked 25154 -[12636] Forked 25155 -(25154) found -(25155) found -[12635] Forked 25156 -[12634] Forked 25157 -(25156) found -(25157) found -[12633] Forked 25158 -[12632] Forked 25159 -(25158) found -(25159) found -[12631] Forked 25160 -[12630] Forked 25161 -(25160) found -(25161) found -[12629] Forked 25162 -[12628] Forked 25163 -(25162) found -(25163) found -[12627] Forked 25164 -[12626] Forked 25165 -(25164) found -(25165) found -[12625] Forked 25166 -[12624] Forked 25167 -(25166) found -(25167) found -[12623] Forked 25168 -[12622] Forked 25169 -(25168) found -(25169) found -[12621] Forked 25170 -[12620] Forked 25171 -(25170) found -(25171) found -[12619] Forked 25172 -[12618] Forked 25173 -(25172) found -(25173) found -[12617] Forked 25174 -[12616] Forked 25175 -(25174) found -(25175) found -[12615] Forked 25176 -[12614] Forked 25177 -(25176) found -(25177) found -[12613] Forked 25178 -[12612] Forked 25179 -(25178) found -(25179) found -[12611] Forked 25180 -[12610] Forked 25181 -(25180) found -(25181) found -[12609] Forked 25182 -[12608] Forked 25183 -(25182) found -(25183) found -[12607] Forked 25184 -[12606] Forked 25185 -(25184) found -(25185) found -[12605] Forked 25186 -[12604] Forked 25187 -(25186) found -(25187) found -[12603] Forked 25188 -[12602] Forked 25189 -(25188) found -(25189) found -[12601] Forked 25190 -[12600] Forked 25191 -(25190) found -(25191) found -[12599] Forked 25192 -[12598] Forked 25193 -(25192) found -(25193) found -[12597] Forked 25194 -[12596] Forked 25195 -(25194) found -(25195) found -[12595] Forked 25196 -[12594] Forked 25197 -(25196) found -(25197) found -[12593] Forked 25198 -[12592] Forked 25199 -(25198) found -(25199) found -[12591] Forked 25200 -[12590] Forked 25201 -(25200) found -(25201) found -[12589] Forked 25202 -[12588] Forked 25203 -(25202) found -(25203) found -[12587] Forked 25204 -[12586] Forked 25205 -(25204) found -(25205) found -[12585] Forked 25206 -[12584] Forked 25207 -(25206) found -(25207) found -[12583] Forked 25208 -[12582] Forked 25209 -(25208) found -(25209) found -[12581] Forked 25210 -[12580] Forked 25211 -(25210) found -(25211) found -[12579] Forked 25212 -[12578] Forked 25213 -(25212) found -(25213) found -[12577] Forked 25214 -[12576] Forked 25215 -(25214) found -(25215) found -[12575] Forked 25216 -[12574] Forked 25217 -(25216) found -(25217) found -[12573] Forked 25218 -[12572] Forked 25219 -(25218) found -(25219) found -[12571] Forked 25220 -[12570] Forked 25221 -(25220) found -(25221) found -[12569] Forked 25222 -[12568] Forked 25223 -(25222) found -(25223) found -[12567] Forked 25224 -(25224) found -[12566] Forked 25225 -(25225) found -[12565] Forked 25226 -(25226) found -[12564] Forked 25227 -(25227) found -[12563] Forked 25228 -(25228) found -[12562] Forked 25229 -(25229) found -[12561] Forked 25230 -(25230) found -[12560] Forked 25231 -(25231) found -[12559] Forked 25232 -(25232) found -[12558] Forked 25233 -(25233) found -[12557] Forked 25234 -(25234) found -[12556] Forked 25235 -(25235) found -[12555] Forked 25236 -(25236) found -[12554] Forked 25237 -(25237) found -[12553] Forked 25238 -(25238) found -[12552] Forked 25239 -(25239) found -[12551] Forked 25240 -(25240) found -[12550] Forked 25241 -(25241) found -[12549] Forked 25242 -(25242) found -[12548] Forked 25243 -(25243) found -[12547] Forked 25244 -(25244) found -[12546] Forked 25245 -(25245) found -[12545] Forked 25246 -(25246) found -[12544] Forked 25247 -(25247) found -[12543] Forked 25248 -(25248) found -[12542] Forked 25249 -(25249) found -[12541] Forked 25250 -(25250) found -[12540] Forked 25251 -(25251) found -[12539] Forked 25252 -(25252) found -[12538] Forked 25253 -(25253) found -[12537] Forked 25254 -(25254) found -[12536] Forked 25255 -(25255) found -[12535] Forked 25256 -(25256) found -[12534] Forked 25257 -(25257) found -[12533] Forked 25258 -(25258) found -[12532] Forked 25259 -(25259) found -[12531] Forked 25260 -(25260) found -[12530] Forked 25261 -[12529] Forked 25262 -(25261) found -(25262) found -[12528] Forked 25263 -[12527] Forked 25264 -(25263) found -(25264) found -[12526] Forked 25265 -[12525] Forked 25266 -(25265) found -(25266) found -[12524] Forked 25267 -[12523] Forked 25268 -(25267) found -(25268) found -[12522] Forked 25269 -[12521] Forked 25270 -(25269) found -(25270) found -[12520] Forked 25271 -[12519] Forked 25273 -(25271) found -(25273) found -[12518] Forked 25274 -(25274) found -[12517] Forked 25275 -(25275) found -[12516] Forked 25276 -(25276) found -[12515] Forked 25277 -(25277) found -[12514] Forked 25278 -(25278) found -[12513] Forked 25279 -(25279) found -[12512] Forked 25280 -(25280) found -[12511] Forked 25281 -(25281) found -[12510] Forked 25282 -(25282) found -[12509] Forked 25283 -(25283) found -[12508] Forked 25284 -(25284) found -[12507] Forked 25285 -(25285) found -[12506] Forked 25286 -(25286) found -[12505] Forked 25287 -(25287) found -[12504] Forked 25288 -(25288) found -[12503] Forked 25289 -(25289) found -[12502] Forked 25290 -(25290) found -[12501] Forked 25291 -(25291) found -[12500] Forked 25292 -(25292) found -[12499] Forked 25293 -[12498] Forked 25294 -(25293) found -(25294) found -[12497] Forked 25295 -[12496] Forked 25296 -(25295) found -(25296) found -[12495] Forked 25297 -[12494] Forked 25298 -(25297) found -(25298) found -[12493] Forked 25299 -[12492] Forked 25300 -(25299) found -(25300) found -[12491] Forked 25301 -[12490] Forked 25302 -(25301) found -(25302) found -[12489] Forked 25303 -[12488] Forked 25304 -(25303) found -(25304) found -[12487] Forked 25305 -[12486] Forked 25306 -(25305) found -(25306) found -[12485] Forked 25307 -[12484] Forked 25308 -(25307) found -(25308) found -[12483] Forked 25309 -[12482] Forked 25310 -(25309) found -(25310) found -[12481] Forked 25311 -[12480] Forked 25312 -(25311) found -(25312) found -[12479] Forked 25313 -[12478] Forked 25314 -(25313) found -(25314) found -[12477] Forked 25315 -[12476] Forked 25316 -(25315) found -(25316) found -[12475] Forked 25317 -[12474] Forked 25318 -(25317) found -(25318) found -[12473] Forked 25319 -[12472] Forked 25320 -(25319) found -(25320) found -[12471] Forked 25321 -[12470] Forked 25322 -(25321) found -(25322) found -[12469] Forked 25323 -[12468] Forked 25324 -(25323) found -(25324) found -[12467] Forked 25325 -[12466] Forked 25326 -(25325) found -(25326) found -[12465] Forked 25327 -[12464] Forked 25328 -(25327) found -(25328) found -[12463] Forked 25329 -[12462] Forked 25330 -(25329) found -(25330) found -[12461] Forked 25331 -[12460] Forked 25332 -(25331) found -(25332) found -[12459] Forked 25333 -[12458] Forked 25334 -(25333) found -(25334) found -[12457] Forked 25335 -[12456] Forked 25336 -(25335) found -(25336) found -[12455] Forked 25337 -[12454] Forked 25338 -(25337) found -(25338) found -[12453] Forked 25339 -[12452] Forked 25340 -(25339) found -(25340) found -[12451] Forked 25341 -[12450] Forked 25342 -(25341) found -(25342) found -[12449] Forked 25343 -[12448] Forked 25344 -(25343) found -(25344) found -[12447] Forked 25345 -(25345) found -[12446] Forked 25346 -(25346) found -[12445] Forked 25347 -(25347) found -[12444] Forked 25348 -(25348) found -[12443] Forked 25349 -(25349) found -[12442] Forked 25350 -(25350) found -[12441] Forked 25351 -(25351) found -[12440] Forked 25352 -(25352) found -[12439] Forked 25353 -(25353) found -[12438] Forked 25354 -(25354) found -[12437] Forked 25355 -(25355) found -[12436] Forked 25356 -(25356) found -[12435] Forked 25357 -(25357) found -[12434] Forked 25358 -(25358) found -[12433] Forked 25359 -(25359) found -[12432] Forked 25360 -(25360) found -[12431] Forked 25361 -(25361) found -[12430] Forked 25362 -(25362) found -[12429] Forked 25363 -(25363) found -[12428] Forked 25364 -(25364) found -[12427] Forked 25365 -(25365) found -[12426] Forked 25366 -(25366) found -[12425] Forked 25367 -(25367) found -[12424] Forked 25368 -(25368) found -[12423] Forked 25369 -(25369) found -[12422] Forked 25370 -(25370) found -[12421] Forked 25371 -(25371) found -[12420] Forked 25372 -(25372) found -[12419] Forked 25373 -(25373) found -[12418] Forked 25374 -(25374) found -[12417] Forked 25375 -(25375) found -[12416] Forked 25376 -(25376) found -[12415] Forked 25377 -(25377) found -[12414] Forked 25378 -(25378) found -[12413] Forked 25379 -(25379) found -[12412] Forked 25380 -(25380) found -[12411] Forked 25381 -[12410] Forked 25382 -(25381) found -(25382) found -[12409] Forked 25383 -(25383) found -[12408] Forked 25384 -(25384) found -[12407] Forked 25385 -(25385) found -[12406] Forked 25386 -(25386) found -[12405] Forked 25387 -(25387) found -[12404] Forked 25388 -(25388) found -[12403] Forked 25389 -(25389) found -[12402] Forked 25390 -[12401] Forked 25391 -(25390) found -(25391) found -[12400] Forked 25392 -[12399] Forked 25393 -(25392) found -(25393) found -[12398] Forked 25394 -[12397] Forked 25395 -(25394) found -(25395) found -[12396] Forked 25396 -[12395] Forked 25397 -(25396) found -(25397) found -[12394] Forked 25398 -[12393] Forked 25399 -(25398) found -(25399) found -[12392] Forked 25400 -[12391] Forked 25401 -(25400) found -(25401) found -[12390] Forked 25402 -[12389] Forked 25403 -(25402) found -(25403) found -[12388] Forked 25404 -[12387] Forked 25405 -(25404) found -(25405) found -[12386] Forked 25406 -[12385] Forked 25407 -(25406) found -(25407) found -[12384] Forked 25408 -[12383] Forked 25409 -(25408) found -(25409) found -[12382] Forked 25410 -[12381] Forked 25411 -(25410) found -(25411) found -[12380] Forked 25412 -[12379] Forked 25413 -(25412) found -(25413) found -[12378] Forked 25414 -[12377] Forked 25416 -(25414) found -(25416) found -[12376] Forked 25417 -[12375] Forked 25418 -(25417) found -(25418) found -[12374] Forked 25419 -[12373] Forked 25420 -(25419) found -(25420) found -[12372] Forked 25421 -[12371] Forked 25422 -(25421) found -(25422) found -[12370] Forked 25423 -[12369] Forked 25424 -(25423) found -(25424) found -[12368] Forked 25426 -[12367] Forked 25428 -(25426) found -(25428) found -[12366] Forked 25430 -[12365] Forked 25431 -(25430) found -(25431) found -[12364] Forked 25432 -[12363] Forked 25433 -(25432) found -(25433) found -[12362] Forked 25434 -[12361] Forked 25435 -(25434) found -(25435) found -[12360] Forked 25436 -[12359] Forked 25437 -(25436) found -(25437) found -[12358] Forked 25438 -[12357] Forked 25439 -(25438) found -(25439) found -[12356] Forked 25440 -[12355] Forked 25441 -(25440) found -(25441) found -[12354] Forked 25442 -[12353] Forked 25443 -(25442) found -(25443) found -[12352] Forked 25444 -[12351] Forked 25449 -(25444) found -(25449) found -[12350] Forked 25450 -[12349] Forked 25451 -(25450) found -(25451) found -[12348] Forked 25452 -[12347] Forked 25453 -(25452) found -(25453) found -[12346] Forked 25454 -[12345] Forked 25455 -(25454) found -(25455) found -[12344] Forked 25456 -[12343] Forked 25457 -(25456) found -(25457) found -[12342] Forked 25458 -[12341] Forked 25459 -(25458) found -(25459) found -[12340] Forked 25460 -[12339] Forked 25461 -(25460) found -(25461) found -[12338] Forked 25462 -[12337] Forked 25463 -(25462) found -(25463) found -[12336] Forked 25464 -[12335] Forked 25465 -(25464) found -(25465) found -[12334] Forked 25466 -[12333] Forked 25467 -(25466) found -(25467) found -[12332] Forked 25468 -[12331] Forked 25469 -(25468) found -(25469) found -[12330] Forked 25470 -[12329] Forked 25471 -(25470) found -(25471) found -[12328] Forked 25472 -[12327] Forked 25474 -(25472) found -(25474) found -[12326] Forked 25475 -(25475) found -[12325] Forked 25476 -(25476) found -[12324] Forked 25477 -(25477) found -[12323] Forked 25478 -(25478) found -[12322] Forked 25479 -(25479) found -[12321] Forked 25480 -(25480) found -[12320] Forked 25481 -(25481) found -[12319] Forked 25482 -(25482) found -[12318] Forked 25483 -(25483) found -[12317] Forked 25484 -(25484) found -[12316] Forked 25485 -(25485) found -[12315] Forked 25486 -(25486) found -[12314] Forked 25487 -(25487) found -[12313] Forked 25488 -(25488) found -[12312] Forked 25489 -(25489) found -[12311] Forked 25490 -(25490) found -[12310] Forked 25491 -(25491) found -[12309] Forked 25492 -(25492) found -[12308] Forked 25493 -(25493) found -[12307] Forked 25494 -(25494) found -[12306] Forked 25495 -(25495) found -[12305] Forked 25496 -(25496) found -[12304] Forked 25497 -(25497) found -[12303] Forked 25498 -(25498) found -[12302] Forked 25499 -(25499) found -[12301] Forked 25500 -(25500) found -[12300] Forked 25501 -(25501) found -[12299] Forked 25502 -(25502) found -[12298] Forked 25503 -(25503) found -[12297] Forked 25504 -(25504) found -[12296] Forked 25505 -(25505) found -[12295] Forked 25506 -(25506) found -[12294] Forked 25507 -(25507) found -[12293] Forked 25508 -(25508) found -[12292] Forked 25509 -(25509) found -[12291] Forked 25510 -(25510) found -[12290] Forked 25511 -(25511) found -[12289] Forked 25512 -(25512) found -[12288] Forked 25513 -(25513) found -[12287] Forked 25514 -[12286] Forked 25515 -(25514) found -(25515) found -[12285] Forked 25516 -[12284] Forked 25517 -(25516) found -(25517) found -[12283] Forked 25518 -[12282] Forked 25519 -(25518) found -(25519) found -[12281] Forked 25520 -[12280] Forked 25521 -(25520) found -(25521) found -[12279] Forked 25522 -[12278] Forked 25523 -(25522) found -(25523) found -[12277] Forked 25524 -[12276] Forked 25525 -(25524) found -(25525) found -[12275] Forked 25526 -[12274] Forked 25527 -(25526) found -(25527) found -[12273] Forked 25528 -[12272] Forked 25529 -(25528) found -(25529) found -[12271] Forked 25530 -[12270] Forked 25531 -(25530) found -(25531) found -[12269] Forked 25532 -[12268] Forked 25533 -(25532) found -(25533) found -[12267] Forked 25534 -[12266] Forked 25535 -(25534) found -(25535) found -[12265] Forked 25536 -[12264] Forked 25537 -(25536) found -(25537) found -[12263] Forked 25538 -[12262] Forked 25539 -(25538) found -(25539) found -[12261] Forked 25540 -[12260] Forked 25541 -(25540) found -(25541) found -[12259] Forked 25542 -[12258] Forked 25543 -(25542) found -(25543) found -[12257] Forked 25544 -[12256] Forked 25545 -(25544) found -(25545) found -[12255] Forked 25546 -[12254] Forked 25547 -(25546) found -(25547) found -[12253] Forked 25548 -[12252] Forked 25549 -(25548) found -(25549) found -[12251] Forked 25550 -[12250] Forked 25551 -(25550) found -(25551) found -[12249] Forked 25552 -[12248] Forked 25553 -(25552) found -(25553) found -[12247] Forked 25554 -[12246] Forked 25555 -(25554) found -(25555) found -[12245] Forked 25556 -[12244] Forked 25557 -(25556) found -(25557) found -[12243] Forked 25558 -(25558) found -[12242] Forked 25559 -(25559) found -[12241] Forked 25560 -(25560) found -[12240] Forked 25561 -(25561) found -[12239] Forked 25562 -(25562) found -[12238] Forked 25563 -(25563) found -[12237] Forked 25564 -(25564) found -[12236] Forked 25565 -(25565) found -[12235] Forked 25566 -(25566) found -[12234] Forked 25567 -(25567) found -[12233] Forked 25568 -(25568) found -[12232] Forked 25569 -(25569) found -[12231] Forked 25570 -(25570) found -[12230] Forked 25571 -(25571) found -[12229] Forked 25572 -(25572) found -[12228] Forked 25573 -(25573) found -[12227] Forked 25574 -(25574) found -[12226] Forked 25575 -(25575) found -[12225] Forked 25576 -(25576) found -[12224] Forked 25577 -(25577) found -[12223] Forked 25578 -(25578) found -[12222] Forked 25579 -(25579) found -[12221] Forked 25580 -(25580) found -[12220] Forked 25581 -(25581) found -[12219] Forked 25582 -(25582) found -[12218] Forked 25583 -(25583) found -[12217] Forked 25584 -(25584) found -[12216] Forked 25585 -(25585) found -[12215] Forked 25586 -(25586) found -[12214] Forked 25587 -(25587) found -[12213] Forked 25588 -(25588) found -[12212] Forked 25589 -(25589) found -[12211] Forked 25590 -(25590) found -[12210] Forked 25591 -(25591) found -[12209] Forked 25592 -(25592) found -[12208] Forked 25593 -(25593) found -[12207] Forked 25595 -(25595) found -[12206] Forked 25596 -(25596) found -[12205] Forked 25597 -(25597) found -[12204] Forked 25598 -(25598) found -[12203] Forked 25599 -(25599) found -[12202] Forked 25600 -(25600) found -[12201] Forked 25601 -(25601) found -[12200] Forked 25602 -(25602) found -[12199] Forked 25603 -(25603) found -[12198] Forked 25604 -(25604) found -[12197] Forked 25605 -(25605) found -[12196] Forked 25606 -(25606) found -[12195] Forked 25607 -(25607) found -[12194] Forked 25608 -(25608) found -[12193] Forked 25609 -(25609) found -[12192] Forked 25610 -(25610) found -[12191] Forked 25611 -(25611) found -[12190] Forked 25612 -(25612) found -[12189] Forked 25613 -(25613) found -[12188] Forked 25614 -(25614) found -[12187] Forked 25615 -(25615) found -[12186] Forked 25616 -(25616) found -[12185] Forked 25617 -(25617) found -[12184] Forked 25618 -(25618) found -[12183] Forked 25619 -(25619) found -[12182] Forked 25620 -(25620) found -[12181] Forked 25621 -(25621) found -[12180] Forked 25622 -(25622) found -[12179] Forked 25623 -(25623) found -[12178] Forked 25624 -(25624) found -[12177] Forked 25625 -(25625) found -[12176] Forked 25626 -(25626) found -[12175] Forked 25627 -(25627) found -[12174] Forked 25628 -(25628) found -[12173] Forked 25629 -(25629) found -[12172] Forked 25630 -(25630) found -[12171] Forked 25631 -(25631) found -[12170] Forked 25632 -(25632) found -[12169] Forked 25633 -(25633) found -[12168] Forked 25634 -(25634) found -[12167] Forked 25635 -(25635) found -[12166] Forked 25636 -[12165] Forked 25637 -(25636) found -(25637) found -[12164] Forked 25638 -[12163] Forked 25639 -(25638) found -(25639) found -[12162] Forked 25640 -[12161] Forked 25641 -(25640) found -(25641) found -[12160] Forked 25642 -[12159] Forked 25643 -(25642) found -(25643) found -[12158] Forked 25644 -[12157] Forked 25645 -(25644) found -(25645) found -[12156] Forked 25646 -[12155] Forked 25647 -(25646) found -(25647) found -[12154] Forked 25648 -[12153] Forked 25649 -(25648) found -(25649) found -[12152] Forked 25650 -[12151] Forked 25651 -(25650) found -(25651) found -[12150] Forked 25652 -[12149] Forked 25653 -(25652) found -(25653) found -[12148] Forked 25654 -[12147] Forked 25655 -(25654) found -(25655) found -[12146] Forked 25656 -[12145] Forked 25657 -(25656) found -(25657) found -[12144] Forked 25658 -[12143] Forked 25659 -(25658) found -(25659) found -[12142] Forked 25660 -[12141] Forked 25661 -(25660) found -(25661) found -[12140] Forked 25662 -[12139] Forked 25663 -(25662) found -(25663) found -[12138] Forked 25664 -[12137] Forked 25665 -(25664) found -(25665) found -[12136] Forked 25666 -[12135] Forked 25667 -(25666) found -(25667) found -[12134] Forked 25668 -[12133] Forked 25669 -(25668) found -(25669) found -[12132] Forked 25670 -[12131] Forked 25671 -(25670) found -(25671) found -[12130] Forked 25672 -[12129] Forked 25673 -(25672) found -(25673) found -[12128] Forked 25674 -[12127] Forked 25675 -(25674) found -(25675) found -[12126] Forked 25676 -[12125] Forked 25677 -(25676) found -(25677) found -[12124] Forked 25678 -[12123] Forked 25679 -(25678) found -(25679) found -[12122] Forked 25680 -[12121] Forked 25681 -(25680) found -(25681) found -[12120] Forked 25682 -[12119] Forked 25683 -(25682) found -(25683) found -[12118] Forked 25684 -[12117] Forked 25685 -(25684) found -(25685) found -[12116] Forked 25686 -[12115] Forked 25687 -(25686) found -(25687) found -[12114] Forked 25688 -[12113] Forked 25689 -(25688) found -(25689) found -[12112] Forked 25690 -[12111] Forked 25691 -(25690) found -(25691) found -[12110] Forked 25692 -[12109] Forked 25693 -(25692) found -(25693) found -[12108] Forked 25694 -[12107] Forked 25695 -(25694) found -(25695) found -[12106] Forked 25696 -[12105] Forked 25697 -(25696) found -(25697) found -[12104] Forked 25698 -[12103] Forked 25699 -(25698) found -(25699) found -[12102] Forked 25700 -[12101] Forked 25701 -(25700) found -(25701) found -[12100] Forked 25702 -[12099] Forked 25703 -(25702) found -(25703) found -[12098] Forked 25704 -[12097] Forked 25705 -(25704) found -(25705) found -[12096] Forked 25706 -[12095] Forked 25707 -(25706) found -(25707) found -[12094] Forked 25708 -[12093] Forked 25709 -(25708) found -(25709) found -[12092] Forked 25710 -[12091] Forked 25711 -(25710) found -(25711) found -[12090] Forked 25712 -[12089] Forked 25713 -(25712) found -(25713) found -[12088] Forked 25714 -[12087] Forked 25715 -(25714) found -(25715) found -[12086] Forked 25716 -[12085] Forked 25717 -(25716) found -(25717) found -[12084] Forked 25718 -[12083] Forked 25719 -(25718) found -(25719) found -[12082] Forked 25720 -[12081] Forked 25721 -(25720) found -(25721) found -[12080] Forked 25722 -[12079] Forked 25723 -(25722) found -(25723) found -[12078] Forked 25724 -[12077] Forked 25725 -(25724) found -(25725) found -[12076] Forked 25726 -(25726) found -[12075] Forked 25727 -(25727) found -[12074] Forked 25728 -(25728) found -[12073] Forked 25729 -(25729) found -[12072] Forked 25730 -(25730) found -[12071] Forked 25731 -(25731) found -[12070] Forked 25732 -(25732) found -[12069] Forked 25733 -(25733) found -[12068] Forked 25734 -(25734) found -[12067] Forked 25735 -(25735) found -[12066] Forked 25736 -(25736) found -[12065] Forked 25737 -(25737) found -[12064] Forked 25738 -(25738) found -[12063] Forked 25739 -(25739) found -[12062] Forked 25740 -(25740) found -[12061] Forked 25741 -(25741) found -[12060] Forked 25742 -(25742) found -[12059] Forked 25743 -(25743) found -[12058] Forked 25744 -(25744) found -[12057] Forked 25745 -(25745) found -[12056] Forked 25746 -(25746) found -[12055] Forked 25747 -(25747) found -[12054] Forked 25748 -(25748) found -[12053] Forked 25749 -(25749) found -[12052] Forked 25750 -(25750) found -[12051] Forked 25751 -(25751) found -[12050] Forked 25752 -(25752) found -[12049] Forked 25753 -(25753) found -[12048] Forked 25754 -(25754) found -[12047] Forked 25755 -(25755) found -[12046] Forked 25756 -(25756) found -[12045] Forked 25757 -(25757) found -[12044] Forked 25758 -(25758) found -[12043] Forked 25759 -(25759) found -[12042] Forked 25760 -(25760) found -[12041] Forked 25761 -(25761) found -[12040] Forked 25762 -(25762) found -[12039] Forked 25763 -(25763) found -[12038] Forked 25764 -[12037] Forked 25765 -(25764) found -(25765) found -[12036] Forked 25766 -[12035] Forked 25767 -(25766) found -(25767) found -[12034] Forked 25768 -[12033] Forked 25769 -(25768) found -(25769) found -[12032] Forked 25770 -[12031] Forked 25771 -(25770) found -(25771) found -[12030] Forked 25772 -[12029] Forked 25774 -(25772) found -(25774) found -[12028] Forked 25775 -[12027] Forked 25776 -(25775) found -(25776) found -[12026] Forked 25777 -[12025] Forked 25778 -(25777) found -(25778) found -[12024] Forked 25779 -[12023] Forked 25780 -(25780) found -(25779) found -[12022] Forked 25781 -(25781) found -[12021] Forked 25782 -(25782) found -[12020] Forked 25783 -(25783) found -[12019] Forked 25784 -(25784) found -[12018] Forked 25785 -(25785) found -[12017] Forked 25786 -(25786) found -[12016] Forked 25787 -(25787) found -[12015] Forked 25788 -(25788) found -[12014] Forked 25789 -(25789) found -[12013] Forked 25790 -(25790) found -[12012] Forked 25791 -(25791) found -[12011] Forked 25792 -(25792) found -[12010] Forked 25793 -(25793) found -[12009] Forked 25794 -(25794) found -[12008] Forked 25795 -(25795) found -[12007] Forked 25796 -(25796) found -[12006] Forked 25797 -(25797) found -[12005] Forked 25798 -(25798) found -[12004] Forked 25799 -(25799) found -[12003] Forked 25800 -(25800) found -[12002] Forked 25801 -(25801) found -[12001] Forked 25802 -(25802) found -[12000] Forked 25803 -(25803) found -[11999] Forked 25804 -(25804) found -[11998] Forked 25805 -(25805) found -[11997] Forked 25806 -(25806) found -[11996] Forked 25807 -(25807) found -[11995] Forked 25808 -(25808) found -[11994] Forked 25809 -(25809) found -[11993] Forked 25810 -(25810) found -[11992] Forked 25811 -(25811) found -[11991] Forked 25812 -(25812) found -[11990] Forked 25813 -(25813) found -[11989] Forked 25814 -(25814) found -[11988] Forked 25815 -(25815) found -[11987] Forked 25816 -(25816) found -[11986] Forked 25817 -(25817) found -[11985] Forked 25818 -(25818) found -[11984] Forked 25819 -(25819) found -[11983] Forked 25820 -(25820) found -[11982] Forked 25821 -(25821) found -[11981] Forked 25822 -(25822) found -[11980] Forked 25823 -(25823) found -[11979] Forked 25824 -(25824) found -[11978] Forked 25825 -(25825) found -[11977] Forked 25826 -(25826) found -[11976] Forked 25827 -(25827) found -[11975] Forked 25828 -(25828) found -[11974] Forked 25829 -(25829) found -[11973] Forked 25830 -(25830) found -[11972] Forked 25831 -(25831) found -[11971] Forked 25832 -(25832) found -[11970] Forked 25833 -(25833) found -[11969] Forked 25834 -(25834) found -[11968] Forked 25835 -(25835) found -[11967] Forked 25836 -[11966] Forked 25837 -(25836) found -(25837) found -[11965] Forked 25838 -[11964] Forked 25839 -(25838) found -(25839) found -[11963] Forked 25840 -[11962] Forked 25841 -(25840) found -(25841) found -[11961] Forked 25842 -[11960] Forked 25843 -(25842) found -(25843) found -[11959] Forked 25844 -[11958] Forked 25845 -(25844) found -(25845) found -[11957] Forked 25846 -[11956] Forked 25847 -(25846) found -(25847) found -[11955] Forked 25848 -[11954] Forked 25849 -(25848) found -(25849) found -[11953] Forked 25850 -[11952] Forked 25851 -(25850) found -(25851) found -[11951] Forked 25852 -[11950] Forked 25853 -(25852) found -(25853) found -[11949] Forked 25854 -[11948] Forked 25855 -(25854) found -(25855) found -[11947] Forked 25856 -[11946] Forked 25857 -(25856) found -(25857) found -[11945] Forked 25858 -[11944] Forked 25859 -(25858) found -(25859) found -[11943] Forked 25860 -[11942] Forked 25861 -(25860) found -(25861) found -[11941] Forked 25862 -[11940] Forked 25863 -(25862) found -(25863) found -[11939] Forked 25864 -[11938] Forked 25865 -(25864) found -(25865) found -[11937] Forked 25866 -[11936] Forked 25867 -(25866) found -(25867) found -[11935] Forked 25868 -[11934] Forked 25869 -(25868) found -(25869) found -[11933] Forked 25870 -[11932] Forked 25871 -(25870) found -(25871) found -[11931] Forked 25872 -[11930] Forked 25873 -(25872) found -(25873) found -[11929] Forked 25874 -[11928] Forked 25875 -(25874) found -(25875) found -[11927] Forked 25876 -[11926] Forked 25877 -(25876) found -(25877) found -[11925] Forked 25878 -[11924] Forked 25879 -(25878) found -(25879) found -[11923] Forked 25880 -(25880) found -[11922] Forked 25881 -(25881) found -[11921] Forked 25882 -(25882) found -[11920] Forked 25883 -(25883) found -[11919] Forked 25884 -(25884) found -[11918] Forked 25885 -(25885) found -[11917] Forked 25886 -(25886) found -[11916] Forked 25887 -(25887) found -[11915] Forked 25888 -(25888) found -[11914] Forked 25889 -(25889) found -[11913] Forked 25890 -(25890) found -[11912] Forked 25891 -(25891) found -[11911] Forked 25892 -(25892) found -[11910] Forked 25893 -(25893) found -[11909] Forked 25894 -(25894) found -[11908] Forked 25895 -(25895) found -[11907] Forked 25896 -(25896) found -[11906] Forked 25897 -(25897) found -[11905] Forked 25898 -(25898) found -[11904] Forked 25899 -(25899) found -[11903] Forked 25900 -(25900) found -[11902] Forked 25901 -(25901) found -[11901] Forked 25902 -(25902) found -[11900] Forked 25903 -(25903) found -[11899] Forked 25904 -(25904) found -[11898] Forked 25905 -(25905) found -[11897] Forked 25906 -(25906) found -[11896] Forked 25907 -(25907) found -[11895] Forked 25908 -(25908) found -[11894] Forked 25909 -(25909) found -[11893] Forked 25910 -(25910) found -[11892] Forked 25911 -(25911) found -[11891] Forked 25912 -(25912) found -[11890] Forked 25913 -(25913) found -[11889] Forked 25914 -(25914) found -[11888] Forked 25915 -(25915) found -[11887] Forked 25916 -(25916) found -[11886] Forked 25917 -[11885] Forked 25918 -(25917) found -(25918) found -[11884] Forked 25919 -[11883] Forked 25920 -(25919) found -(25920) found -[11882] Forked 25921 -[11881] Forked 25922 -(25921) found -(25922) found -[11880] Forked 25923 -[11879] Forked 25924 -(25923) found -(25924) found -[11878] Forked 25925 -[11877] Forked 25926 -(25925) found -(25926) found -[11876] Forked 25927 -[11875] Forked 25928 -(25927) found -(25928) found -[11874] Forked 25929 -[11873] Forked 25930 -(25929) found -(25930) found -[11872] Forked 25931 -[11871] Forked 25932 -(25931) found -(25932) found -[11870] Forked 25933 -[11869] Forked 25934 -(25933) found -(25934) found -[11868] Forked 25935 -[11867] Forked 25936 -(25935) found -(25936) found -[11866] Forked 25937 -[11865] Forked 25938 -(25937) found -(25938) found -[11864] Forked 25939 -[11863] Forked 25940 -(25939) found -(25940) found -[11862] Forked 25941 -[11861] Forked 25942 -(25941) found -(25942) found -[11860] Forked 25943 -[11859] Forked 25944 -(25943) found -(25944) found -[11858] Forked 25945 -[11857] Forked 25946 -(25945) found -(25946) found -[11856] Forked 25947 -[11855] Forked 25948 -(25947) found -(25948) found -[11854] Forked 25949 -[11853] Forked 25950 -(25949) found -(25950) found -[11852] Forked 25951 -[11851] Forked 25952 -(25951) found -(25952) found -[11850] Forked 25953 -[11849] Forked 25954 -(25953) found -(25954) found -[11848] Forked 25955 -[11847] Forked 25956 -(25955) found -(25956) found -[11846] Forked 25957 -[11845] Forked 25958 -(25957) found -(25958) found -[11844] Forked 25959 -[11843] Forked 25960 -(25959) found -(25960) found -[11842] Forked 25961 -[11841] Forked 25962 -(25961) found -(25962) found -[11840] Forked 25963 -[11839] Forked 25964 -(25963) found -(25964) found -[11838] Forked 25965 -[11837] Forked 25966 -(25965) found -(25966) found -[11836] Forked 25967 -[11835] Forked 25968 -(25967) found -(25968) found -[11834] Forked 25969 -[11833] Forked 25970 -(25969) found -(25970) found -[11832] Forked 25971 -[11831] Forked 25972 -(25971) found -(25972) found -[11830] Forked 25973 -[11829] Forked 25974 -(25973) found -(25974) found -[11828] Forked 25975 -[11827] Forked 25976 -(25975) found -(25976) found -[11826] Forked 25977 -[11825] Forked 25978 -(25977) found -(25978) found -[11824] Forked 25979 -[11823] Forked 25980 -(25979) found -(25980) found -[11822] Forked 25981 -[11821] Forked 25982 -(25981) found -(25982) found -[11820] Forked 25983 -[11819] Forked 25984 -(25983) found -(25984) found -[11818] Forked 25985 -[11817] Forked 25986 -(25985) found -(25986) found -[11816] Forked 25987 -[11815] Forked 25988 -(25987) found -(25988) found -[11814] Forked 25989 -[11813] Forked 25990 -(25989) found -(25990) found -[11812] Forked 25991 -[11811] Forked 25992 -(25991) found -(25992) found -[11810] Forked 25993 -[11809] Forked 25994 -(25993) found -(25994) found -[11808] Forked 25995 -[11807] Forked 25996 -(25995) found -(25996) found -[11806] Forked 25997 -[11805] Forked 25998 -(25997) found -(25998) found -[11804] Forked 25999 -[11803] Forked 26000 -(25999) found -(26000) found -[11802] Forked 26001 -(26001) found -[11801] Forked 26002 -[11800] Forked 26003 -(26002) found -(26003) found -[11799] Forked 26004 -[11798] Forked 26005 -(26004) found -(26005) found -[11797] Forked 26006 -[11796] Forked 26007 -(26006) found -(26007) found -[11795] Forked 26008 -[11794] Forked 26009 -(26008) found -(26009) found -[11793] Forked 26010 -[11792] Forked 26011 -(26010) found -(26011) found -[11791] Forked 26012 -[11790] Forked 26013 -(26012) found -(26013) found -[11789] Forked 26014 -[11788] Forked 26015 -(26014) found -(26015) found -[11787] Forked 26016 -[11786] Forked 26017 -(26016) found -(26017) found -[11785] Forked 26018 -[11784] Forked 26019 -(26018) found -(26019) found -[11783] Forked 26020 -[11782] Forked 26021 -(26020) found -(26021) found -[11781] Forked 26022 -[11780] Forked 26023 -(26022) found -(26023) found -[11779] Forked 26024 -[11778] Forked 26025 -(26024) found -(26025) found -[11777] Forked 26026 -[11776] Forked 26027 -(26026) found -(26027) found -[11775] Forked 26028 -[11774] Forked 26029 -(26028) found -(26029) found -[11773] Forked 26030 -[11772] Forked 26031 -(26030) found -(26031) found -[11771] Forked 26032 -[11770] Forked 26033 -(26032) found -(26033) found -[11769] Forked 26034 -[11768] Forked 26035 -(26034) found -(26035) found -[11767] Forked 26036 -[11766] Forked 26037 -(26036) found -(26037) found -[11765] Forked 26038 -[11764] Forked 26039 -(26038) found -(26039) found -[11763] Forked 26040 -[11762] Forked 26041 -(26040) found -(26041) found -[11761] Forked 26042 -[11760] Forked 26043 -(26042) found -(26043) found -[11759] Forked 26044 -[11758] Forked 26045 -(26044) found -(26045) found -[11757] Forked 26046 -[11756] Forked 26047 -(26046) found -(26047) found -[11755] Forked 26048 -[11754] Forked 26050 -(26048) found -(26050) found -[11753] Forked 26051 -(26051) found -[11752] Forked 26052 -(26052) found -[11751] Forked 26053 -(26053) found -[11750] Forked 26054 -(26054) found -[11749] Forked 26055 -(26055) found -[11748] Forked 26056 -(26056) found -[11747] Forked 26057 -(26057) found -[11746] Forked 26058 -(26058) found -[11745] Forked 26059 -(26059) found -[11744] Forked 26060 -(26060) found -[11743] Forked 26061 -(26061) found -[11742] Forked 26062 -(26062) found -[11741] Forked 26063 -(26063) found -[11740] Forked 26064 -(26064) found -[11739] Forked 26065 -(26065) found -[11738] Forked 26066 -(26066) found -[11737] Forked 26067 -(26067) found -[11736] Forked 26068 -(26068) found -[11735] Forked 26069 -(26069) found -[11734] Forked 26070 -(26070) found -[11733] Forked 26071 -(26071) found -[11732] Forked 26072 -(26072) found -[11731] Forked 26073 -(26073) found -[11730] Forked 26074 -(26074) found -[11729] Forked 26075 -(26075) found -[11728] Forked 26076 -(26076) found -[11727] Forked 26077 -(26077) found -[11726] Forked 26078 -(26078) found -[11725] Forked 26079 -(26079) found -[11724] Forked 26080 -(26080) found -[11723] Forked 26081 -(26081) found -[11722] Forked 26082 -(26082) found -[11721] Forked 26083 -(26083) found -[11720] Forked 26084 -(26084) found -[11719] Forked 26085 -(26085) found -[11718] Forked 26086 -(26086) found -[11717] Forked 26087 -(26087) found -[11716] Forked 26088 -(26088) found -[11715] Forked 26089 -(26089) found -[11714] Forked 26090 -(26090) found -[11713] Forked 26091 -(26091) found -[11712] Forked 26092 -(26092) found -[11711] Forked 26093 -(26093) found -[11710] Forked 26094 -(26094) found -[11709] Forked 26095 -(26095) found -[11708] Forked 26096 -(26096) found -[11707] Forked 26097 -(26097) found -[11706] Forked 26098 -(26098) found -[11705] Forked 26099 -(26099) found -[11704] Forked 26100 -(26100) found -[11703] Forked 26101 -(26101) found -[11702] Forked 26102 -(26102) found -[11701] Forked 26103 -(26103) found -[11700] Forked 26104 -(26104) found -[11699] Forked 26105 -(26105) found -[11698] Forked 26106 -(26106) found -[11697] Forked 26107 -(26107) found -[11696] Forked 26108 -(26108) found -[11695] Forked 26109 -(26109) found -[11694] Forked 26110 -(26110) found -[11693] Forked 26111 -(26111) found -[11692] Forked 26112 -(26112) found -[11691] Forked 26113 -(26113) found -[11690] Forked 26114 -(26114) found -[11689] Forked 26115 -(26115) found -[11688] Forked 26116 -(26116) found -[11687] Forked 26117 -(26117) found -[11686] Forked 26118 -(26118) found -[11685] Forked 26119 -(26119) found -[11684] Forked 26120 -(26120) found -[11683] Forked 26121 -(26121) found -[11682] Forked 26122 -[11681] Forked 26123 -(26122) found -(26123) found -[11680] Forked 26124 -[11679] Forked 26125 -(26124) found -(26125) found -[11678] Forked 26126 -[11677] Forked 26127 -(26126) found -(26127) found -[11676] Forked 26128 -[11675] Forked 26129 -(26128) found -(26129) found -[11674] Forked 26130 -[11673] Forked 26131 -(26130) found -(26131) found -[11672] Forked 26132 -[11671] Forked 26133 -(26132) found -(26133) found -[11670] Forked 26134 -[11669] Forked 26135 -(26134) found -(26135) found -[11668] Forked 26136 -[11667] Forked 26137 -(26136) found -(26137) found -[11666] Forked 26138 -[11665] Forked 26139 -(26138) found -(26139) found -[11664] Forked 26140 -[11663] Forked 26141 -(26140) found -(26141) found -[11662] Forked 26142 -[11661] Forked 26143 -(26142) found -(26143) found -[11660] Forked 26144 -[11659] Forked 26145 -(26144) found -(26145) found -[11658] Forked 26146 -[11657] Forked 26147 -(26146) found -(26147) found -[11656] Forked 26148 -[11655] Forked 26149 -(26148) found -(26149) found -[11654] Forked 26150 -[11653] Forked 26151 -(26150) found -(26151) found -[11652] Forked 26152 -[11651] Forked 26153 -(26152) found -(26153) found -[11650] Forked 26154 -[11649] Forked 26155 -(26154) found -(26155) found -[11648] Forked 26156 -[11647] Forked 26157 -(26156) found -(26157) found -[11646] Forked 26158 -[11645] Forked 26159 -(26158) found -(26159) found -[11644] Forked 26160 -[11643] Forked 26161 -(26160) found -(26161) found -[11642] Forked 26162 -[11641] Forked 26163 -(26162) found -(26163) found -[11640] Forked 26164 -[11639] Forked 26165 -(26164) found -(26165) found -[11638] Forked 26166 -[11637] Forked 26168 -(26166) found -(26168) found -[11636] Forked 26169 -(26169) found -[11635] Forked 26170 -(26170) found -[11634] Forked 26171 -(26171) found -[11633] Forked 26172 -(26172) found -[11632] Forked 26173 -(26173) found -[11631] Forked 26174 -(26174) found -[11630] Forked 26175 -(26175) found -[11629] Forked 26176 -(26176) found -[11628] Forked 26177 -(26177) found -[11627] Forked 26178 -(26178) found -[11626] Forked 26179 -(26179) found -[11625] Forked 26180 -(26180) found -[11624] Forked 26181 -(26181) found -[11623] Forked 26182 -(26182) found -[11622] Forked 26183 -(26183) found -[11621] Forked 26184 -(26184) found -[11620] Forked 26185 -(26185) found -[11619] Forked 26186 -(26186) found -[11618] Forked 26187 -(26187) found -[11617] Forked 26188 -(26188) found -[11616] Forked 26189 -(26189) found -[11615] Forked 26190 -(26190) found -[11614] Forked 26191 -(26191) found -[11613] Forked 26192 -(26192) found -[11612] Forked 26193 -(26193) found -[11611] Forked 26194 -(26194) found -[11610] Forked 26195 -(26195) found -[11609] Forked 26196 -(26196) found -[11608] Forked 26197 -(26197) found -[11607] Forked 26198 -(26198) found -[11606] Forked 26199 -(26199) found -[11605] Forked 26200 -(26200) found -[11604] Forked 26201 -(26201) found -[11603] Forked 26202 -(26202) found -[11602] Forked 26203 -[11601] Forked 26204 -(26203) found -(26204) found -[11600] Forked 26205 -[11599] Forked 26206 -(26205) found -(26206) found -[11598] Forked 26207 -(26207) found -[11597] Forked 26208 -(26208) found -[11596] Forked 26209 -(26209) found -[11595] Forked 26210 -(26210) found -[11594] Forked 26211 -(26211) found -[11593] Forked 26212 -(26212) found -[11592] Forked 26213 -(26213) found -[11591] Forked 26214 -(26214) found -[11590] Forked 26215 -(26215) found -[11589] Forked 26216 -(26216) found -[11588] Forked 26217 -(26217) found -[11587] Forked 26218 -(26218) found -[11586] Forked 26219 -(26219) found -[11585] Forked 26220 -(26220) found -[11584] Forked 26221 -(26221) found -[11583] Forked 26222 -(26222) found -[11582] Forked 26223 -(26223) found -[11581] Forked 26224 -(26224) found -[11580] Forked 26225 -(26225) found -[11579] Forked 26226 -(26226) found -[11578] Forked 26227 -(26227) found -[11577] Forked 26228 -(26228) found -[11576] Forked 26229 -(26229) found -[11575] Forked 26230 -(26230) found -[11574] Forked 26231 -(26231) found -[11573] Forked 26232 -(26232) found -[11572] Forked 26233 -(26233) found -[11571] Forked 26234 -(26234) found -[11570] Forked 26235 -(26235) found -[11569] Forked 26236 -(26236) found -[11568] Forked 26237 -(26237) found -[11567] Forked 26238 -(26238) found -[11566] Forked 26239 -(26239) found -[11565] Forked 26240 -(26240) found -[11564] Forked 26241 -(26241) found -[11563] Forked 26242 -(26242) found -[11562] Forked 26243 -(26243) found -[11561] Forked 26244 -(26244) found -[11560] Forked 26245 -(26245) found -[11559] Forked 26246 -(26246) found -[11558] Forked 26247 -(26247) found -[11557] Forked 26248 -(26248) found -[11556] Forked 26249 -(26249) found -[11555] Forked 26250 -(26250) found -[11554] Forked 26251 -(26251) found -[11553] Forked 26252 -(26252) found -[11552] Forked 26253 -(26253) found -[11551] Forked 26254 -(26254) found -[11550] Forked 26255 -(26255) found -[11549] Forked 26256 -(26256) found -[11548] Forked 26257 -(26257) found -[11547] Forked 26258 -(26258) found -[11546] Forked 26259 -(26259) found -[11545] Forked 26260 -(26260) found -[11544] Forked 26261 -(26261) found -[11543] Forked 26262 -(26262) found -[11542] Forked 26263 -(26263) found -[11541] Forked 26264 -(26264) found -[11540] Forked 26265 -(26265) found -[11539] Forked 26266 -(26266) found -[11538] Forked 26267 -(26267) found -[11537] Forked 26268 -(26268) found -[11536] Forked 26269 -(26269) found -[11535] Forked 26270 -(26270) found -[11534] Forked 26271 -(26271) found -[11533] Forked 26272 -(26272) found -[11532] Forked 26273 -(26273) found -[11531] Forked 26274 -[11530] Forked 26275 -(26274) found -(26275) found -[11529] Forked 26276 -[11528] Forked 26277 -(26276) found -(26277) found -[11527] Forked 26278 -[11526] Forked 26279 -(26278) found -(26279) found -[11525] Forked 26280 -[11524] Forked 26281 -(26280) found -(26281) found -[11523] Forked 26282 -[11522] Forked 26283 -(26282) found -(26283) found -[11521] Forked 26284 -[11520] Forked 26285 -(26284) found -(26285) found -[11519] Forked 26286 -[11518] Forked 26287 -(26286) found -(26287) found -[11517] Forked 26288 -[11516] Forked 26289 -(26288) found -(26289) found -[11515] Forked 26290 -[11514] Forked 26291 -(26290) found -(26291) found -[11513] Forked 26292 -[11512] Forked 26293 -(26292) found -(26293) found -[11511] Forked 26294 -[11510] Forked 26295 -(26294) found -(26295) found -[11509] Forked 26296 -[11508] Forked 26297 -(26296) found -(26297) found -[11507] Forked 26298 -[11506] Forked 26299 -(26298) found -(26299) found -[11505] Forked 26300 -[11504] Forked 26301 -(26300) found -(26301) found -[11503] Forked 26302 -[11502] Forked 26303 -(26302) found -(26303) found -[11501] Forked 26304 -[11500] Forked 26305 -(26304) found -(26305) found -[11499] Forked 26306 -[11498] Forked 26307 -(26306) found -(26307) found -[11497] Forked 26308 -[11496] Forked 26309 -(26308) found -(26309) found -[11495] Forked 26310 -[11494] Forked 26311 -(26310) found -(26311) found -[11493] Forked 26312 -[11492] Forked 26314 -(26312) found -(26314) found -[11491] Forked 26315 -(26315) found -[11490] Forked 26316 -(26316) found -[11489] Forked 26317 -(26317) found -[11488] Forked 26318 -(26318) found -[11487] Forked 26319 -(26319) found -[11486] Forked 26320 -(26320) found -[11485] Forked 26321 -(26321) found -[11484] Forked 26322 -(26322) found -[11483] Forked 26323 -(26323) found -[11482] Forked 26324 -(26324) found -[11481] Forked 26325 -(26325) found -[11480] Forked 26326 -(26326) found -[11479] Forked 26327 -(26327) found -[11478] Forked 26328 -(26328) found -[11477] Forked 26329 -(26329) found -[11476] Forked 26330 -(26330) found -[11475] Forked 26331 -(26331) found -[11474] Forked 26332 -(26332) found -[11473] Forked 26333 -(26333) found -[11472] Forked 26334 -(26334) found -[11471] Forked 26335 -(26335) found -[11470] Forked 26336 -(26336) found -[11469] Forked 26337 -(26337) found -[11468] Forked 26338 -(26338) found -[11467] Forked 26339 -(26339) found -[11466] Forked 26340 -(26340) found -[11465] Forked 26341 -(26341) found -[11464] Forked 26342 -(26342) found -[11463] Forked 26343 -(26343) found -[11462] Forked 26344 -(26344) found -[11461] Forked 26345 -(26345) found -[11460] Forked 26346 -(26346) found -[11459] Forked 26347 -(26347) found -[11458] Forked 26348 -(26348) found -[11457] Forked 26349 -(26349) found -[11456] Forked 26350 -(26350) found -[11455] Forked 26351 -(26351) found -[11454] Forked 26352 -(26352) found -[11453] Forked 26353 -(26353) found -[11452] Forked 26354 -(26354) found -[11451] Forked 26355 -(26355) found -[11450] Forked 26356 -(26356) found -[11449] Forked 26357 -(26357) found -[11448] Forked 26358 -(26358) found -[11447] Forked 26359 -(26359) found -[11446] Forked 26360 -(26360) found -[11445] Forked 26361 -(26361) found -[11444] Forked 26362 -(26362) found -[11443] Forked 26363 -(26363) found -[11442] Forked 26364 -(26364) found -[11441] Forked 26365 -(26365) found -[11440] Forked 26366 -(26366) found -[11439] Forked 26367 -(26367) found -[11438] Forked 26368 -(26368) found -[11437] Forked 26369 -(26369) found -[11436] Forked 26370 -(26370) found -[11435] Forked 26371 -(26371) found -[11434] Forked 26372 -(26372) found -[11433] Forked 26373 -(26373) found -[11432] Forked 26374 -(26374) found -[11431] Forked 26375 -(26375) found -[11430] Forked 26376 -(26376) found -[11429] Forked 26377 -(26377) found -[11428] Forked 26378 -(26378) found -[11427] Forked 26379 -(26379) found -[11426] Forked 26380 -(26380) found -[11425] Forked 26381 -(26381) found -[11424] Forked 26382 -(26382) found -[11423] Forked 26383 -(26383) found -[11422] Forked 26384 -(26384) found -[11421] Forked 26385 -(26385) found -[11420] Forked 26386 -(26386) found -[11419] Forked 26387 -(26387) found -[11418] Forked 26388 -(26388) found -[11417] Forked 26389 -(26389) found -[11416] Forked 26390 -(26390) found -[11415] Forked 26391 -(26391) found -[11414] Forked 26392 -(26392) found -[11413] Forked 26393 -(26393) found -[11412] Forked 26394 -(26394) found -[11411] Forked 26395 -(26395) found -[11410] Forked 26396 -(26396) found -[11409] Forked 26397 -(26397) found -[11408] Forked 26398 -(26398) found -[11407] Forked 26399 -(26399) found -[11406] Forked 26400 -(26400) found -[11405] Forked 26401 -(26401) found -[11404] Forked 26402 -(26402) found -[11403] Forked 26403 -(26403) found -[11402] Forked 26404 -(26404) found -[11401] Forked 26405 -(26405) found -[11400] Forked 26406 -(26406) found -[11399] Forked 26407 -(26407) found -[11398] Forked 26408 -(26408) found -[11397] Forked 26409 -(26409) found -[11396] Forked 26410 -(26410) found -[11395] Forked 26411 -(26411) found -[11394] Forked 26412 -(26412) found -[11393] Forked 26413 -(26413) found -[11392] Forked 26414 -(26414) found -[11391] Forked 26415 -(26415) found -[11390] Forked 26416 -(26416) found -[11389] Forked 26417 -(26417) found -[11388] Forked 26418 -(26418) found -[11387] Forked 26419 -(26419) found -[11386] Forked 26420 -(26420) found -[11385] Forked 26421 -(26421) found -[11384] Forked 26422 -(26422) found -[11383] Forked 26423 -(26423) found -[11382] Forked 26424 -(26424) found -[11381] Forked 26425 -(26425) found -[11380] Forked 26426 -(26426) found -[11379] Forked 26427 -(26427) found -[11378] Forked 26428 -(26428) found -[11377] Forked 26429 -(26429) found -[11376] Forked 26430 -(26430) found -[11375] Forked 26431 -(26431) found -[11374] Forked 26432 -(26432) found -[11373] Forked 26433 -(26433) found -[11372] Forked 26434 -(26434) found -[11371] Forked 26435 -(26435) found -[11370] Forked 26436 -(26436) found -[11369] Forked 26437 -(26437) found -[11368] Forked 26438 -(26438) found -[11367] Forked 26439 -(26439) found -[11366] Forked 26440 -(26440) found -[11365] Forked 26441 -(26441) found -[11364] Forked 26442 -(26442) found -[11363] Forked 26443 -(26443) found -[11362] Forked 26444 -(26444) found -[11361] Forked 26445 -(26445) found -[11360] Forked 26446 -(26446) found -[11359] Forked 26447 -(26447) found -[11358] Forked 26448 -(26448) found -[11357] Forked 26449 -(26449) found -[11356] Forked 26450 -(26450) found -[11355] Forked 26451 -(26451) found -[11354] Forked 26452 -(26452) found -[11353] Forked 26453 -(26453) found -[11352] Forked 26454 -(26454) found -[11351] Forked 26455 -(26455) found -[11350] Forked 26456 -(26456) found -[11349] Forked 26457 -(26457) found -[11348] Forked 26458 -(26458) found -[11347] Forked 26459 -(26459) found -[11346] Forked 26460 -(26460) found -[11345] Forked 26461 -(26461) found -[11344] Forked 26462 -(26462) found -[11343] Forked 26463 -(26463) found -[11342] Forked 26464 -(26464) found -[11341] Forked 26465 -(26465) found -[11340] Forked 26466 -(26466) found -[11339] Forked 26467 -(26467) found -[11338] Forked 26468 -(26468) found -[11337] Forked 26469 -(26469) found -[11336] Forked 26470 -(26470) found -[11335] Forked 26471 -(26471) found -[11334] Forked 26472 -(26472) found -[11333] Forked 26473 -(26473) found -[11332] Forked 26474 -(26474) found -[11331] Forked 26475 -(26475) found -[11330] Forked 26476 -(26476) found -[11329] Forked 26477 -(26477) found -[11328] Forked 26478 -(26478) found -[11327] Forked 26479 -(26479) found -[11326] Forked 26480 -(26480) found -[11325] Forked 26481 -(26481) found -[11324] Forked 26482 -(26482) found -[11323] Forked 26483 -(26483) found -[11322] Forked 26484 -(26484) found -[11321] Forked 26485 -(26485) found -[11320] Forked 26486 -(26486) found -[11319] Forked 26487 -(26487) found -[11318] Forked 26488 -(26488) found -[11317] Forked 26489 -(26489) found -[11316] Forked 26490 -(26490) found -[11315] Forked 26491 -(26491) found -[11314] Forked 26492 -(26492) found -[11313] Forked 26493 -[11312] Forked 26494 -(26493) found -(26494) found -[11311] Forked 26495 -[11310] Forked 26496 -(26495) found -(26496) found -[11309] Forked 26497 -[11308] Forked 26498 -(26497) found -(26498) found -[11307] Forked 26499 -[11306] Forked 26500 -(26499) found -(26500) found -[11305] Forked 26501 -[11304] Forked 26502 -(26501) found -(26502) found -[11303] Forked 26503 -[11302] Forked 26504 -(26503) found -(26504) found -[11301] Forked 26505 -[11300] Forked 26506 -(26505) found -(26506) found -[11299] Forked 26507 -[11298] Forked 26508 -(26507) found -(26508) found -[11297] Forked 26509 -[11296] Forked 26510 -(26509) found -(26510) found -[11295] Forked 26511 -[11294] Forked 26512 -(26511) found -(26512) found -[11293] Forked 26513 -[11292] Forked 26514 -(26513) found -(26514) found -[11291] Forked 26515 -[11290] Forked 26516 -(26515) found -(26516) found -[11289] Forked 26517 -[11288] Forked 26518 -(26517) found -(26518) found -[11287] Forked 26519 -[11286] Forked 26520 -(26519) found -(26520) found -[11285] Forked 26521 -[11284] Forked 26522 -(26521) found -(26522) found -[11283] Forked 26523 -[11282] Forked 26524 -(26523) found -(26524) found -[11281] Forked 26525 -[11280] Forked 26526 -(26525) found -(26526) found -[11279] Forked 26527 -[11278] Forked 26528 -(26527) found -(26528) found -[11277] Forked 26529 -[11276] Forked 26530 -(26529) found -(26530) found -[11275] Forked 26531 -[11274] Forked 26532 -(26531) found -(26532) found -[11273] Forked 26533 -[11272] Forked 26534 -(26533) found -(26534) found -[11271] Forked 26535 -[11270] Forked 26536 -(26535) found -(26536) found -[11269] Forked 26537 -[11268] Forked 26538 -(26537) found -(26538) found -[11267] Forked 26539 -(26539) found -[11266] Forked 26540 -(26540) found -[11265] Forked 26541 -(26541) found -[11264] Forked 26542 -(26542) found -[11263] Forked 26543 -(26543) found -[11262] Forked 26544 -(26544) found -[11261] Forked 26545 -(26545) found -[11260] Forked 26546 -(26546) found -[11259] Forked 26547 -(26547) found -[11258] Forked 26548 -(26548) found -[11257] Forked 26549 -(26549) found -[11256] Forked 26550 -(26550) found -[11255] Forked 26551 -(26551) found -[11254] Forked 26552 -(26552) found -[11253] Forked 26553 -(26553) found -[11252] Forked 26554 -(26554) found -[11251] Forked 26555 -(26555) found -[11250] Forked 26556 -(26556) found -[11249] Forked 26557 -(26557) found -[11248] Forked 26558 -(26558) found -[11247] Forked 26559 -(26559) found -[11246] Forked 26560 -(26560) found -[11245] Forked 26561 -(26561) found -[11244] Forked 26562 -(26562) found -[11243] Forked 26563 -(26563) found -[11242] Forked 26564 -(26564) found -[11241] Forked 26565 -(26565) found -[11240] Forked 26566 -(26566) found -[11239] Forked 26567 -(26567) found -[11238] Forked 26568 -(26568) found -[11237] Forked 26569 -(26569) found -[11236] Forked 26570 -(26570) found -[11235] Forked 26571 -(26571) found -[11234] Forked 26572 -(26572) found -[11233] Forked 26573 -(26573) found -[11232] Forked 26574 -(26574) found -[11231] Forked 26575 -[11230] Forked 26576 -(26575) found -(26576) found -[11229] Forked 26577 -[11228] Forked 26578 -(26577) found -(26578) found -[11227] Forked 26579 -[11226] Forked 26580 -(26579) found -(26580) found -[11225] Forked 26581 -[11224] Forked 26582 -(26581) found -(26582) found -[11223] Forked 26583 -[11222] Forked 26584 -(26583) found -(26584) found -[11221] Forked 26585 -[11220] Forked 26586 -(26585) found -(26586) found -[11219] Forked 26587 -[11218] Forked 26588 -(26587) found -(26588) found -[11217] Forked 26589 -[11216] Forked 26590 -(26589) found -(26590) found -[11215] Forked 26591 -[11214] Forked 26592 -(26591) found -(26592) found -[11213] Forked 26593 -[11212] Forked 26594 -(26593) found -(26594) found -[11211] Forked 26595 -[11210] Forked 26596 -(26595) found -(26596) found -[11209] Forked 26597 -[11208] Forked 26598 -(26597) found -(26598) found -[11207] Forked 26599 -[11206] Forked 26600 -(26599) found -(26600) found -[11205] Forked 26601 -[11204] Forked 26602 -(26601) found -(26602) found -[11203] Forked 26603 -[11202] Forked 26604 -(26603) found -(26604) found -[11201] Forked 26605 -[11200] Forked 26606 -(26605) found -(26606) found -[11199] Forked 26607 -[11198] Forked 26608 -(26607) found -(26608) found -[11197] Forked 26609 -[11196] Forked 26610 -(26609) found -(26610) found -[11195] Forked 26611 -[11194] Forked 26612 -(26611) found -(26612) found -[11193] Forked 26613 -[11192] Forked 26614 -(26613) found -(26614) found -[11191] Forked 26615 -[11190] Forked 26616 -(26615) found -(26616) found -[11189] Forked 26617 -[11188] Forked 26618 -(26617) found -(26618) found -[11187] Forked 26619 -[11186] Forked 26620 -(26619) found -(26620) found -[11185] Forked 26621 -(26621) found -[11184] Forked 26622 -(26622) found -[11183] Forked 26623 -(26623) found -[11182] Forked 26624 -(26624) found -[11181] Forked 26625 -(26625) found -[11180] Forked 26626 -(26626) found -[11179] Forked 26627 -(26627) found -[11178] Forked 26628 -(26628) found -[11177] Forked 26629 -(26629) found -[11176] Forked 26630 -(26630) found -[11175] Forked 26631 -(26631) found -[11174] Forked 26632 -(26632) found -[11173] Forked 26633 -(26633) found -[11172] Forked 26634 -(26634) found -[11171] Forked 26635 -(26635) found -[11170] Forked 26636 -(26636) found -[11169] Forked 26637 -(26637) found -[11168] Forked 26638 -(26638) found -[11167] Forked 26639 -(26639) found -[11166] Forked 26640 -(26640) found -[11165] Forked 26641 -(26641) found -[11164] Forked 26642 -(26642) found -[11163] Forked 26643 -(26643) found -[11162] Forked 26644 -(26644) found -[11161] Forked 26645 -(26645) found -[11160] Forked 26646 -(26646) found -[11159] Forked 26647 -(26647) found -[11158] Forked 26648 -(26648) found -[11157] Forked 26649 -(26649) found -[11156] Forked 26650 -(26650) found -[11155] Forked 26651 -(26651) found -[11154] Forked 26652 -(26652) found -[11153] Forked 26653 -(26653) found -[11152] Forked 26654 -(26654) found -[11151] Forked 26655 -[11150] Forked 26656 -(26655) found -(26656) found -[11149] Forked 26657 -[11148] Forked 26658 -(26657) found -(26658) found -[11147] Forked 26659 -[11146] Forked 26660 -(26659) found -(26660) found -[11145] Forked 26661 -[11144] Forked 26662 -(26661) found -(26662) found -[11143] Forked 26663 -[11142] Forked 26664 -(26663) found -(26664) found -[11141] Forked 26665 -[11140] Forked 26666 -(26665) found -(26666) found -[11139] Forked 26667 -[11138] Forked 26668 -(26667) found -(26668) found -[11137] Forked 26669 -[11136] Forked 26670 -(26669) found -(26670) found -[11135] Forked 26671 -[11134] Forked 26672 -(26671) found -(26672) found -[11133] Forked 26673 -[11132] Forked 26674 -(26674) found -(26673) found -[11131] Forked 26675 -(26675) found -[11130] Forked 26676 -(26676) found -[11129] Forked 26677 -(26677) found -[11128] Forked 26678 -(26678) found -[11127] Forked 26679 -(26679) found -[11126] Forked 26680 -(26680) found -[11125] Forked 26681 -(26681) found -[11124] Forked 26682 -(26682) found -[11123] Forked 26683 -(26683) found -[11122] Forked 26684 -(26684) found -[11121] Forked 26685 -(26685) found -[11120] Forked 26686 -(26686) found -[11119] Forked 26687 -(26687) found -[11118] Forked 26688 -(26688) found -[11117] Forked 26689 -(26689) found -[11116] Forked 26690 -(26690) found -[11115] Forked 26691 -(26691) found -[11114] Forked 26692 -(26692) found -[11113] Forked 26693 -(26693) found -[11112] Forked 26694 -(26694) found -[11111] Forked 26695 -(26695) found -[11110] Forked 26696 -(26696) found -[11109] Forked 26697 -(26697) found -[11108] Forked 26698 -(26698) found -[11107] Forked 26699 -(26699) found -[11106] Forked 26700 -(26700) found -[11105] Forked 26701 -(26701) found -[11104] Forked 26702 -(26702) found -[11103] Forked 26703 -(26703) found -[11102] Forked 26704 -(26704) found -[11101] Forked 26705 -(26705) found -[11100] Forked 26706 -(26706) found -[11099] Forked 26707 -(26707) found -[11098] Forked 26708 -(26708) found -[11097] Forked 26709 -(26709) found -[11096] Forked 26710 -(26710) found -[11095] Forked 26711 -(26711) found -[11094] Forked 26712 -(26712) found -[11093] Forked 26713 -(26713) found -[11092] Forked 26714 -(26714) found -[11091] Forked 26715 -(26715) found -[11090] Forked 26716 -(26716) found -[11089] Forked 26717 -(26717) found -[11088] Forked 26718 -(26718) found -[11087] Forked 26719 -(26719) found -[11086] Forked 26720 -(26720) found -[11085] Forked 26721 -(26721) found -[11084] Forked 26722 -(26722) found -[11083] Forked 26723 -(26723) found -[11082] Forked 26724 -(26724) found -[11081] Forked 26725 -[11080] Forked 26726 -(26725) found -(26726) found -[11079] Forked 26727 -[11078] Forked 26728 -(26727) found -(26728) found -[11077] Forked 26729 -[11076] Forked 26730 -(26729) found -(26730) found -[11075] Forked 26731 -[11074] Forked 26732 -(26731) found -(26732) found -[11073] Forked 26733 -[11072] Forked 26734 -(26733) found -(26734) found -[11071] Forked 26735 -[11070] Forked 26736 -(26735) found -(26736) found -[11069] Forked 26737 -[11068] Forked 26738 -(26737) found -(26738) found -[11067] Forked 26739 -[11066] Forked 26740 -(26739) found -(26740) found -[11065] Forked 26741 -[11064] Forked 26742 -(26741) found -(26742) found -[11063] Forked 26743 -[11062] Forked 26744 -(26743) found -(26744) found -[11061] Forked 26745 -[11060] Forked 26746 -(26745) found -(26746) found -[11059] Forked 26747 -[11058] Forked 26748 -(26747) found -(26748) found -[11057] Forked 26749 -[11056] Forked 26750 -(26749) found -(26750) found -[11055] Forked 26751 -[11054] Forked 26752 -(26751) found -(26752) found -[11053] Forked 26753 -[11052] Forked 26754 -(26753) found -(26754) found -[11051] Forked 26755 -[11050] Forked 26756 -(26755) found -(26756) found -[11049] Forked 26757 -[11048] Forked 26758 -(26757) found -(26758) found -[11047] Forked 26759 -[11046] Forked 26760 -(26759) found -(26760) found -[11045] Forked 26761 -[11044] Forked 26762 -(26761) found -(26762) found -[11043] Forked 26763 -[11042] Forked 26764 -(26763) found -(26764) found -[11041] Forked 26765 -[11040] Forked 26766 -(26765) found -(26766) found -[11039] Forked 26767 -[11038] Forked 26768 -(26767) found -(26768) found -[11037] Forked 26769 -[11036] Forked 26770 -(26769) found -(26770) found -[11035] Forked 26771 -[11034] Forked 26772 -(26771) found -(26772) found -[11033] Forked 26773 -[11032] Forked 26774 -(26773) found -(26774) found -[11031] Forked 26775 -[11030] Forked 26776 -(26775) found -(26776) found -[11029] Forked 26777 -[11028] Forked 26778 -(26777) found -(26778) found -[11027] Forked 26779 -[11026] Forked 26780 -(26779) found -(26780) found -[11025] Forked 26781 -(26781) found -[11024] Forked 26782 -[11023] Forked 26783 -(26782) found -(26783) found -[11022] Forked 26784 -[11021] Forked 26785 -(26784) found -(26785) found -[11020] Forked 26786 -[11019] Forked 26787 -(26786) found -(26787) found -[11018] Forked 26788 -[11017] Forked 26789 -(26788) found -(26789) found -[11016] Forked 26790 -[11015] Forked 26791 -(26790) found -(26791) found -[11014] Forked 26792 -[11013] Forked 26793 -(26792) found -(26793) found -[11012] Forked 26794 -[11011] Forked 26795 -(26794) found -(26795) found -[11010] Forked 26796 -[11009] Forked 26797 -(26796) found -(26797) found -[11008] Forked 26798 -[11007] Forked 26799 -(26798) found -(26799) found -[11006] Forked 26800 -[11005] Forked 26801 -(26800) found -(26801) found -[11004] Forked 26802 -[11003] Forked 26803 -(26802) found -(26803) found -[11002] Forked 26804 -[11001] Forked 26805 -(26804) found -(26805) found -[11000] Forked 26806 -[10999] Forked 26807 -(26806) found -(26807) found -[10998] Forked 26808 -[10997] Forked 26809 -(26808) found -(26809) found -[10996] Forked 26810 -[10995] Forked 26811 -(26810) found -(26811) found -[10994] Forked 26812 -(26812) found -[10993] Forked 26813 -(26813) found -[10992] Forked 26814 -(26814) found -[10991] Forked 26815 -(26815) found -[10990] Forked 26816 -(26816) found -[10989] Forked 26817 -(26817) found -[10988] Forked 26818 -(26818) found -[10987] Forked 26819 -(26819) found -[10986] Forked 26820 -(26820) found -[10985] Forked 26822 -(26822) found -[10984] Forked 26823 -(26823) found -[10983] Forked 26824 -(26824) found -[10982] Forked 26825 -(26825) found -[10981] Forked 26826 -(26826) found -[10980] Forked 26827 -(26827) found -[10979] Forked 26828 -(26828) found -[10978] Forked 26829 -(26829) found -[10977] Forked 26830 -(26830) found -[10976] Forked 26831 -(26831) found -[10975] Forked 26832 -(26832) found -[10974] Forked 26833 -(26833) found -[10973] Forked 26834 -(26834) found -[10972] Forked 26835 -(26835) found -[10971] Forked 26836 -(26836) found -[10970] Forked 26837 -(26837) found -[10969] Forked 26838 -(26838) found -[10968] Forked 26839 -(26839) found -[10967] Forked 26840 -(26840) found -[10966] Forked 26841 -(26841) found -[10965] Forked 26842 -(26842) found -[10964] Forked 26843 -(26843) found -[10963] Forked 26844 -(26844) found -[10962] Forked 26845 -(26845) found -[10961] Forked 26846 -(26846) found -[10960] Forked 26847 -(26847) found -[10959] Forked 26848 -(26848) found -[10958] Forked 26849 -(26849) found -[10957] Forked 26850 -(26850) found -[10956] Forked 26851 -(26851) found -[10955] Forked 26852 -(26852) found -[10954] Forked 26853 -(26853) found -[10953] Forked 26854 -(26854) found -[10952] Forked 26855 -(26855) found -[10951] Forked 26856 -(26856) found -[10950] Forked 26857 -(26857) found -[10949] Forked 26858 -(26858) found -[10948] Forked 26859 -(26859) found -[10947] Forked 26860 -(26860) found -[10946] Forked 26861 -(26861) found -[10945] Forked 26862 -(26862) found -[10944] Forked 26863 -(26863) found -[10943] Forked 26864 -(26864) found -[10942] Forked 26865 -(26865) found -[10941] Forked 26866 -(26866) found -[10940] Forked 26867 -(26867) found -[10939] Forked 26868 -(26868) found -[10938] Forked 26869 -(26869) found -[10937] Forked 26870 -(26870) found -[10936] Forked 26871 -(26871) found -[10935] Forked 26872 -(26872) found -[10934] Forked 26873 -(26873) found -[10933] Forked 26874 -(26874) found -[10932] Forked 26875 -(26875) found -[10931] Forked 26876 -(26876) found -[10930] Forked 26877 -(26877) found -[10929] Forked 26878 -(26878) found -[10928] Forked 26879 -(26879) found -[10927] Forked 26880 -(26880) found -[10926] Forked 26881 -(26881) found -[10925] Forked 26882 -(26882) found -[10924] Forked 26883 -(26883) found -[10923] Forked 26884 -(26884) found -[10922] Forked 26885 -(26885) found -[10921] Forked 26886 -(26886) found -[10920] Forked 26887 -(26887) found -[10919] Forked 26888 -(26888) found -[10918] Forked 26889 -[10917] Forked 26890 -(26889) found -(26890) found -[10916] Forked 26891 -[10915] Forked 26892 -(26891) found -(26892) found -[10914] Forked 26893 -[10913] Forked 26894 -(26893) found -(26894) found -[10912] Forked 26895 -[10911] Forked 26896 -(26895) found -(26896) found -[10910] Forked 26897 -[10909] Forked 26898 -(26897) found -(26898) found -[10908] Forked 26899 -[10907] Forked 26900 -(26899) found -(26900) found -[10906] Forked 26901 -[10905] Forked 26902 -(26901) found -(26902) found -[10904] Forked 26903 -[10903] Forked 26904 -(26903) found -(26904) found -[10902] Forked 26905 -[10901] Forked 26906 -(26905) found -(26906) found -[10900] Forked 26907 -[10899] Forked 26908 -(26907) found -(26908) found -[10898] Forked 26909 -[10897] Forked 26910 -(26909) found -(26910) found -[10896] Forked 26911 -[10895] Forked 26912 -(26911) found -(26912) found -[10894] Forked 26913 -[10893] Forked 26914 -(26913) found -(26914) found -[10892] Forked 26915 -[10891] Forked 26916 -(26915) found -(26916) found -[10890] Forked 26917 -[10889] Forked 26918 -(26917) found -(26918) found -[10888] Forked 26919 -[10887] Forked 26920 -(26919) found -(26920) found -[10886] Forked 26921 -[10885] Forked 26922 -(26921) found -(26922) found -[10884] Forked 26923 -[10883] Forked 26924 -(26923) found -(26924) found -[10882] Forked 26925 -[10881] Forked 26926 -(26925) found -(26926) found -[10880] Forked 26927 -[10879] Forked 26928 -(26927) found -(26928) found -[10878] Forked 26929 -[10877] Forked 26930 -(26929) found -(26930) found -[10876] Forked 26931 -[10875] Forked 26932 -(26931) found -(26932) found -[10874] Forked 26933 -[10873] Forked 26934 -(26933) found -(26934) found -[10872] Forked 26935 -(26935) found -[10871] Forked 26936 -(26936) found -[10870] Forked 26937 -(26937) found -[10869] Forked 26938 -(26938) found -[10868] Forked 26939 -(26939) found -[10867] Forked 26940 -(26940) found -[10866] Forked 26941 -(26941) found -[10865] Forked 26942 -(26942) found -[10864] Forked 26943 -(26943) found -[10863] Forked 26944 -(26944) found -[10862] Forked 26945 -(26945) found -[10861] Forked 26946 -(26946) found -[10860] Forked 26947 -(26947) found -[10859] Forked 26948 -(26948) found -[10858] Forked 26949 -(26949) found -[10857] Forked 26950 -(26950) found -[10856] Forked 26951 -(26951) found -[10855] Forked 26952 -(26952) found -[10854] Forked 26953 -(26953) found -[10853] Forked 26954 -(26954) found -[10852] Forked 26955 -(26955) found -[10851] Forked 26956 -(26956) found -[10850] Forked 26957 -(26957) found -[10849] Forked 26958 -(26958) found -[10848] Forked 26959 -(26959) found -[10847] Forked 26960 -(26960) found -[10846] Forked 26961 -(26961) found -[10845] Forked 26962 -(26962) found -[10844] Forked 26963 -(26963) found -[10843] Forked 26964 -(26964) found -[10842] Forked 26965 -(26965) found -[10841] Forked 26966 -(26966) found -[10840] Forked 26967 -(26967) found -[10839] Forked 26968 -(26968) found -[10838] Forked 26969 -(26969) found -[10837] Forked 26970 -[10836] Forked 26971 -(26970) found -(26971) found -[10835] Forked 26972 -[10834] Forked 26973 -(26972) found -(26973) found -[10833] Forked 26974 -[10832] Forked 26975 -(26974) found -(26975) found -[10831] Forked 26976 -[10830] Forked 26977 -(26976) found -(26977) found -[10829] Forked 26978 -[10828] Forked 26979 -(26978) found -(26979) found -[10827] Forked 26980 -[10826] Forked 26981 -(26980) found -(26981) found -[10825] Forked 26982 -[10824] Forked 26983 -(26982) found -(26983) found -[10823] Forked 26984 -[10822] Forked 26985 -(26984) found -(26985) found -[10821] Forked 26986 -[10820] Forked 26987 -(26986) found -(26987) found -[10819] Forked 26988 -[10818] Forked 26989 -(26988) found -(26989) found -[10817] Forked 26990 -[10816] Forked 26991 -(26990) found -(26991) found -[10815] Forked 26992 -[10814] Forked 26993 -(26992) found -(26993) found -[10813] Forked 26994 -[10812] Forked 26995 -(26994) found -(26995) found -[10811] Forked 26996 -[10810] Forked 26997 -(26996) found -(26997) found -[10809] Forked 26998 -[10808] Forked 26999 -(26998) found -(26999) found -[10807] Forked 27000 -[10806] Forked 27001 -(27000) found -(27001) found -[10805] Forked 27002 -[10804] Forked 27003 -(27002) found -(27003) found -[10803] Forked 27004 -[10802] Forked 27005 -(27004) found -(27005) found -[10801] Forked 27006 -[10800] Forked 27007 -(27006) found -(27007) found -[10799] Forked 27008 -[10798] Forked 27009 -(27008) found -(27009) found -[10797] Forked 27010 -[10796] Forked 27011 -(27010) found -(27011) found -[10795] Forked 27012 -[10794] Forked 27013 -(27012) found -(27013) found -[10793] Forked 27014 -[10792] Forked 27015 -(27014) found -(27015) found -[10791] Forked 27016 -(27016) found -[10790] Forked 27017 -(27017) found -[10789] Forked 27018 -(27018) found -[10788] Forked 27019 -(27019) found -[10787] Forked 27020 -(27020) found -[10786] Forked 27021 -(27021) found -[10785] Forked 27022 -(27022) found -[10784] Forked 27023 -(27023) found -[10783] Forked 27024 -(27024) found -[10782] Forked 27025 -(27025) found -[10781] Forked 27026 -(27026) found -[10780] Forked 27027 -(27027) found -[10779] Forked 27028 -(27028) found -[10778] Forked 27029 -(27029) found -[10777] Forked 27030 -(27030) found -[10776] Forked 27031 -(27031) found -[10775] Forked 27032 -(27032) found -[10774] Forked 27033 -(27033) found -[10773] Forked 27034 -(27034) found -[10772] Forked 27035 -(27035) found -[10771] Forked 27036 -(27036) found -[10770] Forked 27037 -(27037) found -[10769] Forked 27038 -(27038) found -[10768] Forked 27039 -(27039) found -[10767] Forked 27040 -(27040) found -[10766] Forked 27041 -(27041) found -[10765] Forked 27042 -(27042) found -[10764] Forked 27043 -(27043) found -[10763] Forked 27044 -(27044) found -[10762] Forked 27045 -(27045) found -[10761] Forked 27046 -(27046) found -[10760] Forked 27047 -(27047) found -[10759] Forked 27048 -(27048) found -[10758] Forked 27049 -(27049) found -[10757] Forked 27050 -(27050) found -[10756] Forked 27051 -(27051) found -[10755] Forked 27052 -[10754] Forked 27053 -(27052) found -(27053) found -[10753] Forked 27054 -[10752] Forked 27055 -(27054) found -(27055) found -[10751] Forked 27056 -[10750] Forked 27057 -(27056) found -(27057) found -[10749] Forked 27058 -[10748] Forked 27059 -(27058) found -(27059) found -[10747] Forked 27060 -[10746] Forked 27061 -(27060) found -(27061) found -[10745] Forked 27062 -[10744] Forked 27063 -(27062) found -(27063) found -[10743] Forked 27064 -[10742] Forked 27065 -(27064) found -(27065) found -[10741] Forked 27066 -[10740] Forked 27067 -(27066) found -(27067) found -[10739] Forked 27068 -[10738] Forked 27069 -(27068) found -(27069) found -[10737] Forked 27070 -[10736] Forked 27071 -(27070) found -(27071) found -[10735] Forked 27072 -[10734] Forked 27073 -(27072) found -(27073) found -[10733] Forked 27074 -[10732] Forked 27075 -(27074) found -(27075) found -[10731] Forked 27076 -[10730] Forked 27077 -(27076) found -(27077) found -[10729] Forked 27078 -[10728] Forked 27079 -(27078) found -(27079) found -[10727] Forked 27080 -[10726] Forked 27081 -(27080) found -(27081) found -[10725] Forked 27082 -[10724] Forked 27083 -(27082) found -(27083) found -[10723] Forked 27084 -[10722] Forked 27085 -(27084) found -(27085) found -[10721] Forked 27086 -[10720] Forked 27087 -(27086) found -(27087) found -[10719] Forked 27088 -[10718] Forked 27089 -(27088) found -(27089) found -[10717] Forked 27090 -[10716] Forked 27091 -(27090) found -(27091) found -[10715] Forked 27092 -[10714] Forked 27093 -(27092) found -(27093) found -[10713] Forked 27094 -[10712] Forked 27095 -(27094) found -(27095) found -[10711] Forked 27096 -[10710] Forked 27097 -(27096) found -(27097) found -[10709] Forked 27098 -[10708] Forked 27099 -(27098) found -(27099) found -[10707] Forked 27100 -[10706] Forked 27101 -(27100) found -(27101) found -[10705] Forked 27102 -[10704] Forked 27103 -(27102) found -(27103) found -[10703] Forked 27104 -[10702] Forked 27105 -(27104) found -(27105) found -[10701] Forked 27106 -[10700] Forked 27107 -(27106) found -(27107) found -[10699] Forked 27108 -[10698] Forked 27109 -(27108) found -(27109) found -[10697] Forked 27110 -[10696] Forked 27111 -(27110) found -(27111) found -[10695] Forked 27112 -[10694] Forked 27113 -(27112) found -(27113) found -[10693] Forked 27114 -[10692] Forked 27115 -(27114) found -(27115) found -[10691] Forked 27116 -[10690] Forked 27117 -(27116) found -(27117) found -[10689] Forked 27118 -[10688] Forked 27119 -(27118) found -(27119) found -[10687] Forked 27120 -[10686] Forked 27121 -(27120) found -(27121) found -[10685] Forked 27122 -[10684] Forked 27123 -(27122) found -(27123) found -[10683] Forked 27124 -[10682] Forked 27125 -(27124) found -(27125) found -[10681] Forked 27126 -[10680] Forked 27127 -(27126) found -(27127) found -[10679] Forked 27128 -[10678] Forked 27129 -(27128) found -(27129) found -[10677] Forked 27130 -[10676] Forked 27131 -(27130) found -(27131) found -[10675] Forked 27132 -[10674] Forked 27133 -(27132) found -(27133) found -[10673] Forked 27134 -[10672] Forked 27135 -(27134) found -(27135) found -[10671] Forked 27136 -[10670] Forked 27138 -(27136) found -(27138) found -[10669] Forked 27139 -(27139) found -[10668] Forked 27140 -(27140) found -[10667] Forked 27141 -(27141) found -[10666] Forked 27142 -(27142) found -[10665] Forked 27143 -(27143) found -[10664] Forked 27144 -(27144) found -[10663] Forked 27145 -(27145) found -[10662] Forked 27146 -(27146) found -[10661] Forked 27147 -(27147) found -[10660] Forked 27148 -(27148) found -[10659] Forked 27149 -(27149) found -[10658] Forked 27150 -(27150) found -[10657] Forked 27151 -(27151) found -[10656] Forked 27152 -(27152) found -[10655] Forked 27153 -(27153) found -[10654] Forked 27154 -(27154) found -[10653] Forked 27155 -(27155) found -[10652] Forked 27156 -(27156) found -[10651] Forked 27157 -(27157) found -[10650] Forked 27158 -(27158) found -[10649] Forked 27159 -(27159) found -[10648] Forked 27160 -(27160) found -[10647] Forked 27161 -(27161) found -[10646] Forked 27162 -(27162) found -[10645] Forked 27163 -(27163) found -[10644] Forked 27164 -(27164) found -[10643] Forked 27165 -(27165) found -[10642] Forked 27166 -(27166) found -[10641] Forked 27167 -(27167) found -[10640] Forked 27168 -(27168) found -[10639] Forked 27169 -(27169) found -[10638] Forked 27170 -(27170) found -[10637] Forked 27171 -(27171) found -[10636] Forked 27172 -(27172) found -[10635] Forked 27173 -(27173) found -[10634] Forked 27174 -(27174) found -[10633] Forked 27175 -(27175) found -[10632] Forked 27176 -(27176) found -[10631] Forked 27177 -(27177) found -[10630] Forked 27178 -(27178) found -[10629] Forked 27179 -(27179) found -[10628] Forked 27180 -(27180) found -[10627] Forked 27181 -(27181) found -[10626] Forked 27182 -(27182) found -[10625] Forked 27183 -(27183) found -[10624] Forked 27184 -(27184) found -[10623] Forked 27185 -(27185) found -[10622] Forked 27186 -(27186) found -[10621] Forked 27187 -(27187) found -[10620] Forked 27188 -(27188) found -[10619] Forked 27189 -(27189) found -[10618] Forked 27190 -(27190) found -[10617] Forked 27191 -(27191) found -[10616] Forked 27192 -(27192) found -[10615] Forked 27193 -(27193) found -[10614] Forked 27194 -(27194) found -[10613] Forked 27195 -(27195) found -[10612] Forked 27196 -(27196) found -[10611] Forked 27197 -(27197) found -[10610] Forked 27198 -(27198) found -[10609] Forked 27199 -(27199) found -[10608] Forked 27200 -(27200) found -[10607] Forked 27201 -(27201) found -[10606] Forked 27202 -(27202) found -[10605] Forked 27203 -(27203) found -[10604] Forked 27204 -(27204) found -[10603] Forked 27205 -(27205) found -[10602] Forked 27206 -(27206) found -[10601] Forked 27207 -(27207) found -[10600] Forked 27208 -(27208) found -[10599] Forked 27209 -(27209) found -[10598] Forked 27210 -(27210) found -[10597] Forked 27211 -(27211) found -[10596] Forked 27212 -(27212) found -[10595] Forked 27213 -(27213) found -[10594] Forked 27214 -(27214) found -[10593] Forked 27215 -(27215) found -[10592] Forked 27216 -(27216) found -[10591] Forked 27217 -(27217) found -[10590] Forked 27218 -(27218) found -[10589] Forked 27219 -(27219) found -[10588] Forked 27220 -(27220) found -[10587] Forked 27221 -(27221) found -[10586] Forked 27222 -(27222) found -[10585] Forked 27223 -(27223) found -[10584] Forked 27224 -(27224) found -[10583] Forked 27225 -(27225) found -[10582] Forked 27226 -(27226) found -[10581] Forked 27227 -(27227) found -[10580] Forked 27228 -(27228) found -[10579] Forked 27229 -(27229) found -[10578] Forked 27230 -(27230) found -[10577] Forked 27231 -(27231) found -[10576] Forked 27232 -(27232) found -[10575] Forked 27233 -(27233) found -[10574] Forked 27234 -(27234) found -[10573] Forked 27235 -(27235) found -[10572] Forked 27236 -(27236) found -[10571] Forked 27237 -(27237) found -[10570] Forked 27238 -(27238) found -[10569] Forked 27239 -(27239) found -[10568] Forked 27240 -(27240) found -[10567] Forked 27241 -(27241) found -[10566] Forked 27242 -(27242) found -[10565] Forked 27243 -(27243) found -[10564] Forked 27244 -(27244) found -[10563] Forked 27245 -(27245) found -[10562] Forked 27246 -(27246) found -[10561] Forked 27247 -(27247) found -[10560] Forked 27248 -(27248) found -[10559] Forked 27249 -(27249) found -[10558] Forked 27250 -[10557] Forked 27251 -(27250) found -(27251) found -[10556] Forked 27252 -[10555] Forked 27253 -(27252) found -(27253) found -[10554] Forked 27254 -[10553] Forked 27255 -(27254) found -(27255) found -[10552] Forked 27256 -[10551] Forked 27257 -(27256) found -(27257) found -[10550] Forked 27258 -[10549] Forked 27259 -(27258) found -(27259) found -[10548] Forked 27260 -[10547] Forked 27261 -(27260) found -(27261) found -[10546] Forked 27262 -[10545] Forked 27263 -(27262) found -(27263) found -[10544] Forked 27264 -[10543] Forked 27265 -(27264) found -(27265) found -[10542] Forked 27266 -[10541] Forked 27267 -(27266) found -(27267) found -[10540] Forked 27268 -[10539] Forked 27269 -(27268) found -(27269) found -[10538] Forked 27270 -[10537] Forked 27271 -(27270) found -(27271) found -[10536] Forked 27272 -[10535] Forked 27273 -(27272) found -(27273) found -[10534] Forked 27274 -[10533] Forked 27275 -(27274) found -(27275) found -[10532] Forked 27276 -[10531] Forked 27277 -(27276) found -(27277) found -[10530] Forked 27278 -[10529] Forked 27279 -(27278) found -(27279) found -[10528] Forked 27280 -[10527] Forked 27281 -(27280) found -(27281) found -[10526] Forked 27282 -[10525] Forked 27283 -(27282) found -(27283) found -[10524] Forked 27284 -[10523] Forked 27285 -(27284) found -(27285) found -[10522] Forked 27286 -[10521] Forked 27287 -(27286) found -(27287) found -[10520] Forked 27288 -[10519] Forked 27289 -(27288) found -(27289) found -[10518] Forked 27290 -[10517] Forked 27291 -(27290) found -(27291) found -[10516] Forked 27292 -[10515] Forked 27293 -(27292) found -(27293) found -[10514] Forked 27294 -(27294) found -[10513] Forked 27295 -(27295) found -[10512] Forked 27296 -(27296) found -[10511] Forked 27297 -(27297) found -[10510] Forked 27298 -(27298) found -[10509] Forked 27299 -(27299) found -[10508] Forked 27300 -(27300) found -[10507] Forked 27301 -(27301) found -[10506] Forked 27302 -(27302) found -[10505] Forked 27303 -(27303) found -[10504] Forked 27304 -(27304) found -[10503] Forked 27305 -(27305) found -[10502] Forked 27306 -(27306) found -[10501] Forked 27307 -(27307) found -[10500] Forked 27308 -(27308) found -[10499] Forked 27309 -(27309) found -[10498] Forked 27310 -(27310) found -[10497] Forked 27311 -(27311) found -[10496] Forked 27312 -(27312) found -[10495] Forked 27313 -(27313) found -[10494] Forked 27314 -(27314) found -[10493] Forked 27315 -(27315) found -[10492] Forked 27316 -(27316) found -[10491] Forked 27317 -(27317) found -[10490] Forked 27318 -(27318) found -[10489] Forked 27319 -(27319) found -[10488] Forked 27320 -(27320) found -[10487] Forked 27321 -(27321) found -[10486] Forked 27322 -(27322) found -[10485] Forked 27323 -(27323) found -[10484] Forked 27324 -(27324) found -[10483] Forked 27325 -(27325) found -[10482] Forked 27326 -(27326) found -[10481] Forked 27327 -(27327) found -[10480] Forked 27328 -(27328) found -[10479] Forked 27329 -(27329) found -[10478] Forked 27330 -(27330) found -[10477] Forked 27331 -[10476] Forked 27332 -(27331) found -(27332) found -[10475] Forked 27333 -[10474] Forked 27334 -(27333) found -(27334) found -[10473] Forked 27335 -[10472] Forked 27336 -(27335) found -(27336) found -[10471] Forked 27337 -[10470] Forked 27338 -(27337) found -(27338) found -[10469] Forked 27339 -[10468] Forked 27340 -(27339) found -(27340) found -[10467] Forked 27341 -(27341) found -[10466] Forked 27342 -(27342) found -[10465] Forked 27343 -[10464] Forked 27344 -(27343) found -(27344) found -[10463] Forked 27345 -[10462] Forked 27346 -(27345) found -(27346) found -[10461] Forked 27347 -[10460] Forked 27348 -(27347) found -(27348) found -[10459] Forked 27349 -[10458] Forked 27350 -(27349) found -(27350) found -[10457] Forked 27351 -[10456] Forked 27352 -(27351) found -(27352) found -[10455] Forked 27353 -[10454] Forked 27354 -(27353) found -(27354) found -[10453] Forked 27355 -[10452] Forked 27356 -(27355) found -(27356) found -[10451] Forked 27357 -[10450] Forked 27358 -(27357) found -(27358) found -[10449] Forked 27359 -[10448] Forked 27360 -(27359) found -(27360) found -[10447] Forked 27361 -[10446] Forked 27362 -(27361) found -(27362) found -[10445] Forked 27363 -[10444] Forked 27364 -(27363) found -(27364) found -[10443] Forked 27365 -[10442] Forked 27366 -(27365) found -(27366) found -[10441] Forked 27367 -[10440] Forked 27368 -(27367) found -(27368) found -[10439] Forked 27369 -(27369) found -[10438] Forked 27370 -[10437] Forked 27371 -(27370) found -(27371) found -[10436] Forked 27372 -[10435] Forked 27373 -[10434] Forked 27374 -(27372) found -(27373) found -(27374) found -[10433] Forked 27375 -(27375) found -[10432] Forked 27376 -(27376) found -[10431] Forked 27377 -(27377) found -[10430] Forked 27378 -(27378) found -[10429] Forked 27379 -(27379) found -[10428] Forked 27380 -(27380) found -[10427] Forked 27381 -(27381) found -[10426] Forked 27382 -(27382) found -[10425] Forked 27383 -(27383) found -[10424] Forked 27384 -(27384) found -[10423] Forked 27385 -(27385) found -[10422] Forked 27386 -(27386) found -[10421] Forked 27387 -(27387) found -[10420] Forked 27388 -(27388) found -[10419] Forked 27389 -(27389) found -[10418] Forked 27390 -(27390) found -[10417] Forked 27391 -(27391) found -[10416] Forked 27392 -(27392) found -[10415] Forked 27393 -(27393) found -[10414] Forked 27394 -(27394) found -[10413] Forked 27395 -(27395) found -[10412] Forked 27396 -(27396) found -[10411] Forked 27397 -(27397) found -[10410] Forked 27398 -(27398) found -[10409] Forked 27399 -(27399) found -[10408] Forked 27400 -(27400) found -[10407] Forked 27401 -(27401) found -[10406] Forked 27402 -(27402) found -[10405] Forked 27403 -(27403) found -[10404] Forked 27404 -(27404) found -[10403] Forked 27405 -(27405) found -[10402] Forked 27406 -(27406) found -[10401] Forked 27407 -(27407) found -[10400] Forked 27408 -(27408) found -[10399] Forked 27409 -(27409) found -[10398] Forked 27410 -(27410) found -[10397] Forked 27411 -[10396] Forked 27412 -(27411) found -(27412) found -[10395] Forked 27413 -[10394] Forked 27414 -(27413) found -(27414) found -[10393] Forked 27415 -[10392] Forked 27416 -(27415) found -(27416) found -[10391] Forked 27417 -[10390] Forked 27418 -(27417) found -(27418) found -[10389] Forked 27419 -[10388] Forked 27420 -(27419) found -(27420) found -[10387] Forked 27421 -[10386] Forked 27422 -(27421) found -(27422) found -[10385] Forked 27423 -[10384] Forked 27424 -(27423) found -(27424) found -[10383] Forked 27425 -[10382] Forked 27426 -(27425) found -(27426) found -[10381] Forked 27427 -[10380] Forked 27428 -(27427) found -(27428) found -[10379] Forked 27429 -[10378] Forked 27430 -(27429) found -(27430) found -[10377] Forked 27431 -[10376] Forked 27432 -(27431) found -(27432) found -[10375] Forked 27433 -[10374] Forked 27434 -(27433) found -(27434) found -[10373] Forked 27435 -[10372] Forked 27436 -(27435) found -(27436) found -[10371] Forked 27437 -[10370] Forked 27438 -(27437) found -(27438) found -[10369] Forked 27439 -[10368] Forked 27440 -(27439) found -(27440) found -[10367] Forked 27441 -[10366] Forked 27442 -(27441) found -(27442) found -[10365] Forked 27443 -[10364] Forked 27444 -(27443) found -(27444) found -[10363] Forked 27445 -[10362] Forked 27446 -(27445) found -(27446) found -[10361] Forked 27447 -[10360] Forked 27448 -(27447) found -(27448) found -[10359] Forked 27449 -[10358] Forked 27450 -(27449) found -(27450) found -[10357] Forked 27451 -[10356] Forked 27452 -(27451) found -(27452) found -[10355] Forked 27453 -[10354] Forked 27454 -(27453) found -(27454) found -[10353] Forked 27455 -(27455) found -[10352] Forked 27456 -(27456) found -[10351] Forked 27457 -(27457) found -[10350] Forked 27458 -(27458) found -[10349] Forked 27459 -(27459) found -[10348] Forked 27460 -(27460) found -[10347] Forked 27461 -(27461) found -[10346] Forked 27462 -(27462) found -[10345] Forked 27463 -(27463) found -[10344] Forked 27464 -(27464) found -[10343] Forked 27465 -(27465) found -[10342] Forked 27466 -(27466) found -[10341] Forked 27467 -(27467) found -[10340] Forked 27468 -(27468) found -[10339] Forked 27469 -(27469) found -[10338] Forked 27470 -(27470) found -[10337] Forked 27471 -(27471) found -[10336] Forked 27472 -(27472) found -[10335] Forked 27473 -(27473) found -[10334] Forked 27474 -(27474) found -[10333] Forked 27475 -(27475) found -[10332] Forked 27476 -(27476) found -[10331] Forked 27477 -(27477) found -[10330] Forked 27478 -(27478) found -[10329] Forked 27479 -(27479) found -[10328] Forked 27480 -(27480) found -[10327] Forked 27481 -(27481) found -[10326] Forked 27482 -(27482) found -[10325] Forked 27483 -(27483) found -[10324] Forked 27484 -(27484) found -[10323] Forked 27485 -(27485) found -[10322] Forked 27486 -(27486) found -[10321] Forked 27487 -(27487) found -[10320] Forked 27488 -(27488) found -[10319] Forked 27489 -(27489) found -[10318] Forked 27490 -(27490) found -[10317] Forked 27491 -(27491) found -[10316] Forked 27492 -(27492) found -[10315] Forked 27493 -[10314] Forked 27494 -(27493) found -(27494) found -[10313] Forked 27495 -[10312] Forked 27496 -(27495) found -(27496) found -[10311] Forked 27497 -[10310] Forked 27498 -(27497) found -(27498) found -[10309] Forked 27499 -[10308] Forked 27500 -(27499) found -(27500) found -[10307] Forked 27501 -[10306] Forked 27502 -(27501) found -(27502) found -[10305] Forked 27503 -[10304] Forked 27504 -(27503) found -(27504) found -[10303] Forked 27505 -[10302] Forked 27506 -(27505) found -(27506) found -[10301] Forked 27507 -[10300] Forked 27508 -(27507) found -(27508) found -[10299] Forked 27509 -[10298] Forked 27510 -(27509) found -(27510) found -[10297] Forked 27511 -[10296] Forked 27512 -(27511) found -(27512) found -[10295] Forked 27513 -[10294] Forked 27514 -(27513) found -(27514) found -[10293] Forked 27515 -[10292] Forked 27516 -(27515) found -(27516) found -[10291] Forked 27517 -[10290] Forked 27518 -(27517) found -(27518) found -[10289] Forked 27519 -[10288] Forked 27520 -(27519) found -(27520) found -[10287] Forked 27521 -[10286] Forked 27522 -(27521) found -(27522) found -[10285] Forked 27523 -[10284] Forked 27524 -(27523) found -(27524) found -[10283] Forked 27525 -[10282] Forked 27526 -(27525) found -(27526) found -[10281] Forked 27527 -[10280] Forked 27528 -(27527) found -(27528) found -[10279] Forked 27529 -[10278] Forked 27530 -(27529) found -(27530) found -[10277] Forked 27531 -[10276] Forked 27532 -(27531) found -(27532) found -[10275] Forked 27533 -[10274] Forked 27534 -(27533) found -(27534) found -[10273] Forked 27535 -[10272] Forked 27536 -(27535) found -(27536) found -[10271] Forked 27537 -(27537) found -[10270] Forked 27538 -(27538) found -[10269] Forked 27539 -(27539) found -[10268] Forked 27540 -(27540) found -[10267] Forked 27541 -(27541) found -[10266] Forked 27542 -(27542) found -[10265] Forked 27543 -(27543) found -[10264] Forked 27544 -(27544) found -[10263] Forked 27545 -(27545) found -[10262] Forked 27546 -(27546) found -[10261] Forked 27547 -(27547) found -[10260] Forked 27548 -(27548) found -[10259] Forked 27549 -(27549) found -[10258] Forked 27550 -(27550) found -[10257] Forked 27551 -(27551) found -[10256] Forked 27552 -(27552) found -[10255] Forked 27553 -(27553) found -[10254] Forked 27554 -(27554) found -[10253] Forked 27555 -(27555) found -[10252] Forked 27556 -(27556) found -[10251] Forked 27557 -(27557) found -[10250] Forked 27558 -(27558) found -[10249] Forked 27559 -(27559) found -[10248] Forked 27560 -(27560) found -[10247] Forked 27561 -(27561) found -[10246] Forked 27562 -(27562) found -[10245] Forked 27563 -(27563) found -[10244] Forked 27564 -(27564) found -[10243] Forked 27565 -(27565) found -[10242] Forked 27566 -(27566) found -[10241] Forked 27567 -(27567) found -[10240] Forked 27568 -(27568) found -[10239] Forked 27569 -(27569) found -[10238] Forked 27570 -(27570) found -[10237] Forked 27571 -(27571) found -[10236] Forked 27572 -(27572) found -[10235] Forked 27573 -(27573) found -[10234] Forked 27574 -(27574) found -[10233] Forked 27575 -(27575) found -[10232] Forked 27576 -[10231] Forked 27577 -(27576) found -(27577) found -[10230] Forked 27578 -[10229] Forked 27579 -(27578) found -(27579) found -[10228] Forked 27580 -[10227] Forked 27581 -(27580) found -(27581) found -[10226] Forked 27582 -[10225] Forked 27583 -(27582) found -(27583) found -[10224] Forked 27584 -[10223] Forked 27585 -(27584) found -(27585) found -[10222] Forked 27586 -[10221] Forked 27587 -(27586) found -(27587) found -[10220] Forked 27588 -[10219] Forked 27589 -(27588) found -(27589) found -[10218] Forked 27590 -[10217] Forked 27591 -(27590) found -(27591) found -[10216] Forked 27592 -[10215] Forked 27593 -(27592) found -(27593) found -[10214] Forked 27594 -[10213] Forked 27595 -(27594) found -(27595) found -[10212] Forked 27596 -[10211] Forked 27597 -(27596) found -(27597) found -[10210] Forked 27598 -[10209] Forked 27599 -(27598) found -(27599) found -[10208] Forked 27600 -[10207] Forked 27601 -(27600) found -(27601) found -[10206] Forked 27602 -[10205] Forked 27603 -(27602) found -(27603) found -[10204] Forked 27604 -[10203] Forked 27605 -(27604) found -(27605) found -[10202] Forked 27606 -[10201] Forked 27607 -(27606) found -(27607) found -[10200] Forked 27608 -[10199] Forked 27609 -(27608) found -(27609) found -[10198] Forked 27610 -[10197] Forked 27611 -(27610) found -(27611) found -[10196] Forked 27612 -[10195] Forked 27613 -(27612) found -(27613) found -[10194] Forked 27614 -[10193] Forked 27615 -(27614) found -(27615) found -[10192] Forked 27616 -[10191] Forked 27617 -(27616) found -(27617) found -[10190] Forked 27618 -[10189] Forked 27619 -(27618) found -(27619) found -[10188] Forked 27620 -(27620) found -[10187] Forked 27621 -(27621) found -[10186] Forked 27622 -(27622) found -[10185] Forked 27623 -(27623) found -[10184] Forked 27624 -(27624) found -[10183] Forked 27625 -(27625) found -[10182] Forked 27626 -(27626) found -[10181] Forked 27627 -(27627) found -[10180] Forked 27628 -(27628) found -[10179] Forked 27629 -(27629) found -[10178] Forked 27630 -(27630) found -[10177] Forked 27631 -(27631) found -[10176] Forked 27632 -(27632) found -[10175] Forked 27633 -(27633) found -[10174] Forked 27634 -(27634) found -[10173] Forked 27635 -(27635) found -[10172] Forked 27636 -(27636) found -[10171] Forked 27637 -(27637) found -[10170] Forked 27638 -(27638) found -[10169] Forked 27639 -(27639) found -[10168] Forked 27640 -(27640) found -[10167] Forked 27641 -(27641) found -[10166] Forked 27642 -(27642) found -[10165] Forked 27643 -(27643) found -[10164] Forked 27644 -(27644) found -[10163] Forked 27645 -(27645) found -[10162] Forked 27646 -(27646) found -[10161] Forked 27647 -(27647) found -[10160] Forked 27648 -(27648) found -[10159] Forked 27649 -(27649) found -[10158] Forked 27650 -(27650) found -[10157] Forked 27651 -(27651) found -[10156] Forked 27652 -(27652) found -[10155] Forked 27653 -(27653) found -[10154] Forked 27654 -(27654) found -[10153] Forked 27655 -(27655) found -[10152] Forked 27656 -(27656) found -[10151] Forked 27657 -(27657) found -[10150] Forked 27658 -[10149] Forked 27659 -(27658) found -(27659) found -[10148] Forked 27660 -[10147] Forked 27661 -(27660) found -(27661) found -[10146] Forked 27662 -[10145] Forked 27663 -(27662) found -(27663) found -[10144] Forked 27664 -[10143] Forked 27665 -(27664) found -(27665) found -[10142] Forked 27666 -[10141] Forked 27667 -(27666) found -(27667) found -[10140] Forked 27668 -[10139] Forked 27669 -(27668) found -(27669) found -[10138] Forked 27670 -[10137] Forked 27671 -(27670) found -(27671) found -[10136] Forked 27672 -[10135] Forked 27673 -(27672) found -(27673) found -[10134] Forked 27674 -[10133] Forked 27675 -(27674) found -(27675) found -[10132] Forked 27676 -[10131] Forked 27677 -(27676) found -(27677) found -[10130] Forked 27678 -[10129] Forked 27679 -(27678) found -(27679) found -[10128] Forked 27680 -[10127] Forked 27681 -(27680) found -(27681) found -[10126] Forked 27682 -[10125] Forked 27683 -(27682) found -(27683) found -[10124] Forked 27684 -[10123] Forked 27685 -(27684) found -(27685) found -[10122] Forked 27686 -[10121] Forked 27687 -(27686) found -(27687) found -[10120] Forked 27688 -[10119] Forked 27689 -(27688) found -(27689) found -[10118] Forked 27691 -[10117] Forked 27692 -(27691) found -(27692) found -[10116] Forked 27693 -[10115] Forked 27694 -(27693) found -(27694) found -[10114] Forked 27695 -[10113] Forked 27696 -(27695) found -(27696) found -[10112] Forked 27697 -[10111] Forked 27698 -(27697) found -(27698) found -[10110] Forked 27699 -[10109] Forked 27700 -(27699) found -(27700) found -[10108] Forked 27701 -[10107] Forked 27702 -(27701) found -(27702) found -[10106] Forked 27703 -(27703) found -[10105] Forked 27704 -(27704) found -[10104] Forked 27705 -(27705) found -[10103] Forked 27706 -(27706) found -[10102] Forked 27707 -(27707) found -[10101] Forked 27708 -(27708) found -[10100] Forked 27709 -(27709) found -[10099] Forked 27710 -(27710) found -[10098] Forked 27711 -(27711) found -[10097] Forked 27712 -(27712) found -[10096] Forked 27713 -(27713) found -[10095] Forked 27714 -(27714) found -[10094] Forked 27715 -(27715) found -[10093] Forked 27716 -(27716) found -[10092] Forked 27717 -(27717) found -[10091] Forked 27718 -(27718) found -[10090] Forked 27719 -(27719) found -[10089] Forked 27720 -(27720) found -[10088] Forked 27721 -(27721) found -[10087] Forked 27722 -(27722) found -[10086] Forked 27723 -(27723) found -[10085] Forked 27724 -(27724) found -[10084] Forked 27725 -(27725) found -[10083] Forked 27726 -(27726) found -[10082] Forked 27727 -(27727) found -[10081] Forked 27728 -(27728) found -[10080] Forked 27729 -(27729) found -[10079] Forked 27730 -(27730) found -[10078] Forked 27731 -(27731) found -[10077] Forked 27732 -(27732) found -[10076] Forked 27733 -(27733) found -[10075] Forked 27734 -(27734) found -[10074] Forked 27735 -(27735) found -[10073] Forked 27736 -(27736) found -[10072] Forked 27737 -(27737) found -[10071] Forked 27738 -(27738) found -[10070] Forked 27739 -(27739) found -[10069] Forked 27740 -(27740) found -[10068] Forked 27741 -(27741) found -[10067] Forked 27742 -[10066] Forked 27743 -(27742) found -(27743) found -[10065] Forked 27744 -[10064] Forked 27745 -(27744) found -(27745) found -[10063] Forked 27746 -[10062] Forked 27747 -(27746) found -(27747) found -[10061] Forked 27748 -[10060] Forked 27749 -(27748) found -(27749) found -[10059] Forked 27750 -[10058] Forked 27751 -(27750) found -(27751) found -[10057] Forked 27752 -[10056] Forked 27753 -(27752) found -(27753) found -[10055] Forked 27754 -[10054] Forked 27756 -(27754) found -(27756) found -[10053] Forked 27757 -(27757) found -[10052] Forked 27758 -(27758) found -[10051] Forked 27759 -(27759) found -[10050] Forked 27760 -(27760) found -[10049] Forked 27761 -(27761) found -[10048] Forked 27762 -(27762) found -[10047] Forked 27763 -(27763) found -[10046] Forked 27764 -(27764) found -[10045] Forked 27765 -(27765) found -[10044] Forked 27766 -(27766) found -[10043] Forked 27767 -(27767) found -[10042] Forked 27768 -(27768) found -[10041] Forked 27769 -(27769) found -[10040] Forked 27770 -(27770) found -[10039] Forked 27771 -(27771) found -[10038] Forked 27772 -(27772) found -[10037] Forked 27773 -(27773) found -[10036] Forked 27774 -(27774) found -[10035] Forked 27775 -(27775) found -[10034] Forked 27776 -(27776) found -[10033] Forked 27777 -(27777) found -[10032] Forked 27778 -(27778) found -[10031] Forked 27779 -(27779) found -[10030] Forked 27780 -(27780) found -[10029] Forked 27781 -(27781) found -[10028] Forked 27782 -(27782) found -[10027] Forked 27783 -(27783) found -[10026] Forked 27784 -(27784) found -[10025] Forked 27785 -(27785) found -[10024] Forked 27786 -(27786) found -[10023] Forked 27787 -(27787) found -[10022] Forked 27788 -(27788) found -[10021] Forked 27789 -(27789) found -[10020] Forked 27790 -(27790) found -[10019] Forked 27791 -(27791) found -[10018] Forked 27792 -(27792) found -[10017] Forked 27793 -(27793) found -[10016] Forked 27794 -(27794) found -[10015] Forked 27795 -(27795) found -[10014] Forked 27796 -(27796) found -[10013] Forked 27797 -(27797) found -[10012] Forked 27798 -(27798) found -[10011] Forked 27799 -(27799) found -[10010] Forked 27800 -(27800) found -[10009] Forked 27801 -(27801) found -[10008] Forked 27802 -(27802) found -[10007] Forked 27803 -(27803) found -[10006] Forked 27804 -(27804) found -[10005] Forked 27805 -(27805) found -[10004] Forked 27806 -(27806) found -[10003] Forked 27807 -(27807) found -[10002] Forked 27808 -(27808) found -[10001] Forked 27809 -(27809) found -[10000] Forked 27810 -(27810) found -[9999] Forked 27811 -(27811) found -[9998] Forked 27812 -[9997] Forked 27813 -(27812) found -(27813) found -[9996] Forked 27814 -[9995] Forked 27815 -(27814) found -(27815) found -[9994] Forked 27816 -[9993] Forked 27817 -(27816) found -(27817) found -[9992] Forked 27818 -[9991] Forked 27819 -(27818) found -(27819) found -[9990] Forked 27820 -[9989] Forked 27821 -(27820) found -(27821) found -[9988] Forked 27822 -[9987] Forked 27823 -(27822) found -(27823) found -[9986] Forked 27824 -[9985] Forked 27825 -(27824) found -(27825) found -[9984] Forked 27826 -[9983] Forked 27827 -(27826) found -(27827) found -[9982] Forked 27828 -[9981] Forked 27829 -(27828) found -(27829) found -[9980] Forked 27831 -[9979] Forked 27832 -(27831) found -(27832) found -[9978] Forked 27833 -[9977] Forked 27834 -(27833) found -(27834) found -[9976] Forked 27835 -[9975] Forked 27836 -(27835) found -(27836) found -[9974] Forked 27837 -[9973] Forked 27838 -(27837) found -(27838) found -[9972] Forked 27839 -[9971] Forked 27840 -(27839) found -(27840) found -[9970] Forked 27841 -[9969] Forked 27842 -(27841) found -(27842) found -[9968] Forked 27843 -[9967] Forked 27844 -(27843) found -(27844) found -[9966] Forked 27845 -[9965] Forked 27846 -(27845) found -(27846) found -[9964] Forked 27847 -[9963] Forked 27848 -(27847) found -(27848) found -[9962] Forked 27849 -[9961] Forked 27850 -(27849) found -(27850) found -[9960] Forked 27851 -[9959] Forked 27852 -(27851) found -(27852) found -[9958] Forked 27853 -(27853) found -[9957] Forked 27854 -(27854) found -[9956] Forked 27855 -(27855) found -[9955] Forked 27856 -(27856) found -[9954] Forked 27857 -(27857) found -[9953] Forked 27858 -(27858) found -[9952] Forked 27859 -(27859) found -[9951] Forked 27860 -(27860) found -[9950] Forked 27861 -(27861) found -[9949] Forked 27862 -(27862) found -[9948] Forked 27863 -(27863) found -[9947] Forked 27864 -(27864) found -[9946] Forked 27865 -(27865) found -[9945] Forked 27866 -(27866) found -[9944] Forked 27867 -(27867) found -[9943] Forked 27868 -(27868) found -[9942] Forked 27869 -(27869) found -[9941] Forked 27870 -(27870) found -[9940] Forked 27871 -(27871) found -[9939] Forked 27872 -(27872) found -[9938] Forked 27873 -(27873) found -[9937] Forked 27874 -(27874) found -[9936] Forked 27875 -(27875) found -[9935] Forked 27876 -(27876) found -[9934] Forked 27877 -(27877) found -[9933] Forked 27878 -(27878) found -[9932] Forked 27879 -(27879) found -[9931] Forked 27880 -(27880) found -[9930] Forked 27881 -(27881) found -[9929] Forked 27882 -(27882) found -[9928] Forked 27883 -(27883) found -[9927] Forked 27884 -(27884) found -[9926] Forked 27885 -(27885) found -[9925] Forked 27886 -(27886) found -[9924] Forked 27887 -(27887) found -[9923] Forked 27888 -(27888) found -[9922] Forked 27889 -(27889) found -[9921] Forked 27890 -(27890) found -[9920] Forked 27891 -(27891) found -[9919] Forked 27892 -(27892) found -[9918] Forked 27893 -(27893) found -[9917] Forked 27894 -[9916] Forked 27895 -(27894) found -(27895) found -[9915] Forked 27896 -[9914] Forked 27897 -(27896) found -(27897) found -[9913] Forked 27898 -[9912] Forked 27899 -(27898) found -(27899) found -[9911] Forked 27900 -[9910] Forked 27901 -(27900) found -(27901) found -[9909] Forked 27902 -[9908] Forked 27903 -(27902) found -(27903) found -[9907] Forked 27904 -[9906] Forked 27905 -(27904) found -(27905) found -[9905] Forked 27906 -[9904] Forked 27907 -(27906) found -(27907) found -[9903] Forked 27908 -[9902] Forked 27909 -(27908) found -(27909) found -[9901] Forked 27910 -[9900] Forked 27911 -(27910) found -(27911) found -[9899] Forked 27912 -[9898] Forked 27913 -(27912) found -(27913) found -[9897] Forked 27914 -[9896] Forked 27915 -(27914) found -(27915) found -[9895] Forked 27916 -[9894] Forked 27917 -(27916) found -(27917) found -[9893] Forked 27918 -[9892] Forked 27919 -(27918) found -(27919) found -[9891] Forked 27920 -[9890] Forked 27921 -(27920) found -(27921) found -[9889] Forked 27922 -[9888] Forked 27923 -(27922) found -(27923) found -[9887] Forked 27924 -[9886] Forked 27925 -(27924) found -(27925) found -[9885] Forked 27926 -[9884] Forked 27927 -(27926) found -(27927) found -[9883] Forked 27928 -[9882] Forked 27929 -(27928) found -(27929) found -[9881] Forked 27930 -[9880] Forked 27931 -(27930) found -(27931) found -[9879] Forked 27932 -[9878] Forked 27933 -(27932) found -(27933) found -[9877] Forked 27934 -(27934) found -[9876] Forked 27935 -(27935) found -[9875] Forked 27936 -(27936) found -[9874] Forked 27937 -(27937) found -[9873] Forked 27938 -(27938) found -[9872] Forked 27939 -(27939) found -[9871] Forked 27940 -(27940) found -[9870] Forked 27941 -(27941) found -[9869] Forked 27942 -(27942) found -[9868] Forked 27943 -(27943) found -[9867] Forked 27944 -(27944) found -[9866] Forked 27945 -(27945) found -[9865] Forked 27946 -(27946) found -[9864] Forked 27947 -(27947) found -[9863] Forked 27948 -(27948) found -[9862] Forked 27949 -(27949) found -[9861] Forked 27950 -(27950) found -[9860] Forked 27951 -(27951) found -[9859] Forked 27952 -(27952) found -[9858] Forked 27953 -(27953) found -[9857] Forked 27954 -(27954) found -[9856] Forked 27955 -(27955) found -[9855] Forked 27956 -(27956) found -[9854] Forked 27957 -(27957) found -[9853] Forked 27958 -(27958) found -[9852] Forked 27959 -(27959) found -[9851] Forked 27960 -(27960) found -[9850] Forked 27961 -(27961) found -[9849] Forked 27962 -(27962) found -[9848] Forked 27963 -(27963) found -[9847] Forked 27964 -(27964) found -[9846] Forked 27965 -(27965) found -[9845] Forked 27966 -(27966) found -[9844] Forked 27967 -(27967) found -[9843] Forked 27968 -(27968) found -[9842] Forked 27969 -(27969) found -[9841] Forked 27970 -(27970) found -[9840] Forked 27971 -(27971) found -[9839] Forked 27972 -(27972) found -[9838] Forked 27973 -[9837] Forked 27974 -(27973) found -(27974) found -[9836] Forked 27975 -[9835] Forked 27976 -(27975) found -(27976) found -[9834] Forked 27977 -[9833] Forked 27978 -(27977) found -(27978) found -[9832] Forked 27979 -[9831] Forked 27980 -(27979) found -(27980) found -[9830] Forked 27981 -[9829] Forked 27982 -(27981) found -(27982) found -[9828] Forked 27983 -[9827] Forked 27984 -(27983) found -(27984) found -[9826] Forked 27985 -[9825] Forked 27986 -(27985) found -(27986) found -[9824] Forked 27988 -[9823] Forked 27989 -(27988) found -(27989) found -[9822] Forked 27990 -[9821] Forked 27991 -(27990) found -(27991) found -[9820] Forked 27992 -(27992) found -[9819] Forked 27993 -[9818] Forked 27994 -(27993) found -(27994) found -[9817] Forked 27995 -[9816] Forked 27996 -(27995) found -(27996) found -[9815] Forked 27997 -[9814] Forked 27998 -(27998) found -(27997) found -[9813] Forked 27999 -(27999) found -[9812] Forked 28000 -(28000) found -[9811] Forked 28001 -(28001) found -[9810] Forked 28002 -(28002) found -[9809] Forked 28003 -(28003) found -[9808] Forked 28004 -(28004) found -[9807] Forked 28005 -(28005) found -[9806] Forked 28006 -(28006) found -[9805] Forked 28007 -(28007) found -[9804] Forked 28008 -(28008) found -[9803] Forked 28009 -(28009) found -[9802] Forked 28010 -(28010) found -[9801] Forked 28011 -(28011) found -[9800] Forked 28012 -(28012) found -[9799] Forked 28013 -(28013) found -[9798] Forked 28014 -(28014) found -[9797] Forked 28015 -(28015) found -[9796] Forked 28016 -(28016) found -[9795] Forked 28017 -(28017) found -[9794] Forked 28018 -(28018) found -[9793] Forked 28019 -(28019) found -[9792] Forked 28020 -(28020) found -[9791] Forked 28021 -(28021) found -[9790] Forked 28022 -(28022) found -[9789] Forked 28023 -(28023) found -[9788] Forked 28024 -(28024) found -[9787] Forked 28025 -(28025) found -[9786] Forked 28026 -(28026) found -[9785] Forked 28027 -(28027) found -[9784] Forked 28028 -(28028) found -[9783] Forked 28029 -(28029) found -[9782] Forked 28030 -(28030) found -[9781] Forked 28031 -(28031) found -[9780] Forked 28032 -(28032) found -[9779] Forked 28033 -(28033) found -[9778] Forked 28034 -(28034) found -[9777] Forked 28035 -(28035) found -[9776] Forked 28036 -(28036) found -[9775] Forked 28037 -(28037) found -[9774] Forked 28038 -(28038) found -[9773] Forked 28039 -(28039) found -[9772] Forked 28040 -(28040) found -[9771] Forked 28041 -(28041) found -[9770] Forked 28042 -(28042) found -[9769] Forked 28043 -(28043) found -[9768] Forked 28044 -(28044) found -[9767] Forked 28045 -(28045) found -[9766] Forked 28047 -(28047) found -[9765] Forked 28048 -(28048) found -[9764] Forked 28049 -(28049) found -[9763] Forked 28050 -(28050) found -[9762] Forked 28051 -(28051) found -[9761] Forked 28052 -(28052) found -[9760] Forked 28053 -(28053) found -[9759] Forked 28054 -(28054) found -[9758] Forked 28055 -(28055) found -[9757] Forked 28056 -(28056) found -[9756] Forked 28057 -(28057) found -[9755] Forked 28058 -(28058) found -[9754] Forked 28059 -(28059) found -[9753] Forked 28060 -(28060) found -[9752] Forked 28061 -(28061) found -[9751] Forked 28062 -(28062) found -[9750] Forked 28063 -(28063) found -[9749] Forked 28064 -(28064) found -[9748] Forked 28065 -(28065) found -[9747] Forked 28066 -(28066) found -[9746] Forked 28067 -(28067) found -[9745] Forked 28068 -(28068) found -[9744] Forked 28069 -(28069) found -[9743] Forked 28070 -(28070) found -[9742] Forked 28071 -(28071) found -[9741] Forked 28072 -(28072) found -[9740] Forked 28073 -(28073) found -[9739] Forked 28074 -(28074) found -[9738] Forked 28075 -(28075) found -[9737] Forked 28076 -(28076) found -[9736] Forked 28077 -(28077) found -[9735] Forked 28078 -(28078) found -[9734] Forked 28079 -(28079) found -[9733] Forked 28080 -(28080) found -[9732] Forked 28081 -(28081) found -[9731] Forked 28082 -(28082) found -[9730] Forked 28083 -(28083) found -[9729] Forked 28084 -(28084) found -[9728] Forked 28085 -(28085) found -[9727] Forked 28086 -(28086) found -[9726] Forked 28087 -(28087) found -[9725] Forked 28088 -(28088) found -[9724] Forked 28089 -(28089) found -[9723] Forked 28090 -(28090) found -[9722] Forked 28091 -(28091) found -[9721] Forked 28092 -(28092) found -[9720] Forked 28093 -(28093) found -[9719] Forked 28094 -(28094) found -[9718] Forked 28095 -(28095) found -[9717] Forked 28096 -(28096) found -[9716] Forked 28097 -(28097) found -[9715] Forked 28098 -(28098) found -[9714] Forked 28099 -(28099) found -[9713] Forked 28100 -(28100) found -[9712] Forked 28101 -(28101) found -[9711] Forked 28102 -(28102) found -[9710] Forked 28103 -(28103) found -[9709] Forked 28104 -[9708] Forked 28105 -(28104) found -(28105) found -[9707] Forked 28106 -[9706] Forked 28107 -(28106) found -(28107) found -[9705] Forked 28108 -[9704] Forked 28109 -(28108) found -(28109) found -[9703] Forked 28110 -[9702] Forked 28111 -(28110) found -(28111) found -[9701] Forked 28112 -[9700] Forked 28113 -(28112) found -(28113) found -[9699] Forked 28114 -[9698] Forked 28115 -(28114) found -(28115) found -[9697] Forked 28116 -[9696] Forked 28117 -(28116) found -(28117) found -[9695] Forked 28118 -(28118) found -[9694] Forked 28119 -(28119) found -[9693] Forked 28120 -[9692] Forked 28121 -(28120) found -(28121) found -[9691] Forked 28122 -[9690] Forked 28123 -(28122) found -(28123) found -[9689] Forked 28124 -[9688] Forked 28125 -(28124) found -(28125) found -[9687] Forked 28126 -[9686] Forked 28127 -(28126) found -(28127) found -[9685] Forked 28128 -[9684] Forked 28129 -(28128) found -(28129) found -[9683] Forked 28130 -[9682] Forked 28131 -(28130) found -(28131) found -[9681] Forked 28132 -[9680] Forked 28133 -(28132) found -(28133) found -[9679] Forked 28134 -[9678] Forked 28135 -(28134) found -(28135) found -[9677] Forked 28136 -[9676] Forked 28137 -(28136) found -(28137) found -[9675] Forked 28138 -[9674] Forked 28139 -(28138) found -(28139) found -[9673] Forked 28140 -[9672] Forked 28141 -(28140) found -(28141) found -[9671] Forked 28142 -[9670] Forked 28143 -(28142) found -(28143) found -[9669] Forked 28144 -[9668] Forked 28145 -(28144) found -(28145) found -[9667] Forked 28146 -[9666] Forked 28147 -(28146) found -(28147) found -[9665] Forked 28148 -[9664] Forked 28149 -(28148) found -(28149) found -[9663] Forked 28150 -[9662] Forked 28151 -(28150) found -(28151) found -[9661] Forked 28152 -[9660] Forked 28153 -(28152) found -(28153) found -[9659] Forked 28154 -[9658] Forked 28155 -(28154) found -(28155) found -[9657] Forked 28156 -[9656] Forked 28157 -(28156) found -(28157) found -[9655] Forked 28158 -[9654] Forked 28159 -(28158) found -(28159) found -[9653] Forked 28160 -[9652] Forked 28161 -(28160) found -(28161) found -[9651] Forked 28162 -[9650] Forked 28163 -(28162) found -(28163) found -[9649] Forked 28164 -[9648] Forked 28165 -(28164) found -(28165) found -[9647] Forked 28166 -[9646] Forked 28167 -(28166) found -(28167) found -[9645] Forked 28168 -[9644] Forked 28169 -(28168) found -(28169) found -[9643] Forked 28170 -[9642] Forked 28171 -(28170) found -(28171) found -[9641] Forked 28172 -[9640] Forked 28173 -(28172) found -(28173) found -[9639] Forked 28174 -[9638] Forked 28175 -(28174) found -(28175) found -[9637] Forked 28176 -[9636] Forked 28177 -(28176) found -(28177) found -[9635] Forked 28178 -[9634] Forked 28179 -(28178) found -(28179) found -[9633] Forked 28180 -[9632] Forked 28181 -(28180) found -(28181) found -[9631] Forked 28182 -[9630] Forked 28183 -(28182) found -(28183) found -[9629] Forked 28184 -[9628] Forked 28185 -(28184) found -(28185) found -[9627] Forked 28186 -[9626] Forked 28187 -(28186) found -(28187) found -[9625] Forked 28188 -[9624] Forked 28189 -(28188) found -(28189) found -[9623] Forked 28190 -[9622] Forked 28191 -(28190) found -(28191) found -[9621] Forked 28192 -(28192) found -[9620] Forked 28193 -(28193) found -[9619] Forked 28194 -(28194) found -[9618] Forked 28195 -(28195) found -[9617] Forked 28196 -(28196) found -[9616] Forked 28197 -(28197) found -[9615] Forked 28198 -(28198) found -[9614] Forked 28199 -(28199) found -[9613] Forked 28200 -(28200) found -[9612] Forked 28201 -(28201) found -[9611] Forked 28202 -(28202) found -[9610] Forked 28203 -(28203) found -[9609] Forked 28204 -(28204) found -[9608] Forked 28205 -(28205) found -[9607] Forked 28206 -(28206) found -[9606] Forked 28207 -(28207) found -[9605] Forked 28208 -(28208) found -[9604] Forked 28209 -(28209) found -[9603] Forked 28210 -(28210) found -[9602] Forked 28211 -(28211) found -[9601] Forked 28212 -(28212) found -[9600] Forked 28213 -(28213) found -[9599] Forked 28214 -(28214) found -[9598] Forked 28215 -(28215) found -[9597] Forked 28216 -(28216) found -[9596] Forked 28217 -(28217) found -[9595] Forked 28218 -(28218) found -[9594] Forked 28219 -(28219) found -[9593] Forked 28220 -(28220) found -[9592] Forked 28221 -(28221) found -[9591] Forked 28222 -(28222) found -[9590] Forked 28223 -(28223) found -[9589] Forked 28224 -(28224) found -[9588] Forked 28225 -(28225) found -[9587] Forked 28226 -[9586] Forked 28227 -(28226) found -(28227) found -[9585] Forked 28228 -[9584] Forked 28229 -(28228) found -(28229) found -[9583] Forked 28230 -[9582] Forked 28231 -(28230) found -(28231) found -[9581] Forked 28232 -[9580] Forked 28233 -(28232) found -(28233) found -[9579] Forked 28234 -[9578] Forked 28235 -(28234) found -(28235) found -[9577] Forked 28236 -[9576] Forked 28237 -(28236) found -(28237) found -[9575] Forked 28238 -[9574] Forked 28239 -(28238) found -(28239) found -[9573] Forked 28240 -[9572] Forked 28241 -(28240) found -(28241) found -[9571] Forked 28242 -[9570] Forked 28243 -(28242) found -(28243) found -[9569] Forked 28244 -[9568] Forked 28245 -(28244) found -(28245) found -[9567] Forked 28246 -[9566] Forked 28247 -(28246) found -(28247) found -[9565] Forked 28248 -[9564] Forked 28249 -(28248) found -(28249) found -[9563] Forked 28250 -[9562] Forked 28251 -(28250) found -(28251) found -[9561] Forked 28252 -[9560] Forked 28253 -(28252) found -(28253) found -[9559] Forked 28254 -[9558] Forked 28255 -(28254) found -(28255) found -[9557] Forked 28256 -[9556] Forked 28257 -(28256) found -(28257) found -[9555] Forked 28258 -[9554] Forked 28259 -(28258) found -(28259) found -[9553] Forked 28260 -[9552] Forked 28261 -(28260) found -(28261) found -[9551] Forked 28262 -[9550] Forked 28263 -(28262) found -(28263) found -[9549] Forked 28264 -[9548] Forked 28265 -(28264) found -(28265) found -[9547] Forked 28266 -[9546] Forked 28267 -(28266) found -(28267) found -[9545] Forked 28268 -[9544] Forked 28269 -(28268) found -(28269) found -[9543] Forked 28270 -[9542] Forked 28271 -(28270) found -(28271) found -[9541] Forked 28272 -(28272) found -[9540] Forked 28273 -(28273) found -[9539] Forked 28274 -(28274) found -[9538] Forked 28275 -(28275) found -[9537] Forked 28276 -(28276) found -[9536] Forked 28277 -(28277) found -[9535] Forked 28278 -(28278) found -[9534] Forked 28279 -(28279) found -[9533] Forked 28280 -(28280) found -[9532] Forked 28281 -(28281) found -[9531] Forked 28282 -(28282) found -[9530] Forked 28283 -(28283) found -[9529] Forked 28284 -(28284) found -[9528] Forked 28285 -(28285) found -[9527] Forked 28286 -(28286) found -[9526] Forked 28287 -(28287) found -[9525] Forked 28288 -(28288) found -[9524] Forked 28289 -(28289) found -[9523] Forked 28290 -(28290) found -[9522] Forked 28291 -(28291) found -[9521] Forked 28292 -(28292) found -[9520] Forked 28293 -(28293) found -[9519] Forked 28294 -(28294) found -[9518] Forked 28295 -(28295) found -[9517] Forked 28296 -(28296) found -[9516] Forked 28297 -(28297) found -[9515] Forked 28298 -(28298) found -[9514] Forked 28299 -(28299) found -[9513] Forked 28300 -(28300) found -[9512] Forked 28301 -(28301) found -[9511] Forked 28302 -(28302) found -[9510] Forked 28303 -(28303) found -[9509] Forked 28304 -(28304) found -[9508] Forked 28305 -(28305) found -[9507] Forked 28306 -(28306) found -[9506] Forked 28307 -(28307) found -[9505] Forked 28308 -(28308) found -[9504] Forked 28309 -[9503] Forked 28310 -(28309) found -(28310) found -[9502] Forked 28311 -[9501] Forked 28312 -(28311) found -(28312) found -[9500] Forked 28313 -[9499] Forked 28314 -(28313) found -(28314) found -[9498] Forked 28315 -[9497] Forked 28316 -(28315) found -(28316) found -[9496] Forked 28317 -[9495] Forked 28318 -(28317) found -(28318) found -[9494] Forked 28319 -[9493] Forked 28320 -(28319) found -(28320) found -[9492] Forked 28321 -[9491] Forked 28322 -(28321) found -(28322) found -[9490] Forked 28323 -[9489] Forked 28324 -(28323) found -(28324) found -[9488] Forked 28325 -[9487] Forked 28326 -(28325) found -(28326) found -[9486] Forked 28327 -[9485] Forked 28328 -(28327) found -(28328) found -[9484] Forked 28329 -(28329) found -[9483] Forked 28330 -[9482] Forked 28331 -(28330) found -(28331) found -[9481] Forked 28332 -[9480] Forked 28333 -(28332) found -(28333) found -[9479] Forked 28334 -[9478] Forked 28335 -(28334) found -(28335) found -[9477] Forked 28336 -[9476] Forked 28337 -(28336) found -(28337) found -[9475] Forked 28338 -[9474] Forked 28339 -(28338) found -(28339) found -[9473] Forked 28340 -[9472] Forked 28341 -(28340) found -(28341) found -[9471] Forked 28342 -[9470] Forked 28343 -(28342) found -(28343) found -[9469] Forked 28344 -[9468] Forked 28345 -(28344) found -(28345) found -[9467] Forked 28346 -[9466] Forked 28347 -(28346) found -(28347) found -[9465] Forked 28348 -[9464] Forked 28349 -(28348) found -(28349) found -[9463] Forked 28350 -[9462] Forked 28351 -(28350) found -(28351) found -[9461] Forked 28352 -[9460] Forked 28353 -(28352) found -(28353) found -[9459] Forked 28354 -(28354) found -[9458] Forked 28355 -(28355) found -[9457] Forked 28356 -(28356) found -[9456] Forked 28357 -(28357) found -[9455] Forked 28358 -(28358) found -[9454] Forked 28359 -(28359) found -[9453] Forked 28360 -(28360) found -[9452] Forked 28361 -(28361) found -[9451] Forked 28362 -(28362) found -[9450] Forked 28363 -(28363) found -[9449] Forked 28364 -(28364) found -[9448] Forked 28365 -(28365) found -[9447] Forked 28366 -(28366) found -[9446] Forked 28367 -(28367) found -[9445] Forked 28368 -(28368) found -[9444] Forked 28369 -(28369) found -[9443] Forked 28370 -(28370) found -[9442] Forked 28371 -(28371) found -[9441] Forked 28372 -(28372) found -[9440] Forked 28373 -(28373) found -[9439] Forked 28374 -(28374) found -[9438] Forked 28375 -(28375) found -[9437] Forked 28376 -(28376) found -[9436] Forked 28377 -(28377) found -[9435] Forked 28378 -(28378) found -[9434] Forked 28379 -(28379) found -[9433] Forked 28380 -(28380) found -[9432] Forked 28381 -(28381) found -[9431] Forked 28382 -(28382) found -[9430] Forked 28383 -(28383) found -[9429] Forked 28384 -(28384) found -[9428] Forked 28385 -(28385) found -[9427] Forked 28386 -(28386) found -[9426] Forked 28387 -(28387) found -[9425] Forked 28388 -(28388) found -[9424] Forked 28389 -[9423] Forked 28390 -(28389) found -(28390) found -[9422] Forked 28391 -[9421] Forked 28392 -(28391) found -(28392) found -[9420] Forked 28393 -[9419] Forked 28394 -(28393) found -(28394) found -[9418] Forked 28395 -[9417] Forked 28396 -(28395) found -(28396) found -[9416] Forked 28397 -[9415] Forked 28398 -(28397) found -(28398) found -[9414] Forked 28399 -[9413] Forked 28400 -(28399) found -(28400) found -[9412] Forked 28401 -[9411] Forked 28402 -(28401) found -(28402) found -[9410] Forked 28403 -[9409] Forked 28404 -(28403) found -(28404) found -[9408] Forked 28405 -[9407] Forked 28406 -(28405) found -(28406) found -[9406] Forked 28407 -[9405] Forked 28408 -(28407) found -(28408) found -[9404] Forked 28409 -[9403] Forked 28410 -(28409) found -(28410) found -[9402] Forked 28411 -[9401] Forked 28412 -(28411) found -(28412) found -[9400] Forked 28413 -[9399] Forked 28414 -(28413) found -(28414) found -[9398] Forked 28415 -[9397] Forked 28416 -(28415) found -(28416) found -[9396] Forked 28417 -[9395] Forked 28418 -(28417) found -(28418) found -[9394] Forked 28419 -[9393] Forked 28420 -(28419) found -(28420) found -[9392] Forked 28421 -[9391] Forked 28422 -(28421) found -(28422) found -[9390] Forked 28423 -[9389] Forked 28424 -(28423) found -(28424) found -[9388] Forked 28425 -[9387] Forked 28426 -(28425) found -(28426) found -[9386] Forked 28427 -[9385] Forked 28428 -(28427) found -(28428) found -[9384] Forked 28429 -[9383] Forked 28430 -(28429) found -(28430) found -[9382] Forked 28431 -[9381] Forked 28432 -(28431) found -(28432) found -[9380] Forked 28433 -[9379] Forked 28434 -(28433) found -(28434) found -[9378] Forked 28435 -(28435) found -[9377] Forked 28436 -(28436) found -[9376] Forked 28437 -(28437) found -[9375] Forked 28438 -(28438) found -[9374] Forked 28439 -(28439) found -[9373] Forked 28440 -(28440) found -[9372] Forked 28441 -(28441) found -[9371] Forked 28442 -(28442) found -[9370] Forked 28443 -(28443) found -[9369] Forked 28444 -(28444) found -[9368] Forked 28445 -(28445) found -[9367] Forked 28446 -(28446) found -[9366] Forked 28447 -(28447) found -[9365] Forked 28448 -(28448) found -[9364] Forked 28449 -(28449) found -[9363] Forked 28450 -(28450) found -[9362] Forked 28451 -(28451) found -[9361] Forked 28452 -(28452) found -[9360] Forked 28453 -(28453) found -[9359] Forked 28454 -(28454) found -[9358] Forked 28455 -(28455) found -[9357] Forked 28456 -(28456) found -[9356] Forked 28457 -(28457) found -[9355] Forked 28458 -(28458) found -[9354] Forked 28459 -(28459) found -[9353] Forked 28460 -(28460) found -[9352] Forked 28461 -(28461) found -[9351] Forked 28462 -(28462) found -[9350] Forked 28463 -(28463) found -[9349] Forked 28464 -(28464) found -[9348] Forked 28465 -(28465) found -[9347] Forked 28466 -(28466) found -[9346] Forked 28467 -(28467) found -[9345] Forked 28468 -(28468) found -[9344] Forked 28469 -(28469) found -[9343] Forked 28470 -[9342] Forked 28471 -(28470) found -(28471) found -[9341] Forked 28472 -[9340] Forked 28473 -(28472) found -(28473) found -[9339] Forked 28474 -[9338] Forked 28475 -(28474) found -(28475) found -[9337] Forked 28476 -[9336] Forked 28477 -(28476) found -(28477) found -[9335] Forked 28478 -[9334] Forked 28479 -(28478) found -(28479) found -[9333] Forked 28480 -[9332] Forked 28481 -(28480) found -(28481) found -[9331] Forked 28482 -[9330] Forked 28483 -(28482) found -(28483) found -[9329] Forked 28484 -[9328] Forked 28485 -(28484) found -(28485) found -[9327] Forked 28486 -[9326] Forked 28487 -(28486) found -(28487) found -[9325] Forked 28488 -[9324] Forked 28489 -(28488) found -(28489) found -[9323] Forked 28490 -[9322] Forked 28491 -(28490) found -(28491) found -[9321] Forked 28492 -[9320] Forked 28493 -(28492) found -(28493) found -[9319] Forked 28494 -[9318] Forked 28495 -(28494) found -(28495) found -[9317] Forked 28496 -[9316] Forked 28497 -(28496) found -(28497) found -[9315] Forked 28498 -[9314] Forked 28499 -(28498) found -(28499) found -[9313] Forked 28500 -[9312] Forked 28501 -(28500) found -(28501) found -[9311] Forked 28502 -[9310] Forked 28503 -(28502) found -(28503) found -[9309] Forked 28504 -[9308] Forked 28505 -(28504) found -(28505) found -[9307] Forked 28506 -[9306] Forked 28507 -(28506) found -(28507) found -[9305] Forked 28508 -[9304] Forked 28509 -(28508) found -(28509) found -[9303] Forked 28510 -[9302] Forked 28511 -(28510) found -(28511) found -[9301] Forked 28512 -[9300] Forked 28513 -(28512) found -(28513) found -[9299] Forked 28514 -[9298] Forked 28515 -(28514) found -(28515) found -[9297] Forked 28516 -(28516) found -[9296] Forked 28517 -(28517) found -[9295] Forked 28518 -(28518) found -[9294] Forked 28519 -(28519) found -[9293] Forked 28520 -(28520) found -[9292] Forked 28521 -(28521) found -[9291] Forked 28522 -(28522) found -[9290] Forked 28523 -(28523) found -[9289] Forked 28524 -(28524) found -[9288] Forked 28525 -(28525) found -[9287] Forked 28526 -(28526) found -[9286] Forked 28527 -(28527) found -[9285] Forked 28528 -(28528) found -[9284] Forked 28529 -(28529) found -[9283] Forked 28530 -(28530) found -[9282] Forked 28531 -(28531) found -[9281] Forked 28532 -(28532) found -[9280] Forked 28533 -(28533) found -[9279] Forked 28534 -(28534) found -[9278] Forked 28535 -(28535) found -[9277] Forked 28536 -(28536) found -[9276] Forked 28537 -(28537) found -[9275] Forked 28538 -(28538) found -[9274] Forked 28539 -(28539) found -[9273] Forked 28540 -(28540) found -[9272] Forked 28541 -(28541) found -[9271] Forked 28542 -(28542) found -[9270] Forked 28543 -(28543) found -[9269] Forked 28544 -(28544) found -[9268] Forked 28545 -(28545) found -[9267] Forked 28546 -(28546) found -[9266] Forked 28547 -(28547) found -[9265] Forked 28548 -(28548) found -[9264] Forked 28549 -(28549) found -[9263] Forked 28550 -[9262] Forked 28551 -(28550) found -(28551) found -[9261] Forked 28552 -[9260] Forked 28553 -(28552) found -(28553) found -[9259] Forked 28554 -[9258] Forked 28555 -(28554) found -(28555) found -[9257] Forked 28556 -[9256] Forked 28557 -(28556) found -(28557) found -[9255] Forked 28558 -[9254] Forked 28559 -(28558) found -(28559) found -[9253] Forked 28560 -[9252] Forked 28561 -(28560) found -(28561) found -[9251] Forked 28562 -[9250] Forked 28563 -(28562) found -(28563) found -[9249] Forked 28564 -[9248] Forked 28565 -(28564) found -(28565) found -[9247] Forked 28566 -[9246] Forked 28567 -(28566) found -(28567) found -[9245] Forked 28568 -[9244] Forked 28569 -(28568) found -(28569) found -[9243] Forked 28570 -[9242] Forked 28571 -(28570) found -(28571) found -[9241] Forked 28572 -(28572) found -[9240] Forked 28573 -[9239] Forked 28574 -(28573) found -(28574) found -[9238] Forked 28575 -[9237] Forked 28576 -(28575) found -(28576) found -[9236] Forked 28577 -[9235] Forked 28578 -(28577) found -(28578) found -[9234] Forked 28579 -[9233] Forked 28580 -(28579) found -(28580) found -[9232] Forked 28581 -[9231] Forked 28582 -(28581) found -(28582) found -[9230] Forked 28583 -[9229] Forked 28584 -(28583) found -(28584) found -[9228] Forked 28585 -[9227] Forked 28586 -(28585) found -(28586) found -[9226] Forked 28587 -[9225] Forked 28588 -(28587) found -(28588) found -[9224] Forked 28589 -[9223] Forked 28590 -(28589) found -(28590) found -[9222] Forked 28591 -[9221] Forked 28592 -(28591) found -(28592) found -[9220] Forked 28593 -[9219] Forked 28594 -(28593) found -(28594) found -[9218] Forked 28595 -[9217] Forked 28596 -(28595) found -(28596) found -[9216] Forked 28597 -[9215] Forked 28598 -(28597) found -(28598) found -[9214] Forked 28599 -[9213] Forked 28600 -(28599) found -(28600) found -[9212] Forked 28601 -[9211] Forked 28602 -(28601) found -(28602) found -[9210] Forked 28603 -[9209] Forked 28604 -(28603) found -(28604) found -[9208] Forked 28605 -[9207] Forked 28606 -(28605) found -(28606) found -[9206] Forked 28607 -[9205] Forked 28608 -(28607) found -(28608) found -[9204] Forked 28609 -[9203] Forked 28610 -(28609) found -(28610) found -[9202] Forked 28611 -[9201] Forked 28612 -(28611) found -(28612) found -[9200] Forked 28613 -[9199] Forked 28614 -(28613) found -(28614) found -[9198] Forked 28615 -[9197] Forked 28616 -(28615) found -(28616) found -[9196] Forked 28617 -[9195] Forked 28618 -(28617) found -(28618) found -[9194] Forked 28619 -[9193] Forked 28620 -(28619) found -(28620) found -[9192] Forked 28621 -[9191] Forked 28622 -(28621) found -(28622) found -[9190] Forked 28623 -[9189] Forked 28624 -(28623) found -(28624) found -[9188] Forked 28625 -[9187] Forked 28626 -(28625) found -(28626) found -[9186] Forked 28627 -[9185] Forked 28628 -(28627) found -(28628) found -[9184] Forked 28629 -[9183] Forked 28630 -(28629) found -(28630) found -[9182] Forked 28631 -[9181] Forked 28632 -(28631) found -(28632) found -[9180] Forked 28633 -[9179] Forked 28634 -(28633) found -(28634) found -[9178] Forked 28635 -[9177] Forked 28636 -(28635) found -(28636) found -[9176] Forked 28637 -[9175] Forked 28638 -(28637) found -(28638) found -[9174] Forked 28639 -[9173] Forked 28640 -(28639) found -(28640) found -[9172] Forked 28641 -(28641) found -[9171] Forked 28642 -(28642) found -[9170] Forked 28643 -(28643) found -[9169] Forked 28644 -(28644) found -[9168] Forked 28645 -(28645) found -[9167] Forked 28646 -(28646) found -[9166] Forked 28647 -(28647) found -[9165] Forked 28648 -(28648) found -[9164] Forked 28649 -(28649) found -[9163] Forked 28650 -(28650) found -[9162] Forked 28651 -(28651) found -[9161] Forked 28652 -(28652) found -[9160] Forked 28653 -(28653) found -[9159] Forked 28654 -(28654) found -[9158] Forked 28655 -(28655) found -[9157] Forked 28656 -(28656) found -[9156] Forked 28657 -(28657) found -[9155] Forked 28658 -(28658) found -[9154] Forked 28659 -(28659) found -[9153] Forked 28660 -(28660) found -[9152] Forked 28661 -(28661) found -[9151] Forked 28662 -(28662) found -[9150] Forked 28663 -(28663) found -[9149] Forked 28664 -(28664) found -[9148] Forked 28665 -(28665) found -[9147] Forked 28666 -(28666) found -[9146] Forked 28667 -(28667) found -[9145] Forked 28668 -(28668) found -[9144] Forked 28669 -(28669) found -[9143] Forked 28670 -(28670) found -[9142] Forked 28671 -(28671) found -[9141] Forked 28672 -(28672) found -[9140] Forked 28673 -(28673) found -[9139] Forked 28674 -(28674) found -[9138] Forked 28675 -(28675) found -[9137] Forked 28676 -(28676) found -[9136] Forked 28677 -(28677) found -[9135] Forked 28679 -(28679) found -[9134] Forked 28680 -[9133] Forked 28681 -(28680) found -(28681) found -[9132] Forked 28682 -[9131] Forked 28683 -(28682) found -(28683) found -[9130] Forked 28684 -[9129] Forked 28685 -(28684) found -(28685) found -[9128] Forked 28686 -[9127] Forked 28687 -(28686) found -(28687) found -[9126] Forked 28688 -[9125] Forked 28689 -(28688) found -(28689) found -[9124] Forked 28690 -[9123] Forked 28691 -(28690) found -(28691) found -[9122] Forked 28692 -[9121] Forked 28693 -(28692) found -(28693) found -[9120] Forked 28694 -[9119] Forked 28696 -(28694) found -(28696) found -[9118] Forked 28697 -[9117] Forked 28698 -(28697) found -(28698) found -[9116] Forked 28699 -[9115] Forked 28700 -(28699) found -(28700) found -[9114] Forked 28701 -[9113] Forked 28702 -(28701) found -(28702) found -[9112] Forked 28703 -[9111] Forked 28704 -(28703) found -(28704) found -[9110] Forked 28705 -[9109] Forked 28706 -(28705) found -(28706) found -[9108] Forked 28707 -[9107] Forked 28708 -(28707) found -(28708) found -[9106] Forked 28709 -[9105] Forked 28710 -(28709) found -(28710) found -[9104] Forked 28711 -[9103] Forked 28712 -(28711) found -(28712) found -[9102] Forked 28713 -[9101] Forked 28714 -(28713) found -(28714) found -[9100] Forked 28715 -[9099] Forked 28716 -(28715) found -(28716) found -[9098] Forked 28717 -[9097] Forked 28718 -(28717) found -(28718) found -[9096] Forked 28719 -[9095] Forked 28720 -(28719) found -(28720) found -[9094] Forked 28721 -[9093] Forked 28722 -(28721) found -(28722) found -[9092] Forked 28723 -[9091] Forked 28724 -(28723) found -(28724) found -[9090] Forked 28725 -(28725) found -[9089] Forked 28726 -(28726) found -[9088] Forked 28727 -(28727) found -[9087] Forked 28728 -(28728) found -[9086] Forked 28729 -(28729) found -[9085] Forked 28730 -(28730) found -[9084] Forked 28731 -(28731) found -[9083] Forked 28732 -(28732) found -[9082] Forked 28733 -(28733) found -[9081] Forked 28734 -(28734) found -[9080] Forked 28735 -(28735) found -[9079] Forked 28736 -(28736) found -[9078] Forked 28737 -(28737) found -[9077] Forked 28738 -(28738) found -[9076] Forked 28739 -(28739) found -[9075] Forked 28740 -(28740) found -[9074] Forked 28741 -(28741) found -[9073] Forked 28742 -(28742) found -[9072] Forked 28743 -(28743) found -[9071] Forked 28744 -(28744) found -[9070] Forked 28745 -(28745) found -[9069] Forked 28746 -(28746) found -[9068] Forked 28747 -(28747) found -[9067] Forked 28748 -(28748) found -[9066] Forked 28749 -(28749) found -[9065] Forked 28750 -(28750) found -[9064] Forked 28751 -(28751) found -[9063] Forked 28752 -(28752) found -[9062] Forked 28753 -(28753) found -[9061] Forked 28754 -(28754) found -[9060] Forked 28755 -(28755) found -[9059] Forked 28756 -(28756) found -[9058] Forked 28757 -(28757) found -[9057] Forked 28758 -(28758) found -[9056] Forked 28759 -(28759) found -[9055] Forked 28760 -(28760) found -[9054] Forked 28761 -(28761) found -[9053] Forked 28762 -[9052] Forked 28763 -(28762) found -(28763) found -[9051] Forked 28764 -[9050] Forked 28765 -(28764) found -(28765) found -[9049] Forked 28766 -[9048] Forked 28767 -(28767) found -(28766) found -[9047] Forked 28768 -(28768) found -[9046] Forked 28769 -(28769) found -[9045] Forked 28770 -(28770) found -[9044] Forked 28771 -(28771) found -[9043] Forked 28772 -(28772) found -[9042] Forked 28773 -(28773) found -[9041] Forked 28774 -(28774) found -[9040] Forked 28775 -(28775) found -[9039] Forked 28776 -(28776) found -[9038] Forked 28777 -(28777) found -[9037] Forked 28778 -(28778) found -[9036] Forked 28779 -(28779) found -[9035] Forked 28780 -(28780) found -[9034] Forked 28781 -(28781) found -[9033] Forked 28782 -(28782) found -[9032] Forked 28783 -(28783) found -[9031] Forked 28784 -(28784) found -[9030] Forked 28785 -(28785) found -[9029] Forked 28786 -(28786) found -[9028] Forked 28787 -(28787) found -[9027] Forked 28788 -(28788) found -[9026] Forked 28789 -(28789) found -[9025] Forked 28790 -(28790) found -[9024] Forked 28791 -(28791) found -[9023] Forked 28792 -(28792) found -[9022] Forked 28793 -(28793) found -[9021] Forked 28794 -(28794) found -[9020] Forked 28795 -(28795) found -[9019] Forked 28796 -(28796) found -[9018] Forked 28797 -(28797) found -[9017] Forked 28798 -(28798) found -[9016] Forked 28799 -(28799) found -[9015] Forked 28800 -(28800) found -[9014] Forked 28801 -(28801) found -[9013] Forked 28802 -(28802) found -[9012] Forked 28803 -(28803) found -[9011] Forked 28804 -(28804) found -[9010] Forked 28805 -(28805) found -[9009] Forked 28806 -(28806) found -[9008] Forked 28807 -(28807) found -[9007] Forked 28808 -(28808) found -[9006] Forked 28809 -(28809) found -[9005] Forked 28810 -(28810) found -[9004] Forked 28811 -(28811) found -[9003] Forked 28812 -(28812) found -[9002] Forked 28813 -(28813) found -[9001] Forked 28814 -(28814) found -[9000] Forked 28815 -(28815) found -[8999] Forked 28816 -(28816) found -[8998] Forked 28817 -(28817) found -[8997] Forked 28818 -(28818) found -[8996] Forked 28819 -(28819) found -[8995] Forked 28820 -(28820) found -[8994] Forked 28821 -(28821) found -[8993] Forked 28822 -(28822) found -[8992] Forked 28823 -(28823) found -[8991] Forked 28824 -(28824) found -[8990] Forked 28825 -(28825) found -[8989] Forked 28826 -(28826) found -[8988] Forked 28827 -(28827) found -[8987] Forked 28828 -(28828) found -[8986] Forked 28829 -(28829) found -[8985] Forked 28830 -(28830) found -[8984] Forked 28831 -(28831) found -[8983] Forked 28832 -(28832) found -[8982] Forked 28833 -[8981] Forked 28834 -(28833) found -(28834) found -[8980] Forked 28835 -[8979] Forked 28836 -(28835) found -(28836) found -[8978] Forked 28837 -[8977] Forked 28838 -(28837) found -(28838) found -[8976] Forked 28839 -[8975] Forked 28840 -(28840) found -(28839) found -[8974] Forked 28841 -(28841) found -[8973] Forked 28842 -(28842) found -[8972] Forked 28843 -(28843) found -[8971] Forked 28844 -(28844) found -[8970] Forked 28845 -(28845) found -[8969] Forked 28846 -(28846) found -[8968] Forked 28847 -(28847) found -[8967] Forked 28848 -(28848) found -[8966] Forked 28849 -(28849) found -[8965] Forked 28850 -(28850) found -[8964] Forked 28851 -(28851) found -[8963] Forked 28852 -(28852) found -[8962] Forked 28853 -(28853) found -[8961] Forked 28854 -(28854) found -[8960] Forked 28855 -(28855) found -[8959] Forked 28856 -(28856) found -[8958] Forked 28857 -(28857) found -[8957] Forked 28858 -(28858) found -[8956] Forked 28859 -(28859) found -[8955] Forked 28860 -(28860) found -[8954] Forked 28861 -(28861) found -[8953] Forked 28862 -(28862) found -[8952] Forked 28863 -(28863) found -[8951] Forked 28864 -(28864) found -[8950] Forked 28865 -(28865) found -[8949] Forked 28866 -(28866) found -[8948] Forked 28867 -(28867) found -[8947] Forked 28868 -(28868) found -[8946] Forked 28869 -(28869) found -[8945] Forked 28870 -(28870) found -[8944] Forked 28871 -(28871) found -[8943] Forked 28872 -(28872) found -[8942] Forked 28873 -(28873) found -[8941] Forked 28874 -(28874) found -[8940] Forked 28875 -(28875) found -[8939] Forked 28876 -(28876) found -[8938] Forked 28877 -(28877) found -[8937] Forked 28878 -(28878) found -[8936] Forked 28879 -(28879) found -[8935] Forked 28880 -(28880) found -[8934] Forked 28881 -(28881) found -[8933] Forked 28882 -(28882) found -[8932] Forked 28883 -(28883) found -[8931] Forked 28884 -(28884) found -[8930] Forked 28885 -(28885) found -[8929] Forked 28886 -(28886) found -[8928] Forked 28887 -(28887) found -[8927] Forked 28888 -(28888) found -[8926] Forked 28889 -(28889) found -[8925] Forked 28890 -(28890) found -[8924] Forked 28891 -(28891) found -[8923] Forked 28892 -(28892) found -[8922] Forked 28893 -(28893) found -[8921] Forked 28894 -(28894) found -[8920] Forked 28895 -(28895) found -[8919] Forked 28896 -(28896) found -[8918] Forked 28897 -(28897) found -[8917] Forked 28898 -(28898) found -[8916] Forked 28899 -(28899) found -[8915] Forked 28900 -(28900) found -[8914] Forked 28901 -[8913] Forked 28902 -(28901) found -(28902) found -[8912] Forked 28903 -[8911] Forked 28904 -(28903) found -(28904) found -[8910] Forked 28905 -[8909] Forked 28906 -(28905) found -(28906) found -[8908] Forked 28907 -[8907] Forked 28908 -(28907) found -(28908) found -[8906] Forked 28909 -[8905] Forked 28910 -(28909) found -(28910) found -[8904] Forked 28911 -[8903] Forked 28912 -(28911) found -(28912) found -[8902] Forked 28913 -[8901] Forked 28914 -(28913) found -(28914) found -[8900] Forked 28915 -[8899] Forked 28916 -(28915) found -(28916) found -[8898] Forked 28917 -[8897] Forked 28918 -(28917) found -(28918) found -[8896] Forked 28919 -[8895] Forked 28920 -(28919) found -(28920) found -[8894] Forked 28921 -(28921) found -[8893] Forked 28922 -(28922) found -[8892] Forked 28923 -[8891] Forked 28924 -(28923) found -(28924) found -[8890] Forked 28925 -[8889] Forked 28926 -(28925) found -(28926) found -[8888] Forked 28927 -[8887] Forked 28928 -(28927) found -(28928) found -[8886] Forked 28929 -[8885] Forked 28930 -(28929) found -(28930) found -[8884] Forked 28931 -[8883] Forked 28932 -(28931) found -(28932) found -[8882] Forked 28933 -[8881] Forked 28934 -(28933) found -(28934) found -[8880] Forked 28935 -[8879] Forked 28936 -(28935) found -(28936) found -[8878] Forked 28937 -[8877] Forked 28938 -(28937) found -(28938) found -[8876] Forked 28939 -[8875] Forked 28940 -(28939) found -(28940) found -[8874] Forked 28941 -[8873] Forked 28942 -(28941) found -(28942) found -[8872] Forked 28943 -[8871] Forked 28944 -(28943) found -(28944) found -[8870] Forked 28945 -(28945) found -[8869] Forked 28946 -(28946) found -[8868] Forked 28947 -(28947) found -[8867] Forked 28948 -(28948) found -[8866] Forked 28949 -(28949) found -[8865] Forked 28950 -(28950) found -[8864] Forked 28951 -(28951) found -[8863] Forked 28952 -(28952) found -[8862] Forked 28953 -(28953) found -[8861] Forked 28954 -(28954) found -[8860] Forked 28955 -(28955) found -[8859] Forked 28956 -(28956) found -[8858] Forked 28957 -(28957) found -[8857] Forked 28958 -(28958) found -[8856] Forked 28959 -(28959) found -[8855] Forked 28960 -(28960) found -[8854] Forked 28961 -(28961) found -[8853] Forked 28962 -(28962) found -[8852] Forked 28963 -(28963) found -[8851] Forked 28964 -(28964) found -[8850] Forked 28965 -(28965) found -[8849] Forked 28966 -(28966) found -[8848] Forked 28967 -(28967) found -[8847] Forked 28968 -(28968) found -[8846] Forked 28969 -(28969) found -[8845] Forked 28970 -(28970) found -[8844] Forked 28971 -(28971) found -[8843] Forked 28972 -(28972) found -[8842] Forked 28973 -(28973) found -[8841] Forked 28974 -(28974) found -[8840] Forked 28975 -(28975) found -[8839] Forked 28976 -(28976) found -[8838] Forked 28977 -(28977) found -[8837] Forked 28978 -(28978) found -[8836] Forked 28979 -(28979) found -[8835] Forked 28980 -(28980) found -[8834] Forked 28981 -(28981) found -[8833] Forked 28982 -[8832] Forked 28983 -(28983) found -(28982) found -[8831] Forked 28984 -(28984) found -[8830] Forked 28985 -(28985) found -[8829] Forked 28986 -(28986) found -[8828] Forked 28987 -(28987) found -[8827] Forked 28988 -(28988) found -[8826] Forked 28989 -(28989) found -[8825] Forked 28990 -(28990) found -[8824] Forked 28991 -(28991) found -[8823] Forked 28992 -(28992) found -[8822] Forked 28993 -(28993) found -[8821] Forked 28994 -(28994) found -[8820] Forked 28995 -(28995) found -[8819] Forked 28996 -(28996) found -[8818] Forked 28997 -(28997) found -[8817] Forked 28998 -(28998) found -[8816] Forked 28999 -(28999) found -[8815] Forked 29000 -(29000) found -[8814] Forked 29001 -(29001) found -[8813] Forked 29002 -(29002) found -[8812] Forked 29003 -(29003) found -[8811] Forked 29004 -(29004) found -[8810] Forked 29005 -(29005) found -[8809] Forked 29006 -(29006) found -[8808] Forked 29007 -(29007) found -[8807] Forked 29008 -(29008) found -[8806] Forked 29009 -(29009) found -[8805] Forked 29010 -(29010) found -[8804] Forked 29011 -(29011) found -[8803] Forked 29012 -(29012) found -[8802] Forked 29013 -(29013) found -[8801] Forked 29014 -(29014) found -[8800] Forked 29015 -(29015) found -[8799] Forked 29016 -(29016) found -[8798] Forked 29017 -(29017) found -[8797] Forked 29018 -(29018) found -[8796] Forked 29019 -(29019) found -[8795] Forked 29020 -(29020) found -[8794] Forked 29021 -(29021) found -[8793] Forked 29022 -(29022) found -[8792] Forked 29023 -(29023) found -[8791] Forked 29024 -(29024) found -[8790] Forked 29025 -(29025) found -[8789] Forked 29026 -(29026) found -[8788] Forked 29027 -(29027) found -[8787] Forked 29028 -(29028) found -[8786] Forked 29029 -(29029) found -[8785] Forked 29030 -(29030) found -[8784] Forked 29031 -(29031) found -[8783] Forked 29032 -(29032) found -[8782] Forked 29033 -(29033) found -[8781] Forked 29034 -(29034) found -[8780] Forked 29035 -(29035) found -[8779] Forked 29036 -(29036) found -[8778] Forked 29037 -(29037) found -[8777] Forked 29038 -(29038) found -[8776] Forked 29039 -(29039) found -[8775] Forked 29040 -(29040) found -[8774] Forked 29041 -(29041) found -[8773] Forked 29042 -(29042) found -[8772] Forked 29043 -(29043) found -[8771] Forked 29044 -(29044) found -[8770] Forked 29045 -(29045) found -[8769] Forked 29046 -(29046) found -[8768] Forked 29047 -(29047) found -[8767] Forked 29048 -(29048) found -[8766] Forked 29049 -(29049) found -[8765] Forked 29050 -(29050) found -[8764] Forked 29051 -(29051) found -[8763] Forked 29052 -[8762] Forked 29053 -(29052) found -(29053) found -[8761] Forked 29054 -[8760] Forked 29055 -(29054) found -(29055) found -[8759] Forked 29056 -[8758] Forked 29057 -(29056) found -(29057) found -[8757] Forked 29058 -[8756] Forked 29059 -(29058) found -(29059) found -[8755] Forked 29060 -[8754] Forked 29061 -(29060) found -(29061) found -[8753] Forked 29062 -[8752] Forked 29063 -(29062) found -(29063) found -[8751] Forked 29064 -[8750] Forked 29065 -(29064) found -(29065) found -[8749] Forked 29066 -[8748] Forked 29067 -(29066) found -(29067) found -[8747] Forked 29068 -[8746] Forked 29069 -(29068) found -(29069) found -[8745] Forked 29070 -[8744] Forked 29071 -(29070) found -(29071) found -[8743] Forked 29072 -[8742] Forked 29073 -(29072) found -(29073) found -[8741] Forked 29074 -[8740] Forked 29075 -(29074) found -(29075) found -[8739] Forked 29076 -[8738] Forked 29077 -(29076) found -(29077) found -[8737] Forked 29078 -[8736] Forked 29079 -(29078) found -(29079) found -[8735] Forked 29080 -[8734] Forked 29081 -(29080) found -(29081) found -[8733] Forked 29082 -[8732] Forked 29083 -(29082) found -(29083) found -[8731] Forked 29084 -[8730] Forked 29085 -(29084) found -(29085) found -[8729] Forked 29086 -[8728] Forked 29087 -(29086) found -(29087) found -[8727] Forked 29088 -[8726] Forked 29089 -(29088) found -(29089) found -[8725] Forked 29090 -[8724] Forked 29091 -(29090) found -(29091) found -[8723] Forked 29092 -[8722] Forked 29093 -(29092) found -(29093) found -[8721] Forked 29094 -[8720] Forked 29095 -(29094) found -(29095) found -[8719] Forked 29096 -[8718] Forked 29097 -(29096) found -(29097) found -[8717] Forked 29098 -[8716] Forked 29099 -(29098) found -(29099) found -[8715] Forked 29100 -[8714] Forked 29101 -(29100) found -(29101) found -[8713] Forked 29102 -[8712] Forked 29103 -(29102) found -(29103) found -[8711] Forked 29104 -[8710] Forked 29105 -(29104) found -(29105) found -[8709] Forked 29106 -[8708] Forked 29107 -(29106) found -(29107) found -[8707] Forked 29108 -[8706] Forked 29109 -(29108) found -(29109) found -[8705] Forked 29110 -[8704] Forked 29111 -(29110) found -(29111) found -[8703] Forked 29112 -[8702] Forked 29113 -(29112) found -(29113) found -[8701] Forked 29114 -[8700] Forked 29115 -(29114) found -(29115) found -[8699] Forked 29116 -[8698] Forked 29117 -(29116) found -(29117) found -[8697] Forked 29118 -[8696] Forked 29119 -(29118) found -(29119) found -[8695] Forked 29120 -[8694] Forked 29122 -(29120) found -(29122) found -[8693] Forked 29123 -(29123) found -[8692] Forked 29124 -(29124) found -[8691] Forked 29125 -(29125) found -[8690] Forked 29126 -(29126) found -[8689] Forked 29127 -(29127) found -[8688] Forked 29128 -(29128) found -[8687] Forked 29129 -(29129) found -[8686] Forked 29130 -(29130) found -[8685] Forked 29131 -(29131) found -[8684] Forked 29132 -(29132) found -[8683] Forked 29133 -(29133) found -[8682] Forked 29134 -(29134) found -[8681] Forked 29135 -(29135) found -[8680] Forked 29136 -(29136) found -[8679] Forked 29137 -(29137) found -[8678] Forked 29138 -(29138) found -[8677] Forked 29139 -(29139) found -[8676] Forked 29140 -(29140) found -[8675] Forked 29141 -(29141) found -[8674] Forked 29142 -(29142) found -[8673] Forked 29143 -(29143) found -[8672] Forked 29144 -(29144) found -[8671] Forked 29145 -(29145) found -[8670] Forked 29146 -(29146) found -[8669] Forked 29147 -(29147) found -[8668] Forked 29148 -(29148) found -[8667] Forked 29149 -(29149) found -[8666] Forked 29150 -(29150) found -[8665] Forked 29151 -(29151) found -[8664] Forked 29152 -(29152) found -[8663] Forked 29153 -(29153) found -[8662] Forked 29154 -(29154) found -[8661] Forked 29155 -(29155) found -[8660] Forked 29156 -(29156) found -[8659] Forked 29157 -(29157) found -[8658] Forked 29158 -(29158) found -[8657] Forked 29159 -(29159) found -[8656] Forked 29160 -(29160) found -[8655] Forked 29161 -(29161) found -[8654] Forked 29162 -(29162) found -[8653] Forked 29163 -(29163) found -[8652] Forked 29164 -(29164) found -[8651] Forked 29165 -(29165) found -[8650] Forked 29166 -(29166) found -[8649] Forked 29167 -(29167) found -[8648] Forked 29168 -(29168) found -[8647] Forked 29169 -(29169) found -[8646] Forked 29170 -(29170) found -[8645] Forked 29171 -(29171) found -[8644] Forked 29172 -(29172) found -[8643] Forked 29173 -(29173) found -[8642] Forked 29174 -[8641] Forked 29175 -(29174) found -(29175) found -[8640] Forked 29176 -[8639] Forked 29177 -(29176) found -(29177) found -[8638] Forked 29178 -[8637] Forked 29179 -(29178) found -(29179) found -[8636] Forked 29180 -[8635] Forked 29181 -(29180) found -(29181) found -[8634] Forked 29182 -[8633] Forked 29183 -(29182) found -(29183) found -[8632] Forked 29184 -[8631] Forked 29185 -(29184) found -(29185) found -[8630] Forked 29186 -[8629] Forked 29187 -(29186) found -(29187) found -[8628] Forked 29188 -[8627] Forked 29189 -(29188) found -(29189) found -[8626] Forked 29190 -[8625] Forked 29191 -(29190) found -(29191) found -[8624] Forked 29192 -[8623] Forked 29193 -(29192) found -(29193) found -[8622] Forked 29194 -[8621] Forked 29195 -(29194) found -(29195) found -[8620] Forked 29196 -[8619] Forked 29197 -(29196) found -(29197) found -[8618] Forked 29198 -[8617] Forked 29199 -(29198) found -(29199) found -[8616] Forked 29200 -[8615] Forked 29201 -(29200) found -(29201) found -[8614] Forked 29202 -[8613] Forked 29203 -(29202) found -(29203) found -[8612] Forked 29204 -[8611] Forked 29205 -(29204) found -(29205) found -[8610] Forked 29206 -[8609] Forked 29207 -(29206) found -(29207) found -[8608] Forked 29208 -[8607] Forked 29209 -(29208) found -(29209) found -[8606] Forked 29210 -[8605] Forked 29211 -(29210) found -(29211) found -[8604] Forked 29212 -[8603] Forked 29213 -(29212) found -(29213) found -[8602] Forked 29214 -[8601] Forked 29215 -(29214) found -(29215) found -[8600] Forked 29216 -[8599] Forked 29217 -(29216) found -(29217) found -[8598] Forked 29218 -[8597] Forked 29219 -(29218) found -(29219) found -[8596] Forked 29220 -[8595] Forked 29221 -(29220) found -(29221) found -[8594] Forked 29222 -[8593] Forked 29223 -(29222) found -(29223) found -[8592] Forked 29224 -[8591] Forked 29225 -(29224) found -(29225) found -[8590] Forked 29226 -[8589] Forked 29227 -(29226) found -(29227) found -[8588] Forked 29228 -[8587] Forked 29229 -(29228) found -(29229) found -[8586] Forked 29230 -[8585] Forked 29231 -(29230) found -(29231) found -[8584] Forked 29232 -[8583] Forked 29233 -(29232) found -(29233) found -[8582] Forked 29234 -[8581] Forked 29235 -(29234) found -(29235) found -[8580] Forked 29236 -[8579] Forked 29237 -(29236) found -(29237) found -[8578] Forked 29238 -[8577] Forked 29239 -(29238) found -(29239) found -[8576] Forked 29240 -[8575] Forked 29241 -(29240) found -(29241) found -[8574] Forked 29242 -[8573] Forked 29243 -(29242) found -(29243) found -[8572] Forked 29244 -[8571] Forked 29245 -(29244) found -(29245) found -[8570] Forked 29246 -[8569] Forked 29247 -(29246) found -(29247) found -[8568] Forked 29248 -[8567] Forked 29249 -(29248) found -(29249) found -[8566] Forked 29250 -[8565] Forked 29251 -(29250) found -(29251) found -[8564] Forked 29252 -[8563] Forked 29253 -(29252) found -(29253) found -[8562] Forked 29254 -[8561] Forked 29255 -(29254) found -(29255) found -[8560] Forked 29256 -[8559] Forked 29257 -(29256) found -(29257) found -[8558] Forked 29258 -[8557] Forked 29259 -(29258) found -(29259) found -[8556] Forked 29260 -[8555] Forked 29261 -(29260) found -(29261) found -[8554] Forked 29262 -[8553] Forked 29263 -(29262) found -(29263) found -[8552] Forked 29264 -[8551] Forked 29265 -(29264) found -(29265) found -[8550] Forked 29266 -(29266) found -[8549] Forked 29267 -(29267) found -[8548] Forked 29268 -(29268) found -[8547] Forked 29269 -(29269) found -[8546] Forked 29270 -(29270) found -[8545] Forked 29271 -(29271) found -[8544] Forked 29272 -(29272) found -[8543] Forked 29273 -(29273) found -[8542] Forked 29274 -(29274) found -[8541] Forked 29275 -(29275) found -[8540] Forked 29276 -(29276) found -[8539] Forked 29277 -(29277) found -[8538] Forked 29278 -(29278) found -[8537] Forked 29279 -(29279) found -[8536] Forked 29280 -(29280) found -[8535] Forked 29281 -(29281) found -[8534] Forked 29282 -(29282) found -[8533] Forked 29283 -(29283) found -[8532] Forked 29284 -(29284) found -[8531] Forked 29285 -(29285) found -[8530] Forked 29286 -(29286) found -[8529] Forked 29287 -(29287) found -[8528] Forked 29288 -(29288) found -[8527] Forked 29289 -(29289) found -[8526] Forked 29290 -(29290) found -[8525] Forked 29291 -(29291) found -[8524] Forked 29292 -(29292) found -[8523] Forked 29293 -(29293) found -[8522] Forked 29294 -(29294) found -[8521] Forked 29295 -(29295) found -[8520] Forked 29296 -(29296) found -[8519] Forked 29297 -(29297) found -[8518] Forked 29298 -(29298) found -[8517] Forked 29299 -(29299) found -[8516] Forked 29300 -(29300) found -[8515] Forked 29301 -(29301) found -[8514] Forked 29302 -[8513] Forked 29303 -(29302) found -(29303) found -[8512] Forked 29304 -[8511] Forked 29305 -(29304) found -(29305) found -[8510] Forked 29306 -[8509] Forked 29307 -(29306) found -(29307) found -[8508] Forked 29308 -[8507] Forked 29309 -(29308) found -(29309) found -[8506] Forked 29310 -[8505] Forked 29311 -(29310) found -(29311) found -[8504] Forked 29312 -[8503] Forked 29313 -(29312) found -(29313) found -[8502] Forked 29314 -[8501] Forked 29315 -(29314) found -(29315) found -[8500] Forked 29316 -(29316) found -[8499] Forked 29317 -[8498] Forked 29318 -(29317) found -(29318) found -[8497] Forked 29319 -[8496] Forked 29320 -(29319) found -(29320) found -[8495] Forked 29321 -[8494] Forked 29322 -(29321) found -(29322) found -[8493] Forked 29323 -[8492] Forked 29324 -(29323) found -(29324) found -[8491] Forked 29325 -[8490] Forked 29326 -(29325) found -(29326) found -[8489] Forked 29327 -[8488] Forked 29328 -(29327) found -(29328) found -[8487] Forked 29329 -[8486] Forked 29330 -(29329) found -(29330) found -[8485] Forked 29331 -[8484] Forked 29332 -(29331) found -(29332) found -[8483] Forked 29333 -[8482] Forked 29334 -(29333) found -(29334) found -[8481] Forked 29335 -[8480] Forked 29336 -(29335) found -(29336) found -[8479] Forked 29337 -[8478] Forked 29338 -(29337) found -(29338) found -[8477] Forked 29339 -[8476] Forked 29340 -(29339) found -(29340) found -[8475] Forked 29341 -[8474] Forked 29342 -(29341) found -(29342) found -[8473] Forked 29343 -[8472] Forked 29344 -(29343) found -(29344) found -[8471] Forked 29345 -[8470] Forked 29346 -(29345) found -(29346) found -[8469] Forked 29347 -[8468] Forked 29348 -(29347) found -(29348) found -[8467] Forked 29349 -[8466] Forked 29350 -(29349) found -(29350) found -[8465] Forked 29351 -[8464] Forked 29352 -(29351) found -(29352) found -[8463] Forked 29353 -[8462] Forked 29354 -(29353) found -(29354) found -[8461] Forked 29355 -[8460] Forked 29356 -(29355) found -(29356) found -[8459] Forked 29357 -[8458] Forked 29358 -(29357) found -(29358) found -[8457] Forked 29359 -[8456] Forked 29360 -(29359) found -(29360) found -[8455] Forked 29361 -[8454] Forked 29362 -(29361) found -(29362) found -[8453] Forked 29363 -[8452] Forked 29364 -(29363) found -(29364) found -[8451] Forked 29365 -[8450] Forked 29366 -(29365) found -(29366) found -[8449] Forked 29367 -[8448] Forked 29368 -(29367) found -(29368) found -[8447] Forked 29369 -[8446] Forked 29370 -(29369) found -(29370) found -[8445] Forked 29371 -[8444] Forked 29372 -(29371) found -(29372) found -[8443] Forked 29373 -[8442] Forked 29374 -(29373) found -(29374) found -[8441] Forked 29375 -[8440] Forked 29376 -(29375) found -(29376) found -[8439] Forked 29377 -[8438] Forked 29378 -(29377) found -(29378) found -[8437] Forked 29379 -[8436] Forked 29380 -(29379) found -(29380) found -[8435] Forked 29381 -[8434] Forked 29382 -(29381) found -(29382) found -[8433] Forked 29383 -[8432] Forked 29384 -(29383) found -(29384) found -[8431] Forked 29385 -[8430] Forked 29386 -(29385) found -(29386) found -[8429] Forked 29387 -[8428] Forked 29388 -(29387) found -(29388) found -[8427] Forked 29389 -[8426] Forked 29390 -(29389) found -(29390) found -[8425] Forked 29391 -[8424] Forked 29392 -(29391) found -(29392) found -[8423] Forked 29393 -[8422] Forked 29394 -(29393) found -(29394) found -[8421] Forked 29395 -[8420] Forked 29396 -(29395) found -(29396) found -[8419] Forked 29397 -[8418] Forked 29398 -(29397) found -(29398) found -[8417] Forked 29399 -[8416] Forked 29400 -(29399) found -(29400) found -[8415] Forked 29401 -[8414] Forked 29402 -(29401) found -(29402) found -[8413] Forked 29403 -[8412] Forked 29404 -(29403) found -(29404) found -[8411] Forked 29405 -[8410] Forked 29406 -(29405) found -(29406) found -[8409] Forked 29407 -[8408] Forked 29408 -(29407) found -(29408) found -[8407] Forked 29409 -[8406] Forked 29410 -(29409) found -(29410) found -[8405] Forked 29411 -[8404] Forked 29412 -(29411) found -(29412) found -[8403] Forked 29413 -[8402] Forked 29414 -(29413) found -(29414) found -[8401] Forked 29415 -[8400] Forked 29416 -(29415) found -(29416) found -[8399] Forked 29417 -[8398] Forked 29418 -(29417) found -(29418) found -[8397] Forked 29419 -[8396] Forked 29420 -(29419) found -(29420) found -[8395] Forked 29421 -[8394] Forked 29422 -(29421) found -(29422) found -[8393] Forked 29423 -[8392] Forked 29424 -(29423) found -(29424) found -[8391] Forked 29425 -[8390] Forked 29426 -(29425) found -(29426) found -[8389] Forked 29427 -[8388] Forked 29428 -(29427) found -(29428) found -[8387] Forked 29429 -[8386] Forked 29430 -(29429) found -(29430) found -[8385] Forked 29431 -[8384] Forked 29432 -(29431) found -(29432) found -[8383] Forked 29433 -[8382] Forked 29434 -(29433) found -(29434) found -[8381] Forked 29435 -(29435) found -[8380] Forked 29436 -(29436) found -[8379] Forked 29437 -(29437) found -[8378] Forked 29438 -(29438) found -[8377] Forked 29439 -(29439) found -[8376] Forked 29440 -(29440) found -[8375] Forked 29441 -(29441) found -[8374] Forked 29442 -(29442) found -[8373] Forked 29443 -(29443) found -[8372] Forked 29444 -(29444) found -[8371] Forked 29445 -(29445) found -[8370] Forked 29446 -(29446) found -[8369] Forked 29447 -(29447) found -[8368] Forked 29448 -(29448) found -[8367] Forked 29449 -(29449) found -[8366] Forked 29450 -(29450) found -[8365] Forked 29451 -(29451) found -[8364] Forked 29452 -(29452) found -[8363] Forked 29453 -(29453) found -[8362] Forked 29454 -(29454) found -[8361] Forked 29455 -(29455) found -[8360] Forked 29456 -(29456) found -[8359] Forked 29457 -(29457) found -[8358] Forked 29458 -(29458) found -[8357] Forked 29459 -(29459) found -[8356] Forked 29460 -(29460) found -[8355] Forked 29461 -(29461) found -[8354] Forked 29462 -(29462) found -[8353] Forked 29463 -(29463) found -[8352] Forked 29464 -(29464) found -[8351] Forked 29465 -(29465) found -[8350] Forked 29466 -(29466) found -[8349] Forked 29467 -(29467) found -[8348] Forked 29468 -(29468) found -[8347] Forked 29469 -(29469) found -[8346] Forked 29470 -(29470) found -[8345] Forked 29471 -(29471) found -[8344] Forked 29472 -(29472) found -[8343] Forked 29473 -[8342] Forked 29474 -(29473) found -(29474) found -[8341] Forked 29475 -[8340] Forked 29476 -(29475) found -(29476) found -[8339] Forked 29477 -[8338] Forked 29478 -(29477) found -(29478) found -[8337] Forked 29479 -[8336] Forked 29480 -(29479) found -(29480) found -[8335] Forked 29481 -[8334] Forked 29482 -(29481) found -(29482) found -[8333] Forked 29483 -[8332] Forked 29484 -(29483) found -(29484) found -[8331] Forked 29485 -[8330] Forked 29486 -(29485) found -(29486) found -[8329] Forked 29487 -[8328] Forked 29488 -(29487) found -(29488) found -[8327] Forked 29489 -[8326] Forked 29490 -(29489) found -(29490) found -[8325] Forked 29491 -[8324] Forked 29492 -(29491) found -(29492) found -[8323] Forked 29493 -[8322] Forked 29494 -(29493) found -(29494) found -[8321] Forked 29495 -[8320] Forked 29496 -(29495) found -(29496) found -[8319] Forked 29497 -[8318] Forked 29498 -(29497) found -(29498) found -[8317] Forked 29499 -[8316] Forked 29500 -(29499) found -(29500) found -[8315] Forked 29501 -[8314] Forked 29502 -(29501) found -(29502) found -[8313] Forked 29503 -[8312] Forked 29504 -(29503) found -(29504) found -[8311] Forked 29505 -[8310] Forked 29506 -(29505) found -(29506) found -[8309] Forked 29507 -[8308] Forked 29508 -(29507) found -(29508) found -[8307] Forked 29509 -[8306] Forked 29510 -(29509) found -(29510) found -[8305] Forked 29511 -[8304] Forked 29512 -(29511) found -(29512) found -[8303] Forked 29513 -[8302] Forked 29514 -(29513) found -(29514) found -[8301] Forked 29515 -[8300] Forked 29516 -(29515) found -(29516) found -[8299] Forked 29517 -(29517) found -[8298] Forked 29518 -(29518) found -[8297] Forked 29519 -(29519) found -[8296] Forked 29520 -(29520) found -[8295] Forked 29521 -(29521) found -[8294] Forked 29522 -(29522) found -[8293] Forked 29523 -(29523) found -[8292] Forked 29524 -(29524) found -[8291] Forked 29525 -(29525) found -[8290] Forked 29526 -(29526) found -[8289] Forked 29527 -(29527) found -[8288] Forked 29528 -(29528) found -[8287] Forked 29529 -(29529) found -[8286] Forked 29530 -(29530) found -[8285] Forked 29531 -(29531) found -[8284] Forked 29532 -(29532) found -[8283] Forked 29533 -(29533) found -[8282] Forked 29534 -(29534) found -[8281] Forked 29535 -(29535) found -[8280] Forked 29536 -(29536) found -[8279] Forked 29537 -(29537) found -[8278] Forked 29538 -(29538) found -[8277] Forked 29539 -(29539) found -[8276] Forked 29540 -(29540) found -[8275] Forked 29541 -(29541) found -[8274] Forked 29542 -(29542) found -[8273] Forked 29543 -(29543) found -[8272] Forked 29544 -(29544) found -[8271] Forked 29545 -(29545) found -[8270] Forked 29546 -(29546) found -[8269] Forked 29547 -(29547) found -[8268] Forked 29548 -(29548) found -[8267] Forked 29549 -(29549) found -[8266] Forked 29550 -(29550) found -[8265] Forked 29551 -(29551) found -[8264] Forked 29552 -(29552) found -[8263] Forked 29553 -(29553) found -[8262] Forked 29554 -(29554) found -[8261] Forked 29555 -(29555) found -[8260] Forked 29556 -[8259] Forked 29557 -(29556) found -(29557) found -[8258] Forked 29558 -[8257] Forked 29559 -(29558) found -(29559) found -[8256] Forked 29560 -[8255] Forked 29561 -(29560) found -(29561) found -[8254] Forked 29562 -[8253] Forked 29563 -(29562) found -(29563) found -[8252] Forked 29564 -[8251] Forked 29565 -(29564) found -(29565) found -[8250] Forked 29566 -[8249] Forked 29567 -(29566) found -(29567) found -[8248] Forked 29568 -[8247] Forked 29569 -(29568) found -(29569) found -[8246] Forked 29570 -[8245] Forked 29571 -(29570) found -(29571) found -[8244] Forked 29572 -[8243] Forked 29573 -(29572) found -(29573) found -[8242] Forked 29574 -[8241] Forked 29575 -(29574) found -(29575) found -[8240] Forked 29576 -[8239] Forked 29577 -(29576) found -(29577) found -[8238] Forked 29578 -[8237] Forked 29579 -(29578) found -(29579) found -[8236] Forked 29580 -[8235] Forked 29581 -(29580) found -(29581) found -[8234] Forked 29582 -[8233] Forked 29583 -(29582) found -(29583) found -[8232] Forked 29584 -[8231] Forked 29585 -(29584) found -(29585) found -[8230] Forked 29586 -[8229] Forked 29587 -(29586) found -(29587) found -[8228] Forked 29588 -[8227] Forked 29589 -(29588) found -(29589) found -[8226] Forked 29590 -[8225] Forked 29591 -(29590) found -(29591) found -[8224] Forked 29592 -[8223] Forked 29593 -(29592) found -(29593) found -[8222] Forked 29594 -(29594) found -[8221] Forked 29595 -[8220] Forked 29596 -(29595) found -(29596) found -[8219] Forked 29597 -[8218] Forked 29598 -(29597) found -(29598) found -[8217] Forked 29599 -(29599) found -[8216] Forked 29600 -(29600) found -[8215] Forked 29601 -(29601) found -[8214] Forked 29602 -(29602) found -[8213] Forked 29603 -(29603) found -[8212] Forked 29604 -(29604) found -[8211] Forked 29605 -(29605) found -[8210] Forked 29606 -(29606) found -[8209] Forked 29607 -(29607) found -[8208] Forked 29608 -(29608) found -[8207] Forked 29609 -(29609) found -[8206] Forked 29610 -(29610) found -[8205] Forked 29611 -(29611) found -[8204] Forked 29612 -(29612) found -[8203] Forked 29613 -(29613) found -[8202] Forked 29614 -(29614) found -[8201] Forked 29615 -(29615) found -[8200] Forked 29616 -(29616) found -[8199] Forked 29617 -(29617) found -[8198] Forked 29618 -(29618) found -[8197] Forked 29619 -(29619) found -[8196] Forked 29620 -(29620) found -[8195] Forked 29621 -(29621) found -[8194] Forked 29622 -(29622) found -[8193] Forked 29623 -(29623) found -[8192] Forked 29624 -(29624) found -[8191] Forked 29625 -(29625) found -[8190] Forked 29626 -(29626) found -[8189] Forked 29627 -(29627) found -[8188] Forked 29628 -(29628) found -[8187] Forked 29629 -(29629) found -[8186] Forked 29630 -(29630) found -[8185] Forked 29631 -(29631) found -[8184] Forked 29632 -(29632) found -[8183] Forked 29633 -(29633) found -[8182] Forked 29634 -(29634) found -[8181] Forked 29635 -(29635) found -[8180] Forked 29636 -(29636) found -[8179] Forked 29637 -(29637) found -[8178] Forked 29638 -[8177] Forked 29639 -(29638) found -(29639) found -[8176] Forked 29640 -[8175] Forked 29641 -(29640) found -(29641) found -[8174] Forked 29642 -[8173] Forked 29643 -(29642) found -(29643) found -[8172] Forked 29644 -[8171] Forked 29645 -(29644) found -(29645) found -[8170] Forked 29646 -[8169] Forked 29647 -(29646) found -(29647) found -[8168] Forked 29648 -[8167] Forked 29649 -(29648) found -(29649) found -[8166] Forked 29650 -[8165] Forked 29651 -(29650) found -(29651) found -[8164] Forked 29652 -[8163] Forked 29653 -(29652) found -(29653) found -[8162] Forked 29654 -[8161] Forked 29655 -(29654) found -(29655) found -[8160] Forked 29656 -[8159] Forked 29657 -(29656) found -(29657) found -[8158] Forked 29658 -[8157] Forked 29659 -(29658) found -(29659) found -[8156] Forked 29660 -[8155] Forked 29661 -(29660) found -(29661) found -[8154] Forked 29662 -[8153] Forked 29663 -(29662) found -(29663) found -[8152] Forked 29664 -[8151] Forked 29665 -(29665) found -(29664) found -[8150] Forked 29666 -(29666) found -[8149] Forked 29667 -(29667) found -[8148] Forked 29668 -(29668) found -[8147] Forked 29669 -(29669) found -[8146] Forked 29670 -(29670) found -[8145] Forked 29671 -(29671) found -[8144] Forked 29672 -(29672) found -[8143] Forked 29673 -(29673) found -[8142] Forked 29674 -(29674) found -[8141] Forked 29675 -(29675) found -[8140] Forked 29676 -(29676) found -[8139] Forked 29677 -(29677) found -[8138] Forked 29678 -(29678) found -[8137] Forked 29679 -(29679) found -[8136] Forked 29680 -(29680) found -[8135] Forked 29681 -(29681) found -[8134] Forked 29682 -(29682) found -[8133] Forked 29683 -(29683) found -[8132] Forked 29684 -(29684) found -[8131] Forked 29685 -(29685) found -[8130] Forked 29686 -(29686) found -[8129] Forked 29687 -(29687) found -[8128] Forked 29688 -(29688) found -[8127] Forked 29689 -(29689) found -[8126] Forked 29690 -(29690) found -[8125] Forked 29691 -(29691) found -[8124] Forked 29692 -(29692) found -[8123] Forked 29693 -(29693) found -[8122] Forked 29694 -(29694) found -[8121] Forked 29695 -(29695) found -[8120] Forked 29696 -(29696) found -[8119] Forked 29697 -(29697) found -[8118] Forked 29698 -(29698) found -[8117] Forked 29699 -(29699) found -[8116] Forked 29700 -(29700) found -[8115] Forked 29701 -(29701) found -[8114] Forked 29702 -(29702) found -[8113] Forked 29703 -(29703) found -[8112] Forked 29704 -(29704) found -[8111] Forked 29705 -(29705) found -[8110] Forked 29706 -(29706) found -[8109] Forked 29707 -(29707) found -[8108] Forked 29708 -(29708) found -[8107] Forked 29709 -(29709) found -[8106] Forked 29710 -(29710) found -[8105] Forked 29711 -(29711) found -[8104] Forked 29712 -(29712) found -[8103] Forked 29713 -(29713) found -[8102] Forked 29714 -[8101] Forked 29715 -(29714) found -(29715) found -[8100] Forked 29716 -[8099] Forked 29717 -(29716) found -(29717) found -[8098] Forked 29718 -[8097] Forked 29719 -(29718) found -(29719) found -[8096] Forked 29720 -[8095] Forked 29721 -(29720) found -(29721) found -[8094] Forked 29722 -[8093] Forked 29723 -(29722) found -(29723) found -[8092] Forked 29724 -[8091] Forked 29725 -(29724) found -(29725) found -[8090] Forked 29726 -[8089] Forked 29727 -(29726) found -(29727) found -[8088] Forked 29728 -[8087] Forked 29729 -(29728) found -(29729) found -[8086] Forked 29730 -[8085] Forked 29731 -(29730) found -(29731) found -[8084] Forked 29732 -[8083] Forked 29733 -(29732) found -(29733) found -[8082] Forked 29734 -[8081] Forked 29735 -(29734) found -(29735) found -[8080] Forked 29736 -[8079] Forked 29737 -(29737) found -(29736) found -[8078] Forked 29738 -(29738) found -[8077] Forked 29739 -(29739) found -[8076] Forked 29740 -(29740) found -[8075] Forked 29741 -(29741) found -[8074] Forked 29742 -(29742) found -[8073] Forked 29743 -(29743) found -[8072] Forked 29744 -(29744) found -[8071] Forked 29745 -(29745) found -[8070] Forked 29746 -(29746) found -[8069] Forked 29747 -(29747) found -[8068] Forked 29748 -(29748) found -[8067] Forked 29749 -(29749) found -[8066] Forked 29750 -(29750) found -[8065] Forked 29751 -(29751) found -[8064] Forked 29752 -(29752) found -[8063] Forked 29753 -(29753) found -[8062] Forked 29754 -(29754) found -[8061] Forked 29755 -(29755) found -[8060] Forked 29756 -(29756) found -[8059] Forked 29757 -(29757) found -[8058] Forked 29758 -(29758) found -[8057] Forked 29759 -(29759) found -[8056] Forked 29760 -(29760) found -[8055] Forked 29761 -(29761) found -[8054] Forked 29762 -(29762) found -[8053] Forked 29763 -(29763) found -[8052] Forked 29764 -(29764) found -[8051] Forked 29765 -(29765) found -[8050] Forked 29766 -(29766) found -[8049] Forked 29767 -(29767) found -[8048] Forked 29768 -(29768) found -[8047] Forked 29769 -(29769) found -[8046] Forked 29770 -(29770) found -[8045] Forked 29771 -(29771) found -[8044] Forked 29772 -(29772) found -[8043] Forked 29773 -(29773) found -[8042] Forked 29774 -(29774) found -[8041] Forked 29775 -(29775) found -[8040] Forked 29776 -(29776) found -[8039] Forked 29777 -(29777) found -[8038] Forked 29778 -(29778) found -[8037] Forked 29779 -(29779) found -[8036] Forked 29780 -(29780) found -[8035] Forked 29781 -(29781) found -[8034] Forked 29782 -(29782) found -[8033] Forked 29783 -(29783) found -[8032] Forked 29784 -(29784) found -[8031] Forked 29785 -(29785) found -[8030] Forked 29786 -(29786) found -[8029] Forked 29787 -(29787) found -[8028] Forked 29788 -(29788) found -[8027] Forked 29789 -[8026] Forked 29790 -(29789) found -(29790) found -[8025] Forked 29791 -[8024] Forked 29792 -(29791) found -(29792) found -[8023] Forked 29793 -[8022] Forked 29794 -(29793) found -(29794) found -[8021] Forked 29795 -[8020] Forked 29796 -(29795) found -(29796) found -[8019] Forked 29797 -[8018] Forked 29798 -(29797) found -(29798) found -[8017] Forked 29799 -[8016] Forked 29800 -(29799) found -(29800) found -[8015] Forked 29801 -[8014] Forked 29802 -(29801) found -(29802) found -[8013] Forked 29803 -[8012] Forked 29804 -(29803) found -(29804) found -[8011] Forked 29805 -[8010] Forked 29806 -(29805) found -(29806) found -[8009] Forked 29807 -[8008] Forked 29810 -(29807) found -(29810) found -[8007] Forked 29811 -[8006] Forked 29812 -(29811) found -(29812) found -[8005] Forked 29813 -[8004] Forked 29814 -(29813) found -(29814) found -[8003] Forked 29815 -[8002] Forked 29816 -(29815) found -(29816) found -[8001] Forked 29817 -[8000] Forked 29818 -(29817) found -(29818) found -[7999] Forked 29819 -[7998] Forked 29820 -(29819) found -(29820) found -[7997] Forked 29821 -[7996] Forked 29822 -(29821) found -(29822) found -[7995] Forked 29823 -[7994] Forked 29824 -(29823) found -(29824) found -[7993] Forked 29825 -[7992] Forked 29826 -(29825) found -(29826) found -[7991] Forked 29827 -[7990] Forked 29828 -(29827) found -(29828) found -[7989] Forked 29829 -[7988] Forked 29830 -(29829) found -(29830) found -[7987] Forked 29831 -[7986] Forked 29832 -(29831) found -(29832) found -[7985] Forked 29833 -[7984] Forked 29834 -(29833) found -(29834) found -[7983] Forked 29835 -(29835) found -[7982] Forked 29836 -(29836) found -[7981] Forked 29837 -(29837) found -[7980] Forked 29838 -(29838) found -[7979] Forked 29839 -(29839) found -[7978] Forked 29840 -(29840) found -[7977] Forked 29841 -(29841) found -[7976] Forked 29842 -(29842) found -[7975] Forked 29843 -(29843) found -[7974] Forked 29844 -(29844) found -[7973] Forked 29845 -(29845) found -[7972] Forked 29846 -(29846) found -[7971] Forked 29847 -(29847) found -[7970] Forked 29848 -(29848) found -[7969] Forked 29849 -(29849) found -[7968] Forked 29850 -(29850) found -[7967] Forked 29851 -(29851) found -[7966] Forked 29852 -(29852) found -[7965] Forked 29853 -(29853) found -[7964] Forked 29854 -(29854) found -[7963] Forked 29855 -(29855) found -[7962] Forked 29856 -(29856) found -[7961] Forked 29857 -(29857) found -[7960] Forked 29858 -(29858) found -[7959] Forked 29859 -(29859) found -[7958] Forked 29860 -(29860) found -[7957] Forked 29861 -(29861) found -[7956] Forked 29862 -(29862) found -[7955] Forked 29863 -(29863) found -[7954] Forked 29864 -(29864) found -[7953] Forked 29865 -(29865) found -[7952] Forked 29866 -(29866) found -[7951] Forked 29867 -(29867) found -[7950] Forked 29868 -(29868) found -[7949] Forked 29869 -(29869) found -[7948] Forked 29870 -(29870) found -[7947] Forked 29871 -(29871) found -[7946] Forked 29872 -(29872) found -[7945] Forked 29873 -[7944] Forked 29874 -(29873) found -(29874) found -[7943] Forked 29875 -[7942] Forked 29876 -(29875) found -(29876) found -[7941] Forked 29877 -[7940] Forked 29878 -(29877) found -(29878) found -[7939] Forked 29879 -[7938] Forked 29880 -(29879) found -(29880) found -[7937] Forked 29881 -[7936] Forked 29882 -(29881) found -(29882) found -[7935] Forked 29883 -[7934] Forked 29884 -(29883) found -(29884) found -[7933] Forked 29885 -[7932] Forked 29886 -(29885) found -(29886) found -[7931] Forked 29887 -[7930] Forked 29888 -(29887) found -(29888) found -[7929] Forked 29889 -[7928] Forked 29890 -(29889) found -(29890) found -[7927] Forked 29891 -[7926] Forked 29892 -(29891) found -(29892) found -[7925] Forked 29893 -[7924] Forked 29894 -(29893) found -(29894) found -[7923] Forked 29895 -[7922] Forked 29896 -(29895) found -(29896) found -[7921] Forked 29897 -[7920] Forked 29898 -(29897) found -(29898) found -[7919] Forked 29899 -[7918] Forked 29900 -(29899) found -(29900) found -[7917] Forked 29901 -[7916] Forked 29902 -(29901) found -(29902) found -[7915] Forked 29903 -[7914] Forked 29904 -(29903) found -(29904) found -[7913] Forked 29905 -[7912] Forked 29906 -(29905) found -(29906) found -[7911] Forked 29907 -[7910] Forked 29908 -(29907) found -(29908) found -[7909] Forked 29909 -[7908] Forked 29910 -(29909) found -(29910) found -[7907] Forked 29911 -[7906] Forked 29912 -(29911) found -(29912) found -[7905] Forked 29913 -[7904] Forked 29914 -(29913) found -(29914) found -[7903] Forked 29915 -[7902] Forked 29916 -(29915) found -(29916) found -[7901] Forked 29917 -(29917) found -[7900] Forked 29918 -(29918) found -[7899] Forked 29919 -(29919) found -[7898] Forked 29920 -(29920) found -[7897] Forked 29921 -(29921) found -[7896] Forked 29922 -(29922) found -[7895] Forked 29923 -(29923) found -[7894] Forked 29924 -(29924) found -[7893] Forked 29925 -(29925) found -[7892] Forked 29926 -(29926) found -[7891] Forked 29927 -(29927) found -[7890] Forked 29928 -(29928) found -[7889] Forked 29929 -(29929) found -[7888] Forked 29930 -(29930) found -[7887] Forked 29931 -(29931) found -[7886] Forked 29932 -(29932) found -[7885] Forked 29933 -(29933) found -[7884] Forked 29934 -(29934) found -[7883] Forked 29935 -(29935) found -[7882] Forked 29936 -(29936) found -[7881] Forked 29937 -(29937) found -[7880] Forked 29938 -(29938) found -[7879] Forked 29939 -(29939) found -[7878] Forked 29940 -(29940) found -[7877] Forked 29941 -(29941) found -[7876] Forked 29942 -(29942) found -[7875] Forked 29943 -(29943) found -[7874] Forked 29944 -(29944) found -[7873] Forked 29945 -(29945) found -[7872] Forked 29946 -(29946) found -[7871] Forked 29947 -(29947) found -[7870] Forked 29948 -(29948) found -[7869] Forked 29949 -(29949) found -[7868] Forked 29950 -(29950) found -[7867] Forked 29951 -(29951) found -[7866] Forked 29952 -(29952) found -[7865] Forked 29953 -(29953) found -[7864] Forked 29954 -(29954) found -[7863] Forked 29955 -(29955) found -[7862] Forked 29956 -[7861] Forked 29957 -(29956) found -(29957) found -[7860] Forked 29958 -[7859] Forked 29959 -(29958) found -(29959) found -[7858] Forked 29960 -[7857] Forked 29961 -(29960) found -(29961) found -[7856] Forked 29962 -[7855] Forked 29963 -(29962) found -(29963) found -[7854] Forked 29964 -[7853] Forked 29965 -(29964) found -(29965) found -[7852] Forked 29966 -[7851] Forked 29967 -(29966) found -(29967) found -[7850] Forked 29968 -[7849] Forked 29969 -(29968) found -(29969) found -[7848] Forked 29970 -[7847] Forked 29972 -(29970) found -(29972) found -[7846] Forked 29973 -[7845] Forked 29974 -(29973) found -(29974) found -[7844] Forked 29975 -[7843] Forked 29976 -(29975) found -(29976) found -[7842] Forked 29977 -[7841] Forked 29978 -(29977) found -(29978) found -[7840] Forked 29979 -[7839] Forked 29980 -(29979) found -(29980) found -[7838] Forked 29981 -[7837] Forked 29982 -(29981) found -(29982) found -[7836] Forked 29983 -[7835] Forked 29984 -(29983) found -(29984) found -[7834] Forked 29985 -[7833] Forked 29986 -(29985) found -(29986) found -[7832] Forked 29987 -[7831] Forked 29988 -(29987) found -(29988) found -[7830] Forked 29989 -[7829] Forked 29990 -(29989) found -(29990) found -[7828] Forked 29991 -[7827] Forked 29992 -(29992) found -(29991) found -[7826] Forked 29993 -(29993) found -[7825] Forked 29994 -(29994) found -[7824] Forked 29995 -(29995) found -[7823] Forked 29996 -(29996) found -[7822] Forked 29997 -(29997) found -[7821] Forked 29998 -(29998) found -[7820] Forked 29999 -(29999) found -[7819] Forked 30000 -(30000) found -[7818] Forked 30001 -(30001) found -[7817] Forked 30002 -(30002) found -[7816] Forked 30003 -(30003) found -[7815] Forked 30004 -(30004) found -[7814] Forked 30005 -(30005) found -[7813] Forked 30006 -(30006) found -[7812] Forked 30007 -(30007) found -[7811] Forked 30008 -(30008) found -[7810] Forked 30009 -(30009) found -[7809] Forked 30010 -(30010) found -[7808] Forked 30011 -(30011) found -[7807] Forked 30012 -(30012) found -[7806] Forked 30013 -(30013) found -[7805] Forked 30014 -(30014) found -[7804] Forked 30015 -(30015) found -[7803] Forked 30016 -(30016) found -[7802] Forked 30017 -(30017) found -[7801] Forked 30018 -(30018) found -[7800] Forked 30019 -(30019) found -[7799] Forked 30020 -(30020) found -[7798] Forked 30021 -(30021) found -[7797] Forked 30022 -(30022) found -[7796] Forked 30023 -(30023) found -[7795] Forked 30024 -(30024) found -[7794] Forked 30025 -(30025) found -[7793] Forked 30026 -(30026) found -[7792] Forked 30027 -(30027) found -[7791] Forked 30028 -(30028) found -[7790] Forked 30029 -(30029) found -[7789] Forked 30030 -(30030) found -[7788] Forked 30031 -(30031) found -[7787] Forked 30032 -(30032) found -[7786] Forked 30033 -(30033) found -[7785] Forked 30034 -(30034) found -[7784] Forked 30035 -(30035) found -[7783] Forked 30036 -(30036) found -[7782] Forked 30037 -(30037) found -[7781] Forked 30038 -(30038) found -[7780] Forked 30039 -(30039) found -[7779] Forked 30040 -(30040) found -[7778] Forked 30041 -(30041) found -[7777] Forked 30042 -(30042) found -[7776] Forked 30043 -(30043) found -[7775] Forked 30044 -(30044) found -[7774] Forked 30045 -(30045) found -[7773] Forked 30046 -(30046) found -[7772] Forked 30047 -(30047) found -[7771] Forked 30048 -(30048) found -[7770] Forked 30049 -(30049) found -[7769] Forked 30050 -(30050) found -[7768] Forked 30051 -(30051) found -[7767] Forked 30052 -(30052) found -[7766] Forked 30053 -(30053) found -[7765] Forked 30054 -(30054) found -[7764] Forked 30055 -(30055) found -[7763] Forked 30056 -(30056) found -[7762] Forked 30057 -(30057) found -[7761] Forked 30058 -(30058) found -[7760] Forked 30059 -(30059) found -[7759] Forked 30060 -(30060) found -[7758] Forked 30061 -(30061) found -[7757] Forked 30062 -(30062) found -[7756] Forked 30063 -(30063) found -[7755] Forked 30064 -[7754] Forked 30065 -(30064) found -(30065) found -[7753] Forked 30066 -[7752] Forked 30067 -(30066) found -(30067) found -[7751] Forked 30068 -[7750] Forked 30069 -(30068) found -(30069) found -[7749] Forked 30070 -[7748] Forked 30071 -(30070) found -(30071) found -[7747] Forked 30072 -[7746] Forked 30073 -(30072) found -(30073) found -[7745] Forked 30074 -[7744] Forked 30075 -(30074) found -(30075) found -[7743] Forked 30076 -[7742] Forked 30077 -(30076) found -(30077) found -[7741] Forked 30078 -[7740] Forked 30079 -(30078) found -(30079) found -[7739] Forked 30080 -[7738] Forked 30081 -(30080) found -(30081) found -[7737] Forked 30083 -[7736] Forked 30084 -(30083) found -(30084) found -[7735] Forked 30085 -[7734] Forked 30086 -(30085) found -(30086) found -[7733] Forked 30087 -[7732] Forked 30088 -(30087) found -(30088) found -[7731] Forked 30089 -[7730] Forked 30090 -(30089) found -(30090) found -[7729] Forked 30091 -[7728] Forked 30092 -(30091) found -(30092) found -[7727] Forked 30093 -[7726] Forked 30094 -(30093) found -(30094) found -[7725] Forked 30095 -[7724] Forked 30096 -(30095) found -(30096) found -[7723] Forked 30097 -[7722] Forked 30098 -(30097) found -(30098) found -[7721] Forked 30099 -[7720] Forked 30100 -(30099) found -(30100) found -[7719] Forked 30101 -[7718] Forked 30102 -(30101) found -(30102) found -[7717] Forked 30103 -[7716] Forked 30104 -(30103) found -(30104) found -[7715] Forked 30105 -[7714] Forked 30106 -(30105) found -(30106) found -[7713] Forked 30107 -[7712] Forked 30108 -(30107) found -(30108) found -[7711] Forked 30109 -[7710] Forked 30110 -(30109) found -(30110) found -[7709] Forked 30111 -(30111) found -[7708] Forked 30112 -(30112) found -[7707] Forked 30113 -(30113) found -[7706] Forked 30114 -(30114) found -[7705] Forked 30115 -(30115) found -[7704] Forked 30116 -(30116) found -[7703] Forked 30117 -(30117) found -[7702] Forked 30118 -(30118) found -[7701] Forked 30119 -(30119) found -[7700] Forked 30120 -(30120) found -[7699] Forked 30121 -(30121) found -[7698] Forked 30122 -(30122) found -[7697] Forked 30123 -(30123) found -[7696] Forked 30124 -(30124) found -[7695] Forked 30125 -(30125) found -[7694] Forked 30126 -(30126) found -[7693] Forked 30127 -(30127) found -[7692] Forked 30128 -(30128) found -[7691] Forked 30129 -(30129) found -[7690] Forked 30130 -(30130) found -[7689] Forked 30131 -(30131) found -[7688] Forked 30132 -(30132) found -[7687] Forked 30133 -(30133) found -[7686] Forked 30134 -(30134) found -[7685] Forked 30135 -(30135) found -[7684] Forked 30136 -(30136) found -[7683] Forked 30137 -(30137) found -[7682] Forked 30138 -(30138) found -[7681] Forked 30139 -(30139) found -[7680] Forked 30140 -(30140) found -[7679] Forked 30141 -(30141) found -[7678] Forked 30142 -(30142) found -[7677] Forked 30143 -(30143) found -[7676] Forked 30144 -(30144) found -[7675] Forked 30145 -[7674] Forked 30146 -(30145) found -(30146) found -[7673] Forked 30147 -[7672] Forked 30148 -(30148) found -(30147) found -[7671] Forked 30149 -(30149) found -[7670] Forked 30150 -(30150) found -[7669] Forked 30151 -(30151) found -[7668] Forked 30152 -(30152) found -[7667] Forked 30153 -(30153) found -[7666] Forked 30154 -(30154) found -[7665] Forked 30155 -(30155) found -[7664] Forked 30156 -(30156) found -[7663] Forked 30157 -(30157) found -[7662] Forked 30158 -(30158) found -[7661] Forked 30159 -(30159) found -[7660] Forked 30160 -(30160) found -[7659] Forked 30161 -(30161) found -[7658] Forked 30162 -(30162) found -[7657] Forked 30163 -(30163) found -[7656] Forked 30164 -(30164) found -[7655] Forked 30165 -(30165) found -[7654] Forked 30166 -(30166) found -[7653] Forked 30167 -(30167) found -[7652] Forked 30168 -(30168) found -[7651] Forked 30169 -(30169) found -[7650] Forked 30170 -(30170) found -[7649] Forked 30171 -(30171) found -[7648] Forked 30172 -(30172) found -[7647] Forked 30173 -(30173) found -[7646] Forked 30174 -(30174) found -[7645] Forked 30175 -(30175) found -[7644] Forked 30176 -(30176) found -[7643] Forked 30177 -(30177) found -[7642] Forked 30178 -(30178) found -[7641] Forked 30179 -(30179) found -[7640] Forked 30180 -(30180) found -[7639] Forked 30181 -(30181) found -[7638] Forked 30182 -(30182) found -[7637] Forked 30183 -(30183) found -[7636] Forked 30184 -(30184) found -[7635] Forked 30185 -(30185) found -[7634] Forked 30186 -(30186) found -[7633] Forked 30187 -(30187) found -[7632] Forked 30188 -(30188) found -[7631] Forked 30189 -(30189) found -[7630] Forked 30190 -(30190) found -[7629] Forked 30191 -(30191) found -[7628] Forked 30192 -(30192) found -[7627] Forked 30193 -(30193) found -[7626] Forked 30194 -(30194) found -[7625] Forked 30195 -(30195) found -[7624] Forked 30196 -(30196) found -[7623] Forked 30197 -(30197) found -[7622] Forked 30198 -(30198) found -[7621] Forked 30199 -(30199) found -[7620] Forked 30200 -(30200) found -[7619] Forked 30201 -(30201) found -[7618] Forked 30202 -(30202) found -[7617] Forked 30203 -(30203) found -[7616] Forked 30204 -(30204) found -[7615] Forked 30205 -(30205) found -[7614] Forked 30206 -(30206) found -[7613] Forked 30207 -(30207) found -[7612] Forked 30208 -(30208) found -[7611] Forked 30209 -(30209) found -[7610] Forked 30210 -(30210) found -[7609] Forked 30211 -(30211) found -[7608] Forked 30212 -(30212) found -[7607] Forked 30213 -(30213) found -[7606] Forked 30214 -(30214) found -[7605] Forked 30215 -(30215) found -[7604] Forked 30216 -(30216) found -[7603] Forked 30217 -(30217) found -[7602] Forked 30218 -(30218) found -[7601] Forked 30219 -(30219) found -[7600] Forked 30220 -(30220) found -[7599] Forked 30221 -(30221) found -[7598] Forked 30222 -(30222) found -[7597] Forked 30223 -(30223) found -[7596] Forked 30224 -(30224) found -[7595] Forked 30225 -(30225) found -[7594] Forked 30226 -(30226) found -[7593] Forked 30227 -(30227) found -[7592] Forked 30228 -(30228) found -[7591] Forked 30229 -(30229) found -[7590] Forked 30230 -(30230) found -[7589] Forked 30231 -(30231) found -[7588] Forked 30232 -(30232) found -[7587] Forked 30233 -(30233) found -[7586] Forked 30234 -(30234) found -[7585] Forked 30235 -(30235) found -[7584] Forked 30236 -(30236) found -[7583] Forked 30237 -(30237) found -[7582] Forked 30238 -(30238) found -[7581] Forked 30239 -(30239) found -[7580] Forked 30240 -(30240) found -[7579] Forked 30241 -(30241) found -[7578] Forked 30242 -(30242) found -[7577] Forked 30243 -(30243) found -[7576] Forked 30244 -(30244) found -[7575] Forked 30245 -(30245) found -[7574] Forked 30246 -(30246) found -[7573] Forked 30247 -(30247) found -[7572] Forked 30248 -(30248) found -[7571] Forked 30249 -(30249) found -[7570] Forked 30250 -(30250) found -[7569] Forked 30251 -(30251) found -[7568] Forked 30252 -(30252) found -[7567] Forked 30253 -(30253) found -[7566] Forked 30254 -(30254) found -[7565] Forked 30255 -(30255) found -[7564] Forked 30256 -(30256) found -[7563] Forked 30257 -(30257) found -[7562] Forked 30258 -(30258) found -[7561] Forked 30259 -(30259) found -[7560] Forked 30260 -(30260) found -[7559] Forked 30261 -(30261) found -[7558] Forked 30262 -(30262) found -[7557] Forked 30263 -(30263) found -[7556] Forked 30264 -(30264) found -[7555] Forked 30265 -(30265) found -[7554] Forked 30266 -(30266) found -[7553] Forked 30267 -(30267) found -[7552] Forked 30268 -(30268) found -[7551] Forked 30269 -(30269) found -[7550] Forked 30270 -(30270) found -[7549] Forked 30271 -(30271) found -[7548] Forked 30272 -(30272) found -[7547] Forked 30273 -(30273) found -[7546] Forked 30274 -(30274) found -[7545] Forked 30275 -(30275) found -[7544] Forked 30276 -(30276) found -[7543] Forked 30277 -(30277) found -[7542] Forked 30278 -(30278) found -[7541] Forked 30279 -(30279) found -[7540] Forked 30280 -(30280) found -[7539] Forked 30281 -[7538] Forked 30282 -(30281) found -(30282) found -[7537] Forked 30283 -[7536] Forked 30284 -(30283) found -(30284) found -[7535] Forked 30285 -[7534] Forked 30286 -(30285) found -(30286) found -[7533] Forked 30287 -[7532] Forked 30288 -(30287) found -(30288) found -[7531] Forked 30289 -[7530] Forked 30290 -(30290) found -(30289) found -[7529] Forked 30291 -(30291) found -[7528] Forked 30292 -(30292) found -[7527] Forked 30293 -(30293) found -[7526] Forked 30294 -(30294) found -[7525] Forked 30295 -(30295) found -[7524] Forked 30296 -(30296) found -[7523] Forked 30297 -(30297) found -[7522] Forked 30298 -(30298) found -[7521] Forked 30299 -(30299) found -[7520] Forked 30300 -(30300) found -[7519] Forked 30301 -(30301) found -[7518] Forked 30302 -(30302) found -[7517] Forked 30303 -(30303) found -[7516] Forked 30304 -(30304) found -[7515] Forked 30305 -(30305) found -[7514] Forked 30306 -(30306) found -[7513] Forked 30307 -(30307) found -[7512] Forked 30308 -(30308) found -[7511] Forked 30309 -(30309) found -[7510] Forked 30310 -(30310) found -[7509] Forked 30311 -(30311) found -[7508] Forked 30312 -(30312) found -[7507] Forked 30313 -(30313) found -[7506] Forked 30314 -(30314) found -[7505] Forked 30315 -(30315) found -[7504] Forked 30316 -(30316) found -[7503] Forked 30317 -(30317) found -[7502] Forked 30318 -(30318) found -[7501] Forked 30319 -(30319) found -[7500] Forked 30320 -(30320) found -[7499] Forked 30321 -(30321) found -[7498] Forked 30322 -(30322) found -[7497] Forked 30323 -(30323) found -[7496] Forked 30324 -(30324) found -[7495] Forked 30325 -(30325) found -[7494] Forked 30326 -(30326) found -[7493] Forked 30327 -(30327) found -[7492] Forked 30328 -(30328) found -[7491] Forked 30329 -(30329) found -[7490] Forked 30330 -(30330) found -[7489] Forked 30331 -(30331) found -[7488] Forked 30332 -(30332) found -[7487] Forked 30333 -(30333) found -[7486] Forked 30334 -(30334) found -[7485] Forked 30335 -(30335) found -[7484] Forked 30336 -(30336) found -[7483] Forked 30337 -(30337) found -[7482] Forked 30338 -(30338) found -[7481] Forked 30339 -(30339) found -[7480] Forked 30340 -(30340) found -[7479] Forked 30341 -(30341) found -[7478] Forked 30342 -(30342) found -[7477] Forked 30343 -(30343) found -[7476] Forked 30344 -(30344) found -[7475] Forked 30345 -(30345) found -[7474] Forked 30346 -(30346) found -[7473] Forked 30347 -(30347) found -[7472] Forked 30348 -(30348) found -[7471] Forked 30349 -(30349) found -[7470] Forked 30350 -(30350) found -[7469] Forked 30351 -(30351) found -[7468] Forked 30352 -(30352) found -[7467] Forked 30353 -(30353) found -[7466] Forked 30354 -[7465] Forked 30355 -(30354) found -(30355) found -[7464] Forked 30356 -[7463] Forked 30357 -(30356) found -(30357) found -[7462] Forked 30358 -[7461] Forked 30359 -(30358) found -(30359) found -[7460] Forked 30360 -[7459] Forked 30361 -(30360) found -(30361) found -[7458] Forked 30362 -[7457] Forked 30363 -(30362) found -(30363) found -[7456] Forked 30364 -[7455] Forked 30365 -(30364) found -(30365) found -[7454] Forked 30366 -[7453] Forked 30367 -(30366) found -(30367) found -[7452] Forked 30368 -[7451] Forked 30369 -(30368) found -(30369) found -[7450] Forked 30370 -[7449] Forked 30371 -(30370) found -(30371) found -[7448] Forked 30372 -[7447] Forked 30373 -(30372) found -(30373) found -[7446] Forked 30374 -[7445] Forked 30375 -(30374) found -(30375) found -[7444] Forked 30376 -[7443] Forked 30377 -(30376) found -(30377) found -[7442] Forked 30378 -[7441] Forked 30379 -(30378) found -(30379) found -[7440] Forked 30380 -[7439] Forked 30381 -(30380) found -(30381) found -[7438] Forked 30382 -[7437] Forked 30383 -(30382) found -(30383) found -[7436] Forked 30384 -[7435] Forked 30385 -(30384) found -(30385) found -[7434] Forked 30386 -[7433] Forked 30387 -(30386) found -(30387) found -[7432] Forked 30388 -[7431] Forked 30389 -(30388) found -(30389) found -[7430] Forked 30390 -[7429] Forked 30391 -(30390) found -(30391) found -[7428] Forked 30392 -[7427] Forked 30393 -(30392) found -(30393) found -[7426] Forked 30394 -[7425] Forked 30395 -(30394) found -(30395) found -[7424] Forked 30396 -[7423] Forked 30397 -(30396) found -(30397) found -[7422] Forked 30398 -[7421] Forked 30399 -(30398) found -(30399) found -[7420] Forked 30400 -(30400) found -[7419] Forked 30401 -(30401) found -[7418] Forked 30402 -(30402) found -[7417] Forked 30403 -(30403) found -[7416] Forked 30404 -(30404) found -[7415] Forked 30405 -(30405) found -[7414] Forked 30406 -(30406) found -[7413] Forked 30407 -(30407) found -[7412] Forked 30408 -(30408) found -[7411] Forked 30409 -(30409) found -[7410] Forked 30410 -(30410) found -[7409] Forked 30411 -(30411) found -[7408] Forked 30412 -(30412) found -[7407] Forked 30413 -(30413) found -[7406] Forked 30414 -(30414) found -[7405] Forked 30415 -(30415) found -[7404] Forked 30416 -(30416) found -[7403] Forked 30417 -(30417) found -[7402] Forked 30418 -(30418) found -[7401] Forked 30419 -(30419) found -[7400] Forked 30420 -(30420) found -[7399] Forked 30421 -(30421) found -[7398] Forked 30422 -(30422) found -[7397] Forked 30423 -(30423) found -[7396] Forked 30424 -(30424) found -[7395] Forked 30425 -(30425) found -[7394] Forked 30426 -(30426) found -[7393] Forked 30427 -(30427) found -[7392] Forked 30428 -(30428) found -[7391] Forked 30429 -(30429) found -[7390] Forked 30430 -(30430) found -[7389] Forked 30431 -(30431) found -[7388] Forked 30432 -(30432) found -[7387] Forked 30433 -(30433) found -[7386] Forked 30434 -[7385] Forked 30435 -(30434) found -(30435) found -[7384] Forked 30436 -[7383] Forked 30437 -(30436) found -(30437) found -[7382] Forked 30438 -[7381] Forked 30439 -(30438) found -(30439) found -[7380] Forked 30440 -[7379] Forked 30441 -(30440) found -(30441) found -[7378] Forked 30442 -[7377] Forked 30443 -(30442) found -(30443) found -[7376] Forked 30444 -[7375] Forked 30445 -(30444) found -(30445) found -[7374] Forked 30446 -[7373] Forked 30447 -(30446) found -(30447) found -[7372] Forked 30448 -[7371] Forked 30449 -(30448) found -(30449) found -[7370] Forked 30450 -[7369] Forked 30451 -(30450) found -(30451) found -[7368] Forked 30452 -[7367] Forked 30453 -(30452) found -(30453) found -[7366] Forked 30454 -[7365] Forked 30455 -(30454) found -(30455) found -[7364] Forked 30456 -[7363] Forked 30457 -(30456) found -(30457) found -[7362] Forked 30458 -[7361] Forked 30459 -(30458) found -(30459) found -[7360] Forked 30460 -[7359] Forked 30461 -(30460) found -(30461) found -[7358] Forked 30462 -[7357] Forked 30463 -(30462) found -(30463) found -[7356] Forked 30464 -[7355] Forked 30465 -(30464) found -(30465) found -[7354] Forked 30466 -[7353] Forked 30467 -(30466) found -(30467) found -[7352] Forked 30468 -[7351] Forked 30469 -(30468) found -(30469) found -[7350] Forked 30470 -[7349] Forked 30471 -(30470) found -(30471) found -[7348] Forked 30472 -[7347] Forked 30473 -(30472) found -(30473) found -[7346] Forked 30474 -[7345] Forked 30475 -(30474) found -(30475) found -[7344] Forked 30476 -[7343] Forked 30477 -(30476) found -(30477) found -[7342] Forked 30478 -[7341] Forked 30479 -(30478) found -(30479) found -[7340] Forked 30480 -[7339] Forked 30481 -(30480) found -(30481) found -[7338] Forked 30482 -[7337] Forked 30483 -(30482) found -(30483) found -[7336] Forked 30484 -[7335] Forked 30485 -(30484) found -(30485) found -[7334] Forked 30486 -[7333] Forked 30487 -(30486) found -(30487) found -[7332] Forked 30488 -[7331] Forked 30489 -(30488) found -(30489) found -[7330] Forked 30490 -[7329] Forked 30491 -(30490) found -(30491) found -[7328] Forked 30492 -[7327] Forked 30493 -(30492) found -(30493) found -[7326] Forked 30494 -[7325] Forked 30495 -(30494) found -(30495) found -[7324] Forked 30496 -[7323] Forked 30497 -(30496) found -(30497) found -[7322] Forked 30498 -[7321] Forked 30499 -(30498) found -(30499) found -[7320] Forked 30500 -[7319] Forked 30501 -(30500) found -(30501) found -[7318] Forked 30502 -[7317] Forked 30503 -(30502) found -(30503) found -[7316] Forked 30504 -[7315] Forked 30505 -(30504) found -(30505) found -[7314] Forked 30506 -[7313] Forked 30507 -(30506) found -(30507) found -[7312] Forked 30509 -(30509) found -[7311] Forked 30510 -(30510) found -[7310] Forked 30511 -[7309] Forked 30512 -(30511) found -(30512) found -[7308] Forked 30513 -[7307] Forked 30515 -(30513) found -(30515) found -[7306] Forked 30516 -[7305] Forked 30517 -(30516) found -(30517) found -[7304] Forked 30518 -[7303] Forked 30519 -(30518) found -(30519) found -[7302] Forked 30521 -[7301] Forked 30522 -(30521) found -(30522) found -[7300] Forked 30523 -[7299] Forked 30524 -(30523) found -(30524) found -[7298] Forked 30525 -[7297] Forked 30526 -(30525) found -(30526) found -[7296] Forked 30528 -(30528) found -[7295] Forked 30529 -(30529) found -[7294] Forked 30530 -(30530) found -[7293] Forked 30531 -(30531) found -[7292] Forked 30532 -(30532) found -[7291] Forked 30534 -(30534) found -[7290] Forked 30535 -(30535) found -[7289] Forked 30536 -(30536) found -[7288] Forked 30537 -(30537) found -[7287] Forked 30538 -(30538) found -[7286] Forked 30540 -(30540) found -[7285] Forked 30541 -(30541) found -[7284] Forked 30542 -(30542) found -[7283] Forked 30543 -(30543) found -[7282] Forked 30544 -(30544) found -[7281] Forked 30545 -(30545) found -[7280] Forked 30546 -(30546) found -[7279] Forked 30547 -(30547) found -[7278] Forked 30548 -(30548) found -[7277] Forked 30549 -(30549) found -[7276] Forked 30550 -(30550) found -[7275] Forked 30551 -(30551) found -[7274] Forked 30552 -(30552) found -[7273] Forked 30553 -(30553) found -[7272] Forked 30554 -(30554) found -[7271] Forked 30555 -(30555) found -[7270] Forked 30556 -(30556) found -[7269] Forked 30557 -(30557) found -[7268] Forked 30558 -(30558) found -[7267] Forked 30559 -(30559) found -[7266] Forked 30560 -(30560) found -[7265] Forked 30561 -(30561) found -[7264] Forked 30562 -(30562) found -[7263] Forked 30563 -(30563) found -[7262] Forked 30564 -(30564) found -[7261] Forked 30565 -(30565) found -[7260] Forked 30566 -(30566) found -[7259] Forked 30567 -(30567) found -[7258] Forked 30568 -(30568) found -[7257] Forked 30569 -(30569) found -[7256] Forked 30570 -(30570) found -[7255] Forked 30571 -(30571) found -[7254] Forked 30572 -(30572) found -[7253] Forked 30573 -(30573) found -[7252] Forked 30574 -(30574) found -[7251] Forked 30575 -(30575) found -[7250] Forked 30576 -(30576) found -[7249] Forked 30577 -(30577) found -[7248] Forked 30578 -(30578) found -[7247] Forked 30579 -(30579) found -[7246] Forked 30580 -(30580) found -[7245] Forked 30581 -(30581) found -[7244] Forked 30582 -(30582) found -[7243] Forked 30583 -(30583) found -[7242] Forked 30584 -(30584) found -[7241] Forked 30585 -(30585) found -[7240] Forked 30586 -(30586) found -[7239] Forked 30587 -(30587) found -[7238] Forked 30588 -(30588) found -[7237] Forked 30589 -(30589) found -[7236] Forked 30590 -(30590) found -[7235] Forked 30591 -(30591) found -[7234] Forked 30592 -(30592) found -[7233] Forked 30593 -(30593) found -[7232] Forked 30594 -(30594) found -[7231] Forked 30595 -(30595) found -[7230] Forked 30596 -(30596) found -[7229] Forked 30597 -(30597) found -[7228] Forked 30598 -(30598) found -[7227] Forked 30599 -(30599) found -[7226] Forked 30600 -(30600) found -[7225] Forked 30601 -(30601) found -[7224] Forked 30602 -(30602) found -[7223] Forked 30603 -(30603) found -[7222] Forked 30604 -(30604) found -[7221] Forked 30605 -(30605) found -[7220] Forked 30606 -[7219] Forked 30607 -(30606) found -(30607) found -[7218] Forked 30608 -[7217] Forked 30609 -(30608) found -(30609) found -[7216] Forked 30610 -[7215] Forked 30611 -(30610) found -(30611) found -[7214] Forked 30612 -[7213] Forked 30613 -(30612) found -(30613) found -[7212] Forked 30614 -[7211] Forked 30615 -(30614) found -(30615) found -[7210] Forked 30616 -[7209] Forked 30617 -(30616) found -(30617) found -[7208] Forked 30618 -[7207] Forked 30619 -(30618) found -(30619) found -[7206] Forked 30620 -[7205] Forked 30621 -(30620) found -(30621) found -[7204] Forked 30622 -[7203] Forked 30623 -(30622) found -(30623) found -[7202] Forked 30624 -[7201] Forked 30625 -(30624) found -(30625) found -[7200] Forked 30626 -[7199] Forked 30627 -(30627) found -(30626) found -[7198] Forked 30628 -(30628) found -[7197] Forked 30629 -(30629) found -[7196] Forked 30630 -(30630) found -[7195] Forked 30631 -(30631) found -[7194] Forked 30632 -(30632) found -[7193] Forked 30633 -(30633) found -[7192] Forked 30634 -(30634) found -[7191] Forked 30635 -(30635) found -[7190] Forked 30636 -(30636) found -[7189] Forked 30637 -(30637) found -[7188] Forked 30638 -(30638) found -[7187] Forked 30639 -(30639) found -[7186] Forked 30640 -(30640) found -[7185] Forked 30641 -(30641) found -[7184] Forked 30642 -(30642) found -[7183] Forked 30643 -(30643) found -[7182] Forked 30644 -(30644) found -[7181] Forked 30645 -(30645) found -[7180] Forked 30646 -(30646) found -[7179] Forked 30647 -(30647) found -[7178] Forked 30648 -(30648) found -[7177] Forked 30649 -(30649) found -[7176] Forked 30650 -(30650) found -[7175] Forked 30651 -(30651) found -[7174] Forked 30652 -(30652) found -[7173] Forked 30653 -(30653) found -[7172] Forked 30654 -(30654) found -[7171] Forked 30655 -(30655) found -[7170] Forked 30656 -(30656) found -[7169] Forked 30657 -(30657) found -[7168] Forked 30658 -(30658) found -[7167] Forked 30659 -(30659) found -[7166] Forked 30660 -(30660) found -[7165] Forked 30661 -(30661) found -[7164] Forked 30662 -(30662) found -[7163] Forked 30663 -(30663) found -[7162] Forked 30664 -(30664) found -[7161] Forked 30665 -(30665) found -[7160] Forked 30666 -(30666) found -[7159] Forked 30667 -(30667) found -[7158] Forked 30668 -(30668) found -[7157] Forked 30669 -(30669) found -[7156] Forked 30670 -(30670) found -[7155] Forked 30671 -(30671) found -[7154] Forked 30672 -(30672) found -[7153] Forked 30673 -(30673) found -[7152] Forked 30674 -(30674) found -[7151] Forked 30675 -(30675) found -[7150] Forked 30676 -(30676) found -[7149] Forked 30677 -(30677) found -[7148] Forked 30678 -[7147] Forked 30679 -(30678) found -(30679) found -[7146] Forked 30680 -[7145] Forked 30681 -(30680) found -(30681) found -[7144] Forked 30682 -[7143] Forked 30683 -(30682) found -(30683) found -[7142] Forked 30684 -[7141] Forked 30685 -(30684) found -(30685) found -[7140] Forked 30686 -[7139] Forked 30687 -(30686) found -(30687) found -[7138] Forked 30688 -[7137] Forked 30689 -(30688) found -(30689) found -[7136] Forked 30690 -[7135] Forked 30691 -(30690) found -(30691) found -[7134] Forked 30692 -[7133] Forked 30693 -(30692) found -(30693) found -[7132] Forked 30694 -[7131] Forked 30695 -(30694) found -(30695) found -[7130] Forked 30696 -[7129] Forked 30697 -(30696) found -(30697) found -[7128] Forked 30698 -[7127] Forked 30699 -(30698) found -(30699) found -[7126] Forked 30700 -[7125] Forked 30701 -(30700) found -(30701) found -[7124] Forked 30702 -[7123] Forked 30703 -(30702) found -(30703) found -[7122] Forked 30704 -[7121] Forked 30705 -(30704) found -(30705) found -[7120] Forked 30706 -[7119] Forked 30707 -(30706) found -(30707) found -[7118] Forked 30708 -[7117] Forked 30709 -(30708) found -(30709) found -[7116] Forked 30710 -[7115] Forked 30711 -(30710) found -(30711) found -[7114] Forked 30712 -[7113] Forked 30713 -(30712) found -(30713) found -[7112] Forked 30714 -[7111] Forked 30715 -(30714) found -(30715) found -[7110] Forked 30716 -[7109] Forked 30717 -(30716) found -(30717) found -[7108] Forked 30718 -[7107] Forked 30719 -(30718) found -(30719) found -[7106] Forked 30720 -[7105] Forked 30721 -(30720) found -(30721) found -[7104] Forked 30722 -[7103] Forked 30723 -(30722) found -(30723) found -[7102] Forked 30724 -(30724) found -[7101] Forked 30725 -(30725) found -[7100] Forked 30726 -(30726) found -[7099] Forked 30727 -(30727) found -[7098] Forked 30728 -(30728) found -[7097] Forked 30729 -(30729) found -[7096] Forked 30730 -(30730) found -[7095] Forked 30731 -(30731) found -[7094] Forked 30732 -(30732) found -[7093] Forked 30733 -(30733) found -[7092] Forked 30734 -(30734) found -[7091] Forked 30735 -(30735) found -[7090] Forked 30736 -(30736) found -[7089] Forked 30737 -(30737) found -[7088] Forked 30738 -(30738) found -[7087] Forked 30739 -(30739) found -[7086] Forked 30740 -(30740) found -[7085] Forked 30741 -(30741) found -[7084] Forked 30742 -(30742) found -[7083] Forked 30743 -(30743) found -[7082] Forked 30744 -(30744) found -[7081] Forked 30745 -(30745) found -[7080] Forked 30746 -(30746) found -[7079] Forked 30747 -(30747) found -[7078] Forked 30748 -(30748) found -[7077] Forked 30749 -(30749) found -[7076] Forked 30750 -(30750) found -[7075] Forked 30751 -(30751) found -[7074] Forked 30752 -(30752) found -[7073] Forked 30753 -(30753) found -[7072] Forked 30754 -(30754) found -[7071] Forked 30755 -(30755) found -[7070] Forked 30756 -(30756) found -[7069] Forked 30757 -(30757) found -[7068] Forked 30758 -(30758) found -[7067] Forked 30759 -[7066] Forked 30760 -(30759) found -(30760) found -[7065] Forked 30761 -[7064] Forked 30762 -(30761) found -(30762) found -[7063] Forked 30763 -[7062] Forked 30764 -(30764) found -(30763) found -[7061] Forked 30765 -(30765) found -[7060] Forked 30766 -(30766) found -[7059] Forked 30767 -(30767) found -[7058] Forked 30768 -(30768) found -[7057] Forked 30769 -(30769) found -[7056] Forked 30770 -(30770) found -[7055] Forked 30771 -(30771) found -[7054] Forked 30772 -(30772) found -[7053] Forked 30773 -(30773) found -[7052] Forked 30774 -(30774) found -[7051] Forked 30775 -(30775) found -[7050] Forked 30776 -(30776) found -[7049] Forked 30777 -(30777) found -[7048] Forked 30778 -(30778) found -[7047] Forked 30779 -(30779) found -[7046] Forked 30780 -(30780) found -[7045] Forked 30781 -(30781) found -[7044] Forked 30782 -(30782) found -[7043] Forked 30783 -(30783) found -[7042] Forked 30784 -(30784) found -[7041] Forked 30785 -(30785) found -[7040] Forked 30786 -(30786) found -[7039] Forked 30787 -(30787) found -[7038] Forked 30788 -(30788) found -[7037] Forked 30789 -(30789) found -[7036] Forked 30790 -(30790) found -[7035] Forked 30791 -(30791) found -[7034] Forked 30792 -(30792) found -[7033] Forked 30793 -(30793) found -[7032] Forked 30794 -(30794) found -[7031] Forked 30795 -(30795) found -[7030] Forked 30796 -(30796) found -[7029] Forked 30797 -(30797) found -[7028] Forked 30798 -(30798) found -[7027] Forked 30799 -(30799) found -[7026] Forked 30800 -(30800) found -[7025] Forked 30801 -(30801) found -[7024] Forked 30802 -(30802) found -[7023] Forked 30803 -(30803) found -[7022] Forked 30804 -(30804) found -[7021] Forked 30805 -(30805) found -[7020] Forked 30806 -(30806) found -[7019] Forked 30807 -(30807) found -[7018] Forked 30808 -(30808) found -[7017] Forked 30809 -(30809) found -[7016] Forked 30810 -(30810) found -[7015] Forked 30811 -(30811) found -[7014] Forked 30812 -(30812) found -[7013] Forked 30813 -(30813) found -[7012] Forked 30814 -(30814) found -[7011] Forked 30815 -(30815) found -[7010] Forked 30816 -(30816) found -[7009] Forked 30817 -(30817) found -[7008] Forked 30818 -(30818) found -[7007] Forked 30819 -(30819) found -[7006] Forked 30820 -(30820) found -[7005] Forked 30821 -(30821) found -[7004] Forked 30822 -(30822) found -[7003] Forked 30823 -(30823) found -[7002] Forked 30824 -(30824) found -[7001] Forked 30825 -(30825) found -[7000] Forked 30826 -(30826) found -[6999] Forked 30827 -(30827) found -[6998] Forked 30828 -(30828) found -[6997] Forked 30829 -[6996] Forked 30831 -(30829) found -(30831) found -[6995] Forked 30832 -[6994] Forked 30833 -(30832) found -(30833) found -[6993] Forked 30834 -[6992] Forked 30835 -(30834) found -(30835) found -[6991] Forked 30837 -[6990] Forked 30838 -(30837) found -(30838) found -[6989] Forked 30839 -[6988] Forked 30840 -(30839) found -(30840) found -[6987] Forked 30841 -[6986] Forked 30843 -(30841) found -(30843) found -[6985] Forked 30844 -[6984] Forked 30845 -(30844) found -(30845) found -[6983] Forked 30846 -[6982] Forked 30847 -(30846) found -(30847) found -[6981] Forked 30849 -[6980] Forked 30850 -(30849) found -(30850) found -[6979] Forked 30851 -[6978] Forked 30852 -(30851) found -(30852) found -[6977] Forked 30853 -[6976] Forked 30855 -(30853) found -(30855) found -[6975] Forked 30856 -[6974] Forked 30857 -(30856) found -(30857) found -[6973] Forked 30858 -[6972] Forked 30859 -(30858) found -(30859) found -[6971] Forked 30861 -[6970] Forked 30862 -(30861) found -(30862) found -[6969] Forked 30863 -[6968] Forked 30864 -(30863) found -(30864) found -[6967] Forked 30865 -[6966] Forked 30866 -(30865) found -(30866) found -[6965] Forked 30867 -[6964] Forked 30868 -(30867) found -(30868) found -[6963] Forked 30869 -[6962] Forked 30870 -(30869) found -(30870) found -[6961] Forked 30871 -[6960] Forked 30872 -(30871) found -(30872) found -[6959] Forked 30873 -[6958] Forked 30874 -(30873) found -(30874) found -[6957] Forked 30875 -[6956] Forked 30876 -(30875) found -(30876) found -[6955] Forked 30877 -[6954] Forked 30878 -(30877) found -(30878) found -[6953] Forked 30879 -[6952] Forked 30880 -(30879) found -(30880) found -[6951] Forked 30881 -[6950] Forked 30882 -(30881) found -(30882) found -[6949] Forked 30883 -[6948] Forked 30884 -(30883) found -(30884) found -[6947] Forked 30885 -[6946] Forked 30886 -(30885) found -(30886) found -[6945] Forked 30887 -[6944] Forked 30888 -(30887) found -(30888) found -[6943] Forked 30889 -[6942] Forked 30890 -(30889) found -(30890) found -[6941] Forked 30891 -[6940] Forked 30892 -(30891) found -(30892) found -[6939] Forked 30893 -[6938] Forked 30894 -(30893) found -(30894) found -[6937] Forked 30895 -[6936] Forked 30896 -(30895) found -(30896) found -[6935] Forked 30897 -[6934] Forked 30898 -(30897) found -(30898) found -[6933] Forked 30899 -[6932] Forked 30900 -(30899) found -(30900) found -[6931] Forked 30901 -[6930] Forked 30902 -(30901) found -(30902) found -[6929] Forked 30903 -[6928] Forked 30904 -(30903) found -(30904) found -[6927] Forked 30905 -[6926] Forked 30906 -(30905) found -(30906) found -[6925] Forked 30907 -[6924] Forked 30908 -(30907) found -(30908) found -[6923] Forked 30909 -[6922] Forked 30910 -(30909) found -(30910) found -[6921] Forked 30911 -[6920] Forked 30912 -(30911) found -(30912) found -[6919] Forked 30913 -[6918] Forked 30914 -(30913) found -(30914) found -[6917] Forked 30915 -[6916] Forked 30916 -(30915) found -(30916) found -[6915] Forked 30917 -[6914] Forked 30918 -(30917) found -(30918) found -[6913] Forked 30919 -[6912] Forked 30920 -(30919) found -(30920) found -[6911] Forked 30921 -[6910] Forked 30923 -(30921) found -(30923) found -[6909] Forked 30924 -(30924) found -[6908] Forked 30925 -(30925) found -[6907] Forked 30926 -(30926) found -[6906] Forked 30927 -(30927) found -[6905] Forked 30928 -(30928) found -[6904] Forked 30929 -(30929) found -[6903] Forked 30930 -(30930) found -[6902] Forked 30931 -(30931) found -[6901] Forked 30932 -(30932) found -[6900] Forked 30933 -(30933) found -[6899] Forked 30934 -(30934) found -[6898] Forked 30935 -(30935) found -[6897] Forked 30936 -(30936) found -[6896] Forked 30937 -(30937) found -[6895] Forked 30938 -(30938) found -[6894] Forked 30939 -(30939) found -[6893] Forked 30940 -(30940) found -[6892] Forked 30941 -(30941) found -[6891] Forked 30942 -(30942) found -[6890] Forked 30943 -(30943) found -[6889] Forked 30944 -(30944) found -[6888] Forked 30945 -(30945) found -[6887] Forked 30946 -(30946) found -[6886] Forked 30947 -(30947) found -[6885] Forked 30948 -(30948) found -[6884] Forked 30949 -(30949) found -[6883] Forked 30950 -(30950) found -[6882] Forked 30951 -(30951) found -[6881] Forked 30952 -(30952) found -[6880] Forked 30953 -(30953) found -[6879] Forked 30954 -(30954) found -[6878] Forked 30955 -(30955) found -[6877] Forked 30956 -(30956) found -[6876] Forked 30957 -(30957) found -[6875] Forked 30958 -(30958) found -[6874] Forked 30959 -(30959) found -[6873] Forked 30960 -(30960) found -[6872] Forked 30961 -(30961) found -[6871] Forked 30962 -(30962) found -[6870] Forked 30963 -[6869] Forked 30964 -(30963) found -(30964) found -[6868] Forked 30965 -[6867] Forked 30966 -(30965) found -(30966) found -[6866] Forked 30967 -[6865] Forked 30968 -(30967) found -(30968) found -[6864] Forked 30969 -[6863] Forked 30970 -(30969) found -(30970) found -[6862] Forked 30971 -[6861] Forked 30972 -(30971) found -(30972) found -[6860] Forked 30973 -[6859] Forked 30974 -(30973) found -(30974) found -[6858] Forked 30975 -[6857] Forked 30976 -(30975) found -(30976) found -[6856] Forked 30977 -[6855] Forked 30978 -(30977) found -(30978) found -[6854] Forked 30979 -[6853] Forked 30980 -(30979) found -(30980) found -[6852] Forked 30981 -[6851] Forked 30982 -(30981) found -(30982) found -[6850] Forked 30983 -[6849] Forked 30984 -(30983) found -(30984) found -[6848] Forked 30985 -[6847] Forked 30986 -(30985) found -(30986) found -[6846] Forked 30987 -[6845] Forked 30988 -(30987) found -(30988) found -[6844] Forked 30989 -[6843] Forked 30990 -(30989) found -(30990) found -[6842] Forked 30991 -[6841] Forked 30992 -(30991) found -(30992) found -[6840] Forked 30993 -[6839] Forked 30994 -(30993) found -(30994) found -[6838] Forked 30995 -[6837] Forked 30996 -(30995) found -(30996) found -[6836] Forked 30997 -[6835] Forked 30998 -(30997) found -(30998) found -[6834] Forked 30999 -[6833] Forked 31000 -(30999) found -(31000) found -[6832] Forked 31001 -[6831] Forked 31003 -(31001) found -(31003) found -[6830] Forked 31004 -(31004) found -[6829] Forked 31005 -(31005) found -[6828] Forked 31006 -(31006) found -[6827] Forked 31007 -(31007) found -[6826] Forked 31008 -(31008) found -[6825] Forked 31009 -(31009) found -[6824] Forked 31010 -(31010) found -[6823] Forked 31011 -(31011) found -[6822] Forked 31012 -(31012) found -[6821] Forked 31013 -(31013) found -[6820] Forked 31014 -(31014) found -[6819] Forked 31015 -(31015) found -[6818] Forked 31016 -(31016) found -[6817] Forked 31017 -(31017) found -[6816] Forked 31018 -(31018) found -[6815] Forked 31019 -(31019) found -[6814] Forked 31020 -(31020) found -[6813] Forked 31021 -(31021) found -[6812] Forked 31022 -(31022) found -[6811] Forked 31023 -(31023) found -[6810] Forked 31024 -(31024) found -[6809] Forked 31025 -(31025) found -[6808] Forked 31026 -(31026) found -[6807] Forked 31027 -(31027) found -[6806] Forked 31028 -(31028) found -[6805] Forked 31029 -(31029) found -[6804] Forked 31030 -(31030) found -[6803] Forked 31031 -(31031) found -[6802] Forked 31032 -(31032) found -[6801] Forked 31033 -(31033) found -[6800] Forked 31034 -(31034) found -[6799] Forked 31035 -(31035) found -[6798] Forked 31036 -(31036) found -[6797] Forked 31037 -(31037) found -[6796] Forked 31038 -(31038) found -[6795] Forked 31039 -(31039) found -[6794] Forked 31040 -(31040) found -[6793] Forked 31041 -(31041) found -[6792] Forked 31042 -(31042) found -[6791] Forked 31043 -(31043) found -[6790] Forked 31044 -(31044) found -[6789] Forked 31045 -[6788] Forked 31046 -(31045) found -(31046) found -[6787] Forked 31047 -[6786] Forked 31048 -(31047) found -(31048) found -[6785] Forked 31049 -[6784] Forked 31050 -(31049) found -(31050) found -[6783] Forked 31051 -[6782] Forked 31052 -(31051) found -(31052) found -[6781] Forked 31053 -[6780] Forked 31054 -(31053) found -(31054) found -[6779] Forked 31055 -[6778] Forked 31056 -(31055) found -(31056) found -[6777] Forked 31057 -[6776] Forked 31058 -(31057) found -(31058) found -[6775] Forked 31059 -[6774] Forked 31060 -(31059) found -(31060) found -[6773] Forked 31061 -[6772] Forked 31062 -(31061) found -(31062) found -[6771] Forked 31064 -[6770] Forked 31065 -(31064) found -(31065) found -[6769] Forked 31066 -[6768] Forked 31067 -(31066) found -(31067) found -[6767] Forked 31068 -[6766] Forked 31069 -(31068) found -(31069) found -[6765] Forked 31070 -[6764] Forked 31071 -(31070) found -(31071) found -[6763] Forked 31072 -[6762] Forked 31073 -(31072) found -(31073) found -[6761] Forked 31074 -[6760] Forked 31075 -(31074) found -(31075) found -[6759] Forked 31076 -[6758] Forked 31077 -(31076) found -(31077) found -[6757] Forked 31078 -[6756] Forked 31079 -(31078) found -(31079) found -[6755] Forked 31080 -[6754] Forked 31081 -(31080) found -(31081) found -[6753] Forked 31082 -[6752] Forked 31083 -(31082) found -(31083) found -[6751] Forked 31084 -[6750] Forked 31086 -(31084) found -(31086) found -[6749] Forked 31087 -(31087) found -[6748] Forked 31088 -(31088) found -[6747] Forked 31089 -(31089) found -[6746] Forked 31090 -(31090) found -[6745] Forked 31091 -(31091) found -[6744] Forked 31092 -(31092) found -[6743] Forked 31093 -(31093) found -[6742] Forked 31094 -(31094) found -[6741] Forked 31095 -(31095) found -[6740] Forked 31096 -(31096) found -[6739] Forked 31097 -(31097) found -[6738] Forked 31098 -(31098) found -[6737] Forked 31099 -(31099) found -[6736] Forked 31100 -(31100) found -[6735] Forked 31101 -(31101) found -[6734] Forked 31102 -(31102) found -[6733] Forked 31103 -(31103) found -[6732] Forked 31104 -(31104) found -[6731] Forked 31105 -(31105) found -[6730] Forked 31106 -(31106) found -[6729] Forked 31107 -(31107) found -[6728] Forked 31108 -(31108) found -[6727] Forked 31109 -(31109) found -[6726] Forked 31110 -(31110) found -[6725] Forked 31111 -(31111) found -[6724] Forked 31112 -(31112) found -[6723] Forked 31113 -(31113) found -[6722] Forked 31114 -(31114) found -[6721] Forked 31115 -(31115) found -[6720] Forked 31116 -(31116) found -[6719] Forked 31117 -(31117) found -[6718] Forked 31118 -(31118) found -[6717] Forked 31119 -(31119) found -[6716] Forked 31120 -(31120) found -[6715] Forked 31121 -(31121) found -[6714] Forked 31122 -(31122) found -[6713] Forked 31123 -(31123) found -[6712] Forked 31124 -(31124) found -[6711] Forked 31125 -(31125) found -[6710] Forked 31126 -(31126) found -[6709] Forked 31127 -(31127) found -[6708] Forked 31128 -[6707] Forked 31129 -(31128) found -(31129) found -[6706] Forked 31130 -[6705] Forked 31131 -(31130) found -(31131) found -[6704] Forked 31132 -[6703] Forked 31133 -(31132) found -(31133) found -[6702] Forked 31134 -[6701] Forked 31135 -(31134) found -(31135) found -[6700] Forked 31136 -[6699] Forked 31137 -(31136) found -(31137) found -[6698] Forked 31138 -[6697] Forked 31139 -(31138) found -(31139) found -[6696] Forked 31140 -[6695] Forked 31141 -(31140) found -(31141) found -[6694] Forked 31142 -[6693] Forked 31143 -(31142) found -(31143) found -[6692] Forked 31144 -[6691] Forked 31145 -(31144) found -(31145) found -[6690] Forked 31146 -[6689] Forked 31147 -(31146) found -(31147) found -[6688] Forked 31148 -[6687] Forked 31149 -(31148) found -(31149) found -[6686] Forked 31150 -[6685] Forked 31151 -(31150) found -(31151) found -[6684] Forked 31152 -[6683] Forked 31153 -(31152) found -(31153) found -[6682] Forked 31154 -[6681] Forked 31155 -(31154) found -(31155) found -[6680] Forked 31156 -[6679] Forked 31157 -(31156) found -(31157) found -[6678] Forked 31158 -[6677] Forked 31159 -(31158) found -(31159) found -[6676] Forked 31160 -[6675] Forked 31161 -(31160) found -(31161) found -[6674] Forked 31162 -[6673] Forked 31163 -(31162) found -(31163) found -[6672] Forked 31164 -[6671] Forked 31165 -(31164) found -(31165) found -[6670] Forked 31166 -[6669] Forked 31167 -(31166) found -(31167) found -[6668] Forked 31168 -[6667] Forked 31169 -(31168) found -(31169) found -[6666] Forked 31170 -[6665] Forked 31171 -(31170) found -(31171) found -[6664] Forked 31172 -[6663] Forked 31173 -(31172) found -(31173) found -[6662] Forked 31174 -[6661] Forked 31175 -(31174) found -(31175) found -[6660] Forked 31176 -[6659] Forked 31177 -(31176) found -(31177) found -[6658] Forked 31178 -[6657] Forked 31179 -(31178) found -(31179) found -[6656] Forked 31180 -[6655] Forked 31181 -(31180) found -(31181) found -[6654] Forked 31182 -[6653] Forked 31183 -(31182) found -(31183) found -[6652] Forked 31184 -[6651] Forked 31185 -(31184) found -(31185) found -[6650] Forked 31186 -[6649] Forked 31187 -(31186) found -(31187) found -[6648] Forked 31188 -[6647] Forked 31189 -(31188) found -(31189) found -[6646] Forked 31190 -[6645] Forked 31191 -(31190) found -(31191) found -[6644] Forked 31192 -[6643] Forked 31193 -(31192) found -(31193) found -[6642] Forked 31194 -[6641] Forked 31195 -(31194) found -(31195) found -[6640] Forked 31196 -[6639] Forked 31197 -(31196) found -(31197) found -[6638] Forked 31198 -[6637] Forked 31199 -(31198) found -(31199) found -[6636] Forked 31200 -[6635] Forked 31201 -(31200) found -(31201) found -[6634] Forked 31202 -[6633] Forked 31203 -(31202) found -(31203) found -[6632] Forked 31204 -[6631] Forked 31205 -(31204) found -(31205) found -[6630] Forked 31206 -[6629] Forked 31207 -(31206) found -(31207) found -[6628] Forked 31208 -[6627] Forked 31209 -(31208) found -(31209) found -[6626] Forked 31210 -[6625] Forked 31211 -(31210) found -(31211) found -[6624] Forked 31212 -[6623] Forked 31213 -(31212) found -(31213) found -[6622] Forked 31214 -[6621] Forked 31215 -(31214) found -(31215) found -[6620] Forked 31216 -[6619] Forked 31217 -(31216) found -(31217) found -[6618] Forked 31218 -[6617] Forked 31219 -(31218) found -(31219) found -[6616] Forked 31220 -[6615] Forked 31221 -(31220) found -(31221) found -[6614] Forked 31222 -[6613] Forked 31223 -(31222) found -(31223) found -[6612] Forked 31224 -[6611] Forked 31225 -(31224) found -(31225) found -[6610] Forked 31226 -[6609] Forked 31227 -(31226) found -(31227) found -[6608] Forked 31228 -[6607] Forked 31229 -(31228) found -(31229) found -[6606] Forked 31230 -[6605] Forked 31231 -(31230) found -(31231) found -[6604] Forked 31232 -[6603] Forked 31233 -(31232) found -(31233) found -[6602] Forked 31234 -[6601] Forked 31235 -(31234) found -(31235) found -[6600] Forked 31236 -[6599] Forked 31237 -(31236) found -(31237) found -[6598] Forked 31238 -[6597] Forked 31239 -(31238) found -(31239) found -[6596] Forked 31240 -[6595] Forked 31241 -(31240) found -(31241) found -[6594] Forked 31242 -[6593] Forked 31243 -(31242) found -(31243) found -[6592] Forked 31244 -[6591] Forked 31245 -(31244) found -(31245) found -[6590] Forked 31246 -[6589] Forked 31247 -(31246) found -(31247) found -[6588] Forked 31248 -[6587] Forked 31249 -(31248) found -(31249) found -[6586] Forked 31250 -[6585] Forked 31251 -(31250) found -(31251) found -[6584] Forked 31252 -[6583] Forked 31253 -(31252) found -(31253) found -[6582] Forked 31254 -[6581] Forked 31255 -(31254) found -(31255) found -[6580] Forked 31256 -[6579] Forked 31257 -(31256) found -(31257) found -[6578] Forked 31258 -[6577] Forked 31259 -(31258) found -(31259) found -[6576] Forked 31260 -[6575] Forked 31261 -(31260) found -(31261) found -[6574] Forked 31262 -(31262) found -[6573] Forked 31263 -(31263) found -[6572] Forked 31264 -(31264) found -[6571] Forked 31265 -(31265) found -[6570] Forked 31266 -(31266) found -[6569] Forked 31267 -(31267) found -[6568] Forked 31268 -(31268) found -[6567] Forked 31269 -(31269) found -[6566] Forked 31270 -(31270) found -[6565] Forked 31271 -(31271) found -[6564] Forked 31272 -(31272) found -[6563] Forked 31273 -(31273) found -[6562] Forked 31274 -(31274) found -[6561] Forked 31275 -(31275) found -[6560] Forked 31276 -(31276) found -[6559] Forked 31277 -(31277) found -[6558] Forked 31278 -(31278) found -[6557] Forked 31279 -(31279) found -[6556] Forked 31280 -(31280) found -[6555] Forked 31281 -(31281) found -[6554] Forked 31282 -(31282) found -[6553] Forked 31283 -(31283) found -[6552] Forked 31284 -(31284) found -[6551] Forked 31285 -(31285) found -[6550] Forked 31286 -(31286) found -[6549] Forked 31287 -(31287) found -[6548] Forked 31288 -(31288) found -[6547] Forked 31289 -(31289) found -[6546] Forked 31290 -(31290) found -[6545] Forked 31291 -(31291) found -[6544] Forked 31292 -(31292) found -[6543] Forked 31293 -(31293) found -[6542] Forked 31294 -(31294) found -[6541] Forked 31295 -(31295) found -[6540] Forked 31296 -(31296) found -[6539] Forked 31297 -(31297) found -[6538] Forked 31298 -(31298) found -[6537] Forked 31299 -(31299) found -[6536] Forked 31300 -[6535] Forked 31301 -(31300) found -(31301) found -[6534] Forked 31302 -[6533] Forked 31303 -(31302) found -(31303) found -[6532] Forked 31304 -(31304) found -[6531] Forked 31305 -[6530] Forked 31306 -(31305) found -(31306) found -[6529] Forked 31307 -[6528] Forked 31308 -(31307) found -(31308) found -[6527] Forked 31309 -[6526] Forked 31310 -(31309) found -(31310) found -[6525] Forked 31311 -[6524] Forked 31312 -(31311) found -(31312) found -[6523] Forked 31313 -[6522] Forked 31314 -(31313) found -(31314) found -[6521] Forked 31315 -[6520] Forked 31316 -(31315) found -(31316) found -[6519] Forked 31317 -[6518] Forked 31318 -(31317) found -(31318) found -[6517] Forked 31319 -[6516] Forked 31320 -(31320) found -(31319) found -[6515] Forked 31321 -(31321) found -[6514] Forked 31322 -(31322) found -[6513] Forked 31323 -(31323) found -[6512] Forked 31324 -(31324) found -[6511] Forked 31325 -(31325) found -[6510] Forked 31326 -(31326) found -[6509] Forked 31327 -(31327) found -[6508] Forked 31328 -(31328) found -[6507] Forked 31329 -(31329) found -[6506] Forked 31330 -(31330) found -[6505] Forked 31331 -(31331) found -[6504] Forked 31332 -(31332) found -[6503] Forked 31333 -(31333) found -[6502] Forked 31334 -(31334) found -[6501] Forked 31335 -(31335) found -[6500] Forked 31336 -(31336) found -[6499] Forked 31337 -(31337) found -[6498] Forked 31338 -(31338) found -[6497] Forked 31339 -(31339) found -[6496] Forked 31340 -(31340) found -[6495] Forked 31341 -(31341) found -[6494] Forked 31342 -(31342) found -[6493] Forked 31343 -(31343) found -[6492] Forked 31344 -(31344) found -[6491] Forked 31345 -(31345) found -[6490] Forked 31346 -(31346) found -[6489] Forked 31347 -(31347) found -[6488] Forked 31348 -(31348) found -[6487] Forked 31349 -(31349) found -[6486] Forked 31350 -(31350) found -[6485] Forked 31351 -(31351) found -[6484] Forked 31352 -(31352) found -[6483] Forked 31353 -(31353) found -[6482] Forked 31354 -(31354) found -[6481] Forked 31355 -(31355) found -[6480] Forked 31356 -(31356) found -[6479] Forked 31357 -(31357) found -[6478] Forked 31358 -(31358) found -[6477] Forked 31359 -(31359) found -[6476] Forked 31360 -(31360) found -[6475] Forked 31361 -(31361) found -[6474] Forked 31362 -(31362) found -[6473] Forked 31363 -(31363) found -[6472] Forked 31364 -(31364) found -[6471] Forked 31365 -(31365) found -[6470] Forked 31366 -(31366) found -[6469] Forked 31367 -(31367) found -[6468] Forked 31368 -(31368) found -[6467] Forked 31369 -(31369) found -[6466] Forked 31370 -(31370) found -[6465] Forked 31371 -(31371) found -[6464] Forked 31372 -(31372) found -[6463] Forked 31373 -(31373) found -[6462] Forked 31374 -(31374) found -[6461] Forked 31375 -[6460] Forked 31376 -(31375) found -(31376) found -[6459] Forked 31377 -[6458] Forked 31378 -(31377) found -(31378) found -[6457] Forked 31379 -[6456] Forked 31380 -(31379) found -(31380) found -[6455] Forked 31381 -[6454] Forked 31382 -(31381) found -(31382) found -[6453] Forked 31383 -[6452] Forked 31384 -(31383) found -(31384) found -[6451] Forked 31385 -[6450] Forked 31386 -(31385) found -(31386) found -[6449] Forked 31387 -[6448] Forked 31388 -(31387) found -(31388) found -[6447] Forked 31389 -[6446] Forked 31390 -(31389) found -(31390) found -[6445] Forked 31391 -[6444] Forked 31392 -(31391) found -(31392) found -[6443] Forked 31393 -[6442] Forked 31394 -(31393) found -(31394) found -[6441] Forked 31395 -[6440] Forked 31396 -(31395) found -(31396) found -[6439] Forked 31397 -[6438] Forked 31398 -(31397) found -(31398) found -[6437] Forked 31399 -[6436] Forked 31400 -(31399) found -(31400) found -[6435] Forked 31401 -[6434] Forked 31402 -(31401) found -(31402) found -[6433] Forked 31403 -[6432] Forked 31404 -(31403) found -(31404) found -[6431] Forked 31405 -[6430] Forked 31406 -(31405) found -(31406) found -[6429] Forked 31407 -[6428] Forked 31408 -(31407) found -(31408) found -[6427] Forked 31409 -[6426] Forked 31410 -(31409) found -(31410) found -[6425] Forked 31411 -[6424] Forked 31412 -(31411) found -(31412) found -[6423] Forked 31413 -[6422] Forked 31415 -(31413) found -(31415) found -[6421] Forked 31416 -(31416) found -[6420] Forked 31417 -(31417) found -[6419] Forked 31418 -(31418) found -[6418] Forked 31419 -(31419) found -[6417] Forked 31420 -(31420) found -[6416] Forked 31421 -(31421) found -[6415] Forked 31422 -(31422) found -[6414] Forked 31423 -(31423) found -[6413] Forked 31424 -(31424) found -[6412] Forked 31425 -(31425) found -[6411] Forked 31426 -(31426) found -[6410] Forked 31427 -(31427) found -[6409] Forked 31428 -(31428) found -[6408] Forked 31429 -(31429) found -[6407] Forked 31430 -(31430) found -[6406] Forked 31431 -(31431) found -[6405] Forked 31432 -(31432) found -[6404] Forked 31433 -(31433) found -[6403] Forked 31434 -(31434) found -[6402] Forked 31435 -(31435) found -[6401] Forked 31436 -(31436) found -[6400] Forked 31437 -(31437) found -[6399] Forked 31438 -(31438) found -[6398] Forked 31439 -(31439) found -[6397] Forked 31440 -(31440) found -[6396] Forked 31441 -(31441) found -[6395] Forked 31442 -(31442) found -[6394] Forked 31443 -(31443) found -[6393] Forked 31444 -(31444) found -[6392] Forked 31445 -(31445) found -[6391] Forked 31446 -(31446) found -[6390] Forked 31447 -(31447) found -[6389] Forked 31448 -(31448) found -[6388] Forked 31449 -(31449) found -[6387] Forked 31450 -(31450) found -[6386] Forked 31451 -(31451) found -[6385] Forked 31452 -(31452) found -[6384] Forked 31453 -(31453) found -[6383] Forked 31454 -(31454) found -[6382] Forked 31455 -(31455) found -[6381] Forked 31456 -(31456) found -[6380] Forked 31457 -(31457) found -[6379] Forked 31458 -(31458) found -[6378] Forked 31459 -(31459) found -[6377] Forked 31460 -(31460) found -[6376] Forked 31461 -(31461) found -[6375] Forked 31462 -(31462) found -[6374] Forked 31463 -(31463) found -[6373] Forked 31464 -(31464) found -[6372] Forked 31465 -(31465) found -[6371] Forked 31466 -(31466) found -[6370] Forked 31467 -(31467) found -[6369] Forked 31468 -(31468) found -[6368] Forked 31469 -(31469) found -[6367] Forked 31470 -(31470) found -[6366] Forked 31471 -(31471) found -[6365] Forked 31472 -(31472) found -[6364] Forked 31473 -(31473) found -[6363] Forked 31474 -(31474) found -[6362] Forked 31475 -(31475) found -[6361] Forked 31476 -(31476) found -[6360] Forked 31477 -(31477) found -[6359] Forked 31478 -(31478) found -[6358] Forked 31479 -(31479) found -[6357] Forked 31480 -(31480) found -[6356] Forked 31481 -(31481) found -[6355] Forked 31482 -(31482) found -[6354] Forked 31483 -(31483) found -[6353] Forked 31484 -(31484) found -[6352] Forked 31485 -(31485) found -[6351] Forked 31486 -(31486) found -[6350] Forked 31487 -(31487) found -[6349] Forked 31488 -(31488) found -[6348] Forked 31489 -[6347] Forked 31490 -(31489) found -(31490) found -[6346] Forked 31491 -[6345] Forked 31492 -(31491) found -(31492) found -[6344] Forked 31493 -[6343] Forked 31494 -(31493) found -(31494) found -[6342] Forked 31495 -[6341] Forked 31496 -(31495) found -(31496) found -[6340] Forked 31497 -[6339] Forked 31498 -(31497) found -(31498) found -[6338] Forked 31499 -[6337] Forked 31500 -(31499) found -(31500) found -[6336] Forked 31501 -[6335] Forked 31502 -(31501) found -(31502) found -[6334] Forked 31503 -[6333] Forked 31504 -(31503) found -(31504) found -[6332] Forked 31505 -[6331] Forked 31506 -(31505) found -(31506) found -[6330] Forked 31507 -[6329] Forked 31508 -(31507) found -(31508) found -[6328] Forked 31509 -[6327] Forked 31510 -(31509) found -(31510) found -[6326] Forked 31511 -[6325] Forked 31512 -(31511) found -(31512) found -[6324] Forked 31513 -[6323] Forked 31514 -(31513) found -(31514) found -[6322] Forked 31515 -[6321] Forked 31516 -(31515) found -(31516) found -[6320] Forked 31517 -[6319] Forked 31518 -(31517) found -(31518) found -[6318] Forked 31519 -[6317] Forked 31520 -(31519) found -(31520) found -[6316] Forked 31521 -[6315] Forked 31522 -(31521) found -(31522) found -[6314] Forked 31523 -[6313] Forked 31524 -(31523) found -(31524) found -[6312] Forked 31525 -[6311] Forked 31526 -(31525) found -(31526) found -[6310] Forked 31527 -[6309] Forked 31528 -(31527) found -(31528) found -[6308] Forked 31529 -[6307] Forked 31530 -(31529) found -(31530) found -[6306] Forked 31531 -[6305] Forked 31532 -(31531) found -(31532) found -[6304] Forked 31533 -[6303] Forked 31534 -(31533) found -(31534) found -[6302] Forked 31535 -(31535) found -[6301] Forked 31536 -(31536) found -[6300] Forked 31537 -(31537) found -[6299] Forked 31538 -(31538) found -[6298] Forked 31539 -(31539) found -[6297] Forked 31540 -(31540) found -[6296] Forked 31541 -(31541) found -[6295] Forked 31542 -(31542) found -[6294] Forked 31543 -(31543) found -[6293] Forked 31544 -(31544) found -[6292] Forked 31545 -(31545) found -[6291] Forked 31546 -(31546) found -[6290] Forked 31547 -(31547) found -[6289] Forked 31548 -(31548) found -[6288] Forked 31549 -(31549) found -[6287] Forked 31550 -(31550) found -[6286] Forked 31551 -(31551) found -[6285] Forked 31552 -(31552) found -[6284] Forked 31553 -(31553) found -[6283] Forked 31554 -(31554) found -[6282] Forked 31555 -(31555) found -[6281] Forked 31556 -(31556) found -[6280] Forked 31557 -(31557) found -[6279] Forked 31558 -(31558) found -[6278] Forked 31559 -(31559) found -[6277] Forked 31560 -(31560) found -[6276] Forked 31561 -(31561) found -[6275] Forked 31562 -(31562) found -[6274] Forked 31563 -(31563) found -[6273] Forked 31564 -(31564) found -[6272] Forked 31565 -(31565) found -[6271] Forked 31566 -(31566) found -[6270] Forked 31567 -(31567) found -[6269] Forked 31568 -(31568) found -[6268] Forked 31569 -(31569) found -[6267] Forked 31570 -(31570) found -[6266] Forked 31571 -[6265] Forked 31572 -(31571) found -(31572) found -[6264] Forked 31573 -[6263] Forked 31574 -(31573) found -(31574) found -[6262] Forked 31575 -[6261] Forked 31576 -(31575) found -(31576) found -[6260] Forked 31577 -[6259] Forked 31578 -(31577) found -(31578) found -[6258] Forked 31579 -[6257] Forked 31580 -(31579) found -(31580) found -[6256] Forked 31581 -[6255] Forked 31582 -(31581) found -(31582) found -[6254] Forked 31583 -[6253] Forked 31584 -(31583) found -(31584) found -[6252] Forked 31585 -[6251] Forked 31586 -(31585) found -(31586) found -[6250] Forked 31587 -[6249] Forked 31588 -(31587) found -(31588) found -[6248] Forked 31589 -[6247] Forked 31590 -(31589) found -(31590) found -[6246] Forked 31591 -[6245] Forked 31592 -(31591) found -(31592) found -[6244] Forked 31593 -[6243] Forked 31594 -(31593) found -(31594) found -[6242] Forked 31595 -[6241] Forked 31596 -(31595) found -(31596) found -[6240] Forked 31597 -[6239] Forked 31598 -(31597) found -(31598) found -[6238] Forked 31599 -[6237] Forked 31600 -(31599) found -(31600) found -[6236] Forked 31601 -[6235] Forked 31602 -(31601) found -(31602) found -[6234] Forked 31603 -[6233] Forked 31604 -(31603) found -(31604) found -[6232] Forked 31605 -[6231] Forked 31606 -(31605) found -(31606) found -[6230] Forked 31607 -[6229] Forked 31608 -(31607) found -(31608) found -[6228] Forked 31609 -[6227] Forked 31610 -(31609) found -(31610) found -[6226] Forked 31611 -[6225] Forked 31612 -(31611) found -(31612) found -[6224] Forked 31613 -[6223] Forked 31614 -(31613) found -(31614) found -[6222] Forked 31615 -[6221] Forked 31616 -(31615) found -(31616) found -[6220] Forked 31617 -(31617) found -[6219] Forked 31618 -(31618) found -[6218] Forked 31619 -(31619) found -[6217] Forked 31620 -(31620) found -[6216] Forked 31621 -(31621) found -[6215] Forked 31622 -(31622) found -[6214] Forked 31623 -(31623) found -[6213] Forked 31624 -(31624) found -[6212] Forked 31625 -(31625) found -[6211] Forked 31626 -(31626) found -[6210] Forked 31627 -(31627) found -[6209] Forked 31628 -(31628) found -[6208] Forked 31629 -(31629) found -[6207] Forked 31630 -(31630) found -[6206] Forked 31631 -(31631) found -[6205] Forked 31632 -(31632) found -[6204] Forked 31633 -(31633) found -[6203] Forked 31634 -(31634) found -[6202] Forked 31635 -(31635) found -[6201] Forked 31636 -(31636) found -[6200] Forked 31637 -(31637) found -[6199] Forked 31638 -(31638) found -[6198] Forked 31639 -(31639) found -[6197] Forked 31640 -(31640) found -[6196] Forked 31641 -(31641) found -[6195] Forked 31642 -(31642) found -[6194] Forked 31643 -(31643) found -[6193] Forked 31644 -(31644) found -[6192] Forked 31645 -(31645) found -[6191] Forked 31646 -(31646) found -[6190] Forked 31647 -(31647) found -[6189] Forked 31648 -(31648) found -[6188] Forked 31649 -(31649) found -[6187] Forked 31650 -(31650) found -[6186] Forked 31651 -(31651) found -[6185] Forked 31652 -(31652) found -[6184] Forked 31653 -[6183] Forked 31654 -(31653) found -(31654) found -[6182] Forked 31655 -[6181] Forked 31656 -(31655) found -(31656) found -[6180] Forked 31657 -[6179] Forked 31658 -(31657) found -(31658) found -[6178] Forked 31659 -[6177] Forked 31660 -(31659) found -(31660) found -[6176] Forked 31661 -[6175] Forked 31662 -(31661) found -(31662) found -[6174] Forked 31663 -[6173] Forked 31664 -(31663) found -(31664) found -[6172] Forked 31665 -[6171] Forked 31666 -(31665) found -(31666) found -[6170] Forked 31667 -[6169] Forked 31668 -(31667) found -(31668) found -[6168] Forked 31669 -[6167] Forked 31670 -(31669) found -(31670) found -[6166] Forked 31671 -[6165] Forked 31672 -(31671) found -(31672) found -[6164] Forked 31673 -[6163] Forked 31674 -(31673) found -(31674) found -[6162] Forked 31675 -[6161] Forked 31676 -(31675) found -(31676) found -[6160] Forked 31677 -[6159] Forked 31678 -(31677) found -(31678) found -[6158] Forked 31679 -[6157] Forked 31680 -(31679) found -(31680) found -[6156] Forked 31681 -[6155] Forked 31682 -(31681) found -(31682) found -[6154] Forked 31683 -[6153] Forked 31684 -(31683) found -(31684) found -[6152] Forked 31685 -[6151] Forked 31686 -(31685) found -(31686) found -[6150] Forked 31687 -[6149] Forked 31688 -(31687) found -(31688) found -[6148] Forked 31689 -[6147] Forked 31691 -(31689) found -(31691) found -[6146] Forked 31692 -(31692) found -[6145] Forked 31693 -(31693) found -[6144] Forked 31694 -(31694) found -[6143] Forked 31695 -(31695) found -[6142] Forked 31696 -(31696) found -[6141] Forked 31697 -(31697) found -[6140] Forked 31698 -(31698) found -[6139] Forked 31699 -(31699) found -[6138] Forked 31700 -(31700) found -[6137] Forked 31701 -(31701) found -[6136] Forked 31702 -(31702) found -[6135] Forked 31703 -(31703) found -[6134] Forked 31704 -(31704) found -[6133] Forked 31705 -(31705) found -[6132] Forked 31706 -(31706) found -[6131] Forked 31707 -(31707) found -[6130] Forked 31708 -(31708) found -[6129] Forked 31709 -(31709) found -[6128] Forked 31710 -(31710) found -[6127] Forked 31711 -(31711) found -[6126] Forked 31712 -(31712) found -[6125] Forked 31713 -(31713) found -[6124] Forked 31714 -(31714) found -[6123] Forked 31715 -(31715) found -[6122] Forked 31716 -(31716) found -[6121] Forked 31717 -(31717) found -[6120] Forked 31718 -(31718) found -[6119] Forked 31719 -(31719) found -[6118] Forked 31720 -(31720) found -[6117] Forked 31721 -(31721) found -[6116] Forked 31722 -(31722) found -[6115] Forked 31723 -(31723) found -[6114] Forked 31724 -(31724) found -[6113] Forked 31725 -(31725) found -[6112] Forked 31726 -(31726) found -[6111] Forked 31727 -(31727) found -[6110] Forked 31728 -(31728) found -[6109] Forked 31729 -(31729) found -[6108] Forked 31730 -(31730) found -[6107] Forked 31731 -(31731) found -[6106] Forked 31732 -(31732) found -[6105] Forked 31733 -(31733) found -[6104] Forked 31734 -(31734) found -[6103] Forked 31735 -(31735) found -[6102] Forked 31736 -(31736) found -[6101] Forked 31737 -(31737) found -[6100] Forked 31738 -(31738) found -[6099] Forked 31739 -(31739) found -[6098] Forked 31740 -(31740) found -[6097] Forked 31741 -(31741) found -[6096] Forked 31742 -(31742) found -[6095] Forked 31743 -(31743) found -[6094] Forked 31744 -(31744) found -[6093] Forked 31745 -(31745) found -[6092] Forked 31746 -(31746) found -[6091] Forked 31747 -(31747) found -[6090] Forked 31748 -(31748) found -[6089] Forked 31749 -(31749) found -[6088] Forked 31750 -(31750) found -[6087] Forked 31751 -(31751) found -[6086] Forked 31752 -(31752) found -[6085] Forked 31753 -(31753) found -[6084] Forked 31754 -(31754) found -[6083] Forked 31755 -(31755) found -[6082] Forked 31756 -(31756) found -[6081] Forked 31757 -(31757) found -[6080] Forked 31758 -(31758) found -[6079] Forked 31759 -(31759) found -[6078] Forked 31760 -(31760) found -[6077] Forked 31761 -(31761) found -[6076] Forked 31762 -(31762) found -[6075] Forked 31763 -(31763) found -[6074] Forked 31764 -(31764) found -[6073] Forked 31765 -(31765) found -[6072] Forked 31766 -[6071] Forked 31767 -(31766) found -(31767) found -[6070] Forked 31768 -[6069] Forked 31769 -(31768) found -(31769) found -[6068] Forked 31770 -[6067] Forked 31771 -(31770) found -(31771) found -[6066] Forked 31772 -[6065] Forked 31773 -(31772) found -(31773) found -[6064] Forked 31774 -[6063] Forked 31775 -(31774) found -(31775) found -[6062] Forked 31776 -[6061] Forked 31777 -(31776) found -(31777) found -[6060] Forked 31778 -[6059] Forked 31779 -(31778) found -(31779) found -[6058] Forked 31780 -[6057] Forked 31781 -(31780) found -(31781) found -[6056] Forked 31782 -[6055] Forked 31783 -(31782) found -(31783) found -[6054] Forked 31784 -[6053] Forked 31785 -(31784) found -(31785) found -[6052] Forked 31786 -[6051] Forked 31787 -(31786) found -(31787) found -[6050] Forked 31788 -[6049] Forked 31789 -(31788) found -(31789) found -[6048] Forked 31790 -[6047] Forked 31791 -(31790) found -(31791) found -[6046] Forked 31792 -[6045] Forked 31793 -(31792) found -(31793) found -[6044] Forked 31794 -[6043] Forked 31795 -(31794) found -(31795) found -[6042] Forked 31796 -[6041] Forked 31797 -(31796) found -(31797) found -[6040] Forked 31798 -[6039] Forked 31799 -(31798) found -(31799) found -[6038] Forked 31800 -[6037] Forked 31801 -(31800) found -(31801) found -[6036] Forked 31802 -[6035] Forked 31803 -(31802) found -(31803) found -[6034] Forked 31804 -[6033] Forked 31805 -(31804) found -(31805) found -[6032] Forked 31806 -[6031] Forked 31807 -(31806) found -(31807) found -[6030] Forked 31808 -[6029] Forked 31809 -(31808) found -(31809) found -[6028] Forked 31810 -[6027] Forked 31811 -(31810) found -(31811) found -[6026] Forked 31812 -[6025] Forked 31813 -(31812) found -(31813) found -[6024] Forked 31814 -[6023] Forked 31815 -(31814) found -(31815) found -[6022] Forked 31816 -[6021] Forked 31817 -(31816) found -(31817) found -[6020] Forked 31818 -[6019] Forked 31819 -(31818) found -(31819) found -[6018] Forked 31820 -[6017] Forked 31821 -(31820) found -(31821) found -[6016] Forked 31822 -[6015] Forked 31823 -(31822) found -(31823) found -[6014] Forked 31824 -[6013] Forked 31825 -(31824) found -(31825) found -[6012] Forked 31826 -[6011] Forked 31827 -(31826) found -(31827) found -[6010] Forked 31828 -[6009] Forked 31829 -(31828) found -(31829) found -[6008] Forked 31830 -[6007] Forked 31831 -(31830) found -(31831) found -[6006] Forked 31832 -[6005] Forked 31833 -(31832) found -(31833) found -[6004] Forked 31834 -[6003] Forked 31835 -(31834) found -(31835) found -[6002] Forked 31836 -[6001] Forked 31837 -(31836) found -(31837) found -[6000] Forked 31838 -[5999] Forked 31839 -(31838) found -(31839) found -[5998] Forked 31840 -[5997] Forked 31841 -(31840) found -(31841) found -[5996] Forked 31842 -[5995] Forked 31843 -(31842) found -(31843) found -[5994] Forked 31844 -[5993] Forked 31845 -(31844) found -(31845) found -[5992] Forked 31846 -[5991] Forked 31847 -(31846) found -(31847) found -[5990] Forked 31848 -[5989] Forked 31849 -(31848) found -(31849) found -[5988] Forked 31850 -[5987] Forked 31851 -(31850) found -(31851) found -[5986] Forked 31852 -[5985] Forked 31853 -(31852) found -(31853) found -[5984] Forked 31854 -[5983] Forked 31855 -(31854) found -(31855) found -[5982] Forked 31856 -[5981] Forked 31857 -(31856) found -(31857) found -[5980] Forked 31858 -(31858) found -[5979] Forked 31859 -(31859) found -[5978] Forked 31860 -(31860) found -[5977] Forked 31861 -(31861) found -[5976] Forked 31862 -(31862) found -[5975] Forked 31863 -(31863) found -[5974] Forked 31864 -(31864) found -[5973] Forked 31865 -(31865) found -[5972] Forked 31866 -(31866) found -[5971] Forked 31867 -(31867) found -[5970] Forked 31868 -(31868) found -[5969] Forked 31869 -(31869) found -[5968] Forked 31870 -(31870) found -[5967] Forked 31871 -(31871) found -[5966] Forked 31872 -(31872) found -[5965] Forked 31873 -(31873) found -[5964] Forked 31874 -(31874) found -[5963] Forked 31875 -(31875) found -[5962] Forked 31876 -(31876) found -[5961] Forked 31877 -(31877) found -[5960] Forked 31878 -(31878) found -[5959] Forked 31879 -(31879) found -[5958] Forked 31880 -(31880) found -[5957] Forked 31881 -(31881) found -[5956] Forked 31882 -(31882) found -[5955] Forked 31883 -(31883) found -[5954] Forked 31884 -(31884) found -[5953] Forked 31885 -(31885) found -[5952] Forked 31886 -(31886) found -[5951] Forked 31887 -(31887) found -[5950] Forked 31888 -(31888) found -[5949] Forked 31889 -(31889) found -[5948] Forked 31890 -(31890) found -[5947] Forked 31891 -(31891) found -[5946] Forked 31892 -(31892) found -[5945] Forked 31893 -[5944] Forked 31894 -(31893) found -(31894) found -[5943] Forked 31895 -[5942] Forked 31896 -(31895) found -(31896) found -[5941] Forked 31897 -[5940] Forked 31898 -(31897) found -(31898) found -[5939] Forked 31899 -[5938] Forked 31900 -(31899) found -(31900) found -[5937] Forked 31901 -[5936] Forked 31902 -(31901) found -(31902) found -[5935] Forked 31903 -[5934] Forked 31904 -(31903) found -(31904) found -[5933] Forked 31905 -[5932] Forked 31906 -(31905) found -(31906) found -[5931] Forked 31907 -[5930] Forked 31908 -(31907) found -(31908) found -[5929] Forked 31909 -[5928] Forked 31910 -(31909) found -(31910) found -[5927] Forked 31911 -[5926] Forked 31912 -(31911) found -(31912) found -[5925] Forked 31913 -[5924] Forked 31914 -(31913) found -(31914) found -[5923] Forked 31915 -[5922] Forked 31916 -(31915) found -(31916) found -[5921] Forked 31917 -[5920] Forked 31918 -(31917) found -(31918) found -[5919] Forked 31919 -[5918] Forked 31920 -(31919) found -(31920) found -[5917] Forked 31921 -[5916] Forked 31922 -(31921) found -(31922) found -[5915] Forked 31923 -[5914] Forked 31924 -(31923) found -(31924) found -[5913] Forked 31925 -[5912] Forked 31926 -(31925) found -(31926) found -[5911] Forked 31927 -[5910] Forked 31928 -(31927) found -(31928) found -[5909] Forked 31929 -[5908] Forked 31930 -(31929) found -(31930) found -[5907] Forked 31931 -[5906] Forked 31933 -(31931) found -(31933) found -[5905] Forked 31934 -(31934) found -[5904] Forked 31935 -(31935) found -[5903] Forked 31936 -(31936) found -[5902] Forked 31937 -(31937) found -[5901] Forked 31938 -(31938) found -[5900] Forked 31939 -(31939) found -[5899] Forked 31940 -(31940) found -[5898] Forked 31941 -(31941) found -[5897] Forked 31942 -(31942) found -[5896] Forked 31943 -(31943) found -[5895] Forked 31944 -(31944) found -[5894] Forked 31945 -(31945) found -[5893] Forked 31946 -(31946) found -[5892] Forked 31947 -(31947) found -[5891] Forked 31948 -(31948) found -[5890] Forked 31949 -(31949) found -[5889] Forked 31950 -(31950) found -[5888] Forked 31951 -(31951) found -[5887] Forked 31952 -(31952) found -[5886] Forked 31953 -[5885] Forked 31954 -(31953) found -(31954) found -[5884] Forked 31955 -[5883] Forked 31956 -(31955) found -(31956) found -[5882] Forked 31957 -[5881] Forked 31958 -(31957) found -(31958) found -[5880] Forked 31959 -[5879] Forked 31960 -(31959) found -(31960) found -[5878] Forked 31961 -[5877] Forked 31962 -(31961) found -(31962) found -[5876] Forked 31963 -[5875] Forked 31964 -(31963) found -(31964) found -[5874] Forked 31965 -[5873] Forked 31966 -(31965) found -(31966) found -[5872] Forked 31967 -[5871] Forked 31968 -(31967) found -(31968) found -[5870] Forked 31969 -[5869] Forked 31970 -(31969) found -(31970) found -[5868] Forked 31971 -[5867] Forked 31972 -(31971) found -(31972) found -[5866] Forked 31973 -[5865] Forked 31974 -(31973) found -(31974) found -[5864] Forked 31975 -[5863] Forked 31976 -(31975) found -(31976) found -[5862] Forked 31977 -(31977) found -[5861] Forked 31978 -(31978) found -[5860] Forked 31979 -(31979) found -[5859] Forked 31980 -(31980) found -[5858] Forked 31981 -(31981) found -[5857] Forked 31982 -(31982) found -[5856] Forked 31983 -(31983) found -[5855] Forked 31984 -(31984) found -[5854] Forked 31985 -(31985) found -[5853] Forked 31986 -(31986) found -[5852] Forked 31987 -(31987) found -[5851] Forked 31988 -(31988) found -[5850] Forked 31989 -(31989) found -[5849] Forked 31990 -(31990) found -[5848] Forked 31991 -(31991) found -[5847] Forked 31992 -(31992) found -[5846] Forked 31993 -(31993) found -[5845] Forked 31994 -(31994) found -[5844] Forked 31995 -(31995) found -[5843] Forked 31996 -(31996) found -[5842] Forked 31997 -(31997) found -[5841] Forked 31998 -(31998) found -[5840] Forked 31999 -(31999) found -[5839] Forked 32000 -(32000) found -[5838] Forked 32001 -(32001) found -[5837] Forked 32002 -(32002) found -[5836] Forked 32003 -(32003) found -[5835] Forked 32004 -(32004) found -[5834] Forked 32005 -(32005) found -[5833] Forked 32006 -(32006) found -[5832] Forked 32007 -(32007) found -[5831] Forked 32008 -(32008) found -[5830] Forked 32009 -(32009) found -[5829] Forked 32010 -(32010) found -[5828] Forked 32011 -(32011) found -[5827] Forked 32012 -(32012) found -[5826] Forked 32013 -(32013) found -[5825] Forked 32014 -(32014) found -[5824] Forked 32015 -(32015) found -[5823] Forked 32016 -[5822] Forked 32017 -(32016) found -(32017) found -[5821] Forked 32018 -[5820] Forked 32019 -(32018) found -(32019) found -[5819] Forked 32020 -[5818] Forked 32021 -(32020) found -(32021) found -[5817] Forked 32022 -[5816] Forked 32023 -(32022) found -(32023) found -[5815] Forked 32024 -[5814] Forked 32025 -(32024) found -(32025) found -[5813] Forked 32026 -[5812] Forked 32027 -(32026) found -(32027) found -[5811] Forked 32028 -[5810] Forked 32029 -(32028) found -(32029) found -[5809] Forked 32030 -[5808] Forked 32031 -(32030) found -(32031) found -[5807] Forked 32032 -[5806] Forked 32033 -(32032) found -(32033) found -[5805] Forked 32034 -[5804] Forked 32035 -(32034) found -(32035) found -[5803] Forked 32036 -[5802] Forked 32037 -(32036) found -(32037) found -[5801] Forked 32038 -[5800] Forked 32039 -(32038) found -(32039) found -[5799] Forked 32040 -[5798] Forked 32041 -(32040) found -(32041) found -[5797] Forked 32042 -[5796] Forked 32043 -(32042) found -(32043) found -[5795] Forked 32044 -[5794] Forked 32045 -(32044) found -(32045) found -[5793] Forked 32046 -[5792] Forked 32047 -(32047) found -(32046) found -[5791] Forked 32048 -(32048) found -[5790] Forked 32049 -(32049) found -[5789] Forked 32050 -(32050) found -[5788] Forked 32051 -(32051) found -[5787] Forked 32052 -(32052) found -[5786] Forked 32053 -(32053) found -[5785] Forked 32054 -(32054) found -[5784] Forked 32055 -(32055) found -[5783] Forked 32056 -(32056) found -[5782] Forked 32057 -(32057) found -[5781] Forked 32058 -(32058) found -[5780] Forked 32059 -(32059) found -[5779] Forked 32060 -(32060) found -[5778] Forked 32061 -(32061) found -[5777] Forked 32062 -(32062) found -[5776] Forked 32063 -(32063) found -[5775] Forked 32064 -(32064) found -[5774] Forked 32065 -(32065) found -[5773] Forked 32066 -[5772] Forked 32067 -(32066) found -(32067) found -[5771] Forked 32068 -[5770] Forked 32069 -(32068) found -(32069) found -[5769] Forked 32070 -[5768] Forked 32071 -(32070) found -(32071) found -[5767] Forked 32072 -[5766] Forked 32073 -(32072) found -(32073) found -[5765] Forked 32074 -[5764] Forked 32075 -(32074) found -(32075) found -[5763] Forked 32076 -[5762] Forked 32077 -(32076) found -(32077) found -[5761] Forked 32078 -[5760] Forked 32079 -(32078) found -(32079) found -[5759] Forked 32080 -[5758] Forked 32081 -(32080) found -(32081) found -[5757] Forked 32082 -[5756] Forked 32083 -(32082) found -(32083) found -[5755] Forked 32084 -[5754] Forked 32085 -(32084) found -(32085) found -[5753] Forked 32086 -[5752] Forked 32087 -(32086) found -(32087) found -[5751] Forked 32088 -[5750] Forked 32089 -(32089) found -(32088) found -[5749] Forked 32090 -(32090) found -[5748] Forked 32091 -(32091) found -[5747] Forked 32092 -(32092) found -[5746] Forked 32093 -(32093) found -[5745] Forked 32094 -(32094) found -[5744] Forked 32095 -(32095) found -[5743] Forked 32096 -(32096) found -[5742] Forked 32097 -(32097) found -[5741] Forked 32098 -(32098) found -[5740] Forked 32099 -(32099) found -[5739] Forked 32100 -(32100) found -[5738] Forked 32101 -(32101) found -[5737] Forked 32102 -(32102) found -[5736] Forked 32103 -(32103) found -[5735] Forked 32104 -(32104) found -[5734] Forked 32105 -(32105) found -[5733] Forked 32106 -(32106) found -[5732] Forked 32107 -(32107) found -[5731] Forked 32108 -(32108) found -[5730] Forked 32109 -(32109) found -[5729] Forked 32110 -(32110) found -[5728] Forked 32111 -(32111) found -[5727] Forked 32112 -(32112) found -[5726] Forked 32113 -(32113) found -[5725] Forked 32115 -(32115) found -[5724] Forked 32116 -(32116) found -[5723] Forked 32117 -(32117) found -[5722] Forked 32118 -(32118) found -[5721] Forked 32119 -(32119) found -[5720] Forked 32120 -(32120) found -[5719] Forked 32121 -(32121) found -[5718] Forked 32122 -(32122) found -[5717] Forked 32123 -(32123) found -[5716] Forked 32124 -(32124) found -[5715] Forked 32125 -(32125) found -[5714] Forked 32126 -(32126) found -[5713] Forked 32127 -(32127) found -[5712] Forked 32128 -(32128) found -[5711] Forked 32129 -(32129) found -[5710] Forked 32130 -(32130) found -[5709] Forked 32131 -(32131) found -[5708] Forked 32132 -(32132) found -[5707] Forked 32133 -(32133) found -[5706] Forked 32134 -(32134) found -[5705] Forked 32135 -(32135) found -[5704] Forked 32136 -(32136) found -[5703] Forked 32137 -(32137) found -[5702] Forked 32138 -(32138) found -[5701] Forked 32139 -(32139) found -[5700] Forked 32140 -(32140) found -[5699] Forked 32141 -[5698] Forked 32142 -(32141) found -(32142) found -[5697] Forked 32143 -[5696] Forked 32144 -(32143) found -(32144) found -[5695] Forked 32145 -[5694] Forked 32146 -(32145) found -(32146) found -[5693] Forked 32147 -[5692] Forked 32148 -(32147) found -(32148) found -[5691] Forked 32149 -[5690] Forked 32150 -(32149) found -(32150) found -[5689] Forked 32151 -[5688] Forked 32152 -(32151) found -(32152) found -[5687] Forked 32153 -[5686] Forked 32154 -(32153) found -(32154) found -[5685] Forked 32155 -[5684] Forked 32157 -(32155) found -(32157) found -[5683] Forked 32158 -(32158) found -[5682] Forked 32159 -(32159) found -[5681] Forked 32160 -(32160) found -[5680] Forked 32161 -(32161) found -[5679] Forked 32162 -(32162) found -[5678] Forked 32163 -(32163) found -[5677] Forked 32164 -(32164) found -[5676] Forked 32165 -(32165) found -[5675] Forked 32166 -(32166) found -[5674] Forked 32167 -(32167) found -[5673] Forked 32168 -(32168) found -[5672] Forked 32169 -(32169) found -[5671] Forked 32170 -(32170) found -[5670] Forked 32171 -(32171) found -[5669] Forked 32172 -(32172) found -[5668] Forked 32173 -(32173) found -[5667] Forked 32174 -(32174) found -[5666] Forked 32175 -(32175) found -[5665] Forked 32176 -(32176) found -[5664] Forked 32177 -(32177) found -[5663] Forked 32178 -(32178) found -[5662] Forked 32179 -(32179) found -[5661] Forked 32180 -(32180) found -[5660] Forked 32181 -(32181) found -[5659] Forked 32182 -(32182) found -[5658] Forked 32183 -(32183) found -[5657] Forked 32184 -(32184) found -[5656] Forked 32185 -(32185) found -[5655] Forked 32186 -(32186) found -[5654] Forked 32187 -(32187) found -[5653] Forked 32188 -(32188) found -[5652] Forked 32189 -(32189) found -[5651] Forked 32190 -(32190) found -[5650] Forked 32191 -(32191) found -[5649] Forked 32192 -(32192) found -[5648] Forked 32193 -(32193) found -[5647] Forked 32194 -(32194) found -[5646] Forked 32195 -(32195) found -[5645] Forked 32196 -(32196) found -[5644] Forked 32197 -(32197) found -[5643] Forked 32198 -(32198) found -[5642] Forked 32199 -(32199) found -[5641] Forked 32200 -(32200) found -[5640] Forked 32201 -(32201) found -[5639] Forked 32202 -(32202) found -[5638] Forked 32203 -(32203) found -[5637] Forked 32204 -(32204) found -[5636] Forked 32205 -(32205) found -[5635] Forked 32206 -(32206) found -[5634] Forked 32207 -(32207) found -[5633] Forked 32208 -(32208) found -[5632] Forked 32209 -(32209) found -[5631] Forked 32210 -(32210) found -[5630] Forked 32211 -(32211) found -[5629] Forked 32212 -(32212) found -[5628] Forked 32213 -(32213) found -[5627] Forked 32214 -(32214) found -[5626] Forked 32215 -(32215) found -[5625] Forked 32216 -(32216) found -[5624] Forked 32217 -(32217) found -[5623] Forked 32218 -(32218) found -[5622] Forked 32219 -(32219) found -[5621] Forked 32220 -(32220) found -[5620] Forked 32221 -(32221) found -[5619] Forked 32222 -(32222) found -[5618] Forked 32223 -(32223) found -[5617] Forked 32224 -(32224) found -[5616] Forked 32225 -(32225) found -[5615] Forked 32226 -(32226) found -[5614] Forked 32227 -(32227) found -[5613] Forked 32228 -(32228) found -[5612] Forked 32229 -(32229) found -[5611] Forked 32230 -(32230) found -[5610] Forked 32231 -(32231) found -[5609] Forked 32232 -(32232) found -[5608] Forked 32233 -(32233) found -[5607] Forked 32234 -(32234) found -[5606] Forked 32235 -(32235) found -[5605] Forked 32236 -(32236) found -[5604] Forked 32237 -(32237) found -[5603] Forked 32238 -(32238) found -[5602] Forked 32239 -(32239) found -[5601] Forked 32240 -(32240) found -[5600] Forked 32241 -(32241) found -[5599] Forked 32242 -(32242) found -[5598] Forked 32243 -(32243) found -[5597] Forked 32244 -(32244) found -[5596] Forked 32245 -(32245) found -[5595] Forked 32246 -(32246) found -[5594] Forked 32247 -(32247) found -[5593] Forked 32248 -(32248) found -[5592] Forked 32249 -[5591] Forked 32250 -(32249) found -(32250) found -[5590] Forked 32251 -[5589] Forked 32252 -(32251) found -(32252) found -[5588] Forked 32253 -[5587] Forked 32254 -(32253) found -(32254) found -[5586] Forked 32255 -[5585] Forked 32256 -(32255) found -(32256) found -[5584] Forked 32257 -[5583] Forked 32258 -(32257) found -(32258) found -[5582] Forked 32259 -[5581] Forked 32260 -(32259) found -(32260) found -[5580] Forked 32261 -[5579] Forked 32262 -(32261) found -(32262) found -[5578] Forked 32263 -[5577] Forked 32264 -(32263) found -(32264) found -[5576] Forked 32265 -[5575] Forked 32266 -(32265) found -(32266) found -[5574] Forked 32267 -[5573] Forked 32268 -(32267) found -(32268) found -[5572] Forked 32269 -[5571] Forked 32270 -(32269) found -(32270) found -[5570] Forked 32271 -[5569] Forked 32272 -(32271) found -(32272) found -[5568] Forked 32273 -[5567] Forked 32274 -(32273) found -(32274) found -[5566] Forked 32275 -[5565] Forked 32276 -(32275) found -(32276) found -[5564] Forked 32277 -[5563] Forked 32278 -(32277) found -(32278) found -[5562] Forked 32279 -[5561] Forked 32280 -(32279) found -(32280) found -[5560] Forked 32281 -[5559] Forked 32282 -(32281) found -(32282) found -[5558] Forked 32283 -[5557] Forked 32284 -(32283) found -(32284) found -[5556] Forked 32285 -[5555] Forked 32286 -(32285) found -(32286) found -[5554] Forked 32287 -[5553] Forked 32288 -(32287) found -(32288) found -[5552] Forked 32289 -[5551] Forked 32290 -(32289) found -(32290) found -[5550] Forked 32291 -[5549] Forked 32292 -(32291) found -(32292) found -[5548] Forked 32293 -[5547] Forked 32294 -(32293) found -(32294) found -[5546] Forked 32295 -(32295) found -[5545] Forked 32296 -(32296) found -[5544] Forked 32297 -(32297) found -[5543] Forked 32298 -(32298) found -[5542] Forked 32299 -(32299) found -[5541] Forked 32300 -(32300) found -[5540] Forked 32301 -(32301) found -[5539] Forked 32302 -(32302) found -[5538] Forked 32303 -(32303) found -[5537] Forked 32304 -(32304) found -[5536] Forked 32305 -(32305) found -[5535] Forked 32306 -(32306) found -[5534] Forked 32307 -(32307) found -[5533] Forked 32308 -(32308) found -[5532] Forked 32309 -(32309) found -[5531] Forked 32310 -(32310) found -[5530] Forked 32311 -(32311) found -[5529] Forked 32312 -(32312) found -[5528] Forked 32313 -(32313) found -[5527] Forked 32314 -(32314) found -[5526] Forked 32315 -(32315) found -[5525] Forked 32316 -(32316) found -[5524] Forked 32317 -(32317) found -[5523] Forked 32318 -(32318) found -[5522] Forked 32319 -(32319) found -[5521] Forked 32320 -(32320) found -[5520] Forked 32321 -(32321) found -[5519] Forked 32322 -(32322) found -[5518] Forked 32323 -(32323) found -[5517] Forked 32324 -(32324) found -[5516] Forked 32325 -(32325) found -[5515] Forked 32326 -(32326) found -[5514] Forked 32327 -(32327) found -[5513] Forked 32328 -(32328) found -[5512] Forked 32329 -(32329) found -[5511] Forked 32330 -[5510] Forked 32331 -(32330) found -(32331) found -[5509] Forked 32332 -[5508] Forked 32333 -(32332) found -(32333) found -[5507] Forked 32334 -[5506] Forked 32335 -(32334) found -(32335) found -[5505] Forked 32336 -[5504] Forked 32337 -(32336) found -(32337) found -[5503] Forked 32338 -[5502] Forked 32339 -(32338) found -(32339) found -[5501] Forked 32340 -[5500] Forked 32341 -(32340) found -(32341) found -[5499] Forked 32342 -[5498] Forked 32343 -(32342) found -(32343) found -[5497] Forked 32344 -[5496] Forked 32345 -(32344) found -(32345) found -[5495] Forked 32346 -[5494] Forked 32347 -(32346) found -(32347) found -[5493] Forked 32348 -[5492] Forked 32349 -(32348) found -(32349) found -[5491] Forked 32350 -[5490] Forked 32351 -(32350) found -(32351) found -[5489] Forked 32352 -[5488] Forked 32353 -(32352) found -(32353) found -[5487] Forked 32354 -[5486] Forked 32355 -(32354) found -(32355) found -[5485] Forked 32356 -[5484] Forked 32357 -(32356) found -(32357) found -[5483] Forked 32358 -[5482] Forked 32359 -(32358) found -(32359) found -[5481] Forked 32360 -[5480] Forked 32361 -(32360) found -(32361) found -[5479] Forked 32362 -[5478] Forked 32363 -(32362) found -(32363) found -[5477] Forked 32364 -[5476] Forked 32365 -(32364) found -(32365) found -[5475] Forked 32366 -[5474] Forked 32367 -(32366) found -(32367) found -[5473] Forked 32368 -[5472] Forked 32369 -(32368) found -(32369) found -[5471] Forked 32370 -[5470] Forked 32371 -(32370) found -(32371) found -[5469] Forked 32372 -[5468] Forked 32373 -(32372) found -(32373) found -[5467] Forked 32374 -[5466] Forked 32375 -(32374) found -(32375) found -[5465] Forked 32376 -[5464] Forked 32377 -(32376) found -(32377) found -[5463] Forked 32378 -[5462] Forked 32379 -(32378) found -(32379) found -[5461] Forked 32380 -[5460] Forked 32381 -(32380) found -(32381) found -[5459] Forked 32382 -[5458] Forked 32383 -(32382) found -(32383) found -[5457] Forked 32384 -[5456] Forked 32385 -(32384) found -(32385) found -[5455] Forked 32386 -[5454] Forked 32387 -(32386) found -(32387) found -[5453] Forked 32388 -[5452] Forked 32389 -(32388) found -(32389) found -[5451] Forked 32390 -[5450] Forked 32391 -(32390) found -(32391) found -[5449] Forked 32392 -[5448] Forked 32393 -(32392) found -(32393) found -[5447] Forked 32394 -[5446] Forked 32395 -(32394) found -(32395) found -[5445] Forked 32396 -[5444] Forked 32397 -(32396) found -(32397) found -[5443] Forked 32398 -[5442] Forked 32399 -(32398) found -(32399) found -[5441] Forked 32400 -[5440] Forked 32401 -(32400) found -(32401) found -[5439] Forked 32402 -[5438] Forked 32403 -(32402) found -(32403) found -[5437] Forked 32404 -[5436] Forked 32405 -(32404) found -(32405) found -[5435] Forked 32406 -[5434] Forked 32407 -(32406) found -(32407) found -[5433] Forked 32408 -[5432] Forked 32409 -(32408) found -(32409) found -[5431] Forked 32410 -[5430] Forked 32411 -(32410) found -(32411) found -[5429] Forked 32412 -[5428] Forked 32413 -(32412) found -(32413) found -[5427] Forked 32414 -[5426] Forked 32415 -(32414) found -(32415) found -[5425] Forked 32416 -[5424] Forked 32417 -(32416) found -(32417) found -[5423] Forked 32418 -(32418) found -[5422] Forked 32419 -[5421] Forked 32420 -(32419) found -(32420) found -[5420] Forked 32421 -[5419] Forked 32422 -(32421) found -(32422) found -[5418] Forked 32423 -[5417] Forked 32424 -(32423) found -(32424) found -[5416] Forked 32425 -[5415] Forked 32426 -(32425) found -(32426) found -[5414] Forked 32427 -[5413] Forked 32428 -(32427) found -(32428) found -[5412] Forked 32429 -[5411] Forked 32430 -(32429) found -(32430) found -[5410] Forked 32431 -[5409] Forked 32432 -(32431) found -(32432) found -[5408] Forked 32433 -[5407] Forked 32434 -(32433) found -(32434) found -[5406] Forked 32435 -[5405] Forked 32436 -(32435) found -(32436) found -[5404] Forked 32437 -[5403] Forked 32438 -(32437) found -(32438) found -[5402] Forked 32439 -[5401] Forked 32440 -(32439) found -(32440) found -[5400] Forked 32441 -[5399] Forked 32442 -(32441) found -(32442) found -[5398] Forked 32443 -[5397] Forked 32444 -(32443) found -(32444) found -[5396] Forked 32445 -[5395] Forked 32446 -(32445) found -(32446) found -[5394] Forked 32447 -[5393] Forked 32448 -(32447) found -(32448) found -[5392] Forked 32449 -[5391] Forked 32450 -(32449) found -(32450) found -[5390] Forked 32451 -[5389] Forked 32452 -(32451) found -(32452) found -[5388] Forked 32453 -[5387] Forked 32454 -(32453) found -(32454) found -[5386] Forked 32455 -[5385] Forked 32456 -(32455) found -(32456) found -[5384] Forked 32457 -[5383] Forked 32458 -(32457) found -(32458) found -[5382] Forked 32459 -[5381] Forked 32460 -(32459) found -(32460) found -[5380] Forked 32461 -[5379] Forked 32462 -(32461) found -(32462) found -[5378] Forked 32463 -[5377] Forked 32464 -(32463) found -(32464) found -[5376] Forked 32465 -[5375] Forked 32466 -(32465) found -(32466) found -[5374] Forked 32467 -[5373] Forked 32468 -(32467) found -(32468) found -[5372] Forked 32469 -[5371] Forked 32470 -(32469) found -(32470) found -[5370] Forked 32471 -[5369] Forked 32472 -(32471) found -(32472) found -[5368] Forked 32473 -[5367] Forked 32474 -(32473) found -(32474) found -[5366] Forked 32475 -[5365] Forked 32476 -(32475) found -(32476) found -[5364] Forked 32477 -[5363] Forked 32478 -(32477) found -(32478) found -[5362] Forked 32479 -[5361] Forked 32480 -(32479) found -(32480) found -[5360] Forked 32481 -[5359] Forked 32482 -(32481) found -(32482) found -[5358] Forked 32483 -[5357] Forked 32484 -(32483) found -(32484) found -[5356] Forked 32485 -[5355] Forked 32486 -(32485) found -(32486) found -[5354] Forked 32487 -[5353] Forked 32488 -(32487) found -(32488) found -[5352] Forked 32489 -[5351] Forked 32490 -(32489) found -(32490) found -[5350] Forked 32491 -[5349] Forked 32492 -(32491) found -(32492) found -[5348] Forked 32493 -[5347] Forked 32494 -(32493) found -(32494) found -[5346] Forked 32495 -[5345] Forked 32496 -(32495) found -(32496) found -[5344] Forked 32497 -[5343] Forked 32498 -(32497) found -(32498) found -[5342] Forked 32499 -[5341] Forked 32500 -(32499) found -(32500) found -[5340] Forked 32501 -[5339] Forked 32502 -(32501) found -(32502) found -[5338] Forked 32503 -[5337] Forked 32504 -(32503) found -(32504) found -[5336] Forked 32505 -[5335] Forked 32506 -(32505) found -(32506) found -[5334] Forked 32507 -[5333] Forked 32508 -(32507) found -(32508) found -[5332] Forked 32509 -[5331] Forked 32510 -(32509) found -(32510) found -[5330] Forked 32511 -[5329] Forked 32512 -(32511) found -(32512) found -[5328] Forked 32513 -[5327] Forked 32514 -(32513) found -(32514) found -[5326] Forked 32515 -[5325] Forked 32516 -(32515) found -(32516) found -[5324] Forked 32517 -[5323] Forked 32518 -(32517) found -(32518) found -[5322] Forked 32519 -[5321] Forked 32520 -(32519) found -(32520) found -[5320] Forked 32521 -[5319] Forked 32522 -(32521) found -(32522) found -[5318] Forked 32523 -[5317] Forked 32524 -(32523) found -(32524) found -[5316] Forked 32525 -[5315] Forked 32526 -(32525) found -(32526) found -[5314] Forked 32527 -[5313] Forked 32528 -(32527) found -(32528) found -[5312] Forked 32529 -[5311] Forked 32530 -(32529) found -(32530) found -[5310] Forked 32531 -[5309] Forked 32532 -(32531) found -(32532) found -[5308] Forked 32533 -[5307] Forked 32534 -(32533) found -(32534) found -[5306] Forked 32535 -[5305] Forked 32536 -(32535) found -(32536) found -[5304] Forked 32537 -[5303] Forked 32538 -(32537) found -(32538) found -[5302] Forked 32539 -[5301] Forked 32540 -(32539) found -(32540) found -[5300] Forked 32541 -[5299] Forked 32542 -(32541) found -(32542) found -[5298] Forked 32543 -(32543) found -[5297] Forked 32544 -(32544) found -[5296] Forked 32545 -(32545) found -[5295] Forked 32546 -(32546) found -[5294] Forked 32547 -(32547) found -[5293] Forked 32548 -(32548) found -[5292] Forked 32549 -(32549) found -[5291] Forked 32550 -[5290] Forked 32551 -(32550) found -(32551) found -[5289] Forked 32552 -[5288] Forked 32553 -(32552) found -(32553) found -[5287] Forked 32554 -[5286] Forked 32555 -(32554) found -(32555) found -[5285] Forked 32556 -[5284] Forked 32557 -(32556) found -(32557) found -[5283] Forked 32558 -[5282] Forked 32559 -(32558) found -(32559) found -[5281] Forked 32560 -[5280] Forked 32561 -(32560) found -(32561) found -[5279] Forked 32562 -[5278] Forked 32563 -(32562) found -(32563) found -[5277] Forked 32564 -[5276] Forked 32565 -(32564) found -(32565) found -[5275] Forked 32566 -[5274] Forked 32567 -(32566) found -(32567) found -[5273] Forked 32568 -[5272] Forked 32569 -(32568) found -(32569) found -[5271] Forked 32570 -[5270] Forked 32571 -(32570) found -(32571) found -[5269] Forked 32572 -[5268] Forked 32573 -(32572) found -(32573) found -[5267] Forked 32574 -[5266] Forked 32575 -(32574) found -(32575) found -[5265] Forked 32576 -[5264] Forked 32577 -(32576) found -(32577) found -[5263] Forked 32578 -[5262] Forked 32579 -(32578) found -(32579) found -[5261] Forked 32580 -[5260] Forked 32581 -(32580) found -(32581) found -[5259] Forked 32582 -[5258] Forked 32583 -(32582) found -(32583) found -[5257] Forked 32584 -[5256] Forked 32585 -(32584) found -(32585) found -[5255] Forked 32586 -[5254] Forked 32587 -(32586) found -(32587) found -[5253] Forked 32588 -[5252] Forked 32589 -(32588) found -(32589) found -[5251] Forked 32590 -[5250] Forked 32591 -(32590) found -(32591) found -[5249] Forked 32592 -[5248] Forked 32593 -(32592) found -(32593) found -[5247] Forked 32594 -(32594) found -[5246] Forked 32595 -(32595) found -[5245] Forked 32596 -(32596) found -[5244] Forked 32597 -(32597) found -[5243] Forked 32598 -(32598) found -[5242] Forked 32599 -(32599) found -[5241] Forked 32600 -(32600) found -[5240] Forked 32601 -(32601) found -[5239] Forked 32602 -(32602) found -[5238] Forked 32603 -(32603) found -[5237] Forked 32604 -(32604) found -[5236] Forked 32605 -(32605) found -[5235] Forked 32606 -(32606) found -[5234] Forked 32607 -(32607) found -[5233] Forked 32608 -(32608) found -[5232] Forked 32609 -(32609) found -[5231] Forked 32610 -(32610) found -[5230] Forked 32611 -(32611) found -[5229] Forked 32612 -(32612) found -[5228] Forked 32613 -(32613) found -[5227] Forked 32614 -(32614) found -[5226] Forked 32615 -(32615) found -[5225] Forked 32616 -(32616) found -[5224] Forked 32617 -(32617) found -[5223] Forked 32618 -(32618) found -[5222] Forked 32619 -(32619) found -[5221] Forked 32620 -(32620) found -[5220] Forked 32621 -(32621) found -[5219] Forked 32622 -(32622) found -[5218] Forked 32623 -(32623) found -[5217] Forked 32624 -(32624) found -[5216] Forked 32625 -(32625) found -[5215] Forked 32626 -(32626) found -[5214] Forked 32627 -(32627) found -[5213] Forked 32628 -(32628) found -[5212] Forked 32629 -(32629) found -[5211] Forked 32630 -(32630) found -[5210] Forked 32631 -(32631) found -[5209] Forked 32632 -(32632) found -[5208] Forked 32633 -(32633) found -[5207] Forked 32634 -[5206] Forked 32635 -(32634) found -(32635) found -[5205] Forked 32636 -[5204] Forked 32637 -(32636) found -(32637) found -[5203] Forked 32638 -[5202] Forked 32639 -(32638) found -(32639) found -[5201] Forked 32640 -[5200] Forked 32641 -(32640) found -(32641) found -[5199] Forked 32642 -[5198] Forked 32643 -(32642) found -(32643) found -[5197] Forked 32644 -[5196] Forked 32645 -(32644) found -(32645) found -[5195] Forked 32646 -[5194] Forked 32647 -(32646) found -(32647) found -[5193] Forked 32648 -[5192] Forked 32649 -(32648) found -(32649) found -[5191] Forked 32650 -[5190] Forked 32651 -(32650) found -(32651) found -[5189] Forked 32652 -[5188] Forked 32653 -(32652) found -(32653) found -[5187] Forked 32654 -[5186] Forked 32655 -(32654) found -(32655) found -[5185] Forked 32656 -[5184] Forked 32657 -(32656) found -(32657) found -[5183] Forked 32658 -[5182] Forked 32659 -(32658) found -(32659) found -[5181] Forked 32660 -(32660) found -[5180] Forked 32661 -[5179] Forked 32662 -(32661) found -(32662) found -[5178] Forked 32663 -[5177] Forked 32664 -(32663) found -(32664) found -[5176] Forked 32665 -[5175] Forked 32666 -(32665) found -(32666) found -[5174] Forked 32667 -[5173] Forked 32668 -(32667) found -(32668) found -[5172] Forked 32669 -[5171] Forked 32670 -(32669) found -(32670) found -[5170] Forked 32671 -[5169] Forked 32672 -(32671) found -(32672) found -[5168] Forked 32673 -(32673) found -[5167] Forked 32674 -(32674) found -[5166] Forked 32675 -(32675) found -[5165] Forked 32676 -(32676) found -[5164] Forked 32677 -(32677) found -[5163] Forked 32678 -(32678) found -[5162] Forked 32679 -(32679) found -[5161] Forked 32680 -(32680) found -[5160] Forked 32681 -(32681) found -[5159] Forked 32682 -(32682) found -[5158] Forked 32683 -(32683) found -[5157] Forked 32684 -(32684) found -[5156] Forked 32685 -(32685) found -[5155] Forked 32686 -(32686) found -[5154] Forked 32687 -(32687) found -[5153] Forked 32688 -(32688) found -[5152] Forked 32689 -(32689) found -[5151] Forked 32690 -(32690) found -[5150] Forked 32691 -(32691) found -[5149] Forked 32692 -(32692) found -[5148] Forked 32693 -(32693) found -[5147] Forked 32694 -(32694) found -[5146] Forked 32695 -(32695) found -[5145] Forked 32696 -(32696) found -[5144] Forked 32697 -(32697) found -[5143] Forked 32698 -(32698) found -[5142] Forked 32699 -(32699) found -[5141] Forked 32700 -(32700) found -[5140] Forked 32701 -(32701) found -[5139] Forked 32702 -(32702) found -[5138] Forked 32703 -(32703) found -[5137] Forked 32704 -(32704) found -[5136] Forked 32705 -(32705) found -[5135] Forked 32706 -(32706) found -[5134] Forked 32707 -(32707) found -[5133] Forked 32708 -(32708) found -[5132] Forked 32709 -(32709) found -[5131] Forked 32710 -(32710) found -[5130] Forked 32711 -(32711) found -[5129] Forked 32712 -[5128] Forked 32713 -(32712) found -(32713) found -[5127] Forked 32714 -[5126] Forked 32715 -(32714) found -(32715) found -[5125] Forked 32716 -[5124] Forked 32717 -(32716) found -(32717) found -[5123] Forked 32718 -[5122] Forked 32719 -(32718) found -(32719) found -[5121] Forked 32720 -[5120] Forked 32721 -(32720) found -(32721) found -[5119] Forked 32722 -[5118] Forked 32723 -(32722) found -(32723) found -[5117] Forked 32724 -[5116] Forked 32725 -(32724) found -(32725) found -[5115] Forked 32726 -[5114] Forked 32727 -(32726) found -(32727) found -[5113] Forked 32728 -[5112] Forked 32729 -(32728) found -(32729) found -[5111] Forked 32730 -[5110] Forked 32731 -(32730) found -(32731) found -[5109] Forked 32732 -[5108] Forked 32733 -(32732) found -(32733) found -[5107] Forked 32734 -[5106] Forked 32735 -(32734) found -(32735) found -[5105] Forked 32736 -[5104] Forked 32737 -(32736) found -(32737) found -[5103] Forked 32738 -[5102] Forked 32739 -(32738) found -(32739) found -[5101] Forked 32740 -[5100] Forked 32741 -(32740) found -(32741) found -[5099] Forked 32742 -[5098] Forked 32743 -(32742) found -(32743) found -[5097] Forked 32744 -[5096] Forked 32745 -(32744) found -(32745) found -[5095] Forked 32746 -[5094] Forked 32747 -(32746) found -(32747) found -[5093] Forked 32748 -[5092] Forked 32749 -(32748) found -(32749) found -[5091] Forked 32750 -[5090] Forked 32751 -(32750) found -(32751) found -[5089] Forked 32752 -[5088] Forked 32753 -(32752) found -(32753) found -[5087] Forked 32754 -[5086] Forked 32755 -(32754) found -(32755) found -[5085] Forked 32756 -[5084] Forked 32757 -(32756) found -(32757) found -[5083] Forked 32758 -[5082] Forked 32759 -(32758) found -(32759) found -[5081] Forked 32760 -[5080] Forked 32761 -(32760) found -(32761) found -[5079] Forked 32762 -[5078] Forked 32763 -(32762) found -(32763) found -[5077] Forked 32764 -[5076] Forked 32765 -(32764) found -(32765) found -[5075] Forked 32766 -[5074] Forked 32767 -(32766) found -(32767) found -[5073] Forked 300 -[5072] Forked 301 -(300) found -(301) found -[5071] Forked 302 -[5070] Forked 303 -(302) found -(303) found -[5069] Forked 304 -[5068] Forked 305 -(304) found -(305) found -[5067] Forked 306 -[5066] Forked 307 -(306) found -(307) found -[5065] Forked 308 -(308) found -[5064] Forked 310 -(310) found -[5063] Forked 311 -(311) found -[5062] Forked 312 -(312) found -[5061] Forked 313 -(313) found -[5060] Forked 314 -(314) found -[5059] Forked 315 -(315) found -[5058] Forked 316 -(316) found -[5057] Forked 317 -(317) found -[5056] Forked 318 -(318) found -[5055] Forked 319 -(319) found -[5054] Forked 320 -(320) found -[5053] Forked 321 -(321) found -[5052] Forked 322 -(322) found -[5051] Forked 323 -(323) found -[5050] Forked 324 -(324) found -[5049] Forked 325 -(325) found -[5048] Forked 328 -(328) found -[5047] Forked 330 -(330) found -[5046] Forked 331 -(331) found -[5045] Forked 332 -(332) found -[5044] Forked 333 -(333) found -[5043] Forked 334 -(334) found -[5042] Forked 335 -(335) found -[5041] Forked 336 -(336) found -[5040] Forked 337 -(337) found -[5039] Forked 338 -(338) found -[5038] Forked 339 -(339) found -[5037] Forked 340 -(340) found -[5036] Forked 341 -(341) found -[5035] Forked 342 -(342) found -[5034] Forked 343 -(343) found -[5033] Forked 344 -(344) found -[5032] Forked 345 -(345) found -[5031] Forked 346 -(346) found -[5030] Forked 347 -(347) found -[5029] Forked 348 -(348) found -[5028] Forked 349 -(349) found -[5027] Forked 350 -(350) found -[5026] Forked 351 -(351) found -[5025] Forked 352 -(352) found -[5024] Forked 353 -(353) found -[5023] Forked 354 -(354) found -[5022] Forked 355 -(355) found -[5021] Forked 356 -(356) found -[5020] Forked 357 -(357) found -[5019] Forked 358 -(358) found -[5018] Forked 359 -(359) found -[5017] Forked 360 -(360) found -[5016] Forked 361 -(361) found -[5015] Forked 362 -(362) found -[5014] Forked 363 -(363) found -[5013] Forked 364 -[5012] Forked 365 -(364) found -(365) found -[5011] Forked 366 -[5010] Forked 367 -(366) found -(367) found -[5009] Forked 368 -[5008] Forked 369 -(368) found -(369) found -[5007] Forked 370 -[5006] Forked 371 -(370) found -(371) found -[5005] Forked 372 -[5004] Forked 373 -(372) found -(373) found -[5003] Forked 374 -[5002] Forked 375 -(374) found -(375) found -[5001] Forked 376 -[5000] Forked 377 -(376) found -(377) found -[4999] Forked 378 -[4998] Forked 379 -(378) found -(379) found -[4997] Forked 380 -[4996] Forked 381 -(380) found -(381) found -[4995] Forked 383 -[4994] Forked 384 -(383) found -(384) found -[4993] Forked 385 -[4992] Forked 386 -(385) found -(386) found -[4991] Forked 387 -[4990] Forked 388 -(387) found -(388) found -[4989] Forked 389 -[4988] Forked 390 -(389) found -(390) found -[4987] Forked 391 -[4986] Forked 392 -(391) found -(392) found -[4985] Forked 393 -[4984] Forked 394 -(393) found -(394) found -[4983] Forked 395 -[4982] Forked 396 -(395) found -(396) found -[4981] Forked 397 -[4980] Forked 398 -(397) found -(398) found -[4979] Forked 399 -[4978] Forked 401 -(399) found -(401) found -[4977] Forked 402 -[4976] Forked 403 -(402) found -(403) found -[4975] Forked 404 -[4974] Forked 405 -(404) found -(405) found -[4973] Forked 407 -[4972] Forked 408 -(407) found -(408) found -[4971] Forked 409 -[4970] Forked 410 -(409) found -(410) found -[4969] Forked 411 -[4968] Forked 412 -(411) found -(412) found -[4967] Forked 413 -[4966] Forked 414 -(413) found -(414) found -[4965] Forked 415 -[4964] Forked 416 -(415) found -(416) found -[4963] Forked 417 -[4962] Forked 418 -(417) found -(418) found -[4961] Forked 419 -[4960] Forked 420 -(419) found -(420) found -[4959] Forked 421 -[4958] Forked 422 -(421) found -(422) found -[4957] Forked 423 -[4956] Forked 424 -(423) found -(424) found -[4955] Forked 425 -[4954] Forked 426 -(425) found -(426) found -[4953] Forked 427 -[4952] Forked 429 -(427) found -(429) found -[4951] Forked 430 -[4950] Forked 431 -(430) found -(431) found -[4949] Forked 432 -[4948] Forked 433 -(432) found -(433) found -[4947] Forked 434 -[4946] Forked 435 -(434) found -(435) found -[4945] Forked 436 -[4944] Forked 437 -(436) found -(437) found -[4943] Forked 438 -[4942] Forked 439 -(439) found -(438) found -[4941] Forked 440 -(440) found -[4940] Forked 441 -(441) found -[4939] Forked 442 -(442) found -[4938] Forked 443 -(443) found -[4937] Forked 444 -(444) found -[4936] Forked 445 -(445) found -[4935] Forked 446 -(446) found -[4934] Forked 447 -(447) found -[4933] Forked 448 -(448) found -[4932] Forked 449 -(449) found -[4931] Forked 450 -(450) found -[4930] Forked 451 -(451) found -[4929] Forked 452 -(452) found -[4928] Forked 453 -(453) found -[4927] Forked 454 -(454) found -[4926] Forked 455 -(455) found -[4925] Forked 456 -(456) found -[4924] Forked 457 -(457) found -[4923] Forked 458 -(458) found -[4922] Forked 459 -(459) found -[4921] Forked 460 -(460) found -[4920] Forked 461 -(461) found -[4919] Forked 462 -(462) found -[4918] Forked 463 -(463) found -[4917] Forked 464 -(464) found -[4916] Forked 465 -(465) found -[4915] Forked 466 -(466) found -[4914] Forked 467 -(467) found -[4913] Forked 468 -(468) found -[4912] Forked 469 -(469) found -[4911] Forked 470 -(470) found -[4910] Forked 471 -(471) found -[4909] Forked 472 -(472) found -[4908] Forked 473 -(473) found -[4907] Forked 474 -(474) found -[4906] Forked 475 -(475) found -[4905] Forked 476 -(476) found -[4904] Forked 477 -(477) found -[4903] Forked 478 -(478) found -[4902] Forked 479 -(479) found -[4901] Forked 480 -(480) found -[4900] Forked 481 -(481) found -[4899] Forked 482 -(482) found -[4898] Forked 483 -(483) found -[4897] Forked 484 -(484) found -[4896] Forked 485 -(485) found -[4895] Forked 486 -(486) found -[4894] Forked 487 -(487) found -[4893] Forked 488 -(488) found -[4892] Forked 489 -(489) found -[4891] Forked 490 -(490) found -[4890] Forked 491 -(491) found -[4889] Forked 492 -(492) found -[4888] Forked 493 -(493) found -[4887] Forked 494 -(494) found -[4886] Forked 495 -(495) found -[4885] Forked 496 -(496) found -[4884] Forked 497 -(497) found -[4883] Forked 498 -(498) found -[4882] Forked 499 -(499) found -[4881] Forked 500 -(500) found -[4880] Forked 501 -(501) found -[4879] Forked 502 -(502) found -[4878] Forked 503 -(503) found -[4877] Forked 504 -(504) found -[4876] Forked 505 -(505) found -[4875] Forked 506 -(506) found -[4874] Forked 507 -(507) found -[4873] Forked 508 -(508) found -[4872] Forked 509 -(509) found -[4871] Forked 510 -(510) found -[4870] Forked 511 -(511) found -[4869] Forked 512 -(512) found -[4868] Forked 513 -(513) found -[4867] Forked 514 -(514) found -[4866] Forked 515 -(515) found -[4865] Forked 516 -(516) found -[4864] Forked 517 -(517) found -[4863] Forked 518 -(518) found -[4862] Forked 519 -[4861] Forked 520 -(519) found -(520) found -[4860] Forked 521 -[4859] Forked 522 -(521) found -(522) found -[4858] Forked 523 -[4857] Forked 524 -(523) found -(524) found -[4856] Forked 525 -[4855] Forked 526 -(525) found -(526) found -[4854] Forked 527 -[4853] Forked 528 -(527) found -(528) found -[4852] Forked 529 -[4851] Forked 530 -(529) found -(530) found -[4850] Forked 531 -[4849] Forked 532 -(531) found -(532) found -[4848] Forked 533 -[4847] Forked 534 -(533) found -(534) found -[4846] Forked 535 -[4845] Forked 536 -(535) found -(536) found -[4844] Forked 537 -[4843] Forked 538 -(537) found -(538) found -[4842] Forked 539 -[4841] Forked 540 -(539) found -(540) found -[4840] Forked 541 -[4839] Forked 542 -(541) found -(542) found -[4838] Forked 543 -[4837] Forked 544 -(543) found -(544) found -[4836] Forked 545 -[4835] Forked 546 -(545) found -(546) found -[4834] Forked 547 -[4833] Forked 548 -(547) found -(548) found -[4832] Forked 549 -[4831] Forked 550 -(549) found -(550) found -[4830] Forked 551 -[4829] Forked 552 -(551) found -(552) found -[4828] Forked 553 -[4827] Forked 554 -(553) found -(554) found -[4826] Forked 555 -[4825] Forked 556 -(555) found -(556) found -[4824] Forked 557 -[4823] Forked 558 -(557) found -(558) found -[4822] Forked 559 -[4821] Forked 560 -(559) found -(560) found -[4820] Forked 561 -[4819] Forked 562 -(561) found -(562) found -[4818] Forked 563 -[4817] Forked 564 -(563) found -(564) found -[4816] Forked 565 -(565) found -[4815] Forked 566 -(566) found -[4814] Forked 567 -(567) found -[4813] Forked 568 -(568) found -[4812] Forked 569 -(569) found -[4811] Forked 570 -(570) found -[4810] Forked 571 -(571) found -[4809] Forked 572 -(572) found -[4808] Forked 573 -(573) found -[4807] Forked 574 -(574) found -[4806] Forked 575 -(575) found -[4805] Forked 576 -(576) found -[4804] Forked 577 -(577) found -[4803] Forked 578 -(578) found -[4802] Forked 579 -(579) found -[4801] Forked 580 -(580) found -[4800] Forked 581 -(581) found -[4799] Forked 582 -(582) found -[4798] Forked 583 -(583) found -[4797] Forked 584 -(584) found -[4796] Forked 585 -(585) found -[4795] Forked 586 -(586) found -[4794] Forked 587 -(587) found -[4793] Forked 588 -(588) found -[4792] Forked 589 -(589) found -[4791] Forked 590 -(590) found -[4790] Forked 591 -(591) found -[4789] Forked 592 -(592) found -[4788] Forked 593 -(593) found -[4787] Forked 594 -(594) found -[4786] Forked 595 -(595) found -[4785] Forked 596 -(596) found -[4784] Forked 597 -(597) found -[4783] Forked 598 -(598) found -[4782] Forked 599 -(599) found -[4781] Forked 600 -[4780] Forked 601 -(600) found -(601) found -[4779] Forked 602 -[4778] Forked 603 -(602) found -(603) found -[4777] Forked 604 -[4776] Forked 606 -(604) found -(606) found -[4775] Forked 607 -[4774] Forked 609 -(607) found -(609) found -[4773] Forked 610 -[4772] Forked 612 -(610) found -(612) found -[4771] Forked 613 -[4770] Forked 615 -(613) found -(615) found -[4769] Forked 616 -[4768] Forked 617 -(616) found -(617) found -[4767] Forked 618 -[4766] Forked 619 -(618) found -(619) found -[4765] Forked 620 -[4764] Forked 621 -(620) found -(621) found -[4763] Forked 622 -[4762] Forked 623 -(622) found -(623) found -[4761] Forked 624 -[4760] Forked 625 -(624) found -(625) found -[4759] Forked 626 -[4758] Forked 627 -(626) found -(627) found -[4757] Forked 628 -[4756] Forked 629 -(628) found -(629) found -[4755] Forked 630 -[4754] Forked 631 -(630) found -(631) found -[4753] Forked 632 -[4752] Forked 633 -(632) found -(633) found -[4751] Forked 634 -[4750] Forked 635 -(634) found -(635) found -[4749] Forked 636 -[4748] Forked 637 -(636) found -(637) found -[4747] Forked 638 -[4746] Forked 639 -(638) found -(639) found -[4745] Forked 640 -[4744] Forked 641 -(640) found -(641) found -[4743] Forked 642 -[4742] Forked 643 -(642) found -(643) found -[4741] Forked 644 -[4740] Forked 646 -(644) found -(646) found -[4739] Forked 647 -(647) found -[4738] Forked 648 -(648) found -[4737] Forked 649 -(649) found -[4736] Forked 650 -(650) found -[4735] Forked 651 -(651) found -[4734] Forked 652 -(652) found -[4733] Forked 653 -(653) found -[4732] Forked 654 -(654) found -[4731] Forked 655 -(655) found -[4730] Forked 656 -(656) found -[4729] Forked 657 -(657) found -[4728] Forked 658 -(658) found -[4727] Forked 659 -(659) found -[4726] Forked 660 -(660) found -[4725] Forked 661 -(661) found -[4724] Forked 662 -(662) found -[4723] Forked 663 -(663) found -[4722] Forked 664 -(664) found -[4721] Forked 665 -(665) found -[4720] Forked 666 -(666) found -[4719] Forked 667 -(667) found -[4718] Forked 668 -(668) found -[4717] Forked 669 -(669) found -[4716] Forked 670 -(670) found -[4715] Forked 671 -(671) found -[4714] Forked 672 -(672) found -[4713] Forked 673 -(673) found -[4712] Forked 674 -(674) found -[4711] Forked 675 -(675) found -[4710] Forked 677 -(677) found -[4709] Forked 678 -(678) found -[4708] Forked 679 -(679) found -[4707] Forked 680 -(680) found -[4706] Forked 681 -(681) found -[4705] Forked 682 -(682) found -[4704] Forked 683 -(683) found -[4703] Forked 684 -(684) found -[4702] Forked 685 -(685) found -[4701] Forked 686 -[4700] Forked 687 -(686) found -(687) found -[4699] Forked 688 -[4698] Forked 689 -(688) found -(689) found -[4697] Forked 690 -[4696] Forked 691 -(691) found -(690) found -[4695] Forked 692 -(692) found -[4694] Forked 693 -(693) found -[4693] Forked 694 -(694) found -[4692] Forked 695 -(695) found -[4691] Forked 696 -(696) found -[4690] Forked 697 -(697) found -[4689] Forked 698 -(698) found -[4688] Forked 699 -(699) found -[4687] Forked 700 -(700) found -[4686] Forked 701 -(701) found -[4685] Forked 702 -(702) found -[4684] Forked 703 -(703) found -[4683] Forked 704 -(704) found -[4682] Forked 705 -(705) found -[4681] Forked 706 -(706) found -[4680] Forked 707 -(707) found -[4679] Forked 708 -(708) found -[4678] Forked 709 -(709) found -[4677] Forked 710 -(710) found -[4676] Forked 711 -(711) found -[4675] Forked 712 -(712) found -[4674] Forked 713 -(713) found -[4673] Forked 714 -(714) found -[4672] Forked 715 -(715) found -[4671] Forked 716 -(716) found -[4670] Forked 717 -(717) found -[4669] Forked 718 -(718) found -[4668] Forked 719 -(719) found -[4667] Forked 720 -(720) found -[4666] Forked 721 -(721) found -[4665] Forked 722 -(722) found -[4664] Forked 723 -(723) found -[4663] Forked 724 -(724) found -[4662] Forked 725 -(725) found -[4661] Forked 726 -(726) found -[4660] Forked 727 -(727) found -[4659] Forked 728 -(728) found -[4658] Forked 729 -(729) found -[4657] Forked 730 -(730) found -[4656] Forked 731 -(731) found -[4655] Forked 732 -(732) found -[4654] Forked 734 -(734) found -[4653] Forked 735 -(735) found -[4652] Forked 737 -(737) found -[4651] Forked 740 -(740) found -[4650] Forked 742 -(742) found -[4649] Forked 744 -(744) found -[4648] Forked 745 -(745) found -[4647] Forked 746 -(746) found -[4646] Forked 747 -(747) found -[4645] Forked 748 -(748) found -[4644] Forked 749 -(749) found -[4643] Forked 750 -(750) found -[4642] Forked 751 -(751) found -[4641] Forked 752 -(752) found -[4640] Forked 753 -(753) found -[4639] Forked 754 -(754) found -[4638] Forked 755 -(755) found -[4637] Forked 756 -(756) found -[4636] Forked 757 -(757) found -[4635] Forked 758 -(758) found -[4634] Forked 759 -(759) found -[4633] Forked 760 -(760) found -[4632] Forked 761 -(761) found -[4631] Forked 762 -(762) found -[4630] Forked 763 -(763) found -[4629] Forked 764 -(764) found -[4628] Forked 765 -(765) found -[4627] Forked 766 -(766) found -[4626] Forked 767 -(767) found -[4625] Forked 768 -(768) found -[4624] Forked 769 -(769) found -[4623] Forked 770 -(770) found -[4622] Forked 771 -(771) found -[4621] Forked 772 -(772) found -[4620] Forked 773 -(773) found -[4619] Forked 774 -(774) found -[4618] Forked 775 -(775) found -[4617] Forked 776 -(776) found -[4616] Forked 777 -(777) found -[4615] Forked 778 -(778) found -[4614] Forked 780 -(780) found -[4613] Forked 781 -(781) found -[4612] Forked 782 -(782) found -[4611] Forked 783 -(783) found -[4610] Forked 784 -(784) found -[4609] Forked 785 -(785) found -[4608] Forked 786 -(786) found -[4607] Forked 787 -(787) found -[4606] Forked 788 -(788) found -[4605] Forked 789 -(789) found -[4604] Forked 790 -(790) found -[4603] Forked 791 -(791) found -[4602] Forked 792 -(792) found -[4601] Forked 793 -(793) found -[4600] Forked 794 -[4599] Forked 795 -(794) found -(795) found -[4598] Forked 796 -[4597] Forked 797 -(796) found -(797) found -[4596] Forked 798 -[4595] Forked 799 -(798) found -(799) found -[4594] Forked 800 -[4593] Forked 801 -(800) found -(801) found -[4592] Forked 802 -[4591] Forked 803 -(802) found -(803) found -[4590] Forked 804 -[4589] Forked 805 -(804) found -(805) found -[4588] Forked 806 -[4587] Forked 807 -(806) found -(807) found -[4586] Forked 808 -[4585] Forked 809 -(808) found -(809) found -[4584] Forked 810 -[4583] Forked 811 -(810) found -(811) found -[4582] Forked 812 -[4581] Forked 813 -(812) found -(813) found -[4580] Forked 814 -[4579] Forked 815 -(814) found -(815) found -[4578] Forked 816 -[4577] Forked 817 -(816) found -(817) found -[4576] Forked 818 -[4575] Forked 819 -(818) found -(819) found -[4574] Forked 820 -[4573] Forked 821 -(820) found -(821) found -[4572] Forked 822 -[4571] Forked 823 -(822) found -(823) found -[4570] Forked 824 -[4569] Forked 825 -(824) found -(825) found -[4568] Forked 826 -[4567] Forked 827 -(826) found -(827) found -[4566] Forked 828 -[4565] Forked 829 -(828) found -(829) found -[4564] Forked 830 -[4563] Forked 831 -(830) found -(831) found -[4562] Forked 832 -(832) found -[4561] Forked 833 -[4560] Forked 834 -(833) found -(834) found -[4559] Forked 835 -[4558] Forked 836 -(835) found -(836) found -[4557] Forked 837 -[4556] Forked 838 -(837) found -(838) found -[4555] Forked 839 -[4554] Forked 840 -(839) found -(840) found -[4553] Forked 841 -[4552] Forked 842 -(841) found -(842) found -[4551] Forked 843 -[4550] Forked 844 -(843) found -(844) found -[4549] Forked 845 -[4548] Forked 847 -(845) found -(847) found -[4547] Forked 848 -[4546] Forked 849 -(848) found -(849) found -[4545] Forked 850 -[4544] Forked 851 -(850) found -(851) found -[4543] Forked 852 -[4542] Forked 853 -(852) found -(853) found -[4541] Forked 854 -[4540] Forked 855 -(854) found -(855) found -[4539] Forked 856 -[4538] Forked 857 -(856) found -(857) found -[4537] Forked 858 -(858) found -[4536] Forked 859 -[4535] Forked 860 -(859) found -(860) found -[4534] Forked 861 -[4533] Forked 862 -(861) found -(862) found -[4532] Forked 863 -[4531] Forked 864 -(863) found -(864) found -[4530] Forked 865 -[4529] Forked 866 -(865) found -(866) found -[4528] Forked 867 -[4527] Forked 868 -(867) found -(868) found -[4526] Forked 869 -[4525] Forked 870 -(869) found -(870) found -[4524] Forked 871 -[4523] Forked 872 -(871) found -(872) found -[4522] Forked 873 -[4521] Forked 874 -(873) found -(874) found -[4520] Forked 875 -[4519] Forked 876 -(875) found -(876) found -[4518] Forked 877 -[4517] Forked 879 -(877) found -(879) found -[4516] Forked 880 -(880) found -[4515] Forked 881 -(881) found -[4514] Forked 882 -(882) found -[4513] Forked 883 -(883) found -[4512] Forked 884 -(884) found -[4511] Forked 885 -(885) found -[4510] Forked 886 -(886) found -[4509] Forked 887 -(887) found -[4508] Forked 888 -(888) found -[4507] Forked 889 -(889) found -[4506] Forked 890 -(890) found -[4505] Forked 891 -(891) found -[4504] Forked 892 -(892) found -[4503] Forked 893 -(893) found -[4502] Forked 894 -(894) found -[4501] Forked 895 -(895) found -[4500] Forked 896 -(896) found -[4499] Forked 897 -(897) found -[4498] Forked 898 -(898) found -[4497] Forked 899 -(899) found -[4496] Forked 900 -(900) found -[4495] Forked 901 -(901) found -[4494] Forked 902 -(902) found -[4493] Forked 903 -(903) found -[4492] Forked 904 -(904) found -[4491] Forked 905 -(905) found -[4490] Forked 906 -(906) found -[4489] Forked 907 -(907) found -[4488] Forked 908 -(908) found -[4487] Forked 909 -(909) found -[4486] Forked 910 -(910) found -[4485] Forked 911 -(911) found -[4484] Forked 912 -(912) found -[4483] Forked 913 -(913) found -[4482] Forked 914 -(914) found -[4481] Forked 915 -(915) found -[4480] Forked 916 -(916) found -[4479] Forked 917 -(917) found -[4478] Forked 918 -[4477] Forked 919 -(918) found -(919) found -[4476] Forked 920 -[4475] Forked 921 -(920) found -(921) found -[4474] Forked 922 -[4473] Forked 923 -(922) found -(923) found -[4472] Forked 924 -[4471] Forked 925 -(924) found -(925) found -[4470] Forked 926 -[4469] Forked 927 -(926) found -(927) found -[4468] Forked 941 -[4467] Forked 942 -(941) found -(942) found -[4466] Forked 943 -[4465] Forked 944 -(943) found -(944) found -[4464] Forked 945 -[4463] Forked 946 -(945) found -(946) found -[4462] Forked 947 -[4461] Forked 950 -(947) found -(950) found -[4460] Forked 951 -[4459] Forked 952 -(951) found -(952) found -[4458] Forked 953 -[4457] Forked 954 -(953) found -(954) found -[4456] Forked 955 -[4455] Forked 956 -(955) found -(956) found -[4454] Forked 957 -[4453] Forked 958 -(957) found -(958) found -[4452] Forked 959 -[4451] Forked 960 -(959) found -(960) found -[4450] Forked 961 -[4449] Forked 962 -(961) found -(962) found -[4448] Forked 963 -[4447] Forked 964 -(963) found -(964) found -[4446] Forked 965 -[4445] Forked 966 -(965) found -(966) found -[4444] Forked 967 -[4443] Forked 968 -(967) found -(968) found -[4442] Forked 969 -[4441] Forked 970 -(969) found -(970) found -[4440] Forked 971 -[4439] Forked 972 -(971) found -(972) found -[4438] Forked 973 -[4437] Forked 974 -(973) found -(974) found -[4436] Forked 975 -[4435] Forked 976 -(975) found -(976) found -[4434] Forked 977 -[4433] Forked 978 -(977) found -(978) found -[4432] Forked 979 -(979) found -[4431] Forked 980 -(980) found -[4430] Forked 981 -(981) found -[4429] Forked 982 -(982) found -[4428] Forked 983 -(983) found -[4427] Forked 984 -(984) found -[4426] Forked 985 -(985) found -[4425] Forked 986 -(986) found -[4424] Forked 987 -(987) found -[4423] Forked 988 -(988) found -[4422] Forked 989 -(989) found -[4421] Forked 990 -(990) found -[4420] Forked 991 -(991) found -[4419] Forked 992 -(992) found -[4418] Forked 993 -(993) found -[4417] Forked 994 -(994) found -[4416] Forked 995 -(995) found -[4415] Forked 996 -(996) found -[4414] Forked 997 -(997) found -[4413] Forked 998 -(998) found -[4412] Forked 999 -(999) found -[4411] Forked 1000 -(1000) found -[4410] Forked 1001 -(1001) found -[4409] Forked 1002 -(1002) found -[4408] Forked 1003 -(1003) found -[4407] Forked 1004 -(1004) found -[4406] Forked 1005 -(1005) found -[4405] Forked 1006 -(1006) found -[4404] Forked 1007 -(1007) found -[4403] Forked 1008 -(1008) found -[4402] Forked 1009 -(1009) found -[4401] Forked 1010 -(1010) found -[4400] Forked 1011 -(1011) found -[4399] Forked 1012 -(1012) found -[4398] Forked 1013 -(1013) found -[4397] Forked 1014 -(1014) found -[4396] Forked 1015 -(1015) found -[4395] Forked 1016 -[4394] Forked 1017 -(1016) found -(1017) found -[4393] Forked 1018 -[4392] Forked 1019 -(1018) found -(1019) found -[4391] Forked 1020 -[4390] Forked 1021 -(1020) found -(1021) found -[4389] Forked 1022 -[4388] Forked 1023 -(1022) found -(1023) found -[4387] Forked 1024 -[4386] Forked 1025 -(1024) found -(1025) found -[4385] Forked 1026 -[4384] Forked 1027 -(1026) found -(1027) found -[4383] Forked 1028 -[4382] Forked 1029 -(1028) found -(1029) found -[4381] Forked 1030 -[4380] Forked 1031 -(1030) found -(1031) found -[4379] Forked 1032 -[4378] Forked 1033 -(1032) found -(1033) found -[4377] Forked 1034 -[4376] Forked 1035 -(1034) found -(1035) found -[4375] Forked 1036 -[4374] Forked 1037 -(1036) found -(1037) found -[4373] Forked 1038 -[4372] Forked 1039 -(1038) found -(1039) found -[4371] Forked 1040 -[4370] Forked 1041 -(1040) found -(1041) found -[4369] Forked 1042 -[4368] Forked 1043 -(1042) found -(1043) found -[4367] Forked 1044 -[4366] Forked 1045 -(1044) found -(1045) found -[4365] Forked 1046 -[4364] Forked 1047 -(1046) found -(1047) found -[4363] Forked 1048 -[4362] Forked 1049 -(1048) found -(1049) found -[4361] Forked 1050 -[4360] Forked 1051 -(1050) found -(1051) found -[4359] Forked 1052 -[4358] Forked 1053 -(1052) found -(1053) found -[4357] Forked 1054 -[4356] Forked 1055 -(1054) found -(1055) found -[4355] Forked 1056 -[4354] Forked 1057 -(1056) found -(1057) found -[4353] Forked 1058 -[4352] Forked 1059 -(1058) found -(1059) found -[4351] Forked 1060 -[4350] Forked 1061 -(1060) found -(1061) found -[4349] Forked 1062 -(1062) found -[4348] Forked 1063 -(1063) found -[4347] Forked 1064 -(1064) found -[4346] Forked 1065 -(1065) found -[4345] Forked 1066 -(1066) found -[4344] Forked 1067 -(1067) found -[4343] Forked 1068 -(1068) found -[4342] Forked 1069 -(1069) found -[4341] Forked 1070 -(1070) found -[4340] Forked 1071 -(1071) found -[4339] Forked 1072 -(1072) found -[4338] Forked 1073 -(1073) found -[4337] Forked 1074 -(1074) found -[4336] Forked 1075 -(1075) found -[4335] Forked 1076 -(1076) found -[4334] Forked 1077 -(1077) found -[4333] Forked 1078 -(1078) found -[4332] Forked 1079 -(1079) found -[4331] Forked 1080 -(1080) found -[4330] Forked 1081 -(1081) found -[4329] Forked 1082 -(1082) found -[4328] Forked 1083 -(1083) found -[4327] Forked 1084 -(1084) found -[4326] Forked 1085 -(1085) found -[4325] Forked 1086 -(1086) found -[4324] Forked 1087 -(1087) found -[4323] Forked 1088 -(1088) found -[4322] Forked 1089 -(1089) found -[4321] Forked 1090 -(1090) found -[4320] Forked 1091 -(1091) found -[4319] Forked 1092 -(1092) found -[4318] Forked 1093 -(1093) found -[4317] Forked 1094 -(1094) found -[4316] Forked 1095 -(1095) found -[4315] Forked 1096 -(1096) found -[4314] Forked 1097 -(1097) found -[4313] Forked 1098 -[4312] Forked 1099 -(1098) found -(1099) found -[4311] Forked 1100 -[4310] Forked 1101 -(1100) found -(1101) found -[4309] Forked 1102 -[4308] Forked 1103 -(1102) found -(1103) found -[4307] Forked 1104 -[4306] Forked 1106 -(1104) found -(1106) found -[4305] Forked 1108 -[4304] Forked 1109 -(1108) found -(1109) found -[4303] Forked 1111 -[4302] Forked 1113 -(1111) found -(1113) found -[4301] Forked 1114 -[4300] Forked 1115 -(1114) found -(1115) found -[4299] Forked 1116 -[4298] Forked 1117 -(1116) found -(1117) found -[4297] Forked 1118 -[4296] Forked 1119 -(1118) found -(1119) found -[4295] Forked 1120 -[4294] Forked 1121 -(1120) found -(1121) found -[4293] Forked 1122 -[4292] Forked 1123 -(1122) found -(1123) found -[4291] Forked 1124 -[4290] Forked 1125 -(1124) found -(1125) found -[4289] Forked 1126 -[4288] Forked 1127 -(1126) found -(1127) found -[4287] Forked 1128 -[4286] Forked 1129 -(1128) found -(1129) found -[4285] Forked 1130 -[4284] Forked 1131 -(1130) found -(1131) found -[4283] Forked 1132 -[4282] Forked 1133 -(1132) found -(1133) found -[4281] Forked 1134 -[4280] Forked 1135 -(1134) found -(1135) found -[4279] Forked 1136 -[4278] Forked 1137 -(1136) found -(1137) found -[4277] Forked 1138 -[4276] Forked 1139 -(1138) found -(1139) found -[4275] Forked 1140 -[4274] Forked 1141 -(1141) found -(1140) found -[4273] Forked 1142 -(1142) found -[4272] Forked 1143 -(1143) found -[4271] Forked 1144 -(1144) found -[4270] Forked 1145 -(1145) found -[4269] Forked 1146 -(1146) found -[4268] Forked 1147 -(1147) found -[4267] Forked 1148 -(1148) found -[4266] Forked 1149 -(1149) found -[4265] Forked 1150 -(1150) found -[4264] Forked 1151 -(1151) found -[4263] Forked 1152 -(1152) found -[4262] Forked 1153 -(1153) found -[4261] Forked 1154 -(1154) found -[4260] Forked 1155 -(1155) found -[4259] Forked 1156 -(1156) found -[4258] Forked 1157 -(1157) found -[4257] Forked 1158 -(1158) found -[4256] Forked 1159 -(1159) found -[4255] Forked 1160 -(1160) found -[4254] Forked 1161 -(1161) found -[4253] Forked 1162 -(1162) found -[4252] Forked 1163 -(1163) found -[4251] Forked 1164 -(1164) found -[4250] Forked 1165 -(1165) found -[4249] Forked 1166 -(1166) found -[4248] Forked 1167 -(1167) found -[4247] Forked 1168 -(1168) found -[4246] Forked 1169 -(1169) found -[4245] Forked 1170 -(1170) found -[4244] Forked 1171 -(1171) found -[4243] Forked 1172 -(1172) found -[4242] Forked 1173 -(1173) found -[4241] Forked 1174 -(1174) found -[4240] Forked 1175 -(1175) found -[4239] Forked 1176 -(1176) found -[4238] Forked 1177 -(1177) found -[4237] Forked 1178 -(1178) found -[4236] Forked 1179 -(1179) found -[4235] Forked 1180 -[4234] Forked 1181 -(1180) found -(1181) found -[4233] Forked 1182 -[4232] Forked 1183 -(1182) found -(1183) found -[4231] Forked 1184 -[4230] Forked 1185 -(1184) found -(1185) found -[4229] Forked 1186 -[4228] Forked 1188 -(1186) found -(1188) found -[4227] Forked 1190 -(1190) found -[4226] Forked 1191 -(1191) found -[4225] Forked 1192 -(1192) found -[4224] Forked 1193 -(1193) found -[4223] Forked 1194 -(1194) found -[4222] Forked 1195 -(1195) found -[4221] Forked 1196 -(1196) found -[4220] Forked 1197 -(1197) found -[4219] Forked 1198 -(1198) found -[4218] Forked 1199 -(1199) found -[4217] Forked 1200 -(1200) found -[4216] Forked 1201 -(1201) found -[4215] Forked 1202 -(1202) found -[4214] Forked 1203 -(1203) found -[4213] Forked 1204 -(1204) found -[4212] Forked 1205 -(1205) found -[4211] Forked 1206 -(1206) found -[4210] Forked 1207 -(1207) found -[4209] Forked 1208 -(1208) found -[4208] Forked 1209 -(1209) found -[4207] Forked 1210 -(1210) found -[4206] Forked 1211 -(1211) found -[4205] Forked 1212 -(1212) found -[4204] Forked 1213 -(1213) found -[4203] Forked 1214 -(1214) found -[4202] Forked 1215 -(1215) found -[4201] Forked 1216 -(1216) found -[4200] Forked 1217 -(1217) found -[4199] Forked 1218 -(1218) found -[4198] Forked 1219 -(1219) found -[4197] Forked 1220 -(1220) found -[4196] Forked 1221 -(1221) found -[4195] Forked 1222 -(1222) found -[4194] Forked 1223 -(1223) found -[4193] Forked 1224 -(1224) found -[4192] Forked 1225 -(1225) found -[4191] Forked 1226 -(1226) found -[4190] Forked 1227 -(1227) found -[4189] Forked 1228 -(1228) found -[4188] Forked 1229 -(1229) found -[4187] Forked 1230 -(1230) found -[4186] Forked 1231 -(1231) found -[4185] Forked 1232 -(1232) found -[4184] Forked 1233 -(1233) found -[4183] Forked 1234 -(1234) found -[4182] Forked 1235 -(1235) found -[4181] Forked 1236 -(1236) found -[4180] Forked 1237 -(1237) found -[4179] Forked 1238 -(1238) found -[4178] Forked 1239 -(1239) found -[4177] Forked 1240 -(1240) found -[4176] Forked 1241 -(1241) found -[4175] Forked 1242 -(1242) found -[4174] Forked 1243 -(1243) found -[4173] Forked 1244 -(1244) found -[4172] Forked 1245 -(1245) found -[4171] Forked 1246 -(1246) found -[4170] Forked 1247 -(1247) found -[4169] Forked 1248 -(1248) found -[4168] Forked 1249 -(1249) found -[4167] Forked 1250 -(1250) found -[4166] Forked 1251 -(1251) found -[4165] Forked 1252 -[4164] Forked 1253 -(1252) found -(1253) found -[4163] Forked 1254 -[4162] Forked 1255 -(1254) found -(1255) found -[4161] Forked 1256 -[4160] Forked 1257 -(1256) found -(1257) found -[4159] Forked 1258 -[4158] Forked 1259 -(1258) found -(1259) found -[4157] Forked 1260 -[4156] Forked 1261 -(1260) found -(1261) found -[4155] Forked 1262 -[4154] Forked 1263 -(1262) found -(1263) found -[4153] Forked 1264 -[4152] Forked 1265 -(1264) found -(1265) found -[4151] Forked 1266 -[4150] Forked 1267 -(1266) found -(1267) found -[4149] Forked 1268 -[4148] Forked 1269 -(1268) found -(1269) found -[4147] Forked 1270 -[4146] Forked 1271 -(1270) found -(1271) found -[4145] Forked 1272 -[4144] Forked 1273 -(1272) found -(1273) found -[4143] Forked 1274 -[4142] Forked 1275 -(1274) found -(1275) found -[4141] Forked 1276 -[4140] Forked 1277 -(1276) found -(1277) found -[4139] Forked 1278 -[4138] Forked 1279 -(1278) found -(1279) found -[4137] Forked 1280 -[4136] Forked 1281 -(1280) found -(1281) found -[4135] Forked 1282 -[4134] Forked 1283 -(1282) found -(1283) found -[4133] Forked 1284 -[4132] Forked 1285 -(1284) found -(1285) found -[4131] Forked 1286 -[4130] Forked 1287 -(1286) found -(1287) found -[4129] Forked 1288 -[4128] Forked 1289 -(1288) found -(1289) found -[4127] Forked 1290 -[4126] Forked 1291 -(1290) found -(1291) found -[4125] Forked 1292 -[4124] Forked 1293 -(1292) found -(1293) found -[4123] Forked 1294 -[4122] Forked 1295 -(1294) found -(1295) found -[4121] Forked 1296 -[4120] Forked 1297 -(1296) found -(1297) found -[4119] Forked 1298 -[4118] Forked 1299 -(1298) found -(1299) found -[4117] Forked 1300 -[4116] Forked 1301 -(1300) found -(1301) found -[4115] Forked 1302 -[4114] Forked 1303 -(1302) found -(1303) found -[4113] Forked 1304 -[4112] Forked 1305 -(1304) found -(1305) found -[4111] Forked 1306 -[4110] Forked 1307 -(1306) found -(1307) found -[4109] Forked 1308 -[4108] Forked 1309 -(1308) found -(1309) found -[4107] Forked 1310 -[4106] Forked 1312 -(1310) found -(1312) found -[4105] Forked 1313 -[4104] Forked 1314 -(1314) found -(1313) found -[4103] Forked 1315 -(1315) found -[4102] Forked 1316 -(1316) found -[4101] Forked 1317 -(1317) found -[4100] Forked 1318 -(1318) found -[4099] Forked 1319 -(1319) found -[4098] Forked 1320 -(1320) found -[4097] Forked 1321 -(1321) found -[4096] Forked 1322 -(1322) found -[4095] Forked 1323 -(1323) found -[4094] Forked 1324 -(1324) found -[4093] Forked 1325 -(1325) found -[4092] Forked 1326 -(1326) found -[4091] Forked 1327 -(1327) found -[4090] Forked 1328 -(1328) found -[4089] Forked 1329 -(1329) found -[4088] Forked 1330 -(1330) found -[4087] Forked 1331 -(1331) found -[4086] Forked 1332 -(1332) found -[4085] Forked 1333 -(1333) found -[4084] Forked 1334 -(1334) found -[4083] Forked 1335 -(1335) found -[4082] Forked 1336 -(1336) found -[4081] Forked 1337 -(1337) found -[4080] Forked 1338 -(1338) found -[4079] Forked 1339 -(1339) found -[4078] Forked 1340 -(1340) found -[4077] Forked 1341 -(1341) found -[4076] Forked 1342 -(1342) found -[4075] Forked 1343 -(1343) found -[4074] Forked 1344 -(1344) found -[4073] Forked 1345 -(1345) found -[4072] Forked 1346 -(1346) found -[4071] Forked 1347 -(1347) found -[4070] Forked 1348 -(1348) found -[4069] Forked 1349 -(1349) found -[4068] Forked 1350 -(1350) found -[4067] Forked 1351 -(1351) found -[4066] Forked 1352 -(1352) found -[4065] Forked 1353 -(1353) found -[4064] Forked 1354 -(1354) found -[4063] Forked 1355 -(1355) found -[4062] Forked 1356 -(1356) found -[4061] Forked 1357 -(1357) found -[4060] Forked 1358 -(1358) found -[4059] Forked 1359 -(1359) found -[4058] Forked 1360 -(1360) found -[4057] Forked 1361 -(1361) found -[4056] Forked 1362 -(1362) found -[4055] Forked 1363 -(1363) found -[4054] Forked 1364 -(1364) found -[4053] Forked 1365 -(1365) found -[4052] Forked 1366 -(1366) found -[4051] Forked 1367 -(1367) found -[4050] Forked 1368 -(1368) found -[4049] Forked 1369 -(1369) found -[4048] Forked 1370 -(1370) found -[4047] Forked 1371 -(1371) found -[4046] Forked 1372 -(1372) found -[4045] Forked 1373 -[4044] Forked 1374 -(1373) found -(1374) found -[4043] Forked 1375 -[4042] Forked 1376 -(1375) found -(1376) found -[4041] Forked 1377 -[4040] Forked 1378 -(1377) found -(1378) found -[4039] Forked 1379 -[4038] Forked 1380 -(1379) found -(1380) found -[4037] Forked 1381 -[4036] Forked 1382 -(1381) found -(1382) found -[4035] Forked 1383 -[4034] Forked 1384 -(1383) found -(1384) found -[4033] Forked 1385 -[4032] Forked 1386 -(1385) found -(1386) found -[4031] Forked 1387 -[4030] Forked 1388 -(1387) found -(1388) found -[4029] Forked 1389 -[4028] Forked 1390 -(1389) found -(1390) found -[4027] Forked 1391 -[4026] Forked 1392 -(1391) found -(1392) found -[4025] Forked 1393 -[4024] Forked 1394 -(1393) found -(1394) found -[4023] Forked 1395 -[4022] Forked 1396 -(1395) found -(1396) found -[4021] Forked 1397 -[4020] Forked 1398 -(1397) found -(1398) found -[4019] Forked 1399 -[4018] Forked 1400 -(1399) found -(1400) found -[4017] Forked 1401 -[4016] Forked 1402 -(1401) found -(1402) found -[4015] Forked 1403 -[4014] Forked 1404 -(1403) found -(1404) found -[4013] Forked 1405 -[4012] Forked 1406 -(1405) found -(1406) found -[4011] Forked 1407 -[4010] Forked 1408 -(1407) found -(1408) found -[4009] Forked 1409 -[4008] Forked 1410 -(1409) found -(1410) found -[4007] Forked 1411 -[4006] Forked 1412 -(1411) found -(1412) found -[4005] Forked 1413 -[4004] Forked 1414 -(1413) found -(1414) found -[4003] Forked 1415 -[4002] Forked 1416 -(1415) found -(1416) found -[4001] Forked 1417 -[4000] Forked 1418 -(1417) found -(1418) found -[3999] Forked 1419 -[3998] Forked 1420 -(1419) found -(1420) found -[3997] Forked 1421 -[3996] Forked 1422 -(1421) found -(1422) found -[3995] Forked 1423 -[3994] Forked 1424 -(1423) found -(1424) found -[3993] Forked 1425 -[3992] Forked 1426 -(1425) found -(1426) found -[3991] Forked 1427 -[3990] Forked 1428 -(1427) found -(1428) found -[3989] Forked 1429 -[3988] Forked 1430 -(1429) found -(1430) found -[3987] Forked 1431 -[3986] Forked 1432 -(1431) found -(1432) found -[3985] Forked 1433 -[3984] Forked 1434 -(1433) found -(1434) found -[3983] Forked 1435 -[3982] Forked 1436 -(1435) found -(1436) found -[3981] Forked 1437 -[3980] Forked 1438 -(1437) found -(1438) found -[3979] Forked 1440 -[3978] Forked 1441 -(1440) found -(1441) found -[3977] Forked 1442 -[3976] Forked 1443 -(1442) found -(1443) found -[3975] Forked 1444 -[3974] Forked 1445 -(1444) found -(1445) found -[3973] Forked 1446 -[3972] Forked 1447 -(1446) found -(1447) found -[3971] Forked 1448 -[3970] Forked 1449 -(1448) found -(1449) found -[3969] Forked 1450 -[3968] Forked 1451 -(1450) found -(1451) found -[3967] Forked 1452 -[3966] Forked 1453 -(1452) found -(1453) found -[3965] Forked 1454 -[3964] Forked 1455 -(1454) found -(1455) found -[3963] Forked 1456 -[3962] Forked 1457 -(1456) found -(1457) found -[3961] Forked 1458 -[3960] Forked 1459 -(1458) found -(1459) found -[3959] Forked 1460 -[3958] Forked 1461 -(1460) found -(1461) found -[3957] Forked 1462 -[3956] Forked 1463 -(1462) found -(1463) found -[3955] Forked 1464 -[3954] Forked 1465 -(1464) found -(1465) found -[3953] Forked 1466 -(1466) found -[3952] Forked 1467 -(1467) found -[3951] Forked 1468 -(1468) found -[3950] Forked 1469 -(1469) found -[3949] Forked 1470 -(1470) found -[3948] Forked 1471 -(1471) found -[3947] Forked 1472 -(1472) found -[3946] Forked 1473 -(1473) found -[3945] Forked 1474 -(1474) found -[3944] Forked 1475 -(1475) found -[3943] Forked 1476 -(1476) found -[3942] Forked 1477 -(1477) found -[3941] Forked 1478 -(1478) found -[3940] Forked 1479 -(1479) found -[3939] Forked 1480 -(1480) found -[3938] Forked 1481 -(1481) found -[3937] Forked 1482 -(1482) found -[3936] Forked 1483 -(1483) found -[3935] Forked 1484 -(1484) found -[3934] Forked 1485 -(1485) found -[3933] Forked 1486 -(1486) found -[3932] Forked 1487 -(1487) found -[3931] Forked 1488 -(1488) found -[3930] Forked 1489 -(1489) found -[3929] Forked 1490 -(1490) found -[3928] Forked 1491 -(1491) found -[3927] Forked 1492 -(1492) found -[3926] Forked 1493 -(1493) found -[3925] Forked 1494 -(1494) found -[3924] Forked 1495 -(1495) found -[3923] Forked 1496 -(1496) found -[3922] Forked 1497 -(1497) found -[3921] Forked 1498 -(1498) found -[3920] Forked 1499 -(1499) found -[3919] Forked 1500 -(1500) found -[3918] Forked 1501 -[3917] Forked 1502 -(1501) found -(1502) found -[3916] Forked 1503 -[3915] Forked 1504 -(1503) found -(1504) found -[3914] Forked 1505 -[3913] Forked 1506 -(1505) found -(1506) found -[3912] Forked 1507 -[3911] Forked 1508 -(1507) found -(1508) found -[3910] Forked 1509 -[3909] Forked 1510 -(1509) found -(1510) found -[3908] Forked 1511 -[3907] Forked 1512 -(1511) found -(1512) found -[3906] Forked 1513 -[3905] Forked 1514 -(1513) found -(1514) found -[3904] Forked 1515 -[3903] Forked 1516 -(1515) found -(1516) found -[3902] Forked 1517 -[3901] Forked 1518 -(1517) found -(1518) found -[3900] Forked 1519 -[3899] Forked 1520 -(1519) found -(1520) found -[3898] Forked 1521 -[3897] Forked 1522 -(1521) found -(1522) found -[3896] Forked 1523 -[3895] Forked 1524 -(1523) found -(1524) found -[3894] Forked 1525 -[3893] Forked 1526 -(1525) found -(1526) found -[3892] Forked 1527 -[3891] Forked 1528 -(1527) found -(1528) found -[3890] Forked 1529 -[3889] Forked 1530 -(1529) found -(1530) found -[3888] Forked 1531 -[3887] Forked 1532 -(1531) found -(1532) found -[3886] Forked 1533 -[3885] Forked 1534 -(1533) found -(1534) found -[3884] Forked 1535 -[3883] Forked 1536 -(1535) found -(1536) found -[3882] Forked 1537 -[3881] Forked 1538 -(1537) found -(1538) found -[3880] Forked 1539 -[3879] Forked 1540 -(1539) found -(1540) found -[3878] Forked 1541 -[3877] Forked 1542 -(1541) found -(1542) found -[3876] Forked 1543 -[3875] Forked 1544 -(1543) found -(1544) found -[3874] Forked 1545 -[3873] Forked 1546 -(1545) found -(1546) found -[3872] Forked 1547 -(1547) found -[3871] Forked 1548 -(1548) found -[3870] Forked 1549 -(1549) found -[3869] Forked 1550 -(1550) found -[3868] Forked 1551 -(1551) found -[3867] Forked 1552 -(1552) found -[3866] Forked 1553 -(1553) found -[3865] Forked 1554 -(1554) found -[3864] Forked 1555 -(1555) found -[3863] Forked 1556 -(1556) found -[3862] Forked 1557 -(1557) found -[3861] Forked 1558 -(1558) found -[3860] Forked 1559 -(1559) found -[3859] Forked 1560 -(1560) found -[3858] Forked 1561 -(1561) found -[3857] Forked 1562 -(1562) found -[3856] Forked 1563 -(1563) found -[3855] Forked 1564 -(1564) found -[3854] Forked 1565 -(1565) found -[3853] Forked 1566 -(1566) found -[3852] Forked 1567 -(1567) found -[3851] Forked 1568 -(1568) found -[3850] Forked 1569 -(1569) found -[3849] Forked 1570 -(1570) found -[3848] Forked 1571 -(1571) found -[3847] Forked 1572 -(1572) found -[3846] Forked 1573 -(1573) found -[3845] Forked 1574 -(1574) found -[3844] Forked 1575 -(1575) found -[3843] Forked 1576 -(1576) found -[3842] Forked 1577 -(1577) found -[3841] Forked 1578 -(1578) found -[3840] Forked 1579 -(1579) found -[3839] Forked 1580 -(1580) found -[3838] Forked 1581 -[3837] Forked 1582 -(1581) found -(1582) found -[3836] Forked 1583 -[3835] Forked 1584 -(1583) found -(1584) found -[3834] Forked 1585 -[3833] Forked 1586 -(1585) found -(1586) found -[3832] Forked 1587 -[3831] Forked 1588 -(1587) found -(1588) found -[3830] Forked 1589 -[3829] Forked 1590 -(1589) found -(1590) found -[3828] Forked 1591 -[3827] Forked 1592 -(1591) found -(1592) found -[3826] Forked 1593 -[3825] Forked 1595 -(1593) found -(1595) found -[3824] Forked 1596 -[3823] Forked 1597 -(1596) found -(1597) found -[3822] Forked 1598 -[3821] Forked 1599 -(1598) found -(1599) found -[3820] Forked 1600 -[3819] Forked 1601 -(1600) found -(1601) found -[3818] Forked 1602 -[3817] Forked 1603 -(1602) found -(1603) found -[3816] Forked 1604 -[3815] Forked 1605 -(1604) found -(1605) found -[3814] Forked 1606 -[3813] Forked 1607 -(1606) found -(1607) found -[3812] Forked 1608 -[3811] Forked 1609 -(1608) found -(1609) found -[3810] Forked 1610 -[3809] Forked 1611 -(1610) found -(1611) found -[3808] Forked 1612 -[3807] Forked 1613 -(1612) found -(1613) found -[3806] Forked 1614 -[3805] Forked 1615 -(1614) found -(1615) found -[3804] Forked 1616 -[3803] Forked 1617 -(1616) found -(1617) found -[3802] Forked 1618 -[3801] Forked 1619 -(1618) found -(1619) found -[3800] Forked 1620 -[3799] Forked 1621 -(1620) found -(1621) found -[3798] Forked 1622 -[3797] Forked 1623 -(1622) found -(1623) found -[3796] Forked 1624 -[3795] Forked 1625 -(1624) found -(1625) found -[3794] Forked 1626 -[3793] Forked 1627 -(1626) found -(1627) found -[3792] Forked 1628 -(1628) found -[3791] Forked 1629 -(1629) found -[3790] Forked 1630 -(1630) found -[3789] Forked 1631 -(1631) found -[3788] Forked 1632 -(1632) found -[3787] Forked 1633 -(1633) found -[3786] Forked 1634 -(1634) found -[3785] Forked 1635 -(1635) found -[3784] Forked 1636 -(1636) found -[3783] Forked 1637 -(1637) found -[3782] Forked 1638 -(1638) found -[3781] Forked 1639 -(1639) found -[3780] Forked 1640 -(1640) found -[3779] Forked 1641 -(1641) found -[3778] Forked 1642 -(1642) found -[3777] Forked 1643 -(1643) found -[3776] Forked 1644 -(1644) found -[3775] Forked 1645 -(1645) found -[3774] Forked 1646 -(1646) found -[3773] Forked 1647 -(1647) found -[3772] Forked 1648 -(1648) found -[3771] Forked 1649 -(1649) found -[3770] Forked 1650 -(1650) found -[3769] Forked 1651 -(1651) found -[3768] Forked 1652 -(1652) found -[3767] Forked 1653 -(1653) found -[3766] Forked 1654 -(1654) found -[3765] Forked 1655 -(1655) found -[3764] Forked 1656 -(1656) found -[3763] Forked 1657 -(1657) found -[3762] Forked 1658 -(1658) found -[3761] Forked 1659 -(1659) found -[3760] Forked 1660 -(1660) found -[3759] Forked 1661 -(1661) found -[3758] Forked 1662 -(1662) found -[3757] Forked 1663 -[3756] Forked 1664 -(1663) found -(1664) found -[3755] Forked 1665 -[3754] Forked 1666 -(1665) found -(1666) found -[3753] Forked 1668 -[3752] Forked 1669 -(1668) found -(1669) found -[3751] Forked 1670 -[3750] Forked 1671 -(1670) found -(1671) found -[3749] Forked 1672 -[3748] Forked 1673 -(1672) found -(1673) found -[3747] Forked 1674 -[3746] Forked 1675 -(1674) found -(1675) found -[3745] Forked 1676 -[3744] Forked 1677 -(1676) found -(1677) found -[3743] Forked 1679 -[3742] Forked 1680 -(1679) found -(1680) found -[3741] Forked 1681 -[3740] Forked 1682 -(1681) found -(1682) found -[3739] Forked 1683 -[3738] Forked 1684 -(1683) found -(1684) found -[3737] Forked 1685 -[3736] Forked 1686 -(1685) found -(1686) found -[3735] Forked 1687 -[3734] Forked 1688 -(1687) found -(1688) found -[3733] Forked 1689 -[3732] Forked 1690 -(1689) found -(1690) found -[3731] Forked 1691 -[3730] Forked 1692 -(1691) found -(1692) found -[3729] Forked 1693 -[3728] Forked 1694 -(1693) found -(1694) found -[3727] Forked 1695 -[3726] Forked 1696 -(1695) found -(1696) found -[3725] Forked 1697 -[3724] Forked 1698 -(1697) found -(1698) found -[3723] Forked 1699 -[3722] Forked 1700 -(1699) found -(1700) found -[3721] Forked 1701 -[3720] Forked 1702 -(1701) found -(1702) found -[3719] Forked 1703 -[3718] Forked 1704 -(1703) found -(1704) found -[3717] Forked 1705 -[3716] Forked 1706 -(1705) found -(1706) found -[3715] Forked 1707 -[3714] Forked 1708 -(1707) found -(1708) found -[3713] Forked 1709 -[3712] Forked 1710 -(1709) found -(1710) found -[3711] Forked 1711 -(1711) found -[3710] Forked 1712 -(1712) found -[3709] Forked 1713 -(1713) found -[3708] Forked 1714 -(1714) found -[3707] Forked 1715 -(1715) found -[3706] Forked 1716 -(1716) found -[3705] Forked 1717 -(1717) found -[3704] Forked 1718 -(1718) found -[3703] Forked 1719 -(1719) found -[3702] Forked 1720 -(1720) found -[3701] Forked 1721 -(1721) found -[3700] Forked 1722 -(1722) found -[3699] Forked 1723 -(1723) found -[3698] Forked 1724 -(1724) found -[3697] Forked 1725 -(1725) found -[3696] Forked 1726 -(1726) found -[3695] Forked 1727 -(1727) found -[3694] Forked 1728 -(1728) found -[3693] Forked 1729 -(1729) found -[3692] Forked 1730 -(1730) found -[3691] Forked 1731 -(1731) found -[3690] Forked 1732 -(1732) found -[3689] Forked 1733 -(1733) found -[3688] Forked 1734 -(1734) found -[3687] Forked 1735 -(1735) found -[3686] Forked 1736 -(1736) found -[3685] Forked 1737 -(1737) found -[3684] Forked 1738 -(1738) found -[3683] Forked 1739 -(1739) found -[3682] Forked 1740 -(1740) found -[3681] Forked 1741 -(1741) found -[3680] Forked 1742 -(1742) found -[3679] Forked 1744 -(1744) found -[3678] Forked 1746 -(1746) found -[3677] Forked 1747 -(1747) found -[3676] Forked 1748 -[3675] Forked 1749 -(1748) found -(1749) found -[3674] Forked 1750 -[3673] Forked 1751 -(1750) found -(1751) found -[3672] Forked 1752 -[3671] Forked 1753 -(1752) found -(1753) found -[3670] Forked 1754 -[3669] Forked 1755 -(1754) found -(1755) found -[3668] Forked 1756 -[3667] Forked 1757 -(1756) found -(1757) found -[3666] Forked 1758 -[3665] Forked 1760 -(1758) found -(1760) found -[3664] Forked 1761 -[3663] Forked 1762 -(1761) found -(1762) found -[3662] Forked 1763 -[3661] Forked 1764 -(1763) found -(1764) found -[3660] Forked 1765 -[3659] Forked 1766 -(1765) found -(1766) found -[3658] Forked 1767 -[3657] Forked 1768 -(1767) found -(1768) found -[3656] Forked 1769 -[3655] Forked 1770 -(1769) found -(1770) found -[3654] Forked 1771 -[3653] Forked 1772 -(1771) found -(1772) found -[3652] Forked 1773 -[3651] Forked 1774 -(1773) found -(1774) found -[3650] Forked 1775 -[3649] Forked 1776 -(1775) found -(1776) found -[3648] Forked 1777 -[3647] Forked 1778 -(1777) found -(1778) found -[3646] Forked 1779 -[3645] Forked 1780 -(1779) found -(1780) found -[3644] Forked 1781 -[3643] Forked 1782 -(1781) found -(1782) found -[3642] Forked 1783 -[3641] Forked 1784 -(1783) found -(1784) found -[3640] Forked 1785 -[3639] Forked 1786 -(1785) found -(1786) found -[3638] Forked 1787 -[3637] Forked 1788 -(1787) found -(1788) found -[3636] Forked 1789 -[3635] Forked 1790 -(1789) found -(1790) found -[3634] Forked 1791 -[3633] Forked 1792 -(1791) found -(1792) found -[3632] Forked 1793 -[3631] Forked 1794 -(1793) found -(1794) found -[3630] Forked 1795 -[3629] Forked 1796 -(1795) found -(1796) found -[3628] Forked 1797 -[3627] Forked 1798 -(1797) found -(1798) found -[3626] Forked 1799 -[3625] Forked 1800 -(1799) found -(1800) found -[3624] Forked 1801 -[3623] Forked 1802 -(1801) found -(1802) found -[3622] Forked 1803 -[3621] Forked 1804 -(1803) found -(1804) found -[3620] Forked 1805 -[3619] Forked 1806 -(1805) found -(1806) found -[3618] Forked 1807 -[3617] Forked 1808 -(1807) found -(1808) found -[3616] Forked 1809 -[3615] Forked 1810 -(1809) found -(1810) found -[3614] Forked 1811 -[3613] Forked 1812 -(1811) found -(1812) found -[3612] Forked 1813 -[3611] Forked 1814 -(1813) found -(1814) found -[3610] Forked 1815 -(1815) found -[3609] Forked 1816 -[3608] Forked 1817 -(1816) found -(1817) found -[3607] Forked 1818 -[3606] Forked 1819 -(1818) found -(1819) found -[3605] Forked 1820 -[3604] Forked 1821 -(1820) found -(1821) found -[3603] Forked 1822 -[3602] Forked 1823 -(1822) found -(1823) found -[3601] Forked 1824 -[3600] Forked 1825 -(1824) found -(1825) found -[3599] Forked 1826 -[3598] Forked 1827 -(1826) found -(1827) found -[3597] Forked 1828 -[3596] Forked 1829 -(1828) found -(1829) found -[3595] Forked 1830 -[3594] Forked 1831 -(1830) found -(1831) found -[3593] Forked 1832 -[3592] Forked 1833 -(1832) found -(1833) found -[3591] Forked 1834 -[3590] Forked 1835 -(1834) found -(1835) found -[3589] Forked 1836 -[3588] Forked 1837 -(1836) found -(1837) found -[3587] Forked 1838 -(1838) found -[3586] Forked 1839 -(1839) found -[3585] Forked 1840 -(1840) found -[3584] Forked 1841 -(1841) found -[3583] Forked 1842 -(1842) found -[3582] Forked 1843 -(1843) found -[3581] Forked 1844 -(1844) found -[3580] Forked 1845 -(1845) found -[3579] Forked 1846 -(1846) found -[3578] Forked 1847 -(1847) found -[3577] Forked 1848 -(1848) found -[3576] Forked 1849 -(1849) found -[3575] Forked 1850 -(1850) found -[3574] Forked 1851 -(1851) found -[3573] Forked 1852 -(1852) found -[3572] Forked 1853 -(1853) found -[3571] Forked 1854 -(1854) found -[3570] Forked 1855 -(1855) found -[3569] Forked 1856 -(1856) found -[3568] Forked 1857 -(1857) found -[3567] Forked 1858 -(1858) found -[3566] Forked 1859 -(1859) found -[3565] Forked 1860 -(1860) found -[3564] Forked 1861 -(1861) found -[3563] Forked 1862 -(1862) found -[3562] Forked 1863 -(1863) found -[3561] Forked 1864 -(1864) found -[3560] Forked 1865 -(1865) found -[3559] Forked 1866 -(1866) found -[3558] Forked 1867 -(1867) found -[3557] Forked 1868 -(1868) found -[3556] Forked 1869 -(1869) found -[3555] Forked 1870 -(1870) found -[3554] Forked 1871 -(1871) found -[3553] Forked 1872 -(1872) found -[3552] Forked 1873 -(1873) found -[3551] Forked 1874 -(1874) found -[3550] Forked 1875 -(1875) found -[3549] Forked 1876 -(1876) found -[3548] Forked 1877 -[3547] Forked 1878 -(1877) found -(1878) found -[3546] Forked 1879 -[3545] Forked 1880 -(1879) found -(1880) found -[3544] Forked 1881 -[3543] Forked 1882 -(1881) found -(1882) found -[3542] Forked 1883 -[3541] Forked 1884 -(1883) found -(1884) found -[3540] Forked 1885 -[3539] Forked 1886 -(1885) found -(1886) found -[3538] Forked 1887 -[3537] Forked 1888 -(1887) found -(1888) found -[3536] Forked 1889 -[3535] Forked 1890 -(1889) found -(1890) found -[3534] Forked 1891 -[3533] Forked 1892 -(1891) found -(1892) found -[3532] Forked 1893 -[3531] Forked 1894 -(1893) found -(1894) found -[3530] Forked 1895 -[3529] Forked 1896 -(1896) found -(1895) found -[3528] Forked 1897 -(1897) found -[3527] Forked 1898 -(1898) found -[3526] Forked 1899 -(1899) found -[3525] Forked 1900 -(1900) found -[3524] Forked 1901 -(1901) found -[3523] Forked 1902 -(1902) found -[3522] Forked 1903 -(1903) found -[3521] Forked 1904 -(1904) found -[3520] Forked 1905 -(1905) found -[3519] Forked 1906 -(1906) found -[3518] Forked 1907 -(1907) found -[3517] Forked 1908 -(1908) found -[3516] Forked 1909 -(1909) found -[3515] Forked 1910 -(1910) found -[3514] Forked 1911 -(1911) found -[3513] Forked 1912 -(1912) found -[3512] Forked 1913 -(1913) found -[3511] Forked 1914 -(1914) found -[3510] Forked 1915 -(1915) found -[3509] Forked 1916 -(1916) found -[3508] Forked 1917 -(1917) found -[3507] Forked 1918 -(1918) found -[3506] Forked 1919 -(1919) found -[3505] Forked 1920 -(1920) found -[3504] Forked 1921 -(1921) found -[3503] Forked 1922 -(1922) found -[3502] Forked 1923 -(1923) found -[3501] Forked 1924 -(1924) found -[3500] Forked 1925 -(1925) found -[3499] Forked 1926 -(1926) found -[3498] Forked 1927 -(1927) found -[3497] Forked 1928 -(1928) found -[3496] Forked 1929 -(1929) found -[3495] Forked 1930 -(1930) found -[3494] Forked 1931 -(1931) found -[3493] Forked 1932 -(1932) found -[3492] Forked 1933 -(1933) found -[3491] Forked 1934 -(1934) found -[3490] Forked 1935 -(1935) found -[3489] Forked 1936 -(1936) found -[3488] Forked 1937 -(1937) found -[3487] Forked 1938 -(1938) found -[3486] Forked 1939 -(1939) found -[3485] Forked 1940 -(1940) found -[3484] Forked 1941 -(1941) found -[3483] Forked 1942 -(1942) found -[3482] Forked 1943 -(1943) found -[3481] Forked 1944 -(1944) found -[3480] Forked 1945 -(1945) found -[3479] Forked 1946 -(1946) found -[3478] Forked 1947 -(1947) found -[3477] Forked 1948 -(1948) found -[3476] Forked 1949 -(1949) found -[3475] Forked 1950 -[3474] Forked 1951 -(1950) found -(1951) found -[3473] Forked 1952 -[3472] Forked 1953 -(1952) found -(1953) found -[3471] Forked 1954 -[3470] Forked 1955 -(1954) found -(1955) found -[3469] Forked 1956 -[3468] Forked 1957 -(1956) found -(1957) found -[3467] Forked 1958 -[3466] Forked 1959 -(1958) found -(1959) found -[3465] Forked 1960 -[3464] Forked 1961 -(1960) found -(1961) found -[3463] Forked 1962 -[3462] Forked 1963 -(1962) found -(1963) found -[3461] Forked 1964 -[3460] Forked 1965 -(1964) found -(1965) found -[3459] Forked 1966 -[3458] Forked 1967 -(1966) found -(1967) found -[3457] Forked 1968 -[3456] Forked 1969 -(1968) found -(1969) found -[3455] Forked 1970 -[3454] Forked 1971 -(1970) found -(1971) found -[3453] Forked 1972 -[3452] Forked 1973 -(1972) found -(1973) found -[3451] Forked 1974 -[3450] Forked 1975 -(1974) found -(1975) found -[3449] Forked 1976 -[3448] Forked 1977 -(1976) found -(1977) found -[3447] Forked 1978 -[3446] Forked 1979 -(1978) found -(1979) found -[3445] Forked 1980 -[3444] Forked 1981 -(1980) found -(1981) found -[3443] Forked 1982 -[3442] Forked 1983 -(1982) found -(1983) found -[3441] Forked 1984 -[3440] Forked 1985 -(1984) found -(1985) found -[3439] Forked 1986 -[3438] Forked 1987 -(1986) found -(1987) found -[3437] Forked 1988 -(1988) found -[3436] Forked 1989 -[3435] Forked 1990 -(1989) found -(1990) found -[3434] Forked 1991 -[3433] Forked 1992 -(1991) found -(1992) found -[3432] Forked 1993 -(1993) found -[3431] Forked 1994 -(1994) found -[3430] Forked 1995 -(1995) found -[3429] Forked 1996 -(1996) found -[3428] Forked 1997 -(1997) found -[3427] Forked 1998 -(1998) found -[3426] Forked 1999 -(1999) found -[3425] Forked 2000 -(2000) found -[3424] Forked 2001 -(2001) found -[3423] Forked 2002 -(2002) found -[3422] Forked 2003 -(2003) found -[3421] Forked 2004 -(2004) found -[3420] Forked 2005 -(2005) found -[3419] Forked 2006 -(2006) found -[3418] Forked 2007 -(2007) found -[3417] Forked 2008 -(2008) found -[3416] Forked 2009 -(2009) found -[3415] Forked 2010 -(2010) found -[3414] Forked 2011 -(2011) found -[3413] Forked 2012 -(2012) found -[3412] Forked 2013 -(2013) found -[3411] Forked 2014 -(2014) found -[3410] Forked 2015 -(2015) found -[3409] Forked 2016 -(2016) found -[3408] Forked 2017 -(2017) found -[3407] Forked 2018 -(2018) found -[3406] Forked 2019 -(2019) found -[3405] Forked 2020 -(2020) found -[3404] Forked 2021 -(2021) found -[3403] Forked 2022 -(2022) found -[3402] Forked 2023 -(2023) found -[3401] Forked 2024 -(2024) found -[3400] Forked 2025 -(2025) found -[3399] Forked 2026 -(2026) found -[3398] Forked 2027 -(2027) found -[3397] Forked 2028 -(2028) found -[3396] Forked 2029 -(2029) found -[3395] Forked 2030 -(2030) found -[3394] Forked 2031 -[3393] Forked 2032 -(2031) found -(2032) found -[3392] Forked 2033 -[3391] Forked 2034 -(2033) found -(2034) found -[3390] Forked 2035 -[3389] Forked 2036 -(2035) found -(2036) found -[3388] Forked 2037 -[3387] Forked 2038 -(2037) found -(2038) found -[3386] Forked 2039 -[3385] Forked 2040 -(2039) found -(2040) found -[3384] Forked 2041 -[3383] Forked 2042 -(2041) found -(2042) found -[3382] Forked 2043 -[3381] Forked 2044 -(2043) found -(2044) found -[3380] Forked 2045 -[3379] Forked 2046 -(2045) found -(2046) found -[3378] Forked 2047 -[3377] Forked 2048 -(2047) found -(2048) found -[3376] Forked 2049 -[3375] Forked 2050 -(2049) found -(2050) found -[3374] Forked 2051 -[3373] Forked 2052 -(2051) found -(2052) found -[3372] Forked 2053 -[3371] Forked 2054 -(2053) found -(2054) found -[3370] Forked 2055 -[3369] Forked 2056 -(2055) found -(2056) found -[3368] Forked 2057 -[3367] Forked 2058 -(2057) found -(2058) found -[3366] Forked 2059 -[3365] Forked 2060 -(2059) found -(2060) found -[3364] Forked 2061 -[3363] Forked 2062 -(2061) found -(2062) found -[3362] Forked 2063 -[3361] Forked 2064 -(2064) found -(2063) found -[3360] Forked 2065 -(2065) found -[3359] Forked 2066 -(2066) found -[3358] Forked 2067 -(2067) found -[3357] Forked 2068 -(2068) found -[3356] Forked 2070 -(2070) found -[3355] Forked 2071 -(2071) found -[3354] Forked 2072 -(2072) found -[3353] Forked 2073 -(2073) found -[3352] Forked 2074 -(2074) found -[3351] Forked 2075 -(2075) found -[3350] Forked 2076 -(2076) found -[3349] Forked 2077 -(2077) found -[3348] Forked 2078 -(2078) found -[3347] Forked 2079 -(2079) found -[3346] Forked 2080 -(2080) found -[3345] Forked 2081 -(2081) found -[3344] Forked 2082 -(2082) found -[3343] Forked 2083 -(2083) found -[3342] Forked 2084 -(2084) found -[3341] Forked 2085 -(2085) found -[3340] Forked 2086 -(2086) found -[3339] Forked 2087 -(2087) found -[3338] Forked 2088 -(2088) found -[3337] Forked 2089 -(2089) found -[3336] Forked 2090 -(2090) found -[3335] Forked 2091 -(2091) found -[3334] Forked 2092 -(2092) found -[3333] Forked 2093 -(2093) found -[3332] Forked 2094 -(2094) found -[3331] Forked 2095 -(2095) found -[3330] Forked 2096 -(2096) found -[3329] Forked 2097 -(2097) found -[3328] Forked 2098 -(2098) found -[3327] Forked 2099 -(2099) found -[3326] Forked 2100 -(2100) found -[3325] Forked 2101 -(2101) found -[3324] Forked 2102 -(2102) found -[3323] Forked 2103 -(2103) found -[3322] Forked 2104 -(2104) found -[3321] Forked 2105 -(2105) found -[3320] Forked 2106 -(2106) found -[3319] Forked 2109 -(2109) found -[3318] Forked 2110 -(2110) found -[3317] Forked 2111 -(2111) found -[3316] Forked 2112 -[3315] Forked 2113 -(2112) found -(2113) found -[3314] Forked 2114 -[3313] Forked 2115 -(2114) found -(2115) found -[3312] Forked 2116 -[3311] Forked 2117 -(2116) found -(2117) found -[3310] Forked 2118 -[3309] Forked 2119 -(2118) found -(2119) found -[3308] Forked 2120 -[3307] Forked 2121 -(2120) found -(2121) found -[3306] Forked 2122 -[3305] Forked 2123 -(2122) found -(2123) found -[3304] Forked 2124 -[3303] Forked 2125 -(2124) found -(2125) found -[3302] Forked 2126 -[3301] Forked 2127 -(2126) found -(2127) found -[3300] Forked 2128 -[3299] Forked 2129 -(2128) found -(2129) found -[3298] Forked 2130 -[3297] Forked 2131 -(2130) found -(2131) found -[3296] Forked 2132 -[3295] Forked 2133 -(2132) found -(2133) found -[3294] Forked 2134 -[3293] Forked 2135 -(2134) found -(2135) found -[3292] Forked 2136 -[3291] Forked 2137 -(2136) found -(2137) found -[3290] Forked 2138 -[3289] Forked 2139 -(2138) found -(2139) found -[3288] Forked 2140 -[3287] Forked 2141 -(2140) found -(2141) found -[3286] Forked 2142 -[3285] Forked 2143 -(2142) found -(2143) found -[3284] Forked 2144 -[3283] Forked 2145 -(2144) found -(2145) found -[3282] Forked 2146 -[3281] Forked 2147 -(2146) found -(2147) found -[3280] Forked 2148 -[3279] Forked 2149 -(2148) found -(2149) found -[3278] Forked 2150 -[3277] Forked 2151 -(2150) found -(2151) found -[3276] Forked 2152 -[3275] Forked 2153 -(2152) found -(2153) found -[3274] Forked 2154 -(2154) found -[3273] Forked 2155 -(2155) found -[3272] Forked 2156 -(2156) found -[3271] Forked 2157 -(2157) found -[3270] Forked 2158 -(2158) found -[3269] Forked 2160 -(2160) found -[3268] Forked 2161 -(2161) found -[3267] Forked 2162 -(2162) found -[3266] Forked 2163 -(2163) found -[3265] Forked 2164 -(2164) found -[3264] Forked 2165 -(2165) found -[3263] Forked 2166 -(2166) found -[3262] Forked 2167 -(2167) found -[3261] Forked 2168 -(2168) found -[3260] Forked 2169 -(2169) found -[3259] Forked 2170 -(2170) found -[3258] Forked 2171 -(2171) found -[3257] Forked 2172 -(2172) found -[3256] Forked 2173 -(2173) found -[3255] Forked 2174 -(2174) found -[3254] Forked 2175 -(2175) found -[3253] Forked 2176 -(2176) found -[3252] Forked 2177 -(2177) found -[3251] Forked 2178 -(2178) found -[3250] Forked 2179 -(2179) found -[3249] Forked 2180 -(2180) found -[3248] Forked 2181 -(2181) found -[3247] Forked 2182 -(2182) found -[3246] Forked 2183 -(2183) found -[3245] Forked 2184 -(2184) found -[3244] Forked 2185 -(2185) found -[3243] Forked 2186 -(2186) found -[3242] Forked 2187 -(2187) found -[3241] Forked 2188 -(2188) found -[3240] Forked 2189 -(2189) found -[3239] Forked 2190 -(2190) found -[3238] Forked 2191 -(2191) found -[3237] Forked 2192 -(2192) found -[3236] Forked 2193 -[3235] Forked 2194 -(2193) found -(2194) found -[3234] Forked 2195 -[3233] Forked 2196 -(2195) found -(2196) found -[3232] Forked 2197 -[3231] Forked 2198 -(2197) found -(2198) found -[3230] Forked 2199 -[3229] Forked 2200 -(2199) found -(2200) found -[3228] Forked 2201 -[3227] Forked 2202 -(2201) found -(2202) found -[3226] Forked 2203 -[3225] Forked 2204 -(2203) found -(2204) found -[3224] Forked 2205 -[3223] Forked 2206 -(2205) found -(2206) found -[3222] Forked 2207 -[3221] Forked 2208 -(2207) found -(2208) found -[3220] Forked 2209 -[3219] Forked 2210 -(2209) found -(2210) found -[3218] Forked 2211 -[3217] Forked 2212 -(2211) found -(2212) found -[3216] Forked 2213 -[3215] Forked 2214 -(2213) found -(2214) found -[3214] Forked 2215 -[3213] Forked 2216 -(2215) found -(2216) found -[3212] Forked 2217 -[3211] Forked 2218 -(2217) found -(2218) found -[3210] Forked 2219 -[3209] Forked 2220 -(2219) found -(2220) found -[3208] Forked 2221 -[3207] Forked 2222 -(2221) found -(2222) found -[3206] Forked 2223 -[3205] Forked 2224 -(2223) found -(2224) found -[3204] Forked 2225 -[3203] Forked 2226 -(2225) found -(2226) found -[3202] Forked 2227 -[3201] Forked 2228 -(2227) found -(2228) found -[3200] Forked 2229 -[3199] Forked 2230 -(2229) found -(2230) found -[3198] Forked 2231 -[3197] Forked 2232 -(2231) found -(2232) found -[3196] Forked 2233 -[3195] Forked 2234 -(2234) found -(2233) found -[3194] Forked 2235 -(2235) found -[3193] Forked 2236 -(2236) found -[3192] Forked 2237 -(2237) found -[3191] Forked 2238 -(2238) found -[3190] Forked 2239 -(2239) found -[3189] Forked 2240 -(2240) found -[3188] Forked 2241 -(2241) found -[3187] Forked 2242 -(2242) found -[3186] Forked 2243 -(2243) found -[3185] Forked 2244 -(2244) found -[3184] Forked 2245 -(2245) found -[3183] Forked 2246 -(2246) found -[3182] Forked 2247 -(2247) found -[3181] Forked 2248 -(2248) found -[3180] Forked 2249 -(2249) found -[3179] Forked 2250 -(2250) found -[3178] Forked 2251 -(2251) found -[3177] Forked 2252 -(2252) found -[3176] Forked 2253 -(2253) found -[3175] Forked 2254 -(2254) found -[3174] Forked 2255 -(2255) found -[3173] Forked 2256 -(2256) found -[3172] Forked 2257 -(2257) found -[3171] Forked 2258 -(2258) found -[3170] Forked 2259 -(2259) found -[3169] Forked 2260 -(2260) found -[3168] Forked 2261 -(2261) found -[3167] Forked 2265 -(2265) found -[3166] Forked 2266 -(2266) found -[3165] Forked 2267 -(2267) found -[3164] Forked 2268 -(2268) found -[3163] Forked 2269 -(2269) found -[3162] Forked 2270 -(2270) found -[3161] Forked 2271 -(2271) found -[3160] Forked 2272 -(2272) found -[3159] Forked 2273 -(2273) found -[3158] Forked 2274 -(2274) found -[3157] Forked 2275 -(2275) found -[3156] Forked 2276 -[3155] Forked 2277 -(2276) found -(2277) found -[3154] Forked 2278 -[3153] Forked 2279 -(2278) found -(2279) found -[3152] Forked 2280 -[3151] Forked 2281 -(2280) found -(2281) found -[3150] Forked 2282 -[3149] Forked 2283 -(2282) found -(2283) found -[3148] Forked 2284 -[3147] Forked 2285 -(2284) found -(2285) found -[3146] Forked 2286 -[3145] Forked 2287 -(2286) found -(2287) found -[3144] Forked 2288 -[3143] Forked 2289 -(2288) found -(2289) found -[3142] Forked 2290 -[3141] Forked 2291 -(2290) found -(2291) found -[3140] Forked 2292 -[3139] Forked 2293 -(2292) found -(2293) found -[3138] Forked 2294 -[3137] Forked 2295 -(2294) found -(2295) found -[3136] Forked 2296 -[3135] Forked 2297 -(2296) found -(2297) found -[3134] Forked 2298 -[3133] Forked 2299 -(2298) found -(2299) found -[3132] Forked 2300 -[3131] Forked 2301 -(2300) found -(2301) found -[3130] Forked 2302 -[3129] Forked 2303 -(2302) found -(2303) found -[3128] Forked 2304 -[3127] Forked 2305 -(2304) found -(2305) found -[3126] Forked 2306 -[3125] Forked 2307 -(2306) found -(2307) found -[3124] Forked 2308 -[3123] Forked 2309 -(2308) found -(2309) found -[3122] Forked 2310 -[3121] Forked 2311 -(2310) found -(2311) found -[3120] Forked 2312 -[3119] Forked 2313 -(2312) found -(2313) found -[3118] Forked 2314 -[3117] Forked 2315 -(2314) found -(2315) found -[3116] Forked 2316 -[3115] Forked 2317 -(2316) found -(2317) found -[3114] Forked 2318 -[3113] Forked 2319 -(2318) found -(2319) found -[3112] Forked 2320 -(2320) found -[3111] Forked 2321 -(2321) found -[3110] Forked 2322 -(2322) found -[3109] Forked 2323 -(2323) found -[3108] Forked 2324 -(2324) found -[3107] Forked 2325 -(2325) found -[3106] Forked 2326 -(2326) found -[3105] Forked 2327 -(2327) found -[3104] Forked 2328 -(2328) found -[3103] Forked 2329 -(2329) found -[3102] Forked 2330 -(2330) found -[3101] Forked 2331 -(2331) found -[3100] Forked 2332 -(2332) found -[3099] Forked 2333 -(2333) found -[3098] Forked 2334 -(2334) found -[3097] Forked 2335 -(2335) found -[3096] Forked 2336 -(2336) found -[3095] Forked 2337 -(2337) found -[3094] Forked 2338 -(2338) found -[3093] Forked 2339 -(2339) found -[3092] Forked 2340 -(2340) found -[3091] Forked 2341 -(2341) found -[3090] Forked 2342 -(2342) found -[3089] Forked 2343 -(2343) found -[3088] Forked 2344 -(2344) found -[3087] Forked 2345 -(2345) found -[3086] Forked 2346 -(2346) found -[3085] Forked 2347 -(2347) found -[3084] Forked 2348 -(2348) found -[3083] Forked 2349 -(2349) found -[3082] Forked 2350 -(2350) found -[3081] Forked 2351 -(2351) found -[3080] Forked 2352 -(2352) found -[3079] Forked 2353 -(2353) found -[3078] Forked 2354 -(2354) found -[3077] Forked 2355 -(2355) found -[3076] Forked 2356 -(2356) found -[3075] Forked 2357 -(2357) found -[3074] Forked 2358 -(2358) found -[3073] Forked 2359 -[3072] Forked 2360 -(2359) found -(2360) found -[3071] Forked 2361 -[3070] Forked 2362 -(2361) found -(2362) found -[3069] Forked 2363 -[3068] Forked 2364 -(2363) found -(2364) found -[3067] Forked 2365 -[3066] Forked 2366 -(2365) found -(2366) found -[3065] Forked 2367 -[3064] Forked 2368 -(2367) found -(2368) found -[3063] Forked 2369 -[3062] Forked 2370 -(2369) found -(2370) found -[3061] Forked 2371 -[3060] Forked 2372 -(2371) found -(2372) found -[3059] Forked 2373 -[3058] Forked 2374 -(2373) found -(2374) found -[3057] Forked 2375 -[3056] Forked 2376 -(2375) found -(2376) found -[3055] Forked 2377 -[3054] Forked 2378 -(2377) found -(2378) found -[3053] Forked 2379 -[3052] Forked 2380 -(2379) found -(2380) found -[3051] Forked 2381 -[3050] Forked 2382 -(2381) found -(2382) found -[3049] Forked 2383 -[3048] Forked 2384 -(2383) found -(2384) found -[3047] Forked 2385 -[3046] Forked 2386 -(2385) found -(2386) found -[3045] Forked 2387 -[3044] Forked 2388 -(2387) found -(2388) found -[3043] Forked 2389 -[3042] Forked 2390 -(2389) found -(2390) found -[3041] Forked 2391 -[3040] Forked 2392 -(2391) found -(2392) found -[3039] Forked 2393 -[3038] Forked 2394 -(2393) found -(2394) found -[3037] Forked 2395 -[3036] Forked 2396 -(2395) found -(2396) found -[3035] Forked 2397 -[3034] Forked 2399 -(2397) found -(2399) found -[3033] Forked 2400 -(2400) found -[3032] Forked 2401 -(2401) found -[3031] Forked 2402 -(2402) found -[3030] Forked 2404 -(2404) found -[3029] Forked 2405 -(2405) found -[3028] Forked 2406 -(2406) found -[3027] Forked 2407 -(2407) found -[3026] Forked 2408 -(2408) found -[3025] Forked 2409 -(2409) found -[3024] Forked 2410 -(2410) found -[3023] Forked 2411 -(2411) found -[3022] Forked 2412 -(2412) found -[3021] Forked 2413 -(2413) found -[3020] Forked 2414 -(2414) found -[3019] Forked 2415 -(2415) found -[3018] Forked 2416 -(2416) found -[3017] Forked 2417 -(2417) found -[3016] Forked 2418 -(2418) found -[3015] Forked 2419 -(2419) found -[3014] Forked 2420 -(2420) found -[3013] Forked 2421 -(2421) found -[3012] Forked 2422 -(2422) found -[3011] Forked 2423 -(2423) found -[3010] Forked 2424 -(2424) found -[3009] Forked 2425 -(2425) found -[3008] Forked 2426 -(2426) found -[3007] Forked 2427 -(2427) found -[3006] Forked 2428 -(2428) found -[3005] Forked 2429 -(2429) found -[3004] Forked 2430 -(2430) found -[3003] Forked 2431 -(2431) found -[3002] Forked 2432 -(2432) found -[3001] Forked 2433 -(2433) found -[3000] Forked 2434 -(2434) found -[2999] Forked 2435 -(2435) found -[2998] Forked 2436 -(2436) found -[2997] Forked 2437 -(2437) found -[2996] Forked 2438 -(2438) found -[2995] Forked 2439 -(2439) found -[2994] Forked 2440 -(2440) found -[2993] Forked 2441 -[2992] Forked 2442 -(2441) found -(2442) found -[2991] Forked 2443 -[2990] Forked 2444 -(2443) found -(2444) found -[2989] Forked 2445 -[2988] Forked 2446 -(2445) found -(2446) found -[2987] Forked 2447 -[2986] Forked 2448 -(2447) found -(2448) found -[2985] Forked 2449 -[2984] Forked 2450 -(2449) found -(2450) found -[2983] Forked 2451 -[2982] Forked 2452 -(2451) found -(2452) found -[2981] Forked 2453 -[2980] Forked 2454 -(2453) found -(2454) found -[2979] Forked 2455 -[2978] Forked 2456 -(2455) found -(2456) found -[2977] Forked 2457 -[2976] Forked 2458 -(2457) found -(2458) found -[2975] Forked 2459 -[2974] Forked 2460 -(2459) found -(2460) found -[2973] Forked 2461 -[2972] Forked 2462 -(2461) found -(2462) found -[2971] Forked 2463 -[2970] Forked 2464 -(2463) found -(2464) found -[2969] Forked 2465 -[2968] Forked 2466 -(2465) found -(2466) found -[2967] Forked 2467 -[2966] Forked 2468 -(2467) found -(2468) found -[2965] Forked 2469 -[2964] Forked 2470 -(2469) found -(2470) found -[2963] Forked 2471 -[2962] Forked 2472 -(2471) found -(2472) found -[2961] Forked 2473 -[2960] Forked 2474 -(2473) found -(2474) found -[2959] Forked 2475 -[2958] Forked 2476 -(2475) found -(2476) found -[2957] Forked 2477 -[2956] Forked 2478 -(2477) found -(2478) found -[2955] Forked 2479 -[2954] Forked 2480 -(2479) found -(2480) found -[2953] Forked 2481 -[2952] Forked 2482 -(2481) found -(2482) found -[2951] Forked 2483 -[2950] Forked 2484 -(2483) found -(2484) found -[2949] Forked 2485 -(2485) found -[2948] Forked 2486 -(2486) found -[2947] Forked 2487 -(2487) found -[2946] Forked 2488 -(2488) found -[2945] Forked 2489 -(2489) found -[2944] Forked 2490 -(2490) found -[2943] Forked 2491 -(2491) found -[2942] Forked 2492 -(2492) found -[2941] Forked 2493 -(2493) found -[2940] Forked 2494 -(2494) found -[2939] Forked 2495 -(2495) found -[2938] Forked 2496 -(2496) found -[2937] Forked 2497 -(2497) found -[2936] Forked 2498 -(2498) found -[2935] Forked 2499 -(2499) found -[2934] Forked 2500 -(2500) found -[2933] Forked 2501 -(2501) found -[2932] Forked 2502 -(2502) found -[2931] Forked 2503 -(2503) found -[2930] Forked 2504 -(2504) found -[2929] Forked 2505 -(2505) found -[2928] Forked 2506 -(2506) found -[2927] Forked 2507 -(2507) found -[2926] Forked 2508 -(2508) found -[2925] Forked 2509 -(2509) found -[2924] Forked 2510 -(2510) found -[2923] Forked 2512 -(2512) found -[2922] Forked 2513 -(2513) found -[2921] Forked 2514 -(2514) found -[2920] Forked 2515 -(2515) found -[2919] Forked 2516 -(2516) found -[2918] Forked 2517 -(2517) found -[2917] Forked 2518 -(2518) found -[2916] Forked 2519 -(2519) found -[2915] Forked 2520 -(2520) found -[2914] Forked 2521 -(2521) found -[2913] Forked 2522 -(2522) found -[2912] Forked 2523 -(2523) found -[2911] Forked 2525 -[2910] Forked 2526 -(2525) found -(2526) found -[2909] Forked 2527 -[2908] Forked 2528 -(2527) found -(2528) found -[2907] Forked 2529 -[2906] Forked 2530 -(2529) found -(2530) found -[2905] Forked 2531 -[2904] Forked 2532 -(2531) found -(2532) found -[2903] Forked 2533 -[2902] Forked 2534 -(2533) found -(2534) found -[2901] Forked 2535 -[2900] Forked 2536 -(2535) found -(2536) found -[2899] Forked 2537 -[2898] Forked 2538 -(2537) found -(2538) found -[2897] Forked 2539 -[2896] Forked 2541 -(2539) found -(2541) found -[2895] Forked 2542 -[2894] Forked 2543 -(2542) found -(2543) found -[2893] Forked 2544 -[2892] Forked 2545 -(2544) found -(2545) found -[2891] Forked 2546 -[2890] Forked 2547 -(2546) found -(2547) found -[2889] Forked 2548 -[2888] Forked 2549 -(2548) found -(2549) found -[2887] Forked 2550 -[2886] Forked 2551 -(2550) found -(2551) found -[2885] Forked 2552 -[2884] Forked 2553 -(2552) found -(2553) found -[2883] Forked 2554 -[2882] Forked 2555 -(2554) found -(2555) found -[2881] Forked 2556 -[2880] Forked 2557 -(2556) found -(2557) found -[2879] Forked 2558 -[2878] Forked 2559 -(2558) found -(2559) found -[2877] Forked 2560 -[2876] Forked 2561 -(2560) found -(2561) found -[2875] Forked 2562 -[2874] Forked 2563 -(2562) found -(2563) found -[2873] Forked 2564 -[2872] Forked 2565 -(2564) found -(2565) found -[2871] Forked 2566 -[2870] Forked 2567 -(2566) found -(2567) found -[2869] Forked 2568 -[2868] Forked 2569 -(2568) found -(2569) found -[2867] Forked 2570 -(2570) found -[2866] Forked 2571 -(2571) found -[2865] Forked 2572 -(2572) found -[2864] Forked 2573 -(2573) found -[2863] Forked 2574 -(2574) found -[2862] Forked 2575 -(2575) found -[2861] Forked 2576 -(2576) found -[2860] Forked 2577 -(2577) found -[2859] Forked 2578 -(2578) found -[2858] Forked 2579 -(2579) found -[2857] Forked 2580 -(2580) found -[2856] Forked 2581 -(2581) found -[2855] Forked 2582 -(2582) found -[2854] Forked 2583 -(2583) found -[2853] Forked 2584 -(2584) found -[2852] Forked 2585 -(2585) found -[2851] Forked 2586 -(2586) found -[2850] Forked 2587 -(2587) found -[2849] Forked 2588 -(2588) found -[2848] Forked 2589 -(2589) found -[2847] Forked 2590 -(2590) found -[2846] Forked 2591 -(2591) found -[2845] Forked 2592 -(2592) found -[2844] Forked 2593 -(2593) found -[2843] Forked 2594 -(2594) found -[2842] Forked 2595 -(2595) found -[2841] Forked 2596 -(2596) found -[2840] Forked 2597 -(2597) found -[2839] Forked 2598 -(2598) found -[2838] Forked 2599 -(2599) found -[2837] Forked 2600 -(2600) found -[2836] Forked 2601 -(2601) found -[2835] Forked 2602 -(2602) found -[2834] Forked 2603 -(2603) found -[2833] Forked 2604 -(2604) found -[2832] Forked 2605 -(2605) found -[2831] Forked 2606 -(2606) found -[2830] Forked 2607 -(2607) found -[2829] Forked 2608 -(2608) found -[2828] Forked 2609 -(2609) found -[2827] Forked 2610 -(2610) found -[2826] Forked 2611 -[2825] Forked 2612 -(2611) found -(2612) found -[2824] Forked 2613 -[2823] Forked 2614 -(2613) found -(2614) found -[2822] Forked 2615 -[2821] Forked 2616 -(2615) found -(2616) found -[2820] Forked 2617 -[2819] Forked 2618 -(2617) found -(2618) found -[2818] Forked 2619 -[2817] Forked 2620 -(2619) found -(2620) found -[2816] Forked 2621 -[2815] Forked 2622 -(2621) found -(2622) found -[2814] Forked 2623 -[2813] Forked 2624 -(2623) found -(2624) found -[2812] Forked 2625 -[2811] Forked 2626 -(2625) found -(2626) found -[2810] Forked 2627 -[2809] Forked 2628 -(2627) found -(2628) found -[2808] Forked 2629 -[2807] Forked 2630 -(2629) found -(2630) found -[2806] Forked 2631 -[2805] Forked 2632 -(2631) found -(2632) found -[2804] Forked 2633 -[2803] Forked 2634 -(2633) found -(2634) found -[2802] Forked 2635 -[2801] Forked 2636 -(2635) found -(2636) found -[2800] Forked 2637 -[2799] Forked 2638 -(2637) found -(2638) found -[2798] Forked 2639 -[2797] Forked 2640 -(2639) found -(2640) found -[2796] Forked 2641 -[2795] Forked 2642 -(2641) found -(2642) found -[2794] Forked 2643 -[2793] Forked 2644 -(2643) found -(2644) found -[2792] Forked 2645 -[2791] Forked 2646 -(2645) found -(2646) found -[2790] Forked 2647 -[2789] Forked 2648 -(2647) found -(2648) found -[2788] Forked 2649 -[2787] Forked 2650 -(2649) found -(2650) found -[2786] Forked 2651 -(2651) found -[2785] Forked 2652 -(2652) found -[2784] Forked 2653 -(2653) found -[2783] Forked 2654 -(2654) found -[2782] Forked 2655 -(2655) found -[2781] Forked 2659 -(2659) found -[2780] Forked 2662 -(2662) found -[2779] Forked 2663 -(2663) found -[2778] Forked 2664 -(2664) found -[2777] Forked 2665 -(2665) found -[2776] Forked 2666 -(2666) found -[2775] Forked 2669 -(2669) found -[2774] Forked 2670 -(2670) found -[2773] Forked 2671 -(2671) found -[2772] Forked 2672 -(2672) found -[2771] Forked 2673 -(2673) found -[2770] Forked 2674 -(2674) found -[2769] Forked 2675 -(2675) found -[2768] Forked 2676 -(2676) found -[2767] Forked 2677 -(2677) found -[2766] Forked 2678 -(2678) found -[2765] Forked 2679 -(2679) found -[2764] Forked 2680 -(2680) found -[2763] Forked 2681 -(2681) found -[2762] Forked 2682 -(2682) found -[2761] Forked 2683 -(2683) found -[2760] Forked 2684 -(2684) found -[2759] Forked 2685 -(2685) found -[2758] Forked 2686 -(2686) found -[2757] Forked 2687 -(2687) found -[2756] Forked 2688 -(2688) found -[2755] Forked 2689 -(2689) found -[2754] Forked 2690 -(2690) found -[2753] Forked 2691 -(2691) found -[2752] Forked 2692 -(2692) found -[2751] Forked 2693 -(2693) found -[2750] Forked 2694 -(2694) found -[2749] Forked 2695 -(2695) found -[2748] Forked 2696 -(2696) found -[2747] Forked 2697 -[2746] Forked 2698 -(2697) found -(2698) found -[2745] Forked 2699 -[2744] Forked 2700 -(2699) found -(2700) found -[2743] Forked 2701 -[2742] Forked 2703 -(2701) found -(2703) found -[2741] Forked 2704 -[2740] Forked 2705 -(2704) found -(2705) found -[2739] Forked 2706 -[2738] Forked 2707 -(2706) found -(2707) found -[2737] Forked 2708 -[2736] Forked 2709 -(2708) found -(2709) found -[2735] Forked 2710 -[2734] Forked 2711 -(2710) found -(2711) found -[2733] Forked 2712 -[2732] Forked 2713 -(2712) found -(2713) found -[2731] Forked 2714 -[2730] Forked 2715 -(2714) found -(2715) found -[2729] Forked 2716 -[2728] Forked 2717 -(2716) found -(2717) found -[2727] Forked 2718 -[2726] Forked 2719 -(2718) found -(2719) found -[2725] Forked 2720 -[2724] Forked 2723 -(2720) found -(2723) found -[2723] Forked 2725 -(2725) found -[2722] Forked 2728 -[2721] Forked 2729 -(2728) found -(2729) found -[2720] Forked 2730 -[2719] Forked 2731 -(2730) found -(2731) found -[2718] Forked 2732 -[2717] Forked 2733 -(2732) found -(2733) found -[2716] Forked 2734 -[2715] Forked 2735 -(2734) found -(2735) found -[2714] Forked 2736 -[2713] Forked 2737 -(2736) found -(2737) found -[2712] Forked 2738 -[2711] Forked 2739 -(2738) found -(2739) found -[2710] Forked 2740 -[2709] Forked 2741 -(2740) found -(2741) found -[2708] Forked 2742 -[2707] Forked 2743 -(2742) found -(2743) found -[2706] Forked 2744 -[2705] Forked 2745 -(2744) found -(2745) found -[2704] Forked 2746 -(2746) found -[2703] Forked 2747 -(2747) found -[2702] Forked 2748 -(2748) found -[2701] Forked 2749 -(2749) found -[2700] Forked 2750 -(2750) found -[2699] Forked 2751 -(2751) found -[2698] Forked 2752 -(2752) found -[2697] Forked 2753 -(2753) found -[2696] Forked 2754 -(2754) found -[2695] Forked 2755 -(2755) found -[2694] Forked 2756 -(2756) found -[2693] Forked 2757 -(2757) found -[2692] Forked 2758 -(2758) found -[2691] Forked 2760 -(2760) found -[2690] Forked 2761 -(2761) found -[2689] Forked 2762 -(2762) found -[2688] Forked 2763 -(2763) found -[2687] Forked 2764 -(2764) found -[2686] Forked 2765 -(2765) found -[2685] Forked 2766 -(2766) found -[2684] Forked 2767 -(2767) found -[2683] Forked 2768 -(2768) found -[2682] Forked 2769 -(2769) found -[2681] Forked 2770 -(2770) found -[2680] Forked 2771 -(2771) found -[2679] Forked 2772 -(2772) found -[2678] Forked 2773 -(2773) found -[2677] Forked 2774 -(2774) found -[2676] Forked 2775 -(2775) found -[2675] Forked 2776 -(2776) found -[2674] Forked 2777 -(2777) found -[2673] Forked 2778 -(2778) found -[2672] Forked 2779 -(2779) found -[2671] Forked 2780 -(2780) found -[2670] Forked 2781 -(2781) found -[2669] Forked 2782 -(2782) found -[2668] Forked 2783 -(2783) found -[2667] Forked 2784 -(2784) found -[2666] Forked 2785 -[2665] Forked 2786 -(2785) found -(2786) found -[2664] Forked 2787 -[2663] Forked 2788 -(2787) found -(2788) found -[2662] Forked 2789 -[2661] Forked 2790 -(2789) found -(2790) found -[2660] Forked 2791 -[2659] Forked 2792 -(2791) found -(2792) found -[2658] Forked 2793 -[2657] Forked 2794 -(2793) found -(2794) found -[2656] Forked 2795 -[2655] Forked 2796 -(2795) found -(2796) found -[2654] Forked 2797 -[2653] Forked 2798 -(2797) found -(2798) found -[2652] Forked 2799 -[2651] Forked 2800 -(2799) found -(2800) found -[2650] Forked 2801 -[2649] Forked 2802 -(2801) found -(2802) found -[2648] Forked 2803 -[2647] Forked 2804 -(2803) found -(2804) found -[2646] Forked 2805 -[2645] Forked 2806 -(2805) found -(2806) found -[2644] Forked 2807 -[2643] Forked 2808 -(2807) found -(2808) found -[2642] Forked 2809 -[2641] Forked 2810 -(2809) found -(2810) found -[2640] Forked 2811 -[2639] Forked 2812 -(2811) found -(2812) found -[2638] Forked 2813 -[2637] Forked 2814 -(2813) found -(2814) found -[2636] Forked 2815 -[2635] Forked 2816 -(2815) found -(2816) found -[2634] Forked 2817 -[2633] Forked 2818 -(2817) found -(2818) found -[2632] Forked 2819 -[2631] Forked 2820 -(2819) found -(2820) found -[2630] Forked 2821 -[2629] Forked 2822 -(2821) found -(2822) found -[2628] Forked 2823 -[2627] Forked 2824 -(2823) found -(2824) found -[2626] Forked 2825 -[2625] Forked 2826 -(2825) found -(2826) found -[2624] Forked 2827 -[2623] Forked 2830 -(2827) found -(2830) found -[2622] Forked 2831 -(2831) found -[2621] Forked 2832 -(2832) found -[2620] Forked 2833 -(2833) found -[2619] Forked 2834 -(2834) found -[2618] Forked 2835 -(2835) found -[2617] Forked 2836 -(2836) found -[2616] Forked 2837 -(2837) found -[2615] Forked 2838 -(2838) found -[2614] Forked 2839 -(2839) found -[2613] Forked 2840 -(2840) found -[2612] Forked 2841 -(2841) found -[2611] Forked 2843 -(2843) found -[2610] Forked 2844 -(2844) found -[2609] Forked 2845 -(2845) found -[2608] Forked 2846 -(2846) found -[2607] Forked 2847 -(2847) found -[2606] Forked 2848 -(2848) found -[2605] Forked 2849 -(2849) found -[2604] Forked 2850 -(2850) found -[2603] Forked 2851 -(2851) found -[2602] Forked 2852 -(2852) found -[2601] Forked 2853 -(2853) found -[2600] Forked 2854 -(2854) found -[2599] Forked 2855 -(2855) found -[2598] Forked 2856 -(2856) found -[2597] Forked 2857 -(2857) found -[2596] Forked 2858 -(2858) found -[2595] Forked 2859 -(2859) found -[2594] Forked 2860 -(2860) found -[2593] Forked 2861 -(2861) found -[2592] Forked 2862 -(2862) found -[2591] Forked 2863 -(2863) found -[2590] Forked 2864 -(2864) found -[2589] Forked 2865 -(2865) found -[2588] Forked 2866 -(2866) found -[2587] Forked 2867 -(2867) found -[2586] Forked 2868 -(2868) found -[2585] Forked 2869 -(2869) found -[2584] Forked 2870 -[2583] Forked 2871 -(2870) found -(2871) found -[2582] Forked 2872 -[2581] Forked 2873 -(2872) found -(2873) found -[2580] Forked 2874 -[2579] Forked 2875 -(2874) found -(2875) found -[2578] Forked 2876 -(2876) found -[2577] Forked 2877 -[2576] Forked 2878 -(2877) found -(2878) found -[2575] Forked 2879 -[2574] Forked 2880 -(2879) found -(2880) found -[2573] Forked 2881 -[2572] Forked 2882 -(2881) found -(2882) found -[2571] Forked 2883 -[2570] Forked 2884 -(2883) found -(2884) found -[2569] Forked 2885 -[2568] Forked 2886 -(2885) found -(2886) found -[2567] Forked 2887 -[2566] Forked 2888 -(2887) found -(2888) found -[2565] Forked 2889 -[2564] Forked 2890 -(2889) found -(2890) found -[2563] Forked 2891 -[2562] Forked 2892 -(2891) found -(2892) found -[2561] Forked 2893 -[2560] Forked 2894 -(2893) found -(2894) found -[2559] Forked 2895 -[2558] Forked 2896 -(2895) found -(2896) found -[2557] Forked 2897 -[2556] Forked 2898 -(2897) found -(2898) found -[2555] Forked 2899 -[2554] Forked 2900 -(2899) found -(2900) found -[2553] Forked 2901 -[2552] Forked 2902 -(2901) found -(2902) found -[2551] Forked 2903 -[2550] Forked 2904 -(2903) found -(2904) found -[2549] Forked 2905 -(2905) found -[2548] Forked 2906 -(2906) found -[2547] Forked 2907 -[2546] Forked 2908 -(2907) found -(2908) found -[2545] Forked 2909 -[2544] Forked 2910 -(2909) found -(2910) found -[2543] Forked 2911 -[2542] Forked 2912 -(2911) found -(2912) found -[2541] Forked 2913 -[2540] Forked 2914 -(2913) found -(2914) found -[2539] Forked 2915 -[2538] Forked 2916 -(2915) found -(2916) found -[2537] Forked 2917 -[2536] Forked 2918 -(2917) found -(2918) found -[2535] Forked 2919 -[2534] Forked 2920 -(2919) found -(2920) found -[2533] Forked 2921 -[2532] Forked 2922 -(2921) found -(2922) found -[2531] Forked 2923 -[2530] Forked 2924 -(2923) found -(2924) found -[2529] Forked 2925 -[2528] Forked 2926 -(2925) found -(2926) found -[2527] Forked 2927 -[2526] Forked 2928 -(2927) found -(2928) found -[2525] Forked 2929 -[2524] Forked 2930 -(2929) found -(2930) found -[2523] Forked 2932 -[2522] Forked 2933 -(2932) found -(2933) found -[2521] Forked 2934 -[2520] Forked 2935 -(2934) found -(2935) found -[2519] Forked 2936 -[2518] Forked 2937 -(2936) found -(2937) found -[2517] Forked 2938 -[2516] Forked 2939 -(2938) found -(2939) found -[2515] Forked 2940 -[2514] Forked 2941 -(2940) found -(2941) found -[2513] Forked 2942 -[2512] Forked 2943 -(2942) found -(2943) found -[2511] Forked 2944 -[2510] Forked 2945 -(2944) found -(2945) found -[2509] Forked 2946 -[2508] Forked 2947 -(2946) found -(2947) found -[2507] Forked 2948 -[2506] Forked 2949 -(2948) found -(2949) found -[2505] Forked 2950 -[2504] Forked 2951 -(2950) found -(2951) found -[2503] Forked 2952 -[2502] Forked 2953 -(2952) found -(2953) found -[2501] Forked 2956 -[2500] Forked 2957 -(2956) found -(2957) found -[2499] Forked 2958 -[2498] Forked 2959 -(2958) found -(2959) found -[2497] Forked 2960 -[2496] Forked 2961 -(2960) found -(2961) found -[2495] Forked 2962 -[2494] Forked 2963 -(2962) found -(2963) found -[2493] Forked 2964 -[2492] Forked 2965 -(2964) found -(2965) found -[2491] Forked 2966 -[2490] Forked 2967 -(2966) found -(2967) found -[2489] Forked 2968 -[2488] Forked 2969 -(2968) found -(2969) found -[2487] Forked 2970 -[2486] Forked 2971 -(2970) found -(2971) found -[2485] Forked 2972 -[2484] Forked 2973 -(2972) found -(2973) found -[2483] Forked 2974 -[2482] Forked 2975 -(2974) found -(2975) found -[2481] Forked 2976 -[2480] Forked 2977 -(2976) found -(2977) found -[2479] Forked 2978 -[2478] Forked 2979 -(2978) found -(2979) found -[2477] Forked 2980 -[2476] Forked 2981 -(2980) found -(2981) found -[2475] Forked 2983 -[2474] Forked 2984 -(2983) found -(2984) found -[2473] Forked 2987 -[2472] Forked 2992 -(2987) found -(2992) found -[2471] Forked 3049 -[2470] Forked 3050 -(3049) found -(3050) found -[2469] Forked 3051 -[2468] Forked 3052 -(3051) found -(3052) found -[2467] Forked 3053 -[2466] Forked 3054 -(3053) found -(3054) found -[2465] Forked 3055 -[2464] Forked 3056 -(3055) found -(3056) found -[2463] Forked 3057 -[2462] Forked 3058 -(3057) found -(3058) found -[2461] Forked 3059 -[2460] Forked 3060 -(3059) found -(3060) found -[2459] Forked 3061 -[2458] Forked 3062 -(3061) found -(3062) found -[2457] Forked 3063 -[2456] Forked 3064 -(3063) found -(3064) found -[2455] Forked 3065 -[2454] Forked 3066 -(3065) found -(3066) found -[2453] Forked 3067 -[2452] Forked 3068 -(3067) found -(3068) found -[2451] Forked 3069 -(3069) found -[2450] Forked 3070 -(3070) found -[2449] Forked 3071 -(3071) found -[2448] Forked 3072 -(3072) found -[2447] Forked 3073 -(3073) found -[2446] Forked 3074 -(3074) found -[2445] Forked 3075 -(3075) found -[2444] Forked 3076 -(3076) found -[2443] Forked 3077 -(3077) found -[2442] Forked 3078 -(3078) found -[2441] Forked 3079 -(3079) found -[2440] Forked 3080 -(3080) found -[2439] Forked 3081 -(3081) found -[2438] Forked 3082 -(3082) found -[2437] Forked 3083 -(3083) found -[2436] Forked 3085 -(3085) found -[2435] Forked 3086 -(3086) found -[2434] Forked 3087 -(3087) found -[2433] Forked 3088 -(3088) found -[2432] Forked 3089 -(3089) found -[2431] Forked 3090 -(3090) found -[2430] Forked 3091 -(3091) found -[2429] Forked 3093 -(3093) found -[2428] Forked 3094 -(3094) found -[2427] Forked 3095 -(3095) found -[2426] Forked 3096 -(3096) found -[2425] Forked 3097 -(3097) found -[2424] Forked 3098 -(3098) found -[2423] Forked 3099 -(3099) found -[2422] Forked 3101 -(3101) found -[2421] Forked 3102 -(3102) found -[2420] Forked 3103 -(3103) found -[2419] Forked 3104 -(3104) found -[2418] Forked 3105 -(3105) found -[2417] Forked 3106 -(3106) found -[2416] Forked 3107 -(3107) found -[2415] Forked 3108 -(3108) found -[2414] Forked 3109 -(3109) found -[2413] Forked 3110 -[2412] Forked 3112 -(3110) found -(3112) found -[2411] Forked 3113 -[2410] Forked 3114 -(3113) found -(3114) found -[2409] Forked 3115 -[2408] Forked 3116 -(3115) found -(3116) found -[2407] Forked 3117 -[2406] Forked 3118 -(3117) found -(3118) found -[2405] Forked 3119 -[2404] Forked 3120 -(3119) found -(3120) found -[2403] Forked 3121 -[2402] Forked 3123 -(3121) found -(3123) found -[2401] Forked 3124 -[2400] Forked 3126 -(3124) found -(3126) found -[2399] Forked 3128 -[2398] Forked 3129 -(3128) found -(3129) found -[2397] Forked 3130 -[2396] Forked 3131 -(3130) found -(3131) found -[2395] Forked 3132 -[2394] Forked 3133 -(3132) found -(3133) found -[2393] Forked 3134 -[2392] Forked 3135 -(3134) found -(3135) found -[2391] Forked 3136 -[2390] Forked 3137 -(3136) found -(3137) found -[2389] Forked 3138 -[2388] Forked 3139 -(3138) found -(3139) found -[2387] Forked 3140 -[2386] Forked 3141 -(3140) found -(3141) found -[2385] Forked 3142 -[2384] Forked 3143 -(3142) found -(3143) found -[2383] Forked 3144 -[2382] Forked 3145 -(3144) found -(3145) found -[2381] Forked 3147 -[2380] Forked 3148 -(3147) found -(3148) found -[2379] Forked 3149 -[2378] Forked 3150 -(3149) found -(3150) found -[2377] Forked 3151 -[2376] Forked 3152 -(3151) found -(3152) found -[2375] Forked 3153 -[2374] Forked 3154 -(3153) found -(3154) found -[2373] Forked 3155 -[2372] Forked 3156 -(3155) found -(3156) found -[2371] Forked 3157 -[2370] Forked 3158 -(3157) found -(3158) found -[2369] Forked 3159 -(3159) found -[2368] Forked 3160 -(3160) found -[2367] Forked 3163 -(3163) found -[2366] Forked 3164 -(3164) found -[2365] Forked 3165 -(3165) found -[2364] Forked 3166 -(3166) found -[2363] Forked 3167 -(3167) found -[2362] Forked 3168 -(3168) found -[2361] Forked 3169 -(3169) found -[2360] Forked 3170 -(3170) found -[2359] Forked 3171 -(3171) found -[2358] Forked 3172 -(3172) found -[2357] Forked 3173 -(3173) found -[2356] Forked 3174 -(3174) found -[2355] Forked 3175 -(3175) found -[2354] Forked 3176 -(3176) found -[2353] Forked 3177 -(3177) found -[2352] Forked 3178 -(3178) found -[2351] Forked 3179 -(3179) found -[2350] Forked 3180 -(3180) found -[2349] Forked 3181 -(3181) found -[2348] Forked 3182 -(3182) found -[2347] Forked 3183 -(3183) found -[2346] Forked 3184 -(3184) found -[2345] Forked 3185 -(3185) found -[2344] Forked 3186 -(3186) found -[2343] Forked 3187 -(3187) found -[2342] Forked 3188 -(3188) found -[2341] Forked 3189 -(3189) found -[2340] Forked 3190 -(3190) found -[2339] Forked 3191 -(3191) found -[2338] Forked 3192 -(3192) found -[2337] Forked 3195 -(3195) found -[2336] Forked 3196 -(3196) found -[2335] Forked 3197 -(3197) found -[2334] Forked 3198 -(3198) found -[2333] Forked 3199 -(3199) found -[2332] Forked 3200 -(3200) found -[2331] Forked 3201 -[2330] Forked 3202 -(3201) found -(3202) found -[2329] Forked 3203 -[2328] Forked 3204 -(3203) found -(3204) found -[2327] Forked 3205 -[2326] Forked 3206 -(3205) found -(3206) found -[2325] Forked 3207 -[2324] Forked 3208 -(3207) found -(3208) found -[2323] Forked 3209 -[2322] Forked 3210 -(3209) found -(3210) found -[2321] Forked 3211 -[2320] Forked 3212 -(3211) found -(3212) found -[2319] Forked 3213 -[2318] Forked 3214 -(3213) found -(3214) found -[2317] Forked 3215 -[2316] Forked 3216 -(3215) found -(3216) found -[2315] Forked 3217 -[2314] Forked 3218 -(3217) found -(3218) found -[2313] Forked 3219 -[2312] Forked 3220 -(3219) found -(3220) found -[2311] Forked 3221 -[2310] Forked 3222 -(3221) found -(3222) found -[2309] Forked 3223 -[2308] Forked 3224 -(3223) found -(3224) found -[2307] Forked 3225 -[2306] Forked 3227 -(3225) found -(3227) found -[2305] Forked 3228 -[2304] Forked 3229 -(3228) found -(3229) found -[2303] Forked 3230 -[2302] Forked 3231 -(3230) found -(3231) found -[2301] Forked 3232 -[2300] Forked 3233 -(3232) found -(3233) found -[2299] Forked 3234 -[2298] Forked 3235 -(3234) found -(3235) found -[2297] Forked 3236 -[2296] Forked 3237 -(3236) found -(3237) found -[2295] Forked 3238 -[2294] Forked 3239 -(3238) found -(3239) found -[2293] Forked 3240 -[2292] Forked 3241 -(3240) found -(3241) found -[2291] Forked 3242 -[2290] Forked 3243 -(3242) found -(3243) found -[2289] Forked 3244 -[2288] Forked 3245 -(3244) found -(3245) found -[2287] Forked 3249 -(3249) found -[2286] Forked 3250 -(3250) found -[2285] Forked 3251 -(3251) found -[2284] Forked 3252 -(3252) found -[2283] Forked 3253 -(3253) found -[2282] Forked 3254 -(3254) found -[2281] Forked 3255 -(3255) found -[2280] Forked 3256 -(3256) found -[2279] Forked 3257 -(3257) found -[2278] Forked 3258 -(3258) found -[2277] Forked 3259 -(3259) found -[2276] Forked 3260 -(3260) found -[2275] Forked 3261 -(3261) found -[2274] Forked 3262 -(3262) found -[2273] Forked 3263 -(3263) found -[2272] Forked 3264 -(3264) found -[2271] Forked 3265 -(3265) found -[2270] Forked 3266 -(3266) found -[2269] Forked 3267 -(3267) found -[2268] Forked 3268 -(3268) found -[2267] Forked 3269 -(3269) found -[2266] Forked 3270 -(3270) found -[2265] Forked 3271 -(3271) found -[2264] Forked 3272 -(3272) found -[2263] Forked 3273 -(3273) found -[2262] Forked 3274 -(3274) found -[2261] Forked 3275 -(3275) found -[2260] Forked 3276 -(3276) found -[2259] Forked 3277 -(3277) found -[2258] Forked 3278 -(3278) found -[2257] Forked 3279 -(3279) found -[2256] Forked 3280 -(3280) found -[2255] Forked 3281 -(3281) found -[2254] Forked 3282 -(3282) found -[2253] Forked 3283 -(3283) found -[2252] Forked 3284 -(3284) found -[2251] Forked 3285 -(3285) found -[2250] Forked 3286 -(3286) found -[2249] Forked 3287 -[2248] Forked 3288 -(3287) found -(3288) found -[2247] Forked 3289 -[2246] Forked 3290 -(3289) found -(3290) found -[2245] Forked 3291 -[2244] Forked 3292 -(3291) found -(3292) found -[2243] Forked 3293 -[2242] Forked 3294 -(3293) found -(3294) found -[2241] Forked 3295 -[2240] Forked 3296 -(3295) found -(3296) found -[2239] Forked 3297 -[2238] Forked 3298 -(3297) found -(3298) found -[2237] Forked 3299 -[2236] Forked 3300 -(3299) found -(3300) found -[2235] Forked 3301 -[2234] Forked 3302 -(3301) found -(3302) found -[2233] Forked 3303 -[2232] Forked 3304 -(3303) found -(3304) found -[2231] Forked 3305 -[2230] Forked 3306 -(3305) found -(3306) found -[2229] Forked 3307 -[2228] Forked 3308 -(3307) found -(3308) found -[2227] Forked 3309 -[2226] Forked 3310 -(3309) found -(3310) found -[2225] Forked 3311 -[2224] Forked 3312 -(3311) found -(3312) found -[2223] Forked 3313 -[2222] Forked 3314 -(3313) found -(3314) found -[2221] Forked 3315 -[2220] Forked 3317 -(3315) found -(3317) found -[2219] Forked 3318 -[2218] Forked 3319 -(3318) found -(3319) found -[2217] Forked 3320 -[2216] Forked 3321 -(3320) found -(3321) found -[2215] Forked 3322 -[2214] Forked 3323 -(3322) found -(3323) found -[2213] Forked 3324 -[2212] Forked 3325 -(3324) found -(3325) found -[2211] Forked 3326 -[2210] Forked 3327 -(3326) found -(3327) found -[2209] Forked 3333 -[2208] Forked 3334 -(3333) found -(3334) found -[2207] Forked 3335 -(3335) found -[2206] Forked 3336 -(3336) found -[2205] Forked 3337 -(3337) found -[2204] Forked 3338 -(3338) found -[2203] Forked 3339 -(3339) found -[2202] Forked 3340 -(3340) found -[2201] Forked 3341 -(3341) found -[2200] Forked 3342 -(3342) found -[2199] Forked 3343 -(3343) found -[2198] Forked 3344 -(3344) found -[2197] Forked 3345 -(3345) found -[2196] Forked 3347 -(3347) found -[2195] Forked 3348 -(3348) found -[2194] Forked 3349 -(3349) found -[2193] Forked 3350 -(3350) found -[2192] Forked 3351 -(3351) found -[2191] Forked 3352 -(3352) found -[2190] Forked 3353 -(3353) found -[2189] Forked 3354 -(3354) found -[2188] Forked 3355 -(3355) found -[2187] Forked 3356 -(3356) found -[2186] Forked 3357 -(3357) found -[2185] Forked 3358 -(3358) found -[2184] Forked 3359 -(3359) found -[2183] Forked 3360 -(3360) found -[2182] Forked 3361 -(3361) found -[2181] Forked 3362 -(3362) found -[2180] Forked 3363 -(3363) found -[2179] Forked 3364 -(3364) found -[2178] Forked 3365 -(3365) found -[2177] Forked 3366 -(3366) found -[2176] Forked 3367 -(3367) found -[2175] Forked 3368 -(3368) found -[2174] Forked 3369 -(3369) found -[2173] Forked 3370 -(3370) found -[2172] Forked 3371 -(3371) found -[2171] Forked 3372 -(3372) found -[2170] Forked 3373 -(3373) found -[2169] Forked 3382 -[2168] Forked 3383 -(3382) found -(3383) found -[2167] Forked 3384 -[2166] Forked 3385 -(3384) found -(3385) found -[2165] Forked 3386 -[2164] Forked 3387 -(3386) found -(3387) found -[2163] Forked 3388 -[2162] Forked 3389 -(3388) found -(3389) found -[2161] Forked 3390 -[2160] Forked 3391 -(3390) found -(3391) found -[2159] Forked 3392 -[2158] Forked 3393 -(3392) found -(3393) found -[2157] Forked 3394 -[2156] Forked 3395 -(3394) found -(3395) found -[2155] Forked 3396 -[2154] Forked 3397 -(3396) found -(3397) found -[2153] Forked 3398 -[2152] Forked 3399 -(3398) found -(3399) found -[2151] Forked 3401 -[2150] Forked 3402 -(3401) found -(3402) found -[2149] Forked 3403 -[2148] Forked 3404 -(3403) found -(3404) found -[2147] Forked 3405 -[2146] Forked 3406 -(3405) found -(3406) found -[2145] Forked 3407 -[2144] Forked 3408 -(3407) found -(3408) found -[2143] Forked 3409 -[2142] Forked 3410 -(3409) found -(3410) found -[2141] Forked 3411 -[2140] Forked 3412 -(3411) found -(3412) found -[2139] Forked 3413 -[2138] Forked 3414 -(3413) found -(3414) found -[2137] Forked 3415 -[2136] Forked 3416 -(3415) found -(3416) found -[2135] Forked 3417 -[2134] Forked 3418 -(3417) found -(3418) found -[2133] Forked 3419 -[2132] Forked 3420 -(3419) found -(3420) found -[2131] Forked 3421 -[2130] Forked 3422 -(3421) found -(3422) found -[2129] Forked 3423 -[2128] Forked 3424 -(3423) found -(3424) found -[2127] Forked 3425 -[2126] Forked 3426 -(3425) found -(3426) found -[2125] Forked 3427 -(3427) found -[2124] Forked 3428 -(3428) found -[2123] Forked 3429 -(3429) found -[2122] Forked 3430 -(3430) found -[2121] Forked 3431 -(3431) found -[2120] Forked 3432 -(3432) found -[2119] Forked 3433 -(3433) found -[2118] Forked 3434 -(3434) found -[2117] Forked 3435 -(3435) found -[2116] Forked 3436 -(3436) found -[2115] Forked 3437 -(3437) found -[2114] Forked 3438 -(3438) found -[2113] Forked 3439 -(3439) found -[2112] Forked 3440 -(3440) found -[2111] Forked 3441 -(3441) found -[2110] Forked 3442 -(3442) found -[2109] Forked 3443 -(3443) found -[2108] Forked 3444 -(3444) found -[2107] Forked 3445 -(3445) found -[2106] Forked 3446 -(3446) found -[2105] Forked 3447 -(3447) found -[2104] Forked 3448 -(3448) found -[2103] Forked 3449 -(3449) found -[2102] Forked 3450 -(3450) found -[2101] Forked 3451 -(3451) found -[2100] Forked 3452 -(3452) found -[2099] Forked 3453 -(3453) found -[2098] Forked 3454 -(3454) found -[2097] Forked 3455 -(3455) found -[2096] Forked 3456 -(3456) found -[2095] Forked 3457 -(3457) found -[2094] Forked 3458 -(3458) found -[2093] Forked 3459 -(3459) found -[2092] Forked 3460 -(3460) found -[2091] Forked 3461 -(3461) found -[2090] Forked 3462 -(3462) found -[2089] Forked 3463 -(3463) found -[2088] Forked 3464 -(3464) found -[2087] Forked 3465 -[2086] Forked 3466 -(3465) found -(3466) found -[2085] Forked 3467 -[2084] Forked 3468 -(3467) found -(3468) found -[2083] Forked 3469 -[2082] Forked 3470 -(3469) found -(3470) found -[2081] Forked 3471 -[2080] Forked 3472 -(3471) found -(3472) found -[2079] Forked 3473 -[2078] Forked 3474 -(3473) found -(3474) found -[2077] Forked 3475 -[2076] Forked 3476 -(3475) found -(3476) found -[2075] Forked 3477 -[2074] Forked 3478 -(3477) found -(3478) found -[2073] Forked 3479 -[2072] Forked 3480 -(3480) found -(3479) found -[2071] Forked 3481 -(3481) found -[2070] Forked 3482 -(3482) found -[2069] Forked 3483 -(3483) found -[2068] Forked 3484 -(3484) found -[2067] Forked 3485 -(3485) found -[2066] Forked 3486 -(3486) found -[2065] Forked 3487 -(3487) found -[2064] Forked 3488 -(3488) found -[2063] Forked 3489 -(3489) found -[2062] Forked 3490 -(3490) found -[2061] Forked 3491 -(3491) found -[2060] Forked 3492 -(3492) found -[2059] Forked 3493 -[2058] Forked 3494 -(3493) found -(3494) found -[2057] Forked 3495 -[2056] Forked 3496 -(3495) found -(3496) found -[2055] Forked 3497 -(3497) found -[2054] Forked 3498 -(3498) found -[2053] Forked 3499 -(3499) found -[2052] Forked 3500 -(3500) found -[2051] Forked 3501 -(3501) found -[2050] Forked 3502 -(3502) found -[2049] Forked 3503 -(3503) found -[2048] Forked 3504 -(3504) found -[2047] Forked 3505 -(3505) found -[2046] Forked 3506 -(3506) found -[2045] Forked 3507 -(3507) found -[2044] Forked 3508 -(3508) found -[2043] Forked 3509 -(3509) found -[2042] Forked 3510 -(3510) found -[2041] Forked 3511 -(3511) found -[2040] Forked 3512 -(3512) found -[2039] Forked 3513 -(3513) found -[2038] Forked 3514 -(3514) found -[2037] Forked 3515 -(3515) found -[2036] Forked 3516 -(3516) found -[2035] Forked 3517 -(3517) found -[2034] Forked 3518 -(3518) found -[2033] Forked 3519 -(3519) found -[2032] Forked 3520 -(3520) found -[2031] Forked 3521 -(3521) found -[2030] Forked 3522 -(3522) found -[2029] Forked 3523 -(3523) found -[2028] Forked 3524 -(3524) found -[2027] Forked 3525 -(3525) found -[2026] Forked 3526 -(3526) found -[2025] Forked 3527 -(3527) found -[2024] Forked 3528 -(3528) found -[2023] Forked 3529 -(3529) found -[2022] Forked 3530 -(3530) found -[2021] Forked 3531 -(3531) found -[2020] Forked 3532 -(3532) found -[2019] Forked 3533 -(3533) found -[2018] Forked 3534 -[2017] Forked 3535 -(3534) found -(3535) found -[2016] Forked 3536 -[2015] Forked 3537 -(3536) found -(3537) found -[2014] Forked 3538 -[2013] Forked 3539 -(3538) found -(3539) found -[2012] Forked 3540 -[2011] Forked 3541 -(3540) found -(3541) found -[2010] Forked 3542 -[2009] Forked 3543 -(3542) found -(3543) found -[2008] Forked 3544 -[2007] Forked 3545 -(3544) found -(3545) found -[2006] Forked 3546 -[2005] Forked 3548 -(3546) found -(3548) found -[2004] Forked 3549 -(3549) found -[2003] Forked 3550 -(3550) found -[2002] Forked 3551 -(3551) found -[2001] Forked 3552 -(3552) found -[2000] Forked 3553 -(3553) found -[1999] Forked 3554 -(3554) found -[1998] Forked 3555 -(3555) found -[1997] Forked 3556 -(3556) found -[1996] Forked 3557 -(3557) found -[1995] Forked 3558 -(3558) found -[1994] Forked 3559 -(3559) found -[1993] Forked 3560 -(3560) found -[1992] Forked 3561 -(3561) found -[1991] Forked 3562 -(3562) found -[1990] Forked 3563 -(3563) found -[1989] Forked 3564 -(3564) found -[1988] Forked 3565 -(3565) found -[1987] Forked 3566 -(3566) found -[1986] Forked 3567 -(3567) found -[1985] Forked 3568 -(3568) found -[1984] Forked 3569 -(3569) found -[1983] Forked 3570 -(3570) found -[1982] Forked 3571 -(3571) found -[1981] Forked 3572 -(3572) found -[1980] Forked 3573 -(3573) found -[1979] Forked 3574 -(3574) found -[1978] Forked 3575 -(3575) found -[1977] Forked 3576 -(3576) found -[1976] Forked 3577 -(3577) found -[1975] Forked 3578 -(3578) found -[1974] Forked 3579 -(3579) found -[1973] Forked 3580 -(3580) found -[1972] Forked 3581 -(3581) found -[1971] Forked 3582 -(3582) found -[1970] Forked 3583 -(3583) found -[1969] Forked 3584 -(3584) found -[1968] Forked 3585 -(3585) found -[1967] Forked 3586 -(3586) found -[1966] Forked 3587 -(3587) found -[1965] Forked 3588 -(3588) found -[1964] Forked 3589 -(3589) found -[1963] Forked 3590 -(3590) found -[1962] Forked 3591 -(3591) found -[1961] Forked 3592 -(3592) found -[1960] Forked 3593 -(3593) found -[1959] Forked 3594 -(3594) found -[1958] Forked 3595 -(3595) found -[1957] Forked 3596 -(3596) found -[1956] Forked 3597 -(3597) found -[1955] Forked 3598 -(3598) found -[1954] Forked 3599 -(3599) found -[1953] Forked 3600 -(3600) found -[1952] Forked 3601 -(3601) found -[1951] Forked 3602 -(3602) found -[1950] Forked 3603 -(3603) found -[1949] Forked 3604 -(3604) found -[1948] Forked 3605 -(3605) found -[1947] Forked 3606 -(3606) found -[1946] Forked 3607 -(3607) found -[1945] Forked 3608 -[1944] Forked 3609 -(3608) found -(3609) found -[1943] Forked 3610 -[1942] Forked 3611 -(3610) found -(3611) found -[1941] Forked 3612 -[1940] Forked 3613 -(3612) found -(3613) found -[1939] Forked 3614 -[1938] Forked 3615 -(3614) found -(3615) found -[1937] Forked 3616 -[1936] Forked 3617 -(3616) found -(3617) found -[1935] Forked 3618 -[1934] Forked 3619 -(3618) found -(3619) found -[1933] Forked 3620 -[1932] Forked 3621 -(3620) found -(3621) found -[1931] Forked 3622 -[1930] Forked 3623 -(3622) found -(3623) found -[1929] Forked 3624 -[1928] Forked 3625 -(3624) found -(3625) found -[1927] Forked 3626 -[1926] Forked 3627 -(3626) found -(3627) found -[1925] Forked 3628 -[1924] Forked 3629 -(3628) found -(3629) found -[1923] Forked 3630 -[1922] Forked 3631 -(3630) found -(3631) found -[1921] Forked 3632 -[1920] Forked 3633 -(3632) found -(3633) found -[1919] Forked 3634 -[1918] Forked 3635 -(3634) found -(3635) found -[1917] Forked 3636 -[1916] Forked 3637 -(3636) found -(3637) found -[1915] Forked 3638 -[1914] Forked 3639 -(3638) found -(3639) found -[1913] Forked 3640 -[1912] Forked 3641 -(3640) found -(3641) found -[1911] Forked 3642 -[1910] Forked 3643 -(3642) found -(3643) found -[1909] Forked 3644 -[1908] Forked 3645 -(3644) found -(3645) found -[1907] Forked 3646 -[1906] Forked 3647 -(3646) found -(3647) found -[1905] Forked 3648 -[1904] Forked 3649 -(3648) found -(3649) found -[1903] Forked 3650 -[1902] Forked 3651 -(3650) found -(3651) found -[1901] Forked 3652 -(3652) found -[1900] Forked 3653 -(3653) found -[1899] Forked 3654 -(3654) found -[1898] Forked 3655 -(3655) found -[1897] Forked 3656 -(3656) found -[1896] Forked 3658 -(3658) found -[1895] Forked 3659 -(3659) found -[1894] Forked 3660 -(3660) found -[1893] Forked 3661 -(3661) found -[1892] Forked 3662 -(3662) found -[1891] Forked 3663 -(3663) found -[1890] Forked 3664 -(3664) found -[1889] Forked 3665 -(3665) found -[1888] Forked 3666 -(3666) found -[1887] Forked 3667 -(3667) found -[1886] Forked 3669 -(3669) found -[1885] Forked 3670 -(3670) found -[1884] Forked 3671 -(3671) found -[1883] Forked 3672 -(3672) found -[1882] Forked 3673 -(3673) found -[1881] Forked 3674 -(3674) found -[1880] Forked 3675 -(3675) found -[1879] Forked 3676 -(3676) found -[1878] Forked 3677 -(3677) found -[1877] Forked 3678 -(3678) found -[1876] Forked 3679 -(3679) found -[1875] Forked 3680 -(3680) found -[1874] Forked 3681 -(3681) found -[1873] Forked 3682 -(3682) found -[1872] Forked 3683 -(3683) found -[1871] Forked 3684 -(3684) found -[1870] Forked 3685 -(3685) found -[1869] Forked 3686 -(3686) found -[1868] Forked 3687 -(3687) found -[1867] Forked 3688 -(3688) found -[1866] Forked 3689 -(3689) found -[1865] Forked 3690 -(3690) found -[1864] Forked 3691 -(3691) found -[1863] Forked 3692 -[1862] Forked 3693 -(3692) found -(3693) found -[1861] Forked 3694 -[1860] Forked 3695 -(3694) found -(3695) found -[1859] Forked 3696 -[1858] Forked 3697 -(3696) found -(3697) found -[1857] Forked 3698 -[1856] Forked 3699 -(3698) found -(3699) found -[1855] Forked 3700 -[1854] Forked 3701 -(3700) found -(3701) found -[1853] Forked 3702 -[1852] Forked 3703 -(3702) found -(3703) found -[1851] Forked 3704 -[1850] Forked 3705 -(3704) found -(3705) found -[1849] Forked 3706 -[1848] Forked 3707 -(3706) found -(3707) found -[1847] Forked 3708 -[1846] Forked 3709 -(3708) found -(3709) found -[1845] Forked 3710 -[1844] Forked 3711 -(3710) found -(3711) found -[1843] Forked 3712 -[1842] Forked 3713 -(3712) found -(3713) found -[1841] Forked 3714 -[1840] Forked 3715 -(3714) found -(3715) found -[1839] Forked 3716 -[1838] Forked 3717 -(3716) found -(3717) found -[1837] Forked 3718 -[1836] Forked 3719 -(3718) found -(3719) found -[1835] Forked 3720 -[1834] Forked 3721 -(3720) found -(3721) found -[1833] Forked 3722 -[1832] Forked 3723 -(3722) found -(3723) found -[1831] Forked 3724 -[1830] Forked 3725 -(3724) found -(3725) found -[1829] Forked 3726 -[1828] Forked 3727 -(3726) found -(3727) found -[1827] Forked 3728 -[1826] Forked 3729 -(3728) found -(3729) found -[1825] Forked 3730 -[1824] Forked 3731 -(3730) found -(3731) found -[1823] Forked 3732 -[1822] Forked 3733 -(3732) found -(3733) found -[1821] Forked 3734 -[1820] Forked 3735 -(3735) found -(3734) found -[1819] Forked 3736 -(3736) found -[1818] Forked 3737 -(3737) found -[1817] Forked 3738 -(3738) found -[1816] Forked 3739 -(3739) found -[1815] Forked 3740 -(3740) found -[1814] Forked 3741 -(3741) found -[1813] Forked 3742 -(3742) found -[1812] Forked 3743 -(3743) found -[1811] Forked 3744 -(3744) found -[1810] Forked 3745 -(3745) found -[1809] Forked 3746 -(3746) found -[1808] Forked 3747 -(3747) found -[1807] Forked 3748 -(3748) found -[1806] Forked 3749 -(3749) found -[1805] Forked 3750 -(3750) found -[1804] Forked 3751 -(3751) found -[1803] Forked 3752 -(3752) found -[1802] Forked 3753 -(3753) found -[1801] Forked 3754 -(3754) found -[1800] Forked 3755 -(3755) found -[1799] Forked 3756 -(3756) found -[1798] Forked 3757 -(3757) found -[1797] Forked 3758 -(3758) found -[1796] Forked 3759 -(3759) found -[1795] Forked 3760 -(3760) found -[1794] Forked 3761 -(3761) found -[1793] Forked 3762 -(3762) found -[1792] Forked 3763 -(3763) found -[1791] Forked 3764 -(3764) found -[1790] Forked 3765 -(3765) found -[1789] Forked 3766 -(3766) found -[1788] Forked 3767 -(3767) found -[1787] Forked 3768 -(3768) found -[1786] Forked 3769 -(3769) found -[1785] Forked 3770 -(3770) found -[1784] Forked 3771 -(3771) found -[1783] Forked 3772 -(3772) found -[1782] Forked 3773 -(3773) found -[1781] Forked 3774 -[1780] Forked 3775 -(3774) found -(3775) found -[1779] Forked 3776 -[1778] Forked 3777 -(3776) found -(3777) found -[1777] Forked 3778 -[1776] Forked 3779 -(3778) found -(3779) found -[1775] Forked 3780 -[1774] Forked 3781 -(3780) found -(3781) found -[1773] Forked 3782 -[1772] Forked 3783 -(3782) found -(3783) found -[1771] Forked 3784 -[1770] Forked 3785 -(3784) found -(3785) found -[1769] Forked 3786 -[1768] Forked 3787 -(3786) found -(3787) found -[1767] Forked 3788 -[1766] Forked 3789 -(3788) found -(3789) found -[1765] Forked 3790 -[1764] Forked 3791 -(3790) found -(3791) found -[1763] Forked 3792 -[1762] Forked 3793 -(3792) found -(3793) found -[1761] Forked 3794 -[1760] Forked 3795 -(3794) found -(3795) found -[1759] Forked 3796 -[1758] Forked 3797 -(3796) found -(3797) found -[1757] Forked 3798 -[1756] Forked 3799 -(3798) found -(3799) found -[1755] Forked 3800 -[1754] Forked 3801 -(3800) found -(3801) found -[1753] Forked 3802 -[1752] Forked 3803 -(3802) found -(3803) found -[1751] Forked 3804 -[1750] Forked 3805 -(3804) found -(3805) found -[1749] Forked 3806 -[1748] Forked 3807 -(3806) found -(3807) found -[1747] Forked 3808 -[1746] Forked 3809 -(3808) found -(3809) found -[1745] Forked 3810 -[1744] Forked 3811 -(3810) found -(3811) found -[1743] Forked 3812 -[1742] Forked 3814 -(3812) found -(3814) found -[1741] Forked 3815 -[1740] Forked 3816 -(3815) found -(3816) found -[1739] Forked 3817 -(3817) found -[1738] Forked 3818 -(3818) found -[1737] Forked 3819 -(3819) found -[1736] Forked 3820 -(3820) found -[1735] Forked 3821 -(3821) found -[1734] Forked 3822 -(3822) found -[1733] Forked 3823 -(3823) found -[1732] Forked 3824 -(3824) found -[1731] Forked 3825 -(3825) found -[1730] Forked 3826 -(3826) found -[1729] Forked 3827 -(3827) found -[1728] Forked 3828 -(3828) found -[1727] Forked 3829 -(3829) found -[1726] Forked 3830 -(3830) found -[1725] Forked 3831 -(3831) found -[1724] Forked 3832 -(3832) found -[1723] Forked 3833 -(3833) found -[1722] Forked 3834 -(3834) found -[1721] Forked 3835 -(3835) found -[1720] Forked 3836 -(3836) found -[1719] Forked 3837 -(3837) found -[1718] Forked 3838 -(3838) found -[1717] Forked 3839 -(3839) found -[1716] Forked 3840 -(3840) found -[1715] Forked 3841 -(3841) found -[1714] Forked 3842 -(3842) found -[1713] Forked 3843 -(3843) found -[1712] Forked 3844 -(3844) found -[1711] Forked 3845 -(3845) found -[1710] Forked 3846 -(3846) found -[1709] Forked 3847 -(3847) found -[1708] Forked 3848 -(3848) found -[1707] Forked 3849 -(3849) found -[1706] Forked 3850 -(3850) found -[1705] Forked 3851 -(3851) found -[1704] Forked 3852 -(3852) found -[1703] Forked 3853 -(3853) found -[1702] Forked 3854 -(3854) found -[1701] Forked 3855 -(3855) found -[1700] Forked 3856 -[1699] Forked 3857 -(3856) found -(3857) found -[1698] Forked 3858 -[1697] Forked 3859 -(3858) found -(3859) found -[1696] Forked 3860 -[1695] Forked 3861 -(3860) found -(3861) found -[1694] Forked 3862 -[1693] Forked 3863 -(3862) found -(3863) found -[1692] Forked 3864 -[1691] Forked 3865 -(3864) found -(3865) found -[1690] Forked 3866 -[1689] Forked 3867 -(3866) found -(3867) found -[1688] Forked 3868 -[1687] Forked 3869 -(3868) found -(3869) found -[1686] Forked 3870 -[1685] Forked 3871 -(3870) found -(3871) found -[1684] Forked 3872 -[1683] Forked 3873 -(3872) found -(3873) found -[1682] Forked 3874 -[1681] Forked 3875 -(3874) found -(3875) found -[1680] Forked 3876 -[1679] Forked 3877 -(3876) found -(3877) found -[1678] Forked 3878 -[1677] Forked 3879 -(3878) found -(3879) found -[1676] Forked 3880 -[1675] Forked 3881 -(3880) found -(3881) found -[1674] Forked 3882 -[1673] Forked 3883 -(3882) found -(3883) found -[1672] Forked 3884 -[1671] Forked 3885 -(3884) found -(3885) found -[1670] Forked 3886 -[1669] Forked 3887 -(3886) found -(3887) found -[1668] Forked 3888 -[1667] Forked 3889 -(3888) found -(3889) found -[1666] Forked 3890 -[1665] Forked 3891 -(3890) found -(3891) found -[1664] Forked 3892 -[1663] Forked 3893 -(3892) found -(3893) found -[1662] Forked 3894 -[1661] Forked 3896 -(3894) found -(3896) found -[1660] Forked 3897 -(3897) found -[1659] Forked 3898 -(3898) found -[1658] Forked 3899 -(3899) found -[1657] Forked 3900 -(3900) found -[1656] Forked 3901 -(3901) found -[1655] Forked 3902 -(3902) found -[1654] Forked 3903 -(3903) found -[1653] Forked 3904 -(3904) found -[1652] Forked 3905 -(3905) found -[1651] Forked 3906 -(3906) found -[1650] Forked 3907 -(3907) found -[1649] Forked 3908 -(3908) found -[1648] Forked 3909 -(3909) found -[1647] Forked 3910 -(3910) found -[1646] Forked 3911 -(3911) found -[1645] Forked 3912 -(3912) found -[1644] Forked 3913 -(3913) found -[1643] Forked 3914 -(3914) found -[1642] Forked 3915 -(3915) found -[1641] Forked 3916 -(3916) found -[1640] Forked 3917 -(3917) found -[1639] Forked 3919 -(3919) found -[1638] Forked 3920 -(3920) found -[1637] Forked 3921 -(3921) found -[1636] Forked 3922 -(3922) found -[1635] Forked 3923 -(3923) found -[1634] Forked 3924 -(3924) found -[1633] Forked 3925 -(3925) found -[1632] Forked 3926 -(3926) found -[1631] Forked 3927 -(3927) found -[1630] Forked 3928 -(3928) found -[1629] Forked 3929 -(3929) found -[1628] Forked 3930 -(3930) found -[1627] Forked 3931 -(3931) found -[1626] Forked 3932 -(3932) found -[1625] Forked 3933 -(3933) found -[1624] Forked 3934 -(3934) found -[1623] Forked 3935 -(3935) found -[1622] Forked 3936 -(3936) found -[1621] Forked 3937 -(3937) found -[1620] Forked 3938 -(3938) found -[1619] Forked 3939 -(3939) found -[1618] Forked 3940 -(3940) found -[1617] Forked 3941 -(3941) found -[1616] Forked 3942 -(3942) found -[1615] Forked 3943 -(3943) found -[1614] Forked 3944 -(3944) found -[1613] Forked 3945 -(3945) found -[1612] Forked 3946 -(3946) found -[1611] Forked 3947 -(3947) found -[1610] Forked 3948 -(3948) found -[1609] Forked 3949 -(3949) found -[1608] Forked 3950 -(3950) found -[1607] Forked 3951 -(3951) found -[1606] Forked 3952 -(3952) found -[1605] Forked 3953 -(3953) found -[1604] Forked 3954 -(3954) found -[1603] Forked 3955 -(3955) found -[1602] Forked 3956 -(3956) found -[1601] Forked 3957 -(3957) found -[1600] Forked 3958 -(3958) found -[1599] Forked 3959 -(3959) found -[1598] Forked 3960 -(3960) found -[1597] Forked 3961 -(3961) found -[1596] Forked 3962 -(3962) found -[1595] Forked 3963 -(3963) found -[1594] Forked 3964 -(3964) found -[1593] Forked 3965 -(3965) found -[1592] Forked 3966 -(3966) found -[1591] Forked 3967 -(3967) found -[1590] Forked 3968 -(3968) found -[1589] Forked 3969 -[1588] Forked 3970 -(3969) found -(3970) found -[1587] Forked 3971 -[1586] Forked 3972 -(3971) found -(3972) found -[1585] Forked 3973 -[1584] Forked 3974 -(3973) found -(3974) found -[1583] Forked 3975 -[1582] Forked 3976 -(3975) found -(3976) found -[1581] Forked 3977 -[1580] Forked 3978 -(3977) found -(3978) found -[1579] Forked 3979 -[1578] Forked 3980 -(3979) found -(3980) found -[1577] Forked 3981 -[1576] Forked 3982 -(3981) found -(3982) found -[1575] Forked 3983 -[1574] Forked 3984 -(3983) found -(3984) found -[1573] Forked 3985 -[1572] Forked 3986 -(3985) found -(3986) found -[1571] Forked 3987 -[1570] Forked 3988 -(3987) found -(3988) found -[1569] Forked 3989 -[1568] Forked 3990 -(3989) found -(3990) found -[1567] Forked 3991 -[1566] Forked 3992 -(3991) found -(3992) found -[1565] Forked 3993 -[1564] Forked 3994 -(3993) found -(3994) found -[1563] Forked 3995 -[1562] Forked 3996 -(3995) found -(3996) found -[1561] Forked 3997 -[1560] Forked 3998 -(3997) found -(3998) found -[1559] Forked 3999 -[1558] Forked 4000 -(3999) found -(4000) found -[1557] Forked 4001 -[1556] Forked 4002 -(4001) found -(4002) found -[1555] Forked 4003 -[1554] Forked 4004 -(4003) found -(4004) found -[1553] Forked 4005 -[1552] Forked 4006 -(4005) found -(4006) found -[1551] Forked 4007 -[1550] Forked 4008 -(4007) found -(4008) found -[1549] Forked 4009 -[1548] Forked 4010 -(4009) found -(4010) found -[1547] Forked 4011 -[1546] Forked 4012 -(4011) found -(4012) found -[1545] Forked 4013 -[1544] Forked 4015 -(4013) found -(4015) found -[1543] Forked 4016 -(4016) found -[1542] Forked 4017 -(4017) found -[1541] Forked 4018 -(4018) found -[1540] Forked 4019 -(4019) found -[1539] Forked 4020 -(4020) found -[1538] Forked 4021 -(4021) found -[1537] Forked 4022 -(4022) found -[1536] Forked 4023 -(4023) found -[1535] Forked 4024 -(4024) found -[1534] Forked 4025 -(4025) found -[1533] Forked 4026 -(4026) found -[1532] Forked 4028 -(4028) found -[1531] Forked 4029 -(4029) found -[1530] Forked 4030 -(4030) found -[1529] Forked 4031 -(4031) found -[1528] Forked 4032 -(4032) found -[1527] Forked 4034 -(4034) found -[1526] Forked 4035 -(4035) found -[1525] Forked 4036 -(4036) found -[1524] Forked 4037 -(4037) found -[1523] Forked 4038 -(4038) found -[1522] Forked 4039 -(4039) found -[1521] Forked 4040 -(4040) found -[1520] Forked 4041 -(4041) found -[1519] Forked 4042 -(4042) found -[1518] Forked 4043 -(4043) found -[1517] Forked 4044 -(4044) found -[1516] Forked 4045 -(4045) found -[1515] Forked 4046 -(4046) found -[1514] Forked 4047 -(4047) found -[1513] Forked 4048 -(4048) found -[1512] Forked 4049 -(4049) found -[1511] Forked 4052 -(4052) found -[1510] Forked 4053 -(4053) found -[1509] Forked 4054 -(4054) found -[1508] Forked 4055 -(4055) found -[1507] Forked 4056 -[1506] Forked 4057 -(4056) found -(4057) found -[1505] Forked 4058 -[1504] Forked 4059 -(4058) found -(4059) found -[1503] Forked 4060 -[1502] Forked 4061 -(4060) found -(4061) found -[1501] Forked 4062 -[1500] Forked 4063 -(4062) found -(4063) found -[1499] Forked 4064 -[1498] Forked 4065 -(4064) found -(4065) found -[1497] Forked 4066 -[1496] Forked 4067 -(4066) found -(4067) found -[1495] Forked 4068 -[1494] Forked 4069 -(4068) found -(4069) found -[1493] Forked 4070 -[1492] Forked 4071 -(4070) found -(4071) found -[1491] Forked 4072 -[1490] Forked 4074 -(4072) found -(4074) found -[1489] Forked 4075 -[1488] Forked 4076 -(4075) found -(4076) found -[1487] Forked 4077 -[1486] Forked 4078 -(4077) found -(4078) found -[1485] Forked 4079 -[1484] Forked 4080 -(4079) found -(4080) found -[1483] Forked 4081 -[1482] Forked 4082 -(4081) found -(4082) found -[1481] Forked 4083 -[1480] Forked 4086 -(4083) found -(4086) found -[1479] Forked 4088 -[1478] Forked 4089 -(4088) found -(4089) found -[1477] Forked 4090 -[1476] Forked 4093 -(4090) found -(4093) found -[1475] Forked 4095 -[1474] Forked 4096 -(4095) found -(4096) found -[1473] Forked 4097 -[1472] Forked 4098 -(4097) found -(4098) found -[1471] Forked 4099 -[1470] Forked 4100 -(4099) found -(4100) found -[1469] Forked 4101 -[1468] Forked 4102 -(4101) found -(4102) found -[1467] Forked 4103 -[1466] Forked 4104 -(4103) found -(4104) found -[1465] Forked 4105 -[1464] Forked 4106 -(4105) found -(4106) found -[1463] Forked 4107 -[1462] Forked 4108 -(4107) found -(4108) found -[1461] Forked 4109 -[1460] Forked 4110 -(4109) found -(4110) found -[1459] Forked 4111 -[1458] Forked 4112 -(4111) found -(4112) found -[1457] Forked 4113 -[1456] Forked 4114 -(4113) found -(4114) found -[1455] Forked 4115 -[1454] Forked 4116 -(4115) found -(4116) found -[1453] Forked 4117 -[1452] Forked 4118 -(4117) found -(4118) found -[1451] Forked 4119 -[1450] Forked 4120 -(4119) found -(4120) found -[1449] Forked 4121 -[1448] Forked 4122 -(4121) found -(4122) found -[1447] Forked 4123 -[1446] Forked 4124 -(4123) found -(4124) found -[1445] Forked 4125 -[1444] Forked 4126 -(4125) found -(4126) found -[1443] Forked 4127 -[1442] Forked 4128 -(4127) found -(4128) found -[1441] Forked 4129 -[1440] Forked 4130 -(4129) found -(4130) found -[1439] Forked 4131 -[1438] Forked 4132 -(4131) found -(4132) found -[1437] Forked 4133 -[1436] Forked 4134 -(4133) found -(4134) found -[1435] Forked 4135 -[1434] Forked 4136 -(4135) found -(4136) found -[1433] Forked 4137 -[1432] Forked 4138 -(4137) found -(4138) found -[1431] Forked 4139 -[1430] Forked 4140 -(4139) found -(4140) found -[1429] Forked 4141 -[1428] Forked 4142 -(4141) found -(4142) found -[1427] Forked 4143 -[1426] Forked 4144 -(4143) found -(4144) found -[1425] Forked 4145 -[1424] Forked 4146 -(4145) found -(4146) found -[1423] Forked 4147 -[1422] Forked 4148 -(4147) found -(4148) found -[1421] Forked 4149 -[1420] Forked 4150 -(4149) found -(4150) found -[1419] Forked 4151 -[1418] Forked 4152 -(4151) found -(4152) found -[1417] Forked 4153 -(4153) found -[1416] Forked 4154 -(4154) found -[1415] Forked 4155 -(4155) found -[1414] Forked 4156 -(4156) found -[1413] Forked 4157 -(4157) found -[1412] Forked 4158 -(4158) found -[1411] Forked 4159 -(4159) found -[1410] Forked 4160 -(4160) found -[1409] Forked 4161 -(4161) found -[1408] Forked 4162 -(4162) found -[1407] Forked 4163 -(4163) found -[1406] Forked 4164 -(4164) found -[1405] Forked 4165 -(4165) found -[1404] Forked 4166 -(4166) found -[1403] Forked 4167 -(4167) found -[1402] Forked 4168 -(4168) found -[1401] Forked 4169 -(4169) found -[1400] Forked 4170 -(4170) found -[1399] Forked 4171 -(4171) found -[1398] Forked 4172 -(4172) found -[1397] Forked 4173 -(4173) found -[1396] Forked 4174 -(4174) found -[1395] Forked 4175 -(4175) found -[1394] Forked 4176 -(4176) found -[1393] Forked 4177 -(4177) found -[1392] Forked 4178 -(4178) found -[1391] Forked 4179 -(4179) found -[1390] Forked 4180 -(4180) found -[1389] Forked 4181 -(4181) found -[1388] Forked 4182 -(4182) found -[1387] Forked 4183 -(4183) found -[1386] Forked 4184 -(4184) found -[1385] Forked 4185 -(4185) found -[1384] Forked 4186 -(4186) found -[1383] Forked 4187 -(4187) found -[1382] Forked 4188 -(4188) found -[1381] Forked 4189 -(4189) found -[1380] Forked 4190 -(4190) found -[1379] Forked 4191 -[1378] Forked 4192 -(4191) found -(4192) found -[1377] Forked 4193 -[1376] Forked 4194 -(4193) found -(4194) found -[1375] Forked 4195 -[1374] Forked 4196 -(4195) found -(4196) found -[1373] Forked 4197 -[1372] Forked 4198 -(4197) found -(4198) found -[1371] Forked 4199 -[1370] Forked 4200 -(4199) found -(4200) found -[1369] Forked 4201 -[1368] Forked 4202 -(4201) found -(4202) found -[1367] Forked 4203 -[1366] Forked 4204 -(4203) found -(4204) found -[1365] Forked 4205 -[1364] Forked 4206 -(4205) found -(4206) found -[1363] Forked 4207 -[1362] Forked 4208 -(4207) found -(4208) found -[1361] Forked 4209 -[1360] Forked 4210 -(4209) found -(4210) found -[1359] Forked 4211 -[1358] Forked 4212 -(4211) found -(4212) found -[1357] Forked 4213 -[1356] Forked 4214 -(4213) found -(4214) found -[1355] Forked 4215 -[1354] Forked 4216 -(4215) found -(4216) found -[1353] Forked 4217 -[1352] Forked 4218 -(4217) found -(4218) found -[1351] Forked 4219 -[1350] Forked 4220 -(4219) found -(4220) found -[1349] Forked 4221 -[1348] Forked 4222 -(4221) found -(4222) found -[1347] Forked 4223 -[1346] Forked 4224 -(4223) found -(4224) found -[1345] Forked 4225 -[1344] Forked 4226 -(4225) found -(4226) found -[1343] Forked 4227 -[1342] Forked 4228 -(4227) found -(4228) found -[1341] Forked 4229 -(4229) found -[1340] Forked 4230 -[1339] Forked 4231 -(4230) found -(4231) found -[1338] Forked 4232 -[1337] Forked 4233 -(4232) found -(4233) found -[1336] Forked 4234 -(4234) found -[1335] Forked 4235 -(4235) found -[1334] Forked 4236 -(4236) found -[1333] Forked 4237 -(4237) found -[1332] Forked 4238 -(4238) found -[1331] Forked 4239 -(4239) found -[1330] Forked 4240 -(4240) found -[1329] Forked 4242 -(4242) found -[1328] Forked 4243 -(4243) found -[1327] Forked 4244 -(4244) found -[1326] Forked 4245 -(4245) found -[1325] Forked 4247 -(4247) found -[1324] Forked 4248 -(4248) found -[1323] Forked 4249 -(4249) found -[1322] Forked 4250 -(4250) found -[1321] Forked 4251 -(4251) found -[1320] Forked 4252 -(4252) found -[1319] Forked 4254 -(4254) found -[1318] Forked 4255 -(4255) found -[1317] Forked 4256 -(4256) found -[1316] Forked 4257 -(4257) found -[1315] Forked 4258 -(4258) found -[1314] Forked 4259 -(4259) found -[1313] Forked 4260 -(4260) found -[1312] Forked 4261 -(4261) found -[1311] Forked 4262 -(4262) found -[1310] Forked 4263 -(4263) found -[1309] Forked 4264 -(4264) found -[1308] Forked 4265 -(4265) found -[1307] Forked 4266 -(4266) found -[1306] Forked 4267 -(4267) found -[1305] Forked 4268 -(4268) found -[1304] Forked 4269 -(4269) found -[1303] Forked 4270 -(4270) found -[1302] Forked 4271 -(4271) found -[1301] Forked 4272 -(4272) found -[1300] Forked 4273 -(4273) found -[1299] Forked 4274 -(4274) found -[1298] Forked 4275 -(4275) found -[1297] Forked 4276 -[1296] Forked 4277 -(4276) found -(4277) found -[1295] Forked 4278 -[1294] Forked 4279 -(4278) found -(4279) found -[1293] Forked 4280 -[1292] Forked 4281 -(4280) found -(4281) found -[1291] Forked 4282 -[1290] Forked 4284 -(4282) found -(4284) found -[1289] Forked 4285 -[1288] Forked 4286 -(4285) found -(4286) found -[1287] Forked 4287 -[1286] Forked 4288 -(4287) found -(4288) found -[1285] Forked 4289 -[1284] Forked 4290 -(4290) found -(4289) found -[1283] Forked 4291 -(4291) found -[1282] Forked 4292 -(4292) found -[1281] Forked 4293 -(4293) found -[1280] Forked 4294 -(4294) found -[1279] Forked 4295 -(4295) found -[1278] Forked 4296 -(4296) found -[1277] Forked 4297 -(4297) found -[1276] Forked 4298 -(4298) found -[1275] Forked 4299 -(4299) found -[1274] Forked 4300 -(4300) found -[1273] Forked 4301 -(4301) found -[1272] Forked 4302 -(4302) found -[1271] Forked 4303 -(4303) found -[1270] Forked 4304 -(4304) found -[1269] Forked 4305 -(4305) found -[1268] Forked 4306 -(4306) found -[1267] Forked 4307 -(4307) found -[1266] Forked 4308 -(4308) found -[1265] Forked 4309 -(4309) found -[1264] Forked 4310 -(4310) found -[1263] Forked 4311 -(4311) found -[1262] Forked 4312 -(4312) found -[1261] Forked 4313 -(4313) found -[1260] Forked 4314 -(4314) found -[1259] Forked 4315 -(4315) found -[1258] Forked 4316 -(4316) found -[1257] Forked 4317 -(4317) found -[1256] Forked 4318 -(4318) found -[1255] Forked 4319 -(4319) found -[1254] Forked 4320 -(4320) found -[1253] Forked 4321 -(4321) found -[1252] Forked 4322 -(4322) found -[1251] Forked 4323 -(4323) found -[1250] Forked 4324 -(4324) found -[1249] Forked 4325 -(4325) found -[1248] Forked 4326 -(4326) found -[1247] Forked 4327 -(4327) found -[1246] Forked 4328 -(4328) found -[1245] Forked 4329 -(4329) found -[1244] Forked 4330 -(4330) found -[1243] Forked 4331 -(4331) found -[1242] Forked 4332 -(4332) found -[1241] Forked 4333 -(4333) found -[1240] Forked 4334 -(4334) found -[1239] Forked 4335 -(4335) found -[1238] Forked 4336 -(4336) found -[1237] Forked 4337 -(4337) found -[1236] Forked 4338 -(4338) found -[1235] Forked 4339 -(4339) found -[1234] Forked 4340 -(4340) found -[1233] Forked 4341 -(4341) found -[1232] Forked 4342 -(4342) found -[1231] Forked 4343 -(4343) found -[1230] Forked 4344 -(4344) found -[1229] Forked 4345 -(4345) found -[1228] Forked 4346 -(4346) found -[1227] Forked 4347 -(4347) found -[1226] Forked 4348 -(4348) found -[1225] Forked 4349 -[1224] Forked 4350 -(4349) found -(4350) found -[1223] Forked 4351 -[1222] Forked 4352 -(4351) found -(4352) found -[1221] Forked 4353 -[1220] Forked 4354 -(4353) found -(4354) found -[1219] Forked 4355 -[1218] Forked 4356 -(4355) found -(4356) found -[1217] Forked 4357 -[1216] Forked 4358 -(4357) found -(4358) found -[1215] Forked 4359 -[1214] Forked 4360 -(4359) found -(4360) found -[1213] Forked 4361 -[1212] Forked 4362 -(4361) found -(4362) found -[1211] Forked 4363 -[1210] Forked 4364 -(4363) found -(4364) found -[1209] Forked 4365 -[1208] Forked 4366 -(4365) found -(4366) found -[1207] Forked 4367 -[1206] Forked 4368 -(4367) found -(4368) found -[1205] Forked 4369 -[1204] Forked 4370 -(4369) found -(4370) found -[1203] Forked 4371 -[1202] Forked 4372 -(4371) found -(4372) found -[1201] Forked 4373 -[1200] Forked 4374 -(4373) found -(4374) found -[1199] Forked 4375 -[1198] Forked 4376 -(4375) found -(4376) found -[1197] Forked 4377 -[1196] Forked 4378 -(4377) found -(4378) found -[1195] Forked 4379 -[1194] Forked 4380 -(4379) found -(4380) found -[1193] Forked 4381 -[1192] Forked 4382 -(4381) found -(4382) found -[1191] Forked 4383 -[1190] Forked 4384 -(4383) found -(4384) found -[1189] Forked 4385 -[1188] Forked 4386 -(4385) found -(4386) found -[1187] Forked 4387 -[1186] Forked 4388 -(4387) found -(4388) found -[1185] Forked 4389 -[1184] Forked 4390 -(4389) found -(4390) found -[1183] Forked 4391 -[1182] Forked 4392 -(4391) found -(4392) found -[1181] Forked 4393 -(4393) found -[1180] Forked 4394 -(4394) found -[1179] Forked 4395 -(4395) found -[1178] Forked 4396 -(4396) found -[1177] Forked 4397 -(4397) found -[1176] Forked 4398 -(4398) found -[1175] Forked 4399 -(4399) found -[1174] Forked 4400 -(4400) found -[1173] Forked 4401 -(4401) found -[1172] Forked 4402 -(4402) found -[1171] Forked 4403 -(4403) found -[1170] Forked 4404 -(4404) found -[1169] Forked 4405 -(4405) found -[1168] Forked 4406 -(4406) found -[1167] Forked 4407 -(4407) found -[1166] Forked 4408 -(4408) found -[1165] Forked 4409 -(4409) found -[1164] Forked 4410 -(4410) found -[1163] Forked 4411 -(4411) found -[1162] Forked 4412 -(4412) found -[1161] Forked 4413 -(4413) found -[1160] Forked 4414 -(4414) found -[1159] Forked 4415 -(4415) found -[1158] Forked 4416 -(4416) found -[1157] Forked 4417 -(4417) found -[1156] Forked 4418 -(4418) found -[1155] Forked 4419 -(4419) found -[1154] Forked 4420 -(4420) found -[1153] Forked 4421 -(4421) found -[1152] Forked 4422 -(4422) found -[1151] Forked 4423 -(4423) found -[1150] Forked 4424 -(4424) found -[1149] Forked 4425 -(4425) found -[1148] Forked 4426 -(4426) found -[1147] Forked 4427 -(4427) found -[1146] Forked 4428 -(4428) found -[1145] Forked 4429 -(4429) found -[1144] Forked 4430 -(4430) found -[1143] Forked 4431 -[1142] Forked 4432 -(4431) found -(4432) found -[1141] Forked 4433 -[1140] Forked 4434 -(4433) found -(4434) found -[1139] Forked 4435 -[1138] Forked 4436 -(4435) found -(4436) found -[1137] Forked 4437 -[1136] Forked 4438 -(4437) found -(4438) found -[1135] Forked 4439 -[1134] Forked 4440 -(4439) found -(4440) found -[1133] Forked 4441 -[1132] Forked 4442 -(4441) found -(4442) found -[1131] Forked 4443 -[1130] Forked 4444 -(4443) found -(4444) found -[1129] Forked 4445 -[1128] Forked 4446 -(4445) found -(4446) found -[1127] Forked 4447 -[1126] Forked 4448 -(4447) found -(4448) found -[1125] Forked 4449 -[1124] Forked 4450 -(4449) found -(4450) found -[1123] Forked 4451 -[1122] Forked 4452 -(4451) found -(4452) found -[1121] Forked 4453 -[1120] Forked 4454 -(4453) found -(4454) found -[1119] Forked 4455 -[1118] Forked 4456 -(4455) found -(4456) found -[1117] Forked 4457 -[1116] Forked 4458 -(4457) found -(4458) found -[1115] Forked 4459 -[1114] Forked 4460 -(4459) found -(4460) found -[1113] Forked 4461 -[1112] Forked 4462 -(4461) found -(4462) found -[1111] Forked 4463 -[1110] Forked 4464 -(4463) found -(4464) found -[1109] Forked 4465 -[1108] Forked 4466 -(4465) found -(4466) found -[1107] Forked 4467 -[1106] Forked 4468 -(4467) found -(4468) found -[1105] Forked 4469 -[1104] Forked 4470 -(4469) found -(4470) found -[1103] Forked 4471 -[1102] Forked 4472 -(4471) found -(4472) found -[1101] Forked 4473 -[1100] Forked 4474 -(4473) found -(4474) found -[1099] Forked 4475 -(4475) found -[1098] Forked 4476 -(4476) found -[1097] Forked 4477 -(4477) found -[1096] Forked 4478 -(4478) found -[1095] Forked 4479 -(4479) found -[1094] Forked 4480 -(4480) found -[1093] Forked 4481 -(4481) found -[1092] Forked 4482 -(4482) found -[1091] Forked 4483 -(4483) found -[1090] Forked 4484 -(4484) found -[1089] Forked 4485 -(4485) found -[1088] Forked 4486 -(4486) found -[1087] Forked 4487 -(4487) found -[1086] Forked 4488 -(4488) found -[1085] Forked 4489 -(4489) found -[1084] Forked 4490 -(4490) found -[1083] Forked 4491 -(4491) found -[1082] Forked 4492 -(4492) found -[1081] Forked 4493 -(4493) found -[1080] Forked 4494 -(4494) found -[1079] Forked 4495 -(4495) found -[1078] Forked 4496 -(4496) found -[1077] Forked 4497 -(4497) found -[1076] Forked 4498 -(4498) found -[1075] Forked 4499 -(4499) found -[1074] Forked 4500 -(4500) found -[1073] Forked 4501 -(4501) found -[1072] Forked 4502 -(4502) found -[1071] Forked 4503 -(4503) found -[1070] Forked 4504 -(4504) found -[1069] Forked 4505 -(4505) found -[1068] Forked 4506 -(4506) found -[1067] Forked 4507 -(4507) found -[1066] Forked 4508 -(4508) found -[1065] Forked 4509 -(4509) found -[1064] Forked 4510 -(4510) found -[1063] Forked 4511 -(4511) found -[1062] Forked 4512 -(4512) found -[1061] Forked 4513 -(4513) found -[1060] Forked 4514 -[1059] Forked 4515 -(4514) found -(4515) found -[1058] Forked 4516 -[1057] Forked 4517 -(4516) found -(4517) found -[1056] Forked 4518 -[1055] Forked 4519 -(4518) found -(4519) found -[1054] Forked 4520 -[1053] Forked 4521 -(4520) found -(4521) found -[1052] Forked 4522 -[1051] Forked 4523 -(4522) found -(4523) found -[1050] Forked 4524 -[1049] Forked 4525 -(4524) found -(4525) found -[1048] Forked 4526 -[1047] Forked 4527 -(4526) found -(4527) found -[1046] Forked 4528 -[1045] Forked 4529 -(4528) found -(4529) found -[1044] Forked 4530 -[1043] Forked 4531 -(4530) found -(4531) found -[1042] Forked 4532 -[1041] Forked 4533 -(4532) found -(4533) found -[1040] Forked 4534 -(4534) found -[1039] Forked 4535 -(4535) found -[1038] Forked 4536 -[1037] Forked 4537 -(4536) found -(4537) found -[1036] Forked 4538 -[1035] Forked 4539 -(4538) found -(4539) found -[1034] Forked 4540 -[1033] Forked 4541 -(4540) found -(4541) found -[1032] Forked 4542 -[1031] Forked 4543 -(4542) found -(4543) found -[1030] Forked 4544 -[1029] Forked 4545 -(4544) found -(4545) found -[1028] Forked 4546 -[1027] Forked 4547 -(4546) found -(4547) found -[1026] Forked 4548 -[1025] Forked 4549 -(4548) found -(4549) found -[1024] Forked 4550 -[1023] Forked 4551 -(4550) found -(4551) found -[1022] Forked 4552 -[1021] Forked 4553 -(4552) found -(4553) found -[1020] Forked 4554 -[1019] Forked 4555 -(4554) found -(4555) found -[1018] Forked 4556 -(4556) found -[1017] Forked 4557 -(4557) found -[1016] Forked 4558 -(4558) found -[1015] Forked 4559 -(4559) found -[1014] Forked 4560 -(4560) found -[1013] Forked 4561 -(4561) found -[1012] Forked 4562 -(4562) found -[1011] Forked 4563 -(4563) found -[1010] Forked 4564 -(4564) found -[1009] Forked 4565 -(4565) found -[1008] Forked 4566 -(4566) found -[1007] Forked 4567 -(4567) found -[1006] Forked 4568 -(4568) found -[1005] Forked 4569 -(4569) found -[1004] Forked 4570 -(4570) found -[1003] Forked 4571 -(4571) found -[1002] Forked 4572 -(4572) found -[1001] Forked 4573 -(4573) found -[1000] Forked 4574 -(4574) found -[999] Forked 4575 -(4575) found -[998] Forked 4576 -(4576) found -[997] Forked 4577 -(4577) found -[996] Forked 4578 -(4578) found -[995] Forked 4579 -(4579) found -[994] Forked 4580 -(4580) found -[993] Forked 4581 -(4581) found -[992] Forked 4582 -(4582) found -[991] Forked 4583 -(4583) found -[990] Forked 4584 -(4584) found -[989] Forked 4585 -(4585) found -[988] Forked 4586 -(4586) found -[987] Forked 4587 -(4587) found -[986] Forked 4588 -(4588) found -[985] Forked 4589 -(4589) found -[984] Forked 4590 -(4590) found -[983] Forked 4591 -(4591) found -[982] Forked 4593 -(4593) found -[981] Forked 4594 -(4594) found -[980] Forked 4595 -(4595) found -[979] Forked 4596 -[978] Forked 4597 -(4596) found -(4597) found -[977] Forked 4598 -[976] Forked 4599 -(4598) found -(4599) found -[975] Forked 4600 -[974] Forked 4601 -(4600) found -(4601) found -[973] Forked 4602 -[972] Forked 4603 -(4602) found -(4603) found -[971] Forked 4604 -[970] Forked 4605 -(4604) found -(4605) found -[969] Forked 4606 -[968] Forked 4607 -(4606) found -(4607) found -[967] Forked 4608 -[966] Forked 4609 -(4608) found -(4609) found -[965] Forked 4610 -[964] Forked 4611 -(4610) found -(4611) found -[963] Forked 4612 -[962] Forked 4613 -(4612) found -(4613) found -[961] Forked 4614 -[960] Forked 4615 -(4614) found -(4615) found -[959] Forked 4616 -[958] Forked 4617 -(4616) found -(4617) found -[957] Forked 4618 -[956] Forked 4619 -(4618) found -(4619) found -[955] Forked 4620 -[954] Forked 4621 -(4620) found -(4621) found -[953] Forked 4622 -[952] Forked 4623 -(4623) found -(4622) found -[951] Forked 4624 -(4624) found -[950] Forked 4625 -(4625) found -[949] Forked 4626 -(4626) found -[948] Forked 4627 -(4627) found -[947] Forked 4628 -(4628) found -[946] Forked 4629 -(4629) found -[945] Forked 4630 -(4630) found -[944] Forked 4631 -(4631) found -[943] Forked 4632 -(4632) found -[942] Forked 4633 -[941] Forked 4634 -(4633) found -(4634) found -[940] Forked 4635 -[939] Forked 4636 -(4636) found -(4635) found -[938] Forked 4637 -(4637) found -[937] Forked 4638 -(4638) found -[936] Forked 4639 -(4639) found -[935] Forked 4640 -(4640) found -[934] Forked 4641 -(4641) found -[933] Forked 4642 -(4642) found -[932] Forked 4643 -(4643) found -[931] Forked 4644 -(4644) found -[930] Forked 4645 -(4645) found -[929] Forked 4646 -(4646) found -[928] Forked 4647 -(4647) found -[927] Forked 4648 -(4648) found -[926] Forked 4649 -(4649) found -[925] Forked 4650 -(4650) found -[924] Forked 4651 -(4651) found -[923] Forked 4652 -(4652) found -[922] Forked 4653 -(4653) found -[921] Forked 4654 -(4654) found -[920] Forked 4655 -(4655) found -[919] Forked 4656 -(4656) found -[918] Forked 4657 -(4657) found -[917] Forked 4658 -(4658) found -[916] Forked 4659 -(4659) found -[915] Forked 4660 -(4660) found -[914] Forked 4661 -(4661) found -[913] Forked 4662 -(4662) found -[912] Forked 4663 -(4663) found -[911] Forked 4664 -(4664) found -[910] Forked 4665 -(4665) found -[909] Forked 4666 -(4666) found -[908] Forked 4667 -(4667) found -[907] Forked 4668 -(4668) found -[906] Forked 4669 -(4669) found -[905] Forked 4670 -(4670) found -[904] Forked 4671 -(4671) found -[903] Forked 4672 -(4672) found -[902] Forked 4673 -(4673) found -[901] Forked 4674 -[900] Forked 4675 -(4674) found -(4675) found -[899] Forked 4676 -[898] Forked 4677 -(4676) found -(4677) found -[897] Forked 4678 -[896] Forked 4679 -(4678) found -(4679) found -[895] Forked 4680 -[894] Forked 4681 -(4680) found -(4681) found -[893] Forked 4682 -[892] Forked 4683 -(4682) found -(4683) found -[891] Forked 4684 -[890] Forked 4685 -(4684) found -(4685) found -[889] Forked 4686 -[888] Forked 4687 -(4686) found -(4687) found -[887] Forked 4688 -[886] Forked 4689 -(4688) found -(4689) found -[885] Forked 4690 -[884] Forked 4691 -(4690) found -(4691) found -[883] Forked 4692 -[882] Forked 4693 -(4692) found -(4693) found -[881] Forked 4694 -[880] Forked 4695 -(4694) found -(4695) found -[879] Forked 4696 -[878] Forked 4697 -(4696) found -(4697) found -[877] Forked 4698 -[876] Forked 4699 -(4698) found -(4699) found -[875] Forked 4700 -[874] Forked 4701 -(4700) found -(4701) found -[873] Forked 4702 -[872] Forked 4703 -(4702) found -(4703) found -[871] Forked 4704 -[870] Forked 4705 -(4704) found -(4705) found -[869] Forked 4706 -[868] Forked 4707 -(4706) found -(4707) found -[867] Forked 4708 -[866] Forked 4709 -(4708) found -(4709) found -[865] Forked 4710 -[864] Forked 4711 -(4710) found -(4711) found -[863] Forked 4712 -[862] Forked 4713 -(4712) found -(4713) found -[861] Forked 4714 -[860] Forked 4715 -(4714) found -(4715) found -[859] Forked 4716 -[858] Forked 4717 -(4716) found -(4717) found -[857] Forked 4718 -(4718) found -[856] Forked 4719 -(4719) found -[855] Forked 4720 -(4720) found -[854] Forked 4721 -(4721) found -[853] Forked 4722 -(4722) found -[852] Forked 4723 -(4723) found -[851] Forked 4724 -(4724) found -[850] Forked 4725 -(4725) found -[849] Forked 4726 -(4726) found -[848] Forked 4727 -(4727) found -[847] Forked 4728 -(4728) found -[846] Forked 4729 -(4729) found -[845] Forked 4730 -(4730) found -[844] Forked 4731 -(4731) found -[843] Forked 4732 -(4732) found -[842] Forked 4733 -(4733) found -[841] Forked 4734 -(4734) found -[840] Forked 4735 -(4735) found -[839] Forked 4736 -(4736) found -[838] Forked 4737 -(4737) found -[837] Forked 4738 -(4738) found -[836] Forked 4739 -(4739) found -[835] Forked 4740 -(4740) found -[834] Forked 4741 -(4741) found -[833] Forked 4742 -(4742) found -[832] Forked 4743 -(4743) found -[831] Forked 4744 -(4744) found -[830] Forked 4745 -(4745) found -[829] Forked 4746 -(4746) found -[828] Forked 4747 -(4747) found -[827] Forked 4748 -(4748) found -[826] Forked 4749 -(4749) found -[825] Forked 4750 -(4750) found -[824] Forked 4751 -(4751) found -[823] Forked 4752 -(4752) found -[822] Forked 4753 -(4753) found -[821] Forked 4754 -(4754) found -[820] Forked 4755 -(4755) found -[819] Forked 4756 -(4756) found -[818] Forked 4757 -(4757) found -[817] Forked 4758 -[816] Forked 4759 -(4758) found -(4759) found -[815] Forked 4760 -[814] Forked 4761 -(4760) found -(4761) found -[813] Forked 4762 -[812] Forked 4763 -(4762) found -(4763) found -[811] Forked 4764 -[810] Forked 4765 -(4764) found -(4765) found -[809] Forked 4766 -[808] Forked 4767 -(4766) found -(4767) found -[807] Forked 4768 -[806] Forked 4769 -(4768) found -(4769) found -[805] Forked 4770 -[804] Forked 4771 -(4770) found -(4771) found -[803] Forked 4772 -[802] Forked 4773 -(4772) found -(4773) found -[801] Forked 4774 -[800] Forked 4775 -(4774) found -(4775) found -[799] Forked 4776 -[798] Forked 4777 -(4776) found -(4777) found -[797] Forked 4778 -[796] Forked 4779 -(4778) found -(4779) found -[795] Forked 4780 -[794] Forked 4781 -(4780) found -(4781) found -[793] Forked 4782 -[792] Forked 4783 -(4782) found -(4783) found -[791] Forked 4784 -[790] Forked 4785 -(4784) found -(4785) found -[789] Forked 4786 -[788] Forked 4787 -(4786) found -(4787) found -[787] Forked 4788 -[786] Forked 4789 -(4788) found -(4789) found -[785] Forked 4790 -[784] Forked 4791 -(4790) found -(4791) found -[783] Forked 4792 -[782] Forked 4793 -(4792) found -(4793) found -[781] Forked 4794 -[780] Forked 4795 -(4794) found -(4795) found -[779] Forked 4796 -[778] Forked 4797 -(4796) found -(4797) found -[777] Forked 4798 -[776] Forked 4799 -(4798) found -(4799) found -[775] Forked 4800 -[774] Forked 4801 -[773] Forked 4802 -[772] Forked 4803 -[771] Forked 4804 -[770] Forked 4805 -[769] Forked 4806 -[768] Forked 4807 -[767] Forked 4809 -(4800) found -(4801) found -(4802) found -(4803) found -(4804) found -(4805) found -(4806) found -(4807) found -(4809) found -[766] Forked 4810 -(4810) found -[765] Forked 4811 -(4811) found -[764] Forked 4812 -(4812) found -[763] Forked 4813 -(4813) found -[762] Forked 4814 -(4814) found -[761] Forked 4815 -(4815) found -[760] Forked 4816 -(4816) found -[759] Forked 4817 -(4817) found -[758] Forked 4818 -(4818) found -[757] Forked 4819 -(4819) found -[756] Forked 4820 -(4820) found -[755] Forked 4821 -(4821) found -[754] Forked 4822 -(4822) found -[753] Forked 4823 -(4823) found -[752] Forked 4824 -(4824) found -[751] Forked 4825 -(4825) found -[750] Forked 4826 -(4826) found -[749] Forked 4827 -(4827) found -[748] Forked 4828 -(4828) found -[747] Forked 4829 -(4829) found -[746] Forked 4830 -(4830) found -[745] Forked 4831 -(4831) found -[744] Forked 4832 -(4832) found -[743] Forked 4833 -(4833) found -[742] Forked 4834 -(4834) found -[741] Forked 4835 -(4835) found -[740] Forked 4836 -(4836) found -[739] Forked 4837 -(4837) found -[738] Forked 4838 -(4838) found -[737] Forked 4839 -(4839) found -[736] Forked 4840 -(4840) found -[735] Forked 4841 -(4841) found -[734] Forked 4842 -[733] Forked 4843 -(4842) found -(4843) found -[732] Forked 4844 -[731] Forked 4845 -(4844) found -(4845) found -[730] Forked 4846 -[729] Forked 4847 -(4846) found -(4847) found -[728] Forked 4848 -[727] Forked 4849 -(4848) found -(4849) found -[726] Forked 4850 -[725] Forked 4851 -(4850) found -(4851) found -[724] Forked 4852 -[723] Forked 4853 -(4852) found -(4853) found -[722] Forked 4854 -[721] Forked 4855 -(4854) found -(4855) found -[720] Forked 4856 -[719] Forked 4857 -(4856) found -(4857) found -[718] Forked 4858 -[717] Forked 4859 -(4858) found -(4859) found -[716] Forked 4860 -[715] Forked 4861 -(4860) found -(4861) found -[714] Forked 4862 -[713] Forked 4863 -(4862) found -(4863) found -[712] Forked 4864 -[711] Forked 4865 -(4864) found -(4865) found -[710] Forked 4866 -[709] Forked 4867 -(4866) found -(4867) found -[708] Forked 4868 -[707] Forked 4869 -(4868) found -(4869) found -[706] Forked 4870 -[705] Forked 4871 -(4870) found -(4871) found -[704] Forked 4872 -[703] Forked 4873 -(4872) found -(4873) found -[702] Forked 4874 -[701] Forked 4875 -(4874) found -(4875) found -[700] Forked 4876 -(4876) found -[699] Forked 4877 -[698] Forked 4878 -(4877) found -(4878) found -[697] Forked 4879 -[696] Forked 4881 -(4879) found -(4881) found -[695] Forked 4882 -(4882) found -[694] Forked 4883 -(4883) found -[693] Forked 4884 -(4884) found -[692] Forked 4885 -(4885) found -[691] Forked 4886 -(4886) found -[690] Forked 4887 -(4887) found -[689] Forked 4888 -(4888) found -[688] Forked 4889 -(4889) found -[687] Forked 4890 -(4890) found -[686] Forked 4891 -(4891) found -[685] Forked 4892 -(4892) found -[684] Forked 4893 -(4893) found -[683] Forked 4894 -(4894) found -[682] Forked 4895 -(4895) found -[681] Forked 4896 -(4896) found -[680] Forked 4897 -(4897) found -[679] Forked 4898 -(4898) found -[678] Forked 4899 -(4899) found -[677] Forked 4900 -(4900) found -[676] Forked 4901 -(4901) found -[675] Forked 4902 -(4902) found -[674] Forked 4903 -(4903) found -[673] Forked 4904 -(4904) found -[672] Forked 4905 -(4905) found -[671] Forked 4906 -(4906) found -[670] Forked 4907 -(4907) found -[669] Forked 4908 -(4908) found -[668] Forked 4909 -(4909) found -[667] Forked 4910 -(4910) found -[666] Forked 4911 -(4911) found -[665] Forked 4912 -(4912) found -[664] Forked 4913 -(4913) found -[663] Forked 4914 -(4914) found -[662] Forked 4915 -(4915) found -[661] Forked 4916 -(4916) found -[660] Forked 4917 -(4917) found -[659] Forked 4918 -(4918) found -[658] Forked 4919 -(4919) found -[657] Forked 4920 -(4920) found -[656] Forked 4921 -(4921) found -[655] Forked 4922 -(4922) found -[654] Forked 4923 -(4923) found -[653] Forked 4924 -(4924) found -[652] Forked 4925 -(4925) found -[651] Forked 4926 -(4926) found -[650] Forked 4927 -(4927) found -[649] Forked 4928 -(4928) found -[648] Forked 4929 -(4929) found -[647] Forked 4930 -(4930) found -[646] Forked 4931 -(4931) found -[645] Forked 4932 -(4932) found -[644] Forked 4933 -(4933) found -[643] Forked 4934 -(4934) found -[642] Forked 4935 -(4935) found -[641] Forked 4936 -(4936) found -[640] Forked 4937 -(4937) found -[639] Forked 4938 -(4938) found -[638] Forked 4939 -(4939) found -[637] Forked 4940 -(4940) found -[636] Forked 4941 -(4941) found -[635] Forked 4942 -(4942) found -[634] Forked 4943 -(4943) found -[633] Forked 4944 -(4944) found -[632] Forked 4945 -(4945) found -[631] Forked 4946 -(4946) found -[630] Forked 4947 -(4947) found -[629] Forked 4948 -(4948) found -[628] Forked 4949 -(4949) found -[627] Forked 4950 -(4950) found -[626] Forked 4951 -(4951) found -[625] Forked 4952 -(4952) found -[624] Forked 4953 -(4953) found -[623] Forked 4954 -(4954) found -[622] Forked 4955 -(4955) found -[621] Forked 4956 -[620] Forked 4957 -(4956) found -(4957) found -[619] Forked 4958 -[618] Forked 4959 -(4958) found -(4959) found -[617] Forked 4960 -[616] Forked 4961 -(4960) found -(4961) found -[615] Forked 4962 -[614] Forked 4963 -(4962) found -(4963) found -[613] Forked 4964 -[612] Forked 4965 -(4964) found -(4965) found -[611] Forked 4966 -[610] Forked 4967 -(4966) found -(4967) found -[609] Forked 4968 -[608] Forked 4969 -(4968) found -(4969) found -[607] Forked 4970 -[606] Forked 4971 -(4970) found -(4971) found -[605] Forked 4972 -[604] Forked 4973 -(4972) found -(4973) found -[603] Forked 4974 -[602] Forked 4975 -(4974) found -(4975) found -[601] Forked 4976 -[600] Forked 4977 -(4976) found -(4977) found -[599] Forked 4978 -[598] Forked 4979 -(4978) found -(4979) found -[597] Forked 4980 -[596] Forked 4981 -(4980) found -(4981) found -[595] Forked 4982 -[594] Forked 4983 -(4982) found -(4983) found -[593] Forked 4984 -[592] Forked 4985 -(4984) found -(4985) found -[591] Forked 4986 -[590] Forked 4987 -(4986) found -(4987) found -[589] Forked 4988 -[588] Forked 4989 -(4988) found -(4989) found -[587] Forked 4990 -[586] Forked 4991 -(4990) found -(4991) found -[585] Forked 4992 -[584] Forked 4993 -(4992) found -(4993) found -[583] Forked 4994 -[582] Forked 4995 -(4994) found -(4995) found -[581] Forked 4996 -[580] Forked 4997 -(4996) found -(4997) found -[579] Forked 4998 -[578] Forked 4999 -(4998) found -(4999) found -[577] Forked 5000 -[576] Forked 5001 -(5000) found -(5001) found -[575] Forked 5002 -(5002) found -[574] Forked 5003 -(5003) found -[573] Forked 5004 -(5004) found -[572] Forked 5005 -(5005) found -[571] Forked 5006 -(5006) found -[570] Forked 5007 -(5007) found -[569] Forked 5008 -(5008) found -[568] Forked 5009 -(5009) found -[567] Forked 5010 -(5010) found -[566] Forked 5011 -(5011) found -[565] Forked 5012 -(5012) found -[564] Forked 5013 -(5013) found -[563] Forked 5014 -(5014) found -[562] Forked 5015 -(5015) found -[561] Forked 5016 -(5016) found -[560] Forked 5017 -(5017) found -[559] Forked 5018 -(5018) found -[558] Forked 5019 -(5019) found -[557] Forked 5020 -(5020) found -[556] Forked 5021 -(5021) found -[555] Forked 5022 -(5022) found -[554] Forked 5023 -(5023) found -[553] Forked 5024 -(5024) found -[552] Forked 5025 -(5025) found -[551] Forked 5026 -(5026) found -[550] Forked 5027 -(5027) found -[549] Forked 5028 -(5028) found -[548] Forked 5029 -(5029) found -[547] Forked 5030 -(5030) found -[546] Forked 5031 -(5031) found -[545] Forked 5032 -(5032) found -[544] Forked 5033 -(5033) found -[543] Forked 5034 -(5034) found -[542] Forked 5035 -(5035) found -[541] Forked 5036 -(5036) found -[540] Forked 5037 -[539] Forked 5038 -(5037) found -(5038) found -[538] Forked 5039 -[537] Forked 5040 -(5039) found -(5040) found -[536] Forked 5041 -[535] Forked 5042 -(5041) found -(5042) found -[534] Forked 5043 -[533] Forked 5044 -(5043) found -(5044) found -[532] Forked 5045 -[531] Forked 5046 -(5045) found -(5046) found -[530] Forked 5047 -[529] Forked 5048 -(5047) found -(5048) found -[528] Forked 5049 -[527] Forked 5050 -(5049) found -(5050) found -[526] Forked 5051 -[525] Forked 5052 -(5051) found -(5052) found -[524] Forked 5053 -[523] Forked 5054 -(5053) found -(5054) found -[522] Forked 5055 -[521] Forked 5056 -(5055) found -(5056) found -[520] Forked 5057 -[519] Forked 5058 -(5057) found -(5058) found -[518] Forked 5059 -[517] Forked 5060 -(5059) found -(5060) found -[516] Forked 5061 -[515] Forked 5062 -(5061) found -(5062) found -[514] Forked 5063 -[513] Forked 5064 -(5063) found -(5064) found -[512] Forked 5065 -[511] Forked 5066 -(5065) found -(5066) found -[510] Forked 5067 -[509] Forked 5068 -(5067) found -(5068) found -[508] Forked 5069 -[507] Forked 5070 -(5069) found -(5070) found -[506] Forked 5071 -[505] Forked 5072 -(5071) found -(5072) found -[504] Forked 5073 -[503] Forked 5074 -(5073) found -(5074) found -[502] Forked 5075 -[501] Forked 5076 -(5075) found -(5076) found -[500] Forked 5077 -[499] Forked 5078 -(5077) found -(5078) found -[498] Forked 5079 -[497] Forked 5080 -(5079) found -(5080) found -[496] Forked 5081 -[495] Forked 5082 -(5081) found -(5082) found -[494] Forked 5083 -(5083) found -[493] Forked 5084 -(5084) found -[492] Forked 5085 -(5085) found -[491] Forked 5086 -(5086) found -[490] Forked 5087 -(5087) found -[489] Forked 5088 -(5088) found -[488] Forked 5089 -(5089) found -[487] Forked 5090 -(5090) found -[486] Forked 5091 -(5091) found -[485] Forked 5092 -(5092) found -[484] Forked 5093 -(5093) found -[483] Forked 5094 -(5094) found -[482] Forked 5095 -(5095) found -[481] Forked 5096 -(5096) found -[480] Forked 5097 -(5097) found -[479] Forked 5098 -(5098) found -[478] Forked 5099 -(5099) found -[477] Forked 5100 -(5100) found -[476] Forked 5101 -(5101) found -[475] Forked 5102 -(5102) found -[474] Forked 5103 -(5103) found -[473] Forked 5104 -(5104) found -[472] Forked 5105 -(5105) found -[471] Forked 5106 -(5106) found -[470] Forked 5107 -(5107) found -[469] Forked 5108 -(5108) found -[468] Forked 5109 -(5109) found -[467] Forked 5110 -(5110) found -[466] Forked 5111 -(5111) found -[465] Forked 5112 -(5112) found -[464] Forked 5113 -(5113) found -[463] Forked 5114 -(5114) found -[462] Forked 5115 -(5115) found -[461] Forked 5116 -(5116) found -[460] Forked 5117 -(5117) found -[459] Forked 5118 -(5118) found -[458] Forked 5119 -(5119) found -[457] Forked 5120 -[456] Forked 5121 -(5120) found -(5121) found -[455] Forked 5122 -[454] Forked 5123 -(5122) found -(5123) found -[453] Forked 5124 -[452] Forked 5125 -(5124) found -(5125) found -[451] Forked 5126 -[450] Forked 5127 -(5126) found -(5127) found -[449] Forked 5128 -[448] Forked 5129 -(5128) found -(5129) found -[447] Forked 5130 -[446] Forked 5131 -(5130) found -(5131) found -[445] Forked 5132 -[444] Forked 5133 -(5132) found -(5133) found -[443] Forked 5134 -[442] Forked 5135 -(5134) found -(5135) found -[441] Forked 5136 -(5136) found -[440] Forked 5137 -(5137) found -[439] Forked 5138 -(5138) found -[438] Forked 5139 -(5139) found -[437] Forked 5140 -(5140) found -[436] Forked 5141 -(5141) found -[435] Forked 5142 -(5142) found -[434] Forked 5143 -(5143) found -[433] Forked 5144 -[432] Forked 5145 -(5144) found -(5145) found -[431] Forked 5146 -[430] Forked 5147 -(5146) found -(5147) found -[429] Forked 5148 -[428] Forked 5149 -(5148) found -(5149) found -[427] Forked 5150 -[426] Forked 5151 -(5150) found -(5151) found -[425] Forked 5152 -[424] Forked 5153 -(5152) found -(5153) found -[423] Forked 5154 -[422] Forked 5155 -(5154) found -(5155) found -[421] Forked 5156 -[420] Forked 5157 -(5156) found -(5157) found -[419] Forked 5158 -[418] Forked 5159 -(5158) found -(5159) found -[417] Forked 5160 -[416] Forked 5161 -(5160) found -(5161) found -[415] Forked 5162 -[414] Forked 5164 -(5162) found -(5164) found -[413] Forked 5165 -(5165) found -[412] Forked 5166 -(5166) found -[411] Forked 5167 -(5167) found -[410] Forked 5168 -(5168) found -[409] Forked 5169 -(5169) found -[408] Forked 5170 -(5170) found -[407] Forked 5171 -(5171) found -[406] Forked 5172 -(5172) found -[405] Forked 5173 -(5173) found -[404] Forked 5174 -(5174) found -[403] Forked 5175 -(5175) found -[402] Forked 5176 -(5176) found -[401] Forked 5177 -(5177) found -[400] Forked 5178 -(5178) found -[399] Forked 5179 -(5179) found -[398] Forked 5180 -(5180) found -[397] Forked 5181 -(5181) found -[396] Forked 5182 -(5182) found -[395] Forked 5183 -(5183) found -[394] Forked 5184 -(5184) found -[393] Forked 5185 -(5185) found -[392] Forked 5186 -(5186) found -[391] Forked 5187 -(5187) found -[390] Forked 5188 -(5188) found -[389] Forked 5189 -(5189) found -[388] Forked 5190 -(5190) found -[387] Forked 5191 -(5191) found -[386] Forked 5192 -(5192) found -[385] Forked 5193 -(5193) found -[384] Forked 5194 -(5194) found -[383] Forked 5195 -(5195) found -[382] Forked 5196 -(5196) found -[381] Forked 5197 -(5197) found -[380] Forked 5198 -(5198) found -[379] Forked 5199 -[378] Forked 5200 -(5199) found -(5200) found -[377] Forked 5201 -[376] Forked 5202 -(5201) found -(5202) found -[375] Forked 5203 -[374] Forked 5204 -(5203) found -(5204) found -[373] Forked 5205 -[372] Forked 5206 -(5205) found -(5206) found -[371] Forked 5207 -[370] Forked 5208 -(5207) found -(5208) found -[369] Forked 5209 -[368] Forked 5210 -(5209) found -(5210) found -[367] Forked 5211 -[366] Forked 5212 -(5211) found -(5212) found -[365] Forked 5213 -[364] Forked 5214 -(5213) found -(5214) found -[363] Forked 5215 -[362] Forked 5216 -(5215) found -(5216) found -[361] Forked 5217 -[360] Forked 5218 -(5217) found -(5218) found -[359] Forked 5219 -[358] Forked 5220 -(5219) found -(5220) found -[357] Forked 5221 -[356] Forked 5222 -(5221) found -(5222) found -[355] Forked 5223 -[354] Forked 5224 -(5223) found -(5224) found -[353] Forked 5225 -[352] Forked 5226 -(5225) found -(5226) found -[351] Forked 5227 -[350] Forked 5228 -(5227) found -(5228) found -[349] Forked 5229 -[348] Forked 5230 -(5229) found -(5230) found -[347] Forked 5231 -[346] Forked 5232 -(5231) found -(5232) found -[345] Forked 5233 -[344] Forked 5234 -(5233) found -(5234) found -[343] Forked 5235 -[342] Forked 5236 -(5235) found -(5236) found -[341] Forked 5237 -[340] Forked 5238 -(5237) found -(5238) found -[339] Forked 5239 -[338] Forked 5240 -(5239) found -(5240) found -[337] Forked 5241 -[336] Forked 5242 -(5241) found -(5242) found -[335] Forked 5243 -[334] Forked 5244 -(5243) found -(5244) found -[333] Forked 5245 -(5245) found -[332] Forked 5246 -(5246) found -[331] Forked 5247 -(5247) found -[330] Forked 5248 -(5248) found -[329] Forked 5249 -(5249) found -[328] Forked 5250 -(5250) found -[327] Forked 5251 -(5251) found -[326] Forked 5252 -(5252) found -[325] Forked 5253 -(5253) found -[324] Forked 5254 -(5254) found -[323] Forked 5255 -(5255) found -[322] Forked 5256 -(5256) found -[321] Forked 5257 -(5257) found -[320] Forked 5258 -(5258) found -[319] Forked 5259 -(5259) found -[318] Forked 5260 -(5260) found -[317] Forked 5261 -(5261) found -[316] Forked 5262 -(5262) found -[315] Forked 5263 -(5263) found -[314] Forked 5264 -(5264) found -[313] Forked 5265 -(5265) found -[312] Forked 5266 -(5266) found -[311] Forked 5267 -(5267) found -[310] Forked 5268 -(5268) found -[309] Forked 5269 -(5269) found -[308] Forked 5270 -(5270) found -[307] Forked 5271 -(5271) found -[306] Forked 5272 -(5272) found -[305] Forked 5273 -(5273) found -[304] Forked 5274 -(5274) found -[303] Forked 5275 -(5275) found -[302] Forked 5276 -(5276) found -[301] Forked 5277 -(5277) found -[300] Forked 5278 -(5278) found -[299] Forked 5279 -(5279) found -[298] Forked 5280 -(5280) found -[297] Forked 5281 -[296] Forked 5282 -(5281) found -(5282) found -[295] Forked 5283 -[294] Forked 5284 -(5283) found -(5284) found -[293] Forked 5285 -[292] Forked 5286 -(5285) found -(5286) found -[291] Forked 5287 -[290] Forked 5288 -(5287) found -(5288) found -[289] Forked 5289 -[288] Forked 5290 -(5289) found -(5290) found -[287] Forked 5291 -[286] Forked 5292 -(5291) found -(5292) found -[285] Forked 5293 -[284] Forked 5294 -(5293) found -(5294) found -[283] Forked 5295 -[282] Forked 5296 -(5295) found -(5296) found -[281] Forked 5297 -[280] Forked 5298 -(5297) found -(5298) found -[279] Forked 5299 -[278] Forked 5300 -(5299) found -(5300) found -[277] Forked 5301 -[276] Forked 5302 -(5301) found -(5302) found -[275] Forked 5303 -[274] Forked 5304 -(5303) found -(5304) found -[273] Forked 5305 -[272] Forked 5306 -(5305) found -(5306) found -[271] Forked 5307 -[270] Forked 5308 -(5307) found -(5308) found -[269] Forked 5309 -[268] Forked 5310 -(5309) found -(5310) found -[267] Forked 5311 -[266] Forked 5312 -(5311) found -(5312) found -[265] Forked 5313 -[264] Forked 5314 -(5313) found -(5314) found -[263] Forked 5315 -[262] Forked 5316 -(5315) found -(5316) found -[261] Forked 5317 -[260] Forked 5318 -(5317) found -(5318) found -[259] Forked 5319 -[258] Forked 5320 -(5319) found -(5320) found -[257] Forked 5321 -[256] Forked 5322 -(5321) found -(5322) found -[255] Forked 5323 -[254] Forked 5324 -(5323) found -(5324) found -[253] Forked 5325 -[252] Forked 5326 -(5325) found -(5326) found -[251] Forked 5327 -(5327) found -[250] Forked 5328 -(5328) found -[249] Forked 5329 -(5329) found -[248] Forked 5330 -(5330) found -[247] Forked 5331 -(5331) found -[246] Forked 5332 -(5332) found -[245] Forked 5333 -(5333) found -[244] Forked 5334 -(5334) found -[243] Forked 5335 -(5335) found -[242] Forked 5336 -(5336) found -[241] Forked 5337 -(5337) found -[240] Forked 5338 -(5338) found -[239] Forked 5339 -(5339) found -[238] Forked 5340 -(5340) found -[237] Forked 5341 -(5341) found -[236] Forked 5342 -(5342) found -[235] Forked 5343 -(5343) found -[234] Forked 5344 -(5344) found -[233] Forked 5345 -(5345) found -[232] Forked 5346 -(5346) found -[231] Forked 5347 -(5347) found -[230] Forked 5348 -(5348) found -[229] Forked 5349 -(5349) found -[228] Forked 5350 -(5350) found -[227] Forked 5351 -(5351) found -[226] Forked 5352 -(5352) found -[225] Forked 5353 -(5353) found -[224] Forked 5354 -(5354) found -[223] Forked 5355 -(5355) found -[222] Forked 5356 -(5356) found -[221] Forked 5357 -(5357) found -[220] Forked 5358 -(5358) found -[219] Forked 5359 -(5359) found -[218] Forked 5360 -(5360) found -[217] Forked 5361 -(5361) found -[216] Forked 5362 -(5362) found -[215] Forked 5363 -[214] Forked 5364 -(5363) found -(5364) found -[213] Forked 5365 -[212] Forked 5366 -(5365) found -(5366) found -[211] Forked 5367 -[210] Forked 5368 -(5367) found -(5368) found -[209] Forked 5369 -[208] Forked 5370 -(5369) found -(5370) found -[207] Forked 5371 -[206] Forked 5372 -(5371) found -(5372) found -[205] Forked 5373 -[204] Forked 5374 -(5373) found -(5374) found -[203] Forked 5375 -[202] Forked 5376 -(5375) found -(5376) found -[201] Forked 5377 -[200] Forked 5378 -(5377) found -(5378) found -[199] Forked 5379 -[198] Forked 5380 -(5379) found -(5380) found -[197] Forked 5381 -[196] Forked 5382 -(5381) found -(5382) found -[195] Forked 5383 -[194] Forked 5384 -(5383) found -(5384) found -[193] Forked 5385 -[192] Forked 5386 -(5385) found -(5386) found -[191] Forked 5387 -[190] Forked 5388 -(5387) found -(5388) found -[189] Forked 5389 -[188] Forked 5390 -(5389) found -(5390) found -[187] Forked 5391 -[186] Forked 5392 -(5391) found -(5392) found -[185] Forked 5393 -[184] Forked 5394 -(5393) found -(5394) found -[183] Forked 5395 -[182] Forked 5396 -(5395) found -(5396) found -[181] Forked 5397 -[180] Forked 5398 -(5397) found -(5398) found -[179] Forked 5399 -[178] Forked 5400 -(5399) found -(5400) found -[177] Forked 5401 -[176] Forked 5403 -(5401) found -(5403) found -[175] Forked 5404 -(5404) found -[174] Forked 5405 -(5405) found -[173] Forked 5406 -(5406) found -[172] Forked 5407 -(5407) found -[171] Forked 5408 -(5408) found -[170] Forked 5409 -(5409) found -[169] Forked 5410 -(5410) found -[168] Forked 5411 -(5411) found -[167] Forked 5412 -(5412) found -[166] Forked 5413 -(5413) found -[165] Forked 5414 -(5414) found -[164] Forked 5415 -(5415) found -[163] Forked 5416 -(5416) found -[162] Forked 5417 -(5417) found -[161] Forked 5418 -(5418) found -[160] Forked 5419 -(5419) found -[159] Forked 5420 -(5420) found -[158] Forked 5421 -(5421) found -[157] Forked 5422 -(5422) found -[156] Forked 5423 -(5423) found -[155] Forked 5424 -(5424) found -[154] Forked 5425 -(5425) found -[153] Forked 5426 -(5426) found -[152] Forked 5427 -(5427) found -[151] Forked 5428 -(5428) found -[150] Forked 5429 -(5429) found -[149] Forked 5430 -(5430) found -[148] Forked 5431 -(5431) found -[147] Forked 5432 -(5432) found -[146] Forked 5433 -(5433) found -[145] Forked 5434 -(5434) found -[144] Forked 5435 -(5435) found -[143] Forked 5436 -(5436) found -[142] Forked 5437 -(5437) found -[141] Forked 5438 -(5438) found -[140] Forked 5439 -(5439) found -[139] Forked 5440 -(5440) found -[138] Forked 5441 -(5441) found -[137] Forked 5442 -(5442) found -[136] Forked 5443 -[135] Forked 5444 -(5443) found -(5444) found -[134] Forked 5445 -[133] Forked 5446 -(5446) found -(5445) found -[132] Forked 5447 -(5447) found -[131] Forked 5448 -(5448) found -[130] Forked 5449 -(5449) found -[129] Forked 5450 -(5450) found -[128] Forked 5451 -(5451) found -[127] Forked 5452 -(5452) found -[126] Forked 5453 -(5453) found -[125] Forked 5454 -(5454) found -[124] Forked 5455 -(5455) found -[123] Forked 5456 -(5456) found -[122] Forked 5457 -(5457) found -[121] Forked 5458 -(5458) found -[120] Forked 5459 -(5459) found -[119] Forked 5460 -(5460) found -[118] Forked 5461 -(5461) found -[117] Forked 5462 -(5462) found -[116] Forked 5463 -(5463) found -[115] Forked 5464 -(5464) found -[114] Forked 5465 -(5465) found -[113] Forked 5466 -(5466) found -[112] Forked 5467 -(5467) found -[111] Forked 5468 -(5468) found -[110] Forked 5469 -(5469) found -[109] Forked 5470 -(5470) found -[108] Forked 5471 -(5471) found -[107] Forked 5472 -(5472) found -[106] Forked 5473 -(5473) found -[105] Forked 5474 -(5474) found -[104] Forked 5475 -(5475) found -[103] Forked 5476 -(5476) found -[102] Forked 5477 -(5477) found -[101] Forked 5478 -(5478) found -[100] Forked 5479 -(5479) found -[99] Forked 5480 -(5480) found -[98] Forked 5481 -(5481) found -[97] Forked 5482 -(5482) found -[96] Forked 5483 -(5483) found -[95] Forked 5484 -(5484) found -[94] Forked 5485 -(5485) found -[93] Forked 5486 -(5486) found -[92] Forked 5487 -(5487) found -[91] Forked 5488 -(5488) found -[90] Forked 5489 -(5489) found -[89] Forked 5490 -(5490) found -[88] Forked 5491 -(5491) found -[87] Forked 5492 -(5492) found -[86] Forked 5493 -(5493) found -[85] Forked 5494 -(5494) found -[84] Forked 5495 -(5495) found -[83] Forked 5496 -(5496) found -[82] Forked 5497 -(5497) found -[81] Forked 5498 -(5498) found -[80] Forked 5499 -(5499) found -[79] Forked 5500 -(5500) found -[78] Forked 5501 -(5501) found -[77] Forked 5502 -(5502) found -[76] Forked 5503 -(5503) found -[75] Forked 5504 -(5504) found -[74] Forked 5505 -(5505) found -[73] Forked 5506 -(5506) found -[72] Forked 5507 -(5507) found -[71] Forked 5508 -(5508) found -[70] Forked 5509 -(5509) found -[69] Forked 5510 -(5510) found -[68] Forked 5511 -(5511) found -[67] Forked 5512 -(5512) found -[66] Forked 5513 -(5513) found -[65] Forked 5514 -(5514) found -[64] Forked 5515 -(5515) found -[63] Forked 5516 -(5516) found -[62] Forked 5517 -(5517) found -[61] Forked 5518 -(5518) found -[60] Forked 5519 -(5519) found -[59] Forked 5520 -(5520) found -[58] Forked 5521 -(5521) found -[57] Forked 5522 -(5522) found -[56] Forked 5523 -(5523) found -[55] Forked 5524 -(5524) found -[54] Forked 5525 -(5525) found -[53] Forked 5526 -(5526) found -[52] Forked 5527 -(5527) found -[51] Forked 5528 -(5528) found -[50] Forked 5529 -(5529) found -[49] Forked 5530 -(5530) found -[48] Forked 5531 -(5531) found -[47] Forked 5532 -(5532) found -[46] Forked 5533 -(5533) found -[45] Forked 5534 -(5534) found -[44] Forked 5535 -(5535) found -[43] Forked 5536 -(5536) found -[42] Forked 5537 -(5537) found -[41] Forked 5538 -(5538) found -[40] Forked 5539 -(5539) found -[39] Forked 5540 -(5540) found -[38] Forked 5541 -(5541) found -[37] Forked 5542 -(5542) found -[36] Forked 5543 -(5543) found -[35] Forked 5544 -(5544) found -[34] Forked 5545 -(5545) found -[33] Forked 5546 -(5546) found -[32] Forked 5547 -(5547) found -[31] Forked 5548 -(5548) found -[30] Forked 5549 -(5549) found -[29] Forked 5550 -(5550) found -[28] Forked 5551 -[27] Forked 5552 -(5551) found -(5552) found -[26] Forked 5553 -[25] Forked 5554 -(5553) found -(5554) found -[24] Forked 5555 -[23] Forked 5556 -(5555) found -(5556) found -[22] Forked 5557 -[21] Forked 5558 -(5557) found -(5558) found -[20] Forked 5559 -[19] Forked 5560 -(5559) found -(5560) found -[18] Forked 5561 -[17] Forked 5562 -(5561) found -(5562) found -[16] Forked 5563 -[15] Forked 5564 -(5563) found -(5564) found -[14] Forked 5565 -[13] Forked 5566 -(5565) found -(5566) found -[12] Forked 5567 -(5567) found -[11] Forked 5568 -[10] Forked 5569 -(5568) found -(5569) found -[9] Forked 5570 -[8] Forked 5571 -(5570) found -(5571) found -[7] Forked 5572 -[6] Forked 5573 -(5572) found -(5573) found -[5] Forked 5574 -[4] Forked 5575 -(5574) found -(5575) found -[3] Forked 5576 -[2] Forked 5577 -(5576) found -(5577) found -[1] Forked 5578 -[0] Forked 5579 -(5578) found -(5579) found diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.G b/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.G deleted file mode 100644 index 7e9c89f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/fork-latency.c.G +++ /dev/null @@ -1,40001 +0,0 @@ -MAX=20000 -[19999] Forked 18452 -(18452) found -[19998] Forked 18453 -(18453) found -[19997] Forked 18454 -(18454) found -[19996] Forked 18455 -(18455) found -[19995] Forked 18456 -(18456) found -[19994] Forked 18457 -(18457) found -[19993] Forked 18458 -(18458) found -[19992] Forked 18459 -(18459) found -[19991] Forked 18460 -(18460) found -[19990] Forked 18461 -(18461) found -[19989] Forked 18462 -(18462) found -[19988] Forked 18463 -(18463) found -[19987] Forked 18464 -(18464) found -[19986] Forked 18466 -(18466) found -[19985] Forked 18467 -(18467) found -[19984] Forked 18468 -(18468) found -[19983] Forked 18469 -(18469) found -[19982] Forked 18470 -(18470) found -[19981] Forked 18471 -(18471) found -[19980] Forked 18472 -(18472) found -[19979] Forked 18473 -(18473) found -[19978] Forked 18474 -(18474) found -[19977] Forked 18475 -(18475) found -[19976] Forked 18476 -(18476) found -[19975] Forked 18477 -(18477) found -[19974] Forked 18478 -(18478) found -[19973] Forked 18479 -(18479) found -[19972] Forked 18480 -(18480) found -[19971] Forked 18481 -(18481) found -[19970] Forked 18482 -(18482) found -[19969] Forked 18483 -(18483) found -[19968] Forked 18484 -(18484) found -[19967] Forked 18485 -(18485) found -[19966] Forked 18486 -(18486) found -[19965] Forked 18487 -(18487) found -[19964] Forked 18488 -(18488) found -[19963] Forked 18489 -(18489) found -[19962] Forked 18490 -(18490) found -[19961] Forked 18491 -(18491) found -[19960] Forked 18492 -(18492) found -[19959] Forked 18493 -(18493) found -[19958] Forked 18494 -(18494) found -[19957] Forked 18495 -(18495) found -[19956] Forked 18496 -(18496) found -[19955] Forked 18497 -(18497) found -[19954] Forked 18498 -(18498) found -[19953] Forked 18499 -(18499) found -[19952] Forked 18500 -(18500) found -[19951] Forked 18501 -(18501) found -[19950] Forked 18502 -(18502) found -[19949] Forked 18503 -(18503) found -[19948] Forked 18504 -(18504) found -[19947] Forked 18505 -(18505) found -[19946] Forked 18506 -(18506) found -[19945] Forked 18507 -(18507) found -[19944] Forked 18508 -(18508) found -[19943] Forked 18509 -(18509) found -[19942] Forked 18510 -(18510) found -[19941] Forked 18511 -(18511) found -[19940] Forked 18512 -(18512) found -[19939] Forked 18513 -(18513) found -[19938] Forked 18514 -(18514) found -[19937] Forked 18515 -(18515) found -[19936] Forked 18516 -(18516) found -[19935] Forked 18517 -(18517) found -[19934] Forked 18518 -(18518) found -[19933] Forked 18519 -(18519) found -[19932] Forked 18520 -(18520) found -[19931] Forked 18521 -(18521) found -[19930] Forked 18522 -(18522) found -[19929] Forked 18523 -(18523) found -[19928] Forked 18524 -(18524) found -[19927] Forked 18525 -(18525) found -[19926] Forked 18526 -(18526) found -[19925] Forked 18527 -(18527) found -[19924] Forked 18528 -(18528) found -[19923] Forked 18529 -(18529) found -[19922] Forked 18530 -(18530) found -[19921] Forked 18531 -(18531) found -[19920] Forked 18532 -(18532) found -[19919] Forked 18533 -(18533) found -[19918] Forked 18534 -(18534) found -[19917] Forked 18535 -(18535) found -[19916] Forked 18536 -(18536) found -[19915] Forked 18537 -(18537) found -[19914] Forked 18538 -(18538) found -[19913] Forked 18539 -(18539) found -[19912] Forked 18540 -(18540) found -[19911] Forked 18541 -(18541) found -[19910] Forked 18542 -(18542) found -[19909] Forked 18543 -(18543) found -[19908] Forked 18544 -(18544) found -[19907] Forked 18545 -(18545) found -[19906] Forked 18546 -(18546) found -[19905] Forked 18547 -(18547) found -[19904] Forked 18548 -(18548) found -[19903] Forked 18549 -(18549) found -[19902] Forked 18550 -(18550) found -[19901] Forked 18551 -(18551) found -[19900] Forked 18552 -(18552) found -[19899] Forked 18553 -(18553) found -[19898] Forked 18554 -(18554) found -[19897] Forked 18555 -(18555) found -[19896] Forked 18556 -(18556) found -[19895] Forked 18557 -(18557) found -[19894] Forked 18558 -(18558) found -[19893] Forked 18559 -(18559) found -[19892] Forked 18560 -(18560) found -[19891] Forked 18561 -[19890] Forked 18562 -(18561) found -(18562) found -[19889] Forked 18563 -[19888] Forked 18564 -(18563) found -(18564) found -[19887] Forked 18565 -[19886] Forked 18567 -(18565) found -(18567) found -[19885] Forked 18568 -[19884] Forked 18569 -(18568) found -(18569) found -[19883] Forked 18570 -[19882] Forked 18571 -(18570) found -(18571) found -[19881] Forked 18572 -[19880] Forked 18573 -(18572) found -(18573) found -[19879] Forked 18574 -[19878] Forked 18575 -(18574) found -(18575) found -[19877] Forked 18576 -[19876] Forked 18577 -(18576) found -(18577) found -[19875] Forked 18578 -[19874] Forked 18579 -(18578) found -(18579) found -[19873] Forked 18580 -[19872] Forked 18581 -(18580) found -(18581) found -[19871] Forked 18582 -[19870] Forked 18583 -(18582) found -(18583) found -[19869] Forked 18584 -[19868] Forked 18585 -(18584) found -(18585) found -[19867] Forked 18586 -[19866] Forked 18587 -(18586) found -(18587) found -[19865] Forked 18588 -[19864] Forked 18589 -(18588) found -(18589) found -[19863] Forked 18590 -[19862] Forked 18591 -(18590) found -(18591) found -[19861] Forked 18592 -[19860] Forked 18593 -(18592) found -(18593) found -[19859] Forked 18594 -[19858] Forked 18595 -(18594) found -(18595) found -[19857] Forked 18596 -[19856] Forked 18597 -(18596) found -(18597) found -[19855] Forked 18598 -[19854] Forked 18599 -(18598) found -(18599) found -[19853] Forked 18600 -[19852] Forked 18601 -(18600) found -(18601) found -[19851] Forked 18602 -[19850] Forked 18603 -(18602) found -(18603) found -[19849] Forked 18604 -[19848] Forked 18605 -(18604) found -(18605) found -[19847] Forked 18606 -[19846] Forked 18607 -(18606) found -(18607) found -[19845] Forked 18608 -[19844] Forked 18609 -(18608) found -(18609) found -[19843] Forked 18610 -[19842] Forked 18612 -(18610) found -(18612) found -[19841] Forked 18613 -[19840] Forked 18614 -(18613) found -(18614) found -[19839] Forked 18615 -[19838] Forked 18616 -(18615) found -(18616) found -[19837] Forked 18617 -[19836] Forked 18618 -(18617) found -(18618) found -[19835] Forked 18619 -[19834] Forked 18620 -(18619) found -(18620) found -[19833] Forked 18621 -[19832] Forked 18622 -(18621) found -(18622) found -[19831] Forked 18623 -[19830] Forked 18624 -(18623) found -(18624) found -[19829] Forked 18625 -[19828] Forked 18626 -(18625) found -(18626) found -[19827] Forked 18627 -[19826] Forked 18628 -(18627) found -(18628) found -[19825] Forked 18629 -[19824] Forked 18630 -(18629) found -(18630) found -[19823] Forked 18631 -[19822] Forked 18632 -(18631) found -(18632) found -[19821] Forked 18633 -[19820] Forked 18634 -(18633) found -(18634) found -[19819] Forked 18635 -[19818] Forked 18636 -(18635) found -(18636) found -[19817] Forked 18637 -[19816] Forked 18638 -(18637) found -(18638) found -[19815] Forked 18639 -[19814] Forked 18640 -(18639) found -(18640) found -[19813] Forked 18641 -[19812] Forked 18642 -(18641) found -(18642) found -[19811] Forked 18643 -[19810] Forked 18644 -(18643) found -(18644) found -[19809] Forked 18645 -[19808] Forked 18646 -(18645) found -(18646) found -[19807] Forked 18647 -[19806] Forked 18648 -(18647) found -(18648) found -[19805] Forked 18649 -[19804] Forked 18650 -(18649) found -(18650) found -[19803] Forked 18651 -[19802] Forked 18652 -(18651) found -(18652) found -[19801] Forked 18653 -[19800] Forked 18654 -(18653) found -(18654) found -[19799] Forked 18655 -(18655) found -[19798] Forked 18656 -(18656) found -[19797] Forked 18657 -(18657) found -[19796] Forked 18658 -(18658) found -[19795] Forked 18659 -(18659) found -[19794] Forked 18660 -(18660) found -[19793] Forked 18661 -(18661) found -[19792] Forked 18662 -(18662) found -[19791] Forked 18663 -(18663) found -[19790] Forked 18664 -(18664) found -[19789] Forked 18665 -(18665) found -[19788] Forked 18666 -(18666) found -[19787] Forked 18667 -(18667) found -[19786] Forked 18668 -(18668) found -[19785] Forked 18669 -(18669) found -[19784] Forked 18670 -(18670) found -[19783] Forked 18671 -(18671) found -[19782] Forked 18672 -(18672) found -[19781] Forked 18673 -(18673) found -[19780] Forked 18674 -(18674) found -[19779] Forked 18675 -(18675) found -[19778] Forked 18676 -(18676) found -[19777] Forked 18677 -(18677) found -[19776] Forked 18678 -(18678) found -[19775] Forked 18679 -(18679) found -[19774] Forked 18680 -(18680) found -[19773] Forked 18681 -(18681) found -[19772] Forked 18682 -(18682) found -[19771] Forked 18683 -(18683) found -[19770] Forked 18684 -(18684) found -[19769] Forked 18685 -(18685) found -[19768] Forked 18686 -(18686) found -[19767] Forked 18687 -(18687) found -[19766] Forked 18688 -(18688) found -[19765] Forked 18689 -(18689) found -[19764] Forked 18690 -(18690) found -[19763] Forked 18691 -(18691) found -[19762] Forked 18692 -(18692) found -[19761] Forked 18693 -[19760] Forked 18694 -(18693) found -(18694) found -[19759] Forked 18695 -(18695) found -[19758] Forked 18696 -(18696) found -[19757] Forked 18697 -(18697) found -[19756] Forked 18698 -(18698) found -[19755] Forked 18699 -[19754] Forked 18700 -(18699) found -(18700) found -[19753] Forked 18701 -[19752] Forked 18702 -(18701) found -(18702) found -[19751] Forked 18703 -[19750] Forked 18704 -(18703) found -(18704) found -[19749] Forked 18705 -[19748] Forked 18706 -(18705) found -(18706) found -[19747] Forked 18707 -[19746] Forked 18708 -(18707) found -(18708) found -[19745] Forked 18709 -[19744] Forked 18710 -(18709) found -(18710) found -[19743] Forked 18711 -[19742] Forked 18712 -(18711) found -(18712) found -[19741] Forked 18713 -[19740] Forked 18714 -(18713) found -(18714) found -[19739] Forked 18715 -[19738] Forked 18716 -(18715) found -(18716) found -[19737] Forked 18717 -[19736] Forked 18718 -(18717) found -(18718) found -[19735] Forked 18719 -[19734] Forked 18720 -(18719) found -(18720) found -[19733] Forked 18721 -[19732] Forked 18722 -(18721) found -(18722) found -[19731] Forked 18723 -[19730] Forked 18724 -(18723) found -(18724) found -[19729] Forked 18725 -[19728] Forked 18726 -(18725) found -(18726) found -[19727] Forked 18727 -[19726] Forked 18728 -(18727) found -(18728) found -[19725] Forked 18729 -[19724] Forked 18730 -(18729) found -(18730) found -[19723] Forked 18731 -[19722] Forked 18732 -(18731) found -(18732) found -[19721] Forked 18733 -[19720] Forked 18734 -(18733) found -(18734) found -[19719] Forked 18735 -[19718] Forked 18736 -(18735) found -(18736) found -[19717] Forked 18737 -[19716] Forked 18738 -(18737) found -(18738) found -[19715] Forked 18739 -[19714] Forked 18740 -(18739) found -(18740) found -[19713] Forked 18741 -[19712] Forked 18742 -(18741) found -(18742) found -[19711] Forked 18743 -[19710] Forked 18744 -(18743) found -(18744) found -[19709] Forked 18745 -(18745) found -[19708] Forked 18746 -(18746) found -[19707] Forked 18747 -[19706] Forked 18748 -(18747) found -(18748) found -[19705] Forked 18749 -[19704] Forked 18750 -(18749) found -(18750) found -[19703] Forked 18751 -[19702] Forked 18752 -(18751) found -(18752) found -[19701] Forked 18753 -[19700] Forked 18754 -(18753) found -(18754) found -[19699] Forked 18755 -[19698] Forked 18756 -(18755) found -(18756) found -[19697] Forked 18757 -[19696] Forked 18758 -(18757) found -(18758) found -[19695] Forked 18759 -[19694] Forked 18760 -(18759) found -(18760) found -[19693] Forked 18761 -[19692] Forked 18762 -(18761) found -(18762) found -[19691] Forked 18763 -[19690] Forked 18764 -(18763) found -(18764) found -[19689] Forked 18765 -[19688] Forked 18766 -(18765) found -(18766) found -[19687] Forked 18767 -[19686] Forked 18768 -(18767) found -(18768) found -[19685] Forked 18769 -[19684] Forked 18770 -(18769) found -(18770) found -[19683] Forked 18771 -[19682] Forked 18772 -(18771) found -(18772) found -[19681] Forked 18773 -[19680] Forked 18774 -(18773) found -(18774) found -[19679] Forked 18775 -[19678] Forked 18776 -(18775) found -(18776) found -[19677] Forked 18777 -[19676] Forked 18778 -(18777) found -(18778) found -[19675] Forked 18779 -[19674] Forked 18780 -(18779) found -(18780) found -[19673] Forked 18781 -[19672] Forked 18782 -(18781) found -(18782) found -[19671] Forked 18783 -[19670] Forked 18784 -(18783) found -(18784) found -[19669] Forked 18785 -[19668] Forked 18786 -(18785) found -(18786) found -[19667] Forked 18787 -[19666] Forked 18788 -(18787) found -(18788) found -[19665] Forked 18789 -[19664] Forked 18790 -(18789) found -(18790) found -[19663] Forked 18791 -[19662] Forked 18792 -(18791) found -(18792) found -[19661] Forked 18793 -[19660] Forked 18794 -(18793) found -(18794) found -[19659] Forked 18795 -[19658] Forked 18796 -(18795) found -(18796) found -[19657] Forked 18797 -[19656] Forked 18798 -(18797) found -(18798) found -[19655] Forked 18799 -[19654] Forked 18800 -(18799) found -(18800) found -[19653] Forked 18801 -[19652] Forked 18802 -(18801) found -(18802) found -[19651] Forked 18803 -[19650] Forked 18804 -(18803) found -(18804) found -[19649] Forked 18805 -[19648] Forked 18806 -(18805) found -(18806) found -[19647] Forked 18807 -[19646] Forked 18808 -(18807) found -(18808) found -[19645] Forked 18809 -[19644] Forked 18810 -(18809) found -(18810) found -[19643] Forked 18811 -[19642] Forked 18812 -(18811) found -(18812) found -[19641] Forked 18813 -[19640] Forked 18814 -(18813) found -(18814) found -[19639] Forked 18815 -[19638] Forked 18816 -(18815) found -(18816) found -[19637] Forked 18817 -[19636] Forked 18818 -(18817) found -(18818) found -[19635] Forked 18819 -[19634] Forked 18820 -(18819) found -(18820) found -[19633] Forked 18821 -[19632] Forked 18822 -(18821) found -(18822) found -[19631] Forked 18823 -[19630] Forked 18824 -(18823) found -(18824) found -[19629] Forked 18825 -[19628] Forked 18826 -(18825) found -(18826) found -[19627] Forked 18827 -[19626] Forked 18828 -(18827) found -(18828) found -[19625] Forked 18829 -[19624] Forked 18830 -(18829) found -(18830) found -[19623] Forked 18831 -[19622] Forked 18832 -(18831) found -(18832) found -[19621] Forked 18833 -[19620] Forked 18834 -(18833) found -(18834) found -[19619] Forked 18835 -[19618] Forked 18836 -(18835) found -(18836) found -[19617] Forked 18837 -[19616] Forked 18838 -(18837) found -(18838) found -[19615] Forked 18839 -[19614] Forked 18840 -(18839) found -(18840) found -[19613] Forked 18841 -[19612] Forked 18842 -(18842) found -(18841) found -[19611] Forked 18843 -(18843) found -[19610] Forked 18844 -(18844) found -[19609] Forked 18845 -(18845) found -[19608] Forked 18846 -(18846) found -[19607] Forked 18847 -(18847) found -[19606] Forked 18848 -(18848) found -[19605] Forked 18849 -(18849) found -[19604] Forked 18850 -(18850) found -[19603] Forked 18851 -(18851) found -[19602] Forked 18852 -(18852) found -[19601] Forked 18853 -(18853) found -[19600] Forked 18854 -(18854) found -[19599] Forked 18855 -(18855) found -[19598] Forked 18856 -(18856) found -[19597] Forked 18857 -(18857) found -[19596] Forked 18858 -(18858) found -[19595] Forked 18859 -(18859) found -[19594] Forked 18860 -(18860) found -[19593] Forked 18861 -(18861) found -[19592] Forked 18862 -(18862) found -[19591] Forked 18863 -(18863) found -[19590] Forked 18864 -(18864) found -[19589] Forked 18865 -(18865) found -[19588] Forked 18866 -(18866) found -[19587] Forked 18867 -(18867) found -[19586] Forked 18868 -(18868) found -[19585] Forked 18869 -(18869) found -[19584] Forked 18870 -(18870) found -[19583] Forked 18871 -(18871) found -[19582] Forked 18872 -(18872) found -[19581] Forked 18873 -(18873) found -[19580] Forked 18874 -(18874) found -[19579] Forked 18875 -(18875) found -[19578] Forked 18876 -(18876) found -[19577] Forked 18877 -(18877) found -[19576] Forked 18878 -[19575] Forked 18879 -(18878) found -(18879) found -[19574] Forked 18880 -[19573] Forked 18881 -(18880) found -(18881) found -[19572] Forked 18882 -[19571] Forked 18883 -(18882) found -(18883) found -[19570] Forked 18884 -[19569] Forked 18885 -(18884) found -(18885) found -[19568] Forked 18886 -[19567] Forked 18887 -(18886) found -(18887) found -[19566] Forked 18888 -[19565] Forked 18889 -(18888) found -(18889) found -[19564] Forked 18890 -[19563] Forked 18891 -(18890) found -(18891) found -[19562] Forked 18892 -[19561] Forked 18893 -(18892) found -(18893) found -[19560] Forked 18894 -[19559] Forked 18895 -(18894) found -(18895) found -[19558] Forked 18896 -[19557] Forked 18897 -(18896) found -(18897) found -[19556] Forked 18898 -[19555] Forked 18899 -(18898) found -(18899) found -[19554] Forked 18900 -[19553] Forked 18901 -(18900) found -(18901) found -[19552] Forked 18902 -[19551] Forked 18903 -(18902) found -(18903) found -[19550] Forked 18904 -[19549] Forked 18905 -(18904) found -(18905) found -[19548] Forked 18906 -[19547] Forked 18907 -(18906) found -(18907) found -[19546] Forked 18908 -[19545] Forked 18909 -(18908) found -(18909) found -[19544] Forked 18910 -[19543] Forked 18911 -(18910) found -(18911) found -[19542] Forked 18912 -(18912) found -[19541] Forked 18913 -(18913) found -[19540] Forked 18914 -(18914) found -[19539] Forked 18915 -(18915) found -[19538] Forked 18916 -(18916) found -[19537] Forked 18917 -(18917) found -[19536] Forked 18918 -(18918) found -[19535] Forked 18919 -(18919) found -[19534] Forked 18920 -(18920) found -[19533] Forked 18921 -(18921) found -[19532] Forked 18922 -(18922) found -[19531] Forked 18923 -(18923) found -[19530] Forked 18924 -(18924) found -[19529] Forked 18925 -(18925) found -[19528] Forked 18926 -(18926) found -[19527] Forked 18927 -(18927) found -[19526] Forked 18928 -(18928) found -[19525] Forked 18929 -(18929) found -[19524] Forked 18930 -(18930) found -[19523] Forked 18931 -(18931) found -[19522] Forked 18932 -(18932) found -[19521] Forked 18933 -(18933) found -[19520] Forked 18934 -(18934) found -[19519] Forked 18935 -(18935) found -[19518] Forked 18936 -(18936) found -[19517] Forked 18937 -(18937) found -[19516] Forked 18938 -(18938) found -[19515] Forked 18939 -(18939) found -[19514] Forked 18940 -(18940) found -[19513] Forked 18941 -(18941) found -[19512] Forked 18942 -(18942) found -[19511] Forked 18943 -(18943) found -[19510] Forked 18944 -(18944) found -[19509] Forked 18945 -(18945) found -[19508] Forked 18946 -(18946) found -[19507] Forked 18947 -(18947) found -[19506] Forked 18948 -(18948) found -[19505] Forked 18949 -[19504] Forked 18950 -(18949) found -(18950) found -[19503] Forked 18951 -[19502] Forked 18952 -(18951) found -(18952) found -[19501] Forked 18953 -[19500] Forked 18954 -(18953) found -(18954) found -[19499] Forked 18955 -[19498] Forked 18956 -(18955) found -(18956) found -[19497] Forked 18957 -[19496] Forked 18958 -(18957) found -(18958) found -[19495] Forked 18959 -[19494] Forked 18960 -(18959) found -(18960) found -[19493] Forked 18961 -[19492] Forked 18962 -(18961) found -(18962) found -[19491] Forked 18963 -[19490] Forked 18964 -(18963) found -(18964) found -[19489] Forked 18965 -[19488] Forked 18966 -(18965) found -(18966) found -[19487] Forked 18967 -[19486] Forked 18968 -(18967) found -(18968) found -[19485] Forked 18969 -[19484] Forked 18970 -(18969) found -(18970) found -[19483] Forked 18971 -[19482] Forked 18972 -(18971) found -(18972) found -[19481] Forked 18973 -[19480] Forked 18974 -(18973) found -(18974) found -[19479] Forked 18975 -[19478] Forked 18976 -(18975) found -(18976) found -[19477] Forked 18977 -[19476] Forked 18978 -(18977) found -(18978) found -[19475] Forked 18979 -[19474] Forked 18980 -(18979) found -(18980) found -[19473] Forked 18981 -[19472] Forked 18982 -(18981) found -(18982) found -[19471] Forked 18983 -[19470] Forked 18984 -(18983) found -(18984) found -[19469] Forked 18985 -[19468] Forked 18986 -(18985) found -(18986) found -[19467] Forked 18987 -[19466] Forked 18988 -(18987) found -(18988) found -[19465] Forked 18989 -[19464] Forked 18990 -(18989) found -(18990) found -[19463] Forked 18991 -[19462] Forked 18992 -(18991) found -(18992) found -[19461] Forked 18993 -[19460] Forked 18994 -(18993) found -(18994) found -[19459] Forked 18995 -[19458] Forked 18996 -(18995) found -(18996) found -[19457] Forked 18997 -(18997) found -[19456] Forked 18998 -(18998) found -[19455] Forked 18999 -(18999) found -[19454] Forked 19000 -(19000) found -[19453] Forked 19001 -(19001) found -[19452] Forked 19002 -(19002) found -[19451] Forked 19003 -(19003) found -[19450] Forked 19004 -(19004) found -[19449] Forked 19005 -(19005) found -[19448] Forked 19006 -(19006) found -[19447] Forked 19007 -(19007) found -[19446] Forked 19008 -(19008) found -[19445] Forked 19009 -(19009) found -[19444] Forked 19010 -(19010) found -[19443] Forked 19011 -(19011) found -[19442] Forked 19012 -(19012) found -[19441] Forked 19013 -(19013) found -[19440] Forked 19014 -(19014) found -[19439] Forked 19015 -(19015) found -[19438] Forked 19016 -(19016) found -[19437] Forked 19017 -(19017) found -[19436] Forked 19018 -(19018) found -[19435] Forked 19019 -(19019) found -[19434] Forked 19020 -(19020) found -[19433] Forked 19021 -(19021) found -[19432] Forked 19022 -(19022) found -[19431] Forked 19023 -(19023) found -[19430] Forked 19024 -(19024) found -[19429] Forked 19025 -(19025) found -[19428] Forked 19026 -[19427] Forked 19027 -(19026) found -(19027) found -[19426] Forked 19028 -[19425] Forked 19029 -(19028) found -(19029) found -[19424] Forked 19030 -[19423] Forked 19031 -(19030) found -(19031) found -[19422] Forked 19032 -[19421] Forked 19033 -(19032) found -(19033) found -[19420] Forked 19034 -[19419] Forked 19035 -(19034) found -(19035) found -[19418] Forked 19036 -[19417] Forked 19037 -(19036) found -(19037) found -[19416] Forked 19038 -[19415] Forked 19039 -(19038) found -(19039) found -[19414] Forked 19040 -[19413] Forked 19041 -(19040) found -(19041) found -[19412] Forked 19042 -[19411] Forked 19043 -(19042) found -(19043) found -[19410] Forked 19044 -[19409] Forked 19045 -(19044) found -(19045) found -[19408] Forked 19046 -[19407] Forked 19047 -(19046) found -(19047) found -[19406] Forked 19048 -[19405] Forked 19049 -(19048) found -(19049) found -[19404] Forked 19050 -[19403] Forked 19051 -(19050) found -(19051) found -[19402] Forked 19052 -[19401] Forked 19053 -(19052) found -(19053) found -[19400] Forked 19054 -[19399] Forked 19055 -(19054) found -(19055) found -[19398] Forked 19056 -[19397] Forked 19057 -(19056) found -(19057) found -[19396] Forked 19058 -[19395] Forked 19059 -(19058) found -(19059) found -[19394] Forked 19060 -[19393] Forked 19061 -(19060) found -(19061) found -[19392] Forked 19062 -[19391] Forked 19063 -(19062) found -(19063) found -[19390] Forked 19064 -(19064) found -[19389] Forked 19065 -[19388] Forked 19066 -(19065) found -(19066) found -[19387] Forked 19067 -[19386] Forked 19068 -(19067) found -(19068) found -[19385] Forked 19069 -[19384] Forked 19070 -(19069) found -(19070) found -[19383] Forked 19071 -(19071) found -[19382] Forked 19072 -(19072) found -[19381] Forked 19073 -(19073) found -[19380] Forked 19074 -(19074) found -[19379] Forked 19075 -(19075) found -[19378] Forked 19076 -(19076) found -[19377] Forked 19077 -(19077) found -[19376] Forked 19078 -(19078) found -[19375] Forked 19079 -(19079) found -[19374] Forked 19080 -(19080) found -[19373] Forked 19081 -(19081) found -[19372] Forked 19082 -(19082) found -[19371] Forked 19084 -(19084) found -[19370] Forked 19085 -(19085) found -[19369] Forked 19086 -(19086) found -[19368] Forked 19087 -(19087) found -[19367] Forked 19088 -(19088) found -[19366] Forked 19089 -(19089) found -[19365] Forked 19090 -(19090) found -[19364] Forked 19091 -(19091) found -[19363] Forked 19092 -(19092) found -[19362] Forked 19093 -(19093) found -[19361] Forked 19094 -(19094) found -[19360] Forked 19097 -(19097) found -[19359] Forked 19098 -(19098) found -[19358] Forked 19099 -(19099) found -[19357] Forked 19100 -(19100) found -[19356] Forked 19102 -(19102) found -[19355] Forked 19104 -(19104) found -[19354] Forked 19105 -(19105) found -[19353] Forked 19106 -(19106) found -[19352] Forked 19107 -(19107) found -[19351] Forked 19108 -(19108) found -[19350] Forked 19109 -(19109) found -[19349] Forked 19110 -(19110) found -[19348] Forked 19111 -(19111) found -[19347] Forked 19112 -(19112) found -[19346] Forked 19113 -[19345] Forked 19114 -(19113) found -(19114) found -[19344] Forked 19115 -[19343] Forked 19116 -(19115) found -(19116) found -[19342] Forked 19117 -[19341] Forked 19118 -(19117) found -(19118) found -[19340] Forked 19119 -[19339] Forked 19120 -(19119) found -(19120) found -[19338] Forked 19122 -[19337] Forked 19123 -(19122) found -(19123) found -[19336] Forked 19124 -[19335] Forked 19125 -(19124) found -(19125) found -[19334] Forked 19126 -[19333] Forked 19127 -(19126) found -(19127) found -[19332] Forked 19128 -[19331] Forked 19129 -(19128) found -(19129) found -[19330] Forked 19130 -[19329] Forked 19131 -(19130) found -(19131) found -[19328] Forked 19132 -[19327] Forked 19133 -(19132) found -(19133) found -[19326] Forked 19134 -[19325] Forked 19135 -(19134) found -(19135) found -[19324] Forked 19136 -[19323] Forked 19137 -(19136) found -(19137) found -[19322] Forked 19138 -[19321] Forked 19139 -(19138) found -(19139) found -[19320] Forked 19140 -[19319] Forked 19141 -(19140) found -(19141) found -[19318] Forked 19142 -[19317] Forked 19143 -(19142) found -(19143) found -[19316] Forked 19144 -[19315] Forked 19145 -(19144) found -(19145) found -[19314] Forked 19146 -[19313] Forked 19147 -(19146) found -(19147) found -[19312] Forked 19148 -[19311] Forked 19149 -(19148) found -(19149) found -[19310] Forked 19150 -[19309] Forked 19151 -(19150) found -(19151) found -[19308] Forked 19152 -[19307] Forked 19153 -(19152) found -(19153) found -[19306] Forked 19154 -[19305] Forked 19155 -(19154) found -(19155) found -[19304] Forked 19156 -[19303] Forked 19157 -(19156) found -(19157) found -[19302] Forked 19158 -[19301] Forked 19159 -(19158) found -(19159) found -[19300] Forked 19160 -[19299] Forked 19161 -(19160) found -(19161) found -[19298] Forked 19162 -[19297] Forked 19163 -(19162) found -(19163) found -[19296] Forked 19164 -[19295] Forked 19165 -(19164) found -(19165) found -[19294] Forked 19166 -[19293] Forked 19167 -(19166) found -(19167) found -[19292] Forked 19168 -[19291] Forked 19169 -(19168) found -(19169) found -[19290] Forked 19170 -[19289] Forked 19171 -(19170) found -(19171) found -[19288] Forked 19172 -[19287] Forked 19173 -(19172) found -(19173) found -[19286] Forked 19174 -[19285] Forked 19175 -(19174) found -(19175) found -[19284] Forked 19176 -[19283] Forked 19177 -(19176) found -(19177) found -[19282] Forked 19178 -[19281] Forked 19179 -(19178) found -(19179) found -[19280] Forked 19180 -[19279] Forked 19181 -(19180) found -(19181) found -[19278] Forked 19182 -[19277] Forked 19183 -(19182) found -(19183) found -[19276] Forked 19184 -[19275] Forked 19186 -(19184) found -(19186) found -[19274] Forked 19187 -(19187) found -[19273] Forked 19188 -[19272] Forked 19189 -(19188) found -(19189) found -[19271] Forked 19191 -[19270] Forked 19192 -(19191) found -(19192) found -[19269] Forked 19193 -[19268] Forked 19194 -(19193) found -(19194) found -[19267] Forked 19195 -[19266] Forked 19196 -(19195) found -(19196) found -[19265] Forked 19197 -[19264] Forked 19198 -(19197) found -(19198) found -[19263] Forked 19199 -[19262] Forked 19200 -(19199) found -(19200) found -[19261] Forked 19201 -[19260] Forked 19202 -(19201) found -(19202) found -[19259] Forked 19203 -[19258] Forked 19204 -(19203) found -(19204) found -[19257] Forked 19205 -[19256] Forked 19206 -(19205) found -(19206) found -[19255] Forked 19207 -[19254] Forked 19208 -(19207) found -(19208) found -[19253] Forked 19209 -[19252] Forked 19210 -(19209) found -(19210) found -[19251] Forked 19211 -[19250] Forked 19212 -(19211) found -(19212) found -[19249] Forked 19213 -[19248] Forked 19214 -(19213) found -(19214) found -[19247] Forked 19215 -[19246] Forked 19216 -(19215) found -(19216) found -[19245] Forked 19217 -[19244] Forked 19218 -(19217) found -(19218) found -[19243] Forked 19219 -[19242] Forked 19220 -(19219) found -(19220) found -[19241] Forked 19221 -[19240] Forked 19222 -(19221) found -(19222) found -[19239] Forked 19223 -[19238] Forked 19224 -(19223) found -(19224) found -[19237] Forked 19225 -[19236] Forked 19226 -(19225) found -(19226) found -[19235] Forked 19227 -[19234] Forked 19228 -(19227) found -(19228) found -[19233] Forked 19229 -[19232] Forked 19230 -(19229) found -(19230) found -[19231] Forked 19231 -[19230] Forked 19232 -(19231) found -(19232) found -[19229] Forked 19233 -[19228] Forked 19234 -(19233) found -(19234) found -[19227] Forked 19235 -[19226] Forked 19236 -(19235) found -(19236) found -[19225] Forked 19237 -[19224] Forked 19238 -(19237) found -(19238) found -[19223] Forked 19239 -[19222] Forked 19240 -(19239) found -(19240) found -[19221] Forked 19241 -[19220] Forked 19242 -(19241) found -(19242) found -[19219] Forked 19243 -[19218] Forked 19244 -(19243) found -(19244) found -[19217] Forked 19245 -[19216] Forked 19246 -(19245) found -(19246) found -[19215] Forked 19247 -[19214] Forked 19248 -(19247) found -(19248) found -[19213] Forked 19249 -[19212] Forked 19250 -(19249) found -(19250) found -[19211] Forked 19251 -(19251) found -[19210] Forked 19252 -(19252) found -[19209] Forked 19253 -(19253) found -[19208] Forked 19254 -(19254) found -[19207] Forked 19255 -(19255) found -[19206] Forked 19256 -(19256) found -[19205] Forked 19257 -(19257) found -[19204] Forked 19258 -(19258) found -[19203] Forked 19259 -(19259) found -[19202] Forked 19260 -(19260) found -[19201] Forked 19261 -(19261) found -[19200] Forked 19262 -(19262) found -[19199] Forked 19263 -(19263) found -[19198] Forked 19264 -(19264) found -[19197] Forked 19265 -(19265) found -[19196] Forked 19266 -(19266) found -[19195] Forked 19267 -(19267) found -[19194] Forked 19268 -(19268) found -[19193] Forked 19269 -(19269) found -[19192] Forked 19270 -(19270) found -[19191] Forked 19271 -(19271) found -[19190] Forked 19272 -(19272) found -[19189] Forked 19273 -(19273) found -[19188] Forked 19274 -(19274) found -[19187] Forked 19275 -(19275) found -[19186] Forked 19276 -(19276) found -[19185] Forked 19277 -(19277) found -[19184] Forked 19278 -(19278) found -[19183] Forked 19279 -(19279) found -[19182] Forked 19280 -(19280) found -[19181] Forked 19281 -(19281) found -[19180] Forked 19282 -(19282) found -[19179] Forked 19283 -(19283) found -[19178] Forked 19284 -(19284) found -[19177] Forked 19285 -(19285) found -[19176] Forked 19286 -(19286) found -[19175] Forked 19287 -(19287) found -[19174] Forked 19288 -[19173] Forked 19289 -(19288) found -(19289) found -[19172] Forked 19290 -(19290) found -[19171] Forked 19291 -(19291) found -[19170] Forked 19292 -(19292) found -[19169] Forked 19293 -(19293) found -[19168] Forked 19294 -(19294) found -[19167] Forked 19295 -(19295) found -[19166] Forked 19296 -(19296) found -[19165] Forked 19297 -(19297) found -[19164] Forked 19298 -(19298) found -[19163] Forked 19299 -(19299) found -[19162] Forked 19300 -(19300) found -[19161] Forked 19301 -(19301) found -[19160] Forked 19302 -(19302) found -[19159] Forked 19303 -(19303) found -[19158] Forked 19304 -(19304) found -[19157] Forked 19305 -(19305) found -[19156] Forked 19306 -(19306) found -[19155] Forked 19307 -(19307) found -[19154] Forked 19308 -(19308) found -[19153] Forked 19309 -(19309) found -[19152] Forked 19310 -(19310) found -[19151] Forked 19311 -(19311) found -[19150] Forked 19312 -(19312) found -[19149] Forked 19313 -(19313) found -[19148] Forked 19314 -(19314) found -[19147] Forked 19315 -(19315) found -[19146] Forked 19316 -(19316) found -[19145] Forked 19317 -(19317) found -[19144] Forked 19318 -(19318) found -[19143] Forked 19319 -(19319) found -[19142] Forked 19320 -[19141] Forked 19321 -(19321) found -(19320) found -[19140] Forked 19322 -(19322) found -[19139] Forked 19323 -(19323) found -[19138] Forked 19324 -(19324) found -[19137] Forked 19325 -(19325) found -[19136] Forked 19326 -(19326) found -[19135] Forked 19327 -(19327) found -[19134] Forked 19328 -(19328) found -[19133] Forked 19329 -(19329) found -[19132] Forked 19330 -(19330) found -[19131] Forked 19331 -(19331) found -[19130] Forked 19332 -(19332) found -[19129] Forked 19333 -(19333) found -[19128] Forked 19334 -(19334) found -[19127] Forked 19335 -(19335) found -[19126] Forked 19336 -(19336) found -[19125] Forked 19337 -(19337) found -[19124] Forked 19338 -(19338) found -[19123] Forked 19339 -(19339) found -[19122] Forked 19340 -(19340) found -[19121] Forked 19341 -(19341) found -[19120] Forked 19342 -(19342) found -[19119] Forked 19343 -(19343) found -[19118] Forked 19344 -(19344) found -[19117] Forked 19345 -(19345) found -[19116] Forked 19346 -(19346) found -[19115] Forked 19347 -(19347) found -[19114] Forked 19348 -(19348) found -[19113] Forked 19349 -(19349) found -[19112] Forked 19352 -(19352) found -[19111] Forked 19353 -(19353) found -[19110] Forked 19354 -(19354) found -[19109] Forked 19355 -(19355) found -[19108] Forked 19356 -(19356) found -[19107] Forked 19357 -(19357) found -[19106] Forked 19359 -(19359) found -[19105] Forked 19360 -(19360) found -[19104] Forked 19361 -(19361) found -[19103] Forked 19362 -(19362) found -[19102] Forked 19363 -(19363) found -[19101] Forked 19364 -(19364) found -[19100] Forked 19365 -(19365) found -[19099] Forked 19366 -(19366) found -[19098] Forked 19367 -(19367) found -[19097] Forked 19368 -(19368) found -[19096] Forked 19369 -(19369) found -[19095] Forked 19370 -(19370) found -[19094] Forked 19371 -(19371) found -[19093] Forked 19372 -(19372) found -[19092] Forked 19373 -(19373) found -[19091] Forked 19374 -(19374) found -[19090] Forked 19375 -(19375) found -[19089] Forked 19376 -(19376) found -[19088] Forked 19377 -(19377) found -[19087] Forked 19378 -(19378) found -[19086] Forked 19379 -(19379) found -[19085] Forked 19380 -(19380) found -[19084] Forked 19381 -(19381) found -[19083] Forked 19382 -(19382) found -[19082] Forked 19383 -(19383) found -[19081] Forked 19384 -(19384) found -[19080] Forked 19385 -(19385) found -[19079] Forked 19386 -(19386) found -[19078] Forked 19387 -(19387) found -[19077] Forked 19388 -(19388) found -[19076] Forked 19389 -(19389) found -[19075] Forked 19390 -(19390) found -[19074] Forked 19391 -(19391) found -[19073] Forked 19392 -(19392) found -[19072] Forked 19393 -(19393) found -[19071] Forked 19394 -(19394) found -[19070] Forked 19395 -(19395) found -[19069] Forked 19396 -(19396) found -[19068] Forked 19397 -[19067] Forked 19398 -(19397) found -(19398) found -[19066] Forked 19399 -[19065] Forked 19400 -(19399) found -(19400) found -[19064] Forked 19401 -[19063] Forked 19402 -(19401) found -(19402) found -[19062] Forked 19403 -[19061] Forked 19404 -(19403) found -(19404) found -[19060] Forked 19405 -[19059] Forked 19406 -(19405) found -(19406) found -[19058] Forked 19407 -[19057] Forked 19408 -(19407) found -(19408) found -[19056] Forked 19409 -[19055] Forked 19410 -(19409) found -(19410) found -[19054] Forked 19411 -[19053] Forked 19412 -(19411) found -(19412) found -[19052] Forked 19413 -[19051] Forked 19414 -(19413) found -(19414) found -[19050] Forked 19415 -[19049] Forked 19416 -(19415) found -(19416) found -[19048] Forked 19417 -[19047] Forked 19418 -(19417) found -(19418) found -[19046] Forked 19419 -[19045] Forked 19420 -(19419) found -(19420) found -[19044] Forked 19421 -[19043] Forked 19422 -(19421) found -(19422) found -[19042] Forked 19423 -[19041] Forked 19424 -(19423) found -(19424) found -[19040] Forked 19425 -[19039] Forked 19426 -(19425) found -(19426) found -[19038] Forked 19427 -[19037] Forked 19428 -(19427) found -(19428) found -[19036] Forked 19429 -(19429) found -[19035] Forked 19430 -(19430) found -[19034] Forked 19431 -(19431) found -[19033] Forked 19432 -(19432) found -[19032] Forked 19433 -(19433) found -[19031] Forked 19434 -(19434) found -[19030] Forked 19435 -(19435) found -[19029] Forked 19436 -(19436) found -[19028] Forked 19437 -(19437) found -[19027] Forked 19438 -(19438) found -[19026] Forked 19439 -(19439) found -[19025] Forked 19440 -(19440) found -[19024] Forked 19441 -(19441) found -[19023] Forked 19442 -(19442) found -[19022] Forked 19443 -(19443) found -[19021] Forked 19444 -(19444) found -[19020] Forked 19445 -(19445) found -[19019] Forked 19446 -(19446) found -[19018] Forked 19447 -(19447) found -[19017] Forked 19448 -(19448) found -[19016] Forked 19449 -(19449) found -[19015] Forked 19450 -(19450) found -[19014] Forked 19451 -(19451) found -[19013] Forked 19452 -(19452) found -[19012] Forked 19453 -(19453) found -[19011] Forked 19454 -(19454) found -[19010] Forked 19455 -[19009] Forked 19456 -(19455) found -(19456) found -[19008] Forked 19457 -[19007] Forked 19458 -(19457) found -(19458) found -[19006] Forked 19459 -[19005] Forked 19460 -(19459) found -(19460) found -[19004] Forked 19461 -[19003] Forked 19462 -(19461) found -(19462) found -[19002] Forked 19463 -[19001] Forked 19464 -(19463) found -(19464) found -[19000] Forked 19465 -[18999] Forked 19466 -(19465) found -(19466) found -[18998] Forked 19467 -[18997] Forked 19468 -(19467) found -(19468) found -[18996] Forked 19469 -[18995] Forked 19470 -(19469) found -(19470) found -[18994] Forked 19471 -[18993] Forked 19472 -(19471) found -(19472) found -[18992] Forked 19473 -[18991] Forked 19474 -(19473) found -(19474) found -[18990] Forked 19475 -[18989] Forked 19476 -(19475) found -(19476) found -[18988] Forked 19477 -[18987] Forked 19478 -(19477) found -(19478) found -[18986] Forked 19479 -[18985] Forked 19480 -(19479) found -(19480) found -[18984] Forked 19481 -[18983] Forked 19482 -(19481) found -(19482) found -[18982] Forked 19483 -[18981] Forked 19484 -(19483) found -(19484) found -[18980] Forked 19485 -[18979] Forked 19486 -(19485) found -(19486) found -[18978] Forked 19487 -[18977] Forked 19488 -(19487) found -(19488) found -[18976] Forked 19489 -[18975] Forked 19490 -(19489) found -(19490) found -[18974] Forked 19491 -[18973] Forked 19492 -(19491) found -(19492) found -[18972] Forked 19493 -[18971] Forked 19494 -(19493) found -(19494) found -[18970] Forked 19495 -(19495) found -[18969] Forked 19496 -[18968] Forked 19497 -(19496) found -(19497) found -[18967] Forked 19498 -[18966] Forked 19499 -(19498) found -(19499) found -[18965] Forked 19500 -(19500) found -[18964] Forked 19501 -[18963] Forked 19502 -(19501) found -(19502) found -[18962] Forked 19503 -[18961] Forked 19504 -(19503) found -(19504) found -[18960] Forked 19505 -[18959] Forked 19506 -(19505) found -(19506) found -[18958] Forked 19507 -[18957] Forked 19508 -(19507) found -(19508) found -[18956] Forked 19509 -[18955] Forked 19510 -(19509) found -(19510) found -[18954] Forked 19511 -[18953] Forked 19512 -(19511) found -(19512) found -[18952] Forked 19513 -[18951] Forked 19514 -(19513) found -(19514) found -[18950] Forked 19515 -[18949] Forked 19516 -(19515) found -(19516) found -[18948] Forked 19517 -[18947] Forked 19518 -(19517) found -(19518) found -[18946] Forked 19519 -[18945] Forked 19520 -(19519) found -(19520) found -[18944] Forked 19521 -[18943] Forked 19522 -(19521) found -(19522) found -[18942] Forked 19523 -[18941] Forked 19524 -(19523) found -(19524) found -[18940] Forked 19525 -[18939] Forked 19526 -(19525) found -(19526) found -[18938] Forked 19527 -[18937] Forked 19528 -(19527) found -(19528) found -[18936] Forked 19529 -[18935] Forked 19530 -(19529) found -(19530) found -[18934] Forked 19531 -[18933] Forked 19532 -(19531) found -(19532) found -[18932] Forked 19533 -[18931] Forked 19534 -(19533) found -(19534) found -[18930] Forked 19535 -[18929] Forked 19536 -(19535) found -(19536) found -[18928] Forked 19537 -[18927] Forked 19538 -(19537) found -(19538) found -[18926] Forked 19539 -[18925] Forked 19540 -(19539) found -(19540) found -[18924] Forked 19541 -[18923] Forked 19542 -(19541) found -(19542) found -[18922] Forked 19543 -[18921] Forked 19544 -(19543) found -(19544) found -[18920] Forked 19545 -[18919] Forked 19546 -(19545) found -(19546) found -[18918] Forked 19547 -[18917] Forked 19548 -(19547) found -(19548) found -[18916] Forked 19549 -[18915] Forked 19550 -(19549) found -(19550) found -[18914] Forked 19551 -[18913] Forked 19552 -(19551) found -(19552) found -[18912] Forked 19553 -[18911] Forked 19554 -(19553) found -(19554) found -[18910] Forked 19555 -[18909] Forked 19556 -(19555) found -(19556) found -[18908] Forked 19557 -[18907] Forked 19558 -(19557) found -(19558) found -[18906] Forked 19559 -[18905] Forked 19560 -(19559) found -(19560) found -[18904] Forked 19561 -[18903] Forked 19562 -(19561) found -(19562) found -[18902] Forked 19563 -[18901] Forked 19564 -(19563) found -(19564) found -[18900] Forked 19565 -[18899] Forked 19566 -(19565) found -(19566) found -[18898] Forked 19567 -[18897] Forked 19568 -(19567) found -(19568) found -[18896] Forked 19569 -[18895] Forked 19570 -(19569) found -(19570) found -[18894] Forked 19571 -[18893] Forked 19572 -(19571) found -(19572) found -[18892] Forked 19573 -[18891] Forked 19574 -(19573) found -(19574) found -[18890] Forked 19575 -[18889] Forked 19576 -(19575) found -(19576) found -[18888] Forked 19577 -[18887] Forked 19578 -(19577) found -(19578) found -[18886] Forked 19579 -[18885] Forked 19580 -(19579) found -(19580) found -[18884] Forked 19581 -[18883] Forked 19582 -(19581) found -(19582) found -[18882] Forked 19583 -[18881] Forked 19584 -(19583) found -(19584) found -[18880] Forked 19585 -[18879] Forked 19586 -(19585) found -(19586) found -[18878] Forked 19587 -[18877] Forked 19588 -(19587) found -(19588) found -[18876] Forked 19589 -[18875] Forked 19590 -(19589) found -(19590) found -[18874] Forked 19591 -[18873] Forked 19592 -(19591) found -(19592) found -[18872] Forked 19593 -[18871] Forked 19594 -(19593) found -(19594) found -[18870] Forked 19595 -[18869] Forked 19596 -(19595) found -(19596) found -[18868] Forked 19597 -[18867] Forked 19598 -(19597) found -(19598) found -[18866] Forked 19599 -[18865] Forked 19600 -(19599) found -(19600) found -[18864] Forked 19601 -[18863] Forked 19602 -(19601) found -(19602) found -[18862] Forked 19603 -[18861] Forked 19604 -(19603) found -(19604) found -[18860] Forked 19605 -[18859] Forked 19606 -(19605) found -(19606) found -[18858] Forked 19607 -[18857] Forked 19608 -(19607) found -(19608) found -[18856] Forked 19609 -[18855] Forked 19610 -(19609) found -(19610) found -[18854] Forked 19611 -[18853] Forked 19612 -(19611) found -(19612) found -[18852] Forked 19613 -[18851] Forked 19614 -(19613) found -(19614) found -[18850] Forked 19615 -[18849] Forked 19616 -(19615) found -(19616) found -[18848] Forked 19617 -[18847] Forked 19618 -(19617) found -(19618) found -[18846] Forked 19619 -[18845] Forked 19620 -(19619) found -(19620) found -[18844] Forked 19621 -[18843] Forked 19622 -(19621) found -(19622) found -[18842] Forked 19623 -[18841] Forked 19624 -(19623) found -(19624) found -[18840] Forked 19625 -[18839] Forked 19626 -(19625) found -(19626) found -[18838] Forked 19627 -[18837] Forked 19628 -(19627) found -(19628) found -[18836] Forked 19629 -[18835] Forked 19630 -(19629) found -(19630) found -[18834] Forked 19631 -[18833] Forked 19632 -(19631) found -(19632) found -[18832] Forked 19633 -[18831] Forked 19634 -(19633) found -(19634) found -[18830] Forked 19635 -[18829] Forked 19636 -(19635) found -(19636) found -[18828] Forked 19637 -[18827] Forked 19638 -(19637) found -(19638) found -[18826] Forked 19639 -[18825] Forked 19640 -(19639) found -(19640) found -[18824] Forked 19641 -[18823] Forked 19642 -(19641) found -(19642) found -[18822] Forked 19643 -[18821] Forked 19644 -(19643) found -(19644) found -[18820] Forked 19645 -[18819] Forked 19646 -(19645) found -(19646) found -[18818] Forked 19647 -[18817] Forked 19648 -(19647) found -(19648) found -[18816] Forked 19649 -[18815] Forked 19650 -(19649) found -(19650) found -[18814] Forked 19651 -[18813] Forked 19652 -(19651) found -(19652) found -[18812] Forked 19653 -[18811] Forked 19654 -(19653) found -(19654) found -[18810] Forked 19655 -[18809] Forked 19656 -(19655) found -(19656) found -[18808] Forked 19657 -[18807] Forked 19658 -(19657) found -(19658) found -[18806] Forked 19659 -[18805] Forked 19660 -(19659) found -(19660) found -[18804] Forked 19661 -[18803] Forked 19662 -(19661) found -(19662) found -[18802] Forked 19663 -[18801] Forked 19664 -(19663) found -(19664) found -[18800] Forked 19665 -[18799] Forked 19666 -(19665) found -(19666) found -[18798] Forked 19667 -[18797] Forked 19668 -(19667) found -(19668) found -[18796] Forked 19669 -[18795] Forked 19670 -(19669) found -(19670) found -[18794] Forked 19671 -[18793] Forked 19672 -(19671) found -(19672) found -[18792] Forked 19673 -[18791] Forked 19674 -(19673) found -(19674) found -[18790] Forked 19675 -[18789] Forked 19676 -(19675) found -(19676) found -[18788] Forked 19677 -[18787] Forked 19678 -(19677) found -(19678) found -[18786] Forked 19679 -[18785] Forked 19680 -(19679) found -(19680) found -[18784] Forked 19681 -(19681) found -[18783] Forked 19682 -(19682) found -[18782] Forked 19683 -(19683) found -[18781] Forked 19684 -(19684) found -[18780] Forked 19685 -(19685) found -[18779] Forked 19686 -(19686) found -[18778] Forked 19687 -(19687) found -[18777] Forked 19688 -(19688) found -[18776] Forked 19689 -(19689) found -[18775] Forked 19690 -(19690) found -[18774] Forked 19691 -(19691) found -[18773] Forked 19692 -(19692) found -[18772] Forked 19693 -(19693) found -[18771] Forked 19694 -(19694) found -[18770] Forked 19695 -(19695) found -[18769] Forked 19696 -(19696) found -[18768] Forked 19697 -(19697) found -[18767] Forked 19698 -(19698) found -[18766] Forked 19699 -(19699) found -[18765] Forked 19700 -(19700) found -[18764] Forked 19701 -(19701) found -[18763] Forked 19702 -(19702) found -[18762] Forked 19703 -(19703) found -[18761] Forked 19704 -(19704) found -[18760] Forked 19705 -(19705) found -[18759] Forked 19706 -(19706) found -[18758] Forked 19707 -(19707) found -[18757] Forked 19708 -(19708) found -[18756] Forked 19709 -(19709) found -[18755] Forked 19710 -(19710) found -[18754] Forked 19711 -(19711) found -[18753] Forked 19712 -(19712) found -[18752] Forked 19713 -(19713) found -[18751] Forked 19714 -(19714) found -[18750] Forked 19715 -(19715) found -[18749] Forked 19716 -(19716) found -[18748] Forked 19717 -[18747] Forked 19718 -(19717) found -(19718) found -[18746] Forked 19719 -[18745] Forked 19720 -(19719) found -(19720) found -[18744] Forked 19721 -[18743] Forked 19722 -(19721) found -(19722) found -[18742] Forked 19723 -[18741] Forked 19724 -(19723) found -(19724) found -[18740] Forked 19725 -[18739] Forked 19726 -(19725) found -(19726) found -[18738] Forked 19727 -[18737] Forked 19728 -(19727) found -(19728) found -[18736] Forked 19729 -[18735] Forked 19730 -(19729) found -(19730) found -[18734] Forked 19731 -[18733] Forked 19732 -(19731) found -(19732) found -[18732] Forked 19733 -[18731] Forked 19734 -(19733) found -(19734) found -[18730] Forked 19735 -[18729] Forked 19736 -(19735) found -(19736) found -[18728] Forked 19737 -[18727] Forked 19738 -(19737) found -(19738) found -[18726] Forked 19739 -[18725] Forked 19740 -(19739) found -(19740) found -[18724] Forked 19741 -[18723] Forked 19742 -(19741) found -(19742) found -[18722] Forked 19743 -[18721] Forked 19744 -(19743) found -(19744) found -[18720] Forked 19745 -[18719] Forked 19746 -(19745) found -(19746) found -[18718] Forked 19747 -[18717] Forked 19748 -(19747) found -(19748) found -[18716] Forked 19749 -[18715] Forked 19750 -(19749) found -(19750) found -[18714] Forked 19751 -[18713] Forked 19752 -(19751) found -(19752) found -[18712] Forked 19753 -[18711] Forked 19755 -(19753) found -(19755) found -[18710] Forked 19756 -(19756) found -[18709] Forked 19757 -(19757) found -[18708] Forked 19758 -(19758) found -[18707] Forked 19759 -(19759) found -[18706] Forked 19760 -(19760) found -[18705] Forked 19761 -(19761) found -[18704] Forked 19762 -(19762) found -[18703] Forked 19763 -(19763) found -[18702] Forked 19764 -(19764) found -[18701] Forked 19765 -(19765) found -[18700] Forked 19766 -(19766) found -[18699] Forked 19767 -(19767) found -[18698] Forked 19768 -(19768) found -[18697] Forked 19769 -(19769) found -[18696] Forked 19770 -(19770) found -[18695] Forked 19771 -(19771) found -[18694] Forked 19772 -(19772) found -[18693] Forked 19773 -(19773) found -[18692] Forked 19774 -(19774) found -[18691] Forked 19775 -(19775) found -[18690] Forked 19776 -(19776) found -[18689] Forked 19777 -(19777) found -[18688] Forked 19778 -(19778) found -[18687] Forked 19779 -(19779) found -[18686] Forked 19780 -(19780) found -[18685] Forked 19781 -(19781) found -[18684] Forked 19782 -(19782) found -[18683] Forked 19783 -(19783) found -[18682] Forked 19784 -(19784) found -[18681] Forked 19785 -(19785) found -[18680] Forked 19786 -(19786) found -[18679] Forked 19787 -(19787) found -[18678] Forked 19788 -(19788) found -[18677] Forked 19789 -(19789) found -[18676] Forked 19790 -(19790) found -[18675] Forked 19791 -(19791) found -[18674] Forked 19792 -(19792) found -[18673] Forked 19793 -(19793) found -[18672] Forked 19794 -(19794) found -[18671] Forked 19795 -(19795) found -[18670] Forked 19796 -(19796) found -[18669] Forked 19797 -[18668] Forked 19798 -(19797) found -(19798) found -[18667] Forked 19799 -[18666] Forked 19800 -(19799) found -(19800) found -[18665] Forked 19801 -[18664] Forked 19802 -(19801) found -(19802) found -[18663] Forked 19803 -[18662] Forked 19804 -(19803) found -(19804) found -[18661] Forked 19805 -[18660] Forked 19806 -(19805) found -(19806) found -[18659] Forked 19807 -[18658] Forked 19808 -(19807) found -(19808) found -[18657] Forked 19809 -[18656] Forked 19810 -(19809) found -(19810) found -[18655] Forked 19811 -[18654] Forked 19812 -(19811) found -(19812) found -[18653] Forked 19813 -[18652] Forked 19814 -(19813) found -(19814) found -[18651] Forked 19815 -[18650] Forked 19816 -(19815) found -(19816) found -[18649] Forked 19817 -[18648] Forked 19818 -(19817) found -(19818) found -[18647] Forked 19819 -[18646] Forked 19820 -(19819) found -(19820) found -[18645] Forked 19821 -[18644] Forked 19822 -(19821) found -(19822) found -[18643] Forked 19823 -[18642] Forked 19824 -(19823) found -(19824) found -[18641] Forked 19825 -[18640] Forked 19826 -(19825) found -(19826) found -[18639] Forked 19827 -[18638] Forked 19828 -(19827) found -(19828) found -[18637] Forked 19829 -[18636] Forked 19830 -(19829) found -(19830) found -[18635] Forked 19831 -[18634] Forked 19832 -(19831) found -(19832) found -[18633] Forked 19833 -[18632] Forked 19834 -(19833) found -(19834) found -[18631] Forked 19835 -[18630] Forked 19836 -(19835) found -(19836) found -[18629] Forked 19837 -[18628] Forked 19838 -(19837) found -(19838) found -[18627] Forked 19839 -[18626] Forked 19840 -(19839) found -(19840) found -[18625] Forked 19841 -[18624] Forked 19842 -(19841) found -(19842) found -[18623] Forked 19843 -[18622] Forked 19844 -(19843) found -(19844) found -[18621] Forked 19845 -(19845) found -[18620] Forked 19846 -(19846) found -[18619] Forked 19847 -(19847) found -[18618] Forked 19848 -(19848) found -[18617] Forked 19849 -(19849) found -[18616] Forked 19850 -(19850) found -[18615] Forked 19851 -(19851) found -[18614] Forked 19852 -(19852) found -[18613] Forked 19853 -(19853) found -[18612] Forked 19854 -(19854) found -[18611] Forked 19855 -(19855) found -[18610] Forked 19856 -(19856) found -[18609] Forked 19857 -(19857) found -[18608] Forked 19858 -(19858) found -[18607] Forked 19859 -(19859) found -[18606] Forked 19860 -(19860) found -[18605] Forked 19861 -(19861) found -[18604] Forked 19862 -(19862) found -[18603] Forked 19863 -(19863) found -[18602] Forked 19864 -(19864) found -[18601] Forked 19865 -(19865) found -[18600] Forked 19866 -(19866) found -[18599] Forked 19867 -(19867) found -[18598] Forked 19868 -(19868) found -[18597] Forked 19869 -(19869) found -[18596] Forked 19870 -(19870) found -[18595] Forked 19871 -(19871) found -[18594] Forked 19872 -(19872) found -[18593] Forked 19873 -(19873) found -[18592] Forked 19874 -(19874) found -[18591] Forked 19875 -(19875) found -[18590] Forked 19876 -(19876) found -[18589] Forked 19877 -(19877) found -[18588] Forked 19878 -(19878) found -[18587] Forked 19879 -[18586] Forked 19880 -(19879) found -(19880) found -[18585] Forked 19881 -[18584] Forked 19882 -(19881) found -(19882) found -[18583] Forked 19883 -[18582] Forked 19884 -(19883) found -(19884) found -[18581] Forked 19885 -[18580] Forked 19886 -(19885) found -(19886) found -[18579] Forked 19887 -[18578] Forked 19888 -(19887) found -(19888) found -[18577] Forked 19889 -[18576] Forked 19890 -(19889) found -(19890) found -[18575] Forked 19891 -[18574] Forked 19892 -(19891) found -(19892) found -[18573] Forked 19893 -[18572] Forked 19894 -(19893) found -(19894) found -[18571] Forked 19895 -[18570] Forked 19896 -(19895) found -(19896) found -[18569] Forked 19897 -[18568] Forked 19898 -(19897) found -(19898) found -[18567] Forked 19899 -[18566] Forked 19900 -(19899) found -(19900) found -[18565] Forked 19901 -[18564] Forked 19902 -(19901) found -(19902) found -[18563] Forked 19903 -[18562] Forked 19904 -(19903) found -(19904) found -[18561] Forked 19905 -[18560] Forked 19906 -(19905) found -(19906) found -[18559] Forked 19907 -[18558] Forked 19908 -(19907) found -(19908) found -[18557] Forked 19909 -[18556] Forked 19910 -(19909) found -(19910) found -[18555] Forked 19911 -[18554] Forked 19912 -(19911) found -(19912) found -[18553] Forked 19913 -[18552] Forked 19914 -(19913) found -(19914) found -[18551] Forked 19915 -[18550] Forked 19916 -(19915) found -(19916) found -[18549] Forked 19917 -[18548] Forked 19918 -(19917) found -(19918) found -[18547] Forked 19919 -[18546] Forked 19920 -(19919) found -(19920) found -[18545] Forked 19921 -[18544] Forked 19922 -(19921) found -(19922) found -[18543] Forked 19923 -[18542] Forked 19924 -(19923) found -(19924) found -[18541] Forked 19925 -[18540] Forked 19926 -(19925) found -(19926) found -[18539] Forked 19927 -[18538] Forked 19928 -(19927) found -(19928) found -[18537] Forked 19929 -[18536] Forked 19930 -(19929) found -(19930) found -[18535] Forked 19931 -[18534] Forked 19932 -(19931) found -(19932) found -[18533] Forked 19933 -[18532] Forked 19934 -(19933) found -(19934) found -[18531] Forked 19935 -[18530] Forked 19936 -(19935) found -(19936) found -[18529] Forked 19937 -[18528] Forked 19938 -(19937) found -(19938) found -[18527] Forked 19939 -[18526] Forked 19940 -(19939) found -(19940) found -[18525] Forked 19941 -[18524] Forked 19942 -(19941) found -(19942) found -[18523] Forked 19943 -[18522] Forked 19944 -(19943) found -(19944) found -[18521] Forked 19945 -[18520] Forked 19946 -(19945) found -(19946) found -[18519] Forked 19947 -[18518] Forked 19948 -(19947) found -(19948) found -[18517] Forked 19949 -[18516] Forked 19950 -(19949) found -(19950) found -[18515] Forked 19951 -[18514] Forked 19952 -(19951) found -(19952) found -[18513] Forked 19953 -[18512] Forked 19954 -(19953) found -(19954) found -[18511] Forked 19955 -[18510] Forked 19956 -(19955) found -(19956) found -[18509] Forked 19957 -[18508] Forked 19958 -(19957) found -(19958) found -[18507] Forked 19959 -[18506] Forked 19960 -(19959) found -(19960) found -[18505] Forked 19961 -[18504] Forked 19962 -(19961) found -(19962) found -[18503] Forked 19963 -[18502] Forked 19964 -(19963) found -(19964) found -[18501] Forked 19965 -[18500] Forked 19966 -(19965) found -(19966) found -[18499] Forked 19967 -[18498] Forked 19968 -(19967) found -(19968) found -[18497] Forked 19969 -[18496] Forked 19970 -(19969) found -(19970) found -[18495] Forked 19971 -(19971) found -[18494] Forked 19972 -(19972) found -[18493] Forked 19973 -(19973) found -[18492] Forked 19974 -(19974) found -[18491] Forked 19975 -(19975) found -[18490] Forked 19976 -(19976) found -[18489] Forked 19977 -(19977) found -[18488] Forked 19978 -(19978) found -[18487] Forked 19979 -(19979) found -[18486] Forked 19980 -(19980) found -[18485] Forked 19981 -(19981) found -[18484] Forked 19982 -(19982) found -[18483] Forked 19983 -(19983) found -[18482] Forked 19984 -(19984) found -[18481] Forked 19985 -(19985) found -[18480] Forked 19986 -(19986) found -[18479] Forked 19987 -(19987) found -[18478] Forked 19988 -(19988) found -[18477] Forked 19989 -(19989) found -[18476] Forked 19990 -(19990) found -[18475] Forked 19991 -(19991) found -[18474] Forked 19992 -(19992) found -[18473] Forked 19993 -(19993) found -[18472] Forked 19994 -(19994) found -[18471] Forked 19995 -(19995) found -[18470] Forked 19996 -(19996) found -[18469] Forked 19997 -(19997) found -[18468] Forked 19998 -(19998) found -[18467] Forked 19999 -(19999) found -[18466] Forked 20000 -(20000) found -[18465] Forked 20001 -(20001) found -[18464] Forked 20002 -(20002) found -[18463] Forked 20003 -(20003) found -[18462] Forked 20004 -(20004) found -[18461] Forked 20005 -(20005) found -[18460] Forked 20006 -(20006) found -[18459] Forked 20007 -(20007) found -[18458] Forked 20008 -[18457] Forked 20009 -(20008) found -(20009) found -[18456] Forked 20010 -[18455] Forked 20011 -(20010) found -(20011) found -[18454] Forked 20012 -[18453] Forked 20014 -(20012) found -(20014) found -[18452] Forked 20015 -(20015) found -[18451] Forked 20016 -(20016) found -[18450] Forked 20017 -(20017) found -[18449] Forked 20018 -(20018) found -[18448] Forked 20019 -(20019) found -[18447] Forked 20020 -(20020) found -[18446] Forked 20021 -(20021) found -[18445] Forked 20022 -(20022) found -[18444] Forked 20023 -(20023) found -[18443] Forked 20024 -(20024) found -[18442] Forked 20025 -(20025) found -[18441] Forked 20026 -(20026) found -[18440] Forked 20027 -(20027) found -[18439] Forked 20028 -(20028) found -[18438] Forked 20029 -(20029) found -[18437] Forked 20030 -(20030) found -[18436] Forked 20031 -(20031) found -[18435] Forked 20032 -(20032) found -[18434] Forked 20033 -(20033) found -[18433] Forked 20034 -(20034) found -[18432] Forked 20035 -(20035) found -[18431] Forked 20036 -(20036) found -[18430] Forked 20037 -(20037) found -[18429] Forked 20038 -(20038) found -[18428] Forked 20039 -(20039) found -[18427] Forked 20040 -(20040) found -[18426] Forked 20041 -(20041) found -[18425] Forked 20042 -(20042) found -[18424] Forked 20043 -(20043) found -[18423] Forked 20044 -(20044) found -[18422] Forked 20045 -(20045) found -[18421] Forked 20046 -(20046) found -[18420] Forked 20047 -(20047) found -[18419] Forked 20048 -(20048) found -[18418] Forked 20049 -(20049) found -[18417] Forked 20050 -(20050) found -[18416] Forked 20051 -(20051) found -[18415] Forked 20052 -(20052) found -[18414] Forked 20053 -(20053) found -[18413] Forked 20054 -(20054) found -[18412] Forked 20055 -(20055) found -[18411] Forked 20056 -(20056) found -[18410] Forked 20057 -(20057) found -[18409] Forked 20058 -(20058) found -[18408] Forked 20059 -(20059) found -[18407] Forked 20060 -(20060) found -[18406] Forked 20061 -(20061) found -[18405] Forked 20062 -(20062) found -[18404] Forked 20063 -(20063) found -[18403] Forked 20064 -(20064) found -[18402] Forked 20065 -(20065) found -[18401] Forked 20066 -(20066) found -[18400] Forked 20067 -(20067) found -[18399] Forked 20068 -(20068) found -[18398] Forked 20069 -(20069) found -[18397] Forked 20070 -(20070) found -[18396] Forked 20071 -(20071) found -[18395] Forked 20072 -(20072) found -[18394] Forked 20073 -(20073) found -[18393] Forked 20074 -(20074) found -[18392] Forked 20075 -(20075) found -[18391] Forked 20076 -(20076) found -[18390] Forked 20077 -(20077) found -[18389] Forked 20078 -(20078) found -[18388] Forked 20079 -(20079) found -[18387] Forked 20080 -(20080) found -[18386] Forked 20081 -[18385] Forked 20082 -(20081) found -(20082) found -[18384] Forked 20083 -[18383] Forked 20084 -(20083) found -(20084) found -[18382] Forked 20085 -[18381] Forked 20086 -(20085) found -(20086) found -[18380] Forked 20087 -(20087) found -[18379] Forked 20088 -(20088) found -[18378] Forked 20089 -(20089) found -[18377] Forked 20090 -(20090) found -[18376] Forked 20091 -(20091) found -[18375] Forked 20092 -(20092) found -[18374] Forked 20093 -(20093) found -[18373] Forked 20094 -(20094) found -[18372] Forked 20095 -(20095) found -[18371] Forked 20096 -(20096) found -[18370] Forked 20097 -(20097) found -[18369] Forked 20098 -(20098) found -[18368] Forked 20099 -(20099) found -[18367] Forked 20100 -(20100) found -[18366] Forked 20101 -(20101) found -[18365] Forked 20102 -(20102) found -[18364] Forked 20103 -(20103) found -[18363] Forked 20104 -(20104) found -[18362] Forked 20105 -(20105) found -[18361] Forked 20106 -(20106) found -[18360] Forked 20107 -(20107) found -[18359] Forked 20108 -(20108) found -[18358] Forked 20109 -(20109) found -[18357] Forked 20110 -(20110) found -[18356] Forked 20111 -(20111) found -[18355] Forked 20112 -(20112) found -[18354] Forked 20113 -(20113) found -[18353] Forked 20114 -(20114) found -[18352] Forked 20115 -(20115) found -[18351] Forked 20116 -(20116) found -[18350] Forked 20117 -(20117) found -[18349] Forked 20118 -(20118) found -[18348] Forked 20119 -(20119) found -[18347] Forked 20120 -(20120) found -[18346] Forked 20121 -(20121) found -[18345] Forked 20122 -(20122) found -[18344] Forked 20123 -(20123) found -[18343] Forked 20124 -(20124) found -[18342] Forked 20125 -(20125) found -[18341] Forked 20126 -(20126) found -[18340] Forked 20127 -(20127) found -[18339] Forked 20128 -(20128) found -[18338] Forked 20129 -(20129) found -[18337] Forked 20130 -(20130) found -[18336] Forked 20131 -(20131) found -[18335] Forked 20132 -(20132) found -[18334] Forked 20133 -(20133) found -[18333] Forked 20134 -(20134) found -[18332] Forked 20135 -(20135) found -[18331] Forked 20136 -(20136) found -[18330] Forked 20137 -(20137) found -[18329] Forked 20138 -(20138) found -[18328] Forked 20139 -(20139) found -[18327] Forked 20140 -(20140) found -[18326] Forked 20141 -(20141) found -[18325] Forked 20142 -(20142) found -[18324] Forked 20143 -(20143) found -[18323] Forked 20144 -(20144) found -[18322] Forked 20145 -(20145) found -[18321] Forked 20146 -(20146) found -[18320] Forked 20147 -(20147) found -[18319] Forked 20148 -(20148) found -[18318] Forked 20149 -(20149) found -[18317] Forked 20150 -(20150) found -[18316] Forked 20151 -(20151) found -[18315] Forked 20152 -(20152) found -[18314] Forked 20153 -(20153) found -[18313] Forked 20154 -(20154) found -[18312] Forked 20155 -(20155) found -[18311] Forked 20156 -(20156) found -[18310] Forked 20157 -(20157) found -[18309] Forked 20158 -(20158) found -[18308] Forked 20159 -(20159) found -[18307] Forked 20160 -(20160) found -[18306] Forked 20161 -(20161) found -[18305] Forked 20162 -(20162) found -[18304] Forked 20163 -(20163) found -[18303] Forked 20164 -(20164) found -[18302] Forked 20165 -(20165) found -[18301] Forked 20166 -(20166) found -[18300] Forked 20167 -(20167) found -[18299] Forked 20168 -(20168) found -[18298] Forked 20169 -(20169) found -[18297] Forked 20170 -(20170) found -[18296] Forked 20171 -(20171) found -[18295] Forked 20172 -(20172) found -[18294] Forked 20173 -(20173) found -[18293] Forked 20174 -(20174) found -[18292] Forked 20175 -(20175) found -[18291] Forked 20176 -(20176) found -[18290] Forked 20177 -(20177) found -[18289] Forked 20178 -(20178) found -[18288] Forked 20179 -(20179) found -[18287] Forked 20180 -(20180) found -[18286] Forked 20181 -(20181) found -[18285] Forked 20182 -(20182) found -[18284] Forked 20183 -(20183) found -[18283] Forked 20184 -(20184) found -[18282] Forked 20185 -(20185) found -[18281] Forked 20186 -(20186) found -[18280] Forked 20187 -(20187) found -[18279] Forked 20188 -(20188) found -[18278] Forked 20189 -[18277] Forked 20190 -(20189) found -(20190) found -[18276] Forked 20191 -[18275] Forked 20192 -(20191) found -(20192) found -[18274] Forked 20193 -[18273] Forked 20194 -(20193) found -(20194) found -[18272] Forked 20195 -[18271] Forked 20196 -(20195) found -(20196) found -[18270] Forked 20197 -[18269] Forked 20198 -(20197) found -(20198) found -[18268] Forked 20199 -[18267] Forked 20200 -(20199) found -(20200) found -[18266] Forked 20201 -[18265] Forked 20202 -(20201) found -(20202) found -[18264] Forked 20203 -[18263] Forked 20204 -(20203) found -(20204) found -[18262] Forked 20205 -[18261] Forked 20206 -(20205) found -(20206) found -[18260] Forked 20207 -[18259] Forked 20208 -(20207) found -(20208) found -[18258] Forked 20209 -[18257] Forked 20210 -(20209) found -(20210) found -[18256] Forked 20211 -[18255] Forked 20212 -(20211) found -(20212) found -[18254] Forked 20213 -[18253] Forked 20214 -(20213) found -(20214) found -[18252] Forked 20215 -[18251] Forked 20216 -(20215) found -(20216) found -[18250] Forked 20217 -[18249] Forked 20218 -(20217) found -(20218) found -[18248] Forked 20219 -[18247] Forked 20220 -(20219) found -(20220) found -[18246] Forked 20221 -[18245] Forked 20222 -(20221) found -(20222) found -[18244] Forked 20223 -[18243] Forked 20225 -(20223) found -(20225) found -[18242] Forked 20226 -(20226) found -[18241] Forked 20227 -(20227) found -[18240] Forked 20228 -(20228) found -[18239] Forked 20229 -(20229) found -[18238] Forked 20230 -(20230) found -[18237] Forked 20231 -(20231) found -[18236] Forked 20232 -(20232) found -[18235] Forked 20233 -(20233) found -[18234] Forked 20234 -(20234) found -[18233] Forked 20235 -(20235) found -[18232] Forked 20236 -(20236) found -[18231] Forked 20237 -(20237) found -[18230] Forked 20238 -(20238) found -[18229] Forked 20239 -(20239) found -[18228] Forked 20240 -(20240) found -[18227] Forked 20241 -(20241) found -[18226] Forked 20242 -(20242) found -[18225] Forked 20243 -(20243) found -[18224] Forked 20244 -(20244) found -[18223] Forked 20245 -(20245) found -[18222] Forked 20246 -(20246) found -[18221] Forked 20247 -(20247) found -[18220] Forked 20248 -(20248) found -[18219] Forked 20249 -(20249) found -[18218] Forked 20250 -(20250) found -[18217] Forked 20251 -(20251) found -[18216] Forked 20252 -(20252) found -[18215] Forked 20253 -(20253) found -[18214] Forked 20254 -(20254) found -[18213] Forked 20255 -(20255) found -[18212] Forked 20256 -(20256) found -[18211] Forked 20257 -(20257) found -[18210] Forked 20258 -(20258) found -[18209] Forked 20259 -(20259) found -[18208] Forked 20260 -(20260) found -[18207] Forked 20261 -(20261) found -[18206] Forked 20262 -(20262) found -[18205] Forked 20263 -(20263) found -[18204] Forked 20264 -(20264) found -[18203] Forked 20265 -(20265) found -[18202] Forked 20266 -(20266) found -[18201] Forked 20267 -(20267) found -[18200] Forked 20268 -(20268) found -[18199] Forked 20269 -(20269) found -[18198] Forked 20270 -(20270) found -[18197] Forked 20271 -(20271) found -[18196] Forked 20272 -(20272) found -[18195] Forked 20273 -(20273) found -[18194] Forked 20274 -(20274) found -[18193] Forked 20275 -(20275) found -[18192] Forked 20276 -(20276) found -[18191] Forked 20277 -(20277) found -[18190] Forked 20278 -(20278) found -[18189] Forked 20279 -(20279) found -[18188] Forked 20280 -(20280) found -[18187] Forked 20281 -(20281) found -[18186] Forked 20282 -(20282) found -[18185] Forked 20283 -(20283) found -[18184] Forked 20284 -(20284) found -[18183] Forked 20285 -(20285) found -[18182] Forked 20286 -(20286) found -[18181] Forked 20287 -(20287) found -[18180] Forked 20288 -(20288) found -[18179] Forked 20289 -(20289) found -[18178] Forked 20290 -(20290) found -[18177] Forked 20291 -(20291) found -[18176] Forked 20292 -(20292) found -[18175] Forked 20293 -(20293) found -[18174] Forked 20294 -(20294) found -[18173] Forked 20295 -(20295) found -[18172] Forked 20296 -(20296) found -[18171] Forked 20297 -(20297) found -[18170] Forked 20298 -(20298) found -[18169] Forked 20299 -(20299) found -[18168] Forked 20300 -(20300) found -[18167] Forked 20301 -(20301) found -[18166] Forked 20302 -(20302) found -[18165] Forked 20303 -(20303) found -[18164] Forked 20304 -(20304) found -[18163] Forked 20305 -(20305) found -[18162] Forked 20306 -(20306) found -[18161] Forked 20307 -(20307) found -[18160] Forked 20308 -(20308) found -[18159] Forked 20309 -(20309) found -[18158] Forked 20310 -(20310) found -[18157] Forked 20311 -(20311) found -[18156] Forked 20312 -(20312) found -[18155] Forked 20313 -(20313) found -[18154] Forked 20314 -(20314) found -[18153] Forked 20315 -(20315) found -[18152] Forked 20316 -(20316) found -[18151] Forked 20317 -(20317) found -[18150] Forked 20318 -(20318) found -[18149] Forked 20319 -(20319) found -[18148] Forked 20320 -(20320) found -[18147] Forked 20321 -(20321) found -[18146] Forked 20322 -(20322) found -[18145] Forked 20323 -(20323) found -[18144] Forked 20324 -(20324) found -[18143] Forked 20325 -(20325) found -[18142] Forked 20326 -(20326) found -[18141] Forked 20327 -(20327) found -[18140] Forked 20328 -(20328) found -[18139] Forked 20329 -(20329) found -[18138] Forked 20330 -(20330) found -[18137] Forked 20331 -(20331) found -[18136] Forked 20332 -(20332) found -[18135] Forked 20333 -(20333) found -[18134] Forked 20334 -(20334) found -[18133] Forked 20335 -(20335) found -[18132] Forked 20336 -(20336) found -[18131] Forked 20337 -(20337) found -[18130] Forked 20338 -(20338) found -[18129] Forked 20339 -(20339) found -[18128] Forked 20340 -(20340) found -[18127] Forked 20341 -(20341) found -[18126] Forked 20342 -[18125] Forked 20343 -(20342) found -(20343) found -[18124] Forked 20344 -[18123] Forked 20345 -(20344) found -(20345) found -[18122] Forked 20346 -[18121] Forked 20347 -(20346) found -(20347) found -[18120] Forked 20348 -[18119] Forked 20349 -(20348) found -(20349) found -[18118] Forked 20350 -[18117] Forked 20351 -(20350) found -(20351) found -[18116] Forked 20352 -[18115] Forked 20353 -(20352) found -(20353) found -[18114] Forked 20354 -[18113] Forked 20355 -(20354) found -(20355) found -[18112] Forked 20356 -[18111] Forked 20357 -(20356) found -(20357) found -[18110] Forked 20358 -[18109] Forked 20359 -(20358) found -(20359) found -[18108] Forked 20360 -[18107] Forked 20361 -(20360) found -(20361) found -[18106] Forked 20362 -[18105] Forked 20363 -(20362) found -(20363) found -[18104] Forked 20364 -[18103] Forked 20365 -(20364) found -(20365) found -[18102] Forked 20366 -[18101] Forked 20367 -(20366) found -(20367) found -[18100] Forked 20368 -[18099] Forked 20369 -(20368) found -(20369) found -[18098] Forked 20370 -[18097] Forked 20371 -(20370) found -(20371) found -[18096] Forked 20372 -[18095] Forked 20373 -(20372) found -(20373) found -[18094] Forked 20374 -[18093] Forked 20375 -(20374) found -(20375) found -[18092] Forked 20376 -[18091] Forked 20377 -(20376) found -(20377) found -[18090] Forked 20378 -[18089] Forked 20379 -(20378) found -(20379) found -[18088] Forked 20380 -[18087] Forked 20381 -(20380) found -(20381) found -[18086] Forked 20382 -[18085] Forked 20383 -(20382) found -(20383) found -[18084] Forked 20384 -[18083] Forked 20385 -(20384) found -(20385) found -[18082] Forked 20386 -[18081] Forked 20387 -(20386) found -(20387) found -[18080] Forked 20388 -[18079] Forked 20389 -(20388) found -(20389) found -[18078] Forked 20390 -[18077] Forked 20391 -(20390) found -(20391) found -[18076] Forked 20392 -[18075] Forked 20393 -(20392) found -(20393) found -[18074] Forked 20394 -[18073] Forked 20395 -(20394) found -(20395) found -[18072] Forked 20396 -[18071] Forked 20397 -(20396) found -(20397) found -[18070] Forked 20398 -[18069] Forked 20399 -(20398) found -(20399) found -[18068] Forked 20400 -[18067] Forked 20401 -(20400) found -(20401) found -[18066] Forked 20402 -[18065] Forked 20403 -(20402) found -(20403) found -[18064] Forked 20404 -[18063] Forked 20405 -(20404) found -(20405) found -[18062] Forked 20406 -[18061] Forked 20407 -(20406) found -(20407) found -[18060] Forked 20408 -[18059] Forked 20409 -(20408) found -(20409) found -[18058] Forked 20410 -[18057] Forked 20411 -(20410) found -(20411) found -[18056] Forked 20412 -[18055] Forked 20413 -(20412) found -(20413) found -[18054] Forked 20414 -[18053] Forked 20415 -(20414) found -(20415) found -[18052] Forked 20416 -[18051] Forked 20417 -(20416) found -(20417) found -[18050] Forked 20418 -[18049] Forked 20419 -(20418) found -(20419) found -[18048] Forked 20420 -[18047] Forked 20421 -(20420) found -(20421) found -[18046] Forked 20422 -[18045] Forked 20423 -(20422) found -(20423) found -[18044] Forked 20424 -[18043] Forked 20425 -(20424) found -(20425) found -[18042] Forked 20426 -[18041] Forked 20427 -(20426) found -(20427) found -[18040] Forked 20428 -[18039] Forked 20429 -(20428) found -(20429) found -[18038] Forked 20430 -[18037] Forked 20431 -(20430) found -(20431) found -[18036] Forked 20432 -(20432) found -[18035] Forked 20433 -(20433) found -[18034] Forked 20434 -(20434) found -[18033] Forked 20435 -(20435) found -[18032] Forked 20436 -(20436) found -[18031] Forked 20437 -(20437) found -[18030] Forked 20438 -(20438) found -[18029] Forked 20439 -(20439) found -[18028] Forked 20440 -(20440) found -[18027] Forked 20441 -(20441) found -[18026] Forked 20442 -(20442) found -[18025] Forked 20443 -(20443) found -[18024] Forked 20444 -(20444) found -[18023] Forked 20445 -(20445) found -[18022] Forked 20446 -(20446) found -[18021] Forked 20447 -(20447) found -[18020] Forked 20448 -(20448) found -[18019] Forked 20449 -(20449) found -[18018] Forked 20450 -(20450) found -[18017] Forked 20451 -(20451) found -[18016] Forked 20452 -(20452) found -[18015] Forked 20453 -(20453) found -[18014] Forked 20454 -(20454) found -[18013] Forked 20455 -(20455) found -[18012] Forked 20456 -(20456) found -[18011] Forked 20457 -(20457) found -[18010] Forked 20458 -(20458) found -[18009] Forked 20459 -(20459) found -[18008] Forked 20460 -(20460) found -[18007] Forked 20461 -(20461) found -[18006] Forked 20462 -(20462) found -[18005] Forked 20463 -(20463) found -[18004] Forked 20464 -(20464) found -[18003] Forked 20465 -(20465) found -[18002] Forked 20466 -(20466) found -[18001] Forked 20467 -(20467) found -[18000] Forked 20468 -[17999] Forked 20469 -(20468) found -(20469) found -[17998] Forked 20470 -[17997] Forked 20471 -(20470) found -(20471) found -[17996] Forked 20472 -(20472) found -[17995] Forked 20473 -[17994] Forked 20474 -(20473) found -(20474) found -[17993] Forked 20475 -[17992] Forked 20476 -(20475) found -(20476) found -[17991] Forked 20477 -[17990] Forked 20478 -(20477) found -(20478) found -[17989] Forked 20479 -[17988] Forked 20480 -(20479) found -(20480) found -[17987] Forked 20481 -[17986] Forked 20482 -(20481) found -(20482) found -[17985] Forked 20483 -(20483) found -[17984] Forked 20484 -[17983] Forked 20485 -(20484) found -(20485) found -[17982] Forked 20486 -[17981] Forked 20487 -(20486) found -(20487) found -[17980] Forked 20488 -[17979] Forked 20489 -(20488) found -(20489) found -[17978] Forked 20490 -[17977] Forked 20491 -(20490) found -(20491) found -[17976] Forked 20492 -[17975] Forked 20493 -(20492) found -(20493) found -[17974] Forked 20494 -[17973] Forked 20495 -(20494) found -(20495) found -[17972] Forked 20496 -[17971] Forked 20497 -(20496) found -(20497) found -[17970] Forked 20498 -[17969] Forked 20499 -(20498) found -(20499) found -[17968] Forked 20500 -[17967] Forked 20501 -(20500) found -(20501) found -[17966] Forked 20502 -[17965] Forked 20503 -(20502) found -(20503) found -[17964] Forked 20504 -[17963] Forked 20505 -(20504) found -(20505) found -[17962] Forked 20506 -[17961] Forked 20507 -(20506) found -(20507) found -[17960] Forked 20508 -[17959] Forked 20509 -(20508) found -(20509) found -[17958] Forked 20510 -[17957] Forked 20511 -(20510) found -(20511) found -[17956] Forked 20512 -(20512) found -[17955] Forked 20513 -(20513) found -[17954] Forked 20514 -(20514) found -[17953] Forked 20515 -(20515) found -[17952] Forked 20516 -(20516) found -[17951] Forked 20517 -(20517) found -[17950] Forked 20518 -(20518) found -[17949] Forked 20519 -(20519) found -[17948] Forked 20520 -(20520) found -[17947] Forked 20521 -(20521) found -[17946] Forked 20522 -(20522) found -[17945] Forked 20523 -(20523) found -[17944] Forked 20524 -(20524) found -[17943] Forked 20525 -(20525) found -[17942] Forked 20526 -(20526) found -[17941] Forked 20527 -(20527) found -[17940] Forked 20528 -(20528) found -[17939] Forked 20529 -(20529) found -[17938] Forked 20530 -(20530) found -[17937] Forked 20531 -(20531) found -[17936] Forked 20532 -(20532) found -[17935] Forked 20533 -(20533) found -[17934] Forked 20534 -(20534) found -[17933] Forked 20535 -(20535) found -[17932] Forked 20536 -(20536) found -[17931] Forked 20537 -(20537) found -[17930] Forked 20538 -(20538) found -[17929] Forked 20539 -(20539) found -[17928] Forked 20540 -(20540) found -[17927] Forked 20541 -(20541) found -[17926] Forked 20542 -(20542) found -[17925] Forked 20543 -(20543) found -[17924] Forked 20544 -(20544) found -[17923] Forked 20545 -(20545) found -[17922] Forked 20546 -(20546) found -[17921] Forked 20547 -(20547) found -[17920] Forked 20548 -[17919] Forked 20549 -(20548) found -(20549) found -[17918] Forked 20550 -[17917] Forked 20551 -(20550) found -(20551) found -[17916] Forked 20552 -[17915] Forked 20553 -(20552) found -(20553) found -[17914] Forked 20554 -[17913] Forked 20555 -(20554) found -(20555) found -[17912] Forked 20556 -[17911] Forked 20557 -(20556) found -(20557) found -[17910] Forked 20558 -[17909] Forked 20559 -(20558) found -(20559) found -[17908] Forked 20560 -[17907] Forked 20561 -(20560) found -(20561) found -[17906] Forked 20562 -[17905] Forked 20563 -(20562) found -(20563) found -[17904] Forked 20564 -[17903] Forked 20565 -(20564) found -(20565) found -[17902] Forked 20566 -[17901] Forked 20567 -(20566) found -(20567) found -[17900] Forked 20568 -[17899] Forked 20569 -(20568) found -(20569) found -[17898] Forked 20570 -[17897] Forked 20571 -(20570) found -(20571) found -[17896] Forked 20572 -[17895] Forked 20573 -(20572) found -(20573) found -[17894] Forked 20574 -[17893] Forked 20575 -(20574) found -(20575) found -[17892] Forked 20576 -[17891] Forked 20577 -(20576) found -(20577) found -[17890] Forked 20578 -[17889] Forked 20579 -(20578) found -(20579) found -[17888] Forked 20580 -(20580) found -[17887] Forked 20581 -(20581) found -[17886] Forked 20582 -[17885] Forked 20583 -(20582) found -(20583) found -[17884] Forked 20584 -[17883] Forked 20585 -(20584) found -(20585) found -[17882] Forked 20586 -[17881] Forked 20587 -(20586) found -(20587) found -[17880] Forked 20588 -[17879] Forked 20589 -(20588) found -(20589) found -[17878] Forked 20590 -[17877] Forked 20591 -(20590) found -(20591) found -[17876] Forked 20592 -[17875] Forked 20593 -(20592) found -(20593) found -[17874] Forked 20594 -[17873] Forked 20595 -(20594) found -(20595) found -[17872] Forked 20596 -[17871] Forked 20597 -(20596) found -(20597) found -[17870] Forked 20598 -[17869] Forked 20599 -(20598) found -(20599) found -[17868] Forked 20600 -[17867] Forked 20601 -(20600) found -(20601) found -[17866] Forked 20602 -[17865] Forked 20603 -(20602) found -(20603) found -[17864] Forked 20604 -[17863] Forked 20605 -(20604) found -(20605) found -[17862] Forked 20606 -[17861] Forked 20607 -(20606) found -(20607) found -[17860] Forked 20608 -[17859] Forked 20609 -(20608) found -(20609) found -[17858] Forked 20610 -[17857] Forked 20611 -(20610) found -(20611) found -[17856] Forked 20612 -[17855] Forked 20613 -(20612) found -(20613) found -[17854] Forked 20614 -[17853] Forked 20615 -(20614) found -(20615) found -[17852] Forked 20616 -[17851] Forked 20617 -(20616) found -(20617) found -[17850] Forked 20618 -[17849] Forked 20619 -(20618) found -(20619) found -[17848] Forked 20620 -[17847] Forked 20621 -(20620) found -(20621) found -[17846] Forked 20622 -[17845] Forked 20623 -(20622) found -(20623) found -[17844] Forked 20624 -[17843] Forked 20625 -(20624) found -(20625) found -[17842] Forked 20626 -[17841] Forked 20627 -(20626) found -(20627) found -[17840] Forked 20628 -[17839] Forked 20629 -(20628) found -(20629) found -[17838] Forked 20630 -[17837] Forked 20631 -(20630) found -(20631) found -[17836] Forked 20632 -[17835] Forked 20633 -(20632) found -(20633) found -[17834] Forked 20634 -[17833] Forked 20635 -(20634) found -(20635) found -[17832] Forked 20636 -[17831] Forked 20637 -(20636) found -(20637) found -[17830] Forked 20638 -(20638) found -[17829] Forked 20639 -(20639) found -[17828] Forked 20640 -(20640) found -[17827] Forked 20641 -(20641) found -[17826] Forked 20642 -(20642) found -[17825] Forked 20643 -(20643) found -[17824] Forked 20644 -(20644) found -[17823] Forked 20645 -(20645) found -[17822] Forked 20646 -(20646) found -[17821] Forked 20647 -(20647) found -[17820] Forked 20648 -(20648) found -[17819] Forked 20649 -(20649) found -[17818] Forked 20650 -(20650) found -[17817] Forked 20651 -(20651) found -[17816] Forked 20652 -(20652) found -[17815] Forked 20653 -(20653) found -[17814] Forked 20654 -(20654) found -[17813] Forked 20655 -(20655) found -[17812] Forked 20656 -(20656) found -[17811] Forked 20657 -(20657) found -[17810] Forked 20658 -(20658) found -[17809] Forked 20659 -(20659) found -[17808] Forked 20660 -(20660) found -[17807] Forked 20661 -(20661) found -[17806] Forked 20662 -(20662) found -[17805] Forked 20663 -(20663) found -[17804] Forked 20664 -(20664) found -[17803] Forked 20665 -(20665) found -[17802] Forked 20666 -(20666) found -[17801] Forked 20667 -(20667) found -[17800] Forked 20668 -(20668) found -[17799] Forked 20669 -(20669) found -[17798] Forked 20670 -(20670) found -[17797] Forked 20671 -(20671) found -[17796] Forked 20672 -(20672) found -[17795] Forked 20673 -[17794] Forked 20674 -(20673) found -(20674) found -[17793] Forked 20675 -[17792] Forked 20676 -(20676) found -(20675) found -[17791] Forked 20677 -(20677) found -[17790] Forked 20678 -(20678) found -[17789] Forked 20679 -(20679) found -[17788] Forked 20680 -(20680) found -[17787] Forked 20681 -(20681) found -[17786] Forked 20682 -(20682) found -[17785] Forked 20683 -(20683) found -[17784] Forked 20684 -(20684) found -[17783] Forked 20685 -(20685) found -[17782] Forked 20686 -(20686) found -[17781] Forked 20687 -(20687) found -[17780] Forked 20688 -(20688) found -[17779] Forked 20689 -(20689) found -[17778] Forked 20690 -(20690) found -[17777] Forked 20691 -(20691) found -[17776] Forked 20692 -(20692) found -[17775] Forked 20693 -(20693) found -[17774] Forked 20694 -(20694) found -[17773] Forked 20695 -(20695) found -[17772] Forked 20696 -(20696) found -[17771] Forked 20697 -(20697) found -[17770] Forked 20698 -(20698) found -[17769] Forked 20699 -(20699) found -[17768] Forked 20700 -(20700) found -[17767] Forked 20701 -(20701) found -[17766] Forked 20702 -(20702) found -[17765] Forked 20703 -(20703) found -[17764] Forked 20704 -(20704) found -[17763] Forked 20705 -(20705) found -[17762] Forked 20706 -(20706) found -[17761] Forked 20707 -(20707) found -[17760] Forked 20708 -(20708) found -[17759] Forked 20709 -(20709) found -[17758] Forked 20710 -(20710) found -[17757] Forked 20711 -(20711) found -[17756] Forked 20712 -(20712) found -[17755] Forked 20713 -(20713) found -[17754] Forked 20714 -(20714) found -[17753] Forked 20715 -(20715) found -[17752] Forked 20716 -(20716) found -[17751] Forked 20717 -(20717) found -[17750] Forked 20718 -(20718) found -[17749] Forked 20719 -(20719) found -[17748] Forked 20720 -(20720) found -[17747] Forked 20721 -(20721) found -[17746] Forked 20722 -(20722) found -[17745] Forked 20723 -(20723) found -[17744] Forked 20724 -(20724) found -[17743] Forked 20725 -(20725) found -[17742] Forked 20726 -(20726) found -[17741] Forked 20727 -(20727) found -[17740] Forked 20728 -(20728) found -[17739] Forked 20729 -(20729) found -[17738] Forked 20730 -(20730) found -[17737] Forked 20731 -(20731) found -[17736] Forked 20732 -(20732) found -[17735] Forked 20733 -(20733) found -[17734] Forked 20734 -(20734) found -[17733] Forked 20735 -(20735) found -[17732] Forked 20736 -(20736) found -[17731] Forked 20737 -(20737) found -[17730] Forked 20738 -(20738) found -[17729] Forked 20739 -(20739) found -[17728] Forked 20740 -(20740) found -[17727] Forked 20741 -(20741) found -[17726] Forked 20742 -(20742) found -[17725] Forked 20743 -(20743) found -[17724] Forked 20744 -[17723] Forked 20745 -(20744) found -(20745) found -[17722] Forked 20746 -[17721] Forked 20747 -(20746) found -(20747) found -[17720] Forked 20748 -[17719] Forked 20749 -(20748) found -(20749) found -[17718] Forked 20750 -[17717] Forked 20751 -(20750) found -(20751) found -[17716] Forked 20752 -[17715] Forked 20753 -(20752) found -(20753) found -[17714] Forked 20754 -[17713] Forked 20755 -(20754) found -(20755) found -[17712] Forked 20756 -[17711] Forked 20757 -(20756) found -(20757) found -[17710] Forked 20758 -[17709] Forked 20759 -(20758) found -(20759) found -[17708] Forked 20760 -[17707] Forked 20761 -(20760) found -(20761) found -[17706] Forked 20762 -[17705] Forked 20763 -(20762) found -(20763) found -[17704] Forked 20764 -[17703] Forked 20765 -(20764) found -(20765) found -[17702] Forked 20766 -[17701] Forked 20767 -(20766) found -(20767) found -[17700] Forked 20768 -[17699] Forked 20769 -(20768) found -(20769) found -[17698] Forked 20770 -[17697] Forked 20771 -(20770) found -(20771) found -[17696] Forked 20772 -[17695] Forked 20773 -(20772) found -(20773) found -[17694] Forked 20774 -[17693] Forked 20775 -(20774) found -(20775) found -[17692] Forked 20776 -[17691] Forked 20777 -(20776) found -(20777) found -[17690] Forked 20778 -[17689] Forked 20779 -(20778) found -(20779) found -[17688] Forked 20780 -[17687] Forked 20781 -(20780) found -(20781) found -[17686] Forked 20782 -[17685] Forked 20783 -(20782) found -(20783) found -[17684] Forked 20784 -[17683] Forked 20785 -(20784) found -(20785) found -[17682] Forked 20786 -[17681] Forked 20787 -(20786) found -(20787) found -[17680] Forked 20788 -[17679] Forked 20789 -(20788) found -(20789) found -[17678] Forked 20790 -[17677] Forked 20791 -(20790) found -(20791) found -[17676] Forked 20792 -[17675] Forked 20793 -(20792) found -(20793) found -[17674] Forked 20794 -[17673] Forked 20795 -(20794) found -(20795) found -[17672] Forked 20796 -[17671] Forked 20797 -(20796) found -(20797) found -[17670] Forked 20798 -[17669] Forked 20799 -(20798) found -(20799) found -[17668] Forked 20800 -[17667] Forked 20801 -(20800) found -(20801) found -[17666] Forked 20802 -[17665] Forked 20803 -(20802) found -(20803) found -[17664] Forked 20804 -[17663] Forked 20805 -(20804) found -(20805) found -[17662] Forked 20806 -[17661] Forked 20807 -(20806) found -(20807) found -[17660] Forked 20808 -[17659] Forked 20809 -(20808) found -(20809) found -[17658] Forked 20810 -[17657] Forked 20811 -(20810) found -(20811) found -[17656] Forked 20812 -[17655] Forked 20813 -(20812) found -(20813) found -[17654] Forked 20814 -[17653] Forked 20815 -(20814) found -(20815) found -[17652] Forked 20816 -[17651] Forked 20817 -(20816) found -(20817) found -[17650] Forked 20818 -[17649] Forked 20819 -(20818) found -(20819) found -[17648] Forked 20820 -[17647] Forked 20821 -(20820) found -(20821) found -[17646] Forked 20822 -[17645] Forked 20823 -(20822) found -(20823) found -[17644] Forked 20824 -[17643] Forked 20825 -(20824) found -(20825) found -[17642] Forked 20826 -[17641] Forked 20827 -(20826) found -(20827) found -[17640] Forked 20828 -[17639] Forked 20829 -(20828) found -(20829) found -[17638] Forked 20830 -[17637] Forked 20831 -(20830) found -(20831) found -[17636] Forked 20832 -[17635] Forked 20833 -(20832) found -(20833) found -[17634] Forked 20834 -(20834) found -[17633] Forked 20835 -[17632] Forked 20836 -(20835) found -(20836) found -[17631] Forked 20837 -[17630] Forked 20838 -(20837) found -(20838) found -[17629] Forked 20839 -[17628] Forked 20840 -(20839) found -(20840) found -[17627] Forked 20841 -[17626] Forked 20842 -(20841) found -(20842) found -[17625] Forked 20843 -[17624] Forked 20844 -(20843) found -(20844) found -[17623] Forked 20845 -[17622] Forked 20846 -(20845) found -(20846) found -[17621] Forked 20847 -[17620] Forked 20848 -(20847) found -(20848) found -[17619] Forked 20849 -[17618] Forked 20850 -(20849) found -(20850) found -[17617] Forked 20851 -[17616] Forked 20852 -(20851) found -(20852) found -[17615] Forked 20853 -[17614] Forked 20854 -(20853) found -(20854) found -[17613] Forked 20855 -[17612] Forked 20856 -(20855) found -(20856) found -[17611] Forked 20857 -[17610] Forked 20858 -(20857) found -(20858) found -[17609] Forked 20859 -[17608] Forked 20860 -(20859) found -(20860) found -[17607] Forked 20861 -[17606] Forked 20862 -(20861) found -(20862) found -[17605] Forked 20863 -[17604] Forked 20864 -(20863) found -(20864) found -[17603] Forked 20865 -[17602] Forked 20866 -(20865) found -(20866) found -[17601] Forked 20867 -[17600] Forked 20868 -(20867) found -(20868) found -[17599] Forked 20869 -[17598] Forked 20870 -(20869) found -(20870) found -[17597] Forked 20871 -[17596] Forked 20872 -(20871) found -(20872) found -[17595] Forked 20873 -[17594] Forked 20874 -(20873) found -(20874) found -[17593] Forked 20875 -[17592] Forked 20876 -(20875) found -(20876) found -[17591] Forked 20877 -[17590] Forked 20878 -(20877) found -(20878) found -[17589] Forked 20879 -[17588] Forked 20880 -(20879) found -(20880) found -[17587] Forked 20881 -[17586] Forked 20882 -(20881) found -(20882) found -[17585] Forked 20883 -[17584] Forked 20884 -(20883) found -(20884) found -[17583] Forked 20885 -[17582] Forked 20886 -(20885) found -(20886) found -[17581] Forked 20887 -[17580] Forked 20888 -(20887) found -(20888) found -[17579] Forked 20889 -[17578] Forked 20890 -(20889) found -(20890) found -[17577] Forked 20891 -[17576] Forked 20892 -(20891) found -(20892) found -[17575] Forked 20893 -[17574] Forked 20894 -(20893) found -(20894) found -[17573] Forked 20895 -[17572] Forked 20896 -(20895) found -(20896) found -[17571] Forked 20897 -[17570] Forked 20898 -(20897) found -(20898) found -[17569] Forked 20899 -[17568] Forked 20900 -(20899) found -(20900) found -[17567] Forked 20901 -[17566] Forked 20902 -(20901) found -(20902) found -[17565] Forked 20903 -[17564] Forked 20904 -(20903) found -(20904) found -[17563] Forked 20905 -[17562] Forked 20906 -(20905) found -(20906) found -[17561] Forked 20907 -[17560] Forked 20908 -(20907) found -(20908) found -[17559] Forked 20909 -[17558] Forked 20910 -(20909) found -(20910) found -[17557] Forked 20911 -[17556] Forked 20912 -(20911) found -(20912) found -[17555] Forked 20913 -[17554] Forked 20914 -(20913) found -(20914) found -[17553] Forked 20915 -[17552] Forked 20916 -(20915) found -(20916) found -[17551] Forked 20917 -[17550] Forked 20918 -(20917) found -(20918) found -[17549] Forked 20919 -[17548] Forked 20920 -(20919) found -(20920) found -[17547] Forked 20921 -[17546] Forked 20922 -(20921) found -(20922) found -[17545] Forked 20923 -[17544] Forked 20924 -(20923) found -(20924) found -[17543] Forked 20925 -[17542] Forked 20926 -(20925) found -(20926) found -[17541] Forked 20927 -[17540] Forked 20928 -(20927) found -(20928) found -[17539] Forked 20929 -[17538] Forked 20930 -(20929) found -(20930) found -[17537] Forked 20931 -[17536] Forked 20932 -(20931) found -(20932) found -[17535] Forked 20933 -[17534] Forked 20934 -(20933) found -(20934) found -[17533] Forked 20935 -[17532] Forked 20936 -(20935) found -(20936) found -[17531] Forked 20937 -[17530] Forked 20938 -(20937) found -(20938) found -[17529] Forked 20939 -[17528] Forked 20940 -(20939) found -(20940) found -[17527] Forked 20941 -[17526] Forked 20942 -(20941) found -(20942) found -[17525] Forked 20943 -[17524] Forked 20944 -(20943) found -(20944) found -[17523] Forked 20945 -[17522] Forked 20946 -(20945) found -(20946) found -[17521] Forked 20947 -[17520] Forked 20948 -(20947) found -(20948) found -[17519] Forked 20949 -[17518] Forked 20950 -(20949) found -(20950) found -[17517] Forked 20951 -[17516] Forked 20952 -(20951) found -(20952) found -[17515] Forked 20953 -[17514] Forked 20954 -(20953) found -(20954) found -[17513] Forked 20955 -[17512] Forked 20956 -(20955) found -(20956) found -[17511] Forked 20957 -[17510] Forked 20958 -(20957) found -(20958) found -[17509] Forked 20959 -[17508] Forked 20960 -(20959) found -(20960) found -[17507] Forked 20961 -[17506] Forked 20962 -(20961) found -(20962) found -[17505] Forked 20963 -[17504] Forked 20964 -(20963) found -(20964) found -[17503] Forked 20965 -[17502] Forked 20966 -(20965) found -(20966) found -[17501] Forked 20967 -[17500] Forked 20968 -(20967) found -(20968) found -[17499] Forked 20969 -[17498] Forked 20970 -(20969) found -(20970) found -[17497] Forked 20971 -[17496] Forked 20972 -(20971) found -(20972) found -[17495] Forked 20973 -(20973) found -[17494] Forked 20974 -(20974) found -[17493] Forked 20975 -(20975) found -[17492] Forked 20976 -(20976) found -[17491] Forked 20977 -(20977) found -[17490] Forked 20978 -(20978) found -[17489] Forked 20979 -(20979) found -[17488] Forked 20980 -(20980) found -[17487] Forked 20981 -(20981) found -[17486] Forked 20982 -(20982) found -[17485] Forked 20983 -(20983) found -[17484] Forked 20984 -(20984) found -[17483] Forked 20985 -(20985) found -[17482] Forked 20986 -(20986) found -[17481] Forked 20987 -(20987) found -[17480] Forked 20988 -(20988) found -[17479] Forked 20989 -(20989) found -[17478] Forked 20990 -(20990) found -[17477] Forked 20991 -(20991) found -[17476] Forked 20992 -(20992) found -[17475] Forked 20993 -(20993) found -[17474] Forked 20994 -(20994) found -[17473] Forked 20995 -(20995) found -[17472] Forked 20996 -(20996) found -[17471] Forked 20997 -(20997) found -[17470] Forked 20998 -(20998) found -[17469] Forked 20999 -(20999) found -[17468] Forked 21000 -(21000) found -[17467] Forked 21001 -(21001) found -[17466] Forked 21002 -(21002) found -[17465] Forked 21003 -(21003) found -[17464] Forked 21004 -(21004) found -[17463] Forked 21005 -(21005) found -[17462] Forked 21006 -(21006) found -[17461] Forked 21007 -(21007) found -[17460] Forked 21008 -[17459] Forked 21009 -(21008) found -(21009) found -[17458] Forked 21010 -[17457] Forked 21011 -(21010) found -(21011) found -[17456] Forked 21012 -[17455] Forked 21013 -(21012) found -(21013) found -[17454] Forked 21014 -[17453] Forked 21015 -(21014) found -(21015) found -[17452] Forked 21016 -[17451] Forked 21017 -(21016) found -(21017) found -[17450] Forked 21018 -[17449] Forked 21019 -(21018) found -(21019) found -[17448] Forked 21020 -[17447] Forked 21021 -(21020) found -(21021) found -[17446] Forked 21022 -[17445] Forked 21023 -(21022) found -(21023) found -[17444] Forked 21024 -[17443] Forked 21025 -(21024) found -(21025) found -[17442] Forked 21026 -[17441] Forked 21027 -(21026) found -(21027) found -[17440] Forked 21028 -[17439] Forked 21029 -(21028) found -(21029) found -[17438] Forked 21030 -[17437] Forked 21031 -(21030) found -(21031) found -[17436] Forked 21032 -[17435] Forked 21033 -(21032) found -(21033) found -[17434] Forked 21034 -[17433] Forked 21035 -(21034) found -(21035) found -[17432] Forked 21036 -[17431] Forked 21037 -(21036) found -(21037) found -[17430] Forked 21038 -[17429] Forked 21039 -(21038) found -(21039) found -[17428] Forked 21040 -[17427] Forked 21041 -(21040) found -(21041) found -[17426] Forked 21042 -[17425] Forked 21043 -(21042) found -(21043) found -[17424] Forked 21044 -[17423] Forked 21045 -(21044) found -(21045) found -[17422] Forked 21046 -[17421] Forked 21047 -(21046) found -(21047) found -[17420] Forked 21048 -[17419] Forked 21049 -(21048) found -(21049) found -[17418] Forked 21050 -[17417] Forked 21051 -(21050) found -(21051) found -[17416] Forked 21052 -[17415] Forked 21053 -(21052) found -(21053) found -[17414] Forked 21054 -(21054) found -[17413] Forked 21055 -(21055) found -[17412] Forked 21056 -(21056) found -[17411] Forked 21057 -(21057) found -[17410] Forked 21058 -(21058) found -[17409] Forked 21059 -(21059) found -[17408] Forked 21060 -(21060) found -[17407] Forked 21061 -(21061) found -[17406] Forked 21062 -(21062) found -[17405] Forked 21063 -(21063) found -[17404] Forked 21064 -(21064) found -[17403] Forked 21065 -(21065) found -[17402] Forked 21066 -(21066) found -[17401] Forked 21067 -(21067) found -[17400] Forked 21068 -(21068) found -[17399] Forked 21069 -(21069) found -[17398] Forked 21070 -(21070) found -[17397] Forked 21071 -(21071) found -[17396] Forked 21072 -(21072) found -[17395] Forked 21073 -(21073) found -[17394] Forked 21074 -(21074) found -[17393] Forked 21075 -(21075) found -[17392] Forked 21076 -(21076) found -[17391] Forked 21077 -(21077) found -[17390] Forked 21078 -(21078) found -[17389] Forked 21079 -(21079) found -[17388] Forked 21080 -(21080) found -[17387] Forked 21081 -(21081) found -[17386] Forked 21082 -(21082) found -[17385] Forked 21083 -(21083) found -[17384] Forked 21084 -(21084) found -[17383] Forked 21085 -(21085) found -[17382] Forked 21086 -(21086) found -[17381] Forked 21087 -(21087) found -[17380] Forked 21088 -[17379] Forked 21089 -(21088) found -(21089) found -[17378] Forked 21090 -[17377] Forked 21091 -(21090) found -(21091) found -[17376] Forked 21092 -[17375] Forked 21093 -(21092) found -(21093) found -[17374] Forked 21094 -[17373] Forked 21095 -(21094) found -(21095) found -[17372] Forked 21096 -[17371] Forked 21097 -(21096) found -(21097) found -[17370] Forked 21098 -[17369] Forked 21099 -(21098) found -(21099) found -[17368] Forked 21100 -[17367] Forked 21101 -(21100) found -(21101) found -[17366] Forked 21102 -[17365] Forked 21103 -(21102) found -(21103) found -[17364] Forked 21104 -[17363] Forked 21105 -(21104) found -(21105) found -[17362] Forked 21106 -[17361] Forked 21107 -(21106) found -(21107) found -[17360] Forked 21108 -[17359] Forked 21109 -(21108) found -(21109) found -[17358] Forked 21110 -[17357] Forked 21111 -(21110) found -(21111) found -[17356] Forked 21112 -[17355] Forked 21113 -(21112) found -(21113) found -[17354] Forked 21114 -[17353] Forked 21115 -(21114) found -(21115) found -[17352] Forked 21116 -[17351] Forked 21117 -(21116) found -(21117) found -[17350] Forked 21118 -[17349] Forked 21119 -(21118) found -(21119) found -[17348] Forked 21120 -[17347] Forked 21121 -(21120) found -(21121) found -[17346] Forked 21122 -[17345] Forked 21123 -(21122) found -(21123) found -[17344] Forked 21124 -[17343] Forked 21125 -(21124) found -(21125) found -[17342] Forked 21126 -[17341] Forked 21127 -(21126) found -(21127) found -[17340] Forked 21128 -[17339] Forked 21129 -(21128) found -(21129) found -[17338] Forked 21130 -[17337] Forked 21131 -(21130) found -(21131) found -[17336] Forked 21132 -[17335] Forked 21133 -(21132) found -(21133) found -[17334] Forked 21134 -(21134) found -[17333] Forked 21135 -(21135) found -[17332] Forked 21136 -(21136) found -[17331] Forked 21137 -(21137) found -[17330] Forked 21138 -(21138) found -[17329] Forked 21139 -(21139) found -[17328] Forked 21140 -(21140) found -[17327] Forked 21141 -(21141) found -[17326] Forked 21142 -(21142) found -[17325] Forked 21143 -(21143) found -[17324] Forked 21144 -(21144) found -[17323] Forked 21145 -(21145) found -[17322] Forked 21146 -(21146) found -[17321] Forked 21147 -(21147) found -[17320] Forked 21148 -(21148) found -[17319] Forked 21149 -(21149) found -[17318] Forked 21150 -(21150) found -[17317] Forked 21151 -(21151) found -[17316] Forked 21152 -(21152) found -[17315] Forked 21153 -(21153) found -[17314] Forked 21154 -(21154) found -[17313] Forked 21155 -(21155) found -[17312] Forked 21156 -(21156) found -[17311] Forked 21157 -(21157) found -[17310] Forked 21158 -(21158) found -[17309] Forked 21159 -(21159) found -[17308] Forked 21160 -(21160) found -[17307] Forked 21161 -(21161) found -[17306] Forked 21162 -(21162) found -[17305] Forked 21163 -(21163) found -[17304] Forked 21164 -(21164) found -[17303] Forked 21165 -(21165) found -[17302] Forked 21166 -(21166) found -[17301] Forked 21167 -(21167) found -[17300] Forked 21168 -(21168) found -[17299] Forked 21169 -[17298] Forked 21170 -(21169) found -(21170) found -[17297] Forked 21171 -[17296] Forked 21172 -(21171) found -(21172) found -[17295] Forked 21173 -[17294] Forked 21174 -(21173) found -(21174) found -[17293] Forked 21175 -[17292] Forked 21176 -(21175) found -(21176) found -[17291] Forked 21177 -[17290] Forked 21178 -(21177) found -(21178) found -[17289] Forked 21179 -[17288] Forked 21180 -(21179) found -(21180) found -[17287] Forked 21181 -[17286] Forked 21182 -(21181) found -(21182) found -[17285] Forked 21183 -[17284] Forked 21184 -(21183) found -(21184) found -[17283] Forked 21185 -[17282] Forked 21186 -(21185) found -(21186) found -[17281] Forked 21187 -[17280] Forked 21188 -(21187) found -(21188) found -[17279] Forked 21189 -[17278] Forked 21190 -(21189) found -(21190) found -[17277] Forked 21191 -[17276] Forked 21192 -(21191) found -(21192) found -[17275] Forked 21193 -[17274] Forked 21194 -(21193) found -(21194) found -[17273] Forked 21195 -[17272] Forked 21196 -(21195) found -(21196) found -[17271] Forked 21197 -[17270] Forked 21198 -(21197) found -(21198) found -[17269] Forked 21199 -[17268] Forked 21200 -(21199) found -(21200) found -[17267] Forked 21201 -[17266] Forked 21202 -(21201) found -(21202) found -[17265] Forked 21203 -[17264] Forked 21204 -(21203) found -(21204) found -[17263] Forked 21205 -[17262] Forked 21206 -(21205) found -(21206) found -[17261] Forked 21207 -[17260] Forked 21208 -(21207) found -(21208) found -[17259] Forked 21209 -[17258] Forked 21210 -(21209) found -(21210) found -[17257] Forked 21211 -[17256] Forked 21212 -(21211) found -(21212) found -[17255] Forked 21213 -[17254] Forked 21214 -(21213) found -(21214) found -[17253] Forked 21215 -(21215) found -[17252] Forked 21216 -(21216) found -[17251] Forked 21217 -(21217) found -[17250] Forked 21218 -(21218) found -[17249] Forked 21219 -(21219) found -[17248] Forked 21220 -(21220) found -[17247] Forked 21221 -(21221) found -[17246] Forked 21222 -(21222) found -[17245] Forked 21223 -(21223) found -[17244] Forked 21224 -(21224) found -[17243] Forked 21225 -(21225) found -[17242] Forked 21226 -(21226) found -[17241] Forked 21227 -(21227) found -[17240] Forked 21228 -(21228) found -[17239] Forked 21229 -(21229) found -[17238] Forked 21230 -(21230) found -[17237] Forked 21231 -(21231) found -[17236] Forked 21232 -(21232) found -[17235] Forked 21233 -(21233) found -[17234] Forked 21234 -(21234) found -[17233] Forked 21235 -(21235) found -[17232] Forked 21236 -(21236) found -[17231] Forked 21237 -(21237) found -[17230] Forked 21238 -(21238) found -[17229] Forked 21239 -(21239) found -[17228] Forked 21240 -(21240) found -[17227] Forked 21241 -(21241) found -[17226] Forked 21242 -(21242) found -[17225] Forked 21243 -(21243) found -[17224] Forked 21244 -(21244) found -[17223] Forked 21245 -(21245) found -[17222] Forked 21246 -(21246) found -[17221] Forked 21247 -(21247) found -[17220] Forked 21248 -(21248) found -[17219] Forked 21249 -(21249) found -[17218] Forked 21250 -[17217] Forked 21251 -(21250) found -(21251) found -[17216] Forked 21252 -(21252) found -[17215] Forked 21253 -(21253) found -[17214] Forked 21254 -(21254) found -[17213] Forked 21255 -[17212] Forked 21256 -(21255) found -(21256) found -[17211] Forked 21257 -[17210] Forked 21258 -(21257) found -(21258) found -[17209] Forked 21259 -[17208] Forked 21260 -(21259) found -(21260) found -[17207] Forked 21261 -[17206] Forked 21262 -(21261) found -(21262) found -[17205] Forked 21263 -[17204] Forked 21264 -(21263) found -(21264) found -[17203] Forked 21265 -[17202] Forked 21266 -(21265) found -(21266) found -[17201] Forked 21267 -[17200] Forked 21268 -(21267) found -(21268) found -[17199] Forked 21269 -[17198] Forked 21270 -(21269) found -(21270) found -[17197] Forked 21271 -[17196] Forked 21272 -(21271) found -(21272) found -[17195] Forked 21273 -[17194] Forked 21274 -(21273) found -(21274) found -[17193] Forked 21275 -[17192] Forked 21276 -(21275) found -(21276) found -[17191] Forked 21277 -[17190] Forked 21279 -(21277) found -(21279) found -[17189] Forked 21280 -(21280) found -[17188] Forked 21281 -(21281) found -[17187] Forked 21282 -(21282) found -[17186] Forked 21283 -(21283) found -[17185] Forked 21284 -(21284) found -[17184] Forked 21285 -(21285) found -[17183] Forked 21286 -(21286) found -[17182] Forked 21287 -(21287) found -[17181] Forked 21288 -(21288) found -[17180] Forked 21289 -(21289) found -[17179] Forked 21290 -(21290) found -[17178] Forked 21291 -(21291) found -[17177] Forked 21292 -(21292) found -[17176] Forked 21293 -(21293) found -[17175] Forked 21294 -(21294) found -[17174] Forked 21295 -(21295) found -[17173] Forked 21296 -(21296) found -[17172] Forked 21297 -(21297) found -[17171] Forked 21298 -(21298) found -[17170] Forked 21299 -(21299) found -[17169] Forked 21300 -(21300) found -[17168] Forked 21301 -(21301) found -[17167] Forked 21302 -(21302) found -[17166] Forked 21303 -(21303) found -[17165] Forked 21304 -(21304) found -[17164] Forked 21305 -(21305) found -[17163] Forked 21306 -(21306) found -[17162] Forked 21307 -(21307) found -[17161] Forked 21308 -(21308) found -[17160] Forked 21309 -(21309) found -[17159] Forked 21310 -(21310) found -[17158] Forked 21311 -(21311) found -[17157] Forked 21312 -(21312) found -[17156] Forked 21313 -(21313) found -[17155] Forked 21314 -(21314) found -[17154] Forked 21315 -(21315) found -[17153] Forked 21316 -(21316) found -[17152] Forked 21317 -(21317) found -[17151] Forked 21318 -(21318) found -[17150] Forked 21319 -(21319) found -[17149] Forked 21320 -(21320) found -[17148] Forked 21321 -(21321) found -[17147] Forked 21322 -(21322) found -[17146] Forked 21323 -(21323) found -[17145] Forked 21324 -(21324) found -[17144] Forked 21325 -(21325) found -[17143] Forked 21326 -(21326) found -[17142] Forked 21327 -(21327) found -[17141] Forked 21328 -(21328) found -[17140] Forked 21329 -(21329) found -[17139] Forked 21330 -(21330) found -[17138] Forked 21331 -(21331) found -[17137] Forked 21332 -[17136] Forked 21333 -(21332) found -(21333) found -[17135] Forked 21334 -[17134] Forked 21335 -(21334) found -(21335) found -[17133] Forked 21336 -[17132] Forked 21337 -(21336) found -(21337) found -[17131] Forked 21338 -[17130] Forked 21339 -(21338) found -(21339) found -[17129] Forked 21340 -[17128] Forked 21341 -(21340) found -(21341) found -[17127] Forked 21342 -[17126] Forked 21343 -(21342) found -(21343) found -[17125] Forked 21344 -[17124] Forked 21345 -(21344) found -(21345) found -[17123] Forked 21346 -[17122] Forked 21347 -(21346) found -(21347) found -[17121] Forked 21348 -[17120] Forked 21349 -(21348) found -(21349) found -[17119] Forked 21350 -[17118] Forked 21351 -(21350) found -(21351) found -[17117] Forked 21352 -[17116] Forked 21353 -(21352) found -(21353) found -[17115] Forked 21354 -[17114] Forked 21355 -(21354) found -(21355) found -[17113] Forked 21356 -[17112] Forked 21357 -(21356) found -(21357) found -[17111] Forked 21358 -[17110] Forked 21359 -(21358) found -(21359) found -[17109] Forked 21360 -[17108] Forked 21361 -(21360) found -(21361) found -[17107] Forked 21362 -[17106] Forked 21363 -(21362) found -(21363) found -[17105] Forked 21364 -[17104] Forked 21365 -(21364) found -(21365) found -[17103] Forked 21366 -[17102] Forked 21367 -(21366) found -(21367) found -[17101] Forked 21368 -[17100] Forked 21369 -(21368) found -(21369) found -[17099] Forked 21370 -[17098] Forked 21371 -(21370) found -(21371) found -[17097] Forked 21372 -[17096] Forked 21373 -(21372) found -(21373) found -[17095] Forked 21374 -[17094] Forked 21375 -(21374) found -(21375) found -[17093] Forked 21376 -[17092] Forked 21377 -(21376) found -(21377) found -[17091] Forked 21378 -[17090] Forked 21379 -(21379) found -(21378) found -[17089] Forked 21380 -(21380) found -[17088] Forked 21381 -(21381) found -[17087] Forked 21382 -(21382) found -[17086] Forked 21383 -(21383) found -[17085] Forked 21384 -(21384) found -[17084] Forked 21385 -(21385) found -[17083] Forked 21386 -(21386) found -[17082] Forked 21387 -(21387) found -[17081] Forked 21388 -(21388) found -[17080] Forked 21389 -(21389) found -[17079] Forked 21390 -(21390) found -[17078] Forked 21391 -(21391) found -[17077] Forked 21392 -(21392) found -[17076] Forked 21393 -(21393) found -[17075] Forked 21394 -(21394) found -[17074] Forked 21395 -(21395) found -[17073] Forked 21396 -(21396) found -[17072] Forked 21397 -(21397) found -[17071] Forked 21398 -(21398) found -[17070] Forked 21399 -(21399) found -[17069] Forked 21400 -(21400) found -[17068] Forked 21401 -(21401) found -[17067] Forked 21402 -(21402) found -[17066] Forked 21403 -(21403) found -[17065] Forked 21404 -(21404) found -[17064] Forked 21405 -(21405) found -[17063] Forked 21406 -(21406) found -[17062] Forked 21407 -(21407) found -[17061] Forked 21408 -(21408) found -[17060] Forked 21409 -(21409) found -[17059] Forked 21410 -(21410) found -[17058] Forked 21411 -(21411) found -[17057] Forked 21412 -(21412) found -[17056] Forked 21413 -[17055] Forked 21414 -(21413) found -(21414) found -[17054] Forked 21415 -[17053] Forked 21416 -(21415) found -(21416) found -[17052] Forked 21417 -[17051] Forked 21418 -(21417) found -(21418) found -[17050] Forked 21419 -[17049] Forked 21420 -(21419) found -(21420) found -[17048] Forked 21421 -[17047] Forked 21422 -(21421) found -(21422) found -[17046] Forked 21423 -[17045] Forked 21424 -(21423) found -(21424) found -[17044] Forked 21425 -[17043] Forked 21426 -(21425) found -(21426) found -[17042] Forked 21427 -[17041] Forked 21428 -(21427) found -(21428) found -[17040] Forked 21429 -[17039] Forked 21430 -(21429) found -(21430) found -[17038] Forked 21431 -[17037] Forked 21432 -(21431) found -(21432) found -[17036] Forked 21433 -[17035] Forked 21434 -(21433) found -(21434) found -[17034] Forked 21435 -[17033] Forked 21436 -(21435) found -(21436) found -[17032] Forked 21437 -[17031] Forked 21438 -(21437) found -(21438) found -[17030] Forked 21439 -[17029] Forked 21440 -(21439) found -(21440) found -[17028] Forked 21441 -[17027] Forked 21442 -(21441) found -(21442) found -[17026] Forked 21443 -[17025] Forked 21444 -(21443) found -(21444) found -[17024] Forked 21445 -[17023] Forked 21446 -(21445) found -(21446) found -[17022] Forked 21447 -[17021] Forked 21448 -(21447) found -(21448) found -[17020] Forked 21449 -[17019] Forked 21450 -(21449) found -(21450) found -[17018] Forked 21451 -[17017] Forked 21452 -(21451) found -(21452) found -[17016] Forked 21453 -[17015] Forked 21454 -(21454) found -(21453) found -[17014] Forked 21455 -(21455) found -[17013] Forked 21456 -(21456) found -[17012] Forked 21457 -(21457) found -[17011] Forked 21458 -(21458) found -[17010] Forked 21459 -(21459) found -[17009] Forked 21460 -(21460) found -[17008] Forked 21461 -(21461) found -[17007] Forked 21462 -(21462) found -[17006] Forked 21463 -(21463) found -[17005] Forked 21464 -(21464) found -[17004] Forked 21465 -(21465) found -[17003] Forked 21466 -(21466) found -[17002] Forked 21467 -(21467) found -[17001] Forked 21468 -(21468) found -[17000] Forked 21469 -(21469) found -[16999] Forked 21470 -(21470) found -[16998] Forked 21471 -(21471) found -[16997] Forked 21472 -(21472) found -[16996] Forked 21473 -(21473) found -[16995] Forked 21474 -(21474) found -[16994] Forked 21475 -(21475) found -[16993] Forked 21476 -(21476) found -[16992] Forked 21477 -(21477) found -[16991] Forked 21478 -(21478) found -[16990] Forked 21479 -(21479) found -[16989] Forked 21480 -(21480) found -[16988] Forked 21481 -(21481) found -[16987] Forked 21482 -(21482) found -[16986] Forked 21483 -(21483) found -[16985] Forked 21484 -(21484) found -[16984] Forked 21485 -(21485) found -[16983] Forked 21486 -(21486) found -[16982] Forked 21487 -(21487) found -[16981] Forked 21488 -(21488) found -[16980] Forked 21489 -(21489) found -[16979] Forked 21490 -[16978] Forked 21491 -(21490) found -(21491) found -[16977] Forked 21492 -[16976] Forked 21493 -(21492) found -(21493) found -[16975] Forked 21494 -[16974] Forked 21495 -(21494) found -(21495) found -[16973] Forked 21496 -[16972] Forked 21497 -(21496) found -(21497) found -[16971] Forked 21498 -[16970] Forked 21499 -(21498) found -(21499) found -[16969] Forked 21500 -[16968] Forked 21501 -(21500) found -(21501) found -[16967] Forked 21502 -[16966] Forked 21503 -(21502) found -(21503) found -[16965] Forked 21504 -[16964] Forked 21505 -(21504) found -(21505) found -[16963] Forked 21506 -[16962] Forked 21507 -(21506) found -(21507) found -[16961] Forked 21508 -[16960] Forked 21509 -(21508) found -(21509) found -[16959] Forked 21510 -[16958] Forked 21511 -(21510) found -(21511) found -[16957] Forked 21512 -[16956] Forked 21513 -(21512) found -(21513) found -[16955] Forked 21514 -[16954] Forked 21515 -(21514) found -(21515) found -[16953] Forked 21516 -[16952] Forked 21517 -(21516) found -(21517) found -[16951] Forked 21518 -[16950] Forked 21519 -(21518) found -(21519) found -[16949] Forked 21520 -[16948] Forked 21521 -(21520) found -(21521) found -[16947] Forked 21522 -[16946] Forked 21523 -(21522) found -(21523) found -[16945] Forked 21524 -[16944] Forked 21525 -(21524) found -(21525) found -[16943] Forked 21526 -[16942] Forked 21527 -(21526) found -(21527) found -[16941] Forked 21528 -[16940] Forked 21529 -(21528) found -(21529) found -[16939] Forked 21530 -[16938] Forked 21531 -(21530) found -(21531) found -[16937] Forked 21532 -[16936] Forked 21533 -(21532) found -(21533) found -[16935] Forked 21534 -[16934] Forked 21535 -(21534) found -(21535) found -[16933] Forked 21536 -[16932] Forked 21537 -(21536) found -(21537) found -[16931] Forked 21538 -[16930] Forked 21539 -(21538) found -(21539) found -[16929] Forked 21540 -[16928] Forked 21541 -(21540) found -(21541) found -[16927] Forked 21542 -[16926] Forked 21543 -(21542) found -(21543) found -[16925] Forked 21544 -[16924] Forked 21545 -(21544) found -(21545) found -[16923] Forked 21546 -[16922] Forked 21547 -(21546) found -(21547) found -[16921] Forked 21548 -[16920] Forked 21549 -(21548) found -(21549) found -[16919] Forked 21550 -[16918] Forked 21551 -(21550) found -(21551) found -[16917] Forked 21552 -[16916] Forked 21553 -(21552) found -(21553) found -[16915] Forked 21554 -[16914] Forked 21555 -(21554) found -(21555) found -[16913] Forked 21556 -[16912] Forked 21557 -(21556) found -(21557) found -[16911] Forked 21558 -[16910] Forked 21559 -(21558) found -(21559) found -[16909] Forked 21560 -[16908] Forked 21561 -(21560) found -(21561) found -[16907] Forked 21562 -[16906] Forked 21563 -(21562) found -(21563) found -[16905] Forked 21564 -[16904] Forked 21565 -(21564) found -(21565) found -[16903] Forked 21566 -[16902] Forked 21567 -(21566) found -(21567) found -[16901] Forked 21568 -[16900] Forked 21569 -(21568) found -(21569) found -[16899] Forked 21570 -[16898] Forked 21571 -(21570) found -(21571) found -[16897] Forked 21572 -[16896] Forked 21573 -(21572) found -(21573) found -[16895] Forked 21574 -[16894] Forked 21575 -(21574) found -(21575) found -[16893] Forked 21576 -[16892] Forked 21577 -(21576) found -(21577) found -[16891] Forked 21578 -[16890] Forked 21579 -(21578) found -(21579) found -[16889] Forked 21580 -[16888] Forked 21581 -(21580) found -(21581) found -[16887] Forked 21582 -[16886] Forked 21583 -(21582) found -(21583) found -[16885] Forked 21584 -[16884] Forked 21585 -(21584) found -(21585) found -[16883] Forked 21586 -[16882] Forked 21587 -(21586) found -(21587) found -[16881] Forked 21588 -[16880] Forked 21589 -(21588) found -(21589) found -[16879] Forked 21590 -[16878] Forked 21591 -(21590) found -(21591) found -[16877] Forked 21592 -[16876] Forked 21593 -(21592) found -(21593) found -[16875] Forked 21594 -[16874] Forked 21595 -(21594) found -(21595) found -[16873] Forked 21596 -[16872] Forked 21597 -(21596) found -(21597) found -[16871] Forked 21598 -[16870] Forked 21599 -(21598) found -(21599) found -[16869] Forked 21600 -[16868] Forked 21601 -(21600) found -(21601) found -[16867] Forked 21602 -[16866] Forked 21603 -(21602) found -(21603) found -[16865] Forked 21604 -[16864] Forked 21605 -(21604) found -(21605) found -[16863] Forked 21606 -[16862] Forked 21607 -(21606) found -(21607) found -[16861] Forked 21608 -[16860] Forked 21609 -(21608) found -(21609) found -[16859] Forked 21610 -[16858] Forked 21611 -(21610) found -(21611) found -[16857] Forked 21612 -[16856] Forked 21613 -(21612) found -(21613) found -[16855] Forked 21614 -[16854] Forked 21615 -(21614) found -(21615) found -[16853] Forked 21616 -[16852] Forked 21617 -(21616) found -(21617) found -[16851] Forked 21618 -[16850] Forked 21619 -(21618) found -(21619) found -[16849] Forked 21620 -[16848] Forked 21621 -(21620) found -(21621) found -[16847] Forked 21622 -[16846] Forked 21623 -(21622) found -(21623) found -[16845] Forked 21624 -[16844] Forked 21625 -(21624) found -(21625) found -[16843] Forked 21626 -[16842] Forked 21627 -(21626) found -(21627) found -[16841] Forked 21628 -[16840] Forked 21630 -(21628) found -(21630) found -[16839] Forked 21631 -(21631) found -[16838] Forked 21632 -(21632) found -[16837] Forked 21633 -(21633) found -[16836] Forked 21634 -(21634) found -[16835] Forked 21635 -(21635) found -[16834] Forked 21636 -(21636) found -[16833] Forked 21637 -(21637) found -[16832] Forked 21638 -(21638) found -[16831] Forked 21639 -(21639) found -[16830] Forked 21640 -(21640) found -[16829] Forked 21641 -(21641) found -[16828] Forked 21642 -(21642) found -[16827] Forked 21643 -(21643) found -[16826] Forked 21644 -(21644) found -[16825] Forked 21645 -(21645) found -[16824] Forked 21646 -(21646) found -[16823] Forked 21647 -(21647) found -[16822] Forked 21648 -(21648) found -[16821] Forked 21649 -(21649) found -[16820] Forked 21650 -(21650) found -[16819] Forked 21651 -(21651) found -[16818] Forked 21652 -(21652) found -[16817] Forked 21653 -(21653) found -[16816] Forked 21654 -(21654) found -[16815] Forked 21655 -(21655) found -[16814] Forked 21656 -(21656) found -[16813] Forked 21657 -(21657) found -[16812] Forked 21658 -(21658) found -[16811] Forked 21659 -(21659) found -[16810] Forked 21660 -[16809] Forked 21661 -(21660) found -(21661) found -[16808] Forked 21662 -[16807] Forked 21663 -(21662) found -(21663) found -[16806] Forked 21664 -[16805] Forked 21665 -(21664) found -(21665) found -[16804] Forked 21666 -[16803] Forked 21667 -(21666) found -(21667) found -[16802] Forked 21668 -[16801] Forked 21669 -(21668) found -(21669) found -[16800] Forked 21670 -[16799] Forked 21671 -(21670) found -(21671) found -[16798] Forked 21672 -[16797] Forked 21673 -(21672) found -(21673) found -[16796] Forked 21674 -[16795] Forked 21675 -(21674) found -(21675) found -[16794] Forked 21676 -[16793] Forked 21677 -(21676) found -(21677) found -[16792] Forked 21678 -[16791] Forked 21679 -(21678) found -(21679) found -[16790] Forked 21680 -[16789] Forked 21681 -(21680) found -(21681) found -[16788] Forked 21682 -[16787] Forked 21683 -(21682) found -(21683) found -[16786] Forked 21684 -[16785] Forked 21685 -(21684) found -(21685) found -[16784] Forked 21686 -[16783] Forked 21687 -(21686) found -(21687) found -[16782] Forked 21688 -[16781] Forked 21689 -(21688) found -(21689) found -[16780] Forked 21690 -[16779] Forked 21691 -(21690) found -(21691) found -[16778] Forked 21692 -[16777] Forked 21693 -(21692) found -(21693) found -[16776] Forked 21694 -[16775] Forked 21695 -(21694) found -(21695) found -[16774] Forked 21696 -[16773] Forked 21697 -(21696) found -(21697) found -[16772] Forked 21698 -(21698) found -[16771] Forked 21699 -[16770] Forked 21700 -(21699) found -(21700) found -[16769] Forked 21701 -[16768] Forked 21702 -(21701) found -(21702) found -[16767] Forked 21703 -[16766] Forked 21704 -(21703) found -(21704) found -[16765] Forked 21705 -[16764] Forked 21706 -(21705) found -(21706) found -[16763] Forked 21707 -[16762] Forked 21708 -(21707) found -(21708) found -[16761] Forked 21709 -[16760] Forked 21710 -(21709) found -(21710) found -[16759] Forked 21711 -[16758] Forked 21712 -(21711) found -(21712) found -[16757] Forked 21713 -[16756] Forked 21714 -(21713) found -(21714) found -[16755] Forked 21715 -[16754] Forked 21716 -(21715) found -(21716) found -[16753] Forked 21717 -[16752] Forked 21718 -(21717) found -(21718) found -[16751] Forked 21719 -[16750] Forked 21720 -(21719) found -(21720) found -[16749] Forked 21721 -[16748] Forked 21722 -(21721) found -(21722) found -[16747] Forked 21723 -[16746] Forked 21724 -(21723) found -(21724) found -[16745] Forked 21725 -[16744] Forked 21726 -(21725) found -(21726) found -[16743] Forked 21727 -[16742] Forked 21728 -(21727) found -(21728) found -[16741] Forked 21729 -[16740] Forked 21730 -(21729) found -(21730) found -[16739] Forked 21731 -[16738] Forked 21732 -(21731) found -(21732) found -[16737] Forked 21733 -[16736] Forked 21734 -(21733) found -(21734) found -[16735] Forked 21735 -[16734] Forked 21736 -(21735) found -(21736) found -[16733] Forked 21737 -[16732] Forked 21738 -(21737) found -(21738) found -[16731] Forked 21739 -[16730] Forked 21740 -(21739) found -(21740) found -[16729] Forked 21741 -[16728] Forked 21742 -(21741) found -(21742) found -[16727] Forked 21743 -[16726] Forked 21744 -(21743) found -(21744) found -[16725] Forked 21745 -[16724] Forked 21746 -(21745) found -(21746) found -[16723] Forked 21747 -[16722] Forked 21749 -(21747) found -(21749) found -[16721] Forked 21750 -(21750) found -[16720] Forked 21751 -(21751) found -[16719] Forked 21752 -(21752) found -[16718] Forked 21753 -(21753) found -[16717] Forked 21754 -(21754) found -[16716] Forked 21755 -(21755) found -[16715] Forked 21756 -(21756) found -[16714] Forked 21757 -(21757) found -[16713] Forked 21758 -(21758) found -[16712] Forked 21759 -(21759) found -[16711] Forked 21760 -(21760) found -[16710] Forked 21761 -(21761) found -[16709] Forked 21762 -(21762) found -[16708] Forked 21763 -(21763) found -[16707] Forked 21764 -(21764) found -[16706] Forked 21765 -(21765) found -[16705] Forked 21766 -(21766) found -[16704] Forked 21767 -(21767) found -[16703] Forked 21768 -(21768) found -[16702] Forked 21769 -(21769) found -[16701] Forked 21770 -(21770) found -[16700] Forked 21771 -(21771) found -[16699] Forked 21772 -(21772) found -[16698] Forked 21773 -(21773) found -[16697] Forked 21774 -(21774) found -[16696] Forked 21775 -(21775) found -[16695] Forked 21776 -(21776) found -[16694] Forked 21777 -(21777) found -[16693] Forked 21778 -(21778) found -[16692] Forked 21779 -(21779) found -[16691] Forked 21780 -(21780) found -[16690] Forked 21781 -(21781) found -[16689] Forked 21782 -(21782) found -[16688] Forked 21783 -(21783) found -[16687] Forked 21784 -(21784) found -[16686] Forked 21785 -(21785) found -[16685] Forked 21786 -(21786) found -[16684] Forked 21787 -[16683] Forked 21788 -(21787) found -(21788) found -[16682] Forked 21789 -[16681] Forked 21790 -(21789) found -(21790) found -[16680] Forked 21791 -[16679] Forked 21792 -(21791) found -(21792) found -[16678] Forked 21793 -[16677] Forked 21794 -(21793) found -(21794) found -[16676] Forked 21795 -[16675] Forked 21796 -(21795) found -(21796) found -[16674] Forked 21797 -[16673] Forked 21798 -(21797) found -(21798) found -[16672] Forked 21799 -[16671] Forked 21800 -(21799) found -(21800) found -[16670] Forked 21801 -[16669] Forked 21802 -(21801) found -(21802) found -[16668] Forked 21803 -[16667] Forked 21804 -(21803) found -(21804) found -[16666] Forked 21805 -[16665] Forked 21806 -(21805) found -(21806) found -[16664] Forked 21807 -[16663] Forked 21808 -(21807) found -(21808) found -[16662] Forked 21809 -[16661] Forked 21810 -(21809) found -(21810) found -[16660] Forked 21811 -[16659] Forked 21812 -(21811) found -(21812) found -[16658] Forked 21813 -[16657] Forked 21814 -(21813) found -(21814) found -[16656] Forked 21815 -[16655] Forked 21816 -(21815) found -(21816) found -[16654] Forked 21817 -[16653] Forked 21818 -(21817) found -(21818) found -[16652] Forked 21819 -[16651] Forked 21820 -(21819) found -(21820) found -[16650] Forked 21821 -[16649] Forked 21822 -(21821) found -(21822) found -[16648] Forked 21823 -[16647] Forked 21824 -(21823) found -(21824) found -[16646] Forked 21825 -[16645] Forked 21826 -(21825) found -(21826) found -[16644] Forked 21827 -[16643] Forked 21828 -(21827) found -(21828) found -[16642] Forked 21829 -[16641] Forked 21830 -(21829) found -(21830) found -[16640] Forked 21831 -[16639] Forked 21832 -(21831) found -(21832) found -[16638] Forked 21833 -[16637] Forked 21834 -(21833) found -(21834) found -[16636] Forked 21835 -[16635] Forked 21836 -(21835) found -(21836) found -[16634] Forked 21837 -[16633] Forked 21838 -(21837) found -(21838) found -[16632] Forked 21839 -[16631] Forked 21840 -(21839) found -(21840) found -[16630] Forked 21841 -[16629] Forked 21842 -(21841) found -(21842) found -[16628] Forked 21843 -[16627] Forked 21844 -(21843) found -(21844) found -[16626] Forked 21845 -[16625] Forked 21846 -(21845) found -(21846) found -[16624] Forked 21847 -[16623] Forked 21848 -(21847) found -(21848) found -[16622] Forked 21849 -[16621] Forked 21850 -(21849) found -(21850) found -[16620] Forked 21851 -[16619] Forked 21852 -(21851) found -(21852) found -[16618] Forked 21853 -[16617] Forked 21854 -(21853) found -(21854) found -[16616] Forked 21855 -[16615] Forked 21856 -(21855) found -(21856) found -[16614] Forked 21857 -[16613] Forked 21858 -(21857) found -(21858) found -[16612] Forked 21859 -[16611] Forked 21860 -(21859) found -(21860) found -[16610] Forked 21861 -[16609] Forked 21862 -(21861) found -(21862) found -[16608] Forked 21863 -[16607] Forked 21864 -(21863) found -(21864) found -[16606] Forked 21865 -[16605] Forked 21867 -(21865) found -(21867) found -[16604] Forked 21868 -(21868) found -[16603] Forked 21869 -(21869) found -[16602] Forked 21870 -(21870) found -[16601] Forked 21871 -(21871) found -[16600] Forked 21872 -(21872) found -[16599] Forked 21873 -(21873) found -[16598] Forked 21874 -(21874) found -[16597] Forked 21875 -(21875) found -[16596] Forked 21876 -(21876) found -[16595] Forked 21877 -(21877) found -[16594] Forked 21878 -(21878) found -[16593] Forked 21879 -(21879) found -[16592] Forked 21880 -(21880) found -[16591] Forked 21881 -(21881) found -[16590] Forked 21882 -(21882) found -[16589] Forked 21883 -(21883) found -[16588] Forked 21884 -(21884) found -[16587] Forked 21885 -(21885) found -[16586] Forked 21886 -(21886) found -[16585] Forked 21887 -(21887) found -[16584] Forked 21888 -(21888) found -[16583] Forked 21889 -(21889) found -[16582] Forked 21890 -(21890) found -[16581] Forked 21891 -(21891) found -[16580] Forked 21892 -(21892) found -[16579] Forked 21893 -(21893) found -[16578] Forked 21894 -(21894) found -[16577] Forked 21895 -(21895) found -[16576] Forked 21896 -(21896) found -[16575] Forked 21897 -(21897) found -[16574] Forked 21898 -(21898) found -[16573] Forked 21899 -(21899) found -[16572] Forked 21900 -(21900) found -[16571] Forked 21901 -(21901) found -[16570] Forked 21902 -(21902) found -[16569] Forked 21903 -(21903) found -[16568] Forked 21904 -(21904) found -[16567] Forked 21905 -(21905) found -[16566] Forked 21906 -(21906) found -[16565] Forked 21907 -(21907) found -[16564] Forked 21908 -(21908) found -[16563] Forked 21909 -(21909) found -[16562] Forked 21910 -(21910) found -[16561] Forked 21911 -(21911) found -[16560] Forked 21912 -(21912) found -[16559] Forked 21913 -(21913) found -[16558] Forked 21914 -[16557] Forked 21915 -(21914) found -(21915) found -[16556] Forked 21916 -[16555] Forked 21917 -(21916) found -(21917) found -[16554] Forked 21918 -[16553] Forked 21919 -(21918) found -(21919) found -[16552] Forked 21920 -[16551] Forked 21921 -(21920) found -(21921) found -[16550] Forked 21922 -[16549] Forked 21923 -(21922) found -(21923) found -[16548] Forked 21924 -[16547] Forked 21925 -(21924) found -(21925) found -[16546] Forked 21926 -[16545] Forked 21927 -(21926) found -(21927) found -[16544] Forked 21928 -[16543] Forked 21929 -(21928) found -(21929) found -[16542] Forked 21930 -[16541] Forked 21931 -(21930) found -(21931) found -[16540] Forked 21932 -[16539] Forked 21933 -(21932) found -(21933) found -[16538] Forked 21934 -[16537] Forked 21935 -(21934) found -(21935) found -[16536] Forked 21936 -[16535] Forked 21937 -(21936) found -(21937) found -[16534] Forked 21938 -[16533] Forked 21939 -(21938) found -(21939) found -[16532] Forked 21940 -[16531] Forked 21941 -(21940) found -(21941) found -[16530] Forked 21942 -[16529] Forked 21943 -(21942) found -(21943) found -[16528] Forked 21944 -[16527] Forked 21945 -(21944) found -(21945) found -[16526] Forked 21946 -[16525] Forked 21947 -(21946) found -(21947) found -[16524] Forked 21948 -[16523] Forked 21949 -(21948) found -(21949) found -[16522] Forked 21950 -[16521] Forked 21951 -(21950) found -(21951) found -[16520] Forked 21952 -[16519] Forked 21953 -(21952) found -(21953) found -[16518] Forked 21954 -[16517] Forked 21955 -(21954) found -(21955) found -[16516] Forked 21956 -[16515] Forked 21957 -(21956) found -(21957) found -[16514] Forked 21958 -(21958) found -[16513] Forked 21959 -(21959) found -[16512] Forked 21960 -(21960) found -[16511] Forked 21961 -(21961) found -[16510] Forked 21962 -(21962) found -[16509] Forked 21963 -(21963) found -[16508] Forked 21964 -(21964) found -[16507] Forked 21965 -(21965) found -[16506] Forked 21966 -(21966) found -[16505] Forked 21967 -(21967) found -[16504] Forked 21968 -(21968) found -[16503] Forked 21969 -(21969) found -[16502] Forked 21970 -(21970) found -[16501] Forked 21971 -(21971) found -[16500] Forked 21972 -(21972) found -[16499] Forked 21973 -(21973) found -[16498] Forked 21974 -(21974) found -[16497] Forked 21975 -(21975) found -[16496] Forked 21976 -(21976) found -[16495] Forked 21977 -(21977) found -[16494] Forked 21978 -(21978) found -[16493] Forked 21979 -(21979) found -[16492] Forked 21980 -(21980) found -[16491] Forked 21981 -(21981) found -[16490] Forked 21982 -(21982) found -[16489] Forked 21983 -(21983) found -[16488] Forked 21984 -(21984) found -[16487] Forked 21985 -(21985) found -[16486] Forked 21986 -(21986) found -[16485] Forked 21987 -(21987) found -[16484] Forked 21988 -(21988) found -[16483] Forked 21989 -(21989) found -[16482] Forked 21990 -(21990) found -[16481] Forked 21991 -(21991) found -[16480] Forked 21992 -(21992) found -[16479] Forked 21993 -(21993) found -[16478] Forked 21994 -(21994) found -[16477] Forked 21995 -[16476] Forked 21996 -(21995) found -(21996) found -[16475] Forked 21997 -[16474] Forked 21998 -(21997) found -(21998) found -[16473] Forked 21999 -[16472] Forked 22000 -(21999) found -(22000) found -[16471] Forked 22001 -[16470] Forked 22002 -(22001) found -(22002) found -[16469] Forked 22003 -[16468] Forked 22004 -(22003) found -(22004) found -[16467] Forked 22005 -[16466] Forked 22006 -(22005) found -(22006) found -[16465] Forked 22007 -[16464] Forked 22008 -(22007) found -(22008) found -[16463] Forked 22009 -[16462] Forked 22010 -(22009) found -(22010) found -[16461] Forked 22011 -[16460] Forked 22012 -(22011) found -(22012) found -[16459] Forked 22013 -[16458] Forked 22014 -(22013) found -(22014) found -[16457] Forked 22015 -[16456] Forked 22016 -(22015) found -(22016) found -[16455] Forked 22017 -[16454] Forked 22018 -(22017) found -(22018) found -[16453] Forked 22019 -[16452] Forked 22020 -(22019) found -(22020) found -[16451] Forked 22021 -[16450] Forked 22022 -(22021) found -(22022) found -[16449] Forked 22023 -[16448] Forked 22024 -(22023) found -(22024) found -[16447] Forked 22025 -[16446] Forked 22026 -(22025) found -(22026) found -[16445] Forked 22027 -[16444] Forked 22028 -(22027) found -(22028) found -[16443] Forked 22029 -[16442] Forked 22030 -(22029) found -(22030) found -[16441] Forked 22031 -[16440] Forked 22032 -(22031) found -(22032) found -[16439] Forked 22033 -[16438] Forked 22034 -(22033) found -(22034) found -[16437] Forked 22035 -[16436] Forked 22037 -(22035) found -(22037) found -[16435] Forked 22038 -(22038) found -[16434] Forked 22039 -(22039) found -[16433] Forked 22040 -(22040) found -[16432] Forked 22041 -(22041) found -[16431] Forked 22042 -(22042) found -[16430] Forked 22043 -(22043) found -[16429] Forked 22044 -(22044) found -[16428] Forked 22045 -(22045) found -[16427] Forked 22046 -(22046) found -[16426] Forked 22047 -(22047) found -[16425] Forked 22048 -(22048) found -[16424] Forked 22049 -(22049) found -[16423] Forked 22050 -(22050) found -[16422] Forked 22051 -(22051) found -[16421] Forked 22052 -(22052) found -[16420] Forked 22053 -(22053) found -[16419] Forked 22054 -(22054) found -[16418] Forked 22055 -(22055) found -[16417] Forked 22056 -(22056) found -[16416] Forked 22057 -(22057) found -[16415] Forked 22058 -(22058) found -[16414] Forked 22059 -(22059) found -[16413] Forked 22060 -(22060) found -[16412] Forked 22061 -(22061) found -[16411] Forked 22062 -(22062) found -[16410] Forked 22063 -(22063) found -[16409] Forked 22064 -(22064) found -[16408] Forked 22065 -(22065) found -[16407] Forked 22066 -(22066) found -[16406] Forked 22067 -(22067) found -[16405] Forked 22068 -(22068) found -[16404] Forked 22069 -(22069) found -[16403] Forked 22070 -(22070) found -[16402] Forked 22071 -(22071) found -[16401] Forked 22072 -(22072) found -[16400] Forked 22073 -(22073) found -[16399] Forked 22074 -(22074) found -[16398] Forked 22075 -(22075) found -[16397] Forked 22076 -(22076) found -[16396] Forked 22077 -[16395] Forked 22078 -(22077) found -(22078) found -[16394] Forked 22079 -[16393] Forked 22080 -(22079) found -(22080) found -[16392] Forked 22081 -[16391] Forked 22082 -(22081) found -(22082) found -[16390] Forked 22083 -[16389] Forked 22084 -(22083) found -(22084) found -[16388] Forked 22085 -[16387] Forked 22086 -(22085) found -(22086) found -[16386] Forked 22087 -[16385] Forked 22088 -(22087) found -(22088) found -[16384] Forked 22089 -[16383] Forked 22090 -(22089) found -(22090) found -[16382] Forked 22091 -[16381] Forked 22092 -(22091) found -(22092) found -[16380] Forked 22093 -[16379] Forked 22094 -(22093) found -(22094) found -[16378] Forked 22095 -[16377] Forked 22096 -(22095) found -(22096) found -[16376] Forked 22097 -[16375] Forked 22098 -(22097) found -(22098) found -[16374] Forked 22099 -[16373] Forked 22100 -(22099) found -(22100) found -[16372] Forked 22101 -[16371] Forked 22102 -(22101) found -(22102) found -[16370] Forked 22103 -[16369] Forked 22104 -(22103) found -(22104) found -[16368] Forked 22105 -[16367] Forked 22106 -(22105) found -(22106) found -[16366] Forked 22107 -[16365] Forked 22108 -(22107) found -(22108) found -[16364] Forked 22109 -[16363] Forked 22110 -(22109) found -(22110) found -[16362] Forked 22111 -[16361] Forked 22112 -(22111) found -(22112) found -[16360] Forked 22113 -[16359] Forked 22114 -(22113) found -(22114) found -[16358] Forked 22115 -[16357] Forked 22116 -(22115) found -(22116) found -[16356] Forked 22117 -[16355] Forked 22118 -(22117) found -(22118) found -[16354] Forked 22119 -[16353] Forked 22120 -(22119) found -(22120) found -[16352] Forked 22121 -[16351] Forked 22123 -(22121) found -(22123) found -[16350] Forked 22124 -(22124) found -[16349] Forked 22125 -(22125) found -[16348] Forked 22126 -(22126) found -[16347] Forked 22127 -(22127) found -[16346] Forked 22128 -(22128) found -[16345] Forked 22129 -(22129) found -[16344] Forked 22130 -(22130) found -[16343] Forked 22131 -(22131) found -[16342] Forked 22132 -(22132) found -[16341] Forked 22133 -(22133) found -[16340] Forked 22134 -(22134) found -[16339] Forked 22135 -(22135) found -[16338] Forked 22136 -(22136) found -[16337] Forked 22137 -(22137) found -[16336] Forked 22138 -(22138) found -[16335] Forked 22139 -(22139) found -[16334] Forked 22140 -(22140) found -[16333] Forked 22141 -(22141) found -[16332] Forked 22142 -(22142) found -[16331] Forked 22143 -(22143) found -[16330] Forked 22144 -(22144) found -[16329] Forked 22145 -(22145) found -[16328] Forked 22146 -(22146) found -[16327] Forked 22147 -(22147) found -[16326] Forked 22148 -(22148) found -[16325] Forked 22149 -(22149) found -[16324] Forked 22150 -(22150) found -[16323] Forked 22151 -(22151) found -[16322] Forked 22152 -(22152) found -[16321] Forked 22153 -(22153) found -[16320] Forked 22154 -(22154) found -[16319] Forked 22155 -(22155) found -[16318] Forked 22156 -(22156) found -[16317] Forked 22157 -(22157) found -[16316] Forked 22158 -(22158) found -[16315] Forked 22159 -(22159) found -[16314] Forked 22160 -(22160) found -[16313] Forked 22161 -(22161) found -[16312] Forked 22162 -(22162) found -[16311] Forked 22163 -(22163) found -[16310] Forked 22164 -(22164) found -[16309] Forked 22165 -(22165) found -[16308] Forked 22166 -(22166) found -[16307] Forked 22167 -(22167) found -[16306] Forked 22168 -(22168) found -[16305] Forked 22169 -(22169) found -[16304] Forked 22170 -(22170) found -[16303] Forked 22171 -(22171) found -[16302] Forked 22172 -(22172) found -[16301] Forked 22173 -(22173) found -[16300] Forked 22174 -(22174) found -[16299] Forked 22175 -(22175) found -[16298] Forked 22176 -(22176) found -[16297] Forked 22177 -(22177) found -[16296] Forked 22178 -(22178) found -[16295] Forked 22179 -(22179) found -[16294] Forked 22180 -(22180) found -[16293] Forked 22181 -(22181) found -[16292] Forked 22182 -(22182) found -[16291] Forked 22183 -(22183) found -[16290] Forked 22184 -(22184) found -[16289] Forked 22185 -(22185) found -[16288] Forked 22186 -(22186) found -[16287] Forked 22187 -(22187) found -[16286] Forked 22188 -(22188) found -[16285] Forked 22189 -(22189) found -[16284] Forked 22190 -(22190) found -[16283] Forked 22191 -(22191) found -[16282] Forked 22192 -(22192) found -[16281] Forked 22193 -(22193) found -[16280] Forked 22194 -[16279] Forked 22195 -(22194) found -(22195) found -[16278] Forked 22196 -[16277] Forked 22197 -(22196) found -(22197) found -[16276] Forked 22198 -[16275] Forked 22199 -(22198) found -(22199) found -[16274] Forked 22200 -[16273] Forked 22201 -(22200) found -(22201) found -[16272] Forked 22202 -[16271] Forked 22203 -(22202) found -(22203) found -[16270] Forked 22204 -[16269] Forked 22205 -(22204) found -(22205) found -[16268] Forked 22206 -[16267] Forked 22207 -(22206) found -(22207) found -[16266] Forked 22208 -[16265] Forked 22209 -(22208) found -(22209) found -[16264] Forked 22210 -[16263] Forked 22211 -(22210) found -(22211) found -[16262] Forked 22212 -[16261] Forked 22213 -(22212) found -(22213) found -[16260] Forked 22214 -[16259] Forked 22215 -(22214) found -(22215) found -[16258] Forked 22216 -[16257] Forked 22217 -(22216) found -(22217) found -[16256] Forked 22218 -[16255] Forked 22220 -(22218) found -(22220) found -[16254] Forked 22221 -(22221) found -[16253] Forked 22222 -(22222) found -[16252] Forked 22223 -(22223) found -[16251] Forked 22224 -(22224) found -[16250] Forked 22225 -(22225) found -[16249] Forked 22226 -(22226) found -[16248] Forked 22227 -(22227) found -[16247] Forked 22228 -(22228) found -[16246] Forked 22229 -(22229) found -[16245] Forked 22230 -(22230) found -[16244] Forked 22231 -(22231) found -[16243] Forked 22232 -(22232) found -[16242] Forked 22233 -(22233) found -[16241] Forked 22234 -(22234) found -[16240] Forked 22235 -(22235) found -[16239] Forked 22236 -(22236) found -[16238] Forked 22237 -(22237) found -[16237] Forked 22238 -(22238) found -[16236] Forked 22239 -(22239) found -[16235] Forked 22240 -(22240) found -[16234] Forked 22241 -(22241) found -[16233] Forked 22242 -(22242) found -[16232] Forked 22243 -(22243) found -[16231] Forked 22244 -(22244) found -[16230] Forked 22245 -(22245) found -[16229] Forked 22246 -(22246) found -[16228] Forked 22247 -(22247) found -[16227] Forked 22248 -(22248) found -[16226] Forked 22249 -(22249) found -[16225] Forked 22250 -(22250) found -[16224] Forked 22251 -(22251) found -[16223] Forked 22252 -(22252) found -[16222] Forked 22253 -(22253) found -[16221] Forked 22254 -(22254) found -[16220] Forked 22255 -(22255) found -[16219] Forked 22256 -(22256) found -[16218] Forked 22257 -(22257) found -[16217] Forked 22258 -(22258) found -[16216] Forked 22259 -(22259) found -[16215] Forked 22260 -(22260) found -[16214] Forked 22261 -(22261) found -[16213] Forked 22262 -(22262) found -[16212] Forked 22263 -(22263) found -[16211] Forked 22264 -(22264) found -[16210] Forked 22265 -(22265) found -[16209] Forked 22266 -(22266) found -[16208] Forked 22267 -(22267) found -[16207] Forked 22268 -(22268) found -[16206] Forked 22269 -(22269) found -[16205] Forked 22270 -(22270) found -[16204] Forked 22271 -(22271) found -[16203] Forked 22272 -(22272) found -[16202] Forked 22273 -(22273) found -[16201] Forked 22274 -(22274) found -[16200] Forked 22275 -(22275) found -[16199] Forked 22276 -(22276) found -[16198] Forked 22277 -(22277) found -[16197] Forked 22278 -(22278) found -[16196] Forked 22279 -(22279) found -[16195] Forked 22280 -(22280) found -[16194] Forked 22281 -(22281) found -[16193] Forked 22282 -(22282) found -[16192] Forked 22283 -(22283) found -[16191] Forked 22284 -(22284) found -[16190] Forked 22285 -(22285) found -[16189] Forked 22286 -(22286) found -[16188] Forked 22287 -(22287) found -[16187] Forked 22288 -(22288) found -[16186] Forked 22289 -(22289) found -[16185] Forked 22290 -(22290) found -[16184] Forked 22291 -(22291) found -[16183] Forked 22292 -(22292) found -[16182] Forked 22293 -(22293) found -[16181] Forked 22294 -(22294) found -[16180] Forked 22295 -(22295) found -[16179] Forked 22296 -(22296) found -[16178] Forked 22297 -(22297) found -[16177] Forked 22298 -(22298) found -[16176] Forked 22299 -(22299) found -[16175] Forked 22300 -(22300) found -[16174] Forked 22301 -(22301) found -[16173] Forked 22302 -(22302) found -[16172] Forked 22303 -(22303) found -[16171] Forked 22304 -(22304) found -[16170] Forked 22305 -(22305) found -[16169] Forked 22306 -(22306) found -[16168] Forked 22307 -[16167] Forked 22308 -(22307) found -(22308) found -[16166] Forked 22309 -[16165] Forked 22310 -(22309) found -(22310) found -[16164] Forked 22311 -[16163] Forked 22312 -(22311) found -(22312) found -[16162] Forked 22313 -[16161] Forked 22314 -(22313) found -(22314) found -[16160] Forked 22315 -[16159] Forked 22316 -(22315) found -(22316) found -[16158] Forked 22317 -[16157] Forked 22318 -(22317) found -(22318) found -[16156] Forked 22319 -[16155] Forked 22320 -(22319) found -(22320) found -[16154] Forked 22321 -[16153] Forked 22322 -(22321) found -(22322) found -[16152] Forked 22323 -[16151] Forked 22324 -(22323) found -(22324) found -[16150] Forked 22325 -[16149] Forked 22326 -(22325) found -(22326) found -[16148] Forked 22327 -[16147] Forked 22328 -(22327) found -(22328) found -[16146] Forked 22329 -[16145] Forked 22330 -(22329) found -(22330) found -[16144] Forked 22331 -[16143] Forked 22332 -(22331) found -(22332) found -[16142] Forked 22333 -[16141] Forked 22334 -(22333) found -(22334) found -[16140] Forked 22335 -[16139] Forked 22336 -(22335) found -(22336) found -[16138] Forked 22337 -[16137] Forked 22338 -(22337) found -(22338) found -[16136] Forked 22339 -[16135] Forked 22340 -(22339) found -(22340) found -[16134] Forked 22341 -[16133] Forked 22342 -(22341) found -(22342) found -[16132] Forked 22343 -[16131] Forked 22344 -(22343) found -(22344) found -[16130] Forked 22345 -[16129] Forked 22346 -(22345) found -(22346) found -[16128] Forked 22347 -(22347) found -[16127] Forked 22348 -[16126] Forked 22349 -(22348) found -(22349) found -[16125] Forked 22350 -[16124] Forked 22351 -(22350) found -(22351) found -[16123] Forked 22352 -[16122] Forked 22353 -(22352) found -(22353) found -[16121] Forked 22354 -[16120] Forked 22355 -(22354) found -(22355) found -[16119] Forked 22356 -[16118] Forked 22357 -(22356) found -(22357) found -[16117] Forked 22358 -[16116] Forked 22359 -(22358) found -(22359) found -[16115] Forked 22360 -[16114] Forked 22361 -(22360) found -(22361) found -[16113] Forked 22362 -[16112] Forked 22363 -(22362) found -(22363) found -[16111] Forked 22364 -[16110] Forked 22365 -(22364) found -(22365) found -[16109] Forked 22366 -[16108] Forked 22367 -(22366) found -(22367) found -[16107] Forked 22368 -[16106] Forked 22369 -(22368) found -(22369) found -[16105] Forked 22370 -[16104] Forked 22371 -(22370) found -(22371) found -[16103] Forked 22372 -[16102] Forked 22373 -(22372) found -(22373) found -[16101] Forked 22374 -[16100] Forked 22375 -(22374) found -(22375) found -[16099] Forked 22376 -[16098] Forked 22377 -(22376) found -(22377) found -[16097] Forked 22378 -[16096] Forked 22379 -(22378) found -(22379) found -[16095] Forked 22380 -[16094] Forked 22381 -(22380) found -(22381) found -[16093] Forked 22382 -[16092] Forked 22383 -(22382) found -(22383) found -[16091] Forked 22384 -[16090] Forked 22385 -(22384) found -(22385) found -[16089] Forked 22386 -[16088] Forked 22387 -(22386) found -(22387) found -[16087] Forked 22388 -[16086] Forked 22389 -(22388) found -(22389) found -[16085] Forked 22390 -[16084] Forked 22391 -(22390) found -(22391) found -[16083] Forked 22392 -[16082] Forked 22393 -(22392) found -(22393) found -[16081] Forked 22394 -[16080] Forked 22395 -(22394) found -(22395) found -[16079] Forked 22396 -[16078] Forked 22397 -(22396) found -(22397) found -[16077] Forked 22398 -[16076] Forked 22399 -(22398) found -(22399) found -[16075] Forked 22400 -[16074] Forked 22401 -(22400) found -(22401) found -[16073] Forked 22402 -[16072] Forked 22403 -(22402) found -(22403) found -[16071] Forked 22404 -[16070] Forked 22405 -(22404) found -(22405) found -[16069] Forked 22406 -[16068] Forked 22407 -(22406) found -(22407) found -[16067] Forked 22408 -[16066] Forked 22409 -(22408) found -(22409) found -[16065] Forked 22410 -[16064] Forked 22411 -(22410) found -(22411) found -[16063] Forked 22412 -[16062] Forked 22413 -(22412) found -(22413) found -[16061] Forked 22414 -[16060] Forked 22415 -(22414) found -(22415) found -[16059] Forked 22416 -[16058] Forked 22417 -(22416) found -(22417) found -[16057] Forked 22418 -[16056] Forked 22419 -(22418) found -(22419) found -[16055] Forked 22420 -[16054] Forked 22421 -(22420) found -(22421) found -[16053] Forked 22422 -[16052] Forked 22423 -(22422) found -(22423) found -[16051] Forked 22424 -[16050] Forked 22425 -(22424) found -(22425) found -[16049] Forked 22426 -[16048] Forked 22427 -(22426) found -(22427) found -[16047] Forked 22428 -[16046] Forked 22429 -(22428) found -(22429) found -[16045] Forked 22430 -[16044] Forked 22431 -(22430) found -(22431) found -[16043] Forked 22432 -[16042] Forked 22433 -(22432) found -(22433) found -[16041] Forked 22434 -[16040] Forked 22435 -(22434) found -(22435) found -[16039] Forked 22436 -[16038] Forked 22437 -(22436) found -(22437) found -[16037] Forked 22438 -[16036] Forked 22439 -(22438) found -(22439) found -[16035] Forked 22440 -[16034] Forked 22442 -(22440) found -(22442) found -[16033] Forked 22443 -(22443) found -[16032] Forked 22444 -(22444) found -[16031] Forked 22445 -(22445) found -[16030] Forked 22446 -(22446) found -[16029] Forked 22447 -(22447) found -[16028] Forked 22448 -(22448) found -[16027] Forked 22449 -(22449) found -[16026] Forked 22450 -(22450) found -[16025] Forked 22451 -(22451) found -[16024] Forked 22452 -(22452) found -[16023] Forked 22453 -(22453) found -[16022] Forked 22454 -(22454) found -[16021] Forked 22455 -(22455) found -[16020] Forked 22456 -(22456) found -[16019] Forked 22457 -(22457) found -[16018] Forked 22458 -(22458) found -[16017] Forked 22459 -(22459) found -[16016] Forked 22460 -(22460) found -[16015] Forked 22461 -(22461) found -[16014] Forked 22462 -(22462) found -[16013] Forked 22463 -(22463) found -[16012] Forked 22464 -(22464) found -[16011] Forked 22465 -(22465) found -[16010] Forked 22466 -(22466) found -[16009] Forked 22467 -(22467) found -[16008] Forked 22468 -(22468) found -[16007] Forked 22469 -(22469) found -[16006] Forked 22470 -(22470) found -[16005] Forked 22471 -(22471) found -[16004] Forked 22472 -(22472) found -[16003] Forked 22473 -(22473) found -[16002] Forked 22474 -(22474) found -[16001] Forked 22475 -(22475) found -[16000] Forked 22476 -(22476) found -[15999] Forked 22477 -(22477) found -[15998] Forked 22478 -(22478) found -[15997] Forked 22479 -(22479) found -[15996] Forked 22480 -(22480) found -[15995] Forked 22481 -(22481) found -[15994] Forked 22482 -[15993] Forked 22483 -(22482) found -(22483) found -[15992] Forked 22484 -[15991] Forked 22485 -(22484) found -(22485) found -[15990] Forked 22486 -[15989] Forked 22487 -(22486) found -(22487) found -[15988] Forked 22488 -[15987] Forked 22489 -(22488) found -(22489) found -[15986] Forked 22490 -[15985] Forked 22491 -(22490) found -(22491) found -[15984] Forked 22492 -[15983] Forked 22493 -(22492) found -(22493) found -[15982] Forked 22494 -[15981] Forked 22495 -(22494) found -(22495) found -[15980] Forked 22496 -[15979] Forked 22497 -(22496) found -(22497) found -[15978] Forked 22498 -[15977] Forked 22499 -(22498) found -(22499) found -[15976] Forked 22500 -[15975] Forked 22501 -(22500) found -(22501) found -[15974] Forked 22502 -[15973] Forked 22503 -(22502) found -(22503) found -[15972] Forked 22504 -[15971] Forked 22505 -(22504) found -(22505) found -[15970] Forked 22506 -[15969] Forked 22507 -(22506) found -(22507) found -[15968] Forked 22508 -[15967] Forked 22509 -(22508) found -(22509) found -[15966] Forked 22510 -[15965] Forked 22511 -(22510) found -(22511) found -[15964] Forked 22512 -[15963] Forked 22513 -(22512) found -(22513) found -[15962] Forked 22514 -[15961] Forked 22515 -(22514) found -(22515) found -[15960] Forked 22516 -[15959] Forked 22517 -(22516) found -(22517) found -[15958] Forked 22518 -[15957] Forked 22519 -(22518) found -(22519) found -[15956] Forked 22520 -[15955] Forked 22521 -(22520) found -(22521) found -[15954] Forked 22522 -[15953] Forked 22523 -(22522) found -(22523) found -[15952] Forked 22524 -[15951] Forked 22525 -(22524) found -(22525) found -[15950] Forked 22526 -[15949] Forked 22527 -(22526) found -(22527) found -[15948] Forked 22528 -[15947] Forked 22529 -(22528) found -(22529) found -[15946] Forked 22530 -[15945] Forked 22531 -(22530) found -(22531) found -[15944] Forked 22532 -[15943] Forked 22533 -(22532) found -(22533) found -[15942] Forked 22534 -[15941] Forked 22535 -(22534) found -(22535) found -[15940] Forked 22536 -[15939] Forked 22537 -(22536) found -(22537) found -[15938] Forked 22538 -[15937] Forked 22539 -(22538) found -(22539) found -[15936] Forked 22540 -[15935] Forked 22541 -(22540) found -(22541) found -[15934] Forked 22542 -[15933] Forked 22543 -(22542) found -(22543) found -[15932] Forked 22544 -[15931] Forked 22545 -(22544) found -(22545) found -[15930] Forked 22546 -[15929] Forked 22547 -(22546) found -(22547) found -[15928] Forked 22548 -[15927] Forked 22549 -(22548) found -(22549) found -[15926] Forked 22550 -[15925] Forked 22551 -(22550) found -(22551) found -[15924] Forked 22552 -[15923] Forked 22553 -(22552) found -(22553) found -[15922] Forked 22554 -[15921] Forked 22555 -(22554) found -(22555) found -[15920] Forked 22556 -[15919] Forked 22557 -(22556) found -(22557) found -[15918] Forked 22558 -[15917] Forked 22559 -(22558) found -(22559) found -[15916] Forked 22560 -[15915] Forked 22561 -(22560) found -(22561) found -[15914] Forked 22562 -[15913] Forked 22563 -(22562) found -(22563) found -[15912] Forked 22564 -[15911] Forked 22565 -(22564) found -(22565) found -[15910] Forked 22566 -[15909] Forked 22567 -(22566) found -(22567) found -[15908] Forked 22568 -[15907] Forked 22569 -(22568) found -(22569) found -[15906] Forked 22570 -[15905] Forked 22571 -(22570) found -(22571) found -[15904] Forked 22572 -[15903] Forked 22573 -(22572) found -(22573) found -[15902] Forked 22574 -(22574) found -[15901] Forked 22575 -(22575) found -[15900] Forked 22576 -(22576) found -[15899] Forked 22577 -(22577) found -[15898] Forked 22578 -(22578) found -[15897] Forked 22579 -(22579) found -[15896] Forked 22580 -(22580) found -[15895] Forked 22581 -(22581) found -[15894] Forked 22582 -(22582) found -[15893] Forked 22583 -(22583) found -[15892] Forked 22584 -(22584) found -[15891] Forked 22585 -(22585) found -[15890] Forked 22586 -(22586) found -[15889] Forked 22587 -(22587) found -[15888] Forked 22588 -(22588) found -[15887] Forked 22589 -(22589) found -[15886] Forked 22590 -(22590) found -[15885] Forked 22591 -(22591) found -[15884] Forked 22592 -(22592) found -[15883] Forked 22593 -(22593) found -[15882] Forked 22594 -(22594) found -[15881] Forked 22595 -(22595) found -[15880] Forked 22596 -(22596) found -[15879] Forked 22597 -(22597) found -[15878] Forked 22598 -(22598) found -[15877] Forked 22599 -(22599) found -[15876] Forked 22600 -(22600) found -[15875] Forked 22601 -(22601) found -[15874] Forked 22602 -(22602) found -[15873] Forked 22603 -(22603) found -[15872] Forked 22604 -(22604) found -[15871] Forked 22605 -(22605) found -[15870] Forked 22606 -(22606) found -[15869] Forked 22607 -(22607) found -[15868] Forked 22608 -(22608) found -[15867] Forked 22609 -[15866] Forked 22610 -(22609) found -(22610) found -[15865] Forked 22611 -[15864] Forked 22612 -(22611) found -(22612) found -[15863] Forked 22613 -[15862] Forked 22614 -(22613) found -(22614) found -[15861] Forked 22615 -[15860] Forked 22616 -(22615) found -(22616) found -[15859] Forked 22617 -[15858] Forked 22618 -(22617) found -(22618) found -[15857] Forked 22619 -[15856] Forked 22620 -(22619) found -(22620) found -[15855] Forked 22621 -[15854] Forked 22622 -(22621) found -(22622) found -[15853] Forked 22623 -[15852] Forked 22624 -(22623) found -(22624) found -[15851] Forked 22625 -[15850] Forked 22626 -(22625) found -(22626) found -[15849] Forked 22627 -[15848] Forked 22628 -(22627) found -(22628) found -[15847] Forked 22629 -[15846] Forked 22630 -(22629) found -(22630) found -[15845] Forked 22631 -[15844] Forked 22632 -(22631) found -(22632) found -[15843] Forked 22633 -[15842] Forked 22634 -(22633) found -(22634) found -[15841] Forked 22635 -[15840] Forked 22636 -(22635) found -(22636) found -[15839] Forked 22637 -[15838] Forked 22638 -(22637) found -(22638) found -[15837] Forked 22639 -[15836] Forked 22640 -(22639) found -(22640) found -[15835] Forked 22641 -[15834] Forked 22642 -(22641) found -(22642) found -[15833] Forked 22644 -[15832] Forked 22645 -(22644) found -(22645) found -[15831] Forked 22646 -[15830] Forked 22647 -(22646) found -(22647) found -[15829] Forked 22648 -[15828] Forked 22649 -(22648) found -(22649) found -[15827] Forked 22650 -[15826] Forked 22651 -(22650) found -(22651) found -[15825] Forked 22652 -[15824] Forked 22653 -(22652) found -(22653) found -[15823] Forked 22654 -[15822] Forked 22655 -(22654) found -(22655) found -[15821] Forked 22656 -[15820] Forked 22657 -(22656) found -(22657) found -[15819] Forked 22658 -(22658) found -[15818] Forked 22659 -(22659) found -[15817] Forked 22660 -(22660) found -[15816] Forked 22661 -(22661) found -[15815] Forked 22662 -(22662) found -[15814] Forked 22663 -(22663) found -[15813] Forked 22664 -(22664) found -[15812] Forked 22665 -(22665) found -[15811] Forked 22666 -(22666) found -[15810] Forked 22667 -(22667) found -[15809] Forked 22668 -(22668) found -[15808] Forked 22669 -(22669) found -[15807] Forked 22670 -(22670) found -[15806] Forked 22671 -(22671) found -[15805] Forked 22672 -(22672) found -[15804] Forked 22673 -(22673) found -[15803] Forked 22674 -(22674) found -[15802] Forked 22675 -(22675) found -[15801] Forked 22676 -(22676) found -[15800] Forked 22677 -(22677) found -[15799] Forked 22678 -(22678) found -[15798] Forked 22679 -(22679) found -[15797] Forked 22680 -(22680) found -[15796] Forked 22681 -(22681) found -[15795] Forked 22682 -(22682) found -[15794] Forked 22683 -(22683) found -[15793] Forked 22684 -(22684) found -[15792] Forked 22685 -(22685) found -[15791] Forked 22686 -(22686) found -[15790] Forked 22687 -(22687) found -[15789] Forked 22688 -(22688) found -[15788] Forked 22689 -(22689) found -[15787] Forked 22690 -(22690) found -[15786] Forked 22691 -(22691) found -[15785] Forked 22692 -(22692) found -[15784] Forked 22693 -[15783] Forked 22694 -(22693) found -(22694) found -[15782] Forked 22695 -(22695) found -[15781] Forked 22696 -(22696) found -[15780] Forked 22697 -(22697) found -[15779] Forked 22698 -(22698) found -[15778] Forked 22699 -(22699) found -[15777] Forked 22700 -(22700) found -[15776] Forked 22701 -(22701) found -[15775] Forked 22702 -(22702) found -[15774] Forked 22703 -(22703) found -[15773] Forked 22704 -(22704) found -[15772] Forked 22705 -(22705) found -[15771] Forked 22706 -(22706) found -[15770] Forked 22707 -(22707) found -[15769] Forked 22708 -(22708) found -[15768] Forked 22709 -(22709) found -[15767] Forked 22710 -(22710) found -[15766] Forked 22711 -(22711) found -[15765] Forked 22712 -(22712) found -[15764] Forked 22713 -(22713) found -[15763] Forked 22714 -(22714) found -[15762] Forked 22715 -(22715) found -[15761] Forked 22716 -(22716) found -[15760] Forked 22717 -(22717) found -[15759] Forked 22718 -(22718) found -[15758] Forked 22719 -(22719) found -[15757] Forked 22720 -(22720) found -[15756] Forked 22721 -(22721) found -[15755] Forked 22722 -(22722) found -[15754] Forked 22723 -(22723) found -[15753] Forked 22724 -(22724) found -[15752] Forked 22725 -[15751] Forked 22726 -(22725) found -(22726) found -[15750] Forked 22727 -[15749] Forked 22728 -(22727) found -(22728) found -[15748] Forked 22729 -[15747] Forked 22730 -(22729) found -(22730) found -[15746] Forked 22731 -[15745] Forked 22732 -(22731) found -(22732) found -[15744] Forked 22733 -[15743] Forked 22734 -(22733) found -(22734) found -[15742] Forked 22735 -[15741] Forked 22736 -(22735) found -(22736) found -[15740] Forked 22737 -[15739] Forked 22738 -(22737) found -(22738) found -[15738] Forked 22739 -[15737] Forked 22740 -(22739) found -(22740) found -[15736] Forked 22741 -[15735] Forked 22742 -(22741) found -(22742) found -[15734] Forked 22743 -[15733] Forked 22744 -(22743) found -(22744) found -[15732] Forked 22745 -[15731] Forked 22746 -(22745) found -(22746) found -[15730] Forked 22747 -[15729] Forked 22748 -(22747) found -(22748) found -[15728] Forked 22749 -[15727] Forked 22750 -(22749) found -(22750) found -[15726] Forked 22751 -(22751) found -[15725] Forked 22752 -[15724] Forked 22753 -(22752) found -(22753) found -[15723] Forked 22754 -[15722] Forked 22755 -(22754) found -(22755) found -[15721] Forked 22756 -[15720] Forked 22757 -(22756) found -(22757) found -[15719] Forked 22758 -[15718] Forked 22759 -(22758) found -(22759) found -[15717] Forked 22760 -[15716] Forked 22761 -(22760) found -(22761) found -[15715] Forked 22762 -[15714] Forked 22763 -(22762) found -(22763) found -[15713] Forked 22764 -[15712] Forked 22765 -(22764) found -(22765) found -[15711] Forked 22766 -[15710] Forked 22767 -(22766) found -(22767) found -[15709] Forked 22768 -[15708] Forked 22769 -(22768) found -(22769) found -[15707] Forked 22770 -[15706] Forked 22771 -(22771) found -(22770) found -[15705] Forked 22772 -(22772) found -[15704] Forked 22773 -(22773) found -[15703] Forked 22774 -(22774) found -[15702] Forked 22775 -(22775) found -[15701] Forked 22776 -(22776) found -[15700] Forked 22777 -(22777) found -[15699] Forked 22778 -(22778) found -[15698] Forked 22779 -(22779) found -[15697] Forked 22780 -(22780) found -[15696] Forked 22781 -(22781) found -[15695] Forked 22782 -(22782) found -[15694] Forked 22783 -(22783) found -[15693] Forked 22784 -(22784) found -[15692] Forked 22785 -(22785) found -[15691] Forked 22786 -(22786) found -[15690] Forked 22787 -(22787) found -[15689] Forked 22788 -(22788) found -[15688] Forked 22789 -(22789) found -[15687] Forked 22790 -(22790) found -[15686] Forked 22791 -(22791) found -[15685] Forked 22792 -(22792) found -[15684] Forked 22793 -(22793) found -[15683] Forked 22794 -(22794) found -[15682] Forked 22795 -(22795) found -[15681] Forked 22796 -(22796) found -[15680] Forked 22797 -(22797) found -[15679] Forked 22798 -(22798) found -[15678] Forked 22799 -(22799) found -[15677] Forked 22800 -(22800) found -[15676] Forked 22801 -(22801) found -[15675] Forked 22802 -(22802) found -[15674] Forked 22803 -(22803) found -[15673] Forked 22804 -(22804) found -[15672] Forked 22805 -(22805) found -[15671] Forked 22806 -(22806) found -[15670] Forked 22807 -(22807) found -[15669] Forked 22808 -(22808) found -[15668] Forked 22809 -(22809) found -[15667] Forked 22810 -(22810) found -[15666] Forked 22811 -(22811) found -[15665] Forked 22812 -(22812) found -[15664] Forked 22813 -(22813) found -[15663] Forked 22814 -(22814) found -[15662] Forked 22815 -(22815) found -[15661] Forked 22816 -(22816) found -[15660] Forked 22817 -(22817) found -[15659] Forked 22818 -(22818) found -[15658] Forked 22819 -(22819) found -[15657] Forked 22820 -(22820) found -[15656] Forked 22821 -(22821) found -[15655] Forked 22822 -(22822) found -[15654] Forked 22823 -(22823) found -[15653] Forked 22824 -(22824) found -[15652] Forked 22825 -(22825) found -[15651] Forked 22826 -(22826) found -[15650] Forked 22827 -(22827) found -[15649] Forked 22828 -(22828) found -[15648] Forked 22829 -(22829) found -[15647] Forked 22830 -(22830) found -[15646] Forked 22831 -(22831) found -[15645] Forked 22832 -(22832) found -[15644] Forked 22833 -(22833) found -[15643] Forked 22834 -(22834) found -[15642] Forked 22835 -(22835) found -[15641] Forked 22836 -(22836) found -[15640] Forked 22837 -(22837) found -[15639] Forked 22838 -(22838) found -[15638] Forked 22839 -(22839) found -[15637] Forked 22840 -(22840) found -[15636] Forked 22841 -(22841) found -[15635] Forked 22842 -(22842) found -[15634] Forked 22843 -(22843) found -[15633] Forked 22844 -(22844) found -[15632] Forked 22845 -[15631] Forked 22846 -(22845) found -(22846) found -[15630] Forked 22847 -[15629] Forked 22848 -(22847) found -(22848) found -[15628] Forked 22849 -[15627] Forked 22850 -(22849) found -(22850) found -[15626] Forked 22851 -[15625] Forked 22852 -(22851) found -(22852) found -[15624] Forked 22853 -[15623] Forked 22854 -(22853) found -(22854) found -[15622] Forked 22855 -[15621] Forked 22856 -(22855) found -(22856) found -[15620] Forked 22857 -[15619] Forked 22858 -(22857) found -(22858) found -[15618] Forked 22859 -[15617] Forked 22860 -(22859) found -(22860) found -[15616] Forked 22861 -[15615] Forked 22862 -(22861) found -(22862) found -[15614] Forked 22863 -[15613] Forked 22864 -(22863) found -(22864) found -[15612] Forked 22865 -[15611] Forked 22866 -(22865) found -(22866) found -[15610] Forked 22867 -[15609] Forked 22868 -(22867) found -(22868) found -[15608] Forked 22869 -[15607] Forked 22870 -(22869) found -(22870) found -[15606] Forked 22871 -[15605] Forked 22872 -(22871) found -(22872) found -[15604] Forked 22873 -[15603] Forked 22874 -(22873) found -(22874) found -[15602] Forked 22875 -[15601] Forked 22876 -(22875) found -(22876) found -[15600] Forked 22877 -[15599] Forked 22878 -(22877) found -(22878) found -[15598] Forked 22879 -[15597] Forked 22880 -(22879) found -(22880) found -[15596] Forked 22881 -[15595] Forked 22882 -(22881) found -(22882) found -[15594] Forked 22883 -[15593] Forked 22884 -(22883) found -(22884) found -[15592] Forked 22885 -[15591] Forked 22886 -(22885) found -(22886) found -[15590] Forked 22887 -[15589] Forked 22888 -(22888) found -(22887) found -[15588] Forked 22889 -(22889) found -[15587] Forked 22890 -(22890) found -[15586] Forked 22891 -(22891) found -[15585] Forked 22892 -(22892) found -[15584] Forked 22893 -(22893) found -[15583] Forked 22894 -(22894) found -[15582] Forked 22895 -(22895) found -[15581] Forked 22896 -(22896) found -[15580] Forked 22897 -(22897) found -[15579] Forked 22898 -(22898) found -[15578] Forked 22899 -(22899) found -[15577] Forked 22900 -(22900) found -[15576] Forked 22901 -(22901) found -[15575] Forked 22902 -(22902) found -[15574] Forked 22903 -(22903) found -[15573] Forked 22904 -(22904) found -[15572] Forked 22905 -(22905) found -[15571] Forked 22906 -(22906) found -[15570] Forked 22907 -(22907) found -[15569] Forked 22908 -(22908) found -[15568] Forked 22909 -(22909) found -[15567] Forked 22910 -(22910) found -[15566] Forked 22911 -(22911) found -[15565] Forked 22912 -(22912) found -[15564] Forked 22913 -(22913) found -[15563] Forked 22914 -(22914) found -[15562] Forked 22915 -(22915) found -[15561] Forked 22916 -(22916) found -[15560] Forked 22917 -(22917) found -[15559] Forked 22918 -(22918) found -[15558] Forked 22919 -(22919) found -[15557] Forked 22920 -(22920) found -[15556] Forked 22921 -(22921) found -[15555] Forked 22922 -(22922) found -[15554] Forked 22923 -(22923) found -[15553] Forked 22924 -[15552] Forked 22925 -(22924) found -(22925) found -[15551] Forked 22926 -[15550] Forked 22927 -(22926) found -(22927) found -[15549] Forked 22928 -[15548] Forked 22929 -(22928) found -(22929) found -[15547] Forked 22930 -[15546] Forked 22931 -(22930) found -(22931) found -[15545] Forked 22932 -[15544] Forked 22933 -(22932) found -(22933) found -[15543] Forked 22934 -[15542] Forked 22935 -(22934) found -(22935) found -[15541] Forked 22936 -[15540] Forked 22937 -(22936) found -(22937) found -[15539] Forked 22938 -[15538] Forked 22939 -(22938) found -(22939) found -[15537] Forked 22940 -[15536] Forked 22941 -(22940) found -(22941) found -[15535] Forked 22942 -[15534] Forked 22943 -(22942) found -(22943) found -[15533] Forked 22944 -[15532] Forked 22945 -(22944) found -(22945) found -[15531] Forked 22946 -[15530] Forked 22947 -(22946) found -(22947) found -[15529] Forked 22948 -[15528] Forked 22949 -(22948) found -(22949) found -[15527] Forked 22950 -[15526] Forked 22951 -(22950) found -(22951) found -[15525] Forked 22952 -[15524] Forked 22953 -(22952) found -(22953) found -[15523] Forked 22954 -[15522] Forked 22955 -(22954) found -(22955) found -[15521] Forked 22956 -[15520] Forked 22957 -(22956) found -(22957) found -[15519] Forked 22958 -[15518] Forked 22959 -(22958) found -(22959) found -[15517] Forked 22960 -[15516] Forked 22961 -(22960) found -(22961) found -[15515] Forked 22962 -[15514] Forked 22963 -(22962) found -(22963) found -[15513] Forked 22964 -[15512] Forked 22965 -(22964) found -(22965) found -[15511] Forked 22966 -[15510] Forked 22967 -(22966) found -(22967) found -[15509] Forked 22968 -(22968) found -[15508] Forked 22969 -(22969) found -[15507] Forked 22970 -(22970) found -[15506] Forked 22971 -(22971) found -[15505] Forked 22972 -(22972) found -[15504] Forked 22973 -(22973) found -[15503] Forked 22974 -(22974) found -[15502] Forked 22975 -(22975) found -[15501] Forked 22976 -(22976) found -[15500] Forked 22977 -(22977) found -[15499] Forked 22978 -(22978) found -[15498] Forked 22979 -(22979) found -[15497] Forked 22980 -(22980) found -[15496] Forked 22981 -(22981) found -[15495] Forked 22982 -(22982) found -[15494] Forked 22983 -(22983) found -[15493] Forked 22984 -(22984) found -[15492] Forked 22985 -(22985) found -[15491] Forked 22986 -(22986) found -[15490] Forked 22987 -(22987) found -[15489] Forked 22988 -(22988) found -[15488] Forked 22989 -(22989) found -[15487] Forked 22990 -(22990) found -[15486] Forked 22991 -(22991) found -[15485] Forked 22992 -(22992) found -[15484] Forked 22993 -(22993) found -[15483] Forked 22994 -(22994) found -[15482] Forked 22995 -(22995) found -[15481] Forked 22996 -(22996) found -[15480] Forked 22997 -(22997) found -[15479] Forked 22998 -(22998) found -[15478] Forked 22999 -(22999) found -[15477] Forked 23000 -(23000) found -[15476] Forked 23001 -(23001) found -[15475] Forked 23002 -(23002) found -[15474] Forked 23003 -(23003) found -[15473] Forked 23004 -[15472] Forked 23005 -(23004) found -(23005) found -[15471] Forked 23006 -[15470] Forked 23007 -(23006) found -(23007) found -[15469] Forked 23008 -[15468] Forked 23009 -(23008) found -(23009) found -[15467] Forked 23010 -[15466] Forked 23011 -(23010) found -(23011) found -[15465] Forked 23012 -[15464] Forked 23013 -(23012) found -(23013) found -[15463] Forked 23014 -[15462] Forked 23015 -(23014) found -(23015) found -[15461] Forked 23016 -[15460] Forked 23017 -(23016) found -(23017) found -[15459] Forked 23018 -[15458] Forked 23019 -(23018) found -(23019) found -[15457] Forked 23020 -[15456] Forked 23021 -(23020) found -(23021) found -[15455] Forked 23022 -[15454] Forked 23023 -(23022) found -(23023) found -[15453] Forked 23024 -[15452] Forked 23025 -(23024) found -(23025) found -[15451] Forked 23026 -[15450] Forked 23027 -(23026) found -(23027) found -[15449] Forked 23028 -[15448] Forked 23029 -(23028) found -(23029) found -[15447] Forked 23030 -[15446] Forked 23031 -(23030) found -(23031) found -[15445] Forked 23032 -[15444] Forked 23033 -(23032) found -(23033) found -[15443] Forked 23034 -[15442] Forked 23035 -(23034) found -(23035) found -[15441] Forked 23036 -[15440] Forked 23037 -(23036) found -(23037) found -[15439] Forked 23038 -[15438] Forked 23039 -(23039) found -(23038) found -[15437] Forked 23040 -(23040) found -[15436] Forked 23041 -(23041) found -[15435] Forked 23042 -(23042) found -[15434] Forked 23043 -(23043) found -[15433] Forked 23044 -(23044) found -[15432] Forked 23045 -(23045) found -[15431] Forked 23046 -(23046) found -[15430] Forked 23047 -(23047) found -[15429] Forked 23048 -(23048) found -[15428] Forked 23049 -(23049) found -[15427] Forked 23050 -(23050) found -[15426] Forked 23051 -(23051) found -[15425] Forked 23052 -(23052) found -[15424] Forked 23053 -(23053) found -[15423] Forked 23054 -(23054) found -[15422] Forked 23055 -(23055) found -[15421] Forked 23056 -(23056) found -[15420] Forked 23057 -(23057) found -[15419] Forked 23058 -(23058) found -[15418] Forked 23059 -(23059) found -[15417] Forked 23060 -(23060) found -[15416] Forked 23061 -(23061) found -[15415] Forked 23062 -(23062) found -[15414] Forked 23063 -(23063) found -[15413] Forked 23064 -(23064) found -[15412] Forked 23065 -(23065) found -[15411] Forked 23066 -(23066) found -[15410] Forked 23067 -(23067) found -[15409] Forked 23068 -(23068) found -[15408] Forked 23069 -(23069) found -[15407] Forked 23070 -(23070) found -[15406] Forked 23071 -(23071) found -[15405] Forked 23072 -(23072) found -[15404] Forked 23073 -(23073) found -[15403] Forked 23074 -(23074) found -[15402] Forked 23075 -(23075) found -[15401] Forked 23076 -(23076) found -[15400] Forked 23077 -(23077) found -[15399] Forked 23078 -(23078) found -[15398] Forked 23079 -(23079) found -[15397] Forked 23080 -(23080) found -[15396] Forked 23081 -(23081) found -[15395] Forked 23082 -(23082) found -[15394] Forked 23083 -[15393] Forked 23084 -(23083) found -(23084) found -[15392] Forked 23085 -[15391] Forked 23086 -(23085) found -(23086) found -[15390] Forked 23087 -[15389] Forked 23088 -(23087) found -(23088) found -[15388] Forked 23089 -[15387] Forked 23090 -(23089) found -(23090) found -[15386] Forked 23091 -[15385] Forked 23092 -(23091) found -(23092) found -[15384] Forked 23093 -[15383] Forked 23094 -(23093) found -(23094) found -[15382] Forked 23095 -[15381] Forked 23096 -(23095) found -(23096) found -[15380] Forked 23097 -[15379] Forked 23098 -(23097) found -(23098) found -[15378] Forked 23099 -[15377] Forked 23100 -(23099) found -(23100) found -[15376] Forked 23101 -[15375] Forked 23102 -(23101) found -(23102) found -[15374] Forked 23103 -[15373] Forked 23104 -(23103) found -(23104) found -[15372] Forked 23105 -[15371] Forked 23106 -(23105) found -(23106) found -[15370] Forked 23107 -[15369] Forked 23108 -(23107) found -(23108) found -[15368] Forked 23109 -[15367] Forked 23110 -(23109) found -(23110) found -[15366] Forked 23111 -[15365] Forked 23112 -(23111) found -(23112) found -[15364] Forked 23113 -[15363] Forked 23114 -(23113) found -(23114) found -[15362] Forked 23115 -[15361] Forked 23116 -(23115) found -(23116) found -[15360] Forked 23117 -[15359] Forked 23118 -(23117) found -(23118) found -[15358] Forked 23119 -[15357] Forked 23120 -(23119) found -(23120) found -[15356] Forked 23121 -[15355] Forked 23122 -(23121) found -(23122) found -[15354] Forked 23123 -[15353] Forked 23124 -(23123) found -(23124) found -[15352] Forked 23125 -[15351] Forked 23126 -(23125) found -(23126) found -[15350] Forked 23127 -[15349] Forked 23128 -(23127) found -(23128) found -[15348] Forked 23129 -(23129) found -[15347] Forked 23130 -(23130) found -[15346] Forked 23131 -(23131) found -[15345] Forked 23132 -[15344] Forked 23133 -(23132) found -(23133) found -[15343] Forked 23134 -[15342] Forked 23135 -(23134) found -(23135) found -[15341] Forked 23136 -[15340] Forked 23137 -(23136) found -(23137) found -[15339] Forked 23138 -[15338] Forked 23139 -(23138) found -(23139) found -[15337] Forked 23140 -[15336] Forked 23141 -(23140) found -(23141) found -[15335] Forked 23142 -[15334] Forked 23143 -(23142) found -(23143) found -[15333] Forked 23144 -[15332] Forked 23145 -(23144) found -(23145) found -[15331] Forked 23146 -[15330] Forked 23147 -(23146) found -(23147) found -[15329] Forked 23148 -[15328] Forked 23149 -(23148) found -(23149) found -[15327] Forked 23150 -[15326] Forked 23151 -(23150) found -(23151) found -[15325] Forked 23152 -[15324] Forked 23153 -(23152) found -(23153) found -[15323] Forked 23154 -[15322] Forked 23155 -(23154) found -(23155) found -[15321] Forked 23156 -[15320] Forked 23158 -(23156) found -(23158) found -[15319] Forked 23159 -(23159) found -[15318] Forked 23160 -(23160) found -[15317] Forked 23161 -(23161) found -[15316] Forked 23162 -(23162) found -[15315] Forked 23163 -(23163) found -[15314] Forked 23164 -(23164) found -[15313] Forked 23165 -(23165) found -[15312] Forked 23166 -(23166) found -[15311] Forked 23167 -(23167) found -[15310] Forked 23168 -(23168) found -[15309] Forked 23169 -(23169) found -[15308] Forked 23170 -(23170) found -[15307] Forked 23171 -(23171) found -[15306] Forked 23172 -(23172) found -[15305] Forked 23173 -(23173) found -[15304] Forked 23174 -(23174) found -[15303] Forked 23175 -(23175) found -[15302] Forked 23176 -(23176) found -[15301] Forked 23177 -(23177) found -[15300] Forked 23178 -(23178) found -[15299] Forked 23179 -(23179) found -[15298] Forked 23180 -(23180) found -[15297] Forked 23181 -(23181) found -[15296] Forked 23182 -(23182) found -[15295] Forked 23183 -(23183) found -[15294] Forked 23184 -(23184) found -[15293] Forked 23185 -(23185) found -[15292] Forked 23186 -(23186) found -[15291] Forked 23187 -(23187) found -[15290] Forked 23188 -(23188) found -[15289] Forked 23189 -(23189) found -[15288] Forked 23190 -(23190) found -[15287] Forked 23191 -(23191) found -[15286] Forked 23192 -(23192) found -[15285] Forked 23193 -(23193) found -[15284] Forked 23194 -(23194) found -[15283] Forked 23195 -(23195) found -[15282] Forked 23196 -(23196) found -[15281] Forked 23197 -(23197) found -[15280] Forked 23198 -(23198) found -[15279] Forked 23199 -(23199) found -[15278] Forked 23200 -(23200) found -[15277] Forked 23201 -(23201) found -[15276] Forked 23202 -(23202) found -[15275] Forked 23203 -(23203) found -[15274] Forked 23204 -(23204) found -[15273] Forked 23205 -(23205) found -[15272] Forked 23206 -(23206) found -[15271] Forked 23207 -(23207) found -[15270] Forked 23208 -(23208) found -[15269] Forked 23209 -(23209) found -[15268] Forked 23210 -(23210) found -[15267] Forked 23211 -[15266] Forked 23212 -(23211) found -(23212) found -[15265] Forked 23213 -[15264] Forked 23214 -(23213) found -(23214) found -[15263] Forked 23215 -[15262] Forked 23216 -(23215) found -(23216) found -[15261] Forked 23217 -[15260] Forked 23218 -(23217) found -(23218) found -[15259] Forked 23219 -[15258] Forked 23220 -(23219) found -(23220) found -[15257] Forked 23221 -[15256] Forked 23222 -(23221) found -(23222) found -[15255] Forked 23223 -[15254] Forked 23224 -(23223) found -(23224) found -[15253] Forked 23225 -[15252] Forked 23226 -(23225) found -(23226) found -[15251] Forked 23227 -[15250] Forked 23228 -(23227) found -(23228) found -[15249] Forked 23229 -[15248] Forked 23230 -(23229) found -(23230) found -[15247] Forked 23231 -[15246] Forked 23232 -(23231) found -(23232) found -[15245] Forked 23233 -[15244] Forked 23234 -(23233) found -(23234) found -[15243] Forked 23235 -[15242] Forked 23236 -(23235) found -(23236) found -[15241] Forked 23237 -[15240] Forked 23238 -(23237) found -(23238) found -[15239] Forked 23239 -[15238] Forked 23240 -(23239) found -(23240) found -[15237] Forked 23241 -[15236] Forked 23242 -(23241) found -(23242) found -[15235] Forked 23243 -[15234] Forked 23244 -(23243) found -(23244) found -[15233] Forked 23245 -[15232] Forked 23246 -(23245) found -(23246) found -[15231] Forked 23247 -[15230] Forked 23248 -(23247) found -(23248) found -[15229] Forked 23249 -[15228] Forked 23250 -(23249) found -(23250) found -[15227] Forked 23251 -[15226] Forked 23252 -(23251) found -(23252) found -[15225] Forked 23253 -[15224] Forked 23254 -(23253) found -(23254) found -[15223] Forked 23255 -[15222] Forked 23256 -(23255) found -(23256) found -[15221] Forked 23257 -[15220] Forked 23258 -(23258) found -(23257) found -[15219] Forked 23259 -(23259) found -[15218] Forked 23260 -(23260) found -[15217] Forked 23261 -(23261) found -[15216] Forked 23262 -(23262) found -[15215] Forked 23263 -(23263) found -[15214] Forked 23264 -(23264) found -[15213] Forked 23265 -(23265) found -[15212] Forked 23266 -(23266) found -[15211] Forked 23267 -(23267) found -[15210] Forked 23268 -(23268) found -[15209] Forked 23269 -(23269) found -[15208] Forked 23270 -(23270) found -[15207] Forked 23271 -(23271) found -[15206] Forked 23272 -(23272) found -[15205] Forked 23273 -(23273) found -[15204] Forked 23274 -(23274) found -[15203] Forked 23275 -(23275) found -[15202] Forked 23276 -(23276) found -[15201] Forked 23277 -(23277) found -[15200] Forked 23278 -(23278) found -[15199] Forked 23279 -(23279) found -[15198] Forked 23280 -(23280) found -[15197] Forked 23281 -(23281) found -[15196] Forked 23282 -(23282) found -[15195] Forked 23283 -(23283) found -[15194] Forked 23284 -(23284) found -[15193] Forked 23285 -(23285) found -[15192] Forked 23286 -(23286) found -[15191] Forked 23287 -(23287) found -[15190] Forked 23288 -(23288) found -[15189] Forked 23289 -(23289) found -[15188] Forked 23290 -(23290) found -[15187] Forked 23291 -(23291) found -[15186] Forked 23292 -(23292) found -[15185] Forked 23293 -(23293) found -[15184] Forked 23294 -(23294) found -[15183] Forked 23295 -(23295) found -[15182] Forked 23296 -(23296) found -[15181] Forked 23297 -(23297) found -[15180] Forked 23298 -(23298) found -[15179] Forked 23299 -(23299) found -[15178] Forked 23300 -(23300) found -[15177] Forked 23301 -(23301) found -[15176] Forked 23302 -(23302) found -[15175] Forked 23303 -(23303) found -[15174] Forked 23304 -(23304) found -[15173] Forked 23305 -(23305) found -[15172] Forked 23306 -(23306) found -[15171] Forked 23307 -(23307) found -[15170] Forked 23308 -(23308) found -[15169] Forked 23309 -(23309) found -[15168] Forked 23310 -(23310) found -[15167] Forked 23311 -(23311) found -[15166] Forked 23312 -(23312) found -[15165] Forked 23313 -(23313) found -[15164] Forked 23314 -(23314) found -[15163] Forked 23315 -(23315) found -[15162] Forked 23316 -(23316) found -[15161] Forked 23317 -(23317) found -[15160] Forked 23318 -(23318) found -[15159] Forked 23319 -(23319) found -[15158] Forked 23320 -(23320) found -[15157] Forked 23321 -(23321) found -[15156] Forked 23322 -(23322) found -[15155] Forked 23323 -(23323) found -[15154] Forked 23324 -(23324) found -[15153] Forked 23325 -(23325) found -[15152] Forked 23326 -(23326) found -[15151] Forked 23327 -(23327) found -[15150] Forked 23328 -(23328) found -[15149] Forked 23329 -(23329) found -[15148] Forked 23330 -[15147] Forked 23331 -(23330) found -(23331) found -[15146] Forked 23332 -[15145] Forked 23333 -(23332) found -(23333) found -[15144] Forked 23334 -[15143] Forked 23335 -(23334) found -(23335) found -[15142] Forked 23336 -[15141] Forked 23337 -(23336) found -(23337) found -[15140] Forked 23338 -[15139] Forked 23339 -(23338) found -(23339) found -[15138] Forked 23340 -[15137] Forked 23341 -(23340) found -(23341) found -[15136] Forked 23342 -[15135] Forked 23343 -(23342) found -(23343) found -[15134] Forked 23344 -[15133] Forked 23345 -(23344) found -(23345) found -[15132] Forked 23346 -[15131] Forked 23347 -(23346) found -(23347) found -[15130] Forked 23348 -[15129] Forked 23349 -(23348) found -(23349) found -[15128] Forked 23350 -[15127] Forked 23351 -(23350) found -(23351) found -[15126] Forked 23352 -[15125] Forked 23353 -(23352) found -(23353) found -[15124] Forked 23354 -[15123] Forked 23355 -(23354) found -(23355) found -[15122] Forked 23356 -[15121] Forked 23357 -(23356) found -(23357) found -[15120] Forked 23358 -[15119] Forked 23359 -(23358) found -(23359) found -[15118] Forked 23360 -[15117] Forked 23361 -(23360) found -(23361) found -[15116] Forked 23362 -[15115] Forked 23363 -(23362) found -(23363) found -[15114] Forked 23364 -[15113] Forked 23365 -(23364) found -(23365) found -[15112] Forked 23366 -[15111] Forked 23367 -(23366) found -(23367) found -[15110] Forked 23368 -[15109] Forked 23369 -(23368) found -(23369) found -[15108] Forked 23370 -[15107] Forked 23371 -(23370) found -(23371) found -[15106] Forked 23372 -[15105] Forked 23373 -(23372) found -(23373) found -[15104] Forked 23374 -[15103] Forked 23375 -(23374) found -(23375) found -[15102] Forked 23376 -(23376) found -[15101] Forked 23377 -(23377) found -[15100] Forked 23378 -(23378) found -[15099] Forked 23379 -(23379) found -[15098] Forked 23380 -(23380) found -[15097] Forked 23381 -(23381) found -[15096] Forked 23382 -(23382) found -[15095] Forked 23383 -(23383) found -[15094] Forked 23384 -(23384) found -[15093] Forked 23385 -(23385) found -[15092] Forked 23386 -(23386) found -[15091] Forked 23387 -(23387) found -[15090] Forked 23388 -(23388) found -[15089] Forked 23389 -(23389) found -[15088] Forked 23390 -(23390) found -[15087] Forked 23391 -(23391) found -[15086] Forked 23392 -(23392) found -[15085] Forked 23393 -(23393) found -[15084] Forked 23394 -(23394) found -[15083] Forked 23395 -(23395) found -[15082] Forked 23396 -(23396) found -[15081] Forked 23397 -(23397) found -[15080] Forked 23398 -(23398) found -[15079] Forked 23399 -(23399) found -[15078] Forked 23400 -(23400) found -[15077] Forked 23401 -(23401) found -[15076] Forked 23402 -(23402) found -[15075] Forked 23403 -(23403) found -[15074] Forked 23404 -(23404) found -[15073] Forked 23405 -(23405) found -[15072] Forked 23406 -(23406) found -[15071] Forked 23407 -(23407) found -[15070] Forked 23408 -(23408) found -[15069] Forked 23409 -(23409) found -[15068] Forked 23410 -(23410) found -[15067] Forked 23411 -(23411) found -[15066] Forked 23412 -(23412) found -[15065] Forked 23413 -[15064] Forked 23414 -(23413) found -(23414) found -[15063] Forked 23415 -[15062] Forked 23416 -(23415) found -(23416) found -[15061] Forked 23417 -[15060] Forked 23418 -(23417) found -(23418) found -[15059] Forked 23419 -[15058] Forked 23420 -(23419) found -(23420) found -[15057] Forked 23421 -[15056] Forked 23422 -(23421) found -(23422) found -[15055] Forked 23423 -[15054] Forked 23424 -(23423) found -(23424) found -[15053] Forked 23425 -[15052] Forked 23426 -(23425) found -(23426) found -[15051] Forked 23427 -[15050] Forked 23428 -(23427) found -(23428) found -[15049] Forked 23429 -[15048] Forked 23430 -(23429) found -(23430) found -[15047] Forked 23431 -[15046] Forked 23432 -(23431) found -(23432) found -[15045] Forked 23433 -[15044] Forked 23434 -(23433) found -(23434) found -[15043] Forked 23435 -[15042] Forked 23436 -(23435) found -(23436) found -[15041] Forked 23437 -[15040] Forked 23438 -(23437) found -(23438) found -[15039] Forked 23439 -[15038] Forked 23440 -(23439) found -(23440) found -[15037] Forked 23441 -[15036] Forked 23442 -(23441) found -(23442) found -[15035] Forked 23443 -[15034] Forked 23444 -(23443) found -(23444) found -[15033] Forked 23445 -[15032] Forked 23446 -(23445) found -(23446) found -[15031] Forked 23447 -[15030] Forked 23448 -(23447) found -(23448) found -[15029] Forked 23449 -[15028] Forked 23450 -(23449) found -(23450) found -[15027] Forked 23451 -[15026] Forked 23452 -(23451) found -(23452) found -[15025] Forked 23453 -[15024] Forked 23454 -(23453) found -(23454) found -[15023] Forked 23455 -[15022] Forked 23456 -(23455) found -(23456) found -[15021] Forked 23457 -[15020] Forked 23458 -(23457) found -(23458) found -[15019] Forked 23459 -[15018] Forked 23460 -(23459) found -(23460) found -[15017] Forked 23461 -[15016] Forked 23462 -(23461) found -(23462) found -[15015] Forked 23463 -[15014] Forked 23464 -(23463) found -(23464) found -[15013] Forked 23465 -[15012] Forked 23466 -(23465) found -(23466) found -[15011] Forked 23467 -[15010] Forked 23468 -(23467) found -(23468) found -[15009] Forked 23469 -[15008] Forked 23470 -(23469) found -(23470) found -[15007] Forked 23471 -[15006] Forked 23472 -(23471) found -(23472) found -[15005] Forked 23473 -[15004] Forked 23474 -(23473) found -(23474) found -[15003] Forked 23475 -[15002] Forked 23476 -(23475) found -(23476) found -[15001] Forked 23477 -[15000] Forked 23478 -(23477) found -(23478) found -[14999] Forked 23479 -[14998] Forked 23480 -(23479) found -(23480) found -[14997] Forked 23481 -[14996] Forked 23482 -(23481) found -(23482) found -[14995] Forked 23483 -[14994] Forked 23484 -(23483) found -(23484) found -[14993] Forked 23485 -[14992] Forked 23486 -(23485) found -(23486) found -[14991] Forked 23487 -[14990] Forked 23488 -(23487) found -(23488) found -[14989] Forked 23489 -[14988] Forked 23490 -(23489) found -(23490) found -[14987] Forked 23491 -[14986] Forked 23492 -(23491) found -(23492) found -[14985] Forked 23493 -[14984] Forked 23494 -(23493) found -(23494) found -[14983] Forked 23495 -[14982] Forked 23496 -(23495) found -(23496) found -[14981] Forked 23497 -[14980] Forked 23498 -(23497) found -(23498) found -[14979] Forked 23499 -[14978] Forked 23500 -(23499) found -(23500) found -[14977] Forked 23501 -[14976] Forked 23502 -(23501) found -(23502) found -[14975] Forked 23503 -[14974] Forked 23504 -(23503) found -(23504) found -[14973] Forked 23505 -[14972] Forked 23506 -(23505) found -(23506) found -[14971] Forked 23507 -[14970] Forked 23508 -(23507) found -(23508) found -[14969] Forked 23509 -[14968] Forked 23510 -(23509) found -(23510) found -[14967] Forked 23511 -[14966] Forked 23512 -(23511) found -(23512) found -[14965] Forked 23513 -[14964] Forked 23514 -(23513) found -(23514) found -[14963] Forked 23515 -[14962] Forked 23516 -(23515) found -(23516) found -[14961] Forked 23517 -[14960] Forked 23518 -(23517) found -(23518) found -[14959] Forked 23519 -[14958] Forked 23520 -(23519) found -(23520) found -[14957] Forked 23521 -[14956] Forked 23522 -(23521) found -(23522) found -[14955] Forked 23523 -[14954] Forked 23524 -(23523) found -(23524) found -[14953] Forked 23525 -[14952] Forked 23526 -(23525) found -(23526) found -[14951] Forked 23527 -[14950] Forked 23528 -(23527) found -(23528) found -[14949] Forked 23529 -[14948] Forked 23530 -(23529) found -(23530) found -[14947] Forked 23531 -[14946] Forked 23532 -(23531) found -(23532) found -[14945] Forked 23533 -[14944] Forked 23534 -(23533) found -(23534) found -[14943] Forked 23535 -[14942] Forked 23536 -(23535) found -(23536) found -[14941] Forked 23537 -[14940] Forked 23538 -(23537) found -(23538) found -[14939] Forked 23539 -[14938] Forked 23540 -(23539) found -(23540) found -[14937] Forked 23541 -[14936] Forked 23542 -(23541) found -(23542) found -[14935] Forked 23543 -[14934] Forked 23544 -(23543) found -(23544) found -[14933] Forked 23545 -[14932] Forked 23546 -(23545) found -(23546) found -[14931] Forked 23547 -[14930] Forked 23548 -(23547) found -(23548) found -[14929] Forked 23549 -[14928] Forked 23550 -(23549) found -(23550) found -[14927] Forked 23551 -[14926] Forked 23552 -(23551) found -(23552) found -[14925] Forked 23553 -[14924] Forked 23554 -(23553) found -(23554) found -[14923] Forked 23555 -[14922] Forked 23556 -(23555) found -(23556) found -[14921] Forked 23557 -[14920] Forked 23558 -(23557) found -(23558) found -[14919] Forked 23559 -[14918] Forked 23560 -(23559) found -(23560) found -[14917] Forked 23561 -[14916] Forked 23562 -(23561) found -(23562) found -[14915] Forked 23563 -[14914] Forked 23564 -(23563) found -(23564) found -[14913] Forked 23565 -[14912] Forked 23566 -(23565) found -(23566) found -[14911] Forked 23567 -[14910] Forked 23568 -(23567) found -(23568) found -[14909] Forked 23569 -[14908] Forked 23570 -(23569) found -(23570) found -[14907] Forked 23571 -[14906] Forked 23572 -(23571) found -(23572) found -[14905] Forked 23573 -[14904] Forked 23574 -(23573) found -(23574) found -[14903] Forked 23575 -[14902] Forked 23577 -(23575) found -(23577) found -[14901] Forked 23578 -(23578) found -[14900] Forked 23579 -(23579) found -[14899] Forked 23580 -(23580) found -[14898] Forked 23581 -(23581) found -[14897] Forked 23582 -(23582) found -[14896] Forked 23583 -(23583) found -[14895] Forked 23584 -(23584) found -[14894] Forked 23585 -(23585) found -[14893] Forked 23586 -(23586) found -[14892] Forked 23587 -(23587) found -[14891] Forked 23588 -(23588) found -[14890] Forked 23589 -(23589) found -[14889] Forked 23590 -(23590) found -[14888] Forked 23591 -(23591) found -[14887] Forked 23592 -(23592) found -[14886] Forked 23593 -(23593) found -[14885] Forked 23594 -(23594) found -[14884] Forked 23595 -(23595) found -[14883] Forked 23596 -(23596) found -[14882] Forked 23597 -(23597) found -[14881] Forked 23598 -(23598) found -[14880] Forked 23599 -(23599) found -[14879] Forked 23600 -(23600) found -[14878] Forked 23601 -(23601) found -[14877] Forked 23602 -(23602) found -[14876] Forked 23603 -(23603) found -[14875] Forked 23604 -(23604) found -[14874] Forked 23605 -(23605) found -[14873] Forked 23606 -(23606) found -[14872] Forked 23607 -(23607) found -[14871] Forked 23608 -(23608) found -[14870] Forked 23609 -(23609) found -[14869] Forked 23610 -(23610) found -[14868] Forked 23611 -(23611) found -[14867] Forked 23612 -(23612) found -[14866] Forked 23613 -(23613) found -[14865] Forked 23614 -(23614) found -[14864] Forked 23615 -(23615) found -[14863] Forked 23616 -(23616) found -[14862] Forked 23617 -(23617) found -[14861] Forked 23618 -(23618) found -[14860] Forked 23619 -(23619) found -[14859] Forked 23620 -(23620) found -[14858] Forked 23621 -(23621) found -[14857] Forked 23622 -(23622) found -[14856] Forked 23623 -(23623) found -[14855] Forked 23624 -(23624) found -[14854] Forked 23625 -(23625) found -[14853] Forked 23626 -(23626) found -[14852] Forked 23627 -[14851] Forked 23628 -(23627) found -(23628) found -[14850] Forked 23629 -[14849] Forked 23630 -(23629) found -(23630) found -[14848] Forked 23631 -[14847] Forked 23632 -(23631) found -(23632) found -[14846] Forked 23633 -[14845] Forked 23634 -(23633) found -(23634) found -[14844] Forked 23635 -[14843] Forked 23636 -(23635) found -(23636) found -[14842] Forked 23637 -[14841] Forked 23638 -(23637) found -(23638) found -[14840] Forked 23639 -[14839] Forked 23640 -(23639) found -(23640) found -[14838] Forked 23641 -[14837] Forked 23642 -(23641) found -(23642) found -[14836] Forked 23643 -[14835] Forked 23644 -(23643) found -(23644) found -[14834] Forked 23645 -[14833] Forked 23646 -(23645) found -(23646) found -[14832] Forked 23647 -[14831] Forked 23648 -(23647) found -(23648) found -[14830] Forked 23649 -[14829] Forked 23650 -(23649) found -(23650) found -[14828] Forked 23651 -[14827] Forked 23652 -(23651) found -(23652) found -[14826] Forked 23653 -[14825] Forked 23654 -(23653) found -(23654) found -[14824] Forked 23655 -[14823] Forked 23656 -(23655) found -(23656) found -[14822] Forked 23657 -[14821] Forked 23658 -(23657) found -(23658) found -[14820] Forked 23659 -[14819] Forked 23660 -(23659) found -(23660) found -[14818] Forked 23661 -[14817] Forked 23662 -(23661) found -(23662) found -[14816] Forked 23663 -[14815] Forked 23664 -(23663) found -(23664) found -[14814] Forked 23665 -[14813] Forked 23666 -(23665) found -(23666) found -[14812] Forked 23667 -[14811] Forked 23668 -(23667) found -(23668) found -[14810] Forked 23669 -[14809] Forked 23670 -(23669) found -(23670) found -[14808] Forked 23671 -[14807] Forked 23672 -(23671) found -(23672) found -[14806] Forked 23673 -[14805] Forked 23674 -(23673) found -(23674) found -[14804] Forked 23675 -[14803] Forked 23676 -(23675) found -(23676) found -[14802] Forked 23677 -[14801] Forked 23678 -(23677) found -(23678) found -[14800] Forked 23679 -[14799] Forked 23680 -(23679) found -(23680) found -[14798] Forked 23681 -[14797] Forked 23682 -(23681) found -(23682) found -[14796] Forked 23683 -[14795] Forked 23684 -(23683) found -(23684) found -[14794] Forked 23685 -[14793] Forked 23686 -(23685) found -(23686) found -[14792] Forked 23687 -[14791] Forked 23688 -(23687) found -(23688) found -[14790] Forked 23689 -[14789] Forked 23690 -(23689) found -(23690) found -[14788] Forked 23691 -[14787] Forked 23692 -(23691) found -(23692) found -[14786] Forked 23693 -[14785] Forked 23694 -(23693) found -(23694) found -[14784] Forked 23695 -[14783] Forked 23696 -(23695) found -(23696) found -[14782] Forked 23697 -[14781] Forked 23698 -(23697) found -(23698) found -[14780] Forked 23699 -[14779] Forked 23700 -(23699) found -(23700) found -[14778] Forked 23701 -[14777] Forked 23702 -(23701) found -(23702) found -[14776] Forked 23703 -[14775] Forked 23704 -(23703) found -(23704) found -[14774] Forked 23705 -[14773] Forked 23706 -(23705) found -(23706) found -[14772] Forked 23707 -[14771] Forked 23708 -(23707) found -(23708) found -[14770] Forked 23709 -[14769] Forked 23710 -(23709) found -(23710) found -[14768] Forked 23711 -[14767] Forked 23712 -(23711) found -(23712) found -[14766] Forked 23713 -[14765] Forked 23714 -(23713) found -(23714) found -[14764] Forked 23715 -[14763] Forked 23716 -(23715) found -(23716) found -[14762] Forked 23717 -[14761] Forked 23718 -(23717) found -(23718) found -[14760] Forked 23719 -(23719) found -[14759] Forked 23720 -(23720) found -[14758] Forked 23721 -(23721) found -[14757] Forked 23722 -(23722) found -[14756] Forked 23723 -(23723) found -[14755] Forked 23724 -(23724) found -[14754] Forked 23725 -(23725) found -[14753] Forked 23726 -(23726) found -[14752] Forked 23727 -(23727) found -[14751] Forked 23728 -(23728) found -[14750] Forked 23729 -(23729) found -[14749] Forked 23730 -(23730) found -[14748] Forked 23731 -(23731) found -[14747] Forked 23732 -(23732) found -[14746] Forked 23733 -(23733) found -[14745] Forked 23734 -(23734) found -[14744] Forked 23735 -(23735) found -[14743] Forked 23736 -(23736) found -[14742] Forked 23737 -(23737) found -[14741] Forked 23738 -(23738) found -[14740] Forked 23739 -(23739) found -[14739] Forked 23740 -(23740) found -[14738] Forked 23741 -(23741) found -[14737] Forked 23742 -(23742) found -[14736] Forked 23743 -(23743) found -[14735] Forked 23744 -(23744) found -[14734] Forked 23745 -(23745) found -[14733] Forked 23746 -(23746) found -[14732] Forked 23747 -(23747) found -[14731] Forked 23748 -(23748) found -[14730] Forked 23749 -(23749) found -[14729] Forked 23750 -(23750) found -[14728] Forked 23751 -(23751) found -[14727] Forked 23752 -[14726] Forked 23753 -(23752) found -(23753) found -[14725] Forked 23754 -[14724] Forked 23755 -(23754) found -(23755) found -[14723] Forked 23756 -[14722] Forked 23757 -(23756) found -(23757) found -[14721] Forked 23758 -[14720] Forked 23759 -(23758) found -(23759) found -[14719] Forked 23760 -[14718] Forked 23761 -(23760) found -(23761) found -[14717] Forked 23762 -[14716] Forked 23763 -(23762) found -(23763) found -[14715] Forked 23764 -[14714] Forked 23765 -(23764) found -(23765) found -[14713] Forked 23766 -[14712] Forked 23767 -(23766) found -(23767) found -[14711] Forked 23768 -[14710] Forked 23769 -(23768) found -(23769) found -[14709] Forked 23770 -[14708] Forked 23771 -(23770) found -(23771) found -[14707] Forked 23772 -[14706] Forked 23773 -(23772) found -(23773) found -[14705] Forked 23774 -[14704] Forked 23775 -(23774) found -(23775) found -[14703] Forked 23776 -[14702] Forked 23777 -(23776) found -(23777) found -[14701] Forked 23778 -[14700] Forked 23779 -(23778) found -(23779) found -[14699] Forked 23780 -[14698] Forked 23781 -(23780) found -(23781) found -[14697] Forked 23782 -[14696] Forked 23783 -(23782) found -(23783) found -[14695] Forked 23784 -[14694] Forked 23785 -(23784) found -(23785) found -[14693] Forked 23786 -[14692] Forked 23787 -(23786) found -(23787) found -[14691] Forked 23788 -[14690] Forked 23789 -(23788) found -(23789) found -[14689] Forked 23790 -[14688] Forked 23791 -(23790) found -(23791) found -[14687] Forked 23792 -[14686] Forked 23793 -(23792) found -(23793) found -[14685] Forked 23794 -[14684] Forked 23795 -(23794) found -(23795) found -[14683] Forked 23796 -[14682] Forked 23797 -(23796) found -(23797) found -[14681] Forked 23798 -[14680] Forked 23799 -(23798) found -(23799) found -[14679] Forked 23800 -[14678] Forked 23801 -(23800) found -(23801) found -[14677] Forked 23802 -[14676] Forked 23803 -(23802) found -(23803) found -[14675] Forked 23804 -[14674] Forked 23805 -(23804) found -(23805) found -[14673] Forked 23806 -[14672] Forked 23807 -(23806) found -(23807) found -[14671] Forked 23808 -[14670] Forked 23809 -(23808) found -(23809) found -[14669] Forked 23810 -[14668] Forked 23811 -(23810) found -(23811) found -[14667] Forked 23812 -[14666] Forked 23813 -(23812) found -(23813) found -[14665] Forked 23814 -[14664] Forked 23815 -(23814) found -(23815) found -[14663] Forked 23816 -[14662] Forked 23817 -(23816) found -(23817) found -[14661] Forked 23818 -[14660] Forked 23819 -(23818) found -(23819) found -[14659] Forked 23820 -[14658] Forked 23821 -(23820) found -(23821) found -[14657] Forked 23822 -[14656] Forked 23823 -(23822) found -(23823) found -[14655] Forked 23824 -[14654] Forked 23825 -(23824) found -(23825) found -[14653] Forked 23826 -[14652] Forked 23827 -(23826) found -(23827) found -[14651] Forked 23828 -[14650] Forked 23829 -(23828) found -(23829) found -[14649] Forked 23830 -[14648] Forked 23831 -(23830) found -(23831) found -[14647] Forked 23832 -[14646] Forked 23833 -(23832) found -(23833) found -[14645] Forked 23834 -[14644] Forked 23835 -(23834) found -(23835) found -[14643] Forked 23836 -[14642] Forked 23837 -(23836) found -(23837) found -[14641] Forked 23838 -[14640] Forked 23839 -(23838) found -(23839) found -[14639] Forked 23840 -[14638] Forked 23841 -(23840) found -(23841) found -[14637] Forked 23842 -[14636] Forked 23843 -(23842) found -(23843) found -[14635] Forked 23844 -(23844) found -[14634] Forked 23845 -(23845) found -[14633] Forked 23846 -(23846) found -[14632] Forked 23847 -(23847) found -[14631] Forked 23848 -(23848) found -[14630] Forked 23849 -(23849) found -[14629] Forked 23850 -(23850) found -[14628] Forked 23851 -(23851) found -[14627] Forked 23852 -(23852) found -[14626] Forked 23853 -(23853) found -[14625] Forked 23854 -(23854) found -[14624] Forked 23855 -(23855) found -[14623] Forked 23856 -(23856) found -[14622] Forked 23857 -(23857) found -[14621] Forked 23858 -(23858) found -[14620] Forked 23859 -(23859) found -[14619] Forked 23860 -(23860) found -[14618] Forked 23861 -(23861) found -[14617] Forked 23862 -(23862) found -[14616] Forked 23863 -(23863) found -[14615] Forked 23864 -(23864) found -[14614] Forked 23865 -(23865) found -[14613] Forked 23866 -(23866) found -[14612] Forked 23867 -(23867) found -[14611] Forked 23868 -(23868) found -[14610] Forked 23869 -(23869) found -[14609] Forked 23870 -(23870) found -[14608] Forked 23871 -(23871) found -[14607] Forked 23872 -(23872) found -[14606] Forked 23873 -(23873) found -[14605] Forked 23874 -(23874) found -[14604] Forked 23875 -(23875) found -[14603] Forked 23876 -(23876) found -[14602] Forked 23877 -(23877) found -[14601] Forked 23878 -(23878) found -[14600] Forked 23879 -[14599] Forked 23880 -(23879) found -(23880) found -[14598] Forked 23881 -[14597] Forked 23882 -(23881) found -(23882) found -[14596] Forked 23883 -[14595] Forked 23884 -(23883) found -(23884) found -[14594] Forked 23885 -[14593] Forked 23886 -(23885) found -(23886) found -[14592] Forked 23887 -[14591] Forked 23888 -(23887) found -(23888) found -[14590] Forked 23889 -[14589] Forked 23890 -(23889) found -(23890) found -[14588] Forked 23891 -[14587] Forked 23892 -(23891) found -(23892) found -[14586] Forked 23893 -[14585] Forked 23894 -(23893) found -(23894) found -[14584] Forked 23895 -[14583] Forked 23896 -(23895) found -(23896) found -[14582] Forked 23897 -[14581] Forked 23898 -(23897) found -(23898) found -[14580] Forked 23899 -[14579] Forked 23900 -(23899) found -(23900) found -[14578] Forked 23901 -[14577] Forked 23902 -(23901) found -(23902) found -[14576] Forked 23903 -[14575] Forked 23904 -(23903) found -(23904) found -[14574] Forked 23905 -[14573] Forked 23906 -(23905) found -(23906) found -[14572] Forked 23907 -[14571] Forked 23908 -(23907) found -(23908) found -[14570] Forked 23909 -[14569] Forked 23910 -(23909) found -(23910) found -[14568] Forked 23911 -[14567] Forked 23912 -(23911) found -(23912) found -[14566] Forked 23913 -(23913) found -[14565] Forked 23914 -(23914) found -[14564] Forked 23915 -(23915) found -[14563] Forked 23916 -(23916) found -[14562] Forked 23917 -(23917) found -[14561] Forked 23918 -(23918) found -[14560] Forked 23919 -(23919) found -[14559] Forked 23920 -(23920) found -[14558] Forked 23921 -(23921) found -[14557] Forked 23922 -(23922) found -[14556] Forked 23923 -(23923) found -[14555] Forked 23924 -(23924) found -[14554] Forked 23925 -(23925) found -[14553] Forked 23926 -(23926) found -[14552] Forked 23927 -(23927) found -[14551] Forked 23928 -(23928) found -[14550] Forked 23929 -(23929) found -[14549] Forked 23930 -(23930) found -[14548] Forked 23931 -(23931) found -[14547] Forked 23932 -(23932) found -[14546] Forked 23933 -(23933) found -[14545] Forked 23934 -(23934) found -[14544] Forked 23935 -(23935) found -[14543] Forked 23936 -(23936) found -[14542] Forked 23937 -(23937) found -[14541] Forked 23938 -(23938) found -[14540] Forked 23939 -(23939) found -[14539] Forked 23940 -(23940) found -[14538] Forked 23941 -(23941) found -[14537] Forked 23942 -(23942) found -[14536] Forked 23943 -(23943) found -[14535] Forked 23944 -(23944) found -[14534] Forked 23945 -(23945) found -[14533] Forked 23946 -(23946) found -[14532] Forked 23947 -(23947) found -[14531] Forked 23948 -(23948) found -[14530] Forked 23949 -(23949) found -[14529] Forked 23950 -(23950) found -[14528] Forked 23951 -(23951) found -[14527] Forked 23952 -(23952) found -[14526] Forked 23953 -(23953) found -[14525] Forked 23954 -(23954) found -[14524] Forked 23955 -(23955) found -[14523] Forked 23956 -(23956) found -[14522] Forked 23957 -(23957) found -[14521] Forked 23958 -(23958) found -[14520] Forked 23959 -(23959) found -[14519] Forked 23960 -(23960) found -[14518] Forked 23961 -(23961) found -[14517] Forked 23962 -(23962) found -[14516] Forked 23963 -(23963) found -[14515] Forked 23964 -(23964) found -[14514] Forked 23965 -(23965) found -[14513] Forked 23966 -(23966) found -[14512] Forked 23967 -(23967) found -[14511] Forked 23968 -(23968) found -[14510] Forked 23969 -(23969) found -[14509] Forked 23970 -(23970) found -[14508] Forked 23971 -(23971) found -[14507] Forked 23972 -(23972) found -[14506] Forked 23973 -(23973) found -[14505] Forked 23974 -(23974) found -[14504] Forked 23975 -(23975) found -[14503] Forked 23976 -(23976) found -[14502] Forked 23977 -(23977) found -[14501] Forked 23978 -(23978) found -[14500] Forked 23979 -(23979) found -[14499] Forked 23980 -(23980) found -[14498] Forked 23981 -(23981) found -[14497] Forked 23982 -(23982) found -[14496] Forked 23983 -[14495] Forked 23984 -(23983) found -(23984) found -[14494] Forked 23985 -[14493] Forked 23986 -(23985) found -(23986) found -[14492] Forked 23987 -[14491] Forked 23988 -(23987) found -(23988) found -[14490] Forked 23989 -[14489] Forked 23990 -(23989) found -(23990) found -[14488] Forked 23991 -[14487] Forked 23992 -(23991) found -(23992) found -[14486] Forked 23993 -[14485] Forked 23994 -(23993) found -(23994) found -[14484] Forked 23995 -[14483] Forked 23996 -(23995) found -(23996) found -[14482] Forked 23997 -[14481] Forked 23998 -(23997) found -(23998) found -[14480] Forked 23999 -[14479] Forked 24000 -(23999) found -(24000) found -[14478] Forked 24001 -[14477] Forked 24002 -(24001) found -(24002) found -[14476] Forked 24003 -[14475] Forked 24004 -(24003) found -(24004) found -[14474] Forked 24005 -[14473] Forked 24006 -(24005) found -(24006) found -[14472] Forked 24007 -[14471] Forked 24008 -(24007) found -(24008) found -[14470] Forked 24009 -[14469] Forked 24010 -(24009) found -(24010) found -[14468] Forked 24011 -[14467] Forked 24012 -(24011) found -(24012) found -[14466] Forked 24013 -[14465] Forked 24014 -(24013) found -(24014) found -[14464] Forked 24015 -[14463] Forked 24016 -(24015) found -(24016) found -[14462] Forked 24017 -[14461] Forked 24018 -(24017) found -(24018) found -[14460] Forked 24019 -[14459] Forked 24020 -(24019) found -(24020) found -[14458] Forked 24021 -[14457] Forked 24022 -(24021) found -(24022) found -[14456] Forked 24023 -[14455] Forked 24025 -(24023) found -(24025) found -[14454] Forked 24026 -(24026) found -[14453] Forked 24027 -(24027) found -[14452] Forked 24028 -(24028) found -[14451] Forked 24029 -(24029) found -[14450] Forked 24030 -(24030) found -[14449] Forked 24031 -(24031) found -[14448] Forked 24032 -(24032) found -[14447] Forked 24033 -(24033) found -[14446] Forked 24034 -(24034) found -[14445] Forked 24035 -(24035) found -[14444] Forked 24036 -(24036) found -[14443] Forked 24037 -(24037) found -[14442] Forked 24038 -(24038) found -[14441] Forked 24039 -(24039) found -[14440] Forked 24040 -(24040) found -[14439] Forked 24041 -(24041) found -[14438] Forked 24042 -(24042) found -[14437] Forked 24043 -(24043) found -[14436] Forked 24044 -(24044) found -[14435] Forked 24045 -(24045) found -[14434] Forked 24046 -(24046) found -[14433] Forked 24047 -(24047) found -[14432] Forked 24048 -(24048) found -[14431] Forked 24049 -(24049) found -[14430] Forked 24050 -(24050) found -[14429] Forked 24051 -(24051) found -[14428] Forked 24052 -(24052) found -[14427] Forked 24053 -(24053) found -[14426] Forked 24054 -(24054) found -[14425] Forked 24055 -(24055) found -[14424] Forked 24056 -(24056) found -[14423] Forked 24057 -(24057) found -[14422] Forked 24058 -(24058) found -[14421] Forked 24059 -(24059) found -[14420] Forked 24060 -(24060) found -[14419] Forked 24061 -(24061) found -[14418] Forked 24062 -(24062) found -[14417] Forked 24063 -(24063) found -[14416] Forked 24064 -(24064) found -[14415] Forked 24065 -(24065) found -[14414] Forked 24066 -(24066) found -[14413] Forked 24067 -(24067) found -[14412] Forked 24068 -(24068) found -[14411] Forked 24069 -(24069) found -[14410] Forked 24070 -(24070) found -[14409] Forked 24071 -(24071) found -[14408] Forked 24072 -(24072) found -[14407] Forked 24073 -(24073) found -[14406] Forked 24074 -(24074) found -[14405] Forked 24075 -(24075) found -[14404] Forked 24076 -(24076) found -[14403] Forked 24077 -(24077) found -[14402] Forked 24078 -(24078) found -[14401] Forked 24079 -(24079) found -[14400] Forked 24080 -(24080) found -[14399] Forked 24081 -(24081) found -[14398] Forked 24082 -(24082) found -[14397] Forked 24083 -(24083) found -[14396] Forked 24084 -(24084) found -[14395] Forked 24085 -(24085) found -[14394] Forked 24086 -(24086) found -[14393] Forked 24087 -(24087) found -[14392] Forked 24088 -(24088) found -[14391] Forked 24089 -(24089) found -[14390] Forked 24090 -(24090) found -[14389] Forked 24091 -(24091) found -[14388] Forked 24092 -(24092) found -[14387] Forked 24093 -(24093) found -[14386] Forked 24094 -(24094) found -[14385] Forked 24095 -(24095) found -[14384] Forked 24096 -(24096) found -[14383] Forked 24097 -(24097) found -[14382] Forked 24098 -(24098) found -[14381] Forked 24099 -(24099) found -[14380] Forked 24100 -(24100) found -[14379] Forked 24101 -(24101) found -[14378] Forked 24102 -(24102) found -[14377] Forked 24103 -(24103) found -[14376] Forked 24104 -(24104) found -[14375] Forked 24105 -(24105) found -[14374] Forked 24106 -(24106) found -[14373] Forked 24107 -(24107) found -[14372] Forked 24108 -(24108) found -[14371] Forked 24109 -(24109) found -[14370] Forked 24110 -(24110) found -[14369] Forked 24111 -(24111) found -[14368] Forked 24112 -(24112) found -[14367] Forked 24113 -(24113) found -[14366] Forked 24114 -(24114) found -[14365] Forked 24115 -(24115) found -[14364] Forked 24116 -(24116) found -[14363] Forked 24117 -(24117) found -[14362] Forked 24118 -(24118) found -[14361] Forked 24119 -(24119) found -[14360] Forked 24120 -(24120) found -[14359] Forked 24121 -(24121) found -[14358] Forked 24122 -(24122) found -[14357] Forked 24123 -(24123) found -[14356] Forked 24124 -(24124) found -[14355] Forked 24125 -(24125) found -[14354] Forked 24126 -(24126) found -[14353] Forked 24127 -(24127) found -[14352] Forked 24128 -(24128) found -[14351] Forked 24129 -(24129) found -[14350] Forked 24130 -(24130) found -[14349] Forked 24131 -(24131) found -[14348] Forked 24132 -(24132) found -[14347] Forked 24133 -(24133) found -[14346] Forked 24134 -(24134) found -[14345] Forked 24135 -(24135) found -[14344] Forked 24136 -(24136) found -[14343] Forked 24137 -(24137) found -[14342] Forked 24138 -(24138) found -[14341] Forked 24139 -(24139) found -[14340] Forked 24140 -(24140) found -[14339] Forked 24141 -(24141) found -[14338] Forked 24142 -(24142) found -[14337] Forked 24143 -(24143) found -[14336] Forked 24144 -(24144) found -[14335] Forked 24145 -(24145) found -[14334] Forked 24146 -(24146) found -[14333] Forked 24147 -(24147) found -[14332] Forked 24148 -(24148) found -[14331] Forked 24149 -(24149) found -[14330] Forked 24150 -(24150) found -[14329] Forked 24151 -(24151) found -[14328] Forked 24152 -(24152) found -[14327] Forked 24153 -(24153) found -[14326] Forked 24154 -(24154) found -[14325] Forked 24155 -(24155) found -[14324] Forked 24156 -(24156) found -[14323] Forked 24157 -(24157) found -[14322] Forked 24158 -(24158) found -[14321] Forked 24159 -(24159) found -[14320] Forked 24160 -(24160) found -[14319] Forked 24161 -(24161) found -[14318] Forked 24162 -(24162) found -[14317] Forked 24163 -(24163) found -[14316] Forked 24164 -(24164) found -[14315] Forked 24165 -(24165) found -[14314] Forked 24166 -(24166) found -[14313] Forked 24167 -(24167) found -[14312] Forked 24168 -(24168) found -[14311] Forked 24169 -(24169) found -[14310] Forked 24170 -(24170) found -[14309] Forked 24171 -(24171) found -[14308] Forked 24172 -(24172) found -[14307] Forked 24173 -(24173) found -[14306] Forked 24174 -(24174) found -[14305] Forked 24175 -(24175) found -[14304] Forked 24176 -(24176) found -[14303] Forked 24177 -[14302] Forked 24178 -(24177) found -(24178) found -[14301] Forked 24179 -[14300] Forked 24180 -(24179) found -(24180) found -[14299] Forked 24181 -[14298] Forked 24182 -(24181) found -(24182) found -[14297] Forked 24183 -[14296] Forked 24184 -(24183) found -(24184) found -[14295] Forked 24185 -[14294] Forked 24186 -(24185) found -(24186) found -[14293] Forked 24187 -[14292] Forked 24188 -(24187) found -(24188) found -[14291] Forked 24189 -[14290] Forked 24190 -(24189) found -(24190) found -[14289] Forked 24191 -[14288] Forked 24192 -(24191) found -(24192) found -[14287] Forked 24193 -[14286] Forked 24194 -(24193) found -(24194) found -[14285] Forked 24195 -[14284] Forked 24196 -(24195) found -(24196) found -[14283] Forked 24197 -[14282] Forked 24198 -(24197) found -(24198) found -[14281] Forked 24199 -[14280] Forked 24200 -(24199) found -(24200) found -[14279] Forked 24201 -[14278] Forked 24202 -(24201) found -(24202) found -[14277] Forked 24203 -[14276] Forked 24204 -(24203) found -(24204) found -[14275] Forked 24205 -[14274] Forked 24206 -(24205) found -(24206) found -[14273] Forked 24207 -[14272] Forked 24208 -(24207) found -(24208) found -[14271] Forked 24209 -[14270] Forked 24210 -(24209) found -(24210) found -[14269] Forked 24211 -[14268] Forked 24212 -(24211) found -(24212) found -[14267] Forked 24213 -[14266] Forked 24214 -(24213) found -(24214) found -[14265] Forked 24215 -[14264] Forked 24216 -(24215) found -(24216) found -[14263] Forked 24217 -[14262] Forked 24218 -(24217) found -(24218) found -[14261] Forked 24219 -[14260] Forked 24220 -(24219) found -(24220) found -[14259] Forked 24221 -[14258] Forked 24222 -(24221) found -(24222) found -[14257] Forked 24223 -[14256] Forked 24224 -(24223) found -(24224) found -[14255] Forked 24225 -[14254] Forked 24226 -(24225) found -(24226) found -[14253] Forked 24227 -[14252] Forked 24228 -(24227) found -(24228) found -[14251] Forked 24229 -[14250] Forked 24230 -(24229) found -(24230) found -[14249] Forked 24231 -[14248] Forked 24232 -(24231) found -(24232) found -[14247] Forked 24233 -[14246] Forked 24234 -(24233) found -(24234) found -[14245] Forked 24235 -[14244] Forked 24236 -(24235) found -(24236) found -[14243] Forked 24237 -[14242] Forked 24238 -(24237) found -(24238) found -[14241] Forked 24239 -[14240] Forked 24240 -(24239) found -(24240) found -[14239] Forked 24241 -[14238] Forked 24242 -(24241) found -(24242) found -[14237] Forked 24243 -[14236] Forked 24244 -(24243) found -(24244) found -[14235] Forked 24245 -[14234] Forked 24246 -(24245) found -(24246) found -[14233] Forked 24247 -[14232] Forked 24248 -(24247) found -(24248) found -[14231] Forked 24249 -[14230] Forked 24250 -(24249) found -(24250) found -[14229] Forked 24251 -[14228] Forked 24252 -(24251) found -(24252) found -[14227] Forked 24253 -[14226] Forked 24254 -(24253) found -(24254) found -[14225] Forked 24255 -[14224] Forked 24256 -(24255) found -(24256) found -[14223] Forked 24257 -(24257) found -[14222] Forked 24258 -(24258) found -[14221] Forked 24259 -(24259) found -[14220] Forked 24260 -(24260) found -[14219] Forked 24261 -(24261) found -[14218] Forked 24262 -(24262) found -[14217] Forked 24263 -(24263) found -[14216] Forked 24264 -(24264) found -[14215] Forked 24265 -(24265) found -[14214] Forked 24266 -(24266) found -[14213] Forked 24267 -(24267) found -[14212] Forked 24268 -(24268) found -[14211] Forked 24269 -(24269) found -[14210] Forked 24270 -(24270) found -[14209] Forked 24271 -(24271) found -[14208] Forked 24272 -(24272) found -[14207] Forked 24273 -(24273) found -[14206] Forked 24274 -(24274) found -[14205] Forked 24275 -(24275) found -[14204] Forked 24276 -(24276) found -[14203] Forked 24277 -(24277) found -[14202] Forked 24278 -(24278) found -[14201] Forked 24279 -(24279) found -[14200] Forked 24280 -(24280) found -[14199] Forked 24281 -(24281) found -[14198] Forked 24282 -(24282) found -[14197] Forked 24283 -(24283) found -[14196] Forked 24284 -(24284) found -[14195] Forked 24285 -(24285) found -[14194] Forked 24286 -(24286) found -[14193] Forked 24287 -(24287) found -[14192] Forked 24288 -[14191] Forked 24289 -(24288) found -(24289) found -[14190] Forked 24290 -[14189] Forked 24291 -(24290) found -(24291) found -[14188] Forked 24292 -[14187] Forked 24294 -(24292) found -(24294) found -[14186] Forked 24295 -(24295) found -[14185] Forked 24296 -(24296) found -[14184] Forked 24297 -(24297) found -[14183] Forked 24298 -(24298) found -[14182] Forked 24299 -(24299) found -[14181] Forked 24300 -(24300) found -[14180] Forked 24301 -(24301) found -[14179] Forked 24302 -(24302) found -[14178] Forked 24303 -(24303) found -[14177] Forked 24304 -(24304) found -[14176] Forked 24305 -(24305) found -[14175] Forked 24306 -(24306) found -[14174] Forked 24307 -(24307) found -[14173] Forked 24308 -(24308) found -[14172] Forked 24309 -(24309) found -[14171] Forked 24310 -(24310) found -[14170] Forked 24311 -(24311) found -[14169] Forked 24312 -(24312) found -[14168] Forked 24313 -(24313) found -[14167] Forked 24314 -(24314) found -[14166] Forked 24315 -(24315) found -[14165] Forked 24316 -(24316) found -[14164] Forked 24317 -(24317) found -[14163] Forked 24319 -(24319) found -[14162] Forked 24320 -(24320) found -[14161] Forked 24321 -(24321) found -[14160] Forked 24322 -(24322) found -[14159] Forked 24323 -(24323) found -[14158] Forked 24324 -(24324) found -[14157] Forked 24325 -(24325) found -[14156] Forked 24326 -(24326) found -[14155] Forked 24327 -(24327) found -[14154] Forked 24328 -(24328) found -[14153] Forked 24329 -(24329) found -[14152] Forked 24330 -(24330) found -[14151] Forked 24331 -(24331) found -[14150] Forked 24332 -(24332) found -[14149] Forked 24333 -(24333) found -[14148] Forked 24334 -(24334) found -[14147] Forked 24335 -(24335) found -[14146] Forked 24336 -(24336) found -[14145] Forked 24337 -(24337) found -[14144] Forked 24338 -(24338) found -[14143] Forked 24339 -(24339) found -[14142] Forked 24340 -(24340) found -[14141] Forked 24341 -(24341) found -[14140] Forked 24342 -(24342) found -[14139] Forked 24343 -(24343) found -[14138] Forked 24344 -(24344) found -[14137] Forked 24345 -(24345) found -[14136] Forked 24346 -(24346) found -[14135] Forked 24347 -(24347) found -[14134] Forked 24348 -(24348) found -[14133] Forked 24349 -(24349) found -[14132] Forked 24350 -(24350) found -[14131] Forked 24351 -(24351) found -[14130] Forked 24352 -(24352) found -[14129] Forked 24353 -(24353) found -[14128] Forked 24354 -(24354) found -[14127] Forked 24355 -(24355) found -[14126] Forked 24356 -(24356) found -[14125] Forked 24357 -(24357) found -[14124] Forked 24358 -(24358) found -[14123] Forked 24359 -(24359) found -[14122] Forked 24360 -(24360) found -[14121] Forked 24361 -[14120] Forked 24362 -(24361) found -(24362) found -[14119] Forked 24363 -[14118] Forked 24364 -(24363) found -(24364) found -[14117] Forked 24365 -[14116] Forked 24366 -(24365) found -(24366) found -[14115] Forked 24367 -[14114] Forked 24368 -(24367) found -(24368) found -[14113] Forked 24369 -[14112] Forked 24370 -(24369) found -(24370) found -[14111] Forked 24371 -[14110] Forked 24372 -(24371) found -(24372) found -[14109] Forked 24373 -[14108] Forked 24374 -(24373) found -(24374) found -[14107] Forked 24375 -[14106] Forked 24376 -(24375) found -(24376) found -[14105] Forked 24377 -[14104] Forked 24378 -(24377) found -(24378) found -[14103] Forked 24379 -[14102] Forked 24380 -(24379) found -(24380) found -[14101] Forked 24381 -[14100] Forked 24382 -(24381) found -(24382) found -[14099] Forked 24383 -[14098] Forked 24384 -(24383) found -(24384) found -[14097] Forked 24385 -[14096] Forked 24386 -(24385) found -(24386) found -[14095] Forked 24387 -[14094] Forked 24388 -(24387) found -(24388) found -[14093] Forked 24389 -[14092] Forked 24390 -(24389) found -(24390) found -[14091] Forked 24391 -[14090] Forked 24392 -(24391) found -(24392) found -[14089] Forked 24393 -[14088] Forked 24394 -(24393) found -(24394) found -[14087] Forked 24395 -[14086] Forked 24396 -(24395) found -(24396) found -[14085] Forked 24397 -[14084] Forked 24398 -(24397) found -(24398) found -[14083] Forked 24399 -[14082] Forked 24400 -(24399) found -(24400) found -[14081] Forked 24401 -[14080] Forked 24402 -(24401) found -(24402) found -[14079] Forked 24403 -[14078] Forked 24404 -(24403) found -(24404) found -[14077] Forked 24405 -[14076] Forked 24406 -(24406) found -(24405) found -[14075] Forked 24407 -(24407) found -[14074] Forked 24408 -(24408) found -[14073] Forked 24409 -(24409) found -[14072] Forked 24410 -(24410) found -[14071] Forked 24411 -(24411) found -[14070] Forked 24412 -(24412) found -[14069] Forked 24413 -(24413) found -[14068] Forked 24414 -(24414) found -[14067] Forked 24415 -(24415) found -[14066] Forked 24416 -(24416) found -[14065] Forked 24417 -(24417) found -[14064] Forked 24418 -(24418) found -[14063] Forked 24419 -(24419) found -[14062] Forked 24420 -(24420) found -[14061] Forked 24421 -(24421) found -[14060] Forked 24422 -(24422) found -[14059] Forked 24423 -(24423) found -[14058] Forked 24424 -(24424) found -[14057] Forked 24425 -(24425) found -[14056] Forked 24426 -(24426) found -[14055] Forked 24427 -(24427) found -[14054] Forked 24428 -(24428) found -[14053] Forked 24429 -(24429) found -[14052] Forked 24430 -(24430) found -[14051] Forked 24431 -(24431) found -[14050] Forked 24432 -(24432) found -[14049] Forked 24433 -(24433) found -[14048] Forked 24434 -(24434) found -[14047] Forked 24435 -(24435) found -[14046] Forked 24436 -(24436) found -[14045] Forked 24437 -(24437) found -[14044] Forked 24438 -(24438) found -[14043] Forked 24439 -(24439) found -[14042] Forked 24440 -(24440) found -[14041] Forked 24441 -(24441) found -[14040] Forked 24442 -[14039] Forked 24443 -(24442) found -(24443) found -[14038] Forked 24444 -[14037] Forked 24445 -(24444) found -(24445) found -[14036] Forked 24446 -[14035] Forked 24447 -(24446) found -(24447) found -[14034] Forked 24448 -[14033] Forked 24449 -(24448) found -(24449) found -[14032] Forked 24450 -[14031] Forked 24451 -(24450) found -(24451) found -[14030] Forked 24452 -[14029] Forked 24453 -(24452) found -(24453) found -[14028] Forked 24454 -[14027] Forked 24455 -(24454) found -(24455) found -[14026] Forked 24456 -[14025] Forked 24457 -(24456) found -(24457) found -[14024] Forked 24458 -[14023] Forked 24459 -(24458) found -(24459) found -[14022] Forked 24460 -[14021] Forked 24461 -(24460) found -(24461) found -[14020] Forked 24462 -[14019] Forked 24463 -(24462) found -(24463) found -[14018] Forked 24464 -[14017] Forked 24465 -(24464) found -(24465) found -[14016] Forked 24466 -[14015] Forked 24467 -(24466) found -(24467) found -[14014] Forked 24468 -[14013] Forked 24469 -(24468) found -(24469) found -[14012] Forked 24470 -[14011] Forked 24473 -(24470) found -(24473) found -[14010] Forked 24474 -[14009] Forked 24475 -(24474) found -(24475) found -[14008] Forked 24476 -[14007] Forked 24477 -(24476) found -(24477) found -[14006] Forked 24478 -[14005] Forked 24479 -(24478) found -(24479) found -[14004] Forked 24480 -[14003] Forked 24481 -(24480) found -(24481) found -[14002] Forked 24482 -[14001] Forked 24483 -(24482) found -(24483) found -[14000] Forked 24484 -[13999] Forked 24485 -(24484) found -(24485) found -[13998] Forked 24486 -[13997] Forked 24487 -(24486) found -(24487) found -[13996] Forked 24488 -[13995] Forked 24489 -(24488) found -(24489) found -[13994] Forked 24490 -[13993] Forked 24491 -(24490) found -(24491) found -[13992] Forked 24492 -[13991] Forked 24493 -(24492) found -(24493) found -[13990] Forked 24494 -[13989] Forked 24495 -(24494) found -(24495) found -[13988] Forked 24496 -[13987] Forked 24497 -(24496) found -(24497) found -[13986] Forked 24498 -[13985] Forked 24499 -(24498) found -(24499) found -[13984] Forked 24500 -[13983] Forked 24501 -(24500) found -(24501) found -[13982] Forked 24502 -[13981] Forked 24503 -(24502) found -(24503) found -[13980] Forked 24504 -[13979] Forked 24505 -(24504) found -(24505) found -[13978] Forked 24506 -[13977] Forked 24507 -(24506) found -(24507) found -[13976] Forked 24508 -[13975] Forked 24509 -(24508) found -(24509) found -[13974] Forked 24510 -[13973] Forked 24511 -(24510) found -(24511) found -[13972] Forked 24512 -[13971] Forked 24513 -(24512) found -(24513) found -[13970] Forked 24514 -[13969] Forked 24515 -(24514) found -(24515) found -[13968] Forked 24516 -[13967] Forked 24517 -(24516) found -(24517) found -[13966] Forked 24518 -[13965] Forked 24519 -(24518) found -(24519) found -[13964] Forked 24520 -[13963] Forked 24521 -(24520) found -(24521) found -[13962] Forked 24522 -(24522) found -[13961] Forked 24523 -[13960] Forked 24524 -(24523) found -(24524) found -[13959] Forked 24525 -[13958] Forked 24526 -(24525) found -(24526) found -[13957] Forked 24527 -[13956] Forked 24528 -(24527) found -(24528) found -[13955] Forked 24529 -[13954] Forked 24530 -(24529) found -(24530) found -[13953] Forked 24531 -[13952] Forked 24532 -(24531) found -(24532) found -[13951] Forked 24533 -[13950] Forked 24534 -(24533) found -(24534) found -[13949] Forked 24535 -[13948] Forked 24536 -(24535) found -(24536) found -[13947] Forked 24537 -[13946] Forked 24538 -(24537) found -(24538) found -[13945] Forked 24539 -[13944] Forked 24540 -(24539) found -(24540) found -[13943] Forked 24541 -[13942] Forked 24542 -(24541) found -(24542) found -[13941] Forked 24543 -[13940] Forked 24544 -(24543) found -(24544) found -[13939] Forked 24545 -[13938] Forked 24546 -(24545) found -(24546) found -[13937] Forked 24547 -[13936] Forked 24548 -(24547) found -(24548) found -[13935] Forked 24549 -[13934] Forked 24550 -(24549) found -(24550) found -[13933] Forked 24551 -[13932] Forked 24552 -(24551) found -(24552) found -[13931] Forked 24553 -[13930] Forked 24554 -(24553) found -(24554) found -[13929] Forked 24555 -[13928] Forked 24556 -(24555) found -(24556) found -[13927] Forked 24557 -[13926] Forked 24558 -(24557) found -(24558) found -[13925] Forked 24559 -[13924] Forked 24560 -(24559) found -(24560) found -[13923] Forked 24561 -[13922] Forked 24562 -(24561) found -(24562) found -[13921] Forked 24563 -[13920] Forked 24564 -(24563) found -(24564) found -[13919] Forked 24565 -[13918] Forked 24566 -(24565) found -(24566) found -[13917] Forked 24567 -[13916] Forked 24568 -(24567) found -(24568) found -[13915] Forked 24569 -[13914] Forked 24570 -(24569) found -(24570) found -[13913] Forked 24571 -[13912] Forked 24572 -(24571) found -(24572) found -[13911] Forked 24573 -[13910] Forked 24574 -(24573) found -(24574) found -[13909] Forked 24575 -[13908] Forked 24576 -(24575) found -(24576) found -[13907] Forked 24577 -[13906] Forked 24578 -(24577) found -(24578) found -[13905] Forked 24579 -[13904] Forked 24580 -(24579) found -(24580) found -[13903] Forked 24581 -[13902] Forked 24582 -(24581) found -(24582) found -[13901] Forked 24583 -[13900] Forked 24585 -(24583) found -(24585) found -[13899] Forked 24586 -(24586) found -[13898] Forked 24587 -(24587) found -[13897] Forked 24588 -(24588) found -[13896] Forked 24589 -(24589) found -[13895] Forked 24590 -(24590) found -[13894] Forked 24591 -(24591) found -[13893] Forked 24592 -(24592) found -[13892] Forked 24593 -(24593) found -[13891] Forked 24594 -(24594) found -[13890] Forked 24595 -(24595) found -[13889] Forked 24596 -(24596) found -[13888] Forked 24597 -(24597) found -[13887] Forked 24598 -(24598) found -[13886] Forked 24599 -(24599) found -[13885] Forked 24600 -(24600) found -[13884] Forked 24601 -(24601) found -[13883] Forked 24602 -(24602) found -[13882] Forked 24603 -(24603) found -[13881] Forked 24604 -(24604) found -[13880] Forked 24605 -(24605) found -[13879] Forked 24606 -(24606) found -[13878] Forked 24607 -(24607) found -[13877] Forked 24608 -(24608) found -[13876] Forked 24609 -(24609) found -[13875] Forked 24610 -(24610) found -[13874] Forked 24611 -(24611) found -[13873] Forked 24612 -(24612) found -[13872] Forked 24613 -(24613) found -[13871] Forked 24614 -(24614) found -[13870] Forked 24615 -(24615) found -[13869] Forked 24616 -(24616) found -[13868] Forked 24617 -(24617) found -[13867] Forked 24618 -(24618) found -[13866] Forked 24619 -(24619) found -[13865] Forked 24620 -(24620) found -[13864] Forked 24621 -(24621) found -[13863] Forked 24622 -(24622) found -[13862] Forked 24623 -(24623) found -[13861] Forked 24624 -(24624) found -[13860] Forked 24625 -(24625) found -[13859] Forked 24626 -(24626) found -[13858] Forked 24627 -(24627) found -[13857] Forked 24628 -(24628) found -[13856] Forked 24629 -(24629) found -[13855] Forked 24630 -(24630) found -[13854] Forked 24631 -(24631) found -[13853] Forked 24632 -(24632) found -[13852] Forked 24633 -(24633) found -[13851] Forked 24634 -(24634) found -[13850] Forked 24635 -(24635) found -[13849] Forked 24636 -(24636) found -[13848] Forked 24637 -(24637) found -[13847] Forked 24638 -(24638) found -[13846] Forked 24639 -(24639) found -[13845] Forked 24640 -(24640) found -[13844] Forked 24641 -(24641) found -[13843] Forked 24642 -(24642) found -[13842] Forked 24643 -(24643) found -[13841] Forked 24644 -(24644) found -[13840] Forked 24645 -(24645) found -[13839] Forked 24646 -(24646) found -[13838] Forked 24647 -(24647) found -[13837] Forked 24648 -(24648) found -[13836] Forked 24649 -(24649) found -[13835] Forked 24650 -(24650) found -[13834] Forked 24651 -(24651) found -[13833] Forked 24652 -(24652) found -[13832] Forked 24653 -(24653) found -[13831] Forked 24654 -(24654) found -[13830] Forked 24655 -(24655) found -[13829] Forked 24656 -(24656) found -[13828] Forked 24657 -(24657) found -[13827] Forked 24658 -(24658) found -[13826] Forked 24659 -(24659) found -[13825] Forked 24660 -(24660) found -[13824] Forked 24661 -(24661) found -[13823] Forked 24662 -(24662) found -[13822] Forked 24663 -(24663) found -[13821] Forked 24664 -(24664) found -[13820] Forked 24665 -(24665) found -[13819] Forked 24666 -(24666) found -[13818] Forked 24667 -(24667) found -[13817] Forked 24668 -(24668) found -[13816] Forked 24669 -(24669) found -[13815] Forked 24670 -(24670) found -[13814] Forked 24671 -(24671) found -[13813] Forked 24672 -(24672) found -[13812] Forked 24673 -(24673) found -[13811] Forked 24674 -(24674) found -[13810] Forked 24675 -(24675) found -[13809] Forked 24676 -(24676) found -[13808] Forked 24677 -(24677) found -[13807] Forked 24678 -(24678) found -[13806] Forked 24679 -(24679) found -[13805] Forked 24680 -(24680) found -[13804] Forked 24681 -(24681) found -[13803] Forked 24682 -(24682) found -[13802] Forked 24683 -(24683) found -[13801] Forked 24684 -(24684) found -[13800] Forked 24685 -(24685) found -[13799] Forked 24686 -(24686) found -[13798] Forked 24687 -(24687) found -[13797] Forked 24688 -[13796] Forked 24690 -(24688) found -(24690) found -[13795] Forked 24691 -(24691) found -[13794] Forked 24692 -(24692) found -[13793] Forked 24693 -(24693) found -[13792] Forked 24694 -[13791] Forked 24695 -(24694) found -(24695) found -[13790] Forked 24696 -[13789] Forked 24697 -(24696) found -(24697) found -[13788] Forked 24698 -[13787] Forked 24699 -(24698) found -(24699) found -[13786] Forked 24700 -[13785] Forked 24701 -(24700) found -(24701) found -[13784] Forked 24702 -[13783] Forked 24703 -(24702) found -(24703) found -[13782] Forked 24704 -[13781] Forked 24705 -(24704) found -(24705) found -[13780] Forked 24706 -[13779] Forked 24707 -(24706) found -(24707) found -[13778] Forked 24708 -[13777] Forked 24709 -(24708) found -(24709) found -[13776] Forked 24710 -[13775] Forked 24711 -(24710) found -(24711) found -[13774] Forked 24712 -[13773] Forked 24713 -(24712) found -(24713) found -[13772] Forked 24714 -[13771] Forked 24715 -(24714) found -(24715) found -[13770] Forked 24716 -[13769] Forked 24717 -(24716) found -(24717) found -[13768] Forked 24718 -[13767] Forked 24719 -(24718) found -(24719) found -[13766] Forked 24720 -[13765] Forked 24721 -(24720) found -(24721) found -[13764] Forked 24722 -[13763] Forked 24723 -(24722) found -(24723) found -[13762] Forked 24724 -[13761] Forked 24725 -(24724) found -(24725) found -[13760] Forked 24726 -[13759] Forked 24727 -(24726) found -(24727) found -[13758] Forked 24728 -[13757] Forked 24729 -(24728) found -(24729) found -[13756] Forked 24730 -[13755] Forked 24731 -(24730) found -(24731) found -[13754] Forked 24732 -[13753] Forked 24733 -(24732) found -(24733) found -[13752] Forked 24734 -(24734) found -[13751] Forked 24735 -(24735) found -[13750] Forked 24736 -(24736) found -[13749] Forked 24737 -(24737) found -[13748] Forked 24738 -(24738) found -[13747] Forked 24739 -(24739) found -[13746] Forked 24740 -(24740) found -[13745] Forked 24741 -(24741) found -[13744] Forked 24742 -(24742) found -[13743] Forked 24743 -(24743) found -[13742] Forked 24744 -(24744) found -[13741] Forked 24745 -(24745) found -[13740] Forked 24746 -(24746) found -[13739] Forked 24747 -(24747) found -[13738] Forked 24748 -(24748) found -[13737] Forked 24749 -(24749) found -[13736] Forked 24750 -(24750) found -[13735] Forked 24751 -(24751) found -[13734] Forked 24752 -(24752) found -[13733] Forked 24753 -(24753) found -[13732] Forked 24754 -(24754) found -[13731] Forked 24755 -(24755) found -[13730] Forked 24756 -(24756) found -[13729] Forked 24757 -(24757) found -[13728] Forked 24758 -(24758) found -[13727] Forked 24759 -(24759) found -[13726] Forked 24760 -(24760) found -[13725] Forked 24761 -(24761) found -[13724] Forked 24762 -(24762) found -[13723] Forked 24763 -(24763) found -[13722] Forked 24764 -(24764) found -[13721] Forked 24765 -(24765) found -[13720] Forked 24766 -(24766) found -[13719] Forked 24767 -(24767) found -[13718] Forked 24768 -(24768) found -[13717] Forked 24769 -(24769) found -[13716] Forked 24770 -[13715] Forked 24771 -(24770) found -(24771) found -[13714] Forked 24772 -[13713] Forked 24773 -(24772) found -(24773) found -[13712] Forked 24774 -[13711] Forked 24776 -(24774) found -(24776) found -[13710] Forked 24777 -(24777) found -[13709] Forked 24778 -(24778) found -[13708] Forked 24779 -(24779) found -[13707] Forked 24780 -(24780) found -[13706] Forked 24781 -(24781) found -[13705] Forked 24782 -(24782) found -[13704] Forked 24783 -(24783) found -[13703] Forked 24784 -(24784) found -[13702] Forked 24785 -(24785) found -[13701] Forked 24786 -(24786) found -[13700] Forked 24787 -(24787) found -[13699] Forked 24788 -(24788) found -[13698] Forked 24789 -(24789) found -[13697] Forked 24790 -(24790) found -[13696] Forked 24791 -(24791) found -[13695] Forked 24792 -(24792) found -[13694] Forked 24793 -(24793) found -[13693] Forked 24794 -(24794) found -[13692] Forked 24795 -(24795) found -[13691] Forked 24796 -(24796) found -[13690] Forked 24797 -(24797) found -[13689] Forked 24798 -(24798) found -[13688] Forked 24799 -(24799) found -[13687] Forked 24800 -(24800) found -[13686] Forked 24801 -(24801) found -[13685] Forked 24802 -(24802) found -[13684] Forked 24803 -(24803) found -[13683] Forked 24804 -(24804) found -[13682] Forked 24805 -(24805) found -[13681] Forked 24806 -(24806) found -[13680] Forked 24807 -(24807) found -[13679] Forked 24808 -(24808) found -[13678] Forked 24809 -(24809) found -[13677] Forked 24810 -(24810) found -[13676] Forked 24811 -(24811) found -[13675] Forked 24812 -(24812) found -[13674] Forked 24813 -(24813) found -[13673] Forked 24814 -(24814) found -[13672] Forked 24815 -(24815) found -[13671] Forked 24816 -(24816) found -[13670] Forked 24817 -(24817) found -[13669] Forked 24818 -(24818) found -[13668] Forked 24819 -(24819) found -[13667] Forked 24820 -(24820) found -[13666] Forked 24821 -(24821) found -[13665] Forked 24822 -(24822) found -[13664] Forked 24823 -(24823) found -[13663] Forked 24824 -(24824) found -[13662] Forked 24825 -(24825) found -[13661] Forked 24826 -(24826) found -[13660] Forked 24827 -(24827) found -[13659] Forked 24828 -(24828) found -[13658] Forked 24829 -(24829) found -[13657] Forked 24830 -(24830) found -[13656] Forked 24831 -(24831) found -[13655] Forked 24832 -(24832) found -[13654] Forked 24833 -(24833) found -[13653] Forked 24834 -(24834) found -[13652] Forked 24835 -(24835) found -[13651] Forked 24836 -(24836) found -[13650] Forked 24837 -(24837) found -[13649] Forked 24838 -(24838) found -[13648] Forked 24839 -(24839) found -[13647] Forked 24840 -(24840) found -[13646] Forked 24841 -(24841) found -[13645] Forked 24842 -(24842) found -[13644] Forked 24843 -(24843) found -[13643] Forked 24844 -(24844) found -[13642] Forked 24845 -(24845) found -[13641] Forked 24846 -(24846) found -[13640] Forked 24847 -(24847) found -[13639] Forked 24848 -(24848) found -[13638] Forked 24849 -(24849) found -[13637] Forked 24850 -(24850) found -[13636] Forked 24851 -(24851) found -[13635] Forked 24852 -(24852) found -[13634] Forked 24853 -(24853) found -[13633] Forked 24854 -(24854) found -[13632] Forked 24855 -(24855) found -[13631] Forked 24856 -(24856) found -[13630] Forked 24857 -(24857) found -[13629] Forked 24858 -(24858) found -[13628] Forked 24859 -(24859) found -[13627] Forked 24860 -(24860) found -[13626] Forked 24861 -(24861) found -[13625] Forked 24862 -(24862) found -[13624] Forked 24863 -(24863) found -[13623] Forked 24864 -(24864) found -[13622] Forked 24865 -(24865) found -[13621] Forked 24866 -(24866) found -[13620] Forked 24867 -(24867) found -[13619] Forked 24868 -(24868) found -[13618] Forked 24869 -(24869) found -[13617] Forked 24870 -(24870) found -[13616] Forked 24871 -(24871) found -[13615] Forked 24872 -(24872) found -[13614] Forked 24873 -(24873) found -[13613] Forked 24874 -(24874) found -[13612] Forked 24875 -(24875) found -[13611] Forked 24876 -(24876) found -[13610] Forked 24877 -(24877) found -[13609] Forked 24878 -(24878) found -[13608] Forked 24879 -[13607] Forked 24880 -(24879) found -(24880) found -[13606] Forked 24881 -[13605] Forked 24882 -(24881) found -(24882) found -[13604] Forked 24883 -[13603] Forked 24884 -(24883) found -(24884) found -[13602] Forked 24885 -[13601] Forked 24886 -(24885) found -(24886) found -[13600] Forked 24887 -[13599] Forked 24888 -(24887) found -(24888) found -[13598] Forked 24889 -(24889) found -[13597] Forked 24890 -[13596] Forked 24891 -(24890) found -(24891) found -[13595] Forked 24892 -[13594] Forked 24893 -(24892) found -(24893) found -[13593] Forked 24894 -[13592] Forked 24895 -(24894) found -(24895) found -[13591] Forked 24896 -[13590] Forked 24897 -(24896) found -(24897) found -[13589] Forked 24898 -[13588] Forked 24899 -(24898) found -(24899) found -[13587] Forked 24900 -[13586] Forked 24901 -(24900) found -(24901) found -[13585] Forked 24902 -[13584] Forked 24903 -(24902) found -(24903) found -[13583] Forked 24904 -[13582] Forked 24905 -(24904) found -(24905) found -[13581] Forked 24906 -[13580] Forked 24907 -(24906) found -(24907) found -[13579] Forked 24908 -[13578] Forked 24909 -(24908) found -(24909) found -[13577] Forked 24910 -[13576] Forked 24911 -(24910) found -(24911) found -[13575] Forked 24912 -[13574] Forked 24913 -(24912) found -(24913) found -[13573] Forked 24914 -[13572] Forked 24915 -(24914) found -(24915) found -[13571] Forked 24916 -[13570] Forked 24917 -(24916) found -(24917) found -[13569] Forked 24918 -[13568] Forked 24919 -(24918) found -(24919) found -[13567] Forked 24920 -[13566] Forked 24921 -(24920) found -(24921) found -[13565] Forked 24922 -[13564] Forked 24923 -(24922) found -(24923) found -[13563] Forked 24924 -[13562] Forked 24925 -(24924) found -(24925) found -[13561] Forked 24926 -[13560] Forked 24927 -(24926) found -(24927) found -[13559] Forked 24928 -[13558] Forked 24929 -(24928) found -(24929) found -[13557] Forked 24930 -[13556] Forked 24931 -(24930) found -(24931) found -[13555] Forked 24932 -[13554] Forked 24933 -(24932) found -(24933) found -[13553] Forked 24934 -[13552] Forked 24935 -(24934) found -(24935) found -[13551] Forked 24936 -[13550] Forked 24937 -(24936) found -(24937) found -[13549] Forked 24938 -[13548] Forked 24939 -(24938) found -(24939) found -[13547] Forked 24940 -[13546] Forked 24941 -(24940) found -(24941) found -[13545] Forked 24942 -[13544] Forked 24943 -(24942) found -(24943) found -[13543] Forked 24944 -[13542] Forked 24945 -(24944) found -(24945) found -[13541] Forked 24946 -[13540] Forked 24947 -(24946) found -(24947) found -[13539] Forked 24948 -[13538] Forked 24949 -(24948) found -(24949) found -[13537] Forked 24950 -[13536] Forked 24951 -(24950) found -(24951) found -[13535] Forked 24952 -[13534] Forked 24953 -(24952) found -(24953) found -[13533] Forked 24954 -[13532] Forked 24955 -(24954) found -(24955) found -[13531] Forked 24956 -[13530] Forked 24957 -(24956) found -(24957) found -[13529] Forked 24958 -[13528] Forked 24959 -(24958) found -(24959) found -[13527] Forked 24960 -[13526] Forked 24961 -(24960) found -(24961) found -[13525] Forked 24962 -[13524] Forked 24963 -(24962) found -(24963) found -[13523] Forked 24964 -[13522] Forked 24965 -(24964) found -(24965) found -[13521] Forked 24966 -[13520] Forked 24967 -(24966) found -(24967) found -[13519] Forked 24968 -[13518] Forked 24969 -(24968) found -(24969) found -[13517] Forked 24970 -(24970) found -[13516] Forked 24971 -(24971) found -[13515] Forked 24972 -(24972) found -[13514] Forked 24973 -(24973) found -[13513] Forked 24974 -(24974) found -[13512] Forked 24975 -(24975) found -[13511] Forked 24976 -(24976) found -[13510] Forked 24977 -(24977) found -[13509] Forked 24978 -(24978) found -[13508] Forked 24979 -(24979) found -[13507] Forked 24980 -(24980) found -[13506] Forked 24981 -(24981) found -[13505] Forked 24982 -(24982) found -[13504] Forked 24983 -(24983) found -[13503] Forked 24984 -(24984) found -[13502] Forked 24985 -(24985) found -[13501] Forked 24986 -(24986) found -[13500] Forked 24987 -(24987) found -[13499] Forked 24988 -(24988) found -[13498] Forked 24989 -(24989) found -[13497] Forked 24990 -(24990) found -[13496] Forked 24991 -(24991) found -[13495] Forked 24992 -(24992) found -[13494] Forked 24993 -(24993) found -[13493] Forked 24994 -(24994) found -[13492] Forked 24996 -(24996) found -[13491] Forked 24997 -(24997) found -[13490] Forked 24998 -(24998) found -[13489] Forked 24999 -(24999) found -[13488] Forked 25000 -(25000) found -[13487] Forked 25001 -(25001) found -[13486] Forked 25002 -(25002) found -[13485] Forked 25003 -(25003) found -[13484] Forked 25004 -(25004) found -[13483] Forked 25005 -(25005) found -[13482] Forked 25006 -(25006) found -[13481] Forked 25007 -[13480] Forked 25008 -(25007) found -(25008) found -[13479] Forked 25009 -[13478] Forked 25010 -(25009) found -(25010) found -[13477] Forked 25011 -[13476] Forked 25013 -(25011) found -(25013) found -[13475] Forked 25014 -(25014) found -[13474] Forked 25015 -(25015) found -[13473] Forked 25016 -(25016) found -[13472] Forked 25017 -(25017) found -[13471] Forked 25018 -(25018) found -[13470] Forked 25019 -(25019) found -[13469] Forked 25020 -(25020) found -[13468] Forked 25021 -(25021) found -[13467] Forked 25022 -(25022) found -[13466] Forked 25023 -(25023) found -[13465] Forked 25024 -(25024) found -[13464] Forked 25025 -(25025) found -[13463] Forked 25026 -(25026) found -[13462] Forked 25027 -(25027) found -[13461] Forked 25028 -(25028) found -[13460] Forked 25029 -(25029) found -[13459] Forked 25030 -(25030) found -[13458] Forked 25031 -(25031) found -[13457] Forked 25032 -(25032) found -[13456] Forked 25033 -(25033) found -[13455] Forked 25034 -(25034) found -[13454] Forked 25035 -(25035) found -[13453] Forked 25036 -(25036) found -[13452] Forked 25037 -(25037) found -[13451] Forked 25038 -(25038) found -[13450] Forked 25039 -(25039) found -[13449] Forked 25040 -(25040) found -[13448] Forked 25041 -(25041) found -[13447] Forked 25042 -(25042) found -[13446] Forked 25043 -(25043) found -[13445] Forked 25044 -(25044) found -[13444] Forked 25045 -(25045) found -[13443] Forked 25046 -(25046) found -[13442] Forked 25047 -(25047) found -[13441] Forked 25048 -(25048) found -[13440] Forked 25049 -(25049) found -[13439] Forked 25050 -(25050) found -[13438] Forked 25051 -(25051) found -[13437] Forked 25052 -(25052) found -[13436] Forked 25053 -(25053) found -[13435] Forked 25054 -(25054) found -[13434] Forked 25055 -(25055) found -[13433] Forked 25056 -(25056) found -[13432] Forked 25057 -(25057) found -[13431] Forked 25058 -(25058) found -[13430] Forked 25059 -(25059) found -[13429] Forked 25060 -(25060) found -[13428] Forked 25061 -(25061) found -[13427] Forked 25062 -(25062) found -[13426] Forked 25063 -(25063) found -[13425] Forked 25064 -(25064) found -[13424] Forked 25065 -(25065) found -[13423] Forked 25066 -(25066) found -[13422] Forked 25067 -(25067) found -[13421] Forked 25068 -(25068) found -[13420] Forked 25069 -(25069) found -[13419] Forked 25070 -(25070) found -[13418] Forked 25071 -(25071) found -[13417] Forked 25072 -(25072) found -[13416] Forked 25073 -(25073) found -[13415] Forked 25074 -(25074) found -[13414] Forked 25075 -(25075) found -[13413] Forked 25076 -(25076) found -[13412] Forked 25077 -(25077) found -[13411] Forked 25078 -(25078) found -[13410] Forked 25079 -[13409] Forked 25080 -(25079) found -(25080) found -[13408] Forked 25081 -[13407] Forked 25082 -(25081) found -(25082) found -[13406] Forked 25083 -[13405] Forked 25084 -(25083) found -(25084) found -[13404] Forked 25085 -[13403] Forked 25086 -(25085) found -(25086) found -[13402] Forked 25087 -[13401] Forked 25088 -(25087) found -(25088) found -[13400] Forked 25089 -[13399] Forked 25090 -(25089) found -(25090) found -[13398] Forked 25091 -[13397] Forked 25092 -(25091) found -(25092) found -[13396] Forked 25093 -[13395] Forked 25094 -(25093) found -(25094) found -[13394] Forked 25095 -[13393] Forked 25096 -(25095) found -(25096) found -[13392] Forked 25097 -[13391] Forked 25098 -(25097) found -(25098) found -[13390] Forked 25099 -[13389] Forked 25100 -(25099) found -(25100) found -[13388] Forked 25101 -[13387] Forked 25102 -(25101) found -(25102) found -[13386] Forked 25103 -[13385] Forked 25104 -(25103) found -(25104) found -[13384] Forked 25105 -[13383] Forked 25106 -(25105) found -(25106) found -[13382] Forked 25107 -[13381] Forked 25108 -(25107) found -(25108) found -[13380] Forked 25109 -[13379] Forked 25110 -(25109) found -(25110) found -[13378] Forked 25111 -[13377] Forked 25112 -(25111) found -(25112) found -[13376] Forked 25113 -[13375] Forked 25114 -(25113) found -(25114) found -[13374] Forked 25115 -[13373] Forked 25116 -(25115) found -(25116) found -[13372] Forked 25117 -[13371] Forked 25118 -(25117) found -(25118) found -[13370] Forked 25119 -[13369] Forked 25120 -(25119) found -(25120) found -[13368] Forked 25121 -[13367] Forked 25122 -(25121) found -(25122) found -[13366] Forked 25123 -[13365] Forked 25124 -(25123) found -(25124) found -[13364] Forked 25125 -[13363] Forked 25126 -(25125) found -(25126) found -[13362] Forked 25127 -[13361] Forked 25128 -(25127) found -(25128) found -[13360] Forked 25129 -[13359] Forked 25130 -(25129) found -(25130) found -[13358] Forked 25131 -[13357] Forked 25132 -(25131) found -(25132) found -[13356] Forked 25133 -[13355] Forked 25134 -(25133) found -(25134) found -[13354] Forked 25135 -[13353] Forked 25136 -(25135) found -(25136) found -[13352] Forked 25137 -[13351] Forked 25138 -(25137) found -(25138) found -[13350] Forked 25139 -[13349] Forked 25140 -(25139) found -(25140) found -[13348] Forked 25141 -[13347] Forked 25142 -(25141) found -(25142) found -[13346] Forked 25143 -[13345] Forked 25144 -(25143) found -(25144) found -[13344] Forked 25145 -[13343] Forked 25146 -(25145) found -(25146) found -[13342] Forked 25147 -[13341] Forked 25148 -(25147) found -(25148) found -[13340] Forked 25149 -[13339] Forked 25150 -(25149) found -(25150) found -[13338] Forked 25151 -[13337] Forked 25152 -(25151) found -(25152) found -[13336] Forked 25153 -[13335] Forked 25154 -(25153) found -(25154) found -[13334] Forked 25155 -[13333] Forked 25156 -(25155) found -(25156) found -[13332] Forked 25157 -[13331] Forked 25158 -(25157) found -(25158) found -[13330] Forked 25159 -[13329] Forked 25160 -(25159) found -(25160) found -[13328] Forked 25161 -[13327] Forked 25162 -(25161) found -(25162) found -[13326] Forked 25163 -[13325] Forked 25164 -(25163) found -(25164) found -[13324] Forked 25165 -[13323] Forked 25166 -(25165) found -(25166) found -[13322] Forked 25167 -[13321] Forked 25168 -(25167) found -(25168) found -[13320] Forked 25169 -[13319] Forked 25170 -(25169) found -(25170) found -[13318] Forked 25171 -[13317] Forked 25172 -(25171) found -(25172) found -[13316] Forked 25173 -[13315] Forked 25174 -(25173) found -(25174) found -[13314] Forked 25175 -[13313] Forked 25176 -(25175) found -(25176) found -[13312] Forked 25177 -[13311] Forked 25178 -(25177) found -(25178) found -[13310] Forked 25179 -[13309] Forked 25180 -(25179) found -(25180) found -[13308] Forked 25181 -[13307] Forked 25182 -(25181) found -(25182) found -[13306] Forked 25183 -[13305] Forked 25184 -(25183) found -(25184) found -[13304] Forked 25185 -[13303] Forked 25186 -(25185) found -(25186) found -[13302] Forked 25187 -[13301] Forked 25188 -(25187) found -(25188) found -[13300] Forked 25189 -[13299] Forked 25190 -(25189) found -(25190) found -[13298] Forked 25191 -[13297] Forked 25192 -(25191) found -(25192) found -[13296] Forked 25193 -[13295] Forked 25194 -(25193) found -(25194) found -[13294] Forked 25195 -[13293] Forked 25196 -(25195) found -(25196) found -[13292] Forked 25197 -[13291] Forked 25198 -(25197) found -(25198) found -[13290] Forked 25199 -[13289] Forked 25200 -(25199) found -(25200) found -[13288] Forked 25201 -[13287] Forked 25202 -(25201) found -(25202) found -[13286] Forked 25203 -[13285] Forked 25204 -(25203) found -(25204) found -[13284] Forked 25205 -[13283] Forked 25206 -(25205) found -(25206) found -[13282] Forked 25207 -[13281] Forked 25208 -(25207) found -(25208) found -[13280] Forked 25209 -[13279] Forked 25210 -(25209) found -(25210) found -[13278] Forked 25211 -[13277] Forked 25212 -(25211) found -(25212) found -[13276] Forked 25213 -[13275] Forked 25214 -(25213) found -(25214) found -[13274] Forked 25215 -[13273] Forked 25216 -(25215) found -(25216) found -[13272] Forked 25217 -[13271] Forked 25218 -(25217) found -(25218) found -[13270] Forked 25219 -[13269] Forked 25220 -(25219) found -(25220) found -[13268] Forked 25221 -[13267] Forked 25222 -(25221) found -(25222) found -[13266] Forked 25223 -[13265] Forked 25224 -(25223) found -(25224) found -[13264] Forked 25225 -[13263] Forked 25226 -(25225) found -(25226) found -[13262] Forked 25227 -[13261] Forked 25228 -(25227) found -(25228) found -[13260] Forked 25229 -[13259] Forked 25230 -(25229) found -(25230) found -[13258] Forked 25231 -[13257] Forked 25232 -(25231) found -(25232) found -[13256] Forked 25233 -[13255] Forked 25234 -(25233) found -(25234) found -[13254] Forked 25235 -[13253] Forked 25236 -(25235) found -(25236) found -[13252] Forked 25237 -[13251] Forked 25238 -(25237) found -(25238) found -[13250] Forked 25239 -[13249] Forked 25240 -(25239) found -(25240) found -[13248] Forked 25241 -[13247] Forked 25242 -(25241) found -(25242) found -[13246] Forked 25243 -[13245] Forked 25244 -(25243) found -(25244) found -[13244] Forked 25245 -[13243] Forked 25246 -(25245) found -(25246) found -[13242] Forked 25247 -[13241] Forked 25248 -(25247) found -(25248) found -[13240] Forked 25249 -[13239] Forked 25250 -(25249) found -(25250) found -[13238] Forked 25251 -[13237] Forked 25252 -(25251) found -(25252) found -[13236] Forked 25253 -[13235] Forked 25254 -(25253) found -(25254) found -[13234] Forked 25255 -[13233] Forked 25256 -(25255) found -(25256) found -[13232] Forked 25257 -[13231] Forked 25258 -(25257) found -(25258) found -[13230] Forked 25259 -[13229] Forked 25260 -(25259) found -(25260) found -[13228] Forked 25261 -(25261) found -[13227] Forked 25262 -(25262) found -[13226] Forked 25263 -(25263) found -[13225] Forked 25264 -(25264) found -[13224] Forked 25265 -(25265) found -[13223] Forked 25266 -(25266) found -[13222] Forked 25267 -(25267) found -[13221] Forked 25268 -(25268) found -[13220] Forked 25269 -(25269) found -[13219] Forked 25270 -(25270) found -[13218] Forked 25271 -(25271) found -[13217] Forked 25272 -(25272) found -[13216] Forked 25273 -(25273) found -[13215] Forked 25274 -(25274) found -[13214] Forked 25275 -(25275) found -[13213] Forked 25276 -(25276) found -[13212] Forked 25277 -(25277) found -[13211] Forked 25278 -(25278) found -[13210] Forked 25279 -(25279) found -[13209] Forked 25280 -(25280) found -[13208] Forked 25281 -(25281) found -[13207] Forked 25282 -(25282) found -[13206] Forked 25283 -(25283) found -[13205] Forked 25284 -(25284) found -[13204] Forked 25285 -(25285) found -[13203] Forked 25286 -(25286) found -[13202] Forked 25287 -(25287) found -[13201] Forked 25288 -(25288) found -[13200] Forked 25289 -(25289) found -[13199] Forked 25290 -(25290) found -[13198] Forked 25291 -(25291) found -[13197] Forked 25292 -(25292) found -[13196] Forked 25293 -(25293) found -[13195] Forked 25294 -(25294) found -[13194] Forked 25295 -[13193] Forked 25296 -(25295) found -(25296) found -[13192] Forked 25297 -[13191] Forked 25298 -(25297) found -(25298) found -[13190] Forked 25299 -[13189] Forked 25300 -(25299) found -(25300) found -[13188] Forked 25301 -[13187] Forked 25302 -(25301) found -(25302) found -[13186] Forked 25303 -[13185] Forked 25304 -(25303) found -(25304) found -[13184] Forked 25305 -[13183] Forked 25306 -(25305) found -(25306) found -[13182] Forked 25307 -[13181] Forked 25308 -(25307) found -(25308) found -[13180] Forked 25309 -[13179] Forked 25310 -(25309) found -(25310) found -[13178] Forked 25311 -[13177] Forked 25312 -(25311) found -(25312) found -[13176] Forked 25313 -[13175] Forked 25314 -(25313) found -(25314) found -[13174] Forked 25315 -[13173] Forked 25316 -(25315) found -(25316) found -[13172] Forked 25317 -[13171] Forked 25318 -(25317) found -(25318) found -[13170] Forked 25319 -[13169] Forked 25320 -(25319) found -(25320) found -[13168] Forked 25321 -[13167] Forked 25322 -(25321) found -(25322) found -[13166] Forked 25323 -[13165] Forked 25324 -(25323) found -(25324) found -[13164] Forked 25325 -[13163] Forked 25326 -(25325) found -(25326) found -[13162] Forked 25327 -[13161] Forked 25328 -(25327) found -(25328) found -[13160] Forked 25329 -[13159] Forked 25330 -(25329) found -(25330) found -[13158] Forked 25331 -[13157] Forked 25332 -(25331) found -(25332) found -[13156] Forked 25333 -(25333) found -[13155] Forked 25334 -[13154] Forked 25335 -(25334) found -(25335) found -[13153] Forked 25336 -[13152] Forked 25337 -(25336) found -(25337) found -[13151] Forked 25338 -[13150] Forked 25339 -(25338) found -(25339) found -[13149] Forked 25340 -[13148] Forked 25341 -(25340) found -(25341) found -[13147] Forked 25342 -[13146] Forked 25343 -(25342) found -(25343) found -[13145] Forked 25344 -[13144] Forked 25345 -(25344) found -(25345) found -[13143] Forked 25346 -[13142] Forked 25347 -(25346) found -(25347) found -[13141] Forked 25348 -[13140] Forked 25349 -(25348) found -(25349) found -[13139] Forked 25350 -[13138] Forked 25351 -(25350) found -(25351) found -[13137] Forked 25352 -[13136] Forked 25353 -(25352) found -(25353) found -[13135] Forked 25354 -[13134] Forked 25355 -(25354) found -(25355) found -[13133] Forked 25356 -[13132] Forked 25357 -(25356) found -(25357) found -[13131] Forked 25358 -[13130] Forked 25359 -(25358) found -(25359) found -[13129] Forked 25360 -[13128] Forked 25361 -(25360) found -(25361) found -[13127] Forked 25362 -[13126] Forked 25363 -(25362) found -(25363) found -[13125] Forked 25364 -[13124] Forked 25365 -(25364) found -(25365) found -[13123] Forked 25366 -[13122] Forked 25367 -(25366) found -(25367) found -[13121] Forked 25368 -[13120] Forked 25369 -(25368) found -(25369) found -[13119] Forked 25370 -[13118] Forked 25371 -(25370) found -(25371) found -[13117] Forked 25372 -[13116] Forked 25373 -(25372) found -(25373) found -[13115] Forked 25374 -[13114] Forked 25375 -(25374) found -(25375) found -[13113] Forked 25376 -[13112] Forked 25377 -(25376) found -(25377) found -[13111] Forked 25378 -[13110] Forked 25379 -(25378) found -(25379) found -[13109] Forked 25380 -[13108] Forked 25381 -(25380) found -(25381) found -[13107] Forked 25382 -[13106] Forked 25383 -(25382) found -(25383) found -[13105] Forked 25384 -[13104] Forked 25385 -(25384) found -(25385) found -[13103] Forked 25386 -[13102] Forked 25387 -(25386) found -(25387) found -[13101] Forked 25388 -[13100] Forked 25389 -(25388) found -(25389) found -[13099] Forked 25390 -[13098] Forked 25391 -(25390) found -(25391) found -[13097] Forked 25392 -[13096] Forked 25393 -(25392) found -(25393) found -[13095] Forked 25394 -[13094] Forked 25396 -(25394) found -(25396) found -[13093] Forked 25397 -(25397) found -[13092] Forked 25398 -(25398) found -[13091] Forked 25399 -(25399) found -[13090] Forked 25400 -(25400) found -[13089] Forked 25401 -(25401) found -[13088] Forked 25402 -(25402) found -[13087] Forked 25403 -(25403) found -[13086] Forked 25404 -(25404) found -[13085] Forked 25405 -(25405) found -[13084] Forked 25406 -(25406) found -[13083] Forked 25407 -(25407) found -[13082] Forked 25408 -(25408) found -[13081] Forked 25409 -(25409) found -[13080] Forked 25410 -(25410) found -[13079] Forked 25411 -(25411) found -[13078] Forked 25412 -(25412) found -[13077] Forked 25413 -(25413) found -[13076] Forked 25414 -(25414) found -[13075] Forked 25416 -(25416) found -[13074] Forked 25417 -(25417) found -[13073] Forked 25418 -(25418) found -[13072] Forked 25419 -(25419) found -[13071] Forked 25420 -(25420) found -[13070] Forked 25421 -(25421) found -[13069] Forked 25422 -(25422) found -[13068] Forked 25423 -(25423) found -[13067] Forked 25424 -(25424) found -[13066] Forked 25426 -(25426) found -[13065] Forked 25428 -(25428) found -[13064] Forked 25430 -(25430) found -[13063] Forked 25431 -(25431) found -[13062] Forked 25432 -(25432) found -[13061] Forked 25433 -(25433) found -[13060] Forked 25434 -(25434) found -[13059] Forked 25435 -(25435) found -[13058] Forked 25436 -(25436) found -[13057] Forked 25437 -(25437) found -[13056] Forked 25438 -(25438) found -[13055] Forked 25439 -(25439) found -[13054] Forked 25440 -(25440) found -[13053] Forked 25441 -(25441) found -[13052] Forked 25442 -(25442) found -[13051] Forked 25443 -(25443) found -[13050] Forked 25444 -(25444) found -[13049] Forked 25445 -(25445) found -[13048] Forked 25446 -(25446) found -[13047] Forked 25447 -(25447) found -[13046] Forked 25448 -(25448) found -[13045] Forked 25449 -(25449) found -[13044] Forked 25450 -(25450) found -[13043] Forked 25451 -(25451) found -[13042] Forked 25452 -(25452) found -[13041] Forked 25453 -(25453) found -[13040] Forked 25454 -(25454) found -[13039] Forked 25455 -(25455) found -[13038] Forked 25456 -(25456) found -[13037] Forked 25457 -(25457) found -[13036] Forked 25458 -(25458) found -[13035] Forked 25459 -(25459) found -[13034] Forked 25460 -(25460) found -[13033] Forked 25461 -[13032] Forked 25462 -(25461) found -(25462) found -[13031] Forked 25463 -[13030] Forked 25464 -(25463) found -(25464) found -[13029] Forked 25465 -[13028] Forked 25466 -(25465) found -(25466) found -[13027] Forked 25467 -[13026] Forked 25468 -(25467) found -(25468) found -[13025] Forked 25469 -[13024] Forked 25470 -(25469) found -(25470) found -[13023] Forked 25471 -[13022] Forked 25472 -(25471) found -(25472) found -[13021] Forked 25473 -[13020] Forked 25474 -(25473) found -(25474) found -[13019] Forked 25475 -[13018] Forked 25476 -(25475) found -(25476) found -[13017] Forked 25477 -[13016] Forked 25478 -(25477) found -(25478) found -[13015] Forked 25479 -[13014] Forked 25480 -(25479) found -(25480) found -[13013] Forked 25481 -[13012] Forked 25482 -(25481) found -(25482) found -[13011] Forked 25483 -[13010] Forked 25484 -(25483) found -(25484) found -[13009] Forked 25485 -[13008] Forked 25486 -(25485) found -(25486) found -[13007] Forked 25487 -[13006] Forked 25488 -(25487) found -(25488) found -[13005] Forked 25489 -[13004] Forked 25490 -(25489) found -(25490) found -[13003] Forked 25491 -[13002] Forked 25492 -(25491) found -(25492) found -[13001] Forked 25493 -[13000] Forked 25494 -(25493) found -(25494) found -[12999] Forked 25495 -[12998] Forked 25496 -(25495) found -(25496) found -[12997] Forked 25497 -[12996] Forked 25498 -(25497) found -(25498) found -[12995] Forked 25499 -[12994] Forked 25500 -(25499) found -(25500) found -[12993] Forked 25501 -[12992] Forked 25502 -(25501) found -(25502) found -[12991] Forked 25503 -[12990] Forked 25504 -(25503) found -(25504) found -[12989] Forked 25505 -[12988] Forked 25506 -(25505) found -(25506) found -[12987] Forked 25507 -[12986] Forked 25508 -(25507) found -(25508) found -[12985] Forked 25509 -[12984] Forked 25510 -(25509) found -(25510) found -[12983] Forked 25511 -[12982] Forked 25512 -(25511) found -(25512) found -[12981] Forked 25513 -[12980] Forked 25514 -(25513) found -(25514) found -[12979] Forked 25515 -[12978] Forked 25516 -(25515) found -(25516) found -[12977] Forked 25517 -[12976] Forked 25518 -(25517) found -(25518) found -[12975] Forked 25519 -[12974] Forked 25520 -(25519) found -(25520) found -[12973] Forked 25521 -[12972] Forked 25522 -(25521) found -(25522) found -[12971] Forked 25523 -[12970] Forked 25524 -(25523) found -(25524) found -[12969] Forked 25525 -[12968] Forked 25526 -(25525) found -(25526) found -[12967] Forked 25527 -[12966] Forked 25528 -(25527) found -(25528) found -[12965] Forked 25529 -[12964] Forked 25530 -(25529) found -(25530) found -[12963] Forked 25531 -[12962] Forked 25532 -(25531) found -(25532) found -[12961] Forked 25533 -[12960] Forked 25534 -(25533) found -(25534) found -[12959] Forked 25535 -[12958] Forked 25536 -(25535) found -(25536) found -[12957] Forked 25537 -[12956] Forked 25538 -(25537) found -(25538) found -[12955] Forked 25539 -[12954] Forked 25540 -(25539) found -(25540) found -[12953] Forked 25541 -[12952] Forked 25542 -(25541) found -(25542) found -[12951] Forked 25543 -[12950] Forked 25544 -(25543) found -(25544) found -[12949] Forked 25545 -[12948] Forked 25546 -(25545) found -(25546) found -[12947] Forked 25547 -[12946] Forked 25548 -(25547) found -(25548) found -[12945] Forked 25549 -[12944] Forked 25550 -(25549) found -(25550) found -[12943] Forked 25551 -[12942] Forked 25552 -(25551) found -(25552) found -[12941] Forked 25553 -[12940] Forked 25554 -(25553) found -(25554) found -[12939] Forked 25555 -[12938] Forked 25556 -(25555) found -(25556) found -[12937] Forked 25557 -[12936] Forked 25558 -(25557) found -(25558) found -[12935] Forked 25559 -[12934] Forked 25560 -(25559) found -(25560) found -[12933] Forked 25561 -[12932] Forked 25562 -(25561) found -(25562) found -[12931] Forked 25563 -[12930] Forked 25564 -(25563) found -(25564) found -[12929] Forked 25565 -[12928] Forked 25566 -(25565) found -(25566) found -[12927] Forked 25567 -[12926] Forked 25568 -(25567) found -(25568) found -[12925] Forked 25569 -[12924] Forked 25570 -(25569) found -(25570) found -[12923] Forked 25571 -[12922] Forked 25572 -(25571) found -(25572) found -[12921] Forked 25573 -[12920] Forked 25574 -(25573) found -(25574) found -[12919] Forked 25575 -[12918] Forked 25576 -(25575) found -(25576) found -[12917] Forked 25577 -[12916] Forked 25578 -(25577) found -(25578) found -[12915] Forked 25579 -[12914] Forked 25580 -(25579) found -(25580) found -[12913] Forked 25581 -[12912] Forked 25582 -(25581) found -(25582) found -[12911] Forked 25583 -[12910] Forked 25584 -(25583) found -(25584) found -[12909] Forked 25585 -[12908] Forked 25586 -(25585) found -(25586) found -[12907] Forked 25587 -[12906] Forked 25588 -(25587) found -(25588) found -[12905] Forked 25589 -[12904] Forked 25590 -(25589) found -(25590) found -[12903] Forked 25591 -[12902] Forked 25592 -(25591) found -(25592) found -[12901] Forked 25593 -[12900] Forked 25595 -(25593) found -(25595) found -[12899] Forked 25596 -[12898] Forked 25597 -(25596) found -(25597) found -[12897] Forked 25598 -[12896] Forked 25599 -(25599) found -(25598) found -[12895] Forked 25600 -(25600) found -[12894] Forked 25601 -[12893] Forked 25602 -(25601) found -(25602) found -[12892] Forked 25603 -[12891] Forked 25604 -(25603) found -(25604) found -[12890] Forked 25605 -[12889] Forked 25606 -(25605) found -(25606) found -[12888] Forked 25607 -[12887] Forked 25608 -(25607) found -(25608) found -[12886] Forked 25609 -[12885] Forked 25610 -(25609) found -(25610) found -[12884] Forked 25611 -[12883] Forked 25612 -(25611) found -(25612) found -[12882] Forked 25613 -[12881] Forked 25614 -(25613) found -(25614) found -[12880] Forked 25615 -[12879] Forked 25616 -(25615) found -(25616) found -[12878] Forked 25617 -[12877] Forked 25618 -(25617) found -(25618) found -[12876] Forked 25619 -[12875] Forked 25620 -(25619) found -(25620) found -[12874] Forked 25621 -[12873] Forked 25622 -(25621) found -(25622) found -[12872] Forked 25623 -[12871] Forked 25624 -(25623) found -(25624) found -[12870] Forked 25625 -(25625) found -[12869] Forked 25626 -[12868] Forked 25627 -(25626) found -(25627) found -[12867] Forked 25628 -[12866] Forked 25629 -(25628) found -(25629) found -[12865] Forked 25630 -[12864] Forked 25631 -(25630) found -(25631) found -[12863] Forked 25632 -[12862] Forked 25633 -(25632) found -(25633) found -[12861] Forked 25634 -[12860] Forked 25635 -(25634) found -(25635) found -[12859] Forked 25636 -[12858] Forked 25637 -(25636) found -(25637) found -[12857] Forked 25638 -[12856] Forked 25639 -(25638) found -(25639) found -[12855] Forked 25640 -[12854] Forked 25641 -(25640) found -(25641) found -[12853] Forked 25642 -[12852] Forked 25643 -(25642) found -(25643) found -[12851] Forked 25644 -[12850] Forked 25645 -(25644) found -(25645) found -[12849] Forked 25646 -[12848] Forked 25647 -(25646) found -(25647) found -[12847] Forked 25648 -[12846] Forked 25649 -(25648) found -(25649) found -[12845] Forked 25650 -[12844] Forked 25651 -(25650) found -(25651) found -[12843] Forked 25652 -[12842] Forked 25653 -(25652) found -(25653) found -[12841] Forked 25654 -[12840] Forked 25655 -(25654) found -(25655) found -[12839] Forked 25656 -[12838] Forked 25657 -(25656) found -(25657) found -[12837] Forked 25658 -[12836] Forked 25659 -(25658) found -(25659) found -[12835] Forked 25660 -[12834] Forked 25661 -(25660) found -(25661) found -[12833] Forked 25662 -[12832] Forked 25663 -(25662) found -(25663) found -[12831] Forked 25664 -[12830] Forked 25665 -(25664) found -(25665) found -[12829] Forked 25666 -[12828] Forked 25667 -(25666) found -(25667) found -[12827] Forked 25668 -[12826] Forked 25669 -(25668) found -(25669) found -[12825] Forked 25670 -[12824] Forked 25671 -(25670) found -(25671) found -[12823] Forked 25672 -[12822] Forked 25673 -(25672) found -(25673) found -[12821] Forked 25674 -[12820] Forked 25675 -(25674) found -(25675) found -[12819] Forked 25676 -[12818] Forked 25677 -(25676) found -(25677) found -[12817] Forked 25678 -[12816] Forked 25679 -(25678) found -(25679) found -[12815] Forked 25680 -[12814] Forked 25681 -(25680) found -(25681) found -[12813] Forked 25682 -[12812] Forked 25683 -(25682) found -(25683) found -[12811] Forked 25684 -[12810] Forked 25685 -(25684) found -(25685) found -[12809] Forked 25686 -[12808] Forked 25687 -(25686) found -(25687) found -[12807] Forked 25688 -[12806] Forked 25689 -(25688) found -(25689) found -[12805] Forked 25690 -[12804] Forked 25691 -(25690) found -(25691) found -[12803] Forked 25692 -[12802] Forked 25693 -(25692) found -(25693) found -[12801] Forked 25694 -[12800] Forked 25695 -(25694) found -(25695) found -[12799] Forked 25696 -[12798] Forked 25697 -(25696) found -(25697) found -[12797] Forked 25698 -[12796] Forked 25699 -(25698) found -(25699) found -[12795] Forked 25700 -[12794] Forked 25701 -(25700) found -(25701) found -[12793] Forked 25702 -[12792] Forked 25703 -(25702) found -(25703) found -[12791] Forked 25704 -[12790] Forked 25705 -(25704) found -(25705) found -[12789] Forked 25706 -[12788] Forked 25707 -(25706) found -(25707) found -[12787] Forked 25708 -[12786] Forked 25709 -(25708) found -(25709) found -[12785] Forked 25710 -[12784] Forked 25711 -(25710) found -(25711) found -[12783] Forked 25712 -[12782] Forked 25713 -(25712) found -(25713) found -[12781] Forked 25714 -[12780] Forked 25715 -(25714) found -(25715) found -[12779] Forked 25716 -[12778] Forked 25717 -(25716) found -(25717) found -[12777] Forked 25718 -[12776] Forked 25719 -(25718) found -(25719) found -[12775] Forked 25720 -[12774] Forked 25721 -(25720) found -(25721) found -[12773] Forked 25722 -[12772] Forked 25723 -(25722) found -(25723) found -[12771] Forked 25724 -[12770] Forked 25725 -(25724) found -(25725) found -[12769] Forked 25726 -[12768] Forked 25727 -(25727) found -(25726) found -[12767] Forked 25728 -(25728) found -[12766] Forked 25729 -(25729) found -[12765] Forked 25730 -(25730) found -[12764] Forked 25731 -(25731) found -[12763] Forked 25732 -(25732) found -[12762] Forked 25733 -(25733) found -[12761] Forked 25734 -(25734) found -[12760] Forked 25735 -(25735) found -[12759] Forked 25736 -(25736) found -[12758] Forked 25737 -(25737) found -[12757] Forked 25738 -(25738) found -[12756] Forked 25739 -(25739) found -[12755] Forked 25740 -(25740) found -[12754] Forked 25741 -(25741) found -[12753] Forked 25742 -(25742) found -[12752] Forked 25743 -(25743) found -[12751] Forked 25744 -(25744) found -[12750] Forked 25745 -(25745) found -[12749] Forked 25746 -(25746) found -[12748] Forked 25747 -(25747) found -[12747] Forked 25748 -(25748) found -[12746] Forked 25749 -(25749) found -[12745] Forked 25750 -(25750) found -[12744] Forked 25751 -(25751) found -[12743] Forked 25752 -(25752) found -[12742] Forked 25753 -(25753) found -[12741] Forked 25754 -(25754) found -[12740] Forked 25755 -(25755) found -[12739] Forked 25756 -(25756) found -[12738] Forked 25757 -(25757) found -[12737] Forked 25758 -(25758) found -[12736] Forked 25759 -(25759) found -[12735] Forked 25760 -(25760) found -[12734] Forked 25761 -(25761) found -[12733] Forked 25762 -(25762) found -[12732] Forked 25763 -(25763) found -[12731] Forked 25764 -(25764) found -[12730] Forked 25765 -(25765) found -[12729] Forked 25766 -(25766) found -[12728] Forked 25767 -(25767) found -[12727] Forked 25768 -(25768) found -[12726] Forked 25769 -(25769) found -[12725] Forked 25770 -(25770) found -[12724] Forked 25771 -(25771) found -[12723] Forked 25772 -(25772) found -[12722] Forked 25774 -(25774) found -[12721] Forked 25775 -(25775) found -[12720] Forked 25776 -(25776) found -[12719] Forked 25777 -(25777) found -[12718] Forked 25778 -(25778) found -[12717] Forked 25779 -(25779) found -[12716] Forked 25780 -(25780) found -[12715] Forked 25781 -(25781) found -[12714] Forked 25782 -(25782) found -[12713] Forked 25783 -(25783) found -[12712] Forked 25784 -(25784) found -[12711] Forked 25785 -(25785) found -[12710] Forked 25786 -(25786) found -[12709] Forked 25787 -(25787) found -[12708] Forked 25788 -(25788) found -[12707] Forked 25789 -(25789) found -[12706] Forked 25790 -(25790) found -[12705] Forked 25791 -(25791) found -[12704] Forked 25792 -(25792) found -[12703] Forked 25793 -(25793) found -[12702] Forked 25794 -(25794) found -[12701] Forked 25795 -(25795) found -[12700] Forked 25796 -[12699] Forked 25797 -(25796) found -(25797) found -[12698] Forked 25798 -[12697] Forked 25799 -(25798) found -(25799) found -[12696] Forked 25800 -[12695] Forked 25801 -(25800) found -(25801) found -[12694] Forked 25802 -[12693] Forked 25803 -(25802) found -(25803) found -[12692] Forked 25804 -[12691] Forked 25805 -(25804) found -(25805) found -[12690] Forked 25806 -[12689] Forked 25807 -(25806) found -(25807) found -[12688] Forked 25808 -[12687] Forked 25809 -(25808) found -(25809) found -[12686] Forked 25810 -[12685] Forked 25811 -(25810) found -(25811) found -[12684] Forked 25812 -[12683] Forked 25813 -(25812) found -(25813) found -[12682] Forked 25814 -[12681] Forked 25815 -(25814) found -(25815) found -[12680] Forked 25816 -[12679] Forked 25817 -(25816) found -(25817) found -[12678] Forked 25818 -[12677] Forked 25819 -(25818) found -(25819) found -[12676] Forked 25820 -[12675] Forked 25821 -(25820) found -(25821) found -[12674] Forked 25822 -[12673] Forked 25823 -(25822) found -(25823) found -[12672] Forked 25824 -[12671] Forked 25825 -(25824) found -(25825) found -[12670] Forked 25826 -[12669] Forked 25827 -(25826) found -(25827) found -[12668] Forked 25828 -[12667] Forked 25829 -(25828) found -(25829) found -[12666] Forked 25830 -[12665] Forked 25831 -(25830) found -(25831) found -[12664] Forked 25832 -[12663] Forked 25833 -(25832) found -(25833) found -[12662] Forked 25834 -[12661] Forked 25835 -(25834) found -(25835) found -[12660] Forked 25836 -[12659] Forked 25837 -(25836) found -(25837) found -[12658] Forked 25838 -[12657] Forked 25839 -(25838) found -(25839) found -[12656] Forked 25840 -[12655] Forked 25841 -(25840) found -(25841) found -[12654] Forked 25842 -[12653] Forked 25843 -(25842) found -(25843) found -[12652] Forked 25844 -[12651] Forked 25845 -(25844) found -(25845) found -[12650] Forked 25846 -[12649] Forked 25847 -(25846) found -(25847) found -[12648] Forked 25848 -[12647] Forked 25849 -(25848) found -(25849) found -[12646] Forked 25850 -[12645] Forked 25851 -(25850) found -(25851) found -[12644] Forked 25852 -[12643] Forked 25853 -(25852) found -(25853) found -[12642] Forked 25854 -[12641] Forked 25855 -(25854) found -(25855) found -[12640] Forked 25856 -[12639] Forked 25857 -(25856) found -(25857) found -[12638] Forked 25858 -[12637] Forked 25859 -(25858) found -(25859) found -[12636] Forked 25860 -[12635] Forked 25861 -(25860) found -(25861) found -[12634] Forked 25862 -[12633] Forked 25863 -(25862) found -(25863) found -[12632] Forked 25864 -[12631] Forked 25865 -(25864) found -(25865) found -[12630] Forked 25866 -[12629] Forked 25867 -(25866) found -(25867) found -[12628] Forked 25868 -[12627] Forked 25869 -(25868) found -(25869) found -[12626] Forked 25870 -[12625] Forked 25871 -(25870) found -(25871) found -[12624] Forked 25872 -[12623] Forked 25873 -(25872) found -(25873) found -[12622] Forked 25874 -[12621] Forked 25875 -(25874) found -(25875) found -[12620] Forked 25876 -[12619] Forked 25877 -(25876) found -(25877) found -[12618] Forked 25878 -[12617] Forked 25879 -(25878) found -(25879) found -[12616] Forked 25880 -[12615] Forked 25881 -(25880) found -(25881) found -[12614] Forked 25882 -[12613] Forked 25883 -(25882) found -(25883) found -[12612] Forked 25884 -[12611] Forked 25885 -(25884) found -(25885) found -[12610] Forked 25886 -[12609] Forked 25887 -(25886) found -(25887) found -[12608] Forked 25888 -[12607] Forked 25889 -(25888) found -(25889) found -[12606] Forked 25890 -[12605] Forked 25891 -(25890) found -(25891) found -[12604] Forked 25892 -[12603] Forked 25893 -(25892) found -(25893) found -[12602] Forked 25894 -[12601] Forked 25895 -(25894) found -(25895) found -[12600] Forked 25896 -[12599] Forked 25897 -(25896) found -(25897) found -[12598] Forked 25898 -[12597] Forked 25899 -(25898) found -(25899) found -[12596] Forked 25900 -[12595] Forked 25901 -(25900) found -(25901) found -[12594] Forked 25902 -[12593] Forked 25903 -(25902) found -(25903) found -[12592] Forked 25904 -[12591] Forked 25905 -(25904) found -(25905) found -[12590] Forked 25906 -[12589] Forked 25907 -(25906) found -(25907) found -[12588] Forked 25908 -[12587] Forked 25909 -(25908) found -(25909) found -[12586] Forked 25910 -[12585] Forked 25911 -(25910) found -(25911) found -[12584] Forked 25912 -[12583] Forked 25913 -(25912) found -(25913) found -[12582] Forked 25914 -[12581] Forked 25915 -(25914) found -(25915) found -[12580] Forked 25916 -[12579] Forked 25917 -(25916) found -(25917) found -[12578] Forked 25918 -[12577] Forked 25919 -(25918) found -(25919) found -[12576] Forked 25920 -[12575] Forked 25921 -(25920) found -(25921) found -[12574] Forked 25922 -[12573] Forked 25923 -(25922) found -(25923) found -[12572] Forked 25924 -[12571] Forked 25925 -(25924) found -(25925) found -[12570] Forked 25926 -[12569] Forked 25927 -(25926) found -(25927) found -[12568] Forked 25928 -[12567] Forked 25929 -(25928) found -(25929) found -[12566] Forked 25930 -[12565] Forked 25931 -(25930) found -(25931) found -[12564] Forked 25932 -[12563] Forked 25933 -(25932) found -(25933) found -[12562] Forked 25934 -(25934) found -[12561] Forked 25935 -(25935) found -[12560] Forked 25936 -(25936) found -[12559] Forked 25937 -(25937) found -[12558] Forked 25938 -(25938) found -[12557] Forked 25939 -(25939) found -[12556] Forked 25940 -(25940) found -[12555] Forked 25941 -(25941) found -[12554] Forked 25942 -(25942) found -[12553] Forked 25943 -(25943) found -[12552] Forked 25944 -(25944) found -[12551] Forked 25945 -(25945) found -[12550] Forked 25946 -(25946) found -[12549] Forked 25947 -(25947) found -[12548] Forked 25948 -(25948) found -[12547] Forked 25949 -(25949) found -[12546] Forked 25950 -(25950) found -[12545] Forked 25951 -(25951) found -[12544] Forked 25952 -(25952) found -[12543] Forked 25953 -(25953) found -[12542] Forked 25954 -(25954) found -[12541] Forked 25955 -(25955) found -[12540] Forked 25956 -(25956) found -[12539] Forked 25957 -(25957) found -[12538] Forked 25958 -(25958) found -[12537] Forked 25959 -(25959) found -[12536] Forked 25960 -(25960) found -[12535] Forked 25961 -(25961) found -[12534] Forked 25962 -(25962) found -[12533] Forked 25963 -(25963) found -[12532] Forked 25964 -(25964) found -[12531] Forked 25965 -(25965) found -[12530] Forked 25966 -(25966) found -[12529] Forked 25967 -(25967) found -[12528] Forked 25968 -(25968) found -[12527] Forked 25969 -[12526] Forked 25970 -(25969) found -(25970) found -[12525] Forked 25971 -[12524] Forked 25972 -(25971) found -(25972) found -[12523] Forked 25973 -[12522] Forked 25974 -(25973) found -(25974) found -[12521] Forked 25975 -[12520] Forked 25976 -(25975) found -(25976) found -[12519] Forked 25977 -[12518] Forked 25978 -(25977) found -(25978) found -[12517] Forked 25979 -[12516] Forked 25980 -(25979) found -(25980) found -[12515] Forked 25981 -[12514] Forked 25982 -(25981) found -(25982) found -[12513] Forked 25983 -[12512] Forked 25984 -(25983) found -(25984) found -[12511] Forked 25985 -[12510] Forked 25986 -(25985) found -(25986) found -[12509] Forked 25987 -[12508] Forked 25988 -(25987) found -(25988) found -[12507] Forked 25989 -[12506] Forked 25990 -(25989) found -(25990) found -[12505] Forked 25991 -[12504] Forked 25992 -(25991) found -(25992) found -[12503] Forked 25993 -[12502] Forked 25994 -(25993) found -(25994) found -[12501] Forked 25995 -[12500] Forked 25996 -(25995) found -(25996) found -[12499] Forked 25997 -[12498] Forked 25998 -(25997) found -(25998) found -[12497] Forked 25999 -[12496] Forked 26000 -(25999) found -(26000) found -[12495] Forked 26001 -[12494] Forked 26002 -(26001) found -(26002) found -[12493] Forked 26003 -[12492] Forked 26004 -(26003) found -(26004) found -[12491] Forked 26005 -[12490] Forked 26006 -(26005) found -(26006) found -[12489] Forked 26007 -[12488] Forked 26008 -(26007) found -(26008) found -[12487] Forked 26009 -[12486] Forked 26010 -(26009) found -(26010) found -[12485] Forked 26011 -[12484] Forked 26012 -(26011) found -(26012) found -[12483] Forked 26013 -[12482] Forked 26014 -(26013) found -(26014) found -[12481] Forked 26015 -(26015) found -[12480] Forked 26016 -(26016) found -[12479] Forked 26017 -(26017) found -[12478] Forked 26018 -(26018) found -[12477] Forked 26019 -(26019) found -[12476] Forked 26020 -(26020) found -[12475] Forked 26021 -(26021) found -[12474] Forked 26022 -(26022) found -[12473] Forked 26023 -(26023) found -[12472] Forked 26024 -(26024) found -[12471] Forked 26025 -(26025) found -[12470] Forked 26026 -(26026) found -[12469] Forked 26027 -(26027) found -[12468] Forked 26028 -(26028) found -[12467] Forked 26029 -(26029) found -[12466] Forked 26030 -(26030) found -[12465] Forked 26031 -(26031) found -[12464] Forked 26032 -(26032) found -[12463] Forked 26033 -(26033) found -[12462] Forked 26034 -(26034) found -[12461] Forked 26035 -(26035) found -[12460] Forked 26036 -(26036) found -[12459] Forked 26037 -(26037) found -[12458] Forked 26038 -(26038) found -[12457] Forked 26039 -(26039) found -[12456] Forked 26040 -(26040) found -[12455] Forked 26041 -(26041) found -[12454] Forked 26042 -(26042) found -[12453] Forked 26043 -(26043) found -[12452] Forked 26044 -(26044) found -[12451] Forked 26045 -(26045) found -[12450] Forked 26046 -(26046) found -[12449] Forked 26047 -(26047) found -[12448] Forked 26048 -(26048) found -[12447] Forked 26049 -(26049) found -[12446] Forked 26050 -[12445] Forked 26051 -(26050) found -(26051) found -[12444] Forked 26052 -[12443] Forked 26053 -(26052) found -(26053) found -[12442] Forked 26054 -[12441] Forked 26055 -(26054) found -(26055) found -[12440] Forked 26056 -[12439] Forked 26057 -(26056) found -(26057) found -[12438] Forked 26058 -[12437] Forked 26059 -(26058) found -(26059) found -[12436] Forked 26060 -[12435] Forked 26061 -(26060) found -(26061) found -[12434] Forked 26062 -[12433] Forked 26063 -(26062) found -(26063) found -[12432] Forked 26064 -[12431] Forked 26065 -(26064) found -(26065) found -[12430] Forked 26066 -[12429] Forked 26067 -(26066) found -(26067) found -[12428] Forked 26068 -[12427] Forked 26069 -(26068) found -(26069) found -[12426] Forked 26070 -[12425] Forked 26071 -(26070) found -(26071) found -[12424] Forked 26072 -[12423] Forked 26073 -(26072) found -(26073) found -[12422] Forked 26074 -[12421] Forked 26075 -(26074) found -(26075) found -[12420] Forked 26076 -[12419] Forked 26077 -(26076) found -(26077) found -[12418] Forked 26078 -[12417] Forked 26079 -(26078) found -(26079) found -[12416] Forked 26080 -[12415] Forked 26081 -(26080) found -(26081) found -[12414] Forked 26082 -[12413] Forked 26083 -(26082) found -(26083) found -[12412] Forked 26084 -[12411] Forked 26085 -(26084) found -(26085) found -[12410] Forked 26086 -[12409] Forked 26087 -(26086) found -(26087) found -[12408] Forked 26088 -[12407] Forked 26089 -(26088) found -(26089) found -[12406] Forked 26090 -[12405] Forked 26091 -(26090) found -(26091) found -[12404] Forked 26092 -[12403] Forked 26093 -(26092) found -(26093) found -[12402] Forked 26094 -[12401] Forked 26095 -(26094) found -(26095) found -[12400] Forked 26096 -[12399] Forked 26097 -(26096) found -(26097) found -[12398] Forked 26098 -[12397] Forked 26099 -(26098) found -(26099) found -[12396] Forked 26100 -[12395] Forked 26101 -(26100) found -(26101) found -[12394] Forked 26102 -[12393] Forked 26103 -(26102) found -(26103) found -[12392] Forked 26104 -[12391] Forked 26105 -(26104) found -(26105) found -[12390] Forked 26106 -[12389] Forked 26107 -(26106) found -(26107) found -[12388] Forked 26108 -[12387] Forked 26109 -(26108) found -(26109) found -[12386] Forked 26110 -[12385] Forked 26111 -(26110) found -(26111) found -[12384] Forked 26112 -[12383] Forked 26113 -(26112) found -(26113) found -[12382] Forked 26114 -[12381] Forked 26115 -(26114) found -(26115) found -[12380] Forked 26116 -[12379] Forked 26117 -(26116) found -(26117) found -[12378] Forked 26118 -[12377] Forked 26119 -(26118) found -(26119) found -[12376] Forked 26120 -[12375] Forked 26121 -(26120) found -(26121) found -[12374] Forked 26122 -[12373] Forked 26123 -(26122) found -(26123) found -[12372] Forked 26124 -[12371] Forked 26125 -(26124) found -(26125) found -[12370] Forked 26126 -[12369] Forked 26127 -(26126) found -(26127) found -[12368] Forked 26128 -[12367] Forked 26129 -(26128) found -(26129) found -[12366] Forked 26130 -[12365] Forked 26131 -(26130) found -(26131) found -[12364] Forked 26132 -[12363] Forked 26133 -(26132) found -(26133) found -[12362] Forked 26134 -[12361] Forked 26135 -(26134) found -(26135) found -[12360] Forked 26136 -[12359] Forked 26137 -(26136) found -(26137) found -[12358] Forked 26138 -[12357] Forked 26139 -(26138) found -(26139) found -[12356] Forked 26140 -[12355] Forked 26141 -(26140) found -(26141) found -[12354] Forked 26142 -[12353] Forked 26143 -(26142) found -(26143) found -[12352] Forked 26144 -[12351] Forked 26145 -(26144) found -(26145) found -[12350] Forked 26146 -[12349] Forked 26147 -(26146) found -(26147) found -[12348] Forked 26148 -[12347] Forked 26149 -(26148) found -(26149) found -[12346] Forked 26150 -[12345] Forked 26151 -(26150) found -(26151) found -[12344] Forked 26152 -[12343] Forked 26153 -(26152) found -(26153) found -[12342] Forked 26154 -[12341] Forked 26155 -(26154) found -(26155) found -[12340] Forked 26156 -[12339] Forked 26157 -(26156) found -(26157) found -[12338] Forked 26158 -[12337] Forked 26159 -(26158) found -(26159) found -[12336] Forked 26160 -[12335] Forked 26161 -(26160) found -(26161) found -[12334] Forked 26162 -[12333] Forked 26163 -(26162) found -(26163) found -[12332] Forked 26164 -[12331] Forked 26165 -(26164) found -(26165) found -[12330] Forked 26166 -[12329] Forked 26167 -(26166) found -(26167) found -[12328] Forked 26168 -[12327] Forked 26169 -(26168) found -(26169) found -[12326] Forked 26170 -[12325] Forked 26171 -(26170) found -(26171) found -[12324] Forked 26172 -[12323] Forked 26173 -(26172) found -(26173) found -[12322] Forked 26174 -[12321] Forked 26175 -(26174) found -(26175) found -[12320] Forked 26176 -[12319] Forked 26177 -(26176) found -(26177) found -[12318] Forked 26178 -[12317] Forked 26179 -(26178) found -(26179) found -[12316] Forked 26180 -[12315] Forked 26181 -(26180) found -(26181) found -[12314] Forked 26182 -(26182) found -[12313] Forked 26183 -[12312] Forked 26184 -(26183) found -(26184) found -[12311] Forked 26185 -[12310] Forked 26186 -(26185) found -(26186) found -[12309] Forked 26187 -[12308] Forked 26188 -(26187) found -(26188) found -[12307] Forked 26189 -[12306] Forked 26190 -(26189) found -(26190) found -[12305] Forked 26191 -[12304] Forked 26192 -(26191) found -(26192) found -[12303] Forked 26193 -[12302] Forked 26194 -(26193) found -(26194) found -[12301] Forked 26195 -[12300] Forked 26196 -(26195) found -(26196) found -[12299] Forked 26197 -[12298] Forked 26198 -(26197) found -(26198) found -[12297] Forked 26199 -[12296] Forked 26200 -(26199) found -(26200) found -[12295] Forked 26201 -[12294] Forked 26202 -(26201) found -(26202) found -[12293] Forked 26203 -[12292] Forked 26204 -(26203) found -(26204) found -[12291] Forked 26205 -[12290] Forked 26206 -(26205) found -(26206) found -[12289] Forked 26207 -[12288] Forked 26208 -(26207) found -(26208) found -[12287] Forked 26209 -[12286] Forked 26210 -(26209) found -(26210) found -[12285] Forked 26211 -[12284] Forked 26212 -(26211) found -(26212) found -[12283] Forked 26213 -[12282] Forked 26214 -(26213) found -(26214) found -[12281] Forked 26215 -[12280] Forked 26216 -(26215) found -(26216) found -[12279] Forked 26217 -[12278] Forked 26218 -(26217) found -(26218) found -[12277] Forked 26219 -[12276] Forked 26220 -(26219) found -(26220) found -[12275] Forked 26221 -[12274] Forked 26222 -(26221) found -(26222) found -[12273] Forked 26223 -[12272] Forked 26224 -(26223) found -(26224) found -[12271] Forked 26225 -[12270] Forked 26226 -(26225) found -(26226) found -[12269] Forked 26227 -[12268] Forked 26228 -(26227) found -(26228) found -[12267] Forked 26229 -[12266] Forked 26230 -(26229) found -(26230) found -[12265] Forked 26231 -[12264] Forked 26232 -(26231) found -(26232) found -[12263] Forked 26233 -[12262] Forked 26234 -(26233) found -(26234) found -[12261] Forked 26235 -[12260] Forked 26236 -(26235) found -(26236) found -[12259] Forked 26237 -[12258] Forked 26238 -(26237) found -(26238) found -[12257] Forked 26239 -[12256] Forked 26240 -(26239) found -(26240) found -[12255] Forked 26241 -[12254] Forked 26242 -(26241) found -(26242) found -[12253] Forked 26243 -[12252] Forked 26244 -(26243) found -(26244) found -[12251] Forked 26245 -[12250] Forked 26246 -(26245) found -(26246) found -[12249] Forked 26247 -[12248] Forked 26248 -(26247) found -(26248) found -[12247] Forked 26249 -[12246] Forked 26250 -(26249) found -(26250) found -[12245] Forked 26251 -[12244] Forked 26252 -(26251) found -(26252) found -[12243] Forked 26253 -[12242] Forked 26254 -(26253) found -(26254) found -[12241] Forked 26255 -[12240] Forked 26256 -(26255) found -(26256) found -[12239] Forked 26257 -[12238] Forked 26258 -(26257) found -(26258) found -[12237] Forked 26259 -[12236] Forked 26260 -(26259) found -(26260) found -[12235] Forked 26261 -[12234] Forked 26262 -(26261) found -(26262) found -[12233] Forked 26263 -[12232] Forked 26264 -(26263) found -(26264) found -[12231] Forked 26265 -[12230] Forked 26266 -(26265) found -(26266) found -[12229] Forked 26267 -[12228] Forked 26268 -(26267) found -(26268) found -[12227] Forked 26269 -[12226] Forked 26270 -(26269) found -(26270) found -[12225] Forked 26271 -[12224] Forked 26272 -(26271) found -(26272) found -[12223] Forked 26273 -[12222] Forked 26274 -(26273) found -(26274) found -[12221] Forked 26275 -[12220] Forked 26276 -(26275) found -(26276) found -[12219] Forked 26277 -[12218] Forked 26278 -(26277) found -(26278) found -[12217] Forked 26279 -[12216] Forked 26280 -(26279) found -(26280) found -[12215] Forked 26281 -[12214] Forked 26282 -(26281) found -(26282) found -[12213] Forked 26283 -[12212] Forked 26284 -(26283) found -(26284) found -[12211] Forked 26285 -[12210] Forked 26286 -(26285) found -(26286) found -[12209] Forked 26287 -[12208] Forked 26288 -(26287) found -(26288) found -[12207] Forked 26289 -[12206] Forked 26290 -(26289) found -(26290) found -[12205] Forked 26291 -[12204] Forked 26292 -(26291) found -(26292) found -[12203] Forked 26293 -[12202] Forked 26294 -(26293) found -(26294) found -[12201] Forked 26295 -[12200] Forked 26296 -(26295) found -(26296) found -[12199] Forked 26297 -[12198] Forked 26298 -(26297) found -(26298) found -[12197] Forked 26299 -[12196] Forked 26300 -(26299) found -(26300) found -[12195] Forked 26301 -[12194] Forked 26302 -(26301) found -(26302) found -[12193] Forked 26303 -[12192] Forked 26304 -(26303) found -(26304) found -[12191] Forked 26305 -[12190] Forked 26306 -(26305) found -(26306) found -[12189] Forked 26307 -[12188] Forked 26308 -(26307) found -(26308) found -[12187] Forked 26309 -[12186] Forked 26310 -(26309) found -(26310) found -[12185] Forked 26311 -[12184] Forked 26312 -(26311) found -(26312) found -[12183] Forked 26313 -[12182] Forked 26314 -(26313) found -(26314) found -[12181] Forked 26315 -[12180] Forked 26316 -(26315) found -(26316) found -[12179] Forked 26317 -[12178] Forked 26318 -(26317) found -(26318) found -[12177] Forked 26319 -[12176] Forked 26320 -(26319) found -(26320) found -[12175] Forked 26321 -[12174] Forked 26322 -(26321) found -(26322) found -[12173] Forked 26323 -[12172] Forked 26324 -(26323) found -(26324) found -[12171] Forked 26325 -[12170] Forked 26326 -(26325) found -(26326) found -[12169] Forked 26327 -[12168] Forked 26328 -(26327) found -(26328) found -[12167] Forked 26329 -[12166] Forked 26330 -(26329) found -(26330) found -[12165] Forked 26331 -[12164] Forked 26332 -(26331) found -(26332) found -[12163] Forked 26333 -[12162] Forked 26334 -(26333) found -(26334) found -[12161] Forked 26335 -[12160] Forked 26336 -(26335) found -(26336) found -[12159] Forked 26337 -[12158] Forked 26338 -(26337) found -(26338) found -[12157] Forked 26339 -[12156] Forked 26340 -(26339) found -(26340) found -[12155] Forked 26341 -[12154] Forked 26342 -(26341) found -(26342) found -[12153] Forked 26343 -[12152] Forked 26344 -(26343) found -(26344) found -[12151] Forked 26345 -[12150] Forked 26346 -(26345) found -(26346) found -[12149] Forked 26347 -[12148] Forked 26348 -(26347) found -(26348) found -[12147] Forked 26349 -[12146] Forked 26350 -(26349) found -(26350) found -[12145] Forked 26351 -[12144] Forked 26352 -(26351) found -(26352) found -[12143] Forked 26353 -[12142] Forked 26354 -(26353) found -(26354) found -[12141] Forked 26355 -[12140] Forked 26356 -(26355) found -(26356) found -[12139] Forked 26357 -[12138] Forked 26358 -(26357) found -(26358) found -[12137] Forked 26359 -[12136] Forked 26360 -(26359) found -(26360) found -[12135] Forked 26361 -[12134] Forked 26362 -(26361) found -(26362) found -[12133] Forked 26363 -[12132] Forked 26364 -(26363) found -(26364) found -[12131] Forked 26365 -[12130] Forked 26366 -(26365) found -(26366) found -[12129] Forked 26367 -(26367) found -[12128] Forked 26368 -(26368) found -[12127] Forked 26369 -(26369) found -[12126] Forked 26370 -(26370) found -[12125] Forked 26371 -(26371) found -[12124] Forked 26372 -(26372) found -[12123] Forked 26373 -(26373) found -[12122] Forked 26374 -(26374) found -[12121] Forked 26375 -(26375) found -[12120] Forked 26376 -(26376) found -[12119] Forked 26377 -(26377) found -[12118] Forked 26378 -(26378) found -[12117] Forked 26379 -(26379) found -[12116] Forked 26380 -(26380) found -[12115] Forked 26381 -(26381) found -[12114] Forked 26382 -(26382) found -[12113] Forked 26383 -(26383) found -[12112] Forked 26384 -(26384) found -[12111] Forked 26385 -(26385) found -[12110] Forked 26386 -(26386) found -[12109] Forked 26387 -(26387) found -[12108] Forked 26388 -(26388) found -[12107] Forked 26389 -(26389) found -[12106] Forked 26390 -(26390) found -[12105] Forked 26391 -(26391) found -[12104] Forked 26392 -(26392) found -[12103] Forked 26393 -(26393) found -[12102] Forked 26394 -(26394) found -[12101] Forked 26395 -(26395) found -[12100] Forked 26396 -(26396) found -[12099] Forked 26397 -(26397) found -[12098] Forked 26398 -(26398) found -[12097] Forked 26399 -(26399) found -[12096] Forked 26400 -(26400) found -[12095] Forked 26401 -[12094] Forked 26402 -(26401) found -(26402) found -[12093] Forked 26403 -[12092] Forked 26404 -(26403) found -(26404) found -[12091] Forked 26405 -[12090] Forked 26406 -(26405) found -(26406) found -[12089] Forked 26407 -[12088] Forked 26408 -(26407) found -(26408) found -[12087] Forked 26409 -[12086] Forked 26410 -(26409) found -(26410) found -[12085] Forked 26411 -[12084] Forked 26412 -(26411) found -(26412) found -[12083] Forked 26413 -[12082] Forked 26414 -(26413) found -(26414) found -[12081] Forked 26415 -[12080] Forked 26416 -(26415) found -(26416) found -[12079] Forked 26417 -[12078] Forked 26418 -(26417) found -(26418) found -[12077] Forked 26419 -[12076] Forked 26420 -(26419) found -(26420) found -[12075] Forked 26421 -[12074] Forked 26422 -(26421) found -(26422) found -[12073] Forked 26423 -[12072] Forked 26424 -(26423) found -(26424) found -[12071] Forked 26425 -[12070] Forked 26426 -(26425) found -(26426) found -[12069] Forked 26427 -[12068] Forked 26428 -(26427) found -(26428) found -[12067] Forked 26429 -[12066] Forked 26430 -(26429) found -(26430) found -[12065] Forked 26431 -[12064] Forked 26432 -(26431) found -(26432) found -[12063] Forked 26433 -[12062] Forked 26434 -(26433) found -(26434) found -[12061] Forked 26435 -[12060] Forked 26436 -(26435) found -(26436) found -[12059] Forked 26437 -[12058] Forked 26438 -(26437) found -(26438) found -[12057] Forked 26439 -[12056] Forked 26440 -(26439) found -(26440) found -[12055] Forked 26441 -[12054] Forked 26442 -(26441) found -(26442) found -[12053] Forked 26443 -[12052] Forked 26444 -(26443) found -(26444) found -[12051] Forked 26445 -[12050] Forked 26446 -(26445) found -(26446) found -[12049] Forked 26447 -[12048] Forked 26448 -(26447) found -(26448) found -[12047] Forked 26449 -[12046] Forked 26450 -(26449) found -(26450) found -[12045] Forked 26451 -[12044] Forked 26452 -(26451) found -(26452) found -[12043] Forked 26453 -[12042] Forked 26454 -(26453) found -(26454) found -[12041] Forked 26455 -[12040] Forked 26456 -(26455) found -(26456) found -[12039] Forked 26457 -[12038] Forked 26458 -(26457) found -(26458) found -[12037] Forked 26459 -[12036] Forked 26460 -(26459) found -(26460) found -[12035] Forked 26461 -[12034] Forked 26462 -(26461) found -(26462) found -[12033] Forked 26463 -[12032] Forked 26464 -(26463) found -(26464) found -[12031] Forked 26465 -[12030] Forked 26466 -(26465) found -(26466) found -[12029] Forked 26467 -[12028] Forked 26468 -(26467) found -(26468) found -[12027] Forked 26469 -[12026] Forked 26470 -(26469) found -(26470) found -[12025] Forked 26471 -[12024] Forked 26472 -(26471) found -(26472) found -[12023] Forked 26473 -[12022] Forked 26474 -(26473) found -(26474) found -[12021] Forked 26475 -[12020] Forked 26476 -(26475) found -(26476) found -[12019] Forked 26477 -[12018] Forked 26478 -(26477) found -(26478) found -[12017] Forked 26479 -[12016] Forked 26480 -(26479) found -(26480) found -[12015] Forked 26481 -[12014] Forked 26482 -(26481) found -(26482) found -[12013] Forked 26483 -[12012] Forked 26484 -(26483) found -(26484) found -[12011] Forked 26485 -[12010] Forked 26486 -(26485) found -(26486) found -[12009] Forked 26487 -[12008] Forked 26488 -(26487) found -(26488) found -[12007] Forked 26489 -[12006] Forked 26490 -(26489) found -(26490) found -[12005] Forked 26491 -[12004] Forked 26492 -(26491) found -(26492) found -[12003] Forked 26493 -[12002] Forked 26494 -(26493) found -(26494) found -[12001] Forked 26495 -[12000] Forked 26496 -(26495) found -(26496) found -[11999] Forked 26497 -[11998] Forked 26498 -(26497) found -(26498) found -[11997] Forked 26499 -[11996] Forked 26500 -(26499) found -(26500) found -[11995] Forked 26501 -[11994] Forked 26502 -(26501) found -(26502) found -[11993] Forked 26503 -[11992] Forked 26504 -(26503) found -(26504) found -[11991] Forked 26505 -[11990] Forked 26506 -(26505) found -(26506) found -[11989] Forked 26507 -[11988] Forked 26508 -(26507) found -(26508) found -[11987] Forked 26509 -[11986] Forked 26510 -(26509) found -(26510) found -[11985] Forked 26511 -[11984] Forked 26512 -(26511) found -(26512) found -[11983] Forked 26513 -[11982] Forked 26514 -(26513) found -(26514) found -[11981] Forked 26515 -[11980] Forked 26516 -(26515) found -(26516) found -[11979] Forked 26517 -[11978] Forked 26518 -(26517) found -(26518) found -[11977] Forked 26519 -[11976] Forked 26520 -(26519) found -(26520) found -[11975] Forked 26521 -[11974] Forked 26522 -(26521) found -(26522) found -[11973] Forked 26523 -[11972] Forked 26524 -(26523) found -(26524) found -[11971] Forked 26525 -[11970] Forked 26526 -(26525) found -(26526) found -[11969] Forked 26527 -[11968] Forked 26528 -(26527) found -(26528) found -[11967] Forked 26529 -[11966] Forked 26530 -(26529) found -(26530) found -[11965] Forked 26531 -[11964] Forked 26532 -(26531) found -(26532) found -[11963] Forked 26533 -[11962] Forked 26534 -(26533) found -(26534) found -[11961] Forked 26535 -[11960] Forked 26536 -(26535) found -(26536) found -[11959] Forked 26537 -(26537) found -[11958] Forked 26538 -(26538) found -[11957] Forked 26539 -(26539) found -[11956] Forked 26540 -(26540) found -[11955] Forked 26541 -(26541) found -[11954] Forked 26542 -(26542) found -[11953] Forked 26543 -(26543) found -[11952] Forked 26544 -(26544) found -[11951] Forked 26545 -(26545) found -[11950] Forked 26546 -(26546) found -[11949] Forked 26547 -(26547) found -[11948] Forked 26548 -(26548) found -[11947] Forked 26549 -(26549) found -[11946] Forked 26550 -(26550) found -[11945] Forked 26551 -(26551) found -[11944] Forked 26552 -(26552) found -[11943] Forked 26553 -(26553) found -[11942] Forked 26554 -(26554) found -[11941] Forked 26555 -(26555) found -[11940] Forked 26556 -(26556) found -[11939] Forked 26557 -(26557) found -[11938] Forked 26558 -(26558) found -[11937] Forked 26559 -(26559) found -[11936] Forked 26560 -(26560) found -[11935] Forked 26561 -(26561) found -[11934] Forked 26562 -(26562) found -[11933] Forked 26563 -(26563) found -[11932] Forked 26564 -(26564) found -[11931] Forked 26565 -(26565) found -[11930] Forked 26566 -(26566) found -[11929] Forked 26567 -(26567) found -[11928] Forked 26568 -(26568) found -[11927] Forked 26569 -(26569) found -[11926] Forked 26570 -(26570) found -[11925] Forked 26571 -(26571) found -[11924] Forked 26572 -(26572) found -[11923] Forked 26573 -(26573) found -[11922] Forked 26574 -(26574) found -[11921] Forked 26575 -(26575) found -[11920] Forked 26576 -(26576) found -[11919] Forked 26577 -(26577) found -[11918] Forked 26578 -(26578) found -[11917] Forked 26579 -(26579) found -[11916] Forked 26580 -(26580) found -[11915] Forked 26581 -(26581) found -[11914] Forked 26582 -(26582) found -[11913] Forked 26583 -(26583) found -[11912] Forked 26584 -(26584) found -[11911] Forked 26585 -(26585) found -[11910] Forked 26586 -(26586) found -[11909] Forked 26587 -(26587) found -[11908] Forked 26588 -(26588) found -[11907] Forked 26589 -(26589) found -[11906] Forked 26590 -(26590) found -[11905] Forked 26591 -(26591) found -[11904] Forked 26592 -(26592) found -[11903] Forked 26593 -(26593) found -[11902] Forked 26594 -(26594) found -[11901] Forked 26595 -(26595) found -[11900] Forked 26596 -(26596) found -[11899] Forked 26597 -(26597) found -[11898] Forked 26598 -(26598) found -[11897] Forked 26599 -(26599) found -[11896] Forked 26600 -(26600) found -[11895] Forked 26601 -(26601) found -[11894] Forked 26602 -(26602) found -[11893] Forked 26603 -(26603) found -[11892] Forked 26604 -(26604) found -[11891] Forked 26605 -(26605) found -[11890] Forked 26606 -(26606) found -[11889] Forked 26607 -(26607) found -[11888] Forked 26608 -(26608) found -[11887] Forked 26609 -[11886] Forked 26610 -(26609) found -(26610) found -[11885] Forked 26611 -[11884] Forked 26612 -(26611) found -(26612) found -[11883] Forked 26613 -[11882] Forked 26614 -(26613) found -(26614) found -[11881] Forked 26615 -[11880] Forked 26616 -(26615) found -(26616) found -[11879] Forked 26617 -[11878] Forked 26618 -(26617) found -(26618) found -[11877] Forked 26619 -[11876] Forked 26620 -(26619) found -(26620) found -[11875] Forked 26621 -[11874] Forked 26622 -(26621) found -(26622) found -[11873] Forked 26623 -[11872] Forked 26624 -(26623) found -(26624) found -[11871] Forked 26625 -[11870] Forked 26626 -(26625) found -(26626) found -[11869] Forked 26627 -[11868] Forked 26628 -(26627) found -(26628) found -[11867] Forked 26629 -[11866] Forked 26630 -(26629) found -(26630) found -[11865] Forked 26631 -[11864] Forked 26632 -(26631) found -(26632) found -[11863] Forked 26633 -[11862] Forked 26634 -(26633) found -(26634) found -[11861] Forked 26635 -[11860] Forked 26636 -(26635) found -(26636) found -[11859] Forked 26637 -[11858] Forked 26638 -(26637) found -(26638) found -[11857] Forked 26639 -[11856] Forked 26640 -(26639) found -(26640) found -[11855] Forked 26641 -[11854] Forked 26642 -(26641) found -(26642) found -[11853] Forked 26643 -[11852] Forked 26644 -(26643) found -(26644) found -[11851] Forked 26645 -[11850] Forked 26646 -(26645) found -(26646) found -[11849] Forked 26647 -[11848] Forked 26648 -(26647) found -(26648) found -[11847] Forked 26649 -[11846] Forked 26650 -(26649) found -(26650) found -[11845] Forked 26651 -[11844] Forked 26652 -(26651) found -(26652) found -[11843] Forked 26653 -(26653) found -[11842] Forked 26654 -(26654) found -[11841] Forked 26655 -(26655) found -[11840] Forked 26656 -(26656) found -[11839] Forked 26657 -(26657) found -[11838] Forked 26658 -(26658) found -[11837] Forked 26659 -(26659) found -[11836] Forked 26660 -(26660) found -[11835] Forked 26661 -(26661) found -[11834] Forked 26662 -(26662) found -[11833] Forked 26663 -(26663) found -[11832] Forked 26664 -(26664) found -[11831] Forked 26665 -(26665) found -[11830] Forked 26666 -(26666) found -[11829] Forked 26667 -(26667) found -[11828] Forked 26668 -(26668) found -[11827] Forked 26669 -(26669) found -[11826] Forked 26670 -(26670) found -[11825] Forked 26671 -(26671) found -[11824] Forked 26672 -(26672) found -[11823] Forked 26673 -(26673) found -[11822] Forked 26674 -(26674) found -[11821] Forked 26675 -(26675) found -[11820] Forked 26676 -(26676) found -[11819] Forked 26677 -(26677) found -[11818] Forked 26678 -(26678) found -[11817] Forked 26679 -(26679) found -[11816] Forked 26680 -(26680) found -[11815] Forked 26681 -(26681) found -[11814] Forked 26682 -(26682) found -[11813] Forked 26683 -(26683) found -[11812] Forked 26684 -(26684) found -[11811] Forked 26685 -(26685) found -[11810] Forked 26686 -(26686) found -[11809] Forked 26687 -(26687) found -[11808] Forked 26688 -(26688) found -[11807] Forked 26689 -[11806] Forked 26690 -(26689) found -(26690) found -[11805] Forked 26691 -[11804] Forked 26692 -(26691) found -(26692) found -[11803] Forked 26693 -[11802] Forked 26694 -(26693) found -(26694) found -[11801] Forked 26695 -[11800] Forked 26696 -(26695) found -(26696) found -[11799] Forked 26697 -[11798] Forked 26698 -(26697) found -(26698) found -[11797] Forked 26699 -[11796] Forked 26700 -(26699) found -(26700) found -[11795] Forked 26701 -[11794] Forked 26702 -(26701) found -(26702) found -[11793] Forked 26703 -[11792] Forked 26704 -(26703) found -(26704) found -[11791] Forked 26705 -[11790] Forked 26706 -(26705) found -(26706) found -[11789] Forked 26707 -[11788] Forked 26708 -(26707) found -(26708) found -[11787] Forked 26709 -[11786] Forked 26710 -(26709) found -(26710) found -[11785] Forked 26711 -[11784] Forked 26712 -(26711) found -(26712) found -[11783] Forked 26713 -[11782] Forked 26714 -(26713) found -(26714) found -[11781] Forked 26715 -[11780] Forked 26716 -(26715) found -(26716) found -[11779] Forked 26717 -[11778] Forked 26718 -(26717) found -(26718) found -[11777] Forked 26719 -[11776] Forked 26720 -(26719) found -(26720) found -[11775] Forked 26721 -[11774] Forked 26722 -(26721) found -(26722) found -[11773] Forked 26723 -[11772] Forked 26724 -(26723) found -(26724) found -[11771] Forked 26725 -[11770] Forked 26726 -(26725) found -(26726) found -[11769] Forked 26727 -[11768] Forked 26728 -(26727) found -(26728) found -[11767] Forked 26729 -[11766] Forked 26730 -(26729) found -(26730) found -[11765] Forked 26731 -[11764] Forked 26732 -(26731) found -(26732) found -[11763] Forked 26733 -(26733) found -[11762] Forked 26734 -(26734) found -[11761] Forked 26735 -(26735) found -[11760] Forked 26736 -(26736) found -[11759] Forked 26737 -(26737) found -[11758] Forked 26738 -(26738) found -[11757] Forked 26739 -(26739) found -[11756] Forked 26740 -(26740) found -[11755] Forked 26741 -(26741) found -[11754] Forked 26742 -(26742) found -[11753] Forked 26743 -(26743) found -[11752] Forked 26744 -(26744) found -[11751] Forked 26745 -(26745) found -[11750] Forked 26746 -(26746) found -[11749] Forked 26747 -(26747) found -[11748] Forked 26748 -(26748) found -[11747] Forked 26749 -(26749) found -[11746] Forked 26750 -(26750) found -[11745] Forked 26751 -(26751) found -[11744] Forked 26752 -(26752) found -[11743] Forked 26753 -(26753) found -[11742] Forked 26754 -(26754) found -[11741] Forked 26755 -(26755) found -[11740] Forked 26756 -(26756) found -[11739] Forked 26757 -(26757) found -[11738] Forked 26758 -(26758) found -[11737] Forked 26759 -(26759) found -[11736] Forked 26760 -(26760) found -[11735] Forked 26761 -(26761) found -[11734] Forked 26762 -(26762) found -[11733] Forked 26763 -(26763) found -[11732] Forked 26764 -(26764) found -[11731] Forked 26765 -(26765) found -[11730] Forked 26766 -(26766) found -[11729] Forked 26767 -(26767) found -[11728] Forked 26768 -(26768) found -[11727] Forked 26769 -[11726] Forked 26770 -(26769) found -(26770) found -[11725] Forked 26771 -[11724] Forked 26772 -(26771) found -(26772) found -[11723] Forked 26773 -(26773) found -[11722] Forked 26774 -[11721] Forked 26775 -(26774) found -(26775) found -[11720] Forked 26776 -[11719] Forked 26777 -(26776) found -(26777) found -[11718] Forked 26778 -[11717] Forked 26779 -(26778) found -(26779) found -[11716] Forked 26780 -[11715] Forked 26781 -(26780) found -(26781) found -[11714] Forked 26782 -[11713] Forked 26783 -(26782) found -(26783) found -[11712] Forked 26784 -[11711] Forked 26785 -(26784) found -(26785) found -[11710] Forked 26786 -[11709] Forked 26787 -(26786) found -(26787) found -[11708] Forked 26788 -[11707] Forked 26789 -(26788) found -(26789) found -[11706] Forked 26790 -[11705] Forked 26791 -(26790) found -(26791) found -[11704] Forked 26792 -[11703] Forked 26793 -(26792) found -(26793) found -[11702] Forked 26794 -[11701] Forked 26795 -(26794) found -(26795) found -[11700] Forked 26796 -[11699] Forked 26797 -(26796) found -(26797) found -[11698] Forked 26798 -[11697] Forked 26799 -(26798) found -(26799) found -[11696] Forked 26800 -[11695] Forked 26801 -(26800) found -(26801) found -[11694] Forked 26802 -[11693] Forked 26803 -(26802) found -(26803) found -[11692] Forked 26804 -[11691] Forked 26805 -(26804) found -(26805) found -[11690] Forked 26806 -[11689] Forked 26807 -(26806) found -(26807) found -[11688] Forked 26808 -[11687] Forked 26809 -(26808) found -(26809) found -[11686] Forked 26810 -[11685] Forked 26811 -(26810) found -(26811) found -[11684] Forked 26812 -(26812) found -[11683] Forked 26813 -(26813) found -[11682] Forked 26814 -(26814) found -[11681] Forked 26815 -(26815) found -[11680] Forked 26816 -(26816) found -[11679] Forked 26817 -(26817) found -[11678] Forked 26818 -(26818) found -[11677] Forked 26819 -(26819) found -[11676] Forked 26820 -(26820) found -[11675] Forked 26822 -(26822) found -[11674] Forked 26823 -(26823) found -[11673] Forked 26824 -(26824) found -[11672] Forked 26825 -(26825) found -[11671] Forked 26826 -(26826) found -[11670] Forked 26827 -(26827) found -[11669] Forked 26828 -(26828) found -[11668] Forked 26829 -(26829) found -[11667] Forked 26830 -(26830) found -[11666] Forked 26831 -(26831) found -[11665] Forked 26832 -(26832) found -[11664] Forked 26833 -(26833) found -[11663] Forked 26834 -(26834) found -[11662] Forked 26835 -(26835) found -[11661] Forked 26836 -(26836) found -[11660] Forked 26837 -(26837) found -[11659] Forked 26838 -(26838) found -[11658] Forked 26839 -(26839) found -[11657] Forked 26840 -(26840) found -[11656] Forked 26841 -(26841) found -[11655] Forked 26842 -(26842) found -[11654] Forked 26843 -(26843) found -[11653] Forked 26844 -(26844) found -[11652] Forked 26845 -(26845) found -[11651] Forked 26846 -(26846) found -[11650] Forked 26847 -(26847) found -[11649] Forked 26848 -(26848) found -[11648] Forked 26849 -[11647] Forked 26850 -(26849) found -(26850) found -[11646] Forked 26851 -[11645] Forked 26852 -(26851) found -(26852) found -[11644] Forked 26853 -[11643] Forked 26854 -(26853) found -(26854) found -[11642] Forked 26855 -[11641] Forked 26856 -(26855) found -(26856) found -[11640] Forked 26857 -[11639] Forked 26858 -(26857) found -(26858) found -[11638] Forked 26859 -[11637] Forked 26860 -(26859) found -(26860) found -[11636] Forked 26861 -[11635] Forked 26862 -(26861) found -(26862) found -[11634] Forked 26863 -[11633] Forked 26864 -(26863) found -(26864) found -[11632] Forked 26865 -[11631] Forked 26866 -(26865) found -(26866) found -[11630] Forked 26867 -[11629] Forked 26868 -(26867) found -(26868) found -[11628] Forked 26869 -[11627] Forked 26870 -(26869) found -(26870) found -[11626] Forked 26871 -[11625] Forked 26872 -(26871) found -(26872) found -[11624] Forked 26873 -[11623] Forked 26874 -(26873) found -(26874) found -[11622] Forked 26875 -[11621] Forked 26876 -(26875) found -(26876) found -[11620] Forked 26877 -[11619] Forked 26878 -(26877) found -(26878) found -[11618] Forked 26879 -[11617] Forked 26880 -(26879) found -(26880) found -[11616] Forked 26881 -[11615] Forked 26882 -(26881) found -(26882) found -[11614] Forked 26883 -[11613] Forked 26884 -(26883) found -(26884) found -[11612] Forked 26885 -[11611] Forked 26886 -(26885) found -(26886) found -[11610] Forked 26887 -[11609] Forked 26888 -(26887) found -(26888) found -[11608] Forked 26889 -[11607] Forked 26890 -(26889) found -(26890) found -[11606] Forked 26891 -[11605] Forked 26892 -(26891) found -(26892) found -[11604] Forked 26893 -(26893) found -[11603] Forked 26894 -(26894) found -[11602] Forked 26895 -(26895) found -[11601] Forked 26896 -(26896) found -[11600] Forked 26897 -(26897) found -[11599] Forked 26898 -(26898) found -[11598] Forked 26899 -(26899) found -[11597] Forked 26900 -(26900) found -[11596] Forked 26901 -(26901) found -[11595] Forked 26902 -(26902) found -[11594] Forked 26903 -(26903) found -[11593] Forked 26904 -(26904) found -[11592] Forked 26905 -(26905) found -[11591] Forked 26906 -(26906) found -[11590] Forked 26907 -(26907) found -[11589] Forked 26908 -(26908) found -[11588] Forked 26909 -(26909) found -[11587] Forked 26910 -(26910) found -[11586] Forked 26911 -(26911) found -[11585] Forked 26912 -(26912) found -[11584] Forked 26913 -(26913) found -[11583] Forked 26914 -(26914) found -[11582] Forked 26915 -(26915) found -[11581] Forked 26916 -(26916) found -[11580] Forked 26917 -(26917) found -[11579] Forked 26918 -(26918) found -[11578] Forked 26919 -(26919) found -[11577] Forked 26920 -(26920) found -[11576] Forked 26921 -(26921) found -[11575] Forked 26922 -(26922) found -[11574] Forked 26923 -(26923) found -[11573] Forked 26924 -(26924) found -[11572] Forked 26925 -(26925) found -[11571] Forked 26926 -(26926) found -[11570] Forked 26927 -(26927) found -[11569] Forked 26928 -(26928) found -[11568] Forked 26929 -(26929) found -[11567] Forked 26930 -[11566] Forked 26931 -(26930) found -(26931) found -[11565] Forked 26932 -[11564] Forked 26933 -(26932) found -(26933) found -[11563] Forked 26934 -[11562] Forked 26935 -(26934) found -(26935) found -[11561] Forked 26936 -[11560] Forked 26937 -(26936) found -(26937) found -[11559] Forked 26938 -[11558] Forked 26939 -(26938) found -(26939) found -[11557] Forked 26940 -[11556] Forked 26941 -(26940) found -(26941) found -[11555] Forked 26942 -[11554] Forked 26943 -(26942) found -(26943) found -[11553] Forked 26944 -[11552] Forked 26945 -(26944) found -(26945) found -[11551] Forked 26946 -[11550] Forked 26947 -(26946) found -(26947) found -[11549] Forked 26948 -[11548] Forked 26949 -(26948) found -(26949) found -[11547] Forked 26950 -[11546] Forked 26951 -(26950) found -(26951) found -[11545] Forked 26952 -[11544] Forked 26953 -(26952) found -(26953) found -[11543] Forked 26954 -[11542] Forked 26955 -(26954) found -(26955) found -[11541] Forked 26956 -[11540] Forked 26957 -(26957) found -(26956) found -[11539] Forked 26958 -(26958) found -[11538] Forked 26959 -(26959) found -[11537] Forked 26960 -(26960) found -[11536] Forked 26961 -(26961) found -[11535] Forked 26962 -(26962) found -[11534] Forked 26963 -[11533] Forked 26964 -(26963) found -(26964) found -[11532] Forked 26965 -[11531] Forked 26966 -(26965) found -(26966) found -[11530] Forked 26967 -[11529] Forked 26968 -(26967) found -(26968) found -[11528] Forked 26969 -[11527] Forked 26970 -(26969) found -(26970) found -[11526] Forked 26971 -[11525] Forked 26972 -(26971) found -(26972) found -[11524] Forked 26973 -[11523] Forked 26974 -(26973) found -(26974) found -[11522] Forked 26975 -[11521] Forked 26976 -(26975) found -(26976) found -[11520] Forked 26977 -[11519] Forked 26978 -(26977) found -(26978) found -[11518] Forked 26979 -[11517] Forked 26980 -(26979) found -(26980) found -[11516] Forked 26981 -[11515] Forked 26982 -(26981) found -(26982) found -[11514] Forked 26983 -[11513] Forked 26984 -(26983) found -(26984) found -[11512] Forked 26985 -[11511] Forked 26986 -(26985) found -(26986) found -[11510] Forked 26987 -[11509] Forked 26988 -(26987) found -(26988) found -[11508] Forked 26989 -[11507] Forked 26990 -(26989) found -(26990) found -[11506] Forked 26991 -[11505] Forked 26992 -(26991) found -(26992) found -[11504] Forked 26993 -[11503] Forked 26994 -(26993) found -(26994) found -[11502] Forked 26995 -[11501] Forked 26996 -(26995) found -(26996) found -[11500] Forked 26997 -[11499] Forked 26998 -(26997) found -(26998) found -[11498] Forked 26999 -[11497] Forked 27000 -(26999) found -(27000) found -[11496] Forked 27001 -[11495] Forked 27002 -(27001) found -(27002) found -[11494] Forked 27003 -[11493] Forked 27004 -(27003) found -(27004) found -[11492] Forked 27005 -[11491] Forked 27006 -(27005) found -(27006) found -[11490] Forked 27007 -[11489] Forked 27008 -(27007) found -(27008) found -[11488] Forked 27009 -[11487] Forked 27010 -(27009) found -(27010) found -[11486] Forked 27011 -[11485] Forked 27012 -(27011) found -(27012) found -[11484] Forked 27013 -[11483] Forked 27014 -(27013) found -(27014) found -[11482] Forked 27015 -(27015) found -[11481] Forked 27016 -(27016) found -[11480] Forked 27017 -(27017) found -[11479] Forked 27018 -(27018) found -[11478] Forked 27019 -(27019) found -[11477] Forked 27020 -(27020) found -[11476] Forked 27021 -(27021) found -[11475] Forked 27022 -(27022) found -[11474] Forked 27023 -(27023) found -[11473] Forked 27024 -(27024) found -[11472] Forked 27025 -(27025) found -[11471] Forked 27026 -(27026) found -[11470] Forked 27027 -(27027) found -[11469] Forked 27028 -(27028) found -[11468] Forked 27029 -(27029) found -[11467] Forked 27030 -(27030) found -[11466] Forked 27031 -(27031) found -[11465] Forked 27032 -(27032) found -[11464] Forked 27033 -(27033) found -[11463] Forked 27034 -(27034) found -[11462] Forked 27035 -(27035) found -[11461] Forked 27036 -(27036) found -[11460] Forked 27037 -(27037) found -[11459] Forked 27038 -(27038) found -[11458] Forked 27039 -(27039) found -[11457] Forked 27040 -(27040) found -[11456] Forked 27041 -(27041) found -[11455] Forked 27042 -(27042) found -[11454] Forked 27043 -(27043) found -[11453] Forked 27044 -(27044) found -[11452] Forked 27045 -(27045) found -[11451] Forked 27046 -(27046) found -[11450] Forked 27047 -(27047) found -[11449] Forked 27048 -(27048) found -[11448] Forked 27049 -[11447] Forked 27050 -(27049) found -(27050) found -[11446] Forked 27051 -[11445] Forked 27052 -(27051) found -(27052) found -[11444] Forked 27053 -[11443] Forked 27054 -(27053) found -(27054) found -[11442] Forked 27055 -[11441] Forked 27056 -(27055) found -(27056) found -[11440] Forked 27057 -[11439] Forked 27058 -(27057) found -(27058) found -[11438] Forked 27059 -[11437] Forked 27060 -(27059) found -(27060) found -[11436] Forked 27061 -[11435] Forked 27062 -(27061) found -(27062) found -[11434] Forked 27063 -[11433] Forked 27064 -(27063) found -(27064) found -[11432] Forked 27065 -[11431] Forked 27066 -(27065) found -(27066) found -[11430] Forked 27067 -[11429] Forked 27068 -(27067) found -(27068) found -[11428] Forked 27069 -[11427] Forked 27070 -(27069) found -(27070) found -[11426] Forked 27071 -[11425] Forked 27072 -(27071) found -(27072) found -[11424] Forked 27073 -[11423] Forked 27074 -(27073) found -(27074) found -[11422] Forked 27075 -[11421] Forked 27076 -(27075) found -(27076) found -[11420] Forked 27077 -[11419] Forked 27078 -(27078) found -(27077) found -[11418] Forked 27079 -(27079) found -[11417] Forked 27080 -(27080) found -[11416] Forked 27081 -(27081) found -[11415] Forked 27082 -(27082) found -[11414] Forked 27083 -(27083) found -[11413] Forked 27084 -(27084) found -[11412] Forked 27085 -(27085) found -[11411] Forked 27086 -(27086) found -[11410] Forked 27087 -(27087) found -[11409] Forked 27088 -(27088) found -[11408] Forked 27089 -(27089) found -[11407] Forked 27090 -(27090) found -[11406] Forked 27091 -(27091) found -[11405] Forked 27092 -(27092) found -[11404] Forked 27093 -(27093) found -[11403] Forked 27094 -(27094) found -[11402] Forked 27095 -(27095) found -[11401] Forked 27096 -(27096) found -[11400] Forked 27097 -(27097) found -[11399] Forked 27098 -(27098) found -[11398] Forked 27099 -(27099) found -[11397] Forked 27100 -(27100) found -[11396] Forked 27101 -(27101) found -[11395] Forked 27102 -(27102) found -[11394] Forked 27103 -(27103) found -[11393] Forked 27104 -(27104) found -[11392] Forked 27105 -(27105) found -[11391] Forked 27106 -(27106) found -[11390] Forked 27107 -(27107) found -[11389] Forked 27108 -(27108) found -[11388] Forked 27109 -(27109) found -[11387] Forked 27110 -(27110) found -[11386] Forked 27111 -(27111) found -[11385] Forked 27112 -(27112) found -[11384] Forked 27113 -(27113) found -[11383] Forked 27114 -(27114) found -[11382] Forked 27115 -(27115) found -[11381] Forked 27116 -(27116) found -[11380] Forked 27117 -(27117) found -[11379] Forked 27118 -(27118) found -[11378] Forked 27119 -(27119) found -[11377] Forked 27120 -(27120) found -[11376] Forked 27121 -(27121) found -[11375] Forked 27122 -(27122) found -[11374] Forked 27123 -(27123) found -[11373] Forked 27124 -(27124) found -[11372] Forked 27125 -(27125) found -[11371] Forked 27126 -[11370] Forked 27127 -(27126) found -(27127) found -[11369] Forked 27128 -[11368] Forked 27129 -(27128) found -(27129) found -[11367] Forked 27130 -[11366] Forked 27131 -(27130) found -(27131) found -[11365] Forked 27132 -[11364] Forked 27133 -(27132) found -(27133) found -[11363] Forked 27134 -[11362] Forked 27135 -(27134) found -(27135) found -[11361] Forked 27136 -[11360] Forked 27137 -(27136) found -(27137) found -[11359] Forked 27138 -[11358] Forked 27139 -(27138) found -(27139) found -[11357] Forked 27140 -[11356] Forked 27141 -(27140) found -(27141) found -[11355] Forked 27142 -[11354] Forked 27143 -(27142) found -(27143) found -[11353] Forked 27144 -[11352] Forked 27145 -(27144) found -(27145) found -[11351] Forked 27146 -[11350] Forked 27147 -(27146) found -(27147) found -[11349] Forked 27148 -[11348] Forked 27149 -(27148) found -(27149) found -[11347] Forked 27150 -[11346] Forked 27151 -(27150) found -(27151) found -[11345] Forked 27152 -[11344] Forked 27153 -(27152) found -(27153) found -[11343] Forked 27154 -[11342] Forked 27155 -(27154) found -(27155) found -[11341] Forked 27156 -[11340] Forked 27157 -(27156) found -(27157) found -[11339] Forked 27158 -[11338] Forked 27159 -(27158) found -(27159) found -[11337] Forked 27160 -[11336] Forked 27161 -(27160) found -(27161) found -[11335] Forked 27162 -[11334] Forked 27163 -(27162) found -(27163) found -[11333] Forked 27164 -[11332] Forked 27165 -(27164) found -(27165) found -[11331] Forked 27166 -[11330] Forked 27167 -(27166) found -(27167) found -[11329] Forked 27168 -[11328] Forked 27169 -(27168) found -(27169) found -[11327] Forked 27170 -[11326] Forked 27171 -(27170) found -(27171) found -[11325] Forked 27172 -(27172) found -[11324] Forked 27173 -(27173) found -[11323] Forked 27174 -(27174) found -[11322] Forked 27175 -(27175) found -[11321] Forked 27176 -(27176) found -[11320] Forked 27177 -(27177) found -[11319] Forked 27178 -(27178) found -[11318] Forked 27179 -(27179) found -[11317] Forked 27180 -(27180) found -[11316] Forked 27181 -(27181) found -[11315] Forked 27182 -(27182) found -[11314] Forked 27183 -(27183) found -[11313] Forked 27184 -(27184) found -[11312] Forked 27185 -(27185) found -[11311] Forked 27186 -(27186) found -[11310] Forked 27187 -(27187) found -[11309] Forked 27188 -(27188) found -[11308] Forked 27189 -(27189) found -[11307] Forked 27190 -(27190) found -[11306] Forked 27191 -(27191) found -[11305] Forked 27192 -(27192) found -[11304] Forked 27193 -(27193) found -[11303] Forked 27194 -(27194) found -[11302] Forked 27195 -(27195) found -[11301] Forked 27196 -(27196) found -[11300] Forked 27197 -(27197) found -[11299] Forked 27198 -(27198) found -[11298] Forked 27199 -(27199) found -[11297] Forked 27200 -(27200) found -[11296] Forked 27201 -(27201) found -[11295] Forked 27202 -(27202) found -[11294] Forked 27203 -(27203) found -[11293] Forked 27204 -(27204) found -[11292] Forked 27205 -(27205) found -[11291] Forked 27206 -[11290] Forked 27207 -(27206) found -(27207) found -[11289] Forked 27208 -[11288] Forked 27209 -(27208) found -(27209) found -[11287] Forked 27210 -[11286] Forked 27211 -(27210) found -(27211) found -[11285] Forked 27212 -[11284] Forked 27213 -(27212) found -(27213) found -[11283] Forked 27214 -[11282] Forked 27215 -(27214) found -(27215) found -[11281] Forked 27216 -[11280] Forked 27217 -(27216) found -(27217) found -[11279] Forked 27218 -[11278] Forked 27219 -(27218) found -(27219) found -[11277] Forked 27220 -[11276] Forked 27221 -(27220) found -(27221) found -[11275] Forked 27222 -[11274] Forked 27223 -(27222) found -(27223) found -[11273] Forked 27224 -[11272] Forked 27225 -(27224) found -(27225) found -[11271] Forked 27226 -[11270] Forked 27227 -(27226) found -(27227) found -[11269] Forked 27228 -[11268] Forked 27229 -(27228) found -(27229) found -[11267] Forked 27230 -[11266] Forked 27231 -(27230) found -(27231) found -[11265] Forked 27232 -[11264] Forked 27233 -(27232) found -(27233) found -[11263] Forked 27234 -[11262] Forked 27235 -(27234) found -(27235) found -[11261] Forked 27236 -[11260] Forked 27237 -(27236) found -(27237) found -[11259] Forked 27238 -[11258] Forked 27239 -(27238) found -(27239) found -[11257] Forked 27240 -[11256] Forked 27241 -(27240) found -(27241) found -[11255] Forked 27242 -[11254] Forked 27243 -(27242) found -(27243) found -[11253] Forked 27244 -[11252] Forked 27245 -(27244) found -(27245) found -[11251] Forked 27246 -[11250] Forked 27247 -(27246) found -(27247) found -[11249] Forked 27248 -[11248] Forked 27249 -(27248) found -(27249) found -[11247] Forked 27250 -[11246] Forked 27251 -(27250) found -(27251) found -[11245] Forked 27252 -(27252) found -[11244] Forked 27253 -(27253) found -[11243] Forked 27254 -(27254) found -[11242] Forked 27255 -(27255) found -[11241] Forked 27256 -(27256) found -[11240] Forked 27257 -(27257) found -[11239] Forked 27258 -(27258) found -[11238] Forked 27259 -(27259) found -[11237] Forked 27260 -(27260) found -[11236] Forked 27261 -(27261) found -[11235] Forked 27262 -(27262) found -[11234] Forked 27263 -(27263) found -[11233] Forked 27264 -(27264) found -[11232] Forked 27265 -(27265) found -[11231] Forked 27266 -(27266) found -[11230] Forked 27267 -(27267) found -[11229] Forked 27268 -(27268) found -[11228] Forked 27269 -(27269) found -[11227] Forked 27270 -(27270) found -[11226] Forked 27271 -(27271) found -[11225] Forked 27272 -(27272) found -[11224] Forked 27273 -(27273) found -[11223] Forked 27274 -(27274) found -[11222] Forked 27275 -(27275) found -[11221] Forked 27276 -(27276) found -[11220] Forked 27277 -(27277) found -[11219] Forked 27278 -(27278) found -[11218] Forked 27279 -(27279) found -[11217] Forked 27280 -(27280) found -[11216] Forked 27281 -(27281) found -[11215] Forked 27282 -(27282) found -[11214] Forked 27283 -(27283) found -[11213] Forked 27284 -(27284) found -[11212] Forked 27285 -(27285) found -[11211] Forked 27286 -(27286) found -[11210] Forked 27287 -[11209] Forked 27288 -(27287) found -(27288) found -[11208] Forked 27289 -[11207] Forked 27290 -(27289) found -(27290) found -[11206] Forked 27291 -[11205] Forked 27292 -(27291) found -(27292) found -[11204] Forked 27293 -[11203] Forked 27294 -(27293) found -(27294) found -[11202] Forked 27295 -[11201] Forked 27296 -(27295) found -(27296) found -[11200] Forked 27297 -[11199] Forked 27298 -(27297) found -(27298) found -[11198] Forked 27299 -[11197] Forked 27300 -(27299) found -(27300) found -[11196] Forked 27301 -[11195] Forked 27302 -(27301) found -(27302) found -[11194] Forked 27303 -[11193] Forked 27304 -(27303) found -(27304) found -[11192] Forked 27305 -[11191] Forked 27306 -(27305) found -(27306) found -[11190] Forked 27307 -[11189] Forked 27308 -(27307) found -(27308) found -[11188] Forked 27309 -[11187] Forked 27310 -(27309) found -(27310) found -[11186] Forked 27311 -[11185] Forked 27312 -(27311) found -(27312) found -[11184] Forked 27313 -[11183] Forked 27314 -(27313) found -(27314) found -[11182] Forked 27315 -[11181] Forked 27316 -(27315) found -(27316) found -[11180] Forked 27317 -[11179] Forked 27318 -(27317) found -(27318) found -[11178] Forked 27319 -[11177] Forked 27320 -(27319) found -(27320) found -[11176] Forked 27321 -[11175] Forked 27322 -(27321) found -(27322) found -[11174] Forked 27323 -[11173] Forked 27324 -(27323) found -(27324) found -[11172] Forked 27325 -[11171] Forked 27326 -(27325) found -(27326) found -[11170] Forked 27327 -[11169] Forked 27328 -(27327) found -(27328) found -[11168] Forked 27329 -[11167] Forked 27330 -(27329) found -(27330) found -[11166] Forked 27331 -[11165] Forked 27332 -(27331) found -(27332) found -[11164] Forked 27333 -[11163] Forked 27334 -(27333) found -(27334) found -[11162] Forked 27335 -[11161] Forked 27336 -(27335) found -(27336) found -[11160] Forked 27337 -[11159] Forked 27338 -(27337) found -(27338) found -[11158] Forked 27339 -[11157] Forked 27340 -(27339) found -(27340) found -[11156] Forked 27341 -[11155] Forked 27342 -(27341) found -(27342) found -[11154] Forked 27343 -[11153] Forked 27344 -(27343) found -(27344) found -[11152] Forked 27345 -[11151] Forked 27346 -(27345) found -(27346) found -[11150] Forked 27347 -[11149] Forked 27348 -(27347) found -(27348) found -[11148] Forked 27349 -[11147] Forked 27350 -(27349) found -(27350) found -[11146] Forked 27351 -[11145] Forked 27352 -(27351) found -(27352) found -[11144] Forked 27353 -[11143] Forked 27354 -(27353) found -(27354) found -[11142] Forked 27355 -[11141] Forked 27356 -(27355) found -(27356) found -[11140] Forked 27357 -[11139] Forked 27358 -(27357) found -(27358) found -[11138] Forked 27359 -[11137] Forked 27360 -(27359) found -(27360) found -[11136] Forked 27361 -[11135] Forked 27362 -(27361) found -(27362) found -[11134] Forked 27363 -[11133] Forked 27364 -(27363) found -(27364) found -[11132] Forked 27365 -[11131] Forked 27366 -(27365) found -(27366) found -[11130] Forked 27367 -[11129] Forked 27368 -(27367) found -(27368) found -[11128] Forked 27369 -[11127] Forked 27370 -(27369) found -(27370) found -[11126] Forked 27371 -[11125] Forked 27372 -(27371) found -(27372) found -[11124] Forked 27373 -[11123] Forked 27374 -(27373) found -(27374) found -[11122] Forked 27375 -[11121] Forked 27376 -(27375) found -(27376) found -[11120] Forked 27377 -[11119] Forked 27378 -(27377) found -(27378) found -[11118] Forked 27379 -[11117] Forked 27380 -(27379) found -(27380) found -[11116] Forked 27381 -[11115] Forked 27382 -(27381) found -(27382) found -[11114] Forked 27383 -[11113] Forked 27384 -(27383) found -(27384) found -[11112] Forked 27385 -[11111] Forked 27386 -(27385) found -(27386) found -[11110] Forked 27387 -[11109] Forked 27388 -(27387) found -(27388) found -[11108] Forked 27389 -[11107] Forked 27390 -(27389) found -(27390) found -[11106] Forked 27391 -[11105] Forked 27392 -(27391) found -(27392) found -[11104] Forked 27393 -[11103] Forked 27394 -(27393) found -(27394) found -[11102] Forked 27395 -[11101] Forked 27396 -(27395) found -(27396) found -[11100] Forked 27397 -[11099] Forked 27398 -(27397) found -(27398) found -[11098] Forked 27399 -[11097] Forked 27400 -(27399) found -(27400) found -[11096] Forked 27401 -[11095] Forked 27402 -(27401) found -(27402) found -[11094] Forked 27403 -[11093] Forked 27404 -(27403) found -(27404) found -[11092] Forked 27405 -[11091] Forked 27406 -(27405) found -(27406) found -[11090] Forked 27407 -[11089] Forked 27408 -(27407) found -(27408) found -[11088] Forked 27409 -[11087] Forked 27410 -(27409) found -(27410) found -[11086] Forked 27411 -[11085] Forked 27412 -(27411) found -(27412) found -[11084] Forked 27413 -[11083] Forked 27414 -(27413) found -(27414) found -[11082] Forked 27415 -[11081] Forked 27416 -(27415) found -(27416) found -[11080] Forked 27417 -[11079] Forked 27418 -(27417) found -(27418) found -[11078] Forked 27419 -[11077] Forked 27420 -(27419) found -(27420) found -[11076] Forked 27421 -[11075] Forked 27422 -(27421) found -(27422) found -[11074] Forked 27423 -(27423) found -[11073] Forked 27424 -(27424) found -[11072] Forked 27425 -(27425) found -[11071] Forked 27426 -(27426) found -[11070] Forked 27427 -(27427) found -[11069] Forked 27428 -(27428) found -[11068] Forked 27429 -(27429) found -[11067] Forked 27430 -(27430) found -[11066] Forked 27431 -(27431) found -[11065] Forked 27432 -(27432) found -[11064] Forked 27433 -(27433) found -[11063] Forked 27434 -(27434) found -[11062] Forked 27435 -(27435) found -[11061] Forked 27436 -(27436) found -[11060] Forked 27437 -(27437) found -[11059] Forked 27438 -(27438) found -[11058] Forked 27439 -(27439) found -[11057] Forked 27440 -(27440) found -[11056] Forked 27441 -(27441) found -[11055] Forked 27442 -(27442) found -[11054] Forked 27443 -(27443) found -[11053] Forked 27444 -(27444) found -[11052] Forked 27445 -(27445) found -[11051] Forked 27446 -(27446) found -[11050] Forked 27447 -(27447) found -[11049] Forked 27448 -(27448) found -[11048] Forked 27449 -(27449) found -[11047] Forked 27450 -(27450) found -[11046] Forked 27451 -(27451) found -[11045] Forked 27452 -(27452) found -[11044] Forked 27453 -(27453) found -[11043] Forked 27454 -(27454) found -[11042] Forked 27455 -(27455) found -[11041] Forked 27456 -(27456) found -[11040] Forked 27457 -[11039] Forked 27458 -(27457) found -(27458) found -[11038] Forked 27459 -[11037] Forked 27460 -(27459) found -(27460) found -[11036] Forked 27461 -[11035] Forked 27462 -(27461) found -(27462) found -[11034] Forked 27463 -[11033] Forked 27464 -(27463) found -(27464) found -[11032] Forked 27465 -[11031] Forked 27466 -(27465) found -(27466) found -[11030] Forked 27467 -[11029] Forked 27468 -(27467) found -(27468) found -[11028] Forked 27469 -[11027] Forked 27470 -(27469) found -(27470) found -[11026] Forked 27471 -[11025] Forked 27472 -(27471) found -(27472) found -[11024] Forked 27473 -[11023] Forked 27474 -(27473) found -(27474) found -[11022] Forked 27475 -[11021] Forked 27476 -(27475) found -(27476) found -[11020] Forked 27477 -[11019] Forked 27478 -(27477) found -(27478) found -[11018] Forked 27479 -[11017] Forked 27480 -(27479) found -(27480) found -[11016] Forked 27481 -[11015] Forked 27482 -(27481) found -(27482) found -[11014] Forked 27483 -[11013] Forked 27484 -(27483) found -(27484) found -[11012] Forked 27485 -[11011] Forked 27486 -(27485) found -(27486) found -[11010] Forked 27487 -[11009] Forked 27488 -(27487) found -(27488) found -[11008] Forked 27489 -[11007] Forked 27490 -(27489) found -(27490) found -[11006] Forked 27491 -[11005] Forked 27492 -(27491) found -(27492) found -[11004] Forked 27493 -[11003] Forked 27494 -(27493) found -(27494) found -[11002] Forked 27495 -[11001] Forked 27496 -(27495) found -(27496) found -[11000] Forked 27497 -[10999] Forked 27498 -(27497) found -(27498) found -[10998] Forked 27499 -[10997] Forked 27500 -(27499) found -(27500) found -[10996] Forked 27501 -[10995] Forked 27502 -(27501) found -(27502) found -[10994] Forked 27503 -(27503) found -[10993] Forked 27504 -(27504) found -[10992] Forked 27505 -(27505) found -[10991] Forked 27506 -(27506) found -[10990] Forked 27507 -(27507) found -[10989] Forked 27508 -(27508) found -[10988] Forked 27509 -(27509) found -[10987] Forked 27510 -(27510) found -[10986] Forked 27511 -(27511) found -[10985] Forked 27512 -(27512) found -[10984] Forked 27513 -(27513) found -[10983] Forked 27514 -(27514) found -[10982] Forked 27515 -(27515) found -[10981] Forked 27516 -(27516) found -[10980] Forked 27517 -(27517) found -[10979] Forked 27518 -(27518) found -[10978] Forked 27519 -(27519) found -[10977] Forked 27520 -(27520) found -[10976] Forked 27521 -(27521) found -[10975] Forked 27522 -(27522) found -[10974] Forked 27523 -(27523) found -[10973] Forked 27524 -(27524) found -[10972] Forked 27525 -(27525) found -[10971] Forked 27526 -(27526) found -[10970] Forked 27527 -(27527) found -[10969] Forked 27528 -(27528) found -[10968] Forked 27529 -(27529) found -[10967] Forked 27530 -(27530) found -[10966] Forked 27531 -(27531) found -[10965] Forked 27532 -(27532) found -[10964] Forked 27533 -(27533) found -[10963] Forked 27534 -(27534) found -[10962] Forked 27535 -(27535) found -[10961] Forked 27536 -(27536) found -[10960] Forked 27537 -[10959] Forked 27538 -(27537) found -(27538) found -[10958] Forked 27539 -[10957] Forked 27540 -(27539) found -(27540) found -[10956] Forked 27541 -[10955] Forked 27542 -(27541) found -(27542) found -[10954] Forked 27543 -[10953] Forked 27544 -(27543) found -(27544) found -[10952] Forked 27545 -[10951] Forked 27546 -(27545) found -(27546) found -[10950] Forked 27547 -[10949] Forked 27548 -(27547) found -(27548) found -[10948] Forked 27549 -[10947] Forked 27550 -(27549) found -(27550) found -[10946] Forked 27551 -[10945] Forked 27552 -(27551) found -(27552) found -[10944] Forked 27553 -[10943] Forked 27554 -(27553) found -(27554) found -[10942] Forked 27555 -[10941] Forked 27556 -(27555) found -(27556) found -[10940] Forked 27557 -[10939] Forked 27558 -(27557) found -(27558) found -[10938] Forked 27559 -[10937] Forked 27560 -(27559) found -(27560) found -[10936] Forked 27561 -[10935] Forked 27562 -(27561) found -(27562) found -[10934] Forked 27563 -[10933] Forked 27564 -(27563) found -(27564) found -[10932] Forked 27565 -[10931] Forked 27566 -(27565) found -(27566) found -[10930] Forked 27567 -[10929] Forked 27568 -(27567) found -(27568) found -[10928] Forked 27569 -[10927] Forked 27570 -(27569) found -(27570) found -[10926] Forked 27571 -[10925] Forked 27572 -(27571) found -(27572) found -[10924] Forked 27573 -[10923] Forked 27574 -(27573) found -(27574) found -[10922] Forked 27575 -[10921] Forked 27576 -(27575) found -(27576) found -[10920] Forked 27577 -[10919] Forked 27578 -(27577) found -(27578) found -[10918] Forked 27579 -[10917] Forked 27580 -(27579) found -(27580) found -[10916] Forked 27581 -[10915] Forked 27582 -(27581) found -(27582) found -[10914] Forked 27583 -(27583) found -[10913] Forked 27584 -(27584) found -[10912] Forked 27585 -(27585) found -[10911] Forked 27586 -(27586) found -[10910] Forked 27587 -(27587) found -[10909] Forked 27588 -(27588) found -[10908] Forked 27589 -(27589) found -[10907] Forked 27590 -(27590) found -[10906] Forked 27591 -(27591) found -[10905] Forked 27592 -(27592) found -[10904] Forked 27593 -(27593) found -[10903] Forked 27594 -(27594) found -[10902] Forked 27595 -(27595) found -[10901] Forked 27596 -(27596) found -[10900] Forked 27597 -(27597) found -[10899] Forked 27598 -(27598) found -[10898] Forked 27599 -(27599) found -[10897] Forked 27600 -(27600) found -[10896] Forked 27601 -(27601) found -[10895] Forked 27602 -(27602) found -[10894] Forked 27603 -(27603) found -[10893] Forked 27604 -(27604) found -[10892] Forked 27605 -(27605) found -[10891] Forked 27606 -(27606) found -[10890] Forked 27607 -(27607) found -[10889] Forked 27608 -(27608) found -[10888] Forked 27609 -(27609) found -[10887] Forked 27610 -(27610) found -[10886] Forked 27611 -(27611) found -[10885] Forked 27612 -(27612) found -[10884] Forked 27613 -(27613) found -[10883] Forked 27614 -(27614) found -[10882] Forked 27615 -(27615) found -[10881] Forked 27616 -(27616) found -[10880] Forked 27617 -(27617) found -[10879] Forked 27618 -[10878] Forked 27619 -(27618) found -(27619) found -[10877] Forked 27620 -[10876] Forked 27621 -(27620) found -(27621) found -[10875] Forked 27622 -[10874] Forked 27623 -(27622) found -(27623) found -[10873] Forked 27624 -[10872] Forked 27625 -(27624) found -(27625) found -[10871] Forked 27626 -[10870] Forked 27627 -(27626) found -(27627) found -[10869] Forked 27628 -[10868] Forked 27629 -(27628) found -(27629) found -[10867] Forked 27630 -[10866] Forked 27631 -(27630) found -(27631) found -[10865] Forked 27632 -[10864] Forked 27633 -(27632) found -(27633) found -[10863] Forked 27634 -[10862] Forked 27635 -(27634) found -(27635) found -[10861] Forked 27636 -[10860] Forked 27637 -(27636) found -(27637) found -[10859] Forked 27638 -[10858] Forked 27639 -(27638) found -(27639) found -[10857] Forked 27640 -[10856] Forked 27641 -(27640) found -(27641) found -[10855] Forked 27642 -[10854] Forked 27643 -(27642) found -(27643) found -[10853] Forked 27644 -[10852] Forked 27645 -(27644) found -(27645) found -[10851] Forked 27646 -[10850] Forked 27647 -(27646) found -(27647) found -[10849] Forked 27648 -[10848] Forked 27649 -(27648) found -(27649) found -[10847] Forked 27650 -[10846] Forked 27651 -(27650) found -(27651) found -[10845] Forked 27652 -[10844] Forked 27653 -(27652) found -(27653) found -[10843] Forked 27654 -[10842] Forked 27655 -(27654) found -(27655) found -[10841] Forked 27656 -[10840] Forked 27657 -(27656) found -(27657) found -[10839] Forked 27658 -[10838] Forked 27659 -(27658) found -(27659) found -[10837] Forked 27660 -[10836] Forked 27661 -(27660) found -(27661) found -[10835] Forked 27662 -[10834] Forked 27663 -(27662) found -(27663) found -[10833] Forked 27664 -[10832] Forked 27665 -(27664) found -(27665) found -[10831] Forked 27666 -[10830] Forked 27667 -(27666) found -(27667) found -[10829] Forked 27668 -[10828] Forked 27669 -(27668) found -(27669) found -[10827] Forked 27670 -[10826] Forked 27671 -(27670) found -(27671) found -[10825] Forked 27672 -[10824] Forked 27673 -(27672) found -(27673) found -[10823] Forked 27674 -[10822] Forked 27675 -(27674) found -(27675) found -[10821] Forked 27676 -[10820] Forked 27677 -(27676) found -(27677) found -[10819] Forked 27678 -[10818] Forked 27679 -(27678) found -(27679) found -[10817] Forked 27680 -[10816] Forked 27681 -(27680) found -(27681) found -[10815] Forked 27682 -[10814] Forked 27683 -(27682) found -(27683) found -[10813] Forked 27684 -[10812] Forked 27685 -(27684) found -(27685) found -[10811] Forked 27686 -[10810] Forked 27687 -(27686) found -(27687) found -[10809] Forked 27688 -[10808] Forked 27689 -(27688) found -(27689) found -[10807] Forked 27691 -[10806] Forked 27692 -(27691) found -(27692) found -[10805] Forked 27693 -[10804] Forked 27694 -(27693) found -(27694) found -[10803] Forked 27695 -[10802] Forked 27696 -(27695) found -(27696) found -[10801] Forked 27697 -[10800] Forked 27698 -(27697) found -(27698) found -[10799] Forked 27699 -[10798] Forked 27700 -(27699) found -(27700) found -[10797] Forked 27701 -[10796] Forked 27702 -(27701) found -(27702) found -[10795] Forked 27703 -[10794] Forked 27704 -(27703) found -(27704) found -[10793] Forked 27705 -[10792] Forked 27706 -(27705) found -(27706) found -[10791] Forked 27707 -[10790] Forked 27708 -(27707) found -(27708) found -[10789] Forked 27709 -(27709) found -[10788] Forked 27710 -(27710) found -[10787] Forked 27711 -(27711) found -[10786] Forked 27712 -(27712) found -[10785] Forked 27713 -(27713) found -[10784] Forked 27714 -(27714) found -[10783] Forked 27715 -(27715) found -[10782] Forked 27716 -(27716) found -[10781] Forked 27717 -(27717) found -[10780] Forked 27718 -(27718) found -[10779] Forked 27719 -(27719) found -[10778] Forked 27720 -(27720) found -[10777] Forked 27721 -(27721) found -[10776] Forked 27722 -(27722) found -[10775] Forked 27723 -(27723) found -[10774] Forked 27724 -(27724) found -[10773] Forked 27725 -(27725) found -[10772] Forked 27726 -(27726) found -[10771] Forked 27727 -(27727) found -[10770] Forked 27728 -(27728) found -[10769] Forked 27729 -(27729) found -[10768] Forked 27730 -(27730) found -[10767] Forked 27731 -(27731) found -[10766] Forked 27732 -(27732) found -[10765] Forked 27733 -(27733) found -[10764] Forked 27734 -(27734) found -[10763] Forked 27735 -(27735) found -[10762] Forked 27736 -(27736) found -[10761] Forked 27737 -(27737) found -[10760] Forked 27738 -(27738) found -[10759] Forked 27739 -(27739) found -[10758] Forked 27740 -(27740) found -[10757] Forked 27741 -(27741) found -[10756] Forked 27742 -(27742) found -[10755] Forked 27743 -(27743) found -[10754] Forked 27744 -(27744) found -[10753] Forked 27745 -[10752] Forked 27746 -(27745) found -(27746) found -[10751] Forked 27747 -[10750] Forked 27748 -(27747) found -(27748) found -[10749] Forked 27749 -(27749) found -[10748] Forked 27750 -[10747] Forked 27751 -(27750) found -(27751) found -[10746] Forked 27752 -[10745] Forked 27753 -(27752) found -(27753) found -[10744] Forked 27754 -[10743] Forked 27755 -(27754) found -(27755) found -[10742] Forked 27756 -[10741] Forked 27757 -(27756) found -(27757) found -[10740] Forked 27758 -[10739] Forked 27759 -(27758) found -(27759) found -[10738] Forked 27760 -[10737] Forked 27761 -(27760) found -(27761) found -[10736] Forked 27762 -[10735] Forked 27763 -(27762) found -(27763) found -[10734] Forked 27764 -[10733] Forked 27765 -(27764) found -(27765) found -[10732] Forked 27766 -[10731] Forked 27767 -(27766) found -(27767) found -[10730] Forked 27768 -[10729] Forked 27769 -(27768) found -(27769) found -[10728] Forked 27770 -[10727] Forked 27771 -(27770) found -(27771) found -[10726] Forked 27772 -[10725] Forked 27773 -(27772) found -(27773) found -[10724] Forked 27774 -[10723] Forked 27775 -(27774) found -(27775) found -[10722] Forked 27776 -[10721] Forked 27777 -(27776) found -(27777) found -[10720] Forked 27778 -[10719] Forked 27779 -(27778) found -(27779) found -[10718] Forked 27780 -[10717] Forked 27781 -(27780) found -(27781) found -[10716] Forked 27782 -[10715] Forked 27783 -(27782) found -(27783) found -[10714] Forked 27784 -[10713] Forked 27785 -(27784) found -(27785) found -[10712] Forked 27786 -[10711] Forked 27787 -(27786) found -(27787) found -[10710] Forked 27788 -[10709] Forked 27789 -(27788) found -(27789) found -[10708] Forked 27790 -[10707] Forked 27791 -(27790) found -(27791) found -[10706] Forked 27792 -[10705] Forked 27793 -(27792) found -(27793) found -[10704] Forked 27794 -[10703] Forked 27795 -(27794) found -(27795) found -[10702] Forked 27796 -[10701] Forked 27797 -(27796) found -(27797) found -[10700] Forked 27798 -(27798) found -[10699] Forked 27799 -[10698] Forked 27800 -(27799) found -(27800) found -[10697] Forked 27801 -[10696] Forked 27802 -(27801) found -(27802) found -[10695] Forked 27803 -[10694] Forked 27804 -(27803) found -(27804) found -[10693] Forked 27805 -[10692] Forked 27806 -(27805) found -(27806) found -[10691] Forked 27807 -[10690] Forked 27808 -(27807) found -(27808) found -[10689] Forked 27809 -[10688] Forked 27810 -(27809) found -(27810) found -[10687] Forked 27811 -[10686] Forked 27812 -(27811) found -(27812) found -[10685] Forked 27813 -[10684] Forked 27814 -(27813) found -(27814) found -[10683] Forked 27815 -[10682] Forked 27816 -(27815) found -(27816) found -[10681] Forked 27817 -[10680] Forked 27818 -(27817) found -(27818) found -[10679] Forked 27819 -[10678] Forked 27820 -(27819) found -(27820) found -[10677] Forked 27821 -[10676] Forked 27822 -(27821) found -(27822) found -[10675] Forked 27823 -[10674] Forked 27824 -(27823) found -(27824) found -[10673] Forked 27825 -[10672] Forked 27826 -(27825) found -(27826) found -[10671] Forked 27827 -[10670] Forked 27828 -(27827) found -(27828) found -[10669] Forked 27829 -[10668] Forked 27831 -(27829) found -(27831) found -[10667] Forked 27832 -[10666] Forked 27833 -(27832) found -(27833) found -[10665] Forked 27834 -[10664] Forked 27835 -(27834) found -(27835) found -[10663] Forked 27836 -(27836) found -[10662] Forked 27837 -(27837) found -[10661] Forked 27838 -(27838) found -[10660] Forked 27839 -(27839) found -[10659] Forked 27840 -(27840) found -[10658] Forked 27841 -(27841) found -[10657] Forked 27842 -(27842) found -[10656] Forked 27843 -(27843) found -[10655] Forked 27844 -(27844) found -[10654] Forked 27845 -(27845) found -[10653] Forked 27846 -(27846) found -[10652] Forked 27847 -(27847) found -[10651] Forked 27848 -(27848) found -[10650] Forked 27849 -(27849) found -[10649] Forked 27850 -(27850) found -[10648] Forked 27851 -(27851) found -[10647] Forked 27852 -(27852) found -[10646] Forked 27853 -(27853) found -[10645] Forked 27854 -(27854) found -[10644] Forked 27855 -(27855) found -[10643] Forked 27856 -(27856) found -[10642] Forked 27857 -(27857) found -[10641] Forked 27858 -(27858) found -[10640] Forked 27859 -(27859) found -[10639] Forked 27860 -(27860) found -[10638] Forked 27861 -(27861) found -[10637] Forked 27862 -(27862) found -[10636] Forked 27863 -(27863) found -[10635] Forked 27864 -(27864) found -[10634] Forked 27865 -(27865) found -[10633] Forked 27866 -(27866) found -[10632] Forked 27867 -(27867) found -[10631] Forked 27868 -(27868) found -[10630] Forked 27869 -(27869) found -[10629] Forked 27870 -[10628] Forked 27871 -(27870) found -(27871) found -[10627] Forked 27872 -[10626] Forked 27873 -(27872) found -(27873) found -[10625] Forked 27874 -[10624] Forked 27875 -(27874) found -(27875) found -[10623] Forked 27876 -[10622] Forked 27877 -(27876) found -(27877) found -[10621] Forked 27878 -[10620] Forked 27879 -(27878) found -(27879) found -[10619] Forked 27880 -[10618] Forked 27881 -(27880) found -(27881) found -[10617] Forked 27882 -[10616] Forked 27883 -(27882) found -(27883) found -[10615] Forked 27884 -[10614] Forked 27885 -(27884) found -(27885) found -[10613] Forked 27886 -[10612] Forked 27887 -(27886) found -(27887) found -[10611] Forked 27888 -[10610] Forked 27889 -(27888) found -(27889) found -[10609] Forked 27890 -[10608] Forked 27891 -(27890) found -(27891) found -[10607] Forked 27892 -[10606] Forked 27893 -(27892) found -(27893) found -[10605] Forked 27894 -[10604] Forked 27895 -(27894) found -(27895) found -[10603] Forked 27896 -[10602] Forked 27897 -(27896) found -(27897) found -[10601] Forked 27898 -[10600] Forked 27899 -(27898) found -(27899) found -[10599] Forked 27900 -[10598] Forked 27901 -(27900) found -(27901) found -[10597] Forked 27902 -[10596] Forked 27903 -(27902) found -(27903) found -[10595] Forked 27904 -[10594] Forked 27905 -(27904) found -(27905) found -[10593] Forked 27906 -[10592] Forked 27907 -(27906) found -(27907) found -[10591] Forked 27908 -[10590] Forked 27909 -(27908) found -(27909) found -[10589] Forked 27910 -[10588] Forked 27911 -(27910) found -(27911) found -[10587] Forked 27912 -[10586] Forked 27913 -(27912) found -(27913) found -[10585] Forked 27914 -(27914) found -[10584] Forked 27915 -[10583] Forked 27916 -(27915) found -(27916) found -[10582] Forked 27917 -[10581] Forked 27918 -(27917) found -(27918) found -[10580] Forked 27919 -(27919) found -[10579] Forked 27920 -[10578] Forked 27921 -(27920) found -(27921) found -[10577] Forked 27922 -[10576] Forked 27923 -(27923) found -(27922) found -[10575] Forked 27924 -(27924) found -[10574] Forked 27925 -(27925) found -[10573] Forked 27926 -(27926) found -[10572] Forked 27927 -(27927) found -[10571] Forked 27928 -(27928) found -[10570] Forked 27929 -(27929) found -[10569] Forked 27930 -(27930) found -[10568] Forked 27931 -(27931) found -[10567] Forked 27932 -(27932) found -[10566] Forked 27933 -(27933) found -[10565] Forked 27934 -(27934) found -[10564] Forked 27935 -(27935) found -[10563] Forked 27936 -(27936) found -[10562] Forked 27937 -(27937) found -[10561] Forked 27938 -(27938) found -[10560] Forked 27939 -(27939) found -[10559] Forked 27940 -(27940) found -[10558] Forked 27941 -(27941) found -[10557] Forked 27942 -(27942) found -[10556] Forked 27943 -(27943) found -[10555] Forked 27944 -(27944) found -[10554] Forked 27945 -(27945) found -[10553] Forked 27946 -(27946) found -[10552] Forked 27947 -(27947) found -[10551] Forked 27948 -(27948) found -[10550] Forked 27949 -(27949) found -[10549] Forked 27950 -(27950) found -[10548] Forked 27951 -(27951) found -[10547] Forked 27952 -(27952) found -[10546] Forked 27953 -(27953) found -[10545] Forked 27954 -(27954) found -[10544] Forked 27955 -(27955) found -[10543] Forked 27956 -(27956) found -[10542] Forked 27957 -(27957) found -[10541] Forked 27958 -(27958) found -[10540] Forked 27959 -(27959) found -[10539] Forked 27960 -(27960) found -[10538] Forked 27961 -(27961) found -[10537] Forked 27962 -(27962) found -[10536] Forked 27963 -(27963) found -[10535] Forked 27964 -(27964) found -[10534] Forked 27965 -(27965) found -[10533] Forked 27966 -(27966) found -[10532] Forked 27967 -(27967) found -[10531] Forked 27968 -(27968) found -[10530] Forked 27969 -(27969) found -[10529] Forked 27970 -(27970) found -[10528] Forked 27971 -(27971) found -[10527] Forked 27972 -(27972) found -[10526] Forked 27973 -(27973) found -[10525] Forked 27974 -(27974) found -[10524] Forked 27975 -(27975) found -[10523] Forked 27976 -(27976) found -[10522] Forked 27977 -(27977) found -[10521] Forked 27978 -(27978) found -[10520] Forked 27979 -(27979) found -[10519] Forked 27980 -(27980) found -[10518] Forked 27981 -(27981) found -[10517] Forked 27982 -(27982) found -[10516] Forked 27983 -(27983) found -[10515] Forked 27984 -(27984) found -[10514] Forked 27985 -(27985) found -[10513] Forked 27986 -[10512] Forked 27988 -(27986) found -(27988) found -[10511] Forked 27989 -[10510] Forked 27990 -(27989) found -(27990) found -[10509] Forked 27991 -[10508] Forked 27992 -(27991) found -(27992) found -[10507] Forked 27993 -[10506] Forked 27994 -(27993) found -(27994) found -[10505] Forked 27995 -[10504] Forked 27996 -(27995) found -(27996) found -[10503] Forked 27997 -[10502] Forked 27998 -(27997) found -(27998) found -[10501] Forked 27999 -[10500] Forked 28000 -(27999) found -(28000) found -[10499] Forked 28001 -[10498] Forked 28002 -(28001) found -(28002) found -[10497] Forked 28003 -[10496] Forked 28004 -(28003) found -(28004) found -[10495] Forked 28005 -[10494] Forked 28006 -(28005) found -(28006) found -[10493] Forked 28007 -[10492] Forked 28008 -(28007) found -(28008) found -[10491] Forked 28009 -[10490] Forked 28010 -(28009) found -(28010) found -[10489] Forked 28011 -[10488] Forked 28012 -(28011) found -(28012) found -[10487] Forked 28013 -[10486] Forked 28014 -(28013) found -(28014) found -[10485] Forked 28015 -[10484] Forked 28016 -(28015) found -(28016) found -[10483] Forked 28017 -[10482] Forked 28018 -(28017) found -(28018) found -[10481] Forked 28019 -[10480] Forked 28020 -(28019) found -(28020) found -[10479] Forked 28021 -[10478] Forked 28022 -(28021) found -(28022) found -[10477] Forked 28023 -[10476] Forked 28024 -(28023) found -(28024) found -[10475] Forked 28025 -[10474] Forked 28026 -(28025) found -(28026) found -[10473] Forked 28027 -[10472] Forked 28028 -(28027) found -(28028) found -[10471] Forked 28029 -[10470] Forked 28030 -(28029) found -(28030) found -[10469] Forked 28031 -(28031) found -[10468] Forked 28032 -(28032) found -[10467] Forked 28033 -(28033) found -[10466] Forked 28034 -(28034) found -[10465] Forked 28035 -(28035) found -[10464] Forked 28036 -(28036) found -[10463] Forked 28037 -(28037) found -[10462] Forked 28038 -(28038) found -[10461] Forked 28039 -(28039) found -[10460] Forked 28040 -(28040) found -[10459] Forked 28041 -(28041) found -[10458] Forked 28042 -(28042) found -[10457] Forked 28043 -(28043) found -[10456] Forked 28044 -(28044) found -[10455] Forked 28045 -(28045) found -[10454] Forked 28047 -(28047) found -[10453] Forked 28048 -(28048) found -[10452] Forked 28049 -(28049) found -[10451] Forked 28050 -(28050) found -[10450] Forked 28051 -(28051) found -[10449] Forked 28052 -(28052) found -[10448] Forked 28053 -(28053) found -[10447] Forked 28054 -(28054) found -[10446] Forked 28055 -(28055) found -[10445] Forked 28056 -(28056) found -[10444] Forked 28057 -(28057) found -[10443] Forked 28058 -(28058) found -[10442] Forked 28059 -(28059) found -[10441] Forked 28060 -(28060) found -[10440] Forked 28061 -(28061) found -[10439] Forked 28062 -(28062) found -[10438] Forked 28063 -(28063) found -[10437] Forked 28064 -(28064) found -[10436] Forked 28065 -(28065) found -[10435] Forked 28066 -(28066) found -[10434] Forked 28067 -(28067) found -[10433] Forked 28068 -[10432] Forked 28069 -(28068) found -(28069) found -[10431] Forked 28070 -[10430] Forked 28071 -(28070) found -(28071) found -[10429] Forked 28072 -[10428] Forked 28073 -(28072) found -(28073) found -[10427] Forked 28074 -[10426] Forked 28075 -(28074) found -(28075) found -[10425] Forked 28076 -[10424] Forked 28077 -(28076) found -(28077) found -[10423] Forked 28078 -[10422] Forked 28079 -(28078) found -(28079) found -[10421] Forked 28080 -[10420] Forked 28081 -(28080) found -(28081) found -[10419] Forked 28082 -[10418] Forked 28083 -(28082) found -(28083) found -[10417] Forked 28084 -[10416] Forked 28085 -(28084) found -(28085) found -[10415] Forked 28086 -[10414] Forked 28087 -(28086) found -(28087) found -[10413] Forked 28088 -[10412] Forked 28089 -(28088) found -(28089) found -[10411] Forked 28090 -[10410] Forked 28091 -(28090) found -(28091) found -[10409] Forked 28092 -[10408] Forked 28093 -(28092) found -(28093) found -[10407] Forked 28094 -[10406] Forked 28095 -(28094) found -(28095) found -[10405] Forked 28096 -[10404] Forked 28097 -(28096) found -(28097) found -[10403] Forked 28098 -[10402] Forked 28100 -(28098) found -(28100) found -[10401] Forked 28101 -(28101) found -[10400] Forked 28102 -(28102) found -[10399] Forked 28103 -(28103) found -[10398] Forked 28104 -(28104) found -[10397] Forked 28105 -(28105) found -[10396] Forked 28106 -(28106) found -[10395] Forked 28107 -(28107) found -[10394] Forked 28108 -(28108) found -[10393] Forked 28109 -(28109) found -[10392] Forked 28110 -(28110) found -[10391] Forked 28111 -(28111) found -[10390] Forked 28112 -(28112) found -[10389] Forked 28113 -(28113) found -[10388] Forked 28114 -(28114) found -[10387] Forked 28115 -(28115) found -[10386] Forked 28116 -(28116) found -[10385] Forked 28117 -(28117) found -[10384] Forked 28118 -(28118) found -[10383] Forked 28119 -(28119) found -[10382] Forked 28120 -(28120) found -[10381] Forked 28121 -(28121) found -[10380] Forked 28122 -(28122) found -[10379] Forked 28123 -(28123) found -[10378] Forked 28124 -(28124) found -[10377] Forked 28125 -(28125) found -[10376] Forked 28126 -(28126) found -[10375] Forked 28127 -(28127) found -[10374] Forked 28128 -(28128) found -[10373] Forked 28129 -(28129) found -[10372] Forked 28130 -(28130) found -[10371] Forked 28131 -(28131) found -[10370] Forked 28132 -(28132) found -[10369] Forked 28133 -(28133) found -[10368] Forked 28134 -(28134) found -[10367] Forked 28135 -(28135) found -[10366] Forked 28136 -(28136) found -[10365] Forked 28137 -(28137) found -[10364] Forked 28138 -(28138) found -[10363] Forked 28139 -(28139) found -[10362] Forked 28140 -(28140) found -[10361] Forked 28141 -(28141) found -[10360] Forked 28142 -(28142) found -[10359] Forked 28143 -(28143) found -[10358] Forked 28144 -(28144) found -[10357] Forked 28145 -(28145) found -[10356] Forked 28146 -(28146) found -[10355] Forked 28147 -(28147) found -[10354] Forked 28148 -(28148) found -[10353] Forked 28149 -(28149) found -[10352] Forked 28150 -(28150) found -[10351] Forked 28151 -(28151) found -[10350] Forked 28152 -(28152) found -[10349] Forked 28153 -(28153) found -[10348] Forked 28154 -(28154) found -[10347] Forked 28155 -(28155) found -[10346] Forked 28156 -(28156) found -[10345] Forked 28157 -(28157) found -[10344] Forked 28158 -(28158) found -[10343] Forked 28159 -(28159) found -[10342] Forked 28160 -(28160) found -[10341] Forked 28161 -(28161) found -[10340] Forked 28162 -(28162) found -[10339] Forked 28163 -(28163) found -[10338] Forked 28164 -(28164) found -[10337] Forked 28165 -(28165) found -[10336] Forked 28166 -(28166) found -[10335] Forked 28167 -(28167) found -[10334] Forked 28168 -(28168) found -[10333] Forked 28169 -(28169) found -[10332] Forked 28170 -(28170) found -[10331] Forked 28171 -(28171) found -[10330] Forked 28172 -(28172) found -[10329] Forked 28173 -(28173) found -[10328] Forked 28174 -(28174) found -[10327] Forked 28175 -(28175) found -[10326] Forked 28176 -(28176) found -[10325] Forked 28177 -(28177) found -[10324] Forked 28178 -(28178) found -[10323] Forked 28179 -(28179) found -[10322] Forked 28180 -(28180) found -[10321] Forked 28181 -(28181) found -[10320] Forked 28182 -(28182) found -[10319] Forked 28183 -[10318] Forked 28184 -(28183) found -(28184) found -[10317] Forked 28185 -[10316] Forked 28186 -(28185) found -(28186) found -[10315] Forked 28187 -[10314] Forked 28188 -(28187) found -(28188) found -[10313] Forked 28189 -[10312] Forked 28190 -(28189) found -(28190) found -[10311] Forked 28191 -[10310] Forked 28192 -(28191) found -(28192) found -[10309] Forked 28193 -[10308] Forked 28194 -(28193) found -(28194) found -[10307] Forked 28195 -[10306] Forked 28196 -(28195) found -(28196) found -[10305] Forked 28197 -[10304] Forked 28198 -(28197) found -(28198) found -[10303] Forked 28199 -[10302] Forked 28200 -(28199) found -(28200) found -[10301] Forked 28201 -[10300] Forked 28202 -(28201) found -(28202) found -[10299] Forked 28203 -[10298] Forked 28204 -(28203) found -(28204) found -[10297] Forked 28205 -[10296] Forked 28206 -(28205) found -(28206) found -[10295] Forked 28207 -[10294] Forked 28208 -(28207) found -(28208) found -[10293] Forked 28209 -[10292] Forked 28210 -(28209) found -(28210) found -[10291] Forked 28211 -[10290] Forked 28212 -(28211) found -(28212) found -[10289] Forked 28213 -[10288] Forked 28214 -(28213) found -(28214) found -[10287] Forked 28215 -[10286] Forked 28216 -(28215) found -(28216) found -[10285] Forked 28217 -[10284] Forked 28218 -(28217) found -(28218) found -[10283] Forked 28219 -[10282] Forked 28220 -(28219) found -(28220) found -[10281] Forked 28221 -[10280] Forked 28222 -(28221) found -(28222) found -[10279] Forked 28223 -[10278] Forked 28224 -(28223) found -(28224) found -[10277] Forked 28225 -[10276] Forked 28226 -(28225) found -(28226) found -[10275] Forked 28227 -[10274] Forked 28228 -(28227) found -(28228) found -[10273] Forked 28229 -(28229) found -[10272] Forked 28230 -(28230) found -[10271] Forked 28231 -(28231) found -[10270] Forked 28232 -(28232) found -[10269] Forked 28233 -(28233) found -[10268] Forked 28234 -(28234) found -[10267] Forked 28235 -(28235) found -[10266] Forked 28236 -(28236) found -[10265] Forked 28237 -(28237) found -[10264] Forked 28238 -(28238) found -[10263] Forked 28239 -(28239) found -[10262] Forked 28240 -(28240) found -[10261] Forked 28241 -(28241) found -[10260] Forked 28242 -(28242) found -[10259] Forked 28243 -(28243) found -[10258] Forked 28244 -(28244) found -[10257] Forked 28245 -(28245) found -[10256] Forked 28246 -(28246) found -[10255] Forked 28247 -(28247) found -[10254] Forked 28248 -(28248) found -[10253] Forked 28249 -(28249) found -[10252] Forked 28250 -(28250) found -[10251] Forked 28251 -(28251) found -[10250] Forked 28252 -(28252) found -[10249] Forked 28253 -(28253) found -[10248] Forked 28254 -(28254) found -[10247] Forked 28255 -(28255) found -[10246] Forked 28256 -(28256) found -[10245] Forked 28257 -(28257) found -[10244] Forked 28258 -(28258) found -[10243] Forked 28259 -(28259) found -[10242] Forked 28260 -(28260) found -[10241] Forked 28261 -(28261) found -[10240] Forked 28262 -(28262) found -[10239] Forked 28263 -(28263) found -[10238] Forked 28264 -(28264) found -[10237] Forked 28265 -[10236] Forked 28266 -(28265) found -(28266) found -[10235] Forked 28267 -[10234] Forked 28268 -(28267) found -(28268) found -[10233] Forked 28269 -[10232] Forked 28270 -(28269) found -(28270) found -[10231] Forked 28271 -[10230] Forked 28272 -(28271) found -(28272) found -[10229] Forked 28273 -[10228] Forked 28274 -(28273) found -(28274) found -[10227] Forked 28275 -[10226] Forked 28276 -(28275) found -(28276) found -[10225] Forked 28277 -(28277) found -[10224] Forked 28278 -(28278) found -[10223] Forked 28279 -(28279) found -[10222] Forked 28280 -(28280) found -[10221] Forked 28281 -(28281) found -[10220] Forked 28282 -(28282) found -[10219] Forked 28283 -(28283) found -[10218] Forked 28284 -[10217] Forked 28285 -(28284) found -(28285) found -[10216] Forked 28286 -[10215] Forked 28287 -(28286) found -(28287) found -[10214] Forked 28288 -[10213] Forked 28289 -(28288) found -(28289) found -[10212] Forked 28290 -[10211] Forked 28291 -(28290) found -(28291) found -[10210] Forked 28292 -[10209] Forked 28293 -(28292) found -(28293) found -[10208] Forked 28294 -[10207] Forked 28295 -(28294) found -(28295) found -[10206] Forked 28296 -[10205] Forked 28297 -(28296) found -(28297) found -[10204] Forked 28298 -[10203] Forked 28299 -(28298) found -(28299) found -[10202] Forked 28300 -[10201] Forked 28301 -(28300) found -(28301) found -[10200] Forked 28302 -[10199] Forked 28303 -(28302) found -(28303) found -[10198] Forked 28304 -[10197] Forked 28305 -(28304) found -(28305) found -[10196] Forked 28306 -[10195] Forked 28307 -(28306) found -(28307) found -[10194] Forked 28308 -[10193] Forked 28309 -(28308) found -(28309) found -[10192] Forked 28310 -[10191] Forked 28311 -(28310) found -(28311) found -[10190] Forked 28312 -[10189] Forked 28313 -(28312) found -(28313) found -[10188] Forked 28314 -[10187] Forked 28315 -(28314) found -(28315) found -[10186] Forked 28316 -[10185] Forked 28317 -(28316) found -(28317) found -[10184] Forked 28318 -[10183] Forked 28319 -(28318) found -(28319) found -[10182] Forked 28320 -[10181] Forked 28321 -(28320) found -(28321) found -[10180] Forked 28322 -[10179] Forked 28323 -(28322) found -(28323) found -[10178] Forked 28324 -[10177] Forked 28325 -(28324) found -(28325) found -[10176] Forked 28326 -[10175] Forked 28327 -(28326) found -(28327) found -[10174] Forked 28328 -[10173] Forked 28329 -(28328) found -(28329) found -[10172] Forked 28330 -[10171] Forked 28331 -(28330) found -(28331) found -[10170] Forked 28332 -[10169] Forked 28333 -(28332) found -(28333) found -[10168] Forked 28334 -[10167] Forked 28335 -(28334) found -(28335) found -[10166] Forked 28336 -[10165] Forked 28337 -(28336) found -(28337) found -[10164] Forked 28338 -[10163] Forked 28339 -(28338) found -(28339) found -[10162] Forked 28340 -[10161] Forked 28341 -(28340) found -(28341) found -[10160] Forked 28342 -[10159] Forked 28343 -(28342) found -(28343) found -[10158] Forked 28344 -[10157] Forked 28345 -(28344) found -(28345) found -[10156] Forked 28346 -[10155] Forked 28347 -(28346) found -(28347) found -[10154] Forked 28348 -[10153] Forked 28349 -(28348) found -(28349) found -[10152] Forked 28350 -[10151] Forked 28351 -(28350) found -(28351) found -[10150] Forked 28352 -(28352) found -[10149] Forked 28353 -(28353) found -[10148] Forked 28354 -(28354) found -[10147] Forked 28355 -(28355) found -[10146] Forked 28356 -(28356) found -[10145] Forked 28357 -(28357) found -[10144] Forked 28358 -(28358) found -[10143] Forked 28359 -(28359) found -[10142] Forked 28360 -(28360) found -[10141] Forked 28361 -(28361) found -[10140] Forked 28362 -(28362) found -[10139] Forked 28363 -(28363) found -[10138] Forked 28364 -(28364) found -[10137] Forked 28365 -(28365) found -[10136] Forked 28366 -(28366) found -[10135] Forked 28367 -(28367) found -[10134] Forked 28368 -(28368) found -[10133] Forked 28369 -(28369) found -[10132] Forked 28370 -(28370) found -[10131] Forked 28371 -(28371) found -[10130] Forked 28372 -(28372) found -[10129] Forked 28373 -(28373) found -[10128] Forked 28374 -(28374) found -[10127] Forked 28375 -(28375) found -[10126] Forked 28376 -(28376) found -[10125] Forked 28377 -(28377) found -[10124] Forked 28378 -(28378) found -[10123] Forked 28379 -(28379) found -[10122] Forked 28380 -(28380) found -[10121] Forked 28381 -(28381) found -[10120] Forked 28382 -(28382) found -[10119] Forked 28383 -(28383) found -[10118] Forked 28384 -(28384) found -[10117] Forked 28385 -(28385) found -[10116] Forked 28386 -(28386) found -[10115] Forked 28387 -(28387) found -[10114] Forked 28388 -[10113] Forked 28389 -(28388) found -(28389) found -[10112] Forked 28390 -[10111] Forked 28391 -(28390) found -(28391) found -[10110] Forked 28392 -[10109] Forked 28393 -(28392) found -(28393) found -[10108] Forked 28394 -[10107] Forked 28395 -(28394) found -(28395) found -[10106] Forked 28396 -[10105] Forked 28397 -(28396) found -(28397) found -[10104] Forked 28398 -[10103] Forked 28399 -(28398) found -(28399) found -[10102] Forked 28400 -[10101] Forked 28401 -(28400) found -(28401) found -[10100] Forked 28402 -[10099] Forked 28403 -(28402) found -(28403) found -[10098] Forked 28404 -[10097] Forked 28405 -(28404) found -(28405) found -[10096] Forked 28406 -[10095] Forked 28407 -(28406) found -(28407) found -[10094] Forked 28408 -[10093] Forked 28409 -(28408) found -(28409) found -[10092] Forked 28410 -[10091] Forked 28411 -(28410) found -(28411) found -[10090] Forked 28412 -[10089] Forked 28413 -(28412) found -(28413) found -[10088] Forked 28414 -[10087] Forked 28415 -(28414) found -(28415) found -[10086] Forked 28416 -[10085] Forked 28417 -(28416) found -(28417) found -[10084] Forked 28418 -[10083] Forked 28419 -(28418) found -(28419) found -[10082] Forked 28420 -[10081] Forked 28421 -(28420) found -(28421) found -[10080] Forked 28422 -[10079] Forked 28423 -(28422) found -(28423) found -[10078] Forked 28424 -[10077] Forked 28425 -(28424) found -(28425) found -[10076] Forked 28426 -[10075] Forked 28427 -(28426) found -(28427) found -[10074] Forked 28428 -[10073] Forked 28429 -(28428) found -(28429) found -[10072] Forked 28430 -[10071] Forked 28431 -(28430) found -(28431) found -[10070] Forked 28432 -[10069] Forked 28433 -(28432) found -(28433) found -[10068] Forked 28434 -[10067] Forked 28435 -(28434) found -(28435) found -[10066] Forked 28436 -[10065] Forked 28437 -(28436) found -(28437) found -[10064] Forked 28438 -[10063] Forked 28439 -(28438) found -(28439) found -[10062] Forked 28440 -[10061] Forked 28441 -(28440) found -(28441) found -[10060] Forked 28442 -[10059] Forked 28443 -(28442) found -(28443) found -[10058] Forked 28444 -[10057] Forked 28445 -(28444) found -(28445) found -[10056] Forked 28446 -[10055] Forked 28447 -(28446) found -(28447) found -[10054] Forked 28448 -[10053] Forked 28449 -(28448) found -(28449) found -[10052] Forked 28450 -[10051] Forked 28452 -(28450) found -(28452) found -[10050] Forked 28453 -(28453) found -[10049] Forked 28454 -(28454) found -[10048] Forked 28455 -(28455) found -[10047] Forked 28456 -(28456) found -[10046] Forked 28457 -(28457) found -[10045] Forked 28458 -(28458) found -[10044] Forked 28459 -(28459) found -[10043] Forked 28460 -(28460) found -[10042] Forked 28461 -(28461) found -[10041] Forked 28462 -(28462) found -[10040] Forked 28463 -(28463) found -[10039] Forked 28464 -(28464) found -[10038] Forked 28465 -(28465) found -[10037] Forked 28466 -(28466) found -[10036] Forked 28467 -(28467) found -[10035] Forked 28468 -(28468) found -[10034] Forked 28469 -(28469) found -[10033] Forked 28470 -(28470) found -[10032] Forked 28471 -(28471) found -[10031] Forked 28472 -(28472) found -[10030] Forked 28473 -(28473) found -[10029] Forked 28474 -(28474) found -[10028] Forked 28475 -(28475) found -[10027] Forked 28476 -(28476) found -[10026] Forked 28477 -(28477) found -[10025] Forked 28478 -(28478) found -[10024] Forked 28479 -(28479) found -[10023] Forked 28480 -(28480) found -[10022] Forked 28481 -(28481) found -[10021] Forked 28482 -(28482) found -[10020] Forked 28483 -(28483) found -[10019] Forked 28484 -(28484) found -[10018] Forked 28485 -(28485) found -[10017] Forked 28486 -(28486) found -[10016] Forked 28487 -(28487) found -[10015] Forked 28488 -(28488) found -[10014] Forked 28489 -(28489) found -[10013] Forked 28490 -(28490) found -[10012] Forked 28491 -(28491) found -[10011] Forked 28492 -(28492) found -[10010] Forked 28493 -(28493) found -[10009] Forked 28494 -(28494) found -[10008] Forked 28495 -(28495) found -[10007] Forked 28496 -(28496) found -[10006] Forked 28497 -(28497) found -[10005] Forked 28498 -(28498) found -[10004] Forked 28499 -(28499) found -[10003] Forked 28500 -(28500) found -[10002] Forked 28501 -(28501) found -[10001] Forked 28502 -(28502) found -[10000] Forked 28503 -(28503) found -[9999] Forked 28504 -(28504) found -[9998] Forked 28505 -(28505) found -[9997] Forked 28506 -(28506) found -[9996] Forked 28507 -(28507) found -[9995] Forked 28508 -(28508) found -[9994] Forked 28509 -(28509) found -[9993] Forked 28510 -(28510) found -[9992] Forked 28511 -(28511) found -[9991] Forked 28512 -(28512) found -[9990] Forked 28513 -(28513) found -[9989] Forked 28514 -(28514) found -[9988] Forked 28515 -(28515) found -[9987] Forked 28516 -(28516) found -[9986] Forked 28517 -(28517) found -[9985] Forked 28518 -(28518) found -[9984] Forked 28519 -(28519) found -[9983] Forked 28520 -(28520) found -[9982] Forked 28521 -(28521) found -[9981] Forked 28522 -(28522) found -[9980] Forked 28523 -(28523) found -[9979] Forked 28524 -(28524) found -[9978] Forked 28525 -(28525) found -[9977] Forked 28526 -(28526) found -[9976] Forked 28527 -(28527) found -[9975] Forked 28528 -(28528) found -[9974] Forked 28529 -(28529) found -[9973] Forked 28530 -(28530) found -[9972] Forked 28531 -(28531) found -[9971] Forked 28532 -(28532) found -[9970] Forked 28533 -(28533) found -[9969] Forked 28534 -(28534) found -[9968] Forked 28535 -(28535) found -[9967] Forked 28536 -(28536) found -[9966] Forked 28537 -(28537) found -[9965] Forked 28538 -(28538) found -[9964] Forked 28539 -(28539) found -[9963] Forked 28540 -(28540) found -[9962] Forked 28541 -(28541) found -[9961] Forked 28542 -[9960] Forked 28543 -(28542) found -(28543) found -[9959] Forked 28544 -[9958] Forked 28545 -(28544) found -(28545) found -[9957] Forked 28546 -[9956] Forked 28547 -(28546) found -(28547) found -[9955] Forked 28548 -[9954] Forked 28549 -(28548) found -(28549) found -[9953] Forked 28550 -[9952] Forked 28551 -(28550) found -(28551) found -[9951] Forked 28552 -[9950] Forked 28553 -(28552) found -(28553) found -[9949] Forked 28554 -[9948] Forked 28555 -(28554) found -(28555) found -[9947] Forked 28556 -[9946] Forked 28557 -(28556) found -(28557) found -[9945] Forked 28558 -[9944] Forked 28559 -(28558) found -(28559) found -[9943] Forked 28560 -[9942] Forked 28561 -(28560) found -(28561) found -[9941] Forked 28562 -[9940] Forked 28563 -(28562) found -(28563) found -[9939] Forked 28564 -[9938] Forked 28565 -(28564) found -(28565) found -[9937] Forked 28566 -[9936] Forked 28567 -(28566) found -(28567) found -[9935] Forked 28568 -[9934] Forked 28569 -(28568) found -(28569) found -[9933] Forked 28570 -[9932] Forked 28572 -(28570) found -(28572) found -[9931] Forked 28573 -(28573) found -[9930] Forked 28574 -(28574) found -[9929] Forked 28575 -(28575) found -[9928] Forked 28576 -(28576) found -[9927] Forked 28577 -(28577) found -[9926] Forked 28578 -(28578) found -[9925] Forked 28579 -(28579) found -[9924] Forked 28580 -(28580) found -[9923] Forked 28581 -(28581) found -[9922] Forked 28582 -(28582) found -[9921] Forked 28583 -(28583) found -[9920] Forked 28584 -(28584) found -[9919] Forked 28585 -(28585) found -[9918] Forked 28586 -(28586) found -[9917] Forked 28587 -(28587) found -[9916] Forked 28588 -(28588) found -[9915] Forked 28589 -(28589) found -[9914] Forked 28590 -(28590) found -[9913] Forked 28591 -(28591) found -[9912] Forked 28592 -(28592) found -[9911] Forked 28593 -(28593) found -[9910] Forked 28594 -(28594) found -[9909] Forked 28595 -(28595) found -[9908] Forked 28596 -(28596) found -[9907] Forked 28597 -(28597) found -[9906] Forked 28598 -(28598) found -[9905] Forked 28599 -(28599) found -[9904] Forked 28600 -(28600) found -[9903] Forked 28601 -(28601) found -[9902] Forked 28602 -(28602) found -[9901] Forked 28603 -(28603) found -[9900] Forked 28604 -(28604) found -[9899] Forked 28605 -(28605) found -[9898] Forked 28606 -(28606) found -[9897] Forked 28607 -(28607) found -[9896] Forked 28608 -(28608) found -[9895] Forked 28609 -(28609) found -[9894] Forked 28610 -(28610) found -[9893] Forked 28611 -(28611) found -[9892] Forked 28612 -(28612) found -[9891] Forked 28613 -(28613) found -[9890] Forked 28614 -(28614) found -[9889] Forked 28615 -(28615) found -[9888] Forked 28616 -(28616) found -[9887] Forked 28617 -(28617) found -[9886] Forked 28618 -(28618) found -[9885] Forked 28619 -(28619) found -[9884] Forked 28620 -(28620) found -[9883] Forked 28621 -(28621) found -[9882] Forked 28622 -(28622) found -[9881] Forked 28623 -(28623) found -[9880] Forked 28624 -(28624) found -[9879] Forked 28625 -(28625) found -[9878] Forked 28626 -(28626) found -[9877] Forked 28627 -(28627) found -[9876] Forked 28628 -(28628) found -[9875] Forked 28629 -(28629) found -[9874] Forked 28630 -(28630) found -[9873] Forked 28631 -(28631) found -[9872] Forked 28632 -(28632) found -[9871] Forked 28633 -(28633) found -[9870] Forked 28634 -(28634) found -[9869] Forked 28635 -(28635) found -[9868] Forked 28636 -(28636) found -[9867] Forked 28637 -(28637) found -[9866] Forked 28638 -(28638) found -[9865] Forked 28639 -(28639) found -[9864] Forked 28640 -(28640) found -[9863] Forked 28641 -(28641) found -[9862] Forked 28642 -(28642) found -[9861] Forked 28643 -(28643) found -[9860] Forked 28644 -(28644) found -[9859] Forked 28645 -(28645) found -[9858] Forked 28646 -(28646) found -[9857] Forked 28647 -(28647) found -[9856] Forked 28648 -(28648) found -[9855] Forked 28649 -(28649) found -[9854] Forked 28650 -(28650) found -[9853] Forked 28651 -(28651) found -[9852] Forked 28652 -(28652) found -[9851] Forked 28653 -(28653) found -[9850] Forked 28654 -(28654) found -[9849] Forked 28655 -[9848] Forked 28656 -(28655) found -(28656) found -[9847] Forked 28657 -[9846] Forked 28658 -(28657) found -(28658) found -[9845] Forked 28659 -[9844] Forked 28660 -(28659) found -(28660) found -[9843] Forked 28661 -[9842] Forked 28662 -(28661) found -(28662) found -[9841] Forked 28663 -[9840] Forked 28664 -(28663) found -(28664) found -[9839] Forked 28665 -[9838] Forked 28666 -(28665) found -(28666) found -[9837] Forked 28667 -[9836] Forked 28668 -(28667) found -(28668) found -[9835] Forked 28669 -[9834] Forked 28670 -(28669) found -(28670) found -[9833] Forked 28671 -[9832] Forked 28672 -(28671) found -(28672) found -[9831] Forked 28673 -[9830] Forked 28674 -(28673) found -(28674) found -[9829] Forked 28675 -[9828] Forked 28676 -(28675) found -(28676) found -[9827] Forked 28677 -[9826] Forked 28678 -(28677) found -(28678) found -[9825] Forked 28679 -[9824] Forked 28680 -(28679) found -(28680) found -[9823] Forked 28681 -[9822] Forked 28682 -(28681) found -(28682) found -[9821] Forked 28683 -[9820] Forked 28684 -(28683) found -(28684) found -[9819] Forked 28685 -[9818] Forked 28686 -(28685) found -(28686) found -[9817] Forked 28687 -[9816] Forked 28688 -(28687) found -(28688) found -[9815] Forked 28689 -[9814] Forked 28690 -(28689) found -(28690) found -[9813] Forked 28691 -[9812] Forked 28692 -(28691) found -(28692) found -[9811] Forked 28693 -[9810] Forked 28694 -(28693) found -(28694) found -[9809] Forked 28696 -[9808] Forked 28697 -(28696) found -(28697) found -[9807] Forked 28698 -[9806] Forked 28699 -(28698) found -(28699) found -[9805] Forked 28700 -[9804] Forked 28701 -(28700) found -(28701) found -[9803] Forked 28702 -(28702) found -[9802] Forked 28703 -(28703) found -[9801] Forked 28704 -(28704) found -[9800] Forked 28705 -(28705) found -[9799] Forked 28706 -(28706) found -[9798] Forked 28707 -(28707) found -[9797] Forked 28708 -(28708) found -[9796] Forked 28709 -(28709) found -[9795] Forked 28710 -(28710) found -[9794] Forked 28711 -(28711) found -[9793] Forked 28712 -(28712) found -[9792] Forked 28713 -(28713) found -[9791] Forked 28714 -(28714) found -[9790] Forked 28715 -(28715) found -[9789] Forked 28716 -(28716) found -[9788] Forked 28717 -(28717) found -[9787] Forked 28718 -(28718) found -[9786] Forked 28719 -(28719) found -[9785] Forked 28720 -(28720) found -[9784] Forked 28721 -(28721) found -[9783] Forked 28722 -(28722) found -[9782] Forked 28723 -(28723) found -[9781] Forked 28724 -(28724) found -[9780] Forked 28725 -(28725) found -[9779] Forked 28726 -(28726) found -[9778] Forked 28727 -(28727) found -[9777] Forked 28728 -(28728) found -[9776] Forked 28729 -(28729) found -[9775] Forked 28730 -(28730) found -[9774] Forked 28731 -(28731) found -[9773] Forked 28732 -(28732) found -[9772] Forked 28733 -(28733) found -[9771] Forked 28734 -(28734) found -[9770] Forked 28735 -(28735) found -[9769] Forked 28736 -(28736) found -[9768] Forked 28737 -[9767] Forked 28738 -(28737) found -(28738) found -[9766] Forked 28739 -[9765] Forked 28740 -(28739) found -(28740) found -[9764] Forked 28741 -[9763] Forked 28742 -(28741) found -(28742) found -[9762] Forked 28743 -[9761] Forked 28744 -(28743) found -(28744) found -[9760] Forked 28745 -[9759] Forked 28746 -(28745) found -(28746) found -[9758] Forked 28747 -[9757] Forked 28748 -(28747) found -(28748) found -[9756] Forked 28749 -[9755] Forked 28750 -(28749) found -(28750) found -[9754] Forked 28751 -[9753] Forked 28752 -(28751) found -(28752) found -[9752] Forked 28753 -[9751] Forked 28754 -(28753) found -(28754) found -[9750] Forked 28755 -[9749] Forked 28756 -(28755) found -(28756) found -[9748] Forked 28757 -[9747] Forked 28758 -(28757) found -(28758) found -[9746] Forked 28759 -[9745] Forked 28760 -(28759) found -(28760) found -[9744] Forked 28761 -[9743] Forked 28762 -(28761) found -(28762) found -[9742] Forked 28763 -[9741] Forked 28764 -(28763) found -(28764) found -[9740] Forked 28765 -[9739] Forked 28766 -(28765) found -(28766) found -[9738] Forked 28767 -[9737] Forked 28768 -(28767) found -(28768) found -[9736] Forked 28769 -[9735] Forked 28770 -(28769) found -(28770) found -[9734] Forked 28771 -[9733] Forked 28772 -(28771) found -(28772) found -[9732] Forked 28773 -[9731] Forked 28774 -(28773) found -(28774) found -[9730] Forked 28775 -[9729] Forked 28776 -(28775) found -(28776) found -[9728] Forked 28777 -[9727] Forked 28778 -(28777) found -(28778) found -[9726] Forked 28779 -[9725] Forked 28780 -(28779) found -(28780) found -[9724] Forked 28781 -[9723] Forked 28782 -(28781) found -(28782) found -[9722] Forked 28783 -(28783) found -[9721] Forked 28784 -(28784) found -[9720] Forked 28785 -(28785) found -[9719] Forked 28786 -(28786) found -[9718] Forked 28787 -(28787) found -[9717] Forked 28788 -(28788) found -[9716] Forked 28789 -(28789) found -[9715] Forked 28790 -(28790) found -[9714] Forked 28791 -(28791) found -[9713] Forked 28792 -(28792) found -[9712] Forked 28793 -(28793) found -[9711] Forked 28794 -(28794) found -[9710] Forked 28795 -(28795) found -[9709] Forked 28796 -(28796) found -[9708] Forked 28797 -(28797) found -[9707] Forked 28798 -(28798) found -[9706] Forked 28799 -(28799) found -[9705] Forked 28800 -(28800) found -[9704] Forked 28801 -(28801) found -[9703] Forked 28802 -(28802) found -[9702] Forked 28803 -(28803) found -[9701] Forked 28804 -(28804) found -[9700] Forked 28805 -(28805) found -[9699] Forked 28806 -(28806) found -[9698] Forked 28807 -(28807) found -[9697] Forked 28808 -(28808) found -[9696] Forked 28809 -(28809) found -[9695] Forked 28810 -(28810) found -[9694] Forked 28811 -(28811) found -[9693] Forked 28812 -(28812) found -[9692] Forked 28813 -(28813) found -[9691] Forked 28814 -(28814) found -[9690] Forked 28815 -(28815) found -[9689] Forked 28816 -(28816) found -[9688] Forked 28817 -[9687] Forked 28818 -(28817) found -(28818) found -[9686] Forked 28819 -[9685] Forked 28820 -(28819) found -(28820) found -[9684] Forked 28821 -[9683] Forked 28822 -(28821) found -(28822) found -[9682] Forked 28823 -[9681] Forked 28824 -(28823) found -(28824) found -[9680] Forked 28825 -[9679] Forked 28826 -(28825) found -(28826) found -[9678] Forked 28827 -[9677] Forked 28828 -(28827) found -(28828) found -[9676] Forked 28829 -[9675] Forked 28830 -(28829) found -(28830) found -[9674] Forked 28831 -[9673] Forked 28832 -(28831) found -(28832) found -[9672] Forked 28833 -[9671] Forked 28834 -(28833) found -(28834) found -[9670] Forked 28835 -[9669] Forked 28836 -(28835) found -(28836) found -[9668] Forked 28837 -[9667] Forked 28838 -(28837) found -(28838) found -[9666] Forked 28839 -[9665] Forked 28840 -(28839) found -(28840) found -[9664] Forked 28841 -[9663] Forked 28842 -(28841) found -(28842) found -[9662] Forked 28843 -[9661] Forked 28844 -(28843) found -(28844) found -[9660] Forked 28845 -[9659] Forked 28846 -(28845) found -(28846) found -[9658] Forked 28847 -[9657] Forked 28848 -(28847) found -(28848) found -[9656] Forked 28849 -[9655] Forked 28850 -(28849) found -(28850) found -[9654] Forked 28851 -[9653] Forked 28852 -(28851) found -(28852) found -[9652] Forked 28853 -[9651] Forked 28854 -(28853) found -(28854) found -[9650] Forked 28855 -[9649] Forked 28856 -(28855) found -(28856) found -[9648] Forked 28857 -[9647] Forked 28858 -(28857) found -(28858) found -[9646] Forked 28859 -[9645] Forked 28860 -(28859) found -(28860) found -[9644] Forked 28861 -[9643] Forked 28862 -(28861) found -(28862) found -[9642] Forked 28863 -(28863) found -[9641] Forked 28864 -(28864) found -[9640] Forked 28865 -(28865) found -[9639] Forked 28866 -(28866) found -[9638] Forked 28867 -(28867) found -[9637] Forked 28868 -(28868) found -[9636] Forked 28869 -(28869) found -[9635] Forked 28870 -(28870) found -[9634] Forked 28871 -(28871) found -[9633] Forked 28872 -(28872) found -[9632] Forked 28873 -(28873) found -[9631] Forked 28874 -(28874) found -[9630] Forked 28875 -(28875) found -[9629] Forked 28876 -(28876) found -[9628] Forked 28877 -(28877) found -[9627] Forked 28878 -(28878) found -[9626] Forked 28879 -(28879) found -[9625] Forked 28880 -(28880) found -[9624] Forked 28881 -(28881) found -[9623] Forked 28882 -(28882) found -[9622] Forked 28883 -(28883) found -[9621] Forked 28884 -(28884) found -[9620] Forked 28885 -(28885) found -[9619] Forked 28886 -(28886) found -[9618] Forked 28887 -(28887) found -[9617] Forked 28888 -(28888) found -[9616] Forked 28889 -(28889) found -[9615] Forked 28890 -(28890) found -[9614] Forked 28891 -(28891) found -[9613] Forked 28892 -(28892) found -[9612] Forked 28893 -(28893) found -[9611] Forked 28894 -(28894) found -[9610] Forked 28895 -(28895) found -[9609] Forked 28896 -(28896) found -[9608] Forked 28897 -(28897) found -[9607] Forked 28898 -[9606] Forked 28899 -(28898) found -(28899) found -[9605] Forked 28900 -[9604] Forked 28901 -(28900) found -(28901) found -[9603] Forked 28902 -[9602] Forked 28903 -(28902) found -(28903) found -[9601] Forked 28904 -[9600] Forked 28905 -(28904) found -(28905) found -[9599] Forked 28906 -[9598] Forked 28907 -(28906) found -(28907) found -[9597] Forked 28908 -[9596] Forked 28909 -(28908) found -(28909) found -[9595] Forked 28910 -[9594] Forked 28911 -(28910) found -(28911) found -[9593] Forked 28912 -[9592] Forked 28913 -(28912) found -(28913) found -[9591] Forked 28914 -[9590] Forked 28915 -(28914) found -(28915) found -[9589] Forked 28916 -[9588] Forked 28917 -(28916) found -(28917) found -[9587] Forked 28918 -[9586] Forked 28919 -(28918) found -(28919) found -[9585] Forked 28920 -[9584] Forked 28921 -(28920) found -(28921) found -[9583] Forked 28922 -[9582] Forked 28923 -(28922) found -(28923) found -[9581] Forked 28924 -[9580] Forked 28925 -(28924) found -(28925) found -[9579] Forked 28926 -[9578] Forked 28927 -(28926) found -(28927) found -[9577] Forked 28928 -[9576] Forked 28929 -(28928) found -(28929) found -[9575] Forked 28930 -[9574] Forked 28931 -(28930) found -(28931) found -[9573] Forked 28932 -[9572] Forked 28933 -(28932) found -(28933) found -[9571] Forked 28934 -[9570] Forked 28935 -(28934) found -(28935) found -[9569] Forked 28936 -[9568] Forked 28937 -(28936) found -(28937) found -[9567] Forked 28938 -[9566] Forked 28939 -(28938) found -(28939) found -[9565] Forked 28940 -[9564] Forked 28941 -(28940) found -(28941) found -[9563] Forked 28942 -[9562] Forked 28943 -(28942) found -(28943) found -[9561] Forked 28944 -[9560] Forked 28945 -(28944) found -(28945) found -[9559] Forked 28946 -[9558] Forked 28947 -(28946) found -(28947) found -[9557] Forked 28948 -[9556] Forked 28949 -(28948) found -(28949) found -[9555] Forked 28950 -[9554] Forked 28951 -(28950) found -(28951) found -[9553] Forked 28952 -[9552] Forked 28953 -(28952) found -(28953) found -[9551] Forked 28954 -[9550] Forked 28955 -(28954) found -(28955) found -[9549] Forked 28956 -[9548] Forked 28957 -(28956) found -(28957) found -[9547] Forked 28958 -[9546] Forked 28959 -(28958) found -(28959) found -[9545] Forked 28960 -[9544] Forked 28961 -(28960) found -(28961) found -[9543] Forked 28962 -[9542] Forked 28963 -(28962) found -(28963) found -[9541] Forked 28964 -[9540] Forked 28965 -(28964) found -(28965) found -[9539] Forked 28966 -[9538] Forked 28967 -(28966) found -(28967) found -[9537] Forked 28968 -[9536] Forked 28969 -(28968) found -(28969) found -[9535] Forked 28970 -[9534] Forked 28971 -(28970) found -(28971) found -[9533] Forked 28972 -[9532] Forked 28973 -(28972) found -(28973) found -[9531] Forked 28974 -[9530] Forked 28975 -(28974) found -(28975) found -[9529] Forked 28976 -[9528] Forked 28977 -(28976) found -(28977) found -[9527] Forked 28978 -[9526] Forked 28979 -(28978) found -(28979) found -[9525] Forked 28980 -[9524] Forked 28981 -(28980) found -(28981) found -[9523] Forked 28982 -[9522] Forked 28983 -(28982) found -(28983) found -[9521] Forked 28984 -[9520] Forked 28985 -(28984) found -(28985) found -[9519] Forked 28986 -[9518] Forked 28987 -(28986) found -(28987) found -[9517] Forked 28988 -(28988) found -[9516] Forked 28989 -(28989) found -[9515] Forked 28990 -(28990) found -[9514] Forked 28991 -(28991) found -[9513] Forked 28992 -(28992) found -[9512] Forked 28993 -(28993) found -[9511] Forked 28994 -(28994) found -[9510] Forked 28995 -(28995) found -[9509] Forked 28996 -(28996) found -[9508] Forked 28997 -(28997) found -[9507] Forked 28998 -(28998) found -[9506] Forked 28999 -(28999) found -[9505] Forked 29000 -(29000) found -[9504] Forked 29001 -(29001) found -[9503] Forked 29002 -(29002) found -[9502] Forked 29003 -(29003) found -[9501] Forked 29004 -(29004) found -[9500] Forked 29005 -(29005) found -[9499] Forked 29006 -(29006) found -[9498] Forked 29007 -(29007) found -[9497] Forked 29008 -(29008) found -[9496] Forked 29009 -(29009) found -[9495] Forked 29010 -(29010) found -[9494] Forked 29011 -(29011) found -[9493] Forked 29012 -(29012) found -[9492] Forked 29013 -(29013) found -[9491] Forked 29014 -(29014) found -[9490] Forked 29015 -(29015) found -[9489] Forked 29016 -(29016) found -[9488] Forked 29017 -(29017) found -[9487] Forked 29018 -(29018) found -[9486] Forked 29019 -(29019) found -[9485] Forked 29020 -(29020) found -[9484] Forked 29021 -(29021) found -[9483] Forked 29022 -(29022) found -[9482] Forked 29023 -(29023) found -[9481] Forked 29024 -[9480] Forked 29025 -(29024) found -(29025) found -[9479] Forked 29026 -[9478] Forked 29027 -(29026) found -(29027) found -[9477] Forked 29028 -[9476] Forked 29029 -(29028) found -(29029) found -[9475] Forked 29030 -(29030) found -[9474] Forked 29031 -[9473] Forked 29032 -(29031) found -(29032) found -[9472] Forked 29033 -[9471] Forked 29034 -(29033) found -(29034) found -[9470] Forked 29035 -[9469] Forked 29036 -(29035) found -(29036) found -[9468] Forked 29037 -[9467] Forked 29038 -(29037) found -(29038) found -[9466] Forked 29039 -[9465] Forked 29040 -(29039) found -(29040) found -[9464] Forked 29041 -[9463] Forked 29042 -(29041) found -(29042) found -[9462] Forked 29043 -[9461] Forked 29044 -(29043) found -(29044) found -[9460] Forked 29045 -[9459] Forked 29046 -(29045) found -(29046) found -[9458] Forked 29047 -[9457] Forked 29048 -(29047) found -(29048) found -[9456] Forked 29049 -[9455] Forked 29050 -(29049) found -(29050) found -[9454] Forked 29051 -[9453] Forked 29052 -(29051) found -(29052) found -[9452] Forked 29053 -[9451] Forked 29054 -(29053) found -(29054) found -[9450] Forked 29055 -[9449] Forked 29056 -(29055) found -(29056) found -[9448] Forked 29057 -[9447] Forked 29058 -(29057) found -(29058) found -[9446] Forked 29059 -[9445] Forked 29060 -(29059) found -(29060) found -[9444] Forked 29061 -[9443] Forked 29062 -(29061) found -(29062) found -[9442] Forked 29063 -[9441] Forked 29064 -(29063) found -(29064) found -[9440] Forked 29065 -[9439] Forked 29066 -(29065) found -(29066) found -[9438] Forked 29067 -(29067) found -[9437] Forked 29068 -(29068) found -[9436] Forked 29069 -(29069) found -[9435] Forked 29070 -(29070) found -[9434] Forked 29071 -(29071) found -[9433] Forked 29072 -(29072) found -[9432] Forked 29073 -(29073) found -[9431] Forked 29074 -(29074) found -[9430] Forked 29075 -(29075) found -[9429] Forked 29076 -(29076) found -[9428] Forked 29077 -(29077) found -[9427] Forked 29078 -(29078) found -[9426] Forked 29079 -(29079) found -[9425] Forked 29080 -(29080) found -[9424] Forked 29081 -(29081) found -[9423] Forked 29082 -(29082) found -[9422] Forked 29083 -(29083) found -[9421] Forked 29084 -(29084) found -[9420] Forked 29085 -(29085) found -[9419] Forked 29086 -(29086) found -[9418] Forked 29087 -(29087) found -[9417] Forked 29088 -(29088) found -[9416] Forked 29089 -(29089) found -[9415] Forked 29090 -(29090) found -[9414] Forked 29091 -(29091) found -[9413] Forked 29092 -(29092) found -[9412] Forked 29093 -(29093) found -[9411] Forked 29094 -(29094) found -[9410] Forked 29095 -(29095) found -[9409] Forked 29096 -(29096) found -[9408] Forked 29097 -(29097) found -[9407] Forked 29098 -(29098) found -[9406] Forked 29099 -(29099) found -[9405] Forked 29100 -(29100) found -[9404] Forked 29101 -(29101) found -[9403] Forked 29102 -(29102) found -[9402] Forked 29103 -[9401] Forked 29104 -(29103) found -(29104) found -[9400] Forked 29105 -[9399] Forked 29106 -(29105) found -(29106) found -[9398] Forked 29107 -(29107) found -[9397] Forked 29108 -[9396] Forked 29109 -(29108) found -(29109) found -[9395] Forked 29110 -[9394] Forked 29111 -(29110) found -(29111) found -[9393] Forked 29112 -[9392] Forked 29113 -(29112) found -(29113) found -[9391] Forked 29114 -[9390] Forked 29115 -(29114) found -(29115) found -[9389] Forked 29116 -[9388] Forked 29117 -(29116) found -(29117) found -[9387] Forked 29118 -[9386] Forked 29119 -(29118) found -(29119) found -[9385] Forked 29120 -[9384] Forked 29121 -(29120) found -(29121) found -[9383] Forked 29122 -[9382] Forked 29123 -(29122) found -(29123) found -[9381] Forked 29124 -[9380] Forked 29125 -(29124) found -(29125) found -[9379] Forked 29126 -[9378] Forked 29127 -(29126) found -(29127) found -[9377] Forked 29128 -[9376] Forked 29129 -(29128) found -(29129) found -[9375] Forked 29130 -[9374] Forked 29131 -(29130) found -(29131) found -[9373] Forked 29132 -[9372] Forked 29133 -(29132) found -(29133) found -[9371] Forked 29134 -[9370] Forked 29135 -(29134) found -(29135) found -[9369] Forked 29136 -[9368] Forked 29137 -(29136) found -(29137) found -[9367] Forked 29138 -[9366] Forked 29139 -(29138) found -(29139) found -[9365] Forked 29140 -[9364] Forked 29141 -(29140) found -(29141) found -[9363] Forked 29142 -[9362] Forked 29143 -(29142) found -(29143) found -[9361] Forked 29144 -[9360] Forked 29145 -(29144) found -(29145) found -[9359] Forked 29146 -[9358] Forked 29147 -(29146) found -(29147) found -[9357] Forked 29148 -[9356] Forked 29149 -(29148) found -(29149) found -[9355] Forked 29150 -[9354] Forked 29151 -(29150) found -(29151) found -[9353] Forked 29152 -[9352] Forked 29153 -(29152) found -(29153) found -[9351] Forked 29154 -[9350] Forked 29155 -(29154) found -(29155) found -[9349] Forked 29156 -[9348] Forked 29157 -(29156) found -(29157) found -[9347] Forked 29158 -[9346] Forked 29159 -(29158) found -(29159) found -[9345] Forked 29160 -[9344] Forked 29161 -(29160) found -(29161) found -[9343] Forked 29162 -[9342] Forked 29163 -(29162) found -(29163) found -[9341] Forked 29164 -[9340] Forked 29165 -(29164) found -(29165) found -[9339] Forked 29166 -[9338] Forked 29167 -(29166) found -(29167) found -[9337] Forked 29168 -[9336] Forked 29169 -(29168) found -(29169) found -[9335] Forked 29170 -[9334] Forked 29171 -(29170) found -(29171) found -[9333] Forked 29172 -[9332] Forked 29173 -(29172) found -(29173) found -[9331] Forked 29174 -[9330] Forked 29176 -(29174) found -(29176) found -[9329] Forked 29177 -(29177) found -[9328] Forked 29178 -(29178) found -[9327] Forked 29179 -(29179) found -[9326] Forked 29180 -(29180) found -[9325] Forked 29181 -(29181) found -[9324] Forked 29182 -(29182) found -[9323] Forked 29183 -(29183) found -[9322] Forked 29184 -(29184) found -[9321] Forked 29185 -(29185) found -[9320] Forked 29186 -(29186) found -[9319] Forked 29187 -(29187) found -[9318] Forked 29188 -(29188) found -[9317] Forked 29189 -(29189) found -[9316] Forked 29190 -(29190) found -[9315] Forked 29191 -(29191) found -[9314] Forked 29192 -(29192) found -[9313] Forked 29193 -(29193) found -[9312] Forked 29194 -(29194) found -[9311] Forked 29195 -(29195) found -[9310] Forked 29196 -(29196) found -[9309] Forked 29197 -(29197) found -[9308] Forked 29198 -(29198) found -[9307] Forked 29199 -(29199) found -[9306] Forked 29200 -(29200) found -[9305] Forked 29201 -(29201) found -[9304] Forked 29202 -(29202) found -[9303] Forked 29203 -(29203) found -[9302] Forked 29204 -(29204) found -[9301] Forked 29205 -(29205) found -[9300] Forked 29206 -(29206) found -[9299] Forked 29207 -(29207) found -[9298] Forked 29208 -(29208) found -[9297] Forked 29209 -(29209) found -[9296] Forked 29210 -(29210) found -[9295] Forked 29211 -(29211) found -[9294] Forked 29212 -(29212) found -[9293] Forked 29213 -(29213) found -[9292] Forked 29214 -(29214) found -[9291] Forked 29215 -(29215) found -[9290] Forked 29216 -(29216) found -[9289] Forked 29217 -(29217) found -[9288] Forked 29218 -(29218) found -[9287] Forked 29219 -(29219) found -[9286] Forked 29220 -(29220) found -[9285] Forked 29221 -(29221) found -[9284] Forked 29222 -(29222) found -[9283] Forked 29223 -(29223) found -[9282] Forked 29224 -(29224) found -[9281] Forked 29225 -(29225) found -[9280] Forked 29226 -[9279] Forked 29227 -(29226) found -(29227) found -[9278] Forked 29228 -[9277] Forked 29229 -(29228) found -(29229) found -[9276] Forked 29230 -[9275] Forked 29231 -(29230) found -(29231) found -[9274] Forked 29232 -[9273] Forked 29233 -(29232) found -(29233) found -[9272] Forked 29234 -[9271] Forked 29235 -(29234) found -(29235) found -[9270] Forked 29236 -[9269] Forked 29237 -(29236) found -(29237) found -[9268] Forked 29238 -[9267] Forked 29239 -(29238) found -(29239) found -[9266] Forked 29240 -[9265] Forked 29241 -(29240) found -(29241) found -[9264] Forked 29242 -[9263] Forked 29243 -(29242) found -(29243) found -[9262] Forked 29244 -[9261] Forked 29245 -(29244) found -(29245) found -[9260] Forked 29246 -[9259] Forked 29247 -(29246) found -(29247) found -[9258] Forked 29248 -[9257] Forked 29249 -(29248) found -(29249) found -[9256] Forked 29250 -[9255] Forked 29251 -(29250) found -(29251) found -[9254] Forked 29252 -[9253] Forked 29253 -(29252) found -(29253) found -[9252] Forked 29254 -[9251] Forked 29255 -(29254) found -(29255) found -[9250] Forked 29256 -[9249] Forked 29257 -(29256) found -(29257) found -[9248] Forked 29258 -[9247] Forked 29259 -(29258) found -(29259) found -[9246] Forked 29260 -[9245] Forked 29261 -(29260) found -(29261) found -[9244] Forked 29262 -[9243] Forked 29263 -(29262) found -(29263) found -[9242] Forked 29264 -[9241] Forked 29265 -(29264) found -(29265) found -[9240] Forked 29266 -[9239] Forked 29267 -(29266) found -(29267) found -[9238] Forked 29268 -[9237] Forked 29269 -(29268) found -(29269) found -[9236] Forked 29270 -[9235] Forked 29271 -(29270) found -(29271) found -[9234] Forked 29272 -(29272) found -[9233] Forked 29273 -(29273) found -[9232] Forked 29274 -(29274) found -[9231] Forked 29275 -(29275) found -[9230] Forked 29276 -(29276) found -[9229] Forked 29277 -(29277) found -[9228] Forked 29278 -(29278) found -[9227] Forked 29279 -(29279) found -[9226] Forked 29280 -(29280) found -[9225] Forked 29281 -(29281) found -[9224] Forked 29282 -(29282) found -[9223] Forked 29283 -(29283) found -[9222] Forked 29284 -(29284) found -[9221] Forked 29285 -(29285) found -[9220] Forked 29286 -(29286) found -[9219] Forked 29287 -(29287) found -[9218] Forked 29288 -(29288) found -[9217] Forked 29289 -(29289) found -[9216] Forked 29290 -(29290) found -[9215] Forked 29291 -(29291) found -[9214] Forked 29292 -(29292) found -[9213] Forked 29293 -(29293) found -[9212] Forked 29294 -(29294) found -[9211] Forked 29295 -(29295) found -[9210] Forked 29296 -(29296) found -[9209] Forked 29297 -(29297) found -[9208] Forked 29298 -(29298) found -[9207] Forked 29299 -(29299) found -[9206] Forked 29300 -(29300) found -[9205] Forked 29301 -(29301) found -[9204] Forked 29302 -(29302) found -[9203] Forked 29303 -(29303) found -[9202] Forked 29304 -(29304) found -[9201] Forked 29305 -(29305) found -[9200] Forked 29306 -[9199] Forked 29307 -(29306) found -(29307) found -[9198] Forked 29308 -[9197] Forked 29309 -(29308) found -(29309) found -[9196] Forked 29310 -[9195] Forked 29311 -(29310) found -(29311) found -[9194] Forked 29312 -[9193] Forked 29313 -(29312) found -(29313) found -[9192] Forked 29314 -[9191] Forked 29315 -(29314) found -(29315) found -[9190] Forked 29316 -[9189] Forked 29317 -(29316) found -(29317) found -[9188] Forked 29318 -[9187] Forked 29319 -(29318) found -(29319) found -[9186] Forked 29320 -[9185] Forked 29321 -(29320) found -(29321) found -[9184] Forked 29322 -[9183] Forked 29323 -(29322) found -(29323) found -[9182] Forked 29324 -[9181] Forked 29325 -(29324) found -(29325) found -[9180] Forked 29326 -[9179] Forked 29327 -(29326) found -(29327) found -[9178] Forked 29328 -[9177] Forked 29329 -(29328) found -(29329) found -[9176] Forked 29330 -[9175] Forked 29331 -(29330) found -(29331) found -[9174] Forked 29332 -[9173] Forked 29333 -(29332) found -(29333) found -[9172] Forked 29334 -[9171] Forked 29335 -(29334) found -(29335) found -[9170] Forked 29336 -[9169] Forked 29337 -(29336) found -(29337) found -[9168] Forked 29338 -[9167] Forked 29339 -(29338) found -(29339) found -[9166] Forked 29340 -[9165] Forked 29341 -(29340) found -(29341) found -[9164] Forked 29342 -[9163] Forked 29343 -(29342) found -(29343) found -[9162] Forked 29344 -[9161] Forked 29345 -(29344) found -(29345) found -[9160] Forked 29346 -[9159] Forked 29347 -(29346) found -(29347) found -[9158] Forked 29348 -[9157] Forked 29349 -(29348) found -(29349) found -[9156] Forked 29350 -[9155] Forked 29351 -(29350) found -(29351) found -[9154] Forked 29352 -[9153] Forked 29353 -(29352) found -(29353) found -[9152] Forked 29354 -[9151] Forked 29355 -(29354) found -(29355) found -[9150] Forked 29356 -[9149] Forked 29357 -(29356) found -(29357) found -[9148] Forked 29358 -[9147] Forked 29359 -(29358) found -(29359) found -[9146] Forked 29360 -[9145] Forked 29361 -(29360) found -(29361) found -[9144] Forked 29362 -[9143] Forked 29363 -(29362) found -(29363) found -[9142] Forked 29364 -[9141] Forked 29365 -(29364) found -(29365) found -[9140] Forked 29366 -[9139] Forked 29367 -(29366) found -(29367) found -[9138] Forked 29368 -[9137] Forked 29369 -(29368) found -(29369) found -[9136] Forked 29370 -[9135] Forked 29371 -(29370) found -(29371) found -[9134] Forked 29372 -[9133] Forked 29373 -(29372) found -(29373) found -[9132] Forked 29374 -[9131] Forked 29375 -(29374) found -(29375) found -[9130] Forked 29376 -[9129] Forked 29377 -(29376) found -(29377) found -[9128] Forked 29378 -[9127] Forked 29379 -(29378) found -(29379) found -[9126] Forked 29380 -[9125] Forked 29381 -(29380) found -(29381) found -[9124] Forked 29382 -[9123] Forked 29383 -(29382) found -(29383) found -[9122] Forked 29384 -[9121] Forked 29385 -(29384) found -(29385) found -[9120] Forked 29386 -[9119] Forked 29387 -(29386) found -(29387) found -[9118] Forked 29388 -[9117] Forked 29389 -(29388) found -(29389) found -[9116] Forked 29390 -[9115] Forked 29391 -(29390) found -(29391) found -[9114] Forked 29392 -[9113] Forked 29393 -(29392) found -(29393) found -[9112] Forked 29394 -[9111] Forked 29395 -(29394) found -(29395) found -[9110] Forked 29396 -(29396) found -[9109] Forked 29397 -(29397) found -[9108] Forked 29398 -(29398) found -[9107] Forked 29399 -(29399) found -[9106] Forked 29400 -(29400) found -[9105] Forked 29401 -(29401) found -[9104] Forked 29402 -(29402) found -[9103] Forked 29403 -(29403) found -[9102] Forked 29404 -(29404) found -[9101] Forked 29405 -(29405) found -[9100] Forked 29406 -(29406) found -[9099] Forked 29407 -(29407) found -[9098] Forked 29408 -(29408) found -[9097] Forked 29409 -(29409) found -[9096] Forked 29410 -(29410) found -[9095] Forked 29411 -(29411) found -[9094] Forked 29412 -(29412) found -[9093] Forked 29413 -(29413) found -[9092] Forked 29414 -(29414) found -[9091] Forked 29415 -(29415) found -[9090] Forked 29416 -(29416) found -[9089] Forked 29417 -(29417) found -[9088] Forked 29418 -(29418) found -[9087] Forked 29419 -(29419) found -[9086] Forked 29420 -(29420) found -[9085] Forked 29421 -(29421) found -[9084] Forked 29422 -(29422) found -[9083] Forked 29423 -(29423) found -[9082] Forked 29424 -(29424) found -[9081] Forked 29425 -(29425) found -[9080] Forked 29426 -(29426) found -[9079] Forked 29427 -(29427) found -[9078] Forked 29428 -(29428) found -[9077] Forked 29429 -(29429) found -[9076] Forked 29430 -(29430) found -[9075] Forked 29431 -(29431) found -[9074] Forked 29432 -[9073] Forked 29433 -(29432) found -(29433) found -[9072] Forked 29434 -[9071] Forked 29435 -(29434) found -(29435) found -[9070] Forked 29436 -(29436) found -[9069] Forked 29437 -[9068] Forked 29438 -(29437) found -(29438) found -[9067] Forked 29439 -[9066] Forked 29440 -(29439) found -(29440) found -[9065] Forked 29441 -[9064] Forked 29442 -(29441) found -(29442) found -[9063] Forked 29443 -[9062] Forked 29444 -(29443) found -(29444) found -[9061] Forked 29445 -[9060] Forked 29446 -(29445) found -(29446) found -[9059] Forked 29447 -[9058] Forked 29448 -(29447) found -(29448) found -[9057] Forked 29449 -[9056] Forked 29450 -(29449) found -(29450) found -[9055] Forked 29451 -[9054] Forked 29452 -(29451) found -(29452) found -[9053] Forked 29453 -[9052] Forked 29454 -(29453) found -(29454) found -[9051] Forked 29455 -[9050] Forked 29456 -(29455) found -(29456) found -[9049] Forked 29457 -[9048] Forked 29458 -(29457) found -(29458) found -[9047] Forked 29459 -[9046] Forked 29460 -(29459) found -(29460) found -[9045] Forked 29461 -[9044] Forked 29462 -(29461) found -(29462) found -[9043] Forked 29463 -[9042] Forked 29464 -(29463) found -(29464) found -[9041] Forked 29465 -[9040] Forked 29466 -(29465) found -(29466) found -[9039] Forked 29467 -[9038] Forked 29468 -(29467) found -(29468) found -[9037] Forked 29469 -[9036] Forked 29470 -(29469) found -(29470) found -[9035] Forked 29471 -[9034] Forked 29472 -(29471) found -(29472) found -[9033] Forked 29473 -[9032] Forked 29474 -(29473) found -(29474) found -[9031] Forked 29475 -[9030] Forked 29476 -(29475) found -(29476) found -[9029] Forked 29477 -[9028] Forked 29478 -(29477) found -(29478) found -[9027] Forked 29479 -[9026] Forked 29480 -(29479) found -(29480) found -[9025] Forked 29481 -[9024] Forked 29482 -(29481) found -(29482) found -[9023] Forked 29483 -[9022] Forked 29484 -(29483) found -(29484) found -[9021] Forked 29485 -[9020] Forked 29486 -(29485) found -(29486) found -[9019] Forked 29487 -[9018] Forked 29488 -(29487) found -(29488) found -[9017] Forked 29489 -[9016] Forked 29490 -(29489) found -(29490) found -[9015] Forked 29491 -[9014] Forked 29492 -(29491) found -(29492) found -[9013] Forked 29493 -[9012] Forked 29494 -(29493) found -(29494) found -[9011] Forked 29495 -[9010] Forked 29496 -(29495) found -(29496) found -[9009] Forked 29497 -[9008] Forked 29498 -(29497) found -(29498) found -[9007] Forked 29499 -[9006] Forked 29500 -(29499) found -(29500) found -[9005] Forked 29501 -[9004] Forked 29502 -(29501) found -(29502) found -[9003] Forked 29503 -[9002] Forked 29504 -(29503) found -(29504) found -[9001] Forked 29505 -[9000] Forked 29506 -(29505) found -(29506) found -[8999] Forked 29507 -[8998] Forked 29508 -(29507) found -(29508) found -[8997] Forked 29509 -[8996] Forked 29510 -(29509) found -(29510) found -[8995] Forked 29511 -[8994] Forked 29512 -(29511) found -(29512) found -[8993] Forked 29513 -[8992] Forked 29514 -(29513) found -(29514) found -[8991] Forked 29515 -[8990] Forked 29516 -(29515) found -(29516) found -[8989] Forked 29517 -[8988] Forked 29518 -(29517) found -(29518) found -[8987] Forked 29519 -[8986] Forked 29520 -(29519) found -(29520) found -[8985] Forked 29521 -[8984] Forked 29522 -(29521) found -(29522) found -[8983] Forked 29523 -[8982] Forked 29524 -(29523) found -(29524) found -[8981] Forked 29525 -[8980] Forked 29526 -(29525) found -(29526) found -[8979] Forked 29527 -[8978] Forked 29528 -(29527) found -(29528) found -[8977] Forked 29529 -[8976] Forked 29530 -(29529) found -(29530) found -[8975] Forked 29531 -[8974] Forked 29532 -(29531) found -(29532) found -[8973] Forked 29533 -[8972] Forked 29534 -(29533) found -(29534) found -[8971] Forked 29535 -[8970] Forked 29536 -(29535) found -(29536) found -[8969] Forked 29537 -[8968] Forked 29538 -(29537) found -(29538) found -[8967] Forked 29539 -[8966] Forked 29540 -(29539) found -(29540) found -[8965] Forked 29541 -[8964] Forked 29542 -(29541) found -(29542) found -[8963] Forked 29543 -[8962] Forked 29544 -(29543) found -(29544) found -[8961] Forked 29545 -[8960] Forked 29546 -(29545) found -(29546) found -[8959] Forked 29547 -(29547) found -[8958] Forked 29548 -(29548) found -[8957] Forked 29549 -[8956] Forked 29550 -(29549) found -(29550) found -[8955] Forked 29551 -[8954] Forked 29552 -(29551) found -(29552) found -[8953] Forked 29553 -[8952] Forked 29554 -(29553) found -(29554) found -[8951] Forked 29555 -[8950] Forked 29556 -(29555) found -(29556) found -[8949] Forked 29557 -[8948] Forked 29558 -(29557) found -(29558) found -[8947] Forked 29559 -[8946] Forked 29560 -(29559) found -(29560) found -[8945] Forked 29561 -[8944] Forked 29562 -(29561) found -(29562) found -[8943] Forked 29563 -[8942] Forked 29564 -(29563) found -(29564) found -[8941] Forked 29565 -(29565) found -[8940] Forked 29566 -(29566) found -[8939] Forked 29567 -(29567) found -[8938] Forked 29568 -(29568) found -[8937] Forked 29569 -(29569) found -[8936] Forked 29570 -(29570) found -[8935] Forked 29571 -(29571) found -[8934] Forked 29572 -(29572) found -[8933] Forked 29573 -(29573) found -[8932] Forked 29574 -(29574) found -[8931] Forked 29575 -(29575) found -[8930] Forked 29576 -(29576) found -[8929] Forked 29577 -(29577) found -[8928] Forked 29578 -(29578) found -[8927] Forked 29579 -(29579) found -[8926] Forked 29580 -(29580) found -[8925] Forked 29581 -(29581) found -[8924] Forked 29582 -(29582) found -[8923] Forked 29583 -(29583) found -[8922] Forked 29584 -(29584) found -[8921] Forked 29585 -(29585) found -[8920] Forked 29586 -(29586) found -[8919] Forked 29587 -(29587) found -[8918] Forked 29588 -(29588) found -[8917] Forked 29589 -(29589) found -[8916] Forked 29590 -(29590) found -[8915] Forked 29591 -(29591) found -[8914] Forked 29592 -(29592) found -[8913] Forked 29593 -(29593) found -[8912] Forked 29594 -(29594) found -[8911] Forked 29595 -(29595) found -[8910] Forked 29596 -(29596) found -[8909] Forked 29597 -(29597) found -[8908] Forked 29598 -(29598) found -[8907] Forked 29599 -(29599) found -[8906] Forked 29600 -(29600) found -[8905] Forked 29601 -(29601) found -[8904] Forked 29602 -(29602) found -[8903] Forked 29603 -(29603) found -[8902] Forked 29604 -(29604) found -[8901] Forked 29605 -(29605) found -[8900] Forked 29606 -(29606) found -[8899] Forked 29607 -(29607) found -[8898] Forked 29608 -(29608) found -[8897] Forked 29609 -(29609) found -[8896] Forked 29610 -(29610) found -[8895] Forked 29611 -(29611) found -[8894] Forked 29612 -(29612) found -[8893] Forked 29613 -(29613) found -[8892] Forked 29614 -(29614) found -[8891] Forked 29615 -(29615) found -[8890] Forked 29616 -(29616) found -[8889] Forked 29617 -(29617) found -[8888] Forked 29618 -(29618) found -[8887] Forked 29619 -(29619) found -[8886] Forked 29620 -(29620) found -[8885] Forked 29621 -(29621) found -[8884] Forked 29622 -(29622) found -[8883] Forked 29623 -(29623) found -[8882] Forked 29624 -(29624) found -[8881] Forked 29625 -(29625) found -[8880] Forked 29626 -(29626) found -[8879] Forked 29627 -(29627) found -[8878] Forked 29628 -(29628) found -[8877] Forked 29629 -(29629) found -[8876] Forked 29630 -(29630) found -[8875] Forked 29631 -(29631) found -[8874] Forked 29632 -(29632) found -[8873] Forked 29633 -(29633) found -[8872] Forked 29634 -(29634) found -[8871] Forked 29635 -(29635) found -[8870] Forked 29636 -(29636) found -[8869] Forked 29637 -[8868] Forked 29638 -(29637) found -(29638) found -[8867] Forked 29639 -[8866] Forked 29640 -(29639) found -(29640) found -[8865] Forked 29641 -[8864] Forked 29642 -(29641) found -(29642) found -[8863] Forked 29643 -[8862] Forked 29644 -(29643) found -(29644) found -[8861] Forked 29645 -[8860] Forked 29646 -(29645) found -(29646) found -[8859] Forked 29647 -[8858] Forked 29648 -(29647) found -(29648) found -[8857] Forked 29649 -[8856] Forked 29650 -(29649) found -(29650) found -[8855] Forked 29651 -[8854] Forked 29652 -(29651) found -(29652) found -[8853] Forked 29653 -[8852] Forked 29654 -(29653) found -(29654) found -[8851] Forked 29655 -[8850] Forked 29656 -(29655) found -(29656) found -[8849] Forked 29657 -[8848] Forked 29659 -(29657) found -(29659) found -[8847] Forked 29660 -(29660) found -[8846] Forked 29661 -(29661) found -[8845] Forked 29662 -(29662) found -[8844] Forked 29663 -(29663) found -[8843] Forked 29664 -(29664) found -[8842] Forked 29665 -(29665) found -[8841] Forked 29666 -(29666) found -[8840] Forked 29667 -(29667) found -[8839] Forked 29668 -(29668) found -[8838] Forked 29669 -(29669) found -[8837] Forked 29670 -(29670) found -[8836] Forked 29671 -(29671) found -[8835] Forked 29672 -(29672) found -[8834] Forked 29673 -(29673) found -[8833] Forked 29674 -(29674) found -[8832] Forked 29675 -(29675) found -[8831] Forked 29676 -(29676) found -[8830] Forked 29677 -(29677) found -[8829] Forked 29678 -(29678) found -[8828] Forked 29679 -(29679) found -[8827] Forked 29680 -(29680) found -[8826] Forked 29681 -(29681) found -[8825] Forked 29682 -(29682) found -[8824] Forked 29683 -(29683) found -[8823] Forked 29684 -(29684) found -[8822] Forked 29685 -(29685) found -[8821] Forked 29686 -(29686) found -[8820] Forked 29687 -(29687) found -[8819] Forked 29688 -(29688) found -[8818] Forked 29689 -(29689) found -[8817] Forked 29690 -(29690) found -[8816] Forked 29691 -(29691) found -[8815] Forked 29692 -(29692) found -[8814] Forked 29693 -(29693) found -[8813] Forked 29694 -(29694) found -[8812] Forked 29695 -(29695) found -[8811] Forked 29696 -(29696) found -[8810] Forked 29697 -(29697) found -[8809] Forked 29698 -(29698) found -[8808] Forked 29699 -(29699) found -[8807] Forked 29700 -(29700) found -[8806] Forked 29701 -(29701) found -[8805] Forked 29702 -(29702) found -[8804] Forked 29703 -(29703) found -[8803] Forked 29704 -(29704) found -[8802] Forked 29705 -(29705) found -[8801] Forked 29706 -(29706) found -[8800] Forked 29707 -(29707) found -[8799] Forked 29708 -(29708) found -[8798] Forked 29709 -(29709) found -[8797] Forked 29710 -(29710) found -[8796] Forked 29711 -(29711) found -[8795] Forked 29712 -(29712) found -[8794] Forked 29713 -(29713) found -[8793] Forked 29714 -(29714) found -[8792] Forked 29715 -(29715) found -[8791] Forked 29716 -(29716) found -[8790] Forked 29717 -(29717) found -[8789] Forked 29718 -(29718) found -[8788] Forked 29719 -(29719) found -[8787] Forked 29720 -(29720) found -[8786] Forked 29721 -(29721) found -[8785] Forked 29722 -(29722) found -[8784] Forked 29723 -(29723) found -[8783] Forked 29724 -(29724) found -[8782] Forked 29725 -(29725) found -[8781] Forked 29726 -(29726) found -[8780] Forked 29727 -(29727) found -[8779] Forked 29728 -(29728) found -[8778] Forked 29729 -(29729) found -[8777] Forked 29730 -(29730) found -[8776] Forked 29731 -(29731) found -[8775] Forked 29732 -(29732) found -[8774] Forked 29733 -(29733) found -[8773] Forked 29734 -(29734) found -[8772] Forked 29735 -(29735) found -[8771] Forked 29736 -(29736) found -[8770] Forked 29737 -(29737) found -[8769] Forked 29738 -(29738) found -[8768] Forked 29739 -(29739) found -[8767] Forked 29740 -(29740) found -[8766] Forked 29741 -(29741) found -[8765] Forked 29742 -(29742) found -[8764] Forked 29743 -(29743) found -[8763] Forked 29744 -(29744) found -[8762] Forked 29745 -(29745) found -[8761] Forked 29746 -(29746) found -[8760] Forked 29747 -(29747) found -[8759] Forked 29748 -(29748) found -[8758] Forked 29749 -[8757] Forked 29750 -(29749) found -(29750) found -[8756] Forked 29751 -[8755] Forked 29752 -(29751) found -(29752) found -[8754] Forked 29753 -[8753] Forked 29755 -(29753) found -(29755) found -[8752] Forked 29756 -(29756) found -[8751] Forked 29757 -(29757) found -[8750] Forked 29758 -(29758) found -[8749] Forked 29759 -(29759) found -[8748] Forked 29760 -(29760) found -[8747] Forked 29761 -(29761) found -[8746] Forked 29762 -(29762) found -[8745] Forked 29763 -(29763) found -[8744] Forked 29764 -(29764) found -[8743] Forked 29765 -(29765) found -[8742] Forked 29766 -(29766) found -[8741] Forked 29767 -(29767) found -[8740] Forked 29768 -(29768) found -[8739] Forked 29769 -(29769) found -[8738] Forked 29770 -(29770) found -[8737] Forked 29771 -(29771) found -[8736] Forked 29772 -(29772) found -[8735] Forked 29773 -(29773) found -[8734] Forked 29774 -(29774) found -[8733] Forked 29775 -(29775) found -[8732] Forked 29776 -(29776) found -[8731] Forked 29777 -(29777) found -[8730] Forked 29778 -(29778) found -[8729] Forked 29779 -(29779) found -[8728] Forked 29780 -(29780) found -[8727] Forked 29781 -(29781) found -[8726] Forked 29782 -(29782) found -[8725] Forked 29783 -(29783) found -[8724] Forked 29784 -(29784) found -[8723] Forked 29785 -(29785) found -[8722] Forked 29786 -(29786) found -[8721] Forked 29787 -(29787) found -[8720] Forked 29788 -(29788) found -[8719] Forked 29789 -(29789) found -[8718] Forked 29790 -(29790) found -[8717] Forked 29791 -(29791) found -[8716] Forked 29792 -(29792) found -[8715] Forked 29793 -(29793) found -[8714] Forked 29794 -(29794) found -[8713] Forked 29795 -(29795) found -[8712] Forked 29796 -(29796) found -[8711] Forked 29797 -(29797) found -[8710] Forked 29798 -(29798) found -[8709] Forked 29799 -(29799) found -[8708] Forked 29800 -(29800) found -[8707] Forked 29801 -(29801) found -[8706] Forked 29802 -(29802) found -[8705] Forked 29803 -(29803) found -[8704] Forked 29804 -(29804) found -[8703] Forked 29805 -(29805) found -[8702] Forked 29806 -(29806) found -[8701] Forked 29807 -(29807) found -[8700] Forked 29808 -(29808) found -[8699] Forked 29809 -(29809) found -[8698] Forked 29810 -(29810) found -[8697] Forked 29811 -(29811) found -[8696] Forked 29812 -(29812) found -[8695] Forked 29813 -(29813) found -[8694] Forked 29814 -(29814) found -[8693] Forked 29815 -(29815) found -[8692] Forked 29816 -(29816) found -[8691] Forked 29817 -(29817) found -[8690] Forked 29818 -(29818) found -[8689] Forked 29819 -(29819) found -[8688] Forked 29820 -(29820) found -[8687] Forked 29821 -(29821) found -[8686] Forked 29822 -(29822) found -[8685] Forked 29823 -(29823) found -[8684] Forked 29824 -(29824) found -[8683] Forked 29825 -(29825) found -[8682] Forked 29826 -(29826) found -[8681] Forked 29827 -(29827) found -[8680] Forked 29828 -(29828) found -[8679] Forked 29829 -(29829) found -[8678] Forked 29830 -(29830) found -[8677] Forked 29831 -(29831) found -[8676] Forked 29832 -(29832) found -[8675] Forked 29833 -(29833) found -[8674] Forked 29834 -(29834) found -[8673] Forked 29835 -(29835) found -[8672] Forked 29836 -(29836) found -[8671] Forked 29837 -(29837) found -[8670] Forked 29838 -(29838) found -[8669] Forked 29839 -(29839) found -[8668] Forked 29840 -(29840) found -[8667] Forked 29841 -(29841) found -[8666] Forked 29842 -(29842) found -[8665] Forked 29843 -(29843) found -[8664] Forked 29844 -(29844) found -[8663] Forked 29845 -(29845) found -[8662] Forked 29846 -(29846) found -[8661] Forked 29847 -(29847) found -[8660] Forked 29848 -(29848) found -[8659] Forked 29849 -(29849) found -[8658] Forked 29850 -(29850) found -[8657] Forked 29851 -(29851) found -[8656] Forked 29852 -(29852) found -[8655] Forked 29853 -(29853) found -[8654] Forked 29854 -(29854) found -[8653] Forked 29855 -(29855) found -[8652] Forked 29856 -(29856) found -[8651] Forked 29857 -(29857) found -[8650] Forked 29858 -[8649] Forked 29859 -(29858) found -(29859) found -[8648] Forked 29860 -[8647] Forked 29861 -(29860) found -(29861) found -[8646] Forked 29862 -[8645] Forked 29863 -(29862) found -(29863) found -[8644] Forked 29864 -[8643] Forked 29865 -(29864) found -(29865) found -[8642] Forked 29866 -[8641] Forked 29867 -(29866) found -(29867) found -[8640] Forked 29868 -[8639] Forked 29869 -(29868) found -(29869) found -[8638] Forked 29870 -[8637] Forked 29871 -(29870) found -(29871) found -[8636] Forked 29872 -[8635] Forked 29873 -(29872) found -(29873) found -[8634] Forked 29874 -[8633] Forked 29875 -(29874) found -(29875) found -[8632] Forked 29876 -[8631] Forked 29877 -(29876) found -(29877) found -[8630] Forked 29878 -[8629] Forked 29879 -(29878) found -(29879) found -[8628] Forked 29880 -[8627] Forked 29881 -(29880) found -(29881) found -[8626] Forked 29882 -[8625] Forked 29883 -(29882) found -(29883) found -[8624] Forked 29884 -[8623] Forked 29885 -(29884) found -(29885) found -[8622] Forked 29886 -[8621] Forked 29887 -(29886) found -(29887) found -[8620] Forked 29888 -[8619] Forked 29889 -(29888) found -(29889) found -[8618] Forked 29890 -[8617] Forked 29891 -(29890) found -(29891) found -[8616] Forked 29892 -[8615] Forked 29893 -(29892) found -(29893) found -[8614] Forked 29894 -[8613] Forked 29895 -(29894) found -(29895) found -[8612] Forked 29896 -[8611] Forked 29897 -(29896) found -(29897) found -[8610] Forked 29898 -[8609] Forked 29899 -(29899) found -(29898) found -[8608] Forked 29900 -(29900) found -[8607] Forked 29901 -(29901) found -[8606] Forked 29902 -(29902) found -[8605] Forked 29903 -(29903) found -[8604] Forked 29904 -(29904) found -[8603] Forked 29905 -(29905) found -[8602] Forked 29906 -(29906) found -[8601] Forked 29907 -[8600] Forked 29908 -(29907) found -(29908) found -[8599] Forked 29909 -[8598] Forked 29910 -(29909) found -(29910) found -[8597] Forked 29911 -[8596] Forked 29912 -(29911) found -(29912) found -[8595] Forked 29913 -[8594] Forked 29914 -(29913) found -(29914) found -[8593] Forked 29915 -[8592] Forked 29916 -(29915) found -(29916) found -[8591] Forked 29917 -[8590] Forked 29918 -(29917) found -(29918) found -[8589] Forked 29919 -[8588] Forked 29920 -(29919) found -(29920) found -[8587] Forked 29921 -[8586] Forked 29922 -(29921) found -(29922) found -[8585] Forked 29923 -[8584] Forked 29924 -(29923) found -(29924) found -[8583] Forked 29925 -[8582] Forked 29926 -(29925) found -(29926) found -[8581] Forked 29927 -[8580] Forked 29928 -(29927) found -(29928) found -[8579] Forked 29929 -[8578] Forked 29930 -(29929) found -(29930) found -[8577] Forked 29931 -[8576] Forked 29932 -(29931) found -(29932) found -[8575] Forked 29933 -[8574] Forked 29934 -(29933) found -(29934) found -[8573] Forked 29935 -[8572] Forked 29936 -(29935) found -(29936) found -[8571] Forked 29937 -[8570] Forked 29938 -(29937) found -(29938) found -[8569] Forked 29939 -[8568] Forked 29940 -(29939) found -(29940) found -[8567] Forked 29941 -[8566] Forked 29942 -(29941) found -(29942) found -[8565] Forked 29943 -[8564] Forked 29944 -(29943) found -(29944) found -[8563] Forked 29945 -[8562] Forked 29946 -(29945) found -(29946) found -[8561] Forked 29947 -(29947) found -[8560] Forked 29948 -(29948) found -[8559] Forked 29949 -(29949) found -[8558] Forked 29950 -(29950) found -[8557] Forked 29951 -(29951) found -[8556] Forked 29952 -(29952) found -[8555] Forked 29953 -(29953) found -[8554] Forked 29954 -(29954) found -[8553] Forked 29955 -(29955) found -[8552] Forked 29956 -(29956) found -[8551] Forked 29957 -(29957) found -[8550] Forked 29958 -(29958) found -[8549] Forked 29959 -(29959) found -[8548] Forked 29960 -(29960) found -[8547] Forked 29961 -(29961) found -[8546] Forked 29962 -(29962) found -[8545] Forked 29963 -(29963) found -[8544] Forked 29964 -(29964) found -[8543] Forked 29965 -(29965) found -[8542] Forked 29966 -(29966) found -[8541] Forked 29967 -(29967) found -[8540] Forked 29968 -(29968) found -[8539] Forked 29969 -(29969) found -[8538] Forked 29970 -(29970) found -[8537] Forked 29971 -(29971) found -[8536] Forked 29972 -(29972) found -[8535] Forked 29973 -(29973) found -[8534] Forked 29974 -(29974) found -[8533] Forked 29975 -(29975) found -[8532] Forked 29976 -(29976) found -[8531] Forked 29977 -(29977) found -[8530] Forked 29978 -(29978) found -[8529] Forked 29979 -(29979) found -[8528] Forked 29980 -(29980) found -[8527] Forked 29981 -(29981) found -[8526] Forked 29982 -(29982) found -[8525] Forked 29983 -[8524] Forked 29984 -(29983) found -(29984) found -[8523] Forked 29985 -[8522] Forked 29986 -(29985) found -(29986) found -[8521] Forked 29987 -[8520] Forked 29988 -(29987) found -(29988) found -[8519] Forked 29989 -[8518] Forked 29990 -(29989) found -(29990) found -[8517] Forked 29991 -[8516] Forked 29992 -(29991) found -(29992) found -[8515] Forked 29993 -[8514] Forked 29994 -(29993) found -(29994) found -[8513] Forked 29995 -[8512] Forked 29996 -(29995) found -(29996) found -[8511] Forked 29997 -[8510] Forked 29998 -(29997) found -(29998) found -[8509] Forked 29999 -[8508] Forked 30000 -(29999) found -(30000) found -[8507] Forked 30001 -[8506] Forked 30002 -(30001) found -(30002) found -[8505] Forked 30003 -[8504] Forked 30004 -(30003) found -(30004) found -[8503] Forked 30005 -[8502] Forked 30006 -(30005) found -(30006) found -[8501] Forked 30007 -[8500] Forked 30008 -(30007) found -(30008) found -[8499] Forked 30009 -[8498] Forked 30010 -(30009) found -(30010) found -[8497] Forked 30011 -[8496] Forked 30012 -(30011) found -(30012) found -[8495] Forked 30013 -[8494] Forked 30014 -(30013) found -(30014) found -[8493] Forked 30015 -[8492] Forked 30016 -(30015) found -(30016) found -[8491] Forked 30017 -[8490] Forked 30018 -(30017) found -(30018) found -[8489] Forked 30019 -[8488] Forked 30020 -(30019) found -(30020) found -[8487] Forked 30021 -[8486] Forked 30022 -(30021) found -(30022) found -[8485] Forked 30023 -[8484] Forked 30024 -(30023) found -(30024) found -[8483] Forked 30025 -[8482] Forked 30026 -(30025) found -(30026) found -[8481] Forked 30027 -(30027) found -[8480] Forked 30028 -(30028) found -[8479] Forked 30029 -(30029) found -[8478] Forked 30030 -(30030) found -[8477] Forked 30031 -(30031) found -[8476] Forked 30032 -(30032) found -[8475] Forked 30033 -(30033) found -[8474] Forked 30034 -(30034) found -[8473] Forked 30035 -(30035) found -[8472] Forked 30036 -(30036) found -[8471] Forked 30037 -(30037) found -[8470] Forked 30038 -(30038) found -[8469] Forked 30039 -(30039) found -[8468] Forked 30040 -(30040) found -[8467] Forked 30041 -(30041) found -[8466] Forked 30042 -(30042) found -[8465] Forked 30043 -(30043) found -[8464] Forked 30044 -(30044) found -[8463] Forked 30045 -(30045) found -[8462] Forked 30046 -(30046) found -[8461] Forked 30047 -(30047) found -[8460] Forked 30048 -(30048) found -[8459] Forked 30049 -(30049) found -[8458] Forked 30050 -(30050) found -[8457] Forked 30051 -(30051) found -[8456] Forked 30052 -(30052) found -[8455] Forked 30053 -(30053) found -[8454] Forked 30054 -(30054) found -[8453] Forked 30055 -(30055) found -[8452] Forked 30056 -(30056) found -[8451] Forked 30057 -(30057) found -[8450] Forked 30058 -(30058) found -[8449] Forked 30059 -(30059) found -[8448] Forked 30060 -(30060) found -[8447] Forked 30061 -(30061) found -[8446] Forked 30062 -(30062) found -[8445] Forked 30063 -(30063) found -[8444] Forked 30064 -[8443] Forked 30065 -(30064) found -(30065) found -[8442] Forked 30066 -[8441] Forked 30067 -(30066) found -(30067) found -[8440] Forked 30068 -[8439] Forked 30069 -(30068) found -(30069) found -[8438] Forked 30070 -[8437] Forked 30071 -(30070) found -(30071) found -[8436] Forked 30072 -[8435] Forked 30073 -(30072) found -(30073) found -[8434] Forked 30074 -[8433] Forked 30075 -(30074) found -(30075) found -[8432] Forked 30076 -[8431] Forked 30077 -(30076) found -(30077) found -[8430] Forked 30078 -[8429] Forked 30079 -(30078) found -(30079) found -[8428] Forked 30080 -[8427] Forked 30081 -(30080) found -(30081) found -[8426] Forked 30082 -[8425] Forked 30083 -(30082) found -(30083) found -[8424] Forked 30084 -[8423] Forked 30085 -(30084) found -(30085) found -[8422] Forked 30086 -[8421] Forked 30087 -(30086) found -(30087) found -[8420] Forked 30088 -[8419] Forked 30089 -(30088) found -(30089) found -[8418] Forked 30090 -[8417] Forked 30091 -(30090) found -(30091) found -[8416] Forked 30092 -[8415] Forked 30093 -(30092) found -(30093) found -[8414] Forked 30094 -[8413] Forked 30095 -(30094) found -(30095) found -[8412] Forked 30096 -[8411] Forked 30097 -(30096) found -(30097) found -[8410] Forked 30098 -[8409] Forked 30099 -(30098) found -(30099) found -[8408] Forked 30100 -[8407] Forked 30101 -(30100) found -(30101) found -[8406] Forked 30102 -[8405] Forked 30103 -(30102) found -(30103) found -[8404] Forked 30104 -[8403] Forked 30105 -(30104) found -(30105) found -[8402] Forked 30106 -[8401] Forked 30107 -(30106) found -(30107) found -[8400] Forked 30108 -[8399] Forked 30109 -(30108) found -(30109) found -[8398] Forked 30110 -[8397] Forked 30111 -(30110) found -(30111) found -[8396] Forked 30112 -[8395] Forked 30113 -(30112) found -(30113) found -[8394] Forked 30114 -[8393] Forked 30115 -(30114) found -(30115) found -[8392] Forked 30116 -[8391] Forked 30117 -(30116) found -(30117) found -[8390] Forked 30118 -[8389] Forked 30119 -(30118) found -(30119) found -[8388] Forked 30120 -[8387] Forked 30121 -(30120) found -(30121) found -[8386] Forked 30122 -[8385] Forked 30123 -(30122) found -(30123) found -[8384] Forked 30124 -[8383] Forked 30125 -(30124) found -(30125) found -[8382] Forked 30126 -[8381] Forked 30127 -(30126) found -(30127) found -[8380] Forked 30128 -[8379] Forked 30129 -(30128) found -(30129) found -[8378] Forked 30130 -[8377] Forked 30131 -(30130) found -(30131) found -[8376] Forked 30132 -[8375] Forked 30133 -(30132) found -(30133) found -[8374] Forked 30134 -[8373] Forked 30135 -(30134) found -(30135) found -[8372] Forked 30136 -[8371] Forked 30137 -(30136) found -(30137) found -[8370] Forked 30138 -[8369] Forked 30139 -(30138) found -(30139) found -[8368] Forked 30140 -[8367] Forked 30141 -(30140) found -(30141) found -[8366] Forked 30142 -[8365] Forked 30143 -(30142) found -(30143) found -[8364] Forked 30144 -[8363] Forked 30145 -(30144) found -(30145) found -[8362] Forked 30146 -[8361] Forked 30147 -(30146) found -(30147) found -[8360] Forked 30148 -[8359] Forked 30149 -(30148) found -(30149) found -[8358] Forked 30150 -[8357] Forked 30151 -(30150) found -(30151) found -[8356] Forked 30152 -[8355] Forked 30153 -(30152) found -(30153) found -[8354] Forked 30154 -[8353] Forked 30155 -(30154) found -(30155) found -[8352] Forked 30156 -(30156) found -[8351] Forked 30157 -(30157) found -[8350] Forked 30158 -(30158) found -[8349] Forked 30159 -(30159) found -[8348] Forked 30160 -(30160) found -[8347] Forked 30161 -[8346] Forked 30162 -(30161) found -(30162) found -[8345] Forked 30163 -[8344] Forked 30164 -(30163) found -(30164) found -[8343] Forked 30165 -[8342] Forked 30166 -(30165) found -(30166) found -[8341] Forked 30167 -[8340] Forked 30168 -(30167) found -(30168) found -[8339] Forked 30169 -[8338] Forked 30170 -(30169) found -(30170) found -[8337] Forked 30171 -[8336] Forked 30172 -(30171) found -(30172) found -[8335] Forked 30173 -[8334] Forked 30174 -(30173) found -(30174) found -[8333] Forked 30175 -[8332] Forked 30176 -(30175) found -(30176) found -[8331] Forked 30177 -[8330] Forked 30178 -(30177) found -(30178) found -[8329] Forked 30179 -[8328] Forked 30180 -(30179) found -(30180) found -[8327] Forked 30181 -[8326] Forked 30182 -(30181) found -(30182) found -[8325] Forked 30183 -[8324] Forked 30184 -(30183) found -(30184) found -[8323] Forked 30185 -[8322] Forked 30186 -(30185) found -(30186) found -[8321] Forked 30187 -[8320] Forked 30188 -(30187) found -(30188) found -[8319] Forked 30189 -[8318] Forked 30190 -(30189) found -(30190) found -[8317] Forked 30191 -[8316] Forked 30192 -(30191) found -(30192) found -[8315] Forked 30193 -[8314] Forked 30194 -(30193) found -(30194) found -[8313] Forked 30195 -[8312] Forked 30196 -(30195) found -(30196) found -[8311] Forked 30197 -[8310] Forked 30198 -(30197) found -(30198) found -[8309] Forked 30199 -[8308] Forked 30201 -(30199) found -(30201) found -[8307] Forked 30202 -(30202) found -[8306] Forked 30203 -(30203) found -[8305] Forked 30204 -(30204) found -[8304] Forked 30205 -(30205) found -[8303] Forked 30206 -(30206) found -[8302] Forked 30207 -(30207) found -[8301] Forked 30208 -(30208) found -[8300] Forked 30209 -(30209) found -[8299] Forked 30210 -(30210) found -[8298] Forked 30211 -(30211) found -[8297] Forked 30212 -(30212) found -[8296] Forked 30213 -(30213) found -[8295] Forked 30214 -(30214) found -[8294] Forked 30215 -(30215) found -[8293] Forked 30216 -(30216) found -[8292] Forked 30217 -(30217) found -[8291] Forked 30218 -(30218) found -[8290] Forked 30219 -(30219) found -[8289] Forked 30220 -(30220) found -[8288] Forked 30221 -(30221) found -[8287] Forked 30222 -(30222) found -[8286] Forked 30223 -(30223) found -[8285] Forked 30224 -(30224) found -[8284] Forked 30225 -(30225) found -[8283] Forked 30226 -(30226) found -[8282] Forked 30227 -(30227) found -[8281] Forked 30228 -(30228) found -[8280] Forked 30229 -(30229) found -[8279] Forked 30230 -(30230) found -[8278] Forked 30231 -(30231) found -[8277] Forked 30232 -(30232) found -[8276] Forked 30233 -(30233) found -[8275] Forked 30234 -(30234) found -[8274] Forked 30235 -(30235) found -[8273] Forked 30236 -(30236) found -[8272] Forked 30237 -(30237) found -[8271] Forked 30238 -(30238) found -[8270] Forked 30239 -(30239) found -[8269] Forked 30240 -(30240) found -[8268] Forked 30241 -(30241) found -[8267] Forked 30242 -[8266] Forked 30243 -(30243) found -(30242) found -[8265] Forked 30244 -(30244) found -[8264] Forked 30245 -(30245) found -[8263] Forked 30246 -(30246) found -[8262] Forked 30247 -(30247) found -[8261] Forked 30248 -(30248) found -[8260] Forked 30249 -(30249) found -[8259] Forked 30250 -(30250) found -[8258] Forked 30251 -(30251) found -[8257] Forked 30252 -(30252) found -[8256] Forked 30253 -(30253) found -[8255] Forked 30254 -(30254) found -[8254] Forked 30255 -(30255) found -[8253] Forked 30256 -(30256) found -[8252] Forked 30257 -(30257) found -[8251] Forked 30258 -(30258) found -[8250] Forked 30259 -(30259) found -[8249] Forked 30260 -(30260) found -[8248] Forked 30261 -(30261) found -[8247] Forked 30262 -(30262) found -[8246] Forked 30263 -(30263) found -[8245] Forked 30264 -(30264) found -[8244] Forked 30265 -(30265) found -[8243] Forked 30266 -(30266) found -[8242] Forked 30267 -(30267) found -[8241] Forked 30268 -(30268) found -[8240] Forked 30269 -(30269) found -[8239] Forked 30270 -(30270) found -[8238] Forked 30271 -(30271) found -[8237] Forked 30272 -(30272) found -[8236] Forked 30273 -(30273) found -[8235] Forked 30274 -(30274) found -[8234] Forked 30275 -(30275) found -[8233] Forked 30276 -(30276) found -[8232] Forked 30277 -(30277) found -[8231] Forked 30278 -(30278) found -[8230] Forked 30279 -(30279) found -[8229] Forked 30280 -(30280) found -[8228] Forked 30281 -(30281) found -[8227] Forked 30282 -(30282) found -[8226] Forked 30283 -(30283) found -[8225] Forked 30284 -(30284) found -[8224] Forked 30285 -(30285) found -[8223] Forked 30286 -(30286) found -[8222] Forked 30287 -(30287) found -[8221] Forked 30288 -(30288) found -[8220] Forked 30289 -(30289) found -[8219] Forked 30290 -(30290) found -[8218] Forked 30291 -(30291) found -[8217] Forked 30292 -(30292) found -[8216] Forked 30293 -(30293) found -[8215] Forked 30294 -(30294) found -[8214] Forked 30295 -(30295) found -[8213] Forked 30296 -(30296) found -[8212] Forked 30297 -(30297) found -[8211] Forked 30298 -(30298) found -[8210] Forked 30299 -(30299) found -[8209] Forked 30300 -(30300) found -[8208] Forked 30301 -(30301) found -[8207] Forked 30302 -(30302) found -[8206] Forked 30303 -(30303) found -[8205] Forked 30304 -(30304) found -[8204] Forked 30305 -(30305) found -[8203] Forked 30306 -(30306) found -[8202] Forked 30307 -(30307) found -[8201] Forked 30308 -(30308) found -[8200] Forked 30309 -(30309) found -[8199] Forked 30310 -(30310) found -[8198] Forked 30311 -(30311) found -[8197] Forked 30312 -(30312) found -[8196] Forked 30313 -(30313) found -[8195] Forked 30314 -(30314) found -[8194] Forked 30315 -[8193] Forked 30316 -(30315) found -(30316) found -[8192] Forked 30317 -[8191] Forked 30318 -(30317) found -(30318) found -[8190] Forked 30319 -[8189] Forked 30320 -(30319) found -(30320) found -[8188] Forked 30321 -[8187] Forked 30322 -(30321) found -(30322) found -[8186] Forked 30323 -[8185] Forked 30324 -(30323) found -(30324) found -[8184] Forked 30325 -[8183] Forked 30326 -(30325) found -(30326) found -[8182] Forked 30327 -[8181] Forked 30328 -(30327) found -(30328) found -[8180] Forked 30329 -[8179] Forked 30330 -(30329) found -(30330) found -[8178] Forked 30331 -[8177] Forked 30332 -(30331) found -(30332) found -[8176] Forked 30333 -[8175] Forked 30334 -(30333) found -(30334) found -[8174] Forked 30335 -[8173] Forked 30336 -(30335) found -(30336) found -[8172] Forked 30337 -[8171] Forked 30338 -(30337) found -(30338) found -[8170] Forked 30339 -(30339) found -[8169] Forked 30340 -[8168] Forked 30341 -(30340) found -(30341) found -[8167] Forked 30342 -[8166] Forked 30343 -(30342) found -(30343) found -[8165] Forked 30344 -[8164] Forked 30345 -(30344) found -(30345) found -[8163] Forked 30346 -[8162] Forked 30347 -(30346) found -(30347) found -[8161] Forked 30348 -[8160] Forked 30349 -(30348) found -(30349) found -[8159] Forked 30350 -[8158] Forked 30351 -(30350) found -(30351) found -[8157] Forked 30352 -[8156] Forked 30353 -(30352) found -(30353) found -[8155] Forked 30354 -[8154] Forked 30355 -(30355) found -(30354) found -[8153] Forked 30356 -(30356) found -[8152] Forked 30357 -(30357) found -[8151] Forked 30358 -(30358) found -[8150] Forked 30359 -(30359) found -[8149] Forked 30360 -(30360) found -[8148] Forked 30361 -(30361) found -[8147] Forked 30362 -(30362) found -[8146] Forked 30363 -(30363) found -[8145] Forked 30364 -(30364) found -[8144] Forked 30365 -(30365) found -[8143] Forked 30366 -(30366) found -[8142] Forked 30367 -(30367) found -[8141] Forked 30368 -(30368) found -[8140] Forked 30369 -(30369) found -[8139] Forked 30370 -(30370) found -[8138] Forked 30371 -(30371) found -[8137] Forked 30372 -(30372) found -[8136] Forked 30373 -(30373) found -[8135] Forked 30374 -(30374) found -[8134] Forked 30375 -(30375) found -[8133] Forked 30376 -(30376) found -[8132] Forked 30377 -(30377) found -[8131] Forked 30378 -(30378) found -[8130] Forked 30379 -(30379) found -[8129] Forked 30380 -(30380) found -[8128] Forked 30381 -(30381) found -[8127] Forked 30382 -(30382) found -[8126] Forked 30383 -(30383) found -[8125] Forked 30384 -(30384) found -[8124] Forked 30385 -(30385) found -[8123] Forked 30386 -(30386) found -[8122] Forked 30387 -(30387) found -[8121] Forked 30388 -(30388) found -[8120] Forked 30389 -(30389) found -[8119] Forked 30390 -(30390) found -[8118] Forked 30391 -[8117] Forked 30392 -(30391) found -(30392) found -[8116] Forked 30393 -[8115] Forked 30394 -(30393) found -(30394) found -[8114] Forked 30395 -[8113] Forked 30396 -(30395) found -(30396) found -[8112] Forked 30397 -[8111] Forked 30398 -(30397) found -(30398) found -[8110] Forked 30399 -[8109] Forked 30400 -(30399) found -(30400) found -[8108] Forked 30401 -[8107] Forked 30402 -(30401) found -(30402) found -[8106] Forked 30403 -[8105] Forked 30404 -(30403) found -(30404) found -[8104] Forked 30405 -[8103] Forked 30406 -(30405) found -(30406) found -[8102] Forked 30407 -[8101] Forked 30408 -(30407) found -(30408) found -[8100] Forked 30409 -[8099] Forked 30410 -(30409) found -(30410) found -[8098] Forked 30411 -[8097] Forked 30412 -(30411) found -(30412) found -[8096] Forked 30413 -[8095] Forked 30414 -(30413) found -(30414) found -[8094] Forked 30415 -[8093] Forked 30416 -(30415) found -(30416) found -[8092] Forked 30417 -[8091] Forked 30418 -(30417) found -(30418) found -[8090] Forked 30419 -[8089] Forked 30420 -(30419) found -(30420) found -[8088] Forked 30421 -[8087] Forked 30422 -(30421) found -(30422) found -[8086] Forked 30423 -[8085] Forked 30424 -(30423) found -(30424) found -[8084] Forked 30425 -[8083] Forked 30426 -(30425) found -(30426) found -[8082] Forked 30427 -[8081] Forked 30428 -(30427) found -(30428) found -[8080] Forked 30429 -[8079] Forked 30430 -(30429) found -(30430) found -[8078] Forked 30431 -[8077] Forked 30433 -(30431) found -(30433) found -[8076] Forked 30434 -(30434) found -[8075] Forked 30435 -(30435) found -[8074] Forked 30436 -(30436) found -[8073] Forked 30437 -(30437) found -[8072] Forked 30438 -(30438) found -[8071] Forked 30439 -(30439) found -[8070] Forked 30440 -(30440) found -[8069] Forked 30441 -(30441) found -[8068] Forked 30442 -(30442) found -[8067] Forked 30443 -(30443) found -[8066] Forked 30444 -(30444) found -[8065] Forked 30445 -(30445) found -[8064] Forked 30446 -(30446) found -[8063] Forked 30447 -(30447) found -[8062] Forked 30448 -(30448) found -[8061] Forked 30449 -(30449) found -[8060] Forked 30450 -(30450) found -[8059] Forked 30451 -(30451) found -[8058] Forked 30452 -(30452) found -[8057] Forked 30453 -(30453) found -[8056] Forked 30454 -(30454) found -[8055] Forked 30455 -(30455) found -[8054] Forked 30456 -(30456) found -[8053] Forked 30457 -(30457) found -[8052] Forked 30458 -(30458) found -[8051] Forked 30459 -(30459) found -[8050] Forked 30460 -(30460) found -[8049] Forked 30461 -(30461) found -[8048] Forked 30462 -(30462) found -[8047] Forked 30463 -(30463) found -[8046] Forked 30464 -(30464) found -[8045] Forked 30465 -(30465) found -[8044] Forked 30466 -(30466) found -[8043] Forked 30467 -(30467) found -[8042] Forked 30468 -(30468) found -[8041] Forked 30469 -(30469) found -[8040] Forked 30470 -(30470) found -[8039] Forked 30471 -(30471) found -[8038] Forked 30472 -(30472) found -[8037] Forked 30473 -(30473) found -[8036] Forked 30474 -(30474) found -[8035] Forked 30475 -(30475) found -[8034] Forked 30476 -(30476) found -[8033] Forked 30477 -(30477) found -[8032] Forked 30478 -(30478) found -[8031] Forked 30479 -(30479) found -[8030] Forked 30480 -(30480) found -[8029] Forked 30481 -(30481) found -[8028] Forked 30482 -(30482) found -[8027] Forked 30483 -(30483) found -[8026] Forked 30484 -(30484) found -[8025] Forked 30485 -(30485) found -[8024] Forked 30486 -(30486) found -[8023] Forked 30487 -(30487) found -[8022] Forked 30488 -(30488) found -[8021] Forked 30489 -(30489) found -[8020] Forked 30490 -(30490) found -[8019] Forked 30491 -(30491) found -[8018] Forked 30492 -(30492) found -[8017] Forked 30493 -(30493) found -[8016] Forked 30494 -(30494) found -[8015] Forked 30495 -(30495) found -[8014] Forked 30496 -(30496) found -[8013] Forked 30497 -(30497) found -[8012] Forked 30498 -(30498) found -[8011] Forked 30499 -(30499) found -[8010] Forked 30500 -(30500) found -[8009] Forked 30501 -(30501) found -[8008] Forked 30502 -(30502) found -[8007] Forked 30503 -(30503) found -[8006] Forked 30504 -(30504) found -[8005] Forked 30505 -(30505) found -[8004] Forked 30506 -(30506) found -[8003] Forked 30507 -(30507) found -[8002] Forked 30509 -(30509) found -[8001] Forked 30510 -(30510) found -[8000] Forked 30511 -[7999] Forked 30512 -(30511) found -(30512) found -[7998] Forked 30513 -[7997] Forked 30515 -(30513) found -(30515) found -[7996] Forked 30516 -[7995] Forked 30517 -(30516) found -(30517) found -[7994] Forked 30518 -[7993] Forked 30519 -(30518) found -(30519) found -[7992] Forked 30521 -[7991] Forked 30522 -(30521) found -(30522) found -[7990] Forked 30523 -[7989] Forked 30524 -(30523) found -(30524) found -[7988] Forked 30525 -[7987] Forked 30526 -(30525) found -(30526) found -[7986] Forked 30528 -[7985] Forked 30529 -(30528) found -(30529) found -[7984] Forked 30530 -[7983] Forked 30531 -(30530) found -(30531) found -[7982] Forked 30532 -[7981] Forked 30534 -(30532) found -(30534) found -[7980] Forked 30535 -[7979] Forked 30536 -(30535) found -(30536) found -[7978] Forked 30537 -[7977] Forked 30538 -(30537) found -(30538) found -[7976] Forked 30540 -[7975] Forked 30541 -(30540) found -(30541) found -[7974] Forked 30542 -[7973] Forked 30543 -(30542) found -(30543) found -[7972] Forked 30544 -[7971] Forked 30545 -(30544) found -(30545) found -[7970] Forked 30546 -[7969] Forked 30547 -(30546) found -(30547) found -[7968] Forked 30548 -[7967] Forked 30549 -(30548) found -(30549) found -[7966] Forked 30550 -[7965] Forked 30551 -(30550) found -(30551) found -[7964] Forked 30552 -[7963] Forked 30553 -(30552) found -(30553) found -[7962] Forked 30554 -[7961] Forked 30555 -(30554) found -(30555) found -[7960] Forked 30556 -[7959] Forked 30557 -(30556) found -(30557) found -[7958] Forked 30558 -[7957] Forked 30559 -(30558) found -(30559) found -[7956] Forked 30560 -[7955] Forked 30561 -(30560) found -(30561) found -[7954] Forked 30562 -(30562) found -[7953] Forked 30563 -(30563) found -[7952] Forked 30564 -(30564) found -[7951] Forked 30565 -(30565) found -[7950] Forked 30566 -(30566) found -[7949] Forked 30567 -(30567) found -[7948] Forked 30568 -(30568) found -[7947] Forked 30569 -(30569) found -[7946] Forked 30570 -(30570) found -[7945] Forked 30571 -(30571) found -[7944] Forked 30572 -(30572) found -[7943] Forked 30573 -(30573) found -[7942] Forked 30574 -(30574) found -[7941] Forked 30575 -(30575) found -[7940] Forked 30576 -(30576) found -[7939] Forked 30577 -(30577) found -[7938] Forked 30578 -(30578) found -[7937] Forked 30579 -(30579) found -[7936] Forked 30580 -(30580) found -[7935] Forked 30581 -(30581) found -[7934] Forked 30582 -(30582) found -[7933] Forked 30583 -(30583) found -[7932] Forked 30584 -(30584) found -[7931] Forked 30585 -(30585) found -[7930] Forked 30586 -(30586) found -[7929] Forked 30587 -(30587) found -[7928] Forked 30588 -(30588) found -[7927] Forked 30589 -(30589) found -[7926] Forked 30590 -(30590) found -[7925] Forked 30591 -(30591) found -[7924] Forked 30592 -(30592) found -[7923] Forked 30593 -(30593) found -[7922] Forked 30594 -(30594) found -[7921] Forked 30595 -(30595) found -[7920] Forked 30596 -(30596) found -[7919] Forked 30597 -(30597) found -[7918] Forked 30598 -(30598) found -[7917] Forked 30599 -[7916] Forked 30600 -(30599) found -(30600) found -[7915] Forked 30601 -[7914] Forked 30602 -(30601) found -(30602) found -[7913] Forked 30603 -[7912] Forked 30604 -(30603) found -(30604) found -[7911] Forked 30605 -[7910] Forked 30606 -(30605) found -(30606) found -[7909] Forked 30607 -[7908] Forked 30608 -(30607) found -(30608) found -[7907] Forked 30609 -[7906] Forked 30610 -(30609) found -(30610) found -[7905] Forked 30611 -[7904] Forked 30612 -(30611) found -(30612) found -[7903] Forked 30613 -[7902] Forked 30614 -(30613) found -(30614) found -[7901] Forked 30615 -[7900] Forked 30616 -(30615) found -(30616) found -[7899] Forked 30617 -[7898] Forked 30618 -(30617) found -(30618) found -[7897] Forked 30619 -[7896] Forked 30620 -(30619) found -(30620) found -[7895] Forked 30621 -[7894] Forked 30622 -(30621) found -(30622) found -[7893] Forked 30623 -[7892] Forked 30624 -(30623) found -(30624) found -[7891] Forked 30625 -[7890] Forked 30626 -(30625) found -(30626) found -[7889] Forked 30627 -[7888] Forked 30628 -(30627) found -(30628) found -[7887] Forked 30629 -[7886] Forked 30630 -(30629) found -(30630) found -[7885] Forked 30631 -[7884] Forked 30633 -(30631) found -(30633) found -[7883] Forked 30634 -(30634) found -[7882] Forked 30635 -(30635) found -[7881] Forked 30636 -(30636) found -[7880] Forked 30637 -[7879] Forked 30638 -(30637) found -(30638) found -[7878] Forked 30639 -[7877] Forked 30640 -(30639) found -(30640) found -[7876] Forked 30641 -(30641) found -[7875] Forked 30642 -[7874] Forked 30643 -(30642) found -(30643) found -[7873] Forked 30644 -[7872] Forked 30645 -(30644) found -(30645) found -[7871] Forked 30646 -[7870] Forked 30647 -(30646) found -(30647) found -[7869] Forked 30648 -[7868] Forked 30649 -(30648) found -(30649) found -[7867] Forked 30650 -[7866] Forked 30651 -(30650) found -(30651) found -[7865] Forked 30652 -[7864] Forked 30653 -(30652) found -(30653) found -[7863] Forked 30654 -[7862] Forked 30655 -(30654) found -(30655) found -[7861] Forked 30656 -[7860] Forked 30657 -(30656) found -(30657) found -[7859] Forked 30658 -[7858] Forked 30659 -(30658) found -(30659) found -[7857] Forked 30660 -[7856] Forked 30661 -(30660) found -(30661) found -[7855] Forked 30662 -[7854] Forked 30663 -(30662) found -(30663) found -[7853] Forked 30664 -[7852] Forked 30665 -(30664) found -(30665) found -[7851] Forked 30666 -[7850] Forked 30667 -(30666) found -(30667) found -[7849] Forked 30668 -[7848] Forked 30669 -(30668) found -(30669) found -[7847] Forked 30670 -[7846] Forked 30671 -(30670) found -(30671) found -[7845] Forked 30672 -[7844] Forked 30673 -(30672) found -(30673) found -[7843] Forked 30674 -[7842] Forked 30675 -(30674) found -(30675) found -[7841] Forked 30676 -[7840] Forked 30677 -(30676) found -(30677) found -[7839] Forked 30678 -[7838] Forked 30679 -(30678) found -(30679) found -[7837] Forked 30680 -[7836] Forked 30681 -(30680) found -(30681) found -[7835] Forked 30682 -[7834] Forked 30683 -(30682) found -(30683) found -[7833] Forked 30684 -[7832] Forked 30685 -(30684) found -(30685) found -[7831] Forked 30686 -[7830] Forked 30687 -(30686) found -(30687) found -[7829] Forked 30688 -[7828] Forked 30689 -(30688) found -(30689) found -[7827] Forked 30690 -[7826] Forked 30691 -(30690) found -(30691) found -[7825] Forked 30692 -[7824] Forked 30693 -(30692) found -(30693) found -[7823] Forked 30694 -[7822] Forked 30695 -(30694) found -(30695) found -[7821] Forked 30696 -[7820] Forked 30697 -(30696) found -(30697) found -[7819] Forked 30698 -[7818] Forked 30699 -(30698) found -(30699) found -[7817] Forked 30700 -[7816] Forked 30701 -(30700) found -(30701) found -[7815] Forked 30702 -[7814] Forked 30703 -(30702) found -(30703) found -[7813] Forked 30704 -[7812] Forked 30705 -(30704) found -(30705) found -[7811] Forked 30706 -[7810] Forked 30707 -(30706) found -(30707) found -[7809] Forked 30708 -[7808] Forked 30709 -(30708) found -(30709) found -[7807] Forked 30710 -[7806] Forked 30711 -(30710) found -(30711) found -[7805] Forked 30712 -[7804] Forked 30713 -(30712) found -(30713) found -[7803] Forked 30714 -[7802] Forked 30715 -(30714) found -(30715) found -[7801] Forked 30716 -[7800] Forked 30717 -(30716) found -(30717) found -[7799] Forked 30718 -[7798] Forked 30719 -(30718) found -(30719) found -[7797] Forked 30720 -[7796] Forked 30721 -(30720) found -(30721) found -[7795] Forked 30722 -[7794] Forked 30723 -(30722) found -(30723) found -[7793] Forked 30724 -[7792] Forked 30725 -(30724) found -(30725) found -[7791] Forked 30726 -[7790] Forked 30727 -(30726) found -(30727) found -[7789] Forked 30728 -[7788] Forked 30729 -(30728) found -(30729) found -[7787] Forked 30730 -[7786] Forked 30731 -(30730) found -(30731) found -[7785] Forked 30732 -[7784] Forked 30733 -(30732) found -(30733) found -[7783] Forked 30734 -(30734) found -[7782] Forked 30735 -(30735) found -[7781] Forked 30736 -(30736) found -[7780] Forked 30737 -(30737) found -[7779] Forked 30738 -(30738) found -[7778] Forked 30739 -(30739) found -[7777] Forked 30740 -(30740) found -[7776] Forked 30741 -(30741) found -[7775] Forked 30742 -(30742) found -[7774] Forked 30743 -(30743) found -[7773] Forked 30744 -(30744) found -[7772] Forked 30745 -(30745) found -[7771] Forked 30746 -(30746) found -[7770] Forked 30747 -(30747) found -[7769] Forked 30748 -(30748) found -[7768] Forked 30749 -(30749) found -[7767] Forked 30750 -(30750) found -[7766] Forked 30751 -(30751) found -[7765] Forked 30752 -(30752) found -[7764] Forked 30753 -(30753) found -[7763] Forked 30754 -(30754) found -[7762] Forked 30755 -(30755) found -[7761] Forked 30756 -(30756) found -[7760] Forked 30757 -(30757) found -[7759] Forked 30758 -(30758) found -[7758] Forked 30759 -(30759) found -[7757] Forked 30760 -(30760) found -[7756] Forked 30761 -(30761) found -[7755] Forked 30762 -(30762) found -[7754] Forked 30763 -(30763) found -[7753] Forked 30764 -(30764) found -[7752] Forked 30765 -(30765) found -[7751] Forked 30766 -(30766) found -[7750] Forked 30767 -(30767) found -[7749] Forked 30768 -(30768) found -[7748] Forked 30769 -(30769) found -[7747] Forked 30770 -(30770) found -[7746] Forked 30771 -[7745] Forked 30772 -(30771) found -(30772) found -[7744] Forked 30773 -[7743] Forked 30774 -(30773) found -(30774) found -[7742] Forked 30775 -[7741] Forked 30776 -(30775) found -(30776) found -[7740] Forked 30777 -[7739] Forked 30778 -(30777) found -(30778) found -[7738] Forked 30779 -[7737] Forked 30780 -(30779) found -(30780) found -[7736] Forked 30781 -[7735] Forked 30782 -(30781) found -(30782) found -[7734] Forked 30783 -[7733] Forked 30784 -(30783) found -(30784) found -[7732] Forked 30785 -[7731] Forked 30786 -(30785) found -(30786) found -[7730] Forked 30787 -[7729] Forked 30788 -(30787) found -(30788) found -[7728] Forked 30789 -[7727] Forked 30790 -(30789) found -(30790) found -[7726] Forked 30791 -[7725] Forked 30792 -(30791) found -(30792) found -[7724] Forked 30793 -[7723] Forked 30794 -(30793) found -(30794) found -[7722] Forked 30795 -[7721] Forked 30796 -(30795) found -(30796) found -[7720] Forked 30797 -[7719] Forked 30798 -(30797) found -(30798) found -[7718] Forked 30799 -[7717] Forked 30800 -(30799) found -(30800) found -[7716] Forked 30801 -[7715] Forked 30802 -(30801) found -(30802) found -[7714] Forked 30803 -[7713] Forked 30804 -(30803) found -(30804) found -[7712] Forked 30805 -[7711] Forked 30806 -(30805) found -(30806) found -[7710] Forked 30807 -[7709] Forked 30808 -(30807) found -(30808) found -[7708] Forked 30809 -[7707] Forked 30810 -(30809) found -(30810) found -[7706] Forked 30811 -[7705] Forked 30812 -(30811) found -(30812) found -[7704] Forked 30813 -[7703] Forked 30814 -(30813) found -(30814) found -[7702] Forked 30815 -(30815) found -[7701] Forked 30816 -(30816) found -[7700] Forked 30817 -(30817) found -[7699] Forked 30818 -(30818) found -[7698] Forked 30819 -(30819) found -[7697] Forked 30820 -(30820) found -[7696] Forked 30821 -(30821) found -[7695] Forked 30822 -(30822) found -[7694] Forked 30823 -(30823) found -[7693] Forked 30824 -(30824) found -[7692] Forked 30825 -(30825) found -[7691] Forked 30826 -(30826) found -[7690] Forked 30827 -(30827) found -[7689] Forked 30828 -(30828) found -[7688] Forked 30829 -(30829) found -[7687] Forked 30831 -(30831) found -[7686] Forked 30832 -(30832) found -[7685] Forked 30833 -(30833) found -[7684] Forked 30834 -(30834) found -[7683] Forked 30835 -(30835) found -[7682] Forked 30837 -(30837) found -[7681] Forked 30838 -(30838) found -[7680] Forked 30839 -(30839) found -[7679] Forked 30840 -(30840) found -[7678] Forked 30841 -(30841) found -[7677] Forked 30843 -(30843) found -[7676] Forked 30844 -(30844) found -[7675] Forked 30845 -(30845) found -[7674] Forked 30846 -(30846) found -[7673] Forked 30847 -(30847) found -[7672] Forked 30849 -(30849) found -[7671] Forked 30850 -(30850) found -[7670] Forked 30851 -(30851) found -[7669] Forked 30852 -(30852) found -[7668] Forked 30853 -[7667] Forked 30855 -(30853) found -(30855) found -[7666] Forked 30856 -[7665] Forked 30857 -(30856) found -(30857) found -[7664] Forked 30858 -[7663] Forked 30859 -(30858) found -(30859) found -[7662] Forked 30861 -[7661] Forked 30862 -(30861) found -(30862) found -[7660] Forked 30863 -[7659] Forked 30864 -(30863) found -(30864) found -[7658] Forked 30865 -[7657] Forked 30866 -(30865) found -(30866) found -[7656] Forked 30867 -[7655] Forked 30868 -(30867) found -(30868) found -[7654] Forked 30869 -[7653] Forked 30870 -(30869) found -(30870) found -[7652] Forked 30871 -[7651] Forked 30872 -(30871) found -(30872) found -[7650] Forked 30873 -[7649] Forked 30874 -(30873) found -(30874) found -[7648] Forked 30875 -[7647] Forked 30876 -(30875) found -(30876) found -[7646] Forked 30877 -[7645] Forked 30878 -(30877) found -(30878) found -[7644] Forked 30879 -[7643] Forked 30881 -(30879) found -(30881) found -[7642] Forked 30882 -(30882) found -[7641] Forked 30883 -(30883) found -[7640] Forked 30884 -(30884) found -[7639] Forked 30885 -(30885) found -[7638] Forked 30886 -(30886) found -[7637] Forked 30887 -(30887) found -[7636] Forked 30888 -(30888) found -[7635] Forked 30889 -(30889) found -[7634] Forked 30890 -(30890) found -[7633] Forked 30891 -(30891) found -[7632] Forked 30892 -(30892) found -[7631] Forked 30893 -(30893) found -[7630] Forked 30894 -(30894) found -[7629] Forked 30895 -(30895) found -[7628] Forked 30896 -(30896) found -[7627] Forked 30897 -(30897) found -[7626] Forked 30898 -(30898) found -[7625] Forked 30899 -(30899) found -[7624] Forked 30900 -(30900) found -[7623] Forked 30901 -(30901) found -[7622] Forked 30902 -(30902) found -[7621] Forked 30903 -(30903) found -[7620] Forked 30904 -(30904) found -[7619] Forked 30905 -(30905) found -[7618] Forked 30906 -(30906) found -[7617] Forked 30907 -(30907) found -[7616] Forked 30908 -(30908) found -[7615] Forked 30909 -(30909) found -[7614] Forked 30910 -(30910) found -[7613] Forked 30911 -(30911) found -[7612] Forked 30912 -(30912) found -[7611] Forked 30913 -(30913) found -[7610] Forked 30914 -(30914) found -[7609] Forked 30915 -(30915) found -[7608] Forked 30916 -(30916) found -[7607] Forked 30917 -(30917) found -[7606] Forked 30918 -(30918) found -[7605] Forked 30919 -(30919) found -[7604] Forked 30920 -(30920) found -[7603] Forked 30921 -(30921) found -[7602] Forked 30922 -(30922) found -[7601] Forked 30923 -(30923) found -[7600] Forked 30924 -[7599] Forked 30925 -(30924) found -(30925) found -[7598] Forked 30926 -[7597] Forked 30927 -(30926) found -(30927) found -[7596] Forked 30928 -[7595] Forked 30929 -(30928) found -(30929) found -[7594] Forked 30930 -[7593] Forked 30931 -(30930) found -(30931) found -[7592] Forked 30932 -[7591] Forked 30933 -(30932) found -(30933) found -[7590] Forked 30934 -[7589] Forked 30935 -(30934) found -(30935) found -[7588] Forked 30936 -[7587] Forked 30937 -(30936) found -(30937) found -[7586] Forked 30938 -[7585] Forked 30939 -(30938) found -(30939) found -[7584] Forked 30940 -[7583] Forked 30941 -(30940) found -(30941) found -[7582] Forked 30942 -[7581] Forked 30943 -(30942) found -(30943) found -[7580] Forked 30944 -[7579] Forked 30945 -(30944) found -(30945) found -[7578] Forked 30946 -[7577] Forked 30947 -(30946) found -(30947) found -[7576] Forked 30948 -[7575] Forked 30949 -(30948) found -(30949) found -[7574] Forked 30950 -[7573] Forked 30951 -(30950) found -(30951) found -[7572] Forked 30952 -[7571] Forked 30953 -(30952) found -(30953) found -[7570] Forked 30954 -[7569] Forked 30955 -(30954) found -(30955) found -[7568] Forked 30956 -[7567] Forked 30957 -(30956) found -(30957) found -[7566] Forked 30958 -[7565] Forked 30959 -(30958) found -(30959) found -[7564] Forked 30960 -[7563] Forked 30961 -(30960) found -(30961) found -[7562] Forked 30962 -(30962) found -[7561] Forked 30963 -[7560] Forked 30964 -(30963) found -(30964) found -[7559] Forked 30965 -[7558] Forked 30966 -(30965) found -(30966) found -[7557] Forked 30967 -(30967) found -[7556] Forked 30968 -(30968) found -[7555] Forked 30969 -(30969) found -[7554] Forked 30970 -(30970) found -[7553] Forked 30971 -(30971) found -[7552] Forked 30972 -(30972) found -[7551] Forked 30973 -(30973) found -[7550] Forked 30974 -(30974) found -[7549] Forked 30975 -(30975) found -[7548] Forked 30976 -(30976) found -[7547] Forked 30977 -(30977) found -[7546] Forked 30978 -(30978) found -[7545] Forked 30979 -(30979) found -[7544] Forked 30980 -(30980) found -[7543] Forked 30981 -(30981) found -[7542] Forked 30982 -(30982) found -[7541] Forked 30983 -(30983) found -[7540] Forked 30984 -(30984) found -[7539] Forked 30985 -(30985) found -[7538] Forked 30986 -(30986) found -[7537] Forked 30987 -(30987) found -[7536] Forked 30988 -(30988) found -[7535] Forked 30989 -(30989) found -[7534] Forked 30990 -(30990) found -[7533] Forked 30991 -(30991) found -[7532] Forked 30992 -(30992) found -[7531] Forked 30993 -(30993) found -[7530] Forked 30994 -(30994) found -[7529] Forked 30995 -(30995) found -[7528] Forked 30996 -(30996) found -[7527] Forked 30997 -(30997) found -[7526] Forked 30998 -(30998) found -[7525] Forked 30999 -(30999) found -[7524] Forked 31000 -(31000) found -[7523] Forked 31001 -(31001) found -[7522] Forked 31002 -(31002) found -[7521] Forked 31003 -(31003) found -[7520] Forked 31004 -[7519] Forked 31005 -(31004) found -(31005) found -[7518] Forked 31006 -[7517] Forked 31007 -(31006) found -(31007) found -[7516] Forked 31008 -[7515] Forked 31009 -(31008) found -(31009) found -[7514] Forked 31010 -[7513] Forked 31011 -(31010) found -(31011) found -[7512] Forked 31012 -[7511] Forked 31013 -(31012) found -(31013) found -[7510] Forked 31014 -[7509] Forked 31015 -(31014) found -(31015) found -[7508] Forked 31016 -[7507] Forked 31017 -(31016) found -(31017) found -[7506] Forked 31018 -[7505] Forked 31019 -(31018) found -(31019) found -[7504] Forked 31020 -[7503] Forked 31021 -(31020) found -(31021) found -[7502] Forked 31022 -[7501] Forked 31023 -(31022) found -(31023) found -[7500] Forked 31024 -[7499] Forked 31025 -(31024) found -(31025) found -[7498] Forked 31026 -[7497] Forked 31027 -(31026) found -(31027) found -[7496] Forked 31028 -[7495] Forked 31029 -(31028) found -(31029) found -[7494] Forked 31030 -[7493] Forked 31031 -(31030) found -(31031) found -[7492] Forked 31032 -[7491] Forked 31033 -(31032) found -(31033) found -[7490] Forked 31034 -[7489] Forked 31035 -(31034) found -(31035) found -[7488] Forked 31036 -[7487] Forked 31037 -(31036) found -(31037) found -[7486] Forked 31038 -[7485] Forked 31039 -(31038) found -(31039) found -[7484] Forked 31040 -[7483] Forked 31041 -(31040) found -(31041) found -[7482] Forked 31042 -[7481] Forked 31043 -(31042) found -(31043) found -[7480] Forked 31044 -[7479] Forked 31045 -(31044) found -(31045) found -[7478] Forked 31046 -[7477] Forked 31047 -(31046) found -(31047) found -[7476] Forked 31048 -(31048) found -[7475] Forked 31049 -(31049) found -[7474] Forked 31050 -(31050) found -[7473] Forked 31051 -(31051) found -[7472] Forked 31052 -(31052) found -[7471] Forked 31053 -(31053) found -[7470] Forked 31054 -(31054) found -[7469] Forked 31055 -(31055) found -[7468] Forked 31056 -(31056) found -[7467] Forked 31057 -(31057) found -[7466] Forked 31058 -(31058) found -[7465] Forked 31059 -(31059) found -[7464] Forked 31060 -(31060) found -[7463] Forked 31061 -(31061) found -[7462] Forked 31062 -(31062) found -[7461] Forked 31064 -(31064) found -[7460] Forked 31065 -(31065) found -[7459] Forked 31066 -(31066) found -[7458] Forked 31067 -(31067) found -[7457] Forked 31068 -(31068) found -[7456] Forked 31069 -(31069) found -[7455] Forked 31070 -(31070) found -[7454] Forked 31071 -(31071) found -[7453] Forked 31072 -(31072) found -[7452] Forked 31073 -(31073) found -[7451] Forked 31074 -(31074) found -[7450] Forked 31075 -(31075) found -[7449] Forked 31076 -(31076) found -[7448] Forked 31077 -(31077) found -[7447] Forked 31078 -(31078) found -[7446] Forked 31079 -(31079) found -[7445] Forked 31080 -(31080) found -[7444] Forked 31081 -(31081) found -[7443] Forked 31082 -(31082) found -[7442] Forked 31083 -(31083) found -[7441] Forked 31084 -(31084) found -[7440] Forked 31085 -(31085) found -[7439] Forked 31086 -[7438] Forked 31087 -(31086) found -(31087) found -[7437] Forked 31088 -[7436] Forked 31089 -(31088) found -(31089) found -[7435] Forked 31090 -[7434] Forked 31091 -(31090) found -(31091) found -[7433] Forked 31092 -[7432] Forked 31093 -(31092) found -(31093) found -[7431] Forked 31094 -[7430] Forked 31095 -(31094) found -(31095) found -[7429] Forked 31096 -[7428] Forked 31097 -(31096) found -(31097) found -[7427] Forked 31098 -[7426] Forked 31099 -(31098) found -(31099) found -[7425] Forked 31100 -[7424] Forked 31101 -(31100) found -(31101) found -[7423] Forked 31102 -[7422] Forked 31103 -(31102) found -(31103) found -[7421] Forked 31104 -[7420] Forked 31105 -(31104) found -(31105) found -[7419] Forked 31106 -[7418] Forked 31107 -(31106) found -(31107) found -[7417] Forked 31108 -[7416] Forked 31109 -(31108) found -(31109) found -[7415] Forked 31110 -[7414] Forked 31111 -(31110) found -(31111) found -[7413] Forked 31112 -[7412] Forked 31113 -(31112) found -(31113) found -[7411] Forked 31114 -[7410] Forked 31115 -(31114) found -(31115) found -[7409] Forked 31116 -[7408] Forked 31117 -(31116) found -(31117) found -[7407] Forked 31118 -[7406] Forked 31119 -(31118) found -(31119) found -[7405] Forked 31120 -[7404] Forked 31121 -(31120) found -(31121) found -[7403] Forked 31122 -[7402] Forked 31123 -(31122) found -(31123) found -[7401] Forked 31124 -[7400] Forked 31125 -(31124) found -(31125) found -[7399] Forked 31126 -[7398] Forked 31127 -(31126) found -(31127) found -[7397] Forked 31128 -[7396] Forked 31129 -(31128) found -(31129) found -[7395] Forked 31130 -(31130) found -[7394] Forked 31131 -(31131) found -[7393] Forked 31132 -(31132) found -[7392] Forked 31133 -(31133) found -[7391] Forked 31134 -(31134) found -[7390] Forked 31135 -(31135) found -[7389] Forked 31136 -(31136) found -[7388] Forked 31137 -(31137) found -[7387] Forked 31138 -(31138) found -[7386] Forked 31139 -(31139) found -[7385] Forked 31140 -(31140) found -[7384] Forked 31141 -(31141) found -[7383] Forked 31142 -(31142) found -[7382] Forked 31143 -(31143) found -[7381] Forked 31144 -(31144) found -[7380] Forked 31145 -(31145) found -[7379] Forked 31146 -(31146) found -[7378] Forked 31147 -(31147) found -[7377] Forked 31148 -(31148) found -[7376] Forked 31149 -(31149) found -[7375] Forked 31150 -(31150) found -[7374] Forked 31151 -(31151) found -[7373] Forked 31152 -(31152) found -[7372] Forked 31153 -(31153) found -[7371] Forked 31154 -(31154) found -[7370] Forked 31155 -(31155) found -[7369] Forked 31156 -(31156) found -[7368] Forked 31157 -(31157) found -[7367] Forked 31158 -(31158) found -[7366] Forked 31159 -(31159) found -[7365] Forked 31160 -(31160) found -[7364] Forked 31161 -(31161) found -[7363] Forked 31162 -(31162) found -[7362] Forked 31163 -(31163) found -[7361] Forked 31164 -[7360] Forked 31165 -(31164) found -(31165) found -[7359] Forked 31166 -[7358] Forked 31167 -(31166) found -(31167) found -[7357] Forked 31168 -[7356] Forked 31169 -(31168) found -(31169) found -[7355] Forked 31170 -[7354] Forked 31171 -(31170) found -(31171) found -[7353] Forked 31172 -[7352] Forked 31173 -(31172) found -(31173) found -[7351] Forked 31174 -[7350] Forked 31175 -(31174) found -(31175) found -[7349] Forked 31176 -[7348] Forked 31177 -(31176) found -(31177) found -[7347] Forked 31178 -[7346] Forked 31179 -(31178) found -(31179) found -[7345] Forked 31180 -[7344] Forked 31181 -(31180) found -(31181) found -[7343] Forked 31182 -[7342] Forked 31183 -(31182) found -(31183) found -[7341] Forked 31184 -[7340] Forked 31185 -(31184) found -(31185) found -[7339] Forked 31186 -[7338] Forked 31187 -(31186) found -(31187) found -[7337] Forked 31188 -[7336] Forked 31189 -(31188) found -(31189) found -[7335] Forked 31190 -[7334] Forked 31191 -(31190) found -(31191) found -[7333] Forked 31192 -[7332] Forked 31193 -(31192) found -(31193) found -[7331] Forked 31194 -[7330] Forked 31195 -(31194) found -(31195) found -[7329] Forked 31196 -[7328] Forked 31197 -(31196) found -(31197) found -[7327] Forked 31198 -[7326] Forked 31199 -(31198) found -(31199) found -[7325] Forked 31200 -[7324] Forked 31201 -(31200) found -(31201) found -[7323] Forked 31202 -[7322] Forked 31203 -(31202) found -(31203) found -[7321] Forked 31204 -[7320] Forked 31205 -(31204) found -(31205) found -[7319] Forked 31206 -[7318] Forked 31207 -(31206) found -(31207) found -[7317] Forked 31208 -[7316] Forked 31209 -(31208) found -(31209) found -[7315] Forked 31210 -(31210) found -[7314] Forked 31211 -(31211) found -[7313] Forked 31212 -(31212) found -[7312] Forked 31213 -(31213) found -[7311] Forked 31214 -(31214) found -[7310] Forked 31215 -(31215) found -[7309] Forked 31216 -(31216) found -[7308] Forked 31217 -(31217) found -[7307] Forked 31218 -(31218) found -[7306] Forked 31219 -(31219) found -[7305] Forked 31220 -(31220) found -[7304] Forked 31221 -(31221) found -[7303] Forked 31222 -(31222) found -[7302] Forked 31223 -(31223) found -[7301] Forked 31224 -(31224) found -[7300] Forked 31225 -(31225) found -[7299] Forked 31226 -(31226) found -[7298] Forked 31227 -(31227) found -[7297] Forked 31228 -(31228) found -[7296] Forked 31229 -(31229) found -[7295] Forked 31230 -(31230) found -[7294] Forked 31231 -(31231) found -[7293] Forked 31232 -(31232) found -[7292] Forked 31233 -(31233) found -[7291] Forked 31234 -(31234) found -[7290] Forked 31235 -(31235) found -[7289] Forked 31236 -(31236) found -[7288] Forked 31237 -(31237) found -[7287] Forked 31238 -(31238) found -[7286] Forked 31239 -(31239) found -[7285] Forked 31240 -[7284] Forked 31241 -(31240) found -(31241) found -[7283] Forked 31242 -[7282] Forked 31243 -(31242) found -(31243) found -[7281] Forked 31244 -[7280] Forked 31245 -(31244) found -(31245) found -[7279] Forked 31246 -[7278] Forked 31247 -(31246) found -(31247) found -[7277] Forked 31248 -[7276] Forked 31249 -(31248) found -(31249) found -[7275] Forked 31250 -[7274] Forked 31251 -(31250) found -(31251) found -[7273] Forked 31252 -[7272] Forked 31253 -(31252) found -(31253) found -[7271] Forked 31254 -[7270] Forked 31255 -(31254) found -(31255) found -[7269] Forked 31256 -[7268] Forked 31257 -(31256) found -(31257) found -[7267] Forked 31258 -[7266] Forked 31259 -(31258) found -(31259) found -[7265] Forked 31260 -[7264] Forked 31261 -(31260) found -(31261) found -[7263] Forked 31262 -[7262] Forked 31263 -(31262) found -(31263) found -[7261] Forked 31264 -[7260] Forked 31265 -(31264) found -(31265) found -[7259] Forked 31266 -[7258] Forked 31267 -(31266) found -(31267) found -[7257] Forked 31268 -[7256] Forked 31269 -(31268) found -(31269) found -[7255] Forked 31270 -[7254] Forked 31271 -(31270) found -(31271) found -[7253] Forked 31272 -[7252] Forked 31273 -(31272) found -(31273) found -[7251] Forked 31274 -[7250] Forked 31275 -(31274) found -(31275) found -[7249] Forked 31276 -[7248] Forked 31277 -(31276) found -(31277) found -[7247] Forked 31278 -[7246] Forked 31279 -(31278) found -(31279) found -[7245] Forked 31280 -[7244] Forked 31281 -(31280) found -(31281) found -[7243] Forked 31282 -[7242] Forked 31283 -(31282) found -(31283) found -[7241] Forked 31284 -[7240] Forked 31285 -(31285) found -(31284) found -[7239] Forked 31286 -(31286) found -[7238] Forked 31287 -(31287) found -[7237] Forked 31288 -(31288) found -[7236] Forked 31289 -(31289) found -[7235] Forked 31290 -(31290) found -[7234] Forked 31291 -(31291) found -[7233] Forked 31292 -(31292) found -[7232] Forked 31293 -(31293) found -[7231] Forked 31294 -(31294) found -[7230] Forked 31295 -(31295) found -[7229] Forked 31296 -(31296) found -[7228] Forked 31297 -(31297) found -[7227] Forked 31298 -(31298) found -[7226] Forked 31299 -(31299) found -[7225] Forked 31300 -(31300) found -[7224] Forked 31301 -(31301) found -[7223] Forked 31302 -(31302) found -[7222] Forked 31303 -(31303) found -[7221] Forked 31304 -(31304) found -[7220] Forked 31305 -(31305) found -[7219] Forked 31306 -(31306) found -[7218] Forked 31307 -(31307) found -[7217] Forked 31308 -(31308) found -[7216] Forked 31309 -(31309) found -[7215] Forked 31310 -(31310) found -[7214] Forked 31311 -(31311) found -[7213] Forked 31312 -(31312) found -[7212] Forked 31313 -(31313) found -[7211] Forked 31314 -(31314) found -[7210] Forked 31315 -(31315) found -[7209] Forked 31316 -(31316) found -[7208] Forked 31317 -(31317) found -[7207] Forked 31318 -(31318) found -[7206] Forked 31319 -(31319) found -[7205] Forked 31320 -[7204] Forked 31321 -(31320) found -(31321) found -[7203] Forked 31322 -[7202] Forked 31323 -(31323) found -(31322) found -[7201] Forked 31324 -(31324) found -[7200] Forked 31325 -(31325) found -[7199] Forked 31326 -(31326) found -[7198] Forked 31327 -(31327) found -[7197] Forked 31328 -(31328) found -[7196] Forked 31329 -(31329) found -[7195] Forked 31330 -(31330) found -[7194] Forked 31331 -(31331) found -[7193] Forked 31332 -(31332) found -[7192] Forked 31333 -(31333) found -[7191] Forked 31334 -(31334) found -[7190] Forked 31335 -(31335) found -[7189] Forked 31336 -(31336) found -[7188] Forked 31337 -(31337) found -[7187] Forked 31338 -(31338) found -[7186] Forked 31339 -(31339) found -[7185] Forked 31340 -(31340) found -[7184] Forked 31341 -(31341) found -[7183] Forked 31342 -(31342) found -[7182] Forked 31343 -(31343) found -[7181] Forked 31344 -(31344) found -[7180] Forked 31345 -(31345) found -[7179] Forked 31346 -(31346) found -[7178] Forked 31347 -(31347) found -[7177] Forked 31348 -(31348) found -[7176] Forked 31349 -(31349) found -[7175] Forked 31350 -(31350) found -[7174] Forked 31351 -(31351) found -[7173] Forked 31352 -(31352) found -[7172] Forked 31353 -(31353) found -[7171] Forked 31354 -(31354) found -[7170] Forked 31355 -(31355) found -[7169] Forked 31356 -(31356) found -[7168] Forked 31357 -(31357) found -[7167] Forked 31358 -(31358) found -[7166] Forked 31359 -(31359) found -[7165] Forked 31360 -(31360) found -[7164] Forked 31361 -(31361) found -[7163] Forked 31362 -(31362) found -[7162] Forked 31363 -(31363) found -[7161] Forked 31364 -(31364) found -[7160] Forked 31365 -(31365) found -[7159] Forked 31366 -(31366) found -[7158] Forked 31367 -(31367) found -[7157] Forked 31368 -(31368) found -[7156] Forked 31369 -(31369) found -[7155] Forked 31370 -(31370) found -[7154] Forked 31371 -(31371) found -[7153] Forked 31372 -(31372) found -[7152] Forked 31373 -(31373) found -[7151] Forked 31374 -(31374) found -[7150] Forked 31375 -(31375) found -[7149] Forked 31376 -(31376) found -[7148] Forked 31377 -(31377) found -[7147] Forked 31378 -(31378) found -[7146] Forked 31379 -(31379) found -[7145] Forked 31380 -(31380) found -[7144] Forked 31381 -(31381) found -[7143] Forked 31382 -(31382) found -[7142] Forked 31383 -(31383) found -[7141] Forked 31384 -(31384) found -[7140] Forked 31385 -(31385) found -[7139] Forked 31386 -(31386) found -[7138] Forked 31387 -(31387) found -[7137] Forked 31388 -(31388) found -[7136] Forked 31389 -(31389) found -[7135] Forked 31390 -(31390) found -[7134] Forked 31391 -(31391) found -[7133] Forked 31392 -(31392) found -[7132] Forked 31393 -(31393) found -[7131] Forked 31394 -(31394) found -[7130] Forked 31395 -(31395) found -[7129] Forked 31396 -(31396) found -[7128] Forked 31397 -(31397) found -[7127] Forked 31398 -(31398) found -[7126] Forked 31399 -(31399) found -[7125] Forked 31400 -(31400) found -[7124] Forked 31401 -(31401) found -[7123] Forked 31402 -(31402) found -[7122] Forked 31403 -(31403) found -[7121] Forked 31404 -(31404) found -[7120] Forked 31405 -(31405) found -[7119] Forked 31406 -(31406) found -[7118] Forked 31407 -(31407) found -[7117] Forked 31408 -(31408) found -[7116] Forked 31409 -(31409) found -[7115] Forked 31410 -(31410) found -[7114] Forked 31411 -(31411) found -[7113] Forked 31412 -(31412) found -[7112] Forked 31413 -(31413) found -[7111] Forked 31414 -(31414) found -[7110] Forked 31415 -(31415) found -[7109] Forked 31416 -(31416) found -[7108] Forked 31417 -(31417) found -[7107] Forked 31418 -(31418) found -[7106] Forked 31419 -(31419) found -[7105] Forked 31420 -(31420) found -[7104] Forked 31421 -(31421) found -[7103] Forked 31422 -(31422) found -[7102] Forked 31423 -(31423) found -[7101] Forked 31424 -(31424) found -[7100] Forked 31425 -(31425) found -[7099] Forked 31426 -[7098] Forked 31427 -(31426) found -(31427) found -[7097] Forked 31428 -[7096] Forked 31429 -(31428) found -(31429) found -[7095] Forked 31430 -[7094] Forked 31431 -(31430) found -(31431) found -[7093] Forked 31432 -[7092] Forked 31433 -(31432) found -(31433) found -[7091] Forked 31434 -[7090] Forked 31435 -(31434) found -(31435) found -[7089] Forked 31436 -[7088] Forked 31437 -(31436) found -(31437) found -[7087] Forked 31438 -[7086] Forked 31439 -(31438) found -(31439) found -[7085] Forked 31440 -[7084] Forked 31441 -(31440) found -(31441) found -[7083] Forked 31442 -[7082] Forked 31443 -(31442) found -(31443) found -[7081] Forked 31444 -[7080] Forked 31445 -(31444) found -(31445) found -[7079] Forked 31446 -[7078] Forked 31447 -(31446) found -(31447) found -[7077] Forked 31448 -[7076] Forked 31449 -(31448) found -(31449) found -[7075] Forked 31450 -[7074] Forked 31451 -(31450) found -(31451) found -[7073] Forked 31452 -[7072] Forked 31453 -(31452) found -(31453) found -[7071] Forked 31454 -[7070] Forked 31455 -(31454) found -(31455) found -[7069] Forked 31456 -[7068] Forked 31457 -(31456) found -(31457) found -[7067] Forked 31458 -[7066] Forked 31459 -(31458) found -(31459) found -[7065] Forked 31460 -[7064] Forked 31461 -(31460) found -(31461) found -[7063] Forked 31462 -[7062] Forked 31463 -(31462) found -(31463) found -[7061] Forked 31464 -[7060] Forked 31465 -(31464) found -(31465) found -[7059] Forked 31466 -[7058] Forked 31467 -(31466) found -(31467) found -[7057] Forked 31468 -[7056] Forked 31469 -(31468) found -(31469) found -[7055] Forked 31470 -[7054] Forked 31471 -(31470) found -(31471) found -[7053] Forked 31472 -[7052] Forked 31473 -(31472) found -(31473) found -[7051] Forked 31474 -[7050] Forked 31475 -(31474) found -(31475) found -[7049] Forked 31476 -[7048] Forked 31477 -(31476) found -(31477) found -[7047] Forked 31478 -[7046] Forked 31479 -(31478) found -(31479) found -[7045] Forked 31480 -[7044] Forked 31481 -(31480) found -(31481) found -[7043] Forked 31482 -[7042] Forked 31483 -(31482) found -(31483) found -[7041] Forked 31484 -[7040] Forked 31485 -(31484) found -(31485) found -[7039] Forked 31486 -[7038] Forked 31487 -(31486) found -(31487) found -[7037] Forked 31488 -[7036] Forked 31489 -(31488) found -(31489) found -[7035] Forked 31490 -[7034] Forked 31491 -(31490) found -(31491) found -[7033] Forked 31492 -[7032] Forked 31493 -(31492) found -(31493) found -[7031] Forked 31494 -[7030] Forked 31495 -(31494) found -(31495) found -[7029] Forked 31496 -[7028] Forked 31497 -(31496) found -(31497) found -[7027] Forked 31498 -[7026] Forked 31499 -(31498) found -(31499) found -[7025] Forked 31500 -[7024] Forked 31501 -(31500) found -(31501) found -[7023] Forked 31502 -[7022] Forked 31503 -(31502) found -(31503) found -[7021] Forked 31504 -[7020] Forked 31505 -(31504) found -(31505) found -[7019] Forked 31506 -[7018] Forked 31507 -(31506) found -(31507) found -[7017] Forked 31508 -[7016] Forked 31509 -(31508) found -(31509) found -[7015] Forked 31510 -[7014] Forked 31511 -(31510) found -(31511) found -[7013] Forked 31512 -[7012] Forked 31513 -(31512) found -(31513) found -[7011] Forked 31514 -[7010] Forked 31515 -(31514) found -(31515) found -[7009] Forked 31516 -[7008] Forked 31517 -(31516) found -(31517) found -[7007] Forked 31518 -[7006] Forked 31519 -(31518) found -(31519) found -[7005] Forked 31520 -[7004] Forked 31521 -(31520) found -(31521) found -[7003] Forked 31522 -[7002] Forked 31523 -(31522) found -(31523) found -[7001] Forked 31524 -[7000] Forked 31525 -(31524) found -(31525) found -[6999] Forked 31526 -[6998] Forked 31527 -(31526) found -(31527) found -[6997] Forked 31528 -[6996] Forked 31529 -(31528) found -(31529) found -[6995] Forked 31530 -[6994] Forked 31531 -(31530) found -(31531) found -[6993] Forked 31532 -[6992] Forked 31533 -(31532) found -(31533) found -[6991] Forked 31534 -[6990] Forked 31535 -(31534) found -(31535) found -[6989] Forked 31536 -[6988] Forked 31537 -(31536) found -(31537) found -[6987] Forked 31538 -[6986] Forked 31539 -(31538) found -(31539) found -[6985] Forked 31540 -[6984] Forked 31541 -(31540) found -(31541) found -[6983] Forked 31542 -[6982] Forked 31543 -(31542) found -(31543) found -[6981] Forked 31544 -[6980] Forked 31545 -(31544) found -(31545) found -[6979] Forked 31546 -[6978] Forked 31547 -(31546) found -(31547) found -[6977] Forked 31548 -[6976] Forked 31549 -(31548) found -(31549) found -[6975] Forked 31550 -[6974] Forked 31551 -(31550) found -(31551) found -[6973] Forked 31552 -[6972] Forked 31553 -(31552) found -(31553) found -[6971] Forked 31554 -[6970] Forked 31555 -(31554) found -(31555) found -[6969] Forked 31556 -[6968] Forked 31557 -(31556) found -(31557) found -[6967] Forked 31558 -[6966] Forked 31559 -(31558) found -(31559) found -[6965] Forked 31560 -[6964] Forked 31561 -(31560) found -(31561) found -[6963] Forked 31562 -[6962] Forked 31563 -(31562) found -(31563) found -[6961] Forked 31564 -[6960] Forked 31565 -(31564) found -(31565) found -[6959] Forked 31566 -[6958] Forked 31567 -(31566) found -(31567) found -[6957] Forked 31568 -[6956] Forked 31569 -(31568) found -(31569) found -[6955] Forked 31570 -[6954] Forked 31571 -(31570) found -(31571) found -[6953] Forked 31572 -[6952] Forked 31573 -(31572) found -(31573) found -[6951] Forked 31574 -[6950] Forked 31575 -(31574) found -(31575) found -[6949] Forked 31576 -[6948] Forked 31577 -(31576) found -(31577) found -[6947] Forked 31578 -[6946] Forked 31579 -(31578) found -(31579) found -[6945] Forked 31580 -[6944] Forked 31581 -(31580) found -(31581) found -[6943] Forked 31582 -[6942] Forked 31583 -(31582) found -(31583) found -[6941] Forked 31584 -[6940] Forked 31585 -(31584) found -(31585) found -[6939] Forked 31586 -[6938] Forked 31587 -(31586) found -(31587) found -[6937] Forked 31588 -[6936] Forked 31589 -(31588) found -(31589) found -[6935] Forked 31590 -[6934] Forked 31591 -(31590) found -(31591) found -[6933] Forked 31592 -[6932] Forked 31593 -(31592) found -(31593) found -[6931] Forked 31594 -[6930] Forked 31595 -(31594) found -(31595) found -[6929] Forked 31596 -[6928] Forked 31597 -(31596) found -(31597) found -[6927] Forked 31598 -[6926] Forked 31599 -(31598) found -(31599) found -[6925] Forked 31600 -[6924] Forked 31601 -(31600) found -(31601) found -[6923] Forked 31602 -[6922] Forked 31603 -(31602) found -(31603) found -[6921] Forked 31604 -[6920] Forked 31605 -(31604) found -(31605) found -[6919] Forked 31606 -[6918] Forked 31607 -(31606) found -(31607) found -[6917] Forked 31608 -[6916] Forked 31609 -(31608) found -(31609) found -[6915] Forked 31610 -(31610) found -[6914] Forked 31611 -(31611) found -[6913] Forked 31612 -(31612) found -[6912] Forked 31613 -(31613) found -[6911] Forked 31614 -(31614) found -[6910] Forked 31615 -[6909] Forked 31616 -(31615) found -(31616) found -[6908] Forked 31617 -[6907] Forked 31618 -(31617) found -(31618) found -[6906] Forked 31619 -[6905] Forked 31620 -(31619) found -(31620) found -[6904] Forked 31621 -[6903] Forked 31622 -(31621) found -(31622) found -[6902] Forked 31623 -[6901] Forked 31624 -(31623) found -(31624) found -[6900] Forked 31625 -[6899] Forked 31626 -(31625) found -(31626) found -[6898] Forked 31627 -[6897] Forked 31628 -(31627) found -(31628) found -[6896] Forked 31629 -[6895] Forked 31630 -(31629) found -(31630) found -[6894] Forked 31631 -[6893] Forked 31632 -(31631) found -(31632) found -[6892] Forked 31633 -[6891] Forked 31634 -(31633) found -(31634) found -[6890] Forked 31635 -[6889] Forked 31636 -(31635) found -(31636) found -[6888] Forked 31637 -[6887] Forked 31638 -(31637) found -(31638) found -[6886] Forked 31639 -[6885] Forked 31640 -(31639) found -(31640) found -[6884] Forked 31641 -[6883] Forked 31642 -(31641) found -(31642) found -[6882] Forked 31643 -[6881] Forked 31644 -(31643) found -(31644) found -[6880] Forked 31645 -[6879] Forked 31646 -(31645) found -(31646) found -[6878] Forked 31647 -[6877] Forked 31648 -(31647) found -(31648) found -[6876] Forked 31649 -[6875] Forked 31650 -(31649) found -(31650) found -[6874] Forked 31651 -[6873] Forked 31652 -(31651) found -(31652) found -[6872] Forked 31653 -[6871] Forked 31654 -(31653) found -(31654) found -[6870] Forked 31655 -[6869] Forked 31656 -(31655) found -(31656) found -[6868] Forked 31657 -[6867] Forked 31658 -(31657) found -(31658) found -[6866] Forked 31659 -[6865] Forked 31660 -(31659) found -(31660) found -[6864] Forked 31661 -[6863] Forked 31662 -(31661) found -(31662) found -[6862] Forked 31663 -[6861] Forked 31664 -(31663) found -(31664) found -[6860] Forked 31665 -[6859] Forked 31666 -(31665) found -(31666) found -[6858] Forked 31667 -[6857] Forked 31668 -(31667) found -(31668) found -[6856] Forked 31669 -[6855] Forked 31670 -(31669) found -(31670) found -[6854] Forked 31671 -[6853] Forked 31672 -(31671) found -(31672) found -[6852] Forked 31673 -[6851] Forked 31674 -(31673) found -(31674) found -[6850] Forked 31675 -[6849] Forked 31676 -(31675) found -(31676) found -[6848] Forked 31677 -[6847] Forked 31678 -(31677) found -(31678) found -[6846] Forked 31679 -[6845] Forked 31680 -(31679) found -(31680) found -[6844] Forked 31681 -[6843] Forked 31682 -(31681) found -(31682) found -[6842] Forked 31683 -[6841] Forked 31684 -(31683) found -(31684) found -[6840] Forked 31685 -[6839] Forked 31686 -(31685) found -(31686) found -[6838] Forked 31687 -[6837] Forked 31688 -(31687) found -(31688) found -[6836] Forked 31689 -[6835] Forked 31690 -(31689) found -(31690) found -[6834] Forked 31691 -[6833] Forked 31692 -(31691) found -(31692) found -[6832] Forked 31693 -[6831] Forked 31694 -(31693) found -(31694) found -[6830] Forked 31695 -[6829] Forked 31696 -(31695) found -(31696) found -[6828] Forked 31697 -[6827] Forked 31698 -(31697) found -(31698) found -[6826] Forked 31699 -[6825] Forked 31700 -(31699) found -(31700) found -[6824] Forked 31701 -[6823] Forked 31702 -(31701) found -(31702) found -[6822] Forked 31703 -[6821] Forked 31704 -(31703) found -(31704) found -[6820] Forked 31705 -[6819] Forked 31706 -(31706) found -(31705) found -[6818] Forked 31707 -(31707) found -[6817] Forked 31708 -(31708) found -[6816] Forked 31709 -(31709) found -[6815] Forked 31710 -(31710) found -[6814] Forked 31711 -(31711) found -[6813] Forked 31712 -(31712) found -[6812] Forked 31713 -(31713) found -[6811] Forked 31714 -(31714) found -[6810] Forked 31715 -(31715) found -[6809] Forked 31716 -(31716) found -[6808] Forked 31717 -(31717) found -[6807] Forked 31718 -(31718) found -[6806] Forked 31719 -(31719) found -[6805] Forked 31720 -(31720) found -[6804] Forked 31721 -(31721) found -[6803] Forked 31722 -(31722) found -[6802] Forked 31723 -(31723) found -[6801] Forked 31724 -(31724) found -[6800] Forked 31725 -(31725) found -[6799] Forked 31726 -(31726) found -[6798] Forked 31727 -(31727) found -[6797] Forked 31728 -(31728) found -[6796] Forked 31729 -(31729) found -[6795] Forked 31730 -(31730) found -[6794] Forked 31731 -(31731) found -[6793] Forked 31732 -(31732) found -[6792] Forked 31733 -(31733) found -[6791] Forked 31734 -(31734) found -[6790] Forked 31735 -(31735) found -[6789] Forked 31736 -(31736) found -[6788] Forked 31737 -(31737) found -[6787] Forked 31738 -(31738) found -[6786] Forked 31739 -(31739) found -[6785] Forked 31740 -(31740) found -[6784] Forked 31741 -(31741) found -[6783] Forked 31742 -[6782] Forked 31743 -(31742) found -(31743) found -[6781] Forked 31744 -[6780] Forked 31745 -(31744) found -(31745) found -[6779] Forked 31746 -[6778] Forked 31747 -(31746) found -(31747) found -[6777] Forked 31748 -[6776] Forked 31749 -(31748) found -(31749) found -[6775] Forked 31750 -[6774] Forked 31751 -(31750) found -(31751) found -[6773] Forked 31752 -[6772] Forked 31753 -(31752) found -(31753) found -[6771] Forked 31754 -[6770] Forked 31755 -(31754) found -(31755) found -[6769] Forked 31756 -[6768] Forked 31757 -(31756) found -(31757) found -[6767] Forked 31758 -[6766] Forked 31759 -(31758) found -(31759) found -[6765] Forked 31760 -[6764] Forked 31761 -(31760) found -(31761) found -[6763] Forked 31762 -[6762] Forked 31763 -(31762) found -(31763) found -[6761] Forked 31764 -[6760] Forked 31765 -(31764) found -(31765) found -[6759] Forked 31766 -[6758] Forked 31767 -(31766) found -(31767) found -[6757] Forked 31768 -[6756] Forked 31769 -(31768) found -(31769) found -[6755] Forked 31770 -[6754] Forked 31771 -(31770) found -(31771) found -[6753] Forked 31772 -[6752] Forked 31773 -(31772) found -(31773) found -[6751] Forked 31774 -[6750] Forked 31775 -(31774) found -(31775) found -[6749] Forked 31776 -[6748] Forked 31777 -(31776) found -(31777) found -[6747] Forked 31778 -[6746] Forked 31779 -(31778) found -(31779) found -[6745] Forked 31780 -[6744] Forked 31781 -(31780) found -(31781) found -[6743] Forked 31782 -[6742] Forked 31783 -(31782) found -(31783) found -[6741] Forked 31784 -[6740] Forked 31785 -(31784) found -(31785) found -[6739] Forked 31786 -[6738] Forked 31787 -(31786) found -(31787) found -[6737] Forked 31788 -[6736] Forked 31789 -(31788) found -(31789) found -[6735] Forked 31790 -[6734] Forked 31791 -(31790) found -(31791) found -[6733] Forked 31792 -[6732] Forked 31793 -(31792) found -(31793) found -[6731] Forked 31794 -[6730] Forked 31795 -(31794) found -(31795) found -[6729] Forked 31796 -[6728] Forked 31797 -(31796) found -(31797) found -[6727] Forked 31798 -[6726] Forked 31799 -(31798) found -(31799) found -[6725] Forked 31800 -[6724] Forked 31801 -(31800) found -(31801) found -[6723] Forked 31802 -[6722] Forked 31803 -(31802) found -(31803) found -[6721] Forked 31804 -[6720] Forked 31805 -(31804) found -(31805) found -[6719] Forked 31806 -[6718] Forked 31807 -(31806) found -(31807) found -[6717] Forked 31808 -[6716] Forked 31809 -(31808) found -(31809) found -[6715] Forked 31810 -[6714] Forked 31811 -(31810) found -(31811) found -[6713] Forked 31812 -[6712] Forked 31813 -(31812) found -(31813) found -[6711] Forked 31814 -[6710] Forked 31815 -(31814) found -(31815) found -[6709] Forked 31816 -[6708] Forked 31817 -(31816) found -(31817) found -[6707] Forked 31818 -[6706] Forked 31819 -(31818) found -(31819) found -[6705] Forked 31820 -[6704] Forked 31821 -(31820) found -(31821) found -[6703] Forked 31822 -[6702] Forked 31823 -(31822) found -(31823) found -[6701] Forked 31824 -[6700] Forked 31825 -(31824) found -(31825) found -[6699] Forked 31826 -[6698] Forked 31827 -(31826) found -(31827) found -[6697] Forked 31828 -[6696] Forked 31829 -(31828) found -(31829) found -[6695] Forked 31830 -[6694] Forked 31831 -(31830) found -(31831) found -[6693] Forked 31832 -[6692] Forked 31833 -(31832) found -(31833) found -[6691] Forked 31834 -[6690] Forked 31835 -(31834) found -(31835) found -[6689] Forked 31836 -[6688] Forked 31837 -(31836) found -(31837) found -[6687] Forked 31838 -[6686] Forked 31839 -(31838) found -(31839) found -[6685] Forked 31840 -[6684] Forked 31842 -(31840) found -(31842) found -[6683] Forked 31843 -(31843) found -[6682] Forked 31844 -(31844) found -[6681] Forked 31845 -(31845) found -[6680] Forked 31846 -(31846) found -[6679] Forked 31847 -(31847) found -[6678] Forked 31848 -(31848) found -[6677] Forked 31849 -(31849) found -[6676] Forked 31850 -(31850) found -[6675] Forked 31851 -(31851) found -[6674] Forked 31852 -(31852) found -[6673] Forked 31853 -(31853) found -[6672] Forked 31854 -(31854) found -[6671] Forked 31855 -(31855) found -[6670] Forked 31856 -(31856) found -[6669] Forked 31857 -(31857) found -[6668] Forked 31858 -(31858) found -[6667] Forked 31859 -(31859) found -[6666] Forked 31860 -(31860) found -[6665] Forked 31861 -(31861) found -[6664] Forked 31862 -(31862) found -[6663] Forked 31863 -(31863) found -[6662] Forked 31864 -(31864) found -[6661] Forked 31865 -(31865) found -[6660] Forked 31866 -(31866) found -[6659] Forked 31867 -(31867) found -[6658] Forked 31868 -(31868) found -[6657] Forked 31869 -(31869) found -[6656] Forked 31870 -(31870) found -[6655] Forked 31871 -(31871) found -[6654] Forked 31872 -(31872) found -[6653] Forked 31873 -(31873) found -[6652] Forked 31874 -(31874) found -[6651] Forked 31875 -(31875) found -[6650] Forked 31876 -(31876) found -[6649] Forked 31877 -(31877) found -[6648] Forked 31878 -(31878) found -[6647] Forked 31879 -(31879) found -[6646] Forked 31880 -(31880) found -[6645] Forked 31881 -(31881) found -[6644] Forked 31882 -(31882) found -[6643] Forked 31883 -(31883) found -[6642] Forked 31884 -(31884) found -[6641] Forked 31885 -(31885) found -[6640] Forked 31886 -(31886) found -[6639] Forked 31887 -(31887) found -[6638] Forked 31888 -(31888) found -[6637] Forked 31889 -(31889) found -[6636] Forked 31890 -(31890) found -[6635] Forked 31891 -(31891) found -[6634] Forked 31892 -(31892) found -[6633] Forked 31893 -(31893) found -[6632] Forked 31894 -(31894) found -[6631] Forked 31895 -(31895) found -[6630] Forked 31896 -(31896) found -[6629] Forked 31897 -(31897) found -[6628] Forked 31898 -(31898) found -[6627] Forked 31899 -(31899) found -[6626] Forked 31900 -(31900) found -[6625] Forked 31901 -(31901) found -[6624] Forked 31902 -(31902) found -[6623] Forked 31903 -(31903) found -[6622] Forked 31904 -[6621] Forked 31905 -(31904) found -(31905) found -[6620] Forked 31906 -[6619] Forked 31907 -(31906) found -(31907) found -[6618] Forked 31908 -[6617] Forked 31909 -(31908) found -(31909) found -[6616] Forked 31910 -[6615] Forked 31911 -(31910) found -(31911) found -[6614] Forked 31912 -[6613] Forked 31913 -(31912) found -(31913) found -[6612] Forked 31914 -[6611] Forked 31915 -(31914) found -(31915) found -[6610] Forked 31916 -[6609] Forked 31917 -(31916) found -(31917) found -[6608] Forked 31918 -[6607] Forked 31919 -(31918) found -(31919) found -[6606] Forked 31920 -[6605] Forked 31921 -(31920) found -(31921) found -[6604] Forked 31922 -[6603] Forked 31923 -(31922) found -(31923) found -[6602] Forked 31924 -[6601] Forked 31925 -(31924) found -(31925) found -[6600] Forked 31926 -[6599] Forked 31927 -(31926) found -(31927) found -[6598] Forked 31928 -[6597] Forked 31929 -(31928) found -(31929) found -[6596] Forked 31930 -[6595] Forked 31931 -(31930) found -(31931) found -[6594] Forked 31932 -[6593] Forked 31933 -(31932) found -(31933) found -[6592] Forked 31934 -[6591] Forked 31935 -(31934) found -(31935) found -[6590] Forked 31936 -[6589] Forked 31937 -(31936) found -(31937) found -[6588] Forked 31938 -[6587] Forked 31939 -(31938) found -(31939) found -[6586] Forked 31940 -[6585] Forked 31941 -(31940) found -(31941) found -[6584] Forked 31942 -[6583] Forked 31943 -(31942) found -(31943) found -[6582] Forked 31944 -[6581] Forked 31945 -(31944) found -(31945) found -[6580] Forked 31946 -[6579] Forked 31947 -(31946) found -(31947) found -[6578] Forked 31948 -[6577] Forked 31949 -(31948) found -(31949) found -[6576] Forked 31950 -(31950) found -[6575] Forked 31951 -(31951) found -[6574] Forked 31952 -(31952) found -[6573] Forked 31953 -(31953) found -[6572] Forked 31954 -(31954) found -[6571] Forked 31955 -(31955) found -[6570] Forked 31956 -(31956) found -[6569] Forked 31957 -(31957) found -[6568] Forked 31958 -(31958) found -[6567] Forked 31959 -(31959) found -[6566] Forked 31960 -(31960) found -[6565] Forked 31961 -(31961) found -[6564] Forked 31962 -(31962) found -[6563] Forked 31963 -(31963) found -[6562] Forked 31964 -(31964) found -[6561] Forked 31965 -(31965) found -[6560] Forked 31966 -(31966) found -[6559] Forked 31967 -(31967) found -[6558] Forked 31968 -(31968) found -[6557] Forked 31969 -(31969) found -[6556] Forked 31970 -(31970) found -[6555] Forked 31971 -(31971) found -[6554] Forked 31972 -(31972) found -[6553] Forked 31973 -(31973) found -[6552] Forked 31974 -(31974) found -[6551] Forked 31975 -(31975) found -[6550] Forked 31976 -(31976) found -[6549] Forked 31977 -(31977) found -[6548] Forked 31978 -(31978) found -[6547] Forked 31979 -(31979) found -[6546] Forked 31980 -(31980) found -[6545] Forked 31981 -(31981) found -[6544] Forked 31982 -(31982) found -[6543] Forked 31983 -(31983) found -[6542] Forked 31984 -(31984) found -[6541] Forked 31985 -[6540] Forked 31986 -(31985) found -(31986) found -[6539] Forked 31987 -[6538] Forked 31988 -(31987) found -(31988) found -[6537] Forked 31989 -[6536] Forked 31990 -(31989) found -(31990) found -[6535] Forked 31991 -[6534] Forked 31992 -(31991) found -(31992) found -[6533] Forked 31993 -[6532] Forked 31994 -(31993) found -(31994) found -[6531] Forked 31995 -[6530] Forked 31996 -(31995) found -(31996) found -[6529] Forked 31997 -[6528] Forked 31998 -(31997) found -(31998) found -[6527] Forked 31999 -[6526] Forked 32000 -(31999) found -(32000) found -[6525] Forked 32001 -[6524] Forked 32002 -(32001) found -(32002) found -[6523] Forked 32003 -[6522] Forked 32004 -(32003) found -(32004) found -[6521] Forked 32005 -[6520] Forked 32006 -(32005) found -(32006) found -[6519] Forked 32007 -[6518] Forked 32008 -(32007) found -(32008) found -[6517] Forked 32009 -[6516] Forked 32010 -(32009) found -(32010) found -[6515] Forked 32011 -[6514] Forked 32012 -(32011) found -(32012) found -[6513] Forked 32013 -[6512] Forked 32014 -(32013) found -(32014) found -[6511] Forked 32015 -[6510] Forked 32016 -(32015) found -(32016) found -[6509] Forked 32017 -[6508] Forked 32018 -(32017) found -(32018) found -[6507] Forked 32019 -[6506] Forked 32020 -(32019) found -(32020) found -[6505] Forked 32021 -[6504] Forked 32022 -(32021) found -(32022) found -[6503] Forked 32023 -[6502] Forked 32024 -(32023) found -(32024) found -[6501] Forked 32025 -[6500] Forked 32026 -(32025) found -(32026) found -[6499] Forked 32027 -[6498] Forked 32028 -(32027) found -(32028) found -[6497] Forked 32029 -[6496] Forked 32030 -(32029) found -(32030) found -[6495] Forked 32031 -[6494] Forked 32032 -(32031) found -(32032) found -[6493] Forked 32033 -[6492] Forked 32034 -(32033) found -(32034) found -[6491] Forked 32035 -[6490] Forked 32036 -(32035) found -(32036) found -[6489] Forked 32037 -[6488] Forked 32038 -(32037) found -(32038) found -[6487] Forked 32039 -[6486] Forked 32040 -(32039) found -(32040) found -[6485] Forked 32041 -[6484] Forked 32042 -(32041) found -(32042) found -[6483] Forked 32043 -[6482] Forked 32044 -(32043) found -(32044) found -[6481] Forked 32045 -[6480] Forked 32046 -(32045) found -(32046) found -[6479] Forked 32047 -[6478] Forked 32048 -(32047) found -(32048) found -[6477] Forked 32049 -[6476] Forked 32050 -(32049) found -(32050) found -[6475] Forked 32051 -[6474] Forked 32052 -(32051) found -(32052) found -[6473] Forked 32053 -[6472] Forked 32054 -(32053) found -(32054) found -[6471] Forked 32055 -[6470] Forked 32056 -(32055) found -(32056) found -[6469] Forked 32057 -[6468] Forked 32058 -(32057) found -(32058) found -[6467] Forked 32059 -[6466] Forked 32060 -(32059) found -(32060) found -[6465] Forked 32061 -[6464] Forked 32062 -(32061) found -(32062) found -[6463] Forked 32063 -[6462] Forked 32064 -(32063) found -(32064) found -[6461] Forked 32065 -[6460] Forked 32066 -(32065) found -(32066) found -[6459] Forked 32067 -[6458] Forked 32068 -(32067) found -(32068) found -[6457] Forked 32069 -[6456] Forked 32070 -(32069) found -(32070) found -[6455] Forked 32071 -[6454] Forked 32072 -(32071) found -(32072) found -[6453] Forked 32073 -[6452] Forked 32074 -(32073) found -(32074) found -[6451] Forked 32075 -[6450] Forked 32076 -(32075) found -(32076) found -[6449] Forked 32077 -[6448] Forked 32078 -(32077) found -(32078) found -[6447] Forked 32079 -[6446] Forked 32080 -(32079) found -(32080) found -[6445] Forked 32081 -[6444] Forked 32082 -(32081) found -(32082) found -[6443] Forked 32083 -[6442] Forked 32084 -(32083) found -(32084) found -[6441] Forked 32085 -[6440] Forked 32086 -(32085) found -(32086) found -[6439] Forked 32087 -[6438] Forked 32088 -(32087) found -(32088) found -[6437] Forked 32089 -[6436] Forked 32090 -(32089) found -(32090) found -[6435] Forked 32091 -[6434] Forked 32092 -(32091) found -(32092) found -[6433] Forked 32093 -[6432] Forked 32094 -(32093) found -(32094) found -[6431] Forked 32095 -[6430] Forked 32096 -(32095) found -(32096) found -[6429] Forked 32097 -[6428] Forked 32098 -(32097) found -(32098) found -[6427] Forked 32099 -[6426] Forked 32100 -(32099) found -(32100) found -[6425] Forked 32101 -[6424] Forked 32102 -(32101) found -(32102) found -[6423] Forked 32103 -[6422] Forked 32104 -(32103) found -(32104) found -[6421] Forked 32105 -[6420] Forked 32106 -(32105) found -(32106) found -[6419] Forked 32107 -[6418] Forked 32108 -(32107) found -(32108) found -[6417] Forked 32109 -[6416] Forked 32110 -(32109) found -(32110) found -[6415] Forked 32111 -[6414] Forked 32112 -(32111) found -(32112) found -[6413] Forked 32113 -[6412] Forked 32115 -(32113) found -(32115) found -[6411] Forked 32116 -(32116) found -[6410] Forked 32117 -[6409] Forked 32118 -(32117) found -(32118) found -[6408] Forked 32119 -[6407] Forked 32120 -(32119) found -(32120) found -[6406] Forked 32121 -[6405] Forked 32122 -(32121) found -(32122) found -[6404] Forked 32123 -[6403] Forked 32124 -(32123) found -(32124) found -[6402] Forked 32125 -[6401] Forked 32126 -(32125) found -(32126) found -[6400] Forked 32127 -[6399] Forked 32128 -(32127) found -(32128) found -[6398] Forked 32129 -[6397] Forked 32130 -(32129) found -(32130) found -[6396] Forked 32131 -[6395] Forked 32132 -(32131) found -(32132) found -[6394] Forked 32133 -[6393] Forked 32134 -(32133) found -(32134) found -[6392] Forked 32135 -[6391] Forked 32136 -(32135) found -(32136) found -[6390] Forked 32137 -[6389] Forked 32138 -(32137) found -(32138) found -[6388] Forked 32139 -[6387] Forked 32140 -(32139) found -(32140) found -[6386] Forked 32141 -[6385] Forked 32142 -(32141) found -(32142) found -[6384] Forked 32143 -[6383] Forked 32144 -(32143) found -(32144) found -[6382] Forked 32145 -[6381] Forked 32146 -(32145) found -(32146) found -[6380] Forked 32147 -[6379] Forked 32148 -(32147) found -(32148) found -[6378] Forked 32149 -[6377] Forked 32150 -(32149) found -(32150) found -[6376] Forked 32151 -[6375] Forked 32152 -(32151) found -(32152) found -[6374] Forked 32153 -[6373] Forked 32154 -(32153) found -(32154) found -[6372] Forked 32155 -[6371] Forked 32156 -(32155) found -(32156) found -[6370] Forked 32157 -[6369] Forked 32158 -(32157) found -(32158) found -[6368] Forked 32159 -[6367] Forked 32160 -(32159) found -(32160) found -[6366] Forked 32161 -[6365] Forked 32162 -(32161) found -(32162) found -[6364] Forked 32163 -[6363] Forked 32164 -(32163) found -(32164) found -[6362] Forked 32165 -[6361] Forked 32166 -(32165) found -(32166) found -[6360] Forked 32167 -[6359] Forked 32168 -(32167) found -(32168) found -[6358] Forked 32169 -(32169) found -[6357] Forked 32170 -(32170) found -[6356] Forked 32171 -(32171) found -[6355] Forked 32172 -(32172) found -[6354] Forked 32173 -(32173) found -[6353] Forked 32174 -(32174) found -[6352] Forked 32175 -(32175) found -[6351] Forked 32176 -(32176) found -[6350] Forked 32177 -(32177) found -[6349] Forked 32178 -(32178) found -[6348] Forked 32179 -(32179) found -[6347] Forked 32180 -(32180) found -[6346] Forked 32181 -(32181) found -[6345] Forked 32182 -(32182) found -[6344] Forked 32183 -(32183) found -[6343] Forked 32184 -(32184) found -[6342] Forked 32185 -(32185) found -[6341] Forked 32186 -(32186) found -[6340] Forked 32187 -(32187) found -[6339] Forked 32188 -(32188) found -[6338] Forked 32189 -(32189) found -[6337] Forked 32190 -(32190) found -[6336] Forked 32191 -(32191) found -[6335] Forked 32192 -(32192) found -[6334] Forked 32193 -(32193) found -[6333] Forked 32194 -(32194) found -[6332] Forked 32195 -(32195) found -[6331] Forked 32196 -(32196) found -[6330] Forked 32197 -(32197) found -[6329] Forked 32198 -(32198) found -[6328] Forked 32199 -(32199) found -[6327] Forked 32200 -(32200) found -[6326] Forked 32201 -(32201) found -[6325] Forked 32202 -(32202) found -[6324] Forked 32203 -(32203) found -[6323] Forked 32204 -[6322] Forked 32205 -(32204) found -(32205) found -[6321] Forked 32206 -[6320] Forked 32207 -(32206) found -(32207) found -[6319] Forked 32208 -[6318] Forked 32209 -(32208) found -(32209) found -[6317] Forked 32210 -[6316] Forked 32211 -(32210) found -(32211) found -[6315] Forked 32212 -[6314] Forked 32213 -(32212) found -(32213) found -[6313] Forked 32214 -[6312] Forked 32215 -(32214) found -(32215) found -[6311] Forked 32216 -[6310] Forked 32217 -(32216) found -(32217) found -[6309] Forked 32218 -[6308] Forked 32219 -(32218) found -(32219) found -[6307] Forked 32220 -[6306] Forked 32221 -(32220) found -(32221) found -[6305] Forked 32222 -[6304] Forked 32223 -(32222) found -(32223) found -[6303] Forked 32224 -[6302] Forked 32225 -(32224) found -(32225) found -[6301] Forked 32226 -[6300] Forked 32227 -(32226) found -(32227) found -[6299] Forked 32228 -[6298] Forked 32229 -(32228) found -(32229) found -[6297] Forked 32230 -[6296] Forked 32231 -(32230) found -(32231) found -[6295] Forked 32232 -[6294] Forked 32233 -(32232) found -(32233) found -[6293] Forked 32234 -[6292] Forked 32235 -(32234) found -(32235) found -[6291] Forked 32236 -[6290] Forked 32237 -(32236) found -(32237) found -[6289] Forked 32238 -[6288] Forked 32239 -(32238) found -(32239) found -[6287] Forked 32240 -[6286] Forked 32241 -(32240) found -(32241) found -[6285] Forked 32242 -[6284] Forked 32243 -(32242) found -(32243) found -[6283] Forked 32244 -[6282] Forked 32245 -(32244) found -(32245) found -[6281] Forked 32246 -[6280] Forked 32247 -(32246) found -(32247) found -[6279] Forked 32248 -[6278] Forked 32249 -(32248) found -(32249) found -[6277] Forked 32250 -(32250) found -[6276] Forked 32251 -(32251) found -[6275] Forked 32252 -(32252) found -[6274] Forked 32253 -(32253) found -[6273] Forked 32254 -(32254) found -[6272] Forked 32255 -(32255) found -[6271] Forked 32256 -(32256) found -[6270] Forked 32257 -(32257) found -[6269] Forked 32258 -(32258) found -[6268] Forked 32259 -(32259) found -[6267] Forked 32260 -(32260) found -[6266] Forked 32261 -(32261) found -[6265] Forked 32262 -(32262) found -[6264] Forked 32263 -(32263) found -[6263] Forked 32264 -(32264) found -[6262] Forked 32265 -(32265) found -[6261] Forked 32266 -(32266) found -[6260] Forked 32267 -(32267) found -[6259] Forked 32268 -(32268) found -[6258] Forked 32269 -(32269) found -[6257] Forked 32270 -(32270) found -[6256] Forked 32271 -(32271) found -[6255] Forked 32272 -(32272) found -[6254] Forked 32273 -(32273) found -[6253] Forked 32274 -(32274) found -[6252] Forked 32275 -[6251] Forked 32276 -(32275) found -(32276) found -[6250] Forked 32277 -[6249] Forked 32278 -(32277) found -(32278) found -[6248] Forked 32279 -[6247] Forked 32280 -(32279) found -(32280) found -[6246] Forked 32281 -[6245] Forked 32282 -(32281) found -(32282) found -[6244] Forked 32283 -[6243] Forked 32284 -(32283) found -(32284) found -[6242] Forked 32285 -[6241] Forked 32286 -(32285) found -(32286) found -[6240] Forked 32287 -[6239] Forked 32288 -(32287) found -(32288) found -[6238] Forked 32289 -[6237] Forked 32290 -(32289) found -(32290) found -[6236] Forked 32291 -[6235] Forked 32292 -(32291) found -(32292) found -[6234] Forked 32293 -[6233] Forked 32294 -(32293) found -(32294) found -[6232] Forked 32295 -[6231] Forked 32296 -(32295) found -(32296) found -[6230] Forked 32297 -[6229] Forked 32298 -(32297) found -(32298) found -[6228] Forked 32299 -[6227] Forked 32300 -(32299) found -(32300) found -[6226] Forked 32301 -[6225] Forked 32302 -(32301) found -(32302) found -[6224] Forked 32303 -[6223] Forked 32304 -(32303) found -(32304) found -[6222] Forked 32305 -[6221] Forked 32306 -(32305) found -(32306) found -[6220] Forked 32307 -[6219] Forked 32308 -(32307) found -(32308) found -[6218] Forked 32309 -[6217] Forked 32310 -(32309) found -(32310) found -[6216] Forked 32311 -[6215] Forked 32312 -(32311) found -(32312) found -[6214] Forked 32313 -[6213] Forked 32314 -(32313) found -(32314) found -[6212] Forked 32315 -[6211] Forked 32316 -(32315) found -(32316) found -[6210] Forked 32317 -[6209] Forked 32318 -(32317) found -(32318) found -[6208] Forked 32319 -[6207] Forked 32320 -(32319) found -(32320) found -[6206] Forked 32321 -(32321) found -[6205] Forked 32322 -(32322) found -[6204] Forked 32323 -(32323) found -[6203] Forked 32324 -(32324) found -[6202] Forked 32325 -(32325) found -[6201] Forked 32326 -(32326) found -[6200] Forked 32327 -(32327) found -[6199] Forked 32328 -(32328) found -[6198] Forked 32329 -(32329) found -[6197] Forked 32330 -(32330) found -[6196] Forked 32331 -(32331) found -[6195] Forked 32332 -(32332) found -[6194] Forked 32333 -(32333) found -[6193] Forked 32334 -(32334) found -[6192] Forked 32335 -(32335) found -[6191] Forked 32336 -(32336) found -[6190] Forked 32337 -(32337) found -[6189] Forked 32338 -(32338) found -[6188] Forked 32339 -(32339) found -[6187] Forked 32340 -(32340) found -[6186] Forked 32341 -(32341) found -[6185] Forked 32342 -(32342) found -[6184] Forked 32343 -(32343) found -[6183] Forked 32344 -(32344) found -[6182] Forked 32345 -(32345) found -[6181] Forked 32346 -(32346) found -[6180] Forked 32347 -(32347) found -[6179] Forked 32348 -(32348) found -[6178] Forked 32349 -(32349) found -[6177] Forked 32350 -(32350) found -[6176] Forked 32351 -(32351) found -[6175] Forked 32352 -(32352) found -[6174] Forked 32353 -(32353) found -[6173] Forked 32354 -(32354) found -[6172] Forked 32355 -(32355) found -[6171] Forked 32356 -[6170] Forked 32357 -(32356) found -(32357) found -[6169] Forked 32358 -[6168] Forked 32359 -(32358) found -(32359) found -[6167] Forked 32360 -[6166] Forked 32361 -(32360) found -(32361) found -[6165] Forked 32362 -[6164] Forked 32363 -(32362) found -(32363) found -[6163] Forked 32364 -[6162] Forked 32365 -(32364) found -(32365) found -[6161] Forked 32366 -[6160] Forked 32367 -(32366) found -(32367) found -[6159] Forked 32368 -[6158] Forked 32369 -(32368) found -(32369) found -[6157] Forked 32370 -[6156] Forked 32371 -(32370) found -(32371) found -[6155] Forked 32372 -[6154] Forked 32373 -(32372) found -(32373) found -[6153] Forked 32374 -[6152] Forked 32375 -(32374) found -(32375) found -[6151] Forked 32376 -[6150] Forked 32377 -(32376) found -(32377) found -[6149] Forked 32378 -[6148] Forked 32379 -(32378) found -(32379) found -[6147] Forked 32380 -[6146] Forked 32381 -(32380) found -(32381) found -[6145] Forked 32382 -[6144] Forked 32383 -(32382) found -(32383) found -[6143] Forked 32384 -[6142] Forked 32385 -(32384) found -(32385) found -[6141] Forked 32386 -[6140] Forked 32387 -(32386) found -(32387) found -[6139] Forked 32388 -[6138] Forked 32389 -(32388) found -(32389) found -[6137] Forked 32390 -[6136] Forked 32391 -(32390) found -(32391) found -[6135] Forked 32392 -[6134] Forked 32393 -(32392) found -(32393) found -[6133] Forked 32394 -[6132] Forked 32396 -(32394) found -(32396) found -[6131] Forked 32397 -(32397) found -[6130] Forked 32398 -(32398) found -[6129] Forked 32399 -(32399) found -[6128] Forked 32400 -(32400) found -[6127] Forked 32401 -(32401) found -[6126] Forked 32402 -(32402) found -[6125] Forked 32403 -(32403) found -[6124] Forked 32404 -(32404) found -[6123] Forked 32405 -(32405) found -[6122] Forked 32406 -(32406) found -[6121] Forked 32407 -(32407) found -[6120] Forked 32408 -(32408) found -[6119] Forked 32409 -(32409) found -[6118] Forked 32410 -(32410) found -[6117] Forked 32411 -(32411) found -[6116] Forked 32412 -(32412) found -[6115] Forked 32413 -(32413) found -[6114] Forked 32414 -(32414) found -[6113] Forked 32415 -(32415) found -[6112] Forked 32416 -(32416) found -[6111] Forked 32417 -(32417) found -[6110] Forked 32418 -(32418) found -[6109] Forked 32419 -(32419) found -[6108] Forked 32420 -(32420) found -[6107] Forked 32421 -(32421) found -[6106] Forked 32422 -(32422) found -[6105] Forked 32423 -(32423) found -[6104] Forked 32424 -(32424) found -[6103] Forked 32425 -(32425) found -[6102] Forked 32426 -(32426) found -[6101] Forked 32427 -(32427) found -[6100] Forked 32428 -(32428) found -[6099] Forked 32429 -(32429) found -[6098] Forked 32430 -(32430) found -[6097] Forked 32431 -(32431) found -[6096] Forked 32432 -(32432) found -[6095] Forked 32433 -(32433) found -[6094] Forked 32434 -(32434) found -[6093] Forked 32435 -(32435) found -[6092] Forked 32436 -[6091] Forked 32437 -(32436) found -(32437) found -[6090] Forked 32438 -[6089] Forked 32439 -(32438) found -(32439) found -[6088] Forked 32440 -[6087] Forked 32441 -(32440) found -(32441) found -[6086] Forked 32442 -[6085] Forked 32443 -(32442) found -(32443) found -[6084] Forked 32444 -[6083] Forked 32445 -(32444) found -(32445) found -[6082] Forked 32446 -[6081] Forked 32447 -(32446) found -(32447) found -[6080] Forked 32448 -[6079] Forked 32449 -(32448) found -(32449) found -[6078] Forked 32450 -[6077] Forked 32452 -(32450) found -(32452) found -[6076] Forked 32453 -(32453) found -[6075] Forked 32454 -(32454) found -[6074] Forked 32455 -(32455) found -[6073] Forked 32456 -(32456) found -[6072] Forked 32457 -(32457) found -[6071] Forked 32458 -(32458) found -[6070] Forked 32459 -(32459) found -[6069] Forked 32460 -(32460) found -[6068] Forked 32461 -(32461) found -[6067] Forked 32462 -(32462) found -[6066] Forked 32463 -(32463) found -[6065] Forked 32464 -(32464) found -[6064] Forked 32465 -(32465) found -[6063] Forked 32466 -(32466) found -[6062] Forked 32467 -(32467) found -[6061] Forked 32468 -(32468) found -[6060] Forked 32469 -(32469) found -[6059] Forked 32470 -(32470) found -[6058] Forked 32471 -(32471) found -[6057] Forked 32472 -(32472) found -[6056] Forked 32473 -(32473) found -[6055] Forked 32474 -(32474) found -[6054] Forked 32475 -(32475) found -[6053] Forked 32476 -(32476) found -[6052] Forked 32477 -(32477) found -[6051] Forked 32478 -(32478) found -[6050] Forked 32479 -(32479) found -[6049] Forked 32480 -(32480) found -[6048] Forked 32481 -(32481) found -[6047] Forked 32482 -(32482) found -[6046] Forked 32483 -(32483) found -[6045] Forked 32484 -(32484) found -[6044] Forked 32485 -(32485) found -[6043] Forked 32486 -(32486) found -[6042] Forked 32487 -(32487) found -[6041] Forked 32488 -(32488) found -[6040] Forked 32489 -(32489) found -[6039] Forked 32490 -(32490) found -[6038] Forked 32491 -(32491) found -[6037] Forked 32492 -(32492) found -[6036] Forked 32493 -(32493) found -[6035] Forked 32494 -(32494) found -[6034] Forked 32495 -(32495) found -[6033] Forked 32496 -(32496) found -[6032] Forked 32497 -(32497) found -[6031] Forked 32498 -(32498) found -[6030] Forked 32499 -(32499) found -[6029] Forked 32500 -(32500) found -[6028] Forked 32501 -(32501) found -[6027] Forked 32502 -(32502) found -[6026] Forked 32503 -(32503) found -[6025] Forked 32504 -(32504) found -[6024] Forked 32505 -(32505) found -[6023] Forked 32506 -(32506) found -[6022] Forked 32507 -(32507) found -[6021] Forked 32508 -(32508) found -[6020] Forked 32509 -(32509) found -[6019] Forked 32510 -(32510) found -[6018] Forked 32511 -[6017] Forked 32512 -(32511) found -(32512) found -[6016] Forked 32513 -[6015] Forked 32514 -(32513) found -(32514) found -[6014] Forked 32515 -[6013] Forked 32516 -(32515) found -(32516) found -[6012] Forked 32517 -[6011] Forked 32518 -(32517) found -(32518) found -[6010] Forked 32519 -[6009] Forked 32520 -(32519) found -(32520) found -[6008] Forked 32521 -[6007] Forked 32522 -(32521) found -(32522) found -[6006] Forked 32523 -[6005] Forked 32524 -(32523) found -(32524) found -[6004] Forked 32525 -[6003] Forked 32526 -(32525) found -(32526) found -[6002] Forked 32527 -[6001] Forked 32528 -(32527) found -(32528) found -[6000] Forked 32529 -[5999] Forked 32530 -(32529) found -(32530) found -[5998] Forked 32531 -[5997] Forked 32532 -(32531) found -(32532) found -[5996] Forked 32533 -[5995] Forked 32534 -(32533) found -(32534) found -[5994] Forked 32535 -[5993] Forked 32536 -(32535) found -(32536) found -[5992] Forked 32537 -[5991] Forked 32538 -(32537) found -(32538) found -[5990] Forked 32539 -[5989] Forked 32540 -(32539) found -(32540) found -[5988] Forked 32541 -[5987] Forked 32542 -(32541) found -(32542) found -[5986] Forked 32543 -[5985] Forked 32544 -(32543) found -(32544) found -[5984] Forked 32545 -[5983] Forked 32546 -(32545) found -(32546) found -[5982] Forked 32547 -[5981] Forked 32548 -(32547) found -(32548) found -[5980] Forked 32549 -[5979] Forked 32550 -(32549) found -(32550) found -[5978] Forked 32551 -[5977] Forked 32552 -(32551) found -(32552) found -[5976] Forked 32553 -[5975] Forked 32554 -(32553) found -(32554) found -[5974] Forked 32555 -[5973] Forked 32556 -(32555) found -(32556) found -[5972] Forked 32557 -[5971] Forked 32558 -(32557) found -(32558) found -[5970] Forked 32559 -[5969] Forked 32560 -(32559) found -(32560) found -[5968] Forked 32561 -[5967] Forked 32562 -(32561) found -(32562) found -[5966] Forked 32563 -[5965] Forked 32564 -(32563) found -(32564) found -[5964] Forked 32565 -[5963] Forked 32566 -(32565) found -(32566) found -[5962] Forked 32567 -[5961] Forked 32568 -(32567) found -(32568) found -[5960] Forked 32569 -[5959] Forked 32570 -(32569) found -(32570) found -[5958] Forked 32571 -[5957] Forked 32572 -(32571) found -(32572) found -[5956] Forked 32573 -[5955] Forked 32574 -(32573) found -(32574) found -[5954] Forked 32575 -[5953] Forked 32576 -(32575) found -(32576) found -[5952] Forked 32577 -[5951] Forked 32578 -(32577) found -(32578) found -[5950] Forked 32579 -[5949] Forked 32580 -(32579) found -(32580) found -[5948] Forked 32581 -[5947] Forked 32582 -(32581) found -(32582) found -[5946] Forked 32583 -[5945] Forked 32584 -(32583) found -(32584) found -[5944] Forked 32585 -[5943] Forked 32586 -(32585) found -(32586) found -[5942] Forked 32587 -[5941] Forked 32588 -(32587) found -(32588) found -[5940] Forked 32589 -[5939] Forked 32590 -(32589) found -(32590) found -[5938] Forked 32591 -[5937] Forked 32592 -(32591) found -(32592) found -[5936] Forked 32593 -[5935] Forked 32594 -(32593) found -(32594) found -[5934] Forked 32595 -[5933] Forked 32596 -(32595) found -(32596) found -[5932] Forked 32597 -[5931] Forked 32599 -(32597) found -(32599) found -[5930] Forked 32600 -(32600) found -[5929] Forked 32601 -(32601) found -[5928] Forked 32602 -(32602) found -[5927] Forked 32603 -(32603) found -[5926] Forked 32604 -(32604) found -[5925] Forked 32605 -(32605) found -[5924] Forked 32606 -(32606) found -[5923] Forked 32607 -(32607) found -[5922] Forked 32608 -(32608) found -[5921] Forked 32609 -(32609) found -[5920] Forked 32610 -(32610) found -[5919] Forked 32611 -(32611) found -[5918] Forked 32612 -(32612) found -[5917] Forked 32613 -(32613) found -[5916] Forked 32614 -(32614) found -[5915] Forked 32615 -(32615) found -[5914] Forked 32616 -(32616) found -[5913] Forked 32617 -(32617) found -[5912] Forked 32618 -(32618) found -[5911] Forked 32619 -(32619) found -[5910] Forked 32620 -(32620) found -[5909] Forked 32621 -(32621) found -[5908] Forked 32622 -(32622) found -[5907] Forked 32623 -(32623) found -[5906] Forked 32624 -(32624) found -[5905] Forked 32625 -(32625) found -[5904] Forked 32626 -(32626) found -[5903] Forked 32627 -(32627) found -[5902] Forked 32628 -(32628) found -[5901] Forked 32629 -(32629) found -[5900] Forked 32630 -(32630) found -[5899] Forked 32631 -(32631) found -[5898] Forked 32632 -(32632) found -[5897] Forked 32633 -(32633) found -[5896] Forked 32634 -(32634) found -[5895] Forked 32635 -(32635) found -[5894] Forked 32636 -(32636) found -[5893] Forked 32637 -(32637) found -[5892] Forked 32638 -(32638) found -[5891] Forked 32639 -[5890] Forked 32640 -(32639) found -(32640) found -[5889] Forked 32641 -[5888] Forked 32642 -(32641) found -(32642) found -[5887] Forked 32643 -[5886] Forked 32644 -(32643) found -(32644) found -[5885] Forked 32645 -[5884] Forked 32646 -(32645) found -(32646) found -[5883] Forked 32647 -[5882] Forked 32648 -(32647) found -(32648) found -[5881] Forked 32649 -[5880] Forked 32650 -(32649) found -(32650) found -[5879] Forked 32651 -[5878] Forked 32652 -(32651) found -(32652) found -[5877] Forked 32653 -[5876] Forked 32654 -(32653) found -(32654) found -[5875] Forked 32655 -[5874] Forked 32656 -(32655) found -(32656) found -[5873] Forked 32657 -[5872] Forked 32658 -(32657) found -(32658) found -[5871] Forked 32659 -[5870] Forked 32660 -(32659) found -(32660) found -[5869] Forked 32661 -[5868] Forked 32662 -(32661) found -(32662) found -[5867] Forked 32663 -[5866] Forked 32664 -(32663) found -(32664) found -[5865] Forked 32665 -[5864] Forked 32666 -(32665) found -(32666) found -[5863] Forked 32667 -[5862] Forked 32668 -(32667) found -(32668) found -[5861] Forked 32669 -[5860] Forked 32670 -(32669) found -(32670) found -[5859] Forked 32671 -[5858] Forked 32672 -(32671) found -(32672) found -[5857] Forked 32673 -[5856] Forked 32674 -(32673) found -(32674) found -[5855] Forked 32675 -[5854] Forked 32676 -(32675) found -(32676) found -[5853] Forked 32677 -[5852] Forked 32678 -(32677) found -(32678) found -[5851] Forked 32679 -[5850] Forked 32680 -(32679) found -(32680) found -[5849] Forked 32681 -[5848] Forked 32682 -(32681) found -(32682) found -[5847] Forked 32683 -(32683) found -[5846] Forked 32684 -(32684) found -[5845] Forked 32685 -(32685) found -[5844] Forked 32686 -(32686) found -[5843] Forked 32687 -(32687) found -[5842] Forked 32688 -(32688) found -[5841] Forked 32689 -(32689) found -[5840] Forked 32690 -(32690) found -[5839] Forked 32691 -(32691) found -[5838] Forked 32692 -(32692) found -[5837] Forked 32693 -(32693) found -[5836] Forked 32694 -(32694) found -[5835] Forked 32695 -(32695) found -[5834] Forked 32696 -(32696) found -[5833] Forked 32697 -(32697) found -[5832] Forked 32698 -(32698) found -[5831] Forked 32699 -(32699) found -[5830] Forked 32700 -(32700) found -[5829] Forked 32701 -(32701) found -[5828] Forked 32702 -(32702) found -[5827] Forked 32703 -(32703) found -[5826] Forked 32704 -(32704) found -[5825] Forked 32705 -(32705) found -[5824] Forked 32706 -(32706) found -[5823] Forked 32707 -(32707) found -[5822] Forked 32708 -(32708) found -[5821] Forked 32709 -(32709) found -[5820] Forked 32710 -(32710) found -[5819] Forked 32711 -(32711) found -[5818] Forked 32712 -(32712) found -[5817] Forked 32713 -(32713) found -[5816] Forked 32714 -(32714) found -[5815] Forked 32715 -(32715) found -[5814] Forked 32716 -(32716) found -[5813] Forked 32717 -(32717) found -[5812] Forked 32718 -(32718) found -[5811] Forked 32719 -[5810] Forked 32720 -(32719) found -(32720) found -[5809] Forked 32721 -[5808] Forked 32722 -(32721) found -(32722) found -[5807] Forked 32723 -[5806] Forked 32724 -(32723) found -(32724) found -[5805] Forked 32725 -[5804] Forked 32726 -(32725) found -(32726) found -[5803] Forked 32727 -[5802] Forked 32728 -(32727) found -(32728) found -[5801] Forked 32729 -[5800] Forked 32730 -(32729) found -(32730) found -[5799] Forked 32731 -[5798] Forked 32732 -(32731) found -(32732) found -[5797] Forked 32733 -[5796] Forked 32734 -(32733) found -(32734) found -[5795] Forked 32735 -[5794] Forked 32736 -(32735) found -(32736) found -[5793] Forked 32737 -[5792] Forked 32738 -(32737) found -(32738) found -[5791] Forked 32739 -[5790] Forked 32740 -(32739) found -(32740) found -[5789] Forked 32741 -[5788] Forked 32742 -(32741) found -(32742) found -[5787] Forked 32743 -[5786] Forked 32744 -(32743) found -(32744) found -[5785] Forked 32745 -[5784] Forked 32746 -(32745) found -(32746) found -[5783] Forked 32747 -[5782] Forked 32748 -(32747) found -(32748) found -[5781] Forked 32749 -[5780] Forked 32750 -(32749) found -(32750) found -[5779] Forked 32751 -[5778] Forked 32752 -(32751) found -(32752) found -[5777] Forked 32753 -[5776] Forked 32754 -(32753) found -(32754) found -[5775] Forked 32755 -[5774] Forked 32756 -(32755) found -(32756) found -[5773] Forked 32757 -[5772] Forked 32758 -(32757) found -(32758) found -[5771] Forked 32759 -[5770] Forked 32760 -(32759) found -(32760) found -[5769] Forked 32761 -(32761) found -[5768] Forked 32762 -(32762) found -[5767] Forked 32763 -(32763) found -[5766] Forked 32764 -(32764) found -[5765] Forked 32765 -(32765) found -[5764] Forked 32766 -(32766) found -[5763] Forked 32767 -(32767) found -[5762] Forked 300 -(300) found -[5761] Forked 301 -(301) found -[5760] Forked 302 -(302) found -[5759] Forked 303 -(303) found -[5758] Forked 304 -(304) found -[5757] Forked 305 -(305) found -[5756] Forked 306 -(306) found -[5755] Forked 307 -(307) found -[5754] Forked 308 -(308) found -[5753] Forked 309 -(309) found -[5752] Forked 310 -(310) found -[5751] Forked 311 -(311) found -[5750] Forked 312 -(312) found -[5749] Forked 313 -(313) found -[5748] Forked 314 -(314) found -[5747] Forked 315 -(315) found -[5746] Forked 316 -(316) found -[5745] Forked 317 -(317) found -[5744] Forked 318 -(318) found -[5743] Forked 319 -(319) found -[5742] Forked 320 -(320) found -[5741] Forked 321 -(321) found -[5740] Forked 322 -(322) found -[5739] Forked 323 -(323) found -[5738] Forked 324 -(324) found -[5737] Forked 325 -(325) found -[5736] Forked 328 -(328) found -[5735] Forked 330 -(330) found -[5734] Forked 331 -[5733] Forked 332 -(331) found -(332) found -[5732] Forked 333 -[5731] Forked 334 -(333) found -(334) found -[5730] Forked 335 -[5729] Forked 336 -(335) found -(336) found -[5728] Forked 337 -[5727] Forked 338 -(337) found -(338) found -[5726] Forked 339 -[5725] Forked 340 -(339) found -(340) found -[5724] Forked 341 -[5723] Forked 342 -(341) found -(342) found -[5722] Forked 343 -[5721] Forked 344 -(343) found -(344) found -[5720] Forked 345 -[5719] Forked 346 -(345) found -(346) found -[5718] Forked 347 -[5717] Forked 348 -(347) found -(348) found -[5716] Forked 349 -[5715] Forked 350 -(349) found -(350) found -[5714] Forked 351 -[5713] Forked 352 -(351) found -(352) found -[5712] Forked 353 -[5711] Forked 354 -(353) found -(354) found -[5710] Forked 355 -[5709] Forked 356 -(355) found -(356) found -[5708] Forked 357 -[5707] Forked 358 -(357) found -(358) found -[5706] Forked 359 -[5705] Forked 360 -(359) found -(360) found -[5704] Forked 361 -[5703] Forked 362 -(361) found -(362) found -[5702] Forked 363 -[5701] Forked 364 -(363) found -(364) found -[5700] Forked 365 -[5699] Forked 366 -(365) found -(366) found -[5698] Forked 367 -[5697] Forked 368 -(367) found -(368) found -[5696] Forked 369 -[5695] Forked 370 -(369) found -(370) found -[5694] Forked 371 -[5693] Forked 372 -(371) found -(372) found -[5692] Forked 373 -[5691] Forked 374 -(373) found -(374) found -[5690] Forked 375 -(375) found -[5689] Forked 376 -(376) found -[5688] Forked 377 -(377) found -[5687] Forked 378 -(378) found -[5686] Forked 379 -(379) found -[5685] Forked 380 -(380) found -[5684] Forked 381 -(381) found -[5683] Forked 383 -(383) found -[5682] Forked 384 -(384) found -[5681] Forked 385 -(385) found -[5680] Forked 386 -(386) found -[5679] Forked 387 -(387) found -[5678] Forked 388 -(388) found -[5677] Forked 389 -(389) found -[5676] Forked 390 -(390) found -[5675] Forked 391 -(391) found -[5674] Forked 392 -(392) found -[5673] Forked 393 -(393) found -[5672] Forked 394 -(394) found -[5671] Forked 395 -(395) found -[5670] Forked 396 -(396) found -[5669] Forked 397 -(397) found -[5668] Forked 398 -(398) found -[5667] Forked 399 -(399) found -[5666] Forked 401 -(401) found -[5665] Forked 402 -(402) found -[5664] Forked 403 -(403) found -[5663] Forked 404 -(404) found -[5662] Forked 405 -(405) found -[5661] Forked 407 -(407) found -[5660] Forked 408 -(408) found -[5659] Forked 409 -(409) found -[5658] Forked 410 -(410) found -[5657] Forked 411 -(411) found -[5656] Forked 412 -(412) found -[5655] Forked 413 -[5654] Forked 414 -(413) found -(414) found -[5653] Forked 415 -[5652] Forked 416 -(415) found -(416) found -[5651] Forked 417 -[5650] Forked 418 -(417) found -(418) found -[5649] Forked 419 -[5648] Forked 420 -(419) found -(420) found -[5647] Forked 421 -[5646] Forked 422 -(421) found -(422) found -[5645] Forked 423 -[5644] Forked 424 -(423) found -(424) found -[5643] Forked 425 -[5642] Forked 426 -(425) found -(426) found -[5641] Forked 427 -[5640] Forked 429 -(427) found -(429) found -[5639] Forked 430 -[5638] Forked 431 -(430) found -(431) found -[5637] Forked 432 -[5636] Forked 433 -(432) found -(433) found -[5635] Forked 434 -[5634] Forked 435 -(434) found -(435) found -[5633] Forked 436 -[5632] Forked 437 -(436) found -(437) found -[5631] Forked 438 -[5630] Forked 439 -(438) found -(439) found -[5629] Forked 440 -[5628] Forked 441 -(440) found -(441) found -[5627] Forked 442 -[5626] Forked 443 -(442) found -(443) found -[5625] Forked 444 -[5624] Forked 445 -(444) found -(445) found -[5623] Forked 446 -[5622] Forked 447 -(446) found -(447) found -[5621] Forked 448 -[5620] Forked 449 -(448) found -(449) found -[5619] Forked 450 -[5618] Forked 451 -(450) found -(451) found -[5617] Forked 452 -[5616] Forked 453 -(452) found -(453) found -[5615] Forked 454 -[5614] Forked 455 -(454) found -(455) found -[5613] Forked 456 -[5612] Forked 457 -(456) found -(457) found -[5611] Forked 458 -[5610] Forked 459 -(458) found -(459) found -[5609] Forked 460 -[5608] Forked 461 -(460) found -(461) found -[5607] Forked 462 -[5606] Forked 463 -(462) found -(463) found -[5605] Forked 464 -[5604] Forked 465 -(464) found -(465) found -[5603] Forked 466 -[5602] Forked 467 -(466) found -(467) found -[5601] Forked 468 -[5600] Forked 469 -(468) found -(469) found -[5599] Forked 470 -[5598] Forked 471 -(470) found -(471) found -[5597] Forked 472 -[5596] Forked 473 -(472) found -(473) found -[5595] Forked 474 -[5594] Forked 475 -(474) found -(475) found -[5593] Forked 476 -[5592] Forked 477 -(476) found -(477) found -[5591] Forked 478 -[5590] Forked 479 -(478) found -(479) found -[5589] Forked 480 -[5588] Forked 481 -(480) found -(481) found -[5587] Forked 482 -[5586] Forked 483 -(482) found -(483) found -[5585] Forked 484 -[5584] Forked 485 -(484) found -(485) found -[5583] Forked 486 -[5582] Forked 487 -(486) found -(487) found -[5581] Forked 488 -[5580] Forked 489 -(488) found -(489) found -[5579] Forked 490 -[5578] Forked 491 -(490) found -(491) found -[5577] Forked 492 -[5576] Forked 493 -(492) found -(493) found -[5575] Forked 494 -[5574] Forked 495 -(494) found -(495) found -[5573] Forked 496 -[5572] Forked 497 -(496) found -(497) found -[5571] Forked 498 -[5570] Forked 499 -(498) found -(499) found -[5569] Forked 500 -[5568] Forked 501 -(500) found -(501) found -[5567] Forked 502 -[5566] Forked 503 -(502) found -(503) found -[5565] Forked 504 -[5564] Forked 505 -(504) found -(505) found -[5563] Forked 506 -(506) found -[5562] Forked 507 -(507) found -[5561] Forked 508 -(508) found -[5560] Forked 509 -(509) found -[5559] Forked 510 -(510) found -[5558] Forked 511 -(511) found -[5557] Forked 512 -(512) found -[5556] Forked 513 -(513) found -[5555] Forked 514 -(514) found -[5554] Forked 515 -(515) found -[5553] Forked 516 -(516) found -[5552] Forked 517 -(517) found -[5551] Forked 518 -(518) found -[5550] Forked 519 -(519) found -[5549] Forked 520 -(520) found -[5548] Forked 521 -(521) found -[5547] Forked 522 -(522) found -[5546] Forked 523 -(523) found -[5545] Forked 524 -(524) found -[5544] Forked 525 -(525) found -[5543] Forked 526 -(526) found -[5542] Forked 527 -(527) found -[5541] Forked 528 -(528) found -[5540] Forked 529 -(529) found -[5539] Forked 530 -(530) found -[5538] Forked 531 -(531) found -[5537] Forked 532 -(532) found -[5536] Forked 533 -(533) found -[5535] Forked 534 -(534) found -[5534] Forked 535 -(535) found -[5533] Forked 536 -(536) found -[5532] Forked 537 -(537) found -[5531] Forked 538 -(538) found -[5530] Forked 539 -(539) found -[5529] Forked 540 -[5528] Forked 541 -(540) found -(541) found -[5527] Forked 542 -[5526] Forked 543 -(542) found -(543) found -[5525] Forked 544 -[5524] Forked 545 -(544) found -(545) found -[5523] Forked 546 -[5522] Forked 547 -(546) found -(547) found -[5521] Forked 548 -[5520] Forked 549 -(548) found -(549) found -[5519] Forked 550 -[5518] Forked 551 -(550) found -(551) found -[5517] Forked 552 -[5516] Forked 553 -(552) found -(553) found -[5515] Forked 554 -[5514] Forked 555 -(554) found -(555) found -[5513] Forked 556 -[5512] Forked 557 -(556) found -(557) found -[5511] Forked 558 -[5510] Forked 559 -(558) found -(559) found -[5509] Forked 560 -[5508] Forked 561 -(560) found -(561) found -[5507] Forked 562 -[5506] Forked 563 -(562) found -(563) found -[5505] Forked 564 -[5504] Forked 565 -(564) found -(565) found -[5503] Forked 566 -[5502] Forked 567 -(566) found -(567) found -[5501] Forked 568 -[5500] Forked 569 -(568) found -(569) found -[5499] Forked 570 -[5498] Forked 571 -(570) found -(571) found -[5497] Forked 572 -[5496] Forked 573 -(572) found -(573) found -[5495] Forked 574 -[5494] Forked 575 -(574) found -(575) found -[5493] Forked 576 -[5492] Forked 577 -(576) found -(577) found -[5491] Forked 578 -[5490] Forked 579 -(578) found -(579) found -[5489] Forked 580 -[5488] Forked 581 -(580) found -(581) found -[5487] Forked 582 -[5486] Forked 583 -(582) found -(583) found -[5485] Forked 584 -[5484] Forked 585 -(584) found -(585) found -[5483] Forked 586 -[5482] Forked 587 -(586) found -(587) found -[5481] Forked 588 -[5480] Forked 589 -(588) found -(589) found -[5479] Forked 590 -[5478] Forked 591 -(590) found -(591) found -[5477] Forked 592 -[5476] Forked 593 -(592) found -(593) found -[5475] Forked 594 -[5474] Forked 595 -(594) found -(595) found -[5473] Forked 596 -[5472] Forked 597 -(596) found -(597) found -[5471] Forked 598 -[5470] Forked 599 -(598) found -(599) found -[5469] Forked 600 -[5468] Forked 601 -(600) found -(601) found -[5467] Forked 602 -[5466] Forked 603 -(602) found -(603) found -[5465] Forked 604 -[5464] Forked 606 -(604) found -(606) found -[5463] Forked 607 -[5462] Forked 609 -(607) found -(609) found -[5461] Forked 610 -[5460] Forked 612 -(610) found -(612) found -[5459] Forked 613 -[5458] Forked 615 -(613) found -(615) found -[5457] Forked 616 -[5456] Forked 617 -(616) found -(617) found -[5455] Forked 618 -[5454] Forked 619 -(618) found -(619) found -[5453] Forked 620 -[5452] Forked 621 -(620) found -(621) found -[5451] Forked 622 -[5450] Forked 623 -(622) found -(623) found -[5449] Forked 624 -[5448] Forked 625 -(624) found -(625) found -[5447] Forked 626 -[5446] Forked 627 -(626) found -(627) found -[5445] Forked 628 -[5444] Forked 629 -(628) found -(629) found -[5443] Forked 630 -[5442] Forked 631 -(630) found -(631) found -[5441] Forked 632 -[5440] Forked 633 -(632) found -(633) found -[5439] Forked 634 -[5438] Forked 635 -(634) found -(635) found -[5437] Forked 636 -(636) found -[5436] Forked 637 -(637) found -[5435] Forked 638 -(638) found -[5434] Forked 639 -(639) found -[5433] Forked 640 -(640) found -[5432] Forked 641 -(641) found -[5431] Forked 642 -(642) found -[5430] Forked 643 -(643) found -[5429] Forked 644 -(644) found -[5428] Forked 645 -(645) found -[5427] Forked 646 -(646) found -[5426] Forked 647 -(647) found -[5425] Forked 648 -(648) found -[5424] Forked 649 -(649) found -[5423] Forked 650 -(650) found -[5422] Forked 651 -(651) found -[5421] Forked 652 -(652) found -[5420] Forked 653 -(653) found -[5419] Forked 654 -(654) found -[5418] Forked 655 -(655) found -[5417] Forked 656 -(656) found -[5416] Forked 657 -(657) found -[5415] Forked 658 -(658) found -[5414] Forked 659 -(659) found -[5413] Forked 660 -(660) found -[5412] Forked 661 -(661) found -[5411] Forked 662 -(662) found -[5410] Forked 663 -(663) found -[5409] Forked 664 -(664) found -[5408] Forked 665 -(665) found -[5407] Forked 666 -(666) found -[5406] Forked 667 -(667) found -[5405] Forked 668 -(668) found -[5404] Forked 669 -(669) found -[5403] Forked 670 -(670) found -[5402] Forked 671 -(671) found -[5401] Forked 672 -[5400] Forked 673 -(672) found -(673) found -[5399] Forked 674 -[5398] Forked 675 -(674) found -(675) found -[5397] Forked 677 -[5396] Forked 678 -(677) found -(678) found -[5395] Forked 679 -[5394] Forked 680 -(679) found -(680) found -[5393] Forked 681 -[5392] Forked 682 -(681) found -(682) found -[5391] Forked 683 -[5390] Forked 684 -(683) found -(684) found -[5389] Forked 685 -[5388] Forked 686 -(685) found -(686) found -[5387] Forked 687 -[5386] Forked 688 -(687) found -(688) found -[5385] Forked 689 -[5384] Forked 690 -(689) found -(690) found -[5383] Forked 691 -[5382] Forked 692 -(691) found -(692) found -[5381] Forked 693 -[5380] Forked 694 -(693) found -(694) found -[5379] Forked 695 -[5378] Forked 696 -(695) found -(696) found -[5377] Forked 697 -[5376] Forked 698 -(697) found -(698) found -[5375] Forked 699 -[5374] Forked 700 -(699) found -(700) found -[5373] Forked 701 -[5372] Forked 702 -(701) found -(702) found -[5371] Forked 703 -[5370] Forked 704 -(703) found -(704) found -[5369] Forked 705 -[5368] Forked 706 -(705) found -(706) found -[5367] Forked 707 -[5366] Forked 708 -(707) found -(708) found -[5365] Forked 709 -[5364] Forked 710 -(709) found -(710) found -[5363] Forked 711 -[5362] Forked 712 -(711) found -(712) found -[5361] Forked 713 -(713) found -[5360] Forked 714 -[5359] Forked 715 -(714) found -(715) found -[5358] Forked 716 -[5357] Forked 717 -(716) found -(717) found -[5356] Forked 718 -[5355] Forked 719 -(718) found -(719) found -[5354] Forked 720 -[5353] Forked 721 -(720) found -(721) found -[5352] Forked 722 -[5351] Forked 723 -(722) found -(723) found -[5350] Forked 724 -[5349] Forked 725 -(724) found -(725) found -[5348] Forked 726 -[5347] Forked 727 -(726) found -(727) found -[5346] Forked 728 -[5345] Forked 729 -(728) found -(729) found -[5344] Forked 730 -[5343] Forked 731 -(730) found -(731) found -[5342] Forked 732 -[5341] Forked 734 -(732) found -(734) found -[5340] Forked 735 -[5339] Forked 737 -(735) found -(737) found -[5338] Forked 740 -[5337] Forked 742 -(740) found -(742) found -[5336] Forked 744 -[5335] Forked 745 -(744) found -(745) found -[5334] Forked 746 -[5333] Forked 747 -(746) found -(747) found -[5332] Forked 748 -[5331] Forked 749 -(748) found -(749) found -[5330] Forked 750 -[5329] Forked 751 -(750) found -(751) found -[5328] Forked 752 -[5327] Forked 753 -(752) found -(753) found -[5326] Forked 754 -[5325] Forked 755 -(754) found -(755) found -[5324] Forked 756 -[5323] Forked 757 -(756) found -(757) found -[5322] Forked 758 -[5321] Forked 759 -(758) found -(759) found -[5320] Forked 760 -[5319] Forked 761 -(760) found -(761) found -[5318] Forked 762 -[5317] Forked 763 -(762) found -(763) found -[5316] Forked 764 -[5315] Forked 765 -(764) found -(765) found -[5314] Forked 766 -[5313] Forked 767 -(766) found -(767) found -[5312] Forked 768 -[5311] Forked 769 -(768) found -(769) found -[5310] Forked 770 -[5309] Forked 771 -(770) found -(771) found -[5308] Forked 772 -(772) found -[5307] Forked 773 -(773) found -[5306] Forked 774 -(774) found -[5305] Forked 775 -(775) found -[5304] Forked 776 -(776) found -[5303] Forked 777 -(777) found -[5302] Forked 778 -(778) found -[5301] Forked 780 -(780) found -[5300] Forked 781 -(781) found -[5299] Forked 782 -(782) found -[5298] Forked 783 -(783) found -[5297] Forked 784 -(784) found -[5296] Forked 785 -(785) found -[5295] Forked 786 -(786) found -[5294] Forked 787 -(787) found -[5293] Forked 788 -(788) found -[5292] Forked 789 -(789) found -[5291] Forked 790 -(790) found -[5290] Forked 791 -(791) found -[5289] Forked 792 -(792) found -[5288] Forked 793 -(793) found -[5287] Forked 794 -(794) found -[5286] Forked 795 -(795) found -[5285] Forked 796 -(796) found -[5284] Forked 797 -(797) found -[5283] Forked 798 -(798) found -[5282] Forked 799 -(799) found -[5281] Forked 800 -(800) found -[5280] Forked 801 -(801) found -[5279] Forked 802 -(802) found -[5278] Forked 803 -(803) found -[5277] Forked 804 -(804) found -[5276] Forked 805 -(805) found -[5275] Forked 806 -(806) found -[5274] Forked 807 -[5273] Forked 808 -(807) found -(808) found -[5272] Forked 809 -(809) found -[5271] Forked 810 -(810) found -[5270] Forked 811 -(811) found -[5269] Forked 812 -(812) found -[5268] Forked 813 -(813) found -[5267] Forked 814 -(814) found -[5266] Forked 815 -(815) found -[5265] Forked 816 -(816) found -[5264] Forked 817 -(817) found -[5263] Forked 818 -(818) found -[5262] Forked 819 -(819) found -[5261] Forked 820 -(820) found -[5260] Forked 821 -(821) found -[5259] Forked 822 -(822) found -[5258] Forked 823 -(823) found -[5257] Forked 824 -(824) found -[5256] Forked 825 -(825) found -[5255] Forked 826 -(826) found -[5254] Forked 827 -(827) found -[5253] Forked 828 -(828) found -[5252] Forked 829 -(829) found -[5251] Forked 830 -(830) found -[5250] Forked 831 -(831) found -[5249] Forked 832 -(832) found -[5248] Forked 833 -(833) found -[5247] Forked 834 -(834) found -[5246] Forked 835 -(835) found -[5245] Forked 836 -(836) found -[5244] Forked 837 -(837) found -[5243] Forked 838 -(838) found -[5242] Forked 839 -[5241] Forked 840 -(839) found -(840) found -[5240] Forked 841 -[5239] Forked 842 -(841) found -(842) found -[5238] Forked 843 -[5237] Forked 844 -(843) found -(844) found -[5236] Forked 845 -[5235] Forked 847 -(845) found -(847) found -[5234] Forked 848 -[5233] Forked 849 -(848) found -(849) found -[5232] Forked 850 -[5231] Forked 851 -(850) found -(851) found -[5230] Forked 852 -[5229] Forked 853 -(852) found -(853) found -[5228] Forked 854 -[5227] Forked 855 -(854) found -(855) found -[5226] Forked 856 -[5225] Forked 857 -(856) found -(857) found -[5224] Forked 858 -[5223] Forked 859 -(858) found -(859) found -[5222] Forked 860 -[5221] Forked 861 -(860) found -(861) found -[5220] Forked 862 -[5219] Forked 863 -(862) found -(863) found -[5218] Forked 864 -[5217] Forked 865 -(864) found -(865) found -[5216] Forked 866 -[5215] Forked 867 -(866) found -(867) found -[5214] Forked 868 -[5213] Forked 869 -(868) found -(869) found -[5212] Forked 870 -[5211] Forked 871 -(870) found -(871) found -[5210] Forked 872 -[5209] Forked 873 -(872) found -(873) found -[5208] Forked 874 -[5207] Forked 875 -(874) found -(875) found -[5206] Forked 876 -[5205] Forked 877 -(876) found -(877) found -[5204] Forked 878 -[5203] Forked 879 -(878) found -(879) found -[5202] Forked 880 -[5201] Forked 881 -(880) found -(881) found -[5200] Forked 882 -[5199] Forked 883 -(882) found -(883) found -[5198] Forked 884 -[5197] Forked 885 -(885) found -(884) found -[5196] Forked 886 -(886) found -[5195] Forked 887 -(887) found -[5194] Forked 888 -(888) found -[5193] Forked 889 -(889) found -[5192] Forked 890 -(890) found -[5191] Forked 891 -(891) found -[5190] Forked 892 -(892) found -[5189] Forked 893 -(893) found -[5188] Forked 894 -(894) found -[5187] Forked 895 -(895) found -[5186] Forked 896 -(896) found -[5185] Forked 897 -(897) found -[5184] Forked 898 -(898) found -[5183] Forked 899 -(899) found -[5182] Forked 900 -(900) found -[5181] Forked 901 -(901) found -[5180] Forked 902 -(902) found -[5179] Forked 903 -(903) found -[5178] Forked 904 -(904) found -[5177] Forked 905 -(905) found -[5176] Forked 906 -(906) found -[5175] Forked 907 -(907) found -[5174] Forked 908 -(908) found -[5173] Forked 909 -(909) found -[5172] Forked 910 -(910) found -[5171] Forked 911 -(911) found -[5170] Forked 912 -(912) found -[5169] Forked 913 -(913) found -[5168] Forked 914 -(914) found -[5167] Forked 915 -(915) found -[5166] Forked 916 -(916) found -[5165] Forked 917 -(917) found -[5164] Forked 918 -(918) found -[5163] Forked 919 -(919) found -[5162] Forked 920 -[5161] Forked 921 -(920) found -(921) found -[5160] Forked 922 -[5159] Forked 923 -(922) found -(923) found -[5158] Forked 924 -[5157] Forked 925 -(924) found -(925) found -[5156] Forked 926 -[5155] Forked 927 -(926) found -(927) found -[5154] Forked 928 -[5153] Forked 929 -(928) found -(929) found -[5152] Forked 930 -[5151] Forked 931 -(930) found -(931) found -[5150] Forked 932 -[5149] Forked 933 -(932) found -(933) found -[5148] Forked 934 -[5147] Forked 935 -(934) found -(935) found -[5146] Forked 936 -[5145] Forked 937 -(936) found -(937) found -[5144] Forked 938 -[5143] Forked 939 -(938) found -(939) found -[5142] Forked 940 -[5141] Forked 941 -(940) found -(941) found -[5140] Forked 942 -[5139] Forked 943 -(942) found -(943) found -[5138] Forked 944 -[5137] Forked 945 -(944) found -(945) found -[5136] Forked 946 -[5135] Forked 947 -(946) found -(947) found -[5134] Forked 948 -[5133] Forked 949 -(948) found -(949) found -[5132] Forked 950 -[5131] Forked 951 -(950) found -(951) found -[5130] Forked 952 -[5129] Forked 953 -(952) found -(953) found -[5128] Forked 954 -[5127] Forked 955 -(954) found -(955) found -[5126] Forked 956 -[5125] Forked 957 -(956) found -(957) found -[5124] Forked 958 -[5123] Forked 959 -(958) found -(959) found -[5122] Forked 960 -[5121] Forked 961 -(960) found -(961) found -[5120] Forked 962 -[5119] Forked 963 -(962) found -(963) found -[5118] Forked 964 -[5117] Forked 965 -(965) found -(964) found -[5116] Forked 966 -(966) found -[5115] Forked 967 -(967) found -[5114] Forked 968 -(968) found -[5113] Forked 969 -(969) found -[5112] Forked 970 -(970) found -[5111] Forked 971 -(971) found -[5110] Forked 972 -(972) found -[5109] Forked 973 -(973) found -[5108] Forked 974 -(974) found -[5107] Forked 975 -(975) found -[5106] Forked 976 -(976) found -[5105] Forked 977 -(977) found -[5104] Forked 978 -(978) found -[5103] Forked 979 -(979) found -[5102] Forked 980 -(980) found -[5101] Forked 981 -(981) found -[5100] Forked 982 -(982) found -[5099] Forked 983 -(983) found -[5098] Forked 984 -(984) found -[5097] Forked 985 -(985) found -[5096] Forked 986 -(986) found -[5095] Forked 987 -(987) found -[5094] Forked 988 -(988) found -[5093] Forked 989 -(989) found -[5092] Forked 990 -(990) found -[5091] Forked 991 -(991) found -[5090] Forked 992 -(992) found -[5089] Forked 993 -(993) found -[5088] Forked 994 -(994) found -[5087] Forked 995 -(995) found -[5086] Forked 996 -(996) found -[5085] Forked 997 -(997) found -[5084] Forked 998 -(998) found -[5083] Forked 999 -(999) found -[5082] Forked 1000 -(1000) found -[5081] Forked 1001 -(1001) found -[5080] Forked 1002 -(1002) found -[5079] Forked 1003 -(1003) found -[5078] Forked 1004 -(1004) found -[5077] Forked 1005 -(1005) found -[5076] Forked 1006 -(1006) found -[5075] Forked 1007 -(1007) found -[5074] Forked 1008 -(1008) found -[5073] Forked 1009 -(1009) found -[5072] Forked 1010 -(1010) found -[5071] Forked 1011 -(1011) found -[5070] Forked 1012 -(1012) found -[5069] Forked 1013 -(1013) found -[5068] Forked 1014 -(1014) found -[5067] Forked 1015 -(1015) found -[5066] Forked 1016 -(1016) found -[5065] Forked 1017 -(1017) found -[5064] Forked 1018 -(1018) found -[5063] Forked 1019 -(1019) found -[5062] Forked 1020 -(1020) found -[5061] Forked 1021 -(1021) found -[5060] Forked 1022 -(1022) found -[5059] Forked 1023 -(1023) found -[5058] Forked 1024 -(1024) found -[5057] Forked 1025 -(1025) found -[5056] Forked 1026 -(1026) found -[5055] Forked 1027 -(1027) found -[5054] Forked 1028 -(1028) found -[5053] Forked 1029 -(1029) found -[5052] Forked 1030 -(1030) found -[5051] Forked 1031 -(1031) found -[5050] Forked 1032 -(1032) found -[5049] Forked 1033 -(1033) found -[5048] Forked 1034 -(1034) found -[5047] Forked 1035 -(1035) found -[5046] Forked 1036 -[5045] Forked 1037 -(1036) found -(1037) found -[5044] Forked 1038 -[5043] Forked 1039 -(1038) found -(1039) found -[5042] Forked 1040 -[5041] Forked 1041 -(1040) found -(1041) found -[5040] Forked 1042 -[5039] Forked 1043 -(1042) found -(1043) found -[5038] Forked 1044 -[5037] Forked 1045 -(1044) found -(1045) found -[5036] Forked 1046 -[5035] Forked 1047 -(1046) found -(1047) found -[5034] Forked 1048 -[5033] Forked 1049 -(1048) found -(1049) found -[5032] Forked 1050 -[5031] Forked 1051 -(1050) found -(1051) found -[5030] Forked 1052 -[5029] Forked 1053 -(1052) found -(1053) found -[5028] Forked 1054 -[5027] Forked 1055 -(1054) found -(1055) found -[5026] Forked 1056 -[5025] Forked 1057 -(1056) found -(1057) found -[5024] Forked 1058 -[5023] Forked 1059 -(1058) found -(1059) found -[5022] Forked 1060 -[5021] Forked 1061 -(1060) found -(1061) found -[5020] Forked 1062 -[5019] Forked 1063 -(1062) found -(1063) found -[5018] Forked 1064 -[5017] Forked 1065 -(1064) found -(1065) found -[5016] Forked 1066 -[5015] Forked 1067 -(1066) found -(1067) found -[5014] Forked 1068 -[5013] Forked 1069 -(1068) found -(1069) found -[5012] Forked 1070 -[5011] Forked 1071 -(1070) found -(1071) found -[5010] Forked 1072 -[5009] Forked 1073 -(1072) found -(1073) found -[5008] Forked 1074 -[5007] Forked 1075 -(1074) found -(1075) found -[5006] Forked 1076 -[5005] Forked 1077 -(1076) found -(1077) found -[5004] Forked 1078 -[5003] Forked 1079 -(1078) found -(1079) found -[5002] Forked 1080 -[5001] Forked 1081 -(1080) found -(1081) found -[5000] Forked 1082 -[4999] Forked 1083 -(1082) found -(1083) found -[4998] Forked 1084 -[4997] Forked 1085 -(1084) found -(1085) found -[4996] Forked 1086 -[4995] Forked 1087 -(1086) found -(1087) found -[4994] Forked 1088 -[4993] Forked 1089 -(1088) found -(1089) found -[4992] Forked 1090 -[4991] Forked 1091 -(1090) found -(1091) found -[4990] Forked 1092 -[4989] Forked 1093 -(1092) found -(1093) found -[4988] Forked 1094 -[4987] Forked 1095 -(1094) found -(1095) found -[4986] Forked 1096 -[4985] Forked 1097 -(1096) found -(1097) found -[4984] Forked 1098 -[4983] Forked 1099 -(1098) found -(1099) found -[4982] Forked 1100 -[4981] Forked 1101 -(1100) found -(1101) found -[4980] Forked 1102 -[4979] Forked 1103 -(1102) found -(1103) found -[4978] Forked 1104 -[4977] Forked 1105 -(1104) found -(1105) found -[4976] Forked 1106 -[4975] Forked 1108 -(1106) found -(1108) found -[4974] Forked 1109 -[4973] Forked 1110 -(1109) found -(1110) found -[4972] Forked 1111 -[4971] Forked 1112 -(1111) found -(1112) found -[4970] Forked 1113 -[4969] Forked 1114 -(1113) found -(1114) found -[4968] Forked 1115 -[4967] Forked 1116 -(1115) found -(1116) found -[4966] Forked 1117 -[4965] Forked 1118 -(1117) found -(1118) found -[4964] Forked 1119 -[4963] Forked 1120 -(1119) found -(1120) found -[4962] Forked 1121 -[4961] Forked 1122 -(1121) found -(1122) found -[4960] Forked 1123 -[4959] Forked 1124 -(1123) found -(1124) found -[4958] Forked 1125 -(1125) found -[4957] Forked 1126 -(1126) found -[4956] Forked 1127 -(1127) found -[4955] Forked 1128 -(1128) found -[4954] Forked 1129 -(1129) found -[4953] Forked 1130 -(1130) found -[4952] Forked 1131 -(1131) found -[4951] Forked 1132 -(1132) found -[4950] Forked 1133 -[4949] Forked 1134 -(1133) found -(1134) found -[4948] Forked 1135 -[4947] Forked 1136 -(1135) found -(1136) found -[4946] Forked 1137 -[4945] Forked 1138 -(1137) found -(1138) found -[4944] Forked 1139 -[4943] Forked 1140 -(1139) found -(1140) found -[4942] Forked 1141 -[4941] Forked 1142 -(1141) found -(1142) found -[4940] Forked 1143 -[4939] Forked 1144 -(1143) found -(1144) found -[4938] Forked 1145 -[4937] Forked 1146 -(1145) found -(1146) found -[4936] Forked 1147 -[4935] Forked 1148 -(1147) found -(1148) found -[4934] Forked 1149 -[4933] Forked 1150 -(1149) found -(1150) found -[4932] Forked 1151 -[4931] Forked 1152 -(1151) found -(1152) found -[4930] Forked 1153 -[4929] Forked 1154 -(1153) found -(1154) found -[4928] Forked 1155 -[4927] Forked 1156 -(1155) found -(1156) found -[4926] Forked 1157 -[4925] Forked 1158 -(1157) found -(1158) found -[4924] Forked 1159 -[4923] Forked 1160 -(1159) found -(1160) found -[4922] Forked 1161 -[4921] Forked 1162 -(1161) found -(1162) found -[4920] Forked 1163 -[4919] Forked 1164 -(1163) found -(1164) found -[4918] Forked 1165 -[4917] Forked 1166 -(1165) found -(1166) found -[4916] Forked 1167 -(1167) found -[4915] Forked 1168 -(1168) found -[4914] Forked 1169 -(1169) found -[4913] Forked 1170 -(1170) found -[4912] Forked 1171 -(1171) found -[4911] Forked 1172 -(1172) found -[4910] Forked 1173 -(1173) found -[4909] Forked 1174 -(1174) found -[4908] Forked 1175 -(1175) found -[4907] Forked 1176 -(1176) found -[4906] Forked 1177 -(1177) found -[4905] Forked 1178 -(1178) found -[4904] Forked 1179 -(1179) found -[4903] Forked 1180 -(1180) found -[4902] Forked 1181 -(1181) found -[4901] Forked 1182 -(1182) found -[4900] Forked 1183 -(1183) found -[4899] Forked 1184 -(1184) found -[4898] Forked 1185 -(1185) found -[4897] Forked 1186 -(1186) found -[4896] Forked 1187 -(1187) found -[4895] Forked 1188 -(1188) found -[4894] Forked 1190 -(1190) found -[4893] Forked 1191 -(1191) found -[4892] Forked 1192 -(1192) found -[4891] Forked 1193 -(1193) found -[4890] Forked 1194 -(1194) found -[4889] Forked 1195 -(1195) found -[4888] Forked 1196 -(1196) found -[4887] Forked 1197 -(1197) found -[4886] Forked 1198 -(1198) found -[4885] Forked 1199 -(1199) found -[4884] Forked 1200 -(1200) found -[4883] Forked 1201 -(1201) found -[4882] Forked 1202 -(1202) found -[4881] Forked 1203 -(1203) found -[4880] Forked 1204 -[4879] Forked 1205 -(1204) found -(1205) found -[4878] Forked 1206 -[4877] Forked 1207 -(1206) found -(1207) found -[4876] Forked 1208 -[4875] Forked 1209 -(1208) found -(1209) found -[4874] Forked 1210 -[4873] Forked 1211 -(1210) found -(1211) found -[4872] Forked 1212 -[4871] Forked 1213 -(1212) found -(1213) found -[4870] Forked 1214 -[4869] Forked 1215 -(1214) found -(1215) found -[4868] Forked 1216 -[4867] Forked 1217 -(1216) found -(1217) found -[4866] Forked 1218 -[4865] Forked 1219 -(1218) found -(1219) found -[4864] Forked 1220 -[4863] Forked 1221 -(1220) found -(1221) found -[4862] Forked 1222 -[4861] Forked 1223 -(1222) found -(1223) found -[4860] Forked 1224 -[4859] Forked 1225 -(1224) found -(1225) found -[4858] Forked 1226 -[4857] Forked 1227 -(1226) found -(1227) found -[4856] Forked 1228 -[4855] Forked 1229 -(1228) found -(1229) found -[4854] Forked 1230 -[4853] Forked 1231 -(1230) found -(1231) found -[4852] Forked 1232 -[4851] Forked 1233 -(1232) found -(1233) found -[4850] Forked 1234 -[4849] Forked 1235 -(1234) found -(1235) found -[4848] Forked 1236 -[4847] Forked 1237 -(1236) found -(1237) found -[4846] Forked 1238 -[4845] Forked 1239 -(1238) found -(1239) found -[4844] Forked 1240 -[4843] Forked 1241 -(1240) found -(1241) found -[4842] Forked 1242 -[4841] Forked 1243 -(1242) found -(1243) found -[4840] Forked 1244 -[4839] Forked 1245 -(1244) found -(1245) found -[4838] Forked 1246 -[4837] Forked 1247 -(1246) found -(1247) found -[4836] Forked 1248 -[4835] Forked 1249 -(1248) found -(1249) found -[4834] Forked 1250 -[4833] Forked 1251 -(1250) found -(1251) found -[4832] Forked 1252 -(1252) found -[4831] Forked 1253 -[4830] Forked 1254 -(1253) found -(1254) found -[4829] Forked 1255 -[4828] Forked 1256 -(1255) found -(1256) found -[4827] Forked 1257 -[4826] Forked 1258 -(1257) found -(1258) found -[4825] Forked 1259 -[4824] Forked 1260 -(1259) found -(1260) found -[4823] Forked 1261 -[4822] Forked 1262 -(1261) found -(1262) found -[4821] Forked 1263 -[4820] Forked 1264 -(1263) found -(1264) found -[4819] Forked 1265 -[4818] Forked 1266 -(1265) found -(1266) found -[4817] Forked 1267 -[4816] Forked 1268 -(1267) found -(1268) found -[4815] Forked 1269 -[4814] Forked 1270 -(1269) found -(1270) found -[4813] Forked 1271 -[4812] Forked 1272 -(1271) found -(1272) found -[4811] Forked 1273 -[4810] Forked 1274 -(1273) found -(1274) found -[4809] Forked 1275 -[4808] Forked 1276 -(1275) found -(1276) found -[4807] Forked 1277 -[4806] Forked 1278 -(1277) found -(1278) found -[4805] Forked 1279 -[4804] Forked 1280 -(1279) found -(1280) found -[4803] Forked 1281 -[4802] Forked 1282 -(1281) found -(1282) found -[4801] Forked 1283 -[4800] Forked 1284 -(1283) found -(1284) found -[4799] Forked 1285 -[4798] Forked 1286 -(1285) found -(1286) found -[4797] Forked 1287 -[4796] Forked 1288 -(1287) found -(1288) found -[4795] Forked 1289 -[4794] Forked 1290 -(1289) found -(1290) found -[4793] Forked 1291 -(1291) found -[4792] Forked 1292 -(1292) found -[4791] Forked 1293 -(1293) found -[4790] Forked 1294 -(1294) found -[4789] Forked 1295 -(1295) found -[4788] Forked 1296 -(1296) found -[4787] Forked 1297 -(1297) found -[4786] Forked 1298 -(1298) found -[4785] Forked 1299 -(1299) found -[4784] Forked 1300 -(1300) found -[4783] Forked 1301 -(1301) found -[4782] Forked 1302 -(1302) found -[4781] Forked 1303 -(1303) found -[4780] Forked 1304 -(1304) found -[4779] Forked 1305 -(1305) found -[4778] Forked 1306 -(1306) found -[4777] Forked 1307 -(1307) found -[4776] Forked 1308 -(1308) found -[4775] Forked 1309 -(1309) found -[4774] Forked 1310 -(1310) found -[4773] Forked 1312 -(1312) found -[4772] Forked 1313 -(1313) found -[4771] Forked 1314 -(1314) found -[4770] Forked 1315 -(1315) found -[4769] Forked 1316 -(1316) found -[4768] Forked 1317 -(1317) found -[4767] Forked 1318 -(1318) found -[4766] Forked 1319 -(1319) found -[4765] Forked 1320 -(1320) found -[4764] Forked 1321 -(1321) found -[4763] Forked 1322 -(1322) found -[4762] Forked 1323 -(1323) found -[4761] Forked 1324 -(1324) found -[4760] Forked 1325 -(1325) found -[4759] Forked 1326 -[4758] Forked 1327 -(1326) found -(1327) found -[4757] Forked 1328 -[4756] Forked 1329 -(1328) found -(1329) found -[4755] Forked 1330 -[4754] Forked 1331 -(1330) found -(1331) found -[4753] Forked 1332 -[4752] Forked 1333 -(1332) found -(1333) found -[4751] Forked 1334 -[4750] Forked 1335 -(1334) found -(1335) found -[4749] Forked 1336 -[4748] Forked 1337 -(1336) found -(1337) found -[4747] Forked 1338 -[4746] Forked 1339 -(1338) found -(1339) found -[4745] Forked 1340 -[4744] Forked 1341 -(1340) found -(1341) found -[4743] Forked 1342 -[4742] Forked 1343 -(1342) found -(1343) found -[4741] Forked 1344 -[4740] Forked 1345 -(1344) found -(1345) found -[4739] Forked 1346 -[4738] Forked 1347 -(1346) found -(1347) found -[4737] Forked 1348 -[4736] Forked 1349 -(1348) found -(1349) found -[4735] Forked 1350 -[4734] Forked 1351 -(1350) found -(1351) found -[4733] Forked 1352 -[4732] Forked 1353 -(1352) found -(1353) found -[4731] Forked 1354 -[4730] Forked 1355 -(1354) found -(1355) found -[4729] Forked 1356 -[4728] Forked 1357 -(1356) found -(1357) found -[4727] Forked 1358 -[4726] Forked 1359 -(1358) found -(1359) found -[4725] Forked 1360 -[4724] Forked 1361 -(1360) found -(1361) found -[4723] Forked 1362 -[4722] Forked 1363 -(1362) found -(1363) found -[4721] Forked 1364 -[4720] Forked 1365 -(1364) found -(1365) found -[4719] Forked 1366 -[4718] Forked 1367 -(1366) found -(1367) found -[4717] Forked 1368 -[4716] Forked 1369 -(1368) found -(1369) found -[4715] Forked 1370 -[4714] Forked 1371 -(1370) found -(1371) found -[4713] Forked 1372 -(1372) found -[4712] Forked 1373 -(1373) found -[4711] Forked 1374 -(1374) found -[4710] Forked 1375 -(1375) found -[4709] Forked 1376 -(1376) found -[4708] Forked 1377 -(1377) found -[4707] Forked 1378 -(1378) found -[4706] Forked 1379 -(1379) found -[4705] Forked 1380 -(1380) found -[4704] Forked 1381 -(1381) found -[4703] Forked 1382 -(1382) found -[4702] Forked 1383 -(1383) found -[4701] Forked 1384 -(1384) found -[4700] Forked 1385 -(1385) found -[4699] Forked 1386 -(1386) found -[4698] Forked 1387 -(1387) found -[4697] Forked 1388 -(1388) found -[4696] Forked 1389 -(1389) found -[4695] Forked 1390 -(1390) found -[4694] Forked 1391 -(1391) found -[4693] Forked 1392 -(1392) found -[4692] Forked 1393 -(1393) found -[4691] Forked 1394 -(1394) found -[4690] Forked 1395 -(1395) found -[4689] Forked 1396 -(1396) found -[4688] Forked 1397 -(1397) found -[4687] Forked 1398 -(1398) found -[4686] Forked 1399 -(1399) found -[4685] Forked 1400 -(1400) found -[4684] Forked 1401 -(1401) found -[4683] Forked 1402 -(1402) found -[4682] Forked 1403 -(1403) found -[4681] Forked 1404 -(1404) found -[4680] Forked 1405 -(1405) found -[4679] Forked 1406 -[4678] Forked 1407 -(1406) found -(1407) found -[4677] Forked 1408 -[4676] Forked 1409 -(1408) found -(1409) found -[4675] Forked 1410 -[4674] Forked 1411 -(1410) found -(1411) found -[4673] Forked 1412 -[4672] Forked 1413 -(1412) found -(1413) found -[4671] Forked 1414 -[4670] Forked 1415 -(1414) found -(1415) found -[4669] Forked 1416 -[4668] Forked 1417 -(1416) found -(1417) found -[4667] Forked 1418 -[4666] Forked 1419 -(1418) found -(1419) found -[4665] Forked 1420 -[4664] Forked 1421 -(1420) found -(1421) found -[4663] Forked 1422 -[4662] Forked 1423 -(1422) found -(1423) found -[4661] Forked 1424 -[4660] Forked 1425 -(1424) found -(1425) found -[4659] Forked 1426 -[4658] Forked 1427 -(1426) found -(1427) found -[4657] Forked 1428 -[4656] Forked 1429 -(1428) found -(1429) found -[4655] Forked 1430 -[4654] Forked 1431 -(1431) found -(1430) found -[4653] Forked 1432 -(1432) found -[4652] Forked 1433 -(1433) found -[4651] Forked 1434 -(1434) found -[4650] Forked 1435 -(1435) found -[4649] Forked 1436 -(1436) found -[4648] Forked 1437 -(1437) found -[4647] Forked 1438 -(1438) found -[4646] Forked 1440 -(1440) found -[4645] Forked 1441 -(1441) found -[4644] Forked 1442 -(1442) found -[4643] Forked 1443 -(1443) found -[4642] Forked 1444 -(1444) found -[4641] Forked 1445 -(1445) found -[4640] Forked 1446 -(1446) found -[4639] Forked 1447 -(1447) found -[4638] Forked 1448 -(1448) found -[4637] Forked 1449 -(1449) found -[4636] Forked 1450 -(1450) found -[4635] Forked 1451 -(1451) found -[4634] Forked 1452 -(1452) found -[4633] Forked 1453 -(1453) found -[4632] Forked 1454 -(1454) found -[4631] Forked 1455 -(1455) found -[4630] Forked 1456 -(1456) found -[4629] Forked 1457 -(1457) found -[4628] Forked 1458 -(1458) found -[4627] Forked 1459 -(1459) found -[4626] Forked 1460 -(1460) found -[4625] Forked 1461 -(1461) found -[4624] Forked 1462 -(1462) found -[4623] Forked 1463 -(1463) found -[4622] Forked 1464 -(1464) found -[4621] Forked 1465 -(1465) found -[4620] Forked 1466 -(1466) found -[4619] Forked 1467 -(1467) found -[4618] Forked 1468 -(1468) found -[4617] Forked 1469 -(1469) found -[4616] Forked 1470 -(1470) found -[4615] Forked 1471 -(1471) found -[4614] Forked 1472 -(1472) found -[4613] Forked 1473 -(1473) found -[4612] Forked 1474 -(1474) found -[4611] Forked 1475 -(1475) found -[4610] Forked 1476 -(1476) found -[4609] Forked 1477 -(1477) found -[4608] Forked 1478 -(1478) found -[4607] Forked 1479 -(1479) found -[4606] Forked 1480 -(1480) found -[4605] Forked 1481 -(1481) found -[4604] Forked 1482 -(1482) found -[4603] Forked 1483 -(1483) found -[4602] Forked 1484 -(1484) found -[4601] Forked 1485 -(1485) found -[4600] Forked 1486 -(1486) found -[4599] Forked 1487 -(1487) found -[4598] Forked 1488 -(1488) found -[4597] Forked 1489 -(1489) found -[4596] Forked 1490 -(1490) found -[4595] Forked 1491 -(1491) found -[4594] Forked 1492 -(1492) found -[4593] Forked 1493 -(1493) found -[4592] Forked 1494 -(1494) found -[4591] Forked 1495 -(1495) found -[4590] Forked 1496 -(1496) found -[4589] Forked 1497 -(1497) found -[4588] Forked 1498 -(1498) found -[4587] Forked 1499 -(1499) found -[4586] Forked 1500 -(1500) found -[4585] Forked 1501 -(1501) found -[4584] Forked 1502 -(1502) found -[4583] Forked 1503 -(1503) found -[4582] Forked 1504 -(1504) found -[4581] Forked 1505 -(1505) found -[4580] Forked 1506 -(1506) found -[4579] Forked 1507 -(1507) found -[4578] Forked 1508 -(1508) found -[4577] Forked 1509 -(1509) found -[4576] Forked 1510 -(1510) found -[4575] Forked 1511 -(1511) found -[4574] Forked 1512 -(1512) found -[4573] Forked 1513 -(1513) found -[4572] Forked 1514 -(1514) found -[4571] Forked 1515 -[4570] Forked 1516 -(1515) found -(1516) found -[4569] Forked 1517 -[4568] Forked 1518 -(1517) found -(1518) found -[4567] Forked 1519 -(1519) found -[4566] Forked 1520 -[4565] Forked 1521 -(1520) found -(1521) found -[4564] Forked 1522 -[4563] Forked 1523 -(1522) found -(1523) found -[4562] Forked 1524 -[4561] Forked 1525 -(1524) found -(1525) found -[4560] Forked 1526 -[4559] Forked 1527 -(1526) found -(1527) found -[4558] Forked 1528 -[4557] Forked 1529 -(1528) found -(1529) found -[4556] Forked 1530 -[4555] Forked 1531 -(1530) found -(1531) found -[4554] Forked 1532 -[4553] Forked 1533 -(1532) found -(1533) found -[4552] Forked 1534 -[4551] Forked 1535 -(1534) found -(1535) found -[4550] Forked 1536 -[4549] Forked 1537 -(1536) found -(1537) found -[4548] Forked 1538 -[4547] Forked 1539 -(1538) found -(1539) found -[4546] Forked 1540 -[4545] Forked 1541 -(1540) found -(1541) found -[4544] Forked 1542 -[4543] Forked 1543 -(1542) found -(1543) found -[4542] Forked 1544 -[4541] Forked 1545 -(1544) found -(1545) found -[4540] Forked 1546 -[4539] Forked 1547 -(1546) found -(1547) found -[4538] Forked 1548 -[4537] Forked 1549 -(1548) found -(1549) found -[4536] Forked 1550 -[4535] Forked 1551 -(1550) found -(1551) found -[4534] Forked 1552 -[4533] Forked 1553 -(1552) found -(1553) found -[4532] Forked 1554 -[4531] Forked 1555 -(1554) found -(1555) found -[4530] Forked 1556 -[4529] Forked 1557 -(1556) found -(1557) found -[4528] Forked 1558 -[4527] Forked 1559 -(1558) found -(1559) found -[4526] Forked 1560 -[4525] Forked 1561 -(1560) found -(1561) found -[4524] Forked 1562 -[4523] Forked 1563 -(1562) found -(1563) found -[4522] Forked 1564 -[4521] Forked 1565 -(1564) found -(1565) found -[4520] Forked 1566 -[4519] Forked 1567 -(1566) found -(1567) found -[4518] Forked 1568 -[4517] Forked 1569 -(1568) found -(1569) found -[4516] Forked 1570 -[4515] Forked 1571 -(1570) found -(1571) found -[4514] Forked 1572 -[4513] Forked 1573 -(1572) found -(1573) found -[4512] Forked 1574 -[4511] Forked 1575 -(1574) found -(1575) found -[4510] Forked 1576 -[4509] Forked 1577 -(1576) found -(1577) found -[4508] Forked 1578 -[4507] Forked 1579 -(1578) found -(1579) found -[4506] Forked 1580 -[4505] Forked 1581 -(1580) found -(1581) found -[4504] Forked 1582 -[4503] Forked 1583 -(1582) found -(1583) found -[4502] Forked 1584 -[4501] Forked 1585 -(1584) found -(1585) found -[4500] Forked 1586 -[4499] Forked 1587 -(1586) found -(1587) found -[4498] Forked 1588 -[4497] Forked 1589 -(1588) found -(1589) found -[4496] Forked 1590 -[4495] Forked 1591 -(1590) found -(1591) found -[4494] Forked 1592 -[4493] Forked 1593 -(1592) found -(1593) found -[4492] Forked 1595 -[4491] Forked 1596 -(1595) found -(1596) found -[4490] Forked 1597 -[4489] Forked 1598 -(1597) found -(1598) found -[4488] Forked 1599 -[4487] Forked 1600 -(1599) found -(1600) found -[4486] Forked 1601 -[4485] Forked 1602 -(1601) found -(1602) found -[4484] Forked 1603 -[4483] Forked 1604 -(1603) found -(1604) found -[4482] Forked 1605 -[4481] Forked 1606 -(1605) found -(1606) found -[4480] Forked 1607 -[4479] Forked 1608 -(1607) found -(1608) found -[4478] Forked 1609 -[4477] Forked 1611 -(1609) found -(1611) found -[4476] Forked 1612 -(1612) found -[4475] Forked 1613 -(1613) found -[4474] Forked 1614 -(1614) found -[4473] Forked 1615 -(1615) found -[4472] Forked 1616 -(1616) found -[4471] Forked 1617 -(1617) found -[4470] Forked 1618 -(1618) found -[4469] Forked 1619 -(1619) found -[4468] Forked 1620 -(1620) found -[4467] Forked 1621 -(1621) found -[4466] Forked 1622 -(1622) found -[4465] Forked 1623 -(1623) found -[4464] Forked 1624 -(1624) found -[4463] Forked 1625 -(1625) found -[4462] Forked 1626 -(1626) found -[4461] Forked 1627 -(1627) found -[4460] Forked 1628 -(1628) found -[4459] Forked 1629 -(1629) found -[4458] Forked 1630 -(1630) found -[4457] Forked 1631 -(1631) found -[4456] Forked 1632 -(1632) found -[4455] Forked 1633 -(1633) found -[4454] Forked 1634 -(1634) found -[4453] Forked 1635 -(1635) found -[4452] Forked 1636 -(1636) found -[4451] Forked 1637 -(1637) found -[4450] Forked 1638 -(1638) found -[4449] Forked 1639 -(1639) found -[4448] Forked 1640 -(1640) found -[4447] Forked 1641 -(1641) found -[4446] Forked 1642 -(1642) found -[4445] Forked 1643 -(1643) found -[4444] Forked 1644 -(1644) found -[4443] Forked 1645 -(1645) found -[4442] Forked 1646 -(1646) found -[4441] Forked 1647 -(1647) found -[4440] Forked 1648 -(1648) found -[4439] Forked 1649 -(1649) found -[4438] Forked 1650 -(1650) found -[4437] Forked 1651 -(1651) found -[4436] Forked 1652 -(1652) found -[4435] Forked 1653 -(1653) found -[4434] Forked 1654 -(1654) found -[4433] Forked 1655 -(1655) found -[4432] Forked 1656 -(1656) found -[4431] Forked 1657 -(1657) found -[4430] Forked 1658 -(1658) found -[4429] Forked 1659 -(1659) found -[4428] Forked 1660 -(1660) found -[4427] Forked 1661 -(1661) found -[4426] Forked 1662 -(1662) found -[4425] Forked 1663 -(1663) found -[4424] Forked 1664 -(1664) found -[4423] Forked 1665 -(1665) found -[4422] Forked 1666 -(1666) found -[4421] Forked 1668 -(1668) found -[4420] Forked 1669 -(1669) found -[4419] Forked 1670 -(1670) found -[4418] Forked 1671 -(1671) found -[4417] Forked 1672 -(1672) found -[4416] Forked 1673 -(1673) found -[4415] Forked 1674 -(1674) found -[4414] Forked 1675 -(1675) found -[4413] Forked 1676 -(1676) found -[4412] Forked 1677 -(1677) found -[4411] Forked 1679 -(1679) found -[4410] Forked 1680 -[4409] Forked 1681 -(1680) found -(1681) found -[4408] Forked 1682 -[4407] Forked 1683 -(1682) found -(1683) found -[4406] Forked 1684 -[4405] Forked 1685 -(1684) found -(1685) found -[4404] Forked 1686 -[4403] Forked 1687 -(1686) found -(1687) found -[4402] Forked 1688 -[4401] Forked 1689 -(1688) found -(1689) found -[4400] Forked 1690 -[4399] Forked 1691 -(1690) found -(1691) found -[4398] Forked 1692 -[4397] Forked 1693 -(1692) found -(1693) found -[4396] Forked 1694 -[4395] Forked 1695 -(1694) found -(1695) found -[4394] Forked 1696 -[4393] Forked 1697 -(1696) found -(1697) found -[4392] Forked 1698 -[4391] Forked 1699 -(1698) found -(1699) found -[4390] Forked 1700 -[4389] Forked 1701 -(1700) found -(1701) found -[4388] Forked 1702 -[4387] Forked 1703 -(1702) found -(1703) found -[4386] Forked 1704 -[4385] Forked 1705 -(1704) found -(1705) found -[4384] Forked 1706 -[4383] Forked 1707 -(1706) found -(1707) found -[4382] Forked 1708 -[4381] Forked 1709 -(1708) found -(1709) found -[4380] Forked 1710 -[4379] Forked 1711 -(1710) found -(1711) found -[4378] Forked 1712 -[4377] Forked 1713 -(1712) found -(1713) found -[4376] Forked 1714 -[4375] Forked 1715 -(1714) found -(1715) found -[4374] Forked 1716 -[4373] Forked 1717 -(1716) found -(1717) found -[4372] Forked 1718 -[4371] Forked 1719 -(1718) found -(1719) found -[4370] Forked 1720 -[4369] Forked 1721 -(1720) found -(1721) found -[4368] Forked 1722 -[4367] Forked 1723 -(1722) found -(1723) found -[4366] Forked 1724 -(1724) found -[4365] Forked 1725 -(1725) found -[4364] Forked 1726 -(1726) found -[4363] Forked 1727 -(1727) found -[4362] Forked 1728 -(1728) found -[4361] Forked 1729 -(1729) found -[4360] Forked 1730 -(1730) found -[4359] Forked 1731 -(1731) found -[4358] Forked 1732 -(1732) found -[4357] Forked 1733 -(1733) found -[4356] Forked 1734 -(1734) found -[4355] Forked 1735 -(1735) found -[4354] Forked 1736 -(1736) found -[4353] Forked 1737 -(1737) found -[4352] Forked 1738 -(1738) found -[4351] Forked 1739 -(1739) found -[4350] Forked 1740 -(1740) found -[4349] Forked 1741 -(1741) found -[4348] Forked 1742 -(1742) found -[4347] Forked 1743 -(1743) found -[4346] Forked 1744 -(1744) found -[4345] Forked 1745 -(1745) found -[4344] Forked 1746 -(1746) found -[4343] Forked 1747 -(1747) found -[4342] Forked 1748 -(1748) found -[4341] Forked 1749 -(1749) found -[4340] Forked 1750 -(1750) found -[4339] Forked 1751 -(1751) found -[4338] Forked 1752 -(1752) found -[4337] Forked 1753 -(1753) found -[4336] Forked 1754 -(1754) found -[4335] Forked 1755 -(1755) found -[4334] Forked 1756 -(1756) found -[4333] Forked 1757 -(1757) found -[4332] Forked 1758 -(1758) found -[4331] Forked 1760 -[4330] Forked 1761 -(1760) found -(1761) found -[4329] Forked 1762 -[4328] Forked 1763 -(1762) found -(1763) found -[4327] Forked 1764 -[4326] Forked 1765 -(1764) found -(1765) found -[4325] Forked 1766 -[4324] Forked 1767 -(1766) found -(1767) found -[4323] Forked 1768 -[4322] Forked 1769 -(1768) found -(1769) found -[4321] Forked 1770 -[4320] Forked 1771 -(1770) found -(1771) found -[4319] Forked 1772 -[4318] Forked 1773 -(1772) found -(1773) found -[4317] Forked 1774 -[4316] Forked 1775 -(1774) found -(1775) found -[4315] Forked 1776 -[4314] Forked 1777 -(1776) found -(1777) found -[4313] Forked 1778 -[4312] Forked 1779 -(1778) found -(1779) found -[4311] Forked 1780 -[4310] Forked 1781 -(1780) found -(1781) found -[4309] Forked 1782 -[4308] Forked 1783 -(1782) found -(1783) found -[4307] Forked 1784 -[4306] Forked 1785 -(1784) found -(1785) found -[4305] Forked 1786 -[4304] Forked 1787 -(1786) found -(1787) found -[4303] Forked 1788 -[4302] Forked 1789 -(1788) found -(1789) found -[4301] Forked 1790 -[4300] Forked 1791 -(1790) found -(1791) found -[4299] Forked 1792 -[4298] Forked 1793 -(1792) found -(1793) found -[4297] Forked 1794 -[4296] Forked 1795 -(1794) found -(1795) found -[4295] Forked 1796 -[4294] Forked 1797 -(1796) found -(1797) found -[4293] Forked 1798 -[4292] Forked 1799 -(1798) found -(1799) found -[4291] Forked 1800 -[4290] Forked 1801 -(1800) found -(1801) found -[4289] Forked 1802 -[4288] Forked 1803 -(1802) found -(1803) found -[4287] Forked 1804 -[4286] Forked 1805 -(1804) found -(1805) found -[4285] Forked 1806 -[4284] Forked 1807 -(1806) found -(1807) found -[4283] Forked 1808 -[4282] Forked 1809 -(1808) found -(1809) found -[4281] Forked 1810 -[4280] Forked 1811 -(1810) found -(1811) found -[4279] Forked 1812 -[4278] Forked 1813 -(1812) found -(1813) found -[4277] Forked 1814 -[4276] Forked 1815 -(1814) found -(1815) found -[4275] Forked 1816 -[4274] Forked 1817 -(1816) found -(1817) found -[4273] Forked 1818 -[4272] Forked 1819 -(1818) found -(1819) found -[4271] Forked 1820 -[4270] Forked 1821 -(1820) found -(1821) found -[4269] Forked 1822 -[4268] Forked 1823 -(1822) found -(1823) found -[4267] Forked 1824 -[4266] Forked 1825 -(1824) found -(1825) found -[4265] Forked 1826 -[4264] Forked 1827 -(1826) found -(1827) found -[4263] Forked 1828 -[4262] Forked 1829 -(1828) found -(1829) found -[4261] Forked 1830 -[4260] Forked 1831 -(1830) found -(1831) found -[4259] Forked 1832 -[4258] Forked 1833 -(1832) found -(1833) found -[4257] Forked 1834 -[4256] Forked 1835 -(1834) found -(1835) found -[4255] Forked 1836 -[4254] Forked 1837 -(1836) found -(1837) found -[4253] Forked 1838 -[4252] Forked 1839 -(1838) found -(1839) found -[4251] Forked 1840 -[4250] Forked 1841 -(1840) found -(1841) found -[4249] Forked 1842 -[4248] Forked 1843 -(1842) found -(1843) found -[4247] Forked 1844 -[4246] Forked 1845 -(1844) found -(1845) found -[4245] Forked 1846 -[4244] Forked 1847 -(1846) found -(1847) found -[4243] Forked 1848 -[4242] Forked 1849 -(1848) found -(1849) found -[4241] Forked 1850 -[4240] Forked 1851 -(1850) found -(1851) found -[4239] Forked 1852 -[4238] Forked 1853 -(1852) found -(1853) found -[4237] Forked 1854 -[4236] Forked 1855 -(1854) found -(1855) found -[4235] Forked 1856 -[4234] Forked 1857 -(1856) found -(1857) found -[4233] Forked 1858 -[4232] Forked 1859 -(1858) found -(1859) found -[4231] Forked 1860 -[4230] Forked 1861 -(1860) found -(1861) found -[4229] Forked 1862 -[4228] Forked 1863 -(1862) found -(1863) found -[4227] Forked 1864 -[4226] Forked 1865 -(1864) found -(1865) found -[4225] Forked 1866 -[4224] Forked 1867 -(1866) found -(1867) found -[4223] Forked 1868 -[4222] Forked 1869 -(1868) found -(1869) found -[4221] Forked 1870 -[4220] Forked 1871 -(1870) found -(1871) found -[4219] Forked 1872 -[4218] Forked 1873 -(1872) found -(1873) found -[4217] Forked 1874 -[4216] Forked 1875 -(1874) found -(1875) found -[4215] Forked 1876 -[4214] Forked 1877 -(1876) found -(1877) found -[4213] Forked 1878 -[4212] Forked 1879 -(1878) found -(1879) found -[4211] Forked 1880 -[4210] Forked 1881 -(1880) found -(1881) found -[4209] Forked 1882 -[4208] Forked 1883 -(1882) found -(1883) found -[4207] Forked 1884 -[4206] Forked 1885 -(1884) found -(1885) found -[4205] Forked 1886 -[4204] Forked 1887 -(1886) found -(1887) found -[4203] Forked 1888 -[4202] Forked 1889 -(1888) found -(1889) found -[4201] Forked 1890 -[4200] Forked 1891 -(1890) found -(1891) found -[4199] Forked 1892 -[4198] Forked 1893 -(1892) found -(1893) found -[4197] Forked 1894 -(1894) found -[4196] Forked 1895 -[4195] Forked 1896 -(1895) found -(1896) found -[4194] Forked 1897 -[4193] Forked 1898 -(1897) found -(1898) found -[4192] Forked 1899 -[4191] Forked 1900 -(1899) found -(1900) found -[4190] Forked 1901 -[4189] Forked 1902 -(1901) found -(1902) found -[4188] Forked 1903 -[4187] Forked 1904 -(1903) found -(1904) found -[4186] Forked 1905 -[4185] Forked 1906 -(1905) found -(1906) found -[4184] Forked 1907 -[4183] Forked 1908 -(1907) found -(1908) found -[4182] Forked 1909 -[4181] Forked 1910 -(1909) found -(1910) found -[4180] Forked 1911 -[4179] Forked 1912 -(1911) found -(1912) found -[4178] Forked 1913 -[4177] Forked 1914 -(1913) found -(1914) found -[4176] Forked 1915 -[4175] Forked 1916 -(1915) found -(1916) found -[4174] Forked 1917 -[4173] Forked 1918 -(1917) found -(1918) found -[4172] Forked 1919 -[4171] Forked 1920 -(1919) found -(1920) found -[4170] Forked 1921 -[4169] Forked 1922 -(1921) found -(1922) found -[4168] Forked 1923 -[4167] Forked 1924 -(1923) found -(1924) found -[4166] Forked 1925 -[4165] Forked 1926 -(1925) found -(1926) found -[4164] Forked 1927 -[4163] Forked 1928 -(1927) found -(1928) found -[4162] Forked 1929 -[4161] Forked 1930 -(1929) found -(1930) found -[4160] Forked 1931 -[4159] Forked 1932 -(1931) found -(1932) found -[4158] Forked 1933 -[4157] Forked 1934 -(1933) found -(1934) found -[4156] Forked 1935 -[4155] Forked 1936 -(1935) found -(1936) found -[4154] Forked 1937 -[4153] Forked 1938 -(1937) found -(1938) found -[4152] Forked 1939 -[4151] Forked 1940 -(1939) found -(1940) found -[4150] Forked 1941 -(1941) found -[4149] Forked 1942 -(1942) found -[4148] Forked 1943 -(1943) found -[4147] Forked 1944 -(1944) found -[4146] Forked 1945 -(1945) found -[4145] Forked 1946 -(1946) found -[4144] Forked 1947 -(1947) found -[4143] Forked 1948 -(1948) found -[4142] Forked 1949 -(1949) found -[4141] Forked 1950 -(1950) found -[4140] Forked 1951 -(1951) found -[4139] Forked 1952 -(1952) found -[4138] Forked 1953 -(1953) found -[4137] Forked 1954 -(1954) found -[4136] Forked 1955 -(1955) found -[4135] Forked 1956 -(1956) found -[4134] Forked 1957 -(1957) found -[4133] Forked 1958 -(1958) found -[4132] Forked 1959 -(1959) found -[4131] Forked 1960 -(1960) found -[4130] Forked 1961 -(1961) found -[4129] Forked 1962 -(1962) found -[4128] Forked 1963 -(1963) found -[4127] Forked 1964 -(1964) found -[4126] Forked 1965 -(1965) found -[4125] Forked 1966 -(1966) found -[4124] Forked 1967 -(1967) found -[4123] Forked 1968 -(1968) found -[4122] Forked 1969 -(1969) found -[4121] Forked 1970 -(1970) found -[4120] Forked 1971 -(1971) found -[4119] Forked 1972 -(1972) found -[4118] Forked 1973 -(1973) found -[4117] Forked 1974 -(1974) found -[4116] Forked 1975 -[4115] Forked 1976 -(1975) found -(1976) found -[4114] Forked 1977 -[4113] Forked 1978 -(1977) found -(1978) found -[4112] Forked 1979 -(1979) found -[4111] Forked 1980 -(1980) found -[4110] Forked 1981 -[4109] Forked 1982 -(1981) found -(1982) found -[4108] Forked 1983 -[4107] Forked 1984 -(1983) found -(1984) found -[4106] Forked 1985 -[4105] Forked 1986 -(1985) found -(1986) found -[4104] Forked 1987 -[4103] Forked 1988 -(1987) found -(1988) found -[4102] Forked 1989 -[4101] Forked 1990 -(1989) found -(1990) found -[4100] Forked 1991 -[4099] Forked 1992 -(1991) found -(1992) found -[4098] Forked 1993 -[4097] Forked 1994 -(1993) found -(1994) found -[4096] Forked 1995 -[4095] Forked 1996 -(1995) found -(1996) found -[4094] Forked 1997 -[4093] Forked 1998 -(1997) found -(1998) found -[4092] Forked 1999 -[4091] Forked 2000 -(1999) found -(2000) found -[4090] Forked 2001 -[4089] Forked 2002 -(2001) found -(2002) found -[4088] Forked 2003 -[4087] Forked 2004 -(2003) found -(2004) found -[4086] Forked 2005 -[4085] Forked 2006 -(2005) found -(2006) found -[4084] Forked 2007 -[4083] Forked 2008 -(2007) found -(2008) found -[4082] Forked 2009 -[4081] Forked 2010 -(2009) found -(2010) found -[4080] Forked 2011 -[4079] Forked 2012 -(2011) found -(2012) found -[4078] Forked 2013 -[4077] Forked 2014 -(2013) found -(2014) found -[4076] Forked 2015 -[4075] Forked 2016 -(2015) found -(2016) found -[4074] Forked 2017 -[4073] Forked 2018 -(2017) found -(2018) found -[4072] Forked 2019 -[4071] Forked 2020 -(2019) found -(2020) found -[4070] Forked 2021 -[4069] Forked 2022 -(2021) found -(2022) found -[4068] Forked 2023 -[4067] Forked 2024 -(2023) found -(2024) found -[4066] Forked 2025 -[4065] Forked 2026 -(2025) found -(2026) found -[4064] Forked 2027 -[4063] Forked 2028 -(2027) found -(2028) found -[4062] Forked 2029 -[4061] Forked 2030 -(2029) found -(2030) found -[4060] Forked 2031 -[4059] Forked 2032 -(2031) found -(2032) found -[4058] Forked 2033 -[4057] Forked 2034 -(2033) found -(2034) found -[4056] Forked 2035 -[4055] Forked 2036 -(2035) found -(2036) found -[4054] Forked 2037 -[4053] Forked 2038 -(2037) found -(2038) found -[4052] Forked 2039 -[4051] Forked 2040 -(2039) found -(2040) found -[4050] Forked 2041 -[4049] Forked 2042 -(2041) found -(2042) found -[4048] Forked 2043 -[4047] Forked 2044 -(2043) found -(2044) found -[4046] Forked 2045 -[4045] Forked 2046 -(2045) found -(2046) found -[4044] Forked 2047 -[4043] Forked 2048 -(2047) found -(2048) found -[4042] Forked 2049 -[4041] Forked 2050 -(2049) found -(2050) found -[4040] Forked 2051 -[4039] Forked 2052 -(2051) found -(2052) found -[4038] Forked 2053 -[4037] Forked 2054 -(2053) found -(2054) found -[4036] Forked 2055 -[4035] Forked 2056 -(2055) found -(2056) found -[4034] Forked 2057 -[4033] Forked 2058 -(2057) found -(2058) found -[4032] Forked 2059 -[4031] Forked 2060 -(2059) found -(2060) found -[4030] Forked 2061 -[4029] Forked 2062 -(2061) found -(2062) found -[4028] Forked 2063 -[4027] Forked 2064 -(2063) found -(2064) found -[4026] Forked 2065 -[4025] Forked 2066 -(2065) found -(2066) found -[4024] Forked 2067 -[4023] Forked 2068 -(2067) found -(2068) found -[4022] Forked 2070 -[4021] Forked 2071 -(2070) found -(2071) found -[4020] Forked 2072 -[4019] Forked 2073 -(2072) found -(2073) found -[4018] Forked 2074 -[4017] Forked 2075 -(2074) found -(2075) found -[4016] Forked 2076 -[4015] Forked 2077 -(2076) found -(2077) found -[4014] Forked 2078 -[4013] Forked 2079 -(2078) found -(2079) found -[4012] Forked 2080 -[4011] Forked 2081 -(2080) found -(2081) found -[4010] Forked 2082 -[4009] Forked 2083 -(2082) found -(2083) found -[4008] Forked 2084 -[4007] Forked 2085 -(2084) found -(2085) found -[4006] Forked 2086 -[4005] Forked 2087 -(2086) found -(2087) found -[4004] Forked 2088 -[4003] Forked 2089 -(2088) found -(2089) found -[4002] Forked 2090 -[4001] Forked 2091 -(2090) found -(2091) found -[4000] Forked 2092 -[3999] Forked 2093 -(2092) found -(2093) found -[3998] Forked 2094 -[3997] Forked 2095 -(2094) found -(2095) found -[3996] Forked 2096 -[3995] Forked 2097 -(2096) found -(2097) found -[3994] Forked 2098 -[3993] Forked 2099 -(2098) found -(2099) found -[3992] Forked 2100 -[3991] Forked 2101 -(2100) found -(2101) found -[3990] Forked 2102 -[3989] Forked 2103 -(2102) found -(2103) found -[3988] Forked 2104 -[3987] Forked 2105 -(2104) found -(2105) found -[3986] Forked 2106 -[3985] Forked 2109 -(2106) found -(2109) found -[3984] Forked 2110 -[3983] Forked 2111 -(2110) found -(2111) found -[3982] Forked 2112 -[3981] Forked 2113 -(2112) found -(2113) found -[3980] Forked 2114 -[3979] Forked 2115 -(2114) found -(2115) found -[3978] Forked 2116 -[3977] Forked 2117 -(2116) found -(2117) found -[3976] Forked 2118 -[3975] Forked 2119 -(2118) found -(2119) found -[3974] Forked 2120 -[3973] Forked 2121 -(2120) found -(2121) found -[3972] Forked 2122 -[3971] Forked 2123 -(2122) found -(2123) found -[3970] Forked 2124 -[3969] Forked 2125 -(2124) found -(2125) found -[3968] Forked 2126 -[3967] Forked 2127 -(2126) found -(2127) found -[3966] Forked 2128 -[3965] Forked 2129 -(2128) found -(2129) found -[3964] Forked 2130 -[3963] Forked 2131 -(2130) found -(2131) found -[3962] Forked 2132 -[3961] Forked 2133 -(2132) found -(2133) found -[3960] Forked 2134 -[3959] Forked 2135 -(2134) found -(2135) found -[3958] Forked 2136 -[3957] Forked 2137 -(2136) found -(2137) found -[3956] Forked 2138 -[3955] Forked 2139 -(2138) found -(2139) found -[3954] Forked 2140 -[3953] Forked 2141 -(2140) found -(2141) found -[3952] Forked 2142 -[3951] Forked 2143 -(2142) found -(2143) found -[3950] Forked 2144 -[3949] Forked 2145 -(2144) found -(2145) found -[3948] Forked 2146 -[3947] Forked 2147 -(2146) found -(2147) found -[3946] Forked 2148 -[3945] Forked 2149 -(2148) found -(2149) found -[3944] Forked 2150 -[3943] Forked 2151 -(2150) found -(2151) found -[3942] Forked 2152 -[3941] Forked 2153 -(2152) found -(2153) found -[3940] Forked 2154 -[3939] Forked 2155 -(2154) found -(2155) found -[3938] Forked 2156 -[3937] Forked 2157 -(2156) found -(2157) found -[3936] Forked 2158 -[3935] Forked 2159 -(2158) found -(2159) found -[3934] Forked 2160 -[3933] Forked 2161 -(2160) found -(2161) found -[3932] Forked 2162 -[3931] Forked 2163 -(2162) found -(2163) found -[3930] Forked 2164 -[3929] Forked 2165 -(2164) found -(2165) found -[3928] Forked 2166 -[3927] Forked 2167 -(2166) found -(2167) found -[3926] Forked 2168 -[3925] Forked 2169 -(2168) found -(2169) found -[3924] Forked 2170 -[3923] Forked 2171 -(2170) found -(2171) found -[3922] Forked 2172 -[3921] Forked 2173 -(2172) found -(2173) found -[3920] Forked 2174 -[3919] Forked 2175 -(2174) found -(2175) found -[3918] Forked 2176 -[3917] Forked 2177 -(2176) found -(2177) found -[3916] Forked 2178 -[3915] Forked 2179 -(2178) found -(2179) found -[3914] Forked 2180 -[3913] Forked 2181 -(2180) found -(2181) found -[3912] Forked 2182 -[3911] Forked 2183 -(2182) found -(2183) found -[3910] Forked 2184 -[3909] Forked 2185 -(2184) found -(2185) found -[3908] Forked 2186 -[3907] Forked 2187 -(2186) found -(2187) found -[3906] Forked 2188 -[3905] Forked 2189 -(2188) found -(2189) found -[3904] Forked 2190 -[3903] Forked 2191 -(2190) found -(2191) found -[3902] Forked 2192 -[3901] Forked 2193 -(2192) found -(2193) found -[3900] Forked 2194 -[3899] Forked 2195 -(2194) found -(2195) found -[3898] Forked 2196 -[3897] Forked 2197 -(2196) found -(2197) found -[3896] Forked 2198 -[3895] Forked 2199 -(2198) found -(2199) found -[3894] Forked 2200 -[3893] Forked 2201 -(2200) found -(2201) found -[3892] Forked 2202 -(2202) found -[3891] Forked 2203 -[3890] Forked 2204 -(2203) found -(2204) found -[3889] Forked 2205 -[3888] Forked 2206 -(2205) found -(2206) found -[3887] Forked 2207 -[3886] Forked 2208 -(2207) found -(2208) found -[3885] Forked 2209 -[3884] Forked 2210 -(2209) found -(2210) found -[3883] Forked 2211 -[3882] Forked 2212 -(2211) found -(2212) found -[3881] Forked 2213 -[3880] Forked 2214 -(2213) found -(2214) found -[3879] Forked 2215 -[3878] Forked 2216 -(2215) found -(2216) found -[3877] Forked 2217 -[3876] Forked 2218 -(2217) found -(2218) found -[3875] Forked 2219 -[3874] Forked 2220 -(2219) found -(2220) found -[3873] Forked 2221 -[3872] Forked 2222 -(2221) found -(2222) found -[3871] Forked 2223 -[3870] Forked 2224 -(2223) found -(2224) found -[3869] Forked 2225 -[3868] Forked 2226 -(2225) found -(2226) found -[3867] Forked 2227 -[3866] Forked 2228 -(2227) found -(2228) found -[3865] Forked 2229 -[3864] Forked 2230 -(2229) found -(2230) found -[3863] Forked 2231 -[3862] Forked 2232 -(2231) found -(2232) found -[3861] Forked 2233 -[3860] Forked 2234 -(2233) found -(2234) found -[3859] Forked 2235 -[3858] Forked 2236 -(2235) found -(2236) found -[3857] Forked 2237 -[3856] Forked 2238 -(2237) found -(2238) found -[3855] Forked 2239 -[3854] Forked 2240 -(2239) found -(2240) found -[3853] Forked 2241 -[3852] Forked 2242 -(2241) found -(2242) found -[3851] Forked 2243 -[3850] Forked 2244 -(2243) found -(2244) found -[3849] Forked 2245 -[3848] Forked 2246 -(2245) found -(2246) found -[3847] Forked 2247 -[3846] Forked 2248 -(2247) found -(2248) found -[3845] Forked 2249 -[3844] Forked 2250 -(2249) found -(2250) found -[3843] Forked 2251 -[3842] Forked 2252 -(2251) found -(2252) found -[3841] Forked 2253 -[3840] Forked 2254 -(2253) found -(2254) found -[3839] Forked 2255 -[3838] Forked 2256 -(2255) found -(2256) found -[3837] Forked 2257 -[3836] Forked 2258 -(2257) found -(2258) found -[3835] Forked 2259 -[3834] Forked 2260 -(2259) found -(2260) found -[3833] Forked 2261 -[3832] Forked 2265 -(2261) found -(2265) found -[3831] Forked 2266 -[3830] Forked 2267 -(2266) found -(2267) found -[3829] Forked 2268 -[3828] Forked 2269 -(2268) found -(2269) found -[3827] Forked 2270 -[3826] Forked 2271 -(2270) found -(2271) found -[3825] Forked 2272 -[3824] Forked 2273 -(2272) found -(2273) found -[3823] Forked 2274 -[3822] Forked 2275 -(2274) found -(2275) found -[3821] Forked 2276 -[3820] Forked 2277 -(2276) found -(2277) found -[3819] Forked 2278 -[3818] Forked 2279 -(2278) found -(2279) found -[3817] Forked 2280 -[3816] Forked 2281 -(2280) found -(2281) found -[3815] Forked 2282 -[3814] Forked 2283 -(2282) found -(2283) found -[3813] Forked 2284 -[3812] Forked 2285 -(2284) found -(2285) found -[3811] Forked 2286 -[3810] Forked 2287 -(2286) found -(2287) found -[3809] Forked 2288 -[3808] Forked 2289 -(2288) found -(2289) found -[3807] Forked 2290 -[3806] Forked 2291 -(2290) found -(2291) found -[3805] Forked 2292 -[3804] Forked 2293 -(2292) found -(2293) found -[3803] Forked 2294 -[3802] Forked 2295 -(2294) found -(2295) found -[3801] Forked 2296 -(2296) found -[3800] Forked 2297 -(2297) found -[3799] Forked 2298 -(2298) found -[3798] Forked 2299 -(2299) found -[3797] Forked 2300 -(2300) found -[3796] Forked 2301 -(2301) found -[3795] Forked 2302 -(2302) found -[3794] Forked 2303 -(2303) found -[3793] Forked 2304 -(2304) found -[3792] Forked 2305 -(2305) found -[3791] Forked 2306 -(2306) found -[3790] Forked 2307 -(2307) found -[3789] Forked 2308 -(2308) found -[3788] Forked 2309 -(2309) found -[3787] Forked 2310 -(2310) found -[3786] Forked 2311 -(2311) found -[3785] Forked 2312 -(2312) found -[3784] Forked 2313 -(2313) found -[3783] Forked 2314 -(2314) found -[3782] Forked 2315 -(2315) found -[3781] Forked 2316 -(2316) found -[3780] Forked 2317 -(2317) found -[3779] Forked 2318 -(2318) found -[3778] Forked 2319 -(2319) found -[3777] Forked 2320 -(2320) found -[3776] Forked 2321 -(2321) found -[3775] Forked 2322 -(2322) found -[3774] Forked 2323 -(2323) found -[3773] Forked 2324 -(2324) found -[3772] Forked 2325 -(2325) found -[3771] Forked 2326 -(2326) found -[3770] Forked 2327 -(2327) found -[3769] Forked 2328 -(2328) found -[3768] Forked 2329 -(2329) found -[3767] Forked 2330 -[3766] Forked 2331 -(2330) found -(2331) found -[3765] Forked 2332 -[3764] Forked 2333 -(2332) found -(2333) found -[3763] Forked 2334 -[3762] Forked 2335 -(2334) found -(2335) found -[3761] Forked 2336 -[3760] Forked 2337 -(2336) found -(2337) found -[3759] Forked 2338 -[3758] Forked 2339 -(2338) found -(2339) found -[3757] Forked 2340 -[3756] Forked 2341 -(2340) found -(2341) found -[3755] Forked 2342 -[3754] Forked 2343 -(2342) found -(2343) found -[3753] Forked 2344 -[3752] Forked 2345 -(2344) found -(2345) found -[3751] Forked 2346 -[3750] Forked 2347 -(2346) found -(2347) found -[3749] Forked 2348 -[3748] Forked 2349 -(2348) found -(2349) found -[3747] Forked 2350 -[3746] Forked 2351 -(2350) found -(2351) found -[3745] Forked 2352 -[3744] Forked 2353 -(2352) found -(2353) found -[3743] Forked 2354 -[3742] Forked 2355 -(2354) found -(2355) found -[3741] Forked 2356 -[3740] Forked 2357 -(2356) found -(2357) found -[3739] Forked 2358 -[3738] Forked 2359 -(2358) found -(2359) found -[3737] Forked 2360 -[3736] Forked 2361 -(2360) found -(2361) found -[3735] Forked 2362 -[3734] Forked 2363 -(2362) found -(2363) found -[3733] Forked 2364 -[3732] Forked 2365 -(2364) found -(2365) found -[3731] Forked 2366 -[3730] Forked 2367 -(2366) found -(2367) found -[3729] Forked 2368 -[3728] Forked 2369 -(2368) found -(2369) found -[3727] Forked 2370 -[3726] Forked 2371 -(2370) found -(2371) found -[3725] Forked 2372 -[3724] Forked 2373 -(2372) found -(2373) found -[3723] Forked 2374 -[3722] Forked 2375 -(2374) found -(2375) found -[3721] Forked 2376 -(2376) found -[3720] Forked 2377 -(2377) found -[3719] Forked 2378 -(2378) found -[3718] Forked 2379 -(2379) found -[3717] Forked 2380 -(2380) found -[3716] Forked 2381 -(2381) found -[3715] Forked 2382 -(2382) found -[3714] Forked 2383 -(2383) found -[3713] Forked 2384 -(2384) found -[3712] Forked 2385 -(2385) found -[3711] Forked 2386 -(2386) found -[3710] Forked 2387 -(2387) found -[3709] Forked 2388 -(2388) found -[3708] Forked 2389 -(2389) found -[3707] Forked 2390 -(2390) found -[3706] Forked 2391 -(2391) found -[3705] Forked 2392 -(2392) found -[3704] Forked 2393 -(2393) found -[3703] Forked 2394 -(2394) found -[3702] Forked 2395 -(2395) found -[3701] Forked 2396 -(2396) found -[3700] Forked 2397 -(2397) found -[3699] Forked 2398 -(2398) found -[3698] Forked 2399 -(2399) found -[3697] Forked 2400 -(2400) found -[3696] Forked 2401 -(2401) found -[3695] Forked 2402 -(2402) found -[3694] Forked 2404 -(2404) found -[3693] Forked 2405 -(2405) found -[3692] Forked 2406 -(2406) found -[3691] Forked 2407 -(2407) found -[3690] Forked 2408 -(2408) found -[3689] Forked 2409 -(2409) found -[3688] Forked 2410 -(2410) found -[3687] Forked 2411 -[3686] Forked 2412 -(2411) found -(2412) found -[3685] Forked 2413 -[3684] Forked 2414 -(2413) found -(2414) found -[3683] Forked 2415 -[3682] Forked 2416 -(2415) found -(2416) found -[3681] Forked 2417 -[3680] Forked 2418 -(2417) found -(2418) found -[3679] Forked 2419 -[3678] Forked 2420 -(2419) found -(2420) found -[3677] Forked 2421 -[3676] Forked 2422 -(2421) found -(2422) found -[3675] Forked 2423 -[3674] Forked 2424 -(2423) found -(2424) found -[3673] Forked 2425 -[3672] Forked 2426 -(2425) found -(2426) found -[3671] Forked 2427 -[3670] Forked 2428 -(2427) found -(2428) found -[3669] Forked 2429 -[3668] Forked 2430 -(2429) found -(2430) found -[3667] Forked 2431 -[3666] Forked 2432 -(2431) found -(2432) found -[3665] Forked 2433 -[3664] Forked 2434 -(2433) found -(2434) found -[3663] Forked 2435 -[3662] Forked 2436 -(2435) found -(2436) found -[3661] Forked 2437 -[3660] Forked 2438 -(2437) found -(2438) found -[3659] Forked 2439 -[3658] Forked 2440 -(2439) found -(2440) found -[3657] Forked 2441 -[3656] Forked 2442 -(2441) found -(2442) found -[3655] Forked 2443 -[3654] Forked 2444 -(2443) found -(2444) found -[3653] Forked 2445 -[3652] Forked 2446 -(2445) found -(2446) found -[3651] Forked 2447 -[3650] Forked 2448 -(2447) found -(2448) found -[3649] Forked 2449 -[3648] Forked 2450 -(2449) found -(2450) found -[3647] Forked 2451 -[3646] Forked 2452 -(2451) found -(2452) found -[3645] Forked 2453 -[3644] Forked 2454 -(2453) found -(2454) found -[3643] Forked 2455 -[3642] Forked 2456 -(2455) found -(2456) found -[3641] Forked 2457 -(2457) found -[3640] Forked 2458 -(2458) found -[3639] Forked 2459 -(2459) found -[3638] Forked 2460 -(2460) found -[3637] Forked 2461 -(2461) found -[3636] Forked 2462 -(2462) found -[3635] Forked 2463 -(2463) found -[3634] Forked 2464 -(2464) found -[3633] Forked 2465 -(2465) found -[3632] Forked 2466 -(2466) found -[3631] Forked 2467 -(2467) found -[3630] Forked 2468 -(2468) found -[3629] Forked 2469 -(2469) found -[3628] Forked 2470 -(2470) found -[3627] Forked 2471 -(2471) found -[3626] Forked 2472 -(2472) found -[3625] Forked 2473 -(2473) found -[3624] Forked 2474 -(2474) found -[3623] Forked 2475 -(2475) found -[3622] Forked 2476 -(2476) found -[3621] Forked 2477 -(2477) found -[3620] Forked 2478 -(2478) found -[3619] Forked 2479 -(2479) found -[3618] Forked 2480 -(2480) found -[3617] Forked 2481 -(2481) found -[3616] Forked 2482 -(2482) found -[3615] Forked 2483 -(2483) found -[3614] Forked 2484 -(2484) found -[3613] Forked 2485 -(2485) found -[3612] Forked 2486 -(2486) found -[3611] Forked 2487 -(2487) found -[3610] Forked 2488 -(2488) found -[3609] Forked 2489 -(2489) found -[3608] Forked 2490 -(2490) found -[3607] Forked 2491 -[3606] Forked 2492 -(2491) found -(2492) found -[3605] Forked 2493 -[3604] Forked 2494 -(2493) found -(2494) found -[3603] Forked 2495 -[3602] Forked 2496 -(2495) found -(2496) found -[3601] Forked 2497 -[3600] Forked 2498 -(2497) found -(2498) found -[3599] Forked 2499 -[3598] Forked 2500 -(2499) found -(2500) found -[3597] Forked 2501 -[3596] Forked 2502 -(2501) found -(2502) found -[3595] Forked 2503 -[3594] Forked 2504 -(2503) found -(2504) found -[3593] Forked 2505 -[3592] Forked 2506 -(2505) found -(2506) found -[3591] Forked 2507 -[3590] Forked 2508 -(2507) found -(2508) found -[3589] Forked 2509 -[3588] Forked 2510 -(2509) found -(2510) found -[3587] Forked 2512 -[3586] Forked 2513 -(2512) found -(2513) found -[3585] Forked 2514 -[3584] Forked 2515 -(2514) found -(2515) found -[3583] Forked 2516 -[3582] Forked 2517 -(2516) found -(2517) found -[3581] Forked 2518 -[3580] Forked 2519 -(2518) found -(2519) found -[3579] Forked 2520 -[3578] Forked 2521 -(2520) found -(2521) found -[3577] Forked 2522 -[3576] Forked 2523 -(2522) found -(2523) found -[3575] Forked 2525 -[3574] Forked 2526 -(2525) found -(2526) found -[3573] Forked 2527 -[3572] Forked 2528 -(2527) found -(2528) found -[3571] Forked 2529 -[3570] Forked 2530 -(2529) found -(2530) found -[3569] Forked 2531 -[3568] Forked 2532 -(2531) found -(2532) found -[3567] Forked 2533 -[3566] Forked 2534 -(2533) found -(2534) found -[3565] Forked 2535 -[3564] Forked 2536 -(2535) found -(2536) found -[3563] Forked 2537 -[3562] Forked 2538 -(2537) found -(2538) found -[3561] Forked 2539 -[3560] Forked 2541 -(2539) found -(2541) found -[3559] Forked 2542 -[3558] Forked 2543 -(2542) found -(2543) found -[3557] Forked 2544 -[3556] Forked 2545 -(2544) found -(2545) found -[3555] Forked 2546 -[3554] Forked 2547 -(2546) found -(2547) found -[3553] Forked 2548 -[3552] Forked 2549 -(2548) found -(2549) found -[3551] Forked 2550 -[3550] Forked 2551 -(2550) found -(2551) found -[3549] Forked 2552 -[3548] Forked 2553 -(2552) found -(2553) found -[3547] Forked 2554 -[3546] Forked 2555 -(2554) found -(2555) found -[3545] Forked 2556 -[3544] Forked 2557 -(2556) found -(2557) found -[3543] Forked 2558 -[3542] Forked 2559 -(2558) found -(2559) found -[3541] Forked 2560 -[3540] Forked 2561 -(2560) found -(2561) found -[3539] Forked 2562 -[3538] Forked 2563 -(2562) found -(2563) found -[3537] Forked 2564 -[3536] Forked 2565 -(2564) found -(2565) found -[3535] Forked 2566 -[3534] Forked 2567 -(2566) found -(2567) found -[3533] Forked 2568 -[3532] Forked 2569 -(2568) found -(2569) found -[3531] Forked 2570 -[3530] Forked 2571 -(2570) found -(2571) found -[3529] Forked 2572 -[3528] Forked 2573 -(2572) found -(2573) found -[3527] Forked 2574 -[3526] Forked 2575 -(2574) found -(2575) found -[3525] Forked 2576 -[3524] Forked 2577 -(2576) found -(2577) found -[3523] Forked 2578 -[3522] Forked 2579 -(2578) found -(2579) found -[3521] Forked 2580 -[3520] Forked 2581 -(2580) found -(2581) found -[3519] Forked 2582 -(2582) found -[3518] Forked 2583 -(2583) found -[3517] Forked 2584 -(2584) found -[3516] Forked 2585 -(2585) found -[3515] Forked 2586 -(2586) found -[3514] Forked 2587 -(2587) found -[3513] Forked 2588 -(2588) found -[3512] Forked 2589 -(2589) found -[3511] Forked 2590 -(2590) found -[3510] Forked 2591 -(2591) found -[3509] Forked 2592 -(2592) found -[3508] Forked 2593 -(2593) found -[3507] Forked 2594 -(2594) found -[3506] Forked 2595 -(2595) found -[3505] Forked 2596 -(2596) found -[3504] Forked 2597 -(2597) found -[3503] Forked 2598 -(2598) found -[3502] Forked 2599 -(2599) found -[3501] Forked 2600 -(2600) found -[3500] Forked 2601 -(2601) found -[3499] Forked 2602 -(2602) found -[3498] Forked 2603 -(2603) found -[3497] Forked 2604 -(2604) found -[3496] Forked 2605 -(2605) found -[3495] Forked 2606 -(2606) found -[3494] Forked 2607 -(2607) found -[3493] Forked 2608 -(2608) found -[3492] Forked 2609 -(2609) found -[3491] Forked 2610 -(2610) found -[3490] Forked 2611 -(2611) found -[3489] Forked 2612 -(2612) found -[3488] Forked 2613 -(2613) found -[3487] Forked 2614 -(2614) found -[3486] Forked 2615 -(2615) found -[3485] Forked 2616 -(2616) found -[3484] Forked 2617 -(2617) found -[3483] Forked 2618 -[3482] Forked 2619 -(2618) found -(2619) found -[3481] Forked 2620 -[3480] Forked 2621 -(2620) found -(2621) found -[3479] Forked 2622 -(2622) found -[3478] Forked 2623 -[3477] Forked 2624 -(2623) found -(2624) found -[3476] Forked 2625 -[3475] Forked 2626 -(2625) found -(2626) found -[3474] Forked 2627 -[3473] Forked 2628 -(2627) found -(2628) found -[3472] Forked 2629 -[3471] Forked 2630 -(2629) found -(2630) found -[3470] Forked 2631 -[3469] Forked 2632 -(2631) found -(2632) found -[3468] Forked 2633 -[3467] Forked 2634 -(2633) found -(2634) found -[3466] Forked 2635 -[3465] Forked 2636 -(2635) found -(2636) found -[3464] Forked 2637 -[3463] Forked 2638 -(2637) found -(2638) found -[3462] Forked 2639 -[3461] Forked 2640 -(2639) found -(2640) found -[3460] Forked 2641 -[3459] Forked 2642 -(2641) found -(2642) found -[3458] Forked 2643 -[3457] Forked 2644 -(2643) found -(2644) found -[3456] Forked 2645 -[3455] Forked 2646 -(2645) found -(2646) found -[3454] Forked 2647 -[3453] Forked 2648 -(2647) found -(2648) found -[3452] Forked 2649 -[3451] Forked 2650 -(2649) found -(2650) found -[3450] Forked 2651 -[3449] Forked 2652 -(2651) found -(2652) found -[3448] Forked 2653 -[3447] Forked 2654 -(2653) found -(2654) found -[3446] Forked 2655 -[3445] Forked 2659 -(2655) found -(2659) found -[3444] Forked 2662 -[3443] Forked 2663 -(2662) found -(2663) found -[3442] Forked 2664 -[3441] Forked 2665 -(2664) found -(2665) found -[3440] Forked 2666 -(2666) found -[3439] Forked 2668 -(2668) found -[3438] Forked 2669 -(2669) found -[3437] Forked 2670 -(2670) found -[3436] Forked 2671 -(2671) found -[3435] Forked 2672 -(2672) found -[3434] Forked 2673 -(2673) found -[3433] Forked 2674 -(2674) found -[3432] Forked 2675 -(2675) found -[3431] Forked 2676 -(2676) found -[3430] Forked 2677 -(2677) found -[3429] Forked 2678 -(2678) found -[3428] Forked 2679 -(2679) found -[3427] Forked 2680 -(2680) found -[3426] Forked 2681 -(2681) found -[3425] Forked 2682 -(2682) found -[3424] Forked 2683 -(2683) found -[3423] Forked 2684 -(2684) found -[3422] Forked 2685 -(2685) found -[3421] Forked 2686 -(2686) found -[3420] Forked 2687 -(2687) found -[3419] Forked 2688 -(2688) found -[3418] Forked 2689 -(2689) found -[3417] Forked 2690 -(2690) found -[3416] Forked 2691 -(2691) found -[3415] Forked 2692 -(2692) found -[3414] Forked 2693 -(2693) found -[3413] Forked 2694 -(2694) found -[3412] Forked 2695 -(2695) found -[3411] Forked 2696 -(2696) found -[3410] Forked 2697 -(2697) found -[3409] Forked 2698 -(2698) found -[3408] Forked 2699 -(2699) found -[3407] Forked 2700 -(2700) found -[3406] Forked 2701 -(2701) found -[3405] Forked 2703 -(2703) found -[3404] Forked 2704 -[3403] Forked 2705 -(2704) found -(2705) found -[3402] Forked 2706 -(2706) found -[3401] Forked 2707 -(2707) found -[3400] Forked 2708 -(2708) found -[3399] Forked 2709 -(2709) found -[3398] Forked 2710 -[3397] Forked 2711 -(2710) found -(2711) found -[3396] Forked 2712 -[3395] Forked 2713 -(2712) found -(2713) found -[3394] Forked 2714 -[3393] Forked 2715 -(2714) found -(2715) found -[3392] Forked 2716 -[3391] Forked 2717 -(2716) found -(2717) found -[3390] Forked 2718 -[3389] Forked 2719 -(2718) found -(2719) found -[3388] Forked 2720 -[3387] Forked 2723 -(2720) found -(2723) found -[3386] Forked 2725 -[3385] Forked 2728 -(2725) found -(2728) found -[3384] Forked 2729 -[3383] Forked 2730 -(2729) found -(2730) found -[3382] Forked 2731 -[3381] Forked 2732 -(2731) found -(2732) found -[3380] Forked 2733 -[3379] Forked 2734 -(2733) found -(2734) found -[3378] Forked 2735 -[3377] Forked 2736 -(2735) found -(2736) found -[3376] Forked 2737 -[3375] Forked 2738 -(2737) found -(2738) found -[3374] Forked 2739 -[3373] Forked 2740 -(2739) found -(2740) found -[3372] Forked 2741 -[3371] Forked 2742 -(2741) found -(2742) found -[3370] Forked 2743 -[3369] Forked 2745 -(2743) found -(2745) found -[3368] Forked 2746 -(2746) found -[3367] Forked 2747 -(2747) found -[3366] Forked 2748 -(2748) found -[3365] Forked 2749 -(2749) found -[3364] Forked 2750 -(2750) found -[3363] Forked 2751 -(2751) found -[3362] Forked 2752 -(2752) found -[3361] Forked 2753 -(2753) found -[3360] Forked 2754 -(2754) found -[3359] Forked 2755 -(2755) found -[3358] Forked 2756 -(2756) found -[3357] Forked 2757 -(2757) found -[3356] Forked 2758 -(2758) found -[3355] Forked 2760 -(2760) found -[3354] Forked 2761 -(2761) found -[3353] Forked 2762 -(2762) found -[3352] Forked 2763 -(2763) found -[3351] Forked 2764 -(2764) found -[3350] Forked 2765 -(2765) found -[3349] Forked 2766 -(2766) found -[3348] Forked 2767 -(2767) found -[3347] Forked 2768 -(2768) found -[3346] Forked 2769 -(2769) found -[3345] Forked 2770 -(2770) found -[3344] Forked 2771 -(2771) found -[3343] Forked 2772 -(2772) found -[3342] Forked 2773 -(2773) found -[3341] Forked 2774 -(2774) found -[3340] Forked 2775 -(2775) found -[3339] Forked 2776 -(2776) found -[3338] Forked 2777 -(2777) found -[3337] Forked 2778 -(2778) found -[3336] Forked 2779 -(2779) found -[3335] Forked 2780 -(2780) found -[3334] Forked 2781 -(2781) found -[3333] Forked 2782 -(2782) found -[3332] Forked 2783 -(2783) found -[3331] Forked 2784 -(2784) found -[3330] Forked 2785 -(2785) found -[3329] Forked 2786 -(2786) found -[3328] Forked 2787 -(2787) found -[3327] Forked 2788 -(2788) found -[3326] Forked 2789 -(2789) found -[3325] Forked 2790 -(2790) found -[3324] Forked 2791 -(2791) found -[3323] Forked 2792 -(2792) found -[3322] Forked 2793 -(2793) found -[3321] Forked 2794 -[3320] Forked 2795 -(2795) found -(2794) found -[3319] Forked 2796 -(2796) found -[3318] Forked 2797 -(2797) found -[3317] Forked 2798 -(2798) found -[3316] Forked 2799 -(2799) found -[3315] Forked 2800 -(2800) found -[3314] Forked 2801 -(2801) found -[3313] Forked 2802 -(2802) found -[3312] Forked 2803 -(2803) found -[3311] Forked 2804 -(2804) found -[3310] Forked 2805 -(2805) found -[3309] Forked 2806 -(2806) found -[3308] Forked 2807 -(2807) found -[3307] Forked 2808 -(2808) found -[3306] Forked 2809 -(2809) found -[3305] Forked 2810 -(2810) found -[3304] Forked 2811 -(2811) found -[3303] Forked 2812 -(2812) found -[3302] Forked 2813 -(2813) found -[3301] Forked 2814 -(2814) found -[3300] Forked 2815 -(2815) found -[3299] Forked 2816 -(2816) found -[3298] Forked 2817 -(2817) found -[3297] Forked 2818 -(2818) found -[3296] Forked 2819 -(2819) found -[3295] Forked 2820 -(2820) found -[3294] Forked 2821 -(2821) found -[3293] Forked 2822 -(2822) found -[3292] Forked 2823 -(2823) found -[3291] Forked 2824 -(2824) found -[3290] Forked 2825 -(2825) found -[3289] Forked 2826 -(2826) found -[3288] Forked 2827 -(2827) found -[3287] Forked 2830 -(2830) found -[3286] Forked 2831 -(2831) found -[3285] Forked 2832 -(2832) found -[3284] Forked 2833 -(2833) found -[3283] Forked 2834 -(2834) found -[3282] Forked 2835 -(2835) found -[3281] Forked 2836 -(2836) found -[3280] Forked 2837 -(2837) found -[3279] Forked 2838 -(2838) found -[3278] Forked 2839 -(2839) found -[3277] Forked 2840 -(2840) found -[3276] Forked 2841 -(2841) found -[3275] Forked 2843 -(2843) found -[3274] Forked 2844 -(2844) found -[3273] Forked 2845 -(2845) found -[3272] Forked 2846 -(2846) found -[3271] Forked 2847 -(2847) found -[3270] Forked 2848 -(2848) found -[3269] Forked 2849 -(2849) found -[3268] Forked 2850 -(2850) found -[3267] Forked 2851 -(2851) found -[3266] Forked 2852 -(2852) found -[3265] Forked 2853 -(2853) found -[3264] Forked 2854 -(2854) found -[3263] Forked 2855 -(2855) found -[3262] Forked 2856 -(2856) found -[3261] Forked 2857 -(2857) found -[3260] Forked 2858 -(2858) found -[3259] Forked 2859 -(2859) found -[3258] Forked 2860 -(2860) found -[3257] Forked 2861 -(2861) found -[3256] Forked 2862 -(2862) found -[3255] Forked 2863 -(2863) found -[3254] Forked 2864 -(2864) found -[3253] Forked 2865 -(2865) found -[3252] Forked 2866 -(2866) found -[3251] Forked 2867 -(2867) found -[3250] Forked 2868 -[3249] Forked 2869 -(2868) found -(2869) found -[3248] Forked 2870 -[3247] Forked 2871 -(2870) found -(2871) found -[3246] Forked 2872 -[3245] Forked 2873 -(2872) found -(2873) found -[3244] Forked 2874 -[3243] Forked 2875 -(2874) found -(2875) found -[3242] Forked 2876 -[3241] Forked 2877 -(2876) found -(2877) found -[3240] Forked 2878 -[3239] Forked 2879 -(2878) found -(2879) found -[3238] Forked 2880 -[3237] Forked 2881 -(2880) found -(2881) found -[3236] Forked 2882 -[3235] Forked 2883 -(2882) found -(2883) found -[3234] Forked 2884 -[3233] Forked 2885 -(2884) found -(2885) found -[3232] Forked 2886 -[3231] Forked 2887 -(2886) found -(2887) found -[3230] Forked 2888 -[3229] Forked 2889 -(2888) found -(2889) found -[3228] Forked 2890 -[3227] Forked 2891 -(2890) found -(2891) found -[3226] Forked 2892 -[3225] Forked 2893 -(2892) found -(2893) found -[3224] Forked 2894 -[3223] Forked 2895 -(2894) found -(2895) found -[3222] Forked 2896 -[3221] Forked 2897 -(2896) found -(2897) found -[3220] Forked 2898 -[3219] Forked 2899 -(2898) found -(2899) found -[3218] Forked 2900 -[3217] Forked 2901 -(2900) found -(2901) found -[3216] Forked 2902 -[3215] Forked 2903 -(2902) found -(2903) found -[3214] Forked 2904 -[3213] Forked 2905 -(2904) found -(2905) found -[3212] Forked 2906 -[3211] Forked 2908 -(2906) found -(2908) found -[3210] Forked 2909 -(2909) found -[3209] Forked 2910 -(2910) found -[3208] Forked 2911 -(2911) found -[3207] Forked 2912 -(2912) found -[3206] Forked 2913 -(2913) found -[3205] Forked 2914 -(2914) found -[3204] Forked 2915 -(2915) found -[3203] Forked 2916 -(2916) found -[3202] Forked 2917 -(2917) found -[3201] Forked 2918 -(2918) found -[3200] Forked 2919 -(2919) found -[3199] Forked 2920 -(2920) found -[3198] Forked 2921 -(2921) found -[3197] Forked 2922 -(2922) found -[3196] Forked 2923 -(2923) found -[3195] Forked 2924 -(2924) found -[3194] Forked 2925 -(2925) found -[3193] Forked 2926 -(2926) found -[3192] Forked 2927 -(2927) found -[3191] Forked 2928 -(2928) found -[3190] Forked 2929 -(2929) found -[3189] Forked 2930 -(2930) found -[3188] Forked 2932 -(2932) found -[3187] Forked 2933 -(2933) found -[3186] Forked 2934 -(2934) found -[3185] Forked 2935 -(2935) found -[3184] Forked 2936 -(2936) found -[3183] Forked 2937 -(2937) found -[3182] Forked 2938 -(2938) found -[3181] Forked 2939 -(2939) found -[3180] Forked 2940 -(2940) found -[3179] Forked 2941 -(2941) found -[3178] Forked 2942 -(2942) found -[3177] Forked 2943 -(2943) found -[3176] Forked 2944 -(2944) found -[3175] Forked 2945 -(2945) found -[3174] Forked 2946 -[3173] Forked 2947 -(2946) found -(2947) found -[3172] Forked 2948 -[3171] Forked 2949 -(2948) found -(2949) found -[3170] Forked 2950 -[3169] Forked 2951 -(2950) found -(2951) found -[3168] Forked 2952 -[3167] Forked 2953 -(2952) found -(2953) found -[3166] Forked 2956 -[3165] Forked 2957 -(2956) found -(2957) found -[3164] Forked 2958 -[3163] Forked 2959 -(2958) found -(2959) found -[3162] Forked 2960 -[3161] Forked 2961 -(2960) found -(2961) found -[3160] Forked 2962 -[3159] Forked 2963 -(2962) found -(2963) found -[3158] Forked 2964 -[3157] Forked 2965 -(2964) found -(2965) found -[3156] Forked 2966 -[3155] Forked 2967 -(2966) found -(2967) found -[3154] Forked 2968 -[3153] Forked 2969 -(2968) found -(2969) found -[3152] Forked 2970 -[3151] Forked 2971 -(2970) found -(2971) found -[3150] Forked 2972 -[3149] Forked 2973 -(2972) found -(2973) found -[3148] Forked 2974 -[3147] Forked 2975 -(2974) found -(2975) found -[3146] Forked 2976 -[3145] Forked 2977 -(2976) found -(2977) found -[3144] Forked 2978 -[3143] Forked 2979 -(2978) found -(2979) found -[3142] Forked 2980 -[3141] Forked 2981 -(2980) found -(2981) found -[3140] Forked 2983 -[3139] Forked 2984 -(2983) found -(2984) found -[3138] Forked 2987 -[3137] Forked 2992 -(2987) found -(2992) found -[3136] Forked 3049 -[3135] Forked 3050 -(3049) found -(3050) found -[3134] Forked 3051 -[3133] Forked 3052 -(3051) found -(3052) found -[3132] Forked 3053 -[3131] Forked 3054 -(3053) found -(3054) found -[3130] Forked 3055 -[3129] Forked 3056 -(3055) found -(3056) found -[3128] Forked 3057 -[3127] Forked 3058 -(3057) found -(3058) found -[3126] Forked 3059 -(3059) found -[3125] Forked 3060 -(3060) found -[3124] Forked 3061 -(3061) found -[3123] Forked 3062 -(3062) found -[3122] Forked 3063 -(3063) found -[3121] Forked 3064 -(3064) found -[3120] Forked 3065 -(3065) found -[3119] Forked 3066 -(3066) found -[3118] Forked 3067 -(3067) found -[3117] Forked 3068 -(3068) found -[3116] Forked 3069 -(3069) found -[3115] Forked 3070 -(3070) found -[3114] Forked 3071 -(3071) found -[3113] Forked 3072 -(3072) found -[3112] Forked 3073 -(3073) found -[3111] Forked 3074 -(3074) found -[3110] Forked 3075 -(3075) found -[3109] Forked 3076 -(3076) found -[3108] Forked 3077 -(3077) found -[3107] Forked 3078 -(3078) found -[3106] Forked 3079 -(3079) found -[3105] Forked 3080 -(3080) found -[3104] Forked 3081 -(3081) found -[3103] Forked 3082 -(3082) found -[3102] Forked 3083 -(3083) found -[3101] Forked 3085 -(3085) found -[3100] Forked 3086 -(3086) found -[3099] Forked 3087 -(3087) found -[3098] Forked 3088 -(3088) found -[3097] Forked 3089 -(3089) found -[3096] Forked 3090 -(3090) found -[3095] Forked 3091 -(3091) found -[3094] Forked 3093 -(3093) found -[3093] Forked 3094 -(3094) found -[3092] Forked 3095 -(3095) found -[3091] Forked 3096 -[3090] Forked 3097 -(3096) found -(3097) found -[3089] Forked 3098 -[3088] Forked 3099 -(3098) found -(3099) found -[3087] Forked 3101 -[3086] Forked 3102 -(3101) found -(3102) found -[3085] Forked 3103 -[3084] Forked 3104 -(3103) found -(3104) found -[3083] Forked 3105 -[3082] Forked 3106 -(3105) found -(3106) found -[3081] Forked 3107 -[3080] Forked 3108 -(3107) found -(3108) found -[3079] Forked 3109 -[3078] Forked 3110 -(3109) found -(3110) found -[3077] Forked 3112 -[3076] Forked 3113 -(3112) found -(3113) found -[3075] Forked 3114 -[3074] Forked 3115 -(3114) found -(3115) found -[3073] Forked 3116 -[3072] Forked 3117 -(3116) found -(3117) found -[3071] Forked 3118 -[3070] Forked 3119 -(3118) found -(3119) found -[3069] Forked 3120 -[3068] Forked 3121 -(3120) found -(3121) found -[3067] Forked 3123 -[3066] Forked 3124 -(3123) found -(3124) found -[3065] Forked 3126 -[3064] Forked 3128 -(3126) found -(3128) found -[3063] Forked 3129 -[3062] Forked 3130 -(3129) found -(3130) found -[3061] Forked 3131 -[3060] Forked 3132 -(3131) found -(3132) found -[3059] Forked 3133 -[3058] Forked 3134 -(3133) found -(3134) found -[3057] Forked 3135 -[3056] Forked 3136 -(3135) found -(3136) found -[3055] Forked 3137 -[3054] Forked 3138 -(3137) found -(3138) found -[3053] Forked 3139 -[3052] Forked 3140 -(3139) found -(3140) found -[3051] Forked 3141 -[3050] Forked 3142 -(3141) found -(3142) found -[3049] Forked 3143 -[3048] Forked 3144 -(3143) found -(3144) found -[3047] Forked 3145 -[3046] Forked 3147 -(3145) found -(3147) found -[3045] Forked 3148 -[3044] Forked 3149 -(3148) found -(3149) found -[3043] Forked 3150 -(3150) found -[3042] Forked 3151 -(3151) found -[3041] Forked 3152 -(3152) found -[3040] Forked 3153 -(3153) found -[3039] Forked 3154 -(3154) found -[3038] Forked 3155 -(3155) found -[3037] Forked 3156 -(3156) found -[3036] Forked 3157 -(3157) found -[3035] Forked 3158 -(3158) found -[3034] Forked 3159 -(3159) found -[3033] Forked 3160 -(3160) found -[3032] Forked 3163 -(3163) found -[3031] Forked 3164 -(3164) found -[3030] Forked 3165 -(3165) found -[3029] Forked 3166 -(3166) found -[3028] Forked 3167 -(3167) found -[3027] Forked 3168 -(3168) found -[3026] Forked 3169 -(3169) found -[3025] Forked 3170 -(3170) found -[3024] Forked 3171 -(3171) found -[3023] Forked 3172 -(3172) found -[3022] Forked 3173 -(3173) found -[3021] Forked 3174 -(3174) found -[3020] Forked 3175 -(3175) found -[3019] Forked 3176 -(3176) found -[3018] Forked 3177 -(3177) found -[3017] Forked 3178 -(3178) found -[3016] Forked 3179 -(3179) found -[3015] Forked 3180 -(3180) found -[3014] Forked 3181 -(3181) found -[3013] Forked 3182 -(3182) found -[3012] Forked 3183 -(3183) found -[3011] Forked 3184 -(3184) found -[3010] Forked 3185 -(3185) found -[3009] Forked 3186 -(3186) found -[3008] Forked 3187 -[3007] Forked 3188 -(3187) found -(3188) found -[3006] Forked 3189 -[3005] Forked 3190 -(3189) found -(3190) found -[3004] Forked 3191 -[3003] Forked 3192 -(3191) found -(3192) found -[3002] Forked 3195 -[3001] Forked 3196 -(3195) found -(3196) found -[3000] Forked 3197 -[2999] Forked 3198 -(3197) found -(3198) found -[2998] Forked 3199 -[2997] Forked 3200 -(3199) found -(3200) found -[2996] Forked 3201 -[2995] Forked 3202 -(3201) found -(3202) found -[2994] Forked 3203 -[2993] Forked 3204 -(3203) found -(3204) found -[2992] Forked 3205 -[2991] Forked 3206 -(3205) found -(3206) found -[2990] Forked 3207 -[2989] Forked 3208 -(3207) found -(3208) found -[2988] Forked 3209 -[2987] Forked 3210 -(3209) found -(3210) found -[2986] Forked 3211 -[2985] Forked 3212 -(3211) found -(3212) found -[2984] Forked 3213 -[2983] Forked 3214 -(3213) found -(3214) found -[2982] Forked 3215 -[2981] Forked 3216 -(3215) found -(3216) found -[2980] Forked 3217 -[2979] Forked 3218 -(3217) found -(3218) found -[2978] Forked 3219 -[2977] Forked 3220 -(3219) found -(3220) found -[2976] Forked 3221 -[2975] Forked 3222 -(3221) found -(3222) found -[2974] Forked 3223 -[2973] Forked 3224 -(3223) found -(3224) found -[2972] Forked 3225 -[2971] Forked 3227 -(3225) found -(3227) found -[2970] Forked 3228 -[2969] Forked 3229 -(3228) found -(3229) found -[2968] Forked 3230 -[2967] Forked 3231 -(3230) found -(3231) found -[2966] Forked 3232 -[2965] Forked 3233 -(3232) found -(3233) found -[2964] Forked 3234 -[2963] Forked 3235 -(3234) found -(3235) found -[2962] Forked 3236 -(3236) found -[2961] Forked 3237 -(3237) found -[2960] Forked 3238 -(3238) found -[2959] Forked 3239 -(3239) found -[2958] Forked 3240 -(3240) found -[2957] Forked 3241 -(3241) found -[2956] Forked 3242 -(3242) found -[2955] Forked 3243 -(3243) found -[2954] Forked 3244 -(3244) found -[2953] Forked 3245 -(3245) found -[2952] Forked 3246 -(3246) found -[2951] Forked 3247 -(3247) found -[2950] Forked 3249 -(3249) found -[2949] Forked 3250 -(3250) found -[2948] Forked 3251 -(3251) found -[2947] Forked 3252 -(3252) found -[2946] Forked 3253 -(3253) found -[2945] Forked 3254 -(3254) found -[2944] Forked 3255 -(3255) found -[2943] Forked 3256 -(3256) found -[2942] Forked 3257 -(3257) found -[2941] Forked 3258 -(3258) found -[2940] Forked 3259 -(3259) found -[2939] Forked 3260 -(3260) found -[2938] Forked 3261 -(3261) found -[2937] Forked 3262 -(3262) found -[2936] Forked 3263 -(3263) found -[2935] Forked 3264 -(3264) found -[2934] Forked 3265 -(3265) found -[2933] Forked 3266 -(3266) found -[2932] Forked 3267 -(3267) found -[2931] Forked 3268 -(3268) found -[2930] Forked 3269 -(3269) found -[2929] Forked 3270 -(3270) found -[2928] Forked 3271 -[2927] Forked 3272 -(3271) found -(3272) found -[2926] Forked 3273 -[2925] Forked 3274 -(3273) found -(3274) found -[2924] Forked 3275 -[2923] Forked 3276 -(3275) found -(3276) found -[2922] Forked 3277 -[2921] Forked 3278 -(3277) found -(3278) found -[2920] Forked 3279 -[2919] Forked 3280 -(3279) found -(3280) found -[2918] Forked 3281 -[2917] Forked 3282 -(3281) found -(3282) found -[2916] Forked 3283 -[2915] Forked 3284 -(3283) found -(3284) found -[2914] Forked 3285 -[2913] Forked 3286 -(3285) found -(3286) found -[2912] Forked 3287 -[2911] Forked 3288 -(3287) found -(3288) found -[2910] Forked 3289 -[2909] Forked 3290 -(3289) found -(3290) found -[2908] Forked 3291 -[2907] Forked 3292 -(3291) found -(3292) found -[2906] Forked 3293 -[2905] Forked 3294 -(3293) found -(3294) found -[2904] Forked 3295 -[2903] Forked 3296 -(3295) found -(3296) found -[2902] Forked 3297 -[2901] Forked 3298 -(3297) found -(3298) found -[2900] Forked 3299 -[2899] Forked 3300 -(3299) found -(3300) found -[2898] Forked 3301 -[2897] Forked 3302 -(3301) found -(3302) found -[2896] Forked 3303 -[2895] Forked 3304 -(3303) found -(3304) found -[2894] Forked 3305 -[2893] Forked 3306 -(3305) found -(3306) found -[2892] Forked 3307 -[2891] Forked 3308 -(3307) found -(3308) found -[2890] Forked 3309 -[2889] Forked 3310 -(3309) found -(3310) found -[2888] Forked 3311 -[2887] Forked 3312 -(3311) found -(3312) found -[2886] Forked 3313 -[2885] Forked 3314 -(3313) found -(3314) found -[2884] Forked 3315 -[2883] Forked 3317 -(3315) found -(3317) found -[2882] Forked 3318 -[2881] Forked 3319 -(3318) found -(3319) found -[2880] Forked 3320 -[2879] Forked 3321 -(3320) found -(3321) found -[2878] Forked 3322 -[2877] Forked 3323 -(3322) found -(3323) found -[2876] Forked 3324 -[2875] Forked 3325 -(3324) found -(3325) found -[2874] Forked 3326 -[2873] Forked 3327 -(3326) found -(3327) found -[2872] Forked 3333 -[2871] Forked 3334 -(3333) found -(3334) found -[2870] Forked 3335 -[2869] Forked 3336 -(3335) found -(3336) found -[2868] Forked 3337 -[2867] Forked 3338 -(3337) found -(3338) found -[2866] Forked 3339 -[2865] Forked 3340 -(3339) found -(3340) found -[2864] Forked 3341 -[2863] Forked 3342 -(3341) found -(3342) found -[2862] Forked 3343 -[2861] Forked 3344 -(3343) found -(3344) found -[2860] Forked 3345 -[2859] Forked 3347 -(3345) found -(3347) found -[2858] Forked 3348 -[2857] Forked 3349 -(3348) found -(3349) found -[2856] Forked 3350 -[2855] Forked 3351 -(3350) found -(3351) found -[2854] Forked 3352 -[2853] Forked 3353 -(3352) found -(3353) found -[2852] Forked 3354 -[2851] Forked 3355 -(3354) found -(3355) found -[2850] Forked 3356 -[2849] Forked 3357 -(3356) found -(3357) found -[2848] Forked 3358 -[2847] Forked 3359 -(3358) found -(3359) found -[2846] Forked 3360 -[2845] Forked 3361 -(3360) found -(3361) found -[2844] Forked 3362 -[2843] Forked 3363 -(3362) found -(3363) found -[2842] Forked 3364 -[2841] Forked 3366 -(3364) found -(3366) found -[2840] Forked 3367 -(3367) found -[2839] Forked 3368 -(3368) found -[2838] Forked 3369 -(3369) found -[2837] Forked 3370 -(3370) found -[2836] Forked 3371 -(3371) found -[2835] Forked 3372 -(3372) found -[2834] Forked 3373 -(3373) found -[2833] Forked 3382 -(3382) found -[2832] Forked 3383 -(3383) found -[2831] Forked 3384 -(3384) found -[2830] Forked 3385 -(3385) found -[2829] Forked 3386 -(3386) found -[2828] Forked 3387 -(3387) found -[2827] Forked 3388 -(3388) found -[2826] Forked 3389 -(3389) found -[2825] Forked 3390 -(3390) found -[2824] Forked 3391 -(3391) found -[2823] Forked 3392 -(3392) found -[2822] Forked 3393 -(3393) found -[2821] Forked 3394 -(3394) found -[2820] Forked 3395 -(3395) found -[2819] Forked 3396 -(3396) found -[2818] Forked 3397 -(3397) found -[2817] Forked 3398 -(3398) found -[2816] Forked 3399 -(3399) found -[2815] Forked 3401 -(3401) found -[2814] Forked 3402 -(3402) found -[2813] Forked 3403 -(3403) found -[2812] Forked 3404 -(3404) found -[2811] Forked 3405 -(3405) found -[2810] Forked 3406 -(3406) found -[2809] Forked 3407 -(3407) found -[2808] Forked 3408 -(3408) found -[2807] Forked 3409 -(3409) found -[2806] Forked 3410 -(3410) found -[2805] Forked 3411 -(3411) found -[2804] Forked 3412 -(3412) found -[2803] Forked 3413 -(3413) found -[2802] Forked 3414 -(3414) found -[2801] Forked 3415 -[2800] Forked 3416 -(3415) found -(3416) found -[2799] Forked 3417 -[2798] Forked 3418 -(3417) found -(3418) found -[2797] Forked 3419 -[2796] Forked 3420 -(3419) found -(3420) found -[2795] Forked 3421 -[2794] Forked 3422 -(3421) found -(3422) found -[2793] Forked 3423 -[2792] Forked 3424 -(3423) found -(3424) found -[2791] Forked 3425 -[2790] Forked 3426 -(3425) found -(3426) found -[2789] Forked 3427 -[2788] Forked 3428 -(3427) found -(3428) found -[2787] Forked 3429 -[2786] Forked 3430 -(3429) found -(3430) found -[2785] Forked 3431 -[2784] Forked 3432 -(3431) found -(3432) found -[2783] Forked 3433 -[2782] Forked 3434 -(3433) found -(3434) found -[2781] Forked 3435 -[2780] Forked 3436 -(3435) found -(3436) found -[2779] Forked 3437 -[2778] Forked 3438 -(3437) found -(3438) found -[2777] Forked 3439 -[2776] Forked 3440 -(3439) found -(3440) found -[2775] Forked 3441 -[2774] Forked 3442 -(3441) found -(3442) found -[2773] Forked 3443 -[2772] Forked 3444 -(3443) found -(3444) found -[2771] Forked 3445 -[2770] Forked 3446 -(3445) found -(3446) found -[2769] Forked 3447 -[2768] Forked 3448 -(3447) found -(3448) found -[2767] Forked 3449 -[2766] Forked 3450 -(3449) found -(3450) found -[2765] Forked 3451 -[2764] Forked 3452 -(3451) found -(3452) found -[2763] Forked 3453 -[2762] Forked 3454 -(3453) found -(3454) found -[2761] Forked 3455 -[2760] Forked 3456 -(3455) found -(3456) found -[2759] Forked 3457 -[2758] Forked 3458 -(3457) found -(3458) found -[2757] Forked 3459 -(3459) found -[2756] Forked 3460 -(3460) found -[2755] Forked 3461 -(3461) found -[2754] Forked 3462 -(3462) found -[2753] Forked 3463 -(3463) found -[2752] Forked 3464 -(3464) found -[2751] Forked 3465 -(3465) found -[2750] Forked 3466 -(3466) found -[2749] Forked 3467 -(3467) found -[2748] Forked 3468 -(3468) found -[2747] Forked 3469 -(3469) found -[2746] Forked 3470 -(3470) found -[2745] Forked 3471 -(3471) found -[2744] Forked 3472 -(3472) found -[2743] Forked 3473 -(3473) found -[2742] Forked 3474 -(3474) found -[2741] Forked 3475 -(3475) found -[2740] Forked 3476 -(3476) found -[2739] Forked 3477 -(3477) found -[2738] Forked 3478 -(3478) found -[2737] Forked 3479 -(3479) found -[2736] Forked 3480 -(3480) found -[2735] Forked 3481 -(3481) found -[2734] Forked 3482 -(3482) found -[2733] Forked 3483 -(3483) found -[2732] Forked 3484 -(3484) found -[2731] Forked 3485 -(3485) found -[2730] Forked 3486 -(3486) found -[2729] Forked 3487 -(3487) found -[2728] Forked 3488 -(3488) found -[2727] Forked 3489 -(3489) found -[2726] Forked 3490 -(3490) found -[2725] Forked 3491 -(3491) found -[2724] Forked 3492 -(3492) found -[2723] Forked 3493 -(3493) found -[2722] Forked 3494 -(3494) found -[2721] Forked 3495 -(3495) found -[2720] Forked 3496 -[2719] Forked 3497 -(3496) found -(3497) found -[2718] Forked 3498 -[2717] Forked 3499 -(3498) found -(3499) found -[2716] Forked 3500 -[2715] Forked 3501 -(3500) found -(3501) found -[2714] Forked 3502 -[2713] Forked 3503 -(3502) found -(3503) found -[2712] Forked 3504 -[2711] Forked 3505 -(3504) found -(3505) found -[2710] Forked 3506 -[2709] Forked 3507 -(3506) found -(3507) found -[2708] Forked 3508 -[2707] Forked 3509 -(3508) found -(3509) found -[2706] Forked 3510 -[2705] Forked 3511 -(3510) found -(3511) found -[2704] Forked 3512 -[2703] Forked 3513 -(3512) found -(3513) found -[2702] Forked 3514 -[2701] Forked 3515 -(3514) found -(3515) found -[2700] Forked 3516 -[2699] Forked 3517 -(3516) found -(3517) found -[2698] Forked 3518 -[2697] Forked 3519 -(3518) found -(3519) found -[2696] Forked 3520 -[2695] Forked 3521 -(3520) found -(3521) found -[2694] Forked 3522 -[2693] Forked 3523 -(3522) found -(3523) found -[2692] Forked 3524 -[2691] Forked 3525 -(3524) found -(3525) found -[2690] Forked 3526 -[2689] Forked 3527 -(3526) found -(3527) found -[2688] Forked 3528 -[2687] Forked 3529 -(3528) found -(3529) found -[2686] Forked 3530 -[2685] Forked 3531 -(3530) found -(3531) found -[2684] Forked 3532 -[2683] Forked 3533 -(3532) found -(3533) found -[2682] Forked 3534 -[2681] Forked 3535 -(3534) found -(3535) found -[2680] Forked 3536 -[2679] Forked 3537 -(3536) found -(3537) found -[2678] Forked 3538 -[2677] Forked 3539 -(3538) found -(3539) found -[2676] Forked 3540 -(3540) found -[2675] Forked 3541 -(3541) found -[2674] Forked 3542 -(3542) found -[2673] Forked 3543 -(3543) found -[2672] Forked 3544 -(3544) found -[2671] Forked 3545 -(3545) found -[2670] Forked 3546 -(3546) found -[2669] Forked 3547 -(3547) found -[2668] Forked 3548 -(3548) found -[2667] Forked 3549 -(3549) found -[2666] Forked 3550 -(3550) found -[2665] Forked 3551 -(3551) found -[2664] Forked 3552 -(3552) found -[2663] Forked 3553 -(3553) found -[2662] Forked 3554 -(3554) found -[2661] Forked 3555 -(3555) found -[2660] Forked 3556 -(3556) found -[2659] Forked 3557 -(3557) found -[2658] Forked 3558 -(3558) found -[2657] Forked 3559 -(3559) found -[2656] Forked 3560 -(3560) found -[2655] Forked 3561 -(3561) found -[2654] Forked 3562 -(3562) found -[2653] Forked 3563 -(3563) found -[2652] Forked 3564 -(3564) found -[2651] Forked 3565 -(3565) found -[2650] Forked 3566 -(3566) found -[2649] Forked 3567 -(3567) found -[2648] Forked 3568 -(3568) found -[2647] Forked 3569 -(3569) found -[2646] Forked 3570 -(3570) found -[2645] Forked 3571 -(3571) found -[2644] Forked 3572 -(3572) found -[2643] Forked 3573 -(3573) found -[2642] Forked 3574 -(3574) found -[2641] Forked 3575 -(3575) found -[2640] Forked 3576 -(3576) found -[2639] Forked 3577 -[2638] Forked 3578 -(3577) found -(3578) found -[2637] Forked 3579 -[2636] Forked 3580 -(3579) found -(3580) found -[2635] Forked 3581 -[2634] Forked 3582 -(3581) found -(3582) found -[2633] Forked 3583 -[2632] Forked 3584 -(3583) found -(3584) found -[2631] Forked 3585 -[2630] Forked 3586 -(3585) found -(3586) found -[2629] Forked 3587 -[2628] Forked 3588 -(3587) found -(3588) found -[2627] Forked 3589 -[2626] Forked 3590 -(3589) found -(3590) found -[2625] Forked 3591 -[2624] Forked 3592 -(3591) found -(3592) found -[2623] Forked 3593 -[2622] Forked 3594 -(3593) found -(3594) found -[2621] Forked 3595 -[2620] Forked 3596 -(3595) found -(3596) found -[2619] Forked 3597 -[2618] Forked 3598 -(3597) found -(3598) found -[2617] Forked 3599 -[2616] Forked 3600 -(3599) found -(3600) found -[2615] Forked 3601 -[2614] Forked 3602 -(3601) found -(3602) found -[2613] Forked 3603 -[2612] Forked 3604 -(3603) found -(3604) found -[2611] Forked 3605 -[2610] Forked 3606 -(3605) found -(3606) found -[2609] Forked 3607 -[2608] Forked 3608 -(3607) found -(3608) found -[2607] Forked 3609 -[2606] Forked 3610 -(3609) found -(3610) found -[2605] Forked 3611 -[2604] Forked 3612 -(3611) found -(3612) found -[2603] Forked 3613 -[2602] Forked 3614 -(3613) found -(3614) found -[2601] Forked 3615 -[2600] Forked 3616 -(3615) found -(3616) found -[2599] Forked 3617 -[2598] Forked 3618 -(3617) found -(3618) found -[2597] Forked 3619 -[2596] Forked 3620 -(3619) found -(3620) found -[2595] Forked 3621 -(3621) found -[2594] Forked 3622 -(3622) found -[2593] Forked 3623 -(3623) found -[2592] Forked 3624 -(3624) found -[2591] Forked 3625 -(3625) found -[2590] Forked 3626 -(3626) found -[2589] Forked 3627 -(3627) found -[2588] Forked 3628 -(3628) found -[2587] Forked 3629 -(3629) found -[2586] Forked 3630 -(3630) found -[2585] Forked 3631 -(3631) found -[2584] Forked 3632 -(3632) found -[2583] Forked 3633 -(3633) found -[2582] Forked 3634 -(3634) found -[2581] Forked 3635 -(3635) found -[2580] Forked 3636 -(3636) found -[2579] Forked 3637 -(3637) found -[2578] Forked 3638 -(3638) found -[2577] Forked 3639 -(3639) found -[2576] Forked 3640 -(3640) found -[2575] Forked 3641 -(3641) found -[2574] Forked 3642 -(3642) found -[2573] Forked 3643 -(3643) found -[2572] Forked 3644 -(3644) found -[2571] Forked 3645 -(3645) found -[2570] Forked 3646 -(3646) found -[2569] Forked 3647 -(3647) found -[2568] Forked 3648 -(3648) found -[2567] Forked 3649 -(3649) found -[2566] Forked 3650 -(3650) found -[2565] Forked 3651 -(3651) found -[2564] Forked 3652 -(3652) found -[2563] Forked 3653 -(3653) found -[2562] Forked 3654 -(3654) found -[2561] Forked 3655 -(3655) found -[2560] Forked 3656 -(3656) found -[2559] Forked 3658 -(3658) found -[2558] Forked 3659 -[2557] Forked 3660 -(3659) found -(3660) found -[2556] Forked 3661 -[2555] Forked 3662 -(3661) found -(3662) found -[2554] Forked 3663 -[2553] Forked 3664 -(3663) found -(3664) found -[2552] Forked 3665 -[2551] Forked 3666 -(3665) found -(3666) found -[2550] Forked 3667 -[2549] Forked 3669 -(3667) found -(3669) found -[2548] Forked 3670 -[2547] Forked 3671 -(3670) found -(3671) found -[2546] Forked 3672 -[2545] Forked 3673 -(3672) found -(3673) found -[2544] Forked 3674 -[2543] Forked 3675 -(3674) found -(3675) found -[2542] Forked 3676 -[2541] Forked 3677 -(3676) found -(3677) found -[2540] Forked 3678 -[2539] Forked 3679 -(3678) found -(3679) found -[2538] Forked 3680 -[2537] Forked 3681 -(3680) found -(3681) found -[2536] Forked 3682 -[2535] Forked 3683 -(3682) found -(3683) found -[2534] Forked 3684 -[2533] Forked 3685 -(3684) found -(3685) found -[2532] Forked 3686 -[2531] Forked 3687 -(3686) found -(3687) found -[2530] Forked 3688 -[2529] Forked 3689 -(3688) found -(3689) found -[2528] Forked 3690 -[2527] Forked 3691 -(3690) found -(3691) found -[2526] Forked 3692 -[2525] Forked 3693 -(3692) found -(3693) found -[2524] Forked 3694 -[2523] Forked 3695 -(3694) found -(3695) found -[2522] Forked 3696 -[2521] Forked 3697 -(3696) found -(3697) found -[2520] Forked 3698 -[2519] Forked 3700 -(3698) found -(3700) found -[2518] Forked 3701 -(3701) found -[2517] Forked 3702 -(3702) found -[2516] Forked 3703 -(3703) found -[2515] Forked 3704 -(3704) found -[2514] Forked 3705 -(3705) found -[2513] Forked 3706 -(3706) found -[2512] Forked 3707 -(3707) found -[2511] Forked 3708 -(3708) found -[2510] Forked 3709 -(3709) found -[2509] Forked 3710 -(3710) found -[2508] Forked 3711 -(3711) found -[2507] Forked 3712 -(3712) found -[2506] Forked 3713 -(3713) found -[2505] Forked 3714 -(3714) found -[2504] Forked 3715 -(3715) found -[2503] Forked 3716 -(3716) found -[2502] Forked 3717 -(3717) found -[2501] Forked 3718 -(3718) found -[2500] Forked 3719 -(3719) found -[2499] Forked 3720 -(3720) found -[2498] Forked 3721 -(3721) found -[2497] Forked 3722 -(3722) found -[2496] Forked 3723 -(3723) found -[2495] Forked 3724 -(3724) found -[2494] Forked 3725 -(3725) found -[2493] Forked 3726 -(3726) found -[2492] Forked 3727 -(3727) found -[2491] Forked 3728 -(3728) found -[2490] Forked 3729 -(3729) found -[2489] Forked 3730 -(3730) found -[2488] Forked 3731 -(3731) found -[2487] Forked 3732 -(3732) found -[2486] Forked 3733 -(3733) found -[2485] Forked 3734 -(3734) found -[2484] Forked 3735 -(3735) found -[2483] Forked 3736 -(3736) found -[2482] Forked 3737 -(3737) found -[2481] Forked 3738 -(3738) found -[2480] Forked 3739 -(3739) found -[2479] Forked 3740 -[2478] Forked 3741 -(3740) found -(3741) found -[2477] Forked 3742 -[2476] Forked 3743 -(3742) found -(3743) found -[2475] Forked 3744 -[2474] Forked 3745 -(3744) found -(3745) found -[2473] Forked 3746 -[2472] Forked 3747 -(3746) found -(3747) found -[2471] Forked 3748 -[2470] Forked 3749 -(3748) found -(3749) found -[2469] Forked 3750 -[2468] Forked 3751 -(3750) found -(3751) found -[2467] Forked 3752 -[2466] Forked 3753 -(3752) found -(3753) found -[2465] Forked 3754 -[2464] Forked 3755 -(3754) found -(3755) found -[2463] Forked 3756 -[2462] Forked 3757 -(3756) found -(3757) found -[2461] Forked 3758 -[2460] Forked 3759 -(3758) found -(3759) found -[2459] Forked 3760 -[2458] Forked 3761 -(3760) found -(3761) found -[2457] Forked 3762 -[2456] Forked 3763 -(3762) found -(3763) found -[2455] Forked 3764 -[2454] Forked 3765 -(3764) found -(3765) found -[2453] Forked 3766 -[2452] Forked 3767 -(3766) found -(3767) found -[2451] Forked 3768 -[2450] Forked 3769 -(3768) found -(3769) found -[2449] Forked 3770 -[2448] Forked 3771 -(3770) found -(3771) found -[2447] Forked 3772 -[2446] Forked 3773 -(3772) found -(3773) found -[2445] Forked 3774 -[2444] Forked 3775 -(3774) found -(3775) found -[2443] Forked 3776 -[2442] Forked 3778 -(3776) found -(3778) found -[2441] Forked 3779 -(3779) found -[2440] Forked 3780 -(3780) found -[2439] Forked 3781 -(3781) found -[2438] Forked 3782 -(3782) found -[2437] Forked 3783 -(3783) found -[2436] Forked 3784 -(3784) found -[2435] Forked 3785 -(3785) found -[2434] Forked 3786 -(3786) found -[2433] Forked 3787 -(3787) found -[2432] Forked 3788 -(3788) found -[2431] Forked 3789 -(3789) found -[2430] Forked 3790 -(3790) found -[2429] Forked 3791 -(3791) found -[2428] Forked 3792 -(3792) found -[2427] Forked 3793 -(3793) found -[2426] Forked 3794 -(3794) found -[2425] Forked 3795 -(3795) found -[2424] Forked 3796 -(3796) found -[2423] Forked 3797 -(3797) found -[2422] Forked 3798 -(3798) found -[2421] Forked 3799 -(3799) found -[2420] Forked 3800 -(3800) found -[2419] Forked 3801 -(3801) found -[2418] Forked 3802 -(3802) found -[2417] Forked 3803 -(3803) found -[2416] Forked 3804 -(3804) found -[2415] Forked 3805 -(3805) found -[2414] Forked 3806 -(3806) found -[2413] Forked 3807 -(3807) found -[2412] Forked 3808 -(3808) found -[2411] Forked 3809 -(3809) found -[2410] Forked 3810 -(3810) found -[2409] Forked 3811 -(3811) found -[2408] Forked 3812 -(3812) found -[2407] Forked 3813 -(3813) found -[2406] Forked 3814 -(3814) found -[2405] Forked 3815 -(3815) found -[2404] Forked 3816 -(3816) found -[2403] Forked 3817 -[2402] Forked 3818 -(3817) found -(3818) found -[2401] Forked 3819 -[2400] Forked 3820 -(3819) found -(3820) found -[2399] Forked 3821 -[2398] Forked 3822 -(3821) found -(3822) found -[2397] Forked 3823 -[2396] Forked 3824 -(3823) found -(3824) found -[2395] Forked 3825 -[2394] Forked 3826 -(3825) found -(3826) found -[2393] Forked 3827 -[2392] Forked 3828 -(3827) found -(3828) found -[2391] Forked 3829 -[2390] Forked 3830 -(3829) found -(3830) found -[2389] Forked 3831 -[2388] Forked 3832 -(3831) found -(3832) found -[2387] Forked 3833 -[2386] Forked 3834 -(3833) found -(3834) found -[2385] Forked 3835 -[2384] Forked 3836 -(3835) found -(3836) found -[2383] Forked 3837 -[2382] Forked 3838 -(3837) found -(3838) found -[2381] Forked 3839 -[2380] Forked 3840 -(3839) found -(3840) found -[2379] Forked 3841 -[2378] Forked 3842 -(3841) found -(3842) found -[2377] Forked 3843 -[2376] Forked 3844 -(3843) found -(3844) found -[2375] Forked 3845 -[2374] Forked 3846 -(3845) found -(3846) found -[2373] Forked 3847 -[2372] Forked 3848 -(3847) found -(3848) found -[2371] Forked 3849 -[2370] Forked 3850 -(3849) found -(3850) found -[2369] Forked 3851 -[2368] Forked 3852 -(3851) found -(3852) found -[2367] Forked 3853 -[2366] Forked 3854 -(3853) found -(3854) found -[2365] Forked 3855 -[2364] Forked 3856 -(3855) found -(3856) found -[2363] Forked 3857 -[2362] Forked 3858 -(3857) found -(3858) found -[2361] Forked 3859 -[2360] Forked 3860 -(3859) found -(3860) found -[2359] Forked 3861 -(3861) found -[2358] Forked 3862 -(3862) found -[2357] Forked 3863 -(3863) found -[2356] Forked 3864 -(3864) found -[2355] Forked 3865 -(3865) found -[2354] Forked 3866 -(3866) found -[2353] Forked 3867 -(3867) found -[2352] Forked 3868 -(3868) found -[2351] Forked 3869 -(3869) found -[2350] Forked 3870 -(3870) found -[2349] Forked 3871 -(3871) found -[2348] Forked 3872 -(3872) found -[2347] Forked 3873 -(3873) found -[2346] Forked 3874 -(3874) found -[2345] Forked 3875 -(3875) found -[2344] Forked 3876 -(3876) found -[2343] Forked 3877 -(3877) found -[2342] Forked 3878 -(3878) found -[2341] Forked 3879 -(3879) found -[2340] Forked 3880 -(3880) found -[2339] Forked 3881 -(3881) found -[2338] Forked 3882 -(3882) found -[2337] Forked 3883 -(3883) found -[2336] Forked 3884 -(3884) found -[2335] Forked 3885 -(3885) found -[2334] Forked 3886 -(3886) found -[2333] Forked 3887 -(3887) found -[2332] Forked 3888 -(3888) found -[2331] Forked 3889 -(3889) found -[2330] Forked 3890 -(3890) found -[2329] Forked 3891 -(3891) found -[2328] Forked 3892 -(3892) found -[2327] Forked 3893 -(3893) found -[2326] Forked 3894 -(3894) found -[2325] Forked 3895 -(3895) found -[2324] Forked 3896 -(3896) found -[2323] Forked 3897 -(3897) found -[2322] Forked 3898 -[2321] Forked 3899 -(3898) found -(3899) found -[2320] Forked 3900 -[2319] Forked 3901 -(3900) found -(3901) found -[2318] Forked 3902 -[2317] Forked 3903 -(3902) found -(3903) found -[2316] Forked 3904 -[2315] Forked 3905 -(3904) found -(3905) found -[2314] Forked 3906 -[2313] Forked 3907 -(3906) found -(3907) found -[2312] Forked 3908 -[2311] Forked 3909 -(3908) found -(3909) found -[2310] Forked 3910 -[2309] Forked 3911 -(3910) found -(3911) found -[2308] Forked 3912 -[2307] Forked 3913 -(3912) found -(3913) found -[2306] Forked 3914 -[2305] Forked 3915 -(3914) found -(3915) found -[2304] Forked 3916 -[2303] Forked 3917 -(3916) found -(3917) found -[2302] Forked 3918 -[2301] Forked 3919 -(3918) found -(3919) found -[2300] Forked 3920 -[2299] Forked 3921 -(3920) found -(3921) found -[2298] Forked 3922 -[2297] Forked 3923 -(3922) found -(3923) found -[2296] Forked 3924 -[2295] Forked 3926 -(3924) found -(3926) found -[2294] Forked 3927 -(3927) found -[2293] Forked 3928 -(3928) found -[2292] Forked 3929 -(3929) found -[2291] Forked 3930 -(3930) found -[2290] Forked 3931 -(3931) found -[2289] Forked 3932 -(3932) found -[2288] Forked 3933 -(3933) found -[2287] Forked 3934 -(3934) found -[2286] Forked 3935 -(3935) found -[2285] Forked 3936 -(3936) found -[2284] Forked 3937 -(3937) found -[2283] Forked 3938 -(3938) found -[2282] Forked 3939 -(3939) found -[2281] Forked 3940 -(3940) found -[2280] Forked 3941 -(3941) found -[2279] Forked 3942 -(3942) found -[2278] Forked 3943 -(3943) found -[2277] Forked 3944 -(3944) found -[2276] Forked 3945 -(3945) found -[2275] Forked 3946 -(3946) found -[2274] Forked 3947 -(3947) found -[2273] Forked 3948 -(3948) found -[2272] Forked 3949 -(3949) found -[2271] Forked 3950 -(3950) found -[2270] Forked 3951 -(3951) found -[2269] Forked 3952 -(3952) found -[2268] Forked 3953 -(3953) found -[2267] Forked 3954 -(3954) found -[2266] Forked 3955 -(3955) found -[2265] Forked 3956 -(3956) found -[2264] Forked 3957 -(3957) found -[2263] Forked 3958 -(3958) found -[2262] Forked 3959 -(3959) found -[2261] Forked 3960 -(3960) found -[2260] Forked 3961 -(3961) found -[2259] Forked 3962 -(3962) found -[2258] Forked 3963 -(3963) found -[2257] Forked 3964 -(3964) found -[2256] Forked 3965 -(3965) found -[2255] Forked 3966 -(3966) found -[2254] Forked 3967 -(3967) found -[2253] Forked 3968 -(3968) found -[2252] Forked 3969 -(3969) found -[2251] Forked 3970 -(3970) found -[2250] Forked 3971 -(3971) found -[2249] Forked 3972 -(3972) found -[2248] Forked 3973 -(3973) found -[2247] Forked 3974 -(3974) found -[2246] Forked 3975 -(3975) found -[2245] Forked 3976 -(3976) found -[2244] Forked 3977 -(3977) found -[2243] Forked 3978 -(3978) found -[2242] Forked 3979 -(3979) found -[2241] Forked 3980 -(3980) found -[2240] Forked 3981 -(3981) found -[2239] Forked 3982 -(3982) found -[2238] Forked 3983 -(3983) found -[2237] Forked 3984 -(3984) found -[2236] Forked 3985 -(3985) found -[2235] Forked 3986 -(3986) found -[2234] Forked 3987 -(3987) found -[2233] Forked 3988 -(3988) found -[2232] Forked 3989 -(3989) found -[2231] Forked 3990 -(3990) found -[2230] Forked 3991 -(3991) found -[2229] Forked 3992 -(3992) found -[2228] Forked 3993 -(3993) found -[2227] Forked 3994 -(3994) found -[2226] Forked 3995 -(3995) found -[2225] Forked 3996 -(3996) found -[2224] Forked 3997 -(3997) found -[2223] Forked 3998 -(3998) found -[2222] Forked 3999 -[2221] Forked 4000 -(3999) found -(4000) found -[2220] Forked 4001 -[2219] Forked 4002 -(4001) found -(4002) found -[2218] Forked 4003 -[2217] Forked 4004 -(4003) found -(4004) found -[2216] Forked 4005 -[2215] Forked 4006 -(4005) found -(4006) found -[2214] Forked 4007 -[2213] Forked 4008 -(4007) found -(4008) found -[2212] Forked 4009 -[2211] Forked 4010 -(4009) found -(4010) found -[2210] Forked 4011 -[2209] Forked 4012 -(4011) found -(4012) found -[2208] Forked 4013 -[2207] Forked 4014 -(4013) found -(4014) found -[2206] Forked 4015 -[2205] Forked 4016 -(4015) found -(4016) found -[2204] Forked 4017 -[2203] Forked 4018 -(4017) found -(4018) found -[2202] Forked 4019 -[2201] Forked 4020 -(4019) found -(4020) found -[2200] Forked 4021 -[2199] Forked 4022 -(4021) found -(4022) found -[2198] Forked 4023 -[2197] Forked 4024 -(4023) found -(4024) found -[2196] Forked 4025 -[2195] Forked 4026 -(4025) found -(4026) found -[2194] Forked 4028 -[2193] Forked 4029 -(4028) found -(4029) found -[2192] Forked 4030 -[2191] Forked 4031 -(4030) found -(4031) found -[2190] Forked 4032 -[2189] Forked 4034 -(4032) found -(4034) found -[2188] Forked 4035 -[2187] Forked 4037 -(4035) found -(4037) found -[2186] Forked 4038 -(4038) found -[2185] Forked 4039 -(4039) found -[2184] Forked 4040 -(4040) found -[2183] Forked 4041 -(4041) found -[2182] Forked 4042 -(4042) found -[2181] Forked 4043 -(4043) found -[2180] Forked 4044 -(4044) found -[2179] Forked 4045 -(4045) found -[2178] Forked 4046 -(4046) found -[2177] Forked 4047 -(4047) found -[2176] Forked 4048 -(4048) found -[2175] Forked 4049 -(4049) found -[2174] Forked 4052 -(4052) found -[2173] Forked 4053 -(4053) found -[2172] Forked 4054 -(4054) found -[2171] Forked 4055 -(4055) found -[2170] Forked 4056 -(4056) found -[2169] Forked 4057 -(4057) found -[2168] Forked 4058 -(4058) found -[2167] Forked 4059 -(4059) found -[2166] Forked 4060 -(4060) found -[2165] Forked 4061 -(4061) found -[2164] Forked 4062 -(4062) found -[2163] Forked 4063 -(4063) found -[2162] Forked 4064 -(4064) found -[2161] Forked 4065 -(4065) found -[2160] Forked 4066 -(4066) found -[2159] Forked 4067 -(4067) found -[2158] Forked 4068 -(4068) found -[2157] Forked 4069 -(4069) found -[2156] Forked 4070 -(4070) found -[2155] Forked 4071 -(4071) found -[2154] Forked 4072 -(4072) found -[2153] Forked 4074 -(4074) found -[2152] Forked 4075 -(4075) found -[2151] Forked 4076 -(4076) found -[2150] Forked 4077 -(4077) found -[2149] Forked 4078 -(4078) found -[2148] Forked 4079 -(4079) found -[2147] Forked 4080 -(4080) found -[2146] Forked 4081 -(4081) found -[2145] Forked 4082 -(4082) found -[2144] Forked 4083 -[2143] Forked 4086 -(4083) found -(4086) found -[2142] Forked 4088 -[2141] Forked 4089 -(4088) found -(4089) found -[2140] Forked 4090 -[2139] Forked 4093 -(4090) found -(4093) found -[2138] Forked 4095 -[2137] Forked 4096 -(4095) found -(4096) found -[2136] Forked 4097 -[2135] Forked 4098 -(4097) found -(4098) found -[2134] Forked 4099 -[2133] Forked 4100 -(4099) found -(4100) found -[2132] Forked 4101 -[2131] Forked 4102 -(4101) found -(4102) found -[2130] Forked 4103 -[2129] Forked 4104 -(4103) found -(4104) found -[2128] Forked 4105 -[2127] Forked 4106 -(4105) found -(4106) found -[2126] Forked 4107 -[2125] Forked 4108 -(4107) found -(4108) found -[2124] Forked 4109 -[2123] Forked 4110 -(4109) found -(4110) found -[2122] Forked 4111 -[2121] Forked 4112 -(4111) found -(4112) found -[2120] Forked 4113 -[2119] Forked 4114 -(4113) found -(4114) found -[2118] Forked 4115 -[2117] Forked 4116 -(4115) found -(4116) found -[2116] Forked 4117 -[2115] Forked 4118 -(4117) found -(4118) found -[2114] Forked 4119 -[2113] Forked 4120 -(4119) found -(4120) found -[2112] Forked 4121 -[2111] Forked 4122 -(4121) found -(4122) found -[2110] Forked 4123 -[2109] Forked 4124 -(4123) found -(4124) found -[2108] Forked 4125 -[2107] Forked 4126 -(4125) found -(4126) found -[2106] Forked 4127 -[2105] Forked 4128 -(4127) found -(4128) found -[2104] Forked 4129 -[2103] Forked 4130 -(4129) found -(4130) found -[2102] Forked 4131 -[2101] Forked 4132 -(4131) found -(4132) found -[2100] Forked 4133 -[2099] Forked 4134 -(4133) found -(4134) found -[2098] Forked 4135 -[2097] Forked 4136 -(4135) found -(4136) found -[2096] Forked 4137 -[2095] Forked 4138 -(4137) found -(4138) found -[2094] Forked 4139 -[2093] Forked 4140 -(4139) found -(4140) found -[2092] Forked 4141 -[2091] Forked 4142 -(4141) found -(4142) found -[2090] Forked 4143 -[2089] Forked 4144 -(4143) found -(4144) found -[2088] Forked 4145 -[2087] Forked 4146 -(4145) found -(4146) found -[2086] Forked 4147 -[2085] Forked 4148 -(4147) found -(4148) found -[2084] Forked 4149 -[2083] Forked 4150 -(4149) found -(4150) found -[2082] Forked 4151 -[2081] Forked 4152 -(4151) found -(4152) found -[2080] Forked 4153 -[2079] Forked 4154 -(4153) found -(4154) found -[2078] Forked 4155 -[2077] Forked 4156 -(4155) found -(4156) found -[2076] Forked 4157 -[2075] Forked 4158 -(4157) found -(4158) found -[2074] Forked 4159 -[2073] Forked 4160 -(4159) found -(4160) found -[2072] Forked 4161 -[2071] Forked 4162 -(4161) found -(4162) found -[2070] Forked 4163 -[2069] Forked 4164 -(4163) found -(4164) found -[2068] Forked 4165 -[2067] Forked 4166 -(4165) found -(4166) found -[2066] Forked 4167 -[2065] Forked 4168 -(4167) found -(4168) found -[2064] Forked 4169 -[2063] Forked 4170 -(4169) found -(4170) found -[2062] Forked 4171 -[2061] Forked 4172 -(4171) found -(4172) found -[2060] Forked 4173 -[2059] Forked 4174 -(4173) found -(4174) found -[2058] Forked 4175 -[2057] Forked 4176 -(4175) found -(4176) found -[2056] Forked 4177 -[2055] Forked 4178 -(4177) found -(4178) found -[2054] Forked 4179 -[2053] Forked 4180 -(4179) found -(4180) found -[2052] Forked 4181 -(4181) found -[2051] Forked 4182 -(4182) found -[2050] Forked 4183 -(4183) found -[2049] Forked 4184 -(4184) found -[2048] Forked 4185 -(4185) found -[2047] Forked 4186 -(4186) found -[2046] Forked 4187 -(4187) found -[2045] Forked 4188 -(4188) found -[2044] Forked 4189 -(4189) found -[2043] Forked 4190 -(4190) found -[2042] Forked 4191 -(4191) found -[2041] Forked 4192 -(4192) found -[2040] Forked 4193 -(4193) found -[2039] Forked 4194 -(4194) found -[2038] Forked 4195 -(4195) found -[2037] Forked 4196 -(4196) found -[2036] Forked 4197 -(4197) found -[2035] Forked 4198 -(4198) found -[2034] Forked 4199 -(4199) found -[2033] Forked 4200 -(4200) found -[2032] Forked 4201 -(4201) found -[2031] Forked 4202 -(4202) found -[2030] Forked 4203 -(4203) found -[2029] Forked 4204 -(4204) found -[2028] Forked 4205 -(4205) found -[2027] Forked 4206 -(4206) found -[2026] Forked 4207 -(4207) found -[2025] Forked 4208 -(4208) found -[2024] Forked 4209 -(4209) found -[2023] Forked 4210 -(4210) found -[2022] Forked 4211 -(4211) found -[2021] Forked 4212 -(4212) found -[2020] Forked 4213 -(4213) found -[2019] Forked 4214 -(4214) found -[2018] Forked 4215 -(4215) found -[2017] Forked 4216 -(4216) found -[2016] Forked 4217 -[2015] Forked 4218 -(4217) found -(4218) found -[2014] Forked 4219 -[2013] Forked 4220 -(4219) found -(4220) found -[2012] Forked 4221 -[2011] Forked 4222 -(4221) found -(4222) found -[2010] Forked 4223 -[2009] Forked 4224 -(4223) found -(4224) found -[2008] Forked 4225 -[2007] Forked 4226 -(4225) found -(4226) found -[2006] Forked 4227 -[2005] Forked 4228 -(4227) found -(4228) found -[2004] Forked 4229 -[2003] Forked 4230 -(4229) found -(4230) found -[2002] Forked 4231 -[2001] Forked 4232 -(4231) found -(4232) found -[2000] Forked 4233 -[1999] Forked 4234 -(4233) found -(4234) found -[1998] Forked 4235 -[1997] Forked 4236 -(4235) found -(4236) found -[1996] Forked 4237 -[1995] Forked 4238 -(4237) found -(4238) found -[1994] Forked 4239 -[1993] Forked 4240 -(4239) found -(4240) found -[1992] Forked 4242 -[1991] Forked 4243 -(4242) found -(4243) found -[1990] Forked 4244 -[1989] Forked 4245 -(4244) found -(4245) found -[1988] Forked 4247 -[1987] Forked 4248 -(4247) found -(4248) found -[1986] Forked 4249 -[1985] Forked 4250 -(4249) found -(4250) found -[1984] Forked 4251 -[1983] Forked 4252 -(4251) found -(4252) found -[1982] Forked 4254 -[1981] Forked 4255 -(4254) found -(4255) found -[1980] Forked 4256 -[1979] Forked 4257 -(4256) found -(4257) found -[1978] Forked 4258 -[1977] Forked 4259 -(4258) found -(4259) found -[1976] Forked 4260 -[1975] Forked 4261 -(4260) found -(4261) found -[1974] Forked 4262 -[1973] Forked 4263 -(4262) found -(4263) found -[1972] Forked 4264 -(4264) found -[1971] Forked 4265 -(4265) found -[1970] Forked 4266 -(4266) found -[1969] Forked 4267 -(4267) found -[1968] Forked 4268 -(4268) found -[1967] Forked 4269 -(4269) found -[1966] Forked 4270 -(4270) found -[1965] Forked 4271 -(4271) found -[1964] Forked 4272 -(4272) found -[1963] Forked 4273 -(4273) found -[1962] Forked 4274 -(4274) found -[1961] Forked 4275 -(4275) found -[1960] Forked 4276 -(4276) found -[1959] Forked 4277 -(4277) found -[1958] Forked 4278 -(4278) found -[1957] Forked 4279 -(4279) found -[1956] Forked 4280 -(4280) found -[1955] Forked 4281 -(4281) found -[1954] Forked 4282 -(4282) found -[1953] Forked 4284 -(4284) found -[1952] Forked 4285 -(4285) found -[1951] Forked 4286 -(4286) found -[1950] Forked 4287 -(4287) found -[1949] Forked 4288 -(4288) found -[1948] Forked 4289 -(4289) found -[1947] Forked 4290 -(4290) found -[1946] Forked 4291 -(4291) found -[1945] Forked 4292 -(4292) found -[1944] Forked 4293 -(4293) found -[1943] Forked 4294 -(4294) found -[1942] Forked 4295 -(4295) found -[1941] Forked 4296 -(4296) found -[1940] Forked 4297 -(4297) found -[1939] Forked 4298 -(4298) found -[1938] Forked 4299 -(4299) found -[1937] Forked 4300 -(4300) found -[1936] Forked 4301 -(4301) found -[1935] Forked 4302 -[1934] Forked 4303 -(4302) found -(4303) found -[1933] Forked 4304 -[1932] Forked 4305 -(4304) found -(4305) found -[1931] Forked 4306 -[1930] Forked 4307 -(4306) found -(4307) found -[1929] Forked 4308 -[1928] Forked 4309 -(4308) found -(4309) found -[1927] Forked 4310 -[1926] Forked 4311 -(4310) found -(4311) found -[1925] Forked 4312 -[1924] Forked 4313 -(4312) found -(4313) found -[1923] Forked 4314 -[1922] Forked 4315 -(4314) found -(4315) found -[1921] Forked 4316 -[1920] Forked 4317 -(4316) found -(4317) found -[1919] Forked 4318 -[1918] Forked 4319 -(4318) found -(4319) found -[1917] Forked 4320 -[1916] Forked 4321 -(4320) found -(4321) found -[1915] Forked 4322 -[1914] Forked 4323 -(4322) found -(4323) found -[1913] Forked 4324 -[1912] Forked 4325 -(4324) found -(4325) found -[1911] Forked 4326 -[1910] Forked 4327 -(4326) found -(4327) found -[1909] Forked 4328 -[1908] Forked 4329 -(4328) found -(4329) found -[1907] Forked 4330 -[1906] Forked 4331 -(4330) found -(4331) found -[1905] Forked 4332 -[1904] Forked 4333 -(4332) found -(4333) found -[1903] Forked 4334 -[1902] Forked 4335 -(4334) found -(4335) found -[1901] Forked 4336 -[1900] Forked 4337 -(4336) found -(4337) found -[1899] Forked 4338 -[1898] Forked 4339 -(4338) found -(4339) found -[1897] Forked 4340 -[1896] Forked 4342 -(4340) found -(4342) found -[1895] Forked 4343 -(4343) found -[1894] Forked 4344 -(4344) found -[1893] Forked 4345 -(4345) found -[1892] Forked 4346 -(4346) found -[1891] Forked 4347 -(4347) found -[1890] Forked 4348 -(4348) found -[1889] Forked 4349 -(4349) found -[1888] Forked 4350 -(4350) found -[1887] Forked 4351 -(4351) found -[1886] Forked 4352 -(4352) found -[1885] Forked 4353 -(4353) found -[1884] Forked 4354 -(4354) found -[1883] Forked 4355 -(4355) found -[1882] Forked 4356 -(4356) found -[1881] Forked 4357 -(4357) found -[1880] Forked 4358 -(4358) found -[1879] Forked 4359 -(4359) found -[1878] Forked 4360 -(4360) found -[1877] Forked 4361 -(4361) found -[1876] Forked 4362 -(4362) found -[1875] Forked 4363 -(4363) found -[1874] Forked 4364 -(4364) found -[1873] Forked 4365 -(4365) found -[1872] Forked 4366 -(4366) found -[1871] Forked 4367 -(4367) found -[1870] Forked 4368 -(4368) found -[1869] Forked 4369 -(4369) found -[1868] Forked 4370 -(4370) found -[1867] Forked 4371 -(4371) found -[1866] Forked 4372 -(4372) found -[1865] Forked 4373 -(4373) found -[1864] Forked 4374 -(4374) found -[1863] Forked 4375 -(4375) found -[1862] Forked 4376 -(4376) found -[1861] Forked 4377 -(4377) found -[1860] Forked 4378 -(4378) found -[1859] Forked 4379 -(4379) found -[1858] Forked 4380 -(4380) found -[1857] Forked 4381 -(4381) found -[1856] Forked 4382 -[1855] Forked 4383 -(4382) found -(4383) found -[1854] Forked 4384 -[1853] Forked 4385 -(4384) found -(4385) found -[1852] Forked 4386 -[1851] Forked 4387 -(4386) found -(4387) found -[1850] Forked 4388 -[1849] Forked 4389 -(4388) found -(4389) found -[1848] Forked 4390 -[1847] Forked 4391 -(4390) found -(4391) found -[1846] Forked 4392 -[1845] Forked 4393 -(4392) found -(4393) found -[1844] Forked 4394 -[1843] Forked 4395 -(4394) found -(4395) found -[1842] Forked 4396 -[1841] Forked 4397 -(4396) found -(4397) found -[1840] Forked 4398 -[1839] Forked 4399 -(4398) found -(4399) found -[1838] Forked 4400 -[1837] Forked 4401 -(4400) found -(4401) found -[1836] Forked 4402 -[1835] Forked 4403 -(4402) found -(4403) found -[1834] Forked 4404 -[1833] Forked 4405 -(4404) found -(4405) found -[1832] Forked 4406 -[1831] Forked 4407 -(4406) found -(4407) found -[1830] Forked 4408 -[1829] Forked 4409 -(4408) found -(4409) found -[1828] Forked 4410 -[1827] Forked 4411 -(4410) found -(4411) found -[1826] Forked 4412 -[1825] Forked 4413 -(4412) found -(4413) found -[1824] Forked 4414 -[1823] Forked 4415 -(4414) found -(4415) found -[1822] Forked 4416 -[1821] Forked 4417 -(4416) found -(4417) found -[1820] Forked 4418 -[1819] Forked 4419 -(4418) found -(4419) found -[1818] Forked 4420 -[1817] Forked 4421 -(4420) found -(4421) found -[1816] Forked 4422 -[1815] Forked 4423 -(4422) found -(4423) found -[1814] Forked 4424 -(4424) found -[1813] Forked 4425 -(4425) found -[1812] Forked 4426 -(4426) found -[1811] Forked 4427 -(4427) found -[1810] Forked 4428 -(4428) found -[1809] Forked 4429 -(4429) found -[1808] Forked 4430 -(4430) found -[1807] Forked 4431 -(4431) found -[1806] Forked 4432 -(4432) found -[1805] Forked 4433 -(4433) found -[1804] Forked 4434 -(4434) found -[1803] Forked 4435 -(4435) found -[1802] Forked 4436 -(4436) found -[1801] Forked 4437 -(4437) found -[1800] Forked 4438 -(4438) found -[1799] Forked 4439 -(4439) found -[1798] Forked 4440 -(4440) found -[1797] Forked 4441 -(4441) found -[1796] Forked 4442 -(4442) found -[1795] Forked 4443 -(4443) found -[1794] Forked 4444 -(4444) found -[1793] Forked 4445 -(4445) found -[1792] Forked 4446 -(4446) found -[1791] Forked 4447 -(4447) found -[1790] Forked 4448 -(4448) found -[1789] Forked 4449 -(4449) found -[1788] Forked 4450 -(4450) found -[1787] Forked 4451 -(4451) found -[1786] Forked 4452 -(4452) found -[1785] Forked 4453 -(4453) found -[1784] Forked 4454 -(4454) found -[1783] Forked 4455 -(4455) found -[1782] Forked 4456 -(4456) found -[1781] Forked 4457 -(4457) found -[1780] Forked 4458 -(4458) found -[1779] Forked 4459 -(4459) found -[1778] Forked 4460 -[1777] Forked 4461 -(4460) found -(4461) found -[1776] Forked 4462 -[1775] Forked 4463 -(4462) found -(4463) found -[1774] Forked 4464 -[1773] Forked 4465 -(4464) found -(4465) found -[1772] Forked 4466 -[1771] Forked 4467 -(4466) found -(4467) found -[1770] Forked 4468 -[1769] Forked 4469 -(4468) found -(4469) found -[1768] Forked 4470 -[1767] Forked 4471 -(4470) found -(4471) found -[1766] Forked 4472 -[1765] Forked 4473 -(4472) found -(4473) found -[1764] Forked 4474 -[1763] Forked 4475 -(4474) found -(4475) found -[1762] Forked 4476 -[1761] Forked 4477 -(4476) found -(4477) found -[1760] Forked 4478 -[1759] Forked 4479 -(4478) found -(4479) found -[1758] Forked 4480 -[1757] Forked 4481 -(4480) found -(4481) found -[1756] Forked 4482 -[1755] Forked 4483 -(4482) found -(4483) found -[1754] Forked 4484 -[1753] Forked 4485 -(4484) found -(4485) found -[1752] Forked 4486 -[1751] Forked 4487 -(4486) found -(4487) found -[1750] Forked 4488 -[1749] Forked 4489 -(4488) found -(4489) found -[1748] Forked 4490 -[1747] Forked 4491 -(4490) found -(4491) found -[1746] Forked 4492 -[1745] Forked 4493 -(4492) found -(4493) found -[1744] Forked 4494 -[1743] Forked 4495 -(4494) found -(4495) found -[1742] Forked 4496 -[1741] Forked 4497 -(4496) found -(4497) found -[1740] Forked 4498 -[1739] Forked 4499 -(4498) found -(4499) found -[1738] Forked 4500 -[1737] Forked 4501 -(4500) found -(4501) found -[1736] Forked 4502 -[1735] Forked 4503 -(4502) found -(4503) found -[1734] Forked 4504 -[1733] Forked 4505 -(4504) found -(4505) found -[1732] Forked 4506 -[1731] Forked 4507 -(4506) found -(4507) found -[1730] Forked 4508 -[1729] Forked 4509 -(4508) found -(4509) found -[1728] Forked 4510 -[1727] Forked 4511 -(4510) found -(4511) found -[1726] Forked 4512 -[1725] Forked 4513 -(4512) found -(4513) found -[1724] Forked 4514 -[1723] Forked 4515 -(4514) found -(4515) found -[1722] Forked 4516 -[1721] Forked 4517 -(4516) found -(4517) found -[1720] Forked 4518 -[1719] Forked 4519 -(4518) found -(4519) found -[1718] Forked 4520 -[1717] Forked 4521 -(4520) found -(4521) found -[1716] Forked 4522 -[1715] Forked 4523 -(4522) found -(4523) found -[1714] Forked 4524 -[1713] Forked 4525 -(4524) found -(4525) found -[1712] Forked 4526 -[1711] Forked 4527 -(4526) found -(4527) found -[1710] Forked 4528 -[1709] Forked 4529 -(4528) found -(4529) found -[1708] Forked 4530 -[1707] Forked 4531 -(4530) found -(4531) found -[1706] Forked 4532 -[1705] Forked 4533 -(4532) found -(4533) found -[1704] Forked 4534 -[1703] Forked 4535 -(4534) found -(4535) found -[1702] Forked 4536 -[1701] Forked 4537 -(4536) found -(4537) found -[1700] Forked 4538 -[1699] Forked 4539 -(4538) found -(4539) found -[1698] Forked 4540 -[1697] Forked 4541 -(4540) found -(4541) found -[1696] Forked 4542 -[1695] Forked 4543 -(4542) found -(4543) found -[1694] Forked 4544 -[1693] Forked 4545 -(4544) found -(4545) found -[1692] Forked 4546 -[1691] Forked 4547 -(4546) found -(4547) found -[1690] Forked 4548 -[1689] Forked 4549 -(4548) found -(4549) found -[1688] Forked 4550 -[1687] Forked 4551 -(4550) found -(4551) found -[1686] Forked 4552 -(4552) found -[1685] Forked 4553 -(4553) found -[1684] Forked 4554 -(4554) found -[1683] Forked 4555 -(4555) found -[1682] Forked 4556 -(4556) found -[1681] Forked 4557 -(4557) found -[1680] Forked 4558 -(4558) found -[1679] Forked 4559 -(4559) found -[1678] Forked 4560 -(4560) found -[1677] Forked 4561 -(4561) found -[1676] Forked 4562 -(4562) found -[1675] Forked 4563 -(4563) found -[1674] Forked 4564 -(4564) found -[1673] Forked 4565 -(4565) found -[1672] Forked 4566 -(4566) found -[1671] Forked 4567 -(4567) found -[1670] Forked 4568 -(4568) found -[1669] Forked 4569 -(4569) found -[1668] Forked 4570 -(4570) found -[1667] Forked 4571 -(4571) found -[1666] Forked 4572 -(4572) found -[1665] Forked 4573 -(4573) found -[1664] Forked 4574 -(4574) found -[1663] Forked 4575 -(4575) found -[1662] Forked 4576 -(4576) found -[1661] Forked 4577 -(4577) found -[1660] Forked 4578 -(4578) found -[1659] Forked 4579 -(4579) found -[1658] Forked 4580 -(4580) found -[1657] Forked 4581 -(4581) found -[1656] Forked 4582 -(4582) found -[1655] Forked 4583 -(4583) found -[1654] Forked 4584 -[1653] Forked 4585 -(4584) found -(4585) found -[1652] Forked 4586 -[1651] Forked 4587 -(4586) found -(4587) found -[1650] Forked 4588 -[1649] Forked 4589 -(4588) found -(4589) found -[1648] Forked 4590 -[1647] Forked 4591 -(4590) found -(4591) found -[1646] Forked 4593 -[1645] Forked 4594 -(4593) found -(4594) found -[1644] Forked 4595 -[1643] Forked 4596 -(4595) found -(4596) found -[1642] Forked 4597 -[1641] Forked 4598 -(4597) found -(4598) found -[1640] Forked 4599 -[1639] Forked 4600 -(4599) found -(4600) found -[1638] Forked 4601 -[1637] Forked 4602 -(4601) found -(4602) found -[1636] Forked 4603 -[1635] Forked 4604 -(4603) found -(4604) found -[1634] Forked 4605 -[1633] Forked 4606 -(4605) found -(4606) found -[1632] Forked 4607 -[1631] Forked 4608 -(4607) found -(4608) found -[1630] Forked 4609 -[1629] Forked 4610 -(4609) found -(4610) found -[1628] Forked 4611 -[1627] Forked 4612 -(4611) found -(4612) found -[1626] Forked 4613 -[1625] Forked 4614 -(4613) found -(4614) found -[1624] Forked 4615 -[1623] Forked 4616 -(4615) found -(4616) found -[1622] Forked 4617 -[1621] Forked 4618 -(4617) found -(4618) found -[1620] Forked 4619 -[1619] Forked 4620 -(4619) found -(4620) found -[1618] Forked 4621 -[1617] Forked 4622 -(4621) found -(4622) found -[1616] Forked 4623 -[1615] Forked 4624 -(4623) found -(4624) found -[1614] Forked 4625 -[1613] Forked 4626 -(4625) found -(4626) found -[1612] Forked 4627 -[1611] Forked 4628 -(4627) found -(4628) found -[1610] Forked 4629 -[1609] Forked 4630 -(4629) found -(4630) found -[1608] Forked 4631 -[1607] Forked 4632 -(4631) found -(4632) found -[1606] Forked 4633 -(4633) found -[1605] Forked 4634 -(4634) found -[1604] Forked 4635 -(4635) found -[1603] Forked 4636 -(4636) found -[1602] Forked 4637 -(4637) found -[1601] Forked 4638 -(4638) found -[1600] Forked 4639 -(4639) found -[1599] Forked 4640 -(4640) found -[1598] Forked 4641 -(4641) found -[1597] Forked 4642 -(4642) found -[1596] Forked 4643 -(4643) found -[1595] Forked 4644 -(4644) found -[1594] Forked 4645 -(4645) found -[1593] Forked 4646 -(4646) found -[1592] Forked 4647 -(4647) found -[1591] Forked 4648 -(4648) found -[1590] Forked 4649 -(4649) found -[1589] Forked 4650 -(4650) found -[1588] Forked 4651 -(4651) found -[1587] Forked 4652 -(4652) found -[1586] Forked 4653 -(4653) found -[1585] Forked 4654 -(4654) found -[1584] Forked 4655 -(4655) found -[1583] Forked 4656 -(4656) found -[1582] Forked 4657 -(4657) found -[1581] Forked 4658 -(4658) found -[1580] Forked 4659 -(4659) found -[1579] Forked 4660 -(4660) found -[1578] Forked 4661 -(4661) found -[1577] Forked 4662 -(4662) found -[1576] Forked 4663 -[1575] Forked 4664 -(4664) found -(4663) found -[1574] Forked 4665 -(4665) found -[1573] Forked 4666 -(4666) found -[1572] Forked 4667 -(4667) found -[1571] Forked 4668 -(4668) found -[1570] Forked 4669 -(4669) found -[1569] Forked 4670 -(4670) found -[1568] Forked 4671 -(4671) found -[1567] Forked 4672 -(4672) found -[1566] Forked 4673 -(4673) found -[1565] Forked 4674 -(4674) found -[1564] Forked 4675 -(4675) found -[1563] Forked 4676 -(4676) found -[1562] Forked 4677 -(4677) found -[1561] Forked 4678 -(4678) found -[1560] Forked 4679 -(4679) found -[1559] Forked 4680 -(4680) found -[1558] Forked 4681 -(4681) found -[1557] Forked 4682 -(4682) found -[1556] Forked 4683 -(4683) found -[1555] Forked 4684 -(4684) found -[1554] Forked 4685 -(4685) found -[1553] Forked 4686 -(4686) found -[1552] Forked 4687 -(4687) found -[1551] Forked 4688 -(4688) found -[1550] Forked 4689 -(4689) found -[1549] Forked 4690 -(4690) found -[1548] Forked 4691 -(4691) found -[1547] Forked 4692 -(4692) found -[1546] Forked 4693 -(4693) found -[1545] Forked 4694 -(4694) found -[1544] Forked 4695 -(4695) found -[1543] Forked 4696 -(4696) found -[1542] Forked 4697 -(4697) found -[1541] Forked 4698 -(4698) found -[1540] Forked 4699 -(4699) found -[1539] Forked 4700 -(4700) found -[1538] Forked 4701 -(4701) found -[1537] Forked 4702 -(4702) found -[1536] Forked 4703 -(4703) found -[1535] Forked 4704 -(4704) found -[1534] Forked 4705 -(4705) found -[1533] Forked 4706 -(4706) found -[1532] Forked 4707 -(4707) found -[1531] Forked 4708 -(4708) found -[1530] Forked 4709 -(4709) found -[1529] Forked 4710 -(4710) found -[1528] Forked 4711 -(4711) found -[1527] Forked 4712 -(4712) found -[1526] Forked 4713 -(4713) found -[1525] Forked 4714 -(4714) found -[1524] Forked 4715 -(4715) found -[1523] Forked 4716 -(4716) found -[1522] Forked 4717 -(4717) found -[1521] Forked 4718 -(4718) found -[1520] Forked 4719 -(4719) found -[1519] Forked 4720 -(4720) found -[1518] Forked 4721 -(4721) found -[1517] Forked 4722 -(4722) found -[1516] Forked 4723 -(4723) found -[1515] Forked 4724 -(4724) found -[1514] Forked 4725 -(4725) found -[1513] Forked 4726 -(4726) found -[1512] Forked 4727 -(4727) found -[1511] Forked 4728 -(4728) found -[1510] Forked 4729 -(4729) found -[1509] Forked 4730 -(4730) found -[1508] Forked 4731 -(4731) found -[1507] Forked 4732 -(4732) found -[1506] Forked 4733 -(4733) found -[1505] Forked 4734 -(4734) found -[1504] Forked 4735 -(4735) found -[1503] Forked 4736 -[1502] Forked 4737 -(4736) found -(4737) found -[1501] Forked 4738 -[1500] Forked 4739 -(4738) found -(4739) found -[1499] Forked 4740 -[1498] Forked 4741 -(4740) found -(4741) found -[1497] Forked 4742 -[1496] Forked 4743 -(4742) found -(4743) found -[1495] Forked 4744 -[1494] Forked 4745 -(4744) found -(4745) found -[1493] Forked 4746 -[1492] Forked 4747 -(4746) found -(4747) found -[1491] Forked 4748 -[1490] Forked 4749 -(4748) found -(4749) found -[1489] Forked 4750 -[1488] Forked 4751 -(4750) found -(4751) found -[1487] Forked 4752 -[1486] Forked 4753 -(4752) found -(4753) found -[1485] Forked 4754 -[1484] Forked 4755 -(4754) found -(4755) found -[1483] Forked 4756 -[1482] Forked 4757 -(4756) found -(4757) found -[1481] Forked 4758 -[1480] Forked 4759 -(4758) found -(4759) found -[1479] Forked 4760 -[1478] Forked 4761 -(4760) found -(4761) found -[1477] Forked 4762 -[1476] Forked 4763 -(4762) found -(4763) found -[1475] Forked 4764 -[1474] Forked 4765 -(4764) found -(4765) found -[1473] Forked 4766 -[1472] Forked 4767 -(4766) found -(4767) found -[1471] Forked 4768 -[1470] Forked 4769 -(4768) found -(4769) found -[1469] Forked 4770 -[1468] Forked 4771 -(4770) found -(4771) found -[1467] Forked 4772 -[1466] Forked 4773 -(4772) found -(4773) found -[1465] Forked 4774 -[1464] Forked 4775 -(4774) found -(4775) found -[1463] Forked 4776 -[1462] Forked 4777 -(4776) found -(4777) found -[1461] Forked 4778 -[1460] Forked 4779 -(4778) found -(4779) found -[1459] Forked 4780 -(4780) found -[1458] Forked 4781 -(4781) found -[1457] Forked 4782 -(4782) found -[1456] Forked 4783 -(4783) found -[1455] Forked 4784 -(4784) found -[1454] Forked 4785 -(4785) found -[1453] Forked 4786 -(4786) found -[1452] Forked 4787 -(4787) found -[1451] Forked 4788 -(4788) found -[1450] Forked 4789 -(4789) found -[1449] Forked 4790 -(4790) found -[1448] Forked 4791 -(4791) found -[1447] Forked 4792 -(4792) found -[1446] Forked 4793 -(4793) found -[1445] Forked 4794 -(4794) found -[1444] Forked 4795 -(4795) found -[1443] Forked 4796 -(4796) found -[1442] Forked 4797 -(4797) found -[1441] Forked 4798 -(4798) found -[1440] Forked 4799 -(4799) found -[1439] Forked 4800 -(4800) found -[1438] Forked 4801 -(4801) found -[1437] Forked 4802 -(4802) found -[1436] Forked 4803 -(4803) found -[1435] Forked 4804 -(4804) found -[1434] Forked 4805 -(4805) found -[1433] Forked 4806 -(4806) found -[1432] Forked 4807 -(4807) found -[1431] Forked 4808 -(4808) found -[1430] Forked 4809 -(4809) found -[1429] Forked 4810 -(4810) found -[1428] Forked 4811 -(4811) found -[1427] Forked 4812 -(4812) found -[1426] Forked 4813 -(4813) found -[1425] Forked 4814 -(4814) found -[1424] Forked 4815 -(4815) found -[1423] Forked 4816 -[1422] Forked 4817 -(4816) found -(4817) found -[1421] Forked 4818 -[1420] Forked 4819 -(4818) found -(4819) found -[1419] Forked 4820 -(4820) found -[1418] Forked 4821 -[1417] Forked 4822 -(4821) found -(4822) found -[1416] Forked 4823 -[1415] Forked 4824 -(4823) found -(4824) found -[1414] Forked 4825 -[1413] Forked 4826 -(4825) found -(4826) found -[1412] Forked 4827 -[1411] Forked 4828 -(4827) found -(4828) found -[1410] Forked 4829 -[1409] Forked 4830 -(4829) found -(4830) found -[1408] Forked 4831 -[1407] Forked 4832 -(4831) found -(4832) found -[1406] Forked 4833 -[1405] Forked 4834 -(4833) found -(4834) found -[1404] Forked 4835 -[1403] Forked 4836 -(4835) found -(4836) found -[1402] Forked 4837 -[1401] Forked 4838 -(4837) found -(4838) found -[1400] Forked 4839 -[1399] Forked 4840 -(4839) found -(4840) found -[1398] Forked 4841 -[1397] Forked 4842 -(4841) found -(4842) found -[1396] Forked 4843 -[1395] Forked 4844 -(4843) found -(4844) found -[1394] Forked 4845 -[1393] Forked 4846 -(4845) found -(4846) found -[1392] Forked 4847 -[1391] Forked 4848 -(4847) found -(4848) found -[1390] Forked 4849 -[1389] Forked 4850 -(4849) found -(4850) found -[1388] Forked 4851 -[1387] Forked 4852 -(4851) found -(4852) found -[1386] Forked 4853 -[1385] Forked 4854 -(4853) found -(4854) found -[1384] Forked 4855 -[1383] Forked 4856 -(4855) found -(4856) found -[1382] Forked 4857 -[1381] Forked 4858 -(4857) found -(4858) found -[1380] Forked 4859 -(4859) found -[1379] Forked 4860 -[1378] Forked 4861 -(4860) found -(4861) found -[1377] Forked 4862 -[1376] Forked 4863 -(4862) found -(4863) found -[1375] Forked 4864 -[1374] Forked 4865 -(4864) found -(4865) found -[1373] Forked 4866 -[1372] Forked 4867 -(4866) found -(4867) found -[1371] Forked 4868 -[1370] Forked 4869 -(4868) found -(4869) found -[1369] Forked 4870 -[1368] Forked 4871 -(4870) found -(4871) found -[1367] Forked 4872 -[1366] Forked 4873 -(4872) found -(4873) found -[1365] Forked 4874 -[1364] Forked 4875 -(4874) found -(4875) found -[1363] Forked 4876 -[1362] Forked 4877 -(4876) found -(4877) found -[1361] Forked 4878 -[1360] Forked 4879 -(4878) found -(4879) found -[1359] Forked 4880 -[1358] Forked 4881 -(4880) found -(4881) found -[1357] Forked 4882 -[1356] Forked 4883 -(4882) found -(4883) found -[1355] Forked 4884 -[1354] Forked 4885 -(4884) found -(4885) found -[1353] Forked 4886 -[1352] Forked 4887 -(4886) found -(4887) found -[1351] Forked 4888 -[1350] Forked 4889 -(4888) found -(4889) found -[1349] Forked 4890 -[1348] Forked 4891 -(4890) found -(4891) found -[1347] Forked 4892 -[1346] Forked 4893 -(4892) found -(4893) found -[1345] Forked 4894 -[1344] Forked 4895 -(4894) found -(4895) found -[1343] Forked 4896 -[1342] Forked 4897 -(4896) found -(4897) found -[1341] Forked 4898 -[1340] Forked 4899 -(4898) found -(4899) found -[1339] Forked 4900 -[1338] Forked 4901 -(4900) found -(4901) found -[1337] Forked 4902 -[1336] Forked 4903 -(4902) found -(4903) found -[1335] Forked 4904 -[1334] Forked 4905 -(4904) found -(4905) found -[1333] Forked 4906 -[1332] Forked 4907 -(4906) found -(4907) found -[1331] Forked 4908 -[1330] Forked 4909 -(4908) found -(4909) found -[1329] Forked 4910 -[1328] Forked 4911 -(4910) found -(4911) found -[1327] Forked 4912 -[1326] Forked 4913 -(4912) found -(4913) found -[1325] Forked 4914 -[1324] Forked 4915 -(4914) found -(4915) found -[1323] Forked 4916 -[1322] Forked 4917 -(4916) found -(4917) found -[1321] Forked 4918 -[1320] Forked 4919 -(4918) found -(4919) found -[1319] Forked 4920 -[1318] Forked 4921 -(4920) found -(4921) found -[1317] Forked 4922 -[1316] Forked 4923 -(4922) found -(4923) found -[1315] Forked 4924 -[1314] Forked 4925 -(4924) found -(4925) found -[1313] Forked 4926 -[1312] Forked 4927 -(4926) found -(4927) found -[1311] Forked 4928 -[1310] Forked 4929 -(4928) found -(4929) found -[1309] Forked 4930 -[1308] Forked 4931 -(4930) found -(4931) found -[1307] Forked 4932 -[1306] Forked 4933 -(4932) found -(4933) found -[1305] Forked 4934 -[1304] Forked 4935 -(4934) found -(4935) found -[1303] Forked 4936 -[1302] Forked 4937 -(4936) found -(4937) found -[1301] Forked 4938 -[1300] Forked 4939 -(4938) found -(4939) found -[1299] Forked 4940 -[1298] Forked 4941 -(4940) found -(4941) found -[1297] Forked 4942 -[1296] Forked 4943 -(4942) found -(4943) found -[1295] Forked 4944 -[1294] Forked 4945 -(4944) found -(4945) found -[1293] Forked 4946 -[1292] Forked 4947 -(4946) found -(4947) found -[1291] Forked 4948 -[1290] Forked 4949 -(4948) found -(4949) found -[1289] Forked 4950 -[1288] Forked 4951 -(4950) found -(4951) found -[1287] Forked 4952 -[1286] Forked 4953 -(4952) found -(4953) found -[1285] Forked 4954 -[1284] Forked 4955 -(4954) found -(4955) found -[1283] Forked 4956 -[1282] Forked 4957 -(4956) found -(4957) found -[1281] Forked 4958 -[1280] Forked 4959 -(4958) found -(4959) found -[1279] Forked 4960 -[1278] Forked 4961 -(4960) found -(4961) found -[1277] Forked 4962 -[1276] Forked 4963 -(4962) found -(4963) found -[1275] Forked 4964 -[1274] Forked 4965 -(4964) found -(4965) found -[1273] Forked 4966 -[1272] Forked 4967 -(4966) found -(4967) found -[1271] Forked 4968 -[1270] Forked 4969 -(4968) found -(4969) found -[1269] Forked 4970 -[1268] Forked 4971 -(4970) found -(4971) found -[1267] Forked 4972 -[1266] Forked 4973 -(4972) found -(4973) found -[1265] Forked 4974 -[1264] Forked 4975 -(4974) found -(4975) found -[1263] Forked 4976 -[1262] Forked 4977 -(4976) found -(4977) found -[1261] Forked 4978 -[1260] Forked 4979 -(4978) found -(4979) found -[1259] Forked 4980 -[1258] Forked 4981 -(4980) found -(4981) found -[1257] Forked 4982 -[1256] Forked 4983 -(4982) found -(4983) found -[1255] Forked 4984 -[1254] Forked 4985 -(4984) found -(4985) found -[1253] Forked 4986 -[1252] Forked 4987 -(4986) found -(4987) found -[1251] Forked 4988 -[1250] Forked 4989 -(4988) found -(4989) found -[1249] Forked 4990 -[1248] Forked 4991 -(4990) found -(4991) found -[1247] Forked 4992 -[1246] Forked 4993 -(4992) found -(4993) found -[1245] Forked 4994 -[1244] Forked 4995 -(4994) found -(4995) found -[1243] Forked 4996 -[1242] Forked 4997 -(4996) found -(4997) found -[1241] Forked 4998 -[1240] Forked 4999 -(4998) found -(4999) found -[1239] Forked 5000 -[1238] Forked 5001 -(5000) found -(5001) found -[1237] Forked 5002 -[1236] Forked 5003 -(5002) found -(5003) found -[1235] Forked 5004 -[1234] Forked 5005 -(5004) found -(5005) found -[1233] Forked 5006 -[1232] Forked 5007 -(5006) found -(5007) found -[1231] Forked 5008 -[1230] Forked 5009 -(5008) found -(5009) found -[1229] Forked 5010 -[1228] Forked 5011 -(5010) found -(5011) found -[1227] Forked 5012 -[1226] Forked 5013 -(5012) found -(5013) found -[1225] Forked 5014 -[1224] Forked 5015 -(5014) found -(5015) found -[1223] Forked 5016 -[1222] Forked 5017 -(5016) found -(5017) found -[1221] Forked 5018 -[1220] Forked 5019 -(5018) found -(5019) found -[1219] Forked 5020 -[1218] Forked 5021 -(5020) found -(5021) found -[1217] Forked 5022 -[1216] Forked 5023 -(5022) found -(5023) found -[1215] Forked 5024 -[1214] Forked 5025 -(5024) found -(5025) found -[1213] Forked 5026 -[1212] Forked 5027 -(5026) found -(5027) found -[1211] Forked 5028 -[1210] Forked 5029 -(5028) found -(5029) found -[1209] Forked 5030 -[1208] Forked 5031 -(5030) found -(5031) found -[1207] Forked 5032 -[1206] Forked 5033 -(5032) found -(5033) found -[1205] Forked 5034 -[1204] Forked 5035 -(5034) found -(5035) found -[1203] Forked 5036 -[1202] Forked 5037 -(5036) found -(5037) found -[1201] Forked 5038 -[1200] Forked 5039 -(5038) found -(5039) found -[1199] Forked 5040 -[1198] Forked 5041 -(5040) found -(5041) found -[1197] Forked 5042 -(5042) found -[1196] Forked 5043 -(5043) found -[1195] Forked 5044 -(5044) found -[1194] Forked 5045 -(5045) found -[1193] Forked 5046 -(5046) found -[1192] Forked 5047 -(5047) found -[1191] Forked 5048 -(5048) found -[1190] Forked 5049 -(5049) found -[1189] Forked 5050 -(5050) found -[1188] Forked 5051 -(5051) found -[1187] Forked 5052 -(5052) found -[1186] Forked 5053 -(5053) found -[1185] Forked 5054 -(5054) found -[1184] Forked 5055 -(5055) found -[1183] Forked 5056 -(5056) found -[1182] Forked 5057 -(5057) found -[1181] Forked 5058 -(5058) found -[1180] Forked 5059 -(5059) found -[1179] Forked 5060 -(5060) found -[1178] Forked 5061 -(5061) found -[1177] Forked 5062 -(5062) found -[1176] Forked 5063 -(5063) found -[1175] Forked 5064 -(5064) found -[1174] Forked 5065 -(5065) found -[1173] Forked 5066 -(5066) found -[1172] Forked 5067 -(5067) found -[1171] Forked 5068 -(5068) found -[1170] Forked 5069 -(5069) found -[1169] Forked 5070 -(5070) found -[1168] Forked 5071 -(5071) found -[1167] Forked 5072 -(5072) found -[1166] Forked 5073 -(5073) found -[1165] Forked 5074 -(5074) found -[1164] Forked 5075 -(5075) found -[1163] Forked 5076 -[1162] Forked 5077 -(5076) found -(5077) found -[1161] Forked 5078 -[1160] Forked 5079 -(5078) found -(5079) found -[1159] Forked 5080 -[1158] Forked 5081 -(5080) found -(5081) found -[1157] Forked 5082 -[1156] Forked 5083 -(5082) found -(5083) found -[1155] Forked 5084 -[1154] Forked 5085 -(5084) found -(5085) found -[1153] Forked 5086 -[1152] Forked 5087 -(5086) found -(5087) found -[1151] Forked 5088 -[1150] Forked 5089 -(5088) found -(5089) found -[1149] Forked 5090 -[1148] Forked 5091 -(5090) found -(5091) found -[1147] Forked 5092 -[1146] Forked 5093 -(5092) found -(5093) found -[1145] Forked 5094 -[1144] Forked 5095 -(5094) found -(5095) found -[1143] Forked 5096 -[1142] Forked 5097 -(5096) found -(5097) found -[1141] Forked 5098 -[1140] Forked 5099 -(5098) found -(5099) found -[1139] Forked 5100 -[1138] Forked 5101 -(5100) found -(5101) found -[1137] Forked 5102 -[1136] Forked 5103 -(5102) found -(5103) found -[1135] Forked 5104 -[1134] Forked 5105 -(5104) found -(5105) found -[1133] Forked 5106 -[1132] Forked 5107 -(5106) found -(5107) found -[1131] Forked 5108 -[1130] Forked 5109 -(5108) found -(5109) found -[1129] Forked 5110 -[1128] Forked 5111 -(5110) found -(5111) found -[1127] Forked 5112 -[1126] Forked 5113 -(5112) found -(5113) found -[1125] Forked 5114 -[1124] Forked 5115 -(5114) found -(5115) found -[1123] Forked 5116 -[1122] Forked 5117 -(5116) found -(5117) found -[1121] Forked 5118 -[1120] Forked 5119 -(5118) found -(5119) found -[1119] Forked 5120 -[1118] Forked 5121 -(5120) found -(5121) found -[1117] Forked 5122 -[1116] Forked 5123 -(5122) found -(5123) found -[1115] Forked 5124 -[1114] Forked 5125 -(5124) found -(5125) found -[1113] Forked 5126 -[1112] Forked 5127 -(5126) found -(5127) found -[1111] Forked 5128 -[1110] Forked 5129 -(5128) found -(5129) found -[1109] Forked 5130 -[1108] Forked 5131 -(5130) found -(5131) found -[1107] Forked 5132 -[1106] Forked 5133 -(5132) found -(5133) found -[1105] Forked 5134 -[1104] Forked 5135 -(5134) found -(5135) found -[1103] Forked 5136 -[1102] Forked 5137 -(5136) found -(5137) found -[1101] Forked 5138 -[1100] Forked 5139 -(5138) found -(5139) found -[1099] Forked 5140 -[1098] Forked 5141 -(5140) found -(5141) found -[1097] Forked 5142 -[1096] Forked 5143 -(5142) found -(5143) found -[1095] Forked 5144 -[1094] Forked 5145 -(5144) found -(5145) found -[1093] Forked 5146 -[1092] Forked 5147 -(5146) found -(5147) found -[1091] Forked 5148 -[1090] Forked 5149 -(5148) found -(5149) found -[1089] Forked 5150 -[1088] Forked 5151 -(5150) found -(5151) found -[1087] Forked 5152 -[1086] Forked 5153 -(5152) found -(5153) found -[1085] Forked 5154 -[1084] Forked 5155 -(5154) found -(5155) found -[1083] Forked 5156 -[1082] Forked 5157 -(5156) found -(5157) found -[1081] Forked 5158 -[1080] Forked 5159 -(5158) found -(5159) found -[1079] Forked 5160 -[1078] Forked 5161 -(5160) found -(5161) found -[1077] Forked 5162 -[1076] Forked 5163 -(5162) found -(5163) found -[1075] Forked 5164 -[1074] Forked 5165 -(5164) found -(5165) found -[1073] Forked 5166 -(5166) found -[1072] Forked 5167 -(5167) found -[1071] Forked 5168 -(5168) found -[1070] Forked 5169 -(5169) found -[1069] Forked 5170 -(5170) found -[1068] Forked 5171 -(5171) found -[1067] Forked 5172 -(5172) found -[1066] Forked 5173 -(5173) found -[1065] Forked 5174 -(5174) found -[1064] Forked 5175 -(5175) found -[1063] Forked 5176 -(5176) found -[1062] Forked 5177 -(5177) found -[1061] Forked 5178 -(5178) found -[1060] Forked 5179 -(5179) found -[1059] Forked 5180 -(5180) found -[1058] Forked 5181 -(5181) found -[1057] Forked 5182 -(5182) found -[1056] Forked 5183 -(5183) found -[1055] Forked 5184 -(5184) found -[1054] Forked 5185 -(5185) found -[1053] Forked 5186 -(5186) found -[1052] Forked 5187 -(5187) found -[1051] Forked 5188 -(5188) found -[1050] Forked 5189 -(5189) found -[1049] Forked 5190 -(5190) found -[1048] Forked 5191 -(5191) found -[1047] Forked 5192 -(5192) found -[1046] Forked 5193 -(5193) found -[1045] Forked 5194 -(5194) found -[1044] Forked 5195 -(5195) found -[1043] Forked 5196 -(5196) found -[1042] Forked 5197 -(5197) found -[1041] Forked 5198 -(5198) found -[1040] Forked 5199 -(5199) found -[1039] Forked 5200 -(5200) found -[1038] Forked 5201 -[1037] Forked 5202 -(5201) found -(5202) found -[1036] Forked 5203 -[1035] Forked 5204 -(5203) found -(5204) found -[1034] Forked 5205 -[1033] Forked 5207 -(5205) found -(5207) found -[1032] Forked 5208 -(5208) found -[1031] Forked 5209 -(5209) found -[1030] Forked 5210 -(5210) found -[1029] Forked 5211 -(5211) found -[1028] Forked 5212 -(5212) found -[1027] Forked 5213 -(5213) found -[1026] Forked 5214 -(5214) found -[1025] Forked 5215 -(5215) found -[1024] Forked 5216 -(5216) found -[1023] Forked 5217 -(5217) found -[1022] Forked 5218 -(5218) found -[1021] Forked 5219 -(5219) found -[1020] Forked 5220 -(5220) found -[1019] Forked 5221 -(5221) found -[1018] Forked 5222 -(5222) found -[1017] Forked 5223 -(5223) found -[1016] Forked 5224 -(5224) found -[1015] Forked 5225 -(5225) found -[1014] Forked 5226 -(5226) found -[1013] Forked 5227 -(5227) found -[1012] Forked 5228 -(5228) found -[1011] Forked 5229 -(5229) found -[1010] Forked 5230 -(5230) found -[1009] Forked 5231 -(5231) found -[1008] Forked 5232 -(5232) found -[1007] Forked 5233 -(5233) found -[1006] Forked 5234 -(5234) found -[1005] Forked 5235 -(5235) found -[1004] Forked 5236 -(5236) found -[1003] Forked 5237 -(5237) found -[1002] Forked 5238 -(5238) found -[1001] Forked 5239 -(5239) found -[1000] Forked 5240 -(5240) found -[999] Forked 5241 -(5241) found -[998] Forked 5242 -(5242) found -[997] Forked 5243 -(5243) found -[996] Forked 5244 -(5244) found -[995] Forked 5245 -(5245) found -[994] Forked 5246 -(5246) found -[993] Forked 5247 -(5247) found -[992] Forked 5248 -(5248) found -[991] Forked 5249 -(5249) found -[990] Forked 5250 -(5250) found -[989] Forked 5251 -(5251) found -[988] Forked 5252 -(5252) found -[987] Forked 5253 -(5253) found -[986] Forked 5254 -(5254) found -[985] Forked 5255 -(5255) found -[984] Forked 5256 -(5256) found -[983] Forked 5257 -(5257) found -[982] Forked 5258 -(5258) found -[981] Forked 5259 -(5259) found -[980] Forked 5260 -(5260) found -[979] Forked 5261 -(5261) found -[978] Forked 5262 -(5262) found -[977] Forked 5263 -(5263) found -[976] Forked 5264 -(5264) found -[975] Forked 5265 -(5265) found -[974] Forked 5266 -(5266) found -[973] Forked 5267 -(5267) found -[972] Forked 5268 -(5268) found -[971] Forked 5269 -(5269) found -[970] Forked 5270 -(5270) found -[969] Forked 5271 -(5271) found -[968] Forked 5272 -(5272) found -[967] Forked 5273 -(5273) found -[966] Forked 5274 -(5274) found -[965] Forked 5275 -[964] Forked 5276 -(5275) found -(5276) found -[963] Forked 5277 -[962] Forked 5278 -(5277) found -(5278) found -[961] Forked 5279 -[960] Forked 5280 -(5279) found -(5280) found -[959] Forked 5281 -[958] Forked 5282 -(5281) found -(5282) found -[957] Forked 5283 -[956] Forked 5284 -(5283) found -(5284) found -[955] Forked 5285 -[954] Forked 5286 -(5285) found -(5286) found -[953] Forked 5287 -[952] Forked 5288 -(5287) found -(5288) found -[951] Forked 5289 -[950] Forked 5290 -(5289) found -(5290) found -[949] Forked 5291 -[948] Forked 5292 -(5291) found -(5292) found -[947] Forked 5293 -[946] Forked 5294 -(5293) found -(5294) found -[945] Forked 5295 -[944] Forked 5296 -(5295) found -(5296) found -[943] Forked 5297 -[942] Forked 5298 -(5297) found -(5298) found -[941] Forked 5299 -[940] Forked 5300 -(5299) found -(5300) found -[939] Forked 5301 -[938] Forked 5302 -(5301) found -(5302) found -[937] Forked 5303 -[936] Forked 5304 -(5303) found -(5304) found -[935] Forked 5305 -[934] Forked 5306 -(5305) found -(5306) found -[933] Forked 5307 -[932] Forked 5308 -(5307) found -(5308) found -[931] Forked 5309 -[930] Forked 5310 -(5309) found -(5310) found -[929] Forked 5311 -[928] Forked 5312 -(5311) found -(5312) found -[927] Forked 5313 -[926] Forked 5314 -(5313) found -(5314) found -[925] Forked 5315 -[924] Forked 5316 -(5315) found -(5316) found -[923] Forked 5317 -(5317) found -[922] Forked 5318 -(5318) found -[921] Forked 5319 -(5319) found -[920] Forked 5320 -(5320) found -[919] Forked 5321 -(5321) found -[918] Forked 5322 -(5322) found -[917] Forked 5323 -(5323) found -[916] Forked 5324 -(5324) found -[915] Forked 5325 -(5325) found -[914] Forked 5326 -(5326) found -[913] Forked 5327 -(5327) found -[912] Forked 5328 -(5328) found -[911] Forked 5329 -(5329) found -[910] Forked 5330 -(5330) found -[909] Forked 5331 -(5331) found -[908] Forked 5332 -(5332) found -[907] Forked 5333 -(5333) found -[906] Forked 5334 -(5334) found -[905] Forked 5335 -(5335) found -[904] Forked 5336 -(5336) found -[903] Forked 5337 -(5337) found -[902] Forked 5338 -(5338) found -[901] Forked 5339 -(5339) found -[900] Forked 5340 -(5340) found -[899] Forked 5341 -(5341) found -[898] Forked 5342 -(5342) found -[897] Forked 5343 -(5343) found -[896] Forked 5344 -(5344) found -[895] Forked 5345 -(5345) found -[894] Forked 5346 -(5346) found -[893] Forked 5347 -(5347) found -[892] Forked 5348 -(5348) found -[891] Forked 5349 -(5349) found -[890] Forked 5350 -(5350) found -[889] Forked 5351 -(5351) found -[888] Forked 5352 -(5352) found -[887] Forked 5353 -[886] Forked 5354 -(5353) found -(5354) found -[885] Forked 5355 -[884] Forked 5356 -(5355) found -(5356) found -[883] Forked 5357 -[882] Forked 5358 -(5357) found -(5358) found -[881] Forked 5359 -[880] Forked 5360 -(5359) found -(5360) found -[879] Forked 5361 -[878] Forked 5362 -(5361) found -(5362) found -[877] Forked 5363 -[876] Forked 5364 -(5363) found -(5364) found -[875] Forked 5365 -[874] Forked 5366 -(5365) found -(5366) found -[873] Forked 5367 -(5367) found -[872] Forked 5368 -(5368) found -[871] Forked 5369 -[870] Forked 5370 -(5369) found -(5370) found -[869] Forked 5371 -[868] Forked 5372 -(5371) found -(5372) found -[867] Forked 5373 -[866] Forked 5374 -(5373) found -(5374) found -[865] Forked 5375 -[864] Forked 5376 -(5375) found -(5376) found -[863] Forked 5377 -[862] Forked 5378 -(5377) found -(5378) found -[861] Forked 5379 -[860] Forked 5380 -(5379) found -(5380) found -[859] Forked 5381 -[858] Forked 5382 -(5381) found -(5382) found -[857] Forked 5383 -[856] Forked 5384 -(5383) found -(5384) found -[855] Forked 5385 -[854] Forked 5386 -(5385) found -(5386) found -[853] Forked 5387 -[852] Forked 5388 -(5387) found -(5388) found -[851] Forked 5389 -[850] Forked 5390 -(5389) found -(5390) found -[849] Forked 5391 -[848] Forked 5392 -(5391) found -(5392) found -[847] Forked 5393 -[846] Forked 5394 -(5393) found -(5394) found -[845] Forked 5395 -[844] Forked 5396 -(5395) found -(5396) found -[843] Forked 5397 -[842] Forked 5398 -(5397) found -(5398) found -[841] Forked 5399 -[840] Forked 5400 -(5399) found -(5400) found -[839] Forked 5401 -[838] Forked 5402 -(5401) found -(5402) found -[837] Forked 5403 -[836] Forked 5404 -(5403) found -(5404) found -[835] Forked 5405 -[834] Forked 5406 -(5405) found -(5406) found -[833] Forked 5407 -[832] Forked 5408 -(5407) found -(5408) found -[831] Forked 5409 -[830] Forked 5410 -(5409) found -(5410) found -[829] Forked 5411 -[828] Forked 5412 -(5411) found -(5412) found -[827] Forked 5413 -[826] Forked 5414 -(5414) found -(5413) found -[825] Forked 5415 -(5415) found -[824] Forked 5416 -(5416) found -[823] Forked 5417 -(5417) found -[822] Forked 5418 -(5418) found -[821] Forked 5419 -(5419) found -[820] Forked 5420 -(5420) found -[819] Forked 5421 -(5421) found -[818] Forked 5422 -(5422) found -[817] Forked 5423 -(5423) found -[816] Forked 5424 -(5424) found -[815] Forked 5425 -(5425) found -[814] Forked 5426 -(5426) found -[813] Forked 5427 -(5427) found -[812] Forked 5428 -(5428) found -[811] Forked 5429 -(5429) found -[810] Forked 5430 -(5430) found -[809] Forked 5431 -(5431) found -[808] Forked 5432 -(5432) found -[807] Forked 5433 -(5433) found -[806] Forked 5434 -(5434) found -[805] Forked 5435 -(5435) found -[804] Forked 5436 -(5436) found -[803] Forked 5437 -(5437) found -[802] Forked 5438 -(5438) found -[801] Forked 5439 -(5439) found -[800] Forked 5440 -(5440) found -[799] Forked 5441 -(5441) found -[798] Forked 5442 -(5442) found -[797] Forked 5443 -(5443) found -[796] Forked 5444 -(5444) found -[795] Forked 5445 -(5445) found -[794] Forked 5446 -(5446) found -[793] Forked 5447 -(5447) found -[792] Forked 5448 -(5448) found -[791] Forked 5449 -(5449) found -[790] Forked 5450 -(5450) found -[789] Forked 5451 -(5451) found -[788] Forked 5452 -(5452) found -[787] Forked 5453 -(5453) found -[786] Forked 5454 -(5454) found -[785] Forked 5455 -(5455) found -[784] Forked 5456 -(5456) found -[783] Forked 5457 -(5457) found -[782] Forked 5458 -(5458) found -[781] Forked 5459 -(5459) found -[780] Forked 5460 -(5460) found -[779] Forked 5461 -(5461) found -[778] Forked 5462 -(5462) found -[777] Forked 5463 -(5463) found -[776] Forked 5464 -(5464) found -[775] Forked 5465 -(5465) found -[774] Forked 5466 -(5466) found -[773] Forked 5467 -(5467) found -[772] Forked 5468 -(5468) found -[771] Forked 5469 -(5469) found -[770] Forked 5470 -(5470) found -[769] Forked 5471 -(5471) found -[768] Forked 5472 -[767] Forked 5473 -(5472) found -(5473) found -[766] Forked 5474 -[765] Forked 5475 -(5474) found -(5475) found -[764] Forked 5476 -[763] Forked 5477 -(5476) found -(5477) found -[762] Forked 5478 -[761] Forked 5479 -(5478) found -(5479) found -[760] Forked 5480 -[759] Forked 5481 -(5480) found -(5481) found -[758] Forked 5482 -[757] Forked 5483 -(5482) found -(5483) found -[756] Forked 5484 -[755] Forked 5485 -(5484) found -(5485) found -[754] Forked 5486 -[753] Forked 5487 -(5486) found -(5487) found -[752] Forked 5488 -[751] Forked 5489 -(5488) found -(5489) found -[750] Forked 5490 -[749] Forked 5491 -(5490) found -(5491) found -[748] Forked 5492 -[747] Forked 5493 -(5492) found -(5493) found -[746] Forked 5494 -[745] Forked 5495 -(5494) found -(5495) found -[744] Forked 5496 -[743] Forked 5497 -(5496) found -(5497) found -[742] Forked 5498 -[741] Forked 5499 -(5498) found -(5499) found -[740] Forked 5500 -[739] Forked 5501 -(5500) found -(5501) found -[738] Forked 5502 -[737] Forked 5503 -(5502) found -(5503) found -[736] Forked 5504 -[735] Forked 5505 -(5504) found -(5505) found -[734] Forked 5506 -[733] Forked 5507 -(5506) found -(5507) found -[732] Forked 5508 -[731] Forked 5509 -(5508) found -(5509) found -[730] Forked 5510 -[729] Forked 5511 -(5510) found -(5511) found -[728] Forked 5512 -[727] Forked 5513 -(5512) found -(5513) found -[726] Forked 5514 -[725] Forked 5515 -(5514) found -(5515) found -[724] Forked 5516 -[723] Forked 5517 -(5516) found -(5517) found -[722] Forked 5518 -[721] Forked 5519 -(5518) found -(5519) found -[720] Forked 5520 -[719] Forked 5521 -(5520) found -(5521) found -[718] Forked 5522 -[717] Forked 5523 -(5522) found -(5523) found -[716] Forked 5524 -[715] Forked 5525 -(5524) found -(5525) found -[714] Forked 5526 -[713] Forked 5527 -(5526) found -(5527) found -[712] Forked 5528 -[711] Forked 5529 -(5528) found -(5529) found -[710] Forked 5530 -[709] Forked 5531 -(5530) found -(5531) found -[708] Forked 5532 -[707] Forked 5533 -(5532) found -(5533) found -[706] Forked 5534 -[705] Forked 5535 -(5534) found -(5535) found -[704] Forked 5536 -[703] Forked 5537 -(5536) found -(5537) found -[702] Forked 5538 -[701] Forked 5539 -(5538) found -(5539) found -[700] Forked 5540 -[699] Forked 5541 -(5540) found -(5541) found -[698] Forked 5542 -[697] Forked 5543 -(5542) found -(5543) found -[696] Forked 5544 -[695] Forked 5545 -(5544) found -(5545) found -[694] Forked 5546 -[693] Forked 5547 -(5546) found -(5547) found -[692] Forked 5548 -[691] Forked 5549 -(5548) found -(5549) found -[690] Forked 5550 -[689] Forked 5551 -(5550) found -(5551) found -[688] Forked 5552 -[687] Forked 5553 -(5552) found -(5553) found -[686] Forked 5554 -[685] Forked 5555 -(5554) found -(5555) found -[684] Forked 5556 -[683] Forked 5557 -(5556) found -(5557) found -[682] Forked 5558 -[681] Forked 5559 -(5558) found -(5559) found -[680] Forked 5560 -[679] Forked 5561 -(5560) found -(5561) found -[678] Forked 5562 -[677] Forked 5563 -(5562) found -(5563) found -[676] Forked 5564 -(5564) found -[675] Forked 5565 -(5565) found -[674] Forked 5566 -(5566) found -[673] Forked 5567 -(5567) found -[672] Forked 5568 -(5568) found -[671] Forked 5569 -(5569) found -[670] Forked 5570 -(5570) found -[669] Forked 5571 -(5571) found -[668] Forked 5572 -(5572) found -[667] Forked 5573 -(5573) found -[666] Forked 5574 -(5574) found -[665] Forked 5575 -(5575) found -[664] Forked 5576 -(5576) found -[663] Forked 5577 -(5577) found -[662] Forked 5578 -(5578) found -[661] Forked 5579 -(5579) found -[660] Forked 5580 -(5580) found -[659] Forked 5581 -(5581) found -[658] Forked 5582 -(5582) found -[657] Forked 5583 -(5583) found -[656] Forked 5584 -(5584) found -[655] Forked 5585 -(5585) found -[654] Forked 5586 -(5586) found -[653] Forked 5587 -(5587) found -[652] Forked 5588 -(5588) found -[651] Forked 5589 -(5589) found -[650] Forked 5590 -(5590) found -[649] Forked 5591 -(5591) found -[648] Forked 5592 -(5592) found -[647] Forked 5593 -(5593) found -[646] Forked 5594 -(5594) found -[645] Forked 5595 -(5595) found -[644] Forked 5596 -(5596) found -[643] Forked 5597 -(5597) found -[642] Forked 5598 -(5598) found -[641] Forked 5599 -(5599) found -[640] Forked 5600 -(5600) found -[639] Forked 5601 -[638] Forked 5602 -(5601) found -(5602) found -[637] Forked 5603 -[636] Forked 5604 -(5603) found -(5604) found -[635] Forked 5605 -[634] Forked 5606 -(5605) found -(5606) found -[633] Forked 5607 -[632] Forked 5608 -(5607) found -(5608) found -[631] Forked 5609 -[630] Forked 5610 -(5609) found -(5610) found -[629] Forked 5611 -[628] Forked 5612 -(5611) found -(5612) found -[627] Forked 5613 -[626] Forked 5614 -(5613) found -(5614) found -[625] Forked 5615 -[624] Forked 5616 -(5615) found -(5616) found -[623] Forked 5617 -[622] Forked 5618 -(5617) found -(5618) found -[621] Forked 5619 -[620] Forked 5620 -(5619) found -(5620) found -[619] Forked 5621 -[618] Forked 5622 -(5621) found -(5622) found -[617] Forked 5623 -[616] Forked 5624 -(5623) found -(5624) found -[615] Forked 5625 -[614] Forked 5626 -(5625) found -(5626) found -[613] Forked 5627 -[612] Forked 5628 -(5627) found -(5628) found -[611] Forked 5629 -[610] Forked 5630 -(5629) found -(5630) found -[609] Forked 5631 -[608] Forked 5632 -(5631) found -(5632) found -[607] Forked 5633 -[606] Forked 5634 -(5633) found -(5634) found -[605] Forked 5635 -[604] Forked 5636 -(5635) found -(5636) found -[603] Forked 5637 -[602] Forked 5638 -(5637) found -(5638) found -[601] Forked 5639 -[600] Forked 5640 -(5639) found -(5640) found -[599] Forked 5641 -[598] Forked 5642 -(5641) found -(5642) found -[597] Forked 5643 -[596] Forked 5644 -(5643) found -(5644) found -[595] Forked 5645 -[594] Forked 5646 -(5645) found -(5646) found -[593] Forked 5647 -[592] Forked 5648 -(5647) found -(5648) found -[591] Forked 5649 -[590] Forked 5650 -(5649) found -(5650) found -[589] Forked 5651 -[588] Forked 5652 -(5651) found -(5652) found -[587] Forked 5653 -[586] Forked 5654 -(5653) found -(5654) found -[585] Forked 5655 -[584] Forked 5656 -(5655) found -(5656) found -[583] Forked 5657 -[582] Forked 5658 -(5657) found -(5658) found -[581] Forked 5659 -[580] Forked 5660 -(5659) found -(5660) found -[579] Forked 5661 -[578] Forked 5662 -(5661) found -(5662) found -[577] Forked 5663 -[576] Forked 5664 -(5663) found -(5664) found -[575] Forked 5665 -[574] Forked 5666 -(5665) found -(5666) found -[573] Forked 5667 -[572] Forked 5668 -(5667) found -(5668) found -[571] Forked 5669 -[570] Forked 5670 -(5669) found -(5670) found -[569] Forked 5671 -[568] Forked 5672 -(5671) found -(5672) found -[567] Forked 5673 -[566] Forked 5674 -(5673) found -(5674) found -[565] Forked 5675 -[564] Forked 5676 -(5675) found -(5676) found -[563] Forked 5677 -[562] Forked 5678 -(5677) found -(5678) found -[561] Forked 5679 -[560] Forked 5680 -(5679) found -(5680) found -[559] Forked 5681 -[558] Forked 5682 -(5681) found -(5682) found -[557] Forked 5683 -[556] Forked 5684 -(5683) found -(5684) found -[555] Forked 5685 -[554] Forked 5686 -(5685) found -(5686) found -[553] Forked 5687 -[552] Forked 5688 -(5687) found -(5688) found -[551] Forked 5689 -[550] Forked 5690 -(5689) found -(5690) found -[549] Forked 5691 -[548] Forked 5692 -(5691) found -(5692) found -[547] Forked 5693 -(5693) found -[546] Forked 5694 -[545] Forked 5695 -(5694) found -(5695) found -[544] Forked 5696 -(5696) found -[543] Forked 5697 -[542] Forked 5698 -(5697) found -(5698) found -[541] Forked 5699 -[540] Forked 5700 -(5699) found -(5700) found -[539] Forked 5701 -[538] Forked 5702 -(5701) found -(5702) found -[537] Forked 5703 -[536] Forked 5705 -(5703) found -(5705) found -[535] Forked 5706 -(5706) found -[534] Forked 5707 -(5707) found -[533] Forked 5708 -(5708) found -[532] Forked 5709 -(5709) found -[531] Forked 5710 -(5710) found -[530] Forked 5711 -(5711) found -[529] Forked 5712 -(5712) found -[528] Forked 5713 -(5713) found -[527] Forked 5714 -(5714) found -[526] Forked 5715 -(5715) found -[525] Forked 5716 -(5716) found -[524] Forked 5717 -(5717) found -[523] Forked 5718 -(5718) found -[522] Forked 5719 -(5719) found -[521] Forked 5720 -(5720) found -[520] Forked 5721 -(5721) found -[519] Forked 5722 -(5722) found -[518] Forked 5723 -(5723) found -[517] Forked 5724 -(5724) found -[516] Forked 5725 -(5725) found -[515] Forked 5726 -(5726) found -[514] Forked 5727 -(5727) found -[513] Forked 5728 -(5728) found -[512] Forked 5729 -(5729) found -[511] Forked 5730 -(5730) found -[510] Forked 5731 -(5731) found -[509] Forked 5732 -(5732) found -[508] Forked 5733 -(5733) found -[507] Forked 5734 -(5734) found -[506] Forked 5735 -(5735) found -[505] Forked 5736 -(5736) found -[504] Forked 5737 -(5737) found -[503] Forked 5738 -(5738) found -[502] Forked 5739 -(5739) found -[501] Forked 5740 -(5740) found -[500] Forked 5741 -(5741) found -[499] Forked 5742 -(5742) found -[498] Forked 5743 -(5743) found -[497] Forked 5744 -(5744) found -[496] Forked 5745 -(5745) found -[495] Forked 5746 -(5746) found -[494] Forked 5747 -(5747) found -[493] Forked 5748 -(5748) found -[492] Forked 5749 -(5749) found -[491] Forked 5750 -(5750) found -[490] Forked 5751 -(5751) found -[489] Forked 5752 -(5752) found -[488] Forked 5753 -(5753) found -[487] Forked 5754 -(5754) found -[486] Forked 5755 -(5755) found -[485] Forked 5756 -(5756) found -[484] Forked 5757 -(5757) found -[483] Forked 5758 -(5758) found -[482] Forked 5759 -(5759) found -[481] Forked 5760 -(5760) found -[480] Forked 5761 -(5761) found -[479] Forked 5762 -(5762) found -[478] Forked 5763 -(5763) found -[477] Forked 5764 -(5764) found -[476] Forked 5765 -(5765) found -[475] Forked 5766 -(5766) found -[474] Forked 5767 -(5767) found -[473] Forked 5768 -(5768) found -[472] Forked 5769 -(5769) found -[471] Forked 5770 -(5770) found -[470] Forked 5771 -(5771) found -[469] Forked 5772 -(5772) found -[468] Forked 5773 -(5773) found -[467] Forked 5774 -(5774) found -[466] Forked 5775 -(5775) found -[465] Forked 5776 -(5776) found -[464] Forked 5777 -(5777) found -[463] Forked 5778 -(5778) found -[462] Forked 5779 -(5779) found -[461] Forked 5780 -(5780) found -[460] Forked 5781 -(5781) found -[459] Forked 5782 -(5782) found -[458] Forked 5783 -(5783) found -[457] Forked 5784 -(5784) found -[456] Forked 5785 -(5785) found -[455] Forked 5786 -(5786) found -[454] Forked 5787 -(5787) found -[453] Forked 5788 -(5788) found -[452] Forked 5789 -(5789) found -[451] Forked 5790 -(5790) found -[450] Forked 5791 -(5791) found -[449] Forked 5792 -(5792) found -[448] Forked 5793 -(5793) found -[447] Forked 5794 -(5794) found -[446] Forked 5795 -(5795) found -[445] Forked 5796 -(5796) found -[444] Forked 5797 -(5797) found -[443] Forked 5798 -(5798) found -[442] Forked 5799 -(5799) found -[441] Forked 5800 -(5800) found -[440] Forked 5801 -(5801) found -[439] Forked 5802 -(5802) found -[438] Forked 5803 -(5803) found -[437] Forked 5804 -[436] Forked 5805 -(5804) found -(5805) found -[435] Forked 5806 -[434] Forked 5807 -(5806) found -(5807) found -[433] Forked 5808 -[432] Forked 5809 -(5808) found -(5809) found -[431] Forked 5810 -[430] Forked 5811 -(5810) found -(5811) found -[429] Forked 5812 -[428] Forked 5813 -(5812) found -(5813) found -[427] Forked 5814 -[426] Forked 5815 -(5814) found -(5815) found -[425] Forked 5816 -[424] Forked 5817 -(5816) found -(5817) found -[423] Forked 5818 -[422] Forked 5819 -(5818) found -(5819) found -[421] Forked 5820 -[420] Forked 5821 -(5820) found -(5821) found -[419] Forked 5822 -[418] Forked 5823 -(5822) found -(5823) found -[417] Forked 5824 -[416] Forked 5825 -(5824) found -(5825) found -[415] Forked 5826 -[414] Forked 5827 -(5826) found -(5827) found -[413] Forked 5828 -[412] Forked 5829 -(5828) found -(5829) found -[411] Forked 5830 -[410] Forked 5831 -(5830) found -(5831) found -[409] Forked 5832 -[408] Forked 5833 -(5832) found -(5833) found -[407] Forked 5834 -[406] Forked 5835 -(5834) found -(5835) found -[405] Forked 5836 -[404] Forked 5838 -(5836) found -(5838) found -[403] Forked 5839 -(5839) found -[402] Forked 5840 -(5840) found -[401] Forked 5841 -(5841) found -[400] Forked 5842 -(5842) found -[399] Forked 5843 -(5843) found -[398] Forked 5844 -(5844) found -[397] Forked 5845 -(5845) found -[396] Forked 5846 -(5846) found -[395] Forked 5847 -(5847) found -[394] Forked 5848 -(5848) found -[393] Forked 5849 -(5849) found -[392] Forked 5850 -(5850) found -[391] Forked 5851 -(5851) found -[390] Forked 5852 -(5852) found -[389] Forked 5853 -(5853) found -[388] Forked 5854 -(5854) found -[387] Forked 5855 -(5855) found -[386] Forked 5856 -(5856) found -[385] Forked 5857 -(5857) found -[384] Forked 5858 -(5858) found -[383] Forked 5859 -(5859) found -[382] Forked 5860 -(5860) found -[381] Forked 5861 -(5861) found -[380] Forked 5862 -(5862) found -[379] Forked 5863 -(5863) found -[378] Forked 5864 -(5864) found -[377] Forked 5865 -(5865) found -[376] Forked 5866 -(5866) found -[375] Forked 5867 -(5867) found -[374] Forked 5868 -(5868) found -[373] Forked 5869 -(5869) found -[372] Forked 5870 -(5870) found -[371] Forked 5871 -(5871) found -[370] Forked 5872 -(5872) found -[369] Forked 5873 -(5873) found -[368] Forked 5874 -(5874) found -[367] Forked 5875 -(5875) found -[366] Forked 5876 -(5876) found -[365] Forked 5877 -(5877) found -[364] Forked 5878 -(5878) found -[363] Forked 5879 -(5879) found -[362] Forked 5880 -(5880) found -[361] Forked 5881 -(5881) found -[360] Forked 5882 -(5882) found -[359] Forked 5883 -(5883) found -[358] Forked 5884 -[357] Forked 5885 -(5884) found -(5885) found -[356] Forked 5886 -(5886) found -[355] Forked 5887 -[354] Forked 5888 -(5887) found -(5888) found -[353] Forked 5889 -[352] Forked 5890 -(5889) found -(5890) found -[351] Forked 5891 -[350] Forked 5892 -(5891) found -(5892) found -[349] Forked 5893 -[348] Forked 5894 -(5893) found -(5894) found -[347] Forked 5895 -[346] Forked 5896 -(5895) found -(5896) found -[345] Forked 5897 -[344] Forked 5898 -(5897) found -(5898) found -[343] Forked 5899 -[342] Forked 5900 -(5899) found -(5900) found -[341] Forked 5901 -[340] Forked 5902 -(5901) found -(5902) found -[339] Forked 5903 -[338] Forked 5904 -(5903) found -(5904) found -[337] Forked 5905 -[336] Forked 5906 -(5905) found -(5906) found -[335] Forked 5907 -[334] Forked 5908 -(5907) found -(5908) found -[333] Forked 5909 -[332] Forked 5910 -(5909) found -(5910) found -[331] Forked 5911 -[330] Forked 5912 -(5911) found -(5912) found -[329] Forked 5913 -[328] Forked 5914 -(5913) found -(5914) found -[327] Forked 5915 -[326] Forked 5916 -(5915) found -(5916) found -[325] Forked 5917 -[324] Forked 5918 -(5917) found -(5918) found -[323] Forked 5919 -[322] Forked 5920 -(5919) found -(5920) found -[321] Forked 5921 -[320] Forked 5922 -(5921) found -(5922) found -[319] Forked 5923 -[318] Forked 5924 -(5923) found -(5924) found -[317] Forked 5925 -[316] Forked 5926 -(5925) found -(5926) found -[315] Forked 5927 -[314] Forked 5928 -(5927) found -(5928) found -[313] Forked 5929 -[312] Forked 5930 -(5929) found -(5930) found -[311] Forked 5931 -[310] Forked 5932 -(5931) found -(5932) found -[309] Forked 5933 -[308] Forked 5934 -(5933) found -(5934) found -[307] Forked 5935 -[306] Forked 5936 -(5935) found -(5936) found -[305] Forked 5937 -[304] Forked 5938 -(5937) found -(5938) found -[303] Forked 5939 -[302] Forked 5940 -(5939) found -(5940) found -[301] Forked 5941 -[300] Forked 5942 -(5941) found -(5942) found -[299] Forked 5943 -[298] Forked 5944 -(5943) found -(5944) found -[297] Forked 5945 -[296] Forked 5946 -(5945) found -(5946) found -[295] Forked 5947 -[294] Forked 5948 -(5947) found -(5948) found -[293] Forked 5949 -[292] Forked 5950 -(5949) found -(5950) found -[291] Forked 5951 -[290] Forked 5952 -(5951) found -(5952) found -[289] Forked 5953 -[288] Forked 5954 -(5953) found -(5954) found -[287] Forked 5955 -[286] Forked 5956 -(5955) found -(5956) found -[285] Forked 5957 -[284] Forked 5958 -(5957) found -(5958) found -[283] Forked 5959 -[282] Forked 5960 -(5959) found -(5960) found -[281] Forked 5961 -[280] Forked 5962 -(5961) found -(5962) found -[279] Forked 5963 -[278] Forked 5964 -(5963) found -(5964) found -[277] Forked 5965 -[276] Forked 5966 -(5965) found -(5966) found -[275] Forked 5967 -[274] Forked 5968 -(5967) found -(5968) found -[273] Forked 5969 -[272] Forked 5970 -(5969) found -(5970) found -[271] Forked 5971 -[270] Forked 5972 -(5971) found -(5972) found -[269] Forked 5973 -[268] Forked 5974 -(5973) found -(5974) found -[267] Forked 5975 -(5975) found -[266] Forked 5976 -(5976) found -[265] Forked 5977 -(5977) found -[264] Forked 5978 -(5978) found -[263] Forked 5979 -(5979) found -[262] Forked 5980 -(5980) found -[261] Forked 5981 -(5981) found -[260] Forked 5982 -(5982) found -[259] Forked 5983 -(5983) found -[258] Forked 5984 -(5984) found -[257] Forked 5985 -(5985) found -[256] Forked 5986 -(5986) found -[255] Forked 5987 -(5987) found -[254] Forked 5988 -(5988) found -[253] Forked 5989 -(5989) found -[252] Forked 5990 -(5990) found -[251] Forked 5991 -(5991) found -[250] Forked 5992 -(5992) found -[249] Forked 5993 -(5993) found -[248] Forked 5994 -(5994) found -[247] Forked 5995 -(5995) found -[246] Forked 5996 -(5996) found -[245] Forked 5997 -(5997) found -[244] Forked 5998 -(5998) found -[243] Forked 5999 -(5999) found -[242] Forked 6000 -(6000) found -[241] Forked 6001 -(6001) found -[240] Forked 6002 -(6002) found -[239] Forked 6003 -(6003) found -[238] Forked 6004 -(6004) found -[237] Forked 6005 -(6005) found -[236] Forked 6006 -(6006) found -[235] Forked 6007 -(6007) found -[234] Forked 6008 -(6008) found -[233] Forked 6009 -(6009) found -[232] Forked 6010 -(6010) found -[231] Forked 6011 -[230] Forked 6012 -(6011) found -(6012) found -[229] Forked 6013 -[228] Forked 6014 -(6013) found -(6014) found -[227] Forked 6015 -[226] Forked 6016 -(6015) found -(6016) found -[225] Forked 6017 -[224] Forked 6018 -(6017) found -(6018) found -[223] Forked 6019 -[222] Forked 6020 -(6019) found -(6020) found -[221] Forked 6021 -[220] Forked 6022 -(6021) found -(6022) found -[219] Forked 6023 -[218] Forked 6024 -(6023) found -(6024) found -[217] Forked 6025 -[216] Forked 6026 -(6025) found -(6026) found -[215] Forked 6027 -[214] Forked 6028 -(6027) found -(6028) found -[213] Forked 6029 -[212] Forked 6030 -(6029) found -(6030) found -[211] Forked 6031 -[210] Forked 6032 -(6031) found -(6032) found -[209] Forked 6033 -[208] Forked 6034 -(6033) found -(6034) found -[207] Forked 6035 -[206] Forked 6036 -(6035) found -(6036) found -[205] Forked 6037 -[204] Forked 6038 -(6037) found -(6038) found -[203] Forked 6039 -[202] Forked 6040 -(6039) found -(6040) found -[201] Forked 6041 -[200] Forked 6042 -(6041) found -(6042) found -[199] Forked 6043 -[198] Forked 6044 -(6043) found -(6044) found -[197] Forked 6045 -[196] Forked 6046 -(6045) found -(6046) found -[195] Forked 6047 -[194] Forked 6048 -(6047) found -(6048) found -[193] Forked 6049 -[192] Forked 6050 -(6049) found -(6050) found -[191] Forked 6051 -[190] Forked 6052 -(6051) found -(6052) found -[189] Forked 6053 -[188] Forked 6054 -(6053) found -(6054) found -[187] Forked 6055 -[186] Forked 6056 -(6055) found -(6056) found -[185] Forked 6057 -[184] Forked 6058 -(6057) found -(6058) found -[183] Forked 6059 -[182] Forked 6060 -(6059) found -(6060) found -[181] Forked 6061 -[180] Forked 6062 -(6061) found -(6062) found -[179] Forked 6063 -[178] Forked 6064 -(6063) found -(6064) found -[177] Forked 6065 -[176] Forked 6066 -(6065) found -(6066) found -[175] Forked 6067 -[174] Forked 6068 -(6067) found -(6068) found -[173] Forked 6069 -[172] Forked 6070 -(6069) found -(6070) found -[171] Forked 6071 -[170] Forked 6072 -(6071) found -(6072) found -[169] Forked 6073 -[168] Forked 6074 -(6073) found -(6074) found -[167] Forked 6075 -[166] Forked 6076 -(6075) found -(6076) found -[165] Forked 6077 -[164] Forked 6078 -(6077) found -(6078) found -[163] Forked 6079 -[162] Forked 6080 -(6079) found -(6080) found -[161] Forked 6081 -[160] Forked 6082 -(6081) found -(6082) found -[159] Forked 6083 -[158] Forked 6084 -(6083) found -(6084) found -[157] Forked 6085 -[156] Forked 6086 -(6085) found -(6086) found -[155] Forked 6087 -[154] Forked 6088 -(6087) found -(6088) found -[153] Forked 6089 -[152] Forked 6090 -(6089) found -(6090) found -[151] Forked 6091 -[150] Forked 6092 -(6091) found -(6092) found -[149] Forked 6093 -[148] Forked 6094 -(6093) found -(6094) found -[147] Forked 6095 -[146] Forked 6096 -(6095) found -(6096) found -[145] Forked 6097 -[144] Forked 6098 -(6097) found -(6098) found -[143] Forked 6099 -[142] Forked 6100 -(6099) found -(6100) found -[141] Forked 6101 -[140] Forked 6102 -(6101) found -(6102) found -[139] Forked 6103 -(6103) found -[138] Forked 6104 -(6104) found -[137] Forked 6105 -(6105) found -[136] Forked 6106 -(6106) found -[135] Forked 6107 -(6107) found -[134] Forked 6108 -(6108) found -[133] Forked 6109 -(6109) found -[132] Forked 6110 -(6110) found -[131] Forked 6111 -(6111) found -[130] Forked 6112 -(6112) found -[129] Forked 6113 -(6113) found -[128] Forked 6114 -(6114) found -[127] Forked 6115 -(6115) found -[126] Forked 6116 -(6116) found -[125] Forked 6117 -(6117) found -[124] Forked 6118 -(6118) found -[123] Forked 6119 -(6119) found -[122] Forked 6120 -(6120) found -[121] Forked 6121 -(6121) found -[120] Forked 6122 -(6122) found -[119] Forked 6123 -(6123) found -[118] Forked 6124 -(6124) found -[117] Forked 6125 -(6125) found -[116] Forked 6126 -(6126) found -[115] Forked 6127 -(6127) found -[114] Forked 6128 -(6128) found -[113] Forked 6129 -(6129) found -[112] Forked 6130 -(6130) found -[111] Forked 6131 -(6131) found -[110] Forked 6132 -(6132) found -[109] Forked 6133 -(6133) found -[108] Forked 6134 -(6134) found -[107] Forked 6135 -(6135) found -[106] Forked 6136 -(6136) found -[105] Forked 6137 -(6137) found -[104] Forked 6138 -[103] Forked 6139 -(6138) found -(6139) found -[102] Forked 6140 -[101] Forked 6141 -(6140) found -(6141) found -[100] Forked 6142 -[99] Forked 6143 -(6142) found -(6143) found -[98] Forked 6144 -[97] Forked 6145 -(6144) found -(6145) found -[96] Forked 6146 -[95] Forked 6147 -(6146) found -(6147) found -[94] Forked 6148 -[93] Forked 6149 -(6148) found -(6149) found -[92] Forked 6150 -[91] Forked 6151 -(6150) found -(6151) found -[90] Forked 6152 -[89] Forked 6153 -(6152) found -(6153) found -[88] Forked 6154 -[87] Forked 6155 -(6154) found -(6155) found -[86] Forked 6156 -[85] Forked 6157 -(6156) found -(6157) found -[84] Forked 6158 -[83] Forked 6159 -(6158) found -(6159) found -[82] Forked 6160 -[81] Forked 6161 -(6160) found -(6161) found -[80] Forked 6162 -[79] Forked 6163 -(6162) found -(6163) found -[78] Forked 6164 -[77] Forked 6165 -(6164) found -(6165) found -[76] Forked 6166 -[75] Forked 6167 -(6166) found -(6167) found -[74] Forked 6168 -[73] Forked 6169 -(6168) found -(6169) found -[72] Forked 6170 -[71] Forked 6171 -(6170) found -(6171) found -[70] Forked 6172 -[69] Forked 6173 -(6172) found -(6173) found -[68] Forked 6174 -[67] Forked 6175 -(6174) found -(6175) found -[66] Forked 6176 -[65] Forked 6177 -(6176) found -(6177) found -[64] Forked 6178 -[63] Forked 6179 -(6178) found -(6179) found -[62] Forked 6180 -[61] Forked 6181 -(6180) found -(6181) found -[60] Forked 6182 -[59] Forked 6183 -(6182) found -(6183) found -[58] Forked 6184 -(6184) found -[57] Forked 6185 -(6185) found -[56] Forked 6186 -(6186) found -[55] Forked 6187 -(6187) found -[54] Forked 6188 -(6188) found -[53] Forked 6189 -(6189) found -[52] Forked 6190 -(6190) found -[51] Forked 6191 -(6191) found -[50] Forked 6192 -(6192) found -[49] Forked 6193 -(6193) found -[48] Forked 6194 -(6194) found -[47] Forked 6195 -(6195) found -[46] Forked 6196 -(6196) found -[45] Forked 6197 -(6197) found -[44] Forked 6198 -(6198) found -[43] Forked 6199 -(6199) found -[42] Forked 6200 -(6200) found -[41] Forked 6201 -(6201) found -[40] Forked 6202 -(6202) found -[39] Forked 6203 -(6203) found -[38] Forked 6204 -(6204) found -[37] Forked 6205 -(6205) found -[36] Forked 6206 -(6206) found -[35] Forked 6207 -(6207) found -[34] Forked 6208 -(6208) found -[33] Forked 6209 -(6209) found -[32] Forked 6210 -(6210) found -[31] Forked 6211 -(6211) found -[30] Forked 6212 -(6212) found -[29] Forked 6213 -(6213) found -[28] Forked 6214 -(6214) found -[27] Forked 6215 -(6215) found -[26] Forked 6216 -(6216) found -[25] Forked 6217 -(6217) found -[24] Forked 6218 -(6218) found -[23] Forked 6219 -(6219) found -[22] Forked 6220 -[21] Forked 6221 -(6220) found -(6221) found -[20] Forked 6222 -(6222) found -[19] Forked 6223 -(6223) found -[18] Forked 6224 -(6224) found -[17] Forked 6225 -[16] Forked 6226 -(6225) found -(6226) found -[15] Forked 6227 -[14] Forked 6228 -(6227) found -(6228) found -[13] Forked 6229 -[12] Forked 6230 -(6229) found -(6230) found -[11] Forked 6231 -[10] Forked 6232 -(6231) found -(6232) found -[9] Forked 6233 -[8] Forked 6234 -(6233) found -(6234) found -[7] Forked 6235 -[6] Forked 6236 -(6235) found -(6236) found -[5] Forked 6237 -[4] Forked 6239 -(6237) found -(6239) found -[3] Forked 6240 -(6240) found -[2] Forked 6241 -(6241) found -[1] Forked 6242 -(6242) found -[0] Forked 6243 -(6243) found diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/memcpy.c b/software/cinit/browse_source/cinit-0.3pre18/src/test/memcpy.c deleted file mode 100644 index 3c6cc2ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/memcpy.c +++ /dev/null @@ -1,46 +0,0 @@ -#include /* memcpy() */ -#include - -struct cinit_answer { - int options; - char data[2045]; -}; - -int f1(struct cinit_answer *buf); -int f2(struct cinit_answer *buf); - -int f2(struct cinit_answer *buf) -{ - struct cinit_answer msg; - - printf("f2: %p\n", buf); - - msg.options = 12; - strcpy(msg.data, "stringit"); - - printf("addr= %p\n", memcpy(buf, &msg, sizeof(*buf))); - - printf("ok\n"); - - return 1; -} - -int f1(struct cinit_answer *buf) -{ - printf("f1: %p\n", buf); - printf("ret=%d\n", f2(buf)); - - return 1; -} - -int main() -{ - struct cinit_answer test; - - if(!f1(&test)) - return 1; - - printf("s: %s d: %d\n", test.data, test.options); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/test-newline.c b/software/cinit/browse_source/cinit-0.3pre18/src/test/test-newline.c deleted file mode 100644 index 4cccf535..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/test-newline.c +++ /dev/null @@ -1,30 +0,0 @@ -#include -#include -#include -#include - -char *strip_final_newline(char *test1); - -int main() -{ - // char *test1 = "zeile1\nzeile2\n"; - // char *test2 = "zeile1\nzeile2\nzeile3"; - char *test1; - char *test2; - - test1 = malloc(50); - test2 = malloc(50); - - strcpy(test1, "zeile1\nzeile2\n"); - strcpy(test2, "zeile1\nzeile2\nzeile3"); - - char *result; - - result = strip_final_newline(test1); - printf("A%sA\n", result); - - result = strip_final_newline(test2); - printf("B%sB\n", result); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre18/src/test/test_build_argv+link.c deleted file mode 100644 index 87e46293..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_build_argv+link.c +++ /dev/null @@ -1,37 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if((tmp = cinit_build_argv(file, &cargv)) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else - exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0], cargv.argv, cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre18/src/test/test_build_argv.c deleted file mode 100644 index 79ee5a48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_build_argv.c +++ /dev/null @@ -1,37 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if((tmp = cinit_build_argv(file, &cargv)) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else - exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0], cargv.argv, cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec deleted file mode 100755 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre18/src/test/test_gen_svc_tree.c deleted file mode 100644 index 433be536..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,21 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre18/src/test/test_openreadclose.c deleted file mode 100644 index 804a01b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file, &data); - - printf("%s\n", data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/tired.c b/software/cinit/browse_source/cinit-0.3pre18/src/test/tired.c deleted file mode 100644 index b6e33260..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/tired.c +++ /dev/null @@ -1,22 +0,0 @@ -#include - -struct msgq_server_short { - long mtype; - int mu; -}; - -main() -{ - struct msgq_server_short t1, *t2; - - t2 = &t1; - - int a = sizeof(t1); - int b = sizeof(t2); - int c = sizeof(*t2); - - printf("a=%d,b=%d,c=%d\n", a, b, c); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre18/src/test/transfer_structure.c b/software/cinit/browse_source/cinit-0.3pre18/src/test/transfer_structure.c deleted file mode 100644 index f9755df3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre18/src/test/transfer_structure.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include - -struct test { - char buf[2048]; - int cmd; -}; - -struct badtest { - char *buf; - int cmd; -}; - -#define PATH "/etc/cinit/svc/local-tuning/udev" - -int main() -{ - struct test cmd; - struct badtest nocmd; - int pfd[2]; - int tmp; - - strcpy(cmd.buf, "/which/service/to/disable"); - cmd.cmd = 42; - - if(pipe(pfd) == -1) - return 1; - nocmd.cmd = 42; - nocmd.buf = malloc(strlen(PATH) + 1); - strcpy(nocmd.buf, PATH); - - if(fork() > 1) { - tmp = write(pfd[1], &cmd, sizeof(cmd)); - printf("PA: tmp=%d\n", tmp); - - tmp = write(pfd[1], &nocmd, sizeof(nocmd)); - printf("PA: tmp2=%d\n", tmp); - } else { - strcpy(cmd.buf, ""); - cmd.cmd = 0; - - tmp = read(pfd[0], &cmd, sizeof(cmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n", tmp, cmd.cmd, cmd.buf); - - free(nocmd.buf); - nocmd.cmd = 0; - - tmp = read(pfd[0], &nocmd, sizeof(nocmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n", tmp, nocmd.cmd, nocmd.buf); - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/ b/software/cinit/browse_source/cinit-0.3pre19/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre19/.ditz-config b/software/cinit/browse_source/cinit-0.3pre19/.ditz-config deleted file mode 100644 index e831e23d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/.ditz-config +++ /dev/null @@ -1,4 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/config -name: Nico Schottelius -email: nico@ikn.schottelius.org -issue_dir: bugs diff --git a/software/cinit/browse_source/cinit-0.3pre19/.ditz-plugins b/software/cinit/browse_source/cinit-0.3pre19/.ditz-plugins deleted file mode 100644 index 2756e1e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/.ditz-plugins +++ /dev/null @@ -1 +0,0 @@ -- git diff --git a/software/cinit/browse_source/cinit-0.3pre19/.gitignore b/software/cinit/browse_source/cinit-0.3pre19/.gitignore deleted file mode 100644 index 08ec3283..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -*.o -*.a -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -*.html -*.htm -*.man -*.texi -*.texi -*.docbook -src/halt.kill -src/poweroff.kill -src/reboot.kill -doc/man/*.[0-9] -doc/man/*.xml -src/cmd -.*.swp -.exclude -src/.configured -src/cinit.halt -src/cinit.poweroff -src/cinit.reboot diff --git a/software/cinit/browse_source/cinit-0.3pre19/Makefile b/software/cinit/browse_source/cinit-0.3pre19/Makefile deleted file mode 100644 index 2ee5729f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/Makefile +++ /dev/null @@ -1,143 +0,0 @@ -# -# 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=bin src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation -dev-all: all - -install clean dist distclean: - @for subdir in ${CDIRS}; do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && ${MAKE} ${MAKEFLAGS} $@) || break; \ - done; - -# Fix installation of conf/, check that bin/ is working and then -# release -install: - -.PHONY: sources -sources: - ${MAKE} -C src all - -.PHONY: documentation -documentation: - ${MAKE} -C doc documentation - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -################################################################################ -# Tests -# -tests: - # does not work, due getting killed, due to design :-) - #./scripts/internal/compile_run_as_compiler.sh - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -### User Mode Linux / DIRECTORY -UML_DIR_OS_DEBIAN=lenny -UML_ROOT_DIR=~/cinit/vm/uml/$(UML_DIR_OS_DEBIAN) -UML_ROOT_DIR_ABS=$(shell cd $(UML_ROOT_DIR) && pwd -P) -CONFDIR=etc/cinit/ - -uml-install-debian: - mkdir -p $(UML_ROOT_DIR) - sudo /usr/sbin/debootstrap $(UML_DIR_OS_DEBIAN) $(UML_ROOT_DIR) - me=$$(whoami); sudo chown -R $$me $(UML_ROOT_DIR) - -# only install binaries, no need to test documentation -uml-install-config: - rsync -av --delete ./$(CONFDIR) $(UML_ROOT_DIR)/$(CONFDIR) - -uml-install-cinit: - dir=$$(cd $(UML_ROOT_DIR); pwd -P); make -C src DESTDIR=$$dir install - -uml-dir-start-cinit: uml-install-config - dir=$$(cd $(UML_ROOT_DIR); pwd -P); linux root=/dev/root rootflags=$$dir rootfstype=hostfs init=/sbin/cinit - -uml-dir-start-plain: - ./scripts/vm/uml-dir-start-plain.sh $(UML_ROOT_DIR_ABS) - -### User Mode Linux / IMAGE -UML_IMG_FILE=~/cinit/vm/uml/Debian-3.0r0.ext2 -uml-img-start-cinit: - ./scripts/vm/uml-img-start-cinit.sh $(UML_IMG_FILE) - -uml-img-start-plain: - ./scripts/vm/uml-img-start-plain.sh $(UML_IMG_FILE) - -# debian-etch -de-install: - rsync -av --delete ./ root@de:cinit - rsync -av --delete ./etc/cinit/ root@de:/etc/cinit - ssh root@de '(cd cinit; make clean install)' - -de-run: - ssh root@de reboot - -UBUNTUHOST=cinit@192.168.122.107 -UBUNTUCONF=./etc/cinit-ubuntu -UBUNTUINSTALL="cd cinit && make clean && sudo make install" -UBUNTUTEST="sudo reboot" -ubuntu-sync: - rsync -av --delete ./ $(UBUNTUHOST):cinit -ubuntu-install: ubuntu-sync - ssh "$(UBUNTUHOST)" $(UBUNTUINSTALL) - -ubuntu-test: ubuntu-install - ssh "$(UBUNTUHOST)" $(UBUNTUTEST) - -################################################################################ -# -# Developer targets -# - -release: ./scripts/internal/cinit.release - ./scripts/internal/cinit.release now - -scripts/internal/cinit.release: ./scripts/internal/test-cmd.sh - ./scripts/internal/test-cmd.sh - -WEBFILE=~/privat/computer/net/netzseiten/www.nico.schottelius.org/src/software/cinit.mdwn -.PHONY: web -web: README - cp $< $(WEBFILE) - -cinitconfconfdir=../cinit-conf/conf -sync-conf: - rsync --delete -av ./conf/ $(cinitconfconfdir) - cd $(cinitconfconfdir); git add .; git commit -m "sync with cinit/conf" diff --git a/software/cinit/browse_source/cinit-0.3pre19/README b/software/cinit/browse_source/cinit-0.3pre19/README deleted file mode 100644 index e4d7d97f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/README +++ /dev/null @@ -1,241 +0,0 @@ -cinit is a fast, small and simple init with support for profiles - -## Introduction - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design of -Richard Goochs -[need concept](http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/) -and Felix von Leitners -[minit](http://www.fefe.de/minit/). -Minit does not support real dependencies (you don't know whether the -service you depend on really started) and the need concept is somehow -slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -### Cinit main features - -* portability: it should run on every Unix -* true dependencies (soft and hard!) -* parallel execution -* highly customisable (see conf/*) -* profile support (specify what services to start depending on the profile) - - -### Why should I use cinit? - - * To significant speedup the startup process - * To use highest level of parallelisation at startup - * To benefit from real dependencies (so called ***needs*** and ***wants***) - * To easily create profiles that can be chosen at startup (even **before** init is started!) - -### How does cinit work? - -Cinit creates a dependency tree at startup and executes the services. -A service can have two type of dependencies: - - * ***wants*** describe soft dependencies (i.e. it's not fatal if the wanted service fails to start) - * ***needs*** describe hard dependencies (if the needed service fails, the depending won't be started) - -Let's have a look at an example: - - - A - (wants) - / \ - |------> B \ C - | / \ / \ - ^ (needs) (needs) (wants) - | D E F - | | - |------<------(needs)----| - - -Or in words: - - * B and C do not have dependencies - * They will be started at the beginning - * A wants B and C - * A waits until B and C are executed and started afterwards, - independently of the success of B and C - * A will also be started, if B and C fail to start. - * D needs B - * D will only be started, if B is successfully started - * E needs B and C - * E will only be started, if both B and C are successfully started - * F wants C and needs B - * F will only be started, if B is successfully started - * F waits until C is started and is started afterwards - -## Getting cinit - -### Development versions -You can get the latest (development) version via git: - - git clone git://git.schottelius.org/cLinux/cinit.git - -Additionally, the following other git ressources are available: - - * [Gitweb](http://git.schottelius.org/?p=cLinux/cinit.git;a=summary). - * [Mirror at github](http://github.com/telmich/cinit) - * [Mirror at gitorious](http://gitorious.org/cinit) - - -### Archives - - * [[cinit-0.3pre19.tar.bz2|archives/cinit-0.3pre19.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre19/)) - [[changes|browse_source/cinit-0.3pre19/doc/changes/0.3pre19]] - * [[cinit-0.3pre18.tar.bz2|archives/cinit-0.3pre18.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre18/)) - [[changes|browse_source/cinit-0.3pre18/doc/changes/0.3pre18]] - * [[cinit-0.3pre17.tar.bz2|archives/cinit-0.3pre17.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre17/)) - [[changes|browse_source/cinit-0.3pre17/doc/changes/0.3pre17]] - * [[cinit-0.3pre16.tar.bz2|archives/cinit-0.3pre16.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre16/)) - [[changes|browse_source/cinit-0.3pre16/doc/changes/0.3pre16]] - * [[cinit-0.3pre15.tar.bz2|archives/cinit-0.3pre15.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre15/)) - [[changes|browse_source/cinit-0.3pre15/doc/changes/0.3pre15]] - * [[cinit-0.3pre14.tar.bz2|archives/cinit-0.3pre14.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre14/)) - [[changes|browse_source/cinit-0.3pre14/CHANGES]] - * [[cinit-0.3pre13.tar.bz2|archives/cinit-0.3pre13.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre13/)) - [[changes|browse_source/cinit-0.3pre13/CHANGES]] - * [[cinit-0.3pre12.tar.bz2|archives/cinit-0.3pre12.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre12/)) - [[changes|browse_source/cinit-0.3pre12/CHANGES]] - * [[cinit-0.3pre11.tar.bz2|archives/cinit-0.3pre11.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre11/)) - [[changes|browse_source/cinit-0.3pre11/CHANGES]] - * [[cinit-0.3pre10.tar.bz2|archives/cinit-0.3pre10.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre10/)) - [[changes|browse_source/cinit-0.3pre10/CHANGES]] - * [[cinit-0.3pre9.tar.bz2|archives/cinit-0.3pre9.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre9/)) - [[changes|browse_source/cinit-0.3pre9/CHANGES]] - * [[cinit-0.3pre8.tar.bz2|archives/cinit-0.3pre8.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre8/)) - [[changes|browse_source/cinit-0.3pre8/CHANGES]] - * [[cinit-0.3pre7.tar.bz2|archives/cinit-0.3pre7.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre7/)) - [[changes|browse_source/cinit-0.3pre7/CHANGES]] - * [[cinit-0.3pre6.tar.bz2|archives/cinit-0.3pre6.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre6/)) - [[changes|browse_source/cinit-0.3pre6/CHANGES]] - * [[cinit-0.3pre5.tar.bz2|archives/cinit-0.3pre5.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre5/)) - [[changes|browse_source/cinit-0.3pre5/CHANGES]] - * [[cinit-0.3pre4.tar.bz2|archives/cinit-0.3pre4.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre4/)) - [[changes|browse_source/cinit-0.3pre4/CHANGES]] - * [[cinit-0.3pre3.tar.bz2|archives/cinit-0.3pre3.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre3/)) - [[changes|browse_source/cinit-0.3pre3/CHANGES]] - * [[cinit-0.3pre2.tar.bz2|archives/cinit-0.3pre2.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre2/)) - [[changes|browse_source/cinit-0.3pre2/CHANGES]] - * [[cinit-0.3pre1.tar.bz2|archives/cinit-0.3pre1.tar.bz2]] - ([browse source](browse_source/cinit-0.3pre1/)) - [[changes|browse_source/cinit-0.3pre1/CHANGES]] - * [[cinit-0.2.1.tar.bz2|archives/cinit-0.2.1.tar.bz2]] - ([browse source](browse_source/cinit-0.2.1/)) - [[changes|browse_source/cinit-0.2.1/CHANGES]] - * [[cinit-0.2.tar.bz2|archives/cinit-0.2.tar.bz2]] - ([browse source](browse_source/cinit-0.2/)) - [[changes|browse_source/cinit-0.2/CHANGES]] - * [[cinit-0.1.tar.bz2|archives/cinit-0.1.tar.bz2]] - ([browse source](browse_source/cinit-0.1/)) - [[changes|browse_source/cinit-0.1/CHANGES]] - * [[cinit-0.0.8.tar.bz2|archives/cinit-0.0.8.tar.bz2]] - ([browse source](browse_source/cinit-0.0.8/)) - [[changes|browse_source/cinit-0.0.8/CHANGES]] - * [[cinit-0.0.7.tar.bz2|archives/cinit-0.0.7.tar.bz2]] - ([browse source](browse_source/cinit-0.0.7/)) - [[changes|browse_source/cinit-0.0.7/CHANGES]] - * [[cinit-0.0.6.tar.bz2|archives/cinit-0.0.6.tar.bz2]] - ([browse source](browse_source/cinit-0.0.6/)) - [[changes|browse_source/cinit-0.0.6/CHANGES]] - * [[cinit-0.0.5.tar.bz2|archives/cinit-0.0.5.tar.bz2]] - ([browse source](browse_source/cinit-0.0.5/)) - [[changes|browse_source/cinit-0.0.5/CHANGES]] - * [[cinit-0.0.4.tar.bz2|archives/cinit-0.0.4.tar.bz2]] - ([browse source](browse_source/cinit-0.0.4/)) - [[changes|browse_source/cinit-0.0.4/CHANGES]] - -## Documentation -The documentation is currently spread all over the ***doc/*** directory -within the tarball and is being cleaned up. Additionally there -are two presentations available: - - * [[2005-10-22: (German) speech at Technophil|software/cinit/speeches/2005-10-22]] - * [[2005-08-06: (German) online speech|software/cinit/speeches/2005-08-06]] - -### Pre-Configuring -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -### Installing cinit -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists: - - # make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -### Configuring cinit -You'll have to configure cinit in /etc/cinit and add services, -before you can use it. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. - -There are some testing examples below doc/examples/, to be used -as a starting point. - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available, -but they are in the making (see various bugs in ditz). - -### Configuring the OS / Kernel - -After configuring cinit you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - * Linux/LILO and Linux/yaboot (ppc): - * append="init=/sbin/cinit" - * grub1 and grub2: - * kernel init=/sbin/cinit - -## Support - -### IRC -You can join the development ***IRC channel*** -[#cLinux on irc.freenode.org](irc://irc.freenode.org/#cLinux). - -### Mailing list -Bug reports, questions, patches, etc. should be send to the -[cinit mailing list](http://l.schottelius.org/mailman/listinfo/cinit). - -## Related websites - - * [cinit](http://www.nico.schottelius.org/software/cinit/) - * [cinit mailing list](http://l.schottelius.org/mailman/listinfo/cinit) - * BSD init systems (same codebase): - * [FreeBSDs init](http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/init/) - * [NetBSDs init](http://cvsweb.netbsd.org/bsdweb.cgi/src/sbin/init/) - * [OpenBSDs init](http://www.openbsd.org/cgi-bin/cvsweb/src/sbin/init/) - * [initng](http://www.initng.org/) - * [minit](http://www.fefe.de/minit/) - * [runit](http://smarden.org/runit/) - * [need/simpleinit](http://www.atnf.csiro.au/~rgooch/linux/boot-scripts/) - * [sys-v-init](ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/) - * [upstart](http://www.netsplit.com/blog/work/canonical/upstart.html) - - -[[!tag unix]] diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/Makefile b/software/cinit/browse_source/cinit-0.3pre19/bin/Makefile deleted file mode 100644 index a7ac9e37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/Makefile +++ /dev/null @@ -1,37 +0,0 @@ -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Don't edit Makefiles, use conf/* for configuration. -# - - -# -# Static vars -# -SBIN=$(shell ls cinit-cmd* cinit-helper*) -BIN=$(shell ls cinit-conf*) - -# -# Targets -# -all clean dist distclean: - -install: - install ${SBIN} ${DESTDIR}/sbin - install ${BIN} ${DESTDIR}/bin diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-cmd.reboot b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-cmd.reboot deleted file mode 100755 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-cmd.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-cmd.shutdown b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-cmd.shutdown deleted file mode 100755 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-cmd.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.config.shell b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.config.shell deleted file mode 100755 index cb08a0c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.config.shell +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Create a minimal "usable" config -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -cinit-conf.svc.init -cinit-conf.svc.categories -cinit-conf.svc.mount.proc -cinit-conf.svc.mount.root -cinit-conf.svc.shell -cinit-conf.svc-boot-enable "local-services/shell" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.dump.as.c.header b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.dump.as.c.header deleted file mode 100755 index 243a49dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.dump.as.c.header +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -# 2005-2009 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# -# -# Dump configuration usable as a c-header file. -# - -################################################################################ -# standard vars stolen from cconf -set -e -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" -set +e - - -CONFS="$(cinit-conf.get-confdir)" - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in "${CONFS}/"*; do - NAME="$(basename ${conf} | tr a-z A-Z)" - value=$(head -n 1 ${conf}) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.get-confdir b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.get-confdir deleted file mode 100755 index c2a079ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.get-confdir +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# 2005-2009 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) -# - -set -x -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -# try environment first -if [ "$CINIT_CONF_CONF_DIR" ]; then - CONFDIR="$CINIT_CONF_CONF_DIR" -elif [ -d "${__abs_mydir}/../conf/" ]; then - CONFDIR="${__abs_mydir}/../conf/" -elif [ -d "${HOME}/.cinit-conf/" ]; then - CONFDIR="${HOME}/.cinit-conf/" -elif [ -d "/etc/cinit/build-conf/" ]; then - CONFDIR="/etc/cinit/build-conf/" -else - echo 'Did not find cinit-conf configuration!' >&2 - echo "Please set the variable CINIT_CONF_CONF_DIR" >&2 - exit 1 -fi - -CONFDIR=$(cd "${CONFDIR}" && pwd -P) - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.migrate.archlinux b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.migrate.archlinux deleted file mode 100755 index 7d52f78c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.migrate.archlinux +++ /dev/null @@ -1,490 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Try to migrate archlinux to cinit -# - -set -e - -################################################################################ -# -# Base layout, same for every OS -# -cinit-conf.svc.init -cinit-conf.svc.categories - -# Arch Linux has a minimal /etc/inittab, nice to migrate! -# Arch only starts /etc/rc.sysinit. Even nicer to migrate! - -# These are covered already by our existing scripts -#/bin/mount -n -t tmpfs none /dev -o mode=0755 -#/bin/mount -n -t proc none /proc -#/bin/mount -n -t sysfs none /sys - -# Copy static device nodes to /dev -# /bin/cp -a /lib/udev/devices/* /dev/ -cinit-conf.svc.udev.copy-static - -# start up our mini logger until syslog takes over -/sbin/minilogd - -# anything more serious than KERN_WARNING goes to the console -# 'verbose' cmdline parameter enables more messages -if /bin/grep -q " verbose" /proc/cmdline; then - /bin/dmesg -n 8 -else - /bin/dmesg -n 3 -fi - -# enable rtc access -/sbin/modprobe rtc-cmos >/dev/null 2>&1 -RTC_MAJOR=$(/bin/grep -w rtc /proc/devices 2>/dev/null) -RTC_MAJOR="${RTC_MAJOR%% *}" -if [ -n "$RTC_MAJOR" ]; then - /bin/mknod /dev/rtc0 c $RTC_MAJOR 0 - /bin/ln -s /dev/rtc0 /dev/rtc -fi - -HWCLOCK_PARAMS="--hctosys" -if [ "$HARDWARECLOCK" = "UTC" ]; then - HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc" -elif [ "$HARDWARECLOCK" = "localtime" ]; then - HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime" -else - HWCLOCK_PARAMS="" -fi - -# Set clock early to fix some bugs with filesystem checks -# Clock is set again later to match rc.conf -if [ -n "$HWCLOCK_PARAMS" -a -f /etc/localtime ]; then - /sbin/hwclock $HWCLOCK_PARAMS --noadjfile -fi - -echo > /proc/sys/kernel/hotplug - -if [ -x /sbin/udevadm ]; then - stat_busy "Starting UDev Daemon" - /sbin/udevd --daemon - stat_done -else - # Static /dev, our last resort - status "Using static /dev filesystem" true -fi - -# Trigger udev uevents -if /bin/pidof -o %PPID /sbin/udevd >/dev/null; then - stat_busy "Triggering UDev uevents" - /sbin/udevadm trigger - stat_done -fi - -# Load modules from the MODULES array defined in rc.conf -if ! [ "$load_modules" = "off" ]; then - if [ -f /proc/modules ]; then - stat_busy "Loading Modules" - for mod in "${MODULES[@]}"; do - if [ "$mod" = "${mod#!}" ]; then - /sbin/modprobe $mod - fi - done - stat_done - fi - if [ -d /proc/acpi ]; then - stat_busy "Loading standard ACPI modules" - ACPI_MODULES="ac battery button fan processor thermal" - k="$(echo $BLACKLIST ${MOD_BLACKLIST[@]} | /bin/sed 's|-|_|g')" - j="$(echo ${MODULES[@]} | /bin/sed 's|-|_|g')" - #add disabled MODULES (!) to blacklist - much requested feature - for m in ${j}; do - [ "$m" != "${m#!}" ] && k="${k} ${m#!}" - done - # add disablemodules= from commandline to blacklist - k="${k} $(echo ${disablemodules} | /bin/sed 's|-|_|g' | /bin/sed 's|,| |g')" - for n in ${ACPI_MODULES}; do - if ! echo ${k} | /bin/grep "\<$n\>" 2>&1 >/dev/null; then - /sbin/modprobe $n > /dev/null 2>&1 - fi - done - stat_done - fi -fi - -# Wait for udev uevents -if /bin/pidof -o %PPID /sbin/udevd >/dev/null; then - stat_busy "Waiting for UDev uevents to be processed" - udevstart="$(/bin/date +%s%0N)" - /sbin/udevadm settle - stat_done - udevend="$(/bin/date +%s%0N)" - printhl " UDev uevent processing time: $((($udevend-$udevstart)/1000000))ms" -fi - -# bring up the loopback interface -if [ -d /sys/class/net/lo ]; then - stat_busy "Bringing up loopback interface" - /sbin/ifconfig lo 127.0.0.1 up - if [ $? -ne 0 ]; then - stat_fail - else - stat_done - fi -fi - -# If necessary, find md devices and manually assemble RAID arrays -if [ -f /etc/mdadm.conf -a "$(/bin/grep ^ARRAY /etc/mdadm.conf 2>/dev/null)" ]; then - # udev won't create these md nodes, so we do it ourselves - for dev in $(/bin/grep ^ARRAY /etc/mdadm.conf | /bin/awk '{print $2}'); do - path=$(echo $dev | /bin/sed 's|/[^/]*$||') - node=$(echo $dev | /bin/sed "s|^$path/||") - minor=$(echo $node | /bin/sed 's|^[^0-9]*||') - [ ! -e $path/$node ] && /bin/mknod $path/$node b 9 $minor - done - status "Activating RAID arrays" /sbin/mdadm --assemble --scan -fi - -if [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then - if [ -x /sbin/lvm -a -d /sys/block ]; then - # Kernel 2.6.x, LVM2 groups - /sbin/modprobe -q dm-mod 2>/dev/null - stat_busy "Activating LVM2 groups" - /sbin/lvm vgscan --ignorelockingfailure --mknodes >/dev/null - /sbin/lvm vgchange --ignorelockingfailure -a y >/dev/null - if [ $? -ne 0 ]; then - stat_fail - else - stat_done - fi - fi -fi - -# Set up non-root encrypted partition mappings -if [ -f /etc/crypttab -a -n "$(/bin/grep -v ^# /etc/crypttab | /bin/grep -v ^$)" ]; then - /sbin/modprobe -q dm-mod 2>/dev/null - stat_busy "Unlocking encrypted volumes:" - csfailed=0 - CS=/sbin/cryptsetup.static - do_crypt() { - if [ $# -ge 3 ]; then - cname="$1" - csrc="$2" - cpass="$3" - shift 3 - copts="$*" - stat_append "${cname}.." - # For some fun reason, the parameter ordering varies for - # LUKS and non-LUKS devices. Joy. - if [ "${cpass}" = "SWAP" ]; then - # This is DANGEROUS! The only possible safety check - # is to not proceed in case we find a LUKS device - # This may cause dataloss if it is not used carefully - if $CS isLuks $csrc 2>/dev/null; then - false - else - $CS -d /dev/urandom $copts create $cname $csrc >/dev/null - if [ $? -eq 0 ]; then - stat_append "creating swapspace.." - /sbin/mkswap -f -L $cname /dev/mapper/$cname >/dev/null - fi - fi - elif [ "${cpass}" = "ASK" ]; then - printf "\nOpening '${cname}' volume:\n" - - if $CS isLuks $csrc 2>/dev/null; then - $CS $copts luksOpen $csrc $cname < /dev/console - else - $CS $copts create $cname $csrc < /dev/console - fi - elif [ "${cpass:0:1}" != "/" ]; then - if $CS isLuks $csrc 2>/dev/null; then - echo "$cpass" | $CS $copts luksOpen $csrc $cname >/dev/null - else - echo "$cpass" | $CS $copts create $cname $csrc >/dev/null - fi - else - if $CS isLuks $csrc 2>/dev/null; then - $CS -d $cpass $copts luksOpen $csrc $cname >/dev/null - else - $CS -d $cpass $copts create $cname $csrc >/dev/null - fi - fi - if [ $? -ne 0 ]; then - csfailed=1 - stat_append "failed " - else - stat_append "ok " - fi - fi - } - while read line; do - eval do_crypt "$line" - done /dev/null - /sbin/lvm vgchange --ignorelockingfailure -a y >/dev/null - fi - fi -fi - -status "Mounting Root Read-only" /bin/mount -n -o remount,ro / - -FORCEFSCK= -[ -f /forcefsck ] && FORCEFSCK="-- -f" -NETFS="nonfs,nonfs4,nosmbfs,nocifs,nocodafs,noncpfs,nosysfs,noshfs,nofuse,nofuseblk,noglusterfs" - -fsck_reboot() { - echo "Automatic reboot in progress..." - /bin/umount -a - /bin/mount -n -o remount,ro / - /sbin/reboot -f - exit 0 -} - -if [ -x /sbin/fsck ]; then - stat_busy "Checking Filesystems" - FSCK_OUT=/dev/stdout - FSCK_ERR=/dev/null - /sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK >$FSCK_OUT 2>$FSCK_ERR - fsckret=$? - if [ ${fsckret} -gt 1 ]; then - stat_fail - fi - if [ $((${fsckret}&2)) -eq 2 ]; then - echo - echo "********************** REBOOT REQUIRED *********************" - echo "* *" - echo "* The system will be rebooted automatically in 15 seconds. *" - echo "* *" - echo "************************************************************" - echo - /bin/sleep 15 - fsck_reboot - fi - if [ ${fsckret} -gt 1 -a ${fsckret} -ne 32 ]; then - echo - echo "***************** FILESYSTEM CHECK FAILED ****************" - echo "* *" - echo "* Please repair manually and reboot. Note that the root *" - echo "* file system is currently mounted read-only. To remount *" - echo "* it read-write type: mount -n -o remount,rw / *" - echo "* When you exit the maintenance shell the system will *" - echo "* reboot automatically. *" - echo "* *" - echo "************************************************************" - echo - /sbin/sulogin -p - fsck_reboot - fi - stat_done -fi - -stat_busy "Mounting Local Filesystems" -/bin/mount -n -o remount,rw / -/bin/rm -f /etc/mtab* -# make sure / gets written to /etc/mtab -/bin/mount -o remount,rw / -# Write /proc, /sys and /dev to /etc/mtab -if [ -e /proc/mounts ]; then - /bin/grep -e "/proc " -e "/sys " -e "/dev " /proc/mounts >> /etc/mtab -fi -# now mount all the local filesystems -/bin/mount -a -t $NETFS -O no_netdev -stat_done - -status "Activating Swap" /sbin/swapon -a - -stat_busy "Configuring System Clock" -if [ ! -f /var/lib/hwclock/adjtime ]; then - echo "0.0 0 0.0" > /var/lib/hwclock/adjtime -fi -if [ "$TIMEZONE" != "" -a -e "/usr/share/zoneinfo/$TIMEZONE" ]; then - /bin/rm -f /etc/localtime - /bin/cp "/usr/share/zoneinfo/$TIMEZONE" /etc/localtime -fi - -if [ -n "$HWCLOCK_PARAMS" ]; then - /sbin/hwclock --adjust #Adjust for system drift - /sbin/hwclock $HWCLOCK_PARAMS -fi -stat_done - -RANDOM_SEED=/var/lib/misc/random-seed -if [ -f $RANDOM_SEED ]; then - stat_busy "Initializing Random Seed" - /bin/cat $RANDOM_SEED > /dev/urandom - stat_done -fi - -stat_busy "Removing Leftover Files" -/bin/rm -f /etc/nologin &>/dev/null -/bin/rm -f /etc/shutdownpid &>/dev/null -/bin/rm -f /var/lock/* &>/dev/null -/bin/rm -rf /tmp/* /tmp/.* &>/dev/null -/bin/rm -f /forcefsck &>/dev/null -(cd /var/run && /usr/bin/find . ! -type d -exec /bin/rm -f -- {} \; ) -: > /var/run/utmp -/bin/chmod 0664 /var/run/utmp -# Keep {x,k,g}dm happy with xorg -/bin/mkdir /tmp/.ICE-unix && /bin/chmod 1777 /tmp/.ICE-unix -/bin/mkdir /tmp/.X11-unix && /bin/chmod 1777 /tmp/.X11-unix -stat_done - -#status "Updating Shared Library Links" /sbin/ldconfig - -if [ "$HOSTNAME" != "" ]; then - status "Setting Hostname: $HOSTNAME" /bin/hostname $HOSTNAME -fi - -# Set the NIS domain name, if necessary -[ -f /etc/conf.d/nisdomainname ] && . /etc/conf.d/nisdomainname -if [ "$NISDOMAINNAME" != "" ]; then - status "Setting NIS Domain Name: $NISDOMAINNAME" /bin/nisdomainname $NISDOMAINNAME -fi - -status "Updating Module Dependencies" /sbin/depmod -A - -# Flush old locale settings -: >/etc/profile.d/locale.sh -/bin/chmod 755 /etc/profile.d/locale.sh -# Set user defined locale -[ -z "$LOCALE" ] && LOCALE="en_US" -stat_busy "Setting Locale: $LOCALE" -echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh -stat_done - -# Adding persistent network/cdrom generated rules -if [ -f "/dev/.udev/tmp-rules--70-persistent-cd.rules" ]; then - stat_busy "Adding persistent cdrom udev rules" - /bin/cat /dev/.udev/tmp-rules--70-persistent-cd.rules >> /etc/udev/rules.d/70-persistent-cd.rules - stat_done -fi -if [ -f "/dev/.udev/tmp-rules--70-persistent-net.rules" ]; then - stat_busy "Adding persistent network udev rules" - /bin/cat /dev/.udev/tmp-rules--70-persistent-net.rules >> /etc/udev/rules.d/70-persistent-net.rules - stat_done -fi - -/bin/dmesg >| /var/log/dmesg.log - -# End of file -# vim: set ts=2 noet: - -# The part before here is migrated, the rest came from the template -exit 0 - -# /etc/event.d/rc-default guesses 2, so we also assume it's 2. -default_runlevel=2 - -################################################################################ -# Sys-v-init on Linux and variants (=upstart) execute rcS before rc2. -# -# Upstart on jaunty is starts /etc/event.d/rc-default, which -# starts /etc/event.d/rcS which starts /etc/init.d/rcS which -# starts /etc/init.d/rc S which starts the shell scripts in -# /etc/rcS.d/ (does not sound very efficient to me). - -# cinit@cinit-desktop:/etc/event.d$ ls -1 /etc/rcS.d/ | sed 's/^/# /' -# README: not migrated: -# S01mountkernfs.sh: sysfs, proc; ignored spufs, /var/run, /lib/init: migrated -cinit-conf.svc.mount.proc -cinit-conf.svc.mount.sys - -# S01readahead: ignored -# S02hostname.sh: migrated -cinit-conf.svc.hostname.linux $(hostname) - -# S06keyboard-setup: migrated -cinit-conf.svc.keymap.linux - -# S07linux-restricted-modules-common: ignored -# S10udev: migrated -cinit-conf.svc.mount.udev -cinit-conf.svc.local-tuning.udev.ubuntu - -# S11mountdevsubfs.sh: migrated! -cinit-conf.svc.mount.dev-shm -cinit-conf.svc.mount.dev-pts - -# S13pcmciautils: ignored -# S15module-init-tools: not migrated: I think modules should be put into services -# S17procps: migrated -cinit-conf.svc.sysctl.linux - -# S20checkroot.sh: migrated for / -cinit-conf.svc.mount.root - -# S22mtab.sh: manually create mtab; migrated (though a little bit hacky) -cinit-conf.svc.mtab-clean.linux - -# S25brltty: ignored: don't have a braille terminal here to test it -# S30checkfs.sh: ignored, not yet supported, have to find other mountpoints first -# S35mountall.sh: ignored: same as S30checkfs.sh -# S36mountall-bootclean.sh: migrated -# /var/run is not a tempdir, do not clean it -cinit-conf.svc.tmp.clean "/tmp" "/var/tmp" "/var/lock" -cinit-conf.svc.tmp.create "/tmp" "/var/tmp" "/var/lock" - -# S37apparmor: ignored -# S37mountoverflowtmp: ignored, that's a boottime bugfix -# S37udev-finish: no need to migrate, if having correct dependencies. -# S39readahead-desktop: ignored, as it seems not to work here -# S39ufw: disabled here by default -> skip -# S40networking -cinit-conf.svc.network.debian - -# S45mountnfs.sh: migrated, only much smaller -cinit-conf.svc.mount.nfs - -# S46mountnfs-bootclean.sh: already done (cinit-conf.svc.tmp.*) -# S49console-setup: migrated -cinit-conf.svc.setup.console.linux - -# S55bootmisc.sh -# S55urandom -# S70screen-cleanup -# S70x11-common - -cat << eof - -Ubuntu upstart migration completed. - -WARNING: - - This is a "lazy" migration: Ubuntu init scripts are migrated - similar, but not identical. Some services have been skipped, because - they are not necessary with cinit or in general. - - Check /etc/cinit before rebooting with cinit! - -KNOWN BUGS: - - S20checkroot.sh: Only / is being fscked, other partitions are ignored. - -HINT: - - Make sure init=/sbin/cinit is set in your bootloader. - -eof diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.migrate.upstart.ubuntu.jaunty b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.migrate.upstart.ubuntu.jaunty deleted file mode 100755 index d13d5007..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.migrate.upstart.ubuntu.jaunty +++ /dev/null @@ -1,174 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Try to migrate upstarts config from ubuntu jaunty to cinit config -# - -set -e - -# /etc/event.d/rc-default guesses 2, so we also assume it's 2. -default_runlevel=2 - -################################################################################ -# -# Base layout, same for every OS -# -cinit-conf.svc.init -cinit-conf.svc.categories -cinit-conf.svc.init.dependencies - -################################################################################ -# Sys-v-init on Linux and variants (=upstart) execute rcS before rc2. -# -# Upstart on jaunty is starts /etc/event.d/rc-default, which -# starts /etc/event.d/rcS which starts /etc/init.d/rcS which -# starts /etc/init.d/rc S which starts the shell scripts in -# /etc/rcS.d/ (does not sound very efficient to me). - -# cinit@cinit-desktop:/etc/event.d$ ls -1 /etc/rcS.d/ | sed 's/^/# /' -# README: not migrated: -# S01mountkernfs.sh: sysfs, proc; ignored spufs, /var/run, /lib/init: migrated -cinit-conf.svc.mount.proc -cinit-conf.svc.mount.sys - -# S01readahead: ignored -# S02hostname.sh: migrated -cinit-conf.svc.hostname.linux $(hostname) - -# S06keyboard-setup: migrated -cinit-conf.svc.keymap.linux - -# S07linux-restricted-modules-common: ignored -# S10udev: migrated -cinit-conf.svc.mount.udev -cinit-conf.svc.local-tuning.udev.ubuntu - -# S11mountdevsubfs.sh: migrated! -cinit-conf.svc.mount.dev-shm -cinit-conf.svc.mount.dev-pts - -# S13pcmciautils: ignored -# S15module-init-tools: not migrated: I think modules should be put into services -# S17procps: migrated -cinit-conf.svc.sysctl.linux - -# S20checkroot.sh: migrated for / -cinit-conf.svc.mount.root - -# S22mtab.sh: manually create mtab; migrated (though a little bit hacky) -cinit-conf.svc.mtab-clean.linux - -# S25brltty: ignored: don't have a braille terminal here to test it -# S30checkfs.sh: ignored, not yet supported, have to find other mountpoints first -# S35mountall.sh: ignored: same as S30checkfs.sh -# S36mountall-bootclean.sh: migrated -# /var/run is not a tempdir, do not clean it -cinit-conf.svc.tmp.clean "/tmp" "/var/tmp" "/var/lock" -cinit-conf.svc.tmp.create "/tmp" "/var/tmp" "/var/lock" - -# S37apparmor: ignored -# S37mountoverflowtmp: ignored, that's a boottime bugfix -# S37udev-finish: no need to migrate, if having correct dependencies. -# S39readahead-desktop: ignored, as it seems not to work here -# S39ufw: disabled here by default -> skip -# S40networking -cinit-conf.svc.network.debian - -# S45mountnfs.sh: migrated, only much smaller -cinit-conf.svc.mount.nfs - -# S46mountnfs-bootclean.sh: already done (cinit-conf.svc.tmp.*) -# S49console-setup: migrated -cinit-conf.svc.setup.console.linux - -# S55bootmisc.sh: skipped -# S55urandom: skipped, should be done later! -# S70screen-cleanup: skipped, unclean, should be done later! -# S70x11-common: also skipped, want to finish this script. - -################################################################################ -# -# /etc/rc2.d/ migration -# -# cinit@cinit-desktop:/etc/rc2.d$ ls -1 -# README -# S01policykit: ignored -# S10acpid: migrated (without module loading) -cinit-conf.svc.acpid -# Skipping the following ones currently -# S10sysklogd -# S11klogd -# S12dbus -# S16ssh -cinit-conf.svc.sshd -# S20apport -# S20hotkey-setup -# S24hal -# S25bluetooth -# S30gdm -# S50NetworkManager -# S50avahi-daemon -# S50cups -# S50pulseaudio -# S50rsync -# S50saned -# S50system-tools-backends -# S70bootlogs.sh -# S70dns-clean -# S70pppd-dns -# S89anacron -# S89atd -# S89cron -# S90binfmt-support -# S98usplash -# S99acpi-support -# S99laptop-mode -# S99ondemand -# S99rc.local -# S99rmnologin -# S99stop-readahead - -################################################################################ -# -# Enable local login with six getties -# -cinit-conf.svc.agetty 6 - -cat << eof - -Ubuntu upstart migration completed. - -WARNING: - - This is a "lazy" migration: Ubuntu init scripts are migrated - similar, but not identical. Some services have been skipped, because - they are not necessary with cinit or in general. - - Check /etc/cinit before rebooting with cinit! - -KNOWN BUGS: - - S20checkroot.sh: Only / is being fscked, other partitions are ignored. - -HINT: - - Make sure init=/sbin/cinit is set in your bootloader. - -eof diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.read-conf b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.read-conf deleted file mode 100755 index 0710402f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.read-conf +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -hier="${0%/*}" - -: ${CONFDIR:="$(cinit-conf.get-confdir)"} - -# read general values and overwrite specific ones later -for conf in ${CONFDIR}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - # short version - eval : \${$NAME:=$(head -n1 "${conf}")} - - # long version - #if eval test -z \$$NAME; then - # eval $NAME=\"$(head -n 1 $conf)\" - # eval export $NAME - #fi -# eval echo $NAME = \$$NAME -done - -# comment out: generated automatically now -#: ${DESTDIR="$(head -n1 "${CONFDIR}/destdir")"} -#: ${SERVICE_CATEGORIES="$(head -n1 "${CONFDIR}/service_categories")"} -#: ${GETTYDIR="${SVCDIR}/$(head -n1 "${CONFDIR}/gettydir")"} -#: ${INSTALL_PROG="$(head -n1 "${CONFDIR}/install_prog")"} -#: ${INSTALL_DIRECTORY="$(head -n1 "${CONFDIR}/install_directory")"} -#: ${C_ON="$(head -n1 "${CONFDIR}/c_on")"} -#: ${C_PARAMS="$(head -n1 "${CONFDIR}/c_params")"} -#: ${C_RESPAWN="$(head -n1 "${CONFDIR}/c_respawn")"} - -# overwrite or set: add destdir and put things together -# R_* = real = should be used in scripts -: ${R_CINIT_DIR:="${DESTDIR}/${CINIT_DIR}"} -: ${R_CINITCONF_DIR:="${R_CINIT_DIR}/${CINITCONFDIR}"} -: ${R_SVC_DIR:="${R_CINIT_DIR}/${SVCDIR}"} - -# T_*: theorethic (not real, usable for linking) -: ${T_CINIT_DIR:="${CINIT_DIR}"} -: ${T_CINITCONF_DIR:="${T_CINIT_DIR}/${CINITCONFDIR}"} -: ${T_SVC_DIR:="${T_CINIT_DIR}/${SVCDIR}"} diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-boot-enable b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-boot-enable deleted file mode 100755 index dd0ce633..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-boot-enable +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# -# Enable a service at boottime: add it to init wants list -# - -set -e - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -. "${__abs_mydir}/cinit-conf.read-conf" - - -if [ $# -lt 1 ]; then - echo "${__myname}: services... " - echo "" - echo " I add the services to init, so they will be started at boot." - echo "" - exit 1 -fi - -SVC="init" - -cinit-conf.svc.dependency.add "${SVC}" "wants" "$@" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-create.template b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-create.template deleted file mode 100755 index 96898b63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-create.template +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Create an almost empty service -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I create templates for your services" - exit 1 -fi - -for svc in $@; do - INSTDIR="${R_SVC_DIR}/${svc}" - - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - - echo -n "Creating template $svc ..." - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}" - - # needs - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - - # wants - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - - # README - cat << eof > "${INSTDIR}/README" -This service was created by $0. - -Please update this README to match the real content. - -Add entries to ${C_NEEDS} for the services this services really needs -(it will not start if one failed to start). - -Add services to ${C_WANTS} for the services this services wants -(it will start if one or more fail)." -eof - - echo "done." -done diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-delete b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-delete deleted file mode 100755 index 77e0b8e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-delete +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Delete services -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I delete your services" - exit 1 -fi - -for svc in "$@"; do - SERVICE="${R_SVC_DIR}/${svc}" - - if [ ! -e "$SERVICE" ]; then - echo "${svc}: does not exists, cannot remove.." - continue - fi - - echo -n "Removing $svc ..." - rm -rf "${SERVICE}" - echo "done." -done diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-off b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-off deleted file mode 100755 index 8ac78b21..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-off +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Select program to start on service stop -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "${__abs_mydir}/cinit-conf.read-conf" - -if [ $# -ne 2 ]; then - echo "${__myname}: service path-to-executable" - exit 1 -fi - -svc="$1"; shift -executable="$1"; shift - -echo "${svc}:${C_OFF}->${executable}" - -ln -sf "${executable}" "${R_SVC_DIR}/${svc}/${C_OFF}" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-on b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-on deleted file mode 100755 index 7b8121c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-on +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Select program to start on service start -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -ne 2 ]; then - echo "$(basename $0): service path-to-executable" - exit 1 -fi - -svc="$1"; shift -executable="$1"; shift - -echo "${svc}:${C_ON}->${executable}" - -ln -sf "${executable}" "${R_SVC_DIR}/${svc}/${C_ON}" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-param.add b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-param.add deleted file mode 100755 index 6daa7059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-param.add +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Select program to start on service start -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 3 ]; then - echo "$(basename $0): service (${C_ON}|${C_OFF}) params..." - exit 1 -fi - -svc="$1"; shift -type="$1"; shift - -while [ $# -gt 0 ]; do - param="$1"; shift - file="${svc}/${type}${C_PARAMS}" - echo "${file}+=${param}" - echo "${param}" >> "${R_SVC_DIR}/${file}" -done diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-respawn.off b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-respawn.off deleted file mode 100755 index 1809f43e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-respawn.off +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Disable respawing for a service -# - -set -e - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -# init variables -. "${__mydir}/cinit-conf.read-conf" - -if [ $# -lt 1 ]; then - echo "${__myname}: service-name(s)" - echo " Services will lose their respawn mark" - exit 1 -fi - -for svc in "$@"; do - echo -n "${svc}:respaw->off" - rm -f "${R_SVC_DIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-respawn.on b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-respawn.on deleted file mode 100755 index b00adb14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc-respawn.on +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Enable respawing for a service -# - -set -e - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -# init variables -. "${__mydir}/cinit-conf.read-conf" - -if [ $# -lt 1 ]; then - echo "${__myname}: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -for svc in "$@"; do - echo -n "${svc}:respaw->on" - touch "${R_SVC_DIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.acpid b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.acpid deleted file mode 100755 index e0b178a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.acpid +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start acpid -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "${__abs_mydir}/cinit-conf.read-conf" - - -if [ $# -ne 0 ]; then - echo "${__myname}: " - echo "" - echo " I start the old acpid" - echo "" - exit 23 -fi - -SVC="local-services/acpid" -BINARY_PATH="$(which acpid)" -NEEDS="mount/root mount/proc" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-f" -cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.agetty b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.agetty deleted file mode 100755 index a168e5bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.agetty +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Enable agetty (6 times is fine) -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 1 ]; then - echo "${__myname}: " - echo "" - echo " Allow login to your system using agetty" - echo "" - exit 23 -fi -num_getties="$1"; shift - -SVCBASE="local-services/agetty" - -# agetty is called getty within debian/ubuntu -> FIXME: also search for agetty -BINARY_PATH="$(which getty)" -NEEDS="mount/root mount/proc" - -# Create container to hold all the getties -cinit-conf.svc-create.template "${SVCBASE}" - -i=0 -while [ "$i" -lt "$num_getties" ]; do - SVC="${SVCBASE}/$i" - tty="tty${i}" - speed="38400" - - cinit-conf.svc-create.template "${SVC}" - cinit-conf.svc.respawn.on "${SVC}" - cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" - cinit-conf.svc-param.add "${SVC}" "${C_ON}" "${speed}" "${tty}" - - cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - - # add each getty to the "super-getty-service" - cinit-conf.svc.dependency.add "${SVCBASE}" "needs" "${SVC}" - - i=$(($i+1)) -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.categories b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.categories deleted file mode 100755 index 6db485fc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.categories +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Create default categories -# - -. "$(dirname $0)/cinit-conf.read-conf" - -cinit-conf.svc-create.template $SERVICE_CATEGORIES diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.dependency.add b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.dependency.add deleted file mode 100755 index ea94ae95..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.dependency.add +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh -# -# 2008-2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# -# cinit: create dependency: service a needs or wants service b -# - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -lt 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A="$1"; shift -DEP="$1"; shift - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case "${DEP}" in - wishes|wants) DEP="$C_WANTS" ;; - needs|requires) DEP="$C_NEEDS" ;; - *) echo "Use \"want\" or \"need\" as type of dependency." -esac - -SVC_A_LDIR="${R_SVC_DIR}/${SVC_A}/${DEP}" -# Try to create dependency directory, if it does not exist -if [ ! -d "${SVC_A_LDIR}" ]; then - echo "${SVC_A}:+${DEP}" - mkdir "${SVC_A_LDIR}" -fi - -# allow multiple dependencies to be added in one run -while [ $# -gt 0 ]; do - SVC_B="$1"; shift - - # remove slashes in the name for destination - SVC_B_LNAME="$(echo "$SVC_B" | sed 's#/#-#g')" - SVC_B_SOURCE="${T_SVC_DIR}/${SVC_B}" - SVC_A_LDEST="${SVC_A_LDIR}/${SVC_B_LNAME}" - - echo "${SVC_A} ${DEP} ${SVC_B} (${SVC_B_LNAME})" - ln -sf "${SVC_B_SOURCE}" "${SVC_A_LDEST}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.fsck.linux b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.fsck.linux deleted file mode 100755 index ab522794..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.fsck.linux +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Filesystemcheck -# Warning: Ubuntu has UUIDs: -# root@ubuntu:~# cat /etc/fstab -# /etc/fstab: static file system information. -# -# Use 'vol_id --uuid' to print the universally unique identifier for a -# device; this may be used with UUID= as a more robust way to name devices -# that works even if disks are added and removed. See fstab(5). -# [...] -# UUID=405998e4-63ba-4190-8a69-488bd81b9d39 / ext3 relatime,errors=remount-ro 0 1 -# -# But the mtab of the running system contains the useful entry -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -ne 2 ]; then - echo "$(basename $0): servicename device" - exit 1 -fi - -SVC="$1"; shift -DEVICE="$1"; shift -BINARY_PATH="$(which fsck)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "${DEVICE}" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.getty.add b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.getty.add deleted file mode 100755 index ea4e1815..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.getty.add +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -BASEDIR="${R_SVC_DIR}/${GETTYDIR}" -LAST_NUMBER=$(cd "$BASEDIR" && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.getty.remove b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.getty.remove deleted file mode 100755 index 8a9801dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.getty.remove +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. "$(dirname $0)/cinit-conf.read-conf" - -BASEDIR="$DESTDIR/$CINIT_DIR/$GETTY_DIR" -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR="$BASEDIR/$NUMBER" - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.hostname.linux b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.hostname.linux deleted file mode 100755 index 50eb7737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.hostname.linux +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Setup the hostname -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME="$1" -: ${HOSTNAME_BIN:=/bin/hostname} - -SVC="network/hostname" - -cinit-conf.svc-create.template "${SVC}" -ln -sf "$HOSTNAME_BIN" "${R_SVC_DIR}/${SVC}/${C_ON}" -echo "$HOSTNAME" > "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" - -cinit-conf.svc.dependency.add "${SVC}" needs "mount/proc" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.init b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.init deleted file mode 100755 index 7d6f4329..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.init +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_CINITCONF_DIR}" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}" - -# init must be there. always. -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}/init" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.init.dependencies b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.init.dependencies deleted file mode 100755 index b21ed402..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.init.dependencies +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# cinit: add standard sub-configuration directories to init wants -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -cinit-conf.svc.dependency.add init wants getty -cinit-conf.svc.dependency.add init wants local-services -cinit-conf.svc.dependency.add init wants local-tuning -cinit-conf.svc.dependency.add init wants mount -cinit-conf.svc.dependency.add init wants network diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.keymap.linux b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.keymap.linux deleted file mode 100755 index faa12530..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.keymap.linux +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Setup console keymap -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="local-tuning/keymap" -BINARY_PATH="$(which setupcon)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-k" - -# FIXME: what are the correct dependencies? -cinit-conf.svc.dependency.add "${SVC}" "needs" "mount/proc" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.linux.debian.ntpdate b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.linux.debian.ntpdate deleted file mode 100755 index a51f945c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.linux.debian.ntpdate +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start ntpdate -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "${__abs_mydir}/cinit-conf.read-conf" - -if [ $# -ne 0 ]; then - echo "${__myname}: (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH="$(which ntpdate)" -SVC="local-services/ntpdate" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.linux.network.lo b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.linux.network.lo deleted file mode 100755 index 0211a8b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.linux.network.lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.local-tuning.udev.ubuntu b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.local-tuning.udev.ubuntu deleted file mode 100755 index eeb53214..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.local-tuning.udev.ubuntu +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Configure the udev service -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY_PATH="$(which udevadm)" - -SVC="local-tuning/udev" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "settle" - -# dependencies -cinit-conf.svc.dependency.add "${SVC}" needs "mount/sys" -cinit-conf.svc.dependency.add "${SVC}" needs "mount/udev" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.dev-pts b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.dev-pts deleted file mode 100755 index 8d8c0da9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.dev-pts +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount /dev/shm, as specified in Ubuntu: -# -# domount tmpfs shmfs /dev/shm tmpfs -onosuid,nodev$SHM_OPT -# -# - - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="mount/dev-pts" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" - -# Ubuntu: domount devpts "" /dev/pts devpts -onoexec,nosuid,gid=$TTYGRP,mode=$TTYMODE -# root@cinit-desktop:/home/cinit/cinit# grep -e TTYGRP -e TTYMODE /etc/default/* -# /etc/default/devpts:TTYGRP=5 -# /etc/default/devpts:TTYMODE=620 -# root@cinit-desktop:/home/cinit/cinit# awk -F: '$3 ~ /^5$/ { print $1 }' /etc/group -# tty - - -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-n" "-t" "devpts" "devpts" "/dev/pts" "-onoexec,nosuid,gid=5,mode=620" -cinit-conf.svc.dependency.add "${SVC}" "needs" "mount/udev" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.dev-shm b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.dev-shm deleted file mode 100755 index 3466b68f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.dev-shm +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount /dev/shm, as specified in Ubuntu: -# -# domount tmpfs shmfs /dev/shm tmpfs -onosuid,nodev$SHM_OPT -# -# - - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="mount/dev-shm" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-n" "-t" "tmpfs" "-onosuid,nodev" "shmfs" "/dev/shm" -cinit-conf.svc.dependency.add "${SVC}" "needs" "mount/udev" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.getsource b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.getsource deleted file mode 100755 index 9ee21f6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.getsource +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -# FIXME: Skip ^#!, make for generic mounts! -awk '$2 ~ /^\/$/ { print $0 }' < /etc/fstab diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.nfs b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.nfs deleted file mode 100755 index 3bea7463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.nfs +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount NFS shares -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 0 ]; then - echo "${__myname}: " - echo "" - echo " Enable NFS mounts" - echo "" - exit 23 -fi - -SVC="mount/nfs" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-a" "-t" "nfs" - -BINARY_PATH="$(which umount)" -cinit-conf.svc-off "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_OFF}" "-a" "-t" "nfs" - -# NFS mounts always need the network to be up -cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS "network" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.proc b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.proc deleted file mode 100755 index 42ae9171..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.proc +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount /proc -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -# - mount /proc -SVC="mount/proc" - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${R_SVC_DIR}/${SVC}" -ln -sf /bin/mount "${R_SVC_DIR}/${SVC}/${C_ON}" -echo proc > "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" -echo -t >> "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" -echo proc >> "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" -echo /proc >> "${R_SVC_DIR}/${SVC}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.root b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.root deleted file mode 100755 index 17eff913..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.root +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# mount / read/write (and fsck it before) -# - -set -e - -. "$(dirname $0)/cinit-conf.read-conf" - -# mount root read/write -SVC="mount/root" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-n" "-o" "remount,rw" "/" - -SVC_FSCK="${SVC}/fsck" -BINARY_PATH="$(which fsck)" -DEV="$(mount | awk '$3 ~ /\/$/ { print $1 }')" - -cinit-conf.svc.fsck.linux "${SVC_FSCK}" "${DEV}" -cinit-conf.svc.dependency.add "${SVC}" "needs" "${SVC_FSCK}" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.swap b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.swap deleted file mode 100755 index 10ca6be3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.sys b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.sys deleted file mode 100755 index fa09253d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.sysfs b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.sysfs deleted file mode 100755 index 05da04f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.sysfs +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Mount sysfs -# - - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -DDIR="${R_SVC_DIR}/mount/sys/" - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DDIR}" -ln -sf /bin/mount "${DDIR}${C_ON}" -echo sysfs > "${DDIR}${C_ON}${C_PARAMS}" -echo -t >> "${DDIR}${C_ON}${C_PARAMS}" -echo sysfs >> "${DDIR}${C_ON}${C_PARAMS}" -echo /sys >> "${DDIR}${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.udev b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.udev deleted file mode 100755 index 0233336f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mount.udev +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Setup console keymap -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="mount/udev" -BINARY_PATH="$(which mount)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-n" "-t" "tmpfs" "-o" "mode=0755" "udev" "/dev" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mtab-clean.linux b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mtab-clean.linux deleted file mode 100755 index ac84719b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.mtab-clean.linux +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Initialise the /etc/mtab file on Linux: -# Ubuntu Jaunty manually creates it, we just ignore it -# and link it to /proc/mounts. -# -# This is probably not the perfect way, as /proc/mounts -# contains more stuff than useful. Maybe we can add a -# "add mount to mtab" dependency to all mount/X/ services, -# that depends on mount/root. -# -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -SVC="local-tuning/cleanup-mtab" -BINARY_PATH="$(which ln)" - -# Is mount/proc needed or is it sane to link to an empty /etc/mtab -# by linking that to a non-existing file? -NEEDS="mount/root mount/proc" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-sf" "/proc/mounts" "/etc/mtab" - -cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.network.debian b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.network.debian deleted file mode 100755 index a8e1ac1a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.network.debian +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start network -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 0 ]; then - echo "${__myname}: " - echo "" - echo " I start all your network devices" - echo "" - exit 23 -fi - -SVC="network/devices" -BINARY_PATH="$(which ifup)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-a" - -# FIXME: Is it really senseful to call ifdown at shutdown? -# Or is that useless anyway? Besides some DHCP_RELEASEs -BINARY_PATH="$(which ifdown)" -cinit-conf.svc-off "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_OFF}" "-a" - -# no known dependencies -#cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.setup.console.linux b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.setup.console.linux deleted file mode 100755 index f9a980ee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.setup.console.linux +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# Setup the Linux console -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 0 ]; then - echo "${__myname}: " - echo "" - echo " Setup Linux console" - echo "" - exit 23 -fi - -SVC="local-tuning/setup-console" -BINARY_PATH="$(which setupcon)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "--force" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.shell b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.shell deleted file mode 100755 index 490ee3de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.shell +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start a shell - the debugging example -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 0 ]; then - echo "${__myname}: " - echo "" - echo " I start a local shell" - echo "" - exit 23 -fi - -SVC="local-services/shell" -BINARY_PATH="$(which sh)" -WANTS="mount/root mount/proc" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-i" -cinit-conf.svc-respawn.on "${SVC}" - -cinit-conf.svc.dependency.add "${SVC}" "wants" $WANTS - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.sshd b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.sshd deleted file mode 100755 index 672b02f2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.sshd +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start sshd -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -ne 0 ]; then - echo "${__myname}: " - echo "" - echo " I start the OpenSSH server (not just sshd, Mike)." - echo "" - exit 23 -fi - -SVC="remote-services/sshd" -BINARY_PATH="$(which sshd)" -#NEEDS="mount/root mount/proc" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-D" - -# no known dependencies -#cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.sysctl.linux b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.sysctl.linux deleted file mode 100755 index e4f21a4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.sysctl.linux +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Load sysctl values -# -# Ubuntu: for file in /etc/sysctl.conf /etc/sysctl.d/*.conf -# - - -. "$(dirname $0)/cinit-conf.read-conf" - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="local-tuning/sysctl" -BINARY_PATH="$(which sysctl)" - -# main service -cinit-conf.svc-delete "${SVC}" -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-p" "/etc/sysctl.conf" - -# create "sub"-services -for file in /etc/sysctl.d/*.conf; do - bsvc="${file##*/}" - bsvc="${bsvc%*.conf}" - svc="${SVC}/${bsvc}" - - cinit-conf.svc-create.template "${svc}" - cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" - cinit-conf.svc-param.add "${svc}" "${C_ON}" "-p" "${file}" - cinit-conf.svc.dependency.add "${SVC}" "needs" "${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.tmp.clean b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.tmp.clean deleted file mode 100755 index 02e6dd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.tmp.clean +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Cleanup temp directories -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -lt 1 ]; then - echo "${__myname}: tmpdirs... " - echo "" - echo " I remove those tempdirs on bootup." - echo "" - exit 23 -fi - -SVC="local-tuning/tmp-clean" -BINARY_PATH="$(which rm)" - -# FIXME: We would need all the related partions to be r/w -# So probably add a warning somewhere or add another argument, -# specifyng other needs -NEEDS="mount/root" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-rf" -cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - -# all other arguments are temp directories -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "$@" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.tmp.create b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.tmp.create deleted file mode 100755 index 3a2d6b5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.tmp.create +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Recreate temp directories -# - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - -set -e -. "$(dirname $0)/cinit-conf.read-conf" - - -if [ $# -lt 1 ]; then - echo "${__myname}: tmpdirs... " - echo "" - echo " I create those tempdirs on bootup." - echo "" - exit 23 -fi - -SVC="local-tuning/tmp/create" -BINARY_PATH="$(which mkdir)" - -# FIXME: We would need all the related partions to be r/w -# So probably add a warning somewhere or add another argument, -# specifyng other needs -NEEDS="mount/root" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" - -# all other arguments are temp directories -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-m" "1777" "$@" - -cinit-conf.svc.dependency.add "${SVC}" "needs" $NEEDS - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.udev.copy-static b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.udev.copy-static deleted file mode 100755 index 3eb7c10e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.svc.udev.copy-static +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Copny static files to /dev -# - -. "$(dirname $0)/cinit-conf.read-conf" - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -SVC="local-tuning/udev/copy-static" -BINARY_PATH="$(which cp)" - -cinit-conf.svc-create.template "${SVC}" -cinit-conf.svc-on "${SVC}" "${BINARY_PATH}" -cinit-conf.svc-param.add "${SVC}" "${C_ON}" "-a" "/lib/udev/devices/" "/dev/" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.sys-v-init.get-current-runlevel b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.sys-v-init.get-current-runlevel deleted file mode 100755 index aba723f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.sys-v-init.get-current-runlevel +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -runlevel | cut -d " " -f2 diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.sys-v-init.migrate-fstab b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.sys-v-init.migrate-fstab deleted file mode 100755 index f3c08736..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-conf.sys-v-init.migrate-fstab +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -# read root - -# read swap - -# FIXME: read others: later -echo "Warning: Only configuring / and swap, ignoring other devices for now" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-helper.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-helper.wait.for.daemon deleted file mode 100755 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bin/cinit-helper.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/README b/software/cinit/browse_source/cinit-0.3pre19/bugs/README deleted file mode 100644 index 6472dbf7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/README +++ /dev/null @@ -1 +0,0 @@ -This directory is maintained by ditz. diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-0c63a541a2261c7322d6c59a6adb091301020c8d.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-0c63a541a2261c7322d6c59a6adb091301020c8d.yaml deleted file mode 100644 index 5a125ca4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-0c63a541a2261c7322d6c59a6adb091301020c8d.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Create minimal sample configurations for different OS -desc: |- - Similar to what I thought todo in cinit.install.test: - - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar -type: :task -component: portability -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-24 20:14:42.832701 Z -references: [] - -id: 0c63a541a2261c7322d6c59a6adb091301020c8d -log_events: -- - 2009-09-24 20:14:44.120614 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-0d8142c646aa04e8e713fc8f886a44475581c670.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-0d8142c646aa04e8e713fc8f886a44475581c670.yaml deleted file mode 100644 index 4c082d64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-0d8142c646aa04e8e713fc8f886a44475581c670.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: How to handle OS specific signal handlers -desc: |- - -- cinit ignores the Keyboard request - - Currently there is no support to react on 'ctr+alt+del': - - Maybe allow signal handlers to be passed to something like services? -type: :task -component: core -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:29:28.589652 Z -references: [] - -id: 0d8142c646aa04e8e713fc8f886a44475581c670 -log_events: -- - 2009-09-28 05:29:31.033914 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-120cbf62dbdd9a7a026bcbb7d2863599c7183f70.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-120cbf62dbdd9a7a026bcbb7d2863599c7183f70.yaml deleted file mode 100644 index 71b24dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-120cbf62dbdd9a7a026bcbb7d2863599c7183f70.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add install targets -desc: |- - install: - make install => does not overwrite critical targets - * cinit - * *.kill (see client/*) - * cmd - make force-install => overwrites /sbin/{halt,poweroff,reboot}? - => with script that wraps cmd - make install-template: - * creates categories - make install-miniconf: - * creates categories - * creates one service starting a shell (depending on the OS!) -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:42:21.470333 Z -references: [] - -id: 120cbf62dbdd9a7a026bcbb7d2863599c7183f70 -log_events: -- - 2009-09-28 05:42:22.146097 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-1cc421b885608485f73c9041c5c0af71df76331a.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-1cc421b885608485f73c9041c5c0af71df76331a.yaml deleted file mode 100644 index 10759001..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-1cc421b885608485f73c9041c5c0af71df76331a.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Documentate, how to write an init system -desc: So others can redo it. -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:17:05.878201 Z -references: [] - -id: 1cc421b885608485f73c9041c5c0af71df76331a -log_events: -- - 2009-09-29 05:17:06.729534 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-1e83dca921062d97b96830caf24e7898ad4fbbe2.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-1e83dca921062d97b96830caf24e7898ad4fbbe2.yaml deleted file mode 100644 index 1a6a63a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-1e83dca921062d97b96830caf24e7898ad4fbbe2.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: add error handling to cinit.install.binary -desc: Double check the whole installation process -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:32:13.897529 Z -references: [] - -id: 1e83dca921062d97b96830caf24e7898ad4fbbe2 -log_events: -- - 2009-09-28 05:32:14.581391 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml deleted file mode 100644 index d815cbd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-25822475f5d01c35eb9edd8d75c065c83032701b.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "Documentate: How to cross compile" -desc: |- - conf/os to destination os - conf/cc - conf/ld - conf/cflags - conf/ldflags -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-07 06:31:53.866741 Z -references: [] - -id: 25822475f5d01c35eb9edd8d75c065c83032701b -log_events: -- - 2009-09-07 06:31:54.990478 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9.yaml deleted file mode 100644 index 40245817..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9.yaml +++ /dev/null @@ -1,43 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add reason, why service was not started -desc: |- - -------------------------------------------------------------------------------- - csvc: - 11:09 < folken23> telmich: oder service allready started. - -------------------------------------------------------------------------------- - cinit: - 11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. - 11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:36:51.093468 Z -references: [] - -id: 278e5a7b4c338f18f92d5bb1a2789d76d0e11ad9 -log_events: -- - 2009-09-28 05:36:51.957356 Z - - Nico Schottelius - - created - - "" -- - 2009-09-29 05:15:14.622132 Z - - Nico Schottelius - - commented - - |- - And add better status messages: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-29d45f06044e5329dca7f351a17676e65d4e3b38.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-29d45f06044e5329dca7f351a17676e65d4e3b38.yaml deleted file mode 100644 index 7cd1909c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-29d45f06044e5329dca7f351a17676e65d4e3b38.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "Bugfix: SIGCHLD not handled carefully" -desc: "" -type: :task -component: core -release: "0.3" -reporter: Nico Schottelius -status: :in_progress -disposition: -creation_time: 2009-09-29 05:34:17.833638 Z -references: [] - -id: 29d45f06044e5329dca7f351a17676e65d4e3b38 -log_events: -- - 2009-09-29 05:34:18.397430 Z - - Nico Schottelius - - created - - "" -- - 2009-09-29 05:35:28.338069 Z - - Nico Schottelius - - changed status from unstarted to in_progress - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-2a4a3675810b44b05ce51c021690fb3f21725e55.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-2a4a3675810b44b05ce51c021690fb3f21725e55.yaml deleted file mode 100644 index cccc3fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-2a4a3675810b44b05ce51c021690fb3f21725e55.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: write sys-v-init-shutdown-wrapper -desc: |- - So people can use their known tools: - * shutdown - * halt - * reboot - * poweroff -type: :task -component: user interface -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 18:35:44.468421 Z -references: [] - -id: 2a4a3675810b44b05ce51c021690fb3f21725e55 -log_events: -- - 2009-09-28 18:35:45.292294 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-2fda514da472aa15fa57d2df06e8d5cc909016d0.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-2fda514da472aa15fa57d2df06e8d5cc909016d0.yaml deleted file mode 100644 index dc0c9622..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-2fda514da472aa15fa57d2df06e8d5cc909016d0.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Write a small manual -desc: |- - How to - - install - - configure - - boot (different OS) -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 18:37:34.300443 Z -references: [] - -id: 2fda514da472aa15fa57d2df06e8d5cc909016d0 -log_events: -- - 2009-09-28 18:37:35.280232 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-3a620ff450d0c685a5567d25d77230763c835c8e.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-3a620ff450d0c685a5567d25d77230763c835c8e.yaml deleted file mode 100644 index ac9f8430..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-3a620ff450d0c685a5567d25d77230763c835c8e.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Allow non-parallel bootup -desc: For easier debugging and people who are confused with parallel startup -type: :task -component: core -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-10-24 14:18:44.270577 Z -references: [] - -id: 3a620ff450d0c685a5567d25d77230763c835c8e -log_events: -- - 2009-10-24 14:18:44.990439 Z - - Nico Schottelius - - created - - "" -git_branch: diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-3cc14c82109544e198e5cce002c0d94a66e6f4d7.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-3cc14c82109544e198e5cce002c0d94a66e6f4d7.yaml deleted file mode 100644 index 8e7731a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-3cc14c82109544e198e5cce002c0d94a66e6f4d7.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Export service information -desc: Like pid, path, ... -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:18:47.901610 Z -references: [] - -id: 3cc14c82109544e198e5cce002c0d94a66e6f4d7 -log_events: -- - 2009-09-29 05:18:48.369488 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d.yaml deleted file mode 100644 index 35fdf1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add service start/stop -desc: Hack cinit_svc_disable.c -type: :task -component: cinit -release: "0.3" -reporter: Nico Schottelius -status: :in_progress -disposition: -creation_time: 2009-09-29 05:31:38.533662 Z -references: [] - -id: 40bb0e1478cb8e1fd7ef577b0acf8f7b2f516d6d -log_events: -- - 2009-09-29 05:31:39.209477 Z - - Nico Schottelius - - created - - "" -- - 2009-09-29 05:32:40.681588 Z - - Nico Schottelius - - commented - - "svc_stop vs. svc_disable: coded tired?" -- - 2009-09-29 05:33:27.666143 Z - - Nico Schottelius - - changed status from unstarted to in_progress - - on it... diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-4e460e6061fb5d39549b85d42fc33f57de7a1396.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-4e460e6061fb5d39549b85d42fc33f57de7a1396.yaml deleted file mode 100644 index 01d7564a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-4e460e6061fb5d39549b85d42fc33f57de7a1396.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Maybe create libcinit? -desc: At least for use in cmd() -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:43:27.689712 Z -references: [] - -id: 4e460e6061fb5d39549b85d42fc33f57de7a1396 -log_events: -- - 2009-09-28 05:43:28.069533 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-5bd7befd45553864b1d2ebc12509e06440a402d0.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-5bd7befd45553864b1d2ebc12509e06440a402d0.yaml deleted file mode 100644 index c033e3d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-5bd7befd45553864b1d2ebc12509e06440a402d0.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Documentate how to migrate from another init system -desc: "" -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 20:00:00.854675 Z -references: [] - -id: 5bd7befd45553864b1d2ebc12509e06440a402d0 -log_events: -- - 2009-09-28 20:00:01.450291 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7.yaml deleted file mode 100644 index 5fcbc43d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: add code do implement stopping / restarting service with/without dependency tree -desc: "" -type: :task -component: cinit -release: 0.3.1 -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:33:24.966097 Z -references: [] - -id: 5c4769f4f4f23b8a544ae3e20866d8fc2676a7e7 -log_events: -- - 2009-09-28 05:33:25.929966 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-638fcf34a8d68c88ed48313ffd3b8a9ecb2fbbd4.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-638fcf34a8d68c88ed48313ffd3b8a9ecb2fbbd4.yaml deleted file mode 100644 index 92db9edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-638fcf34a8d68c88ed48313ffd3b8a9ecb2fbbd4.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Export cinit.mkheader to cconf -desc: To buid up the complete build suite. -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-11-18 16:03:16.116135 Z -references: [] - -id: 638fcf34a8d68c88ed48313ffd3b8a9ecb2fbbd4 -log_events: -- - 2009-11-18 16:03:16.685812 Z - - Nico Schottelius - - created - - "" -git_branch: diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-8391cdbcb30d007bfb692504d9469a93f7c15b97.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-8391cdbcb30d007bfb692504d9469a93f7c15b97.yaml deleted file mode 100644 index a4da0c19..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-8391cdbcb30d007bfb692504d9469a93f7c15b97.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Mase sure cinit runs on POSIX -desc: Double check that there are no linux deps in it anymore (from cinit-0.2) -type: :task -component: portability -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:16:19.961614 Z -references: [] - -id: 8391cdbcb30d007bfb692504d9469a93f7c15b97 -log_events: -- - 2009-09-29 05:16:20.858087 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-85687a7f79046db51429db38e7b1da5234a3675e.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-85687a7f79046db51429db38e7b1da5234a3675e.yaml deleted file mode 100644 index f87e898a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-85687a7f79046db51429db38e7b1da5234a3675e.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: write examples for profiles -desc: |- - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:19:26.941625 Z -references: [] - -id: 85687a7f79046db51429db38e7b1da5234a3675e -log_events: -- - 2009-09-29 05:19:27.345506 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-863a9d56ed460fb45e91d2c555d57133d2286f72.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-863a9d56ed460fb45e91d2c555d57133d2286f72.yaml deleted file mode 100644 index 9716ac2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-863a9d56ed460fb45e91d2c555d57133d2286f72.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add speedup part in documentation -desc: |- - - cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - - Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:30:01.562097 Z -references: [] - -id: 863a9d56ed460fb45e91d2c555d57133d2286f72 -log_events: -- - 2009-09-28 05:30:02.433805 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8.yaml deleted file mode 100644 index 50eaa305..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Create cinit-conf framework or libexec -desc: |- - Maybe include - - cinit_service_modify(name|path) - - cinit_service_create() - interactive - - cinit_service_delete(name|path) - interactive - * has to take care about needs / wants! - - cinit_magic_configuration_generation() - * tries to build a completly fresh configuration, by analysing your system - - Non interactive tools - - cinit_svc_del -type: :task -component: user interface -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:28:48.049604 Z -references: [] - -id: 8d5e1aee59a52ab1b3b0b02b02f07823d4f4b8d8 -log_events: -- - 2009-09-29 05:28:48.665510 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-b5428a5e8b064827fac8f1bc905cd5b304961f77.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-b5428a5e8b064827fac8f1bc905cd5b304961f77.yaml deleted file mode 100644 index 5666d6be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-b5428a5e8b064827fac8f1bc905cd5b304961f77.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Add dumpstate function -desc: |- - It should write a cconfig tree similar to the configuration - Additionally it should contain a "state" field - - This feature is the base for hot-upgrading cinit. -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-10-05 20:57:25.373348 Z -references: [] - -id: b5428a5e8b064827fac8f1bc905cd5b304961f77 -log_events: -- - 2009-10-05 20:57:25.943152 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-bb27c9b51f82dd54eba8baa40aa5e8bba326ea01.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-bb27c9b51f82dd54eba8baa40aa5e8bba326ea01.yaml deleted file mode 100644 index f90ec206..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-bb27c9b51f82dd54eba8baa40aa5e8bba326ea01.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: export profile information -desc: Possible via $CINIT_PROFILE -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:19:54.965525 Z -references: [] - -id: bb27c9b51f82dd54eba8baa40aa5e8bba326ea01 -log_events: -- - 2009-09-29 05:19:55.929526 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-c8d020845511594b4b90bb38a2a839ef6ce4c9c8.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-c8d020845511594b4b90bb38a2a839ef6ce4c9c8.yaml deleted file mode 100644 index 886b3337..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-c8d020845511594b4b90bb38a2a839ef6ce4c9c8.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Cleanup environment before starting child -desc: |- - Close fds, free mem, ... - Chcek what's necessary, what's senseful, ... -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:41:22.857702 Z -references: [] - -id: c8d020845511594b4b90bb38a2a839ef6ce4c9c8 -log_events: -- - 2009-09-28 05:41:23.909476 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-d3732fffad054c5a1f781f28a60015346ad28dd6.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-d3732fffad054c5a1f781f28a60015346ad28dd6.yaml deleted file mode 100644 index fed5b461..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-d3732fffad054c5a1f781f28a60015346ad28dd6.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: write cinit-conf.check -desc: |- - * report broken links in needs/wants - * report circular dependencies -type: :task -component: user interface -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 18:36:27.892997 Z -references: [] - -id: d3732fffad054c5a1f781f28a60015346ad28dd6 -log_events: -- - 2009-09-28 18:36:28.504859 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-d7a7970bd20e1dc0b04f314fee5f39ba90d3d904.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-d7a7970bd20e1dc0b04f314fee5f39ba90d3d904.yaml deleted file mode 100644 index 8b379025..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-d7a7970bd20e1dc0b04f314fee5f39ba90d3d904.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Cleanup contrib+tools -desc: Tools may be old or not even compiling. Cleanup! -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:22:54.298139 Z -references: [] - -id: d7a7970bd20e1dc0b04f314fee5f39ba90d3d904 -log_events: -- - 2009-09-29 05:22:55.166003 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1.yaml deleted file mode 100644 index 27f2d088..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Documentate sleeping behaviour (when respawing processes) -desc: |- - - cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:27:32.721481 Z -references: [] - -id: dbc5e27c03e3dd22add144409f6dfe8b81d2c8d1 -log_events: -- - 2009-09-28 05:27:33.821345 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669.yaml deleted file mode 100644 index 08026edf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: define service status in one document, so repeatition stops -desc: |- - maybe use doxygen? - Chose focus: user | developer -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 05:31:11.886061 Z -references: [] - -id: e40b9f0761d0a1e0ca47cc8e0e52d4ec16f51669 -log_events: -- - 2009-09-28 05:31:12.802016 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-e435cb93810ea790f795fedc2e9afc6475c9c0a8.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-e435cb93810ea790f795fedc2e9afc6475c9c0a8.yaml deleted file mode 100644 index 13713f55..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-e435cb93810ea790f795fedc2e9afc6475c9c0a8.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: "FAQ: what happens when a service does not terminate...." -desc: write faq! -type: :task -component: documentation -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-28 20:11:41.130314 Z -references: [] - -id: e435cb93810ea790f795fedc2e9afc6475c9c0a8 -log_events: -- - 2009-09-28 20:11:41.862145 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-f10682d63b1059f876c6cdde2323a596dba89d3c.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-f10682d63b1059f876c6cdde2323a596dba89d3c.yaml deleted file mode 100644 index 0685c6f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-f10682d63b1059f876c6cdde2323a596dba89d3c.yaml +++ /dev/null @@ -1,51 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Test new build sytem -desc: |- - Migrate conf/ to general conf/-buildsystem (write documentation for it). - - gpm2 may be an example for this! - - conf/targets: - targets to make available in Makefile and their dependencies - - abstract the build-process somehow, so one can create build-targets? - - c-programs/ (includes cc / ld) - cinit (link to conf/object_listings cinit?) - conf/object_listings - lists of dependencies: - conf/object_listings/cinit contains all objects needed for cinit - - conf/programs/ - like cc, ld, install, ... - - conf/built-options/ - like --... in ./configure - - conf/install/ - - options/ - destdir (prefixed before everything) - prefix (standard prefix) - bin (relative to prefix, if not beginning with a /) - sbin (relative to prefix, if not beginning with a /) - lib (relative to prefix, if not beginning with a /) - targets/ - cinit/ - built-target (link to conf/targets/cinit) - destination (relative to -type: :task -component: build -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:21:55.313650 Z -references: [] - -id: f10682d63b1059f876c6cdde2323a596dba89d3c -log_events: -- - 2009-09-29 05:21:55.845402 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3.yaml deleted file mode 100644 index 23949d0a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: Check shutdown code -desc: To verify the right way -type: :task -component: core -release: "0.3" -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:34:46.305951 Z -references: [] - -id: fa88d3f9dca2df7ccaf8fb9ce2daab3e9255dae3 -log_events: -- - 2009-09-29 05:34:46.774065 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-fea40277e32b0bd747d7f47a68d41009fc046fd9.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-fea40277e32b0bd747d7f47a68d41009fc046fd9.yaml deleted file mode 100644 index 57911dc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/issue-fea40277e32b0bd747d7f47a68d41009fc046fd9.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/issue -title: add logging support for services -desc: Similar to DJB tools? multilog? -type: :task -component: cinit -release: future -reporter: Nico Schottelius -status: :unstarted -disposition: -creation_time: 2009-09-29 05:18:00.717667 Z -references: [] - -id: fea40277e32b0bd747d7f47a68d41009fc046fd9 -log_events: -- - 2009-09-29 05:18:01.146029 Z - - Nico Schottelius - - created - - "" diff --git a/software/cinit/browse_source/cinit-0.3pre19/bugs/project.yaml b/software/cinit/browse_source/cinit-0.3pre19/bugs/project.yaml deleted file mode 100644 index 490b5cff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/bugs/project.yaml +++ /dev/null @@ -1,44 +0,0 @@ ---- !ditz.rubyforge.org,2008-03-06/project -name: cinit -version: "0.5" -components: -- !ditz.rubyforge.org,2008-03-06/component - name: cinit -- !ditz.rubyforge.org,2008-03-06/component - name: core -- !ditz.rubyforge.org,2008-03-06/component - name: user interface -- !ditz.rubyforge.org,2008-03-06/component - name: portability -- !ditz.rubyforge.org,2008-03-06/component - name: documentation -- !ditz.rubyforge.org,2008-03-06/component - name: build -releases: -- !ditz.rubyforge.org,2008-03-06/release - name: "0.3" - status: :unreleased - release_time: - log_events: - - - 2009-09-07 06:28:02.974644 Z - - Nico Schottelius - - created - - The first cleaned up version -- !ditz.rubyforge.org,2008-03-06/release - name: future - status: :unreleased - release_time: - log_events: - - - 2009-09-07 06:29:14.264777 Z - - Nico Schottelius - - created - - All things to be fixed in the future. -- !ditz.rubyforge.org,2008-03-06/release - name: 0.3.1 - status: :unreleased - release_time: - log_events: - - - 2009-09-28 05:32:55.870041 Z - - Nico Schottelius - - created - - Bugfix of 0.3 diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/.README b/software/cinit/browse_source/cinit-0.3pre19/conf/.README deleted file mode 100644 index c4d984c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/.README +++ /dev/null @@ -1,7 +0,0 @@ -This is an example for a cinit and cinit-conf configuration. - -The first line of a file contains the configuration value, -the rest of the file may contain a description. - -The conf/ directory is shared by cinit and cinit-conf and may contain files that -are only relevant for one of the two projects. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre19/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre19/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_desaster b/software/cinit/browse_source/cinit-0.3pre19/conf/c_desaster deleted file mode 100644 index 153a63cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_desaster +++ /dev/null @@ -1,5 +0,0 @@ -/bin/sh - -The path to a program, that we execute if nothing -else helps. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_env b/software/cinit/browse_source/cinit-0.3pre19/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_init b/software/cinit/browse_source/cinit-0.3pre19/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_last b/software/cinit/browse_source/cinit-0.3pre19/conf/c_last deleted file mode 100644 index 8debf155..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_last +++ /dev/null @@ -1,7 +0,0 @@ -last - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -This maybe a shellscript with the OS-specific umount procedure (like umount -a), -see doc/user/configuring.cinit for more details. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre19/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_off b/software/cinit/browse_source/cinit-0.3pre19/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_on b/software/cinit/browse_source/cinit-0.3pre19/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre19/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_params b/software/cinit/browse_source/cinit-0.3pre19/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre19/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre19/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre19/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre19/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre19/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre19/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/cc b/software/cinit/browse_source/cinit-0.3pre19/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/cflags b/software/cinit/browse_source/cinit-0.3pre19/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre19/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/cinitconfdir b/software/cinit/browse_source/cinit-0.3pre19/conf/cinitconfdir deleted file mode 100644 index 9dc3b52b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/cinitconfdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -General cinit-configuration (below cinitdir) diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/destdir b/software/cinit/browse_source/cinit-0.3pre19/conf/destdir deleted file mode 100644 index 3326ace6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/destdir +++ /dev/null @@ -1,6 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. - -cinit-conf uses this file for installing the configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/gettydir b/software/cinit/browse_source/cinit-0.3pre19/conf/gettydir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/gettydir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre19/conf/install_directory deleted file mode 100644 index 80cab694..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to pass to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre19/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre19/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/ld b/software/cinit/browse_source/cinit-0.3pre19/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre19/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre19/conf/max_delay deleted file mode 100644 index 30725bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/max_delay +++ /dev/null @@ -1,4 +0,0 @@ -30 - -Maximum number of seconds to sleep between retrying to start it -(respawn only). diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre19/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre19/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre19/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre19/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/os b/software/cinit/browse_source/cinit-0.3pre19/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre19/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre19/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre19/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/prefix b/software/cinit/browse_source/cinit-0.3pre19/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/profile b/software/cinit/browse_source/cinit-0.3pre19/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre19/conf/service_categories deleted file mode 100644 index 92a5a683..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/service_categories +++ /dev/null @@ -1,3 +0,0 @@ -local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as 'pseudo-services'. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre19/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/strip b/software/cinit/browse_source/cinit-0.3pre19/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre19/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre19/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre19/conf/version b/software/cinit/browse_source/cinit-0.3pre19/conf/version deleted file mode 100644 index 19f086ee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre19" - -The version of cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/Makefile deleted file mode 100644 index 23cc41f0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o usage.o mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/cconfig.graph.xml.rb deleted file mode 100755 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/cinit-vis.pl deleted file mode 100755 index 4a439fc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/svc/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/cinit.graph.text.c deleted file mode 100644 index 5e5316ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -//#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.graph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.graph.text - textual representatio of the cinit directory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.graph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/cinit.h b/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/cinit.h deleted file mode 100644 index cbde3195..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/cinit.h +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Dummy header file to intgrate mini_printf and usage - */ - -#ifndef CINIT_DUMMY_HEADER -#define CINIT_DUMMY_HEADER - -void usage(char *banner, char *text); -void mini_printf(char *str,int fd); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100755 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/mini_printf.c deleted file mode 120000 index 3e9a596c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/mini_printf.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/mini_printf.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/usage.c b/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/usage.c deleted file mode 120000 index c26691ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/contrib+tools/usage.c +++ /dev/null @@ -1 +0,0 @@ -../src/generic/usage.c \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre19/doc/.buildwarn deleted file mode 100644 index 41183a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/.buildwarn +++ /dev/null @@ -1,24 +0,0 @@ - -Welcome to the cinit -******************** - -Hints: ------- - - Settings can be found in conf/* (also used for compiling) - - Cinit configuration is normally found in /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text BEFORE installing. - -Building cinit --------------- - - "make all" - to build cinit - "make install" - to install cinit, documentation and core tools - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/COPYING b/software/cinit/browse_source/cinit-0.3pre19/doc/COPYING deleted file mode 100644 index 94a9ed02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/COPYING +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/CREDITS b/software/cinit/browse_source/cinit-0.3pre19/doc/CREDITS deleted file mode 100644 index febdcf4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/CREDITS +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: ls -l) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding -Tonnerre Lombard - * NetBSD support (host + hints) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre19/doc/Makefile deleted file mode 100644 index bb135b6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/Makefile +++ /dev/null @@ -1,108 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -A2X=a2x -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text man/halt.kill.text man/poweroff.kill.text \ - man/reboot.kill.text man/cmd.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DEVELDOCS = devel/codingguideline.text -DOCS = $(MANDOCS) $(USERDOCS) $(DEVELDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -#TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpages" - @echo "pdf: only generate pdfs (requires: fop)" - -install: $(DOC_ALL) - @echo "===> Copy " man/*.[0-9] "to the correct manpaths" - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -#%.man: %.mandocbook -# ${DOCBOOKTOMAN} --to-stdout $< > $@ - -%.man: %.text - ${A2X} -f manpage $< - -%.pdf: %.text - ${A2X} -f pdf $< - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - rm -f man/*.texi man/*.xml man/*.[0-9] - rm -f */*.docbook - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/README.text b/software/cinit/browse_source/cinit-0.3pre19/doc/README.text deleted file mode 100644 index aae0996e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/README.text +++ /dev/null @@ -1,60 +0,0 @@ -cinit documentation -==================== -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -changes/ -~~~~~~~~ -Changelogs from this and previous releases. - -devel/ -~~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - -examples/ -~~~~~~~~~ -Example configurations to start with. - -man/ -~~~~ -Manpages for cinit and the utilities. - -todo/ -~~~~~ -Stuff that should be done, that has not yet been migrated to ditz. - -user/ -~~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. - - - - - -do-not-read/ -~~~~~~~~~~~~ -Stuff that is only kept for various strange reasons. Do not read it. - - -do-not-read/ancient -^^^^^^^^^^^^^^^^^^^ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -do-not-read/braindumps -^^^^^^^^^^^^^^^^^^^^^^ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.1 b/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.1 deleted file mode 100644 index a0db62e6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.1 +++ /dev/null @@ -1,2 +0,0 @@ -* Initial release -* Support for adding getties diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre15 deleted file mode 100644 index bd197d02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre15 +++ /dev/null @@ -1,3 +0,0 @@ -Released: 2009-09-23 -Changes: - * Changed child handling (no function calls in sig_child handler anymore) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre16 b/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre16 deleted file mode 100644 index 6749eede..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre16 +++ /dev/null @@ -1,6 +0,0 @@ -Released: 2009-09-29 -Changes: - * Re-integrated cinit-conf - * Merged READE and cinit website - * Cleaned up bin/: Executables can now be installed - * Cleaned up top level directory diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre17 b/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre17 deleted file mode 100644 index ec103f77..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre17 +++ /dev/null @@ -1,3 +0,0 @@ -Released: 2009-10-05 -Changes: - * Populated bin/ with a lot of scripts to migrate ubuntu/upstart to cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre18 b/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre18 deleted file mode 100644 index 40dfc92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre18 +++ /dev/null @@ -1,4 +0,0 @@ -Released: 2009-11-05 -Changes: - * Added script to partially migrate Ubuntu Jaunty almost completly to cinit - * Added script to create minimal configuration (cinit-conf.config.shell) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre19 b/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre19 deleted file mode 100644 index aa556feb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/0.3pre19 +++ /dev/null @@ -1,8 +0,0 @@ -Released: 2009-11-26 -Changes: - * Add install target for bin/ - * Consistent naming in bin/ (conf, cmd, helper) - * Cleanup up some cinit-conf scripts - * Cleanup documentation directory - * Cleanup scripts directory - * Cleanup src installation diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/00-before-0.3pre15 b/software/cinit/browse_source/cinit-0.3pre19/doc/changes/00-before-0.3pre15 deleted file mode 100644 index ce8f4b43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/changes/00-before-0.3pre15 +++ /dev/null @@ -1,108 +0,0 @@ -cinit-0.3pre14: 2008-03-17 - - Added test-suite for cmd - - Added support to shutdown services in cinit and cmd - (without needs and wants) - - Added linux-sysvinit wrapper for shutdown (See - scripts/wrapper/linux-sysvinit/shutdown) - - Rewrote most parts of cmd (to make it more beautiful) - - Changed license to GPL 3.0 - -cinit-0.3pre13: 2007-09-26 - - Added -V (get cmd version), -h (help), -p (get pid) to cmd - - Cleaned up namemsage in msgq.h - - Added global service lock - - Splitted of svc.h to svc.h, svc-intern.h and svc-messages.h - - Prepared logic splitoff from cinit_ipc_listen() - - Fixed bug: fork() has a general race condition - (see src/test/fork-latency.c) through use of global lock - -cinit-0.3pre12: 2007-09-06 - - Added DESTDIR support - - Added support to get service status via cmd: cmd -s - * also supports relative paths to CINIT_DIR ("/etc/cinit") - - Fixed git clone problem: hooks are needed for dumb git - - Fixed bug: We did not wait for services to finsh, which we depend on being - ran once. - -cinit-0.3pre11: 2007-09-01 - - Added basic communication: - * client binary "cmd" with argument -v returns cinit-version - - Updated {halt,reboot,poweroff}.kill - -cinit-0.3pre10: - - Fixed make install target - - Added halt.kill, poweroff.kill and reboot.kill (including manpages!) - - Fixed invalid comparision in core/cinit.c - - Be verbose: Print what we execute - - Updated documentation - -cinit-0.3pre9: 2007-05-15 - - Implemented sleeping before respawn (static delay) - - Report broken links on execution, but ignore empty services - - Cleaned up message queue error reporting - -cinit-0.3pre8: 2007-04-06 - - Updated and merged documentation: Codingstyle and Codingguide - - Cleaned sigaction-code (fixes segfault on glibc) - - Cleaned object listings - - Added notifications at shutdown - - Fixed status check - -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/Doxyfile b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/Doxyfile deleted file mode 100644 index d7de54af..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/Doxyfile +++ /dev/null @@ -1,305 +0,0 @@ -# Doxyfile 1.5.6 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = cinit -PROJECT_NUMBER = 0.3pre15 -OUTPUT_DIRECTORY = /home/user/nico/oeffentlich/computer/projekte/cinit/doxygen -CREATE_SUBDIRS = NO -OUTPUT_LANGUAGE = English -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = YES -STRIP_FROM_PATH = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = NO -QT_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = NO -INHERIT_DOCS = YES -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 3 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO -OPTIMIZE_FOR_FORTRAN = NO -OPTIMIZE_OUTPUT_VHDL = NO -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -SIP_SUPPORT = NO -IDL_PROPERTY_SUPPORT = YES -DISTRIBUTE_GROUP_DOC = NO -SUBGROUPING = YES -TYPEDEF_HIDES_STRUCT = NO -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- -EXTRACT_ALL = YES -EXTRACT_PRIVATE = YES -EXTRACT_STATIC = YES -EXTRACT_LOCAL_CLASSES = YES -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = YES -HIDE_SCOPE_NAMES = NO -SHOW_INCLUDE_FILES = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = YES -SORT_BRIEF_DOCS = NO -SORT_GROUP_NAMES = NO -SORT_BY_SCOPE_NAME = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = YES -SHOW_DIRECTORIES = NO -SHOW_FILES = YES -SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.f90 \ - *.f \ - *.vhd \ - *.vhdl \ - *.C \ - *.CC \ - *.C++ \ - *.II \ - *.I++ \ - *.H \ - *.HH \ - *.H++ \ - *.CS \ - *.PHP \ - *.PHP3 \ - *.M \ - *.MM \ - *.PY \ - *.F90 \ - *.F \ - *.VHD \ - *.VHDL -RECURSIVE = YES -EXCLUDE = /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src/ancient/ \ - /home/user/nico/oeffentlich/computer/projekte/cinit/cinit/src/test/ -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = YES -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = YES -REFERENCES_RELATION = YES -REFERENCES_LINK_SOURCE = YES -USE_HTAGS = NO -VERBATIM_HEADERS = YES -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = YES -GENERATE_HTMLHELP = NO -GENERATE_DOCSET = NO -DOCSET_FEEDNAME = "Doxygen generated docs" -DOCSET_BUNDLE_ID = org.doxygen.Project -HTML_DYNAMIC_SECTIONS = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -CHM_INDEX_ENCODING = -BINARY_TOC = NO -TOC_EXPAND = NO -DISABLE_INDEX = NO -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = NONE -TREEVIEW_WIDTH = 250 -FORMULA_FONTSIZE = 10 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = YES -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = YES -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = -XML_PROGRAMLISTING = YES -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = NO -MSCGEN_PATH = -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = YES -DOT_FONTNAME = FreeSans -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 1000 -DOT_TRANSPARENT = YES -DOT_MULTI_TARGETS = NO -GENERATE_LEGEND = YES -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = NO diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/cinit-status-translation.dia b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/cinit-status-translation.dia deleted file mode 100644 index 55935dd0..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/cinit-status-translation.dia and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/cinit-status-translation.png b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/cinit-status-translation.png deleted file mode 100644 index 6bafa119..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/cinit-status-translation.png and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/codingguideline.text b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/codingguideline.text deleted file mode 100644 index d4686d8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/codingguideline.text +++ /dev/null @@ -1,149 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. -Indent variable names, so the names begin all at the same position. -Use three spaces to place them. - - -Whitespaces ------------ -Where to put or avoid whitespaces (space or linefeed (lf)). - - -Spaces -~~~~~~ -- After closing brace "if(test) return 0;" -- Spaces before and after '=', '>', '<', '==', '!='', '>=', '<=', '>>', '<<', '&', '&&', '|', '||' -- After start of comment and before end of comment: '/* text */' - - - After ')', ',' - -No spaces -~~~~~~~~~ -- Within braces and code "(!test)", -- Before braces "if(code)" -- No space before ), so if '))', do not put a space after the first ')' - - -Linebreaks -~~~~~~~~~~ -This somehow includes the setting of braces (indirectly through (not) setting -spaces. - -If -^^ - -Put the if, the braces and the opening curly brace on one line, -put the closing one together with `else` and the new opening -curly brace on one line: - ------------------------------------------------------------------------------- -if(...) { - /* code */ -} else { - /* else: code */ -} ------------------------------------------------------------------------------- - -While -^^^^^ ------------------------------------------------------------------------------- -while(condition) { - /* repeat */ -} ------------------------------------------------------------------------------- - -Do-While -^^^^^^^^ ------------------------------------------------------------------------------- -do { - /* something */ -} while(running); ------------------------------------------------------------------------------- - -Switch -^^^^^^ - ------------------------------------------------------------------------------- -switch(value) { - case DO_SOMETHING: - /* code */ - break; - default: - break; -} ------------------------------------------------------------------------------- - - - -Where to put curly braces -------------------------- - -Functions -~~~~~~~~~ -Opening and closing curly braces are placed on a seperate row: - ------------------------------------------------------------------------------- -int func(int params) -{ - body -} ------------------------------------------------------------------------------- - - -If, else, while, do-while -~~~~~~~~~~~~~~~~~~~~~~~~~ -See above. - - -Comments ---------- -where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - -If there is more than one line containing a comment, try to adjust them -so they look the same in width and position: - ------------------------------------------------------------------------------- - int illuminati = 23; /* do not want to comment that */ - int the_answer_to_everything = 42; /* 42. */ - - [...] - - while(illuminati < the_answer_to_everything) { /* only try before them */ - overtake_world(&self); /* overtake is complex */ - } ------------------------------------------------------------------------------- - - -Header -------- -Put a header into each file, containing: - - - Date of file being put into existence (year is enough) - - Name and e-mail (obfuscated if you want) of the author(s) - - Description of the function - - Copyright statement (if not included GPLv2 or later is assumed) - - -Includes -~~~~~~~~ -Include system headers first, then place own headers. Comment the includes, -wherefore you added them. Example: - ------------------------------------------------------------------------------- -#include /* write */ -#include "cinit.h> /* cinit_ipc_* */ ------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/communication.text deleted file mode 100644 index 64ea30cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/communication.text +++ /dev/null @@ -1,248 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - - -Numbers -~~~~~~~ -Can be found in include/cinit.h. - - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -Can't use a structure, were missing the point that we cannot transfer dynamic -length strings. Thus the protocol consists of: - - client(int) => cinit - cinit(ini) => client - => after that follows command specific data - -The byte order is host specific (may be little or big endian). - -STRUCTURE WITH STATIC SIZE. MSGRCV! -IPC LAYER CREATES TRANSPORT! - -Type -~~~~ -Messages are binary data. - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: What's the status of service XYZ? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Code, length of service name, the service name (without \0). -int, int, char[]; - - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/gpl3-header.c b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/gpl3-header.c deleted file mode 100644 index d8030109..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/gpl3-header.c +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * - * 2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * purpose_of_this_file_is_also_there_behind_the_big_header - * - */ - - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/gpl3-header.sh b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/gpl3-header.sh deleted file mode 100644 index 29b75e61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/gpl3-header.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Description here -# - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/ipc.text deleted file mode 100644 index e57ac039..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/ipc.text +++ /dev/null @@ -1,169 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - -Abstraction layer: cinit_ipc_* ------------------------------- -You can choose or even reimplement ipc code for cinit. You only have to create -a directory below src/ipc/ and create the following necessary functions: - -int cinit_ipc_init(void); -~~~~~~~~~~~~~~~~~~~~~~~~~ -Initialise the IPC functions in cinit. - - -int cinit_ipc_listen(void); -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Never ending looping function that listens for commands and passes the -retrieved command to read_command(). - -other -~~~~~~ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - - -cinit_get_data(int ident, int size, void *data) => read size bytes from client -with ident - -/***************************************************************************** - * Functions: in clients - */ - int cinit_ipc_logon(void); /* logon to init (client init) */ - int cinit_ipc_connect(void); /* connect to init */ - int cinit_ipc_csend(struct cinit_message *data); /* send to the server from a client */ - - --------------------------------------------------------------------------------- -Messages: - - struct cinit_question qsn; - struct cinit_answer asr; - -question: - -answer: - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) - -> return 0 on ipc errors - --------------------------------------------------------------------------------- -enable / disable services: - - - send svc - - send flags - - - recv return: - CINIT_ASW_SVC_STOPPED: successfully stopped the service - - CINIT_ASW_SVC_ERR: failed to stop the service - CINIT_ASW_SVC_WANTS: wants failed - CINIT_ASW_SVC_NEEDS: needs failed - opt contains number of failed services - retriev them from cinit after that - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/problems.occured.text b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/problems.occured.text deleted file mode 100644 index 4d89be77..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/problems.occured.text +++ /dev/null @@ -1,13 +0,0 @@ -It sometimes looked like the child() from fork() returned earlier -then the fork() call -- is that possible? - - if(li->status == FE_NOT) { - svc_report_status(li->abs_path, "Nothing to execute :-)"); - /* - * probably a problem: we exit too fast, cinit does not yet have us in - * the process list. is that possible? => catch with sleep - */ - // sleep(2); - _exit(0); /* nothing there? fine! */ - } - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/testing-cinit-in-vm.text b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/testing-cinit-in-vm.text deleted file mode 100644 index 824b94c9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/testing-cinit-in-vm.text +++ /dev/null @@ -1,11 +0,0 @@ - -m = manually -a = automated - -m Install OS of your choice into KVM, including make, gcc, ssh and rsync -m Startup VM -a Transfer data to VM -a Compile cinit on VM -a Install cinit and configuration on VM -m Configure bootloader to add cinit as alternative choice -m Reboot and start cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre19/doc/devel/testing.text deleted file mode 100644 index 6ac0b6da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/devel/testing.text +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. - - - --------------------------------------------------------------------------------- -Using a raw (x86) hd image: -Access partition 1 via losetup: - -sudo losetup -o 32256 /dev/loop0 "$hierabs/debian-hd.img" -linux ubd0=/dev/loop0 init=/sbin/cinit "$@" - -Offset was taken from fdisk: - -[19:22] denkbrett:emu# fdisk -l -u /dev/sda - -Disk /dev/sda: 80.0 GB, 80026361856 bytes -255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors -Units = sectors of 1 * 512 = 512 bytes -Disk identifier: 0x1669c708 - - Device Boot Start End Blocks Id System -/dev/sda1 63 19535039 9767488+ 83 Linux -/dev/sda2 19535040 23438834 1951897+ 82 Linux swap / Solaris -/dev/sda3 23438835 156296384 66428775 83 Linux - -===> 63*512bytes spaeter beginnt sda1 - -[19:23] denkbrett:~% echo 512\*63 |bc -l -32256 - -Results in losetup -o 32256 /dev/loop0 ./debian-hd.img - -Scripts from the nsbin project (lo-*) can be used. -It can be found at http://unix.schottelius.org/cgi-bin/gitweb.cgi. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/Changelog b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/README b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/TODO.lucky b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/TODO.lucky deleted file mode 100644 index 3ac57ee5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/TODO.lucky +++ /dev/null @@ -1,16 +0,0 @@ -18:18 hey, ich hatte gerade ein wenig lust mich mit cinit zu befassen, hier also mein - kleiner bug-report: in src/include fehlt cinit.h, (alles auf das aktuelle - tarball bezogen), ich hab's aus pre9 genommen, hatte ich noch da, da git nicht - wollte(Cannot get remote repository information.), ausserdem hast du _ statt - - in doc/man/cinit.text verwendet bei der email, das mag docbook nicht, die - beiden zeilen habe ich korrigiert, danch ging schon mal make all und auch make - ins -18:35 und warum installiert er die man pages nicht mit? -07:20 so, kleiner zwischenbericht, das argv problem bei lvm gibt es mit pre10 nicht - mehr, d.h. dass man auch kein shell-skript mehr braucht um lvm/luks-devices zu - mounten :) -07:20 soweit sieht eig. alles gut aus -07:21 wenn das so bleibt, dann werd' ich dauerhaft auf cinit umsteigen :) -07:21 und wenn sich die gelegenheit bietet, dann stell ich cinit auch mal in der - info-ag von unserer schule vor :) - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/security b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/root-vm-testing b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/root-vm-testing deleted file mode 100644 index a8773dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/root-vm-testing +++ /dev/null @@ -1,9 +0,0 @@ -[19:33] denkbrett:root% cat uml-mount.sh -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl - -denkbrett# tar cfj ~nico/projekte/cinit/conf-vm-2007-03-05.tar.bz2 cinit -denkbrett# chown -R nico cinit -denkbrett# chown nico ../sbin - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/shutdown.text deleted file mode 100644 index ac76425d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/shutdown.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} - * no, implemented that directly into cinit! -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process - * create mappers for target OS - - Linux - - {free,net,open}bsd - - others may contribute theirself -- also implement poweroff - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement halt - * kill -USR1 1 - - -The implementation ------------------ -x shutdown is initiated -x disable communication (nobody can influence us anymore) -x install special signal handler? - - no. we do not care about zombies anymore, we are gone soon anyway - - simply reset to the default -- begin to shutdown services - * where to start? - * begin shutdown at the end of the tree, viewing/sorting it by the 'needed_by' - -> where to begin sort? - -> worst implementation: scan all services (easy for now) - -> result: list of services, that noone needs :-) - * stop those services and step above - - stop a service, as soon as noone needs it anymore - * check all needed_by links - * more or less the inverted gen_svc_tree -- how to shutdown a service - * if existing, call off - - if off does not exist: - * if respawn: send sigterm to the process - * also implement sigkill at this stage? - - think we can delay it to the end - - otherwise users can use off! - - implement environment for off ($cinit_respawn_pid, $cinit_service_name) - - do *NOT* care about the return value, we can't do anything for it - anymore anyway -- after all services are shutdown, kill all remaining services - * SIGTERM - * wait(defined_time_in_seconds) - * SIGKILL -- call the last command - * to cleanup the system - - umount -a (if needed) - - swapoff (if needed) - - sync (if needed) -- switch off diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/sizes b/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/sizes deleted file mode 100644 index ddd30f75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/do-not-read/braindumps/sizes +++ /dev/null @@ -1,6 +0,0 @@ -sysvinit: -root 1 0.0 0.0 1944 648 ? Ss 02:12 0:00 init [2] - -cinit-0.3pre8-glibc-linux: -compiler 25323 0.0 0.0 1564 392 pts/2 S+ 20:22 0:00 ./cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/README deleted file mode 100644 index f803f9b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains example configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/README deleted file mode 100644 index a862330c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/README +++ /dev/null @@ -1 +0,0 @@ -Example configurations for cinit-0.3. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/README deleted file mode 100644 index 0b059353..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/README +++ /dev/null @@ -1,5 +0,0 @@ -This directory contains configuration examples from -'denkbrett' which is Nico Schottelius' main notebook. - -It's a x86 Linux notebook, so x86 and Linux specific -services will be loaded (like acpid, udev). diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 deleted file mode 100644 index 22889cc0..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README deleted file mode 100644 index e0582b25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -shell running, getty missing diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 deleted file mode 100644 index bc129f72..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README deleted file mode 100644 index b5a39918..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-2.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -getty on tty2 running, but displays -"Unable to determine your tty name". -Possibly problem with empty /dev. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 deleted file mode 100644 index 2b1bc744..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README deleted file mode 100644 index 9f87a662..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-3.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added fsck for root filesystem -and added (currently) unneeded /proc service. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 deleted file mode 100644 index 31a73e9a..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README deleted file mode 100644 index 3f43b0d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-4.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added needs /proc to getty/1 and 2. -Now we can login through getty! diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 deleted file mode 100644 index 9a490a32..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README deleted file mode 100644 index cb778400..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-5.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added service "network/hostname" and added it as wants to -the gettys. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 deleted file mode 100644 index 42d30cdc..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README deleted file mode 100644 index b1aac768..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-6.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added respawn to the rescue-shell and the gettys. -Also added TERM=linux so agetty can pass that to -the shell. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 deleted file mode 100644 index 9b75a07b..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README deleted file mode 100644 index cdedced3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-7.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added eth0 and a driver loader as well as added it -to the init list. If everything goes well, I'll have -dynamic network running after reboot :-) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 deleted file mode 100644 index 2a50bf51..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README deleted file mode 100644 index d54c9da3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070423-8.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added luksopen and dm_crypt support. UNTESTED. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 deleted file mode 100644 index 4d53ad3c..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README deleted file mode 100644 index 6e166f28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-1.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Added acpid, removed luksopen currently from the dependency -list. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 deleted file mode 100644 index 7af7167f..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README deleted file mode 100644 index b45f2595..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070424-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added support for the loopback device (network/loopback). diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 deleted file mode 100644 index 907f4bf1..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README deleted file mode 100644 index 0fa9cf4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070425-1.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added two more getties: getty/3 and getty/4 and added -them to init/needs. And yes, this configuration is in -use on my production system :-) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 deleted file mode 100644 index f91c0c58..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README deleted file mode 100644 index 80b538b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-01.tar.bz2.README +++ /dev/null @@ -1,3 +0,0 @@ -Added unicode_start/stop and made it wants for gettys. -Added the sys-v-init-udev-script to init/wants, I am currently -to lazy to reimplement the whole udev bunch. Anyone else? ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 deleted file mode 100644 index 98454c86..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README deleted file mode 100644 index 78e81d56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070503-02.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Sleep before kill decreased to 2. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 deleted file mode 100644 index 1880c52d..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README deleted file mode 100644 index 740026e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070717-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -Added support for cpufreq (ondemand) on IBM T60. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 deleted file mode 100644 index f79a8ee6..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README deleted file mode 100644 index bfc5c0ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added mount /proc as requirement for acpid! diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 deleted file mode 100644 index a2b8fdea..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README deleted file mode 100644 index 3493ca3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070831-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added dmesg -n1 so there's less noise on startup. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 deleted file mode 100644 index 8df7a9c9..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README deleted file mode 100644 index cb6f8d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-1.tar.bz2.README +++ /dev/null @@ -1,7 +0,0 @@ -- Added needs: - unicode / console: /proc - udev: /proc - syslog-ng: mount/root - -- fixed mount/root/fsck: missed "then" - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 deleted file mode 100644 index 33f75a62..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README deleted file mode 100644 index 07e6f29e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070901-2.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -- Added respawn for syslog-ng diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 deleted file mode 100644 index e3b7df82..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README deleted file mode 100644 index 650274b7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070906-1.tar.bz2.README +++ /dev/null @@ -1,2 +0,0 @@ -Add TERM=linux to console-unicode and also depend it on udev so -devices are existing. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 deleted file mode 100644 index d8c7dd55..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README deleted file mode 100644 index f6d5eb89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/denkbrett-20070909-1.tar.bz2.README +++ /dev/null @@ -1 +0,0 @@ -acpid needs to write to /var/run! diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last deleted file mode 100755 index f722a251..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -umount -a -sync -# report, there should be nothing left -ps axuwww -umount -a diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last.params deleted file mode 100755 index ec169e3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/last.params +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -echo "This is the last command executed" -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill deleted file mode 100644 index 7ed6ff82..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill.README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill.README deleted file mode 100644 index e9d11095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/conf/sleep_before_kill.README +++ /dev/null @@ -1,2 +0,0 @@ -Test with 30 seconds sleep, that is really enough to see if it differs from -builtin 2 seconds. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/proc b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.env b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.params deleted file mode 100644 index db1290b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty1 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/respawn b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/hostname b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/1/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/proc b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.env b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.params deleted file mode 100644 index bc8c9b28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty2 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/respawn b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/hostname b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/2/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/proc b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.env b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.params deleted file mode 100644 index 7efd5e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty3 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/respawn b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/hostname b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/3/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/keyboard deleted file mode 120000 index d34736ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../.././../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/mount-root b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/mount-root deleted file mode 120000 index 5254b0c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/mount-root +++ /dev/null @@ -1 +0,0 @@ -/etc/cinit/svc/mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/proc b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on deleted file mode 120000 index 43d48c29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/getty \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.env b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.params deleted file mode 100644 index 47e2d7a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/on.params +++ /dev/null @@ -1,2 +0,0 @@ -38400 -tty4 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/respawn b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/console-unicode b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/console-unicode deleted file mode 120000 index 6d239a86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/console-unicode +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/console-unicode \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/hostname b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/hostname deleted file mode 120000 index 0daec325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/getty/4/wants/hostname +++ /dev/null @@ -1 +0,0 @@ -../../../network/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/acpid b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/acpid deleted file mode 120000 index 88098497..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/acpid +++ /dev/null @@ -1 +0,0 @@ -../../local-services/acpid \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/eth0.dhcp b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/eth0.dhcp deleted file mode 120000 index 8d2c9b8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/eth0.dhcp +++ /dev/null @@ -1 +0,0 @@ -../../network/eth0.dhcp \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-2 deleted file mode 120000 index 92f3bf2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-2 +++ /dev/null @@ -1 +0,0 @@ -../../getty/2 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-3 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-3 deleted file mode 120000 index 9c0aeaed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-3 +++ /dev/null @@ -1 +0,0 @@ -../../getty/3 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-4 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-4 deleted file mode 120000 index 7b967eed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/getty-4 +++ /dev/null @@ -1 +0,0 @@ -../../getty/4 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/keyboard deleted file mode 120000 index c4488690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/loopback b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/loopback deleted file mode 120000 index 69fe6f89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/loopback +++ /dev/null @@ -1 +0,0 @@ -../../network/loopback \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/rescue-shell b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/rescue-shell deleted file mode 120000 index be06dd0a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/rescue-shell +++ /dev/null @@ -1 +0,0 @@ -../../rescue-shell \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/sysfs b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/sysfs deleted file mode 120000 index 67c524a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/needs/sysfs +++ /dev/null @@ -1 +0,0 @@ -../../mount/sysfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on deleted file mode 120000 index 7bbf7ccd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on +++ /dev/null @@ -1 +0,0 @@ -/bin/echo \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on.params deleted file mode 100644 index 6e271318..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/on.params +++ /dev/null @@ -1 +0,0 @@ -*** cinit successfully started *** diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/quiet-kernel b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/quiet-kernel deleted file mode 120000 index 8da32e9b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/quiet-kernel +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/quiet-kernel \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/udev b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/udev deleted file mode 120000 index 9dfe9879..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/init/wants/udev +++ /dev/null @@ -1 +0,0 @@ -../../local-tuning/udev \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/README deleted file mode 100644 index d5190e7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/README +++ /dev/null @@ -1 +0,0 @@ -Load acpi drivers before we are started. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/acpi b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/acpi deleted file mode 120000 index 888ba93b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/acpi +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/drivers/acpi \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/proc b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/root b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on deleted file mode 120000 index 43369f77..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/acpid \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on.params deleted file mode 100644 index 105c5f3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/on.params +++ /dev/null @@ -1 +0,0 @@ --f diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/respawn b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/acpid/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/README deleted file mode 100644 index 628fab6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/README +++ /dev/null @@ -1,2 +0,0 @@ -Metalog is a smart syslogd replacement and it does not fork -normally. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/needs/root b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/on deleted file mode 120000 index 54fdda86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/metalog/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/metalog \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log deleted file mode 120000 index 515549d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/clean-dev-log +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-dev-log \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/root b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on deleted file mode 120000 index 099ec19b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/syslog-ng \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on.params deleted file mode 100644 index ee1f6c5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/on.params +++ /dev/null @@ -1 +0,0 @@ --F diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/respawn b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-services/syslog-ng/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/README deleted file mode 100644 index dd8ef91c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/README +++ /dev/null @@ -1,5 +0,0 @@ -Remove /dev/log from previous run, so syslog* (syslog-ng,metalog,syslogd) -can start. - -We're directly needed by the syslog variants, so if they are -not started, we are not started. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/needs/root b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/needs/root deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on deleted file mode 120000 index 3530dc46..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on +++ /dev/null @@ -1 +0,0 @@ -/bin/rm \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on.params deleted file mode 100644 index 6d8ffbb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-dev-log/on.params +++ /dev/null @@ -1,2 +0,0 @@ --f -/dev/log diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/README deleted file mode 100644 index 20ff9536..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/README +++ /dev/null @@ -1 +0,0 @@ -Remove the /etc/mtab, so it's in a clean state. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount deleted file mode 120000 index b46717bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/needs/root-mount +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on deleted file mode 120000 index 3530dc46..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on +++ /dev/null @@ -1 +0,0 @@ -/bin/rm \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on.params deleted file mode 100644 index fceff107..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/clean-mtab/on.params +++ /dev/null @@ -1,2 +0,0 @@ --f -/etc/mtab diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/README deleted file mode 100644 index fa12de87..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/README +++ /dev/null @@ -1 +0,0 @@ -Enable unicode on the Linux console. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/proc b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/udev b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/udev deleted file mode 120000 index 45ebbd7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/needs/udev +++ /dev/null @@ -1 +0,0 @@ -../../udev/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/off b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/off deleted file mode 120000 index d1b3dabc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/off +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/unicode_stop \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on deleted file mode 120000 index 1a8ea15c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/unicode_start \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on.env b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on.env deleted file mode 100644 index a7a61938..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/console-unicode/on.env +++ /dev/null @@ -1 +0,0 @@ -TERM=linux diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params deleted file mode 100644 index 6999c48d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/cpufreq_ondemand/on.params +++ /dev/null @@ -1 +0,0 @@ -cpufreq_ondemand diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand deleted file mode 120000 index 8d465d25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/cpufreq_ondemand +++ /dev/null @@ -1 +0,0 @@ -../cpufreq_ondemand \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino deleted file mode 120000 index 7a81f768..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/speedstep-centrino +++ /dev/null @@ -1 +0,0 @@ -../speedstep-centrino \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs deleted file mode 120000 index abdd5e9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/needs/sysfs +++ /dev/null @@ -1 +0,0 @@ -../../../mount/sysfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/on deleted file mode 100755 index 9ded0cc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/on +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params deleted file mode 100644 index b0daf284..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/cpufreq/speedstep-centrino/on.params +++ /dev/null @@ -1 +0,0 @@ -speedstep-centrino diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on.params deleted file mode 100644 index 9ccaeece..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/aes/on.params +++ /dev/null @@ -1 +0,0 @@ -aes diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params deleted file mode 100644 index d2a85215..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/crypto/dm_crypt/on.params +++ /dev/null @@ -1 +0,0 @@ -dm_crypt diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/README deleted file mode 100644 index a8b1c282..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi ac information. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params deleted file mode 100644 index a9eb3bbf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ac/on.params +++ /dev/null @@ -1 +0,0 @@ -ac diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/README deleted file mode 100644 index 448a4a0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi battery information. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params deleted file mode 100644 index 37ac71bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/battery/on.params +++ /dev/null @@ -1 +0,0 @@ -battery diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/README deleted file mode 100644 index bda85f4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi buttons. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params deleted file mode 100644 index ef3f216a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/button/on.params +++ /dev/null @@ -1 +0,0 @@ -button diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/README deleted file mode 100644 index d9ad05c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi fans. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params deleted file mode 100644 index 6de1f525..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/fan/on.params +++ /dev/null @@ -1 +0,0 @@ -fan diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README deleted file mode 100644 index ff0f6f4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/README +++ /dev/null @@ -1 +0,0 @@ -Extra functionality for my ibm t60. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params deleted file mode 100644 index 80916c68..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/ibm_acpi/on.params +++ /dev/null @@ -1 +0,0 @@ -ibm_acpi diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac deleted file mode 120000 index 4d2aefc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ac +++ /dev/null @@ -1 +0,0 @@ -../ac \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery deleted file mode 120000 index 990e6bcd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/battery +++ /dev/null @@ -1 +0,0 @@ -../battery \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/button b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/button deleted file mode 120000 index b99dcf7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/button +++ /dev/null @@ -1 +0,0 @@ -../button \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan deleted file mode 120000 index 7923f9b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/fan +++ /dev/null @@ -1 +0,0 @@ -../fan \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi deleted file mode 120000 index d32add47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/ibm_acpi +++ /dev/null @@ -1 +0,0 @@ -../ibm_acpi \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal deleted file mode 120000 index f2d6718c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/needs/thermal +++ /dev/null @@ -1 +0,0 @@ -../thermal \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README deleted file mode 100644 index da0b9c13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/README +++ /dev/null @@ -1 +0,0 @@ -Support for acpi thermal information: temperature and fans. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params deleted file mode 100644 index a175d50f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/acpi/thermal/on.params +++ /dev/null @@ -1 +0,0 @@ -thermal diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on deleted file mode 120000 index 722ec623..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/modprobe \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on.params deleted file mode 100644 index 9f318065..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/drivers/eth0/on.params +++ /dev/null @@ -1 +0,0 @@ -e1000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on deleted file mode 120000 index a5ce029b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on +++ /dev/null @@ -1 +0,0 @@ -/bin/loadkeys \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on.params deleted file mode 100644 index 1c96d177..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/keyboard/on.params +++ /dev/null @@ -1 +0,0 @@ -us diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on deleted file mode 120000 index 09bd56b7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on +++ /dev/null @@ -1 +0,0 @@ -/bin/dmesg \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on.params deleted file mode 100644 index d22a4869..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/quiet-kernel/on.params +++ /dev/null @@ -1 +0,0 @@ --n1 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/needs/proc b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/needs/proc deleted file mode 120000 index d9ee6dd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/needs/proc +++ /dev/null @@ -1 +0,0 @@ -../../../mount/proc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on deleted file mode 120000 index 1ecced27..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on +++ /dev/null @@ -1 +0,0 @@ -/etc/init.d/udev \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on.params deleted file mode 100644 index d44e18fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/local-tuning/udev/on.params +++ /dev/null @@ -1 +0,0 @@ -start diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/README deleted file mode 100644 index 7d699823..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/README +++ /dev/null @@ -1,3 +0,0 @@ -Need to load keyboard layout before trying to decrypt. -I also need dm_crypt and the aes module, as both are not -compiled into my kernel. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes deleted file mode 120000 index 15b8e7d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/aes +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/crypto/aes \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt deleted file mode 120000 index 9066e234..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/dm_crypt +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/crypto/dm_crypt \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard deleted file mode 120000 index 34376346..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/needs/keyboard +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/keyboard \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/on deleted file mode 100755 index a40f7a4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/luksopen/on +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -# read key until success -while true; do - cryptsetup luksOpen /dev/sda3 home && break -done diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen deleted file mode 120000 index f0585cf1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/needs/luksopen +++ /dev/null @@ -1 +0,0 @@ -../luksopen/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on.params deleted file mode 100644 index 05280cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/home.dm_crypt/on.params +++ /dev/null @@ -1 +0,0 @@ -/home diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/needs/clean-mtab b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/needs/clean-mtab deleted file mode 120000 index 0bea57c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/needs/clean-mtab +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-mtab \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on.params deleted file mode 100644 index 4c3fcfb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/proc/on.params +++ /dev/null @@ -1 +0,0 @@ -/proc diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/needs/udev b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/needs/udev deleted file mode 120000 index 3d36cb50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/needs/udev +++ /dev/null @@ -1 +0,0 @@ -../../../../local-tuning/udev/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on deleted file mode 100755 index ea236360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Wrapper for fsck that returns 1 on success... -# Nico Schottelius -# 2007-05-25 -# for cLinux/cinit - -fsck=/sbin/fsck -dev="$1" - -"$fsck" "$dev" - -# return of 1 == repaired successful -if [ $? -gt 1 ]; then - exit 1 -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.old b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.old deleted file mode 120000 index 2a85786a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.old +++ /dev/null @@ -1 +0,0 @@ -/sbin/fsck.jfs \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.params deleted file mode 100644 index 90020847..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/fsck/on.params +++ /dev/null @@ -1 +0,0 @@ -/dev/hda1 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/needs/fsck b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/needs/fsck deleted file mode 120000 index c2e5e63f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/needs/fsck +++ /dev/null @@ -1 +0,0 @@ -../fsck \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on.params deleted file mode 100644 index 6a052263..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/root/on.params +++ /dev/null @@ -1,4 +0,0 @@ --n --o -remount,rw -/ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/README b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/README deleted file mode 100644 index e01cb66a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/README +++ /dev/null @@ -1 +0,0 @@ -Udev needs us. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/needs/clean-mtab b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/needs/clean-mtab deleted file mode 120000 index 0bea57c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/needs/clean-mtab +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/clean-mtab \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on deleted file mode 120000 index fb886059..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on +++ /dev/null @@ -1 +0,0 @@ -/bin/mount \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on.params deleted file mode 100644 index a6b724ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/mount/sysfs/on.params +++ /dev/null @@ -1,4 +0,0 @@ -sysfs --t -sysfs -/sys diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/load-driver b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/load-driver deleted file mode 120000 index 2c9afe03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/load-driver +++ /dev/null @@ -1 +0,0 @@ -../../../local-tuning/drivers/eth0 \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/root b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/root deleted file mode 120000 index 68ea58e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/needs/root +++ /dev/null @@ -1 +0,0 @@ -../../../mount/root/ \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on deleted file mode 120000 index 639430c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/udhcpc \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on.params deleted file mode 100644 index 5f192cbc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/on.params +++ /dev/null @@ -1,4 +0,0 @@ --f --n --i -eth0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/respawn b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/eth0.dhcp/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on deleted file mode 120000 index 5779a119..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on +++ /dev/null @@ -1 +0,0 @@ -/bin/hostname \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on.params deleted file mode 100644 index 3614fe72..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/hostname/on.params +++ /dev/null @@ -1 +0,0 @@ -cinit-host diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on deleted file mode 120000 index e27843a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on +++ /dev/null @@ -1 +0,0 @@ -/sbin/ifconfig \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on.params deleted file mode 100644 index e58476c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/network/loopback/on.params +++ /dev/null @@ -1,3 +0,0 @@ -lo -127.0.0.1 -up diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on deleted file mode 120000 index cf9865a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on +++ /dev/null @@ -1 +0,0 @@ -/usr/sbin/sshd \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on.params b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on.params deleted file mode 100644 index eb11be00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/remote-services/sshd/on.params +++ /dev/null @@ -1 +0,0 @@ --D diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on deleted file mode 120000 index db1611f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on +++ /dev/null @@ -1 +0,0 @@ -/bin/sh \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on.env b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on.env deleted file mode 100644 index 54ba45f1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/on.env +++ /dev/null @@ -1,2 +0,0 @@ -TERM=linux -PATH=/sbin:/bin:/usr/sbin:/usr/bin diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/respawn b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/etc/cinit/svc/rescue-shell/respawn deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/rsync b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/rsync deleted file mode 100755 index f9649179..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/rsync +++ /dev/null @@ -1,2 +0,0 @@ -chmod a+r * -rsync -av ./ nico@home.schottelius.org:unix/cinit/samples/cinit-0.3/denkbrett/ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/rsync.local b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/rsync.local deleted file mode 100755 index d7ee374b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/rsync.local +++ /dev/null @@ -1,3 +0,0 @@ -DIR=~nico/projekte/cinit/configs/denkbrett/ -rsync -av ./ "$DIR" -chown nico "$DIR"/* diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 deleted file mode 100644 index 1b760767..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/test+conf-last-2007-02-23.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 deleted file mode 100644 index 61cf45c1..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre19/doc/examples/cinit-0.3/denkbrett/test-2007-02-23.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/man/cinit-conf.text b/software/cinit/browse_source/cinit-0.3pre19/doc/man/cinit-conf.text deleted file mode 100644 index 0e86ec25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/man/cinit-conf.text +++ /dev/null @@ -1,47 +0,0 @@ -cinit-conf - helps to configure cinit -===================================== -Nico Schottelius -0.0.1, Initial version written on 20080418 in the Bus to Gossau - -cinit-conf aims to be a suite to help to configure cinit and -migrate systems to cinit. - -Introduction ------------- -`cinit` is a fast init system with dependency features and -profile support. As `cinit` is not widely known and it is quite -different in its approach compared to traditional init systems, -the configuration is also quite different. - -To make life easier for people to migrate to and manage `cinit`, -this project was started. - -If you use `cinit-conf`, please send feedback to me using `report_success.sh`. - - -What can it do? -~~~~~~~~~~~~~~~ -.In its current state, `cinit-conf` can -- add getties on Linux (bin/cinit-conf.getty.add) -- find its configuration directory (bin/cinit-conf.get-confdir) - - -What should it can do? -~~~~~~~~~~~~~~~~~~~~~~ -Much more ;-) - -.Also known as features planned, but not implemented. -- Migrate complete installations -- Provide a big toolset to be used by humans and in scripts -- Make your life easier, because you are able to use `cinit` - - -Wherefore can I use it? -~~~~~~~~~~~~~~~~~~~~~~~ -Currenty only to add a getty, but more features will follow soon. - - -How to use ----------- -Execute ./bin/cinit-conf.getty.add. - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre19/doc/man/cinit.text deleted file mode 100644 index 19d0015a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/man/cmd.text b/software/cinit/browse_source/cinit-0.3pre19/doc/man/cmd.text deleted file mode 100644 index b834fabf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/man/cmd.text +++ /dev/null @@ -1,89 +0,0 @@ -cmd(8) -====== -Nico Schottelius - - -NAME ----- -cmd - cinit management and information tool - - -SYNOPSIS --------- -'cmd' [-ed (i|w|n)] [-(p|s) ] [-v] - - -DESCRIPTION ------------ -cmd adds the management possibility to cinit(8). You can retrieve -several information from cinit and change services. - -OPTIONS -------- --d:: - Disable service (see below for required parameters) - (NOT YET IMPLEMENTED) - --e:: - Enable service - - i: Included all needs and wants - - n: Exclude needs - - w: Exclude wants - (NOT YET IMPLEMENTED) - --p:: - Retrieve last process id (pid) for the specific service. For respawn - services this is the pid of the running service. For services that are - started only once it is the pid it had when running. - (NOT YET IMPLEMENTED) - --s:: - Retrieve status of a service. Warning: Do not add trailing slash. - Path can be specified absolute (/etc/cinit/svc/mount/root) or - relative (mount/root). - --v:: - Get version of cinit. - --V:: - Get version of cmd. - - - -EXAMPLES --------- -Get version:: - [8:44] denkbrett:src# cmd -v - - Version of cinit: 0.3pre12 - -Get status:: - [8:37] denkbrett:src# ./cmd -s mount/root - - Status of /etc/cinit/svc/mount/root is: 2001 - - -EXIT STATUS ------------ -Cmd returns 0 on success, 1 on user errors, 2 on communication errors and -3 on unknown reason errors. - -BUGS ----- -Not everything is implemented. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License Version 3 (GPLv3). diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre19/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/man/halt.kill.text b/software/cinit/browse_source/cinit-0.3pre19/doc/man/halt.kill.text deleted file mode 100644 index 4a31e257..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/man/halt.kill.text +++ /dev/null @@ -1,46 +0,0 @@ -halt.kill(8) -============ -Nico Schottelius - - -NAME ----- -halt.kill - Halts systems running cinit through a kill call - -SYNOPSIS --------- -'halt.kill' - - -DESCRIPTION ------------ -You normally halt your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to halt -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute halt.kill, your system will be halted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/man/poweroff.kill.text b/software/cinit/browse_source/cinit-0.3pre19/doc/man/poweroff.kill.text deleted file mode 100644 index 62807ba1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/man/poweroff.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -poweroff.kill(8) -================ -Nico Schottelius - - -NAME ----- -poweroff.kill - Halts and powers off systems running cinit through a kill call - -SYNOPSIS --------- -'poweroff.kill' - - -DESCRIPTION ------------ -You normally poweroff your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to poweroff -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute poweroff.kill, your system will be - powered off. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), reboot.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/man/reboot.kill.text b/software/cinit/browse_source/cinit-0.3pre19/doc/man/reboot.kill.text deleted file mode 100644 index a748553e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/man/reboot.kill.text +++ /dev/null @@ -1,47 +0,0 @@ -reboot.kill(8) -============== -Nico Schottelius - - -NAME ----- -reboot.kill - Reboots systems running cinit through a kill call - -SYNOPSIS --------- -'reboot.kill' - - -DESCRIPTION ------------ -You normally reboot your system through 'cmd'. If cmd is unavailable or -the IPC system has problem there is still the possibilty to reboot -it through a signal. See 'src/include/signals.h' for more details which -signals are used. - -OPTIONS -------- - -none:: - No options are used, If you execute reboot.kill, your system will be - rebooted. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - -SEE ALSO ---------- -cmd(8), halt.kill(8), poweroff.kill(8) - - -COPYING -------- -Copyright \(C) 2007 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.1 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.1 deleted file mode 100644 index d875ff2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.1 +++ /dev/null @@ -1,4 +0,0 @@ -- initial release: show the project -- add gpl3 header to all scripts in bin/ -- add README -- add some todos diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.1.1 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.1.1 deleted file mode 100644 index 34999cb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.1.1 +++ /dev/null @@ -1,6 +0,0 @@ -- make it possible to migrate a Debian Lenny -- continue rename cinit.* to cinit-conf.* - * migration from cinit-bin -- fixup inclusion -- add more helper scripts -- add report_success.sh diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.2 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.2 deleted file mode 100644 index 9b5c3496..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.2 +++ /dev/null @@ -1 +0,0 @@ -- make it possible to migrate a Debian (Lenny): basic (without everything, make it run) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.2.1 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.2.1 deleted file mode 100644 index 117995bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.2.1 +++ /dev/null @@ -1 +0,0 @@ -- add manpages diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.2.2 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.2.2 deleted file mode 100644 index d359b248..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.2.2 +++ /dev/null @@ -1,3 +0,0 @@ -- remove calls to dirname! - . "$(dirname $0)/cinit-conf.read-conf" - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3 deleted file mode 100644 index 4f27dd34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3 +++ /dev/null @@ -1 +0,0 @@ -- make bla_dir and bladir consistent diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre11 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre11 deleted file mode 100644 index ec532269..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre11 +++ /dev/null @@ -1,10 +0,0 @@ -Done: -- cleanup ipc: - merge cinit_ipc_logon() and cinit_ipc_connect()? - => already done! -- finish cmd in general, perhaps only including one command. -[18:51] denkbrett:src# LANG=C cp cinit /sbin/cinit -cp: cannot create regular file `/sbin/cinit': Text file busy - => mv & cp! - => documentation! - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre12 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre12 deleted file mode 100644 index edbe41d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre12 +++ /dev/null @@ -1,41 +0,0 @@ -Wished release date: 6/7. September - --------------------------------------------------------------------------------- -Done: -- begin to write documentation about client functions - => noone needs that anyway. skip and concentrate on functions now. - -cleanup ipc! - where to call !cinit_ipc_logon and !cinit_ipc_connect? - --------------------------------------------------------------------------------- -Add -Hallo, - -Liebster Nico, wuerdest du die dazu durchringen "make install" und -vllt. sogar "make install-test" in die cinit 0.3er branch aufnehmen? - -vlg Lucky - ==> added make install in previous releases, make test maybe come back - later again. -- cleanup communication: - put parts of comm.h into cinit.h => global exposure - or define new structure in cinit.h? - => removed comm.h -- check svc path in cmd: if it's relative, add /etc/cinit/svc to it - => added. -- add update for git => so cloning does not fail! - => added hook. -Use http://www.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html - => partly implemented - -- remove manual pid support, use the one supplied by msgctl() - => ok. -- there seems to be a race condition in the execution of the - dependency tree: it happens that services that depend on - mounted /proc, have needs on mount/proc are still exited - before /proc is mounted. - problem of cinit or of mount, exiting too early? - guess the first one, so fix it :-) - - => missing check in svc_needs_status.c diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre13 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre13 deleted file mode 100644 index ff8d4296..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre13 +++ /dev/null @@ -1,19 +0,0 @@ -Wished released date: 10./11. September - --------------------------------------------------------------------------------- -Done: -- add get_svc_pid() -- cleanup msgq.h: namespace! -- cleanup cmd: add real usage, add -h for help -- cleanup cinit_ipc_logon()! [already done before] -- cleanup headers: ==> not yet needed. - seems to make more sense, to have more than one exposed header. - cinit.h gets to fast too big. so splitoff to: - /* main */ - /* ... */ -- create libcinit.a/so and link against it => not need right now. -- pre12 seems to have an IPC problem: Fix it. ==> problem with not finishing cinit startup -- global symbol to track the connection to cinit in the client - => cinit_ipc_cinit() - initalise ipc in the client (only once) - => not really our problem, client should be able to remember - whether she called us once or twice. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre13.race-condition b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre13.race-condition deleted file mode 100644 index 19bea29a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre13.race-condition +++ /dev/null @@ -1,12 +0,0 @@ -09:49 < telmich> is it possible, that if I fork() and call _exit(0) in the child, that the - _exit(0) is executed earlier than the fork() call returns in the parent? -09:49 < telmich> I'm having some race condition in cinit, where the pid is not yet updated in - the service structure, and the child exited before and thus cinit does not - update the service -09:49 < telmich> as being run -09:51 < telmich> rexy_: currently I'm thinking about implementing a lock before starting the - fork() -09:51 < telmich> rexy_: thus cinit will react differently, if the starting function is still - running -09:51 < telmich> rexy_: but I'm somehow confused, that fork() allows such race condition - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre14 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre14 deleted file mode 100644 index e002d60c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre14 +++ /dev/null @@ -1,3 +0,0 @@ -Wished release date: 13. September -- add support for shutting down services - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre15 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre15 deleted file mode 100644 index 8f81446a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre15 +++ /dev/null @@ -1,62 +0,0 @@ -Wished release date: 20. September -- Add support for starting/stoping services via cmd - - add support for additional information (like which services stopped - when having dependencies) - - if cinit has to stop / start others, how to report? - - add strings to cinit internally to a buffer? - -> or struct cinit_answer + status - -- add support to enable services - -- create some boot profiles -- cinit.install.standard.dirs.argv -- code check: - * check needs: - really started, after started or after finished starting? - * wants: - are they checked? - -- fix devel/codingguideline.text! - -- perhaps merge svc_need_status to svc_status - -cinit-communication: - cinit_get_failed_needs(char *name, int *cnt); -- add support for shutting down services on halt -- cleanup msgq/cinit_ipc_listen.c -- move logic out of the child handler: - => use the new while()-loop in core/cinit.c! - - time() and co. are problematic in a child handler! - - introduce global list of services to execute - => perhaps reuse already existing dependency-list? - - tree_exec(): check whether adding something to the dep list hurts - => don't think so. - expand / change ipc handler: - make it return the message - move while() loop to core/cinit.c - - in the while loop, the global dependency list should - be empty. - - if it is not, we should start something. - - => chance cinit_ipc_listen() to use without while() loop - => export logic to core/cinit.c -- map status numbers to messages -- Cleanup doc/user/NEW_using_cinit_freebsd - => make a real document! -- write / update manpage for cmd! -- add sleep() support after service exited. - --------------------------------------------------------------------------------- -Done: -- add minimal test-suite: - cmd -s /etc/cinit/svc/init - cmd -p /etc/cinit/svc/init - cmd -v - cmd -V -- change to GPLv3? - => ask Markus (cinit), Killerfox (cconfig) and Peter (cconfig) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre16 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre16 deleted file mode 100644 index 16e6efb5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre16 +++ /dev/null @@ -1,9 +0,0 @@ -Wished release date: 27. September -- check porting code: - * advise users to set conf/os - * add uname -r | tr ... as make osconfig -- check that all parts of cinit compile at least under: - * linux, linux on 64bit - * FreeBSD - * NetBSD -- cleanup output diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre17 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre17 deleted file mode 100644 index 82976e37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre17 +++ /dev/null @@ -1,11 +0,0 @@ -Wished release date: 3. October - -"Code quality assurance release" - -- Fix bugs all outstanding bugs. -- Give cinit some time, write some documentation and make pre17 the last pre of the 0.3 - serie. -- Give the code out to other developers, request explicit strong critics - => So even - "This could be in theory, if Mars is behind Pluto on Sunday evening" bugs - are out. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre18 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre18 deleted file mode 100644 index d02aac8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre18 +++ /dev/null @@ -1,3 +0,0 @@ -- add support to manually set status of a service: - cmd -s respawn, failed, once, ... -- make get status = -g diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre19 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre19 deleted file mode 100644 index 2e4dfe15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.3pre19 +++ /dev/null @@ -1,4 +0,0 @@ -- enable fast shutdown: - - ignores services and jumps directly to conf/last -- enable ultrafast shutdown - - even skips conf/last diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.4 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.4 deleted file mode 100644 index 3b772d4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.4 +++ /dev/null @@ -1,44 +0,0 @@ --------------------------------------------------------------------------------- -Clean service status messages: - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s --------------------------------------------------------------------------------- -16:13 < KillerFox> telmich: hast du eigentlich schon hooks in cinit? -20:07 < KillerFox> Vapier fĂ¼hrt mal wieder Selbstgespräche. -23:39 < telmich> KillerFox: wozu? -23:42 < KillerFox> telmich: es wäre durchaus interessant, um z.B. sterbende Prozesse wieder zu - starten und so. -23:42 < KillerFox> oder einen Hinweis per Mail zu verschicken. -23:43 < telmich> ahh, du meinst so benachrichtigungen von cinit an $prozess? -23:43 < KillerFox> jein -23:43 < KillerFox> du machst z.B. /etc/cinit/hooks/ -23:43 < KillerFox> darin gibts dann Scripte die bei bestimmten Ereignise aufgerufen werden. -23:43 < KillerFox> z.B. wenn ein Prozess stirbt -23:44 < KillerFox> du kannst dir natĂ¼rlich auch Ă¼berlegen, es auf Prozessebene herunter zu - hacken -23:44 < telmich> ja, eher letzeres -23:44 < KillerFox> so könnte man auch ein paar nette Sachen machen. z.B. Aufräumarbeiten - nachdem ein Prozess beendet wurde oder so -23:45 < KillerFox> telmich: ich finde beides Sinnvoller -23:45 < KillerFox> telmich: globale und lokale Hooks -23:45 < KillerFox> lokale Ă¼berschreiben globale oder so -23:45 < telmich> oder laufen beide -23:45 < KillerFox> oder man kaskadiert sie. -23:45 < KillerFox> genau -23:46 < KillerFox> sinnvolle hooks: pre-start, start, post-start, pre-stop, stop, post-stop, - crash -23:46 < KillerFox> oder sowas -23:47 < KillerFox> vielleicht fallen dir noch mehr ein. -23:48 < KillerFox> die Kommunikation könnte man dann wahlweise Ă¼ber Parameter oder - Umgebungsvariablen lösen -23:48 < KillerFox> um z.B. mitzuteilen welcher Prozess gestoppt wurde -23:49 < KillerFox> z.B. wenn man in pre-stop je nach Bedingung den Stop-Vorgang abbrechen will. -23:49 < telmich> via ${ipc} => kommt darauf an, was implementiert ist; zZ ist es ja msgq -23:50 < telmich> ahh, so -23:50 < telmich> das waere noch recht trivial ueber pipes -23:50 < KillerFox> fifos/sockets, was auch immer. -23:50 < KillerFox> das mĂ¼sste man dann mit einer Bibliothek lösen oder so -23:50 < telmich> ja, die ist auch im aufbau in libcinit/ - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.4.1 b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.4.1 deleted file mode 100644 index b0d7685d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/0.4.1 +++ /dev/null @@ -1,2 +0,0 @@ -- Generate automatic asciidoc from conf/* - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/long_list b/software/cinit/browse_source/cinit-0.3pre19/doc/todo/long_list deleted file mode 100644 index ec11f18d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/todo/long_list +++ /dev/null @@ -1,21 +0,0 @@ -Code ----- - -Performance -~~~~~~~~~~~ - -- Perhaps replace malloc for path with static buffer? - -Compatibility -~~~~~~~~~~~~~ -- create migration scripts - -Usage -~~~~~ -- Aid in debugging cinit-configuration (check without reboot) -- Integrate into OS package system - -Other -~~~~~ -- add log support to shm -- Check and clean doc/: Remove *TODO*+ROADMAP and leave behin doc/TODO (or ditz) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre19/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre19/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/configuring.cinit.text deleted file mode 100644 index 8e45937d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/configuring.cinit.text +++ /dev/null @@ -1,337 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -Less is more ------------- -In contrast to a lot of other init system configurations, the -cinit configuration is not a "catch all", but more a "minimalistic" -configuration: I don't think it's wise to include support for -exotic configurations and a lot of if/else combinations in an init -system configuration. These if/else should be solved at the configuration -time, *not* everytime at boot! - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - -The cinit configuration consists of -- a special configuration directory -- and the service definitions. - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - -Conf ----- -The special configuration directory is normally called `conf/` -(defined at compile-time in `conf/c_confdir`). - -For all executables into this directory apply the same rules as mentioned -below in "Execution: on and off": Appened .params specifies parameters, -appended .env specifies environment. - - -conf/last -~~~~~~~~~ -This is the last part that will be executed. After it has finished, cinit -will halt, power-off or reboot your machine. - -You can use it for whatever task to accomplish (as most things of cinit), but -the idea behind it is to use it for cleaning up things that are not covered -by the off parts of the services. This maybe swapoff (although this is an unecessary -call before poweroff, imho and even if needed this could be handled within the -off part of the same services that enabled it) or `umount -a` for everything -manually mounted and not unmounted yet. - - -conf/sleep_before_kill -~~~~~~~~~~~~~~~~~~~~~~ -This file contains just one line: The number of seconds to sleep after SIGTERM was sent -to every remaining process before sending SIGKILL to all processes. If this file -is unreadable or not existent, cinit will fall back to the value compiled in -(which was specified at build time in conf/sleep_kill). - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start). - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - - -Debugging the configuration ----------------------------- -Use `ls -lR /etc/cinit` or one of the tools found in contrib+tools/. - - -Examples --------- -Currently there are some example configurations available -at http://unix.schottelius.org/cinit/samples/cinit-0.3/, sorted -by host on which they are created. - -In near future, there will also be a file name configuration.example.text, -which will lead you to a sample configuration. - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/daemons.backgrounding.text deleted file mode 100644 index 5b61b91d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- dnsmasq [dhcp/tfpt/dns]: -k -- dovecot [imap/pop3 server]: -F -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- freeradius [radiusd]: -f -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openpbx [pbx]: -f -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre19/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/freebsd.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/freebsd.text deleted file mode 100644 index 05499166..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/freebsd.text +++ /dev/null @@ -1,21 +0,0 @@ -11:33 < mux> from sys/kern/init_main.c: -11:33 < telmich> mux: that's true; I just tried with linux and I tell the - bootloader, who tells the kernel then -11:33 < mux> static char init_path[MAXPATHLEN] = -11:33 < mux> #ifdef INIT_PATH __XSTRING(INIT_PATH); -11:33 < mux> #else -"/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall"; -11:33 < mux> #endif -11:33 < mux> but you give a loader tunable -11:34 < mux> if ((var = getenv("init_path")) != NULL) { -11:34 < mux> strlcpy(init_path, var, sizeof(init_path)); -11:34 < mux> freeenv(var); -11:34 < mux> } -11:34 < mux> here you are -11:34 < telmich> ahh, that's good -11:34 * telmich has to try cinit on freebsd the next days :-) -12:34 < mux> (s/you give/you can give/) -11:35 < mux> so, simply init_path)="/sbin/cinit" in /boot/loader.conf should do - it -11:35 < mux> minus the typo - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre19/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre19/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/problems-and-solutions.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/problems-and-solutions.text deleted file mode 100644 index 92cdd241..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/problems-and-solutions.text +++ /dev/null @@ -1,33 +0,0 @@ -cinit - Problems occured and solutions used -=========================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2007-05-28 -:Author Initials: NS - -This documentes describes real problems people had with -cinit and their appropriate solutions. Feel free to add -your problems and solutions here. - - -Introduction ------------- - - -Adding problems and solutions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Simply add your problem and solution and sign your paragraph -with your name. Then send the diff -u to the cinit mailinglist -or setup a git-repository so I can pull the changes. - - -Hibernate ---------- -uses /sbin/runlevel, which should *not* respond with 0 or 6 -as the second number. As cinit does not have /sbin/runlevel, -because cinit does not have any runlevels, you could hardcode -it to values hibernate accepts: - ----------------------------------------------------------------------- -#!/bin/sh -echo N 2 ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/problems.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/problems.text deleted file mode 100644 index 4fe8a315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/problems.text +++ /dev/null @@ -1,114 +0,0 @@ -Problems using cinit -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-24 -:Author Initials: NS - - -Using a high-speed, true dependency aware, profile supporting -logical acting and reliable init system like cinit is not -completly problem free. This document describes some common -problems you may have and their solutions. - - -Possible problems ------------------ - -Confused users -~~~~~~~~~~~~~~ -Compared to traditional init systems like sys-v-init or bsd-init -cinit introduces a complet new boot concept. This does not just -mean that you have services instead of shell-scripts (which is -one reason cinit is starting up faster), but also that the boot -order may be changed dynamically at bootup:, if a service fails. -And even if no service fails, the boot order may be different -on each boot, because processes are started in parallel and -may return earlier or later on each boot. To coordinate the -parallel running processes, cinit uses depencies, which are pretty -easy to understad when configurung, but may need some more -detailled watching at boot to understand it. - -The 'confused users'-problem is perhaps also the biggest -problem for introducing cinit as a replacement to current -init systems. - - -Configuration issues -~~~~~~~~~~~~~~~~~~~~ - -Not marking services as respawn -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When cinit starts, it will wait for every service to exit. -So if you have a dependency on a service -that never exits, the whole init process may hang (dependending -on the dependencies). If you have services that are intendet -*not* to exit after start, you *have* to mark those with -`respawn`: Those services are started and watched by cinit -and will be restarted. This was a design choice to ensure -that all 'always running' processes *are* restarted. - -I did not find any service that should not exit and not -have a respawn flag. If you really really really have such -a service and you can prove to me that the respawn flag -would do harm to your system, I will think about implementing -a flag that tells cinit not to wait for it, but mark it -as successfully run after it has been started. - -User interaction -~~~~~~~~~~~~~~~~ - -User input -~~~~~~~~~~ -There may be the situation that you have to press a key -or enter some data when a service starts up (like entering -the password for your crypto harddisks). With cinit, this -will look like a mess, because other services may write to -the same console the service wrote a user prompt. - -The best solution for this problem is in my humble -opinion to create an user-input daemon that serialises -the requests and displays one after another. - -This could look like this: Your daemon wants to ask for -a passphrase for the SSL-certificate. You add aa needs -to this daemon to the 'input-daemon'. When you -start this service, it will contact the input-daemon -running on another virtual console and displaying a text -and an input field that is passed back to this service. -After that the input daemon changes back to the initial -console or asks for the next input, if there is another -request available. - -This input daemon may also be run on a graphical (X11) display. -. -Output to the user -~~~~~~~~~~~~~~~~~~ -When cinit starts up there may be many messages printed -out that also may look like printed random order. -To prevent your endusers from being confused you can create -some kind of graphical interface (like a framebuffer -or X11 display) that reads the output of cinit and converts -it to flashing images. It could look like this: - ----------------------------------------------------------------------- - - Your (graphical?) display: - -------------------------------------------------------------- - | /-----------------\ | - | | Red border, | | - | | failed to start | | - | \-----------------/ | - | | - | /------ | - | | Green border, | - | image van | - | | - | | - | | - | | - | | - | | - -------------------------------------------------------------- - - ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre19/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/respawning-sleep.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/respawning-sleep.text deleted file mode 100644 index 24ed17e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/respawning-sleep.text +++ /dev/null @@ -1,52 +0,0 @@ -cinit - Respawning and sleeping -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-13 -:Author Initials: NS - - -How cinit sleeps, before a service is respawned. - -Introduction ------------- -When a service, that is configured to be respawning, exits cinit restarts it. -Because services may be broken and thus cinit would try to restart it many -times in a second, it is necessary to sleep between restarts. - -The big question: How to sleep? ------------------------------------- -The first possibility is to sleep a fixed amount of time between restarts: -For instance one second. This is not a good solution, because this waits -one unecessary second if the process just crashed. It may be too less, if -the service is really broken. - -The second possibility is to sleep a dynamic amount of time. - - -The next big question: How long to sleep? ------------------------------------------ -I think that as long as a service is broken we should not investigate to much -time into restarting it. So we can define a maximum amount of time to sleep -(for instance 30 seconds). The minimum amount of time to sleep is zero seconds. - -When the service is first started, the sleep time defaults to the minimum -amount of time. Each time the service is restarted, the sleep time is adjusted: - -sleep time (st) = Maximum sleep time (mst) / Time the process was running (tr) - -- If tr is < 1 it is adjusted to 1 and thus st is set to mst. -- If tr is > mst, st is set to 0. - - -How to force restart of a service? ----------------------------------- -Use cvsc (to be implemented). - - -Hom is it implemented? ----------------------- -Everytime cinit has to respawn a service it has to fork() itself. -The sleep call is implemented in the fork, so cinit itself does not have -to care about it. After the sleep time is over or the fork() recieves -SIGALARM it executes the real service. cinit itself records as start time -the current time plus sleep time. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre19/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre19/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre19/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre19/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre19/libexec/cinit-conf/dialog-alias.sh b/software/cinit/browse_source/cinit-0.3pre19/libexec/cinit-conf/dialog-alias.sh deleted file mode 100644 index 89813726..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/libexec/cinit-conf/dialog-alias.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# the cLinux project -# Created: 2004-12-25 -# Last-Modified: -# choose the correct dialog version - -if [ -z "$DISPLAY" ]; then - alias dialog="dialog --shadow --backtitle \"$full_version\"" -else - alias dialog="Xdialog --backtitle \"$full_version\"" -fi diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/README b/software/cinit/browse_source/cinit-0.3pre19/scripts/README deleted file mode 100644 index 95afabe2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/README +++ /dev/null @@ -1,3 +0,0 @@ -Scripts for internal use. - -Users: Use bin/ for usable helper programs. diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/build/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre19/scripts/build/cinit.configure.ipc deleted file mode 100755 index b8154ba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/build/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/build/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre19/scripts/build/cinit.configure.mark deleted file mode 100755 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/build/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/build/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre19/scripts/build/cinit.configure.os deleted file mode 100755 index ece6f53c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/build/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/build/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre19/scripts/build/cinit.configure.tools deleted file mode 100755 index 39c2f00d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/build/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../../tmpbin/ -CC=$(head -n 1 "$HIER/../../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../../conf/cflags") -LD=$(head -n 1 "$HIER/../../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/README b/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/README deleted file mode 100644 index 64c0d174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/README +++ /dev/null @@ -1 +0,0 @@ -Scripts used to generate or aid in creating a configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/freebsd/create_services.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/freebsd/create_services.sh deleted file mode 100644 index 52e123a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/freebsd/create_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to create from stdin -# Create services (add correct dependencies) -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/freebsd/enable_services.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/freebsd/enable_services.sh deleted file mode 100644 index ce4563a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/freebsd/enable_services.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Reads list of services to enabled from stdin -# Services must already exist -# -# Options: -# -d: alternate destination directory (instead of /etc/cinit/svc) diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/freebsd/search_enabled_services.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/freebsd/search_enabled_services.sh deleted file mode 100644 index 69e519b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/freebsd/search_enabled_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search for enabled services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/freebsd/search_services.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/freebsd/search_services.sh deleted file mode 100644 index 2043e857..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/configuration/freebsd/search_services.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-05-21 -# -# Task: -# Search all services: -# - /etc/rc.conf -# - /usr/local/etc/rc.d/ -# Output list of all services to stdout -# -# Options: -# -r diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/README b/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/README deleted file mode 100644 index c0e8b95b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/README +++ /dev/null @@ -1 +0,0 @@ -Scripts that should move to bin/ as soon as they are ready to be used. diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit-conf.migrate.sysvinit.debian b/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit-conf.migrate.sysvinit.debian deleted file mode 100755 index 0fdcb5f1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit-conf.migrate.sysvinit.debian +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. -# -- She's not my girlfriend anymore, but now I want to test cinit-0.3pre15 on -# my notebook - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit-conf.read-conf - -if [ -d "${CINIT_DIR}" ]; then - echo "ERROR: Configuration directory exists already at ${CINIT_DIR}." - exit 1 -fi - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -: ${ROOT_DEV:=$(awk '$2 ~ /^\/$/ { print $1 }' ${DESTDIR}/etc/fstab)} -: ${ROOT_FSCK:=$(awk '$2 ~ /^\/$/ { print $6 }' ${DESTDIR}/etc/fstab)} -: ${ROOT_FS:=$(awk '$2 ~ /^\/$/ { print $3 }' ${DESTDIR}/etc/fstab)} -: ${HOSTNAME:=$(hostname)} - - -echo "***> Configuration" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -#echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -set -x -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit-conf.install.dirs.base -$(dirname $0)/cinit-conf.install.dirs.svc-categories -$(dirname $0)/cinit-conf.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit-conf.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit-conf.install.service.linux.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit-conf.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV (\$ROOT_FSCK is not 1 in fstab)..." -fi - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit-conf.install.service.linux.hostname "$HOSTNAME" - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit-conf.getty.add - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit-conf.add.dependency getty wants getty/$i -done - -exit 0 -# FIXME: Stopped here - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit-conf.migrate.sysvinit.debian.sid b/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit-conf.migrate.sysvinit.debian.sid deleted file mode 100755 index c0945edb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit-conf.migrate.sysvinit.debian.sid +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. -# -- She's not my girlfriend anymore, but now I want to test cinit-0.3pre15 on -# my notebook - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit-conf.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit-conf.miniconf.linux b/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit-conf.miniconf.linux deleted file mode 100755 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit-conf.miniconf.linux +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit-conf.miniconf.linux.todo b/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit-conf.miniconf.linux.todo deleted file mode 100644 index 953c06e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit-conf.miniconf.linux.todo +++ /dev/null @@ -1,4 +0,0 @@ -Make it work with a system. - -Same aim as cinit.install.test, but different approach: -This script tries to build the config dynamically. diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit.install.test deleted file mode 100755 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit.install.test.todo b/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit.install.test.todo deleted file mode 100644 index 8e48d55e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/cinit.install.test.todo +++ /dev/null @@ -1 +0,0 @@ -See ditz: portability-1 diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/migrate-linux-debian-lenny.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/migrate-linux-debian-lenny.sh deleted file mode 100755 index 8f3185e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/future-bin/migrate-linux-debian-lenny.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# 2008 Nico Schottelius (nico-cinit-conf at schottelius.org) -# -# This file is part of cinit-conf. -# -# cinit-conf is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit-conf is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit-conf. If not, see . -# - -bd="${0%/*}" -export bd - -echo "Trying to configure cinit for your Debian Linux" - -# migrate /etc/fstab to mounts - -"$bd/linux/sys-v-init/migrate-fstab.sh" - -# migrate / create 6 getties - -# migrate network - -# migrate services diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/cinit.release b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/cinit.release deleted file mode 100755 index 3cf7d778..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/cinit.release +++ /dev/null @@ -1,91 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: ls -l - -################################################################################ -# standard vars stolen from cconf -__pwd="$(pwd -P)" -__mydir="${0%/*}"; __abs_mydir="$(cd "$__mydir" && pwd -P)" -__myname=${0##*/}; __abs_myname="$__abs_mydir/$__myname" - - - -if [ $# -ne 1 ]; then - echo "This is a maintainer-only script to release cinit" - echo "${__myname}: version" - exit 1 -fi - -# paths -D_BASE="/home/users/nico/privat/rechner/netz/seiten/www.nico.schottelius.org/src/software/cinit" -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ - -# versions to check -VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')" -VERSION_ARGV="$1" -VERSION_GIT="$(git describe)" -VERSION_README=$(grep -q "$VERSION_ARGV" README && echo $VERSION_ARGV) - -echo "=> Version commandline: $VERSION_ARGV" -echo "=> Version conf/version: $VERSION_CONF" -echo "=> Version git: $VERSION_GIT" -echo "=> Version README: $VERSION_README" - -if [ "$VERSION_ARGV" = "$VERSION_CONF" -a "$VERSION_ARGV" = "$VERSION_GIT" ]; then - echo "=> Version confirmed." -else - echo "*** VERSION MISMATCH ***" - exit 42 -fi - -# Finally, accept the right version -VERSION="$VERSION_GIT" -NAME="cinit-${VERSION}" -TARNAME="cinit-${VERSION}.tar.bz2" -TARPATH="$D_DIR/$TARNAME" - -echo -n "=> Continue to release $NAME? " -read yes - -git archive $VERSION --prefix="${NAME}/" --output="${TARPATH}" -( cd "$D_SOURCE" && tar xvf "$TARPATH" ) -cp README "${D_BASE}.mdwn" - -echo "Please do not forget to update the website..." - -################################################################################ -# Unused, but interesting - -# make sure the examples are not executed anymore -exit 0 - -# match cinit-$version as directory name -VERSION_DIR="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')" - -# grep version string from CHANGES file (often used, obsoleted here) -VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):.*/\1/')" - -# Correct umask 077 results -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$RDIR\" \"$LINK\"" - -# Create archive -echo "Creating bzip2 compressed tar" -cd $DDIR -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$RDIR" -chmod 0644 "$OUT_NAME" - -# Transfer to a remote host -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" - -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" - - - diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/compile+run.sh deleted file mode 100755 index 30ec68a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/compile+run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -if [ ! "$1" ]; then - echo "HOSTNAME" - exit 23 -fi - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$host" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/compile_local.sh deleted file mode 100755 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/compile_run_as_compiler.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/compile_run_as_compiler.sh deleted file mode 100755 index f1ba01d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/compile_run_as_compiler.sh +++ /dev/null @@ -1,14 +0,0 @@ -what=$(dirname $0)/../../ -what_real=$(cd "$what" && pwd -P) -dest=~compiler/cinit-test - -set -e -sudo rsync -av "${what_real}/" "$dest" -sudo chown -R compiler "$dest" -sudo -u compiler "${dest}/scripts/internal/compile_local.sh" -sudo -u compiler "${dest}/src/cinit" & -sleep 13 -sudo -u compiler "${dest}/scripts/internal/stop_cinit.sh" - -# exit 0 for make -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/compile_test.sh deleted file mode 100755 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/create_test_config.sh deleted file mode 100755 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/find_right_version.sh deleted file mode 100755 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/indent_script b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/indent_script deleted file mode 100755 index 5e1a8b0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/indent_script +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-linux at schottelius.org) -# indents like kr with a little bit more beauty look -# 13-May-2004 -# written for the monotone project, adapted for all my projects -# -# Copying: GPLv3 - -if [ $# -lt 1 ]; then - echo "$0: " - exit 1 -fi - -opts="" -opts="${opts} -bap" # --blank-lines-after-procedures -opts="${opts} -bbb" # --blank-lines-before-block-comments -opts="${opts} -bad" # --blank-lines-after-declarations -opts="${opts} -bbo" # --break-before-boolean-operator -opts="${opts} -br" # --braces-on-if-line -opts="${opts} -brs" # --braces-on-struct-decl-line -opts="${opts} -cdb" # --comment-delimiters-on-blank-lines -opts="${opts} -cbi0" # --case-brace-indentation -opts="${opts} -cdw" # --cuddle-do-while -opts="${opts} -ce" # --cuddle-else, see -br -opts="${opts} -ci0" # --continuation-indentation (see -lp) -opts="${opts} -cli3" # --case-indentation -opts="${opts} -cp33" # --else-endif-columnn -opts="${opts} -cs" # --space-after-cast -opts="${opts} -d0" # --line-comments-indentationn -opts="${opts} -di0" # --declaration-indentation -opts="${opts} -fca" # --format-all-comments -opts="${opts} -hnl" # --honour-newlines -opts="${opts} -i3" # --indent-level -opts="${opts} -ip0" # --parameter-indentation -opts="${opts} -l80" # --line-length -opts="${opts} -lc80" # --line-length -opts="${opts} -lp" # --continue-at-parentheses -opts="${opts} -lps" # --leave-preprocessor-space -opts="${opts} -nbc" # --no-blank-lines-after-commas -opts="${opts} -nbfda" # --dont-break-function-decl-args -opts="${opts} -nbfde" # NOT --break-function-decl-args -opts="${opts} -nfc1" # --dont-format-first-column-comments -opts="${opts} -npcs" # --no-space-after-function-call-names -opts="${opts} -nprs" # --no-space-after-parentheses -opts="${opts} -npsl" # --dont-break-procedure-type -opts="${opts} -nsaf" # --no-space-after-for -opts="${opts} -nsai" # --no-space-after-if -opts="${opts} -nsaw" # --no-space-after-while -opts="${opts} -npsl" # --dont-break-procedure-type -opts="${opts} -nut" # --no-tabs -opts="${opts} -nv" # --no-verbosity -opts="${opts} -npro" # --ignore-profile -opts="${opts} -pi0" # --paren-indentationn -opts="${opts} -ppi3" # preprocessor indent -opts="${opts} -sbi0" # --struct-brace-indentation -opts="${opts} -sc" # --start-left-side-of-comments -opts="${opts} -sob" # --swallow-optional-blank-lines -opts="${opts} -ss" # --space-special-semicolon - - - -for file in "$@"; do - indent $opts "$file" -done - # old: -# -ad \ -# -ts3 -nut -sc -ce -cdw -cli0 -nbc lp -ppi3 -di1 -c33 -cd33 -ncdb -ci3 -cp33 -cs -d0 -di0 -l75 -nfc1 -nfca -hnl -ip0 -nprs -saf -sai -saw -nsob -nss -npsl "$file" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/old/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/old/cdoc-man.sh deleted file mode 100755 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/old/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/qemu-test.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/qemu-test.sh deleted file mode 100755 index fd41312e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/qemu-test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-03: For testing cinit in qemu -# - -emud="${HOME}/emu" -img="${emud}/debian-hd.img" -ddir="${emud}/mount" -loop=/dev/loop1 -fsck="/sbin/fsck.jfs" - -# my jfs is on the first partition, 512*63 bytes offset -offset="32256" - -set -e -set -x -sudo losetup -o "${offset}" "${loop}" "${img}" -sudo "${fsck}" "${loop}" -sudo mount "${loop}" "${ddir}" - -sudo umount "${loop}" -sudo losetup -d "${loop}" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/stop_cinit.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/stop_cinit.sh deleted file mode 100755 index 86e4d82b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/stop_cinit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Linux specific, but don't care, I am the only person that should use it - -killall -TERM cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/test-cmd.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/test-cmd.sh deleted file mode 100755 index dbfc5c73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/test-cmd.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2007-09-27: Test cmd -# - - -echo "Testing cmd..." -sudo /sbin/cmd -s /etc/cinit/svc/init -sudo /sbin/cmd -p /etc/cinit/svc/init -sudo /sbin/cmd -v -sudo /sbin/cmd -V diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/test/cinit-conf.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/test/cinit-conf.sh deleted file mode 100755 index 0e29816e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/test/cinit-conf.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: 2005-08-08 -# cinit-conf - -LIBEXEC=$(dirname $0)/../libexec/cinit-conf/ - -. ${LIBEXEC}/dialog-alias.sh - -dialog --calendar "Test" 0 0 18 12 1982 -dialog --checklist "Checktest" 0 0 0 item1 on item2 off item3 on -dialog --infobox "Infotext" 0 0 -dialog --inputbox "inputbox" 0 0 "vorgegebener text" -dialog --menu "menu" 0 0 0 tag1 item1 tag2 item2 bla blub -dialog --infobox "Infotext" 0 0 -dialog --msgbox "Infotext" 0 0 -dialog --radiolist "Infotext" 0 0 0 tag1 item1 on tag2 item2 off -dialog --textbox ~/.bashrc 0 0 -dialog --yesno "Ja oder nein?" 0 0 - -dialog --gauge "Checktest" 0 0 10 - -#dialog --inputmenu "Infotext" 0 0 0 tag1 item1 tag2 item2 bla blub diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/test/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/test/cinit.uml.test deleted file mode 100755 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/test/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/test_on_hosts.sh deleted file mode 100755 index afeb2627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net jiffies.forkbomb.ch ddna044.netstream.ch" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/valgrind deleted file mode 100755 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre19/scripts/report.compile deleted file mode 100755 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/README b/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/README deleted file mode 100644 index 653e9875..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/README +++ /dev/null @@ -1,2 +0,0 @@ -Directory to keep scripts related to controlling vms, -which are used for testing cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/qemu-start.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/qemu-start.sh deleted file mode 100755 index ac863a20..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/qemu-start.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -ROOT=$(dirname $0)/../root/Debian-3.0r0.ext2 - -qemu -hda "$ROOT" "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-dir-start-plain.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-dir-start-plain.sh deleted file mode 100755 index 41b1b218..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-dir-start-plain.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start an image with its standard init -# - -ROOT="$1"; shift - -linux root=/dev/root rootflags="$ROOT" rootfstype=hostfs "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-img-start-cinit.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-img-start-cinit.sh deleted file mode 100755 index 8a147d6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-img-start-cinit.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start an image with cinit as init -# - -ROOT="$1"; shift - -linux "ubd0=$ROOT" init=/sbin/cinit "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-img-start-plain.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-img-start-plain.sh deleted file mode 100755 index 311eaf13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-img-start-plain.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# 2009 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. -# -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . -# -# -# Start an image with its standard init -# - -ROOT="$1"; shift - -linux "ubd0=$ROOT" "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-mount.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-mount.sh deleted file mode 100755 index bd52286a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-mount.sh +++ /dev/null @@ -1,3 +0,0 @@ -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl,sync diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-shell.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-shell.sh deleted file mode 100755 index e1776af2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-shell.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -ROOT=$(dirname $0)/Debian-3.0r0.ext2 - -linux ubd0=$ROOT init=/bin/sh "$@" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-umount.sh b/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-umount.sh deleted file mode 100755 index 70453e35..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/vm/uml-umount.sh +++ /dev/null @@ -1,3 +0,0 @@ -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo umount "$DDIR" diff --git a/software/cinit/browse_source/cinit-0.3pre19/scripts/wrapper/linux-sysvinit/shutdown b/software/cinit/browse_source/cinit-0.3pre19/scripts/wrapper/linux-sysvinit/shutdown deleted file mode 100755 index b8cf3837..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/scripts/wrapper/linux-sysvinit/shutdown +++ /dev/null @@ -1,207 +0,0 @@ -#!/bin/sh -# Nico Schottelius (nico-cinit /at/ schottelius.org) -# 2007-05-21 -# Behave as being shutdown from Linux' sysvinit - -# Always needed variables / functions -_0_short=${0##*/} -_o_seperator=":" -_oecho_seperator=":" -_eecho_seperator=">" - -# ok-exit/echo -_oecho() -{ - echo "${_0_short}${_oecho_seperator}" "$@" -} - -_oexit() -{ - _oecho "$@" - exit 0 -} - -# error-exit/echo -_eecho() -{ - echo "${_0_short}${_oecho_seperator}" "$@" >&2 -} - -_eexit() -{ - _eecho "$@" - exit 1 -} - -# Program specific variables - -time_t=0 # -t sec -warn_only_k=0 # -k -reboot_r=0 # -r -halt_h=0 # -h -poweroff_P=0 # -P -cancel_c=0 # -c -time=-1 # [time] -message="" # [warning-message] -cmd="" # what to execute internally -pidfile="/var/run/cinit.shutdown" -pid="" -runs="" - -version="0.1" -version_date="2007-10-30" - -message_intro="The system is going down for" -message_reboot="reboot" -message_halt="halt" -message_poweroff="poweroff" - -# unimplemented: -a, -H, -f, -F -# deprecated and thus not implemented: -n - -# traping signals -trap_signals() -{ - _oexit "Aborted shutdown" -} - -# all the functions - -usage() -{ - -cat << cinit_usage - -*** cinit linux-sysvinit shutdown wrapper (Version ${version} ${version_date}) *** - -Usage shutdown [-akrhHPfnc] [-t secs] time [warning message] - -a: use /etc/shutdown.allow - -k: don't really shutdown, only warn. - -r: reboot after shutdown. - -h: halt after shutdown. - -P: halt action is to turn off power. - -H: halt action is to just halt. - -f: do a 'fast' reboot (skip fsck). - -F: Force fsck on reboot. - -n: do not go through "init" but go down real fast. - -c: cancel a running shutdown. - -t secs: delay between warning and kill signal. - ** the "time" argument is mandatory! (try "now") ** - -You can also call "cinit.{halt|reboot|poweroff}" directly -(instead of using this wrapper). - -cinit_usage - -exit 0 - -} - -warn() -{ - ( echo ""; echo "$@"; echo "" ) | wall - ( echo ""; echo "$@"; echo "" ) -} - -if [ "$#" -lt 1 ]; then - usage -fi - -# getopt! -while [ "$#" -ge 1 ]; do - arg="$1"; shift - - case "${arg}" in - -a|-F|-f|-n) - _oexit "Sorry, ${arg} is not implemented." - ;; - -t) - if [ "$#" -lt 1 ]; then - _eexit "-t needs the time argument" - fi - time_t="$1"; shift - ;; - -k) - warn_only_k=1 - cmd=true - ;; - -r) - reboot_r=1 - cmd=cinit.reboot - message_what="${message_reboot}" - ;; - -h|-H) - halt_h=1 - cmd=cinit.halt - message_what="${message_halt}" - ;; - -P) - poweroff_P=1 - cmd=cinit.poweroff - message_what="${message_poweroff}" - ;; - -c) - cancel_c=1 - ;; - *) - # time unset? - if [ "${time}" = -1 ]; then - time="${arg}" - [ "${time}" = "now" ] && time=0 - elif [ -z "${message}" ]; then - message="${arg}" - else - _eexit "Already specified time and message" - fi - ;; - esac -done - -if [ -f "${pidfile}" ]; then - pid=$(cat "${pidfile}") - runs=$(kill -CONT "${pid}" >/dev/null 2>&1 && echo yes) -fi - -# do cancel or abort or locking -if [ "${cancel_c}" -eq 1 ]; then - if [ "${runs}" ]; then - kill -TERM "${pid}" - _oexit "Terminated running shutdown at \"${pid}\"." - else - _eexit "Cannot abort shutdown, not running." - fi -fi - -if [ -z "${time}" ]; then - usage -fi - -if [ -z "${cmd}" ]; then - _eexit "You need to specify one of -h, -P, -H, -r." -fi - -# add lock -if [ "${pid}" ]; then - if [ "${runs}" ]; then - _eexit "Shutdown already running." - else - _oecho "Overwriting stale pidfile" - fi -fi -echo $$ > "${pidfile}" - -if [ "${message}" ]; then - warn "${message}" -fi - -# signals to abort on -trap trap_signals INT HUP TERM - -while [ "${time}" -gt 0 ]; do - warn "${message_intro} ${message_what} in ${time} minute(s)." - sleep 60 - time=$((${time}-1)) -done - -warn "${message_intro} ${message_what} now." -"${cmd}" diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/Makefile b/software/cinit/browse_source/cinit-0.3pre19/src/Makefile deleted file mode 100644 index d540017e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/Makefile +++ /dev/null @@ -1,196 +0,0 @@ -# -# 2008 Nico Schottelius (nico-cinit at schottelius.org) -# -# This file is part of cinit. - -# cinit is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# cinit is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with cinit. If not, see . - -# -# Don't edit Makefiles, use conf/* for configuration. -# - -################################################################################ -# -# Build tools / locations -# - -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin -DESTDIR= -#DESTDIR=/home/user/nico/emu/dst - -################################################################################ -# -# All objects / binaries -# depend on headers. More or less. FIXME: use gcc -M -# - -# double check cinit.* before installing and rename before! -#BIN=cinit.halt cinit.poweroff cinit.reboot cmd -BIN=cmd -CINIT=cinit -ALLBIN=${BIN} ${CINIT} - -# headers -CONFIG_H=include/config.h -CINIT_HEADERS=${shell cat include/listing} - -# objects -CINIT_OBJ=${shell cat object_lists/cinit} -HALTKILL_OBJ=${shell cat object_lists/halt.kill} -POWEROFFKILL_OBJ=${shell cat object_lists/poweroff.kill} -REBOOTKILL_OBJ=${shell cat object_lists/reboot.kill} -CMD_OBJ=${shell cat object_lists/cmd} - -# -# All objects -# -OBJ=${CINIT_OBJ} ${HALTKILL_OBJ} ${POWEROFFKILL_OBJ} ${REBOOTKILL_OBJ} - -################################################################################ -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: ${ALLBIN} - - -################################################################################ -# -# Generic -# -${OBJ}: ${CINIT_HEADERS} - -%.o: %.c - ${CC} -c -o $@ $< - -################################################################################ -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../scripts/build/cinit.configure.os - @../scripts/build/cinit.configure.tools - @../scripts/build/cinit.configure.ipc - @../scripts/build/cinit.configure.mark - -${CINIT_OBJ}: ${CONFIG_H} - -${CONFIG_H}: ../conf/* - ../bin/cinit-conf.dump.as.c.header> ${CONFIG_H} - -################################################################################ -# -# Install targets -# - -#install: install-dir cinit cservice ccontrol -install: install-cinit install-utilities - -install-sbin: - install -d ${DESTDIR}/sbin - -install-utilities: install-sbin ${BIN} - @echo '*** Installing utilities ***' - install ${BIN} ${DESTDIR}/sbin - -install-cinit: install-sbin cinit - @echo '*** Installing cinit ***' - @echo "Need to delete cinit before reinstalling it {text file busy problem}" - rm -f ${DESTDIR}/sbin/cinit - install cinit ${DESTDIR}/sbin - -PATH_INIT=/sbin/init -PATH_SHUTDOWN=/sbin/reboot -PATH_REBOOT=/sbin/reboot -install-links: install-utilities install-cinit - [ -e "${DESTDIR}${PATH_INIT}" ] || ln -s /sbin/cinit "${DESTDIR}${PATH_INIT}" - [ -e "${DESTDIR}${PATH_SHUTDOWN}" ] || ln -s /sbin/cinit "${DESTDIR}${PATH_SHUTDOWN}" - [ -e "${DESTDIR}${PATH_REBOOT}" ] || ln -s /sbin/cinit "${DESTDIR}${PATH_REBOOT}" - -# FIXME: target broken -install-miniconf: - ./bin/cinit.install.miniconf - -# FIXME: target broken -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# - -cinit: ${CINIT_OBJ} - ${LD} $^ -o $@ - -cinit.halt: ${HALTKILL_OBJ} - ${LD} $^ -o $@ - -cinit.poweroff: ${POWEROFFKILL_OBJ} - ${LD} $^ -o $@ - -cinit.reboot: ${REBOOTKILL_OBJ} - ${LD} $^ -o $@ - -cmd: ${CMD_OBJ} - ${LD} $^ -o $@ - -################################################################################ -# -# Internal test targets -# - -uml: cinit cmd - ../../vm/uml/uml-mount.sh - cp cinit cmd ../../vm/uml/root/sbin/ - ../../vm/uml/uml-umount.sh - -umlstart: uml - ../../vm/uml/uml-start.sh - -SDIR=size -SNOW=$(shell date +%Y-%m-%d-%H%M%S) -sizecheck: cinit - ls -l cinit > $(SDIR)/$(SNOW) - cat $(SDIR)/$(SNOW) - git add $(SDIR)/$(SNOW) - git commit -m "Size: $$(awk '{ print $$5 }' $(SDIR)/$(SNOW))" - - -################################################################################ -# -# Clenaup targets -# - -.PHONY: clean -.PHONY: dist -.PHONY: distclean - -dist: distclean - -distclean: clean - rm -f os/current ipc/current .configured - -clean: - rm -f ../tmpbin/*.configured - rm -f ${BIN} ${CINIT_OBJ} ${CINIT} - find . -name \*.o -exec rm {} \; diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre19/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/README b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/README deleted file mode 100644 index f66e0ddb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/README +++ /dev/null @@ -1,4 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/STOPPED b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/STOPPED deleted file mode 100644 index a0013ca6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/STOPPED +++ /dev/null @@ -1,12 +0,0 @@ -0. Definition Nachrichten -0.1 Definition returncodes und co... - - -1. execute_sth: finish, so we can use it for panic - -2. MSGQ: - beidseitig implemenntieren - ipc header integrieren - Dokumentieren - - conf/* von msgq saeubern diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/charp_to_flag.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/charp_to_flag.c deleted file mode 100644 index ae4321a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/charp_to_flag.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Convert char pointer to uint32_t flag - * - */ - -#include /* strchr */ -#include /* NULL */ - -#include "cinit.h" /* cinit */ - -uint32_t charp_to_flag(char *str) -{ - uint32_t ret = 0; - - if(str != NULL) { - if(strchr(str, CINIT_CMD_SVC_WANTS) != NULL) - ret |= CINIT_QSN_SVC_WANTS; - if(strchr(str, CINIT_CMD_SVC_NEEDS) != NULL) - ret |= CINIT_QSN_SVC_NEEDS; - } - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/cinit_get_svc_status.c01 b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/cinit_get_svc_status.c01 deleted file mode 100644 index cdc9d8c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/cinit_get_svc_status.c01 +++ /dev/null @@ -1,54 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Retrieves status of a service - */ - - -#include /* malloc */ -#include /* str* */ -#include /* integers */ - -#include "cinit.h" /* header for clients */ - -/* returns either the status (>0) - * or -1 on memory error - */ -int32_t cinit_get_svc_status(char *name) -{ - /* fixme: s32 int! */ - int tmp; - int32_t res; - char *p, *answer; - int offset = 0, len = strlen(name); - - p = malloc(len + 2 * sizeof(tmp)); - if(!p) return -1; - - /* code */ - tmp = CINIT_MSG_GET_STATUS; - strncpy(p,(char *) &tmp, sizeof(tmp)); - offset += sizeof(tmp); - - /* length */ - strncpy(&p[offset],(char *) &len, sizeof(len)); - offset += sizeof(len); - - /* data */ - strncpy(p, (char *) name, len); - - answer = cinit_send_to(p,len); - - if(answer) { - strncpy((char *) &res, answer, sizeof(res)); - free(answer); - } else { - res = -1; - } - - free(name); - return res; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/comm.h b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/comm.h deleted file mode 100644 index 4fbe8c50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/comm.h +++ /dev/null @@ -1,81 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ -#include /* pid_t */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_MIN='A', /* minimum command number */ - CMD_SVC_START, /* the client wants US to start a service */ - CMD_SVC_START_ONLY, /* start this service without dependencies */ - CMD_SVC_START_NEEDS, /* start this service, needs, but no wants */ - CMD_SVC_STOP, /* stop svc and all svcs that need it */ - CMD_SVC_STOP_ONLY, /* we should stop _only_ this service */ - CMD_SVC_STOP_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ /* FIXME: NEEDED? */ - CMD_RESCUE, /* we should start the rescue mode */ /* UNIMPLEMENTED */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ /* UNIMPLEMENTED */ - CMD_INFO, /* send information about that service */ /* UNIMPLEMENTED */ - CMD_MAX , /* maximum command number */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * client issues a command: start_command - */ -struct s_cmd { - char cmd; - pid_t pid; -}; - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/cservice.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/do_change_status.c deleted file mode 100644 index 58c0bbf0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/do_change_status.c +++ /dev/null @@ -1,72 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t * pid, int sock2, - int action) -{ - int tmp; - - ssize_t(*fpoint) (int, void *, size_t); - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - tmp = strlen(svc); - } - - if(fpoint(sock2, &tmp, sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2, svc, tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2, status, sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2, pid, sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/do_reboot.c.orig b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/do_reboot.c.orig deleted file mode 100644 index 9c4c8331..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/do_reboot.c.orig +++ /dev/null @@ -1,144 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" -#include "os.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - struct listitem *tmp; - struct timespec ts; - char **cmd; - int i; - - /* Let's disappear, we don't care about clients anymore */ - close(sock); - /********* first SIGTERM the respawning processes **********/ - tmp = list->before; - do { - /* kill service watcher, which will kill processes itself */ - if( tmp->status == ST_RESPAWN) { - kill(tmp->pid,SIGTERM); - } - tmp = tmp->before; - } while( tmp != list ); - - /********* now wait for the respawn watchers to return *****/ - tmp = list->before; - do { - if( tmp->status == ST_RESPAWN) { - /* wait until the respawn watcher terminated */ - waitpid(tmp->pid,&i,0); - } - - /* execute shutdown service FIXME: parallelize that?*/ - exec_svc(tmp->abs_path,CMD_STOP_SVC); - tmp = tmp->before; - } while( tmp != list ); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - perror(MSG_TERMKILL); - } - - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - perror(MSG_KILLBILL); - } - D_PRINTF("SIGKILL GESENDET"); - -/* THIS IS FUCKING UNCLEAN AND SHOULD BE CLEANED UP VERY MUCH!!! */ -#define CMD_CNT 4 - -#define UMOUNT_CMD "/bin/umount" -#define UMOUNT_ARG1 "-arfd" - -#define MOUNT_CMD "/bin/mount" -#define MOUNT_ARG1 "-o" -#define MOUNT_ARG2 "remount,ro" -#define MOUNT_ARG3 "/" - -#define RESCUE_CMD "/bin/sh" - - /* now: we are completley alone. umount everything, go to bed */ - cmd = (char **) malloc( (CMD_CNT+1) * ( sizeof (char*) ) ); - if(cmd) { - /* /bin/umount -a */ - cmd[0] = UMOUNT_CMD; - cmd[1] = UMOUNT_ARG1; - cmd[2] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - - /* /bin/mount -o remount,ro / */ - cmd[0] = MOUNT_CMD; - cmd[1] = MOUNT_ARG1; - cmd[2] = MOUNT_ARG2; - cmd[3] = MOUNT_ARG3; - cmd[4] = NULL; - - i = fork(); - if(i == 0) { - execv(cmd[0],cmd); - _exit(1); /* if exec fails in child */ - } - } else { - _exit(1); - } - - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - case SIGUSR2: /* rescue - destroy ourself */ - LOG(MSG_RESCUE); - cmd[0] = RESCUE_CMD; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - case SIGCONT: /* update */ - LOG(MSG_UPDATE); - cmd[0] = CINIT_BIN; - cmd[1] = NULL; - execv(cmd[0],cmd); - panic(); - break; - } - - /* do not exit, Linux does that for us */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/do_result.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/do_result.c deleted file mode 100644 index d302e4df..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/do_result.c +++ /dev/null @@ -1,35 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t(*fpoint) (int, void *, size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - } - - if(fpoint(nsock, value, 1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} - -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/do_svc_name.c deleted file mode 100644 index b56523d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/do_svc_name.c +++ /dev/null @@ -1,59 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - - ssize_t(*fpoint) (int, void *, size_t); - - /* - * set pointers - */ - if(action == ACT_CLIENT) { - fpoint = (ssize_t(*)(int, void *, size_t)) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* - * read / write lenght - */ - if(fpoint(sock2, &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* - * write/read service name - */ - if(fpoint(sock2, svc, tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/exec_svc.c deleted file mode 100644 index 35e71ba4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/exec_svc.c +++ /dev/null @@ -1,298 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if(cpid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid, &tmp, 0); - if(WIFEXITED(tmp)) { - if(!WEXITSTATUS(tmp)) { - return cpid; - } - } - SERVICE_LOG(abspath, LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ON); - } else { - strcat(pathtmp, C_OFF); - } - - /* - * readlink retrieves real name, if it is a symlink - */ - if((tmp = readlink(pathtmp, pathtmp, PATH_MAX)) == -1) { - - /* - * nothing there? fine, exit - */ - if(errno == ENOENT) { - _exit(0); - } else if(errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* - * restore original name, file is not a link - */ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ON); - } else { - strcat(pathtmp, C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* - * add '\0', readlink forgets it - */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; neither - * readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc(sizeof(char *)); - if(nargv == NULL) - _exit(1); - - *nargv = (char *) malloc(tmp); - if(*nargv == NULL) - _exit(1); - - strcpy(*nargv, pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ONARG); - } else { - strcat(pathtmp, C_OFFARG); - } - - /* - * open params file - */ - if(!stat(pathtmp, &buf)) { - fd = open(pathtmp, O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* - * fill sbuf with content - */ - while((tmp = read(fd, pathtmp, PATH_MAX)) != 0) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf, argc + tmp + 1); - strncpy(&sbuf[argc], pathtmp, tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* - * The idea is to reuse the allocated memory. We'll simply * replace the \n - * with \0 and set a char* to it. * We'll lose the last byte (the initial - * \0), but we * don't care, as we die some seconds later with execv() * oh, - * we'll only lose it, if the file is terminated by \n - */ - - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* - * set to the beginning - */ - nargv[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - } else { - /* - * set to the end of sbuf, not to the \0, but one before - */ - p = sbuf + (strlen(sbuf) - 1); - } - - /* - * if next byte is 0, the end of string is found - */ - if(*(p + 1) == '\0') { - sbuf = NULL; - } else { - sbuf = p + 1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp, C_ONENV); - } else { - strcat(pathtmp, C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if(!stat(pathtmp, &buf)) { - fd = open(pathtmp, O_RDONLY); - - /* - * file exists, failing to open it is an error - */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while((tmp = read(fd, pathtmp, PATH_MAX)) != 0) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf, argc + tmp + 1); - strncpy(&sbuf[argc], pathtmp, tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - } else { - /* - * set to the end of sbuf, not to the \0, but one before - */ - p = sbuf + (strlen(sbuf) - 1); - } - - if(*(p + 1) == '\0') { - sbuf = NULL; - } else { - sbuf = p + 1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0], nargv, nenv); - - /* - * we should never reach this block - */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* - * FIXME: remove debug, remove double printing without loosing info - */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/main.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/main.c deleted file mode 100644 index 9016eac1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/main.c +++ /dev/null @@ -1,106 +0,0 @@ - -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * main.c - * main part of cinit - */ - -#include /* ftok */ -#include /* msgget */ -#include /* perror */ -#include /* exit */ - -#include "cinit.h" - -/* global variables */ -struct listitem *list; -pid_t cpid; - -/*********************************************************************** - * the main procedure - */ - -int main(int argc, char **argv) -{ - char *initdir; - key_t msg_key; - int msq_id; - - initdir = CINIT_INIT; /* default init dir */ - list = NULL; /* list of services is empty currently */ - cpid = getpid(); /* no comment */ - - if(cpid != 1) { - usage(CINIT_VERSION, MSG_USAGE); - } - - /* - * set signal handlers - */ - set_signals(ACT_SERV); - - /* - * read arguments, profile support - */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc - 1], strlen(PROFILE))) { - initdir = (char *) malloc(strlen(CINIT_DIR) + - strlen(&argv[argc - 1][strlen(PROFILE)]) + - 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_DIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc - 1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* - * tell the world we are there FIXME: do we really need three calls? - */ - mini_printf(MSG_BOOTING, 1); - mini_printf(initdir, 1); - mini_printf("\n", 1); - - if(chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /* - * create message queues - */ - - /* - * start init or profile - */ - run_init_svc(initdir); - - /* - * free, if we malloc()ed before - */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* - * wait until we recieved the signal to create the socket - */ - - /* - * our life is polling a socket - */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if((plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/msg_change_status.c deleted file mode 100644 index 40a46946..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/msg_change_status.c +++ /dev/null @@ -1,30 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc, &status, &pid, sock, ACT_CLIENT)) { - return 0; - } - if(!do_result(sock, NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/msg_svc_on_off.c deleted file mode 100644 index 350d41fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/msg_svc_on_off.c +++ /dev/null @@ -1,26 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) - return RT_ERR_COMM; - if(!do_svc_name(sock, svc, ACT_CLIENT)) - return RT_ERR_COMM; - return (int) do_result(sock, NULL); -} - -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/pipes b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/pipes deleted file mode 100644 index 581b1274..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/pipes +++ /dev/null @@ -1,17 +0,0 @@ - /* create pipes */ - if(pipe(pfd) == -1) { - perror(MSG_ERR_PIPE); - panic(); - } - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } - diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/respawn_svc.c deleted file mode 100644 index d52984be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/respawn_svc.c +++ /dev/null @@ -1,114 +0,0 @@ - -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX + 1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* - * if we read anything, our child succeded - */ - if(read(pipefd[0], &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM, &sa, NULL); /* term = kill respawing process */ - /* - * sigterm handler should kill first our watching pid, reset the pid to 0 - * and then we'll kill ourselves - */ - - tmp = 1; - if(write(pipefd[1], &tmp, sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* - * try to read delay into sock - */ - strcpy(delay, abspath); - strcat(delay, SLASH); - strcat(delay, C_DELAY); - - /* - * reuse sock to specify delay - */ - sock = -1; - tmp = open(delay, O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp, &delay[0], PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* - * exec_svc will set cpid accordingly - */ - if(!exec_svc(abspath, CMD_START_SVC)) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* - * FIXME: put most code of sig_terminate here, look for no_kill - */ - - /* - * start off task - */ - exec_svc(abspath, CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/run_init_svc.c deleted file mode 100644 index 2cc30262..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/run_init_svc.c +++ /dev/null @@ -1,57 +0,0 @@ - -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* - * leave cinit alone - */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* - * FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully - * anyway */ - } - /* - * parent exits, we don't care about our children - */ - return 1; -} - -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/run_init_svc2.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/run_init_svc2.c deleted file mode 100644 index 338b1a11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/run_init_svc2.c +++ /dev/null @@ -1,58 +0,0 @@ - -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) -{ - rpath = "test"; - return 0; -} /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* - * leave cinit alone - */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) - _exit(1); - - /* - * FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully - * anyway */ - } - /* - * parent exits, we don't care about our children - */ - return 1; -} - -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/run_run_svcs.c deleted file mode 100644 index b12cbb54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/run_run_svcs.c +++ /dev/null @@ -1,95 +0,0 @@ - -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX + 1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* - * if there is no such dir, we are finished - */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while((tdirent = readdir(d_tmp)) != NULL) { - /* - * ignore . and .. and everything with a . at the beginning - */ - if(*(tdirent->d_name) == '.') - continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf, abspath); - strcat(pathbuf, SLASH); - strcat(pathbuf, tdirent->d_name); - if(run_svc(pathbuf)) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* - * wait for pids - */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* - * if anything failed, we failed - */ - if(!WIFEXITED(status)) { - ret = 0; - } else { - if(WEXITSTATUS(status)) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/run_svc.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/run_svc.c deleted file mode 100644 index 194c981f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/run_svc.c +++ /dev/null @@ -1,144 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* - * save current working dir - */ - if(!(int) getcwd(pathtmp, PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* - * change to rpath - */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* - * get absolute name of rpath - */ - if(!(int) getcwd(abspath, PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* - * change back - */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath, CMD_START_SVC); /* check status */ - - switch (tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts, NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN, 1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_NEEDS); - - /* - * check for needs - */ - if(stat(pathtmp, &buf) == 0) { - if(!run_run_svcs(pathtmp)) { - SERVICE_LOG(abspath, LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_WANTS); - - if(stat(pathtmp, &buf) == 0) { - run_run_svcs(pathtmp); /* don't care about what happens with the want - * svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp, abspath); - strcat(pathtmp, SLASH); - strcat(pathtmp, C_RESPAWN); - - if(stat(pathtmp, &buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid)) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} - -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/set_signals.c01 b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/set_signals.c01 deleted file mode 100644 index ff35a78a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/set_signals.c01 +++ /dev/null @@ -1,40 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -#include -#include -#include "cinit.h" - -void set_signals(int action) -{ - struct sigaction sa; - - D_PRINTF("Signale setzen"); - - if(action == ACT_SERV) { - sa.sa_handler=SIG_IGN; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGINT,&sa,NULL); /* ignore ctr+c and ctr+alt+del */ - - /* what todo when a child exited, cleaning dead processes */ - if(action == ACT_SERV) { - sa.sa_handler=sig_child; -// SA_NOCLDSTOP - } - sigaction(SIGCHLD,&sa,NULL); - - /* signal handlers to do special things with: reboot */ - if(action == ACT_SERV) { - sa.sa_handler=sig_reboot; - } - sigaction(SIGUSR1,&sa,NULL); /* halt */ - sigaction(SIGUSR2,&sa,NULL); /* rescue */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGHUP,&sa,NULL); /* reboot */ - -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/sig_terminate.c deleted file mode 100644 index bc7171fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/sig_terminate.c +++ /dev/null @@ -1,73 +0,0 @@ - -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* - * FIXME: only send SIGTERM, if not_kill does not exist - */ - if(kill(cpid, SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* - * variabel delay - */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* - * if it still exists... - */ - if(kill(cpid, 0) != -1) { - /* - * kill if there is a delay - */ - if(sock != 0) { - nanosleep(&ts, NULL); - status = kill(cpid, SIGKILL); - if(status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* - * remove zombie if killed, if delay is zero wait for it - */ - waitpid(cpid, &status, 0); - - /* - * reset the watching pid to zero (NOT THE WATCHER's!) - */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/test-signal.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/test-signal.c deleted file mode 100644 index a081fb76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/test-signal.c +++ /dev/null @@ -1,56 +0,0 @@ - -/* test case for glibc */ - -#include -#include /* sigaction, sigemtpyset */ -#include -#include -#include -#include -#include - -void sig_child(int tmp) -{ - struct timeval tv; - pid_t pid; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - gettimeofday(&tv, NULL); - printf("sighandler: %d\n", tv.tv_sec); - } -} - -int main() -{ - struct sigaction sa; - struct timeval tv; - struct timespec ts; - pid_t pid; - - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - - sigaction(SIGCHLD, &sa, NULL); - - while(1) { - pid = fork(); - - /* - * child - */ - if(!pid) { - ts.tv_sec = 2; - nanosleep(&ts, NULL); - gettimeofday(&tv, NULL); - - printf("child: %d\n", tv.tv_sec); - return 0; - } - - ts.tv_nsec = 100000; - nanosleep(&ts, NULL); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/unused-coded/cinit_read_from.c b/software/cinit/browse_source/cinit-0.3pre19/src/ancient/unused-coded/cinit_read_from.c deleted file mode 100644 index 54499be3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ancient/unused-coded/cinit_read_from.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read data from cinit to the client - */ - - -#include "ipc.h" /* IPC */ - -/* gets a bunch of bytes and returns the answer from cinit */ -int cinit_read_from(char **dest, int len) -{ - if(!cinit_ipc_logon()) return NULL; - if(!cinit_ipc_connect()) return NULL; - - /* FIXME: add length to ipc function? */ - if(!cinit_ipc_csend(data)) return NULL; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/client/cmd.c b/software/cinit/browse_source/cinit-0.3pre19/src/client/cmd.c deleted file mode 100644 index d85e417c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/client/cmd.c +++ /dev/null @@ -1,259 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * cmd - the cinit client program - sends commands to cinit - * - */ - -#include /* getopt */ -#include /* signals */ -#include /* printf() */ -#include /* free() */ -#include /* strncmp */ - -#include /* integers */ -#include /* PATH_MAX */ - -#include "cmd.h" /* own header */ -#include "signals.h" /* which signal */ -#include "svc.h" /* service related */ -#include "intern.h" /* print_errno() */ - -#include "cinit.h" /* cinit external */ - -#define C_USAGE(error) usage(USAGE_TEXT,error) -#define MSG_IPC_ERROR "An IPC error occured while connecting to cinit. " \ - "Is cinit running?\n" -#define MSG_UNKNOWN_SVC "Unknown service: %s\n" -#define MSG_UNKNOWN_RET "Unknown return code: %d\n" - -enum { - NOTHING, - ENABLE, - DISABLE, - PID, - STATUS -} whattodo; - -/*********************************************************************** - * cmd: main - */ -int main(int argc, char **argv) -{ - char buf[CINIT_DATA_LEN]; - char *flag = NULL; - int opt; - int what = NOTHING; - uint32_t ret; - uint32_t (*fp)(char *, uint32_t); /* to select enable or disable */ - - - union { - uint32_t status; - pid_t pid; - } u; - - /* - * -d w(ants) excluded) - * -e n(eeds excluded) - * -d i(nclude everything) - */ - - /* check for - * d|e: - * check for flags - * p|s: - * continue with service - * h|v|V: print and exit - */ - while((opt = getopt(argc, argv, CMD_OPTIONS)) != -1) { - switch (opt) { - - /******************************************** - * Non-continuing parameters - */ - - /******************************************** - * help - */ - case 'h': - printf(CMD_USAGE); - return 0; - break; - - /********************************************/ - case 'v': /* get version of cinit */ - ret = cinit_get_version(buf); - switch (ret) { - case CINIT_ASW_OK: - printf("Version of cinit: %s\n", buf); - return 0; - break; - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - return what; - break; - - /********************************************/ - case 'V': /* version */ - printf("Version of cmd: %s\n", CMD_VERSION); - return 0; - break; - - /********************************************/ - /* - * Continuing parameters - */ - - /********************************************/ - case 'e': /* enable service */ - what = ENABLE; - flag = optarg; - break; - - case 'd': /* disable service */ - what = DISABLE; - flag = optarg; - break; - - /********************************************/ - case 'p': /* get pid */ - what = PID; - break; - - /********************************************/ - case 's': /* get status */ - what = STATUS; - break; - - /********************************************/ - - default: - fprintf(stderr, - "Sorry, I did not understand what you want. Try -h, please.\n"); - return 1; - break; - } - } - - if(what == NOTHING) { - fprintf(stderr, - "That is not much you request from me. Try -h for help.\n"); - return 1; - } - - if(!path_absolute(argv[optind], buf, CINIT_DATA_LEN)) - return 1; - - fp = NULL; - switch (what) { - case ENABLE: - fp = cinit_svc_enable; - case DISABLE: - if(!fp) fp = cinit_svc_disable; - - u.status |= cinit_flag_to_uint32_t(flag); - - ret = fp(buf, u.status); - - switch (ret) { - case CINIT_ASW_OK: - printf("Set status of %s.\n", buf); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf(MSG_UNKNOWN_SVC, buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - - case PID: - ret = cinit_svc_get_pid(buf, &(u.pid)); - switch (ret) { - case CINIT_ASW_OK: - printf("PID of %s: %d\n", buf, u.pid); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf(MSG_UNKNOWN_SVC, buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - - case STATUS: - ret = cinit_svc_get_status(buf, &(u.status)); - switch (ret) { - case CINIT_ASW_OK: - printf("Status of %s is: %d\n", buf, u.status); - what = 0; - break; - - case CINIT_ASW_SVC_UNKNOWN: - printf("Unknown service: %s\n", buf); - what = 1; - break; - - case CINIT_ASW_IPC_ERROR: - fprintf(stderr, MSG_IPC_ERROR); - what = 2; - break; - - default: /* should not happen */ - printf(MSG_UNKNOWN_RET, ret); - what = 3; - break; - } - break; - } - - return what; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/client/halt.kill.c b/software/cinit/browse_source/cinit-0.3pre19/src/client/halt.kill.c deleted file mode 100644 index eeb4c53a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/client/halt.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Halt the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_HALT) == -1) { - print_errno(MSG_HALT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/client/poweroff.kill.c b/software/cinit/browse_source/cinit-0.3pre19/src/client/poweroff.kill.c deleted file mode 100644 index 7066fedc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/client/poweroff.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_POWEROFF) == -1) { - print_errno(MSG_POWEROFF_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/client/reboot.kill.c b/software/cinit/browse_source/cinit-0.3pre19/src/client/reboot.kill.c deleted file mode 100644 index 4592b379..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/client/reboot.kill.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Reboot the system through a kill call - */ - -#include /* kill() */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno() */ -#include "signals.h" /* signals mapping */ - -int main() -{ - if(kill(1, SIG_CINIT_REBOOT) == -1) { - print_errno(MSG_REBOOT_KILL); - return 1; - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/comm/README b/software/cinit/browse_source/cinit-0.3pre19/src/comm/README deleted file mode 100644 index b43969f2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/comm/README +++ /dev/null @@ -1,22 +0,0 @@ -This directory contains the server (aka cinit) part of the communication process. - -All the communication functions do not depend on the underlying -inter process communication mechanism. Use the following functions: - - - send_command(): client function: sends a command to cinit - - send_service(): client function: send the service name to operate on - - - read_command(): server function: reads beginning of a command - * Extracts the command - * reads client identification (=pid) - * calls other functions, depending on the command send => switch() - - read_service(): server function: reads service - - - write_answer(): server function: answer? - * sends answers to clients => senseful? - - - TODO: - - define information function, that returns various information about - a service - diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_svc_disable.c b/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_svc_disable.c deleted file mode 100644 index 94258487..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_svc_disable.c +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * disables a service - * - */ - -#include "svc-intern.h" /* list_search */ -#include "cinit.h" /* structure: cinit_answer */ - - -/** - * Returns the answer to the disable request to the client. - */ -int answer_svc_disable(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = svc_disable(tmp); - asr->opt = 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_svc_pid.c b/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_svc_pid.c deleted file mode 100644 index 2fdf11c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_svc_pid.c +++ /dev/null @@ -1,42 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * return pid of service - * - */ - -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_pid(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = CINIT_ASW_OK; - asr->opt = tmp->pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_svc_status.c b/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_svc_status.c deleted file mode 100644 index 99d0adf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_svc_status.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * returns status of service - * - */ - -#include /* strncpy */ -#include "svc-intern.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_status(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - asr->ret = CINIT_ASW_OK; - asr->opt = tmp->status; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_svc_stop.c b/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_svc_stop.c deleted file mode 100644 index 73d32f8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_svc_stop.c +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Disable a service (with or without dependencies) - * - */ - -#include "cinit.h" /* structure: cinit_answer */ - -int answer_svc_stop(char *svc, struct cinit_answer *asr) -{ - struct listitem *tmp; - - tmp = list_search(svc); - if(!tmp) { - asr->ret = CINIT_ASW_SVC_UNKNOWN; - } else { - if(tmp->status & (CINIT_ST_RESPAWNING | CINIT_ST_ONCE_RUN)) { - asr->ret = svc_disable(tmp); - } else { /* not running, nothing todo */ - asr->ret = CINIT_ASW_OK; - } - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_version.c b/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_version.c deleted file mode 100644 index e57cf552..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/comm/answer_version.c +++ /dev/null @@ -1,35 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * return version of cinit - * - */ - -#include "config.h" /* VERSION */ -#include "cinit.h" /* structure: cinit_answer */ - -int answer_version(struct cinit_answer *asr) -{ - asr->ret = CINIT_ASW_OK; - cinit_cp_data(asr->data, VERSION); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/comm/cinit_append_data.c b/software/cinit/browse_source/cinit-0.3pre19/src/comm/cinit_append_data.c deleted file mode 100644 index 46c8a3e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/comm/cinit_append_data.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Append data to the existing field - * - */ - -#include /* strncpy */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -void cinit_append_data(char data[], char *src) -{ - strncat(data, src, CINIT_DATA_LEN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/comm/cinit_cp_data.c b/software/cinit/browse_source/cinit-0.3pre19/src/comm/cinit_cp_data.c deleted file mode 100644 index dd107ea8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/comm/cinit_cp_data.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * fill the data field of qsn and asn - * - */ - -#include /* strncpy */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -void cinit_cp_data(char data[], char *src) -{ - strncpy(data, src, CINIT_DATA_LEN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/comm/read_command.c b/software/cinit/browse_source/cinit-0.3pre19/src/comm/read_command.c deleted file mode 100644 index 3cc17300..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/comm/read_command.c +++ /dev/null @@ -1,66 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * cinit reads a command sent by a client, called by ipc listener - * - */ - -#include "cinit.h" /* structures */ -#include "intern.h" /* answer_svc_status() */ - -int read_command(struct cinit_question qsn, struct cinit_answer *asr) -{ - switch (qsn.cmd) { - case CINIT_QSN_GET_VERSION: - if(!answer_version(asr)) - return 0; - break; - - case CINIT_QSN_GET_STATUS: - if(!answer_svc_status(qsn.data, asr)) - return 0; - break; - - case CINIT_QSN_GET_PID: - if(!answer_svc_pid(qsn.data, asr)) - return 0; - break; - - case CINIT_QSN_SVC_DISABLE: - if(!answer_svc_disable(qsn.data, asr)) - return 0; - break; - - /* - * FIXME: stopped here case CINIT_MSG_SVC_ENABLE: - * if(!answer_svc_enable(qsn.data, asr)) return 0; break; - */ - - /* - * Unknown command: should not happen :-) - */ - default: - return 0; - break; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre19/src/core/build_argv.c deleted file mode 100644 index 8d1ef81d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/core/build_argv.c +++ /dev/null @@ -1,192 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "intern.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX + 1]; - char *sbuf = NULL; - char *p; - - /* - * sane values - */ - bav->argv = NULL; - bav->envp = NULL; - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename, pathtmp, PATH_MAX)) == -1) { - /* - * nothing there? - */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if(errno != EINVAL) { - return BA_E_OTHER; - } - tmp = strlen(basename); - strncpy(pathtmp, basename, tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; neither - * readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) - return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) - return BA_E_MEM; - - strncpy(*(bav->argv), pathtmp, tmp); - - /********************** read params *********************/ - /* - * FIXME check bounds! - */ - strcpy(pathtmp, basename); - strcat(pathtmp, C_PARAMS); - /* - * ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL ORC_OK: Ok, have a filled - * buffer (perhaps NULL, too) other: Error, print errno - */ - tmp = openreadclose(pathtmp, &sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) - return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p + 1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) - return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp, basename); - strcat(pathtmp, C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp, &sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf, '\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) - return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* - * if we found \n - */ - if(p != NULL) { - *p = '\0'; - sbuf = p + 1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre19/src/core/cinit.c deleted file mode 100644 index 839d8deb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/core/cinit.c +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ -#include /* struct sigaction */ - -#include "intern.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc-intern.h" /* gen_svc_tree */ -#include "signals.h" /* signals used by cinit */ - -struct listitem *svc_list = NULL; /* services in a dependency tree */ -struct dep *deps_pending = NULL; /* the first services to be started */ -int svc_exited; /* did some service exit? */ - -struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END]; -int cinit_global_signals[SIGCINIT_END]; - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ - - /* - * Is this really needed? pid_t cpid; - * - * if(cpid != 1) { mini_printf(CINIT_VERSION,2); mini_printf(MSG_USAGE,2); - * return 0; } - */ - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING, 1); mini_printf(initdir, 1); mini_printf("\n", 1); - - /* Should we start a profile? */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc - 1], strlen(PROFILE))) { - initdir = malloc(strlen(CINIT_SVCDIR) + - strlen(&argv[argc - 1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc - 1][strlen(PROFILE)]); - break; - } - --argc; - } - - /* no configuration? - panic! */ - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize communication (IPC) */ - if(!cinit_ipc_init()) panic(); - - /* Init signal handler */ - signal_init_map(sigstages, cinit_global_signals); - set_signals(SIGSTAGE_DAEMON); - - /* build service dependency tree */ - if(!gen_svc_tree(initdir)) panic(); - - /* unused now, free if allocated */ - if(strcmp(initdir, CINIT_INIT)) free(initdir); - - /* FIXME: what todo? - * change to /, so applications have that as cwd, too Is that really - * seneful? Does that help any application? If not, just for looking nice, - * that's not a reason to enable it. if(chdir(SLASH) == -1) { - * print_errno(SLASH); panic(); } - */ - - /* the main startup routine */ - if(!svc_tree_exec(deps_pending)) panic(); - - /* listen to commands after startup */ - while(1) { - /* react on service changes (=process exited) */ - if(svc_exited) svc_status_changed(deps_pending); - - /* handle the changes */ - if(deps_pending) svc_handle_pending(deps_pending); - - /* listen until we get a message or get interrupted */ - cinit_ipc_listen(); - - /* - * check dependency list: perhaps we need to restart something - */ - /* - * implement in cinit-0.3pre14/5 - */ - - // svc_tree_exec(deps_pending); - // reuse svc_tree_exec()? - // if(dep) { svc_start() .. ? - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre19/src/core/do_reboot.c deleted file mode 100644 index b9a3b8a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/core/do_reboot.c +++ /dev/null @@ -1,93 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Reboot: includes shutdown, reboot and poweroff - */ - -#include /* kill() */ -#include /* exit */ - -#include "signals.h" /* signal handling */ -#include "reboot.h" /* cinit_poweroff&co */ -#include "messages.h" /* messages */ -#include "svc-intern.h" /* shutdown_services */ -#include "intern.h" /* many functions */ -#include "ipc.h" /* disable ipc */ - -void do_reboot(int signal) -{ - /* - * do not listen to client requests anymore - * and tell the user what happens - */ - LOG(MSG_SHUTDOWN_START); - cinit_ipc_destroy(); - set_signals(SIGSTAGE_REBOOT); - - /* - * shutdown all services: take care about the dependency tree - */ - LOG(MSG_SHUTDOWN_SVC); - shutdown_services(svc_list); - - /* - * now: all services are down, let's kill all other processes - */ - LOG(MSG_SHUTDOWN_TERM); - if(kill(-1, SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - LOG(MSG_SHUTDOWN_KILL); - if(kill(-1, SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* - * Execute the last command - */ - LOG(MSG_SHUTDOWN_LAST); - execute_and_wait(CINIT_LAST); - - /* - * do what we really wanted to do - */ - switch (signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } - /* - * FIXME: should we exit? - */ - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre19/src/core/panic.c deleted file mode 100644 index 16d6ed11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/core/panic.c +++ /dev/null @@ -1,50 +0,0 @@ - -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Execute something - */ - -#include /* execv */ - -#include "intern.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) - _exit(0); - - /*********************************************************************** - * In case nothing helps, try to execute something that is always there. - * (conf/c_desaster) - */ - nargv[0] = C_DESASTER; - nargv[1] = NULL; - - if(execv(nargv[0], nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* We tried everything possible, die now. */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre19/src/core/set_signals.c deleted file mode 100644 index 41ccfc8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/core/set_signals.c +++ /dev/null @@ -1,65 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set signal handlers - */ - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ - -//#include "intern.h" /* defines */ -//#include "reboot.h" /* reboot related */ -#include "signals.h" /* reboot related */ - -void set_signals(int stage) -{ - int i; - - for(i = 0; i < SIGCINIT_END; i++) { - sigaction(cinit_global_signals[i], &sigstages[stage][i], NULL); /* what - * todo - * when - * a - * child - * exited - */ - } - -// struct sigaction sa; - // sigemptyset(&sa.sa_mask); /* no other signals should be blocked */ - // sa.sa_flags = 0; -// if(action == ACT_SERV) { -// sa.sa_handler = sig_child; -// sa.sa_flags = SA_NOCLDSTOP; -// } else { -// sa.sa_handler = SIG_DFL; -// } - -// sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - -// sa.sa_flags = 0; /* reset flags */ -// if(action == ACT_SERV) { -// sa.sa_handler = do_reboot; -// } -// sigaction(SIG_CINIT_HALT, &sa, NULL); /* halt */ -// sigaction(SIG_CINIT_POWEROFF, &sa, NULL); /* poweroff */ -// sigaction(SIG_CINIT_REBOOT, &sa, NULL); /* reboot */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre19/src/core/sig_child.c deleted file mode 100644 index 08f15c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/core/sig_child.c +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * The child handler (may *not* exec other functions!) - * - */ - -#include "svc-intern.h" /* marking */ - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - tmp = 2; /* FIXME: how to tell stupid gcc that tmp is a must? */ - svc_exited = 1; /* FIXME: catch possible race conditions in svc_status_changed() */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/core/signal_init_map.c b/software/cinit/browse_source/cinit-0.3pre19/src/core/signal_init_map.c deleted file mode 100644 index a07395f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/core/signal_init_map.c +++ /dev/null @@ -1,66 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Define signal handlers / actions for the different internal stages - */ - -#include -#include "signals.h" -#include "reboot.h" -#include "intern.h" - -void signal_init_map(struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END], - int cinit_signals[SIGCINIT_END]) -{ - /* - * First map signals to index - */ - cinit_signals[SIGCINIT_HALT] = SIGUSR1; - cinit_signals[SIGCINIT_POWEROFF] = SIGTERM; - cinit_signals[SIGCINIT_REBOOT] = SIGHUP; - cinit_signals[SIGCINIT_CHILD] = SIGCHLD; - - /* - * Then add the actions for daemon - */ - sigstages[SIGSTAGE_DAEMON][SIGCINIT_HALT].sa_handler = do_reboot; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_POWEROFF].sa_handler = do_reboot; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_REBOOT].sa_handler = do_reboot; - - sigstages[SIGSTAGE_DAEMON][SIGCINIT_CHILD].sa_handler = sig_child; - sigstages[SIGSTAGE_DAEMON][SIGCINIT_CHILD].sa_flags = SA_NOCLDSTOP; - - /* - * Then add the actions for client (=fork> - */ - sigstages[SIGSTAGE_CLIENT][SIGCINIT_HALT].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_POWEROFF].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_REBOOT].sa_handler = SIG_DFL; - sigstages[SIGSTAGE_CLIENT][SIGCINIT_CHILD].sa_handler = SIG_DFL; - - /* - * Then add the actions for shutdown - */ - sigstages[SIGSTAGE_REBOOT][SIGCINIT_HALT].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_POWEROFF].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_REBOOT].sa_handler = SIG_IGN; - sigstages[SIGSTAGE_REBOOT][SIGCINIT_CHILD].sa_handler = SIG_IGN; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre19/src/generic/execute_and_wait.c deleted file mode 100644 index 3816e5c5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/generic/execute_and_wait.c +++ /dev/null @@ -1,52 +0,0 @@ - -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ - -#include "messages.h" /* MSG_* */ -#include "intern.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* - * fork - */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* - * exec / child - */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* - * wait / parent - */ - waitpid(pid, &status, 0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre19/src/generic/execute_sth.c deleted file mode 100644 index 79197769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/generic/execute_sth.c +++ /dev/null @@ -1,41 +0,0 @@ - -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ - -#include "intern.h" -#include "build_argv.h" -#include "messages.h" /* D_PRINTF */ - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - tmp = cinit_build_argv(basename, &bav); - if((tmp = cinit_build_argv(basename, &bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - /* - * tell the user what we execute - */ - mini_printf(MSG_INTRO_EXEC, 1); - mini_printf((bav.argv)[0], 1); - mini_printf("\n", 1); - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for - * cinit to recognize it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre19/src/generic/file_exists.c deleted file mode 100644 index f96fe8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/generic/file_exists.c +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * check whether file exists and is a file - * - */ - -#include /* errno */ -#include /* stat */ -#include /* NULL */ - -#include "intern.h" /* print_errno() */ -#include "svc-intern.h" /* svc_report_status() */ -#include "messages.h" /* messages.. */ - -int file_exists(char *filename) -{ - struct stat buf; - - /* - * check: - is it a link? if so, is it broken? report! - is it non existent? - * -> return non-existent - is it existent, but not a regular file? report! - */ - if(lstat(filename, &buf) == -1) { /* lstat fails? */ - if(errno == ENOENT) { - return FE_NOT; - } else { - print_errno(filename); - return FE_ERR; - } - } else { - if(S_ISLNK(buf.st_mode)) { /* is a link, check destination */ - if(stat(filename, &buf) == -1) { /* do real stat(): */ - if(errno == ENOENT) { - svc_report_status(filename, MSG_BROKENLINK, NULL); - return FE_NOLINK; - } else { - /* - * FIXME: MSG_*, ?? - */ - mini_printf("anderer fehler.\n", 1); - print_errno(filename); - return FE_ERR; - } - } - } - } /* caught all stat() errors */ - - if(!S_ISREG(buf.st_mode)) { - svc_report_status(filename, MSG_NONREGULAR, NULL); - return FE_OTHER; - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre19/src/generic/mini_printf.c deleted file mode 100644 index 752a2187..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/generic/mini_printf.c +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str, int fd) -{ - char *p; - - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd, str, (size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre19/src/generic/openreadclose.c deleted file mode 100644 index e9d65961..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/generic/openreadclose.c +++ /dev/null @@ -1,77 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "intern.h" /* ORC_* */ - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - *where = NULL; - - /* - * what a wonderful loop - */ - while((fd = open(filename, O_RDONLY)) == -1) { - if(errno == ENOENT) - return ORC_ERR_NONEXISTENT; - if(errno != EINTR) - return ORC_ERR_OPEN; - } - - cnt = 0; - while(1) { - tmp = read(fd, buf, 512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where, cnt + 1); - if(*where == NULL) - return ORC_ERR_MEM; - - /* - * FIXME check correctness of copied buffer... and get some sleep..soon, - * very soon! - */ - strncpy(&(*where)[cnt - tmp], buf, tmp); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) - continue; - return ORC_ERR_CLOSE; - } - - /* - * terminate string! - */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre19/src/generic/path_absolute.c deleted file mode 100644 index 9bafdc7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/generic/path_absolute.c +++ /dev/null @@ -1,56 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * create an absulte path - * - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX + 1]; - - if(!getcwd(oldpath, PATH_MAX + 1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath, size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre19/src/generic/path_append.c deleted file mode 100644 index 084cc4c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/generic/path_append.c +++ /dev/null @@ -1,31 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end - 1], SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) - return 0; - strcat(path, SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) - return 0; - } - strcat(path, append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre19/src/generic/print_errno.c deleted file mode 100644 index 9aeab78f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/generic/print_errno.c +++ /dev/null @@ -1,25 +0,0 @@ - -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "intern.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre19/src/generic/sleep_before_kill.c deleted file mode 100644 index d32ca274..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,56 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Let's sleep a little bit - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE, &content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) - tmp = SLEEP_KILL; - free(content); - } else { - mini_printf(MSG_BUILTIN_SLEEP, 1); - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts, NULL) == -1) { - print_errno(MSG_ERR_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre19/src/generic/strip_final_newline.c deleted file mode 100644 index 924a23b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/generic/strip_final_newline.c +++ /dev/null @@ -1,36 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* - * don't get fooled by bad pointers - */ - if(str == NULL) { - return NULL; - } - - p = strrchr(str, '\n'); - if(p) { - if(*(p + 1) == '\0') { - *p = '\0'; /* DO NOT FORGET TO TERMINATE STRING */ - str = realloc(str, (p - str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre19/src/generic/usage.c deleted file mode 100644 index 5b4a26d7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/generic/usage.c +++ /dev/null @@ -1,24 +0,0 @@ - -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * usage: tell the user what's wrong and a help text - * - */ - -#include /* _exit() */ -#include "intern.h" /* mini_printf */ - -void usage(char *banner, char *text) -{ - /* - * print banner + error message - */ - mini_printf(banner, 1); - mini_printf(text, 1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre19/src/include/build_argv.h deleted file mode 100644 index 18b7bf5b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/build_argv.h +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre19/src/include/cinit.h deleted file mode 100644 index 2f7421b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/cinit.h +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Header file for external programs (in theory) - */ - -#ifndef __CINIT_EXTERNAL_HEADER -#define __CINIT_EXTERNAL_HEADER - -/* includes */ -#include /* required for functions */ -#include /* PATH_MAX */ -#include /* pid_t */ - -/* limits */ -#define CINIT_DATA_LEN (PATH_MAX+1) - -/* - * structures: independent of the ipc code! - */ - -/* messages from the client */ -struct cinit_question { - uint32_t cmd; - uint32_t opt; - char data[CINIT_DATA_LEN]; -}; - -/* messages from cinit */ -struct cinit_answer { - uint32_t ret; - uint32_t opt; - char data[CINIT_DATA_LEN]; -}; - -/*********************************************************************** - * codes for messages - */ -enum { /* questions */ - CINIT_QSN_GET_STATUS = 0x01, /* status of a service */ - CINIT_QSN_GET_PID = 0x02, /* get pid of a service */ - CINIT_QSN_GET_VERSION = 0x04, /* version of cinit */ - CINIT_QSN_SVC_DISABLE = 0x08, /* service: stop */ - CINIT_QSN_SVC_ENABLE = 0x10, /* service: start */ - CINIT_QSN_SVC_NEEDS = 0x20, /* in/exclude needs */ - CINIT_QSN_SVC_WANTS = 0x40, /* in/exclude wants */ - CINIT_QSN_SVC_LIST = 0x80, /* list services */ - - CINIT_QSN_QUESTION_END = 0xffff /* last message */ -}; - -enum { /* answers */ - CINIT_ASW_IPC_ERROR = 0x00, /* bad error */ - CINIT_ASW_OK = 0x01, /* general ok value */ - CINIT_ASW_SVC_UNKNOWN = 0x04, /* Services is not known */ - CINIT_ASW_SVC_DISABLED = 0x08, /* service: stop */ - CINIT_ASW_SVC_ENABLED = 0x10, /* service: start */ - CINIT_ASW_SVC_ERR = 0x20, /* in/excluded needs */ - CINIT_ASW_SVC_WANTS = 0x40, /* in/excluded wants */ - CINIT_ASW_SVC_NEEDS = 0x80, /* in/excluded needs */ - CINIT_ASW_ERR_INTERN = 0x100, /* cinit internal error */ - - CINIT_ASW_ANSWER_END = 0xffff /* last message */ -}; - -enum cinit_svc_flags { - CINIT_CMD_SVC_WANTS = 'w', - CINIT_CMD_SVC_NEEDS = 'n' -}; - -struct cinit_msg_msg { - int code; - char *msg; -}; - -//struct cinit_msg_msg cinit_codes2messages[] = { - -//} - -/* functions */ -int cinit_send_to(struct cinit_question *, struct cinit_answer *); -void cinit_cp_data(char data[], char *src); - -void cinit_prepare_comm(struct cinit_question *qsn, - struct cinit_answer *asr, - uint32_t cmd); - -uint32_t cinit_flag_to_uint32_t(char *); -uint32_t cinit_get_version(char *); -uint32_t cinit_svc_disable(char *svc, uint32_t flag); -uint32_t cinit_svc_enable(char *svc, uint32_t flag); -uint32_t cinit_svc_get_pid(char *, pid_t *status); -uint32_t cinit_svc_get_status(char *, uint32_t *); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/cmd.h b/software/cinit/browse_source/cinit-0.3pre19/src/include/cmd.h deleted file mode 100644 index eb29be93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/cmd.h +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Header file for the cmd (cinit management) - */ - -#ifndef CINIT_CMD_HEADER -#define CINIT_CMD_HEADER - -#define CMD_USAGE "cmd - cinit management\n\n" \ - "cmd -[de [nw]] -[ps] [service] -[hvV]\n\n" \ - " -d: disable service\n" \ - " n: without needs\n" \ - " Skip needs when en/disabling\n\n"\ - " w: without wants\n" \ - " Skip wants when en/disabling\n" \ - " -e: enable service\n" \ - " see above\n" \ - " -h: get help\n" \ - " this messages" \ - " -p: get process id (pid)\n" \ - " of specified service\n" \ - " -s: get status\n" \ - " of specified service\n" \ - " -v: get version\n" \ - " of cinit\n" \ - " -V: get version\n" \ - " of cmd\n" \ - "" - -#define CMD_OPTIONS "e::d::hpsvV" - -#define MSG_KILL "kill()" -#define CMD_VERSION "0.2" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/intern.h b/software/cinit/browse_source/cinit-0.3pre19/src/include/intern.h deleted file mode 100644 index b214c9cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/intern.h +++ /dev/null @@ -1,125 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * internal stuff only :-) - * - */ - - -#ifndef _CINIT_INTERN_H -#define _CINIT_INTERN_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* structures: answer / question */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_NOLINK, /* file is a broken symbolic link*/ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_LAST CINIT_CONFDIR SLASH C_LAST -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* functions (used by server and client) */ -void mini_printf(char *str, int fd); -//void usage(char *banner, char *stext); - -/* core functions */ -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -//int msg_svc_on_off(char *svc, char action); -//int msg_change_status(char *svc, char status, pid_t pid); -//int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* communication */ -int read_command(struct cinit_question, struct cinit_answer *); -int answer_svc_status(char *, struct cinit_answer *); -int answer_svc_pid(char *, struct cinit_answer *); -int answer_version(struct cinit_answer *); -int answer_svc_disable(char *, struct cinit_answer *); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -void print_errno(char *text); - -#endif /* INTERN */ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre19/src/include/ipc.h deleted file mode 100644 index e06bd734..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/ipc.h +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/* FIXME: change to cinit/types.h later */ -#include "cinit.h" - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init */ - -int cinit_ipc_connect(void); /* connect to init */ - -int cinit_ipc_csend(struct cinit_question *); /* ask the server */ -int cinit_ipc_cread(struct cinit_answer *); /* read answer */ - -int cinit_ipc_logoff(void); /* logoff */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/listing b/software/cinit/browse_source/cinit-0.3pre19/src/include/listing deleted file mode 100644 index bccdad37..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/listing +++ /dev/null @@ -1,8 +0,0 @@ -include/intern.h -include/config.h -include/ipc.h -include/messages.h -include/os.h -include/reboot.h -include/signals.h -include/svc.h diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre19/src/include/messages.h deleted file mode 100644 index 53bf64bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/messages.h +++ /dev/null @@ -1,169 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * All messages - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -//#define MSG_ERR_DEPS "Too many dependencies" -//#define MSG_ERR_ACCEPT "accept" -//#define MSG_ERR_WAITPID "waitpid" -//#define MSG_ERR_POLL "poll" -//#define MSG_ERR_MODIFY "modify list failed" -//#define MSG_ERR_COMM "Communication failed" - -//#define MSG_ERR_LESS_ARGS "Too less arguments!" -//#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -//#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -//#define LOG_NEED_FAIL "One or more need failed" -//#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# include -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) {} -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ - -/* services: how they should be printed - * /etc/cinit/svc/long/name: started once - * /etc/cinit/svc/long/name: is respawning - * /etc/cinit/svc/long/name: FAILED (why it happened) - */ - -#define MSG_INTRO_CINIT "cinit:" -#define MSG_INTRO_SPACE MSG_INTRO_CINIT " " -#define MSG_INTRO_SVC MSG_INTRO_CINIT -#define MSG_INTRO_STOP MSG_INTRO_CINIT "stop: " -#define MSG_INTRO_EXEC MSG_INTRO_CINIT "exec: " - -/* FIXME: remove/append, but no intro! */ -#define MSG_INTRO_FAIL "FAILED " -#define MSG_INTRO_RESPAWN MSG_INTRO_CINIT "respawn: " -#define MSG_INTRO_OK MSG_INTRO_CINIT "ok: " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" - - -#define MSG_BUILTIN_SLEEP MSG_INTRO_STOP "Using built-in sleep" - -#define MSG_TREE_EXEC MSG_INTRO_SPACE "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_FATAL_PANIC MSG_INTRO_SPACE "I tried everything, but even panic() failed: " -#define MSG_ERR_SLEEP MSG_INTRO_SPACE "Sleep did not succeed" -#define MSG_GETTIMEOFDAY MSG_INTRO_SPACE "gettimeofday() failed!" - -/* execution */ -//#define MSG_EXECUTING MSG_INTRO_EXEC - -/* stat() errors */ -#define MSG_NONREGULAR "Is not a regular file." -#define MSG_BROKENLINK "Is a broken link." - -/* Service messages */ -#define MSG_SVC_START "Starting... " -#define MSG_SVC_STOP "Stoping... " -#define MSG_SVC_RESTART "Restarted." -#define MSG_SVC_SLEEP "Sleeping before restart" -#define MSG_SVC_OK_ONCE "Started once." -#define MSG_SVC_OK_RESPAWN "Is respawning." - -/* Status messages */ -#define MSG_SHUTDOWN_START MSG_INTRO_STOP "\nBeginning the shutdown process..." -#define MSG_SHUTDOWN_SVC MSG_INTRO_STOP "Shutting down services now..." -#define MSG_SHUTDOWN_TERM MSG_INTRO_STOP "Terminating remaining processes..." -#define MSG_SHUTDOWN_KILL MSG_INTRO_STOP "Killing remaining processes..." -#define MSG_SHUTDOWN_LAST MSG_INTRO_STOP "Executing final service..." -#define MSG_POWER_OFF MSG_INTRO_STOP "Powering off..." -#define MSG_HALT MSG_INTRO_STOP "Halting system ..." -#define MSG_REBOOT MSG_INTRO_STOP "Rebooting ..." - -/* client messages */ -#define MSG_HALT_KILL "halt.kill" -#define MSG_REBOOT_KILL "reboot.kill" -#define MSG_POWEROFF_KILL "poweroff.kill" - - -/* reboot */ -#define MSG_TERMKILL MSG_INTRO_FAIL "SIGTERM" -#define MSG_KILLBILL MSG_INTRO_FAIL "SIGKILL" - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre19/src/include/os.h deleted file mode 100644 index d6173a83..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/os.h +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/reboot.h b/software/cinit/browse_source/cinit-0.3pre19/src/include/reboot.h deleted file mode 100644 index 4e490bd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/reboot.h +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * reboot specific functions - * - */ - -#ifndef CINIT_REBOOT_HEADER -#define CINIT_REBOOT_HEADER - -/***************************************************************************** - * the main reboot function - */ -void do_reboot(int signal); - - -/***************************************************************************** - * os specific functions - */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - - -/***************************************************************************** - * Functions: abstract do_reboot - */ -#define cinit_do_reboot() do_reboot(SIGHUP) -#define cinit_do_halt() do_reboot(SIGUSR1) -#define cinit_do_poweroff() do_reboot(SIGTERM) - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/signals.h b/software/cinit/browse_source/cinit-0.3pre19/src/include/signals.h deleted file mode 100644 index 7c5e2e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/signals.h +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Define signals to use: needs signal.h to be included before. - */ - -#ifndef CINIT_SIGNALS_HEADER -#define CINIT_SIGNALS_HEADER - -#define SIG_CINIT_HALT SIGUSR1 -#define SIG_CINIT_POWEROFF SIGTERM -#define SIG_CINIT_REBOOT SIGHUP -#define SIG_CINIT_CHILD SIGCHLD - -enum { - SIGSTAGE_REBOOT, - SIGSTAGE_DAEMON, - SIGSTAGE_CLIENT, - SIGSTAGE_END -}; - -enum { - SIGCINIT_HALT, - SIGCINIT_POWEROFF, - SIGCINIT_REBOOT, - SIGCINIT_CHILD, - SIGCINIT_END -}; - -#include -struct cinit_signal_map { - int signal; - struct sigaction sigstages; -}; - - -void signal_init_map(struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END], int cinit_signals[SIGCINIT_END]); -void set_signals(int stage); - -/* global vars */ -extern int cinit_global_signals[SIGCINIT_END]; /* maps signal codes to index */ -extern struct sigaction sigstages[SIGSTAGE_END][SIGCINIT_END]; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/svc-intern.h b/software/cinit/browse_source/cinit-0.3pre19/src/include/svc-intern.h deleted file mode 100644 index 0f6014c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/svc-intern.h +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Internal service specifics - * - */ - -#ifndef __CINIT_SVC_INTERN_H -#define __CINIT_SVC_INTERN_H - -/* includes */ -#include /* pid_t */ -#include /* int types */ -#include "config.h" /* paths, socket options, etc. */ -#include "cinit.h" /* LEN */ - -/* service tree item */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char abs_path[CINIT_DATA_LEN]; /* name of service */ - uint32_t status; /* current status */ - int waitpid; /* result of last waitpid call */ - pid_t pid; /* pid of service / respawn watcher */ - time_t start; /* time the process was started last time */ - time_t exited; /* time the process exited */ - - - struct dep *wanted_by; /* list of services that want this service */ - struct dep *needed_by; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ - - struct listitem *changed; /* list of changed services */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *deps_pending; /* the services to handle */ -extern struct listitem *svc_list; /* the list of services */ -extern int svc_exited; /* mark change */ - -/* list functions */ -struct listitem *list_insert(char *path, uint32_t status); -int list_delete_byname(char *path); -int list_delete_bypointer(struct listitem *); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int svc_tree_exec(struct dep *start); -uint32_t svc_set_status(struct listitem *li, uint32_t status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void shutdown_services(struct listitem *start); - -void svc_start(struct listitem *); -void svc_stop_deps(struct listitem *, int); -uint32_t svc_disable(struct listitem *); -int svc_status_changed(); -int svc_handle_pending(struct dep *pending); - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -#endif /* _CINIT_SVC_INTERN_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/svc-messages.h b/software/cinit/browse_source/cinit-0.3pre19/src/include/svc-messages.h deleted file mode 100644 index 14873228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/svc-messages.h +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Service status messages - */ - - -#ifndef __CINIT_SVC_MESSAGES_H -#define __CINIT_SVC_MESSAGES_H - -#include "svc.h" - -struct cinit_svc_msg { - int code; - char *msg; -}; - -struct cinit_svc_msg cinit_svc_msg_codes[] = { - { CINIT_ST_SH_ONCE, "Service should be started once" }, - { CINIT_ST_SH_RESPAWN, "Service should respawn" }, - { CINIT_ST_ONCE_OK, "Service successfully started once" }, - { CINIT_ST_ONCE_FAIL, "Service failed to start once" }, - { CINIT_ST_RESPAWNING, "Service is respawning" }, - { CINIT_ST_NEED_FAILD, "One ore more needs failed" }, - { CINIT_ST_IN_LIST, "Service is in starter list" }, - { CINIT_ST_BAD_ERR, "Some strange error happened" }, - { CINIT_ST_ONCE_RUN, "Service is currently running once" }, - { CINIT_ST_NOT_EXIST, "This service does not exist" } -}; - -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre19/src/include/svc.h deleted file mode 100644 index ac8bc552..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/include/svc.h +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Service status (also exposed to the outside) - */ - - -#ifndef __CINIT_SVC_H -#define __CINIT_SVC_H - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum cinit_svc_status { - /* first define basics */ - CINIT_ST_SH_ONCE = 0x1, /* service SHould be started once yx*/ - CINIT_ST_SH_RESPAWN = 0x2, /* service SHould respawn yx*/ - CINIT_ST_ONCE_OK = 0x4, /* service was successfully started once */ - CINIT_ST_ONCE_FAIL = 0x8, /* service failed to start */ - CINIT_ST_RESPAWNING = 0x10, /* service is respawning */ - CINIT_ST_NEED_FAILD = 0x20, /* this service is not started, need failed x*/ - CINIT_ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - CINIT_ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - CINIT_ST_ONCE_RUN = 0x100, /* the once process is currently running yx*/ - CINIT_ST_NOT_EXIST = 0x200, /* there's no such service in our database */ - CINIT_ST_SH_STOP = 0x400, /* service was running, is being stopped x*/ - CINIT_ST_STOPPED = 0x800, /* service is stopped x*/ - CINIT_ST_STOP_FAIL = 0x1000 /* service failed to stop..strange situation */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum cinit_svc_needs_status { - CINIT_SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - CINIT_SNS_NEEDS_FAILED, /* one ore more needs failed */ - CINIT_SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -/*********************************************************************** - * How to start/stop a service - */ -enum cinit_svc_start_stop_options { - CINIT_SSSO_COMPLETE = 0x0, /* with all dependencies */ - CINIT_SSSO_WO_NEEDS = 0x1, /* without needs */ - CINIT_SSSO_WO_WANTS = 0x2, /* without wants */ - CINIT_SSSO_WO_BOTH = 0x4 /* without both */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq-rt/README b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq-rt/README deleted file mode 100644 index cc1a1b7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq-rt/README +++ /dev/null @@ -1,2 +0,0 @@ -This implementation uses the new realtime inferface of -posix instead of the old one functions. diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq-rt/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq-rt/cinit_ipc_init.c deleted file mode 100644 index ef22b6d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq-rt/cinit_ipc_init.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include - -#include "cinit.h" -#include "config.h" -#include "msgq-rt.h" - -int cinit_ipc_init(void) -{ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq-rt/mq_open.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq-rt/mq_open.c deleted file mode 100644 index 445e7dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq-rt/mq_open.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -int main() -{ - mqd_t readq = mq_open("/test",O_RDWR|O_CREAT|O_EXCL); - //mqd_t readq = mq_open("/bin/ls",O_RDWR|O_CREAT|O_EXCL); - - if(readq == -1) { - perror("oh nein"); - return 1; - } - mqd_t writeq = mq_open("/bin/cp",O_WRONLY|O_CREAT|O_EXCL); - if(readq == -1) { - perror("oh oh nein"); - return 1; - } -} - - diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq-rt/msgq-rt.h b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq-rt/msgq-rt.h deleted file mode 100644 index d09a2808..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq-rt/msgq-rt.h +++ /dev/null @@ -1,39 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#define MSGQ_PATHNAME "/cinit" /* identifier */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_cread.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_cread.c deleted file mode 100644 index ef811fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_cread.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client reads messages from cinit - * - */ - -#include /* msg* */ -#include /* memcpy() */ -#include /* getpid() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msq specific */ - -int cinit_ipc_cread(struct cinit_answer *buf) -{ - struct cinit_msgq_server asr; - - if(msgrcv(__cinit_mq_in, &asr, sizeof(asr.asr), getpid(), 0) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGRCV); - return 0; - } - memcpy(buf, &(asr.asr), sizeof(*buf)); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 04683ab1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Client sends messages to cinit - * - */ - -#include /* msgget */ -#include /* memcpy() */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structure */ - -int cinit_ipc_csend(struct cinit_question *qsn) -{ - struct cinit_msgq_client msg; - - msg.mtype = 1; /* cinit = 1 */ - - /* copy question structure into the msgq-structure */ - memcpy(&(msg.qsn), qsn, sizeof(msg.qsn)); - - if(msgsnd(__cinit_mq_out, &msg, sizeof(msg.qsn), 0) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGSEND); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 8186cba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ -#include "msgq.h" /* mq_in, mq_out */ -#include "intern.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(__cinit_mq_in, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(__cinit_mq_out, IPC_RMID, NULL) == -1) { - print_errno(__CINIT_MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index d5102f13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* message queue */ - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, __CINIT_MSGQ_PERMS | IPC_CREAT); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index fb4aac52..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * Listen to messages - * - */ - -#include /* printf() */ - -#include /* msg* */ -#include /* errno */ - -#include "intern.h" /* print_errno */ -#include "msgq.h" /* structs */ - -int cinit_ipc_listen(void) -{ - int tmp; - struct cinit_msgq_client qsn; - struct cinit_msgq_server asr; - struct msqid_ds msq; - - tmp = msgrcv(__cinit_mq_in, &qsn, sizeof (qsn.qsn), 0, 0); - - /* message system problem */ - if(tmp == -1) { - if(errno != EINTR) { - print_errno(__CINIT_MSG_MSGQ_MSGRCV); - } - return -1; - } - - /* retrieve pid */ - if(msgctl(__cinit_mq_in, IPC_STAT, &msq) == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGCTL); - return -1; - } - - if(!read_command(qsn.qsn, &(asr.asr))) { - /* FIXME: mini_print */ - printf("read command failed\n"); - - asr.asr.ret = CINIT_ASW_ERR_INTERN; - } - - asr.mtype = msq.msg_lspid; - if(msgsnd(__cinit_mq_out, &asr, sizeof(asr.asr), 0) == -1) { - /* FIXME: do different things on differen errnos ... */ - print_errno("msgsend/answer"); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index ac8306d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Disconnect from cinit - * - */ - -int cinit_ipc_logoff(void) -{ - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index e15b12f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include "intern.h" /* print_errno */ -#include "msgq.h" /* msgq constants */ - -int cinit_ipc_logon(void) -{ - key_t k_tmp; - - /* generiere nen schluessel: andersrum als im Server */ - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_in = msgget(k_tmp, 0); - if(__cinit_mq_in == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - k_tmp = ftok(__CINIT_MSGQ_PATHNAME, __CINIT_MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(__CINIT_MSG_MSGQ_FTOK); - return 0; - } - __cinit_mq_out = msgget(k_tmp, 0); - if(__cinit_mq_out == -1) { - print_errno(__CINIT_MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/msgq.h deleted file mode 100644 index 68398764..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,58 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * header of message queuing interface - * - */ - -#ifndef __CINIT_IPC_HEADER -#define __CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define __CINIT_MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define __CINIT_MSGQ_TO_SERVER 'i' /* also for ftok */ -#define __CINIT_MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define __CINIT_MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables: FIXME: rename, we're in client namespace! - */ -int __cinit_mq_in; /* input */ -int __cinit_mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct cinit_msgq_client { - long mtype; - struct cinit_question qsn; -}; - -/* messages _from_ the server _to_ the client */ -struct cinit_msgq_server { - long mtype; - struct cinit_answer asr; -}; - -/*********************************************************************** - * Messages - */ - -#define __CINIT_MSG_MSGQ_FTOK "ftok" -#define __CINIT_MSG_MSGQ_MSGGET "msgget" -#define __CINIT_MSG_MSGQ_MSGCTL "msgctl" -#define __CINIT_MSG_MSGQ_MSGSEND "msgsend" -#define __CINIT_MSG_MSGQ_MSGRCV "msgrcv" -#define __CINIT_MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/socket+linux-tmpfs/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/socket+linux-tmpfs/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/socket+linux-tmpfs/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/socket+linux-tmpfs/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre19/src/ipc/socket+linux-tmpfs/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/ipc/socket+linux-tmpfs/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/README b/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/README deleted file mode 100644 index 096cc779..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/README +++ /dev/null @@ -1,22 +0,0 @@ -Build a small library that can be used by different applications, that provides: - - Constants / Macros: - for cinit_halt: - CINIT_HALT - CINIT_REBOOT - CINIT_POWEROFF - - for cinit_svc_start/stop: - CINIT_SVC_NORMAL - CINIT_SVC_NEEDS - CINIT_SVC_ONLY - CINIT_SVC_WANTS - - Functions: - void cinit_halt(int how); - int cinit_svc_start(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - int cinit_svc_stop(char *svc, int how); - -This lib must then include: - - choosen ipc functions diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_flag_to_uint32_t.c b/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_flag_to_uint32_t.c deleted file mode 100644 index 89949c8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_flag_to_uint32_t.c +++ /dev/null @@ -1,46 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Converts cher * to uint32_t for svc operations - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* integers */ - -#include "cinit.h" /* constants */ - -uint32_t cinit_flag_to_uint32_t(char *flag) -{ - uint32_t ret = 0; /* no flags */ - - if(flag != NULL) { - if(strchr(flag, CINIT_CMD_SVC_NEEDS)) { - ret |= CINIT_QSN_SVC_NEEDS; - } - if(strchr(flag, CINIT_CMD_SVC_WANTS)) { - ret |= CINIT_QSN_SVC_WANTS; - } - } - - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_get_version.c b/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_get_version.c deleted file mode 100644 index 794e25bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_get_version.c +++ /dev/null @@ -1,38 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves version of cinit - */ - -#include "cinit.h" /* header for clients */ - -uint32_t cinit_get_version(char *buf) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_VERSION); - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - cinit_cp_data(buf, asr.data); - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_halt.c b/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_halt.c deleted file mode 100644 index f5e9c96a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_halt.c +++ /dev/null @@ -1,39 +0,0 @@ - -/******************************************************************************* - * - * 2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * purpose_of_this_file_is_also_there_behind_the_big_header - * - */ - -#include "" /* include global header */ -int cinit_halt(int how) -{ - switch (how) { - case 'p': /* power off */ - break; - - default: - break; - } -} - -return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_prepare_comm.c b/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_prepare_comm.c deleted file mode 100644 index 8badc744..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_prepare_comm.c +++ /dev/null @@ -1,37 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Prepares the communication - */ - -#include /* str*, memset */ -#include /* uint32_t */ - -#include "cinit.h" /* header for clients */ - -void cinit_prepare_comm(struct cinit_question *qsn, struct cinit_answer *asr, - uint32_t cmd) -{ - memset(qsn, '\0', sizeof(struct cinit_question)); - memset(asr, '\0', sizeof(struct cinit_answer)); - - qsn->cmd = cmd; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_send_to.c b/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_send_to.c deleted file mode 100644 index cfd3a35c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_send_to.c +++ /dev/null @@ -1,41 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * sends data from the client to cinit - * - */ - -#include "ipc.h" /* IPC */ -#include "cinit.h" /* struct cinit_message */ - -int cinit_send_to(struct cinit_question *data, struct cinit_answer *res) -{ - if(!cinit_ipc_logon()) - return 0; - if(!cinit_ipc_csend(data)) - return 0; - if(!cinit_ipc_cread(res)) - return 0; - if(!cinit_ipc_logoff()) - return 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_svc_disable.c b/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_svc_disable.c deleted file mode 100644 index 6c25c330..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_svc_disable.c +++ /dev/null @@ -1,68 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Disables a service - * - */ - -#include /* integers */ - -#include "cinit.h" /* header for clients */ - -/* - * to cinit: - * disable + flags - * from cinit: - * status - * unknown service - * disabled the service - * - * disabled the service and needs - * disabled the service and wants - * disabled the service and needs and wants - * - * if it is one of the last three it follows - * uint32_t num: how many services stopped - * num times - * - * uint32_t len (excluding \0) - * char name[] - */ - -uint32_t cinit_svc_disable(char *svc, uint32_t flag) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_SVC_DISABLE); - cinit_cp_data((qsn.data), svc); - - qsn.opt = flag; - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - /* - * FIXME: 0.3pre15: add retrieval of services - */ - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_svc_enable.c b/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_svc_enable.c deleted file mode 100644 index 701a2b89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_svc_enable.c +++ /dev/null @@ -1,48 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves pid of a service - * - */ - -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_enable(char *svc, uint32_t flag) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_SVC_ENABLE); - cinit_cp_data((qsn.data), svc); - - qsn.opt = flag; - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - /* - * add logic to display started services here or: add logic to start - * dependend services in here: want to start a -> cinit returns needs b - */ - - return CINIT_ASW_IPC_ERROR; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_svc_get_pid.c b/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_svc_get_pid.c deleted file mode 100644 index 715fe953..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_svc_get_pid.c +++ /dev/null @@ -1,44 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves pid of a service - * - */ - -#include /* pid_t */ -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_get_pid(char *name, pid_t * status) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_PID); - cinit_cp_data((qsn.data), name); - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - *status = asr.opt; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_svc_get_status.c b/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_svc_get_status.c deleted file mode 100644 index be8a1a4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/libcinit/cinit_svc_get_status.c +++ /dev/null @@ -1,43 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Retrieves status of a service - * - */ - -#include /* integers */ -#include "cinit.h" /* header for clients */ - -uint32_t cinit_svc_get_status(char *name, uint32_t * status) -{ - struct cinit_question qsn; - struct cinit_answer asr; - - cinit_prepare_comm(&qsn, &asr, CINIT_QSN_GET_STATUS); - cinit_cp_data((qsn.data), name); - - if(!cinit_send_to(&qsn, &asr)) - return CINIT_ASW_IPC_ERROR; - - *status = asr.opt; - - return asr.ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/cinit deleted file mode 100644 index 5b48910b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/cinit +++ /dev/null @@ -1,62 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/set_signals.o -core/signal_init_map.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/gen_halt_tree.o -svc/list_delete_byname.o -svc/list_delete_bypointer.o -svc/list_insert.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/svc_handle_pending.o -svc/svc_status_changed.o -svc/svc_disable.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/shutdown_services.o -svc/svc_tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_fail.o -svc/svc_start.o -svc/svc_stop_deps.o -comm/read_command.o -comm/answer_svc_status.o -comm/answer_svc_pid.o -comm/answer_version.o -comm/cinit_cp_data.o -comm/answer_svc_disable.o diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/cmd b/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/cmd deleted file mode 100644 index a32be1f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/cmd +++ /dev/null @@ -1,17 +0,0 @@ -client/cmd.o -comm/cinit_cp_data.o -generic/print_errno.o -generic/path_absolute.o -generic/mini_printf.o -ipc/current/cinit_ipc_logon.o -ipc/current/cinit_ipc_csend.o -ipc/current/cinit_ipc_cread.o -ipc/current/cinit_ipc_logoff.o -libcinit/cinit_get_version.o -libcinit/cinit_send_to.o -libcinit/cinit_svc_get_pid.o -libcinit/cinit_svc_get_status.o -libcinit/cinit_prepare_comm.o -libcinit/cinit_svc_enable.o -libcinit/cinit_svc_disable.o -libcinit/cinit_flag_to_uint32_t.o diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/halt.kill b/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/halt.kill deleted file mode 100644 index e5b12a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/halt.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/halt.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/poweroff.kill b/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/poweroff.kill deleted file mode 100644 index 306fc0bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/poweroff.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/poweroff.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/reboot.kill b/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/reboot.kill deleted file mode 100644 index f851badf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/object_lists/reboot.kill +++ /dev/null @@ -1,3 +0,0 @@ -client/reboot.kill.o -generic/print_errno.o -generic/mini_printf.o diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre19/src/os/freebsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre19/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre19/src/os/freebsd/poweroff.c deleted file mode 100644 index c73dd079..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre19/src/os/freebsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre19/src/os/linux/halt.c deleted file mode 100644 index 5ee3eb53..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre19/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre19/src/os/linux/poweroff.c deleted file mode 100644 index c7d2b1c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre19/src/os/linux/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre19/src/os/netbsd/halt.c deleted file mode 100644 index 972aecf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/netbsd/halt.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre19/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre19/src/os/netbsd/poweroff.c deleted file mode 100644 index 17d7b259..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre19/src/os/netbsd/reboot.c deleted file mode 100644 index 14313e17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/netbsd/reboot.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre19/src/os/openbsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre19/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre19/src/os/openbsd/poweroff.c deleted file mode 100644 index bf4120e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre19/src/os/openbsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:41:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:41:08 deleted file mode 100644 index d29de765..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:41:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586640 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:46:09 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:46:09 deleted file mode 100644 index 7ecb58be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-15:46:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586368 Apr 30 15:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-16:50:05 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-16:50:05 deleted file mode 100644 index d87323e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-16:50:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587818 Apr 30 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:03:00 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:03:00 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:39:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:39:08 deleted file mode 100644 index 0c2bb0af..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:39:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586194 May 6 20:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:54:00 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:54:00 deleted file mode 100644 index fe51f37f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:55:07 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:55:07 deleted file mode 100644 index 4d2854b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:55:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590108 May 6 22:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-23:00:07 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-23:00:07 deleted file mode 100644 index c0db4814..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-23:00:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 23:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:31:01 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:31:01 deleted file mode 100644 index 4ad1fccf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:31:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:31 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:39:02 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:39:02 deleted file mode 100644 index 16613354..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:39:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:43:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:43:08 deleted file mode 100644 index 29e5ab44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:54:04 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:54:04 deleted file mode 100644 index 474189e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:54:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:18:00 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:18:00 deleted file mode 100644 index 960ca358..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:18:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:14:00 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:14:00 deleted file mode 100644 index 7de2bc3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:14:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:14 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:43:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:43:08 deleted file mode 100644 index 11a18f12..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:43:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597245 May 7 14:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:48:01 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:48:01 deleted file mode 100644 index 28b127b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:48:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597405 May 7 14:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:55:05 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:55:05 deleted file mode 100644 index 5d0fa0e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:55:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:01:01 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:01:01 deleted file mode 100644 index 7c8b202b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:01:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 15:01 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:27:00 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:27:00 deleted file mode 100644 index a2d19633..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:27:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:20:02 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:20:02 deleted file mode 100644 index 23608225..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:20:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602184 May 7 16:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:31:09 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:31:09 deleted file mode 100644 index 40f890cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:31:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:31 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:08:09 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:08:09 deleted file mode 100644 index 22b48319..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:08:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-10:44:00 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-10:44:00 deleted file mode 100644 index 4dad0f2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-10:44:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 64935 May 8 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-12:42:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-12:42:08 deleted file mode 100644 index a356e57e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-12:42:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 23195 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:25:05 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:25:05 deleted file mode 100644 index 0b5026c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:25:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:30:03 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:30:03 deleted file mode 100644 index 7377ee59..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:30:03 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-21:54:00 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-21:54:00 deleted file mode 100644 index 41ed8e4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-21:54:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604637 May 10 21:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:07:06 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:07:06 deleted file mode 100644 index 9579bf3d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:07:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95212 May 10 22:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-00:14:02 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-00:14:02 deleted file mode 100644 index 86483ada..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-00:14:02 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-15-22:32:07 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-15-22:32:07 deleted file mode 100644 index 59557c4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-15-22:32:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 15 22:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-15-23:52:06 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-15-23:52:06 deleted file mode 100644 index 757e6dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-15-23:52:06 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579305 May 15 23:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-15-23:56:00 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-15-23:56:00 deleted file mode 100644 index 24c85104..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-15-23:56:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605145 May 15 23:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:16:09 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:16:09 deleted file mode 100644 index 27254aa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:16:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605205 May 16 00:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-09:58:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-09:58:08 deleted file mode 100644 index 90a5b698..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-09:58:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605567 May 16 09:58 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:09:00 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:09:00 deleted file mode 100644 index 4c34f810..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:09:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605583 May 16 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:13:07 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:13:07 deleted file mode 100644 index b6a851e6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:13:07 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605619 May 16 10:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:23:05 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:23:05 deleted file mode 100644 index 2c4fc649..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:23:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-14:56:01 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-14:56:01 deleted file mode 100644 index c5e08e25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-14:56:01 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95794 May 21 14:56 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:35:00 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:35:00 deleted file mode 100644 index 0f2d5463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:35:00 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:35 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-08-10:23:04 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-08-10:23:04 deleted file mode 100644 index 0858c419..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-08-10:23:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53724 Jun 8 10:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-08:44:09 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-08:44:09 deleted file mode 100644 index b96788fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-08:44:09 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53524 Jun 9 08:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-10:00:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-10:00:08 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-11:47:04 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-11:47:04 deleted file mode 100644 index 531df2bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-09-11:47:04 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-10-18:14:05 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-10-18:14:05 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-10-18:14:05 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-12-18:09:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-12-18:09:08 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-12-18:09:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-08:13:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-08:13:08 deleted file mode 100644 index eab7486c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-08:13:08 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 13 08:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-10:01:02 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-10:01:02 deleted file mode 100644 index cd4e9dad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-10:01:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52380 Jun 14 10:01 cinit --rwx------ 1 nico users 47356 Jun 14 10:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-06:46:05 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-06:46:05 deleted file mode 100644 index e0e1051d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-06:46:05 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:46 cinit --rwx------ 1 nico users 47324 Jun 15 06:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-16-12:18:07 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-16-12:18:07 deleted file mode 100644 index 43633af1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-16-12:18:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 16 12:18 cinit --rwx------ 1 nico users 50860 Jun 16 12:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-10:35:02 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-10:35:02 deleted file mode 100644 index 41fcadb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-10:35:02 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47584 Jun 22 10:35 cinit --rwx------ 1 nico users 46760 Jun 22 10:35 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-25-11:56:07 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-25-11:56:07 deleted file mode 100644 index 0f917aee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-25-11:56:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47712 Jun 25 11:56 cinit --rwx------ 1 nico users 46760 Jun 25 11:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:11:07 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:11:07 deleted file mode 100644 index 7e4c645b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:11:07 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:11 cinit --rwx------ 1 nico users 50860 Jul 6 08:11 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:08:05 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:08:05 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:08:05 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:13:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:13:08 deleted file mode 100644 index 2b09e08b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-07-06-10:13:08 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:13 cinit --rwx------ 1 nico users 50860 Jul 6 10:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-08-08-01:00:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-08-08-01:00:08 deleted file mode 100644 index 9c0c4908..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-08-08-01:00:08 +++ /dev/null @@ -1,3 +0,0 @@ -total 840 --rwx------ 1 root root 429764 Aug 8 01:00 cinit --rwx------ 1 root root 426052 Aug 8 01:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-08-29-21:48:00 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-08-29-21:48:00 deleted file mode 100644 index caa24bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-08-29-21:48:00 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 root root 437404 2005-08-29 21:47 cinit --rwx------ 1 root root 436316 2005-08-29 21:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-05:57:00 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-05:57:00 deleted file mode 100644 index ba396d14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-05:57:00 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:57 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:56 cinit --rwx------ 1 nico nico 440412 Sep 3 05:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-05:58:07 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-05:58:07 deleted file mode 100644 index 65f0cc50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-05:58:07 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-03 05:58 ccontrol --rwx------ 1 root root 444508 2005-09-03 05:58 cinit --rwx------ 1 root root 440412 2005-09-03 05:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:43:02 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:43:02 deleted file mode 100644 index 027a5b67..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:43:02 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:43 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:43 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:51:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:51:08 deleted file mode 100644 index a0fdf121..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:51:08 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:43 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:51 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:58:04 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:58:04 deleted file mode 100644 index 5c6da786..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-09:58:04 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:58 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:58 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-17-00:31:08 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-17-00:31:08 deleted file mode 100644 index b95123d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-17-00:31:08 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 00:31 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:31 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:08:04 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:08:04 deleted file mode 100644 index df9d08a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:08:04 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:08 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:08 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-11:46:07 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-11:46:07 deleted file mode 100644 index 7b96d3d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-11:46:07 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:46 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:46 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-15:19:05 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-15:19:05 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-15:19:05 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-11-29-235707 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-11-29-235707 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-11-29-235707 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-185602 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-185602 deleted file mode 100644 index d90770a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-185602 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71836 2006-12-03 18:56 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-185901 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-185901 deleted file mode 100644 index 61cc9bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-185901 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71768 2006-12-03 18:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-06-180205 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-06-180205 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-06-180205 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-213702 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-213702 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-213702 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-02-23-202443 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-02-23-202443 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-02-23-202443 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-02-23-202720 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-02-23-202720 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-02-23-202720 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-03-07-231936 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-03-07-231936 deleted file mode 100644 index c2ef3d0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-03-07-231936 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71213 2007-03-07 23:18 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-04-06-011811 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-04-06-011811 deleted file mode 100644 index 73de8724..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2007-04-06-011811 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71281 2007-04-06 01:17 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2009-09-29-075620 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2009-09-29-075620 deleted file mode 100644 index 7719cb7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2009-09-29-075620 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 101258 2009-09-29 07:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/2009-11-26-075836 b/software/cinit/browse_source/cinit-0.3pre19/src/size/2009-11-26-075836 deleted file mode 100644 index 6d36174a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/2009-11-26-075836 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 101274 2009-11-26 07:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/size/README b/software/cinit/browse_source/cinit-0.3pre19/src/size/README deleted file mode 100644 index 4cd30360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/size/README +++ /dev/null @@ -1 +0,0 @@ -Sizes of cinit, tracked during development. diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/check_add_deps.c deleted file mode 100644 index b3fcd691..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/check_add_deps.c +++ /dev/null @@ -1,128 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Add dependencies to a service - */ - -#include /* getcwd */ - -#include /* DIR */ -#include /* errno */ - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_* */ -#include "svc-intern.h" /* DEP_* */ - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX + 1]; - char oldpath[PATH_MAX + 1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath, PATH_MAX + 1)) { - print_errno(MSG_GETCWD); - return 0; - } - - /* Create path */ - strncpy(buf, svc->abs_path, PATH_MAX+1); - if(type == DEP_NEEDS) { - if(!path_append(buf, C_NEEDS)) return 0; - } else { - if(!path_append(buf, C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent = readdir(d_tmp)) != NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* - * skip non-working directories / broken links path_absolute reports - * errors on failure - */ - if(!path_absolute(tdirent->d_name, buf, PATH_MAX + 1)) continue; - - /* 1. create the service we depend on 2. initialize its dependencies */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* - * We need ALL dependencies, as we are called only once per service; no - * need to test that first! And the other service CANNOT know anything - * about us yet, so we always add us to its list. - */ - - /* - * Dependencies: - a.needs b; add b to the list of dependencies. - - * a.needs b; add a to the list of needed by b. 1. check whether the - * dependency already exists 2. otherwise add it 3. do it once for needs, - * once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - /* add us to the other service */ - dep_entry_add(&(new_svc->needed_by), deps); - - /* add other service to us */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs), deps); - } else { - /* add us to the other service */ - dep_entry_add(&(new_svc->wanted_by), deps); - - /* add other service to us */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants), deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/dep_create.c deleted file mode 100644 index 1bf513ee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/dep_create.c +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc-intern.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/dep_entry_add.c deleted file mode 100644 index 41b67d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/dep_entry_add.c +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Add a new item to a (non-)empty list - */ - -#include "svc-intern.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(!(*deplist)) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/dep_entry_del.c deleted file mode 100644 index 460b37ce..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/dep_entry_del.c +++ /dev/null @@ -1,55 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc-intern.h" /* struct *dep */ - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* - * last service in the list - */ - if(del->next == del && del->prev == del) { - tmp = NULL; - } else { - /* - * remove from list - */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/dep_needs_wants_add.c deleted file mode 100644 index cfb7b242..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ -#include "svc-intern.h" /* struct *dep */ -#include "svc.h" /* struct *dep */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed_by; - } else { - end = svc->wanted_by; - } - - /* - * Place to the first dependency of this service - */ - tmp = end; - if(tmp != NULL) { - do { - /* - * Add service to the starter list, which - should be started once - - * should be respawned (both VIRGIN services!) - and which are not - * already in the list! - */ - if(((tmp->svc->status & CINIT_ST_SH_ONCE) || - (tmp->svc->status & CINIT_ST_SH_RESPAWN)) && - !(tmp->svc->status & CINIT_ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= CINIT_ST_IN_LIST; - dep_entry_add(list, new); - } - - /* - * FIXME: Clearify if we should go forward or backwards? this decision - * will influence starting order and may thereby add a minimal mount - * of speed enhancement As far as I can see it is not predictable, - * which way is better, because it heavily depends on the other - * services. If you know better, provide me with a patch ;-) - */ - - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/gen_halt_tree.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/gen_halt_tree.c deleted file mode 100644 index fee84d11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/gen_halt_tree.c +++ /dev/null @@ -1,64 +0,0 @@ - -/******************************************************************************* - * - * 2007-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * This function reads the full service tree and generates - * a list of services to begin shutdown (those that are not - * wanted or needed by any other service). - */ - -#include /* NULL */ - -#include "svc-intern.h" /* structs */ -#include "intern.h" /* structs */ - -struct dep *gen_halt_list(struct listitem *svc_tree) -{ - struct dep *list = NULL, *new = NULL; - struct listitem *tmp; - - /* - * no tree? nothing to shutdown. - */ - if(!svc_tree) { - return NULL; - } - - /* - * find all services that do not depend on other services: - empty wants? - * (currently ignore them) - empty needs! - */ - tmp = svc_tree; - do { - if(tmp->needs == NULL) { - /* - * create new dependency - */ - new = dep_create(tmp); - if(!new) - return NULL; - - dep_entry_add(&list, new); - } - tmp = tmp->next; - } while(tmp != svc_tree); - - return list; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/gen_svc_tree.c deleted file mode 100644 index ceb4acf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Pre calculate the service tree (recursive calling) - */ - -#include - -#include "intern.h" /* functions */ -#include "svc.h" /* constants */ -#include "svc-intern.h" /* functions */ - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li = list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li = svc_create(svc))) return NULL; - - /* add dependencies */ - if(!check_add_deps(li, DEP_NEEDS)) return NULL; - if(!check_add_deps(li, DEP_WANTS)) return NULL; - - /* If it has no dependencies, then the service is a start service. */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&deps_pending, deps); - - /* - * Mark it as being in the startup list, so it does not get added again - * in a dep_needs_wants_add call - */ - li->status |= CINIT_ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_delete_byname.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_delete_byname.c deleted file mode 100644 index 5bceb289..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_delete_byname.c +++ /dev/null @@ -1,47 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* free */ -#include "intern.h" /* list_search */ -#include "svc-intern.h" /* listitem */ - -/* ... */ -int list_delete_byname(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if(tmp == NULL) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - - free(tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_delete_bypointer.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_delete_bypointer.c deleted file mode 100644 index d50b51b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_delete_bypointer.c +++ /dev/null @@ -1,42 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* free */ -#include "svc-intern.h" /* listitem */ - -int list_delete_bypointer(struct listitem *li) -{ - /* FIXME: add warning? this case should not happen */ - if(li == NULL) { - return 0; - } - - li->next->prev = li->prev; - li->prev->next = li->next; - - free(li); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_display_all.c deleted file mode 100644 index b94758f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_display_all.c +++ /dev/null @@ -1,49 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ - -#include "messages.h" /* D_PRINTF */ -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return 0; - } else { - tmp = svc_list; - } - - do { - D_PRINTF("Service: "); - D_PRINTF(tmp->abs_path); - D_PRINTF("\n"); - - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_insert.c deleted file mode 100644 index 9f87be69..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_insert.c +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Insert service into service list - * - */ - -#include /* uint32_t */ -#include /* malloc */ -#include /* bzero / memset */ -#include "svc-intern.h" /* the list pointer */ - -struct listitem *list_insert(char *path, uint32_t status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - cinit_cp_data(tmp->abs_path, path); - - tmp->status = status; - tmp->pid = 0; - tmp->changed = NULL; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_modify.c deleted file mode 100644 index f527d98d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_modify.c +++ /dev/null @@ -1,57 +0,0 @@ - -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED. Not in use anymore. - * - * List handling - */ - -#error "NOT IN USE" - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if(tmp == NULL) { - return 0; - } - - /* - * delete objects, which are killed - */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_search.c deleted file mode 100644 index ff4578c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_search.c +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "svc-intern.h" /* struct listitem */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) return NULL; - - tmp = svc_list; - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_search_pid.c deleted file mode 100644 index 0633d95e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/list_search_pid.c +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * - * 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * List handling: Search by pid - * - */ - -#include /* NULL */ -#include /* pid_t */ -#include "svc-intern.h" /* struct listitem */ - -inline struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) return NULL; - - tmp = svc_list; - - do { - if(pid == tmp->pid) return tmp; /* found service */ - - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/shutdown_services.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/shutdown_services.c deleted file mode 100644 index da1e1cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/shutdown_services.c +++ /dev/null @@ -1,48 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Shutdown all services: This is more or less the negative - * version of 'svc_tree_exec()' - */ - -#include "svc-intern.h" /* struct */ -#include "svc.h" /* defines */ - -void shutdown_services(struct listitem *svc) -{ - /* - * The shutdown procedure: - * - * - take the list of running services - * - begin at the first (could be any) service and - * - shutdown all services that depend on that service - * --> recursive - * - take the next service (if there is still one ;-) - */ - - while(svc) { - svc_stop_deps(svc, CINIT_SSSO_COMPLETE); - svc = svc->next; - list_delete_bypointer(svc->prev); - } - - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_add_needs.c deleted file mode 100644 index be6c6312..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_add_needs.c +++ /dev/null @@ -1,92 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED! - * - * List handling - */ - -#error "NOT IN USE" - -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - /* - * retrieve service entries in global service list - */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* - * and exit if one is missing - */ - if(!svc_needs || !svc_is_needed) { - return 0; - } - - /* - * first add needs - */ - - /* - * now add needed_by - */ - - malloc... /* for adding */ - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* - * write generic function for dependencies or even all lists - */ - dep_entry_add(list_pointer, new_entry); - - if(list == NULL) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path, path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_create.c deleted file mode 100644 index 081a1b78..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_create.c +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Create a service, checking for existence is done before. - */ - -#include /* NULL */ -#include /* stat */ -#include /* errno */ - -#include "svc.h" /* constants */ -#include "svc-intern.h" /* listitem */ -#include "intern.h" /* path_append */ -#include "cinit.h" /* CINIT_DATA_LEN */ - -struct listitem *svc_create(char *svc) -{ - char buf[CINIT_DATA_LEN]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc, -1); - if(!li) return NULL; - - cinit_cp_data(buf, svc); - if(!path_append(buf, C_RESPAWN)) return NULL; - - if(stat(buf, &statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li, CINIT_ST_SH_ONCE); - } else { - return NULL; - } - } else { - svc_set_status(li, CINIT_ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_disable.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_disable.c deleted file mode 100644 index e0704bfc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_disable.c +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Stop a service - * - * Status: Written, looks finished, but untested. - * - * respawn: - * - disable respawning: set status to ST_RESPAWN_STOP - * - send term signal? no => can be done in "off" - * => set environment CINIT_SVC_PID - * once and respawn: - * - look for 'off' binary, execute if present - * - mark service as off or delete it? - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* waitpid */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ -#include "cinit.h" /* CINIT_DATA_LEN */ -#include "signals.h" /* signal handling */ - -uint32_t svc_disable(struct listitem *li) -{ - char buf[CINIT_DATA_LEN]; - - svc_set_status(li, CINIT_ST_SH_STOP); - - li->pid = fork(); - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path, MSG_SVC_FORK, strerror(errno)); - svc_set_status(li, CINIT_ST_BAD_ERR); - return CINIT_ASW_ERR_INTERN; - } - - /********************** Parent / fork() ************************/ - if(li->pid > 0) { - /* FIXME: why duplicate? */ - svc_set_status(li, CINIT_ST_SH_STOP); - return CINIT_ASW_OK; - } - - /********************** Client / fork() ************************/ - svc_report_status(li->abs_path, MSG_SVC_STOP, NULL); - - cinit_cp_data(buf, li->abs_path); - if(!path_append(buf, C_OFF)) _exit(1); - - /* - * Check for existence - */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - _exit(0); - } - - if(li->status == FE_FILE) { - /* - * FIXME: reset signals: Is this necessary? Or does fork clean it anyway? - */ - set_signals(SIGSTAGE_CLIENT); - - /* - * and now, fire it up - */ - execute_sth(buf); - } else { - /* - * FIXME: report? - */ - /* - * either no file or an error - */ - _exit(1); - } - - /* FIXME: we will never return ... */ - return CINIT_ASW_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_fail.c deleted file mode 100644 index 63ed7ff9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_fail.c +++ /dev/null @@ -1,38 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Mark the service as being failed - */ - -#include "svc.h" -#include "svc-intern.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) - li->status = CINIT_ST_ONCE_FAIL; - else { - /* - * FIXME: do something senseful, record time of dead? - */ - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_handle_pending.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_handle_pending.c deleted file mode 100644 index c8ae2f68..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_handle_pending.c +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Handle pending services - * - */ - -#include /* NULL */ - -#include /* NULL */ -#include "intern.h" /* mini_printf */ -#include "messages.h" /* messages */ -#include "svc.h" /* svc_init */ -#include "svc-intern.h" /* svc_init */ - -/*********************************************************************** - * go through the pending list and exit at the end. - * we will be called again after something changed: - * svc_status_changed() is triggered by the death of one or more children - * and sets up changes - */ -int svc_handle_pending(struct dep *pending) -{ - struct dep *tmp = pending; - struct dep *hack; - struct timespec ts; - - mini_printf(MSG_TREE_EXEC, 1); - - /* apply changes to changed services */ - while(tmp != NULL) { - /* to be started */ - if(tmp->svc->status & (CINIT_ST_SH_ONCE | CINIT_ST_SH_RESPAWN)) { - svc_start(tmp->svc); - tmp = dep_entry_del(tmp); - } - - switch(svc_needs_status(tmp->svc)) { - case CINIT_SNS_NEEDS_STARTED: - /* - * FIXME: MSG_* - */ - svc_report_status(tmp->svc->abs_path, "Finished needs.", NULL); - - /* execute service, add dependencies, remove from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_FAILED: - /* - * mark service as NEED_FAILD and delete from list - */ - /* FIXME: reporting moved to svc_needs_status.c */ - //svc_report_status(tmp->svc->abs_path, MSG_SVC_NEED_FAIL, NULL); - svc_set_status(tmp->svc, CINIT_ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_UNFINISHED: - /* - * FIXME: continue here! - */ - - hack = tmp->svc->needs; - do { - // get needs -// printf("%s waits for %s",tmp->svc->abs_path,hack->svc->abs_path); - // display status of needs - // printf("%s: %ld\n",hack->svc->abs_path,hack->svc->status); - hack = hack->next; - } while(hack != tmp->svc->needs); - - tmp = tmp->next; /* continue with the next item */ - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep(&ts, NULL); - break; - } - /* - * This case happens, if it's the last service waiting for something - */ - /* - * if(tmp == tmp->next) { - * - * nanosleep()? printf("BUUUUUUUUUUUUUG, exit\n"); break; } - */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_needs_status.c deleted file mode 100644 index 9b9e0243..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_needs_status.c +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return status of the needs of this service - * - */ - -#include /* NULL */ -#include "svc.h" /* service information */ -#include "svc-intern.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = CINIT_SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - - if(deps == NULL) - return CINIT_SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* - * worst case: need failed - */ - if((deps->svc->status & CINIT_ST_NEED_FAILD) || - (deps->svc->status & CINIT_ST_ONCE_FAIL) || - (deps->svc->status & CINIT_ST_BAD_ERR)) { - printf("%s not started, because %s failed.\n", svc->abs_path, deps->svc->abs_path); - retval = CINIT_SNS_NEEDS_FAILED; - break; - } - /* - * services are being started - */ - if((deps->svc->status & CINIT_ST_SH_ONCE) || - (deps->svc->status & CINIT_ST_SH_RESPAWN) || - (deps->svc->status & CINIT_ST_ONCE_RUN)) { - // printf("%s (%ld) waits for %s (%ld)\n",svc->abs_path, svc->status, - // deps->svc->abs_path, deps->svc->status); - retval = CINIT_SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_report_status.c deleted file mode 100644 index 9a1c1bab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_report_status.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Tell the world what happened to the service - */ - -#include "intern.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC, 1); - mini_printf(svc, 1); - mini_printf(": ", 1); - mini_printf(msg, 1); - if(err) { - mini_printf(" (", 1); - mini_printf(err, 1); - mini_printf(")", 1); - } - mini_printf("\n", 1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_respawn_check.c deleted file mode 100644 index 86fe71ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,40 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * OBSOLETED? not in use. - * - * Check whether service is existent - */ - -#error "NOT IN USE" - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX + 1]; - - strcpy(buf, svc->abs_path); - if(!path_append(buf, C_RESPAWN)) - return 0} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_set_status.c deleted file mode 100644 index 647ea20a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_set_status.c +++ /dev/null @@ -1,37 +0,0 @@ - -/******************************************************************************* - * - * 2005-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set the status of a service - */ - -#include - -#include "svc-intern.h" - -/* checking for existence is done before! */ -uint32_t svc_set_status(struct listitem *li, uint32_t status) -{ - /* - * FIXME: also set time? - */ - - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_should_respawn.c deleted file mode 100644 index a217261a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,32 +0,0 @@ - -/******************************************************************************* - * - * 2006-2008 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Return whether should respawn or not - */ - -#include "svc-intern.h" -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & CINIT_ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_start.c deleted file mode 100644 index 6a40b846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_start.c +++ /dev/null @@ -1,123 +0,0 @@ -/******************************************************************************* - * - * 2005-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* nanosleep() */ - -#include "svc.h" /* struct * */ -#include "svc-intern.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "intern.h" /* execute_sth */ -#include "cinit.h" /* CINIT_DATA_LEN */ -#include "signals.h" /* signal handling */ - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li) -{ - char buf[CINIT_DATA_LEN]; - struct timespec ts; - int delay = 0; /* FIXME: to be calculated by waitpid status, if respawing */ - - /* first update status before forking ! */ - if(li->status & CINIT_ST_SH_ONCE) li->status = CINIT_ST_ONCE_RUN; - else li->status = CINIT_ST_RESPAWNING; - - /* set start time */ - li->start = time(NULL); - - /* - * FIXME: All cleanup must go here close(fds); reset signals reset env? - * FIXME: Add logging possibility to here open (0,1,2) to other processes, - * if specified - */ - - /* - * BUG: the following child may return _before_ the fork returns in the - * parent. Thus this pid may not be registered. And that's the reason why - * we need the global svc_lock! - */ - li->pid = fork(); - - /********************** parent ************************/ - if(li->pid > 0) { - printf("%s is at %d\n", li->abs_path, li->pid); - return; - } - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path, MSG_SVC_FORK, strerror(errno)); - svc_set_status(li, CINIT_ST_BAD_ERR); - return; - } - - /********************** Client / fork() ************************/ - /* - * sleep, if necesseray - */ - if(delay) { - ts.tv_sec = delay; - ts.tv_nsec = 0; - - /* - * FIXME: also report value; int2char - */ - printf("Delay: %d\n", delay); - svc_report_status(li->abs_path, MSG_SVC_SLEEP, NULL); - - /* - * do not need to check for errors, because we can continue anyway - */ - /* - * WRONG: FIXME: look whether to sleep again - */ - nanosleep(&ts, NULL); - } - svc_report_status(li->abs_path, MSG_SVC_START, NULL); - - cinit_cp_data(buf, li->abs_path); - if(!path_append(buf, C_ON)) return; - - /* - * Check for existence - */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - svc_report_status(li->abs_path, "Nothing to execute :-)", NULL); - _exit(0); /* nothing there? fine! */ - } - - if(li->status == FE_FILE) { - /* FIXME: I guess this a) does nothing b) should do more than only signals */ - set_signals(SIGSTAGE_CLIENT); - - execute_sth(buf); - } else { /* any kind of error, reported by file_exists already */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_status_changed.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_status_changed.c deleted file mode 100644 index eeff8af7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_status_changed.c +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * - * 2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Handle changed services - * - */ - -#include /* Macros for waitpid */ -#include /* NULL */ -//#include /* gettimeofday() */ /* FIXME: CHECK POSIX */ -#include /* time() */ - -#include "svc-intern.h" /* listem */ -#include "svc.h" /* service status */ -#include "intern.h" /* mini_printf */ -//#include "messages.h" /* messages/D_PRINTF */ - - -/*********************************************************************** - * register changes from our children - */ -int svc_status_changed() -{ - int success; - int tmp = 0; - struct listitem *svc; - pid_t pid; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - svc = list_search_pid(pid); - - if(!svc) continue; /* ignore stuff from our lazy children */ - - success = (WIFEXITED(svc->waitpid) && !WEXITSTATUS(svc->waitpid)) ? 1 : 0; - svc->exited = time(NULL); - - /************************************************************************ - * Update status using a "status translation table" - */ - - /* once running service exited */ - if(svc->status & CINIT_ST_ONCE_RUN) { - if(success) { - svc->status = CINIT_ST_ONCE_OK; - } else { - svc->status = CINIT_ST_ONCE_FAIL; - } - } - /* respawing service died */ - else if(svc->status & CINIT_ST_RESPAWNING) { - svc->status = CINIT_ST_SH_RESPAWN; - } - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_stop_deps.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_stop_deps.c deleted file mode 100644 index 02d6d6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_stop_deps.c +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * - * 2007-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - FIXME: not needed anymore! -> change to svc_status_changed() - * Stop a service, taking care about its dependencies - */ - -#include "svc.h" /* enums */ -#include "svc-intern.h" /* struct listitem */ - -/* - * how == CINIT_SSSO_COMPLETE => stop needs/wants before - * how & CINIT_SSSO_WO_NEEDS => omit needs - * how & CINIT_SSSO_WO_WANTS => omit wants - */ - -void svc_stop_deps(struct listitem *li, int how) -{ - struct dep *tmp; - - /* - * don't continue if already being stopped - */ - if(li->status & CINIT_ST_SH_STOP) return; - - /* - * shutdown depending services first: needed_by - */ - tmp = li->needed_by; - do { - if(how & CINIT_SSSO_WO_NEEDS) - break; - svc_stop_deps(tmp->svc, how); - tmp = tmp->next; - } while(tmp != li->needed_by); - - /* - * shutdown depending services first: wanted_by - */ - tmp = li->wanted_by; - do { - if(how & CINIT_SSSO_WO_WANTS) - break; - svc_stop_deps(tmp->svc, how); - tmp = tmp->next; - } while(tmp != li->wanted_by); - - svc_disable(li); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_success.c deleted file mode 100644 index cef5b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_success.c +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Set the status of a service - */ - -#include /* NULL */ - -#include "svc.h" /* listitem, svc_report_status */ -#include "svc-intern.h" /* listitem, svc_report_status */ -#include "messages.h" /* messages */ - -void svc_success(struct listitem *li) -{ - if(li->status & CINIT_ST_ONCE_RUN) { - svc_report_status(li->abs_path, MSG_SVC_OK_ONCE, NULL); - li->status = CINIT_ST_ONCE_OK; - } else { - svc_report_status(li->abs_path, MSG_SVC_OK_RESPAWN, NULL); - li->status = CINIT_ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_tree_exec.c b/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_tree_exec.c deleted file mode 100644 index e818ce79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/svc/svc_tree_exec.c +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************* - * - * 2006-2009 Nico Schottelius (nico-cinit at schottelius.org) - * - * This file is part of cinit. - - * cinit is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * cinit is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with cinit. If not, see . - - * - * Start the service tree we created - */ - -#include /* NULL */ - -#include /* NULL */ -#include "intern.h" /* mini_printf */ -#include "messages.h" /* messages */ -#include "svc.h" /* svc_init */ -#include "svc-intern.h" /* svc_init */ - -/* some thoughts... - * - * - we already generated the tree, now we need to start it from - * the endings - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int svc_tree_exec(struct dep *start) -{ - struct dep *tmp = start; - struct dep *hack; - struct timespec ts; - - mini_printf(MSG_TREE_EXEC, 1); - - /* - * the main starting loop: All services in this list should be started, but - * it is possible that dependent services are in the list. In this case - * simply skip the current service - */ - do { - switch (svc_needs_status(tmp->svc)) { - case CINIT_SNS_NEEDS_STARTED: - /* - * FIXME: MSG_* - */ - svc_report_status(tmp->svc->abs_path, "Finished needs.", NULL); - - /* execute service, add dependencies, remove from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp, tmp->svc, DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_FAILED: - /* - * mark service as NEED_FAILD and delete from list - */ - /* FIXME: reporting moved to svc_needs_status.c */ - //svc_report_status(tmp->svc->abs_path, MSG_SVC_NEED_FAIL, NULL); - svc_set_status(tmp->svc, CINIT_ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case CINIT_SNS_NEEDS_UNFINISHED: - /* - * FIXME: continue here! - */ - - hack = tmp->svc->needs; - do { - // get needs -// printf("%s waits for %s",tmp->svc->abs_path,hack->svc->abs_path); - // display status of needs - // printf("%s: %ld\n",hack->svc->abs_path,hack->svc->status); - hack = hack->next; - } while(hack != tmp->svc->needs); - - tmp = tmp->next; /* continue with the next item */ - ts.tv_sec = 2; - ts.tv_nsec = 0; - nanosleep(&ts, NULL); - break; - } - /* - * This case happens, if it's the last service waiting for something - */ - /* - * if(tmp == tmp->next) { - * - * nanosleep()? printf("BUUUUUUUUUUUUUG, exit\n"); break; } - */ - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/data1.c b/software/cinit/browse_source/cinit-0.3pre19/src/test/data1.c deleted file mode 100644 index 5be9b26a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/data1.c +++ /dev/null @@ -1,53 +0,0 @@ -#include -#include -#include - -int main() -{ - int a, b, e; - char *c = "/etc/cinit/svc/...", *data; - - int a2, b2; - char *c2; - - a2 = b2 = 0; - - a = 1001; - b = strlen(c); - c2 = malloc(b + 1); - if(!c2) - return 40; - - e = sizeof(a) + sizeof(b) + b; - - printf("e=%d (b=%d)\n", e, b); - - data = malloc(e); - if(!data) - return 20; - - /* - * in - */ - strcpy(data, (char *) &a); - e = sizeof(a); - strcpy(&data[e], (char *) &b); - e += sizeof(b); - strcpy(&data[e], c); - - /* - * out - */ - strncpy((char *) &a2, data, sizeof(a2)); - printf("a2=%d\n", a2); - e = sizeof(a2); - - strncpy((char *) &b2, &data[e], sizeof(b2)); - printf("b2=%d\n", b2); - e += sizeof(b2); - - strncpy(c2, &data[e], b2); - printf("c2=%s\n", c2); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c b/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c deleted file mode 100644 index 77cc731a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c +++ /dev/null @@ -1,147 +0,0 @@ -/************* - * - * A very small program to show that the child() of a fork() - * proceess can / CANNOT exit before fork() returns in the parent - * - * Nico Schottelius, Copying: GPLv3, 20070925 - * - * I run it this way: - - * % ./fork-latency | grep "Unknown child exited" | sort | uniq | wc -l - * => Number of children that exited before we recorded them! (should be 0) - * - * % ./fork-latency | grep "found" | sort | uniq | wc -l - * => children, which exited after fork() returned. - * - * % ./fork-latency | grep "found" | wc -l - * => should equal MAX (see sourcecode) - * - * % ./fork-latency | wc -l - * => should also equal MAX (see sourcecode) - * - * Some interesting facts: - * - * - With MAX=5000 I get: - * - * [20:02] ikn:test% ./fork-latency | grep "found" | wc -l - * 731705 - * [20:03] ikn:test% ./fork-latency | wc -l - * 734683 - * - * [20:04] ikn:test% ./fork-latency | sort | head -n 4 - * 1339) found - * 1339) found - * 1339) found - * 1339) found - * - * - * I'm wondering, why even with WNOHANG I get to check pids twice, - * also because I'm clearing the pid, after I found it (list[o] = 0). - * - -This code is weired (using return intead of exit, see below): - -[20:38] ikn:test% ./fork-latency > D -[20:38] ikn:test% cat D -MAX=2 -MAX=2 -[1] Forked 12264 -MAX=2 -[1] Forked 12264 -[0] Forked 12265 -(12264) found -(12265) found -[20:38] ikn:test% - - -With _exit: - -[21:17] ikn:test% ./fork-latency > E -[21:17] ikn:test% cat E -MAX=2 -[1] Forked 15388 -[0] Forked 15389 -(15388) found -(15389) found - - - */ - -#include /* fork() */ -#include /* sigaction, sigemtpyset */ -#include /* waitpid */ -#include /* printf, NULL */ - -#define MAX 20000 /* number of forks */ - -pid_t list[MAX]; -int i; -int got_sig; - -void sig_child(int sig) -{ - got_sig = 1; -} - -void reap_child() -{ - int o; - int found; - int status; - pid_t pid; - - got_sig = 0; - - /* WNOHANG is evil: it makes us call the loop MORE THAN ONCE - * PER DEAD CHILD! -> registering a dead child via signal - * handler makes WNOHANG obsolete - */ - //while((pid = waitpid(-1, &status, WNOHANG)) > 0) { - while((pid = waitpid(-1, &status, 0)) > 0) { - found = 0; - // no need to search the whole list, use o = i instead - // for(o = 0; o < MAX; o++) { - for(o = i; o < MAX; o++) { - if(list[o] == pid) { - list[o] = 0; /* empty */ - found = 1; - break; - } - } - if(found) { - printf("(%d) found\n", pid); - } else { - printf("(%d) Unknown child exited\n", pid); - } - } -} - -int main() -{ - struct sigaction sa; - - /* listen to SIGCHLD */ - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - sigaction(SIGCHLD, &sa, NULL); - - i = MAX; - - printf("MAX=%d\n", i); - - for(i = MAX - 1; i >= 0; i--) { - list[i] = fork(); - /* child exists immediately */ - if(list[i] == 0) _exit(0); - - /* this causes a different behaviour */ - /* if(list[i] == 0) return 0; */ - - printf("[%d] Forked %d\n", i, list[i]); - - /* parent code */ - if(got_sig) reap_child(); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.A b/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.A deleted file mode 100644 index bd0df9f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.A +++ /dev/null @@ -1,8 +0,0 @@ -Forking 1 -Forking 1 -(11456) found -Forking 0 -Forking 1 -(11456) found -Forking 0 -(11457) found diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.B b/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.B deleted file mode 100644 index 95f042c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.B +++ /dev/null @@ -1,7 +0,0 @@ -Forking 1 (0) -Forking 1 (11799) -Forking 0 (0) -Forking 1 (11799) -Forking 0 (11800) -(11799) found -(11800) found diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.C b/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.C deleted file mode 100644 index 9c1b6922..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.C +++ /dev/null @@ -1,5 +0,0 @@ -[1] Forked 11905 -[1] Forked 11905 -[0] Forked 11906 -(11905) found -(11906) found diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.D b/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.D deleted file mode 100644 index 4adfec55..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.D +++ /dev/null @@ -1,8 +0,0 @@ -MAX=2 -MAX=2 -[1] Forked 12264 -MAX=2 -[1] Forked 12264 -[0] Forked 12265 -(12264) found -(12265) found diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.E b/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.E deleted file mode 100644 index 4a4190a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.E +++ /dev/null @@ -1,5 +0,0 @@ -MAX=2 -[1] Forked 15388 -[0] Forked 15389 -(15388) found -(15389) found diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.F b/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.F deleted file mode 100644 index a7ebfe81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.F +++ /dev/null @@ -1,40001 +0,0 @@ -MAX=20000 -[19999] Forked 17761 -[19998] Forked 17762 -(17761) found -(17762) found -[19997] Forked 17763 -[19996] Forked 17764 -(17763) found -(17764) found -[19995] Forked 17765 -(17765) found -[19994] Forked 17766 -(17766) found -[19993] Forked 17767 -(17767) found -[19992] Forked 17768 -(17768) found -[19991] Forked 17769 -(17769) found -[19990] Forked 17770 -(17770) found -[19989] Forked 17771 -(17771) found -[19988] Forked 17772 -(17772) found -[19987] Forked 17773 -(17773) found -[19986] Forked 17774 -(17774) found -[19985] Forked 17775 -(17775) found -[19984] Forked 17776 -(17776) found -[19983] Forked 17777 -(17777) found -[19982] Forked 17778 -(17778) found -[19981] Forked 17779 -(17779) found -[19980] Forked 17780 -(17780) found -[19979] Forked 17781 -(17781) found -[19978] Forked 17782 -(17782) found -[19977] Forked 17783 -(17783) found -[19976] Forked 17784 -(17784) found -[19975] Forked 17785 -(17785) found -[19974] Forked 17786 -(17786) found -[19973] Forked 17787 -(17787) found -[19972] Forked 17788 -(17788) found -[19971] Forked 17789 -(17789) found -[19970] Forked 17790 -(17790) found -[19969] Forked 17791 -(17791) found -[19968] Forked 17792 -(17792) found -[19967] Forked 17793 -[19966] Forked 17794 -(17793) found -(17794) found -[19965] Forked 17795 -[19964] Forked 17796 -(17795) found -(17796) found -[19963] Forked 17797 -[19962] Forked 17798 -(17797) found -(17798) found -[19961] Forked 17799 -[19960] Forked 17800 -(17799) found -(17800) found -[19959] Forked 17801 -[19958] Forked 17802 -(17801) found -(17802) found -[19957] Forked 17803 -[19956] Forked 17804 -(17803) found -(17804) found -[19955] Forked 17805 -[19954] Forked 17806 -(17805) found -(17806) found -[19953] Forked 17807 -[19952] Forked 17808 -(17807) found -(17808) found -[19951] Forked 17809 -[19950] Forked 17810 -(17809) found -(17810) found -[19949] Forked 17811 -[19948] Forked 17812 -(17811) found -(17812) found -[19947] Forked 17813 -[19946] Forked 17814 -(17813) found -(17814) found -[19945] Forked 17815 -[19944] Forked 17816 -(17815) found -(17816) found -[19943] Forked 17817 -[19942] Forked 17818 -(17817) found -(17818) found -[19941] Forked 17819 -[19940] Forked 17820 -(17819) found -(17820) found -[19939] Forked 17821 -[19938] Forked 17822 -(17821) found -(17822) found -[19937] Forked 17823 -[19936] Forked 17824 -(17823) found -(17824) found -[19935] Forked 17825 -[19934] Forked 17826 -(17825) found -(17826) found -[19933] Forked 17827 -[19932] Forked 17828 -(17827) found -(17828) found -[19931] Forked 17829 -[19930] Forked 17830 -(17829) found -(17830) found -[19929] Forked 17831 -[19928] Forked 17832 -(17831) found -(17832) found -[19927] Forked 17833 -[19926] Forked 17834 -(17833) found -(17834) found -[19925] Forked 17835 -[19924] Forked 17836 -(17835) found -(17836) found -[19923] Forked 17837 -[19922] Forked 17838 -(17837) found -(17838) found -[19921] Forked 17839 -[19920] Forked 17840 -(17839) found -(17840) found -[19919] Forked 17841 -[19918] Forked 17842 -(17841) found -(17842) found -[19917] Forked 17843 -[19916] Forked 17844 -(17843) found -(17844) found -[19915] Forked 17845 -[19914] Forked 17846 -(17845) found -(17846) found -[19913] Forked 17847 -[19912] Forked 17848 -(17847) found -(17848) found -[19911] Forked 17849 -[19910] Forked 17850 -(17849) found -(17850) found -[19909] Forked 17851 -[19908] Forked 17852 -(17851) found -(17852) found -[19907] Forked 17853 -[19906] Forked 17854 -(17853) found -(17854) found -[19905] Forked 17855 -[19904] Forked 17856 -(17855) found -(17856) found -[19903] Forked 17857 -[19902] Forked 17858 -(17857) found -(17858) found -[19901] Forked 17859 -[19900] Forked 17860 -(17859) found -(17860) found -[19899] Forked 17861 -[19898] Forked 17862 -(17861) found -(17862) found -[19897] Forked 17863 -[19896] Forked 17864 -(17863) found -(17864) found -[19895] Forked 17865 -[19894] Forked 17866 -(17865) found -(17866) found -[19893] Forked 17867 -[19892] Forked 17868 -(17867) found -(17868) found -[19891] Forked 17869 -[19890] Forked 17870 -(17869) found -(17870) found -[19889] Forked 17871 -[19888] Forked 17872 -(17871) found -(17872) found -[19887] Forked 17873 -[19886] Forked 17874 -(17873) found -(17874) found -[19885] Forked 17875 -[19884] Forked 17876 -(17875) found -(17876) found -[19883] Forked 17877 -[19882] Forked 17878 -(17877) found -(17878) found -[19881] Forked 17879 -[19880] Forked 17880 -(17879) found -(17880) found -[19879] Forked 17881 -[19878] Forked 17882 -(17881) found -(17882) found -[19877] Forked 17883 -[19876] Forked 17884 -(17883) found -(17884) found -[19875] Forked 17885 -[19874] Forked 17886 -(17885) found -(17886) found -[19873] Forked 17887 -[19872] Forked 17888 -(17887) found -(17888) found -[19871] Forked 17889 -[19870] Forked 17890 -(17889) found -(17890) found -[19869] Forked 17891 -[19868] Forked 17892 -(17891) found -(17892) found -[19867] Forked 17893 -[19866] Forked 17894 -(17893) found -(17894) found -[19865] Forked 17895 -[19864] Forked 17896 -(17895) found -(17896) found -[19863] Forked 17897 -[19862] Forked 17898 -(17897) found -(17898) found -[19861] Forked 17899 -[19860] Forked 17900 -(17899) found -(17900) found -[19859] Forked 17901 -[19858] Forked 17902 -(17901) found -(17902) found -[19857] Forked 17903 -[19856] Forked 17904 -(17903) found -(17904) found -[19855] Forked 17905 -[19854] Forked 17906 -(17905) found -(17906) found -[19853] Forked 17907 -[19852] Forked 17908 -(17907) found -(17908) found -[19851] Forked 17909 -[19850] Forked 17910 -(17909) found -(17910) found -[19849] Forked 17911 -[19848] Forked 17912 -(17911) found -(17912) found -[19847] Forked 17913 -[19846] Forked 17914 -(17913) found -(17914) found -[19845] Forked 17915 -[19844] Forked 17916 -(17915) found -(17916) found -[19843] Forked 17917 -[19842] Forked 17918 -(17917) found -(17918) found -[19841] Forked 17919 -[19840] Forked 17920 -(17919) found -(17920) found -[19839] Forked 17921 -[19838] Forked 17922 -(17921) found -(17922) found -[19837] Forked 17923 -[19836] Forked 17924 -(17923) found -(17924) found -[19835] Forked 17925 -(17925) found -[19834] Forked 17926 -(17926) found -[19833] Forked 17927 -(17927) found -[19832] Forked 17928 -(17928) found -[19831] Forked 17929 -(17929) found -[19830] Forked 17930 -(17930) found -[19829] Forked 17931 -(17931) found -[19828] Forked 17932 -[19827] Forked 17933 -(17932) found -(17933) found -[19826] Forked 17934 -(17934) found -[19825] Forked 17935 -(17935) found -[19824] Forked 17936 -(17936) found -[19823] Forked 17937 -(17937) found -[19822] Forked 17938 -(17938) found -[19821] Forked 17939 -(17939) found -[19820] Forked 17940 -(17940) found -[19819] Forked 17941 -(17941) found -[19818] Forked 17942 -(17942) found -[19817] Forked 17943 -(17943) found -[19816] Forked 17944 -(17944) found -[19815] Forked 17945 -(17945) found -[19814] Forked 17946 -(17946) found -[19813] Forked 17947 -(17947) found -[19812] Forked 17948 -(17948) found -[19811] Forked 17949 -(17949) found -[19810] Forked 17950 -(17950) found -[19809] Forked 17951 -(17951) found -[19808] Forked 17952 -(17952) found -[19807] Forked 17953 -(17953) found -[19806] Forked 17954 -(17954) found -[19805] Forked 17955 -(17955) found -[19804] Forked 17956 -(17956) found -[19803] Forked 17957 -(17957) found -[19802] Forked 17958 -(17958) found -[19801] Forked 17959 -(17959) found -[19800] Forked 17960 -(17960) found -[19799] Forked 17961 -(17961) found -[19798] Forked 17962 -(17962) found -[19797] Forked 17963 -(17963) found -[19796] Forked 17964 -(17964) found -[19795] Forked 17965 -(17965) found -[19794] Forked 17966 -(17966) found -[19793] Forked 17967 -(17967) found -[19792] Forked 17968 -(17968) found -[19791] Forked 17969 -(17969) found -[19790] Forked 17970 -[19789] Forked 17971 -(17970) found -(17971) found -[19788] Forked 17972 -[19787] Forked 17973 -(17972) found -(17973) found -[19786] Forked 17974 -[19785] Forked 17975 -(17974) found -(17975) found -[19784] Forked 17976 -[19783] Forked 17977 -(17976) found -(17977) found -[19782] Forked 17978 -[19781] Forked 17979 -(17978) found -(17979) found -[19780] Forked 17980 -[19779] Forked 17981 -(17981) found -(17980) found -[19778] Forked 17982 -(17982) found -[19777] Forked 17983 -(17983) found -[19776] Forked 17984 -(17984) found -[19775] Forked 17985 -(17985) found -[19774] Forked 17986 -(17986) found -[19773] Forked 17987 -(17987) found -[19772] Forked 17988 -(17988) found -[19771] Forked 17989 -(17989) found -[19770] Forked 17990 -(17990) found -[19769] Forked 17991 -(17991) found -[19768] Forked 17992 -(17992) found -[19767] Forked 17993 -(17993) found -[19766] Forked 17994 -(17994) found -[19765] Forked 17995 -(17995) found -[19764] Forked 17996 -(17996) found -[19763] Forked 17997 -(17997) found -[19762] Forked 17998 -(17998) found -[19761] Forked 17999 -(17999) found -[19760] Forked 18000 -(18000) found -[19759] Forked 18001 -(18001) found -[19758] Forked 18002 -(18002) found -[19757] Forked 18003 -(18003) found -[19756] Forked 18004 -(18004) found -[19755] Forked 18005 -(18005) found -[19754] Forked 18006 -(18006) found -[19753] Forked 18007 -(18007) found -[19752] Forked 18008 -(18008) found -[19751] Forked 18009 -(18009) found -[19750] Forked 18010 -(18010) found -[19749] Forked 18011 -(18011) found -[19748] Forked 18012 -(18012) found -[19747] Forked 18013 -(18013) found -[19746] Forked 18014 -(18014) found -[19745] Forked 18015 -(18015) found -[19744] Forked 18016 -(18016) found -[19743] Forked 18017 -(18017) found -[19742] Forked 18018 -(18018) found -[19741] Forked 18019 -(18019) found -[19740] Forked 18020 -(18020) found -[19739] Forked 18021 -(18021) found -[19738] Forked 18022 -(18022) found -[19737] Forked 18023 -(18023) found -[19736] Forked 18024 -(18024) found -[19735] Forked 18025 -(18025) found -[19734] Forked 18026 -(18026) found -[19733] Forked 18027 -(18027) found -[19732] Forked 18028 -(18028) found -[19731] Forked 18029 -(18029) found -[19730] Forked 18030 -(18030) found -[19729] Forked 18031 -(18031) found -[19728] Forked 18032 -(18032) found -[19727] Forked 18033 -(18033) found -[19726] Forked 18034 -(18034) found -[19725] Forked 18035 -(18035) found -[19724] Forked 18036 -(18036) found -[19723] Forked 18037 -(18037) found -[19722] Forked 18038 -(18038) found -[19721] Forked 18039 -(18039) found -[19720] Forked 18040 -(18040) found -[19719] Forked 18041 -(18041) found -[19718] Forked 18042 -[19717] Forked 18043 -(18042) found -(18043) found -[19716] Forked 18044 -[19715] Forked 18045 -(18044) found -(18045) found -[19714] Forked 18046 -[19713] Forked 18047 -(18046) found -(18047) found -[19712] Forked 18048 -[19711] Forked 18049 -(18049) found -(18048) found -[19710] Forked 18050 -(18050) found -[19709] Forked 18051 -(18051) found -[19708] Forked 18052 -(18052) found -[19707] Forked 18053 -(18053) found -[19706] Forked 18055 -(18055) found -[19705] Forked 18056 -(18056) found -[19704] Forked 18057 -(18057) found -[19703] Forked 18058 -(18058) found -[19702] Forked 18059 -(18059) found -[19701] Forked 18060 -(18060) found -[19700] Forked 18061 -(18061) found -[19699] Forked 18062 -(18062) found -[19698] Forked 18063 -(18063) found -[19697] Forked 18064 -(18064) found -[19696] Forked 18065 -(18065) found -[19695] Forked 18066 -(18066) found -[19694] Forked 18067 -(18067) found -[19693] Forked 18068 -(18068) found -[19692] Forked 18069 -(18069) found -[19691] Forked 18070 -(18070) found -[19690] Forked 18071 -(18071) found -[19689] Forked 18072 -(18072) found -[19688] Forked 18073 -(18073) found -[19687] Forked 18074 -(18074) found -[19686] Forked 18075 -(18075) found -[19685] Forked 18076 -(18076) found -[19684] Forked 18077 -(18077) found -[19683] Forked 18078 -(18078) found -[19682] Forked 18079 -(18079) found -[19681] Forked 18080 -(18080) found -[19680] Forked 18081 -(18081) found -[19679] Forked 18082 -(18082) found -[19678] Forked 18083 -(18083) found -[19677] Forked 18084 -(18084) found -[19676] Forked 18085 -(18085) found -[19675] Forked 18086 -(18086) found -[19674] Forked 18087 -(18087) found -[19673] Forked 18088 -(18088) found -[19672] Forked 18089 -(18089) found -[19671] Forked 18090 -(18090) found -[19670] Forked 18091 -(18091) found -[19669] Forked 18092 -(18092) found -[19668] Forked 18093 -(18093) found -[19667] Forked 18094 -(18094) found -[19666] Forked 18095 -(18095) found -[19665] Forked 18096 -(18096) found -[19664] Forked 18097 -(18097) found -[19663] Forked 18098 -(18098) found -[19662] Forked 18099 -(18099) found -[19661] Forked 18100 -(18100) found -[19660] Forked 18101 -(18101) found -[19659] Forked 18102 -(18102) found -[19658] Forked 18103 -(18103) found -[19657] Forked 18104 -(18104) found -[19656] Forked 18105 -(18105) found -[19655] Forked 18106 -(18106) found -[19654] Forked 18107 -(18107) found -[19653] Forked 18108 -(18108) found -[19652] Forked 18109 -(18109) found -[19651] Forked 18110 -(18110) found -[19650] Forked 18111 -(18111) found -[19649] Forked 18112 -(18112) found -[19648] Forked 18113 -[19647] Forked 18114 -(18113) found -(18114) found -[19646] Forked 18115 -[19645] Forked 18116 -(18115) found -(18116) found -[19644] Forked 18117 -[19643] Forked 18118 -(18117) found -(18118) found -[19642] Forked 18119 -[19641] Forked 18120 -(18119) found -(18120) found -[19640] Forked 18121 -[19639] Forked 18122 -(18121) found -(18122) found -[19638] Forked 18123 -[19637] Forked 18124 -(18123) found -(18124) found -[19636] Forked 18125 -[19635] Forked 18126 -(18125) found -(18126) found -[19634] Forked 18127 -[19633] Forked 18128 -(18127) found -(18128) found -[19632] Forked 18129 -[19631] Forked 18130 -(18129) found -(18130) found -[19630] Forked 18131 -[19629] Forked 18132 -(18131) found -(18132) found -[19628] Forked 18133 -[19627] Forked 18134 -(18133) found -(18134) found -[19626] Forked 18135 -[19625] Forked 18136 -(18135) found -(18136) found -[19624] Forked 18137 -[19623] Forked 18138 -(18137) found -(18138) found -[19622] Forked 18139 -[19621] Forked 18140 -(18139) found -(18140) found -[19620] Forked 18141 -[19619] Forked 18142 -(18141) found -(18142) found -[19618] Forked 18143 -[19617] Forked 18144 -(18143) found -(18144) found -[19616] Forked 18145 -[19615] Forked 18146 -(18145) found -(18146) found -[19614] Forked 18147 -[19613] Forked 18148 -(18147) found -(18148) found -[19612] Forked 18149 -[19611] Forked 18150 -(18149) found -(18150) found -[19610] Forked 18151 -[19609] Forked 18152 -(18151) found -(18152) found -[19608] Forked 18153 -[19607] Forked 18154 -(18153) found -(18154) found -[19606] Forked 18155 -[19605] Forked 18156 -(18155) found -(18156) found -[19604] Forked 18157 -[19603] Forked 18158 -(18157) found -(18158) found -[19602] Forked 18159 -[19601] Forked 18160 -(18159) found -(18160) found -[19600] Forked 18161 -(18161) found -[19599] Forked 18162 -(18162) found -[19598] Forked 18163 -(18163) found -[19597] Forked 18164 -(18164) found -[19596] Forked 18165 -(18165) found -[19595] Forked 18166 -(18166) found -[19594] Forked 18167 -(18167) found -[19593] Forked 18168 -(18168) found -[19592] Forked 18169 -(18169) found -[19591] Forked 18170 -(18170) found -[19590] Forked 18171 -(18171) found -[19589] Forked 18172 -(18172) found -[19588] Forked 18173 -(18173) found -[19587] Forked 18174 -(18174) found -[19586] Forked 18175 -(18175) found -[19585] Forked 18176 -(18176) found -[19584] Forked 18177 -(18177) found -[19583] Forked 18178 -(18178) found -[19582] Forked 18179 -(18179) found -[19581] Forked 18180 -(18180) found -[19580] Forked 18181 -(18181) found -[19579] Forked 18182 -(18182) found -[19578] Forked 18183 -(18183) found -[19577] Forked 18184 -(18184) found -[19576] Forked 18185 -(18185) found -[19575] Forked 18186 -(18186) found -[19574] Forked 18187 -(18187) found -[19573] Forked 18188 -(18188) found -[19572] Forked 18189 -(18189) found -[19571] Forked 18190 -(18190) found -[19570] Forked 18191 -(18191) found -[19569] Forked 18192 -(18192) found -[19568] Forked 18193 -(18193) found -[19567] Forked 18194 -(18194) found -[19566] Forked 18195 -(18195) found -[19565] Forked 18196 -(18196) found -[19564] Forked 18197 -[19563] Forked 18198 -(18197) found -(18198) found -[19562] Forked 18199 -[19561] Forked 18200 -(18199) found -(18200) found -[19560] Forked 18201 -[19559] Forked 18202 -(18201) found -(18202) found -[19558] Forked 18203 -[19557] Forked 18204 -(18203) found -(18204) found -[19556] Forked 18205 -[19555] Forked 18206 -(18205) found -(18206) found -[19554] Forked 18207 -[19553] Forked 18208 -(18207) found -(18208) found -[19552] Forked 18209 -[19551] Forked 18210 -(18209) found -(18210) found -[19550] Forked 18211 -[19549] Forked 18212 -(18211) found -(18212) found -[19548] Forked 18213 -[19547] Forked 18214 -(18213) found -(18214) found -[19546] Forked 18215 -[19545] Forked 18216 -(18215) found -(18216) found -[19544] Forked 18217 -[19543] Forked 18218 -(18217) found -(18218) found -[19542] Forked 18219 -[19541] Forked 18220 -(18219) found -(18220) found -[19540] Forked 18221 -[19539] Forked 18222 -(18221) found -(18222) found -[19538] Forked 18223 -[19537] Forked 18224 -(18223) found -(18224) found -[19536] Forked 18225 -[19535] Forked 18226 -(18225) found -(18226) found -[19534] Forked 18227 -[19533] Forked 18228 -(18227) found -(18228) found -[19532] Forked 18229 -[19531] Forked 18230 -(18229) found -(18230) found -[19530] Forked 18231 -[19529] Forked 18232 -(18231) found -(18232) found -[19528] Forked 18233 -[19527] Forked 18234 -(18233) found -(18234) found -[19526] Forked 18235 -[19525] Forked 18236 -(18235) found -(18236) found -[19524] Forked 18237 -[19523] Forked 18238 -(18237) found -(18238) found -[19522] Forked 18239 -[19521] Forked 18240 -(18239) found -(18240) found -[19520] Forked 18241 -[19519] Forked 18242 -(18241) found -(18242) found -[19518] Forked 18243 -[19517] Forked 18244 -(18243) found -(18244) found -[19516] Forked 18245 -[19515] Forked 18246 -(18245) found -(18246) found -[19514] Forked 18247 -[19513] Forked 18248 -(18247) found -(18248) found -[19512] Forked 18249 -[19511] Forked 18250 -(18249) found -(18250) found -[19510] Forked 18251 -[19509] Forked 18252 -(18251) found -(18252) found -[19508] Forked 18253 -[19507] Forked 18254 -(18253) found -(18254) found -[19506] Forked 18255 -[19505] Forked 18256 -(18255) found -(18256) found -[19504] Forked 18257 -[19503] Forked 18258 -(18257) found -(18258) found -[19502] Forked 18259 -[19501] Forked 18260 -(18259) found -(18260) found -[19500] Forked 18261 -[19499] Forked 18262 -(18261) found -(18262) found -[19498] Forked 18263 -[19497] Forked 18264 -(18263) found -(18264) found -[19496] Forked 18265 -[19495] Forked 18266 -(18265) found -(18266) found -[19494] Forked 18267 -[19493] Forked 18268 -(18267) found -(18268) found -[19492] Forked 18269 -[19491] Forked 18270 -(18269) found -(18270) found -[19490] Forked 18271 -[19489] Forked 18272 -(18271) found -(18272) found -[19488] Forked 18273 -[19487] Forked 18274 -(18273) found -(18274) found -[19486] Forked 18275 -[19485] Forked 18276 -(18275) found -(18276) found -[19484] Forked 18277 -[19483] Forked 18278 -(18277) found -(18278) found -[19482] Forked 18279 -[19481] Forked 18280 -(18279) found -(18280) found -[19480] Forked 18281 -[19479] Forked 18282 -(18281) found -(18282) found -[19478] Forked 18283 -[19477] Forked 18284 -(18283) found -(18284) found -[19476] Forked 18285 -[19475] Forked 18286 -(18285) found -(18286) found -[19474] Forked 18287 -[19473] Forked 18288 -(18287) found -(18288) found -[19472] Forked 18289 -[19471] Forked 18290 -(18289) found -(18290) found -[19470] Forked 18291 -[19469] Forked 18292 -(18291) found -(18292) found -[19468] Forked 18293 -[19467] Forked 18294 -(18293) found -(18294) found -[19466] Forked 18295 -[19465] Forked 18296 -(18295) found -(18296) found -[19464] Forked 18297 -[19463] Forked 18298 -(18297) found -(18298) found -[19462] Forked 18299 -[19461] Forked 18300 -(18299) found -(18300) found -[19460] Forked 18301 -[19459] Forked 18302 -(18301) found -(18302) found -[19458] Forked 18303 -[19457] Forked 18304 -(18303) found -(18304) found -[19456] Forked 18305 -[19455] Forked 18306 -(18305) found -(18306) found -[19454] Forked 18307 -[19453] Forked 18308 -(18307) found -(18308) found -[19452] Forked 18309 -[19451] Forked 18310 -(18309) found -(18310) found -[19450] Forked 18311 -[19449] Forked 18312 -(18311) found -(18312) found -[19448] Forked 18313 -[19447] Forked 18314 -(18313) found -(18314) found -[19446] Forked 18315 -[19445] Forked 18316 -(18315) found -(18316) found -[19444] Forked 18317 -[19443] Forked 18318 -(18317) found -(18318) found -[19442] Forked 18319 -[19441] Forked 18320 -(18319) found -(18320) found -[19440] Forked 18321 -[19439] Forked 18322 -(18321) found -(18322) found -[19438] Forked 18323 -[19437] Forked 18324 -(18323) found -(18324) found -[19436] Forked 18325 -[19435] Forked 18326 -(18325) found -(18326) found -[19434] Forked 18327 -[19433] Forked 18328 -(18327) found -(18328) found -[19432] Forked 18329 -[19431] Forked 18330 -(18329) found -(18330) found -[19430] Forked 18331 -[19429] Forked 18332 -(18331) found -(18332) found -[19428] Forked 18333 -[19427] Forked 18334 -(18333) found -(18334) found -[19426] Forked 18335 -[19425] Forked 18336 -(18335) found -(18336) found -[19424] Forked 18337 -(18337) found -[19423] Forked 18338 -[19422] Forked 18339 -(18338) found -(18339) found -[19421] Forked 18340 -[19420] Forked 18341 -(18340) found -(18341) found -[19419] Forked 18342 -[19418] Forked 18343 -(18342) found -(18343) found -[19417] Forked 18344 -[19416] Forked 18345 -(18344) found -(18345) found -[19415] Forked 18346 -[19414] Forked 18347 -(18346) found -(18347) found -[19413] Forked 18348 -[19412] Forked 18349 -(18348) found -(18349) found -[19411] Forked 18350 -[19410] Forked 18351 -(18350) found -(18351) found -[19409] Forked 18352 -[19408] Forked 18353 -(18352) found -(18353) found -[19407] Forked 18354 -[19406] Forked 18355 -(18354) found -(18355) found -[19405] Forked 18356 -[19404] Forked 18357 -(18356) found -(18357) found -[19403] Forked 18358 -[19402] Forked 18359 -(18358) found -(18359) found -[19401] Forked 18360 -[19400] Forked 18361 -(18360) found -(18361) found -[19399] Forked 18362 -[19398] Forked 18363 -(18362) found -(18363) found -[19397] Forked 18364 -[19396] Forked 18365 -(18364) found -(18365) found -[19395] Forked 18366 -[19394] Forked 18367 -(18366) found -(18367) found -[19393] Forked 18368 -[19392] Forked 18369 -(18368) found -(18369) found -[19391] Forked 18370 -[19390] Forked 18371 -(18370) found -(18371) found -[19389] Forked 18372 -[19388] Forked 18373 -(18372) found -(18373) found -[19387] Forked 18374 -[19386] Forked 18375 -(18374) found -(18375) found -[19385] Forked 18376 -[19384] Forked 18377 -(18376) found -(18377) found -[19383] Forked 18378 -[19382] Forked 18379 -(18378) found -(18379) found -[19381] Forked 18380 -(18380) found -[19380] Forked 18381 -(18381) found -[19379] Forked 18382 -(18382) found -[19378] Forked 18383 -(18383) found -[19377] Forked 18384 -(18384) found -[19376] Forked 18385 -(18385) found -[19375] Forked 18386 -(18386) found -[19374] Forked 18387 -(18387) found -[19373] Forked 18388 -(18388) found -[19372] Forked 18389 -(18389) found -[19371] Forked 18390 -(18390) found -[19370] Forked 18391 -(18391) found -[19369] Forked 18392 -(18392) found -[19368] Forked 18393 -(18393) found -[19367] Forked 18394 -(18394) found -[19366] Forked 18395 -(18395) found -[19365] Forked 18396 -(18396) found -[19364] Forked 18397 -(18397) found -[19363] Forked 18398 -(18398) found -[19362] Forked 18399 -(18399) found -[19361] Forked 18400 -(18400) found -[19360] Forked 18401 -(18401) found -[19359] Forked 18402 -(18402) found -[19358] Forked 18403 -(18403) found -[19357] Forked 18404 -(18404) found -[19356] Forked 18405 -(18405) found -[19355] Forked 18406 -(18406) found -[19354] Forked 18407 -(18407) found -[19353] Forked 18408 -(18408) found -[19352] Forked 18409 -(18409) found -[19351] Forked 18410 -(18410) found -[19350] Forked 18411 -(18411) found -[19349] Forked 18412 -(18412) found -[19348] Forked 18413 -(18413) found -[19347] Forked 18414 -(18414) found -[19346] Forked 18415 -(18415) found -[19345] Forked 18416 -(18416) found -[19344] Forked 18417 -(18417) found -[19343] Forked 18418 -(18418) found -[19342] Forked 18419 -[19341] Forked 18420 -(18419) found -(18420) found -[19340] Forked 18421 -[19339] Forked 18422 -(18421) found -(18422) found -[19338] Forked 18423 -[19337] Forked 18424 -(18423) found -(18424) found -[19336] Forked 18425 -[19335] Forked 18426 -(18425) found -(18426) found -[19334] Forked 18427 -[19333] Forked 18428 -(18427) found -(18428) found -[19332] Forked 18429 -[19331] Forked 18430 -(18429) found -(18430) found -[19330] Forked 18431 -[19329] Forked 18432 -(18431) found -(18432) found -[19328] Forked 18433 -[19327] Forked 18434 -(18433) found -(18434) found -[19326] Forked 18435 -[19325] Forked 18436 -(18435) found -(18436) found -[19324] Forked 18437 -[19323] Forked 18438 -(18437) found -(18438) found -[19322] Forked 18439 -[19321] Forked 18440 -(18439) found -(18440) found -[19320] Forked 18441 -[19319] Forked 18442 -(18441) found -(18442) found -[19318] Forked 18443 -[19317] Forked 18444 -(18443) found -(18444) found -[19316] Forked 18445 -[19315] Forked 18446 -(18445) found -(18446) found -[19314] Forked 18447 -[19313] Forked 18448 -(18447) found -(18448) found -[19312] Forked 18449 -[19311] Forked 18450 -(18449) found -(18450) found -[19310] Forked 18451 -[19309] Forked 18452 -(18451) found -(18452) found -[19308] Forked 18453 -[19307] Forked 18454 -(18453) found -(18454) found -[19306] Forked 18455 -[19305] Forked 18456 -(18455) found -(18456) found -[19304] Forked 18457 -[19303] Forked 18458 -(18457) found -(18458) found -[19302] Forked 18459 -[19301] Forked 18460 -(18459) found -(18460) found -[19300] Forked 18461 -[19299] Forked 18462 -(18461) found -(18462) found -[19298] Forked 18463 -(18463) found -[19297] Forked 18464 -(18464) found -[19296] Forked 18466 -(18466) found -[19295] Forked 18467 -(18467) found -[19294] Forked 18468 -(18468) found -[19293] Forked 18469 -(18469) found -[19292] Forked 18470 -(18470) found -[19291] Forked 18471 -(18471) found -[19290] Forked 18472 -(18472) found -[19289] Forked 18473 -(18473) found -[19288] Forked 18474 -(18474) found -[19287] Forked 18475 -(18475) found -[19286] Forked 18476 -(18476) found -[19285] Forked 18477 -(18477) found -[19284] Forked 18478 -(18478) found -[19283] Forked 18479 -(18479) found -[19282] Forked 18480 -(18480) found -[19281] Forked 18481 -(18481) found -[19280] Forked 18482 -(18482) found -[19279] Forked 18483 -(18483) found -[19278] Forked 18484 -(18484) found -[19277] Forked 18485 -(18485) found -[19276] Forked 18486 -(18486) found -[19275] Forked 18487 -(18487) found -[19274] Forked 18488 -(18488) found -[19273] Forked 18489 -(18489) found -[19272] Forked 18490 -(18490) found -[19271] Forked 18491 -(18491) found -[19270] Forked 18492 -(18492) found -[19269] Forked 18493 -(18493) found -[19268] Forked 18494 -(18494) found -[19267] Forked 18495 -(18495) found -[19266] Forked 18496 -(18496) found -[19265] Forked 18497 -(18497) found -[19264] Forked 18498 -(18498) found -[19263] Forked 18499 -(18499) found -[19262] Forked 18500 -(18500) found -[19261] Forked 18501 -(18501) found -[19260] Forked 18502 -(18502) found -[19259] Forked 18503 -[19258] Forked 18504 -(18503) found -(18504) found -[19257] Forked 18505 -[19256] Forked 18506 -(18505) found -(18506) found -[19255] Forked 18507 -[19254] Forked 18508 -(18507) found -(18508) found -[19253] Forked 18509 -[19252] Forked 18510 -(18509) found -(18510) found -[19251] Forked 18511 -[19250] Forked 18512 -(18511) found -(18512) found -[19249] Forked 18513 -[19248] Forked 18514 -(18513) found -(18514) found -[19247] Forked 18515 -[19246] Forked 18516 -(18515) found -(18516) found -[19245] Forked 18517 -[19244] Forked 18518 -(18518) found -(18517) found -[19243] Forked 18519 -(18519) found -[19242] Forked 18520 -(18520) found -[19241] Forked 18521 -(18521) found -[19240] Forked 18522 -(18522) found -[19239] Forked 18523 -(18523) found -[19238] Forked 18524 -(18524) found -[19237] Forked 18525 -(18525) found -[19236] Forked 18526 -(18526) found -[19235] Forked 18527 -(18527) found -[19234] Forked 18528 -(18528) found -[19233] Forked 18529 -(18529) found -[19232] Forked 18530 -(18530) found -[19231] Forked 18531 -(18531) found -[19230] Forked 18532 -(18532) found -[19229] Forked 18533 -(18533) found -[19228] Forked 18534 -(18534) found -[19227] Forked 18535 -(18535) found -[19226] Forked 18536 -(18536) found -[19225] Forked 18537 -(18537) found -[19224] Forked 18538 -(18538) found -[19223] Forked 18539 -(18539) found -[19222] Forked 18540 -(18540) found -[19221] Forked 18541 -(18541) found -[19220] Forked 18542 -(18542) found -[19219] Forked 18543 -(18543) found -[19218] Forked 18544 -(18544) found -[19217] Forked 18545 -(18545) found -[19216] Forked 18546 -(18546) found -[19215] Forked 18547 -(18547) found -[19214] Forked 18548 -(18548) found -[19213] Forked 18549 -(18549) found -[19212] Forked 18550 -(18550) found -[19211] Forked 18551 -(18551) found -[19210] Forked 18552 -(18552) found -[19209] Forked 18553 -(18553) found -[19208] Forked 18554 -(18554) found -[19207] Forked 18555 -(18555) found -[19206] Forked 18556 -(18556) found -[19205] Forked 18557 -(18557) found -[19204] Forked 18558 -(18558) found -[19203] Forked 18559 -(18559) found -[19202] Forked 18560 -(18560) found -[19201] Forked 18561 -(18561) found -[19200] Forked 18562 -(18562) found -[19199] Forked 18563 -(18563) found -[19198] Forked 18564 -(18564) found -[19197] Forked 18565 -(18565) found -[19196] Forked 18566 -(18566) found -[19195] Forked 18567 -(18567) found -[19194] Forked 18568 -(18568) found -[19193] Forked 18569 -(18569) found -[19192] Forked 18570 -(18570) found -[19191] Forked 18571 -(18571) found -[19190] Forked 18572 -(18572) found -[19189] Forked 18573 -(18573) found -[19188] Forked 18574 -(18574) found -[19187] Forked 18575 -[19186] Forked 18576 -(18575) found -(18576) found -[19185] Forked 18577 -[19184] Forked 18578 -(18577) found -(18578) found -[19183] Forked 18579 -[19182] Forked 18580 -(18579) found -(18580) found -[19181] Forked 18581 -[19180] Forked 18582 -(18581) found -(18582) found -[19179] Forked 18583 -[19178] Forked 18584 -(18583) found -(18584) found -[19177] Forked 18585 -[19176] Forked 18586 -(18585) found -(18586) found -[19175] Forked 18587 -[19174] Forked 18588 -(18587) found -(18588) found -[19173] Forked 18589 -[19172] Forked 18590 -(18589) found -(18590) found -[19171] Forked 18591 -[19170] Forked 18592 -(18591) found -(18592) found -[19169] Forked 18593 -[19168] Forked 18594 -(18593) found -(18594) found -[19167] Forked 18595 -[19166] Forked 18596 -(18595) found -(18596) found -[19165] Forked 18597 -[19164] Forked 18598 -(18597) found -(18598) found -[19163] Forked 18599 -[19162] Forked 18600 -(18599) found -(18600) found -[19161] Forked 18601 -[19160] Forked 18602 -(18601) found -(18602) found -[19159] Forked 18603 -[19158] Forked 18604 -(18603) found -(18604) found -[19157] Forked 18605 -[19156] Forked 18606 -(18605) found -(18606) found -[19155] Forked 18607 -[19154] Forked 18608 -(18607) found -(18608) found -[19153] Forked 18609 -[19152] Forked 18610 -(18609) found -(18610) found -[19151] Forked 18612 -[19150] Forked 18613 -(18612) found -(18613) found -[19149] Forked 18614 -[19148] Forked 18615 -(18614) found -(18615) found -[19147] Forked 18616 -[19146] Forked 18617 -(18616) found -(18617) found -[19145] Forked 18618 -[19144] Forked 18619 -(18618) found -(18619) found -[19143] Forked 18620 -(18620) found -[19142] Forked 18621 -(18621) found -[19141] Forked 18622 -(18622) found -[19140] Forked 18623 -(18623) found -[19139] Forked 18624 -(18624) found -[19138] Forked 18625 -(18625) found -[19137] Forked 18626 -(18626) found -[19136] Forked 18627 -(18627) found -[19135] Forked 18628 -(18628) found -[19134] Forked 18629 -(18629) found -[19133] Forked 18630 -(18630) found -[19132] Forked 18631 -(18631) found -[19131] Forked 18632 -(18632) found -[19130] Forked 18633 -(18633) found -[19129] Forked 18634 -(18634) found -[19128] Forked 18635 -(18635) found -[19127] Forked 18636 -(18636) found -[19126] Forked 18637 -(18637) found -[19125] Forked 18638 -(18638) found -[19124] Forked 18639 -(18639) found -[19123] Forked 18640 -(18640) found -[19122] Forked 18641 -(18641) found -[19121] Forked 18642 -(18642) found -[19120] Forked 18643 -(18643) found -[19119] Forked 18644 -(18644) found -[19118] Forked 18645 -(18645) found -[19117] Forked 18646 -(18646) found -[19116] Forked 18647 -(18647) found -[19115] Forked 18648 -(18648) found -[19114] Forked 18649 -(18649) found -[19113] Forked 18650 -(18650) found -[19112] Forked 18651 -(18651) found -[19111] Forked 18652 -(18652) found -[19110] Forked 18653 -(18653) found -[19109] Forked 18654 -(18654) found -[19108] Forked 18655 -(18655) found -[19107] Forked 18656 -(18656) found -[19106] Forked 18657 -[19105] Forked 18658 -(18657) found -(18658) found -[19104] Forked 18659 -[19103] Forked 18660 -(18659) found -(18660) found -[19102] Forked 18661 -[19101] Forked 18662 -(18661) found -(18662) found -[19100] Forked 18663 -[19099] Forked 18664 -(18663) found -(18664) found -[19098] Forked 18665 -[19097] Forked 18666 -(18665) found -(18666) found -[19096] Forked 18667 -[19095] Forked 18668 -(18667) found -(18668) found -[19094] Forked 18669 -[19093] Forked 18670 -(18669) found -(18670) found -[19092] Forked 18671 -[19091] Forked 18672 -(18671) found -(18672) found -[19090] Forked 18673 -[19089] Forked 18674 -(18673) found -(18674) found -[19088] Forked 18675 -[19087] Forked 18676 -(18675) found -(18676) found -[19086] Forked 18677 -[19085] Forked 18678 -(18677) found -(18678) found -[19084] Forked 18679 -[19083] Forked 18680 -(18679) found -(18680) found -[19082] Forked 18681 -[19081] Forked 18682 -(18681) found -(18682) found -[19080] Forked 18683 -[19079] Forked 18684 -(18683) found -(18684) found -[19078] Forked 18685 -[19077] Forked 18686 -(18685) found -(18686) found -[19076] Forked 18687 -[19075] Forked 18688 -(18687) found -(18688) found -[19074] Forked 18689 -[19073] Forked 18690 -(18689) found -(18690) found -[19072] Forked 18691 -[19071] Forked 18692 -(18691) found -(18692) found -[19070] Forked 18693 -[19069] Forked 18694 -(18693) found -(18694) found -[19068] Forked 18695 -[19067] Forked 18696 -(18695) found -(18696) found -[19066] Forked 18697 -[19065] Forked 18698 -(18697) found -(18698) found -[19064] Forked 18699 -[19063] Forked 18700 -(18699) found -(18700) found -[19062] Forked 18701 -[19061] Forked 18702 -(18701) found -(18702) found -[19060] Forked 18703 -[19059] Forked 18704 -(18703) found -(18704) found -[19058] Forked 18705 -[19057] Forked 18706 -(18705) found -(18706) found -[19056] Forked 18707 -[19055] Forked 18708 -(18707) found -(18708) found -[19054] Forked 18709 -[19053] Forked 18710 -(18709) found -(18710) found -[19052] Forked 18711 -[19051] Forked 18712 -(18711) found -(18712) found -[19050] Forked 18713 -[19049] Forked 18714 -(18713) found -(18714) found -[19048] Forked 18715 -[19047] Forked 18716 -(18715) found -(18716) found -[19046] Forked 18717 -[19045] Forked 18718 -(18717) found -(18718) found -[19044] Forked 18719 -[19043] Forked 18720 -(18719) found -(18720) found -[19042] Forked 18721 -[19041] Forked 18722 -(18721) found -(18722) found -[19040] Forked 18723 -[19039] Forked 18724 -(18723) found -(18724) found -[19038] Forked 18725 -[19037] Forked 18726 -(18725) found -(18726) found -[19036] Forked 18727 -[19035] Forked 18728 -(18727) found -(18728) found -[19034] Forked 18729 -[19033] Forked 18730 -(18729) found -(18730) found -[19032] Forked 18731 -[19031] Forked 18732 -(18731) found -(18732) found -[19030] Forked 18733 -[19029] Forked 18734 -(18733) found -(18734) found -[19028] Forked 18735 -[19027] Forked 18736 -(18735) found -(18736) found -[19026] Forked 18737 -(18737) found -[19025] Forked 18738 -[19024] Forked 18739 -(18738) found -(18739) found -[19023] Forked 18740 -[19022] Forked 18741 -(18740) found -(18741) found -[19021] Forked 18742 -[19020] Forked 18743 -(18742) found -(18743) found -[19019] Forked 18744 -[19018] Forked 18745 -(18744) found -(18745) found -[19017] Forked 18746 -[19016] Forked 18747 -(18746) found -(18747) found -[19015] Forked 18748 -[19014] Forked 18749 -(18748) found -(18749) found -[19013] Forked 18750 -[19012] Forked 18751 -(18750) found -(18751) found -[19011] Forked 18752 -[19010] Forked 18753 -(18752) found -(18753) found -[19009] Forked 18754 -[19008] Forked 18755 -(18754) found -(18755) found -[19007] Forked 18756 -[19006] Forked 18757 -(18756) found -(18757) found -[19005] Forked 18758 -[19004] Forked 18759 -(18758) found -(18759) found -[19003] Forked 18760 -[19002] Forked 18761 -(18760) found -(18761) found -[19001] Forked 18762 -[19000] Forked 18763 -(18762) found -(18763) found -[18999] Forked 18764 -[18998] Forked 18765 -(18764) found -(18765) found -[18997] Forked 18766 -[18996] Forked 18767 -(18766) found -(18767) found -[18995] Forked 18768 -[18994] Forked 18769 -(18768) found -(18769) found -[18993] Forked 18770 -[18992] Forked 18771 -(18770) found -(18771) found -[18991] Forked 18772 -[18990] Forked 18773 -(18772) found -(18773) found -[18989] Forked 18774 -[18988] Forked 18775 -(18774) found -(18775) found -[18987] Forked 18776 -[18986] Forked 18777 -(18776) found -(18777) found -[18985] Forked 18778 -[18984] Forked 18779 -(18778) found -(18779) found -[18983] Forked 18780 -[18982] Forked 18781 -(18780) found -(18781) found -[18981] Forked 18782 -[18980] Forked 18783 -(18782) found -(18783) found -[18979] Forked 18784 -[18978] Forked 18785 -(18784) found -(18785) found -[18977] Forked 18786 -[18976] Forked 18787 -(18786) found -(18787) found -[18975] Forked 18788 -[18974] Forked 18789 -(18788) found -(18789) found -[18973] Forked 18790 -[18972] Forked 18791 -(18790) found -(18791) found -[18971] Forked 18792 -(18792) found -[18970] Forked 18793 -(18793) found -[18969] Forked 18794 -(18794) found -[18968] Forked 18795 -(18795) found -[18967] Forked 18796 -(18796) found -[18966] Forked 18797 -(18797) found -[18965] Forked 18798 -(18798) found -[18964] Forked 18799 -(18799) found -[18963] Forked 18800 -(18800) found -[18962] Forked 18801 -(18801) found -[18961] Forked 18802 -(18802) found -[18960] Forked 18803 -(18803) found -[18959] Forked 18804 -(18804) found -[18958] Forked 18805 -(18805) found -[18957] Forked 18806 -(18806) found -[18956] Forked 18807 -(18807) found -[18955] Forked 18808 -(18808) found -[18954] Forked 18809 -(18809) found -[18953] Forked 18810 -(18810) found -[18952] Forked 18811 -(18811) found -[18951] Forked 18812 -(18812) found -[18950] Forked 18813 -(18813) found -[18949] Forked 18814 -(18814) found -[18948] Forked 18815 -(18815) found -[18947] Forked 18816 -(18816) found -[18946] Forked 18817 -(18817) found -[18945] Forked 18818 -(18818) found -[18944] Forked 18819 -(18819) found -[18943] Forked 18820 -(18820) found -[18942] Forked 18821 -(18821) found -[18941] Forked 18822 -(18822) found -[18940] Forked 18823 -(18823) found -[18939] Forked 18824 -(18824) found -[18938] Forked 18825 -(18825) found -[18937] Forked 18826 -(18826) found -[18936] Forked 18827 -(18827) found -[18935] Forked 18828 -(18828) found -[18934] Forked 18829 -[18933] Forked 18830 -(18829) found -(18830) found -[18932] Forked 18831 -[18931] Forked 18832 -(18831) found -(18832) found -[18930] Forked 18833 -[18929] Forked 18834 -(18833) found -(18834) found -[18928] Forked 18835 -[18927] Forked 18836 -(18835) found -(18836) found -[18926] Forked 18837 -[18925] Forked 18838 -(18837) found -(18838) found -[18924] Forked 18839 -[18923] Forked 18840 -(18839) found -(18840) found -[18922] Forked 18841 -[18921] Forked 18842 -(18841) found -(18842) found -[18920] Forked 18843 -[18919] Forked 18844 -(18843) found -(18844) found -[18918] Forked 18845 -[18917] Forked 18846 -(18845) found -(18846) found -[18916] Forked 18847 -[18915] Forked 18848 -(18847) found -(18848) found -[18914] Forked 18849 -[18913] Forked 18850 -(18849) found -(18850) found -[18912] Forked 18851 -[18911] Forked 18852 -(18851) found -(18852) found -[18910] Forked 18853 -[18909] Forked 18854 -(18853) found -(18854) found -[18908] Forked 18855 -[18907] Forked 18856 -(18855) found -(18856) found -[18906] Forked 18857 -[18905] Forked 18858 -(18857) found -(18858) found -[18904] Forked 18859 -[18903] Forked 18860 -(18859) found -(18860) found -[18902] Forked 18861 -[18901] Forked 18862 -(18861) found -(18862) found -[18900] Forked 18863 -[18899] Forked 18864 -(18863) found -(18864) found -[18898] Forked 18865 -[18897] Forked 18866 -(18865) found -(18866) found -[18896] Forked 18867 -(18867) found -[18895] Forked 18868 -[18894] Forked 18869 -(18868) found -(18869) found -[18893] Forked 18870 -[18892] Forked 18871 -(18870) found -(18871) found -[18891] Forked 18872 -(18872) found -[18890] Forked 18873 -(18873) found -[18889] Forked 18874 -(18874) found -[18888] Forked 18875 -(18875) found -[18887] Forked 18876 -(18876) found -[18886] Forked 18877 -(18877) found -[18885] Forked 18878 -(18878) found -[18884] Forked 18879 -(18879) found -[18883] Forked 18880 -(18880) found -[18882] Forked 18881 -(18881) found -[18881] Forked 18882 -(18882) found -[18880] Forked 18883 -(18883) found -[18879] Forked 18884 -(18884) found -[18878] Forked 18885 -(18885) found -[18877] Forked 18886 -(18886) found -[18876] Forked 18887 -(18887) found -[18875] Forked 18888 -(18888) found -[18874] Forked 18889 -(18889) found -[18873] Forked 18890 -(18890) found -[18872] Forked 18891 -(18891) found -[18871] Forked 18892 -(18892) found -[18870] Forked 18895 -(18895) found -[18869] Forked 18896 -(18896) found -[18868] Forked 18897 -(18897) found -[18867] Forked 18898 -(18898) found -[18866] Forked 18899 -(18899) found -[18865] Forked 18900 -(18900) found -[18864] Forked 18901 -(18901) found -[18863] Forked 18902 -(18902) found -[18862] Forked 18903 -(18903) found -[18861] Forked 18904 -(18904) found -[18860] Forked 18905 -(18905) found -[18859] Forked 18906 -(18906) found -[18858] Forked 18907 -(18907) found -[18857] Forked 18908 -(18908) found -[18856] Forked 18909 -(18909) found -[18855] Forked 18910 -(18910) found -[18854] Forked 18911 -(18911) found -[18853] Forked 18912 -(18912) found -[18852] Forked 18913 -[18851] Forked 18914 -(18913) found -(18914) found -[18850] Forked 18915 -[18849] Forked 18916 -(18915) found -(18916) found -[18848] Forked 18917 -[18847] Forked 18918 -(18917) found -(18918) found -[18846] Forked 18919 -[18845] Forked 18920 -(18920) found -(18919) found -[18844] Forked 18921 -(18921) found -[18843] Forked 18922 -(18922) found -[18842] Forked 18923 -(18923) found -[18841] Forked 18925 -(18925) found -[18840] Forked 18926 -(18926) found -[18839] Forked 18927 -(18927) found -[18838] Forked 18928 -(18928) found -[18837] Forked 18929 -(18929) found -[18836] Forked 18930 -(18930) found -[18835] Forked 18931 -(18931) found -[18834] Forked 18932 -(18932) found -[18833] Forked 18933 -(18933) found -[18832] Forked 18934 -(18934) found -[18831] Forked 18935 -(18935) found -[18830] Forked 18936 -(18936) found -[18829] Forked 18937 -(18937) found -[18828] Forked 18938 -(18938) found -[18827] Forked 18939 -(18939) found -[18826] Forked 18940 -(18940) found -[18825] Forked 18941 -(18941) found -[18824] Forked 18942 -(18942) found -[18823] Forked 18943 -(18943) found -[18822] Forked 18944 -(18944) found -[18821] Forked 18945 -(18945) found -[18820] Forked 18946 -[18819] Forked 18947 -(18946) found -(18947) found -[18818] Forked 18948 -[18817] Forked 18949 -(18948) found -(18949) found -[18816] Forked 18950 -[18815] Forked 18951 -(18950) found -(18951) found -[18814] Forked 18952 -[18813] Forked 18953 -(18952) found -(18953) found -[18812] Forked 18954 -[18811] Forked 18955 -(18954) found -(18955) found -[18810] Forked 18956 -[18809] Forked 18957 -(18956) found -(18957) found -[18808] Forked 18958 -[18807] Forked 18959 -(18958) found -(18959) found -[18806] Forked 18960 -[18805] Forked 18961 -(18960) found -(18961) found -[18804] Forked 18962 -[18803] Forked 18963 -(18962) found -(18963) found -[18802] Forked 18964 -[18801] Forked 18965 -(18964) found -(18965) found -[18800] Forked 18966 -[18799] Forked 18967 -(18966) found -(18967) found -[18798] Forked 18968 -(18968) found -[18797] Forked 18969 -(18969) found -[18796] Forked 18970 -[18795] Forked 18971 -(18970) found -(18971) found -[18794] Forked 18972 -[18793] Forked 18973 -(18972) found -(18973) found -[18792] Forked 18974 -[18791] Forked 18975 -(18974) found -(18975) found -[18790] Forked 18976 -[18789] Forked 18977 -(18976) found -(18977) found -[18788] Forked 18978 -[18787] Forked 18979 -(18978) found -(18979) found -[18786] Forked 18980 -[18785] Forked 18981 -(18980) found -(18981) found -[18784] Forked 18982 -[18783] Forked 18983 -(18982) found -(18983) found -[18782] Forked 18984 -[18781] Forked 18985 -(18984) found -(18985) found -[18780] Forked 18986 -[18779] Forked 18987 -(18986) found -(18987) found -[18778] Forked 18988 -[18777] Forked 18990 -(18988) found -(18990) found -[18776] Forked 18991 -(18991) found -[18775] Forked 18992 -(18992) found -[18774] Forked 18993 -(18993) found -[18773] Forked 18994 -(18994) found -[18772] Forked 18995 -(18995) found -[18771] Forked 18996 -(18996) found -[18770] Forked 18997 -(18997) found -[18769] Forked 18998 -(18998) found -[18768] Forked 18999 -(18999) found -[18767] Forked 19000 -(19000) found -[18766] Forked 19001 -(19001) found -[18765] Forked 19002 -(19002) found -[18764] Forked 19003 -(19003) found -[18763] Forked 19004 -(19004) found -[18762] Forked 19005 -(19005) found -[18761] Forked 19006 -(19006) found -[18760] Forked 19007 -(19007) found -[18759] Forked 19008 -(19008) found -[18758] Forked 19009 -(19009) found -[18757] Forked 19010 -(19010) found -[18756] Forked 19011 -(19011) found -[18755] Forked 19012 -(19012) found -[18754] Forked 19013 -(19013) found -[18753] Forked 19014 -(19014) found -[18752] Forked 19015 -(19015) found -[18751] Forked 19017 -(19017) found -[18750] Forked 19018 -(19018) found -[18749] Forked 19019 -(19019) found -[18748] Forked 19020 -(19020) found -[18747] Forked 19021 -(19021) found -[18746] Forked 19022 -(19022) found -[18745] Forked 19023 -(19023) found -[18744] Forked 19024 -(19024) found -[18743] Forked 19025 -(19025) found -[18742] Forked 19026 -(19026) found -[18741] Forked 19027 -(19027) found -[18740] Forked 19028 -(19028) found -[18739] Forked 19029 -(19029) found -[18738] Forked 19030 -(19030) found -[18737] Forked 19031 -[18736] Forked 19032 -(19031) found -(19032) found -[18735] Forked 19033 -[18734] Forked 19034 -(19033) found -(19034) found -[18733] Forked 19035 -[18732] Forked 19036 -(19035) found -(19036) found -[18731] Forked 19037 -[18730] Forked 19038 -(19037) found -(19038) found -[18729] Forked 19039 -[18728] Forked 19040 -(19039) found -(19040) found -[18727] Forked 19041 -[18726] Forked 19042 -(19041) found -(19042) found -[18725] Forked 19043 -[18724] Forked 19044 -(19043) found -(19044) found -[18723] Forked 19045 -[18722] Forked 19046 -(19045) found -(19046) found -[18721] Forked 19047 -[18720] Forked 19048 -(19047) found -(19048) found -[18719] Forked 19049 -[18718] Forked 19050 -(19049) found -(19050) found -[18717] Forked 19051 -[18716] Forked 19052 -(19051) found -(19052) found -[18715] Forked 19053 -[18714] Forked 19054 -(19053) found -(19054) found -[18713] Forked 19055 -[18712] Forked 19056 -(19055) found -(19056) found -[18711] Forked 19057 -[18710] Forked 19058 -(19057) found -(19058) found -[18709] Forked 19059 -[18708] Forked 19060 -(19059) found -(19060) found -[18707] Forked 19061 -[18706] Forked 19062 -(19061) found -(19062) found -[18705] Forked 19063 -[18704] Forked 19064 -(19063) found -(19064) found -[18703] Forked 19065 -[18702] Forked 19066 -(19065) found -(19066) found -[18701] Forked 19067 -[18700] Forked 19068 -(19067) found -(19068) found -[18699] Forked 19069 -[18698] Forked 19070 -(19069) found -(19070) found -[18697] Forked 19071 -[18696] Forked 19072 -(19071) found -(19072) found -[18695] Forked 19073 -[18694] Forked 19074 -(19073) found -(19074) found -[18693] Forked 19075 -[18692] Forked 19076 -(19075) found -(19076) found -[18691] Forked 19077 -[18690] Forked 19078 -(19077) found -(19078) found -[18689] Forked 19079 -(19079) found -[18688] Forked 19080 -[18687] Forked 19081 -(19080) found -(19081) found -[18686] Forked 19082 -[18685] Forked 19083 -(19082) found -(19083) found -[18684] Forked 19084 -[18683] Forked 19085 -(19084) found -(19085) found -[18682] Forked 19086 -[18681] Forked 19087 -(19086) found -(19087) found -[18680] Forked 19088 -[18679] Forked 19089 -(19088) found -(19089) found -[18678] Forked 19090 -[18677] Forked 19091 -(19090) found -(19091) found -[18676] Forked 19092 -[18675] Forked 19093 -(19092) found -(19093) found -[18674] Forked 19094 -[18673] Forked 19095 -(19094) found -(19095) found -[18672] Forked 19096 -[18671] Forked 19097 -(19096) found -(19097) found -[18670] Forked 19098 -[18669] Forked 19099 -(19098) found -(19099) found -[18668] Forked 19100 -[18667] Forked 19101 -(19100) found -(19101) found -[18666] Forked 19102 -[18665] Forked 19104 -(19102) found -(19104) found -[18664] Forked 19105 -[18663] Forked 19106 -(19105) found -(19106) found -[18662] Forked 19107 -[18661] Forked 19108 -(19107) found -(19108) found -[18660] Forked 19109 -[18659] Forked 19110 -(19109) found -(19110) found -[18658] Forked 19111 -[18657] Forked 19112 -(19111) found -(19112) found -[18656] Forked 19113 -[18655] Forked 19114 -(19113) found -(19114) found -[18654] Forked 19115 -[18653] Forked 19116 -(19115) found -(19116) found -[18652] Forked 19117 -[18651] Forked 19118 -(19117) found -(19118) found -[18650] Forked 19119 -[18649] Forked 19120 -(19119) found -(19120) found -[18648] Forked 19121 -[18647] Forked 19122 -(19121) found -(19122) found -[18646] Forked 19123 -[18645] Forked 19124 -(19123) found -(19124) found -[18644] Forked 19125 -[18643] Forked 19126 -(19125) found -(19126) found -[18642] Forked 19127 -[18641] Forked 19128 -(19127) found -(19128) found -[18640] Forked 19129 -[18639] Forked 19130 -(19129) found -(19130) found -[18638] Forked 19131 -[18637] Forked 19132 -(19131) found -(19132) found -[18636] Forked 19133 -[18635] Forked 19134 -(19133) found -(19134) found -[18634] Forked 19135 -[18633] Forked 19136 -(19135) found -(19136) found -[18632] Forked 19137 -[18631] Forked 19138 -(19137) found -(19138) found -[18630] Forked 19139 -[18629] Forked 19140 -(19139) found -(19140) found -[18628] Forked 19141 -[18627] Forked 19142 -(19141) found -(19142) found -[18626] Forked 19143 -[18625] Forked 19144 -(19143) found -(19144) found -[18624] Forked 19145 -[18623] Forked 19146 -(19145) found -(19146) found -[18622] Forked 19147 -[18621] Forked 19148 -(19147) found -(19148) found -[18620] Forked 19149 -[18619] Forked 19150 -(19149) found -(19150) found -[18618] Forked 19151 -[18617] Forked 19152 -(19151) found -(19152) found -[18616] Forked 19153 -[18615] Forked 19154 -(19153) found -(19154) found -[18614] Forked 19155 -[18613] Forked 19156 -(19155) found -(19156) found -[18612] Forked 19157 -[18611] Forked 19158 -(19157) found -(19158) found -[18610] Forked 19159 -[18609] Forked 19160 -(19159) found -(19160) found -[18608] Forked 19161 -[18607] Forked 19162 -(19161) found -(19162) found -[18606] Forked 19163 -[18605] Forked 19164 -(19163) found -(19164) found -[18604] Forked 19165 -[18603] Forked 19166 -(19165) found -(19166) found -[18602] Forked 19167 -[18601] Forked 19168 -(19167) found -(19168) found -[18600] Forked 19169 -[18599] Forked 19170 -(19169) found -(19170) found -[18598] Forked 19171 -(19171) found -[18597] Forked 19172 -(19172) found -[18596] Forked 19173 -(19173) found -[18595] Forked 19174 -(19174) found -[18594] Forked 19175 -(19175) found -[18593] Forked 19176 -(19176) found -[18592] Forked 19177 -(19177) found -[18591] Forked 19178 -(19178) found -[18590] Forked 19179 -(19179) found -[18589] Forked 19180 -(19180) found -[18588] Forked 19181 -(19181) found -[18587] Forked 19182 -(19182) found -[18586] Forked 19183 -(19183) found -[18585] Forked 19184 -(19184) found -[18584] Forked 19185 -(19185) found -[18583] Forked 19186 -(19186) found -[18582] Forked 19187 -(19187) found -[18581] Forked 19188 -(19188) found -[18580] Forked 19189 -(19189) found -[18579] Forked 19191 -(19191) found -[18578] Forked 19192 -(19192) found -[18577] Forked 19193 -(19193) found -[18576] Forked 19194 -(19194) found -[18575] Forked 19195 -(19195) found -[18574] Forked 19196 -(19196) found -[18573] Forked 19197 -(19197) found -[18572] Forked 19198 -(19198) found -[18571] Forked 19199 -(19199) found -[18570] Forked 19200 -(19200) found -[18569] Forked 19201 -(19201) found -[18568] Forked 19202 -(19202) found -[18567] Forked 19203 -(19203) found -[18566] Forked 19204 -(19204) found -[18565] Forked 19205 -(19205) found -[18564] Forked 19206 -(19206) found -[18563] Forked 19207 -[18562] Forked 19208 -(19207) found -(19208) found -[18561] Forked 19209 -[18560] Forked 19210 -(19209) found -(19210) found -[18559] Forked 19211 -[18558] Forked 19212 -(19211) found -(19212) found -[18557] Forked 19213 -[18556] Forked 19214 -(19213) found -(19214) found -[18555] Forked 19215 -[18554] Forked 19216 -(19215) found -(19216) found -[18553] Forked 19217 -[18552] Forked 19218 -(19217) found -(19218) found -[18551] Forked 19219 -[18550] Forked 19220 -(19219) found -(19220) found -[18549] Forked 19221 -[18548] Forked 19222 -(19221) found -(19222) found -[18547] Forked 19223 -[18546] Forked 19224 -(19223) found -(19224) found -[18545] Forked 19225 -[18544] Forked 19226 -(19225) found -(19226) found -[18543] Forked 19227 -[18542] Forked 19228 -(19227) found -(19228) found -[18541] Forked 19229 -[18540] Forked 19230 -(19229) found -(19230) found -[18539] Forked 19231 -[18538] Forked 19232 -(19231) found -(19232) found -[18537] Forked 19233 -[18536] Forked 19234 -(19233) found -(19234) found -[18535] Forked 19235 -[18534] Forked 19236 -(19235) found -(19236) found -[18533] Forked 19237 -[18532] Forked 19238 -(19237) found -(19238) found -[18531] Forked 19239 -[18530] Forked 19240 -(19239) found -(19240) found -[18529] Forked 19241 -[18528] Forked 19242 -(19241) found -(19242) found -[18527] Forked 19243 -[18526] Forked 19244 -(19243) found -(19244) found -[18525] Forked 19245 -[18524] Forked 19246 -(19245) found -(19246) found -[18523] Forked 19247 -[18522] Forked 19248 -(19247) found -(19248) found -[18521] Forked 19249 -[18520] Forked 19250 -(19249) found -(19250) found -[18519] Forked 19251 -[18518] Forked 19252 -(19251) found -(19252) found -[18517] Forked 19253 -(19253) found -[18516] Forked 19254 -[18515] Forked 19255 -(19254) found -(19255) found -[18514] Forked 19256 -[18513] Forked 19257 -(19256) found -(19257) found -[18512] Forked 19258 -[18511] Forked 19259 -(19258) found -(19259) found -[18510] Forked 19260 -[18509] Forked 19261 -(19260) found -(19261) found -[18508] Forked 19262 -[18507] Forked 19263 -(19262) found -(19263) found -[18506] Forked 19264 -[18505] Forked 19265 -(19264) found -(19265) found -[18504] Forked 19266 -[18503] Forked 19267 -(19266) found -(19267) found -[18502] Forked 19268 -[18501] Forked 19269 -(19268) found -(19269) found -[18500] Forked 19270 -[18499] Forked 19271 -(19270) found -(19271) found -[18498] Forked 19272 -[18497] Forked 19273 -(19272) found -(19273) found -[18496] Forked 19274 -[18495] Forked 19275 -(19274) found -(19275) found -[18494] Forked 19276 -[18493] Forked 19277 -(19276) found -(19277) found -[18492] Forked 19278 -[18491] Forked 19279 -(19278) found -(19279) found -[18490] Forked 19280 -[18489] Forked 19281 -(19280) found -(19281) found -[18488] Forked 19282 -[18487] Forked 19283 -(19282) found -(19283) found -[18486] Forked 19284 -[18485] Forked 19285 -(19284) found -(19285) found -[18484] Forked 19286 -[18483] Forked 19287 -(19286) found -(19287) found -[18482] Forked 19288 -[18481] Forked 19289 -(19288) found -(19289) found -[18480] Forked 19290 -[18479] Forked 19291 -(19290) found -(19291) found -[18478] Forked 19292 -[18477] Forked 19293 -(19292) found -(19293) found -[18476] Forked 19294 -[18475] Forked 19295 -(19294) found -(19295) found -[18474] Forked 19296 -[18473] Forked 19297 -(19296) found -(19297) found -[18472] Forked 19298 -(19298) found -[18471] Forked 19299 -(19299) found -[18470] Forked 19300 -(19300) found -[18469] Forked 19301 -(19301) found -[18468] Forked 19302 -(19302) found -[18467] Forked 19303 -(19303) found -[18466] Forked 19304 -(19304) found -[18465] Forked 19305 -(19305) found -[18464] Forked 19306 -(19306) found -[18463] Forked 19307 -(19307) found -[18462] Forked 19308 -(19308) found -[18461] Forked 19309 -(19309) found -[18460] Forked 19310 -(19310) found -[18459] Forked 19311 -(19311) found -[18458] Forked 19312 -(19312) found -[18457] Forked 19313 -(19313) found -[18456] Forked 19314 -(19314) found -[18455] Forked 19315 -(19315) found -[18454] Forked 19316 -(19316) found -[18453] Forked 19317 -(19317) found -[18452] Forked 19318 -(19318) found -[18451] Forked 19319 -(19319) found -[18450] Forked 19320 -(19320) found -[18449] Forked 19321 -(19321) found -[18448] Forked 19322 -(19322) found -[18447] Forked 19323 -(19323) found -[18446] Forked 19324 -(19324) found -[18445] Forked 19325 -(19325) found -[18444] Forked 19326 -(19326) found -[18443] Forked 19327 -(19327) found -[18442] Forked 19328 -(19328) found -[18441] Forked 19329 -(19329) found -[18440] Forked 19330 -(19330) found -[18439] Forked 19331 -(19331) found -[18438] Forked 19332 -(19332) found -[18437] Forked 19333 -(19333) found -[18436] Forked 19334 -(19334) found -[18435] Forked 19335 -(19335) found -[18434] Forked 19336 -(19336) found -[18433] Forked 19337 -(19337) found -[18432] Forked 19338 -[18431] Forked 19339 -(19338) found -(19339) found -[18430] Forked 19340 -[18429] Forked 19341 -(19340) found -(19341) found -[18428] Forked 19342 -[18427] Forked 19343 -(19342) found -(19343) found -[18426] Forked 19344 -[18425] Forked 19345 -(19344) found -(19345) found -[18424] Forked 19346 -(19346) found -[18423] Forked 19347 -(19347) found -[18422] Forked 19348 -[18421] Forked 19349 -(19348) found -(19349) found -[18420] Forked 19350 -[18419] Forked 19351 -(19350) found -(19351) found -[18418] Forked 19352 -[18417] Forked 19353 -(19352) found -(19353) found -[18416] Forked 19354 -[18415] Forked 19355 -(19354) found -(19355) found -[18414] Forked 19356 -[18413] Forked 19357 -(19356) found -(19357) found -[18412] Forked 19358 -[18411] Forked 19359 -(19358) found -(19359) found -[18410] Forked 19360 -[18409] Forked 19361 -(19360) found -(19361) found -[18408] Forked 19362 -[18407] Forked 19363 -(19362) found -(19363) found -[18406] Forked 19364 -[18405] Forked 19365 -(19364) found -(19365) found -[18404] Forked 19366 -[18403] Forked 19367 -(19366) found -(19367) found -[18402] Forked 19368 -[18401] Forked 19369 -(19368) found -(19369) found -[18400] Forked 19370 -[18399] Forked 19371 -(19370) found -(19371) found -[18398] Forked 19372 -[18397] Forked 19373 -(19372) found -(19373) found -[18396] Forked 19374 -[18395] Forked 19375 -(19374) found -(19375) found -[18394] Forked 19376 -[18393] Forked 19378 -(19376) found -(19378) found -[18392] Forked 19379 -(19379) found -[18391] Forked 19380 -(19380) found -[18390] Forked 19381 -(19381) found -[18389] Forked 19382 -(19382) found -[18388] Forked 19383 -(19383) found -[18387] Forked 19384 -(19384) found -[18386] Forked 19385 -(19385) found -[18385] Forked 19386 -(19386) found -[18384] Forked 19387 -(19387) found -[18383] Forked 19388 -(19388) found -[18382] Forked 19389 -(19389) found -[18381] Forked 19390 -(19390) found -[18380] Forked 19391 -(19391) found -[18379] Forked 19392 -(19392) found -[18378] Forked 19393 -(19393) found -[18377] Forked 19394 -(19394) found -[18376] Forked 19395 -(19395) found -[18375] Forked 19396 -(19396) found -[18374] Forked 19397 -(19397) found -[18373] Forked 19398 -(19398) found -[18372] Forked 19399 -(19399) found -[18371] Forked 19400 -(19400) found -[18370] Forked 19401 -(19401) found -[18369] Forked 19402 -(19402) found -[18368] Forked 19403 -(19403) found -[18367] Forked 19404 -(19404) found -[18366] Forked 19405 -(19405) found -[18365] Forked 19406 -(19406) found -[18364] Forked 19407 -(19407) found -[18363] Forked 19408 -(19408) found -[18362] Forked 19409 -(19409) found -[18361] Forked 19410 -(19410) found -[18360] Forked 19411 -(19411) found -[18359] Forked 19412 -(19412) found -[18358] Forked 19413 -(19413) found -[18357] Forked 19414 -(19414) found -[18356] Forked 19415 -(19415) found -[18355] Forked 19416 -(19416) found -[18354] Forked 19417 -(19417) found -[18353] Forked 19418 -(19418) found -[18352] Forked 19419 -(19419) found -[18351] Forked 19420 -(19420) found -[18350] Forked 19421 -(19421) found -[18349] Forked 19422 -(19422) found -[18348] Forked 19423 -(19423) found -[18347] Forked 19424 -(19424) found -[18346] Forked 19425 -(19425) found -[18345] Forked 19426 -(19426) found -[18344] Forked 19427 -(19427) found -[18343] Forked 19428 -(19428) found -[18342] Forked 19429 -(19429) found -[18341] Forked 19430 -(19430) found -[18340] Forked 19431 -(19431) found -[18339] Forked 19432 -(19432) found -[18338] Forked 19433 -(19433) found -[18337] Forked 19434 -(19434) found -[18336] Forked 19435 -(19435) found -[18335] Forked 19436 -(19436) found -[18334] Forked 19437 -(19437) found -[18333] Forked 19438 -(19438) found -[18332] Forked 19439 -(19439) found -[18331] Forked 19440 -(19440) found -[18330] Forked 19441 -(19441) found -[18329] Forked 19442 -(19442) found -[18328] Forked 19443 -(19443) found -[18327] Forked 19444 -(19444) found -[18326] Forked 19445 -(19445) found -[18325] Forked 19446 -(19446) found -[18324] Forked 19447 -(19447) found -[18323] Forked 19448 -(19448) found -[18322] Forked 19449 -(19449) found -[18321] Forked 19450 -(19450) found -[18320] Forked 19451 -(19451) found -[18319] Forked 19452 -(19452) found -[18318] Forked 19453 -(19453) found -[18317] Forked 19454 -[18316] Forked 19455 -(19454) found -(19455) found -[18315] Forked 19456 -[18314] Forked 19457 -(19456) found -(19457) found -[18313] Forked 19458 -[18312] Forked 19459 -(19458) found -(19459) found -[18311] Forked 19460 -[18310] Forked 19461 -(19460) found -(19461) found -[18309] Forked 19462 -[18308] Forked 19463 -(19462) found -(19463) found -[18307] Forked 19464 -[18306] Forked 19465 -(19464) found -(19465) found -[18305] Forked 19466 -[18304] Forked 19467 -(19466) found -(19467) found -[18303] Forked 19468 -[18302] Forked 19469 -(19468) found -(19469) found -[18301] Forked 19470 -[18300] Forked 19471 -(19470) found -(19471) found -[18299] Forked 19472 -[18298] Forked 19473 -(19472) found -(19473) found -[18297] Forked 19474 -[18296] Forked 19475 -(19474) found -(19475) found -[18295] Forked 19476 -[18294] Forked 19477 -(19476) found -(19477) found -[18293] Forked 19478 -[18292] Forked 19479 -(19478) found -(19479) found -[18291] Forked 19480 -[18290] Forked 19481 -(19480) found -(19481) found -[18289] Forked 19482 -[18288] Forked 19483 -(19482) found -(19483) found -[18287] Forked 19484 -[18286] Forked 19485 -(19484) found -(19485) found -[18285] Forked 19486 -[18284] Forked 19487 -(19486) found -(19487) found -[18283] Forked 19488 -[18282] Forked 19489 -(19488) found -(19489) found -[18281] Forked 19490 -[18280] Forked 19491 -(19490) found -(19491) found -[18279] Forked 19492 -[18278] Forked 19493 -(19492) found -(19493) found -[18277] Forked 19494 -[18276] Forked 19495 -(19494) found -(19495) found -[18275] Forked 19496 -[18274] Forked 19497 -(19496) found -(19497) found -[18273] Forked 19498 -[18272] Forked 19499 -(19498) found -(19499) found -[18271] Forked 19500 -(19500) found -[18270] Forked 19501 -(19501) found -[18269] Forked 19502 -(19502) found -[18268] Forked 19503 -(19503) found -[18267] Forked 19504 -(19504) found -[18266] Forked 19505 -(19505) found -[18265] Forked 19506 -(19506) found -[18264] Forked 19507 -(19507) found -[18263] Forked 19508 -(19508) found -[18262] Forked 19509 -(19509) found -[18261] Forked 19510 -(19510) found -[18260] Forked 19511 -(19511) found -[18259] Forked 19512 -(19512) found -[18258] Forked 19513 -(19513) found -[18257] Forked 19514 -(19514) found -[18256] Forked 19515 -(19515) found -[18255] Forked 19516 -(19516) found -[18254] Forked 19517 -(19517) found -[18253] Forked 19518 -(19518) found -[18252] Forked 19519 -(19519) found -[18251] Forked 19520 -(19520) found -[18250] Forked 19521 -(19521) found -[18249] Forked 19522 -(19522) found -[18248] Forked 19523 -(19523) found -[18247] Forked 19524 -(19524) found -[18246] Forked 19525 -(19525) found -[18245] Forked 19526 -(19526) found -[18244] Forked 19527 -(19527) found -[18243] Forked 19528 -(19528) found -[18242] Forked 19529 -(19529) found -[18241] Forked 19530 -(19530) found -[18240] Forked 19531 -(19531) found -[18239] Forked 19532 -(19532) found -[18238] Forked 19533 -(19533) found -[18237] Forked 19534 -(19534) found -[18236] Forked 19535 -[18235] Forked 19536 -(19535) found -(19536) found -[18234] Forked 19537 -[18233] Forked 19538 -(19537) found -(19538) found -[18232] Forked 19539 -[18231] Forked 19540 -(19539) found -(19540) found -[18230] Forked 19541 -[18229] Forked 19542 -(19541) found -(19542) found -[18228] Forked 19543 -[18227] Forked 19544 -(19543) found -(19544) found -[18226] Forked 19545 -[18225] Forked 19546 -(19545) found -(19546) found -[18224] Forked 19547 -[18223] Forked 19548 -(19547) found -(19548) found -[18222] Forked 19549 -[18221] Forked 19550 -(19549) found -(19550) found -[18220] Forked 19551 -[18219] Forked 19552 -(19551) found -(19552) found -[18218] Forked 19553 -[18217] Forked 19554 -(19553) found -(19554) found -[18216] Forked 19555 -[18215] Forked 19556 -(19555) found -(19556) found -[18214] Forked 19557 -[18213] Forked 19558 -(19557) found -(19558) found -[18212] Forked 19559 -[18211] Forked 19560 -(19559) found -(19560) found -[18210] Forked 19561 -[18209] Forked 19562 -(19561) found -(19562) found -[18208] Forked 19563 -[18207] Forked 19564 -(19563) found -(19564) found -[18206] Forked 19565 -[18205] Forked 19566 -(19565) found -(19566) found -[18204] Forked 19567 -[18203] Forked 19568 -(19567) found -(19568) found -[18202] Forked 19569 -[18201] Forked 19570 -(19569) found -(19570) found -[18200] Forked 19571 -[18199] Forked 19572 -(19571) found -(19572) found -[18198] Forked 19573 -[18197] Forked 19574 -(19573) found -(19574) found -[18196] Forked 19575 -[18195] Forked 19576 -(19575) found -(19576) found -[18194] Forked 19577 -[18193] Forked 19578 -(19577) found -(19578) found -[18192] Forked 19579 -[18191] Forked 19580 -(19579) found -(19580) found -[18190] Forked 19581 -[18189] Forked 19582 -(19581) found -(19582) found -[18188] Forked 19583 -[18187] Forked 19584 -(19583) found -(19584) found -[18186] Forked 19585 -[18185] Forked 19586 -(19585) found -(19586) found -[18184] Forked 19587 -[18183] Forked 19588 -(19587) found -(19588) found -[18182] Forked 19589 -[18181] Forked 19590 -(19589) found -(19590) found -[18180] Forked 19591 -[18179] Forked 19592 -(19591) found -(19592) found -[18178] Forked 19593 -[18177] Forked 19594 -(19593) found -(19594) found -[18176] Forked 19595 -[18175] Forked 19596 -(19595) found -(19596) found -[18174] Forked 19597 -[18173] Forked 19598 -(19597) found -(19598) found -[18172] Forked 19599 -[18171] Forked 19600 -(19599) found -(19600) found -[18170] Forked 19601 -[18169] Forked 19602 -(19601) found -(19602) found -[18168] Forked 19603 -[18167] Forked 19604 -(19603) found -(19604) found -[18166] Forked 19605 -[18165] Forked 19606 -(19605) found -(19606) found -[18164] Forked 19607 -[18163] Forked 19608 -(19607) found -(19608) found -[18162] Forked 19609 -[18161] Forked 19610 -(19609) found -(19610) found -[18160] Forked 19611 -[18159] Forked 19612 -(19611) found -(19612) found -[18158] Forked 19613 -[18157] Forked 19614 -(19613) found -(19614) found -[18156] Forked 19615 -[18155] Forked 19616 -(19615) found -(19616) found -[18154] Forked 19617 -[18153] Forked 19618 -(19617) found -(19618) found -[18152] Forked 19619 -[18151] Forked 19620 -(19619) found -(19620) found -[18150] Forked 19621 -[18149] Forked 19622 -(19621) found -(19622) found -[18148] Forked 19623 -[18147] Forked 19624 -(19623) found -(19624) found -[18146] Forked 19625 -[18145] Forked 19626 -(19625) found -(19626) found -[18144] Forked 19627 -(19627) found -[18143] Forked 19628 -(19628) found -[18142] Forked 19629 -(19629) found -[18141] Forked 19630 -(19630) found -[18140] Forked 19631 -(19631) found -[18139] Forked 19632 -(19632) found -[18138] Forked 19633 -(19633) found -[18137] Forked 19634 -(19634) found -[18136] Forked 19635 -(19635) found -[18135] Forked 19636 -(19636) found -[18134] Forked 19637 -(19637) found -[18133] Forked 19638 -(19638) found -[18132] Forked 19639 -(19639) found -[18131] Forked 19640 -(19640) found -[18130] Forked 19641 -(19641) found -[18129] Forked 19642 -(19642) found -[18128] Forked 19643 -(19643) found -[18127] Forked 19644 -(19644) found -[18126] Forked 19645 -(19645) found -[18125] Forked 19646 -(19646) found -[18124] Forked 19647 -(19647) found -[18123] Forked 19648 -(19648) found -[18122] Forked 19649 -(19649) found -[18121] Forked 19650 -(19650) found -[18120] Forked 19651 -(19651) found -[18119] Forked 19652 -(19652) found -[18118] Forked 19653 -(19653) found -[18117] Forked 19654 -(19654) found -[18116] Forked 19655 -(19655) found -[18115] Forked 19656 -(19656) found -[18114] Forked 19657 -(19657) found -[18113] Forked 19658 -(19658) found -[18112] Forked 19659 -(19659) found -[18111] Forked 19660 -(19660) found -[18110] Forked 19661 -(19661) found -[18109] Forked 19662 -(19662) found -[18108] Forked 19663 -(19663) found -[18107] Forked 19664 -(19664) found -[18106] Forked 19665 -[18105] Forked 19666 -(19665) found -(19666) found -[18104] Forked 19667 -[18103] Forked 19668 -(19667) found -(19668) found -[18102] Forked 19669 -[18101] Forked 19670 -(19669) found -(19670) found -[18100] Forked 19671 -[18099] Forked 19672 -(19671) found -(19672) found -[18098] Forked 19673 -[18097] Forked 19674 -(19673) found -(19674) found -[18096] Forked 19675 -[18095] Forked 19676 -(19675) found -(19676) found -[18094] Forked 19677 -[18093] Forked 19678 -(19677) found -(19678) found -[18092] Forked 19679 -[18091] Forked 19680 -(19679) found -(19680) found -[18090] Forked 19681 -[18089] Forked 19682 -(19681) found -(19682) found -[18088] Forked 19683 -[18087] Forked 19684 -(19683) found -(19684) found -[18086] Forked 19685 -[18085] Forked 19686 -(19685) found -(19686) found -[18084] Forked 19687 -[18083] Forked 19688 -(19687) found -(19688) found -[18082] Forked 19689 -[18081] Forked 19690 -(19689) found -(19690) found -[18080] Forked 19691 -[18079] Forked 19692 -(19691) found -(19692) found -[18078] Forked 19693 -[18077] Forked 19694 -(19693) found -(19694) found -[18076] Forked 19695 -[18075] Forked 19696 -(19695) found -(19696) found -[18074] Forked 19697 -[18073] Forked 19698 -(19697) found -(19698) found -[18072] Forked 19699 -[18071] Forked 19700 -(19699) found -(19700) found -[18070] Forked 19701 -[18069] Forked 19702 -(19701) found -(19702) found -[18068] Forked 19703 -[18067] Forked 19704 -(19703) found -(19704) found -[18066] Forked 19705 -[18065] Forked 19706 -(19705) found -(19706) found -[18064] Forked 19707 -[18063] Forked 19708 -(19707) found -(19708) found -[18062] Forked 19709 -(19709) found -[18061] Forked 19710 -(19710) found -[18060] Forked 19711 -(19711) found -[18059] Forked 19712 -(19712) found -[18058] Forked 19713 -(19713) found -[18057] Forked 19714 -(19714) found -[18056] Forked 19715 -(19715) found -[18055] Forked 19716 -(19716) found -[18054] Forked 19717 -(19717) found -[18053] Forked 19718 -(19718) found -[18052] Forked 19719 -(19719) found -[18051] Forked 19720 -(19720) found -[18050] Forked 19721 -(19721) found -[18049] Forked 19722 -(19722) found -[18048] Forked 19723 -(19723) found -[18047] Forked 19724 -(19724) found -[18046] Forked 19725 -(19725) found -[18045] Forked 19726 -(19726) found -[18044] Forked 19727 -(19727) found -[18043] Forked 19728 -(19728) found -[18042] Forked 19729 -(19729) found -[18041] Forked 19730 -(19730) found -[18040] Forked 19731 -(19731) found -[18039] Forked 19732 -(19732) found -[18038] Forked 19733 -(19733) found -[18037] Forked 19734 -(19734) found -[18036] Forked 19735 -(19735) found -[18035] Forked 19736 -(19736) found -[18034] Forked 19737 -(19737) found -[18033] Forked 19738 -(19738) found -[18032] Forked 19739 -(19739) found -[18031] Forked 19740 -(19740) found -[18030] Forked 19741 -(19741) found -[18029] Forked 19742 -(19742) found -[18028] Forked 19743 -(19743) found -[18027] Forked 19744 -(19744) found -[18026] Forked 19745 -(19745) found -[18025] Forked 19746 -(19746) found -[18024] Forked 19747 -(19747) found -[18023] Forked 19748 -(19748) found -[18022] Forked 19749 -[18021] Forked 19750 -(19749) found -(19750) found -[18020] Forked 19751 -[18019] Forked 19752 -(19751) found -(19752) found -[18018] Forked 19753 -[18017] Forked 19754 -(19753) found -(19754) found -[18016] Forked 19755 -[18015] Forked 19756 -(19755) found -(19756) found -[18014] Forked 19757 -[18013] Forked 19758 -(19757) found -(19758) found -[18012] Forked 19759 -[18011] Forked 19760 -(19759) found -(19760) found -[18010] Forked 19761 -[18009] Forked 19762 -(19761) found -(19762) found -[18008] Forked 19763 -[18007] Forked 19764 -(19763) found -(19764) found -[18006] Forked 19765 -[18005] Forked 19766 -(19765) found -(19766) found -[18004] Forked 19767 -[18003] Forked 19768 -(19767) found -(19768) found -[18002] Forked 19769 -[18001] Forked 19770 -(19769) found -(19770) found -[18000] Forked 19771 -[17999] Forked 19772 -(19771) found -(19772) found -[17998] Forked 19773 -[17997] Forked 19774 -(19773) found -(19774) found -[17996] Forked 19775 -[17995] Forked 19776 -(19776) found -(19775) found -[17994] Forked 19777 -(19777) found -[17993] Forked 19778 -(19778) found -[17992] Forked 19779 -(19779) found -[17991] Forked 19780 -(19780) found -[17990] Forked 19781 -(19781) found -[17989] Forked 19782 -(19782) found -[17988] Forked 19783 -(19783) found -[17987] Forked 19784 -(19784) found -[17986] Forked 19785 -(19785) found -[17985] Forked 19786 -(19786) found -[17984] Forked 19787 -(19787) found -[17983] Forked 19788 -(19788) found -[17982] Forked 19789 -(19789) found -[17981] Forked 19790 -(19790) found -[17980] Forked 19791 -(19791) found -[17979] Forked 19792 -(19792) found -[17978] Forked 19793 -(19793) found -[17977] Forked 19794 -(19794) found -[17976] Forked 19795 -(19795) found -[17975] Forked 19796 -(19796) found -[17974] Forked 19797 -(19797) found -[17973] Forked 19798 -(19798) found -[17972] Forked 19799 -(19799) found -[17971] Forked 19800 -(19800) found -[17970] Forked 19801 -(19801) found -[17969] Forked 19802 -(19802) found -[17968] Forked 19803 -(19803) found -[17967] Forked 19804 -(19804) found -[17966] Forked 19805 -(19805) found -[17965] Forked 19806 -(19806) found -[17964] Forked 19807 -(19807) found -[17963] Forked 19808 -(19808) found -[17962] Forked 19809 -(19809) found -[17961] Forked 19810 -(19810) found -[17960] Forked 19811 -(19811) found -[17959] Forked 19812 -(19812) found -[17958] Forked 19813 -(19813) found -[17957] Forked 19814 -(19814) found -[17956] Forked 19815 -(19815) found -[17955] Forked 19816 -(19816) found -[17954] Forked 19817 -(19817) found -[17953] Forked 19818 -(19818) found -[17952] Forked 19819 -(19819) found -[17951] Forked 19820 -(19820) found -[17950] Forked 19821 -(19821) found -[17949] Forked 19822 -(19822) found -[17948] Forked 19823 -(19823) found -[17947] Forked 19824 -(19824) found -[17946] Forked 19825 -(19825) found -[17945] Forked 19826 -[17944] Forked 19827 -(19826) found -(19827) found -[17943] Forked 19828 -[17942] Forked 19829 -(19828) found -(19829) found -[17941] Forked 19830 -[17940] Forked 19831 -(19830) found -(19831) found -[17939] Forked 19832 -[17938] Forked 19833 -(19832) found -(19833) found -[17937] Forked 19834 -[17936] Forked 19835 -(19834) found -(19835) found -[17935] Forked 19836 -[17934] Forked 19837 -(19836) found -(19837) found -[17933] Forked 19838 -[17932] Forked 19839 -(19838) found -(19839) found -[17931] Forked 19840 -[17930] Forked 19841 -(19840) found -(19841) found -[17929] Forked 19842 -[17928] Forked 19843 -(19842) found -(19843) found -[17927] Forked 19844 -[17926] Forked 19845 -(19844) found -(19845) found -[17925] Forked 19846 -[17924] Forked 19847 -(19846) found -(19847) found -[17923] Forked 19848 -[17922] Forked 19849 -(19848) found -(19849) found -[17921] Forked 19850 -[17920] Forked 19851 -(19850) found -(19851) found -[17919] Forked 19852 -[17918] Forked 19853 -(19852) found -(19853) found -[17917] Forked 19854 -[17916] Forked 19855 -(19854) found -(19855) found -[17915] Forked 19856 -[17914] Forked 19857 -(19856) found -(19857) found -[17913] Forked 19858 -[17912] Forked 19859 -(19858) found -(19859) found -[17911] Forked 19860 -[17910] Forked 19861 -(19860) found -(19861) found -[17909] Forked 19862 -[17908] Forked 19863 -(19862) found -(19863) found -[17907] Forked 19864 -[17906] Forked 19865 -(19864) found -(19865) found -[17905] Forked 19866 -[17904] Forked 19867 -(19866) found -(19867) found -[17903] Forked 19868 -[17902] Forked 19869 -(19869) found -(19868) found -[17901] Forked 19870 -(19870) found -[17900] Forked 19871 -(19871) found -[17899] Forked 19872 -(19872) found -[17898] Forked 19873 -(19873) found -[17897] Forked 19874 -(19874) found -[17896] Forked 19875 -(19875) found -[17895] Forked 19876 -(19876) found -[17894] Forked 19877 -(19877) found -[17893] Forked 19878 -(19878) found -[17892] Forked 19879 -(19879) found -[17891] Forked 19880 -(19880) found -[17890] Forked 19881 -(19881) found -[17889] Forked 19882 -(19882) found -[17888] Forked 19883 -(19883) found -[17887] Forked 19884 -(19884) found -[17886] Forked 19885 -(19885) found -[17885] Forked 19886 -(19886) found -[17884] Forked 19887 -(19887) found -[17883] Forked 19888 -(19888) found -[17882] Forked 19889 -(19889) found -[17881] Forked 19890 -(19890) found -[17880] Forked 19891 -(19891) found -[17879] Forked 19892 -(19892) found -[17878] Forked 19893 -(19893) found -[17877] Forked 19894 -(19894) found -[17876] Forked 19895 -(19895) found -[17875] Forked 19896 -(19896) found -[17874] Forked 19897 -(19897) found -[17873] Forked 19898 -(19898) found -[17872] Forked 19899 -(19899) found -[17871] Forked 19900 -(19900) found -[17870] Forked 19901 -(19901) found -[17869] Forked 19902 -(19902) found -[17868] Forked 19903 -(19903) found -[17867] Forked 19904 -(19904) found -[17866] Forked 19905 -(19905) found -[17865] Forked 19906 -[17864] Forked 19907 -(19906) found -(19907) found -[17863] Forked 19908 -[17862] Forked 19909 -(19908) found -(19909) found -[17861] Forked 19910 -[17860] Forked 19911 -(19910) found -(19911) found -[17859] Forked 19912 -[17858] Forked 19913 -(19912) found -(19913) found -[17857] Forked 19914 -[17856] Forked 19915 -(19914) found -(19915) found -[17855] Forked 19916 -[17854] Forked 19917 -(19916) found -(19917) found -[17853] Forked 19918 -[17852] Forked 19919 -(19918) found -(19919) found -[17851] Forked 19920 -[17850] Forked 19921 -(19920) found -(19921) found -[17849] Forked 19922 -[17848] Forked 19923 -(19922) found -(19923) found -[17847] Forked 19924 -[17846] Forked 19925 -(19924) found -(19925) found -[17845] Forked 19926 -[17844] Forked 19927 -(19926) found -(19927) found -[17843] Forked 19928 -[17842] Forked 19929 -(19928) found -(19929) found -[17841] Forked 19930 -[17840] Forked 19931 -(19930) found -(19931) found -[17839] Forked 19932 -[17838] Forked 19933 -(19932) found -(19933) found -[17837] Forked 19934 -[17836] Forked 19935 -(19934) found -(19935) found -[17835] Forked 19936 -[17834] Forked 19937 -(19936) found -(19937) found -[17833] Forked 19938 -[17832] Forked 19939 -(19938) found -(19939) found -[17831] Forked 19940 -[17830] Forked 19941 -(19940) found -(19941) found -[17829] Forked 19942 -[17828] Forked 19943 -(19942) found -(19943) found -[17827] Forked 19944 -[17826] Forked 19945 -(19944) found -(19945) found -[17825] Forked 19946 -[17824] Forked 19947 -(19946) found -(19947) found -[17823] Forked 19948 -[17822] Forked 19949 -(19948) found -(19949) found -[17821] Forked 19950 -(19950) found -[17820] Forked 19951 -(19951) found -[17819] Forked 19952 -(19952) found -[17818] Forked 19953 -(19953) found -[17817] Forked 19954 -(19954) found -[17816] Forked 19955 -(19955) found -[17815] Forked 19956 -(19956) found -[17814] Forked 19957 -(19957) found -[17813] Forked 19958 -(19958) found -[17812] Forked 19959 -(19959) found -[17811] Forked 19960 -(19960) found -[17810] Forked 19961 -(19961) found -[17809] Forked 19962 -(19962) found -[17808] Forked 19963 -(19963) found -[17807] Forked 19964 -(19964) found -[17806] Forked 19965 -(19965) found -[17805] Forked 19966 -(19966) found -[17804] Forked 19967 -(19967) found -[17803] Forked 19968 -(19968) found -[17802] Forked 19969 -(19969) found -[17801] Forked 19970 -(19970) found -[17800] Forked 19971 -(19971) found -[17799] Forked 19972 -(19972) found -[17798] Forked 19973 -(19973) found -[17797] Forked 19974 -(19974) found -[17796] Forked 19975 -(19975) found -[17795] Forked 19976 -(19976) found -[17794] Forked 19977 -(19977) found -[17793] Forked 19978 -(19978) found -[17792] Forked 19979 -(19979) found -[17791] Forked 19980 -(19980) found -[17790] Forked 19981 -(19981) found -[17789] Forked 19982 -(19982) found -[17788] Forked 19983 -(19983) found -[17787] Forked 19984 -(19984) found -[17786] Forked 19985 -(19985) found -[17785] Forked 19986 -(19986) found -[17784] Forked 19987 -(19987) found -[17783] Forked 19988 -(19988) found -[17782] Forked 19989 -[17781] Forked 19990 -(19989) found -(19990) found -[17780] Forked 19991 -[17779] Forked 19992 -(19991) found -(19992) found -[17778] Forked 19993 -[17777] Forked 19994 -(19993) found -(19994) found -[17776] Forked 19995 -[17775] Forked 19996 -(19995) found -(19996) found -[17774] Forked 19997 -[17773] Forked 19998 -(19997) found -(19998) found -[17772] Forked 19999 -[17771] Forked 20000 -(19999) found -(20000) found -[17770] Forked 20001 -[17769] Forked 20002 -(20001) found -(20002) found -[17768] Forked 20003 -[17767] Forked 20004 -(20003) found -(20004) found -[17766] Forked 20005 -[17765] Forked 20006 -(20005) found -(20006) found -[17764] Forked 20007 -[17763] Forked 20008 -(20007) found -(20008) found -[17762] Forked 20009 -[17761] Forked 20010 -(20009) found -(20010) found -[17760] Forked 20011 -[17759] Forked 20012 -(20011) found -(20012) found -[17758] Forked 20013 -[17757] Forked 20014 -(20013) found -(20014) found -[17756] Forked 20015 -[17755] Forked 20016 -(20015) found -(20016) found -[17754] Forked 20017 -[17753] Forked 20018 -(20017) found -(20018) found -[17752] Forked 20019 -[17751] Forked 20020 -(20019) found -(20020) found -[17750] Forked 20021 -[17749] Forked 20022 -(20021) found -(20022) found -[17748] Forked 20023 -[17747] Forked 20024 -(20023) found -(20024) found -[17746] Forked 20025 -[17745] Forked 20026 -(20025) found -(20026) found -[17744] Forked 20027 -[17743] Forked 20029 -(20027) found -(20029) found -[17742] Forked 20030 -(20030) found -[17741] Forked 20031 -(20031) found -[17740] Forked 20032 -(20032) found -[17739] Forked 20033 -(20033) found -[17738] Forked 20034 -(20034) found -[17737] Forked 20035 -(20035) found -[17736] Forked 20036 -(20036) found -[17735] Forked 20037 -(20037) found -[17734] Forked 20038 -(20038) found -[17733] Forked 20039 -(20039) found -[17732] Forked 20040 -(20040) found -[17731] Forked 20041 -(20041) found -[17730] Forked 20042 -(20042) found -[17729] Forked 20043 -(20043) found -[17728] Forked 20044 -(20044) found -[17727] Forked 20045 -(20045) found -[17726] Forked 20046 -(20046) found -[17725] Forked 20047 -(20047) found -[17724] Forked 20048 -(20048) found -[17723] Forked 20049 -(20049) found -[17722] Forked 20050 -(20050) found -[17721] Forked 20051 -(20051) found -[17720] Forked 20052 -(20052) found -[17719] Forked 20053 -(20053) found -[17718] Forked 20054 -(20054) found -[17717] Forked 20055 -(20055) found -[17716] Forked 20056 -(20056) found -[17715] Forked 20057 -(20057) found -[17714] Forked 20058 -(20058) found -[17713] Forked 20059 -(20059) found -[17712] Forked 20060 -(20060) found -[17711] Forked 20061 -(20061) found -[17710] Forked 20062 -(20062) found -[17709] Forked 20063 -(20063) found -[17708] Forked 20064 -(20064) found -[17707] Forked 20065 -(20065) found -[17706] Forked 20066 -(20066) found -[17705] Forked 20067 -(20067) found -[17704] Forked 20068 -(20068) found -[17703] Forked 20069 -(20069) found -[17702] Forked 20070 -(20070) found -[17701] Forked 20071 -(20071) found -[17700] Forked 20072 -(20072) found -[17699] Forked 20073 -(20073) found -[17698] Forked 20074 -(20074) found -[17697] Forked 20075 -(20075) found -[17696] Forked 20076 -(20076) found -[17695] Forked 20077 -(20077) found -[17694] Forked 20078 -(20078) found -[17693] Forked 20079 -(20079) found -[17692] Forked 20080 -(20080) found -[17691] Forked 20081 -(20081) found -[17690] Forked 20082 -(20082) found -[17689] Forked 20083 -(20083) found -[17688] Forked 20084 -(20084) found -[17687] Forked 20085 -(20085) found -[17686] Forked 20086 -(20086) found -[17685] Forked 20087 -(20087) found -[17684] Forked 20088 -(20088) found -[17683] Forked 20089 -(20089) found -[17682] Forked 20090 -(20090) found -[17681] Forked 20091 -(20091) found -[17680] Forked 20092 -(20092) found -[17679] Forked 20093 -(20093) found -[17678] Forked 20094 -(20094) found -[17677] Forked 20095 -(20095) found -[17676] Forked 20096 -(20096) found -[17675] Forked 20097 -(20097) found -[17674] Forked 20098 -(20098) found -[17673] Forked 20099 -(20099) found -[17672] Forked 20100 -(20100) found -[17671] Forked 20101 -(20101) found -[17670] Forked 20102 -(20102) found -[17669] Forked 20103 -[17668] Forked 20104 -(20103) found -(20104) found -[17667] Forked 20105 -[17666] Forked 20106 -(20105) found -(20106) found -[17665] Forked 20107 -[17664] Forked 20108 -(20107) found -(20108) found -[17663] Forked 20109 -[17662] Forked 20110 -(20109) found -(20110) found -[17661] Forked 20111 -[17660] Forked 20112 -(20111) found -(20112) found -[17659] Forked 20113 -[17658] Forked 20114 -(20113) found -(20114) found -[17657] Forked 20115 -[17656] Forked 20116 -(20115) found -(20116) found -[17655] Forked 20117 -[17654] Forked 20118 -(20117) found -(20118) found -[17653] Forked 20119 -[17652] Forked 20120 -(20119) found -(20120) found -[17651] Forked 20121 -[17650] Forked 20122 -(20121) found -(20122) found -[17649] Forked 20123 -[17648] Forked 20124 -(20123) found -(20124) found -[17647] Forked 20125 -[17646] Forked 20126 -(20125) found -(20126) found -[17645] Forked 20127 -[17644] Forked 20128 -(20127) found -(20128) found -[17643] Forked 20129 -[17642] Forked 20130 -(20129) found -(20130) found -[17641] Forked 20131 -[17640] Forked 20132 -(20131) found -(20132) found -[17639] Forked 20133 -[17638] Forked 20134 -(20133) found -(20134) found -[17637] Forked 20135 -[17636] Forked 20136 -(20135) found -(20136) found -[17635] Forked 20137 -[17634] Forked 20138 -(20137) found -(20138) found -[17633] Forked 20139 -[17632] Forked 20140 -(20139) found -(20140) found -[17631] Forked 20141 -[17630] Forked 20142 -(20141) found -(20142) found -[17629] Forked 20143 -[17628] Forked 20144 -(20143) found -(20144) found -[17627] Forked 20145 -[17626] Forked 20146 -(20145) found -(20146) found -[17625] Forked 20147 -[17624] Forked 20148 -(20147) found -(20148) found -[17623] Forked 20149 -[17622] Forked 20150 -(20150) found -(20149) found -[17621] Forked 20151 -(20151) found -[17620] Forked 20152 -(20152) found -[17619] Forked 20153 -(20153) found -[17618] Forked 20154 -(20154) found -[17617] Forked 20155 -(20155) found -[17616] Forked 20156 -(20156) found -[17615] Forked 20157 -(20157) found -[17614] Forked 20158 -(20158) found -[17613] Forked 20159 -(20159) found -[17612] Forked 20160 -(20160) found -[17611] Forked 20161 -(20161) found -[17610] Forked 20162 -(20162) found -[17609] Forked 20163 -(20163) found -[17608] Forked 20164 -(20164) found -[17607] Forked 20165 -(20165) found -[17606] Forked 20166 -(20166) found -[17605] Forked 20167 -(20167) found -[17604] Forked 20168 -(20168) found -[17603] Forked 20169 -(20169) found -[17602] Forked 20170 -(20170) found -[17601] Forked 20171 -(20171) found -[17600] Forked 20172 -(20172) found -[17599] Forked 20173 -(20173) found -[17598] Forked 20174 -(20174) found -[17597] Forked 20175 -(20175) found -[17596] Forked 20176 -(20176) found -[17595] Forked 20177 -(20177) found -[17594] Forked 20178 -(20178) found -[17593] Forked 20179 -(20179) found -[17592] Forked 20180 -(20180) found -[17591] Forked 20181 -(20181) found -[17590] Forked 20182 -(20182) found -[17589] Forked 20183 -(20183) found -[17588] Forked 20184 -(20184) found -[17587] Forked 20185 -(20185) found -[17586] Forked 20186 -(20186) found -[17585] Forked 20187 -(20187) found -[17584] Forked 20188 -(20188) found -[17583] Forked 20189 -(20189) found -[17582] Forked 20190 -(20190) found -[17581] Forked 20191 -(20191) found -[17580] Forked 20192 -(20192) found -[17579] Forked 20193 -(20193) found -[17578] Forked 20194 -(20194) found -[17577] Forked 20195 -(20195) found -[17576] Forked 20196 -(20196) found -[17575] Forked 20197 -(20197) found -[17574] Forked 20198 -(20198) found -[17573] Forked 20199 -(20199) found -[17572] Forked 20200 -(20200) found -[17571] Forked 20201 -[17570] Forked 20202 -(20201) found -(20202) found -[17569] Forked 20203 -[17568] Forked 20204 -(20203) found -(20204) found -[17567] Forked 20205 -[17566] Forked 20206 -(20205) found -(20206) found -[17565] Forked 20207 -(20207) found -[17564] Forked 20208 -(20208) found -[17563] Forked 20209 -(20209) found -[17562] Forked 20210 -(20210) found -[17561] Forked 20211 -(20211) found -[17560] Forked 20212 -(20212) found -[17559] Forked 20213 -(20213) found -[17558] Forked 20214 -(20214) found -[17557] Forked 20215 -(20215) found -[17556] Forked 20216 -(20216) found -[17555] Forked 20217 -(20217) found -[17554] Forked 20218 -(20218) found -[17553] Forked 20219 -(20219) found -[17552] Forked 20220 -(20220) found -[17551] Forked 20221 -(20221) found -[17550] Forked 20222 -(20222) found -[17549] Forked 20223 -(20223) found -[17548] Forked 20224 -(20224) found -[17547] Forked 20225 -(20225) found -[17546] Forked 20226 -(20226) found -[17545] Forked 20227 -(20227) found -[17544] Forked 20228 -(20228) found -[17543] Forked 20229 -(20229) found -[17542] Forked 20230 -(20230) found -[17541] Forked 20231 -(20231) found -[17540] Forked 20232 -(20232) found -[17539] Forked 20233 -(20233) found -[17538] Forked 20234 -(20234) found -[17537] Forked 20235 -(20235) found -[17536] Forked 20236 -(20236) found -[17535] Forked 20237 -(20237) found -[17534] Forked 20238 -(20238) found -[17533] Forked 20239 -(20239) found -[17532] Forked 20240 -(20240) found -[17531] Forked 20241 -(20241) found -[17530] Forked 20242 -[17529] Forked 20243 -(20242) found -(20243) found -[17528] Forked 20244 -[17527] Forked 20245 -(20244) found -(20245) found -[17526] Forked 20246 -[17525] Forked 20247 -(20246) found -(20247) found -[17524] Forked 20248 -[17523] Forked 20249 -(20248) found -(20249) found -[17522] Forked 20250 -[17521] Forked 20251 -(20250) found -(20251) found -[17520] Forked 20252 -[17519] Forked 20253 -(20252) found -(20253) found -[17518] Forked 20254 -[17517] Forked 20255 -(20254) found -(20255) found -[17516] Forked 20256 -[17515] Forked 20257 -(20256) found -(20257) found -[17514] Forked 20258 -[17513] Forked 20259 -(20258) found -(20259) found -[17512] Forked 20260 -[17511] Forked 20261 -(20260) found -(20261) found -[17510] Forked 20262 -[17509] Forked 20263 -(20262) found -(20263) found -[17508] Forked 20264 -[17507] Forked 20265 -(20264) found -(20265) found -[17506] Forked 20266 -[17505] Forked 20267 -(20266) found -(20267) found -[17504] Forked 20268 -[17503] Forked 20269 -(20268) found -(20269) found -[17502] Forked 20270 -[17501] Forked 20271 -(20270) found -(20271) found -[17500] Forked 20272 -[17499] Forked 20273 -(20272) found -(20273) found -[17498] Forked 20274 -[17497] Forked 20275 -(20274) found -(20275) found -[17496] Forked 20276 -[17495] Forked 20277 -(20276) found -(20277) found -[17494] Forked 20278 -[17493] Forked 20279 -(20278) found -(20279) found -[17492] Forked 20280 -[17491] Forked 20281 -(20280) found -(20281) found -[17490] Forked 20282 -[17489] Forked 20283 -(20282) found -(20283) found -[17488] Forked 20284 -[17487] Forked 20285 -(20284) found -(20285) found -[17486] Forked 20286 -[17485] Forked 20287 -(20286) found -(20287) found -[17484] Forked 20288 -[17483] Forked 20289 -(20288) found -(20289) found -[17482] Forked 20290 -[17481] Forked 20291 -(20290) found -(20291) found -[17480] Forked 20292 -[17479] Forked 20293 -(20292) found -(20293) found -[17478] Forked 20294 -[17477] Forked 20295 -(20294) found -(20295) found -[17476] Forked 20296 -[17475] Forked 20297 -(20296) found -(20297) found -[17474] Forked 20298 -[17473] Forked 20299 -(20298) found -(20299) found -[17472] Forked 20300 -[17471] Forked 20301 -(20300) found -(20301) found -[17470] Forked 20302 -[17469] Forked 20303 -(20302) found -(20303) found -[17468] Forked 20304 -[17467] Forked 20305 -(20304) found -(20305) found -[17466] Forked 20306 -[17465] Forked 20307 -(20306) found -(20307) found -[17464] Forked 20308 -[17463] Forked 20309 -(20308) found -(20309) found -[17462] Forked 20310 -[17461] Forked 20311 -(20310) found -(20311) found -[17460] Forked 20312 -[17459] Forked 20313 -(20312) found -(20313) found -[17458] Forked 20314 -[17457] Forked 20315 -(20314) found -(20315) found -[17456] Forked 20316 -[17455] Forked 20317 -(20316) found -(20317) found -[17454] Forked 20318 -[17453] Forked 20319 -(20318) found -(20319) found -[17452] Forked 20320 -[17451] Forked 20321 -(20320) found -(20321) found -[17450] Forked 20322 -[17449] Forked 20323 -(20322) found -(20323) found -[17448] Forked 20324 -[17447] Forked 20325 -(20324) found -(20325) found -[17446] Forked 20326 -[17445] Forked 20327 -(20326) found -(20327) found -[17444] Forked 20328 -[17443] Forked 20329 -(20328) found -(20329) found -[17442] Forked 20330 -[17441] Forked 20331 -(20330) found -(20331) found -[17440] Forked 20332 -[17439] Forked 20333 -(20332) found -(20333) found -[17438] Forked 20334 -(20334) found -[17437] Forked 20335 -(20335) found -[17436] Forked 20336 -(20336) found -[17435] Forked 20337 -(20337) found -[17434] Forked 20338 -(20338) found -[17433] Forked 20339 -(20339) found -[17432] Forked 20340 -(20340) found -[17431] Forked 20341 -(20341) found -[17430] Forked 20342 -(20342) found -[17429] Forked 20343 -(20343) found -[17428] Forked 20344 -(20344) found -[17427] Forked 20345 -(20345) found -[17426] Forked 20346 -(20346) found -[17425] Forked 20347 -(20347) found -[17424] Forked 20348 -(20348) found -[17423] Forked 20349 -(20349) found -[17422] Forked 20350 -(20350) found -[17421] Forked 20351 -(20351) found -[17420] Forked 20352 -(20352) found -[17419] Forked 20353 -(20353) found -[17418] Forked 20354 -(20354) found -[17417] Forked 20355 -(20355) found -[17416] Forked 20356 -(20356) found -[17415] Forked 20357 -(20357) found -[17414] Forked 20358 -(20358) found -[17413] Forked 20359 -(20359) found -[17412] Forked 20360 -(20360) found -[17411] Forked 20361 -(20361) found -[17410] Forked 20362 -(20362) found -[17409] Forked 20363 -(20363) found -[17408] Forked 20364 -(20364) found -[17407] Forked 20365 -(20365) found -[17406] Forked 20366 -(20366) found -[17405] Forked 20367 -(20367) found -[17404] Forked 20368 -(20368) found -[17403] Forked 20369 -(20369) found -[17402] Forked 20370 -(20370) found -[17401] Forked 20371 -(20371) found -[17400] Forked 20372 -(20372) found -[17399] Forked 20373 -[17398] Forked 20374 -(20373) found -(20374) found -[17397] Forked 20375 -[17396] Forked 20376 -(20375) found -(20376) found -[17395] Forked 20377 -[17394] Forked 20378 -(20377) found -(20378) found -[17393] Forked 20379 -[17392] Forked 20380 -(20379) found -(20380) found -[17391] Forked 20381 -[17390] Forked 20382 -(20381) found -(20382) found -[17389] Forked 20383 -[17388] Forked 20384 -(20383) found -(20384) found -[17387] Forked 20385 -[17386] Forked 20386 -(20385) found -(20386) found -[17385] Forked 20387 -[17384] Forked 20388 -(20387) found -(20388) found -[17383] Forked 20389 -[17382] Forked 20390 -(20389) found -(20390) found -[17381] Forked 20391 -[17380] Forked 20392 -(20391) found -(20392) found -[17379] Forked 20393 -[17378] Forked 20394 -(20393) found -(20394) found -[17377] Forked 20395 -[17376] Forked 20396 -(20395) found -(20396) found -[17375] Forked 20397 -[17374] Forked 20398 -(20397) found -(20398) found -[17373] Forked 20399 -[17372] Forked 20400 -(20399) found -(20400) found -[17371] Forked 20401 -[17370] Forked 20402 -(20401) found -(20402) found -[17369] Forked 20403 -[17368] Forked 20404 -(20403) found -(20404) found -[17367] Forked 20405 -[17366] Forked 20406 -(20405) found -(20406) found -[17365] Forked 20407 -[17364] Forked 20408 -(20407) found -(20408) found -[17363] Forked 20409 -[17362] Forked 20410 -(20409) found -(20410) found -[17361] Forked 20411 -[17360] Forked 20412 -(20411) found -(20412) found -[17359] Forked 20413 -[17358] Forked 20414 -(20413) found -(20414) found -[17357] Forked 20415 -[17356] Forked 20416 -(20415) found -(20416) found -[17355] Forked 20417 -(20417) found -[17354] Forked 20418 -(20418) found -[17353] Forked 20419 -(20419) found -[17352] Forked 20420 -(20420) found -[17351] Forked 20421 -(20421) found -[17350] Forked 20422 -(20422) found -[17349] Forked 20423 -(20423) found -[17348] Forked 20424 -(20424) found -[17347] Forked 20425 -(20425) found -[17346] Forked 20426 -(20426) found -[17345] Forked 20427 -(20427) found -[17344] Forked 20428 -(20428) found -[17343] Forked 20429 -(20429) found -[17342] Forked 20430 -(20430) found -[17341] Forked 20431 -(20431) found -[17340] Forked 20432 -(20432) found -[17339] Forked 20433 -(20433) found -[17338] Forked 20434 -(20434) found -[17337] Forked 20435 -(20435) found -[17336] Forked 20436 -(20436) found -[17335] Forked 20437 -(20437) found -[17334] Forked 20438 -(20438) found -[17333] Forked 20439 -(20439) found -[17332] Forked 20440 -(20440) found -[17331] Forked 20441 -(20441) found -[17330] Forked 20442 -(20442) found -[17329] Forked 20443 -(20443) found -[17328] Forked 20444 -(20444) found -[17327] Forked 20445 -(20445) found -[17326] Forked 20446 -(20446) found -[17325] Forked 20447 -(20447) found -[17324] Forked 20448 -(20448) found -[17323] Forked 20449 -(20449) found -[17322] Forked 20450 -(20450) found -[17321] Forked 20451 -(20451) found -[17320] Forked 20452 -(20452) found -[17319] Forked 20453 -(20453) found -[17318] Forked 20454 -(20454) found -[17317] Forked 20455 -(20455) found -[17316] Forked 20456 -[17315] Forked 20457 -(20456) found -(20457) found -[17314] Forked 20458 -[17313] Forked 20459 -(20458) found -(20459) found -[17312] Forked 20460 -[17311] Forked 20461 -(20460) found -(20461) found -[17310] Forked 20462 -[17309] Forked 20463 -(20462) found -(20463) found -[17308] Forked 20464 -[17307] Forked 20465 -(20464) found -(20465) found -[17306] Forked 20466 -[17305] Forked 20467 -(20466) found -(20467) found -[17304] Forked 20468 -[17303] Forked 20469 -(20468) found -(20469) found -[17302] Forked 20470 -[17301] Forked 20471 -(20470) found -(20471) found -[17300] Forked 20472 -[17299] Forked 20473 -(20472) found -(20473) found -[17298] Forked 20474 -[17297] Forked 20475 -(20474) found -(20475) found -[17296] Forked 20476 -[17295] Forked 20477 -(20476) found -(20477) found -[17294] Forked 20478 -[17293] Forked 20479 -(20478) found -(20479) found -[17292] Forked 20480 -[17291] Forked 20481 -(20480) found -(20481) found -[17290] Forked 20482 -[17289] Forked 20483 -(20482) found -(20483) found -[17288] Forked 20484 -[17287] Forked 20485 -(20484) found -(20485) found -[17286] Forked 20486 -[17285] Forked 20487 -(20486) found -(20487) found -[17284] Forked 20488 -[17283] Forked 20489 -(20488) found -(20489) found -[17282] Forked 20490 -[17281] Forked 20491 -(20490) found -(20491) found -[17280] Forked 20492 -[17279] Forked 20493 -(20492) found -(20493) found -[17278] Forked 20494 -(20494) found -[17277] Forked 20495 -[17276] Forked 20496 -(20495) found -(20496) found -[17275] Forked 20497 -[17274] Forked 20498 -(20497) found -(20498) found -[17273] Forked 20499 -(20499) found -[17272] Forked 20500 -(20500) found -[17271] Forked 20501 -(20501) found -[17270] Forked 20502 -(20502) found -[17269] Forked 20503 -(20503) found -[17268] Forked 20504 -(20504) found -[17267] Forked 20505 -(20505) found -[17266] Forked 20506 -(20506) found -[17265] Forked 20507 -(20507) found -[17264] Forked 20508 -(20508) found -[17263] Forked 20509 -(20509) found -[17262] Forked 20510 -(20510) found -[17261] Forked 20511 -(20511) found -[17260] Forked 20512 -(20512) found -[17259] Forked 20513 -(20513) found -[17258] Forked 20514 -(20514) found -[17257] Forked 20515 -(20515) found -[17256] Forked 20516 -(20516) found -[17255] Forked 20517 -(20517) found -[17254] Forked 20518 -(20518) found -[17253] Forked 20519 -(20519) found -[17252] Forked 20520 -(20520) found -[17251] Forked 20521 -(20521) found -[17250] Forked 20522 -(20522) found -[17249] Forked 20523 -(20523) found -[17248] Forked 20524 -(20524) found -[17247] Forked 20525 -(20525) found -[17246] Forked 20526 -(20526) found -[17245] Forked 20527 -(20527) found -[17244] Forked 20528 -(20528) found -[17243] Forked 20529 -(20529) found -[17242] Forked 20530 -(20530) found -[17241] Forked 20531 -(20531) found -[17240] Forked 20532 -(20532) found -[17239] Forked 20533 -(20533) found -[17238] Forked 20534 -(20534) found -[17237] Forked 20535 -(20535) found -[17236] Forked 20536 -(20536) found -[17235] Forked 20537 -(20537) found -[17234] Forked 20538 -[17233] Forked 20539 -(20538) found -(20539) found -[17232] Forked 20540 -[17231] Forked 20541 -(20540) found -(20541) found -[17230] Forked 20542 -[17229] Forked 20543 -(20542) found -(20543) found -[17228] Forked 20544 -[17227] Forked 20545 -(20544) found -(20545) found -[17226] Forked 20546 -[17225] Forked 20547 -(20546) found -(20547) found -[17224] Forked 20548 -[17223] Forked 20549 -(20548) found -(20549) found -[17222] Forked 20550 -[17221] Forked 20551 -(20550) found -(20551) found -[17220] Forked 20552 -[17219] Forked 20553 -(20552) found -(20553) found -[17218] Forked 20554 -[17217] Forked 20555 -(20554) found -(20555) found -[17216] Forked 20556 -[17215] Forked 20557 -(20556) found -(20557) found -[17214] Forked 20558 -[17213] Forked 20559 -(20558) found -(20559) found -[17212] Forked 20560 -[17211] Forked 20561 -(20560) found -(20561) found -[17210] Forked 20562 -[17209] Forked 20563 -(20562) found -(20563) found -[17208] Forked 20564 -[17207] Forked 20565 -(20564) found -(20565) found -[17206] Forked 20566 -[17205] Forked 20567 -(20566) found -(20567) found -[17204] Forked 20568 -[17203] Forked 20569 -(20568) found -(20569) found -[17202] Forked 20570 -[17201] Forked 20571 -(20570) found -(20571) found -[17200] Forked 20572 -[17199] Forked 20573 -(20572) found -(20573) found -[17198] Forked 20574 -[17197] Forked 20575 -(20574) found -(20575) found -[17196] Forked 20576 -[17195] Forked 20577 -(20576) found -(20577) found -[17194] Forked 20578 -[17193] Forked 20579 -(20578) found -(20579) found -[17192] Forked 20580 -[17191] Forked 20581 -(20580) found -(20581) found -[17190] Forked 20582 -[17189] Forked 20583 -(20582) found -(20583) found -[17188] Forked 20584 -[17187] Forked 20585 -(20584) found -(20585) found -[17186] Forked 20586 -[17185] Forked 20587 -(20586) found -(20587) found -[17184] Forked 20588 -[17183] Forked 20589 -(20588) found -(20589) found -[17182] Forked 20590 -[17181] Forked 20591 -(20590) found -(20591) found -[17180] Forked 20592 -[17179] Forked 20593 -(20592) found -(20593) found -[17178] Forked 20594 -[17177] Forked 20595 -(20594) found -(20595) found -[17176] Forked 20596 -[17175] Forked 20597 -(20596) found -(20597) found -[17174] Forked 20598 -[17173] Forked 20599 -(20598) found -(20599) found -[17172] Forked 20600 -[17171] Forked 20601 -(20600) found -(20601) found -[17170] Forked 20602 -[17169] Forked 20603 -(20602) found -(20603) found -[17168] Forked 20604 -[17167] Forked 20605 -(20604) found -(20605) found -[17166] Forked 20606 -[17165] Forked 20607 -(20606) found -(20607) found -[17164] Forked 20608 -[17163] Forked 20609 -(20608) found -(20609) found -[17162] Forked 20610 -[17161] Forked 20611 -(20610) found -(20611) found -[17160] Forked 20612 -[17159] Forked 20613 -(20612) found -(20613) found -[17158] Forked 20614 -[17157] Forked 20615 -(20614) found -(20615) found -[17156] Forked 20616 -[17155] Forked 20617 -(20616) found -(20617) found -[17154] Forked 20618 -[17153] Forked 20619 -(20618) found -(20619) found -[17152] Forked 20620 -[17151] Forked 20621 -(20620) found -(20621) found -[17150] Forked 20622 -[17149] Forked 20623 -(20622) found -(20623) found -[17148] Forked 20624 -[17147] Forked 20625 -(20624) found -(20625) found -[17146] Forked 20626 -[17145] Forked 20627 -(20626) found -(20627) found -[17144] Forked 20628 -[17143] Forked 20629 -(20628) found -(20629) found -[17142] Forked 20630 -(20630) found -[17141] Forked 20631 -(20631) found -[17140] Forked 20632 -(20632) found -[17139] Forked 20633 -(20633) found -[17138] Forked 20634 -(20634) found -[17137] Forked 20635 -(20635) found -[17136] Forked 20636 -(20636) found -[17135] Forked 20637 -(20637) found -[17134] Forked 20638 -(20638) found -[17133] Forked 20639 -(20639) found -[17132] Forked 20640 -(20640) found -[17131] Forked 20641 -(20641) found -[17130] Forked 20642 -(20642) found -[17129] Forked 20643 -(20643) found -[17128] Forked 20644 -(20644) found -[17127] Forked 20645 -(20645) found -[17126] Forked 20646 -(20646) found -[17125] Forked 20647 -(20647) found -[17124] Forked 20648 -(20648) found -[17123] Forked 20649 -(20649) found -[17122] Forked 20650 -(20650) found -[17121] Forked 20651 -(20651) found -[17120] Forked 20652 -(20652) found -[17119] Forked 20653 -(20653) found -[17118] Forked 20654 -(20654) found -[17117] Forked 20655 -(20655) found -[17116] Forked 20656 -(20656) found -[17115] Forked 20657 -(20657) found -[17114] Forked 20658 -(20658) found -[17113] Forked 20659 -(20659) found -[17112] Forked 20660 -(20660) found -[17111] Forked 20661 -(20661) found -[17110] Forked 20662 -(20662) found -[17109] Forked 20663 -(20663) found -[17108] Forked 20664 -[17107] Forked 20665 -(20664) found -(20665) found -[17106] Forked 20666 -[17105] Forked 20667 -(20666) found -(20667) found -[17104] Forked 20668 -[17103] Forked 20669 -(20668) found -(20669) found -[17102] Forked 20670 -[17101] Forked 20671 -(20670) found -(20671) found -[17100] Forked 20672 -[17099] Forked 20673 -(20672) found -(20673) found -[17098] Forked 20674 -[17097] Forked 20675 -(20674) found -(20675) found -[17096] Forked 20676 -[17095] Forked 20677 -(20676) found -(20677) found -[17094] Forked 20678 -[17093] Forked 20679 -(20678) found -(20679) found -[17092] Forked 20680 -[17091] Forked 20681 -(20680) found -(20681) found -[17090] Forked 20682 -[17089] Forked 20683 -(20682) found -(20683) found -[17088] Forked 20684 -[17087] Forked 20685 -(20684) found -(20685) found -[17086] Forked 20686 -[17085] Forked 20687 -(20686) found -(20687) found -[17084] Forked 20688 -[17083] Forked 20689 -(20688) found -(20689) found -[17082] Forked 20690 -[17081] Forked 20691 -(20690) found -(20691) found -[17080] Forked 20692 -[17079] Forked 20693 -(20692) found -(20693) found -[17078] Forked 20694 -[17077] Forked 20695 -(20694) found -(20695) found -[17076] Forked 20696 -[17075] Forked 20697 -(20696) found -(20697) found -[17074] Forked 20698 -[17073] Forked 20699 -(20698) found -(20699) found -[17072] Forked 20700 -[17071] Forked 20701 -(20700) found -(20701) found -[17070] Forked 20702 -[17069] Forked 20703 -(20702) found -(20703) found -[17068] Forked 20704 -[17067] Forked 20706 -(20704) found -(20706) found -[17066] Forked 20707 -(20707) found -[17065] Forked 20708 -(20708) found -[17064] Forked 20709 -(20709) found -[17063] Forked 20710 -(20710) found -[17062] Forked 20711 -(20711) found -[17061] Forked 20712 -(20712) found -[17060] Forked 20713 -(20713) found -[17059] Forked 20714 -(20714) found -[17058] Forked 20715 -(20715) found -[17057] Forked 20716 -(20716) found -[17056] Forked 20717 -(20717) found -[17055] Forked 20718 -(20718) found -[17054] Forked 20719 -(20719) found -[17053] Forked 20720 -(20720) found -[17052] Forked 20721 -(20721) found -[17051] Forked 20722 -(20722) found -[17050] Forked 20723 -(20723) found -[17049] Forked 20724 -(20724) found -[17048] Forked 20725 -(20725) found -[17047] Forked 20726 -(20726) found -[17046] Forked 20727 -(20727) found -[17045] Forked 20728 -(20728) found -[17044] Forked 20729 -(20729) found -[17043] Forked 20730 -(20730) found -[17042] Forked 20731 -(20731) found -[17041] Forked 20732 -(20732) found -[17040] Forked 20733 -(20733) found -[17039] Forked 20734 -(20734) found -[17038] Forked 20735 -(20735) found -[17037] Forked 20736 -(20736) found -[17036] Forked 20737 -(20737) found -[17035] Forked 20738 -(20738) found -[17034] Forked 20739 -(20739) found -[17033] Forked 20740 -(20740) found -[17032] Forked 20741 -(20741) found -[17031] Forked 20742 -(20742) found -[17030] Forked 20743 -(20743) found -[17029] Forked 20744 -(20744) found -[17028] Forked 20745 -(20745) found -[17027] Forked 20746 -(20746) found -[17026] Forked 20747 -(20747) found -[17025] Forked 20748 -(20748) found -[17024] Forked 20749 -(20749) found -[17023] Forked 20750 -(20750) found -[17022] Forked 20751 -(20751) found -[17021] Forked 20752 -(20752) found -[17020] Forked 20753 -(20753) found -[17019] Forked 20754 -(20754) found -[17018] Forked 20755 -(20755) found -[17017] Forked 20756 -(20756) found -[17016] Forked 20757 -(20757) found -[17015] Forked 20758 -(20758) found -[17014] Forked 20759 -(20759) found -[17013] Forked 20760 -(20760) found -[17012] Forked 20761 -(20761) found -[17011] Forked 20762 -(20762) found -[17010] Forked 20763 -(20763) found -[17009] Forked 20764 -(20764) found -[17008] Forked 20765 -(20765) found -[17007] Forked 20766 -(20766) found -[17006] Forked 20767 -(20767) found -[17005] Forked 20768 -(20768) found -[17004] Forked 20769 -(20769) found -[17003] Forked 20770 -(20770) found -[17002] Forked 20771 -(20771) found -[17001] Forked 20772 -(20772) found -[17000] Forked 20773 -(20773) found -[16999] Forked 20774 -(20774) found -[16998] Forked 20775 -(20775) found -[16997] Forked 20776 -(20776) found -[16996] Forked 20777 -(20777) found -[16995] Forked 20778 -(20778) found -[16994] Forked 20779 -(20779) found -[16993] Forked 20780 -(20780) found -[16992] Forked 20781 -(20781) found -[16991] Forked 20782 -[16990] Forked 20783 -(20782) found -(20783) found -[16989] Forked 20784 -[16988] Forked 20785 -(20784) found -(20785) found -[16987] Forked 20786 -[16986] Forked 20787 -(20786) found -(20787) found -[16985] Forked 20788 -[16984] Forked 20789 -(20788) found -(20789) found -[16983] Forked 20790 -[16982] Forked 20791 -(20790) found -(20791) found -[16981] Forked 20792 -[16980] Forked 20793 -(20792) found -(20793) found -[16979] Forked 20794 -[16978] Forked 20795 -(20794) found -(20795) found -[16977] Forked 20796 -[16976] Forked 20797 -(20796) found -(20797) found -[16975] Forked 20798 -[16974] Forked 20799 -(20798) found -(20799) found -[16973] Forked 20800 -[16972] Forked 20801 -(20800) found -(20801) found -[16971] Forked 20802 -[16970] Forked 20803 -(20802) found -(20803) found -[16969] Forked 20804 -[16968] Forked 20805 -(20804) found -(20805) found -[16967] Forked 20806 -[16966] Forked 20807 -(20806) found -(20807) found -[16965] Forked 20808 -[16964] Forked 20809 -(20808) found -(20809) found -[16963] Forked 20810 -[16962] Forked 20811 -(20810) found -(20811) found -[16961] Forked 20812 -[16960] Forked 20813 -(20812) found -(20813) found -[16959] Forked 20814 -[16958] Forked 20815 -(20814) found -(20815) found -[16957] Forked 20816 -[16956] Forked 20817 -(20816) found -(20817) found -[16955] Forked 20818 -[16954] Forked 20819 -(20818) found -(20819) found -[16953] Forked 20820 -[16952] Forked 20821 -(20820) found -(20821) found -[16951] Forked 20822 -[16950] Forked 20823 -(20822) found -(20823) found -[16949] Forked 20824 -(20824) found -[16948] Forked 20825 -(20825) found -[16947] Forked 20826 -(20826) found -[16946] Forked 20827 -(20827) found -[16945] Forked 20828 -(20828) found -[16944] Forked 20829 -(20829) found -[16943] Forked 20830 -(20830) found -[16942] Forked 20831 -(20831) found -[16941] Forked 20832 -(20832) found -[16940] Forked 20833 -(20833) found -[16939] Forked 20834 -(20834) found -[16938] Forked 20835 -(20835) found -[16937] Forked 20836 -(20836) found -[16936] Forked 20837 -(20837) found -[16935] Forked 20838 -(20838) found -[16934] Forked 20839 -(20839) found -[16933] Forked 20840 -(20840) found -[16932] Forked 20841 -(20841) found -[16931] Forked 20842 -(20842) found -[16930] Forked 20843 -(20843) found -[16929] Forked 20844 -(20844) found -[16928] Forked 20845 -(20845) found -[16927] Forked 20846 -(20846) found -[16926] Forked 20847 -(20847) found -[16925] Forked 20848 -(20848) found -[16924] Forked 20849 -(20849) found -[16923] Forked 20850 -(20850) found -[16922] Forked 20851 -(20851) found -[16921] Forked 20852 -(20852) found -[16920] Forked 20853 -(20853) found -[16919] Forked 20854 -(20854) found -[16918] Forked 20855 -(20855) found -[16917] Forked 20856 -(20856) found -[16916] Forked 20857 -(20857) found -[16915] Forked 20858 -(20858) found -[16914] Forked 20859 -(20859) found -[16913] Forked 20860 -[16912] Forked 20861 -(20860) found -(20861) found -[16911] Forked 20862 -[16910] Forked 20863 -(20862) found -(20863) found -[16909] Forked 20864 -[16908] Forked 20865 -(20865) found -(20864) found -[16907] Forked 20866 -(20866) found -[16906] Forked 20867 -(20867) found -[16905] Forked 20868 -(20868) found -[16904] Forked 20869 -(20869) found -[16903] Forked 20870 -(20870) found -[16902] Forked 20871 -(20871) found -[16901] Forked 20872 -(20872) found -[16900] Forked 20873 -(20873) found -[16899] Forked 20874 -(20874) found -[16898] Forked 20875 -(20875) found -[16897] Forked 20876 -(20876) found -[16896] Forked 20877 -(20877) found -[16895] Forked 20878 -(20878) found -[16894] Forked 20879 -(20879) found -[16893] Forked 20880 -(20880) found -[16892] Forked 20881 -(20881) found -[16891] Forked 20882 -(20882) found -[16890] Forked 20883 -(20883) found -[16889] Forked 20884 -(20884) found -[16888] Forked 20885 -(20885) found -[16887] Forked 20886 -(20886) found -[16886] Forked 20887 -(20887) found -[16885] Forked 20888 -(20888) found -[16884] Forked 20889 -(20889) found -[16883] Forked 20890 -(20890) found -[16882] Forked 20891 -(20891) found -[16881] Forked 20892 -(20892) found -[16880] Forked 20893 -(20893) found -[16879] Forked 20894 -(20894) found -[16878] Forked 20895 -(20895) found -[16877] Forked 20896 -(20896) found -[16876] Forked 20897 -(20897) found -[16875] Forked 20898 -(20898) found -[16874] Forked 20899 -(20899) found -[16873] Forked 20900 -(20900) found -[16872] Forked 20901 -(20901) found -[16871] Forked 20902 -(20902) found -[16870] Forked 20903 -(20903) found -[16869] Forked 20904 -(20904) found -[16868] Forked 20905 -(20905) found -[16867] Forked 20906 -(20906) found -[16866] Forked 20907 -(20907) found -[16865] Forked 20908 -(20908) found -[16864] Forked 20909 -(20909) found -[16863] Forked 20910 -(20910) found -[16862] Forked 20911 -(20911) found -[16861] Forked 20912 -(20912) found -[16860] Forked 20913 -(20913) found -[16859] Forked 20914 -(20914) found -[16858] Forked 20915 -(20915) found -[16857] Forked 20916 -(20916) found -[16856] Forked 20917 -(20917) found -[16855] Forked 20918 -(20918) found -[16854] Forked 20919 -(20919) found -[16853] Forked 20920 -(20920) found -[16852] Forked 20921 -(20921) found -[16851] Forked 20922 -(20922) found -[16850] Forked 20923 -(20923) found -[16849] Forked 20924 -(20924) found -[16848] Forked 20925 -(20925) found -[16847] Forked 20926 -(20926) found -[16846] Forked 20927 -(20927) found -[16845] Forked 20928 -(20928) found -[16844] Forked 20929 -(20929) found -[16843] Forked 20930 -[16842] Forked 20931 -(20930) found -(20931) found -[16841] Forked 20932 -[16840] Forked 20933 -(20932) found -(20933) found -[16839] Forked 20934 -[16838] Forked 20935 -(20934) found -(20935) found -[16837] Forked 20936 -[16836] Forked 20937 -(20936) found -(20937) found -[16835] Forked 20938 -[16834] Forked 20939 -(20938) found -(20939) found -[16833] Forked 20940 -[16832] Forked 20941 -(20940) found -(20941) found -[16831] Forked 20942 -[16830] Forked 20943 -(20942) found -(20943) found -[16829] Forked 20944 -[16828] Forked 20945 -(20944) found -(20945) found -[16827] Forked 20946 -[16826] Forked 20947 -(20946) found -(20947) found -[16825] Forked 20948 -(20948) found -[16824] Forked 20949 -(20949) found -[16823] Forked 20950 -[16822] Forked 20951 -(20950) found -(20951) found -[16821] Forked 20952 -[16820] Forked 20953 -(20952) found -(20953) found -[16819] Forked 20954 -[16818] Forked 20955 -(20954) found -(20955) found -[16817] Forked 20956 -[16816] Forked 20957 -(20956) found -(20957) found -[16815] Forked 20958 -[16814] Forked 20959 -(20958) found -(20959) found -[16813] Forked 20960 -[16812] Forked 20961 -(20960) found -(20961) found -[16811] Forked 20962 -[16810] Forked 20963 -(20962) found -(20963) found -[16809] Forked 20964 -[16808] Forked 20965 -(20964) found -(20965) found -[16807] Forked 20966 -[16806] Forked 20967 -(20966) found -(20967) found -[16805] Forked 20968 -[16804] Forked 20969 -(20968) found -(20969) found -[16803] Forked 20970 -[16802] Forked 20971 -(20970) found -(20971) found -[16801] Forked 20972 -[16800] Forked 20973 -(20972) found -(20973) found -[16799] Forked 20974 -(20974) found -[16798] Forked 20975 -(20975) found -[16797] Forked 20976 -(20976) found -[16796] Forked 20977 -(20977) found -[16795] Forked 20978 -(20978) found -[16794] Forked 20979 -(20979) found -[16793] Forked 20980 -(20980) found -[16792] Forked 20981 -(20981) found -[16791] Forked 20982 -(20982) found -[16790] Forked 20983 -(20983) found -[16789] Forked 20984 -(20984) found -[16788] Forked 20985 -(20985) found -[16787] Forked 20986 -(20986) found -[16786] Forked 20987 -(20987) found -[16785] Forked 20988 -(20988) found -[16784] Forked 20989 -(20989) found -[16783] Forked 20990 -(20990) found -[16782] Forked 20991 -(20991) found -[16781] Forked 20992 -(20992) found -[16780] Forked 20993 -(20993) found -[16779] Forked 20994 -(20994) found -[16778] Forked 20995 -(20995) found -[16777] Forked 20996 -(20996) found -[16776] Forked 20997 -(20997) found -[16775] Forked 20998 -(20998) found -[16774] Forked 20999 -(20999) found -[16773] Forked 21000 -(21000) found -[16772] Forked 21001 -(21001) found -[16771] Forked 21002 -(21002) found -[16770] Forked 21003 -(21003) found -[16769] Forked 21004 -(21004) found -[16768] Forked 21005 -(21005) found -[16767] Forked 21006 -(21006) found -[16766] Forked 21007 -(21007) found -[16765] Forked 21008 -(21008) found -[16764] Forked 21009 -(21009) found -[16763] Forked 21010 -(21010) found -[16762] Forked 21011 -[16761] Forked 21012 -(21011) found -(21012) found -[16760] Forked 21013 -[16759] Forked 21014 -(21013) found -(21014) found -[16758] Forked 21015 -[16757] Forked 21016 -(21015) found -(21016) found -[16756] Forked 21017 -[16755] Forked 21018 -(21017) found -(21018) found -[16754] Forked 21019 -[16753] Forked 21020 -(21019) found -(21020) found -[16752] Forked 21021 -[16751] Forked 21022 -(21021) found -(21022) found -[16750] Forked 21023 -[16749] Forked 21024 -(21023) found -(21024) found -[16748] Forked 21025 -[16747] Forked 21026 -(21025) found -(21026) found -[16746] Forked 21027 -[16745] Forked 21028 -(21027) found -(21028) found -[16744] Forked 21029 -[16743] Forked 21030 -(21029) found -(21030) found -[16742] Forked 21031 -[16741] Forked 21032 -(21031) found -(21032) found -[16740] Forked 21033 -[16739] Forked 21034 -(21033) found -(21034) found -[16738] Forked 21035 -[16737] Forked 21036 -(21035) found -(21036) found -[16736] Forked 21037 -[16735] Forked 21038 -(21037) found -(21038) found -[16734] Forked 21039 -[16733] Forked 21040 -(21039) found -(21040) found -[16732] Forked 21041 -[16731] Forked 21042 -(21041) found -(21042) found -[16730] Forked 21043 -[16729] Forked 21044 -(21043) found -(21044) found -[16728] Forked 21045 -[16727] Forked 21046 -(21045) found -(21046) found -[16726] Forked 21047 -[16725] Forked 21048 -(21047) found -(21048) found -[16724] Forked 21049 -[16723] Forked 21050 -(21049) found -(21050) found -[16722] Forked 21051 -[16721] Forked 21052 -(21051) found -(21052) found -[16720] Forked 21053 -[16719] Forked 21054 -(21053) found -(21054) found -[16718] Forked 21055 -[16717] Forked 21056 -(21055) found -(21056) found -[16716] Forked 21057 -[16715] Forked 21058 -(21057) found -(21058) found -[16714] Forked 21059 -[16713] Forked 21060 -(21059) found -(21060) found -[16712] Forked 21061 -[16711] Forked 21062 -(21061) found -(21062) found -[16710] Forked 21063 -[16709] Forked 21064 -(21063) found -(21064) found -[16708] Forked 21065 -[16707] Forked 21066 -(21065) found -(21066) found -[16706] Forked 21067 -[16705] Forked 21068 -(21067) found -(21068) found -[16704] Forked 21069 -[16703] Forked 21070 -(21069) found -(21070) found -[16702] Forked 21071 -[16701] Forked 21072 -(21071) found -(21072) found -[16700] Forked 21073 -[16699] Forked 21074 -(21073) found -(21074) found -[16698] Forked 21075 -[16697] Forked 21076 -(21075) found -(21076) found -[16696] Forked 21077 -[16695] Forked 21078 -(21077) found -(21078) found -[16694] Forked 21079 -[16693] Forked 21080 -(21079) found -(21080) found -[16692] Forked 21081 -(21081) found -[16691] Forked 21082 -[16690] Forked 21083 -(21082) found -(21083) found -[16689] Forked 21084 -[16688] Forked 21085 -(21084) found -(21085) found -[16687] Forked 21086 -[16686] Forked 21087 -(21086) found -(21087) found -[16685] Forked 21088 -[16684] Forked 21089 -(21088) found -(21089) found -[16683] Forked 21090 -[16682] Forked 21091 -(21090) found -(21091) found -[16681] Forked 21092 -[16680] Forked 21093 -(21093) found -(21092) found -[16679] Forked 21094 -(21094) found -[16678] Forked 21095 -(21095) found -[16677] Forked 21096 -(21096) found -[16676] Forked 21097 -(21097) found -[16675] Forked 21098 -(21098) found -[16674] Forked 21099 -(21099) found -[16673] Forked 21100 -(21100) found -[16672] Forked 21101 -(21101) found -[16671] Forked 21102 -(21102) found -[16670] Forked 21103 -(21103) found -[16669] Forked 21104 -(21104) found -[16668] Forked 21105 -(21105) found -[16667] Forked 21106 -(21106) found -[16666] Forked 21107 -(21107) found -[16665] Forked 21108 -(21108) found -[16664] Forked 21109 -(21109) found -[16663] Forked 21110 -(21110) found -[16662] Forked 21111 -(21111) found -[16661] Forked 21112 -(21112) found -[16660] Forked 21113 -(21113) found -[16659] Forked 21114 -(21114) found -[16658] Forked 21115 -(21115) found -[16657] Forked 21116 -(21116) found -[16656] Forked 21117 -(21117) found -[16655] Forked 21118 -(21118) found -[16654] Forked 21119 -(21119) found -[16653] Forked 21120 -(21120) found -[16652] Forked 21121 -(21121) found -[16651] Forked 21122 -(21122) found -[16650] Forked 21123 -(21123) found -[16649] Forked 21124 -(21124) found -[16648] Forked 21125 -(21125) found -[16647] Forked 21126 -(21126) found -[16646] Forked 21127 -(21127) found -[16645] Forked 21128 -(21128) found -[16644] Forked 21129 -(21129) found -[16643] Forked 21130 -(21130) found -[16642] Forked 21131 -(21131) found -[16641] Forked 21132 -(21132) found -[16640] Forked 21133 -(21133) found -[16639] Forked 21134 -(21134) found -[16638] Forked 21135 -[16637] Forked 21136 -(21135) found -(21136) found -[16636] Forked 21137 -[16635] Forked 21138 -(21137) found -(21138) found -[16634] Forked 21139 -[16633] Forked 21140 -(21139) found -(21140) found -[16632] Forked 21141 -[16631] Forked 21142 -(21141) found -(21142) found -[16630] Forked 21143 -[16629] Forked 21144 -(21143) found -(21144) found -[16628] Forked 21145 -[16627] Forked 21146 -(21145) found -(21146) found -[16626] Forked 21147 -[16625] Forked 21148 -(21147) found -(21148) found -[16624] Forked 21149 -[16623] Forked 21150 -(21149) found -(21150) found -[16622] Forked 21151 -[16621] Forked 21152 -(21151) found -(21152) found -[16620] Forked 21153 -[16619] Forked 21154 -(21153) found -(21154) found -[16618] Forked 21155 -[16617] Forked 21156 -(21155) found -(21156) found -[16616] Forked 21157 -[16615] Forked 21158 -(21157) found -(21158) found -[16614] Forked 21159 -[16613] Forked 21160 -(21159) found -(21160) found -[16612] Forked 21161 -[16611] Forked 21162 -(21161) found -(21162) found -[16610] Forked 21163 -[16609] Forked 21164 -(21163) found -(21164) found -[16608] Forked 21165 -[16607] Forked 21166 -(21165) found -(21166) found -[16606] Forked 21167 -[16605] Forked 21168 -(21167) found -(21168) found -[16604] Forked 21169 -[16603] Forked 21170 -(21169) found -(21170) found -[16602] Forked 21171 -[16601] Forked 21172 -(21171) found -(21172) found -[16600] Forked 21173 -[16599] Forked 21175 -(21173) found -(21175) found -[16598] Forked 21176 -(21176) found -[16597] Forked 21177 -(21177) found -[16596] Forked 21178 -(21178) found -[16595] Forked 21179 -(21179) found -[16594] Forked 21180 -(21180) found -[16593] Forked 21181 -(21181) found -[16592] Forked 21182 -(21182) found -[16591] Forked 21183 -(21183) found -[16590] Forked 21184 -(21184) found -[16589] Forked 21185 -(21185) found -[16588] Forked 21186 -(21186) found -[16587] Forked 21187 -(21187) found -[16586] Forked 21188 -(21188) found -[16585] Forked 21189 -(21189) found -[16584] Forked 21190 -(21190) found -[16583] Forked 21191 -(21191) found -[16582] Forked 21192 -(21192) found -[16581] Forked 21193 -(21193) found -[16580] Forked 21194 -(21194) found -[16579] Forked 21195 -(21195) found -[16578] Forked 21196 -(21196) found -[16577] Forked 21197 -(21197) found -[16576] Forked 21198 -(21198) found -[16575] Forked 21199 -(21199) found -[16574] Forked 21200 -(21200) found -[16573] Forked 21201 -(21201) found -[16572] Forked 21202 -(21202) found -[16571] Forked 21203 -(21203) found -[16570] Forked 21204 -(21204) found -[16569] Forked 21205 -(21205) found -[16568] Forked 21206 -(21206) found -[16567] Forked 21207 -(21207) found -[16566] Forked 21208 -(21208) found -[16565] Forked 21209 -(21209) found -[16564] Forked 21210 -(21210) found -[16563] Forked 21211 -(21211) found -[16562] Forked 21212 -(21212) found -[16561] Forked 21213 -(21213) found -[16560] Forked 21214 -(21214) found -[16559] Forked 21215 -(21215) found -[16558] Forked 21216 -[16557] Forked 21217 -(21216) found -(21217) found -[16556] Forked 21218 -[16555] Forked 21219 -(21218) found -(21219) found -[16554] Forked 21220 -[16553] Forked 21221 -(21220) found -(21221) found -[16552] Forked 21222 -[16551] Forked 21223 -(21222) found -(21223) found -[16550] Forked 21224 -[16549] Forked 21225 -(21224) found -(21225) found -[16548] Forked 21226 -[16547] Forked 21227 -(21226) found -(21227) found -[16546] Forked 21228 -[16545] Forked 21229 -(21228) found -(21229) found -[16544] Forked 21230 -[16543] Forked 21231 -(21230) found -(21231) found -[16542] Forked 21232 -[16541] Forked 21233 -(21232) found -(21233) found -[16540] Forked 21234 -[16539] Forked 21235 -(21234) found -(21235) found -[16538] Forked 21236 -[16537] Forked 21237 -(21236) found -(21237) found -[16536] Forked 21238 -[16535] Forked 21239 -(21238) found -(21239) found -[16534] Forked 21240 -[16533] Forked 21241 -(21240) found -(21241) found -[16532] Forked 21242 -[16531] Forked 21243 -(21242) found -(21243) found -[16530] Forked 21244 -[16529] Forked 21245 -(21244) found -(21245) found -[16528] Forked 21246 -[16527] Forked 21247 -(21246) found -(21247) found -[16526] Forked 21248 -[16525] Forked 21249 -(21248) found -(21249) found -[16524] Forked 21250 -[16523] Forked 21251 -(21250) found -(21251) found -[16522] Forked 21252 -[16521] Forked 21253 -(21252) found -(21253) found -[16520] Forked 21254 -[16519] Forked 21255 -(21254) found -(21255) found -[16518] Forked 21256 -[16517] Forked 21257 -(21256) found -(21257) found -[16516] Forked 21258 -[16515] Forked 21259 -(21258) found -(21259) found -[16514] Forked 21260 -[16513] Forked 21261 -(21260) found -(21261) found -[16512] Forked 21262 -(21262) found -[16511] Forked 21263 -(21263) found -[16510] Forked 21264 -(21264) found -[16509] Forked 21265 -(21265) found -[16508] Forked 21266 -(21266) found -[16507] Forked 21267 -(21267) found -[16506] Forked 21268 -(21268) found -[16505] Forked 21269 -(21269) found -[16504] Forked 21270 -(21270) found -[16503] Forked 21271 -(21271) found -[16502] Forked 21272 -(21272) found -[16501] Forked 21273 -(21273) found -[16500] Forked 21274 -(21274) found -[16499] Forked 21275 -(21275) found -[16498] Forked 21276 -(21276) found -[16497] Forked 21277 -(21277) found -[16496] Forked 21278 -(21278) found -[16495] Forked 21279 -(21279) found -[16494] Forked 21280 -(21280) found -[16493] Forked 21281 -(21281) found -[16492] Forked 21282 -(21282) found -[16491] Forked 21283 -(21283) found -[16490] Forked 21284 -(21284) found -[16489] Forked 21285 -(21285) found -[16488] Forked 21286 -(21286) found -[16487] Forked 21287 -(21287) found -[16486] Forked 21288 -(21288) found -[16485] Forked 21289 -(21289) found -[16484] Forked 21290 -(21290) found -[16483] Forked 21291 -(21291) found -[16482] Forked 21292 -(21292) found -[16481] Forked 21293 -(21293) found -[16480] Forked 21294 -(21294) found -[16479] Forked 21295 -(21295) found -[16478] Forked 21296 -(21296) found -[16477] Forked 21297 -[16476] Forked 21298 -(21297) found -(21298) found -[16475] Forked 21299 -[16474] Forked 21300 -(21299) found -(21300) found -[16473] Forked 21301 -[16472] Forked 21302 -(21301) found -(21302) found -[16471] Forked 21303 -[16470] Forked 21304 -(21303) found -(21304) found -[16469] Forked 21305 -[16468] Forked 21306 -(21305) found -(21306) found -[16467] Forked 21307 -[16466] Forked 21308 -(21307) found -(21308) found -[16465] Forked 21309 -[16464] Forked 21310 -(21309) found -(21310) found -[16463] Forked 21311 -[16462] Forked 21312 -(21311) found -(21312) found -[16461] Forked 21313 -[16460] Forked 21314 -(21313) found -(21314) found -[16459] Forked 21315 -[16458] Forked 21316 -(21315) found -(21316) found -[16457] Forked 21317 -[16456] Forked 21318 -(21317) found -(21318) found -[16455] Forked 21319 -[16454] Forked 21320 -(21319) found -(21320) found -[16453] Forked 21321 -[16452] Forked 21322 -(21321) found -(21322) found -[16451] Forked 21323 -[16450] Forked 21324 -(21323) found -(21324) found -[16449] Forked 21325 -[16448] Forked 21326 -(21325) found -(21326) found -[16447] Forked 21327 -[16446] Forked 21328 -(21327) found -(21328) found -[16445] Forked 21329 -[16444] Forked 21330 -(21329) found -(21330) found -[16443] Forked 21331 -[16442] Forked 21332 -(21331) found -(21332) found -[16441] Forked 21333 -[16440] Forked 21334 -(21333) found -(21334) found -[16439] Forked 21335 -[16438] Forked 21336 -(21335) found -(21336) found -[16437] Forked 21337 -[16436] Forked 21338 -(21337) found -(21338) found -[16435] Forked 21339 -[16434] Forked 21340 -(21339) found -(21340) found -[16433] Forked 21341 -[16432] Forked 21342 -(21341) found -(21342) found -[16431] Forked 21343 -[16430] Forked 21344 -(21343) found -(21344) found -[16429] Forked 21345 -[16428] Forked 21346 -(21345) found -(21346) found -[16427] Forked 21347 -[16426] Forked 21348 -(21347) found -(21348) found -[16425] Forked 21349 -[16424] Forked 21350 -(21349) found -(21350) found -[16423] Forked 21351 -[16422] Forked 21352 -(21351) found -(21352) found -[16421] Forked 21353 -[16420] Forked 21354 -(21353) found -(21354) found -[16419] Forked 21355 -[16418] Forked 21356 -(21355) found -(21356) found -[16417] Forked 21357 -[16416] Forked 21358 -(21357) found -(21358) found -[16415] Forked 21359 -[16414] Forked 21360 -(21359) found -(21360) found -[16413] Forked 21361 -[16412] Forked 21362 -(21361) found -(21362) found -[16411] Forked 21363 -[16410] Forked 21364 -(21363) found -(21364) found -[16409] Forked 21365 -[16408] Forked 21366 -(21365) found -(21366) found -[16407] Forked 21367 -[16406] Forked 21368 -(21367) found -(21368) found -[16405] Forked 21369 -[16404] Forked 21370 -(21369) found -(21370) found -[16403] Forked 21371 -[16402] Forked 21372 -(21371) found -(21372) found -[16401] Forked 21373 -[16400] Forked 21374 -(21373) found -(21374) found -[16399] Forked 21375 -[16398] Forked 21376 -(21375) found -(21376) found -[16397] Forked 21377 -[16396] Forked 21378 -(21377) found -(21378) found -[16395] Forked 21379 -[16394] Forked 21380 -(21379) found -(21380) found -[16393] Forked 21381 -[16392] Forked 21382 -(21381) found -(21382) found -[16391] Forked 21383 -[16390] Forked 21384 -(21383) found -(21384) found -[16389] Forked 21385 -[16388] Forked 21386 -(21385) found -(21386) found -[16387] Forked 21387 -[16386] Forked 21388 -(21387) found -(21388) found -[16385] Forked 21389 -(21389) found -[16384] Forked 21390 -(21390) found -[16383] Forked 21391 -(21391) found -[16382] Forked 21392 -(21392) found -[16381] Forked 21393 -(21393) found -[16380] Forked 21394 -(21394) found -[16379] Forked 21395 -(21395) found -[16378] Forked 21396 -(21396) found -[16377] Forked 21397 -(21397) found -[16376] Forked 21398 -(21398) found -[16375] Forked 21399 -(21399) found -[16374] Forked 21400 -(21400) found -[16373] Forked 21401 -(21401) found -[16372] Forked 21402 -(21402) found -[16371] Forked 21403 -(21403) found -[16370] Forked 21404 -(21404) found -[16369] Forked 21405 -(21405) found -[16368] Forked 21406 -(21406) found -[16367] Forked 21407 -(21407) found -[16366] Forked 21408 -(21408) found -[16365] Forked 21409 -(21409) found -[16364] Forked 21410 -(21410) found -[16363] Forked 21411 -(21411) found -[16362] Forked 21412 -(21412) found -[16361] Forked 21413 -(21413) found -[16360] Forked 21414 -(21414) found -[16359] Forked 21415 -(21415) found -[16358] Forked 21416 -(21416) found -[16357] Forked 21417 -(21417) found -[16356] Forked 21418 -(21418) found -[16355] Forked 21419 -(21419) found -[16354] Forked 21420 -(21420) found -[16353] Forked 21421 -(21421) found -[16352] Forked 21422 -(21422) found -[16351] Forked 21423 -(21423) found -[16350] Forked 21424 -(21424) found -[16349] Forked 21425 -(21425) found -[16348] Forked 21426 -(21426) found -[16347] Forked 21427 -(21427) found -[16346] Forked 21428 -[16345] Forked 21429 -(21428) found -(21429) found -[16344] Forked 21430 -[16343] Forked 21431 -(21430) found -(21431) found -[16342] Forked 21432 -(21432) found -[16341] Forked 21433 -[16340] Forked 21434 -(21433) found -(21434) found -[16339] Forked 21435 -[16338] Forked 21436 -(21435) found -(21436) found -[16337] Forked 21437 -[16336] Forked 21438 -(21437) found -(21438) found -[16335] Forked 21439 -[16334] Forked 21440 -(21439) found -(21440) found -[16333] Forked 21441 -[16332] Forked 21442 -(21441) found -(21442) found -[16331] Forked 21443 -[16330] Forked 21444 -(21443) found -(21444) found -[16329] Forked 21445 -[16328] Forked 21446 -(21445) found -(21446) found -[16327] Forked 21447 -[16326] Forked 21448 -(21447) found -(21448) found -[16325] Forked 21449 -[16324] Forked 21450 -(21449) found -(21450) found -[16323] Forked 21451 -[16322] Forked 21452 -(21451) found -(21452) found -[16321] Forked 21453 -[16320] Forked 21454 -(21453) found -(21454) found -[16319] Forked 21455 -[16318] Forked 21456 -(21455) found -(21456) found -[16317] Forked 21457 -[16316] Forked 21458 -(21457) found -(21458) found -[16315] Forked 21459 -[16314] Forked 21460 -(21459) found -(21460) found -[16313] Forked 21461 -[16312] Forked 21462 -(21461) found -(21462) found -[16311] Forked 21463 -[16310] Forked 21464 -(21463) found -(21464) found -[16309] Forked 21465 -[16308] Forked 21466 -(21465) found -(21466) found -[16307] Forked 21467 -[16306] Forked 21468 -(21468) found -(21467) found -[16305] Forked 21469 -(21469) found -[16304] Forked 21470 -(21470) found -[16303] Forked 21471 -(21471) found -[16302] Forked 21472 -(21472) found -[16301] Forked 21473 -(21473) found -[16300] Forked 21474 -(21474) found -[16299] Forked 21475 -(21475) found -[16298] Forked 21476 -(21476) found -[16297] Forked 21477 -(21477) found -[16296] Forked 21478 -(21478) found -[16295] Forked 21479 -(21479) found -[16294] Forked 21480 -(21480) found -[16293] Forked 21481 -(21481) found -[16292] Forked 21482 -(21482) found -[16291] Forked 21483 -(21483) found -[16290] Forked 21484 -(21484) found -[16289] Forked 21485 -(21485) found -[16288] Forked 21486 -(21486) found -[16287] Forked 21487 -(21487) found -[16286] Forked 21488 -(21488) found -[16285] Forked 21489 -(21489) found -[16284] Forked 21490 -(21490) found -[16283] Forked 21491 -(21491) found -[16282] Forked 21492 -(21492) found -[16281] Forked 21493 -(21493) found -[16280] Forked 21494 -(21494) found -[16279] Forked 21495 -(21495) found -[16278] Forked 21496 -(21496) found -[16277] Forked 21497 -(21497) found -[16276] Forked 21498 -(21498) found -[16275] Forked 21499 -(21499) found -[16274] Forked 21500 -(21500) found -[16273] Forked 21501 -(21501) found -[16272] Forked 21502 -(21502) found -[16271] Forked 21503 -[16270] Forked 21504 -(21503) found -(21504) found -[16269] Forked 21505 -[16268] Forked 21506 -(21505) found -(21506) found -[16267] Forked 21507 -[16266] Forked 21508 -(21507) found -(21508) found -[16265] Forked 21509 -[16264] Forked 21510 -(21509) found -(21510) found -[16263] Forked 21511 -[16262] Forked 21512 -(21511) found -(21512) found -[16261] Forked 21513 -[16260] Forked 21514 -(21513) found -(21514) found -[16259] Forked 21515 -[16258] Forked 21516 -(21515) found -(21516) found -[16257] Forked 21517 -[16256] Forked 21518 -(21517) found -(21518) found -[16255] Forked 21519 -[16254] Forked 21520 -(21519) found -(21520) found -[16253] Forked 21521 -[16252] Forked 21522 -(21521) found -(21522) found -[16251] Forked 21523 -[16250] Forked 21524 -(21523) found -(21524) found -[16249] Forked 21525 -[16248] Forked 21526 -(21525) found -(21526) found -[16247] Forked 21527 -[16246] Forked 21528 -(21527) found -(21528) found -[16245] Forked 21529 -[16244] Forked 21530 -(21529) found -(21530) found -[16243] Forked 21531 -[16242] Forked 21532 -(21531) found -(21532) found -[16241] Forked 21533 -[16240] Forked 21534 -(21533) found -(21534) found -[16239] Forked 21535 -[16238] Forked 21536 -(21535) found -(21536) found -[16237] Forked 21537 -[16236] Forked 21538 -(21537) found -(21538) found -[16235] Forked 21539 -[16234] Forked 21540 -(21539) found -(21540) found -[16233] Forked 21541 -[16232] Forked 21542 -(21541) found -(21542) found -[16231] Forked 21543 -[16230] Forked 21544 -(21543) found -(21544) found -[16229] Forked 21545 -(21545) found -[16228] Forked 21546 -(21546) found -[16227] Forked 21547 -(21547) found -[16226] Forked 21548 -(21548) found -[16225] Forked 21549 -(21549) found -[16224] Forked 21550 -(21550) found -[16223] Forked 21551 -(21551) found -[16222] Forked 21552 -(21552) found -[16221] Forked 21553 -(21553) found -[16220] Forked 21554 -(21554) found -[16219] Forked 21555 -(21555) found -[16218] Forked 21556 -(21556) found -[16217] Forked 21557 -(21557) found -[16216] Forked 21558 -(21558) found -[16215] Forked 21559 -(21559) found -[16214] Forked 21560 -(21560) found -[16213] Forked 21561 -(21561) found -[16212] Forked 21562 -(21562) found -[16211] Forked 21563 -(21563) found -[16210] Forked 21564 -(21564) found -[16209] Forked 21565 -(21565) found -[16208] Forked 21566 -(21566) found -[16207] Forked 21567 -(21567) found -[16206] Forked 21568 -(21568) found -[16205] Forked 21569 -(21569) found -[16204] Forked 21570 -(21570) found -[16203] Forked 21571 -(21571) found -[16202] Forked 21572 -(21572) found -[16201] Forked 21573 -(21573) found -[16200] Forked 21574 -(21574) found -[16199] Forked 21575 -(21575) found -[16198] Forked 21576 -(21576) found -[16197] Forked 21577 -(21577) found -[16196] Forked 21578 -(21578) found -[16195] Forked 21579 -(21579) found -[16194] Forked 21580 -(21580) found -[16193] Forked 21581 -(21581) found -[16192] Forked 21582 -(21582) found -[16191] Forked 21583 -(21583) found -[16190] Forked 21584 -[16189] Forked 21585 -(21584) found -(21585) found -[16188] Forked 21586 -[16187] Forked 21587 -(21586) found -(21587) found -[16186] Forked 21588 -[16185] Forked 21589 -(21588) found -(21589) found -[16184] Forked 21590 -[16183] Forked 21591 -(21590) found -(21591) found -[16182] Forked 21592 -[16181] Forked 21593 -(21592) found -(21593) found -[16180] Forked 21594 -[16179] Forked 21595 -(21594) found -(21595) found -[16178] Forked 21596 -[16177] Forked 21597 -(21596) found -(21597) found -[16176] Forked 21598 -[16175] Forked 21599 -(21598) found -(21599) found -[16174] Forked 21600 -[16173] Forked 21601 -(21600) found -(21601) found -[16172] Forked 21602 -[16171] Forked 21603 -(21602) found -(21603) found -[16170] Forked 21604 -[16169] Forked 21605 -(21604) found -(21605) found -[16168] Forked 21606 -[16167] Forked 21607 -(21606) found -(21607) found -[16166] Forked 21608 -[16165] Forked 21609 -(21608) found -(21609) found -[16164] Forked 21610 -[16163] Forked 21611 -(21610) found -(21611) found -[16162] Forked 21612 -[16161] Forked 21613 -(21612) found -(21613) found -[16160] Forked 21614 -[16159] Forked 21615 -(21614) found -(21615) found -[16158] Forked 21616 -[16157] Forked 21617 -(21616) found -(21617) found -[16156] Forked 21618 -[16155] Forked 21619 -(21618) found -(21619) found -[16154] Forked 21620 -[16153] Forked 21621 -(21620) found -(21621) found -[16152] Forked 21622 -[16151] Forked 21623 -(21622) found -(21623) found -[16150] Forked 21624 -[16149] Forked 21625 -(21624) found -(21625) found -[16148] Forked 21626 -[16147] Forked 21627 -(21626) found -(21627) found -[16146] Forked 21628 -(21628) found -[16145] Forked 21630 -(21630) found -[16144] Forked 21631 -(21631) found -[16143] Forked 21632 -(21632) found -[16142] Forked 21633 -(21633) found -[16141] Forked 21634 -(21634) found -[16140] Forked 21635 -(21635) found -[16139] Forked 21636 -(21636) found -[16138] Forked 21637 -(21637) found -[16137] Forked 21638 -(21638) found -[16136] Forked 21639 -(21639) found -[16135] Forked 21640 -(21640) found -[16134] Forked 21641 -(21641) found -[16133] Forked 21642 -(21642) found -[16132] Forked 21643 -(21643) found -[16131] Forked 21644 -(21644) found -[16130] Forked 21645 -(21645) found -[16129] Forked 21646 -(21646) found -[16128] Forked 21647 -(21647) found -[16127] Forked 21648 -(21648) found -[16126] Forked 21649 -(21649) found -[16125] Forked 21650 -(21650) found -[16124] Forked 21651 -(21651) found -[16123] Forked 21652 -(21652) found -[16122] Forked 21653 -(21653) found -[16121] Forked 21654 -(21654) found -[16120] Forked 21655 -(21655) found -[16119] Forked 21656 -(21656) found -[16118] Forked 21657 -(21657) found -[16117] Forked 21658 -(21658) found -[16116] Forked 21659 -(21659) found -[16115] Forked 21660 -(21660) found -[16114] Forked 21661 -(21661) found -[16113] Forked 21662 -(21662) found -[16112] Forked 21663 -(21663) found -[16111] Forked 21664 -(21664) found -[16110] Forked 21665 -(21665) found -[16109] Forked 21666 -(21666) found -[16108] Forked 21667 -(21667) found -[16107] Forked 21668 -[16106] Forked 21669 -(21668) found -(21669) found -[16105] Forked 21670 -[16104] Forked 21671 -(21670) found -(21671) found -[16103] Forked 21672 -[16102] Forked 21673 -(21672) found -(21673) found -[16101] Forked 21674 -[16100] Forked 21675 -(21674) found -(21675) found -[16099] Forked 21676 -[16098] Forked 21677 -(21676) found -(21677) found -[16097] Forked 21678 -[16096] Forked 21679 -(21678) found -(21679) found -[16095] Forked 21680 -[16094] Forked 21681 -(21680) found -(21681) found -[16093] Forked 21682 -[16092] Forked 21683 -(21682) found -(21683) found -[16091] Forked 21684 -[16090] Forked 21685 -(21684) found -(21685) found -[16089] Forked 21686 -[16088] Forked 21687 -(21686) found -(21687) found -[16087] Forked 21688 -[16086] Forked 21689 -(21688) found -(21689) found -[16085] Forked 21690 -[16084] Forked 21691 -(21690) found -(21691) found -[16083] Forked 21692 -[16082] Forked 21693 -(21692) found -(21693) found -[16081] Forked 21694 -[16080] Forked 21695 -(21694) found -(21695) found -[16079] Forked 21696 -(21696) found -[16078] Forked 21697 -(21697) found -[16077] Forked 21698 -(21698) found -[16076] Forked 21699 -(21699) found -[16075] Forked 21700 -(21700) found -[16074] Forked 21701 -(21701) found -[16073] Forked 21702 -(21702) found -[16072] Forked 21703 -(21703) found -[16071] Forked 21704 -(21704) found -[16070] Forked 21705 -(21705) found -[16069] Forked 21706 -(21706) found -[16068] Forked 21707 -(21707) found -[16067] Forked 21708 -(21708) found -[16066] Forked 21709 -(21709) found -[16065] Forked 21710 -(21710) found -[16064] Forked 21711 -(21711) found -[16063] Forked 21712 -(21712) found -[16062] Forked 21713 -(21713) found -[16061] Forked 21714 -(21714) found -[16060] Forked 21715 -(21715) found -[16059] Forked 21716 -(21716) found -[16058] Forked 21717 -(21717) found -[16057] Forked 21718 -(21718) found -[16056] Forked 21719 -(21719) found -[16055] Forked 21720 -(21720) found -[16054] Forked 21721 -(21721) found -[16053] Forked 21722 -(21722) found -[16052] Forked 21723 -(21723) found -[16051] Forked 21724 -(21724) found -[16050] Forked 21725 -(21725) found -[16049] Forked 21726 -(21726) found -[16048] Forked 21727 -(21727) found -[16047] Forked 21728 -(21728) found -[16046] Forked 21729 -(21729) found -[16045] Forked 21730 -(21730) found -[16044] Forked 21731 -(21731) found -[16043] Forked 21732 -(21732) found -[16042] Forked 21733 -(21733) found -[16041] Forked 21734 -(21734) found -[16040] Forked 21735 -(21735) found -[16039] Forked 21736 -(21736) found -[16038] Forked 21737 -(21737) found -[16037] Forked 21738 -(21738) found -[16036] Forked 21739 -(21739) found -[16035] Forked 21740 -(21740) found -[16034] Forked 21741 -(21741) found -[16033] Forked 21742 -(21742) found -[16032] Forked 21743 -(21743) found -[16031] Forked 21744 -(21744) found -[16030] Forked 21745 -(21745) found -[16029] Forked 21746 -[16028] Forked 21747 -(21746) found -(21747) found -[16027] Forked 21748 -[16026] Forked 21749 -(21748) found -(21749) found -[16025] Forked 21750 -[16024] Forked 21751 -(21750) found -(21751) found -[16023] Forked 21752 -(21752) found -[16022] Forked 21753 -[16021] Forked 21754 -(21753) found -(21754) found -[16020] Forked 21755 -(21755) found -[16019] Forked 21756 -(21756) found -[16018] Forked 21757 -[16017] Forked 21758 -(21757) found -(21758) found -[16016] Forked 21759 -[16015] Forked 21760 -(21759) found -(21760) found -[16014] Forked 21761 -[16013] Forked 21762 -(21761) found -(21762) found -[16012] Forked 21763 -[16011] Forked 21764 -(21763) found -(21764) found -[16010] Forked 21765 -[16009] Forked 21766 -(21765) found -(21766) found -[16008] Forked 21767 -[16007] Forked 21768 -(21767) found -(21768) found -[16006] Forked 21769 -[16005] Forked 21770 -(21769) found -(21770) found -[16004] Forked 21771 -[16003] Forked 21772 -(21771) found -(21772) found -[16002] Forked 21773 -[16001] Forked 21774 -(21773) found -(21774) found -[16000] Forked 21775 -[15999] Forked 21776 -(21775) found -(21776) found -[15998] Forked 21777 -[15997] Forked 21778 -(21777) found -(21778) found -[15996] Forked 21779 -[15995] Forked 21780 -(21779) found -(21780) found -[15994] Forked 21781 -[15993] Forked 21782 -(21781) found -(21782) found -[15992] Forked 21783 -[15991] Forked 21785 -(21783) found -(21785) found -[15990] Forked 21786 -(21786) found -[15989] Forked 21787 -(21787) found -[15988] Forked 21788 -(21788) found -[15987] Forked 21789 -(21789) found -[15986] Forked 21790 -(21790) found -[15985] Forked 21791 -(21791) found -[15984] Forked 21792 -(21792) found -[15983] Forked 21793 -(21793) found -[15982] Forked 21794 -(21794) found -[15981] Forked 21795 -(21795) found -[15980] Forked 21796 -(21796) found -[15979] Forked 21797 -(21797) found -[15978] Forked 21798 -(21798) found -[15977] Forked 21799 -(21799) found -[15976] Forked 21800 -(21800) found -[15975] Forked 21801 -(21801) found -[15974] Forked 21802 -(21802) found -[15973] Forked 21803 -(21803) found -[15972] Forked 21804 -(21804) found -[15971] Forked 21805 -(21805) found -[15970] Forked 21806 -(21806) found -[15969] Forked 21807 -(21807) found -[15968] Forked 21808 -(21808) found -[15967] Forked 21809 -(21809) found -[15966] Forked 21810 -(21810) found -[15965] Forked 21811 -(21811) found -[15964] Forked 21812 -(21812) found -[15963] Forked 21813 -(21813) found -[15962] Forked 21814 -(21814) found -[15961] Forked 21815 -(21815) found -[15960] Forked 21816 -(21816) found -[15959] Forked 21817 -(21817) found -[15958] Forked 21818 -(21818) found -[15957] Forked 21819 -(21819) found -[15956] Forked 21820 -(21820) found -[15955] Forked 21821 -(21821) found -[15954] Forked 21822 -(21822) found -[15953] Forked 21823 -(21823) found -[15952] Forked 21824 -(21824) found -[15951] Forked 21825 -(21825) found -[15950] Forked 21826 -(21826) found -[15949] Forked 21827 -(21827) found -[15948] Forked 21828 -(21828) found -[15947] Forked 21829 -(21829) found -[15946] Forked 21830 -(21830) found -[15945] Forked 21831 -(21831) found -[15944] Forked 21832 -(21832) found -[15943] Forked 21833 -(21833) found -[15942] Forked 21834 -(21834) found -[15941] Forked 21835 -(21835) found -[15940] Forked 21836 -(21836) found -[15939] Forked 21837 -(21837) found -[15938] Forked 21838 -(21838) found -[15937] Forked 21839 -(21839) found -[15936] Forked 21840 -(21840) found -[15935] Forked 21841 -(21841) found -[15934] Forked 21842 -(21842) found -[15933] Forked 21843 -(21843) found -[15932] Forked 21844 -(21844) found -[15931] Forked 21845 -(21845) found -[15930] Forked 21846 -(21846) found -[15929] Forked 21847 -(21847) found -[15928] Forked 21848 -(21848) found -[15927] Forked 21849 -(21849) found -[15926] Forked 21850 -(21850) found -[15925] Forked 21851 -(21851) found -[15924] Forked 21852 -(21852) found -[15923] Forked 21853 -(21853) found -[15922] Forked 21854 -(21854) found -[15921] Forked 21855 -(21855) found -[15920] Forked 21856 -(21856) found -[15919] Forked 21857 -(21857) found -[15918] Forked 21858 -(21858) found -[15917] Forked 21859 -(21859) found -[15916] Forked 21860 -(21860) found -[15915] Forked 21861 -(21861) found -[15914] Forked 21862 -(21862) found -[15913] Forked 21863 -(21863) found -[15912] Forked 21864 -(21864) found -[15911] Forked 21865 -(21865) found -[15910] Forked 21866 -(21866) found -[15909] Forked 21867 -(21867) found -[15908] Forked 21868 -(21868) found -[15907] Forked 21869 -(21869) found -[15906] Forked 21870 -(21870) found -[15905] Forked 21871 -(21871) found -[15904] Forked 21872 -(21872) found -[15903] Forked 21873 -(21873) found -[15902] Forked 21874 -(21874) found -[15901] Forked 21875 -(21875) found -[15900] Forked 21876 -(21876) found -[15899] Forked 21877 -(21877) found -[15898] Forked 21878 -(21878) found -[15897] Forked 21879 -(21879) found -[15896] Forked 21880 -(21880) found -[15895] Forked 21881 -(21881) found -[15894] Forked 21882 -(21882) found -[15893] Forked 21883 -(21883) found -[15892] Forked 21884 -(21884) found -[15891] Forked 21885 -(21885) found -[15890] Forked 21886 -(21886) found -[15889] Forked 21887 -(21887) found -[15888] Forked 21888 -(21888) found -[15887] Forked 21889 -(21889) found -[15886] Forked 21890 -(21890) found -[15885] Forked 21891 -(21891) found -[15884] Forked 21892 -(21892) found -[15883] Forked 21893 -(21893) found -[15882] Forked 21894 -(21894) found -[15881] Forked 21895 -(21895) found -[15880] Forked 21896 -[15879] Forked 21897 -(21896) found -(21897) found -[15878] Forked 21898 -[15877] Forked 21899 -(21898) found -(21899) found -[15876] Forked 21900 -[15875] Forked 21901 -(21900) found -(21901) found -[15874] Forked 21902 -[15873] Forked 21903 -(21902) found -(21903) found -[15872] Forked 21904 -[15871] Forked 21905 -(21904) found -(21905) found -[15870] Forked 21906 -[15869] Forked 21907 -(21906) found -(21907) found -[15868] Forked 21908 -[15867] Forked 21909 -(21908) found -(21909) found -[15866] Forked 21910 -[15865] Forked 21911 -(21910) found -(21911) found -[15864] Forked 21912 -[15863] Forked 21913 -(21912) found -(21913) found -[15862] Forked 21914 -[15861] Forked 21915 -(21914) found -(21915) found -[15860] Forked 21916 -[15859] Forked 21917 -(21916) found -(21917) found -[15858] Forked 21918 -[15857] Forked 21919 -(21918) found -(21919) found -[15856] Forked 21920 -[15855] Forked 21921 -(21920) found -(21921) found -[15854] Forked 21922 -[15853] Forked 21923 -(21922) found -(21923) found -[15852] Forked 21924 -[15851] Forked 21925 -(21924) found -(21925) found -[15850] Forked 21926 -[15849] Forked 21927 -(21926) found -(21927) found -[15848] Forked 21928 -[15847] Forked 21929 -(21928) found -(21929) found -[15846] Forked 21930 -[15845] Forked 21931 -(21930) found -(21931) found -[15844] Forked 21932 -[15843] Forked 21933 -(21932) found -(21933) found -[15842] Forked 21934 -[15841] Forked 21935 -(21934) found -(21935) found -[15840] Forked 21936 -[15839] Forked 21937 -(21936) found -(21937) found -[15838] Forked 21938 -[15837] Forked 21939 -(21938) found -(21939) found -[15836] Forked 21940 -[15835] Forked 21941 -(21940) found -(21941) found -[15834] Forked 21942 -[15833] Forked 21943 -(21942) found -(21943) found -[15832] Forked 21944 -[15831] Forked 21945 -(21944) found -(21945) found -[15830] Forked 21946 -[15829] Forked 21947 -(21946) found -(21947) found -[15828] Forked 21948 -[15827] Forked 21949 -(21948) found -(21949) found -[15826] Forked 21950 -[15825] Forked 21951 -(21950) found -(21951) found -[15824] Forked 21952 -[15823] Forked 21953 -(21952) found -(21953) found -[15822] Forked 21954 -[15821] Forked 21955 -(21954) found -(21955) found -[15820] Forked 21956 -[15819] Forked 21957 -(21956) found -(21957) found -[15818] Forked 21958 -[15817] Forked 21959 -(21958) found -(21959) found -[15816] Forked 21960 -[15815] Forked 21961 -(21960) found -(21961) found -[15814] Forked 21962 -[15813] Forked 21963 -(21962) found -(21963) found -[15812] Forked 21964 -[15811] Forked 21965 -(21964) found -(21965) found -[15810] Forked 21966 -[15809] Forked 21967 -(21966) found -(21967) found -[15808] Forked 21968 -[15807] Forked 21969 -(21968) found -(21969) found -[15806] Forked 21970 -[15805] Forked 21971 -(21970) found -(21971) found -[15804] Forked 21972 -[15803] Forked 21973 -(21972) found -(21973) found -[15802] Forked 21974 -[15801] Forked 21975 -(21974) found -(21975) found -[15800] Forked 21976 -[15799] Forked 21977 -(21976) found -(21977) found -[15798] Forked 21978 -[15797] Forked 21979 -(21978) found -(21979) found -[15796] Forked 21980 -[15795] Forked 21981 -(21980) found -(21981) found -[15794] Forked 21982 -[15793] Forked 21983 -(21982) found -(21983) found -[15792] Forked 21984 -[15791] Forked 21985 -(21984) found -(21985) found -[15790] Forked 21986 -[15789] Forked 21987 -(21986) found -(21987) found -[15788] Forked 21988 -[15787] Forked 21989 -(21988) found -(21989) found -[15786] Forked 21990 -[15785] Forked 21991 -(21990) found -(21991) found -[15784] Forked 21992 -[15783] Forked 21993 -(21992) found -(21993) found -[15782] Forked 21994 -[15781] Forked 21995 -(21994) found -(21995) found -[15780] Forked 21996 -[15779] Forked 21997 -(21996) found -(21997) found -[15778] Forked 21998 -[15777] Forked 21999 -(21998) found -(21999) found -[15776] Forked 22000 -[15775] Forked 22001 -(22000) found -(22001) found -[15774] Forked 22002 -[15773] Forked 22004 -(22002) found -(22004) found -[15772] Forked 22005 -(22005) found -[15771] Forked 22006 -(22006) found -[15770] Forked 22007 -(22007) found -[15769] Forked 22008 -(22008) found -[15768] Forked 22009 -(22009) found -[15767] Forked 22010 -(22010) found -[15766] Forked 22011 -(22011) found -[15765] Forked 22012 -(22012) found -[15764] Forked 22013 -(22013) found -[15763] Forked 22014 -(22014) found -[15762] Forked 22015 -(22015) found -[15761] Forked 22016 -(22016) found -[15760] Forked 22017 -(22017) found -[15759] Forked 22018 -(22018) found -[15758] Forked 22019 -(22019) found -[15757] Forked 22020 -(22020) found -[15756] Forked 22021 -(22021) found -[15755] Forked 22022 -(22022) found -[15754] Forked 22023 -(22023) found -[15753] Forked 22024 -(22024) found -[15752] Forked 22025 -(22025) found -[15751] Forked 22026 -(22026) found -[15750] Forked 22027 -(22027) found -[15749] Forked 22028 -(22028) found -[15748] Forked 22029 -(22029) found -[15747] Forked 22030 -(22030) found -[15746] Forked 22031 -(22031) found -[15745] Forked 22032 -(22032) found -[15744] Forked 22033 -(22033) found -[15743] Forked 22034 -(22034) found -[15742] Forked 22035 -(22035) found -[15741] Forked 22036 -(22036) found -[15740] Forked 22037 -(22037) found -[15739] Forked 22038 -(22038) found -[15738] Forked 22039 -(22039) found -[15737] Forked 22040 -(22040) found -[15736] Forked 22041 -(22041) found -[15735] Forked 22042 -(22042) found -[15734] Forked 22043 -(22043) found -[15733] Forked 22044 -(22044) found -[15732] Forked 22045 -(22045) found -[15731] Forked 22046 -(22046) found -[15730] Forked 22047 -(22047) found -[15729] Forked 22048 -(22048) found -[15728] Forked 22049 -(22049) found -[15727] Forked 22050 -(22050) found -[15726] Forked 22051 -(22051) found -[15725] Forked 22052 -(22052) found -[15724] Forked 22053 -(22053) found -[15723] Forked 22054 -(22054) found -[15722] Forked 22055 -(22055) found -[15721] Forked 22056 -(22056) found -[15720] Forked 22057 -(22057) found -[15719] Forked 22058 -(22058) found -[15718] Forked 22059 -(22059) found -[15717] Forked 22060 -(22060) found -[15716] Forked 22061 -(22061) found -[15715] Forked 22062 -(22062) found -[15714] Forked 22063 -(22063) found -[15713] Forked 22064 -(22064) found -[15712] Forked 22065 -(22065) found -[15711] Forked 22066 -[15710] Forked 22067 -(22066) found -(22067) found -[15709] Forked 22068 -[15708] Forked 22069 -(22068) found -(22069) found -[15707] Forked 22070 -[15706] Forked 22071 -(22070) found -(22071) found -[15705] Forked 22072 -[15704] Forked 22073 -(22072) found -(22073) found -[15703] Forked 22074 -[15702] Forked 22075 -(22074) found -(22075) found -[15701] Forked 22076 -[15700] Forked 22077 -(22076) found -(22077) found -[15699] Forked 22078 -[15698] Forked 22079 -(22078) found -(22079) found -[15697] Forked 22080 -[15696] Forked 22081 -(22080) found -(22081) found -[15695] Forked 22082 -[15694] Forked 22083 -(22082) found -(22083) found -[15693] Forked 22084 -(22084) found -[15692] Forked 22085 -[15691] Forked 22086 -(22085) found -(22086) found -[15690] Forked 22087 -[15689] Forked 22088 -(22087) found -(22088) found -[15688] Forked 22089 -[15687] Forked 22090 -(22089) found -(22090) found -[15686] Forked 22091 -[15685] Forked 22092 -(22091) found -(22092) found -[15684] Forked 22093 -[15683] Forked 22094 -(22093) found -(22094) found -[15682] Forked 22095 -[15681] Forked 22096 -(22095) found -(22096) found -[15680] Forked 22097 -[15679] Forked 22098 -(22097) found -(22098) found -[15678] Forked 22099 -[15677] Forked 22100 -(22099) found -(22100) found -[15676] Forked 22101 -[15675] Forked 22102 -(22101) found -(22102) found -[15674] Forked 22103 -[15673] Forked 22104 -(22103) found -(22104) found -[15672] Forked 22105 -[15671] Forked 22106 -(22105) found -(22106) found -[15670] Forked 22107 -[15669] Forked 22108 -(22107) found -(22108) found -[15668] Forked 22109 -(22109) found -[15667] Forked 22110 -(22110) found -[15666] Forked 22111 -(22111) found -[15665] Forked 22112 -(22112) found -[15664] Forked 22113 -(22113) found -[15663] Forked 22114 -(22114) found -[15662] Forked 22115 -(22115) found -[15661] Forked 22116 -(22116) found -[15660] Forked 22117 -(22117) found -[15659] Forked 22118 -(22118) found -[15658] Forked 22119 -(22119) found -[15657] Forked 22120 -(22120) found -[15656] Forked 22121 -(22121) found -[15655] Forked 22122 -(22122) found -[15654] Forked 22123 -(22123) found -[15653] Forked 22124 -(22124) found -[15652] Forked 22125 -(22125) found -[15651] Forked 22126 -(22126) found -[15650] Forked 22127 -(22127) found -[15649] Forked 22128 -(22128) found -[15648] Forked 22129 -(22129) found -[15647] Forked 22130 -(22130) found -[15646] Forked 22131 -(22131) found -[15645] Forked 22132 -(22132) found -[15644] Forked 22133 -(22133) found -[15643] Forked 22134 -(22134) found -[15642] Forked 22135 -(22135) found -[15641] Forked 22136 -(22136) found -[15640] Forked 22137 -(22137) found -[15639] Forked 22138 -(22138) found -[15638] Forked 22139 -(22139) found -[15637] Forked 22140 -(22140) found -[15636] Forked 22141 -(22141) found -[15635] Forked 22142 -(22142) found -[15634] Forked 22143 -(22143) found -[15633] Forked 22144 -(22144) found -[15632] Forked 22145 -(22145) found -[15631] Forked 22146 -(22146) found -[15630] Forked 22147 -(22147) found -[15629] Forked 22148 -[15628] Forked 22149 -(22148) found -(22149) found -[15627] Forked 22150 -[15626] Forked 22151 -(22150) found -(22151) found -[15625] Forked 22152 -[15624] Forked 22153 -(22152) found -(22153) found -[15623] Forked 22154 -[15622] Forked 22155 -(22154) found -(22155) found -[15621] Forked 22156 -[15620] Forked 22157 -(22156) found -(22157) found -[15619] Forked 22158 -[15618] Forked 22159 -(22158) found -(22159) found -[15617] Forked 22160 -[15616] Forked 22161 -(22160) found -(22161) found -[15615] Forked 22162 -[15614] Forked 22163 -(22162) found -(22163) found -[15613] Forked 22164 -[15612] Forked 22165 -(22164) found -(22165) found -[15611] Forked 22166 -[15610] Forked 22167 -(22167) found -(22166) found -[15609] Forked 22168 -(22168) found -[15608] Forked 22169 -(22169) found -[15607] Forked 22170 -(22170) found -[15606] Forked 22171 -(22171) found -[15605] Forked 22172 -(22172) found -[15604] Forked 22173 -(22173) found -[15603] Forked 22174 -(22174) found -[15602] Forked 22175 -(22175) found -[15601] Forked 22176 -(22176) found -[15600] Forked 22177 -(22177) found -[15599] Forked 22178 -(22178) found -[15598] Forked 22179 -(22179) found -[15597] Forked 22180 -(22180) found -[15596] Forked 22181 -(22181) found -[15595] Forked 22182 -(22182) found -[15594] Forked 22183 -[15593] Forked 22184 -(22183) found -(22184) found -[15592] Forked 22185 -[15591] Forked 22186 -(22185) found -(22186) found -[15590] Forked 22187 -[15589] Forked 22188 -(22187) found -(22188) found -[15588] Forked 22189 -[15587] Forked 22190 -(22189) found -(22190) found -[15586] Forked 22191 -[15585] Forked 22192 -(22191) found -(22192) found -[15584] Forked 22193 -[15583] Forked 22194 -(22193) found -(22194) found -[15582] Forked 22195 -[15581] Forked 22196 -(22195) found -(22196) found -[15580] Forked 22197 -[15579] Forked 22198 -(22197) found -(22198) found -[15578] Forked 22199 -[15577] Forked 22200 -(22199) found -(22200) found -[15576] Forked 22201 -[15575] Forked 22202 -(22201) found -(22202) found -[15574] Forked 22203 -[15573] Forked 22204 -(22203) found -(22204) found -[15572] Forked 22205 -[15571] Forked 22206 -(22205) found -(22206) found -[15570] Forked 22207 -[15569] Forked 22209 -(22207) found -(22209) found -[15568] Forked 22210 -(22210) found -[15567] Forked 22211 -(22211) found -[15566] Forked 22212 -(22212) found -[15565] Forked 22213 -(22213) found -[15564] Forked 22214 -(22214) found -[15563] Forked 22215 -(22215) found -[15562] Forked 22216 -(22216) found -[15561] Forked 22217 -(22217) found -[15560] Forked 22218 -(22218) found -[15559] Forked 22219 -(22219) found -[15558] Forked 22220 -(22220) found -[15557] Forked 22221 -(22221) found -[15556] Forked 22222 -(22222) found -[15555] Forked 22223 -(22223) found -[15554] Forked 22224 -(22224) found -[15553] Forked 22225 -(22225) found -[15552] Forked 22226 -(22226) found -[15551] Forked 22227 -(22227) found -[15550] Forked 22228 -(22228) found -[15549] Forked 22229 -(22229) found -[15548] Forked 22230 -(22230) found -[15547] Forked 22231 -(22231) found -[15546] Forked 22232 -(22232) found -[15545] Forked 22233 -(22233) found -[15544] Forked 22234 -(22234) found -[15543] Forked 22235 -(22235) found -[15542] Forked 22236 -(22236) found -[15541] Forked 22237 -(22237) found -[15540] Forked 22238 -(22238) found -[15539] Forked 22239 -(22239) found -[15538] Forked 22240 -(22240) found -[15537] Forked 22241 -(22241) found -[15536] Forked 22242 -(22242) found -[15535] Forked 22243 -(22243) found -[15534] Forked 22244 -(22244) found -[15533] Forked 22245 -(22245) found -[15532] Forked 22246 -(22246) found -[15531] Forked 22247 -(22247) found -[15530] Forked 22248 -(22248) found -[15529] Forked 22249 -(22249) found -[15528] Forked 22250 -(22250) found -[15527] Forked 22251 -(22251) found -[15526] Forked 22252 -(22252) found -[15525] Forked 22253 -(22253) found -[15524] Forked 22254 -(22254) found -[15523] Forked 22255 -(22255) found -[15522] Forked 22256 -(22256) found -[15521] Forked 22257 -(22257) found -[15520] Forked 22258 -(22258) found -[15519] Forked 22259 -(22259) found -[15518] Forked 22260 -(22260) found -[15517] Forked 22261 -[15516] Forked 22262 -(22261) found -(22262) found -[15515] Forked 22263 -[15514] Forked 22264 -(22263) found -(22264) found -[15513] Forked 22265 -(22265) found -[15512] Forked 22266 -(22266) found -[15511] Forked 22267 -(22267) found -[15510] Forked 22268 -(22268) found -[15509] Forked 22269 -(22269) found -[15508] Forked 22270 -(22270) found -[15507] Forked 22271 -(22271) found -[15506] Forked 22272 -(22272) found -[15505] Forked 22273 -(22273) found -[15504] Forked 22274 -(22274) found -[15503] Forked 22275 -(22275) found -[15502] Forked 22276 -(22276) found -[15501] Forked 22277 -(22277) found -[15500] Forked 22278 -(22278) found -[15499] Forked 22279 -(22279) found -[15498] Forked 22280 -(22280) found -[15497] Forked 22281 -(22281) found -[15496] Forked 22282 -(22282) found -[15495] Forked 22283 -(22283) found -[15494] Forked 22284 -(22284) found -[15493] Forked 22285 -(22285) found -[15492] Forked 22286 -(22286) found -[15491] Forked 22287 -(22287) found -[15490] Forked 22288 -(22288) found -[15489] Forked 22289 -(22289) found -[15488] Forked 22290 -(22290) found -[15487] Forked 22291 -(22291) found -[15486] Forked 22292 -(22292) found -[15485] Forked 22293 -(22293) found -[15484] Forked 22294 -(22294) found -[15483] Forked 22295 -(22295) found -[15482] Forked 22296 -(22296) found -[15481] Forked 22297 -(22297) found -[15480] Forked 22298 -(22298) found -[15479] Forked 22299 -(22299) found -[15478] Forked 22300 -(22300) found -[15477] Forked 22301 -(22301) found -[15476] Forked 22302 -(22302) found -[15475] Forked 22303 -(22303) found -[15474] Forked 22304 -[15473] Forked 22305 -(22304) found -(22305) found -[15472] Forked 22306 -[15471] Forked 22307 -(22306) found -(22307) found -[15470] Forked 22308 -[15469] Forked 22309 -(22308) found -(22309) found -[15468] Forked 22310 -[15467] Forked 22311 -(22310) found -(22311) found -[15466] Forked 22312 -[15465] Forked 22313 -(22312) found -(22313) found -[15464] Forked 22314 -[15463] Forked 22315 -(22314) found -(22315) found -[15462] Forked 22316 -[15461] Forked 22317 -(22316) found -(22317) found -[15460] Forked 22318 -[15459] Forked 22319 -(22318) found -(22319) found -[15458] Forked 22320 -[15457] Forked 22321 -(22320) found -(22321) found -[15456] Forked 22322 -[15455] Forked 22323 -(22322) found -(22323) found -[15454] Forked 22324 -[15453] Forked 22325 -(22324) found -(22325) found -[15452] Forked 22326 -[15451] Forked 22327 -(22326) found -(22327) found -[15450] Forked 22328 -[15449] Forked 22329 -(22328) found -(22329) found -[15448] Forked 22330 -[15447] Forked 22331 -(22330) found -(22331) found -[15446] Forked 22332 -[15445] Forked 22333 -(22332) found -(22333) found -[15444] Forked 22334 -[15443] Forked 22335 -(22334) found -(22335) found -[15442] Forked 22336 -[15441] Forked 22337 -(22336) found -(22337) found -[15440] Forked 22338 -[15439] Forked 22339 -(22338) found -(22339) found -[15438] Forked 22340 -[15437] Forked 22341 -(22340) found -(22341) found -[15436] Forked 22342 -[15435] Forked 22343 -(22342) found -(22343) found -[15434] Forked 22344 -[15433] Forked 22345 -(22344) found -(22345) found -[15432] Forked 22346 -[15431] Forked 22347 -(22346) found -(22347) found -[15430] Forked 22348 -(22348) found -[15429] Forked 22349 -(22349) found -[15428] Forked 22350 -(22350) found -[15427] Forked 22351 -(22351) found -[15426] Forked 22352 -(22352) found -[15425] Forked 22353 -(22353) found -[15424] Forked 22354 -(22354) found -[15423] Forked 22355 -(22355) found -[15422] Forked 22356 -(22356) found -[15421] Forked 22357 -(22357) found -[15420] Forked 22358 -(22358) found -[15419] Forked 22359 -(22359) found -[15418] Forked 22360 -(22360) found -[15417] Forked 22361 -(22361) found -[15416] Forked 22362 -(22362) found -[15415] Forked 22363 -(22363) found -[15414] Forked 22364 -(22364) found -[15413] Forked 22365 -(22365) found -[15412] Forked 22366 -(22366) found -[15411] Forked 22367 -(22367) found -[15410] Forked 22368 -(22368) found -[15409] Forked 22369 -(22369) found -[15408] Forked 22370 -(22370) found -[15407] Forked 22371 -(22371) found -[15406] Forked 22372 -(22372) found -[15405] Forked 22373 -(22373) found -[15404] Forked 22374 -(22374) found -[15403] Forked 22375 -(22375) found -[15402] Forked 22376 -(22376) found -[15401] Forked 22377 -(22377) found -[15400] Forked 22378 -(22378) found -[15399] Forked 22379 -(22379) found -[15398] Forked 22380 -(22380) found -[15397] Forked 22381 -(22381) found -[15396] Forked 22382 -(22382) found -[15395] Forked 22383 -(22383) found -[15394] Forked 22384 -(22384) found -[15393] Forked 22385 -(22385) found -[15392] Forked 22386 -(22386) found -[15391] Forked 22387 -[15390] Forked 22388 -(22387) found -(22388) found -[15389] Forked 22389 -[15388] Forked 22390 -(22389) found -(22390) found -[15387] Forked 22391 -[15386] Forked 22392 -(22391) found -(22392) found -[15385] Forked 22393 -[15384] Forked 22394 -(22393) found -(22394) found -[15383] Forked 22395 -[15382] Forked 22396 -(22395) found -(22396) found -[15381] Forked 22397 -[15380] Forked 22398 -(22397) found -(22398) found -[15379] Forked 22399 -[15378] Forked 22400 -(22399) found -(22400) found -[15377] Forked 22401 -[15376] Forked 22402 -(22401) found -(22402) found -[15375] Forked 22403 -[15374] Forked 22404 -(22403) found -(22404) found -[15373] Forked 22405 -[15372] Forked 22406 -(22405) found -(22406) found -[15371] Forked 22407 -[15370] Forked 22408 -(22407) found -(22408) found -[15369] Forked 22409 -[15368] Forked 22410 -(22409) found -(22410) found -[15367] Forked 22411 -[15366] Forked 22412 -(22411) found -(22412) found -[15365] Forked 22413 -[15364] Forked 22414 -(22413) found -(22414) found -[15363] Forked 22415 -[15362] Forked 22416 -(22415) found -(22416) found -[15361] Forked 22417 -[15360] Forked 22418 -(22417) found -(22418) found -[15359] Forked 22419 -[15358] Forked 22420 -(22420) found -(22419) found -[15357] Forked 22421 -(22421) found -[15356] Forked 22422 -(22422) found -[15355] Forked 22423 -(22423) found -[15354] Forked 22424 -(22424) found -[15353] Forked 22425 -(22425) found -[15352] Forked 22426 -(22426) found -[15351] Forked 22427 -(22427) found -[15350] Forked 22428 -(22428) found -[15349] Forked 22429 -(22429) found -[15348] Forked 22430 -(22430) found -[15347] Forked 22431 -(22431) found -[15346] Forked 22432 -(22432) found -[15345] Forked 22433 -(22433) found -[15344] Forked 22434 -(22434) found -[15343] Forked 22435 -(22435) found -[15342] Forked 22436 -(22436) found -[15341] Forked 22437 -(22437) found -[15340] Forked 22438 -(22438) found -[15339] Forked 22439 -(22439) found -[15338] Forked 22440 -(22440) found -[15337] Forked 22441 -(22441) found -[15336] Forked 22442 -(22442) found -[15335] Forked 22443 -(22443) found -[15334] Forked 22444 -(22444) found -[15333] Forked 22445 -(22445) found -[15332] Forked 22446 -(22446) found -[15331] Forked 22447 -(22447) found -[15330] Forked 22448 -(22448) found -[15329] Forked 22449 -(22449) found -[15328] Forked 22450 -(22450) found -[15327] Forked 22451 -(22451) found -[15326] Forked 22452 -(22452) found -[15325] Forked 22453 -(22453) found -[15324] Forked 22454 -(22454) found -[15323] Forked 22455 -(22455) found -[15322] Forked 22456 -(22456) found -[15321] Forked 22457 -(22457) found -[15320] Forked 22458 -(22458) found -[15319] Forked 22459 -(22459) found -[15318] Forked 22460 -(22460) found -[15317] Forked 22461 -(22461) found -[15316] Forked 22462 -(22462) found -[15315] Forked 22463 -(22463) found -[15314] Forked 22464 -(22464) found -[15313] Forked 22465 -(22465) found -[15312] Forked 22466 -(22466) found -[15311] Forked 22467 -(22467) found -[15310] Forked 22468 -(22468) found -[15309] Forked 22469 -(22469) found -[15308] Forked 22470 -[15307] Forked 22471 -(22470) found -(22471) found -[15306] Forked 22472 -[15305] Forked 22473 -(22472) found -(22473) found -[15304] Forked 22474 -[15303] Forked 22475 -(22474) found -(22475) found -[15302] Forked 22476 -[15301] Forked 22477 -(22476) found -(22477) found -[15300] Forked 22478 -[15299] Forked 22479 -(22478) found -(22479) found -[15298] Forked 22480 -[15297] Forked 22481 -(22480) found -(22481) found -[15296] Forked 22482 -[15295] Forked 22483 -(22482) found -(22483) found -[15294] Forked 22484 -[15293] Forked 22485 -(22484) found -(22485) found -[15292] Forked 22486 -[15291] Forked 22487 -(22486) found -(22487) found -[15290] Forked 22488 -[15289] Forked 22489 -(22488) found -(22489) found -[15288] Forked 22490 -[15287] Forked 22491 -(22490) found -(22491) found -[15286] Forked 22492 -[15285] Forked 22493 -(22492) found -(22493) found -[15284] Forked 22494 -[15283] Forked 22495 -(22494) found -(22495) found -[15282] Forked 22496 -[15281] Forked 22497 -(22496) found -(22497) found -[15280] Forked 22498 -[15279] Forked 22499 -(22498) found -(22499) found -[15278] Forked 22500 -[15277] Forked 22501 -(22500) found -(22501) found -[15276] Forked 22502 -[15275] Forked 22503 -(22502) found -(22503) found -[15274] Forked 22504 -[15273] Forked 22505 -(22504) found -(22505) found -[15272] Forked 22506 -(22506) found -[15271] Forked 22507 -[15270] Forked 22508 -(22507) found -(22508) found -[15269] Forked 22509 -[15268] Forked 22510 -(22509) found -(22510) found -[15267] Forked 22511 -(22511) found -[15266] Forked 22512 -(22512) found -[15265] Forked 22513 -(22513) found -[15264] Forked 22514 -(22514) found -[15263] Forked 22515 -(22515) found -[15262] Forked 22516 -(22516) found -[15261] Forked 22517 -(22517) found -[15260] Forked 22518 -(22518) found -[15259] Forked 22519 -(22519) found -[15258] Forked 22520 -(22520) found -[15257] Forked 22521 -(22521) found -[15256] Forked 22522 -(22522) found -[15255] Forked 22523 -(22523) found -[15254] Forked 22524 -(22524) found -[15253] Forked 22525 -(22525) found -[15252] Forked 22526 -(22526) found -[15251] Forked 22527 -(22527) found -[15250] Forked 22528 -(22528) found -[15249] Forked 22529 -(22529) found -[15248] Forked 22530 -(22530) found -[15247] Forked 22531 -(22531) found -[15246] Forked 22532 -(22532) found -[15245] Forked 22533 -(22533) found -[15244] Forked 22534 -(22534) found -[15243] Forked 22535 -(22535) found -[15242] Forked 22536 -(22536) found -[15241] Forked 22537 -(22537) found -[15240] Forked 22538 -(22538) found -[15239] Forked 22539 -(22539) found -[15238] Forked 22540 -(22540) found -[15237] Forked 22541 -(22541) found -[15236] Forked 22542 -(22542) found -[15235] Forked 22543 -(22543) found -[15234] Forked 22544 -(22544) found -[15233] Forked 22545 -(22545) found -[15232] Forked 22546 -(22546) found -[15231] Forked 22547 -(22547) found -[15230] Forked 22548 -(22548) found -[15229] Forked 22549 -(22549) found -[15228] Forked 22550 -[15227] Forked 22551 -(22550) found -(22551) found -[15226] Forked 22552 -[15225] Forked 22553 -(22552) found -(22553) found -[15224] Forked 22554 -[15223] Forked 22555 -(22554) found -(22555) found -[15222] Forked 22556 -[15221] Forked 22557 -(22556) found -(22557) found -[15220] Forked 22558 -[15219] Forked 22559 -(22558) found -(22559) found -[15218] Forked 22560 -[15217] Forked 22561 -(22560) found -(22561) found -[15216] Forked 22562 -[15215] Forked 22563 -(22563) found -(22562) found -[15214] Forked 22564 -(22564) found -[15213] Forked 22565 -(22565) found -[15212] Forked 22566 -(22566) found -[15211] Forked 22567 -(22567) found -[15210] Forked 22568 -(22568) found -[15209] Forked 22569 -(22569) found -[15208] Forked 22570 -(22570) found -[15207] Forked 22571 -(22571) found -[15206] Forked 22572 -(22572) found -[15205] Forked 22573 -(22573) found -[15204] Forked 22574 -(22574) found -[15203] Forked 22575 -(22575) found -[15202] Forked 22576 -(22576) found -[15201] Forked 22577 -(22577) found -[15200] Forked 22578 -(22578) found -[15199] Forked 22579 -(22579) found -[15198] Forked 22580 -(22580) found -[15197] Forked 22581 -(22581) found -[15196] Forked 22582 -(22582) found -[15195] Forked 22583 -(22583) found -[15194] Forked 22584 -(22584) found -[15193] Forked 22585 -[15192] Forked 22586 -(22585) found -(22586) found -[15191] Forked 22587 -[15190] Forked 22588 -(22587) found -(22588) found -[15189] Forked 22589 -[15188] Forked 22590 -(22589) found -(22590) found -[15187] Forked 22591 -[15186] Forked 22592 -(22591) found -(22592) found -[15185] Forked 22593 -[15184] Forked 22594 -(22593) found -(22594) found -[15183] Forked 22595 -[15182] Forked 22596 -(22595) found -(22596) found -[15181] Forked 22597 -[15180] Forked 22598 -(22597) found -(22598) found -[15179] Forked 22599 -[15178] Forked 22600 -(22599) found -(22600) found -[15177] Forked 22601 -[15176] Forked 22602 -(22601) found -(22602) found -[15175] Forked 22603 -[15174] Forked 22604 -(22603) found -(22604) found -[15173] Forked 22605 -[15172] Forked 22606 -(22605) found -(22606) found -[15171] Forked 22607 -[15170] Forked 22608 -(22607) found -(22608) found -[15169] Forked 22609 -[15168] Forked 22610 -(22609) found -(22610) found -[15167] Forked 22611 -[15166] Forked 22612 -(22611) found -(22612) found -[15165] Forked 22613 -[15164] Forked 22614 -(22613) found -(22614) found -[15163] Forked 22615 -[15162] Forked 22616 -(22615) found -(22616) found -[15161] Forked 22617 -[15160] Forked 22618 -(22617) found -(22618) found -[15159] Forked 22619 -[15158] Forked 22620 -(22619) found -(22620) found -[15157] Forked 22621 -[15156] Forked 22622 -(22621) found -(22622) found -[15155] Forked 22623 -[15154] Forked 22624 -(22623) found -(22624) found -[15153] Forked 22625 -[15152] Forked 22627 -(22625) found -(22627) found -[15151] Forked 22628 -(22628) found -[15150] Forked 22629 -(22629) found -[15149] Forked 22630 -(22630) found -[15148] Forked 22631 -(22631) found -[15147] Forked 22632 -(22632) found -[15146] Forked 22633 -(22633) found -[15145] Forked 22634 -(22634) found -[15144] Forked 22635 -(22635) found -[15143] Forked 22636 -(22636) found -[15142] Forked 22637 -(22637) found -[15141] Forked 22638 -(22638) found -[15140] Forked 22639 -(22639) found -[15139] Forked 22640 -(22640) found -[15138] Forked 22641 -(22641) found -[15137] Forked 22642 -(22642) found -[15136] Forked 22644 -(22644) found -[15135] Forked 22645 -(22645) found -[15134] Forked 22646 -(22646) found -[15133] Forked 22647 -(22647) found -[15132] Forked 22648 -(22648) found -[15131] Forked 22649 -(22649) found -[15130] Forked 22650 -(22650) found -[15129] Forked 22651 -(22651) found -[15128] Forked 22652 -(22652) found -[15127] Forked 22653 -(22653) found -[15126] Forked 22654 -(22654) found -[15125] Forked 22655 -(22655) found -[15124] Forked 22656 -(22656) found -[15123] Forked 22657 -(22657) found -[15122] Forked 22658 -(22658) found -[15121] Forked 22659 -(22659) found -[15120] Forked 22660 -(22660) found -[15119] Forked 22661 -(22661) found -[15118] Forked 22662 -(22662) found -[15117] Forked 22663 -(22663) found -[15116] Forked 22664 -(22664) found -[15115] Forked 22665 -(22665) found -[15114] Forked 22666 -(22666) found -[15113] Forked 22667 -(22667) found -[15112] Forked 22668 -(22668) found -[15111] Forked 22669 -(22669) found -[15110] Forked 22670 -(22670) found -[15109] Forked 22671 -(22671) found -[15108] Forked 22672 -(22672) found -[15107] Forked 22673 -(22673) found -[15106] Forked 22674 -(22674) found -[15105] Forked 22675 -(22675) found -[15104] Forked 22676 -(22676) found -[15103] Forked 22677 -(22677) found -[15102] Forked 22678 -(22678) found -[15101] Forked 22679 -(22679) found -[15100] Forked 22680 -(22680) found -[15099] Forked 22681 -(22681) found -[15098] Forked 22682 -(22682) found -[15097] Forked 22683 -(22683) found -[15096] Forked 22684 -(22684) found -[15095] Forked 22685 -(22685) found -[15094] Forked 22686 -(22686) found -[15093] Forked 22687 -(22687) found -[15092] Forked 22688 -(22688) found -[15091] Forked 22689 -(22689) found -[15090] Forked 22690 -(22690) found -[15089] Forked 22691 -(22691) found -[15088] Forked 22692 -(22692) found -[15087] Forked 22693 -(22693) found -[15086] Forked 22694 -(22694) found -[15085] Forked 22695 -(22695) found -[15084] Forked 22696 -(22696) found -[15083] Forked 22697 -(22697) found -[15082] Forked 22698 -(22698) found -[15081] Forked 22699 -(22699) found -[15080] Forked 22700 -(22700) found -[15079] Forked 22701 -(22701) found -[15078] Forked 22702 -(22702) found -[15077] Forked 22703 -(22703) found -[15076] Forked 22704 -[15075] Forked 22705 -(22704) found -(22705) found -[15074] Forked 22706 -[15073] Forked 22707 -(22706) found -(22707) found -[15072] Forked 22708 -[15071] Forked 22709 -(22708) found -(22709) found -[15070] Forked 22710 -[15069] Forked 22711 -(22710) found -(22711) found -[15068] Forked 22712 -[15067] Forked 22713 -(22712) found -(22713) found -[15066] Forked 22714 -[15065] Forked 22715 -(22714) found -(22715) found -[15064] Forked 22716 -[15063] Forked 22717 -(22716) found -(22717) found -[15062] Forked 22718 -[15061] Forked 22719 -(22718) found -(22719) found -[15060] Forked 22720 -[15059] Forked 22721 -(22720) found -(22721) found -[15058] Forked 22722 -[15057] Forked 22723 -(22722) found -(22723) found -[15056] Forked 22724 -[15055] Forked 22725 -(22724) found -(22725) found -[15054] Forked 22726 -[15053] Forked 22727 -(22726) found -(22727) found -[15052] Forked 22728 -[15051] Forked 22729 -(22728) found -(22729) found -[15050] Forked 22730 -[15049] Forked 22731 -(22730) found -(22731) found -[15048] Forked 22732 -[15047] Forked 22733 -(22732) found -(22733) found -[15046] Forked 22734 -[15045] Forked 22735 -(22734) found -(22735) found -[15044] Forked 22736 -[15043] Forked 22737 -(22736) found -(22737) found -[15042] Forked 22738 -[15041] Forked 22739 -(22738) found -(22739) found -[15040] Forked 22740 -[15039] Forked 22741 -(22740) found -(22741) found -[15038] Forked 22742 -[15037] Forked 22743 -(22742) found -(22743) found -[15036] Forked 22744 -[15035] Forked 22745 -(22744) found -(22745) found -[15034] Forked 22746 -[15033] Forked 22747 -(22746) found -(22747) found -[15032] Forked 22748 -(22748) found -[15031] Forked 22749 -(22749) found -[15030] Forked 22750 -(22750) found -[15029] Forked 22751 -(22751) found -[15028] Forked 22752 -(22752) found -[15027] Forked 22753 -(22753) found -[15026] Forked 22754 -(22754) found -[15025] Forked 22755 -(22755) found -[15024] Forked 22756 -(22756) found -[15023] Forked 22757 -(22757) found -[15022] Forked 22758 -(22758) found -[15021] Forked 22759 -(22759) found -[15020] Forked 22760 -(22760) found -[15019] Forked 22761 -(22761) found -[15018] Forked 22762 -(22762) found -[15017] Forked 22763 -(22763) found -[15016] Forked 22764 -(22764) found -[15015] Forked 22765 -(22765) found -[15014] Forked 22766 -(22766) found -[15013] Forked 22767 -(22767) found -[15012] Forked 22768 -(22768) found -[15011] Forked 22769 -(22769) found -[15010] Forked 22770 -(22770) found -[15009] Forked 22771 -(22771) found -[15008] Forked 22772 -(22772) found -[15007] Forked 22773 -(22773) found -[15006] Forked 22774 -(22774) found -[15005] Forked 22775 -(22775) found -[15004] Forked 22776 -(22776) found -[15003] Forked 22777 -(22777) found -[15002] Forked 22778 -(22778) found -[15001] Forked 22779 -(22779) found -[15000] Forked 22780 -(22780) found -[14999] Forked 22781 -(22781) found -[14998] Forked 22782 -(22782) found -[14997] Forked 22783 -(22783) found -[14996] Forked 22784 -[14995] Forked 22785 -(22784) found -(22785) found -[14994] Forked 22786 -[14993] Forked 22787 -(22786) found -(22787) found -[14992] Forked 22788 -[14991] Forked 22789 -(22788) found -(22789) found -[14990] Forked 22790 -[14989] Forked 22791 -(22790) found -(22791) found -[14988] Forked 22792 -[14987] Forked 22793 -(22792) found -(22793) found -[14986] Forked 22794 -[14985] Forked 22795 -(22794) found -(22795) found -[14984] Forked 22796 -[14983] Forked 22797 -(22796) found -(22797) found -[14982] Forked 22798 -[14981] Forked 22799 -(22798) found -(22799) found -[14980] Forked 22800 -[14979] Forked 22801 -(22800) found -(22801) found -[14978] Forked 22802 -[14977] Forked 22803 -(22802) found -(22803) found -[14976] Forked 22804 -[14975] Forked 22805 -(22804) found -(22805) found -[14974] Forked 22806 -[14973] Forked 22807 -(22806) found -(22807) found -[14972] Forked 22808 -[14971] Forked 22809 -(22808) found -(22809) found -[14970] Forked 22810 -[14969] Forked 22811 -(22810) found -(22811) found -[14968] Forked 22812 -[14967] Forked 22813 -(22812) found -(22813) found -[14966] Forked 22814 -[14965] Forked 22815 -(22814) found -(22815) found -[14964] Forked 22816 -[14963] Forked 22817 -(22816) found -(22817) found -[14962] Forked 22818 -[14961] Forked 22819 -(22818) found -(22819) found -[14960] Forked 22820 -[14959] Forked 22821 -(22820) found -(22821) found -[14958] Forked 22822 -[14957] Forked 22824 -(22822) found -(22824) found -[14956] Forked 22825 -(22825) found -[14955] Forked 22826 -(22826) found -[14954] Forked 22827 -(22827) found -[14953] Forked 22828 -(22828) found -[14952] Forked 22829 -(22829) found -[14951] Forked 22830 -(22830) found -[14950] Forked 22831 -(22831) found -[14949] Forked 22832 -(22832) found -[14948] Forked 22833 -(22833) found -[14947] Forked 22834 -(22834) found -[14946] Forked 22835 -(22835) found -[14945] Forked 22836 -(22836) found -[14944] Forked 22837 -(22837) found -[14943] Forked 22838 -(22838) found -[14942] Forked 22839 -(22839) found -[14941] Forked 22840 -(22840) found -[14940] Forked 22841 -(22841) found -[14939] Forked 22842 -(22842) found -[14938] Forked 22843 -(22843) found -[14937] Forked 22844 -(22844) found -[14936] Forked 22845 -(22845) found -[14935] Forked 22846 -(22846) found -[14934] Forked 22847 -(22847) found -[14933] Forked 22848 -(22848) found -[14932] Forked 22849 -(22849) found -[14931] Forked 22850 -(22850) found -[14930] Forked 22851 -(22851) found -[14929] Forked 22852 -(22852) found -[14928] Forked 22853 -(22853) found -[14927] Forked 22854 -(22854) found -[14926] Forked 22855 -(22855) found -[14925] Forked 22856 -(22856) found -[14924] Forked 22857 -(22857) found -[14923] Forked 22858 -(22858) found -[14922] Forked 22859 -(22859) found -[14921] Forked 22860 -(22860) found -[14920] Forked 22861 -(22861) found -[14919] Forked 22862 -(22862) found -[14918] Forked 22863 -[14917] Forked 22864 -(22863) found -(22864) found -[14916] Forked 22865 -[14915] Forked 22866 -(22865) found -(22866) found -[14914] Forked 22867 -[14913] Forked 22868 -(22867) found -(22868) found -[14912] Forked 22869 -[14911] Forked 22870 -(22869) found -(22870) found -[14910] Forked 22871 -[14909] Forked 22872 -(22871) found -(22872) found -[14908] Forked 22873 -[14907] Forked 22874 -(22873) found -(22874) found -[14906] Forked 22875 -[14905] Forked 22876 -(22875) found -(22876) found -[14904] Forked 22877 -[14903] Forked 22878 -(22877) found -(22878) found -[14902] Forked 22879 -[14901] Forked 22880 -(22879) found -(22880) found -[14900] Forked 22881 -[14899] Forked 22882 -(22881) found -(22882) found -[14898] Forked 22883 -[14897] Forked 22884 -(22883) found -(22884) found -[14896] Forked 22885 -[14895] Forked 22886 -(22885) found -(22886) found -[14894] Forked 22887 -[14893] Forked 22888 -(22887) found -(22888) found -[14892] Forked 22889 -[14891] Forked 22890 -(22889) found -(22890) found -[14890] Forked 22891 -[14889] Forked 22892 -(22891) found -(22892) found -[14888] Forked 22893 -[14887] Forked 22894 -(22893) found -(22894) found -[14886] Forked 22895 -[14885] Forked 22896 -(22895) found -(22896) found -[14884] Forked 22897 -[14883] Forked 22898 -(22897) found -(22898) found -[14882] Forked 22899 -[14881] Forked 22900 -(22899) found -(22900) found -[14880] Forked 22901 -[14879] Forked 22902 -(22901) found -(22902) found -[14878] Forked 22903 -[14877] Forked 22904 -(22903) found -(22904) found -[14876] Forked 22905 -[14875] Forked 22906 -(22905) found -(22906) found -[14874] Forked 22907 -(22907) found -[14873] Forked 22908 -(22908) found -[14872] Forked 22909 -(22909) found -[14871] Forked 22910 -(22910) found -[14870] Forked 22911 -(22911) found -[14869] Forked 22912 -(22912) found -[14868] Forked 22913 -(22913) found -[14867] Forked 22914 -(22914) found -[14866] Forked 22915 -(22915) found -[14865] Forked 22916 -(22916) found -[14864] Forked 22917 -(22917) found -[14863] Forked 22918 -(22918) found -[14862] Forked 22919 -(22919) found -[14861] Forked 22920 -(22920) found -[14860] Forked 22921 -(22921) found -[14859] Forked 22922 -(22922) found -[14858] Forked 22923 -(22923) found -[14857] Forked 22924 -(22924) found -[14856] Forked 22925 -(22925) found -[14855] Forked 22926 -(22926) found -[14854] Forked 22927 -(22927) found -[14853] Forked 22928 -(22928) found -[14852] Forked 22929 -(22929) found -[14851] Forked 22930 -(22930) found -[14850] Forked 22931 -(22931) found -[14849] Forked 22932 -(22932) found -[14848] Forked 22933 -(22933) found -[14847] Forked 22934 -(22934) found -[14846] Forked 22935 -(22935) found -[14845] Forked 22936 -(22936) found -[14844] Forked 22937 -(22937) found -[14843] Forked 22938 -(22938) found -[14842] Forked 22939 -(22939) found -[14841] Forked 22940 -(22940) found -[14840] Forked 22941 -(22941) found -[14839] Forked 22942 -(22942) found -[14838] Forked 22943 -(22943) found -[14837] Forked 22944 -(22944) found -[14836] Forked 22945 -(22945) found -[14835] Forked 22946 -[14834] Forked 22947 -(22946) found -(22947) found -[14833] Forked 22948 -[14832] Forked 22949 -(22948) found -(22949) found -[14831] Forked 22950 -[14830] Forked 22951 -(22950) found -(22951) found -[14829] Forked 22952 -[14828] Forked 22953 -(22952) found -(22953) found -[14827] Forked 22954 -[14826] Forked 22955 -(22954) found -(22955) found -[14825] Forked 22956 -[14824] Forked 22957 -(22956) found -(22957) found -[14823] Forked 22958 -[14822] Forked 22959 -(22958) found -(22959) found -[14821] Forked 22960 -[14820] Forked 22961 -(22960) found -(22961) found -[14819] Forked 22962 -[14818] Forked 22963 -(22962) found -(22963) found -[14817] Forked 22964 -[14816] Forked 22965 -(22964) found -(22965) found -[14815] Forked 22966 -[14814] Forked 22967 -(22966) found -(22967) found -[14813] Forked 22968 -[14812] Forked 22969 -(22968) found -(22969) found -[14811] Forked 22970 -[14810] Forked 22971 -(22970) found -(22971) found -[14809] Forked 22972 -[14808] Forked 22973 -(22972) found -(22973) found -[14807] Forked 22974 -[14806] Forked 22975 -(22974) found -(22975) found -[14805] Forked 22976 -[14804] Forked 22977 -(22976) found -(22977) found -[14803] Forked 22978 -[14802] Forked 22979 -(22978) found -(22979) found -[14801] Forked 22980 -[14800] Forked 22981 -(22980) found -(22981) found -[14799] Forked 22982 -[14798] Forked 22983 -(22982) found -(22983) found -[14797] Forked 22984 -[14796] Forked 22985 -(22984) found -(22985) found -[14795] Forked 22986 -[14794] Forked 22987 -(22986) found -(22987) found -[14793] Forked 22988 -[14792] Forked 22989 -(22988) found -(22989) found -[14791] Forked 22990 -(22990) found -[14790] Forked 22991 -(22991) found -[14789] Forked 22992 -(22992) found -[14788] Forked 22993 -(22993) found -[14787] Forked 22994 -(22994) found -[14786] Forked 22995 -(22995) found -[14785] Forked 22996 -(22996) found -[14784] Forked 22997 -(22997) found -[14783] Forked 22998 -(22998) found -[14782] Forked 22999 -(22999) found -[14781] Forked 23000 -(23000) found -[14780] Forked 23001 -(23001) found -[14779] Forked 23002 -(23002) found -[14778] Forked 23003 -(23003) found -[14777] Forked 23004 -(23004) found -[14776] Forked 23005 -(23005) found -[14775] Forked 23006 -(23006) found -[14774] Forked 23007 -(23007) found -[14773] Forked 23008 -(23008) found -[14772] Forked 23009 -(23009) found -[14771] Forked 23010 -(23010) found -[14770] Forked 23011 -(23011) found -[14769] Forked 23012 -(23012) found -[14768] Forked 23013 -(23013) found -[14767] Forked 23014 -(23014) found -[14766] Forked 23015 -(23015) found -[14765] Forked 23016 -(23016) found -[14764] Forked 23017 -(23017) found -[14763] Forked 23018 -(23018) found -[14762] Forked 23019 -(23019) found -[14761] Forked 23020 -(23020) found -[14760] Forked 23021 -(23021) found -[14759] Forked 23022 -(23022) found -[14758] Forked 23023 -(23023) found -[14757] Forked 23024 -(23024) found -[14756] Forked 23025 -(23025) found -[14755] Forked 23026 -(23026) found -[14754] Forked 23027 -(23027) found -[14753] Forked 23028 -(23028) found -[14752] Forked 23029 -[14751] Forked 23030 -(23029) found -(23030) found -[14750] Forked 23031 -[14749] Forked 23032 -(23031) found -(23032) found -[14748] Forked 23033 -[14747] Forked 23034 -(23033) found -(23034) found -[14746] Forked 23035 -[14745] Forked 23036 -(23035) found -(23036) found -[14744] Forked 23037 -[14743] Forked 23038 -(23037) found -(23038) found -[14742] Forked 23039 -[14741] Forked 23040 -(23039) found -(23040) found -[14740] Forked 23041 -[14739] Forked 23042 -(23041) found -(23042) found -[14738] Forked 23043 -[14737] Forked 23044 -(23043) found -(23044) found -[14736] Forked 23045 -[14735] Forked 23046 -(23045) found -(23046) found -[14734] Forked 23047 -[14733] Forked 23048 -(23047) found -(23048) found -[14732] Forked 23049 -[14731] Forked 23050 -(23049) found -(23050) found -[14730] Forked 23051 -[14729] Forked 23052 -(23051) found -(23052) found -[14728] Forked 23053 -[14727] Forked 23054 -(23053) found -(23054) found -[14726] Forked 23055 -[14725] Forked 23056 -(23055) found -(23056) found -[14724] Forked 23057 -[14723] Forked 23058 -(23057) found -(23058) found -[14722] Forked 23059 -[14721] Forked 23060 -(23059) found -(23060) found -[14720] Forked 23061 -[14719] Forked 23062 -(23061) found -(23062) found -[14718] Forked 23063 -[14717] Forked 23064 -(23063) found -(23064) found -[14716] Forked 23065 -[14715] Forked 23066 -(23065) found -(23066) found -[14714] Forked 23067 -[14713] Forked 23069 -(23067) found -(23069) found -[14712] Forked 23070 -(23070) found -[14711] Forked 23071 -(23071) found -[14710] Forked 23072 -(23072) found -[14709] Forked 23073 -(23073) found -[14708] Forked 23074 -(23074) found -[14707] Forked 23075 -(23075) found -[14706] Forked 23076 -(23076) found -[14705] Forked 23077 -(23077) found -[14704] Forked 23078 -(23078) found -[14703] Forked 23079 -(23079) found -[14702] Forked 23080 -(23080) found -[14701] Forked 23081 -(23081) found -[14700] Forked 23082 -(23082) found -[14699] Forked 23083 -(23083) found -[14698] Forked 23084 -(23084) found -[14697] Forked 23085 -(23085) found -[14696] Forked 23086 -(23086) found -[14695] Forked 23087 -(23087) found -[14694] Forked 23088 -(23088) found -[14693] Forked 23089 -(23089) found -[14692] Forked 23090 -(23090) found -[14691] Forked 23091 -(23091) found -[14690] Forked 23092 -(23092) found -[14689] Forked 23093 -(23093) found -[14688] Forked 23094 -(23094) found -[14687] Forked 23095 -(23095) found -[14686] Forked 23096 -(23096) found -[14685] Forked 23097 -(23097) found -[14684] Forked 23098 -(23098) found -[14683] Forked 23099 -(23099) found -[14682] Forked 23100 -(23100) found -[14681] Forked 23101 -(23101) found -[14680] Forked 23102 -(23102) found -[14679] Forked 23103 -(23103) found -[14678] Forked 23104 -(23104) found -[14677] Forked 23105 -(23105) found -[14676] Forked 23106 -(23106) found -[14675] Forked 23107 -(23107) found -[14674] Forked 23108 -(23108) found -[14673] Forked 23109 -(23109) found -[14672] Forked 23110 -(23110) found -[14671] Forked 23111 -(23111) found -[14670] Forked 23112 -(23112) found -[14669] Forked 23113 -(23113) found -[14668] Forked 23114 -(23114) found -[14667] Forked 23115 -(23115) found -[14666] Forked 23116 -(23116) found -[14665] Forked 23117 -(23117) found -[14664] Forked 23118 -(23118) found -[14663] Forked 23119 -(23119) found -[14662] Forked 23120 -(23120) found -[14661] Forked 23121 -(23121) found -[14660] Forked 23122 -(23122) found -[14659] Forked 23123 -(23123) found -[14658] Forked 23124 -(23124) found -[14657] Forked 23125 -(23125) found -[14656] Forked 23126 -(23126) found -[14655] Forked 23127 -(23127) found -[14654] Forked 23128 -(23128) found -[14653] Forked 23129 -(23129) found -[14652] Forked 23130 -(23130) found -[14651] Forked 23131 -(23131) found -[14650] Forked 23132 -(23132) found -[14649] Forked 23133 -(23133) found -[14648] Forked 23134 -(23134) found -[14647] Forked 23135 -(23135) found -[14646] Forked 23136 -(23136) found -[14645] Forked 23137 -(23137) found -[14644] Forked 23138 -(23138) found -[14643] Forked 23139 -(23139) found -[14642] Forked 23140 -(23140) found -[14641] Forked 23141 -(23141) found -[14640] Forked 23142 -[14639] Forked 23143 -(23142) found -(23143) found -[14638] Forked 23144 -[14637] Forked 23145 -(23144) found -(23145) found -[14636] Forked 23146 -[14635] Forked 23147 -(23146) found -(23147) found -[14634] Forked 23148 -[14633] Forked 23149 -(23148) found -(23149) found -[14632] Forked 23150 -[14631] Forked 23151 -(23150) found -(23151) found -[14630] Forked 23152 -[14629] Forked 23153 -(23152) found -(23153) found -[14628] Forked 23154 -[14627] Forked 23155 -(23154) found -(23155) found -[14626] Forked 23156 -[14625] Forked 23157 -(23156) found -(23157) found -[14624] Forked 23158 -[14623] Forked 23159 -(23158) found -(23159) found -[14622] Forked 23160 -[14621] Forked 23161 -(23160) found -(23161) found -[14620] Forked 23162 -[14619] Forked 23163 -(23162) found -(23163) found -[14618] Forked 23164 -[14617] Forked 23165 -(23164) found -(23165) found -[14616] Forked 23166 -[14615] Forked 23167 -(23166) found -(23167) found -[14614] Forked 23168 -[14613] Forked 23169 -(23169) found -(23168) found -[14612] Forked 23170 -(23170) found -[14611] Forked 23171 -(23171) found -[14610] Forked 23172 -(23172) found -[14609] Forked 23173 -(23173) found -[14608] Forked 23174 -(23174) found -[14607] Forked 23175 -(23175) found -[14606] Forked 23176 -(23176) found -[14605] Forked 23177 -(23177) found -[14604] Forked 23178 -(23178) found -[14603] Forked 23179 -(23179) found -[14602] Forked 23180 -(23180) found -[14601] Forked 23181 -(23181) found -[14600] Forked 23182 -(23182) found -[14599] Forked 23183 -(23183) found -[14598] Forked 23184 -(23184) found -[14597] Forked 23185 -(23185) found -[14596] Forked 23186 -(23186) found -[14595] Forked 23187 -(23187) found -[14594] Forked 23188 -(23188) found -[14593] Forked 23189 -(23189) found -[14592] Forked 23190 -(23190) found -[14591] Forked 23191 -(23191) found -[14590] Forked 23192 -(23192) found -[14589] Forked 23193 -(23193) found -[14588] Forked 23194 -(23194) found -[14587] Forked 23195 -(23195) found -[14586] Forked 23196 -(23196) found -[14585] Forked 23197 -(23197) found -[14584] Forked 23198 -(23198) found -[14583] Forked 23199 -(23199) found -[14582] Forked 23200 -(23200) found -[14581] Forked 23201 -(23201) found -[14580] Forked 23202 -(23202) found -[14579] Forked 23203 -(23203) found -[14578] Forked 23204 -(23204) found -[14577] Forked 23205 -(23205) found -[14576] Forked 23206 -(23206) found -[14575] Forked 23207 -(23207) found -[14574] Forked 23208 -(23208) found -[14573] Forked 23209 -(23209) found -[14572] Forked 23210 -(23210) found -[14571] Forked 23211 -(23211) found -[14570] Forked 23212 -(23212) found -[14569] Forked 23213 -(23213) found -[14568] Forked 23214 -(23214) found -[14567] Forked 23215 -(23215) found -[14566] Forked 23216 -(23216) found -[14565] Forked 23217 -(23217) found -[14564] Forked 23218 -(23218) found -[14563] Forked 23219 -(23219) found -[14562] Forked 23220 -[14561] Forked 23221 -(23220) found -(23221) found -[14560] Forked 23222 -[14559] Forked 23223 -(23222) found -(23223) found -[14558] Forked 23224 -[14557] Forked 23225 -(23224) found -(23225) found -[14556] Forked 23226 -[14555] Forked 23227 -(23226) found -(23227) found -[14554] Forked 23228 -[14553] Forked 23229 -(23228) found -(23229) found -[14552] Forked 23230 -[14551] Forked 23231 -(23230) found -(23231) found -[14550] Forked 23232 -[14549] Forked 23233 -(23232) found -(23233) found -[14548] Forked 23234 -[14547] Forked 23235 -(23234) found -(23235) found -[14546] Forked 23236 -[14545] Forked 23237 -(23236) found -(23237) found -[14544] Forked 23238 -[14543] Forked 23239 -(23238) found -(23239) found -[14542] Forked 23240 -[14541] Forked 23241 -(23240) found -(23241) found -[14540] Forked 23242 -[14539] Forked 23243 -(23242) found -(23243) found -[14538] Forked 23244 -[14537] Forked 23245 -(23244) found -(23245) found -[14536] Forked 23246 -[14535] Forked 23247 -(23246) found -(23247) found -[14534] Forked 23248 -[14533] Forked 23249 -(23248) found -(23249) found -[14532] Forked 23250 -[14531] Forked 23251 -(23250) found -(23251) found -[14530] Forked 23252 -[14529] Forked 23253 -(23252) found -(23253) found -[14528] Forked 23254 -[14527] Forked 23255 -(23254) found -(23255) found -[14526] Forked 23256 -[14525] Forked 23257 -(23256) found -(23257) found -[14524] Forked 23258 -[14523] Forked 23259 -(23258) found -(23259) found -[14522] Forked 23260 -[14521] Forked 23261 -(23260) found -(23261) found -[14520] Forked 23262 -[14519] Forked 23263 -(23262) found -(23263) found -[14518] Forked 23264 -[14517] Forked 23265 -(23264) found -(23265) found -[14516] Forked 23266 -[14515] Forked 23267 -(23266) found -(23267) found -[14514] Forked 23268 -[14513] Forked 23269 -(23268) found -(23269) found -[14512] Forked 23270 -[14511] Forked 23271 -(23270) found -(23271) found -[14510] Forked 23272 -[14509] Forked 23273 -(23272) found -(23273) found -[14508] Forked 23274 -[14507] Forked 23275 -(23274) found -(23275) found -[14506] Forked 23276 -[14505] Forked 23277 -(23276) found -(23277) found -[14504] Forked 23278 -[14503] Forked 23279 -(23278) found -(23279) found -[14502] Forked 23280 -[14501] Forked 23281 -(23280) found -(23281) found -[14500] Forked 23282 -[14499] Forked 23283 -(23282) found -(23283) found -[14498] Forked 23284 -[14497] Forked 23285 -(23284) found -(23285) found -[14496] Forked 23286 -[14495] Forked 23287 -(23286) found -(23287) found -[14494] Forked 23288 -[14493] Forked 23289 -(23288) found -(23289) found -[14492] Forked 23290 -[14491] Forked 23291 -(23290) found -(23291) found -[14490] Forked 23292 -[14489] Forked 23293 -(23292) found -(23293) found -[14488] Forked 23294 -[14487] Forked 23295 -(23294) found -(23295) found -[14486] Forked 23296 -[14485] Forked 23297 -(23296) found -(23297) found -[14484] Forked 23298 -[14483] Forked 23299 -(23298) found -(23299) found -[14482] Forked 23300 -[14481] Forked 23301 -(23300) found -(23301) found -[14480] Forked 23302 -[14479] Forked 23303 -(23302) found -(23303) found -[14478] Forked 23304 -[14477] Forked 23305 -(23304) found -(23305) found -[14476] Forked 23306 -[14475] Forked 23307 -(23306) found -(23307) found -[14474] Forked 23308 -[14473] Forked 23309 -(23308) found -(23309) found -[14472] Forked 23310 -[14471] Forked 23311 -(23310) found -(23311) found -[14470] Forked 23312 -(23312) found -[14469] Forked 23313 -(23313) found -[14468] Forked 23314 -(23314) found -[14467] Forked 23315 -(23315) found -[14466] Forked 23316 -(23316) found -[14465] Forked 23317 -(23317) found -[14464] Forked 23318 -(23318) found -[14463] Forked 23319 -(23319) found -[14462] Forked 23320 -(23320) found -[14461] Forked 23321 -(23321) found -[14460] Forked 23322 -(23322) found -[14459] Forked 23323 -(23323) found -[14458] Forked 23324 -(23324) found -[14457] Forked 23325 -(23325) found -[14456] Forked 23326 -(23326) found -[14455] Forked 23327 -(23327) found -[14454] Forked 23328 -(23328) found -[14453] Forked 23329 -(23329) found -[14452] Forked 23330 -(23330) found -[14451] Forked 23331 -(23331) found -[14450] Forked 23332 -(23332) found -[14449] Forked 23333 -(23333) found -[14448] Forked 23334 -(23334) found -[14447] Forked 23335 -(23335) found -[14446] Forked 23336 -(23336) found -[14445] Forked 23337 -(23337) found -[14444] Forked 23338 -(23338) found -[14443] Forked 23339 -(23339) found -[14442] Forked 23340 -(23340) found -[14441] Forked 23341 -(23341) found -[14440] Forked 23342 -(23342) found -[14439] Forked 23343 -(23343) found -[14438] Forked 23344 -(23344) found -[14437] Forked 23345 -(23345) found -[14436] Forked 23346 -(23346) found -[14435] Forked 23347 -(23347) found -[14434] Forked 23348 -(23348) found -[14433] Forked 23349 -(23349) found -[14432] Forked 23350 -[14431] Forked 23351 -(23350) found -(23351) found -[14430] Forked 23352 -[14429] Forked 23353 -(23352) found -(23353) found -[14428] Forked 23354 -[14427] Forked 23355 -(23354) found -(23355) found -[14426] Forked 23356 -[14425] Forked 23357 -(23356) found -(23357) found -[14424] Forked 23358 -[14423] Forked 23359 -(23358) found -(23359) found -[14422] Forked 23360 -[14421] Forked 23361 -(23360) found -(23361) found -[14420] Forked 23362 -[14419] Forked 23363 -(23362) found -(23363) found -[14418] Forked 23364 -[14417] Forked 23365 -(23364) found -(23365) found -[14416] Forked 23366 -(23366) found -[14415] Forked 23367 -(23367) found -[14414] Forked 23368 -[14413] Forked 23369 -(23368) found -(23369) found -[14412] Forked 23370 -[14411] Forked 23371 -(23370) found -(23371) found -[14410] Forked 23372 -[14409] Forked 23373 -(23372) found -(23373) found -[14408] Forked 23374 -[14407] Forked 23375 -(23374) found -(23375) found -[14406] Forked 23376 -[14405] Forked 23377 -(23376) found -(23377) found -[14404] Forked 23378 -[14403] Forked 23379 -(23378) found -(23379) found -[14402] Forked 23380 -[14401] Forked 23381 -(23380) found -(23381) found -[14400] Forked 23382 -[14399] Forked 23383 -(23382) found -(23383) found -[14398] Forked 23384 -[14397] Forked 23385 -(23384) found -(23385) found -[14396] Forked 23386 -[14395] Forked 23387 -(23386) found -(23387) found -[14394] Forked 23388 -[14393] Forked 23389 -(23388) found -(23389) found -[14392] Forked 23390 -[14391] Forked 23391 -(23390) found -(23391) found -[14390] Forked 23392 -[14389] Forked 23393 -(23392) found -(23393) found -[14388] Forked 23394 -[14387] Forked 23395 -(23394) found -(23395) found -[14386] Forked 23396 -[14385] Forked 23397 -(23396) found -(23397) found -[14384] Forked 23398 -[14383] Forked 23399 -(23398) found -(23399) found -[14382] Forked 23400 -[14381] Forked 23401 -(23400) found -(23401) found -[14380] Forked 23402 -[14379] Forked 23403 -(23402) found -(23403) found -[14378] Forked 23404 -[14377] Forked 23405 -(23404) found -(23405) found -[14376] Forked 23406 -[14375] Forked 23407 -(23406) found -(23407) found -[14374] Forked 23408 -[14373] Forked 23409 -(23408) found -(23409) found -[14372] Forked 23410 -[14371] Forked 23411 -(23410) found -(23411) found -[14370] Forked 23412 -[14369] Forked 23413 -(23412) found -(23413) found -[14368] Forked 23414 -[14367] Forked 23415 -(23414) found -(23415) found -[14366] Forked 23416 -[14365] Forked 23417 -(23416) found -(23417) found -[14364] Forked 23418 -[14363] Forked 23419 -(23419) found -(23418) found -[14362] Forked 23420 -(23420) found -[14361] Forked 23421 -(23421) found -[14360] Forked 23422 -(23422) found -[14359] Forked 23423 -(23423) found -[14358] Forked 23424 -(23424) found -[14357] Forked 23425 -(23425) found -[14356] Forked 23426 -(23426) found -[14355] Forked 23427 -(23427) found -[14354] Forked 23428 -(23428) found -[14353] Forked 23429 -(23429) found -[14352] Forked 23430 -(23430) found -[14351] Forked 23431 -(23431) found -[14350] Forked 23432 -(23432) found -[14349] Forked 23433 -(23433) found -[14348] Forked 23434 -(23434) found -[14347] Forked 23435 -(23435) found -[14346] Forked 23436 -(23436) found -[14345] Forked 23437 -(23437) found -[14344] Forked 23438 -(23438) found -[14343] Forked 23439 -(23439) found -[14342] Forked 23440 -(23440) found -[14341] Forked 23441 -(23441) found -[14340] Forked 23442 -(23442) found -[14339] Forked 23443 -(23443) found -[14338] Forked 23444 -(23444) found -[14337] Forked 23445 -(23445) found -[14336] Forked 23446 -(23446) found -[14335] Forked 23447 -(23447) found -[14334] Forked 23448 -(23448) found -[14333] Forked 23449 -(23449) found -[14332] Forked 23450 -(23450) found -[14331] Forked 23451 -(23451) found -[14330] Forked 23452 -(23452) found -[14329] Forked 23453 -(23453) found -[14328] Forked 23454 -(23454) found -[14327] Forked 23455 -(23455) found -[14326] Forked 23456 -(23456) found -[14325] Forked 23457 -(23457) found -[14324] Forked 23458 -(23458) found -[14323] Forked 23459 -(23459) found -[14322] Forked 23460 -(23460) found -[14321] Forked 23461 -(23461) found -[14320] Forked 23462 -(23462) found -[14319] Forked 23463 -(23463) found -[14318] Forked 23464 -(23464) found -[14317] Forked 23465 -(23465) found -[14316] Forked 23466 -(23466) found -[14315] Forked 23467 -(23467) found -[14314] Forked 23468 -(23468) found -[14313] Forked 23469 -[14312] Forked 23470 -(23469) found -(23470) found -[14311] Forked 23471 -[14310] Forked 23472 -(23471) found -(23472) found -[14309] Forked 23473 -[14308] Forked 23474 -(23473) found -(23474) found -[14307] Forked 23475 -[14306] Forked 23476 -(23475) found -(23476) found -[14305] Forked 23477 -[14304] Forked 23478 -(23477) found -(23478) found -[14303] Forked 23479 -[14302] Forked 23480 -(23479) found -(23480) found -[14301] Forked 23481 -[14300] Forked 23482 -(23481) found -(23482) found -[14299] Forked 23483 -[14298] Forked 23484 -(23483) found -(23484) found -[14297] Forked 23485 -[14296] Forked 23486 -(23485) found -(23486) found -[14295] Forked 23487 -[14294] Forked 23488 -(23487) found -(23488) found -[14293] Forked 23489 -[14292] Forked 23490 -(23489) found -(23490) found -[14291] Forked 23491 -[14290] Forked 23492 -(23491) found -(23492) found -[14289] Forked 23493 -[14288] Forked 23494 -(23493) found -(23494) found -[14287] Forked 23495 -[14286] Forked 23496 -(23495) found -(23496) found -[14285] Forked 23497 -[14284] Forked 23498 -(23497) found -(23498) found -[14283] Forked 23499 -[14282] Forked 23500 -(23499) found -(23500) found -[14281] Forked 23501 -[14280] Forked 23502 -(23501) found -(23502) found -[14279] Forked 23503 -[14278] Forked 23504 -(23503) found -(23504) found -[14277] Forked 23505 -[14276] Forked 23506 -(23505) found -(23506) found -[14275] Forked 23507 -[14274] Forked 23508 -(23507) found -(23508) found -[14273] Forked 23509 -[14272] Forked 23510 -(23509) found -(23510) found -[14271] Forked 23511 -[14270] Forked 23512 -(23511) found -(23512) found -[14269] Forked 23513 -[14268] Forked 23514 -(23513) found -(23514) found -[14267] Forked 23515 -[14266] Forked 23516 -(23516) found -(23515) found -[14265] Forked 23517 -(23517) found -[14264] Forked 23518 -(23518) found -[14263] Forked 23519 -(23519) found -[14262] Forked 23520 -(23520) found -[14261] Forked 23521 -(23521) found -[14260] Forked 23522 -(23522) found -[14259] Forked 23523 -(23523) found -[14258] Forked 23524 -(23524) found -[14257] Forked 23525 -(23525) found -[14256] Forked 23526 -(23526) found -[14255] Forked 23527 -(23527) found -[14254] Forked 23528 -(23528) found -[14253] Forked 23529 -(23529) found -[14252] Forked 23530 -(23530) found -[14251] Forked 23531 -(23531) found -[14250] Forked 23532 -(23532) found -[14249] Forked 23533 -(23533) found -[14248] Forked 23534 -(23534) found -[14247] Forked 23535 -(23535) found -[14246] Forked 23536 -(23536) found -[14245] Forked 23537 -(23537) found -[14244] Forked 23538 -(23538) found -[14243] Forked 23539 -(23539) found -[14242] Forked 23540 -(23540) found -[14241] Forked 23541 -(23541) found -[14240] Forked 23542 -(23542) found -[14239] Forked 23543 -(23543) found -[14238] Forked 23544 -(23544) found -[14237] Forked 23545 -(23545) found -[14236] Forked 23546 -(23546) found -[14235] Forked 23547 -(23547) found -[14234] Forked 23548 -(23548) found -[14233] Forked 23549 -(23549) found -[14232] Forked 23550 -(23550) found -[14231] Forked 23551 -(23551) found -[14230] Forked 23552 -(23552) found -[14229] Forked 23553 -(23553) found -[14228] Forked 23554 -(23554) found -[14227] Forked 23555 -(23555) found -[14226] Forked 23556 -(23556) found -[14225] Forked 23557 -(23557) found -[14224] Forked 23558 -(23558) found -[14223] Forked 23559 -(23559) found -[14222] Forked 23560 -(23560) found -[14221] Forked 23561 -(23561) found -[14220] Forked 23562 -(23562) found -[14219] Forked 23563 -(23563) found -[14218] Forked 23564 -(23564) found -[14217] Forked 23565 -(23565) found -[14216] Forked 23566 -(23566) found -[14215] Forked 23567 -(23567) found -[14214] Forked 23568 -(23568) found -[14213] Forked 23569 -(23569) found -[14212] Forked 23570 -(23570) found -[14211] Forked 23571 -(23571) found -[14210] Forked 23572 -(23572) found -[14209] Forked 23573 -(23573) found -[14208] Forked 23574 -(23574) found -[14207] Forked 23575 -(23575) found -[14206] Forked 23576 -(23576) found -[14205] Forked 23577 -(23577) found -[14204] Forked 23578 -(23578) found -[14203] Forked 23579 -(23579) found -[14202] Forked 23580 -(23580) found -[14201] Forked 23581 -(23581) found -[14200] Forked 23582 -(23582) found -[14199] Forked 23583 -(23583) found -[14198] Forked 23584 -(23584) found -[14197] Forked 23585 -[14196] Forked 23586 -(23585) found -(23586) found -[14195] Forked 23587 -[14194] Forked 23588 -(23587) found -(23588) found -[14193] Forked 23589 -[14192] Forked 23590 -(23589) found -(23590) found -[14191] Forked 23591 -[14190] Forked 23592 -(23591) found -(23592) found -[14189] Forked 23593 -[14188] Forked 23594 -(23593) found -(23594) found -[14187] Forked 23595 -[14186] Forked 23596 -(23595) found -(23596) found -[14185] Forked 23597 -[14184] Forked 23598 -(23597) found -(23598) found -[14183] Forked 23599 -[14182] Forked 23600 -(23599) found -(23600) found -[14181] Forked 23601 -[14180] Forked 23602 -(23601) found -(23602) found -[14179] Forked 23603 -[14178] Forked 23604 -(23603) found -(23604) found -[14177] Forked 23605 -[14176] Forked 23606 -(23605) found -(23606) found -[14175] Forked 23607 -[14174] Forked 23608 -(23607) found -(23608) found -[14173] Forked 23609 -[14172] Forked 23610 -(23609) found -(23610) found -[14171] Forked 23611 -[14170] Forked 23612 -(23611) found -(23612) found -[14169] Forked 23613 -[14168] Forked 23614 -(23613) found -(23614) found -[14167] Forked 23615 -[14166] Forked 23616 -(23615) found -(23616) found -[14165] Forked 23617 -[14164] Forked 23618 -(23617) found -(23618) found -[14163] Forked 23619 -[14162] Forked 23620 -(23619) found -(23620) found -[14161] Forked 23621 -[14160] Forked 23622 -(23621) found -(23622) found -[14159] Forked 23623 -[14158] Forked 23624 -(23623) found -(23624) found -[14157] Forked 23625 -[14156] Forked 23626 -(23625) found -(23626) found -[14155] Forked 23627 -[14154] Forked 23628 -(23627) found -(23628) found -[14153] Forked 23629 -[14152] Forked 23630 -(23629) found -(23630) found -[14151] Forked 23631 -[14150] Forked 23632 -(23631) found -(23632) found -[14149] Forked 23633 -[14148] Forked 23634 -(23633) found -(23634) found -[14147] Forked 23635 -[14146] Forked 23636 -(23635) found -(23636) found -[14145] Forked 23637 -[14144] Forked 23638 -(23637) found -(23638) found -[14143] Forked 23639 -[14142] Forked 23640 -(23639) found -(23640) found -[14141] Forked 23641 -[14140] Forked 23642 -(23641) found -(23642) found -[14139] Forked 23643 -[14138] Forked 23644 -(23643) found -(23644) found -[14137] Forked 23645 -[14136] Forked 23646 -(23645) found -(23646) found -[14135] Forked 23647 -[14134] Forked 23648 -(23647) found -(23648) found -[14133] Forked 23649 -[14132] Forked 23650 -(23649) found -(23650) found -[14131] Forked 23651 -[14130] Forked 23652 -(23651) found -(23652) found -[14129] Forked 23653 -[14128] Forked 23654 -(23653) found -(23654) found -[14127] Forked 23655 -[14126] Forked 23656 -(23655) found -(23656) found -[14125] Forked 23657 -[14124] Forked 23658 -(23657) found -(23658) found -[14123] Forked 23659 -[14122] Forked 23660 -(23659) found -(23660) found -[14121] Forked 23661 -[14120] Forked 23662 -(23661) found -(23662) found -[14119] Forked 23663 -[14118] Forked 23664 -(23663) found -(23664) found -[14117] Forked 23665 -[14116] Forked 23666 -(23665) found -(23666) found -[14115] Forked 23667 -[14114] Forked 23668 -(23667) found -(23668) found -[14113] Forked 23669 -[14112] Forked 23670 -(23669) found -(23670) found -[14111] Forked 23671 -[14110] Forked 23672 -(23671) found -(23672) found -[14109] Forked 23673 -[14108] Forked 23674 -(23673) found -(23674) found -[14107] Forked 23675 -[14106] Forked 23676 -(23675) found -(23676) found -[14105] Forked 23677 -[14104] Forked 23678 -(23677) found -(23678) found -[14103] Forked 23679 -[14102] Forked 23680 -(23679) found -(23680) found -[14101] Forked 23681 -[14100] Forked 23682 -(23681) found -(23682) found -[14099] Forked 23683 -[14098] Forked 23684 -(23683) found -(23684) found -[14097] Forked 23685 -[14096] Forked 23686 -(23685) found -(23686) found -[14095] Forked 23687 -[14094] Forked 23688 -(23687) found -(23688) found -[14093] Forked 23689 -[14092] Forked 23690 -(23689) found -(23690) found -[14091] Forked 23691 -[14090] Forked 23692 -(23691) found -(23692) found -[14089] Forked 23693 -[14088] Forked 23694 -(23693) found -(23694) found -[14087] Forked 23695 -[14086] Forked 23696 -(23695) found -(23696) found -[14085] Forked 23697 -[14084] Forked 23698 -(23697) found -(23698) found -[14083] Forked 23699 -[14082] Forked 23700 -(23699) found -(23700) found -[14081] Forked 23701 -[14080] Forked 23702 -(23701) found -(23702) found -[14079] Forked 23703 -[14078] Forked 23704 -(23703) found -(23704) found -[14077] Forked 23705 -[14076] Forked 23706 -(23705) found -(23706) found -[14075] Forked 23707 -[14074] Forked 23708 -(23707) found -(23708) found -[14073] Forked 23709 -[14072] Forked 23710 -(23709) found -(23710) found -[14071] Forked 23711 -[14070] Forked 23712 -(23711) found -(23712) found -[14069] Forked 23713 -[14068] Forked 23714 -(23713) found -(23714) found -[14067] Forked 23715 -[14066] Forked 23716 -(23715) found -(23716) found -[14065] Forked 23717 -[14064] Forked 23718 -(23717) found -(23718) found -[14063] Forked 23719 -(23719) found -[14062] Forked 23720 -(23720) found -[14061] Forked 23721 -(23721) found -[14060] Forked 23722 -(23722) found -[14059] Forked 23723 -(23723) found -[14058] Forked 23724 -(23724) found -[14057] Forked 23725 -(23725) found -[14056] Forked 23726 -(23726) found -[14055] Forked 23727 -(23727) found -[14054] Forked 23728 -(23728) found -[14053] Forked 23729 -(23729) found -[14052] Forked 23730 -(23730) found -[14051] Forked 23731 -(23731) found -[14050] Forked 23732 -(23732) found -[14049] Forked 23733 -(23733) found -[14048] Forked 23734 -(23734) found -[14047] Forked 23735 -(23735) found -[14046] Forked 23736 -(23736) found -[14045] Forked 23737 -(23737) found -[14044] Forked 23738 -(23738) found -[14043] Forked 23739 -(23739) found -[14042] Forked 23740 -(23740) found -[14041] Forked 23741 -(23741) found -[14040] Forked 23742 -(23742) found -[14039] Forked 23743 -(23743) found -[14038] Forked 23744 -(23744) found -[14037] Forked 23745 -(23745) found -[14036] Forked 23746 -(23746) found -[14035] Forked 23747 -(23747) found -[14034] Forked 23748 -(23748) found -[14033] Forked 23749 -(23749) found -[14032] Forked 23750 -(23750) found -[14031] Forked 23751 -(23751) found -[14030] Forked 23752 -(23752) found -[14029] Forked 23753 -(23753) found -[14028] Forked 23754 -(23754) found -[14027] Forked 23755 -(23755) found -[14026] Forked 23756 -(23756) found -[14025] Forked 23757 -[14024] Forked 23758 -(23757) found -(23758) found -[14023] Forked 23759 -[14022] Forked 23760 -(23759) found -(23760) found -[14021] Forked 23761 -[14020] Forked 23762 -(23761) found -(23762) found -[14019] Forked 23763 -[14018] Forked 23764 -(23763) found -(23764) found -[14017] Forked 23765 -[14016] Forked 23766 -(23765) found -(23766) found -[14015] Forked 23767 -[14014] Forked 23768 -(23767) found -(23768) found -[14013] Forked 23769 -[14012] Forked 23770 -(23769) found -(23770) found -[14011] Forked 23771 -[14010] Forked 23772 -(23771) found -(23772) found -[14009] Forked 23773 -[14008] Forked 23774 -(23773) found -(23774) found -[14007] Forked 23775 -[14006] Forked 23776 -(23775) found -(23776) found -[14005] Forked 23777 -[14004] Forked 23778 -(23777) found -(23778) found -[14003] Forked 23779 -[14002] Forked 23780 -(23779) found -(23780) found -[14001] Forked 23781 -[14000] Forked 23782 -(23781) found -(23782) found -[13999] Forked 23783 -[13998] Forked 23784 -(23783) found -(23784) found -[13997] Forked 23785 -[13996] Forked 23786 -(23785) found -(23786) found -[13995] Forked 23787 -[13994] Forked 23788 -(23787) found -(23788) found -[13993] Forked 23789 -[13992] Forked 23790 -(23789) found -(23790) found -[13991] Forked 23791 -[13990] Forked 23792 -(23791) found -(23792) found -[13989] Forked 23793 -[13988] Forked 23794 -(23793) found -(23794) found -[13987] Forked 23795 -[13986] Forked 23796 -(23795) found -(23796) found -[13985] Forked 23797 -[13984] Forked 23798 -(23797) found -(23798) found -[13983] Forked 23799 -[13982] Forked 23800 -(23799) found -(23800) found -[13981] Forked 23801 -[13980] Forked 23802 -(23801) found -(23802) found -[13979] Forked 23803 -[13978] Forked 23804 -(23803) found -(23804) found -[13977] Forked 23805 -[13976] Forked 23806 -(23805) found -(23806) found -[13975] Forked 23807 -[13974] Forked 23808 -(23807) found -(23808) found -[13973] Forked 23809 -[13972] Forked 23810 -(23809) found -(23810) found -[13971] Forked 23811 -[13970] Forked 23812 -(23811) found -(23812) found -[13969] Forked 23813 -[13968] Forked 23814 -(23813) found -(23814) found -[13967] Forked 23815 -[13966] Forked 23816 -(23815) found -(23816) found -[13965] Forked 23817 -[13964] Forked 23818 -(23817) found -(23818) found -[13963] Forked 23819 -[13962] Forked 23820 -(23819) found -(23820) found -[13961] Forked 23821 -[13960] Forked 23822 -(23821) found -(23822) found -[13959] Forked 23823 -[13958] Forked 23824 -(23823) found -(23824) found -[13957] Forked 23825 -[13956] Forked 23826 -(23825) found -(23826) found -[13955] Forked 23827 -[13954] Forked 23828 -(23827) found -(23828) found -[13953] Forked 23829 -[13952] Forked 23830 -(23829) found -(23830) found -[13951] Forked 23831 -[13950] Forked 23832 -(23831) found -(23832) found -[13949] Forked 23833 -[13948] Forked 23834 -(23833) found -(23834) found -[13947] Forked 23835 -[13946] Forked 23836 -(23835) found -(23836) found -[13945] Forked 23837 -[13944] Forked 23838 -(23837) found -(23838) found -[13943] Forked 23839 -[13942] Forked 23840 -(23839) found -(23840) found -[13941] Forked 23841 -[13940] Forked 23842 -(23841) found -(23842) found -[13939] Forked 23843 -[13938] Forked 23844 -(23843) found -(23844) found -[13937] Forked 23845 -[13936] Forked 23847 -(23845) found -(23847) found -[13935] Forked 23848 -(23848) found -[13934] Forked 23849 -(23849) found -[13933] Forked 23850 -(23850) found -[13932] Forked 23851 -(23851) found -[13931] Forked 23852 -(23852) found -[13930] Forked 23853 -(23853) found -[13929] Forked 23854 -(23854) found -[13928] Forked 23855 -(23855) found -[13927] Forked 23856 -(23856) found -[13926] Forked 23857 -(23857) found -[13925] Forked 23858 -(23858) found -[13924] Forked 23859 -(23859) found -[13923] Forked 23860 -(23860) found -[13922] Forked 23861 -(23861) found -[13921] Forked 23862 -(23862) found -[13920] Forked 23863 -(23863) found -[13919] Forked 23864 -(23864) found -[13918] Forked 23865 -(23865) found -[13917] Forked 23866 -(23866) found -[13916] Forked 23867 -(23867) found -[13915] Forked 23868 -(23868) found -[13914] Forked 23869 -(23869) found -[13913] Forked 23870 -(23870) found -[13912] Forked 23871 -(23871) found -[13911] Forked 23872 -(23872) found -[13910] Forked 23873 -(23873) found -[13909] Forked 23874 -(23874) found -[13908] Forked 23875 -(23875) found -[13907] Forked 23876 -(23876) found -[13906] Forked 23877 -(23877) found -[13905] Forked 23878 -(23878) found -[13904] Forked 23879 -(23879) found -[13903] Forked 23880 -(23880) found -[13902] Forked 23881 -(23881) found -[13901] Forked 23882 -(23882) found -[13900] Forked 23883 -(23883) found -[13899] Forked 23884 -(23884) found -[13898] Forked 23885 -(23885) found -[13897] Forked 23886 -(23886) found -[13896] Forked 23887 -(23887) found -[13895] Forked 23888 -(23888) found -[13894] Forked 23889 -(23889) found -[13893] Forked 23890 -(23890) found -[13892] Forked 23891 -(23891) found -[13891] Forked 23892 -(23892) found -[13890] Forked 23893 -(23893) found -[13889] Forked 23894 -(23894) found -[13888] Forked 23895 -(23895) found -[13887] Forked 23896 -(23896) found -[13886] Forked 23897 -(23897) found -[13885] Forked 23898 -(23898) found -[13884] Forked 23899 -(23899) found -[13883] Forked 23900 -(23900) found -[13882] Forked 23901 -(23901) found -[13881] Forked 23902 -(23902) found -[13880] Forked 23903 -(23903) found -[13879] Forked 23904 -(23904) found -[13878] Forked 23905 -(23905) found -[13877] Forked 23906 -(23906) found -[13876] Forked 23907 -(23907) found -[13875] Forked 23908 -(23908) found -[13874] Forked 23909 -(23909) found -[13873] Forked 23910 -(23910) found -[13872] Forked 23911 -(23911) found -[13871] Forked 23912 -(23912) found -[13870] Forked 23913 -(23913) found -[13869] Forked 23914 -(23914) found -[13868] Forked 23915 -(23915) found -[13867] Forked 23916 -(23916) found -[13866] Forked 23917 -(23917) found -[13865] Forked 23918 -[13864] Forked 23919 -(23918) found -(23919) found -[13863] Forked 23920 -[13862] Forked 23921 -(23920) found -(23921) found -[13861] Forked 23922 -[13860] Forked 23923 -(23922) found -(23923) found -[13859] Forked 23924 -(23924) found -[13858] Forked 23925 -[13857] Forked 23926 -(23926) found -(23925) found -[13856] Forked 23927 -(23927) found -[13855] Forked 23928 -(23928) found -[13854] Forked 23929 -(23929) found -[13853] Forked 23930 -(23930) found -[13852] Forked 23931 -(23931) found -[13851] Forked 23932 -(23932) found -[13850] Forked 23933 -(23933) found -[13849] Forked 23934 -(23934) found -[13848] Forked 23935 -(23935) found -[13847] Forked 23936 -(23936) found -[13846] Forked 23937 -(23937) found -[13845] Forked 23938 -(23938) found -[13844] Forked 23939 -(23939) found -[13843] Forked 23940 -(23940) found -[13842] Forked 23941 -(23941) found -[13841] Forked 23942 -(23942) found -[13840] Forked 23943 -[13839] Forked 23944 -(23943) found -(23944) found -[13838] Forked 23945 -[13837] Forked 23946 -(23946) found -(23945) found -[13836] Forked 23947 -(23947) found -[13835] Forked 23948 -(23948) found -[13834] Forked 23949 -(23949) found -[13833] Forked 23950 -(23950) found -[13832] Forked 23951 -(23951) found -[13831] Forked 23952 -(23952) found -[13830] Forked 23953 -(23953) found -[13829] Forked 23954 -(23954) found -[13828] Forked 23955 -(23955) found -[13827] Forked 23956 -(23956) found -[13826] Forked 23957 -(23957) found -[13825] Forked 23958 -(23958) found -[13824] Forked 23959 -(23959) found -[13823] Forked 23960 -(23960) found -[13822] Forked 23961 -(23961) found -[13821] Forked 23962 -(23962) found -[13820] Forked 23963 -(23963) found -[13819] Forked 23964 -(23964) found -[13818] Forked 23965 -(23965) found -[13817] Forked 23966 -(23966) found -[13816] Forked 23967 -(23967) found -[13815] Forked 23968 -(23968) found -[13814] Forked 23969 -(23969) found -[13813] Forked 23970 -(23970) found -[13812] Forked 23971 -(23971) found -[13811] Forked 23972 -(23972) found -[13810] Forked 23973 -(23973) found -[13809] Forked 23974 -(23974) found -[13808] Forked 23975 -(23975) found -[13807] Forked 23976 -(23976) found -[13806] Forked 23977 -(23977) found -[13805] Forked 23978 -(23978) found -[13804] Forked 23979 -(23979) found -[13803] Forked 23980 -(23980) found -[13802] Forked 23981 -(23981) found -[13801] Forked 23982 -(23982) found -[13800] Forked 23983 -(23983) found -[13799] Forked 23984 -(23984) found -[13798] Forked 23985 -[13797] Forked 23986 -(23985) found -(23986) found -[13796] Forked 23987 -[13795] Forked 23988 -(23987) found -(23988) found -[13794] Forked 23989 -[13793] Forked 23990 -(23989) found -(23990) found -[13792] Forked 23991 -[13791] Forked 23992 -(23991) found -(23992) found -[13790] Forked 23993 -[13789] Forked 23994 -(23993) found -(23994) found -[13788] Forked 23995 -[13787] Forked 23996 -(23995) found -(23996) found -[13786] Forked 23997 -[13785] Forked 23998 -(23997) found -(23998) found -[13784] Forked 23999 -[13783] Forked 24000 -(23999) found -(24000) found -[13782] Forked 24001 -[13781] Forked 24002 -(24001) found -(24002) found -[13780] Forked 24003 -[13779] Forked 24004 -(24004) found -(24003) found -[13778] Forked 24005 -(24005) found -[13777] Forked 24006 -(24006) found -[13776] Forked 24007 -(24007) found -[13775] Forked 24008 -(24008) found -[13774] Forked 24009 -(24009) found -[13773] Forked 24010 -(24010) found -[13772] Forked 24011 -(24011) found -[13771] Forked 24012 -(24012) found -[13770] Forked 24013 -(24013) found -[13769] Forked 24014 -(24014) found -[13768] Forked 24015 -(24015) found -[13767] Forked 24016 -(24016) found -[13766] Forked 24017 -(24017) found -[13765] Forked 24018 -(24018) found -[13764] Forked 24019 -[13763] Forked 24020 -(24019) found -(24020) found -[13762] Forked 24021 -[13761] Forked 24022 -(24021) found -(24022) found -[13760] Forked 24023 -[13759] Forked 24024 -(24023) found -(24024) found -[13758] Forked 24025 -[13757] Forked 24026 -(24025) found -(24026) found -[13756] Forked 24027 -[13755] Forked 24028 -(24027) found -(24028) found -[13754] Forked 24029 -[13753] Forked 24030 -(24029) found -(24030) found -[13752] Forked 24031 -[13751] Forked 24032 -(24031) found -(24032) found -[13750] Forked 24033 -[13749] Forked 24034 -(24033) found -(24034) found -[13748] Forked 24035 -[13747] Forked 24036 -(24035) found -(24036) found -[13746] Forked 24037 -[13745] Forked 24038 -(24037) found -(24038) found -[13744] Forked 24039 -[13743] Forked 24040 -(24039) found -(24040) found -[13742] Forked 24041 -[13741] Forked 24042 -(24041) found -(24042) found -[13740] Forked 24043 -[13739] Forked 24044 -(24043) found -(24044) found -[13738] Forked 24045 -(24045) found -[13737] Forked 24046 -[13736] Forked 24048 -(24046) found -(24048) found -[13735] Forked 24049 -(24049) found -[13734] Forked 24050 -(24050) found -[13733] Forked 24051 -(24051) found -[13732] Forked 24052 -(24052) found -[13731] Forked 24053 -(24053) found -[13730] Forked 24054 -(24054) found -[13729] Forked 24055 -(24055) found -[13728] Forked 24056 -(24056) found -[13727] Forked 24057 -(24057) found -[13726] Forked 24058 -(24058) found -[13725] Forked 24059 -(24059) found -[13724] Forked 24060 -(24060) found -[13723] Forked 24061 -(24061) found -[13722] Forked 24062 -(24062) found -[13721] Forked 24063 -(24063) found -[13720] Forked 24064 -(24064) found -[13719] Forked 24065 -(24065) found -[13718] Forked 24066 -(24066) found -[13717] Forked 24067 -(24067) found -[13716] Forked 24068 -(24068) found -[13715] Forked 24069 -(24069) found -[13714] Forked 24070 -(24070) found -[13713] Forked 24071 -(24071) found -[13712] Forked 24072 -(24072) found -[13711] Forked 24073 -(24073) found -[13710] Forked 24074 -(24074) found -[13709] Forked 24075 -(24075) found -[13708] Forked 24076 -(24076) found -[13707] Forked 24077 -(24077) found -[13706] Forked 24078 -(24078) found -[13705] Forked 24079 -(24079) found -[13704] Forked 24080 -(24080) found -[13703] Forked 24081 -(24081) found -[13702] Forked 24082 -(24082) found -[13701] Forked 24083 -(24083) found -[13700] Forked 24084 -(24084) found -[13699] Forked 24085 -(24085) found -[13698] Forked 24086 -(24086) found -[13697] Forked 24087 -(24087) found -[13696] Forked 24088 -(24088) found -[13695] Forked 24089 -(24089) found -[13694] Forked 24090 -(24090) found -[13693] Forked 24091 -(24091) found -[13692] Forked 24092 -(24092) found -[13691] Forked 24093 -(24093) found -[13690] Forked 24094 -(24094) found -[13689] Forked 24095 -(24095) found -[13688] Forked 24096 -(24096) found -[13687] Forked 24097 -(24097) found -[13686] Forked 24098 -(24098) found -[13685] Forked 24099 -(24099) found -[13684] Forked 24100 -(24100) found -[13683] Forked 24101 -(24101) found -[13682] Forked 24102 -(24102) found -[13681] Forked 24103 -(24103) found -[13680] Forked 24104 -(24104) found -[13679] Forked 24105 -(24105) found -[13678] Forked 24106 -(24106) found -[13677] Forked 24107 -(24107) found -[13676] Forked 24108 -(24108) found -[13675] Forked 24109 -(24109) found -[13674] Forked 24110 -(24110) found -[13673] Forked 24111 -(24111) found -[13672] Forked 24112 -(24112) found -[13671] Forked 24113 -(24113) found -[13670] Forked 24114 -(24114) found -[13669] Forked 24115 -(24115) found -[13668] Forked 24116 -(24116) found -[13667] Forked 24117 -(24117) found -[13666] Forked 24118 -(24118) found -[13665] Forked 24119 -(24119) found -[13664] Forked 24120 -(24120) found -[13663] Forked 24121 -(24121) found -[13662] Forked 24122 -(24122) found -[13661] Forked 24123 -(24123) found -[13660] Forked 24124 -(24124) found -[13659] Forked 24125 -(24125) found -[13658] Forked 24126 -[13657] Forked 24127 -(24126) found -(24127) found -[13656] Forked 24128 -[13655] Forked 24129 -(24128) found -(24129) found -[13654] Forked 24130 -[13653] Forked 24131 -(24130) found -(24131) found -[13652] Forked 24132 -[13651] Forked 24133 -(24132) found -(24133) found -[13650] Forked 24134 -[13649] Forked 24135 -(24135) found -(24134) found -[13648] Forked 24136 -(24136) found -[13647] Forked 24137 -(24137) found -[13646] Forked 24139 -(24139) found -[13645] Forked 24140 -(24140) found -[13644] Forked 24141 -(24141) found -[13643] Forked 24142 -(24142) found -[13642] Forked 24143 -(24143) found -[13641] Forked 24144 -(24144) found -[13640] Forked 24145 -(24145) found -[13639] Forked 24146 -(24146) found -[13638] Forked 24147 -(24147) found -[13637] Forked 24148 -(24148) found -[13636] Forked 24149 -(24149) found -[13635] Forked 24150 -(24150) found -[13634] Forked 24151 -(24151) found -[13633] Forked 24152 -(24152) found -[13632] Forked 24153 -(24153) found -[13631] Forked 24154 -[13630] Forked 24155 -(24154) found -(24155) found -[13629] Forked 24156 -[13628] Forked 24157 -(24156) found -(24157) found -[13627] Forked 24158 -[13626] Forked 24159 -(24158) found -(24159) found -[13625] Forked 24160 -[13624] Forked 24161 -(24160) found -(24161) found -[13623] Forked 24162 -[13622] Forked 24163 -(24162) found -(24163) found -[13621] Forked 24164 -(24164) found -[13620] Forked 24165 -(24165) found -[13619] Forked 24166 -(24166) found -[13618] Forked 24167 -(24167) found -[13617] Forked 24168 -(24168) found -[13616] Forked 24169 -(24169) found -[13615] Forked 24170 -(24170) found -[13614] Forked 24171 -(24171) found -[13613] Forked 24172 -(24172) found -[13612] Forked 24173 -(24173) found -[13611] Forked 24174 -(24174) found -[13610] Forked 24175 -(24175) found -[13609] Forked 24176 -(24176) found -[13608] Forked 24177 -(24177) found -[13607] Forked 24178 -(24178) found -[13606] Forked 24179 -(24179) found -[13605] Forked 24180 -(24180) found -[13604] Forked 24181 -(24181) found -[13603] Forked 24182 -(24182) found -[13602] Forked 24183 -(24183) found -[13601] Forked 24184 -(24184) found -[13600] Forked 24185 -(24185) found -[13599] Forked 24186 -(24186) found -[13598] Forked 24187 -(24187) found -[13597] Forked 24188 -(24188) found -[13596] Forked 24189 -(24189) found -[13595] Forked 24190 -(24190) found -[13594] Forked 24191 -(24191) found -[13593] Forked 24192 -(24192) found -[13592] Forked 24193 -(24193) found -[13591] Forked 24194 -(24194) found -[13590] Forked 24195 -(24195) found -[13589] Forked 24196 -(24196) found -[13588] Forked 24197 -(24197) found -[13587] Forked 24198 -(24198) found -[13586] Forked 24199 -(24199) found -[13585] Forked 24200 -[13584] Forked 24201 -(24200) found -(24201) found -[13583] Forked 24202 -[13582] Forked 24203 -(24202) found -(24203) found -[13581] Forked 24204 -[13580] Forked 24205 -(24204) found -(24205) found -[13579] Forked 24206 -[13578] Forked 24207 -(24206) found -(24207) found -[13577] Forked 24208 -[13576] Forked 24209 -(24208) found -(24209) found -[13575] Forked 24210 -[13574] Forked 24211 -(24210) found -(24211) found -[13573] Forked 24212 -[13572] Forked 24213 -(24212) found -(24213) found -[13571] Forked 24214 -[13570] Forked 24215 -(24214) found -(24215) found -[13569] Forked 24216 -[13568] Forked 24217 -(24216) found -(24217) found -[13567] Forked 24218 -[13566] Forked 24219 -(24218) found -(24219) found -[13565] Forked 24220 -[13564] Forked 24221 -(24220) found -(24221) found -[13563] Forked 24222 -[13562] Forked 24224 -(24222) found -(24224) found -[13561] Forked 24225 -(24225) found -[13560] Forked 24226 -(24226) found -[13559] Forked 24227 -(24227) found -[13558] Forked 24228 -(24228) found -[13557] Forked 24229 -(24229) found -[13556] Forked 24230 -(24230) found -[13555] Forked 24231 -(24231) found -[13554] Forked 24232 -(24232) found -[13553] Forked 24233 -(24233) found -[13552] Forked 24234 -(24234) found -[13551] Forked 24235 -(24235) found -[13550] Forked 24236 -(24236) found -[13549] Forked 24237 -(24237) found -[13548] Forked 24238 -(24238) found -[13547] Forked 24239 -(24239) found -[13546] Forked 24240 -(24240) found -[13545] Forked 24241 -(24241) found -[13544] Forked 24242 -(24242) found -[13543] Forked 24243 -(24243) found -[13542] Forked 24244 -(24244) found -[13541] Forked 24245 -(24245) found -[13540] Forked 24246 -(24246) found -[13539] Forked 24247 -(24247) found -[13538] Forked 24248 -(24248) found -[13537] Forked 24249 -(24249) found -[13536] Forked 24250 -(24250) found -[13535] Forked 24251 -(24251) found -[13534] Forked 24252 -(24252) found -[13533] Forked 24253 -(24253) found -[13532] Forked 24254 -(24254) found -[13531] Forked 24255 -(24255) found -[13530] Forked 24256 -(24256) found -[13529] Forked 24257 -(24257) found -[13528] Forked 24258 -(24258) found -[13527] Forked 24259 -(24259) found -[13526] Forked 24260 -(24260) found -[13525] Forked 24261 -(24261) found -[13524] Forked 24262 -(24262) found -[13523] Forked 24263 -(24263) found -[13522] Forked 24264 -(24264) found -[13521] Forked 24265 -(24265) found -[13520] Forked 24266 -(24266) found -[13519] Forked 24267 -(24267) found -[13518] Forked 24268 -(24268) found -[13517] Forked 24269 -(24269) found -[13516] Forked 24270 -(24270) found -[13515] Forked 24271 -(24271) found -[13514] Forked 24272 -(24272) found -[13513] Forked 24273 -(24273) found -[13512] Forked 24274 -(24274) found -[13511] Forked 24275 -(24275) found -[13510] Forked 24276 -[13509] Forked 24277 -(24276) found -(24277) found -[13508] Forked 24278 -[13507] Forked 24279 -(24278) found -(24279) found -[13506] Forked 24280 -[13505] Forked 24281 -(24280) found -(24281) found -[13504] Forked 24282 -[13503] Forked 24283 -(24282) found -(24283) found -[13502] Forked 24284 -[13501] Forked 24285 -(24284) found -(24285) found -[13500] Forked 24286 -[13499] Forked 24287 -(24286) found -(24287) found -[13498] Forked 24288 -[13497] Forked 24289 -(24288) found -(24289) found -[13496] Forked 24290 -[13495] Forked 24291 -(24290) found -(24291) found -[13494] Forked 24292 -[13493] Forked 24293 -(24292) found -(24293) found -[13492] Forked 24294 -[13491] Forked 24295 -(24294) found -(24295) found -[13490] Forked 24296 -[13489] Forked 24297 -(24296) found -(24297) found -[13488] Forked 24298 -[13487] Forked 24299 -(24298) found -(24299) found -[13486] Forked 24300 -[13485] Forked 24301 -(24300) found -(24301) found -[13484] Forked 24302 -[13483] Forked 24303 -(24302) found -(24303) found -[13482] Forked 24304 -[13481] Forked 24305 -(24304) found -(24305) found -[13480] Forked 24306 -[13479] Forked 24307 -(24306) found -(24307) found -[13478] Forked 24308 -[13477] Forked 24309 -(24308) found -(24309) found -[13476] Forked 24310 -[13475] Forked 24311 -(24310) found -(24311) found -[13474] Forked 24312 -[13473] Forked 24313 -(24312) found -(24313) found -[13472] Forked 24314 -[13471] Forked 24315 -(24314) found -(24315) found -[13470] Forked 24316 -[13469] Forked 24317 -(24316) found -(24317) found -[13468] Forked 24319 -[13467] Forked 24320 -(24319) found -(24320) found -[13466] Forked 24321 -(24321) found -[13465] Forked 24322 -(24322) found -[13464] Forked 24323 -(24323) found -[13463] Forked 24324 -(24324) found -[13462] Forked 24325 -(24325) found -[13461] Forked 24326 -(24326) found -[13460] Forked 24327 -(24327) found -[13459] Forked 24328 -(24328) found -[13458] Forked 24329 -(24329) found -[13457] Forked 24330 -(24330) found -[13456] Forked 24331 -(24331) found -[13455] Forked 24332 -(24332) found -[13454] Forked 24333 -(24333) found -[13453] Forked 24334 -(24334) found -[13452] Forked 24335 -(24335) found -[13451] Forked 24336 -(24336) found -[13450] Forked 24337 -(24337) found -[13449] Forked 24338 -(24338) found -[13448] Forked 24339 -(24339) found -[13447] Forked 24340 -(24340) found -[13446] Forked 24341 -(24341) found -[13445] Forked 24342 -(24342) found -[13444] Forked 24343 -(24343) found -[13443] Forked 24344 -(24344) found -[13442] Forked 24345 -(24345) found -[13441] Forked 24346 -(24346) found -[13440] Forked 24347 -(24347) found -[13439] Forked 24348 -(24348) found -[13438] Forked 24349 -(24349) found -[13437] Forked 24350 -(24350) found -[13436] Forked 24351 -(24351) found -[13435] Forked 24352 -(24352) found -[13434] Forked 24353 -(24353) found -[13433] Forked 24354 -(24354) found -[13432] Forked 24355 -(24355) found -[13431] Forked 24356 -(24356) found -[13430] Forked 24357 -[13429] Forked 24358 -(24357) found -(24358) found -[13428] Forked 24359 -[13427] Forked 24360 -(24359) found -(24360) found -[13426] Forked 24361 -[13425] Forked 24362 -(24361) found -(24362) found -[13424] Forked 24363 -[13423] Forked 24364 -(24363) found -(24364) found -[13422] Forked 24365 -[13421] Forked 24366 -(24365) found -(24366) found -[13420] Forked 24367 -[13419] Forked 24368 -(24367) found -(24368) found -[13418] Forked 24369 -[13417] Forked 24370 -(24369) found -(24370) found -[13416] Forked 24371 -[13415] Forked 24372 -(24371) found -(24372) found -[13414] Forked 24373 -[13413] Forked 24374 -(24373) found -(24374) found -[13412] Forked 24375 -[13411] Forked 24376 -(24375) found -(24376) found -[13410] Forked 24377 -[13409] Forked 24378 -(24377) found -(24378) found -[13408] Forked 24379 -(24379) found -[13407] Forked 24380 -[13406] Forked 24381 -(24380) found -(24381) found -[13405] Forked 24382 -[13404] Forked 24383 -(24382) found -(24383) found -[13403] Forked 24384 -[13402] Forked 24385 -(24384) found -(24385) found -[13401] Forked 24386 -[13400] Forked 24387 -(24386) found -(24387) found -[13399] Forked 24388 -[13398] Forked 24389 -(24388) found -(24389) found -[13397] Forked 24390 -[13396] Forked 24391 -(24390) found -(24391) found -[13395] Forked 24392 -[13394] Forked 24393 -(24392) found -(24393) found -[13393] Forked 24394 -[13392] Forked 24395 -(24394) found -(24395) found -[13391] Forked 24396 -[13390] Forked 24397 -(24396) found -(24397) found -[13389] Forked 24398 -[13388] Forked 24399 -(24398) found -(24399) found -[13387] Forked 24400 -[13386] Forked 24401 -(24400) found -(24401) found -[13385] Forked 24402 -(24402) found -[13384] Forked 24403 -(24403) found -[13383] Forked 24404 -(24404) found -[13382] Forked 24405 -(24405) found -[13381] Forked 24406 -(24406) found -[13380] Forked 24407 -(24407) found -[13379] Forked 24408 -(24408) found -[13378] Forked 24409 -(24409) found -[13377] Forked 24410 -(24410) found -[13376] Forked 24411 -(24411) found -[13375] Forked 24412 -(24412) found -[13374] Forked 24413 -(24413) found -[13373] Forked 24414 -(24414) found -[13372] Forked 24415 -(24415) found -[13371] Forked 24416 -(24416) found -[13370] Forked 24417 -(24417) found -[13369] Forked 24418 -(24418) found -[13368] Forked 24419 -(24419) found -[13367] Forked 24420 -(24420) found -[13366] Forked 24421 -(24421) found -[13365] Forked 24422 -(24422) found -[13364] Forked 24423 -(24423) found -[13363] Forked 24424 -(24424) found -[13362] Forked 24425 -(24425) found -[13361] Forked 24426 -(24426) found -[13360] Forked 24427 -(24427) found -[13359] Forked 24428 -(24428) found -[13358] Forked 24429 -(24429) found -[13357] Forked 24430 -(24430) found -[13356] Forked 24431 -(24431) found -[13355] Forked 24432 -(24432) found -[13354] Forked 24433 -(24433) found -[13353] Forked 24434 -(24434) found -[13352] Forked 24435 -(24435) found -[13351] Forked 24436 -(24436) found -[13350] Forked 24437 -(24437) found -[13349] Forked 24438 -(24438) found -[13348] Forked 24439 -(24439) found -[13347] Forked 24440 -(24440) found -[13346] Forked 24441 -(24441) found -[13345] Forked 24442 -[13344] Forked 24443 -(24442) found -(24443) found -[13343] Forked 24444 -[13342] Forked 24445 -(24444) found -(24445) found -[13341] Forked 24446 -[13340] Forked 24447 -(24446) found -(24447) found -[13339] Forked 24448 -[13338] Forked 24449 -(24448) found -(24449) found -[13337] Forked 24450 -[13336] Forked 24451 -(24450) found -(24451) found -[13335] Forked 24452 -[13334] Forked 24453 -(24452) found -(24453) found -[13333] Forked 24454 -[13332] Forked 24455 -(24454) found -(24455) found -[13331] Forked 24456 -[13330] Forked 24457 -(24456) found -(24457) found -[13329] Forked 24458 -[13328] Forked 24459 -(24458) found -(24459) found -[13327] Forked 24460 -[13326] Forked 24461 -(24460) found -(24461) found -[13325] Forked 24462 -[13324] Forked 24463 -(24462) found -(24463) found -[13323] Forked 24464 -[13322] Forked 24465 -(24464) found -(24465) found -[13321] Forked 24466 -[13320] Forked 24467 -(24466) found -(24467) found -[13319] Forked 24468 -[13318] Forked 24469 -(24468) found -(24469) found -[13317] Forked 24470 -[13316] Forked 24473 -(24470) found -(24473) found -[13315] Forked 24474 -[13314] Forked 24475 -(24474) found -(24475) found -[13313] Forked 24476 -[13312] Forked 24477 -(24476) found -(24477) found -[13311] Forked 24478 -[13310] Forked 24479 -(24478) found -(24479) found -[13309] Forked 24480 -[13308] Forked 24481 -(24480) found -(24481) found -[13307] Forked 24482 -[13306] Forked 24483 -(24482) found -(24483) found -[13305] Forked 24484 -[13304] Forked 24485 -(24484) found -(24485) found -[13303] Forked 24486 -(24486) found -[13302] Forked 24487 -(24487) found -[13301] Forked 24488 -(24488) found -[13300] Forked 24489 -(24489) found -[13299] Forked 24490 -(24490) found -[13298] Forked 24491 -(24491) found -[13297] Forked 24492 -(24492) found -[13296] Forked 24493 -(24493) found -[13295] Forked 24494 -(24494) found -[13294] Forked 24495 -(24495) found -[13293] Forked 24496 -(24496) found -[13292] Forked 24497 -(24497) found -[13291] Forked 24498 -(24498) found -[13290] Forked 24499 -(24499) found -[13289] Forked 24500 -(24500) found -[13288] Forked 24501 -(24501) found -[13287] Forked 24502 -(24502) found -[13286] Forked 24503 -(24503) found -[13285] Forked 24504 -(24504) found -[13284] Forked 24505 -(24505) found -[13283] Forked 24506 -(24506) found -[13282] Forked 24507 -(24507) found -[13281] Forked 24508 -(24508) found -[13280] Forked 24509 -(24509) found -[13279] Forked 24510 -(24510) found -[13278] Forked 24511 -(24511) found -[13277] Forked 24512 -(24512) found -[13276] Forked 24513 -(24513) found -[13275] Forked 24514 -(24514) found -[13274] Forked 24515 -(24515) found -[13273] Forked 24516 -(24516) found -[13272] Forked 24517 -(24517) found -[13271] Forked 24518 -(24518) found -[13270] Forked 24519 -(24519) found -[13269] Forked 24520 -(24520) found -[13268] Forked 24521 -(24521) found -[13267] Forked 24522 -(24522) found -[13266] Forked 24523 -(24523) found -[13265] Forked 24524 -(24524) found -[13264] Forked 24525 -[13263] Forked 24526 -(24525) found -(24526) found -[13262] Forked 24527 -[13261] Forked 24528 -(24527) found -(24528) found -[13260] Forked 24529 -[13259] Forked 24530 -(24529) found -(24530) found -[13258] Forked 24531 -[13257] Forked 24532 -(24531) found -(24532) found -[13256] Forked 24533 -[13255] Forked 24534 -(24533) found -(24534) found -[13254] Forked 24535 -[13253] Forked 24536 -(24535) found -(24536) found -[13252] Forked 24537 -[13251] Forked 24538 -(24537) found -(24538) found -[13250] Forked 24539 -[13249] Forked 24540 -(24539) found -(24540) found -[13248] Forked 24541 -[13247] Forked 24542 -(24541) found -(24542) found -[13246] Forked 24543 -[13245] Forked 24544 -(24543) found -(24544) found -[13244] Forked 24545 -[13243] Forked 24546 -(24545) found -(24546) found -[13242] Forked 24547 -[13241] Forked 24548 -(24547) found -(24548) found -[13240] Forked 24549 -[13239] Forked 24550 -(24549) found -(24550) found -[13238] Forked 24551 -[13237] Forked 24552 -(24551) found -(24552) found -[13236] Forked 24553 -[13235] Forked 24554 -(24553) found -(24554) found -[13234] Forked 24555 -[13233] Forked 24556 -(24555) found -(24556) found -[13232] Forked 24557 -[13231] Forked 24558 -(24558) found -(24557) found -[13230] Forked 24559 -(24559) found -[13229] Forked 24560 -(24560) found -[13228] Forked 24561 -(24561) found -[13227] Forked 24562 -(24562) found -[13226] Forked 24563 -[13225] Forked 24564 -(24563) found -(24564) found -[13224] Forked 24565 -[13223] Forked 24566 -(24565) found -(24566) found -[13222] Forked 24567 -(24567) found -[13221] Forked 24568 -(24568) found -[13220] Forked 24569 -(24569) found -[13219] Forked 24570 -(24570) found -[13218] Forked 24571 -(24571) found -[13217] Forked 24572 -(24572) found -[13216] Forked 24573 -(24573) found -[13215] Forked 24574 -(24574) found -[13214] Forked 24575 -(24575) found -[13213] Forked 24576 -(24576) found -[13212] Forked 24577 -(24577) found -[13211] Forked 24578 -(24578) found -[13210] Forked 24579 -(24579) found -[13209] Forked 24580 -(24580) found -[13208] Forked 24581 -(24581) found -[13207] Forked 24582 -(24582) found -[13206] Forked 24583 -(24583) found -[13205] Forked 24584 -(24584) found -[13204] Forked 24585 -(24585) found -[13203] Forked 24586 -(24586) found -[13202] Forked 24587 -(24587) found -[13201] Forked 24588 -(24588) found -[13200] Forked 24589 -(24589) found -[13199] Forked 24590 -(24590) found -[13198] Forked 24591 -(24591) found -[13197] Forked 24592 -(24592) found -[13196] Forked 24593 -(24593) found -[13195] Forked 24594 -(24594) found -[13194] Forked 24595 -(24595) found -[13193] Forked 24596 -(24596) found -[13192] Forked 24597 -(24597) found -[13191] Forked 24598 -(24598) found -[13190] Forked 24599 -(24599) found -[13189] Forked 24600 -(24600) found -[13188] Forked 24601 -(24601) found -[13187] Forked 24602 -(24602) found -[13186] Forked 24603 -(24603) found -[13185] Forked 24604 -(24604) found -[13184] Forked 24605 -(24605) found -[13183] Forked 24606 -[13182] Forked 24607 -(24606) found -(24607) found -[13181] Forked 24608 -[13180] Forked 24609 -(24608) found -(24609) found -[13179] Forked 24610 -[13178] Forked 24611 -(24610) found -(24611) found -[13177] Forked 24612 -[13176] Forked 24613 -(24612) found -(24613) found -[13175] Forked 24614 -[13174] Forked 24615 -(24614) found -(24615) found -[13173] Forked 24616 -[13172] Forked 24617 -(24616) found -(24617) found -[13171] Forked 24618 -[13170] Forked 24619 -(24618) found -(24619) found -[13169] Forked 24620 -[13168] Forked 24621 -(24620) found -(24621) found -[13167] Forked 24622 -[13166] Forked 24623 -(24622) found -(24623) found -[13165] Forked 24624 -[13164] Forked 24625 -(24624) found -(24625) found -[13163] Forked 24626 -[13162] Forked 24627 -(24626) found -(24627) found -[13161] Forked 24628 -[13160] Forked 24629 -(24628) found -(24629) found -[13159] Forked 24630 -[13158] Forked 24631 -(24630) found -(24631) found -[13157] Forked 24632 -[13156] Forked 24633 -(24632) found -(24633) found -[13155] Forked 24634 -[13154] Forked 24635 -(24634) found -(24635) found -[13153] Forked 24636 -[13152] Forked 24637 -(24636) found -(24637) found -[13151] Forked 24638 -[13150] Forked 24639 -(24638) found -(24639) found -[13149] Forked 24640 -[13148] Forked 24641 -(24640) found -(24641) found -[13147] Forked 24642 -[13146] Forked 24643 -(24642) found -(24643) found -[13145] Forked 24644 -[13144] Forked 24645 -(24644) found -(24645) found -[13143] Forked 24646 -[13142] Forked 24647 -(24646) found -(24647) found -[13141] Forked 24648 -[13140] Forked 24649 -(24648) found -(24649) found -[13139] Forked 24650 -(24650) found -[13138] Forked 24651 -(24651) found -[13137] Forked 24652 -(24652) found -[13136] Forked 24653 -(24653) found -[13135] Forked 24654 -(24654) found -[13134] Forked 24655 -(24655) found -[13133] Forked 24656 -(24656) found -[13132] Forked 24657 -(24657) found -[13131] Forked 24658 -(24658) found -[13130] Forked 24659 -(24659) found -[13129] Forked 24660 -(24660) found -[13128] Forked 24661 -(24661) found -[13127] Forked 24662 -(24662) found -[13126] Forked 24663 -(24663) found -[13125] Forked 24664 -(24664) found -[13124] Forked 24665 -(24665) found -[13123] Forked 24666 -(24666) found -[13122] Forked 24667 -(24667) found -[13121] Forked 24668 -(24668) found -[13120] Forked 24669 -(24669) found -[13119] Forked 24670 -(24670) found -[13118] Forked 24671 -(24671) found -[13117] Forked 24672 -(24672) found -[13116] Forked 24673 -(24673) found -[13115] Forked 24674 -(24674) found -[13114] Forked 24675 -(24675) found -[13113] Forked 24676 -(24676) found -[13112] Forked 24677 -(24677) found -[13111] Forked 24678 -(24678) found -[13110] Forked 24679 -(24679) found -[13109] Forked 24680 -(24680) found -[13108] Forked 24681 -(24681) found -[13107] Forked 24682 -(24682) found -[13106] Forked 24683 -(24683) found -[13105] Forked 24684 -(24684) found -[13104] Forked 24685 -(24685) found -[13103] Forked 24686 -(24686) found -[13102] Forked 24687 -(24687) found -[13101] Forked 24688 -[13100] Forked 24689 -(24688) found -(24689) found -[13099] Forked 24690 -[13098] Forked 24691 -(24690) found -(24691) found -[13097] Forked 24692 -[13096] Forked 24693 -(24692) found -(24693) found -[13095] Forked 24694 -[13094] Forked 24695 -(24694) found -(24695) found -[13093] Forked 24696 -[13092] Forked 24697 -(24696) found -(24697) found -[13091] Forked 24698 -[13090] Forked 24699 -(24698) found -(24699) found -[13089] Forked 24700 -[13088] Forked 24701 -(24700) found -(24701) found -[13087] Forked 24702 -[13086] Forked 24703 -(24702) found -(24703) found -[13085] Forked 24704 -[13084] Forked 24705 -(24704) found -(24705) found -[13083] Forked 24706 -[13082] Forked 24707 -(24706) found -(24707) found -[13081] Forked 24708 -[13080] Forked 24709 -(24708) found -(24709) found -[13079] Forked 24710 -[13078] Forked 24711 -(24710) found -(24711) found -[13077] Forked 24712 -[13076] Forked 24713 -(24712) found -(24713) found -[13075] Forked 24714 -[13074] Forked 24715 -(24714) found -(24715) found -[13073] Forked 24716 -[13072] Forked 24717 -(24716) found -(24717) found -[13071] Forked 24718 -[13070] Forked 24719 -(24718) found -(24719) found -[13069] Forked 24720 -[13068] Forked 24721 -(24721) found -(24720) found -[13067] Forked 24722 -(24722) found -[13066] Forked 24723 -(24723) found -[13065] Forked 24724 -(24724) found -[13064] Forked 24725 -(24725) found -[13063] Forked 24726 -[13062] Forked 24727 -(24726) found -(24727) found -[13061] Forked 24728 -[13060] Forked 24729 -(24728) found -(24729) found -[13059] Forked 24730 -[13058] Forked 24731 -(24730) found -(24731) found -[13057] Forked 24732 -[13056] Forked 24733 -(24732) found -(24733) found -[13055] Forked 24734 -[13054] Forked 24735 -(24734) found -(24735) found -[13053] Forked 24736 -[13052] Forked 24737 -(24736) found -(24737) found -[13051] Forked 24738 -[13050] Forked 24739 -(24738) found -(24739) found -[13049] Forked 24740 -[13048] Forked 24741 -(24740) found -(24741) found -[13047] Forked 24742 -[13046] Forked 24743 -(24742) found -(24743) found -[13045] Forked 24744 -[13044] Forked 24745 -(24744) found -(24745) found -[13043] Forked 24746 -[13042] Forked 24747 -(24746) found -(24747) found -[13041] Forked 24748 -[13040] Forked 24749 -(24748) found -(24749) found -[13039] Forked 24750 -[13038] Forked 24751 -(24750) found -(24751) found -[13037] Forked 24752 -[13036] Forked 24753 -(24752) found -(24753) found -[13035] Forked 24754 -[13034] Forked 24755 -(24754) found -(24755) found -[13033] Forked 24756 -[13032] Forked 24757 -(24756) found -(24757) found -[13031] Forked 24758 -[13030] Forked 24759 -(24758) found -(24759) found -[13029] Forked 24760 -[13028] Forked 24761 -(24760) found -(24761) found -[13027] Forked 24762 -[13026] Forked 24763 -(24762) found -(24763) found -[13025] Forked 24764 -[13024] Forked 24765 -(24764) found -(24765) found -[13023] Forked 24766 -[13022] Forked 24767 -(24766) found -(24767) found -[13021] Forked 24768 -[13020] Forked 24769 -(24768) found -(24769) found -[13019] Forked 24770 -[13018] Forked 24771 -(24770) found -(24771) found -[13017] Forked 24772 -[13016] Forked 24773 -(24772) found -(24773) found -[13015] Forked 24774 -(24774) found -[13014] Forked 24775 -(24775) found -[13013] Forked 24776 -(24776) found -[13012] Forked 24777 -(24777) found -[13011] Forked 24778 -(24778) found -[13010] Forked 24779 -(24779) found -[13009] Forked 24780 -(24780) found -[13008] Forked 24781 -(24781) found -[13007] Forked 24782 -(24782) found -[13006] Forked 24783 -(24783) found -[13005] Forked 24784 -(24784) found -[13004] Forked 24785 -(24785) found -[13003] Forked 24786 -(24786) found -[13002] Forked 24787 -(24787) found -[13001] Forked 24788 -(24788) found -[13000] Forked 24789 -(24789) found -[12999] Forked 24790 -(24790) found -[12998] Forked 24791 -(24791) found -[12997] Forked 24792 -(24792) found -[12996] Forked 24793 -(24793) found -[12995] Forked 24794 -(24794) found -[12994] Forked 24795 -(24795) found -[12993] Forked 24796 -(24796) found -[12992] Forked 24797 -(24797) found -[12991] Forked 24798 -(24798) found -[12990] Forked 24799 -(24799) found -[12989] Forked 24800 -(24800) found -[12988] Forked 24801 -(24801) found -[12987] Forked 24802 -(24802) found -[12986] Forked 24803 -(24803) found -[12985] Forked 24804 -(24804) found -[12984] Forked 24805 -(24805) found -[12983] Forked 24806 -(24806) found -[12982] Forked 24807 -(24807) found -[12981] Forked 24808 -(24808) found -[12980] Forked 24809 -[12979] Forked 24810 -(24809) found -(24810) found -[12978] Forked 24811 -[12977] Forked 24812 -(24811) found -(24812) found -[12976] Forked 24813 -[12975] Forked 24814 -(24813) found -(24814) found -[12974] Forked 24815 -[12973] Forked 24816 -(24815) found -(24816) found -[12972] Forked 24817 -[12971] Forked 24818 -(24817) found -(24818) found -[12970] Forked 24819 -[12969] Forked 24820 -(24819) found -(24820) found -[12968] Forked 24821 -[12967] Forked 24822 -(24821) found -(24822) found -[12966] Forked 24823 -[12965] Forked 24824 -(24823) found -(24824) found -[12964] Forked 24825 -[12963] Forked 24826 -(24825) found -(24826) found -[12962] Forked 24827 -[12961] Forked 24828 -(24827) found -(24828) found -[12960] Forked 24829 -[12959] Forked 24830 -(24829) found -(24830) found -[12958] Forked 24831 -[12957] Forked 24832 -(24831) found -(24832) found -[12956] Forked 24833 -[12955] Forked 24834 -(24833) found -(24834) found -[12954] Forked 24835 -[12953] Forked 24836 -(24835) found -(24836) found -[12952] Forked 24837 -[12951] Forked 24838 -(24837) found -(24838) found -[12950] Forked 24839 -[12949] Forked 24840 -(24839) found -(24840) found -[12948] Forked 24841 -[12947] Forked 24842 -(24841) found -(24842) found -[12946] Forked 24843 -[12945] Forked 24844 -(24843) found -(24844) found -[12944] Forked 24845 -[12943] Forked 24846 -(24845) found -(24846) found -[12942] Forked 24847 -[12941] Forked 24848 -(24847) found -(24848) found -[12940] Forked 24849 -[12939] Forked 24850 -(24849) found -(24850) found -[12938] Forked 24851 -[12937] Forked 24852 -(24851) found -(24852) found -[12936] Forked 24853 -[12935] Forked 24854 -(24853) found -(24854) found -[12934] Forked 24855 -(24855) found -[12933] Forked 24856 -(24856) found -[12932] Forked 24857 -(24857) found -[12931] Forked 24858 -(24858) found -[12930] Forked 24859 -(24859) found -[12929] Forked 24860 -(24860) found -[12928] Forked 24861 -(24861) found -[12927] Forked 24862 -(24862) found -[12926] Forked 24863 -(24863) found -[12925] Forked 24864 -(24864) found -[12924] Forked 24865 -(24865) found -[12923] Forked 24866 -(24866) found -[12922] Forked 24867 -(24867) found -[12921] Forked 24868 -(24868) found -[12920] Forked 24869 -(24869) found -[12919] Forked 24870 -(24870) found -[12918] Forked 24871 -(24871) found -[12917] Forked 24872 -(24872) found -[12916] Forked 24873 -(24873) found -[12915] Forked 24874 -(24874) found -[12914] Forked 24875 -(24875) found -[12913] Forked 24876 -(24876) found -[12912] Forked 24877 -(24877) found -[12911] Forked 24878 -(24878) found -[12910] Forked 24879 -(24879) found -[12909] Forked 24880 -(24880) found -[12908] Forked 24881 -(24881) found -[12907] Forked 24882 -(24882) found -[12906] Forked 24883 -(24883) found -[12905] Forked 24884 -(24884) found -[12904] Forked 24885 -(24885) found -[12903] Forked 24886 -(24886) found -[12902] Forked 24887 -(24887) found -[12901] Forked 24888 -(24888) found -[12900] Forked 24889 -(24889) found -[12899] Forked 24890 -[12898] Forked 24891 -(24890) found -(24891) found -[12897] Forked 24892 -[12896] Forked 24893 -(24892) found -(24893) found -[12895] Forked 24894 -[12894] Forked 24895 -(24894) found -(24895) found -[12893] Forked 24896 -[12892] Forked 24897 -(24896) found -(24897) found -[12891] Forked 24898 -[12890] Forked 24899 -(24898) found -(24899) found -[12889] Forked 24900 -[12888] Forked 24901 -(24900) found -(24901) found -[12887] Forked 24902 -[12886] Forked 24903 -(24902) found -(24903) found -[12885] Forked 24904 -[12884] Forked 24905 -(24904) found -(24905) found -[12883] Forked 24906 -[12882] Forked 24907 -(24906) found -(24907) found -[12881] Forked 24908 -[12880] Forked 24909 -(24908) found -(24909) found -[12879] Forked 24910 -[12878] Forked 24911 -(24910) found -(24911) found -[12877] Forked 24912 -[12876] Forked 24913 -(24912) found -(24913) found -[12875] Forked 24914 -[12874] Forked 24915 -(24914) found -(24915) found -[12873] Forked 24916 -[12872] Forked 24917 -(24916) found -(24917) found -[12871] Forked 24918 -[12870] Forked 24919 -(24918) found -(24919) found -[12869] Forked 24920 -[12868] Forked 24921 -(24920) found -(24921) found -[12867] Forked 24922 -[12866] Forked 24923 -(24922) found -(24923) found -[12865] Forked 24924 -[12864] Forked 24925 -(24924) found -(24925) found -[12863] Forked 24926 -[12862] Forked 24927 -(24926) found -(24927) found -[12861] Forked 24928 -[12860] Forked 24929 -(24928) found -(24929) found -[12859] Forked 24930 -[12858] Forked 24931 -(24930) found -(24931) found -[12857] Forked 24932 -[12856] Forked 24933 -(24932) found -(24933) found -[12855] Forked 24934 -[12854] Forked 24935 -(24934) found -(24935) found -[12853] Forked 24936 -[12852] Forked 24937 -(24936) found -(24937) found -[12851] Forked 24938 -[12850] Forked 24939 -(24938) found -(24939) found -[12849] Forked 24940 -[12848] Forked 24941 -(24940) found -(24941) found -[12847] Forked 24942 -[12846] Forked 24943 -(24942) found -(24943) found -[12845] Forked 24944 -[12844] Forked 24945 -(24944) found -(24945) found -[12843] Forked 24946 -[12842] Forked 24947 -(24946) found -(24947) found -[12841] Forked 24948 -(24948) found -[12840] Forked 24949 -(24949) found -[12839] Forked 24950 -[12838] Forked 24951 -(24950) found -(24951) found -[12837] Forked 24952 -[12836] Forked 24953 -(24952) found -(24953) found -[12835] Forked 24954 -[12834] Forked 24955 -(24954) found -(24955) found -[12833] Forked 24956 -[12832] Forked 24957 -(24956) found -(24957) found -[12831] Forked 24958 -[12830] Forked 24959 -(24958) found -(24959) found -[12829] Forked 24960 -[12828] Forked 24961 -(24960) found -(24961) found -[12827] Forked 24962 -[12826] Forked 24963 -(24962) found -(24963) found -[12825] Forked 24964 -[12824] Forked 24965 -(24964) found -(24965) found -[12823] Forked 24966 -[12822] Forked 24967 -(24966) found -(24967) found -[12821] Forked 24968 -[12820] Forked 24969 -(24968) found -(24969) found -[12819] Forked 24970 -[12818] Forked 24971 -(24970) found -(24971) found -[12817] Forked 24972 -[12816] Forked 24973 -(24972) found -(24973) found -[12815] Forked 24974 -[12814] Forked 24975 -(24974) found -(24975) found -[12813] Forked 24976 -[12812] Forked 24977 -(24976) found -(24977) found -[12811] Forked 24978 -[12810] Forked 24979 -(24978) found -(24979) found -[12809] Forked 24980 -[12808] Forked 24981 -(24980) found -(24981) found -[12807] Forked 24982 -[12806] Forked 24983 -(24982) found -(24983) found -[12805] Forked 24984 -[12804] Forked 24985 -(24984) found -(24985) found -[12803] Forked 24986 -[12802] Forked 24987 -(24986) found -(24987) found -[12801] Forked 24988 -[12800] Forked 24989 -(24988) found -(24989) found -[12799] Forked 24990 -[12798] Forked 24991 -(24990) found -(24991) found -[12797] Forked 24992 -[12796] Forked 24993 -(24992) found -(24993) found -[12795] Forked 24994 -[12794] Forked 24996 -(24994) found -(24996) found -[12793] Forked 24997 -[12792] Forked 24998 -(24997) found -(24998) found -[12791] Forked 24999 -[12790] Forked 25000 -(24999) found -(25000) found -[12789] Forked 25001 -[12788] Forked 25002 -(25001) found -(25002) found -[12787] Forked 25003 -[12786] Forked 25004 -(25003) found -(25004) found -[12785] Forked 25005 -[12784] Forked 25006 -(25005) found -(25006) found -[12783] Forked 25007 -[12782] Forked 25008 -(25007) found -(25008) found -[12781] Forked 25009 -[12780] Forked 25010 -(25009) found -(25010) found -[12779] Forked 25011 -[12778] Forked 25012 -(25011) found -(25012) found -[12777] Forked 25013 -[12776] Forked 25014 -(25013) found -(25014) found -[12775] Forked 25015 -[12774] Forked 25016 -(25015) found -(25016) found -[12773] Forked 25017 -[12772] Forked 25018 -(25017) found -(25018) found -[12771] Forked 25019 -[12770] Forked 25020 -(25019) found -(25020) found -[12769] Forked 25021 -[12768] Forked 25023 -(25021) found -(25023) found -[12767] Forked 25024 -(25024) found -[12766] Forked 25025 -(25025) found -[12765] Forked 25026 -(25026) found -[12764] Forked 25027 -(25027) found -[12763] Forked 25028 -(25028) found -[12762] Forked 25029 -(25029) found -[12761] Forked 25030 -(25030) found -[12760] Forked 25031 -(25031) found -[12759] Forked 25032 -(25032) found -[12758] Forked 25033 -(25033) found -[12757] Forked 25034 -(25034) found -[12756] Forked 25035 -(25035) found -[12755] Forked 25036 -(25036) found -[12754] Forked 25037 -(25037) found -[12753] Forked 25038 -(25038) found -[12752] Forked 25039 -(25039) found -[12751] Forked 25040 -(25040) found -[12750] Forked 25041 -(25041) found -[12749] Forked 25042 -(25042) found -[12748] Forked 25043 -(25043) found -[12747] Forked 25044 -(25044) found -[12746] Forked 25045 -(25045) found -[12745] Forked 25046 -(25046) found -[12744] Forked 25047 -(25047) found -[12743] Forked 25048 -(25048) found -[12742] Forked 25049 -(25049) found -[12741] Forked 25050 -(25050) found -[12740] Forked 25051 -(25051) found -[12739] Forked 25052 -(25052) found -[12738] Forked 25053 -(25053) found -[12737] Forked 25054 -(25054) found -[12736] Forked 25055 -(25055) found -[12735] Forked 25056 -(25056) found -[12734] Forked 25057 -(25057) found -[12733] Forked 25058 -(25058) found -[12732] Forked 25059 -(25059) found -[12731] Forked 25060 -(25060) found -[12730] Forked 25061 -(25061) found -[12729] Forked 25062 -[12728] Forked 25063 -(25063) found -(25062) found -[12727] Forked 25064 -(25064) found -[12726] Forked 25065 -(25065) found -[12725] Forked 25066 -(25066) found -[12724] Forked 25067 -(25067) found -[12723] Forked 25068 -(25068) found -[12722] Forked 25069 -(25069) found -[12721] Forked 25070 -(25070) found -[12720] Forked 25071 -(25071) found -[12719] Forked 25072 -(25072) found -[12718] Forked 25073 -(25073) found -[12717] Forked 25074 -(25074) found -[12716] Forked 25075 -(25075) found -[12715] Forked 25076 -(25076) found -[12714] Forked 25077 -(25077) found -[12713] Forked 25078 -(25078) found -[12712] Forked 25079 -(25079) found -[12711] Forked 25080 -(25080) found -[12710] Forked 25081 -(25081) found -[12709] Forked 25082 -(25082) found -[12708] Forked 25083 -(25083) found -[12707] Forked 25084 -(25084) found -[12706] Forked 25085 -(25085) found -[12705] Forked 25086 -(25086) found -[12704] Forked 25087 -(25087) found -[12703] Forked 25088 -(25088) found -[12702] Forked 25089 -(25089) found -[12701] Forked 25090 -(25090) found -[12700] Forked 25091 -(25091) found -[12699] Forked 25092 -(25092) found -[12698] Forked 25093 -(25093) found -[12697] Forked 25094 -(25094) found -[12696] Forked 25095 -(25095) found -[12695] Forked 25096 -(25096) found -[12694] Forked 25097 -(25097) found -[12693] Forked 25098 -(25098) found -[12692] Forked 25099 -(25099) found -[12691] Forked 25100 -(25100) found -[12690] Forked 25101 -(25101) found -[12689] Forked 25102 -(25102) found -[12688] Forked 25103 -(25103) found -[12687] Forked 25104 -(25104) found -[12686] Forked 25105 -(25105) found -[12685] Forked 25106 -(25106) found -[12684] Forked 25107 -(25107) found -[12683] Forked 25108 -(25108) found -[12682] Forked 25109 -(25109) found -[12681] Forked 25110 -(25110) found -[12680] Forked 25111 -(25111) found -[12679] Forked 25112 -(25112) found -[12678] Forked 25113 -(25113) found -[12677] Forked 25114 -(25114) found -[12676] Forked 25115 -(25115) found -[12675] Forked 25116 -(25116) found -[12674] Forked 25117 -(25117) found -[12673] Forked 25118 -(25118) found -[12672] Forked 25119 -(25119) found -[12671] Forked 25120 -(25120) found -[12670] Forked 25121 -(25121) found -[12669] Forked 25122 -(25122) found -[12668] Forked 25123 -(25123) found -[12667] Forked 25124 -(25124) found -[12666] Forked 25125 -(25125) found -[12665] Forked 25126 -(25126) found -[12664] Forked 25127 -(25127) found -[12663] Forked 25128 -(25128) found -[12662] Forked 25129 -(25129) found -[12661] Forked 25130 -(25130) found -[12660] Forked 25131 -(25131) found -[12659] Forked 25132 -[12658] Forked 25133 -(25132) found -(25133) found -[12657] Forked 25134 -[12656] Forked 25135 -(25134) found -(25135) found -[12655] Forked 25136 -[12654] Forked 25137 -(25136) found -(25137) found -[12653] Forked 25138 -[12652] Forked 25139 -(25138) found -(25139) found -[12651] Forked 25140 -[12650] Forked 25141 -(25140) found -(25141) found -[12649] Forked 25142 -[12648] Forked 25143 -(25142) found -(25143) found -[12647] Forked 25144 -[12646] Forked 25145 -(25144) found -(25145) found -[12645] Forked 25146 -[12644] Forked 25147 -(25146) found -(25147) found -[12643] Forked 25148 -[12642] Forked 25149 -(25148) found -(25149) found -[12641] Forked 25150 -[12640] Forked 25151 -(25150) found -(25151) found -[12639] Forked 25152 -[12638] Forked 25153 -(25152) found -(25153) found -[12637] Forked 25154 -[12636] Forked 25155 -(25154) found -(25155) found -[12635] Forked 25156 -[12634] Forked 25157 -(25156) found -(25157) found -[12633] Forked 25158 -[12632] Forked 25159 -(25158) found -(25159) found -[12631] Forked 25160 -[12630] Forked 25161 -(25160) found -(25161) found -[12629] Forked 25162 -[12628] Forked 25163 -(25162) found -(25163) found -[12627] Forked 25164 -[12626] Forked 25165 -(25164) found -(25165) found -[12625] Forked 25166 -[12624] Forked 25167 -(25166) found -(25167) found -[12623] Forked 25168 -[12622] Forked 25169 -(25168) found -(25169) found -[12621] Forked 25170 -[12620] Forked 25171 -(25170) found -(25171) found -[12619] Forked 25172 -[12618] Forked 25173 -(25172) found -(25173) found -[12617] Forked 25174 -[12616] Forked 25175 -(25174) found -(25175) found -[12615] Forked 25176 -[12614] Forked 25177 -(25176) found -(25177) found -[12613] Forked 25178 -[12612] Forked 25179 -(25178) found -(25179) found -[12611] Forked 25180 -[12610] Forked 25181 -(25180) found -(25181) found -[12609] Forked 25182 -[12608] Forked 25183 -(25182) found -(25183) found -[12607] Forked 25184 -[12606] Forked 25185 -(25184) found -(25185) found -[12605] Forked 25186 -[12604] Forked 25187 -(25186) found -(25187) found -[12603] Forked 25188 -[12602] Forked 25189 -(25188) found -(25189) found -[12601] Forked 25190 -[12600] Forked 25191 -(25190) found -(25191) found -[12599] Forked 25192 -[12598] Forked 25193 -(25192) found -(25193) found -[12597] Forked 25194 -[12596] Forked 25195 -(25194) found -(25195) found -[12595] Forked 25196 -[12594] Forked 25197 -(25196) found -(25197) found -[12593] Forked 25198 -[12592] Forked 25199 -(25198) found -(25199) found -[12591] Forked 25200 -[12590] Forked 25201 -(25200) found -(25201) found -[12589] Forked 25202 -[12588] Forked 25203 -(25202) found -(25203) found -[12587] Forked 25204 -[12586] Forked 25205 -(25204) found -(25205) found -[12585] Forked 25206 -[12584] Forked 25207 -(25206) found -(25207) found -[12583] Forked 25208 -[12582] Forked 25209 -(25208) found -(25209) found -[12581] Forked 25210 -[12580] Forked 25211 -(25210) found -(25211) found -[12579] Forked 25212 -[12578] Forked 25213 -(25212) found -(25213) found -[12577] Forked 25214 -[12576] Forked 25215 -(25214) found -(25215) found -[12575] Forked 25216 -[12574] Forked 25217 -(25216) found -(25217) found -[12573] Forked 25218 -[12572] Forked 25219 -(25218) found -(25219) found -[12571] Forked 25220 -[12570] Forked 25221 -(25220) found -(25221) found -[12569] Forked 25222 -[12568] Forked 25223 -(25222) found -(25223) found -[12567] Forked 25224 -(25224) found -[12566] Forked 25225 -(25225) found -[12565] Forked 25226 -(25226) found -[12564] Forked 25227 -(25227) found -[12563] Forked 25228 -(25228) found -[12562] Forked 25229 -(25229) found -[12561] Forked 25230 -(25230) found -[12560] Forked 25231 -(25231) found -[12559] Forked 25232 -(25232) found -[12558] Forked 25233 -(25233) found -[12557] Forked 25234 -(25234) found -[12556] Forked 25235 -(25235) found -[12555] Forked 25236 -(25236) found -[12554] Forked 25237 -(25237) found -[12553] Forked 25238 -(25238) found -[12552] Forked 25239 -(25239) found -[12551] Forked 25240 -(25240) found -[12550] Forked 25241 -(25241) found -[12549] Forked 25242 -(25242) found -[12548] Forked 25243 -(25243) found -[12547] Forked 25244 -(25244) found -[12546] Forked 25245 -(25245) found -[12545] Forked 25246 -(25246) found -[12544] Forked 25247 -(25247) found -[12543] Forked 25248 -(25248) found -[12542] Forked 25249 -(25249) found -[12541] Forked 25250 -(25250) found -[12540] Forked 25251 -(25251) found -[12539] Forked 25252 -(25252) found -[12538] Forked 25253 -(25253) found -[12537] Forked 25254 -(25254) found -[12536] Forked 25255 -(25255) found -[12535] Forked 25256 -(25256) found -[12534] Forked 25257 -(25257) found -[12533] Forked 25258 -(25258) found -[12532] Forked 25259 -(25259) found -[12531] Forked 25260 -(25260) found -[12530] Forked 25261 -[12529] Forked 25262 -(25261) found -(25262) found -[12528] Forked 25263 -[12527] Forked 25264 -(25263) found -(25264) found -[12526] Forked 25265 -[12525] Forked 25266 -(25265) found -(25266) found -[12524] Forked 25267 -[12523] Forked 25268 -(25267) found -(25268) found -[12522] Forked 25269 -[12521] Forked 25270 -(25269) found -(25270) found -[12520] Forked 25271 -[12519] Forked 25273 -(25271) found -(25273) found -[12518] Forked 25274 -(25274) found -[12517] Forked 25275 -(25275) found -[12516] Forked 25276 -(25276) found -[12515] Forked 25277 -(25277) found -[12514] Forked 25278 -(25278) found -[12513] Forked 25279 -(25279) found -[12512] Forked 25280 -(25280) found -[12511] Forked 25281 -(25281) found -[12510] Forked 25282 -(25282) found -[12509] Forked 25283 -(25283) found -[12508] Forked 25284 -(25284) found -[12507] Forked 25285 -(25285) found -[12506] Forked 25286 -(25286) found -[12505] Forked 25287 -(25287) found -[12504] Forked 25288 -(25288) found -[12503] Forked 25289 -(25289) found -[12502] Forked 25290 -(25290) found -[12501] Forked 25291 -(25291) found -[12500] Forked 25292 -(25292) found -[12499] Forked 25293 -[12498] Forked 25294 -(25293) found -(25294) found -[12497] Forked 25295 -[12496] Forked 25296 -(25295) found -(25296) found -[12495] Forked 25297 -[12494] Forked 25298 -(25297) found -(25298) found -[12493] Forked 25299 -[12492] Forked 25300 -(25299) found -(25300) found -[12491] Forked 25301 -[12490] Forked 25302 -(25301) found -(25302) found -[12489] Forked 25303 -[12488] Forked 25304 -(25303) found -(25304) found -[12487] Forked 25305 -[12486] Forked 25306 -(25305) found -(25306) found -[12485] Forked 25307 -[12484] Forked 25308 -(25307) found -(25308) found -[12483] Forked 25309 -[12482] Forked 25310 -(25309) found -(25310) found -[12481] Forked 25311 -[12480] Forked 25312 -(25311) found -(25312) found -[12479] Forked 25313 -[12478] Forked 25314 -(25313) found -(25314) found -[12477] Forked 25315 -[12476] Forked 25316 -(25315) found -(25316) found -[12475] Forked 25317 -[12474] Forked 25318 -(25317) found -(25318) found -[12473] Forked 25319 -[12472] Forked 25320 -(25319) found -(25320) found -[12471] Forked 25321 -[12470] Forked 25322 -(25321) found -(25322) found -[12469] Forked 25323 -[12468] Forked 25324 -(25323) found -(25324) found -[12467] Forked 25325 -[12466] Forked 25326 -(25325) found -(25326) found -[12465] Forked 25327 -[12464] Forked 25328 -(25327) found -(25328) found -[12463] Forked 25329 -[12462] Forked 25330 -(25329) found -(25330) found -[12461] Forked 25331 -[12460] Forked 25332 -(25331) found -(25332) found -[12459] Forked 25333 -[12458] Forked 25334 -(25333) found -(25334) found -[12457] Forked 25335 -[12456] Forked 25336 -(25335) found -(25336) found -[12455] Forked 25337 -[12454] Forked 25338 -(25337) found -(25338) found -[12453] Forked 25339 -[12452] Forked 25340 -(25339) found -(25340) found -[12451] Forked 25341 -[12450] Forked 25342 -(25341) found -(25342) found -[12449] Forked 25343 -[12448] Forked 25344 -(25343) found -(25344) found -[12447] Forked 25345 -(25345) found -[12446] Forked 25346 -(25346) found -[12445] Forked 25347 -(25347) found -[12444] Forked 25348 -(25348) found -[12443] Forked 25349 -(25349) found -[12442] Forked 25350 -(25350) found -[12441] Forked 25351 -(25351) found -[12440] Forked 25352 -(25352) found -[12439] Forked 25353 -(25353) found -[12438] Forked 25354 -(25354) found -[12437] Forked 25355 -(25355) found -[12436] Forked 25356 -(25356) found -[12435] Forked 25357 -(25357) found -[12434] Forked 25358 -(25358) found -[12433] Forked 25359 -(25359) found -[12432] Forked 25360 -(25360) found -[12431] Forked 25361 -(25361) found -[12430] Forked 25362 -(25362) found -[12429] Forked 25363 -(25363) found -[12428] Forked 25364 -(25364) found -[12427] Forked 25365 -(25365) found -[12426] Forked 25366 -(25366) found -[12425] Forked 25367 -(25367) found -[12424] Forked 25368 -(25368) found -[12423] Forked 25369 -(25369) found -[12422] Forked 25370 -(25370) found -[12421] Forked 25371 -(25371) found -[12420] Forked 25372 -(25372) found -[12419] Forked 25373 -(25373) found -[12418] Forked 25374 -(25374) found -[12417] Forked 25375 -(25375) found -[12416] Forked 25376 -(25376) found -[12415] Forked 25377 -(25377) found -[12414] Forked 25378 -(25378) found -[12413] Forked 25379 -(25379) found -[12412] Forked 25380 -(25380) found -[12411] Forked 25381 -[12410] Forked 25382 -(25381) found -(25382) found -[12409] Forked 25383 -(25383) found -[12408] Forked 25384 -(25384) found -[12407] Forked 25385 -(25385) found -[12406] Forked 25386 -(25386) found -[12405] Forked 25387 -(25387) found -[12404] Forked 25388 -(25388) found -[12403] Forked 25389 -(25389) found -[12402] Forked 25390 -[12401] Forked 25391 -(25390) found -(25391) found -[12400] Forked 25392 -[12399] Forked 25393 -(25392) found -(25393) found -[12398] Forked 25394 -[12397] Forked 25395 -(25394) found -(25395) found -[12396] Forked 25396 -[12395] Forked 25397 -(25396) found -(25397) found -[12394] Forked 25398 -[12393] Forked 25399 -(25398) found -(25399) found -[12392] Forked 25400 -[12391] Forked 25401 -(25400) found -(25401) found -[12390] Forked 25402 -[12389] Forked 25403 -(25402) found -(25403) found -[12388] Forked 25404 -[12387] Forked 25405 -(25404) found -(25405) found -[12386] Forked 25406 -[12385] Forked 25407 -(25406) found -(25407) found -[12384] Forked 25408 -[12383] Forked 25409 -(25408) found -(25409) found -[12382] Forked 25410 -[12381] Forked 25411 -(25410) found -(25411) found -[12380] Forked 25412 -[12379] Forked 25413 -(25412) found -(25413) found -[12378] Forked 25414 -[12377] Forked 25416 -(25414) found -(25416) found -[12376] Forked 25417 -[12375] Forked 25418 -(25417) found -(25418) found -[12374] Forked 25419 -[12373] Forked 25420 -(25419) found -(25420) found -[12372] Forked 25421 -[12371] Forked 25422 -(25421) found -(25422) found -[12370] Forked 25423 -[12369] Forked 25424 -(25423) found -(25424) found -[12368] Forked 25426 -[12367] Forked 25428 -(25426) found -(25428) found -[12366] Forked 25430 -[12365] Forked 25431 -(25430) found -(25431) found -[12364] Forked 25432 -[12363] Forked 25433 -(25432) found -(25433) found -[12362] Forked 25434 -[12361] Forked 25435 -(25434) found -(25435) found -[12360] Forked 25436 -[12359] Forked 25437 -(25436) found -(25437) found -[12358] Forked 25438 -[12357] Forked 25439 -(25438) found -(25439) found -[12356] Forked 25440 -[12355] Forked 25441 -(25440) found -(25441) found -[12354] Forked 25442 -[12353] Forked 25443 -(25442) found -(25443) found -[12352] Forked 25444 -[12351] Forked 25449 -(25444) found -(25449) found -[12350] Forked 25450 -[12349] Forked 25451 -(25450) found -(25451) found -[12348] Forked 25452 -[12347] Forked 25453 -(25452) found -(25453) found -[12346] Forked 25454 -[12345] Forked 25455 -(25454) found -(25455) found -[12344] Forked 25456 -[12343] Forked 25457 -(25456) found -(25457) found -[12342] Forked 25458 -[12341] Forked 25459 -(25458) found -(25459) found -[12340] Forked 25460 -[12339] Forked 25461 -(25460) found -(25461) found -[12338] Forked 25462 -[12337] Forked 25463 -(25462) found -(25463) found -[12336] Forked 25464 -[12335] Forked 25465 -(25464) found -(25465) found -[12334] Forked 25466 -[12333] Forked 25467 -(25466) found -(25467) found -[12332] Forked 25468 -[12331] Forked 25469 -(25468) found -(25469) found -[12330] Forked 25470 -[12329] Forked 25471 -(25470) found -(25471) found -[12328] Forked 25472 -[12327] Forked 25474 -(25472) found -(25474) found -[12326] Forked 25475 -(25475) found -[12325] Forked 25476 -(25476) found -[12324] Forked 25477 -(25477) found -[12323] Forked 25478 -(25478) found -[12322] Forked 25479 -(25479) found -[12321] Forked 25480 -(25480) found -[12320] Forked 25481 -(25481) found -[12319] Forked 25482 -(25482) found -[12318] Forked 25483 -(25483) found -[12317] Forked 25484 -(25484) found -[12316] Forked 25485 -(25485) found -[12315] Forked 25486 -(25486) found -[12314] Forked 25487 -(25487) found -[12313] Forked 25488 -(25488) found -[12312] Forked 25489 -(25489) found -[12311] Forked 25490 -(25490) found -[12310] Forked 25491 -(25491) found -[12309] Forked 25492 -(25492) found -[12308] Forked 25493 -(25493) found -[12307] Forked 25494 -(25494) found -[12306] Forked 25495 -(25495) found -[12305] Forked 25496 -(25496) found -[12304] Forked 25497 -(25497) found -[12303] Forked 25498 -(25498) found -[12302] Forked 25499 -(25499) found -[12301] Forked 25500 -(25500) found -[12300] Forked 25501 -(25501) found -[12299] Forked 25502 -(25502) found -[12298] Forked 25503 -(25503) found -[12297] Forked 25504 -(25504) found -[12296] Forked 25505 -(25505) found -[12295] Forked 25506 -(25506) found -[12294] Forked 25507 -(25507) found -[12293] Forked 25508 -(25508) found -[12292] Forked 25509 -(25509) found -[12291] Forked 25510 -(25510) found -[12290] Forked 25511 -(25511) found -[12289] Forked 25512 -(25512) found -[12288] Forked 25513 -(25513) found -[12287] Forked 25514 -[12286] Forked 25515 -(25514) found -(25515) found -[12285] Forked 25516 -[12284] Forked 25517 -(25516) found -(25517) found -[12283] Forked 25518 -[12282] Forked 25519 -(25518) found -(25519) found -[12281] Forked 25520 -[12280] Forked 25521 -(25520) found -(25521) found -[12279] Forked 25522 -[12278] Forked 25523 -(25522) found -(25523) found -[12277] Forked 25524 -[12276] Forked 25525 -(25524) found -(25525) found -[12275] Forked 25526 -[12274] Forked 25527 -(25526) found -(25527) found -[12273] Forked 25528 -[12272] Forked 25529 -(25528) found -(25529) found -[12271] Forked 25530 -[12270] Forked 25531 -(25530) found -(25531) found -[12269] Forked 25532 -[12268] Forked 25533 -(25532) found -(25533) found -[12267] Forked 25534 -[12266] Forked 25535 -(25534) found -(25535) found -[12265] Forked 25536 -[12264] Forked 25537 -(25536) found -(25537) found -[12263] Forked 25538 -[12262] Forked 25539 -(25538) found -(25539) found -[12261] Forked 25540 -[12260] Forked 25541 -(25540) found -(25541) found -[12259] Forked 25542 -[12258] Forked 25543 -(25542) found -(25543) found -[12257] Forked 25544 -[12256] Forked 25545 -(25544) found -(25545) found -[12255] Forked 25546 -[12254] Forked 25547 -(25546) found -(25547) found -[12253] Forked 25548 -[12252] Forked 25549 -(25548) found -(25549) found -[12251] Forked 25550 -[12250] Forked 25551 -(25550) found -(25551) found -[12249] Forked 25552 -[12248] Forked 25553 -(25552) found -(25553) found -[12247] Forked 25554 -[12246] Forked 25555 -(25554) found -(25555) found -[12245] Forked 25556 -[12244] Forked 25557 -(25556) found -(25557) found -[12243] Forked 25558 -(25558) found -[12242] Forked 25559 -(25559) found -[12241] Forked 25560 -(25560) found -[12240] Forked 25561 -(25561) found -[12239] Forked 25562 -(25562) found -[12238] Forked 25563 -(25563) found -[12237] Forked 25564 -(25564) found -[12236] Forked 25565 -(25565) found -[12235] Forked 25566 -(25566) found -[12234] Forked 25567 -(25567) found -[12233] Forked 25568 -(25568) found -[12232] Forked 25569 -(25569) found -[12231] Forked 25570 -(25570) found -[12230] Forked 25571 -(25571) found -[12229] Forked 25572 -(25572) found -[12228] Forked 25573 -(25573) found -[12227] Forked 25574 -(25574) found -[12226] Forked 25575 -(25575) found -[12225] Forked 25576 -(25576) found -[12224] Forked 25577 -(25577) found -[12223] Forked 25578 -(25578) found -[12222] Forked 25579 -(25579) found -[12221] Forked 25580 -(25580) found -[12220] Forked 25581 -(25581) found -[12219] Forked 25582 -(25582) found -[12218] Forked 25583 -(25583) found -[12217] Forked 25584 -(25584) found -[12216] Forked 25585 -(25585) found -[12215] Forked 25586 -(25586) found -[12214] Forked 25587 -(25587) found -[12213] Forked 25588 -(25588) found -[12212] Forked 25589 -(25589) found -[12211] Forked 25590 -(25590) found -[12210] Forked 25591 -(25591) found -[12209] Forked 25592 -(25592) found -[12208] Forked 25593 -(25593) found -[12207] Forked 25595 -(25595) found -[12206] Forked 25596 -(25596) found -[12205] Forked 25597 -(25597) found -[12204] Forked 25598 -(25598) found -[12203] Forked 25599 -(25599) found -[12202] Forked 25600 -(25600) found -[12201] Forked 25601 -(25601) found -[12200] Forked 25602 -(25602) found -[12199] Forked 25603 -(25603) found -[12198] Forked 25604 -(25604) found -[12197] Forked 25605 -(25605) found -[12196] Forked 25606 -(25606) found -[12195] Forked 25607 -(25607) found -[12194] Forked 25608 -(25608) found -[12193] Forked 25609 -(25609) found -[12192] Forked 25610 -(25610) found -[12191] Forked 25611 -(25611) found -[12190] Forked 25612 -(25612) found -[12189] Forked 25613 -(25613) found -[12188] Forked 25614 -(25614) found -[12187] Forked 25615 -(25615) found -[12186] Forked 25616 -(25616) found -[12185] Forked 25617 -(25617) found -[12184] Forked 25618 -(25618) found -[12183] Forked 25619 -(25619) found -[12182] Forked 25620 -(25620) found -[12181] Forked 25621 -(25621) found -[12180] Forked 25622 -(25622) found -[12179] Forked 25623 -(25623) found -[12178] Forked 25624 -(25624) found -[12177] Forked 25625 -(25625) found -[12176] Forked 25626 -(25626) found -[12175] Forked 25627 -(25627) found -[12174] Forked 25628 -(25628) found -[12173] Forked 25629 -(25629) found -[12172] Forked 25630 -(25630) found -[12171] Forked 25631 -(25631) found -[12170] Forked 25632 -(25632) found -[12169] Forked 25633 -(25633) found -[12168] Forked 25634 -(25634) found -[12167] Forked 25635 -(25635) found -[12166] Forked 25636 -[12165] Forked 25637 -(25636) found -(25637) found -[12164] Forked 25638 -[12163] Forked 25639 -(25638) found -(25639) found -[12162] Forked 25640 -[12161] Forked 25641 -(25640) found -(25641) found -[12160] Forked 25642 -[12159] Forked 25643 -(25642) found -(25643) found -[12158] Forked 25644 -[12157] Forked 25645 -(25644) found -(25645) found -[12156] Forked 25646 -[12155] Forked 25647 -(25646) found -(25647) found -[12154] Forked 25648 -[12153] Forked 25649 -(25648) found -(25649) found -[12152] Forked 25650 -[12151] Forked 25651 -(25650) found -(25651) found -[12150] Forked 25652 -[12149] Forked 25653 -(25652) found -(25653) found -[12148] Forked 25654 -[12147] Forked 25655 -(25654) found -(25655) found -[12146] Forked 25656 -[12145] Forked 25657 -(25656) found -(25657) found -[12144] Forked 25658 -[12143] Forked 25659 -(25658) found -(25659) found -[12142] Forked 25660 -[12141] Forked 25661 -(25660) found -(25661) found -[12140] Forked 25662 -[12139] Forked 25663 -(25662) found -(25663) found -[12138] Forked 25664 -[12137] Forked 25665 -(25664) found -(25665) found -[12136] Forked 25666 -[12135] Forked 25667 -(25666) found -(25667) found -[12134] Forked 25668 -[12133] Forked 25669 -(25668) found -(25669) found -[12132] Forked 25670 -[12131] Forked 25671 -(25670) found -(25671) found -[12130] Forked 25672 -[12129] Forked 25673 -(25672) found -(25673) found -[12128] Forked 25674 -[12127] Forked 25675 -(25674) found -(25675) found -[12126] Forked 25676 -[12125] Forked 25677 -(25676) found -(25677) found -[12124] Forked 25678 -[12123] Forked 25679 -(25678) found -(25679) found -[12122] Forked 25680 -[12121] Forked 25681 -(25680) found -(25681) found -[12120] Forked 25682 -[12119] Forked 25683 -(25682) found -(25683) found -[12118] Forked 25684 -[12117] Forked 25685 -(25684) found -(25685) found -[12116] Forked 25686 -[12115] Forked 25687 -(25686) found -(25687) found -[12114] Forked 25688 -[12113] Forked 25689 -(25688) found -(25689) found -[12112] Forked 25690 -[12111] Forked 25691 -(25690) found -(25691) found -[12110] Forked 25692 -[12109] Forked 25693 -(25692) found -(25693) found -[12108] Forked 25694 -[12107] Forked 25695 -(25694) found -(25695) found -[12106] Forked 25696 -[12105] Forked 25697 -(25696) found -(25697) found -[12104] Forked 25698 -[12103] Forked 25699 -(25698) found -(25699) found -[12102] Forked 25700 -[12101] Forked 25701 -(25700) found -(25701) found -[12100] Forked 25702 -[12099] Forked 25703 -(25702) found -(25703) found -[12098] Forked 25704 -[12097] Forked 25705 -(25704) found -(25705) found -[12096] Forked 25706 -[12095] Forked 25707 -(25706) found -(25707) found -[12094] Forked 25708 -[12093] Forked 25709 -(25708) found -(25709) found -[12092] Forked 25710 -[12091] Forked 25711 -(25710) found -(25711) found -[12090] Forked 25712 -[12089] Forked 25713 -(25712) found -(25713) found -[12088] Forked 25714 -[12087] Forked 25715 -(25714) found -(25715) found -[12086] Forked 25716 -[12085] Forked 25717 -(25716) found -(25717) found -[12084] Forked 25718 -[12083] Forked 25719 -(25718) found -(25719) found -[12082] Forked 25720 -[12081] Forked 25721 -(25720) found -(25721) found -[12080] Forked 25722 -[12079] Forked 25723 -(25722) found -(25723) found -[12078] Forked 25724 -[12077] Forked 25725 -(25724) found -(25725) found -[12076] Forked 25726 -(25726) found -[12075] Forked 25727 -(25727) found -[12074] Forked 25728 -(25728) found -[12073] Forked 25729 -(25729) found -[12072] Forked 25730 -(25730) found -[12071] Forked 25731 -(25731) found -[12070] Forked 25732 -(25732) found -[12069] Forked 25733 -(25733) found -[12068] Forked 25734 -(25734) found -[12067] Forked 25735 -(25735) found -[12066] Forked 25736 -(25736) found -[12065] Forked 25737 -(25737) found -[12064] Forked 25738 -(25738) found -[12063] Forked 25739 -(25739) found -[12062] Forked 25740 -(25740) found -[12061] Forked 25741 -(25741) found -[12060] Forked 25742 -(25742) found -[12059] Forked 25743 -(25743) found -[12058] Forked 25744 -(25744) found -[12057] Forked 25745 -(25745) found -[12056] Forked 25746 -(25746) found -[12055] Forked 25747 -(25747) found -[12054] Forked 25748 -(25748) found -[12053] Forked 25749 -(25749) found -[12052] Forked 25750 -(25750) found -[12051] Forked 25751 -(25751) found -[12050] Forked 25752 -(25752) found -[12049] Forked 25753 -(25753) found -[12048] Forked 25754 -(25754) found -[12047] Forked 25755 -(25755) found -[12046] Forked 25756 -(25756) found -[12045] Forked 25757 -(25757) found -[12044] Forked 25758 -(25758) found -[12043] Forked 25759 -(25759) found -[12042] Forked 25760 -(25760) found -[12041] Forked 25761 -(25761) found -[12040] Forked 25762 -(25762) found -[12039] Forked 25763 -(25763) found -[12038] Forked 25764 -[12037] Forked 25765 -(25764) found -(25765) found -[12036] Forked 25766 -[12035] Forked 25767 -(25766) found -(25767) found -[12034] Forked 25768 -[12033] Forked 25769 -(25768) found -(25769) found -[12032] Forked 25770 -[12031] Forked 25771 -(25770) found -(25771) found -[12030] Forked 25772 -[12029] Forked 25774 -(25772) found -(25774) found -[12028] Forked 25775 -[12027] Forked 25776 -(25775) found -(25776) found -[12026] Forked 25777 -[12025] Forked 25778 -(25777) found -(25778) found -[12024] Forked 25779 -[12023] Forked 25780 -(25780) found -(25779) found -[12022] Forked 25781 -(25781) found -[12021] Forked 25782 -(25782) found -[12020] Forked 25783 -(25783) found -[12019] Forked 25784 -(25784) found -[12018] Forked 25785 -(25785) found -[12017] Forked 25786 -(25786) found -[12016] Forked 25787 -(25787) found -[12015] Forked 25788 -(25788) found -[12014] Forked 25789 -(25789) found -[12013] Forked 25790 -(25790) found -[12012] Forked 25791 -(25791) found -[12011] Forked 25792 -(25792) found -[12010] Forked 25793 -(25793) found -[12009] Forked 25794 -(25794) found -[12008] Forked 25795 -(25795) found -[12007] Forked 25796 -(25796) found -[12006] Forked 25797 -(25797) found -[12005] Forked 25798 -(25798) found -[12004] Forked 25799 -(25799) found -[12003] Forked 25800 -(25800) found -[12002] Forked 25801 -(25801) found -[12001] Forked 25802 -(25802) found -[12000] Forked 25803 -(25803) found -[11999] Forked 25804 -(25804) found -[11998] Forked 25805 -(25805) found -[11997] Forked 25806 -(25806) found -[11996] Forked 25807 -(25807) found -[11995] Forked 25808 -(25808) found -[11994] Forked 25809 -(25809) found -[11993] Forked 25810 -(25810) found -[11992] Forked 25811 -(25811) found -[11991] Forked 25812 -(25812) found -[11990] Forked 25813 -(25813) found -[11989] Forked 25814 -(25814) found -[11988] Forked 25815 -(25815) found -[11987] Forked 25816 -(25816) found -[11986] Forked 25817 -(25817) found -[11985] Forked 25818 -(25818) found -[11984] Forked 25819 -(25819) found -[11983] Forked 25820 -(25820) found -[11982] Forked 25821 -(25821) found -[11981] Forked 25822 -(25822) found -[11980] Forked 25823 -(25823) found -[11979] Forked 25824 -(25824) found -[11978] Forked 25825 -(25825) found -[11977] Forked 25826 -(25826) found -[11976] Forked 25827 -(25827) found -[11975] Forked 25828 -(25828) found -[11974] Forked 25829 -(25829) found -[11973] Forked 25830 -(25830) found -[11972] Forked 25831 -(25831) found -[11971] Forked 25832 -(25832) found -[11970] Forked 25833 -(25833) found -[11969] Forked 25834 -(25834) found -[11968] Forked 25835 -(25835) found -[11967] Forked 25836 -[11966] Forked 25837 -(25836) found -(25837) found -[11965] Forked 25838 -[11964] Forked 25839 -(25838) found -(25839) found -[11963] Forked 25840 -[11962] Forked 25841 -(25840) found -(25841) found -[11961] Forked 25842 -[11960] Forked 25843 -(25842) found -(25843) found -[11959] Forked 25844 -[11958] Forked 25845 -(25844) found -(25845) found -[11957] Forked 25846 -[11956] Forked 25847 -(25846) found -(25847) found -[11955] Forked 25848 -[11954] Forked 25849 -(25848) found -(25849) found -[11953] Forked 25850 -[11952] Forked 25851 -(25850) found -(25851) found -[11951] Forked 25852 -[11950] Forked 25853 -(25852) found -(25853) found -[11949] Forked 25854 -[11948] Forked 25855 -(25854) found -(25855) found -[11947] Forked 25856 -[11946] Forked 25857 -(25856) found -(25857) found -[11945] Forked 25858 -[11944] Forked 25859 -(25858) found -(25859) found -[11943] Forked 25860 -[11942] Forked 25861 -(25860) found -(25861) found -[11941] Forked 25862 -[11940] Forked 25863 -(25862) found -(25863) found -[11939] Forked 25864 -[11938] Forked 25865 -(25864) found -(25865) found -[11937] Forked 25866 -[11936] Forked 25867 -(25866) found -(25867) found -[11935] Forked 25868 -[11934] Forked 25869 -(25868) found -(25869) found -[11933] Forked 25870 -[11932] Forked 25871 -(25870) found -(25871) found -[11931] Forked 25872 -[11930] Forked 25873 -(25872) found -(25873) found -[11929] Forked 25874 -[11928] Forked 25875 -(25874) found -(25875) found -[11927] Forked 25876 -[11926] Forked 25877 -(25876) found -(25877) found -[11925] Forked 25878 -[11924] Forked 25879 -(25878) found -(25879) found -[11923] Forked 25880 -(25880) found -[11922] Forked 25881 -(25881) found -[11921] Forked 25882 -(25882) found -[11920] Forked 25883 -(25883) found -[11919] Forked 25884 -(25884) found -[11918] Forked 25885 -(25885) found -[11917] Forked 25886 -(25886) found -[11916] Forked 25887 -(25887) found -[11915] Forked 25888 -(25888) found -[11914] Forked 25889 -(25889) found -[11913] Forked 25890 -(25890) found -[11912] Forked 25891 -(25891) found -[11911] Forked 25892 -(25892) found -[11910] Forked 25893 -(25893) found -[11909] Forked 25894 -(25894) found -[11908] Forked 25895 -(25895) found -[11907] Forked 25896 -(25896) found -[11906] Forked 25897 -(25897) found -[11905] Forked 25898 -(25898) found -[11904] Forked 25899 -(25899) found -[11903] Forked 25900 -(25900) found -[11902] Forked 25901 -(25901) found -[11901] Forked 25902 -(25902) found -[11900] Forked 25903 -(25903) found -[11899] Forked 25904 -(25904) found -[11898] Forked 25905 -(25905) found -[11897] Forked 25906 -(25906) found -[11896] Forked 25907 -(25907) found -[11895] Forked 25908 -(25908) found -[11894] Forked 25909 -(25909) found -[11893] Forked 25910 -(25910) found -[11892] Forked 25911 -(25911) found -[11891] Forked 25912 -(25912) found -[11890] Forked 25913 -(25913) found -[11889] Forked 25914 -(25914) found -[11888] Forked 25915 -(25915) found -[11887] Forked 25916 -(25916) found -[11886] Forked 25917 -[11885] Forked 25918 -(25917) found -(25918) found -[11884] Forked 25919 -[11883] Forked 25920 -(25919) found -(25920) found -[11882] Forked 25921 -[11881] Forked 25922 -(25921) found -(25922) found -[11880] Forked 25923 -[11879] Forked 25924 -(25923) found -(25924) found -[11878] Forked 25925 -[11877] Forked 25926 -(25925) found -(25926) found -[11876] Forked 25927 -[11875] Forked 25928 -(25927) found -(25928) found -[11874] Forked 25929 -[11873] Forked 25930 -(25929) found -(25930) found -[11872] Forked 25931 -[11871] Forked 25932 -(25931) found -(25932) found -[11870] Forked 25933 -[11869] Forked 25934 -(25933) found -(25934) found -[11868] Forked 25935 -[11867] Forked 25936 -(25935) found -(25936) found -[11866] Forked 25937 -[11865] Forked 25938 -(25937) found -(25938) found -[11864] Forked 25939 -[11863] Forked 25940 -(25939) found -(25940) found -[11862] Forked 25941 -[11861] Forked 25942 -(25941) found -(25942) found -[11860] Forked 25943 -[11859] Forked 25944 -(25943) found -(25944) found -[11858] Forked 25945 -[11857] Forked 25946 -(25945) found -(25946) found -[11856] Forked 25947 -[11855] Forked 25948 -(25947) found -(25948) found -[11854] Forked 25949 -[11853] Forked 25950 -(25949) found -(25950) found -[11852] Forked 25951 -[11851] Forked 25952 -(25951) found -(25952) found -[11850] Forked 25953 -[11849] Forked 25954 -(25953) found -(25954) found -[11848] Forked 25955 -[11847] Forked 25956 -(25955) found -(25956) found -[11846] Forked 25957 -[11845] Forked 25958 -(25957) found -(25958) found -[11844] Forked 25959 -[11843] Forked 25960 -(25959) found -(25960) found -[11842] Forked 25961 -[11841] Forked 25962 -(25961) found -(25962) found -[11840] Forked 25963 -[11839] Forked 25964 -(25963) found -(25964) found -[11838] Forked 25965 -[11837] Forked 25966 -(25965) found -(25966) found -[11836] Forked 25967 -[11835] Forked 25968 -(25967) found -(25968) found -[11834] Forked 25969 -[11833] Forked 25970 -(25969) found -(25970) found -[11832] Forked 25971 -[11831] Forked 25972 -(25971) found -(25972) found -[11830] Forked 25973 -[11829] Forked 25974 -(25973) found -(25974) found -[11828] Forked 25975 -[11827] Forked 25976 -(25975) found -(25976) found -[11826] Forked 25977 -[11825] Forked 25978 -(25977) found -(25978) found -[11824] Forked 25979 -[11823] Forked 25980 -(25979) found -(25980) found -[11822] Forked 25981 -[11821] Forked 25982 -(25981) found -(25982) found -[11820] Forked 25983 -[11819] Forked 25984 -(25983) found -(25984) found -[11818] Forked 25985 -[11817] Forked 25986 -(25985) found -(25986) found -[11816] Forked 25987 -[11815] Forked 25988 -(25987) found -(25988) found -[11814] Forked 25989 -[11813] Forked 25990 -(25989) found -(25990) found -[11812] Forked 25991 -[11811] Forked 25992 -(25991) found -(25992) found -[11810] Forked 25993 -[11809] Forked 25994 -(25993) found -(25994) found -[11808] Forked 25995 -[11807] Forked 25996 -(25995) found -(25996) found -[11806] Forked 25997 -[11805] Forked 25998 -(25997) found -(25998) found -[11804] Forked 25999 -[11803] Forked 26000 -(25999) found -(26000) found -[11802] Forked 26001 -(26001) found -[11801] Forked 26002 -[11800] Forked 26003 -(26002) found -(26003) found -[11799] Forked 26004 -[11798] Forked 26005 -(26004) found -(26005) found -[11797] Forked 26006 -[11796] Forked 26007 -(26006) found -(26007) found -[11795] Forked 26008 -[11794] Forked 26009 -(26008) found -(26009) found -[11793] Forked 26010 -[11792] Forked 26011 -(26010) found -(26011) found -[11791] Forked 26012 -[11790] Forked 26013 -(26012) found -(26013) found -[11789] Forked 26014 -[11788] Forked 26015 -(26014) found -(26015) found -[11787] Forked 26016 -[11786] Forked 26017 -(26016) found -(26017) found -[11785] Forked 26018 -[11784] Forked 26019 -(26018) found -(26019) found -[11783] Forked 26020 -[11782] Forked 26021 -(26020) found -(26021) found -[11781] Forked 26022 -[11780] Forked 26023 -(26022) found -(26023) found -[11779] Forked 26024 -[11778] Forked 26025 -(26024) found -(26025) found -[11777] Forked 26026 -[11776] Forked 26027 -(26026) found -(26027) found -[11775] Forked 26028 -[11774] Forked 26029 -(26028) found -(26029) found -[11773] Forked 26030 -[11772] Forked 26031 -(26030) found -(26031) found -[11771] Forked 26032 -[11770] Forked 26033 -(26032) found -(26033) found -[11769] Forked 26034 -[11768] Forked 26035 -(26034) found -(26035) found -[11767] Forked 26036 -[11766] Forked 26037 -(26036) found -(26037) found -[11765] Forked 26038 -[11764] Forked 26039 -(26038) found -(26039) found -[11763] Forked 26040 -[11762] Forked 26041 -(26040) found -(26041) found -[11761] Forked 26042 -[11760] Forked 26043 -(26042) found -(26043) found -[11759] Forked 26044 -[11758] Forked 26045 -(26044) found -(26045) found -[11757] Forked 26046 -[11756] Forked 26047 -(26046) found -(26047) found -[11755] Forked 26048 -[11754] Forked 26050 -(26048) found -(26050) found -[11753] Forked 26051 -(26051) found -[11752] Forked 26052 -(26052) found -[11751] Forked 26053 -(26053) found -[11750] Forked 26054 -(26054) found -[11749] Forked 26055 -(26055) found -[11748] Forked 26056 -(26056) found -[11747] Forked 26057 -(26057) found -[11746] Forked 26058 -(26058) found -[11745] Forked 26059 -(26059) found -[11744] Forked 26060 -(26060) found -[11743] Forked 26061 -(26061) found -[11742] Forked 26062 -(26062) found -[11741] Forked 26063 -(26063) found -[11740] Forked 26064 -(26064) found -[11739] Forked 26065 -(26065) found -[11738] Forked 26066 -(26066) found -[11737] Forked 26067 -(26067) found -[11736] Forked 26068 -(26068) found -[11735] Forked 26069 -(26069) found -[11734] Forked 26070 -(26070) found -[11733] Forked 26071 -(26071) found -[11732] Forked 26072 -(26072) found -[11731] Forked 26073 -(26073) found -[11730] Forked 26074 -(26074) found -[11729] Forked 26075 -(26075) found -[11728] Forked 26076 -(26076) found -[11727] Forked 26077 -(26077) found -[11726] Forked 26078 -(26078) found -[11725] Forked 26079 -(26079) found -[11724] Forked 26080 -(26080) found -[11723] Forked 26081 -(26081) found -[11722] Forked 26082 -(26082) found -[11721] Forked 26083 -(26083) found -[11720] Forked 26084 -(26084) found -[11719] Forked 26085 -(26085) found -[11718] Forked 26086 -(26086) found -[11717] Forked 26087 -(26087) found -[11716] Forked 26088 -(26088) found -[11715] Forked 26089 -(26089) found -[11714] Forked 26090 -(26090) found -[11713] Forked 26091 -(26091) found -[11712] Forked 26092 -(26092) found -[11711] Forked 26093 -(26093) found -[11710] Forked 26094 -(26094) found -[11709] Forked 26095 -(26095) found -[11708] Forked 26096 -(26096) found -[11707] Forked 26097 -(26097) found -[11706] Forked 26098 -(26098) found -[11705] Forked 26099 -(26099) found -[11704] Forked 26100 -(26100) found -[11703] Forked 26101 -(26101) found -[11702] Forked 26102 -(26102) found -[11701] Forked 26103 -(26103) found -[11700] Forked 26104 -(26104) found -[11699] Forked 26105 -(26105) found -[11698] Forked 26106 -(26106) found -[11697] Forked 26107 -(26107) found -[11696] Forked 26108 -(26108) found -[11695] Forked 26109 -(26109) found -[11694] Forked 26110 -(26110) found -[11693] Forked 26111 -(26111) found -[11692] Forked 26112 -(26112) found -[11691] Forked 26113 -(26113) found -[11690] Forked 26114 -(26114) found -[11689] Forked 26115 -(26115) found -[11688] Forked 26116 -(26116) found -[11687] Forked 26117 -(26117) found -[11686] Forked 26118 -(26118) found -[11685] Forked 26119 -(26119) found -[11684] Forked 26120 -(26120) found -[11683] Forked 26121 -(26121) found -[11682] Forked 26122 -[11681] Forked 26123 -(26122) found -(26123) found -[11680] Forked 26124 -[11679] Forked 26125 -(26124) found -(26125) found -[11678] Forked 26126 -[11677] Forked 26127 -(26126) found -(26127) found -[11676] Forked 26128 -[11675] Forked 26129 -(26128) found -(26129) found -[11674] Forked 26130 -[11673] Forked 26131 -(26130) found -(26131) found -[11672] Forked 26132 -[11671] Forked 26133 -(26132) found -(26133) found -[11670] Forked 26134 -[11669] Forked 26135 -(26134) found -(26135) found -[11668] Forked 26136 -[11667] Forked 26137 -(26136) found -(26137) found -[11666] Forked 26138 -[11665] Forked 26139 -(26138) found -(26139) found -[11664] Forked 26140 -[11663] Forked 26141 -(26140) found -(26141) found -[11662] Forked 26142 -[11661] Forked 26143 -(26142) found -(26143) found -[11660] Forked 26144 -[11659] Forked 26145 -(26144) found -(26145) found -[11658] Forked 26146 -[11657] Forked 26147 -(26146) found -(26147) found -[11656] Forked 26148 -[11655] Forked 26149 -(26148) found -(26149) found -[11654] Forked 26150 -[11653] Forked 26151 -(26150) found -(26151) found -[11652] Forked 26152 -[11651] Forked 26153 -(26152) found -(26153) found -[11650] Forked 26154 -[11649] Forked 26155 -(26154) found -(26155) found -[11648] Forked 26156 -[11647] Forked 26157 -(26156) found -(26157) found -[11646] Forked 26158 -[11645] Forked 26159 -(26158) found -(26159) found -[11644] Forked 26160 -[11643] Forked 26161 -(26160) found -(26161) found -[11642] Forked 26162 -[11641] Forked 26163 -(26162) found -(26163) found -[11640] Forked 26164 -[11639] Forked 26165 -(26164) found -(26165) found -[11638] Forked 26166 -[11637] Forked 26168 -(26166) found -(26168) found -[11636] Forked 26169 -(26169) found -[11635] Forked 26170 -(26170) found -[11634] Forked 26171 -(26171) found -[11633] Forked 26172 -(26172) found -[11632] Forked 26173 -(26173) found -[11631] Forked 26174 -(26174) found -[11630] Forked 26175 -(26175) found -[11629] Forked 26176 -(26176) found -[11628] Forked 26177 -(26177) found -[11627] Forked 26178 -(26178) found -[11626] Forked 26179 -(26179) found -[11625] Forked 26180 -(26180) found -[11624] Forked 26181 -(26181) found -[11623] Forked 26182 -(26182) found -[11622] Forked 26183 -(26183) found -[11621] Forked 26184 -(26184) found -[11620] Forked 26185 -(26185) found -[11619] Forked 26186 -(26186) found -[11618] Forked 26187 -(26187) found -[11617] Forked 26188 -(26188) found -[11616] Forked 26189 -(26189) found -[11615] Forked 26190 -(26190) found -[11614] Forked 26191 -(26191) found -[11613] Forked 26192 -(26192) found -[11612] Forked 26193 -(26193) found -[11611] Forked 26194 -(26194) found -[11610] Forked 26195 -(26195) found -[11609] Forked 26196 -(26196) found -[11608] Forked 26197 -(26197) found -[11607] Forked 26198 -(26198) found -[11606] Forked 26199 -(26199) found -[11605] Forked 26200 -(26200) found -[11604] Forked 26201 -(26201) found -[11603] Forked 26202 -(26202) found -[11602] Forked 26203 -[11601] Forked 26204 -(26203) found -(26204) found -[11600] Forked 26205 -[11599] Forked 26206 -(26205) found -(26206) found -[11598] Forked 26207 -(26207) found -[11597] Forked 26208 -(26208) found -[11596] Forked 26209 -(26209) found -[11595] Forked 26210 -(26210) found -[11594] Forked 26211 -(26211) found -[11593] Forked 26212 -(26212) found -[11592] Forked 26213 -(26213) found -[11591] Forked 26214 -(26214) found -[11590] Forked 26215 -(26215) found -[11589] Forked 26216 -(26216) found -[11588] Forked 26217 -(26217) found -[11587] Forked 26218 -(26218) found -[11586] Forked 26219 -(26219) found -[11585] Forked 26220 -(26220) found -[11584] Forked 26221 -(26221) found -[11583] Forked 26222 -(26222) found -[11582] Forked 26223 -(26223) found -[11581] Forked 26224 -(26224) found -[11580] Forked 26225 -(26225) found -[11579] Forked 26226 -(26226) found -[11578] Forked 26227 -(26227) found -[11577] Forked 26228 -(26228) found -[11576] Forked 26229 -(26229) found -[11575] Forked 26230 -(26230) found -[11574] Forked 26231 -(26231) found -[11573] Forked 26232 -(26232) found -[11572] Forked 26233 -(26233) found -[11571] Forked 26234 -(26234) found -[11570] Forked 26235 -(26235) found -[11569] Forked 26236 -(26236) found -[11568] Forked 26237 -(26237) found -[11567] Forked 26238 -(26238) found -[11566] Forked 26239 -(26239) found -[11565] Forked 26240 -(26240) found -[11564] Forked 26241 -(26241) found -[11563] Forked 26242 -(26242) found -[11562] Forked 26243 -(26243) found -[11561] Forked 26244 -(26244) found -[11560] Forked 26245 -(26245) found -[11559] Forked 26246 -(26246) found -[11558] Forked 26247 -(26247) found -[11557] Forked 26248 -(26248) found -[11556] Forked 26249 -(26249) found -[11555] Forked 26250 -(26250) found -[11554] Forked 26251 -(26251) found -[11553] Forked 26252 -(26252) found -[11552] Forked 26253 -(26253) found -[11551] Forked 26254 -(26254) found -[11550] Forked 26255 -(26255) found -[11549] Forked 26256 -(26256) found -[11548] Forked 26257 -(26257) found -[11547] Forked 26258 -(26258) found -[11546] Forked 26259 -(26259) found -[11545] Forked 26260 -(26260) found -[11544] Forked 26261 -(26261) found -[11543] Forked 26262 -(26262) found -[11542] Forked 26263 -(26263) found -[11541] Forked 26264 -(26264) found -[11540] Forked 26265 -(26265) found -[11539] Forked 26266 -(26266) found -[11538] Forked 26267 -(26267) found -[11537] Forked 26268 -(26268) found -[11536] Forked 26269 -(26269) found -[11535] Forked 26270 -(26270) found -[11534] Forked 26271 -(26271) found -[11533] Forked 26272 -(26272) found -[11532] Forked 26273 -(26273) found -[11531] Forked 26274 -[11530] Forked 26275 -(26274) found -(26275) found -[11529] Forked 26276 -[11528] Forked 26277 -(26276) found -(26277) found -[11527] Forked 26278 -[11526] Forked 26279 -(26278) found -(26279) found -[11525] Forked 26280 -[11524] Forked 26281 -(26280) found -(26281) found -[11523] Forked 26282 -[11522] Forked 26283 -(26282) found -(26283) found -[11521] Forked 26284 -[11520] Forked 26285 -(26284) found -(26285) found -[11519] Forked 26286 -[11518] Forked 26287 -(26286) found -(26287) found -[11517] Forked 26288 -[11516] Forked 26289 -(26288) found -(26289) found -[11515] Forked 26290 -[11514] Forked 26291 -(26290) found -(26291) found -[11513] Forked 26292 -[11512] Forked 26293 -(26292) found -(26293) found -[11511] Forked 26294 -[11510] Forked 26295 -(26294) found -(26295) found -[11509] Forked 26296 -[11508] Forked 26297 -(26296) found -(26297) found -[11507] Forked 26298 -[11506] Forked 26299 -(26298) found -(26299) found -[11505] Forked 26300 -[11504] Forked 26301 -(26300) found -(26301) found -[11503] Forked 26302 -[11502] Forked 26303 -(26302) found -(26303) found -[11501] Forked 26304 -[11500] Forked 26305 -(26304) found -(26305) found -[11499] Forked 26306 -[11498] Forked 26307 -(26306) found -(26307) found -[11497] Forked 26308 -[11496] Forked 26309 -(26308) found -(26309) found -[11495] Forked 26310 -[11494] Forked 26311 -(26310) found -(26311) found -[11493] Forked 26312 -[11492] Forked 26314 -(26312) found -(26314) found -[11491] Forked 26315 -(26315) found -[11490] Forked 26316 -(26316) found -[11489] Forked 26317 -(26317) found -[11488] Forked 26318 -(26318) found -[11487] Forked 26319 -(26319) found -[11486] Forked 26320 -(26320) found -[11485] Forked 26321 -(26321) found -[11484] Forked 26322 -(26322) found -[11483] Forked 26323 -(26323) found -[11482] Forked 26324 -(26324) found -[11481] Forked 26325 -(26325) found -[11480] Forked 26326 -(26326) found -[11479] Forked 26327 -(26327) found -[11478] Forked 26328 -(26328) found -[11477] Forked 26329 -(26329) found -[11476] Forked 26330 -(26330) found -[11475] Forked 26331 -(26331) found -[11474] Forked 26332 -(26332) found -[11473] Forked 26333 -(26333) found -[11472] Forked 26334 -(26334) found -[11471] Forked 26335 -(26335) found -[11470] Forked 26336 -(26336) found -[11469] Forked 26337 -(26337) found -[11468] Forked 26338 -(26338) found -[11467] Forked 26339 -(26339) found -[11466] Forked 26340 -(26340) found -[11465] Forked 26341 -(26341) found -[11464] Forked 26342 -(26342) found -[11463] Forked 26343 -(26343) found -[11462] Forked 26344 -(26344) found -[11461] Forked 26345 -(26345) found -[11460] Forked 26346 -(26346) found -[11459] Forked 26347 -(26347) found -[11458] Forked 26348 -(26348) found -[11457] Forked 26349 -(26349) found -[11456] Forked 26350 -(26350) found -[11455] Forked 26351 -(26351) found -[11454] Forked 26352 -(26352) found -[11453] Forked 26353 -(26353) found -[11452] Forked 26354 -(26354) found -[11451] Forked 26355 -(26355) found -[11450] Forked 26356 -(26356) found -[11449] Forked 26357 -(26357) found -[11448] Forked 26358 -(26358) found -[11447] Forked 26359 -(26359) found -[11446] Forked 26360 -(26360) found -[11445] Forked 26361 -(26361) found -[11444] Forked 26362 -(26362) found -[11443] Forked 26363 -(26363) found -[11442] Forked 26364 -(26364) found -[11441] Forked 26365 -(26365) found -[11440] Forked 26366 -(26366) found -[11439] Forked 26367 -(26367) found -[11438] Forked 26368 -(26368) found -[11437] Forked 26369 -(26369) found -[11436] Forked 26370 -(26370) found -[11435] Forked 26371 -(26371) found -[11434] Forked 26372 -(26372) found -[11433] Forked 26373 -(26373) found -[11432] Forked 26374 -(26374) found -[11431] Forked 26375 -(26375) found -[11430] Forked 26376 -(26376) found -[11429] Forked 26377 -(26377) found -[11428] Forked 26378 -(26378) found -[11427] Forked 26379 -(26379) found -[11426] Forked 26380 -(26380) found -[11425] Forked 26381 -(26381) found -[11424] Forked 26382 -(26382) found -[11423] Forked 26383 -(26383) found -[11422] Forked 26384 -(26384) found -[11421] Forked 26385 -(26385) found -[11420] Forked 26386 -(26386) found -[11419] Forked 26387 -(26387) found -[11418] Forked 26388 -(26388) found -[11417] Forked 26389 -(26389) found -[11416] Forked 26390 -(26390) found -[11415] Forked 26391 -(26391) found -[11414] Forked 26392 -(26392) found -[11413] Forked 26393 -(26393) found -[11412] Forked 26394 -(26394) found -[11411] Forked 26395 -(26395) found -[11410] Forked 26396 -(26396) found -[11409] Forked 26397 -(26397) found -[11408] Forked 26398 -(26398) found -[11407] Forked 26399 -(26399) found -[11406] Forked 26400 -(26400) found -[11405] Forked 26401 -(26401) found -[11404] Forked 26402 -(26402) found -[11403] Forked 26403 -(26403) found -[11402] Forked 26404 -(26404) found -[11401] Forked 26405 -(26405) found -[11400] Forked 26406 -(26406) found -[11399] Forked 26407 -(26407) found -[11398] Forked 26408 -(26408) found -[11397] Forked 26409 -(26409) found -[11396] Forked 26410 -(26410) found -[11395] Forked 26411 -(26411) found -[11394] Forked 26412 -(26412) found -[11393] Forked 26413 -(26413) found -[11392] Forked 26414 -(26414) found -[11391] Forked 26415 -(26415) found -[11390] Forked 26416 -(26416) found -[11389] Forked 26417 -(26417) found -[11388] Forked 26418 -(26418) found -[11387] Forked 26419 -(26419) found -[11386] Forked 26420 -(26420) found -[11385] Forked 26421 -(26421) found -[11384] Forked 26422 -(26422) found -[11383] Forked 26423 -(26423) found -[11382] Forked 26424 -(26424) found -[11381] Forked 26425 -(26425) found -[11380] Forked 26426 -(26426) found -[11379] Forked 26427 -(26427) found -[11378] Forked 26428 -(26428) found -[11377] Forked 26429 -(26429) found -[11376] Forked 26430 -(26430) found -[11375] Forked 26431 -(26431) found -[11374] Forked 26432 -(26432) found -[11373] Forked 26433 -(26433) found -[11372] Forked 26434 -(26434) found -[11371] Forked 26435 -(26435) found -[11370] Forked 26436 -(26436) found -[11369] Forked 26437 -(26437) found -[11368] Forked 26438 -(26438) found -[11367] Forked 26439 -(26439) found -[11366] Forked 26440 -(26440) found -[11365] Forked 26441 -(26441) found -[11364] Forked 26442 -(26442) found -[11363] Forked 26443 -(26443) found -[11362] Forked 26444 -(26444) found -[11361] Forked 26445 -(26445) found -[11360] Forked 26446 -(26446) found -[11359] Forked 26447 -(26447) found -[11358] Forked 26448 -(26448) found -[11357] Forked 26449 -(26449) found -[11356] Forked 26450 -(26450) found -[11355] Forked 26451 -(26451) found -[11354] Forked 26452 -(26452) found -[11353] Forked 26453 -(26453) found -[11352] Forked 26454 -(26454) found -[11351] Forked 26455 -(26455) found -[11350] Forked 26456 -(26456) found -[11349] Forked 26457 -(26457) found -[11348] Forked 26458 -(26458) found -[11347] Forked 26459 -(26459) found -[11346] Forked 26460 -(26460) found -[11345] Forked 26461 -(26461) found -[11344] Forked 26462 -(26462) found -[11343] Forked 26463 -(26463) found -[11342] Forked 26464 -(26464) found -[11341] Forked 26465 -(26465) found -[11340] Forked 26466 -(26466) found -[11339] Forked 26467 -(26467) found -[11338] Forked 26468 -(26468) found -[11337] Forked 26469 -(26469) found -[11336] Forked 26470 -(26470) found -[11335] Forked 26471 -(26471) found -[11334] Forked 26472 -(26472) found -[11333] Forked 26473 -(26473) found -[11332] Forked 26474 -(26474) found -[11331] Forked 26475 -(26475) found -[11330] Forked 26476 -(26476) found -[11329] Forked 26477 -(26477) found -[11328] Forked 26478 -(26478) found -[11327] Forked 26479 -(26479) found -[11326] Forked 26480 -(26480) found -[11325] Forked 26481 -(26481) found -[11324] Forked 26482 -(26482) found -[11323] Forked 26483 -(26483) found -[11322] Forked 26484 -(26484) found -[11321] Forked 26485 -(26485) found -[11320] Forked 26486 -(26486) found -[11319] Forked 26487 -(26487) found -[11318] Forked 26488 -(26488) found -[11317] Forked 26489 -(26489) found -[11316] Forked 26490 -(26490) found -[11315] Forked 26491 -(26491) found -[11314] Forked 26492 -(26492) found -[11313] Forked 26493 -[11312] Forked 26494 -(26493) found -(26494) found -[11311] Forked 26495 -[11310] Forked 26496 -(26495) found -(26496) found -[11309] Forked 26497 -[11308] Forked 26498 -(26497) found -(26498) found -[11307] Forked 26499 -[11306] Forked 26500 -(26499) found -(26500) found -[11305] Forked 26501 -[11304] Forked 26502 -(26501) found -(26502) found -[11303] Forked 26503 -[11302] Forked 26504 -(26503) found -(26504) found -[11301] Forked 26505 -[11300] Forked 26506 -(26505) found -(26506) found -[11299] Forked 26507 -[11298] Forked 26508 -(26507) found -(26508) found -[11297] Forked 26509 -[11296] Forked 26510 -(26509) found -(26510) found -[11295] Forked 26511 -[11294] Forked 26512 -(26511) found -(26512) found -[11293] Forked 26513 -[11292] Forked 26514 -(26513) found -(26514) found -[11291] Forked 26515 -[11290] Forked 26516 -(26515) found -(26516) found -[11289] Forked 26517 -[11288] Forked 26518 -(26517) found -(26518) found -[11287] Forked 26519 -[11286] Forked 26520 -(26519) found -(26520) found -[11285] Forked 26521 -[11284] Forked 26522 -(26521) found -(26522) found -[11283] Forked 26523 -[11282] Forked 26524 -(26523) found -(26524) found -[11281] Forked 26525 -[11280] Forked 26526 -(26525) found -(26526) found -[11279] Forked 26527 -[11278] Forked 26528 -(26527) found -(26528) found -[11277] Forked 26529 -[11276] Forked 26530 -(26529) found -(26530) found -[11275] Forked 26531 -[11274] Forked 26532 -(26531) found -(26532) found -[11273] Forked 26533 -[11272] Forked 26534 -(26533) found -(26534) found -[11271] Forked 26535 -[11270] Forked 26536 -(26535) found -(26536) found -[11269] Forked 26537 -[11268] Forked 26538 -(26537) found -(26538) found -[11267] Forked 26539 -(26539) found -[11266] Forked 26540 -(26540) found -[11265] Forked 26541 -(26541) found -[11264] Forked 26542 -(26542) found -[11263] Forked 26543 -(26543) found -[11262] Forked 26544 -(26544) found -[11261] Forked 26545 -(26545) found -[11260] Forked 26546 -(26546) found -[11259] Forked 26547 -(26547) found -[11258] Forked 26548 -(26548) found -[11257] Forked 26549 -(26549) found -[11256] Forked 26550 -(26550) found -[11255] Forked 26551 -(26551) found -[11254] Forked 26552 -(26552) found -[11253] Forked 26553 -(26553) found -[11252] Forked 26554 -(26554) found -[11251] Forked 26555 -(26555) found -[11250] Forked 26556 -(26556) found -[11249] Forked 26557 -(26557) found -[11248] Forked 26558 -(26558) found -[11247] Forked 26559 -(26559) found -[11246] Forked 26560 -(26560) found -[11245] Forked 26561 -(26561) found -[11244] Forked 26562 -(26562) found -[11243] Forked 26563 -(26563) found -[11242] Forked 26564 -(26564) found -[11241] Forked 26565 -(26565) found -[11240] Forked 26566 -(26566) found -[11239] Forked 26567 -(26567) found -[11238] Forked 26568 -(26568) found -[11237] Forked 26569 -(26569) found -[11236] Forked 26570 -(26570) found -[11235] Forked 26571 -(26571) found -[11234] Forked 26572 -(26572) found -[11233] Forked 26573 -(26573) found -[11232] Forked 26574 -(26574) found -[11231] Forked 26575 -[11230] Forked 26576 -(26575) found -(26576) found -[11229] Forked 26577 -[11228] Forked 26578 -(26577) found -(26578) found -[11227] Forked 26579 -[11226] Forked 26580 -(26579) found -(26580) found -[11225] Forked 26581 -[11224] Forked 26582 -(26581) found -(26582) found -[11223] Forked 26583 -[11222] Forked 26584 -(26583) found -(26584) found -[11221] Forked 26585 -[11220] Forked 26586 -(26585) found -(26586) found -[11219] Forked 26587 -[11218] Forked 26588 -(26587) found -(26588) found -[11217] Forked 26589 -[11216] Forked 26590 -(26589) found -(26590) found -[11215] Forked 26591 -[11214] Forked 26592 -(26591) found -(26592) found -[11213] Forked 26593 -[11212] Forked 26594 -(26593) found -(26594) found -[11211] Forked 26595 -[11210] Forked 26596 -(26595) found -(26596) found -[11209] Forked 26597 -[11208] Forked 26598 -(26597) found -(26598) found -[11207] Forked 26599 -[11206] Forked 26600 -(26599) found -(26600) found -[11205] Forked 26601 -[11204] Forked 26602 -(26601) found -(26602) found -[11203] Forked 26603 -[11202] Forked 26604 -(26603) found -(26604) found -[11201] Forked 26605 -[11200] Forked 26606 -(26605) found -(26606) found -[11199] Forked 26607 -[11198] Forked 26608 -(26607) found -(26608) found -[11197] Forked 26609 -[11196] Forked 26610 -(26609) found -(26610) found -[11195] Forked 26611 -[11194] Forked 26612 -(26611) found -(26612) found -[11193] Forked 26613 -[11192] Forked 26614 -(26613) found -(26614) found -[11191] Forked 26615 -[11190] Forked 26616 -(26615) found -(26616) found -[11189] Forked 26617 -[11188] Forked 26618 -(26617) found -(26618) found -[11187] Forked 26619 -[11186] Forked 26620 -(26619) found -(26620) found -[11185] Forked 26621 -(26621) found -[11184] Forked 26622 -(26622) found -[11183] Forked 26623 -(26623) found -[11182] Forked 26624 -(26624) found -[11181] Forked 26625 -(26625) found -[11180] Forked 26626 -(26626) found -[11179] Forked 26627 -(26627) found -[11178] Forked 26628 -(26628) found -[11177] Forked 26629 -(26629) found -[11176] Forked 26630 -(26630) found -[11175] Forked 26631 -(26631) found -[11174] Forked 26632 -(26632) found -[11173] Forked 26633 -(26633) found -[11172] Forked 26634 -(26634) found -[11171] Forked 26635 -(26635) found -[11170] Forked 26636 -(26636) found -[11169] Forked 26637 -(26637) found -[11168] Forked 26638 -(26638) found -[11167] Forked 26639 -(26639) found -[11166] Forked 26640 -(26640) found -[11165] Forked 26641 -(26641) found -[11164] Forked 26642 -(26642) found -[11163] Forked 26643 -(26643) found -[11162] Forked 26644 -(26644) found -[11161] Forked 26645 -(26645) found -[11160] Forked 26646 -(26646) found -[11159] Forked 26647 -(26647) found -[11158] Forked 26648 -(26648) found -[11157] Forked 26649 -(26649) found -[11156] Forked 26650 -(26650) found -[11155] Forked 26651 -(26651) found -[11154] Forked 26652 -(26652) found -[11153] Forked 26653 -(26653) found -[11152] Forked 26654 -(26654) found -[11151] Forked 26655 -[11150] Forked 26656 -(26655) found -(26656) found -[11149] Forked 26657 -[11148] Forked 26658 -(26657) found -(26658) found -[11147] Forked 26659 -[11146] Forked 26660 -(26659) found -(26660) found -[11145] Forked 26661 -[11144] Forked 26662 -(26661) found -(26662) found -[11143] Forked 26663 -[11142] Forked 26664 -(26663) found -(26664) found -[11141] Forked 26665 -[11140] Forked 26666 -(26665) found -(26666) found -[11139] Forked 26667 -[11138] Forked 26668 -(26667) found -(26668) found -[11137] Forked 26669 -[11136] Forked 26670 -(26669) found -(26670) found -[11135] Forked 26671 -[11134] Forked 26672 -(26671) found -(26672) found -[11133] Forked 26673 -[11132] Forked 26674 -(26674) found -(26673) found -[11131] Forked 26675 -(26675) found -[11130] Forked 26676 -(26676) found -[11129] Forked 26677 -(26677) found -[11128] Forked 26678 -(26678) found -[11127] Forked 26679 -(26679) found -[11126] Forked 26680 -(26680) found -[11125] Forked 26681 -(26681) found -[11124] Forked 26682 -(26682) found -[11123] Forked 26683 -(26683) found -[11122] Forked 26684 -(26684) found -[11121] Forked 26685 -(26685) found -[11120] Forked 26686 -(26686) found -[11119] Forked 26687 -(26687) found -[11118] Forked 26688 -(26688) found -[11117] Forked 26689 -(26689) found -[11116] Forked 26690 -(26690) found -[11115] Forked 26691 -(26691) found -[11114] Forked 26692 -(26692) found -[11113] Forked 26693 -(26693) found -[11112] Forked 26694 -(26694) found -[11111] Forked 26695 -(26695) found -[11110] Forked 26696 -(26696) found -[11109] Forked 26697 -(26697) found -[11108] Forked 26698 -(26698) found -[11107] Forked 26699 -(26699) found -[11106] Forked 26700 -(26700) found -[11105] Forked 26701 -(26701) found -[11104] Forked 26702 -(26702) found -[11103] Forked 26703 -(26703) found -[11102] Forked 26704 -(26704) found -[11101] Forked 26705 -(26705) found -[11100] Forked 26706 -(26706) found -[11099] Forked 26707 -(26707) found -[11098] Forked 26708 -(26708) found -[11097] Forked 26709 -(26709) found -[11096] Forked 26710 -(26710) found -[11095] Forked 26711 -(26711) found -[11094] Forked 26712 -(26712) found -[11093] Forked 26713 -(26713) found -[11092] Forked 26714 -(26714) found -[11091] Forked 26715 -(26715) found -[11090] Forked 26716 -(26716) found -[11089] Forked 26717 -(26717) found -[11088] Forked 26718 -(26718) found -[11087] Forked 26719 -(26719) found -[11086] Forked 26720 -(26720) found -[11085] Forked 26721 -(26721) found -[11084] Forked 26722 -(26722) found -[11083] Forked 26723 -(26723) found -[11082] Forked 26724 -(26724) found -[11081] Forked 26725 -[11080] Forked 26726 -(26725) found -(26726) found -[11079] Forked 26727 -[11078] Forked 26728 -(26727) found -(26728) found -[11077] Forked 26729 -[11076] Forked 26730 -(26729) found -(26730) found -[11075] Forked 26731 -[11074] Forked 26732 -(26731) found -(26732) found -[11073] Forked 26733 -[11072] Forked 26734 -(26733) found -(26734) found -[11071] Forked 26735 -[11070] Forked 26736 -(26735) found -(26736) found -[11069] Forked 26737 -[11068] Forked 26738 -(26737) found -(26738) found -[11067] Forked 26739 -[11066] Forked 26740 -(26739) found -(26740) found -[11065] Forked 26741 -[11064] Forked 26742 -(26741) found -(26742) found -[11063] Forked 26743 -[11062] Forked 26744 -(26743) found -(26744) found -[11061] Forked 26745 -[11060] Forked 26746 -(26745) found -(26746) found -[11059] Forked 26747 -[11058] Forked 26748 -(26747) found -(26748) found -[11057] Forked 26749 -[11056] Forked 26750 -(26749) found -(26750) found -[11055] Forked 26751 -[11054] Forked 26752 -(26751) found -(26752) found -[11053] Forked 26753 -[11052] Forked 26754 -(26753) found -(26754) found -[11051] Forked 26755 -[11050] Forked 26756 -(26755) found -(26756) found -[11049] Forked 26757 -[11048] Forked 26758 -(26757) found -(26758) found -[11047] Forked 26759 -[11046] Forked 26760 -(26759) found -(26760) found -[11045] Forked 26761 -[11044] Forked 26762 -(26761) found -(26762) found -[11043] Forked 26763 -[11042] Forked 26764 -(26763) found -(26764) found -[11041] Forked 26765 -[11040] Forked 26766 -(26765) found -(26766) found -[11039] Forked 26767 -[11038] Forked 26768 -(26767) found -(26768) found -[11037] Forked 26769 -[11036] Forked 26770 -(26769) found -(26770) found -[11035] Forked 26771 -[11034] Forked 26772 -(26771) found -(26772) found -[11033] Forked 26773 -[11032] Forked 26774 -(26773) found -(26774) found -[11031] Forked 26775 -[11030] Forked 26776 -(26775) found -(26776) found -[11029] Forked 26777 -[11028] Forked 26778 -(26777) found -(26778) found -[11027] Forked 26779 -[11026] Forked 26780 -(26779) found -(26780) found -[11025] Forked 26781 -(26781) found -[11024] Forked 26782 -[11023] Forked 26783 -(26782) found -(26783) found -[11022] Forked 26784 -[11021] Forked 26785 -(26784) found -(26785) found -[11020] Forked 26786 -[11019] Forked 26787 -(26786) found -(26787) found -[11018] Forked 26788 -[11017] Forked 26789 -(26788) found -(26789) found -[11016] Forked 26790 -[11015] Forked 26791 -(26790) found -(26791) found -[11014] Forked 26792 -[11013] Forked 26793 -(26792) found -(26793) found -[11012] Forked 26794 -[11011] Forked 26795 -(26794) found -(26795) found -[11010] Forked 26796 -[11009] Forked 26797 -(26796) found -(26797) found -[11008] Forked 26798 -[11007] Forked 26799 -(26798) found -(26799) found -[11006] Forked 26800 -[11005] Forked 26801 -(26800) found -(26801) found -[11004] Forked 26802 -[11003] Forked 26803 -(26802) found -(26803) found -[11002] Forked 26804 -[11001] Forked 26805 -(26804) found -(26805) found -[11000] Forked 26806 -[10999] Forked 26807 -(26806) found -(26807) found -[10998] Forked 26808 -[10997] Forked 26809 -(26808) found -(26809) found -[10996] Forked 26810 -[10995] Forked 26811 -(26810) found -(26811) found -[10994] Forked 26812 -(26812) found -[10993] Forked 26813 -(26813) found -[10992] Forked 26814 -(26814) found -[10991] Forked 26815 -(26815) found -[10990] Forked 26816 -(26816) found -[10989] Forked 26817 -(26817) found -[10988] Forked 26818 -(26818) found -[10987] Forked 26819 -(26819) found -[10986] Forked 26820 -(26820) found -[10985] Forked 26822 -(26822) found -[10984] Forked 26823 -(26823) found -[10983] Forked 26824 -(26824) found -[10982] Forked 26825 -(26825) found -[10981] Forked 26826 -(26826) found -[10980] Forked 26827 -(26827) found -[10979] Forked 26828 -(26828) found -[10978] Forked 26829 -(26829) found -[10977] Forked 26830 -(26830) found -[10976] Forked 26831 -(26831) found -[10975] Forked 26832 -(26832) found -[10974] Forked 26833 -(26833) found -[10973] Forked 26834 -(26834) found -[10972] Forked 26835 -(26835) found -[10971] Forked 26836 -(26836) found -[10970] Forked 26837 -(26837) found -[10969] Forked 26838 -(26838) found -[10968] Forked 26839 -(26839) found -[10967] Forked 26840 -(26840) found -[10966] Forked 26841 -(26841) found -[10965] Forked 26842 -(26842) found -[10964] Forked 26843 -(26843) found -[10963] Forked 26844 -(26844) found -[10962] Forked 26845 -(26845) found -[10961] Forked 26846 -(26846) found -[10960] Forked 26847 -(26847) found -[10959] Forked 26848 -(26848) found -[10958] Forked 26849 -(26849) found -[10957] Forked 26850 -(26850) found -[10956] Forked 26851 -(26851) found -[10955] Forked 26852 -(26852) found -[10954] Forked 26853 -(26853) found -[10953] Forked 26854 -(26854) found -[10952] Forked 26855 -(26855) found -[10951] Forked 26856 -(26856) found -[10950] Forked 26857 -(26857) found -[10949] Forked 26858 -(26858) found -[10948] Forked 26859 -(26859) found -[10947] Forked 26860 -(26860) found -[10946] Forked 26861 -(26861) found -[10945] Forked 26862 -(26862) found -[10944] Forked 26863 -(26863) found -[10943] Forked 26864 -(26864) found -[10942] Forked 26865 -(26865) found -[10941] Forked 26866 -(26866) found -[10940] Forked 26867 -(26867) found -[10939] Forked 26868 -(26868) found -[10938] Forked 26869 -(26869) found -[10937] Forked 26870 -(26870) found -[10936] Forked 26871 -(26871) found -[10935] Forked 26872 -(26872) found -[10934] Forked 26873 -(26873) found -[10933] Forked 26874 -(26874) found -[10932] Forked 26875 -(26875) found -[10931] Forked 26876 -(26876) found -[10930] Forked 26877 -(26877) found -[10929] Forked 26878 -(26878) found -[10928] Forked 26879 -(26879) found -[10927] Forked 26880 -(26880) found -[10926] Forked 26881 -(26881) found -[10925] Forked 26882 -(26882) found -[10924] Forked 26883 -(26883) found -[10923] Forked 26884 -(26884) found -[10922] Forked 26885 -(26885) found -[10921] Forked 26886 -(26886) found -[10920] Forked 26887 -(26887) found -[10919] Forked 26888 -(26888) found -[10918] Forked 26889 -[10917] Forked 26890 -(26889) found -(26890) found -[10916] Forked 26891 -[10915] Forked 26892 -(26891) found -(26892) found -[10914] Forked 26893 -[10913] Forked 26894 -(26893) found -(26894) found -[10912] Forked 26895 -[10911] Forked 26896 -(26895) found -(26896) found -[10910] Forked 26897 -[10909] Forked 26898 -(26897) found -(26898) found -[10908] Forked 26899 -[10907] Forked 26900 -(26899) found -(26900) found -[10906] Forked 26901 -[10905] Forked 26902 -(26901) found -(26902) found -[10904] Forked 26903 -[10903] Forked 26904 -(26903) found -(26904) found -[10902] Forked 26905 -[10901] Forked 26906 -(26905) found -(26906) found -[10900] Forked 26907 -[10899] Forked 26908 -(26907) found -(26908) found -[10898] Forked 26909 -[10897] Forked 26910 -(26909) found -(26910) found -[10896] Forked 26911 -[10895] Forked 26912 -(26911) found -(26912) found -[10894] Forked 26913 -[10893] Forked 26914 -(26913) found -(26914) found -[10892] Forked 26915 -[10891] Forked 26916 -(26915) found -(26916) found -[10890] Forked 26917 -[10889] Forked 26918 -(26917) found -(26918) found -[10888] Forked 26919 -[10887] Forked 26920 -(26919) found -(26920) found -[10886] Forked 26921 -[10885] Forked 26922 -(26921) found -(26922) found -[10884] Forked 26923 -[10883] Forked 26924 -(26923) found -(26924) found -[10882] Forked 26925 -[10881] Forked 26926 -(26925) found -(26926) found -[10880] Forked 26927 -[10879] Forked 26928 -(26927) found -(26928) found -[10878] Forked 26929 -[10877] Forked 26930 -(26929) found -(26930) found -[10876] Forked 26931 -[10875] Forked 26932 -(26931) found -(26932) found -[10874] Forked 26933 -[10873] Forked 26934 -(26933) found -(26934) found -[10872] Forked 26935 -(26935) found -[10871] Forked 26936 -(26936) found -[10870] Forked 26937 -(26937) found -[10869] Forked 26938 -(26938) found -[10868] Forked 26939 -(26939) found -[10867] Forked 26940 -(26940) found -[10866] Forked 26941 -(26941) found -[10865] Forked 26942 -(26942) found -[10864] Forked 26943 -(26943) found -[10863] Forked 26944 -(26944) found -[10862] Forked 26945 -(26945) found -[10861] Forked 26946 -(26946) found -[10860] Forked 26947 -(26947) found -[10859] Forked 26948 -(26948) found -[10858] Forked 26949 -(26949) found -[10857] Forked 26950 -(26950) found -[10856] Forked 26951 -(26951) found -[10855] Forked 26952 -(26952) found -[10854] Forked 26953 -(26953) found -[10853] Forked 26954 -(26954) found -[10852] Forked 26955 -(26955) found -[10851] Forked 26956 -(26956) found -[10850] Forked 26957 -(26957) found -[10849] Forked 26958 -(26958) found -[10848] Forked 26959 -(26959) found -[10847] Forked 26960 -(26960) found -[10846] Forked 26961 -(26961) found -[10845] Forked 26962 -(26962) found -[10844] Forked 26963 -(26963) found -[10843] Forked 26964 -(26964) found -[10842] Forked 26965 -(26965) found -[10841] Forked 26966 -(26966) found -[10840] Forked 26967 -(26967) found -[10839] Forked 26968 -(26968) found -[10838] Forked 26969 -(26969) found -[10837] Forked 26970 -[10836] Forked 26971 -(26970) found -(26971) found -[10835] Forked 26972 -[10834] Forked 26973 -(26972) found -(26973) found -[10833] Forked 26974 -[10832] Forked 26975 -(26974) found -(26975) found -[10831] Forked 26976 -[10830] Forked 26977 -(26976) found -(26977) found -[10829] Forked 26978 -[10828] Forked 26979 -(26978) found -(26979) found -[10827] Forked 26980 -[10826] Forked 26981 -(26980) found -(26981) found -[10825] Forked 26982 -[10824] Forked 26983 -(26982) found -(26983) found -[10823] Forked 26984 -[10822] Forked 26985 -(26984) found -(26985) found -[10821] Forked 26986 -[10820] Forked 26987 -(26986) found -(26987) found -[10819] Forked 26988 -[10818] Forked 26989 -(26988) found -(26989) found -[10817] Forked 26990 -[10816] Forked 26991 -(26990) found -(26991) found -[10815] Forked 26992 -[10814] Forked 26993 -(26992) found -(26993) found -[10813] Forked 26994 -[10812] Forked 26995 -(26994) found -(26995) found -[10811] Forked 26996 -[10810] Forked 26997 -(26996) found -(26997) found -[10809] Forked 26998 -[10808] Forked 26999 -(26998) found -(26999) found -[10807] Forked 27000 -[10806] Forked 27001 -(27000) found -(27001) found -[10805] Forked 27002 -[10804] Forked 27003 -(27002) found -(27003) found -[10803] Forked 27004 -[10802] Forked 27005 -(27004) found -(27005) found -[10801] Forked 27006 -[10800] Forked 27007 -(27006) found -(27007) found -[10799] Forked 27008 -[10798] Forked 27009 -(27008) found -(27009) found -[10797] Forked 27010 -[10796] Forked 27011 -(27010) found -(27011) found -[10795] Forked 27012 -[10794] Forked 27013 -(27012) found -(27013) found -[10793] Forked 27014 -[10792] Forked 27015 -(27014) found -(27015) found -[10791] Forked 27016 -(27016) found -[10790] Forked 27017 -(27017) found -[10789] Forked 27018 -(27018) found -[10788] Forked 27019 -(27019) found -[10787] Forked 27020 -(27020) found -[10786] Forked 27021 -(27021) found -[10785] Forked 27022 -(27022) found -[10784] Forked 27023 -(27023) found -[10783] Forked 27024 -(27024) found -[10782] Forked 27025 -(27025) found -[10781] Forked 27026 -(27026) found -[10780] Forked 27027 -(27027) found -[10779] Forked 27028 -(27028) found -[10778] Forked 27029 -(27029) found -[10777] Forked 27030 -(27030) found -[10776] Forked 27031 -(27031) found -[10775] Forked 27032 -(27032) found -[10774] Forked 27033 -(27033) found -[10773] Forked 27034 -(27034) found -[10772] Forked 27035 -(27035) found -[10771] Forked 27036 -(27036) found -[10770] Forked 27037 -(27037) found -[10769] Forked 27038 -(27038) found -[10768] Forked 27039 -(27039) found -[10767] Forked 27040 -(27040) found -[10766] Forked 27041 -(27041) found -[10765] Forked 27042 -(27042) found -[10764] Forked 27043 -(27043) found -[10763] Forked 27044 -(27044) found -[10762] Forked 27045 -(27045) found -[10761] Forked 27046 -(27046) found -[10760] Forked 27047 -(27047) found -[10759] Forked 27048 -(27048) found -[10758] Forked 27049 -(27049) found -[10757] Forked 27050 -(27050) found -[10756] Forked 27051 -(27051) found -[10755] Forked 27052 -[10754] Forked 27053 -(27052) found -(27053) found -[10753] Forked 27054 -[10752] Forked 27055 -(27054) found -(27055) found -[10751] Forked 27056 -[10750] Forked 27057 -(27056) found -(27057) found -[10749] Forked 27058 -[10748] Forked 27059 -(27058) found -(27059) found -[10747] Forked 27060 -[10746] Forked 27061 -(27060) found -(27061) found -[10745] Forked 27062 -[10744] Forked 27063 -(27062) found -(27063) found -[10743] Forked 27064 -[10742] Forked 27065 -(27064) found -(27065) found -[10741] Forked 27066 -[10740] Forked 27067 -(27066) found -(27067) found -[10739] Forked 27068 -[10738] Forked 27069 -(27068) found -(27069) found -[10737] Forked 27070 -[10736] Forked 27071 -(27070) found -(27071) found -[10735] Forked 27072 -[10734] Forked 27073 -(27072) found -(27073) found -[10733] Forked 27074 -[10732] Forked 27075 -(27074) found -(27075) found -[10731] Forked 27076 -[10730] Forked 27077 -(27076) found -(27077) found -[10729] Forked 27078 -[10728] Forked 27079 -(27078) found -(27079) found -[10727] Forked 27080 -[10726] Forked 27081 -(27080) found -(27081) found -[10725] Forked 27082 -[10724] Forked 27083 -(27082) found -(27083) found -[10723] Forked 27084 -[10722] Forked 27085 -(27084) found -(27085) found -[10721] Forked 27086 -[10720] Forked 27087 -(27086) found -(27087) found -[10719] Forked 27088 -[10718] Forked 27089 -(27088) found -(27089) found -[10717] Forked 27090 -[10716] Forked 27091 -(27090) found -(27091) found -[10715] Forked 27092 -[10714] Forked 27093 -(27092) found -(27093) found -[10713] Forked 27094 -[10712] Forked 27095 -(27094) found -(27095) found -[10711] Forked 27096 -[10710] Forked 27097 -(27096) found -(27097) found -[10709] Forked 27098 -[10708] Forked 27099 -(27098) found -(27099) found -[10707] Forked 27100 -[10706] Forked 27101 -(27100) found -(27101) found -[10705] Forked 27102 -[10704] Forked 27103 -(27102) found -(27103) found -[10703] Forked 27104 -[10702] Forked 27105 -(27104) found -(27105) found -[10701] Forked 27106 -[10700] Forked 27107 -(27106) found -(27107) found -[10699] Forked 27108 -[10698] Forked 27109 -(27108) found -(27109) found -[10697] Forked 27110 -[10696] Forked 27111 -(27110) found -(27111) found -[10695] Forked 27112 -[10694] Forked 27113 -(27112) found -(27113) found -[10693] Forked 27114 -[10692] Forked 27115 -(27114) found -(27115) found -[10691] Forked 27116 -[10690] Forked 27117 -(27116) found -(27117) found -[10689] Forked 27118 -[10688] Forked 27119 -(27118) found -(27119) found -[10687] Forked 27120 -[10686] Forked 27121 -(27120) found -(27121) found -[10685] Forked 27122 -[10684] Forked 27123 -(27122) found -(27123) found -[10683] Forked 27124 -[10682] Forked 27125 -(27124) found -(27125) found -[10681] Forked 27126 -[10680] Forked 27127 -(27126) found -(27127) found -[10679] Forked 27128 -[10678] Forked 27129 -(27128) found -(27129) found -[10677] Forked 27130 -[10676] Forked 27131 -(27130) found -(27131) found -[10675] Forked 27132 -[10674] Forked 27133 -(27132) found -(27133) found -[10673] Forked 27134 -[10672] Forked 27135 -(27134) found -(27135) found -[10671] Forked 27136 -[10670] Forked 27138 -(27136) found -(27138) found -[10669] Forked 27139 -(27139) found -[10668] Forked 27140 -(27140) found -[10667] Forked 27141 -(27141) found -[10666] Forked 27142 -(27142) found -[10665] Forked 27143 -(27143) found -[10664] Forked 27144 -(27144) found -[10663] Forked 27145 -(27145) found -[10662] Forked 27146 -(27146) found -[10661] Forked 27147 -(27147) found -[10660] Forked 27148 -(27148) found -[10659] Forked 27149 -(27149) found -[10658] Forked 27150 -(27150) found -[10657] Forked 27151 -(27151) found -[10656] Forked 27152 -(27152) found -[10655] Forked 27153 -(27153) found -[10654] Forked 27154 -(27154) found -[10653] Forked 27155 -(27155) found -[10652] Forked 27156 -(27156) found -[10651] Forked 27157 -(27157) found -[10650] Forked 27158 -(27158) found -[10649] Forked 27159 -(27159) found -[10648] Forked 27160 -(27160) found -[10647] Forked 27161 -(27161) found -[10646] Forked 27162 -(27162) found -[10645] Forked 27163 -(27163) found -[10644] Forked 27164 -(27164) found -[10643] Forked 27165 -(27165) found -[10642] Forked 27166 -(27166) found -[10641] Forked 27167 -(27167) found -[10640] Forked 27168 -(27168) found -[10639] Forked 27169 -(27169) found -[10638] Forked 27170 -(27170) found -[10637] Forked 27171 -(27171) found -[10636] Forked 27172 -(27172) found -[10635] Forked 27173 -(27173) found -[10634] Forked 27174 -(27174) found -[10633] Forked 27175 -(27175) found -[10632] Forked 27176 -(27176) found -[10631] Forked 27177 -(27177) found -[10630] Forked 27178 -(27178) found -[10629] Forked 27179 -(27179) found -[10628] Forked 27180 -(27180) found -[10627] Forked 27181 -(27181) found -[10626] Forked 27182 -(27182) found -[10625] Forked 27183 -(27183) found -[10624] Forked 27184 -(27184) found -[10623] Forked 27185 -(27185) found -[10622] Forked 27186 -(27186) found -[10621] Forked 27187 -(27187) found -[10620] Forked 27188 -(27188) found -[10619] Forked 27189 -(27189) found -[10618] Forked 27190 -(27190) found -[10617] Forked 27191 -(27191) found -[10616] Forked 27192 -(27192) found -[10615] Forked 27193 -(27193) found -[10614] Forked 27194 -(27194) found -[10613] Forked 27195 -(27195) found -[10612] Forked 27196 -(27196) found -[10611] Forked 27197 -(27197) found -[10610] Forked 27198 -(27198) found -[10609] Forked 27199 -(27199) found -[10608] Forked 27200 -(27200) found -[10607] Forked 27201 -(27201) found -[10606] Forked 27202 -(27202) found -[10605] Forked 27203 -(27203) found -[10604] Forked 27204 -(27204) found -[10603] Forked 27205 -(27205) found -[10602] Forked 27206 -(27206) found -[10601] Forked 27207 -(27207) found -[10600] Forked 27208 -(27208) found -[10599] Forked 27209 -(27209) found -[10598] Forked 27210 -(27210) found -[10597] Forked 27211 -(27211) found -[10596] Forked 27212 -(27212) found -[10595] Forked 27213 -(27213) found -[10594] Forked 27214 -(27214) found -[10593] Forked 27215 -(27215) found -[10592] Forked 27216 -(27216) found -[10591] Forked 27217 -(27217) found -[10590] Forked 27218 -(27218) found -[10589] Forked 27219 -(27219) found -[10588] Forked 27220 -(27220) found -[10587] Forked 27221 -(27221) found -[10586] Forked 27222 -(27222) found -[10585] Forked 27223 -(27223) found -[10584] Forked 27224 -(27224) found -[10583] Forked 27225 -(27225) found -[10582] Forked 27226 -(27226) found -[10581] Forked 27227 -(27227) found -[10580] Forked 27228 -(27228) found -[10579] Forked 27229 -(27229) found -[10578] Forked 27230 -(27230) found -[10577] Forked 27231 -(27231) found -[10576] Forked 27232 -(27232) found -[10575] Forked 27233 -(27233) found -[10574] Forked 27234 -(27234) found -[10573] Forked 27235 -(27235) found -[10572] Forked 27236 -(27236) found -[10571] Forked 27237 -(27237) found -[10570] Forked 27238 -(27238) found -[10569] Forked 27239 -(27239) found -[10568] Forked 27240 -(27240) found -[10567] Forked 27241 -(27241) found -[10566] Forked 27242 -(27242) found -[10565] Forked 27243 -(27243) found -[10564] Forked 27244 -(27244) found -[10563] Forked 27245 -(27245) found -[10562] Forked 27246 -(27246) found -[10561] Forked 27247 -(27247) found -[10560] Forked 27248 -(27248) found -[10559] Forked 27249 -(27249) found -[10558] Forked 27250 -[10557] Forked 27251 -(27250) found -(27251) found -[10556] Forked 27252 -[10555] Forked 27253 -(27252) found -(27253) found -[10554] Forked 27254 -[10553] Forked 27255 -(27254) found -(27255) found -[10552] Forked 27256 -[10551] Forked 27257 -(27256) found -(27257) found -[10550] Forked 27258 -[10549] Forked 27259 -(27258) found -(27259) found -[10548] Forked 27260 -[10547] Forked 27261 -(27260) found -(27261) found -[10546] Forked 27262 -[10545] Forked 27263 -(27262) found -(27263) found -[10544] Forked 27264 -[10543] Forked 27265 -(27264) found -(27265) found -[10542] Forked 27266 -[10541] Forked 27267 -(27266) found -(27267) found -[10540] Forked 27268 -[10539] Forked 27269 -(27268) found -(27269) found -[10538] Forked 27270 -[10537] Forked 27271 -(27270) found -(27271) found -[10536] Forked 27272 -[10535] Forked 27273 -(27272) found -(27273) found -[10534] Forked 27274 -[10533] Forked 27275 -(27274) found -(27275) found -[10532] Forked 27276 -[10531] Forked 27277 -(27276) found -(27277) found -[10530] Forked 27278 -[10529] Forked 27279 -(27278) found -(27279) found -[10528] Forked 27280 -[10527] Forked 27281 -(27280) found -(27281) found -[10526] Forked 27282 -[10525] Forked 27283 -(27282) found -(27283) found -[10524] Forked 27284 -[10523] Forked 27285 -(27284) found -(27285) found -[10522] Forked 27286 -[10521] Forked 27287 -(27286) found -(27287) found -[10520] Forked 27288 -[10519] Forked 27289 -(27288) found -(27289) found -[10518] Forked 27290 -[10517] Forked 27291 -(27290) found -(27291) found -[10516] Forked 27292 -[10515] Forked 27293 -(27292) found -(27293) found -[10514] Forked 27294 -(27294) found -[10513] Forked 27295 -(27295) found -[10512] Forked 27296 -(27296) found -[10511] Forked 27297 -(27297) found -[10510] Forked 27298 -(27298) found -[10509] Forked 27299 -(27299) found -[10508] Forked 27300 -(27300) found -[10507] Forked 27301 -(27301) found -[10506] Forked 27302 -(27302) found -[10505] Forked 27303 -(27303) found -[10504] Forked 27304 -(27304) found -[10503] Forked 27305 -(27305) found -[10502] Forked 27306 -(27306) found -[10501] Forked 27307 -(27307) found -[10500] Forked 27308 -(27308) found -[10499] Forked 27309 -(27309) found -[10498] Forked 27310 -(27310) found -[10497] Forked 27311 -(27311) found -[10496] Forked 27312 -(27312) found -[10495] Forked 27313 -(27313) found -[10494] Forked 27314 -(27314) found -[10493] Forked 27315 -(27315) found -[10492] Forked 27316 -(27316) found -[10491] Forked 27317 -(27317) found -[10490] Forked 27318 -(27318) found -[10489] Forked 27319 -(27319) found -[10488] Forked 27320 -(27320) found -[10487] Forked 27321 -(27321) found -[10486] Forked 27322 -(27322) found -[10485] Forked 27323 -(27323) found -[10484] Forked 27324 -(27324) found -[10483] Forked 27325 -(27325) found -[10482] Forked 27326 -(27326) found -[10481] Forked 27327 -(27327) found -[10480] Forked 27328 -(27328) found -[10479] Forked 27329 -(27329) found -[10478] Forked 27330 -(27330) found -[10477] Forked 27331 -[10476] Forked 27332 -(27331) found -(27332) found -[10475] Forked 27333 -[10474] Forked 27334 -(27333) found -(27334) found -[10473] Forked 27335 -[10472] Forked 27336 -(27335) found -(27336) found -[10471] Forked 27337 -[10470] Forked 27338 -(27337) found -(27338) found -[10469] Forked 27339 -[10468] Forked 27340 -(27339) found -(27340) found -[10467] Forked 27341 -(27341) found -[10466] Forked 27342 -(27342) found -[10465] Forked 27343 -[10464] Forked 27344 -(27343) found -(27344) found -[10463] Forked 27345 -[10462] Forked 27346 -(27345) found -(27346) found -[10461] Forked 27347 -[10460] Forked 27348 -(27347) found -(27348) found -[10459] Forked 27349 -[10458] Forked 27350 -(27349) found -(27350) found -[10457] Forked 27351 -[10456] Forked 27352 -(27351) found -(27352) found -[10455] Forked 27353 -[10454] Forked 27354 -(27353) found -(27354) found -[10453] Forked 27355 -[10452] Forked 27356 -(27355) found -(27356) found -[10451] Forked 27357 -[10450] Forked 27358 -(27357) found -(27358) found -[10449] Forked 27359 -[10448] Forked 27360 -(27359) found -(27360) found -[10447] Forked 27361 -[10446] Forked 27362 -(27361) found -(27362) found -[10445] Forked 27363 -[10444] Forked 27364 -(27363) found -(27364) found -[10443] Forked 27365 -[10442] Forked 27366 -(27365) found -(27366) found -[10441] Forked 27367 -[10440] Forked 27368 -(27367) found -(27368) found -[10439] Forked 27369 -(27369) found -[10438] Forked 27370 -[10437] Forked 27371 -(27370) found -(27371) found -[10436] Forked 27372 -[10435] Forked 27373 -[10434] Forked 27374 -(27372) found -(27373) found -(27374) found -[10433] Forked 27375 -(27375) found -[10432] Forked 27376 -(27376) found -[10431] Forked 27377 -(27377) found -[10430] Forked 27378 -(27378) found -[10429] Forked 27379 -(27379) found -[10428] Forked 27380 -(27380) found -[10427] Forked 27381 -(27381) found -[10426] Forked 27382 -(27382) found -[10425] Forked 27383 -(27383) found -[10424] Forked 27384 -(27384) found -[10423] Forked 27385 -(27385) found -[10422] Forked 27386 -(27386) found -[10421] Forked 27387 -(27387) found -[10420] Forked 27388 -(27388) found -[10419] Forked 27389 -(27389) found -[10418] Forked 27390 -(27390) found -[10417] Forked 27391 -(27391) found -[10416] Forked 27392 -(27392) found -[10415] Forked 27393 -(27393) found -[10414] Forked 27394 -(27394) found -[10413] Forked 27395 -(27395) found -[10412] Forked 27396 -(27396) found -[10411] Forked 27397 -(27397) found -[10410] Forked 27398 -(27398) found -[10409] Forked 27399 -(27399) found -[10408] Forked 27400 -(27400) found -[10407] Forked 27401 -(27401) found -[10406] Forked 27402 -(27402) found -[10405] Forked 27403 -(27403) found -[10404] Forked 27404 -(27404) found -[10403] Forked 27405 -(27405) found -[10402] Forked 27406 -(27406) found -[10401] Forked 27407 -(27407) found -[10400] Forked 27408 -(27408) found -[10399] Forked 27409 -(27409) found -[10398] Forked 27410 -(27410) found -[10397] Forked 27411 -[10396] Forked 27412 -(27411) found -(27412) found -[10395] Forked 27413 -[10394] Forked 27414 -(27413) found -(27414) found -[10393] Forked 27415 -[10392] Forked 27416 -(27415) found -(27416) found -[10391] Forked 27417 -[10390] Forked 27418 -(27417) found -(27418) found -[10389] Forked 27419 -[10388] Forked 27420 -(27419) found -(27420) found -[10387] Forked 27421 -[10386] Forked 27422 -(27421) found -(27422) found -[10385] Forked 27423 -[10384] Forked 27424 -(27423) found -(27424) found -[10383] Forked 27425 -[10382] Forked 27426 -(27425) found -(27426) found -[10381] Forked 27427 -[10380] Forked 27428 -(27427) found -(27428) found -[10379] Forked 27429 -[10378] Forked 27430 -(27429) found -(27430) found -[10377] Forked 27431 -[10376] Forked 27432 -(27431) found -(27432) found -[10375] Forked 27433 -[10374] Forked 27434 -(27433) found -(27434) found -[10373] Forked 27435 -[10372] Forked 27436 -(27435) found -(27436) found -[10371] Forked 27437 -[10370] Forked 27438 -(27437) found -(27438) found -[10369] Forked 27439 -[10368] Forked 27440 -(27439) found -(27440) found -[10367] Forked 27441 -[10366] Forked 27442 -(27441) found -(27442) found -[10365] Forked 27443 -[10364] Forked 27444 -(27443) found -(27444) found -[10363] Forked 27445 -[10362] Forked 27446 -(27445) found -(27446) found -[10361] Forked 27447 -[10360] Forked 27448 -(27447) found -(27448) found -[10359] Forked 27449 -[10358] Forked 27450 -(27449) found -(27450) found -[10357] Forked 27451 -[10356] Forked 27452 -(27451) found -(27452) found -[10355] Forked 27453 -[10354] Forked 27454 -(27453) found -(27454) found -[10353] Forked 27455 -(27455) found -[10352] Forked 27456 -(27456) found -[10351] Forked 27457 -(27457) found -[10350] Forked 27458 -(27458) found -[10349] Forked 27459 -(27459) found -[10348] Forked 27460 -(27460) found -[10347] Forked 27461 -(27461) found -[10346] Forked 27462 -(27462) found -[10345] Forked 27463 -(27463) found -[10344] Forked 27464 -(27464) found -[10343] Forked 27465 -(27465) found -[10342] Forked 27466 -(27466) found -[10341] Forked 27467 -(27467) found -[10340] Forked 27468 -(27468) found -[10339] Forked 27469 -(27469) found -[10338] Forked 27470 -(27470) found -[10337] Forked 27471 -(27471) found -[10336] Forked 27472 -(27472) found -[10335] Forked 27473 -(27473) found -[10334] Forked 27474 -(27474) found -[10333] Forked 27475 -(27475) found -[10332] Forked 27476 -(27476) found -[10331] Forked 27477 -(27477) found -[10330] Forked 27478 -(27478) found -[10329] Forked 27479 -(27479) found -[10328] Forked 27480 -(27480) found -[10327] Forked 27481 -(27481) found -[10326] Forked 27482 -(27482) found -[10325] Forked 27483 -(27483) found -[10324] Forked 27484 -(27484) found -[10323] Forked 27485 -(27485) found -[10322] Forked 27486 -(27486) found -[10321] Forked 27487 -(27487) found -[10320] Forked 27488 -(27488) found -[10319] Forked 27489 -(27489) found -[10318] Forked 27490 -(27490) found -[10317] Forked 27491 -(27491) found -[10316] Forked 27492 -(27492) found -[10315] Forked 27493 -[10314] Forked 27494 -(27493) found -(27494) found -[10313] Forked 27495 -[10312] Forked 27496 -(27495) found -(27496) found -[10311] Forked 27497 -[10310] Forked 27498 -(27497) found -(27498) found -[10309] Forked 27499 -[10308] Forked 27500 -(27499) found -(27500) found -[10307] Forked 27501 -[10306] Forked 27502 -(27501) found -(27502) found -[10305] Forked 27503 -[10304] Forked 27504 -(27503) found -(27504) found -[10303] Forked 27505 -[10302] Forked 27506 -(27505) found -(27506) found -[10301] Forked 27507 -[10300] Forked 27508 -(27507) found -(27508) found -[10299] Forked 27509 -[10298] Forked 27510 -(27509) found -(27510) found -[10297] Forked 27511 -[10296] Forked 27512 -(27511) found -(27512) found -[10295] Forked 27513 -[10294] Forked 27514 -(27513) found -(27514) found -[10293] Forked 27515 -[10292] Forked 27516 -(27515) found -(27516) found -[10291] Forked 27517 -[10290] Forked 27518 -(27517) found -(27518) found -[10289] Forked 27519 -[10288] Forked 27520 -(27519) found -(27520) found -[10287] Forked 27521 -[10286] Forked 27522 -(27521) found -(27522) found -[10285] Forked 27523 -[10284] Forked 27524 -(27523) found -(27524) found -[10283] Forked 27525 -[10282] Forked 27526 -(27525) found -(27526) found -[10281] Forked 27527 -[10280] Forked 27528 -(27527) found -(27528) found -[10279] Forked 27529 -[10278] Forked 27530 -(27529) found -(27530) found -[10277] Forked 27531 -[10276] Forked 27532 -(27531) found -(27532) found -[10275] Forked 27533 -[10274] Forked 27534 -(27533) found -(27534) found -[10273] Forked 27535 -[10272] Forked 27536 -(27535) found -(27536) found -[10271] Forked 27537 -(27537) found -[10270] Forked 27538 -(27538) found -[10269] Forked 27539 -(27539) found -[10268] Forked 27540 -(27540) found -[10267] Forked 27541 -(27541) found -[10266] Forked 27542 -(27542) found -[10265] Forked 27543 -(27543) found -[10264] Forked 27544 -(27544) found -[10263] Forked 27545 -(27545) found -[10262] Forked 27546 -(27546) found -[10261] Forked 27547 -(27547) found -[10260] Forked 27548 -(27548) found -[10259] Forked 27549 -(27549) found -[10258] Forked 27550 -(27550) found -[10257] Forked 27551 -(27551) found -[10256] Forked 27552 -(27552) found -[10255] Forked 27553 -(27553) found -[10254] Forked 27554 -(27554) found -[10253] Forked 27555 -(27555) found -[10252] Forked 27556 -(27556) found -[10251] Forked 27557 -(27557) found -[10250] Forked 27558 -(27558) found -[10249] Forked 27559 -(27559) found -[10248] Forked 27560 -(27560) found -[10247] Forked 27561 -(27561) found -[10246] Forked 27562 -(27562) found -[10245] Forked 27563 -(27563) found -[10244] Forked 27564 -(27564) found -[10243] Forked 27565 -(27565) found -[10242] Forked 27566 -(27566) found -[10241] Forked 27567 -(27567) found -[10240] Forked 27568 -(27568) found -[10239] Forked 27569 -(27569) found -[10238] Forked 27570 -(27570) found -[10237] Forked 27571 -(27571) found -[10236] Forked 27572 -(27572) found -[10235] Forked 27573 -(27573) found -[10234] Forked 27574 -(27574) found -[10233] Forked 27575 -(27575) found -[10232] Forked 27576 -[10231] Forked 27577 -(27576) found -(27577) found -[10230] Forked 27578 -[10229] Forked 27579 -(27578) found -(27579) found -[10228] Forked 27580 -[10227] Forked 27581 -(27580) found -(27581) found -[10226] Forked 27582 -[10225] Forked 27583 -(27582) found -(27583) found -[10224] Forked 27584 -[10223] Forked 27585 -(27584) found -(27585) found -[10222] Forked 27586 -[10221] Forked 27587 -(27586) found -(27587) found -[10220] Forked 27588 -[10219] Forked 27589 -(27588) found -(27589) found -[10218] Forked 27590 -[10217] Forked 27591 -(27590) found -(27591) found -[10216] Forked 27592 -[10215] Forked 27593 -(27592) found -(27593) found -[10214] Forked 27594 -[10213] Forked 27595 -(27594) found -(27595) found -[10212] Forked 27596 -[10211] Forked 27597 -(27596) found -(27597) found -[10210] Forked 27598 -[10209] Forked 27599 -(27598) found -(27599) found -[10208] Forked 27600 -[10207] Forked 27601 -(27600) found -(27601) found -[10206] Forked 27602 -[10205] Forked 27603 -(27602) found -(27603) found -[10204] Forked 27604 -[10203] Forked 27605 -(27604) found -(27605) found -[10202] Forked 27606 -[10201] Forked 27607 -(27606) found -(27607) found -[10200] Forked 27608 -[10199] Forked 27609 -(27608) found -(27609) found -[10198] Forked 27610 -[10197] Forked 27611 -(27610) found -(27611) found -[10196] Forked 27612 -[10195] Forked 27613 -(27612) found -(27613) found -[10194] Forked 27614 -[10193] Forked 27615 -(27614) found -(27615) found -[10192] Forked 27616 -[10191] Forked 27617 -(27616) found -(27617) found -[10190] Forked 27618 -[10189] Forked 27619 -(27618) found -(27619) found -[10188] Forked 27620 -(27620) found -[10187] Forked 27621 -(27621) found -[10186] Forked 27622 -(27622) found -[10185] Forked 27623 -(27623) found -[10184] Forked 27624 -(27624) found -[10183] Forked 27625 -(27625) found -[10182] Forked 27626 -(27626) found -[10181] Forked 27627 -(27627) found -[10180] Forked 27628 -(27628) found -[10179] Forked 27629 -(27629) found -[10178] Forked 27630 -(27630) found -[10177] Forked 27631 -(27631) found -[10176] Forked 27632 -(27632) found -[10175] Forked 27633 -(27633) found -[10174] Forked 27634 -(27634) found -[10173] Forked 27635 -(27635) found -[10172] Forked 27636 -(27636) found -[10171] Forked 27637 -(27637) found -[10170] Forked 27638 -(27638) found -[10169] Forked 27639 -(27639) found -[10168] Forked 27640 -(27640) found -[10167] Forked 27641 -(27641) found -[10166] Forked 27642 -(27642) found -[10165] Forked 27643 -(27643) found -[10164] Forked 27644 -(27644) found -[10163] Forked 27645 -(27645) found -[10162] Forked 27646 -(27646) found -[10161] Forked 27647 -(27647) found -[10160] Forked 27648 -(27648) found -[10159] Forked 27649 -(27649) found -[10158] Forked 27650 -(27650) found -[10157] Forked 27651 -(27651) found -[10156] Forked 27652 -(27652) found -[10155] Forked 27653 -(27653) found -[10154] Forked 27654 -(27654) found -[10153] Forked 27655 -(27655) found -[10152] Forked 27656 -(27656) found -[10151] Forked 27657 -(27657) found -[10150] Forked 27658 -[10149] Forked 27659 -(27658) found -(27659) found -[10148] Forked 27660 -[10147] Forked 27661 -(27660) found -(27661) found -[10146] Forked 27662 -[10145] Forked 27663 -(27662) found -(27663) found -[10144] Forked 27664 -[10143] Forked 27665 -(27664) found -(27665) found -[10142] Forked 27666 -[10141] Forked 27667 -(27666) found -(27667) found -[10140] Forked 27668 -[10139] Forked 27669 -(27668) found -(27669) found -[10138] Forked 27670 -[10137] Forked 27671 -(27670) found -(27671) found -[10136] Forked 27672 -[10135] Forked 27673 -(27672) found -(27673) found -[10134] Forked 27674 -[10133] Forked 27675 -(27674) found -(27675) found -[10132] Forked 27676 -[10131] Forked 27677 -(27676) found -(27677) found -[10130] Forked 27678 -[10129] Forked 27679 -(27678) found -(27679) found -[10128] Forked 27680 -[10127] Forked 27681 -(27680) found -(27681) found -[10126] Forked 27682 -[10125] Forked 27683 -(27682) found -(27683) found -[10124] Forked 27684 -[10123] Forked 27685 -(27684) found -(27685) found -[10122] Forked 27686 -[10121] Forked 27687 -(27686) found -(27687) found -[10120] Forked 27688 -[10119] Forked 27689 -(27688) found -(27689) found -[10118] Forked 27691 -[10117] Forked 27692 -(27691) found -(27692) found -[10116] Forked 27693 -[10115] Forked 27694 -(27693) found -(27694) found -[10114] Forked 27695 -[10113] Forked 27696 -(27695) found -(27696) found -[10112] Forked 27697 -[10111] Forked 27698 -(27697) found -(27698) found -[10110] Forked 27699 -[10109] Forked 27700 -(27699) found -(27700) found -[10108] Forked 27701 -[10107] Forked 27702 -(27701) found -(27702) found -[10106] Forked 27703 -(27703) found -[10105] Forked 27704 -(27704) found -[10104] Forked 27705 -(27705) found -[10103] Forked 27706 -(27706) found -[10102] Forked 27707 -(27707) found -[10101] Forked 27708 -(27708) found -[10100] Forked 27709 -(27709) found -[10099] Forked 27710 -(27710) found -[10098] Forked 27711 -(27711) found -[10097] Forked 27712 -(27712) found -[10096] Forked 27713 -(27713) found -[10095] Forked 27714 -(27714) found -[10094] Forked 27715 -(27715) found -[10093] Forked 27716 -(27716) found -[10092] Forked 27717 -(27717) found -[10091] Forked 27718 -(27718) found -[10090] Forked 27719 -(27719) found -[10089] Forked 27720 -(27720) found -[10088] Forked 27721 -(27721) found -[10087] Forked 27722 -(27722) found -[10086] Forked 27723 -(27723) found -[10085] Forked 27724 -(27724) found -[10084] Forked 27725 -(27725) found -[10083] Forked 27726 -(27726) found -[10082] Forked 27727 -(27727) found -[10081] Forked 27728 -(27728) found -[10080] Forked 27729 -(27729) found -[10079] Forked 27730 -(27730) found -[10078] Forked 27731 -(27731) found -[10077] Forked 27732 -(27732) found -[10076] Forked 27733 -(27733) found -[10075] Forked 27734 -(27734) found -[10074] Forked 27735 -(27735) found -[10073] Forked 27736 -(27736) found -[10072] Forked 27737 -(27737) found -[10071] Forked 27738 -(27738) found -[10070] Forked 27739 -(27739) found -[10069] Forked 27740 -(27740) found -[10068] Forked 27741 -(27741) found -[10067] Forked 27742 -[10066] Forked 27743 -(27742) found -(27743) found -[10065] Forked 27744 -[10064] Forked 27745 -(27744) found -(27745) found -[10063] Forked 27746 -[10062] Forked 27747 -(27746) found -(27747) found -[10061] Forked 27748 -[10060] Forked 27749 -(27748) found -(27749) found -[10059] Forked 27750 -[10058] Forked 27751 -(27750) found -(27751) found -[10057] Forked 27752 -[10056] Forked 27753 -(27752) found -(27753) found -[10055] Forked 27754 -[10054] Forked 27756 -(27754) found -(27756) found -[10053] Forked 27757 -(27757) found -[10052] Forked 27758 -(27758) found -[10051] Forked 27759 -(27759) found -[10050] Forked 27760 -(27760) found -[10049] Forked 27761 -(27761) found -[10048] Forked 27762 -(27762) found -[10047] Forked 27763 -(27763) found -[10046] Forked 27764 -(27764) found -[10045] Forked 27765 -(27765) found -[10044] Forked 27766 -(27766) found -[10043] Forked 27767 -(27767) found -[10042] Forked 27768 -(27768) found -[10041] Forked 27769 -(27769) found -[10040] Forked 27770 -(27770) found -[10039] Forked 27771 -(27771) found -[10038] Forked 27772 -(27772) found -[10037] Forked 27773 -(27773) found -[10036] Forked 27774 -(27774) found -[10035] Forked 27775 -(27775) found -[10034] Forked 27776 -(27776) found -[10033] Forked 27777 -(27777) found -[10032] Forked 27778 -(27778) found -[10031] Forked 27779 -(27779) found -[10030] Forked 27780 -(27780) found -[10029] Forked 27781 -(27781) found -[10028] Forked 27782 -(27782) found -[10027] Forked 27783 -(27783) found -[10026] Forked 27784 -(27784) found -[10025] Forked 27785 -(27785) found -[10024] Forked 27786 -(27786) found -[10023] Forked 27787 -(27787) found -[10022] Forked 27788 -(27788) found -[10021] Forked 27789 -(27789) found -[10020] Forked 27790 -(27790) found -[10019] Forked 27791 -(27791) found -[10018] Forked 27792 -(27792) found -[10017] Forked 27793 -(27793) found -[10016] Forked 27794 -(27794) found -[10015] Forked 27795 -(27795) found -[10014] Forked 27796 -(27796) found -[10013] Forked 27797 -(27797) found -[10012] Forked 27798 -(27798) found -[10011] Forked 27799 -(27799) found -[10010] Forked 27800 -(27800) found -[10009] Forked 27801 -(27801) found -[10008] Forked 27802 -(27802) found -[10007] Forked 27803 -(27803) found -[10006] Forked 27804 -(27804) found -[10005] Forked 27805 -(27805) found -[10004] Forked 27806 -(27806) found -[10003] Forked 27807 -(27807) found -[10002] Forked 27808 -(27808) found -[10001] Forked 27809 -(27809) found -[10000] Forked 27810 -(27810) found -[9999] Forked 27811 -(27811) found -[9998] Forked 27812 -[9997] Forked 27813 -(27812) found -(27813) found -[9996] Forked 27814 -[9995] Forked 27815 -(27814) found -(27815) found -[9994] Forked 27816 -[9993] Forked 27817 -(27816) found -(27817) found -[9992] Forked 27818 -[9991] Forked 27819 -(27818) found -(27819) found -[9990] Forked 27820 -[9989] Forked 27821 -(27820) found -(27821) found -[9988] Forked 27822 -[9987] Forked 27823 -(27822) found -(27823) found -[9986] Forked 27824 -[9985] Forked 27825 -(27824) found -(27825) found -[9984] Forked 27826 -[9983] Forked 27827 -(27826) found -(27827) found -[9982] Forked 27828 -[9981] Forked 27829 -(27828) found -(27829) found -[9980] Forked 27831 -[9979] Forked 27832 -(27831) found -(27832) found -[9978] Forked 27833 -[9977] Forked 27834 -(27833) found -(27834) found -[9976] Forked 27835 -[9975] Forked 27836 -(27835) found -(27836) found -[9974] Forked 27837 -[9973] Forked 27838 -(27837) found -(27838) found -[9972] Forked 27839 -[9971] Forked 27840 -(27839) found -(27840) found -[9970] Forked 27841 -[9969] Forked 27842 -(27841) found -(27842) found -[9968] Forked 27843 -[9967] Forked 27844 -(27843) found -(27844) found -[9966] Forked 27845 -[9965] Forked 27846 -(27845) found -(27846) found -[9964] Forked 27847 -[9963] Forked 27848 -(27847) found -(27848) found -[9962] Forked 27849 -[9961] Forked 27850 -(27849) found -(27850) found -[9960] Forked 27851 -[9959] Forked 27852 -(27851) found -(27852) found -[9958] Forked 27853 -(27853) found -[9957] Forked 27854 -(27854) found -[9956] Forked 27855 -(27855) found -[9955] Forked 27856 -(27856) found -[9954] Forked 27857 -(27857) found -[9953] Forked 27858 -(27858) found -[9952] Forked 27859 -(27859) found -[9951] Forked 27860 -(27860) found -[9950] Forked 27861 -(27861) found -[9949] Forked 27862 -(27862) found -[9948] Forked 27863 -(27863) found -[9947] Forked 27864 -(27864) found -[9946] Forked 27865 -(27865) found -[9945] Forked 27866 -(27866) found -[9944] Forked 27867 -(27867) found -[9943] Forked 27868 -(27868) found -[9942] Forked 27869 -(27869) found -[9941] Forked 27870 -(27870) found -[9940] Forked 27871 -(27871) found -[9939] Forked 27872 -(27872) found -[9938] Forked 27873 -(27873) found -[9937] Forked 27874 -(27874) found -[9936] Forked 27875 -(27875) found -[9935] Forked 27876 -(27876) found -[9934] Forked 27877 -(27877) found -[9933] Forked 27878 -(27878) found -[9932] Forked 27879 -(27879) found -[9931] Forked 27880 -(27880) found -[9930] Forked 27881 -(27881) found -[9929] Forked 27882 -(27882) found -[9928] Forked 27883 -(27883) found -[9927] Forked 27884 -(27884) found -[9926] Forked 27885 -(27885) found -[9925] Forked 27886 -(27886) found -[9924] Forked 27887 -(27887) found -[9923] Forked 27888 -(27888) found -[9922] Forked 27889 -(27889) found -[9921] Forked 27890 -(27890) found -[9920] Forked 27891 -(27891) found -[9919] Forked 27892 -(27892) found -[9918] Forked 27893 -(27893) found -[9917] Forked 27894 -[9916] Forked 27895 -(27894) found -(27895) found -[9915] Forked 27896 -[9914] Forked 27897 -(27896) found -(27897) found -[9913] Forked 27898 -[9912] Forked 27899 -(27898) found -(27899) found -[9911] Forked 27900 -[9910] Forked 27901 -(27900) found -(27901) found -[9909] Forked 27902 -[9908] Forked 27903 -(27902) found -(27903) found -[9907] Forked 27904 -[9906] Forked 27905 -(27904) found -(27905) found -[9905] Forked 27906 -[9904] Forked 27907 -(27906) found -(27907) found -[9903] Forked 27908 -[9902] Forked 27909 -(27908) found -(27909) found -[9901] Forked 27910 -[9900] Forked 27911 -(27910) found -(27911) found -[9899] Forked 27912 -[9898] Forked 27913 -(27912) found -(27913) found -[9897] Forked 27914 -[9896] Forked 27915 -(27914) found -(27915) found -[9895] Forked 27916 -[9894] Forked 27917 -(27916) found -(27917) found -[9893] Forked 27918 -[9892] Forked 27919 -(27918) found -(27919) found -[9891] Forked 27920 -[9890] Forked 27921 -(27920) found -(27921) found -[9889] Forked 27922 -[9888] Forked 27923 -(27922) found -(27923) found -[9887] Forked 27924 -[9886] Forked 27925 -(27924) found -(27925) found -[9885] Forked 27926 -[9884] Forked 27927 -(27926) found -(27927) found -[9883] Forked 27928 -[9882] Forked 27929 -(27928) found -(27929) found -[9881] Forked 27930 -[9880] Forked 27931 -(27930) found -(27931) found -[9879] Forked 27932 -[9878] Forked 27933 -(27932) found -(27933) found -[9877] Forked 27934 -(27934) found -[9876] Forked 27935 -(27935) found -[9875] Forked 27936 -(27936) found -[9874] Forked 27937 -(27937) found -[9873] Forked 27938 -(27938) found -[9872] Forked 27939 -(27939) found -[9871] Forked 27940 -(27940) found -[9870] Forked 27941 -(27941) found -[9869] Forked 27942 -(27942) found -[9868] Forked 27943 -(27943) found -[9867] Forked 27944 -(27944) found -[9866] Forked 27945 -(27945) found -[9865] Forked 27946 -(27946) found -[9864] Forked 27947 -(27947) found -[9863] Forked 27948 -(27948) found -[9862] Forked 27949 -(27949) found -[9861] Forked 27950 -(27950) found -[9860] Forked 27951 -(27951) found -[9859] Forked 27952 -(27952) found -[9858] Forked 27953 -(27953) found -[9857] Forked 27954 -(27954) found -[9856] Forked 27955 -(27955) found -[9855] Forked 27956 -(27956) found -[9854] Forked 27957 -(27957) found -[9853] Forked 27958 -(27958) found -[9852] Forked 27959 -(27959) found -[9851] Forked 27960 -(27960) found -[9850] Forked 27961 -(27961) found -[9849] Forked 27962 -(27962) found -[9848] Forked 27963 -(27963) found -[9847] Forked 27964 -(27964) found -[9846] Forked 27965 -(27965) found -[9845] Forked 27966 -(27966) found -[9844] Forked 27967 -(27967) found -[9843] Forked 27968 -(27968) found -[9842] Forked 27969 -(27969) found -[9841] Forked 27970 -(27970) found -[9840] Forked 27971 -(27971) found -[9839] Forked 27972 -(27972) found -[9838] Forked 27973 -[9837] Forked 27974 -(27973) found -(27974) found -[9836] Forked 27975 -[9835] Forked 27976 -(27975) found -(27976) found -[9834] Forked 27977 -[9833] Forked 27978 -(27977) found -(27978) found -[9832] Forked 27979 -[9831] Forked 27980 -(27979) found -(27980) found -[9830] Forked 27981 -[9829] Forked 27982 -(27981) found -(27982) found -[9828] Forked 27983 -[9827] Forked 27984 -(27983) found -(27984) found -[9826] Forked 27985 -[9825] Forked 27986 -(27985) found -(27986) found -[9824] Forked 27988 -[9823] Forked 27989 -(27988) found -(27989) found -[9822] Forked 27990 -[9821] Forked 27991 -(27990) found -(27991) found -[9820] Forked 27992 -(27992) found -[9819] Forked 27993 -[9818] Forked 27994 -(27993) found -(27994) found -[9817] Forked 27995 -[9816] Forked 27996 -(27995) found -(27996) found -[9815] Forked 27997 -[9814] Forked 27998 -(27998) found -(27997) found -[9813] Forked 27999 -(27999) found -[9812] Forked 28000 -(28000) found -[9811] Forked 28001 -(28001) found -[9810] Forked 28002 -(28002) found -[9809] Forked 28003 -(28003) found -[9808] Forked 28004 -(28004) found -[9807] Forked 28005 -(28005) found -[9806] Forked 28006 -(28006) found -[9805] Forked 28007 -(28007) found -[9804] Forked 28008 -(28008) found -[9803] Forked 28009 -(28009) found -[9802] Forked 28010 -(28010) found -[9801] Forked 28011 -(28011) found -[9800] Forked 28012 -(28012) found -[9799] Forked 28013 -(28013) found -[9798] Forked 28014 -(28014) found -[9797] Forked 28015 -(28015) found -[9796] Forked 28016 -(28016) found -[9795] Forked 28017 -(28017) found -[9794] Forked 28018 -(28018) found -[9793] Forked 28019 -(28019) found -[9792] Forked 28020 -(28020) found -[9791] Forked 28021 -(28021) found -[9790] Forked 28022 -(28022) found -[9789] Forked 28023 -(28023) found -[9788] Forked 28024 -(28024) found -[9787] Forked 28025 -(28025) found -[9786] Forked 28026 -(28026) found -[9785] Forked 28027 -(28027) found -[9784] Forked 28028 -(28028) found -[9783] Forked 28029 -(28029) found -[9782] Forked 28030 -(28030) found -[9781] Forked 28031 -(28031) found -[9780] Forked 28032 -(28032) found -[9779] Forked 28033 -(28033) found -[9778] Forked 28034 -(28034) found -[9777] Forked 28035 -(28035) found -[9776] Forked 28036 -(28036) found -[9775] Forked 28037 -(28037) found -[9774] Forked 28038 -(28038) found -[9773] Forked 28039 -(28039) found -[9772] Forked 28040 -(28040) found -[9771] Forked 28041 -(28041) found -[9770] Forked 28042 -(28042) found -[9769] Forked 28043 -(28043) found -[9768] Forked 28044 -(28044) found -[9767] Forked 28045 -(28045) found -[9766] Forked 28047 -(28047) found -[9765] Forked 28048 -(28048) found -[9764] Forked 28049 -(28049) found -[9763] Forked 28050 -(28050) found -[9762] Forked 28051 -(28051) found -[9761] Forked 28052 -(28052) found -[9760] Forked 28053 -(28053) found -[9759] Forked 28054 -(28054) found -[9758] Forked 28055 -(28055) found -[9757] Forked 28056 -(28056) found -[9756] Forked 28057 -(28057) found -[9755] Forked 28058 -(28058) found -[9754] Forked 28059 -(28059) found -[9753] Forked 28060 -(28060) found -[9752] Forked 28061 -(28061) found -[9751] Forked 28062 -(28062) found -[9750] Forked 28063 -(28063) found -[9749] Forked 28064 -(28064) found -[9748] Forked 28065 -(28065) found -[9747] Forked 28066 -(28066) found -[9746] Forked 28067 -(28067) found -[9745] Forked 28068 -(28068) found -[9744] Forked 28069 -(28069) found -[9743] Forked 28070 -(28070) found -[9742] Forked 28071 -(28071) found -[9741] Forked 28072 -(28072) found -[9740] Forked 28073 -(28073) found -[9739] Forked 28074 -(28074) found -[9738] Forked 28075 -(28075) found -[9737] Forked 28076 -(28076) found -[9736] Forked 28077 -(28077) found -[9735] Forked 28078 -(28078) found -[9734] Forked 28079 -(28079) found -[9733] Forked 28080 -(28080) found -[9732] Forked 28081 -(28081) found -[9731] Forked 28082 -(28082) found -[9730] Forked 28083 -(28083) found -[9729] Forked 28084 -(28084) found -[9728] Forked 28085 -(28085) found -[9727] Forked 28086 -(28086) found -[9726] Forked 28087 -(28087) found -[9725] Forked 28088 -(28088) found -[9724] Forked 28089 -(28089) found -[9723] Forked 28090 -(28090) found -[9722] Forked 28091 -(28091) found -[9721] Forked 28092 -(28092) found -[9720] Forked 28093 -(28093) found -[9719] Forked 28094 -(28094) found -[9718] Forked 28095 -(28095) found -[9717] Forked 28096 -(28096) found -[9716] Forked 28097 -(28097) found -[9715] Forked 28098 -(28098) found -[9714] Forked 28099 -(28099) found -[9713] Forked 28100 -(28100) found -[9712] Forked 28101 -(28101) found -[9711] Forked 28102 -(28102) found -[9710] Forked 28103 -(28103) found -[9709] Forked 28104 -[9708] Forked 28105 -(28104) found -(28105) found -[9707] Forked 28106 -[9706] Forked 28107 -(28106) found -(28107) found -[9705] Forked 28108 -[9704] Forked 28109 -(28108) found -(28109) found -[9703] Forked 28110 -[9702] Forked 28111 -(28110) found -(28111) found -[9701] Forked 28112 -[9700] Forked 28113 -(28112) found -(28113) found -[9699] Forked 28114 -[9698] Forked 28115 -(28114) found -(28115) found -[9697] Forked 28116 -[9696] Forked 28117 -(28116) found -(28117) found -[9695] Forked 28118 -(28118) found -[9694] Forked 28119 -(28119) found -[9693] Forked 28120 -[9692] Forked 28121 -(28120) found -(28121) found -[9691] Forked 28122 -[9690] Forked 28123 -(28122) found -(28123) found -[9689] Forked 28124 -[9688] Forked 28125 -(28124) found -(28125) found -[9687] Forked 28126 -[9686] Forked 28127 -(28126) found -(28127) found -[9685] Forked 28128 -[9684] Forked 28129 -(28128) found -(28129) found -[9683] Forked 28130 -[9682] Forked 28131 -(28130) found -(28131) found -[9681] Forked 28132 -[9680] Forked 28133 -(28132) found -(28133) found -[9679] Forked 28134 -[9678] Forked 28135 -(28134) found -(28135) found -[9677] Forked 28136 -[9676] Forked 28137 -(28136) found -(28137) found -[9675] Forked 28138 -[9674] Forked 28139 -(28138) found -(28139) found -[9673] Forked 28140 -[9672] Forked 28141 -(28140) found -(28141) found -[9671] Forked 28142 -[9670] Forked 28143 -(28142) found -(28143) found -[9669] Forked 28144 -[9668] Forked 28145 -(28144) found -(28145) found -[9667] Forked 28146 -[9666] Forked 28147 -(28146) found -(28147) found -[9665] Forked 28148 -[9664] Forked 28149 -(28148) found -(28149) found -[9663] Forked 28150 -[9662] Forked 28151 -(28150) found -(28151) found -[9661] Forked 28152 -[9660] Forked 28153 -(28152) found -(28153) found -[9659] Forked 28154 -[9658] Forked 28155 -(28154) found -(28155) found -[9657] Forked 28156 -[9656] Forked 28157 -(28156) found -(28157) found -[9655] Forked 28158 -[9654] Forked 28159 -(28158) found -(28159) found -[9653] Forked 28160 -[9652] Forked 28161 -(28160) found -(28161) found -[9651] Forked 28162 -[9650] Forked 28163 -(28162) found -(28163) found -[9649] Forked 28164 -[9648] Forked 28165 -(28164) found -(28165) found -[9647] Forked 28166 -[9646] Forked 28167 -(28166) found -(28167) found -[9645] Forked 28168 -[9644] Forked 28169 -(28168) found -(28169) found -[9643] Forked 28170 -[9642] Forked 28171 -(28170) found -(28171) found -[9641] Forked 28172 -[9640] Forked 28173 -(28172) found -(28173) found -[9639] Forked 28174 -[9638] Forked 28175 -(28174) found -(28175) found -[9637] Forked 28176 -[9636] Forked 28177 -(28176) found -(28177) found -[9635] Forked 28178 -[9634] Forked 28179 -(28178) found -(28179) found -[9633] Forked 28180 -[9632] Forked 28181 -(28180) found -(28181) found -[9631] Forked 28182 -[9630] Forked 28183 -(28182) found -(28183) found -[9629] Forked 28184 -[9628] Forked 28185 -(28184) found -(28185) found -[9627] Forked 28186 -[9626] Forked 28187 -(28186) found -(28187) found -[9625] Forked 28188 -[9624] Forked 28189 -(28188) found -(28189) found -[9623] Forked 28190 -[9622] Forked 28191 -(28190) found -(28191) found -[9621] Forked 28192 -(28192) found -[9620] Forked 28193 -(28193) found -[9619] Forked 28194 -(28194) found -[9618] Forked 28195 -(28195) found -[9617] Forked 28196 -(28196) found -[9616] Forked 28197 -(28197) found -[9615] Forked 28198 -(28198) found -[9614] Forked 28199 -(28199) found -[9613] Forked 28200 -(28200) found -[9612] Forked 28201 -(28201) found -[9611] Forked 28202 -(28202) found -[9610] Forked 28203 -(28203) found -[9609] Forked 28204 -(28204) found -[9608] Forked 28205 -(28205) found -[9607] Forked 28206 -(28206) found -[9606] Forked 28207 -(28207) found -[9605] Forked 28208 -(28208) found -[9604] Forked 28209 -(28209) found -[9603] Forked 28210 -(28210) found -[9602] Forked 28211 -(28211) found -[9601] Forked 28212 -(28212) found -[9600] Forked 28213 -(28213) found -[9599] Forked 28214 -(28214) found -[9598] Forked 28215 -(28215) found -[9597] Forked 28216 -(28216) found -[9596] Forked 28217 -(28217) found -[9595] Forked 28218 -(28218) found -[9594] Forked 28219 -(28219) found -[9593] Forked 28220 -(28220) found -[9592] Forked 28221 -(28221) found -[9591] Forked 28222 -(28222) found -[9590] Forked 28223 -(28223) found -[9589] Forked 28224 -(28224) found -[9588] Forked 28225 -(28225) found -[9587] Forked 28226 -[9586] Forked 28227 -(28226) found -(28227) found -[9585] Forked 28228 -[9584] Forked 28229 -(28228) found -(28229) found -[9583] Forked 28230 -[9582] Forked 28231 -(28230) found -(28231) found -[9581] Forked 28232 -[9580] Forked 28233 -(28232) found -(28233) found -[9579] Forked 28234 -[9578] Forked 28235 -(28234) found -(28235) found -[9577] Forked 28236 -[9576] Forked 28237 -(28236) found -(28237) found -[9575] Forked 28238 -[9574] Forked 28239 -(28238) found -(28239) found -[9573] Forked 28240 -[9572] Forked 28241 -(28240) found -(28241) found -[9571] Forked 28242 -[9570] Forked 28243 -(28242) found -(28243) found -[9569] Forked 28244 -[9568] Forked 28245 -(28244) found -(28245) found -[9567] Forked 28246 -[9566] Forked 28247 -(28246) found -(28247) found -[9565] Forked 28248 -[9564] Forked 28249 -(28248) found -(28249) found -[9563] Forked 28250 -[9562] Forked 28251 -(28250) found -(28251) found -[9561] Forked 28252 -[9560] Forked 28253 -(28252) found -(28253) found -[9559] Forked 28254 -[9558] Forked 28255 -(28254) found -(28255) found -[9557] Forked 28256 -[9556] Forked 28257 -(28256) found -(28257) found -[9555] Forked 28258 -[9554] Forked 28259 -(28258) found -(28259) found -[9553] Forked 28260 -[9552] Forked 28261 -(28260) found -(28261) found -[9551] Forked 28262 -[9550] Forked 28263 -(28262) found -(28263) found -[9549] Forked 28264 -[9548] Forked 28265 -(28264) found -(28265) found -[9547] Forked 28266 -[9546] Forked 28267 -(28266) found -(28267) found -[9545] Forked 28268 -[9544] Forked 28269 -(28268) found -(28269) found -[9543] Forked 28270 -[9542] Forked 28271 -(28270) found -(28271) found -[9541] Forked 28272 -(28272) found -[9540] Forked 28273 -(28273) found -[9539] Forked 28274 -(28274) found -[9538] Forked 28275 -(28275) found -[9537] Forked 28276 -(28276) found -[9536] Forked 28277 -(28277) found -[9535] Forked 28278 -(28278) found -[9534] Forked 28279 -(28279) found -[9533] Forked 28280 -(28280) found -[9532] Forked 28281 -(28281) found -[9531] Forked 28282 -(28282) found -[9530] Forked 28283 -(28283) found -[9529] Forked 28284 -(28284) found -[9528] Forked 28285 -(28285) found -[9527] Forked 28286 -(28286) found -[9526] Forked 28287 -(28287) found -[9525] Forked 28288 -(28288) found -[9524] Forked 28289 -(28289) found -[9523] Forked 28290 -(28290) found -[9522] Forked 28291 -(28291) found -[9521] Forked 28292 -(28292) found -[9520] Forked 28293 -(28293) found -[9519] Forked 28294 -(28294) found -[9518] Forked 28295 -(28295) found -[9517] Forked 28296 -(28296) found -[9516] Forked 28297 -(28297) found -[9515] Forked 28298 -(28298) found -[9514] Forked 28299 -(28299) found -[9513] Forked 28300 -(28300) found -[9512] Forked 28301 -(28301) found -[9511] Forked 28302 -(28302) found -[9510] Forked 28303 -(28303) found -[9509] Forked 28304 -(28304) found -[9508] Forked 28305 -(28305) found -[9507] Forked 28306 -(28306) found -[9506] Forked 28307 -(28307) found -[9505] Forked 28308 -(28308) found -[9504] Forked 28309 -[9503] Forked 28310 -(28309) found -(28310) found -[9502] Forked 28311 -[9501] Forked 28312 -(28311) found -(28312) found -[9500] Forked 28313 -[9499] Forked 28314 -(28313) found -(28314) found -[9498] Forked 28315 -[9497] Forked 28316 -(28315) found -(28316) found -[9496] Forked 28317 -[9495] Forked 28318 -(28317) found -(28318) found -[9494] Forked 28319 -[9493] Forked 28320 -(28319) found -(28320) found -[9492] Forked 28321 -[9491] Forked 28322 -(28321) found -(28322) found -[9490] Forked 28323 -[9489] Forked 28324 -(28323) found -(28324) found -[9488] Forked 28325 -[9487] Forked 28326 -(28325) found -(28326) found -[9486] Forked 28327 -[9485] Forked 28328 -(28327) found -(28328) found -[9484] Forked 28329 -(28329) found -[9483] Forked 28330 -[9482] Forked 28331 -(28330) found -(28331) found -[9481] Forked 28332 -[9480] Forked 28333 -(28332) found -(28333) found -[9479] Forked 28334 -[9478] Forked 28335 -(28334) found -(28335) found -[9477] Forked 28336 -[9476] Forked 28337 -(28336) found -(28337) found -[9475] Forked 28338 -[9474] Forked 28339 -(28338) found -(28339) found -[9473] Forked 28340 -[9472] Forked 28341 -(28340) found -(28341) found -[9471] Forked 28342 -[9470] Forked 28343 -(28342) found -(28343) found -[9469] Forked 28344 -[9468] Forked 28345 -(28344) found -(28345) found -[9467] Forked 28346 -[9466] Forked 28347 -(28346) found -(28347) found -[9465] Forked 28348 -[9464] Forked 28349 -(28348) found -(28349) found -[9463] Forked 28350 -[9462] Forked 28351 -(28350) found -(28351) found -[9461] Forked 28352 -[9460] Forked 28353 -(28352) found -(28353) found -[9459] Forked 28354 -(28354) found -[9458] Forked 28355 -(28355) found -[9457] Forked 28356 -(28356) found -[9456] Forked 28357 -(28357) found -[9455] Forked 28358 -(28358) found -[9454] Forked 28359 -(28359) found -[9453] Forked 28360 -(28360) found -[9452] Forked 28361 -(28361) found -[9451] Forked 28362 -(28362) found -[9450] Forked 28363 -(28363) found -[9449] Forked 28364 -(28364) found -[9448] Forked 28365 -(28365) found -[9447] Forked 28366 -(28366) found -[9446] Forked 28367 -(28367) found -[9445] Forked 28368 -(28368) found -[9444] Forked 28369 -(28369) found -[9443] Forked 28370 -(28370) found -[9442] Forked 28371 -(28371) found -[9441] Forked 28372 -(28372) found -[9440] Forked 28373 -(28373) found -[9439] Forked 28374 -(28374) found -[9438] Forked 28375 -(28375) found -[9437] Forked 28376 -(28376) found -[9436] Forked 28377 -(28377) found -[9435] Forked 28378 -(28378) found -[9434] Forked 28379 -(28379) found -[9433] Forked 28380 -(28380) found -[9432] Forked 28381 -(28381) found -[9431] Forked 28382 -(28382) found -[9430] Forked 28383 -(28383) found -[9429] Forked 28384 -(28384) found -[9428] Forked 28385 -(28385) found -[9427] Forked 28386 -(28386) found -[9426] Forked 28387 -(28387) found -[9425] Forked 28388 -(28388) found -[9424] Forked 28389 -[9423] Forked 28390 -(28389) found -(28390) found -[9422] Forked 28391 -[9421] Forked 28392 -(28391) found -(28392) found -[9420] Forked 28393 -[9419] Forked 28394 -(28393) found -(28394) found -[9418] Forked 28395 -[9417] Forked 28396 -(28395) found -(28396) found -[9416] Forked 28397 -[9415] Forked 28398 -(28397) found -(28398) found -[9414] Forked 28399 -[9413] Forked 28400 -(28399) found -(28400) found -[9412] Forked 28401 -[9411] Forked 28402 -(28401) found -(28402) found -[9410] Forked 28403 -[9409] Forked 28404 -(28403) found -(28404) found -[9408] Forked 28405 -[9407] Forked 28406 -(28405) found -(28406) found -[9406] Forked 28407 -[9405] Forked 28408 -(28407) found -(28408) found -[9404] Forked 28409 -[9403] Forked 28410 -(28409) found -(28410) found -[9402] Forked 28411 -[9401] Forked 28412 -(28411) found -(28412) found -[9400] Forked 28413 -[9399] Forked 28414 -(28413) found -(28414) found -[9398] Forked 28415 -[9397] Forked 28416 -(28415) found -(28416) found -[9396] Forked 28417 -[9395] Forked 28418 -(28417) found -(28418) found -[9394] Forked 28419 -[9393] Forked 28420 -(28419) found -(28420) found -[9392] Forked 28421 -[9391] Forked 28422 -(28421) found -(28422) found -[9390] Forked 28423 -[9389] Forked 28424 -(28423) found -(28424) found -[9388] Forked 28425 -[9387] Forked 28426 -(28425) found -(28426) found -[9386] Forked 28427 -[9385] Forked 28428 -(28427) found -(28428) found -[9384] Forked 28429 -[9383] Forked 28430 -(28429) found -(28430) found -[9382] Forked 28431 -[9381] Forked 28432 -(28431) found -(28432) found -[9380] Forked 28433 -[9379] Forked 28434 -(28433) found -(28434) found -[9378] Forked 28435 -(28435) found -[9377] Forked 28436 -(28436) found -[9376] Forked 28437 -(28437) found -[9375] Forked 28438 -(28438) found -[9374] Forked 28439 -(28439) found -[9373] Forked 28440 -(28440) found -[9372] Forked 28441 -(28441) found -[9371] Forked 28442 -(28442) found -[9370] Forked 28443 -(28443) found -[9369] Forked 28444 -(28444) found -[9368] Forked 28445 -(28445) found -[9367] Forked 28446 -(28446) found -[9366] Forked 28447 -(28447) found -[9365] Forked 28448 -(28448) found -[9364] Forked 28449 -(28449) found -[9363] Forked 28450 -(28450) found -[9362] Forked 28451 -(28451) found -[9361] Forked 28452 -(28452) found -[9360] Forked 28453 -(28453) found -[9359] Forked 28454 -(28454) found -[9358] Forked 28455 -(28455) found -[9357] Forked 28456 -(28456) found -[9356] Forked 28457 -(28457) found -[9355] Forked 28458 -(28458) found -[9354] Forked 28459 -(28459) found -[9353] Forked 28460 -(28460) found -[9352] Forked 28461 -(28461) found -[9351] Forked 28462 -(28462) found -[9350] Forked 28463 -(28463) found -[9349] Forked 28464 -(28464) found -[9348] Forked 28465 -(28465) found -[9347] Forked 28466 -(28466) found -[9346] Forked 28467 -(28467) found -[9345] Forked 28468 -(28468) found -[9344] Forked 28469 -(28469) found -[9343] Forked 28470 -[9342] Forked 28471 -(28470) found -(28471) found -[9341] Forked 28472 -[9340] Forked 28473 -(28472) found -(28473) found -[9339] Forked 28474 -[9338] Forked 28475 -(28474) found -(28475) found -[9337] Forked 28476 -[9336] Forked 28477 -(28476) found -(28477) found -[9335] Forked 28478 -[9334] Forked 28479 -(28478) found -(28479) found -[9333] Forked 28480 -[9332] Forked 28481 -(28480) found -(28481) found -[9331] Forked 28482 -[9330] Forked 28483 -(28482) found -(28483) found -[9329] Forked 28484 -[9328] Forked 28485 -(28484) found -(28485) found -[9327] Forked 28486 -[9326] Forked 28487 -(28486) found -(28487) found -[9325] Forked 28488 -[9324] Forked 28489 -(28488) found -(28489) found -[9323] Forked 28490 -[9322] Forked 28491 -(28490) found -(28491) found -[9321] Forked 28492 -[9320] Forked 28493 -(28492) found -(28493) found -[9319] Forked 28494 -[9318] Forked 28495 -(28494) found -(28495) found -[9317] Forked 28496 -[9316] Forked 28497 -(28496) found -(28497) found -[9315] Forked 28498 -[9314] Forked 28499 -(28498) found -(28499) found -[9313] Forked 28500 -[9312] Forked 28501 -(28500) found -(28501) found -[9311] Forked 28502 -[9310] Forked 28503 -(28502) found -(28503) found -[9309] Forked 28504 -[9308] Forked 28505 -(28504) found -(28505) found -[9307] Forked 28506 -[9306] Forked 28507 -(28506) found -(28507) found -[9305] Forked 28508 -[9304] Forked 28509 -(28508) found -(28509) found -[9303] Forked 28510 -[9302] Forked 28511 -(28510) found -(28511) found -[9301] Forked 28512 -[9300] Forked 28513 -(28512) found -(28513) found -[9299] Forked 28514 -[9298] Forked 28515 -(28514) found -(28515) found -[9297] Forked 28516 -(28516) found -[9296] Forked 28517 -(28517) found -[9295] Forked 28518 -(28518) found -[9294] Forked 28519 -(28519) found -[9293] Forked 28520 -(28520) found -[9292] Forked 28521 -(28521) found -[9291] Forked 28522 -(28522) found -[9290] Forked 28523 -(28523) found -[9289] Forked 28524 -(28524) found -[9288] Forked 28525 -(28525) found -[9287] Forked 28526 -(28526) found -[9286] Forked 28527 -(28527) found -[9285] Forked 28528 -(28528) found -[9284] Forked 28529 -(28529) found -[9283] Forked 28530 -(28530) found -[9282] Forked 28531 -(28531) found -[9281] Forked 28532 -(28532) found -[9280] Forked 28533 -(28533) found -[9279] Forked 28534 -(28534) found -[9278] Forked 28535 -(28535) found -[9277] Forked 28536 -(28536) found -[9276] Forked 28537 -(28537) found -[9275] Forked 28538 -(28538) found -[9274] Forked 28539 -(28539) found -[9273] Forked 28540 -(28540) found -[9272] Forked 28541 -(28541) found -[9271] Forked 28542 -(28542) found -[9270] Forked 28543 -(28543) found -[9269] Forked 28544 -(28544) found -[9268] Forked 28545 -(28545) found -[9267] Forked 28546 -(28546) found -[9266] Forked 28547 -(28547) found -[9265] Forked 28548 -(28548) found -[9264] Forked 28549 -(28549) found -[9263] Forked 28550 -[9262] Forked 28551 -(28550) found -(28551) found -[9261] Forked 28552 -[9260] Forked 28553 -(28552) found -(28553) found -[9259] Forked 28554 -[9258] Forked 28555 -(28554) found -(28555) found -[9257] Forked 28556 -[9256] Forked 28557 -(28556) found -(28557) found -[9255] Forked 28558 -[9254] Forked 28559 -(28558) found -(28559) found -[9253] Forked 28560 -[9252] Forked 28561 -(28560) found -(28561) found -[9251] Forked 28562 -[9250] Forked 28563 -(28562) found -(28563) found -[9249] Forked 28564 -[9248] Forked 28565 -(28564) found -(28565) found -[9247] Forked 28566 -[9246] Forked 28567 -(28566) found -(28567) found -[9245] Forked 28568 -[9244] Forked 28569 -(28568) found -(28569) found -[9243] Forked 28570 -[9242] Forked 28571 -(28570) found -(28571) found -[9241] Forked 28572 -(28572) found -[9240] Forked 28573 -[9239] Forked 28574 -(28573) found -(28574) found -[9238] Forked 28575 -[9237] Forked 28576 -(28575) found -(28576) found -[9236] Forked 28577 -[9235] Forked 28578 -(28577) found -(28578) found -[9234] Forked 28579 -[9233] Forked 28580 -(28579) found -(28580) found -[9232] Forked 28581 -[9231] Forked 28582 -(28581) found -(28582) found -[9230] Forked 28583 -[9229] Forked 28584 -(28583) found -(28584) found -[9228] Forked 28585 -[9227] Forked 28586 -(28585) found -(28586) found -[9226] Forked 28587 -[9225] Forked 28588 -(28587) found -(28588) found -[9224] Forked 28589 -[9223] Forked 28590 -(28589) found -(28590) found -[9222] Forked 28591 -[9221] Forked 28592 -(28591) found -(28592) found -[9220] Forked 28593 -[9219] Forked 28594 -(28593) found -(28594) found -[9218] Forked 28595 -[9217] Forked 28596 -(28595) found -(28596) found -[9216] Forked 28597 -[9215] Forked 28598 -(28597) found -(28598) found -[9214] Forked 28599 -[9213] Forked 28600 -(28599) found -(28600) found -[9212] Forked 28601 -[9211] Forked 28602 -(28601) found -(28602) found -[9210] Forked 28603 -[9209] Forked 28604 -(28603) found -(28604) found -[9208] Forked 28605 -[9207] Forked 28606 -(28605) found -(28606) found -[9206] Forked 28607 -[9205] Forked 28608 -(28607) found -(28608) found -[9204] Forked 28609 -[9203] Forked 28610 -(28609) found -(28610) found -[9202] Forked 28611 -[9201] Forked 28612 -(28611) found -(28612) found -[9200] Forked 28613 -[9199] Forked 28614 -(28613) found -(28614) found -[9198] Forked 28615 -[9197] Forked 28616 -(28615) found -(28616) found -[9196] Forked 28617 -[9195] Forked 28618 -(28617) found -(28618) found -[9194] Forked 28619 -[9193] Forked 28620 -(28619) found -(28620) found -[9192] Forked 28621 -[9191] Forked 28622 -(28621) found -(28622) found -[9190] Forked 28623 -[9189] Forked 28624 -(28623) found -(28624) found -[9188] Forked 28625 -[9187] Forked 28626 -(28625) found -(28626) found -[9186] Forked 28627 -[9185] Forked 28628 -(28627) found -(28628) found -[9184] Forked 28629 -[9183] Forked 28630 -(28629) found -(28630) found -[9182] Forked 28631 -[9181] Forked 28632 -(28631) found -(28632) found -[9180] Forked 28633 -[9179] Forked 28634 -(28633) found -(28634) found -[9178] Forked 28635 -[9177] Forked 28636 -(28635) found -(28636) found -[9176] Forked 28637 -[9175] Forked 28638 -(28637) found -(28638) found -[9174] Forked 28639 -[9173] Forked 28640 -(28639) found -(28640) found -[9172] Forked 28641 -(28641) found -[9171] Forked 28642 -(28642) found -[9170] Forked 28643 -(28643) found -[9169] Forked 28644 -(28644) found -[9168] Forked 28645 -(28645) found -[9167] Forked 28646 -(28646) found -[9166] Forked 28647 -(28647) found -[9165] Forked 28648 -(28648) found -[9164] Forked 28649 -(28649) found -[9163] Forked 28650 -(28650) found -[9162] Forked 28651 -(28651) found -[9161] Forked 28652 -(28652) found -[9160] Forked 28653 -(28653) found -[9159] Forked 28654 -(28654) found -[9158] Forked 28655 -(28655) found -[9157] Forked 28656 -(28656) found -[9156] Forked 28657 -(28657) found -[9155] Forked 28658 -(28658) found -[9154] Forked 28659 -(28659) found -[9153] Forked 28660 -(28660) found -[9152] Forked 28661 -(28661) found -[9151] Forked 28662 -(28662) found -[9150] Forked 28663 -(28663) found -[9149] Forked 28664 -(28664) found -[9148] Forked 28665 -(28665) found -[9147] Forked 28666 -(28666) found -[9146] Forked 28667 -(28667) found -[9145] Forked 28668 -(28668) found -[9144] Forked 28669 -(28669) found -[9143] Forked 28670 -(28670) found -[9142] Forked 28671 -(28671) found -[9141] Forked 28672 -(28672) found -[9140] Forked 28673 -(28673) found -[9139] Forked 28674 -(28674) found -[9138] Forked 28675 -(28675) found -[9137] Forked 28676 -(28676) found -[9136] Forked 28677 -(28677) found -[9135] Forked 28679 -(28679) found -[9134] Forked 28680 -[9133] Forked 28681 -(28680) found -(28681) found -[9132] Forked 28682 -[9131] Forked 28683 -(28682) found -(28683) found -[9130] Forked 28684 -[9129] Forked 28685 -(28684) found -(28685) found -[9128] Forked 28686 -[9127] Forked 28687 -(28686) found -(28687) found -[9126] Forked 28688 -[9125] Forked 28689 -(28688) found -(28689) found -[9124] Forked 28690 -[9123] Forked 28691 -(28690) found -(28691) found -[9122] Forked 28692 -[9121] Forked 28693 -(28692) found -(28693) found -[9120] Forked 28694 -[9119] Forked 28696 -(28694) found -(28696) found -[9118] Forked 28697 -[9117] Forked 28698 -(28697) found -(28698) found -[9116] Forked 28699 -[9115] Forked 28700 -(28699) found -(28700) found -[9114] Forked 28701 -[9113] Forked 28702 -(28701) found -(28702) found -[9112] Forked 28703 -[9111] Forked 28704 -(28703) found -(28704) found -[9110] Forked 28705 -[9109] Forked 28706 -(28705) found -(28706) found -[9108] Forked 28707 -[9107] Forked 28708 -(28707) found -(28708) found -[9106] Forked 28709 -[9105] Forked 28710 -(28709) found -(28710) found -[9104] Forked 28711 -[9103] Forked 28712 -(28711) found -(28712) found -[9102] Forked 28713 -[9101] Forked 28714 -(28713) found -(28714) found -[9100] Forked 28715 -[9099] Forked 28716 -(28715) found -(28716) found -[9098] Forked 28717 -[9097] Forked 28718 -(28717) found -(28718) found -[9096] Forked 28719 -[9095] Forked 28720 -(28719) found -(28720) found -[9094] Forked 28721 -[9093] Forked 28722 -(28721) found -(28722) found -[9092] Forked 28723 -[9091] Forked 28724 -(28723) found -(28724) found -[9090] Forked 28725 -(28725) found -[9089] Forked 28726 -(28726) found -[9088] Forked 28727 -(28727) found -[9087] Forked 28728 -(28728) found -[9086] Forked 28729 -(28729) found -[9085] Forked 28730 -(28730) found -[9084] Forked 28731 -(28731) found -[9083] Forked 28732 -(28732) found -[9082] Forked 28733 -(28733) found -[9081] Forked 28734 -(28734) found -[9080] Forked 28735 -(28735) found -[9079] Forked 28736 -(28736) found -[9078] Forked 28737 -(28737) found -[9077] Forked 28738 -(28738) found -[9076] Forked 28739 -(28739) found -[9075] Forked 28740 -(28740) found -[9074] Forked 28741 -(28741) found -[9073] Forked 28742 -(28742) found -[9072] Forked 28743 -(28743) found -[9071] Forked 28744 -(28744) found -[9070] Forked 28745 -(28745) found -[9069] Forked 28746 -(28746) found -[9068] Forked 28747 -(28747) found -[9067] Forked 28748 -(28748) found -[9066] Forked 28749 -(28749) found -[9065] Forked 28750 -(28750) found -[9064] Forked 28751 -(28751) found -[9063] Forked 28752 -(28752) found -[9062] Forked 28753 -(28753) found -[9061] Forked 28754 -(28754) found -[9060] Forked 28755 -(28755) found -[9059] Forked 28756 -(28756) found -[9058] Forked 28757 -(28757) found -[9057] Forked 28758 -(28758) found -[9056] Forked 28759 -(28759) found -[9055] Forked 28760 -(28760) found -[9054] Forked 28761 -(28761) found -[9053] Forked 28762 -[9052] Forked 28763 -(28762) found -(28763) found -[9051] Forked 28764 -[9050] Forked 28765 -(28764) found -(28765) found -[9049] Forked 28766 -[9048] Forked 28767 -(28767) found -(28766) found -[9047] Forked 28768 -(28768) found -[9046] Forked 28769 -(28769) found -[9045] Forked 28770 -(28770) found -[9044] Forked 28771 -(28771) found -[9043] Forked 28772 -(28772) found -[9042] Forked 28773 -(28773) found -[9041] Forked 28774 -(28774) found -[9040] Forked 28775 -(28775) found -[9039] Forked 28776 -(28776) found -[9038] Forked 28777 -(28777) found -[9037] Forked 28778 -(28778) found -[9036] Forked 28779 -(28779) found -[9035] Forked 28780 -(28780) found -[9034] Forked 28781 -(28781) found -[9033] Forked 28782 -(28782) found -[9032] Forked 28783 -(28783) found -[9031] Forked 28784 -(28784) found -[9030] Forked 28785 -(28785) found -[9029] Forked 28786 -(28786) found -[9028] Forked 28787 -(28787) found -[9027] Forked 28788 -(28788) found -[9026] Forked 28789 -(28789) found -[9025] Forked 28790 -(28790) found -[9024] Forked 28791 -(28791) found -[9023] Forked 28792 -(28792) found -[9022] Forked 28793 -(28793) found -[9021] Forked 28794 -(28794) found -[9020] Forked 28795 -(28795) found -[9019] Forked 28796 -(28796) found -[9018] Forked 28797 -(28797) found -[9017] Forked 28798 -(28798) found -[9016] Forked 28799 -(28799) found -[9015] Forked 28800 -(28800) found -[9014] Forked 28801 -(28801) found -[9013] Forked 28802 -(28802) found -[9012] Forked 28803 -(28803) found -[9011] Forked 28804 -(28804) found -[9010] Forked 28805 -(28805) found -[9009] Forked 28806 -(28806) found -[9008] Forked 28807 -(28807) found -[9007] Forked 28808 -(28808) found -[9006] Forked 28809 -(28809) found -[9005] Forked 28810 -(28810) found -[9004] Forked 28811 -(28811) found -[9003] Forked 28812 -(28812) found -[9002] Forked 28813 -(28813) found -[9001] Forked 28814 -(28814) found -[9000] Forked 28815 -(28815) found -[8999] Forked 28816 -(28816) found -[8998] Forked 28817 -(28817) found -[8997] Forked 28818 -(28818) found -[8996] Forked 28819 -(28819) found -[8995] Forked 28820 -(28820) found -[8994] Forked 28821 -(28821) found -[8993] Forked 28822 -(28822) found -[8992] Forked 28823 -(28823) found -[8991] Forked 28824 -(28824) found -[8990] Forked 28825 -(28825) found -[8989] Forked 28826 -(28826) found -[8988] Forked 28827 -(28827) found -[8987] Forked 28828 -(28828) found -[8986] Forked 28829 -(28829) found -[8985] Forked 28830 -(28830) found -[8984] Forked 28831 -(28831) found -[8983] Forked 28832 -(28832) found -[8982] Forked 28833 -[8981] Forked 28834 -(28833) found -(28834) found -[8980] Forked 28835 -[8979] Forked 28836 -(28835) found -(28836) found -[8978] Forked 28837 -[8977] Forked 28838 -(28837) found -(28838) found -[8976] Forked 28839 -[8975] Forked 28840 -(28840) found -(28839) found -[8974] Forked 28841 -(28841) found -[8973] Forked 28842 -(28842) found -[8972] Forked 28843 -(28843) found -[8971] Forked 28844 -(28844) found -[8970] Forked 28845 -(28845) found -[8969] Forked 28846 -(28846) found -[8968] Forked 28847 -(28847) found -[8967] Forked 28848 -(28848) found -[8966] Forked 28849 -(28849) found -[8965] Forked 28850 -(28850) found -[8964] Forked 28851 -(28851) found -[8963] Forked 28852 -(28852) found -[8962] Forked 28853 -(28853) found -[8961] Forked 28854 -(28854) found -[8960] Forked 28855 -(28855) found -[8959] Forked 28856 -(28856) found -[8958] Forked 28857 -(28857) found -[8957] Forked 28858 -(28858) found -[8956] Forked 28859 -(28859) found -[8955] Forked 28860 -(28860) found -[8954] Forked 28861 -(28861) found -[8953] Forked 28862 -(28862) found -[8952] Forked 28863 -(28863) found -[8951] Forked 28864 -(28864) found -[8950] Forked 28865 -(28865) found -[8949] Forked 28866 -(28866) found -[8948] Forked 28867 -(28867) found -[8947] Forked 28868 -(28868) found -[8946] Forked 28869 -(28869) found -[8945] Forked 28870 -(28870) found -[8944] Forked 28871 -(28871) found -[8943] Forked 28872 -(28872) found -[8942] Forked 28873 -(28873) found -[8941] Forked 28874 -(28874) found -[8940] Forked 28875 -(28875) found -[8939] Forked 28876 -(28876) found -[8938] Forked 28877 -(28877) found -[8937] Forked 28878 -(28878) found -[8936] Forked 28879 -(28879) found -[8935] Forked 28880 -(28880) found -[8934] Forked 28881 -(28881) found -[8933] Forked 28882 -(28882) found -[8932] Forked 28883 -(28883) found -[8931] Forked 28884 -(28884) found -[8930] Forked 28885 -(28885) found -[8929] Forked 28886 -(28886) found -[8928] Forked 28887 -(28887) found -[8927] Forked 28888 -(28888) found -[8926] Forked 28889 -(28889) found -[8925] Forked 28890 -(28890) found -[8924] Forked 28891 -(28891) found -[8923] Forked 28892 -(28892) found -[8922] Forked 28893 -(28893) found -[8921] Forked 28894 -(28894) found -[8920] Forked 28895 -(28895) found -[8919] Forked 28896 -(28896) found -[8918] Forked 28897 -(28897) found -[8917] Forked 28898 -(28898) found -[8916] Forked 28899 -(28899) found -[8915] Forked 28900 -(28900) found -[8914] Forked 28901 -[8913] Forked 28902 -(28901) found -(28902) found -[8912] Forked 28903 -[8911] Forked 28904 -(28903) found -(28904) found -[8910] Forked 28905 -[8909] Forked 28906 -(28905) found -(28906) found -[8908] Forked 28907 -[8907] Forked 28908 -(28907) found -(28908) found -[8906] Forked 28909 -[8905] Forked 28910 -(28909) found -(28910) found -[8904] Forked 28911 -[8903] Forked 28912 -(28911) found -(28912) found -[8902] Forked 28913 -[8901] Forked 28914 -(28913) found -(28914) found -[8900] Forked 28915 -[8899] Forked 28916 -(28915) found -(28916) found -[8898] Forked 28917 -[8897] Forked 28918 -(28917) found -(28918) found -[8896] Forked 28919 -[8895] Forked 28920 -(28919) found -(28920) found -[8894] Forked 28921 -(28921) found -[8893] Forked 28922 -(28922) found -[8892] Forked 28923 -[8891] Forked 28924 -(28923) found -(28924) found -[8890] Forked 28925 -[8889] Forked 28926 -(28925) found -(28926) found -[8888] Forked 28927 -[8887] Forked 28928 -(28927) found -(28928) found -[8886] Forked 28929 -[8885] Forked 28930 -(28929) found -(28930) found -[8884] Forked 28931 -[8883] Forked 28932 -(28931) found -(28932) found -[8882] Forked 28933 -[8881] Forked 28934 -(28933) found -(28934) found -[8880] Forked 28935 -[8879] Forked 28936 -(28935) found -(28936) found -[8878] Forked 28937 -[8877] Forked 28938 -(28937) found -(28938) found -[8876] Forked 28939 -[8875] Forked 28940 -(28939) found -(28940) found -[8874] Forked 28941 -[8873] Forked 28942 -(28941) found -(28942) found -[8872] Forked 28943 -[8871] Forked 28944 -(28943) found -(28944) found -[8870] Forked 28945 -(28945) found -[8869] Forked 28946 -(28946) found -[8868] Forked 28947 -(28947) found -[8867] Forked 28948 -(28948) found -[8866] Forked 28949 -(28949) found -[8865] Forked 28950 -(28950) found -[8864] Forked 28951 -(28951) found -[8863] Forked 28952 -(28952) found -[8862] Forked 28953 -(28953) found -[8861] Forked 28954 -(28954) found -[8860] Forked 28955 -(28955) found -[8859] Forked 28956 -(28956) found -[8858] Forked 28957 -(28957) found -[8857] Forked 28958 -(28958) found -[8856] Forked 28959 -(28959) found -[8855] Forked 28960 -(28960) found -[8854] Forked 28961 -(28961) found -[8853] Forked 28962 -(28962) found -[8852] Forked 28963 -(28963) found -[8851] Forked 28964 -(28964) found -[8850] Forked 28965 -(28965) found -[8849] Forked 28966 -(28966) found -[8848] Forked 28967 -(28967) found -[8847] Forked 28968 -(28968) found -[8846] Forked 28969 -(28969) found -[8845] Forked 28970 -(28970) found -[8844] Forked 28971 -(28971) found -[8843] Forked 28972 -(28972) found -[8842] Forked 28973 -(28973) found -[8841] Forked 28974 -(28974) found -[8840] Forked 28975 -(28975) found -[8839] Forked 28976 -(28976) found -[8838] Forked 28977 -(28977) found -[8837] Forked 28978 -(28978) found -[8836] Forked 28979 -(28979) found -[8835] Forked 28980 -(28980) found -[8834] Forked 28981 -(28981) found -[8833] Forked 28982 -[8832] Forked 28983 -(28983) found -(28982) found -[8831] Forked 28984 -(28984) found -[8830] Forked 28985 -(28985) found -[8829] Forked 28986 -(28986) found -[8828] Forked 28987 -(28987) found -[8827] Forked 28988 -(28988) found -[8826] Forked 28989 -(28989) found -[8825] Forked 28990 -(28990) found -[8824] Forked 28991 -(28991) found -[8823] Forked 28992 -(28992) found -[8822] Forked 28993 -(28993) found -[8821] Forked 28994 -(28994) found -[8820] Forked 28995 -(28995) found -[8819] Forked 28996 -(28996) found -[8818] Forked 28997 -(28997) found -[8817] Forked 28998 -(28998) found -[8816] Forked 28999 -(28999) found -[8815] Forked 29000 -(29000) found -[8814] Forked 29001 -(29001) found -[8813] Forked 29002 -(29002) found -[8812] Forked 29003 -(29003) found -[8811] Forked 29004 -(29004) found -[8810] Forked 29005 -(29005) found -[8809] Forked 29006 -(29006) found -[8808] Forked 29007 -(29007) found -[8807] Forked 29008 -(29008) found -[8806] Forked 29009 -(29009) found -[8805] Forked 29010 -(29010) found -[8804] Forked 29011 -(29011) found -[8803] Forked 29012 -(29012) found -[8802] Forked 29013 -(29013) found -[8801] Forked 29014 -(29014) found -[8800] Forked 29015 -(29015) found -[8799] Forked 29016 -(29016) found -[8798] Forked 29017 -(29017) found -[8797] Forked 29018 -(29018) found -[8796] Forked 29019 -(29019) found -[8795] Forked 29020 -(29020) found -[8794] Forked 29021 -(29021) found -[8793] Forked 29022 -(29022) found -[8792] Forked 29023 -(29023) found -[8791] Forked 29024 -(29024) found -[8790] Forked 29025 -(29025) found -[8789] Forked 29026 -(29026) found -[8788] Forked 29027 -(29027) found -[8787] Forked 29028 -(29028) found -[8786] Forked 29029 -(29029) found -[8785] Forked 29030 -(29030) found -[8784] Forked 29031 -(29031) found -[8783] Forked 29032 -(29032) found -[8782] Forked 29033 -(29033) found -[8781] Forked 29034 -(29034) found -[8780] Forked 29035 -(29035) found -[8779] Forked 29036 -(29036) found -[8778] Forked 29037 -(29037) found -[8777] Forked 29038 -(29038) found -[8776] Forked 29039 -(29039) found -[8775] Forked 29040 -(29040) found -[8774] Forked 29041 -(29041) found -[8773] Forked 29042 -(29042) found -[8772] Forked 29043 -(29043) found -[8771] Forked 29044 -(29044) found -[8770] Forked 29045 -(29045) found -[8769] Forked 29046 -(29046) found -[8768] Forked 29047 -(29047) found -[8767] Forked 29048 -(29048) found -[8766] Forked 29049 -(29049) found -[8765] Forked 29050 -(29050) found -[8764] Forked 29051 -(29051) found -[8763] Forked 29052 -[8762] Forked 29053 -(29052) found -(29053) found -[8761] Forked 29054 -[8760] Forked 29055 -(29054) found -(29055) found -[8759] Forked 29056 -[8758] Forked 29057 -(29056) found -(29057) found -[8757] Forked 29058 -[8756] Forked 29059 -(29058) found -(29059) found -[8755] Forked 29060 -[8754] Forked 29061 -(29060) found -(29061) found -[8753] Forked 29062 -[8752] Forked 29063 -(29062) found -(29063) found -[8751] Forked 29064 -[8750] Forked 29065 -(29064) found -(29065) found -[8749] Forked 29066 -[8748] Forked 29067 -(29066) found -(29067) found -[8747] Forked 29068 -[8746] Forked 29069 -(29068) found -(29069) found -[8745] Forked 29070 -[8744] Forked 29071 -(29070) found -(29071) found -[8743] Forked 29072 -[8742] Forked 29073 -(29072) found -(29073) found -[8741] Forked 29074 -[8740] Forked 29075 -(29074) found -(29075) found -[8739] Forked 29076 -[8738] Forked 29077 -(29076) found -(29077) found -[8737] Forked 29078 -[8736] Forked 29079 -(29078) found -(29079) found -[8735] Forked 29080 -[8734] Forked 29081 -(29080) found -(29081) found -[8733] Forked 29082 -[8732] Forked 29083 -(29082) found -(29083) found -[8731] Forked 29084 -[8730] Forked 29085 -(29084) found -(29085) found -[8729] Forked 29086 -[8728] Forked 29087 -(29086) found -(29087) found -[8727] Forked 29088 -[8726] Forked 29089 -(29088) found -(29089) found -[8725] Forked 29090 -[8724] Forked 29091 -(29090) found -(29091) found -[8723] Forked 29092 -[8722] Forked 29093 -(29092) found -(29093) found -[8721] Forked 29094 -[8720] Forked 29095 -(29094) found -(29095) found -[8719] Forked 29096 -[8718] Forked 29097 -(29096) found -(29097) found -[8717] Forked 29098 -[8716] Forked 29099 -(29098) found -(29099) found -[8715] Forked 29100 -[8714] Forked 29101 -(29100) found -(29101) found -[8713] Forked 29102 -[8712] Forked 29103 -(29102) found -(29103) found -[8711] Forked 29104 -[8710] Forked 29105 -(29104) found -(29105) found -[8709] Forked 29106 -[8708] Forked 29107 -(29106) found -(29107) found -[8707] Forked 29108 -[8706] Forked 29109 -(29108) found -(29109) found -[8705] Forked 29110 -[8704] Forked 29111 -(29110) found -(29111) found -[8703] Forked 29112 -[8702] Forked 29113 -(29112) found -(29113) found -[8701] Forked 29114 -[8700] Forked 29115 -(29114) found -(29115) found -[8699] Forked 29116 -[8698] Forked 29117 -(29116) found -(29117) found -[8697] Forked 29118 -[8696] Forked 29119 -(29118) found -(29119) found -[8695] Forked 29120 -[8694] Forked 29122 -(29120) found -(29122) found -[8693] Forked 29123 -(29123) found -[8692] Forked 29124 -(29124) found -[8691] Forked 29125 -(29125) found -[8690] Forked 29126 -(29126) found -[8689] Forked 29127 -(29127) found -[8688] Forked 29128 -(29128) found -[8687] Forked 29129 -(29129) found -[8686] Forked 29130 -(29130) found -[8685] Forked 29131 -(29131) found -[8684] Forked 29132 -(29132) found -[8683] Forked 29133 -(29133) found -[8682] Forked 29134 -(29134) found -[8681] Forked 29135 -(29135) found -[8680] Forked 29136 -(29136) found -[8679] Forked 29137 -(29137) found -[8678] Forked 29138 -(29138) found -[8677] Forked 29139 -(29139) found -[8676] Forked 29140 -(29140) found -[8675] Forked 29141 -(29141) found -[8674] Forked 29142 -(29142) found -[8673] Forked 29143 -(29143) found -[8672] Forked 29144 -(29144) found -[8671] Forked 29145 -(29145) found -[8670] Forked 29146 -(29146) found -[8669] Forked 29147 -(29147) found -[8668] Forked 29148 -(29148) found -[8667] Forked 29149 -(29149) found -[8666] Forked 29150 -(29150) found -[8665] Forked 29151 -(29151) found -[8664] Forked 29152 -(29152) found -[8663] Forked 29153 -(29153) found -[8662] Forked 29154 -(29154) found -[8661] Forked 29155 -(29155) found -[8660] Forked 29156 -(29156) found -[8659] Forked 29157 -(29157) found -[8658] Forked 29158 -(29158) found -[8657] Forked 29159 -(29159) found -[8656] Forked 29160 -(29160) found -[8655] Forked 29161 -(29161) found -[8654] Forked 29162 -(29162) found -[8653] Forked 29163 -(29163) found -[8652] Forked 29164 -(29164) found -[8651] Forked 29165 -(29165) found -[8650] Forked 29166 -(29166) found -[8649] Forked 29167 -(29167) found -[8648] Forked 29168 -(29168) found -[8647] Forked 29169 -(29169) found -[8646] Forked 29170 -(29170) found -[8645] Forked 29171 -(29171) found -[8644] Forked 29172 -(29172) found -[8643] Forked 29173 -(29173) found -[8642] Forked 29174 -[8641] Forked 29175 -(29174) found -(29175) found -[8640] Forked 29176 -[8639] Forked 29177 -(29176) found -(29177) found -[8638] Forked 29178 -[8637] Forked 29179 -(29178) found -(29179) found -[8636] Forked 29180 -[8635] Forked 29181 -(29180) found -(29181) found -[8634] Forked 29182 -[8633] Forked 29183 -(29182) found -(29183) found -[8632] Forked 29184 -[8631] Forked 29185 -(29184) found -(29185) found -[8630] Forked 29186 -[8629] Forked 29187 -(29186) found -(29187) found -[8628] Forked 29188 -[8627] Forked 29189 -(29188) found -(29189) found -[8626] Forked 29190 -[8625] Forked 29191 -(29190) found -(29191) found -[8624] Forked 29192 -[8623] Forked 29193 -(29192) found -(29193) found -[8622] Forked 29194 -[8621] Forked 29195 -(29194) found -(29195) found -[8620] Forked 29196 -[8619] Forked 29197 -(29196) found -(29197) found -[8618] Forked 29198 -[8617] Forked 29199 -(29198) found -(29199) found -[8616] Forked 29200 -[8615] Forked 29201 -(29200) found -(29201) found -[8614] Forked 29202 -[8613] Forked 29203 -(29202) found -(29203) found -[8612] Forked 29204 -[8611] Forked 29205 -(29204) found -(29205) found -[8610] Forked 29206 -[8609] Forked 29207 -(29206) found -(29207) found -[8608] Forked 29208 -[8607] Forked 29209 -(29208) found -(29209) found -[8606] Forked 29210 -[8605] Forked 29211 -(29210) found -(29211) found -[8604] Forked 29212 -[8603] Forked 29213 -(29212) found -(29213) found -[8602] Forked 29214 -[8601] Forked 29215 -(29214) found -(29215) found -[8600] Forked 29216 -[8599] Forked 29217 -(29216) found -(29217) found -[8598] Forked 29218 -[8597] Forked 29219 -(29218) found -(29219) found -[8596] Forked 29220 -[8595] Forked 29221 -(29220) found -(29221) found -[8594] Forked 29222 -[8593] Forked 29223 -(29222) found -(29223) found -[8592] Forked 29224 -[8591] Forked 29225 -(29224) found -(29225) found -[8590] Forked 29226 -[8589] Forked 29227 -(29226) found -(29227) found -[8588] Forked 29228 -[8587] Forked 29229 -(29228) found -(29229) found -[8586] Forked 29230 -[8585] Forked 29231 -(29230) found -(29231) found -[8584] Forked 29232 -[8583] Forked 29233 -(29232) found -(29233) found -[8582] Forked 29234 -[8581] Forked 29235 -(29234) found -(29235) found -[8580] Forked 29236 -[8579] Forked 29237 -(29236) found -(29237) found -[8578] Forked 29238 -[8577] Forked 29239 -(29238) found -(29239) found -[8576] Forked 29240 -[8575] Forked 29241 -(29240) found -(29241) found -[8574] Forked 29242 -[8573] Forked 29243 -(29242) found -(29243) found -[8572] Forked 29244 -[8571] Forked 29245 -(29244) found -(29245) found -[8570] Forked 29246 -[8569] Forked 29247 -(29246) found -(29247) found -[8568] Forked 29248 -[8567] Forked 29249 -(29248) found -(29249) found -[8566] Forked 29250 -[8565] Forked 29251 -(29250) found -(29251) found -[8564] Forked 29252 -[8563] Forked 29253 -(29252) found -(29253) found -[8562] Forked 29254 -[8561] Forked 29255 -(29254) found -(29255) found -[8560] Forked 29256 -[8559] Forked 29257 -(29256) found -(29257) found -[8558] Forked 29258 -[8557] Forked 29259 -(29258) found -(29259) found -[8556] Forked 29260 -[8555] Forked 29261 -(29260) found -(29261) found -[8554] Forked 29262 -[8553] Forked 29263 -(29262) found -(29263) found -[8552] Forked 29264 -[8551] Forked 29265 -(29264) found -(29265) found -[8550] Forked 29266 -(29266) found -[8549] Forked 29267 -(29267) found -[8548] Forked 29268 -(29268) found -[8547] Forked 29269 -(29269) found -[8546] Forked 29270 -(29270) found -[8545] Forked 29271 -(29271) found -[8544] Forked 29272 -(29272) found -[8543] Forked 29273 -(29273) found -[8542] Forked 29274 -(29274) found -[8541] Forked 29275 -(29275) found -[8540] Forked 29276 -(29276) found -[8539] Forked 29277 -(29277) found -[8538] Forked 29278 -(29278) found -[8537] Forked 29279 -(29279) found -[8536] Forked 29280 -(29280) found -[8535] Forked 29281 -(29281) found -[8534] Forked 29282 -(29282) found -[8533] Forked 29283 -(29283) found -[8532] Forked 29284 -(29284) found -[8531] Forked 29285 -(29285) found -[8530] Forked 29286 -(29286) found -[8529] Forked 29287 -(29287) found -[8528] Forked 29288 -(29288) found -[8527] Forked 29289 -(29289) found -[8526] Forked 29290 -(29290) found -[8525] Forked 29291 -(29291) found -[8524] Forked 29292 -(29292) found -[8523] Forked 29293 -(29293) found -[8522] Forked 29294 -(29294) found -[8521] Forked 29295 -(29295) found -[8520] Forked 29296 -(29296) found -[8519] Forked 29297 -(29297) found -[8518] Forked 29298 -(29298) found -[8517] Forked 29299 -(29299) found -[8516] Forked 29300 -(29300) found -[8515] Forked 29301 -(29301) found -[8514] Forked 29302 -[8513] Forked 29303 -(29302) found -(29303) found -[8512] Forked 29304 -[8511] Forked 29305 -(29304) found -(29305) found -[8510] Forked 29306 -[8509] Forked 29307 -(29306) found -(29307) found -[8508] Forked 29308 -[8507] Forked 29309 -(29308) found -(29309) found -[8506] Forked 29310 -[8505] Forked 29311 -(29310) found -(29311) found -[8504] Forked 29312 -[8503] Forked 29313 -(29312) found -(29313) found -[8502] Forked 29314 -[8501] Forked 29315 -(29314) found -(29315) found -[8500] Forked 29316 -(29316) found -[8499] Forked 29317 -[8498] Forked 29318 -(29317) found -(29318) found -[8497] Forked 29319 -[8496] Forked 29320 -(29319) found -(29320) found -[8495] Forked 29321 -[8494] Forked 29322 -(29321) found -(29322) found -[8493] Forked 29323 -[8492] Forked 29324 -(29323) found -(29324) found -[8491] Forked 29325 -[8490] Forked 29326 -(29325) found -(29326) found -[8489] Forked 29327 -[8488] Forked 29328 -(29327) found -(29328) found -[8487] Forked 29329 -[8486] Forked 29330 -(29329) found -(29330) found -[8485] Forked 29331 -[8484] Forked 29332 -(29331) found -(29332) found -[8483] Forked 29333 -[8482] Forked 29334 -(29333) found -(29334) found -[8481] Forked 29335 -[8480] Forked 29336 -(29335) found -(29336) found -[8479] Forked 29337 -[8478] Forked 29338 -(29337) found -(29338) found -[8477] Forked 29339 -[8476] Forked 29340 -(29339) found -(29340) found -[8475] Forked 29341 -[8474] Forked 29342 -(29341) found -(29342) found -[8473] Forked 29343 -[8472] Forked 29344 -(29343) found -(29344) found -[8471] Forked 29345 -[8470] Forked 29346 -(29345) found -(29346) found -[8469] Forked 29347 -[8468] Forked 29348 -(29347) found -(29348) found -[8467] Forked 29349 -[8466] Forked 29350 -(29349) found -(29350) found -[8465] Forked 29351 -[8464] Forked 29352 -(29351) found -(29352) found -[8463] Forked 29353 -[8462] Forked 29354 -(29353) found -(29354) found -[8461] Forked 29355 -[8460] Forked 29356 -(29355) found -(29356) found -[8459] Forked 29357 -[8458] Forked 29358 -(29357) found -(29358) found -[8457] Forked 29359 -[8456] Forked 29360 -(29359) found -(29360) found -[8455] Forked 29361 -[8454] Forked 29362 -(29361) found -(29362) found -[8453] Forked 29363 -[8452] Forked 29364 -(29363) found -(29364) found -[8451] Forked 29365 -[8450] Forked 29366 -(29365) found -(29366) found -[8449] Forked 29367 -[8448] Forked 29368 -(29367) found -(29368) found -[8447] Forked 29369 -[8446] Forked 29370 -(29369) found -(29370) found -[8445] Forked 29371 -[8444] Forked 29372 -(29371) found -(29372) found -[8443] Forked 29373 -[8442] Forked 29374 -(29373) found -(29374) found -[8441] Forked 29375 -[8440] Forked 29376 -(29375) found -(29376) found -[8439] Forked 29377 -[8438] Forked 29378 -(29377) found -(29378) found -[8437] Forked 29379 -[8436] Forked 29380 -(29379) found -(29380) found -[8435] Forked 29381 -[8434] Forked 29382 -(29381) found -(29382) found -[8433] Forked 29383 -[8432] Forked 29384 -(29383) found -(29384) found -[8431] Forked 29385 -[8430] Forked 29386 -(29385) found -(29386) found -[8429] Forked 29387 -[8428] Forked 29388 -(29387) found -(29388) found -[8427] Forked 29389 -[8426] Forked 29390 -(29389) found -(29390) found -[8425] Forked 29391 -[8424] Forked 29392 -(29391) found -(29392) found -[8423] Forked 29393 -[8422] Forked 29394 -(29393) found -(29394) found -[8421] Forked 29395 -[8420] Forked 29396 -(29395) found -(29396) found -[8419] Forked 29397 -[8418] Forked 29398 -(29397) found -(29398) found -[8417] Forked 29399 -[8416] Forked 29400 -(29399) found -(29400) found -[8415] Forked 29401 -[8414] Forked 29402 -(29401) found -(29402) found -[8413] Forked 29403 -[8412] Forked 29404 -(29403) found -(29404) found -[8411] Forked 29405 -[8410] Forked 29406 -(29405) found -(29406) found -[8409] Forked 29407 -[8408] Forked 29408 -(29407) found -(29408) found -[8407] Forked 29409 -[8406] Forked 29410 -(29409) found -(29410) found -[8405] Forked 29411 -[8404] Forked 29412 -(29411) found -(29412) found -[8403] Forked 29413 -[8402] Forked 29414 -(29413) found -(29414) found -[8401] Forked 29415 -[8400] Forked 29416 -(29415) found -(29416) found -[8399] Forked 29417 -[8398] Forked 29418 -(29417) found -(29418) found -[8397] Forked 29419 -[8396] Forked 29420 -(29419) found -(29420) found -[8395] Forked 29421 -[8394] Forked 29422 -(29421) found -(29422) found -[8393] Forked 29423 -[8392] Forked 29424 -(29423) found -(29424) found -[8391] Forked 29425 -[8390] Forked 29426 -(29425) found -(29426) found -[8389] Forked 29427 -[8388] Forked 29428 -(29427) found -(29428) found -[8387] Forked 29429 -[8386] Forked 29430 -(29429) found -(29430) found -[8385] Forked 29431 -[8384] Forked 29432 -(29431) found -(29432) found -[8383] Forked 29433 -[8382] Forked 29434 -(29433) found -(29434) found -[8381] Forked 29435 -(29435) found -[8380] Forked 29436 -(29436) found -[8379] Forked 29437 -(29437) found -[8378] Forked 29438 -(29438) found -[8377] Forked 29439 -(29439) found -[8376] Forked 29440 -(29440) found -[8375] Forked 29441 -(29441) found -[8374] Forked 29442 -(29442) found -[8373] Forked 29443 -(29443) found -[8372] Forked 29444 -(29444) found -[8371] Forked 29445 -(29445) found -[8370] Forked 29446 -(29446) found -[8369] Forked 29447 -(29447) found -[8368] Forked 29448 -(29448) found -[8367] Forked 29449 -(29449) found -[8366] Forked 29450 -(29450) found -[8365] Forked 29451 -(29451) found -[8364] Forked 29452 -(29452) found -[8363] Forked 29453 -(29453) found -[8362] Forked 29454 -(29454) found -[8361] Forked 29455 -(29455) found -[8360] Forked 29456 -(29456) found -[8359] Forked 29457 -(29457) found -[8358] Forked 29458 -(29458) found -[8357] Forked 29459 -(29459) found -[8356] Forked 29460 -(29460) found -[8355] Forked 29461 -(29461) found -[8354] Forked 29462 -(29462) found -[8353] Forked 29463 -(29463) found -[8352] Forked 29464 -(29464) found -[8351] Forked 29465 -(29465) found -[8350] Forked 29466 -(29466) found -[8349] Forked 29467 -(29467) found -[8348] Forked 29468 -(29468) found -[8347] Forked 29469 -(29469) found -[8346] Forked 29470 -(29470) found -[8345] Forked 29471 -(29471) found -[8344] Forked 29472 -(29472) found -[8343] Forked 29473 -[8342] Forked 29474 -(29473) found -(29474) found -[8341] Forked 29475 -[8340] Forked 29476 -(29475) found -(29476) found -[8339] Forked 29477 -[8338] Forked 29478 -(29477) found -(29478) found -[8337] Forked 29479 -[8336] Forked 29480 -(29479) found -(29480) found -[8335] Forked 29481 -[8334] Forked 29482 -(29481) found -(29482) found -[8333] Forked 29483 -[8332] Forked 29484 -(29483) found -(29484) found -[8331] Forked 29485 -[8330] Forked 29486 -(29485) found -(29486) found -[8329] Forked 29487 -[8328] Forked 29488 -(29487) found -(29488) found -[8327] Forked 29489 -[8326] Forked 29490 -(29489) found -(29490) found -[8325] Forked 29491 -[8324] Forked 29492 -(29491) found -(29492) found -[8323] Forked 29493 -[8322] Forked 29494 -(29493) found -(29494) found -[8321] Forked 29495 -[8320] Forked 29496 -(29495) found -(29496) found -[8319] Forked 29497 -[8318] Forked 29498 -(29497) found -(29498) found -[8317] Forked 29499 -[8316] Forked 29500 -(29499) found -(29500) found -[8315] Forked 29501 -[8314] Forked 29502 -(29501) found -(29502) found -[8313] Forked 29503 -[8312] Forked 29504 -(29503) found -(29504) found -[8311] Forked 29505 -[8310] Forked 29506 -(29505) found -(29506) found -[8309] Forked 29507 -[8308] Forked 29508 -(29507) found -(29508) found -[8307] Forked 29509 -[8306] Forked 29510 -(29509) found -(29510) found -[8305] Forked 29511 -[8304] Forked 29512 -(29511) found -(29512) found -[8303] Forked 29513 -[8302] Forked 29514 -(29513) found -(29514) found -[8301] Forked 29515 -[8300] Forked 29516 -(29515) found -(29516) found -[8299] Forked 29517 -(29517) found -[8298] Forked 29518 -(29518) found -[8297] Forked 29519 -(29519) found -[8296] Forked 29520 -(29520) found -[8295] Forked 29521 -(29521) found -[8294] Forked 29522 -(29522) found -[8293] Forked 29523 -(29523) found -[8292] Forked 29524 -(29524) found -[8291] Forked 29525 -(29525) found -[8290] Forked 29526 -(29526) found -[8289] Forked 29527 -(29527) found -[8288] Forked 29528 -(29528) found -[8287] Forked 29529 -(29529) found -[8286] Forked 29530 -(29530) found -[8285] Forked 29531 -(29531) found -[8284] Forked 29532 -(29532) found -[8283] Forked 29533 -(29533) found -[8282] Forked 29534 -(29534) found -[8281] Forked 29535 -(29535) found -[8280] Forked 29536 -(29536) found -[8279] Forked 29537 -(29537) found -[8278] Forked 29538 -(29538) found -[8277] Forked 29539 -(29539) found -[8276] Forked 29540 -(29540) found -[8275] Forked 29541 -(29541) found -[8274] Forked 29542 -(29542) found -[8273] Forked 29543 -(29543) found -[8272] Forked 29544 -(29544) found -[8271] Forked 29545 -(29545) found -[8270] Forked 29546 -(29546) found -[8269] Forked 29547 -(29547) found -[8268] Forked 29548 -(29548) found -[8267] Forked 29549 -(29549) found -[8266] Forked 29550 -(29550) found -[8265] Forked 29551 -(29551) found -[8264] Forked 29552 -(29552) found -[8263] Forked 29553 -(29553) found -[8262] Forked 29554 -(29554) found -[8261] Forked 29555 -(29555) found -[8260] Forked 29556 -[8259] Forked 29557 -(29556) found -(29557) found -[8258] Forked 29558 -[8257] Forked 29559 -(29558) found -(29559) found -[8256] Forked 29560 -[8255] Forked 29561 -(29560) found -(29561) found -[8254] Forked 29562 -[8253] Forked 29563 -(29562) found -(29563) found -[8252] Forked 29564 -[8251] Forked 29565 -(29564) found -(29565) found -[8250] Forked 29566 -[8249] Forked 29567 -(29566) found -(29567) found -[8248] Forked 29568 -[8247] Forked 29569 -(29568) found -(29569) found -[8246] Forked 29570 -[8245] Forked 29571 -(29570) found -(29571) found -[8244] Forked 29572 -[8243] Forked 29573 -(29572) found -(29573) found -[8242] Forked 29574 -[8241] Forked 29575 -(29574) found -(29575) found -[8240] Forked 29576 -[8239] Forked 29577 -(29576) found -(29577) found -[8238] Forked 29578 -[8237] Forked 29579 -(29578) found -(29579) found -[8236] Forked 29580 -[8235] Forked 29581 -(29580) found -(29581) found -[8234] Forked 29582 -[8233] Forked 29583 -(29582) found -(29583) found -[8232] Forked 29584 -[8231] Forked 29585 -(29584) found -(29585) found -[8230] Forked 29586 -[8229] Forked 29587 -(29586) found -(29587) found -[8228] Forked 29588 -[8227] Forked 29589 -(29588) found -(29589) found -[8226] Forked 29590 -[8225] Forked 29591 -(29590) found -(29591) found -[8224] Forked 29592 -[8223] Forked 29593 -(29592) found -(29593) found -[8222] Forked 29594 -(29594) found -[8221] Forked 29595 -[8220] Forked 29596 -(29595) found -(29596) found -[8219] Forked 29597 -[8218] Forked 29598 -(29597) found -(29598) found -[8217] Forked 29599 -(29599) found -[8216] Forked 29600 -(29600) found -[8215] Forked 29601 -(29601) found -[8214] Forked 29602 -(29602) found -[8213] Forked 29603 -(29603) found -[8212] Forked 29604 -(29604) found -[8211] Forked 29605 -(29605) found -[8210] Forked 29606 -(29606) found -[8209] Forked 29607 -(29607) found -[8208] Forked 29608 -(29608) found -[8207] Forked 29609 -(29609) found -[8206] Forked 29610 -(29610) found -[8205] Forked 29611 -(29611) found -[8204] Forked 29612 -(29612) found -[8203] Forked 29613 -(29613) found -[8202] Forked 29614 -(29614) found -[8201] Forked 29615 -(29615) found -[8200] Forked 29616 -(29616) found -[8199] Forked 29617 -(29617) found -[8198] Forked 29618 -(29618) found -[8197] Forked 29619 -(29619) found -[8196] Forked 29620 -(29620) found -[8195] Forked 29621 -(29621) found -[8194] Forked 29622 -(29622) found -[8193] Forked 29623 -(29623) found -[8192] Forked 29624 -(29624) found -[8191] Forked 29625 -(29625) found -[8190] Forked 29626 -(29626) found -[8189] Forked 29627 -(29627) found -[8188] Forked 29628 -(29628) found -[8187] Forked 29629 -(29629) found -[8186] Forked 29630 -(29630) found -[8185] Forked 29631 -(29631) found -[8184] Forked 29632 -(29632) found -[8183] Forked 29633 -(29633) found -[8182] Forked 29634 -(29634) found -[8181] Forked 29635 -(29635) found -[8180] Forked 29636 -(29636) found -[8179] Forked 29637 -(29637) found -[8178] Forked 29638 -[8177] Forked 29639 -(29638) found -(29639) found -[8176] Forked 29640 -[8175] Forked 29641 -(29640) found -(29641) found -[8174] Forked 29642 -[8173] Forked 29643 -(29642) found -(29643) found -[8172] Forked 29644 -[8171] Forked 29645 -(29644) found -(29645) found -[8170] Forked 29646 -[8169] Forked 29647 -(29646) found -(29647) found -[8168] Forked 29648 -[8167] Forked 29649 -(29648) found -(29649) found -[8166] Forked 29650 -[8165] Forked 29651 -(29650) found -(29651) found -[8164] Forked 29652 -[8163] Forked 29653 -(29652) found -(29653) found -[8162] Forked 29654 -[8161] Forked 29655 -(29654) found -(29655) found -[8160] Forked 29656 -[8159] Forked 29657 -(29656) found -(29657) found -[8158] Forked 29658 -[8157] Forked 29659 -(29658) found -(29659) found -[8156] Forked 29660 -[8155] Forked 29661 -(29660) found -(29661) found -[8154] Forked 29662 -[8153] Forked 29663 -(29662) found -(29663) found -[8152] Forked 29664 -[8151] Forked 29665 -(29665) found -(29664) found -[8150] Forked 29666 -(29666) found -[8149] Forked 29667 -(29667) found -[8148] Forked 29668 -(29668) found -[8147] Forked 29669 -(29669) found -[8146] Forked 29670 -(29670) found -[8145] Forked 29671 -(29671) found -[8144] Forked 29672 -(29672) found -[8143] Forked 29673 -(29673) found -[8142] Forked 29674 -(29674) found -[8141] Forked 29675 -(29675) found -[8140] Forked 29676 -(29676) found -[8139] Forked 29677 -(29677) found -[8138] Forked 29678 -(29678) found -[8137] Forked 29679 -(29679) found -[8136] Forked 29680 -(29680) found -[8135] Forked 29681 -(29681) found -[8134] Forked 29682 -(29682) found -[8133] Forked 29683 -(29683) found -[8132] Forked 29684 -(29684) found -[8131] Forked 29685 -(29685) found -[8130] Forked 29686 -(29686) found -[8129] Forked 29687 -(29687) found -[8128] Forked 29688 -(29688) found -[8127] Forked 29689 -(29689) found -[8126] Forked 29690 -(29690) found -[8125] Forked 29691 -(29691) found -[8124] Forked 29692 -(29692) found -[8123] Forked 29693 -(29693) found -[8122] Forked 29694 -(29694) found -[8121] Forked 29695 -(29695) found -[8120] Forked 29696 -(29696) found -[8119] Forked 29697 -(29697) found -[8118] Forked 29698 -(29698) found -[8117] Forked 29699 -(29699) found -[8116] Forked 29700 -(29700) found -[8115] Forked 29701 -(29701) found -[8114] Forked 29702 -(29702) found -[8113] Forked 29703 -(29703) found -[8112] Forked 29704 -(29704) found -[8111] Forked 29705 -(29705) found -[8110] Forked 29706 -(29706) found -[8109] Forked 29707 -(29707) found -[8108] Forked 29708 -(29708) found -[8107] Forked 29709 -(29709) found -[8106] Forked 29710 -(29710) found -[8105] Forked 29711 -(29711) found -[8104] Forked 29712 -(29712) found -[8103] Forked 29713 -(29713) found -[8102] Forked 29714 -[8101] Forked 29715 -(29714) found -(29715) found -[8100] Forked 29716 -[8099] Forked 29717 -(29716) found -(29717) found -[8098] Forked 29718 -[8097] Forked 29719 -(29718) found -(29719) found -[8096] Forked 29720 -[8095] Forked 29721 -(29720) found -(29721) found -[8094] Forked 29722 -[8093] Forked 29723 -(29722) found -(29723) found -[8092] Forked 29724 -[8091] Forked 29725 -(29724) found -(29725) found -[8090] Forked 29726 -[8089] Forked 29727 -(29726) found -(29727) found -[8088] Forked 29728 -[8087] Forked 29729 -(29728) found -(29729) found -[8086] Forked 29730 -[8085] Forked 29731 -(29730) found -(29731) found -[8084] Forked 29732 -[8083] Forked 29733 -(29732) found -(29733) found -[8082] Forked 29734 -[8081] Forked 29735 -(29734) found -(29735) found -[8080] Forked 29736 -[8079] Forked 29737 -(29737) found -(29736) found -[8078] Forked 29738 -(29738) found -[8077] Forked 29739 -(29739) found -[8076] Forked 29740 -(29740) found -[8075] Forked 29741 -(29741) found -[8074] Forked 29742 -(29742) found -[8073] Forked 29743 -(29743) found -[8072] Forked 29744 -(29744) found -[8071] Forked 29745 -(29745) found -[8070] Forked 29746 -(29746) found -[8069] Forked 29747 -(29747) found -[8068] Forked 29748 -(29748) found -[8067] Forked 29749 -(29749) found -[8066] Forked 29750 -(29750) found -[8065] Forked 29751 -(29751) found -[8064] Forked 29752 -(29752) found -[8063] Forked 29753 -(29753) found -[8062] Forked 29754 -(29754) found -[8061] Forked 29755 -(29755) found -[8060] Forked 29756 -(29756) found -[8059] Forked 29757 -(29757) found -[8058] Forked 29758 -(29758) found -[8057] Forked 29759 -(29759) found -[8056] Forked 29760 -(29760) found -[8055] Forked 29761 -(29761) found -[8054] Forked 29762 -(29762) found -[8053] Forked 29763 -(29763) found -[8052] Forked 29764 -(29764) found -[8051] Forked 29765 -(29765) found -[8050] Forked 29766 -(29766) found -[8049] Forked 29767 -(29767) found -[8048] Forked 29768 -(29768) found -[8047] Forked 29769 -(29769) found -[8046] Forked 29770 -(29770) found -[8045] Forked 29771 -(29771) found -[8044] Forked 29772 -(29772) found -[8043] Forked 29773 -(29773) found -[8042] Forked 29774 -(29774) found -[8041] Forked 29775 -(29775) found -[8040] Forked 29776 -(29776) found -[8039] Forked 29777 -(29777) found -[8038] Forked 29778 -(29778) found -[8037] Forked 29779 -(29779) found -[8036] Forked 29780 -(29780) found -[8035] Forked 29781 -(29781) found -[8034] Forked 29782 -(29782) found -[8033] Forked 29783 -(29783) found -[8032] Forked 29784 -(29784) found -[8031] Forked 29785 -(29785) found -[8030] Forked 29786 -(29786) found -[8029] Forked 29787 -(29787) found -[8028] Forked 29788 -(29788) found -[8027] Forked 29789 -[8026] Forked 29790 -(29789) found -(29790) found -[8025] Forked 29791 -[8024] Forked 29792 -(29791) found -(29792) found -[8023] Forked 29793 -[8022] Forked 29794 -(29793) found -(29794) found -[8021] Forked 29795 -[8020] Forked 29796 -(29795) found -(29796) found -[8019] Forked 29797 -[8018] Forked 29798 -(29797) found -(29798) found -[8017] Forked 29799 -[8016] Forked 29800 -(29799) found -(29800) found -[8015] Forked 29801 -[8014] Forked 29802 -(29801) found -(29802) found -[8013] Forked 29803 -[8012] Forked 29804 -(29803) found -(29804) found -[8011] Forked 29805 -[8010] Forked 29806 -(29805) found -(29806) found -[8009] Forked 29807 -[8008] Forked 29810 -(29807) found -(29810) found -[8007] Forked 29811 -[8006] Forked 29812 -(29811) found -(29812) found -[8005] Forked 29813 -[8004] Forked 29814 -(29813) found -(29814) found -[8003] Forked 29815 -[8002] Forked 29816 -(29815) found -(29816) found -[8001] Forked 29817 -[8000] Forked 29818 -(29817) found -(29818) found -[7999] Forked 29819 -[7998] Forked 29820 -(29819) found -(29820) found -[7997] Forked 29821 -[7996] Forked 29822 -(29821) found -(29822) found -[7995] Forked 29823 -[7994] Forked 29824 -(29823) found -(29824) found -[7993] Forked 29825 -[7992] Forked 29826 -(29825) found -(29826) found -[7991] Forked 29827 -[7990] Forked 29828 -(29827) found -(29828) found -[7989] Forked 29829 -[7988] Forked 29830 -(29829) found -(29830) found -[7987] Forked 29831 -[7986] Forked 29832 -(29831) found -(29832) found -[7985] Forked 29833 -[7984] Forked 29834 -(29833) found -(29834) found -[7983] Forked 29835 -(29835) found -[7982] Forked 29836 -(29836) found -[7981] Forked 29837 -(29837) found -[7980] Forked 29838 -(29838) found -[7979] Forked 29839 -(29839) found -[7978] Forked 29840 -(29840) found -[7977] Forked 29841 -(29841) found -[7976] Forked 29842 -(29842) found -[7975] Forked 29843 -(29843) found -[7974] Forked 29844 -(29844) found -[7973] Forked 29845 -(29845) found -[7972] Forked 29846 -(29846) found -[7971] Forked 29847 -(29847) found -[7970] Forked 29848 -(29848) found -[7969] Forked 29849 -(29849) found -[7968] Forked 29850 -(29850) found -[7967] Forked 29851 -(29851) found -[7966] Forked 29852 -(29852) found -[7965] Forked 29853 -(29853) found -[7964] Forked 29854 -(29854) found -[7963] Forked 29855 -(29855) found -[7962] Forked 29856 -(29856) found -[7961] Forked 29857 -(29857) found -[7960] Forked 29858 -(29858) found -[7959] Forked 29859 -(29859) found -[7958] Forked 29860 -(29860) found -[7957] Forked 29861 -(29861) found -[7956] Forked 29862 -(29862) found -[7955] Forked 29863 -(29863) found -[7954] Forked 29864 -(29864) found -[7953] Forked 29865 -(29865) found -[7952] Forked 29866 -(29866) found -[7951] Forked 29867 -(29867) found -[7950] Forked 29868 -(29868) found -[7949] Forked 29869 -(29869) found -[7948] Forked 29870 -(29870) found -[7947] Forked 29871 -(29871) found -[7946] Forked 29872 -(29872) found -[7945] Forked 29873 -[7944] Forked 29874 -(29873) found -(29874) found -[7943] Forked 29875 -[7942] Forked 29876 -(29875) found -(29876) found -[7941] Forked 29877 -[7940] Forked 29878 -(29877) found -(29878) found -[7939] Forked 29879 -[7938] Forked 29880 -(29879) found -(29880) found -[7937] Forked 29881 -[7936] Forked 29882 -(29881) found -(29882) found -[7935] Forked 29883 -[7934] Forked 29884 -(29883) found -(29884) found -[7933] Forked 29885 -[7932] Forked 29886 -(29885) found -(29886) found -[7931] Forked 29887 -[7930] Forked 29888 -(29887) found -(29888) found -[7929] Forked 29889 -[7928] Forked 29890 -(29889) found -(29890) found -[7927] Forked 29891 -[7926] Forked 29892 -(29891) found -(29892) found -[7925] Forked 29893 -[7924] Forked 29894 -(29893) found -(29894) found -[7923] Forked 29895 -[7922] Forked 29896 -(29895) found -(29896) found -[7921] Forked 29897 -[7920] Forked 29898 -(29897) found -(29898) found -[7919] Forked 29899 -[7918] Forked 29900 -(29899) found -(29900) found -[7917] Forked 29901 -[7916] Forked 29902 -(29901) found -(29902) found -[7915] Forked 29903 -[7914] Forked 29904 -(29903) found -(29904) found -[7913] Forked 29905 -[7912] Forked 29906 -(29905) found -(29906) found -[7911] Forked 29907 -[7910] Forked 29908 -(29907) found -(29908) found -[7909] Forked 29909 -[7908] Forked 29910 -(29909) found -(29910) found -[7907] Forked 29911 -[7906] Forked 29912 -(29911) found -(29912) found -[7905] Forked 29913 -[7904] Forked 29914 -(29913) found -(29914) found -[7903] Forked 29915 -[7902] Forked 29916 -(29915) found -(29916) found -[7901] Forked 29917 -(29917) found -[7900] Forked 29918 -(29918) found -[7899] Forked 29919 -(29919) found -[7898] Forked 29920 -(29920) found -[7897] Forked 29921 -(29921) found -[7896] Forked 29922 -(29922) found -[7895] Forked 29923 -(29923) found -[7894] Forked 29924 -(29924) found -[7893] Forked 29925 -(29925) found -[7892] Forked 29926 -(29926) found -[7891] Forked 29927 -(29927) found -[7890] Forked 29928 -(29928) found -[7889] Forked 29929 -(29929) found -[7888] Forked 29930 -(29930) found -[7887] Forked 29931 -(29931) found -[7886] Forked 29932 -(29932) found -[7885] Forked 29933 -(29933) found -[7884] Forked 29934 -(29934) found -[7883] Forked 29935 -(29935) found -[7882] Forked 29936 -(29936) found -[7881] Forked 29937 -(29937) found -[7880] Forked 29938 -(29938) found -[7879] Forked 29939 -(29939) found -[7878] Forked 29940 -(29940) found -[7877] Forked 29941 -(29941) found -[7876] Forked 29942 -(29942) found -[7875] Forked 29943 -(29943) found -[7874] Forked 29944 -(29944) found -[7873] Forked 29945 -(29945) found -[7872] Forked 29946 -(29946) found -[7871] Forked 29947 -(29947) found -[7870] Forked 29948 -(29948) found -[7869] Forked 29949 -(29949) found -[7868] Forked 29950 -(29950) found -[7867] Forked 29951 -(29951) found -[7866] Forked 29952 -(29952) found -[7865] Forked 29953 -(29953) found -[7864] Forked 29954 -(29954) found -[7863] Forked 29955 -(29955) found -[7862] Forked 29956 -[7861] Forked 29957 -(29956) found -(29957) found -[7860] Forked 29958 -[7859] Forked 29959 -(29958) found -(29959) found -[7858] Forked 29960 -[7857] Forked 29961 -(29960) found -(29961) found -[7856] Forked 29962 -[7855] Forked 29963 -(29962) found -(29963) found -[7854] Forked 29964 -[7853] Forked 29965 -(29964) found -(29965) found -[7852] Forked 29966 -[7851] Forked 29967 -(29966) found -(29967) found -[7850] Forked 29968 -[7849] Forked 29969 -(29968) found -(29969) found -[7848] Forked 29970 -[7847] Forked 29972 -(29970) found -(29972) found -[7846] Forked 29973 -[7845] Forked 29974 -(29973) found -(29974) found -[7844] Forked 29975 -[7843] Forked 29976 -(29975) found -(29976) found -[7842] Forked 29977 -[7841] Forked 29978 -(29977) found -(29978) found -[7840] Forked 29979 -[7839] Forked 29980 -(29979) found -(29980) found -[7838] Forked 29981 -[7837] Forked 29982 -(29981) found -(29982) found -[7836] Forked 29983 -[7835] Forked 29984 -(29983) found -(29984) found -[7834] Forked 29985 -[7833] Forked 29986 -(29985) found -(29986) found -[7832] Forked 29987 -[7831] Forked 29988 -(29987) found -(29988) found -[7830] Forked 29989 -[7829] Forked 29990 -(29989) found -(29990) found -[7828] Forked 29991 -[7827] Forked 29992 -(29992) found -(29991) found -[7826] Forked 29993 -(29993) found -[7825] Forked 29994 -(29994) found -[7824] Forked 29995 -(29995) found -[7823] Forked 29996 -(29996) found -[7822] Forked 29997 -(29997) found -[7821] Forked 29998 -(29998) found -[7820] Forked 29999 -(29999) found -[7819] Forked 30000 -(30000) found -[7818] Forked 30001 -(30001) found -[7817] Forked 30002 -(30002) found -[7816] Forked 30003 -(30003) found -[7815] Forked 30004 -(30004) found -[7814] Forked 30005 -(30005) found -[7813] Forked 30006 -(30006) found -[7812] Forked 30007 -(30007) found -[7811] Forked 30008 -(30008) found -[7810] Forked 30009 -(30009) found -[7809] Forked 30010 -(30010) found -[7808] Forked 30011 -(30011) found -[7807] Forked 30012 -(30012) found -[7806] Forked 30013 -(30013) found -[7805] Forked 30014 -(30014) found -[7804] Forked 30015 -(30015) found -[7803] Forked 30016 -(30016) found -[7802] Forked 30017 -(30017) found -[7801] Forked 30018 -(30018) found -[7800] Forked 30019 -(30019) found -[7799] Forked 30020 -(30020) found -[7798] Forked 30021 -(30021) found -[7797] Forked 30022 -(30022) found -[7796] Forked 30023 -(30023) found -[7795] Forked 30024 -(30024) found -[7794] Forked 30025 -(30025) found -[7793] Forked 30026 -(30026) found -[7792] Forked 30027 -(30027) found -[7791] Forked 30028 -(30028) found -[7790] Forked 30029 -(30029) found -[7789] Forked 30030 -(30030) found -[7788] Forked 30031 -(30031) found -[7787] Forked 30032 -(30032) found -[7786] Forked 30033 -(30033) found -[7785] Forked 30034 -(30034) found -[7784] Forked 30035 -(30035) found -[7783] Forked 30036 -(30036) found -[7782] Forked 30037 -(30037) found -[7781] Forked 30038 -(30038) found -[7780] Forked 30039 -(30039) found -[7779] Forked 30040 -(30040) found -[7778] Forked 30041 -(30041) found -[7777] Forked 30042 -(30042) found -[7776] Forked 30043 -(30043) found -[7775] Forked 30044 -(30044) found -[7774] Forked 30045 -(30045) found -[7773] Forked 30046 -(30046) found -[7772] Forked 30047 -(30047) found -[7771] Forked 30048 -(30048) found -[7770] Forked 30049 -(30049) found -[7769] Forked 30050 -(30050) found -[7768] Forked 30051 -(30051) found -[7767] Forked 30052 -(30052) found -[7766] Forked 30053 -(30053) found -[7765] Forked 30054 -(30054) found -[7764] Forked 30055 -(30055) found -[7763] Forked 30056 -(30056) found -[7762] Forked 30057 -(30057) found -[7761] Forked 30058 -(30058) found -[7760] Forked 30059 -(30059) found -[7759] Forked 30060 -(30060) found -[7758] Forked 30061 -(30061) found -[7757] Forked 30062 -(30062) found -[7756] Forked 30063 -(30063) found -[7755] Forked 30064 -[7754] Forked 30065 -(30064) found -(30065) found -[7753] Forked 30066 -[7752] Forked 30067 -(30066) found -(30067) found -[7751] Forked 30068 -[7750] Forked 30069 -(30068) found -(30069) found -[7749] Forked 30070 -[7748] Forked 30071 -(30070) found -(30071) found -[7747] Forked 30072 -[7746] Forked 30073 -(30072) found -(30073) found -[7745] Forked 30074 -[7744] Forked 30075 -(30074) found -(30075) found -[7743] Forked 30076 -[7742] Forked 30077 -(30076) found -(30077) found -[7741] Forked 30078 -[7740] Forked 30079 -(30078) found -(30079) found -[7739] Forked 30080 -[7738] Forked 30081 -(30080) found -(30081) found -[7737] Forked 30083 -[7736] Forked 30084 -(30083) found -(30084) found -[7735] Forked 30085 -[7734] Forked 30086 -(30085) found -(30086) found -[7733] Forked 30087 -[7732] Forked 30088 -(30087) found -(30088) found -[7731] Forked 30089 -[7730] Forked 30090 -(30089) found -(30090) found -[7729] Forked 30091 -[7728] Forked 30092 -(30091) found -(30092) found -[7727] Forked 30093 -[7726] Forked 30094 -(30093) found -(30094) found -[7725] Forked 30095 -[7724] Forked 30096 -(30095) found -(30096) found -[7723] Forked 30097 -[7722] Forked 30098 -(30097) found -(30098) found -[7721] Forked 30099 -[7720] Forked 30100 -(30099) found -(30100) found -[7719] Forked 30101 -[7718] Forked 30102 -(30101) found -(30102) found -[7717] Forked 30103 -[7716] Forked 30104 -(30103) found -(30104) found -[7715] Forked 30105 -[7714] Forked 30106 -(30105) found -(30106) found -[7713] Forked 30107 -[7712] Forked 30108 -(30107) found -(30108) found -[7711] Forked 30109 -[7710] Forked 30110 -(30109) found -(30110) found -[7709] Forked 30111 -(30111) found -[7708] Forked 30112 -(30112) found -[7707] Forked 30113 -(30113) found -[7706] Forked 30114 -(30114) found -[7705] Forked 30115 -(30115) found -[7704] Forked 30116 -(30116) found -[7703] Forked 30117 -(30117) found -[7702] Forked 30118 -(30118) found -[7701] Forked 30119 -(30119) found -[7700] Forked 30120 -(30120) found -[7699] Forked 30121 -(30121) found -[7698] Forked 30122 -(30122) found -[7697] Forked 30123 -(30123) found -[7696] Forked 30124 -(30124) found -[7695] Forked 30125 -(30125) found -[7694] Forked 30126 -(30126) found -[7693] Forked 30127 -(30127) found -[7692] Forked 30128 -(30128) found -[7691] Forked 30129 -(30129) found -[7690] Forked 30130 -(30130) found -[7689] Forked 30131 -(30131) found -[7688] Forked 30132 -(30132) found -[7687] Forked 30133 -(30133) found -[7686] Forked 30134 -(30134) found -[7685] Forked 30135 -(30135) found -[7684] Forked 30136 -(30136) found -[7683] Forked 30137 -(30137) found -[7682] Forked 30138 -(30138) found -[7681] Forked 30139 -(30139) found -[7680] Forked 30140 -(30140) found -[7679] Forked 30141 -(30141) found -[7678] Forked 30142 -(30142) found -[7677] Forked 30143 -(30143) found -[7676] Forked 30144 -(30144) found -[7675] Forked 30145 -[7674] Forked 30146 -(30145) found -(30146) found -[7673] Forked 30147 -[7672] Forked 30148 -(30148) found -(30147) found -[7671] Forked 30149 -(30149) found -[7670] Forked 30150 -(30150) found -[7669] Forked 30151 -(30151) found -[7668] Forked 30152 -(30152) found -[7667] Forked 30153 -(30153) found -[7666] Forked 30154 -(30154) found -[7665] Forked 30155 -(30155) found -[7664] Forked 30156 -(30156) found -[7663] Forked 30157 -(30157) found -[7662] Forked 30158 -(30158) found -[7661] Forked 30159 -(30159) found -[7660] Forked 30160 -(30160) found -[7659] Forked 30161 -(30161) found -[7658] Forked 30162 -(30162) found -[7657] Forked 30163 -(30163) found -[7656] Forked 30164 -(30164) found -[7655] Forked 30165 -(30165) found -[7654] Forked 30166 -(30166) found -[7653] Forked 30167 -(30167) found -[7652] Forked 30168 -(30168) found -[7651] Forked 30169 -(30169) found -[7650] Forked 30170 -(30170) found -[7649] Forked 30171 -(30171) found -[7648] Forked 30172 -(30172) found -[7647] Forked 30173 -(30173) found -[7646] Forked 30174 -(30174) found -[7645] Forked 30175 -(30175) found -[7644] Forked 30176 -(30176) found -[7643] Forked 30177 -(30177) found -[7642] Forked 30178 -(30178) found -[7641] Forked 30179 -(30179) found -[7640] Forked 30180 -(30180) found -[7639] Forked 30181 -(30181) found -[7638] Forked 30182 -(30182) found -[7637] Forked 30183 -(30183) found -[7636] Forked 30184 -(30184) found -[7635] Forked 30185 -(30185) found -[7634] Forked 30186 -(30186) found -[7633] Forked 30187 -(30187) found -[7632] Forked 30188 -(30188) found -[7631] Forked 30189 -(30189) found -[7630] Forked 30190 -(30190) found -[7629] Forked 30191 -(30191) found -[7628] Forked 30192 -(30192) found -[7627] Forked 30193 -(30193) found -[7626] Forked 30194 -(30194) found -[7625] Forked 30195 -(30195) found -[7624] Forked 30196 -(30196) found -[7623] Forked 30197 -(30197) found -[7622] Forked 30198 -(30198) found -[7621] Forked 30199 -(30199) found -[7620] Forked 30200 -(30200) found -[7619] Forked 30201 -(30201) found -[7618] Forked 30202 -(30202) found -[7617] Forked 30203 -(30203) found -[7616] Forked 30204 -(30204) found -[7615] Forked 30205 -(30205) found -[7614] Forked 30206 -(30206) found -[7613] Forked 30207 -(30207) found -[7612] Forked 30208 -(30208) found -[7611] Forked 30209 -(30209) found -[7610] Forked 30210 -(30210) found -[7609] Forked 30211 -(30211) found -[7608] Forked 30212 -(30212) found -[7607] Forked 30213 -(30213) found -[7606] Forked 30214 -(30214) found -[7605] Forked 30215 -(30215) found -[7604] Forked 30216 -(30216) found -[7603] Forked 30217 -(30217) found -[7602] Forked 30218 -(30218) found -[7601] Forked 30219 -(30219) found -[7600] Forked 30220 -(30220) found -[7599] Forked 30221 -(30221) found -[7598] Forked 30222 -(30222) found -[7597] Forked 30223 -(30223) found -[7596] Forked 30224 -(30224) found -[7595] Forked 30225 -(30225) found -[7594] Forked 30226 -(30226) found -[7593] Forked 30227 -(30227) found -[7592] Forked 30228 -(30228) found -[7591] Forked 30229 -(30229) found -[7590] Forked 30230 -(30230) found -[7589] Forked 30231 -(30231) found -[7588] Forked 30232 -(30232) found -[7587] Forked 30233 -(30233) found -[7586] Forked 30234 -(30234) found -[7585] Forked 30235 -(30235) found -[7584] Forked 30236 -(30236) found -[7583] Forked 30237 -(30237) found -[7582] Forked 30238 -(30238) found -[7581] Forked 30239 -(30239) found -[7580] Forked 30240 -(30240) found -[7579] Forked 30241 -(30241) found -[7578] Forked 30242 -(30242) found -[7577] Forked 30243 -(30243) found -[7576] Forked 30244 -(30244) found -[7575] Forked 30245 -(30245) found -[7574] Forked 30246 -(30246) found -[7573] Forked 30247 -(30247) found -[7572] Forked 30248 -(30248) found -[7571] Forked 30249 -(30249) found -[7570] Forked 30250 -(30250) found -[7569] Forked 30251 -(30251) found -[7568] Forked 30252 -(30252) found -[7567] Forked 30253 -(30253) found -[7566] Forked 30254 -(30254) found -[7565] Forked 30255 -(30255) found -[7564] Forked 30256 -(30256) found -[7563] Forked 30257 -(30257) found -[7562] Forked 30258 -(30258) found -[7561] Forked 30259 -(30259) found -[7560] Forked 30260 -(30260) found -[7559] Forked 30261 -(30261) found -[7558] Forked 30262 -(30262) found -[7557] Forked 30263 -(30263) found -[7556] Forked 30264 -(30264) found -[7555] Forked 30265 -(30265) found -[7554] Forked 30266 -(30266) found -[7553] Forked 30267 -(30267) found -[7552] Forked 30268 -(30268) found -[7551] Forked 30269 -(30269) found -[7550] Forked 30270 -(30270) found -[7549] Forked 30271 -(30271) found -[7548] Forked 30272 -(30272) found -[7547] Forked 30273 -(30273) found -[7546] Forked 30274 -(30274) found -[7545] Forked 30275 -(30275) found -[7544] Forked 30276 -(30276) found -[7543] Forked 30277 -(30277) found -[7542] Forked 30278 -(30278) found -[7541] Forked 30279 -(30279) found -[7540] Forked 30280 -(30280) found -[7539] Forked 30281 -[7538] Forked 30282 -(30281) found -(30282) found -[7537] Forked 30283 -[7536] Forked 30284 -(30283) found -(30284) found -[7535] Forked 30285 -[7534] Forked 30286 -(30285) found -(30286) found -[7533] Forked 30287 -[7532] Forked 30288 -(30287) found -(30288) found -[7531] Forked 30289 -[7530] Forked 30290 -(30290) found -(30289) found -[7529] Forked 30291 -(30291) found -[7528] Forked 30292 -(30292) found -[7527] Forked 30293 -(30293) found -[7526] Forked 30294 -(30294) found -[7525] Forked 30295 -(30295) found -[7524] Forked 30296 -(30296) found -[7523] Forked 30297 -(30297) found -[7522] Forked 30298 -(30298) found -[7521] Forked 30299 -(30299) found -[7520] Forked 30300 -(30300) found -[7519] Forked 30301 -(30301) found -[7518] Forked 30302 -(30302) found -[7517] Forked 30303 -(30303) found -[7516] Forked 30304 -(30304) found -[7515] Forked 30305 -(30305) found -[7514] Forked 30306 -(30306) found -[7513] Forked 30307 -(30307) found -[7512] Forked 30308 -(30308) found -[7511] Forked 30309 -(30309) found -[7510] Forked 30310 -(30310) found -[7509] Forked 30311 -(30311) found -[7508] Forked 30312 -(30312) found -[7507] Forked 30313 -(30313) found -[7506] Forked 30314 -(30314) found -[7505] Forked 30315 -(30315) found -[7504] Forked 30316 -(30316) found -[7503] Forked 30317 -(30317) found -[7502] Forked 30318 -(30318) found -[7501] Forked 30319 -(30319) found -[7500] Forked 30320 -(30320) found -[7499] Forked 30321 -(30321) found -[7498] Forked 30322 -(30322) found -[7497] Forked 30323 -(30323) found -[7496] Forked 30324 -(30324) found -[7495] Forked 30325 -(30325) found -[7494] Forked 30326 -(30326) found -[7493] Forked 30327 -(30327) found -[7492] Forked 30328 -(30328) found -[7491] Forked 30329 -(30329) found -[7490] Forked 30330 -(30330) found -[7489] Forked 30331 -(30331) found -[7488] Forked 30332 -(30332) found -[7487] Forked 30333 -(30333) found -[7486] Forked 30334 -(30334) found -[7485] Forked 30335 -(30335) found -[7484] Forked 30336 -(30336) found -[7483] Forked 30337 -(30337) found -[7482] Forked 30338 -(30338) found -[7481] Forked 30339 -(30339) found -[7480] Forked 30340 -(30340) found -[7479] Forked 30341 -(30341) found -[7478] Forked 30342 -(30342) found -[7477] Forked 30343 -(30343) found -[7476] Forked 30344 -(30344) found -[7475] Forked 30345 -(30345) found -[7474] Forked 30346 -(30346) found -[7473] Forked 30347 -(30347) found -[7472] Forked 30348 -(30348) found -[7471] Forked 30349 -(30349) found -[7470] Forked 30350 -(30350) found -[7469] Forked 30351 -(30351) found -[7468] Forked 30352 -(30352) found -[7467] Forked 30353 -(30353) found -[7466] Forked 30354 -[7465] Forked 30355 -(30354) found -(30355) found -[7464] Forked 30356 -[7463] Forked 30357 -(30356) found -(30357) found -[7462] Forked 30358 -[7461] Forked 30359 -(30358) found -(30359) found -[7460] Forked 30360 -[7459] Forked 30361 -(30360) found -(30361) found -[7458] Forked 30362 -[7457] Forked 30363 -(30362) found -(30363) found -[7456] Forked 30364 -[7455] Forked 30365 -(30364) found -(30365) found -[7454] Forked 30366 -[7453] Forked 30367 -(30366) found -(30367) found -[7452] Forked 30368 -[7451] Forked 30369 -(30368) found -(30369) found -[7450] Forked 30370 -[7449] Forked 30371 -(30370) found -(30371) found -[7448] Forked 30372 -[7447] Forked 30373 -(30372) found -(30373) found -[7446] Forked 30374 -[7445] Forked 30375 -(30374) found -(30375) found -[7444] Forked 30376 -[7443] Forked 30377 -(30376) found -(30377) found -[7442] Forked 30378 -[7441] Forked 30379 -(30378) found -(30379) found -[7440] Forked 30380 -[7439] Forked 30381 -(30380) found -(30381) found -[7438] Forked 30382 -[7437] Forked 30383 -(30382) found -(30383) found -[7436] Forked 30384 -[7435] Forked 30385 -(30384) found -(30385) found -[7434] Forked 30386 -[7433] Forked 30387 -(30386) found -(30387) found -[7432] Forked 30388 -[7431] Forked 30389 -(30388) found -(30389) found -[7430] Forked 30390 -[7429] Forked 30391 -(30390) found -(30391) found -[7428] Forked 30392 -[7427] Forked 30393 -(30392) found -(30393) found -[7426] Forked 30394 -[7425] Forked 30395 -(30394) found -(30395) found -[7424] Forked 30396 -[7423] Forked 30397 -(30396) found -(30397) found -[7422] Forked 30398 -[7421] Forked 30399 -(30398) found -(30399) found -[7420] Forked 30400 -(30400) found -[7419] Forked 30401 -(30401) found -[7418] Forked 30402 -(30402) found -[7417] Forked 30403 -(30403) found -[7416] Forked 30404 -(30404) found -[7415] Forked 30405 -(30405) found -[7414] Forked 30406 -(30406) found -[7413] Forked 30407 -(30407) found -[7412] Forked 30408 -(30408) found -[7411] Forked 30409 -(30409) found -[7410] Forked 30410 -(30410) found -[7409] Forked 30411 -(30411) found -[7408] Forked 30412 -(30412) found -[7407] Forked 30413 -(30413) found -[7406] Forked 30414 -(30414) found -[7405] Forked 30415 -(30415) found -[7404] Forked 30416 -(30416) found -[7403] Forked 30417 -(30417) found -[7402] Forked 30418 -(30418) found -[7401] Forked 30419 -(30419) found -[7400] Forked 30420 -(30420) found -[7399] Forked 30421 -(30421) found -[7398] Forked 30422 -(30422) found -[7397] Forked 30423 -(30423) found -[7396] Forked 30424 -(30424) found -[7395] Forked 30425 -(30425) found -[7394] Forked 30426 -(30426) found -[7393] Forked 30427 -(30427) found -[7392] Forked 30428 -(30428) found -[7391] Forked 30429 -(30429) found -[7390] Forked 30430 -(30430) found -[7389] Forked 30431 -(30431) found -[7388] Forked 30432 -(30432) found -[7387] Forked 30433 -(30433) found -[7386] Forked 30434 -[7385] Forked 30435 -(30434) found -(30435) found -[7384] Forked 30436 -[7383] Forked 30437 -(30436) found -(30437) found -[7382] Forked 30438 -[7381] Forked 30439 -(30438) found -(30439) found -[7380] Forked 30440 -[7379] Forked 30441 -(30440) found -(30441) found -[7378] Forked 30442 -[7377] Forked 30443 -(30442) found -(30443) found -[7376] Forked 30444 -[7375] Forked 30445 -(30444) found -(30445) found -[7374] Forked 30446 -[7373] Forked 30447 -(30446) found -(30447) found -[7372] Forked 30448 -[7371] Forked 30449 -(30448) found -(30449) found -[7370] Forked 30450 -[7369] Forked 30451 -(30450) found -(30451) found -[7368] Forked 30452 -[7367] Forked 30453 -(30452) found -(30453) found -[7366] Forked 30454 -[7365] Forked 30455 -(30454) found -(30455) found -[7364] Forked 30456 -[7363] Forked 30457 -(30456) found -(30457) found -[7362] Forked 30458 -[7361] Forked 30459 -(30458) found -(30459) found -[7360] Forked 30460 -[7359] Forked 30461 -(30460) found -(30461) found -[7358] Forked 30462 -[7357] Forked 30463 -(30462) found -(30463) found -[7356] Forked 30464 -[7355] Forked 30465 -(30464) found -(30465) found -[7354] Forked 30466 -[7353] Forked 30467 -(30466) found -(30467) found -[7352] Forked 30468 -[7351] Forked 30469 -(30468) found -(30469) found -[7350] Forked 30470 -[7349] Forked 30471 -(30470) found -(30471) found -[7348] Forked 30472 -[7347] Forked 30473 -(30472) found -(30473) found -[7346] Forked 30474 -[7345] Forked 30475 -(30474) found -(30475) found -[7344] Forked 30476 -[7343] Forked 30477 -(30476) found -(30477) found -[7342] Forked 30478 -[7341] Forked 30479 -(30478) found -(30479) found -[7340] Forked 30480 -[7339] Forked 30481 -(30480) found -(30481) found -[7338] Forked 30482 -[7337] Forked 30483 -(30482) found -(30483) found -[7336] Forked 30484 -[7335] Forked 30485 -(30484) found -(30485) found -[7334] Forked 30486 -[7333] Forked 30487 -(30486) found -(30487) found -[7332] Forked 30488 -[7331] Forked 30489 -(30488) found -(30489) found -[7330] Forked 30490 -[7329] Forked 30491 -(30490) found -(30491) found -[7328] Forked 30492 -[7327] Forked 30493 -(30492) found -(30493) found -[7326] Forked 30494 -[7325] Forked 30495 -(30494) found -(30495) found -[7324] Forked 30496 -[7323] Forked 30497 -(30496) found -(30497) found -[7322] Forked 30498 -[7321] Forked 30499 -(30498) found -(30499) found -[7320] Forked 30500 -[7319] Forked 30501 -(30500) found -(30501) found -[7318] Forked 30502 -[7317] Forked 30503 -(30502) found -(30503) found -[7316] Forked 30504 -[7315] Forked 30505 -(30504) found -(30505) found -[7314] Forked 30506 -[7313] Forked 30507 -(30506) found -(30507) found -[7312] Forked 30509 -(30509) found -[7311] Forked 30510 -(30510) found -[7310] Forked 30511 -[7309] Forked 30512 -(30511) found -(30512) found -[7308] Forked 30513 -[7307] Forked 30515 -(30513) found -(30515) found -[7306] Forked 30516 -[7305] Forked 30517 -(30516) found -(30517) found -[7304] Forked 30518 -[7303] Forked 30519 -(30518) found -(30519) found -[7302] Forked 30521 -[7301] Forked 30522 -(30521) found -(30522) found -[7300] Forked 30523 -[7299] Forked 30524 -(30523) found -(30524) found -[7298] Forked 30525 -[7297] Forked 30526 -(30525) found -(30526) found -[7296] Forked 30528 -(30528) found -[7295] Forked 30529 -(30529) found -[7294] Forked 30530 -(30530) found -[7293] Forked 30531 -(30531) found -[7292] Forked 30532 -(30532) found -[7291] Forked 30534 -(30534) found -[7290] Forked 30535 -(30535) found -[7289] Forked 30536 -(30536) found -[7288] Forked 30537 -(30537) found -[7287] Forked 30538 -(30538) found -[7286] Forked 30540 -(30540) found -[7285] Forked 30541 -(30541) found -[7284] Forked 30542 -(30542) found -[7283] Forked 30543 -(30543) found -[7282] Forked 30544 -(30544) found -[7281] Forked 30545 -(30545) found -[7280] Forked 30546 -(30546) found -[7279] Forked 30547 -(30547) found -[7278] Forked 30548 -(30548) found -[7277] Forked 30549 -(30549) found -[7276] Forked 30550 -(30550) found -[7275] Forked 30551 -(30551) found -[7274] Forked 30552 -(30552) found -[7273] Forked 30553 -(30553) found -[7272] Forked 30554 -(30554) found -[7271] Forked 30555 -(30555) found -[7270] Forked 30556 -(30556) found -[7269] Forked 30557 -(30557) found -[7268] Forked 30558 -(30558) found -[7267] Forked 30559 -(30559) found -[7266] Forked 30560 -(30560) found -[7265] Forked 30561 -(30561) found -[7264] Forked 30562 -(30562) found -[7263] Forked 30563 -(30563) found -[7262] Forked 30564 -(30564) found -[7261] Forked 30565 -(30565) found -[7260] Forked 30566 -(30566) found -[7259] Forked 30567 -(30567) found -[7258] Forked 30568 -(30568) found -[7257] Forked 30569 -(30569) found -[7256] Forked 30570 -(30570) found -[7255] Forked 30571 -(30571) found -[7254] Forked 30572 -(30572) found -[7253] Forked 30573 -(30573) found -[7252] Forked 30574 -(30574) found -[7251] Forked 30575 -(30575) found -[7250] Forked 30576 -(30576) found -[7249] Forked 30577 -(30577) found -[7248] Forked 30578 -(30578) found -[7247] Forked 30579 -(30579) found -[7246] Forked 30580 -(30580) found -[7245] Forked 30581 -(30581) found -[7244] Forked 30582 -(30582) found -[7243] Forked 30583 -(30583) found -[7242] Forked 30584 -(30584) found -[7241] Forked 30585 -(30585) found -[7240] Forked 30586 -(30586) found -[7239] Forked 30587 -(30587) found -[7238] Forked 30588 -(30588) found -[7237] Forked 30589 -(30589) found -[7236] Forked 30590 -(30590) found -[7235] Forked 30591 -(30591) found -[7234] Forked 30592 -(30592) found -[7233] Forked 30593 -(30593) found -[7232] Forked 30594 -(30594) found -[7231] Forked 30595 -(30595) found -[7230] Forked 30596 -(30596) found -[7229] Forked 30597 -(30597) found -[7228] Forked 30598 -(30598) found -[7227] Forked 30599 -(30599) found -[7226] Forked 30600 -(30600) found -[7225] Forked 30601 -(30601) found -[7224] Forked 30602 -(30602) found -[7223] Forked 30603 -(30603) found -[7222] Forked 30604 -(30604) found -[7221] Forked 30605 -(30605) found -[7220] Forked 30606 -[7219] Forked 30607 -(30606) found -(30607) found -[7218] Forked 30608 -[7217] Forked 30609 -(30608) found -(30609) found -[7216] Forked 30610 -[7215] Forked 30611 -(30610) found -(30611) found -[7214] Forked 30612 -[7213] Forked 30613 -(30612) found -(30613) found -[7212] Forked 30614 -[7211] Forked 30615 -(30614) found -(30615) found -[7210] Forked 30616 -[7209] Forked 30617 -(30616) found -(30617) found -[7208] Forked 30618 -[7207] Forked 30619 -(30618) found -(30619) found -[7206] Forked 30620 -[7205] Forked 30621 -(30620) found -(30621) found -[7204] Forked 30622 -[7203] Forked 30623 -(30622) found -(30623) found -[7202] Forked 30624 -[7201] Forked 30625 -(30624) found -(30625) found -[7200] Forked 30626 -[7199] Forked 30627 -(30627) found -(30626) found -[7198] Forked 30628 -(30628) found -[7197] Forked 30629 -(30629) found -[7196] Forked 30630 -(30630) found -[7195] Forked 30631 -(30631) found -[7194] Forked 30632 -(30632) found -[7193] Forked 30633 -(30633) found -[7192] Forked 30634 -(30634) found -[7191] Forked 30635 -(30635) found -[7190] Forked 30636 -(30636) found -[7189] Forked 30637 -(30637) found -[7188] Forked 30638 -(30638) found -[7187] Forked 30639 -(30639) found -[7186] Forked 30640 -(30640) found -[7185] Forked 30641 -(30641) found -[7184] Forked 30642 -(30642) found -[7183] Forked 30643 -(30643) found -[7182] Forked 30644 -(30644) found -[7181] Forked 30645 -(30645) found -[7180] Forked 30646 -(30646) found -[7179] Forked 30647 -(30647) found -[7178] Forked 30648 -(30648) found -[7177] Forked 30649 -(30649) found -[7176] Forked 30650 -(30650) found -[7175] Forked 30651 -(30651) found -[7174] Forked 30652 -(30652) found -[7173] Forked 30653 -(30653) found -[7172] Forked 30654 -(30654) found -[7171] Forked 30655 -(30655) found -[7170] Forked 30656 -(30656) found -[7169] Forked 30657 -(30657) found -[7168] Forked 30658 -(30658) found -[7167] Forked 30659 -(30659) found -[7166] Forked 30660 -(30660) found -[7165] Forked 30661 -(30661) found -[7164] Forked 30662 -(30662) found -[7163] Forked 30663 -(30663) found -[7162] Forked 30664 -(30664) found -[7161] Forked 30665 -(30665) found -[7160] Forked 30666 -(30666) found -[7159] Forked 30667 -(30667) found -[7158] Forked 30668 -(30668) found -[7157] Forked 30669 -(30669) found -[7156] Forked 30670 -(30670) found -[7155] Forked 30671 -(30671) found -[7154] Forked 30672 -(30672) found -[7153] Forked 30673 -(30673) found -[7152] Forked 30674 -(30674) found -[7151] Forked 30675 -(30675) found -[7150] Forked 30676 -(30676) found -[7149] Forked 30677 -(30677) found -[7148] Forked 30678 -[7147] Forked 30679 -(30678) found -(30679) found -[7146] Forked 30680 -[7145] Forked 30681 -(30680) found -(30681) found -[7144] Forked 30682 -[7143] Forked 30683 -(30682) found -(30683) found -[7142] Forked 30684 -[7141] Forked 30685 -(30684) found -(30685) found -[7140] Forked 30686 -[7139] Forked 30687 -(30686) found -(30687) found -[7138] Forked 30688 -[7137] Forked 30689 -(30688) found -(30689) found -[7136] Forked 30690 -[7135] Forked 30691 -(30690) found -(30691) found -[7134] Forked 30692 -[7133] Forked 30693 -(30692) found -(30693) found -[7132] Forked 30694 -[7131] Forked 30695 -(30694) found -(30695) found -[7130] Forked 30696 -[7129] Forked 30697 -(30696) found -(30697) found -[7128] Forked 30698 -[7127] Forked 30699 -(30698) found -(30699) found -[7126] Forked 30700 -[7125] Forked 30701 -(30700) found -(30701) found -[7124] Forked 30702 -[7123] Forked 30703 -(30702) found -(30703) found -[7122] Forked 30704 -[7121] Forked 30705 -(30704) found -(30705) found -[7120] Forked 30706 -[7119] Forked 30707 -(30706) found -(30707) found -[7118] Forked 30708 -[7117] Forked 30709 -(30708) found -(30709) found -[7116] Forked 30710 -[7115] Forked 30711 -(30710) found -(30711) found -[7114] Forked 30712 -[7113] Forked 30713 -(30712) found -(30713) found -[7112] Forked 30714 -[7111] Forked 30715 -(30714) found -(30715) found -[7110] Forked 30716 -[7109] Forked 30717 -(30716) found -(30717) found -[7108] Forked 30718 -[7107] Forked 30719 -(30718) found -(30719) found -[7106] Forked 30720 -[7105] Forked 30721 -(30720) found -(30721) found -[7104] Forked 30722 -[7103] Forked 30723 -(30722) found -(30723) found -[7102] Forked 30724 -(30724) found -[7101] Forked 30725 -(30725) found -[7100] Forked 30726 -(30726) found -[7099] Forked 30727 -(30727) found -[7098] Forked 30728 -(30728) found -[7097] Forked 30729 -(30729) found -[7096] Forked 30730 -(30730) found -[7095] Forked 30731 -(30731) found -[7094] Forked 30732 -(30732) found -[7093] Forked 30733 -(30733) found -[7092] Forked 30734 -(30734) found -[7091] Forked 30735 -(30735) found -[7090] Forked 30736 -(30736) found -[7089] Forked 30737 -(30737) found -[7088] Forked 30738 -(30738) found -[7087] Forked 30739 -(30739) found -[7086] Forked 30740 -(30740) found -[7085] Forked 30741 -(30741) found -[7084] Forked 30742 -(30742) found -[7083] Forked 30743 -(30743) found -[7082] Forked 30744 -(30744) found -[7081] Forked 30745 -(30745) found -[7080] Forked 30746 -(30746) found -[7079] Forked 30747 -(30747) found -[7078] Forked 30748 -(30748) found -[7077] Forked 30749 -(30749) found -[7076] Forked 30750 -(30750) found -[7075] Forked 30751 -(30751) found -[7074] Forked 30752 -(30752) found -[7073] Forked 30753 -(30753) found -[7072] Forked 30754 -(30754) found -[7071] Forked 30755 -(30755) found -[7070] Forked 30756 -(30756) found -[7069] Forked 30757 -(30757) found -[7068] Forked 30758 -(30758) found -[7067] Forked 30759 -[7066] Forked 30760 -(30759) found -(30760) found -[7065] Forked 30761 -[7064] Forked 30762 -(30761) found -(30762) found -[7063] Forked 30763 -[7062] Forked 30764 -(30764) found -(30763) found -[7061] Forked 30765 -(30765) found -[7060] Forked 30766 -(30766) found -[7059] Forked 30767 -(30767) found -[7058] Forked 30768 -(30768) found -[7057] Forked 30769 -(30769) found -[7056] Forked 30770 -(30770) found -[7055] Forked 30771 -(30771) found -[7054] Forked 30772 -(30772) found -[7053] Forked 30773 -(30773) found -[7052] Forked 30774 -(30774) found -[7051] Forked 30775 -(30775) found -[7050] Forked 30776 -(30776) found -[7049] Forked 30777 -(30777) found -[7048] Forked 30778 -(30778) found -[7047] Forked 30779 -(30779) found -[7046] Forked 30780 -(30780) found -[7045] Forked 30781 -(30781) found -[7044] Forked 30782 -(30782) found -[7043] Forked 30783 -(30783) found -[7042] Forked 30784 -(30784) found -[7041] Forked 30785 -(30785) found -[7040] Forked 30786 -(30786) found -[7039] Forked 30787 -(30787) found -[7038] Forked 30788 -(30788) found -[7037] Forked 30789 -(30789) found -[7036] Forked 30790 -(30790) found -[7035] Forked 30791 -(30791) found -[7034] Forked 30792 -(30792) found -[7033] Forked 30793 -(30793) found -[7032] Forked 30794 -(30794) found -[7031] Forked 30795 -(30795) found -[7030] Forked 30796 -(30796) found -[7029] Forked 30797 -(30797) found -[7028] Forked 30798 -(30798) found -[7027] Forked 30799 -(30799) found -[7026] Forked 30800 -(30800) found -[7025] Forked 30801 -(30801) found -[7024] Forked 30802 -(30802) found -[7023] Forked 30803 -(30803) found -[7022] Forked 30804 -(30804) found -[7021] Forked 30805 -(30805) found -[7020] Forked 30806 -(30806) found -[7019] Forked 30807 -(30807) found -[7018] Forked 30808 -(30808) found -[7017] Forked 30809 -(30809) found -[7016] Forked 30810 -(30810) found -[7015] Forked 30811 -(30811) found -[7014] Forked 30812 -(30812) found -[7013] Forked 30813 -(30813) found -[7012] Forked 30814 -(30814) found -[7011] Forked 30815 -(30815) found -[7010] Forked 30816 -(30816) found -[7009] Forked 30817 -(30817) found -[7008] Forked 30818 -(30818) found -[7007] Forked 30819 -(30819) found -[7006] Forked 30820 -(30820) found -[7005] Forked 30821 -(30821) found -[7004] Forked 30822 -(30822) found -[7003] Forked 30823 -(30823) found -[7002] Forked 30824 -(30824) found -[7001] Forked 30825 -(30825) found -[7000] Forked 30826 -(30826) found -[6999] Forked 30827 -(30827) found -[6998] Forked 30828 -(30828) found -[6997] Forked 30829 -[6996] Forked 30831 -(30829) found -(30831) found -[6995] Forked 30832 -[6994] Forked 30833 -(30832) found -(30833) found -[6993] Forked 30834 -[6992] Forked 30835 -(30834) found -(30835) found -[6991] Forked 30837 -[6990] Forked 30838 -(30837) found -(30838) found -[6989] Forked 30839 -[6988] Forked 30840 -(30839) found -(30840) found -[6987] Forked 30841 -[6986] Forked 30843 -(30841) found -(30843) found -[6985] Forked 30844 -[6984] Forked 30845 -(30844) found -(30845) found -[6983] Forked 30846 -[6982] Forked 30847 -(30846) found -(30847) found -[6981] Forked 30849 -[6980] Forked 30850 -(30849) found -(30850) found -[6979] Forked 30851 -[6978] Forked 30852 -(30851) found -(30852) found -[6977] Forked 30853 -[6976] Forked 30855 -(30853) found -(30855) found -[6975] Forked 30856 -[6974] Forked 30857 -(30856) found -(30857) found -[6973] Forked 30858 -[6972] Forked 30859 -(30858) found -(30859) found -[6971] Forked 30861 -[6970] Forked 30862 -(30861) found -(30862) found -[6969] Forked 30863 -[6968] Forked 30864 -(30863) found -(30864) found -[6967] Forked 30865 -[6966] Forked 30866 -(30865) found -(30866) found -[6965] Forked 30867 -[6964] Forked 30868 -(30867) found -(30868) found -[6963] Forked 30869 -[6962] Forked 30870 -(30869) found -(30870) found -[6961] Forked 30871 -[6960] Forked 30872 -(30871) found -(30872) found -[6959] Forked 30873 -[6958] Forked 30874 -(30873) found -(30874) found -[6957] Forked 30875 -[6956] Forked 30876 -(30875) found -(30876) found -[6955] Forked 30877 -[6954] Forked 30878 -(30877) found -(30878) found -[6953] Forked 30879 -[6952] Forked 30880 -(30879) found -(30880) found -[6951] Forked 30881 -[6950] Forked 30882 -(30881) found -(30882) found -[6949] Forked 30883 -[6948] Forked 30884 -(30883) found -(30884) found -[6947] Forked 30885 -[6946] Forked 30886 -(30885) found -(30886) found -[6945] Forked 30887 -[6944] Forked 30888 -(30887) found -(30888) found -[6943] Forked 30889 -[6942] Forked 30890 -(30889) found -(30890) found -[6941] Forked 30891 -[6940] Forked 30892 -(30891) found -(30892) found -[6939] Forked 30893 -[6938] Forked 30894 -(30893) found -(30894) found -[6937] Forked 30895 -[6936] Forked 30896 -(30895) found -(30896) found -[6935] Forked 30897 -[6934] Forked 30898 -(30897) found -(30898) found -[6933] Forked 30899 -[6932] Forked 30900 -(30899) found -(30900) found -[6931] Forked 30901 -[6930] Forked 30902 -(30901) found -(30902) found -[6929] Forked 30903 -[6928] Forked 30904 -(30903) found -(30904) found -[6927] Forked 30905 -[6926] Forked 30906 -(30905) found -(30906) found -[6925] Forked 30907 -[6924] Forked 30908 -(30907) found -(30908) found -[6923] Forked 30909 -[6922] Forked 30910 -(30909) found -(30910) found -[6921] Forked 30911 -[6920] Forked 30912 -(30911) found -(30912) found -[6919] Forked 30913 -[6918] Forked 30914 -(30913) found -(30914) found -[6917] Forked 30915 -[6916] Forked 30916 -(30915) found -(30916) found -[6915] Forked 30917 -[6914] Forked 30918 -(30917) found -(30918) found -[6913] Forked 30919 -[6912] Forked 30920 -(30919) found -(30920) found -[6911] Forked 30921 -[6910] Forked 30923 -(30921) found -(30923) found -[6909] Forked 30924 -(30924) found -[6908] Forked 30925 -(30925) found -[6907] Forked 30926 -(30926) found -[6906] Forked 30927 -(30927) found -[6905] Forked 30928 -(30928) found -[6904] Forked 30929 -(30929) found -[6903] Forked 30930 -(30930) found -[6902] Forked 30931 -(30931) found -[6901] Forked 30932 -(30932) found -[6900] Forked 30933 -(30933) found -[6899] Forked 30934 -(30934) found -[6898] Forked 30935 -(30935) found -[6897] Forked 30936 -(30936) found -[6896] Forked 30937 -(30937) found -[6895] Forked 30938 -(30938) found -[6894] Forked 30939 -(30939) found -[6893] Forked 30940 -(30940) found -[6892] Forked 30941 -(30941) found -[6891] Forked 30942 -(30942) found -[6890] Forked 30943 -(30943) found -[6889] Forked 30944 -(30944) found -[6888] Forked 30945 -(30945) found -[6887] Forked 30946 -(30946) found -[6886] Forked 30947 -(30947) found -[6885] Forked 30948 -(30948) found -[6884] Forked 30949 -(30949) found -[6883] Forked 30950 -(30950) found -[6882] Forked 30951 -(30951) found -[6881] Forked 30952 -(30952) found -[6880] Forked 30953 -(30953) found -[6879] Forked 30954 -(30954) found -[6878] Forked 30955 -(30955) found -[6877] Forked 30956 -(30956) found -[6876] Forked 30957 -(30957) found -[6875] Forked 30958 -(30958) found -[6874] Forked 30959 -(30959) found -[6873] Forked 30960 -(30960) found -[6872] Forked 30961 -(30961) found -[6871] Forked 30962 -(30962) found -[6870] Forked 30963 -[6869] Forked 30964 -(30963) found -(30964) found -[6868] Forked 30965 -[6867] Forked 30966 -(30965) found -(30966) found -[6866] Forked 30967 -[6865] Forked 30968 -(30967) found -(30968) found -[6864] Forked 30969 -[6863] Forked 30970 -(30969) found -(30970) found -[6862] Forked 30971 -[6861] Forked 30972 -(30971) found -(30972) found -[6860] Forked 30973 -[6859] Forked 30974 -(30973) found -(30974) found -[6858] Forked 30975 -[6857] Forked 30976 -(30975) found -(30976) found -[6856] Forked 30977 -[6855] Forked 30978 -(30977) found -(30978) found -[6854] Forked 30979 -[6853] Forked 30980 -(30979) found -(30980) found -[6852] Forked 30981 -[6851] Forked 30982 -(30981) found -(30982) found -[6850] Forked 30983 -[6849] Forked 30984 -(30983) found -(30984) found -[6848] Forked 30985 -[6847] Forked 30986 -(30985) found -(30986) found -[6846] Forked 30987 -[6845] Forked 30988 -(30987) found -(30988) found -[6844] Forked 30989 -[6843] Forked 30990 -(30989) found -(30990) found -[6842] Forked 30991 -[6841] Forked 30992 -(30991) found -(30992) found -[6840] Forked 30993 -[6839] Forked 30994 -(30993) found -(30994) found -[6838] Forked 30995 -[6837] Forked 30996 -(30995) found -(30996) found -[6836] Forked 30997 -[6835] Forked 30998 -(30997) found -(30998) found -[6834] Forked 30999 -[6833] Forked 31000 -(30999) found -(31000) found -[6832] Forked 31001 -[6831] Forked 31003 -(31001) found -(31003) found -[6830] Forked 31004 -(31004) found -[6829] Forked 31005 -(31005) found -[6828] Forked 31006 -(31006) found -[6827] Forked 31007 -(31007) found -[6826] Forked 31008 -(31008) found -[6825] Forked 31009 -(31009) found -[6824] Forked 31010 -(31010) found -[6823] Forked 31011 -(31011) found -[6822] Forked 31012 -(31012) found -[6821] Forked 31013 -(31013) found -[6820] Forked 31014 -(31014) found -[6819] Forked 31015 -(31015) found -[6818] Forked 31016 -(31016) found -[6817] Forked 31017 -(31017) found -[6816] Forked 31018 -(31018) found -[6815] Forked 31019 -(31019) found -[6814] Forked 31020 -(31020) found -[6813] Forked 31021 -(31021) found -[6812] Forked 31022 -(31022) found -[6811] Forked 31023 -(31023) found -[6810] Forked 31024 -(31024) found -[6809] Forked 31025 -(31025) found -[6808] Forked 31026 -(31026) found -[6807] Forked 31027 -(31027) found -[6806] Forked 31028 -(31028) found -[6805] Forked 31029 -(31029) found -[6804] Forked 31030 -(31030) found -[6803] Forked 31031 -(31031) found -[6802] Forked 31032 -(31032) found -[6801] Forked 31033 -(31033) found -[6800] Forked 31034 -(31034) found -[6799] Forked 31035 -(31035) found -[6798] Forked 31036 -(31036) found -[6797] Forked 31037 -(31037) found -[6796] Forked 31038 -(31038) found -[6795] Forked 31039 -(31039) found -[6794] Forked 31040 -(31040) found -[6793] Forked 31041 -(31041) found -[6792] Forked 31042 -(31042) found -[6791] Forked 31043 -(31043) found -[6790] Forked 31044 -(31044) found -[6789] Forked 31045 -[6788] Forked 31046 -(31045) found -(31046) found -[6787] Forked 31047 -[6786] Forked 31048 -(31047) found -(31048) found -[6785] Forked 31049 -[6784] Forked 31050 -(31049) found -(31050) found -[6783] Forked 31051 -[6782] Forked 31052 -(31051) found -(31052) found -[6781] Forked 31053 -[6780] Forked 31054 -(31053) found -(31054) found -[6779] Forked 31055 -[6778] Forked 31056 -(31055) found -(31056) found -[6777] Forked 31057 -[6776] Forked 31058 -(31057) found -(31058) found -[6775] Forked 31059 -[6774] Forked 31060 -(31059) found -(31060) found -[6773] Forked 31061 -[6772] Forked 31062 -(31061) found -(31062) found -[6771] Forked 31064 -[6770] Forked 31065 -(31064) found -(31065) found -[6769] Forked 31066 -[6768] Forked 31067 -(31066) found -(31067) found -[6767] Forked 31068 -[6766] Forked 31069 -(31068) found -(31069) found -[6765] Forked 31070 -[6764] Forked 31071 -(31070) found -(31071) found -[6763] Forked 31072 -[6762] Forked 31073 -(31072) found -(31073) found -[6761] Forked 31074 -[6760] Forked 31075 -(31074) found -(31075) found -[6759] Forked 31076 -[6758] Forked 31077 -(31076) found -(31077) found -[6757] Forked 31078 -[6756] Forked 31079 -(31078) found -(31079) found -[6755] Forked 31080 -[6754] Forked 31081 -(31080) found -(31081) found -[6753] Forked 31082 -[6752] Forked 31083 -(31082) found -(31083) found -[6751] Forked 31084 -[6750] Forked 31086 -(31084) found -(31086) found -[6749] Forked 31087 -(31087) found -[6748] Forked 31088 -(31088) found -[6747] Forked 31089 -(31089) found -[6746] Forked 31090 -(31090) found -[6745] Forked 31091 -(31091) found -[6744] Forked 31092 -(31092) found -[6743] Forked 31093 -(31093) found -[6742] Forked 31094 -(31094) found -[6741] Forked 31095 -(31095) found -[6740] Forked 31096 -(31096) found -[6739] Forked 31097 -(31097) found -[6738] Forked 31098 -(31098) found -[6737] Forked 31099 -(31099) found -[6736] Forked 31100 -(31100) found -[6735] Forked 31101 -(31101) found -[6734] Forked 31102 -(31102) found -[6733] Forked 31103 -(31103) found -[6732] Forked 31104 -(31104) found -[6731] Forked 31105 -(31105) found -[6730] Forked 31106 -(31106) found -[6729] Forked 31107 -(31107) found -[6728] Forked 31108 -(31108) found -[6727] Forked 31109 -(31109) found -[6726] Forked 31110 -(31110) found -[6725] Forked 31111 -(31111) found -[6724] Forked 31112 -(31112) found -[6723] Forked 31113 -(31113) found -[6722] Forked 31114 -(31114) found -[6721] Forked 31115 -(31115) found -[6720] Forked 31116 -(31116) found -[6719] Forked 31117 -(31117) found -[6718] Forked 31118 -(31118) found -[6717] Forked 31119 -(31119) found -[6716] Forked 31120 -(31120) found -[6715] Forked 31121 -(31121) found -[6714] Forked 31122 -(31122) found -[6713] Forked 31123 -(31123) found -[6712] Forked 31124 -(31124) found -[6711] Forked 31125 -(31125) found -[6710] Forked 31126 -(31126) found -[6709] Forked 31127 -(31127) found -[6708] Forked 31128 -[6707] Forked 31129 -(31128) found -(31129) found -[6706] Forked 31130 -[6705] Forked 31131 -(31130) found -(31131) found -[6704] Forked 31132 -[6703] Forked 31133 -(31132) found -(31133) found -[6702] Forked 31134 -[6701] Forked 31135 -(31134) found -(31135) found -[6700] Forked 31136 -[6699] Forked 31137 -(31136) found -(31137) found -[6698] Forked 31138 -[6697] Forked 31139 -(31138) found -(31139) found -[6696] Forked 31140 -[6695] Forked 31141 -(31140) found -(31141) found -[6694] Forked 31142 -[6693] Forked 31143 -(31142) found -(31143) found -[6692] Forked 31144 -[6691] Forked 31145 -(31144) found -(31145) found -[6690] Forked 31146 -[6689] Forked 31147 -(31146) found -(31147) found -[6688] Forked 31148 -[6687] Forked 31149 -(31148) found -(31149) found -[6686] Forked 31150 -[6685] Forked 31151 -(31150) found -(31151) found -[6684] Forked 31152 -[6683] Forked 31153 -(31152) found -(31153) found -[6682] Forked 31154 -[6681] Forked 31155 -(31154) found -(31155) found -[6680] Forked 31156 -[6679] Forked 31157 -(31156) found -(31157) found -[6678] Forked 31158 -[6677] Forked 31159 -(31158) found -(31159) found -[6676] Forked 31160 -[6675] Forked 31161 -(31160) found -(31161) found -[6674] Forked 31162 -[6673] Forked 31163 -(31162) found -(31163) found -[6672] Forked 31164 -[6671] Forked 31165 -(31164) found -(31165) found -[6670] Forked 31166 -[6669] Forked 31167 -(31166) found -(31167) found -[6668] Forked 31168 -[6667] Forked 31169 -(31168) found -(31169) found -[6666] Forked 31170 -[6665] Forked 31171 -(31170) found -(31171) found -[6664] Forked 31172 -[6663] Forked 31173 -(31172) found -(31173) found -[6662] Forked 31174 -[6661] Forked 31175 -(31174) found -(31175) found -[6660] Forked 31176 -[6659] Forked 31177 -(31176) found -(31177) found -[6658] Forked 31178 -[6657] Forked 31179 -(31178) found -(31179) found -[6656] Forked 31180 -[6655] Forked 31181 -(31180) found -(31181) found -[6654] Forked 31182 -[6653] Forked 31183 -(31182) found -(31183) found -[6652] Forked 31184 -[6651] Forked 31185 -(31184) found -(31185) found -[6650] Forked 31186 -[6649] Forked 31187 -(31186) found -(31187) found -[6648] Forked 31188 -[6647] Forked 31189 -(31188) found -(31189) found -[6646] Forked 31190 -[6645] Forked 31191 -(31190) found -(31191) found -[6644] Forked 31192 -[6643] Forked 31193 -(31192) found -(31193) found -[6642] Forked 31194 -[6641] Forked 31195 -(31194) found -(31195) found -[6640] Forked 31196 -[6639] Forked 31197 -(31196) found -(31197) found -[6638] Forked 31198 -[6637] Forked 31199 -(31198) found -(31199) found -[6636] Forked 31200 -[6635] Forked 31201 -(31200) found -(31201) found -[6634] Forked 31202 -[6633] Forked 31203 -(31202) found -(31203) found -[6632] Forked 31204 -[6631] Forked 31205 -(31204) found -(31205) found -[6630] Forked 31206 -[6629] Forked 31207 -(31206) found -(31207) found -[6628] Forked 31208 -[6627] Forked 31209 -(31208) found -(31209) found -[6626] Forked 31210 -[6625] Forked 31211 -(31210) found -(31211) found -[6624] Forked 31212 -[6623] Forked 31213 -(31212) found -(31213) found -[6622] Forked 31214 -[6621] Forked 31215 -(31214) found -(31215) found -[6620] Forked 31216 -[6619] Forked 31217 -(31216) found -(31217) found -[6618] Forked 31218 -[6617] Forked 31219 -(31218) found -(31219) found -[6616] Forked 31220 -[6615] Forked 31221 -(31220) found -(31221) found -[6614] Forked 31222 -[6613] Forked 31223 -(31222) found -(31223) found -[6612] Forked 31224 -[6611] Forked 31225 -(31224) found -(31225) found -[6610] Forked 31226 -[6609] Forked 31227 -(31226) found -(31227) found -[6608] Forked 31228 -[6607] Forked 31229 -(31228) found -(31229) found -[6606] Forked 31230 -[6605] Forked 31231 -(31230) found -(31231) found -[6604] Forked 31232 -[6603] Forked 31233 -(31232) found -(31233) found -[6602] Forked 31234 -[6601] Forked 31235 -(31234) found -(31235) found -[6600] Forked 31236 -[6599] Forked 31237 -(31236) found -(31237) found -[6598] Forked 31238 -[6597] Forked 31239 -(31238) found -(31239) found -[6596] Forked 31240 -[6595] Forked 31241 -(31240) found -(31241) found -[6594] Forked 31242 -[6593] Forked 31243 -(31242) found -(31243) found -[6592] Forked 31244 -[6591] Forked 31245 -(31244) found -(31245) found -[6590] Forked 31246 -[6589] Forked 31247 -(31246) found -(31247) found -[6588] Forked 31248 -[6587] Forked 31249 -(31248) found -(31249) found -[6586] Forked 31250 -[6585] Forked 31251 -(31250) found -(31251) found -[6584] Forked 31252 -[6583] Forked 31253 -(31252) found -(31253) found -[6582] Forked 31254 -[6581] Forked 31255 -(31254) found -(31255) found -[6580] Forked 31256 -[6579] Forked 31257 -(31256) found -(31257) found -[6578] Forked 31258 -[6577] Forked 31259 -(31258) found -(31259) found -[6576] Forked 31260 -[6575] Forked 31261 -(31260) found -(31261) found -[6574] Forked 31262 -(31262) found -[6573] Forked 31263 -(31263) found -[6572] Forked 31264 -(31264) found -[6571] Forked 31265 -(31265) found -[6570] Forked 31266 -(31266) found -[6569] Forked 31267 -(31267) found -[6568] Forked 31268 -(31268) found -[6567] Forked 31269 -(31269) found -[6566] Forked 31270 -(31270) found -[6565] Forked 31271 -(31271) found -[6564] Forked 31272 -(31272) found -[6563] Forked 31273 -(31273) found -[6562] Forked 31274 -(31274) found -[6561] Forked 31275 -(31275) found -[6560] Forked 31276 -(31276) found -[6559] Forked 31277 -(31277) found -[6558] Forked 31278 -(31278) found -[6557] Forked 31279 -(31279) found -[6556] Forked 31280 -(31280) found -[6555] Forked 31281 -(31281) found -[6554] Forked 31282 -(31282) found -[6553] Forked 31283 -(31283) found -[6552] Forked 31284 -(31284) found -[6551] Forked 31285 -(31285) found -[6550] Forked 31286 -(31286) found -[6549] Forked 31287 -(31287) found -[6548] Forked 31288 -(31288) found -[6547] Forked 31289 -(31289) found -[6546] Forked 31290 -(31290) found -[6545] Forked 31291 -(31291) found -[6544] Forked 31292 -(31292) found -[6543] Forked 31293 -(31293) found -[6542] Forked 31294 -(31294) found -[6541] Forked 31295 -(31295) found -[6540] Forked 31296 -(31296) found -[6539] Forked 31297 -(31297) found -[6538] Forked 31298 -(31298) found -[6537] Forked 31299 -(31299) found -[6536] Forked 31300 -[6535] Forked 31301 -(31300) found -(31301) found -[6534] Forked 31302 -[6533] Forked 31303 -(31302) found -(31303) found -[6532] Forked 31304 -(31304) found -[6531] Forked 31305 -[6530] Forked 31306 -(31305) found -(31306) found -[6529] Forked 31307 -[6528] Forked 31308 -(31307) found -(31308) found -[6527] Forked 31309 -[6526] Forked 31310 -(31309) found -(31310) found -[6525] Forked 31311 -[6524] Forked 31312 -(31311) found -(31312) found -[6523] Forked 31313 -[6522] Forked 31314 -(31313) found -(31314) found -[6521] Forked 31315 -[6520] Forked 31316 -(31315) found -(31316) found -[6519] Forked 31317 -[6518] Forked 31318 -(31317) found -(31318) found -[6517] Forked 31319 -[6516] Forked 31320 -(31320) found -(31319) found -[6515] Forked 31321 -(31321) found -[6514] Forked 31322 -(31322) found -[6513] Forked 31323 -(31323) found -[6512] Forked 31324 -(31324) found -[6511] Forked 31325 -(31325) found -[6510] Forked 31326 -(31326) found -[6509] Forked 31327 -(31327) found -[6508] Forked 31328 -(31328) found -[6507] Forked 31329 -(31329) found -[6506] Forked 31330 -(31330) found -[6505] Forked 31331 -(31331) found -[6504] Forked 31332 -(31332) found -[6503] Forked 31333 -(31333) found -[6502] Forked 31334 -(31334) found -[6501] Forked 31335 -(31335) found -[6500] Forked 31336 -(31336) found -[6499] Forked 31337 -(31337) found -[6498] Forked 31338 -(31338) found -[6497] Forked 31339 -(31339) found -[6496] Forked 31340 -(31340) found -[6495] Forked 31341 -(31341) found -[6494] Forked 31342 -(31342) found -[6493] Forked 31343 -(31343) found -[6492] Forked 31344 -(31344) found -[6491] Forked 31345 -(31345) found -[6490] Forked 31346 -(31346) found -[6489] Forked 31347 -(31347) found -[6488] Forked 31348 -(31348) found -[6487] Forked 31349 -(31349) found -[6486] Forked 31350 -(31350) found -[6485] Forked 31351 -(31351) found -[6484] Forked 31352 -(31352) found -[6483] Forked 31353 -(31353) found -[6482] Forked 31354 -(31354) found -[6481] Forked 31355 -(31355) found -[6480] Forked 31356 -(31356) found -[6479] Forked 31357 -(31357) found -[6478] Forked 31358 -(31358) found -[6477] Forked 31359 -(31359) found -[6476] Forked 31360 -(31360) found -[6475] Forked 31361 -(31361) found -[6474] Forked 31362 -(31362) found -[6473] Forked 31363 -(31363) found -[6472] Forked 31364 -(31364) found -[6471] Forked 31365 -(31365) found -[6470] Forked 31366 -(31366) found -[6469] Forked 31367 -(31367) found -[6468] Forked 31368 -(31368) found -[6467] Forked 31369 -(31369) found -[6466] Forked 31370 -(31370) found -[6465] Forked 31371 -(31371) found -[6464] Forked 31372 -(31372) found -[6463] Forked 31373 -(31373) found -[6462] Forked 31374 -(31374) found -[6461] Forked 31375 -[6460] Forked 31376 -(31375) found -(31376) found -[6459] Forked 31377 -[6458] Forked 31378 -(31377) found -(31378) found -[6457] Forked 31379 -[6456] Forked 31380 -(31379) found -(31380) found -[6455] Forked 31381 -[6454] Forked 31382 -(31381) found -(31382) found -[6453] Forked 31383 -[6452] Forked 31384 -(31383) found -(31384) found -[6451] Forked 31385 -[6450] Forked 31386 -(31385) found -(31386) found -[6449] Forked 31387 -[6448] Forked 31388 -(31387) found -(31388) found -[6447] Forked 31389 -[6446] Forked 31390 -(31389) found -(31390) found -[6445] Forked 31391 -[6444] Forked 31392 -(31391) found -(31392) found -[6443] Forked 31393 -[6442] Forked 31394 -(31393) found -(31394) found -[6441] Forked 31395 -[6440] Forked 31396 -(31395) found -(31396) found -[6439] Forked 31397 -[6438] Forked 31398 -(31397) found -(31398) found -[6437] Forked 31399 -[6436] Forked 31400 -(31399) found -(31400) found -[6435] Forked 31401 -[6434] Forked 31402 -(31401) found -(31402) found -[6433] Forked 31403 -[6432] Forked 31404 -(31403) found -(31404) found -[6431] Forked 31405 -[6430] Forked 31406 -(31405) found -(31406) found -[6429] Forked 31407 -[6428] Forked 31408 -(31407) found -(31408) found -[6427] Forked 31409 -[6426] Forked 31410 -(31409) found -(31410) found -[6425] Forked 31411 -[6424] Forked 31412 -(31411) found -(31412) found -[6423] Forked 31413 -[6422] Forked 31415 -(31413) found -(31415) found -[6421] Forked 31416 -(31416) found -[6420] Forked 31417 -(31417) found -[6419] Forked 31418 -(31418) found -[6418] Forked 31419 -(31419) found -[6417] Forked 31420 -(31420) found -[6416] Forked 31421 -(31421) found -[6415] Forked 31422 -(31422) found -[6414] Forked 31423 -(31423) found -[6413] Forked 31424 -(31424) found -[6412] Forked 31425 -(31425) found -[6411] Forked 31426 -(31426) found -[6410] Forked 31427 -(31427) found -[6409] Forked 31428 -(31428) found -[6408] Forked 31429 -(31429) found -[6407] Forked 31430 -(31430) found -[6406] Forked 31431 -(31431) found -[6405] Forked 31432 -(31432) found -[6404] Forked 31433 -(31433) found -[6403] Forked 31434 -(31434) found -[6402] Forked 31435 -(31435) found -[6401] Forked 31436 -(31436) found -[6400] Forked 31437 -(31437) found -[6399] Forked 31438 -(31438) found -[6398] Forked 31439 -(31439) found -[6397] Forked 31440 -(31440) found -[6396] Forked 31441 -(31441) found -[6395] Forked 31442 -(31442) found -[6394] Forked 31443 -(31443) found -[6393] Forked 31444 -(31444) found -[6392] Forked 31445 -(31445) found -[6391] Forked 31446 -(31446) found -[6390] Forked 31447 -(31447) found -[6389] Forked 31448 -(31448) found -[6388] Forked 31449 -(31449) found -[6387] Forked 31450 -(31450) found -[6386] Forked 31451 -(31451) found -[6385] Forked 31452 -(31452) found -[6384] Forked 31453 -(31453) found -[6383] Forked 31454 -(31454) found -[6382] Forked 31455 -(31455) found -[6381] Forked 31456 -(31456) found -[6380] Forked 31457 -(31457) found -[6379] Forked 31458 -(31458) found -[6378] Forked 31459 -(31459) found -[6377] Forked 31460 -(31460) found -[6376] Forked 31461 -(31461) found -[6375] Forked 31462 -(31462) found -[6374] Forked 31463 -(31463) found -[6373] Forked 31464 -(31464) found -[6372] Forked 31465 -(31465) found -[6371] Forked 31466 -(31466) found -[6370] Forked 31467 -(31467) found -[6369] Forked 31468 -(31468) found -[6368] Forked 31469 -(31469) found -[6367] Forked 31470 -(31470) found -[6366] Forked 31471 -(31471) found -[6365] Forked 31472 -(31472) found -[6364] Forked 31473 -(31473) found -[6363] Forked 31474 -(31474) found -[6362] Forked 31475 -(31475) found -[6361] Forked 31476 -(31476) found -[6360] Forked 31477 -(31477) found -[6359] Forked 31478 -(31478) found -[6358] Forked 31479 -(31479) found -[6357] Forked 31480 -(31480) found -[6356] Forked 31481 -(31481) found -[6355] Forked 31482 -(31482) found -[6354] Forked 31483 -(31483) found -[6353] Forked 31484 -(31484) found -[6352] Forked 31485 -(31485) found -[6351] Forked 31486 -(31486) found -[6350] Forked 31487 -(31487) found -[6349] Forked 31488 -(31488) found -[6348] Forked 31489 -[6347] Forked 31490 -(31489) found -(31490) found -[6346] Forked 31491 -[6345] Forked 31492 -(31491) found -(31492) found -[6344] Forked 31493 -[6343] Forked 31494 -(31493) found -(31494) found -[6342] Forked 31495 -[6341] Forked 31496 -(31495) found -(31496) found -[6340] Forked 31497 -[6339] Forked 31498 -(31497) found -(31498) found -[6338] Forked 31499 -[6337] Forked 31500 -(31499) found -(31500) found -[6336] Forked 31501 -[6335] Forked 31502 -(31501) found -(31502) found -[6334] Forked 31503 -[6333] Forked 31504 -(31503) found -(31504) found -[6332] Forked 31505 -[6331] Forked 31506 -(31505) found -(31506) found -[6330] Forked 31507 -[6329] Forked 31508 -(31507) found -(31508) found -[6328] Forked 31509 -[6327] Forked 31510 -(31509) found -(31510) found -[6326] Forked 31511 -[6325] Forked 31512 -(31511) found -(31512) found -[6324] Forked 31513 -[6323] Forked 31514 -(31513) found -(31514) found -[6322] Forked 31515 -[6321] Forked 31516 -(31515) found -(31516) found -[6320] Forked 31517 -[6319] Forked 31518 -(31517) found -(31518) found -[6318] Forked 31519 -[6317] Forked 31520 -(31519) found -(31520) found -[6316] Forked 31521 -[6315] Forked 31522 -(31521) found -(31522) found -[6314] Forked 31523 -[6313] Forked 31524 -(31523) found -(31524) found -[6312] Forked 31525 -[6311] Forked 31526 -(31525) found -(31526) found -[6310] Forked 31527 -[6309] Forked 31528 -(31527) found -(31528) found -[6308] Forked 31529 -[6307] Forked 31530 -(31529) found -(31530) found -[6306] Forked 31531 -[6305] Forked 31532 -(31531) found -(31532) found -[6304] Forked 31533 -[6303] Forked 31534 -(31533) found -(31534) found -[6302] Forked 31535 -(31535) found -[6301] Forked 31536 -(31536) found -[6300] Forked 31537 -(31537) found -[6299] Forked 31538 -(31538) found -[6298] Forked 31539 -(31539) found -[6297] Forked 31540 -(31540) found -[6296] Forked 31541 -(31541) found -[6295] Forked 31542 -(31542) found -[6294] Forked 31543 -(31543) found -[6293] Forked 31544 -(31544) found -[6292] Forked 31545 -(31545) found -[6291] Forked 31546 -(31546) found -[6290] Forked 31547 -(31547) found -[6289] Forked 31548 -(31548) found -[6288] Forked 31549 -(31549) found -[6287] Forked 31550 -(31550) found -[6286] Forked 31551 -(31551) found -[6285] Forked 31552 -(31552) found -[6284] Forked 31553 -(31553) found -[6283] Forked 31554 -(31554) found -[6282] Forked 31555 -(31555) found -[6281] Forked 31556 -(31556) found -[6280] Forked 31557 -(31557) found -[6279] Forked 31558 -(31558) found -[6278] Forked 31559 -(31559) found -[6277] Forked 31560 -(31560) found -[6276] Forked 31561 -(31561) found -[6275] Forked 31562 -(31562) found -[6274] Forked 31563 -(31563) found -[6273] Forked 31564 -(31564) found -[6272] Forked 31565 -(31565) found -[6271] Forked 31566 -(31566) found -[6270] Forked 31567 -(31567) found -[6269] Forked 31568 -(31568) found -[6268] Forked 31569 -(31569) found -[6267] Forked 31570 -(31570) found -[6266] Forked 31571 -[6265] Forked 31572 -(31571) found -(31572) found -[6264] Forked 31573 -[6263] Forked 31574 -(31573) found -(31574) found -[6262] Forked 31575 -[6261] Forked 31576 -(31575) found -(31576) found -[6260] Forked 31577 -[6259] Forked 31578 -(31577) found -(31578) found -[6258] Forked 31579 -[6257] Forked 31580 -(31579) found -(31580) found -[6256] Forked 31581 -[6255] Forked 31582 -(31581) found -(31582) found -[6254] Forked 31583 -[6253] Forked 31584 -(31583) found -(31584) found -[6252] Forked 31585 -[6251] Forked 31586 -(31585) found -(31586) found -[6250] Forked 31587 -[6249] Forked 31588 -(31587) found -(31588) found -[6248] Forked 31589 -[6247] Forked 31590 -(31589) found -(31590) found -[6246] Forked 31591 -[6245] Forked 31592 -(31591) found -(31592) found -[6244] Forked 31593 -[6243] Forked 31594 -(31593) found -(31594) found -[6242] Forked 31595 -[6241] Forked 31596 -(31595) found -(31596) found -[6240] Forked 31597 -[6239] Forked 31598 -(31597) found -(31598) found -[6238] Forked 31599 -[6237] Forked 31600 -(31599) found -(31600) found -[6236] Forked 31601 -[6235] Forked 31602 -(31601) found -(31602) found -[6234] Forked 31603 -[6233] Forked 31604 -(31603) found -(31604) found -[6232] Forked 31605 -[6231] Forked 31606 -(31605) found -(31606) found -[6230] Forked 31607 -[6229] Forked 31608 -(31607) found -(31608) found -[6228] Forked 31609 -[6227] Forked 31610 -(31609) found -(31610) found -[6226] Forked 31611 -[6225] Forked 31612 -(31611) found -(31612) found -[6224] Forked 31613 -[6223] Forked 31614 -(31613) found -(31614) found -[6222] Forked 31615 -[6221] Forked 31616 -(31615) found -(31616) found -[6220] Forked 31617 -(31617) found -[6219] Forked 31618 -(31618) found -[6218] Forked 31619 -(31619) found -[6217] Forked 31620 -(31620) found -[6216] Forked 31621 -(31621) found -[6215] Forked 31622 -(31622) found -[6214] Forked 31623 -(31623) found -[6213] Forked 31624 -(31624) found -[6212] Forked 31625 -(31625) found -[6211] Forked 31626 -(31626) found -[6210] Forked 31627 -(31627) found -[6209] Forked 31628 -(31628) found -[6208] Forked 31629 -(31629) found -[6207] Forked 31630 -(31630) found -[6206] Forked 31631 -(31631) found -[6205] Forked 31632 -(31632) found -[6204] Forked 31633 -(31633) found -[6203] Forked 31634 -(31634) found -[6202] Forked 31635 -(31635) found -[6201] Forked 31636 -(31636) found -[6200] Forked 31637 -(31637) found -[6199] Forked 31638 -(31638) found -[6198] Forked 31639 -(31639) found -[6197] Forked 31640 -(31640) found -[6196] Forked 31641 -(31641) found -[6195] Forked 31642 -(31642) found -[6194] Forked 31643 -(31643) found -[6193] Forked 31644 -(31644) found -[6192] Forked 31645 -(31645) found -[6191] Forked 31646 -(31646) found -[6190] Forked 31647 -(31647) found -[6189] Forked 31648 -(31648) found -[6188] Forked 31649 -(31649) found -[6187] Forked 31650 -(31650) found -[6186] Forked 31651 -(31651) found -[6185] Forked 31652 -(31652) found -[6184] Forked 31653 -[6183] Forked 31654 -(31653) found -(31654) found -[6182] Forked 31655 -[6181] Forked 31656 -(31655) found -(31656) found -[6180] Forked 31657 -[6179] Forked 31658 -(31657) found -(31658) found -[6178] Forked 31659 -[6177] Forked 31660 -(31659) found -(31660) found -[6176] Forked 31661 -[6175] Forked 31662 -(31661) found -(31662) found -[6174] Forked 31663 -[6173] Forked 31664 -(31663) found -(31664) found -[6172] Forked 31665 -[6171] Forked 31666 -(31665) found -(31666) found -[6170] Forked 31667 -[6169] Forked 31668 -(31667) found -(31668) found -[6168] Forked 31669 -[6167] Forked 31670 -(31669) found -(31670) found -[6166] Forked 31671 -[6165] Forked 31672 -(31671) found -(31672) found -[6164] Forked 31673 -[6163] Forked 31674 -(31673) found -(31674) found -[6162] Forked 31675 -[6161] Forked 31676 -(31675) found -(31676) found -[6160] Forked 31677 -[6159] Forked 31678 -(31677) found -(31678) found -[6158] Forked 31679 -[6157] Forked 31680 -(31679) found -(31680) found -[6156] Forked 31681 -[6155] Forked 31682 -(31681) found -(31682) found -[6154] Forked 31683 -[6153] Forked 31684 -(31683) found -(31684) found -[6152] Forked 31685 -[6151] Forked 31686 -(31685) found -(31686) found -[6150] Forked 31687 -[6149] Forked 31688 -(31687) found -(31688) found -[6148] Forked 31689 -[6147] Forked 31691 -(31689) found -(31691) found -[6146] Forked 31692 -(31692) found -[6145] Forked 31693 -(31693) found -[6144] Forked 31694 -(31694) found -[6143] Forked 31695 -(31695) found -[6142] Forked 31696 -(31696) found -[6141] Forked 31697 -(31697) found -[6140] Forked 31698 -(31698) found -[6139] Forked 31699 -(31699) found -[6138] Forked 31700 -(31700) found -[6137] Forked 31701 -(31701) found -[6136] Forked 31702 -(31702) found -[6135] Forked 31703 -(31703) found -[6134] Forked 31704 -(31704) found -[6133] Forked 31705 -(31705) found -[6132] Forked 31706 -(31706) found -[6131] Forked 31707 -(31707) found -[6130] Forked 31708 -(31708) found -[6129] Forked 31709 -(31709) found -[6128] Forked 31710 -(31710) found -[6127] Forked 31711 -(31711) found -[6126] Forked 31712 -(31712) found -[6125] Forked 31713 -(31713) found -[6124] Forked 31714 -(31714) found -[6123] Forked 31715 -(31715) found -[6122] Forked 31716 -(31716) found -[6121] Forked 31717 -(31717) found -[6120] Forked 31718 -(31718) found -[6119] Forked 31719 -(31719) found -[6118] Forked 31720 -(31720) found -[6117] Forked 31721 -(31721) found -[6116] Forked 31722 -(31722) found -[6115] Forked 31723 -(31723) found -[6114] Forked 31724 -(31724) found -[6113] Forked 31725 -(31725) found -[6112] Forked 31726 -(31726) found -[6111] Forked 31727 -(31727) found -[6110] Forked 31728 -(31728) found -[6109] Forked 31729 -(31729) found -[6108] Forked 31730 -(31730) found -[6107] Forked 31731 -(31731) found -[6106] Forked 31732 -(31732) found -[6105] Forked 31733 -(31733) found -[6104] Forked 31734 -(31734) found -[6103] Forked 31735 -(31735) found -[6102] Forked 31736 -(31736) found -[6101] Forked 31737 -(31737) found -[6100] Forked 31738 -(31738) found -[6099] Forked 31739 -(31739) found -[6098] Forked 31740 -(31740) found -[6097] Forked 31741 -(31741) found -[6096] Forked 31742 -(31742) found -[6095] Forked 31743 -(31743) found -[6094] Forked 31744 -(31744) found -[6093] Forked 31745 -(31745) found -[6092] Forked 31746 -(31746) found -[6091] Forked 31747 -(31747) found -[6090] Forked 31748 -(31748) found -[6089] Forked 31749 -(31749) found -[6088] Forked 31750 -(31750) found -[6087] Forked 31751 -(31751) found -[6086] Forked 31752 -(31752) found -[6085] Forked 31753 -(31753) found -[6084] Forked 31754 -(31754) found -[6083] Forked 31755 -(31755) found -[6082] Forked 31756 -(31756) found -[6081] Forked 31757 -(31757) found -[6080] Forked 31758 -(31758) found -[6079] Forked 31759 -(31759) found -[6078] Forked 31760 -(31760) found -[6077] Forked 31761 -(31761) found -[6076] Forked 31762 -(31762) found -[6075] Forked 31763 -(31763) found -[6074] Forked 31764 -(31764) found -[6073] Forked 31765 -(31765) found -[6072] Forked 31766 -[6071] Forked 31767 -(31766) found -(31767) found -[6070] Forked 31768 -[6069] Forked 31769 -(31768) found -(31769) found -[6068] Forked 31770 -[6067] Forked 31771 -(31770) found -(31771) found -[6066] Forked 31772 -[6065] Forked 31773 -(31772) found -(31773) found -[6064] Forked 31774 -[6063] Forked 31775 -(31774) found -(31775) found -[6062] Forked 31776 -[6061] Forked 31777 -(31776) found -(31777) found -[6060] Forked 31778 -[6059] Forked 31779 -(31778) found -(31779) found -[6058] Forked 31780 -[6057] Forked 31781 -(31780) found -(31781) found -[6056] Forked 31782 -[6055] Forked 31783 -(31782) found -(31783) found -[6054] Forked 31784 -[6053] Forked 31785 -(31784) found -(31785) found -[6052] Forked 31786 -[6051] Forked 31787 -(31786) found -(31787) found -[6050] Forked 31788 -[6049] Forked 31789 -(31788) found -(31789) found -[6048] Forked 31790 -[6047] Forked 31791 -(31790) found -(31791) found -[6046] Forked 31792 -[6045] Forked 31793 -(31792) found -(31793) found -[6044] Forked 31794 -[6043] Forked 31795 -(31794) found -(31795) found -[6042] Forked 31796 -[6041] Forked 31797 -(31796) found -(31797) found -[6040] Forked 31798 -[6039] Forked 31799 -(31798) found -(31799) found -[6038] Forked 31800 -[6037] Forked 31801 -(31800) found -(31801) found -[6036] Forked 31802 -[6035] Forked 31803 -(31802) found -(31803) found -[6034] Forked 31804 -[6033] Forked 31805 -(31804) found -(31805) found -[6032] Forked 31806 -[6031] Forked 31807 -(31806) found -(31807) found -[6030] Forked 31808 -[6029] Forked 31809 -(31808) found -(31809) found -[6028] Forked 31810 -[6027] Forked 31811 -(31810) found -(31811) found -[6026] Forked 31812 -[6025] Forked 31813 -(31812) found -(31813) found -[6024] Forked 31814 -[6023] Forked 31815 -(31814) found -(31815) found -[6022] Forked 31816 -[6021] Forked 31817 -(31816) found -(31817) found -[6020] Forked 31818 -[6019] Forked 31819 -(31818) found -(31819) found -[6018] Forked 31820 -[6017] Forked 31821 -(31820) found -(31821) found -[6016] Forked 31822 -[6015] Forked 31823 -(31822) found -(31823) found -[6014] Forked 31824 -[6013] Forked 31825 -(31824) found -(31825) found -[6012] Forked 31826 -[6011] Forked 31827 -(31826) found -(31827) found -[6010] Forked 31828 -[6009] Forked 31829 -(31828) found -(31829) found -[6008] Forked 31830 -[6007] Forked 31831 -(31830) found -(31831) found -[6006] Forked 31832 -[6005] Forked 31833 -(31832) found -(31833) found -[6004] Forked 31834 -[6003] Forked 31835 -(31834) found -(31835) found -[6002] Forked 31836 -[6001] Forked 31837 -(31836) found -(31837) found -[6000] Forked 31838 -[5999] Forked 31839 -(31838) found -(31839) found -[5998] Forked 31840 -[5997] Forked 31841 -(31840) found -(31841) found -[5996] Forked 31842 -[5995] Forked 31843 -(31842) found -(31843) found -[5994] Forked 31844 -[5993] Forked 31845 -(31844) found -(31845) found -[5992] Forked 31846 -[5991] Forked 31847 -(31846) found -(31847) found -[5990] Forked 31848 -[5989] Forked 31849 -(31848) found -(31849) found -[5988] Forked 31850 -[5987] Forked 31851 -(31850) found -(31851) found -[5986] Forked 31852 -[5985] Forked 31853 -(31852) found -(31853) found -[5984] Forked 31854 -[5983] Forked 31855 -(31854) found -(31855) found -[5982] Forked 31856 -[5981] Forked 31857 -(31856) found -(31857) found -[5980] Forked 31858 -(31858) found -[5979] Forked 31859 -(31859) found -[5978] Forked 31860 -(31860) found -[5977] Forked 31861 -(31861) found -[5976] Forked 31862 -(31862) found -[5975] Forked 31863 -(31863) found -[5974] Forked 31864 -(31864) found -[5973] Forked 31865 -(31865) found -[5972] Forked 31866 -(31866) found -[5971] Forked 31867 -(31867) found -[5970] Forked 31868 -(31868) found -[5969] Forked 31869 -(31869) found -[5968] Forked 31870 -(31870) found -[5967] Forked 31871 -(31871) found -[5966] Forked 31872 -(31872) found -[5965] Forked 31873 -(31873) found -[5964] Forked 31874 -(31874) found -[5963] Forked 31875 -(31875) found -[5962] Forked 31876 -(31876) found -[5961] Forked 31877 -(31877) found -[5960] Forked 31878 -(31878) found -[5959] Forked 31879 -(31879) found -[5958] Forked 31880 -(31880) found -[5957] Forked 31881 -(31881) found -[5956] Forked 31882 -(31882) found -[5955] Forked 31883 -(31883) found -[5954] Forked 31884 -(31884) found -[5953] Forked 31885 -(31885) found -[5952] Forked 31886 -(31886) found -[5951] Forked 31887 -(31887) found -[5950] Forked 31888 -(31888) found -[5949] Forked 31889 -(31889) found -[5948] Forked 31890 -(31890) found -[5947] Forked 31891 -(31891) found -[5946] Forked 31892 -(31892) found -[5945] Forked 31893 -[5944] Forked 31894 -(31893) found -(31894) found -[5943] Forked 31895 -[5942] Forked 31896 -(31895) found -(31896) found -[5941] Forked 31897 -[5940] Forked 31898 -(31897) found -(31898) found -[5939] Forked 31899 -[5938] Forked 31900 -(31899) found -(31900) found -[5937] Forked 31901 -[5936] Forked 31902 -(31901) found -(31902) found -[5935] Forked 31903 -[5934] Forked 31904 -(31903) found -(31904) found -[5933] Forked 31905 -[5932] Forked 31906 -(31905) found -(31906) found -[5931] Forked 31907 -[5930] Forked 31908 -(31907) found -(31908) found -[5929] Forked 31909 -[5928] Forked 31910 -(31909) found -(31910) found -[5927] Forked 31911 -[5926] Forked 31912 -(31911) found -(31912) found -[5925] Forked 31913 -[5924] Forked 31914 -(31913) found -(31914) found -[5923] Forked 31915 -[5922] Forked 31916 -(31915) found -(31916) found -[5921] Forked 31917 -[5920] Forked 31918 -(31917) found -(31918) found -[5919] Forked 31919 -[5918] Forked 31920 -(31919) found -(31920) found -[5917] Forked 31921 -[5916] Forked 31922 -(31921) found -(31922) found -[5915] Forked 31923 -[5914] Forked 31924 -(31923) found -(31924) found -[5913] Forked 31925 -[5912] Forked 31926 -(31925) found -(31926) found -[5911] Forked 31927 -[5910] Forked 31928 -(31927) found -(31928) found -[5909] Forked 31929 -[5908] Forked 31930 -(31929) found -(31930) found -[5907] Forked 31931 -[5906] Forked 31933 -(31931) found -(31933) found -[5905] Forked 31934 -(31934) found -[5904] Forked 31935 -(31935) found -[5903] Forked 31936 -(31936) found -[5902] Forked 31937 -(31937) found -[5901] Forked 31938 -(31938) found -[5900] Forked 31939 -(31939) found -[5899] Forked 31940 -(31940) found -[5898] Forked 31941 -(31941) found -[5897] Forked 31942 -(31942) found -[5896] Forked 31943 -(31943) found -[5895] Forked 31944 -(31944) found -[5894] Forked 31945 -(31945) found -[5893] Forked 31946 -(31946) found -[5892] Forked 31947 -(31947) found -[5891] Forked 31948 -(31948) found -[5890] Forked 31949 -(31949) found -[5889] Forked 31950 -(31950) found -[5888] Forked 31951 -(31951) found -[5887] Forked 31952 -(31952) found -[5886] Forked 31953 -[5885] Forked 31954 -(31953) found -(31954) found -[5884] Forked 31955 -[5883] Forked 31956 -(31955) found -(31956) found -[5882] Forked 31957 -[5881] Forked 31958 -(31957) found -(31958) found -[5880] Forked 31959 -[5879] Forked 31960 -(31959) found -(31960) found -[5878] Forked 31961 -[5877] Forked 31962 -(31961) found -(31962) found -[5876] Forked 31963 -[5875] Forked 31964 -(31963) found -(31964) found -[5874] Forked 31965 -[5873] Forked 31966 -(31965) found -(31966) found -[5872] Forked 31967 -[5871] Forked 31968 -(31967) found -(31968) found -[5870] Forked 31969 -[5869] Forked 31970 -(31969) found -(31970) found -[5868] Forked 31971 -[5867] Forked 31972 -(31971) found -(31972) found -[5866] Forked 31973 -[5865] Forked 31974 -(31973) found -(31974) found -[5864] Forked 31975 -[5863] Forked 31976 -(31975) found -(31976) found -[5862] Forked 31977 -(31977) found -[5861] Forked 31978 -(31978) found -[5860] Forked 31979 -(31979) found -[5859] Forked 31980 -(31980) found -[5858] Forked 31981 -(31981) found -[5857] Forked 31982 -(31982) found -[5856] Forked 31983 -(31983) found -[5855] Forked 31984 -(31984) found -[5854] Forked 31985 -(31985) found -[5853] Forked 31986 -(31986) found -[5852] Forked 31987 -(31987) found -[5851] Forked 31988 -(31988) found -[5850] Forked 31989 -(31989) found -[5849] Forked 31990 -(31990) found -[5848] Forked 31991 -(31991) found -[5847] Forked 31992 -(31992) found -[5846] Forked 31993 -(31993) found -[5845] Forked 31994 -(31994) found -[5844] Forked 31995 -(31995) found -[5843] Forked 31996 -(31996) found -[5842] Forked 31997 -(31997) found -[5841] Forked 31998 -(31998) found -[5840] Forked 31999 -(31999) found -[5839] Forked 32000 -(32000) found -[5838] Forked 32001 -(32001) found -[5837] Forked 32002 -(32002) found -[5836] Forked 32003 -(32003) found -[5835] Forked 32004 -(32004) found -[5834] Forked 32005 -(32005) found -[5833] Forked 32006 -(32006) found -[5832] Forked 32007 -(32007) found -[5831] Forked 32008 -(32008) found -[5830] Forked 32009 -(32009) found -[5829] Forked 32010 -(32010) found -[5828] Forked 32011 -(32011) found -[5827] Forked 32012 -(32012) found -[5826] Forked 32013 -(32013) found -[5825] Forked 32014 -(32014) found -[5824] Forked 32015 -(32015) found -[5823] Forked 32016 -[5822] Forked 32017 -(32016) found -(32017) found -[5821] Forked 32018 -[5820] Forked 32019 -(32018) found -(32019) found -[5819] Forked 32020 -[5818] Forked 32021 -(32020) found -(32021) found -[5817] Forked 32022 -[5816] Forked 32023 -(32022) found -(32023) found -[5815] Forked 32024 -[5814] Forked 32025 -(32024) found -(32025) found -[5813] Forked 32026 -[5812] Forked 32027 -(32026) found -(32027) found -[5811] Forked 32028 -[5810] Forked 32029 -(32028) found -(32029) found -[5809] Forked 32030 -[5808] Forked 32031 -(32030) found -(32031) found -[5807] Forked 32032 -[5806] Forked 32033 -(32032) found -(32033) found -[5805] Forked 32034 -[5804] Forked 32035 -(32034) found -(32035) found -[5803] Forked 32036 -[5802] Forked 32037 -(32036) found -(32037) found -[5801] Forked 32038 -[5800] Forked 32039 -(32038) found -(32039) found -[5799] Forked 32040 -[5798] Forked 32041 -(32040) found -(32041) found -[5797] Forked 32042 -[5796] Forked 32043 -(32042) found -(32043) found -[5795] Forked 32044 -[5794] Forked 32045 -(32044) found -(32045) found -[5793] Forked 32046 -[5792] Forked 32047 -(32047) found -(32046) found -[5791] Forked 32048 -(32048) found -[5790] Forked 32049 -(32049) found -[5789] Forked 32050 -(32050) found -[5788] Forked 32051 -(32051) found -[5787] Forked 32052 -(32052) found -[5786] Forked 32053 -(32053) found -[5785] Forked 32054 -(32054) found -[5784] Forked 32055 -(32055) found -[5783] Forked 32056 -(32056) found -[5782] Forked 32057 -(32057) found -[5781] Forked 32058 -(32058) found -[5780] Forked 32059 -(32059) found -[5779] Forked 32060 -(32060) found -[5778] Forked 32061 -(32061) found -[5777] Forked 32062 -(32062) found -[5776] Forked 32063 -(32063) found -[5775] Forked 32064 -(32064) found -[5774] Forked 32065 -(32065) found -[5773] Forked 32066 -[5772] Forked 32067 -(32066) found -(32067) found -[5771] Forked 32068 -[5770] Forked 32069 -(32068) found -(32069) found -[5769] Forked 32070 -[5768] Forked 32071 -(32070) found -(32071) found -[5767] Forked 32072 -[5766] Forked 32073 -(32072) found -(32073) found -[5765] Forked 32074 -[5764] Forked 32075 -(32074) found -(32075) found -[5763] Forked 32076 -[5762] Forked 32077 -(32076) found -(32077) found -[5761] Forked 32078 -[5760] Forked 32079 -(32078) found -(32079) found -[5759] Forked 32080 -[5758] Forked 32081 -(32080) found -(32081) found -[5757] Forked 32082 -[5756] Forked 32083 -(32082) found -(32083) found -[5755] Forked 32084 -[5754] Forked 32085 -(32084) found -(32085) found -[5753] Forked 32086 -[5752] Forked 32087 -(32086) found -(32087) found -[5751] Forked 32088 -[5750] Forked 32089 -(32089) found -(32088) found -[5749] Forked 32090 -(32090) found -[5748] Forked 32091 -(32091) found -[5747] Forked 32092 -(32092) found -[5746] Forked 32093 -(32093) found -[5745] Forked 32094 -(32094) found -[5744] Forked 32095 -(32095) found -[5743] Forked 32096 -(32096) found -[5742] Forked 32097 -(32097) found -[5741] Forked 32098 -(32098) found -[5740] Forked 32099 -(32099) found -[5739] Forked 32100 -(32100) found -[5738] Forked 32101 -(32101) found -[5737] Forked 32102 -(32102) found -[5736] Forked 32103 -(32103) found -[5735] Forked 32104 -(32104) found -[5734] Forked 32105 -(32105) found -[5733] Forked 32106 -(32106) found -[5732] Forked 32107 -(32107) found -[5731] Forked 32108 -(32108) found -[5730] Forked 32109 -(32109) found -[5729] Forked 32110 -(32110) found -[5728] Forked 32111 -(32111) found -[5727] Forked 32112 -(32112) found -[5726] Forked 32113 -(32113) found -[5725] Forked 32115 -(32115) found -[5724] Forked 32116 -(32116) found -[5723] Forked 32117 -(32117) found -[5722] Forked 32118 -(32118) found -[5721] Forked 32119 -(32119) found -[5720] Forked 32120 -(32120) found -[5719] Forked 32121 -(32121) found -[5718] Forked 32122 -(32122) found -[5717] Forked 32123 -(32123) found -[5716] Forked 32124 -(32124) found -[5715] Forked 32125 -(32125) found -[5714] Forked 32126 -(32126) found -[5713] Forked 32127 -(32127) found -[5712] Forked 32128 -(32128) found -[5711] Forked 32129 -(32129) found -[5710] Forked 32130 -(32130) found -[5709] Forked 32131 -(32131) found -[5708] Forked 32132 -(32132) found -[5707] Forked 32133 -(32133) found -[5706] Forked 32134 -(32134) found -[5705] Forked 32135 -(32135) found -[5704] Forked 32136 -(32136) found -[5703] Forked 32137 -(32137) found -[5702] Forked 32138 -(32138) found -[5701] Forked 32139 -(32139) found -[5700] Forked 32140 -(32140) found -[5699] Forked 32141 -[5698] Forked 32142 -(32141) found -(32142) found -[5697] Forked 32143 -[5696] Forked 32144 -(32143) found -(32144) found -[5695] Forked 32145 -[5694] Forked 32146 -(32145) found -(32146) found -[5693] Forked 32147 -[5692] Forked 32148 -(32147) found -(32148) found -[5691] Forked 32149 -[5690] Forked 32150 -(32149) found -(32150) found -[5689] Forked 32151 -[5688] Forked 32152 -(32151) found -(32152) found -[5687] Forked 32153 -[5686] Forked 32154 -(32153) found -(32154) found -[5685] Forked 32155 -[5684] Forked 32157 -(32155) found -(32157) found -[5683] Forked 32158 -(32158) found -[5682] Forked 32159 -(32159) found -[5681] Forked 32160 -(32160) found -[5680] Forked 32161 -(32161) found -[5679] Forked 32162 -(32162) found -[5678] Forked 32163 -(32163) found -[5677] Forked 32164 -(32164) found -[5676] Forked 32165 -(32165) found -[5675] Forked 32166 -(32166) found -[5674] Forked 32167 -(32167) found -[5673] Forked 32168 -(32168) found -[5672] Forked 32169 -(32169) found -[5671] Forked 32170 -(32170) found -[5670] Forked 32171 -(32171) found -[5669] Forked 32172 -(32172) found -[5668] Forked 32173 -(32173) found -[5667] Forked 32174 -(32174) found -[5666] Forked 32175 -(32175) found -[5665] Forked 32176 -(32176) found -[5664] Forked 32177 -(32177) found -[5663] Forked 32178 -(32178) found -[5662] Forked 32179 -(32179) found -[5661] Forked 32180 -(32180) found -[5660] Forked 32181 -(32181) found -[5659] Forked 32182 -(32182) found -[5658] Forked 32183 -(32183) found -[5657] Forked 32184 -(32184) found -[5656] Forked 32185 -(32185) found -[5655] Forked 32186 -(32186) found -[5654] Forked 32187 -(32187) found -[5653] Forked 32188 -(32188) found -[5652] Forked 32189 -(32189) found -[5651] Forked 32190 -(32190) found -[5650] Forked 32191 -(32191) found -[5649] Forked 32192 -(32192) found -[5648] Forked 32193 -(32193) found -[5647] Forked 32194 -(32194) found -[5646] Forked 32195 -(32195) found -[5645] Forked 32196 -(32196) found -[5644] Forked 32197 -(32197) found -[5643] Forked 32198 -(32198) found -[5642] Forked 32199 -(32199) found -[5641] Forked 32200 -(32200) found -[5640] Forked 32201 -(32201) found -[5639] Forked 32202 -(32202) found -[5638] Forked 32203 -(32203) found -[5637] Forked 32204 -(32204) found -[5636] Forked 32205 -(32205) found -[5635] Forked 32206 -(32206) found -[5634] Forked 32207 -(32207) found -[5633] Forked 32208 -(32208) found -[5632] Forked 32209 -(32209) found -[5631] Forked 32210 -(32210) found -[5630] Forked 32211 -(32211) found -[5629] Forked 32212 -(32212) found -[5628] Forked 32213 -(32213) found -[5627] Forked 32214 -(32214) found -[5626] Forked 32215 -(32215) found -[5625] Forked 32216 -(32216) found -[5624] Forked 32217 -(32217) found -[5623] Forked 32218 -(32218) found -[5622] Forked 32219 -(32219) found -[5621] Forked 32220 -(32220) found -[5620] Forked 32221 -(32221) found -[5619] Forked 32222 -(32222) found -[5618] Forked 32223 -(32223) found -[5617] Forked 32224 -(32224) found -[5616] Forked 32225 -(32225) found -[5615] Forked 32226 -(32226) found -[5614] Forked 32227 -(32227) found -[5613] Forked 32228 -(32228) found -[5612] Forked 32229 -(32229) found -[5611] Forked 32230 -(32230) found -[5610] Forked 32231 -(32231) found -[5609] Forked 32232 -(32232) found -[5608] Forked 32233 -(32233) found -[5607] Forked 32234 -(32234) found -[5606] Forked 32235 -(32235) found -[5605] Forked 32236 -(32236) found -[5604] Forked 32237 -(32237) found -[5603] Forked 32238 -(32238) found -[5602] Forked 32239 -(32239) found -[5601] Forked 32240 -(32240) found -[5600] Forked 32241 -(32241) found -[5599] Forked 32242 -(32242) found -[5598] Forked 32243 -(32243) found -[5597] Forked 32244 -(32244) found -[5596] Forked 32245 -(32245) found -[5595] Forked 32246 -(32246) found -[5594] Forked 32247 -(32247) found -[5593] Forked 32248 -(32248) found -[5592] Forked 32249 -[5591] Forked 32250 -(32249) found -(32250) found -[5590] Forked 32251 -[5589] Forked 32252 -(32251) found -(32252) found -[5588] Forked 32253 -[5587] Forked 32254 -(32253) found -(32254) found -[5586] Forked 32255 -[5585] Forked 32256 -(32255) found -(32256) found -[5584] Forked 32257 -[5583] Forked 32258 -(32257) found -(32258) found -[5582] Forked 32259 -[5581] Forked 32260 -(32259) found -(32260) found -[5580] Forked 32261 -[5579] Forked 32262 -(32261) found -(32262) found -[5578] Forked 32263 -[5577] Forked 32264 -(32263) found -(32264) found -[5576] Forked 32265 -[5575] Forked 32266 -(32265) found -(32266) found -[5574] Forked 32267 -[5573] Forked 32268 -(32267) found -(32268) found -[5572] Forked 32269 -[5571] Forked 32270 -(32269) found -(32270) found -[5570] Forked 32271 -[5569] Forked 32272 -(32271) found -(32272) found -[5568] Forked 32273 -[5567] Forked 32274 -(32273) found -(32274) found -[5566] Forked 32275 -[5565] Forked 32276 -(32275) found -(32276) found -[5564] Forked 32277 -[5563] Forked 32278 -(32277) found -(32278) found -[5562] Forked 32279 -[5561] Forked 32280 -(32279) found -(32280) found -[5560] Forked 32281 -[5559] Forked 32282 -(32281) found -(32282) found -[5558] Forked 32283 -[5557] Forked 32284 -(32283) found -(32284) found -[5556] Forked 32285 -[5555] Forked 32286 -(32285) found -(32286) found -[5554] Forked 32287 -[5553] Forked 32288 -(32287) found -(32288) found -[5552] Forked 32289 -[5551] Forked 32290 -(32289) found -(32290) found -[5550] Forked 32291 -[5549] Forked 32292 -(32291) found -(32292) found -[5548] Forked 32293 -[5547] Forked 32294 -(32293) found -(32294) found -[5546] Forked 32295 -(32295) found -[5545] Forked 32296 -(32296) found -[5544] Forked 32297 -(32297) found -[5543] Forked 32298 -(32298) found -[5542] Forked 32299 -(32299) found -[5541] Forked 32300 -(32300) found -[5540] Forked 32301 -(32301) found -[5539] Forked 32302 -(32302) found -[5538] Forked 32303 -(32303) found -[5537] Forked 32304 -(32304) found -[5536] Forked 32305 -(32305) found -[5535] Forked 32306 -(32306) found -[5534] Forked 32307 -(32307) found -[5533] Forked 32308 -(32308) found -[5532] Forked 32309 -(32309) found -[5531] Forked 32310 -(32310) found -[5530] Forked 32311 -(32311) found -[5529] Forked 32312 -(32312) found -[5528] Forked 32313 -(32313) found -[5527] Forked 32314 -(32314) found -[5526] Forked 32315 -(32315) found -[5525] Forked 32316 -(32316) found -[5524] Forked 32317 -(32317) found -[5523] Forked 32318 -(32318) found -[5522] Forked 32319 -(32319) found -[5521] Forked 32320 -(32320) found -[5520] Forked 32321 -(32321) found -[5519] Forked 32322 -(32322) found -[5518] Forked 32323 -(32323) found -[5517] Forked 32324 -(32324) found -[5516] Forked 32325 -(32325) found -[5515] Forked 32326 -(32326) found -[5514] Forked 32327 -(32327) found -[5513] Forked 32328 -(32328) found -[5512] Forked 32329 -(32329) found -[5511] Forked 32330 -[5510] Forked 32331 -(32330) found -(32331) found -[5509] Forked 32332 -[5508] Forked 32333 -(32332) found -(32333) found -[5507] Forked 32334 -[5506] Forked 32335 -(32334) found -(32335) found -[5505] Forked 32336 -[5504] Forked 32337 -(32336) found -(32337) found -[5503] Forked 32338 -[5502] Forked 32339 -(32338) found -(32339) found -[5501] Forked 32340 -[5500] Forked 32341 -(32340) found -(32341) found -[5499] Forked 32342 -[5498] Forked 32343 -(32342) found -(32343) found -[5497] Forked 32344 -[5496] Forked 32345 -(32344) found -(32345) found -[5495] Forked 32346 -[5494] Forked 32347 -(32346) found -(32347) found -[5493] Forked 32348 -[5492] Forked 32349 -(32348) found -(32349) found -[5491] Forked 32350 -[5490] Forked 32351 -(32350) found -(32351) found -[5489] Forked 32352 -[5488] Forked 32353 -(32352) found -(32353) found -[5487] Forked 32354 -[5486] Forked 32355 -(32354) found -(32355) found -[5485] Forked 32356 -[5484] Forked 32357 -(32356) found -(32357) found -[5483] Forked 32358 -[5482] Forked 32359 -(32358) found -(32359) found -[5481] Forked 32360 -[5480] Forked 32361 -(32360) found -(32361) found -[5479] Forked 32362 -[5478] Forked 32363 -(32362) found -(32363) found -[5477] Forked 32364 -[5476] Forked 32365 -(32364) found -(32365) found -[5475] Forked 32366 -[5474] Forked 32367 -(32366) found -(32367) found -[5473] Forked 32368 -[5472] Forked 32369 -(32368) found -(32369) found -[5471] Forked 32370 -[5470] Forked 32371 -(32370) found -(32371) found -[5469] Forked 32372 -[5468] Forked 32373 -(32372) found -(32373) found -[5467] Forked 32374 -[5466] Forked 32375 -(32374) found -(32375) found -[5465] Forked 32376 -[5464] Forked 32377 -(32376) found -(32377) found -[5463] Forked 32378 -[5462] Forked 32379 -(32378) found -(32379) found -[5461] Forked 32380 -[5460] Forked 32381 -(32380) found -(32381) found -[5459] Forked 32382 -[5458] Forked 32383 -(32382) found -(32383) found -[5457] Forked 32384 -[5456] Forked 32385 -(32384) found -(32385) found -[5455] Forked 32386 -[5454] Forked 32387 -(32386) found -(32387) found -[5453] Forked 32388 -[5452] Forked 32389 -(32388) found -(32389) found -[5451] Forked 32390 -[5450] Forked 32391 -(32390) found -(32391) found -[5449] Forked 32392 -[5448] Forked 32393 -(32392) found -(32393) found -[5447] Forked 32394 -[5446] Forked 32395 -(32394) found -(32395) found -[5445] Forked 32396 -[5444] Forked 32397 -(32396) found -(32397) found -[5443] Forked 32398 -[5442] Forked 32399 -(32398) found -(32399) found -[5441] Forked 32400 -[5440] Forked 32401 -(32400) found -(32401) found -[5439] Forked 32402 -[5438] Forked 32403 -(32402) found -(32403) found -[5437] Forked 32404 -[5436] Forked 32405 -(32404) found -(32405) found -[5435] Forked 32406 -[5434] Forked 32407 -(32406) found -(32407) found -[5433] Forked 32408 -[5432] Forked 32409 -(32408) found -(32409) found -[5431] Forked 32410 -[5430] Forked 32411 -(32410) found -(32411) found -[5429] Forked 32412 -[5428] Forked 32413 -(32412) found -(32413) found -[5427] Forked 32414 -[5426] Forked 32415 -(32414) found -(32415) found -[5425] Forked 32416 -[5424] Forked 32417 -(32416) found -(32417) found -[5423] Forked 32418 -(32418) found -[5422] Forked 32419 -[5421] Forked 32420 -(32419) found -(32420) found -[5420] Forked 32421 -[5419] Forked 32422 -(32421) found -(32422) found -[5418] Forked 32423 -[5417] Forked 32424 -(32423) found -(32424) found -[5416] Forked 32425 -[5415] Forked 32426 -(32425) found -(32426) found -[5414] Forked 32427 -[5413] Forked 32428 -(32427) found -(32428) found -[5412] Forked 32429 -[5411] Forked 32430 -(32429) found -(32430) found -[5410] Forked 32431 -[5409] Forked 32432 -(32431) found -(32432) found -[5408] Forked 32433 -[5407] Forked 32434 -(32433) found -(32434) found -[5406] Forked 32435 -[5405] Forked 32436 -(32435) found -(32436) found -[5404] Forked 32437 -[5403] Forked 32438 -(32437) found -(32438) found -[5402] Forked 32439 -[5401] Forked 32440 -(32439) found -(32440) found -[5400] Forked 32441 -[5399] Forked 32442 -(32441) found -(32442) found -[5398] Forked 32443 -[5397] Forked 32444 -(32443) found -(32444) found -[5396] Forked 32445 -[5395] Forked 32446 -(32445) found -(32446) found -[5394] Forked 32447 -[5393] Forked 32448 -(32447) found -(32448) found -[5392] Forked 32449 -[5391] Forked 32450 -(32449) found -(32450) found -[5390] Forked 32451 -[5389] Forked 32452 -(32451) found -(32452) found -[5388] Forked 32453 -[5387] Forked 32454 -(32453) found -(32454) found -[5386] Forked 32455 -[5385] Forked 32456 -(32455) found -(32456) found -[5384] Forked 32457 -[5383] Forked 32458 -(32457) found -(32458) found -[5382] Forked 32459 -[5381] Forked 32460 -(32459) found -(32460) found -[5380] Forked 32461 -[5379] Forked 32462 -(32461) found -(32462) found -[5378] Forked 32463 -[5377] Forked 32464 -(32463) found -(32464) found -[5376] Forked 32465 -[5375] Forked 32466 -(32465) found -(32466) found -[5374] Forked 32467 -[5373] Forked 32468 -(32467) found -(32468) found -[5372] Forked 32469 -[5371] Forked 32470 -(32469) found -(32470) found -[5370] Forked 32471 -[5369] Forked 32472 -(32471) found -(32472) found -[5368] Forked 32473 -[5367] Forked 32474 -(32473) found -(32474) found -[5366] Forked 32475 -[5365] Forked 32476 -(32475) found -(32476) found -[5364] Forked 32477 -[5363] Forked 32478 -(32477) found -(32478) found -[5362] Forked 32479 -[5361] Forked 32480 -(32479) found -(32480) found -[5360] Forked 32481 -[5359] Forked 32482 -(32481) found -(32482) found -[5358] Forked 32483 -[5357] Forked 32484 -(32483) found -(32484) found -[5356] Forked 32485 -[5355] Forked 32486 -(32485) found -(32486) found -[5354] Forked 32487 -[5353] Forked 32488 -(32487) found -(32488) found -[5352] Forked 32489 -[5351] Forked 32490 -(32489) found -(32490) found -[5350] Forked 32491 -[5349] Forked 32492 -(32491) found -(32492) found -[5348] Forked 32493 -[5347] Forked 32494 -(32493) found -(32494) found -[5346] Forked 32495 -[5345] Forked 32496 -(32495) found -(32496) found -[5344] Forked 32497 -[5343] Forked 32498 -(32497) found -(32498) found -[5342] Forked 32499 -[5341] Forked 32500 -(32499) found -(32500) found -[5340] Forked 32501 -[5339] Forked 32502 -(32501) found -(32502) found -[5338] Forked 32503 -[5337] Forked 32504 -(32503) found -(32504) found -[5336] Forked 32505 -[5335] Forked 32506 -(32505) found -(32506) found -[5334] Forked 32507 -[5333] Forked 32508 -(32507) found -(32508) found -[5332] Forked 32509 -[5331] Forked 32510 -(32509) found -(32510) found -[5330] Forked 32511 -[5329] Forked 32512 -(32511) found -(32512) found -[5328] Forked 32513 -[5327] Forked 32514 -(32513) found -(32514) found -[5326] Forked 32515 -[5325] Forked 32516 -(32515) found -(32516) found -[5324] Forked 32517 -[5323] Forked 32518 -(32517) found -(32518) found -[5322] Forked 32519 -[5321] Forked 32520 -(32519) found -(32520) found -[5320] Forked 32521 -[5319] Forked 32522 -(32521) found -(32522) found -[5318] Forked 32523 -[5317] Forked 32524 -(32523) found -(32524) found -[5316] Forked 32525 -[5315] Forked 32526 -(32525) found -(32526) found -[5314] Forked 32527 -[5313] Forked 32528 -(32527) found -(32528) found -[5312] Forked 32529 -[5311] Forked 32530 -(32529) found -(32530) found -[5310] Forked 32531 -[5309] Forked 32532 -(32531) found -(32532) found -[5308] Forked 32533 -[5307] Forked 32534 -(32533) found -(32534) found -[5306] Forked 32535 -[5305] Forked 32536 -(32535) found -(32536) found -[5304] Forked 32537 -[5303] Forked 32538 -(32537) found -(32538) found -[5302] Forked 32539 -[5301] Forked 32540 -(32539) found -(32540) found -[5300] Forked 32541 -[5299] Forked 32542 -(32541) found -(32542) found -[5298] Forked 32543 -(32543) found -[5297] Forked 32544 -(32544) found -[5296] Forked 32545 -(32545) found -[5295] Forked 32546 -(32546) found -[5294] Forked 32547 -(32547) found -[5293] Forked 32548 -(32548) found -[5292] Forked 32549 -(32549) found -[5291] Forked 32550 -[5290] Forked 32551 -(32550) found -(32551) found -[5289] Forked 32552 -[5288] Forked 32553 -(32552) found -(32553) found -[5287] Forked 32554 -[5286] Forked 32555 -(32554) found -(32555) found -[5285] Forked 32556 -[5284] Forked 32557 -(32556) found -(32557) found -[5283] Forked 32558 -[5282] Forked 32559 -(32558) found -(32559) found -[5281] Forked 32560 -[5280] Forked 32561 -(32560) found -(32561) found -[5279] Forked 32562 -[5278] Forked 32563 -(32562) found -(32563) found -[5277] Forked 32564 -[5276] Forked 32565 -(32564) found -(32565) found -[5275] Forked 32566 -[5274] Forked 32567 -(32566) found -(32567) found -[5273] Forked 32568 -[5272] Forked 32569 -(32568) found -(32569) found -[5271] Forked 32570 -[5270] Forked 32571 -(32570) found -(32571) found -[5269] Forked 32572 -[5268] Forked 32573 -(32572) found -(32573) found -[5267] Forked 32574 -[5266] Forked 32575 -(32574) found -(32575) found -[5265] Forked 32576 -[5264] Forked 32577 -(32576) found -(32577) found -[5263] Forked 32578 -[5262] Forked 32579 -(32578) found -(32579) found -[5261] Forked 32580 -[5260] Forked 32581 -(32580) found -(32581) found -[5259] Forked 32582 -[5258] Forked 32583 -(32582) found -(32583) found -[5257] Forked 32584 -[5256] Forked 32585 -(32584) found -(32585) found -[5255] Forked 32586 -[5254] Forked 32587 -(32586) found -(32587) found -[5253] Forked 32588 -[5252] Forked 32589 -(32588) found -(32589) found -[5251] Forked 32590 -[5250] Forked 32591 -(32590) found -(32591) found -[5249] Forked 32592 -[5248] Forked 32593 -(32592) found -(32593) found -[5247] Forked 32594 -(32594) found -[5246] Forked 32595 -(32595) found -[5245] Forked 32596 -(32596) found -[5244] Forked 32597 -(32597) found -[5243] Forked 32598 -(32598) found -[5242] Forked 32599 -(32599) found -[5241] Forked 32600 -(32600) found -[5240] Forked 32601 -(32601) found -[5239] Forked 32602 -(32602) found -[5238] Forked 32603 -(32603) found -[5237] Forked 32604 -(32604) found -[5236] Forked 32605 -(32605) found -[5235] Forked 32606 -(32606) found -[5234] Forked 32607 -(32607) found -[5233] Forked 32608 -(32608) found -[5232] Forked 32609 -(32609) found -[5231] Forked 32610 -(32610) found -[5230] Forked 32611 -(32611) found -[5229] Forked 32612 -(32612) found -[5228] Forked 32613 -(32613) found -[5227] Forked 32614 -(32614) found -[5226] Forked 32615 -(32615) found -[5225] Forked 32616 -(32616) found -[5224] Forked 32617 -(32617) found -[5223] Forked 32618 -(32618) found -[5222] Forked 32619 -(32619) found -[5221] Forked 32620 -(32620) found -[5220] Forked 32621 -(32621) found -[5219] Forked 32622 -(32622) found -[5218] Forked 32623 -(32623) found -[5217] Forked 32624 -(32624) found -[5216] Forked 32625 -(32625) found -[5215] Forked 32626 -(32626) found -[5214] Forked 32627 -(32627) found -[5213] Forked 32628 -(32628) found -[5212] Forked 32629 -(32629) found -[5211] Forked 32630 -(32630) found -[5210] Forked 32631 -(32631) found -[5209] Forked 32632 -(32632) found -[5208] Forked 32633 -(32633) found -[5207] Forked 32634 -[5206] Forked 32635 -(32634) found -(32635) found -[5205] Forked 32636 -[5204] Forked 32637 -(32636) found -(32637) found -[5203] Forked 32638 -[5202] Forked 32639 -(32638) found -(32639) found -[5201] Forked 32640 -[5200] Forked 32641 -(32640) found -(32641) found -[5199] Forked 32642 -[5198] Forked 32643 -(32642) found -(32643) found -[5197] Forked 32644 -[5196] Forked 32645 -(32644) found -(32645) found -[5195] Forked 32646 -[5194] Forked 32647 -(32646) found -(32647) found -[5193] Forked 32648 -[5192] Forked 32649 -(32648) found -(32649) found -[5191] Forked 32650 -[5190] Forked 32651 -(32650) found -(32651) found -[5189] Forked 32652 -[5188] Forked 32653 -(32652) found -(32653) found -[5187] Forked 32654 -[5186] Forked 32655 -(32654) found -(32655) found -[5185] Forked 32656 -[5184] Forked 32657 -(32656) found -(32657) found -[5183] Forked 32658 -[5182] Forked 32659 -(32658) found -(32659) found -[5181] Forked 32660 -(32660) found -[5180] Forked 32661 -[5179] Forked 32662 -(32661) found -(32662) found -[5178] Forked 32663 -[5177] Forked 32664 -(32663) found -(32664) found -[5176] Forked 32665 -[5175] Forked 32666 -(32665) found -(32666) found -[5174] Forked 32667 -[5173] Forked 32668 -(32667) found -(32668) found -[5172] Forked 32669 -[5171] Forked 32670 -(32669) found -(32670) found -[5170] Forked 32671 -[5169] Forked 32672 -(32671) found -(32672) found -[5168] Forked 32673 -(32673) found -[5167] Forked 32674 -(32674) found -[5166] Forked 32675 -(32675) found -[5165] Forked 32676 -(32676) found -[5164] Forked 32677 -(32677) found -[5163] Forked 32678 -(32678) found -[5162] Forked 32679 -(32679) found -[5161] Forked 32680 -(32680) found -[5160] Forked 32681 -(32681) found -[5159] Forked 32682 -(32682) found -[5158] Forked 32683 -(32683) found -[5157] Forked 32684 -(32684) found -[5156] Forked 32685 -(32685) found -[5155] Forked 32686 -(32686) found -[5154] Forked 32687 -(32687) found -[5153] Forked 32688 -(32688) found -[5152] Forked 32689 -(32689) found -[5151] Forked 32690 -(32690) found -[5150] Forked 32691 -(32691) found -[5149] Forked 32692 -(32692) found -[5148] Forked 32693 -(32693) found -[5147] Forked 32694 -(32694) found -[5146] Forked 32695 -(32695) found -[5145] Forked 32696 -(32696) found -[5144] Forked 32697 -(32697) found -[5143] Forked 32698 -(32698) found -[5142] Forked 32699 -(32699) found -[5141] Forked 32700 -(32700) found -[5140] Forked 32701 -(32701) found -[5139] Forked 32702 -(32702) found -[5138] Forked 32703 -(32703) found -[5137] Forked 32704 -(32704) found -[5136] Forked 32705 -(32705) found -[5135] Forked 32706 -(32706) found -[5134] Forked 32707 -(32707) found -[5133] Forked 32708 -(32708) found -[5132] Forked 32709 -(32709) found -[5131] Forked 32710 -(32710) found -[5130] Forked 32711 -(32711) found -[5129] Forked 32712 -[5128] Forked 32713 -(32712) found -(32713) found -[5127] Forked 32714 -[5126] Forked 32715 -(32714) found -(32715) found -[5125] Forked 32716 -[5124] Forked 32717 -(32716) found -(32717) found -[5123] Forked 32718 -[5122] Forked 32719 -(32718) found -(32719) found -[5121] Forked 32720 -[5120] Forked 32721 -(32720) found -(32721) found -[5119] Forked 32722 -[5118] Forked 32723 -(32722) found -(32723) found -[5117] Forked 32724 -[5116] Forked 32725 -(32724) found -(32725) found -[5115] Forked 32726 -[5114] Forked 32727 -(32726) found -(32727) found -[5113] Forked 32728 -[5112] Forked 32729 -(32728) found -(32729) found -[5111] Forked 32730 -[5110] Forked 32731 -(32730) found -(32731) found -[5109] Forked 32732 -[5108] Forked 32733 -(32732) found -(32733) found -[5107] Forked 32734 -[5106] Forked 32735 -(32734) found -(32735) found -[5105] Forked 32736 -[5104] Forked 32737 -(32736) found -(32737) found -[5103] Forked 32738 -[5102] Forked 32739 -(32738) found -(32739) found -[5101] Forked 32740 -[5100] Forked 32741 -(32740) found -(32741) found -[5099] Forked 32742 -[5098] Forked 32743 -(32742) found -(32743) found -[5097] Forked 32744 -[5096] Forked 32745 -(32744) found -(32745) found -[5095] Forked 32746 -[5094] Forked 32747 -(32746) found -(32747) found -[5093] Forked 32748 -[5092] Forked 32749 -(32748) found -(32749) found -[5091] Forked 32750 -[5090] Forked 32751 -(32750) found -(32751) found -[5089] Forked 32752 -[5088] Forked 32753 -(32752) found -(32753) found -[5087] Forked 32754 -[5086] Forked 32755 -(32754) found -(32755) found -[5085] Forked 32756 -[5084] Forked 32757 -(32756) found -(32757) found -[5083] Forked 32758 -[5082] Forked 32759 -(32758) found -(32759) found -[5081] Forked 32760 -[5080] Forked 32761 -(32760) found -(32761) found -[5079] Forked 32762 -[5078] Forked 32763 -(32762) found -(32763) found -[5077] Forked 32764 -[5076] Forked 32765 -(32764) found -(32765) found -[5075] Forked 32766 -[5074] Forked 32767 -(32766) found -(32767) found -[5073] Forked 300 -[5072] Forked 301 -(300) found -(301) found -[5071] Forked 302 -[5070] Forked 303 -(302) found -(303) found -[5069] Forked 304 -[5068] Forked 305 -(304) found -(305) found -[5067] Forked 306 -[5066] Forked 307 -(306) found -(307) found -[5065] Forked 308 -(308) found -[5064] Forked 310 -(310) found -[5063] Forked 311 -(311) found -[5062] Forked 312 -(312) found -[5061] Forked 313 -(313) found -[5060] Forked 314 -(314) found -[5059] Forked 315 -(315) found -[5058] Forked 316 -(316) found -[5057] Forked 317 -(317) found -[5056] Forked 318 -(318) found -[5055] Forked 319 -(319) found -[5054] Forked 320 -(320) found -[5053] Forked 321 -(321) found -[5052] Forked 322 -(322) found -[5051] Forked 323 -(323) found -[5050] Forked 324 -(324) found -[5049] Forked 325 -(325) found -[5048] Forked 328 -(328) found -[5047] Forked 330 -(330) found -[5046] Forked 331 -(331) found -[5045] Forked 332 -(332) found -[5044] Forked 333 -(333) found -[5043] Forked 334 -(334) found -[5042] Forked 335 -(335) found -[5041] Forked 336 -(336) found -[5040] Forked 337 -(337) found -[5039] Forked 338 -(338) found -[5038] Forked 339 -(339) found -[5037] Forked 340 -(340) found -[5036] Forked 341 -(341) found -[5035] Forked 342 -(342) found -[5034] Forked 343 -(343) found -[5033] Forked 344 -(344) found -[5032] Forked 345 -(345) found -[5031] Forked 346 -(346) found -[5030] Forked 347 -(347) found -[5029] Forked 348 -(348) found -[5028] Forked 349 -(349) found -[5027] Forked 350 -(350) found -[5026] Forked 351 -(351) found -[5025] Forked 352 -(352) found -[5024] Forked 353 -(353) found -[5023] Forked 354 -(354) found -[5022] Forked 355 -(355) found -[5021] Forked 356 -(356) found -[5020] Forked 357 -(357) found -[5019] Forked 358 -(358) found -[5018] Forked 359 -(359) found -[5017] Forked 360 -(360) found -[5016] Forked 361 -(361) found -[5015] Forked 362 -(362) found -[5014] Forked 363 -(363) found -[5013] Forked 364 -[5012] Forked 365 -(364) found -(365) found -[5011] Forked 366 -[5010] Forked 367 -(366) found -(367) found -[5009] Forked 368 -[5008] Forked 369 -(368) found -(369) found -[5007] Forked 370 -[5006] Forked 371 -(370) found -(371) found -[5005] Forked 372 -[5004] Forked 373 -(372) found -(373) found -[5003] Forked 374 -[5002] Forked 375 -(374) found -(375) found -[5001] Forked 376 -[5000] Forked 377 -(376) found -(377) found -[4999] Forked 378 -[4998] Forked 379 -(378) found -(379) found -[4997] Forked 380 -[4996] Forked 381 -(380) found -(381) found -[4995] Forked 383 -[4994] Forked 384 -(383) found -(384) found -[4993] Forked 385 -[4992] Forked 386 -(385) found -(386) found -[4991] Forked 387 -[4990] Forked 388 -(387) found -(388) found -[4989] Forked 389 -[4988] Forked 390 -(389) found -(390) found -[4987] Forked 391 -[4986] Forked 392 -(391) found -(392) found -[4985] Forked 393 -[4984] Forked 394 -(393) found -(394) found -[4983] Forked 395 -[4982] Forked 396 -(395) found -(396) found -[4981] Forked 397 -[4980] Forked 398 -(397) found -(398) found -[4979] Forked 399 -[4978] Forked 401 -(399) found -(401) found -[4977] Forked 402 -[4976] Forked 403 -(402) found -(403) found -[4975] Forked 404 -[4974] Forked 405 -(404) found -(405) found -[4973] Forked 407 -[4972] Forked 408 -(407) found -(408) found -[4971] Forked 409 -[4970] Forked 410 -(409) found -(410) found -[4969] Forked 411 -[4968] Forked 412 -(411) found -(412) found -[4967] Forked 413 -[4966] Forked 414 -(413) found -(414) found -[4965] Forked 415 -[4964] Forked 416 -(415) found -(416) found -[4963] Forked 417 -[4962] Forked 418 -(417) found -(418) found -[4961] Forked 419 -[4960] Forked 420 -(419) found -(420) found -[4959] Forked 421 -[4958] Forked 422 -(421) found -(422) found -[4957] Forked 423 -[4956] Forked 424 -(423) found -(424) found -[4955] Forked 425 -[4954] Forked 426 -(425) found -(426) found -[4953] Forked 427 -[4952] Forked 429 -(427) found -(429) found -[4951] Forked 430 -[4950] Forked 431 -(430) found -(431) found -[4949] Forked 432 -[4948] Forked 433 -(432) found -(433) found -[4947] Forked 434 -[4946] Forked 435 -(434) found -(435) found -[4945] Forked 436 -[4944] Forked 437 -(436) found -(437) found -[4943] Forked 438 -[4942] Forked 439 -(439) found -(438) found -[4941] Forked 440 -(440) found -[4940] Forked 441 -(441) found -[4939] Forked 442 -(442) found -[4938] Forked 443 -(443) found -[4937] Forked 444 -(444) found -[4936] Forked 445 -(445) found -[4935] Forked 446 -(446) found -[4934] Forked 447 -(447) found -[4933] Forked 448 -(448) found -[4932] Forked 449 -(449) found -[4931] Forked 450 -(450) found -[4930] Forked 451 -(451) found -[4929] Forked 452 -(452) found -[4928] Forked 453 -(453) found -[4927] Forked 454 -(454) found -[4926] Forked 455 -(455) found -[4925] Forked 456 -(456) found -[4924] Forked 457 -(457) found -[4923] Forked 458 -(458) found -[4922] Forked 459 -(459) found -[4921] Forked 460 -(460) found -[4920] Forked 461 -(461) found -[4919] Forked 462 -(462) found -[4918] Forked 463 -(463) found -[4917] Forked 464 -(464) found -[4916] Forked 465 -(465) found -[4915] Forked 466 -(466) found -[4914] Forked 467 -(467) found -[4913] Forked 468 -(468) found -[4912] Forked 469 -(469) found -[4911] Forked 470 -(470) found -[4910] Forked 471 -(471) found -[4909] Forked 472 -(472) found -[4908] Forked 473 -(473) found -[4907] Forked 474 -(474) found -[4906] Forked 475 -(475) found -[4905] Forked 476 -(476) found -[4904] Forked 477 -(477) found -[4903] Forked 478 -(478) found -[4902] Forked 479 -(479) found -[4901] Forked 480 -(480) found -[4900] Forked 481 -(481) found -[4899] Forked 482 -(482) found -[4898] Forked 483 -(483) found -[4897] Forked 484 -(484) found -[4896] Forked 485 -(485) found -[4895] Forked 486 -(486) found -[4894] Forked 487 -(487) found -[4893] Forked 488 -(488) found -[4892] Forked 489 -(489) found -[4891] Forked 490 -(490) found -[4890] Forked 491 -(491) found -[4889] Forked 492 -(492) found -[4888] Forked 493 -(493) found -[4887] Forked 494 -(494) found -[4886] Forked 495 -(495) found -[4885] Forked 496 -(496) found -[4884] Forked 497 -(497) found -[4883] Forked 498 -(498) found -[4882] Forked 499 -(499) found -[4881] Forked 500 -(500) found -[4880] Forked 501 -(501) found -[4879] Forked 502 -(502) found -[4878] Forked 503 -(503) found -[4877] Forked 504 -(504) found -[4876] Forked 505 -(505) found -[4875] Forked 506 -(506) found -[4874] Forked 507 -(507) found -[4873] Forked 508 -(508) found -[4872] Forked 509 -(509) found -[4871] Forked 510 -(510) found -[4870] Forked 511 -(511) found -[4869] Forked 512 -(512) found -[4868] Forked 513 -(513) found -[4867] Forked 514 -(514) found -[4866] Forked 515 -(515) found -[4865] Forked 516 -(516) found -[4864] Forked 517 -(517) found -[4863] Forked 518 -(518) found -[4862] Forked 519 -[4861] Forked 520 -(519) found -(520) found -[4860] Forked 521 -[4859] Forked 522 -(521) found -(522) found -[4858] Forked 523 -[4857] Forked 524 -(523) found -(524) found -[4856] Forked 525 -[4855] Forked 526 -(525) found -(526) found -[4854] Forked 527 -[4853] Forked 528 -(527) found -(528) found -[4852] Forked 529 -[4851] Forked 530 -(529) found -(530) found -[4850] Forked 531 -[4849] Forked 532 -(531) found -(532) found -[4848] Forked 533 -[4847] Forked 534 -(533) found -(534) found -[4846] Forked 535 -[4845] Forked 536 -(535) found -(536) found -[4844] Forked 537 -[4843] Forked 538 -(537) found -(538) found -[4842] Forked 539 -[4841] Forked 540 -(539) found -(540) found -[4840] Forked 541 -[4839] Forked 542 -(541) found -(542) found -[4838] Forked 543 -[4837] Forked 544 -(543) found -(544) found -[4836] Forked 545 -[4835] Forked 546 -(545) found -(546) found -[4834] Forked 547 -[4833] Forked 548 -(547) found -(548) found -[4832] Forked 549 -[4831] Forked 550 -(549) found -(550) found -[4830] Forked 551 -[4829] Forked 552 -(551) found -(552) found -[4828] Forked 553 -[4827] Forked 554 -(553) found -(554) found -[4826] Forked 555 -[4825] Forked 556 -(555) found -(556) found -[4824] Forked 557 -[4823] Forked 558 -(557) found -(558) found -[4822] Forked 559 -[4821] Forked 560 -(559) found -(560) found -[4820] Forked 561 -[4819] Forked 562 -(561) found -(562) found -[4818] Forked 563 -[4817] Forked 564 -(563) found -(564) found -[4816] Forked 565 -(565) found -[4815] Forked 566 -(566) found -[4814] Forked 567 -(567) found -[4813] Forked 568 -(568) found -[4812] Forked 569 -(569) found -[4811] Forked 570 -(570) found -[4810] Forked 571 -(571) found -[4809] Forked 572 -(572) found -[4808] Forked 573 -(573) found -[4807] Forked 574 -(574) found -[4806] Forked 575 -(575) found -[4805] Forked 576 -(576) found -[4804] Forked 577 -(577) found -[4803] Forked 578 -(578) found -[4802] Forked 579 -(579) found -[4801] Forked 580 -(580) found -[4800] Forked 581 -(581) found -[4799] Forked 582 -(582) found -[4798] Forked 583 -(583) found -[4797] Forked 584 -(584) found -[4796] Forked 585 -(585) found -[4795] Forked 586 -(586) found -[4794] Forked 587 -(587) found -[4793] Forked 588 -(588) found -[4792] Forked 589 -(589) found -[4791] Forked 590 -(590) found -[4790] Forked 591 -(591) found -[4789] Forked 592 -(592) found -[4788] Forked 593 -(593) found -[4787] Forked 594 -(594) found -[4786] Forked 595 -(595) found -[4785] Forked 596 -(596) found -[4784] Forked 597 -(597) found -[4783] Forked 598 -(598) found -[4782] Forked 599 -(599) found -[4781] Forked 600 -[4780] Forked 601 -(600) found -(601) found -[4779] Forked 602 -[4778] Forked 603 -(602) found -(603) found -[4777] Forked 604 -[4776] Forked 606 -(604) found -(606) found -[4775] Forked 607 -[4774] Forked 609 -(607) found -(609) found -[4773] Forked 610 -[4772] Forked 612 -(610) found -(612) found -[4771] Forked 613 -[4770] Forked 615 -(613) found -(615) found -[4769] Forked 616 -[4768] Forked 617 -(616) found -(617) found -[4767] Forked 618 -[4766] Forked 619 -(618) found -(619) found -[4765] Forked 620 -[4764] Forked 621 -(620) found -(621) found -[4763] Forked 622 -[4762] Forked 623 -(622) found -(623) found -[4761] Forked 624 -[4760] Forked 625 -(624) found -(625) found -[4759] Forked 626 -[4758] Forked 627 -(626) found -(627) found -[4757] Forked 628 -[4756] Forked 629 -(628) found -(629) found -[4755] Forked 630 -[4754] Forked 631 -(630) found -(631) found -[4753] Forked 632 -[4752] Forked 633 -(632) found -(633) found -[4751] Forked 634 -[4750] Forked 635 -(634) found -(635) found -[4749] Forked 636 -[4748] Forked 637 -(636) found -(637) found -[4747] Forked 638 -[4746] Forked 639 -(638) found -(639) found -[4745] Forked 640 -[4744] Forked 641 -(640) found -(641) found -[4743] Forked 642 -[4742] Forked 643 -(642) found -(643) found -[4741] Forked 644 -[4740] Forked 646 -(644) found -(646) found -[4739] Forked 647 -(647) found -[4738] Forked 648 -(648) found -[4737] Forked 649 -(649) found -[4736] Forked 650 -(650) found -[4735] Forked 651 -(651) found -[4734] Forked 652 -(652) found -[4733] Forked 653 -(653) found -[4732] Forked 654 -(654) found -[4731] Forked 655 -(655) found -[4730] Forked 656 -(656) found -[4729] Forked 657 -(657) found -[4728] Forked 658 -(658) found -[4727] Forked 659 -(659) found -[4726] Forked 660 -(660) found -[4725] Forked 661 -(661) found -[4724] Forked 662 -(662) found -[4723] Forked 663 -(663) found -[4722] Forked 664 -(664) found -[4721] Forked 665 -(665) found -[4720] Forked 666 -(666) found -[4719] Forked 667 -(667) found -[4718] Forked 668 -(668) found -[4717] Forked 669 -(669) found -[4716] Forked 670 -(670) found -[4715] Forked 671 -(671) found -[4714] Forked 672 -(672) found -[4713] Forked 673 -(673) found -[4712] Forked 674 -(674) found -[4711] Forked 675 -(675) found -[4710] Forked 677 -(677) found -[4709] Forked 678 -(678) found -[4708] Forked 679 -(679) found -[4707] Forked 680 -(680) found -[4706] Forked 681 -(681) found -[4705] Forked 682 -(682) found -[4704] Forked 683 -(683) found -[4703] Forked 684 -(684) found -[4702] Forked 685 -(685) found -[4701] Forked 686 -[4700] Forked 687 -(686) found -(687) found -[4699] Forked 688 -[4698] Forked 689 -(688) found -(689) found -[4697] Forked 690 -[4696] Forked 691 -(691) found -(690) found -[4695] Forked 692 -(692) found -[4694] Forked 693 -(693) found -[4693] Forked 694 -(694) found -[4692] Forked 695 -(695) found -[4691] Forked 696 -(696) found -[4690] Forked 697 -(697) found -[4689] Forked 698 -(698) found -[4688] Forked 699 -(699) found -[4687] Forked 700 -(700) found -[4686] Forked 701 -(701) found -[4685] Forked 702 -(702) found -[4684] Forked 703 -(703) found -[4683] Forked 704 -(704) found -[4682] Forked 705 -(705) found -[4681] Forked 706 -(706) found -[4680] Forked 707 -(707) found -[4679] Forked 708 -(708) found -[4678] Forked 709 -(709) found -[4677] Forked 710 -(710) found -[4676] Forked 711 -(711) found -[4675] Forked 712 -(712) found -[4674] Forked 713 -(713) found -[4673] Forked 714 -(714) found -[4672] Forked 715 -(715) found -[4671] Forked 716 -(716) found -[4670] Forked 717 -(717) found -[4669] Forked 718 -(718) found -[4668] Forked 719 -(719) found -[4667] Forked 720 -(720) found -[4666] Forked 721 -(721) found -[4665] Forked 722 -(722) found -[4664] Forked 723 -(723) found -[4663] Forked 724 -(724) found -[4662] Forked 725 -(725) found -[4661] Forked 726 -(726) found -[4660] Forked 727 -(727) found -[4659] Forked 728 -(728) found -[4658] Forked 729 -(729) found -[4657] Forked 730 -(730) found -[4656] Forked 731 -(731) found -[4655] Forked 732 -(732) found -[4654] Forked 734 -(734) found -[4653] Forked 735 -(735) found -[4652] Forked 737 -(737) found -[4651] Forked 740 -(740) found -[4650] Forked 742 -(742) found -[4649] Forked 744 -(744) found -[4648] Forked 745 -(745) found -[4647] Forked 746 -(746) found -[4646] Forked 747 -(747) found -[4645] Forked 748 -(748) found -[4644] Forked 749 -(749) found -[4643] Forked 750 -(750) found -[4642] Forked 751 -(751) found -[4641] Forked 752 -(752) found -[4640] Forked 753 -(753) found -[4639] Forked 754 -(754) found -[4638] Forked 755 -(755) found -[4637] Forked 756 -(756) found -[4636] Forked 757 -(757) found -[4635] Forked 758 -(758) found -[4634] Forked 759 -(759) found -[4633] Forked 760 -(760) found -[4632] Forked 761 -(761) found -[4631] Forked 762 -(762) found -[4630] Forked 763 -(763) found -[4629] Forked 764 -(764) found -[4628] Forked 765 -(765) found -[4627] Forked 766 -(766) found -[4626] Forked 767 -(767) found -[4625] Forked 768 -(768) found -[4624] Forked 769 -(769) found -[4623] Forked 770 -(770) found -[4622] Forked 771 -(771) found -[4621] Forked 772 -(772) found -[4620] Forked 773 -(773) found -[4619] Forked 774 -(774) found -[4618] Forked 775 -(775) found -[4617] Forked 776 -(776) found -[4616] Forked 777 -(777) found -[4615] Forked 778 -(778) found -[4614] Forked 780 -(780) found -[4613] Forked 781 -(781) found -[4612] Forked 782 -(782) found -[4611] Forked 783 -(783) found -[4610] Forked 784 -(784) found -[4609] Forked 785 -(785) found -[4608] Forked 786 -(786) found -[4607] Forked 787 -(787) found -[4606] Forked 788 -(788) found -[4605] Forked 789 -(789) found -[4604] Forked 790 -(790) found -[4603] Forked 791 -(791) found -[4602] Forked 792 -(792) found -[4601] Forked 793 -(793) found -[4600] Forked 794 -[4599] Forked 795 -(794) found -(795) found -[4598] Forked 796 -[4597] Forked 797 -(796) found -(797) found -[4596] Forked 798 -[4595] Forked 799 -(798) found -(799) found -[4594] Forked 800 -[4593] Forked 801 -(800) found -(801) found -[4592] Forked 802 -[4591] Forked 803 -(802) found -(803) found -[4590] Forked 804 -[4589] Forked 805 -(804) found -(805) found -[4588] Forked 806 -[4587] Forked 807 -(806) found -(807) found -[4586] Forked 808 -[4585] Forked 809 -(808) found -(809) found -[4584] Forked 810 -[4583] Forked 811 -(810) found -(811) found -[4582] Forked 812 -[4581] Forked 813 -(812) found -(813) found -[4580] Forked 814 -[4579] Forked 815 -(814) found -(815) found -[4578] Forked 816 -[4577] Forked 817 -(816) found -(817) found -[4576] Forked 818 -[4575] Forked 819 -(818) found -(819) found -[4574] Forked 820 -[4573] Forked 821 -(820) found -(821) found -[4572] Forked 822 -[4571] Forked 823 -(822) found -(823) found -[4570] Forked 824 -[4569] Forked 825 -(824) found -(825) found -[4568] Forked 826 -[4567] Forked 827 -(826) found -(827) found -[4566] Forked 828 -[4565] Forked 829 -(828) found -(829) found -[4564] Forked 830 -[4563] Forked 831 -(830) found -(831) found -[4562] Forked 832 -(832) found -[4561] Forked 833 -[4560] Forked 834 -(833) found -(834) found -[4559] Forked 835 -[4558] Forked 836 -(835) found -(836) found -[4557] Forked 837 -[4556] Forked 838 -(837) found -(838) found -[4555] Forked 839 -[4554] Forked 840 -(839) found -(840) found -[4553] Forked 841 -[4552] Forked 842 -(841) found -(842) found -[4551] Forked 843 -[4550] Forked 844 -(843) found -(844) found -[4549] Forked 845 -[4548] Forked 847 -(845) found -(847) found -[4547] Forked 848 -[4546] Forked 849 -(848) found -(849) found -[4545] Forked 850 -[4544] Forked 851 -(850) found -(851) found -[4543] Forked 852 -[4542] Forked 853 -(852) found -(853) found -[4541] Forked 854 -[4540] Forked 855 -(854) found -(855) found -[4539] Forked 856 -[4538] Forked 857 -(856) found -(857) found -[4537] Forked 858 -(858) found -[4536] Forked 859 -[4535] Forked 860 -(859) found -(860) found -[4534] Forked 861 -[4533] Forked 862 -(861) found -(862) found -[4532] Forked 863 -[4531] Forked 864 -(863) found -(864) found -[4530] Forked 865 -[4529] Forked 866 -(865) found -(866) found -[4528] Forked 867 -[4527] Forked 868 -(867) found -(868) found -[4526] Forked 869 -[4525] Forked 870 -(869) found -(870) found -[4524] Forked 871 -[4523] Forked 872 -(871) found -(872) found -[4522] Forked 873 -[4521] Forked 874 -(873) found -(874) found -[4520] Forked 875 -[4519] Forked 876 -(875) found -(876) found -[4518] Forked 877 -[4517] Forked 879 -(877) found -(879) found -[4516] Forked 880 -(880) found -[4515] Forked 881 -(881) found -[4514] Forked 882 -(882) found -[4513] Forked 883 -(883) found -[4512] Forked 884 -(884) found -[4511] Forked 885 -(885) found -[4510] Forked 886 -(886) found -[4509] Forked 887 -(887) found -[4508] Forked 888 -(888) found -[4507] Forked 889 -(889) found -[4506] Forked 890 -(890) found -[4505] Forked 891 -(891) found -[4504] Forked 892 -(892) found -[4503] Forked 893 -(893) found -[4502] Forked 894 -(894) found -[4501] Forked 895 -(895) found -[4500] Forked 896 -(896) found -[4499] Forked 897 -(897) found -[4498] Forked 898 -(898) found -[4497] Forked 899 -(899) found -[4496] Forked 900 -(900) found -[4495] Forked 901 -(901) found -[4494] Forked 902 -(902) found -[4493] Forked 903 -(903) found -[4492] Forked 904 -(904) found -[4491] Forked 905 -(905) found -[4490] Forked 906 -(906) found -[4489] Forked 907 -(907) found -[4488] Forked 908 -(908) found -[4487] Forked 909 -(909) found -[4486] Forked 910 -(910) found -[4485] Forked 911 -(911) found -[4484] Forked 912 -(912) found -[4483] Forked 913 -(913) found -[4482] Forked 914 -(914) found -[4481] Forked 915 -(915) found -[4480] Forked 916 -(916) found -[4479] Forked 917 -(917) found -[4478] Forked 918 -[4477] Forked 919 -(918) found -(919) found -[4476] Forked 920 -[4475] Forked 921 -(920) found -(921) found -[4474] Forked 922 -[4473] Forked 923 -(922) found -(923) found -[4472] Forked 924 -[4471] Forked 925 -(924) found -(925) found -[4470] Forked 926 -[4469] Forked 927 -(926) found -(927) found -[4468] Forked 941 -[4467] Forked 942 -(941) found -(942) found -[4466] Forked 943 -[4465] Forked 944 -(943) found -(944) found -[4464] Forked 945 -[4463] Forked 946 -(945) found -(946) found -[4462] Forked 947 -[4461] Forked 950 -(947) found -(950) found -[4460] Forked 951 -[4459] Forked 952 -(951) found -(952) found -[4458] Forked 953 -[4457] Forked 954 -(953) found -(954) found -[4456] Forked 955 -[4455] Forked 956 -(955) found -(956) found -[4454] Forked 957 -[4453] Forked 958 -(957) found -(958) found -[4452] Forked 959 -[4451] Forked 960 -(959) found -(960) found -[4450] Forked 961 -[4449] Forked 962 -(961) found -(962) found -[4448] Forked 963 -[4447] Forked 964 -(963) found -(964) found -[4446] Forked 965 -[4445] Forked 966 -(965) found -(966) found -[4444] Forked 967 -[4443] Forked 968 -(967) found -(968) found -[4442] Forked 969 -[4441] Forked 970 -(969) found -(970) found -[4440] Forked 971 -[4439] Forked 972 -(971) found -(972) found -[4438] Forked 973 -[4437] Forked 974 -(973) found -(974) found -[4436] Forked 975 -[4435] Forked 976 -(975) found -(976) found -[4434] Forked 977 -[4433] Forked 978 -(977) found -(978) found -[4432] Forked 979 -(979) found -[4431] Forked 980 -(980) found -[4430] Forked 981 -(981) found -[4429] Forked 982 -(982) found -[4428] Forked 983 -(983) found -[4427] Forked 984 -(984) found -[4426] Forked 985 -(985) found -[4425] Forked 986 -(986) found -[4424] Forked 987 -(987) found -[4423] Forked 988 -(988) found -[4422] Forked 989 -(989) found -[4421] Forked 990 -(990) found -[4420] Forked 991 -(991) found -[4419] Forked 992 -(992) found -[4418] Forked 993 -(993) found -[4417] Forked 994 -(994) found -[4416] Forked 995 -(995) found -[4415] Forked 996 -(996) found -[4414] Forked 997 -(997) found -[4413] Forked 998 -(998) found -[4412] Forked 999 -(999) found -[4411] Forked 1000 -(1000) found -[4410] Forked 1001 -(1001) found -[4409] Forked 1002 -(1002) found -[4408] Forked 1003 -(1003) found -[4407] Forked 1004 -(1004) found -[4406] Forked 1005 -(1005) found -[4405] Forked 1006 -(1006) found -[4404] Forked 1007 -(1007) found -[4403] Forked 1008 -(1008) found -[4402] Forked 1009 -(1009) found -[4401] Forked 1010 -(1010) found -[4400] Forked 1011 -(1011) found -[4399] Forked 1012 -(1012) found -[4398] Forked 1013 -(1013) found -[4397] Forked 1014 -(1014) found -[4396] Forked 1015 -(1015) found -[4395] Forked 1016 -[4394] Forked 1017 -(1016) found -(1017) found -[4393] Forked 1018 -[4392] Forked 1019 -(1018) found -(1019) found -[4391] Forked 1020 -[4390] Forked 1021 -(1020) found -(1021) found -[4389] Forked 1022 -[4388] Forked 1023 -(1022) found -(1023) found -[4387] Forked 1024 -[4386] Forked 1025 -(1024) found -(1025) found -[4385] Forked 1026 -[4384] Forked 1027 -(1026) found -(1027) found -[4383] Forked 1028 -[4382] Forked 1029 -(1028) found -(1029) found -[4381] Forked 1030 -[4380] Forked 1031 -(1030) found -(1031) found -[4379] Forked 1032 -[4378] Forked 1033 -(1032) found -(1033) found -[4377] Forked 1034 -[4376] Forked 1035 -(1034) found -(1035) found -[4375] Forked 1036 -[4374] Forked 1037 -(1036) found -(1037) found -[4373] Forked 1038 -[4372] Forked 1039 -(1038) found -(1039) found -[4371] Forked 1040 -[4370] Forked 1041 -(1040) found -(1041) found -[4369] Forked 1042 -[4368] Forked 1043 -(1042) found -(1043) found -[4367] Forked 1044 -[4366] Forked 1045 -(1044) found -(1045) found -[4365] Forked 1046 -[4364] Forked 1047 -(1046) found -(1047) found -[4363] Forked 1048 -[4362] Forked 1049 -(1048) found -(1049) found -[4361] Forked 1050 -[4360] Forked 1051 -(1050) found -(1051) found -[4359] Forked 1052 -[4358] Forked 1053 -(1052) found -(1053) found -[4357] Forked 1054 -[4356] Forked 1055 -(1054) found -(1055) found -[4355] Forked 1056 -[4354] Forked 1057 -(1056) found -(1057) found -[4353] Forked 1058 -[4352] Forked 1059 -(1058) found -(1059) found -[4351] Forked 1060 -[4350] Forked 1061 -(1060) found -(1061) found -[4349] Forked 1062 -(1062) found -[4348] Forked 1063 -(1063) found -[4347] Forked 1064 -(1064) found -[4346] Forked 1065 -(1065) found -[4345] Forked 1066 -(1066) found -[4344] Forked 1067 -(1067) found -[4343] Forked 1068 -(1068) found -[4342] Forked 1069 -(1069) found -[4341] Forked 1070 -(1070) found -[4340] Forked 1071 -(1071) found -[4339] Forked 1072 -(1072) found -[4338] Forked 1073 -(1073) found -[4337] Forked 1074 -(1074) found -[4336] Forked 1075 -(1075) found -[4335] Forked 1076 -(1076) found -[4334] Forked 1077 -(1077) found -[4333] Forked 1078 -(1078) found -[4332] Forked 1079 -(1079) found -[4331] Forked 1080 -(1080) found -[4330] Forked 1081 -(1081) found -[4329] Forked 1082 -(1082) found -[4328] Forked 1083 -(1083) found -[4327] Forked 1084 -(1084) found -[4326] Forked 1085 -(1085) found -[4325] Forked 1086 -(1086) found -[4324] Forked 1087 -(1087) found -[4323] Forked 1088 -(1088) found -[4322] Forked 1089 -(1089) found -[4321] Forked 1090 -(1090) found -[4320] Forked 1091 -(1091) found -[4319] Forked 1092 -(1092) found -[4318] Forked 1093 -(1093) found -[4317] Forked 1094 -(1094) found -[4316] Forked 1095 -(1095) found -[4315] Forked 1096 -(1096) found -[4314] Forked 1097 -(1097) found -[4313] Forked 1098 -[4312] Forked 1099 -(1098) found -(1099) found -[4311] Forked 1100 -[4310] Forked 1101 -(1100) found -(1101) found -[4309] Forked 1102 -[4308] Forked 1103 -(1102) found -(1103) found -[4307] Forked 1104 -[4306] Forked 1106 -(1104) found -(1106) found -[4305] Forked 1108 -[4304] Forked 1109 -(1108) found -(1109) found -[4303] Forked 1111 -[4302] Forked 1113 -(1111) found -(1113) found -[4301] Forked 1114 -[4300] Forked 1115 -(1114) found -(1115) found -[4299] Forked 1116 -[4298] Forked 1117 -(1116) found -(1117) found -[4297] Forked 1118 -[4296] Forked 1119 -(1118) found -(1119) found -[4295] Forked 1120 -[4294] Forked 1121 -(1120) found -(1121) found -[4293] Forked 1122 -[4292] Forked 1123 -(1122) found -(1123) found -[4291] Forked 1124 -[4290] Forked 1125 -(1124) found -(1125) found -[4289] Forked 1126 -[4288] Forked 1127 -(1126) found -(1127) found -[4287] Forked 1128 -[4286] Forked 1129 -(1128) found -(1129) found -[4285] Forked 1130 -[4284] Forked 1131 -(1130) found -(1131) found -[4283] Forked 1132 -[4282] Forked 1133 -(1132) found -(1133) found -[4281] Forked 1134 -[4280] Forked 1135 -(1134) found -(1135) found -[4279] Forked 1136 -[4278] Forked 1137 -(1136) found -(1137) found -[4277] Forked 1138 -[4276] Forked 1139 -(1138) found -(1139) found -[4275] Forked 1140 -[4274] Forked 1141 -(1141) found -(1140) found -[4273] Forked 1142 -(1142) found -[4272] Forked 1143 -(1143) found -[4271] Forked 1144 -(1144) found -[4270] Forked 1145 -(1145) found -[4269] Forked 1146 -(1146) found -[4268] Forked 1147 -(1147) found -[4267] Forked 1148 -(1148) found -[4266] Forked 1149 -(1149) found -[4265] Forked 1150 -(1150) found -[4264] Forked 1151 -(1151) found -[4263] Forked 1152 -(1152) found -[4262] Forked 1153 -(1153) found -[4261] Forked 1154 -(1154) found -[4260] Forked 1155 -(1155) found -[4259] Forked 1156 -(1156) found -[4258] Forked 1157 -(1157) found -[4257] Forked 1158 -(1158) found -[4256] Forked 1159 -(1159) found -[4255] Forked 1160 -(1160) found -[4254] Forked 1161 -(1161) found -[4253] Forked 1162 -(1162) found -[4252] Forked 1163 -(1163) found -[4251] Forked 1164 -(1164) found -[4250] Forked 1165 -(1165) found -[4249] Forked 1166 -(1166) found -[4248] Forked 1167 -(1167) found -[4247] Forked 1168 -(1168) found -[4246] Forked 1169 -(1169) found -[4245] Forked 1170 -(1170) found -[4244] Forked 1171 -(1171) found -[4243] Forked 1172 -(1172) found -[4242] Forked 1173 -(1173) found -[4241] Forked 1174 -(1174) found -[4240] Forked 1175 -(1175) found -[4239] Forked 1176 -(1176) found -[4238] Forked 1177 -(1177) found -[4237] Forked 1178 -(1178) found -[4236] Forked 1179 -(1179) found -[4235] Forked 1180 -[4234] Forked 1181 -(1180) found -(1181) found -[4233] Forked 1182 -[4232] Forked 1183 -(1182) found -(1183) found -[4231] Forked 1184 -[4230] Forked 1185 -(1184) found -(1185) found -[4229] Forked 1186 -[4228] Forked 1188 -(1186) found -(1188) found -[4227] Forked 1190 -(1190) found -[4226] Forked 1191 -(1191) found -[4225] Forked 1192 -(1192) found -[4224] Forked 1193 -(1193) found -[4223] Forked 1194 -(1194) found -[4222] Forked 1195 -(1195) found -[4221] Forked 1196 -(1196) found -[4220] Forked 1197 -(1197) found -[4219] Forked 1198 -(1198) found -[4218] Forked 1199 -(1199) found -[4217] Forked 1200 -(1200) found -[4216] Forked 1201 -(1201) found -[4215] Forked 1202 -(1202) found -[4214] Forked 1203 -(1203) found -[4213] Forked 1204 -(1204) found -[4212] Forked 1205 -(1205) found -[4211] Forked 1206 -(1206) found -[4210] Forked 1207 -(1207) found -[4209] Forked 1208 -(1208) found -[4208] Forked 1209 -(1209) found -[4207] Forked 1210 -(1210) found -[4206] Forked 1211 -(1211) found -[4205] Forked 1212 -(1212) found -[4204] Forked 1213 -(1213) found -[4203] Forked 1214 -(1214) found -[4202] Forked 1215 -(1215) found -[4201] Forked 1216 -(1216) found -[4200] Forked 1217 -(1217) found -[4199] Forked 1218 -(1218) found -[4198] Forked 1219 -(1219) found -[4197] Forked 1220 -(1220) found -[4196] Forked 1221 -(1221) found -[4195] Forked 1222 -(1222) found -[4194] Forked 1223 -(1223) found -[4193] Forked 1224 -(1224) found -[4192] Forked 1225 -(1225) found -[4191] Forked 1226 -(1226) found -[4190] Forked 1227 -(1227) found -[4189] Forked 1228 -(1228) found -[4188] Forked 1229 -(1229) found -[4187] Forked 1230 -(1230) found -[4186] Forked 1231 -(1231) found -[4185] Forked 1232 -(1232) found -[4184] Forked 1233 -(1233) found -[4183] Forked 1234 -(1234) found -[4182] Forked 1235 -(1235) found -[4181] Forked 1236 -(1236) found -[4180] Forked 1237 -(1237) found -[4179] Forked 1238 -(1238) found -[4178] Forked 1239 -(1239) found -[4177] Forked 1240 -(1240) found -[4176] Forked 1241 -(1241) found -[4175] Forked 1242 -(1242) found -[4174] Forked 1243 -(1243) found -[4173] Forked 1244 -(1244) found -[4172] Forked 1245 -(1245) found -[4171] Forked 1246 -(1246) found -[4170] Forked 1247 -(1247) found -[4169] Forked 1248 -(1248) found -[4168] Forked 1249 -(1249) found -[4167] Forked 1250 -(1250) found -[4166] Forked 1251 -(1251) found -[4165] Forked 1252 -[4164] Forked 1253 -(1252) found -(1253) found -[4163] Forked 1254 -[4162] Forked 1255 -(1254) found -(1255) found -[4161] Forked 1256 -[4160] Forked 1257 -(1256) found -(1257) found -[4159] Forked 1258 -[4158] Forked 1259 -(1258) found -(1259) found -[4157] Forked 1260 -[4156] Forked 1261 -(1260) found -(1261) found -[4155] Forked 1262 -[4154] Forked 1263 -(1262) found -(1263) found -[4153] Forked 1264 -[4152] Forked 1265 -(1264) found -(1265) found -[4151] Forked 1266 -[4150] Forked 1267 -(1266) found -(1267) found -[4149] Forked 1268 -[4148] Forked 1269 -(1268) found -(1269) found -[4147] Forked 1270 -[4146] Forked 1271 -(1270) found -(1271) found -[4145] Forked 1272 -[4144] Forked 1273 -(1272) found -(1273) found -[4143] Forked 1274 -[4142] Forked 1275 -(1274) found -(1275) found -[4141] Forked 1276 -[4140] Forked 1277 -(1276) found -(1277) found -[4139] Forked 1278 -[4138] Forked 1279 -(1278) found -(1279) found -[4137] Forked 1280 -[4136] Forked 1281 -(1280) found -(1281) found -[4135] Forked 1282 -[4134] Forked 1283 -(1282) found -(1283) found -[4133] Forked 1284 -[4132] Forked 1285 -(1284) found -(1285) found -[4131] Forked 1286 -[4130] Forked 1287 -(1286) found -(1287) found -[4129] Forked 1288 -[4128] Forked 1289 -(1288) found -(1289) found -[4127] Forked 1290 -[4126] Forked 1291 -(1290) found -(1291) found -[4125] Forked 1292 -[4124] Forked 1293 -(1292) found -(1293) found -[4123] Forked 1294 -[4122] Forked 1295 -(1294) found -(1295) found -[4121] Forked 1296 -[4120] Forked 1297 -(1296) found -(1297) found -[4119] Forked 1298 -[4118] Forked 1299 -(1298) found -(1299) found -[4117] Forked 1300 -[4116] Forked 1301 -(1300) found -(1301) found -[4115] Forked 1302 -[4114] Forked 1303 -(1302) found -(1303) found -[4113] Forked 1304 -[4112] Forked 1305 -(1304) found -(1305) found -[4111] Forked 1306 -[4110] Forked 1307 -(1306) found -(1307) found -[4109] Forked 1308 -[4108] Forked 1309 -(1308) found -(1309) found -[4107] Forked 1310 -[4106] Forked 1312 -(1310) found -(1312) found -[4105] Forked 1313 -[4104] Forked 1314 -(1314) found -(1313) found -[4103] Forked 1315 -(1315) found -[4102] Forked 1316 -(1316) found -[4101] Forked 1317 -(1317) found -[4100] Forked 1318 -(1318) found -[4099] Forked 1319 -(1319) found -[4098] Forked 1320 -(1320) found -[4097] Forked 1321 -(1321) found -[4096] Forked 1322 -(1322) found -[4095] Forked 1323 -(1323) found -[4094] Forked 1324 -(1324) found -[4093] Forked 1325 -(1325) found -[4092] Forked 1326 -(1326) found -[4091] Forked 1327 -(1327) found -[4090] Forked 1328 -(1328) found -[4089] Forked 1329 -(1329) found -[4088] Forked 1330 -(1330) found -[4087] Forked 1331 -(1331) found -[4086] Forked 1332 -(1332) found -[4085] Forked 1333 -(1333) found -[4084] Forked 1334 -(1334) found -[4083] Forked 1335 -(1335) found -[4082] Forked 1336 -(1336) found -[4081] Forked 1337 -(1337) found -[4080] Forked 1338 -(1338) found -[4079] Forked 1339 -(1339) found -[4078] Forked 1340 -(1340) found -[4077] Forked 1341 -(1341) found -[4076] Forked 1342 -(1342) found -[4075] Forked 1343 -(1343) found -[4074] Forked 1344 -(1344) found -[4073] Forked 1345 -(1345) found -[4072] Forked 1346 -(1346) found -[4071] Forked 1347 -(1347) found -[4070] Forked 1348 -(1348) found -[4069] Forked 1349 -(1349) found -[4068] Forked 1350 -(1350) found -[4067] Forked 1351 -(1351) found -[4066] Forked 1352 -(1352) found -[4065] Forked 1353 -(1353) found -[4064] Forked 1354 -(1354) found -[4063] Forked 1355 -(1355) found -[4062] Forked 1356 -(1356) found -[4061] Forked 1357 -(1357) found -[4060] Forked 1358 -(1358) found -[4059] Forked 1359 -(1359) found -[4058] Forked 1360 -(1360) found -[4057] Forked 1361 -(1361) found -[4056] Forked 1362 -(1362) found -[4055] Forked 1363 -(1363) found -[4054] Forked 1364 -(1364) found -[4053] Forked 1365 -(1365) found -[4052] Forked 1366 -(1366) found -[4051] Forked 1367 -(1367) found -[4050] Forked 1368 -(1368) found -[4049] Forked 1369 -(1369) found -[4048] Forked 1370 -(1370) found -[4047] Forked 1371 -(1371) found -[4046] Forked 1372 -(1372) found -[4045] Forked 1373 -[4044] Forked 1374 -(1373) found -(1374) found -[4043] Forked 1375 -[4042] Forked 1376 -(1375) found -(1376) found -[4041] Forked 1377 -[4040] Forked 1378 -(1377) found -(1378) found -[4039] Forked 1379 -[4038] Forked 1380 -(1379) found -(1380) found -[4037] Forked 1381 -[4036] Forked 1382 -(1381) found -(1382) found -[4035] Forked 1383 -[4034] Forked 1384 -(1383) found -(1384) found -[4033] Forked 1385 -[4032] Forked 1386 -(1385) found -(1386) found -[4031] Forked 1387 -[4030] Forked 1388 -(1387) found -(1388) found -[4029] Forked 1389 -[4028] Forked 1390 -(1389) found -(1390) found -[4027] Forked 1391 -[4026] Forked 1392 -(1391) found -(1392) found -[4025] Forked 1393 -[4024] Forked 1394 -(1393) found -(1394) found -[4023] Forked 1395 -[4022] Forked 1396 -(1395) found -(1396) found -[4021] Forked 1397 -[4020] Forked 1398 -(1397) found -(1398) found -[4019] Forked 1399 -[4018] Forked 1400 -(1399) found -(1400) found -[4017] Forked 1401 -[4016] Forked 1402 -(1401) found -(1402) found -[4015] Forked 1403 -[4014] Forked 1404 -(1403) found -(1404) found -[4013] Forked 1405 -[4012] Forked 1406 -(1405) found -(1406) found -[4011] Forked 1407 -[4010] Forked 1408 -(1407) found -(1408) found -[4009] Forked 1409 -[4008] Forked 1410 -(1409) found -(1410) found -[4007] Forked 1411 -[4006] Forked 1412 -(1411) found -(1412) found -[4005] Forked 1413 -[4004] Forked 1414 -(1413) found -(1414) found -[4003] Forked 1415 -[4002] Forked 1416 -(1415) found -(1416) found -[4001] Forked 1417 -[4000] Forked 1418 -(1417) found -(1418) found -[3999] Forked 1419 -[3998] Forked 1420 -(1419) found -(1420) found -[3997] Forked 1421 -[3996] Forked 1422 -(1421) found -(1422) found -[3995] Forked 1423 -[3994] Forked 1424 -(1423) found -(1424) found -[3993] Forked 1425 -[3992] Forked 1426 -(1425) found -(1426) found -[3991] Forked 1427 -[3990] Forked 1428 -(1427) found -(1428) found -[3989] Forked 1429 -[3988] Forked 1430 -(1429) found -(1430) found -[3987] Forked 1431 -[3986] Forked 1432 -(1431) found -(1432) found -[3985] Forked 1433 -[3984] Forked 1434 -(1433) found -(1434) found -[3983] Forked 1435 -[3982] Forked 1436 -(1435) found -(1436) found -[3981] Forked 1437 -[3980] Forked 1438 -(1437) found -(1438) found -[3979] Forked 1440 -[3978] Forked 1441 -(1440) found -(1441) found -[3977] Forked 1442 -[3976] Forked 1443 -(1442) found -(1443) found -[3975] Forked 1444 -[3974] Forked 1445 -(1444) found -(1445) found -[3973] Forked 1446 -[3972] Forked 1447 -(1446) found -(1447) found -[3971] Forked 1448 -[3970] Forked 1449 -(1448) found -(1449) found -[3969] Forked 1450 -[3968] Forked 1451 -(1450) found -(1451) found -[3967] Forked 1452 -[3966] Forked 1453 -(1452) found -(1453) found -[3965] Forked 1454 -[3964] Forked 1455 -(1454) found -(1455) found -[3963] Forked 1456 -[3962] Forked 1457 -(1456) found -(1457) found -[3961] Forked 1458 -[3960] Forked 1459 -(1458) found -(1459) found -[3959] Forked 1460 -[3958] Forked 1461 -(1460) found -(1461) found -[3957] Forked 1462 -[3956] Forked 1463 -(1462) found -(1463) found -[3955] Forked 1464 -[3954] Forked 1465 -(1464) found -(1465) found -[3953] Forked 1466 -(1466) found -[3952] Forked 1467 -(1467) found -[3951] Forked 1468 -(1468) found -[3950] Forked 1469 -(1469) found -[3949] Forked 1470 -(1470) found -[3948] Forked 1471 -(1471) found -[3947] Forked 1472 -(1472) found -[3946] Forked 1473 -(1473) found -[3945] Forked 1474 -(1474) found -[3944] Forked 1475 -(1475) found -[3943] Forked 1476 -(1476) found -[3942] Forked 1477 -(1477) found -[3941] Forked 1478 -(1478) found -[3940] Forked 1479 -(1479) found -[3939] Forked 1480 -(1480) found -[3938] Forked 1481 -(1481) found -[3937] Forked 1482 -(1482) found -[3936] Forked 1483 -(1483) found -[3935] Forked 1484 -(1484) found -[3934] Forked 1485 -(1485) found -[3933] Forked 1486 -(1486) found -[3932] Forked 1487 -(1487) found -[3931] Forked 1488 -(1488) found -[3930] Forked 1489 -(1489) found -[3929] Forked 1490 -(1490) found -[3928] Forked 1491 -(1491) found -[3927] Forked 1492 -(1492) found -[3926] Forked 1493 -(1493) found -[3925] Forked 1494 -(1494) found -[3924] Forked 1495 -(1495) found -[3923] Forked 1496 -(1496) found -[3922] Forked 1497 -(1497) found -[3921] Forked 1498 -(1498) found -[3920] Forked 1499 -(1499) found -[3919] Forked 1500 -(1500) found -[3918] Forked 1501 -[3917] Forked 1502 -(1501) found -(1502) found -[3916] Forked 1503 -[3915] Forked 1504 -(1503) found -(1504) found -[3914] Forked 1505 -[3913] Forked 1506 -(1505) found -(1506) found -[3912] Forked 1507 -[3911] Forked 1508 -(1507) found -(1508) found -[3910] Forked 1509 -[3909] Forked 1510 -(1509) found -(1510) found -[3908] Forked 1511 -[3907] Forked 1512 -(1511) found -(1512) found -[3906] Forked 1513 -[3905] Forked 1514 -(1513) found -(1514) found -[3904] Forked 1515 -[3903] Forked 1516 -(1515) found -(1516) found -[3902] Forked 1517 -[3901] Forked 1518 -(1517) found -(1518) found -[3900] Forked 1519 -[3899] Forked 1520 -(1519) found -(1520) found -[3898] Forked 1521 -[3897] Forked 1522 -(1521) found -(1522) found -[3896] Forked 1523 -[3895] Forked 1524 -(1523) found -(1524) found -[3894] Forked 1525 -[3893] Forked 1526 -(1525) found -(1526) found -[3892] Forked 1527 -[3891] Forked 1528 -(1527) found -(1528) found -[3890] Forked 1529 -[3889] Forked 1530 -(1529) found -(1530) found -[3888] Forked 1531 -[3887] Forked 1532 -(1531) found -(1532) found -[3886] Forked 1533 -[3885] Forked 1534 -(1533) found -(1534) found -[3884] Forked 1535 -[3883] Forked 1536 -(1535) found -(1536) found -[3882] Forked 1537 -[3881] Forked 1538 -(1537) found -(1538) found -[3880] Forked 1539 -[3879] Forked 1540 -(1539) found -(1540) found -[3878] Forked 1541 -[3877] Forked 1542 -(1541) found -(1542) found -[3876] Forked 1543 -[3875] Forked 1544 -(1543) found -(1544) found -[3874] Forked 1545 -[3873] Forked 1546 -(1545) found -(1546) found -[3872] Forked 1547 -(1547) found -[3871] Forked 1548 -(1548) found -[3870] Forked 1549 -(1549) found -[3869] Forked 1550 -(1550) found -[3868] Forked 1551 -(1551) found -[3867] Forked 1552 -(1552) found -[3866] Forked 1553 -(1553) found -[3865] Forked 1554 -(1554) found -[3864] Forked 1555 -(1555) found -[3863] Forked 1556 -(1556) found -[3862] Forked 1557 -(1557) found -[3861] Forked 1558 -(1558) found -[3860] Forked 1559 -(1559) found -[3859] Forked 1560 -(1560) found -[3858] Forked 1561 -(1561) found -[3857] Forked 1562 -(1562) found -[3856] Forked 1563 -(1563) found -[3855] Forked 1564 -(1564) found -[3854] Forked 1565 -(1565) found -[3853] Forked 1566 -(1566) found -[3852] Forked 1567 -(1567) found -[3851] Forked 1568 -(1568) found -[3850] Forked 1569 -(1569) found -[3849] Forked 1570 -(1570) found -[3848] Forked 1571 -(1571) found -[3847] Forked 1572 -(1572) found -[3846] Forked 1573 -(1573) found -[3845] Forked 1574 -(1574) found -[3844] Forked 1575 -(1575) found -[3843] Forked 1576 -(1576) found -[3842] Forked 1577 -(1577) found -[3841] Forked 1578 -(1578) found -[3840] Forked 1579 -(1579) found -[3839] Forked 1580 -(1580) found -[3838] Forked 1581 -[3837] Forked 1582 -(1581) found -(1582) found -[3836] Forked 1583 -[3835] Forked 1584 -(1583) found -(1584) found -[3834] Forked 1585 -[3833] Forked 1586 -(1585) found -(1586) found -[3832] Forked 1587 -[3831] Forked 1588 -(1587) found -(1588) found -[3830] Forked 1589 -[3829] Forked 1590 -(1589) found -(1590) found -[3828] Forked 1591 -[3827] Forked 1592 -(1591) found -(1592) found -[3826] Forked 1593 -[3825] Forked 1595 -(1593) found -(1595) found -[3824] Forked 1596 -[3823] Forked 1597 -(1596) found -(1597) found -[3822] Forked 1598 -[3821] Forked 1599 -(1598) found -(1599) found -[3820] Forked 1600 -[3819] Forked 1601 -(1600) found -(1601) found -[3818] Forked 1602 -[3817] Forked 1603 -(1602) found -(1603) found -[3816] Forked 1604 -[3815] Forked 1605 -(1604) found -(1605) found -[3814] Forked 1606 -[3813] Forked 1607 -(1606) found -(1607) found -[3812] Forked 1608 -[3811] Forked 1609 -(1608) found -(1609) found -[3810] Forked 1610 -[3809] Forked 1611 -(1610) found -(1611) found -[3808] Forked 1612 -[3807] Forked 1613 -(1612) found -(1613) found -[3806] Forked 1614 -[3805] Forked 1615 -(1614) found -(1615) found -[3804] Forked 1616 -[3803] Forked 1617 -(1616) found -(1617) found -[3802] Forked 1618 -[3801] Forked 1619 -(1618) found -(1619) found -[3800] Forked 1620 -[3799] Forked 1621 -(1620) found -(1621) found -[3798] Forked 1622 -[3797] Forked 1623 -(1622) found -(1623) found -[3796] Forked 1624 -[3795] Forked 1625 -(1624) found -(1625) found -[3794] Forked 1626 -[3793] Forked 1627 -(1626) found -(1627) found -[3792] Forked 1628 -(1628) found -[3791] Forked 1629 -(1629) found -[3790] Forked 1630 -(1630) found -[3789] Forked 1631 -(1631) found -[3788] Forked 1632 -(1632) found -[3787] Forked 1633 -(1633) found -[3786] Forked 1634 -(1634) found -[3785] Forked 1635 -(1635) found -[3784] Forked 1636 -(1636) found -[3783] Forked 1637 -(1637) found -[3782] Forked 1638 -(1638) found -[3781] Forked 1639 -(1639) found -[3780] Forked 1640 -(1640) found -[3779] Forked 1641 -(1641) found -[3778] Forked 1642 -(1642) found -[3777] Forked 1643 -(1643) found -[3776] Forked 1644 -(1644) found -[3775] Forked 1645 -(1645) found -[3774] Forked 1646 -(1646) found -[3773] Forked 1647 -(1647) found -[3772] Forked 1648 -(1648) found -[3771] Forked 1649 -(1649) found -[3770] Forked 1650 -(1650) found -[3769] Forked 1651 -(1651) found -[3768] Forked 1652 -(1652) found -[3767] Forked 1653 -(1653) found -[3766] Forked 1654 -(1654) found -[3765] Forked 1655 -(1655) found -[3764] Forked 1656 -(1656) found -[3763] Forked 1657 -(1657) found -[3762] Forked 1658 -(1658) found -[3761] Forked 1659 -(1659) found -[3760] Forked 1660 -(1660) found -[3759] Forked 1661 -(1661) found -[3758] Forked 1662 -(1662) found -[3757] Forked 1663 -[3756] Forked 1664 -(1663) found -(1664) found -[3755] Forked 1665 -[3754] Forked 1666 -(1665) found -(1666) found -[3753] Forked 1668 -[3752] Forked 1669 -(1668) found -(1669) found -[3751] Forked 1670 -[3750] Forked 1671 -(1670) found -(1671) found -[3749] Forked 1672 -[3748] Forked 1673 -(1672) found -(1673) found -[3747] Forked 1674 -[3746] Forked 1675 -(1674) found -(1675) found -[3745] Forked 1676 -[3744] Forked 1677 -(1676) found -(1677) found -[3743] Forked 1679 -[3742] Forked 1680 -(1679) found -(1680) found -[3741] Forked 1681 -[3740] Forked 1682 -(1681) found -(1682) found -[3739] Forked 1683 -[3738] Forked 1684 -(1683) found -(1684) found -[3737] Forked 1685 -[3736] Forked 1686 -(1685) found -(1686) found -[3735] Forked 1687 -[3734] Forked 1688 -(1687) found -(1688) found -[3733] Forked 1689 -[3732] Forked 1690 -(1689) found -(1690) found -[3731] Forked 1691 -[3730] Forked 1692 -(1691) found -(1692) found -[3729] Forked 1693 -[3728] Forked 1694 -(1693) found -(1694) found -[3727] Forked 1695 -[3726] Forked 1696 -(1695) found -(1696) found -[3725] Forked 1697 -[3724] Forked 1698 -(1697) found -(1698) found -[3723] Forked 1699 -[3722] Forked 1700 -(1699) found -(1700) found -[3721] Forked 1701 -[3720] Forked 1702 -(1701) found -(1702) found -[3719] Forked 1703 -[3718] Forked 1704 -(1703) found -(1704) found -[3717] Forked 1705 -[3716] Forked 1706 -(1705) found -(1706) found -[3715] Forked 1707 -[3714] Forked 1708 -(1707) found -(1708) found -[3713] Forked 1709 -[3712] Forked 1710 -(1709) found -(1710) found -[3711] Forked 1711 -(1711) found -[3710] Forked 1712 -(1712) found -[3709] Forked 1713 -(1713) found -[3708] Forked 1714 -(1714) found -[3707] Forked 1715 -(1715) found -[3706] Forked 1716 -(1716) found -[3705] Forked 1717 -(1717) found -[3704] Forked 1718 -(1718) found -[3703] Forked 1719 -(1719) found -[3702] Forked 1720 -(1720) found -[3701] Forked 1721 -(1721) found -[3700] Forked 1722 -(1722) found -[3699] Forked 1723 -(1723) found -[3698] Forked 1724 -(1724) found -[3697] Forked 1725 -(1725) found -[3696] Forked 1726 -(1726) found -[3695] Forked 1727 -(1727) found -[3694] Forked 1728 -(1728) found -[3693] Forked 1729 -(1729) found -[3692] Forked 1730 -(1730) found -[3691] Forked 1731 -(1731) found -[3690] Forked 1732 -(1732) found -[3689] Forked 1733 -(1733) found -[3688] Forked 1734 -(1734) found -[3687] Forked 1735 -(1735) found -[3686] Forked 1736 -(1736) found -[3685] Forked 1737 -(1737) found -[3684] Forked 1738 -(1738) found -[3683] Forked 1739 -(1739) found -[3682] Forked 1740 -(1740) found -[3681] Forked 1741 -(1741) found -[3680] Forked 1742 -(1742) found -[3679] Forked 1744 -(1744) found -[3678] Forked 1746 -(1746) found -[3677] Forked 1747 -(1747) found -[3676] Forked 1748 -[3675] Forked 1749 -(1748) found -(1749) found -[3674] Forked 1750 -[3673] Forked 1751 -(1750) found -(1751) found -[3672] Forked 1752 -[3671] Forked 1753 -(1752) found -(1753) found -[3670] Forked 1754 -[3669] Forked 1755 -(1754) found -(1755) found -[3668] Forked 1756 -[3667] Forked 1757 -(1756) found -(1757) found -[3666] Forked 1758 -[3665] Forked 1760 -(1758) found -(1760) found -[3664] Forked 1761 -[3663] Forked 1762 -(1761) found -(1762) found -[3662] Forked 1763 -[3661] Forked 1764 -(1763) found -(1764) found -[3660] Forked 1765 -[3659] Forked 1766 -(1765) found -(1766) found -[3658] Forked 1767 -[3657] Forked 1768 -(1767) found -(1768) found -[3656] Forked 1769 -[3655] Forked 1770 -(1769) found -(1770) found -[3654] Forked 1771 -[3653] Forked 1772 -(1771) found -(1772) found -[3652] Forked 1773 -[3651] Forked 1774 -(1773) found -(1774) found -[3650] Forked 1775 -[3649] Forked 1776 -(1775) found -(1776) found -[3648] Forked 1777 -[3647] Forked 1778 -(1777) found -(1778) found -[3646] Forked 1779 -[3645] Forked 1780 -(1779) found -(1780) found -[3644] Forked 1781 -[3643] Forked 1782 -(1781) found -(1782) found -[3642] Forked 1783 -[3641] Forked 1784 -(1783) found -(1784) found -[3640] Forked 1785 -[3639] Forked 1786 -(1785) found -(1786) found -[3638] Forked 1787 -[3637] Forked 1788 -(1787) found -(1788) found -[3636] Forked 1789 -[3635] Forked 1790 -(1789) found -(1790) found -[3634] Forked 1791 -[3633] Forked 1792 -(1791) found -(1792) found -[3632] Forked 1793 -[3631] Forked 1794 -(1793) found -(1794) found -[3630] Forked 1795 -[3629] Forked 1796 -(1795) found -(1796) found -[3628] Forked 1797 -[3627] Forked 1798 -(1797) found -(1798) found -[3626] Forked 1799 -[3625] Forked 1800 -(1799) found -(1800) found -[3624] Forked 1801 -[3623] Forked 1802 -(1801) found -(1802) found -[3622] Forked 1803 -[3621] Forked 1804 -(1803) found -(1804) found -[3620] Forked 1805 -[3619] Forked 1806 -(1805) found -(1806) found -[3618] Forked 1807 -[3617] Forked 1808 -(1807) found -(1808) found -[3616] Forked 1809 -[3615] Forked 1810 -(1809) found -(1810) found -[3614] Forked 1811 -[3613] Forked 1812 -(1811) found -(1812) found -[3612] Forked 1813 -[3611] Forked 1814 -(1813) found -(1814) found -[3610] Forked 1815 -(1815) found -[3609] Forked 1816 -[3608] Forked 1817 -(1816) found -(1817) found -[3607] Forked 1818 -[3606] Forked 1819 -(1818) found -(1819) found -[3605] Forked 1820 -[3604] Forked 1821 -(1820) found -(1821) found -[3603] Forked 1822 -[3602] Forked 1823 -(1822) found -(1823) found -[3601] Forked 1824 -[3600] Forked 1825 -(1824) found -(1825) found -[3599] Forked 1826 -[3598] Forked 1827 -(1826) found -(1827) found -[3597] Forked 1828 -[3596] Forked 1829 -(1828) found -(1829) found -[3595] Forked 1830 -[3594] Forked 1831 -(1830) found -(1831) found -[3593] Forked 1832 -[3592] Forked 1833 -(1832) found -(1833) found -[3591] Forked 1834 -[3590] Forked 1835 -(1834) found -(1835) found -[3589] Forked 1836 -[3588] Forked 1837 -(1836) found -(1837) found -[3587] Forked 1838 -(1838) found -[3586] Forked 1839 -(1839) found -[3585] Forked 1840 -(1840) found -[3584] Forked 1841 -(1841) found -[3583] Forked 1842 -(1842) found -[3582] Forked 1843 -(1843) found -[3581] Forked 1844 -(1844) found -[3580] Forked 1845 -(1845) found -[3579] Forked 1846 -(1846) found -[3578] Forked 1847 -(1847) found -[3577] Forked 1848 -(1848) found -[3576] Forked 1849 -(1849) found -[3575] Forked 1850 -(1850) found -[3574] Forked 1851 -(1851) found -[3573] Forked 1852 -(1852) found -[3572] Forked 1853 -(1853) found -[3571] Forked 1854 -(1854) found -[3570] Forked 1855 -(1855) found -[3569] Forked 1856 -(1856) found -[3568] Forked 1857 -(1857) found -[3567] Forked 1858 -(1858) found -[3566] Forked 1859 -(1859) found -[3565] Forked 1860 -(1860) found -[3564] Forked 1861 -(1861) found -[3563] Forked 1862 -(1862) found -[3562] Forked 1863 -(1863) found -[3561] Forked 1864 -(1864) found -[3560] Forked 1865 -(1865) found -[3559] Forked 1866 -(1866) found -[3558] Forked 1867 -(1867) found -[3557] Forked 1868 -(1868) found -[3556] Forked 1869 -(1869) found -[3555] Forked 1870 -(1870) found -[3554] Forked 1871 -(1871) found -[3553] Forked 1872 -(1872) found -[3552] Forked 1873 -(1873) found -[3551] Forked 1874 -(1874) found -[3550] Forked 1875 -(1875) found -[3549] Forked 1876 -(1876) found -[3548] Forked 1877 -[3547] Forked 1878 -(1877) found -(1878) found -[3546] Forked 1879 -[3545] Forked 1880 -(1879) found -(1880) found -[3544] Forked 1881 -[3543] Forked 1882 -(1881) found -(1882) found -[3542] Forked 1883 -[3541] Forked 1884 -(1883) found -(1884) found -[3540] Forked 1885 -[3539] Forked 1886 -(1885) found -(1886) found -[3538] Forked 1887 -[3537] Forked 1888 -(1887) found -(1888) found -[3536] Forked 1889 -[3535] Forked 1890 -(1889) found -(1890) found -[3534] Forked 1891 -[3533] Forked 1892 -(1891) found -(1892) found -[3532] Forked 1893 -[3531] Forked 1894 -(1893) found -(1894) found -[3530] Forked 1895 -[3529] Forked 1896 -(1896) found -(1895) found -[3528] Forked 1897 -(1897) found -[3527] Forked 1898 -(1898) found -[3526] Forked 1899 -(1899) found -[3525] Forked 1900 -(1900) found -[3524] Forked 1901 -(1901) found -[3523] Forked 1902 -(1902) found -[3522] Forked 1903 -(1903) found -[3521] Forked 1904 -(1904) found -[3520] Forked 1905 -(1905) found -[3519] Forked 1906 -(1906) found -[3518] Forked 1907 -(1907) found -[3517] Forked 1908 -(1908) found -[3516] Forked 1909 -(1909) found -[3515] Forked 1910 -(1910) found -[3514] Forked 1911 -(1911) found -[3513] Forked 1912 -(1912) found -[3512] Forked 1913 -(1913) found -[3511] Forked 1914 -(1914) found -[3510] Forked 1915 -(1915) found -[3509] Forked 1916 -(1916) found -[3508] Forked 1917 -(1917) found -[3507] Forked 1918 -(1918) found -[3506] Forked 1919 -(1919) found -[3505] Forked 1920 -(1920) found -[3504] Forked 1921 -(1921) found -[3503] Forked 1922 -(1922) found -[3502] Forked 1923 -(1923) found -[3501] Forked 1924 -(1924) found -[3500] Forked 1925 -(1925) found -[3499] Forked 1926 -(1926) found -[3498] Forked 1927 -(1927) found -[3497] Forked 1928 -(1928) found -[3496] Forked 1929 -(1929) found -[3495] Forked 1930 -(1930) found -[3494] Forked 1931 -(1931) found -[3493] Forked 1932 -(1932) found -[3492] Forked 1933 -(1933) found -[3491] Forked 1934 -(1934) found -[3490] Forked 1935 -(1935) found -[3489] Forked 1936 -(1936) found -[3488] Forked 1937 -(1937) found -[3487] Forked 1938 -(1938) found -[3486] Forked 1939 -(1939) found -[3485] Forked 1940 -(1940) found -[3484] Forked 1941 -(1941) found -[3483] Forked 1942 -(1942) found -[3482] Forked 1943 -(1943) found -[3481] Forked 1944 -(1944) found -[3480] Forked 1945 -(1945) found -[3479] Forked 1946 -(1946) found -[3478] Forked 1947 -(1947) found -[3477] Forked 1948 -(1948) found -[3476] Forked 1949 -(1949) found -[3475] Forked 1950 -[3474] Forked 1951 -(1950) found -(1951) found -[3473] Forked 1952 -[3472] Forked 1953 -(1952) found -(1953) found -[3471] Forked 1954 -[3470] Forked 1955 -(1954) found -(1955) found -[3469] Forked 1956 -[3468] Forked 1957 -(1956) found -(1957) found -[3467] Forked 1958 -[3466] Forked 1959 -(1958) found -(1959) found -[3465] Forked 1960 -[3464] Forked 1961 -(1960) found -(1961) found -[3463] Forked 1962 -[3462] Forked 1963 -(1962) found -(1963) found -[3461] Forked 1964 -[3460] Forked 1965 -(1964) found -(1965) found -[3459] Forked 1966 -[3458] Forked 1967 -(1966) found -(1967) found -[3457] Forked 1968 -[3456] Forked 1969 -(1968) found -(1969) found -[3455] Forked 1970 -[3454] Forked 1971 -(1970) found -(1971) found -[3453] Forked 1972 -[3452] Forked 1973 -(1972) found -(1973) found -[3451] Forked 1974 -[3450] Forked 1975 -(1974) found -(1975) found -[3449] Forked 1976 -[3448] Forked 1977 -(1976) found -(1977) found -[3447] Forked 1978 -[3446] Forked 1979 -(1978) found -(1979) found -[3445] Forked 1980 -[3444] Forked 1981 -(1980) found -(1981) found -[3443] Forked 1982 -[3442] Forked 1983 -(1982) found -(1983) found -[3441] Forked 1984 -[3440] Forked 1985 -(1984) found -(1985) found -[3439] Forked 1986 -[3438] Forked 1987 -(1986) found -(1987) found -[3437] Forked 1988 -(1988) found -[3436] Forked 1989 -[3435] Forked 1990 -(1989) found -(1990) found -[3434] Forked 1991 -[3433] Forked 1992 -(1991) found -(1992) found -[3432] Forked 1993 -(1993) found -[3431] Forked 1994 -(1994) found -[3430] Forked 1995 -(1995) found -[3429] Forked 1996 -(1996) found -[3428] Forked 1997 -(1997) found -[3427] Forked 1998 -(1998) found -[3426] Forked 1999 -(1999) found -[3425] Forked 2000 -(2000) found -[3424] Forked 2001 -(2001) found -[3423] Forked 2002 -(2002) found -[3422] Forked 2003 -(2003) found -[3421] Forked 2004 -(2004) found -[3420] Forked 2005 -(2005) found -[3419] Forked 2006 -(2006) found -[3418] Forked 2007 -(2007) found -[3417] Forked 2008 -(2008) found -[3416] Forked 2009 -(2009) found -[3415] Forked 2010 -(2010) found -[3414] Forked 2011 -(2011) found -[3413] Forked 2012 -(2012) found -[3412] Forked 2013 -(2013) found -[3411] Forked 2014 -(2014) found -[3410] Forked 2015 -(2015) found -[3409] Forked 2016 -(2016) found -[3408] Forked 2017 -(2017) found -[3407] Forked 2018 -(2018) found -[3406] Forked 2019 -(2019) found -[3405] Forked 2020 -(2020) found -[3404] Forked 2021 -(2021) found -[3403] Forked 2022 -(2022) found -[3402] Forked 2023 -(2023) found -[3401] Forked 2024 -(2024) found -[3400] Forked 2025 -(2025) found -[3399] Forked 2026 -(2026) found -[3398] Forked 2027 -(2027) found -[3397] Forked 2028 -(2028) found -[3396] Forked 2029 -(2029) found -[3395] Forked 2030 -(2030) found -[3394] Forked 2031 -[3393] Forked 2032 -(2031) found -(2032) found -[3392] Forked 2033 -[3391] Forked 2034 -(2033) found -(2034) found -[3390] Forked 2035 -[3389] Forked 2036 -(2035) found -(2036) found -[3388] Forked 2037 -[3387] Forked 2038 -(2037) found -(2038) found -[3386] Forked 2039 -[3385] Forked 2040 -(2039) found -(2040) found -[3384] Forked 2041 -[3383] Forked 2042 -(2041) found -(2042) found -[3382] Forked 2043 -[3381] Forked 2044 -(2043) found -(2044) found -[3380] Forked 2045 -[3379] Forked 2046 -(2045) found -(2046) found -[3378] Forked 2047 -[3377] Forked 2048 -(2047) found -(2048) found -[3376] Forked 2049 -[3375] Forked 2050 -(2049) found -(2050) found -[3374] Forked 2051 -[3373] Forked 2052 -(2051) found -(2052) found -[3372] Forked 2053 -[3371] Forked 2054 -(2053) found -(2054) found -[3370] Forked 2055 -[3369] Forked 2056 -(2055) found -(2056) found -[3368] Forked 2057 -[3367] Forked 2058 -(2057) found -(2058) found -[3366] Forked 2059 -[3365] Forked 2060 -(2059) found -(2060) found -[3364] Forked 2061 -[3363] Forked 2062 -(2061) found -(2062) found -[3362] Forked 2063 -[3361] Forked 2064 -(2064) found -(2063) found -[3360] Forked 2065 -(2065) found -[3359] Forked 2066 -(2066) found -[3358] Forked 2067 -(2067) found -[3357] Forked 2068 -(2068) found -[3356] Forked 2070 -(2070) found -[3355] Forked 2071 -(2071) found -[3354] Forked 2072 -(2072) found -[3353] Forked 2073 -(2073) found -[3352] Forked 2074 -(2074) found -[3351] Forked 2075 -(2075) found -[3350] Forked 2076 -(2076) found -[3349] Forked 2077 -(2077) found -[3348] Forked 2078 -(2078) found -[3347] Forked 2079 -(2079) found -[3346] Forked 2080 -(2080) found -[3345] Forked 2081 -(2081) found -[3344] Forked 2082 -(2082) found -[3343] Forked 2083 -(2083) found -[3342] Forked 2084 -(2084) found -[3341] Forked 2085 -(2085) found -[3340] Forked 2086 -(2086) found -[3339] Forked 2087 -(2087) found -[3338] Forked 2088 -(2088) found -[3337] Forked 2089 -(2089) found -[3336] Forked 2090 -(2090) found -[3335] Forked 2091 -(2091) found -[3334] Forked 2092 -(2092) found -[3333] Forked 2093 -(2093) found -[3332] Forked 2094 -(2094) found -[3331] Forked 2095 -(2095) found -[3330] Forked 2096 -(2096) found -[3329] Forked 2097 -(2097) found -[3328] Forked 2098 -(2098) found -[3327] Forked 2099 -(2099) found -[3326] Forked 2100 -(2100) found -[3325] Forked 2101 -(2101) found -[3324] Forked 2102 -(2102) found -[3323] Forked 2103 -(2103) found -[3322] Forked 2104 -(2104) found -[3321] Forked 2105 -(2105) found -[3320] Forked 2106 -(2106) found -[3319] Forked 2109 -(2109) found -[3318] Forked 2110 -(2110) found -[3317] Forked 2111 -(2111) found -[3316] Forked 2112 -[3315] Forked 2113 -(2112) found -(2113) found -[3314] Forked 2114 -[3313] Forked 2115 -(2114) found -(2115) found -[3312] Forked 2116 -[3311] Forked 2117 -(2116) found -(2117) found -[3310] Forked 2118 -[3309] Forked 2119 -(2118) found -(2119) found -[3308] Forked 2120 -[3307] Forked 2121 -(2120) found -(2121) found -[3306] Forked 2122 -[3305] Forked 2123 -(2122) found -(2123) found -[3304] Forked 2124 -[3303] Forked 2125 -(2124) found -(2125) found -[3302] Forked 2126 -[3301] Forked 2127 -(2126) found -(2127) found -[3300] Forked 2128 -[3299] Forked 2129 -(2128) found -(2129) found -[3298] Forked 2130 -[3297] Forked 2131 -(2130) found -(2131) found -[3296] Forked 2132 -[3295] Forked 2133 -(2132) found -(2133) found -[3294] Forked 2134 -[3293] Forked 2135 -(2134) found -(2135) found -[3292] Forked 2136 -[3291] Forked 2137 -(2136) found -(2137) found -[3290] Forked 2138 -[3289] Forked 2139 -(2138) found -(2139) found -[3288] Forked 2140 -[3287] Forked 2141 -(2140) found -(2141) found -[3286] Forked 2142 -[3285] Forked 2143 -(2142) found -(2143) found -[3284] Forked 2144 -[3283] Forked 2145 -(2144) found -(2145) found -[3282] Forked 2146 -[3281] Forked 2147 -(2146) found -(2147) found -[3280] Forked 2148 -[3279] Forked 2149 -(2148) found -(2149) found -[3278] Forked 2150 -[3277] Forked 2151 -(2150) found -(2151) found -[3276] Forked 2152 -[3275] Forked 2153 -(2152) found -(2153) found -[3274] Forked 2154 -(2154) found -[3273] Forked 2155 -(2155) found -[3272] Forked 2156 -(2156) found -[3271] Forked 2157 -(2157) found -[3270] Forked 2158 -(2158) found -[3269] Forked 2160 -(2160) found -[3268] Forked 2161 -(2161) found -[3267] Forked 2162 -(2162) found -[3266] Forked 2163 -(2163) found -[3265] Forked 2164 -(2164) found -[3264] Forked 2165 -(2165) found -[3263] Forked 2166 -(2166) found -[3262] Forked 2167 -(2167) found -[3261] Forked 2168 -(2168) found -[3260] Forked 2169 -(2169) found -[3259] Forked 2170 -(2170) found -[3258] Forked 2171 -(2171) found -[3257] Forked 2172 -(2172) found -[3256] Forked 2173 -(2173) found -[3255] Forked 2174 -(2174) found -[3254] Forked 2175 -(2175) found -[3253] Forked 2176 -(2176) found -[3252] Forked 2177 -(2177) found -[3251] Forked 2178 -(2178) found -[3250] Forked 2179 -(2179) found -[3249] Forked 2180 -(2180) found -[3248] Forked 2181 -(2181) found -[3247] Forked 2182 -(2182) found -[3246] Forked 2183 -(2183) found -[3245] Forked 2184 -(2184) found -[3244] Forked 2185 -(2185) found -[3243] Forked 2186 -(2186) found -[3242] Forked 2187 -(2187) found -[3241] Forked 2188 -(2188) found -[3240] Forked 2189 -(2189) found -[3239] Forked 2190 -(2190) found -[3238] Forked 2191 -(2191) found -[3237] Forked 2192 -(2192) found -[3236] Forked 2193 -[3235] Forked 2194 -(2193) found -(2194) found -[3234] Forked 2195 -[3233] Forked 2196 -(2195) found -(2196) found -[3232] Forked 2197 -[3231] Forked 2198 -(2197) found -(2198) found -[3230] Forked 2199 -[3229] Forked 2200 -(2199) found -(2200) found -[3228] Forked 2201 -[3227] Forked 2202 -(2201) found -(2202) found -[3226] Forked 2203 -[3225] Forked 2204 -(2203) found -(2204) found -[3224] Forked 2205 -[3223] Forked 2206 -(2205) found -(2206) found -[3222] Forked 2207 -[3221] Forked 2208 -(2207) found -(2208) found -[3220] Forked 2209 -[3219] Forked 2210 -(2209) found -(2210) found -[3218] Forked 2211 -[3217] Forked 2212 -(2211) found -(2212) found -[3216] Forked 2213 -[3215] Forked 2214 -(2213) found -(2214) found -[3214] Forked 2215 -[3213] Forked 2216 -(2215) found -(2216) found -[3212] Forked 2217 -[3211] Forked 2218 -(2217) found -(2218) found -[3210] Forked 2219 -[3209] Forked 2220 -(2219) found -(2220) found -[3208] Forked 2221 -[3207] Forked 2222 -(2221) found -(2222) found -[3206] Forked 2223 -[3205] Forked 2224 -(2223) found -(2224) found -[3204] Forked 2225 -[3203] Forked 2226 -(2225) found -(2226) found -[3202] Forked 2227 -[3201] Forked 2228 -(2227) found -(2228) found -[3200] Forked 2229 -[3199] Forked 2230 -(2229) found -(2230) found -[3198] Forked 2231 -[3197] Forked 2232 -(2231) found -(2232) found -[3196] Forked 2233 -[3195] Forked 2234 -(2234) found -(2233) found -[3194] Forked 2235 -(2235) found -[3193] Forked 2236 -(2236) found -[3192] Forked 2237 -(2237) found -[3191] Forked 2238 -(2238) found -[3190] Forked 2239 -(2239) found -[3189] Forked 2240 -(2240) found -[3188] Forked 2241 -(2241) found -[3187] Forked 2242 -(2242) found -[3186] Forked 2243 -(2243) found -[3185] Forked 2244 -(2244) found -[3184] Forked 2245 -(2245) found -[3183] Forked 2246 -(2246) found -[3182] Forked 2247 -(2247) found -[3181] Forked 2248 -(2248) found -[3180] Forked 2249 -(2249) found -[3179] Forked 2250 -(2250) found -[3178] Forked 2251 -(2251) found -[3177] Forked 2252 -(2252) found -[3176] Forked 2253 -(2253) found -[3175] Forked 2254 -(2254) found -[3174] Forked 2255 -(2255) found -[3173] Forked 2256 -(2256) found -[3172] Forked 2257 -(2257) found -[3171] Forked 2258 -(2258) found -[3170] Forked 2259 -(2259) found -[3169] Forked 2260 -(2260) found -[3168] Forked 2261 -(2261) found -[3167] Forked 2265 -(2265) found -[3166] Forked 2266 -(2266) found -[3165] Forked 2267 -(2267) found -[3164] Forked 2268 -(2268) found -[3163] Forked 2269 -(2269) found -[3162] Forked 2270 -(2270) found -[3161] Forked 2271 -(2271) found -[3160] Forked 2272 -(2272) found -[3159] Forked 2273 -(2273) found -[3158] Forked 2274 -(2274) found -[3157] Forked 2275 -(2275) found -[3156] Forked 2276 -[3155] Forked 2277 -(2276) found -(2277) found -[3154] Forked 2278 -[3153] Forked 2279 -(2278) found -(2279) found -[3152] Forked 2280 -[3151] Forked 2281 -(2280) found -(2281) found -[3150] Forked 2282 -[3149] Forked 2283 -(2282) found -(2283) found -[3148] Forked 2284 -[3147] Forked 2285 -(2284) found -(2285) found -[3146] Forked 2286 -[3145] Forked 2287 -(2286) found -(2287) found -[3144] Forked 2288 -[3143] Forked 2289 -(2288) found -(2289) found -[3142] Forked 2290 -[3141] Forked 2291 -(2290) found -(2291) found -[3140] Forked 2292 -[3139] Forked 2293 -(2292) found -(2293) found -[3138] Forked 2294 -[3137] Forked 2295 -(2294) found -(2295) found -[3136] Forked 2296 -[3135] Forked 2297 -(2296) found -(2297) found -[3134] Forked 2298 -[3133] Forked 2299 -(2298) found -(2299) found -[3132] Forked 2300 -[3131] Forked 2301 -(2300) found -(2301) found -[3130] Forked 2302 -[3129] Forked 2303 -(2302) found -(2303) found -[3128] Forked 2304 -[3127] Forked 2305 -(2304) found -(2305) found -[3126] Forked 2306 -[3125] Forked 2307 -(2306) found -(2307) found -[3124] Forked 2308 -[3123] Forked 2309 -(2308) found -(2309) found -[3122] Forked 2310 -[3121] Forked 2311 -(2310) found -(2311) found -[3120] Forked 2312 -[3119] Forked 2313 -(2312) found -(2313) found -[3118] Forked 2314 -[3117] Forked 2315 -(2314) found -(2315) found -[3116] Forked 2316 -[3115] Forked 2317 -(2316) found -(2317) found -[3114] Forked 2318 -[3113] Forked 2319 -(2318) found -(2319) found -[3112] Forked 2320 -(2320) found -[3111] Forked 2321 -(2321) found -[3110] Forked 2322 -(2322) found -[3109] Forked 2323 -(2323) found -[3108] Forked 2324 -(2324) found -[3107] Forked 2325 -(2325) found -[3106] Forked 2326 -(2326) found -[3105] Forked 2327 -(2327) found -[3104] Forked 2328 -(2328) found -[3103] Forked 2329 -(2329) found -[3102] Forked 2330 -(2330) found -[3101] Forked 2331 -(2331) found -[3100] Forked 2332 -(2332) found -[3099] Forked 2333 -(2333) found -[3098] Forked 2334 -(2334) found -[3097] Forked 2335 -(2335) found -[3096] Forked 2336 -(2336) found -[3095] Forked 2337 -(2337) found -[3094] Forked 2338 -(2338) found -[3093] Forked 2339 -(2339) found -[3092] Forked 2340 -(2340) found -[3091] Forked 2341 -(2341) found -[3090] Forked 2342 -(2342) found -[3089] Forked 2343 -(2343) found -[3088] Forked 2344 -(2344) found -[3087] Forked 2345 -(2345) found -[3086] Forked 2346 -(2346) found -[3085] Forked 2347 -(2347) found -[3084] Forked 2348 -(2348) found -[3083] Forked 2349 -(2349) found -[3082] Forked 2350 -(2350) found -[3081] Forked 2351 -(2351) found -[3080] Forked 2352 -(2352) found -[3079] Forked 2353 -(2353) found -[3078] Forked 2354 -(2354) found -[3077] Forked 2355 -(2355) found -[3076] Forked 2356 -(2356) found -[3075] Forked 2357 -(2357) found -[3074] Forked 2358 -(2358) found -[3073] Forked 2359 -[3072] Forked 2360 -(2359) found -(2360) found -[3071] Forked 2361 -[3070] Forked 2362 -(2361) found -(2362) found -[3069] Forked 2363 -[3068] Forked 2364 -(2363) found -(2364) found -[3067] Forked 2365 -[3066] Forked 2366 -(2365) found -(2366) found -[3065] Forked 2367 -[3064] Forked 2368 -(2367) found -(2368) found -[3063] Forked 2369 -[3062] Forked 2370 -(2369) found -(2370) found -[3061] Forked 2371 -[3060] Forked 2372 -(2371) found -(2372) found -[3059] Forked 2373 -[3058] Forked 2374 -(2373) found -(2374) found -[3057] Forked 2375 -[3056] Forked 2376 -(2375) found -(2376) found -[3055] Forked 2377 -[3054] Forked 2378 -(2377) found -(2378) found -[3053] Forked 2379 -[3052] Forked 2380 -(2379) found -(2380) found -[3051] Forked 2381 -[3050] Forked 2382 -(2381) found -(2382) found -[3049] Forked 2383 -[3048] Forked 2384 -(2383) found -(2384) found -[3047] Forked 2385 -[3046] Forked 2386 -(2385) found -(2386) found -[3045] Forked 2387 -[3044] Forked 2388 -(2387) found -(2388) found -[3043] Forked 2389 -[3042] Forked 2390 -(2389) found -(2390) found -[3041] Forked 2391 -[3040] Forked 2392 -(2391) found -(2392) found -[3039] Forked 2393 -[3038] Forked 2394 -(2393) found -(2394) found -[3037] Forked 2395 -[3036] Forked 2396 -(2395) found -(2396) found -[3035] Forked 2397 -[3034] Forked 2399 -(2397) found -(2399) found -[3033] Forked 2400 -(2400) found -[3032] Forked 2401 -(2401) found -[3031] Forked 2402 -(2402) found -[3030] Forked 2404 -(2404) found -[3029] Forked 2405 -(2405) found -[3028] Forked 2406 -(2406) found -[3027] Forked 2407 -(2407) found -[3026] Forked 2408 -(2408) found -[3025] Forked 2409 -(2409) found -[3024] Forked 2410 -(2410) found -[3023] Forked 2411 -(2411) found -[3022] Forked 2412 -(2412) found -[3021] Forked 2413 -(2413) found -[3020] Forked 2414 -(2414) found -[3019] Forked 2415 -(2415) found -[3018] Forked 2416 -(2416) found -[3017] Forked 2417 -(2417) found -[3016] Forked 2418 -(2418) found -[3015] Forked 2419 -(2419) found -[3014] Forked 2420 -(2420) found -[3013] Forked 2421 -(2421) found -[3012] Forked 2422 -(2422) found -[3011] Forked 2423 -(2423) found -[3010] Forked 2424 -(2424) found -[3009] Forked 2425 -(2425) found -[3008] Forked 2426 -(2426) found -[3007] Forked 2427 -(2427) found -[3006] Forked 2428 -(2428) found -[3005] Forked 2429 -(2429) found -[3004] Forked 2430 -(2430) found -[3003] Forked 2431 -(2431) found -[3002] Forked 2432 -(2432) found -[3001] Forked 2433 -(2433) found -[3000] Forked 2434 -(2434) found -[2999] Forked 2435 -(2435) found -[2998] Forked 2436 -(2436) found -[2997] Forked 2437 -(2437) found -[2996] Forked 2438 -(2438) found -[2995] Forked 2439 -(2439) found -[2994] Forked 2440 -(2440) found -[2993] Forked 2441 -[2992] Forked 2442 -(2441) found -(2442) found -[2991] Forked 2443 -[2990] Forked 2444 -(2443) found -(2444) found -[2989] Forked 2445 -[2988] Forked 2446 -(2445) found -(2446) found -[2987] Forked 2447 -[2986] Forked 2448 -(2447) found -(2448) found -[2985] Forked 2449 -[2984] Forked 2450 -(2449) found -(2450) found -[2983] Forked 2451 -[2982] Forked 2452 -(2451) found -(2452) found -[2981] Forked 2453 -[2980] Forked 2454 -(2453) found -(2454) found -[2979] Forked 2455 -[2978] Forked 2456 -(2455) found -(2456) found -[2977] Forked 2457 -[2976] Forked 2458 -(2457) found -(2458) found -[2975] Forked 2459 -[2974] Forked 2460 -(2459) found -(2460) found -[2973] Forked 2461 -[2972] Forked 2462 -(2461) found -(2462) found -[2971] Forked 2463 -[2970] Forked 2464 -(2463) found -(2464) found -[2969] Forked 2465 -[2968] Forked 2466 -(2465) found -(2466) found -[2967] Forked 2467 -[2966] Forked 2468 -(2467) found -(2468) found -[2965] Forked 2469 -[2964] Forked 2470 -(2469) found -(2470) found -[2963] Forked 2471 -[2962] Forked 2472 -(2471) found -(2472) found -[2961] Forked 2473 -[2960] Forked 2474 -(2473) found -(2474) found -[2959] Forked 2475 -[2958] Forked 2476 -(2475) found -(2476) found -[2957] Forked 2477 -[2956] Forked 2478 -(2477) found -(2478) found -[2955] Forked 2479 -[2954] Forked 2480 -(2479) found -(2480) found -[2953] Forked 2481 -[2952] Forked 2482 -(2481) found -(2482) found -[2951] Forked 2483 -[2950] Forked 2484 -(2483) found -(2484) found -[2949] Forked 2485 -(2485) found -[2948] Forked 2486 -(2486) found -[2947] Forked 2487 -(2487) found -[2946] Forked 2488 -(2488) found -[2945] Forked 2489 -(2489) found -[2944] Forked 2490 -(2490) found -[2943] Forked 2491 -(2491) found -[2942] Forked 2492 -(2492) found -[2941] Forked 2493 -(2493) found -[2940] Forked 2494 -(2494) found -[2939] Forked 2495 -(2495) found -[2938] Forked 2496 -(2496) found -[2937] Forked 2497 -(2497) found -[2936] Forked 2498 -(2498) found -[2935] Forked 2499 -(2499) found -[2934] Forked 2500 -(2500) found -[2933] Forked 2501 -(2501) found -[2932] Forked 2502 -(2502) found -[2931] Forked 2503 -(2503) found -[2930] Forked 2504 -(2504) found -[2929] Forked 2505 -(2505) found -[2928] Forked 2506 -(2506) found -[2927] Forked 2507 -(2507) found -[2926] Forked 2508 -(2508) found -[2925] Forked 2509 -(2509) found -[2924] Forked 2510 -(2510) found -[2923] Forked 2512 -(2512) found -[2922] Forked 2513 -(2513) found -[2921] Forked 2514 -(2514) found -[2920] Forked 2515 -(2515) found -[2919] Forked 2516 -(2516) found -[2918] Forked 2517 -(2517) found -[2917] Forked 2518 -(2518) found -[2916] Forked 2519 -(2519) found -[2915] Forked 2520 -(2520) found -[2914] Forked 2521 -(2521) found -[2913] Forked 2522 -(2522) found -[2912] Forked 2523 -(2523) found -[2911] Forked 2525 -[2910] Forked 2526 -(2525) found -(2526) found -[2909] Forked 2527 -[2908] Forked 2528 -(2527) found -(2528) found -[2907] Forked 2529 -[2906] Forked 2530 -(2529) found -(2530) found -[2905] Forked 2531 -[2904] Forked 2532 -(2531) found -(2532) found -[2903] Forked 2533 -[2902] Forked 2534 -(2533) found -(2534) found -[2901] Forked 2535 -[2900] Forked 2536 -(2535) found -(2536) found -[2899] Forked 2537 -[2898] Forked 2538 -(2537) found -(2538) found -[2897] Forked 2539 -[2896] Forked 2541 -(2539) found -(2541) found -[2895] Forked 2542 -[2894] Forked 2543 -(2542) found -(2543) found -[2893] Forked 2544 -[2892] Forked 2545 -(2544) found -(2545) found -[2891] Forked 2546 -[2890] Forked 2547 -(2546) found -(2547) found -[2889] Forked 2548 -[2888] Forked 2549 -(2548) found -(2549) found -[2887] Forked 2550 -[2886] Forked 2551 -(2550) found -(2551) found -[2885] Forked 2552 -[2884] Forked 2553 -(2552) found -(2553) found -[2883] Forked 2554 -[2882] Forked 2555 -(2554) found -(2555) found -[2881] Forked 2556 -[2880] Forked 2557 -(2556) found -(2557) found -[2879] Forked 2558 -[2878] Forked 2559 -(2558) found -(2559) found -[2877] Forked 2560 -[2876] Forked 2561 -(2560) found -(2561) found -[2875] Forked 2562 -[2874] Forked 2563 -(2562) found -(2563) found -[2873] Forked 2564 -[2872] Forked 2565 -(2564) found -(2565) found -[2871] Forked 2566 -[2870] Forked 2567 -(2566) found -(2567) found -[2869] Forked 2568 -[2868] Forked 2569 -(2568) found -(2569) found -[2867] Forked 2570 -(2570) found -[2866] Forked 2571 -(2571) found -[2865] Forked 2572 -(2572) found -[2864] Forked 2573 -(2573) found -[2863] Forked 2574 -(2574) found -[2862] Forked 2575 -(2575) found -[2861] Forked 2576 -(2576) found -[2860] Forked 2577 -(2577) found -[2859] Forked 2578 -(2578) found -[2858] Forked 2579 -(2579) found -[2857] Forked 2580 -(2580) found -[2856] Forked 2581 -(2581) found -[2855] Forked 2582 -(2582) found -[2854] Forked 2583 -(2583) found -[2853] Forked 2584 -(2584) found -[2852] Forked 2585 -(2585) found -[2851] Forked 2586 -(2586) found -[2850] Forked 2587 -(2587) found -[2849] Forked 2588 -(2588) found -[2848] Forked 2589 -(2589) found -[2847] Forked 2590 -(2590) found -[2846] Forked 2591 -(2591) found -[2845] Forked 2592 -(2592) found -[2844] Forked 2593 -(2593) found -[2843] Forked 2594 -(2594) found -[2842] Forked 2595 -(2595) found -[2841] Forked 2596 -(2596) found -[2840] Forked 2597 -(2597) found -[2839] Forked 2598 -(2598) found -[2838] Forked 2599 -(2599) found -[2837] Forked 2600 -(2600) found -[2836] Forked 2601 -(2601) found -[2835] Forked 2602 -(2602) found -[2834] Forked 2603 -(2603) found -[2833] Forked 2604 -(2604) found -[2832] Forked 2605 -(2605) found -[2831] Forked 2606 -(2606) found -[2830] Forked 2607 -(2607) found -[2829] Forked 2608 -(2608) found -[2828] Forked 2609 -(2609) found -[2827] Forked 2610 -(2610) found -[2826] Forked 2611 -[2825] Forked 2612 -(2611) found -(2612) found -[2824] Forked 2613 -[2823] Forked 2614 -(2613) found -(2614) found -[2822] Forked 2615 -[2821] Forked 2616 -(2615) found -(2616) found -[2820] Forked 2617 -[2819] Forked 2618 -(2617) found -(2618) found -[2818] Forked 2619 -[2817] Forked 2620 -(2619) found -(2620) found -[2816] Forked 2621 -[2815] Forked 2622 -(2621) found -(2622) found -[2814] Forked 2623 -[2813] Forked 2624 -(2623) found -(2624) found -[2812] Forked 2625 -[2811] Forked 2626 -(2625) found -(2626) found -[2810] Forked 2627 -[2809] Forked 2628 -(2627) found -(2628) found -[2808] Forked 2629 -[2807] Forked 2630 -(2629) found -(2630) found -[2806] Forked 2631 -[2805] Forked 2632 -(2631) found -(2632) found -[2804] Forked 2633 -[2803] Forked 2634 -(2633) found -(2634) found -[2802] Forked 2635 -[2801] Forked 2636 -(2635) found -(2636) found -[2800] Forked 2637 -[2799] Forked 2638 -(2637) found -(2638) found -[2798] Forked 2639 -[2797] Forked 2640 -(2639) found -(2640) found -[2796] Forked 2641 -[2795] Forked 2642 -(2641) found -(2642) found -[2794] Forked 2643 -[2793] Forked 2644 -(2643) found -(2644) found -[2792] Forked 2645 -[2791] Forked 2646 -(2645) found -(2646) found -[2790] Forked 2647 -[2789] Forked 2648 -(2647) found -(2648) found -[2788] Forked 2649 -[2787] Forked 2650 -(2649) found -(2650) found -[2786] Forked 2651 -(2651) found -[2785] Forked 2652 -(2652) found -[2784] Forked 2653 -(2653) found -[2783] Forked 2654 -(2654) found -[2782] Forked 2655 -(2655) found -[2781] Forked 2659 -(2659) found -[2780] Forked 2662 -(2662) found -[2779] Forked 2663 -(2663) found -[2778] Forked 2664 -(2664) found -[2777] Forked 2665 -(2665) found -[2776] Forked 2666 -(2666) found -[2775] Forked 2669 -(2669) found -[2774] Forked 2670 -(2670) found -[2773] Forked 2671 -(2671) found -[2772] Forked 2672 -(2672) found -[2771] Forked 2673 -(2673) found -[2770] Forked 2674 -(2674) found -[2769] Forked 2675 -(2675) found -[2768] Forked 2676 -(2676) found -[2767] Forked 2677 -(2677) found -[2766] Forked 2678 -(2678) found -[2765] Forked 2679 -(2679) found -[2764] Forked 2680 -(2680) found -[2763] Forked 2681 -(2681) found -[2762] Forked 2682 -(2682) found -[2761] Forked 2683 -(2683) found -[2760] Forked 2684 -(2684) found -[2759] Forked 2685 -(2685) found -[2758] Forked 2686 -(2686) found -[2757] Forked 2687 -(2687) found -[2756] Forked 2688 -(2688) found -[2755] Forked 2689 -(2689) found -[2754] Forked 2690 -(2690) found -[2753] Forked 2691 -(2691) found -[2752] Forked 2692 -(2692) found -[2751] Forked 2693 -(2693) found -[2750] Forked 2694 -(2694) found -[2749] Forked 2695 -(2695) found -[2748] Forked 2696 -(2696) found -[2747] Forked 2697 -[2746] Forked 2698 -(2697) found -(2698) found -[2745] Forked 2699 -[2744] Forked 2700 -(2699) found -(2700) found -[2743] Forked 2701 -[2742] Forked 2703 -(2701) found -(2703) found -[2741] Forked 2704 -[2740] Forked 2705 -(2704) found -(2705) found -[2739] Forked 2706 -[2738] Forked 2707 -(2706) found -(2707) found -[2737] Forked 2708 -[2736] Forked 2709 -(2708) found -(2709) found -[2735] Forked 2710 -[2734] Forked 2711 -(2710) found -(2711) found -[2733] Forked 2712 -[2732] Forked 2713 -(2712) found -(2713) found -[2731] Forked 2714 -[2730] Forked 2715 -(2714) found -(2715) found -[2729] Forked 2716 -[2728] Forked 2717 -(2716) found -(2717) found -[2727] Forked 2718 -[2726] Forked 2719 -(2718) found -(2719) found -[2725] Forked 2720 -[2724] Forked 2723 -(2720) found -(2723) found -[2723] Forked 2725 -(2725) found -[2722] Forked 2728 -[2721] Forked 2729 -(2728) found -(2729) found -[2720] Forked 2730 -[2719] Forked 2731 -(2730) found -(2731) found -[2718] Forked 2732 -[2717] Forked 2733 -(2732) found -(2733) found -[2716] Forked 2734 -[2715] Forked 2735 -(2734) found -(2735) found -[2714] Forked 2736 -[2713] Forked 2737 -(2736) found -(2737) found -[2712] Forked 2738 -[2711] Forked 2739 -(2738) found -(2739) found -[2710] Forked 2740 -[2709] Forked 2741 -(2740) found -(2741) found -[2708] Forked 2742 -[2707] Forked 2743 -(2742) found -(2743) found -[2706] Forked 2744 -[2705] Forked 2745 -(2744) found -(2745) found -[2704] Forked 2746 -(2746) found -[2703] Forked 2747 -(2747) found -[2702] Forked 2748 -(2748) found -[2701] Forked 2749 -(2749) found -[2700] Forked 2750 -(2750) found -[2699] Forked 2751 -(2751) found -[2698] Forked 2752 -(2752) found -[2697] Forked 2753 -(2753) found -[2696] Forked 2754 -(2754) found -[2695] Forked 2755 -(2755) found -[2694] Forked 2756 -(2756) found -[2693] Forked 2757 -(2757) found -[2692] Forked 2758 -(2758) found -[2691] Forked 2760 -(2760) found -[2690] Forked 2761 -(2761) found -[2689] Forked 2762 -(2762) found -[2688] Forked 2763 -(2763) found -[2687] Forked 2764 -(2764) found -[2686] Forked 2765 -(2765) found -[2685] Forked 2766 -(2766) found -[2684] Forked 2767 -(2767) found -[2683] Forked 2768 -(2768) found -[2682] Forked 2769 -(2769) found -[2681] Forked 2770 -(2770) found -[2680] Forked 2771 -(2771) found -[2679] Forked 2772 -(2772) found -[2678] Forked 2773 -(2773) found -[2677] Forked 2774 -(2774) found -[2676] Forked 2775 -(2775) found -[2675] Forked 2776 -(2776) found -[2674] Forked 2777 -(2777) found -[2673] Forked 2778 -(2778) found -[2672] Forked 2779 -(2779) found -[2671] Forked 2780 -(2780) found -[2670] Forked 2781 -(2781) found -[2669] Forked 2782 -(2782) found -[2668] Forked 2783 -(2783) found -[2667] Forked 2784 -(2784) found -[2666] Forked 2785 -[2665] Forked 2786 -(2785) found -(2786) found -[2664] Forked 2787 -[2663] Forked 2788 -(2787) found -(2788) found -[2662] Forked 2789 -[2661] Forked 2790 -(2789) found -(2790) found -[2660] Forked 2791 -[2659] Forked 2792 -(2791) found -(2792) found -[2658] Forked 2793 -[2657] Forked 2794 -(2793) found -(2794) found -[2656] Forked 2795 -[2655] Forked 2796 -(2795) found -(2796) found -[2654] Forked 2797 -[2653] Forked 2798 -(2797) found -(2798) found -[2652] Forked 2799 -[2651] Forked 2800 -(2799) found -(2800) found -[2650] Forked 2801 -[2649] Forked 2802 -(2801) found -(2802) found -[2648] Forked 2803 -[2647] Forked 2804 -(2803) found -(2804) found -[2646] Forked 2805 -[2645] Forked 2806 -(2805) found -(2806) found -[2644] Forked 2807 -[2643] Forked 2808 -(2807) found -(2808) found -[2642] Forked 2809 -[2641] Forked 2810 -(2809) found -(2810) found -[2640] Forked 2811 -[2639] Forked 2812 -(2811) found -(2812) found -[2638] Forked 2813 -[2637] Forked 2814 -(2813) found -(2814) found -[2636] Forked 2815 -[2635] Forked 2816 -(2815) found -(2816) found -[2634] Forked 2817 -[2633] Forked 2818 -(2817) found -(2818) found -[2632] Forked 2819 -[2631] Forked 2820 -(2819) found -(2820) found -[2630] Forked 2821 -[2629] Forked 2822 -(2821) found -(2822) found -[2628] Forked 2823 -[2627] Forked 2824 -(2823) found -(2824) found -[2626] Forked 2825 -[2625] Forked 2826 -(2825) found -(2826) found -[2624] Forked 2827 -[2623] Forked 2830 -(2827) found -(2830) found -[2622] Forked 2831 -(2831) found -[2621] Forked 2832 -(2832) found -[2620] Forked 2833 -(2833) found -[2619] Forked 2834 -(2834) found -[2618] Forked 2835 -(2835) found -[2617] Forked 2836 -(2836) found -[2616] Forked 2837 -(2837) found -[2615] Forked 2838 -(2838) found -[2614] Forked 2839 -(2839) found -[2613] Forked 2840 -(2840) found -[2612] Forked 2841 -(2841) found -[2611] Forked 2843 -(2843) found -[2610] Forked 2844 -(2844) found -[2609] Forked 2845 -(2845) found -[2608] Forked 2846 -(2846) found -[2607] Forked 2847 -(2847) found -[2606] Forked 2848 -(2848) found -[2605] Forked 2849 -(2849) found -[2604] Forked 2850 -(2850) found -[2603] Forked 2851 -(2851) found -[2602] Forked 2852 -(2852) found -[2601] Forked 2853 -(2853) found -[2600] Forked 2854 -(2854) found -[2599] Forked 2855 -(2855) found -[2598] Forked 2856 -(2856) found -[2597] Forked 2857 -(2857) found -[2596] Forked 2858 -(2858) found -[2595] Forked 2859 -(2859) found -[2594] Forked 2860 -(2860) found -[2593] Forked 2861 -(2861) found -[2592] Forked 2862 -(2862) found -[2591] Forked 2863 -(2863) found -[2590] Forked 2864 -(2864) found -[2589] Forked 2865 -(2865) found -[2588] Forked 2866 -(2866) found -[2587] Forked 2867 -(2867) found -[2586] Forked 2868 -(2868) found -[2585] Forked 2869 -(2869) found -[2584] Forked 2870 -[2583] Forked 2871 -(2870) found -(2871) found -[2582] Forked 2872 -[2581] Forked 2873 -(2872) found -(2873) found -[2580] Forked 2874 -[2579] Forked 2875 -(2874) found -(2875) found -[2578] Forked 2876 -(2876) found -[2577] Forked 2877 -[2576] Forked 2878 -(2877) found -(2878) found -[2575] Forked 2879 -[2574] Forked 2880 -(2879) found -(2880) found -[2573] Forked 2881 -[2572] Forked 2882 -(2881) found -(2882) found -[2571] Forked 2883 -[2570] Forked 2884 -(2883) found -(2884) found -[2569] Forked 2885 -[2568] Forked 2886 -(2885) found -(2886) found -[2567] Forked 2887 -[2566] Forked 2888 -(2887) found -(2888) found -[2565] Forked 2889 -[2564] Forked 2890 -(2889) found -(2890) found -[2563] Forked 2891 -[2562] Forked 2892 -(2891) found -(2892) found -[2561] Forked 2893 -[2560] Forked 2894 -(2893) found -(2894) found -[2559] Forked 2895 -[2558] Forked 2896 -(2895) found -(2896) found -[2557] Forked 2897 -[2556] Forked 2898 -(2897) found -(2898) found -[2555] Forked 2899 -[2554] Forked 2900 -(2899) found -(2900) found -[2553] Forked 2901 -[2552] Forked 2902 -(2901) found -(2902) found -[2551] Forked 2903 -[2550] Forked 2904 -(2903) found -(2904) found -[2549] Forked 2905 -(2905) found -[2548] Forked 2906 -(2906) found -[2547] Forked 2907 -[2546] Forked 2908 -(2907) found -(2908) found -[2545] Forked 2909 -[2544] Forked 2910 -(2909) found -(2910) found -[2543] Forked 2911 -[2542] Forked 2912 -(2911) found -(2912) found -[2541] Forked 2913 -[2540] Forked 2914 -(2913) found -(2914) found -[2539] Forked 2915 -[2538] Forked 2916 -(2915) found -(2916) found -[2537] Forked 2917 -[2536] Forked 2918 -(2917) found -(2918) found -[2535] Forked 2919 -[2534] Forked 2920 -(2919) found -(2920) found -[2533] Forked 2921 -[2532] Forked 2922 -(2921) found -(2922) found -[2531] Forked 2923 -[2530] Forked 2924 -(2923) found -(2924) found -[2529] Forked 2925 -[2528] Forked 2926 -(2925) found -(2926) found -[2527] Forked 2927 -[2526] Forked 2928 -(2927) found -(2928) found -[2525] Forked 2929 -[2524] Forked 2930 -(2929) found -(2930) found -[2523] Forked 2932 -[2522] Forked 2933 -(2932) found -(2933) found -[2521] Forked 2934 -[2520] Forked 2935 -(2934) found -(2935) found -[2519] Forked 2936 -[2518] Forked 2937 -(2936) found -(2937) found -[2517] Forked 2938 -[2516] Forked 2939 -(2938) found -(2939) found -[2515] Forked 2940 -[2514] Forked 2941 -(2940) found -(2941) found -[2513] Forked 2942 -[2512] Forked 2943 -(2942) found -(2943) found -[2511] Forked 2944 -[2510] Forked 2945 -(2944) found -(2945) found -[2509] Forked 2946 -[2508] Forked 2947 -(2946) found -(2947) found -[2507] Forked 2948 -[2506] Forked 2949 -(2948) found -(2949) found -[2505] Forked 2950 -[2504] Forked 2951 -(2950) found -(2951) found -[2503] Forked 2952 -[2502] Forked 2953 -(2952) found -(2953) found -[2501] Forked 2956 -[2500] Forked 2957 -(2956) found -(2957) found -[2499] Forked 2958 -[2498] Forked 2959 -(2958) found -(2959) found -[2497] Forked 2960 -[2496] Forked 2961 -(2960) found -(2961) found -[2495] Forked 2962 -[2494] Forked 2963 -(2962) found -(2963) found -[2493] Forked 2964 -[2492] Forked 2965 -(2964) found -(2965) found -[2491] Forked 2966 -[2490] Forked 2967 -(2966) found -(2967) found -[2489] Forked 2968 -[2488] Forked 2969 -(2968) found -(2969) found -[2487] Forked 2970 -[2486] Forked 2971 -(2970) found -(2971) found -[2485] Forked 2972 -[2484] Forked 2973 -(2972) found -(2973) found -[2483] Forked 2974 -[2482] Forked 2975 -(2974) found -(2975) found -[2481] Forked 2976 -[2480] Forked 2977 -(2976) found -(2977) found -[2479] Forked 2978 -[2478] Forked 2979 -(2978) found -(2979) found -[2477] Forked 2980 -[2476] Forked 2981 -(2980) found -(2981) found -[2475] Forked 2983 -[2474] Forked 2984 -(2983) found -(2984) found -[2473] Forked 2987 -[2472] Forked 2992 -(2987) found -(2992) found -[2471] Forked 3049 -[2470] Forked 3050 -(3049) found -(3050) found -[2469] Forked 3051 -[2468] Forked 3052 -(3051) found -(3052) found -[2467] Forked 3053 -[2466] Forked 3054 -(3053) found -(3054) found -[2465] Forked 3055 -[2464] Forked 3056 -(3055) found -(3056) found -[2463] Forked 3057 -[2462] Forked 3058 -(3057) found -(3058) found -[2461] Forked 3059 -[2460] Forked 3060 -(3059) found -(3060) found -[2459] Forked 3061 -[2458] Forked 3062 -(3061) found -(3062) found -[2457] Forked 3063 -[2456] Forked 3064 -(3063) found -(3064) found -[2455] Forked 3065 -[2454] Forked 3066 -(3065) found -(3066) found -[2453] Forked 3067 -[2452] Forked 3068 -(3067) found -(3068) found -[2451] Forked 3069 -(3069) found -[2450] Forked 3070 -(3070) found -[2449] Forked 3071 -(3071) found -[2448] Forked 3072 -(3072) found -[2447] Forked 3073 -(3073) found -[2446] Forked 3074 -(3074) found -[2445] Forked 3075 -(3075) found -[2444] Forked 3076 -(3076) found -[2443] Forked 3077 -(3077) found -[2442] Forked 3078 -(3078) found -[2441] Forked 3079 -(3079) found -[2440] Forked 3080 -(3080) found -[2439] Forked 3081 -(3081) found -[2438] Forked 3082 -(3082) found -[2437] Forked 3083 -(3083) found -[2436] Forked 3085 -(3085) found -[2435] Forked 3086 -(3086) found -[2434] Forked 3087 -(3087) found -[2433] Forked 3088 -(3088) found -[2432] Forked 3089 -(3089) found -[2431] Forked 3090 -(3090) found -[2430] Forked 3091 -(3091) found -[2429] Forked 3093 -(3093) found -[2428] Forked 3094 -(3094) found -[2427] Forked 3095 -(3095) found -[2426] Forked 3096 -(3096) found -[2425] Forked 3097 -(3097) found -[2424] Forked 3098 -(3098) found -[2423] Forked 3099 -(3099) found -[2422] Forked 3101 -(3101) found -[2421] Forked 3102 -(3102) found -[2420] Forked 3103 -(3103) found -[2419] Forked 3104 -(3104) found -[2418] Forked 3105 -(3105) found -[2417] Forked 3106 -(3106) found -[2416] Forked 3107 -(3107) found -[2415] Forked 3108 -(3108) found -[2414] Forked 3109 -(3109) found -[2413] Forked 3110 -[2412] Forked 3112 -(3110) found -(3112) found -[2411] Forked 3113 -[2410] Forked 3114 -(3113) found -(3114) found -[2409] Forked 3115 -[2408] Forked 3116 -(3115) found -(3116) found -[2407] Forked 3117 -[2406] Forked 3118 -(3117) found -(3118) found -[2405] Forked 3119 -[2404] Forked 3120 -(3119) found -(3120) found -[2403] Forked 3121 -[2402] Forked 3123 -(3121) found -(3123) found -[2401] Forked 3124 -[2400] Forked 3126 -(3124) found -(3126) found -[2399] Forked 3128 -[2398] Forked 3129 -(3128) found -(3129) found -[2397] Forked 3130 -[2396] Forked 3131 -(3130) found -(3131) found -[2395] Forked 3132 -[2394] Forked 3133 -(3132) found -(3133) found -[2393] Forked 3134 -[2392] Forked 3135 -(3134) found -(3135) found -[2391] Forked 3136 -[2390] Forked 3137 -(3136) found -(3137) found -[2389] Forked 3138 -[2388] Forked 3139 -(3138) found -(3139) found -[2387] Forked 3140 -[2386] Forked 3141 -(3140) found -(3141) found -[2385] Forked 3142 -[2384] Forked 3143 -(3142) found -(3143) found -[2383] Forked 3144 -[2382] Forked 3145 -(3144) found -(3145) found -[2381] Forked 3147 -[2380] Forked 3148 -(3147) found -(3148) found -[2379] Forked 3149 -[2378] Forked 3150 -(3149) found -(3150) found -[2377] Forked 3151 -[2376] Forked 3152 -(3151) found -(3152) found -[2375] Forked 3153 -[2374] Forked 3154 -(3153) found -(3154) found -[2373] Forked 3155 -[2372] Forked 3156 -(3155) found -(3156) found -[2371] Forked 3157 -[2370] Forked 3158 -(3157) found -(3158) found -[2369] Forked 3159 -(3159) found -[2368] Forked 3160 -(3160) found -[2367] Forked 3163 -(3163) found -[2366] Forked 3164 -(3164) found -[2365] Forked 3165 -(3165) found -[2364] Forked 3166 -(3166) found -[2363] Forked 3167 -(3167) found -[2362] Forked 3168 -(3168) found -[2361] Forked 3169 -(3169) found -[2360] Forked 3170 -(3170) found -[2359] Forked 3171 -(3171) found -[2358] Forked 3172 -(3172) found -[2357] Forked 3173 -(3173) found -[2356] Forked 3174 -(3174) found -[2355] Forked 3175 -(3175) found -[2354] Forked 3176 -(3176) found -[2353] Forked 3177 -(3177) found -[2352] Forked 3178 -(3178) found -[2351] Forked 3179 -(3179) found -[2350] Forked 3180 -(3180) found -[2349] Forked 3181 -(3181) found -[2348] Forked 3182 -(3182) found -[2347] Forked 3183 -(3183) found -[2346] Forked 3184 -(3184) found -[2345] Forked 3185 -(3185) found -[2344] Forked 3186 -(3186) found -[2343] Forked 3187 -(3187) found -[2342] Forked 3188 -(3188) found -[2341] Forked 3189 -(3189) found -[2340] Forked 3190 -(3190) found -[2339] Forked 3191 -(3191) found -[2338] Forked 3192 -(3192) found -[2337] Forked 3195 -(3195) found -[2336] Forked 3196 -(3196) found -[2335] Forked 3197 -(3197) found -[2334] Forked 3198 -(3198) found -[2333] Forked 3199 -(3199) found -[2332] Forked 3200 -(3200) found -[2331] Forked 3201 -[2330] Forked 3202 -(3201) found -(3202) found -[2329] Forked 3203 -[2328] Forked 3204 -(3203) found -(3204) found -[2327] Forked 3205 -[2326] Forked 3206 -(3205) found -(3206) found -[2325] Forked 3207 -[2324] Forked 3208 -(3207) found -(3208) found -[2323] Forked 3209 -[2322] Forked 3210 -(3209) found -(3210) found -[2321] Forked 3211 -[2320] Forked 3212 -(3211) found -(3212) found -[2319] Forked 3213 -[2318] Forked 3214 -(3213) found -(3214) found -[2317] Forked 3215 -[2316] Forked 3216 -(3215) found -(3216) found -[2315] Forked 3217 -[2314] Forked 3218 -(3217) found -(3218) found -[2313] Forked 3219 -[2312] Forked 3220 -(3219) found -(3220) found -[2311] Forked 3221 -[2310] Forked 3222 -(3221) found -(3222) found -[2309] Forked 3223 -[2308] Forked 3224 -(3223) found -(3224) found -[2307] Forked 3225 -[2306] Forked 3227 -(3225) found -(3227) found -[2305] Forked 3228 -[2304] Forked 3229 -(3228) found -(3229) found -[2303] Forked 3230 -[2302] Forked 3231 -(3230) found -(3231) found -[2301] Forked 3232 -[2300] Forked 3233 -(3232) found -(3233) found -[2299] Forked 3234 -[2298] Forked 3235 -(3234) found -(3235) found -[2297] Forked 3236 -[2296] Forked 3237 -(3236) found -(3237) found -[2295] Forked 3238 -[2294] Forked 3239 -(3238) found -(3239) found -[2293] Forked 3240 -[2292] Forked 3241 -(3240) found -(3241) found -[2291] Forked 3242 -[2290] Forked 3243 -(3242) found -(3243) found -[2289] Forked 3244 -[2288] Forked 3245 -(3244) found -(3245) found -[2287] Forked 3249 -(3249) found -[2286] Forked 3250 -(3250) found -[2285] Forked 3251 -(3251) found -[2284] Forked 3252 -(3252) found -[2283] Forked 3253 -(3253) found -[2282] Forked 3254 -(3254) found -[2281] Forked 3255 -(3255) found -[2280] Forked 3256 -(3256) found -[2279] Forked 3257 -(3257) found -[2278] Forked 3258 -(3258) found -[2277] Forked 3259 -(3259) found -[2276] Forked 3260 -(3260) found -[2275] Forked 3261 -(3261) found -[2274] Forked 3262 -(3262) found -[2273] Forked 3263 -(3263) found -[2272] Forked 3264 -(3264) found -[2271] Forked 3265 -(3265) found -[2270] Forked 3266 -(3266) found -[2269] Forked 3267 -(3267) found -[2268] Forked 3268 -(3268) found -[2267] Forked 3269 -(3269) found -[2266] Forked 3270 -(3270) found -[2265] Forked 3271 -(3271) found -[2264] Forked 3272 -(3272) found -[2263] Forked 3273 -(3273) found -[2262] Forked 3274 -(3274) found -[2261] Forked 3275 -(3275) found -[2260] Forked 3276 -(3276) found -[2259] Forked 3277 -(3277) found -[2258] Forked 3278 -(3278) found -[2257] Forked 3279 -(3279) found -[2256] Forked 3280 -(3280) found -[2255] Forked 3281 -(3281) found -[2254] Forked 3282 -(3282) found -[2253] Forked 3283 -(3283) found -[2252] Forked 3284 -(3284) found -[2251] Forked 3285 -(3285) found -[2250] Forked 3286 -(3286) found -[2249] Forked 3287 -[2248] Forked 3288 -(3287) found -(3288) found -[2247] Forked 3289 -[2246] Forked 3290 -(3289) found -(3290) found -[2245] Forked 3291 -[2244] Forked 3292 -(3291) found -(3292) found -[2243] Forked 3293 -[2242] Forked 3294 -(3293) found -(3294) found -[2241] Forked 3295 -[2240] Forked 3296 -(3295) found -(3296) found -[2239] Forked 3297 -[2238] Forked 3298 -(3297) found -(3298) found -[2237] Forked 3299 -[2236] Forked 3300 -(3299) found -(3300) found -[2235] Forked 3301 -[2234] Forked 3302 -(3301) found -(3302) found -[2233] Forked 3303 -[2232] Forked 3304 -(3303) found -(3304) found -[2231] Forked 3305 -[2230] Forked 3306 -(3305) found -(3306) found -[2229] Forked 3307 -[2228] Forked 3308 -(3307) found -(3308) found -[2227] Forked 3309 -[2226] Forked 3310 -(3309) found -(3310) found -[2225] Forked 3311 -[2224] Forked 3312 -(3311) found -(3312) found -[2223] Forked 3313 -[2222] Forked 3314 -(3313) found -(3314) found -[2221] Forked 3315 -[2220] Forked 3317 -(3315) found -(3317) found -[2219] Forked 3318 -[2218] Forked 3319 -(3318) found -(3319) found -[2217] Forked 3320 -[2216] Forked 3321 -(3320) found -(3321) found -[2215] Forked 3322 -[2214] Forked 3323 -(3322) found -(3323) found -[2213] Forked 3324 -[2212] Forked 3325 -(3324) found -(3325) found -[2211] Forked 3326 -[2210] Forked 3327 -(3326) found -(3327) found -[2209] Forked 3333 -[2208] Forked 3334 -(3333) found -(3334) found -[2207] Forked 3335 -(3335) found -[2206] Forked 3336 -(3336) found -[2205] Forked 3337 -(3337) found -[2204] Forked 3338 -(3338) found -[2203] Forked 3339 -(3339) found -[2202] Forked 3340 -(3340) found -[2201] Forked 3341 -(3341) found -[2200] Forked 3342 -(3342) found -[2199] Forked 3343 -(3343) found -[2198] Forked 3344 -(3344) found -[2197] Forked 3345 -(3345) found -[2196] Forked 3347 -(3347) found -[2195] Forked 3348 -(3348) found -[2194] Forked 3349 -(3349) found -[2193] Forked 3350 -(3350) found -[2192] Forked 3351 -(3351) found -[2191] Forked 3352 -(3352) found -[2190] Forked 3353 -(3353) found -[2189] Forked 3354 -(3354) found -[2188] Forked 3355 -(3355) found -[2187] Forked 3356 -(3356) found -[2186] Forked 3357 -(3357) found -[2185] Forked 3358 -(3358) found -[2184] Forked 3359 -(3359) found -[2183] Forked 3360 -(3360) found -[2182] Forked 3361 -(3361) found -[2181] Forked 3362 -(3362) found -[2180] Forked 3363 -(3363) found -[2179] Forked 3364 -(3364) found -[2178] Forked 3365 -(3365) found -[2177] Forked 3366 -(3366) found -[2176] Forked 3367 -(3367) found -[2175] Forked 3368 -(3368) found -[2174] Forked 3369 -(3369) found -[2173] Forked 3370 -(3370) found -[2172] Forked 3371 -(3371) found -[2171] Forked 3372 -(3372) found -[2170] Forked 3373 -(3373) found -[2169] Forked 3382 -[2168] Forked 3383 -(3382) found -(3383) found -[2167] Forked 3384 -[2166] Forked 3385 -(3384) found -(3385) found -[2165] Forked 3386 -[2164] Forked 3387 -(3386) found -(3387) found -[2163] Forked 3388 -[2162] Forked 3389 -(3388) found -(3389) found -[2161] Forked 3390 -[2160] Forked 3391 -(3390) found -(3391) found -[2159] Forked 3392 -[2158] Forked 3393 -(3392) found -(3393) found -[2157] Forked 3394 -[2156] Forked 3395 -(3394) found -(3395) found -[2155] Forked 3396 -[2154] Forked 3397 -(3396) found -(3397) found -[2153] Forked 3398 -[2152] Forked 3399 -(3398) found -(3399) found -[2151] Forked 3401 -[2150] Forked 3402 -(3401) found -(3402) found -[2149] Forked 3403 -[2148] Forked 3404 -(3403) found -(3404) found -[2147] Forked 3405 -[2146] Forked 3406 -(3405) found -(3406) found -[2145] Forked 3407 -[2144] Forked 3408 -(3407) found -(3408) found -[2143] Forked 3409 -[2142] Forked 3410 -(3409) found -(3410) found -[2141] Forked 3411 -[2140] Forked 3412 -(3411) found -(3412) found -[2139] Forked 3413 -[2138] Forked 3414 -(3413) found -(3414) found -[2137] Forked 3415 -[2136] Forked 3416 -(3415) found -(3416) found -[2135] Forked 3417 -[2134] Forked 3418 -(3417) found -(3418) found -[2133] Forked 3419 -[2132] Forked 3420 -(3419) found -(3420) found -[2131] Forked 3421 -[2130] Forked 3422 -(3421) found -(3422) found -[2129] Forked 3423 -[2128] Forked 3424 -(3423) found -(3424) found -[2127] Forked 3425 -[2126] Forked 3426 -(3425) found -(3426) found -[2125] Forked 3427 -(3427) found -[2124] Forked 3428 -(3428) found -[2123] Forked 3429 -(3429) found -[2122] Forked 3430 -(3430) found -[2121] Forked 3431 -(3431) found -[2120] Forked 3432 -(3432) found -[2119] Forked 3433 -(3433) found -[2118] Forked 3434 -(3434) found -[2117] Forked 3435 -(3435) found -[2116] Forked 3436 -(3436) found -[2115] Forked 3437 -(3437) found -[2114] Forked 3438 -(3438) found -[2113] Forked 3439 -(3439) found -[2112] Forked 3440 -(3440) found -[2111] Forked 3441 -(3441) found -[2110] Forked 3442 -(3442) found -[2109] Forked 3443 -(3443) found -[2108] Forked 3444 -(3444) found -[2107] Forked 3445 -(3445) found -[2106] Forked 3446 -(3446) found -[2105] Forked 3447 -(3447) found -[2104] Forked 3448 -(3448) found -[2103] Forked 3449 -(3449) found -[2102] Forked 3450 -(3450) found -[2101] Forked 3451 -(3451) found -[2100] Forked 3452 -(3452) found -[2099] Forked 3453 -(3453) found -[2098] Forked 3454 -(3454) found -[2097] Forked 3455 -(3455) found -[2096] Forked 3456 -(3456) found -[2095] Forked 3457 -(3457) found -[2094] Forked 3458 -(3458) found -[2093] Forked 3459 -(3459) found -[2092] Forked 3460 -(3460) found -[2091] Forked 3461 -(3461) found -[2090] Forked 3462 -(3462) found -[2089] Forked 3463 -(3463) found -[2088] Forked 3464 -(3464) found -[2087] Forked 3465 -[2086] Forked 3466 -(3465) found -(3466) found -[2085] Forked 3467 -[2084] Forked 3468 -(3467) found -(3468) found -[2083] Forked 3469 -[2082] Forked 3470 -(3469) found -(3470) found -[2081] Forked 3471 -[2080] Forked 3472 -(3471) found -(3472) found -[2079] Forked 3473 -[2078] Forked 3474 -(3473) found -(3474) found -[2077] Forked 3475 -[2076] Forked 3476 -(3475) found -(3476) found -[2075] Forked 3477 -[2074] Forked 3478 -(3477) found -(3478) found -[2073] Forked 3479 -[2072] Forked 3480 -(3480) found -(3479) found -[2071] Forked 3481 -(3481) found -[2070] Forked 3482 -(3482) found -[2069] Forked 3483 -(3483) found -[2068] Forked 3484 -(3484) found -[2067] Forked 3485 -(3485) found -[2066] Forked 3486 -(3486) found -[2065] Forked 3487 -(3487) found -[2064] Forked 3488 -(3488) found -[2063] Forked 3489 -(3489) found -[2062] Forked 3490 -(3490) found -[2061] Forked 3491 -(3491) found -[2060] Forked 3492 -(3492) found -[2059] Forked 3493 -[2058] Forked 3494 -(3493) found -(3494) found -[2057] Forked 3495 -[2056] Forked 3496 -(3495) found -(3496) found -[2055] Forked 3497 -(3497) found -[2054] Forked 3498 -(3498) found -[2053] Forked 3499 -(3499) found -[2052] Forked 3500 -(3500) found -[2051] Forked 3501 -(3501) found -[2050] Forked 3502 -(3502) found -[2049] Forked 3503 -(3503) found -[2048] Forked 3504 -(3504) found -[2047] Forked 3505 -(3505) found -[2046] Forked 3506 -(3506) found -[2045] Forked 3507 -(3507) found -[2044] Forked 3508 -(3508) found -[2043] Forked 3509 -(3509) found -[2042] Forked 3510 -(3510) found -[2041] Forked 3511 -(3511) found -[2040] Forked 3512 -(3512) found -[2039] Forked 3513 -(3513) found -[2038] Forked 3514 -(3514) found -[2037] Forked 3515 -(3515) found -[2036] Forked 3516 -(3516) found -[2035] Forked 3517 -(3517) found -[2034] Forked 3518 -(3518) found -[2033] Forked 3519 -(3519) found -[2032] Forked 3520 -(3520) found -[2031] Forked 3521 -(3521) found -[2030] Forked 3522 -(3522) found -[2029] Forked 3523 -(3523) found -[2028] Forked 3524 -(3524) found -[2027] Forked 3525 -(3525) found -[2026] Forked 3526 -(3526) found -[2025] Forked 3527 -(3527) found -[2024] Forked 3528 -(3528) found -[2023] Forked 3529 -(3529) found -[2022] Forked 3530 -(3530) found -[2021] Forked 3531 -(3531) found -[2020] Forked 3532 -(3532) found -[2019] Forked 3533 -(3533) found -[2018] Forked 3534 -[2017] Forked 3535 -(3534) found -(3535) found -[2016] Forked 3536 -[2015] Forked 3537 -(3536) found -(3537) found -[2014] Forked 3538 -[2013] Forked 3539 -(3538) found -(3539) found -[2012] Forked 3540 -[2011] Forked 3541 -(3540) found -(3541) found -[2010] Forked 3542 -[2009] Forked 3543 -(3542) found -(3543) found -[2008] Forked 3544 -[2007] Forked 3545 -(3544) found -(3545) found -[2006] Forked 3546 -[2005] Forked 3548 -(3546) found -(3548) found -[2004] Forked 3549 -(3549) found -[2003] Forked 3550 -(3550) found -[2002] Forked 3551 -(3551) found -[2001] Forked 3552 -(3552) found -[2000] Forked 3553 -(3553) found -[1999] Forked 3554 -(3554) found -[1998] Forked 3555 -(3555) found -[1997] Forked 3556 -(3556) found -[1996] Forked 3557 -(3557) found -[1995] Forked 3558 -(3558) found -[1994] Forked 3559 -(3559) found -[1993] Forked 3560 -(3560) found -[1992] Forked 3561 -(3561) found -[1991] Forked 3562 -(3562) found -[1990] Forked 3563 -(3563) found -[1989] Forked 3564 -(3564) found -[1988] Forked 3565 -(3565) found -[1987] Forked 3566 -(3566) found -[1986] Forked 3567 -(3567) found -[1985] Forked 3568 -(3568) found -[1984] Forked 3569 -(3569) found -[1983] Forked 3570 -(3570) found -[1982] Forked 3571 -(3571) found -[1981] Forked 3572 -(3572) found -[1980] Forked 3573 -(3573) found -[1979] Forked 3574 -(3574) found -[1978] Forked 3575 -(3575) found -[1977] Forked 3576 -(3576) found -[1976] Forked 3577 -(3577) found -[1975] Forked 3578 -(3578) found -[1974] Forked 3579 -(3579) found -[1973] Forked 3580 -(3580) found -[1972] Forked 3581 -(3581) found -[1971] Forked 3582 -(3582) found -[1970] Forked 3583 -(3583) found -[1969] Forked 3584 -(3584) found -[1968] Forked 3585 -(3585) found -[1967] Forked 3586 -(3586) found -[1966] Forked 3587 -(3587) found -[1965] Forked 3588 -(3588) found -[1964] Forked 3589 -(3589) found -[1963] Forked 3590 -(3590) found -[1962] Forked 3591 -(3591) found -[1961] Forked 3592 -(3592) found -[1960] Forked 3593 -(3593) found -[1959] Forked 3594 -(3594) found -[1958] Forked 3595 -(3595) found -[1957] Forked 3596 -(3596) found -[1956] Forked 3597 -(3597) found -[1955] Forked 3598 -(3598) found -[1954] Forked 3599 -(3599) found -[1953] Forked 3600 -(3600) found -[1952] Forked 3601 -(3601) found -[1951] Forked 3602 -(3602) found -[1950] Forked 3603 -(3603) found -[1949] Forked 3604 -(3604) found -[1948] Forked 3605 -(3605) found -[1947] Forked 3606 -(3606) found -[1946] Forked 3607 -(3607) found -[1945] Forked 3608 -[1944] Forked 3609 -(3608) found -(3609) found -[1943] Forked 3610 -[1942] Forked 3611 -(3610) found -(3611) found -[1941] Forked 3612 -[1940] Forked 3613 -(3612) found -(3613) found -[1939] Forked 3614 -[1938] Forked 3615 -(3614) found -(3615) found -[1937] Forked 3616 -[1936] Forked 3617 -(3616) found -(3617) found -[1935] Forked 3618 -[1934] Forked 3619 -(3618) found -(3619) found -[1933] Forked 3620 -[1932] Forked 3621 -(3620) found -(3621) found -[1931] Forked 3622 -[1930] Forked 3623 -(3622) found -(3623) found -[1929] Forked 3624 -[1928] Forked 3625 -(3624) found -(3625) found -[1927] Forked 3626 -[1926] Forked 3627 -(3626) found -(3627) found -[1925] Forked 3628 -[1924] Forked 3629 -(3628) found -(3629) found -[1923] Forked 3630 -[1922] Forked 3631 -(3630) found -(3631) found -[1921] Forked 3632 -[1920] Forked 3633 -(3632) found -(3633) found -[1919] Forked 3634 -[1918] Forked 3635 -(3634) found -(3635) found -[1917] Forked 3636 -[1916] Forked 3637 -(3636) found -(3637) found -[1915] Forked 3638 -[1914] Forked 3639 -(3638) found -(3639) found -[1913] Forked 3640 -[1912] Forked 3641 -(3640) found -(3641) found -[1911] Forked 3642 -[1910] Forked 3643 -(3642) found -(3643) found -[1909] Forked 3644 -[1908] Forked 3645 -(3644) found -(3645) found -[1907] Forked 3646 -[1906] Forked 3647 -(3646) found -(3647) found -[1905] Forked 3648 -[1904] Forked 3649 -(3648) found -(3649) found -[1903] Forked 3650 -[1902] Forked 3651 -(3650) found -(3651) found -[1901] Forked 3652 -(3652) found -[1900] Forked 3653 -(3653) found -[1899] Forked 3654 -(3654) found -[1898] Forked 3655 -(3655) found -[1897] Forked 3656 -(3656) found -[1896] Forked 3658 -(3658) found -[1895] Forked 3659 -(3659) found -[1894] Forked 3660 -(3660) found -[1893] Forked 3661 -(3661) found -[1892] Forked 3662 -(3662) found -[1891] Forked 3663 -(3663) found -[1890] Forked 3664 -(3664) found -[1889] Forked 3665 -(3665) found -[1888] Forked 3666 -(3666) found -[1887] Forked 3667 -(3667) found -[1886] Forked 3669 -(3669) found -[1885] Forked 3670 -(3670) found -[1884] Forked 3671 -(3671) found -[1883] Forked 3672 -(3672) found -[1882] Forked 3673 -(3673) found -[1881] Forked 3674 -(3674) found -[1880] Forked 3675 -(3675) found -[1879] Forked 3676 -(3676) found -[1878] Forked 3677 -(3677) found -[1877] Forked 3678 -(3678) found -[1876] Forked 3679 -(3679) found -[1875] Forked 3680 -(3680) found -[1874] Forked 3681 -(3681) found -[1873] Forked 3682 -(3682) found -[1872] Forked 3683 -(3683) found -[1871] Forked 3684 -(3684) found -[1870] Forked 3685 -(3685) found -[1869] Forked 3686 -(3686) found -[1868] Forked 3687 -(3687) found -[1867] Forked 3688 -(3688) found -[1866] Forked 3689 -(3689) found -[1865] Forked 3690 -(3690) found -[1864] Forked 3691 -(3691) found -[1863] Forked 3692 -[1862] Forked 3693 -(3692) found -(3693) found -[1861] Forked 3694 -[1860] Forked 3695 -(3694) found -(3695) found -[1859] Forked 3696 -[1858] Forked 3697 -(3696) found -(3697) found -[1857] Forked 3698 -[1856] Forked 3699 -(3698) found -(3699) found -[1855] Forked 3700 -[1854] Forked 3701 -(3700) found -(3701) found -[1853] Forked 3702 -[1852] Forked 3703 -(3702) found -(3703) found -[1851] Forked 3704 -[1850] Forked 3705 -(3704) found -(3705) found -[1849] Forked 3706 -[1848] Forked 3707 -(3706) found -(3707) found -[1847] Forked 3708 -[1846] Forked 3709 -(3708) found -(3709) found -[1845] Forked 3710 -[1844] Forked 3711 -(3710) found -(3711) found -[1843] Forked 3712 -[1842] Forked 3713 -(3712) found -(3713) found -[1841] Forked 3714 -[1840] Forked 3715 -(3714) found -(3715) found -[1839] Forked 3716 -[1838] Forked 3717 -(3716) found -(3717) found -[1837] Forked 3718 -[1836] Forked 3719 -(3718) found -(3719) found -[1835] Forked 3720 -[1834] Forked 3721 -(3720) found -(3721) found -[1833] Forked 3722 -[1832] Forked 3723 -(3722) found -(3723) found -[1831] Forked 3724 -[1830] Forked 3725 -(3724) found -(3725) found -[1829] Forked 3726 -[1828] Forked 3727 -(3726) found -(3727) found -[1827] Forked 3728 -[1826] Forked 3729 -(3728) found -(3729) found -[1825] Forked 3730 -[1824] Forked 3731 -(3730) found -(3731) found -[1823] Forked 3732 -[1822] Forked 3733 -(3732) found -(3733) found -[1821] Forked 3734 -[1820] Forked 3735 -(3735) found -(3734) found -[1819] Forked 3736 -(3736) found -[1818] Forked 3737 -(3737) found -[1817] Forked 3738 -(3738) found -[1816] Forked 3739 -(3739) found -[1815] Forked 3740 -(3740) found -[1814] Forked 3741 -(3741) found -[1813] Forked 3742 -(3742) found -[1812] Forked 3743 -(3743) found -[1811] Forked 3744 -(3744) found -[1810] Forked 3745 -(3745) found -[1809] Forked 3746 -(3746) found -[1808] Forked 3747 -(3747) found -[1807] Forked 3748 -(3748) found -[1806] Forked 3749 -(3749) found -[1805] Forked 3750 -(3750) found -[1804] Forked 3751 -(3751) found -[1803] Forked 3752 -(3752) found -[1802] Forked 3753 -(3753) found -[1801] Forked 3754 -(3754) found -[1800] Forked 3755 -(3755) found -[1799] Forked 3756 -(3756) found -[1798] Forked 3757 -(3757) found -[1797] Forked 3758 -(3758) found -[1796] Forked 3759 -(3759) found -[1795] Forked 3760 -(3760) found -[1794] Forked 3761 -(3761) found -[1793] Forked 3762 -(3762) found -[1792] Forked 3763 -(3763) found -[1791] Forked 3764 -(3764) found -[1790] Forked 3765 -(3765) found -[1789] Forked 3766 -(3766) found -[1788] Forked 3767 -(3767) found -[1787] Forked 3768 -(3768) found -[1786] Forked 3769 -(3769) found -[1785] Forked 3770 -(3770) found -[1784] Forked 3771 -(3771) found -[1783] Forked 3772 -(3772) found -[1782] Forked 3773 -(3773) found -[1781] Forked 3774 -[1780] Forked 3775 -(3774) found -(3775) found -[1779] Forked 3776 -[1778] Forked 3777 -(3776) found -(3777) found -[1777] Forked 3778 -[1776] Forked 3779 -(3778) found -(3779) found -[1775] Forked 3780 -[1774] Forked 3781 -(3780) found -(3781) found -[1773] Forked 3782 -[1772] Forked 3783 -(3782) found -(3783) found -[1771] Forked 3784 -[1770] Forked 3785 -(3784) found -(3785) found -[1769] Forked 3786 -[1768] Forked 3787 -(3786) found -(3787) found -[1767] Forked 3788 -[1766] Forked 3789 -(3788) found -(3789) found -[1765] Forked 3790 -[1764] Forked 3791 -(3790) found -(3791) found -[1763] Forked 3792 -[1762] Forked 3793 -(3792) found -(3793) found -[1761] Forked 3794 -[1760] Forked 3795 -(3794) found -(3795) found -[1759] Forked 3796 -[1758] Forked 3797 -(3796) found -(3797) found -[1757] Forked 3798 -[1756] Forked 3799 -(3798) found -(3799) found -[1755] Forked 3800 -[1754] Forked 3801 -(3800) found -(3801) found -[1753] Forked 3802 -[1752] Forked 3803 -(3802) found -(3803) found -[1751] Forked 3804 -[1750] Forked 3805 -(3804) found -(3805) found -[1749] Forked 3806 -[1748] Forked 3807 -(3806) found -(3807) found -[1747] Forked 3808 -[1746] Forked 3809 -(3808) found -(3809) found -[1745] Forked 3810 -[1744] Forked 3811 -(3810) found -(3811) found -[1743] Forked 3812 -[1742] Forked 3814 -(3812) found -(3814) found -[1741] Forked 3815 -[1740] Forked 3816 -(3815) found -(3816) found -[1739] Forked 3817 -(3817) found -[1738] Forked 3818 -(3818) found -[1737] Forked 3819 -(3819) found -[1736] Forked 3820 -(3820) found -[1735] Forked 3821 -(3821) found -[1734] Forked 3822 -(3822) found -[1733] Forked 3823 -(3823) found -[1732] Forked 3824 -(3824) found -[1731] Forked 3825 -(3825) found -[1730] Forked 3826 -(3826) found -[1729] Forked 3827 -(3827) found -[1728] Forked 3828 -(3828) found -[1727] Forked 3829 -(3829) found -[1726] Forked 3830 -(3830) found -[1725] Forked 3831 -(3831) found -[1724] Forked 3832 -(3832) found -[1723] Forked 3833 -(3833) found -[1722] Forked 3834 -(3834) found -[1721] Forked 3835 -(3835) found -[1720] Forked 3836 -(3836) found -[1719] Forked 3837 -(3837) found -[1718] Forked 3838 -(3838) found -[1717] Forked 3839 -(3839) found -[1716] Forked 3840 -(3840) found -[1715] Forked 3841 -(3841) found -[1714] Forked 3842 -(3842) found -[1713] Forked 3843 -(3843) found -[1712] Forked 3844 -(3844) found -[1711] Forked 3845 -(3845) found -[1710] Forked 3846 -(3846) found -[1709] Forked 3847 -(3847) found -[1708] Forked 3848 -(3848) found -[1707] Forked 3849 -(3849) found -[1706] Forked 3850 -(3850) found -[1705] Forked 3851 -(3851) found -[1704] Forked 3852 -(3852) found -[1703] Forked 3853 -(3853) found -[1702] Forked 3854 -(3854) found -[1701] Forked 3855 -(3855) found -[1700] Forked 3856 -[1699] Forked 3857 -(3856) found -(3857) found -[1698] Forked 3858 -[1697] Forked 3859 -(3858) found -(3859) found -[1696] Forked 3860 -[1695] Forked 3861 -(3860) found -(3861) found -[1694] Forked 3862 -[1693] Forked 3863 -(3862) found -(3863) found -[1692] Forked 3864 -[1691] Forked 3865 -(3864) found -(3865) found -[1690] Forked 3866 -[1689] Forked 3867 -(3866) found -(3867) found -[1688] Forked 3868 -[1687] Forked 3869 -(3868) found -(3869) found -[1686] Forked 3870 -[1685] Forked 3871 -(3870) found -(3871) found -[1684] Forked 3872 -[1683] Forked 3873 -(3872) found -(3873) found -[1682] Forked 3874 -[1681] Forked 3875 -(3874) found -(3875) found -[1680] Forked 3876 -[1679] Forked 3877 -(3876) found -(3877) found -[1678] Forked 3878 -[1677] Forked 3879 -(3878) found -(3879) found -[1676] Forked 3880 -[1675] Forked 3881 -(3880) found -(3881) found -[1674] Forked 3882 -[1673] Forked 3883 -(3882) found -(3883) found -[1672] Forked 3884 -[1671] Forked 3885 -(3884) found -(3885) found -[1670] Forked 3886 -[1669] Forked 3887 -(3886) found -(3887) found -[1668] Forked 3888 -[1667] Forked 3889 -(3888) found -(3889) found -[1666] Forked 3890 -[1665] Forked 3891 -(3890) found -(3891) found -[1664] Forked 3892 -[1663] Forked 3893 -(3892) found -(3893) found -[1662] Forked 3894 -[1661] Forked 3896 -(3894) found -(3896) found -[1660] Forked 3897 -(3897) found -[1659] Forked 3898 -(3898) found -[1658] Forked 3899 -(3899) found -[1657] Forked 3900 -(3900) found -[1656] Forked 3901 -(3901) found -[1655] Forked 3902 -(3902) found -[1654] Forked 3903 -(3903) found -[1653] Forked 3904 -(3904) found -[1652] Forked 3905 -(3905) found -[1651] Forked 3906 -(3906) found -[1650] Forked 3907 -(3907) found -[1649] Forked 3908 -(3908) found -[1648] Forked 3909 -(3909) found -[1647] Forked 3910 -(3910) found -[1646] Forked 3911 -(3911) found -[1645] Forked 3912 -(3912) found -[1644] Forked 3913 -(3913) found -[1643] Forked 3914 -(3914) found -[1642] Forked 3915 -(3915) found -[1641] Forked 3916 -(3916) found -[1640] Forked 3917 -(3917) found -[1639] Forked 3919 -(3919) found -[1638] Forked 3920 -(3920) found -[1637] Forked 3921 -(3921) found -[1636] Forked 3922 -(3922) found -[1635] Forked 3923 -(3923) found -[1634] Forked 3924 -(3924) found -[1633] Forked 3925 -(3925) found -[1632] Forked 3926 -(3926) found -[1631] Forked 3927 -(3927) found -[1630] Forked 3928 -(3928) found -[1629] Forked 3929 -(3929) found -[1628] Forked 3930 -(3930) found -[1627] Forked 3931 -(3931) found -[1626] Forked 3932 -(3932) found -[1625] Forked 3933 -(3933) found -[1624] Forked 3934 -(3934) found -[1623] Forked 3935 -(3935) found -[1622] Forked 3936 -(3936) found -[1621] Forked 3937 -(3937) found -[1620] Forked 3938 -(3938) found -[1619] Forked 3939 -(3939) found -[1618] Forked 3940 -(3940) found -[1617] Forked 3941 -(3941) found -[1616] Forked 3942 -(3942) found -[1615] Forked 3943 -(3943) found -[1614] Forked 3944 -(3944) found -[1613] Forked 3945 -(3945) found -[1612] Forked 3946 -(3946) found -[1611] Forked 3947 -(3947) found -[1610] Forked 3948 -(3948) found -[1609] Forked 3949 -(3949) found -[1608] Forked 3950 -(3950) found -[1607] Forked 3951 -(3951) found -[1606] Forked 3952 -(3952) found -[1605] Forked 3953 -(3953) found -[1604] Forked 3954 -(3954) found -[1603] Forked 3955 -(3955) found -[1602] Forked 3956 -(3956) found -[1601] Forked 3957 -(3957) found -[1600] Forked 3958 -(3958) found -[1599] Forked 3959 -(3959) found -[1598] Forked 3960 -(3960) found -[1597] Forked 3961 -(3961) found -[1596] Forked 3962 -(3962) found -[1595] Forked 3963 -(3963) found -[1594] Forked 3964 -(3964) found -[1593] Forked 3965 -(3965) found -[1592] Forked 3966 -(3966) found -[1591] Forked 3967 -(3967) found -[1590] Forked 3968 -(3968) found -[1589] Forked 3969 -[1588] Forked 3970 -(3969) found -(3970) found -[1587] Forked 3971 -[1586] Forked 3972 -(3971) found -(3972) found -[1585] Forked 3973 -[1584] Forked 3974 -(3973) found -(3974) found -[1583] Forked 3975 -[1582] Forked 3976 -(3975) found -(3976) found -[1581] Forked 3977 -[1580] Forked 3978 -(3977) found -(3978) found -[1579] Forked 3979 -[1578] Forked 3980 -(3979) found -(3980) found -[1577] Forked 3981 -[1576] Forked 3982 -(3981) found -(3982) found -[1575] Forked 3983 -[1574] Forked 3984 -(3983) found -(3984) found -[1573] Forked 3985 -[1572] Forked 3986 -(3985) found -(3986) found -[1571] Forked 3987 -[1570] Forked 3988 -(3987) found -(3988) found -[1569] Forked 3989 -[1568] Forked 3990 -(3989) found -(3990) found -[1567] Forked 3991 -[1566] Forked 3992 -(3991) found -(3992) found -[1565] Forked 3993 -[1564] Forked 3994 -(3993) found -(3994) found -[1563] Forked 3995 -[1562] Forked 3996 -(3995) found -(3996) found -[1561] Forked 3997 -[1560] Forked 3998 -(3997) found -(3998) found -[1559] Forked 3999 -[1558] Forked 4000 -(3999) found -(4000) found -[1557] Forked 4001 -[1556] Forked 4002 -(4001) found -(4002) found -[1555] Forked 4003 -[1554] Forked 4004 -(4003) found -(4004) found -[1553] Forked 4005 -[1552] Forked 4006 -(4005) found -(4006) found -[1551] Forked 4007 -[1550] Forked 4008 -(4007) found -(4008) found -[1549] Forked 4009 -[1548] Forked 4010 -(4009) found -(4010) found -[1547] Forked 4011 -[1546] Forked 4012 -(4011) found -(4012) found -[1545] Forked 4013 -[1544] Forked 4015 -(4013) found -(4015) found -[1543] Forked 4016 -(4016) found -[1542] Forked 4017 -(4017) found -[1541] Forked 4018 -(4018) found -[1540] Forked 4019 -(4019) found -[1539] Forked 4020 -(4020) found -[1538] Forked 4021 -(4021) found -[1537] Forked 4022 -(4022) found -[1536] Forked 4023 -(4023) found -[1535] Forked 4024 -(4024) found -[1534] Forked 4025 -(4025) found -[1533] Forked 4026 -(4026) found -[1532] Forked 4028 -(4028) found -[1531] Forked 4029 -(4029) found -[1530] Forked 4030 -(4030) found -[1529] Forked 4031 -(4031) found -[1528] Forked 4032 -(4032) found -[1527] Forked 4034 -(4034) found -[1526] Forked 4035 -(4035) found -[1525] Forked 4036 -(4036) found -[1524] Forked 4037 -(4037) found -[1523] Forked 4038 -(4038) found -[1522] Forked 4039 -(4039) found -[1521] Forked 4040 -(4040) found -[1520] Forked 4041 -(4041) found -[1519] Forked 4042 -(4042) found -[1518] Forked 4043 -(4043) found -[1517] Forked 4044 -(4044) found -[1516] Forked 4045 -(4045) found -[1515] Forked 4046 -(4046) found -[1514] Forked 4047 -(4047) found -[1513] Forked 4048 -(4048) found -[1512] Forked 4049 -(4049) found -[1511] Forked 4052 -(4052) found -[1510] Forked 4053 -(4053) found -[1509] Forked 4054 -(4054) found -[1508] Forked 4055 -(4055) found -[1507] Forked 4056 -[1506] Forked 4057 -(4056) found -(4057) found -[1505] Forked 4058 -[1504] Forked 4059 -(4058) found -(4059) found -[1503] Forked 4060 -[1502] Forked 4061 -(4060) found -(4061) found -[1501] Forked 4062 -[1500] Forked 4063 -(4062) found -(4063) found -[1499] Forked 4064 -[1498] Forked 4065 -(4064) found -(4065) found -[1497] Forked 4066 -[1496] Forked 4067 -(4066) found -(4067) found -[1495] Forked 4068 -[1494] Forked 4069 -(4068) found -(4069) found -[1493] Forked 4070 -[1492] Forked 4071 -(4070) found -(4071) found -[1491] Forked 4072 -[1490] Forked 4074 -(4072) found -(4074) found -[1489] Forked 4075 -[1488] Forked 4076 -(4075) found -(4076) found -[1487] Forked 4077 -[1486] Forked 4078 -(4077) found -(4078) found -[1485] Forked 4079 -[1484] Forked 4080 -(4079) found -(4080) found -[1483] Forked 4081 -[1482] Forked 4082 -(4081) found -(4082) found -[1481] Forked 4083 -[1480] Forked 4086 -(4083) found -(4086) found -[1479] Forked 4088 -[1478] Forked 4089 -(4088) found -(4089) found -[1477] Forked 4090 -[1476] Forked 4093 -(4090) found -(4093) found -[1475] Forked 4095 -[1474] Forked 4096 -(4095) found -(4096) found -[1473] Forked 4097 -[1472] Forked 4098 -(4097) found -(4098) found -[1471] Forked 4099 -[1470] Forked 4100 -(4099) found -(4100) found -[1469] Forked 4101 -[1468] Forked 4102 -(4101) found -(4102) found -[1467] Forked 4103 -[1466] Forked 4104 -(4103) found -(4104) found -[1465] Forked 4105 -[1464] Forked 4106 -(4105) found -(4106) found -[1463] Forked 4107 -[1462] Forked 4108 -(4107) found -(4108) found -[1461] Forked 4109 -[1460] Forked 4110 -(4109) found -(4110) found -[1459] Forked 4111 -[1458] Forked 4112 -(4111) found -(4112) found -[1457] Forked 4113 -[1456] Forked 4114 -(4113) found -(4114) found -[1455] Forked 4115 -[1454] Forked 4116 -(4115) found -(4116) found -[1453] Forked 4117 -[1452] Forked 4118 -(4117) found -(4118) found -[1451] Forked 4119 -[1450] Forked 4120 -(4119) found -(4120) found -[1449] Forked 4121 -[1448] Forked 4122 -(4121) found -(4122) found -[1447] Forked 4123 -[1446] Forked 4124 -(4123) found -(4124) found -[1445] Forked 4125 -[1444] Forked 4126 -(4125) found -(4126) found -[1443] Forked 4127 -[1442] Forked 4128 -(4127) found -(4128) found -[1441] Forked 4129 -[1440] Forked 4130 -(4129) found -(4130) found -[1439] Forked 4131 -[1438] Forked 4132 -(4131) found -(4132) found -[1437] Forked 4133 -[1436] Forked 4134 -(4133) found -(4134) found -[1435] Forked 4135 -[1434] Forked 4136 -(4135) found -(4136) found -[1433] Forked 4137 -[1432] Forked 4138 -(4137) found -(4138) found -[1431] Forked 4139 -[1430] Forked 4140 -(4139) found -(4140) found -[1429] Forked 4141 -[1428] Forked 4142 -(4141) found -(4142) found -[1427] Forked 4143 -[1426] Forked 4144 -(4143) found -(4144) found -[1425] Forked 4145 -[1424] Forked 4146 -(4145) found -(4146) found -[1423] Forked 4147 -[1422] Forked 4148 -(4147) found -(4148) found -[1421] Forked 4149 -[1420] Forked 4150 -(4149) found -(4150) found -[1419] Forked 4151 -[1418] Forked 4152 -(4151) found -(4152) found -[1417] Forked 4153 -(4153) found -[1416] Forked 4154 -(4154) found -[1415] Forked 4155 -(4155) found -[1414] Forked 4156 -(4156) found -[1413] Forked 4157 -(4157) found -[1412] Forked 4158 -(4158) found -[1411] Forked 4159 -(4159) found -[1410] Forked 4160 -(4160) found -[1409] Forked 4161 -(4161) found -[1408] Forked 4162 -(4162) found -[1407] Forked 4163 -(4163) found -[1406] Forked 4164 -(4164) found -[1405] Forked 4165 -(4165) found -[1404] Forked 4166 -(4166) found -[1403] Forked 4167 -(4167) found -[1402] Forked 4168 -(4168) found -[1401] Forked 4169 -(4169) found -[1400] Forked 4170 -(4170) found -[1399] Forked 4171 -(4171) found -[1398] Forked 4172 -(4172) found -[1397] Forked 4173 -(4173) found -[1396] Forked 4174 -(4174) found -[1395] Forked 4175 -(4175) found -[1394] Forked 4176 -(4176) found -[1393] Forked 4177 -(4177) found -[1392] Forked 4178 -(4178) found -[1391] Forked 4179 -(4179) found -[1390] Forked 4180 -(4180) found -[1389] Forked 4181 -(4181) found -[1388] Forked 4182 -(4182) found -[1387] Forked 4183 -(4183) found -[1386] Forked 4184 -(4184) found -[1385] Forked 4185 -(4185) found -[1384] Forked 4186 -(4186) found -[1383] Forked 4187 -(4187) found -[1382] Forked 4188 -(4188) found -[1381] Forked 4189 -(4189) found -[1380] Forked 4190 -(4190) found -[1379] Forked 4191 -[1378] Forked 4192 -(4191) found -(4192) found -[1377] Forked 4193 -[1376] Forked 4194 -(4193) found -(4194) found -[1375] Forked 4195 -[1374] Forked 4196 -(4195) found -(4196) found -[1373] Forked 4197 -[1372] Forked 4198 -(4197) found -(4198) found -[1371] Forked 4199 -[1370] Forked 4200 -(4199) found -(4200) found -[1369] Forked 4201 -[1368] Forked 4202 -(4201) found -(4202) found -[1367] Forked 4203 -[1366] Forked 4204 -(4203) found -(4204) found -[1365] Forked 4205 -[1364] Forked 4206 -(4205) found -(4206) found -[1363] Forked 4207 -[1362] Forked 4208 -(4207) found -(4208) found -[1361] Forked 4209 -[1360] Forked 4210 -(4209) found -(4210) found -[1359] Forked 4211 -[1358] Forked 4212 -(4211) found -(4212) found -[1357] Forked 4213 -[1356] Forked 4214 -(4213) found -(4214) found -[1355] Forked 4215 -[1354] Forked 4216 -(4215) found -(4216) found -[1353] Forked 4217 -[1352] Forked 4218 -(4217) found -(4218) found -[1351] Forked 4219 -[1350] Forked 4220 -(4219) found -(4220) found -[1349] Forked 4221 -[1348] Forked 4222 -(4221) found -(4222) found -[1347] Forked 4223 -[1346] Forked 4224 -(4223) found -(4224) found -[1345] Forked 4225 -[1344] Forked 4226 -(4225) found -(4226) found -[1343] Forked 4227 -[1342] Forked 4228 -(4227) found -(4228) found -[1341] Forked 4229 -(4229) found -[1340] Forked 4230 -[1339] Forked 4231 -(4230) found -(4231) found -[1338] Forked 4232 -[1337] Forked 4233 -(4232) found -(4233) found -[1336] Forked 4234 -(4234) found -[1335] Forked 4235 -(4235) found -[1334] Forked 4236 -(4236) found -[1333] Forked 4237 -(4237) found -[1332] Forked 4238 -(4238) found -[1331] Forked 4239 -(4239) found -[1330] Forked 4240 -(4240) found -[1329] Forked 4242 -(4242) found -[1328] Forked 4243 -(4243) found -[1327] Forked 4244 -(4244) found -[1326] Forked 4245 -(4245) found -[1325] Forked 4247 -(4247) found -[1324] Forked 4248 -(4248) found -[1323] Forked 4249 -(4249) found -[1322] Forked 4250 -(4250) found -[1321] Forked 4251 -(4251) found -[1320] Forked 4252 -(4252) found -[1319] Forked 4254 -(4254) found -[1318] Forked 4255 -(4255) found -[1317] Forked 4256 -(4256) found -[1316] Forked 4257 -(4257) found -[1315] Forked 4258 -(4258) found -[1314] Forked 4259 -(4259) found -[1313] Forked 4260 -(4260) found -[1312] Forked 4261 -(4261) found -[1311] Forked 4262 -(4262) found -[1310] Forked 4263 -(4263) found -[1309] Forked 4264 -(4264) found -[1308] Forked 4265 -(4265) found -[1307] Forked 4266 -(4266) found -[1306] Forked 4267 -(4267) found -[1305] Forked 4268 -(4268) found -[1304] Forked 4269 -(4269) found -[1303] Forked 4270 -(4270) found -[1302] Forked 4271 -(4271) found -[1301] Forked 4272 -(4272) found -[1300] Forked 4273 -(4273) found -[1299] Forked 4274 -(4274) found -[1298] Forked 4275 -(4275) found -[1297] Forked 4276 -[1296] Forked 4277 -(4276) found -(4277) found -[1295] Forked 4278 -[1294] Forked 4279 -(4278) found -(4279) found -[1293] Forked 4280 -[1292] Forked 4281 -(4280) found -(4281) found -[1291] Forked 4282 -[1290] Forked 4284 -(4282) found -(4284) found -[1289] Forked 4285 -[1288] Forked 4286 -(4285) found -(4286) found -[1287] Forked 4287 -[1286] Forked 4288 -(4287) found -(4288) found -[1285] Forked 4289 -[1284] Forked 4290 -(4290) found -(4289) found -[1283] Forked 4291 -(4291) found -[1282] Forked 4292 -(4292) found -[1281] Forked 4293 -(4293) found -[1280] Forked 4294 -(4294) found -[1279] Forked 4295 -(4295) found -[1278] Forked 4296 -(4296) found -[1277] Forked 4297 -(4297) found -[1276] Forked 4298 -(4298) found -[1275] Forked 4299 -(4299) found -[1274] Forked 4300 -(4300) found -[1273] Forked 4301 -(4301) found -[1272] Forked 4302 -(4302) found -[1271] Forked 4303 -(4303) found -[1270] Forked 4304 -(4304) found -[1269] Forked 4305 -(4305) found -[1268] Forked 4306 -(4306) found -[1267] Forked 4307 -(4307) found -[1266] Forked 4308 -(4308) found -[1265] Forked 4309 -(4309) found -[1264] Forked 4310 -(4310) found -[1263] Forked 4311 -(4311) found -[1262] Forked 4312 -(4312) found -[1261] Forked 4313 -(4313) found -[1260] Forked 4314 -(4314) found -[1259] Forked 4315 -(4315) found -[1258] Forked 4316 -(4316) found -[1257] Forked 4317 -(4317) found -[1256] Forked 4318 -(4318) found -[1255] Forked 4319 -(4319) found -[1254] Forked 4320 -(4320) found -[1253] Forked 4321 -(4321) found -[1252] Forked 4322 -(4322) found -[1251] Forked 4323 -(4323) found -[1250] Forked 4324 -(4324) found -[1249] Forked 4325 -(4325) found -[1248] Forked 4326 -(4326) found -[1247] Forked 4327 -(4327) found -[1246] Forked 4328 -(4328) found -[1245] Forked 4329 -(4329) found -[1244] Forked 4330 -(4330) found -[1243] Forked 4331 -(4331) found -[1242] Forked 4332 -(4332) found -[1241] Forked 4333 -(4333) found -[1240] Forked 4334 -(4334) found -[1239] Forked 4335 -(4335) found -[1238] Forked 4336 -(4336) found -[1237] Forked 4337 -(4337) found -[1236] Forked 4338 -(4338) found -[1235] Forked 4339 -(4339) found -[1234] Forked 4340 -(4340) found -[1233] Forked 4341 -(4341) found -[1232] Forked 4342 -(4342) found -[1231] Forked 4343 -(4343) found -[1230] Forked 4344 -(4344) found -[1229] Forked 4345 -(4345) found -[1228] Forked 4346 -(4346) found -[1227] Forked 4347 -(4347) found -[1226] Forked 4348 -(4348) found -[1225] Forked 4349 -[1224] Forked 4350 -(4349) found -(4350) found -[1223] Forked 4351 -[1222] Forked 4352 -(4351) found -(4352) found -[1221] Forked 4353 -[1220] Forked 4354 -(4353) found -(4354) found -[1219] Forked 4355 -[1218] Forked 4356 -(4355) found -(4356) found -[1217] Forked 4357 -[1216] Forked 4358 -(4357) found -(4358) found -[1215] Forked 4359 -[1214] Forked 4360 -(4359) found -(4360) found -[1213] Forked 4361 -[1212] Forked 4362 -(4361) found -(4362) found -[1211] Forked 4363 -[1210] Forked 4364 -(4363) found -(4364) found -[1209] Forked 4365 -[1208] Forked 4366 -(4365) found -(4366) found -[1207] Forked 4367 -[1206] Forked 4368 -(4367) found -(4368) found -[1205] Forked 4369 -[1204] Forked 4370 -(4369) found -(4370) found -[1203] Forked 4371 -[1202] Forked 4372 -(4371) found -(4372) found -[1201] Forked 4373 -[1200] Forked 4374 -(4373) found -(4374) found -[1199] Forked 4375 -[1198] Forked 4376 -(4375) found -(4376) found -[1197] Forked 4377 -[1196] Forked 4378 -(4377) found -(4378) found -[1195] Forked 4379 -[1194] Forked 4380 -(4379) found -(4380) found -[1193] Forked 4381 -[1192] Forked 4382 -(4381) found -(4382) found -[1191] Forked 4383 -[1190] Forked 4384 -(4383) found -(4384) found -[1189] Forked 4385 -[1188] Forked 4386 -(4385) found -(4386) found -[1187] Forked 4387 -[1186] Forked 4388 -(4387) found -(4388) found -[1185] Forked 4389 -[1184] Forked 4390 -(4389) found -(4390) found -[1183] Forked 4391 -[1182] Forked 4392 -(4391) found -(4392) found -[1181] Forked 4393 -(4393) found -[1180] Forked 4394 -(4394) found -[1179] Forked 4395 -(4395) found -[1178] Forked 4396 -(4396) found -[1177] Forked 4397 -(4397) found -[1176] Forked 4398 -(4398) found -[1175] Forked 4399 -(4399) found -[1174] Forked 4400 -(4400) found -[1173] Forked 4401 -(4401) found -[1172] Forked 4402 -(4402) found -[1171] Forked 4403 -(4403) found -[1170] Forked 4404 -(4404) found -[1169] Forked 4405 -(4405) found -[1168] Forked 4406 -(4406) found -[1167] Forked 4407 -(4407) found -[1166] Forked 4408 -(4408) found -[1165] Forked 4409 -(4409) found -[1164] Forked 4410 -(4410) found -[1163] Forked 4411 -(4411) found -[1162] Forked 4412 -(4412) found -[1161] Forked 4413 -(4413) found -[1160] Forked 4414 -(4414) found -[1159] Forked 4415 -(4415) found -[1158] Forked 4416 -(4416) found -[1157] Forked 4417 -(4417) found -[1156] Forked 4418 -(4418) found -[1155] Forked 4419 -(4419) found -[1154] Forked 4420 -(4420) found -[1153] Forked 4421 -(4421) found -[1152] Forked 4422 -(4422) found -[1151] Forked 4423 -(4423) found -[1150] Forked 4424 -(4424) found -[1149] Forked 4425 -(4425) found -[1148] Forked 4426 -(4426) found -[1147] Forked 4427 -(4427) found -[1146] Forked 4428 -(4428) found -[1145] Forked 4429 -(4429) found -[1144] Forked 4430 -(4430) found -[1143] Forked 4431 -[1142] Forked 4432 -(4431) found -(4432) found -[1141] Forked 4433 -[1140] Forked 4434 -(4433) found -(4434) found -[1139] Forked 4435 -[1138] Forked 4436 -(4435) found -(4436) found -[1137] Forked 4437 -[1136] Forked 4438 -(4437) found -(4438) found -[1135] Forked 4439 -[1134] Forked 4440 -(4439) found -(4440) found -[1133] Forked 4441 -[1132] Forked 4442 -(4441) found -(4442) found -[1131] Forked 4443 -[1130] Forked 4444 -(4443) found -(4444) found -[1129] Forked 4445 -[1128] Forked 4446 -(4445) found -(4446) found -[1127] Forked 4447 -[1126] Forked 4448 -(4447) found -(4448) found -[1125] Forked 4449 -[1124] Forked 4450 -(4449) found -(4450) found -[1123] Forked 4451 -[1122] Forked 4452 -(4451) found -(4452) found -[1121] Forked 4453 -[1120] Forked 4454 -(4453) found -(4454) found -[1119] Forked 4455 -[1118] Forked 4456 -(4455) found -(4456) found -[1117] Forked 4457 -[1116] Forked 4458 -(4457) found -(4458) found -[1115] Forked 4459 -[1114] Forked 4460 -(4459) found -(4460) found -[1113] Forked 4461 -[1112] Forked 4462 -(4461) found -(4462) found -[1111] Forked 4463 -[1110] Forked 4464 -(4463) found -(4464) found -[1109] Forked 4465 -[1108] Forked 4466 -(4465) found -(4466) found -[1107] Forked 4467 -[1106] Forked 4468 -(4467) found -(4468) found -[1105] Forked 4469 -[1104] Forked 4470 -(4469) found -(4470) found -[1103] Forked 4471 -[1102] Forked 4472 -(4471) found -(4472) found -[1101] Forked 4473 -[1100] Forked 4474 -(4473) found -(4474) found -[1099] Forked 4475 -(4475) found -[1098] Forked 4476 -(4476) found -[1097] Forked 4477 -(4477) found -[1096] Forked 4478 -(4478) found -[1095] Forked 4479 -(4479) found -[1094] Forked 4480 -(4480) found -[1093] Forked 4481 -(4481) found -[1092] Forked 4482 -(4482) found -[1091] Forked 4483 -(4483) found -[1090] Forked 4484 -(4484) found -[1089] Forked 4485 -(4485) found -[1088] Forked 4486 -(4486) found -[1087] Forked 4487 -(4487) found -[1086] Forked 4488 -(4488) found -[1085] Forked 4489 -(4489) found -[1084] Forked 4490 -(4490) found -[1083] Forked 4491 -(4491) found -[1082] Forked 4492 -(4492) found -[1081] Forked 4493 -(4493) found -[1080] Forked 4494 -(4494) found -[1079] Forked 4495 -(4495) found -[1078] Forked 4496 -(4496) found -[1077] Forked 4497 -(4497) found -[1076] Forked 4498 -(4498) found -[1075] Forked 4499 -(4499) found -[1074] Forked 4500 -(4500) found -[1073] Forked 4501 -(4501) found -[1072] Forked 4502 -(4502) found -[1071] Forked 4503 -(4503) found -[1070] Forked 4504 -(4504) found -[1069] Forked 4505 -(4505) found -[1068] Forked 4506 -(4506) found -[1067] Forked 4507 -(4507) found -[1066] Forked 4508 -(4508) found -[1065] Forked 4509 -(4509) found -[1064] Forked 4510 -(4510) found -[1063] Forked 4511 -(4511) found -[1062] Forked 4512 -(4512) found -[1061] Forked 4513 -(4513) found -[1060] Forked 4514 -[1059] Forked 4515 -(4514) found -(4515) found -[1058] Forked 4516 -[1057] Forked 4517 -(4516) found -(4517) found -[1056] Forked 4518 -[1055] Forked 4519 -(4518) found -(4519) found -[1054] Forked 4520 -[1053] Forked 4521 -(4520) found -(4521) found -[1052] Forked 4522 -[1051] Forked 4523 -(4522) found -(4523) found -[1050] Forked 4524 -[1049] Forked 4525 -(4524) found -(4525) found -[1048] Forked 4526 -[1047] Forked 4527 -(4526) found -(4527) found -[1046] Forked 4528 -[1045] Forked 4529 -(4528) found -(4529) found -[1044] Forked 4530 -[1043] Forked 4531 -(4530) found -(4531) found -[1042] Forked 4532 -[1041] Forked 4533 -(4532) found -(4533) found -[1040] Forked 4534 -(4534) found -[1039] Forked 4535 -(4535) found -[1038] Forked 4536 -[1037] Forked 4537 -(4536) found -(4537) found -[1036] Forked 4538 -[1035] Forked 4539 -(4538) found -(4539) found -[1034] Forked 4540 -[1033] Forked 4541 -(4540) found -(4541) found -[1032] Forked 4542 -[1031] Forked 4543 -(4542) found -(4543) found -[1030] Forked 4544 -[1029] Forked 4545 -(4544) found -(4545) found -[1028] Forked 4546 -[1027] Forked 4547 -(4546) found -(4547) found -[1026] Forked 4548 -[1025] Forked 4549 -(4548) found -(4549) found -[1024] Forked 4550 -[1023] Forked 4551 -(4550) found -(4551) found -[1022] Forked 4552 -[1021] Forked 4553 -(4552) found -(4553) found -[1020] Forked 4554 -[1019] Forked 4555 -(4554) found -(4555) found -[1018] Forked 4556 -(4556) found -[1017] Forked 4557 -(4557) found -[1016] Forked 4558 -(4558) found -[1015] Forked 4559 -(4559) found -[1014] Forked 4560 -(4560) found -[1013] Forked 4561 -(4561) found -[1012] Forked 4562 -(4562) found -[1011] Forked 4563 -(4563) found -[1010] Forked 4564 -(4564) found -[1009] Forked 4565 -(4565) found -[1008] Forked 4566 -(4566) found -[1007] Forked 4567 -(4567) found -[1006] Forked 4568 -(4568) found -[1005] Forked 4569 -(4569) found -[1004] Forked 4570 -(4570) found -[1003] Forked 4571 -(4571) found -[1002] Forked 4572 -(4572) found -[1001] Forked 4573 -(4573) found -[1000] Forked 4574 -(4574) found -[999] Forked 4575 -(4575) found -[998] Forked 4576 -(4576) found -[997] Forked 4577 -(4577) found -[996] Forked 4578 -(4578) found -[995] Forked 4579 -(4579) found -[994] Forked 4580 -(4580) found -[993] Forked 4581 -(4581) found -[992] Forked 4582 -(4582) found -[991] Forked 4583 -(4583) found -[990] Forked 4584 -(4584) found -[989] Forked 4585 -(4585) found -[988] Forked 4586 -(4586) found -[987] Forked 4587 -(4587) found -[986] Forked 4588 -(4588) found -[985] Forked 4589 -(4589) found -[984] Forked 4590 -(4590) found -[983] Forked 4591 -(4591) found -[982] Forked 4593 -(4593) found -[981] Forked 4594 -(4594) found -[980] Forked 4595 -(4595) found -[979] Forked 4596 -[978] Forked 4597 -(4596) found -(4597) found -[977] Forked 4598 -[976] Forked 4599 -(4598) found -(4599) found -[975] Forked 4600 -[974] Forked 4601 -(4600) found -(4601) found -[973] Forked 4602 -[972] Forked 4603 -(4602) found -(4603) found -[971] Forked 4604 -[970] Forked 4605 -(4604) found -(4605) found -[969] Forked 4606 -[968] Forked 4607 -(4606) found -(4607) found -[967] Forked 4608 -[966] Forked 4609 -(4608) found -(4609) found -[965] Forked 4610 -[964] Forked 4611 -(4610) found -(4611) found -[963] Forked 4612 -[962] Forked 4613 -(4612) found -(4613) found -[961] Forked 4614 -[960] Forked 4615 -(4614) found -(4615) found -[959] Forked 4616 -[958] Forked 4617 -(4616) found -(4617) found -[957] Forked 4618 -[956] Forked 4619 -(4618) found -(4619) found -[955] Forked 4620 -[954] Forked 4621 -(4620) found -(4621) found -[953] Forked 4622 -[952] Forked 4623 -(4623) found -(4622) found -[951] Forked 4624 -(4624) found -[950] Forked 4625 -(4625) found -[949] Forked 4626 -(4626) found -[948] Forked 4627 -(4627) found -[947] Forked 4628 -(4628) found -[946] Forked 4629 -(4629) found -[945] Forked 4630 -(4630) found -[944] Forked 4631 -(4631) found -[943] Forked 4632 -(4632) found -[942] Forked 4633 -[941] Forked 4634 -(4633) found -(4634) found -[940] Forked 4635 -[939] Forked 4636 -(4636) found -(4635) found -[938] Forked 4637 -(4637) found -[937] Forked 4638 -(4638) found -[936] Forked 4639 -(4639) found -[935] Forked 4640 -(4640) found -[934] Forked 4641 -(4641) found -[933] Forked 4642 -(4642) found -[932] Forked 4643 -(4643) found -[931] Forked 4644 -(4644) found -[930] Forked 4645 -(4645) found -[929] Forked 4646 -(4646) found -[928] Forked 4647 -(4647) found -[927] Forked 4648 -(4648) found -[926] Forked 4649 -(4649) found -[925] Forked 4650 -(4650) found -[924] Forked 4651 -(4651) found -[923] Forked 4652 -(4652) found -[922] Forked 4653 -(4653) found -[921] Forked 4654 -(4654) found -[920] Forked 4655 -(4655) found -[919] Forked 4656 -(4656) found -[918] Forked 4657 -(4657) found -[917] Forked 4658 -(4658) found -[916] Forked 4659 -(4659) found -[915] Forked 4660 -(4660) found -[914] Forked 4661 -(4661) found -[913] Forked 4662 -(4662) found -[912] Forked 4663 -(4663) found -[911] Forked 4664 -(4664) found -[910] Forked 4665 -(4665) found -[909] Forked 4666 -(4666) found -[908] Forked 4667 -(4667) found -[907] Forked 4668 -(4668) found -[906] Forked 4669 -(4669) found -[905] Forked 4670 -(4670) found -[904] Forked 4671 -(4671) found -[903] Forked 4672 -(4672) found -[902] Forked 4673 -(4673) found -[901] Forked 4674 -[900] Forked 4675 -(4674) found -(4675) found -[899] Forked 4676 -[898] Forked 4677 -(4676) found -(4677) found -[897] Forked 4678 -[896] Forked 4679 -(4678) found -(4679) found -[895] Forked 4680 -[894] Forked 4681 -(4680) found -(4681) found -[893] Forked 4682 -[892] Forked 4683 -(4682) found -(4683) found -[891] Forked 4684 -[890] Forked 4685 -(4684) found -(4685) found -[889] Forked 4686 -[888] Forked 4687 -(4686) found -(4687) found -[887] Forked 4688 -[886] Forked 4689 -(4688) found -(4689) found -[885] Forked 4690 -[884] Forked 4691 -(4690) found -(4691) found -[883] Forked 4692 -[882] Forked 4693 -(4692) found -(4693) found -[881] Forked 4694 -[880] Forked 4695 -(4694) found -(4695) found -[879] Forked 4696 -[878] Forked 4697 -(4696) found -(4697) found -[877] Forked 4698 -[876] Forked 4699 -(4698) found -(4699) found -[875] Forked 4700 -[874] Forked 4701 -(4700) found -(4701) found -[873] Forked 4702 -[872] Forked 4703 -(4702) found -(4703) found -[871] Forked 4704 -[870] Forked 4705 -(4704) found -(4705) found -[869] Forked 4706 -[868] Forked 4707 -(4706) found -(4707) found -[867] Forked 4708 -[866] Forked 4709 -(4708) found -(4709) found -[865] Forked 4710 -[864] Forked 4711 -(4710) found -(4711) found -[863] Forked 4712 -[862] Forked 4713 -(4712) found -(4713) found -[861] Forked 4714 -[860] Forked 4715 -(4714) found -(4715) found -[859] Forked 4716 -[858] Forked 4717 -(4716) found -(4717) found -[857] Forked 4718 -(4718) found -[856] Forked 4719 -(4719) found -[855] Forked 4720 -(4720) found -[854] Forked 4721 -(4721) found -[853] Forked 4722 -(4722) found -[852] Forked 4723 -(4723) found -[851] Forked 4724 -(4724) found -[850] Forked 4725 -(4725) found -[849] Forked 4726 -(4726) found -[848] Forked 4727 -(4727) found -[847] Forked 4728 -(4728) found -[846] Forked 4729 -(4729) found -[845] Forked 4730 -(4730) found -[844] Forked 4731 -(4731) found -[843] Forked 4732 -(4732) found -[842] Forked 4733 -(4733) found -[841] Forked 4734 -(4734) found -[840] Forked 4735 -(4735) found -[839] Forked 4736 -(4736) found -[838] Forked 4737 -(4737) found -[837] Forked 4738 -(4738) found -[836] Forked 4739 -(4739) found -[835] Forked 4740 -(4740) found -[834] Forked 4741 -(4741) found -[833] Forked 4742 -(4742) found -[832] Forked 4743 -(4743) found -[831] Forked 4744 -(4744) found -[830] Forked 4745 -(4745) found -[829] Forked 4746 -(4746) found -[828] Forked 4747 -(4747) found -[827] Forked 4748 -(4748) found -[826] Forked 4749 -(4749) found -[825] Forked 4750 -(4750) found -[824] Forked 4751 -(4751) found -[823] Forked 4752 -(4752) found -[822] Forked 4753 -(4753) found -[821] Forked 4754 -(4754) found -[820] Forked 4755 -(4755) found -[819] Forked 4756 -(4756) found -[818] Forked 4757 -(4757) found -[817] Forked 4758 -[816] Forked 4759 -(4758) found -(4759) found -[815] Forked 4760 -[814] Forked 4761 -(4760) found -(4761) found -[813] Forked 4762 -[812] Forked 4763 -(4762) found -(4763) found -[811] Forked 4764 -[810] Forked 4765 -(4764) found -(4765) found -[809] Forked 4766 -[808] Forked 4767 -(4766) found -(4767) found -[807] Forked 4768 -[806] Forked 4769 -(4768) found -(4769) found -[805] Forked 4770 -[804] Forked 4771 -(4770) found -(4771) found -[803] Forked 4772 -[802] Forked 4773 -(4772) found -(4773) found -[801] Forked 4774 -[800] Forked 4775 -(4774) found -(4775) found -[799] Forked 4776 -[798] Forked 4777 -(4776) found -(4777) found -[797] Forked 4778 -[796] Forked 4779 -(4778) found -(4779) found -[795] Forked 4780 -[794] Forked 4781 -(4780) found -(4781) found -[793] Forked 4782 -[792] Forked 4783 -(4782) found -(4783) found -[791] Forked 4784 -[790] Forked 4785 -(4784) found -(4785) found -[789] Forked 4786 -[788] Forked 4787 -(4786) found -(4787) found -[787] Forked 4788 -[786] Forked 4789 -(4788) found -(4789) found -[785] Forked 4790 -[784] Forked 4791 -(4790) found -(4791) found -[783] Forked 4792 -[782] Forked 4793 -(4792) found -(4793) found -[781] Forked 4794 -[780] Forked 4795 -(4794) found -(4795) found -[779] Forked 4796 -[778] Forked 4797 -(4796) found -(4797) found -[777] Forked 4798 -[776] Forked 4799 -(4798) found -(4799) found -[775] Forked 4800 -[774] Forked 4801 -[773] Forked 4802 -[772] Forked 4803 -[771] Forked 4804 -[770] Forked 4805 -[769] Forked 4806 -[768] Forked 4807 -[767] Forked 4809 -(4800) found -(4801) found -(4802) found -(4803) found -(4804) found -(4805) found -(4806) found -(4807) found -(4809) found -[766] Forked 4810 -(4810) found -[765] Forked 4811 -(4811) found -[764] Forked 4812 -(4812) found -[763] Forked 4813 -(4813) found -[762] Forked 4814 -(4814) found -[761] Forked 4815 -(4815) found -[760] Forked 4816 -(4816) found -[759] Forked 4817 -(4817) found -[758] Forked 4818 -(4818) found -[757] Forked 4819 -(4819) found -[756] Forked 4820 -(4820) found -[755] Forked 4821 -(4821) found -[754] Forked 4822 -(4822) found -[753] Forked 4823 -(4823) found -[752] Forked 4824 -(4824) found -[751] Forked 4825 -(4825) found -[750] Forked 4826 -(4826) found -[749] Forked 4827 -(4827) found -[748] Forked 4828 -(4828) found -[747] Forked 4829 -(4829) found -[746] Forked 4830 -(4830) found -[745] Forked 4831 -(4831) found -[744] Forked 4832 -(4832) found -[743] Forked 4833 -(4833) found -[742] Forked 4834 -(4834) found -[741] Forked 4835 -(4835) found -[740] Forked 4836 -(4836) found -[739] Forked 4837 -(4837) found -[738] Forked 4838 -(4838) found -[737] Forked 4839 -(4839) found -[736] Forked 4840 -(4840) found -[735] Forked 4841 -(4841) found -[734] Forked 4842 -[733] Forked 4843 -(4842) found -(4843) found -[732] Forked 4844 -[731] Forked 4845 -(4844) found -(4845) found -[730] Forked 4846 -[729] Forked 4847 -(4846) found -(4847) found -[728] Forked 4848 -[727] Forked 4849 -(4848) found -(4849) found -[726] Forked 4850 -[725] Forked 4851 -(4850) found -(4851) found -[724] Forked 4852 -[723] Forked 4853 -(4852) found -(4853) found -[722] Forked 4854 -[721] Forked 4855 -(4854) found -(4855) found -[720] Forked 4856 -[719] Forked 4857 -(4856) found -(4857) found -[718] Forked 4858 -[717] Forked 4859 -(4858) found -(4859) found -[716] Forked 4860 -[715] Forked 4861 -(4860) found -(4861) found -[714] Forked 4862 -[713] Forked 4863 -(4862) found -(4863) found -[712] Forked 4864 -[711] Forked 4865 -(4864) found -(4865) found -[710] Forked 4866 -[709] Forked 4867 -(4866) found -(4867) found -[708] Forked 4868 -[707] Forked 4869 -(4868) found -(4869) found -[706] Forked 4870 -[705] Forked 4871 -(4870) found -(4871) found -[704] Forked 4872 -[703] Forked 4873 -(4872) found -(4873) found -[702] Forked 4874 -[701] Forked 4875 -(4874) found -(4875) found -[700] Forked 4876 -(4876) found -[699] Forked 4877 -[698] Forked 4878 -(4877) found -(4878) found -[697] Forked 4879 -[696] Forked 4881 -(4879) found -(4881) found -[695] Forked 4882 -(4882) found -[694] Forked 4883 -(4883) found -[693] Forked 4884 -(4884) found -[692] Forked 4885 -(4885) found -[691] Forked 4886 -(4886) found -[690] Forked 4887 -(4887) found -[689] Forked 4888 -(4888) found -[688] Forked 4889 -(4889) found -[687] Forked 4890 -(4890) found -[686] Forked 4891 -(4891) found -[685] Forked 4892 -(4892) found -[684] Forked 4893 -(4893) found -[683] Forked 4894 -(4894) found -[682] Forked 4895 -(4895) found -[681] Forked 4896 -(4896) found -[680] Forked 4897 -(4897) found -[679] Forked 4898 -(4898) found -[678] Forked 4899 -(4899) found -[677] Forked 4900 -(4900) found -[676] Forked 4901 -(4901) found -[675] Forked 4902 -(4902) found -[674] Forked 4903 -(4903) found -[673] Forked 4904 -(4904) found -[672] Forked 4905 -(4905) found -[671] Forked 4906 -(4906) found -[670] Forked 4907 -(4907) found -[669] Forked 4908 -(4908) found -[668] Forked 4909 -(4909) found -[667] Forked 4910 -(4910) found -[666] Forked 4911 -(4911) found -[665] Forked 4912 -(4912) found -[664] Forked 4913 -(4913) found -[663] Forked 4914 -(4914) found -[662] Forked 4915 -(4915) found -[661] Forked 4916 -(4916) found -[660] Forked 4917 -(4917) found -[659] Forked 4918 -(4918) found -[658] Forked 4919 -(4919) found -[657] Forked 4920 -(4920) found -[656] Forked 4921 -(4921) found -[655] Forked 4922 -(4922) found -[654] Forked 4923 -(4923) found -[653] Forked 4924 -(4924) found -[652] Forked 4925 -(4925) found -[651] Forked 4926 -(4926) found -[650] Forked 4927 -(4927) found -[649] Forked 4928 -(4928) found -[648] Forked 4929 -(4929) found -[647] Forked 4930 -(4930) found -[646] Forked 4931 -(4931) found -[645] Forked 4932 -(4932) found -[644] Forked 4933 -(4933) found -[643] Forked 4934 -(4934) found -[642] Forked 4935 -(4935) found -[641] Forked 4936 -(4936) found -[640] Forked 4937 -(4937) found -[639] Forked 4938 -(4938) found -[638] Forked 4939 -(4939) found -[637] Forked 4940 -(4940) found -[636] Forked 4941 -(4941) found -[635] Forked 4942 -(4942) found -[634] Forked 4943 -(4943) found -[633] Forked 4944 -(4944) found -[632] Forked 4945 -(4945) found -[631] Forked 4946 -(4946) found -[630] Forked 4947 -(4947) found -[629] Forked 4948 -(4948) found -[628] Forked 4949 -(4949) found -[627] Forked 4950 -(4950) found -[626] Forked 4951 -(4951) found -[625] Forked 4952 -(4952) found -[624] Forked 4953 -(4953) found -[623] Forked 4954 -(4954) found -[622] Forked 4955 -(4955) found -[621] Forked 4956 -[620] Forked 4957 -(4956) found -(4957) found -[619] Forked 4958 -[618] Forked 4959 -(4958) found -(4959) found -[617] Forked 4960 -[616] Forked 4961 -(4960) found -(4961) found -[615] Forked 4962 -[614] Forked 4963 -(4962) found -(4963) found -[613] Forked 4964 -[612] Forked 4965 -(4964) found -(4965) found -[611] Forked 4966 -[610] Forked 4967 -(4966) found -(4967) found -[609] Forked 4968 -[608] Forked 4969 -(4968) found -(4969) found -[607] Forked 4970 -[606] Forked 4971 -(4970) found -(4971) found -[605] Forked 4972 -[604] Forked 4973 -(4972) found -(4973) found -[603] Forked 4974 -[602] Forked 4975 -(4974) found -(4975) found -[601] Forked 4976 -[600] Forked 4977 -(4976) found -(4977) found -[599] Forked 4978 -[598] Forked 4979 -(4978) found -(4979) found -[597] Forked 4980 -[596] Forked 4981 -(4980) found -(4981) found -[595] Forked 4982 -[594] Forked 4983 -(4982) found -(4983) found -[593] Forked 4984 -[592] Forked 4985 -(4984) found -(4985) found -[591] Forked 4986 -[590] Forked 4987 -(4986) found -(4987) found -[589] Forked 4988 -[588] Forked 4989 -(4988) found -(4989) found -[587] Forked 4990 -[586] Forked 4991 -(4990) found -(4991) found -[585] Forked 4992 -[584] Forked 4993 -(4992) found -(4993) found -[583] Forked 4994 -[582] Forked 4995 -(4994) found -(4995) found -[581] Forked 4996 -[580] Forked 4997 -(4996) found -(4997) found -[579] Forked 4998 -[578] Forked 4999 -(4998) found -(4999) found -[577] Forked 5000 -[576] Forked 5001 -(5000) found -(5001) found -[575] Forked 5002 -(5002) found -[574] Forked 5003 -(5003) found -[573] Forked 5004 -(5004) found -[572] Forked 5005 -(5005) found -[571] Forked 5006 -(5006) found -[570] Forked 5007 -(5007) found -[569] Forked 5008 -(5008) found -[568] Forked 5009 -(5009) found -[567] Forked 5010 -(5010) found -[566] Forked 5011 -(5011) found -[565] Forked 5012 -(5012) found -[564] Forked 5013 -(5013) found -[563] Forked 5014 -(5014) found -[562] Forked 5015 -(5015) found -[561] Forked 5016 -(5016) found -[560] Forked 5017 -(5017) found -[559] Forked 5018 -(5018) found -[558] Forked 5019 -(5019) found -[557] Forked 5020 -(5020) found -[556] Forked 5021 -(5021) found -[555] Forked 5022 -(5022) found -[554] Forked 5023 -(5023) found -[553] Forked 5024 -(5024) found -[552] Forked 5025 -(5025) found -[551] Forked 5026 -(5026) found -[550] Forked 5027 -(5027) found -[549] Forked 5028 -(5028) found -[548] Forked 5029 -(5029) found -[547] Forked 5030 -(5030) found -[546] Forked 5031 -(5031) found -[545] Forked 5032 -(5032) found -[544] Forked 5033 -(5033) found -[543] Forked 5034 -(5034) found -[542] Forked 5035 -(5035) found -[541] Forked 5036 -(5036) found -[540] Forked 5037 -[539] Forked 5038 -(5037) found -(5038) found -[538] Forked 5039 -[537] Forked 5040 -(5039) found -(5040) found -[536] Forked 5041 -[535] Forked 5042 -(5041) found -(5042) found -[534] Forked 5043 -[533] Forked 5044 -(5043) found -(5044) found -[532] Forked 5045 -[531] Forked 5046 -(5045) found -(5046) found -[530] Forked 5047 -[529] Forked 5048 -(5047) found -(5048) found -[528] Forked 5049 -[527] Forked 5050 -(5049) found -(5050) found -[526] Forked 5051 -[525] Forked 5052 -(5051) found -(5052) found -[524] Forked 5053 -[523] Forked 5054 -(5053) found -(5054) found -[522] Forked 5055 -[521] Forked 5056 -(5055) found -(5056) found -[520] Forked 5057 -[519] Forked 5058 -(5057) found -(5058) found -[518] Forked 5059 -[517] Forked 5060 -(5059) found -(5060) found -[516] Forked 5061 -[515] Forked 5062 -(5061) found -(5062) found -[514] Forked 5063 -[513] Forked 5064 -(5063) found -(5064) found -[512] Forked 5065 -[511] Forked 5066 -(5065) found -(5066) found -[510] Forked 5067 -[509] Forked 5068 -(5067) found -(5068) found -[508] Forked 5069 -[507] Forked 5070 -(5069) found -(5070) found -[506] Forked 5071 -[505] Forked 5072 -(5071) found -(5072) found -[504] Forked 5073 -[503] Forked 5074 -(5073) found -(5074) found -[502] Forked 5075 -[501] Forked 5076 -(5075) found -(5076) found -[500] Forked 5077 -[499] Forked 5078 -(5077) found -(5078) found -[498] Forked 5079 -[497] Forked 5080 -(5079) found -(5080) found -[496] Forked 5081 -[495] Forked 5082 -(5081) found -(5082) found -[494] Forked 5083 -(5083) found -[493] Forked 5084 -(5084) found -[492] Forked 5085 -(5085) found -[491] Forked 5086 -(5086) found -[490] Forked 5087 -(5087) found -[489] Forked 5088 -(5088) found -[488] Forked 5089 -(5089) found -[487] Forked 5090 -(5090) found -[486] Forked 5091 -(5091) found -[485] Forked 5092 -(5092) found -[484] Forked 5093 -(5093) found -[483] Forked 5094 -(5094) found -[482] Forked 5095 -(5095) found -[481] Forked 5096 -(5096) found -[480] Forked 5097 -(5097) found -[479] Forked 5098 -(5098) found -[478] Forked 5099 -(5099) found -[477] Forked 5100 -(5100) found -[476] Forked 5101 -(5101) found -[475] Forked 5102 -(5102) found -[474] Forked 5103 -(5103) found -[473] Forked 5104 -(5104) found -[472] Forked 5105 -(5105) found -[471] Forked 5106 -(5106) found -[470] Forked 5107 -(5107) found -[469] Forked 5108 -(5108) found -[468] Forked 5109 -(5109) found -[467] Forked 5110 -(5110) found -[466] Forked 5111 -(5111) found -[465] Forked 5112 -(5112) found -[464] Forked 5113 -(5113) found -[463] Forked 5114 -(5114) found -[462] Forked 5115 -(5115) found -[461] Forked 5116 -(5116) found -[460] Forked 5117 -(5117) found -[459] Forked 5118 -(5118) found -[458] Forked 5119 -(5119) found -[457] Forked 5120 -[456] Forked 5121 -(5120) found -(5121) found -[455] Forked 5122 -[454] Forked 5123 -(5122) found -(5123) found -[453] Forked 5124 -[452] Forked 5125 -(5124) found -(5125) found -[451] Forked 5126 -[450] Forked 5127 -(5126) found -(5127) found -[449] Forked 5128 -[448] Forked 5129 -(5128) found -(5129) found -[447] Forked 5130 -[446] Forked 5131 -(5130) found -(5131) found -[445] Forked 5132 -[444] Forked 5133 -(5132) found -(5133) found -[443] Forked 5134 -[442] Forked 5135 -(5134) found -(5135) found -[441] Forked 5136 -(5136) found -[440] Forked 5137 -(5137) found -[439] Forked 5138 -(5138) found -[438] Forked 5139 -(5139) found -[437] Forked 5140 -(5140) found -[436] Forked 5141 -(5141) found -[435] Forked 5142 -(5142) found -[434] Forked 5143 -(5143) found -[433] Forked 5144 -[432] Forked 5145 -(5144) found -(5145) found -[431] Forked 5146 -[430] Forked 5147 -(5146) found -(5147) found -[429] Forked 5148 -[428] Forked 5149 -(5148) found -(5149) found -[427] Forked 5150 -[426] Forked 5151 -(5150) found -(5151) found -[425] Forked 5152 -[424] Forked 5153 -(5152) found -(5153) found -[423] Forked 5154 -[422] Forked 5155 -(5154) found -(5155) found -[421] Forked 5156 -[420] Forked 5157 -(5156) found -(5157) found -[419] Forked 5158 -[418] Forked 5159 -(5158) found -(5159) found -[417] Forked 5160 -[416] Forked 5161 -(5160) found -(5161) found -[415] Forked 5162 -[414] Forked 5164 -(5162) found -(5164) found -[413] Forked 5165 -(5165) found -[412] Forked 5166 -(5166) found -[411] Forked 5167 -(5167) found -[410] Forked 5168 -(5168) found -[409] Forked 5169 -(5169) found -[408] Forked 5170 -(5170) found -[407] Forked 5171 -(5171) found -[406] Forked 5172 -(5172) found -[405] Forked 5173 -(5173) found -[404] Forked 5174 -(5174) found -[403] Forked 5175 -(5175) found -[402] Forked 5176 -(5176) found -[401] Forked 5177 -(5177) found -[400] Forked 5178 -(5178) found -[399] Forked 5179 -(5179) found -[398] Forked 5180 -(5180) found -[397] Forked 5181 -(5181) found -[396] Forked 5182 -(5182) found -[395] Forked 5183 -(5183) found -[394] Forked 5184 -(5184) found -[393] Forked 5185 -(5185) found -[392] Forked 5186 -(5186) found -[391] Forked 5187 -(5187) found -[390] Forked 5188 -(5188) found -[389] Forked 5189 -(5189) found -[388] Forked 5190 -(5190) found -[387] Forked 5191 -(5191) found -[386] Forked 5192 -(5192) found -[385] Forked 5193 -(5193) found -[384] Forked 5194 -(5194) found -[383] Forked 5195 -(5195) found -[382] Forked 5196 -(5196) found -[381] Forked 5197 -(5197) found -[380] Forked 5198 -(5198) found -[379] Forked 5199 -[378] Forked 5200 -(5199) found -(5200) found -[377] Forked 5201 -[376] Forked 5202 -(5201) found -(5202) found -[375] Forked 5203 -[374] Forked 5204 -(5203) found -(5204) found -[373] Forked 5205 -[372] Forked 5206 -(5205) found -(5206) found -[371] Forked 5207 -[370] Forked 5208 -(5207) found -(5208) found -[369] Forked 5209 -[368] Forked 5210 -(5209) found -(5210) found -[367] Forked 5211 -[366] Forked 5212 -(5211) found -(5212) found -[365] Forked 5213 -[364] Forked 5214 -(5213) found -(5214) found -[363] Forked 5215 -[362] Forked 5216 -(5215) found -(5216) found -[361] Forked 5217 -[360] Forked 5218 -(5217) found -(5218) found -[359] Forked 5219 -[358] Forked 5220 -(5219) found -(5220) found -[357] Forked 5221 -[356] Forked 5222 -(5221) found -(5222) found -[355] Forked 5223 -[354] Forked 5224 -(5223) found -(5224) found -[353] Forked 5225 -[352] Forked 5226 -(5225) found -(5226) found -[351] Forked 5227 -[350] Forked 5228 -(5227) found -(5228) found -[349] Forked 5229 -[348] Forked 5230 -(5229) found -(5230) found -[347] Forked 5231 -[346] Forked 5232 -(5231) found -(5232) found -[345] Forked 5233 -[344] Forked 5234 -(5233) found -(5234) found -[343] Forked 5235 -[342] Forked 5236 -(5235) found -(5236) found -[341] Forked 5237 -[340] Forked 5238 -(5237) found -(5238) found -[339] Forked 5239 -[338] Forked 5240 -(5239) found -(5240) found -[337] Forked 5241 -[336] Forked 5242 -(5241) found -(5242) found -[335] Forked 5243 -[334] Forked 5244 -(5243) found -(5244) found -[333] Forked 5245 -(5245) found -[332] Forked 5246 -(5246) found -[331] Forked 5247 -(5247) found -[330] Forked 5248 -(5248) found -[329] Forked 5249 -(5249) found -[328] Forked 5250 -(5250) found -[327] Forked 5251 -(5251) found -[326] Forked 5252 -(5252) found -[325] Forked 5253 -(5253) found -[324] Forked 5254 -(5254) found -[323] Forked 5255 -(5255) found -[322] Forked 5256 -(5256) found -[321] Forked 5257 -(5257) found -[320] Forked 5258 -(5258) found -[319] Forked 5259 -(5259) found -[318] Forked 5260 -(5260) found -[317] Forked 5261 -(5261) found -[316] Forked 5262 -(5262) found -[315] Forked 5263 -(5263) found -[314] Forked 5264 -(5264) found -[313] Forked 5265 -(5265) found -[312] Forked 5266 -(5266) found -[311] Forked 5267 -(5267) found -[310] Forked 5268 -(5268) found -[309] Forked 5269 -(5269) found -[308] Forked 5270 -(5270) found -[307] Forked 5271 -(5271) found -[306] Forked 5272 -(5272) found -[305] Forked 5273 -(5273) found -[304] Forked 5274 -(5274) found -[303] Forked 5275 -(5275) found -[302] Forked 5276 -(5276) found -[301] Forked 5277 -(5277) found -[300] Forked 5278 -(5278) found -[299] Forked 5279 -(5279) found -[298] Forked 5280 -(5280) found -[297] Forked 5281 -[296] Forked 5282 -(5281) found -(5282) found -[295] Forked 5283 -[294] Forked 5284 -(5283) found -(5284) found -[293] Forked 5285 -[292] Forked 5286 -(5285) found -(5286) found -[291] Forked 5287 -[290] Forked 5288 -(5287) found -(5288) found -[289] Forked 5289 -[288] Forked 5290 -(5289) found -(5290) found -[287] Forked 5291 -[286] Forked 5292 -(5291) found -(5292) found -[285] Forked 5293 -[284] Forked 5294 -(5293) found -(5294) found -[283] Forked 5295 -[282] Forked 5296 -(5295) found -(5296) found -[281] Forked 5297 -[280] Forked 5298 -(5297) found -(5298) found -[279] Forked 5299 -[278] Forked 5300 -(5299) found -(5300) found -[277] Forked 5301 -[276] Forked 5302 -(5301) found -(5302) found -[275] Forked 5303 -[274] Forked 5304 -(5303) found -(5304) found -[273] Forked 5305 -[272] Forked 5306 -(5305) found -(5306) found -[271] Forked 5307 -[270] Forked 5308 -(5307) found -(5308) found -[269] Forked 5309 -[268] Forked 5310 -(5309) found -(5310) found -[267] Forked 5311 -[266] Forked 5312 -(5311) found -(5312) found -[265] Forked 5313 -[264] Forked 5314 -(5313) found -(5314) found -[263] Forked 5315 -[262] Forked 5316 -(5315) found -(5316) found -[261] Forked 5317 -[260] Forked 5318 -(5317) found -(5318) found -[259] Forked 5319 -[258] Forked 5320 -(5319) found -(5320) found -[257] Forked 5321 -[256] Forked 5322 -(5321) found -(5322) found -[255] Forked 5323 -[254] Forked 5324 -(5323) found -(5324) found -[253] Forked 5325 -[252] Forked 5326 -(5325) found -(5326) found -[251] Forked 5327 -(5327) found -[250] Forked 5328 -(5328) found -[249] Forked 5329 -(5329) found -[248] Forked 5330 -(5330) found -[247] Forked 5331 -(5331) found -[246] Forked 5332 -(5332) found -[245] Forked 5333 -(5333) found -[244] Forked 5334 -(5334) found -[243] Forked 5335 -(5335) found -[242] Forked 5336 -(5336) found -[241] Forked 5337 -(5337) found -[240] Forked 5338 -(5338) found -[239] Forked 5339 -(5339) found -[238] Forked 5340 -(5340) found -[237] Forked 5341 -(5341) found -[236] Forked 5342 -(5342) found -[235] Forked 5343 -(5343) found -[234] Forked 5344 -(5344) found -[233] Forked 5345 -(5345) found -[232] Forked 5346 -(5346) found -[231] Forked 5347 -(5347) found -[230] Forked 5348 -(5348) found -[229] Forked 5349 -(5349) found -[228] Forked 5350 -(5350) found -[227] Forked 5351 -(5351) found -[226] Forked 5352 -(5352) found -[225] Forked 5353 -(5353) found -[224] Forked 5354 -(5354) found -[223] Forked 5355 -(5355) found -[222] Forked 5356 -(5356) found -[221] Forked 5357 -(5357) found -[220] Forked 5358 -(5358) found -[219] Forked 5359 -(5359) found -[218] Forked 5360 -(5360) found -[217] Forked 5361 -(5361) found -[216] Forked 5362 -(5362) found -[215] Forked 5363 -[214] Forked 5364 -(5363) found -(5364) found -[213] Forked 5365 -[212] Forked 5366 -(5365) found -(5366) found -[211] Forked 5367 -[210] Forked 5368 -(5367) found -(5368) found -[209] Forked 5369 -[208] Forked 5370 -(5369) found -(5370) found -[207] Forked 5371 -[206] Forked 5372 -(5371) found -(5372) found -[205] Forked 5373 -[204] Forked 5374 -(5373) found -(5374) found -[203] Forked 5375 -[202] Forked 5376 -(5375) found -(5376) found -[201] Forked 5377 -[200] Forked 5378 -(5377) found -(5378) found -[199] Forked 5379 -[198] Forked 5380 -(5379) found -(5380) found -[197] Forked 5381 -[196] Forked 5382 -(5381) found -(5382) found -[195] Forked 5383 -[194] Forked 5384 -(5383) found -(5384) found -[193] Forked 5385 -[192] Forked 5386 -(5385) found -(5386) found -[191] Forked 5387 -[190] Forked 5388 -(5387) found -(5388) found -[189] Forked 5389 -[188] Forked 5390 -(5389) found -(5390) found -[187] Forked 5391 -[186] Forked 5392 -(5391) found -(5392) found -[185] Forked 5393 -[184] Forked 5394 -(5393) found -(5394) found -[183] Forked 5395 -[182] Forked 5396 -(5395) found -(5396) found -[181] Forked 5397 -[180] Forked 5398 -(5397) found -(5398) found -[179] Forked 5399 -[178] Forked 5400 -(5399) found -(5400) found -[177] Forked 5401 -[176] Forked 5403 -(5401) found -(5403) found -[175] Forked 5404 -(5404) found -[174] Forked 5405 -(5405) found -[173] Forked 5406 -(5406) found -[172] Forked 5407 -(5407) found -[171] Forked 5408 -(5408) found -[170] Forked 5409 -(5409) found -[169] Forked 5410 -(5410) found -[168] Forked 5411 -(5411) found -[167] Forked 5412 -(5412) found -[166] Forked 5413 -(5413) found -[165] Forked 5414 -(5414) found -[164] Forked 5415 -(5415) found -[163] Forked 5416 -(5416) found -[162] Forked 5417 -(5417) found -[161] Forked 5418 -(5418) found -[160] Forked 5419 -(5419) found -[159] Forked 5420 -(5420) found -[158] Forked 5421 -(5421) found -[157] Forked 5422 -(5422) found -[156] Forked 5423 -(5423) found -[155] Forked 5424 -(5424) found -[154] Forked 5425 -(5425) found -[153] Forked 5426 -(5426) found -[152] Forked 5427 -(5427) found -[151] Forked 5428 -(5428) found -[150] Forked 5429 -(5429) found -[149] Forked 5430 -(5430) found -[148] Forked 5431 -(5431) found -[147] Forked 5432 -(5432) found -[146] Forked 5433 -(5433) found -[145] Forked 5434 -(5434) found -[144] Forked 5435 -(5435) found -[143] Forked 5436 -(5436) found -[142] Forked 5437 -(5437) found -[141] Forked 5438 -(5438) found -[140] Forked 5439 -(5439) found -[139] Forked 5440 -(5440) found -[138] Forked 5441 -(5441) found -[137] Forked 5442 -(5442) found -[136] Forked 5443 -[135] Forked 5444 -(5443) found -(5444) found -[134] Forked 5445 -[133] Forked 5446 -(5446) found -(5445) found -[132] Forked 5447 -(5447) found -[131] Forked 5448 -(5448) found -[130] Forked 5449 -(5449) found -[129] Forked 5450 -(5450) found -[128] Forked 5451 -(5451) found -[127] Forked 5452 -(5452) found -[126] Forked 5453 -(5453) found -[125] Forked 5454 -(5454) found -[124] Forked 5455 -(5455) found -[123] Forked 5456 -(5456) found -[122] Forked 5457 -(5457) found -[121] Forked 5458 -(5458) found -[120] Forked 5459 -(5459) found -[119] Forked 5460 -(5460) found -[118] Forked 5461 -(5461) found -[117] Forked 5462 -(5462) found -[116] Forked 5463 -(5463) found -[115] Forked 5464 -(5464) found -[114] Forked 5465 -(5465) found -[113] Forked 5466 -(5466) found -[112] Forked 5467 -(5467) found -[111] Forked 5468 -(5468) found -[110] Forked 5469 -(5469) found -[109] Forked 5470 -(5470) found -[108] Forked 5471 -(5471) found -[107] Forked 5472 -(5472) found -[106] Forked 5473 -(5473) found -[105] Forked 5474 -(5474) found -[104] Forked 5475 -(5475) found -[103] Forked 5476 -(5476) found -[102] Forked 5477 -(5477) found -[101] Forked 5478 -(5478) found -[100] Forked 5479 -(5479) found -[99] Forked 5480 -(5480) found -[98] Forked 5481 -(5481) found -[97] Forked 5482 -(5482) found -[96] Forked 5483 -(5483) found -[95] Forked 5484 -(5484) found -[94] Forked 5485 -(5485) found -[93] Forked 5486 -(5486) found -[92] Forked 5487 -(5487) found -[91] Forked 5488 -(5488) found -[90] Forked 5489 -(5489) found -[89] Forked 5490 -(5490) found -[88] Forked 5491 -(5491) found -[87] Forked 5492 -(5492) found -[86] Forked 5493 -(5493) found -[85] Forked 5494 -(5494) found -[84] Forked 5495 -(5495) found -[83] Forked 5496 -(5496) found -[82] Forked 5497 -(5497) found -[81] Forked 5498 -(5498) found -[80] Forked 5499 -(5499) found -[79] Forked 5500 -(5500) found -[78] Forked 5501 -(5501) found -[77] Forked 5502 -(5502) found -[76] Forked 5503 -(5503) found -[75] Forked 5504 -(5504) found -[74] Forked 5505 -(5505) found -[73] Forked 5506 -(5506) found -[72] Forked 5507 -(5507) found -[71] Forked 5508 -(5508) found -[70] Forked 5509 -(5509) found -[69] Forked 5510 -(5510) found -[68] Forked 5511 -(5511) found -[67] Forked 5512 -(5512) found -[66] Forked 5513 -(5513) found -[65] Forked 5514 -(5514) found -[64] Forked 5515 -(5515) found -[63] Forked 5516 -(5516) found -[62] Forked 5517 -(5517) found -[61] Forked 5518 -(5518) found -[60] Forked 5519 -(5519) found -[59] Forked 5520 -(5520) found -[58] Forked 5521 -(5521) found -[57] Forked 5522 -(5522) found -[56] Forked 5523 -(5523) found -[55] Forked 5524 -(5524) found -[54] Forked 5525 -(5525) found -[53] Forked 5526 -(5526) found -[52] Forked 5527 -(5527) found -[51] Forked 5528 -(5528) found -[50] Forked 5529 -(5529) found -[49] Forked 5530 -(5530) found -[48] Forked 5531 -(5531) found -[47] Forked 5532 -(5532) found -[46] Forked 5533 -(5533) found -[45] Forked 5534 -(5534) found -[44] Forked 5535 -(5535) found -[43] Forked 5536 -(5536) found -[42] Forked 5537 -(5537) found -[41] Forked 5538 -(5538) found -[40] Forked 5539 -(5539) found -[39] Forked 5540 -(5540) found -[38] Forked 5541 -(5541) found -[37] Forked 5542 -(5542) found -[36] Forked 5543 -(5543) found -[35] Forked 5544 -(5544) found -[34] Forked 5545 -(5545) found -[33] Forked 5546 -(5546) found -[32] Forked 5547 -(5547) found -[31] Forked 5548 -(5548) found -[30] Forked 5549 -(5549) found -[29] Forked 5550 -(5550) found -[28] Forked 5551 -[27] Forked 5552 -(5551) found -(5552) found -[26] Forked 5553 -[25] Forked 5554 -(5553) found -(5554) found -[24] Forked 5555 -[23] Forked 5556 -(5555) found -(5556) found -[22] Forked 5557 -[21] Forked 5558 -(5557) found -(5558) found -[20] Forked 5559 -[19] Forked 5560 -(5559) found -(5560) found -[18] Forked 5561 -[17] Forked 5562 -(5561) found -(5562) found -[16] Forked 5563 -[15] Forked 5564 -(5563) found -(5564) found -[14] Forked 5565 -[13] Forked 5566 -(5565) found -(5566) found -[12] Forked 5567 -(5567) found -[11] Forked 5568 -[10] Forked 5569 -(5568) found -(5569) found -[9] Forked 5570 -[8] Forked 5571 -(5570) found -(5571) found -[7] Forked 5572 -[6] Forked 5573 -(5572) found -(5573) found -[5] Forked 5574 -[4] Forked 5575 -(5574) found -(5575) found -[3] Forked 5576 -[2] Forked 5577 -(5576) found -(5577) found -[1] Forked 5578 -[0] Forked 5579 -(5578) found -(5579) found diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.G b/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.G deleted file mode 100644 index 7e9c89f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/fork-latency.c.G +++ /dev/null @@ -1,40001 +0,0 @@ -MAX=20000 -[19999] Forked 18452 -(18452) found -[19998] Forked 18453 -(18453) found -[19997] Forked 18454 -(18454) found -[19996] Forked 18455 -(18455) found -[19995] Forked 18456 -(18456) found -[19994] Forked 18457 -(18457) found -[19993] Forked 18458 -(18458) found -[19992] Forked 18459 -(18459) found -[19991] Forked 18460 -(18460) found -[19990] Forked 18461 -(18461) found -[19989] Forked 18462 -(18462) found -[19988] Forked 18463 -(18463) found -[19987] Forked 18464 -(18464) found -[19986] Forked 18466 -(18466) found -[19985] Forked 18467 -(18467) found -[19984] Forked 18468 -(18468) found -[19983] Forked 18469 -(18469) found -[19982] Forked 18470 -(18470) found -[19981] Forked 18471 -(18471) found -[19980] Forked 18472 -(18472) found -[19979] Forked 18473 -(18473) found -[19978] Forked 18474 -(18474) found -[19977] Forked 18475 -(18475) found -[19976] Forked 18476 -(18476) found -[19975] Forked 18477 -(18477) found -[19974] Forked 18478 -(18478) found -[19973] Forked 18479 -(18479) found -[19972] Forked 18480 -(18480) found -[19971] Forked 18481 -(18481) found -[19970] Forked 18482 -(18482) found -[19969] Forked 18483 -(18483) found -[19968] Forked 18484 -(18484) found -[19967] Forked 18485 -(18485) found -[19966] Forked 18486 -(18486) found -[19965] Forked 18487 -(18487) found -[19964] Forked 18488 -(18488) found -[19963] Forked 18489 -(18489) found -[19962] Forked 18490 -(18490) found -[19961] Forked 18491 -(18491) found -[19960] Forked 18492 -(18492) found -[19959] Forked 18493 -(18493) found -[19958] Forked 18494 -(18494) found -[19957] Forked 18495 -(18495) found -[19956] Forked 18496 -(18496) found -[19955] Forked 18497 -(18497) found -[19954] Forked 18498 -(18498) found -[19953] Forked 18499 -(18499) found -[19952] Forked 18500 -(18500) found -[19951] Forked 18501 -(18501) found -[19950] Forked 18502 -(18502) found -[19949] Forked 18503 -(18503) found -[19948] Forked 18504 -(18504) found -[19947] Forked 18505 -(18505) found -[19946] Forked 18506 -(18506) found -[19945] Forked 18507 -(18507) found -[19944] Forked 18508 -(18508) found -[19943] Forked 18509 -(18509) found -[19942] Forked 18510 -(18510) found -[19941] Forked 18511 -(18511) found -[19940] Forked 18512 -(18512) found -[19939] Forked 18513 -(18513) found -[19938] Forked 18514 -(18514) found -[19937] Forked 18515 -(18515) found -[19936] Forked 18516 -(18516) found -[19935] Forked 18517 -(18517) found -[19934] Forked 18518 -(18518) found -[19933] Forked 18519 -(18519) found -[19932] Forked 18520 -(18520) found -[19931] Forked 18521 -(18521) found -[19930] Forked 18522 -(18522) found -[19929] Forked 18523 -(18523) found -[19928] Forked 18524 -(18524) found -[19927] Forked 18525 -(18525) found -[19926] Forked 18526 -(18526) found -[19925] Forked 18527 -(18527) found -[19924] Forked 18528 -(18528) found -[19923] Forked 18529 -(18529) found -[19922] Forked 18530 -(18530) found -[19921] Forked 18531 -(18531) found -[19920] Forked 18532 -(18532) found -[19919] Forked 18533 -(18533) found -[19918] Forked 18534 -(18534) found -[19917] Forked 18535 -(18535) found -[19916] Forked 18536 -(18536) found -[19915] Forked 18537 -(18537) found -[19914] Forked 18538 -(18538) found -[19913] Forked 18539 -(18539) found -[19912] Forked 18540 -(18540) found -[19911] Forked 18541 -(18541) found -[19910] Forked 18542 -(18542) found -[19909] Forked 18543 -(18543) found -[19908] Forked 18544 -(18544) found -[19907] Forked 18545 -(18545) found -[19906] Forked 18546 -(18546) found -[19905] Forked 18547 -(18547) found -[19904] Forked 18548 -(18548) found -[19903] Forked 18549 -(18549) found -[19902] Forked 18550 -(18550) found -[19901] Forked 18551 -(18551) found -[19900] Forked 18552 -(18552) found -[19899] Forked 18553 -(18553) found -[19898] Forked 18554 -(18554) found -[19897] Forked 18555 -(18555) found -[19896] Forked 18556 -(18556) found -[19895] Forked 18557 -(18557) found -[19894] Forked 18558 -(18558) found -[19893] Forked 18559 -(18559) found -[19892] Forked 18560 -(18560) found -[19891] Forked 18561 -[19890] Forked 18562 -(18561) found -(18562) found -[19889] Forked 18563 -[19888] Forked 18564 -(18563) found -(18564) found -[19887] Forked 18565 -[19886] Forked 18567 -(18565) found -(18567) found -[19885] Forked 18568 -[19884] Forked 18569 -(18568) found -(18569) found -[19883] Forked 18570 -[19882] Forked 18571 -(18570) found -(18571) found -[19881] Forked 18572 -[19880] Forked 18573 -(18572) found -(18573) found -[19879] Forked 18574 -[19878] Forked 18575 -(18574) found -(18575) found -[19877] Forked 18576 -[19876] Forked 18577 -(18576) found -(18577) found -[19875] Forked 18578 -[19874] Forked 18579 -(18578) found -(18579) found -[19873] Forked 18580 -[19872] Forked 18581 -(18580) found -(18581) found -[19871] Forked 18582 -[19870] Forked 18583 -(18582) found -(18583) found -[19869] Forked 18584 -[19868] Forked 18585 -(18584) found -(18585) found -[19867] Forked 18586 -[19866] Forked 18587 -(18586) found -(18587) found -[19865] Forked 18588 -[19864] Forked 18589 -(18588) found -(18589) found -[19863] Forked 18590 -[19862] Forked 18591 -(18590) found -(18591) found -[19861] Forked 18592 -[19860] Forked 18593 -(18592) found -(18593) found -[19859] Forked 18594 -[19858] Forked 18595 -(18594) found -(18595) found -[19857] Forked 18596 -[19856] Forked 18597 -(18596) found -(18597) found -[19855] Forked 18598 -[19854] Forked 18599 -(18598) found -(18599) found -[19853] Forked 18600 -[19852] Forked 18601 -(18600) found -(18601) found -[19851] Forked 18602 -[19850] Forked 18603 -(18602) found -(18603) found -[19849] Forked 18604 -[19848] Forked 18605 -(18604) found -(18605) found -[19847] Forked 18606 -[19846] Forked 18607 -(18606) found -(18607) found -[19845] Forked 18608 -[19844] Forked 18609 -(18608) found -(18609) found -[19843] Forked 18610 -[19842] Forked 18612 -(18610) found -(18612) found -[19841] Forked 18613 -[19840] Forked 18614 -(18613) found -(18614) found -[19839] Forked 18615 -[19838] Forked 18616 -(18615) found -(18616) found -[19837] Forked 18617 -[19836] Forked 18618 -(18617) found -(18618) found -[19835] Forked 18619 -[19834] Forked 18620 -(18619) found -(18620) found -[19833] Forked 18621 -[19832] Forked 18622 -(18621) found -(18622) found -[19831] Forked 18623 -[19830] Forked 18624 -(18623) found -(18624) found -[19829] Forked 18625 -[19828] Forked 18626 -(18625) found -(18626) found -[19827] Forked 18627 -[19826] Forked 18628 -(18627) found -(18628) found -[19825] Forked 18629 -[19824] Forked 18630 -(18629) found -(18630) found -[19823] Forked 18631 -[19822] Forked 18632 -(18631) found -(18632) found -[19821] Forked 18633 -[19820] Forked 18634 -(18633) found -(18634) found -[19819] Forked 18635 -[19818] Forked 18636 -(18635) found -(18636) found -[19817] Forked 18637 -[19816] Forked 18638 -(18637) found -(18638) found -[19815] Forked 18639 -[19814] Forked 18640 -(18639) found -(18640) found -[19813] Forked 18641 -[19812] Forked 18642 -(18641) found -(18642) found -[19811] Forked 18643 -[19810] Forked 18644 -(18643) found -(18644) found -[19809] Forked 18645 -[19808] Forked 18646 -(18645) found -(18646) found -[19807] Forked 18647 -[19806] Forked 18648 -(18647) found -(18648) found -[19805] Forked 18649 -[19804] Forked 18650 -(18649) found -(18650) found -[19803] Forked 18651 -[19802] Forked 18652 -(18651) found -(18652) found -[19801] Forked 18653 -[19800] Forked 18654 -(18653) found -(18654) found -[19799] Forked 18655 -(18655) found -[19798] Forked 18656 -(18656) found -[19797] Forked 18657 -(18657) found -[19796] Forked 18658 -(18658) found -[19795] Forked 18659 -(18659) found -[19794] Forked 18660 -(18660) found -[19793] Forked 18661 -(18661) found -[19792] Forked 18662 -(18662) found -[19791] Forked 18663 -(18663) found -[19790] Forked 18664 -(18664) found -[19789] Forked 18665 -(18665) found -[19788] Forked 18666 -(18666) found -[19787] Forked 18667 -(18667) found -[19786] Forked 18668 -(18668) found -[19785] Forked 18669 -(18669) found -[19784] Forked 18670 -(18670) found -[19783] Forked 18671 -(18671) found -[19782] Forked 18672 -(18672) found -[19781] Forked 18673 -(18673) found -[19780] Forked 18674 -(18674) found -[19779] Forked 18675 -(18675) found -[19778] Forked 18676 -(18676) found -[19777] Forked 18677 -(18677) found -[19776] Forked 18678 -(18678) found -[19775] Forked 18679 -(18679) found -[19774] Forked 18680 -(18680) found -[19773] Forked 18681 -(18681) found -[19772] Forked 18682 -(18682) found -[19771] Forked 18683 -(18683) found -[19770] Forked 18684 -(18684) found -[19769] Forked 18685 -(18685) found -[19768] Forked 18686 -(18686) found -[19767] Forked 18687 -(18687) found -[19766] Forked 18688 -(18688) found -[19765] Forked 18689 -(18689) found -[19764] Forked 18690 -(18690) found -[19763] Forked 18691 -(18691) found -[19762] Forked 18692 -(18692) found -[19761] Forked 18693 -[19760] Forked 18694 -(18693) found -(18694) found -[19759] Forked 18695 -(18695) found -[19758] Forked 18696 -(18696) found -[19757] Forked 18697 -(18697) found -[19756] Forked 18698 -(18698) found -[19755] Forked 18699 -[19754] Forked 18700 -(18699) found -(18700) found -[19753] Forked 18701 -[19752] Forked 18702 -(18701) found -(18702) found -[19751] Forked 18703 -[19750] Forked 18704 -(18703) found -(18704) found -[19749] Forked 18705 -[19748] Forked 18706 -(18705) found -(18706) found -[19747] Forked 18707 -[19746] Forked 18708 -(18707) found -(18708) found -[19745] Forked 18709 -[19744] Forked 18710 -(18709) found -(18710) found -[19743] Forked 18711 -[19742] Forked 18712 -(18711) found -(18712) found -[19741] Forked 18713 -[19740] Forked 18714 -(18713) found -(18714) found -[19739] Forked 18715 -[19738] Forked 18716 -(18715) found -(18716) found -[19737] Forked 18717 -[19736] Forked 18718 -(18717) found -(18718) found -[19735] Forked 18719 -[19734] Forked 18720 -(18719) found -(18720) found -[19733] Forked 18721 -[19732] Forked 18722 -(18721) found -(18722) found -[19731] Forked 18723 -[19730] Forked 18724 -(18723) found -(18724) found -[19729] Forked 18725 -[19728] Forked 18726 -(18725) found -(18726) found -[19727] Forked 18727 -[19726] Forked 18728 -(18727) found -(18728) found -[19725] Forked 18729 -[19724] Forked 18730 -(18729) found -(18730) found -[19723] Forked 18731 -[19722] Forked 18732 -(18731) found -(18732) found -[19721] Forked 18733 -[19720] Forked 18734 -(18733) found -(18734) found -[19719] Forked 18735 -[19718] Forked 18736 -(18735) found -(18736) found -[19717] Forked 18737 -[19716] Forked 18738 -(18737) found -(18738) found -[19715] Forked 18739 -[19714] Forked 18740 -(18739) found -(18740) found -[19713] Forked 18741 -[19712] Forked 18742 -(18741) found -(18742) found -[19711] Forked 18743 -[19710] Forked 18744 -(18743) found -(18744) found -[19709] Forked 18745 -(18745) found -[19708] Forked 18746 -(18746) found -[19707] Forked 18747 -[19706] Forked 18748 -(18747) found -(18748) found -[19705] Forked 18749 -[19704] Forked 18750 -(18749) found -(18750) found -[19703] Forked 18751 -[19702] Forked 18752 -(18751) found -(18752) found -[19701] Forked 18753 -[19700] Forked 18754 -(18753) found -(18754) found -[19699] Forked 18755 -[19698] Forked 18756 -(18755) found -(18756) found -[19697] Forked 18757 -[19696] Forked 18758 -(18757) found -(18758) found -[19695] Forked 18759 -[19694] Forked 18760 -(18759) found -(18760) found -[19693] Forked 18761 -[19692] Forked 18762 -(18761) found -(18762) found -[19691] Forked 18763 -[19690] Forked 18764 -(18763) found -(18764) found -[19689] Forked 18765 -[19688] Forked 18766 -(18765) found -(18766) found -[19687] Forked 18767 -[19686] Forked 18768 -(18767) found -(18768) found -[19685] Forked 18769 -[19684] Forked 18770 -(18769) found -(18770) found -[19683] Forked 18771 -[19682] Forked 18772 -(18771) found -(18772) found -[19681] Forked 18773 -[19680] Forked 18774 -(18773) found -(18774) found -[19679] Forked 18775 -[19678] Forked 18776 -(18775) found -(18776) found -[19677] Forked 18777 -[19676] Forked 18778 -(18777) found -(18778) found -[19675] Forked 18779 -[19674] Forked 18780 -(18779) found -(18780) found -[19673] Forked 18781 -[19672] Forked 18782 -(18781) found -(18782) found -[19671] Forked 18783 -[19670] Forked 18784 -(18783) found -(18784) found -[19669] Forked 18785 -[19668] Forked 18786 -(18785) found -(18786) found -[19667] Forked 18787 -[19666] Forked 18788 -(18787) found -(18788) found -[19665] Forked 18789 -[19664] Forked 18790 -(18789) found -(18790) found -[19663] Forked 18791 -[19662] Forked 18792 -(18791) found -(18792) found -[19661] Forked 18793 -[19660] Forked 18794 -(18793) found -(18794) found -[19659] Forked 18795 -[19658] Forked 18796 -(18795) found -(18796) found -[19657] Forked 18797 -[19656] Forked 18798 -(18797) found -(18798) found -[19655] Forked 18799 -[19654] Forked 18800 -(18799) found -(18800) found -[19653] Forked 18801 -[19652] Forked 18802 -(18801) found -(18802) found -[19651] Forked 18803 -[19650] Forked 18804 -(18803) found -(18804) found -[19649] Forked 18805 -[19648] Forked 18806 -(18805) found -(18806) found -[19647] Forked 18807 -[19646] Forked 18808 -(18807) found -(18808) found -[19645] Forked 18809 -[19644] Forked 18810 -(18809) found -(18810) found -[19643] Forked 18811 -[19642] Forked 18812 -(18811) found -(18812) found -[19641] Forked 18813 -[19640] Forked 18814 -(18813) found -(18814) found -[19639] Forked 18815 -[19638] Forked 18816 -(18815) found -(18816) found -[19637] Forked 18817 -[19636] Forked 18818 -(18817) found -(18818) found -[19635] Forked 18819 -[19634] Forked 18820 -(18819) found -(18820) found -[19633] Forked 18821 -[19632] Forked 18822 -(18821) found -(18822) found -[19631] Forked 18823 -[19630] Forked 18824 -(18823) found -(18824) found -[19629] Forked 18825 -[19628] Forked 18826 -(18825) found -(18826) found -[19627] Forked 18827 -[19626] Forked 18828 -(18827) found -(18828) found -[19625] Forked 18829 -[19624] Forked 18830 -(18829) found -(18830) found -[19623] Forked 18831 -[19622] Forked 18832 -(18831) found -(18832) found -[19621] Forked 18833 -[19620] Forked 18834 -(18833) found -(18834) found -[19619] Forked 18835 -[19618] Forked 18836 -(18835) found -(18836) found -[19617] Forked 18837 -[19616] Forked 18838 -(18837) found -(18838) found -[19615] Forked 18839 -[19614] Forked 18840 -(18839) found -(18840) found -[19613] Forked 18841 -[19612] Forked 18842 -(18842) found -(18841) found -[19611] Forked 18843 -(18843) found -[19610] Forked 18844 -(18844) found -[19609] Forked 18845 -(18845) found -[19608] Forked 18846 -(18846) found -[19607] Forked 18847 -(18847) found -[19606] Forked 18848 -(18848) found -[19605] Forked 18849 -(18849) found -[19604] Forked 18850 -(18850) found -[19603] Forked 18851 -(18851) found -[19602] Forked 18852 -(18852) found -[19601] Forked 18853 -(18853) found -[19600] Forked 18854 -(18854) found -[19599] Forked 18855 -(18855) found -[19598] Forked 18856 -(18856) found -[19597] Forked 18857 -(18857) found -[19596] Forked 18858 -(18858) found -[19595] Forked 18859 -(18859) found -[19594] Forked 18860 -(18860) found -[19593] Forked 18861 -(18861) found -[19592] Forked 18862 -(18862) found -[19591] Forked 18863 -(18863) found -[19590] Forked 18864 -(18864) found -[19589] Forked 18865 -(18865) found -[19588] Forked 18866 -(18866) found -[19587] Forked 18867 -(18867) found -[19586] Forked 18868 -(18868) found -[19585] Forked 18869 -(18869) found -[19584] Forked 18870 -(18870) found -[19583] Forked 18871 -(18871) found -[19582] Forked 18872 -(18872) found -[19581] Forked 18873 -(18873) found -[19580] Forked 18874 -(18874) found -[19579] Forked 18875 -(18875) found -[19578] Forked 18876 -(18876) found -[19577] Forked 18877 -(18877) found -[19576] Forked 18878 -[19575] Forked 18879 -(18878) found -(18879) found -[19574] Forked 18880 -[19573] Forked 18881 -(18880) found -(18881) found -[19572] Forked 18882 -[19571] Forked 18883 -(18882) found -(18883) found -[19570] Forked 18884 -[19569] Forked 18885 -(18884) found -(18885) found -[19568] Forked 18886 -[19567] Forked 18887 -(18886) found -(18887) found -[19566] Forked 18888 -[19565] Forked 18889 -(18888) found -(18889) found -[19564] Forked 18890 -[19563] Forked 18891 -(18890) found -(18891) found -[19562] Forked 18892 -[19561] Forked 18893 -(18892) found -(18893) found -[19560] Forked 18894 -[19559] Forked 18895 -(18894) found -(18895) found -[19558] Forked 18896 -[19557] Forked 18897 -(18896) found -(18897) found -[19556] Forked 18898 -[19555] Forked 18899 -(18898) found -(18899) found -[19554] Forked 18900 -[19553] Forked 18901 -(18900) found -(18901) found -[19552] Forked 18902 -[19551] Forked 18903 -(18902) found -(18903) found -[19550] Forked 18904 -[19549] Forked 18905 -(18904) found -(18905) found -[19548] Forked 18906 -[19547] Forked 18907 -(18906) found -(18907) found -[19546] Forked 18908 -[19545] Forked 18909 -(18908) found -(18909) found -[19544] Forked 18910 -[19543] Forked 18911 -(18910) found -(18911) found -[19542] Forked 18912 -(18912) found -[19541] Forked 18913 -(18913) found -[19540] Forked 18914 -(18914) found -[19539] Forked 18915 -(18915) found -[19538] Forked 18916 -(18916) found -[19537] Forked 18917 -(18917) found -[19536] Forked 18918 -(18918) found -[19535] Forked 18919 -(18919) found -[19534] Forked 18920 -(18920) found -[19533] Forked 18921 -(18921) found -[19532] Forked 18922 -(18922) found -[19531] Forked 18923 -(18923) found -[19530] Forked 18924 -(18924) found -[19529] Forked 18925 -(18925) found -[19528] Forked 18926 -(18926) found -[19527] Forked 18927 -(18927) found -[19526] Forked 18928 -(18928) found -[19525] Forked 18929 -(18929) found -[19524] Forked 18930 -(18930) found -[19523] Forked 18931 -(18931) found -[19522] Forked 18932 -(18932) found -[19521] Forked 18933 -(18933) found -[19520] Forked 18934 -(18934) found -[19519] Forked 18935 -(18935) found -[19518] Forked 18936 -(18936) found -[19517] Forked 18937 -(18937) found -[19516] Forked 18938 -(18938) found -[19515] Forked 18939 -(18939) found -[19514] Forked 18940 -(18940) found -[19513] Forked 18941 -(18941) found -[19512] Forked 18942 -(18942) found -[19511] Forked 18943 -(18943) found -[19510] Forked 18944 -(18944) found -[19509] Forked 18945 -(18945) found -[19508] Forked 18946 -(18946) found -[19507] Forked 18947 -(18947) found -[19506] Forked 18948 -(18948) found -[19505] Forked 18949 -[19504] Forked 18950 -(18949) found -(18950) found -[19503] Forked 18951 -[19502] Forked 18952 -(18951) found -(18952) found -[19501] Forked 18953 -[19500] Forked 18954 -(18953) found -(18954) found -[19499] Forked 18955 -[19498] Forked 18956 -(18955) found -(18956) found -[19497] Forked 18957 -[19496] Forked 18958 -(18957) found -(18958) found -[19495] Forked 18959 -[19494] Forked 18960 -(18959) found -(18960) found -[19493] Forked 18961 -[19492] Forked 18962 -(18961) found -(18962) found -[19491] Forked 18963 -[19490] Forked 18964 -(18963) found -(18964) found -[19489] Forked 18965 -[19488] Forked 18966 -(18965) found -(18966) found -[19487] Forked 18967 -[19486] Forked 18968 -(18967) found -(18968) found -[19485] Forked 18969 -[19484] Forked 18970 -(18969) found -(18970) found -[19483] Forked 18971 -[19482] Forked 18972 -(18971) found -(18972) found -[19481] Forked 18973 -[19480] Forked 18974 -(18973) found -(18974) found -[19479] Forked 18975 -[19478] Forked 18976 -(18975) found -(18976) found -[19477] Forked 18977 -[19476] Forked 18978 -(18977) found -(18978) found -[19475] Forked 18979 -[19474] Forked 18980 -(18979) found -(18980) found -[19473] Forked 18981 -[19472] Forked 18982 -(18981) found -(18982) found -[19471] Forked 18983 -[19470] Forked 18984 -(18983) found -(18984) found -[19469] Forked 18985 -[19468] Forked 18986 -(18985) found -(18986) found -[19467] Forked 18987 -[19466] Forked 18988 -(18987) found -(18988) found -[19465] Forked 18989 -[19464] Forked 18990 -(18989) found -(18990) found -[19463] Forked 18991 -[19462] Forked 18992 -(18991) found -(18992) found -[19461] Forked 18993 -[19460] Forked 18994 -(18993) found -(18994) found -[19459] Forked 18995 -[19458] Forked 18996 -(18995) found -(18996) found -[19457] Forked 18997 -(18997) found -[19456] Forked 18998 -(18998) found -[19455] Forked 18999 -(18999) found -[19454] Forked 19000 -(19000) found -[19453] Forked 19001 -(19001) found -[19452] Forked 19002 -(19002) found -[19451] Forked 19003 -(19003) found -[19450] Forked 19004 -(19004) found -[19449] Forked 19005 -(19005) found -[19448] Forked 19006 -(19006) found -[19447] Forked 19007 -(19007) found -[19446] Forked 19008 -(19008) found -[19445] Forked 19009 -(19009) found -[19444] Forked 19010 -(19010) found -[19443] Forked 19011 -(19011) found -[19442] Forked 19012 -(19012) found -[19441] Forked 19013 -(19013) found -[19440] Forked 19014 -(19014) found -[19439] Forked 19015 -(19015) found -[19438] Forked 19016 -(19016) found -[19437] Forked 19017 -(19017) found -[19436] Forked 19018 -(19018) found -[19435] Forked 19019 -(19019) found -[19434] Forked 19020 -(19020) found -[19433] Forked 19021 -(19021) found -[19432] Forked 19022 -(19022) found -[19431] Forked 19023 -(19023) found -[19430] Forked 19024 -(19024) found -[19429] Forked 19025 -(19025) found -[19428] Forked 19026 -[19427] Forked 19027 -(19026) found -(19027) found -[19426] Forked 19028 -[19425] Forked 19029 -(19028) found -(19029) found -[19424] Forked 19030 -[19423] Forked 19031 -(19030) found -(19031) found -[19422] Forked 19032 -[19421] Forked 19033 -(19032) found -(19033) found -[19420] Forked 19034 -[19419] Forked 19035 -(19034) found -(19035) found -[19418] Forked 19036 -[19417] Forked 19037 -(19036) found -(19037) found -[19416] Forked 19038 -[19415] Forked 19039 -(19038) found -(19039) found -[19414] Forked 19040 -[19413] Forked 19041 -(19040) found -(19041) found -[19412] Forked 19042 -[19411] Forked 19043 -(19042) found -(19043) found -[19410] Forked 19044 -[19409] Forked 19045 -(19044) found -(19045) found -[19408] Forked 19046 -[19407] Forked 19047 -(19046) found -(19047) found -[19406] Forked 19048 -[19405] Forked 19049 -(19048) found -(19049) found -[19404] Forked 19050 -[19403] Forked 19051 -(19050) found -(19051) found -[19402] Forked 19052 -[19401] Forked 19053 -(19052) found -(19053) found -[19400] Forked 19054 -[19399] Forked 19055 -(19054) found -(19055) found -[19398] Forked 19056 -[19397] Forked 19057 -(19056) found -(19057) found -[19396] Forked 19058 -[19395] Forked 19059 -(19058) found -(19059) found -[19394] Forked 19060 -[19393] Forked 19061 -(19060) found -(19061) found -[19392] Forked 19062 -[19391] Forked 19063 -(19062) found -(19063) found -[19390] Forked 19064 -(19064) found -[19389] Forked 19065 -[19388] Forked 19066 -(19065) found -(19066) found -[19387] Forked 19067 -[19386] Forked 19068 -(19067) found -(19068) found -[19385] Forked 19069 -[19384] Forked 19070 -(19069) found -(19070) found -[19383] Forked 19071 -(19071) found -[19382] Forked 19072 -(19072) found -[19381] Forked 19073 -(19073) found -[19380] Forked 19074 -(19074) found -[19379] Forked 19075 -(19075) found -[19378] Forked 19076 -(19076) found -[19377] Forked 19077 -(19077) found -[19376] Forked 19078 -(19078) found -[19375] Forked 19079 -(19079) found -[19374] Forked 19080 -(19080) found -[19373] Forked 19081 -(19081) found -[19372] Forked 19082 -(19082) found -[19371] Forked 19084 -(19084) found -[19370] Forked 19085 -(19085) found -[19369] Forked 19086 -(19086) found -[19368] Forked 19087 -(19087) found -[19367] Forked 19088 -(19088) found -[19366] Forked 19089 -(19089) found -[19365] Forked 19090 -(19090) found -[19364] Forked 19091 -(19091) found -[19363] Forked 19092 -(19092) found -[19362] Forked 19093 -(19093) found -[19361] Forked 19094 -(19094) found -[19360] Forked 19097 -(19097) found -[19359] Forked 19098 -(19098) found -[19358] Forked 19099 -(19099) found -[19357] Forked 19100 -(19100) found -[19356] Forked 19102 -(19102) found -[19355] Forked 19104 -(19104) found -[19354] Forked 19105 -(19105) found -[19353] Forked 19106 -(19106) found -[19352] Forked 19107 -(19107) found -[19351] Forked 19108 -(19108) found -[19350] Forked 19109 -(19109) found -[19349] Forked 19110 -(19110) found -[19348] Forked 19111 -(19111) found -[19347] Forked 19112 -(19112) found -[19346] Forked 19113 -[19345] Forked 19114 -(19113) found -(19114) found -[19344] Forked 19115 -[19343] Forked 19116 -(19115) found -(19116) found -[19342] Forked 19117 -[19341] Forked 19118 -(19117) found -(19118) found -[19340] Forked 19119 -[19339] Forked 19120 -(19119) found -(19120) found -[19338] Forked 19122 -[19337] Forked 19123 -(19122) found -(19123) found -[19336] Forked 19124 -[19335] Forked 19125 -(19124) found -(19125) found -[19334] Forked 19126 -[19333] Forked 19127 -(19126) found -(19127) found -[19332] Forked 19128 -[19331] Forked 19129 -(19128) found -(19129) found -[19330] Forked 19130 -[19329] Forked 19131 -(19130) found -(19131) found -[19328] Forked 19132 -[19327] Forked 19133 -(19132) found -(19133) found -[19326] Forked 19134 -[19325] Forked 19135 -(19134) found -(19135) found -[19324] Forked 19136 -[19323] Forked 19137 -(19136) found -(19137) found -[19322] Forked 19138 -[19321] Forked 19139 -(19138) found -(19139) found -[19320] Forked 19140 -[19319] Forked 19141 -(19140) found -(19141) found -[19318] Forked 19142 -[19317] Forked 19143 -(19142) found -(19143) found -[19316] Forked 19144 -[19315] Forked 19145 -(19144) found -(19145) found -[19314] Forked 19146 -[19313] Forked 19147 -(19146) found -(19147) found -[19312] Forked 19148 -[19311] Forked 19149 -(19148) found -(19149) found -[19310] Forked 19150 -[19309] Forked 19151 -(19150) found -(19151) found -[19308] Forked 19152 -[19307] Forked 19153 -(19152) found -(19153) found -[19306] Forked 19154 -[19305] Forked 19155 -(19154) found -(19155) found -[19304] Forked 19156 -[19303] Forked 19157 -(19156) found -(19157) found -[19302] Forked 19158 -[19301] Forked 19159 -(19158) found -(19159) found -[19300] Forked 19160 -[19299] Forked 19161 -(19160) found -(19161) found -[19298] Forked 19162 -[19297] Forked 19163 -(19162) found -(19163) found -[19296] Forked 19164 -[19295] Forked 19165 -(19164) found -(19165) found -[19294] Forked 19166 -[19293] Forked 19167 -(19166) found -(19167) found -[19292] Forked 19168 -[19291] Forked 19169 -(19168) found -(19169) found -[19290] Forked 19170 -[19289] Forked 19171 -(19170) found -(19171) found -[19288] Forked 19172 -[19287] Forked 19173 -(19172) found -(19173) found -[19286] Forked 19174 -[19285] Forked 19175 -(19174) found -(19175) found -[19284] Forked 19176 -[19283] Forked 19177 -(19176) found -(19177) found -[19282] Forked 19178 -[19281] Forked 19179 -(19178) found -(19179) found -[19280] Forked 19180 -[19279] Forked 19181 -(19180) found -(19181) found -[19278] Forked 19182 -[19277] Forked 19183 -(19182) found -(19183) found -[19276] Forked 19184 -[19275] Forked 19186 -(19184) found -(19186) found -[19274] Forked 19187 -(19187) found -[19273] Forked 19188 -[19272] Forked 19189 -(19188) found -(19189) found -[19271] Forked 19191 -[19270] Forked 19192 -(19191) found -(19192) found -[19269] Forked 19193 -[19268] Forked 19194 -(19193) found -(19194) found -[19267] Forked 19195 -[19266] Forked 19196 -(19195) found -(19196) found -[19265] Forked 19197 -[19264] Forked 19198 -(19197) found -(19198) found -[19263] Forked 19199 -[19262] Forked 19200 -(19199) found -(19200) found -[19261] Forked 19201 -[19260] Forked 19202 -(19201) found -(19202) found -[19259] Forked 19203 -[19258] Forked 19204 -(19203) found -(19204) found -[19257] Forked 19205 -[19256] Forked 19206 -(19205) found -(19206) found -[19255] Forked 19207 -[19254] Forked 19208 -(19207) found -(19208) found -[19253] Forked 19209 -[19252] Forked 19210 -(19209) found -(19210) found -[19251] Forked 19211 -[19250] Forked 19212 -(19211) found -(19212) found -[19249] Forked 19213 -[19248] Forked 19214 -(19213) found -(19214) found -[19247] Forked 19215 -[19246] Forked 19216 -(19215) found -(19216) found -[19245] Forked 19217 -[19244] Forked 19218 -(19217) found -(19218) found -[19243] Forked 19219 -[19242] Forked 19220 -(19219) found -(19220) found -[19241] Forked 19221 -[19240] Forked 19222 -(19221) found -(19222) found -[19239] Forked 19223 -[19238] Forked 19224 -(19223) found -(19224) found -[19237] Forked 19225 -[19236] Forked 19226 -(19225) found -(19226) found -[19235] Forked 19227 -[19234] Forked 19228 -(19227) found -(19228) found -[19233] Forked 19229 -[19232] Forked 19230 -(19229) found -(19230) found -[19231] Forked 19231 -[19230] Forked 19232 -(19231) found -(19232) found -[19229] Forked 19233 -[19228] Forked 19234 -(19233) found -(19234) found -[19227] Forked 19235 -[19226] Forked 19236 -(19235) found -(19236) found -[19225] Forked 19237 -[19224] Forked 19238 -(19237) found -(19238) found -[19223] Forked 19239 -[19222] Forked 19240 -(19239) found -(19240) found -[19221] Forked 19241 -[19220] Forked 19242 -(19241) found -(19242) found -[19219] Forked 19243 -[19218] Forked 19244 -(19243) found -(19244) found -[19217] Forked 19245 -[19216] Forked 19246 -(19245) found -(19246) found -[19215] Forked 19247 -[19214] Forked 19248 -(19247) found -(19248) found -[19213] Forked 19249 -[19212] Forked 19250 -(19249) found -(19250) found -[19211] Forked 19251 -(19251) found -[19210] Forked 19252 -(19252) found -[19209] Forked 19253 -(19253) found -[19208] Forked 19254 -(19254) found -[19207] Forked 19255 -(19255) found -[19206] Forked 19256 -(19256) found -[19205] Forked 19257 -(19257) found -[19204] Forked 19258 -(19258) found -[19203] Forked 19259 -(19259) found -[19202] Forked 19260 -(19260) found -[19201] Forked 19261 -(19261) found -[19200] Forked 19262 -(19262) found -[19199] Forked 19263 -(19263) found -[19198] Forked 19264 -(19264) found -[19197] Forked 19265 -(19265) found -[19196] Forked 19266 -(19266) found -[19195] Forked 19267 -(19267) found -[19194] Forked 19268 -(19268) found -[19193] Forked 19269 -(19269) found -[19192] Forked 19270 -(19270) found -[19191] Forked 19271 -(19271) found -[19190] Forked 19272 -(19272) found -[19189] Forked 19273 -(19273) found -[19188] Forked 19274 -(19274) found -[19187] Forked 19275 -(19275) found -[19186] Forked 19276 -(19276) found -[19185] Forked 19277 -(19277) found -[19184] Forked 19278 -(19278) found -[19183] Forked 19279 -(19279) found -[19182] Forked 19280 -(19280) found -[19181] Forked 19281 -(19281) found -[19180] Forked 19282 -(19282) found -[19179] Forked 19283 -(19283) found -[19178] Forked 19284 -(19284) found -[19177] Forked 19285 -(19285) found -[19176] Forked 19286 -(19286) found -[19175] Forked 19287 -(19287) found -[19174] Forked 19288 -[19173] Forked 19289 -(19288) found -(19289) found -[19172] Forked 19290 -(19290) found -[19171] Forked 19291 -(19291) found -[19170] Forked 19292 -(19292) found -[19169] Forked 19293 -(19293) found -[19168] Forked 19294 -(19294) found -[19167] Forked 19295 -(19295) found -[19166] Forked 19296 -(19296) found -[19165] Forked 19297 -(19297) found -[19164] Forked 19298 -(19298) found -[19163] Forked 19299 -(19299) found -[19162] Forked 19300 -(19300) found -[19161] Forked 19301 -(19301) found -[19160] Forked 19302 -(19302) found -[19159] Forked 19303 -(19303) found -[19158] Forked 19304 -(19304) found -[19157] Forked 19305 -(19305) found -[19156] Forked 19306 -(19306) found -[19155] Forked 19307 -(19307) found -[19154] Forked 19308 -(19308) found -[19153] Forked 19309 -(19309) found -[19152] Forked 19310 -(19310) found -[19151] Forked 19311 -(19311) found -[19150] Forked 19312 -(19312) found -[19149] Forked 19313 -(19313) found -[19148] Forked 19314 -(19314) found -[19147] Forked 19315 -(19315) found -[19146] Forked 19316 -(19316) found -[19145] Forked 19317 -(19317) found -[19144] Forked 19318 -(19318) found -[19143] Forked 19319 -(19319) found -[19142] Forked 19320 -[19141] Forked 19321 -(19321) found -(19320) found -[19140] Forked 19322 -(19322) found -[19139] Forked 19323 -(19323) found -[19138] Forked 19324 -(19324) found -[19137] Forked 19325 -(19325) found -[19136] Forked 19326 -(19326) found -[19135] Forked 19327 -(19327) found -[19134] Forked 19328 -(19328) found -[19133] Forked 19329 -(19329) found -[19132] Forked 19330 -(19330) found -[19131] Forked 19331 -(19331) found -[19130] Forked 19332 -(19332) found -[19129] Forked 19333 -(19333) found -[19128] Forked 19334 -(19334) found -[19127] Forked 19335 -(19335) found -[19126] Forked 19336 -(19336) found -[19125] Forked 19337 -(19337) found -[19124] Forked 19338 -(19338) found -[19123] Forked 19339 -(19339) found -[19122] Forked 19340 -(19340) found -[19121] Forked 19341 -(19341) found -[19120] Forked 19342 -(19342) found -[19119] Forked 19343 -(19343) found -[19118] Forked 19344 -(19344) found -[19117] Forked 19345 -(19345) found -[19116] Forked 19346 -(19346) found -[19115] Forked 19347 -(19347) found -[19114] Forked 19348 -(19348) found -[19113] Forked 19349 -(19349) found -[19112] Forked 19352 -(19352) found -[19111] Forked 19353 -(19353) found -[19110] Forked 19354 -(19354) found -[19109] Forked 19355 -(19355) found -[19108] Forked 19356 -(19356) found -[19107] Forked 19357 -(19357) found -[19106] Forked 19359 -(19359) found -[19105] Forked 19360 -(19360) found -[19104] Forked 19361 -(19361) found -[19103] Forked 19362 -(19362) found -[19102] Forked 19363 -(19363) found -[19101] Forked 19364 -(19364) found -[19100] Forked 19365 -(19365) found -[19099] Forked 19366 -(19366) found -[19098] Forked 19367 -(19367) found -[19097] Forked 19368 -(19368) found -[19096] Forked 19369 -(19369) found -[19095] Forked 19370 -(19370) found -[19094] Forked 19371 -(19371) found -[19093] Forked 19372 -(19372) found -[19092] Forked 19373 -(19373) found -[19091] Forked 19374 -(19374) found -[19090] Forked 19375 -(19375) found -[19089] Forked 19376 -(19376) found -[19088] Forked 19377 -(19377) found -[19087] Forked 19378 -(19378) found -[19086] Forked 19379 -(19379) found -[19085] Forked 19380 -(19380) found -[19084] Forked 19381 -(19381) found -[19083] Forked 19382 -(19382) found -[19082] Forked 19383 -(19383) found -[19081] Forked 19384 -(19384) found -[19080] Forked 19385 -(19385) found -[19079] Forked 19386 -(19386) found -[19078] Forked 19387 -(19387) found -[19077] Forked 19388 -(19388) found -[19076] Forked 19389 -(19389) found -[19075] Forked 19390 -(19390) found -[19074] Forked 19391 -(19391) found -[19073] Forked 19392 -(19392) found -[19072] Forked 19393 -(19393) found -[19071] Forked 19394 -(19394) found -[19070] Forked 19395 -(19395) found -[19069] Forked 19396 -(19396) found -[19068] Forked 19397 -[19067] Forked 19398 -(19397) found -(19398) found -[19066] Forked 19399 -[19065] Forked 19400 -(19399) found -(19400) found -[19064] Forked 19401 -[19063] Forked 19402 -(19401) found -(19402) found -[19062] Forked 19403 -[19061] Forked 19404 -(19403) found -(19404) found -[19060] Forked 19405 -[19059] Forked 19406 -(19405) found -(19406) found -[19058] Forked 19407 -[19057] Forked 19408 -(19407) found -(19408) found -[19056] Forked 19409 -[19055] Forked 19410 -(19409) found -(19410) found -[19054] Forked 19411 -[19053] Forked 19412 -(19411) found -(19412) found -[19052] Forked 19413 -[19051] Forked 19414 -(19413) found -(19414) found -[19050] Forked 19415 -[19049] Forked 19416 -(19415) found -(19416) found -[19048] Forked 19417 -[19047] Forked 19418 -(19417) found -(19418) found -[19046] Forked 19419 -[19045] Forked 19420 -(19419) found -(19420) found -[19044] Forked 19421 -[19043] Forked 19422 -(19421) found -(19422) found -[19042] Forked 19423 -[19041] Forked 19424 -(19423) found -(19424) found -[19040] Forked 19425 -[19039] Forked 19426 -(19425) found -(19426) found -[19038] Forked 19427 -[19037] Forked 19428 -(19427) found -(19428) found -[19036] Forked 19429 -(19429) found -[19035] Forked 19430 -(19430) found -[19034] Forked 19431 -(19431) found -[19033] Forked 19432 -(19432) found -[19032] Forked 19433 -(19433) found -[19031] Forked 19434 -(19434) found -[19030] Forked 19435 -(19435) found -[19029] Forked 19436 -(19436) found -[19028] Forked 19437 -(19437) found -[19027] Forked 19438 -(19438) found -[19026] Forked 19439 -(19439) found -[19025] Forked 19440 -(19440) found -[19024] Forked 19441 -(19441) found -[19023] Forked 19442 -(19442) found -[19022] Forked 19443 -(19443) found -[19021] Forked 19444 -(19444) found -[19020] Forked 19445 -(19445) found -[19019] Forked 19446 -(19446) found -[19018] Forked 19447 -(19447) found -[19017] Forked 19448 -(19448) found -[19016] Forked 19449 -(19449) found -[19015] Forked 19450 -(19450) found -[19014] Forked 19451 -(19451) found -[19013] Forked 19452 -(19452) found -[19012] Forked 19453 -(19453) found -[19011] Forked 19454 -(19454) found -[19010] Forked 19455 -[19009] Forked 19456 -(19455) found -(19456) found -[19008] Forked 19457 -[19007] Forked 19458 -(19457) found -(19458) found -[19006] Forked 19459 -[19005] Forked 19460 -(19459) found -(19460) found -[19004] Forked 19461 -[19003] Forked 19462 -(19461) found -(19462) found -[19002] Forked 19463 -[19001] Forked 19464 -(19463) found -(19464) found -[19000] Forked 19465 -[18999] Forked 19466 -(19465) found -(19466) found -[18998] Forked 19467 -[18997] Forked 19468 -(19467) found -(19468) found -[18996] Forked 19469 -[18995] Forked 19470 -(19469) found -(19470) found -[18994] Forked 19471 -[18993] Forked 19472 -(19471) found -(19472) found -[18992] Forked 19473 -[18991] Forked 19474 -(19473) found -(19474) found -[18990] Forked 19475 -[18989] Forked 19476 -(19475) found -(19476) found -[18988] Forked 19477 -[18987] Forked 19478 -(19477) found -(19478) found -[18986] Forked 19479 -[18985] Forked 19480 -(19479) found -(19480) found -[18984] Forked 19481 -[18983] Forked 19482 -(19481) found -(19482) found -[18982] Forked 19483 -[18981] Forked 19484 -(19483) found -(19484) found -[18980] Forked 19485 -[18979] Forked 19486 -(19485) found -(19486) found -[18978] Forked 19487 -[18977] Forked 19488 -(19487) found -(19488) found -[18976] Forked 19489 -[18975] Forked 19490 -(19489) found -(19490) found -[18974] Forked 19491 -[18973] Forked 19492 -(19491) found -(19492) found -[18972] Forked 19493 -[18971] Forked 19494 -(19493) found -(19494) found -[18970] Forked 19495 -(19495) found -[18969] Forked 19496 -[18968] Forked 19497 -(19496) found -(19497) found -[18967] Forked 19498 -[18966] Forked 19499 -(19498) found -(19499) found -[18965] Forked 19500 -(19500) found -[18964] Forked 19501 -[18963] Forked 19502 -(19501) found -(19502) found -[18962] Forked 19503 -[18961] Forked 19504 -(19503) found -(19504) found -[18960] Forked 19505 -[18959] Forked 19506 -(19505) found -(19506) found -[18958] Forked 19507 -[18957] Forked 19508 -(19507) found -(19508) found -[18956] Forked 19509 -[18955] Forked 19510 -(19509) found -(19510) found -[18954] Forked 19511 -[18953] Forked 19512 -(19511) found -(19512) found -[18952] Forked 19513 -[18951] Forked 19514 -(19513) found -(19514) found -[18950] Forked 19515 -[18949] Forked 19516 -(19515) found -(19516) found -[18948] Forked 19517 -[18947] Forked 19518 -(19517) found -(19518) found -[18946] Forked 19519 -[18945] Forked 19520 -(19519) found -(19520) found -[18944] Forked 19521 -[18943] Forked 19522 -(19521) found -(19522) found -[18942] Forked 19523 -[18941] Forked 19524 -(19523) found -(19524) found -[18940] Forked 19525 -[18939] Forked 19526 -(19525) found -(19526) found -[18938] Forked 19527 -[18937] Forked 19528 -(19527) found -(19528) found -[18936] Forked 19529 -[18935] Forked 19530 -(19529) found -(19530) found -[18934] Forked 19531 -[18933] Forked 19532 -(19531) found -(19532) found -[18932] Forked 19533 -[18931] Forked 19534 -(19533) found -(19534) found -[18930] Forked 19535 -[18929] Forked 19536 -(19535) found -(19536) found -[18928] Forked 19537 -[18927] Forked 19538 -(19537) found -(19538) found -[18926] Forked 19539 -[18925] Forked 19540 -(19539) found -(19540) found -[18924] Forked 19541 -[18923] Forked 19542 -(19541) found -(19542) found -[18922] Forked 19543 -[18921] Forked 19544 -(19543) found -(19544) found -[18920] Forked 19545 -[18919] Forked 19546 -(19545) found -(19546) found -[18918] Forked 19547 -[18917] Forked 19548 -(19547) found -(19548) found -[18916] Forked 19549 -[18915] Forked 19550 -(19549) found -(19550) found -[18914] Forked 19551 -[18913] Forked 19552 -(19551) found -(19552) found -[18912] Forked 19553 -[18911] Forked 19554 -(19553) found -(19554) found -[18910] Forked 19555 -[18909] Forked 19556 -(19555) found -(19556) found -[18908] Forked 19557 -[18907] Forked 19558 -(19557) found -(19558) found -[18906] Forked 19559 -[18905] Forked 19560 -(19559) found -(19560) found -[18904] Forked 19561 -[18903] Forked 19562 -(19561) found -(19562) found -[18902] Forked 19563 -[18901] Forked 19564 -(19563) found -(19564) found -[18900] Forked 19565 -[18899] Forked 19566 -(19565) found -(19566) found -[18898] Forked 19567 -[18897] Forked 19568 -(19567) found -(19568) found -[18896] Forked 19569 -[18895] Forked 19570 -(19569) found -(19570) found -[18894] Forked 19571 -[18893] Forked 19572 -(19571) found -(19572) found -[18892] Forked 19573 -[18891] Forked 19574 -(19573) found -(19574) found -[18890] Forked 19575 -[18889] Forked 19576 -(19575) found -(19576) found -[18888] Forked 19577 -[18887] Forked 19578 -(19577) found -(19578) found -[18886] Forked 19579 -[18885] Forked 19580 -(19579) found -(19580) found -[18884] Forked 19581 -[18883] Forked 19582 -(19581) found -(19582) found -[18882] Forked 19583 -[18881] Forked 19584 -(19583) found -(19584) found -[18880] Forked 19585 -[18879] Forked 19586 -(19585) found -(19586) found -[18878] Forked 19587 -[18877] Forked 19588 -(19587) found -(19588) found -[18876] Forked 19589 -[18875] Forked 19590 -(19589) found -(19590) found -[18874] Forked 19591 -[18873] Forked 19592 -(19591) found -(19592) found -[18872] Forked 19593 -[18871] Forked 19594 -(19593) found -(19594) found -[18870] Forked 19595 -[18869] Forked 19596 -(19595) found -(19596) found -[18868] Forked 19597 -[18867] Forked 19598 -(19597) found -(19598) found -[18866] Forked 19599 -[18865] Forked 19600 -(19599) found -(19600) found -[18864] Forked 19601 -[18863] Forked 19602 -(19601) found -(19602) found -[18862] Forked 19603 -[18861] Forked 19604 -(19603) found -(19604) found -[18860] Forked 19605 -[18859] Forked 19606 -(19605) found -(19606) found -[18858] Forked 19607 -[18857] Forked 19608 -(19607) found -(19608) found -[18856] Forked 19609 -[18855] Forked 19610 -(19609) found -(19610) found -[18854] Forked 19611 -[18853] Forked 19612 -(19611) found -(19612) found -[18852] Forked 19613 -[18851] Forked 19614 -(19613) found -(19614) found -[18850] Forked 19615 -[18849] Forked 19616 -(19615) found -(19616) found -[18848] Forked 19617 -[18847] Forked 19618 -(19617) found -(19618) found -[18846] Forked 19619 -[18845] Forked 19620 -(19619) found -(19620) found -[18844] Forked 19621 -[18843] Forked 19622 -(19621) found -(19622) found -[18842] Forked 19623 -[18841] Forked 19624 -(19623) found -(19624) found -[18840] Forked 19625 -[18839] Forked 19626 -(19625) found -(19626) found -[18838] Forked 19627 -[18837] Forked 19628 -(19627) found -(19628) found -[18836] Forked 19629 -[18835] Forked 19630 -(19629) found -(19630) found -[18834] Forked 19631 -[18833] Forked 19632 -(19631) found -(19632) found -[18832] Forked 19633 -[18831] Forked 19634 -(19633) found -(19634) found -[18830] Forked 19635 -[18829] Forked 19636 -(19635) found -(19636) found -[18828] Forked 19637 -[18827] Forked 19638 -(19637) found -(19638) found -[18826] Forked 19639 -[18825] Forked 19640 -(19639) found -(19640) found -[18824] Forked 19641 -[18823] Forked 19642 -(19641) found -(19642) found -[18822] Forked 19643 -[18821] Forked 19644 -(19643) found -(19644) found -[18820] Forked 19645 -[18819] Forked 19646 -(19645) found -(19646) found -[18818] Forked 19647 -[18817] Forked 19648 -(19647) found -(19648) found -[18816] Forked 19649 -[18815] Forked 19650 -(19649) found -(19650) found -[18814] Forked 19651 -[18813] Forked 19652 -(19651) found -(19652) found -[18812] Forked 19653 -[18811] Forked 19654 -(19653) found -(19654) found -[18810] Forked 19655 -[18809] Forked 19656 -(19655) found -(19656) found -[18808] Forked 19657 -[18807] Forked 19658 -(19657) found -(19658) found -[18806] Forked 19659 -[18805] Forked 19660 -(19659) found -(19660) found -[18804] Forked 19661 -[18803] Forked 19662 -(19661) found -(19662) found -[18802] Forked 19663 -[18801] Forked 19664 -(19663) found -(19664) found -[18800] Forked 19665 -[18799] Forked 19666 -(19665) found -(19666) found -[18798] Forked 19667 -[18797] Forked 19668 -(19667) found -(19668) found -[18796] Forked 19669 -[18795] Forked 19670 -(19669) found -(19670) found -[18794] Forked 19671 -[18793] Forked 19672 -(19671) found -(19672) found -[18792] Forked 19673 -[18791] Forked 19674 -(19673) found -(19674) found -[18790] Forked 19675 -[18789] Forked 19676 -(19675) found -(19676) found -[18788] Forked 19677 -[18787] Forked 19678 -(19677) found -(19678) found -[18786] Forked 19679 -[18785] Forked 19680 -(19679) found -(19680) found -[18784] Forked 19681 -(19681) found -[18783] Forked 19682 -(19682) found -[18782] Forked 19683 -(19683) found -[18781] Forked 19684 -(19684) found -[18780] Forked 19685 -(19685) found -[18779] Forked 19686 -(19686) found -[18778] Forked 19687 -(19687) found -[18777] Forked 19688 -(19688) found -[18776] Forked 19689 -(19689) found -[18775] Forked 19690 -(19690) found -[18774] Forked 19691 -(19691) found -[18773] Forked 19692 -(19692) found -[18772] Forked 19693 -(19693) found -[18771] Forked 19694 -(19694) found -[18770] Forked 19695 -(19695) found -[18769] Forked 19696 -(19696) found -[18768] Forked 19697 -(19697) found -[18767] Forked 19698 -(19698) found -[18766] Forked 19699 -(19699) found -[18765] Forked 19700 -(19700) found -[18764] Forked 19701 -(19701) found -[18763] Forked 19702 -(19702) found -[18762] Forked 19703 -(19703) found -[18761] Forked 19704 -(19704) found -[18760] Forked 19705 -(19705) found -[18759] Forked 19706 -(19706) found -[18758] Forked 19707 -(19707) found -[18757] Forked 19708 -(19708) found -[18756] Forked 19709 -(19709) found -[18755] Forked 19710 -(19710) found -[18754] Forked 19711 -(19711) found -[18753] Forked 19712 -(19712) found -[18752] Forked 19713 -(19713) found -[18751] Forked 19714 -(19714) found -[18750] Forked 19715 -(19715) found -[18749] Forked 19716 -(19716) found -[18748] Forked 19717 -[18747] Forked 19718 -(19717) found -(19718) found -[18746] Forked 19719 -[18745] Forked 19720 -(19719) found -(19720) found -[18744] Forked 19721 -[18743] Forked 19722 -(19721) found -(19722) found -[18742] Forked 19723 -[18741] Forked 19724 -(19723) found -(19724) found -[18740] Forked 19725 -[18739] Forked 19726 -(19725) found -(19726) found -[18738] Forked 19727 -[18737] Forked 19728 -(19727) found -(19728) found -[18736] Forked 19729 -[18735] Forked 19730 -(19729) found -(19730) found -[18734] Forked 19731 -[18733] Forked 19732 -(19731) found -(19732) found -[18732] Forked 19733 -[18731] Forked 19734 -(19733) found -(19734) found -[18730] Forked 19735 -[18729] Forked 19736 -(19735) found -(19736) found -[18728] Forked 19737 -[18727] Forked 19738 -(19737) found -(19738) found -[18726] Forked 19739 -[18725] Forked 19740 -(19739) found -(19740) found -[18724] Forked 19741 -[18723] Forked 19742 -(19741) found -(19742) found -[18722] Forked 19743 -[18721] Forked 19744 -(19743) found -(19744) found -[18720] Forked 19745 -[18719] Forked 19746 -(19745) found -(19746) found -[18718] Forked 19747 -[18717] Forked 19748 -(19747) found -(19748) found -[18716] Forked 19749 -[18715] Forked 19750 -(19749) found -(19750) found -[18714] Forked 19751 -[18713] Forked 19752 -(19751) found -(19752) found -[18712] Forked 19753 -[18711] Forked 19755 -(19753) found -(19755) found -[18710] Forked 19756 -(19756) found -[18709] Forked 19757 -(19757) found -[18708] Forked 19758 -(19758) found -[18707] Forked 19759 -(19759) found -[18706] Forked 19760 -(19760) found -[18705] Forked 19761 -(19761) found -[18704] Forked 19762 -(19762) found -[18703] Forked 19763 -(19763) found -[18702] Forked 19764 -(19764) found -[18701] Forked 19765 -(19765) found -[18700] Forked 19766 -(19766) found -[18699] Forked 19767 -(19767) found -[18698] Forked 19768 -(19768) found -[18697] Forked 19769 -(19769) found -[18696] Forked 19770 -(19770) found -[18695] Forked 19771 -(19771) found -[18694] Forked 19772 -(19772) found -[18693] Forked 19773 -(19773) found -[18692] Forked 19774 -(19774) found -[18691] Forked 19775 -(19775) found -[18690] Forked 19776 -(19776) found -[18689] Forked 19777 -(19777) found -[18688] Forked 19778 -(19778) found -[18687] Forked 19779 -(19779) found -[18686] Forked 19780 -(19780) found -[18685] Forked 19781 -(19781) found -[18684] Forked 19782 -(19782) found -[18683] Forked 19783 -(19783) found -[18682] Forked 19784 -(19784) found -[18681] Forked 19785 -(19785) found -[18680] Forked 19786 -(19786) found -[18679] Forked 19787 -(19787) found -[18678] Forked 19788 -(19788) found -[18677] Forked 19789 -(19789) found -[18676] Forked 19790 -(19790) found -[18675] Forked 19791 -(19791) found -[18674] Forked 19792 -(19792) found -[18673] Forked 19793 -(19793) found -[18672] Forked 19794 -(19794) found -[18671] Forked 19795 -(19795) found -[18670] Forked 19796 -(19796) found -[18669] Forked 19797 -[18668] Forked 19798 -(19797) found -(19798) found -[18667] Forked 19799 -[18666] Forked 19800 -(19799) found -(19800) found -[18665] Forked 19801 -[18664] Forked 19802 -(19801) found -(19802) found -[18663] Forked 19803 -[18662] Forked 19804 -(19803) found -(19804) found -[18661] Forked 19805 -[18660] Forked 19806 -(19805) found -(19806) found -[18659] Forked 19807 -[18658] Forked 19808 -(19807) found -(19808) found -[18657] Forked 19809 -[18656] Forked 19810 -(19809) found -(19810) found -[18655] Forked 19811 -[18654] Forked 19812 -(19811) found -(19812) found -[18653] Forked 19813 -[18652] Forked 19814 -(19813) found -(19814) found -[18651] Forked 19815 -[18650] Forked 19816 -(19815) found -(19816) found -[18649] Forked 19817 -[18648] Forked 19818 -(19817) found -(19818) found -[18647] Forked 19819 -[18646] Forked 19820 -(19819) found -(19820) found -[18645] Forked 19821 -[18644] Forked 19822 -(19821) found -(19822) found -[18643] Forked 19823 -[18642] Forked 19824 -(19823) found -(19824) found -[18641] Forked 19825 -[18640] Forked 19826 -(19825) found -(19826) found -[18639] Forked 19827 -[18638] Forked 19828 -(19827) found -(19828) found -[18637] Forked 19829 -[18636] Forked 19830 -(19829) found -(19830) found -[18635] Forked 19831 -[18634] Forked 19832 -(19831) found -(19832) found -[18633] Forked 19833 -[18632] Forked 19834 -(19833) found -(19834) found -[18631] Forked 19835 -[18630] Forked 19836 -(19835) found -(19836) found -[18629] Forked 19837 -[18628] Forked 19838 -(19837) found -(19838) found -[18627] Forked 19839 -[18626] Forked 19840 -(19839) found -(19840) found -[18625] Forked 19841 -[18624] Forked 19842 -(19841) found -(19842) found -[18623] Forked 19843 -[18622] Forked 19844 -(19843) found -(19844) found -[18621] Forked 19845 -(19845) found -[18620] Forked 19846 -(19846) found -[18619] Forked 19847 -(19847) found -[18618] Forked 19848 -(19848) found -[18617] Forked 19849 -(19849) found -[18616] Forked 19850 -(19850) found -[18615] Forked 19851 -(19851) found -[18614] Forked 19852 -(19852) found -[18613] Forked 19853 -(19853) found -[18612] Forked 19854 -(19854) found -[18611] Forked 19855 -(19855) found -[18610] Forked 19856 -(19856) found -[18609] Forked 19857 -(19857) found -[18608] Forked 19858 -(19858) found -[18607] Forked 19859 -(19859) found -[18606] Forked 19860 -(19860) found -[18605] Forked 19861 -(19861) found -[18604] Forked 19862 -(19862) found -[18603] Forked 19863 -(19863) found -[18602] Forked 19864 -(19864) found -[18601] Forked 19865 -(19865) found -[18600] Forked 19866 -(19866) found -[18599] Forked 19867 -(19867) found -[18598] Forked 19868 -(19868) found -[18597] Forked 19869 -(19869) found -[18596] Forked 19870 -(19870) found -[18595] Forked 19871 -(19871) found -[18594] Forked 19872 -(19872) found -[18593] Forked 19873 -(19873) found -[18592] Forked 19874 -(19874) found -[18591] Forked 19875 -(19875) found -[18590] Forked 19876 -(19876) found -[18589] Forked 19877 -(19877) found -[18588] Forked 19878 -(19878) found -[18587] Forked 19879 -[18586] Forked 19880 -(19879) found -(19880) found -[18585] Forked 19881 -[18584] Forked 19882 -(19881) found -(19882) found -[18583] Forked 19883 -[18582] Forked 19884 -(19883) found -(19884) found -[18581] Forked 19885 -[18580] Forked 19886 -(19885) found -(19886) found -[18579] Forked 19887 -[18578] Forked 19888 -(19887) found -(19888) found -[18577] Forked 19889 -[18576] Forked 19890 -(19889) found -(19890) found -[18575] Forked 19891 -[18574] Forked 19892 -(19891) found -(19892) found -[18573] Forked 19893 -[18572] Forked 19894 -(19893) found -(19894) found -[18571] Forked 19895 -[18570] Forked 19896 -(19895) found -(19896) found -[18569] Forked 19897 -[18568] Forked 19898 -(19897) found -(19898) found -[18567] Forked 19899 -[18566] Forked 19900 -(19899) found -(19900) found -[18565] Forked 19901 -[18564] Forked 19902 -(19901) found -(19902) found -[18563] Forked 19903 -[18562] Forked 19904 -(19903) found -(19904) found -[18561] Forked 19905 -[18560] Forked 19906 -(19905) found -(19906) found -[18559] Forked 19907 -[18558] Forked 19908 -(19907) found -(19908) found -[18557] Forked 19909 -[18556] Forked 19910 -(19909) found -(19910) found -[18555] Forked 19911 -[18554] Forked 19912 -(19911) found -(19912) found -[18553] Forked 19913 -[18552] Forked 19914 -(19913) found -(19914) found -[18551] Forked 19915 -[18550] Forked 19916 -(19915) found -(19916) found -[18549] Forked 19917 -[18548] Forked 19918 -(19917) found -(19918) found -[18547] Forked 19919 -[18546] Forked 19920 -(19919) found -(19920) found -[18545] Forked 19921 -[18544] Forked 19922 -(19921) found -(19922) found -[18543] Forked 19923 -[18542] Forked 19924 -(19923) found -(19924) found -[18541] Forked 19925 -[18540] Forked 19926 -(19925) found -(19926) found -[18539] Forked 19927 -[18538] Forked 19928 -(19927) found -(19928) found -[18537] Forked 19929 -[18536] Forked 19930 -(19929) found -(19930) found -[18535] Forked 19931 -[18534] Forked 19932 -(19931) found -(19932) found -[18533] Forked 19933 -[18532] Forked 19934 -(19933) found -(19934) found -[18531] Forked 19935 -[18530] Forked 19936 -(19935) found -(19936) found -[18529] Forked 19937 -[18528] Forked 19938 -(19937) found -(19938) found -[18527] Forked 19939 -[18526] Forked 19940 -(19939) found -(19940) found -[18525] Forked 19941 -[18524] Forked 19942 -(19941) found -(19942) found -[18523] Forked 19943 -[18522] Forked 19944 -(19943) found -(19944) found -[18521] Forked 19945 -[18520] Forked 19946 -(19945) found -(19946) found -[18519] Forked 19947 -[18518] Forked 19948 -(19947) found -(19948) found -[18517] Forked 19949 -[18516] Forked 19950 -(19949) found -(19950) found -[18515] Forked 19951 -[18514] Forked 19952 -(19951) found -(19952) found -[18513] Forked 19953 -[18512] Forked 19954 -(19953) found -(19954) found -[18511] Forked 19955 -[18510] Forked 19956 -(19955) found -(19956) found -[18509] Forked 19957 -[18508] Forked 19958 -(19957) found -(19958) found -[18507] Forked 19959 -[18506] Forked 19960 -(19959) found -(19960) found -[18505] Forked 19961 -[18504] Forked 19962 -(19961) found -(19962) found -[18503] Forked 19963 -[18502] Forked 19964 -(19963) found -(19964) found -[18501] Forked 19965 -[18500] Forked 19966 -(19965) found -(19966) found -[18499] Forked 19967 -[18498] Forked 19968 -(19967) found -(19968) found -[18497] Forked 19969 -[18496] Forked 19970 -(19969) found -(19970) found -[18495] Forked 19971 -(19971) found -[18494] Forked 19972 -(19972) found -[18493] Forked 19973 -(19973) found -[18492] Forked 19974 -(19974) found -[18491] Forked 19975 -(19975) found -[18490] Forked 19976 -(19976) found -[18489] Forked 19977 -(19977) found -[18488] Forked 19978 -(19978) found -[18487] Forked 19979 -(19979) found -[18486] Forked 19980 -(19980) found -[18485] Forked 19981 -(19981) found -[18484] Forked 19982 -(19982) found -[18483] Forked 19983 -(19983) found -[18482] Forked 19984 -(19984) found -[18481] Forked 19985 -(19985) found -[18480] Forked 19986 -(19986) found -[18479] Forked 19987 -(19987) found -[18478] Forked 19988 -(19988) found -[18477] Forked 19989 -(19989) found -[18476] Forked 19990 -(19990) found -[18475] Forked 19991 -(19991) found -[18474] Forked 19992 -(19992) found -[18473] Forked 19993 -(19993) found -[18472] Forked 19994 -(19994) found -[18471] Forked 19995 -(19995) found -[18470] Forked 19996 -(19996) found -[18469] Forked 19997 -(19997) found -[18468] Forked 19998 -(19998) found -[18467] Forked 19999 -(19999) found -[18466] Forked 20000 -(20000) found -[18465] Forked 20001 -(20001) found -[18464] Forked 20002 -(20002) found -[18463] Forked 20003 -(20003) found -[18462] Forked 20004 -(20004) found -[18461] Forked 20005 -(20005) found -[18460] Forked 20006 -(20006) found -[18459] Forked 20007 -(20007) found -[18458] Forked 20008 -[18457] Forked 20009 -(20008) found -(20009) found -[18456] Forked 20010 -[18455] Forked 20011 -(20010) found -(20011) found -[18454] Forked 20012 -[18453] Forked 20014 -(20012) found -(20014) found -[18452] Forked 20015 -(20015) found -[18451] Forked 20016 -(20016) found -[18450] Forked 20017 -(20017) found -[18449] Forked 20018 -(20018) found -[18448] Forked 20019 -(20019) found -[18447] Forked 20020 -(20020) found -[18446] Forked 20021 -(20021) found -[18445] Forked 20022 -(20022) found -[18444] Forked 20023 -(20023) found -[18443] Forked 20024 -(20024) found -[18442] Forked 20025 -(20025) found -[18441] Forked 20026 -(20026) found -[18440] Forked 20027 -(20027) found -[18439] Forked 20028 -(20028) found -[18438] Forked 20029 -(20029) found -[18437] Forked 20030 -(20030) found -[18436] Forked 20031 -(20031) found -[18435] Forked 20032 -(20032) found -[18434] Forked 20033 -(20033) found -[18433] Forked 20034 -(20034) found -[18432] Forked 20035 -(20035) found -[18431] Forked 20036 -(20036) found -[18430] Forked 20037 -(20037) found -[18429] Forked 20038 -(20038) found -[18428] Forked 20039 -(20039) found -[18427] Forked 20040 -(20040) found -[18426] Forked 20041 -(20041) found -[18425] Forked 20042 -(20042) found -[18424] Forked 20043 -(20043) found -[18423] Forked 20044 -(20044) found -[18422] Forked 20045 -(20045) found -[18421] Forked 20046 -(20046) found -[18420] Forked 20047 -(20047) found -[18419] Forked 20048 -(20048) found -[18418] Forked 20049 -(20049) found -[18417] Forked 20050 -(20050) found -[18416] Forked 20051 -(20051) found -[18415] Forked 20052 -(20052) found -[18414] Forked 20053 -(20053) found -[18413] Forked 20054 -(20054) found -[18412] Forked 20055 -(20055) found -[18411] Forked 20056 -(20056) found -[18410] Forked 20057 -(20057) found -[18409] Forked 20058 -(20058) found -[18408] Forked 20059 -(20059) found -[18407] Forked 20060 -(20060) found -[18406] Forked 20061 -(20061) found -[18405] Forked 20062 -(20062) found -[18404] Forked 20063 -(20063) found -[18403] Forked 20064 -(20064) found -[18402] Forked 20065 -(20065) found -[18401] Forked 20066 -(20066) found -[18400] Forked 20067 -(20067) found -[18399] Forked 20068 -(20068) found -[18398] Forked 20069 -(20069) found -[18397] Forked 20070 -(20070) found -[18396] Forked 20071 -(20071) found -[18395] Forked 20072 -(20072) found -[18394] Forked 20073 -(20073) found -[18393] Forked 20074 -(20074) found -[18392] Forked 20075 -(20075) found -[18391] Forked 20076 -(20076) found -[18390] Forked 20077 -(20077) found -[18389] Forked 20078 -(20078) found -[18388] Forked 20079 -(20079) found -[18387] Forked 20080 -(20080) found -[18386] Forked 20081 -[18385] Forked 20082 -(20081) found -(20082) found -[18384] Forked 20083 -[18383] Forked 20084 -(20083) found -(20084) found -[18382] Forked 20085 -[18381] Forked 20086 -(20085) found -(20086) found -[18380] Forked 20087 -(20087) found -[18379] Forked 20088 -(20088) found -[18378] Forked 20089 -(20089) found -[18377] Forked 20090 -(20090) found -[18376] Forked 20091 -(20091) found -[18375] Forked 20092 -(20092) found -[18374] Forked 20093 -(20093) found -[18373] Forked 20094 -(20094) found -[18372] Forked 20095 -(20095) found -[18371] Forked 20096 -(20096) found -[18370] Forked 20097 -(20097) found -[18369] Forked 20098 -(20098) found -[18368] Forked 20099 -(20099) found -[18367] Forked 20100 -(20100) found -[18366] Forked 20101 -(20101) found -[18365] Forked 20102 -(20102) found -[18364] Forked 20103 -(20103) found -[18363] Forked 20104 -(20104) found -[18362] Forked 20105 -(20105) found -[18361] Forked 20106 -(20106) found -[18360] Forked 20107 -(20107) found -[18359] Forked 20108 -(20108) found -[18358] Forked 20109 -(20109) found -[18357] Forked 20110 -(20110) found -[18356] Forked 20111 -(20111) found -[18355] Forked 20112 -(20112) found -[18354] Forked 20113 -(20113) found -[18353] Forked 20114 -(20114) found -[18352] Forked 20115 -(20115) found -[18351] Forked 20116 -(20116) found -[18350] Forked 20117 -(20117) found -[18349] Forked 20118 -(20118) found -[18348] Forked 20119 -(20119) found -[18347] Forked 20120 -(20120) found -[18346] Forked 20121 -(20121) found -[18345] Forked 20122 -(20122) found -[18344] Forked 20123 -(20123) found -[18343] Forked 20124 -(20124) found -[18342] Forked 20125 -(20125) found -[18341] Forked 20126 -(20126) found -[18340] Forked 20127 -(20127) found -[18339] Forked 20128 -(20128) found -[18338] Forked 20129 -(20129) found -[18337] Forked 20130 -(20130) found -[18336] Forked 20131 -(20131) found -[18335] Forked 20132 -(20132) found -[18334] Forked 20133 -(20133) found -[18333] Forked 20134 -(20134) found -[18332] Forked 20135 -(20135) found -[18331] Forked 20136 -(20136) found -[18330] Forked 20137 -(20137) found -[18329] Forked 20138 -(20138) found -[18328] Forked 20139 -(20139) found -[18327] Forked 20140 -(20140) found -[18326] Forked 20141 -(20141) found -[18325] Forked 20142 -(20142) found -[18324] Forked 20143 -(20143) found -[18323] Forked 20144 -(20144) found -[18322] Forked 20145 -(20145) found -[18321] Forked 20146 -(20146) found -[18320] Forked 20147 -(20147) found -[18319] Forked 20148 -(20148) found -[18318] Forked 20149 -(20149) found -[18317] Forked 20150 -(20150) found -[18316] Forked 20151 -(20151) found -[18315] Forked 20152 -(20152) found -[18314] Forked 20153 -(20153) found -[18313] Forked 20154 -(20154) found -[18312] Forked 20155 -(20155) found -[18311] Forked 20156 -(20156) found -[18310] Forked 20157 -(20157) found -[18309] Forked 20158 -(20158) found -[18308] Forked 20159 -(20159) found -[18307] Forked 20160 -(20160) found -[18306] Forked 20161 -(20161) found -[18305] Forked 20162 -(20162) found -[18304] Forked 20163 -(20163) found -[18303] Forked 20164 -(20164) found -[18302] Forked 20165 -(20165) found -[18301] Forked 20166 -(20166) found -[18300] Forked 20167 -(20167) found -[18299] Forked 20168 -(20168) found -[18298] Forked 20169 -(20169) found -[18297] Forked 20170 -(20170) found -[18296] Forked 20171 -(20171) found -[18295] Forked 20172 -(20172) found -[18294] Forked 20173 -(20173) found -[18293] Forked 20174 -(20174) found -[18292] Forked 20175 -(20175) found -[18291] Forked 20176 -(20176) found -[18290] Forked 20177 -(20177) found -[18289] Forked 20178 -(20178) found -[18288] Forked 20179 -(20179) found -[18287] Forked 20180 -(20180) found -[18286] Forked 20181 -(20181) found -[18285] Forked 20182 -(20182) found -[18284] Forked 20183 -(20183) found -[18283] Forked 20184 -(20184) found -[18282] Forked 20185 -(20185) found -[18281] Forked 20186 -(20186) found -[18280] Forked 20187 -(20187) found -[18279] Forked 20188 -(20188) found -[18278] Forked 20189 -[18277] Forked 20190 -(20189) found -(20190) found -[18276] Forked 20191 -[18275] Forked 20192 -(20191) found -(20192) found -[18274] Forked 20193 -[18273] Forked 20194 -(20193) found -(20194) found -[18272] Forked 20195 -[18271] Forked 20196 -(20195) found -(20196) found -[18270] Forked 20197 -[18269] Forked 20198 -(20197) found -(20198) found -[18268] Forked 20199 -[18267] Forked 20200 -(20199) found -(20200) found -[18266] Forked 20201 -[18265] Forked 20202 -(20201) found -(20202) found -[18264] Forked 20203 -[18263] Forked 20204 -(20203) found -(20204) found -[18262] Forked 20205 -[18261] Forked 20206 -(20205) found -(20206) found -[18260] Forked 20207 -[18259] Forked 20208 -(20207) found -(20208) found -[18258] Forked 20209 -[18257] Forked 20210 -(20209) found -(20210) found -[18256] Forked 20211 -[18255] Forked 20212 -(20211) found -(20212) found -[18254] Forked 20213 -[18253] Forked 20214 -(20213) found -(20214) found -[18252] Forked 20215 -[18251] Forked 20216 -(20215) found -(20216) found -[18250] Forked 20217 -[18249] Forked 20218 -(20217) found -(20218) found -[18248] Forked 20219 -[18247] Forked 20220 -(20219) found -(20220) found -[18246] Forked 20221 -[18245] Forked 20222 -(20221) found -(20222) found -[18244] Forked 20223 -[18243] Forked 20225 -(20223) found -(20225) found -[18242] Forked 20226 -(20226) found -[18241] Forked 20227 -(20227) found -[18240] Forked 20228 -(20228) found -[18239] Forked 20229 -(20229) found -[18238] Forked 20230 -(20230) found -[18237] Forked 20231 -(20231) found -[18236] Forked 20232 -(20232) found -[18235] Forked 20233 -(20233) found -[18234] Forked 20234 -(20234) found -[18233] Forked 20235 -(20235) found -[18232] Forked 20236 -(20236) found -[18231] Forked 20237 -(20237) found -[18230] Forked 20238 -(20238) found -[18229] Forked 20239 -(20239) found -[18228] Forked 20240 -(20240) found -[18227] Forked 20241 -(20241) found -[18226] Forked 20242 -(20242) found -[18225] Forked 20243 -(20243) found -[18224] Forked 20244 -(20244) found -[18223] Forked 20245 -(20245) found -[18222] Forked 20246 -(20246) found -[18221] Forked 20247 -(20247) found -[18220] Forked 20248 -(20248) found -[18219] Forked 20249 -(20249) found -[18218] Forked 20250 -(20250) found -[18217] Forked 20251 -(20251) found -[18216] Forked 20252 -(20252) found -[18215] Forked 20253 -(20253) found -[18214] Forked 20254 -(20254) found -[18213] Forked 20255 -(20255) found -[18212] Forked 20256 -(20256) found -[18211] Forked 20257 -(20257) found -[18210] Forked 20258 -(20258) found -[18209] Forked 20259 -(20259) found -[18208] Forked 20260 -(20260) found -[18207] Forked 20261 -(20261) found -[18206] Forked 20262 -(20262) found -[18205] Forked 20263 -(20263) found -[18204] Forked 20264 -(20264) found -[18203] Forked 20265 -(20265) found -[18202] Forked 20266 -(20266) found -[18201] Forked 20267 -(20267) found -[18200] Forked 20268 -(20268) found -[18199] Forked 20269 -(20269) found -[18198] Forked 20270 -(20270) found -[18197] Forked 20271 -(20271) found -[18196] Forked 20272 -(20272) found -[18195] Forked 20273 -(20273) found -[18194] Forked 20274 -(20274) found -[18193] Forked 20275 -(20275) found -[18192] Forked 20276 -(20276) found -[18191] Forked 20277 -(20277) found -[18190] Forked 20278 -(20278) found -[18189] Forked 20279 -(20279) found -[18188] Forked 20280 -(20280) found -[18187] Forked 20281 -(20281) found -[18186] Forked 20282 -(20282) found -[18185] Forked 20283 -(20283) found -[18184] Forked 20284 -(20284) found -[18183] Forked 20285 -(20285) found -[18182] Forked 20286 -(20286) found -[18181] Forked 20287 -(20287) found -[18180] Forked 20288 -(20288) found -[18179] Forked 20289 -(20289) found -[18178] Forked 20290 -(20290) found -[18177] Forked 20291 -(20291) found -[18176] Forked 20292 -(20292) found -[18175] Forked 20293 -(20293) found -[18174] Forked 20294 -(20294) found -[18173] Forked 20295 -(20295) found -[18172] Forked 20296 -(20296) found -[18171] Forked 20297 -(20297) found -[18170] Forked 20298 -(20298) found -[18169] Forked 20299 -(20299) found -[18168] Forked 20300 -(20300) found -[18167] Forked 20301 -(20301) found -[18166] Forked 20302 -(20302) found -[18165] Forked 20303 -(20303) found -[18164] Forked 20304 -(20304) found -[18163] Forked 20305 -(20305) found -[18162] Forked 20306 -(20306) found -[18161] Forked 20307 -(20307) found -[18160] Forked 20308 -(20308) found -[18159] Forked 20309 -(20309) found -[18158] Forked 20310 -(20310) found -[18157] Forked 20311 -(20311) found -[18156] Forked 20312 -(20312) found -[18155] Forked 20313 -(20313) found -[18154] Forked 20314 -(20314) found -[18153] Forked 20315 -(20315) found -[18152] Forked 20316 -(20316) found -[18151] Forked 20317 -(20317) found -[18150] Forked 20318 -(20318) found -[18149] Forked 20319 -(20319) found -[18148] Forked 20320 -(20320) found -[18147] Forked 20321 -(20321) found -[18146] Forked 20322 -(20322) found -[18145] Forked 20323 -(20323) found -[18144] Forked 20324 -(20324) found -[18143] Forked 20325 -(20325) found -[18142] Forked 20326 -(20326) found -[18141] Forked 20327 -(20327) found -[18140] Forked 20328 -(20328) found -[18139] Forked 20329 -(20329) found -[18138] Forked 20330 -(20330) found -[18137] Forked 20331 -(20331) found -[18136] Forked 20332 -(20332) found -[18135] Forked 20333 -(20333) found -[18134] Forked 20334 -(20334) found -[18133] Forked 20335 -(20335) found -[18132] Forked 20336 -(20336) found -[18131] Forked 20337 -(20337) found -[18130] Forked 20338 -(20338) found -[18129] Forked 20339 -(20339) found -[18128] Forked 20340 -(20340) found -[18127] Forked 20341 -(20341) found -[18126] Forked 20342 -[18125] Forked 20343 -(20342) found -(20343) found -[18124] Forked 20344 -[18123] Forked 20345 -(20344) found -(20345) found -[18122] Forked 20346 -[18121] Forked 20347 -(20346) found -(20347) found -[18120] Forked 20348 -[18119] Forked 20349 -(20348) found -(20349) found -[18118] Forked 20350 -[18117] Forked 20351 -(20350) found -(20351) found -[18116] Forked 20352 -[18115] Forked 20353 -(20352) found -(20353) found -[18114] Forked 20354 -[18113] Forked 20355 -(20354) found -(20355) found -[18112] Forked 20356 -[18111] Forked 20357 -(20356) found -(20357) found -[18110] Forked 20358 -[18109] Forked 20359 -(20358) found -(20359) found -[18108] Forked 20360 -[18107] Forked 20361 -(20360) found -(20361) found -[18106] Forked 20362 -[18105] Forked 20363 -(20362) found -(20363) found -[18104] Forked 20364 -[18103] Forked 20365 -(20364) found -(20365) found -[18102] Forked 20366 -[18101] Forked 20367 -(20366) found -(20367) found -[18100] Forked 20368 -[18099] Forked 20369 -(20368) found -(20369) found -[18098] Forked 20370 -[18097] Forked 20371 -(20370) found -(20371) found -[18096] Forked 20372 -[18095] Forked 20373 -(20372) found -(20373) found -[18094] Forked 20374 -[18093] Forked 20375 -(20374) found -(20375) found -[18092] Forked 20376 -[18091] Forked 20377 -(20376) found -(20377) found -[18090] Forked 20378 -[18089] Forked 20379 -(20378) found -(20379) found -[18088] Forked 20380 -[18087] Forked 20381 -(20380) found -(20381) found -[18086] Forked 20382 -[18085] Forked 20383 -(20382) found -(20383) found -[18084] Forked 20384 -[18083] Forked 20385 -(20384) found -(20385) found -[18082] Forked 20386 -[18081] Forked 20387 -(20386) found -(20387) found -[18080] Forked 20388 -[18079] Forked 20389 -(20388) found -(20389) found -[18078] Forked 20390 -[18077] Forked 20391 -(20390) found -(20391) found -[18076] Forked 20392 -[18075] Forked 20393 -(20392) found -(20393) found -[18074] Forked 20394 -[18073] Forked 20395 -(20394) found -(20395) found -[18072] Forked 20396 -[18071] Forked 20397 -(20396) found -(20397) found -[18070] Forked 20398 -[18069] Forked 20399 -(20398) found -(20399) found -[18068] Forked 20400 -[18067] Forked 20401 -(20400) found -(20401) found -[18066] Forked 20402 -[18065] Forked 20403 -(20402) found -(20403) found -[18064] Forked 20404 -[18063] Forked 20405 -(20404) found -(20405) found -[18062] Forked 20406 -[18061] Forked 20407 -(20406) found -(20407) found -[18060] Forked 20408 -[18059] Forked 20409 -(20408) found -(20409) found -[18058] Forked 20410 -[18057] Forked 20411 -(20410) found -(20411) found -[18056] Forked 20412 -[18055] Forked 20413 -(20412) found -(20413) found -[18054] Forked 20414 -[18053] Forked 20415 -(20414) found -(20415) found -[18052] Forked 20416 -[18051] Forked 20417 -(20416) found -(20417) found -[18050] Forked 20418 -[18049] Forked 20419 -(20418) found -(20419) found -[18048] Forked 20420 -[18047] Forked 20421 -(20420) found -(20421) found -[18046] Forked 20422 -[18045] Forked 20423 -(20422) found -(20423) found -[18044] Forked 20424 -[18043] Forked 20425 -(20424) found -(20425) found -[18042] Forked 20426 -[18041] Forked 20427 -(20426) found -(20427) found -[18040] Forked 20428 -[18039] Forked 20429 -(20428) found -(20429) found -[18038] Forked 20430 -[18037] Forked 20431 -(20430) found -(20431) found -[18036] Forked 20432 -(20432) found -[18035] Forked 20433 -(20433) found -[18034] Forked 20434 -(20434) found -[18033] Forked 20435 -(20435) found -[18032] Forked 20436 -(20436) found -[18031] Forked 20437 -(20437) found -[18030] Forked 20438 -(20438) found -[18029] Forked 20439 -(20439) found -[18028] Forked 20440 -(20440) found -[18027] Forked 20441 -(20441) found -[18026] Forked 20442 -(20442) found -[18025] Forked 20443 -(20443) found -[18024] Forked 20444 -(20444) found -[18023] Forked 20445 -(20445) found -[18022] Forked 20446 -(20446) found -[18021] Forked 20447 -(20447) found -[18020] Forked 20448 -(20448) found -[18019] Forked 20449 -(20449) found -[18018] Forked 20450 -(20450) found -[18017] Forked 20451 -(20451) found -[18016] Forked 20452 -(20452) found -[18015] Forked 20453 -(20453) found -[18014] Forked 20454 -(20454) found -[18013] Forked 20455 -(20455) found -[18012] Forked 20456 -(20456) found -[18011] Forked 20457 -(20457) found -[18010] Forked 20458 -(20458) found -[18009] Forked 20459 -(20459) found -[18008] Forked 20460 -(20460) found -[18007] Forked 20461 -(20461) found -[18006] Forked 20462 -(20462) found -[18005] Forked 20463 -(20463) found -[18004] Forked 20464 -(20464) found -[18003] Forked 20465 -(20465) found -[18002] Forked 20466 -(20466) found -[18001] Forked 20467 -(20467) found -[18000] Forked 20468 -[17999] Forked 20469 -(20468) found -(20469) found -[17998] Forked 20470 -[17997] Forked 20471 -(20470) found -(20471) found -[17996] Forked 20472 -(20472) found -[17995] Forked 20473 -[17994] Forked 20474 -(20473) found -(20474) found -[17993] Forked 20475 -[17992] Forked 20476 -(20475) found -(20476) found -[17991] Forked 20477 -[17990] Forked 20478 -(20477) found -(20478) found -[17989] Forked 20479 -[17988] Forked 20480 -(20479) found -(20480) found -[17987] Forked 20481 -[17986] Forked 20482 -(20481) found -(20482) found -[17985] Forked 20483 -(20483) found -[17984] Forked 20484 -[17983] Forked 20485 -(20484) found -(20485) found -[17982] Forked 20486 -[17981] Forked 20487 -(20486) found -(20487) found -[17980] Forked 20488 -[17979] Forked 20489 -(20488) found -(20489) found -[17978] Forked 20490 -[17977] Forked 20491 -(20490) found -(20491) found -[17976] Forked 20492 -[17975] Forked 20493 -(20492) found -(20493) found -[17974] Forked 20494 -[17973] Forked 20495 -(20494) found -(20495) found -[17972] Forked 20496 -[17971] Forked 20497 -(20496) found -(20497) found -[17970] Forked 20498 -[17969] Forked 20499 -(20498) found -(20499) found -[17968] Forked 20500 -[17967] Forked 20501 -(20500) found -(20501) found -[17966] Forked 20502 -[17965] Forked 20503 -(20502) found -(20503) found -[17964] Forked 20504 -[17963] Forked 20505 -(20504) found -(20505) found -[17962] Forked 20506 -[17961] Forked 20507 -(20506) found -(20507) found -[17960] Forked 20508 -[17959] Forked 20509 -(20508) found -(20509) found -[17958] Forked 20510 -[17957] Forked 20511 -(20510) found -(20511) found -[17956] Forked 20512 -(20512) found -[17955] Forked 20513 -(20513) found -[17954] Forked 20514 -(20514) found -[17953] Forked 20515 -(20515) found -[17952] Forked 20516 -(20516) found -[17951] Forked 20517 -(20517) found -[17950] Forked 20518 -(20518) found -[17949] Forked 20519 -(20519) found -[17948] Forked 20520 -(20520) found -[17947] Forked 20521 -(20521) found -[17946] Forked 20522 -(20522) found -[17945] Forked 20523 -(20523) found -[17944] Forked 20524 -(20524) found -[17943] Forked 20525 -(20525) found -[17942] Forked 20526 -(20526) found -[17941] Forked 20527 -(20527) found -[17940] Forked 20528 -(20528) found -[17939] Forked 20529 -(20529) found -[17938] Forked 20530 -(20530) found -[17937] Forked 20531 -(20531) found -[17936] Forked 20532 -(20532) found -[17935] Forked 20533 -(20533) found -[17934] Forked 20534 -(20534) found -[17933] Forked 20535 -(20535) found -[17932] Forked 20536 -(20536) found -[17931] Forked 20537 -(20537) found -[17930] Forked 20538 -(20538) found -[17929] Forked 20539 -(20539) found -[17928] Forked 20540 -(20540) found -[17927] Forked 20541 -(20541) found -[17926] Forked 20542 -(20542) found -[17925] Forked 20543 -(20543) found -[17924] Forked 20544 -(20544) found -[17923] Forked 20545 -(20545) found -[17922] Forked 20546 -(20546) found -[17921] Forked 20547 -(20547) found -[17920] Forked 20548 -[17919] Forked 20549 -(20548) found -(20549) found -[17918] Forked 20550 -[17917] Forked 20551 -(20550) found -(20551) found -[17916] Forked 20552 -[17915] Forked 20553 -(20552) found -(20553) found -[17914] Forked 20554 -[17913] Forked 20555 -(20554) found -(20555) found -[17912] Forked 20556 -[17911] Forked 20557 -(20556) found -(20557) found -[17910] Forked 20558 -[17909] Forked 20559 -(20558) found -(20559) found -[17908] Forked 20560 -[17907] Forked 20561 -(20560) found -(20561) found -[17906] Forked 20562 -[17905] Forked 20563 -(20562) found -(20563) found -[17904] Forked 20564 -[17903] Forked 20565 -(20564) found -(20565) found -[17902] Forked 20566 -[17901] Forked 20567 -(20566) found -(20567) found -[17900] Forked 20568 -[17899] Forked 20569 -(20568) found -(20569) found -[17898] Forked 20570 -[17897] Forked 20571 -(20570) found -(20571) found -[17896] Forked 20572 -[17895] Forked 20573 -(20572) found -(20573) found -[17894] Forked 20574 -[17893] Forked 20575 -(20574) found -(20575) found -[17892] Forked 20576 -[17891] Forked 20577 -(20576) found -(20577) found -[17890] Forked 20578 -[17889] Forked 20579 -(20578) found -(20579) found -[17888] Forked 20580 -(20580) found -[17887] Forked 20581 -(20581) found -[17886] Forked 20582 -[17885] Forked 20583 -(20582) found -(20583) found -[17884] Forked 20584 -[17883] Forked 20585 -(20584) found -(20585) found -[17882] Forked 20586 -[17881] Forked 20587 -(20586) found -(20587) found -[17880] Forked 20588 -[17879] Forked 20589 -(20588) found -(20589) found -[17878] Forked 20590 -[17877] Forked 20591 -(20590) found -(20591) found -[17876] Forked 20592 -[17875] Forked 20593 -(20592) found -(20593) found -[17874] Forked 20594 -[17873] Forked 20595 -(20594) found -(20595) found -[17872] Forked 20596 -[17871] Forked 20597 -(20596) found -(20597) found -[17870] Forked 20598 -[17869] Forked 20599 -(20598) found -(20599) found -[17868] Forked 20600 -[17867] Forked 20601 -(20600) found -(20601) found -[17866] Forked 20602 -[17865] Forked 20603 -(20602) found -(20603) found -[17864] Forked 20604 -[17863] Forked 20605 -(20604) found -(20605) found -[17862] Forked 20606 -[17861] Forked 20607 -(20606) found -(20607) found -[17860] Forked 20608 -[17859] Forked 20609 -(20608) found -(20609) found -[17858] Forked 20610 -[17857] Forked 20611 -(20610) found -(20611) found -[17856] Forked 20612 -[17855] Forked 20613 -(20612) found -(20613) found -[17854] Forked 20614 -[17853] Forked 20615 -(20614) found -(20615) found -[17852] Forked 20616 -[17851] Forked 20617 -(20616) found -(20617) found -[17850] Forked 20618 -[17849] Forked 20619 -(20618) found -(20619) found -[17848] Forked 20620 -[17847] Forked 20621 -(20620) found -(20621) found -[17846] Forked 20622 -[17845] Forked 20623 -(20622) found -(20623) found -[17844] Forked 20624 -[17843] Forked 20625 -(20624) found -(20625) found -[17842] Forked 20626 -[17841] Forked 20627 -(20626) found -(20627) found -[17840] Forked 20628 -[17839] Forked 20629 -(20628) found -(20629) found -[17838] Forked 20630 -[17837] Forked 20631 -(20630) found -(20631) found -[17836] Forked 20632 -[17835] Forked 20633 -(20632) found -(20633) found -[17834] Forked 20634 -[17833] Forked 20635 -(20634) found -(20635) found -[17832] Forked 20636 -[17831] Forked 20637 -(20636) found -(20637) found -[17830] Forked 20638 -(20638) found -[17829] Forked 20639 -(20639) found -[17828] Forked 20640 -(20640) found -[17827] Forked 20641 -(20641) found -[17826] Forked 20642 -(20642) found -[17825] Forked 20643 -(20643) found -[17824] Forked 20644 -(20644) found -[17823] Forked 20645 -(20645) found -[17822] Forked 20646 -(20646) found -[17821] Forked 20647 -(20647) found -[17820] Forked 20648 -(20648) found -[17819] Forked 20649 -(20649) found -[17818] Forked 20650 -(20650) found -[17817] Forked 20651 -(20651) found -[17816] Forked 20652 -(20652) found -[17815] Forked 20653 -(20653) found -[17814] Forked 20654 -(20654) found -[17813] Forked 20655 -(20655) found -[17812] Forked 20656 -(20656) found -[17811] Forked 20657 -(20657) found -[17810] Forked 20658 -(20658) found -[17809] Forked 20659 -(20659) found -[17808] Forked 20660 -(20660) found -[17807] Forked 20661 -(20661) found -[17806] Forked 20662 -(20662) found -[17805] Forked 20663 -(20663) found -[17804] Forked 20664 -(20664) found -[17803] Forked 20665 -(20665) found -[17802] Forked 20666 -(20666) found -[17801] Forked 20667 -(20667) found -[17800] Forked 20668 -(20668) found -[17799] Forked 20669 -(20669) found -[17798] Forked 20670 -(20670) found -[17797] Forked 20671 -(20671) found -[17796] Forked 20672 -(20672) found -[17795] Forked 20673 -[17794] Forked 20674 -(20673) found -(20674) found -[17793] Forked 20675 -[17792] Forked 20676 -(20676) found -(20675) found -[17791] Forked 20677 -(20677) found -[17790] Forked 20678 -(20678) found -[17789] Forked 20679 -(20679) found -[17788] Forked 20680 -(20680) found -[17787] Forked 20681 -(20681) found -[17786] Forked 20682 -(20682) found -[17785] Forked 20683 -(20683) found -[17784] Forked 20684 -(20684) found -[17783] Forked 20685 -(20685) found -[17782] Forked 20686 -(20686) found -[17781] Forked 20687 -(20687) found -[17780] Forked 20688 -(20688) found -[17779] Forked 20689 -(20689) found -[17778] Forked 20690 -(20690) found -[17777] Forked 20691 -(20691) found -[17776] Forked 20692 -(20692) found -[17775] Forked 20693 -(20693) found -[17774] Forked 20694 -(20694) found -[17773] Forked 20695 -(20695) found -[17772] Forked 20696 -(20696) found -[17771] Forked 20697 -(20697) found -[17770] Forked 20698 -(20698) found -[17769] Forked 20699 -(20699) found -[17768] Forked 20700 -(20700) found -[17767] Forked 20701 -(20701) found -[17766] Forked 20702 -(20702) found -[17765] Forked 20703 -(20703) found -[17764] Forked 20704 -(20704) found -[17763] Forked 20705 -(20705) found -[17762] Forked 20706 -(20706) found -[17761] Forked 20707 -(20707) found -[17760] Forked 20708 -(20708) found -[17759] Forked 20709 -(20709) found -[17758] Forked 20710 -(20710) found -[17757] Forked 20711 -(20711) found -[17756] Forked 20712 -(20712) found -[17755] Forked 20713 -(20713) found -[17754] Forked 20714 -(20714) found -[17753] Forked 20715 -(20715) found -[17752] Forked 20716 -(20716) found -[17751] Forked 20717 -(20717) found -[17750] Forked 20718 -(20718) found -[17749] Forked 20719 -(20719) found -[17748] Forked 20720 -(20720) found -[17747] Forked 20721 -(20721) found -[17746] Forked 20722 -(20722) found -[17745] Forked 20723 -(20723) found -[17744] Forked 20724 -(20724) found -[17743] Forked 20725 -(20725) found -[17742] Forked 20726 -(20726) found -[17741] Forked 20727 -(20727) found -[17740] Forked 20728 -(20728) found -[17739] Forked 20729 -(20729) found -[17738] Forked 20730 -(20730) found -[17737] Forked 20731 -(20731) found -[17736] Forked 20732 -(20732) found -[17735] Forked 20733 -(20733) found -[17734] Forked 20734 -(20734) found -[17733] Forked 20735 -(20735) found -[17732] Forked 20736 -(20736) found -[17731] Forked 20737 -(20737) found -[17730] Forked 20738 -(20738) found -[17729] Forked 20739 -(20739) found -[17728] Forked 20740 -(20740) found -[17727] Forked 20741 -(20741) found -[17726] Forked 20742 -(20742) found -[17725] Forked 20743 -(20743) found -[17724] Forked 20744 -[17723] Forked 20745 -(20744) found -(20745) found -[17722] Forked 20746 -[17721] Forked 20747 -(20746) found -(20747) found -[17720] Forked 20748 -[17719] Forked 20749 -(20748) found -(20749) found -[17718] Forked 20750 -[17717] Forked 20751 -(20750) found -(20751) found -[17716] Forked 20752 -[17715] Forked 20753 -(20752) found -(20753) found -[17714] Forked 20754 -[17713] Forked 20755 -(20754) found -(20755) found -[17712] Forked 20756 -[17711] Forked 20757 -(20756) found -(20757) found -[17710] Forked 20758 -[17709] Forked 20759 -(20758) found -(20759) found -[17708] Forked 20760 -[17707] Forked 20761 -(20760) found -(20761) found -[17706] Forked 20762 -[17705] Forked 20763 -(20762) found -(20763) found -[17704] Forked 20764 -[17703] Forked 20765 -(20764) found -(20765) found -[17702] Forked 20766 -[17701] Forked 20767 -(20766) found -(20767) found -[17700] Forked 20768 -[17699] Forked 20769 -(20768) found -(20769) found -[17698] Forked 20770 -[17697] Forked 20771 -(20770) found -(20771) found -[17696] Forked 20772 -[17695] Forked 20773 -(20772) found -(20773) found -[17694] Forked 20774 -[17693] Forked 20775 -(20774) found -(20775) found -[17692] Forked 20776 -[17691] Forked 20777 -(20776) found -(20777) found -[17690] Forked 20778 -[17689] Forked 20779 -(20778) found -(20779) found -[17688] Forked 20780 -[17687] Forked 20781 -(20780) found -(20781) found -[17686] Forked 20782 -[17685] Forked 20783 -(20782) found -(20783) found -[17684] Forked 20784 -[17683] Forked 20785 -(20784) found -(20785) found -[17682] Forked 20786 -[17681] Forked 20787 -(20786) found -(20787) found -[17680] Forked 20788 -[17679] Forked 20789 -(20788) found -(20789) found -[17678] Forked 20790 -[17677] Forked 20791 -(20790) found -(20791) found -[17676] Forked 20792 -[17675] Forked 20793 -(20792) found -(20793) found -[17674] Forked 20794 -[17673] Forked 20795 -(20794) found -(20795) found -[17672] Forked 20796 -[17671] Forked 20797 -(20796) found -(20797) found -[17670] Forked 20798 -[17669] Forked 20799 -(20798) found -(20799) found -[17668] Forked 20800 -[17667] Forked 20801 -(20800) found -(20801) found -[17666] Forked 20802 -[17665] Forked 20803 -(20802) found -(20803) found -[17664] Forked 20804 -[17663] Forked 20805 -(20804) found -(20805) found -[17662] Forked 20806 -[17661] Forked 20807 -(20806) found -(20807) found -[17660] Forked 20808 -[17659] Forked 20809 -(20808) found -(20809) found -[17658] Forked 20810 -[17657] Forked 20811 -(20810) found -(20811) found -[17656] Forked 20812 -[17655] Forked 20813 -(20812) found -(20813) found -[17654] Forked 20814 -[17653] Forked 20815 -(20814) found -(20815) found -[17652] Forked 20816 -[17651] Forked 20817 -(20816) found -(20817) found -[17650] Forked 20818 -[17649] Forked 20819 -(20818) found -(20819) found -[17648] Forked 20820 -[17647] Forked 20821 -(20820) found -(20821) found -[17646] Forked 20822 -[17645] Forked 20823 -(20822) found -(20823) found -[17644] Forked 20824 -[17643] Forked 20825 -(20824) found -(20825) found -[17642] Forked 20826 -[17641] Forked 20827 -(20826) found -(20827) found -[17640] Forked 20828 -[17639] Forked 20829 -(20828) found -(20829) found -[17638] Forked 20830 -[17637] Forked 20831 -(20830) found -(20831) found -[17636] Forked 20832 -[17635] Forked 20833 -(20832) found -(20833) found -[17634] Forked 20834 -(20834) found -[17633] Forked 20835 -[17632] Forked 20836 -(20835) found -(20836) found -[17631] Forked 20837 -[17630] Forked 20838 -(20837) found -(20838) found -[17629] Forked 20839 -[17628] Forked 20840 -(20839) found -(20840) found -[17627] Forked 20841 -[17626] Forked 20842 -(20841) found -(20842) found -[17625] Forked 20843 -[17624] Forked 20844 -(20843) found -(20844) found -[17623] Forked 20845 -[17622] Forked 20846 -(20845) found -(20846) found -[17621] Forked 20847 -[17620] Forked 20848 -(20847) found -(20848) found -[17619] Forked 20849 -[17618] Forked 20850 -(20849) found -(20850) found -[17617] Forked 20851 -[17616] Forked 20852 -(20851) found -(20852) found -[17615] Forked 20853 -[17614] Forked 20854 -(20853) found -(20854) found -[17613] Forked 20855 -[17612] Forked 20856 -(20855) found -(20856) found -[17611] Forked 20857 -[17610] Forked 20858 -(20857) found -(20858) found -[17609] Forked 20859 -[17608] Forked 20860 -(20859) found -(20860) found -[17607] Forked 20861 -[17606] Forked 20862 -(20861) found -(20862) found -[17605] Forked 20863 -[17604] Forked 20864 -(20863) found -(20864) found -[17603] Forked 20865 -[17602] Forked 20866 -(20865) found -(20866) found -[17601] Forked 20867 -[17600] Forked 20868 -(20867) found -(20868) found -[17599] Forked 20869 -[17598] Forked 20870 -(20869) found -(20870) found -[17597] Forked 20871 -[17596] Forked 20872 -(20871) found -(20872) found -[17595] Forked 20873 -[17594] Forked 20874 -(20873) found -(20874) found -[17593] Forked 20875 -[17592] Forked 20876 -(20875) found -(20876) found -[17591] Forked 20877 -[17590] Forked 20878 -(20877) found -(20878) found -[17589] Forked 20879 -[17588] Forked 20880 -(20879) found -(20880) found -[17587] Forked 20881 -[17586] Forked 20882 -(20881) found -(20882) found -[17585] Forked 20883 -[17584] Forked 20884 -(20883) found -(20884) found -[17583] Forked 20885 -[17582] Forked 20886 -(20885) found -(20886) found -[17581] Forked 20887 -[17580] Forked 20888 -(20887) found -(20888) found -[17579] Forked 20889 -[17578] Forked 20890 -(20889) found -(20890) found -[17577] Forked 20891 -[17576] Forked 20892 -(20891) found -(20892) found -[17575] Forked 20893 -[17574] Forked 20894 -(20893) found -(20894) found -[17573] Forked 20895 -[17572] Forked 20896 -(20895) found -(20896) found -[17571] Forked 20897 -[17570] Forked 20898 -(20897) found -(20898) found -[17569] Forked 20899 -[17568] Forked 20900 -(20899) found -(20900) found -[17567] Forked 20901 -[17566] Forked 20902 -(20901) found -(20902) found -[17565] Forked 20903 -[17564] Forked 20904 -(20903) found -(20904) found -[17563] Forked 20905 -[17562] Forked 20906 -(20905) found -(20906) found -[17561] Forked 20907 -[17560] Forked 20908 -(20907) found -(20908) found -[17559] Forked 20909 -[17558] Forked 20910 -(20909) found -(20910) found -[17557] Forked 20911 -[17556] Forked 20912 -(20911) found -(20912) found -[17555] Forked 20913 -[17554] Forked 20914 -(20913) found -(20914) found -[17553] Forked 20915 -[17552] Forked 20916 -(20915) found -(20916) found -[17551] Forked 20917 -[17550] Forked 20918 -(20917) found -(20918) found -[17549] Forked 20919 -[17548] Forked 20920 -(20919) found -(20920) found -[17547] Forked 20921 -[17546] Forked 20922 -(20921) found -(20922) found -[17545] Forked 20923 -[17544] Forked 20924 -(20923) found -(20924) found -[17543] Forked 20925 -[17542] Forked 20926 -(20925) found -(20926) found -[17541] Forked 20927 -[17540] Forked 20928 -(20927) found -(20928) found -[17539] Forked 20929 -[17538] Forked 20930 -(20929) found -(20930) found -[17537] Forked 20931 -[17536] Forked 20932 -(20931) found -(20932) found -[17535] Forked 20933 -[17534] Forked 20934 -(20933) found -(20934) found -[17533] Forked 20935 -[17532] Forked 20936 -(20935) found -(20936) found -[17531] Forked 20937 -[17530] Forked 20938 -(20937) found -(20938) found -[17529] Forked 20939 -[17528] Forked 20940 -(20939) found -(20940) found -[17527] Forked 20941 -[17526] Forked 20942 -(20941) found -(20942) found -[17525] Forked 20943 -[17524] Forked 20944 -(20943) found -(20944) found -[17523] Forked 20945 -[17522] Forked 20946 -(20945) found -(20946) found -[17521] Forked 20947 -[17520] Forked 20948 -(20947) found -(20948) found -[17519] Forked 20949 -[17518] Forked 20950 -(20949) found -(20950) found -[17517] Forked 20951 -[17516] Forked 20952 -(20951) found -(20952) found -[17515] Forked 20953 -[17514] Forked 20954 -(20953) found -(20954) found -[17513] Forked 20955 -[17512] Forked 20956 -(20955) found -(20956) found -[17511] Forked 20957 -[17510] Forked 20958 -(20957) found -(20958) found -[17509] Forked 20959 -[17508] Forked 20960 -(20959) found -(20960) found -[17507] Forked 20961 -[17506] Forked 20962 -(20961) found -(20962) found -[17505] Forked 20963 -[17504] Forked 20964 -(20963) found -(20964) found -[17503] Forked 20965 -[17502] Forked 20966 -(20965) found -(20966) found -[17501] Forked 20967 -[17500] Forked 20968 -(20967) found -(20968) found -[17499] Forked 20969 -[17498] Forked 20970 -(20969) found -(20970) found -[17497] Forked 20971 -[17496] Forked 20972 -(20971) found -(20972) found -[17495] Forked 20973 -(20973) found -[17494] Forked 20974 -(20974) found -[17493] Forked 20975 -(20975) found -[17492] Forked 20976 -(20976) found -[17491] Forked 20977 -(20977) found -[17490] Forked 20978 -(20978) found -[17489] Forked 20979 -(20979) found -[17488] Forked 20980 -(20980) found -[17487] Forked 20981 -(20981) found -[17486] Forked 20982 -(20982) found -[17485] Forked 20983 -(20983) found -[17484] Forked 20984 -(20984) found -[17483] Forked 20985 -(20985) found -[17482] Forked 20986 -(20986) found -[17481] Forked 20987 -(20987) found -[17480] Forked 20988 -(20988) found -[17479] Forked 20989 -(20989) found -[17478] Forked 20990 -(20990) found -[17477] Forked 20991 -(20991) found -[17476] Forked 20992 -(20992) found -[17475] Forked 20993 -(20993) found -[17474] Forked 20994 -(20994) found -[17473] Forked 20995 -(20995) found -[17472] Forked 20996 -(20996) found -[17471] Forked 20997 -(20997) found -[17470] Forked 20998 -(20998) found -[17469] Forked 20999 -(20999) found -[17468] Forked 21000 -(21000) found -[17467] Forked 21001 -(21001) found -[17466] Forked 21002 -(21002) found -[17465] Forked 21003 -(21003) found -[17464] Forked 21004 -(21004) found -[17463] Forked 21005 -(21005) found -[17462] Forked 21006 -(21006) found -[17461] Forked 21007 -(21007) found -[17460] Forked 21008 -[17459] Forked 21009 -(21008) found -(21009) found -[17458] Forked 21010 -[17457] Forked 21011 -(21010) found -(21011) found -[17456] Forked 21012 -[17455] Forked 21013 -(21012) found -(21013) found -[17454] Forked 21014 -[17453] Forked 21015 -(21014) found -(21015) found -[17452] Forked 21016 -[17451] Forked 21017 -(21016) found -(21017) found -[17450] Forked 21018 -[17449] Forked 21019 -(21018) found -(21019) found -[17448] Forked 21020 -[17447] Forked 21021 -(21020) found -(21021) found -[17446] Forked 21022 -[17445] Forked 21023 -(21022) found -(21023) found -[17444] Forked 21024 -[17443] Forked 21025 -(21024) found -(21025) found -[17442] Forked 21026 -[17441] Forked 21027 -(21026) found -(21027) found -[17440] Forked 21028 -[17439] Forked 21029 -(21028) found -(21029) found -[17438] Forked 21030 -[17437] Forked 21031 -(21030) found -(21031) found -[17436] Forked 21032 -[17435] Forked 21033 -(21032) found -(21033) found -[17434] Forked 21034 -[17433] Forked 21035 -(21034) found -(21035) found -[17432] Forked 21036 -[17431] Forked 21037 -(21036) found -(21037) found -[17430] Forked 21038 -[17429] Forked 21039 -(21038) found -(21039) found -[17428] Forked 21040 -[17427] Forked 21041 -(21040) found -(21041) found -[17426] Forked 21042 -[17425] Forked 21043 -(21042) found -(21043) found -[17424] Forked 21044 -[17423] Forked 21045 -(21044) found -(21045) found -[17422] Forked 21046 -[17421] Forked 21047 -(21046) found -(21047) found -[17420] Forked 21048 -[17419] Forked 21049 -(21048) found -(21049) found -[17418] Forked 21050 -[17417] Forked 21051 -(21050) found -(21051) found -[17416] Forked 21052 -[17415] Forked 21053 -(21052) found -(21053) found -[17414] Forked 21054 -(21054) found -[17413] Forked 21055 -(21055) found -[17412] Forked 21056 -(21056) found -[17411] Forked 21057 -(21057) found -[17410] Forked 21058 -(21058) found -[17409] Forked 21059 -(21059) found -[17408] Forked 21060 -(21060) found -[17407] Forked 21061 -(21061) found -[17406] Forked 21062 -(21062) found -[17405] Forked 21063 -(21063) found -[17404] Forked 21064 -(21064) found -[17403] Forked 21065 -(21065) found -[17402] Forked 21066 -(21066) found -[17401] Forked 21067 -(21067) found -[17400] Forked 21068 -(21068) found -[17399] Forked 21069 -(21069) found -[17398] Forked 21070 -(21070) found -[17397] Forked 21071 -(21071) found -[17396] Forked 21072 -(21072) found -[17395] Forked 21073 -(21073) found -[17394] Forked 21074 -(21074) found -[17393] Forked 21075 -(21075) found -[17392] Forked 21076 -(21076) found -[17391] Forked 21077 -(21077) found -[17390] Forked 21078 -(21078) found -[17389] Forked 21079 -(21079) found -[17388] Forked 21080 -(21080) found -[17387] Forked 21081 -(21081) found -[17386] Forked 21082 -(21082) found -[17385] Forked 21083 -(21083) found -[17384] Forked 21084 -(21084) found -[17383] Forked 21085 -(21085) found -[17382] Forked 21086 -(21086) found -[17381] Forked 21087 -(21087) found -[17380] Forked 21088 -[17379] Forked 21089 -(21088) found -(21089) found -[17378] Forked 21090 -[17377] Forked 21091 -(21090) found -(21091) found -[17376] Forked 21092 -[17375] Forked 21093 -(21092) found -(21093) found -[17374] Forked 21094 -[17373] Forked 21095 -(21094) found -(21095) found -[17372] Forked 21096 -[17371] Forked 21097 -(21096) found -(21097) found -[17370] Forked 21098 -[17369] Forked 21099 -(21098) found -(21099) found -[17368] Forked 21100 -[17367] Forked 21101 -(21100) found -(21101) found -[17366] Forked 21102 -[17365] Forked 21103 -(21102) found -(21103) found -[17364] Forked 21104 -[17363] Forked 21105 -(21104) found -(21105) found -[17362] Forked 21106 -[17361] Forked 21107 -(21106) found -(21107) found -[17360] Forked 21108 -[17359] Forked 21109 -(21108) found -(21109) found -[17358] Forked 21110 -[17357] Forked 21111 -(21110) found -(21111) found -[17356] Forked 21112 -[17355] Forked 21113 -(21112) found -(21113) found -[17354] Forked 21114 -[17353] Forked 21115 -(21114) found -(21115) found -[17352] Forked 21116 -[17351] Forked 21117 -(21116) found -(21117) found -[17350] Forked 21118 -[17349] Forked 21119 -(21118) found -(21119) found -[17348] Forked 21120 -[17347] Forked 21121 -(21120) found -(21121) found -[17346] Forked 21122 -[17345] Forked 21123 -(21122) found -(21123) found -[17344] Forked 21124 -[17343] Forked 21125 -(21124) found -(21125) found -[17342] Forked 21126 -[17341] Forked 21127 -(21126) found -(21127) found -[17340] Forked 21128 -[17339] Forked 21129 -(21128) found -(21129) found -[17338] Forked 21130 -[17337] Forked 21131 -(21130) found -(21131) found -[17336] Forked 21132 -[17335] Forked 21133 -(21132) found -(21133) found -[17334] Forked 21134 -(21134) found -[17333] Forked 21135 -(21135) found -[17332] Forked 21136 -(21136) found -[17331] Forked 21137 -(21137) found -[17330] Forked 21138 -(21138) found -[17329] Forked 21139 -(21139) found -[17328] Forked 21140 -(21140) found -[17327] Forked 21141 -(21141) found -[17326] Forked 21142 -(21142) found -[17325] Forked 21143 -(21143) found -[17324] Forked 21144 -(21144) found -[17323] Forked 21145 -(21145) found -[17322] Forked 21146 -(21146) found -[17321] Forked 21147 -(21147) found -[17320] Forked 21148 -(21148) found -[17319] Forked 21149 -(21149) found -[17318] Forked 21150 -(21150) found -[17317] Forked 21151 -(21151) found -[17316] Forked 21152 -(21152) found -[17315] Forked 21153 -(21153) found -[17314] Forked 21154 -(21154) found -[17313] Forked 21155 -(21155) found -[17312] Forked 21156 -(21156) found -[17311] Forked 21157 -(21157) found -[17310] Forked 21158 -(21158) found -[17309] Forked 21159 -(21159) found -[17308] Forked 21160 -(21160) found -[17307] Forked 21161 -(21161) found -[17306] Forked 21162 -(21162) found -[17305] Forked 21163 -(21163) found -[17304] Forked 21164 -(21164) found -[17303] Forked 21165 -(21165) found -[17302] Forked 21166 -(21166) found -[17301] Forked 21167 -(21167) found -[17300] Forked 21168 -(21168) found -[17299] Forked 21169 -[17298] Forked 21170 -(21169) found -(21170) found -[17297] Forked 21171 -[17296] Forked 21172 -(21171) found -(21172) found -[17295] Forked 21173 -[17294] Forked 21174 -(21173) found -(21174) found -[17293] Forked 21175 -[17292] Forked 21176 -(21175) found -(21176) found -[17291] Forked 21177 -[17290] Forked 21178 -(21177) found -(21178) found -[17289] Forked 21179 -[17288] Forked 21180 -(21179) found -(21180) found -[17287] Forked 21181 -[17286] Forked 21182 -(21181) found -(21182) found -[17285] Forked 21183 -[17284] Forked 21184 -(21183) found -(21184) found -[17283] Forked 21185 -[17282] Forked 21186 -(21185) found -(21186) found -[17281] Forked 21187 -[17280] Forked 21188 -(21187) found -(21188) found -[17279] Forked 21189 -[17278] Forked 21190 -(21189) found -(21190) found -[17277] Forked 21191 -[17276] Forked 21192 -(21191) found -(21192) found -[17275] Forked 21193 -[17274] Forked 21194 -(21193) found -(21194) found -[17273] Forked 21195 -[17272] Forked 21196 -(21195) found -(21196) found -[17271] Forked 21197 -[17270] Forked 21198 -(21197) found -(21198) found -[17269] Forked 21199 -[17268] Forked 21200 -(21199) found -(21200) found -[17267] Forked 21201 -[17266] Forked 21202 -(21201) found -(21202) found -[17265] Forked 21203 -[17264] Forked 21204 -(21203) found -(21204) found -[17263] Forked 21205 -[17262] Forked 21206 -(21205) found -(21206) found -[17261] Forked 21207 -[17260] Forked 21208 -(21207) found -(21208) found -[17259] Forked 21209 -[17258] Forked 21210 -(21209) found -(21210) found -[17257] Forked 21211 -[17256] Forked 21212 -(21211) found -(21212) found -[17255] Forked 21213 -[17254] Forked 21214 -(21213) found -(21214) found -[17253] Forked 21215 -(21215) found -[17252] Forked 21216 -(21216) found -[17251] Forked 21217 -(21217) found -[17250] Forked 21218 -(21218) found -[17249] Forked 21219 -(21219) found -[17248] Forked 21220 -(21220) found -[17247] Forked 21221 -(21221) found -[17246] Forked 21222 -(21222) found -[17245] Forked 21223 -(21223) found -[17244] Forked 21224 -(21224) found -[17243] Forked 21225 -(21225) found -[17242] Forked 21226 -(21226) found -[17241] Forked 21227 -(21227) found -[17240] Forked 21228 -(21228) found -[17239] Forked 21229 -(21229) found -[17238] Forked 21230 -(21230) found -[17237] Forked 21231 -(21231) found -[17236] Forked 21232 -(21232) found -[17235] Forked 21233 -(21233) found -[17234] Forked 21234 -(21234) found -[17233] Forked 21235 -(21235) found -[17232] Forked 21236 -(21236) found -[17231] Forked 21237 -(21237) found -[17230] Forked 21238 -(21238) found -[17229] Forked 21239 -(21239) found -[17228] Forked 21240 -(21240) found -[17227] Forked 21241 -(21241) found -[17226] Forked 21242 -(21242) found -[17225] Forked 21243 -(21243) found -[17224] Forked 21244 -(21244) found -[17223] Forked 21245 -(21245) found -[17222] Forked 21246 -(21246) found -[17221] Forked 21247 -(21247) found -[17220] Forked 21248 -(21248) found -[17219] Forked 21249 -(21249) found -[17218] Forked 21250 -[17217] Forked 21251 -(21250) found -(21251) found -[17216] Forked 21252 -(21252) found -[17215] Forked 21253 -(21253) found -[17214] Forked 21254 -(21254) found -[17213] Forked 21255 -[17212] Forked 21256 -(21255) found -(21256) found -[17211] Forked 21257 -[17210] Forked 21258 -(21257) found -(21258) found -[17209] Forked 21259 -[17208] Forked 21260 -(21259) found -(21260) found -[17207] Forked 21261 -[17206] Forked 21262 -(21261) found -(21262) found -[17205] Forked 21263 -[17204] Forked 21264 -(21263) found -(21264) found -[17203] Forked 21265 -[17202] Forked 21266 -(21265) found -(21266) found -[17201] Forked 21267 -[17200] Forked 21268 -(21267) found -(21268) found -[17199] Forked 21269 -[17198] Forked 21270 -(21269) found -(21270) found -[17197] Forked 21271 -[17196] Forked 21272 -(21271) found -(21272) found -[17195] Forked 21273 -[17194] Forked 21274 -(21273) found -(21274) found -[17193] Forked 21275 -[17192] Forked 21276 -(21275) found -(21276) found -[17191] Forked 21277 -[17190] Forked 21279 -(21277) found -(21279) found -[17189] Forked 21280 -(21280) found -[17188] Forked 21281 -(21281) found -[17187] Forked 21282 -(21282) found -[17186] Forked 21283 -(21283) found -[17185] Forked 21284 -(21284) found -[17184] Forked 21285 -(21285) found -[17183] Forked 21286 -(21286) found -[17182] Forked 21287 -(21287) found -[17181] Forked 21288 -(21288) found -[17180] Forked 21289 -(21289) found -[17179] Forked 21290 -(21290) found -[17178] Forked 21291 -(21291) found -[17177] Forked 21292 -(21292) found -[17176] Forked 21293 -(21293) found -[17175] Forked 21294 -(21294) found -[17174] Forked 21295 -(21295) found -[17173] Forked 21296 -(21296) found -[17172] Forked 21297 -(21297) found -[17171] Forked 21298 -(21298) found -[17170] Forked 21299 -(21299) found -[17169] Forked 21300 -(21300) found -[17168] Forked 21301 -(21301) found -[17167] Forked 21302 -(21302) found -[17166] Forked 21303 -(21303) found -[17165] Forked 21304 -(21304) found -[17164] Forked 21305 -(21305) found -[17163] Forked 21306 -(21306) found -[17162] Forked 21307 -(21307) found -[17161] Forked 21308 -(21308) found -[17160] Forked 21309 -(21309) found -[17159] Forked 21310 -(21310) found -[17158] Forked 21311 -(21311) found -[17157] Forked 21312 -(21312) found -[17156] Forked 21313 -(21313) found -[17155] Forked 21314 -(21314) found -[17154] Forked 21315 -(21315) found -[17153] Forked 21316 -(21316) found -[17152] Forked 21317 -(21317) found -[17151] Forked 21318 -(21318) found -[17150] Forked 21319 -(21319) found -[17149] Forked 21320 -(21320) found -[17148] Forked 21321 -(21321) found -[17147] Forked 21322 -(21322) found -[17146] Forked 21323 -(21323) found -[17145] Forked 21324 -(21324) found -[17144] Forked 21325 -(21325) found -[17143] Forked 21326 -(21326) found -[17142] Forked 21327 -(21327) found -[17141] Forked 21328 -(21328) found -[17140] Forked 21329 -(21329) found -[17139] Forked 21330 -(21330) found -[17138] Forked 21331 -(21331) found -[17137] Forked 21332 -[17136] Forked 21333 -(21332) found -(21333) found -[17135] Forked 21334 -[17134] Forked 21335 -(21334) found -(21335) found -[17133] Forked 21336 -[17132] Forked 21337 -(21336) found -(21337) found -[17131] Forked 21338 -[17130] Forked 21339 -(21338) found -(21339) found -[17129] Forked 21340 -[17128] Forked 21341 -(21340) found -(21341) found -[17127] Forked 21342 -[17126] Forked 21343 -(21342) found -(21343) found -[17125] Forked 21344 -[17124] Forked 21345 -(21344) found -(21345) found -[17123] Forked 21346 -[17122] Forked 21347 -(21346) found -(21347) found -[17121] Forked 21348 -[17120] Forked 21349 -(21348) found -(21349) found -[17119] Forked 21350 -[17118] Forked 21351 -(21350) found -(21351) found -[17117] Forked 21352 -[17116] Forked 21353 -(21352) found -(21353) found -[17115] Forked 21354 -[17114] Forked 21355 -(21354) found -(21355) found -[17113] Forked 21356 -[17112] Forked 21357 -(21356) found -(21357) found -[17111] Forked 21358 -[17110] Forked 21359 -(21358) found -(21359) found -[17109] Forked 21360 -[17108] Forked 21361 -(21360) found -(21361) found -[17107] Forked 21362 -[17106] Forked 21363 -(21362) found -(21363) found -[17105] Forked 21364 -[17104] Forked 21365 -(21364) found -(21365) found -[17103] Forked 21366 -[17102] Forked 21367 -(21366) found -(21367) found -[17101] Forked 21368 -[17100] Forked 21369 -(21368) found -(21369) found -[17099] Forked 21370 -[17098] Forked 21371 -(21370) found -(21371) found -[17097] Forked 21372 -[17096] Forked 21373 -(21372) found -(21373) found -[17095] Forked 21374 -[17094] Forked 21375 -(21374) found -(21375) found -[17093] Forked 21376 -[17092] Forked 21377 -(21376) found -(21377) found -[17091] Forked 21378 -[17090] Forked 21379 -(21379) found -(21378) found -[17089] Forked 21380 -(21380) found -[17088] Forked 21381 -(21381) found -[17087] Forked 21382 -(21382) found -[17086] Forked 21383 -(21383) found -[17085] Forked 21384 -(21384) found -[17084] Forked 21385 -(21385) found -[17083] Forked 21386 -(21386) found -[17082] Forked 21387 -(21387) found -[17081] Forked 21388 -(21388) found -[17080] Forked 21389 -(21389) found -[17079] Forked 21390 -(21390) found -[17078] Forked 21391 -(21391) found -[17077] Forked 21392 -(21392) found -[17076] Forked 21393 -(21393) found -[17075] Forked 21394 -(21394) found -[17074] Forked 21395 -(21395) found -[17073] Forked 21396 -(21396) found -[17072] Forked 21397 -(21397) found -[17071] Forked 21398 -(21398) found -[17070] Forked 21399 -(21399) found -[17069] Forked 21400 -(21400) found -[17068] Forked 21401 -(21401) found -[17067] Forked 21402 -(21402) found -[17066] Forked 21403 -(21403) found -[17065] Forked 21404 -(21404) found -[17064] Forked 21405 -(21405) found -[17063] Forked 21406 -(21406) found -[17062] Forked 21407 -(21407) found -[17061] Forked 21408 -(21408) found -[17060] Forked 21409 -(21409) found -[17059] Forked 21410 -(21410) found -[17058] Forked 21411 -(21411) found -[17057] Forked 21412 -(21412) found -[17056] Forked 21413 -[17055] Forked 21414 -(21413) found -(21414) found -[17054] Forked 21415 -[17053] Forked 21416 -(21415) found -(21416) found -[17052] Forked 21417 -[17051] Forked 21418 -(21417) found -(21418) found -[17050] Forked 21419 -[17049] Forked 21420 -(21419) found -(21420) found -[17048] Forked 21421 -[17047] Forked 21422 -(21421) found -(21422) found -[17046] Forked 21423 -[17045] Forked 21424 -(21423) found -(21424) found -[17044] Forked 21425 -[17043] Forked 21426 -(21425) found -(21426) found -[17042] Forked 21427 -[17041] Forked 21428 -(21427) found -(21428) found -[17040] Forked 21429 -[17039] Forked 21430 -(21429) found -(21430) found -[17038] Forked 21431 -[17037] Forked 21432 -(21431) found -(21432) found -[17036] Forked 21433 -[17035] Forked 21434 -(21433) found -(21434) found -[17034] Forked 21435 -[17033] Forked 21436 -(21435) found -(21436) found -[17032] Forked 21437 -[17031] Forked 21438 -(21437) found -(21438) found -[17030] Forked 21439 -[17029] Forked 21440 -(21439) found -(21440) found -[17028] Forked 21441 -[17027] Forked 21442 -(21441) found -(21442) found -[17026] Forked 21443 -[17025] Forked 21444 -(21443) found -(21444) found -[17024] Forked 21445 -[17023] Forked 21446 -(21445) found -(21446) found -[17022] Forked 21447 -[17021] Forked 21448 -(21447) found -(21448) found -[17020] Forked 21449 -[17019] Forked 21450 -(21449) found -(21450) found -[17018] Forked 21451 -[17017] Forked 21452 -(21451) found -(21452) found -[17016] Forked 21453 -[17015] Forked 21454 -(21454) found -(21453) found -[17014] Forked 21455 -(21455) found -[17013] Forked 21456 -(21456) found -[17012] Forked 21457 -(21457) found -[17011] Forked 21458 -(21458) found -[17010] Forked 21459 -(21459) found -[17009] Forked 21460 -(21460) found -[17008] Forked 21461 -(21461) found -[17007] Forked 21462 -(21462) found -[17006] Forked 21463 -(21463) found -[17005] Forked 21464 -(21464) found -[17004] Forked 21465 -(21465) found -[17003] Forked 21466 -(21466) found -[17002] Forked 21467 -(21467) found -[17001] Forked 21468 -(21468) found -[17000] Forked 21469 -(21469) found -[16999] Forked 21470 -(21470) found -[16998] Forked 21471 -(21471) found -[16997] Forked 21472 -(21472) found -[16996] Forked 21473 -(21473) found -[16995] Forked 21474 -(21474) found -[16994] Forked 21475 -(21475) found -[16993] Forked 21476 -(21476) found -[16992] Forked 21477 -(21477) found -[16991] Forked 21478 -(21478) found -[16990] Forked 21479 -(21479) found -[16989] Forked 21480 -(21480) found -[16988] Forked 21481 -(21481) found -[16987] Forked 21482 -(21482) found -[16986] Forked 21483 -(21483) found -[16985] Forked 21484 -(21484) found -[16984] Forked 21485 -(21485) found -[16983] Forked 21486 -(21486) found -[16982] Forked 21487 -(21487) found -[16981] Forked 21488 -(21488) found -[16980] Forked 21489 -(21489) found -[16979] Forked 21490 -[16978] Forked 21491 -(21490) found -(21491) found -[16977] Forked 21492 -[16976] Forked 21493 -(21492) found -(21493) found -[16975] Forked 21494 -[16974] Forked 21495 -(21494) found -(21495) found -[16973] Forked 21496 -[16972] Forked 21497 -(21496) found -(21497) found -[16971] Forked 21498 -[16970] Forked 21499 -(21498) found -(21499) found -[16969] Forked 21500 -[16968] Forked 21501 -(21500) found -(21501) found -[16967] Forked 21502 -[16966] Forked 21503 -(21502) found -(21503) found -[16965] Forked 21504 -[16964] Forked 21505 -(21504) found -(21505) found -[16963] Forked 21506 -[16962] Forked 21507 -(21506) found -(21507) found -[16961] Forked 21508 -[16960] Forked 21509 -(21508) found -(21509) found -[16959] Forked 21510 -[16958] Forked 21511 -(21510) found -(21511) found -[16957] Forked 21512 -[16956] Forked 21513 -(21512) found -(21513) found -[16955] Forked 21514 -[16954] Forked 21515 -(21514) found -(21515) found -[16953] Forked 21516 -[16952] Forked 21517 -(21516) found -(21517) found -[16951] Forked 21518 -[16950] Forked 21519 -(21518) found -(21519) found -[16949] Forked 21520 -[16948] Forked 21521 -(21520) found -(21521) found -[16947] Forked 21522 -[16946] Forked 21523 -(21522) found -(21523) found -[16945] Forked 21524 -[16944] Forked 21525 -(21524) found -(21525) found -[16943] Forked 21526 -[16942] Forked 21527 -(21526) found -(21527) found -[16941] Forked 21528 -[16940] Forked 21529 -(21528) found -(21529) found -[16939] Forked 21530 -[16938] Forked 21531 -(21530) found -(21531) found -[16937] Forked 21532 -[16936] Forked 21533 -(21532) found -(21533) found -[16935] Forked 21534 -[16934] Forked 21535 -(21534) found -(21535) found -[16933] Forked 21536 -[16932] Forked 21537 -(21536) found -(21537) found -[16931] Forked 21538 -[16930] Forked 21539 -(21538) found -(21539) found -[16929] Forked 21540 -[16928] Forked 21541 -(21540) found -(21541) found -[16927] Forked 21542 -[16926] Forked 21543 -(21542) found -(21543) found -[16925] Forked 21544 -[16924] Forked 21545 -(21544) found -(21545) found -[16923] Forked 21546 -[16922] Forked 21547 -(21546) found -(21547) found -[16921] Forked 21548 -[16920] Forked 21549 -(21548) found -(21549) found -[16919] Forked 21550 -[16918] Forked 21551 -(21550) found -(21551) found -[16917] Forked 21552 -[16916] Forked 21553 -(21552) found -(21553) found -[16915] Forked 21554 -[16914] Forked 21555 -(21554) found -(21555) found -[16913] Forked 21556 -[16912] Forked 21557 -(21556) found -(21557) found -[16911] Forked 21558 -[16910] Forked 21559 -(21558) found -(21559) found -[16909] Forked 21560 -[16908] Forked 21561 -(21560) found -(21561) found -[16907] Forked 21562 -[16906] Forked 21563 -(21562) found -(21563) found -[16905] Forked 21564 -[16904] Forked 21565 -(21564) found -(21565) found -[16903] Forked 21566 -[16902] Forked 21567 -(21566) found -(21567) found -[16901] Forked 21568 -[16900] Forked 21569 -(21568) found -(21569) found -[16899] Forked 21570 -[16898] Forked 21571 -(21570) found -(21571) found -[16897] Forked 21572 -[16896] Forked 21573 -(21572) found -(21573) found -[16895] Forked 21574 -[16894] Forked 21575 -(21574) found -(21575) found -[16893] Forked 21576 -[16892] Forked 21577 -(21576) found -(21577) found -[16891] Forked 21578 -[16890] Forked 21579 -(21578) found -(21579) found -[16889] Forked 21580 -[16888] Forked 21581 -(21580) found -(21581) found -[16887] Forked 21582 -[16886] Forked 21583 -(21582) found -(21583) found -[16885] Forked 21584 -[16884] Forked 21585 -(21584) found -(21585) found -[16883] Forked 21586 -[16882] Forked 21587 -(21586) found -(21587) found -[16881] Forked 21588 -[16880] Forked 21589 -(21588) found -(21589) found -[16879] Forked 21590 -[16878] Forked 21591 -(21590) found -(21591) found -[16877] Forked 21592 -[16876] Forked 21593 -(21592) found -(21593) found -[16875] Forked 21594 -[16874] Forked 21595 -(21594) found -(21595) found -[16873] Forked 21596 -[16872] Forked 21597 -(21596) found -(21597) found -[16871] Forked 21598 -[16870] Forked 21599 -(21598) found -(21599) found -[16869] Forked 21600 -[16868] Forked 21601 -(21600) found -(21601) found -[16867] Forked 21602 -[16866] Forked 21603 -(21602) found -(21603) found -[16865] Forked 21604 -[16864] Forked 21605 -(21604) found -(21605) found -[16863] Forked 21606 -[16862] Forked 21607 -(21606) found -(21607) found -[16861] Forked 21608 -[16860] Forked 21609 -(21608) found -(21609) found -[16859] Forked 21610 -[16858] Forked 21611 -(21610) found -(21611) found -[16857] Forked 21612 -[16856] Forked 21613 -(21612) found -(21613) found -[16855] Forked 21614 -[16854] Forked 21615 -(21614) found -(21615) found -[16853] Forked 21616 -[16852] Forked 21617 -(21616) found -(21617) found -[16851] Forked 21618 -[16850] Forked 21619 -(21618) found -(21619) found -[16849] Forked 21620 -[16848] Forked 21621 -(21620) found -(21621) found -[16847] Forked 21622 -[16846] Forked 21623 -(21622) found -(21623) found -[16845] Forked 21624 -[16844] Forked 21625 -(21624) found -(21625) found -[16843] Forked 21626 -[16842] Forked 21627 -(21626) found -(21627) found -[16841] Forked 21628 -[16840] Forked 21630 -(21628) found -(21630) found -[16839] Forked 21631 -(21631) found -[16838] Forked 21632 -(21632) found -[16837] Forked 21633 -(21633) found -[16836] Forked 21634 -(21634) found -[16835] Forked 21635 -(21635) found -[16834] Forked 21636 -(21636) found -[16833] Forked 21637 -(21637) found -[16832] Forked 21638 -(21638) found -[16831] Forked 21639 -(21639) found -[16830] Forked 21640 -(21640) found -[16829] Forked 21641 -(21641) found -[16828] Forked 21642 -(21642) found -[16827] Forked 21643 -(21643) found -[16826] Forked 21644 -(21644) found -[16825] Forked 21645 -(21645) found -[16824] Forked 21646 -(21646) found -[16823] Forked 21647 -(21647) found -[16822] Forked 21648 -(21648) found -[16821] Forked 21649 -(21649) found -[16820] Forked 21650 -(21650) found -[16819] Forked 21651 -(21651) found -[16818] Forked 21652 -(21652) found -[16817] Forked 21653 -(21653) found -[16816] Forked 21654 -(21654) found -[16815] Forked 21655 -(21655) found -[16814] Forked 21656 -(21656) found -[16813] Forked 21657 -(21657) found -[16812] Forked 21658 -(21658) found -[16811] Forked 21659 -(21659) found -[16810] Forked 21660 -[16809] Forked 21661 -(21660) found -(21661) found -[16808] Forked 21662 -[16807] Forked 21663 -(21662) found -(21663) found -[16806] Forked 21664 -[16805] Forked 21665 -(21664) found -(21665) found -[16804] Forked 21666 -[16803] Forked 21667 -(21666) found -(21667) found -[16802] Forked 21668 -[16801] Forked 21669 -(21668) found -(21669) found -[16800] Forked 21670 -[16799] Forked 21671 -(21670) found -(21671) found -[16798] Forked 21672 -[16797] Forked 21673 -(21672) found -(21673) found -[16796] Forked 21674 -[16795] Forked 21675 -(21674) found -(21675) found -[16794] Forked 21676 -[16793] Forked 21677 -(21676) found -(21677) found -[16792] Forked 21678 -[16791] Forked 21679 -(21678) found -(21679) found -[16790] Forked 21680 -[16789] Forked 21681 -(21680) found -(21681) found -[16788] Forked 21682 -[16787] Forked 21683 -(21682) found -(21683) found -[16786] Forked 21684 -[16785] Forked 21685 -(21684) found -(21685) found -[16784] Forked 21686 -[16783] Forked 21687 -(21686) found -(21687) found -[16782] Forked 21688 -[16781] Forked 21689 -(21688) found -(21689) found -[16780] Forked 21690 -[16779] Forked 21691 -(21690) found -(21691) found -[16778] Forked 21692 -[16777] Forked 21693 -(21692) found -(21693) found -[16776] Forked 21694 -[16775] Forked 21695 -(21694) found -(21695) found -[16774] Forked 21696 -[16773] Forked 21697 -(21696) found -(21697) found -[16772] Forked 21698 -(21698) found -[16771] Forked 21699 -[16770] Forked 21700 -(21699) found -(21700) found -[16769] Forked 21701 -[16768] Forked 21702 -(21701) found -(21702) found -[16767] Forked 21703 -[16766] Forked 21704 -(21703) found -(21704) found -[16765] Forked 21705 -[16764] Forked 21706 -(21705) found -(21706) found -[16763] Forked 21707 -[16762] Forked 21708 -(21707) found -(21708) found -[16761] Forked 21709 -[16760] Forked 21710 -(21709) found -(21710) found -[16759] Forked 21711 -[16758] Forked 21712 -(21711) found -(21712) found -[16757] Forked 21713 -[16756] Forked 21714 -(21713) found -(21714) found -[16755] Forked 21715 -[16754] Forked 21716 -(21715) found -(21716) found -[16753] Forked 21717 -[16752] Forked 21718 -(21717) found -(21718) found -[16751] Forked 21719 -[16750] Forked 21720 -(21719) found -(21720) found -[16749] Forked 21721 -[16748] Forked 21722 -(21721) found -(21722) found -[16747] Forked 21723 -[16746] Forked 21724 -(21723) found -(21724) found -[16745] Forked 21725 -[16744] Forked 21726 -(21725) found -(21726) found -[16743] Forked 21727 -[16742] Forked 21728 -(21727) found -(21728) found -[16741] Forked 21729 -[16740] Forked 21730 -(21729) found -(21730) found -[16739] Forked 21731 -[16738] Forked 21732 -(21731) found -(21732) found -[16737] Forked 21733 -[16736] Forked 21734 -(21733) found -(21734) found -[16735] Forked 21735 -[16734] Forked 21736 -(21735) found -(21736) found -[16733] Forked 21737 -[16732] Forked 21738 -(21737) found -(21738) found -[16731] Forked 21739 -[16730] Forked 21740 -(21739) found -(21740) found -[16729] Forked 21741 -[16728] Forked 21742 -(21741) found -(21742) found -[16727] Forked 21743 -[16726] Forked 21744 -(21743) found -(21744) found -[16725] Forked 21745 -[16724] Forked 21746 -(21745) found -(21746) found -[16723] Forked 21747 -[16722] Forked 21749 -(21747) found -(21749) found -[16721] Forked 21750 -(21750) found -[16720] Forked 21751 -(21751) found -[16719] Forked 21752 -(21752) found -[16718] Forked 21753 -(21753) found -[16717] Forked 21754 -(21754) found -[16716] Forked 21755 -(21755) found -[16715] Forked 21756 -(21756) found -[16714] Forked 21757 -(21757) found -[16713] Forked 21758 -(21758) found -[16712] Forked 21759 -(21759) found -[16711] Forked 21760 -(21760) found -[16710] Forked 21761 -(21761) found -[16709] Forked 21762 -(21762) found -[16708] Forked 21763 -(21763) found -[16707] Forked 21764 -(21764) found -[16706] Forked 21765 -(21765) found -[16705] Forked 21766 -(21766) found -[16704] Forked 21767 -(21767) found -[16703] Forked 21768 -(21768) found -[16702] Forked 21769 -(21769) found -[16701] Forked 21770 -(21770) found -[16700] Forked 21771 -(21771) found -[16699] Forked 21772 -(21772) found -[16698] Forked 21773 -(21773) found -[16697] Forked 21774 -(21774) found -[16696] Forked 21775 -(21775) found -[16695] Forked 21776 -(21776) found -[16694] Forked 21777 -(21777) found -[16693] Forked 21778 -(21778) found -[16692] Forked 21779 -(21779) found -[16691] Forked 21780 -(21780) found -[16690] Forked 21781 -(21781) found -[16689] Forked 21782 -(21782) found -[16688] Forked 21783 -(21783) found -[16687] Forked 21784 -(21784) found -[16686] Forked 21785 -(21785) found -[16685] Forked 21786 -(21786) found -[16684] Forked 21787 -[16683] Forked 21788 -(21787) found -(21788) found -[16682] Forked 21789 -[16681] Forked 21790 -(21789) found -(21790) found -[16680] Forked 21791 -[16679] Forked 21792 -(21791) found -(21792) found -[16678] Forked 21793 -[16677] Forked 21794 -(21793) found -(21794) found -[16676] Forked 21795 -[16675] Forked 21796 -(21795) found -(21796) found -[16674] Forked 21797 -[16673] Forked 21798 -(21797) found -(21798) found -[16672] Forked 21799 -[16671] Forked 21800 -(21799) found -(21800) found -[16670] Forked 21801 -[16669] Forked 21802 -(21801) found -(21802) found -[16668] Forked 21803 -[16667] Forked 21804 -(21803) found -(21804) found -[16666] Forked 21805 -[16665] Forked 21806 -(21805) found -(21806) found -[16664] Forked 21807 -[16663] Forked 21808 -(21807) found -(21808) found -[16662] Forked 21809 -[16661] Forked 21810 -(21809) found -(21810) found -[16660] Forked 21811 -[16659] Forked 21812 -(21811) found -(21812) found -[16658] Forked 21813 -[16657] Forked 21814 -(21813) found -(21814) found -[16656] Forked 21815 -[16655] Forked 21816 -(21815) found -(21816) found -[16654] Forked 21817 -[16653] Forked 21818 -(21817) found -(21818) found -[16652] Forked 21819 -[16651] Forked 21820 -(21819) found -(21820) found -[16650] Forked 21821 -[16649] Forked 21822 -(21821) found -(21822) found -[16648] Forked 21823 -[16647] Forked 21824 -(21823) found -(21824) found -[16646] Forked 21825 -[16645] Forked 21826 -(21825) found -(21826) found -[16644] Forked 21827 -[16643] Forked 21828 -(21827) found -(21828) found -[16642] Forked 21829 -[16641] Forked 21830 -(21829) found -(21830) found -[16640] Forked 21831 -[16639] Forked 21832 -(21831) found -(21832) found -[16638] Forked 21833 -[16637] Forked 21834 -(21833) found -(21834) found -[16636] Forked 21835 -[16635] Forked 21836 -(21835) found -(21836) found -[16634] Forked 21837 -[16633] Forked 21838 -(21837) found -(21838) found -[16632] Forked 21839 -[16631] Forked 21840 -(21839) found -(21840) found -[16630] Forked 21841 -[16629] Forked 21842 -(21841) found -(21842) found -[16628] Forked 21843 -[16627] Forked 21844 -(21843) found -(21844) found -[16626] Forked 21845 -[16625] Forked 21846 -(21845) found -(21846) found -[16624] Forked 21847 -[16623] Forked 21848 -(21847) found -(21848) found -[16622] Forked 21849 -[16621] Forked 21850 -(21849) found -(21850) found -[16620] Forked 21851 -[16619] Forked 21852 -(21851) found -(21852) found -[16618] Forked 21853 -[16617] Forked 21854 -(21853) found -(21854) found -[16616] Forked 21855 -[16615] Forked 21856 -(21855) found -(21856) found -[16614] Forked 21857 -[16613] Forked 21858 -(21857) found -(21858) found -[16612] Forked 21859 -[16611] Forked 21860 -(21859) found -(21860) found -[16610] Forked 21861 -[16609] Forked 21862 -(21861) found -(21862) found -[16608] Forked 21863 -[16607] Forked 21864 -(21863) found -(21864) found -[16606] Forked 21865 -[16605] Forked 21867 -(21865) found -(21867) found -[16604] Forked 21868 -(21868) found -[16603] Forked 21869 -(21869) found -[16602] Forked 21870 -(21870) found -[16601] Forked 21871 -(21871) found -[16600] Forked 21872 -(21872) found -[16599] Forked 21873 -(21873) found -[16598] Forked 21874 -(21874) found -[16597] Forked 21875 -(21875) found -[16596] Forked 21876 -(21876) found -[16595] Forked 21877 -(21877) found -[16594] Forked 21878 -(21878) found -[16593] Forked 21879 -(21879) found -[16592] Forked 21880 -(21880) found -[16591] Forked 21881 -(21881) found -[16590] Forked 21882 -(21882) found -[16589] Forked 21883 -(21883) found -[16588] Forked 21884 -(21884) found -[16587] Forked 21885 -(21885) found -[16586] Forked 21886 -(21886) found -[16585] Forked 21887 -(21887) found -[16584] Forked 21888 -(21888) found -[16583] Forked 21889 -(21889) found -[16582] Forked 21890 -(21890) found -[16581] Forked 21891 -(21891) found -[16580] Forked 21892 -(21892) found -[16579] Forked 21893 -(21893) found -[16578] Forked 21894 -(21894) found -[16577] Forked 21895 -(21895) found -[16576] Forked 21896 -(21896) found -[16575] Forked 21897 -(21897) found -[16574] Forked 21898 -(21898) found -[16573] Forked 21899 -(21899) found -[16572] Forked 21900 -(21900) found -[16571] Forked 21901 -(21901) found -[16570] Forked 21902 -(21902) found -[16569] Forked 21903 -(21903) found -[16568] Forked 21904 -(21904) found -[16567] Forked 21905 -(21905) found -[16566] Forked 21906 -(21906) found -[16565] Forked 21907 -(21907) found -[16564] Forked 21908 -(21908) found -[16563] Forked 21909 -(21909) found -[16562] Forked 21910 -(21910) found -[16561] Forked 21911 -(21911) found -[16560] Forked 21912 -(21912) found -[16559] Forked 21913 -(21913) found -[16558] Forked 21914 -[16557] Forked 21915 -(21914) found -(21915) found -[16556] Forked 21916 -[16555] Forked 21917 -(21916) found -(21917) found -[16554] Forked 21918 -[16553] Forked 21919 -(21918) found -(21919) found -[16552] Forked 21920 -[16551] Forked 21921 -(21920) found -(21921) found -[16550] Forked 21922 -[16549] Forked 21923 -(21922) found -(21923) found -[16548] Forked 21924 -[16547] Forked 21925 -(21924) found -(21925) found -[16546] Forked 21926 -[16545] Forked 21927 -(21926) found -(21927) found -[16544] Forked 21928 -[16543] Forked 21929 -(21928) found -(21929) found -[16542] Forked 21930 -[16541] Forked 21931 -(21930) found -(21931) found -[16540] Forked 21932 -[16539] Forked 21933 -(21932) found -(21933) found -[16538] Forked 21934 -[16537] Forked 21935 -(21934) found -(21935) found -[16536] Forked 21936 -[16535] Forked 21937 -(21936) found -(21937) found -[16534] Forked 21938 -[16533] Forked 21939 -(21938) found -(21939) found -[16532] Forked 21940 -[16531] Forked 21941 -(21940) found -(21941) found -[16530] Forked 21942 -[16529] Forked 21943 -(21942) found -(21943) found -[16528] Forked 21944 -[16527] Forked 21945 -(21944) found -(21945) found -[16526] Forked 21946 -[16525] Forked 21947 -(21946) found -(21947) found -[16524] Forked 21948 -[16523] Forked 21949 -(21948) found -(21949) found -[16522] Forked 21950 -[16521] Forked 21951 -(21950) found -(21951) found -[16520] Forked 21952 -[16519] Forked 21953 -(21952) found -(21953) found -[16518] Forked 21954 -[16517] Forked 21955 -(21954) found -(21955) found -[16516] Forked 21956 -[16515] Forked 21957 -(21956) found -(21957) found -[16514] Forked 21958 -(21958) found -[16513] Forked 21959 -(21959) found -[16512] Forked 21960 -(21960) found -[16511] Forked 21961 -(21961) found -[16510] Forked 21962 -(21962) found -[16509] Forked 21963 -(21963) found -[16508] Forked 21964 -(21964) found -[16507] Forked 21965 -(21965) found -[16506] Forked 21966 -(21966) found -[16505] Forked 21967 -(21967) found -[16504] Forked 21968 -(21968) found -[16503] Forked 21969 -(21969) found -[16502] Forked 21970 -(21970) found -[16501] Forked 21971 -(21971) found -[16500] Forked 21972 -(21972) found -[16499] Forked 21973 -(21973) found -[16498] Forked 21974 -(21974) found -[16497] Forked 21975 -(21975) found -[16496] Forked 21976 -(21976) found -[16495] Forked 21977 -(21977) found -[16494] Forked 21978 -(21978) found -[16493] Forked 21979 -(21979) found -[16492] Forked 21980 -(21980) found -[16491] Forked 21981 -(21981) found -[16490] Forked 21982 -(21982) found -[16489] Forked 21983 -(21983) found -[16488] Forked 21984 -(21984) found -[16487] Forked 21985 -(21985) found -[16486] Forked 21986 -(21986) found -[16485] Forked 21987 -(21987) found -[16484] Forked 21988 -(21988) found -[16483] Forked 21989 -(21989) found -[16482] Forked 21990 -(21990) found -[16481] Forked 21991 -(21991) found -[16480] Forked 21992 -(21992) found -[16479] Forked 21993 -(21993) found -[16478] Forked 21994 -(21994) found -[16477] Forked 21995 -[16476] Forked 21996 -(21995) found -(21996) found -[16475] Forked 21997 -[16474] Forked 21998 -(21997) found -(21998) found -[16473] Forked 21999 -[16472] Forked 22000 -(21999) found -(22000) found -[16471] Forked 22001 -[16470] Forked 22002 -(22001) found -(22002) found -[16469] Forked 22003 -[16468] Forked 22004 -(22003) found -(22004) found -[16467] Forked 22005 -[16466] Forked 22006 -(22005) found -(22006) found -[16465] Forked 22007 -[16464] Forked 22008 -(22007) found -(22008) found -[16463] Forked 22009 -[16462] Forked 22010 -(22009) found -(22010) found -[16461] Forked 22011 -[16460] Forked 22012 -(22011) found -(22012) found -[16459] Forked 22013 -[16458] Forked 22014 -(22013) found -(22014) found -[16457] Forked 22015 -[16456] Forked 22016 -(22015) found -(22016) found -[16455] Forked 22017 -[16454] Forked 22018 -(22017) found -(22018) found -[16453] Forked 22019 -[16452] Forked 22020 -(22019) found -(22020) found -[16451] Forked 22021 -[16450] Forked 22022 -(22021) found -(22022) found -[16449] Forked 22023 -[16448] Forked 22024 -(22023) found -(22024) found -[16447] Forked 22025 -[16446] Forked 22026 -(22025) found -(22026) found -[16445] Forked 22027 -[16444] Forked 22028 -(22027) found -(22028) found -[16443] Forked 22029 -[16442] Forked 22030 -(22029) found -(22030) found -[16441] Forked 22031 -[16440] Forked 22032 -(22031) found -(22032) found -[16439] Forked 22033 -[16438] Forked 22034 -(22033) found -(22034) found -[16437] Forked 22035 -[16436] Forked 22037 -(22035) found -(22037) found -[16435] Forked 22038 -(22038) found -[16434] Forked 22039 -(22039) found -[16433] Forked 22040 -(22040) found -[16432] Forked 22041 -(22041) found -[16431] Forked 22042 -(22042) found -[16430] Forked 22043 -(22043) found -[16429] Forked 22044 -(22044) found -[16428] Forked 22045 -(22045) found -[16427] Forked 22046 -(22046) found -[16426] Forked 22047 -(22047) found -[16425] Forked 22048 -(22048) found -[16424] Forked 22049 -(22049) found -[16423] Forked 22050 -(22050) found -[16422] Forked 22051 -(22051) found -[16421] Forked 22052 -(22052) found -[16420] Forked 22053 -(22053) found -[16419] Forked 22054 -(22054) found -[16418] Forked 22055 -(22055) found -[16417] Forked 22056 -(22056) found -[16416] Forked 22057 -(22057) found -[16415] Forked 22058 -(22058) found -[16414] Forked 22059 -(22059) found -[16413] Forked 22060 -(22060) found -[16412] Forked 22061 -(22061) found -[16411] Forked 22062 -(22062) found -[16410] Forked 22063 -(22063) found -[16409] Forked 22064 -(22064) found -[16408] Forked 22065 -(22065) found -[16407] Forked 22066 -(22066) found -[16406] Forked 22067 -(22067) found -[16405] Forked 22068 -(22068) found -[16404] Forked 22069 -(22069) found -[16403] Forked 22070 -(22070) found -[16402] Forked 22071 -(22071) found -[16401] Forked 22072 -(22072) found -[16400] Forked 22073 -(22073) found -[16399] Forked 22074 -(22074) found -[16398] Forked 22075 -(22075) found -[16397] Forked 22076 -(22076) found -[16396] Forked 22077 -[16395] Forked 22078 -(22077) found -(22078) found -[16394] Forked 22079 -[16393] Forked 22080 -(22079) found -(22080) found -[16392] Forked 22081 -[16391] Forked 22082 -(22081) found -(22082) found -[16390] Forked 22083 -[16389] Forked 22084 -(22083) found -(22084) found -[16388] Forked 22085 -[16387] Forked 22086 -(22085) found -(22086) found -[16386] Forked 22087 -[16385] Forked 22088 -(22087) found -(22088) found -[16384] Forked 22089 -[16383] Forked 22090 -(22089) found -(22090) found -[16382] Forked 22091 -[16381] Forked 22092 -(22091) found -(22092) found -[16380] Forked 22093 -[16379] Forked 22094 -(22093) found -(22094) found -[16378] Forked 22095 -[16377] Forked 22096 -(22095) found -(22096) found -[16376] Forked 22097 -[16375] Forked 22098 -(22097) found -(22098) found -[16374] Forked 22099 -[16373] Forked 22100 -(22099) found -(22100) found -[16372] Forked 22101 -[16371] Forked 22102 -(22101) found -(22102) found -[16370] Forked 22103 -[16369] Forked 22104 -(22103) found -(22104) found -[16368] Forked 22105 -[16367] Forked 22106 -(22105) found -(22106) found -[16366] Forked 22107 -[16365] Forked 22108 -(22107) found -(22108) found -[16364] Forked 22109 -[16363] Forked 22110 -(22109) found -(22110) found -[16362] Forked 22111 -[16361] Forked 22112 -(22111) found -(22112) found -[16360] Forked 22113 -[16359] Forked 22114 -(22113) found -(22114) found -[16358] Forked 22115 -[16357] Forked 22116 -(22115) found -(22116) found -[16356] Forked 22117 -[16355] Forked 22118 -(22117) found -(22118) found -[16354] Forked 22119 -[16353] Forked 22120 -(22119) found -(22120) found -[16352] Forked 22121 -[16351] Forked 22123 -(22121) found -(22123) found -[16350] Forked 22124 -(22124) found -[16349] Forked 22125 -(22125) found -[16348] Forked 22126 -(22126) found -[16347] Forked 22127 -(22127) found -[16346] Forked 22128 -(22128) found -[16345] Forked 22129 -(22129) found -[16344] Forked 22130 -(22130) found -[16343] Forked 22131 -(22131) found -[16342] Forked 22132 -(22132) found -[16341] Forked 22133 -(22133) found -[16340] Forked 22134 -(22134) found -[16339] Forked 22135 -(22135) found -[16338] Forked 22136 -(22136) found -[16337] Forked 22137 -(22137) found -[16336] Forked 22138 -(22138) found -[16335] Forked 22139 -(22139) found -[16334] Forked 22140 -(22140) found -[16333] Forked 22141 -(22141) found -[16332] Forked 22142 -(22142) found -[16331] Forked 22143 -(22143) found -[16330] Forked 22144 -(22144) found -[16329] Forked 22145 -(22145) found -[16328] Forked 22146 -(22146) found -[16327] Forked 22147 -(22147) found -[16326] Forked 22148 -(22148) found -[16325] Forked 22149 -(22149) found -[16324] Forked 22150 -(22150) found -[16323] Forked 22151 -(22151) found -[16322] Forked 22152 -(22152) found -[16321] Forked 22153 -(22153) found -[16320] Forked 22154 -(22154) found -[16319] Forked 22155 -(22155) found -[16318] Forked 22156 -(22156) found -[16317] Forked 22157 -(22157) found -[16316] Forked 22158 -(22158) found -[16315] Forked 22159 -(22159) found -[16314] Forked 22160 -(22160) found -[16313] Forked 22161 -(22161) found -[16312] Forked 22162 -(22162) found -[16311] Forked 22163 -(22163) found -[16310] Forked 22164 -(22164) found -[16309] Forked 22165 -(22165) found -[16308] Forked 22166 -(22166) found -[16307] Forked 22167 -(22167) found -[16306] Forked 22168 -(22168) found -[16305] Forked 22169 -(22169) found -[16304] Forked 22170 -(22170) found -[16303] Forked 22171 -(22171) found -[16302] Forked 22172 -(22172) found -[16301] Forked 22173 -(22173) found -[16300] Forked 22174 -(22174) found -[16299] Forked 22175 -(22175) found -[16298] Forked 22176 -(22176) found -[16297] Forked 22177 -(22177) found -[16296] Forked 22178 -(22178) found -[16295] Forked 22179 -(22179) found -[16294] Forked 22180 -(22180) found -[16293] Forked 22181 -(22181) found -[16292] Forked 22182 -(22182) found -[16291] Forked 22183 -(22183) found -[16290] Forked 22184 -(22184) found -[16289] Forked 22185 -(22185) found -[16288] Forked 22186 -(22186) found -[16287] Forked 22187 -(22187) found -[16286] Forked 22188 -(22188) found -[16285] Forked 22189 -(22189) found -[16284] Forked 22190 -(22190) found -[16283] Forked 22191 -(22191) found -[16282] Forked 22192 -(22192) found -[16281] Forked 22193 -(22193) found -[16280] Forked 22194 -[16279] Forked 22195 -(22194) found -(22195) found -[16278] Forked 22196 -[16277] Forked 22197 -(22196) found -(22197) found -[16276] Forked 22198 -[16275] Forked 22199 -(22198) found -(22199) found -[16274] Forked 22200 -[16273] Forked 22201 -(22200) found -(22201) found -[16272] Forked 22202 -[16271] Forked 22203 -(22202) found -(22203) found -[16270] Forked 22204 -[16269] Forked 22205 -(22204) found -(22205) found -[16268] Forked 22206 -[16267] Forked 22207 -(22206) found -(22207) found -[16266] Forked 22208 -[16265] Forked 22209 -(22208) found -(22209) found -[16264] Forked 22210 -[16263] Forked 22211 -(22210) found -(22211) found -[16262] Forked 22212 -[16261] Forked 22213 -(22212) found -(22213) found -[16260] Forked 22214 -[16259] Forked 22215 -(22214) found -(22215) found -[16258] Forked 22216 -[16257] Forked 22217 -(22216) found -(22217) found -[16256] Forked 22218 -[16255] Forked 22220 -(22218) found -(22220) found -[16254] Forked 22221 -(22221) found -[16253] Forked 22222 -(22222) found -[16252] Forked 22223 -(22223) found -[16251] Forked 22224 -(22224) found -[16250] Forked 22225 -(22225) found -[16249] Forked 22226 -(22226) found -[16248] Forked 22227 -(22227) found -[16247] Forked 22228 -(22228) found -[16246] Forked 22229 -(22229) found -[16245] Forked 22230 -(22230) found -[16244] Forked 22231 -(22231) found -[16243] Forked 22232 -(22232) found -[16242] Forked 22233 -(22233) found -[16241] Forked 22234 -(22234) found -[16240] Forked 22235 -(22235) found -[16239] Forked 22236 -(22236) found -[16238] Forked 22237 -(22237) found -[16237] Forked 22238 -(22238) found -[16236] Forked 22239 -(22239) found -[16235] Forked 22240 -(22240) found -[16234] Forked 22241 -(22241) found -[16233] Forked 22242 -(22242) found -[16232] Forked 22243 -(22243) found -[16231] Forked 22244 -(22244) found -[16230] Forked 22245 -(22245) found -[16229] Forked 22246 -(22246) found -[16228] Forked 22247 -(22247) found -[16227] Forked 22248 -(22248) found -[16226] Forked 22249 -(22249) found -[16225] Forked 22250 -(22250) found -[16224] Forked 22251 -(22251) found -[16223] Forked 22252 -(22252) found -[16222] Forked 22253 -(22253) found -[16221] Forked 22254 -(22254) found -[16220] Forked 22255 -(22255) found -[16219] Forked 22256 -(22256) found -[16218] Forked 22257 -(22257) found -[16217] Forked 22258 -(22258) found -[16216] Forked 22259 -(22259) found -[16215] Forked 22260 -(22260) found -[16214] Forked 22261 -(22261) found -[16213] Forked 22262 -(22262) found -[16212] Forked 22263 -(22263) found -[16211] Forked 22264 -(22264) found -[16210] Forked 22265 -(22265) found -[16209] Forked 22266 -(22266) found -[16208] Forked 22267 -(22267) found -[16207] Forked 22268 -(22268) found -[16206] Forked 22269 -(22269) found -[16205] Forked 22270 -(22270) found -[16204] Forked 22271 -(22271) found -[16203] Forked 22272 -(22272) found -[16202] Forked 22273 -(22273) found -[16201] Forked 22274 -(22274) found -[16200] Forked 22275 -(22275) found -[16199] Forked 22276 -(22276) found -[16198] Forked 22277 -(22277) found -[16197] Forked 22278 -(22278) found -[16196] Forked 22279 -(22279) found -[16195] Forked 22280 -(22280) found -[16194] Forked 22281 -(22281) found -[16193] Forked 22282 -(22282) found -[16192] Forked 22283 -(22283) found -[16191] Forked 22284 -(22284) found -[16190] Forked 22285 -(22285) found -[16189] Forked 22286 -(22286) found -[16188] Forked 22287 -(22287) found -[16187] Forked 22288 -(22288) found -[16186] Forked 22289 -(22289) found -[16185] Forked 22290 -(22290) found -[16184] Forked 22291 -(22291) found -[16183] Forked 22292 -(22292) found -[16182] Forked 22293 -(22293) found -[16181] Forked 22294 -(22294) found -[16180] Forked 22295 -(22295) found -[16179] Forked 22296 -(22296) found -[16178] Forked 22297 -(22297) found -[16177] Forked 22298 -(22298) found -[16176] Forked 22299 -(22299) found -[16175] Forked 22300 -(22300) found -[16174] Forked 22301 -(22301) found -[16173] Forked 22302 -(22302) found -[16172] Forked 22303 -(22303) found -[16171] Forked 22304 -(22304) found -[16170] Forked 22305 -(22305) found -[16169] Forked 22306 -(22306) found -[16168] Forked 22307 -[16167] Forked 22308 -(22307) found -(22308) found -[16166] Forked 22309 -[16165] Forked 22310 -(22309) found -(22310) found -[16164] Forked 22311 -[16163] Forked 22312 -(22311) found -(22312) found -[16162] Forked 22313 -[16161] Forked 22314 -(22313) found -(22314) found -[16160] Forked 22315 -[16159] Forked 22316 -(22315) found -(22316) found -[16158] Forked 22317 -[16157] Forked 22318 -(22317) found -(22318) found -[16156] Forked 22319 -[16155] Forked 22320 -(22319) found -(22320) found -[16154] Forked 22321 -[16153] Forked 22322 -(22321) found -(22322) found -[16152] Forked 22323 -[16151] Forked 22324 -(22323) found -(22324) found -[16150] Forked 22325 -[16149] Forked 22326 -(22325) found -(22326) found -[16148] Forked 22327 -[16147] Forked 22328 -(22327) found -(22328) found -[16146] Forked 22329 -[16145] Forked 22330 -(22329) found -(22330) found -[16144] Forked 22331 -[16143] Forked 22332 -(22331) found -(22332) found -[16142] Forked 22333 -[16141] Forked 22334 -(22333) found -(22334) found -[16140] Forked 22335 -[16139] Forked 22336 -(22335) found -(22336) found -[16138] Forked 22337 -[16137] Forked 22338 -(22337) found -(22338) found -[16136] Forked 22339 -[16135] Forked 22340 -(22339) found -(22340) found -[16134] Forked 22341 -[16133] Forked 22342 -(22341) found -(22342) found -[16132] Forked 22343 -[16131] Forked 22344 -(22343) found -(22344) found -[16130] Forked 22345 -[16129] Forked 22346 -(22345) found -(22346) found -[16128] Forked 22347 -(22347) found -[16127] Forked 22348 -[16126] Forked 22349 -(22348) found -(22349) found -[16125] Forked 22350 -[16124] Forked 22351 -(22350) found -(22351) found -[16123] Forked 22352 -[16122] Forked 22353 -(22352) found -(22353) found -[16121] Forked 22354 -[16120] Forked 22355 -(22354) found -(22355) found -[16119] Forked 22356 -[16118] Forked 22357 -(22356) found -(22357) found -[16117] Forked 22358 -[16116] Forked 22359 -(22358) found -(22359) found -[16115] Forked 22360 -[16114] Forked 22361 -(22360) found -(22361) found -[16113] Forked 22362 -[16112] Forked 22363 -(22362) found -(22363) found -[16111] Forked 22364 -[16110] Forked 22365 -(22364) found -(22365) found -[16109] Forked 22366 -[16108] Forked 22367 -(22366) found -(22367) found -[16107] Forked 22368 -[16106] Forked 22369 -(22368) found -(22369) found -[16105] Forked 22370 -[16104] Forked 22371 -(22370) found -(22371) found -[16103] Forked 22372 -[16102] Forked 22373 -(22372) found -(22373) found -[16101] Forked 22374 -[16100] Forked 22375 -(22374) found -(22375) found -[16099] Forked 22376 -[16098] Forked 22377 -(22376) found -(22377) found -[16097] Forked 22378 -[16096] Forked 22379 -(22378) found -(22379) found -[16095] Forked 22380 -[16094] Forked 22381 -(22380) found -(22381) found -[16093] Forked 22382 -[16092] Forked 22383 -(22382) found -(22383) found -[16091] Forked 22384 -[16090] Forked 22385 -(22384) found -(22385) found -[16089] Forked 22386 -[16088] Forked 22387 -(22386) found -(22387) found -[16087] Forked 22388 -[16086] Forked 22389 -(22388) found -(22389) found -[16085] Forked 22390 -[16084] Forked 22391 -(22390) found -(22391) found -[16083] Forked 22392 -[16082] Forked 22393 -(22392) found -(22393) found -[16081] Forked 22394 -[16080] Forked 22395 -(22394) found -(22395) found -[16079] Forked 22396 -[16078] Forked 22397 -(22396) found -(22397) found -[16077] Forked 22398 -[16076] Forked 22399 -(22398) found -(22399) found -[16075] Forked 22400 -[16074] Forked 22401 -(22400) found -(22401) found -[16073] Forked 22402 -[16072] Forked 22403 -(22402) found -(22403) found -[16071] Forked 22404 -[16070] Forked 22405 -(22404) found -(22405) found -[16069] Forked 22406 -[16068] Forked 22407 -(22406) found -(22407) found -[16067] Forked 22408 -[16066] Forked 22409 -(22408) found -(22409) found -[16065] Forked 22410 -[16064] Forked 22411 -(22410) found -(22411) found -[16063] Forked 22412 -[16062] Forked 22413 -(22412) found -(22413) found -[16061] Forked 22414 -[16060] Forked 22415 -(22414) found -(22415) found -[16059] Forked 22416 -[16058] Forked 22417 -(22416) found -(22417) found -[16057] Forked 22418 -[16056] Forked 22419 -(22418) found -(22419) found -[16055] Forked 22420 -[16054] Forked 22421 -(22420) found -(22421) found -[16053] Forked 22422 -[16052] Forked 22423 -(22422) found -(22423) found -[16051] Forked 22424 -[16050] Forked 22425 -(22424) found -(22425) found -[16049] Forked 22426 -[16048] Forked 22427 -(22426) found -(22427) found -[16047] Forked 22428 -[16046] Forked 22429 -(22428) found -(22429) found -[16045] Forked 22430 -[16044] Forked 22431 -(22430) found -(22431) found -[16043] Forked 22432 -[16042] Forked 22433 -(22432) found -(22433) found -[16041] Forked 22434 -[16040] Forked 22435 -(22434) found -(22435) found -[16039] Forked 22436 -[16038] Forked 22437 -(22436) found -(22437) found -[16037] Forked 22438 -[16036] Forked 22439 -(22438) found -(22439) found -[16035] Forked 22440 -[16034] Forked 22442 -(22440) found -(22442) found -[16033] Forked 22443 -(22443) found -[16032] Forked 22444 -(22444) found -[16031] Forked 22445 -(22445) found -[16030] Forked 22446 -(22446) found -[16029] Forked 22447 -(22447) found -[16028] Forked 22448 -(22448) found -[16027] Forked 22449 -(22449) found -[16026] Forked 22450 -(22450) found -[16025] Forked 22451 -(22451) found -[16024] Forked 22452 -(22452) found -[16023] Forked 22453 -(22453) found -[16022] Forked 22454 -(22454) found -[16021] Forked 22455 -(22455) found -[16020] Forked 22456 -(22456) found -[16019] Forked 22457 -(22457) found -[16018] Forked 22458 -(22458) found -[16017] Forked 22459 -(22459) found -[16016] Forked 22460 -(22460) found -[16015] Forked 22461 -(22461) found -[16014] Forked 22462 -(22462) found -[16013] Forked 22463 -(22463) found -[16012] Forked 22464 -(22464) found -[16011] Forked 22465 -(22465) found -[16010] Forked 22466 -(22466) found -[16009] Forked 22467 -(22467) found -[16008] Forked 22468 -(22468) found -[16007] Forked 22469 -(22469) found -[16006] Forked 22470 -(22470) found -[16005] Forked 22471 -(22471) found -[16004] Forked 22472 -(22472) found -[16003] Forked 22473 -(22473) found -[16002] Forked 22474 -(22474) found -[16001] Forked 22475 -(22475) found -[16000] Forked 22476 -(22476) found -[15999] Forked 22477 -(22477) found -[15998] Forked 22478 -(22478) found -[15997] Forked 22479 -(22479) found -[15996] Forked 22480 -(22480) found -[15995] Forked 22481 -(22481) found -[15994] Forked 22482 -[15993] Forked 22483 -(22482) found -(22483) found -[15992] Forked 22484 -[15991] Forked 22485 -(22484) found -(22485) found -[15990] Forked 22486 -[15989] Forked 22487 -(22486) found -(22487) found -[15988] Forked 22488 -[15987] Forked 22489 -(22488) found -(22489) found -[15986] Forked 22490 -[15985] Forked 22491 -(22490) found -(22491) found -[15984] Forked 22492 -[15983] Forked 22493 -(22492) found -(22493) found -[15982] Forked 22494 -[15981] Forked 22495 -(22494) found -(22495) found -[15980] Forked 22496 -[15979] Forked 22497 -(22496) found -(22497) found -[15978] Forked 22498 -[15977] Forked 22499 -(22498) found -(22499) found -[15976] Forked 22500 -[15975] Forked 22501 -(22500) found -(22501) found -[15974] Forked 22502 -[15973] Forked 22503 -(22502) found -(22503) found -[15972] Forked 22504 -[15971] Forked 22505 -(22504) found -(22505) found -[15970] Forked 22506 -[15969] Forked 22507 -(22506) found -(22507) found -[15968] Forked 22508 -[15967] Forked 22509 -(22508) found -(22509) found -[15966] Forked 22510 -[15965] Forked 22511 -(22510) found -(22511) found -[15964] Forked 22512 -[15963] Forked 22513 -(22512) found -(22513) found -[15962] Forked 22514 -[15961] Forked 22515 -(22514) found -(22515) found -[15960] Forked 22516 -[15959] Forked 22517 -(22516) found -(22517) found -[15958] Forked 22518 -[15957] Forked 22519 -(22518) found -(22519) found -[15956] Forked 22520 -[15955] Forked 22521 -(22520) found -(22521) found -[15954] Forked 22522 -[15953] Forked 22523 -(22522) found -(22523) found -[15952] Forked 22524 -[15951] Forked 22525 -(22524) found -(22525) found -[15950] Forked 22526 -[15949] Forked 22527 -(22526) found -(22527) found -[15948] Forked 22528 -[15947] Forked 22529 -(22528) found -(22529) found -[15946] Forked 22530 -[15945] Forked 22531 -(22530) found -(22531) found -[15944] Forked 22532 -[15943] Forked 22533 -(22532) found -(22533) found -[15942] Forked 22534 -[15941] Forked 22535 -(22534) found -(22535) found -[15940] Forked 22536 -[15939] Forked 22537 -(22536) found -(22537) found -[15938] Forked 22538 -[15937] Forked 22539 -(22538) found -(22539) found -[15936] Forked 22540 -[15935] Forked 22541 -(22540) found -(22541) found -[15934] Forked 22542 -[15933] Forked 22543 -(22542) found -(22543) found -[15932] Forked 22544 -[15931] Forked 22545 -(22544) found -(22545) found -[15930] Forked 22546 -[15929] Forked 22547 -(22546) found -(22547) found -[15928] Forked 22548 -[15927] Forked 22549 -(22548) found -(22549) found -[15926] Forked 22550 -[15925] Forked 22551 -(22550) found -(22551) found -[15924] Forked 22552 -[15923] Forked 22553 -(22552) found -(22553) found -[15922] Forked 22554 -[15921] Forked 22555 -(22554) found -(22555) found -[15920] Forked 22556 -[15919] Forked 22557 -(22556) found -(22557) found -[15918] Forked 22558 -[15917] Forked 22559 -(22558) found -(22559) found -[15916] Forked 22560 -[15915] Forked 22561 -(22560) found -(22561) found -[15914] Forked 22562 -[15913] Forked 22563 -(22562) found -(22563) found -[15912] Forked 22564 -[15911] Forked 22565 -(22564) found -(22565) found -[15910] Forked 22566 -[15909] Forked 22567 -(22566) found -(22567) found -[15908] Forked 22568 -[15907] Forked 22569 -(22568) found -(22569) found -[15906] Forked 22570 -[15905] Forked 22571 -(22570) found -(22571) found -[15904] Forked 22572 -[15903] Forked 22573 -(22572) found -(22573) found -[15902] Forked 22574 -(22574) found -[15901] Forked 22575 -(22575) found -[15900] Forked 22576 -(22576) found -[15899] Forked 22577 -(22577) found -[15898] Forked 22578 -(22578) found -[15897] Forked 22579 -(22579) found -[15896] Forked 22580 -(22580) found -[15895] Forked 22581 -(22581) found -[15894] Forked 22582 -(22582) found -[15893] Forked 22583 -(22583) found -[15892] Forked 22584 -(22584) found -[15891] Forked 22585 -(22585) found -[15890] Forked 22586 -(22586) found -[15889] Forked 22587 -(22587) found -[15888] Forked 22588 -(22588) found -[15887] Forked 22589 -(22589) found -[15886] Forked 22590 -(22590) found -[15885] Forked 22591 -(22591) found -[15884] Forked 22592 -(22592) found -[15883] Forked 22593 -(22593) found -[15882] Forked 22594 -(22594) found -[15881] Forked 22595 -(22595) found -[15880] Forked 22596 -(22596) found -[15879] Forked 22597 -(22597) found -[15878] Forked 22598 -(22598) found -[15877] Forked 22599 -(22599) found -[15876] Forked 22600 -(22600) found -[15875] Forked 22601 -(22601) found -[15874] Forked 22602 -(22602) found -[15873] Forked 22603 -(22603) found -[15872] Forked 22604 -(22604) found -[15871] Forked 22605 -(22605) found -[15870] Forked 22606 -(22606) found -[15869] Forked 22607 -(22607) found -[15868] Forked 22608 -(22608) found -[15867] Forked 22609 -[15866] Forked 22610 -(22609) found -(22610) found -[15865] Forked 22611 -[15864] Forked 22612 -(22611) found -(22612) found -[15863] Forked 22613 -[15862] Forked 22614 -(22613) found -(22614) found -[15861] Forked 22615 -[15860] Forked 22616 -(22615) found -(22616) found -[15859] Forked 22617 -[15858] Forked 22618 -(22617) found -(22618) found -[15857] Forked 22619 -[15856] Forked 22620 -(22619) found -(22620) found -[15855] Forked 22621 -[15854] Forked 22622 -(22621) found -(22622) found -[15853] Forked 22623 -[15852] Forked 22624 -(22623) found -(22624) found -[15851] Forked 22625 -[15850] Forked 22626 -(22625) found -(22626) found -[15849] Forked 22627 -[15848] Forked 22628 -(22627) found -(22628) found -[15847] Forked 22629 -[15846] Forked 22630 -(22629) found -(22630) found -[15845] Forked 22631 -[15844] Forked 22632 -(22631) found -(22632) found -[15843] Forked 22633 -[15842] Forked 22634 -(22633) found -(22634) found -[15841] Forked 22635 -[15840] Forked 22636 -(22635) found -(22636) found -[15839] Forked 22637 -[15838] Forked 22638 -(22637) found -(22638) found -[15837] Forked 22639 -[15836] Forked 22640 -(22639) found -(22640) found -[15835] Forked 22641 -[15834] Forked 22642 -(22641) found -(22642) found -[15833] Forked 22644 -[15832] Forked 22645 -(22644) found -(22645) found -[15831] Forked 22646 -[15830] Forked 22647 -(22646) found -(22647) found -[15829] Forked 22648 -[15828] Forked 22649 -(22648) found -(22649) found -[15827] Forked 22650 -[15826] Forked 22651 -(22650) found -(22651) found -[15825] Forked 22652 -[15824] Forked 22653 -(22652) found -(22653) found -[15823] Forked 22654 -[15822] Forked 22655 -(22654) found -(22655) found -[15821] Forked 22656 -[15820] Forked 22657 -(22656) found -(22657) found -[15819] Forked 22658 -(22658) found -[15818] Forked 22659 -(22659) found -[15817] Forked 22660 -(22660) found -[15816] Forked 22661 -(22661) found -[15815] Forked 22662 -(22662) found -[15814] Forked 22663 -(22663) found -[15813] Forked 22664 -(22664) found -[15812] Forked 22665 -(22665) found -[15811] Forked 22666 -(22666) found -[15810] Forked 22667 -(22667) found -[15809] Forked 22668 -(22668) found -[15808] Forked 22669 -(22669) found -[15807] Forked 22670 -(22670) found -[15806] Forked 22671 -(22671) found -[15805] Forked 22672 -(22672) found -[15804] Forked 22673 -(22673) found -[15803] Forked 22674 -(22674) found -[15802] Forked 22675 -(22675) found -[15801] Forked 22676 -(22676) found -[15800] Forked 22677 -(22677) found -[15799] Forked 22678 -(22678) found -[15798] Forked 22679 -(22679) found -[15797] Forked 22680 -(22680) found -[15796] Forked 22681 -(22681) found -[15795] Forked 22682 -(22682) found -[15794] Forked 22683 -(22683) found -[15793] Forked 22684 -(22684) found -[15792] Forked 22685 -(22685) found -[15791] Forked 22686 -(22686) found -[15790] Forked 22687 -(22687) found -[15789] Forked 22688 -(22688) found -[15788] Forked 22689 -(22689) found -[15787] Forked 22690 -(22690) found -[15786] Forked 22691 -(22691) found -[15785] Forked 22692 -(22692) found -[15784] Forked 22693 -[15783] Forked 22694 -(22693) found -(22694) found -[15782] Forked 22695 -(22695) found -[15781] Forked 22696 -(22696) found -[15780] Forked 22697 -(22697) found -[15779] Forked 22698 -(22698) found -[15778] Forked 22699 -(22699) found -[15777] Forked 22700 -(22700) found -[15776] Forked 22701 -(22701) found -[15775] Forked 22702 -(22702) found -[15774] Forked 22703 -(22703) found -[15773] Forked 22704 -(22704) found -[15772] Forked 22705 -(22705) found -[15771] Forked 22706 -(22706) found -[15770] Forked 22707 -(22707) found -[15769] Forked 22708 -(22708) found -[15768] Forked 22709 -(22709) found -[15767] Forked 22710 -(22710) found -[15766] Forked 22711 -(22711) found -[15765] Forked 22712 -(22712) found -[15764] Forked 22713 -(22713) found -[15763] Forked 22714 -(22714) found -[15762] Forked 22715 -(22715) found -[15761] Forked 22716 -(22716) found -[15760] Forked 22717 -(22717) found -[15759] Forked 22718 -(22718) found -[15758] Forked 22719 -(22719) found -[15757] Forked 22720 -(22720) found -[15756] Forked 22721 -(22721) found -[15755] Forked 22722 -(22722) found -[15754] Forked 22723 -(22723) found -[15753] Forked 22724 -(22724) found -[15752] Forked 22725 -[15751] Forked 22726 -(22725) found -(22726) found -[15750] Forked 22727 -[15749] Forked 22728 -(22727) found -(22728) found -[15748] Forked 22729 -[15747] Forked 22730 -(22729) found -(22730) found -[15746] Forked 22731 -[15745] Forked 22732 -(22731) found -(22732) found -[15744] Forked 22733 -[15743] Forked 22734 -(22733) found -(22734) found -[15742] Forked 22735 -[15741] Forked 22736 -(22735) found -(22736) found -[15740] Forked 22737 -[15739] Forked 22738 -(22737) found -(22738) found -[15738] Forked 22739 -[15737] Forked 22740 -(22739) found -(22740) found -[15736] Forked 22741 -[15735] Forked 22742 -(22741) found -(22742) found -[15734] Forked 22743 -[15733] Forked 22744 -(22743) found -(22744) found -[15732] Forked 22745 -[15731] Forked 22746 -(22745) found -(22746) found -[15730] Forked 22747 -[15729] Forked 22748 -(22747) found -(22748) found -[15728] Forked 22749 -[15727] Forked 22750 -(22749) found -(22750) found -[15726] Forked 22751 -(22751) found -[15725] Forked 22752 -[15724] Forked 22753 -(22752) found -(22753) found -[15723] Forked 22754 -[15722] Forked 22755 -(22754) found -(22755) found -[15721] Forked 22756 -[15720] Forked 22757 -(22756) found -(22757) found -[15719] Forked 22758 -[15718] Forked 22759 -(22758) found -(22759) found -[15717] Forked 22760 -[15716] Forked 22761 -(22760) found -(22761) found -[15715] Forked 22762 -[15714] Forked 22763 -(22762) found -(22763) found -[15713] Forked 22764 -[15712] Forked 22765 -(22764) found -(22765) found -[15711] Forked 22766 -[15710] Forked 22767 -(22766) found -(22767) found -[15709] Forked 22768 -[15708] Forked 22769 -(22768) found -(22769) found -[15707] Forked 22770 -[15706] Forked 22771 -(22771) found -(22770) found -[15705] Forked 22772 -(22772) found -[15704] Forked 22773 -(22773) found -[15703] Forked 22774 -(22774) found -[15702] Forked 22775 -(22775) found -[15701] Forked 22776 -(22776) found -[15700] Forked 22777 -(22777) found -[15699] Forked 22778 -(22778) found -[15698] Forked 22779 -(22779) found -[15697] Forked 22780 -(22780) found -[15696] Forked 22781 -(22781) found -[15695] Forked 22782 -(22782) found -[15694] Forked 22783 -(22783) found -[15693] Forked 22784 -(22784) found -[15692] Forked 22785 -(22785) found -[15691] Forked 22786 -(22786) found -[15690] Forked 22787 -(22787) found -[15689] Forked 22788 -(22788) found -[15688] Forked 22789 -(22789) found -[15687] Forked 22790 -(22790) found -[15686] Forked 22791 -(22791) found -[15685] Forked 22792 -(22792) found -[15684] Forked 22793 -(22793) found -[15683] Forked 22794 -(22794) found -[15682] Forked 22795 -(22795) found -[15681] Forked 22796 -(22796) found -[15680] Forked 22797 -(22797) found -[15679] Forked 22798 -(22798) found -[15678] Forked 22799 -(22799) found -[15677] Forked 22800 -(22800) found -[15676] Forked 22801 -(22801) found -[15675] Forked 22802 -(22802) found -[15674] Forked 22803 -(22803) found -[15673] Forked 22804 -(22804) found -[15672] Forked 22805 -(22805) found -[15671] Forked 22806 -(22806) found -[15670] Forked 22807 -(22807) found -[15669] Forked 22808 -(22808) found -[15668] Forked 22809 -(22809) found -[15667] Forked 22810 -(22810) found -[15666] Forked 22811 -(22811) found -[15665] Forked 22812 -(22812) found -[15664] Forked 22813 -(22813) found -[15663] Forked 22814 -(22814) found -[15662] Forked 22815 -(22815) found -[15661] Forked 22816 -(22816) found -[15660] Forked 22817 -(22817) found -[15659] Forked 22818 -(22818) found -[15658] Forked 22819 -(22819) found -[15657] Forked 22820 -(22820) found -[15656] Forked 22821 -(22821) found -[15655] Forked 22822 -(22822) found -[15654] Forked 22823 -(22823) found -[15653] Forked 22824 -(22824) found -[15652] Forked 22825 -(22825) found -[15651] Forked 22826 -(22826) found -[15650] Forked 22827 -(22827) found -[15649] Forked 22828 -(22828) found -[15648] Forked 22829 -(22829) found -[15647] Forked 22830 -(22830) found -[15646] Forked 22831 -(22831) found -[15645] Forked 22832 -(22832) found -[15644] Forked 22833 -(22833) found -[15643] Forked 22834 -(22834) found -[15642] Forked 22835 -(22835) found -[15641] Forked 22836 -(22836) found -[15640] Forked 22837 -(22837) found -[15639] Forked 22838 -(22838) found -[15638] Forked 22839 -(22839) found -[15637] Forked 22840 -(22840) found -[15636] Forked 22841 -(22841) found -[15635] Forked 22842 -(22842) found -[15634] Forked 22843 -(22843) found -[15633] Forked 22844 -(22844) found -[15632] Forked 22845 -[15631] Forked 22846 -(22845) found -(22846) found -[15630] Forked 22847 -[15629] Forked 22848 -(22847) found -(22848) found -[15628] Forked 22849 -[15627] Forked 22850 -(22849) found -(22850) found -[15626] Forked 22851 -[15625] Forked 22852 -(22851) found -(22852) found -[15624] Forked 22853 -[15623] Forked 22854 -(22853) found -(22854) found -[15622] Forked 22855 -[15621] Forked 22856 -(22855) found -(22856) found -[15620] Forked 22857 -[15619] Forked 22858 -(22857) found -(22858) found -[15618] Forked 22859 -[15617] Forked 22860 -(22859) found -(22860) found -[15616] Forked 22861 -[15615] Forked 22862 -(22861) found -(22862) found -[15614] Forked 22863 -[15613] Forked 22864 -(22863) found -(22864) found -[15612] Forked 22865 -[15611] Forked 22866 -(22865) found -(22866) found -[15610] Forked 22867 -[15609] Forked 22868 -(22867) found -(22868) found -[15608] Forked 22869 -[15607] Forked 22870 -(22869) found -(22870) found -[15606] Forked 22871 -[15605] Forked 22872 -(22871) found -(22872) found -[15604] Forked 22873 -[15603] Forked 22874 -(22873) found -(22874) found -[15602] Forked 22875 -[15601] Forked 22876 -(22875) found -(22876) found -[15600] Forked 22877 -[15599] Forked 22878 -(22877) found -(22878) found -[15598] Forked 22879 -[15597] Forked 22880 -(22879) found -(22880) found -[15596] Forked 22881 -[15595] Forked 22882 -(22881) found -(22882) found -[15594] Forked 22883 -[15593] Forked 22884 -(22883) found -(22884) found -[15592] Forked 22885 -[15591] Forked 22886 -(22885) found -(22886) found -[15590] Forked 22887 -[15589] Forked 22888 -(22888) found -(22887) found -[15588] Forked 22889 -(22889) found -[15587] Forked 22890 -(22890) found -[15586] Forked 22891 -(22891) found -[15585] Forked 22892 -(22892) found -[15584] Forked 22893 -(22893) found -[15583] Forked 22894 -(22894) found -[15582] Forked 22895 -(22895) found -[15581] Forked 22896 -(22896) found -[15580] Forked 22897 -(22897) found -[15579] Forked 22898 -(22898) found -[15578] Forked 22899 -(22899) found -[15577] Forked 22900 -(22900) found -[15576] Forked 22901 -(22901) found -[15575] Forked 22902 -(22902) found -[15574] Forked 22903 -(22903) found -[15573] Forked 22904 -(22904) found -[15572] Forked 22905 -(22905) found -[15571] Forked 22906 -(22906) found -[15570] Forked 22907 -(22907) found -[15569] Forked 22908 -(22908) found -[15568] Forked 22909 -(22909) found -[15567] Forked 22910 -(22910) found -[15566] Forked 22911 -(22911) found -[15565] Forked 22912 -(22912) found -[15564] Forked 22913 -(22913) found -[15563] Forked 22914 -(22914) found -[15562] Forked 22915 -(22915) found -[15561] Forked 22916 -(22916) found -[15560] Forked 22917 -(22917) found -[15559] Forked 22918 -(22918) found -[15558] Forked 22919 -(22919) found -[15557] Forked 22920 -(22920) found -[15556] Forked 22921 -(22921) found -[15555] Forked 22922 -(22922) found -[15554] Forked 22923 -(22923) found -[15553] Forked 22924 -[15552] Forked 22925 -(22924) found -(22925) found -[15551] Forked 22926 -[15550] Forked 22927 -(22926) found -(22927) found -[15549] Forked 22928 -[15548] Forked 22929 -(22928) found -(22929) found -[15547] Forked 22930 -[15546] Forked 22931 -(22930) found -(22931) found -[15545] Forked 22932 -[15544] Forked 22933 -(22932) found -(22933) found -[15543] Forked 22934 -[15542] Forked 22935 -(22934) found -(22935) found -[15541] Forked 22936 -[15540] Forked 22937 -(22936) found -(22937) found -[15539] Forked 22938 -[15538] Forked 22939 -(22938) found -(22939) found -[15537] Forked 22940 -[15536] Forked 22941 -(22940) found -(22941) found -[15535] Forked 22942 -[15534] Forked 22943 -(22942) found -(22943) found -[15533] Forked 22944 -[15532] Forked 22945 -(22944) found -(22945) found -[15531] Forked 22946 -[15530] Forked 22947 -(22946) found -(22947) found -[15529] Forked 22948 -[15528] Forked 22949 -(22948) found -(22949) found -[15527] Forked 22950 -[15526] Forked 22951 -(22950) found -(22951) found -[15525] Forked 22952 -[15524] Forked 22953 -(22952) found -(22953) found -[15523] Forked 22954 -[15522] Forked 22955 -(22954) found -(22955) found -[15521] Forked 22956 -[15520] Forked 22957 -(22956) found -(22957) found -[15519] Forked 22958 -[15518] Forked 22959 -(22958) found -(22959) found -[15517] Forked 22960 -[15516] Forked 22961 -(22960) found -(22961) found -[15515] Forked 22962 -[15514] Forked 22963 -(22962) found -(22963) found -[15513] Forked 22964 -[15512] Forked 22965 -(22964) found -(22965) found -[15511] Forked 22966 -[15510] Forked 22967 -(22966) found -(22967) found -[15509] Forked 22968 -(22968) found -[15508] Forked 22969 -(22969) found -[15507] Forked 22970 -(22970) found -[15506] Forked 22971 -(22971) found -[15505] Forked 22972 -(22972) found -[15504] Forked 22973 -(22973) found -[15503] Forked 22974 -(22974) found -[15502] Forked 22975 -(22975) found -[15501] Forked 22976 -(22976) found -[15500] Forked 22977 -(22977) found -[15499] Forked 22978 -(22978) found -[15498] Forked 22979 -(22979) found -[15497] Forked 22980 -(22980) found -[15496] Forked 22981 -(22981) found -[15495] Forked 22982 -(22982) found -[15494] Forked 22983 -(22983) found -[15493] Forked 22984 -(22984) found -[15492] Forked 22985 -(22985) found -[15491] Forked 22986 -(22986) found -[15490] Forked 22987 -(22987) found -[15489] Forked 22988 -(22988) found -[15488] Forked 22989 -(22989) found -[15487] Forked 22990 -(22990) found -[15486] Forked 22991 -(22991) found -[15485] Forked 22992 -(22992) found -[15484] Forked 22993 -(22993) found -[15483] Forked 22994 -(22994) found -[15482] Forked 22995 -(22995) found -[15481] Forked 22996 -(22996) found -[15480] Forked 22997 -(22997) found -[15479] Forked 22998 -(22998) found -[15478] Forked 22999 -(22999) found -[15477] Forked 23000 -(23000) found -[15476] Forked 23001 -(23001) found -[15475] Forked 23002 -(23002) found -[15474] Forked 23003 -(23003) found -[15473] Forked 23004 -[15472] Forked 23005 -(23004) found -(23005) found -[15471] Forked 23006 -[15470] Forked 23007 -(23006) found -(23007) found -[15469] Forked 23008 -[15468] Forked 23009 -(23008) found -(23009) found -[15467] Forked 23010 -[15466] Forked 23011 -(23010) found -(23011) found -[15465] Forked 23012 -[15464] Forked 23013 -(23012) found -(23013) found -[15463] Forked 23014 -[15462] Forked 23015 -(23014) found -(23015) found -[15461] Forked 23016 -[15460] Forked 23017 -(23016) found -(23017) found -[15459] Forked 23018 -[15458] Forked 23019 -(23018) found -(23019) found -[15457] Forked 23020 -[15456] Forked 23021 -(23020) found -(23021) found -[15455] Forked 23022 -[15454] Forked 23023 -(23022) found -(23023) found -[15453] Forked 23024 -[15452] Forked 23025 -(23024) found -(23025) found -[15451] Forked 23026 -[15450] Forked 23027 -(23026) found -(23027) found -[15449] Forked 23028 -[15448] Forked 23029 -(23028) found -(23029) found -[15447] Forked 23030 -[15446] Forked 23031 -(23030) found -(23031) found -[15445] Forked 23032 -[15444] Forked 23033 -(23032) found -(23033) found -[15443] Forked 23034 -[15442] Forked 23035 -(23034) found -(23035) found -[15441] Forked 23036 -[15440] Forked 23037 -(23036) found -(23037) found -[15439] Forked 23038 -[15438] Forked 23039 -(23039) found -(23038) found -[15437] Forked 23040 -(23040) found -[15436] Forked 23041 -(23041) found -[15435] Forked 23042 -(23042) found -[15434] Forked 23043 -(23043) found -[15433] Forked 23044 -(23044) found -[15432] Forked 23045 -(23045) found -[15431] Forked 23046 -(23046) found -[15430] Forked 23047 -(23047) found -[15429] Forked 23048 -(23048) found -[15428] Forked 23049 -(23049) found -[15427] Forked 23050 -(23050) found -[15426] Forked 23051 -(23051) found -[15425] Forked 23052 -(23052) found -[15424] Forked 23053 -(23053) found -[15423] Forked 23054 -(23054) found -[15422] Forked 23055 -(23055) found -[15421] Forked 23056 -(23056) found -[15420] Forked 23057 -(23057) found -[15419] Forked 23058 -(23058) found -[15418] Forked 23059 -(23059) found -[15417] Forked 23060 -(23060) found -[15416] Forked 23061 -(23061) found -[15415] Forked 23062 -(23062) found -[15414] Forked 23063 -(23063) found -[15413] Forked 23064 -(23064) found -[15412] Forked 23065 -(23065) found -[15411] Forked 23066 -(23066) found -[15410] Forked 23067 -(23067) found -[15409] Forked 23068 -(23068) found -[15408] Forked 23069 -(23069) found -[15407] Forked 23070 -(23070) found -[15406] Forked 23071 -(23071) found -[15405] Forked 23072 -(23072) found -[15404] Forked 23073 -(23073) found -[15403] Forked 23074 -(23074) found -[15402] Forked 23075 -(23075) found -[15401] Forked 23076 -(23076) found -[15400] Forked 23077 -(23077) found -[15399] Forked 23078 -(23078) found -[15398] Forked 23079 -(23079) found -[15397] Forked 23080 -(23080) found -[15396] Forked 23081 -(23081) found -[15395] Forked 23082 -(23082) found -[15394] Forked 23083 -[15393] Forked 23084 -(23083) found -(23084) found -[15392] Forked 23085 -[15391] Forked 23086 -(23085) found -(23086) found -[15390] Forked 23087 -[15389] Forked 23088 -(23087) found -(23088) found -[15388] Forked 23089 -[15387] Forked 23090 -(23089) found -(23090) found -[15386] Forked 23091 -[15385] Forked 23092 -(23091) found -(23092) found -[15384] Forked 23093 -[15383] Forked 23094 -(23093) found -(23094) found -[15382] Forked 23095 -[15381] Forked 23096 -(23095) found -(23096) found -[15380] Forked 23097 -[15379] Forked 23098 -(23097) found -(23098) found -[15378] Forked 23099 -[15377] Forked 23100 -(23099) found -(23100) found -[15376] Forked 23101 -[15375] Forked 23102 -(23101) found -(23102) found -[15374] Forked 23103 -[15373] Forked 23104 -(23103) found -(23104) found -[15372] Forked 23105 -[15371] Forked 23106 -(23105) found -(23106) found -[15370] Forked 23107 -[15369] Forked 23108 -(23107) found -(23108) found -[15368] Forked 23109 -[15367] Forked 23110 -(23109) found -(23110) found -[15366] Forked 23111 -[15365] Forked 23112 -(23111) found -(23112) found -[15364] Forked 23113 -[15363] Forked 23114 -(23113) found -(23114) found -[15362] Forked 23115 -[15361] Forked 23116 -(23115) found -(23116) found -[15360] Forked 23117 -[15359] Forked 23118 -(23117) found -(23118) found -[15358] Forked 23119 -[15357] Forked 23120 -(23119) found -(23120) found -[15356] Forked 23121 -[15355] Forked 23122 -(23121) found -(23122) found -[15354] Forked 23123 -[15353] Forked 23124 -(23123) found -(23124) found -[15352] Forked 23125 -[15351] Forked 23126 -(23125) found -(23126) found -[15350] Forked 23127 -[15349] Forked 23128 -(23127) found -(23128) found -[15348] Forked 23129 -(23129) found -[15347] Forked 23130 -(23130) found -[15346] Forked 23131 -(23131) found -[15345] Forked 23132 -[15344] Forked 23133 -(23132) found -(23133) found -[15343] Forked 23134 -[15342] Forked 23135 -(23134) found -(23135) found -[15341] Forked 23136 -[15340] Forked 23137 -(23136) found -(23137) found -[15339] Forked 23138 -[15338] Forked 23139 -(23138) found -(23139) found -[15337] Forked 23140 -[15336] Forked 23141 -(23140) found -(23141) found -[15335] Forked 23142 -[15334] Forked 23143 -(23142) found -(23143) found -[15333] Forked 23144 -[15332] Forked 23145 -(23144) found -(23145) found -[15331] Forked 23146 -[15330] Forked 23147 -(23146) found -(23147) found -[15329] Forked 23148 -[15328] Forked 23149 -(23148) found -(23149) found -[15327] Forked 23150 -[15326] Forked 23151 -(23150) found -(23151) found -[15325] Forked 23152 -[15324] Forked 23153 -(23152) found -(23153) found -[15323] Forked 23154 -[15322] Forked 23155 -(23154) found -(23155) found -[15321] Forked 23156 -[15320] Forked 23158 -(23156) found -(23158) found -[15319] Forked 23159 -(23159) found -[15318] Forked 23160 -(23160) found -[15317] Forked 23161 -(23161) found -[15316] Forked 23162 -(23162) found -[15315] Forked 23163 -(23163) found -[15314] Forked 23164 -(23164) found -[15313] Forked 23165 -(23165) found -[15312] Forked 23166 -(23166) found -[15311] Forked 23167 -(23167) found -[15310] Forked 23168 -(23168) found -[15309] Forked 23169 -(23169) found -[15308] Forked 23170 -(23170) found -[15307] Forked 23171 -(23171) found -[15306] Forked 23172 -(23172) found -[15305] Forked 23173 -(23173) found -[15304] Forked 23174 -(23174) found -[15303] Forked 23175 -(23175) found -[15302] Forked 23176 -(23176) found -[15301] Forked 23177 -(23177) found -[15300] Forked 23178 -(23178) found -[15299] Forked 23179 -(23179) found -[15298] Forked 23180 -(23180) found -[15297] Forked 23181 -(23181) found -[15296] Forked 23182 -(23182) found -[15295] Forked 23183 -(23183) found -[15294] Forked 23184 -(23184) found -[15293] Forked 23185 -(23185) found -[15292] Forked 23186 -(23186) found -[15291] Forked 23187 -(23187) found -[15290] Forked 23188 -(23188) found -[15289] Forked 23189 -(23189) found -[15288] Forked 23190 -(23190) found -[15287] Forked 23191 -(23191) found -[15286] Forked 23192 -(23192) found -[15285] Forked 23193 -(23193) found -[15284] Forked 23194 -(23194) found -[15283] Forked 23195 -(23195) found -[15282] Forked 23196 -(23196) found -[15281] Forked 23197 -(23197) found -[15280] Forked 23198 -(23198) found -[15279] Forked 23199 -(23199) found -[15278] Forked 23200 -(23200) found -[15277] Forked 23201 -(23201) found -[15276] Forked 23202 -(23202) found -[15275] Forked 23203 -(23203) found -[15274] Forked 23204 -(23204) found -[15273] Forked 23205 -(23205) found -[15272] Forked 23206 -(23206) found -[15271] Forked 23207 -(23207) found -[15270] Forked 23208 -(23208) found -[15269] Forked 23209 -(23209) found -[15268] Forked 23210 -(23210) found -[15267] Forked 23211 -[15266] Forked 23212 -(23211) found -(23212) found -[15265] Forked 23213 -[15264] Forked 23214 -(23213) found -(23214) found -[15263] Forked 23215 -[15262] Forked 23216 -(23215) found -(23216) found -[15261] Forked 23217 -[15260] Forked 23218 -(23217) found -(23218) found -[15259] Forked 23219 -[15258] Forked 23220 -(23219) found -(23220) found -[15257] Forked 23221 -[15256] Forked 23222 -(23221) found -(23222) found -[15255] Forked 23223 -[15254] Forked 23224 -(23223) found -(23224) found -[15253] Forked 23225 -[15252] Forked 23226 -(23225) found -(23226) found -[15251] Forked 23227 -[15250] Forked 23228 -(23227) found -(23228) found -[15249] Forked 23229 -[15248] Forked 23230 -(23229) found -(23230) found -[15247] Forked 23231 -[15246] Forked 23232 -(23231) found -(23232) found -[15245] Forked 23233 -[15244] Forked 23234 -(23233) found -(23234) found -[15243] Forked 23235 -[15242] Forked 23236 -(23235) found -(23236) found -[15241] Forked 23237 -[15240] Forked 23238 -(23237) found -(23238) found -[15239] Forked 23239 -[15238] Forked 23240 -(23239) found -(23240) found -[15237] Forked 23241 -[15236] Forked 23242 -(23241) found -(23242) found -[15235] Forked 23243 -[15234] Forked 23244 -(23243) found -(23244) found -[15233] Forked 23245 -[15232] Forked 23246 -(23245) found -(23246) found -[15231] Forked 23247 -[15230] Forked 23248 -(23247) found -(23248) found -[15229] Forked 23249 -[15228] Forked 23250 -(23249) found -(23250) found -[15227] Forked 23251 -[15226] Forked 23252 -(23251) found -(23252) found -[15225] Forked 23253 -[15224] Forked 23254 -(23253) found -(23254) found -[15223] Forked 23255 -[15222] Forked 23256 -(23255) found -(23256) found -[15221] Forked 23257 -[15220] Forked 23258 -(23258) found -(23257) found -[15219] Forked 23259 -(23259) found -[15218] Forked 23260 -(23260) found -[15217] Forked 23261 -(23261) found -[15216] Forked 23262 -(23262) found -[15215] Forked 23263 -(23263) found -[15214] Forked 23264 -(23264) found -[15213] Forked 23265 -(23265) found -[15212] Forked 23266 -(23266) found -[15211] Forked 23267 -(23267) found -[15210] Forked 23268 -(23268) found -[15209] Forked 23269 -(23269) found -[15208] Forked 23270 -(23270) found -[15207] Forked 23271 -(23271) found -[15206] Forked 23272 -(23272) found -[15205] Forked 23273 -(23273) found -[15204] Forked 23274 -(23274) found -[15203] Forked 23275 -(23275) found -[15202] Forked 23276 -(23276) found -[15201] Forked 23277 -(23277) found -[15200] Forked 23278 -(23278) found -[15199] Forked 23279 -(23279) found -[15198] Forked 23280 -(23280) found -[15197] Forked 23281 -(23281) found -[15196] Forked 23282 -(23282) found -[15195] Forked 23283 -(23283) found -[15194] Forked 23284 -(23284) found -[15193] Forked 23285 -(23285) found -[15192] Forked 23286 -(23286) found -[15191] Forked 23287 -(23287) found -[15190] Forked 23288 -(23288) found -[15189] Forked 23289 -(23289) found -[15188] Forked 23290 -(23290) found -[15187] Forked 23291 -(23291) found -[15186] Forked 23292 -(23292) found -[15185] Forked 23293 -(23293) found -[15184] Forked 23294 -(23294) found -[15183] Forked 23295 -(23295) found -[15182] Forked 23296 -(23296) found -[15181] Forked 23297 -(23297) found -[15180] Forked 23298 -(23298) found -[15179] Forked 23299 -(23299) found -[15178] Forked 23300 -(23300) found -[15177] Forked 23301 -(23301) found -[15176] Forked 23302 -(23302) found -[15175] Forked 23303 -(23303) found -[15174] Forked 23304 -(23304) found -[15173] Forked 23305 -(23305) found -[15172] Forked 23306 -(23306) found -[15171] Forked 23307 -(23307) found -[15170] Forked 23308 -(23308) found -[15169] Forked 23309 -(23309) found -[15168] Forked 23310 -(23310) found -[15167] Forked 23311 -(23311) found -[15166] Forked 23312 -(23312) found -[15165] Forked 23313 -(23313) found -[15164] Forked 23314 -(23314) found -[15163] Forked 23315 -(23315) found -[15162] Forked 23316 -(23316) found -[15161] Forked 23317 -(23317) found -[15160] Forked 23318 -(23318) found -[15159] Forked 23319 -(23319) found -[15158] Forked 23320 -(23320) found -[15157] Forked 23321 -(23321) found -[15156] Forked 23322 -(23322) found -[15155] Forked 23323 -(23323) found -[15154] Forked 23324 -(23324) found -[15153] Forked 23325 -(23325) found -[15152] Forked 23326 -(23326) found -[15151] Forked 23327 -(23327) found -[15150] Forked 23328 -(23328) found -[15149] Forked 23329 -(23329) found -[15148] Forked 23330 -[15147] Forked 23331 -(23330) found -(23331) found -[15146] Forked 23332 -[15145] Forked 23333 -(23332) found -(23333) found -[15144] Forked 23334 -[15143] Forked 23335 -(23334) found -(23335) found -[15142] Forked 23336 -[15141] Forked 23337 -(23336) found -(23337) found -[15140] Forked 23338 -[15139] Forked 23339 -(23338) found -(23339) found -[15138] Forked 23340 -[15137] Forked 23341 -(23340) found -(23341) found -[15136] Forked 23342 -[15135] Forked 23343 -(23342) found -(23343) found -[15134] Forked 23344 -[15133] Forked 23345 -(23344) found -(23345) found -[15132] Forked 23346 -[15131] Forked 23347 -(23346) found -(23347) found -[15130] Forked 23348 -[15129] Forked 23349 -(23348) found -(23349) found -[15128] Forked 23350 -[15127] Forked 23351 -(23350) found -(23351) found -[15126] Forked 23352 -[15125] Forked 23353 -(23352) found -(23353) found -[15124] Forked 23354 -[15123] Forked 23355 -(23354) found -(23355) found -[15122] Forked 23356 -[15121] Forked 23357 -(23356) found -(23357) found -[15120] Forked 23358 -[15119] Forked 23359 -(23358) found -(23359) found -[15118] Forked 23360 -[15117] Forked 23361 -(23360) found -(23361) found -[15116] Forked 23362 -[15115] Forked 23363 -(23362) found -(23363) found -[15114] Forked 23364 -[15113] Forked 23365 -(23364) found -(23365) found -[15112] Forked 23366 -[15111] Forked 23367 -(23366) found -(23367) found -[15110] Forked 23368 -[15109] Forked 23369 -(23368) found -(23369) found -[15108] Forked 23370 -[15107] Forked 23371 -(23370) found -(23371) found -[15106] Forked 23372 -[15105] Forked 23373 -(23372) found -(23373) found -[15104] Forked 23374 -[15103] Forked 23375 -(23374) found -(23375) found -[15102] Forked 23376 -(23376) found -[15101] Forked 23377 -(23377) found -[15100] Forked 23378 -(23378) found -[15099] Forked 23379 -(23379) found -[15098] Forked 23380 -(23380) found -[15097] Forked 23381 -(23381) found -[15096] Forked 23382 -(23382) found -[15095] Forked 23383 -(23383) found -[15094] Forked 23384 -(23384) found -[15093] Forked 23385 -(23385) found -[15092] Forked 23386 -(23386) found -[15091] Forked 23387 -(23387) found -[15090] Forked 23388 -(23388) found -[15089] Forked 23389 -(23389) found -[15088] Forked 23390 -(23390) found -[15087] Forked 23391 -(23391) found -[15086] Forked 23392 -(23392) found -[15085] Forked 23393 -(23393) found -[15084] Forked 23394 -(23394) found -[15083] Forked 23395 -(23395) found -[15082] Forked 23396 -(23396) found -[15081] Forked 23397 -(23397) found -[15080] Forked 23398 -(23398) found -[15079] Forked 23399 -(23399) found -[15078] Forked 23400 -(23400) found -[15077] Forked 23401 -(23401) found -[15076] Forked 23402 -(23402) found -[15075] Forked 23403 -(23403) found -[15074] Forked 23404 -(23404) found -[15073] Forked 23405 -(23405) found -[15072] Forked 23406 -(23406) found -[15071] Forked 23407 -(23407) found -[15070] Forked 23408 -(23408) found -[15069] Forked 23409 -(23409) found -[15068] Forked 23410 -(23410) found -[15067] Forked 23411 -(23411) found -[15066] Forked 23412 -(23412) found -[15065] Forked 23413 -[15064] Forked 23414 -(23413) found -(23414) found -[15063] Forked 23415 -[15062] Forked 23416 -(23415) found -(23416) found -[15061] Forked 23417 -[15060] Forked 23418 -(23417) found -(23418) found -[15059] Forked 23419 -[15058] Forked 23420 -(23419) found -(23420) found -[15057] Forked 23421 -[15056] Forked 23422 -(23421) found -(23422) found -[15055] Forked 23423 -[15054] Forked 23424 -(23423) found -(23424) found -[15053] Forked 23425 -[15052] Forked 23426 -(23425) found -(23426) found -[15051] Forked 23427 -[15050] Forked 23428 -(23427) found -(23428) found -[15049] Forked 23429 -[15048] Forked 23430 -(23429) found -(23430) found -[15047] Forked 23431 -[15046] Forked 23432 -(23431) found -(23432) found -[15045] Forked 23433 -[15044] Forked 23434 -(23433) found -(23434) found -[15043] Forked 23435 -[15042] Forked 23436 -(23435) found -(23436) found -[15041] Forked 23437 -[15040] Forked 23438 -(23437) found -(23438) found -[15039] Forked 23439 -[15038] Forked 23440 -(23439) found -(23440) found -[15037] Forked 23441 -[15036] Forked 23442 -(23441) found -(23442) found -[15035] Forked 23443 -[15034] Forked 23444 -(23443) found -(23444) found -[15033] Forked 23445 -[15032] Forked 23446 -(23445) found -(23446) found -[15031] Forked 23447 -[15030] Forked 23448 -(23447) found -(23448) found -[15029] Forked 23449 -[15028] Forked 23450 -(23449) found -(23450) found -[15027] Forked 23451 -[15026] Forked 23452 -(23451) found -(23452) found -[15025] Forked 23453 -[15024] Forked 23454 -(23453) found -(23454) found -[15023] Forked 23455 -[15022] Forked 23456 -(23455) found -(23456) found -[15021] Forked 23457 -[15020] Forked 23458 -(23457) found -(23458) found -[15019] Forked 23459 -[15018] Forked 23460 -(23459) found -(23460) found -[15017] Forked 23461 -[15016] Forked 23462 -(23461) found -(23462) found -[15015] Forked 23463 -[15014] Forked 23464 -(23463) found -(23464) found -[15013] Forked 23465 -[15012] Forked 23466 -(23465) found -(23466) found -[15011] Forked 23467 -[15010] Forked 23468 -(23467) found -(23468) found -[15009] Forked 23469 -[15008] Forked 23470 -(23469) found -(23470) found -[15007] Forked 23471 -[15006] Forked 23472 -(23471) found -(23472) found -[15005] Forked 23473 -[15004] Forked 23474 -(23473) found -(23474) found -[15003] Forked 23475 -[15002] Forked 23476 -(23475) found -(23476) found -[15001] Forked 23477 -[15000] Forked 23478 -(23477) found -(23478) found -[14999] Forked 23479 -[14998] Forked 23480 -(23479) found -(23480) found -[14997] Forked 23481 -[14996] Forked 23482 -(23481) found -(23482) found -[14995] Forked 23483 -[14994] Forked 23484 -(23483) found -(23484) found -[14993] Forked 23485 -[14992] Forked 23486 -(23485) found -(23486) found -[14991] Forked 23487 -[14990] Forked 23488 -(23487) found -(23488) found -[14989] Forked 23489 -[14988] Forked 23490 -(23489) found -(23490) found -[14987] Forked 23491 -[14986] Forked 23492 -(23491) found -(23492) found -[14985] Forked 23493 -[14984] Forked 23494 -(23493) found -(23494) found -[14983] Forked 23495 -[14982] Forked 23496 -(23495) found -(23496) found -[14981] Forked 23497 -[14980] Forked 23498 -(23497) found -(23498) found -[14979] Forked 23499 -[14978] Forked 23500 -(23499) found -(23500) found -[14977] Forked 23501 -[14976] Forked 23502 -(23501) found -(23502) found -[14975] Forked 23503 -[14974] Forked 23504 -(23503) found -(23504) found -[14973] Forked 23505 -[14972] Forked 23506 -(23505) found -(23506) found -[14971] Forked 23507 -[14970] Forked 23508 -(23507) found -(23508) found -[14969] Forked 23509 -[14968] Forked 23510 -(23509) found -(23510) found -[14967] Forked 23511 -[14966] Forked 23512 -(23511) found -(23512) found -[14965] Forked 23513 -[14964] Forked 23514 -(23513) found -(23514) found -[14963] Forked 23515 -[14962] Forked 23516 -(23515) found -(23516) found -[14961] Forked 23517 -[14960] Forked 23518 -(23517) found -(23518) found -[14959] Forked 23519 -[14958] Forked 23520 -(23519) found -(23520) found -[14957] Forked 23521 -[14956] Forked 23522 -(23521) found -(23522) found -[14955] Forked 23523 -[14954] Forked 23524 -(23523) found -(23524) found -[14953] Forked 23525 -[14952] Forked 23526 -(23525) found -(23526) found -[14951] Forked 23527 -[14950] Forked 23528 -(23527) found -(23528) found -[14949] Forked 23529 -[14948] Forked 23530 -(23529) found -(23530) found -[14947] Forked 23531 -[14946] Forked 23532 -(23531) found -(23532) found -[14945] Forked 23533 -[14944] Forked 23534 -(23533) found -(23534) found -[14943] Forked 23535 -[14942] Forked 23536 -(23535) found -(23536) found -[14941] Forked 23537 -[14940] Forked 23538 -(23537) found -(23538) found -[14939] Forked 23539 -[14938] Forked 23540 -(23539) found -(23540) found -[14937] Forked 23541 -[14936] Forked 23542 -(23541) found -(23542) found -[14935] Forked 23543 -[14934] Forked 23544 -(23543) found -(23544) found -[14933] Forked 23545 -[14932] Forked 23546 -(23545) found -(23546) found -[14931] Forked 23547 -[14930] Forked 23548 -(23547) found -(23548) found -[14929] Forked 23549 -[14928] Forked 23550 -(23549) found -(23550) found -[14927] Forked 23551 -[14926] Forked 23552 -(23551) found -(23552) found -[14925] Forked 23553 -[14924] Forked 23554 -(23553) found -(23554) found -[14923] Forked 23555 -[14922] Forked 23556 -(23555) found -(23556) found -[14921] Forked 23557 -[14920] Forked 23558 -(23557) found -(23558) found -[14919] Forked 23559 -[14918] Forked 23560 -(23559) found -(23560) found -[14917] Forked 23561 -[14916] Forked 23562 -(23561) found -(23562) found -[14915] Forked 23563 -[14914] Forked 23564 -(23563) found -(23564) found -[14913] Forked 23565 -[14912] Forked 23566 -(23565) found -(23566) found -[14911] Forked 23567 -[14910] Forked 23568 -(23567) found -(23568) found -[14909] Forked 23569 -[14908] Forked 23570 -(23569) found -(23570) found -[14907] Forked 23571 -[14906] Forked 23572 -(23571) found -(23572) found -[14905] Forked 23573 -[14904] Forked 23574 -(23573) found -(23574) found -[14903] Forked 23575 -[14902] Forked 23577 -(23575) found -(23577) found -[14901] Forked 23578 -(23578) found -[14900] Forked 23579 -(23579) found -[14899] Forked 23580 -(23580) found -[14898] Forked 23581 -(23581) found -[14897] Forked 23582 -(23582) found -[14896] Forked 23583 -(23583) found -[14895] Forked 23584 -(23584) found -[14894] Forked 23585 -(23585) found -[14893] Forked 23586 -(23586) found -[14892] Forked 23587 -(23587) found -[14891] Forked 23588 -(23588) found -[14890] Forked 23589 -(23589) found -[14889] Forked 23590 -(23590) found -[14888] Forked 23591 -(23591) found -[14887] Forked 23592 -(23592) found -[14886] Forked 23593 -(23593) found -[14885] Forked 23594 -(23594) found -[14884] Forked 23595 -(23595) found -[14883] Forked 23596 -(23596) found -[14882] Forked 23597 -(23597) found -[14881] Forked 23598 -(23598) found -[14880] Forked 23599 -(23599) found -[14879] Forked 23600 -(23600) found -[14878] Forked 23601 -(23601) found -[14877] Forked 23602 -(23602) found -[14876] Forked 23603 -(23603) found -[14875] Forked 23604 -(23604) found -[14874] Forked 23605 -(23605) found -[14873] Forked 23606 -(23606) found -[14872] Forked 23607 -(23607) found -[14871] Forked 23608 -(23608) found -[14870] Forked 23609 -(23609) found -[14869] Forked 23610 -(23610) found -[14868] Forked 23611 -(23611) found -[14867] Forked 23612 -(23612) found -[14866] Forked 23613 -(23613) found -[14865] Forked 23614 -(23614) found -[14864] Forked 23615 -(23615) found -[14863] Forked 23616 -(23616) found -[14862] Forked 23617 -(23617) found -[14861] Forked 23618 -(23618) found -[14860] Forked 23619 -(23619) found -[14859] Forked 23620 -(23620) found -[14858] Forked 23621 -(23621) found -[14857] Forked 23622 -(23622) found -[14856] Forked 23623 -(23623) found -[14855] Forked 23624 -(23624) found -[14854] Forked 23625 -(23625) found -[14853] Forked 23626 -(23626) found -[14852] Forked 23627 -[14851] Forked 23628 -(23627) found -(23628) found -[14850] Forked 23629 -[14849] Forked 23630 -(23629) found -(23630) found -[14848] Forked 23631 -[14847] Forked 23632 -(23631) found -(23632) found -[14846] Forked 23633 -[14845] Forked 23634 -(23633) found -(23634) found -[14844] Forked 23635 -[14843] Forked 23636 -(23635) found -(23636) found -[14842] Forked 23637 -[14841] Forked 23638 -(23637) found -(23638) found -[14840] Forked 23639 -[14839] Forked 23640 -(23639) found -(23640) found -[14838] Forked 23641 -[14837] Forked 23642 -(23641) found -(23642) found -[14836] Forked 23643 -[14835] Forked 23644 -(23643) found -(23644) found -[14834] Forked 23645 -[14833] Forked 23646 -(23645) found -(23646) found -[14832] Forked 23647 -[14831] Forked 23648 -(23647) found -(23648) found -[14830] Forked 23649 -[14829] Forked 23650 -(23649) found -(23650) found -[14828] Forked 23651 -[14827] Forked 23652 -(23651) found -(23652) found -[14826] Forked 23653 -[14825] Forked 23654 -(23653) found -(23654) found -[14824] Forked 23655 -[14823] Forked 23656 -(23655) found -(23656) found -[14822] Forked 23657 -[14821] Forked 23658 -(23657) found -(23658) found -[14820] Forked 23659 -[14819] Forked 23660 -(23659) found -(23660) found -[14818] Forked 23661 -[14817] Forked 23662 -(23661) found -(23662) found -[14816] Forked 23663 -[14815] Forked 23664 -(23663) found -(23664) found -[14814] Forked 23665 -[14813] Forked 23666 -(23665) found -(23666) found -[14812] Forked 23667 -[14811] Forked 23668 -(23667) found -(23668) found -[14810] Forked 23669 -[14809] Forked 23670 -(23669) found -(23670) found -[14808] Forked 23671 -[14807] Forked 23672 -(23671) found -(23672) found -[14806] Forked 23673 -[14805] Forked 23674 -(23673) found -(23674) found -[14804] Forked 23675 -[14803] Forked 23676 -(23675) found -(23676) found -[14802] Forked 23677 -[14801] Forked 23678 -(23677) found -(23678) found -[14800] Forked 23679 -[14799] Forked 23680 -(23679) found -(23680) found -[14798] Forked 23681 -[14797] Forked 23682 -(23681) found -(23682) found -[14796] Forked 23683 -[14795] Forked 23684 -(23683) found -(23684) found -[14794] Forked 23685 -[14793] Forked 23686 -(23685) found -(23686) found -[14792] Forked 23687 -[14791] Forked 23688 -(23687) found -(23688) found -[14790] Forked 23689 -[14789] Forked 23690 -(23689) found -(23690) found -[14788] Forked 23691 -[14787] Forked 23692 -(23691) found -(23692) found -[14786] Forked 23693 -[14785] Forked 23694 -(23693) found -(23694) found -[14784] Forked 23695 -[14783] Forked 23696 -(23695) found -(23696) found -[14782] Forked 23697 -[14781] Forked 23698 -(23697) found -(23698) found -[14780] Forked 23699 -[14779] Forked 23700 -(23699) found -(23700) found -[14778] Forked 23701 -[14777] Forked 23702 -(23701) found -(23702) found -[14776] Forked 23703 -[14775] Forked 23704 -(23703) found -(23704) found -[14774] Forked 23705 -[14773] Forked 23706 -(23705) found -(23706) found -[14772] Forked 23707 -[14771] Forked 23708 -(23707) found -(23708) found -[14770] Forked 23709 -[14769] Forked 23710 -(23709) found -(23710) found -[14768] Forked 23711 -[14767] Forked 23712 -(23711) found -(23712) found -[14766] Forked 23713 -[14765] Forked 23714 -(23713) found -(23714) found -[14764] Forked 23715 -[14763] Forked 23716 -(23715) found -(23716) found -[14762] Forked 23717 -[14761] Forked 23718 -(23717) found -(23718) found -[14760] Forked 23719 -(23719) found -[14759] Forked 23720 -(23720) found -[14758] Forked 23721 -(23721) found -[14757] Forked 23722 -(23722) found -[14756] Forked 23723 -(23723) found -[14755] Forked 23724 -(23724) found -[14754] Forked 23725 -(23725) found -[14753] Forked 23726 -(23726) found -[14752] Forked 23727 -(23727) found -[14751] Forked 23728 -(23728) found -[14750] Forked 23729 -(23729) found -[14749] Forked 23730 -(23730) found -[14748] Forked 23731 -(23731) found -[14747] Forked 23732 -(23732) found -[14746] Forked 23733 -(23733) found -[14745] Forked 23734 -(23734) found -[14744] Forked 23735 -(23735) found -[14743] Forked 23736 -(23736) found -[14742] Forked 23737 -(23737) found -[14741] Forked 23738 -(23738) found -[14740] Forked 23739 -(23739) found -[14739] Forked 23740 -(23740) found -[14738] Forked 23741 -(23741) found -[14737] Forked 23742 -(23742) found -[14736] Forked 23743 -(23743) found -[14735] Forked 23744 -(23744) found -[14734] Forked 23745 -(23745) found -[14733] Forked 23746 -(23746) found -[14732] Forked 23747 -(23747) found -[14731] Forked 23748 -(23748) found -[14730] Forked 23749 -(23749) found -[14729] Forked 23750 -(23750) found -[14728] Forked 23751 -(23751) found -[14727] Forked 23752 -[14726] Forked 23753 -(23752) found -(23753) found -[14725] Forked 23754 -[14724] Forked 23755 -(23754) found -(23755) found -[14723] Forked 23756 -[14722] Forked 23757 -(23756) found -(23757) found -[14721] Forked 23758 -[14720] Forked 23759 -(23758) found -(23759) found -[14719] Forked 23760 -[14718] Forked 23761 -(23760) found -(23761) found -[14717] Forked 23762 -[14716] Forked 23763 -(23762) found -(23763) found -[14715] Forked 23764 -[14714] Forked 23765 -(23764) found -(23765) found -[14713] Forked 23766 -[14712] Forked 23767 -(23766) found -(23767) found -[14711] Forked 23768 -[14710] Forked 23769 -(23768) found -(23769) found -[14709] Forked 23770 -[14708] Forked 23771 -(23770) found -(23771) found -[14707] Forked 23772 -[14706] Forked 23773 -(23772) found -(23773) found -[14705] Forked 23774 -[14704] Forked 23775 -(23774) found -(23775) found -[14703] Forked 23776 -[14702] Forked 23777 -(23776) found -(23777) found -[14701] Forked 23778 -[14700] Forked 23779 -(23778) found -(23779) found -[14699] Forked 23780 -[14698] Forked 23781 -(23780) found -(23781) found -[14697] Forked 23782 -[14696] Forked 23783 -(23782) found -(23783) found -[14695] Forked 23784 -[14694] Forked 23785 -(23784) found -(23785) found -[14693] Forked 23786 -[14692] Forked 23787 -(23786) found -(23787) found -[14691] Forked 23788 -[14690] Forked 23789 -(23788) found -(23789) found -[14689] Forked 23790 -[14688] Forked 23791 -(23790) found -(23791) found -[14687] Forked 23792 -[14686] Forked 23793 -(23792) found -(23793) found -[14685] Forked 23794 -[14684] Forked 23795 -(23794) found -(23795) found -[14683] Forked 23796 -[14682] Forked 23797 -(23796) found -(23797) found -[14681] Forked 23798 -[14680] Forked 23799 -(23798) found -(23799) found -[14679] Forked 23800 -[14678] Forked 23801 -(23800) found -(23801) found -[14677] Forked 23802 -[14676] Forked 23803 -(23802) found -(23803) found -[14675] Forked 23804 -[14674] Forked 23805 -(23804) found -(23805) found -[14673] Forked 23806 -[14672] Forked 23807 -(23806) found -(23807) found -[14671] Forked 23808 -[14670] Forked 23809 -(23808) found -(23809) found -[14669] Forked 23810 -[14668] Forked 23811 -(23810) found -(23811) found -[14667] Forked 23812 -[14666] Forked 23813 -(23812) found -(23813) found -[14665] Forked 23814 -[14664] Forked 23815 -(23814) found -(23815) found -[14663] Forked 23816 -[14662] Forked 23817 -(23816) found -(23817) found -[14661] Forked 23818 -[14660] Forked 23819 -(23818) found -(23819) found -[14659] Forked 23820 -[14658] Forked 23821 -(23820) found -(23821) found -[14657] Forked 23822 -[14656] Forked 23823 -(23822) found -(23823) found -[14655] Forked 23824 -[14654] Forked 23825 -(23824) found -(23825) found -[14653] Forked 23826 -[14652] Forked 23827 -(23826) found -(23827) found -[14651] Forked 23828 -[14650] Forked 23829 -(23828) found -(23829) found -[14649] Forked 23830 -[14648] Forked 23831 -(23830) found -(23831) found -[14647] Forked 23832 -[14646] Forked 23833 -(23832) found -(23833) found -[14645] Forked 23834 -[14644] Forked 23835 -(23834) found -(23835) found -[14643] Forked 23836 -[14642] Forked 23837 -(23836) found -(23837) found -[14641] Forked 23838 -[14640] Forked 23839 -(23838) found -(23839) found -[14639] Forked 23840 -[14638] Forked 23841 -(23840) found -(23841) found -[14637] Forked 23842 -[14636] Forked 23843 -(23842) found -(23843) found -[14635] Forked 23844 -(23844) found -[14634] Forked 23845 -(23845) found -[14633] Forked 23846 -(23846) found -[14632] Forked 23847 -(23847) found -[14631] Forked 23848 -(23848) found -[14630] Forked 23849 -(23849) found -[14629] Forked 23850 -(23850) found -[14628] Forked 23851 -(23851) found -[14627] Forked 23852 -(23852) found -[14626] Forked 23853 -(23853) found -[14625] Forked 23854 -(23854) found -[14624] Forked 23855 -(23855) found -[14623] Forked 23856 -(23856) found -[14622] Forked 23857 -(23857) found -[14621] Forked 23858 -(23858) found -[14620] Forked 23859 -(23859) found -[14619] Forked 23860 -(23860) found -[14618] Forked 23861 -(23861) found -[14617] Forked 23862 -(23862) found -[14616] Forked 23863 -(23863) found -[14615] Forked 23864 -(23864) found -[14614] Forked 23865 -(23865) found -[14613] Forked 23866 -(23866) found -[14612] Forked 23867 -(23867) found -[14611] Forked 23868 -(23868) found -[14610] Forked 23869 -(23869) found -[14609] Forked 23870 -(23870) found -[14608] Forked 23871 -(23871) found -[14607] Forked 23872 -(23872) found -[14606] Forked 23873 -(23873) found -[14605] Forked 23874 -(23874) found -[14604] Forked 23875 -(23875) found -[14603] Forked 23876 -(23876) found -[14602] Forked 23877 -(23877) found -[14601] Forked 23878 -(23878) found -[14600] Forked 23879 -[14599] Forked 23880 -(23879) found -(23880) found -[14598] Forked 23881 -[14597] Forked 23882 -(23881) found -(23882) found -[14596] Forked 23883 -[14595] Forked 23884 -(23883) found -(23884) found -[14594] Forked 23885 -[14593] Forked 23886 -(23885) found -(23886) found -[14592] Forked 23887 -[14591] Forked 23888 -(23887) found -(23888) found -[14590] Forked 23889 -[14589] Forked 23890 -(23889) found -(23890) found -[14588] Forked 23891 -[14587] Forked 23892 -(23891) found -(23892) found -[14586] Forked 23893 -[14585] Forked 23894 -(23893) found -(23894) found -[14584] Forked 23895 -[14583] Forked 23896 -(23895) found -(23896) found -[14582] Forked 23897 -[14581] Forked 23898 -(23897) found -(23898) found -[14580] Forked 23899 -[14579] Forked 23900 -(23899) found -(23900) found -[14578] Forked 23901 -[14577] Forked 23902 -(23901) found -(23902) found -[14576] Forked 23903 -[14575] Forked 23904 -(23903) found -(23904) found -[14574] Forked 23905 -[14573] Forked 23906 -(23905) found -(23906) found -[14572] Forked 23907 -[14571] Forked 23908 -(23907) found -(23908) found -[14570] Forked 23909 -[14569] Forked 23910 -(23909) found -(23910) found -[14568] Forked 23911 -[14567] Forked 23912 -(23911) found -(23912) found -[14566] Forked 23913 -(23913) found -[14565] Forked 23914 -(23914) found -[14564] Forked 23915 -(23915) found -[14563] Forked 23916 -(23916) found -[14562] Forked 23917 -(23917) found -[14561] Forked 23918 -(23918) found -[14560] Forked 23919 -(23919) found -[14559] Forked 23920 -(23920) found -[14558] Forked 23921 -(23921) found -[14557] Forked 23922 -(23922) found -[14556] Forked 23923 -(23923) found -[14555] Forked 23924 -(23924) found -[14554] Forked 23925 -(23925) found -[14553] Forked 23926 -(23926) found -[14552] Forked 23927 -(23927) found -[14551] Forked 23928 -(23928) found -[14550] Forked 23929 -(23929) found -[14549] Forked 23930 -(23930) found -[14548] Forked 23931 -(23931) found -[14547] Forked 23932 -(23932) found -[14546] Forked 23933 -(23933) found -[14545] Forked 23934 -(23934) found -[14544] Forked 23935 -(23935) found -[14543] Forked 23936 -(23936) found -[14542] Forked 23937 -(23937) found -[14541] Forked 23938 -(23938) found -[14540] Forked 23939 -(23939) found -[14539] Forked 23940 -(23940) found -[14538] Forked 23941 -(23941) found -[14537] Forked 23942 -(23942) found -[14536] Forked 23943 -(23943) found -[14535] Forked 23944 -(23944) found -[14534] Forked 23945 -(23945) found -[14533] Forked 23946 -(23946) found -[14532] Forked 23947 -(23947) found -[14531] Forked 23948 -(23948) found -[14530] Forked 23949 -(23949) found -[14529] Forked 23950 -(23950) found -[14528] Forked 23951 -(23951) found -[14527] Forked 23952 -(23952) found -[14526] Forked 23953 -(23953) found -[14525] Forked 23954 -(23954) found -[14524] Forked 23955 -(23955) found -[14523] Forked 23956 -(23956) found -[14522] Forked 23957 -(23957) found -[14521] Forked 23958 -(23958) found -[14520] Forked 23959 -(23959) found -[14519] Forked 23960 -(23960) found -[14518] Forked 23961 -(23961) found -[14517] Forked 23962 -(23962) found -[14516] Forked 23963 -(23963) found -[14515] Forked 23964 -(23964) found -[14514] Forked 23965 -(23965) found -[14513] Forked 23966 -(23966) found -[14512] Forked 23967 -(23967) found -[14511] Forked 23968 -(23968) found -[14510] Forked 23969 -(23969) found -[14509] Forked 23970 -(23970) found -[14508] Forked 23971 -(23971) found -[14507] Forked 23972 -(23972) found -[14506] Forked 23973 -(23973) found -[14505] Forked 23974 -(23974) found -[14504] Forked 23975 -(23975) found -[14503] Forked 23976 -(23976) found -[14502] Forked 23977 -(23977) found -[14501] Forked 23978 -(23978) found -[14500] Forked 23979 -(23979) found -[14499] Forked 23980 -(23980) found -[14498] Forked 23981 -(23981) found -[14497] Forked 23982 -(23982) found -[14496] Forked 23983 -[14495] Forked 23984 -(23983) found -(23984) found -[14494] Forked 23985 -[14493] Forked 23986 -(23985) found -(23986) found -[14492] Forked 23987 -[14491] Forked 23988 -(23987) found -(23988) found -[14490] Forked 23989 -[14489] Forked 23990 -(23989) found -(23990) found -[14488] Forked 23991 -[14487] Forked 23992 -(23991) found -(23992) found -[14486] Forked 23993 -[14485] Forked 23994 -(23993) found -(23994) found -[14484] Forked 23995 -[14483] Forked 23996 -(23995) found -(23996) found -[14482] Forked 23997 -[14481] Forked 23998 -(23997) found -(23998) found -[14480] Forked 23999 -[14479] Forked 24000 -(23999) found -(24000) found -[14478] Forked 24001 -[14477] Forked 24002 -(24001) found -(24002) found -[14476] Forked 24003 -[14475] Forked 24004 -(24003) found -(24004) found -[14474] Forked 24005 -[14473] Forked 24006 -(24005) found -(24006) found -[14472] Forked 24007 -[14471] Forked 24008 -(24007) found -(24008) found -[14470] Forked 24009 -[14469] Forked 24010 -(24009) found -(24010) found -[14468] Forked 24011 -[14467] Forked 24012 -(24011) found -(24012) found -[14466] Forked 24013 -[14465] Forked 24014 -(24013) found -(24014) found -[14464] Forked 24015 -[14463] Forked 24016 -(24015) found -(24016) found -[14462] Forked 24017 -[14461] Forked 24018 -(24017) found -(24018) found -[14460] Forked 24019 -[14459] Forked 24020 -(24019) found -(24020) found -[14458] Forked 24021 -[14457] Forked 24022 -(24021) found -(24022) found -[14456] Forked 24023 -[14455] Forked 24025 -(24023) found -(24025) found -[14454] Forked 24026 -(24026) found -[14453] Forked 24027 -(24027) found -[14452] Forked 24028 -(24028) found -[14451] Forked 24029 -(24029) found -[14450] Forked 24030 -(24030) found -[14449] Forked 24031 -(24031) found -[14448] Forked 24032 -(24032) found -[14447] Forked 24033 -(24033) found -[14446] Forked 24034 -(24034) found -[14445] Forked 24035 -(24035) found -[14444] Forked 24036 -(24036) found -[14443] Forked 24037 -(24037) found -[14442] Forked 24038 -(24038) found -[14441] Forked 24039 -(24039) found -[14440] Forked 24040 -(24040) found -[14439] Forked 24041 -(24041) found -[14438] Forked 24042 -(24042) found -[14437] Forked 24043 -(24043) found -[14436] Forked 24044 -(24044) found -[14435] Forked 24045 -(24045) found -[14434] Forked 24046 -(24046) found -[14433] Forked 24047 -(24047) found -[14432] Forked 24048 -(24048) found -[14431] Forked 24049 -(24049) found -[14430] Forked 24050 -(24050) found -[14429] Forked 24051 -(24051) found -[14428] Forked 24052 -(24052) found -[14427] Forked 24053 -(24053) found -[14426] Forked 24054 -(24054) found -[14425] Forked 24055 -(24055) found -[14424] Forked 24056 -(24056) found -[14423] Forked 24057 -(24057) found -[14422] Forked 24058 -(24058) found -[14421] Forked 24059 -(24059) found -[14420] Forked 24060 -(24060) found -[14419] Forked 24061 -(24061) found -[14418] Forked 24062 -(24062) found -[14417] Forked 24063 -(24063) found -[14416] Forked 24064 -(24064) found -[14415] Forked 24065 -(24065) found -[14414] Forked 24066 -(24066) found -[14413] Forked 24067 -(24067) found -[14412] Forked 24068 -(24068) found -[14411] Forked 24069 -(24069) found -[14410] Forked 24070 -(24070) found -[14409] Forked 24071 -(24071) found -[14408] Forked 24072 -(24072) found -[14407] Forked 24073 -(24073) found -[14406] Forked 24074 -(24074) found -[14405] Forked 24075 -(24075) found -[14404] Forked 24076 -(24076) found -[14403] Forked 24077 -(24077) found -[14402] Forked 24078 -(24078) found -[14401] Forked 24079 -(24079) found -[14400] Forked 24080 -(24080) found -[14399] Forked 24081 -(24081) found -[14398] Forked 24082 -(24082) found -[14397] Forked 24083 -(24083) found -[14396] Forked 24084 -(24084) found -[14395] Forked 24085 -(24085) found -[14394] Forked 24086 -(24086) found -[14393] Forked 24087 -(24087) found -[14392] Forked 24088 -(24088) found -[14391] Forked 24089 -(24089) found -[14390] Forked 24090 -(24090) found -[14389] Forked 24091 -(24091) found -[14388] Forked 24092 -(24092) found -[14387] Forked 24093 -(24093) found -[14386] Forked 24094 -(24094) found -[14385] Forked 24095 -(24095) found -[14384] Forked 24096 -(24096) found -[14383] Forked 24097 -(24097) found -[14382] Forked 24098 -(24098) found -[14381] Forked 24099 -(24099) found -[14380] Forked 24100 -(24100) found -[14379] Forked 24101 -(24101) found -[14378] Forked 24102 -(24102) found -[14377] Forked 24103 -(24103) found -[14376] Forked 24104 -(24104) found -[14375] Forked 24105 -(24105) found -[14374] Forked 24106 -(24106) found -[14373] Forked 24107 -(24107) found -[14372] Forked 24108 -(24108) found -[14371] Forked 24109 -(24109) found -[14370] Forked 24110 -(24110) found -[14369] Forked 24111 -(24111) found -[14368] Forked 24112 -(24112) found -[14367] Forked 24113 -(24113) found -[14366] Forked 24114 -(24114) found -[14365] Forked 24115 -(24115) found -[14364] Forked 24116 -(24116) found -[14363] Forked 24117 -(24117) found -[14362] Forked 24118 -(24118) found -[14361] Forked 24119 -(24119) found -[14360] Forked 24120 -(24120) found -[14359] Forked 24121 -(24121) found -[14358] Forked 24122 -(24122) found -[14357] Forked 24123 -(24123) found -[14356] Forked 24124 -(24124) found -[14355] Forked 24125 -(24125) found -[14354] Forked 24126 -(24126) found -[14353] Forked 24127 -(24127) found -[14352] Forked 24128 -(24128) found -[14351] Forked 24129 -(24129) found -[14350] Forked 24130 -(24130) found -[14349] Forked 24131 -(24131) found -[14348] Forked 24132 -(24132) found -[14347] Forked 24133 -(24133) found -[14346] Forked 24134 -(24134) found -[14345] Forked 24135 -(24135) found -[14344] Forked 24136 -(24136) found -[14343] Forked 24137 -(24137) found -[14342] Forked 24138 -(24138) found -[14341] Forked 24139 -(24139) found -[14340] Forked 24140 -(24140) found -[14339] Forked 24141 -(24141) found -[14338] Forked 24142 -(24142) found -[14337] Forked 24143 -(24143) found -[14336] Forked 24144 -(24144) found -[14335] Forked 24145 -(24145) found -[14334] Forked 24146 -(24146) found -[14333] Forked 24147 -(24147) found -[14332] Forked 24148 -(24148) found -[14331] Forked 24149 -(24149) found -[14330] Forked 24150 -(24150) found -[14329] Forked 24151 -(24151) found -[14328] Forked 24152 -(24152) found -[14327] Forked 24153 -(24153) found -[14326] Forked 24154 -(24154) found -[14325] Forked 24155 -(24155) found -[14324] Forked 24156 -(24156) found -[14323] Forked 24157 -(24157) found -[14322] Forked 24158 -(24158) found -[14321] Forked 24159 -(24159) found -[14320] Forked 24160 -(24160) found -[14319] Forked 24161 -(24161) found -[14318] Forked 24162 -(24162) found -[14317] Forked 24163 -(24163) found -[14316] Forked 24164 -(24164) found -[14315] Forked 24165 -(24165) found -[14314] Forked 24166 -(24166) found -[14313] Forked 24167 -(24167) found -[14312] Forked 24168 -(24168) found -[14311] Forked 24169 -(24169) found -[14310] Forked 24170 -(24170) found -[14309] Forked 24171 -(24171) found -[14308] Forked 24172 -(24172) found -[14307] Forked 24173 -(24173) found -[14306] Forked 24174 -(24174) found -[14305] Forked 24175 -(24175) found -[14304] Forked 24176 -(24176) found -[14303] Forked 24177 -[14302] Forked 24178 -(24177) found -(24178) found -[14301] Forked 24179 -[14300] Forked 24180 -(24179) found -(24180) found -[14299] Forked 24181 -[14298] Forked 24182 -(24181) found -(24182) found -[14297] Forked 24183 -[14296] Forked 24184 -(24183) found -(24184) found -[14295] Forked 24185 -[14294] Forked 24186 -(24185) found -(24186) found -[14293] Forked 24187 -[14292] Forked 24188 -(24187) found -(24188) found -[14291] Forked 24189 -[14290] Forked 24190 -(24189) found -(24190) found -[14289] Forked 24191 -[14288] Forked 24192 -(24191) found -(24192) found -[14287] Forked 24193 -[14286] Forked 24194 -(24193) found -(24194) found -[14285] Forked 24195 -[14284] Forked 24196 -(24195) found -(24196) found -[14283] Forked 24197 -[14282] Forked 24198 -(24197) found -(24198) found -[14281] Forked 24199 -[14280] Forked 24200 -(24199) found -(24200) found -[14279] Forked 24201 -[14278] Forked 24202 -(24201) found -(24202) found -[14277] Forked 24203 -[14276] Forked 24204 -(24203) found -(24204) found -[14275] Forked 24205 -[14274] Forked 24206 -(24205) found -(24206) found -[14273] Forked 24207 -[14272] Forked 24208 -(24207) found -(24208) found -[14271] Forked 24209 -[14270] Forked 24210 -(24209) found -(24210) found -[14269] Forked 24211 -[14268] Forked 24212 -(24211) found -(24212) found -[14267] Forked 24213 -[14266] Forked 24214 -(24213) found -(24214) found -[14265] Forked 24215 -[14264] Forked 24216 -(24215) found -(24216) found -[14263] Forked 24217 -[14262] Forked 24218 -(24217) found -(24218) found -[14261] Forked 24219 -[14260] Forked 24220 -(24219) found -(24220) found -[14259] Forked 24221 -[14258] Forked 24222 -(24221) found -(24222) found -[14257] Forked 24223 -[14256] Forked 24224 -(24223) found -(24224) found -[14255] Forked 24225 -[14254] Forked 24226 -(24225) found -(24226) found -[14253] Forked 24227 -[14252] Forked 24228 -(24227) found -(24228) found -[14251] Forked 24229 -[14250] Forked 24230 -(24229) found -(24230) found -[14249] Forked 24231 -[14248] Forked 24232 -(24231) found -(24232) found -[14247] Forked 24233 -[14246] Forked 24234 -(24233) found -(24234) found -[14245] Forked 24235 -[14244] Forked 24236 -(24235) found -(24236) found -[14243] Forked 24237 -[14242] Forked 24238 -(24237) found -(24238) found -[14241] Forked 24239 -[14240] Forked 24240 -(24239) found -(24240) found -[14239] Forked 24241 -[14238] Forked 24242 -(24241) found -(24242) found -[14237] Forked 24243 -[14236] Forked 24244 -(24243) found -(24244) found -[14235] Forked 24245 -[14234] Forked 24246 -(24245) found -(24246) found -[14233] Forked 24247 -[14232] Forked 24248 -(24247) found -(24248) found -[14231] Forked 24249 -[14230] Forked 24250 -(24249) found -(24250) found -[14229] Forked 24251 -[14228] Forked 24252 -(24251) found -(24252) found -[14227] Forked 24253 -[14226] Forked 24254 -(24253) found -(24254) found -[14225] Forked 24255 -[14224] Forked 24256 -(24255) found -(24256) found -[14223] Forked 24257 -(24257) found -[14222] Forked 24258 -(24258) found -[14221] Forked 24259 -(24259) found -[14220] Forked 24260 -(24260) found -[14219] Forked 24261 -(24261) found -[14218] Forked 24262 -(24262) found -[14217] Forked 24263 -(24263) found -[14216] Forked 24264 -(24264) found -[14215] Forked 24265 -(24265) found -[14214] Forked 24266 -(24266) found -[14213] Forked 24267 -(24267) found -[14212] Forked 24268 -(24268) found -[14211] Forked 24269 -(24269) found -[14210] Forked 24270 -(24270) found -[14209] Forked 24271 -(24271) found -[14208] Forked 24272 -(24272) found -[14207] Forked 24273 -(24273) found -[14206] Forked 24274 -(24274) found -[14205] Forked 24275 -(24275) found -[14204] Forked 24276 -(24276) found -[14203] Forked 24277 -(24277) found -[14202] Forked 24278 -(24278) found -[14201] Forked 24279 -(24279) found -[14200] Forked 24280 -(24280) found -[14199] Forked 24281 -(24281) found -[14198] Forked 24282 -(24282) found -[14197] Forked 24283 -(24283) found -[14196] Forked 24284 -(24284) found -[14195] Forked 24285 -(24285) found -[14194] Forked 24286 -(24286) found -[14193] Forked 24287 -(24287) found -[14192] Forked 24288 -[14191] Forked 24289 -(24288) found -(24289) found -[14190] Forked 24290 -[14189] Forked 24291 -(24290) found -(24291) found -[14188] Forked 24292 -[14187] Forked 24294 -(24292) found -(24294) found -[14186] Forked 24295 -(24295) found -[14185] Forked 24296 -(24296) found -[14184] Forked 24297 -(24297) found -[14183] Forked 24298 -(24298) found -[14182] Forked 24299 -(24299) found -[14181] Forked 24300 -(24300) found -[14180] Forked 24301 -(24301) found -[14179] Forked 24302 -(24302) found -[14178] Forked 24303 -(24303) found -[14177] Forked 24304 -(24304) found -[14176] Forked 24305 -(24305) found -[14175] Forked 24306 -(24306) found -[14174] Forked 24307 -(24307) found -[14173] Forked 24308 -(24308) found -[14172] Forked 24309 -(24309) found -[14171] Forked 24310 -(24310) found -[14170] Forked 24311 -(24311) found -[14169] Forked 24312 -(24312) found -[14168] Forked 24313 -(24313) found -[14167] Forked 24314 -(24314) found -[14166] Forked 24315 -(24315) found -[14165] Forked 24316 -(24316) found -[14164] Forked 24317 -(24317) found -[14163] Forked 24319 -(24319) found -[14162] Forked 24320 -(24320) found -[14161] Forked 24321 -(24321) found -[14160] Forked 24322 -(24322) found -[14159] Forked 24323 -(24323) found -[14158] Forked 24324 -(24324) found -[14157] Forked 24325 -(24325) found -[14156] Forked 24326 -(24326) found -[14155] Forked 24327 -(24327) found -[14154] Forked 24328 -(24328) found -[14153] Forked 24329 -(24329) found -[14152] Forked 24330 -(24330) found -[14151] Forked 24331 -(24331) found -[14150] Forked 24332 -(24332) found -[14149] Forked 24333 -(24333) found -[14148] Forked 24334 -(24334) found -[14147] Forked 24335 -(24335) found -[14146] Forked 24336 -(24336) found -[14145] Forked 24337 -(24337) found -[14144] Forked 24338 -(24338) found -[14143] Forked 24339 -(24339) found -[14142] Forked 24340 -(24340) found -[14141] Forked 24341 -(24341) found -[14140] Forked 24342 -(24342) found -[14139] Forked 24343 -(24343) found -[14138] Forked 24344 -(24344) found -[14137] Forked 24345 -(24345) found -[14136] Forked 24346 -(24346) found -[14135] Forked 24347 -(24347) found -[14134] Forked 24348 -(24348) found -[14133] Forked 24349 -(24349) found -[14132] Forked 24350 -(24350) found -[14131] Forked 24351 -(24351) found -[14130] Forked 24352 -(24352) found -[14129] Forked 24353 -(24353) found -[14128] Forked 24354 -(24354) found -[14127] Forked 24355 -(24355) found -[14126] Forked 24356 -(24356) found -[14125] Forked 24357 -(24357) found -[14124] Forked 24358 -(24358) found -[14123] Forked 24359 -(24359) found -[14122] Forked 24360 -(24360) found -[14121] Forked 24361 -[14120] Forked 24362 -(24361) found -(24362) found -[14119] Forked 24363 -[14118] Forked 24364 -(24363) found -(24364) found -[14117] Forked 24365 -[14116] Forked 24366 -(24365) found -(24366) found -[14115] Forked 24367 -[14114] Forked 24368 -(24367) found -(24368) found -[14113] Forked 24369 -[14112] Forked 24370 -(24369) found -(24370) found -[14111] Forked 24371 -[14110] Forked 24372 -(24371) found -(24372) found -[14109] Forked 24373 -[14108] Forked 24374 -(24373) found -(24374) found -[14107] Forked 24375 -[14106] Forked 24376 -(24375) found -(24376) found -[14105] Forked 24377 -[14104] Forked 24378 -(24377) found -(24378) found -[14103] Forked 24379 -[14102] Forked 24380 -(24379) found -(24380) found -[14101] Forked 24381 -[14100] Forked 24382 -(24381) found -(24382) found -[14099] Forked 24383 -[14098] Forked 24384 -(24383) found -(24384) found -[14097] Forked 24385 -[14096] Forked 24386 -(24385) found -(24386) found -[14095] Forked 24387 -[14094] Forked 24388 -(24387) found -(24388) found -[14093] Forked 24389 -[14092] Forked 24390 -(24389) found -(24390) found -[14091] Forked 24391 -[14090] Forked 24392 -(24391) found -(24392) found -[14089] Forked 24393 -[14088] Forked 24394 -(24393) found -(24394) found -[14087] Forked 24395 -[14086] Forked 24396 -(24395) found -(24396) found -[14085] Forked 24397 -[14084] Forked 24398 -(24397) found -(24398) found -[14083] Forked 24399 -[14082] Forked 24400 -(24399) found -(24400) found -[14081] Forked 24401 -[14080] Forked 24402 -(24401) found -(24402) found -[14079] Forked 24403 -[14078] Forked 24404 -(24403) found -(24404) found -[14077] Forked 24405 -[14076] Forked 24406 -(24406) found -(24405) found -[14075] Forked 24407 -(24407) found -[14074] Forked 24408 -(24408) found -[14073] Forked 24409 -(24409) found -[14072] Forked 24410 -(24410) found -[14071] Forked 24411 -(24411) found -[14070] Forked 24412 -(24412) found -[14069] Forked 24413 -(24413) found -[14068] Forked 24414 -(24414) found -[14067] Forked 24415 -(24415) found -[14066] Forked 24416 -(24416) found -[14065] Forked 24417 -(24417) found -[14064] Forked 24418 -(24418) found -[14063] Forked 24419 -(24419) found -[14062] Forked 24420 -(24420) found -[14061] Forked 24421 -(24421) found -[14060] Forked 24422 -(24422) found -[14059] Forked 24423 -(24423) found -[14058] Forked 24424 -(24424) found -[14057] Forked 24425 -(24425) found -[14056] Forked 24426 -(24426) found -[14055] Forked 24427 -(24427) found -[14054] Forked 24428 -(24428) found -[14053] Forked 24429 -(24429) found -[14052] Forked 24430 -(24430) found -[14051] Forked 24431 -(24431) found -[14050] Forked 24432 -(24432) found -[14049] Forked 24433 -(24433) found -[14048] Forked 24434 -(24434) found -[14047] Forked 24435 -(24435) found -[14046] Forked 24436 -(24436) found -[14045] Forked 24437 -(24437) found -[14044] Forked 24438 -(24438) found -[14043] Forked 24439 -(24439) found -[14042] Forked 24440 -(24440) found -[14041] Forked 24441 -(24441) found -[14040] Forked 24442 -[14039] Forked 24443 -(24442) found -(24443) found -[14038] Forked 24444 -[14037] Forked 24445 -(24444) found -(24445) found -[14036] Forked 24446 -[14035] Forked 24447 -(24446) found -(24447) found -[14034] Forked 24448 -[14033] Forked 24449 -(24448) found -(24449) found -[14032] Forked 24450 -[14031] Forked 24451 -(24450) found -(24451) found -[14030] Forked 24452 -[14029] Forked 24453 -(24452) found -(24453) found -[14028] Forked 24454 -[14027] Forked 24455 -(24454) found -(24455) found -[14026] Forked 24456 -[14025] Forked 24457 -(24456) found -(24457) found -[14024] Forked 24458 -[14023] Forked 24459 -(24458) found -(24459) found -[14022] Forked 24460 -[14021] Forked 24461 -(24460) found -(24461) found -[14020] Forked 24462 -[14019] Forked 24463 -(24462) found -(24463) found -[14018] Forked 24464 -[14017] Forked 24465 -(24464) found -(24465) found -[14016] Forked 24466 -[14015] Forked 24467 -(24466) found -(24467) found -[14014] Forked 24468 -[14013] Forked 24469 -(24468) found -(24469) found -[14012] Forked 24470 -[14011] Forked 24473 -(24470) found -(24473) found -[14010] Forked 24474 -[14009] Forked 24475 -(24474) found -(24475) found -[14008] Forked 24476 -[14007] Forked 24477 -(24476) found -(24477) found -[14006] Forked 24478 -[14005] Forked 24479 -(24478) found -(24479) found -[14004] Forked 24480 -[14003] Forked 24481 -(24480) found -(24481) found -[14002] Forked 24482 -[14001] Forked 24483 -(24482) found -(24483) found -[14000] Forked 24484 -[13999] Forked 24485 -(24484) found -(24485) found -[13998] Forked 24486 -[13997] Forked 24487 -(24486) found -(24487) found -[13996] Forked 24488 -[13995] Forked 24489 -(24488) found -(24489) found -[13994] Forked 24490 -[13993] Forked 24491 -(24490) found -(24491) found -[13992] Forked 24492 -[13991] Forked 24493 -(24492) found -(24493) found -[13990] Forked 24494 -[13989] Forked 24495 -(24494) found -(24495) found -[13988] Forked 24496 -[13987] Forked 24497 -(24496) found -(24497) found -[13986] Forked 24498 -[13985] Forked 24499 -(24498) found -(24499) found -[13984] Forked 24500 -[13983] Forked 24501 -(24500) found -(24501) found -[13982] Forked 24502 -[13981] Forked 24503 -(24502) found -(24503) found -[13980] Forked 24504 -[13979] Forked 24505 -(24504) found -(24505) found -[13978] Forked 24506 -[13977] Forked 24507 -(24506) found -(24507) found -[13976] Forked 24508 -[13975] Forked 24509 -(24508) found -(24509) found -[13974] Forked 24510 -[13973] Forked 24511 -(24510) found -(24511) found -[13972] Forked 24512 -[13971] Forked 24513 -(24512) found -(24513) found -[13970] Forked 24514 -[13969] Forked 24515 -(24514) found -(24515) found -[13968] Forked 24516 -[13967] Forked 24517 -(24516) found -(24517) found -[13966] Forked 24518 -[13965] Forked 24519 -(24518) found -(24519) found -[13964] Forked 24520 -[13963] Forked 24521 -(24520) found -(24521) found -[13962] Forked 24522 -(24522) found -[13961] Forked 24523 -[13960] Forked 24524 -(24523) found -(24524) found -[13959] Forked 24525 -[13958] Forked 24526 -(24525) found -(24526) found -[13957] Forked 24527 -[13956] Forked 24528 -(24527) found -(24528) found -[13955] Forked 24529 -[13954] Forked 24530 -(24529) found -(24530) found -[13953] Forked 24531 -[13952] Forked 24532 -(24531) found -(24532) found -[13951] Forked 24533 -[13950] Forked 24534 -(24533) found -(24534) found -[13949] Forked 24535 -[13948] Forked 24536 -(24535) found -(24536) found -[13947] Forked 24537 -[13946] Forked 24538 -(24537) found -(24538) found -[13945] Forked 24539 -[13944] Forked 24540 -(24539) found -(24540) found -[13943] Forked 24541 -[13942] Forked 24542 -(24541) found -(24542) found -[13941] Forked 24543 -[13940] Forked 24544 -(24543) found -(24544) found -[13939] Forked 24545 -[13938] Forked 24546 -(24545) found -(24546) found -[13937] Forked 24547 -[13936] Forked 24548 -(24547) found -(24548) found -[13935] Forked 24549 -[13934] Forked 24550 -(24549) found -(24550) found -[13933] Forked 24551 -[13932] Forked 24552 -(24551) found -(24552) found -[13931] Forked 24553 -[13930] Forked 24554 -(24553) found -(24554) found -[13929] Forked 24555 -[13928] Forked 24556 -(24555) found -(24556) found -[13927] Forked 24557 -[13926] Forked 24558 -(24557) found -(24558) found -[13925] Forked 24559 -[13924] Forked 24560 -(24559) found -(24560) found -[13923] Forked 24561 -[13922] Forked 24562 -(24561) found -(24562) found -[13921] Forked 24563 -[13920] Forked 24564 -(24563) found -(24564) found -[13919] Forked 24565 -[13918] Forked 24566 -(24565) found -(24566) found -[13917] Forked 24567 -[13916] Forked 24568 -(24567) found -(24568) found -[13915] Forked 24569 -[13914] Forked 24570 -(24569) found -(24570) found -[13913] Forked 24571 -[13912] Forked 24572 -(24571) found -(24572) found -[13911] Forked 24573 -[13910] Forked 24574 -(24573) found -(24574) found -[13909] Forked 24575 -[13908] Forked 24576 -(24575) found -(24576) found -[13907] Forked 24577 -[13906] Forked 24578 -(24577) found -(24578) found -[13905] Forked 24579 -[13904] Forked 24580 -(24579) found -(24580) found -[13903] Forked 24581 -[13902] Forked 24582 -(24581) found -(24582) found -[13901] Forked 24583 -[13900] Forked 24585 -(24583) found -(24585) found -[13899] Forked 24586 -(24586) found -[13898] Forked 24587 -(24587) found -[13897] Forked 24588 -(24588) found -[13896] Forked 24589 -(24589) found -[13895] Forked 24590 -(24590) found -[13894] Forked 24591 -(24591) found -[13893] Forked 24592 -(24592) found -[13892] Forked 24593 -(24593) found -[13891] Forked 24594 -(24594) found -[13890] Forked 24595 -(24595) found -[13889] Forked 24596 -(24596) found -[13888] Forked 24597 -(24597) found -[13887] Forked 24598 -(24598) found -[13886] Forked 24599 -(24599) found -[13885] Forked 24600 -(24600) found -[13884] Forked 24601 -(24601) found -[13883] Forked 24602 -(24602) found -[13882] Forked 24603 -(24603) found -[13881] Forked 24604 -(24604) found -[13880] Forked 24605 -(24605) found -[13879] Forked 24606 -(24606) found -[13878] Forked 24607 -(24607) found -[13877] Forked 24608 -(24608) found -[13876] Forked 24609 -(24609) found -[13875] Forked 24610 -(24610) found -[13874] Forked 24611 -(24611) found -[13873] Forked 24612 -(24612) found -[13872] Forked 24613 -(24613) found -[13871] Forked 24614 -(24614) found -[13870] Forked 24615 -(24615) found -[13869] Forked 24616 -(24616) found -[13868] Forked 24617 -(24617) found -[13867] Forked 24618 -(24618) found -[13866] Forked 24619 -(24619) found -[13865] Forked 24620 -(24620) found -[13864] Forked 24621 -(24621) found -[13863] Forked 24622 -(24622) found -[13862] Forked 24623 -(24623) found -[13861] Forked 24624 -(24624) found -[13860] Forked 24625 -(24625) found -[13859] Forked 24626 -(24626) found -[13858] Forked 24627 -(24627) found -[13857] Forked 24628 -(24628) found -[13856] Forked 24629 -(24629) found -[13855] Forked 24630 -(24630) found -[13854] Forked 24631 -(24631) found -[13853] Forked 24632 -(24632) found -[13852] Forked 24633 -(24633) found -[13851] Forked 24634 -(24634) found -[13850] Forked 24635 -(24635) found -[13849] Forked 24636 -(24636) found -[13848] Forked 24637 -(24637) found -[13847] Forked 24638 -(24638) found -[13846] Forked 24639 -(24639) found -[13845] Forked 24640 -(24640) found -[13844] Forked 24641 -(24641) found -[13843] Forked 24642 -(24642) found -[13842] Forked 24643 -(24643) found -[13841] Forked 24644 -(24644) found -[13840] Forked 24645 -(24645) found -[13839] Forked 24646 -(24646) found -[13838] Forked 24647 -(24647) found -[13837] Forked 24648 -(24648) found -[13836] Forked 24649 -(24649) found -[13835] Forked 24650 -(24650) found -[13834] Forked 24651 -(24651) found -[13833] Forked 24652 -(24652) found -[13832] Forked 24653 -(24653) found -[13831] Forked 24654 -(24654) found -[13830] Forked 24655 -(24655) found -[13829] Forked 24656 -(24656) found -[13828] Forked 24657 -(24657) found -[13827] Forked 24658 -(24658) found -[13826] Forked 24659 -(24659) found -[13825] Forked 24660 -(24660) found -[13824] Forked 24661 -(24661) found -[13823] Forked 24662 -(24662) found -[13822] Forked 24663 -(24663) found -[13821] Forked 24664 -(24664) found -[13820] Forked 24665 -(24665) found -[13819] Forked 24666 -(24666) found -[13818] Forked 24667 -(24667) found -[13817] Forked 24668 -(24668) found -[13816] Forked 24669 -(24669) found -[13815] Forked 24670 -(24670) found -[13814] Forked 24671 -(24671) found -[13813] Forked 24672 -(24672) found -[13812] Forked 24673 -(24673) found -[13811] Forked 24674 -(24674) found -[13810] Forked 24675 -(24675) found -[13809] Forked 24676 -(24676) found -[13808] Forked 24677 -(24677) found -[13807] Forked 24678 -(24678) found -[13806] Forked 24679 -(24679) found -[13805] Forked 24680 -(24680) found -[13804] Forked 24681 -(24681) found -[13803] Forked 24682 -(24682) found -[13802] Forked 24683 -(24683) found -[13801] Forked 24684 -(24684) found -[13800] Forked 24685 -(24685) found -[13799] Forked 24686 -(24686) found -[13798] Forked 24687 -(24687) found -[13797] Forked 24688 -[13796] Forked 24690 -(24688) found -(24690) found -[13795] Forked 24691 -(24691) found -[13794] Forked 24692 -(24692) found -[13793] Forked 24693 -(24693) found -[13792] Forked 24694 -[13791] Forked 24695 -(24694) found -(24695) found -[13790] Forked 24696 -[13789] Forked 24697 -(24696) found -(24697) found -[13788] Forked 24698 -[13787] Forked 24699 -(24698) found -(24699) found -[13786] Forked 24700 -[13785] Forked 24701 -(24700) found -(24701) found -[13784] Forked 24702 -[13783] Forked 24703 -(24702) found -(24703) found -[13782] Forked 24704 -[13781] Forked 24705 -(24704) found -(24705) found -[13780] Forked 24706 -[13779] Forked 24707 -(24706) found -(24707) found -[13778] Forked 24708 -[13777] Forked 24709 -(24708) found -(24709) found -[13776] Forked 24710 -[13775] Forked 24711 -(24710) found -(24711) found -[13774] Forked 24712 -[13773] Forked 24713 -(24712) found -(24713) found -[13772] Forked 24714 -[13771] Forked 24715 -(24714) found -(24715) found -[13770] Forked 24716 -[13769] Forked 24717 -(24716) found -(24717) found -[13768] Forked 24718 -[13767] Forked 24719 -(24718) found -(24719) found -[13766] Forked 24720 -[13765] Forked 24721 -(24720) found -(24721) found -[13764] Forked 24722 -[13763] Forked 24723 -(24722) found -(24723) found -[13762] Forked 24724 -[13761] Forked 24725 -(24724) found -(24725) found -[13760] Forked 24726 -[13759] Forked 24727 -(24726) found -(24727) found -[13758] Forked 24728 -[13757] Forked 24729 -(24728) found -(24729) found -[13756] Forked 24730 -[13755] Forked 24731 -(24730) found -(24731) found -[13754] Forked 24732 -[13753] Forked 24733 -(24732) found -(24733) found -[13752] Forked 24734 -(24734) found -[13751] Forked 24735 -(24735) found -[13750] Forked 24736 -(24736) found -[13749] Forked 24737 -(24737) found -[13748] Forked 24738 -(24738) found -[13747] Forked 24739 -(24739) found -[13746] Forked 24740 -(24740) found -[13745] Forked 24741 -(24741) found -[13744] Forked 24742 -(24742) found -[13743] Forked 24743 -(24743) found -[13742] Forked 24744 -(24744) found -[13741] Forked 24745 -(24745) found -[13740] Forked 24746 -(24746) found -[13739] Forked 24747 -(24747) found -[13738] Forked 24748 -(24748) found -[13737] Forked 24749 -(24749) found -[13736] Forked 24750 -(24750) found -[13735] Forked 24751 -(24751) found -[13734] Forked 24752 -(24752) found -[13733] Forked 24753 -(24753) found -[13732] Forked 24754 -(24754) found -[13731] Forked 24755 -(24755) found -[13730] Forked 24756 -(24756) found -[13729] Forked 24757 -(24757) found -[13728] Forked 24758 -(24758) found -[13727] Forked 24759 -(24759) found -[13726] Forked 24760 -(24760) found -[13725] Forked 24761 -(24761) found -[13724] Forked 24762 -(24762) found -[13723] Forked 24763 -(24763) found -[13722] Forked 24764 -(24764) found -[13721] Forked 24765 -(24765) found -[13720] Forked 24766 -(24766) found -[13719] Forked 24767 -(24767) found -[13718] Forked 24768 -(24768) found -[13717] Forked 24769 -(24769) found -[13716] Forked 24770 -[13715] Forked 24771 -(24770) found -(24771) found -[13714] Forked 24772 -[13713] Forked 24773 -(24772) found -(24773) found -[13712] Forked 24774 -[13711] Forked 24776 -(24774) found -(24776) found -[13710] Forked 24777 -(24777) found -[13709] Forked 24778 -(24778) found -[13708] Forked 24779 -(24779) found -[13707] Forked 24780 -(24780) found -[13706] Forked 24781 -(24781) found -[13705] Forked 24782 -(24782) found -[13704] Forked 24783 -(24783) found -[13703] Forked 24784 -(24784) found -[13702] Forked 24785 -(24785) found -[13701] Forked 24786 -(24786) found -[13700] Forked 24787 -(24787) found -[13699] Forked 24788 -(24788) found -[13698] Forked 24789 -(24789) found -[13697] Forked 24790 -(24790) found -[13696] Forked 24791 -(24791) found -[13695] Forked 24792 -(24792) found -[13694] Forked 24793 -(24793) found -[13693] Forked 24794 -(24794) found -[13692] Forked 24795 -(24795) found -[13691] Forked 24796 -(24796) found -[13690] Forked 24797 -(24797) found -[13689] Forked 24798 -(24798) found -[13688] Forked 24799 -(24799) found -[13687] Forked 24800 -(24800) found -[13686] Forked 24801 -(24801) found -[13685] Forked 24802 -(24802) found -[13684] Forked 24803 -(24803) found -[13683] Forked 24804 -(24804) found -[13682] Forked 24805 -(24805) found -[13681] Forked 24806 -(24806) found -[13680] Forked 24807 -(24807) found -[13679] Forked 24808 -(24808) found -[13678] Forked 24809 -(24809) found -[13677] Forked 24810 -(24810) found -[13676] Forked 24811 -(24811) found -[13675] Forked 24812 -(24812) found -[13674] Forked 24813 -(24813) found -[13673] Forked 24814 -(24814) found -[13672] Forked 24815 -(24815) found -[13671] Forked 24816 -(24816) found -[13670] Forked 24817 -(24817) found -[13669] Forked 24818 -(24818) found -[13668] Forked 24819 -(24819) found -[13667] Forked 24820 -(24820) found -[13666] Forked 24821 -(24821) found -[13665] Forked 24822 -(24822) found -[13664] Forked 24823 -(24823) found -[13663] Forked 24824 -(24824) found -[13662] Forked 24825 -(24825) found -[13661] Forked 24826 -(24826) found -[13660] Forked 24827 -(24827) found -[13659] Forked 24828 -(24828) found -[13658] Forked 24829 -(24829) found -[13657] Forked 24830 -(24830) found -[13656] Forked 24831 -(24831) found -[13655] Forked 24832 -(24832) found -[13654] Forked 24833 -(24833) found -[13653] Forked 24834 -(24834) found -[13652] Forked 24835 -(24835) found -[13651] Forked 24836 -(24836) found -[13650] Forked 24837 -(24837) found -[13649] Forked 24838 -(24838) found -[13648] Forked 24839 -(24839) found -[13647] Forked 24840 -(24840) found -[13646] Forked 24841 -(24841) found -[13645] Forked 24842 -(24842) found -[13644] Forked 24843 -(24843) found -[13643] Forked 24844 -(24844) found -[13642] Forked 24845 -(24845) found -[13641] Forked 24846 -(24846) found -[13640] Forked 24847 -(24847) found -[13639] Forked 24848 -(24848) found -[13638] Forked 24849 -(24849) found -[13637] Forked 24850 -(24850) found -[13636] Forked 24851 -(24851) found -[13635] Forked 24852 -(24852) found -[13634] Forked 24853 -(24853) found -[13633] Forked 24854 -(24854) found -[13632] Forked 24855 -(24855) found -[13631] Forked 24856 -(24856) found -[13630] Forked 24857 -(24857) found -[13629] Forked 24858 -(24858) found -[13628] Forked 24859 -(24859) found -[13627] Forked 24860 -(24860) found -[13626] Forked 24861 -(24861) found -[13625] Forked 24862 -(24862) found -[13624] Forked 24863 -(24863) found -[13623] Forked 24864 -(24864) found -[13622] Forked 24865 -(24865) found -[13621] Forked 24866 -(24866) found -[13620] Forked 24867 -(24867) found -[13619] Forked 24868 -(24868) found -[13618] Forked 24869 -(24869) found -[13617] Forked 24870 -(24870) found -[13616] Forked 24871 -(24871) found -[13615] Forked 24872 -(24872) found -[13614] Forked 24873 -(24873) found -[13613] Forked 24874 -(24874) found -[13612] Forked 24875 -(24875) found -[13611] Forked 24876 -(24876) found -[13610] Forked 24877 -(24877) found -[13609] Forked 24878 -(24878) found -[13608] Forked 24879 -[13607] Forked 24880 -(24879) found -(24880) found -[13606] Forked 24881 -[13605] Forked 24882 -(24881) found -(24882) found -[13604] Forked 24883 -[13603] Forked 24884 -(24883) found -(24884) found -[13602] Forked 24885 -[13601] Forked 24886 -(24885) found -(24886) found -[13600] Forked 24887 -[13599] Forked 24888 -(24887) found -(24888) found -[13598] Forked 24889 -(24889) found -[13597] Forked 24890 -[13596] Forked 24891 -(24890) found -(24891) found -[13595] Forked 24892 -[13594] Forked 24893 -(24892) found -(24893) found -[13593] Forked 24894 -[13592] Forked 24895 -(24894) found -(24895) found -[13591] Forked 24896 -[13590] Forked 24897 -(24896) found -(24897) found -[13589] Forked 24898 -[13588] Forked 24899 -(24898) found -(24899) found -[13587] Forked 24900 -[13586] Forked 24901 -(24900) found -(24901) found -[13585] Forked 24902 -[13584] Forked 24903 -(24902) found -(24903) found -[13583] Forked 24904 -[13582] Forked 24905 -(24904) found -(24905) found -[13581] Forked 24906 -[13580] Forked 24907 -(24906) found -(24907) found -[13579] Forked 24908 -[13578] Forked 24909 -(24908) found -(24909) found -[13577] Forked 24910 -[13576] Forked 24911 -(24910) found -(24911) found -[13575] Forked 24912 -[13574] Forked 24913 -(24912) found -(24913) found -[13573] Forked 24914 -[13572] Forked 24915 -(24914) found -(24915) found -[13571] Forked 24916 -[13570] Forked 24917 -(24916) found -(24917) found -[13569] Forked 24918 -[13568] Forked 24919 -(24918) found -(24919) found -[13567] Forked 24920 -[13566] Forked 24921 -(24920) found -(24921) found -[13565] Forked 24922 -[13564] Forked 24923 -(24922) found -(24923) found -[13563] Forked 24924 -[13562] Forked 24925 -(24924) found -(24925) found -[13561] Forked 24926 -[13560] Forked 24927 -(24926) found -(24927) found -[13559] Forked 24928 -[13558] Forked 24929 -(24928) found -(24929) found -[13557] Forked 24930 -[13556] Forked 24931 -(24930) found -(24931) found -[13555] Forked 24932 -[13554] Forked 24933 -(24932) found -(24933) found -[13553] Forked 24934 -[13552] Forked 24935 -(24934) found -(24935) found -[13551] Forked 24936 -[13550] Forked 24937 -(24936) found -(24937) found -[13549] Forked 24938 -[13548] Forked 24939 -(24938) found -(24939) found -[13547] Forked 24940 -[13546] Forked 24941 -(24940) found -(24941) found -[13545] Forked 24942 -[13544] Forked 24943 -(24942) found -(24943) found -[13543] Forked 24944 -[13542] Forked 24945 -(24944) found -(24945) found -[13541] Forked 24946 -[13540] Forked 24947 -(24946) found -(24947) found -[13539] Forked 24948 -[13538] Forked 24949 -(24948) found -(24949) found -[13537] Forked 24950 -[13536] Forked 24951 -(24950) found -(24951) found -[13535] Forked 24952 -[13534] Forked 24953 -(24952) found -(24953) found -[13533] Forked 24954 -[13532] Forked 24955 -(24954) found -(24955) found -[13531] Forked 24956 -[13530] Forked 24957 -(24956) found -(24957) found -[13529] Forked 24958 -[13528] Forked 24959 -(24958) found -(24959) found -[13527] Forked 24960 -[13526] Forked 24961 -(24960) found -(24961) found -[13525] Forked 24962 -[13524] Forked 24963 -(24962) found -(24963) found -[13523] Forked 24964 -[13522] Forked 24965 -(24964) found -(24965) found -[13521] Forked 24966 -[13520] Forked 24967 -(24966) found -(24967) found -[13519] Forked 24968 -[13518] Forked 24969 -(24968) found -(24969) found -[13517] Forked 24970 -(24970) found -[13516] Forked 24971 -(24971) found -[13515] Forked 24972 -(24972) found -[13514] Forked 24973 -(24973) found -[13513] Forked 24974 -(24974) found -[13512] Forked 24975 -(24975) found -[13511] Forked 24976 -(24976) found -[13510] Forked 24977 -(24977) found -[13509] Forked 24978 -(24978) found -[13508] Forked 24979 -(24979) found -[13507] Forked 24980 -(24980) found -[13506] Forked 24981 -(24981) found -[13505] Forked 24982 -(24982) found -[13504] Forked 24983 -(24983) found -[13503] Forked 24984 -(24984) found -[13502] Forked 24985 -(24985) found -[13501] Forked 24986 -(24986) found -[13500] Forked 24987 -(24987) found -[13499] Forked 24988 -(24988) found -[13498] Forked 24989 -(24989) found -[13497] Forked 24990 -(24990) found -[13496] Forked 24991 -(24991) found -[13495] Forked 24992 -(24992) found -[13494] Forked 24993 -(24993) found -[13493] Forked 24994 -(24994) found -[13492] Forked 24996 -(24996) found -[13491] Forked 24997 -(24997) found -[13490] Forked 24998 -(24998) found -[13489] Forked 24999 -(24999) found -[13488] Forked 25000 -(25000) found -[13487] Forked 25001 -(25001) found -[13486] Forked 25002 -(25002) found -[13485] Forked 25003 -(25003) found -[13484] Forked 25004 -(25004) found -[13483] Forked 25005 -(25005) found -[13482] Forked 25006 -(25006) found -[13481] Forked 25007 -[13480] Forked 25008 -(25007) found -(25008) found -[13479] Forked 25009 -[13478] Forked 25010 -(25009) found -(25010) found -[13477] Forked 25011 -[13476] Forked 25013 -(25011) found -(25013) found -[13475] Forked 25014 -(25014) found -[13474] Forked 25015 -(25015) found -[13473] Forked 25016 -(25016) found -[13472] Forked 25017 -(25017) found -[13471] Forked 25018 -(25018) found -[13470] Forked 25019 -(25019) found -[13469] Forked 25020 -(25020) found -[13468] Forked 25021 -(25021) found -[13467] Forked 25022 -(25022) found -[13466] Forked 25023 -(25023) found -[13465] Forked 25024 -(25024) found -[13464] Forked 25025 -(25025) found -[13463] Forked 25026 -(25026) found -[13462] Forked 25027 -(25027) found -[13461] Forked 25028 -(25028) found -[13460] Forked 25029 -(25029) found -[13459] Forked 25030 -(25030) found -[13458] Forked 25031 -(25031) found -[13457] Forked 25032 -(25032) found -[13456] Forked 25033 -(25033) found -[13455] Forked 25034 -(25034) found -[13454] Forked 25035 -(25035) found -[13453] Forked 25036 -(25036) found -[13452] Forked 25037 -(25037) found -[13451] Forked 25038 -(25038) found -[13450] Forked 25039 -(25039) found -[13449] Forked 25040 -(25040) found -[13448] Forked 25041 -(25041) found -[13447] Forked 25042 -(25042) found -[13446] Forked 25043 -(25043) found -[13445] Forked 25044 -(25044) found -[13444] Forked 25045 -(25045) found -[13443] Forked 25046 -(25046) found -[13442] Forked 25047 -(25047) found -[13441] Forked 25048 -(25048) found -[13440] Forked 25049 -(25049) found -[13439] Forked 25050 -(25050) found -[13438] Forked 25051 -(25051) found -[13437] Forked 25052 -(25052) found -[13436] Forked 25053 -(25053) found -[13435] Forked 25054 -(25054) found -[13434] Forked 25055 -(25055) found -[13433] Forked 25056 -(25056) found -[13432] Forked 25057 -(25057) found -[13431] Forked 25058 -(25058) found -[13430] Forked 25059 -(25059) found -[13429] Forked 25060 -(25060) found -[13428] Forked 25061 -(25061) found -[13427] Forked 25062 -(25062) found -[13426] Forked 25063 -(25063) found -[13425] Forked 25064 -(25064) found -[13424] Forked 25065 -(25065) found -[13423] Forked 25066 -(25066) found -[13422] Forked 25067 -(25067) found -[13421] Forked 25068 -(25068) found -[13420] Forked 25069 -(25069) found -[13419] Forked 25070 -(25070) found -[13418] Forked 25071 -(25071) found -[13417] Forked 25072 -(25072) found -[13416] Forked 25073 -(25073) found -[13415] Forked 25074 -(25074) found -[13414] Forked 25075 -(25075) found -[13413] Forked 25076 -(25076) found -[13412] Forked 25077 -(25077) found -[13411] Forked 25078 -(25078) found -[13410] Forked 25079 -[13409] Forked 25080 -(25079) found -(25080) found -[13408] Forked 25081 -[13407] Forked 25082 -(25081) found -(25082) found -[13406] Forked 25083 -[13405] Forked 25084 -(25083) found -(25084) found -[13404] Forked 25085 -[13403] Forked 25086 -(25085) found -(25086) found -[13402] Forked 25087 -[13401] Forked 25088 -(25087) found -(25088) found -[13400] Forked 25089 -[13399] Forked 25090 -(25089) found -(25090) found -[13398] Forked 25091 -[13397] Forked 25092 -(25091) found -(25092) found -[13396] Forked 25093 -[13395] Forked 25094 -(25093) found -(25094) found -[13394] Forked 25095 -[13393] Forked 25096 -(25095) found -(25096) found -[13392] Forked 25097 -[13391] Forked 25098 -(25097) found -(25098) found -[13390] Forked 25099 -[13389] Forked 25100 -(25099) found -(25100) found -[13388] Forked 25101 -[13387] Forked 25102 -(25101) found -(25102) found -[13386] Forked 25103 -[13385] Forked 25104 -(25103) found -(25104) found -[13384] Forked 25105 -[13383] Forked 25106 -(25105) found -(25106) found -[13382] Forked 25107 -[13381] Forked 25108 -(25107) found -(25108) found -[13380] Forked 25109 -[13379] Forked 25110 -(25109) found -(25110) found -[13378] Forked 25111 -[13377] Forked 25112 -(25111) found -(25112) found -[13376] Forked 25113 -[13375] Forked 25114 -(25113) found -(25114) found -[13374] Forked 25115 -[13373] Forked 25116 -(25115) found -(25116) found -[13372] Forked 25117 -[13371] Forked 25118 -(25117) found -(25118) found -[13370] Forked 25119 -[13369] Forked 25120 -(25119) found -(25120) found -[13368] Forked 25121 -[13367] Forked 25122 -(25121) found -(25122) found -[13366] Forked 25123 -[13365] Forked 25124 -(25123) found -(25124) found -[13364] Forked 25125 -[13363] Forked 25126 -(25125) found -(25126) found -[13362] Forked 25127 -[13361] Forked 25128 -(25127) found -(25128) found -[13360] Forked 25129 -[13359] Forked 25130 -(25129) found -(25130) found -[13358] Forked 25131 -[13357] Forked 25132 -(25131) found -(25132) found -[13356] Forked 25133 -[13355] Forked 25134 -(25133) found -(25134) found -[13354] Forked 25135 -[13353] Forked 25136 -(25135) found -(25136) found -[13352] Forked 25137 -[13351] Forked 25138 -(25137) found -(25138) found -[13350] Forked 25139 -[13349] Forked 25140 -(25139) found -(25140) found -[13348] Forked 25141 -[13347] Forked 25142 -(25141) found -(25142) found -[13346] Forked 25143 -[13345] Forked 25144 -(25143) found -(25144) found -[13344] Forked 25145 -[13343] Forked 25146 -(25145) found -(25146) found -[13342] Forked 25147 -[13341] Forked 25148 -(25147) found -(25148) found -[13340] Forked 25149 -[13339] Forked 25150 -(25149) found -(25150) found -[13338] Forked 25151 -[13337] Forked 25152 -(25151) found -(25152) found -[13336] Forked 25153 -[13335] Forked 25154 -(25153) found -(25154) found -[13334] Forked 25155 -[13333] Forked 25156 -(25155) found -(25156) found -[13332] Forked 25157 -[13331] Forked 25158 -(25157) found -(25158) found -[13330] Forked 25159 -[13329] Forked 25160 -(25159) found -(25160) found -[13328] Forked 25161 -[13327] Forked 25162 -(25161) found -(25162) found -[13326] Forked 25163 -[13325] Forked 25164 -(25163) found -(25164) found -[13324] Forked 25165 -[13323] Forked 25166 -(25165) found -(25166) found -[13322] Forked 25167 -[13321] Forked 25168 -(25167) found -(25168) found -[13320] Forked 25169 -[13319] Forked 25170 -(25169) found -(25170) found -[13318] Forked 25171 -[13317] Forked 25172 -(25171) found -(25172) found -[13316] Forked 25173 -[13315] Forked 25174 -(25173) found -(25174) found -[13314] Forked 25175 -[13313] Forked 25176 -(25175) found -(25176) found -[13312] Forked 25177 -[13311] Forked 25178 -(25177) found -(25178) found -[13310] Forked 25179 -[13309] Forked 25180 -(25179) found -(25180) found -[13308] Forked 25181 -[13307] Forked 25182 -(25181) found -(25182) found -[13306] Forked 25183 -[13305] Forked 25184 -(25183) found -(25184) found -[13304] Forked 25185 -[13303] Forked 25186 -(25185) found -(25186) found -[13302] Forked 25187 -[13301] Forked 25188 -(25187) found -(25188) found -[13300] Forked 25189 -[13299] Forked 25190 -(25189) found -(25190) found -[13298] Forked 25191 -[13297] Forked 25192 -(25191) found -(25192) found -[13296] Forked 25193 -[13295] Forked 25194 -(25193) found -(25194) found -[13294] Forked 25195 -[13293] Forked 25196 -(25195) found -(25196) found -[13292] Forked 25197 -[13291] Forked 25198 -(25197) found -(25198) found -[13290] Forked 25199 -[13289] Forked 25200 -(25199) found -(25200) found -[13288] Forked 25201 -[13287] Forked 25202 -(25201) found -(25202) found -[13286] Forked 25203 -[13285] Forked 25204 -(25203) found -(25204) found -[13284] Forked 25205 -[13283] Forked 25206 -(25205) found -(25206) found -[13282] Forked 25207 -[13281] Forked 25208 -(25207) found -(25208) found -[13280] Forked 25209 -[13279] Forked 25210 -(25209) found -(25210) found -[13278] Forked 25211 -[13277] Forked 25212 -(25211) found -(25212) found -[13276] Forked 25213 -[13275] Forked 25214 -(25213) found -(25214) found -[13274] Forked 25215 -[13273] Forked 25216 -(25215) found -(25216) found -[13272] Forked 25217 -[13271] Forked 25218 -(25217) found -(25218) found -[13270] Forked 25219 -[13269] Forked 25220 -(25219) found -(25220) found -[13268] Forked 25221 -[13267] Forked 25222 -(25221) found -(25222) found -[13266] Forked 25223 -[13265] Forked 25224 -(25223) found -(25224) found -[13264] Forked 25225 -[13263] Forked 25226 -(25225) found -(25226) found -[13262] Forked 25227 -[13261] Forked 25228 -(25227) found -(25228) found -[13260] Forked 25229 -[13259] Forked 25230 -(25229) found -(25230) found -[13258] Forked 25231 -[13257] Forked 25232 -(25231) found -(25232) found -[13256] Forked 25233 -[13255] Forked 25234 -(25233) found -(25234) found -[13254] Forked 25235 -[13253] Forked 25236 -(25235) found -(25236) found -[13252] Forked 25237 -[13251] Forked 25238 -(25237) found -(25238) found -[13250] Forked 25239 -[13249] Forked 25240 -(25239) found -(25240) found -[13248] Forked 25241 -[13247] Forked 25242 -(25241) found -(25242) found -[13246] Forked 25243 -[13245] Forked 25244 -(25243) found -(25244) found -[13244] Forked 25245 -[13243] Forked 25246 -(25245) found -(25246) found -[13242] Forked 25247 -[13241] Forked 25248 -(25247) found -(25248) found -[13240] Forked 25249 -[13239] Forked 25250 -(25249) found -(25250) found -[13238] Forked 25251 -[13237] Forked 25252 -(25251) found -(25252) found -[13236] Forked 25253 -[13235] Forked 25254 -(25253) found -(25254) found -[13234] Forked 25255 -[13233] Forked 25256 -(25255) found -(25256) found -[13232] Forked 25257 -[13231] Forked 25258 -(25257) found -(25258) found -[13230] Forked 25259 -[13229] Forked 25260 -(25259) found -(25260) found -[13228] Forked 25261 -(25261) found -[13227] Forked 25262 -(25262) found -[13226] Forked 25263 -(25263) found -[13225] Forked 25264 -(25264) found -[13224] Forked 25265 -(25265) found -[13223] Forked 25266 -(25266) found -[13222] Forked 25267 -(25267) found -[13221] Forked 25268 -(25268) found -[13220] Forked 25269 -(25269) found -[13219] Forked 25270 -(25270) found -[13218] Forked 25271 -(25271) found -[13217] Forked 25272 -(25272) found -[13216] Forked 25273 -(25273) found -[13215] Forked 25274 -(25274) found -[13214] Forked 25275 -(25275) found -[13213] Forked 25276 -(25276) found -[13212] Forked 25277 -(25277) found -[13211] Forked 25278 -(25278) found -[13210] Forked 25279 -(25279) found -[13209] Forked 25280 -(25280) found -[13208] Forked 25281 -(25281) found -[13207] Forked 25282 -(25282) found -[13206] Forked 25283 -(25283) found -[13205] Forked 25284 -(25284) found -[13204] Forked 25285 -(25285) found -[13203] Forked 25286 -(25286) found -[13202] Forked 25287 -(25287) found -[13201] Forked 25288 -(25288) found -[13200] Forked 25289 -(25289) found -[13199] Forked 25290 -(25290) found -[13198] Forked 25291 -(25291) found -[13197] Forked 25292 -(25292) found -[13196] Forked 25293 -(25293) found -[13195] Forked 25294 -(25294) found -[13194] Forked 25295 -[13193] Forked 25296 -(25295) found -(25296) found -[13192] Forked 25297 -[13191] Forked 25298 -(25297) found -(25298) found -[13190] Forked 25299 -[13189] Forked 25300 -(25299) found -(25300) found -[13188] Forked 25301 -[13187] Forked 25302 -(25301) found -(25302) found -[13186] Forked 25303 -[13185] Forked 25304 -(25303) found -(25304) found -[13184] Forked 25305 -[13183] Forked 25306 -(25305) found -(25306) found -[13182] Forked 25307 -[13181] Forked 25308 -(25307) found -(25308) found -[13180] Forked 25309 -[13179] Forked 25310 -(25309) found -(25310) found -[13178] Forked 25311 -[13177] Forked 25312 -(25311) found -(25312) found -[13176] Forked 25313 -[13175] Forked 25314 -(25313) found -(25314) found -[13174] Forked 25315 -[13173] Forked 25316 -(25315) found -(25316) found -[13172] Forked 25317 -[13171] Forked 25318 -(25317) found -(25318) found -[13170] Forked 25319 -[13169] Forked 25320 -(25319) found -(25320) found -[13168] Forked 25321 -[13167] Forked 25322 -(25321) found -(25322) found -[13166] Forked 25323 -[13165] Forked 25324 -(25323) found -(25324) found -[13164] Forked 25325 -[13163] Forked 25326 -(25325) found -(25326) found -[13162] Forked 25327 -[13161] Forked 25328 -(25327) found -(25328) found -[13160] Forked 25329 -[13159] Forked 25330 -(25329) found -(25330) found -[13158] Forked 25331 -[13157] Forked 25332 -(25331) found -(25332) found -[13156] Forked 25333 -(25333) found -[13155] Forked 25334 -[13154] Forked 25335 -(25334) found -(25335) found -[13153] Forked 25336 -[13152] Forked 25337 -(25336) found -(25337) found -[13151] Forked 25338 -[13150] Forked 25339 -(25338) found -(25339) found -[13149] Forked 25340 -[13148] Forked 25341 -(25340) found -(25341) found -[13147] Forked 25342 -[13146] Forked 25343 -(25342) found -(25343) found -[13145] Forked 25344 -[13144] Forked 25345 -(25344) found -(25345) found -[13143] Forked 25346 -[13142] Forked 25347 -(25346) found -(25347) found -[13141] Forked 25348 -[13140] Forked 25349 -(25348) found -(25349) found -[13139] Forked 25350 -[13138] Forked 25351 -(25350) found -(25351) found -[13137] Forked 25352 -[13136] Forked 25353 -(25352) found -(25353) found -[13135] Forked 25354 -[13134] Forked 25355 -(25354) found -(25355) found -[13133] Forked 25356 -[13132] Forked 25357 -(25356) found -(25357) found -[13131] Forked 25358 -[13130] Forked 25359 -(25358) found -(25359) found -[13129] Forked 25360 -[13128] Forked 25361 -(25360) found -(25361) found -[13127] Forked 25362 -[13126] Forked 25363 -(25362) found -(25363) found -[13125] Forked 25364 -[13124] Forked 25365 -(25364) found -(25365) found -[13123] Forked 25366 -[13122] Forked 25367 -(25366) found -(25367) found -[13121] Forked 25368 -[13120] Forked 25369 -(25368) found -(25369) found -[13119] Forked 25370 -[13118] Forked 25371 -(25370) found -(25371) found -[13117] Forked 25372 -[13116] Forked 25373 -(25372) found -(25373) found -[13115] Forked 25374 -[13114] Forked 25375 -(25374) found -(25375) found -[13113] Forked 25376 -[13112] Forked 25377 -(25376) found -(25377) found -[13111] Forked 25378 -[13110] Forked 25379 -(25378) found -(25379) found -[13109] Forked 25380 -[13108] Forked 25381 -(25380) found -(25381) found -[13107] Forked 25382 -[13106] Forked 25383 -(25382) found -(25383) found -[13105] Forked 25384 -[13104] Forked 25385 -(25384) found -(25385) found -[13103] Forked 25386 -[13102] Forked 25387 -(25386) found -(25387) found -[13101] Forked 25388 -[13100] Forked 25389 -(25388) found -(25389) found -[13099] Forked 25390 -[13098] Forked 25391 -(25390) found -(25391) found -[13097] Forked 25392 -[13096] Forked 25393 -(25392) found -(25393) found -[13095] Forked 25394 -[13094] Forked 25396 -(25394) found -(25396) found -[13093] Forked 25397 -(25397) found -[13092] Forked 25398 -(25398) found -[13091] Forked 25399 -(25399) found -[13090] Forked 25400 -(25400) found -[13089] Forked 25401 -(25401) found -[13088] Forked 25402 -(25402) found -[13087] Forked 25403 -(25403) found -[13086] Forked 25404 -(25404) found -[13085] Forked 25405 -(25405) found -[13084] Forked 25406 -(25406) found -[13083] Forked 25407 -(25407) found -[13082] Forked 25408 -(25408) found -[13081] Forked 25409 -(25409) found -[13080] Forked 25410 -(25410) found -[13079] Forked 25411 -(25411) found -[13078] Forked 25412 -(25412) found -[13077] Forked 25413 -(25413) found -[13076] Forked 25414 -(25414) found -[13075] Forked 25416 -(25416) found -[13074] Forked 25417 -(25417) found -[13073] Forked 25418 -(25418) found -[13072] Forked 25419 -(25419) found -[13071] Forked 25420 -(25420) found -[13070] Forked 25421 -(25421) found -[13069] Forked 25422 -(25422) found -[13068] Forked 25423 -(25423) found -[13067] Forked 25424 -(25424) found -[13066] Forked 25426 -(25426) found -[13065] Forked 25428 -(25428) found -[13064] Forked 25430 -(25430) found -[13063] Forked 25431 -(25431) found -[13062] Forked 25432 -(25432) found -[13061] Forked 25433 -(25433) found -[13060] Forked 25434 -(25434) found -[13059] Forked 25435 -(25435) found -[13058] Forked 25436 -(25436) found -[13057] Forked 25437 -(25437) found -[13056] Forked 25438 -(25438) found -[13055] Forked 25439 -(25439) found -[13054] Forked 25440 -(25440) found -[13053] Forked 25441 -(25441) found -[13052] Forked 25442 -(25442) found -[13051] Forked 25443 -(25443) found -[13050] Forked 25444 -(25444) found -[13049] Forked 25445 -(25445) found -[13048] Forked 25446 -(25446) found -[13047] Forked 25447 -(25447) found -[13046] Forked 25448 -(25448) found -[13045] Forked 25449 -(25449) found -[13044] Forked 25450 -(25450) found -[13043] Forked 25451 -(25451) found -[13042] Forked 25452 -(25452) found -[13041] Forked 25453 -(25453) found -[13040] Forked 25454 -(25454) found -[13039] Forked 25455 -(25455) found -[13038] Forked 25456 -(25456) found -[13037] Forked 25457 -(25457) found -[13036] Forked 25458 -(25458) found -[13035] Forked 25459 -(25459) found -[13034] Forked 25460 -(25460) found -[13033] Forked 25461 -[13032] Forked 25462 -(25461) found -(25462) found -[13031] Forked 25463 -[13030] Forked 25464 -(25463) found -(25464) found -[13029] Forked 25465 -[13028] Forked 25466 -(25465) found -(25466) found -[13027] Forked 25467 -[13026] Forked 25468 -(25467) found -(25468) found -[13025] Forked 25469 -[13024] Forked 25470 -(25469) found -(25470) found -[13023] Forked 25471 -[13022] Forked 25472 -(25471) found -(25472) found -[13021] Forked 25473 -[13020] Forked 25474 -(25473) found -(25474) found -[13019] Forked 25475 -[13018] Forked 25476 -(25475) found -(25476) found -[13017] Forked 25477 -[13016] Forked 25478 -(25477) found -(25478) found -[13015] Forked 25479 -[13014] Forked 25480 -(25479) found -(25480) found -[13013] Forked 25481 -[13012] Forked 25482 -(25481) found -(25482) found -[13011] Forked 25483 -[13010] Forked 25484 -(25483) found -(25484) found -[13009] Forked 25485 -[13008] Forked 25486 -(25485) found -(25486) found -[13007] Forked 25487 -[13006] Forked 25488 -(25487) found -(25488) found -[13005] Forked 25489 -[13004] Forked 25490 -(25489) found -(25490) found -[13003] Forked 25491 -[13002] Forked 25492 -(25491) found -(25492) found -[13001] Forked 25493 -[13000] Forked 25494 -(25493) found -(25494) found -[12999] Forked 25495 -[12998] Forked 25496 -(25495) found -(25496) found -[12997] Forked 25497 -[12996] Forked 25498 -(25497) found -(25498) found -[12995] Forked 25499 -[12994] Forked 25500 -(25499) found -(25500) found -[12993] Forked 25501 -[12992] Forked 25502 -(25501) found -(25502) found -[12991] Forked 25503 -[12990] Forked 25504 -(25503) found -(25504) found -[12989] Forked 25505 -[12988] Forked 25506 -(25505) found -(25506) found -[12987] Forked 25507 -[12986] Forked 25508 -(25507) found -(25508) found -[12985] Forked 25509 -[12984] Forked 25510 -(25509) found -(25510) found -[12983] Forked 25511 -[12982] Forked 25512 -(25511) found -(25512) found -[12981] Forked 25513 -[12980] Forked 25514 -(25513) found -(25514) found -[12979] Forked 25515 -[12978] Forked 25516 -(25515) found -(25516) found -[12977] Forked 25517 -[12976] Forked 25518 -(25517) found -(25518) found -[12975] Forked 25519 -[12974] Forked 25520 -(25519) found -(25520) found -[12973] Forked 25521 -[12972] Forked 25522 -(25521) found -(25522) found -[12971] Forked 25523 -[12970] Forked 25524 -(25523) found -(25524) found -[12969] Forked 25525 -[12968] Forked 25526 -(25525) found -(25526) found -[12967] Forked 25527 -[12966] Forked 25528 -(25527) found -(25528) found -[12965] Forked 25529 -[12964] Forked 25530 -(25529) found -(25530) found -[12963] Forked 25531 -[12962] Forked 25532 -(25531) found -(25532) found -[12961] Forked 25533 -[12960] Forked 25534 -(25533) found -(25534) found -[12959] Forked 25535 -[12958] Forked 25536 -(25535) found -(25536) found -[12957] Forked 25537 -[12956] Forked 25538 -(25537) found -(25538) found -[12955] Forked 25539 -[12954] Forked 25540 -(25539) found -(25540) found -[12953] Forked 25541 -[12952] Forked 25542 -(25541) found -(25542) found -[12951] Forked 25543 -[12950] Forked 25544 -(25543) found -(25544) found -[12949] Forked 25545 -[12948] Forked 25546 -(25545) found -(25546) found -[12947] Forked 25547 -[12946] Forked 25548 -(25547) found -(25548) found -[12945] Forked 25549 -[12944] Forked 25550 -(25549) found -(25550) found -[12943] Forked 25551 -[12942] Forked 25552 -(25551) found -(25552) found -[12941] Forked 25553 -[12940] Forked 25554 -(25553) found -(25554) found -[12939] Forked 25555 -[12938] Forked 25556 -(25555) found -(25556) found -[12937] Forked 25557 -[12936] Forked 25558 -(25557) found -(25558) found -[12935] Forked 25559 -[12934] Forked 25560 -(25559) found -(25560) found -[12933] Forked 25561 -[12932] Forked 25562 -(25561) found -(25562) found -[12931] Forked 25563 -[12930] Forked 25564 -(25563) found -(25564) found -[12929] Forked 25565 -[12928] Forked 25566 -(25565) found -(25566) found -[12927] Forked 25567 -[12926] Forked 25568 -(25567) found -(25568) found -[12925] Forked 25569 -[12924] Forked 25570 -(25569) found -(25570) found -[12923] Forked 25571 -[12922] Forked 25572 -(25571) found -(25572) found -[12921] Forked 25573 -[12920] Forked 25574 -(25573) found -(25574) found -[12919] Forked 25575 -[12918] Forked 25576 -(25575) found -(25576) found -[12917] Forked 25577 -[12916] Forked 25578 -(25577) found -(25578) found -[12915] Forked 25579 -[12914] Forked 25580 -(25579) found -(25580) found -[12913] Forked 25581 -[12912] Forked 25582 -(25581) found -(25582) found -[12911] Forked 25583 -[12910] Forked 25584 -(25583) found -(25584) found -[12909] Forked 25585 -[12908] Forked 25586 -(25585) found -(25586) found -[12907] Forked 25587 -[12906] Forked 25588 -(25587) found -(25588) found -[12905] Forked 25589 -[12904] Forked 25590 -(25589) found -(25590) found -[12903] Forked 25591 -[12902] Forked 25592 -(25591) found -(25592) found -[12901] Forked 25593 -[12900] Forked 25595 -(25593) found -(25595) found -[12899] Forked 25596 -[12898] Forked 25597 -(25596) found -(25597) found -[12897] Forked 25598 -[12896] Forked 25599 -(25599) found -(25598) found -[12895] Forked 25600 -(25600) found -[12894] Forked 25601 -[12893] Forked 25602 -(25601) found -(25602) found -[12892] Forked 25603 -[12891] Forked 25604 -(25603) found -(25604) found -[12890] Forked 25605 -[12889] Forked 25606 -(25605) found -(25606) found -[12888] Forked 25607 -[12887] Forked 25608 -(25607) found -(25608) found -[12886] Forked 25609 -[12885] Forked 25610 -(25609) found -(25610) found -[12884] Forked 25611 -[12883] Forked 25612 -(25611) found -(25612) found -[12882] Forked 25613 -[12881] Forked 25614 -(25613) found -(25614) found -[12880] Forked 25615 -[12879] Forked 25616 -(25615) found -(25616) found -[12878] Forked 25617 -[12877] Forked 25618 -(25617) found -(25618) found -[12876] Forked 25619 -[12875] Forked 25620 -(25619) found -(25620) found -[12874] Forked 25621 -[12873] Forked 25622 -(25621) found -(25622) found -[12872] Forked 25623 -[12871] Forked 25624 -(25623) found -(25624) found -[12870] Forked 25625 -(25625) found -[12869] Forked 25626 -[12868] Forked 25627 -(25626) found -(25627) found -[12867] Forked 25628 -[12866] Forked 25629 -(25628) found -(25629) found -[12865] Forked 25630 -[12864] Forked 25631 -(25630) found -(25631) found -[12863] Forked 25632 -[12862] Forked 25633 -(25632) found -(25633) found -[12861] Forked 25634 -[12860] Forked 25635 -(25634) found -(25635) found -[12859] Forked 25636 -[12858] Forked 25637 -(25636) found -(25637) found -[12857] Forked 25638 -[12856] Forked 25639 -(25638) found -(25639) found -[12855] Forked 25640 -[12854] Forked 25641 -(25640) found -(25641) found -[12853] Forked 25642 -[12852] Forked 25643 -(25642) found -(25643) found -[12851] Forked 25644 -[12850] Forked 25645 -(25644) found -(25645) found -[12849] Forked 25646 -[12848] Forked 25647 -(25646) found -(25647) found -[12847] Forked 25648 -[12846] Forked 25649 -(25648) found -(25649) found -[12845] Forked 25650 -[12844] Forked 25651 -(25650) found -(25651) found -[12843] Forked 25652 -[12842] Forked 25653 -(25652) found -(25653) found -[12841] Forked 25654 -[12840] Forked 25655 -(25654) found -(25655) found -[12839] Forked 25656 -[12838] Forked 25657 -(25656) found -(25657) found -[12837] Forked 25658 -[12836] Forked 25659 -(25658) found -(25659) found -[12835] Forked 25660 -[12834] Forked 25661 -(25660) found -(25661) found -[12833] Forked 25662 -[12832] Forked 25663 -(25662) found -(25663) found -[12831] Forked 25664 -[12830] Forked 25665 -(25664) found -(25665) found -[12829] Forked 25666 -[12828] Forked 25667 -(25666) found -(25667) found -[12827] Forked 25668 -[12826] Forked 25669 -(25668) found -(25669) found -[12825] Forked 25670 -[12824] Forked 25671 -(25670) found -(25671) found -[12823] Forked 25672 -[12822] Forked 25673 -(25672) found -(25673) found -[12821] Forked 25674 -[12820] Forked 25675 -(25674) found -(25675) found -[12819] Forked 25676 -[12818] Forked 25677 -(25676) found -(25677) found -[12817] Forked 25678 -[12816] Forked 25679 -(25678) found -(25679) found -[12815] Forked 25680 -[12814] Forked 25681 -(25680) found -(25681) found -[12813] Forked 25682 -[12812] Forked 25683 -(25682) found -(25683) found -[12811] Forked 25684 -[12810] Forked 25685 -(25684) found -(25685) found -[12809] Forked 25686 -[12808] Forked 25687 -(25686) found -(25687) found -[12807] Forked 25688 -[12806] Forked 25689 -(25688) found -(25689) found -[12805] Forked 25690 -[12804] Forked 25691 -(25690) found -(25691) found -[12803] Forked 25692 -[12802] Forked 25693 -(25692) found -(25693) found -[12801] Forked 25694 -[12800] Forked 25695 -(25694) found -(25695) found -[12799] Forked 25696 -[12798] Forked 25697 -(25696) found -(25697) found -[12797] Forked 25698 -[12796] Forked 25699 -(25698) found -(25699) found -[12795] Forked 25700 -[12794] Forked 25701 -(25700) found -(25701) found -[12793] Forked 25702 -[12792] Forked 25703 -(25702) found -(25703) found -[12791] Forked 25704 -[12790] Forked 25705 -(25704) found -(25705) found -[12789] Forked 25706 -[12788] Forked 25707 -(25706) found -(25707) found -[12787] Forked 25708 -[12786] Forked 25709 -(25708) found -(25709) found -[12785] Forked 25710 -[12784] Forked 25711 -(25710) found -(25711) found -[12783] Forked 25712 -[12782] Forked 25713 -(25712) found -(25713) found -[12781] Forked 25714 -[12780] Forked 25715 -(25714) found -(25715) found -[12779] Forked 25716 -[12778] Forked 25717 -(25716) found -(25717) found -[12777] Forked 25718 -[12776] Forked 25719 -(25718) found -(25719) found -[12775] Forked 25720 -[12774] Forked 25721 -(25720) found -(25721) found -[12773] Forked 25722 -[12772] Forked 25723 -(25722) found -(25723) found -[12771] Forked 25724 -[12770] Forked 25725 -(25724) found -(25725) found -[12769] Forked 25726 -[12768] Forked 25727 -(25727) found -(25726) found -[12767] Forked 25728 -(25728) found -[12766] Forked 25729 -(25729) found -[12765] Forked 25730 -(25730) found -[12764] Forked 25731 -(25731) found -[12763] Forked 25732 -(25732) found -[12762] Forked 25733 -(25733) found -[12761] Forked 25734 -(25734) found -[12760] Forked 25735 -(25735) found -[12759] Forked 25736 -(25736) found -[12758] Forked 25737 -(25737) found -[12757] Forked 25738 -(25738) found -[12756] Forked 25739 -(25739) found -[12755] Forked 25740 -(25740) found -[12754] Forked 25741 -(25741) found -[12753] Forked 25742 -(25742) found -[12752] Forked 25743 -(25743) found -[12751] Forked 25744 -(25744) found -[12750] Forked 25745 -(25745) found -[12749] Forked 25746 -(25746) found -[12748] Forked 25747 -(25747) found -[12747] Forked 25748 -(25748) found -[12746] Forked 25749 -(25749) found -[12745] Forked 25750 -(25750) found -[12744] Forked 25751 -(25751) found -[12743] Forked 25752 -(25752) found -[12742] Forked 25753 -(25753) found -[12741] Forked 25754 -(25754) found -[12740] Forked 25755 -(25755) found -[12739] Forked 25756 -(25756) found -[12738] Forked 25757 -(25757) found -[12737] Forked 25758 -(25758) found -[12736] Forked 25759 -(25759) found -[12735] Forked 25760 -(25760) found -[12734] Forked 25761 -(25761) found -[12733] Forked 25762 -(25762) found -[12732] Forked 25763 -(25763) found -[12731] Forked 25764 -(25764) found -[12730] Forked 25765 -(25765) found -[12729] Forked 25766 -(25766) found -[12728] Forked 25767 -(25767) found -[12727] Forked 25768 -(25768) found -[12726] Forked 25769 -(25769) found -[12725] Forked 25770 -(25770) found -[12724] Forked 25771 -(25771) found -[12723] Forked 25772 -(25772) found -[12722] Forked 25774 -(25774) found -[12721] Forked 25775 -(25775) found -[12720] Forked 25776 -(25776) found -[12719] Forked 25777 -(25777) found -[12718] Forked 25778 -(25778) found -[12717] Forked 25779 -(25779) found -[12716] Forked 25780 -(25780) found -[12715] Forked 25781 -(25781) found -[12714] Forked 25782 -(25782) found -[12713] Forked 25783 -(25783) found -[12712] Forked 25784 -(25784) found -[12711] Forked 25785 -(25785) found -[12710] Forked 25786 -(25786) found -[12709] Forked 25787 -(25787) found -[12708] Forked 25788 -(25788) found -[12707] Forked 25789 -(25789) found -[12706] Forked 25790 -(25790) found -[12705] Forked 25791 -(25791) found -[12704] Forked 25792 -(25792) found -[12703] Forked 25793 -(25793) found -[12702] Forked 25794 -(25794) found -[12701] Forked 25795 -(25795) found -[12700] Forked 25796 -[12699] Forked 25797 -(25796) found -(25797) found -[12698] Forked 25798 -[12697] Forked 25799 -(25798) found -(25799) found -[12696] Forked 25800 -[12695] Forked 25801 -(25800) found -(25801) found -[12694] Forked 25802 -[12693] Forked 25803 -(25802) found -(25803) found -[12692] Forked 25804 -[12691] Forked 25805 -(25804) found -(25805) found -[12690] Forked 25806 -[12689] Forked 25807 -(25806) found -(25807) found -[12688] Forked 25808 -[12687] Forked 25809 -(25808) found -(25809) found -[12686] Forked 25810 -[12685] Forked 25811 -(25810) found -(25811) found -[12684] Forked 25812 -[12683] Forked 25813 -(25812) found -(25813) found -[12682] Forked 25814 -[12681] Forked 25815 -(25814) found -(25815) found -[12680] Forked 25816 -[12679] Forked 25817 -(25816) found -(25817) found -[12678] Forked 25818 -[12677] Forked 25819 -(25818) found -(25819) found -[12676] Forked 25820 -[12675] Forked 25821 -(25820) found -(25821) found -[12674] Forked 25822 -[12673] Forked 25823 -(25822) found -(25823) found -[12672] Forked 25824 -[12671] Forked 25825 -(25824) found -(25825) found -[12670] Forked 25826 -[12669] Forked 25827 -(25826) found -(25827) found -[12668] Forked 25828 -[12667] Forked 25829 -(25828) found -(25829) found -[12666] Forked 25830 -[12665] Forked 25831 -(25830) found -(25831) found -[12664] Forked 25832 -[12663] Forked 25833 -(25832) found -(25833) found -[12662] Forked 25834 -[12661] Forked 25835 -(25834) found -(25835) found -[12660] Forked 25836 -[12659] Forked 25837 -(25836) found -(25837) found -[12658] Forked 25838 -[12657] Forked 25839 -(25838) found -(25839) found -[12656] Forked 25840 -[12655] Forked 25841 -(25840) found -(25841) found -[12654] Forked 25842 -[12653] Forked 25843 -(25842) found -(25843) found -[12652] Forked 25844 -[12651] Forked 25845 -(25844) found -(25845) found -[12650] Forked 25846 -[12649] Forked 25847 -(25846) found -(25847) found -[12648] Forked 25848 -[12647] Forked 25849 -(25848) found -(25849) found -[12646] Forked 25850 -[12645] Forked 25851 -(25850) found -(25851) found -[12644] Forked 25852 -[12643] Forked 25853 -(25852) found -(25853) found -[12642] Forked 25854 -[12641] Forked 25855 -(25854) found -(25855) found -[12640] Forked 25856 -[12639] Forked 25857 -(25856) found -(25857) found -[12638] Forked 25858 -[12637] Forked 25859 -(25858) found -(25859) found -[12636] Forked 25860 -[12635] Forked 25861 -(25860) found -(25861) found -[12634] Forked 25862 -[12633] Forked 25863 -(25862) found -(25863) found -[12632] Forked 25864 -[12631] Forked 25865 -(25864) found -(25865) found -[12630] Forked 25866 -[12629] Forked 25867 -(25866) found -(25867) found -[12628] Forked 25868 -[12627] Forked 25869 -(25868) found -(25869) found -[12626] Forked 25870 -[12625] Forked 25871 -(25870) found -(25871) found -[12624] Forked 25872 -[12623] Forked 25873 -(25872) found -(25873) found -[12622] Forked 25874 -[12621] Forked 25875 -(25874) found -(25875) found -[12620] Forked 25876 -[12619] Forked 25877 -(25876) found -(25877) found -[12618] Forked 25878 -[12617] Forked 25879 -(25878) found -(25879) found -[12616] Forked 25880 -[12615] Forked 25881 -(25880) found -(25881) found -[12614] Forked 25882 -[12613] Forked 25883 -(25882) found -(25883) found -[12612] Forked 25884 -[12611] Forked 25885 -(25884) found -(25885) found -[12610] Forked 25886 -[12609] Forked 25887 -(25886) found -(25887) found -[12608] Forked 25888 -[12607] Forked 25889 -(25888) found -(25889) found -[12606] Forked 25890 -[12605] Forked 25891 -(25890) found -(25891) found -[12604] Forked 25892 -[12603] Forked 25893 -(25892) found -(25893) found -[12602] Forked 25894 -[12601] Forked 25895 -(25894) found -(25895) found -[12600] Forked 25896 -[12599] Forked 25897 -(25896) found -(25897) found -[12598] Forked 25898 -[12597] Forked 25899 -(25898) found -(25899) found -[12596] Forked 25900 -[12595] Forked 25901 -(25900) found -(25901) found -[12594] Forked 25902 -[12593] Forked 25903 -(25902) found -(25903) found -[12592] Forked 25904 -[12591] Forked 25905 -(25904) found -(25905) found -[12590] Forked 25906 -[12589] Forked 25907 -(25906) found -(25907) found -[12588] Forked 25908 -[12587] Forked 25909 -(25908) found -(25909) found -[12586] Forked 25910 -[12585] Forked 25911 -(25910) found -(25911) found -[12584] Forked 25912 -[12583] Forked 25913 -(25912) found -(25913) found -[12582] Forked 25914 -[12581] Forked 25915 -(25914) found -(25915) found -[12580] Forked 25916 -[12579] Forked 25917 -(25916) found -(25917) found -[12578] Forked 25918 -[12577] Forked 25919 -(25918) found -(25919) found -[12576] Forked 25920 -[12575] Forked 25921 -(25920) found -(25921) found -[12574] Forked 25922 -[12573] Forked 25923 -(25922) found -(25923) found -[12572] Forked 25924 -[12571] Forked 25925 -(25924) found -(25925) found -[12570] Forked 25926 -[12569] Forked 25927 -(25926) found -(25927) found -[12568] Forked 25928 -[12567] Forked 25929 -(25928) found -(25929) found -[12566] Forked 25930 -[12565] Forked 25931 -(25930) found -(25931) found -[12564] Forked 25932 -[12563] Forked 25933 -(25932) found -(25933) found -[12562] Forked 25934 -(25934) found -[12561] Forked 25935 -(25935) found -[12560] Forked 25936 -(25936) found -[12559] Forked 25937 -(25937) found -[12558] Forked 25938 -(25938) found -[12557] Forked 25939 -(25939) found -[12556] Forked 25940 -(25940) found -[12555] Forked 25941 -(25941) found -[12554] Forked 25942 -(25942) found -[12553] Forked 25943 -(25943) found -[12552] Forked 25944 -(25944) found -[12551] Forked 25945 -(25945) found -[12550] Forked 25946 -(25946) found -[12549] Forked 25947 -(25947) found -[12548] Forked 25948 -(25948) found -[12547] Forked 25949 -(25949) found -[12546] Forked 25950 -(25950) found -[12545] Forked 25951 -(25951) found -[12544] Forked 25952 -(25952) found -[12543] Forked 25953 -(25953) found -[12542] Forked 25954 -(25954) found -[12541] Forked 25955 -(25955) found -[12540] Forked 25956 -(25956) found -[12539] Forked 25957 -(25957) found -[12538] Forked 25958 -(25958) found -[12537] Forked 25959 -(25959) found -[12536] Forked 25960 -(25960) found -[12535] Forked 25961 -(25961) found -[12534] Forked 25962 -(25962) found -[12533] Forked 25963 -(25963) found -[12532] Forked 25964 -(25964) found -[12531] Forked 25965 -(25965) found -[12530] Forked 25966 -(25966) found -[12529] Forked 25967 -(25967) found -[12528] Forked 25968 -(25968) found -[12527] Forked 25969 -[12526] Forked 25970 -(25969) found -(25970) found -[12525] Forked 25971 -[12524] Forked 25972 -(25971) found -(25972) found -[12523] Forked 25973 -[12522] Forked 25974 -(25973) found -(25974) found -[12521] Forked 25975 -[12520] Forked 25976 -(25975) found -(25976) found -[12519] Forked 25977 -[12518] Forked 25978 -(25977) found -(25978) found -[12517] Forked 25979 -[12516] Forked 25980 -(25979) found -(25980) found -[12515] Forked 25981 -[12514] Forked 25982 -(25981) found -(25982) found -[12513] Forked 25983 -[12512] Forked 25984 -(25983) found -(25984) found -[12511] Forked 25985 -[12510] Forked 25986 -(25985) found -(25986) found -[12509] Forked 25987 -[12508] Forked 25988 -(25987) found -(25988) found -[12507] Forked 25989 -[12506] Forked 25990 -(25989) found -(25990) found -[12505] Forked 25991 -[12504] Forked 25992 -(25991) found -(25992) found -[12503] Forked 25993 -[12502] Forked 25994 -(25993) found -(25994) found -[12501] Forked 25995 -[12500] Forked 25996 -(25995) found -(25996) found -[12499] Forked 25997 -[12498] Forked 25998 -(25997) found -(25998) found -[12497] Forked 25999 -[12496] Forked 26000 -(25999) found -(26000) found -[12495] Forked 26001 -[12494] Forked 26002 -(26001) found -(26002) found -[12493] Forked 26003 -[12492] Forked 26004 -(26003) found -(26004) found -[12491] Forked 26005 -[12490] Forked 26006 -(26005) found -(26006) found -[12489] Forked 26007 -[12488] Forked 26008 -(26007) found -(26008) found -[12487] Forked 26009 -[12486] Forked 26010 -(26009) found -(26010) found -[12485] Forked 26011 -[12484] Forked 26012 -(26011) found -(26012) found -[12483] Forked 26013 -[12482] Forked 26014 -(26013) found -(26014) found -[12481] Forked 26015 -(26015) found -[12480] Forked 26016 -(26016) found -[12479] Forked 26017 -(26017) found -[12478] Forked 26018 -(26018) found -[12477] Forked 26019 -(26019) found -[12476] Forked 26020 -(26020) found -[12475] Forked 26021 -(26021) found -[12474] Forked 26022 -(26022) found -[12473] Forked 26023 -(26023) found -[12472] Forked 26024 -(26024) found -[12471] Forked 26025 -(26025) found -[12470] Forked 26026 -(26026) found -[12469] Forked 26027 -(26027) found -[12468] Forked 26028 -(26028) found -[12467] Forked 26029 -(26029) found -[12466] Forked 26030 -(26030) found -[12465] Forked 26031 -(26031) found -[12464] Forked 26032 -(26032) found -[12463] Forked 26033 -(26033) found -[12462] Forked 26034 -(26034) found -[12461] Forked 26035 -(26035) found -[12460] Forked 26036 -(26036) found -[12459] Forked 26037 -(26037) found -[12458] Forked 26038 -(26038) found -[12457] Forked 26039 -(26039) found -[12456] Forked 26040 -(26040) found -[12455] Forked 26041 -(26041) found -[12454] Forked 26042 -(26042) found -[12453] Forked 26043 -(26043) found -[12452] Forked 26044 -(26044) found -[12451] Forked 26045 -(26045) found -[12450] Forked 26046 -(26046) found -[12449] Forked 26047 -(26047) found -[12448] Forked 26048 -(26048) found -[12447] Forked 26049 -(26049) found -[12446] Forked 26050 -[12445] Forked 26051 -(26050) found -(26051) found -[12444] Forked 26052 -[12443] Forked 26053 -(26052) found -(26053) found -[12442] Forked 26054 -[12441] Forked 26055 -(26054) found -(26055) found -[12440] Forked 26056 -[12439] Forked 26057 -(26056) found -(26057) found -[12438] Forked 26058 -[12437] Forked 26059 -(26058) found -(26059) found -[12436] Forked 26060 -[12435] Forked 26061 -(26060) found -(26061) found -[12434] Forked 26062 -[12433] Forked 26063 -(26062) found -(26063) found -[12432] Forked 26064 -[12431] Forked 26065 -(26064) found -(26065) found -[12430] Forked 26066 -[12429] Forked 26067 -(26066) found -(26067) found -[12428] Forked 26068 -[12427] Forked 26069 -(26068) found -(26069) found -[12426] Forked 26070 -[12425] Forked 26071 -(26070) found -(26071) found -[12424] Forked 26072 -[12423] Forked 26073 -(26072) found -(26073) found -[12422] Forked 26074 -[12421] Forked 26075 -(26074) found -(26075) found -[12420] Forked 26076 -[12419] Forked 26077 -(26076) found -(26077) found -[12418] Forked 26078 -[12417] Forked 26079 -(26078) found -(26079) found -[12416] Forked 26080 -[12415] Forked 26081 -(26080) found -(26081) found -[12414] Forked 26082 -[12413] Forked 26083 -(26082) found -(26083) found -[12412] Forked 26084 -[12411] Forked 26085 -(26084) found -(26085) found -[12410] Forked 26086 -[12409] Forked 26087 -(26086) found -(26087) found -[12408] Forked 26088 -[12407] Forked 26089 -(26088) found -(26089) found -[12406] Forked 26090 -[12405] Forked 26091 -(26090) found -(26091) found -[12404] Forked 26092 -[12403] Forked 26093 -(26092) found -(26093) found -[12402] Forked 26094 -[12401] Forked 26095 -(26094) found -(26095) found -[12400] Forked 26096 -[12399] Forked 26097 -(26096) found -(26097) found -[12398] Forked 26098 -[12397] Forked 26099 -(26098) found -(26099) found -[12396] Forked 26100 -[12395] Forked 26101 -(26100) found -(26101) found -[12394] Forked 26102 -[12393] Forked 26103 -(26102) found -(26103) found -[12392] Forked 26104 -[12391] Forked 26105 -(26104) found -(26105) found -[12390] Forked 26106 -[12389] Forked 26107 -(26106) found -(26107) found -[12388] Forked 26108 -[12387] Forked 26109 -(26108) found -(26109) found -[12386] Forked 26110 -[12385] Forked 26111 -(26110) found -(26111) found -[12384] Forked 26112 -[12383] Forked 26113 -(26112) found -(26113) found -[12382] Forked 26114 -[12381] Forked 26115 -(26114) found -(26115) found -[12380] Forked 26116 -[12379] Forked 26117 -(26116) found -(26117) found -[12378] Forked 26118 -[12377] Forked 26119 -(26118) found -(26119) found -[12376] Forked 26120 -[12375] Forked 26121 -(26120) found -(26121) found -[12374] Forked 26122 -[12373] Forked 26123 -(26122) found -(26123) found -[12372] Forked 26124 -[12371] Forked 26125 -(26124) found -(26125) found -[12370] Forked 26126 -[12369] Forked 26127 -(26126) found -(26127) found -[12368] Forked 26128 -[12367] Forked 26129 -(26128) found -(26129) found -[12366] Forked 26130 -[12365] Forked 26131 -(26130) found -(26131) found -[12364] Forked 26132 -[12363] Forked 26133 -(26132) found -(26133) found -[12362] Forked 26134 -[12361] Forked 26135 -(26134) found -(26135) found -[12360] Forked 26136 -[12359] Forked 26137 -(26136) found -(26137) found -[12358] Forked 26138 -[12357] Forked 26139 -(26138) found -(26139) found -[12356] Forked 26140 -[12355] Forked 26141 -(26140) found -(26141) found -[12354] Forked 26142 -[12353] Forked 26143 -(26142) found -(26143) found -[12352] Forked 26144 -[12351] Forked 26145 -(26144) found -(26145) found -[12350] Forked 26146 -[12349] Forked 26147 -(26146) found -(26147) found -[12348] Forked 26148 -[12347] Forked 26149 -(26148) found -(26149) found -[12346] Forked 26150 -[12345] Forked 26151 -(26150) found -(26151) found -[12344] Forked 26152 -[12343] Forked 26153 -(26152) found -(26153) found -[12342] Forked 26154 -[12341] Forked 26155 -(26154) found -(26155) found -[12340] Forked 26156 -[12339] Forked 26157 -(26156) found -(26157) found -[12338] Forked 26158 -[12337] Forked 26159 -(26158) found -(26159) found -[12336] Forked 26160 -[12335] Forked 26161 -(26160) found -(26161) found -[12334] Forked 26162 -[12333] Forked 26163 -(26162) found -(26163) found -[12332] Forked 26164 -[12331] Forked 26165 -(26164) found -(26165) found -[12330] Forked 26166 -[12329] Forked 26167 -(26166) found -(26167) found -[12328] Forked 26168 -[12327] Forked 26169 -(26168) found -(26169) found -[12326] Forked 26170 -[12325] Forked 26171 -(26170) found -(26171) found -[12324] Forked 26172 -[12323] Forked 26173 -(26172) found -(26173) found -[12322] Forked 26174 -[12321] Forked 26175 -(26174) found -(26175) found -[12320] Forked 26176 -[12319] Forked 26177 -(26176) found -(26177) found -[12318] Forked 26178 -[12317] Forked 26179 -(26178) found -(26179) found -[12316] Forked 26180 -[12315] Forked 26181 -(26180) found -(26181) found -[12314] Forked 26182 -(26182) found -[12313] Forked 26183 -[12312] Forked 26184 -(26183) found -(26184) found -[12311] Forked 26185 -[12310] Forked 26186 -(26185) found -(26186) found -[12309] Forked 26187 -[12308] Forked 26188 -(26187) found -(26188) found -[12307] Forked 26189 -[12306] Forked 26190 -(26189) found -(26190) found -[12305] Forked 26191 -[12304] Forked 26192 -(26191) found -(26192) found -[12303] Forked 26193 -[12302] Forked 26194 -(26193) found -(26194) found -[12301] Forked 26195 -[12300] Forked 26196 -(26195) found -(26196) found -[12299] Forked 26197 -[12298] Forked 26198 -(26197) found -(26198) found -[12297] Forked 26199 -[12296] Forked 26200 -(26199) found -(26200) found -[12295] Forked 26201 -[12294] Forked 26202 -(26201) found -(26202) found -[12293] Forked 26203 -[12292] Forked 26204 -(26203) found -(26204) found -[12291] Forked 26205 -[12290] Forked 26206 -(26205) found -(26206) found -[12289] Forked 26207 -[12288] Forked 26208 -(26207) found -(26208) found -[12287] Forked 26209 -[12286] Forked 26210 -(26209) found -(26210) found -[12285] Forked 26211 -[12284] Forked 26212 -(26211) found -(26212) found -[12283] Forked 26213 -[12282] Forked 26214 -(26213) found -(26214) found -[12281] Forked 26215 -[12280] Forked 26216 -(26215) found -(26216) found -[12279] Forked 26217 -[12278] Forked 26218 -(26217) found -(26218) found -[12277] Forked 26219 -[12276] Forked 26220 -(26219) found -(26220) found -[12275] Forked 26221 -[12274] Forked 26222 -(26221) found -(26222) found -[12273] Forked 26223 -[12272] Forked 26224 -(26223) found -(26224) found -[12271] Forked 26225 -[12270] Forked 26226 -(26225) found -(26226) found -[12269] Forked 26227 -[12268] Forked 26228 -(26227) found -(26228) found -[12267] Forked 26229 -[12266] Forked 26230 -(26229) found -(26230) found -[12265] Forked 26231 -[12264] Forked 26232 -(26231) found -(26232) found -[12263] Forked 26233 -[12262] Forked 26234 -(26233) found -(26234) found -[12261] Forked 26235 -[12260] Forked 26236 -(26235) found -(26236) found -[12259] Forked 26237 -[12258] Forked 26238 -(26237) found -(26238) found -[12257] Forked 26239 -[12256] Forked 26240 -(26239) found -(26240) found -[12255] Forked 26241 -[12254] Forked 26242 -(26241) found -(26242) found -[12253] Forked 26243 -[12252] Forked 26244 -(26243) found -(26244) found -[12251] Forked 26245 -[12250] Forked 26246 -(26245) found -(26246) found -[12249] Forked 26247 -[12248] Forked 26248 -(26247) found -(26248) found -[12247] Forked 26249 -[12246] Forked 26250 -(26249) found -(26250) found -[12245] Forked 26251 -[12244] Forked 26252 -(26251) found -(26252) found -[12243] Forked 26253 -[12242] Forked 26254 -(26253) found -(26254) found -[12241] Forked 26255 -[12240] Forked 26256 -(26255) found -(26256) found -[12239] Forked 26257 -[12238] Forked 26258 -(26257) found -(26258) found -[12237] Forked 26259 -[12236] Forked 26260 -(26259) found -(26260) found -[12235] Forked 26261 -[12234] Forked 26262 -(26261) found -(26262) found -[12233] Forked 26263 -[12232] Forked 26264 -(26263) found -(26264) found -[12231] Forked 26265 -[12230] Forked 26266 -(26265) found -(26266) found -[12229] Forked 26267 -[12228] Forked 26268 -(26267) found -(26268) found -[12227] Forked 26269 -[12226] Forked 26270 -(26269) found -(26270) found -[12225] Forked 26271 -[12224] Forked 26272 -(26271) found -(26272) found -[12223] Forked 26273 -[12222] Forked 26274 -(26273) found -(26274) found -[12221] Forked 26275 -[12220] Forked 26276 -(26275) found -(26276) found -[12219] Forked 26277 -[12218] Forked 26278 -(26277) found -(26278) found -[12217] Forked 26279 -[12216] Forked 26280 -(26279) found -(26280) found -[12215] Forked 26281 -[12214] Forked 26282 -(26281) found -(26282) found -[12213] Forked 26283 -[12212] Forked 26284 -(26283) found -(26284) found -[12211] Forked 26285 -[12210] Forked 26286 -(26285) found -(26286) found -[12209] Forked 26287 -[12208] Forked 26288 -(26287) found -(26288) found -[12207] Forked 26289 -[12206] Forked 26290 -(26289) found -(26290) found -[12205] Forked 26291 -[12204] Forked 26292 -(26291) found -(26292) found -[12203] Forked 26293 -[12202] Forked 26294 -(26293) found -(26294) found -[12201] Forked 26295 -[12200] Forked 26296 -(26295) found -(26296) found -[12199] Forked 26297 -[12198] Forked 26298 -(26297) found -(26298) found -[12197] Forked 26299 -[12196] Forked 26300 -(26299) found -(26300) found -[12195] Forked 26301 -[12194] Forked 26302 -(26301) found -(26302) found -[12193] Forked 26303 -[12192] Forked 26304 -(26303) found -(26304) found -[12191] Forked 26305 -[12190] Forked 26306 -(26305) found -(26306) found -[12189] Forked 26307 -[12188] Forked 26308 -(26307) found -(26308) found -[12187] Forked 26309 -[12186] Forked 26310 -(26309) found -(26310) found -[12185] Forked 26311 -[12184] Forked 26312 -(26311) found -(26312) found -[12183] Forked 26313 -[12182] Forked 26314 -(26313) found -(26314) found -[12181] Forked 26315 -[12180] Forked 26316 -(26315) found -(26316) found -[12179] Forked 26317 -[12178] Forked 26318 -(26317) found -(26318) found -[12177] Forked 26319 -[12176] Forked 26320 -(26319) found -(26320) found -[12175] Forked 26321 -[12174] Forked 26322 -(26321) found -(26322) found -[12173] Forked 26323 -[12172] Forked 26324 -(26323) found -(26324) found -[12171] Forked 26325 -[12170] Forked 26326 -(26325) found -(26326) found -[12169] Forked 26327 -[12168] Forked 26328 -(26327) found -(26328) found -[12167] Forked 26329 -[12166] Forked 26330 -(26329) found -(26330) found -[12165] Forked 26331 -[12164] Forked 26332 -(26331) found -(26332) found -[12163] Forked 26333 -[12162] Forked 26334 -(26333) found -(26334) found -[12161] Forked 26335 -[12160] Forked 26336 -(26335) found -(26336) found -[12159] Forked 26337 -[12158] Forked 26338 -(26337) found -(26338) found -[12157] Forked 26339 -[12156] Forked 26340 -(26339) found -(26340) found -[12155] Forked 26341 -[12154] Forked 26342 -(26341) found -(26342) found -[12153] Forked 26343 -[12152] Forked 26344 -(26343) found -(26344) found -[12151] Forked 26345 -[12150] Forked 26346 -(26345) found -(26346) found -[12149] Forked 26347 -[12148] Forked 26348 -(26347) found -(26348) found -[12147] Forked 26349 -[12146] Forked 26350 -(26349) found -(26350) found -[12145] Forked 26351 -[12144] Forked 26352 -(26351) found -(26352) found -[12143] Forked 26353 -[12142] Forked 26354 -(26353) found -(26354) found -[12141] Forked 26355 -[12140] Forked 26356 -(26355) found -(26356) found -[12139] Forked 26357 -[12138] Forked 26358 -(26357) found -(26358) found -[12137] Forked 26359 -[12136] Forked 26360 -(26359) found -(26360) found -[12135] Forked 26361 -[12134] Forked 26362 -(26361) found -(26362) found -[12133] Forked 26363 -[12132] Forked 26364 -(26363) found -(26364) found -[12131] Forked 26365 -[12130] Forked 26366 -(26365) found -(26366) found -[12129] Forked 26367 -(26367) found -[12128] Forked 26368 -(26368) found -[12127] Forked 26369 -(26369) found -[12126] Forked 26370 -(26370) found -[12125] Forked 26371 -(26371) found -[12124] Forked 26372 -(26372) found -[12123] Forked 26373 -(26373) found -[12122] Forked 26374 -(26374) found -[12121] Forked 26375 -(26375) found -[12120] Forked 26376 -(26376) found -[12119] Forked 26377 -(26377) found -[12118] Forked 26378 -(26378) found -[12117] Forked 26379 -(26379) found -[12116] Forked 26380 -(26380) found -[12115] Forked 26381 -(26381) found -[12114] Forked 26382 -(26382) found -[12113] Forked 26383 -(26383) found -[12112] Forked 26384 -(26384) found -[12111] Forked 26385 -(26385) found -[12110] Forked 26386 -(26386) found -[12109] Forked 26387 -(26387) found -[12108] Forked 26388 -(26388) found -[12107] Forked 26389 -(26389) found -[12106] Forked 26390 -(26390) found -[12105] Forked 26391 -(26391) found -[12104] Forked 26392 -(26392) found -[12103] Forked 26393 -(26393) found -[12102] Forked 26394 -(26394) found -[12101] Forked 26395 -(26395) found -[12100] Forked 26396 -(26396) found -[12099] Forked 26397 -(26397) found -[12098] Forked 26398 -(26398) found -[12097] Forked 26399 -(26399) found -[12096] Forked 26400 -(26400) found -[12095] Forked 26401 -[12094] Forked 26402 -(26401) found -(26402) found -[12093] Forked 26403 -[12092] Forked 26404 -(26403) found -(26404) found -[12091] Forked 26405 -[12090] Forked 26406 -(26405) found -(26406) found -[12089] Forked 26407 -[12088] Forked 26408 -(26407) found -(26408) found -[12087] Forked 26409 -[12086] Forked 26410 -(26409) found -(26410) found -[12085] Forked 26411 -[12084] Forked 26412 -(26411) found -(26412) found -[12083] Forked 26413 -[12082] Forked 26414 -(26413) found -(26414) found -[12081] Forked 26415 -[12080] Forked 26416 -(26415) found -(26416) found -[12079] Forked 26417 -[12078] Forked 26418 -(26417) found -(26418) found -[12077] Forked 26419 -[12076] Forked 26420 -(26419) found -(26420) found -[12075] Forked 26421 -[12074] Forked 26422 -(26421) found -(26422) found -[12073] Forked 26423 -[12072] Forked 26424 -(26423) found -(26424) found -[12071] Forked 26425 -[12070] Forked 26426 -(26425) found -(26426) found -[12069] Forked 26427 -[12068] Forked 26428 -(26427) found -(26428) found -[12067] Forked 26429 -[12066] Forked 26430 -(26429) found -(26430) found -[12065] Forked 26431 -[12064] Forked 26432 -(26431) found -(26432) found -[12063] Forked 26433 -[12062] Forked 26434 -(26433) found -(26434) found -[12061] Forked 26435 -[12060] Forked 26436 -(26435) found -(26436) found -[12059] Forked 26437 -[12058] Forked 26438 -(26437) found -(26438) found -[12057] Forked 26439 -[12056] Forked 26440 -(26439) found -(26440) found -[12055] Forked 26441 -[12054] Forked 26442 -(26441) found -(26442) found -[12053] Forked 26443 -[12052] Forked 26444 -(26443) found -(26444) found -[12051] Forked 26445 -[12050] Forked 26446 -(26445) found -(26446) found -[12049] Forked 26447 -[12048] Forked 26448 -(26447) found -(26448) found -[12047] Forked 26449 -[12046] Forked 26450 -(26449) found -(26450) found -[12045] Forked 26451 -[12044] Forked 26452 -(26451) found -(26452) found -[12043] Forked 26453 -[12042] Forked 26454 -(26453) found -(26454) found -[12041] Forked 26455 -[12040] Forked 26456 -(26455) found -(26456) found -[12039] Forked 26457 -[12038] Forked 26458 -(26457) found -(26458) found -[12037] Forked 26459 -[12036] Forked 26460 -(26459) found -(26460) found -[12035] Forked 26461 -[12034] Forked 26462 -(26461) found -(26462) found -[12033] Forked 26463 -[12032] Forked 26464 -(26463) found -(26464) found -[12031] Forked 26465 -[12030] Forked 26466 -(26465) found -(26466) found -[12029] Forked 26467 -[12028] Forked 26468 -(26467) found -(26468) found -[12027] Forked 26469 -[12026] Forked 26470 -(26469) found -(26470) found -[12025] Forked 26471 -[12024] Forked 26472 -(26471) found -(26472) found -[12023] Forked 26473 -[12022] Forked 26474 -(26473) found -(26474) found -[12021] Forked 26475 -[12020] Forked 26476 -(26475) found -(26476) found -[12019] Forked 26477 -[12018] Forked 26478 -(26477) found -(26478) found -[12017] Forked 26479 -[12016] Forked 26480 -(26479) found -(26480) found -[12015] Forked 26481 -[12014] Forked 26482 -(26481) found -(26482) found -[12013] Forked 26483 -[12012] Forked 26484 -(26483) found -(26484) found -[12011] Forked 26485 -[12010] Forked 26486 -(26485) found -(26486) found -[12009] Forked 26487 -[12008] Forked 26488 -(26487) found -(26488) found -[12007] Forked 26489 -[12006] Forked 26490 -(26489) found -(26490) found -[12005] Forked 26491 -[12004] Forked 26492 -(26491) found -(26492) found -[12003] Forked 26493 -[12002] Forked 26494 -(26493) found -(26494) found -[12001] Forked 26495 -[12000] Forked 26496 -(26495) found -(26496) found -[11999] Forked 26497 -[11998] Forked 26498 -(26497) found -(26498) found -[11997] Forked 26499 -[11996] Forked 26500 -(26499) found -(26500) found -[11995] Forked 26501 -[11994] Forked 26502 -(26501) found -(26502) found -[11993] Forked 26503 -[11992] Forked 26504 -(26503) found -(26504) found -[11991] Forked 26505 -[11990] Forked 26506 -(26505) found -(26506) found -[11989] Forked 26507 -[11988] Forked 26508 -(26507) found -(26508) found -[11987] Forked 26509 -[11986] Forked 26510 -(26509) found -(26510) found -[11985] Forked 26511 -[11984] Forked 26512 -(26511) found -(26512) found -[11983] Forked 26513 -[11982] Forked 26514 -(26513) found -(26514) found -[11981] Forked 26515 -[11980] Forked 26516 -(26515) found -(26516) found -[11979] Forked 26517 -[11978] Forked 26518 -(26517) found -(26518) found -[11977] Forked 26519 -[11976] Forked 26520 -(26519) found -(26520) found -[11975] Forked 26521 -[11974] Forked 26522 -(26521) found -(26522) found -[11973] Forked 26523 -[11972] Forked 26524 -(26523) found -(26524) found -[11971] Forked 26525 -[11970] Forked 26526 -(26525) found -(26526) found -[11969] Forked 26527 -[11968] Forked 26528 -(26527) found -(26528) found -[11967] Forked 26529 -[11966] Forked 26530 -(26529) found -(26530) found -[11965] Forked 26531 -[11964] Forked 26532 -(26531) found -(26532) found -[11963] Forked 26533 -[11962] Forked 26534 -(26533) found -(26534) found -[11961] Forked 26535 -[11960] Forked 26536 -(26535) found -(26536) found -[11959] Forked 26537 -(26537) found -[11958] Forked 26538 -(26538) found -[11957] Forked 26539 -(26539) found -[11956] Forked 26540 -(26540) found -[11955] Forked 26541 -(26541) found -[11954] Forked 26542 -(26542) found -[11953] Forked 26543 -(26543) found -[11952] Forked 26544 -(26544) found -[11951] Forked 26545 -(26545) found -[11950] Forked 26546 -(26546) found -[11949] Forked 26547 -(26547) found -[11948] Forked 26548 -(26548) found -[11947] Forked 26549 -(26549) found -[11946] Forked 26550 -(26550) found -[11945] Forked 26551 -(26551) found -[11944] Forked 26552 -(26552) found -[11943] Forked 26553 -(26553) found -[11942] Forked 26554 -(26554) found -[11941] Forked 26555 -(26555) found -[11940] Forked 26556 -(26556) found -[11939] Forked 26557 -(26557) found -[11938] Forked 26558 -(26558) found -[11937] Forked 26559 -(26559) found -[11936] Forked 26560 -(26560) found -[11935] Forked 26561 -(26561) found -[11934] Forked 26562 -(26562) found -[11933] Forked 26563 -(26563) found -[11932] Forked 26564 -(26564) found -[11931] Forked 26565 -(26565) found -[11930] Forked 26566 -(26566) found -[11929] Forked 26567 -(26567) found -[11928] Forked 26568 -(26568) found -[11927] Forked 26569 -(26569) found -[11926] Forked 26570 -(26570) found -[11925] Forked 26571 -(26571) found -[11924] Forked 26572 -(26572) found -[11923] Forked 26573 -(26573) found -[11922] Forked 26574 -(26574) found -[11921] Forked 26575 -(26575) found -[11920] Forked 26576 -(26576) found -[11919] Forked 26577 -(26577) found -[11918] Forked 26578 -(26578) found -[11917] Forked 26579 -(26579) found -[11916] Forked 26580 -(26580) found -[11915] Forked 26581 -(26581) found -[11914] Forked 26582 -(26582) found -[11913] Forked 26583 -(26583) found -[11912] Forked 26584 -(26584) found -[11911] Forked 26585 -(26585) found -[11910] Forked 26586 -(26586) found -[11909] Forked 26587 -(26587) found -[11908] Forked 26588 -(26588) found -[11907] Forked 26589 -(26589) found -[11906] Forked 26590 -(26590) found -[11905] Forked 26591 -(26591) found -[11904] Forked 26592 -(26592) found -[11903] Forked 26593 -(26593) found -[11902] Forked 26594 -(26594) found -[11901] Forked 26595 -(26595) found -[11900] Forked 26596 -(26596) found -[11899] Forked 26597 -(26597) found -[11898] Forked 26598 -(26598) found -[11897] Forked 26599 -(26599) found -[11896] Forked 26600 -(26600) found -[11895] Forked 26601 -(26601) found -[11894] Forked 26602 -(26602) found -[11893] Forked 26603 -(26603) found -[11892] Forked 26604 -(26604) found -[11891] Forked 26605 -(26605) found -[11890] Forked 26606 -(26606) found -[11889] Forked 26607 -(26607) found -[11888] Forked 26608 -(26608) found -[11887] Forked 26609 -[11886] Forked 26610 -(26609) found -(26610) found -[11885] Forked 26611 -[11884] Forked 26612 -(26611) found -(26612) found -[11883] Forked 26613 -[11882] Forked 26614 -(26613) found -(26614) found -[11881] Forked 26615 -[11880] Forked 26616 -(26615) found -(26616) found -[11879] Forked 26617 -[11878] Forked 26618 -(26617) found -(26618) found -[11877] Forked 26619 -[11876] Forked 26620 -(26619) found -(26620) found -[11875] Forked 26621 -[11874] Forked 26622 -(26621) found -(26622) found -[11873] Forked 26623 -[11872] Forked 26624 -(26623) found -(26624) found -[11871] Forked 26625 -[11870] Forked 26626 -(26625) found -(26626) found -[11869] Forked 26627 -[11868] Forked 26628 -(26627) found -(26628) found -[11867] Forked 26629 -[11866] Forked 26630 -(26629) found -(26630) found -[11865] Forked 26631 -[11864] Forked 26632 -(26631) found -(26632) found -[11863] Forked 26633 -[11862] Forked 26634 -(26633) found -(26634) found -[11861] Forked 26635 -[11860] Forked 26636 -(26635) found -(26636) found -[11859] Forked 26637 -[11858] Forked 26638 -(26637) found -(26638) found -[11857] Forked 26639 -[11856] Forked 26640 -(26639) found -(26640) found -[11855] Forked 26641 -[11854] Forked 26642 -(26641) found -(26642) found -[11853] Forked 26643 -[11852] Forked 26644 -(26643) found -(26644) found -[11851] Forked 26645 -[11850] Forked 26646 -(26645) found -(26646) found -[11849] Forked 26647 -[11848] Forked 26648 -(26647) found -(26648) found -[11847] Forked 26649 -[11846] Forked 26650 -(26649) found -(26650) found -[11845] Forked 26651 -[11844] Forked 26652 -(26651) found -(26652) found -[11843] Forked 26653 -(26653) found -[11842] Forked 26654 -(26654) found -[11841] Forked 26655 -(26655) found -[11840] Forked 26656 -(26656) found -[11839] Forked 26657 -(26657) found -[11838] Forked 26658 -(26658) found -[11837] Forked 26659 -(26659) found -[11836] Forked 26660 -(26660) found -[11835] Forked 26661 -(26661) found -[11834] Forked 26662 -(26662) found -[11833] Forked 26663 -(26663) found -[11832] Forked 26664 -(26664) found -[11831] Forked 26665 -(26665) found -[11830] Forked 26666 -(26666) found -[11829] Forked 26667 -(26667) found -[11828] Forked 26668 -(26668) found -[11827] Forked 26669 -(26669) found -[11826] Forked 26670 -(26670) found -[11825] Forked 26671 -(26671) found -[11824] Forked 26672 -(26672) found -[11823] Forked 26673 -(26673) found -[11822] Forked 26674 -(26674) found -[11821] Forked 26675 -(26675) found -[11820] Forked 26676 -(26676) found -[11819] Forked 26677 -(26677) found -[11818] Forked 26678 -(26678) found -[11817] Forked 26679 -(26679) found -[11816] Forked 26680 -(26680) found -[11815] Forked 26681 -(26681) found -[11814] Forked 26682 -(26682) found -[11813] Forked 26683 -(26683) found -[11812] Forked 26684 -(26684) found -[11811] Forked 26685 -(26685) found -[11810] Forked 26686 -(26686) found -[11809] Forked 26687 -(26687) found -[11808] Forked 26688 -(26688) found -[11807] Forked 26689 -[11806] Forked 26690 -(26689) found -(26690) found -[11805] Forked 26691 -[11804] Forked 26692 -(26691) found -(26692) found -[11803] Forked 26693 -[11802] Forked 26694 -(26693) found -(26694) found -[11801] Forked 26695 -[11800] Forked 26696 -(26695) found -(26696) found -[11799] Forked 26697 -[11798] Forked 26698 -(26697) found -(26698) found -[11797] Forked 26699 -[11796] Forked 26700 -(26699) found -(26700) found -[11795] Forked 26701 -[11794] Forked 26702 -(26701) found -(26702) found -[11793] Forked 26703 -[11792] Forked 26704 -(26703) found -(26704) found -[11791] Forked 26705 -[11790] Forked 26706 -(26705) found -(26706) found -[11789] Forked 26707 -[11788] Forked 26708 -(26707) found -(26708) found -[11787] Forked 26709 -[11786] Forked 26710 -(26709) found -(26710) found -[11785] Forked 26711 -[11784] Forked 26712 -(26711) found -(26712) found -[11783] Forked 26713 -[11782] Forked 26714 -(26713) found -(26714) found -[11781] Forked 26715 -[11780] Forked 26716 -(26715) found -(26716) found -[11779] Forked 26717 -[11778] Forked 26718 -(26717) found -(26718) found -[11777] Forked 26719 -[11776] Forked 26720 -(26719) found -(26720) found -[11775] Forked 26721 -[11774] Forked 26722 -(26721) found -(26722) found -[11773] Forked 26723 -[11772] Forked 26724 -(26723) found -(26724) found -[11771] Forked 26725 -[11770] Forked 26726 -(26725) found -(26726) found -[11769] Forked 26727 -[11768] Forked 26728 -(26727) found -(26728) found -[11767] Forked 26729 -[11766] Forked 26730 -(26729) found -(26730) found -[11765] Forked 26731 -[11764] Forked 26732 -(26731) found -(26732) found -[11763] Forked 26733 -(26733) found -[11762] Forked 26734 -(26734) found -[11761] Forked 26735 -(26735) found -[11760] Forked 26736 -(26736) found -[11759] Forked 26737 -(26737) found -[11758] Forked 26738 -(26738) found -[11757] Forked 26739 -(26739) found -[11756] Forked 26740 -(26740) found -[11755] Forked 26741 -(26741) found -[11754] Forked 26742 -(26742) found -[11753] Forked 26743 -(26743) found -[11752] Forked 26744 -(26744) found -[11751] Forked 26745 -(26745) found -[11750] Forked 26746 -(26746) found -[11749] Forked 26747 -(26747) found -[11748] Forked 26748 -(26748) found -[11747] Forked 26749 -(26749) found -[11746] Forked 26750 -(26750) found -[11745] Forked 26751 -(26751) found -[11744] Forked 26752 -(26752) found -[11743] Forked 26753 -(26753) found -[11742] Forked 26754 -(26754) found -[11741] Forked 26755 -(26755) found -[11740] Forked 26756 -(26756) found -[11739] Forked 26757 -(26757) found -[11738] Forked 26758 -(26758) found -[11737] Forked 26759 -(26759) found -[11736] Forked 26760 -(26760) found -[11735] Forked 26761 -(26761) found -[11734] Forked 26762 -(26762) found -[11733] Forked 26763 -(26763) found -[11732] Forked 26764 -(26764) found -[11731] Forked 26765 -(26765) found -[11730] Forked 26766 -(26766) found -[11729] Forked 26767 -(26767) found -[11728] Forked 26768 -(26768) found -[11727] Forked 26769 -[11726] Forked 26770 -(26769) found -(26770) found -[11725] Forked 26771 -[11724] Forked 26772 -(26771) found -(26772) found -[11723] Forked 26773 -(26773) found -[11722] Forked 26774 -[11721] Forked 26775 -(26774) found -(26775) found -[11720] Forked 26776 -[11719] Forked 26777 -(26776) found -(26777) found -[11718] Forked 26778 -[11717] Forked 26779 -(26778) found -(26779) found -[11716] Forked 26780 -[11715] Forked 26781 -(26780) found -(26781) found -[11714] Forked 26782 -[11713] Forked 26783 -(26782) found -(26783) found -[11712] Forked 26784 -[11711] Forked 26785 -(26784) found -(26785) found -[11710] Forked 26786 -[11709] Forked 26787 -(26786) found -(26787) found -[11708] Forked 26788 -[11707] Forked 26789 -(26788) found -(26789) found -[11706] Forked 26790 -[11705] Forked 26791 -(26790) found -(26791) found -[11704] Forked 26792 -[11703] Forked 26793 -(26792) found -(26793) found -[11702] Forked 26794 -[11701] Forked 26795 -(26794) found -(26795) found -[11700] Forked 26796 -[11699] Forked 26797 -(26796) found -(26797) found -[11698] Forked 26798 -[11697] Forked 26799 -(26798) found -(26799) found -[11696] Forked 26800 -[11695] Forked 26801 -(26800) found -(26801) found -[11694] Forked 26802 -[11693] Forked 26803 -(26802) found -(26803) found -[11692] Forked 26804 -[11691] Forked 26805 -(26804) found -(26805) found -[11690] Forked 26806 -[11689] Forked 26807 -(26806) found -(26807) found -[11688] Forked 26808 -[11687] Forked 26809 -(26808) found -(26809) found -[11686] Forked 26810 -[11685] Forked 26811 -(26810) found -(26811) found -[11684] Forked 26812 -(26812) found -[11683] Forked 26813 -(26813) found -[11682] Forked 26814 -(26814) found -[11681] Forked 26815 -(26815) found -[11680] Forked 26816 -(26816) found -[11679] Forked 26817 -(26817) found -[11678] Forked 26818 -(26818) found -[11677] Forked 26819 -(26819) found -[11676] Forked 26820 -(26820) found -[11675] Forked 26822 -(26822) found -[11674] Forked 26823 -(26823) found -[11673] Forked 26824 -(26824) found -[11672] Forked 26825 -(26825) found -[11671] Forked 26826 -(26826) found -[11670] Forked 26827 -(26827) found -[11669] Forked 26828 -(26828) found -[11668] Forked 26829 -(26829) found -[11667] Forked 26830 -(26830) found -[11666] Forked 26831 -(26831) found -[11665] Forked 26832 -(26832) found -[11664] Forked 26833 -(26833) found -[11663] Forked 26834 -(26834) found -[11662] Forked 26835 -(26835) found -[11661] Forked 26836 -(26836) found -[11660] Forked 26837 -(26837) found -[11659] Forked 26838 -(26838) found -[11658] Forked 26839 -(26839) found -[11657] Forked 26840 -(26840) found -[11656] Forked 26841 -(26841) found -[11655] Forked 26842 -(26842) found -[11654] Forked 26843 -(26843) found -[11653] Forked 26844 -(26844) found -[11652] Forked 26845 -(26845) found -[11651] Forked 26846 -(26846) found -[11650] Forked 26847 -(26847) found -[11649] Forked 26848 -(26848) found -[11648] Forked 26849 -[11647] Forked 26850 -(26849) found -(26850) found -[11646] Forked 26851 -[11645] Forked 26852 -(26851) found -(26852) found -[11644] Forked 26853 -[11643] Forked 26854 -(26853) found -(26854) found -[11642] Forked 26855 -[11641] Forked 26856 -(26855) found -(26856) found -[11640] Forked 26857 -[11639] Forked 26858 -(26857) found -(26858) found -[11638] Forked 26859 -[11637] Forked 26860 -(26859) found -(26860) found -[11636] Forked 26861 -[11635] Forked 26862 -(26861) found -(26862) found -[11634] Forked 26863 -[11633] Forked 26864 -(26863) found -(26864) found -[11632] Forked 26865 -[11631] Forked 26866 -(26865) found -(26866) found -[11630] Forked 26867 -[11629] Forked 26868 -(26867) found -(26868) found -[11628] Forked 26869 -[11627] Forked 26870 -(26869) found -(26870) found -[11626] Forked 26871 -[11625] Forked 26872 -(26871) found -(26872) found -[11624] Forked 26873 -[11623] Forked 26874 -(26873) found -(26874) found -[11622] Forked 26875 -[11621] Forked 26876 -(26875) found -(26876) found -[11620] Forked 26877 -[11619] Forked 26878 -(26877) found -(26878) found -[11618] Forked 26879 -[11617] Forked 26880 -(26879) found -(26880) found -[11616] Forked 26881 -[11615] Forked 26882 -(26881) found -(26882) found -[11614] Forked 26883 -[11613] Forked 26884 -(26883) found -(26884) found -[11612] Forked 26885 -[11611] Forked 26886 -(26885) found -(26886) found -[11610] Forked 26887 -[11609] Forked 26888 -(26887) found -(26888) found -[11608] Forked 26889 -[11607] Forked 26890 -(26889) found -(26890) found -[11606] Forked 26891 -[11605] Forked 26892 -(26891) found -(26892) found -[11604] Forked 26893 -(26893) found -[11603] Forked 26894 -(26894) found -[11602] Forked 26895 -(26895) found -[11601] Forked 26896 -(26896) found -[11600] Forked 26897 -(26897) found -[11599] Forked 26898 -(26898) found -[11598] Forked 26899 -(26899) found -[11597] Forked 26900 -(26900) found -[11596] Forked 26901 -(26901) found -[11595] Forked 26902 -(26902) found -[11594] Forked 26903 -(26903) found -[11593] Forked 26904 -(26904) found -[11592] Forked 26905 -(26905) found -[11591] Forked 26906 -(26906) found -[11590] Forked 26907 -(26907) found -[11589] Forked 26908 -(26908) found -[11588] Forked 26909 -(26909) found -[11587] Forked 26910 -(26910) found -[11586] Forked 26911 -(26911) found -[11585] Forked 26912 -(26912) found -[11584] Forked 26913 -(26913) found -[11583] Forked 26914 -(26914) found -[11582] Forked 26915 -(26915) found -[11581] Forked 26916 -(26916) found -[11580] Forked 26917 -(26917) found -[11579] Forked 26918 -(26918) found -[11578] Forked 26919 -(26919) found -[11577] Forked 26920 -(26920) found -[11576] Forked 26921 -(26921) found -[11575] Forked 26922 -(26922) found -[11574] Forked 26923 -(26923) found -[11573] Forked 26924 -(26924) found -[11572] Forked 26925 -(26925) found -[11571] Forked 26926 -(26926) found -[11570] Forked 26927 -(26927) found -[11569] Forked 26928 -(26928) found -[11568] Forked 26929 -(26929) found -[11567] Forked 26930 -[11566] Forked 26931 -(26930) found -(26931) found -[11565] Forked 26932 -[11564] Forked 26933 -(26932) found -(26933) found -[11563] Forked 26934 -[11562] Forked 26935 -(26934) found -(26935) found -[11561] Forked 26936 -[11560] Forked 26937 -(26936) found -(26937) found -[11559] Forked 26938 -[11558] Forked 26939 -(26938) found -(26939) found -[11557] Forked 26940 -[11556] Forked 26941 -(26940) found -(26941) found -[11555] Forked 26942 -[11554] Forked 26943 -(26942) found -(26943) found -[11553] Forked 26944 -[11552] Forked 26945 -(26944) found -(26945) found -[11551] Forked 26946 -[11550] Forked 26947 -(26946) found -(26947) found -[11549] Forked 26948 -[11548] Forked 26949 -(26948) found -(26949) found -[11547] Forked 26950 -[11546] Forked 26951 -(26950) found -(26951) found -[11545] Forked 26952 -[11544] Forked 26953 -(26952) found -(26953) found -[11543] Forked 26954 -[11542] Forked 26955 -(26954) found -(26955) found -[11541] Forked 26956 -[11540] Forked 26957 -(26957) found -(26956) found -[11539] Forked 26958 -(26958) found -[11538] Forked 26959 -(26959) found -[11537] Forked 26960 -(26960) found -[11536] Forked 26961 -(26961) found -[11535] Forked 26962 -(26962) found -[11534] Forked 26963 -[11533] Forked 26964 -(26963) found -(26964) found -[11532] Forked 26965 -[11531] Forked 26966 -(26965) found -(26966) found -[11530] Forked 26967 -[11529] Forked 26968 -(26967) found -(26968) found -[11528] Forked 26969 -[11527] Forked 26970 -(26969) found -(26970) found -[11526] Forked 26971 -[11525] Forked 26972 -(26971) found -(26972) found -[11524] Forked 26973 -[11523] Forked 26974 -(26973) found -(26974) found -[11522] Forked 26975 -[11521] Forked 26976 -(26975) found -(26976) found -[11520] Forked 26977 -[11519] Forked 26978 -(26977) found -(26978) found -[11518] Forked 26979 -[11517] Forked 26980 -(26979) found -(26980) found -[11516] Forked 26981 -[11515] Forked 26982 -(26981) found -(26982) found -[11514] Forked 26983 -[11513] Forked 26984 -(26983) found -(26984) found -[11512] Forked 26985 -[11511] Forked 26986 -(26985) found -(26986) found -[11510] Forked 26987 -[11509] Forked 26988 -(26987) found -(26988) found -[11508] Forked 26989 -[11507] Forked 26990 -(26989) found -(26990) found -[11506] Forked 26991 -[11505] Forked 26992 -(26991) found -(26992) found -[11504] Forked 26993 -[11503] Forked 26994 -(26993) found -(26994) found -[11502] Forked 26995 -[11501] Forked 26996 -(26995) found -(26996) found -[11500] Forked 26997 -[11499] Forked 26998 -(26997) found -(26998) found -[11498] Forked 26999 -[11497] Forked 27000 -(26999) found -(27000) found -[11496] Forked 27001 -[11495] Forked 27002 -(27001) found -(27002) found -[11494] Forked 27003 -[11493] Forked 27004 -(27003) found -(27004) found -[11492] Forked 27005 -[11491] Forked 27006 -(27005) found -(27006) found -[11490] Forked 27007 -[11489] Forked 27008 -(27007) found -(27008) found -[11488] Forked 27009 -[11487] Forked 27010 -(27009) found -(27010) found -[11486] Forked 27011 -[11485] Forked 27012 -(27011) found -(27012) found -[11484] Forked 27013 -[11483] Forked 27014 -(27013) found -(27014) found -[11482] Forked 27015 -(27015) found -[11481] Forked 27016 -(27016) found -[11480] Forked 27017 -(27017) found -[11479] Forked 27018 -(27018) found -[11478] Forked 27019 -(27019) found -[11477] Forked 27020 -(27020) found -[11476] Forked 27021 -(27021) found -[11475] Forked 27022 -(27022) found -[11474] Forked 27023 -(27023) found -[11473] Forked 27024 -(27024) found -[11472] Forked 27025 -(27025) found -[11471] Forked 27026 -(27026) found -[11470] Forked 27027 -(27027) found -[11469] Forked 27028 -(27028) found -[11468] Forked 27029 -(27029) found -[11467] Forked 27030 -(27030) found -[11466] Forked 27031 -(27031) found -[11465] Forked 27032 -(27032) found -[11464] Forked 27033 -(27033) found -[11463] Forked 27034 -(27034) found -[11462] Forked 27035 -(27035) found -[11461] Forked 27036 -(27036) found -[11460] Forked 27037 -(27037) found -[11459] Forked 27038 -(27038) found -[11458] Forked 27039 -(27039) found -[11457] Forked 27040 -(27040) found -[11456] Forked 27041 -(27041) found -[11455] Forked 27042 -(27042) found -[11454] Forked 27043 -(27043) found -[11453] Forked 27044 -(27044) found -[11452] Forked 27045 -(27045) found -[11451] Forked 27046 -(27046) found -[11450] Forked 27047 -(27047) found -[11449] Forked 27048 -(27048) found -[11448] Forked 27049 -[11447] Forked 27050 -(27049) found -(27050) found -[11446] Forked 27051 -[11445] Forked 27052 -(27051) found -(27052) found -[11444] Forked 27053 -[11443] Forked 27054 -(27053) found -(27054) found -[11442] Forked 27055 -[11441] Forked 27056 -(27055) found -(27056) found -[11440] Forked 27057 -[11439] Forked 27058 -(27057) found -(27058) found -[11438] Forked 27059 -[11437] Forked 27060 -(27059) found -(27060) found -[11436] Forked 27061 -[11435] Forked 27062 -(27061) found -(27062) found -[11434] Forked 27063 -[11433] Forked 27064 -(27063) found -(27064) found -[11432] Forked 27065 -[11431] Forked 27066 -(27065) found -(27066) found -[11430] Forked 27067 -[11429] Forked 27068 -(27067) found -(27068) found -[11428] Forked 27069 -[11427] Forked 27070 -(27069) found -(27070) found -[11426] Forked 27071 -[11425] Forked 27072 -(27071) found -(27072) found -[11424] Forked 27073 -[11423] Forked 27074 -(27073) found -(27074) found -[11422] Forked 27075 -[11421] Forked 27076 -(27075) found -(27076) found -[11420] Forked 27077 -[11419] Forked 27078 -(27078) found -(27077) found -[11418] Forked 27079 -(27079) found -[11417] Forked 27080 -(27080) found -[11416] Forked 27081 -(27081) found -[11415] Forked 27082 -(27082) found -[11414] Forked 27083 -(27083) found -[11413] Forked 27084 -(27084) found -[11412] Forked 27085 -(27085) found -[11411] Forked 27086 -(27086) found -[11410] Forked 27087 -(27087) found -[11409] Forked 27088 -(27088) found -[11408] Forked 27089 -(27089) found -[11407] Forked 27090 -(27090) found -[11406] Forked 27091 -(27091) found -[11405] Forked 27092 -(27092) found -[11404] Forked 27093 -(27093) found -[11403] Forked 27094 -(27094) found -[11402] Forked 27095 -(27095) found -[11401] Forked 27096 -(27096) found -[11400] Forked 27097 -(27097) found -[11399] Forked 27098 -(27098) found -[11398] Forked 27099 -(27099) found -[11397] Forked 27100 -(27100) found -[11396] Forked 27101 -(27101) found -[11395] Forked 27102 -(27102) found -[11394] Forked 27103 -(27103) found -[11393] Forked 27104 -(27104) found -[11392] Forked 27105 -(27105) found -[11391] Forked 27106 -(27106) found -[11390] Forked 27107 -(27107) found -[11389] Forked 27108 -(27108) found -[11388] Forked 27109 -(27109) found -[11387] Forked 27110 -(27110) found -[11386] Forked 27111 -(27111) found -[11385] Forked 27112 -(27112) found -[11384] Forked 27113 -(27113) found -[11383] Forked 27114 -(27114) found -[11382] Forked 27115 -(27115) found -[11381] Forked 27116 -(27116) found -[11380] Forked 27117 -(27117) found -[11379] Forked 27118 -(27118) found -[11378] Forked 27119 -(27119) found -[11377] Forked 27120 -(27120) found -[11376] Forked 27121 -(27121) found -[11375] Forked 27122 -(27122) found -[11374] Forked 27123 -(27123) found -[11373] Forked 27124 -(27124) found -[11372] Forked 27125 -(27125) found -[11371] Forked 27126 -[11370] Forked 27127 -(27126) found -(27127) found -[11369] Forked 27128 -[11368] Forked 27129 -(27128) found -(27129) found -[11367] Forked 27130 -[11366] Forked 27131 -(27130) found -(27131) found -[11365] Forked 27132 -[11364] Forked 27133 -(27132) found -(27133) found -[11363] Forked 27134 -[11362] Forked 27135 -(27134) found -(27135) found -[11361] Forked 27136 -[11360] Forked 27137 -(27136) found -(27137) found -[11359] Forked 27138 -[11358] Forked 27139 -(27138) found -(27139) found -[11357] Forked 27140 -[11356] Forked 27141 -(27140) found -(27141) found -[11355] Forked 27142 -[11354] Forked 27143 -(27142) found -(27143) found -[11353] Forked 27144 -[11352] Forked 27145 -(27144) found -(27145) found -[11351] Forked 27146 -[11350] Forked 27147 -(27146) found -(27147) found -[11349] Forked 27148 -[11348] Forked 27149 -(27148) found -(27149) found -[11347] Forked 27150 -[11346] Forked 27151 -(27150) found -(27151) found -[11345] Forked 27152 -[11344] Forked 27153 -(27152) found -(27153) found -[11343] Forked 27154 -[11342] Forked 27155 -(27154) found -(27155) found -[11341] Forked 27156 -[11340] Forked 27157 -(27156) found -(27157) found -[11339] Forked 27158 -[11338] Forked 27159 -(27158) found -(27159) found -[11337] Forked 27160 -[11336] Forked 27161 -(27160) found -(27161) found -[11335] Forked 27162 -[11334] Forked 27163 -(27162) found -(27163) found -[11333] Forked 27164 -[11332] Forked 27165 -(27164) found -(27165) found -[11331] Forked 27166 -[11330] Forked 27167 -(27166) found -(27167) found -[11329] Forked 27168 -[11328] Forked 27169 -(27168) found -(27169) found -[11327] Forked 27170 -[11326] Forked 27171 -(27170) found -(27171) found -[11325] Forked 27172 -(27172) found -[11324] Forked 27173 -(27173) found -[11323] Forked 27174 -(27174) found -[11322] Forked 27175 -(27175) found -[11321] Forked 27176 -(27176) found -[11320] Forked 27177 -(27177) found -[11319] Forked 27178 -(27178) found -[11318] Forked 27179 -(27179) found -[11317] Forked 27180 -(27180) found -[11316] Forked 27181 -(27181) found -[11315] Forked 27182 -(27182) found -[11314] Forked 27183 -(27183) found -[11313] Forked 27184 -(27184) found -[11312] Forked 27185 -(27185) found -[11311] Forked 27186 -(27186) found -[11310] Forked 27187 -(27187) found -[11309] Forked 27188 -(27188) found -[11308] Forked 27189 -(27189) found -[11307] Forked 27190 -(27190) found -[11306] Forked 27191 -(27191) found -[11305] Forked 27192 -(27192) found -[11304] Forked 27193 -(27193) found -[11303] Forked 27194 -(27194) found -[11302] Forked 27195 -(27195) found -[11301] Forked 27196 -(27196) found -[11300] Forked 27197 -(27197) found -[11299] Forked 27198 -(27198) found -[11298] Forked 27199 -(27199) found -[11297] Forked 27200 -(27200) found -[11296] Forked 27201 -(27201) found -[11295] Forked 27202 -(27202) found -[11294] Forked 27203 -(27203) found -[11293] Forked 27204 -(27204) found -[11292] Forked 27205 -(27205) found -[11291] Forked 27206 -[11290] Forked 27207 -(27206) found -(27207) found -[11289] Forked 27208 -[11288] Forked 27209 -(27208) found -(27209) found -[11287] Forked 27210 -[11286] Forked 27211 -(27210) found -(27211) found -[11285] Forked 27212 -[11284] Forked 27213 -(27212) found -(27213) found -[11283] Forked 27214 -[11282] Forked 27215 -(27214) found -(27215) found -[11281] Forked 27216 -[11280] Forked 27217 -(27216) found -(27217) found -[11279] Forked 27218 -[11278] Forked 27219 -(27218) found -(27219) found -[11277] Forked 27220 -[11276] Forked 27221 -(27220) found -(27221) found -[11275] Forked 27222 -[11274] Forked 27223 -(27222) found -(27223) found -[11273] Forked 27224 -[11272] Forked 27225 -(27224) found -(27225) found -[11271] Forked 27226 -[11270] Forked 27227 -(27226) found -(27227) found -[11269] Forked 27228 -[11268] Forked 27229 -(27228) found -(27229) found -[11267] Forked 27230 -[11266] Forked 27231 -(27230) found -(27231) found -[11265] Forked 27232 -[11264] Forked 27233 -(27232) found -(27233) found -[11263] Forked 27234 -[11262] Forked 27235 -(27234) found -(27235) found -[11261] Forked 27236 -[11260] Forked 27237 -(27236) found -(27237) found -[11259] Forked 27238 -[11258] Forked 27239 -(27238) found -(27239) found -[11257] Forked 27240 -[11256] Forked 27241 -(27240) found -(27241) found -[11255] Forked 27242 -[11254] Forked 27243 -(27242) found -(27243) found -[11253] Forked 27244 -[11252] Forked 27245 -(27244) found -(27245) found -[11251] Forked 27246 -[11250] Forked 27247 -(27246) found -(27247) found -[11249] Forked 27248 -[11248] Forked 27249 -(27248) found -(27249) found -[11247] Forked 27250 -[11246] Forked 27251 -(27250) found -(27251) found -[11245] Forked 27252 -(27252) found -[11244] Forked 27253 -(27253) found -[11243] Forked 27254 -(27254) found -[11242] Forked 27255 -(27255) found -[11241] Forked 27256 -(27256) found -[11240] Forked 27257 -(27257) found -[11239] Forked 27258 -(27258) found -[11238] Forked 27259 -(27259) found -[11237] Forked 27260 -(27260) found -[11236] Forked 27261 -(27261) found -[11235] Forked 27262 -(27262) found -[11234] Forked 27263 -(27263) found -[11233] Forked 27264 -(27264) found -[11232] Forked 27265 -(27265) found -[11231] Forked 27266 -(27266) found -[11230] Forked 27267 -(27267) found -[11229] Forked 27268 -(27268) found -[11228] Forked 27269 -(27269) found -[11227] Forked 27270 -(27270) found -[11226] Forked 27271 -(27271) found -[11225] Forked 27272 -(27272) found -[11224] Forked 27273 -(27273) found -[11223] Forked 27274 -(27274) found -[11222] Forked 27275 -(27275) found -[11221] Forked 27276 -(27276) found -[11220] Forked 27277 -(27277) found -[11219] Forked 27278 -(27278) found -[11218] Forked 27279 -(27279) found -[11217] Forked 27280 -(27280) found -[11216] Forked 27281 -(27281) found -[11215] Forked 27282 -(27282) found -[11214] Forked 27283 -(27283) found -[11213] Forked 27284 -(27284) found -[11212] Forked 27285 -(27285) found -[11211] Forked 27286 -(27286) found -[11210] Forked 27287 -[11209] Forked 27288 -(27287) found -(27288) found -[11208] Forked 27289 -[11207] Forked 27290 -(27289) found -(27290) found -[11206] Forked 27291 -[11205] Forked 27292 -(27291) found -(27292) found -[11204] Forked 27293 -[11203] Forked 27294 -(27293) found -(27294) found -[11202] Forked 27295 -[11201] Forked 27296 -(27295) found -(27296) found -[11200] Forked 27297 -[11199] Forked 27298 -(27297) found -(27298) found -[11198] Forked 27299 -[11197] Forked 27300 -(27299) found -(27300) found -[11196] Forked 27301 -[11195] Forked 27302 -(27301) found -(27302) found -[11194] Forked 27303 -[11193] Forked 27304 -(27303) found -(27304) found -[11192] Forked 27305 -[11191] Forked 27306 -(27305) found -(27306) found -[11190] Forked 27307 -[11189] Forked 27308 -(27307) found -(27308) found -[11188] Forked 27309 -[11187] Forked 27310 -(27309) found -(27310) found -[11186] Forked 27311 -[11185] Forked 27312 -(27311) found -(27312) found -[11184] Forked 27313 -[11183] Forked 27314 -(27313) found -(27314) found -[11182] Forked 27315 -[11181] Forked 27316 -(27315) found -(27316) found -[11180] Forked 27317 -[11179] Forked 27318 -(27317) found -(27318) found -[11178] Forked 27319 -[11177] Forked 27320 -(27319) found -(27320) found -[11176] Forked 27321 -[11175] Forked 27322 -(27321) found -(27322) found -[11174] Forked 27323 -[11173] Forked 27324 -(27323) found -(27324) found -[11172] Forked 27325 -[11171] Forked 27326 -(27325) found -(27326) found -[11170] Forked 27327 -[11169] Forked 27328 -(27327) found -(27328) found -[11168] Forked 27329 -[11167] Forked 27330 -(27329) found -(27330) found -[11166] Forked 27331 -[11165] Forked 27332 -(27331) found -(27332) found -[11164] Forked 27333 -[11163] Forked 27334 -(27333) found -(27334) found -[11162] Forked 27335 -[11161] Forked 27336 -(27335) found -(27336) found -[11160] Forked 27337 -[11159] Forked 27338 -(27337) found -(27338) found -[11158] Forked 27339 -[11157] Forked 27340 -(27339) found -(27340) found -[11156] Forked 27341 -[11155] Forked 27342 -(27341) found -(27342) found -[11154] Forked 27343 -[11153] Forked 27344 -(27343) found -(27344) found -[11152] Forked 27345 -[11151] Forked 27346 -(27345) found -(27346) found -[11150] Forked 27347 -[11149] Forked 27348 -(27347) found -(27348) found -[11148] Forked 27349 -[11147] Forked 27350 -(27349) found -(27350) found -[11146] Forked 27351 -[11145] Forked 27352 -(27351) found -(27352) found -[11144] Forked 27353 -[11143] Forked 27354 -(27353) found -(27354) found -[11142] Forked 27355 -[11141] Forked 27356 -(27355) found -(27356) found -[11140] Forked 27357 -[11139] Forked 27358 -(27357) found -(27358) found -[11138] Forked 27359 -[11137] Forked 27360 -(27359) found -(27360) found -[11136] Forked 27361 -[11135] Forked 27362 -(27361) found -(27362) found -[11134] Forked 27363 -[11133] Forked 27364 -(27363) found -(27364) found -[11132] Forked 27365 -[11131] Forked 27366 -(27365) found -(27366) found -[11130] Forked 27367 -[11129] Forked 27368 -(27367) found -(27368) found -[11128] Forked 27369 -[11127] Forked 27370 -(27369) found -(27370) found -[11126] Forked 27371 -[11125] Forked 27372 -(27371) found -(27372) found -[11124] Forked 27373 -[11123] Forked 27374 -(27373) found -(27374) found -[11122] Forked 27375 -[11121] Forked 27376 -(27375) found -(27376) found -[11120] Forked 27377 -[11119] Forked 27378 -(27377) found -(27378) found -[11118] Forked 27379 -[11117] Forked 27380 -(27379) found -(27380) found -[11116] Forked 27381 -[11115] Forked 27382 -(27381) found -(27382) found -[11114] Forked 27383 -[11113] Forked 27384 -(27383) found -(27384) found -[11112] Forked 27385 -[11111] Forked 27386 -(27385) found -(27386) found -[11110] Forked 27387 -[11109] Forked 27388 -(27387) found -(27388) found -[11108] Forked 27389 -[11107] Forked 27390 -(27389) found -(27390) found -[11106] Forked 27391 -[11105] Forked 27392 -(27391) found -(27392) found -[11104] Forked 27393 -[11103] Forked 27394 -(27393) found -(27394) found -[11102] Forked 27395 -[11101] Forked 27396 -(27395) found -(27396) found -[11100] Forked 27397 -[11099] Forked 27398 -(27397) found -(27398) found -[11098] Forked 27399 -[11097] Forked 27400 -(27399) found -(27400) found -[11096] Forked 27401 -[11095] Forked 27402 -(27401) found -(27402) found -[11094] Forked 27403 -[11093] Forked 27404 -(27403) found -(27404) found -[11092] Forked 27405 -[11091] Forked 27406 -(27405) found -(27406) found -[11090] Forked 27407 -[11089] Forked 27408 -(27407) found -(27408) found -[11088] Forked 27409 -[11087] Forked 27410 -(27409) found -(27410) found -[11086] Forked 27411 -[11085] Forked 27412 -(27411) found -(27412) found -[11084] Forked 27413 -[11083] Forked 27414 -(27413) found -(27414) found -[11082] Forked 27415 -[11081] Forked 27416 -(27415) found -(27416) found -[11080] Forked 27417 -[11079] Forked 27418 -(27417) found -(27418) found -[11078] Forked 27419 -[11077] Forked 27420 -(27419) found -(27420) found -[11076] Forked 27421 -[11075] Forked 27422 -(27421) found -(27422) found -[11074] Forked 27423 -(27423) found -[11073] Forked 27424 -(27424) found -[11072] Forked 27425 -(27425) found -[11071] Forked 27426 -(27426) found -[11070] Forked 27427 -(27427) found -[11069] Forked 27428 -(27428) found -[11068] Forked 27429 -(27429) found -[11067] Forked 27430 -(27430) found -[11066] Forked 27431 -(27431) found -[11065] Forked 27432 -(27432) found -[11064] Forked 27433 -(27433) found -[11063] Forked 27434 -(27434) found -[11062] Forked 27435 -(27435) found -[11061] Forked 27436 -(27436) found -[11060] Forked 27437 -(27437) found -[11059] Forked 27438 -(27438) found -[11058] Forked 27439 -(27439) found -[11057] Forked 27440 -(27440) found -[11056] Forked 27441 -(27441) found -[11055] Forked 27442 -(27442) found -[11054] Forked 27443 -(27443) found -[11053] Forked 27444 -(27444) found -[11052] Forked 27445 -(27445) found -[11051] Forked 27446 -(27446) found -[11050] Forked 27447 -(27447) found -[11049] Forked 27448 -(27448) found -[11048] Forked 27449 -(27449) found -[11047] Forked 27450 -(27450) found -[11046] Forked 27451 -(27451) found -[11045] Forked 27452 -(27452) found -[11044] Forked 27453 -(27453) found -[11043] Forked 27454 -(27454) found -[11042] Forked 27455 -(27455) found -[11041] Forked 27456 -(27456) found -[11040] Forked 27457 -[11039] Forked 27458 -(27457) found -(27458) found -[11038] Forked 27459 -[11037] Forked 27460 -(27459) found -(27460) found -[11036] Forked 27461 -[11035] Forked 27462 -(27461) found -(27462) found -[11034] Forked 27463 -[11033] Forked 27464 -(27463) found -(27464) found -[11032] Forked 27465 -[11031] Forked 27466 -(27465) found -(27466) found -[11030] Forked 27467 -[11029] Forked 27468 -(27467) found -(27468) found -[11028] Forked 27469 -[11027] Forked 27470 -(27469) found -(27470) found -[11026] Forked 27471 -[11025] Forked 27472 -(27471) found -(27472) found -[11024] Forked 27473 -[11023] Forked 27474 -(27473) found -(27474) found -[11022] Forked 27475 -[11021] Forked 27476 -(27475) found -(27476) found -[11020] Forked 27477 -[11019] Forked 27478 -(27477) found -(27478) found -[11018] Forked 27479 -[11017] Forked 27480 -(27479) found -(27480) found -[11016] Forked 27481 -[11015] Forked 27482 -(27481) found -(27482) found -[11014] Forked 27483 -[11013] Forked 27484 -(27483) found -(27484) found -[11012] Forked 27485 -[11011] Forked 27486 -(27485) found -(27486) found -[11010] Forked 27487 -[11009] Forked 27488 -(27487) found -(27488) found -[11008] Forked 27489 -[11007] Forked 27490 -(27489) found -(27490) found -[11006] Forked 27491 -[11005] Forked 27492 -(27491) found -(27492) found -[11004] Forked 27493 -[11003] Forked 27494 -(27493) found -(27494) found -[11002] Forked 27495 -[11001] Forked 27496 -(27495) found -(27496) found -[11000] Forked 27497 -[10999] Forked 27498 -(27497) found -(27498) found -[10998] Forked 27499 -[10997] Forked 27500 -(27499) found -(27500) found -[10996] Forked 27501 -[10995] Forked 27502 -(27501) found -(27502) found -[10994] Forked 27503 -(27503) found -[10993] Forked 27504 -(27504) found -[10992] Forked 27505 -(27505) found -[10991] Forked 27506 -(27506) found -[10990] Forked 27507 -(27507) found -[10989] Forked 27508 -(27508) found -[10988] Forked 27509 -(27509) found -[10987] Forked 27510 -(27510) found -[10986] Forked 27511 -(27511) found -[10985] Forked 27512 -(27512) found -[10984] Forked 27513 -(27513) found -[10983] Forked 27514 -(27514) found -[10982] Forked 27515 -(27515) found -[10981] Forked 27516 -(27516) found -[10980] Forked 27517 -(27517) found -[10979] Forked 27518 -(27518) found -[10978] Forked 27519 -(27519) found -[10977] Forked 27520 -(27520) found -[10976] Forked 27521 -(27521) found -[10975] Forked 27522 -(27522) found -[10974] Forked 27523 -(27523) found -[10973] Forked 27524 -(27524) found -[10972] Forked 27525 -(27525) found -[10971] Forked 27526 -(27526) found -[10970] Forked 27527 -(27527) found -[10969] Forked 27528 -(27528) found -[10968] Forked 27529 -(27529) found -[10967] Forked 27530 -(27530) found -[10966] Forked 27531 -(27531) found -[10965] Forked 27532 -(27532) found -[10964] Forked 27533 -(27533) found -[10963] Forked 27534 -(27534) found -[10962] Forked 27535 -(27535) found -[10961] Forked 27536 -(27536) found -[10960] Forked 27537 -[10959] Forked 27538 -(27537) found -(27538) found -[10958] Forked 27539 -[10957] Forked 27540 -(27539) found -(27540) found -[10956] Forked 27541 -[10955] Forked 27542 -(27541) found -(27542) found -[10954] Forked 27543 -[10953] Forked 27544 -(27543) found -(27544) found -[10952] Forked 27545 -[10951] Forked 27546 -(27545) found -(27546) found -[10950] Forked 27547 -[10949] Forked 27548 -(27547) found -(27548) found -[10948] Forked 27549 -[10947] Forked 27550 -(27549) found -(27550) found -[10946] Forked 27551 -[10945] Forked 27552 -(27551) found -(27552) found -[10944] Forked 27553 -[10943] Forked 27554 -(27553) found -(27554) found -[10942] Forked 27555 -[10941] Forked 27556 -(27555) found -(27556) found -[10940] Forked 27557 -[10939] Forked 27558 -(27557) found -(27558) found -[10938] Forked 27559 -[10937] Forked 27560 -(27559) found -(27560) found -[10936] Forked 27561 -[10935] Forked 27562 -(27561) found -(27562) found -[10934] Forked 27563 -[10933] Forked 27564 -(27563) found -(27564) found -[10932] Forked 27565 -[10931] Forked 27566 -(27565) found -(27566) found -[10930] Forked 27567 -[10929] Forked 27568 -(27567) found -(27568) found -[10928] Forked 27569 -[10927] Forked 27570 -(27569) found -(27570) found -[10926] Forked 27571 -[10925] Forked 27572 -(27571) found -(27572) found -[10924] Forked 27573 -[10923] Forked 27574 -(27573) found -(27574) found -[10922] Forked 27575 -[10921] Forked 27576 -(27575) found -(27576) found -[10920] Forked 27577 -[10919] Forked 27578 -(27577) found -(27578) found -[10918] Forked 27579 -[10917] Forked 27580 -(27579) found -(27580) found -[10916] Forked 27581 -[10915] Forked 27582 -(27581) found -(27582) found -[10914] Forked 27583 -(27583) found -[10913] Forked 27584 -(27584) found -[10912] Forked 27585 -(27585) found -[10911] Forked 27586 -(27586) found -[10910] Forked 27587 -(27587) found -[10909] Forked 27588 -(27588) found -[10908] Forked 27589 -(27589) found -[10907] Forked 27590 -(27590) found -[10906] Forked 27591 -(27591) found -[10905] Forked 27592 -(27592) found -[10904] Forked 27593 -(27593) found -[10903] Forked 27594 -(27594) found -[10902] Forked 27595 -(27595) found -[10901] Forked 27596 -(27596) found -[10900] Forked 27597 -(27597) found -[10899] Forked 27598 -(27598) found -[10898] Forked 27599 -(27599) found -[10897] Forked 27600 -(27600) found -[10896] Forked 27601 -(27601) found -[10895] Forked 27602 -(27602) found -[10894] Forked 27603 -(27603) found -[10893] Forked 27604 -(27604) found -[10892] Forked 27605 -(27605) found -[10891] Forked 27606 -(27606) found -[10890] Forked 27607 -(27607) found -[10889] Forked 27608 -(27608) found -[10888] Forked 27609 -(27609) found -[10887] Forked 27610 -(27610) found -[10886] Forked 27611 -(27611) found -[10885] Forked 27612 -(27612) found -[10884] Forked 27613 -(27613) found -[10883] Forked 27614 -(27614) found -[10882] Forked 27615 -(27615) found -[10881] Forked 27616 -(27616) found -[10880] Forked 27617 -(27617) found -[10879] Forked 27618 -[10878] Forked 27619 -(27618) found -(27619) found -[10877] Forked 27620 -[10876] Forked 27621 -(27620) found -(27621) found -[10875] Forked 27622 -[10874] Forked 27623 -(27622) found -(27623) found -[10873] Forked 27624 -[10872] Forked 27625 -(27624) found -(27625) found -[10871] Forked 27626 -[10870] Forked 27627 -(27626) found -(27627) found -[10869] Forked 27628 -[10868] Forked 27629 -(27628) found -(27629) found -[10867] Forked 27630 -[10866] Forked 27631 -(27630) found -(27631) found -[10865] Forked 27632 -[10864] Forked 27633 -(27632) found -(27633) found -[10863] Forked 27634 -[10862] Forked 27635 -(27634) found -(27635) found -[10861] Forked 27636 -[10860] Forked 27637 -(27636) found -(27637) found -[10859] Forked 27638 -[10858] Forked 27639 -(27638) found -(27639) found -[10857] Forked 27640 -[10856] Forked 27641 -(27640) found -(27641) found -[10855] Forked 27642 -[10854] Forked 27643 -(27642) found -(27643) found -[10853] Forked 27644 -[10852] Forked 27645 -(27644) found -(27645) found -[10851] Forked 27646 -[10850] Forked 27647 -(27646) found -(27647) found -[10849] Forked 27648 -[10848] Forked 27649 -(27648) found -(27649) found -[10847] Forked 27650 -[10846] Forked 27651 -(27650) found -(27651) found -[10845] Forked 27652 -[10844] Forked 27653 -(27652) found -(27653) found -[10843] Forked 27654 -[10842] Forked 27655 -(27654) found -(27655) found -[10841] Forked 27656 -[10840] Forked 27657 -(27656) found -(27657) found -[10839] Forked 27658 -[10838] Forked 27659 -(27658) found -(27659) found -[10837] Forked 27660 -[10836] Forked 27661 -(27660) found -(27661) found -[10835] Forked 27662 -[10834] Forked 27663 -(27662) found -(27663) found -[10833] Forked 27664 -[10832] Forked 27665 -(27664) found -(27665) found -[10831] Forked 27666 -[10830] Forked 27667 -(27666) found -(27667) found -[10829] Forked 27668 -[10828] Forked 27669 -(27668) found -(27669) found -[10827] Forked 27670 -[10826] Forked 27671 -(27670) found -(27671) found -[10825] Forked 27672 -[10824] Forked 27673 -(27672) found -(27673) found -[10823] Forked 27674 -[10822] Forked 27675 -(27674) found -(27675) found -[10821] Forked 27676 -[10820] Forked 27677 -(27676) found -(27677) found -[10819] Forked 27678 -[10818] Forked 27679 -(27678) found -(27679) found -[10817] Forked 27680 -[10816] Forked 27681 -(27680) found -(27681) found -[10815] Forked 27682 -[10814] Forked 27683 -(27682) found -(27683) found -[10813] Forked 27684 -[10812] Forked 27685 -(27684) found -(27685) found -[10811] Forked 27686 -[10810] Forked 27687 -(27686) found -(27687) found -[10809] Forked 27688 -[10808] Forked 27689 -(27688) found -(27689) found -[10807] Forked 27691 -[10806] Forked 27692 -(27691) found -(27692) found -[10805] Forked 27693 -[10804] Forked 27694 -(27693) found -(27694) found -[10803] Forked 27695 -[10802] Forked 27696 -(27695) found -(27696) found -[10801] Forked 27697 -[10800] Forked 27698 -(27697) found -(27698) found -[10799] Forked 27699 -[10798] Forked 27700 -(27699) found -(27700) found -[10797] Forked 27701 -[10796] Forked 27702 -(27701) found -(27702) found -[10795] Forked 27703 -[10794] Forked 27704 -(27703) found -(27704) found -[10793] Forked 27705 -[10792] Forked 27706 -(27705) found -(27706) found -[10791] Forked 27707 -[10790] Forked 27708 -(27707) found -(27708) found -[10789] Forked 27709 -(27709) found -[10788] Forked 27710 -(27710) found -[10787] Forked 27711 -(27711) found -[10786] Forked 27712 -(27712) found -[10785] Forked 27713 -(27713) found -[10784] Forked 27714 -(27714) found -[10783] Forked 27715 -(27715) found -[10782] Forked 27716 -(27716) found -[10781] Forked 27717 -(27717) found -[10780] Forked 27718 -(27718) found -[10779] Forked 27719 -(27719) found -[10778] Forked 27720 -(27720) found -[10777] Forked 27721 -(27721) found -[10776] Forked 27722 -(27722) found -[10775] Forked 27723 -(27723) found -[10774] Forked 27724 -(27724) found -[10773] Forked 27725 -(27725) found -[10772] Forked 27726 -(27726) found -[10771] Forked 27727 -(27727) found -[10770] Forked 27728 -(27728) found -[10769] Forked 27729 -(27729) found -[10768] Forked 27730 -(27730) found -[10767] Forked 27731 -(27731) found -[10766] Forked 27732 -(27732) found -[10765] Forked 27733 -(27733) found -[10764] Forked 27734 -(27734) found -[10763] Forked 27735 -(27735) found -[10762] Forked 27736 -(27736) found -[10761] Forked 27737 -(27737) found -[10760] Forked 27738 -(27738) found -[10759] Forked 27739 -(27739) found -[10758] Forked 27740 -(27740) found -[10757] Forked 27741 -(27741) found -[10756] Forked 27742 -(27742) found -[10755] Forked 27743 -(27743) found -[10754] Forked 27744 -(27744) found -[10753] Forked 27745 -[10752] Forked 27746 -(27745) found -(27746) found -[10751] Forked 27747 -[10750] Forked 27748 -(27747) found -(27748) found -[10749] Forked 27749 -(27749) found -[10748] Forked 27750 -[10747] Forked 27751 -(27750) found -(27751) found -[10746] Forked 27752 -[10745] Forked 27753 -(27752) found -(27753) found -[10744] Forked 27754 -[10743] Forked 27755 -(27754) found -(27755) found -[10742] Forked 27756 -[10741] Forked 27757 -(27756) found -(27757) found -[10740] Forked 27758 -[10739] Forked 27759 -(27758) found -(27759) found -[10738] Forked 27760 -[10737] Forked 27761 -(27760) found -(27761) found -[10736] Forked 27762 -[10735] Forked 27763 -(27762) found -(27763) found -[10734] Forked 27764 -[10733] Forked 27765 -(27764) found -(27765) found -[10732] Forked 27766 -[10731] Forked 27767 -(27766) found -(27767) found -[10730] Forked 27768 -[10729] Forked 27769 -(27768) found -(27769) found -[10728] Forked 27770 -[10727] Forked 27771 -(27770) found -(27771) found -[10726] Forked 27772 -[10725] Forked 27773 -(27772) found -(27773) found -[10724] Forked 27774 -[10723] Forked 27775 -(27774) found -(27775) found -[10722] Forked 27776 -[10721] Forked 27777 -(27776) found -(27777) found -[10720] Forked 27778 -[10719] Forked 27779 -(27778) found -(27779) found -[10718] Forked 27780 -[10717] Forked 27781 -(27780) found -(27781) found -[10716] Forked 27782 -[10715] Forked 27783 -(27782) found -(27783) found -[10714] Forked 27784 -[10713] Forked 27785 -(27784) found -(27785) found -[10712] Forked 27786 -[10711] Forked 27787 -(27786) found -(27787) found -[10710] Forked 27788 -[10709] Forked 27789 -(27788) found -(27789) found -[10708] Forked 27790 -[10707] Forked 27791 -(27790) found -(27791) found -[10706] Forked 27792 -[10705] Forked 27793 -(27792) found -(27793) found -[10704] Forked 27794 -[10703] Forked 27795 -(27794) found -(27795) found -[10702] Forked 27796 -[10701] Forked 27797 -(27796) found -(27797) found -[10700] Forked 27798 -(27798) found -[10699] Forked 27799 -[10698] Forked 27800 -(27799) found -(27800) found -[10697] Forked 27801 -[10696] Forked 27802 -(27801) found -(27802) found -[10695] Forked 27803 -[10694] Forked 27804 -(27803) found -(27804) found -[10693] Forked 27805 -[10692] Forked 27806 -(27805) found -(27806) found -[10691] Forked 27807 -[10690] Forked 27808 -(27807) found -(27808) found -[10689] Forked 27809 -[10688] Forked 27810 -(27809) found -(27810) found -[10687] Forked 27811 -[10686] Forked 27812 -(27811) found -(27812) found -[10685] Forked 27813 -[10684] Forked 27814 -(27813) found -(27814) found -[10683] Forked 27815 -[10682] Forked 27816 -(27815) found -(27816) found -[10681] Forked 27817 -[10680] Forked 27818 -(27817) found -(27818) found -[10679] Forked 27819 -[10678] Forked 27820 -(27819) found -(27820) found -[10677] Forked 27821 -[10676] Forked 27822 -(27821) found -(27822) found -[10675] Forked 27823 -[10674] Forked 27824 -(27823) found -(27824) found -[10673] Forked 27825 -[10672] Forked 27826 -(27825) found -(27826) found -[10671] Forked 27827 -[10670] Forked 27828 -(27827) found -(27828) found -[10669] Forked 27829 -[10668] Forked 27831 -(27829) found -(27831) found -[10667] Forked 27832 -[10666] Forked 27833 -(27832) found -(27833) found -[10665] Forked 27834 -[10664] Forked 27835 -(27834) found -(27835) found -[10663] Forked 27836 -(27836) found -[10662] Forked 27837 -(27837) found -[10661] Forked 27838 -(27838) found -[10660] Forked 27839 -(27839) found -[10659] Forked 27840 -(27840) found -[10658] Forked 27841 -(27841) found -[10657] Forked 27842 -(27842) found -[10656] Forked 27843 -(27843) found -[10655] Forked 27844 -(27844) found -[10654] Forked 27845 -(27845) found -[10653] Forked 27846 -(27846) found -[10652] Forked 27847 -(27847) found -[10651] Forked 27848 -(27848) found -[10650] Forked 27849 -(27849) found -[10649] Forked 27850 -(27850) found -[10648] Forked 27851 -(27851) found -[10647] Forked 27852 -(27852) found -[10646] Forked 27853 -(27853) found -[10645] Forked 27854 -(27854) found -[10644] Forked 27855 -(27855) found -[10643] Forked 27856 -(27856) found -[10642] Forked 27857 -(27857) found -[10641] Forked 27858 -(27858) found -[10640] Forked 27859 -(27859) found -[10639] Forked 27860 -(27860) found -[10638] Forked 27861 -(27861) found -[10637] Forked 27862 -(27862) found -[10636] Forked 27863 -(27863) found -[10635] Forked 27864 -(27864) found -[10634] Forked 27865 -(27865) found -[10633] Forked 27866 -(27866) found -[10632] Forked 27867 -(27867) found -[10631] Forked 27868 -(27868) found -[10630] Forked 27869 -(27869) found -[10629] Forked 27870 -[10628] Forked 27871 -(27870) found -(27871) found -[10627] Forked 27872 -[10626] Forked 27873 -(27872) found -(27873) found -[10625] Forked 27874 -[10624] Forked 27875 -(27874) found -(27875) found -[10623] Forked 27876 -[10622] Forked 27877 -(27876) found -(27877) found -[10621] Forked 27878 -[10620] Forked 27879 -(27878) found -(27879) found -[10619] Forked 27880 -[10618] Forked 27881 -(27880) found -(27881) found -[10617] Forked 27882 -[10616] Forked 27883 -(27882) found -(27883) found -[10615] Forked 27884 -[10614] Forked 27885 -(27884) found -(27885) found -[10613] Forked 27886 -[10612] Forked 27887 -(27886) found -(27887) found -[10611] Forked 27888 -[10610] Forked 27889 -(27888) found -(27889) found -[10609] Forked 27890 -[10608] Forked 27891 -(27890) found -(27891) found -[10607] Forked 27892 -[10606] Forked 27893 -(27892) found -(27893) found -[10605] Forked 27894 -[10604] Forked 27895 -(27894) found -(27895) found -[10603] Forked 27896 -[10602] Forked 27897 -(27896) found -(27897) found -[10601] Forked 27898 -[10600] Forked 27899 -(27898) found -(27899) found -[10599] Forked 27900 -[10598] Forked 27901 -(27900) found -(27901) found -[10597] Forked 27902 -[10596] Forked 27903 -(27902) found -(27903) found -[10595] Forked 27904 -[10594] Forked 27905 -(27904) found -(27905) found -[10593] Forked 27906 -[10592] Forked 27907 -(27906) found -(27907) found -[10591] Forked 27908 -[10590] Forked 27909 -(27908) found -(27909) found -[10589] Forked 27910 -[10588] Forked 27911 -(27910) found -(27911) found -[10587] Forked 27912 -[10586] Forked 27913 -(27912) found -(27913) found -[10585] Forked 27914 -(27914) found -[10584] Forked 27915 -[10583] Forked 27916 -(27915) found -(27916) found -[10582] Forked 27917 -[10581] Forked 27918 -(27917) found -(27918) found -[10580] Forked 27919 -(27919) found -[10579] Forked 27920 -[10578] Forked 27921 -(27920) found -(27921) found -[10577] Forked 27922 -[10576] Forked 27923 -(27923) found -(27922) found -[10575] Forked 27924 -(27924) found -[10574] Forked 27925 -(27925) found -[10573] Forked 27926 -(27926) found -[10572] Forked 27927 -(27927) found -[10571] Forked 27928 -(27928) found -[10570] Forked 27929 -(27929) found -[10569] Forked 27930 -(27930) found -[10568] Forked 27931 -(27931) found -[10567] Forked 27932 -(27932) found -[10566] Forked 27933 -(27933) found -[10565] Forked 27934 -(27934) found -[10564] Forked 27935 -(27935) found -[10563] Forked 27936 -(27936) found -[10562] Forked 27937 -(27937) found -[10561] Forked 27938 -(27938) found -[10560] Forked 27939 -(27939) found -[10559] Forked 27940 -(27940) found -[10558] Forked 27941 -(27941) found -[10557] Forked 27942 -(27942) found -[10556] Forked 27943 -(27943) found -[10555] Forked 27944 -(27944) found -[10554] Forked 27945 -(27945) found -[10553] Forked 27946 -(27946) found -[10552] Forked 27947 -(27947) found -[10551] Forked 27948 -(27948) found -[10550] Forked 27949 -(27949) found -[10549] Forked 27950 -(27950) found -[10548] Forked 27951 -(27951) found -[10547] Forked 27952 -(27952) found -[10546] Forked 27953 -(27953) found -[10545] Forked 27954 -(27954) found -[10544] Forked 27955 -(27955) found -[10543] Forked 27956 -(27956) found -[10542] Forked 27957 -(27957) found -[10541] Forked 27958 -(27958) found -[10540] Forked 27959 -(27959) found -[10539] Forked 27960 -(27960) found -[10538] Forked 27961 -(27961) found -[10537] Forked 27962 -(27962) found -[10536] Forked 27963 -(27963) found -[10535] Forked 27964 -(27964) found -[10534] Forked 27965 -(27965) found -[10533] Forked 27966 -(27966) found -[10532] Forked 27967 -(27967) found -[10531] Forked 27968 -(27968) found -[10530] Forked 27969 -(27969) found -[10529] Forked 27970 -(27970) found -[10528] Forked 27971 -(27971) found -[10527] Forked 27972 -(27972) found -[10526] Forked 27973 -(27973) found -[10525] Forked 27974 -(27974) found -[10524] Forked 27975 -(27975) found -[10523] Forked 27976 -(27976) found -[10522] Forked 27977 -(27977) found -[10521] Forked 27978 -(27978) found -[10520] Forked 27979 -(27979) found -[10519] Forked 27980 -(27980) found -[10518] Forked 27981 -(27981) found -[10517] Forked 27982 -(27982) found -[10516] Forked 27983 -(27983) found -[10515] Forked 27984 -(27984) found -[10514] Forked 27985 -(27985) found -[10513] Forked 27986 -[10512] Forked 27988 -(27986) found -(27988) found -[10511] Forked 27989 -[10510] Forked 27990 -(27989) found -(27990) found -[10509] Forked 27991 -[10508] Forked 27992 -(27991) found -(27992) found -[10507] Forked 27993 -[10506] Forked 27994 -(27993) found -(27994) found -[10505] Forked 27995 -[10504] Forked 27996 -(27995) found -(27996) found -[10503] Forked 27997 -[10502] Forked 27998 -(27997) found -(27998) found -[10501] Forked 27999 -[10500] Forked 28000 -(27999) found -(28000) found -[10499] Forked 28001 -[10498] Forked 28002 -(28001) found -(28002) found -[10497] Forked 28003 -[10496] Forked 28004 -(28003) found -(28004) found -[10495] Forked 28005 -[10494] Forked 28006 -(28005) found -(28006) found -[10493] Forked 28007 -[10492] Forked 28008 -(28007) found -(28008) found -[10491] Forked 28009 -[10490] Forked 28010 -(28009) found -(28010) found -[10489] Forked 28011 -[10488] Forked 28012 -(28011) found -(28012) found -[10487] Forked 28013 -[10486] Forked 28014 -(28013) found -(28014) found -[10485] Forked 28015 -[10484] Forked 28016 -(28015) found -(28016) found -[10483] Forked 28017 -[10482] Forked 28018 -(28017) found -(28018) found -[10481] Forked 28019 -[10480] Forked 28020 -(28019) found -(28020) found -[10479] Forked 28021 -[10478] Forked 28022 -(28021) found -(28022) found -[10477] Forked 28023 -[10476] Forked 28024 -(28023) found -(28024) found -[10475] Forked 28025 -[10474] Forked 28026 -(28025) found -(28026) found -[10473] Forked 28027 -[10472] Forked 28028 -(28027) found -(28028) found -[10471] Forked 28029 -[10470] Forked 28030 -(28029) found -(28030) found -[10469] Forked 28031 -(28031) found -[10468] Forked 28032 -(28032) found -[10467] Forked 28033 -(28033) found -[10466] Forked 28034 -(28034) found -[10465] Forked 28035 -(28035) found -[10464] Forked 28036 -(28036) found -[10463] Forked 28037 -(28037) found -[10462] Forked 28038 -(28038) found -[10461] Forked 28039 -(28039) found -[10460] Forked 28040 -(28040) found -[10459] Forked 28041 -(28041) found -[10458] Forked 28042 -(28042) found -[10457] Forked 28043 -(28043) found -[10456] Forked 28044 -(28044) found -[10455] Forked 28045 -(28045) found -[10454] Forked 28047 -(28047) found -[10453] Forked 28048 -(28048) found -[10452] Forked 28049 -(28049) found -[10451] Forked 28050 -(28050) found -[10450] Forked 28051 -(28051) found -[10449] Forked 28052 -(28052) found -[10448] Forked 28053 -(28053) found -[10447] Forked 28054 -(28054) found -[10446] Forked 28055 -(28055) found -[10445] Forked 28056 -(28056) found -[10444] Forked 28057 -(28057) found -[10443] Forked 28058 -(28058) found -[10442] Forked 28059 -(28059) found -[10441] Forked 28060 -(28060) found -[10440] Forked 28061 -(28061) found -[10439] Forked 28062 -(28062) found -[10438] Forked 28063 -(28063) found -[10437] Forked 28064 -(28064) found -[10436] Forked 28065 -(28065) found -[10435] Forked 28066 -(28066) found -[10434] Forked 28067 -(28067) found -[10433] Forked 28068 -[10432] Forked 28069 -(28068) found -(28069) found -[10431] Forked 28070 -[10430] Forked 28071 -(28070) found -(28071) found -[10429] Forked 28072 -[10428] Forked 28073 -(28072) found -(28073) found -[10427] Forked 28074 -[10426] Forked 28075 -(28074) found -(28075) found -[10425] Forked 28076 -[10424] Forked 28077 -(28076) found -(28077) found -[10423] Forked 28078 -[10422] Forked 28079 -(28078) found -(28079) found -[10421] Forked 28080 -[10420] Forked 28081 -(28080) found -(28081) found -[10419] Forked 28082 -[10418] Forked 28083 -(28082) found -(28083) found -[10417] Forked 28084 -[10416] Forked 28085 -(28084) found -(28085) found -[10415] Forked 28086 -[10414] Forked 28087 -(28086) found -(28087) found -[10413] Forked 28088 -[10412] Forked 28089 -(28088) found -(28089) found -[10411] Forked 28090 -[10410] Forked 28091 -(28090) found -(28091) found -[10409] Forked 28092 -[10408] Forked 28093 -(28092) found -(28093) found -[10407] Forked 28094 -[10406] Forked 28095 -(28094) found -(28095) found -[10405] Forked 28096 -[10404] Forked 28097 -(28096) found -(28097) found -[10403] Forked 28098 -[10402] Forked 28100 -(28098) found -(28100) found -[10401] Forked 28101 -(28101) found -[10400] Forked 28102 -(28102) found -[10399] Forked 28103 -(28103) found -[10398] Forked 28104 -(28104) found -[10397] Forked 28105 -(28105) found -[10396] Forked 28106 -(28106) found -[10395] Forked 28107 -(28107) found -[10394] Forked 28108 -(28108) found -[10393] Forked 28109 -(28109) found -[10392] Forked 28110 -(28110) found -[10391] Forked 28111 -(28111) found -[10390] Forked 28112 -(28112) found -[10389] Forked 28113 -(28113) found -[10388] Forked 28114 -(28114) found -[10387] Forked 28115 -(28115) found -[10386] Forked 28116 -(28116) found -[10385] Forked 28117 -(28117) found -[10384] Forked 28118 -(28118) found -[10383] Forked 28119 -(28119) found -[10382] Forked 28120 -(28120) found -[10381] Forked 28121 -(28121) found -[10380] Forked 28122 -(28122) found -[10379] Forked 28123 -(28123) found -[10378] Forked 28124 -(28124) found -[10377] Forked 28125 -(28125) found -[10376] Forked 28126 -(28126) found -[10375] Forked 28127 -(28127) found -[10374] Forked 28128 -(28128) found -[10373] Forked 28129 -(28129) found -[10372] Forked 28130 -(28130) found -[10371] Forked 28131 -(28131) found -[10370] Forked 28132 -(28132) found -[10369] Forked 28133 -(28133) found -[10368] Forked 28134 -(28134) found -[10367] Forked 28135 -(28135) found -[10366] Forked 28136 -(28136) found -[10365] Forked 28137 -(28137) found -[10364] Forked 28138 -(28138) found -[10363] Forked 28139 -(28139) found -[10362] Forked 28140 -(28140) found -[10361] Forked 28141 -(28141) found -[10360] Forked 28142 -(28142) found -[10359] Forked 28143 -(28143) found -[10358] Forked 28144 -(28144) found -[10357] Forked 28145 -(28145) found -[10356] Forked 28146 -(28146) found -[10355] Forked 28147 -(28147) found -[10354] Forked 28148 -(28148) found -[10353] Forked 28149 -(28149) found -[10352] Forked 28150 -(28150) found -[10351] Forked 28151 -(28151) found -[10350] Forked 28152 -(28152) found -[10349] Forked 28153 -(28153) found -[10348] Forked 28154 -(28154) found -[10347] Forked 28155 -(28155) found -[10346] Forked 28156 -(28156) found -[10345] Forked 28157 -(28157) found -[10344] Forked 28158 -(28158) found -[10343] Forked 28159 -(28159) found -[10342] Forked 28160 -(28160) found -[10341] Forked 28161 -(28161) found -[10340] Forked 28162 -(28162) found -[10339] Forked 28163 -(28163) found -[10338] Forked 28164 -(28164) found -[10337] Forked 28165 -(28165) found -[10336] Forked 28166 -(28166) found -[10335] Forked 28167 -(28167) found -[10334] Forked 28168 -(28168) found -[10333] Forked 28169 -(28169) found -[10332] Forked 28170 -(28170) found -[10331] Forked 28171 -(28171) found -[10330] Forked 28172 -(28172) found -[10329] Forked 28173 -(28173) found -[10328] Forked 28174 -(28174) found -[10327] Forked 28175 -(28175) found -[10326] Forked 28176 -(28176) found -[10325] Forked 28177 -(28177) found -[10324] Forked 28178 -(28178) found -[10323] Forked 28179 -(28179) found -[10322] Forked 28180 -(28180) found -[10321] Forked 28181 -(28181) found -[10320] Forked 28182 -(28182) found -[10319] Forked 28183 -[10318] Forked 28184 -(28183) found -(28184) found -[10317] Forked 28185 -[10316] Forked 28186 -(28185) found -(28186) found -[10315] Forked 28187 -[10314] Forked 28188 -(28187) found -(28188) found -[10313] Forked 28189 -[10312] Forked 28190 -(28189) found -(28190) found -[10311] Forked 28191 -[10310] Forked 28192 -(28191) found -(28192) found -[10309] Forked 28193 -[10308] Forked 28194 -(28193) found -(28194) found -[10307] Forked 28195 -[10306] Forked 28196 -(28195) found -(28196) found -[10305] Forked 28197 -[10304] Forked 28198 -(28197) found -(28198) found -[10303] Forked 28199 -[10302] Forked 28200 -(28199) found -(28200) found -[10301] Forked 28201 -[10300] Forked 28202 -(28201) found -(28202) found -[10299] Forked 28203 -[10298] Forked 28204 -(28203) found -(28204) found -[10297] Forked 28205 -[10296] Forked 28206 -(28205) found -(28206) found -[10295] Forked 28207 -[10294] Forked 28208 -(28207) found -(28208) found -[10293] Forked 28209 -[10292] Forked 28210 -(28209) found -(28210) found -[10291] Forked 28211 -[10290] Forked 28212 -(28211) found -(28212) found -[10289] Forked 28213 -[10288] Forked 28214 -(28213) found -(28214) found -[10287] Forked 28215 -[10286] Forked 28216 -(28215) found -(28216) found -[10285] Forked 28217 -[10284] Forked 28218 -(28217) found -(28218) found -[10283] Forked 28219 -[10282] Forked 28220 -(28219) found -(28220) found -[10281] Forked 28221 -[10280] Forked 28222 -(28221) found -(28222) found -[10279] Forked 28223 -[10278] Forked 28224 -(28223) found -(28224) found -[10277] Forked 28225 -[10276] Forked 28226 -(28225) found -(28226) found -[10275] Forked 28227 -[10274] Forked 28228 -(28227) found -(28228) found -[10273] Forked 28229 -(28229) found -[10272] Forked 28230 -(28230) found -[10271] Forked 28231 -(28231) found -[10270] Forked 28232 -(28232) found -[10269] Forked 28233 -(28233) found -[10268] Forked 28234 -(28234) found -[10267] Forked 28235 -(28235) found -[10266] Forked 28236 -(28236) found -[10265] Forked 28237 -(28237) found -[10264] Forked 28238 -(28238) found -[10263] Forked 28239 -(28239) found -[10262] Forked 28240 -(28240) found -[10261] Forked 28241 -(28241) found -[10260] Forked 28242 -(28242) found -[10259] Forked 28243 -(28243) found -[10258] Forked 28244 -(28244) found -[10257] Forked 28245 -(28245) found -[10256] Forked 28246 -(28246) found -[10255] Forked 28247 -(28247) found -[10254] Forked 28248 -(28248) found -[10253] Forked 28249 -(28249) found -[10252] Forked 28250 -(28250) found -[10251] Forked 28251 -(28251) found -[10250] Forked 28252 -(28252) found -[10249] Forked 28253 -(28253) found -[10248] Forked 28254 -(28254) found -[10247] Forked 28255 -(28255) found -[10246] Forked 28256 -(28256) found -[10245] Forked 28257 -(28257) found -[10244] Forked 28258 -(28258) found -[10243] Forked 28259 -(28259) found -[10242] Forked 28260 -(28260) found -[10241] Forked 28261 -(28261) found -[10240] Forked 28262 -(28262) found -[10239] Forked 28263 -(28263) found -[10238] Forked 28264 -(28264) found -[10237] Forked 28265 -[10236] Forked 28266 -(28265) found -(28266) found -[10235] Forked 28267 -[10234] Forked 28268 -(28267) found -(28268) found -[10233] Forked 28269 -[10232] Forked 28270 -(28269) found -(28270) found -[10231] Forked 28271 -[10230] Forked 28272 -(28271) found -(28272) found -[10229] Forked 28273 -[10228] Forked 28274 -(28273) found -(28274) found -[10227] Forked 28275 -[10226] Forked 28276 -(28275) found -(28276) found -[10225] Forked 28277 -(28277) found -[10224] Forked 28278 -(28278) found -[10223] Forked 28279 -(28279) found -[10222] Forked 28280 -(28280) found -[10221] Forked 28281 -(28281) found -[10220] Forked 28282 -(28282) found -[10219] Forked 28283 -(28283) found -[10218] Forked 28284 -[10217] Forked 28285 -(28284) found -(28285) found -[10216] Forked 28286 -[10215] Forked 28287 -(28286) found -(28287) found -[10214] Forked 28288 -[10213] Forked 28289 -(28288) found -(28289) found -[10212] Forked 28290 -[10211] Forked 28291 -(28290) found -(28291) found -[10210] Forked 28292 -[10209] Forked 28293 -(28292) found -(28293) found -[10208] Forked 28294 -[10207] Forked 28295 -(28294) found -(28295) found -[10206] Forked 28296 -[10205] Forked 28297 -(28296) found -(28297) found -[10204] Forked 28298 -[10203] Forked 28299 -(28298) found -(28299) found -[10202] Forked 28300 -[10201] Forked 28301 -(28300) found -(28301) found -[10200] Forked 28302 -[10199] Forked 28303 -(28302) found -(28303) found -[10198] Forked 28304 -[10197] Forked 28305 -(28304) found -(28305) found -[10196] Forked 28306 -[10195] Forked 28307 -(28306) found -(28307) found -[10194] Forked 28308 -[10193] Forked 28309 -(28308) found -(28309) found -[10192] Forked 28310 -[10191] Forked 28311 -(28310) found -(28311) found -[10190] Forked 28312 -[10189] Forked 28313 -(28312) found -(28313) found -[10188] Forked 28314 -[10187] Forked 28315 -(28314) found -(28315) found -[10186] Forked 28316 -[10185] Forked 28317 -(28316) found -(28317) found -[10184] Forked 28318 -[10183] Forked 28319 -(28318) found -(28319) found -[10182] Forked 28320 -[10181] Forked 28321 -(28320) found -(28321) found -[10180] Forked 28322 -[10179] Forked 28323 -(28322) found -(28323) found -[10178] Forked 28324 -[10177] Forked 28325 -(28324) found -(28325) found -[10176] Forked 28326 -[10175] Forked 28327 -(28326) found -(28327) found -[10174] Forked 28328 -[10173] Forked 28329 -(28328) found -(28329) found -[10172] Forked 28330 -[10171] Forked 28331 -(28330) found -(28331) found -[10170] Forked 28332 -[10169] Forked 28333 -(28332) found -(28333) found -[10168] Forked 28334 -[10167] Forked 28335 -(28334) found -(28335) found -[10166] Forked 28336 -[10165] Forked 28337 -(28336) found -(28337) found -[10164] Forked 28338 -[10163] Forked 28339 -(28338) found -(28339) found -[10162] Forked 28340 -[10161] Forked 28341 -(28340) found -(28341) found -[10160] Forked 28342 -[10159] Forked 28343 -(28342) found -(28343) found -[10158] Forked 28344 -[10157] Forked 28345 -(28344) found -(28345) found -[10156] Forked 28346 -[10155] Forked 28347 -(28346) found -(28347) found -[10154] Forked 28348 -[10153] Forked 28349 -(28348) found -(28349) found -[10152] Forked 28350 -[10151] Forked 28351 -(28350) found -(28351) found -[10150] Forked 28352 -(28352) found -[10149] Forked 28353 -(28353) found -[10148] Forked 28354 -(28354) found -[10147] Forked 28355 -(28355) found -[10146] Forked 28356 -(28356) found -[10145] Forked 28357 -(28357) found -[10144] Forked 28358 -(28358) found -[10143] Forked 28359 -(28359) found -[10142] Forked 28360 -(28360) found -[10141] Forked 28361 -(28361) found -[10140] Forked 28362 -(28362) found -[10139] Forked 28363 -(28363) found -[10138] Forked 28364 -(28364) found -[10137] Forked 28365 -(28365) found -[10136] Forked 28366 -(28366) found -[10135] Forked 28367 -(28367) found -[10134] Forked 28368 -(28368) found -[10133] Forked 28369 -(28369) found -[10132] Forked 28370 -(28370) found -[10131] Forked 28371 -(28371) found -[10130] Forked 28372 -(28372) found -[10129] Forked 28373 -(28373) found -[10128] Forked 28374 -(28374) found -[10127] Forked 28375 -(28375) found -[10126] Forked 28376 -(28376) found -[10125] Forked 28377 -(28377) found -[10124] Forked 28378 -(28378) found -[10123] Forked 28379 -(28379) found -[10122] Forked 28380 -(28380) found -[10121] Forked 28381 -(28381) found -[10120] Forked 28382 -(28382) found -[10119] Forked 28383 -(28383) found -[10118] Forked 28384 -(28384) found -[10117] Forked 28385 -(28385) found -[10116] Forked 28386 -(28386) found -[10115] Forked 28387 -(28387) found -[10114] Forked 28388 -[10113] Forked 28389 -(28388) found -(28389) found -[10112] Forked 28390 -[10111] Forked 28391 -(28390) found -(28391) found -[10110] Forked 28392 -[10109] Forked 28393 -(28392) found -(28393) found -[10108] Forked 28394 -[10107] Forked 28395 -(28394) found -(28395) found -[10106] Forked 28396 -[10105] Forked 28397 -(28396) found -(28397) found -[10104] Forked 28398 -[10103] Forked 28399 -(28398) found -(28399) found -[10102] Forked 28400 -[10101] Forked 28401 -(28400) found -(28401) found -[10100] Forked 28402 -[10099] Forked 28403 -(28402) found -(28403) found -[10098] Forked 28404 -[10097] Forked 28405 -(28404) found -(28405) found -[10096] Forked 28406 -[10095] Forked 28407 -(28406) found -(28407) found -[10094] Forked 28408 -[10093] Forked 28409 -(28408) found -(28409) found -[10092] Forked 28410 -[10091] Forked 28411 -(28410) found -(28411) found -[10090] Forked 28412 -[10089] Forked 28413 -(28412) found -(28413) found -[10088] Forked 28414 -[10087] Forked 28415 -(28414) found -(28415) found -[10086] Forked 28416 -[10085] Forked 28417 -(28416) found -(28417) found -[10084] Forked 28418 -[10083] Forked 28419 -(28418) found -(28419) found -[10082] Forked 28420 -[10081] Forked 28421 -(28420) found -(28421) found -[10080] Forked 28422 -[10079] Forked 28423 -(28422) found -(28423) found -[10078] Forked 28424 -[10077] Forked 28425 -(28424) found -(28425) found -[10076] Forked 28426 -[10075] Forked 28427 -(28426) found -(28427) found -[10074] Forked 28428 -[10073] Forked 28429 -(28428) found -(28429) found -[10072] Forked 28430 -[10071] Forked 28431 -(28430) found -(28431) found -[10070] Forked 28432 -[10069] Forked 28433 -(28432) found -(28433) found -[10068] Forked 28434 -[10067] Forked 28435 -(28434) found -(28435) found -[10066] Forked 28436 -[10065] Forked 28437 -(28436) found -(28437) found -[10064] Forked 28438 -[10063] Forked 28439 -(28438) found -(28439) found -[10062] Forked 28440 -[10061] Forked 28441 -(28440) found -(28441) found -[10060] Forked 28442 -[10059] Forked 28443 -(28442) found -(28443) found -[10058] Forked 28444 -[10057] Forked 28445 -(28444) found -(28445) found -[10056] Forked 28446 -[10055] Forked 28447 -(28446) found -(28447) found -[10054] Forked 28448 -[10053] Forked 28449 -(28448) found -(28449) found -[10052] Forked 28450 -[10051] Forked 28452 -(28450) found -(28452) found -[10050] Forked 28453 -(28453) found -[10049] Forked 28454 -(28454) found -[10048] Forked 28455 -(28455) found -[10047] Forked 28456 -(28456) found -[10046] Forked 28457 -(28457) found -[10045] Forked 28458 -(28458) found -[10044] Forked 28459 -(28459) found -[10043] Forked 28460 -(28460) found -[10042] Forked 28461 -(28461) found -[10041] Forked 28462 -(28462) found -[10040] Forked 28463 -(28463) found -[10039] Forked 28464 -(28464) found -[10038] Forked 28465 -(28465) found -[10037] Forked 28466 -(28466) found -[10036] Forked 28467 -(28467) found -[10035] Forked 28468 -(28468) found -[10034] Forked 28469 -(28469) found -[10033] Forked 28470 -(28470) found -[10032] Forked 28471 -(28471) found -[10031] Forked 28472 -(28472) found -[10030] Forked 28473 -(28473) found -[10029] Forked 28474 -(28474) found -[10028] Forked 28475 -(28475) found -[10027] Forked 28476 -(28476) found -[10026] Forked 28477 -(28477) found -[10025] Forked 28478 -(28478) found -[10024] Forked 28479 -(28479) found -[10023] Forked 28480 -(28480) found -[10022] Forked 28481 -(28481) found -[10021] Forked 28482 -(28482) found -[10020] Forked 28483 -(28483) found -[10019] Forked 28484 -(28484) found -[10018] Forked 28485 -(28485) found -[10017] Forked 28486 -(28486) found -[10016] Forked 28487 -(28487) found -[10015] Forked 28488 -(28488) found -[10014] Forked 28489 -(28489) found -[10013] Forked 28490 -(28490) found -[10012] Forked 28491 -(28491) found -[10011] Forked 28492 -(28492) found -[10010] Forked 28493 -(28493) found -[10009] Forked 28494 -(28494) found -[10008] Forked 28495 -(28495) found -[10007] Forked 28496 -(28496) found -[10006] Forked 28497 -(28497) found -[10005] Forked 28498 -(28498) found -[10004] Forked 28499 -(28499) found -[10003] Forked 28500 -(28500) found -[10002] Forked 28501 -(28501) found -[10001] Forked 28502 -(28502) found -[10000] Forked 28503 -(28503) found -[9999] Forked 28504 -(28504) found -[9998] Forked 28505 -(28505) found -[9997] Forked 28506 -(28506) found -[9996] Forked 28507 -(28507) found -[9995] Forked 28508 -(28508) found -[9994] Forked 28509 -(28509) found -[9993] Forked 28510 -(28510) found -[9992] Forked 28511 -(28511) found -[9991] Forked 28512 -(28512) found -[9990] Forked 28513 -(28513) found -[9989] Forked 28514 -(28514) found -[9988] Forked 28515 -(28515) found -[9987] Forked 28516 -(28516) found -[9986] Forked 28517 -(28517) found -[9985] Forked 28518 -(28518) found -[9984] Forked 28519 -(28519) found -[9983] Forked 28520 -(28520) found -[9982] Forked 28521 -(28521) found -[9981] Forked 28522 -(28522) found -[9980] Forked 28523 -(28523) found -[9979] Forked 28524 -(28524) found -[9978] Forked 28525 -(28525) found -[9977] Forked 28526 -(28526) found -[9976] Forked 28527 -(28527) found -[9975] Forked 28528 -(28528) found -[9974] Forked 28529 -(28529) found -[9973] Forked 28530 -(28530) found -[9972] Forked 28531 -(28531) found -[9971] Forked 28532 -(28532) found -[9970] Forked 28533 -(28533) found -[9969] Forked 28534 -(28534) found -[9968] Forked 28535 -(28535) found -[9967] Forked 28536 -(28536) found -[9966] Forked 28537 -(28537) found -[9965] Forked 28538 -(28538) found -[9964] Forked 28539 -(28539) found -[9963] Forked 28540 -(28540) found -[9962] Forked 28541 -(28541) found -[9961] Forked 28542 -[9960] Forked 28543 -(28542) found -(28543) found -[9959] Forked 28544 -[9958] Forked 28545 -(28544) found -(28545) found -[9957] Forked 28546 -[9956] Forked 28547 -(28546) found -(28547) found -[9955] Forked 28548 -[9954] Forked 28549 -(28548) found -(28549) found -[9953] Forked 28550 -[9952] Forked 28551 -(28550) found -(28551) found -[9951] Forked 28552 -[9950] Forked 28553 -(28552) found -(28553) found -[9949] Forked 28554 -[9948] Forked 28555 -(28554) found -(28555) found -[9947] Forked 28556 -[9946] Forked 28557 -(28556) found -(28557) found -[9945] Forked 28558 -[9944] Forked 28559 -(28558) found -(28559) found -[9943] Forked 28560 -[9942] Forked 28561 -(28560) found -(28561) found -[9941] Forked 28562 -[9940] Forked 28563 -(28562) found -(28563) found -[9939] Forked 28564 -[9938] Forked 28565 -(28564) found -(28565) found -[9937] Forked 28566 -[9936] Forked 28567 -(28566) found -(28567) found -[9935] Forked 28568 -[9934] Forked 28569 -(28568) found -(28569) found -[9933] Forked 28570 -[9932] Forked 28572 -(28570) found -(28572) found -[9931] Forked 28573 -(28573) found -[9930] Forked 28574 -(28574) found -[9929] Forked 28575 -(28575) found -[9928] Forked 28576 -(28576) found -[9927] Forked 28577 -(28577) found -[9926] Forked 28578 -(28578) found -[9925] Forked 28579 -(28579) found -[9924] Forked 28580 -(28580) found -[9923] Forked 28581 -(28581) found -[9922] Forked 28582 -(28582) found -[9921] Forked 28583 -(28583) found -[9920] Forked 28584 -(28584) found -[9919] Forked 28585 -(28585) found -[9918] Forked 28586 -(28586) found -[9917] Forked 28587 -(28587) found -[9916] Forked 28588 -(28588) found -[9915] Forked 28589 -(28589) found -[9914] Forked 28590 -(28590) found -[9913] Forked 28591 -(28591) found -[9912] Forked 28592 -(28592) found -[9911] Forked 28593 -(28593) found -[9910] Forked 28594 -(28594) found -[9909] Forked 28595 -(28595) found -[9908] Forked 28596 -(28596) found -[9907] Forked 28597 -(28597) found -[9906] Forked 28598 -(28598) found -[9905] Forked 28599 -(28599) found -[9904] Forked 28600 -(28600) found -[9903] Forked 28601 -(28601) found -[9902] Forked 28602 -(28602) found -[9901] Forked 28603 -(28603) found -[9900] Forked 28604 -(28604) found -[9899] Forked 28605 -(28605) found -[9898] Forked 28606 -(28606) found -[9897] Forked 28607 -(28607) found -[9896] Forked 28608 -(28608) found -[9895] Forked 28609 -(28609) found -[9894] Forked 28610 -(28610) found -[9893] Forked 28611 -(28611) found -[9892] Forked 28612 -(28612) found -[9891] Forked 28613 -(28613) found -[9890] Forked 28614 -(28614) found -[9889] Forked 28615 -(28615) found -[9888] Forked 28616 -(28616) found -[9887] Forked 28617 -(28617) found -[9886] Forked 28618 -(28618) found -[9885] Forked 28619 -(28619) found -[9884] Forked 28620 -(28620) found -[9883] Forked 28621 -(28621) found -[9882] Forked 28622 -(28622) found -[9881] Forked 28623 -(28623) found -[9880] Forked 28624 -(28624) found -[9879] Forked 28625 -(28625) found -[9878] Forked 28626 -(28626) found -[9877] Forked 28627 -(28627) found -[9876] Forked 28628 -(28628) found -[9875] Forked 28629 -(28629) found -[9874] Forked 28630 -(28630) found -[9873] Forked 28631 -(28631) found -[9872] Forked 28632 -(28632) found -[9871] Forked 28633 -(28633) found -[9870] Forked 28634 -(28634) found -[9869] Forked 28635 -(28635) found -[9868] Forked 28636 -(28636) found -[9867] Forked 28637 -(28637) found -[9866] Forked 28638 -(28638) found -[9865] Forked 28639 -(28639) found -[9864] Forked 28640 -(28640) found -[9863] Forked 28641 -(28641) found -[9862] Forked 28642 -(28642) found -[9861] Forked 28643 -(28643) found -[9860] Forked 28644 -(28644) found -[9859] Forked 28645 -(28645) found -[9858] Forked 28646 -(28646) found -[9857] Forked 28647 -(28647) found -[9856] Forked 28648 -(28648) found -[9855] Forked 28649 -(28649) found -[9854] Forked 28650 -(28650) found -[9853] Forked 28651 -(28651) found -[9852] Forked 28652 -(28652) found -[9851] Forked 28653 -(28653) found -[9850] Forked 28654 -(28654) found -[9849] Forked 28655 -[9848] Forked 28656 -(28655) found -(28656) found -[9847] Forked 28657 -[9846] Forked 28658 -(28657) found -(28658) found -[9845] Forked 28659 -[9844] Forked 28660 -(28659) found -(28660) found -[9843] Forked 28661 -[9842] Forked 28662 -(28661) found -(28662) found -[9841] Forked 28663 -[9840] Forked 28664 -(28663) found -(28664) found -[9839] Forked 28665 -[9838] Forked 28666 -(28665) found -(28666) found -[9837] Forked 28667 -[9836] Forked 28668 -(28667) found -(28668) found -[9835] Forked 28669 -[9834] Forked 28670 -(28669) found -(28670) found -[9833] Forked 28671 -[9832] Forked 28672 -(28671) found -(28672) found -[9831] Forked 28673 -[9830] Forked 28674 -(28673) found -(28674) found -[9829] Forked 28675 -[9828] Forked 28676 -(28675) found -(28676) found -[9827] Forked 28677 -[9826] Forked 28678 -(28677) found -(28678) found -[9825] Forked 28679 -[9824] Forked 28680 -(28679) found -(28680) found -[9823] Forked 28681 -[9822] Forked 28682 -(28681) found -(28682) found -[9821] Forked 28683 -[9820] Forked 28684 -(28683) found -(28684) found -[9819] Forked 28685 -[9818] Forked 28686 -(28685) found -(28686) found -[9817] Forked 28687 -[9816] Forked 28688 -(28687) found -(28688) found -[9815] Forked 28689 -[9814] Forked 28690 -(28689) found -(28690) found -[9813] Forked 28691 -[9812] Forked 28692 -(28691) found -(28692) found -[9811] Forked 28693 -[9810] Forked 28694 -(28693) found -(28694) found -[9809] Forked 28696 -[9808] Forked 28697 -(28696) found -(28697) found -[9807] Forked 28698 -[9806] Forked 28699 -(28698) found -(28699) found -[9805] Forked 28700 -[9804] Forked 28701 -(28700) found -(28701) found -[9803] Forked 28702 -(28702) found -[9802] Forked 28703 -(28703) found -[9801] Forked 28704 -(28704) found -[9800] Forked 28705 -(28705) found -[9799] Forked 28706 -(28706) found -[9798] Forked 28707 -(28707) found -[9797] Forked 28708 -(28708) found -[9796] Forked 28709 -(28709) found -[9795] Forked 28710 -(28710) found -[9794] Forked 28711 -(28711) found -[9793] Forked 28712 -(28712) found -[9792] Forked 28713 -(28713) found -[9791] Forked 28714 -(28714) found -[9790] Forked 28715 -(28715) found -[9789] Forked 28716 -(28716) found -[9788] Forked 28717 -(28717) found -[9787] Forked 28718 -(28718) found -[9786] Forked 28719 -(28719) found -[9785] Forked 28720 -(28720) found -[9784] Forked 28721 -(28721) found -[9783] Forked 28722 -(28722) found -[9782] Forked 28723 -(28723) found -[9781] Forked 28724 -(28724) found -[9780] Forked 28725 -(28725) found -[9779] Forked 28726 -(28726) found -[9778] Forked 28727 -(28727) found -[9777] Forked 28728 -(28728) found -[9776] Forked 28729 -(28729) found -[9775] Forked 28730 -(28730) found -[9774] Forked 28731 -(28731) found -[9773] Forked 28732 -(28732) found -[9772] Forked 28733 -(28733) found -[9771] Forked 28734 -(28734) found -[9770] Forked 28735 -(28735) found -[9769] Forked 28736 -(28736) found -[9768] Forked 28737 -[9767] Forked 28738 -(28737) found -(28738) found -[9766] Forked 28739 -[9765] Forked 28740 -(28739) found -(28740) found -[9764] Forked 28741 -[9763] Forked 28742 -(28741) found -(28742) found -[9762] Forked 28743 -[9761] Forked 28744 -(28743) found -(28744) found -[9760] Forked 28745 -[9759] Forked 28746 -(28745) found -(28746) found -[9758] Forked 28747 -[9757] Forked 28748 -(28747) found -(28748) found -[9756] Forked 28749 -[9755] Forked 28750 -(28749) found -(28750) found -[9754] Forked 28751 -[9753] Forked 28752 -(28751) found -(28752) found -[9752] Forked 28753 -[9751] Forked 28754 -(28753) found -(28754) found -[9750] Forked 28755 -[9749] Forked 28756 -(28755) found -(28756) found -[9748] Forked 28757 -[9747] Forked 28758 -(28757) found -(28758) found -[9746] Forked 28759 -[9745] Forked 28760 -(28759) found -(28760) found -[9744] Forked 28761 -[9743] Forked 28762 -(28761) found -(28762) found -[9742] Forked 28763 -[9741] Forked 28764 -(28763) found -(28764) found -[9740] Forked 28765 -[9739] Forked 28766 -(28765) found -(28766) found -[9738] Forked 28767 -[9737] Forked 28768 -(28767) found -(28768) found -[9736] Forked 28769 -[9735] Forked 28770 -(28769) found -(28770) found -[9734] Forked 28771 -[9733] Forked 28772 -(28771) found -(28772) found -[9732] Forked 28773 -[9731] Forked 28774 -(28773) found -(28774) found -[9730] Forked 28775 -[9729] Forked 28776 -(28775) found -(28776) found -[9728] Forked 28777 -[9727] Forked 28778 -(28777) found -(28778) found -[9726] Forked 28779 -[9725] Forked 28780 -(28779) found -(28780) found -[9724] Forked 28781 -[9723] Forked 28782 -(28781) found -(28782) found -[9722] Forked 28783 -(28783) found -[9721] Forked 28784 -(28784) found -[9720] Forked 28785 -(28785) found -[9719] Forked 28786 -(28786) found -[9718] Forked 28787 -(28787) found -[9717] Forked 28788 -(28788) found -[9716] Forked 28789 -(28789) found -[9715] Forked 28790 -(28790) found -[9714] Forked 28791 -(28791) found -[9713] Forked 28792 -(28792) found -[9712] Forked 28793 -(28793) found -[9711] Forked 28794 -(28794) found -[9710] Forked 28795 -(28795) found -[9709] Forked 28796 -(28796) found -[9708] Forked 28797 -(28797) found -[9707] Forked 28798 -(28798) found -[9706] Forked 28799 -(28799) found -[9705] Forked 28800 -(28800) found -[9704] Forked 28801 -(28801) found -[9703] Forked 28802 -(28802) found -[9702] Forked 28803 -(28803) found -[9701] Forked 28804 -(28804) found -[9700] Forked 28805 -(28805) found -[9699] Forked 28806 -(28806) found -[9698] Forked 28807 -(28807) found -[9697] Forked 28808 -(28808) found -[9696] Forked 28809 -(28809) found -[9695] Forked 28810 -(28810) found -[9694] Forked 28811 -(28811) found -[9693] Forked 28812 -(28812) found -[9692] Forked 28813 -(28813) found -[9691] Forked 28814 -(28814) found -[9690] Forked 28815 -(28815) found -[9689] Forked 28816 -(28816) found -[9688] Forked 28817 -[9687] Forked 28818 -(28817) found -(28818) found -[9686] Forked 28819 -[9685] Forked 28820 -(28819) found -(28820) found -[9684] Forked 28821 -[9683] Forked 28822 -(28821) found -(28822) found -[9682] Forked 28823 -[9681] Forked 28824 -(28823) found -(28824) found -[9680] Forked 28825 -[9679] Forked 28826 -(28825) found -(28826) found -[9678] Forked 28827 -[9677] Forked 28828 -(28827) found -(28828) found -[9676] Forked 28829 -[9675] Forked 28830 -(28829) found -(28830) found -[9674] Forked 28831 -[9673] Forked 28832 -(28831) found -(28832) found -[9672] Forked 28833 -[9671] Forked 28834 -(28833) found -(28834) found -[9670] Forked 28835 -[9669] Forked 28836 -(28835) found -(28836) found -[9668] Forked 28837 -[9667] Forked 28838 -(28837) found -(28838) found -[9666] Forked 28839 -[9665] Forked 28840 -(28839) found -(28840) found -[9664] Forked 28841 -[9663] Forked 28842 -(28841) found -(28842) found -[9662] Forked 28843 -[9661] Forked 28844 -(28843) found -(28844) found -[9660] Forked 28845 -[9659] Forked 28846 -(28845) found -(28846) found -[9658] Forked 28847 -[9657] Forked 28848 -(28847) found -(28848) found -[9656] Forked 28849 -[9655] Forked 28850 -(28849) found -(28850) found -[9654] Forked 28851 -[9653] Forked 28852 -(28851) found -(28852) found -[9652] Forked 28853 -[9651] Forked 28854 -(28853) found -(28854) found -[9650] Forked 28855 -[9649] Forked 28856 -(28855) found -(28856) found -[9648] Forked 28857 -[9647] Forked 28858 -(28857) found -(28858) found -[9646] Forked 28859 -[9645] Forked 28860 -(28859) found -(28860) found -[9644] Forked 28861 -[9643] Forked 28862 -(28861) found -(28862) found -[9642] Forked 28863 -(28863) found -[9641] Forked 28864 -(28864) found -[9640] Forked 28865 -(28865) found -[9639] Forked 28866 -(28866) found -[9638] Forked 28867 -(28867) found -[9637] Forked 28868 -(28868) found -[9636] Forked 28869 -(28869) found -[9635] Forked 28870 -(28870) found -[9634] Forked 28871 -(28871) found -[9633] Forked 28872 -(28872) found -[9632] Forked 28873 -(28873) found -[9631] Forked 28874 -(28874) found -[9630] Forked 28875 -(28875) found -[9629] Forked 28876 -(28876) found -[9628] Forked 28877 -(28877) found -[9627] Forked 28878 -(28878) found -[9626] Forked 28879 -(28879) found -[9625] Forked 28880 -(28880) found -[9624] Forked 28881 -(28881) found -[9623] Forked 28882 -(28882) found -[9622] Forked 28883 -(28883) found -[9621] Forked 28884 -(28884) found -[9620] Forked 28885 -(28885) found -[9619] Forked 28886 -(28886) found -[9618] Forked 28887 -(28887) found -[9617] Forked 28888 -(28888) found -[9616] Forked 28889 -(28889) found -[9615] Forked 28890 -(28890) found -[9614] Forked 28891 -(28891) found -[9613] Forked 28892 -(28892) found -[9612] Forked 28893 -(28893) found -[9611] Forked 28894 -(28894) found -[9610] Forked 28895 -(28895) found -[9609] Forked 28896 -(28896) found -[9608] Forked 28897 -(28897) found -[9607] Forked 28898 -[9606] Forked 28899 -(28898) found -(28899) found -[9605] Forked 28900 -[9604] Forked 28901 -(28900) found -(28901) found -[9603] Forked 28902 -[9602] Forked 28903 -(28902) found -(28903) found -[9601] Forked 28904 -[9600] Forked 28905 -(28904) found -(28905) found -[9599] Forked 28906 -[9598] Forked 28907 -(28906) found -(28907) found -[9597] Forked 28908 -[9596] Forked 28909 -(28908) found -(28909) found -[9595] Forked 28910 -[9594] Forked 28911 -(28910) found -(28911) found -[9593] Forked 28912 -[9592] Forked 28913 -(28912) found -(28913) found -[9591] Forked 28914 -[9590] Forked 28915 -(28914) found -(28915) found -[9589] Forked 28916 -[9588] Forked 28917 -(28916) found -(28917) found -[9587] Forked 28918 -[9586] Forked 28919 -(28918) found -(28919) found -[9585] Forked 28920 -[9584] Forked 28921 -(28920) found -(28921) found -[9583] Forked 28922 -[9582] Forked 28923 -(28922) found -(28923) found -[9581] Forked 28924 -[9580] Forked 28925 -(28924) found -(28925) found -[9579] Forked 28926 -[9578] Forked 28927 -(28926) found -(28927) found -[9577] Forked 28928 -[9576] Forked 28929 -(28928) found -(28929) found -[9575] Forked 28930 -[9574] Forked 28931 -(28930) found -(28931) found -[9573] Forked 28932 -[9572] Forked 28933 -(28932) found -(28933) found -[9571] Forked 28934 -[9570] Forked 28935 -(28934) found -(28935) found -[9569] Forked 28936 -[9568] Forked 28937 -(28936) found -(28937) found -[9567] Forked 28938 -[9566] Forked 28939 -(28938) found -(28939) found -[9565] Forked 28940 -[9564] Forked 28941 -(28940) found -(28941) found -[9563] Forked 28942 -[9562] Forked 28943 -(28942) found -(28943) found -[9561] Forked 28944 -[9560] Forked 28945 -(28944) found -(28945) found -[9559] Forked 28946 -[9558] Forked 28947 -(28946) found -(28947) found -[9557] Forked 28948 -[9556] Forked 28949 -(28948) found -(28949) found -[9555] Forked 28950 -[9554] Forked 28951 -(28950) found -(28951) found -[9553] Forked 28952 -[9552] Forked 28953 -(28952) found -(28953) found -[9551] Forked 28954 -[9550] Forked 28955 -(28954) found -(28955) found -[9549] Forked 28956 -[9548] Forked 28957 -(28956) found -(28957) found -[9547] Forked 28958 -[9546] Forked 28959 -(28958) found -(28959) found -[9545] Forked 28960 -[9544] Forked 28961 -(28960) found -(28961) found -[9543] Forked 28962 -[9542] Forked 28963 -(28962) found -(28963) found -[9541] Forked 28964 -[9540] Forked 28965 -(28964) found -(28965) found -[9539] Forked 28966 -[9538] Forked 28967 -(28966) found -(28967) found -[9537] Forked 28968 -[9536] Forked 28969 -(28968) found -(28969) found -[9535] Forked 28970 -[9534] Forked 28971 -(28970) found -(28971) found -[9533] Forked 28972 -[9532] Forked 28973 -(28972) found -(28973) found -[9531] Forked 28974 -[9530] Forked 28975 -(28974) found -(28975) found -[9529] Forked 28976 -[9528] Forked 28977 -(28976) found -(28977) found -[9527] Forked 28978 -[9526] Forked 28979 -(28978) found -(28979) found -[9525] Forked 28980 -[9524] Forked 28981 -(28980) found -(28981) found -[9523] Forked 28982 -[9522] Forked 28983 -(28982) found -(28983) found -[9521] Forked 28984 -[9520] Forked 28985 -(28984) found -(28985) found -[9519] Forked 28986 -[9518] Forked 28987 -(28986) found -(28987) found -[9517] Forked 28988 -(28988) found -[9516] Forked 28989 -(28989) found -[9515] Forked 28990 -(28990) found -[9514] Forked 28991 -(28991) found -[9513] Forked 28992 -(28992) found -[9512] Forked 28993 -(28993) found -[9511] Forked 28994 -(28994) found -[9510] Forked 28995 -(28995) found -[9509] Forked 28996 -(28996) found -[9508] Forked 28997 -(28997) found -[9507] Forked 28998 -(28998) found -[9506] Forked 28999 -(28999) found -[9505] Forked 29000 -(29000) found -[9504] Forked 29001 -(29001) found -[9503] Forked 29002 -(29002) found -[9502] Forked 29003 -(29003) found -[9501] Forked 29004 -(29004) found -[9500] Forked 29005 -(29005) found -[9499] Forked 29006 -(29006) found -[9498] Forked 29007 -(29007) found -[9497] Forked 29008 -(29008) found -[9496] Forked 29009 -(29009) found -[9495] Forked 29010 -(29010) found -[9494] Forked 29011 -(29011) found -[9493] Forked 29012 -(29012) found -[9492] Forked 29013 -(29013) found -[9491] Forked 29014 -(29014) found -[9490] Forked 29015 -(29015) found -[9489] Forked 29016 -(29016) found -[9488] Forked 29017 -(29017) found -[9487] Forked 29018 -(29018) found -[9486] Forked 29019 -(29019) found -[9485] Forked 29020 -(29020) found -[9484] Forked 29021 -(29021) found -[9483] Forked 29022 -(29022) found -[9482] Forked 29023 -(29023) found -[9481] Forked 29024 -[9480] Forked 29025 -(29024) found -(29025) found -[9479] Forked 29026 -[9478] Forked 29027 -(29026) found -(29027) found -[9477] Forked 29028 -[9476] Forked 29029 -(29028) found -(29029) found -[9475] Forked 29030 -(29030) found -[9474] Forked 29031 -[9473] Forked 29032 -(29031) found -(29032) found -[9472] Forked 29033 -[9471] Forked 29034 -(29033) found -(29034) found -[9470] Forked 29035 -[9469] Forked 29036 -(29035) found -(29036) found -[9468] Forked 29037 -[9467] Forked 29038 -(29037) found -(29038) found -[9466] Forked 29039 -[9465] Forked 29040 -(29039) found -(29040) found -[9464] Forked 29041 -[9463] Forked 29042 -(29041) found -(29042) found -[9462] Forked 29043 -[9461] Forked 29044 -(29043) found -(29044) found -[9460] Forked 29045 -[9459] Forked 29046 -(29045) found -(29046) found -[9458] Forked 29047 -[9457] Forked 29048 -(29047) found -(29048) found -[9456] Forked 29049 -[9455] Forked 29050 -(29049) found -(29050) found -[9454] Forked 29051 -[9453] Forked 29052 -(29051) found -(29052) found -[9452] Forked 29053 -[9451] Forked 29054 -(29053) found -(29054) found -[9450] Forked 29055 -[9449] Forked 29056 -(29055) found -(29056) found -[9448] Forked 29057 -[9447] Forked 29058 -(29057) found -(29058) found -[9446] Forked 29059 -[9445] Forked 29060 -(29059) found -(29060) found -[9444] Forked 29061 -[9443] Forked 29062 -(29061) found -(29062) found -[9442] Forked 29063 -[9441] Forked 29064 -(29063) found -(29064) found -[9440] Forked 29065 -[9439] Forked 29066 -(29065) found -(29066) found -[9438] Forked 29067 -(29067) found -[9437] Forked 29068 -(29068) found -[9436] Forked 29069 -(29069) found -[9435] Forked 29070 -(29070) found -[9434] Forked 29071 -(29071) found -[9433] Forked 29072 -(29072) found -[9432] Forked 29073 -(29073) found -[9431] Forked 29074 -(29074) found -[9430] Forked 29075 -(29075) found -[9429] Forked 29076 -(29076) found -[9428] Forked 29077 -(29077) found -[9427] Forked 29078 -(29078) found -[9426] Forked 29079 -(29079) found -[9425] Forked 29080 -(29080) found -[9424] Forked 29081 -(29081) found -[9423] Forked 29082 -(29082) found -[9422] Forked 29083 -(29083) found -[9421] Forked 29084 -(29084) found -[9420] Forked 29085 -(29085) found -[9419] Forked 29086 -(29086) found -[9418] Forked 29087 -(29087) found -[9417] Forked 29088 -(29088) found -[9416] Forked 29089 -(29089) found -[9415] Forked 29090 -(29090) found -[9414] Forked 29091 -(29091) found -[9413] Forked 29092 -(29092) found -[9412] Forked 29093 -(29093) found -[9411] Forked 29094 -(29094) found -[9410] Forked 29095 -(29095) found -[9409] Forked 29096 -(29096) found -[9408] Forked 29097 -(29097) found -[9407] Forked 29098 -(29098) found -[9406] Forked 29099 -(29099) found -[9405] Forked 29100 -(29100) found -[9404] Forked 29101 -(29101) found -[9403] Forked 29102 -(29102) found -[9402] Forked 29103 -[9401] Forked 29104 -(29103) found -(29104) found -[9400] Forked 29105 -[9399] Forked 29106 -(29105) found -(29106) found -[9398] Forked 29107 -(29107) found -[9397] Forked 29108 -[9396] Forked 29109 -(29108) found -(29109) found -[9395] Forked 29110 -[9394] Forked 29111 -(29110) found -(29111) found -[9393] Forked 29112 -[9392] Forked 29113 -(29112) found -(29113) found -[9391] Forked 29114 -[9390] Forked 29115 -(29114) found -(29115) found -[9389] Forked 29116 -[9388] Forked 29117 -(29116) found -(29117) found -[9387] Forked 29118 -[9386] Forked 29119 -(29118) found -(29119) found -[9385] Forked 29120 -[9384] Forked 29121 -(29120) found -(29121) found -[9383] Forked 29122 -[9382] Forked 29123 -(29122) found -(29123) found -[9381] Forked 29124 -[9380] Forked 29125 -(29124) found -(29125) found -[9379] Forked 29126 -[9378] Forked 29127 -(29126) found -(29127) found -[9377] Forked 29128 -[9376] Forked 29129 -(29128) found -(29129) found -[9375] Forked 29130 -[9374] Forked 29131 -(29130) found -(29131) found -[9373] Forked 29132 -[9372] Forked 29133 -(29132) found -(29133) found -[9371] Forked 29134 -[9370] Forked 29135 -(29134) found -(29135) found -[9369] Forked 29136 -[9368] Forked 29137 -(29136) found -(29137) found -[9367] Forked 29138 -[9366] Forked 29139 -(29138) found -(29139) found -[9365] Forked 29140 -[9364] Forked 29141 -(29140) found -(29141) found -[9363] Forked 29142 -[9362] Forked 29143 -(29142) found -(29143) found -[9361] Forked 29144 -[9360] Forked 29145 -(29144) found -(29145) found -[9359] Forked 29146 -[9358] Forked 29147 -(29146) found -(29147) found -[9357] Forked 29148 -[9356] Forked 29149 -(29148) found -(29149) found -[9355] Forked 29150 -[9354] Forked 29151 -(29150) found -(29151) found -[9353] Forked 29152 -[9352] Forked 29153 -(29152) found -(29153) found -[9351] Forked 29154 -[9350] Forked 29155 -(29154) found -(29155) found -[9349] Forked 29156 -[9348] Forked 29157 -(29156) found -(29157) found -[9347] Forked 29158 -[9346] Forked 29159 -(29158) found -(29159) found -[9345] Forked 29160 -[9344] Forked 29161 -(29160) found -(29161) found -[9343] Forked 29162 -[9342] Forked 29163 -(29162) found -(29163) found -[9341] Forked 29164 -[9340] Forked 29165 -(29164) found -(29165) found -[9339] Forked 29166 -[9338] Forked 29167 -(29166) found -(29167) found -[9337] Forked 29168 -[9336] Forked 29169 -(29168) found -(29169) found -[9335] Forked 29170 -[9334] Forked 29171 -(29170) found -(29171) found -[9333] Forked 29172 -[9332] Forked 29173 -(29172) found -(29173) found -[9331] Forked 29174 -[9330] Forked 29176 -(29174) found -(29176) found -[9329] Forked 29177 -(29177) found -[9328] Forked 29178 -(29178) found -[9327] Forked 29179 -(29179) found -[9326] Forked 29180 -(29180) found -[9325] Forked 29181 -(29181) found -[9324] Forked 29182 -(29182) found -[9323] Forked 29183 -(29183) found -[9322] Forked 29184 -(29184) found -[9321] Forked 29185 -(29185) found -[9320] Forked 29186 -(29186) found -[9319] Forked 29187 -(29187) found -[9318] Forked 29188 -(29188) found -[9317] Forked 29189 -(29189) found -[9316] Forked 29190 -(29190) found -[9315] Forked 29191 -(29191) found -[9314] Forked 29192 -(29192) found -[9313] Forked 29193 -(29193) found -[9312] Forked 29194 -(29194) found -[9311] Forked 29195 -(29195) found -[9310] Forked 29196 -(29196) found -[9309] Forked 29197 -(29197) found -[9308] Forked 29198 -(29198) found -[9307] Forked 29199 -(29199) found -[9306] Forked 29200 -(29200) found -[9305] Forked 29201 -(29201) found -[9304] Forked 29202 -(29202) found -[9303] Forked 29203 -(29203) found -[9302] Forked 29204 -(29204) found -[9301] Forked 29205 -(29205) found -[9300] Forked 29206 -(29206) found -[9299] Forked 29207 -(29207) found -[9298] Forked 29208 -(29208) found -[9297] Forked 29209 -(29209) found -[9296] Forked 29210 -(29210) found -[9295] Forked 29211 -(29211) found -[9294] Forked 29212 -(29212) found -[9293] Forked 29213 -(29213) found -[9292] Forked 29214 -(29214) found -[9291] Forked 29215 -(29215) found -[9290] Forked 29216 -(29216) found -[9289] Forked 29217 -(29217) found -[9288] Forked 29218 -(29218) found -[9287] Forked 29219 -(29219) found -[9286] Forked 29220 -(29220) found -[9285] Forked 29221 -(29221) found -[9284] Forked 29222 -(29222) found -[9283] Forked 29223 -(29223) found -[9282] Forked 29224 -(29224) found -[9281] Forked 29225 -(29225) found -[9280] Forked 29226 -[9279] Forked 29227 -(29226) found -(29227) found -[9278] Forked 29228 -[9277] Forked 29229 -(29228) found -(29229) found -[9276] Forked 29230 -[9275] Forked 29231 -(29230) found -(29231) found -[9274] Forked 29232 -[9273] Forked 29233 -(29232) found -(29233) found -[9272] Forked 29234 -[9271] Forked 29235 -(29234) found -(29235) found -[9270] Forked 29236 -[9269] Forked 29237 -(29236) found -(29237) found -[9268] Forked 29238 -[9267] Forked 29239 -(29238) found -(29239) found -[9266] Forked 29240 -[9265] Forked 29241 -(29240) found -(29241) found -[9264] Forked 29242 -[9263] Forked 29243 -(29242) found -(29243) found -[9262] Forked 29244 -[9261] Forked 29245 -(29244) found -(29245) found -[9260] Forked 29246 -[9259] Forked 29247 -(29246) found -(29247) found -[9258] Forked 29248 -[9257] Forked 29249 -(29248) found -(29249) found -[9256] Forked 29250 -[9255] Forked 29251 -(29250) found -(29251) found -[9254] Forked 29252 -[9253] Forked 29253 -(29252) found -(29253) found -[9252] Forked 29254 -[9251] Forked 29255 -(29254) found -(29255) found -[9250] Forked 29256 -[9249] Forked 29257 -(29256) found -(29257) found -[9248] Forked 29258 -[9247] Forked 29259 -(29258) found -(29259) found -[9246] Forked 29260 -[9245] Forked 29261 -(29260) found -(29261) found -[9244] Forked 29262 -[9243] Forked 29263 -(29262) found -(29263) found -[9242] Forked 29264 -[9241] Forked 29265 -(29264) found -(29265) found -[9240] Forked 29266 -[9239] Forked 29267 -(29266) found -(29267) found -[9238] Forked 29268 -[9237] Forked 29269 -(29268) found -(29269) found -[9236] Forked 29270 -[9235] Forked 29271 -(29270) found -(29271) found -[9234] Forked 29272 -(29272) found -[9233] Forked 29273 -(29273) found -[9232] Forked 29274 -(29274) found -[9231] Forked 29275 -(29275) found -[9230] Forked 29276 -(29276) found -[9229] Forked 29277 -(29277) found -[9228] Forked 29278 -(29278) found -[9227] Forked 29279 -(29279) found -[9226] Forked 29280 -(29280) found -[9225] Forked 29281 -(29281) found -[9224] Forked 29282 -(29282) found -[9223] Forked 29283 -(29283) found -[9222] Forked 29284 -(29284) found -[9221] Forked 29285 -(29285) found -[9220] Forked 29286 -(29286) found -[9219] Forked 29287 -(29287) found -[9218] Forked 29288 -(29288) found -[9217] Forked 29289 -(29289) found -[9216] Forked 29290 -(29290) found -[9215] Forked 29291 -(29291) found -[9214] Forked 29292 -(29292) found -[9213] Forked 29293 -(29293) found -[9212] Forked 29294 -(29294) found -[9211] Forked 29295 -(29295) found -[9210] Forked 29296 -(29296) found -[9209] Forked 29297 -(29297) found -[9208] Forked 29298 -(29298) found -[9207] Forked 29299 -(29299) found -[9206] Forked 29300 -(29300) found -[9205] Forked 29301 -(29301) found -[9204] Forked 29302 -(29302) found -[9203] Forked 29303 -(29303) found -[9202] Forked 29304 -(29304) found -[9201] Forked 29305 -(29305) found -[9200] Forked 29306 -[9199] Forked 29307 -(29306) found -(29307) found -[9198] Forked 29308 -[9197] Forked 29309 -(29308) found -(29309) found -[9196] Forked 29310 -[9195] Forked 29311 -(29310) found -(29311) found -[9194] Forked 29312 -[9193] Forked 29313 -(29312) found -(29313) found -[9192] Forked 29314 -[9191] Forked 29315 -(29314) found -(29315) found -[9190] Forked 29316 -[9189] Forked 29317 -(29316) found -(29317) found -[9188] Forked 29318 -[9187] Forked 29319 -(29318) found -(29319) found -[9186] Forked 29320 -[9185] Forked 29321 -(29320) found -(29321) found -[9184] Forked 29322 -[9183] Forked 29323 -(29322) found -(29323) found -[9182] Forked 29324 -[9181] Forked 29325 -(29324) found -(29325) found -[9180] Forked 29326 -[9179] Forked 29327 -(29326) found -(29327) found -[9178] Forked 29328 -[9177] Forked 29329 -(29328) found -(29329) found -[9176] Forked 29330 -[9175] Forked 29331 -(29330) found -(29331) found -[9174] Forked 29332 -[9173] Forked 29333 -(29332) found -(29333) found -[9172] Forked 29334 -[9171] Forked 29335 -(29334) found -(29335) found -[9170] Forked 29336 -[9169] Forked 29337 -(29336) found -(29337) found -[9168] Forked 29338 -[9167] Forked 29339 -(29338) found -(29339) found -[9166] Forked 29340 -[9165] Forked 29341 -(29340) found -(29341) found -[9164] Forked 29342 -[9163] Forked 29343 -(29342) found -(29343) found -[9162] Forked 29344 -[9161] Forked 29345 -(29344) found -(29345) found -[9160] Forked 29346 -[9159] Forked 29347 -(29346) found -(29347) found -[9158] Forked 29348 -[9157] Forked 29349 -(29348) found -(29349) found -[9156] Forked 29350 -[9155] Forked 29351 -(29350) found -(29351) found -[9154] Forked 29352 -[9153] Forked 29353 -(29352) found -(29353) found -[9152] Forked 29354 -[9151] Forked 29355 -(29354) found -(29355) found -[9150] Forked 29356 -[9149] Forked 29357 -(29356) found -(29357) found -[9148] Forked 29358 -[9147] Forked 29359 -(29358) found -(29359) found -[9146] Forked 29360 -[9145] Forked 29361 -(29360) found -(29361) found -[9144] Forked 29362 -[9143] Forked 29363 -(29362) found -(29363) found -[9142] Forked 29364 -[9141] Forked 29365 -(29364) found -(29365) found -[9140] Forked 29366 -[9139] Forked 29367 -(29366) found -(29367) found -[9138] Forked 29368 -[9137] Forked 29369 -(29368) found -(29369) found -[9136] Forked 29370 -[9135] Forked 29371 -(29370) found -(29371) found -[9134] Forked 29372 -[9133] Forked 29373 -(29372) found -(29373) found -[9132] Forked 29374 -[9131] Forked 29375 -(29374) found -(29375) found -[9130] Forked 29376 -[9129] Forked 29377 -(29376) found -(29377) found -[9128] Forked 29378 -[9127] Forked 29379 -(29378) found -(29379) found -[9126] Forked 29380 -[9125] Forked 29381 -(29380) found -(29381) found -[9124] Forked 29382 -[9123] Forked 29383 -(29382) found -(29383) found -[9122] Forked 29384 -[9121] Forked 29385 -(29384) found -(29385) found -[9120] Forked 29386 -[9119] Forked 29387 -(29386) found -(29387) found -[9118] Forked 29388 -[9117] Forked 29389 -(29388) found -(29389) found -[9116] Forked 29390 -[9115] Forked 29391 -(29390) found -(29391) found -[9114] Forked 29392 -[9113] Forked 29393 -(29392) found -(29393) found -[9112] Forked 29394 -[9111] Forked 29395 -(29394) found -(29395) found -[9110] Forked 29396 -(29396) found -[9109] Forked 29397 -(29397) found -[9108] Forked 29398 -(29398) found -[9107] Forked 29399 -(29399) found -[9106] Forked 29400 -(29400) found -[9105] Forked 29401 -(29401) found -[9104] Forked 29402 -(29402) found -[9103] Forked 29403 -(29403) found -[9102] Forked 29404 -(29404) found -[9101] Forked 29405 -(29405) found -[9100] Forked 29406 -(29406) found -[9099] Forked 29407 -(29407) found -[9098] Forked 29408 -(29408) found -[9097] Forked 29409 -(29409) found -[9096] Forked 29410 -(29410) found -[9095] Forked 29411 -(29411) found -[9094] Forked 29412 -(29412) found -[9093] Forked 29413 -(29413) found -[9092] Forked 29414 -(29414) found -[9091] Forked 29415 -(29415) found -[9090] Forked 29416 -(29416) found -[9089] Forked 29417 -(29417) found -[9088] Forked 29418 -(29418) found -[9087] Forked 29419 -(29419) found -[9086] Forked 29420 -(29420) found -[9085] Forked 29421 -(29421) found -[9084] Forked 29422 -(29422) found -[9083] Forked 29423 -(29423) found -[9082] Forked 29424 -(29424) found -[9081] Forked 29425 -(29425) found -[9080] Forked 29426 -(29426) found -[9079] Forked 29427 -(29427) found -[9078] Forked 29428 -(29428) found -[9077] Forked 29429 -(29429) found -[9076] Forked 29430 -(29430) found -[9075] Forked 29431 -(29431) found -[9074] Forked 29432 -[9073] Forked 29433 -(29432) found -(29433) found -[9072] Forked 29434 -[9071] Forked 29435 -(29434) found -(29435) found -[9070] Forked 29436 -(29436) found -[9069] Forked 29437 -[9068] Forked 29438 -(29437) found -(29438) found -[9067] Forked 29439 -[9066] Forked 29440 -(29439) found -(29440) found -[9065] Forked 29441 -[9064] Forked 29442 -(29441) found -(29442) found -[9063] Forked 29443 -[9062] Forked 29444 -(29443) found -(29444) found -[9061] Forked 29445 -[9060] Forked 29446 -(29445) found -(29446) found -[9059] Forked 29447 -[9058] Forked 29448 -(29447) found -(29448) found -[9057] Forked 29449 -[9056] Forked 29450 -(29449) found -(29450) found -[9055] Forked 29451 -[9054] Forked 29452 -(29451) found -(29452) found -[9053] Forked 29453 -[9052] Forked 29454 -(29453) found -(29454) found -[9051] Forked 29455 -[9050] Forked 29456 -(29455) found -(29456) found -[9049] Forked 29457 -[9048] Forked 29458 -(29457) found -(29458) found -[9047] Forked 29459 -[9046] Forked 29460 -(29459) found -(29460) found -[9045] Forked 29461 -[9044] Forked 29462 -(29461) found -(29462) found -[9043] Forked 29463 -[9042] Forked 29464 -(29463) found -(29464) found -[9041] Forked 29465 -[9040] Forked 29466 -(29465) found -(29466) found -[9039] Forked 29467 -[9038] Forked 29468 -(29467) found -(29468) found -[9037] Forked 29469 -[9036] Forked 29470 -(29469) found -(29470) found -[9035] Forked 29471 -[9034] Forked 29472 -(29471) found -(29472) found -[9033] Forked 29473 -[9032] Forked 29474 -(29473) found -(29474) found -[9031] Forked 29475 -[9030] Forked 29476 -(29475) found -(29476) found -[9029] Forked 29477 -[9028] Forked 29478 -(29477) found -(29478) found -[9027] Forked 29479 -[9026] Forked 29480 -(29479) found -(29480) found -[9025] Forked 29481 -[9024] Forked 29482 -(29481) found -(29482) found -[9023] Forked 29483 -[9022] Forked 29484 -(29483) found -(29484) found -[9021] Forked 29485 -[9020] Forked 29486 -(29485) found -(29486) found -[9019] Forked 29487 -[9018] Forked 29488 -(29487) found -(29488) found -[9017] Forked 29489 -[9016] Forked 29490 -(29489) found -(29490) found -[9015] Forked 29491 -[9014] Forked 29492 -(29491) found -(29492) found -[9013] Forked 29493 -[9012] Forked 29494 -(29493) found -(29494) found -[9011] Forked 29495 -[9010] Forked 29496 -(29495) found -(29496) found -[9009] Forked 29497 -[9008] Forked 29498 -(29497) found -(29498) found -[9007] Forked 29499 -[9006] Forked 29500 -(29499) found -(29500) found -[9005] Forked 29501 -[9004] Forked 29502 -(29501) found -(29502) found -[9003] Forked 29503 -[9002] Forked 29504 -(29503) found -(29504) found -[9001] Forked 29505 -[9000] Forked 29506 -(29505) found -(29506) found -[8999] Forked 29507 -[8998] Forked 29508 -(29507) found -(29508) found -[8997] Forked 29509 -[8996] Forked 29510 -(29509) found -(29510) found -[8995] Forked 29511 -[8994] Forked 29512 -(29511) found -(29512) found -[8993] Forked 29513 -[8992] Forked 29514 -(29513) found -(29514) found -[8991] Forked 29515 -[8990] Forked 29516 -(29515) found -(29516) found -[8989] Forked 29517 -[8988] Forked 29518 -(29517) found -(29518) found -[8987] Forked 29519 -[8986] Forked 29520 -(29519) found -(29520) found -[8985] Forked 29521 -[8984] Forked 29522 -(29521) found -(29522) found -[8983] Forked 29523 -[8982] Forked 29524 -(29523) found -(29524) found -[8981] Forked 29525 -[8980] Forked 29526 -(29525) found -(29526) found -[8979] Forked 29527 -[8978] Forked 29528 -(29527) found -(29528) found -[8977] Forked 29529 -[8976] Forked 29530 -(29529) found -(29530) found -[8975] Forked 29531 -[8974] Forked 29532 -(29531) found -(29532) found -[8973] Forked 29533 -[8972] Forked 29534 -(29533) found -(29534) found -[8971] Forked 29535 -[8970] Forked 29536 -(29535) found -(29536) found -[8969] Forked 29537 -[8968] Forked 29538 -(29537) found -(29538) found -[8967] Forked 29539 -[8966] Forked 29540 -(29539) found -(29540) found -[8965] Forked 29541 -[8964] Forked 29542 -(29541) found -(29542) found -[8963] Forked 29543 -[8962] Forked 29544 -(29543) found -(29544) found -[8961] Forked 29545 -[8960] Forked 29546 -(29545) found -(29546) found -[8959] Forked 29547 -(29547) found -[8958] Forked 29548 -(29548) found -[8957] Forked 29549 -[8956] Forked 29550 -(29549) found -(29550) found -[8955] Forked 29551 -[8954] Forked 29552 -(29551) found -(29552) found -[8953] Forked 29553 -[8952] Forked 29554 -(29553) found -(29554) found -[8951] Forked 29555 -[8950] Forked 29556 -(29555) found -(29556) found -[8949] Forked 29557 -[8948] Forked 29558 -(29557) found -(29558) found -[8947] Forked 29559 -[8946] Forked 29560 -(29559) found -(29560) found -[8945] Forked 29561 -[8944] Forked 29562 -(29561) found -(29562) found -[8943] Forked 29563 -[8942] Forked 29564 -(29563) found -(29564) found -[8941] Forked 29565 -(29565) found -[8940] Forked 29566 -(29566) found -[8939] Forked 29567 -(29567) found -[8938] Forked 29568 -(29568) found -[8937] Forked 29569 -(29569) found -[8936] Forked 29570 -(29570) found -[8935] Forked 29571 -(29571) found -[8934] Forked 29572 -(29572) found -[8933] Forked 29573 -(29573) found -[8932] Forked 29574 -(29574) found -[8931] Forked 29575 -(29575) found -[8930] Forked 29576 -(29576) found -[8929] Forked 29577 -(29577) found -[8928] Forked 29578 -(29578) found -[8927] Forked 29579 -(29579) found -[8926] Forked 29580 -(29580) found -[8925] Forked 29581 -(29581) found -[8924] Forked 29582 -(29582) found -[8923] Forked 29583 -(29583) found -[8922] Forked 29584 -(29584) found -[8921] Forked 29585 -(29585) found -[8920] Forked 29586 -(29586) found -[8919] Forked 29587 -(29587) found -[8918] Forked 29588 -(29588) found -[8917] Forked 29589 -(29589) found -[8916] Forked 29590 -(29590) found -[8915] Forked 29591 -(29591) found -[8914] Forked 29592 -(29592) found -[8913] Forked 29593 -(29593) found -[8912] Forked 29594 -(29594) found -[8911] Forked 29595 -(29595) found -[8910] Forked 29596 -(29596) found -[8909] Forked 29597 -(29597) found -[8908] Forked 29598 -(29598) found -[8907] Forked 29599 -(29599) found -[8906] Forked 29600 -(29600) found -[8905] Forked 29601 -(29601) found -[8904] Forked 29602 -(29602) found -[8903] Forked 29603 -(29603) found -[8902] Forked 29604 -(29604) found -[8901] Forked 29605 -(29605) found -[8900] Forked 29606 -(29606) found -[8899] Forked 29607 -(29607) found -[8898] Forked 29608 -(29608) found -[8897] Forked 29609 -(29609) found -[8896] Forked 29610 -(29610) found -[8895] Forked 29611 -(29611) found -[8894] Forked 29612 -(29612) found -[8893] Forked 29613 -(29613) found -[8892] Forked 29614 -(29614) found -[8891] Forked 29615 -(29615) found -[8890] Forked 29616 -(29616) found -[8889] Forked 29617 -(29617) found -[8888] Forked 29618 -(29618) found -[8887] Forked 29619 -(29619) found -[8886] Forked 29620 -(29620) found -[8885] Forked 29621 -(29621) found -[8884] Forked 29622 -(29622) found -[8883] Forked 29623 -(29623) found -[8882] Forked 29624 -(29624) found -[8881] Forked 29625 -(29625) found -[8880] Forked 29626 -(29626) found -[8879] Forked 29627 -(29627) found -[8878] Forked 29628 -(29628) found -[8877] Forked 29629 -(29629) found -[8876] Forked 29630 -(29630) found -[8875] Forked 29631 -(29631) found -[8874] Forked 29632 -(29632) found -[8873] Forked 29633 -(29633) found -[8872] Forked 29634 -(29634) found -[8871] Forked 29635 -(29635) found -[8870] Forked 29636 -(29636) found -[8869] Forked 29637 -[8868] Forked 29638 -(29637) found -(29638) found -[8867] Forked 29639 -[8866] Forked 29640 -(29639) found -(29640) found -[8865] Forked 29641 -[8864] Forked 29642 -(29641) found -(29642) found -[8863] Forked 29643 -[8862] Forked 29644 -(29643) found -(29644) found -[8861] Forked 29645 -[8860] Forked 29646 -(29645) found -(29646) found -[8859] Forked 29647 -[8858] Forked 29648 -(29647) found -(29648) found -[8857] Forked 29649 -[8856] Forked 29650 -(29649) found -(29650) found -[8855] Forked 29651 -[8854] Forked 29652 -(29651) found -(29652) found -[8853] Forked 29653 -[8852] Forked 29654 -(29653) found -(29654) found -[8851] Forked 29655 -[8850] Forked 29656 -(29655) found -(29656) found -[8849] Forked 29657 -[8848] Forked 29659 -(29657) found -(29659) found -[8847] Forked 29660 -(29660) found -[8846] Forked 29661 -(29661) found -[8845] Forked 29662 -(29662) found -[8844] Forked 29663 -(29663) found -[8843] Forked 29664 -(29664) found -[8842] Forked 29665 -(29665) found -[8841] Forked 29666 -(29666) found -[8840] Forked 29667 -(29667) found -[8839] Forked 29668 -(29668) found -[8838] Forked 29669 -(29669) found -[8837] Forked 29670 -(29670) found -[8836] Forked 29671 -(29671) found -[8835] Forked 29672 -(29672) found -[8834] Forked 29673 -(29673) found -[8833] Forked 29674 -(29674) found -[8832] Forked 29675 -(29675) found -[8831] Forked 29676 -(29676) found -[8830] Forked 29677 -(29677) found -[8829] Forked 29678 -(29678) found -[8828] Forked 29679 -(29679) found -[8827] Forked 29680 -(29680) found -[8826] Forked 29681 -(29681) found -[8825] Forked 29682 -(29682) found -[8824] Forked 29683 -(29683) found -[8823] Forked 29684 -(29684) found -[8822] Forked 29685 -(29685) found -[8821] Forked 29686 -(29686) found -[8820] Forked 29687 -(29687) found -[8819] Forked 29688 -(29688) found -[8818] Forked 29689 -(29689) found -[8817] Forked 29690 -(29690) found -[8816] Forked 29691 -(29691) found -[8815] Forked 29692 -(29692) found -[8814] Forked 29693 -(29693) found -[8813] Forked 29694 -(29694) found -[8812] Forked 29695 -(29695) found -[8811] Forked 29696 -(29696) found -[8810] Forked 29697 -(29697) found -[8809] Forked 29698 -(29698) found -[8808] Forked 29699 -(29699) found -[8807] Forked 29700 -(29700) found -[8806] Forked 29701 -(29701) found -[8805] Forked 29702 -(29702) found -[8804] Forked 29703 -(29703) found -[8803] Forked 29704 -(29704) found -[8802] Forked 29705 -(29705) found -[8801] Forked 29706 -(29706) found -[8800] Forked 29707 -(29707) found -[8799] Forked 29708 -(29708) found -[8798] Forked 29709 -(29709) found -[8797] Forked 29710 -(29710) found -[8796] Forked 29711 -(29711) found -[8795] Forked 29712 -(29712) found -[8794] Forked 29713 -(29713) found -[8793] Forked 29714 -(29714) found -[8792] Forked 29715 -(29715) found -[8791] Forked 29716 -(29716) found -[8790] Forked 29717 -(29717) found -[8789] Forked 29718 -(29718) found -[8788] Forked 29719 -(29719) found -[8787] Forked 29720 -(29720) found -[8786] Forked 29721 -(29721) found -[8785] Forked 29722 -(29722) found -[8784] Forked 29723 -(29723) found -[8783] Forked 29724 -(29724) found -[8782] Forked 29725 -(29725) found -[8781] Forked 29726 -(29726) found -[8780] Forked 29727 -(29727) found -[8779] Forked 29728 -(29728) found -[8778] Forked 29729 -(29729) found -[8777] Forked 29730 -(29730) found -[8776] Forked 29731 -(29731) found -[8775] Forked 29732 -(29732) found -[8774] Forked 29733 -(29733) found -[8773] Forked 29734 -(29734) found -[8772] Forked 29735 -(29735) found -[8771] Forked 29736 -(29736) found -[8770] Forked 29737 -(29737) found -[8769] Forked 29738 -(29738) found -[8768] Forked 29739 -(29739) found -[8767] Forked 29740 -(29740) found -[8766] Forked 29741 -(29741) found -[8765] Forked 29742 -(29742) found -[8764] Forked 29743 -(29743) found -[8763] Forked 29744 -(29744) found -[8762] Forked 29745 -(29745) found -[8761] Forked 29746 -(29746) found -[8760] Forked 29747 -(29747) found -[8759] Forked 29748 -(29748) found -[8758] Forked 29749 -[8757] Forked 29750 -(29749) found -(29750) found -[8756] Forked 29751 -[8755] Forked 29752 -(29751) found -(29752) found -[8754] Forked 29753 -[8753] Forked 29755 -(29753) found -(29755) found -[8752] Forked 29756 -(29756) found -[8751] Forked 29757 -(29757) found -[8750] Forked 29758 -(29758) found -[8749] Forked 29759 -(29759) found -[8748] Forked 29760 -(29760) found -[8747] Forked 29761 -(29761) found -[8746] Forked 29762 -(29762) found -[8745] Forked 29763 -(29763) found -[8744] Forked 29764 -(29764) found -[8743] Forked 29765 -(29765) found -[8742] Forked 29766 -(29766) found -[8741] Forked 29767 -(29767) found -[8740] Forked 29768 -(29768) found -[8739] Forked 29769 -(29769) found -[8738] Forked 29770 -(29770) found -[8737] Forked 29771 -(29771) found -[8736] Forked 29772 -(29772) found -[8735] Forked 29773 -(29773) found -[8734] Forked 29774 -(29774) found -[8733] Forked 29775 -(29775) found -[8732] Forked 29776 -(29776) found -[8731] Forked 29777 -(29777) found -[8730] Forked 29778 -(29778) found -[8729] Forked 29779 -(29779) found -[8728] Forked 29780 -(29780) found -[8727] Forked 29781 -(29781) found -[8726] Forked 29782 -(29782) found -[8725] Forked 29783 -(29783) found -[8724] Forked 29784 -(29784) found -[8723] Forked 29785 -(29785) found -[8722] Forked 29786 -(29786) found -[8721] Forked 29787 -(29787) found -[8720] Forked 29788 -(29788) found -[8719] Forked 29789 -(29789) found -[8718] Forked 29790 -(29790) found -[8717] Forked 29791 -(29791) found -[8716] Forked 29792 -(29792) found -[8715] Forked 29793 -(29793) found -[8714] Forked 29794 -(29794) found -[8713] Forked 29795 -(29795) found -[8712] Forked 29796 -(29796) found -[8711] Forked 29797 -(29797) found -[8710] Forked 29798 -(29798) found -[8709] Forked 29799 -(29799) found -[8708] Forked 29800 -(29800) found -[8707] Forked 29801 -(29801) found -[8706] Forked 29802 -(29802) found -[8705] Forked 29803 -(29803) found -[8704] Forked 29804 -(29804) found -[8703] Forked 29805 -(29805) found -[8702] Forked 29806 -(29806) found -[8701] Forked 29807 -(29807) found -[8700] Forked 29808 -(29808) found -[8699] Forked 29809 -(29809) found -[8698] Forked 29810 -(29810) found -[8697] Forked 29811 -(29811) found -[8696] Forked 29812 -(29812) found -[8695] Forked 29813 -(29813) found -[8694] Forked 29814 -(29814) found -[8693] Forked 29815 -(29815) found -[8692] Forked 29816 -(29816) found -[8691] Forked 29817 -(29817) found -[8690] Forked 29818 -(29818) found -[8689] Forked 29819 -(29819) found -[8688] Forked 29820 -(29820) found -[8687] Forked 29821 -(29821) found -[8686] Forked 29822 -(29822) found -[8685] Forked 29823 -(29823) found -[8684] Forked 29824 -(29824) found -[8683] Forked 29825 -(29825) found -[8682] Forked 29826 -(29826) found -[8681] Forked 29827 -(29827) found -[8680] Forked 29828 -(29828) found -[8679] Forked 29829 -(29829) found -[8678] Forked 29830 -(29830) found -[8677] Forked 29831 -(29831) found -[8676] Forked 29832 -(29832) found -[8675] Forked 29833 -(29833) found -[8674] Forked 29834 -(29834) found -[8673] Forked 29835 -(29835) found -[8672] Forked 29836 -(29836) found -[8671] Forked 29837 -(29837) found -[8670] Forked 29838 -(29838) found -[8669] Forked 29839 -(29839) found -[8668] Forked 29840 -(29840) found -[8667] Forked 29841 -(29841) found -[8666] Forked 29842 -(29842) found -[8665] Forked 29843 -(29843) found -[8664] Forked 29844 -(29844) found -[8663] Forked 29845 -(29845) found -[8662] Forked 29846 -(29846) found -[8661] Forked 29847 -(29847) found -[8660] Forked 29848 -(29848) found -[8659] Forked 29849 -(29849) found -[8658] Forked 29850 -(29850) found -[8657] Forked 29851 -(29851) found -[8656] Forked 29852 -(29852) found -[8655] Forked 29853 -(29853) found -[8654] Forked 29854 -(29854) found -[8653] Forked 29855 -(29855) found -[8652] Forked 29856 -(29856) found -[8651] Forked 29857 -(29857) found -[8650] Forked 29858 -[8649] Forked 29859 -(29858) found -(29859) found -[8648] Forked 29860 -[8647] Forked 29861 -(29860) found -(29861) found -[8646] Forked 29862 -[8645] Forked 29863 -(29862) found -(29863) found -[8644] Forked 29864 -[8643] Forked 29865 -(29864) found -(29865) found -[8642] Forked 29866 -[8641] Forked 29867 -(29866) found -(29867) found -[8640] Forked 29868 -[8639] Forked 29869 -(29868) found -(29869) found -[8638] Forked 29870 -[8637] Forked 29871 -(29870) found -(29871) found -[8636] Forked 29872 -[8635] Forked 29873 -(29872) found -(29873) found -[8634] Forked 29874 -[8633] Forked 29875 -(29874) found -(29875) found -[8632] Forked 29876 -[8631] Forked 29877 -(29876) found -(29877) found -[8630] Forked 29878 -[8629] Forked 29879 -(29878) found -(29879) found -[8628] Forked 29880 -[8627] Forked 29881 -(29880) found -(29881) found -[8626] Forked 29882 -[8625] Forked 29883 -(29882) found -(29883) found -[8624] Forked 29884 -[8623] Forked 29885 -(29884) found -(29885) found -[8622] Forked 29886 -[8621] Forked 29887 -(29886) found -(29887) found -[8620] Forked 29888 -[8619] Forked 29889 -(29888) found -(29889) found -[8618] Forked 29890 -[8617] Forked 29891 -(29890) found -(29891) found -[8616] Forked 29892 -[8615] Forked 29893 -(29892) found -(29893) found -[8614] Forked 29894 -[8613] Forked 29895 -(29894) found -(29895) found -[8612] Forked 29896 -[8611] Forked 29897 -(29896) found -(29897) found -[8610] Forked 29898 -[8609] Forked 29899 -(29899) found -(29898) found -[8608] Forked 29900 -(29900) found -[8607] Forked 29901 -(29901) found -[8606] Forked 29902 -(29902) found -[8605] Forked 29903 -(29903) found -[8604] Forked 29904 -(29904) found -[8603] Forked 29905 -(29905) found -[8602] Forked 29906 -(29906) found -[8601] Forked 29907 -[8600] Forked 29908 -(29907) found -(29908) found -[8599] Forked 29909 -[8598] Forked 29910 -(29909) found -(29910) found -[8597] Forked 29911 -[8596] Forked 29912 -(29911) found -(29912) found -[8595] Forked 29913 -[8594] Forked 29914 -(29913) found -(29914) found -[8593] Forked 29915 -[8592] Forked 29916 -(29915) found -(29916) found -[8591] Forked 29917 -[8590] Forked 29918 -(29917) found -(29918) found -[8589] Forked 29919 -[8588] Forked 29920 -(29919) found -(29920) found -[8587] Forked 29921 -[8586] Forked 29922 -(29921) found -(29922) found -[8585] Forked 29923 -[8584] Forked 29924 -(29923) found -(29924) found -[8583] Forked 29925 -[8582] Forked 29926 -(29925) found -(29926) found -[8581] Forked 29927 -[8580] Forked 29928 -(29927) found -(29928) found -[8579] Forked 29929 -[8578] Forked 29930 -(29929) found -(29930) found -[8577] Forked 29931 -[8576] Forked 29932 -(29931) found -(29932) found -[8575] Forked 29933 -[8574] Forked 29934 -(29933) found -(29934) found -[8573] Forked 29935 -[8572] Forked 29936 -(29935) found -(29936) found -[8571] Forked 29937 -[8570] Forked 29938 -(29937) found -(29938) found -[8569] Forked 29939 -[8568] Forked 29940 -(29939) found -(29940) found -[8567] Forked 29941 -[8566] Forked 29942 -(29941) found -(29942) found -[8565] Forked 29943 -[8564] Forked 29944 -(29943) found -(29944) found -[8563] Forked 29945 -[8562] Forked 29946 -(29945) found -(29946) found -[8561] Forked 29947 -(29947) found -[8560] Forked 29948 -(29948) found -[8559] Forked 29949 -(29949) found -[8558] Forked 29950 -(29950) found -[8557] Forked 29951 -(29951) found -[8556] Forked 29952 -(29952) found -[8555] Forked 29953 -(29953) found -[8554] Forked 29954 -(29954) found -[8553] Forked 29955 -(29955) found -[8552] Forked 29956 -(29956) found -[8551] Forked 29957 -(29957) found -[8550] Forked 29958 -(29958) found -[8549] Forked 29959 -(29959) found -[8548] Forked 29960 -(29960) found -[8547] Forked 29961 -(29961) found -[8546] Forked 29962 -(29962) found -[8545] Forked 29963 -(29963) found -[8544] Forked 29964 -(29964) found -[8543] Forked 29965 -(29965) found -[8542] Forked 29966 -(29966) found -[8541] Forked 29967 -(29967) found -[8540] Forked 29968 -(29968) found -[8539] Forked 29969 -(29969) found -[8538] Forked 29970 -(29970) found -[8537] Forked 29971 -(29971) found -[8536] Forked 29972 -(29972) found -[8535] Forked 29973 -(29973) found -[8534] Forked 29974 -(29974) found -[8533] Forked 29975 -(29975) found -[8532] Forked 29976 -(29976) found -[8531] Forked 29977 -(29977) found -[8530] Forked 29978 -(29978) found -[8529] Forked 29979 -(29979) found -[8528] Forked 29980 -(29980) found -[8527] Forked 29981 -(29981) found -[8526] Forked 29982 -(29982) found -[8525] Forked 29983 -[8524] Forked 29984 -(29983) found -(29984) found -[8523] Forked 29985 -[8522] Forked 29986 -(29985) found -(29986) found -[8521] Forked 29987 -[8520] Forked 29988 -(29987) found -(29988) found -[8519] Forked 29989 -[8518] Forked 29990 -(29989) found -(29990) found -[8517] Forked 29991 -[8516] Forked 29992 -(29991) found -(29992) found -[8515] Forked 29993 -[8514] Forked 29994 -(29993) found -(29994) found -[8513] Forked 29995 -[8512] Forked 29996 -(29995) found -(29996) found -[8511] Forked 29997 -[8510] Forked 29998 -(29997) found -(29998) found -[8509] Forked 29999 -[8508] Forked 30000 -(29999) found -(30000) found -[8507] Forked 30001 -[8506] Forked 30002 -(30001) found -(30002) found -[8505] Forked 30003 -[8504] Forked 30004 -(30003) found -(30004) found -[8503] Forked 30005 -[8502] Forked 30006 -(30005) found -(30006) found -[8501] Forked 30007 -[8500] Forked 30008 -(30007) found -(30008) found -[8499] Forked 30009 -[8498] Forked 30010 -(30009) found -(30010) found -[8497] Forked 30011 -[8496] Forked 30012 -(30011) found -(30012) found -[8495] Forked 30013 -[8494] Forked 30014 -(30013) found -(30014) found -[8493] Forked 30015 -[8492] Forked 30016 -(30015) found -(30016) found -[8491] Forked 30017 -[8490] Forked 30018 -(30017) found -(30018) found -[8489] Forked 30019 -[8488] Forked 30020 -(30019) found -(30020) found -[8487] Forked 30021 -[8486] Forked 30022 -(30021) found -(30022) found -[8485] Forked 30023 -[8484] Forked 30024 -(30023) found -(30024) found -[8483] Forked 30025 -[8482] Forked 30026 -(30025) found -(30026) found -[8481] Forked 30027 -(30027) found -[8480] Forked 30028 -(30028) found -[8479] Forked 30029 -(30029) found -[8478] Forked 30030 -(30030) found -[8477] Forked 30031 -(30031) found -[8476] Forked 30032 -(30032) found -[8475] Forked 30033 -(30033) found -[8474] Forked 30034 -(30034) found -[8473] Forked 30035 -(30035) found -[8472] Forked 30036 -(30036) found -[8471] Forked 30037 -(30037) found -[8470] Forked 30038 -(30038) found -[8469] Forked 30039 -(30039) found -[8468] Forked 30040 -(30040) found -[8467] Forked 30041 -(30041) found -[8466] Forked 30042 -(30042) found -[8465] Forked 30043 -(30043) found -[8464] Forked 30044 -(30044) found -[8463] Forked 30045 -(30045) found -[8462] Forked 30046 -(30046) found -[8461] Forked 30047 -(30047) found -[8460] Forked 30048 -(30048) found -[8459] Forked 30049 -(30049) found -[8458] Forked 30050 -(30050) found -[8457] Forked 30051 -(30051) found -[8456] Forked 30052 -(30052) found -[8455] Forked 30053 -(30053) found -[8454] Forked 30054 -(30054) found -[8453] Forked 30055 -(30055) found -[8452] Forked 30056 -(30056) found -[8451] Forked 30057 -(30057) found -[8450] Forked 30058 -(30058) found -[8449] Forked 30059 -(30059) found -[8448] Forked 30060 -(30060) found -[8447] Forked 30061 -(30061) found -[8446] Forked 30062 -(30062) found -[8445] Forked 30063 -(30063) found -[8444] Forked 30064 -[8443] Forked 30065 -(30064) found -(30065) found -[8442] Forked 30066 -[8441] Forked 30067 -(30066) found -(30067) found -[8440] Forked 30068 -[8439] Forked 30069 -(30068) found -(30069) found -[8438] Forked 30070 -[8437] Forked 30071 -(30070) found -(30071) found -[8436] Forked 30072 -[8435] Forked 30073 -(30072) found -(30073) found -[8434] Forked 30074 -[8433] Forked 30075 -(30074) found -(30075) found -[8432] Forked 30076 -[8431] Forked 30077 -(30076) found -(30077) found -[8430] Forked 30078 -[8429] Forked 30079 -(30078) found -(30079) found -[8428] Forked 30080 -[8427] Forked 30081 -(30080) found -(30081) found -[8426] Forked 30082 -[8425] Forked 30083 -(30082) found -(30083) found -[8424] Forked 30084 -[8423] Forked 30085 -(30084) found -(30085) found -[8422] Forked 30086 -[8421] Forked 30087 -(30086) found -(30087) found -[8420] Forked 30088 -[8419] Forked 30089 -(30088) found -(30089) found -[8418] Forked 30090 -[8417] Forked 30091 -(30090) found -(30091) found -[8416] Forked 30092 -[8415] Forked 30093 -(30092) found -(30093) found -[8414] Forked 30094 -[8413] Forked 30095 -(30094) found -(30095) found -[8412] Forked 30096 -[8411] Forked 30097 -(30096) found -(30097) found -[8410] Forked 30098 -[8409] Forked 30099 -(30098) found -(30099) found -[8408] Forked 30100 -[8407] Forked 30101 -(30100) found -(30101) found -[8406] Forked 30102 -[8405] Forked 30103 -(30102) found -(30103) found -[8404] Forked 30104 -[8403] Forked 30105 -(30104) found -(30105) found -[8402] Forked 30106 -[8401] Forked 30107 -(30106) found -(30107) found -[8400] Forked 30108 -[8399] Forked 30109 -(30108) found -(30109) found -[8398] Forked 30110 -[8397] Forked 30111 -(30110) found -(30111) found -[8396] Forked 30112 -[8395] Forked 30113 -(30112) found -(30113) found -[8394] Forked 30114 -[8393] Forked 30115 -(30114) found -(30115) found -[8392] Forked 30116 -[8391] Forked 30117 -(30116) found -(30117) found -[8390] Forked 30118 -[8389] Forked 30119 -(30118) found -(30119) found -[8388] Forked 30120 -[8387] Forked 30121 -(30120) found -(30121) found -[8386] Forked 30122 -[8385] Forked 30123 -(30122) found -(30123) found -[8384] Forked 30124 -[8383] Forked 30125 -(30124) found -(30125) found -[8382] Forked 30126 -[8381] Forked 30127 -(30126) found -(30127) found -[8380] Forked 30128 -[8379] Forked 30129 -(30128) found -(30129) found -[8378] Forked 30130 -[8377] Forked 30131 -(30130) found -(30131) found -[8376] Forked 30132 -[8375] Forked 30133 -(30132) found -(30133) found -[8374] Forked 30134 -[8373] Forked 30135 -(30134) found -(30135) found -[8372] Forked 30136 -[8371] Forked 30137 -(30136) found -(30137) found -[8370] Forked 30138 -[8369] Forked 30139 -(30138) found -(30139) found -[8368] Forked 30140 -[8367] Forked 30141 -(30140) found -(30141) found -[8366] Forked 30142 -[8365] Forked 30143 -(30142) found -(30143) found -[8364] Forked 30144 -[8363] Forked 30145 -(30144) found -(30145) found -[8362] Forked 30146 -[8361] Forked 30147 -(30146) found -(30147) found -[8360] Forked 30148 -[8359] Forked 30149 -(30148) found -(30149) found -[8358] Forked 30150 -[8357] Forked 30151 -(30150) found -(30151) found -[8356] Forked 30152 -[8355] Forked 30153 -(30152) found -(30153) found -[8354] Forked 30154 -[8353] Forked 30155 -(30154) found -(30155) found -[8352] Forked 30156 -(30156) found -[8351] Forked 30157 -(30157) found -[8350] Forked 30158 -(30158) found -[8349] Forked 30159 -(30159) found -[8348] Forked 30160 -(30160) found -[8347] Forked 30161 -[8346] Forked 30162 -(30161) found -(30162) found -[8345] Forked 30163 -[8344] Forked 30164 -(30163) found -(30164) found -[8343] Forked 30165 -[8342] Forked 30166 -(30165) found -(30166) found -[8341] Forked 30167 -[8340] Forked 30168 -(30167) found -(30168) found -[8339] Forked 30169 -[8338] Forked 30170 -(30169) found -(30170) found -[8337] Forked 30171 -[8336] Forked 30172 -(30171) found -(30172) found -[8335] Forked 30173 -[8334] Forked 30174 -(30173) found -(30174) found -[8333] Forked 30175 -[8332] Forked 30176 -(30175) found -(30176) found -[8331] Forked 30177 -[8330] Forked 30178 -(30177) found -(30178) found -[8329] Forked 30179 -[8328] Forked 30180 -(30179) found -(30180) found -[8327] Forked 30181 -[8326] Forked 30182 -(30181) found -(30182) found -[8325] Forked 30183 -[8324] Forked 30184 -(30183) found -(30184) found -[8323] Forked 30185 -[8322] Forked 30186 -(30185) found -(30186) found -[8321] Forked 30187 -[8320] Forked 30188 -(30187) found -(30188) found -[8319] Forked 30189 -[8318] Forked 30190 -(30189) found -(30190) found -[8317] Forked 30191 -[8316] Forked 30192 -(30191) found -(30192) found -[8315] Forked 30193 -[8314] Forked 30194 -(30193) found -(30194) found -[8313] Forked 30195 -[8312] Forked 30196 -(30195) found -(30196) found -[8311] Forked 30197 -[8310] Forked 30198 -(30197) found -(30198) found -[8309] Forked 30199 -[8308] Forked 30201 -(30199) found -(30201) found -[8307] Forked 30202 -(30202) found -[8306] Forked 30203 -(30203) found -[8305] Forked 30204 -(30204) found -[8304] Forked 30205 -(30205) found -[8303] Forked 30206 -(30206) found -[8302] Forked 30207 -(30207) found -[8301] Forked 30208 -(30208) found -[8300] Forked 30209 -(30209) found -[8299] Forked 30210 -(30210) found -[8298] Forked 30211 -(30211) found -[8297] Forked 30212 -(30212) found -[8296] Forked 30213 -(30213) found -[8295] Forked 30214 -(30214) found -[8294] Forked 30215 -(30215) found -[8293] Forked 30216 -(30216) found -[8292] Forked 30217 -(30217) found -[8291] Forked 30218 -(30218) found -[8290] Forked 30219 -(30219) found -[8289] Forked 30220 -(30220) found -[8288] Forked 30221 -(30221) found -[8287] Forked 30222 -(30222) found -[8286] Forked 30223 -(30223) found -[8285] Forked 30224 -(30224) found -[8284] Forked 30225 -(30225) found -[8283] Forked 30226 -(30226) found -[8282] Forked 30227 -(30227) found -[8281] Forked 30228 -(30228) found -[8280] Forked 30229 -(30229) found -[8279] Forked 30230 -(30230) found -[8278] Forked 30231 -(30231) found -[8277] Forked 30232 -(30232) found -[8276] Forked 30233 -(30233) found -[8275] Forked 30234 -(30234) found -[8274] Forked 30235 -(30235) found -[8273] Forked 30236 -(30236) found -[8272] Forked 30237 -(30237) found -[8271] Forked 30238 -(30238) found -[8270] Forked 30239 -(30239) found -[8269] Forked 30240 -(30240) found -[8268] Forked 30241 -(30241) found -[8267] Forked 30242 -[8266] Forked 30243 -(30243) found -(30242) found -[8265] Forked 30244 -(30244) found -[8264] Forked 30245 -(30245) found -[8263] Forked 30246 -(30246) found -[8262] Forked 30247 -(30247) found -[8261] Forked 30248 -(30248) found -[8260] Forked 30249 -(30249) found -[8259] Forked 30250 -(30250) found -[8258] Forked 30251 -(30251) found -[8257] Forked 30252 -(30252) found -[8256] Forked 30253 -(30253) found -[8255] Forked 30254 -(30254) found -[8254] Forked 30255 -(30255) found -[8253] Forked 30256 -(30256) found -[8252] Forked 30257 -(30257) found -[8251] Forked 30258 -(30258) found -[8250] Forked 30259 -(30259) found -[8249] Forked 30260 -(30260) found -[8248] Forked 30261 -(30261) found -[8247] Forked 30262 -(30262) found -[8246] Forked 30263 -(30263) found -[8245] Forked 30264 -(30264) found -[8244] Forked 30265 -(30265) found -[8243] Forked 30266 -(30266) found -[8242] Forked 30267 -(30267) found -[8241] Forked 30268 -(30268) found -[8240] Forked 30269 -(30269) found -[8239] Forked 30270 -(30270) found -[8238] Forked 30271 -(30271) found -[8237] Forked 30272 -(30272) found -[8236] Forked 30273 -(30273) found -[8235] Forked 30274 -(30274) found -[8234] Forked 30275 -(30275) found -[8233] Forked 30276 -(30276) found -[8232] Forked 30277 -(30277) found -[8231] Forked 30278 -(30278) found -[8230] Forked 30279 -(30279) found -[8229] Forked 30280 -(30280) found -[8228] Forked 30281 -(30281) found -[8227] Forked 30282 -(30282) found -[8226] Forked 30283 -(30283) found -[8225] Forked 30284 -(30284) found -[8224] Forked 30285 -(30285) found -[8223] Forked 30286 -(30286) found -[8222] Forked 30287 -(30287) found -[8221] Forked 30288 -(30288) found -[8220] Forked 30289 -(30289) found -[8219] Forked 30290 -(30290) found -[8218] Forked 30291 -(30291) found -[8217] Forked 30292 -(30292) found -[8216] Forked 30293 -(30293) found -[8215] Forked 30294 -(30294) found -[8214] Forked 30295 -(30295) found -[8213] Forked 30296 -(30296) found -[8212] Forked 30297 -(30297) found -[8211] Forked 30298 -(30298) found -[8210] Forked 30299 -(30299) found -[8209] Forked 30300 -(30300) found -[8208] Forked 30301 -(30301) found -[8207] Forked 30302 -(30302) found -[8206] Forked 30303 -(30303) found -[8205] Forked 30304 -(30304) found -[8204] Forked 30305 -(30305) found -[8203] Forked 30306 -(30306) found -[8202] Forked 30307 -(30307) found -[8201] Forked 30308 -(30308) found -[8200] Forked 30309 -(30309) found -[8199] Forked 30310 -(30310) found -[8198] Forked 30311 -(30311) found -[8197] Forked 30312 -(30312) found -[8196] Forked 30313 -(30313) found -[8195] Forked 30314 -(30314) found -[8194] Forked 30315 -[8193] Forked 30316 -(30315) found -(30316) found -[8192] Forked 30317 -[8191] Forked 30318 -(30317) found -(30318) found -[8190] Forked 30319 -[8189] Forked 30320 -(30319) found -(30320) found -[8188] Forked 30321 -[8187] Forked 30322 -(30321) found -(30322) found -[8186] Forked 30323 -[8185] Forked 30324 -(30323) found -(30324) found -[8184] Forked 30325 -[8183] Forked 30326 -(30325) found -(30326) found -[8182] Forked 30327 -[8181] Forked 30328 -(30327) found -(30328) found -[8180] Forked 30329 -[8179] Forked 30330 -(30329) found -(30330) found -[8178] Forked 30331 -[8177] Forked 30332 -(30331) found -(30332) found -[8176] Forked 30333 -[8175] Forked 30334 -(30333) found -(30334) found -[8174] Forked 30335 -[8173] Forked 30336 -(30335) found -(30336) found -[8172] Forked 30337 -[8171] Forked 30338 -(30337) found -(30338) found -[8170] Forked 30339 -(30339) found -[8169] Forked 30340 -[8168] Forked 30341 -(30340) found -(30341) found -[8167] Forked 30342 -[8166] Forked 30343 -(30342) found -(30343) found -[8165] Forked 30344 -[8164] Forked 30345 -(30344) found -(30345) found -[8163] Forked 30346 -[8162] Forked 30347 -(30346) found -(30347) found -[8161] Forked 30348 -[8160] Forked 30349 -(30348) found -(30349) found -[8159] Forked 30350 -[8158] Forked 30351 -(30350) found -(30351) found -[8157] Forked 30352 -[8156] Forked 30353 -(30352) found -(30353) found -[8155] Forked 30354 -[8154] Forked 30355 -(30355) found -(30354) found -[8153] Forked 30356 -(30356) found -[8152] Forked 30357 -(30357) found -[8151] Forked 30358 -(30358) found -[8150] Forked 30359 -(30359) found -[8149] Forked 30360 -(30360) found -[8148] Forked 30361 -(30361) found -[8147] Forked 30362 -(30362) found -[8146] Forked 30363 -(30363) found -[8145] Forked 30364 -(30364) found -[8144] Forked 30365 -(30365) found -[8143] Forked 30366 -(30366) found -[8142] Forked 30367 -(30367) found -[8141] Forked 30368 -(30368) found -[8140] Forked 30369 -(30369) found -[8139] Forked 30370 -(30370) found -[8138] Forked 30371 -(30371) found -[8137] Forked 30372 -(30372) found -[8136] Forked 30373 -(30373) found -[8135] Forked 30374 -(30374) found -[8134] Forked 30375 -(30375) found -[8133] Forked 30376 -(30376) found -[8132] Forked 30377 -(30377) found -[8131] Forked 30378 -(30378) found -[8130] Forked 30379 -(30379) found -[8129] Forked 30380 -(30380) found -[8128] Forked 30381 -(30381) found -[8127] Forked 30382 -(30382) found -[8126] Forked 30383 -(30383) found -[8125] Forked 30384 -(30384) found -[8124] Forked 30385 -(30385) found -[8123] Forked 30386 -(30386) found -[8122] Forked 30387 -(30387) found -[8121] Forked 30388 -(30388) found -[8120] Forked 30389 -(30389) found -[8119] Forked 30390 -(30390) found -[8118] Forked 30391 -[8117] Forked 30392 -(30391) found -(30392) found -[8116] Forked 30393 -[8115] Forked 30394 -(30393) found -(30394) found -[8114] Forked 30395 -[8113] Forked 30396 -(30395) found -(30396) found -[8112] Forked 30397 -[8111] Forked 30398 -(30397) found -(30398) found -[8110] Forked 30399 -[8109] Forked 30400 -(30399) found -(30400) found -[8108] Forked 30401 -[8107] Forked 30402 -(30401) found -(30402) found -[8106] Forked 30403 -[8105] Forked 30404 -(30403) found -(30404) found -[8104] Forked 30405 -[8103] Forked 30406 -(30405) found -(30406) found -[8102] Forked 30407 -[8101] Forked 30408 -(30407) found -(30408) found -[8100] Forked 30409 -[8099] Forked 30410 -(30409) found -(30410) found -[8098] Forked 30411 -[8097] Forked 30412 -(30411) found -(30412) found -[8096] Forked 30413 -[8095] Forked 30414 -(30413) found -(30414) found -[8094] Forked 30415 -[8093] Forked 30416 -(30415) found -(30416) found -[8092] Forked 30417 -[8091] Forked 30418 -(30417) found -(30418) found -[8090] Forked 30419 -[8089] Forked 30420 -(30419) found -(30420) found -[8088] Forked 30421 -[8087] Forked 30422 -(30421) found -(30422) found -[8086] Forked 30423 -[8085] Forked 30424 -(30423) found -(30424) found -[8084] Forked 30425 -[8083] Forked 30426 -(30425) found -(30426) found -[8082] Forked 30427 -[8081] Forked 30428 -(30427) found -(30428) found -[8080] Forked 30429 -[8079] Forked 30430 -(30429) found -(30430) found -[8078] Forked 30431 -[8077] Forked 30433 -(30431) found -(30433) found -[8076] Forked 30434 -(30434) found -[8075] Forked 30435 -(30435) found -[8074] Forked 30436 -(30436) found -[8073] Forked 30437 -(30437) found -[8072] Forked 30438 -(30438) found -[8071] Forked 30439 -(30439) found -[8070] Forked 30440 -(30440) found -[8069] Forked 30441 -(30441) found -[8068] Forked 30442 -(30442) found -[8067] Forked 30443 -(30443) found -[8066] Forked 30444 -(30444) found -[8065] Forked 30445 -(30445) found -[8064] Forked 30446 -(30446) found -[8063] Forked 30447 -(30447) found -[8062] Forked 30448 -(30448) found -[8061] Forked 30449 -(30449) found -[8060] Forked 30450 -(30450) found -[8059] Forked 30451 -(30451) found -[8058] Forked 30452 -(30452) found -[8057] Forked 30453 -(30453) found -[8056] Forked 30454 -(30454) found -[8055] Forked 30455 -(30455) found -[8054] Forked 30456 -(30456) found -[8053] Forked 30457 -(30457) found -[8052] Forked 30458 -(30458) found -[8051] Forked 30459 -(30459) found -[8050] Forked 30460 -(30460) found -[8049] Forked 30461 -(30461) found -[8048] Forked 30462 -(30462) found -[8047] Forked 30463 -(30463) found -[8046] Forked 30464 -(30464) found -[8045] Forked 30465 -(30465) found -[8044] Forked 30466 -(30466) found -[8043] Forked 30467 -(30467) found -[8042] Forked 30468 -(30468) found -[8041] Forked 30469 -(30469) found -[8040] Forked 30470 -(30470) found -[8039] Forked 30471 -(30471) found -[8038] Forked 30472 -(30472) found -[8037] Forked 30473 -(30473) found -[8036] Forked 30474 -(30474) found -[8035] Forked 30475 -(30475) found -[8034] Forked 30476 -(30476) found -[8033] Forked 30477 -(30477) found -[8032] Forked 30478 -(30478) found -[8031] Forked 30479 -(30479) found -[8030] Forked 30480 -(30480) found -[8029] Forked 30481 -(30481) found -[8028] Forked 30482 -(30482) found -[8027] Forked 30483 -(30483) found -[8026] Forked 30484 -(30484) found -[8025] Forked 30485 -(30485) found -[8024] Forked 30486 -(30486) found -[8023] Forked 30487 -(30487) found -[8022] Forked 30488 -(30488) found -[8021] Forked 30489 -(30489) found -[8020] Forked 30490 -(30490) found -[8019] Forked 30491 -(30491) found -[8018] Forked 30492 -(30492) found -[8017] Forked 30493 -(30493) found -[8016] Forked 30494 -(30494) found -[8015] Forked 30495 -(30495) found -[8014] Forked 30496 -(30496) found -[8013] Forked 30497 -(30497) found -[8012] Forked 30498 -(30498) found -[8011] Forked 30499 -(30499) found -[8010] Forked 30500 -(30500) found -[8009] Forked 30501 -(30501) found -[8008] Forked 30502 -(30502) found -[8007] Forked 30503 -(30503) found -[8006] Forked 30504 -(30504) found -[8005] Forked 30505 -(30505) found -[8004] Forked 30506 -(30506) found -[8003] Forked 30507 -(30507) found -[8002] Forked 30509 -(30509) found -[8001] Forked 30510 -(30510) found -[8000] Forked 30511 -[7999] Forked 30512 -(30511) found -(30512) found -[7998] Forked 30513 -[7997] Forked 30515 -(30513) found -(30515) found -[7996] Forked 30516 -[7995] Forked 30517 -(30516) found -(30517) found -[7994] Forked 30518 -[7993] Forked 30519 -(30518) found -(30519) found -[7992] Forked 30521 -[7991] Forked 30522 -(30521) found -(30522) found -[7990] Forked 30523 -[7989] Forked 30524 -(30523) found -(30524) found -[7988] Forked 30525 -[7987] Forked 30526 -(30525) found -(30526) found -[7986] Forked 30528 -[7985] Forked 30529 -(30528) found -(30529) found -[7984] Forked 30530 -[7983] Forked 30531 -(30530) found -(30531) found -[7982] Forked 30532 -[7981] Forked 30534 -(30532) found -(30534) found -[7980] Forked 30535 -[7979] Forked 30536 -(30535) found -(30536) found -[7978] Forked 30537 -[7977] Forked 30538 -(30537) found -(30538) found -[7976] Forked 30540 -[7975] Forked 30541 -(30540) found -(30541) found -[7974] Forked 30542 -[7973] Forked 30543 -(30542) found -(30543) found -[7972] Forked 30544 -[7971] Forked 30545 -(30544) found -(30545) found -[7970] Forked 30546 -[7969] Forked 30547 -(30546) found -(30547) found -[7968] Forked 30548 -[7967] Forked 30549 -(30548) found -(30549) found -[7966] Forked 30550 -[7965] Forked 30551 -(30550) found -(30551) found -[7964] Forked 30552 -[7963] Forked 30553 -(30552) found -(30553) found -[7962] Forked 30554 -[7961] Forked 30555 -(30554) found -(30555) found -[7960] Forked 30556 -[7959] Forked 30557 -(30556) found -(30557) found -[7958] Forked 30558 -[7957] Forked 30559 -(30558) found -(30559) found -[7956] Forked 30560 -[7955] Forked 30561 -(30560) found -(30561) found -[7954] Forked 30562 -(30562) found -[7953] Forked 30563 -(30563) found -[7952] Forked 30564 -(30564) found -[7951] Forked 30565 -(30565) found -[7950] Forked 30566 -(30566) found -[7949] Forked 30567 -(30567) found -[7948] Forked 30568 -(30568) found -[7947] Forked 30569 -(30569) found -[7946] Forked 30570 -(30570) found -[7945] Forked 30571 -(30571) found -[7944] Forked 30572 -(30572) found -[7943] Forked 30573 -(30573) found -[7942] Forked 30574 -(30574) found -[7941] Forked 30575 -(30575) found -[7940] Forked 30576 -(30576) found -[7939] Forked 30577 -(30577) found -[7938] Forked 30578 -(30578) found -[7937] Forked 30579 -(30579) found -[7936] Forked 30580 -(30580) found -[7935] Forked 30581 -(30581) found -[7934] Forked 30582 -(30582) found -[7933] Forked 30583 -(30583) found -[7932] Forked 30584 -(30584) found -[7931] Forked 30585 -(30585) found -[7930] Forked 30586 -(30586) found -[7929] Forked 30587 -(30587) found -[7928] Forked 30588 -(30588) found -[7927] Forked 30589 -(30589) found -[7926] Forked 30590 -(30590) found -[7925] Forked 30591 -(30591) found -[7924] Forked 30592 -(30592) found -[7923] Forked 30593 -(30593) found -[7922] Forked 30594 -(30594) found -[7921] Forked 30595 -(30595) found -[7920] Forked 30596 -(30596) found -[7919] Forked 30597 -(30597) found -[7918] Forked 30598 -(30598) found -[7917] Forked 30599 -[7916] Forked 30600 -(30599) found -(30600) found -[7915] Forked 30601 -[7914] Forked 30602 -(30601) found -(30602) found -[7913] Forked 30603 -[7912] Forked 30604 -(30603) found -(30604) found -[7911] Forked 30605 -[7910] Forked 30606 -(30605) found -(30606) found -[7909] Forked 30607 -[7908] Forked 30608 -(30607) found -(30608) found -[7907] Forked 30609 -[7906] Forked 30610 -(30609) found -(30610) found -[7905] Forked 30611 -[7904] Forked 30612 -(30611) found -(30612) found -[7903] Forked 30613 -[7902] Forked 30614 -(30613) found -(30614) found -[7901] Forked 30615 -[7900] Forked 30616 -(30615) found -(30616) found -[7899] Forked 30617 -[7898] Forked 30618 -(30617) found -(30618) found -[7897] Forked 30619 -[7896] Forked 30620 -(30619) found -(30620) found -[7895] Forked 30621 -[7894] Forked 30622 -(30621) found -(30622) found -[7893] Forked 30623 -[7892] Forked 30624 -(30623) found -(30624) found -[7891] Forked 30625 -[7890] Forked 30626 -(30625) found -(30626) found -[7889] Forked 30627 -[7888] Forked 30628 -(30627) found -(30628) found -[7887] Forked 30629 -[7886] Forked 30630 -(30629) found -(30630) found -[7885] Forked 30631 -[7884] Forked 30633 -(30631) found -(30633) found -[7883] Forked 30634 -(30634) found -[7882] Forked 30635 -(30635) found -[7881] Forked 30636 -(30636) found -[7880] Forked 30637 -[7879] Forked 30638 -(30637) found -(30638) found -[7878] Forked 30639 -[7877] Forked 30640 -(30639) found -(30640) found -[7876] Forked 30641 -(30641) found -[7875] Forked 30642 -[7874] Forked 30643 -(30642) found -(30643) found -[7873] Forked 30644 -[7872] Forked 30645 -(30644) found -(30645) found -[7871] Forked 30646 -[7870] Forked 30647 -(30646) found -(30647) found -[7869] Forked 30648 -[7868] Forked 30649 -(30648) found -(30649) found -[7867] Forked 30650 -[7866] Forked 30651 -(30650) found -(30651) found -[7865] Forked 30652 -[7864] Forked 30653 -(30652) found -(30653) found -[7863] Forked 30654 -[7862] Forked 30655 -(30654) found -(30655) found -[7861] Forked 30656 -[7860] Forked 30657 -(30656) found -(30657) found -[7859] Forked 30658 -[7858] Forked 30659 -(30658) found -(30659) found -[7857] Forked 30660 -[7856] Forked 30661 -(30660) found -(30661) found -[7855] Forked 30662 -[7854] Forked 30663 -(30662) found -(30663) found -[7853] Forked 30664 -[7852] Forked 30665 -(30664) found -(30665) found -[7851] Forked 30666 -[7850] Forked 30667 -(30666) found -(30667) found -[7849] Forked 30668 -[7848] Forked 30669 -(30668) found -(30669) found -[7847] Forked 30670 -[7846] Forked 30671 -(30670) found -(30671) found -[7845] Forked 30672 -[7844] Forked 30673 -(30672) found -(30673) found -[7843] Forked 30674 -[7842] Forked 30675 -(30674) found -(30675) found -[7841] Forked 30676 -[7840] Forked 30677 -(30676) found -(30677) found -[7839] Forked 30678 -[7838] Forked 30679 -(30678) found -(30679) found -[7837] Forked 30680 -[7836] Forked 30681 -(30680) found -(30681) found -[7835] Forked 30682 -[7834] Forked 30683 -(30682) found -(30683) found -[7833] Forked 30684 -[7832] Forked 30685 -(30684) found -(30685) found -[7831] Forked 30686 -[7830] Forked 30687 -(30686) found -(30687) found -[7829] Forked 30688 -[7828] Forked 30689 -(30688) found -(30689) found -[7827] Forked 30690 -[7826] Forked 30691 -(30690) found -(30691) found -[7825] Forked 30692 -[7824] Forked 30693 -(30692) found -(30693) found -[7823] Forked 30694 -[7822] Forked 30695 -(30694) found -(30695) found -[7821] Forked 30696 -[7820] Forked 30697 -(30696) found -(30697) found -[7819] Forked 30698 -[7818] Forked 30699 -(30698) found -(30699) found -[7817] Forked 30700 -[7816] Forked 30701 -(30700) found -(30701) found -[7815] Forked 30702 -[7814] Forked 30703 -(30702) found -(30703) found -[7813] Forked 30704 -[7812] Forked 30705 -(30704) found -(30705) found -[7811] Forked 30706 -[7810] Forked 30707 -(30706) found -(30707) found -[7809] Forked 30708 -[7808] Forked 30709 -(30708) found -(30709) found -[7807] Forked 30710 -[7806] Forked 30711 -(30710) found -(30711) found -[7805] Forked 30712 -[7804] Forked 30713 -(30712) found -(30713) found -[7803] Forked 30714 -[7802] Forked 30715 -(30714) found -(30715) found -[7801] Forked 30716 -[7800] Forked 30717 -(30716) found -(30717) found -[7799] Forked 30718 -[7798] Forked 30719 -(30718) found -(30719) found -[7797] Forked 30720 -[7796] Forked 30721 -(30720) found -(30721) found -[7795] Forked 30722 -[7794] Forked 30723 -(30722) found -(30723) found -[7793] Forked 30724 -[7792] Forked 30725 -(30724) found -(30725) found -[7791] Forked 30726 -[7790] Forked 30727 -(30726) found -(30727) found -[7789] Forked 30728 -[7788] Forked 30729 -(30728) found -(30729) found -[7787] Forked 30730 -[7786] Forked 30731 -(30730) found -(30731) found -[7785] Forked 30732 -[7784] Forked 30733 -(30732) found -(30733) found -[7783] Forked 30734 -(30734) found -[7782] Forked 30735 -(30735) found -[7781] Forked 30736 -(30736) found -[7780] Forked 30737 -(30737) found -[7779] Forked 30738 -(30738) found -[7778] Forked 30739 -(30739) found -[7777] Forked 30740 -(30740) found -[7776] Forked 30741 -(30741) found -[7775] Forked 30742 -(30742) found -[7774] Forked 30743 -(30743) found -[7773] Forked 30744 -(30744) found -[7772] Forked 30745 -(30745) found -[7771] Forked 30746 -(30746) found -[7770] Forked 30747 -(30747) found -[7769] Forked 30748 -(30748) found -[7768] Forked 30749 -(30749) found -[7767] Forked 30750 -(30750) found -[7766] Forked 30751 -(30751) found -[7765] Forked 30752 -(30752) found -[7764] Forked 30753 -(30753) found -[7763] Forked 30754 -(30754) found -[7762] Forked 30755 -(30755) found -[7761] Forked 30756 -(30756) found -[7760] Forked 30757 -(30757) found -[7759] Forked 30758 -(30758) found -[7758] Forked 30759 -(30759) found -[7757] Forked 30760 -(30760) found -[7756] Forked 30761 -(30761) found -[7755] Forked 30762 -(30762) found -[7754] Forked 30763 -(30763) found -[7753] Forked 30764 -(30764) found -[7752] Forked 30765 -(30765) found -[7751] Forked 30766 -(30766) found -[7750] Forked 30767 -(30767) found -[7749] Forked 30768 -(30768) found -[7748] Forked 30769 -(30769) found -[7747] Forked 30770 -(30770) found -[7746] Forked 30771 -[7745] Forked 30772 -(30771) found -(30772) found -[7744] Forked 30773 -[7743] Forked 30774 -(30773) found -(30774) found -[7742] Forked 30775 -[7741] Forked 30776 -(30775) found -(30776) found -[7740] Forked 30777 -[7739] Forked 30778 -(30777) found -(30778) found -[7738] Forked 30779 -[7737] Forked 30780 -(30779) found -(30780) found -[7736] Forked 30781 -[7735] Forked 30782 -(30781) found -(30782) found -[7734] Forked 30783 -[7733] Forked 30784 -(30783) found -(30784) found -[7732] Forked 30785 -[7731] Forked 30786 -(30785) found -(30786) found -[7730] Forked 30787 -[7729] Forked 30788 -(30787) found -(30788) found -[7728] Forked 30789 -[7727] Forked 30790 -(30789) found -(30790) found -[7726] Forked 30791 -[7725] Forked 30792 -(30791) found -(30792) found -[7724] Forked 30793 -[7723] Forked 30794 -(30793) found -(30794) found -[7722] Forked 30795 -[7721] Forked 30796 -(30795) found -(30796) found -[7720] Forked 30797 -[7719] Forked 30798 -(30797) found -(30798) found -[7718] Forked 30799 -[7717] Forked 30800 -(30799) found -(30800) found -[7716] Forked 30801 -[7715] Forked 30802 -(30801) found -(30802) found -[7714] Forked 30803 -[7713] Forked 30804 -(30803) found -(30804) found -[7712] Forked 30805 -[7711] Forked 30806 -(30805) found -(30806) found -[7710] Forked 30807 -[7709] Forked 30808 -(30807) found -(30808) found -[7708] Forked 30809 -[7707] Forked 30810 -(30809) found -(30810) found -[7706] Forked 30811 -[7705] Forked 30812 -(30811) found -(30812) found -[7704] Forked 30813 -[7703] Forked 30814 -(30813) found -(30814) found -[7702] Forked 30815 -(30815) found -[7701] Forked 30816 -(30816) found -[7700] Forked 30817 -(30817) found -[7699] Forked 30818 -(30818) found -[7698] Forked 30819 -(30819) found -[7697] Forked 30820 -(30820) found -[7696] Forked 30821 -(30821) found -[7695] Forked 30822 -(30822) found -[7694] Forked 30823 -(30823) found -[7693] Forked 30824 -(30824) found -[7692] Forked 30825 -(30825) found -[7691] Forked 30826 -(30826) found -[7690] Forked 30827 -(30827) found -[7689] Forked 30828 -(30828) found -[7688] Forked 30829 -(30829) found -[7687] Forked 30831 -(30831) found -[7686] Forked 30832 -(30832) found -[7685] Forked 30833 -(30833) found -[7684] Forked 30834 -(30834) found -[7683] Forked 30835 -(30835) found -[7682] Forked 30837 -(30837) found -[7681] Forked 30838 -(30838) found -[7680] Forked 30839 -(30839) found -[7679] Forked 30840 -(30840) found -[7678] Forked 30841 -(30841) found -[7677] Forked 30843 -(30843) found -[7676] Forked 30844 -(30844) found -[7675] Forked 30845 -(30845) found -[7674] Forked 30846 -(30846) found -[7673] Forked 30847 -(30847) found -[7672] Forked 30849 -(30849) found -[7671] Forked 30850 -(30850) found -[7670] Forked 30851 -(30851) found -[7669] Forked 30852 -(30852) found -[7668] Forked 30853 -[7667] Forked 30855 -(30853) found -(30855) found -[7666] Forked 30856 -[7665] Forked 30857 -(30856) found -(30857) found -[7664] Forked 30858 -[7663] Forked 30859 -(30858) found -(30859) found -[7662] Forked 30861 -[7661] Forked 30862 -(30861) found -(30862) found -[7660] Forked 30863 -[7659] Forked 30864 -(30863) found -(30864) found -[7658] Forked 30865 -[7657] Forked 30866 -(30865) found -(30866) found -[7656] Forked 30867 -[7655] Forked 30868 -(30867) found -(30868) found -[7654] Forked 30869 -[7653] Forked 30870 -(30869) found -(30870) found -[7652] Forked 30871 -[7651] Forked 30872 -(30871) found -(30872) found -[7650] Forked 30873 -[7649] Forked 30874 -(30873) found -(30874) found -[7648] Forked 30875 -[7647] Forked 30876 -(30875) found -(30876) found -[7646] Forked 30877 -[7645] Forked 30878 -(30877) found -(30878) found -[7644] Forked 30879 -[7643] Forked 30881 -(30879) found -(30881) found -[7642] Forked 30882 -(30882) found -[7641] Forked 30883 -(30883) found -[7640] Forked 30884 -(30884) found -[7639] Forked 30885 -(30885) found -[7638] Forked 30886 -(30886) found -[7637] Forked 30887 -(30887) found -[7636] Forked 30888 -(30888) found -[7635] Forked 30889 -(30889) found -[7634] Forked 30890 -(30890) found -[7633] Forked 30891 -(30891) found -[7632] Forked 30892 -(30892) found -[7631] Forked 30893 -(30893) found -[7630] Forked 30894 -(30894) found -[7629] Forked 30895 -(30895) found -[7628] Forked 30896 -(30896) found -[7627] Forked 30897 -(30897) found -[7626] Forked 30898 -(30898) found -[7625] Forked 30899 -(30899) found -[7624] Forked 30900 -(30900) found -[7623] Forked 30901 -(30901) found -[7622] Forked 30902 -(30902) found -[7621] Forked 30903 -(30903) found -[7620] Forked 30904 -(30904) found -[7619] Forked 30905 -(30905) found -[7618] Forked 30906 -(30906) found -[7617] Forked 30907 -(30907) found -[7616] Forked 30908 -(30908) found -[7615] Forked 30909 -(30909) found -[7614] Forked 30910 -(30910) found -[7613] Forked 30911 -(30911) found -[7612] Forked 30912 -(30912) found -[7611] Forked 30913 -(30913) found -[7610] Forked 30914 -(30914) found -[7609] Forked 30915 -(30915) found -[7608] Forked 30916 -(30916) found -[7607] Forked 30917 -(30917) found -[7606] Forked 30918 -(30918) found -[7605] Forked 30919 -(30919) found -[7604] Forked 30920 -(30920) found -[7603] Forked 30921 -(30921) found -[7602] Forked 30922 -(30922) found -[7601] Forked 30923 -(30923) found -[7600] Forked 30924 -[7599] Forked 30925 -(30924) found -(30925) found -[7598] Forked 30926 -[7597] Forked 30927 -(30926) found -(30927) found -[7596] Forked 30928 -[7595] Forked 30929 -(30928) found -(30929) found -[7594] Forked 30930 -[7593] Forked 30931 -(30930) found -(30931) found -[7592] Forked 30932 -[7591] Forked 30933 -(30932) found -(30933) found -[7590] Forked 30934 -[7589] Forked 30935 -(30934) found -(30935) found -[7588] Forked 30936 -[7587] Forked 30937 -(30936) found -(30937) found -[7586] Forked 30938 -[7585] Forked 30939 -(30938) found -(30939) found -[7584] Forked 30940 -[7583] Forked 30941 -(30940) found -(30941) found -[7582] Forked 30942 -[7581] Forked 30943 -(30942) found -(30943) found -[7580] Forked 30944 -[7579] Forked 30945 -(30944) found -(30945) found -[7578] Forked 30946 -[7577] Forked 30947 -(30946) found -(30947) found -[7576] Forked 30948 -[7575] Forked 30949 -(30948) found -(30949) found -[7574] Forked 30950 -[7573] Forked 30951 -(30950) found -(30951) found -[7572] Forked 30952 -[7571] Forked 30953 -(30952) found -(30953) found -[7570] Forked 30954 -[7569] Forked 30955 -(30954) found -(30955) found -[7568] Forked 30956 -[7567] Forked 30957 -(30956) found -(30957) found -[7566] Forked 30958 -[7565] Forked 30959 -(30958) found -(30959) found -[7564] Forked 30960 -[7563] Forked 30961 -(30960) found -(30961) found -[7562] Forked 30962 -(30962) found -[7561] Forked 30963 -[7560] Forked 30964 -(30963) found -(30964) found -[7559] Forked 30965 -[7558] Forked 30966 -(30965) found -(30966) found -[7557] Forked 30967 -(30967) found -[7556] Forked 30968 -(30968) found -[7555] Forked 30969 -(30969) found -[7554] Forked 30970 -(30970) found -[7553] Forked 30971 -(30971) found -[7552] Forked 30972 -(30972) found -[7551] Forked 30973 -(30973) found -[7550] Forked 30974 -(30974) found -[7549] Forked 30975 -(30975) found -[7548] Forked 30976 -(30976) found -[7547] Forked 30977 -(30977) found -[7546] Forked 30978 -(30978) found -[7545] Forked 30979 -(30979) found -[7544] Forked 30980 -(30980) found -[7543] Forked 30981 -(30981) found -[7542] Forked 30982 -(30982) found -[7541] Forked 30983 -(30983) found -[7540] Forked 30984 -(30984) found -[7539] Forked 30985 -(30985) found -[7538] Forked 30986 -(30986) found -[7537] Forked 30987 -(30987) found -[7536] Forked 30988 -(30988) found -[7535] Forked 30989 -(30989) found -[7534] Forked 30990 -(30990) found -[7533] Forked 30991 -(30991) found -[7532] Forked 30992 -(30992) found -[7531] Forked 30993 -(30993) found -[7530] Forked 30994 -(30994) found -[7529] Forked 30995 -(30995) found -[7528] Forked 30996 -(30996) found -[7527] Forked 30997 -(30997) found -[7526] Forked 30998 -(30998) found -[7525] Forked 30999 -(30999) found -[7524] Forked 31000 -(31000) found -[7523] Forked 31001 -(31001) found -[7522] Forked 31002 -(31002) found -[7521] Forked 31003 -(31003) found -[7520] Forked 31004 -[7519] Forked 31005 -(31004) found -(31005) found -[7518] Forked 31006 -[7517] Forked 31007 -(31006) found -(31007) found -[7516] Forked 31008 -[7515] Forked 31009 -(31008) found -(31009) found -[7514] Forked 31010 -[7513] Forked 31011 -(31010) found -(31011) found -[7512] Forked 31012 -[7511] Forked 31013 -(31012) found -(31013) found -[7510] Forked 31014 -[7509] Forked 31015 -(31014) found -(31015) found -[7508] Forked 31016 -[7507] Forked 31017 -(31016) found -(31017) found -[7506] Forked 31018 -[7505] Forked 31019 -(31018) found -(31019) found -[7504] Forked 31020 -[7503] Forked 31021 -(31020) found -(31021) found -[7502] Forked 31022 -[7501] Forked 31023 -(31022) found -(31023) found -[7500] Forked 31024 -[7499] Forked 31025 -(31024) found -(31025) found -[7498] Forked 31026 -[7497] Forked 31027 -(31026) found -(31027) found -[7496] Forked 31028 -[7495] Forked 31029 -(31028) found -(31029) found -[7494] Forked 31030 -[7493] Forked 31031 -(31030) found -(31031) found -[7492] Forked 31032 -[7491] Forked 31033 -(31032) found -(31033) found -[7490] Forked 31034 -[7489] Forked 31035 -(31034) found -(31035) found -[7488] Forked 31036 -[7487] Forked 31037 -(31036) found -(31037) found -[7486] Forked 31038 -[7485] Forked 31039 -(31038) found -(31039) found -[7484] Forked 31040 -[7483] Forked 31041 -(31040) found -(31041) found -[7482] Forked 31042 -[7481] Forked 31043 -(31042) found -(31043) found -[7480] Forked 31044 -[7479] Forked 31045 -(31044) found -(31045) found -[7478] Forked 31046 -[7477] Forked 31047 -(31046) found -(31047) found -[7476] Forked 31048 -(31048) found -[7475] Forked 31049 -(31049) found -[7474] Forked 31050 -(31050) found -[7473] Forked 31051 -(31051) found -[7472] Forked 31052 -(31052) found -[7471] Forked 31053 -(31053) found -[7470] Forked 31054 -(31054) found -[7469] Forked 31055 -(31055) found -[7468] Forked 31056 -(31056) found -[7467] Forked 31057 -(31057) found -[7466] Forked 31058 -(31058) found -[7465] Forked 31059 -(31059) found -[7464] Forked 31060 -(31060) found -[7463] Forked 31061 -(31061) found -[7462] Forked 31062 -(31062) found -[7461] Forked 31064 -(31064) found -[7460] Forked 31065 -(31065) found -[7459] Forked 31066 -(31066) found -[7458] Forked 31067 -(31067) found -[7457] Forked 31068 -(31068) found -[7456] Forked 31069 -(31069) found -[7455] Forked 31070 -(31070) found -[7454] Forked 31071 -(31071) found -[7453] Forked 31072 -(31072) found -[7452] Forked 31073 -(31073) found -[7451] Forked 31074 -(31074) found -[7450] Forked 31075 -(31075) found -[7449] Forked 31076 -(31076) found -[7448] Forked 31077 -(31077) found -[7447] Forked 31078 -(31078) found -[7446] Forked 31079 -(31079) found -[7445] Forked 31080 -(31080) found -[7444] Forked 31081 -(31081) found -[7443] Forked 31082 -(31082) found -[7442] Forked 31083 -(31083) found -[7441] Forked 31084 -(31084) found -[7440] Forked 31085 -(31085) found -[7439] Forked 31086 -[7438] Forked 31087 -(31086) found -(31087) found -[7437] Forked 31088 -[7436] Forked 31089 -(31088) found -(31089) found -[7435] Forked 31090 -[7434] Forked 31091 -(31090) found -(31091) found -[7433] Forked 31092 -[7432] Forked 31093 -(31092) found -(31093) found -[7431] Forked 31094 -[7430] Forked 31095 -(31094) found -(31095) found -[7429] Forked 31096 -[7428] Forked 31097 -(31096) found -(31097) found -[7427] Forked 31098 -[7426] Forked 31099 -(31098) found -(31099) found -[7425] Forked 31100 -[7424] Forked 31101 -(31100) found -(31101) found -[7423] Forked 31102 -[7422] Forked 31103 -(31102) found -(31103) found -[7421] Forked 31104 -[7420] Forked 31105 -(31104) found -(31105) found -[7419] Forked 31106 -[7418] Forked 31107 -(31106) found -(31107) found -[7417] Forked 31108 -[7416] Forked 31109 -(31108) found -(31109) found -[7415] Forked 31110 -[7414] Forked 31111 -(31110) found -(31111) found -[7413] Forked 31112 -[7412] Forked 31113 -(31112) found -(31113) found -[7411] Forked 31114 -[7410] Forked 31115 -(31114) found -(31115) found -[7409] Forked 31116 -[7408] Forked 31117 -(31116) found -(31117) found -[7407] Forked 31118 -[7406] Forked 31119 -(31118) found -(31119) found -[7405] Forked 31120 -[7404] Forked 31121 -(31120) found -(31121) found -[7403] Forked 31122 -[7402] Forked 31123 -(31122) found -(31123) found -[7401] Forked 31124 -[7400] Forked 31125 -(31124) found -(31125) found -[7399] Forked 31126 -[7398] Forked 31127 -(31126) found -(31127) found -[7397] Forked 31128 -[7396] Forked 31129 -(31128) found -(31129) found -[7395] Forked 31130 -(31130) found -[7394] Forked 31131 -(31131) found -[7393] Forked 31132 -(31132) found -[7392] Forked 31133 -(31133) found -[7391] Forked 31134 -(31134) found -[7390] Forked 31135 -(31135) found -[7389] Forked 31136 -(31136) found -[7388] Forked 31137 -(31137) found -[7387] Forked 31138 -(31138) found -[7386] Forked 31139 -(31139) found -[7385] Forked 31140 -(31140) found -[7384] Forked 31141 -(31141) found -[7383] Forked 31142 -(31142) found -[7382] Forked 31143 -(31143) found -[7381] Forked 31144 -(31144) found -[7380] Forked 31145 -(31145) found -[7379] Forked 31146 -(31146) found -[7378] Forked 31147 -(31147) found -[7377] Forked 31148 -(31148) found -[7376] Forked 31149 -(31149) found -[7375] Forked 31150 -(31150) found -[7374] Forked 31151 -(31151) found -[7373] Forked 31152 -(31152) found -[7372] Forked 31153 -(31153) found -[7371] Forked 31154 -(31154) found -[7370] Forked 31155 -(31155) found -[7369] Forked 31156 -(31156) found -[7368] Forked 31157 -(31157) found -[7367] Forked 31158 -(31158) found -[7366] Forked 31159 -(31159) found -[7365] Forked 31160 -(31160) found -[7364] Forked 31161 -(31161) found -[7363] Forked 31162 -(31162) found -[7362] Forked 31163 -(31163) found -[7361] Forked 31164 -[7360] Forked 31165 -(31164) found -(31165) found -[7359] Forked 31166 -[7358] Forked 31167 -(31166) found -(31167) found -[7357] Forked 31168 -[7356] Forked 31169 -(31168) found -(31169) found -[7355] Forked 31170 -[7354] Forked 31171 -(31170) found -(31171) found -[7353] Forked 31172 -[7352] Forked 31173 -(31172) found -(31173) found -[7351] Forked 31174 -[7350] Forked 31175 -(31174) found -(31175) found -[7349] Forked 31176 -[7348] Forked 31177 -(31176) found -(31177) found -[7347] Forked 31178 -[7346] Forked 31179 -(31178) found -(31179) found -[7345] Forked 31180 -[7344] Forked 31181 -(31180) found -(31181) found -[7343] Forked 31182 -[7342] Forked 31183 -(31182) found -(31183) found -[7341] Forked 31184 -[7340] Forked 31185 -(31184) found -(31185) found -[7339] Forked 31186 -[7338] Forked 31187 -(31186) found -(31187) found -[7337] Forked 31188 -[7336] Forked 31189 -(31188) found -(31189) found -[7335] Forked 31190 -[7334] Forked 31191 -(31190) found -(31191) found -[7333] Forked 31192 -[7332] Forked 31193 -(31192) found -(31193) found -[7331] Forked 31194 -[7330] Forked 31195 -(31194) found -(31195) found -[7329] Forked 31196 -[7328] Forked 31197 -(31196) found -(31197) found -[7327] Forked 31198 -[7326] Forked 31199 -(31198) found -(31199) found -[7325] Forked 31200 -[7324] Forked 31201 -(31200) found -(31201) found -[7323] Forked 31202 -[7322] Forked 31203 -(31202) found -(31203) found -[7321] Forked 31204 -[7320] Forked 31205 -(31204) found -(31205) found -[7319] Forked 31206 -[7318] Forked 31207 -(31206) found -(31207) found -[7317] Forked 31208 -[7316] Forked 31209 -(31208) found -(31209) found -[7315] Forked 31210 -(31210) found -[7314] Forked 31211 -(31211) found -[7313] Forked 31212 -(31212) found -[7312] Forked 31213 -(31213) found -[7311] Forked 31214 -(31214) found -[7310] Forked 31215 -(31215) found -[7309] Forked 31216 -(31216) found -[7308] Forked 31217 -(31217) found -[7307] Forked 31218 -(31218) found -[7306] Forked 31219 -(31219) found -[7305] Forked 31220 -(31220) found -[7304] Forked 31221 -(31221) found -[7303] Forked 31222 -(31222) found -[7302] Forked 31223 -(31223) found -[7301] Forked 31224 -(31224) found -[7300] Forked 31225 -(31225) found -[7299] Forked 31226 -(31226) found -[7298] Forked 31227 -(31227) found -[7297] Forked 31228 -(31228) found -[7296] Forked 31229 -(31229) found -[7295] Forked 31230 -(31230) found -[7294] Forked 31231 -(31231) found -[7293] Forked 31232 -(31232) found -[7292] Forked 31233 -(31233) found -[7291] Forked 31234 -(31234) found -[7290] Forked 31235 -(31235) found -[7289] Forked 31236 -(31236) found -[7288] Forked 31237 -(31237) found -[7287] Forked 31238 -(31238) found -[7286] Forked 31239 -(31239) found -[7285] Forked 31240 -[7284] Forked 31241 -(31240) found -(31241) found -[7283] Forked 31242 -[7282] Forked 31243 -(31242) found -(31243) found -[7281] Forked 31244 -[7280] Forked 31245 -(31244) found -(31245) found -[7279] Forked 31246 -[7278] Forked 31247 -(31246) found -(31247) found -[7277] Forked 31248 -[7276] Forked 31249 -(31248) found -(31249) found -[7275] Forked 31250 -[7274] Forked 31251 -(31250) found -(31251) found -[7273] Forked 31252 -[7272] Forked 31253 -(31252) found -(31253) found -[7271] Forked 31254 -[7270] Forked 31255 -(31254) found -(31255) found -[7269] Forked 31256 -[7268] Forked 31257 -(31256) found -(31257) found -[7267] Forked 31258 -[7266] Forked 31259 -(31258) found -(31259) found -[7265] Forked 31260 -[7264] Forked 31261 -(31260) found -(31261) found -[7263] Forked 31262 -[7262] Forked 31263 -(31262) found -(31263) found -[7261] Forked 31264 -[7260] Forked 31265 -(31264) found -(31265) found -[7259] Forked 31266 -[7258] Forked 31267 -(31266) found -(31267) found -[7257] Forked 31268 -[7256] Forked 31269 -(31268) found -(31269) found -[7255] Forked 31270 -[7254] Forked 31271 -(31270) found -(31271) found -[7253] Forked 31272 -[7252] Forked 31273 -(31272) found -(31273) found -[7251] Forked 31274 -[7250] Forked 31275 -(31274) found -(31275) found -[7249] Forked 31276 -[7248] Forked 31277 -(31276) found -(31277) found -[7247] Forked 31278 -[7246] Forked 31279 -(31278) found -(31279) found -[7245] Forked 31280 -[7244] Forked 31281 -(31280) found -(31281) found -[7243] Forked 31282 -[7242] Forked 31283 -(31282) found -(31283) found -[7241] Forked 31284 -[7240] Forked 31285 -(31285) found -(31284) found -[7239] Forked 31286 -(31286) found -[7238] Forked 31287 -(31287) found -[7237] Forked 31288 -(31288) found -[7236] Forked 31289 -(31289) found -[7235] Forked 31290 -(31290) found -[7234] Forked 31291 -(31291) found -[7233] Forked 31292 -(31292) found -[7232] Forked 31293 -(31293) found -[7231] Forked 31294 -(31294) found -[7230] Forked 31295 -(31295) found -[7229] Forked 31296 -(31296) found -[7228] Forked 31297 -(31297) found -[7227] Forked 31298 -(31298) found -[7226] Forked 31299 -(31299) found -[7225] Forked 31300 -(31300) found -[7224] Forked 31301 -(31301) found -[7223] Forked 31302 -(31302) found -[7222] Forked 31303 -(31303) found -[7221] Forked 31304 -(31304) found -[7220] Forked 31305 -(31305) found -[7219] Forked 31306 -(31306) found -[7218] Forked 31307 -(31307) found -[7217] Forked 31308 -(31308) found -[7216] Forked 31309 -(31309) found -[7215] Forked 31310 -(31310) found -[7214] Forked 31311 -(31311) found -[7213] Forked 31312 -(31312) found -[7212] Forked 31313 -(31313) found -[7211] Forked 31314 -(31314) found -[7210] Forked 31315 -(31315) found -[7209] Forked 31316 -(31316) found -[7208] Forked 31317 -(31317) found -[7207] Forked 31318 -(31318) found -[7206] Forked 31319 -(31319) found -[7205] Forked 31320 -[7204] Forked 31321 -(31320) found -(31321) found -[7203] Forked 31322 -[7202] Forked 31323 -(31323) found -(31322) found -[7201] Forked 31324 -(31324) found -[7200] Forked 31325 -(31325) found -[7199] Forked 31326 -(31326) found -[7198] Forked 31327 -(31327) found -[7197] Forked 31328 -(31328) found -[7196] Forked 31329 -(31329) found -[7195] Forked 31330 -(31330) found -[7194] Forked 31331 -(31331) found -[7193] Forked 31332 -(31332) found -[7192] Forked 31333 -(31333) found -[7191] Forked 31334 -(31334) found -[7190] Forked 31335 -(31335) found -[7189] Forked 31336 -(31336) found -[7188] Forked 31337 -(31337) found -[7187] Forked 31338 -(31338) found -[7186] Forked 31339 -(31339) found -[7185] Forked 31340 -(31340) found -[7184] Forked 31341 -(31341) found -[7183] Forked 31342 -(31342) found -[7182] Forked 31343 -(31343) found -[7181] Forked 31344 -(31344) found -[7180] Forked 31345 -(31345) found -[7179] Forked 31346 -(31346) found -[7178] Forked 31347 -(31347) found -[7177] Forked 31348 -(31348) found -[7176] Forked 31349 -(31349) found -[7175] Forked 31350 -(31350) found -[7174] Forked 31351 -(31351) found -[7173] Forked 31352 -(31352) found -[7172] Forked 31353 -(31353) found -[7171] Forked 31354 -(31354) found -[7170] Forked 31355 -(31355) found -[7169] Forked 31356 -(31356) found -[7168] Forked 31357 -(31357) found -[7167] Forked 31358 -(31358) found -[7166] Forked 31359 -(31359) found -[7165] Forked 31360 -(31360) found -[7164] Forked 31361 -(31361) found -[7163] Forked 31362 -(31362) found -[7162] Forked 31363 -(31363) found -[7161] Forked 31364 -(31364) found -[7160] Forked 31365 -(31365) found -[7159] Forked 31366 -(31366) found -[7158] Forked 31367 -(31367) found -[7157] Forked 31368 -(31368) found -[7156] Forked 31369 -(31369) found -[7155] Forked 31370 -(31370) found -[7154] Forked 31371 -(31371) found -[7153] Forked 31372 -(31372) found -[7152] Forked 31373 -(31373) found -[7151] Forked 31374 -(31374) found -[7150] Forked 31375 -(31375) found -[7149] Forked 31376 -(31376) found -[7148] Forked 31377 -(31377) found -[7147] Forked 31378 -(31378) found -[7146] Forked 31379 -(31379) found -[7145] Forked 31380 -(31380) found -[7144] Forked 31381 -(31381) found -[7143] Forked 31382 -(31382) found -[7142] Forked 31383 -(31383) found -[7141] Forked 31384 -(31384) found -[7140] Forked 31385 -(31385) found -[7139] Forked 31386 -(31386) found -[7138] Forked 31387 -(31387) found -[7137] Forked 31388 -(31388) found -[7136] Forked 31389 -(31389) found -[7135] Forked 31390 -(31390) found -[7134] Forked 31391 -(31391) found -[7133] Forked 31392 -(31392) found -[7132] Forked 31393 -(31393) found -[7131] Forked 31394 -(31394) found -[7130] Forked 31395 -(31395) found -[7129] Forked 31396 -(31396) found -[7128] Forked 31397 -(31397) found -[7127] Forked 31398 -(31398) found -[7126] Forked 31399 -(31399) found -[7125] Forked 31400 -(31400) found -[7124] Forked 31401 -(31401) found -[7123] Forked 31402 -(31402) found -[7122] Forked 31403 -(31403) found -[7121] Forked 31404 -(31404) found -[7120] Forked 31405 -(31405) found -[7119] Forked 31406 -(31406) found -[7118] Forked 31407 -(31407) found -[7117] Forked 31408 -(31408) found -[7116] Forked 31409 -(31409) found -[7115] Forked 31410 -(31410) found -[7114] Forked 31411 -(31411) found -[7113] Forked 31412 -(31412) found -[7112] Forked 31413 -(31413) found -[7111] Forked 31414 -(31414) found -[7110] Forked 31415 -(31415) found -[7109] Forked 31416 -(31416) found -[7108] Forked 31417 -(31417) found -[7107] Forked 31418 -(31418) found -[7106] Forked 31419 -(31419) found -[7105] Forked 31420 -(31420) found -[7104] Forked 31421 -(31421) found -[7103] Forked 31422 -(31422) found -[7102] Forked 31423 -(31423) found -[7101] Forked 31424 -(31424) found -[7100] Forked 31425 -(31425) found -[7099] Forked 31426 -[7098] Forked 31427 -(31426) found -(31427) found -[7097] Forked 31428 -[7096] Forked 31429 -(31428) found -(31429) found -[7095] Forked 31430 -[7094] Forked 31431 -(31430) found -(31431) found -[7093] Forked 31432 -[7092] Forked 31433 -(31432) found -(31433) found -[7091] Forked 31434 -[7090] Forked 31435 -(31434) found -(31435) found -[7089] Forked 31436 -[7088] Forked 31437 -(31436) found -(31437) found -[7087] Forked 31438 -[7086] Forked 31439 -(31438) found -(31439) found -[7085] Forked 31440 -[7084] Forked 31441 -(31440) found -(31441) found -[7083] Forked 31442 -[7082] Forked 31443 -(31442) found -(31443) found -[7081] Forked 31444 -[7080] Forked 31445 -(31444) found -(31445) found -[7079] Forked 31446 -[7078] Forked 31447 -(31446) found -(31447) found -[7077] Forked 31448 -[7076] Forked 31449 -(31448) found -(31449) found -[7075] Forked 31450 -[7074] Forked 31451 -(31450) found -(31451) found -[7073] Forked 31452 -[7072] Forked 31453 -(31452) found -(31453) found -[7071] Forked 31454 -[7070] Forked 31455 -(31454) found -(31455) found -[7069] Forked 31456 -[7068] Forked 31457 -(31456) found -(31457) found -[7067] Forked 31458 -[7066] Forked 31459 -(31458) found -(31459) found -[7065] Forked 31460 -[7064] Forked 31461 -(31460) found -(31461) found -[7063] Forked 31462 -[7062] Forked 31463 -(31462) found -(31463) found -[7061] Forked 31464 -[7060] Forked 31465 -(31464) found -(31465) found -[7059] Forked 31466 -[7058] Forked 31467 -(31466) found -(31467) found -[7057] Forked 31468 -[7056] Forked 31469 -(31468) found -(31469) found -[7055] Forked 31470 -[7054] Forked 31471 -(31470) found -(31471) found -[7053] Forked 31472 -[7052] Forked 31473 -(31472) found -(31473) found -[7051] Forked 31474 -[7050] Forked 31475 -(31474) found -(31475) found -[7049] Forked 31476 -[7048] Forked 31477 -(31476) found -(31477) found -[7047] Forked 31478 -[7046] Forked 31479 -(31478) found -(31479) found -[7045] Forked 31480 -[7044] Forked 31481 -(31480) found -(31481) found -[7043] Forked 31482 -[7042] Forked 31483 -(31482) found -(31483) found -[7041] Forked 31484 -[7040] Forked 31485 -(31484) found -(31485) found -[7039] Forked 31486 -[7038] Forked 31487 -(31486) found -(31487) found -[7037] Forked 31488 -[7036] Forked 31489 -(31488) found -(31489) found -[7035] Forked 31490 -[7034] Forked 31491 -(31490) found -(31491) found -[7033] Forked 31492 -[7032] Forked 31493 -(31492) found -(31493) found -[7031] Forked 31494 -[7030] Forked 31495 -(31494) found -(31495) found -[7029] Forked 31496 -[7028] Forked 31497 -(31496) found -(31497) found -[7027] Forked 31498 -[7026] Forked 31499 -(31498) found -(31499) found -[7025] Forked 31500 -[7024] Forked 31501 -(31500) found -(31501) found -[7023] Forked 31502 -[7022] Forked 31503 -(31502) found -(31503) found -[7021] Forked 31504 -[7020] Forked 31505 -(31504) found -(31505) found -[7019] Forked 31506 -[7018] Forked 31507 -(31506) found -(31507) found -[7017] Forked 31508 -[7016] Forked 31509 -(31508) found -(31509) found -[7015] Forked 31510 -[7014] Forked 31511 -(31510) found -(31511) found -[7013] Forked 31512 -[7012] Forked 31513 -(31512) found -(31513) found -[7011] Forked 31514 -[7010] Forked 31515 -(31514) found -(31515) found -[7009] Forked 31516 -[7008] Forked 31517 -(31516) found -(31517) found -[7007] Forked 31518 -[7006] Forked 31519 -(31518) found -(31519) found -[7005] Forked 31520 -[7004] Forked 31521 -(31520) found -(31521) found -[7003] Forked 31522 -[7002] Forked 31523 -(31522) found -(31523) found -[7001] Forked 31524 -[7000] Forked 31525 -(31524) found -(31525) found -[6999] Forked 31526 -[6998] Forked 31527 -(31526) found -(31527) found -[6997] Forked 31528 -[6996] Forked 31529 -(31528) found -(31529) found -[6995] Forked 31530 -[6994] Forked 31531 -(31530) found -(31531) found -[6993] Forked 31532 -[6992] Forked 31533 -(31532) found -(31533) found -[6991] Forked 31534 -[6990] Forked 31535 -(31534) found -(31535) found -[6989] Forked 31536 -[6988] Forked 31537 -(31536) found -(31537) found -[6987] Forked 31538 -[6986] Forked 31539 -(31538) found -(31539) found -[6985] Forked 31540 -[6984] Forked 31541 -(31540) found -(31541) found -[6983] Forked 31542 -[6982] Forked 31543 -(31542) found -(31543) found -[6981] Forked 31544 -[6980] Forked 31545 -(31544) found -(31545) found -[6979] Forked 31546 -[6978] Forked 31547 -(31546) found -(31547) found -[6977] Forked 31548 -[6976] Forked 31549 -(31548) found -(31549) found -[6975] Forked 31550 -[6974] Forked 31551 -(31550) found -(31551) found -[6973] Forked 31552 -[6972] Forked 31553 -(31552) found -(31553) found -[6971] Forked 31554 -[6970] Forked 31555 -(31554) found -(31555) found -[6969] Forked 31556 -[6968] Forked 31557 -(31556) found -(31557) found -[6967] Forked 31558 -[6966] Forked 31559 -(31558) found -(31559) found -[6965] Forked 31560 -[6964] Forked 31561 -(31560) found -(31561) found -[6963] Forked 31562 -[6962] Forked 31563 -(31562) found -(31563) found -[6961] Forked 31564 -[6960] Forked 31565 -(31564) found -(31565) found -[6959] Forked 31566 -[6958] Forked 31567 -(31566) found -(31567) found -[6957] Forked 31568 -[6956] Forked 31569 -(31568) found -(31569) found -[6955] Forked 31570 -[6954] Forked 31571 -(31570) found -(31571) found -[6953] Forked 31572 -[6952] Forked 31573 -(31572) found -(31573) found -[6951] Forked 31574 -[6950] Forked 31575 -(31574) found -(31575) found -[6949] Forked 31576 -[6948] Forked 31577 -(31576) found -(31577) found -[6947] Forked 31578 -[6946] Forked 31579 -(31578) found -(31579) found -[6945] Forked 31580 -[6944] Forked 31581 -(31580) found -(31581) found -[6943] Forked 31582 -[6942] Forked 31583 -(31582) found -(31583) found -[6941] Forked 31584 -[6940] Forked 31585 -(31584) found -(31585) found -[6939] Forked 31586 -[6938] Forked 31587 -(31586) found -(31587) found -[6937] Forked 31588 -[6936] Forked 31589 -(31588) found -(31589) found -[6935] Forked 31590 -[6934] Forked 31591 -(31590) found -(31591) found -[6933] Forked 31592 -[6932] Forked 31593 -(31592) found -(31593) found -[6931] Forked 31594 -[6930] Forked 31595 -(31594) found -(31595) found -[6929] Forked 31596 -[6928] Forked 31597 -(31596) found -(31597) found -[6927] Forked 31598 -[6926] Forked 31599 -(31598) found -(31599) found -[6925] Forked 31600 -[6924] Forked 31601 -(31600) found -(31601) found -[6923] Forked 31602 -[6922] Forked 31603 -(31602) found -(31603) found -[6921] Forked 31604 -[6920] Forked 31605 -(31604) found -(31605) found -[6919] Forked 31606 -[6918] Forked 31607 -(31606) found -(31607) found -[6917] Forked 31608 -[6916] Forked 31609 -(31608) found -(31609) found -[6915] Forked 31610 -(31610) found -[6914] Forked 31611 -(31611) found -[6913] Forked 31612 -(31612) found -[6912] Forked 31613 -(31613) found -[6911] Forked 31614 -(31614) found -[6910] Forked 31615 -[6909] Forked 31616 -(31615) found -(31616) found -[6908] Forked 31617 -[6907] Forked 31618 -(31617) found -(31618) found -[6906] Forked 31619 -[6905] Forked 31620 -(31619) found -(31620) found -[6904] Forked 31621 -[6903] Forked 31622 -(31621) found -(31622) found -[6902] Forked 31623 -[6901] Forked 31624 -(31623) found -(31624) found -[6900] Forked 31625 -[6899] Forked 31626 -(31625) found -(31626) found -[6898] Forked 31627 -[6897] Forked 31628 -(31627) found -(31628) found -[6896] Forked 31629 -[6895] Forked 31630 -(31629) found -(31630) found -[6894] Forked 31631 -[6893] Forked 31632 -(31631) found -(31632) found -[6892] Forked 31633 -[6891] Forked 31634 -(31633) found -(31634) found -[6890] Forked 31635 -[6889] Forked 31636 -(31635) found -(31636) found -[6888] Forked 31637 -[6887] Forked 31638 -(31637) found -(31638) found -[6886] Forked 31639 -[6885] Forked 31640 -(31639) found -(31640) found -[6884] Forked 31641 -[6883] Forked 31642 -(31641) found -(31642) found -[6882] Forked 31643 -[6881] Forked 31644 -(31643) found -(31644) found -[6880] Forked 31645 -[6879] Forked 31646 -(31645) found -(31646) found -[6878] Forked 31647 -[6877] Forked 31648 -(31647) found -(31648) found -[6876] Forked 31649 -[6875] Forked 31650 -(31649) found -(31650) found -[6874] Forked 31651 -[6873] Forked 31652 -(31651) found -(31652) found -[6872] Forked 31653 -[6871] Forked 31654 -(31653) found -(31654) found -[6870] Forked 31655 -[6869] Forked 31656 -(31655) found -(31656) found -[6868] Forked 31657 -[6867] Forked 31658 -(31657) found -(31658) found -[6866] Forked 31659 -[6865] Forked 31660 -(31659) found -(31660) found -[6864] Forked 31661 -[6863] Forked 31662 -(31661) found -(31662) found -[6862] Forked 31663 -[6861] Forked 31664 -(31663) found -(31664) found -[6860] Forked 31665 -[6859] Forked 31666 -(31665) found -(31666) found -[6858] Forked 31667 -[6857] Forked 31668 -(31667) found -(31668) found -[6856] Forked 31669 -[6855] Forked 31670 -(31669) found -(31670) found -[6854] Forked 31671 -[6853] Forked 31672 -(31671) found -(31672) found -[6852] Forked 31673 -[6851] Forked 31674 -(31673) found -(31674) found -[6850] Forked 31675 -[6849] Forked 31676 -(31675) found -(31676) found -[6848] Forked 31677 -[6847] Forked 31678 -(31677) found -(31678) found -[6846] Forked 31679 -[6845] Forked 31680 -(31679) found -(31680) found -[6844] Forked 31681 -[6843] Forked 31682 -(31681) found -(31682) found -[6842] Forked 31683 -[6841] Forked 31684 -(31683) found -(31684) found -[6840] Forked 31685 -[6839] Forked 31686 -(31685) found -(31686) found -[6838] Forked 31687 -[6837] Forked 31688 -(31687) found -(31688) found -[6836] Forked 31689 -[6835] Forked 31690 -(31689) found -(31690) found -[6834] Forked 31691 -[6833] Forked 31692 -(31691) found -(31692) found -[6832] Forked 31693 -[6831] Forked 31694 -(31693) found -(31694) found -[6830] Forked 31695 -[6829] Forked 31696 -(31695) found -(31696) found -[6828] Forked 31697 -[6827] Forked 31698 -(31697) found -(31698) found -[6826] Forked 31699 -[6825] Forked 31700 -(31699) found -(31700) found -[6824] Forked 31701 -[6823] Forked 31702 -(31701) found -(31702) found -[6822] Forked 31703 -[6821] Forked 31704 -(31703) found -(31704) found -[6820] Forked 31705 -[6819] Forked 31706 -(31706) found -(31705) found -[6818] Forked 31707 -(31707) found -[6817] Forked 31708 -(31708) found -[6816] Forked 31709 -(31709) found -[6815] Forked 31710 -(31710) found -[6814] Forked 31711 -(31711) found -[6813] Forked 31712 -(31712) found -[6812] Forked 31713 -(31713) found -[6811] Forked 31714 -(31714) found -[6810] Forked 31715 -(31715) found -[6809] Forked 31716 -(31716) found -[6808] Forked 31717 -(31717) found -[6807] Forked 31718 -(31718) found -[6806] Forked 31719 -(31719) found -[6805] Forked 31720 -(31720) found -[6804] Forked 31721 -(31721) found -[6803] Forked 31722 -(31722) found -[6802] Forked 31723 -(31723) found -[6801] Forked 31724 -(31724) found -[6800] Forked 31725 -(31725) found -[6799] Forked 31726 -(31726) found -[6798] Forked 31727 -(31727) found -[6797] Forked 31728 -(31728) found -[6796] Forked 31729 -(31729) found -[6795] Forked 31730 -(31730) found -[6794] Forked 31731 -(31731) found -[6793] Forked 31732 -(31732) found -[6792] Forked 31733 -(31733) found -[6791] Forked 31734 -(31734) found -[6790] Forked 31735 -(31735) found -[6789] Forked 31736 -(31736) found -[6788] Forked 31737 -(31737) found -[6787] Forked 31738 -(31738) found -[6786] Forked 31739 -(31739) found -[6785] Forked 31740 -(31740) found -[6784] Forked 31741 -(31741) found -[6783] Forked 31742 -[6782] Forked 31743 -(31742) found -(31743) found -[6781] Forked 31744 -[6780] Forked 31745 -(31744) found -(31745) found -[6779] Forked 31746 -[6778] Forked 31747 -(31746) found -(31747) found -[6777] Forked 31748 -[6776] Forked 31749 -(31748) found -(31749) found -[6775] Forked 31750 -[6774] Forked 31751 -(31750) found -(31751) found -[6773] Forked 31752 -[6772] Forked 31753 -(31752) found -(31753) found -[6771] Forked 31754 -[6770] Forked 31755 -(31754) found -(31755) found -[6769] Forked 31756 -[6768] Forked 31757 -(31756) found -(31757) found -[6767] Forked 31758 -[6766] Forked 31759 -(31758) found -(31759) found -[6765] Forked 31760 -[6764] Forked 31761 -(31760) found -(31761) found -[6763] Forked 31762 -[6762] Forked 31763 -(31762) found -(31763) found -[6761] Forked 31764 -[6760] Forked 31765 -(31764) found -(31765) found -[6759] Forked 31766 -[6758] Forked 31767 -(31766) found -(31767) found -[6757] Forked 31768 -[6756] Forked 31769 -(31768) found -(31769) found -[6755] Forked 31770 -[6754] Forked 31771 -(31770) found -(31771) found -[6753] Forked 31772 -[6752] Forked 31773 -(31772) found -(31773) found -[6751] Forked 31774 -[6750] Forked 31775 -(31774) found -(31775) found -[6749] Forked 31776 -[6748] Forked 31777 -(31776) found -(31777) found -[6747] Forked 31778 -[6746] Forked 31779 -(31778) found -(31779) found -[6745] Forked 31780 -[6744] Forked 31781 -(31780) found -(31781) found -[6743] Forked 31782 -[6742] Forked 31783 -(31782) found -(31783) found -[6741] Forked 31784 -[6740] Forked 31785 -(31784) found -(31785) found -[6739] Forked 31786 -[6738] Forked 31787 -(31786) found -(31787) found -[6737] Forked 31788 -[6736] Forked 31789 -(31788) found -(31789) found -[6735] Forked 31790 -[6734] Forked 31791 -(31790) found -(31791) found -[6733] Forked 31792 -[6732] Forked 31793 -(31792) found -(31793) found -[6731] Forked 31794 -[6730] Forked 31795 -(31794) found -(31795) found -[6729] Forked 31796 -[6728] Forked 31797 -(31796) found -(31797) found -[6727] Forked 31798 -[6726] Forked 31799 -(31798) found -(31799) found -[6725] Forked 31800 -[6724] Forked 31801 -(31800) found -(31801) found -[6723] Forked 31802 -[6722] Forked 31803 -(31802) found -(31803) found -[6721] Forked 31804 -[6720] Forked 31805 -(31804) found -(31805) found -[6719] Forked 31806 -[6718] Forked 31807 -(31806) found -(31807) found -[6717] Forked 31808 -[6716] Forked 31809 -(31808) found -(31809) found -[6715] Forked 31810 -[6714] Forked 31811 -(31810) found -(31811) found -[6713] Forked 31812 -[6712] Forked 31813 -(31812) found -(31813) found -[6711] Forked 31814 -[6710] Forked 31815 -(31814) found -(31815) found -[6709] Forked 31816 -[6708] Forked 31817 -(31816) found -(31817) found -[6707] Forked 31818 -[6706] Forked 31819 -(31818) found -(31819) found -[6705] Forked 31820 -[6704] Forked 31821 -(31820) found -(31821) found -[6703] Forked 31822 -[6702] Forked 31823 -(31822) found -(31823) found -[6701] Forked 31824 -[6700] Forked 31825 -(31824) found -(31825) found -[6699] Forked 31826 -[6698] Forked 31827 -(31826) found -(31827) found -[6697] Forked 31828 -[6696] Forked 31829 -(31828) found -(31829) found -[6695] Forked 31830 -[6694] Forked 31831 -(31830) found -(31831) found -[6693] Forked 31832 -[6692] Forked 31833 -(31832) found -(31833) found -[6691] Forked 31834 -[6690] Forked 31835 -(31834) found -(31835) found -[6689] Forked 31836 -[6688] Forked 31837 -(31836) found -(31837) found -[6687] Forked 31838 -[6686] Forked 31839 -(31838) found -(31839) found -[6685] Forked 31840 -[6684] Forked 31842 -(31840) found -(31842) found -[6683] Forked 31843 -(31843) found -[6682] Forked 31844 -(31844) found -[6681] Forked 31845 -(31845) found -[6680] Forked 31846 -(31846) found -[6679] Forked 31847 -(31847) found -[6678] Forked 31848 -(31848) found -[6677] Forked 31849 -(31849) found -[6676] Forked 31850 -(31850) found -[6675] Forked 31851 -(31851) found -[6674] Forked 31852 -(31852) found -[6673] Forked 31853 -(31853) found -[6672] Forked 31854 -(31854) found -[6671] Forked 31855 -(31855) found -[6670] Forked 31856 -(31856) found -[6669] Forked 31857 -(31857) found -[6668] Forked 31858 -(31858) found -[6667] Forked 31859 -(31859) found -[6666] Forked 31860 -(31860) found -[6665] Forked 31861 -(31861) found -[6664] Forked 31862 -(31862) found -[6663] Forked 31863 -(31863) found -[6662] Forked 31864 -(31864) found -[6661] Forked 31865 -(31865) found -[6660] Forked 31866 -(31866) found -[6659] Forked 31867 -(31867) found -[6658] Forked 31868 -(31868) found -[6657] Forked 31869 -(31869) found -[6656] Forked 31870 -(31870) found -[6655] Forked 31871 -(31871) found -[6654] Forked 31872 -(31872) found -[6653] Forked 31873 -(31873) found -[6652] Forked 31874 -(31874) found -[6651] Forked 31875 -(31875) found -[6650] Forked 31876 -(31876) found -[6649] Forked 31877 -(31877) found -[6648] Forked 31878 -(31878) found -[6647] Forked 31879 -(31879) found -[6646] Forked 31880 -(31880) found -[6645] Forked 31881 -(31881) found -[6644] Forked 31882 -(31882) found -[6643] Forked 31883 -(31883) found -[6642] Forked 31884 -(31884) found -[6641] Forked 31885 -(31885) found -[6640] Forked 31886 -(31886) found -[6639] Forked 31887 -(31887) found -[6638] Forked 31888 -(31888) found -[6637] Forked 31889 -(31889) found -[6636] Forked 31890 -(31890) found -[6635] Forked 31891 -(31891) found -[6634] Forked 31892 -(31892) found -[6633] Forked 31893 -(31893) found -[6632] Forked 31894 -(31894) found -[6631] Forked 31895 -(31895) found -[6630] Forked 31896 -(31896) found -[6629] Forked 31897 -(31897) found -[6628] Forked 31898 -(31898) found -[6627] Forked 31899 -(31899) found -[6626] Forked 31900 -(31900) found -[6625] Forked 31901 -(31901) found -[6624] Forked 31902 -(31902) found -[6623] Forked 31903 -(31903) found -[6622] Forked 31904 -[6621] Forked 31905 -(31904) found -(31905) found -[6620] Forked 31906 -[6619] Forked 31907 -(31906) found -(31907) found -[6618] Forked 31908 -[6617] Forked 31909 -(31908) found -(31909) found -[6616] Forked 31910 -[6615] Forked 31911 -(31910) found -(31911) found -[6614] Forked 31912 -[6613] Forked 31913 -(31912) found -(31913) found -[6612] Forked 31914 -[6611] Forked 31915 -(31914) found -(31915) found -[6610] Forked 31916 -[6609] Forked 31917 -(31916) found -(31917) found -[6608] Forked 31918 -[6607] Forked 31919 -(31918) found -(31919) found -[6606] Forked 31920 -[6605] Forked 31921 -(31920) found -(31921) found -[6604] Forked 31922 -[6603] Forked 31923 -(31922) found -(31923) found -[6602] Forked 31924 -[6601] Forked 31925 -(31924) found -(31925) found -[6600] Forked 31926 -[6599] Forked 31927 -(31926) found -(31927) found -[6598] Forked 31928 -[6597] Forked 31929 -(31928) found -(31929) found -[6596] Forked 31930 -[6595] Forked 31931 -(31930) found -(31931) found -[6594] Forked 31932 -[6593] Forked 31933 -(31932) found -(31933) found -[6592] Forked 31934 -[6591] Forked 31935 -(31934) found -(31935) found -[6590] Forked 31936 -[6589] Forked 31937 -(31936) found -(31937) found -[6588] Forked 31938 -[6587] Forked 31939 -(31938) found -(31939) found -[6586] Forked 31940 -[6585] Forked 31941 -(31940) found -(31941) found -[6584] Forked 31942 -[6583] Forked 31943 -(31942) found -(31943) found -[6582] Forked 31944 -[6581] Forked 31945 -(31944) found -(31945) found -[6580] Forked 31946 -[6579] Forked 31947 -(31946) found -(31947) found -[6578] Forked 31948 -[6577] Forked 31949 -(31948) found -(31949) found -[6576] Forked 31950 -(31950) found -[6575] Forked 31951 -(31951) found -[6574] Forked 31952 -(31952) found -[6573] Forked 31953 -(31953) found -[6572] Forked 31954 -(31954) found -[6571] Forked 31955 -(31955) found -[6570] Forked 31956 -(31956) found -[6569] Forked 31957 -(31957) found -[6568] Forked 31958 -(31958) found -[6567] Forked 31959 -(31959) found -[6566] Forked 31960 -(31960) found -[6565] Forked 31961 -(31961) found -[6564] Forked 31962 -(31962) found -[6563] Forked 31963 -(31963) found -[6562] Forked 31964 -(31964) found -[6561] Forked 31965 -(31965) found -[6560] Forked 31966 -(31966) found -[6559] Forked 31967 -(31967) found -[6558] Forked 31968 -(31968) found -[6557] Forked 31969 -(31969) found -[6556] Forked 31970 -(31970) found -[6555] Forked 31971 -(31971) found -[6554] Forked 31972 -(31972) found -[6553] Forked 31973 -(31973) found -[6552] Forked 31974 -(31974) found -[6551] Forked 31975 -(31975) found -[6550] Forked 31976 -(31976) found -[6549] Forked 31977 -(31977) found -[6548] Forked 31978 -(31978) found -[6547] Forked 31979 -(31979) found -[6546] Forked 31980 -(31980) found -[6545] Forked 31981 -(31981) found -[6544] Forked 31982 -(31982) found -[6543] Forked 31983 -(31983) found -[6542] Forked 31984 -(31984) found -[6541] Forked 31985 -[6540] Forked 31986 -(31985) found -(31986) found -[6539] Forked 31987 -[6538] Forked 31988 -(31987) found -(31988) found -[6537] Forked 31989 -[6536] Forked 31990 -(31989) found -(31990) found -[6535] Forked 31991 -[6534] Forked 31992 -(31991) found -(31992) found -[6533] Forked 31993 -[6532] Forked 31994 -(31993) found -(31994) found -[6531] Forked 31995 -[6530] Forked 31996 -(31995) found -(31996) found -[6529] Forked 31997 -[6528] Forked 31998 -(31997) found -(31998) found -[6527] Forked 31999 -[6526] Forked 32000 -(31999) found -(32000) found -[6525] Forked 32001 -[6524] Forked 32002 -(32001) found -(32002) found -[6523] Forked 32003 -[6522] Forked 32004 -(32003) found -(32004) found -[6521] Forked 32005 -[6520] Forked 32006 -(32005) found -(32006) found -[6519] Forked 32007 -[6518] Forked 32008 -(32007) found -(32008) found -[6517] Forked 32009 -[6516] Forked 32010 -(32009) found -(32010) found -[6515] Forked 32011 -[6514] Forked 32012 -(32011) found -(32012) found -[6513] Forked 32013 -[6512] Forked 32014 -(32013) found -(32014) found -[6511] Forked 32015 -[6510] Forked 32016 -(32015) found -(32016) found -[6509] Forked 32017 -[6508] Forked 32018 -(32017) found -(32018) found -[6507] Forked 32019 -[6506] Forked 32020 -(32019) found -(32020) found -[6505] Forked 32021 -[6504] Forked 32022 -(32021) found -(32022) found -[6503] Forked 32023 -[6502] Forked 32024 -(32023) found -(32024) found -[6501] Forked 32025 -[6500] Forked 32026 -(32025) found -(32026) found -[6499] Forked 32027 -[6498] Forked 32028 -(32027) found -(32028) found -[6497] Forked 32029 -[6496] Forked 32030 -(32029) found -(32030) found -[6495] Forked 32031 -[6494] Forked 32032 -(32031) found -(32032) found -[6493] Forked 32033 -[6492] Forked 32034 -(32033) found -(32034) found -[6491] Forked 32035 -[6490] Forked 32036 -(32035) found -(32036) found -[6489] Forked 32037 -[6488] Forked 32038 -(32037) found -(32038) found -[6487] Forked 32039 -[6486] Forked 32040 -(32039) found -(32040) found -[6485] Forked 32041 -[6484] Forked 32042 -(32041) found -(32042) found -[6483] Forked 32043 -[6482] Forked 32044 -(32043) found -(32044) found -[6481] Forked 32045 -[6480] Forked 32046 -(32045) found -(32046) found -[6479] Forked 32047 -[6478] Forked 32048 -(32047) found -(32048) found -[6477] Forked 32049 -[6476] Forked 32050 -(32049) found -(32050) found -[6475] Forked 32051 -[6474] Forked 32052 -(32051) found -(32052) found -[6473] Forked 32053 -[6472] Forked 32054 -(32053) found -(32054) found -[6471] Forked 32055 -[6470] Forked 32056 -(32055) found -(32056) found -[6469] Forked 32057 -[6468] Forked 32058 -(32057) found -(32058) found -[6467] Forked 32059 -[6466] Forked 32060 -(32059) found -(32060) found -[6465] Forked 32061 -[6464] Forked 32062 -(32061) found -(32062) found -[6463] Forked 32063 -[6462] Forked 32064 -(32063) found -(32064) found -[6461] Forked 32065 -[6460] Forked 32066 -(32065) found -(32066) found -[6459] Forked 32067 -[6458] Forked 32068 -(32067) found -(32068) found -[6457] Forked 32069 -[6456] Forked 32070 -(32069) found -(32070) found -[6455] Forked 32071 -[6454] Forked 32072 -(32071) found -(32072) found -[6453] Forked 32073 -[6452] Forked 32074 -(32073) found -(32074) found -[6451] Forked 32075 -[6450] Forked 32076 -(32075) found -(32076) found -[6449] Forked 32077 -[6448] Forked 32078 -(32077) found -(32078) found -[6447] Forked 32079 -[6446] Forked 32080 -(32079) found -(32080) found -[6445] Forked 32081 -[6444] Forked 32082 -(32081) found -(32082) found -[6443] Forked 32083 -[6442] Forked 32084 -(32083) found -(32084) found -[6441] Forked 32085 -[6440] Forked 32086 -(32085) found -(32086) found -[6439] Forked 32087 -[6438] Forked 32088 -(32087) found -(32088) found -[6437] Forked 32089 -[6436] Forked 32090 -(32089) found -(32090) found -[6435] Forked 32091 -[6434] Forked 32092 -(32091) found -(32092) found -[6433] Forked 32093 -[6432] Forked 32094 -(32093) found -(32094) found -[6431] Forked 32095 -[6430] Forked 32096 -(32095) found -(32096) found -[6429] Forked 32097 -[6428] Forked 32098 -(32097) found -(32098) found -[6427] Forked 32099 -[6426] Forked 32100 -(32099) found -(32100) found -[6425] Forked 32101 -[6424] Forked 32102 -(32101) found -(32102) found -[6423] Forked 32103 -[6422] Forked 32104 -(32103) found -(32104) found -[6421] Forked 32105 -[6420] Forked 32106 -(32105) found -(32106) found -[6419] Forked 32107 -[6418] Forked 32108 -(32107) found -(32108) found -[6417] Forked 32109 -[6416] Forked 32110 -(32109) found -(32110) found -[6415] Forked 32111 -[6414] Forked 32112 -(32111) found -(32112) found -[6413] Forked 32113 -[6412] Forked 32115 -(32113) found -(32115) found -[6411] Forked 32116 -(32116) found -[6410] Forked 32117 -[6409] Forked 32118 -(32117) found -(32118) found -[6408] Forked 32119 -[6407] Forked 32120 -(32119) found -(32120) found -[6406] Forked 32121 -[6405] Forked 32122 -(32121) found -(32122) found -[6404] Forked 32123 -[6403] Forked 32124 -(32123) found -(32124) found -[6402] Forked 32125 -[6401] Forked 32126 -(32125) found -(32126) found -[6400] Forked 32127 -[6399] Forked 32128 -(32127) found -(32128) found -[6398] Forked 32129 -[6397] Forked 32130 -(32129) found -(32130) found -[6396] Forked 32131 -[6395] Forked 32132 -(32131) found -(32132) found -[6394] Forked 32133 -[6393] Forked 32134 -(32133) found -(32134) found -[6392] Forked 32135 -[6391] Forked 32136 -(32135) found -(32136) found -[6390] Forked 32137 -[6389] Forked 32138 -(32137) found -(32138) found -[6388] Forked 32139 -[6387] Forked 32140 -(32139) found -(32140) found -[6386] Forked 32141 -[6385] Forked 32142 -(32141) found -(32142) found -[6384] Forked 32143 -[6383] Forked 32144 -(32143) found -(32144) found -[6382] Forked 32145 -[6381] Forked 32146 -(32145) found -(32146) found -[6380] Forked 32147 -[6379] Forked 32148 -(32147) found -(32148) found -[6378] Forked 32149 -[6377] Forked 32150 -(32149) found -(32150) found -[6376] Forked 32151 -[6375] Forked 32152 -(32151) found -(32152) found -[6374] Forked 32153 -[6373] Forked 32154 -(32153) found -(32154) found -[6372] Forked 32155 -[6371] Forked 32156 -(32155) found -(32156) found -[6370] Forked 32157 -[6369] Forked 32158 -(32157) found -(32158) found -[6368] Forked 32159 -[6367] Forked 32160 -(32159) found -(32160) found -[6366] Forked 32161 -[6365] Forked 32162 -(32161) found -(32162) found -[6364] Forked 32163 -[6363] Forked 32164 -(32163) found -(32164) found -[6362] Forked 32165 -[6361] Forked 32166 -(32165) found -(32166) found -[6360] Forked 32167 -[6359] Forked 32168 -(32167) found -(32168) found -[6358] Forked 32169 -(32169) found -[6357] Forked 32170 -(32170) found -[6356] Forked 32171 -(32171) found -[6355] Forked 32172 -(32172) found -[6354] Forked 32173 -(32173) found -[6353] Forked 32174 -(32174) found -[6352] Forked 32175 -(32175) found -[6351] Forked 32176 -(32176) found -[6350] Forked 32177 -(32177) found -[6349] Forked 32178 -(32178) found -[6348] Forked 32179 -(32179) found -[6347] Forked 32180 -(32180) found -[6346] Forked 32181 -(32181) found -[6345] Forked 32182 -(32182) found -[6344] Forked 32183 -(32183) found -[6343] Forked 32184 -(32184) found -[6342] Forked 32185 -(32185) found -[6341] Forked 32186 -(32186) found -[6340] Forked 32187 -(32187) found -[6339] Forked 32188 -(32188) found -[6338] Forked 32189 -(32189) found -[6337] Forked 32190 -(32190) found -[6336] Forked 32191 -(32191) found -[6335] Forked 32192 -(32192) found -[6334] Forked 32193 -(32193) found -[6333] Forked 32194 -(32194) found -[6332] Forked 32195 -(32195) found -[6331] Forked 32196 -(32196) found -[6330] Forked 32197 -(32197) found -[6329] Forked 32198 -(32198) found -[6328] Forked 32199 -(32199) found -[6327] Forked 32200 -(32200) found -[6326] Forked 32201 -(32201) found -[6325] Forked 32202 -(32202) found -[6324] Forked 32203 -(32203) found -[6323] Forked 32204 -[6322] Forked 32205 -(32204) found -(32205) found -[6321] Forked 32206 -[6320] Forked 32207 -(32206) found -(32207) found -[6319] Forked 32208 -[6318] Forked 32209 -(32208) found -(32209) found -[6317] Forked 32210 -[6316] Forked 32211 -(32210) found -(32211) found -[6315] Forked 32212 -[6314] Forked 32213 -(32212) found -(32213) found -[6313] Forked 32214 -[6312] Forked 32215 -(32214) found -(32215) found -[6311] Forked 32216 -[6310] Forked 32217 -(32216) found -(32217) found -[6309] Forked 32218 -[6308] Forked 32219 -(32218) found -(32219) found -[6307] Forked 32220 -[6306] Forked 32221 -(32220) found -(32221) found -[6305] Forked 32222 -[6304] Forked 32223 -(32222) found -(32223) found -[6303] Forked 32224 -[6302] Forked 32225 -(32224) found -(32225) found -[6301] Forked 32226 -[6300] Forked 32227 -(32226) found -(32227) found -[6299] Forked 32228 -[6298] Forked 32229 -(32228) found -(32229) found -[6297] Forked 32230 -[6296] Forked 32231 -(32230) found -(32231) found -[6295] Forked 32232 -[6294] Forked 32233 -(32232) found -(32233) found -[6293] Forked 32234 -[6292] Forked 32235 -(32234) found -(32235) found -[6291] Forked 32236 -[6290] Forked 32237 -(32236) found -(32237) found -[6289] Forked 32238 -[6288] Forked 32239 -(32238) found -(32239) found -[6287] Forked 32240 -[6286] Forked 32241 -(32240) found -(32241) found -[6285] Forked 32242 -[6284] Forked 32243 -(32242) found -(32243) found -[6283] Forked 32244 -[6282] Forked 32245 -(32244) found -(32245) found -[6281] Forked 32246 -[6280] Forked 32247 -(32246) found -(32247) found -[6279] Forked 32248 -[6278] Forked 32249 -(32248) found -(32249) found -[6277] Forked 32250 -(32250) found -[6276] Forked 32251 -(32251) found -[6275] Forked 32252 -(32252) found -[6274] Forked 32253 -(32253) found -[6273] Forked 32254 -(32254) found -[6272] Forked 32255 -(32255) found -[6271] Forked 32256 -(32256) found -[6270] Forked 32257 -(32257) found -[6269] Forked 32258 -(32258) found -[6268] Forked 32259 -(32259) found -[6267] Forked 32260 -(32260) found -[6266] Forked 32261 -(32261) found -[6265] Forked 32262 -(32262) found -[6264] Forked 32263 -(32263) found -[6263] Forked 32264 -(32264) found -[6262] Forked 32265 -(32265) found -[6261] Forked 32266 -(32266) found -[6260] Forked 32267 -(32267) found -[6259] Forked 32268 -(32268) found -[6258] Forked 32269 -(32269) found -[6257] Forked 32270 -(32270) found -[6256] Forked 32271 -(32271) found -[6255] Forked 32272 -(32272) found -[6254] Forked 32273 -(32273) found -[6253] Forked 32274 -(32274) found -[6252] Forked 32275 -[6251] Forked 32276 -(32275) found -(32276) found -[6250] Forked 32277 -[6249] Forked 32278 -(32277) found -(32278) found -[6248] Forked 32279 -[6247] Forked 32280 -(32279) found -(32280) found -[6246] Forked 32281 -[6245] Forked 32282 -(32281) found -(32282) found -[6244] Forked 32283 -[6243] Forked 32284 -(32283) found -(32284) found -[6242] Forked 32285 -[6241] Forked 32286 -(32285) found -(32286) found -[6240] Forked 32287 -[6239] Forked 32288 -(32287) found -(32288) found -[6238] Forked 32289 -[6237] Forked 32290 -(32289) found -(32290) found -[6236] Forked 32291 -[6235] Forked 32292 -(32291) found -(32292) found -[6234] Forked 32293 -[6233] Forked 32294 -(32293) found -(32294) found -[6232] Forked 32295 -[6231] Forked 32296 -(32295) found -(32296) found -[6230] Forked 32297 -[6229] Forked 32298 -(32297) found -(32298) found -[6228] Forked 32299 -[6227] Forked 32300 -(32299) found -(32300) found -[6226] Forked 32301 -[6225] Forked 32302 -(32301) found -(32302) found -[6224] Forked 32303 -[6223] Forked 32304 -(32303) found -(32304) found -[6222] Forked 32305 -[6221] Forked 32306 -(32305) found -(32306) found -[6220] Forked 32307 -[6219] Forked 32308 -(32307) found -(32308) found -[6218] Forked 32309 -[6217] Forked 32310 -(32309) found -(32310) found -[6216] Forked 32311 -[6215] Forked 32312 -(32311) found -(32312) found -[6214] Forked 32313 -[6213] Forked 32314 -(32313) found -(32314) found -[6212] Forked 32315 -[6211] Forked 32316 -(32315) found -(32316) found -[6210] Forked 32317 -[6209] Forked 32318 -(32317) found -(32318) found -[6208] Forked 32319 -[6207] Forked 32320 -(32319) found -(32320) found -[6206] Forked 32321 -(32321) found -[6205] Forked 32322 -(32322) found -[6204] Forked 32323 -(32323) found -[6203] Forked 32324 -(32324) found -[6202] Forked 32325 -(32325) found -[6201] Forked 32326 -(32326) found -[6200] Forked 32327 -(32327) found -[6199] Forked 32328 -(32328) found -[6198] Forked 32329 -(32329) found -[6197] Forked 32330 -(32330) found -[6196] Forked 32331 -(32331) found -[6195] Forked 32332 -(32332) found -[6194] Forked 32333 -(32333) found -[6193] Forked 32334 -(32334) found -[6192] Forked 32335 -(32335) found -[6191] Forked 32336 -(32336) found -[6190] Forked 32337 -(32337) found -[6189] Forked 32338 -(32338) found -[6188] Forked 32339 -(32339) found -[6187] Forked 32340 -(32340) found -[6186] Forked 32341 -(32341) found -[6185] Forked 32342 -(32342) found -[6184] Forked 32343 -(32343) found -[6183] Forked 32344 -(32344) found -[6182] Forked 32345 -(32345) found -[6181] Forked 32346 -(32346) found -[6180] Forked 32347 -(32347) found -[6179] Forked 32348 -(32348) found -[6178] Forked 32349 -(32349) found -[6177] Forked 32350 -(32350) found -[6176] Forked 32351 -(32351) found -[6175] Forked 32352 -(32352) found -[6174] Forked 32353 -(32353) found -[6173] Forked 32354 -(32354) found -[6172] Forked 32355 -(32355) found -[6171] Forked 32356 -[6170] Forked 32357 -(32356) found -(32357) found -[6169] Forked 32358 -[6168] Forked 32359 -(32358) found -(32359) found -[6167] Forked 32360 -[6166] Forked 32361 -(32360) found -(32361) found -[6165] Forked 32362 -[6164] Forked 32363 -(32362) found -(32363) found -[6163] Forked 32364 -[6162] Forked 32365 -(32364) found -(32365) found -[6161] Forked 32366 -[6160] Forked 32367 -(32366) found -(32367) found -[6159] Forked 32368 -[6158] Forked 32369 -(32368) found -(32369) found -[6157] Forked 32370 -[6156] Forked 32371 -(32370) found -(32371) found -[6155] Forked 32372 -[6154] Forked 32373 -(32372) found -(32373) found -[6153] Forked 32374 -[6152] Forked 32375 -(32374) found -(32375) found -[6151] Forked 32376 -[6150] Forked 32377 -(32376) found -(32377) found -[6149] Forked 32378 -[6148] Forked 32379 -(32378) found -(32379) found -[6147] Forked 32380 -[6146] Forked 32381 -(32380) found -(32381) found -[6145] Forked 32382 -[6144] Forked 32383 -(32382) found -(32383) found -[6143] Forked 32384 -[6142] Forked 32385 -(32384) found -(32385) found -[6141] Forked 32386 -[6140] Forked 32387 -(32386) found -(32387) found -[6139] Forked 32388 -[6138] Forked 32389 -(32388) found -(32389) found -[6137] Forked 32390 -[6136] Forked 32391 -(32390) found -(32391) found -[6135] Forked 32392 -[6134] Forked 32393 -(32392) found -(32393) found -[6133] Forked 32394 -[6132] Forked 32396 -(32394) found -(32396) found -[6131] Forked 32397 -(32397) found -[6130] Forked 32398 -(32398) found -[6129] Forked 32399 -(32399) found -[6128] Forked 32400 -(32400) found -[6127] Forked 32401 -(32401) found -[6126] Forked 32402 -(32402) found -[6125] Forked 32403 -(32403) found -[6124] Forked 32404 -(32404) found -[6123] Forked 32405 -(32405) found -[6122] Forked 32406 -(32406) found -[6121] Forked 32407 -(32407) found -[6120] Forked 32408 -(32408) found -[6119] Forked 32409 -(32409) found -[6118] Forked 32410 -(32410) found -[6117] Forked 32411 -(32411) found -[6116] Forked 32412 -(32412) found -[6115] Forked 32413 -(32413) found -[6114] Forked 32414 -(32414) found -[6113] Forked 32415 -(32415) found -[6112] Forked 32416 -(32416) found -[6111] Forked 32417 -(32417) found -[6110] Forked 32418 -(32418) found -[6109] Forked 32419 -(32419) found -[6108] Forked 32420 -(32420) found -[6107] Forked 32421 -(32421) found -[6106] Forked 32422 -(32422) found -[6105] Forked 32423 -(32423) found -[6104] Forked 32424 -(32424) found -[6103] Forked 32425 -(32425) found -[6102] Forked 32426 -(32426) found -[6101] Forked 32427 -(32427) found -[6100] Forked 32428 -(32428) found -[6099] Forked 32429 -(32429) found -[6098] Forked 32430 -(32430) found -[6097] Forked 32431 -(32431) found -[6096] Forked 32432 -(32432) found -[6095] Forked 32433 -(32433) found -[6094] Forked 32434 -(32434) found -[6093] Forked 32435 -(32435) found -[6092] Forked 32436 -[6091] Forked 32437 -(32436) found -(32437) found -[6090] Forked 32438 -[6089] Forked 32439 -(32438) found -(32439) found -[6088] Forked 32440 -[6087] Forked 32441 -(32440) found -(32441) found -[6086] Forked 32442 -[6085] Forked 32443 -(32442) found -(32443) found -[6084] Forked 32444 -[6083] Forked 32445 -(32444) found -(32445) found -[6082] Forked 32446 -[6081] Forked 32447 -(32446) found -(32447) found -[6080] Forked 32448 -[6079] Forked 32449 -(32448) found -(32449) found -[6078] Forked 32450 -[6077] Forked 32452 -(32450) found -(32452) found -[6076] Forked 32453 -(32453) found -[6075] Forked 32454 -(32454) found -[6074] Forked 32455 -(32455) found -[6073] Forked 32456 -(32456) found -[6072] Forked 32457 -(32457) found -[6071] Forked 32458 -(32458) found -[6070] Forked 32459 -(32459) found -[6069] Forked 32460 -(32460) found -[6068] Forked 32461 -(32461) found -[6067] Forked 32462 -(32462) found -[6066] Forked 32463 -(32463) found -[6065] Forked 32464 -(32464) found -[6064] Forked 32465 -(32465) found -[6063] Forked 32466 -(32466) found -[6062] Forked 32467 -(32467) found -[6061] Forked 32468 -(32468) found -[6060] Forked 32469 -(32469) found -[6059] Forked 32470 -(32470) found -[6058] Forked 32471 -(32471) found -[6057] Forked 32472 -(32472) found -[6056] Forked 32473 -(32473) found -[6055] Forked 32474 -(32474) found -[6054] Forked 32475 -(32475) found -[6053] Forked 32476 -(32476) found -[6052] Forked 32477 -(32477) found -[6051] Forked 32478 -(32478) found -[6050] Forked 32479 -(32479) found -[6049] Forked 32480 -(32480) found -[6048] Forked 32481 -(32481) found -[6047] Forked 32482 -(32482) found -[6046] Forked 32483 -(32483) found -[6045] Forked 32484 -(32484) found -[6044] Forked 32485 -(32485) found -[6043] Forked 32486 -(32486) found -[6042] Forked 32487 -(32487) found -[6041] Forked 32488 -(32488) found -[6040] Forked 32489 -(32489) found -[6039] Forked 32490 -(32490) found -[6038] Forked 32491 -(32491) found -[6037] Forked 32492 -(32492) found -[6036] Forked 32493 -(32493) found -[6035] Forked 32494 -(32494) found -[6034] Forked 32495 -(32495) found -[6033] Forked 32496 -(32496) found -[6032] Forked 32497 -(32497) found -[6031] Forked 32498 -(32498) found -[6030] Forked 32499 -(32499) found -[6029] Forked 32500 -(32500) found -[6028] Forked 32501 -(32501) found -[6027] Forked 32502 -(32502) found -[6026] Forked 32503 -(32503) found -[6025] Forked 32504 -(32504) found -[6024] Forked 32505 -(32505) found -[6023] Forked 32506 -(32506) found -[6022] Forked 32507 -(32507) found -[6021] Forked 32508 -(32508) found -[6020] Forked 32509 -(32509) found -[6019] Forked 32510 -(32510) found -[6018] Forked 32511 -[6017] Forked 32512 -(32511) found -(32512) found -[6016] Forked 32513 -[6015] Forked 32514 -(32513) found -(32514) found -[6014] Forked 32515 -[6013] Forked 32516 -(32515) found -(32516) found -[6012] Forked 32517 -[6011] Forked 32518 -(32517) found -(32518) found -[6010] Forked 32519 -[6009] Forked 32520 -(32519) found -(32520) found -[6008] Forked 32521 -[6007] Forked 32522 -(32521) found -(32522) found -[6006] Forked 32523 -[6005] Forked 32524 -(32523) found -(32524) found -[6004] Forked 32525 -[6003] Forked 32526 -(32525) found -(32526) found -[6002] Forked 32527 -[6001] Forked 32528 -(32527) found -(32528) found -[6000] Forked 32529 -[5999] Forked 32530 -(32529) found -(32530) found -[5998] Forked 32531 -[5997] Forked 32532 -(32531) found -(32532) found -[5996] Forked 32533 -[5995] Forked 32534 -(32533) found -(32534) found -[5994] Forked 32535 -[5993] Forked 32536 -(32535) found -(32536) found -[5992] Forked 32537 -[5991] Forked 32538 -(32537) found -(32538) found -[5990] Forked 32539 -[5989] Forked 32540 -(32539) found -(32540) found -[5988] Forked 32541 -[5987] Forked 32542 -(32541) found -(32542) found -[5986] Forked 32543 -[5985] Forked 32544 -(32543) found -(32544) found -[5984] Forked 32545 -[5983] Forked 32546 -(32545) found -(32546) found -[5982] Forked 32547 -[5981] Forked 32548 -(32547) found -(32548) found -[5980] Forked 32549 -[5979] Forked 32550 -(32549) found -(32550) found -[5978] Forked 32551 -[5977] Forked 32552 -(32551) found -(32552) found -[5976] Forked 32553 -[5975] Forked 32554 -(32553) found -(32554) found -[5974] Forked 32555 -[5973] Forked 32556 -(32555) found -(32556) found -[5972] Forked 32557 -[5971] Forked 32558 -(32557) found -(32558) found -[5970] Forked 32559 -[5969] Forked 32560 -(32559) found -(32560) found -[5968] Forked 32561 -[5967] Forked 32562 -(32561) found -(32562) found -[5966] Forked 32563 -[5965] Forked 32564 -(32563) found -(32564) found -[5964] Forked 32565 -[5963] Forked 32566 -(32565) found -(32566) found -[5962] Forked 32567 -[5961] Forked 32568 -(32567) found -(32568) found -[5960] Forked 32569 -[5959] Forked 32570 -(32569) found -(32570) found -[5958] Forked 32571 -[5957] Forked 32572 -(32571) found -(32572) found -[5956] Forked 32573 -[5955] Forked 32574 -(32573) found -(32574) found -[5954] Forked 32575 -[5953] Forked 32576 -(32575) found -(32576) found -[5952] Forked 32577 -[5951] Forked 32578 -(32577) found -(32578) found -[5950] Forked 32579 -[5949] Forked 32580 -(32579) found -(32580) found -[5948] Forked 32581 -[5947] Forked 32582 -(32581) found -(32582) found -[5946] Forked 32583 -[5945] Forked 32584 -(32583) found -(32584) found -[5944] Forked 32585 -[5943] Forked 32586 -(32585) found -(32586) found -[5942] Forked 32587 -[5941] Forked 32588 -(32587) found -(32588) found -[5940] Forked 32589 -[5939] Forked 32590 -(32589) found -(32590) found -[5938] Forked 32591 -[5937] Forked 32592 -(32591) found -(32592) found -[5936] Forked 32593 -[5935] Forked 32594 -(32593) found -(32594) found -[5934] Forked 32595 -[5933] Forked 32596 -(32595) found -(32596) found -[5932] Forked 32597 -[5931] Forked 32599 -(32597) found -(32599) found -[5930] Forked 32600 -(32600) found -[5929] Forked 32601 -(32601) found -[5928] Forked 32602 -(32602) found -[5927] Forked 32603 -(32603) found -[5926] Forked 32604 -(32604) found -[5925] Forked 32605 -(32605) found -[5924] Forked 32606 -(32606) found -[5923] Forked 32607 -(32607) found -[5922] Forked 32608 -(32608) found -[5921] Forked 32609 -(32609) found -[5920] Forked 32610 -(32610) found -[5919] Forked 32611 -(32611) found -[5918] Forked 32612 -(32612) found -[5917] Forked 32613 -(32613) found -[5916] Forked 32614 -(32614) found -[5915] Forked 32615 -(32615) found -[5914] Forked 32616 -(32616) found -[5913] Forked 32617 -(32617) found -[5912] Forked 32618 -(32618) found -[5911] Forked 32619 -(32619) found -[5910] Forked 32620 -(32620) found -[5909] Forked 32621 -(32621) found -[5908] Forked 32622 -(32622) found -[5907] Forked 32623 -(32623) found -[5906] Forked 32624 -(32624) found -[5905] Forked 32625 -(32625) found -[5904] Forked 32626 -(32626) found -[5903] Forked 32627 -(32627) found -[5902] Forked 32628 -(32628) found -[5901] Forked 32629 -(32629) found -[5900] Forked 32630 -(32630) found -[5899] Forked 32631 -(32631) found -[5898] Forked 32632 -(32632) found -[5897] Forked 32633 -(32633) found -[5896] Forked 32634 -(32634) found -[5895] Forked 32635 -(32635) found -[5894] Forked 32636 -(32636) found -[5893] Forked 32637 -(32637) found -[5892] Forked 32638 -(32638) found -[5891] Forked 32639 -[5890] Forked 32640 -(32639) found -(32640) found -[5889] Forked 32641 -[5888] Forked 32642 -(32641) found -(32642) found -[5887] Forked 32643 -[5886] Forked 32644 -(32643) found -(32644) found -[5885] Forked 32645 -[5884] Forked 32646 -(32645) found -(32646) found -[5883] Forked 32647 -[5882] Forked 32648 -(32647) found -(32648) found -[5881] Forked 32649 -[5880] Forked 32650 -(32649) found -(32650) found -[5879] Forked 32651 -[5878] Forked 32652 -(32651) found -(32652) found -[5877] Forked 32653 -[5876] Forked 32654 -(32653) found -(32654) found -[5875] Forked 32655 -[5874] Forked 32656 -(32655) found -(32656) found -[5873] Forked 32657 -[5872] Forked 32658 -(32657) found -(32658) found -[5871] Forked 32659 -[5870] Forked 32660 -(32659) found -(32660) found -[5869] Forked 32661 -[5868] Forked 32662 -(32661) found -(32662) found -[5867] Forked 32663 -[5866] Forked 32664 -(32663) found -(32664) found -[5865] Forked 32665 -[5864] Forked 32666 -(32665) found -(32666) found -[5863] Forked 32667 -[5862] Forked 32668 -(32667) found -(32668) found -[5861] Forked 32669 -[5860] Forked 32670 -(32669) found -(32670) found -[5859] Forked 32671 -[5858] Forked 32672 -(32671) found -(32672) found -[5857] Forked 32673 -[5856] Forked 32674 -(32673) found -(32674) found -[5855] Forked 32675 -[5854] Forked 32676 -(32675) found -(32676) found -[5853] Forked 32677 -[5852] Forked 32678 -(32677) found -(32678) found -[5851] Forked 32679 -[5850] Forked 32680 -(32679) found -(32680) found -[5849] Forked 32681 -[5848] Forked 32682 -(32681) found -(32682) found -[5847] Forked 32683 -(32683) found -[5846] Forked 32684 -(32684) found -[5845] Forked 32685 -(32685) found -[5844] Forked 32686 -(32686) found -[5843] Forked 32687 -(32687) found -[5842] Forked 32688 -(32688) found -[5841] Forked 32689 -(32689) found -[5840] Forked 32690 -(32690) found -[5839] Forked 32691 -(32691) found -[5838] Forked 32692 -(32692) found -[5837] Forked 32693 -(32693) found -[5836] Forked 32694 -(32694) found -[5835] Forked 32695 -(32695) found -[5834] Forked 32696 -(32696) found -[5833] Forked 32697 -(32697) found -[5832] Forked 32698 -(32698) found -[5831] Forked 32699 -(32699) found -[5830] Forked 32700 -(32700) found -[5829] Forked 32701 -(32701) found -[5828] Forked 32702 -(32702) found -[5827] Forked 32703 -(32703) found -[5826] Forked 32704 -(32704) found -[5825] Forked 32705 -(32705) found -[5824] Forked 32706 -(32706) found -[5823] Forked 32707 -(32707) found -[5822] Forked 32708 -(32708) found -[5821] Forked 32709 -(32709) found -[5820] Forked 32710 -(32710) found -[5819] Forked 32711 -(32711) found -[5818] Forked 32712 -(32712) found -[5817] Forked 32713 -(32713) found -[5816] Forked 32714 -(32714) found -[5815] Forked 32715 -(32715) found -[5814] Forked 32716 -(32716) found -[5813] Forked 32717 -(32717) found -[5812] Forked 32718 -(32718) found -[5811] Forked 32719 -[5810] Forked 32720 -(32719) found -(32720) found -[5809] Forked 32721 -[5808] Forked 32722 -(32721) found -(32722) found -[5807] Forked 32723 -[5806] Forked 32724 -(32723) found -(32724) found -[5805] Forked 32725 -[5804] Forked 32726 -(32725) found -(32726) found -[5803] Forked 32727 -[5802] Forked 32728 -(32727) found -(32728) found -[5801] Forked 32729 -[5800] Forked 32730 -(32729) found -(32730) found -[5799] Forked 32731 -[5798] Forked 32732 -(32731) found -(32732) found -[5797] Forked 32733 -[5796] Forked 32734 -(32733) found -(32734) found -[5795] Forked 32735 -[5794] Forked 32736 -(32735) found -(32736) found -[5793] Forked 32737 -[5792] Forked 32738 -(32737) found -(32738) found -[5791] Forked 32739 -[5790] Forked 32740 -(32739) found -(32740) found -[5789] Forked 32741 -[5788] Forked 32742 -(32741) found -(32742) found -[5787] Forked 32743 -[5786] Forked 32744 -(32743) found -(32744) found -[5785] Forked 32745 -[5784] Forked 32746 -(32745) found -(32746) found -[5783] Forked 32747 -[5782] Forked 32748 -(32747) found -(32748) found -[5781] Forked 32749 -[5780] Forked 32750 -(32749) found -(32750) found -[5779] Forked 32751 -[5778] Forked 32752 -(32751) found -(32752) found -[5777] Forked 32753 -[5776] Forked 32754 -(32753) found -(32754) found -[5775] Forked 32755 -[5774] Forked 32756 -(32755) found -(32756) found -[5773] Forked 32757 -[5772] Forked 32758 -(32757) found -(32758) found -[5771] Forked 32759 -[5770] Forked 32760 -(32759) found -(32760) found -[5769] Forked 32761 -(32761) found -[5768] Forked 32762 -(32762) found -[5767] Forked 32763 -(32763) found -[5766] Forked 32764 -(32764) found -[5765] Forked 32765 -(32765) found -[5764] Forked 32766 -(32766) found -[5763] Forked 32767 -(32767) found -[5762] Forked 300 -(300) found -[5761] Forked 301 -(301) found -[5760] Forked 302 -(302) found -[5759] Forked 303 -(303) found -[5758] Forked 304 -(304) found -[5757] Forked 305 -(305) found -[5756] Forked 306 -(306) found -[5755] Forked 307 -(307) found -[5754] Forked 308 -(308) found -[5753] Forked 309 -(309) found -[5752] Forked 310 -(310) found -[5751] Forked 311 -(311) found -[5750] Forked 312 -(312) found -[5749] Forked 313 -(313) found -[5748] Forked 314 -(314) found -[5747] Forked 315 -(315) found -[5746] Forked 316 -(316) found -[5745] Forked 317 -(317) found -[5744] Forked 318 -(318) found -[5743] Forked 319 -(319) found -[5742] Forked 320 -(320) found -[5741] Forked 321 -(321) found -[5740] Forked 322 -(322) found -[5739] Forked 323 -(323) found -[5738] Forked 324 -(324) found -[5737] Forked 325 -(325) found -[5736] Forked 328 -(328) found -[5735] Forked 330 -(330) found -[5734] Forked 331 -[5733] Forked 332 -(331) found -(332) found -[5732] Forked 333 -[5731] Forked 334 -(333) found -(334) found -[5730] Forked 335 -[5729] Forked 336 -(335) found -(336) found -[5728] Forked 337 -[5727] Forked 338 -(337) found -(338) found -[5726] Forked 339 -[5725] Forked 340 -(339) found -(340) found -[5724] Forked 341 -[5723] Forked 342 -(341) found -(342) found -[5722] Forked 343 -[5721] Forked 344 -(343) found -(344) found -[5720] Forked 345 -[5719] Forked 346 -(345) found -(346) found -[5718] Forked 347 -[5717] Forked 348 -(347) found -(348) found -[5716] Forked 349 -[5715] Forked 350 -(349) found -(350) found -[5714] Forked 351 -[5713] Forked 352 -(351) found -(352) found -[5712] Forked 353 -[5711] Forked 354 -(353) found -(354) found -[5710] Forked 355 -[5709] Forked 356 -(355) found -(356) found -[5708] Forked 357 -[5707] Forked 358 -(357) found -(358) found -[5706] Forked 359 -[5705] Forked 360 -(359) found -(360) found -[5704] Forked 361 -[5703] Forked 362 -(361) found -(362) found -[5702] Forked 363 -[5701] Forked 364 -(363) found -(364) found -[5700] Forked 365 -[5699] Forked 366 -(365) found -(366) found -[5698] Forked 367 -[5697] Forked 368 -(367) found -(368) found -[5696] Forked 369 -[5695] Forked 370 -(369) found -(370) found -[5694] Forked 371 -[5693] Forked 372 -(371) found -(372) found -[5692] Forked 373 -[5691] Forked 374 -(373) found -(374) found -[5690] Forked 375 -(375) found -[5689] Forked 376 -(376) found -[5688] Forked 377 -(377) found -[5687] Forked 378 -(378) found -[5686] Forked 379 -(379) found -[5685] Forked 380 -(380) found -[5684] Forked 381 -(381) found -[5683] Forked 383 -(383) found -[5682] Forked 384 -(384) found -[5681] Forked 385 -(385) found -[5680] Forked 386 -(386) found -[5679] Forked 387 -(387) found -[5678] Forked 388 -(388) found -[5677] Forked 389 -(389) found -[5676] Forked 390 -(390) found -[5675] Forked 391 -(391) found -[5674] Forked 392 -(392) found -[5673] Forked 393 -(393) found -[5672] Forked 394 -(394) found -[5671] Forked 395 -(395) found -[5670] Forked 396 -(396) found -[5669] Forked 397 -(397) found -[5668] Forked 398 -(398) found -[5667] Forked 399 -(399) found -[5666] Forked 401 -(401) found -[5665] Forked 402 -(402) found -[5664] Forked 403 -(403) found -[5663] Forked 404 -(404) found -[5662] Forked 405 -(405) found -[5661] Forked 407 -(407) found -[5660] Forked 408 -(408) found -[5659] Forked 409 -(409) found -[5658] Forked 410 -(410) found -[5657] Forked 411 -(411) found -[5656] Forked 412 -(412) found -[5655] Forked 413 -[5654] Forked 414 -(413) found -(414) found -[5653] Forked 415 -[5652] Forked 416 -(415) found -(416) found -[5651] Forked 417 -[5650] Forked 418 -(417) found -(418) found -[5649] Forked 419 -[5648] Forked 420 -(419) found -(420) found -[5647] Forked 421 -[5646] Forked 422 -(421) found -(422) found -[5645] Forked 423 -[5644] Forked 424 -(423) found -(424) found -[5643] Forked 425 -[5642] Forked 426 -(425) found -(426) found -[5641] Forked 427 -[5640] Forked 429 -(427) found -(429) found -[5639] Forked 430 -[5638] Forked 431 -(430) found -(431) found -[5637] Forked 432 -[5636] Forked 433 -(432) found -(433) found -[5635] Forked 434 -[5634] Forked 435 -(434) found -(435) found -[5633] Forked 436 -[5632] Forked 437 -(436) found -(437) found -[5631] Forked 438 -[5630] Forked 439 -(438) found -(439) found -[5629] Forked 440 -[5628] Forked 441 -(440) found -(441) found -[5627] Forked 442 -[5626] Forked 443 -(442) found -(443) found -[5625] Forked 444 -[5624] Forked 445 -(444) found -(445) found -[5623] Forked 446 -[5622] Forked 447 -(446) found -(447) found -[5621] Forked 448 -[5620] Forked 449 -(448) found -(449) found -[5619] Forked 450 -[5618] Forked 451 -(450) found -(451) found -[5617] Forked 452 -[5616] Forked 453 -(452) found -(453) found -[5615] Forked 454 -[5614] Forked 455 -(454) found -(455) found -[5613] Forked 456 -[5612] Forked 457 -(456) found -(457) found -[5611] Forked 458 -[5610] Forked 459 -(458) found -(459) found -[5609] Forked 460 -[5608] Forked 461 -(460) found -(461) found -[5607] Forked 462 -[5606] Forked 463 -(462) found -(463) found -[5605] Forked 464 -[5604] Forked 465 -(464) found -(465) found -[5603] Forked 466 -[5602] Forked 467 -(466) found -(467) found -[5601] Forked 468 -[5600] Forked 469 -(468) found -(469) found -[5599] Forked 470 -[5598] Forked 471 -(470) found -(471) found -[5597] Forked 472 -[5596] Forked 473 -(472) found -(473) found -[5595] Forked 474 -[5594] Forked 475 -(474) found -(475) found -[5593] Forked 476 -[5592] Forked 477 -(476) found -(477) found -[5591] Forked 478 -[5590] Forked 479 -(478) found -(479) found -[5589] Forked 480 -[5588] Forked 481 -(480) found -(481) found -[5587] Forked 482 -[5586] Forked 483 -(482) found -(483) found -[5585] Forked 484 -[5584] Forked 485 -(484) found -(485) found -[5583] Forked 486 -[5582] Forked 487 -(486) found -(487) found -[5581] Forked 488 -[5580] Forked 489 -(488) found -(489) found -[5579] Forked 490 -[5578] Forked 491 -(490) found -(491) found -[5577] Forked 492 -[5576] Forked 493 -(492) found -(493) found -[5575] Forked 494 -[5574] Forked 495 -(494) found -(495) found -[5573] Forked 496 -[5572] Forked 497 -(496) found -(497) found -[5571] Forked 498 -[5570] Forked 499 -(498) found -(499) found -[5569] Forked 500 -[5568] Forked 501 -(500) found -(501) found -[5567] Forked 502 -[5566] Forked 503 -(502) found -(503) found -[5565] Forked 504 -[5564] Forked 505 -(504) found -(505) found -[5563] Forked 506 -(506) found -[5562] Forked 507 -(507) found -[5561] Forked 508 -(508) found -[5560] Forked 509 -(509) found -[5559] Forked 510 -(510) found -[5558] Forked 511 -(511) found -[5557] Forked 512 -(512) found -[5556] Forked 513 -(513) found -[5555] Forked 514 -(514) found -[5554] Forked 515 -(515) found -[5553] Forked 516 -(516) found -[5552] Forked 517 -(517) found -[5551] Forked 518 -(518) found -[5550] Forked 519 -(519) found -[5549] Forked 520 -(520) found -[5548] Forked 521 -(521) found -[5547] Forked 522 -(522) found -[5546] Forked 523 -(523) found -[5545] Forked 524 -(524) found -[5544] Forked 525 -(525) found -[5543] Forked 526 -(526) found -[5542] Forked 527 -(527) found -[5541] Forked 528 -(528) found -[5540] Forked 529 -(529) found -[5539] Forked 530 -(530) found -[5538] Forked 531 -(531) found -[5537] Forked 532 -(532) found -[5536] Forked 533 -(533) found -[5535] Forked 534 -(534) found -[5534] Forked 535 -(535) found -[5533] Forked 536 -(536) found -[5532] Forked 537 -(537) found -[5531] Forked 538 -(538) found -[5530] Forked 539 -(539) found -[5529] Forked 540 -[5528] Forked 541 -(540) found -(541) found -[5527] Forked 542 -[5526] Forked 543 -(542) found -(543) found -[5525] Forked 544 -[5524] Forked 545 -(544) found -(545) found -[5523] Forked 546 -[5522] Forked 547 -(546) found -(547) found -[5521] Forked 548 -[5520] Forked 549 -(548) found -(549) found -[5519] Forked 550 -[5518] Forked 551 -(550) found -(551) found -[5517] Forked 552 -[5516] Forked 553 -(552) found -(553) found -[5515] Forked 554 -[5514] Forked 555 -(554) found -(555) found -[5513] Forked 556 -[5512] Forked 557 -(556) found -(557) found -[5511] Forked 558 -[5510] Forked 559 -(558) found -(559) found -[5509] Forked 560 -[5508] Forked 561 -(560) found -(561) found -[5507] Forked 562 -[5506] Forked 563 -(562) found -(563) found -[5505] Forked 564 -[5504] Forked 565 -(564) found -(565) found -[5503] Forked 566 -[5502] Forked 567 -(566) found -(567) found -[5501] Forked 568 -[5500] Forked 569 -(568) found -(569) found -[5499] Forked 570 -[5498] Forked 571 -(570) found -(571) found -[5497] Forked 572 -[5496] Forked 573 -(572) found -(573) found -[5495] Forked 574 -[5494] Forked 575 -(574) found -(575) found -[5493] Forked 576 -[5492] Forked 577 -(576) found -(577) found -[5491] Forked 578 -[5490] Forked 579 -(578) found -(579) found -[5489] Forked 580 -[5488] Forked 581 -(580) found -(581) found -[5487] Forked 582 -[5486] Forked 583 -(582) found -(583) found -[5485] Forked 584 -[5484] Forked 585 -(584) found -(585) found -[5483] Forked 586 -[5482] Forked 587 -(586) found -(587) found -[5481] Forked 588 -[5480] Forked 589 -(588) found -(589) found -[5479] Forked 590 -[5478] Forked 591 -(590) found -(591) found -[5477] Forked 592 -[5476] Forked 593 -(592) found -(593) found -[5475] Forked 594 -[5474] Forked 595 -(594) found -(595) found -[5473] Forked 596 -[5472] Forked 597 -(596) found -(597) found -[5471] Forked 598 -[5470] Forked 599 -(598) found -(599) found -[5469] Forked 600 -[5468] Forked 601 -(600) found -(601) found -[5467] Forked 602 -[5466] Forked 603 -(602) found -(603) found -[5465] Forked 604 -[5464] Forked 606 -(604) found -(606) found -[5463] Forked 607 -[5462] Forked 609 -(607) found -(609) found -[5461] Forked 610 -[5460] Forked 612 -(610) found -(612) found -[5459] Forked 613 -[5458] Forked 615 -(613) found -(615) found -[5457] Forked 616 -[5456] Forked 617 -(616) found -(617) found -[5455] Forked 618 -[5454] Forked 619 -(618) found -(619) found -[5453] Forked 620 -[5452] Forked 621 -(620) found -(621) found -[5451] Forked 622 -[5450] Forked 623 -(622) found -(623) found -[5449] Forked 624 -[5448] Forked 625 -(624) found -(625) found -[5447] Forked 626 -[5446] Forked 627 -(626) found -(627) found -[5445] Forked 628 -[5444] Forked 629 -(628) found -(629) found -[5443] Forked 630 -[5442] Forked 631 -(630) found -(631) found -[5441] Forked 632 -[5440] Forked 633 -(632) found -(633) found -[5439] Forked 634 -[5438] Forked 635 -(634) found -(635) found -[5437] Forked 636 -(636) found -[5436] Forked 637 -(637) found -[5435] Forked 638 -(638) found -[5434] Forked 639 -(639) found -[5433] Forked 640 -(640) found -[5432] Forked 641 -(641) found -[5431] Forked 642 -(642) found -[5430] Forked 643 -(643) found -[5429] Forked 644 -(644) found -[5428] Forked 645 -(645) found -[5427] Forked 646 -(646) found -[5426] Forked 647 -(647) found -[5425] Forked 648 -(648) found -[5424] Forked 649 -(649) found -[5423] Forked 650 -(650) found -[5422] Forked 651 -(651) found -[5421] Forked 652 -(652) found -[5420] Forked 653 -(653) found -[5419] Forked 654 -(654) found -[5418] Forked 655 -(655) found -[5417] Forked 656 -(656) found -[5416] Forked 657 -(657) found -[5415] Forked 658 -(658) found -[5414] Forked 659 -(659) found -[5413] Forked 660 -(660) found -[5412] Forked 661 -(661) found -[5411] Forked 662 -(662) found -[5410] Forked 663 -(663) found -[5409] Forked 664 -(664) found -[5408] Forked 665 -(665) found -[5407] Forked 666 -(666) found -[5406] Forked 667 -(667) found -[5405] Forked 668 -(668) found -[5404] Forked 669 -(669) found -[5403] Forked 670 -(670) found -[5402] Forked 671 -(671) found -[5401] Forked 672 -[5400] Forked 673 -(672) found -(673) found -[5399] Forked 674 -[5398] Forked 675 -(674) found -(675) found -[5397] Forked 677 -[5396] Forked 678 -(677) found -(678) found -[5395] Forked 679 -[5394] Forked 680 -(679) found -(680) found -[5393] Forked 681 -[5392] Forked 682 -(681) found -(682) found -[5391] Forked 683 -[5390] Forked 684 -(683) found -(684) found -[5389] Forked 685 -[5388] Forked 686 -(685) found -(686) found -[5387] Forked 687 -[5386] Forked 688 -(687) found -(688) found -[5385] Forked 689 -[5384] Forked 690 -(689) found -(690) found -[5383] Forked 691 -[5382] Forked 692 -(691) found -(692) found -[5381] Forked 693 -[5380] Forked 694 -(693) found -(694) found -[5379] Forked 695 -[5378] Forked 696 -(695) found -(696) found -[5377] Forked 697 -[5376] Forked 698 -(697) found -(698) found -[5375] Forked 699 -[5374] Forked 700 -(699) found -(700) found -[5373] Forked 701 -[5372] Forked 702 -(701) found -(702) found -[5371] Forked 703 -[5370] Forked 704 -(703) found -(704) found -[5369] Forked 705 -[5368] Forked 706 -(705) found -(706) found -[5367] Forked 707 -[5366] Forked 708 -(707) found -(708) found -[5365] Forked 709 -[5364] Forked 710 -(709) found -(710) found -[5363] Forked 711 -[5362] Forked 712 -(711) found -(712) found -[5361] Forked 713 -(713) found -[5360] Forked 714 -[5359] Forked 715 -(714) found -(715) found -[5358] Forked 716 -[5357] Forked 717 -(716) found -(717) found -[5356] Forked 718 -[5355] Forked 719 -(718) found -(719) found -[5354] Forked 720 -[5353] Forked 721 -(720) found -(721) found -[5352] Forked 722 -[5351] Forked 723 -(722) found -(723) found -[5350] Forked 724 -[5349] Forked 725 -(724) found -(725) found -[5348] Forked 726 -[5347] Forked 727 -(726) found -(727) found -[5346] Forked 728 -[5345] Forked 729 -(728) found -(729) found -[5344] Forked 730 -[5343] Forked 731 -(730) found -(731) found -[5342] Forked 732 -[5341] Forked 734 -(732) found -(734) found -[5340] Forked 735 -[5339] Forked 737 -(735) found -(737) found -[5338] Forked 740 -[5337] Forked 742 -(740) found -(742) found -[5336] Forked 744 -[5335] Forked 745 -(744) found -(745) found -[5334] Forked 746 -[5333] Forked 747 -(746) found -(747) found -[5332] Forked 748 -[5331] Forked 749 -(748) found -(749) found -[5330] Forked 750 -[5329] Forked 751 -(750) found -(751) found -[5328] Forked 752 -[5327] Forked 753 -(752) found -(753) found -[5326] Forked 754 -[5325] Forked 755 -(754) found -(755) found -[5324] Forked 756 -[5323] Forked 757 -(756) found -(757) found -[5322] Forked 758 -[5321] Forked 759 -(758) found -(759) found -[5320] Forked 760 -[5319] Forked 761 -(760) found -(761) found -[5318] Forked 762 -[5317] Forked 763 -(762) found -(763) found -[5316] Forked 764 -[5315] Forked 765 -(764) found -(765) found -[5314] Forked 766 -[5313] Forked 767 -(766) found -(767) found -[5312] Forked 768 -[5311] Forked 769 -(768) found -(769) found -[5310] Forked 770 -[5309] Forked 771 -(770) found -(771) found -[5308] Forked 772 -(772) found -[5307] Forked 773 -(773) found -[5306] Forked 774 -(774) found -[5305] Forked 775 -(775) found -[5304] Forked 776 -(776) found -[5303] Forked 777 -(777) found -[5302] Forked 778 -(778) found -[5301] Forked 780 -(780) found -[5300] Forked 781 -(781) found -[5299] Forked 782 -(782) found -[5298] Forked 783 -(783) found -[5297] Forked 784 -(784) found -[5296] Forked 785 -(785) found -[5295] Forked 786 -(786) found -[5294] Forked 787 -(787) found -[5293] Forked 788 -(788) found -[5292] Forked 789 -(789) found -[5291] Forked 790 -(790) found -[5290] Forked 791 -(791) found -[5289] Forked 792 -(792) found -[5288] Forked 793 -(793) found -[5287] Forked 794 -(794) found -[5286] Forked 795 -(795) found -[5285] Forked 796 -(796) found -[5284] Forked 797 -(797) found -[5283] Forked 798 -(798) found -[5282] Forked 799 -(799) found -[5281] Forked 800 -(800) found -[5280] Forked 801 -(801) found -[5279] Forked 802 -(802) found -[5278] Forked 803 -(803) found -[5277] Forked 804 -(804) found -[5276] Forked 805 -(805) found -[5275] Forked 806 -(806) found -[5274] Forked 807 -[5273] Forked 808 -(807) found -(808) found -[5272] Forked 809 -(809) found -[5271] Forked 810 -(810) found -[5270] Forked 811 -(811) found -[5269] Forked 812 -(812) found -[5268] Forked 813 -(813) found -[5267] Forked 814 -(814) found -[5266] Forked 815 -(815) found -[5265] Forked 816 -(816) found -[5264] Forked 817 -(817) found -[5263] Forked 818 -(818) found -[5262] Forked 819 -(819) found -[5261] Forked 820 -(820) found -[5260] Forked 821 -(821) found -[5259] Forked 822 -(822) found -[5258] Forked 823 -(823) found -[5257] Forked 824 -(824) found -[5256] Forked 825 -(825) found -[5255] Forked 826 -(826) found -[5254] Forked 827 -(827) found -[5253] Forked 828 -(828) found -[5252] Forked 829 -(829) found -[5251] Forked 830 -(830) found -[5250] Forked 831 -(831) found -[5249] Forked 832 -(832) found -[5248] Forked 833 -(833) found -[5247] Forked 834 -(834) found -[5246] Forked 835 -(835) found -[5245] Forked 836 -(836) found -[5244] Forked 837 -(837) found -[5243] Forked 838 -(838) found -[5242] Forked 839 -[5241] Forked 840 -(839) found -(840) found -[5240] Forked 841 -[5239] Forked 842 -(841) found -(842) found -[5238] Forked 843 -[5237] Forked 844 -(843) found -(844) found -[5236] Forked 845 -[5235] Forked 847 -(845) found -(847) found -[5234] Forked 848 -[5233] Forked 849 -(848) found -(849) found -[5232] Forked 850 -[5231] Forked 851 -(850) found -(851) found -[5230] Forked 852 -[5229] Forked 853 -(852) found -(853) found -[5228] Forked 854 -[5227] Forked 855 -(854) found -(855) found -[5226] Forked 856 -[5225] Forked 857 -(856) found -(857) found -[5224] Forked 858 -[5223] Forked 859 -(858) found -(859) found -[5222] Forked 860 -[5221] Forked 861 -(860) found -(861) found -[5220] Forked 862 -[5219] Forked 863 -(862) found -(863) found -[5218] Forked 864 -[5217] Forked 865 -(864) found -(865) found -[5216] Forked 866 -[5215] Forked 867 -(866) found -(867) found -[5214] Forked 868 -[5213] Forked 869 -(868) found -(869) found -[5212] Forked 870 -[5211] Forked 871 -(870) found -(871) found -[5210] Forked 872 -[5209] Forked 873 -(872) found -(873) found -[5208] Forked 874 -[5207] Forked 875 -(874) found -(875) found -[5206] Forked 876 -[5205] Forked 877 -(876) found -(877) found -[5204] Forked 878 -[5203] Forked 879 -(878) found -(879) found -[5202] Forked 880 -[5201] Forked 881 -(880) found -(881) found -[5200] Forked 882 -[5199] Forked 883 -(882) found -(883) found -[5198] Forked 884 -[5197] Forked 885 -(885) found -(884) found -[5196] Forked 886 -(886) found -[5195] Forked 887 -(887) found -[5194] Forked 888 -(888) found -[5193] Forked 889 -(889) found -[5192] Forked 890 -(890) found -[5191] Forked 891 -(891) found -[5190] Forked 892 -(892) found -[5189] Forked 893 -(893) found -[5188] Forked 894 -(894) found -[5187] Forked 895 -(895) found -[5186] Forked 896 -(896) found -[5185] Forked 897 -(897) found -[5184] Forked 898 -(898) found -[5183] Forked 899 -(899) found -[5182] Forked 900 -(900) found -[5181] Forked 901 -(901) found -[5180] Forked 902 -(902) found -[5179] Forked 903 -(903) found -[5178] Forked 904 -(904) found -[5177] Forked 905 -(905) found -[5176] Forked 906 -(906) found -[5175] Forked 907 -(907) found -[5174] Forked 908 -(908) found -[5173] Forked 909 -(909) found -[5172] Forked 910 -(910) found -[5171] Forked 911 -(911) found -[5170] Forked 912 -(912) found -[5169] Forked 913 -(913) found -[5168] Forked 914 -(914) found -[5167] Forked 915 -(915) found -[5166] Forked 916 -(916) found -[5165] Forked 917 -(917) found -[5164] Forked 918 -(918) found -[5163] Forked 919 -(919) found -[5162] Forked 920 -[5161] Forked 921 -(920) found -(921) found -[5160] Forked 922 -[5159] Forked 923 -(922) found -(923) found -[5158] Forked 924 -[5157] Forked 925 -(924) found -(925) found -[5156] Forked 926 -[5155] Forked 927 -(926) found -(927) found -[5154] Forked 928 -[5153] Forked 929 -(928) found -(929) found -[5152] Forked 930 -[5151] Forked 931 -(930) found -(931) found -[5150] Forked 932 -[5149] Forked 933 -(932) found -(933) found -[5148] Forked 934 -[5147] Forked 935 -(934) found -(935) found -[5146] Forked 936 -[5145] Forked 937 -(936) found -(937) found -[5144] Forked 938 -[5143] Forked 939 -(938) found -(939) found -[5142] Forked 940 -[5141] Forked 941 -(940) found -(941) found -[5140] Forked 942 -[5139] Forked 943 -(942) found -(943) found -[5138] Forked 944 -[5137] Forked 945 -(944) found -(945) found -[5136] Forked 946 -[5135] Forked 947 -(946) found -(947) found -[5134] Forked 948 -[5133] Forked 949 -(948) found -(949) found -[5132] Forked 950 -[5131] Forked 951 -(950) found -(951) found -[5130] Forked 952 -[5129] Forked 953 -(952) found -(953) found -[5128] Forked 954 -[5127] Forked 955 -(954) found -(955) found -[5126] Forked 956 -[5125] Forked 957 -(956) found -(957) found -[5124] Forked 958 -[5123] Forked 959 -(958) found -(959) found -[5122] Forked 960 -[5121] Forked 961 -(960) found -(961) found -[5120] Forked 962 -[5119] Forked 963 -(962) found -(963) found -[5118] Forked 964 -[5117] Forked 965 -(965) found -(964) found -[5116] Forked 966 -(966) found -[5115] Forked 967 -(967) found -[5114] Forked 968 -(968) found -[5113] Forked 969 -(969) found -[5112] Forked 970 -(970) found -[5111] Forked 971 -(971) found -[5110] Forked 972 -(972) found -[5109] Forked 973 -(973) found -[5108] Forked 974 -(974) found -[5107] Forked 975 -(975) found -[5106] Forked 976 -(976) found -[5105] Forked 977 -(977) found -[5104] Forked 978 -(978) found -[5103] Forked 979 -(979) found -[5102] Forked 980 -(980) found -[5101] Forked 981 -(981) found -[5100] Forked 982 -(982) found -[5099] Forked 983 -(983) found -[5098] Forked 984 -(984) found -[5097] Forked 985 -(985) found -[5096] Forked 986 -(986) found -[5095] Forked 987 -(987) found -[5094] Forked 988 -(988) found -[5093] Forked 989 -(989) found -[5092] Forked 990 -(990) found -[5091] Forked 991 -(991) found -[5090] Forked 992 -(992) found -[5089] Forked 993 -(993) found -[5088] Forked 994 -(994) found -[5087] Forked 995 -(995) found -[5086] Forked 996 -(996) found -[5085] Forked 997 -(997) found -[5084] Forked 998 -(998) found -[5083] Forked 999 -(999) found -[5082] Forked 1000 -(1000) found -[5081] Forked 1001 -(1001) found -[5080] Forked 1002 -(1002) found -[5079] Forked 1003 -(1003) found -[5078] Forked 1004 -(1004) found -[5077] Forked 1005 -(1005) found -[5076] Forked 1006 -(1006) found -[5075] Forked 1007 -(1007) found -[5074] Forked 1008 -(1008) found -[5073] Forked 1009 -(1009) found -[5072] Forked 1010 -(1010) found -[5071] Forked 1011 -(1011) found -[5070] Forked 1012 -(1012) found -[5069] Forked 1013 -(1013) found -[5068] Forked 1014 -(1014) found -[5067] Forked 1015 -(1015) found -[5066] Forked 1016 -(1016) found -[5065] Forked 1017 -(1017) found -[5064] Forked 1018 -(1018) found -[5063] Forked 1019 -(1019) found -[5062] Forked 1020 -(1020) found -[5061] Forked 1021 -(1021) found -[5060] Forked 1022 -(1022) found -[5059] Forked 1023 -(1023) found -[5058] Forked 1024 -(1024) found -[5057] Forked 1025 -(1025) found -[5056] Forked 1026 -(1026) found -[5055] Forked 1027 -(1027) found -[5054] Forked 1028 -(1028) found -[5053] Forked 1029 -(1029) found -[5052] Forked 1030 -(1030) found -[5051] Forked 1031 -(1031) found -[5050] Forked 1032 -(1032) found -[5049] Forked 1033 -(1033) found -[5048] Forked 1034 -(1034) found -[5047] Forked 1035 -(1035) found -[5046] Forked 1036 -[5045] Forked 1037 -(1036) found -(1037) found -[5044] Forked 1038 -[5043] Forked 1039 -(1038) found -(1039) found -[5042] Forked 1040 -[5041] Forked 1041 -(1040) found -(1041) found -[5040] Forked 1042 -[5039] Forked 1043 -(1042) found -(1043) found -[5038] Forked 1044 -[5037] Forked 1045 -(1044) found -(1045) found -[5036] Forked 1046 -[5035] Forked 1047 -(1046) found -(1047) found -[5034] Forked 1048 -[5033] Forked 1049 -(1048) found -(1049) found -[5032] Forked 1050 -[5031] Forked 1051 -(1050) found -(1051) found -[5030] Forked 1052 -[5029] Forked 1053 -(1052) found -(1053) found -[5028] Forked 1054 -[5027] Forked 1055 -(1054) found -(1055) found -[5026] Forked 1056 -[5025] Forked 1057 -(1056) found -(1057) found -[5024] Forked 1058 -[5023] Forked 1059 -(1058) found -(1059) found -[5022] Forked 1060 -[5021] Forked 1061 -(1060) found -(1061) found -[5020] Forked 1062 -[5019] Forked 1063 -(1062) found -(1063) found -[5018] Forked 1064 -[5017] Forked 1065 -(1064) found -(1065) found -[5016] Forked 1066 -[5015] Forked 1067 -(1066) found -(1067) found -[5014] Forked 1068 -[5013] Forked 1069 -(1068) found -(1069) found -[5012] Forked 1070 -[5011] Forked 1071 -(1070) found -(1071) found -[5010] Forked 1072 -[5009] Forked 1073 -(1072) found -(1073) found -[5008] Forked 1074 -[5007] Forked 1075 -(1074) found -(1075) found -[5006] Forked 1076 -[5005] Forked 1077 -(1076) found -(1077) found -[5004] Forked 1078 -[5003] Forked 1079 -(1078) found -(1079) found -[5002] Forked 1080 -[5001] Forked 1081 -(1080) found -(1081) found -[5000] Forked 1082 -[4999] Forked 1083 -(1082) found -(1083) found -[4998] Forked 1084 -[4997] Forked 1085 -(1084) found -(1085) found -[4996] Forked 1086 -[4995] Forked 1087 -(1086) found -(1087) found -[4994] Forked 1088 -[4993] Forked 1089 -(1088) found -(1089) found -[4992] Forked 1090 -[4991] Forked 1091 -(1090) found -(1091) found -[4990] Forked 1092 -[4989] Forked 1093 -(1092) found -(1093) found -[4988] Forked 1094 -[4987] Forked 1095 -(1094) found -(1095) found -[4986] Forked 1096 -[4985] Forked 1097 -(1096) found -(1097) found -[4984] Forked 1098 -[4983] Forked 1099 -(1098) found -(1099) found -[4982] Forked 1100 -[4981] Forked 1101 -(1100) found -(1101) found -[4980] Forked 1102 -[4979] Forked 1103 -(1102) found -(1103) found -[4978] Forked 1104 -[4977] Forked 1105 -(1104) found -(1105) found -[4976] Forked 1106 -[4975] Forked 1108 -(1106) found -(1108) found -[4974] Forked 1109 -[4973] Forked 1110 -(1109) found -(1110) found -[4972] Forked 1111 -[4971] Forked 1112 -(1111) found -(1112) found -[4970] Forked 1113 -[4969] Forked 1114 -(1113) found -(1114) found -[4968] Forked 1115 -[4967] Forked 1116 -(1115) found -(1116) found -[4966] Forked 1117 -[4965] Forked 1118 -(1117) found -(1118) found -[4964] Forked 1119 -[4963] Forked 1120 -(1119) found -(1120) found -[4962] Forked 1121 -[4961] Forked 1122 -(1121) found -(1122) found -[4960] Forked 1123 -[4959] Forked 1124 -(1123) found -(1124) found -[4958] Forked 1125 -(1125) found -[4957] Forked 1126 -(1126) found -[4956] Forked 1127 -(1127) found -[4955] Forked 1128 -(1128) found -[4954] Forked 1129 -(1129) found -[4953] Forked 1130 -(1130) found -[4952] Forked 1131 -(1131) found -[4951] Forked 1132 -(1132) found -[4950] Forked 1133 -[4949] Forked 1134 -(1133) found -(1134) found -[4948] Forked 1135 -[4947] Forked 1136 -(1135) found -(1136) found -[4946] Forked 1137 -[4945] Forked 1138 -(1137) found -(1138) found -[4944] Forked 1139 -[4943] Forked 1140 -(1139) found -(1140) found -[4942] Forked 1141 -[4941] Forked 1142 -(1141) found -(1142) found -[4940] Forked 1143 -[4939] Forked 1144 -(1143) found -(1144) found -[4938] Forked 1145 -[4937] Forked 1146 -(1145) found -(1146) found -[4936] Forked 1147 -[4935] Forked 1148 -(1147) found -(1148) found -[4934] Forked 1149 -[4933] Forked 1150 -(1149) found -(1150) found -[4932] Forked 1151 -[4931] Forked 1152 -(1151) found -(1152) found -[4930] Forked 1153 -[4929] Forked 1154 -(1153) found -(1154) found -[4928] Forked 1155 -[4927] Forked 1156 -(1155) found -(1156) found -[4926] Forked 1157 -[4925] Forked 1158 -(1157) found -(1158) found -[4924] Forked 1159 -[4923] Forked 1160 -(1159) found -(1160) found -[4922] Forked 1161 -[4921] Forked 1162 -(1161) found -(1162) found -[4920] Forked 1163 -[4919] Forked 1164 -(1163) found -(1164) found -[4918] Forked 1165 -[4917] Forked 1166 -(1165) found -(1166) found -[4916] Forked 1167 -(1167) found -[4915] Forked 1168 -(1168) found -[4914] Forked 1169 -(1169) found -[4913] Forked 1170 -(1170) found -[4912] Forked 1171 -(1171) found -[4911] Forked 1172 -(1172) found -[4910] Forked 1173 -(1173) found -[4909] Forked 1174 -(1174) found -[4908] Forked 1175 -(1175) found -[4907] Forked 1176 -(1176) found -[4906] Forked 1177 -(1177) found -[4905] Forked 1178 -(1178) found -[4904] Forked 1179 -(1179) found -[4903] Forked 1180 -(1180) found -[4902] Forked 1181 -(1181) found -[4901] Forked 1182 -(1182) found -[4900] Forked 1183 -(1183) found -[4899] Forked 1184 -(1184) found -[4898] Forked 1185 -(1185) found -[4897] Forked 1186 -(1186) found -[4896] Forked 1187 -(1187) found -[4895] Forked 1188 -(1188) found -[4894] Forked 1190 -(1190) found -[4893] Forked 1191 -(1191) found -[4892] Forked 1192 -(1192) found -[4891] Forked 1193 -(1193) found -[4890] Forked 1194 -(1194) found -[4889] Forked 1195 -(1195) found -[4888] Forked 1196 -(1196) found -[4887] Forked 1197 -(1197) found -[4886] Forked 1198 -(1198) found -[4885] Forked 1199 -(1199) found -[4884] Forked 1200 -(1200) found -[4883] Forked 1201 -(1201) found -[4882] Forked 1202 -(1202) found -[4881] Forked 1203 -(1203) found -[4880] Forked 1204 -[4879] Forked 1205 -(1204) found -(1205) found -[4878] Forked 1206 -[4877] Forked 1207 -(1206) found -(1207) found -[4876] Forked 1208 -[4875] Forked 1209 -(1208) found -(1209) found -[4874] Forked 1210 -[4873] Forked 1211 -(1210) found -(1211) found -[4872] Forked 1212 -[4871] Forked 1213 -(1212) found -(1213) found -[4870] Forked 1214 -[4869] Forked 1215 -(1214) found -(1215) found -[4868] Forked 1216 -[4867] Forked 1217 -(1216) found -(1217) found -[4866] Forked 1218 -[4865] Forked 1219 -(1218) found -(1219) found -[4864] Forked 1220 -[4863] Forked 1221 -(1220) found -(1221) found -[4862] Forked 1222 -[4861] Forked 1223 -(1222) found -(1223) found -[4860] Forked 1224 -[4859] Forked 1225 -(1224) found -(1225) found -[4858] Forked 1226 -[4857] Forked 1227 -(1226) found -(1227) found -[4856] Forked 1228 -[4855] Forked 1229 -(1228) found -(1229) found -[4854] Forked 1230 -[4853] Forked 1231 -(1230) found -(1231) found -[4852] Forked 1232 -[4851] Forked 1233 -(1232) found -(1233) found -[4850] Forked 1234 -[4849] Forked 1235 -(1234) found -(1235) found -[4848] Forked 1236 -[4847] Forked 1237 -(1236) found -(1237) found -[4846] Forked 1238 -[4845] Forked 1239 -(1238) found -(1239) found -[4844] Forked 1240 -[4843] Forked 1241 -(1240) found -(1241) found -[4842] Forked 1242 -[4841] Forked 1243 -(1242) found -(1243) found -[4840] Forked 1244 -[4839] Forked 1245 -(1244) found -(1245) found -[4838] Forked 1246 -[4837] Forked 1247 -(1246) found -(1247) found -[4836] Forked 1248 -[4835] Forked 1249 -(1248) found -(1249) found -[4834] Forked 1250 -[4833] Forked 1251 -(1250) found -(1251) found -[4832] Forked 1252 -(1252) found -[4831] Forked 1253 -[4830] Forked 1254 -(1253) found -(1254) found -[4829] Forked 1255 -[4828] Forked 1256 -(1255) found -(1256) found -[4827] Forked 1257 -[4826] Forked 1258 -(1257) found -(1258) found -[4825] Forked 1259 -[4824] Forked 1260 -(1259) found -(1260) found -[4823] Forked 1261 -[4822] Forked 1262 -(1261) found -(1262) found -[4821] Forked 1263 -[4820] Forked 1264 -(1263) found -(1264) found -[4819] Forked 1265 -[4818] Forked 1266 -(1265) found -(1266) found -[4817] Forked 1267 -[4816] Forked 1268 -(1267) found -(1268) found -[4815] Forked 1269 -[4814] Forked 1270 -(1269) found -(1270) found -[4813] Forked 1271 -[4812] Forked 1272 -(1271) found -(1272) found -[4811] Forked 1273 -[4810] Forked 1274 -(1273) found -(1274) found -[4809] Forked 1275 -[4808] Forked 1276 -(1275) found -(1276) found -[4807] Forked 1277 -[4806] Forked 1278 -(1277) found -(1278) found -[4805] Forked 1279 -[4804] Forked 1280 -(1279) found -(1280) found -[4803] Forked 1281 -[4802] Forked 1282 -(1281) found -(1282) found -[4801] Forked 1283 -[4800] Forked 1284 -(1283) found -(1284) found -[4799] Forked 1285 -[4798] Forked 1286 -(1285) found -(1286) found -[4797] Forked 1287 -[4796] Forked 1288 -(1287) found -(1288) found -[4795] Forked 1289 -[4794] Forked 1290 -(1289) found -(1290) found -[4793] Forked 1291 -(1291) found -[4792] Forked 1292 -(1292) found -[4791] Forked 1293 -(1293) found -[4790] Forked 1294 -(1294) found -[4789] Forked 1295 -(1295) found -[4788] Forked 1296 -(1296) found -[4787] Forked 1297 -(1297) found -[4786] Forked 1298 -(1298) found -[4785] Forked 1299 -(1299) found -[4784] Forked 1300 -(1300) found -[4783] Forked 1301 -(1301) found -[4782] Forked 1302 -(1302) found -[4781] Forked 1303 -(1303) found -[4780] Forked 1304 -(1304) found -[4779] Forked 1305 -(1305) found -[4778] Forked 1306 -(1306) found -[4777] Forked 1307 -(1307) found -[4776] Forked 1308 -(1308) found -[4775] Forked 1309 -(1309) found -[4774] Forked 1310 -(1310) found -[4773] Forked 1312 -(1312) found -[4772] Forked 1313 -(1313) found -[4771] Forked 1314 -(1314) found -[4770] Forked 1315 -(1315) found -[4769] Forked 1316 -(1316) found -[4768] Forked 1317 -(1317) found -[4767] Forked 1318 -(1318) found -[4766] Forked 1319 -(1319) found -[4765] Forked 1320 -(1320) found -[4764] Forked 1321 -(1321) found -[4763] Forked 1322 -(1322) found -[4762] Forked 1323 -(1323) found -[4761] Forked 1324 -(1324) found -[4760] Forked 1325 -(1325) found -[4759] Forked 1326 -[4758] Forked 1327 -(1326) found -(1327) found -[4757] Forked 1328 -[4756] Forked 1329 -(1328) found -(1329) found -[4755] Forked 1330 -[4754] Forked 1331 -(1330) found -(1331) found -[4753] Forked 1332 -[4752] Forked 1333 -(1332) found -(1333) found -[4751] Forked 1334 -[4750] Forked 1335 -(1334) found -(1335) found -[4749] Forked 1336 -[4748] Forked 1337 -(1336) found -(1337) found -[4747] Forked 1338 -[4746] Forked 1339 -(1338) found -(1339) found -[4745] Forked 1340 -[4744] Forked 1341 -(1340) found -(1341) found -[4743] Forked 1342 -[4742] Forked 1343 -(1342) found -(1343) found -[4741] Forked 1344 -[4740] Forked 1345 -(1344) found -(1345) found -[4739] Forked 1346 -[4738] Forked 1347 -(1346) found -(1347) found -[4737] Forked 1348 -[4736] Forked 1349 -(1348) found -(1349) found -[4735] Forked 1350 -[4734] Forked 1351 -(1350) found -(1351) found -[4733] Forked 1352 -[4732] Forked 1353 -(1352) found -(1353) found -[4731] Forked 1354 -[4730] Forked 1355 -(1354) found -(1355) found -[4729] Forked 1356 -[4728] Forked 1357 -(1356) found -(1357) found -[4727] Forked 1358 -[4726] Forked 1359 -(1358) found -(1359) found -[4725] Forked 1360 -[4724] Forked 1361 -(1360) found -(1361) found -[4723] Forked 1362 -[4722] Forked 1363 -(1362) found -(1363) found -[4721] Forked 1364 -[4720] Forked 1365 -(1364) found -(1365) found -[4719] Forked 1366 -[4718] Forked 1367 -(1366) found -(1367) found -[4717] Forked 1368 -[4716] Forked 1369 -(1368) found -(1369) found -[4715] Forked 1370 -[4714] Forked 1371 -(1370) found -(1371) found -[4713] Forked 1372 -(1372) found -[4712] Forked 1373 -(1373) found -[4711] Forked 1374 -(1374) found -[4710] Forked 1375 -(1375) found -[4709] Forked 1376 -(1376) found -[4708] Forked 1377 -(1377) found -[4707] Forked 1378 -(1378) found -[4706] Forked 1379 -(1379) found -[4705] Forked 1380 -(1380) found -[4704] Forked 1381 -(1381) found -[4703] Forked 1382 -(1382) found -[4702] Forked 1383 -(1383) found -[4701] Forked 1384 -(1384) found -[4700] Forked 1385 -(1385) found -[4699] Forked 1386 -(1386) found -[4698] Forked 1387 -(1387) found -[4697] Forked 1388 -(1388) found -[4696] Forked 1389 -(1389) found -[4695] Forked 1390 -(1390) found -[4694] Forked 1391 -(1391) found -[4693] Forked 1392 -(1392) found -[4692] Forked 1393 -(1393) found -[4691] Forked 1394 -(1394) found -[4690] Forked 1395 -(1395) found -[4689] Forked 1396 -(1396) found -[4688] Forked 1397 -(1397) found -[4687] Forked 1398 -(1398) found -[4686] Forked 1399 -(1399) found -[4685] Forked 1400 -(1400) found -[4684] Forked 1401 -(1401) found -[4683] Forked 1402 -(1402) found -[4682] Forked 1403 -(1403) found -[4681] Forked 1404 -(1404) found -[4680] Forked 1405 -(1405) found -[4679] Forked 1406 -[4678] Forked 1407 -(1406) found -(1407) found -[4677] Forked 1408 -[4676] Forked 1409 -(1408) found -(1409) found -[4675] Forked 1410 -[4674] Forked 1411 -(1410) found -(1411) found -[4673] Forked 1412 -[4672] Forked 1413 -(1412) found -(1413) found -[4671] Forked 1414 -[4670] Forked 1415 -(1414) found -(1415) found -[4669] Forked 1416 -[4668] Forked 1417 -(1416) found -(1417) found -[4667] Forked 1418 -[4666] Forked 1419 -(1418) found -(1419) found -[4665] Forked 1420 -[4664] Forked 1421 -(1420) found -(1421) found -[4663] Forked 1422 -[4662] Forked 1423 -(1422) found -(1423) found -[4661] Forked 1424 -[4660] Forked 1425 -(1424) found -(1425) found -[4659] Forked 1426 -[4658] Forked 1427 -(1426) found -(1427) found -[4657] Forked 1428 -[4656] Forked 1429 -(1428) found -(1429) found -[4655] Forked 1430 -[4654] Forked 1431 -(1431) found -(1430) found -[4653] Forked 1432 -(1432) found -[4652] Forked 1433 -(1433) found -[4651] Forked 1434 -(1434) found -[4650] Forked 1435 -(1435) found -[4649] Forked 1436 -(1436) found -[4648] Forked 1437 -(1437) found -[4647] Forked 1438 -(1438) found -[4646] Forked 1440 -(1440) found -[4645] Forked 1441 -(1441) found -[4644] Forked 1442 -(1442) found -[4643] Forked 1443 -(1443) found -[4642] Forked 1444 -(1444) found -[4641] Forked 1445 -(1445) found -[4640] Forked 1446 -(1446) found -[4639] Forked 1447 -(1447) found -[4638] Forked 1448 -(1448) found -[4637] Forked 1449 -(1449) found -[4636] Forked 1450 -(1450) found -[4635] Forked 1451 -(1451) found -[4634] Forked 1452 -(1452) found -[4633] Forked 1453 -(1453) found -[4632] Forked 1454 -(1454) found -[4631] Forked 1455 -(1455) found -[4630] Forked 1456 -(1456) found -[4629] Forked 1457 -(1457) found -[4628] Forked 1458 -(1458) found -[4627] Forked 1459 -(1459) found -[4626] Forked 1460 -(1460) found -[4625] Forked 1461 -(1461) found -[4624] Forked 1462 -(1462) found -[4623] Forked 1463 -(1463) found -[4622] Forked 1464 -(1464) found -[4621] Forked 1465 -(1465) found -[4620] Forked 1466 -(1466) found -[4619] Forked 1467 -(1467) found -[4618] Forked 1468 -(1468) found -[4617] Forked 1469 -(1469) found -[4616] Forked 1470 -(1470) found -[4615] Forked 1471 -(1471) found -[4614] Forked 1472 -(1472) found -[4613] Forked 1473 -(1473) found -[4612] Forked 1474 -(1474) found -[4611] Forked 1475 -(1475) found -[4610] Forked 1476 -(1476) found -[4609] Forked 1477 -(1477) found -[4608] Forked 1478 -(1478) found -[4607] Forked 1479 -(1479) found -[4606] Forked 1480 -(1480) found -[4605] Forked 1481 -(1481) found -[4604] Forked 1482 -(1482) found -[4603] Forked 1483 -(1483) found -[4602] Forked 1484 -(1484) found -[4601] Forked 1485 -(1485) found -[4600] Forked 1486 -(1486) found -[4599] Forked 1487 -(1487) found -[4598] Forked 1488 -(1488) found -[4597] Forked 1489 -(1489) found -[4596] Forked 1490 -(1490) found -[4595] Forked 1491 -(1491) found -[4594] Forked 1492 -(1492) found -[4593] Forked 1493 -(1493) found -[4592] Forked 1494 -(1494) found -[4591] Forked 1495 -(1495) found -[4590] Forked 1496 -(1496) found -[4589] Forked 1497 -(1497) found -[4588] Forked 1498 -(1498) found -[4587] Forked 1499 -(1499) found -[4586] Forked 1500 -(1500) found -[4585] Forked 1501 -(1501) found -[4584] Forked 1502 -(1502) found -[4583] Forked 1503 -(1503) found -[4582] Forked 1504 -(1504) found -[4581] Forked 1505 -(1505) found -[4580] Forked 1506 -(1506) found -[4579] Forked 1507 -(1507) found -[4578] Forked 1508 -(1508) found -[4577] Forked 1509 -(1509) found -[4576] Forked 1510 -(1510) found -[4575] Forked 1511 -(1511) found -[4574] Forked 1512 -(1512) found -[4573] Forked 1513 -(1513) found -[4572] Forked 1514 -(1514) found -[4571] Forked 1515 -[4570] Forked 1516 -(1515) found -(1516) found -[4569] Forked 1517 -[4568] Forked 1518 -(1517) found -(1518) found -[4567] Forked 1519 -(1519) found -[4566] Forked 1520 -[4565] Forked 1521 -(1520) found -(1521) found -[4564] Forked 1522 -[4563] Forked 1523 -(1522) found -(1523) found -[4562] Forked 1524 -[4561] Forked 1525 -(1524) found -(1525) found -[4560] Forked 1526 -[4559] Forked 1527 -(1526) found -(1527) found -[4558] Forked 1528 -[4557] Forked 1529 -(1528) found -(1529) found -[4556] Forked 1530 -[4555] Forked 1531 -(1530) found -(1531) found -[4554] Forked 1532 -[4553] Forked 1533 -(1532) found -(1533) found -[4552] Forked 1534 -[4551] Forked 1535 -(1534) found -(1535) found -[4550] Forked 1536 -[4549] Forked 1537 -(1536) found -(1537) found -[4548] Forked 1538 -[4547] Forked 1539 -(1538) found -(1539) found -[4546] Forked 1540 -[4545] Forked 1541 -(1540) found -(1541) found -[4544] Forked 1542 -[4543] Forked 1543 -(1542) found -(1543) found -[4542] Forked 1544 -[4541] Forked 1545 -(1544) found -(1545) found -[4540] Forked 1546 -[4539] Forked 1547 -(1546) found -(1547) found -[4538] Forked 1548 -[4537] Forked 1549 -(1548) found -(1549) found -[4536] Forked 1550 -[4535] Forked 1551 -(1550) found -(1551) found -[4534] Forked 1552 -[4533] Forked 1553 -(1552) found -(1553) found -[4532] Forked 1554 -[4531] Forked 1555 -(1554) found -(1555) found -[4530] Forked 1556 -[4529] Forked 1557 -(1556) found -(1557) found -[4528] Forked 1558 -[4527] Forked 1559 -(1558) found -(1559) found -[4526] Forked 1560 -[4525] Forked 1561 -(1560) found -(1561) found -[4524] Forked 1562 -[4523] Forked 1563 -(1562) found -(1563) found -[4522] Forked 1564 -[4521] Forked 1565 -(1564) found -(1565) found -[4520] Forked 1566 -[4519] Forked 1567 -(1566) found -(1567) found -[4518] Forked 1568 -[4517] Forked 1569 -(1568) found -(1569) found -[4516] Forked 1570 -[4515] Forked 1571 -(1570) found -(1571) found -[4514] Forked 1572 -[4513] Forked 1573 -(1572) found -(1573) found -[4512] Forked 1574 -[4511] Forked 1575 -(1574) found -(1575) found -[4510] Forked 1576 -[4509] Forked 1577 -(1576) found -(1577) found -[4508] Forked 1578 -[4507] Forked 1579 -(1578) found -(1579) found -[4506] Forked 1580 -[4505] Forked 1581 -(1580) found -(1581) found -[4504] Forked 1582 -[4503] Forked 1583 -(1582) found -(1583) found -[4502] Forked 1584 -[4501] Forked 1585 -(1584) found -(1585) found -[4500] Forked 1586 -[4499] Forked 1587 -(1586) found -(1587) found -[4498] Forked 1588 -[4497] Forked 1589 -(1588) found -(1589) found -[4496] Forked 1590 -[4495] Forked 1591 -(1590) found -(1591) found -[4494] Forked 1592 -[4493] Forked 1593 -(1592) found -(1593) found -[4492] Forked 1595 -[4491] Forked 1596 -(1595) found -(1596) found -[4490] Forked 1597 -[4489] Forked 1598 -(1597) found -(1598) found -[4488] Forked 1599 -[4487] Forked 1600 -(1599) found -(1600) found -[4486] Forked 1601 -[4485] Forked 1602 -(1601) found -(1602) found -[4484] Forked 1603 -[4483] Forked 1604 -(1603) found -(1604) found -[4482] Forked 1605 -[4481] Forked 1606 -(1605) found -(1606) found -[4480] Forked 1607 -[4479] Forked 1608 -(1607) found -(1608) found -[4478] Forked 1609 -[4477] Forked 1611 -(1609) found -(1611) found -[4476] Forked 1612 -(1612) found -[4475] Forked 1613 -(1613) found -[4474] Forked 1614 -(1614) found -[4473] Forked 1615 -(1615) found -[4472] Forked 1616 -(1616) found -[4471] Forked 1617 -(1617) found -[4470] Forked 1618 -(1618) found -[4469] Forked 1619 -(1619) found -[4468] Forked 1620 -(1620) found -[4467] Forked 1621 -(1621) found -[4466] Forked 1622 -(1622) found -[4465] Forked 1623 -(1623) found -[4464] Forked 1624 -(1624) found -[4463] Forked 1625 -(1625) found -[4462] Forked 1626 -(1626) found -[4461] Forked 1627 -(1627) found -[4460] Forked 1628 -(1628) found -[4459] Forked 1629 -(1629) found -[4458] Forked 1630 -(1630) found -[4457] Forked 1631 -(1631) found -[4456] Forked 1632 -(1632) found -[4455] Forked 1633 -(1633) found -[4454] Forked 1634 -(1634) found -[4453] Forked 1635 -(1635) found -[4452] Forked 1636 -(1636) found -[4451] Forked 1637 -(1637) found -[4450] Forked 1638 -(1638) found -[4449] Forked 1639 -(1639) found -[4448] Forked 1640 -(1640) found -[4447] Forked 1641 -(1641) found -[4446] Forked 1642 -(1642) found -[4445] Forked 1643 -(1643) found -[4444] Forked 1644 -(1644) found -[4443] Forked 1645 -(1645) found -[4442] Forked 1646 -(1646) found -[4441] Forked 1647 -(1647) found -[4440] Forked 1648 -(1648) found -[4439] Forked 1649 -(1649) found -[4438] Forked 1650 -(1650) found -[4437] Forked 1651 -(1651) found -[4436] Forked 1652 -(1652) found -[4435] Forked 1653 -(1653) found -[4434] Forked 1654 -(1654) found -[4433] Forked 1655 -(1655) found -[4432] Forked 1656 -(1656) found -[4431] Forked 1657 -(1657) found -[4430] Forked 1658 -(1658) found -[4429] Forked 1659 -(1659) found -[4428] Forked 1660 -(1660) found -[4427] Forked 1661 -(1661) found -[4426] Forked 1662 -(1662) found -[4425] Forked 1663 -(1663) found -[4424] Forked 1664 -(1664) found -[4423] Forked 1665 -(1665) found -[4422] Forked 1666 -(1666) found -[4421] Forked 1668 -(1668) found -[4420] Forked 1669 -(1669) found -[4419] Forked 1670 -(1670) found -[4418] Forked 1671 -(1671) found -[4417] Forked 1672 -(1672) found -[4416] Forked 1673 -(1673) found -[4415] Forked 1674 -(1674) found -[4414] Forked 1675 -(1675) found -[4413] Forked 1676 -(1676) found -[4412] Forked 1677 -(1677) found -[4411] Forked 1679 -(1679) found -[4410] Forked 1680 -[4409] Forked 1681 -(1680) found -(1681) found -[4408] Forked 1682 -[4407] Forked 1683 -(1682) found -(1683) found -[4406] Forked 1684 -[4405] Forked 1685 -(1684) found -(1685) found -[4404] Forked 1686 -[4403] Forked 1687 -(1686) found -(1687) found -[4402] Forked 1688 -[4401] Forked 1689 -(1688) found -(1689) found -[4400] Forked 1690 -[4399] Forked 1691 -(1690) found -(1691) found -[4398] Forked 1692 -[4397] Forked 1693 -(1692) found -(1693) found -[4396] Forked 1694 -[4395] Forked 1695 -(1694) found -(1695) found -[4394] Forked 1696 -[4393] Forked 1697 -(1696) found -(1697) found -[4392] Forked 1698 -[4391] Forked 1699 -(1698) found -(1699) found -[4390] Forked 1700 -[4389] Forked 1701 -(1700) found -(1701) found -[4388] Forked 1702 -[4387] Forked 1703 -(1702) found -(1703) found -[4386] Forked 1704 -[4385] Forked 1705 -(1704) found -(1705) found -[4384] Forked 1706 -[4383] Forked 1707 -(1706) found -(1707) found -[4382] Forked 1708 -[4381] Forked 1709 -(1708) found -(1709) found -[4380] Forked 1710 -[4379] Forked 1711 -(1710) found -(1711) found -[4378] Forked 1712 -[4377] Forked 1713 -(1712) found -(1713) found -[4376] Forked 1714 -[4375] Forked 1715 -(1714) found -(1715) found -[4374] Forked 1716 -[4373] Forked 1717 -(1716) found -(1717) found -[4372] Forked 1718 -[4371] Forked 1719 -(1718) found -(1719) found -[4370] Forked 1720 -[4369] Forked 1721 -(1720) found -(1721) found -[4368] Forked 1722 -[4367] Forked 1723 -(1722) found -(1723) found -[4366] Forked 1724 -(1724) found -[4365] Forked 1725 -(1725) found -[4364] Forked 1726 -(1726) found -[4363] Forked 1727 -(1727) found -[4362] Forked 1728 -(1728) found -[4361] Forked 1729 -(1729) found -[4360] Forked 1730 -(1730) found -[4359] Forked 1731 -(1731) found -[4358] Forked 1732 -(1732) found -[4357] Forked 1733 -(1733) found -[4356] Forked 1734 -(1734) found -[4355] Forked 1735 -(1735) found -[4354] Forked 1736 -(1736) found -[4353] Forked 1737 -(1737) found -[4352] Forked 1738 -(1738) found -[4351] Forked 1739 -(1739) found -[4350] Forked 1740 -(1740) found -[4349] Forked 1741 -(1741) found -[4348] Forked 1742 -(1742) found -[4347] Forked 1743 -(1743) found -[4346] Forked 1744 -(1744) found -[4345] Forked 1745 -(1745) found -[4344] Forked 1746 -(1746) found -[4343] Forked 1747 -(1747) found -[4342] Forked 1748 -(1748) found -[4341] Forked 1749 -(1749) found -[4340] Forked 1750 -(1750) found -[4339] Forked 1751 -(1751) found -[4338] Forked 1752 -(1752) found -[4337] Forked 1753 -(1753) found -[4336] Forked 1754 -(1754) found -[4335] Forked 1755 -(1755) found -[4334] Forked 1756 -(1756) found -[4333] Forked 1757 -(1757) found -[4332] Forked 1758 -(1758) found -[4331] Forked 1760 -[4330] Forked 1761 -(1760) found -(1761) found -[4329] Forked 1762 -[4328] Forked 1763 -(1762) found -(1763) found -[4327] Forked 1764 -[4326] Forked 1765 -(1764) found -(1765) found -[4325] Forked 1766 -[4324] Forked 1767 -(1766) found -(1767) found -[4323] Forked 1768 -[4322] Forked 1769 -(1768) found -(1769) found -[4321] Forked 1770 -[4320] Forked 1771 -(1770) found -(1771) found -[4319] Forked 1772 -[4318] Forked 1773 -(1772) found -(1773) found -[4317] Forked 1774 -[4316] Forked 1775 -(1774) found -(1775) found -[4315] Forked 1776 -[4314] Forked 1777 -(1776) found -(1777) found -[4313] Forked 1778 -[4312] Forked 1779 -(1778) found -(1779) found -[4311] Forked 1780 -[4310] Forked 1781 -(1780) found -(1781) found -[4309] Forked 1782 -[4308] Forked 1783 -(1782) found -(1783) found -[4307] Forked 1784 -[4306] Forked 1785 -(1784) found -(1785) found -[4305] Forked 1786 -[4304] Forked 1787 -(1786) found -(1787) found -[4303] Forked 1788 -[4302] Forked 1789 -(1788) found -(1789) found -[4301] Forked 1790 -[4300] Forked 1791 -(1790) found -(1791) found -[4299] Forked 1792 -[4298] Forked 1793 -(1792) found -(1793) found -[4297] Forked 1794 -[4296] Forked 1795 -(1794) found -(1795) found -[4295] Forked 1796 -[4294] Forked 1797 -(1796) found -(1797) found -[4293] Forked 1798 -[4292] Forked 1799 -(1798) found -(1799) found -[4291] Forked 1800 -[4290] Forked 1801 -(1800) found -(1801) found -[4289] Forked 1802 -[4288] Forked 1803 -(1802) found -(1803) found -[4287] Forked 1804 -[4286] Forked 1805 -(1804) found -(1805) found -[4285] Forked 1806 -[4284] Forked 1807 -(1806) found -(1807) found -[4283] Forked 1808 -[4282] Forked 1809 -(1808) found -(1809) found -[4281] Forked 1810 -[4280] Forked 1811 -(1810) found -(1811) found -[4279] Forked 1812 -[4278] Forked 1813 -(1812) found -(1813) found -[4277] Forked 1814 -[4276] Forked 1815 -(1814) found -(1815) found -[4275] Forked 1816 -[4274] Forked 1817 -(1816) found -(1817) found -[4273] Forked 1818 -[4272] Forked 1819 -(1818) found -(1819) found -[4271] Forked 1820 -[4270] Forked 1821 -(1820) found -(1821) found -[4269] Forked 1822 -[4268] Forked 1823 -(1822) found -(1823) found -[4267] Forked 1824 -[4266] Forked 1825 -(1824) found -(1825) found -[4265] Forked 1826 -[4264] Forked 1827 -(1826) found -(1827) found -[4263] Forked 1828 -[4262] Forked 1829 -(1828) found -(1829) found -[4261] Forked 1830 -[4260] Forked 1831 -(1830) found -(1831) found -[4259] Forked 1832 -[4258] Forked 1833 -(1832) found -(1833) found -[4257] Forked 1834 -[4256] Forked 1835 -(1834) found -(1835) found -[4255] Forked 1836 -[4254] Forked 1837 -(1836) found -(1837) found -[4253] Forked 1838 -[4252] Forked 1839 -(1838) found -(1839) found -[4251] Forked 1840 -[4250] Forked 1841 -(1840) found -(1841) found -[4249] Forked 1842 -[4248] Forked 1843 -(1842) found -(1843) found -[4247] Forked 1844 -[4246] Forked 1845 -(1844) found -(1845) found -[4245] Forked 1846 -[4244] Forked 1847 -(1846) found -(1847) found -[4243] Forked 1848 -[4242] Forked 1849 -(1848) found -(1849) found -[4241] Forked 1850 -[4240] Forked 1851 -(1850) found -(1851) found -[4239] Forked 1852 -[4238] Forked 1853 -(1852) found -(1853) found -[4237] Forked 1854 -[4236] Forked 1855 -(1854) found -(1855) found -[4235] Forked 1856 -[4234] Forked 1857 -(1856) found -(1857) found -[4233] Forked 1858 -[4232] Forked 1859 -(1858) found -(1859) found -[4231] Forked 1860 -[4230] Forked 1861 -(1860) found -(1861) found -[4229] Forked 1862 -[4228] Forked 1863 -(1862) found -(1863) found -[4227] Forked 1864 -[4226] Forked 1865 -(1864) found -(1865) found -[4225] Forked 1866 -[4224] Forked 1867 -(1866) found -(1867) found -[4223] Forked 1868 -[4222] Forked 1869 -(1868) found -(1869) found -[4221] Forked 1870 -[4220] Forked 1871 -(1870) found -(1871) found -[4219] Forked 1872 -[4218] Forked 1873 -(1872) found -(1873) found -[4217] Forked 1874 -[4216] Forked 1875 -(1874) found -(1875) found -[4215] Forked 1876 -[4214] Forked 1877 -(1876) found -(1877) found -[4213] Forked 1878 -[4212] Forked 1879 -(1878) found -(1879) found -[4211] Forked 1880 -[4210] Forked 1881 -(1880) found -(1881) found -[4209] Forked 1882 -[4208] Forked 1883 -(1882) found -(1883) found -[4207] Forked 1884 -[4206] Forked 1885 -(1884) found -(1885) found -[4205] Forked 1886 -[4204] Forked 1887 -(1886) found -(1887) found -[4203] Forked 1888 -[4202] Forked 1889 -(1888) found -(1889) found -[4201] Forked 1890 -[4200] Forked 1891 -(1890) found -(1891) found -[4199] Forked 1892 -[4198] Forked 1893 -(1892) found -(1893) found -[4197] Forked 1894 -(1894) found -[4196] Forked 1895 -[4195] Forked 1896 -(1895) found -(1896) found -[4194] Forked 1897 -[4193] Forked 1898 -(1897) found -(1898) found -[4192] Forked 1899 -[4191] Forked 1900 -(1899) found -(1900) found -[4190] Forked 1901 -[4189] Forked 1902 -(1901) found -(1902) found -[4188] Forked 1903 -[4187] Forked 1904 -(1903) found -(1904) found -[4186] Forked 1905 -[4185] Forked 1906 -(1905) found -(1906) found -[4184] Forked 1907 -[4183] Forked 1908 -(1907) found -(1908) found -[4182] Forked 1909 -[4181] Forked 1910 -(1909) found -(1910) found -[4180] Forked 1911 -[4179] Forked 1912 -(1911) found -(1912) found -[4178] Forked 1913 -[4177] Forked 1914 -(1913) found -(1914) found -[4176] Forked 1915 -[4175] Forked 1916 -(1915) found -(1916) found -[4174] Forked 1917 -[4173] Forked 1918 -(1917) found -(1918) found -[4172] Forked 1919 -[4171] Forked 1920 -(1919) found -(1920) found -[4170] Forked 1921 -[4169] Forked 1922 -(1921) found -(1922) found -[4168] Forked 1923 -[4167] Forked 1924 -(1923) found -(1924) found -[4166] Forked 1925 -[4165] Forked 1926 -(1925) found -(1926) found -[4164] Forked 1927 -[4163] Forked 1928 -(1927) found -(1928) found -[4162] Forked 1929 -[4161] Forked 1930 -(1929) found -(1930) found -[4160] Forked 1931 -[4159] Forked 1932 -(1931) found -(1932) found -[4158] Forked 1933 -[4157] Forked 1934 -(1933) found -(1934) found -[4156] Forked 1935 -[4155] Forked 1936 -(1935) found -(1936) found -[4154] Forked 1937 -[4153] Forked 1938 -(1937) found -(1938) found -[4152] Forked 1939 -[4151] Forked 1940 -(1939) found -(1940) found -[4150] Forked 1941 -(1941) found -[4149] Forked 1942 -(1942) found -[4148] Forked 1943 -(1943) found -[4147] Forked 1944 -(1944) found -[4146] Forked 1945 -(1945) found -[4145] Forked 1946 -(1946) found -[4144] Forked 1947 -(1947) found -[4143] Forked 1948 -(1948) found -[4142] Forked 1949 -(1949) found -[4141] Forked 1950 -(1950) found -[4140] Forked 1951 -(1951) found -[4139] Forked 1952 -(1952) found -[4138] Forked 1953 -(1953) found -[4137] Forked 1954 -(1954) found -[4136] Forked 1955 -(1955) found -[4135] Forked 1956 -(1956) found -[4134] Forked 1957 -(1957) found -[4133] Forked 1958 -(1958) found -[4132] Forked 1959 -(1959) found -[4131] Forked 1960 -(1960) found -[4130] Forked 1961 -(1961) found -[4129] Forked 1962 -(1962) found -[4128] Forked 1963 -(1963) found -[4127] Forked 1964 -(1964) found -[4126] Forked 1965 -(1965) found -[4125] Forked 1966 -(1966) found -[4124] Forked 1967 -(1967) found -[4123] Forked 1968 -(1968) found -[4122] Forked 1969 -(1969) found -[4121] Forked 1970 -(1970) found -[4120] Forked 1971 -(1971) found -[4119] Forked 1972 -(1972) found -[4118] Forked 1973 -(1973) found -[4117] Forked 1974 -(1974) found -[4116] Forked 1975 -[4115] Forked 1976 -(1975) found -(1976) found -[4114] Forked 1977 -[4113] Forked 1978 -(1977) found -(1978) found -[4112] Forked 1979 -(1979) found -[4111] Forked 1980 -(1980) found -[4110] Forked 1981 -[4109] Forked 1982 -(1981) found -(1982) found -[4108] Forked 1983 -[4107] Forked 1984 -(1983) found -(1984) found -[4106] Forked 1985 -[4105] Forked 1986 -(1985) found -(1986) found -[4104] Forked 1987 -[4103] Forked 1988 -(1987) found -(1988) found -[4102] Forked 1989 -[4101] Forked 1990 -(1989) found -(1990) found -[4100] Forked 1991 -[4099] Forked 1992 -(1991) found -(1992) found -[4098] Forked 1993 -[4097] Forked 1994 -(1993) found -(1994) found -[4096] Forked 1995 -[4095] Forked 1996 -(1995) found -(1996) found -[4094] Forked 1997 -[4093] Forked 1998 -(1997) found -(1998) found -[4092] Forked 1999 -[4091] Forked 2000 -(1999) found -(2000) found -[4090] Forked 2001 -[4089] Forked 2002 -(2001) found -(2002) found -[4088] Forked 2003 -[4087] Forked 2004 -(2003) found -(2004) found -[4086] Forked 2005 -[4085] Forked 2006 -(2005) found -(2006) found -[4084] Forked 2007 -[4083] Forked 2008 -(2007) found -(2008) found -[4082] Forked 2009 -[4081] Forked 2010 -(2009) found -(2010) found -[4080] Forked 2011 -[4079] Forked 2012 -(2011) found -(2012) found -[4078] Forked 2013 -[4077] Forked 2014 -(2013) found -(2014) found -[4076] Forked 2015 -[4075] Forked 2016 -(2015) found -(2016) found -[4074] Forked 2017 -[4073] Forked 2018 -(2017) found -(2018) found -[4072] Forked 2019 -[4071] Forked 2020 -(2019) found -(2020) found -[4070] Forked 2021 -[4069] Forked 2022 -(2021) found -(2022) found -[4068] Forked 2023 -[4067] Forked 2024 -(2023) found -(2024) found -[4066] Forked 2025 -[4065] Forked 2026 -(2025) found -(2026) found -[4064] Forked 2027 -[4063] Forked 2028 -(2027) found -(2028) found -[4062] Forked 2029 -[4061] Forked 2030 -(2029) found -(2030) found -[4060] Forked 2031 -[4059] Forked 2032 -(2031) found -(2032) found -[4058] Forked 2033 -[4057] Forked 2034 -(2033) found -(2034) found -[4056] Forked 2035 -[4055] Forked 2036 -(2035) found -(2036) found -[4054] Forked 2037 -[4053] Forked 2038 -(2037) found -(2038) found -[4052] Forked 2039 -[4051] Forked 2040 -(2039) found -(2040) found -[4050] Forked 2041 -[4049] Forked 2042 -(2041) found -(2042) found -[4048] Forked 2043 -[4047] Forked 2044 -(2043) found -(2044) found -[4046] Forked 2045 -[4045] Forked 2046 -(2045) found -(2046) found -[4044] Forked 2047 -[4043] Forked 2048 -(2047) found -(2048) found -[4042] Forked 2049 -[4041] Forked 2050 -(2049) found -(2050) found -[4040] Forked 2051 -[4039] Forked 2052 -(2051) found -(2052) found -[4038] Forked 2053 -[4037] Forked 2054 -(2053) found -(2054) found -[4036] Forked 2055 -[4035] Forked 2056 -(2055) found -(2056) found -[4034] Forked 2057 -[4033] Forked 2058 -(2057) found -(2058) found -[4032] Forked 2059 -[4031] Forked 2060 -(2059) found -(2060) found -[4030] Forked 2061 -[4029] Forked 2062 -(2061) found -(2062) found -[4028] Forked 2063 -[4027] Forked 2064 -(2063) found -(2064) found -[4026] Forked 2065 -[4025] Forked 2066 -(2065) found -(2066) found -[4024] Forked 2067 -[4023] Forked 2068 -(2067) found -(2068) found -[4022] Forked 2070 -[4021] Forked 2071 -(2070) found -(2071) found -[4020] Forked 2072 -[4019] Forked 2073 -(2072) found -(2073) found -[4018] Forked 2074 -[4017] Forked 2075 -(2074) found -(2075) found -[4016] Forked 2076 -[4015] Forked 2077 -(2076) found -(2077) found -[4014] Forked 2078 -[4013] Forked 2079 -(2078) found -(2079) found -[4012] Forked 2080 -[4011] Forked 2081 -(2080) found -(2081) found -[4010] Forked 2082 -[4009] Forked 2083 -(2082) found -(2083) found -[4008] Forked 2084 -[4007] Forked 2085 -(2084) found -(2085) found -[4006] Forked 2086 -[4005] Forked 2087 -(2086) found -(2087) found -[4004] Forked 2088 -[4003] Forked 2089 -(2088) found -(2089) found -[4002] Forked 2090 -[4001] Forked 2091 -(2090) found -(2091) found -[4000] Forked 2092 -[3999] Forked 2093 -(2092) found -(2093) found -[3998] Forked 2094 -[3997] Forked 2095 -(2094) found -(2095) found -[3996] Forked 2096 -[3995] Forked 2097 -(2096) found -(2097) found -[3994] Forked 2098 -[3993] Forked 2099 -(2098) found -(2099) found -[3992] Forked 2100 -[3991] Forked 2101 -(2100) found -(2101) found -[3990] Forked 2102 -[3989] Forked 2103 -(2102) found -(2103) found -[3988] Forked 2104 -[3987] Forked 2105 -(2104) found -(2105) found -[3986] Forked 2106 -[3985] Forked 2109 -(2106) found -(2109) found -[3984] Forked 2110 -[3983] Forked 2111 -(2110) found -(2111) found -[3982] Forked 2112 -[3981] Forked 2113 -(2112) found -(2113) found -[3980] Forked 2114 -[3979] Forked 2115 -(2114) found -(2115) found -[3978] Forked 2116 -[3977] Forked 2117 -(2116) found -(2117) found -[3976] Forked 2118 -[3975] Forked 2119 -(2118) found -(2119) found -[3974] Forked 2120 -[3973] Forked 2121 -(2120) found -(2121) found -[3972] Forked 2122 -[3971] Forked 2123 -(2122) found -(2123) found -[3970] Forked 2124 -[3969] Forked 2125 -(2124) found -(2125) found -[3968] Forked 2126 -[3967] Forked 2127 -(2126) found -(2127) found -[3966] Forked 2128 -[3965] Forked 2129 -(2128) found -(2129) found -[3964] Forked 2130 -[3963] Forked 2131 -(2130) found -(2131) found -[3962] Forked 2132 -[3961] Forked 2133 -(2132) found -(2133) found -[3960] Forked 2134 -[3959] Forked 2135 -(2134) found -(2135) found -[3958] Forked 2136 -[3957] Forked 2137 -(2136) found -(2137) found -[3956] Forked 2138 -[3955] Forked 2139 -(2138) found -(2139) found -[3954] Forked 2140 -[3953] Forked 2141 -(2140) found -(2141) found -[3952] Forked 2142 -[3951] Forked 2143 -(2142) found -(2143) found -[3950] Forked 2144 -[3949] Forked 2145 -(2144) found -(2145) found -[3948] Forked 2146 -[3947] Forked 2147 -(2146) found -(2147) found -[3946] Forked 2148 -[3945] Forked 2149 -(2148) found -(2149) found -[3944] Forked 2150 -[3943] Forked 2151 -(2150) found -(2151) found -[3942] Forked 2152 -[3941] Forked 2153 -(2152) found -(2153) found -[3940] Forked 2154 -[3939] Forked 2155 -(2154) found -(2155) found -[3938] Forked 2156 -[3937] Forked 2157 -(2156) found -(2157) found -[3936] Forked 2158 -[3935] Forked 2159 -(2158) found -(2159) found -[3934] Forked 2160 -[3933] Forked 2161 -(2160) found -(2161) found -[3932] Forked 2162 -[3931] Forked 2163 -(2162) found -(2163) found -[3930] Forked 2164 -[3929] Forked 2165 -(2164) found -(2165) found -[3928] Forked 2166 -[3927] Forked 2167 -(2166) found -(2167) found -[3926] Forked 2168 -[3925] Forked 2169 -(2168) found -(2169) found -[3924] Forked 2170 -[3923] Forked 2171 -(2170) found -(2171) found -[3922] Forked 2172 -[3921] Forked 2173 -(2172) found -(2173) found -[3920] Forked 2174 -[3919] Forked 2175 -(2174) found -(2175) found -[3918] Forked 2176 -[3917] Forked 2177 -(2176) found -(2177) found -[3916] Forked 2178 -[3915] Forked 2179 -(2178) found -(2179) found -[3914] Forked 2180 -[3913] Forked 2181 -(2180) found -(2181) found -[3912] Forked 2182 -[3911] Forked 2183 -(2182) found -(2183) found -[3910] Forked 2184 -[3909] Forked 2185 -(2184) found -(2185) found -[3908] Forked 2186 -[3907] Forked 2187 -(2186) found -(2187) found -[3906] Forked 2188 -[3905] Forked 2189 -(2188) found -(2189) found -[3904] Forked 2190 -[3903] Forked 2191 -(2190) found -(2191) found -[3902] Forked 2192 -[3901] Forked 2193 -(2192) found -(2193) found -[3900] Forked 2194 -[3899] Forked 2195 -(2194) found -(2195) found -[3898] Forked 2196 -[3897] Forked 2197 -(2196) found -(2197) found -[3896] Forked 2198 -[3895] Forked 2199 -(2198) found -(2199) found -[3894] Forked 2200 -[3893] Forked 2201 -(2200) found -(2201) found -[3892] Forked 2202 -(2202) found -[3891] Forked 2203 -[3890] Forked 2204 -(2203) found -(2204) found -[3889] Forked 2205 -[3888] Forked 2206 -(2205) found -(2206) found -[3887] Forked 2207 -[3886] Forked 2208 -(2207) found -(2208) found -[3885] Forked 2209 -[3884] Forked 2210 -(2209) found -(2210) found -[3883] Forked 2211 -[3882] Forked 2212 -(2211) found -(2212) found -[3881] Forked 2213 -[3880] Forked 2214 -(2213) found -(2214) found -[3879] Forked 2215 -[3878] Forked 2216 -(2215) found -(2216) found -[3877] Forked 2217 -[3876] Forked 2218 -(2217) found -(2218) found -[3875] Forked 2219 -[3874] Forked 2220 -(2219) found -(2220) found -[3873] Forked 2221 -[3872] Forked 2222 -(2221) found -(2222) found -[3871] Forked 2223 -[3870] Forked 2224 -(2223) found -(2224) found -[3869] Forked 2225 -[3868] Forked 2226 -(2225) found -(2226) found -[3867] Forked 2227 -[3866] Forked 2228 -(2227) found -(2228) found -[3865] Forked 2229 -[3864] Forked 2230 -(2229) found -(2230) found -[3863] Forked 2231 -[3862] Forked 2232 -(2231) found -(2232) found -[3861] Forked 2233 -[3860] Forked 2234 -(2233) found -(2234) found -[3859] Forked 2235 -[3858] Forked 2236 -(2235) found -(2236) found -[3857] Forked 2237 -[3856] Forked 2238 -(2237) found -(2238) found -[3855] Forked 2239 -[3854] Forked 2240 -(2239) found -(2240) found -[3853] Forked 2241 -[3852] Forked 2242 -(2241) found -(2242) found -[3851] Forked 2243 -[3850] Forked 2244 -(2243) found -(2244) found -[3849] Forked 2245 -[3848] Forked 2246 -(2245) found -(2246) found -[3847] Forked 2247 -[3846] Forked 2248 -(2247) found -(2248) found -[3845] Forked 2249 -[3844] Forked 2250 -(2249) found -(2250) found -[3843] Forked 2251 -[3842] Forked 2252 -(2251) found -(2252) found -[3841] Forked 2253 -[3840] Forked 2254 -(2253) found -(2254) found -[3839] Forked 2255 -[3838] Forked 2256 -(2255) found -(2256) found -[3837] Forked 2257 -[3836] Forked 2258 -(2257) found -(2258) found -[3835] Forked 2259 -[3834] Forked 2260 -(2259) found -(2260) found -[3833] Forked 2261 -[3832] Forked 2265 -(2261) found -(2265) found -[3831] Forked 2266 -[3830] Forked 2267 -(2266) found -(2267) found -[3829] Forked 2268 -[3828] Forked 2269 -(2268) found -(2269) found -[3827] Forked 2270 -[3826] Forked 2271 -(2270) found -(2271) found -[3825] Forked 2272 -[3824] Forked 2273 -(2272) found -(2273) found -[3823] Forked 2274 -[3822] Forked 2275 -(2274) found -(2275) found -[3821] Forked 2276 -[3820] Forked 2277 -(2276) found -(2277) found -[3819] Forked 2278 -[3818] Forked 2279 -(2278) found -(2279) found -[3817] Forked 2280 -[3816] Forked 2281 -(2280) found -(2281) found -[3815] Forked 2282 -[3814] Forked 2283 -(2282) found -(2283) found -[3813] Forked 2284 -[3812] Forked 2285 -(2284) found -(2285) found -[3811] Forked 2286 -[3810] Forked 2287 -(2286) found -(2287) found -[3809] Forked 2288 -[3808] Forked 2289 -(2288) found -(2289) found -[3807] Forked 2290 -[3806] Forked 2291 -(2290) found -(2291) found -[3805] Forked 2292 -[3804] Forked 2293 -(2292) found -(2293) found -[3803] Forked 2294 -[3802] Forked 2295 -(2294) found -(2295) found -[3801] Forked 2296 -(2296) found -[3800] Forked 2297 -(2297) found -[3799] Forked 2298 -(2298) found -[3798] Forked 2299 -(2299) found -[3797] Forked 2300 -(2300) found -[3796] Forked 2301 -(2301) found -[3795] Forked 2302 -(2302) found -[3794] Forked 2303 -(2303) found -[3793] Forked 2304 -(2304) found -[3792] Forked 2305 -(2305) found -[3791] Forked 2306 -(2306) found -[3790] Forked 2307 -(2307) found -[3789] Forked 2308 -(2308) found -[3788] Forked 2309 -(2309) found -[3787] Forked 2310 -(2310) found -[3786] Forked 2311 -(2311) found -[3785] Forked 2312 -(2312) found -[3784] Forked 2313 -(2313) found -[3783] Forked 2314 -(2314) found -[3782] Forked 2315 -(2315) found -[3781] Forked 2316 -(2316) found -[3780] Forked 2317 -(2317) found -[3779] Forked 2318 -(2318) found -[3778] Forked 2319 -(2319) found -[3777] Forked 2320 -(2320) found -[3776] Forked 2321 -(2321) found -[3775] Forked 2322 -(2322) found -[3774] Forked 2323 -(2323) found -[3773] Forked 2324 -(2324) found -[3772] Forked 2325 -(2325) found -[3771] Forked 2326 -(2326) found -[3770] Forked 2327 -(2327) found -[3769] Forked 2328 -(2328) found -[3768] Forked 2329 -(2329) found -[3767] Forked 2330 -[3766] Forked 2331 -(2330) found -(2331) found -[3765] Forked 2332 -[3764] Forked 2333 -(2332) found -(2333) found -[3763] Forked 2334 -[3762] Forked 2335 -(2334) found -(2335) found -[3761] Forked 2336 -[3760] Forked 2337 -(2336) found -(2337) found -[3759] Forked 2338 -[3758] Forked 2339 -(2338) found -(2339) found -[3757] Forked 2340 -[3756] Forked 2341 -(2340) found -(2341) found -[3755] Forked 2342 -[3754] Forked 2343 -(2342) found -(2343) found -[3753] Forked 2344 -[3752] Forked 2345 -(2344) found -(2345) found -[3751] Forked 2346 -[3750] Forked 2347 -(2346) found -(2347) found -[3749] Forked 2348 -[3748] Forked 2349 -(2348) found -(2349) found -[3747] Forked 2350 -[3746] Forked 2351 -(2350) found -(2351) found -[3745] Forked 2352 -[3744] Forked 2353 -(2352) found -(2353) found -[3743] Forked 2354 -[3742] Forked 2355 -(2354) found -(2355) found -[3741] Forked 2356 -[3740] Forked 2357 -(2356) found -(2357) found -[3739] Forked 2358 -[3738] Forked 2359 -(2358) found -(2359) found -[3737] Forked 2360 -[3736] Forked 2361 -(2360) found -(2361) found -[3735] Forked 2362 -[3734] Forked 2363 -(2362) found -(2363) found -[3733] Forked 2364 -[3732] Forked 2365 -(2364) found -(2365) found -[3731] Forked 2366 -[3730] Forked 2367 -(2366) found -(2367) found -[3729] Forked 2368 -[3728] Forked 2369 -(2368) found -(2369) found -[3727] Forked 2370 -[3726] Forked 2371 -(2370) found -(2371) found -[3725] Forked 2372 -[3724] Forked 2373 -(2372) found -(2373) found -[3723] Forked 2374 -[3722] Forked 2375 -(2374) found -(2375) found -[3721] Forked 2376 -(2376) found -[3720] Forked 2377 -(2377) found -[3719] Forked 2378 -(2378) found -[3718] Forked 2379 -(2379) found -[3717] Forked 2380 -(2380) found -[3716] Forked 2381 -(2381) found -[3715] Forked 2382 -(2382) found -[3714] Forked 2383 -(2383) found -[3713] Forked 2384 -(2384) found -[3712] Forked 2385 -(2385) found -[3711] Forked 2386 -(2386) found -[3710] Forked 2387 -(2387) found -[3709] Forked 2388 -(2388) found -[3708] Forked 2389 -(2389) found -[3707] Forked 2390 -(2390) found -[3706] Forked 2391 -(2391) found -[3705] Forked 2392 -(2392) found -[3704] Forked 2393 -(2393) found -[3703] Forked 2394 -(2394) found -[3702] Forked 2395 -(2395) found -[3701] Forked 2396 -(2396) found -[3700] Forked 2397 -(2397) found -[3699] Forked 2398 -(2398) found -[3698] Forked 2399 -(2399) found -[3697] Forked 2400 -(2400) found -[3696] Forked 2401 -(2401) found -[3695] Forked 2402 -(2402) found -[3694] Forked 2404 -(2404) found -[3693] Forked 2405 -(2405) found -[3692] Forked 2406 -(2406) found -[3691] Forked 2407 -(2407) found -[3690] Forked 2408 -(2408) found -[3689] Forked 2409 -(2409) found -[3688] Forked 2410 -(2410) found -[3687] Forked 2411 -[3686] Forked 2412 -(2411) found -(2412) found -[3685] Forked 2413 -[3684] Forked 2414 -(2413) found -(2414) found -[3683] Forked 2415 -[3682] Forked 2416 -(2415) found -(2416) found -[3681] Forked 2417 -[3680] Forked 2418 -(2417) found -(2418) found -[3679] Forked 2419 -[3678] Forked 2420 -(2419) found -(2420) found -[3677] Forked 2421 -[3676] Forked 2422 -(2421) found -(2422) found -[3675] Forked 2423 -[3674] Forked 2424 -(2423) found -(2424) found -[3673] Forked 2425 -[3672] Forked 2426 -(2425) found -(2426) found -[3671] Forked 2427 -[3670] Forked 2428 -(2427) found -(2428) found -[3669] Forked 2429 -[3668] Forked 2430 -(2429) found -(2430) found -[3667] Forked 2431 -[3666] Forked 2432 -(2431) found -(2432) found -[3665] Forked 2433 -[3664] Forked 2434 -(2433) found -(2434) found -[3663] Forked 2435 -[3662] Forked 2436 -(2435) found -(2436) found -[3661] Forked 2437 -[3660] Forked 2438 -(2437) found -(2438) found -[3659] Forked 2439 -[3658] Forked 2440 -(2439) found -(2440) found -[3657] Forked 2441 -[3656] Forked 2442 -(2441) found -(2442) found -[3655] Forked 2443 -[3654] Forked 2444 -(2443) found -(2444) found -[3653] Forked 2445 -[3652] Forked 2446 -(2445) found -(2446) found -[3651] Forked 2447 -[3650] Forked 2448 -(2447) found -(2448) found -[3649] Forked 2449 -[3648] Forked 2450 -(2449) found -(2450) found -[3647] Forked 2451 -[3646] Forked 2452 -(2451) found -(2452) found -[3645] Forked 2453 -[3644] Forked 2454 -(2453) found -(2454) found -[3643] Forked 2455 -[3642] Forked 2456 -(2455) found -(2456) found -[3641] Forked 2457 -(2457) found -[3640] Forked 2458 -(2458) found -[3639] Forked 2459 -(2459) found -[3638] Forked 2460 -(2460) found -[3637] Forked 2461 -(2461) found -[3636] Forked 2462 -(2462) found -[3635] Forked 2463 -(2463) found -[3634] Forked 2464 -(2464) found -[3633] Forked 2465 -(2465) found -[3632] Forked 2466 -(2466) found -[3631] Forked 2467 -(2467) found -[3630] Forked 2468 -(2468) found -[3629] Forked 2469 -(2469) found -[3628] Forked 2470 -(2470) found -[3627] Forked 2471 -(2471) found -[3626] Forked 2472 -(2472) found -[3625] Forked 2473 -(2473) found -[3624] Forked 2474 -(2474) found -[3623] Forked 2475 -(2475) found -[3622] Forked 2476 -(2476) found -[3621] Forked 2477 -(2477) found -[3620] Forked 2478 -(2478) found -[3619] Forked 2479 -(2479) found -[3618] Forked 2480 -(2480) found -[3617] Forked 2481 -(2481) found -[3616] Forked 2482 -(2482) found -[3615] Forked 2483 -(2483) found -[3614] Forked 2484 -(2484) found -[3613] Forked 2485 -(2485) found -[3612] Forked 2486 -(2486) found -[3611] Forked 2487 -(2487) found -[3610] Forked 2488 -(2488) found -[3609] Forked 2489 -(2489) found -[3608] Forked 2490 -(2490) found -[3607] Forked 2491 -[3606] Forked 2492 -(2491) found -(2492) found -[3605] Forked 2493 -[3604] Forked 2494 -(2493) found -(2494) found -[3603] Forked 2495 -[3602] Forked 2496 -(2495) found -(2496) found -[3601] Forked 2497 -[3600] Forked 2498 -(2497) found -(2498) found -[3599] Forked 2499 -[3598] Forked 2500 -(2499) found -(2500) found -[3597] Forked 2501 -[3596] Forked 2502 -(2501) found -(2502) found -[3595] Forked 2503 -[3594] Forked 2504 -(2503) found -(2504) found -[3593] Forked 2505 -[3592] Forked 2506 -(2505) found -(2506) found -[3591] Forked 2507 -[3590] Forked 2508 -(2507) found -(2508) found -[3589] Forked 2509 -[3588] Forked 2510 -(2509) found -(2510) found -[3587] Forked 2512 -[3586] Forked 2513 -(2512) found -(2513) found -[3585] Forked 2514 -[3584] Forked 2515 -(2514) found -(2515) found -[3583] Forked 2516 -[3582] Forked 2517 -(2516) found -(2517) found -[3581] Forked 2518 -[3580] Forked 2519 -(2518) found -(2519) found -[3579] Forked 2520 -[3578] Forked 2521 -(2520) found -(2521) found -[3577] Forked 2522 -[3576] Forked 2523 -(2522) found -(2523) found -[3575] Forked 2525 -[3574] Forked 2526 -(2525) found -(2526) found -[3573] Forked 2527 -[3572] Forked 2528 -(2527) found -(2528) found -[3571] Forked 2529 -[3570] Forked 2530 -(2529) found -(2530) found -[3569] Forked 2531 -[3568] Forked 2532 -(2531) found -(2532) found -[3567] Forked 2533 -[3566] Forked 2534 -(2533) found -(2534) found -[3565] Forked 2535 -[3564] Forked 2536 -(2535) found -(2536) found -[3563] Forked 2537 -[3562] Forked 2538 -(2537) found -(2538) found -[3561] Forked 2539 -[3560] Forked 2541 -(2539) found -(2541) found -[3559] Forked 2542 -[3558] Forked 2543 -(2542) found -(2543) found -[3557] Forked 2544 -[3556] Forked 2545 -(2544) found -(2545) found -[3555] Forked 2546 -[3554] Forked 2547 -(2546) found -(2547) found -[3553] Forked 2548 -[3552] Forked 2549 -(2548) found -(2549) found -[3551] Forked 2550 -[3550] Forked 2551 -(2550) found -(2551) found -[3549] Forked 2552 -[3548] Forked 2553 -(2552) found -(2553) found -[3547] Forked 2554 -[3546] Forked 2555 -(2554) found -(2555) found -[3545] Forked 2556 -[3544] Forked 2557 -(2556) found -(2557) found -[3543] Forked 2558 -[3542] Forked 2559 -(2558) found -(2559) found -[3541] Forked 2560 -[3540] Forked 2561 -(2560) found -(2561) found -[3539] Forked 2562 -[3538] Forked 2563 -(2562) found -(2563) found -[3537] Forked 2564 -[3536] Forked 2565 -(2564) found -(2565) found -[3535] Forked 2566 -[3534] Forked 2567 -(2566) found -(2567) found -[3533] Forked 2568 -[3532] Forked 2569 -(2568) found -(2569) found -[3531] Forked 2570 -[3530] Forked 2571 -(2570) found -(2571) found -[3529] Forked 2572 -[3528] Forked 2573 -(2572) found -(2573) found -[3527] Forked 2574 -[3526] Forked 2575 -(2574) found -(2575) found -[3525] Forked 2576 -[3524] Forked 2577 -(2576) found -(2577) found -[3523] Forked 2578 -[3522] Forked 2579 -(2578) found -(2579) found -[3521] Forked 2580 -[3520] Forked 2581 -(2580) found -(2581) found -[3519] Forked 2582 -(2582) found -[3518] Forked 2583 -(2583) found -[3517] Forked 2584 -(2584) found -[3516] Forked 2585 -(2585) found -[3515] Forked 2586 -(2586) found -[3514] Forked 2587 -(2587) found -[3513] Forked 2588 -(2588) found -[3512] Forked 2589 -(2589) found -[3511] Forked 2590 -(2590) found -[3510] Forked 2591 -(2591) found -[3509] Forked 2592 -(2592) found -[3508] Forked 2593 -(2593) found -[3507] Forked 2594 -(2594) found -[3506] Forked 2595 -(2595) found -[3505] Forked 2596 -(2596) found -[3504] Forked 2597 -(2597) found -[3503] Forked 2598 -(2598) found -[3502] Forked 2599 -(2599) found -[3501] Forked 2600 -(2600) found -[3500] Forked 2601 -(2601) found -[3499] Forked 2602 -(2602) found -[3498] Forked 2603 -(2603) found -[3497] Forked 2604 -(2604) found -[3496] Forked 2605 -(2605) found -[3495] Forked 2606 -(2606) found -[3494] Forked 2607 -(2607) found -[3493] Forked 2608 -(2608) found -[3492] Forked 2609 -(2609) found -[3491] Forked 2610 -(2610) found -[3490] Forked 2611 -(2611) found -[3489] Forked 2612 -(2612) found -[3488] Forked 2613 -(2613) found -[3487] Forked 2614 -(2614) found -[3486] Forked 2615 -(2615) found -[3485] Forked 2616 -(2616) found -[3484] Forked 2617 -(2617) found -[3483] Forked 2618 -[3482] Forked 2619 -(2618) found -(2619) found -[3481] Forked 2620 -[3480] Forked 2621 -(2620) found -(2621) found -[3479] Forked 2622 -(2622) found -[3478] Forked 2623 -[3477] Forked 2624 -(2623) found -(2624) found -[3476] Forked 2625 -[3475] Forked 2626 -(2625) found -(2626) found -[3474] Forked 2627 -[3473] Forked 2628 -(2627) found -(2628) found -[3472] Forked 2629 -[3471] Forked 2630 -(2629) found -(2630) found -[3470] Forked 2631 -[3469] Forked 2632 -(2631) found -(2632) found -[3468] Forked 2633 -[3467] Forked 2634 -(2633) found -(2634) found -[3466] Forked 2635 -[3465] Forked 2636 -(2635) found -(2636) found -[3464] Forked 2637 -[3463] Forked 2638 -(2637) found -(2638) found -[3462] Forked 2639 -[3461] Forked 2640 -(2639) found -(2640) found -[3460] Forked 2641 -[3459] Forked 2642 -(2641) found -(2642) found -[3458] Forked 2643 -[3457] Forked 2644 -(2643) found -(2644) found -[3456] Forked 2645 -[3455] Forked 2646 -(2645) found -(2646) found -[3454] Forked 2647 -[3453] Forked 2648 -(2647) found -(2648) found -[3452] Forked 2649 -[3451] Forked 2650 -(2649) found -(2650) found -[3450] Forked 2651 -[3449] Forked 2652 -(2651) found -(2652) found -[3448] Forked 2653 -[3447] Forked 2654 -(2653) found -(2654) found -[3446] Forked 2655 -[3445] Forked 2659 -(2655) found -(2659) found -[3444] Forked 2662 -[3443] Forked 2663 -(2662) found -(2663) found -[3442] Forked 2664 -[3441] Forked 2665 -(2664) found -(2665) found -[3440] Forked 2666 -(2666) found -[3439] Forked 2668 -(2668) found -[3438] Forked 2669 -(2669) found -[3437] Forked 2670 -(2670) found -[3436] Forked 2671 -(2671) found -[3435] Forked 2672 -(2672) found -[3434] Forked 2673 -(2673) found -[3433] Forked 2674 -(2674) found -[3432] Forked 2675 -(2675) found -[3431] Forked 2676 -(2676) found -[3430] Forked 2677 -(2677) found -[3429] Forked 2678 -(2678) found -[3428] Forked 2679 -(2679) found -[3427] Forked 2680 -(2680) found -[3426] Forked 2681 -(2681) found -[3425] Forked 2682 -(2682) found -[3424] Forked 2683 -(2683) found -[3423] Forked 2684 -(2684) found -[3422] Forked 2685 -(2685) found -[3421] Forked 2686 -(2686) found -[3420] Forked 2687 -(2687) found -[3419] Forked 2688 -(2688) found -[3418] Forked 2689 -(2689) found -[3417] Forked 2690 -(2690) found -[3416] Forked 2691 -(2691) found -[3415] Forked 2692 -(2692) found -[3414] Forked 2693 -(2693) found -[3413] Forked 2694 -(2694) found -[3412] Forked 2695 -(2695) found -[3411] Forked 2696 -(2696) found -[3410] Forked 2697 -(2697) found -[3409] Forked 2698 -(2698) found -[3408] Forked 2699 -(2699) found -[3407] Forked 2700 -(2700) found -[3406] Forked 2701 -(2701) found -[3405] Forked 2703 -(2703) found -[3404] Forked 2704 -[3403] Forked 2705 -(2704) found -(2705) found -[3402] Forked 2706 -(2706) found -[3401] Forked 2707 -(2707) found -[3400] Forked 2708 -(2708) found -[3399] Forked 2709 -(2709) found -[3398] Forked 2710 -[3397] Forked 2711 -(2710) found -(2711) found -[3396] Forked 2712 -[3395] Forked 2713 -(2712) found -(2713) found -[3394] Forked 2714 -[3393] Forked 2715 -(2714) found -(2715) found -[3392] Forked 2716 -[3391] Forked 2717 -(2716) found -(2717) found -[3390] Forked 2718 -[3389] Forked 2719 -(2718) found -(2719) found -[3388] Forked 2720 -[3387] Forked 2723 -(2720) found -(2723) found -[3386] Forked 2725 -[3385] Forked 2728 -(2725) found -(2728) found -[3384] Forked 2729 -[3383] Forked 2730 -(2729) found -(2730) found -[3382] Forked 2731 -[3381] Forked 2732 -(2731) found -(2732) found -[3380] Forked 2733 -[3379] Forked 2734 -(2733) found -(2734) found -[3378] Forked 2735 -[3377] Forked 2736 -(2735) found -(2736) found -[3376] Forked 2737 -[3375] Forked 2738 -(2737) found -(2738) found -[3374] Forked 2739 -[3373] Forked 2740 -(2739) found -(2740) found -[3372] Forked 2741 -[3371] Forked 2742 -(2741) found -(2742) found -[3370] Forked 2743 -[3369] Forked 2745 -(2743) found -(2745) found -[3368] Forked 2746 -(2746) found -[3367] Forked 2747 -(2747) found -[3366] Forked 2748 -(2748) found -[3365] Forked 2749 -(2749) found -[3364] Forked 2750 -(2750) found -[3363] Forked 2751 -(2751) found -[3362] Forked 2752 -(2752) found -[3361] Forked 2753 -(2753) found -[3360] Forked 2754 -(2754) found -[3359] Forked 2755 -(2755) found -[3358] Forked 2756 -(2756) found -[3357] Forked 2757 -(2757) found -[3356] Forked 2758 -(2758) found -[3355] Forked 2760 -(2760) found -[3354] Forked 2761 -(2761) found -[3353] Forked 2762 -(2762) found -[3352] Forked 2763 -(2763) found -[3351] Forked 2764 -(2764) found -[3350] Forked 2765 -(2765) found -[3349] Forked 2766 -(2766) found -[3348] Forked 2767 -(2767) found -[3347] Forked 2768 -(2768) found -[3346] Forked 2769 -(2769) found -[3345] Forked 2770 -(2770) found -[3344] Forked 2771 -(2771) found -[3343] Forked 2772 -(2772) found -[3342] Forked 2773 -(2773) found -[3341] Forked 2774 -(2774) found -[3340] Forked 2775 -(2775) found -[3339] Forked 2776 -(2776) found -[3338] Forked 2777 -(2777) found -[3337] Forked 2778 -(2778) found -[3336] Forked 2779 -(2779) found -[3335] Forked 2780 -(2780) found -[3334] Forked 2781 -(2781) found -[3333] Forked 2782 -(2782) found -[3332] Forked 2783 -(2783) found -[3331] Forked 2784 -(2784) found -[3330] Forked 2785 -(2785) found -[3329] Forked 2786 -(2786) found -[3328] Forked 2787 -(2787) found -[3327] Forked 2788 -(2788) found -[3326] Forked 2789 -(2789) found -[3325] Forked 2790 -(2790) found -[3324] Forked 2791 -(2791) found -[3323] Forked 2792 -(2792) found -[3322] Forked 2793 -(2793) found -[3321] Forked 2794 -[3320] Forked 2795 -(2795) found -(2794) found -[3319] Forked 2796 -(2796) found -[3318] Forked 2797 -(2797) found -[3317] Forked 2798 -(2798) found -[3316] Forked 2799 -(2799) found -[3315] Forked 2800 -(2800) found -[3314] Forked 2801 -(2801) found -[3313] Forked 2802 -(2802) found -[3312] Forked 2803 -(2803) found -[3311] Forked 2804 -(2804) found -[3310] Forked 2805 -(2805) found -[3309] Forked 2806 -(2806) found -[3308] Forked 2807 -(2807) found -[3307] Forked 2808 -(2808) found -[3306] Forked 2809 -(2809) found -[3305] Forked 2810 -(2810) found -[3304] Forked 2811 -(2811) found -[3303] Forked 2812 -(2812) found -[3302] Forked 2813 -(2813) found -[3301] Forked 2814 -(2814) found -[3300] Forked 2815 -(2815) found -[3299] Forked 2816 -(2816) found -[3298] Forked 2817 -(2817) found -[3297] Forked 2818 -(2818) found -[3296] Forked 2819 -(2819) found -[3295] Forked 2820 -(2820) found -[3294] Forked 2821 -(2821) found -[3293] Forked 2822 -(2822) found -[3292] Forked 2823 -(2823) found -[3291] Forked 2824 -(2824) found -[3290] Forked 2825 -(2825) found -[3289] Forked 2826 -(2826) found -[3288] Forked 2827 -(2827) found -[3287] Forked 2830 -(2830) found -[3286] Forked 2831 -(2831) found -[3285] Forked 2832 -(2832) found -[3284] Forked 2833 -(2833) found -[3283] Forked 2834 -(2834) found -[3282] Forked 2835 -(2835) found -[3281] Forked 2836 -(2836) found -[3280] Forked 2837 -(2837) found -[3279] Forked 2838 -(2838) found -[3278] Forked 2839 -(2839) found -[3277] Forked 2840 -(2840) found -[3276] Forked 2841 -(2841) found -[3275] Forked 2843 -(2843) found -[3274] Forked 2844 -(2844) found -[3273] Forked 2845 -(2845) found -[3272] Forked 2846 -(2846) found -[3271] Forked 2847 -(2847) found -[3270] Forked 2848 -(2848) found -[3269] Forked 2849 -(2849) found -[3268] Forked 2850 -(2850) found -[3267] Forked 2851 -(2851) found -[3266] Forked 2852 -(2852) found -[3265] Forked 2853 -(2853) found -[3264] Forked 2854 -(2854) found -[3263] Forked 2855 -(2855) found -[3262] Forked 2856 -(2856) found -[3261] Forked 2857 -(2857) found -[3260] Forked 2858 -(2858) found -[3259] Forked 2859 -(2859) found -[3258] Forked 2860 -(2860) found -[3257] Forked 2861 -(2861) found -[3256] Forked 2862 -(2862) found -[3255] Forked 2863 -(2863) found -[3254] Forked 2864 -(2864) found -[3253] Forked 2865 -(2865) found -[3252] Forked 2866 -(2866) found -[3251] Forked 2867 -(2867) found -[3250] Forked 2868 -[3249] Forked 2869 -(2868) found -(2869) found -[3248] Forked 2870 -[3247] Forked 2871 -(2870) found -(2871) found -[3246] Forked 2872 -[3245] Forked 2873 -(2872) found -(2873) found -[3244] Forked 2874 -[3243] Forked 2875 -(2874) found -(2875) found -[3242] Forked 2876 -[3241] Forked 2877 -(2876) found -(2877) found -[3240] Forked 2878 -[3239] Forked 2879 -(2878) found -(2879) found -[3238] Forked 2880 -[3237] Forked 2881 -(2880) found -(2881) found -[3236] Forked 2882 -[3235] Forked 2883 -(2882) found -(2883) found -[3234] Forked 2884 -[3233] Forked 2885 -(2884) found -(2885) found -[3232] Forked 2886 -[3231] Forked 2887 -(2886) found -(2887) found -[3230] Forked 2888 -[3229] Forked 2889 -(2888) found -(2889) found -[3228] Forked 2890 -[3227] Forked 2891 -(2890) found -(2891) found -[3226] Forked 2892 -[3225] Forked 2893 -(2892) found -(2893) found -[3224] Forked 2894 -[3223] Forked 2895 -(2894) found -(2895) found -[3222] Forked 2896 -[3221] Forked 2897 -(2896) found -(2897) found -[3220] Forked 2898 -[3219] Forked 2899 -(2898) found -(2899) found -[3218] Forked 2900 -[3217] Forked 2901 -(2900) found -(2901) found -[3216] Forked 2902 -[3215] Forked 2903 -(2902) found -(2903) found -[3214] Forked 2904 -[3213] Forked 2905 -(2904) found -(2905) found -[3212] Forked 2906 -[3211] Forked 2908 -(2906) found -(2908) found -[3210] Forked 2909 -(2909) found -[3209] Forked 2910 -(2910) found -[3208] Forked 2911 -(2911) found -[3207] Forked 2912 -(2912) found -[3206] Forked 2913 -(2913) found -[3205] Forked 2914 -(2914) found -[3204] Forked 2915 -(2915) found -[3203] Forked 2916 -(2916) found -[3202] Forked 2917 -(2917) found -[3201] Forked 2918 -(2918) found -[3200] Forked 2919 -(2919) found -[3199] Forked 2920 -(2920) found -[3198] Forked 2921 -(2921) found -[3197] Forked 2922 -(2922) found -[3196] Forked 2923 -(2923) found -[3195] Forked 2924 -(2924) found -[3194] Forked 2925 -(2925) found -[3193] Forked 2926 -(2926) found -[3192] Forked 2927 -(2927) found -[3191] Forked 2928 -(2928) found -[3190] Forked 2929 -(2929) found -[3189] Forked 2930 -(2930) found -[3188] Forked 2932 -(2932) found -[3187] Forked 2933 -(2933) found -[3186] Forked 2934 -(2934) found -[3185] Forked 2935 -(2935) found -[3184] Forked 2936 -(2936) found -[3183] Forked 2937 -(2937) found -[3182] Forked 2938 -(2938) found -[3181] Forked 2939 -(2939) found -[3180] Forked 2940 -(2940) found -[3179] Forked 2941 -(2941) found -[3178] Forked 2942 -(2942) found -[3177] Forked 2943 -(2943) found -[3176] Forked 2944 -(2944) found -[3175] Forked 2945 -(2945) found -[3174] Forked 2946 -[3173] Forked 2947 -(2946) found -(2947) found -[3172] Forked 2948 -[3171] Forked 2949 -(2948) found -(2949) found -[3170] Forked 2950 -[3169] Forked 2951 -(2950) found -(2951) found -[3168] Forked 2952 -[3167] Forked 2953 -(2952) found -(2953) found -[3166] Forked 2956 -[3165] Forked 2957 -(2956) found -(2957) found -[3164] Forked 2958 -[3163] Forked 2959 -(2958) found -(2959) found -[3162] Forked 2960 -[3161] Forked 2961 -(2960) found -(2961) found -[3160] Forked 2962 -[3159] Forked 2963 -(2962) found -(2963) found -[3158] Forked 2964 -[3157] Forked 2965 -(2964) found -(2965) found -[3156] Forked 2966 -[3155] Forked 2967 -(2966) found -(2967) found -[3154] Forked 2968 -[3153] Forked 2969 -(2968) found -(2969) found -[3152] Forked 2970 -[3151] Forked 2971 -(2970) found -(2971) found -[3150] Forked 2972 -[3149] Forked 2973 -(2972) found -(2973) found -[3148] Forked 2974 -[3147] Forked 2975 -(2974) found -(2975) found -[3146] Forked 2976 -[3145] Forked 2977 -(2976) found -(2977) found -[3144] Forked 2978 -[3143] Forked 2979 -(2978) found -(2979) found -[3142] Forked 2980 -[3141] Forked 2981 -(2980) found -(2981) found -[3140] Forked 2983 -[3139] Forked 2984 -(2983) found -(2984) found -[3138] Forked 2987 -[3137] Forked 2992 -(2987) found -(2992) found -[3136] Forked 3049 -[3135] Forked 3050 -(3049) found -(3050) found -[3134] Forked 3051 -[3133] Forked 3052 -(3051) found -(3052) found -[3132] Forked 3053 -[3131] Forked 3054 -(3053) found -(3054) found -[3130] Forked 3055 -[3129] Forked 3056 -(3055) found -(3056) found -[3128] Forked 3057 -[3127] Forked 3058 -(3057) found -(3058) found -[3126] Forked 3059 -(3059) found -[3125] Forked 3060 -(3060) found -[3124] Forked 3061 -(3061) found -[3123] Forked 3062 -(3062) found -[3122] Forked 3063 -(3063) found -[3121] Forked 3064 -(3064) found -[3120] Forked 3065 -(3065) found -[3119] Forked 3066 -(3066) found -[3118] Forked 3067 -(3067) found -[3117] Forked 3068 -(3068) found -[3116] Forked 3069 -(3069) found -[3115] Forked 3070 -(3070) found -[3114] Forked 3071 -(3071) found -[3113] Forked 3072 -(3072) found -[3112] Forked 3073 -(3073) found -[3111] Forked 3074 -(3074) found -[3110] Forked 3075 -(3075) found -[3109] Forked 3076 -(3076) found -[3108] Forked 3077 -(3077) found -[3107] Forked 3078 -(3078) found -[3106] Forked 3079 -(3079) found -[3105] Forked 3080 -(3080) found -[3104] Forked 3081 -(3081) found -[3103] Forked 3082 -(3082) found -[3102] Forked 3083 -(3083) found -[3101] Forked 3085 -(3085) found -[3100] Forked 3086 -(3086) found -[3099] Forked 3087 -(3087) found -[3098] Forked 3088 -(3088) found -[3097] Forked 3089 -(3089) found -[3096] Forked 3090 -(3090) found -[3095] Forked 3091 -(3091) found -[3094] Forked 3093 -(3093) found -[3093] Forked 3094 -(3094) found -[3092] Forked 3095 -(3095) found -[3091] Forked 3096 -[3090] Forked 3097 -(3096) found -(3097) found -[3089] Forked 3098 -[3088] Forked 3099 -(3098) found -(3099) found -[3087] Forked 3101 -[3086] Forked 3102 -(3101) found -(3102) found -[3085] Forked 3103 -[3084] Forked 3104 -(3103) found -(3104) found -[3083] Forked 3105 -[3082] Forked 3106 -(3105) found -(3106) found -[3081] Forked 3107 -[3080] Forked 3108 -(3107) found -(3108) found -[3079] Forked 3109 -[3078] Forked 3110 -(3109) found -(3110) found -[3077] Forked 3112 -[3076] Forked 3113 -(3112) found -(3113) found -[3075] Forked 3114 -[3074] Forked 3115 -(3114) found -(3115) found -[3073] Forked 3116 -[3072] Forked 3117 -(3116) found -(3117) found -[3071] Forked 3118 -[3070] Forked 3119 -(3118) found -(3119) found -[3069] Forked 3120 -[3068] Forked 3121 -(3120) found -(3121) found -[3067] Forked 3123 -[3066] Forked 3124 -(3123) found -(3124) found -[3065] Forked 3126 -[3064] Forked 3128 -(3126) found -(3128) found -[3063] Forked 3129 -[3062] Forked 3130 -(3129) found -(3130) found -[3061] Forked 3131 -[3060] Forked 3132 -(3131) found -(3132) found -[3059] Forked 3133 -[3058] Forked 3134 -(3133) found -(3134) found -[3057] Forked 3135 -[3056] Forked 3136 -(3135) found -(3136) found -[3055] Forked 3137 -[3054] Forked 3138 -(3137) found -(3138) found -[3053] Forked 3139 -[3052] Forked 3140 -(3139) found -(3140) found -[3051] Forked 3141 -[3050] Forked 3142 -(3141) found -(3142) found -[3049] Forked 3143 -[3048] Forked 3144 -(3143) found -(3144) found -[3047] Forked 3145 -[3046] Forked 3147 -(3145) found -(3147) found -[3045] Forked 3148 -[3044] Forked 3149 -(3148) found -(3149) found -[3043] Forked 3150 -(3150) found -[3042] Forked 3151 -(3151) found -[3041] Forked 3152 -(3152) found -[3040] Forked 3153 -(3153) found -[3039] Forked 3154 -(3154) found -[3038] Forked 3155 -(3155) found -[3037] Forked 3156 -(3156) found -[3036] Forked 3157 -(3157) found -[3035] Forked 3158 -(3158) found -[3034] Forked 3159 -(3159) found -[3033] Forked 3160 -(3160) found -[3032] Forked 3163 -(3163) found -[3031] Forked 3164 -(3164) found -[3030] Forked 3165 -(3165) found -[3029] Forked 3166 -(3166) found -[3028] Forked 3167 -(3167) found -[3027] Forked 3168 -(3168) found -[3026] Forked 3169 -(3169) found -[3025] Forked 3170 -(3170) found -[3024] Forked 3171 -(3171) found -[3023] Forked 3172 -(3172) found -[3022] Forked 3173 -(3173) found -[3021] Forked 3174 -(3174) found -[3020] Forked 3175 -(3175) found -[3019] Forked 3176 -(3176) found -[3018] Forked 3177 -(3177) found -[3017] Forked 3178 -(3178) found -[3016] Forked 3179 -(3179) found -[3015] Forked 3180 -(3180) found -[3014] Forked 3181 -(3181) found -[3013] Forked 3182 -(3182) found -[3012] Forked 3183 -(3183) found -[3011] Forked 3184 -(3184) found -[3010] Forked 3185 -(3185) found -[3009] Forked 3186 -(3186) found -[3008] Forked 3187 -[3007] Forked 3188 -(3187) found -(3188) found -[3006] Forked 3189 -[3005] Forked 3190 -(3189) found -(3190) found -[3004] Forked 3191 -[3003] Forked 3192 -(3191) found -(3192) found -[3002] Forked 3195 -[3001] Forked 3196 -(3195) found -(3196) found -[3000] Forked 3197 -[2999] Forked 3198 -(3197) found -(3198) found -[2998] Forked 3199 -[2997] Forked 3200 -(3199) found -(3200) found -[2996] Forked 3201 -[2995] Forked 3202 -(3201) found -(3202) found -[2994] Forked 3203 -[2993] Forked 3204 -(3203) found -(3204) found -[2992] Forked 3205 -[2991] Forked 3206 -(3205) found -(3206) found -[2990] Forked 3207 -[2989] Forked 3208 -(3207) found -(3208) found -[2988] Forked 3209 -[2987] Forked 3210 -(3209) found -(3210) found -[2986] Forked 3211 -[2985] Forked 3212 -(3211) found -(3212) found -[2984] Forked 3213 -[2983] Forked 3214 -(3213) found -(3214) found -[2982] Forked 3215 -[2981] Forked 3216 -(3215) found -(3216) found -[2980] Forked 3217 -[2979] Forked 3218 -(3217) found -(3218) found -[2978] Forked 3219 -[2977] Forked 3220 -(3219) found -(3220) found -[2976] Forked 3221 -[2975] Forked 3222 -(3221) found -(3222) found -[2974] Forked 3223 -[2973] Forked 3224 -(3223) found -(3224) found -[2972] Forked 3225 -[2971] Forked 3227 -(3225) found -(3227) found -[2970] Forked 3228 -[2969] Forked 3229 -(3228) found -(3229) found -[2968] Forked 3230 -[2967] Forked 3231 -(3230) found -(3231) found -[2966] Forked 3232 -[2965] Forked 3233 -(3232) found -(3233) found -[2964] Forked 3234 -[2963] Forked 3235 -(3234) found -(3235) found -[2962] Forked 3236 -(3236) found -[2961] Forked 3237 -(3237) found -[2960] Forked 3238 -(3238) found -[2959] Forked 3239 -(3239) found -[2958] Forked 3240 -(3240) found -[2957] Forked 3241 -(3241) found -[2956] Forked 3242 -(3242) found -[2955] Forked 3243 -(3243) found -[2954] Forked 3244 -(3244) found -[2953] Forked 3245 -(3245) found -[2952] Forked 3246 -(3246) found -[2951] Forked 3247 -(3247) found -[2950] Forked 3249 -(3249) found -[2949] Forked 3250 -(3250) found -[2948] Forked 3251 -(3251) found -[2947] Forked 3252 -(3252) found -[2946] Forked 3253 -(3253) found -[2945] Forked 3254 -(3254) found -[2944] Forked 3255 -(3255) found -[2943] Forked 3256 -(3256) found -[2942] Forked 3257 -(3257) found -[2941] Forked 3258 -(3258) found -[2940] Forked 3259 -(3259) found -[2939] Forked 3260 -(3260) found -[2938] Forked 3261 -(3261) found -[2937] Forked 3262 -(3262) found -[2936] Forked 3263 -(3263) found -[2935] Forked 3264 -(3264) found -[2934] Forked 3265 -(3265) found -[2933] Forked 3266 -(3266) found -[2932] Forked 3267 -(3267) found -[2931] Forked 3268 -(3268) found -[2930] Forked 3269 -(3269) found -[2929] Forked 3270 -(3270) found -[2928] Forked 3271 -[2927] Forked 3272 -(3271) found -(3272) found -[2926] Forked 3273 -[2925] Forked 3274 -(3273) found -(3274) found -[2924] Forked 3275 -[2923] Forked 3276 -(3275) found -(3276) found -[2922] Forked 3277 -[2921] Forked 3278 -(3277) found -(3278) found -[2920] Forked 3279 -[2919] Forked 3280 -(3279) found -(3280) found -[2918] Forked 3281 -[2917] Forked 3282 -(3281) found -(3282) found -[2916] Forked 3283 -[2915] Forked 3284 -(3283) found -(3284) found -[2914] Forked 3285 -[2913] Forked 3286 -(3285) found -(3286) found -[2912] Forked 3287 -[2911] Forked 3288 -(3287) found -(3288) found -[2910] Forked 3289 -[2909] Forked 3290 -(3289) found -(3290) found -[2908] Forked 3291 -[2907] Forked 3292 -(3291) found -(3292) found -[2906] Forked 3293 -[2905] Forked 3294 -(3293) found -(3294) found -[2904] Forked 3295 -[2903] Forked 3296 -(3295) found -(3296) found -[2902] Forked 3297 -[2901] Forked 3298 -(3297) found -(3298) found -[2900] Forked 3299 -[2899] Forked 3300 -(3299) found -(3300) found -[2898] Forked 3301 -[2897] Forked 3302 -(3301) found -(3302) found -[2896] Forked 3303 -[2895] Forked 3304 -(3303) found -(3304) found -[2894] Forked 3305 -[2893] Forked 3306 -(3305) found -(3306) found -[2892] Forked 3307 -[2891] Forked 3308 -(3307) found -(3308) found -[2890] Forked 3309 -[2889] Forked 3310 -(3309) found -(3310) found -[2888] Forked 3311 -[2887] Forked 3312 -(3311) found -(3312) found -[2886] Forked 3313 -[2885] Forked 3314 -(3313) found -(3314) found -[2884] Forked 3315 -[2883] Forked 3317 -(3315) found -(3317) found -[2882] Forked 3318 -[2881] Forked 3319 -(3318) found -(3319) found -[2880] Forked 3320 -[2879] Forked 3321 -(3320) found -(3321) found -[2878] Forked 3322 -[2877] Forked 3323 -(3322) found -(3323) found -[2876] Forked 3324 -[2875] Forked 3325 -(3324) found -(3325) found -[2874] Forked 3326 -[2873] Forked 3327 -(3326) found -(3327) found -[2872] Forked 3333 -[2871] Forked 3334 -(3333) found -(3334) found -[2870] Forked 3335 -[2869] Forked 3336 -(3335) found -(3336) found -[2868] Forked 3337 -[2867] Forked 3338 -(3337) found -(3338) found -[2866] Forked 3339 -[2865] Forked 3340 -(3339) found -(3340) found -[2864] Forked 3341 -[2863] Forked 3342 -(3341) found -(3342) found -[2862] Forked 3343 -[2861] Forked 3344 -(3343) found -(3344) found -[2860] Forked 3345 -[2859] Forked 3347 -(3345) found -(3347) found -[2858] Forked 3348 -[2857] Forked 3349 -(3348) found -(3349) found -[2856] Forked 3350 -[2855] Forked 3351 -(3350) found -(3351) found -[2854] Forked 3352 -[2853] Forked 3353 -(3352) found -(3353) found -[2852] Forked 3354 -[2851] Forked 3355 -(3354) found -(3355) found -[2850] Forked 3356 -[2849] Forked 3357 -(3356) found -(3357) found -[2848] Forked 3358 -[2847] Forked 3359 -(3358) found -(3359) found -[2846] Forked 3360 -[2845] Forked 3361 -(3360) found -(3361) found -[2844] Forked 3362 -[2843] Forked 3363 -(3362) found -(3363) found -[2842] Forked 3364 -[2841] Forked 3366 -(3364) found -(3366) found -[2840] Forked 3367 -(3367) found -[2839] Forked 3368 -(3368) found -[2838] Forked 3369 -(3369) found -[2837] Forked 3370 -(3370) found -[2836] Forked 3371 -(3371) found -[2835] Forked 3372 -(3372) found -[2834] Forked 3373 -(3373) found -[2833] Forked 3382 -(3382) found -[2832] Forked 3383 -(3383) found -[2831] Forked 3384 -(3384) found -[2830] Forked 3385 -(3385) found -[2829] Forked 3386 -(3386) found -[2828] Forked 3387 -(3387) found -[2827] Forked 3388 -(3388) found -[2826] Forked 3389 -(3389) found -[2825] Forked 3390 -(3390) found -[2824] Forked 3391 -(3391) found -[2823] Forked 3392 -(3392) found -[2822] Forked 3393 -(3393) found -[2821] Forked 3394 -(3394) found -[2820] Forked 3395 -(3395) found -[2819] Forked 3396 -(3396) found -[2818] Forked 3397 -(3397) found -[2817] Forked 3398 -(3398) found -[2816] Forked 3399 -(3399) found -[2815] Forked 3401 -(3401) found -[2814] Forked 3402 -(3402) found -[2813] Forked 3403 -(3403) found -[2812] Forked 3404 -(3404) found -[2811] Forked 3405 -(3405) found -[2810] Forked 3406 -(3406) found -[2809] Forked 3407 -(3407) found -[2808] Forked 3408 -(3408) found -[2807] Forked 3409 -(3409) found -[2806] Forked 3410 -(3410) found -[2805] Forked 3411 -(3411) found -[2804] Forked 3412 -(3412) found -[2803] Forked 3413 -(3413) found -[2802] Forked 3414 -(3414) found -[2801] Forked 3415 -[2800] Forked 3416 -(3415) found -(3416) found -[2799] Forked 3417 -[2798] Forked 3418 -(3417) found -(3418) found -[2797] Forked 3419 -[2796] Forked 3420 -(3419) found -(3420) found -[2795] Forked 3421 -[2794] Forked 3422 -(3421) found -(3422) found -[2793] Forked 3423 -[2792] Forked 3424 -(3423) found -(3424) found -[2791] Forked 3425 -[2790] Forked 3426 -(3425) found -(3426) found -[2789] Forked 3427 -[2788] Forked 3428 -(3427) found -(3428) found -[2787] Forked 3429 -[2786] Forked 3430 -(3429) found -(3430) found -[2785] Forked 3431 -[2784] Forked 3432 -(3431) found -(3432) found -[2783] Forked 3433 -[2782] Forked 3434 -(3433) found -(3434) found -[2781] Forked 3435 -[2780] Forked 3436 -(3435) found -(3436) found -[2779] Forked 3437 -[2778] Forked 3438 -(3437) found -(3438) found -[2777] Forked 3439 -[2776] Forked 3440 -(3439) found -(3440) found -[2775] Forked 3441 -[2774] Forked 3442 -(3441) found -(3442) found -[2773] Forked 3443 -[2772] Forked 3444 -(3443) found -(3444) found -[2771] Forked 3445 -[2770] Forked 3446 -(3445) found -(3446) found -[2769] Forked 3447 -[2768] Forked 3448 -(3447) found -(3448) found -[2767] Forked 3449 -[2766] Forked 3450 -(3449) found -(3450) found -[2765] Forked 3451 -[2764] Forked 3452 -(3451) found -(3452) found -[2763] Forked 3453 -[2762] Forked 3454 -(3453) found -(3454) found -[2761] Forked 3455 -[2760] Forked 3456 -(3455) found -(3456) found -[2759] Forked 3457 -[2758] Forked 3458 -(3457) found -(3458) found -[2757] Forked 3459 -(3459) found -[2756] Forked 3460 -(3460) found -[2755] Forked 3461 -(3461) found -[2754] Forked 3462 -(3462) found -[2753] Forked 3463 -(3463) found -[2752] Forked 3464 -(3464) found -[2751] Forked 3465 -(3465) found -[2750] Forked 3466 -(3466) found -[2749] Forked 3467 -(3467) found -[2748] Forked 3468 -(3468) found -[2747] Forked 3469 -(3469) found -[2746] Forked 3470 -(3470) found -[2745] Forked 3471 -(3471) found -[2744] Forked 3472 -(3472) found -[2743] Forked 3473 -(3473) found -[2742] Forked 3474 -(3474) found -[2741] Forked 3475 -(3475) found -[2740] Forked 3476 -(3476) found -[2739] Forked 3477 -(3477) found -[2738] Forked 3478 -(3478) found -[2737] Forked 3479 -(3479) found -[2736] Forked 3480 -(3480) found -[2735] Forked 3481 -(3481) found -[2734] Forked 3482 -(3482) found -[2733] Forked 3483 -(3483) found -[2732] Forked 3484 -(3484) found -[2731] Forked 3485 -(3485) found -[2730] Forked 3486 -(3486) found -[2729] Forked 3487 -(3487) found -[2728] Forked 3488 -(3488) found -[2727] Forked 3489 -(3489) found -[2726] Forked 3490 -(3490) found -[2725] Forked 3491 -(3491) found -[2724] Forked 3492 -(3492) found -[2723] Forked 3493 -(3493) found -[2722] Forked 3494 -(3494) found -[2721] Forked 3495 -(3495) found -[2720] Forked 3496 -[2719] Forked 3497 -(3496) found -(3497) found -[2718] Forked 3498 -[2717] Forked 3499 -(3498) found -(3499) found -[2716] Forked 3500 -[2715] Forked 3501 -(3500) found -(3501) found -[2714] Forked 3502 -[2713] Forked 3503 -(3502) found -(3503) found -[2712] Forked 3504 -[2711] Forked 3505 -(3504) found -(3505) found -[2710] Forked 3506 -[2709] Forked 3507 -(3506) found -(3507) found -[2708] Forked 3508 -[2707] Forked 3509 -(3508) found -(3509) found -[2706] Forked 3510 -[2705] Forked 3511 -(3510) found -(3511) found -[2704] Forked 3512 -[2703] Forked 3513 -(3512) found -(3513) found -[2702] Forked 3514 -[2701] Forked 3515 -(3514) found -(3515) found -[2700] Forked 3516 -[2699] Forked 3517 -(3516) found -(3517) found -[2698] Forked 3518 -[2697] Forked 3519 -(3518) found -(3519) found -[2696] Forked 3520 -[2695] Forked 3521 -(3520) found -(3521) found -[2694] Forked 3522 -[2693] Forked 3523 -(3522) found -(3523) found -[2692] Forked 3524 -[2691] Forked 3525 -(3524) found -(3525) found -[2690] Forked 3526 -[2689] Forked 3527 -(3526) found -(3527) found -[2688] Forked 3528 -[2687] Forked 3529 -(3528) found -(3529) found -[2686] Forked 3530 -[2685] Forked 3531 -(3530) found -(3531) found -[2684] Forked 3532 -[2683] Forked 3533 -(3532) found -(3533) found -[2682] Forked 3534 -[2681] Forked 3535 -(3534) found -(3535) found -[2680] Forked 3536 -[2679] Forked 3537 -(3536) found -(3537) found -[2678] Forked 3538 -[2677] Forked 3539 -(3538) found -(3539) found -[2676] Forked 3540 -(3540) found -[2675] Forked 3541 -(3541) found -[2674] Forked 3542 -(3542) found -[2673] Forked 3543 -(3543) found -[2672] Forked 3544 -(3544) found -[2671] Forked 3545 -(3545) found -[2670] Forked 3546 -(3546) found -[2669] Forked 3547 -(3547) found -[2668] Forked 3548 -(3548) found -[2667] Forked 3549 -(3549) found -[2666] Forked 3550 -(3550) found -[2665] Forked 3551 -(3551) found -[2664] Forked 3552 -(3552) found -[2663] Forked 3553 -(3553) found -[2662] Forked 3554 -(3554) found -[2661] Forked 3555 -(3555) found -[2660] Forked 3556 -(3556) found -[2659] Forked 3557 -(3557) found -[2658] Forked 3558 -(3558) found -[2657] Forked 3559 -(3559) found -[2656] Forked 3560 -(3560) found -[2655] Forked 3561 -(3561) found -[2654] Forked 3562 -(3562) found -[2653] Forked 3563 -(3563) found -[2652] Forked 3564 -(3564) found -[2651] Forked 3565 -(3565) found -[2650] Forked 3566 -(3566) found -[2649] Forked 3567 -(3567) found -[2648] Forked 3568 -(3568) found -[2647] Forked 3569 -(3569) found -[2646] Forked 3570 -(3570) found -[2645] Forked 3571 -(3571) found -[2644] Forked 3572 -(3572) found -[2643] Forked 3573 -(3573) found -[2642] Forked 3574 -(3574) found -[2641] Forked 3575 -(3575) found -[2640] Forked 3576 -(3576) found -[2639] Forked 3577 -[2638] Forked 3578 -(3577) found -(3578) found -[2637] Forked 3579 -[2636] Forked 3580 -(3579) found -(3580) found -[2635] Forked 3581 -[2634] Forked 3582 -(3581) found -(3582) found -[2633] Forked 3583 -[2632] Forked 3584 -(3583) found -(3584) found -[2631] Forked 3585 -[2630] Forked 3586 -(3585) found -(3586) found -[2629] Forked 3587 -[2628] Forked 3588 -(3587) found -(3588) found -[2627] Forked 3589 -[2626] Forked 3590 -(3589) found -(3590) found -[2625] Forked 3591 -[2624] Forked 3592 -(3591) found -(3592) found -[2623] Forked 3593 -[2622] Forked 3594 -(3593) found -(3594) found -[2621] Forked 3595 -[2620] Forked 3596 -(3595) found -(3596) found -[2619] Forked 3597 -[2618] Forked 3598 -(3597) found -(3598) found -[2617] Forked 3599 -[2616] Forked 3600 -(3599) found -(3600) found -[2615] Forked 3601 -[2614] Forked 3602 -(3601) found -(3602) found -[2613] Forked 3603 -[2612] Forked 3604 -(3603) found -(3604) found -[2611] Forked 3605 -[2610] Forked 3606 -(3605) found -(3606) found -[2609] Forked 3607 -[2608] Forked 3608 -(3607) found -(3608) found -[2607] Forked 3609 -[2606] Forked 3610 -(3609) found -(3610) found -[2605] Forked 3611 -[2604] Forked 3612 -(3611) found -(3612) found -[2603] Forked 3613 -[2602] Forked 3614 -(3613) found -(3614) found -[2601] Forked 3615 -[2600] Forked 3616 -(3615) found -(3616) found -[2599] Forked 3617 -[2598] Forked 3618 -(3617) found -(3618) found -[2597] Forked 3619 -[2596] Forked 3620 -(3619) found -(3620) found -[2595] Forked 3621 -(3621) found -[2594] Forked 3622 -(3622) found -[2593] Forked 3623 -(3623) found -[2592] Forked 3624 -(3624) found -[2591] Forked 3625 -(3625) found -[2590] Forked 3626 -(3626) found -[2589] Forked 3627 -(3627) found -[2588] Forked 3628 -(3628) found -[2587] Forked 3629 -(3629) found -[2586] Forked 3630 -(3630) found -[2585] Forked 3631 -(3631) found -[2584] Forked 3632 -(3632) found -[2583] Forked 3633 -(3633) found -[2582] Forked 3634 -(3634) found -[2581] Forked 3635 -(3635) found -[2580] Forked 3636 -(3636) found -[2579] Forked 3637 -(3637) found -[2578] Forked 3638 -(3638) found -[2577] Forked 3639 -(3639) found -[2576] Forked 3640 -(3640) found -[2575] Forked 3641 -(3641) found -[2574] Forked 3642 -(3642) found -[2573] Forked 3643 -(3643) found -[2572] Forked 3644 -(3644) found -[2571] Forked 3645 -(3645) found -[2570] Forked 3646 -(3646) found -[2569] Forked 3647 -(3647) found -[2568] Forked 3648 -(3648) found -[2567] Forked 3649 -(3649) found -[2566] Forked 3650 -(3650) found -[2565] Forked 3651 -(3651) found -[2564] Forked 3652 -(3652) found -[2563] Forked 3653 -(3653) found -[2562] Forked 3654 -(3654) found -[2561] Forked 3655 -(3655) found -[2560] Forked 3656 -(3656) found -[2559] Forked 3658 -(3658) found -[2558] Forked 3659 -[2557] Forked 3660 -(3659) found -(3660) found -[2556] Forked 3661 -[2555] Forked 3662 -(3661) found -(3662) found -[2554] Forked 3663 -[2553] Forked 3664 -(3663) found -(3664) found -[2552] Forked 3665 -[2551] Forked 3666 -(3665) found -(3666) found -[2550] Forked 3667 -[2549] Forked 3669 -(3667) found -(3669) found -[2548] Forked 3670 -[2547] Forked 3671 -(3670) found -(3671) found -[2546] Forked 3672 -[2545] Forked 3673 -(3672) found -(3673) found -[2544] Forked 3674 -[2543] Forked 3675 -(3674) found -(3675) found -[2542] Forked 3676 -[2541] Forked 3677 -(3676) found -(3677) found -[2540] Forked 3678 -[2539] Forked 3679 -(3678) found -(3679) found -[2538] Forked 3680 -[2537] Forked 3681 -(3680) found -(3681) found -[2536] Forked 3682 -[2535] Forked 3683 -(3682) found -(3683) found -[2534] Forked 3684 -[2533] Forked 3685 -(3684) found -(3685) found -[2532] Forked 3686 -[2531] Forked 3687 -(3686) found -(3687) found -[2530] Forked 3688 -[2529] Forked 3689 -(3688) found -(3689) found -[2528] Forked 3690 -[2527] Forked 3691 -(3690) found -(3691) found -[2526] Forked 3692 -[2525] Forked 3693 -(3692) found -(3693) found -[2524] Forked 3694 -[2523] Forked 3695 -(3694) found -(3695) found -[2522] Forked 3696 -[2521] Forked 3697 -(3696) found -(3697) found -[2520] Forked 3698 -[2519] Forked 3700 -(3698) found -(3700) found -[2518] Forked 3701 -(3701) found -[2517] Forked 3702 -(3702) found -[2516] Forked 3703 -(3703) found -[2515] Forked 3704 -(3704) found -[2514] Forked 3705 -(3705) found -[2513] Forked 3706 -(3706) found -[2512] Forked 3707 -(3707) found -[2511] Forked 3708 -(3708) found -[2510] Forked 3709 -(3709) found -[2509] Forked 3710 -(3710) found -[2508] Forked 3711 -(3711) found -[2507] Forked 3712 -(3712) found -[2506] Forked 3713 -(3713) found -[2505] Forked 3714 -(3714) found -[2504] Forked 3715 -(3715) found -[2503] Forked 3716 -(3716) found -[2502] Forked 3717 -(3717) found -[2501] Forked 3718 -(3718) found -[2500] Forked 3719 -(3719) found -[2499] Forked 3720 -(3720) found -[2498] Forked 3721 -(3721) found -[2497] Forked 3722 -(3722) found -[2496] Forked 3723 -(3723) found -[2495] Forked 3724 -(3724) found -[2494] Forked 3725 -(3725) found -[2493] Forked 3726 -(3726) found -[2492] Forked 3727 -(3727) found -[2491] Forked 3728 -(3728) found -[2490] Forked 3729 -(3729) found -[2489] Forked 3730 -(3730) found -[2488] Forked 3731 -(3731) found -[2487] Forked 3732 -(3732) found -[2486] Forked 3733 -(3733) found -[2485] Forked 3734 -(3734) found -[2484] Forked 3735 -(3735) found -[2483] Forked 3736 -(3736) found -[2482] Forked 3737 -(3737) found -[2481] Forked 3738 -(3738) found -[2480] Forked 3739 -(3739) found -[2479] Forked 3740 -[2478] Forked 3741 -(3740) found -(3741) found -[2477] Forked 3742 -[2476] Forked 3743 -(3742) found -(3743) found -[2475] Forked 3744 -[2474] Forked 3745 -(3744) found -(3745) found -[2473] Forked 3746 -[2472] Forked 3747 -(3746) found -(3747) found -[2471] Forked 3748 -[2470] Forked 3749 -(3748) found -(3749) found -[2469] Forked 3750 -[2468] Forked 3751 -(3750) found -(3751) found -[2467] Forked 3752 -[2466] Forked 3753 -(3752) found -(3753) found -[2465] Forked 3754 -[2464] Forked 3755 -(3754) found -(3755) found -[2463] Forked 3756 -[2462] Forked 3757 -(3756) found -(3757) found -[2461] Forked 3758 -[2460] Forked 3759 -(3758) found -(3759) found -[2459] Forked 3760 -[2458] Forked 3761 -(3760) found -(3761) found -[2457] Forked 3762 -[2456] Forked 3763 -(3762) found -(3763) found -[2455] Forked 3764 -[2454] Forked 3765 -(3764) found -(3765) found -[2453] Forked 3766 -[2452] Forked 3767 -(3766) found -(3767) found -[2451] Forked 3768 -[2450] Forked 3769 -(3768) found -(3769) found -[2449] Forked 3770 -[2448] Forked 3771 -(3770) found -(3771) found -[2447] Forked 3772 -[2446] Forked 3773 -(3772) found -(3773) found -[2445] Forked 3774 -[2444] Forked 3775 -(3774) found -(3775) found -[2443] Forked 3776 -[2442] Forked 3778 -(3776) found -(3778) found -[2441] Forked 3779 -(3779) found -[2440] Forked 3780 -(3780) found -[2439] Forked 3781 -(3781) found -[2438] Forked 3782 -(3782) found -[2437] Forked 3783 -(3783) found -[2436] Forked 3784 -(3784) found -[2435] Forked 3785 -(3785) found -[2434] Forked 3786 -(3786) found -[2433] Forked 3787 -(3787) found -[2432] Forked 3788 -(3788) found -[2431] Forked 3789 -(3789) found -[2430] Forked 3790 -(3790) found -[2429] Forked 3791 -(3791) found -[2428] Forked 3792 -(3792) found -[2427] Forked 3793 -(3793) found -[2426] Forked 3794 -(3794) found -[2425] Forked 3795 -(3795) found -[2424] Forked 3796 -(3796) found -[2423] Forked 3797 -(3797) found -[2422] Forked 3798 -(3798) found -[2421] Forked 3799 -(3799) found -[2420] Forked 3800 -(3800) found -[2419] Forked 3801 -(3801) found -[2418] Forked 3802 -(3802) found -[2417] Forked 3803 -(3803) found -[2416] Forked 3804 -(3804) found -[2415] Forked 3805 -(3805) found -[2414] Forked 3806 -(3806) found -[2413] Forked 3807 -(3807) found -[2412] Forked 3808 -(3808) found -[2411] Forked 3809 -(3809) found -[2410] Forked 3810 -(3810) found -[2409] Forked 3811 -(3811) found -[2408] Forked 3812 -(3812) found -[2407] Forked 3813 -(3813) found -[2406] Forked 3814 -(3814) found -[2405] Forked 3815 -(3815) found -[2404] Forked 3816 -(3816) found -[2403] Forked 3817 -[2402] Forked 3818 -(3817) found -(3818) found -[2401] Forked 3819 -[2400] Forked 3820 -(3819) found -(3820) found -[2399] Forked 3821 -[2398] Forked 3822 -(3821) found -(3822) found -[2397] Forked 3823 -[2396] Forked 3824 -(3823) found -(3824) found -[2395] Forked 3825 -[2394] Forked 3826 -(3825) found -(3826) found -[2393] Forked 3827 -[2392] Forked 3828 -(3827) found -(3828) found -[2391] Forked 3829 -[2390] Forked 3830 -(3829) found -(3830) found -[2389] Forked 3831 -[2388] Forked 3832 -(3831) found -(3832) found -[2387] Forked 3833 -[2386] Forked 3834 -(3833) found -(3834) found -[2385] Forked 3835 -[2384] Forked 3836 -(3835) found -(3836) found -[2383] Forked 3837 -[2382] Forked 3838 -(3837) found -(3838) found -[2381] Forked 3839 -[2380] Forked 3840 -(3839) found -(3840) found -[2379] Forked 3841 -[2378] Forked 3842 -(3841) found -(3842) found -[2377] Forked 3843 -[2376] Forked 3844 -(3843) found -(3844) found -[2375] Forked 3845 -[2374] Forked 3846 -(3845) found -(3846) found -[2373] Forked 3847 -[2372] Forked 3848 -(3847) found -(3848) found -[2371] Forked 3849 -[2370] Forked 3850 -(3849) found -(3850) found -[2369] Forked 3851 -[2368] Forked 3852 -(3851) found -(3852) found -[2367] Forked 3853 -[2366] Forked 3854 -(3853) found -(3854) found -[2365] Forked 3855 -[2364] Forked 3856 -(3855) found -(3856) found -[2363] Forked 3857 -[2362] Forked 3858 -(3857) found -(3858) found -[2361] Forked 3859 -[2360] Forked 3860 -(3859) found -(3860) found -[2359] Forked 3861 -(3861) found -[2358] Forked 3862 -(3862) found -[2357] Forked 3863 -(3863) found -[2356] Forked 3864 -(3864) found -[2355] Forked 3865 -(3865) found -[2354] Forked 3866 -(3866) found -[2353] Forked 3867 -(3867) found -[2352] Forked 3868 -(3868) found -[2351] Forked 3869 -(3869) found -[2350] Forked 3870 -(3870) found -[2349] Forked 3871 -(3871) found -[2348] Forked 3872 -(3872) found -[2347] Forked 3873 -(3873) found -[2346] Forked 3874 -(3874) found -[2345] Forked 3875 -(3875) found -[2344] Forked 3876 -(3876) found -[2343] Forked 3877 -(3877) found -[2342] Forked 3878 -(3878) found -[2341] Forked 3879 -(3879) found -[2340] Forked 3880 -(3880) found -[2339] Forked 3881 -(3881) found -[2338] Forked 3882 -(3882) found -[2337] Forked 3883 -(3883) found -[2336] Forked 3884 -(3884) found -[2335] Forked 3885 -(3885) found -[2334] Forked 3886 -(3886) found -[2333] Forked 3887 -(3887) found -[2332] Forked 3888 -(3888) found -[2331] Forked 3889 -(3889) found -[2330] Forked 3890 -(3890) found -[2329] Forked 3891 -(3891) found -[2328] Forked 3892 -(3892) found -[2327] Forked 3893 -(3893) found -[2326] Forked 3894 -(3894) found -[2325] Forked 3895 -(3895) found -[2324] Forked 3896 -(3896) found -[2323] Forked 3897 -(3897) found -[2322] Forked 3898 -[2321] Forked 3899 -(3898) found -(3899) found -[2320] Forked 3900 -[2319] Forked 3901 -(3900) found -(3901) found -[2318] Forked 3902 -[2317] Forked 3903 -(3902) found -(3903) found -[2316] Forked 3904 -[2315] Forked 3905 -(3904) found -(3905) found -[2314] Forked 3906 -[2313] Forked 3907 -(3906) found -(3907) found -[2312] Forked 3908 -[2311] Forked 3909 -(3908) found -(3909) found -[2310] Forked 3910 -[2309] Forked 3911 -(3910) found -(3911) found -[2308] Forked 3912 -[2307] Forked 3913 -(3912) found -(3913) found -[2306] Forked 3914 -[2305] Forked 3915 -(3914) found -(3915) found -[2304] Forked 3916 -[2303] Forked 3917 -(3916) found -(3917) found -[2302] Forked 3918 -[2301] Forked 3919 -(3918) found -(3919) found -[2300] Forked 3920 -[2299] Forked 3921 -(3920) found -(3921) found -[2298] Forked 3922 -[2297] Forked 3923 -(3922) found -(3923) found -[2296] Forked 3924 -[2295] Forked 3926 -(3924) found -(3926) found -[2294] Forked 3927 -(3927) found -[2293] Forked 3928 -(3928) found -[2292] Forked 3929 -(3929) found -[2291] Forked 3930 -(3930) found -[2290] Forked 3931 -(3931) found -[2289] Forked 3932 -(3932) found -[2288] Forked 3933 -(3933) found -[2287] Forked 3934 -(3934) found -[2286] Forked 3935 -(3935) found -[2285] Forked 3936 -(3936) found -[2284] Forked 3937 -(3937) found -[2283] Forked 3938 -(3938) found -[2282] Forked 3939 -(3939) found -[2281] Forked 3940 -(3940) found -[2280] Forked 3941 -(3941) found -[2279] Forked 3942 -(3942) found -[2278] Forked 3943 -(3943) found -[2277] Forked 3944 -(3944) found -[2276] Forked 3945 -(3945) found -[2275] Forked 3946 -(3946) found -[2274] Forked 3947 -(3947) found -[2273] Forked 3948 -(3948) found -[2272] Forked 3949 -(3949) found -[2271] Forked 3950 -(3950) found -[2270] Forked 3951 -(3951) found -[2269] Forked 3952 -(3952) found -[2268] Forked 3953 -(3953) found -[2267] Forked 3954 -(3954) found -[2266] Forked 3955 -(3955) found -[2265] Forked 3956 -(3956) found -[2264] Forked 3957 -(3957) found -[2263] Forked 3958 -(3958) found -[2262] Forked 3959 -(3959) found -[2261] Forked 3960 -(3960) found -[2260] Forked 3961 -(3961) found -[2259] Forked 3962 -(3962) found -[2258] Forked 3963 -(3963) found -[2257] Forked 3964 -(3964) found -[2256] Forked 3965 -(3965) found -[2255] Forked 3966 -(3966) found -[2254] Forked 3967 -(3967) found -[2253] Forked 3968 -(3968) found -[2252] Forked 3969 -(3969) found -[2251] Forked 3970 -(3970) found -[2250] Forked 3971 -(3971) found -[2249] Forked 3972 -(3972) found -[2248] Forked 3973 -(3973) found -[2247] Forked 3974 -(3974) found -[2246] Forked 3975 -(3975) found -[2245] Forked 3976 -(3976) found -[2244] Forked 3977 -(3977) found -[2243] Forked 3978 -(3978) found -[2242] Forked 3979 -(3979) found -[2241] Forked 3980 -(3980) found -[2240] Forked 3981 -(3981) found -[2239] Forked 3982 -(3982) found -[2238] Forked 3983 -(3983) found -[2237] Forked 3984 -(3984) found -[2236] Forked 3985 -(3985) found -[2235] Forked 3986 -(3986) found -[2234] Forked 3987 -(3987) found -[2233] Forked 3988 -(3988) found -[2232] Forked 3989 -(3989) found -[2231] Forked 3990 -(3990) found -[2230] Forked 3991 -(3991) found -[2229] Forked 3992 -(3992) found -[2228] Forked 3993 -(3993) found -[2227] Forked 3994 -(3994) found -[2226] Forked 3995 -(3995) found -[2225] Forked 3996 -(3996) found -[2224] Forked 3997 -(3997) found -[2223] Forked 3998 -(3998) found -[2222] Forked 3999 -[2221] Forked 4000 -(3999) found -(4000) found -[2220] Forked 4001 -[2219] Forked 4002 -(4001) found -(4002) found -[2218] Forked 4003 -[2217] Forked 4004 -(4003) found -(4004) found -[2216] Forked 4005 -[2215] Forked 4006 -(4005) found -(4006) found -[2214] Forked 4007 -[2213] Forked 4008 -(4007) found -(4008) found -[2212] Forked 4009 -[2211] Forked 4010 -(4009) found -(4010) found -[2210] Forked 4011 -[2209] Forked 4012 -(4011) found -(4012) found -[2208] Forked 4013 -[2207] Forked 4014 -(4013) found -(4014) found -[2206] Forked 4015 -[2205] Forked 4016 -(4015) found -(4016) found -[2204] Forked 4017 -[2203] Forked 4018 -(4017) found -(4018) found -[2202] Forked 4019 -[2201] Forked 4020 -(4019) found -(4020) found -[2200] Forked 4021 -[2199] Forked 4022 -(4021) found -(4022) found -[2198] Forked 4023 -[2197] Forked 4024 -(4023) found -(4024) found -[2196] Forked 4025 -[2195] Forked 4026 -(4025) found -(4026) found -[2194] Forked 4028 -[2193] Forked 4029 -(4028) found -(4029) found -[2192] Forked 4030 -[2191] Forked 4031 -(4030) found -(4031) found -[2190] Forked 4032 -[2189] Forked 4034 -(4032) found -(4034) found -[2188] Forked 4035 -[2187] Forked 4037 -(4035) found -(4037) found -[2186] Forked 4038 -(4038) found -[2185] Forked 4039 -(4039) found -[2184] Forked 4040 -(4040) found -[2183] Forked 4041 -(4041) found -[2182] Forked 4042 -(4042) found -[2181] Forked 4043 -(4043) found -[2180] Forked 4044 -(4044) found -[2179] Forked 4045 -(4045) found -[2178] Forked 4046 -(4046) found -[2177] Forked 4047 -(4047) found -[2176] Forked 4048 -(4048) found -[2175] Forked 4049 -(4049) found -[2174] Forked 4052 -(4052) found -[2173] Forked 4053 -(4053) found -[2172] Forked 4054 -(4054) found -[2171] Forked 4055 -(4055) found -[2170] Forked 4056 -(4056) found -[2169] Forked 4057 -(4057) found -[2168] Forked 4058 -(4058) found -[2167] Forked 4059 -(4059) found -[2166] Forked 4060 -(4060) found -[2165] Forked 4061 -(4061) found -[2164] Forked 4062 -(4062) found -[2163] Forked 4063 -(4063) found -[2162] Forked 4064 -(4064) found -[2161] Forked 4065 -(4065) found -[2160] Forked 4066 -(4066) found -[2159] Forked 4067 -(4067) found -[2158] Forked 4068 -(4068) found -[2157] Forked 4069 -(4069) found -[2156] Forked 4070 -(4070) found -[2155] Forked 4071 -(4071) found -[2154] Forked 4072 -(4072) found -[2153] Forked 4074 -(4074) found -[2152] Forked 4075 -(4075) found -[2151] Forked 4076 -(4076) found -[2150] Forked 4077 -(4077) found -[2149] Forked 4078 -(4078) found -[2148] Forked 4079 -(4079) found -[2147] Forked 4080 -(4080) found -[2146] Forked 4081 -(4081) found -[2145] Forked 4082 -(4082) found -[2144] Forked 4083 -[2143] Forked 4086 -(4083) found -(4086) found -[2142] Forked 4088 -[2141] Forked 4089 -(4088) found -(4089) found -[2140] Forked 4090 -[2139] Forked 4093 -(4090) found -(4093) found -[2138] Forked 4095 -[2137] Forked 4096 -(4095) found -(4096) found -[2136] Forked 4097 -[2135] Forked 4098 -(4097) found -(4098) found -[2134] Forked 4099 -[2133] Forked 4100 -(4099) found -(4100) found -[2132] Forked 4101 -[2131] Forked 4102 -(4101) found -(4102) found -[2130] Forked 4103 -[2129] Forked 4104 -(4103) found -(4104) found -[2128] Forked 4105 -[2127] Forked 4106 -(4105) found -(4106) found -[2126] Forked 4107 -[2125] Forked 4108 -(4107) found -(4108) found -[2124] Forked 4109 -[2123] Forked 4110 -(4109) found -(4110) found -[2122] Forked 4111 -[2121] Forked 4112 -(4111) found -(4112) found -[2120] Forked 4113 -[2119] Forked 4114 -(4113) found -(4114) found -[2118] Forked 4115 -[2117] Forked 4116 -(4115) found -(4116) found -[2116] Forked 4117 -[2115] Forked 4118 -(4117) found -(4118) found -[2114] Forked 4119 -[2113] Forked 4120 -(4119) found -(4120) found -[2112] Forked 4121 -[2111] Forked 4122 -(4121) found -(4122) found -[2110] Forked 4123 -[2109] Forked 4124 -(4123) found -(4124) found -[2108] Forked 4125 -[2107] Forked 4126 -(4125) found -(4126) found -[2106] Forked 4127 -[2105] Forked 4128 -(4127) found -(4128) found -[2104] Forked 4129 -[2103] Forked 4130 -(4129) found -(4130) found -[2102] Forked 4131 -[2101] Forked 4132 -(4131) found -(4132) found -[2100] Forked 4133 -[2099] Forked 4134 -(4133) found -(4134) found -[2098] Forked 4135 -[2097] Forked 4136 -(4135) found -(4136) found -[2096] Forked 4137 -[2095] Forked 4138 -(4137) found -(4138) found -[2094] Forked 4139 -[2093] Forked 4140 -(4139) found -(4140) found -[2092] Forked 4141 -[2091] Forked 4142 -(4141) found -(4142) found -[2090] Forked 4143 -[2089] Forked 4144 -(4143) found -(4144) found -[2088] Forked 4145 -[2087] Forked 4146 -(4145) found -(4146) found -[2086] Forked 4147 -[2085] Forked 4148 -(4147) found -(4148) found -[2084] Forked 4149 -[2083] Forked 4150 -(4149) found -(4150) found -[2082] Forked 4151 -[2081] Forked 4152 -(4151) found -(4152) found -[2080] Forked 4153 -[2079] Forked 4154 -(4153) found -(4154) found -[2078] Forked 4155 -[2077] Forked 4156 -(4155) found -(4156) found -[2076] Forked 4157 -[2075] Forked 4158 -(4157) found -(4158) found -[2074] Forked 4159 -[2073] Forked 4160 -(4159) found -(4160) found -[2072] Forked 4161 -[2071] Forked 4162 -(4161) found -(4162) found -[2070] Forked 4163 -[2069] Forked 4164 -(4163) found -(4164) found -[2068] Forked 4165 -[2067] Forked 4166 -(4165) found -(4166) found -[2066] Forked 4167 -[2065] Forked 4168 -(4167) found -(4168) found -[2064] Forked 4169 -[2063] Forked 4170 -(4169) found -(4170) found -[2062] Forked 4171 -[2061] Forked 4172 -(4171) found -(4172) found -[2060] Forked 4173 -[2059] Forked 4174 -(4173) found -(4174) found -[2058] Forked 4175 -[2057] Forked 4176 -(4175) found -(4176) found -[2056] Forked 4177 -[2055] Forked 4178 -(4177) found -(4178) found -[2054] Forked 4179 -[2053] Forked 4180 -(4179) found -(4180) found -[2052] Forked 4181 -(4181) found -[2051] Forked 4182 -(4182) found -[2050] Forked 4183 -(4183) found -[2049] Forked 4184 -(4184) found -[2048] Forked 4185 -(4185) found -[2047] Forked 4186 -(4186) found -[2046] Forked 4187 -(4187) found -[2045] Forked 4188 -(4188) found -[2044] Forked 4189 -(4189) found -[2043] Forked 4190 -(4190) found -[2042] Forked 4191 -(4191) found -[2041] Forked 4192 -(4192) found -[2040] Forked 4193 -(4193) found -[2039] Forked 4194 -(4194) found -[2038] Forked 4195 -(4195) found -[2037] Forked 4196 -(4196) found -[2036] Forked 4197 -(4197) found -[2035] Forked 4198 -(4198) found -[2034] Forked 4199 -(4199) found -[2033] Forked 4200 -(4200) found -[2032] Forked 4201 -(4201) found -[2031] Forked 4202 -(4202) found -[2030] Forked 4203 -(4203) found -[2029] Forked 4204 -(4204) found -[2028] Forked 4205 -(4205) found -[2027] Forked 4206 -(4206) found -[2026] Forked 4207 -(4207) found -[2025] Forked 4208 -(4208) found -[2024] Forked 4209 -(4209) found -[2023] Forked 4210 -(4210) found -[2022] Forked 4211 -(4211) found -[2021] Forked 4212 -(4212) found -[2020] Forked 4213 -(4213) found -[2019] Forked 4214 -(4214) found -[2018] Forked 4215 -(4215) found -[2017] Forked 4216 -(4216) found -[2016] Forked 4217 -[2015] Forked 4218 -(4217) found -(4218) found -[2014] Forked 4219 -[2013] Forked 4220 -(4219) found -(4220) found -[2012] Forked 4221 -[2011] Forked 4222 -(4221) found -(4222) found -[2010] Forked 4223 -[2009] Forked 4224 -(4223) found -(4224) found -[2008] Forked 4225 -[2007] Forked 4226 -(4225) found -(4226) found -[2006] Forked 4227 -[2005] Forked 4228 -(4227) found -(4228) found -[2004] Forked 4229 -[2003] Forked 4230 -(4229) found -(4230) found -[2002] Forked 4231 -[2001] Forked 4232 -(4231) found -(4232) found -[2000] Forked 4233 -[1999] Forked 4234 -(4233) found -(4234) found -[1998] Forked 4235 -[1997] Forked 4236 -(4235) found -(4236) found -[1996] Forked 4237 -[1995] Forked 4238 -(4237) found -(4238) found -[1994] Forked 4239 -[1993] Forked 4240 -(4239) found -(4240) found -[1992] Forked 4242 -[1991] Forked 4243 -(4242) found -(4243) found -[1990] Forked 4244 -[1989] Forked 4245 -(4244) found -(4245) found -[1988] Forked 4247 -[1987] Forked 4248 -(4247) found -(4248) found -[1986] Forked 4249 -[1985] Forked 4250 -(4249) found -(4250) found -[1984] Forked 4251 -[1983] Forked 4252 -(4251) found -(4252) found -[1982] Forked 4254 -[1981] Forked 4255 -(4254) found -(4255) found -[1980] Forked 4256 -[1979] Forked 4257 -(4256) found -(4257) found -[1978] Forked 4258 -[1977] Forked 4259 -(4258) found -(4259) found -[1976] Forked 4260 -[1975] Forked 4261 -(4260) found -(4261) found -[1974] Forked 4262 -[1973] Forked 4263 -(4262) found -(4263) found -[1972] Forked 4264 -(4264) found -[1971] Forked 4265 -(4265) found -[1970] Forked 4266 -(4266) found -[1969] Forked 4267 -(4267) found -[1968] Forked 4268 -(4268) found -[1967] Forked 4269 -(4269) found -[1966] Forked 4270 -(4270) found -[1965] Forked 4271 -(4271) found -[1964] Forked 4272 -(4272) found -[1963] Forked 4273 -(4273) found -[1962] Forked 4274 -(4274) found -[1961] Forked 4275 -(4275) found -[1960] Forked 4276 -(4276) found -[1959] Forked 4277 -(4277) found -[1958] Forked 4278 -(4278) found -[1957] Forked 4279 -(4279) found -[1956] Forked 4280 -(4280) found -[1955] Forked 4281 -(4281) found -[1954] Forked 4282 -(4282) found -[1953] Forked 4284 -(4284) found -[1952] Forked 4285 -(4285) found -[1951] Forked 4286 -(4286) found -[1950] Forked 4287 -(4287) found -[1949] Forked 4288 -(4288) found -[1948] Forked 4289 -(4289) found -[1947] Forked 4290 -(4290) found -[1946] Forked 4291 -(4291) found -[1945] Forked 4292 -(4292) found -[1944] Forked 4293 -(4293) found -[1943] Forked 4294 -(4294) found -[1942] Forked 4295 -(4295) found -[1941] Forked 4296 -(4296) found -[1940] Forked 4297 -(4297) found -[1939] Forked 4298 -(4298) found -[1938] Forked 4299 -(4299) found -[1937] Forked 4300 -(4300) found -[1936] Forked 4301 -(4301) found -[1935] Forked 4302 -[1934] Forked 4303 -(4302) found -(4303) found -[1933] Forked 4304 -[1932] Forked 4305 -(4304) found -(4305) found -[1931] Forked 4306 -[1930] Forked 4307 -(4306) found -(4307) found -[1929] Forked 4308 -[1928] Forked 4309 -(4308) found -(4309) found -[1927] Forked 4310 -[1926] Forked 4311 -(4310) found -(4311) found -[1925] Forked 4312 -[1924] Forked 4313 -(4312) found -(4313) found -[1923] Forked 4314 -[1922] Forked 4315 -(4314) found -(4315) found -[1921] Forked 4316 -[1920] Forked 4317 -(4316) found -(4317) found -[1919] Forked 4318 -[1918] Forked 4319 -(4318) found -(4319) found -[1917] Forked 4320 -[1916] Forked 4321 -(4320) found -(4321) found -[1915] Forked 4322 -[1914] Forked 4323 -(4322) found -(4323) found -[1913] Forked 4324 -[1912] Forked 4325 -(4324) found -(4325) found -[1911] Forked 4326 -[1910] Forked 4327 -(4326) found -(4327) found -[1909] Forked 4328 -[1908] Forked 4329 -(4328) found -(4329) found -[1907] Forked 4330 -[1906] Forked 4331 -(4330) found -(4331) found -[1905] Forked 4332 -[1904] Forked 4333 -(4332) found -(4333) found -[1903] Forked 4334 -[1902] Forked 4335 -(4334) found -(4335) found -[1901] Forked 4336 -[1900] Forked 4337 -(4336) found -(4337) found -[1899] Forked 4338 -[1898] Forked 4339 -(4338) found -(4339) found -[1897] Forked 4340 -[1896] Forked 4342 -(4340) found -(4342) found -[1895] Forked 4343 -(4343) found -[1894] Forked 4344 -(4344) found -[1893] Forked 4345 -(4345) found -[1892] Forked 4346 -(4346) found -[1891] Forked 4347 -(4347) found -[1890] Forked 4348 -(4348) found -[1889] Forked 4349 -(4349) found -[1888] Forked 4350 -(4350) found -[1887] Forked 4351 -(4351) found -[1886] Forked 4352 -(4352) found -[1885] Forked 4353 -(4353) found -[1884] Forked 4354 -(4354) found -[1883] Forked 4355 -(4355) found -[1882] Forked 4356 -(4356) found -[1881] Forked 4357 -(4357) found -[1880] Forked 4358 -(4358) found -[1879] Forked 4359 -(4359) found -[1878] Forked 4360 -(4360) found -[1877] Forked 4361 -(4361) found -[1876] Forked 4362 -(4362) found -[1875] Forked 4363 -(4363) found -[1874] Forked 4364 -(4364) found -[1873] Forked 4365 -(4365) found -[1872] Forked 4366 -(4366) found -[1871] Forked 4367 -(4367) found -[1870] Forked 4368 -(4368) found -[1869] Forked 4369 -(4369) found -[1868] Forked 4370 -(4370) found -[1867] Forked 4371 -(4371) found -[1866] Forked 4372 -(4372) found -[1865] Forked 4373 -(4373) found -[1864] Forked 4374 -(4374) found -[1863] Forked 4375 -(4375) found -[1862] Forked 4376 -(4376) found -[1861] Forked 4377 -(4377) found -[1860] Forked 4378 -(4378) found -[1859] Forked 4379 -(4379) found -[1858] Forked 4380 -(4380) found -[1857] Forked 4381 -(4381) found -[1856] Forked 4382 -[1855] Forked 4383 -(4382) found -(4383) found -[1854] Forked 4384 -[1853] Forked 4385 -(4384) found -(4385) found -[1852] Forked 4386 -[1851] Forked 4387 -(4386) found -(4387) found -[1850] Forked 4388 -[1849] Forked 4389 -(4388) found -(4389) found -[1848] Forked 4390 -[1847] Forked 4391 -(4390) found -(4391) found -[1846] Forked 4392 -[1845] Forked 4393 -(4392) found -(4393) found -[1844] Forked 4394 -[1843] Forked 4395 -(4394) found -(4395) found -[1842] Forked 4396 -[1841] Forked 4397 -(4396) found -(4397) found -[1840] Forked 4398 -[1839] Forked 4399 -(4398) found -(4399) found -[1838] Forked 4400 -[1837] Forked 4401 -(4400) found -(4401) found -[1836] Forked 4402 -[1835] Forked 4403 -(4402) found -(4403) found -[1834] Forked 4404 -[1833] Forked 4405 -(4404) found -(4405) found -[1832] Forked 4406 -[1831] Forked 4407 -(4406) found -(4407) found -[1830] Forked 4408 -[1829] Forked 4409 -(4408) found -(4409) found -[1828] Forked 4410 -[1827] Forked 4411 -(4410) found -(4411) found -[1826] Forked 4412 -[1825] Forked 4413 -(4412) found -(4413) found -[1824] Forked 4414 -[1823] Forked 4415 -(4414) found -(4415) found -[1822] Forked 4416 -[1821] Forked 4417 -(4416) found -(4417) found -[1820] Forked 4418 -[1819] Forked 4419 -(4418) found -(4419) found -[1818] Forked 4420 -[1817] Forked 4421 -(4420) found -(4421) found -[1816] Forked 4422 -[1815] Forked 4423 -(4422) found -(4423) found -[1814] Forked 4424 -(4424) found -[1813] Forked 4425 -(4425) found -[1812] Forked 4426 -(4426) found -[1811] Forked 4427 -(4427) found -[1810] Forked 4428 -(4428) found -[1809] Forked 4429 -(4429) found -[1808] Forked 4430 -(4430) found -[1807] Forked 4431 -(4431) found -[1806] Forked 4432 -(4432) found -[1805] Forked 4433 -(4433) found -[1804] Forked 4434 -(4434) found -[1803] Forked 4435 -(4435) found -[1802] Forked 4436 -(4436) found -[1801] Forked 4437 -(4437) found -[1800] Forked 4438 -(4438) found -[1799] Forked 4439 -(4439) found -[1798] Forked 4440 -(4440) found -[1797] Forked 4441 -(4441) found -[1796] Forked 4442 -(4442) found -[1795] Forked 4443 -(4443) found -[1794] Forked 4444 -(4444) found -[1793] Forked 4445 -(4445) found -[1792] Forked 4446 -(4446) found -[1791] Forked 4447 -(4447) found -[1790] Forked 4448 -(4448) found -[1789] Forked 4449 -(4449) found -[1788] Forked 4450 -(4450) found -[1787] Forked 4451 -(4451) found -[1786] Forked 4452 -(4452) found -[1785] Forked 4453 -(4453) found -[1784] Forked 4454 -(4454) found -[1783] Forked 4455 -(4455) found -[1782] Forked 4456 -(4456) found -[1781] Forked 4457 -(4457) found -[1780] Forked 4458 -(4458) found -[1779] Forked 4459 -(4459) found -[1778] Forked 4460 -[1777] Forked 4461 -(4460) found -(4461) found -[1776] Forked 4462 -[1775] Forked 4463 -(4462) found -(4463) found -[1774] Forked 4464 -[1773] Forked 4465 -(4464) found -(4465) found -[1772] Forked 4466 -[1771] Forked 4467 -(4466) found -(4467) found -[1770] Forked 4468 -[1769] Forked 4469 -(4468) found -(4469) found -[1768] Forked 4470 -[1767] Forked 4471 -(4470) found -(4471) found -[1766] Forked 4472 -[1765] Forked 4473 -(4472) found -(4473) found -[1764] Forked 4474 -[1763] Forked 4475 -(4474) found -(4475) found -[1762] Forked 4476 -[1761] Forked 4477 -(4476) found -(4477) found -[1760] Forked 4478 -[1759] Forked 4479 -(4478) found -(4479) found -[1758] Forked 4480 -[1757] Forked 4481 -(4480) found -(4481) found -[1756] Forked 4482 -[1755] Forked 4483 -(4482) found -(4483) found -[1754] Forked 4484 -[1753] Forked 4485 -(4484) found -(4485) found -[1752] Forked 4486 -[1751] Forked 4487 -(4486) found -(4487) found -[1750] Forked 4488 -[1749] Forked 4489 -(4488) found -(4489) found -[1748] Forked 4490 -[1747] Forked 4491 -(4490) found -(4491) found -[1746] Forked 4492 -[1745] Forked 4493 -(4492) found -(4493) found -[1744] Forked 4494 -[1743] Forked 4495 -(4494) found -(4495) found -[1742] Forked 4496 -[1741] Forked 4497 -(4496) found -(4497) found -[1740] Forked 4498 -[1739] Forked 4499 -(4498) found -(4499) found -[1738] Forked 4500 -[1737] Forked 4501 -(4500) found -(4501) found -[1736] Forked 4502 -[1735] Forked 4503 -(4502) found -(4503) found -[1734] Forked 4504 -[1733] Forked 4505 -(4504) found -(4505) found -[1732] Forked 4506 -[1731] Forked 4507 -(4506) found -(4507) found -[1730] Forked 4508 -[1729] Forked 4509 -(4508) found -(4509) found -[1728] Forked 4510 -[1727] Forked 4511 -(4510) found -(4511) found -[1726] Forked 4512 -[1725] Forked 4513 -(4512) found -(4513) found -[1724] Forked 4514 -[1723] Forked 4515 -(4514) found -(4515) found -[1722] Forked 4516 -[1721] Forked 4517 -(4516) found -(4517) found -[1720] Forked 4518 -[1719] Forked 4519 -(4518) found -(4519) found -[1718] Forked 4520 -[1717] Forked 4521 -(4520) found -(4521) found -[1716] Forked 4522 -[1715] Forked 4523 -(4522) found -(4523) found -[1714] Forked 4524 -[1713] Forked 4525 -(4524) found -(4525) found -[1712] Forked 4526 -[1711] Forked 4527 -(4526) found -(4527) found -[1710] Forked 4528 -[1709] Forked 4529 -(4528) found -(4529) found -[1708] Forked 4530 -[1707] Forked 4531 -(4530) found -(4531) found -[1706] Forked 4532 -[1705] Forked 4533 -(4532) found -(4533) found -[1704] Forked 4534 -[1703] Forked 4535 -(4534) found -(4535) found -[1702] Forked 4536 -[1701] Forked 4537 -(4536) found -(4537) found -[1700] Forked 4538 -[1699] Forked 4539 -(4538) found -(4539) found -[1698] Forked 4540 -[1697] Forked 4541 -(4540) found -(4541) found -[1696] Forked 4542 -[1695] Forked 4543 -(4542) found -(4543) found -[1694] Forked 4544 -[1693] Forked 4545 -(4544) found -(4545) found -[1692] Forked 4546 -[1691] Forked 4547 -(4546) found -(4547) found -[1690] Forked 4548 -[1689] Forked 4549 -(4548) found -(4549) found -[1688] Forked 4550 -[1687] Forked 4551 -(4550) found -(4551) found -[1686] Forked 4552 -(4552) found -[1685] Forked 4553 -(4553) found -[1684] Forked 4554 -(4554) found -[1683] Forked 4555 -(4555) found -[1682] Forked 4556 -(4556) found -[1681] Forked 4557 -(4557) found -[1680] Forked 4558 -(4558) found -[1679] Forked 4559 -(4559) found -[1678] Forked 4560 -(4560) found -[1677] Forked 4561 -(4561) found -[1676] Forked 4562 -(4562) found -[1675] Forked 4563 -(4563) found -[1674] Forked 4564 -(4564) found -[1673] Forked 4565 -(4565) found -[1672] Forked 4566 -(4566) found -[1671] Forked 4567 -(4567) found -[1670] Forked 4568 -(4568) found -[1669] Forked 4569 -(4569) found -[1668] Forked 4570 -(4570) found -[1667] Forked 4571 -(4571) found -[1666] Forked 4572 -(4572) found -[1665] Forked 4573 -(4573) found -[1664] Forked 4574 -(4574) found -[1663] Forked 4575 -(4575) found -[1662] Forked 4576 -(4576) found -[1661] Forked 4577 -(4577) found -[1660] Forked 4578 -(4578) found -[1659] Forked 4579 -(4579) found -[1658] Forked 4580 -(4580) found -[1657] Forked 4581 -(4581) found -[1656] Forked 4582 -(4582) found -[1655] Forked 4583 -(4583) found -[1654] Forked 4584 -[1653] Forked 4585 -(4584) found -(4585) found -[1652] Forked 4586 -[1651] Forked 4587 -(4586) found -(4587) found -[1650] Forked 4588 -[1649] Forked 4589 -(4588) found -(4589) found -[1648] Forked 4590 -[1647] Forked 4591 -(4590) found -(4591) found -[1646] Forked 4593 -[1645] Forked 4594 -(4593) found -(4594) found -[1644] Forked 4595 -[1643] Forked 4596 -(4595) found -(4596) found -[1642] Forked 4597 -[1641] Forked 4598 -(4597) found -(4598) found -[1640] Forked 4599 -[1639] Forked 4600 -(4599) found -(4600) found -[1638] Forked 4601 -[1637] Forked 4602 -(4601) found -(4602) found -[1636] Forked 4603 -[1635] Forked 4604 -(4603) found -(4604) found -[1634] Forked 4605 -[1633] Forked 4606 -(4605) found -(4606) found -[1632] Forked 4607 -[1631] Forked 4608 -(4607) found -(4608) found -[1630] Forked 4609 -[1629] Forked 4610 -(4609) found -(4610) found -[1628] Forked 4611 -[1627] Forked 4612 -(4611) found -(4612) found -[1626] Forked 4613 -[1625] Forked 4614 -(4613) found -(4614) found -[1624] Forked 4615 -[1623] Forked 4616 -(4615) found -(4616) found -[1622] Forked 4617 -[1621] Forked 4618 -(4617) found -(4618) found -[1620] Forked 4619 -[1619] Forked 4620 -(4619) found -(4620) found -[1618] Forked 4621 -[1617] Forked 4622 -(4621) found -(4622) found -[1616] Forked 4623 -[1615] Forked 4624 -(4623) found -(4624) found -[1614] Forked 4625 -[1613] Forked 4626 -(4625) found -(4626) found -[1612] Forked 4627 -[1611] Forked 4628 -(4627) found -(4628) found -[1610] Forked 4629 -[1609] Forked 4630 -(4629) found -(4630) found -[1608] Forked 4631 -[1607] Forked 4632 -(4631) found -(4632) found -[1606] Forked 4633 -(4633) found -[1605] Forked 4634 -(4634) found -[1604] Forked 4635 -(4635) found -[1603] Forked 4636 -(4636) found -[1602] Forked 4637 -(4637) found -[1601] Forked 4638 -(4638) found -[1600] Forked 4639 -(4639) found -[1599] Forked 4640 -(4640) found -[1598] Forked 4641 -(4641) found -[1597] Forked 4642 -(4642) found -[1596] Forked 4643 -(4643) found -[1595] Forked 4644 -(4644) found -[1594] Forked 4645 -(4645) found -[1593] Forked 4646 -(4646) found -[1592] Forked 4647 -(4647) found -[1591] Forked 4648 -(4648) found -[1590] Forked 4649 -(4649) found -[1589] Forked 4650 -(4650) found -[1588] Forked 4651 -(4651) found -[1587] Forked 4652 -(4652) found -[1586] Forked 4653 -(4653) found -[1585] Forked 4654 -(4654) found -[1584] Forked 4655 -(4655) found -[1583] Forked 4656 -(4656) found -[1582] Forked 4657 -(4657) found -[1581] Forked 4658 -(4658) found -[1580] Forked 4659 -(4659) found -[1579] Forked 4660 -(4660) found -[1578] Forked 4661 -(4661) found -[1577] Forked 4662 -(4662) found -[1576] Forked 4663 -[1575] Forked 4664 -(4664) found -(4663) found -[1574] Forked 4665 -(4665) found -[1573] Forked 4666 -(4666) found -[1572] Forked 4667 -(4667) found -[1571] Forked 4668 -(4668) found -[1570] Forked 4669 -(4669) found -[1569] Forked 4670 -(4670) found -[1568] Forked 4671 -(4671) found -[1567] Forked 4672 -(4672) found -[1566] Forked 4673 -(4673) found -[1565] Forked 4674 -(4674) found -[1564] Forked 4675 -(4675) found -[1563] Forked 4676 -(4676) found -[1562] Forked 4677 -(4677) found -[1561] Forked 4678 -(4678) found -[1560] Forked 4679 -(4679) found -[1559] Forked 4680 -(4680) found -[1558] Forked 4681 -(4681) found -[1557] Forked 4682 -(4682) found -[1556] Forked 4683 -(4683) found -[1555] Forked 4684 -(4684) found -[1554] Forked 4685 -(4685) found -[1553] Forked 4686 -(4686) found -[1552] Forked 4687 -(4687) found -[1551] Forked 4688 -(4688) found -[1550] Forked 4689 -(4689) found -[1549] Forked 4690 -(4690) found -[1548] Forked 4691 -(4691) found -[1547] Forked 4692 -(4692) found -[1546] Forked 4693 -(4693) found -[1545] Forked 4694 -(4694) found -[1544] Forked 4695 -(4695) found -[1543] Forked 4696 -(4696) found -[1542] Forked 4697 -(4697) found -[1541] Forked 4698 -(4698) found -[1540] Forked 4699 -(4699) found -[1539] Forked 4700 -(4700) found -[1538] Forked 4701 -(4701) found -[1537] Forked 4702 -(4702) found -[1536] Forked 4703 -(4703) found -[1535] Forked 4704 -(4704) found -[1534] Forked 4705 -(4705) found -[1533] Forked 4706 -(4706) found -[1532] Forked 4707 -(4707) found -[1531] Forked 4708 -(4708) found -[1530] Forked 4709 -(4709) found -[1529] Forked 4710 -(4710) found -[1528] Forked 4711 -(4711) found -[1527] Forked 4712 -(4712) found -[1526] Forked 4713 -(4713) found -[1525] Forked 4714 -(4714) found -[1524] Forked 4715 -(4715) found -[1523] Forked 4716 -(4716) found -[1522] Forked 4717 -(4717) found -[1521] Forked 4718 -(4718) found -[1520] Forked 4719 -(4719) found -[1519] Forked 4720 -(4720) found -[1518] Forked 4721 -(4721) found -[1517] Forked 4722 -(4722) found -[1516] Forked 4723 -(4723) found -[1515] Forked 4724 -(4724) found -[1514] Forked 4725 -(4725) found -[1513] Forked 4726 -(4726) found -[1512] Forked 4727 -(4727) found -[1511] Forked 4728 -(4728) found -[1510] Forked 4729 -(4729) found -[1509] Forked 4730 -(4730) found -[1508] Forked 4731 -(4731) found -[1507] Forked 4732 -(4732) found -[1506] Forked 4733 -(4733) found -[1505] Forked 4734 -(4734) found -[1504] Forked 4735 -(4735) found -[1503] Forked 4736 -[1502] Forked 4737 -(4736) found -(4737) found -[1501] Forked 4738 -[1500] Forked 4739 -(4738) found -(4739) found -[1499] Forked 4740 -[1498] Forked 4741 -(4740) found -(4741) found -[1497] Forked 4742 -[1496] Forked 4743 -(4742) found -(4743) found -[1495] Forked 4744 -[1494] Forked 4745 -(4744) found -(4745) found -[1493] Forked 4746 -[1492] Forked 4747 -(4746) found -(4747) found -[1491] Forked 4748 -[1490] Forked 4749 -(4748) found -(4749) found -[1489] Forked 4750 -[1488] Forked 4751 -(4750) found -(4751) found -[1487] Forked 4752 -[1486] Forked 4753 -(4752) found -(4753) found -[1485] Forked 4754 -[1484] Forked 4755 -(4754) found -(4755) found -[1483] Forked 4756 -[1482] Forked 4757 -(4756) found -(4757) found -[1481] Forked 4758 -[1480] Forked 4759 -(4758) found -(4759) found -[1479] Forked 4760 -[1478] Forked 4761 -(4760) found -(4761) found -[1477] Forked 4762 -[1476] Forked 4763 -(4762) found -(4763) found -[1475] Forked 4764 -[1474] Forked 4765 -(4764) found -(4765) found -[1473] Forked 4766 -[1472] Forked 4767 -(4766) found -(4767) found -[1471] Forked 4768 -[1470] Forked 4769 -(4768) found -(4769) found -[1469] Forked 4770 -[1468] Forked 4771 -(4770) found -(4771) found -[1467] Forked 4772 -[1466] Forked 4773 -(4772) found -(4773) found -[1465] Forked 4774 -[1464] Forked 4775 -(4774) found -(4775) found -[1463] Forked 4776 -[1462] Forked 4777 -(4776) found -(4777) found -[1461] Forked 4778 -[1460] Forked 4779 -(4778) found -(4779) found -[1459] Forked 4780 -(4780) found -[1458] Forked 4781 -(4781) found -[1457] Forked 4782 -(4782) found -[1456] Forked 4783 -(4783) found -[1455] Forked 4784 -(4784) found -[1454] Forked 4785 -(4785) found -[1453] Forked 4786 -(4786) found -[1452] Forked 4787 -(4787) found -[1451] Forked 4788 -(4788) found -[1450] Forked 4789 -(4789) found -[1449] Forked 4790 -(4790) found -[1448] Forked 4791 -(4791) found -[1447] Forked 4792 -(4792) found -[1446] Forked 4793 -(4793) found -[1445] Forked 4794 -(4794) found -[1444] Forked 4795 -(4795) found -[1443] Forked 4796 -(4796) found -[1442] Forked 4797 -(4797) found -[1441] Forked 4798 -(4798) found -[1440] Forked 4799 -(4799) found -[1439] Forked 4800 -(4800) found -[1438] Forked 4801 -(4801) found -[1437] Forked 4802 -(4802) found -[1436] Forked 4803 -(4803) found -[1435] Forked 4804 -(4804) found -[1434] Forked 4805 -(4805) found -[1433] Forked 4806 -(4806) found -[1432] Forked 4807 -(4807) found -[1431] Forked 4808 -(4808) found -[1430] Forked 4809 -(4809) found -[1429] Forked 4810 -(4810) found -[1428] Forked 4811 -(4811) found -[1427] Forked 4812 -(4812) found -[1426] Forked 4813 -(4813) found -[1425] Forked 4814 -(4814) found -[1424] Forked 4815 -(4815) found -[1423] Forked 4816 -[1422] Forked 4817 -(4816) found -(4817) found -[1421] Forked 4818 -[1420] Forked 4819 -(4818) found -(4819) found -[1419] Forked 4820 -(4820) found -[1418] Forked 4821 -[1417] Forked 4822 -(4821) found -(4822) found -[1416] Forked 4823 -[1415] Forked 4824 -(4823) found -(4824) found -[1414] Forked 4825 -[1413] Forked 4826 -(4825) found -(4826) found -[1412] Forked 4827 -[1411] Forked 4828 -(4827) found -(4828) found -[1410] Forked 4829 -[1409] Forked 4830 -(4829) found -(4830) found -[1408] Forked 4831 -[1407] Forked 4832 -(4831) found -(4832) found -[1406] Forked 4833 -[1405] Forked 4834 -(4833) found -(4834) found -[1404] Forked 4835 -[1403] Forked 4836 -(4835) found -(4836) found -[1402] Forked 4837 -[1401] Forked 4838 -(4837) found -(4838) found -[1400] Forked 4839 -[1399] Forked 4840 -(4839) found -(4840) found -[1398] Forked 4841 -[1397] Forked 4842 -(4841) found -(4842) found -[1396] Forked 4843 -[1395] Forked 4844 -(4843) found -(4844) found -[1394] Forked 4845 -[1393] Forked 4846 -(4845) found -(4846) found -[1392] Forked 4847 -[1391] Forked 4848 -(4847) found -(4848) found -[1390] Forked 4849 -[1389] Forked 4850 -(4849) found -(4850) found -[1388] Forked 4851 -[1387] Forked 4852 -(4851) found -(4852) found -[1386] Forked 4853 -[1385] Forked 4854 -(4853) found -(4854) found -[1384] Forked 4855 -[1383] Forked 4856 -(4855) found -(4856) found -[1382] Forked 4857 -[1381] Forked 4858 -(4857) found -(4858) found -[1380] Forked 4859 -(4859) found -[1379] Forked 4860 -[1378] Forked 4861 -(4860) found -(4861) found -[1377] Forked 4862 -[1376] Forked 4863 -(4862) found -(4863) found -[1375] Forked 4864 -[1374] Forked 4865 -(4864) found -(4865) found -[1373] Forked 4866 -[1372] Forked 4867 -(4866) found -(4867) found -[1371] Forked 4868 -[1370] Forked 4869 -(4868) found -(4869) found -[1369] Forked 4870 -[1368] Forked 4871 -(4870) found -(4871) found -[1367] Forked 4872 -[1366] Forked 4873 -(4872) found -(4873) found -[1365] Forked 4874 -[1364] Forked 4875 -(4874) found -(4875) found -[1363] Forked 4876 -[1362] Forked 4877 -(4876) found -(4877) found -[1361] Forked 4878 -[1360] Forked 4879 -(4878) found -(4879) found -[1359] Forked 4880 -[1358] Forked 4881 -(4880) found -(4881) found -[1357] Forked 4882 -[1356] Forked 4883 -(4882) found -(4883) found -[1355] Forked 4884 -[1354] Forked 4885 -(4884) found -(4885) found -[1353] Forked 4886 -[1352] Forked 4887 -(4886) found -(4887) found -[1351] Forked 4888 -[1350] Forked 4889 -(4888) found -(4889) found -[1349] Forked 4890 -[1348] Forked 4891 -(4890) found -(4891) found -[1347] Forked 4892 -[1346] Forked 4893 -(4892) found -(4893) found -[1345] Forked 4894 -[1344] Forked 4895 -(4894) found -(4895) found -[1343] Forked 4896 -[1342] Forked 4897 -(4896) found -(4897) found -[1341] Forked 4898 -[1340] Forked 4899 -(4898) found -(4899) found -[1339] Forked 4900 -[1338] Forked 4901 -(4900) found -(4901) found -[1337] Forked 4902 -[1336] Forked 4903 -(4902) found -(4903) found -[1335] Forked 4904 -[1334] Forked 4905 -(4904) found -(4905) found -[1333] Forked 4906 -[1332] Forked 4907 -(4906) found -(4907) found -[1331] Forked 4908 -[1330] Forked 4909 -(4908) found -(4909) found -[1329] Forked 4910 -[1328] Forked 4911 -(4910) found -(4911) found -[1327] Forked 4912 -[1326] Forked 4913 -(4912) found -(4913) found -[1325] Forked 4914 -[1324] Forked 4915 -(4914) found -(4915) found -[1323] Forked 4916 -[1322] Forked 4917 -(4916) found -(4917) found -[1321] Forked 4918 -[1320] Forked 4919 -(4918) found -(4919) found -[1319] Forked 4920 -[1318] Forked 4921 -(4920) found -(4921) found -[1317] Forked 4922 -[1316] Forked 4923 -(4922) found -(4923) found -[1315] Forked 4924 -[1314] Forked 4925 -(4924) found -(4925) found -[1313] Forked 4926 -[1312] Forked 4927 -(4926) found -(4927) found -[1311] Forked 4928 -[1310] Forked 4929 -(4928) found -(4929) found -[1309] Forked 4930 -[1308] Forked 4931 -(4930) found -(4931) found -[1307] Forked 4932 -[1306] Forked 4933 -(4932) found -(4933) found -[1305] Forked 4934 -[1304] Forked 4935 -(4934) found -(4935) found -[1303] Forked 4936 -[1302] Forked 4937 -(4936) found -(4937) found -[1301] Forked 4938 -[1300] Forked 4939 -(4938) found -(4939) found -[1299] Forked 4940 -[1298] Forked 4941 -(4940) found -(4941) found -[1297] Forked 4942 -[1296] Forked 4943 -(4942) found -(4943) found -[1295] Forked 4944 -[1294] Forked 4945 -(4944) found -(4945) found -[1293] Forked 4946 -[1292] Forked 4947 -(4946) found -(4947) found -[1291] Forked 4948 -[1290] Forked 4949 -(4948) found -(4949) found -[1289] Forked 4950 -[1288] Forked 4951 -(4950) found -(4951) found -[1287] Forked 4952 -[1286] Forked 4953 -(4952) found -(4953) found -[1285] Forked 4954 -[1284] Forked 4955 -(4954) found -(4955) found -[1283] Forked 4956 -[1282] Forked 4957 -(4956) found -(4957) found -[1281] Forked 4958 -[1280] Forked 4959 -(4958) found -(4959) found -[1279] Forked 4960 -[1278] Forked 4961 -(4960) found -(4961) found -[1277] Forked 4962 -[1276] Forked 4963 -(4962) found -(4963) found -[1275] Forked 4964 -[1274] Forked 4965 -(4964) found -(4965) found -[1273] Forked 4966 -[1272] Forked 4967 -(4966) found -(4967) found -[1271] Forked 4968 -[1270] Forked 4969 -(4968) found -(4969) found -[1269] Forked 4970 -[1268] Forked 4971 -(4970) found -(4971) found -[1267] Forked 4972 -[1266] Forked 4973 -(4972) found -(4973) found -[1265] Forked 4974 -[1264] Forked 4975 -(4974) found -(4975) found -[1263] Forked 4976 -[1262] Forked 4977 -(4976) found -(4977) found -[1261] Forked 4978 -[1260] Forked 4979 -(4978) found -(4979) found -[1259] Forked 4980 -[1258] Forked 4981 -(4980) found -(4981) found -[1257] Forked 4982 -[1256] Forked 4983 -(4982) found -(4983) found -[1255] Forked 4984 -[1254] Forked 4985 -(4984) found -(4985) found -[1253] Forked 4986 -[1252] Forked 4987 -(4986) found -(4987) found -[1251] Forked 4988 -[1250] Forked 4989 -(4988) found -(4989) found -[1249] Forked 4990 -[1248] Forked 4991 -(4990) found -(4991) found -[1247] Forked 4992 -[1246] Forked 4993 -(4992) found -(4993) found -[1245] Forked 4994 -[1244] Forked 4995 -(4994) found -(4995) found -[1243] Forked 4996 -[1242] Forked 4997 -(4996) found -(4997) found -[1241] Forked 4998 -[1240] Forked 4999 -(4998) found -(4999) found -[1239] Forked 5000 -[1238] Forked 5001 -(5000) found -(5001) found -[1237] Forked 5002 -[1236] Forked 5003 -(5002) found -(5003) found -[1235] Forked 5004 -[1234] Forked 5005 -(5004) found -(5005) found -[1233] Forked 5006 -[1232] Forked 5007 -(5006) found -(5007) found -[1231] Forked 5008 -[1230] Forked 5009 -(5008) found -(5009) found -[1229] Forked 5010 -[1228] Forked 5011 -(5010) found -(5011) found -[1227] Forked 5012 -[1226] Forked 5013 -(5012) found -(5013) found -[1225] Forked 5014 -[1224] Forked 5015 -(5014) found -(5015) found -[1223] Forked 5016 -[1222] Forked 5017 -(5016) found -(5017) found -[1221] Forked 5018 -[1220] Forked 5019 -(5018) found -(5019) found -[1219] Forked 5020 -[1218] Forked 5021 -(5020) found -(5021) found -[1217] Forked 5022 -[1216] Forked 5023 -(5022) found -(5023) found -[1215] Forked 5024 -[1214] Forked 5025 -(5024) found -(5025) found -[1213] Forked 5026 -[1212] Forked 5027 -(5026) found -(5027) found -[1211] Forked 5028 -[1210] Forked 5029 -(5028) found -(5029) found -[1209] Forked 5030 -[1208] Forked 5031 -(5030) found -(5031) found -[1207] Forked 5032 -[1206] Forked 5033 -(5032) found -(5033) found -[1205] Forked 5034 -[1204] Forked 5035 -(5034) found -(5035) found -[1203] Forked 5036 -[1202] Forked 5037 -(5036) found -(5037) found -[1201] Forked 5038 -[1200] Forked 5039 -(5038) found -(5039) found -[1199] Forked 5040 -[1198] Forked 5041 -(5040) found -(5041) found -[1197] Forked 5042 -(5042) found -[1196] Forked 5043 -(5043) found -[1195] Forked 5044 -(5044) found -[1194] Forked 5045 -(5045) found -[1193] Forked 5046 -(5046) found -[1192] Forked 5047 -(5047) found -[1191] Forked 5048 -(5048) found -[1190] Forked 5049 -(5049) found -[1189] Forked 5050 -(5050) found -[1188] Forked 5051 -(5051) found -[1187] Forked 5052 -(5052) found -[1186] Forked 5053 -(5053) found -[1185] Forked 5054 -(5054) found -[1184] Forked 5055 -(5055) found -[1183] Forked 5056 -(5056) found -[1182] Forked 5057 -(5057) found -[1181] Forked 5058 -(5058) found -[1180] Forked 5059 -(5059) found -[1179] Forked 5060 -(5060) found -[1178] Forked 5061 -(5061) found -[1177] Forked 5062 -(5062) found -[1176] Forked 5063 -(5063) found -[1175] Forked 5064 -(5064) found -[1174] Forked 5065 -(5065) found -[1173] Forked 5066 -(5066) found -[1172] Forked 5067 -(5067) found -[1171] Forked 5068 -(5068) found -[1170] Forked 5069 -(5069) found -[1169] Forked 5070 -(5070) found -[1168] Forked 5071 -(5071) found -[1167] Forked 5072 -(5072) found -[1166] Forked 5073 -(5073) found -[1165] Forked 5074 -(5074) found -[1164] Forked 5075 -(5075) found -[1163] Forked 5076 -[1162] Forked 5077 -(5076) found -(5077) found -[1161] Forked 5078 -[1160] Forked 5079 -(5078) found -(5079) found -[1159] Forked 5080 -[1158] Forked 5081 -(5080) found -(5081) found -[1157] Forked 5082 -[1156] Forked 5083 -(5082) found -(5083) found -[1155] Forked 5084 -[1154] Forked 5085 -(5084) found -(5085) found -[1153] Forked 5086 -[1152] Forked 5087 -(5086) found -(5087) found -[1151] Forked 5088 -[1150] Forked 5089 -(5088) found -(5089) found -[1149] Forked 5090 -[1148] Forked 5091 -(5090) found -(5091) found -[1147] Forked 5092 -[1146] Forked 5093 -(5092) found -(5093) found -[1145] Forked 5094 -[1144] Forked 5095 -(5094) found -(5095) found -[1143] Forked 5096 -[1142] Forked 5097 -(5096) found -(5097) found -[1141] Forked 5098 -[1140] Forked 5099 -(5098) found -(5099) found -[1139] Forked 5100 -[1138] Forked 5101 -(5100) found -(5101) found -[1137] Forked 5102 -[1136] Forked 5103 -(5102) found -(5103) found -[1135] Forked 5104 -[1134] Forked 5105 -(5104) found -(5105) found -[1133] Forked 5106 -[1132] Forked 5107 -(5106) found -(5107) found -[1131] Forked 5108 -[1130] Forked 5109 -(5108) found -(5109) found -[1129] Forked 5110 -[1128] Forked 5111 -(5110) found -(5111) found -[1127] Forked 5112 -[1126] Forked 5113 -(5112) found -(5113) found -[1125] Forked 5114 -[1124] Forked 5115 -(5114) found -(5115) found -[1123] Forked 5116 -[1122] Forked 5117 -(5116) found -(5117) found -[1121] Forked 5118 -[1120] Forked 5119 -(5118) found -(5119) found -[1119] Forked 5120 -[1118] Forked 5121 -(5120) found -(5121) found -[1117] Forked 5122 -[1116] Forked 5123 -(5122) found -(5123) found -[1115] Forked 5124 -[1114] Forked 5125 -(5124) found -(5125) found -[1113] Forked 5126 -[1112] Forked 5127 -(5126) found -(5127) found -[1111] Forked 5128 -[1110] Forked 5129 -(5128) found -(5129) found -[1109] Forked 5130 -[1108] Forked 5131 -(5130) found -(5131) found -[1107] Forked 5132 -[1106] Forked 5133 -(5132) found -(5133) found -[1105] Forked 5134 -[1104] Forked 5135 -(5134) found -(5135) found -[1103] Forked 5136 -[1102] Forked 5137 -(5136) found -(5137) found -[1101] Forked 5138 -[1100] Forked 5139 -(5138) found -(5139) found -[1099] Forked 5140 -[1098] Forked 5141 -(5140) found -(5141) found -[1097] Forked 5142 -[1096] Forked 5143 -(5142) found -(5143) found -[1095] Forked 5144 -[1094] Forked 5145 -(5144) found -(5145) found -[1093] Forked 5146 -[1092] Forked 5147 -(5146) found -(5147) found -[1091] Forked 5148 -[1090] Forked 5149 -(5148) found -(5149) found -[1089] Forked 5150 -[1088] Forked 5151 -(5150) found -(5151) found -[1087] Forked 5152 -[1086] Forked 5153 -(5152) found -(5153) found -[1085] Forked 5154 -[1084] Forked 5155 -(5154) found -(5155) found -[1083] Forked 5156 -[1082] Forked 5157 -(5156) found -(5157) found -[1081] Forked 5158 -[1080] Forked 5159 -(5158) found -(5159) found -[1079] Forked 5160 -[1078] Forked 5161 -(5160) found -(5161) found -[1077] Forked 5162 -[1076] Forked 5163 -(5162) found -(5163) found -[1075] Forked 5164 -[1074] Forked 5165 -(5164) found -(5165) found -[1073] Forked 5166 -(5166) found -[1072] Forked 5167 -(5167) found -[1071] Forked 5168 -(5168) found -[1070] Forked 5169 -(5169) found -[1069] Forked 5170 -(5170) found -[1068] Forked 5171 -(5171) found -[1067] Forked 5172 -(5172) found -[1066] Forked 5173 -(5173) found -[1065] Forked 5174 -(5174) found -[1064] Forked 5175 -(5175) found -[1063] Forked 5176 -(5176) found -[1062] Forked 5177 -(5177) found -[1061] Forked 5178 -(5178) found -[1060] Forked 5179 -(5179) found -[1059] Forked 5180 -(5180) found -[1058] Forked 5181 -(5181) found -[1057] Forked 5182 -(5182) found -[1056] Forked 5183 -(5183) found -[1055] Forked 5184 -(5184) found -[1054] Forked 5185 -(5185) found -[1053] Forked 5186 -(5186) found -[1052] Forked 5187 -(5187) found -[1051] Forked 5188 -(5188) found -[1050] Forked 5189 -(5189) found -[1049] Forked 5190 -(5190) found -[1048] Forked 5191 -(5191) found -[1047] Forked 5192 -(5192) found -[1046] Forked 5193 -(5193) found -[1045] Forked 5194 -(5194) found -[1044] Forked 5195 -(5195) found -[1043] Forked 5196 -(5196) found -[1042] Forked 5197 -(5197) found -[1041] Forked 5198 -(5198) found -[1040] Forked 5199 -(5199) found -[1039] Forked 5200 -(5200) found -[1038] Forked 5201 -[1037] Forked 5202 -(5201) found -(5202) found -[1036] Forked 5203 -[1035] Forked 5204 -(5203) found -(5204) found -[1034] Forked 5205 -[1033] Forked 5207 -(5205) found -(5207) found -[1032] Forked 5208 -(5208) found -[1031] Forked 5209 -(5209) found -[1030] Forked 5210 -(5210) found -[1029] Forked 5211 -(5211) found -[1028] Forked 5212 -(5212) found -[1027] Forked 5213 -(5213) found -[1026] Forked 5214 -(5214) found -[1025] Forked 5215 -(5215) found -[1024] Forked 5216 -(5216) found -[1023] Forked 5217 -(5217) found -[1022] Forked 5218 -(5218) found -[1021] Forked 5219 -(5219) found -[1020] Forked 5220 -(5220) found -[1019] Forked 5221 -(5221) found -[1018] Forked 5222 -(5222) found -[1017] Forked 5223 -(5223) found -[1016] Forked 5224 -(5224) found -[1015] Forked 5225 -(5225) found -[1014] Forked 5226 -(5226) found -[1013] Forked 5227 -(5227) found -[1012] Forked 5228 -(5228) found -[1011] Forked 5229 -(5229) found -[1010] Forked 5230 -(5230) found -[1009] Forked 5231 -(5231) found -[1008] Forked 5232 -(5232) found -[1007] Forked 5233 -(5233) found -[1006] Forked 5234 -(5234) found -[1005] Forked 5235 -(5235) found -[1004] Forked 5236 -(5236) found -[1003] Forked 5237 -(5237) found -[1002] Forked 5238 -(5238) found -[1001] Forked 5239 -(5239) found -[1000] Forked 5240 -(5240) found -[999] Forked 5241 -(5241) found -[998] Forked 5242 -(5242) found -[997] Forked 5243 -(5243) found -[996] Forked 5244 -(5244) found -[995] Forked 5245 -(5245) found -[994] Forked 5246 -(5246) found -[993] Forked 5247 -(5247) found -[992] Forked 5248 -(5248) found -[991] Forked 5249 -(5249) found -[990] Forked 5250 -(5250) found -[989] Forked 5251 -(5251) found -[988] Forked 5252 -(5252) found -[987] Forked 5253 -(5253) found -[986] Forked 5254 -(5254) found -[985] Forked 5255 -(5255) found -[984] Forked 5256 -(5256) found -[983] Forked 5257 -(5257) found -[982] Forked 5258 -(5258) found -[981] Forked 5259 -(5259) found -[980] Forked 5260 -(5260) found -[979] Forked 5261 -(5261) found -[978] Forked 5262 -(5262) found -[977] Forked 5263 -(5263) found -[976] Forked 5264 -(5264) found -[975] Forked 5265 -(5265) found -[974] Forked 5266 -(5266) found -[973] Forked 5267 -(5267) found -[972] Forked 5268 -(5268) found -[971] Forked 5269 -(5269) found -[970] Forked 5270 -(5270) found -[969] Forked 5271 -(5271) found -[968] Forked 5272 -(5272) found -[967] Forked 5273 -(5273) found -[966] Forked 5274 -(5274) found -[965] Forked 5275 -[964] Forked 5276 -(5275) found -(5276) found -[963] Forked 5277 -[962] Forked 5278 -(5277) found -(5278) found -[961] Forked 5279 -[960] Forked 5280 -(5279) found -(5280) found -[959] Forked 5281 -[958] Forked 5282 -(5281) found -(5282) found -[957] Forked 5283 -[956] Forked 5284 -(5283) found -(5284) found -[955] Forked 5285 -[954] Forked 5286 -(5285) found -(5286) found -[953] Forked 5287 -[952] Forked 5288 -(5287) found -(5288) found -[951] Forked 5289 -[950] Forked 5290 -(5289) found -(5290) found -[949] Forked 5291 -[948] Forked 5292 -(5291) found -(5292) found -[947] Forked 5293 -[946] Forked 5294 -(5293) found -(5294) found -[945] Forked 5295 -[944] Forked 5296 -(5295) found -(5296) found -[943] Forked 5297 -[942] Forked 5298 -(5297) found -(5298) found -[941] Forked 5299 -[940] Forked 5300 -(5299) found -(5300) found -[939] Forked 5301 -[938] Forked 5302 -(5301) found -(5302) found -[937] Forked 5303 -[936] Forked 5304 -(5303) found -(5304) found -[935] Forked 5305 -[934] Forked 5306 -(5305) found -(5306) found -[933] Forked 5307 -[932] Forked 5308 -(5307) found -(5308) found -[931] Forked 5309 -[930] Forked 5310 -(5309) found -(5310) found -[929] Forked 5311 -[928] Forked 5312 -(5311) found -(5312) found -[927] Forked 5313 -[926] Forked 5314 -(5313) found -(5314) found -[925] Forked 5315 -[924] Forked 5316 -(5315) found -(5316) found -[923] Forked 5317 -(5317) found -[922] Forked 5318 -(5318) found -[921] Forked 5319 -(5319) found -[920] Forked 5320 -(5320) found -[919] Forked 5321 -(5321) found -[918] Forked 5322 -(5322) found -[917] Forked 5323 -(5323) found -[916] Forked 5324 -(5324) found -[915] Forked 5325 -(5325) found -[914] Forked 5326 -(5326) found -[913] Forked 5327 -(5327) found -[912] Forked 5328 -(5328) found -[911] Forked 5329 -(5329) found -[910] Forked 5330 -(5330) found -[909] Forked 5331 -(5331) found -[908] Forked 5332 -(5332) found -[907] Forked 5333 -(5333) found -[906] Forked 5334 -(5334) found -[905] Forked 5335 -(5335) found -[904] Forked 5336 -(5336) found -[903] Forked 5337 -(5337) found -[902] Forked 5338 -(5338) found -[901] Forked 5339 -(5339) found -[900] Forked 5340 -(5340) found -[899] Forked 5341 -(5341) found -[898] Forked 5342 -(5342) found -[897] Forked 5343 -(5343) found -[896] Forked 5344 -(5344) found -[895] Forked 5345 -(5345) found -[894] Forked 5346 -(5346) found -[893] Forked 5347 -(5347) found -[892] Forked 5348 -(5348) found -[891] Forked 5349 -(5349) found -[890] Forked 5350 -(5350) found -[889] Forked 5351 -(5351) found -[888] Forked 5352 -(5352) found -[887] Forked 5353 -[886] Forked 5354 -(5353) found -(5354) found -[885] Forked 5355 -[884] Forked 5356 -(5355) found -(5356) found -[883] Forked 5357 -[882] Forked 5358 -(5357) found -(5358) found -[881] Forked 5359 -[880] Forked 5360 -(5359) found -(5360) found -[879] Forked 5361 -[878] Forked 5362 -(5361) found -(5362) found -[877] Forked 5363 -[876] Forked 5364 -(5363) found -(5364) found -[875] Forked 5365 -[874] Forked 5366 -(5365) found -(5366) found -[873] Forked 5367 -(5367) found -[872] Forked 5368 -(5368) found -[871] Forked 5369 -[870] Forked 5370 -(5369) found -(5370) found -[869] Forked 5371 -[868] Forked 5372 -(5371) found -(5372) found -[867] Forked 5373 -[866] Forked 5374 -(5373) found -(5374) found -[865] Forked 5375 -[864] Forked 5376 -(5375) found -(5376) found -[863] Forked 5377 -[862] Forked 5378 -(5377) found -(5378) found -[861] Forked 5379 -[860] Forked 5380 -(5379) found -(5380) found -[859] Forked 5381 -[858] Forked 5382 -(5381) found -(5382) found -[857] Forked 5383 -[856] Forked 5384 -(5383) found -(5384) found -[855] Forked 5385 -[854] Forked 5386 -(5385) found -(5386) found -[853] Forked 5387 -[852] Forked 5388 -(5387) found -(5388) found -[851] Forked 5389 -[850] Forked 5390 -(5389) found -(5390) found -[849] Forked 5391 -[848] Forked 5392 -(5391) found -(5392) found -[847] Forked 5393 -[846] Forked 5394 -(5393) found -(5394) found -[845] Forked 5395 -[844] Forked 5396 -(5395) found -(5396) found -[843] Forked 5397 -[842] Forked 5398 -(5397) found -(5398) found -[841] Forked 5399 -[840] Forked 5400 -(5399) found -(5400) found -[839] Forked 5401 -[838] Forked 5402 -(5401) found -(5402) found -[837] Forked 5403 -[836] Forked 5404 -(5403) found -(5404) found -[835] Forked 5405 -[834] Forked 5406 -(5405) found -(5406) found -[833] Forked 5407 -[832] Forked 5408 -(5407) found -(5408) found -[831] Forked 5409 -[830] Forked 5410 -(5409) found -(5410) found -[829] Forked 5411 -[828] Forked 5412 -(5411) found -(5412) found -[827] Forked 5413 -[826] Forked 5414 -(5414) found -(5413) found -[825] Forked 5415 -(5415) found -[824] Forked 5416 -(5416) found -[823] Forked 5417 -(5417) found -[822] Forked 5418 -(5418) found -[821] Forked 5419 -(5419) found -[820] Forked 5420 -(5420) found -[819] Forked 5421 -(5421) found -[818] Forked 5422 -(5422) found -[817] Forked 5423 -(5423) found -[816] Forked 5424 -(5424) found -[815] Forked 5425 -(5425) found -[814] Forked 5426 -(5426) found -[813] Forked 5427 -(5427) found -[812] Forked 5428 -(5428) found -[811] Forked 5429 -(5429) found -[810] Forked 5430 -(5430) found -[809] Forked 5431 -(5431) found -[808] Forked 5432 -(5432) found -[807] Forked 5433 -(5433) found -[806] Forked 5434 -(5434) found -[805] Forked 5435 -(5435) found -[804] Forked 5436 -(5436) found -[803] Forked 5437 -(5437) found -[802] Forked 5438 -(5438) found -[801] Forked 5439 -(5439) found -[800] Forked 5440 -(5440) found -[799] Forked 5441 -(5441) found -[798] Forked 5442 -(5442) found -[797] Forked 5443 -(5443) found -[796] Forked 5444 -(5444) found -[795] Forked 5445 -(5445) found -[794] Forked 5446 -(5446) found -[793] Forked 5447 -(5447) found -[792] Forked 5448 -(5448) found -[791] Forked 5449 -(5449) found -[790] Forked 5450 -(5450) found -[789] Forked 5451 -(5451) found -[788] Forked 5452 -(5452) found -[787] Forked 5453 -(5453) found -[786] Forked 5454 -(5454) found -[785] Forked 5455 -(5455) found -[784] Forked 5456 -(5456) found -[783] Forked 5457 -(5457) found -[782] Forked 5458 -(5458) found -[781] Forked 5459 -(5459) found -[780] Forked 5460 -(5460) found -[779] Forked 5461 -(5461) found -[778] Forked 5462 -(5462) found -[777] Forked 5463 -(5463) found -[776] Forked 5464 -(5464) found -[775] Forked 5465 -(5465) found -[774] Forked 5466 -(5466) found -[773] Forked 5467 -(5467) found -[772] Forked 5468 -(5468) found -[771] Forked 5469 -(5469) found -[770] Forked 5470 -(5470) found -[769] Forked 5471 -(5471) found -[768] Forked 5472 -[767] Forked 5473 -(5472) found -(5473) found -[766] Forked 5474 -[765] Forked 5475 -(5474) found -(5475) found -[764] Forked 5476 -[763] Forked 5477 -(5476) found -(5477) found -[762] Forked 5478 -[761] Forked 5479 -(5478) found -(5479) found -[760] Forked 5480 -[759] Forked 5481 -(5480) found -(5481) found -[758] Forked 5482 -[757] Forked 5483 -(5482) found -(5483) found -[756] Forked 5484 -[755] Forked 5485 -(5484) found -(5485) found -[754] Forked 5486 -[753] Forked 5487 -(5486) found -(5487) found -[752] Forked 5488 -[751] Forked 5489 -(5488) found -(5489) found -[750] Forked 5490 -[749] Forked 5491 -(5490) found -(5491) found -[748] Forked 5492 -[747] Forked 5493 -(5492) found -(5493) found -[746] Forked 5494 -[745] Forked 5495 -(5494) found -(5495) found -[744] Forked 5496 -[743] Forked 5497 -(5496) found -(5497) found -[742] Forked 5498 -[741] Forked 5499 -(5498) found -(5499) found -[740] Forked 5500 -[739] Forked 5501 -(5500) found -(5501) found -[738] Forked 5502 -[737] Forked 5503 -(5502) found -(5503) found -[736] Forked 5504 -[735] Forked 5505 -(5504) found -(5505) found -[734] Forked 5506 -[733] Forked 5507 -(5506) found -(5507) found -[732] Forked 5508 -[731] Forked 5509 -(5508) found -(5509) found -[730] Forked 5510 -[729] Forked 5511 -(5510) found -(5511) found -[728] Forked 5512 -[727] Forked 5513 -(5512) found -(5513) found -[726] Forked 5514 -[725] Forked 5515 -(5514) found -(5515) found -[724] Forked 5516 -[723] Forked 5517 -(5516) found -(5517) found -[722] Forked 5518 -[721] Forked 5519 -(5518) found -(5519) found -[720] Forked 5520 -[719] Forked 5521 -(5520) found -(5521) found -[718] Forked 5522 -[717] Forked 5523 -(5522) found -(5523) found -[716] Forked 5524 -[715] Forked 5525 -(5524) found -(5525) found -[714] Forked 5526 -[713] Forked 5527 -(5526) found -(5527) found -[712] Forked 5528 -[711] Forked 5529 -(5528) found -(5529) found -[710] Forked 5530 -[709] Forked 5531 -(5530) found -(5531) found -[708] Forked 5532 -[707] Forked 5533 -(5532) found -(5533) found -[706] Forked 5534 -[705] Forked 5535 -(5534) found -(5535) found -[704] Forked 5536 -[703] Forked 5537 -(5536) found -(5537) found -[702] Forked 5538 -[701] Forked 5539 -(5538) found -(5539) found -[700] Forked 5540 -[699] Forked 5541 -(5540) found -(5541) found -[698] Forked 5542 -[697] Forked 5543 -(5542) found -(5543) found -[696] Forked 5544 -[695] Forked 5545 -(5544) found -(5545) found -[694] Forked 5546 -[693] Forked 5547 -(5546) found -(5547) found -[692] Forked 5548 -[691] Forked 5549 -(5548) found -(5549) found -[690] Forked 5550 -[689] Forked 5551 -(5550) found -(5551) found -[688] Forked 5552 -[687] Forked 5553 -(5552) found -(5553) found -[686] Forked 5554 -[685] Forked 5555 -(5554) found -(5555) found -[684] Forked 5556 -[683] Forked 5557 -(5556) found -(5557) found -[682] Forked 5558 -[681] Forked 5559 -(5558) found -(5559) found -[680] Forked 5560 -[679] Forked 5561 -(5560) found -(5561) found -[678] Forked 5562 -[677] Forked 5563 -(5562) found -(5563) found -[676] Forked 5564 -(5564) found -[675] Forked 5565 -(5565) found -[674] Forked 5566 -(5566) found -[673] Forked 5567 -(5567) found -[672] Forked 5568 -(5568) found -[671] Forked 5569 -(5569) found -[670] Forked 5570 -(5570) found -[669] Forked 5571 -(5571) found -[668] Forked 5572 -(5572) found -[667] Forked 5573 -(5573) found -[666] Forked 5574 -(5574) found -[665] Forked 5575 -(5575) found -[664] Forked 5576 -(5576) found -[663] Forked 5577 -(5577) found -[662] Forked 5578 -(5578) found -[661] Forked 5579 -(5579) found -[660] Forked 5580 -(5580) found -[659] Forked 5581 -(5581) found -[658] Forked 5582 -(5582) found -[657] Forked 5583 -(5583) found -[656] Forked 5584 -(5584) found -[655] Forked 5585 -(5585) found -[654] Forked 5586 -(5586) found -[653] Forked 5587 -(5587) found -[652] Forked 5588 -(5588) found -[651] Forked 5589 -(5589) found -[650] Forked 5590 -(5590) found -[649] Forked 5591 -(5591) found -[648] Forked 5592 -(5592) found -[647] Forked 5593 -(5593) found -[646] Forked 5594 -(5594) found -[645] Forked 5595 -(5595) found -[644] Forked 5596 -(5596) found -[643] Forked 5597 -(5597) found -[642] Forked 5598 -(5598) found -[641] Forked 5599 -(5599) found -[640] Forked 5600 -(5600) found -[639] Forked 5601 -[638] Forked 5602 -(5601) found -(5602) found -[637] Forked 5603 -[636] Forked 5604 -(5603) found -(5604) found -[635] Forked 5605 -[634] Forked 5606 -(5605) found -(5606) found -[633] Forked 5607 -[632] Forked 5608 -(5607) found -(5608) found -[631] Forked 5609 -[630] Forked 5610 -(5609) found -(5610) found -[629] Forked 5611 -[628] Forked 5612 -(5611) found -(5612) found -[627] Forked 5613 -[626] Forked 5614 -(5613) found -(5614) found -[625] Forked 5615 -[624] Forked 5616 -(5615) found -(5616) found -[623] Forked 5617 -[622] Forked 5618 -(5617) found -(5618) found -[621] Forked 5619 -[620] Forked 5620 -(5619) found -(5620) found -[619] Forked 5621 -[618] Forked 5622 -(5621) found -(5622) found -[617] Forked 5623 -[616] Forked 5624 -(5623) found -(5624) found -[615] Forked 5625 -[614] Forked 5626 -(5625) found -(5626) found -[613] Forked 5627 -[612] Forked 5628 -(5627) found -(5628) found -[611] Forked 5629 -[610] Forked 5630 -(5629) found -(5630) found -[609] Forked 5631 -[608] Forked 5632 -(5631) found -(5632) found -[607] Forked 5633 -[606] Forked 5634 -(5633) found -(5634) found -[605] Forked 5635 -[604] Forked 5636 -(5635) found -(5636) found -[603] Forked 5637 -[602] Forked 5638 -(5637) found -(5638) found -[601] Forked 5639 -[600] Forked 5640 -(5639) found -(5640) found -[599] Forked 5641 -[598] Forked 5642 -(5641) found -(5642) found -[597] Forked 5643 -[596] Forked 5644 -(5643) found -(5644) found -[595] Forked 5645 -[594] Forked 5646 -(5645) found -(5646) found -[593] Forked 5647 -[592] Forked 5648 -(5647) found -(5648) found -[591] Forked 5649 -[590] Forked 5650 -(5649) found -(5650) found -[589] Forked 5651 -[588] Forked 5652 -(5651) found -(5652) found -[587] Forked 5653 -[586] Forked 5654 -(5653) found -(5654) found -[585] Forked 5655 -[584] Forked 5656 -(5655) found -(5656) found -[583] Forked 5657 -[582] Forked 5658 -(5657) found -(5658) found -[581] Forked 5659 -[580] Forked 5660 -(5659) found -(5660) found -[579] Forked 5661 -[578] Forked 5662 -(5661) found -(5662) found -[577] Forked 5663 -[576] Forked 5664 -(5663) found -(5664) found -[575] Forked 5665 -[574] Forked 5666 -(5665) found -(5666) found -[573] Forked 5667 -[572] Forked 5668 -(5667) found -(5668) found -[571] Forked 5669 -[570] Forked 5670 -(5669) found -(5670) found -[569] Forked 5671 -[568] Forked 5672 -(5671) found -(5672) found -[567] Forked 5673 -[566] Forked 5674 -(5673) found -(5674) found -[565] Forked 5675 -[564] Forked 5676 -(5675) found -(5676) found -[563] Forked 5677 -[562] Forked 5678 -(5677) found -(5678) found -[561] Forked 5679 -[560] Forked 5680 -(5679) found -(5680) found -[559] Forked 5681 -[558] Forked 5682 -(5681) found -(5682) found -[557] Forked 5683 -[556] Forked 5684 -(5683) found -(5684) found -[555] Forked 5685 -[554] Forked 5686 -(5685) found -(5686) found -[553] Forked 5687 -[552] Forked 5688 -(5687) found -(5688) found -[551] Forked 5689 -[550] Forked 5690 -(5689) found -(5690) found -[549] Forked 5691 -[548] Forked 5692 -(5691) found -(5692) found -[547] Forked 5693 -(5693) found -[546] Forked 5694 -[545] Forked 5695 -(5694) found -(5695) found -[544] Forked 5696 -(5696) found -[543] Forked 5697 -[542] Forked 5698 -(5697) found -(5698) found -[541] Forked 5699 -[540] Forked 5700 -(5699) found -(5700) found -[539] Forked 5701 -[538] Forked 5702 -(5701) found -(5702) found -[537] Forked 5703 -[536] Forked 5705 -(5703) found -(5705) found -[535] Forked 5706 -(5706) found -[534] Forked 5707 -(5707) found -[533] Forked 5708 -(5708) found -[532] Forked 5709 -(5709) found -[531] Forked 5710 -(5710) found -[530] Forked 5711 -(5711) found -[529] Forked 5712 -(5712) found -[528] Forked 5713 -(5713) found -[527] Forked 5714 -(5714) found -[526] Forked 5715 -(5715) found -[525] Forked 5716 -(5716) found -[524] Forked 5717 -(5717) found -[523] Forked 5718 -(5718) found -[522] Forked 5719 -(5719) found -[521] Forked 5720 -(5720) found -[520] Forked 5721 -(5721) found -[519] Forked 5722 -(5722) found -[518] Forked 5723 -(5723) found -[517] Forked 5724 -(5724) found -[516] Forked 5725 -(5725) found -[515] Forked 5726 -(5726) found -[514] Forked 5727 -(5727) found -[513] Forked 5728 -(5728) found -[512] Forked 5729 -(5729) found -[511] Forked 5730 -(5730) found -[510] Forked 5731 -(5731) found -[509] Forked 5732 -(5732) found -[508] Forked 5733 -(5733) found -[507] Forked 5734 -(5734) found -[506] Forked 5735 -(5735) found -[505] Forked 5736 -(5736) found -[504] Forked 5737 -(5737) found -[503] Forked 5738 -(5738) found -[502] Forked 5739 -(5739) found -[501] Forked 5740 -(5740) found -[500] Forked 5741 -(5741) found -[499] Forked 5742 -(5742) found -[498] Forked 5743 -(5743) found -[497] Forked 5744 -(5744) found -[496] Forked 5745 -(5745) found -[495] Forked 5746 -(5746) found -[494] Forked 5747 -(5747) found -[493] Forked 5748 -(5748) found -[492] Forked 5749 -(5749) found -[491] Forked 5750 -(5750) found -[490] Forked 5751 -(5751) found -[489] Forked 5752 -(5752) found -[488] Forked 5753 -(5753) found -[487] Forked 5754 -(5754) found -[486] Forked 5755 -(5755) found -[485] Forked 5756 -(5756) found -[484] Forked 5757 -(5757) found -[483] Forked 5758 -(5758) found -[482] Forked 5759 -(5759) found -[481] Forked 5760 -(5760) found -[480] Forked 5761 -(5761) found -[479] Forked 5762 -(5762) found -[478] Forked 5763 -(5763) found -[477] Forked 5764 -(5764) found -[476] Forked 5765 -(5765) found -[475] Forked 5766 -(5766) found -[474] Forked 5767 -(5767) found -[473] Forked 5768 -(5768) found -[472] Forked 5769 -(5769) found -[471] Forked 5770 -(5770) found -[470] Forked 5771 -(5771) found -[469] Forked 5772 -(5772) found -[468] Forked 5773 -(5773) found -[467] Forked 5774 -(5774) found -[466] Forked 5775 -(5775) found -[465] Forked 5776 -(5776) found -[464] Forked 5777 -(5777) found -[463] Forked 5778 -(5778) found -[462] Forked 5779 -(5779) found -[461] Forked 5780 -(5780) found -[460] Forked 5781 -(5781) found -[459] Forked 5782 -(5782) found -[458] Forked 5783 -(5783) found -[457] Forked 5784 -(5784) found -[456] Forked 5785 -(5785) found -[455] Forked 5786 -(5786) found -[454] Forked 5787 -(5787) found -[453] Forked 5788 -(5788) found -[452] Forked 5789 -(5789) found -[451] Forked 5790 -(5790) found -[450] Forked 5791 -(5791) found -[449] Forked 5792 -(5792) found -[448] Forked 5793 -(5793) found -[447] Forked 5794 -(5794) found -[446] Forked 5795 -(5795) found -[445] Forked 5796 -(5796) found -[444] Forked 5797 -(5797) found -[443] Forked 5798 -(5798) found -[442] Forked 5799 -(5799) found -[441] Forked 5800 -(5800) found -[440] Forked 5801 -(5801) found -[439] Forked 5802 -(5802) found -[438] Forked 5803 -(5803) found -[437] Forked 5804 -[436] Forked 5805 -(5804) found -(5805) found -[435] Forked 5806 -[434] Forked 5807 -(5806) found -(5807) found -[433] Forked 5808 -[432] Forked 5809 -(5808) found -(5809) found -[431] Forked 5810 -[430] Forked 5811 -(5810) found -(5811) found -[429] Forked 5812 -[428] Forked 5813 -(5812) found -(5813) found -[427] Forked 5814 -[426] Forked 5815 -(5814) found -(5815) found -[425] Forked 5816 -[424] Forked 5817 -(5816) found -(5817) found -[423] Forked 5818 -[422] Forked 5819 -(5818) found -(5819) found -[421] Forked 5820 -[420] Forked 5821 -(5820) found -(5821) found -[419] Forked 5822 -[418] Forked 5823 -(5822) found -(5823) found -[417] Forked 5824 -[416] Forked 5825 -(5824) found -(5825) found -[415] Forked 5826 -[414] Forked 5827 -(5826) found -(5827) found -[413] Forked 5828 -[412] Forked 5829 -(5828) found -(5829) found -[411] Forked 5830 -[410] Forked 5831 -(5830) found -(5831) found -[409] Forked 5832 -[408] Forked 5833 -(5832) found -(5833) found -[407] Forked 5834 -[406] Forked 5835 -(5834) found -(5835) found -[405] Forked 5836 -[404] Forked 5838 -(5836) found -(5838) found -[403] Forked 5839 -(5839) found -[402] Forked 5840 -(5840) found -[401] Forked 5841 -(5841) found -[400] Forked 5842 -(5842) found -[399] Forked 5843 -(5843) found -[398] Forked 5844 -(5844) found -[397] Forked 5845 -(5845) found -[396] Forked 5846 -(5846) found -[395] Forked 5847 -(5847) found -[394] Forked 5848 -(5848) found -[393] Forked 5849 -(5849) found -[392] Forked 5850 -(5850) found -[391] Forked 5851 -(5851) found -[390] Forked 5852 -(5852) found -[389] Forked 5853 -(5853) found -[388] Forked 5854 -(5854) found -[387] Forked 5855 -(5855) found -[386] Forked 5856 -(5856) found -[385] Forked 5857 -(5857) found -[384] Forked 5858 -(5858) found -[383] Forked 5859 -(5859) found -[382] Forked 5860 -(5860) found -[381] Forked 5861 -(5861) found -[380] Forked 5862 -(5862) found -[379] Forked 5863 -(5863) found -[378] Forked 5864 -(5864) found -[377] Forked 5865 -(5865) found -[376] Forked 5866 -(5866) found -[375] Forked 5867 -(5867) found -[374] Forked 5868 -(5868) found -[373] Forked 5869 -(5869) found -[372] Forked 5870 -(5870) found -[371] Forked 5871 -(5871) found -[370] Forked 5872 -(5872) found -[369] Forked 5873 -(5873) found -[368] Forked 5874 -(5874) found -[367] Forked 5875 -(5875) found -[366] Forked 5876 -(5876) found -[365] Forked 5877 -(5877) found -[364] Forked 5878 -(5878) found -[363] Forked 5879 -(5879) found -[362] Forked 5880 -(5880) found -[361] Forked 5881 -(5881) found -[360] Forked 5882 -(5882) found -[359] Forked 5883 -(5883) found -[358] Forked 5884 -[357] Forked 5885 -(5884) found -(5885) found -[356] Forked 5886 -(5886) found -[355] Forked 5887 -[354] Forked 5888 -(5887) found -(5888) found -[353] Forked 5889 -[352] Forked 5890 -(5889) found -(5890) found -[351] Forked 5891 -[350] Forked 5892 -(5891) found -(5892) found -[349] Forked 5893 -[348] Forked 5894 -(5893) found -(5894) found -[347] Forked 5895 -[346] Forked 5896 -(5895) found -(5896) found -[345] Forked 5897 -[344] Forked 5898 -(5897) found -(5898) found -[343] Forked 5899 -[342] Forked 5900 -(5899) found -(5900) found -[341] Forked 5901 -[340] Forked 5902 -(5901) found -(5902) found -[339] Forked 5903 -[338] Forked 5904 -(5903) found -(5904) found -[337] Forked 5905 -[336] Forked 5906 -(5905) found -(5906) found -[335] Forked 5907 -[334] Forked 5908 -(5907) found -(5908) found -[333] Forked 5909 -[332] Forked 5910 -(5909) found -(5910) found -[331] Forked 5911 -[330] Forked 5912 -(5911) found -(5912) found -[329] Forked 5913 -[328] Forked 5914 -(5913) found -(5914) found -[327] Forked 5915 -[326] Forked 5916 -(5915) found -(5916) found -[325] Forked 5917 -[324] Forked 5918 -(5917) found -(5918) found -[323] Forked 5919 -[322] Forked 5920 -(5919) found -(5920) found -[321] Forked 5921 -[320] Forked 5922 -(5921) found -(5922) found -[319] Forked 5923 -[318] Forked 5924 -(5923) found -(5924) found -[317] Forked 5925 -[316] Forked 5926 -(5925) found -(5926) found -[315] Forked 5927 -[314] Forked 5928 -(5927) found -(5928) found -[313] Forked 5929 -[312] Forked 5930 -(5929) found -(5930) found -[311] Forked 5931 -[310] Forked 5932 -(5931) found -(5932) found -[309] Forked 5933 -[308] Forked 5934 -(5933) found -(5934) found -[307] Forked 5935 -[306] Forked 5936 -(5935) found -(5936) found -[305] Forked 5937 -[304] Forked 5938 -(5937) found -(5938) found -[303] Forked 5939 -[302] Forked 5940 -(5939) found -(5940) found -[301] Forked 5941 -[300] Forked 5942 -(5941) found -(5942) found -[299] Forked 5943 -[298] Forked 5944 -(5943) found -(5944) found -[297] Forked 5945 -[296] Forked 5946 -(5945) found -(5946) found -[295] Forked 5947 -[294] Forked 5948 -(5947) found -(5948) found -[293] Forked 5949 -[292] Forked 5950 -(5949) found -(5950) found -[291] Forked 5951 -[290] Forked 5952 -(5951) found -(5952) found -[289] Forked 5953 -[288] Forked 5954 -(5953) found -(5954) found -[287] Forked 5955 -[286] Forked 5956 -(5955) found -(5956) found -[285] Forked 5957 -[284] Forked 5958 -(5957) found -(5958) found -[283] Forked 5959 -[282] Forked 5960 -(5959) found -(5960) found -[281] Forked 5961 -[280] Forked 5962 -(5961) found -(5962) found -[279] Forked 5963 -[278] Forked 5964 -(5963) found -(5964) found -[277] Forked 5965 -[276] Forked 5966 -(5965) found -(5966) found -[275] Forked 5967 -[274] Forked 5968 -(5967) found -(5968) found -[273] Forked 5969 -[272] Forked 5970 -(5969) found -(5970) found -[271] Forked 5971 -[270] Forked 5972 -(5971) found -(5972) found -[269] Forked 5973 -[268] Forked 5974 -(5973) found -(5974) found -[267] Forked 5975 -(5975) found -[266] Forked 5976 -(5976) found -[265] Forked 5977 -(5977) found -[264] Forked 5978 -(5978) found -[263] Forked 5979 -(5979) found -[262] Forked 5980 -(5980) found -[261] Forked 5981 -(5981) found -[260] Forked 5982 -(5982) found -[259] Forked 5983 -(5983) found -[258] Forked 5984 -(5984) found -[257] Forked 5985 -(5985) found -[256] Forked 5986 -(5986) found -[255] Forked 5987 -(5987) found -[254] Forked 5988 -(5988) found -[253] Forked 5989 -(5989) found -[252] Forked 5990 -(5990) found -[251] Forked 5991 -(5991) found -[250] Forked 5992 -(5992) found -[249] Forked 5993 -(5993) found -[248] Forked 5994 -(5994) found -[247] Forked 5995 -(5995) found -[246] Forked 5996 -(5996) found -[245] Forked 5997 -(5997) found -[244] Forked 5998 -(5998) found -[243] Forked 5999 -(5999) found -[242] Forked 6000 -(6000) found -[241] Forked 6001 -(6001) found -[240] Forked 6002 -(6002) found -[239] Forked 6003 -(6003) found -[238] Forked 6004 -(6004) found -[237] Forked 6005 -(6005) found -[236] Forked 6006 -(6006) found -[235] Forked 6007 -(6007) found -[234] Forked 6008 -(6008) found -[233] Forked 6009 -(6009) found -[232] Forked 6010 -(6010) found -[231] Forked 6011 -[230] Forked 6012 -(6011) found -(6012) found -[229] Forked 6013 -[228] Forked 6014 -(6013) found -(6014) found -[227] Forked 6015 -[226] Forked 6016 -(6015) found -(6016) found -[225] Forked 6017 -[224] Forked 6018 -(6017) found -(6018) found -[223] Forked 6019 -[222] Forked 6020 -(6019) found -(6020) found -[221] Forked 6021 -[220] Forked 6022 -(6021) found -(6022) found -[219] Forked 6023 -[218] Forked 6024 -(6023) found -(6024) found -[217] Forked 6025 -[216] Forked 6026 -(6025) found -(6026) found -[215] Forked 6027 -[214] Forked 6028 -(6027) found -(6028) found -[213] Forked 6029 -[212] Forked 6030 -(6029) found -(6030) found -[211] Forked 6031 -[210] Forked 6032 -(6031) found -(6032) found -[209] Forked 6033 -[208] Forked 6034 -(6033) found -(6034) found -[207] Forked 6035 -[206] Forked 6036 -(6035) found -(6036) found -[205] Forked 6037 -[204] Forked 6038 -(6037) found -(6038) found -[203] Forked 6039 -[202] Forked 6040 -(6039) found -(6040) found -[201] Forked 6041 -[200] Forked 6042 -(6041) found -(6042) found -[199] Forked 6043 -[198] Forked 6044 -(6043) found -(6044) found -[197] Forked 6045 -[196] Forked 6046 -(6045) found -(6046) found -[195] Forked 6047 -[194] Forked 6048 -(6047) found -(6048) found -[193] Forked 6049 -[192] Forked 6050 -(6049) found -(6050) found -[191] Forked 6051 -[190] Forked 6052 -(6051) found -(6052) found -[189] Forked 6053 -[188] Forked 6054 -(6053) found -(6054) found -[187] Forked 6055 -[186] Forked 6056 -(6055) found -(6056) found -[185] Forked 6057 -[184] Forked 6058 -(6057) found -(6058) found -[183] Forked 6059 -[182] Forked 6060 -(6059) found -(6060) found -[181] Forked 6061 -[180] Forked 6062 -(6061) found -(6062) found -[179] Forked 6063 -[178] Forked 6064 -(6063) found -(6064) found -[177] Forked 6065 -[176] Forked 6066 -(6065) found -(6066) found -[175] Forked 6067 -[174] Forked 6068 -(6067) found -(6068) found -[173] Forked 6069 -[172] Forked 6070 -(6069) found -(6070) found -[171] Forked 6071 -[170] Forked 6072 -(6071) found -(6072) found -[169] Forked 6073 -[168] Forked 6074 -(6073) found -(6074) found -[167] Forked 6075 -[166] Forked 6076 -(6075) found -(6076) found -[165] Forked 6077 -[164] Forked 6078 -(6077) found -(6078) found -[163] Forked 6079 -[162] Forked 6080 -(6079) found -(6080) found -[161] Forked 6081 -[160] Forked 6082 -(6081) found -(6082) found -[159] Forked 6083 -[158] Forked 6084 -(6083) found -(6084) found -[157] Forked 6085 -[156] Forked 6086 -(6085) found -(6086) found -[155] Forked 6087 -[154] Forked 6088 -(6087) found -(6088) found -[153] Forked 6089 -[152] Forked 6090 -(6089) found -(6090) found -[151] Forked 6091 -[150] Forked 6092 -(6091) found -(6092) found -[149] Forked 6093 -[148] Forked 6094 -(6093) found -(6094) found -[147] Forked 6095 -[146] Forked 6096 -(6095) found -(6096) found -[145] Forked 6097 -[144] Forked 6098 -(6097) found -(6098) found -[143] Forked 6099 -[142] Forked 6100 -(6099) found -(6100) found -[141] Forked 6101 -[140] Forked 6102 -(6101) found -(6102) found -[139] Forked 6103 -(6103) found -[138] Forked 6104 -(6104) found -[137] Forked 6105 -(6105) found -[136] Forked 6106 -(6106) found -[135] Forked 6107 -(6107) found -[134] Forked 6108 -(6108) found -[133] Forked 6109 -(6109) found -[132] Forked 6110 -(6110) found -[131] Forked 6111 -(6111) found -[130] Forked 6112 -(6112) found -[129] Forked 6113 -(6113) found -[128] Forked 6114 -(6114) found -[127] Forked 6115 -(6115) found -[126] Forked 6116 -(6116) found -[125] Forked 6117 -(6117) found -[124] Forked 6118 -(6118) found -[123] Forked 6119 -(6119) found -[122] Forked 6120 -(6120) found -[121] Forked 6121 -(6121) found -[120] Forked 6122 -(6122) found -[119] Forked 6123 -(6123) found -[118] Forked 6124 -(6124) found -[117] Forked 6125 -(6125) found -[116] Forked 6126 -(6126) found -[115] Forked 6127 -(6127) found -[114] Forked 6128 -(6128) found -[113] Forked 6129 -(6129) found -[112] Forked 6130 -(6130) found -[111] Forked 6131 -(6131) found -[110] Forked 6132 -(6132) found -[109] Forked 6133 -(6133) found -[108] Forked 6134 -(6134) found -[107] Forked 6135 -(6135) found -[106] Forked 6136 -(6136) found -[105] Forked 6137 -(6137) found -[104] Forked 6138 -[103] Forked 6139 -(6138) found -(6139) found -[102] Forked 6140 -[101] Forked 6141 -(6140) found -(6141) found -[100] Forked 6142 -[99] Forked 6143 -(6142) found -(6143) found -[98] Forked 6144 -[97] Forked 6145 -(6144) found -(6145) found -[96] Forked 6146 -[95] Forked 6147 -(6146) found -(6147) found -[94] Forked 6148 -[93] Forked 6149 -(6148) found -(6149) found -[92] Forked 6150 -[91] Forked 6151 -(6150) found -(6151) found -[90] Forked 6152 -[89] Forked 6153 -(6152) found -(6153) found -[88] Forked 6154 -[87] Forked 6155 -(6154) found -(6155) found -[86] Forked 6156 -[85] Forked 6157 -(6156) found -(6157) found -[84] Forked 6158 -[83] Forked 6159 -(6158) found -(6159) found -[82] Forked 6160 -[81] Forked 6161 -(6160) found -(6161) found -[80] Forked 6162 -[79] Forked 6163 -(6162) found -(6163) found -[78] Forked 6164 -[77] Forked 6165 -(6164) found -(6165) found -[76] Forked 6166 -[75] Forked 6167 -(6166) found -(6167) found -[74] Forked 6168 -[73] Forked 6169 -(6168) found -(6169) found -[72] Forked 6170 -[71] Forked 6171 -(6170) found -(6171) found -[70] Forked 6172 -[69] Forked 6173 -(6172) found -(6173) found -[68] Forked 6174 -[67] Forked 6175 -(6174) found -(6175) found -[66] Forked 6176 -[65] Forked 6177 -(6176) found -(6177) found -[64] Forked 6178 -[63] Forked 6179 -(6178) found -(6179) found -[62] Forked 6180 -[61] Forked 6181 -(6180) found -(6181) found -[60] Forked 6182 -[59] Forked 6183 -(6182) found -(6183) found -[58] Forked 6184 -(6184) found -[57] Forked 6185 -(6185) found -[56] Forked 6186 -(6186) found -[55] Forked 6187 -(6187) found -[54] Forked 6188 -(6188) found -[53] Forked 6189 -(6189) found -[52] Forked 6190 -(6190) found -[51] Forked 6191 -(6191) found -[50] Forked 6192 -(6192) found -[49] Forked 6193 -(6193) found -[48] Forked 6194 -(6194) found -[47] Forked 6195 -(6195) found -[46] Forked 6196 -(6196) found -[45] Forked 6197 -(6197) found -[44] Forked 6198 -(6198) found -[43] Forked 6199 -(6199) found -[42] Forked 6200 -(6200) found -[41] Forked 6201 -(6201) found -[40] Forked 6202 -(6202) found -[39] Forked 6203 -(6203) found -[38] Forked 6204 -(6204) found -[37] Forked 6205 -(6205) found -[36] Forked 6206 -(6206) found -[35] Forked 6207 -(6207) found -[34] Forked 6208 -(6208) found -[33] Forked 6209 -(6209) found -[32] Forked 6210 -(6210) found -[31] Forked 6211 -(6211) found -[30] Forked 6212 -(6212) found -[29] Forked 6213 -(6213) found -[28] Forked 6214 -(6214) found -[27] Forked 6215 -(6215) found -[26] Forked 6216 -(6216) found -[25] Forked 6217 -(6217) found -[24] Forked 6218 -(6218) found -[23] Forked 6219 -(6219) found -[22] Forked 6220 -[21] Forked 6221 -(6220) found -(6221) found -[20] Forked 6222 -(6222) found -[19] Forked 6223 -(6223) found -[18] Forked 6224 -(6224) found -[17] Forked 6225 -[16] Forked 6226 -(6225) found -(6226) found -[15] Forked 6227 -[14] Forked 6228 -(6227) found -(6228) found -[13] Forked 6229 -[12] Forked 6230 -(6229) found -(6230) found -[11] Forked 6231 -[10] Forked 6232 -(6231) found -(6232) found -[9] Forked 6233 -[8] Forked 6234 -(6233) found -(6234) found -[7] Forked 6235 -[6] Forked 6236 -(6235) found -(6236) found -[5] Forked 6237 -[4] Forked 6239 -(6237) found -(6239) found -[3] Forked 6240 -(6240) found -[2] Forked 6241 -(6241) found -[1] Forked 6242 -(6242) found -[0] Forked 6243 -(6243) found diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/memcpy.c b/software/cinit/browse_source/cinit-0.3pre19/src/test/memcpy.c deleted file mode 100644 index 3c6cc2ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/memcpy.c +++ /dev/null @@ -1,46 +0,0 @@ -#include /* memcpy() */ -#include - -struct cinit_answer { - int options; - char data[2045]; -}; - -int f1(struct cinit_answer *buf); -int f2(struct cinit_answer *buf); - -int f2(struct cinit_answer *buf) -{ - struct cinit_answer msg; - - printf("f2: %p\n", buf); - - msg.options = 12; - strcpy(msg.data, "stringit"); - - printf("addr= %p\n", memcpy(buf, &msg, sizeof(*buf))); - - printf("ok\n"); - - return 1; -} - -int f1(struct cinit_answer *buf) -{ - printf("f1: %p\n", buf); - printf("ret=%d\n", f2(buf)); - - return 1; -} - -int main() -{ - struct cinit_answer test; - - if(!f1(&test)) - return 1; - - printf("s: %s d: %d\n", test.data, test.options); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/test-newline.c b/software/cinit/browse_source/cinit-0.3pre19/src/test/test-newline.c deleted file mode 100644 index 4cccf535..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/test-newline.c +++ /dev/null @@ -1,30 +0,0 @@ -#include -#include -#include -#include - -char *strip_final_newline(char *test1); - -int main() -{ - // char *test1 = "zeile1\nzeile2\n"; - // char *test2 = "zeile1\nzeile2\nzeile3"; - char *test1; - char *test2; - - test1 = malloc(50); - test2 = malloc(50); - - strcpy(test1, "zeile1\nzeile2\n"); - strcpy(test2, "zeile1\nzeile2\nzeile3"); - - char *result; - - result = strip_final_newline(test1); - printf("A%sA\n", result); - - result = strip_final_newline(test2); - printf("B%sB\n", result); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre19/src/test/test_build_argv+link.c deleted file mode 100644 index 87e46293..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_build_argv+link.c +++ /dev/null @@ -1,37 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if((tmp = cinit_build_argv(file, &cargv)) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else - exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0], cargv.argv, cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre19/src/test/test_build_argv.c deleted file mode 100644 index 79ee5a48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_build_argv.c +++ /dev/null @@ -1,37 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if((tmp = cinit_build_argv(file, &cargv)) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else - exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0], cargv.argv, cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec deleted file mode 100755 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre19/src/test/test_gen_svc_tree.c deleted file mode 100644 index 433be536..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,21 +0,0 @@ - -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre19/src/test/test_openreadclose.c deleted file mode 100644 index 804a01b6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file, &data); - - printf("%s\n", data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/tired.c b/software/cinit/browse_source/cinit-0.3pre19/src/test/tired.c deleted file mode 100644 index b6e33260..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/tired.c +++ /dev/null @@ -1,22 +0,0 @@ -#include - -struct msgq_server_short { - long mtype; - int mu; -}; - -main() -{ - struct msgq_server_short t1, *t2; - - t2 = &t1; - - int a = sizeof(t1); - int b = sizeof(t2); - int c = sizeof(*t2); - - printf("a=%d,b=%d,c=%d\n", a, b, c); - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre19/src/test/transfer_structure.c b/software/cinit/browse_source/cinit-0.3pre19/src/test/transfer_structure.c deleted file mode 100644 index f9755df3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre19/src/test/transfer_structure.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include - -struct test { - char buf[2048]; - int cmd; -}; - -struct badtest { - char *buf; - int cmd; -}; - -#define PATH "/etc/cinit/svc/local-tuning/udev" - -int main() -{ - struct test cmd; - struct badtest nocmd; - int pfd[2]; - int tmp; - - strcpy(cmd.buf, "/which/service/to/disable"); - cmd.cmd = 42; - - if(pipe(pfd) == -1) - return 1; - nocmd.cmd = 42; - nocmd.buf = malloc(strlen(PATH) + 1); - strcpy(nocmd.buf, PATH); - - if(fork() > 1) { - tmp = write(pfd[1], &cmd, sizeof(cmd)); - printf("PA: tmp=%d\n", tmp); - - tmp = write(pfd[1], &nocmd, sizeof(nocmd)); - printf("PA: tmp2=%d\n", tmp); - } else { - strcpy(cmd.buf, ""); - cmd.cmd = 0; - - tmp = read(pfd[0], &cmd, sizeof(cmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n", tmp, cmd.cmd, cmd.buf); - - free(nocmd.buf); - nocmd.cmd = 0; - - tmp = read(pfd[0], &nocmd, sizeof(nocmd)); - printf("CH: tmp = %d, cmd = %d, buf = %s\n", tmp, nocmd.cmd, nocmd.buf); - } - - return 0; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/ b/software/cinit/browse_source/cinit-0.3pre2/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre2/.exclude b/software/cinit/browse_source/cinit-0.3pre2/.exclude deleted file mode 100644 index 1a2d31e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/.exclude +++ /dev/null @@ -1,2 +0,0 @@ -tmp -.git diff --git a/software/cinit/browse_source/cinit-0.3pre2/.gitignore b/software/cinit/browse_source/cinit-0.3pre2/.gitignore deleted file mode 100644 index 0f53ad16..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/CHANGES b/software/cinit/browse_source/cinit-0.3pre2/CHANGES deleted file mode 100644 index 080438e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/CHANGES +++ /dev/null @@ -1,35 +0,0 @@ -cinit-0.3pre2: - - Finished generation of the dependency tree. -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre2/COPYING b/software/cinit/browse_source/cinit-0.3pre2/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre2/CREDITS b/software/cinit/browse_source/cinit-0.3pre2/CREDITS deleted file mode 100644 index b009a48c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/CREDITS +++ /dev/null @@ -1,23 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: 2005-09-25) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding diff --git a/software/cinit/browse_source/cinit-0.3pre2/Changelog b/software/cinit/browse_source/cinit-0.3pre2/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre2/Makefile b/software/cinit/browse_source/cinit-0.3pre2/Makefile deleted file mode 100644 index 9c174b63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/Makefile +++ /dev/null @@ -1,85 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# directories and files -DDOC=ddoc -SDIRS=bin client conf comm doc generic serv util -CDIRS=contrib+tools - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -%.o: %.c - $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< - -all: sources - -sources: - $(MAKE) -C src all - -docs: $(DDOC) bin/cdoc-man.sh - ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 - ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 - -$(DDOC): - mkdir $(DDOC) - -$(CSVC_OBJ) $(OBJ): $(CONFIG_H) - -$(SBIN): - mkdir $(SBIN) - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' - -clean: - $(MAKE) -C src clean - #rm -f *.o */*.o */*/*.o sbin/* $(CONFIG_H) ddoc/* - rm -f tmpbin/* - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install:: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -#all install clean:: -# @for subdir in $(CDIRS); do \ -# echo "Making $@ in $$subdir"; \ -# (cd $$subdir && $(MAKE) $(MAKEFLAGS) $@) \ -# || exit 1;\ -# done; - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured diff --git a/software/cinit/browse_source/cinit-0.3pre2/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre2/NEXTTODO deleted file mode 100644 index f8c45fe2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/NEXTTODO +++ /dev/null @@ -1,22 +0,0 @@ -- break in dep_entry_add, schauen ob die liste richtig generiert wird! - -- Check that the initial service list is generated correctly - * add (and use for that aim) tree_exec() -- Fix SIG_CHILD handler! - * Lookup other signalling things, too. -- add respawn when creating the service -- create - * svc_on() that tries to start a service - * svc_off() that tries to stop a service - -- define messages - a) human readable - b) binary data? - ? -- replace cinit_ipc_logon with cinit_ipc_init... -- cleanup run_svc -- implement do_reboot.c -- cleanup sig_child - -Finally: -- test and release cinit-0.3rc1 diff --git a/software/cinit/browse_source/cinit-0.3pre2/README b/software/cinit/browse_source/cinit-0.3pre2/README deleted file mode 100644 index 27f07c12..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/README +++ /dev/null @@ -1,110 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre2/ROADMAP b/software/cinit/browse_source/cinit-0.3pre2/ROADMAP deleted file mode 100644 index c1df7de8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/ROADMAP +++ /dev/null @@ -1,116 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes - * ~ Mid of November 2006: Have a compile-able cinit - * ~ End of November 2006: Have a testsystem booting cinit - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) - code: double check to remove Linux specific source from general tree - code: seperate ipc from the rest - code: fix / check signal handlers - code: cleanup makefile - code: add porting code: add support for any unix in general - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. - code: add special directory (/etc/cinit/special?) for os specific binaries - -> halt, poweroff, reboot (NOTHING MORE THEY CAN DO) - -> SHOULD NOT BE IN THE PATH - code: move production code to src/ - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre2/TODO b/software/cinit/browse_source/cinit-0.3pre2/TODO deleted file mode 100644 index f837f48a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/TODO +++ /dev/null @@ -1,271 +0,0 @@ -- define how it should work (doc/braindums/big-picture.text) -- define service status in one document, so repeatition stops! - - --------------------------------------------------------------------------------- -- rename headers/ -> includes/ -- remove client/ from top level --------------------------------------------------------------------------------- -- write about shell scripts in system startup -- write about general behaviour (covering the death) --------------------------------------------------------------------------------- -Generate automatic asciidoc from conf/* --------------------------------------------------------------------------------- -Add handler for ctrl+alt+delete - * document in paths --------------------------------------------------------------------------------- -pre-compile config: conf/* - --------------------------------------------------------------------------------- -panic: - read configuratio from defaults/panic* - -> write execute_something before! --------------------------------------------------------------------------------- -comm: - tmpnow: search for pid in list, - save the pid in the list, so we know whether our executer died! --------------------------------------------------------------------------------- -Logging / cinit: - fuer unsere eigenen ausgaben auch multilog? - - Logger: shared memory? --------------------------------------------------------------------------------- -Implement full starting logic in server? --------------------------------------------------------------------------------- -Build full dependency tree at start? And begin from the end? --------------------------------------------------------------------------------- -comm/*: - int read - int write - --> fuer pipes - -run_init_svc - muss alle services wissen, die gestartet werden - - start_services_with_deps - gibt pointer auf struktur zurueck - -> Anzahl Services (array!) - -> Service: - Name (Pfad) - Ergebniss - -> beim fehler, die nachricht, strerror? - http://www.opengroup.org/onlinepubs/009695399/functions/strerror.html - - -Beim starten werden needs und wants als needs behandelt, weil -jeder starter _alle_ services zurueckgeben muss. - - Ein Prozess kann maximal 512 abhaengigkeiten haben. - -> open files - - -Neues cinit: - Wenn service fehlschlaegt, wird eine Struktur zurueckgegeben. - - Diese enhaelt: - - int success = - enum { SVC_SUCCESS, SVC_FAILED, SVC_NEED_FAILED, ... } - - char *reason; - - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s - - Rekursives herunter/rauffahren --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary -- remove sigio(), create new functions: - - one for cleaning up the socket - - one for doing the communication (specify two fd's) -- put some logic around exec_svc: - o put waiting code herein -> waiting code to structure! -- cleanup serv/sig_reboot.c:7: - o implement os-specific reboot function --------------------------------------------------------------------------------- -1. Entfernung mount -2. kommunikation ueber - 1. einen fork pro service - fork(fork) -3. Socket wird erst nach einem Signal erstellt - -> Konfiguration sollte SIGWHATEVER senden -4. Vielleicht panicen, wenn init fehlschlaegt? --------------------------------------------------------------------------------- -Als naechstes: - -- add code do implement stopping / restarting with dependency tree - o add used_by to the list of services - o used_by should be a simple (double?) linked list --------------------------------------------------------------------------------- -Documentation: - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring --------------------------------------------------------------------------------- -Add "used" by to each service, so we can track which services to shutdown. --------------------------------------------------------------------------------- -- perhaps use dnotify? -- recheck warm reboot -- fix cservice -- print service name or cinit: before _everything_ WE print - -TESTING: - - does cinit eat zombies? - - is the reporting ok? - - does cservice and ccontrol what's expected? - -# cinit.create.empty.service: can only be started from the bin directory - -- compile cinit static and other tools dynamically per default - -- Fix Switching services off !! -- Remove RUN_RUN_SVCs, move code to run_svc so one can determine which - services failed? - --> sequentieller ablauf! - --> parallel ablauf, struct-array mit namen und ergebnis? - --> for dep in deps/*; do fork(run_svc() ); done - -----> while(any_is_running) { sleep } - -------> array durchsuchen, ergebnis nutzen. - - ueberpruefen von wo aus run_svc() aufgerufen wird - -- Fix SIGCHILD problem: - - exec_svc wants to waitpid() itself, so SIG_CHILD makes problems - - respawn_svc: does that need to act on SIGCHLD if the master process - is still running? - - kill respawn -> sigchild cleans up, we do not get waitpid perhaps? -- remove umount code? -- remove zombies, but keep away from SIGCHILD problems -- remove mount /etc/cinit/tmp code - -> how to replace? -- fix bug in Makefile: linking happens twice -- do not kill respawing service, if off exists -- ccontrol -- manpages -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren -- ddoc zuendefuehren - -- remove umount, swapoff? ---> to services? - -- on.out, on.err, on.in? - -> reading/writing from/to files - ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! -- implement "no_kill" until cinit-0.2 or 0.3? - -Doku!!! - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) - - memset for timespecs? - - move umount, swapoff and remount to off of init? - -> cleanup sig_reboot.c - - run_svc: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - - do we really need swapoff? --------------------------------------------------------------------------------- -- Documentation - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml --------------------------------------------------------------------------------- -Things I did not do and I don't know whether we have to care about: - -- Porting - - add porting code to other unices? - - like openssh guys do? - -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -[OLD BUGS] -- remove cinit watcher? - -> sig_child -> cycle through list? -- DOKU: what happens when a service does not terminate.... - und er als once drin ist -- MANPAGE! -- execve() fails -> no sleep!! -- multiple zombies sometimes - problemservices - -> zombies of respawn watchers are not caught! - -> sig_chld also therein - -> problematic due to wait for child --doubled cinit instance - - nur einmal -- free() everything before starting child -- cservice! - - prozess nur einmal -> WARTET! cinit auch! -doku: - cservice einmal starten -> wartet auf ende - cint ersetzt init bei gentoo - an error occuerd-> verbose - multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -possible BUGS: - -[14:44] freelsd:cinit-0.2.2% ./sbin/cservice -e ein - -ein: No such file or directory -Bad address -: Service does not exist - -cinit-0.2.2: -USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND -root 1 96.7 0.0 1580 336 ? R 18:59 5:49 /sbin/cinit -root 2 0.0 0.0 0 0 ? SN 18:59 0:00 [ksoftirqd/0] -root 3 0.0 0.0 0 0 ? S 18:59 0:00 [watchdog/0] -root 4 0.0 0.0 0 0 ? S< 18:59 0:00 [events/0] -root 5 0.0 0.0 0 0 ? S< 18:59 0:00 [khelper] -root 6 0.0 0.0 0 0 ? S< 18:59 0:00 [kthread] -root 10 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [khubd] -root 12 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [kblockd/0] -root 99 0.0 0.0 0 0 ? S 18:59 0:00 \_ [pdflush] -root 100 0.0 0.0 0 0 ? S 18:59 0:00 \_ [pdflush] -root 102 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [aio/0] -root 727 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [kseriod] -root 101 0.0 0.0 0 0 ? S 18:59 0:00 [kswapd0] -root 800 0.0 0.0 0 0 ? S 18:59 0:00 [khpsbpkt] -root 803 0.0 0.0 0 0 ? S 18:59 0:00 [pccardd] -root 838 0.0 0.0 0 0 ? S 18:59 0:00 [kjournald] -root 1923 0.0 0.0 1584 200 ? S 18:59 0:00 /sbin/cinit -root 1924 0.0 0.3 3624 1936 tty2 Rs 18:59 0:00 \_ -zsh -root 1969 0.0 0.0 1580 320 tty2 S 19:05 0:00 \_ cservice -e 3 -root 1972 0.0 0.1 2604 828 tty2 R+ 19:05 0:00 \_ ps axuwwf -root 1945 0.0 0.0 0 0 tty2 Z 19:01 0:00 [loadkeys] -cinit: [cprofile:profile] -cinit should not be started directly, but by your kernel. -umount raus -/etc/cinit/specials/... rein - -1. Doku auf asciidoc umstellen -2. den signalhandler code fixen -3. den tempmount entfernen - ---> cinit-0.3-rc1 --------------------------------------------------------------------------------- -Check: use of perror, strerror+write? --------------------------------------------------------------------------------- -Check: tuning of ipc-code? -local-services schlaegt fehl, ist aber nichts drin! diff --git a/software/cinit/browse_source/cinit-0.3pre2/TODO.doc b/software/cinit/browse_source/cinit-0.3pre2/TODO.doc deleted file mode 100644 index 71ed721d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/TODO.doc +++ /dev/null @@ -1,12 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre2/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.configure.mark deleted file mode 100644 index aa648411..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.release b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.release deleted file mode 100644 index c5e15859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.release +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: Fr Okt 28 01:24:58 CEST 2005 - - -if [ $# -ne 2 ]; then - echo $(basename $0): source-dir version - exit 1 -fi - -DIR=$1 -VERSION=$2 -OUT_NAME=cinit-${VERSION}.tar.bz2 -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -( cd "$DIR" && make clean ) || exit 1 - -echo "Creating bzip2 compressed tar" -tar cj -X $DIR/.exclude -f "$OUT_NAME" $DIR -chmod 0644 "$OUT_NAME" -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type d -exec chmod 0755 {} \\;" -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre2/client/README b/software/cinit/browse_source/cinit-0.3pre2/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre2/client/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre2/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/client/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre2/client/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/client/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/client/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre2/client/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/client/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre2/client/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre2/client/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/client/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre2/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre2/client/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/client/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre2/client/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/client/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/client/run_svc.c b/software/cinit/browse_source/cinit-0.3pre2/client/run_svc.c deleted file mode 100644 index 7fea6a92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/client/run_svc.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre2/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre2/client/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/client/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/comm/README b/software/cinit/browse_source/cinit-0.3pre2/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.3pre2/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre2/comm/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/comm/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/comm/do_result.c b/software/cinit/browse_source/cinit-0.3pre2/comm/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/comm/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre2/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre2/comm/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/comm/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/.README b/software/cinit/browse_source/cinit-0.3pre2/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre2/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre2/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_env b/software/cinit/browse_source/cinit-0.3pre2/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_halt b/software/cinit/browse_source/cinit-0.3pre2/conf/c_halt deleted file mode 100644 index 4eed340f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the link belowe c_special, which links to the program -to be executed right before halting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_init b/software/cinit/browse_source/cinit-0.3pre2/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre2/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_off b/software/cinit/browse_source/cinit-0.3pre2/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_on b/software/cinit/browse_source/cinit-0.3pre2/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre2/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_params b/software/cinit/browse_source/cinit-0.3pre2/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_poweroff b/software/cinit/browse_source/cinit-0.3pre2/conf/c_poweroff deleted file mode 100644 index 5b5c9c9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_poweroff +++ /dev/null @@ -1,4 +0,0 @@ -poweroff - -Name of the link belowe c_special, which links to the program -to be executed right before powering off the system. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_reboot b/software/cinit/browse_source/cinit-0.3pre2/conf/c_reboot deleted file mode 100644 index 8702388f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_reboot +++ /dev/null @@ -1,4 +0,0 @@ -reboot - -Name of the link belowe c_special, which links to the program -to be executed right before rebooting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre2/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre2/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre2/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre2/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre2/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_umount b/software/cinit/browse_source/cinit-0.3pre2/conf/c_umount deleted file mode 100644 index ab96b0a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_umount +++ /dev/null @@ -1,6 +0,0 @@ -umount - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -It should normally be a shellscript with the OS-specific umount procedure. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre2/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/cc b/software/cinit/browse_source/cinit-0.3pre2/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/cflags b/software/cinit/browse_source/cinit-0.3pre2/conf/cflags deleted file mode 100644 index c0ef65ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/cflags +++ /dev/null @@ -1,3 +0,0 @@ --pipe -W -Wall -Werror -Iheaders -g - -Standard flags to pass to (g)cc. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre2/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/confdir b/software/cinit/browse_source/cinit-0.3pre2/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/destdir b/software/cinit/browse_source/cinit-0.3pre2/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre2/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre2/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre2/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre2/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/ld b/software/cinit/browse_source/cinit-0.3pre2/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre2/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre2/conf/max_delay deleted file mode 100644 index 149fa16c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/max_delay +++ /dev/null @@ -1,7 +0,0 @@ -4 - -Maximum number of digits which may be in the delay file. -If there are more, the string "12345678901" will be cut to the -right length "1234567890". I don't think you'll ever need -a timeout greater 4 digits (9999 seconds are 166,65~ minutes, are -2 hours, 46 minutes and 39 seconds). See doc/configuring.cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre2/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre2/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre2/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre2/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/os b/software/cinit/browse_source/cinit-0.3pre2/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre2/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre2/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre2/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/prefix b/software/cinit/browse_source/cinit-0.3pre2/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/profile b/software/cinit/browse_source/cinit-0.3pre2/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre2/conf/service_categories deleted file mode 100644 index d632b875..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/service_categories +++ /dev/null @@ -1,4 +0,0 @@ -getty local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre2/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre2/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre2/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre2/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre2/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/strip b/software/cinit/browse_source/cinit-0.3pre2/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre2/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre2/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre2/conf/version b/software/cinit/browse_source/cinit-0.3pre2/conf/version deleted file mode 100644 index 33eede7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre2" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/Makefile deleted file mode 100644 index 8441c90b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o ../generic/usage.o ../generic/mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/cinit-vis.pl deleted file mode 100644 index 3956ff47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/cinit.graph.text.c deleted file mode 100644 index bc6fb6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.gaph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.gaph.text - textual representatio of the cinitdirectory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.gaph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre2/doc/.buildwarn deleted file mode 100644 index 72ebaf6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/.buildwarn +++ /dev/null @@ -1,18 +0,0 @@ -**************************************************************************** -First of all configure cinit through the configuration files found in conf/. - -The documentation can be found in doc/, read - - README and doc/configuring.cinit - -_before_ first use. - -After reading and configuring use: - - "make all" - to build cinit - "make install" - to install cinit - "make install-miniconf" - to install a minimal cinit-configuration - -After that you'll have to configure it. Some sample configurations can be -found on the cinit homepage at http://linux.schottelius.org/cinit/. -**************************************************************************** diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre2/doc/Makefile deleted file mode 100644 index 704903da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -INSTALL=install -CCOLLECT=ccollect.sh -LN=ln -sf - -prefix=/usr/packages/ccollect-git -bindir=$(prefix)/bin -destination=$(bindir)/$(CCOLLECT) - -path_dir=/usr/local/bin -path_destination=$(path_dir)/$(CCOLLECT) - -# where to publish -host=creme.schottelius.org -dir=www/org/schottelius/linux/ccollect -docdir=$(dir)/doc - -# -# End user targets -# -all: - @echo "Creating asciidoc based documentation" - @asciidoc -n -o ccollect.html doc/ccollect.text - -%.html: %.text - echo asciidoc $< -n $> -o $^.html $^.text $@ - - -install: install-script install-link - -install-link: install-script - $(LN) $(destination) $(path_destination) - -install-script: - $(INSTALL) -D -m 0755 -s $(CCOLLECT) $(destination) - -documentation: - @echo "Generating HTML-documentation (en de) ..." - @asciidoc -n -o doc/ccollect.html doc/ccollect.text - @asciidoc -n -o doc/ccollect-DE.html doc/ccollect-DE.text - -# -# Developer targets -# -update: - @cg-update creme - -push-work: - @cg-push creme - @cg-push sygroup - -publish-doc: documentation - @echo "Transferring files to $(host)" - @chmod a+r doc/*.html doc/*.text - @scp doc/*.text doc/*.html $(host):$(docdir) diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre2/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre2/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre2/doc/devel/communication.text deleted file mode 100644 index 82f77774..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/communication.text +++ /dev/null @@ -1,221 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -The byte order is host specific (may be little or big endian). - - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre2/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre2/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre2/doc/devel/ipc.text deleted file mode 100644 index 7013a985..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/ipc.text +++ /dev/null @@ -1,108 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre2/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre2/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre2/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre2/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre2/doc/man/cinit.text deleted file mode 100644 index 11d56be2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/man/cinit.text +++ /dev/null @@ -1,54 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -ccollect is a backup utility written in the sh-scripting language. -It does not depend on a specific shell, only `/bin/sh` needs to be -bourne shell compatibel (like 'dash', 'ksh', 'zsh', 'bash', ...). - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard service (which is confdir/init/) - -BUGS ----- -cinit is not tested nor documented very well currently. - -Additionally the porting to other OS is not finished yet. - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre2/doc/man/cservice deleted file mode 100644 index 8dae0c2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/man/cservice +++ /dev/null @@ -1,34 +0,0 @@ --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre2/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre2/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre2/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/caveats b/software/cinit/browse_source/cinit-0.3pre2/doc/user/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/compiles.on b/software/cinit/browse_source/cinit-0.3pre2/doc/user/compiles.on deleted file mode 100644 index 3fe83479..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/compiles.on +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -compiles.on, -Nico Schottelius 2005-06-09 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit is known to compile on: - -x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 - -Please report your configuration, if it's not listed here. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/config-dirs b/software/cinit/browse_source/cinit-0.3pre2/doc/user/config-dirs deleted file mode 100644 index 4a8fbb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/config-dirs +++ /dev/null @@ -1,19 +0,0 @@ -configuring - - /etc/cinit/defaults/panic -> link to something to execute on panic - (most likely /sbin/sulogin) - - /etc/cinit/defaults/tmp -> link to a directory where - the socket should be created, - after finishing boot - - What todo right before halting/rebooting/powering off - /etc/cinit/special/ - -> halt - -> reboot - -> poweroff - -Configuration -------------- - -Send kill signal diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/configuring.cinit b/software/cinit/browse_source/cinit-0.3pre2/doc/user/configuring.cinit deleted file mode 100644 index a88ba00f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/configuring.cinit +++ /dev/null @@ -1,189 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, -Nico Schottelius 2005-05-28 (Last Modified: 2005-06-05) --------------------------------------------------------------------------------- - -0. Pre-compile configuration -1. General configuration layout -2. Hints -2.0 Service executing / parameters -2.1 Daemons -2.2 Logging -2.3 Using prepared scripts -3. Profiles - - -0. Pre-compile configuration - -Have a look at conf/*. Those variable will mostly be used when -compiling cinit. Some will be read later (like destdir). - - -1. General configuration layout - -/etc/cinit (configurable via conf/cinit_dir) stores the complete -cinit configuration. - -cinit is service based. -A service consists of - - a base directory (like /etc/cinit/getty/1) - - dependency configuration: - - ./wants - services it wants to be started before (but it - will work anyway) - - ./needs/ - services it needs. If those services fail, this service - won't be started. - - - a flag indicating whether to respawn the service: - - ./respawn (simply touch it) - - - a delay: how long to wait for the service (in seconds) before - sending SIGKILL after the SIGTERM (only for respawning processes): - - ./delay (one line with only the digits) - - If delay is non-existing or not readable, the delay from - conf/sleep_kill_svc is taken. The maximum length of this - number ("9999" uses length 4, "42" needs 2 bytes) can be adjusted - at compile time in conf/max_delay. Internally this is a signed - integer, so the maximum size depends on your system. Though - I don't think anybody will want to wait for a service as long as - an integer would allow. - - - the program to run when switching the service on and off: - - ./on (a link to a program or a shell script) - ./on.params (see conf/c_params, the parameters to pass to the program) - ./on.env (see conf/c_env, the environment to pass to the program) - - ./off (call that when shutting down the service) - ./off.params (the parameters to pass to the program) - ./on.env (the environment to pass to the program) - -You should have a look at the samples/ directory for examples. - -If things are missing, cinit will continue with what's available. -This way you only need the files you use. Some examples: - - /etc/cinit/init: - ./wants -> services it wants - ./needs -> services it needs - That's everything - - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it - That's everything, as it has no dependencies - - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn on service - delay -> wait this time before sending SIGKILL after SIGTERM - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting - - -2. Hints - -2.0 Service executing / parameters - -The on and off files can and should be links to the programs you want -to execute. This way you save yourself loading the big shell (which is -on many Linux systems bash, why so ever, dash does the job as good, still -beeing small). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. The on script -could look like: - - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). - - -2.1 Daemons - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking (Please have a look at -daemons.backgrounding for a list of known daemons and their switches -to avoid backgrounding). - -The other possibility is to use a program, which will - a) start the daemon - b) look into the pidfile of the daemon - c) will then wait until that pid does not exist anymore - d) and then it exits and cinit will restart it (goto a) now) - -Such a program is included into this cinit release, -though I do not recommend using it. You should better contact the -authors and make them implement a clean non-forking mode. - -The name of the program (actually a shell script) is "cinit.wait.for.daemon". - -You will use it as the "on" part of the service and you have to add - - a) the pidfile to on.params - b) the daemon binary - -Thus the service would look like: - - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -2.2 Logging - -Currently there's no special logging support. -When programs write to stdout, it will be displayed on -the same stdout cinit is connected to -(we don't even open /dev/console - we are too lazy currently). - - -2.3 Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - - -3. Profiles - -Since cinit-0.0.6 there is profile in cinit. -Profiles are described in doc/profile.support. - -X. Examples - -Can be found in the tarballs below samples/. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre2/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/daemons.backgrounding b/software/cinit/browse_source/cinit-0.3pre2/doc/user/daemons.backgrounding deleted file mode 100644 index f7b7fdf5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/daemons.backgrounding +++ /dev/null @@ -1,71 +0,0 @@ --------------------------------------------------------------------------------- -daemons backgrounding, -Nico Schottelius 2005-06-12 (Last Modified: 2005-10-15) --------------------------------------------------------------------------------- - -0. Definition - -A daemon is a program which runs in the background, not having a tty -associated necesserally. Running in background does not mean it has -to background (fork()) itself, but that you cannot control it directly -from a shell. - -1. Daemons and cinit - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking - -The following daemons / servers are known to avoid backgrounding easily: - - acpid [x86 power management]: -f (undocumentated but works) - apache [webserver]: -DFOREGROUND - asterisk [pbx]: -f - bind [dns server/caching]: -f - cardmgr [pcmcia/cardbus]: -f - cron (vixie) [schedular]: -f - cupsd [printer server]: -f or -F - dhclient [dhcp client]: -d - dhcp3 (isc) [dhcp server]: -f - distccd [compile server]: normal behaviour - fam [file alteration monitor]:-f - fcron [schedular]: -f - frox [ftp proxy]: "NoDetach" in config - gdm [display manager]: -nodaemon - hybrid [irc server]: -foreground - icecast2 [sound streamer]: normal behaviour - mini-lpd [printer server]: normal behaviour - metalog [log server]: normal behaviour - monotone [vcs]: normal behaviour - mpd [music server]: --no-daemon - nessusd ["security server"]: normal behaviour - ntpd [time server]: -n - oidentd [identd server]: -i - oops [http proxy]: normal behaviour - openssh [ssh server]: -D - openvpn [vpn server]: normal behaviour - pbbuttonsd [power management]:normal behaviour - proftpd [ftp server]: -n - qmail [mta]: normal behaviour - rsync ["file server"]: --no-detach - silcd ["secure chat server"]: -F, --foreground - slapd [ldap]: -d - snmpd [snmp daemon]: -f - svnserve [vcs]: --foreground - syslogd [log server]: -n - syslog-ng [log server]: -F - tcpserver [super server]: normal behaviour - udhcpc [dhcp client]: normal behaviour - vsftpd [ftp server]: normal behaviour (or: config: background=no) - xinetd [super server]: -dontfork - -Those are the daemons that do not offer the possibility (as of release 0.2): - - atd (no switch, no configuraton option) - inetd (some variants) - nscd (no switch, no configuraton option) - portmap (only with debug mode) diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre2/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre2/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre2/doc/user/installing-cinit.text deleted file mode 100644 index 084a225e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/installing-cinit.text +++ /dev/null @@ -1,25 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 -:Author Initials: NS - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -For cross compiling see 'cross-compiling.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre2/doc/user/main.text deleted file mode 100644 index 6308e4c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre2/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre2/doc/user/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre2/doc/user/paths.text deleted file mode 100644 index 0b8c6b39..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/paths.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Introduction ------------- -The base directory under which all configurations are found -is '/etc/cinit'. - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services - conf -> general configuration ----------------------------------------------------------------------- - - -General pathnames -~~~~~~~~~~~~~~~~~~ -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - 'name'.params - the parameter to pass to 'name' when executing - - 'name'.env - the environment to pass to 'name' when executing - - -Name.params -^^^^^^^^^^^ -The 'params' file is a simple file containing one argument on each -line. - -Name.env -^^^^^^^^ -The 'env' file contains one assignment on each line. -"testvar=testvalue". - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. - -. The executable files in this directory are: - - panic{.*} - - umount{.*} - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory -which may contain the following files: - -. List of files - - on - What to execute when starting the service - * on.env - Environment to pass to 'on' - * on.params - Parameters to pass to 'on' - - off - What to execute when stopping the service - * off.env - Environment to pass to 'on' - * off.params - Parameters to pass to 'on' - - respawn - An empty file that tells cinit to restart the service - when it exits - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/problems b/software/cinit/browse_source/cinit-0.3pre2/doc/user/problems deleted file mode 100644 index a3440a3a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/problems +++ /dev/null @@ -1,9 +0,0 @@ -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/profile.support b/software/cinit/browse_source/cinit-0.3pre2/doc/user/profile.support deleted file mode 100644 index 7bc607b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/profile.support +++ /dev/null @@ -1,72 +0,0 @@ --------------------------------------------------------------------------------- -Profiles, -Nico Schottelius, 2005-06-04 --------------------------------------------------------------------------------- - -1. What are profiles? -2. How to use profiles? -3. How to configure profiles? -4. Some examples - - -1. What are profiles? - -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -2. How to use profiles? - -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. -How to pass argumenents to cinit? Under Linux the init-system -gets the kernel arguments (see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -3. How to configure profiles? - -It's very simple: Normally cinit would call /etc/cinit/init as -primary service and solve all dependencies. If you pass -cprofile=wireless to it, cinit will start /etc/cinit/wireless as -primary service instead. - - [Note: /etc/cinit/yourprofile is the service that will be started. - You need/should/must NOT create /etc/cinit/yourprofile/init!] - -So the only thing you have to do is to create a service directory -below /etc/cinit with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/init; tar c . | (mkdir ../yp; cd ../yp; tar x ) - -That's it! - - -4. Some examples - -Here are some examples we found in #cLinux: - - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work - diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre2/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre2/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre2/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre2/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.read-conf deleted file mode 100644 index 4f3c1cb7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/* - -set -e - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre2/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre2/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre2/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre2/serv/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/serv/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre2/serv/sig_child.c b/software/cinit/browse_source/cinit-0.3pre2/serv/sig_child.c deleted file mode 100644 index cee8042e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/serv/sig_child.c +++ /dev/null @@ -1,35 +0,0 @@ -/* cinit - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * We are called, when a child dies. Remove it. - */ - -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_child - * collect the children - * FIXME: check whether we've race conditions when reciieving multiiple - * signals - * Perhaps disable listening to sig_child in meantime? - */ - -void sig_child(int tmp) -{ - struct listitem *svc; - - do { - /* check if it's a watched child */ - tmp = waitpid(-1, &tmp, WNOHANG); - - /* restart service, if we are watching it */ - svc = list_search_pid((pid_t) tmp); - - if( svc != NULL ) { - svc->pid = exec_svc(svc->abs_path, CMD_START_SVC); - } - } while( tmp > 0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre2/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/Makefile b/software/cinit/browse_source/cinit-0.3pre2/src/Makefile deleted file mode 100644 index 13e1a854..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/Makefile +++ /dev/null @@ -1,135 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -include Makefile.tests - -# Build tools / locations -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin - -# directories and files -CONFIG_H=headers/config.h - -# -# objects for the cinit part -# -CINIT_HEADERS=$(shell cat headers/listing) -CINIT_CORE_OBJ=$(shell cat core/objects) -CINIT_GENERIC_OBJ=$(shell cat generic/objects) -CINIT_SVC_OBJ=$(shell cat svc/objects) - -# -# The current link may be missing in the first run -# -CINIT_IPC_OBJ=$(shell cat ipc/current/objects 2>/dev/null) -CINIT_OS_OBJ=$(shell cat os/current/objects 2>/dev/null) - -CINIT_OBJ=$(CINIT_CORE_OBJ) $(CINIT_IPC_OBJ) $(CINIT_OS_OBJ) \ - $(CINIT_GENERIC_OBJ) $(CINIT_SVC_OBJ) - -# -# Dependencies -# -$(CINIT_OBJ): $(CINIT_HEADERS) - -# -# Client modules -# -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -BOTH=generic/set_signals.o generic/mini_printf.o generic/usage.o - -OBJ=$(SERV) $(SERV_OS) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -CCO_OBJ=util/ccontrol.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -%.o: %.c - $(CC) -c -o $@ $< - -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: cinit - -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -$(CINIT_OBJ): $(CONFIG_H) - -cinit: $(CINIT_OBJ) - $(LD) $^ -o $@ - - -#$(CINIT_BIN): $(SBIN) $(OBJ) -# $(LD) $(LDFLAGS) $(OBJ) -o $@ -# $(STRIP) $@ - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' - - - -.PHONY: clean -clean: - rm -f .configured - rm -f $(CINIT_OBJ) - rm -f ../tmpbin/* - -distclean: - rm -f os/current ipc/current - -$(CONFIG_H): ../conf/* - ../scripts/cinit.mkheader > $(CONFIG_H) - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre2/src/Makefile.tests deleted file mode 100644 index 88cbb5df..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/Makefile.tests +++ /dev/null @@ -1,25 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre2/src/core/build_argv.c deleted file mode 100644 index bb72a9b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/core/build_argv.c +++ /dev/null @@ -1,220 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write paramaters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "cinit.h" -#include "build_argv.h" - - /* - * FIXME: we are perhaps loosing a byte, the \0 for the full - * string of argv and envp! too tired to check. - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - * - */ - - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int fd; - int argc; - char pathtmp[PATH_MAX+1]; - char *p; - char *sbuf = NULL; - struct stat buf; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - printf("basename %s\n",basename); - - /*********************************************************************** - * Try to get realname (for links) - */ - if ( ( tmp = readlink(basename,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc( sizeof(char *) ); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc( tmp ); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - strcat(pathtmp,C_PARAMS); - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - return BA_E_PARAMS; - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - return BA_E_PARAMS; - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) { - return BA_E_MEM; - } - - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - } else { /* end of string */ - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(bav->argv == NULL) { - return BA_E_MEM; - } - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,bav->argv[0]); - strcat(pathtmp,C_ENV); - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - return BA_E_ENV; - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - return BA_E_ENV; - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre2/src/core/cinit.c deleted file mode 100644 index 645a3829..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/core/cinit.c +++ /dev/null @@ -1,92 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "cinit.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; - -int main(int argc, char **argv) -{ - char *initdir; -// pid_t cpid; - - initdir = CINIT_INIT; /* default init dir */ - - /* FIXME: RE-ENABLE as SOON AS PRODUCTIVE cpid = getpid(); - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - set_signals(ACT_SERV); - - /* Look whether we should start a profile */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_SVCDIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* FIXME: do we really need three calls? */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* pre-calculate service tree */ - gen_svc_tree(initdir); - - /* start tree from the bottom */ - if(!tree_exec(svc_init)) return 1; - - mini_printf("test\n",1); - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* listen for incomming messages: should never return */ - if(!cinit_ipc_listen()) { - panic(); - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre2/src/core/do_reboot.c deleted file mode 100644 index c190f634..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/core/do_reboot.c +++ /dev/null @@ -1,74 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "ipc.h" -#include "cinit.h" -#include "os.h" -#include "messages.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - struct timespec ts; - //char **cmd; - //int i; - - /* shutdown all services: take care about the dependency tree */ - - /* do not listen to client requests anymore - * FIXME: perhaps before shutdown? */ - cinit_ipc_destroy(); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - /* FIXME make SLEEP_KILL an optional configuration statement */ - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - ts.tv_nsec = 0; - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* execute umount, as defined in conf/umount */ - - /* execute_sth(CINIT_UMOUNT); */ - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/core/objects b/software/cinit/browse_source/cinit-0.3pre2/src/core/objects deleted file mode 100644 index fd49e8d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/core/objects +++ /dev/null @@ -1,6 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/run_init_svc.o -core/set_signals.o -core/do_reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre2/src/core/panic.c deleted file mode 100644 index 39092aef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/core/panic.c +++ /dev/null @@ -1,30 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include "cinit.h" -#include - -void panic(void) -{ - char *nargv[2]; - - execute_sth(CINIT_PANIC); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - execv(SULOGIN,nargv); - - /* there's nothing todo, if everything fails */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/core/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre2/src/core/run_init_svc.c deleted file mode 100644 index 42edb167..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/core/run_init_svc.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/core/run_svc.c b/software/cinit/browse_source/cinit-0.3pre2/src/core/run_svc.c deleted file mode 100644 index 4a7eabf1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/core/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre2/src/core/set_signals.c deleted file mode 100644 index 57dfc242..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/core/set_signals.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006-2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include -#include -#include "cinit.h" - -void sig_child(int signal) { signal=2; } /* HACK */ - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=sig_child; - } - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - if(action == ACT_SERV) { - sa.sa_handler=do_reboot; - } - sigaction(SIGHUP,&sa,NULL); /* reboot */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGUSR1,&sa,NULL); /* halt */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre2/src/generic/execute_sth.c deleted file mode 100644 index d2700fdf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/generic/execute_sth.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ -#include "cinit.h" -#include "build_argv.h" - -void execute_sth(char *basename) -{ - struct ba_argv bav; - int tmp; - - if( ( tmp = cinit_build_argv(basename,&bav) ) != BA_OK) { - if(tmp != BA_E_MEM) { - print_errno(basename); - } /* do not print something on memory errors */ - _exit(1); /* FIXME: adjust exit code? */ - } - - execve((bav.argv)[0],bav.argv,bav.envp); - print_errno(basename); - _exit(1); /* FIXME: return specific error code, so cinit knows - * what happened! - sure? perhaps this gets non - * standard errors from other programs, too ... */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre2/src/generic/mini_printf.c deleted file mode 100644 index e4e16678..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Print to the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while ( *p ) p++; - - write(fd,str,(size_t) (p - str) ); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/generic/objects b/software/cinit/browse_source/cinit-0.3pre2/src/generic/objects deleted file mode 100644 index ba33ac4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/generic/objects +++ /dev/null @@ -1,5 +0,0 @@ -generic/execute_sth.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre2/src/generic/path_absolute.c deleted file mode 100644 index ae524326..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "cinit.h" /* print_errno */ -#include "messages.h" /* print_errno */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_CHDIR); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre2/src/generic/path_append.c deleted file mode 100644 index 361b349e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/generic/path_append.c +++ /dev/null @@ -1,29 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre2/src/generic/print_errno.c deleted file mode 100644 index 7415d556..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre2/src/generic/usage.c deleted file mode 100644 index 076cfa9b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/generic/usage.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * - */ - -#include -#include "cinit.h" - -/*********************************************************************** - * usage: tell the user what's wrong and a help text - */ -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/headers/build_argv.h b/software/cinit/browse_source/cinit-0.3pre2/src/headers/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/headers/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/headers/cinit.h b/software/cinit/browse_source/cinit-0.3pre2/src/headers/cinit.h deleted file mode 100644 index e2083803..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/headers/cinit.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_H -#define _CINIT_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_UMOUNT CINIT_CONFDIR SLASH C_UMOUNT - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -int run_init_svc(char *cinit_svc); -void sigio(int socket); -void do_reboot(int signal); -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); -void sig_terminate(int signal); - -/* generic */ -void execute_sth(char *basename); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); - -/* util */ -int msg_reboot(char cmd); -void print_errno(char *text); - -/* os-functions */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - -#endif /* _CINIT_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/headers/comm.h b/software/cinit/browse_source/cinit-0.3pre2/src/headers/comm.h deleted file mode 100644 index 88f7c4fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/headers/comm.h +++ /dev/null @@ -1,90 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_START_SVC=1, /* the client wants US to start a service */ - CMD_START_SVC_ONLY, /* start this service without dependencies */ - CMD_STOP_SVC, /* stop svc and all svcs that need it */ - CMD_STOP_SVC_ONLY, /* we should stop _only_ this service */ - CMD_STOP_SVC_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ - CMD_RESCUE, /* we should start the rescue mode */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ - CMD_INFO /* send information about that service */ -}; - -/*********************************************************************** - * status of a service and return codes - errors and success - */ -enum svc_status { - ST_TMPNOW=1, /* the client is now starting the service NEEDED??? */ - ST_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - - ST_OFF, /* service is off */ - ST_OFF_ALL, /* service and those that need it are off */ - ST_OFF_ALL_F, /* same, but something failed */ - ST_OFF_WANTS, /* service + those that need or want it are off */ - ST_OFF_WANTS_F, /* same, but something failed */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/headers/ipc.h b/software/cinit/browse_source/cinit-0.3pre2/src/headers/ipc.h deleted file mode 100644 index 66b3bc86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/headers/ipc.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init (client init) */ -int cinit_ipc_connect(void); /* connect to init */ -int cinit_ipc_csend(void *data); /* send to the server from a client */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/headers/listing b/software/cinit/browse_source/cinit-0.3pre2/src/headers/listing deleted file mode 100644 index 736feba6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/headers/listing +++ /dev/null @@ -1,5 +0,0 @@ -headers/cinit.h -headers/config.h -headers/ipc.h -headers/messages.h -headers/os.h diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/headers/messages.h b/software/cinit/browse_source/cinit-0.3pre2/src/headers/messages.h deleted file mode 100644 index 1ae95e2c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/headers/messages.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -/* Messages to the outside */ -#define MSG_BIND "bind" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_KILLBILL "sigkill" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_TERMKILL "sigterm" -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_SVC_FAIL "Service failed" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_START_SVC "Starting " -#define MSG_STOP_SVC "Stoping " -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_POWER_OFF "Powering off..." -#define MSG_HALT "Halting system ..." -#define MSG_REBOOT "Rebooting ..." -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/headers/os.h b/software/cinit/browse_source/cinit-0.3pre2/src/headers/os.h deleted file mode 100644 index e36d5a8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/headers/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/headers/svc.h b/software/cinit/browse_source/cinit-0.3pre2/src/headers/svc.h deleted file mode 100644 index cb48b976..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/headers/svc.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_SVC_H -#define _CINIT_SVC_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char *abs_path; /* name of service */ - int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - - - struct dep *wanted; /* list of services that want this service */ - struct dep *needed; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct listitem *svc_list; /* the process linked chain */ -extern struct dep *svc_init; /* the services to start */ - -/* list functions */ -struct listitem *list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -inline struct listitem *list_search_pid(pid_t pid); -int list_display_all(); - - -/* service */ -int svc_known(char *svc); -struct listitem *svc_create(char *svc); -int gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -int dep_entry_add(struct dep **list, struct dep *new); -int tree_exec(struct dep *start); - - -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_connect.c b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_connect.c deleted file mode 100644 index a744980c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_connect.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel */ - k_in = ftok(IPC_KEY,IPC_IN); - k_out = ftok(IPC_KEY,IPC_OUT); - - if(k_in == -1 || k_out == -1) { - perror("ftok"); - exit(1); - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - perror("msgget"); - exit(1); - } - - /* wrong tabsto ;-) */ -while (1) { - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror("msgrcv"); - exit(1); - } - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 43a0012f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,62 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(IPC_KEY,IPC_OUT); - k_out = ftok(IPC_KEY,IPC_IN); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 299885c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ - -#include "msgq.h" /* mq_in, mq_out */ -#include "cinit.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(mq_in,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(mq_out,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index 9ae072a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* msgget */ - -#include "cinit.h" -#include "config.h" -#include "msgq.h" - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_in = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_in == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* to_client */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - if(k_tmp == -1) { - perror(MSG_MSGQ_FTOK); - return 0; - } - mq_out = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_out == -1) { - perror(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index d21e561e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,47 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* perror */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - - struct msg_client m_client; - - while (1) { - /* FIXME: change msg structure */ - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror(MSG_MSGQ_MSGRCV); - } - - printf("pid: %d, m_client\n",m_client.pid); - - /* use pid as the message type - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - return 0; - } */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index a744980c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel */ - k_in = ftok(IPC_KEY,IPC_IN); - k_out = ftok(IPC_KEY,IPC_OUT); - - if(k_in == -1 || k_out == -1) { - perror("ftok"); - exit(1); - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - perror("msgget"); - exit(1); - } - - /* wrong tabsto ;-) */ -while (1) { - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror("msgrcv"); - exit(1); - } - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index 08c0e252..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "cinit.h" /* print_errno */ -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - key_t k_in, k_out; /* FIXME: remove one variable */ - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - k_out = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_sclose.c b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_sclose.c deleted file mode 100644 index 69165e4d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/cinit_ipc_sclose.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Close the ressources from the server, clean state for forks. - * - */ - -int cinit_ipc_sclose(void) -{ - return 1; /* nothing to do when using message queues */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/msgq.h deleted file mode 100644 index 01c6e769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * part of cinit - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define MSGQ_TO_SERVER 'i' /* also for ftok */ -#define MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables - */ -int mq_in; /* input */ -int mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_FTOK "ftok" -#define MSG_MSGQ_MSGGET "msgget" -#define MSG_MSGQ_MSGRCV "msgrcv" -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre2/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre2/src/os/freebsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre2/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre2/src/os/freebsd/poweroff.c deleted file mode 100644 index 61e5ef5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre2/src/os/freebsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre2/src/os/linux/halt.c deleted file mode 100644 index 0ecf8ced..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre2/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre2/src/os/linux/poweroff.c deleted file mode 100644 index 5f503678..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre2/src/os/linux/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre2/src/os/openbsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre2/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre2/src/os/openbsd/poweroff.c deleted file mode 100644 index 45168122..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre2/src/os/openbsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/check_add_deps.c deleted file mode 100644 index e625685f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/check_add_deps.c +++ /dev/null @@ -1,132 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers */ -#include -#include -#include /* PATH_MAX */ - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ - -#include "cinit.h" -#include "messages.h" -#include "svc.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *ltmp; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_CHDIR); - return 0; - } - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf,C_NEEDS)) return 0; - } else { - if(!path_append(buf,C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no needs */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent=readdir(d_tmp))!=NULL) { - if(*(tdirent->d_name)=='.') continue; /* ignore .* */ - - /* skip non-working directories */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* FIXME: Debug */ - mini_printf("cad::",1); - mini_printf(tdirent->d_name,1); - mini_printf(" -> ",1); - mini_printf(buf,1); - mini_printf("\n",1); - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!gen_svc_tree(buf)) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* find the other service */ - ltmp = list_search(buf); - if(!ltmp) return 0; - - deps = malloc(sizeof(struct dep)); - if(!deps) return 0; - deps->svc = svc; - if(type == DEP_NEEDS) { - dep_entry_add(&(ltmp->needed),deps); - - /* allocate new memory for the second dependency list */ - deps = malloc(sizeof(struct dep)); - if(!deps) return 0; - deps->svc = ltmp; - dep_entry_add(&(svc->needs),deps); - } else { - dep_entry_add(&(ltmp->wanted),deps); - deps = malloc(sizeof(struct dep)); - if(!deps) return 0; - deps->svc = ltmp; - dep_entry_add(&(svc->wants),deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/dep_entry_add.c deleted file mode 100644 index 380e32e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/dep_entry_add.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc.h" - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - */ -int dep_entry_add(struct dep **list, struct dep *new) -{ - if( *list == NULL ) { /* new list */ - *list = new; - (*list)->prev = *list; - (*list)->next = *list; - } else { /* already existing */ - new->next = *list; /* new-> first */ - new->prev = (*list)->prev; /* last <- new */ - (*list)->prev->next = new; /* last -> new */ - (*list)->prev = new; /* new <- first */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/dep_search.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/dep_search.c deleted file mode 100644 index 46d993bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/dep_search.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Search in the list - */ - -#include /* NULL */ -#include /* strcmp */ -#include "cinit.h" -#include "svc.h" - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if( list == NULL ) { /* think positive */ - return NULL; - } else { - tmp = list; - } - - do { - if( !strcmp(path, tmp->abs_path) ) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/gen_svc_tree.c deleted file mode 100644 index 3236b490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,43 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include -#include "cinit.h" -#include "svc.h" - -int gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - mini_printf("gen_svc_tree: ",1); - mini_printf(svc,1); - mini_printf("\n",1); - - /* only do something if the service is not already known */ - if(svc_known(svc)) return 1; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return 0; - - if(!check_add_deps(li,DEP_NEEDS)) return 0; - if(!check_add_deps(li,DEP_WANTS)) return 0; - - if(!li->wants && !li->needs) { - mini_printf("NO: Service has no dependencies, end service\n",1); - deps = malloc(sizeof(struct dep)); - if(!deps) return 0; - deps->svc = li; - mini_printf(deps->svc->abs_path,1); - mini_printf("\n",1); - dep_entry_add(&svc_init,deps); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_delete.c deleted file mode 100644 index 10a7e218..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_delete.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "svc.h" - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - free(tmp->abs_path); - free(tmp); - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_display_all.c deleted file mode 100644 index 65c7b3a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_display_all.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ -#include "cinit.h" -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if( svc_list == NULL ) { - return 0; - } else { - tmp = svc_list; - } - - do { - mini_printf("Service: ",1); - mini_printf(tmp->abs_path,1); - mini_printf("\n",1); - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_insert.c deleted file mode 100644 index 6b6568c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_insert.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include /* bzero / memset */ -#include "cinit.h" -#include "svc.h" -#include "messages.h" - -struct listitem *list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc( sizeof( struct listitem ) ); - if( tmp == NULL ) return NULL; - memset( tmp, '\0', sizeof( struct listitem ) ); - - if( svc_list == NULL ) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) return NULL; - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_modify.c deleted file mode 100644 index 4a93c41c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_modify.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - -// D_PRINTF(path); - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_search.c deleted file mode 100644 index bb8d4e1c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_search.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "cinit.h" -#include "svc.h" - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if( svc_list == NULL ) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if( !strcmp(path, tmp->abs_path) ) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_search_pid.c deleted file mode 100644 index a199e734..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/list_search_pid.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "svc.h" - -/* find service by pid, needs to be online because it is called - * by a signal handler - */ -inline struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if( svc_list == NULL ) { - return NULL; - } else { - tmp = svc_list; - } - - do { - if( pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/objects b/software/cinit/browse_source/cinit-0.3pre2/src/svc/objects deleted file mode 100644 index 0b24afa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/objects +++ /dev/null @@ -1,12 +0,0 @@ -svc/gen_svc_tree.o -svc/list_delete.o -svc/list_display_all.o -svc/list_insert.o -svc/list_modify.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_known.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/tree_exec.o diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/svc_add_needs.c deleted file mode 100644 index cc03727d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/svc_add_needs.c +++ /dev/null @@ -1,67 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -//#include -//#include -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/svc_create.c deleted file mode 100644 index 249d6b16..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/svc_create.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include "svc.h" - -/* checking for existence is done before! */ -struct listitem *svc_create(char *svc) -{ - return list_insert(svc,-1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/svc_known.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/svc_known.c deleted file mode 100644 index c2baf28e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/svc_known.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include "svc.h" - -int svc_known(char *svc) -{ - return (list_search(svc) != NULL) ? 1 : 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre2/src/svc/tree_exec.c deleted file mode 100644 index 4ed9d20a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/svc/tree_exec.c +++ /dev/null @@ -1,64 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" /* D_PRINTF */ -#include "svc.h" /* svc_init */ - -/* some thoughts... - * - * - we already generated the tree, we now need to start it from - * the ends - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the service that - * need or want that service - * - * - * - */ - -int tree_exec(struct dep *start) -{ - struct dep *tmp; - - if(start == NULL) return 1; - - //tmp = start->next; - tmp = start; - - mini_printf("Test 01\n",1); - do { - mini_printf(tmp->svc->abs_path,1); - mini_printf("\n",1); - -// tmp->svc->pid = fork(); - - -// if(tmp->svc->pid == -1) return 0; - - // if(tmp->svc->pid == 0) { /* child code */ - // execute_sth(tmp->svc->abs_path); -// _exit(1); - // } - - //tmp = tmp->next; - tmp = tmp->prev; - } while(tmp != start); - mini_printf("Test 02\n",1); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre2/src/test/test_build_argv+link.c deleted file mode 100644 index e37169fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre2/src/test/test_build_argv.c deleted file mode 100644 index 0b2678be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre2/src/test/test_gen_svc_tree.c deleted file mode 100644 index 93ad54ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre2/util/README b/software/cinit/browse_source/cinit-0.3pre2/util/README deleted file mode 100644 index 782cdc8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/util/README +++ /dev/null @@ -1,2 +0,0 @@ -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre2/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre2/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre2/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre2/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre2/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre2/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre2/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre3/ b/software/cinit/browse_source/cinit-0.3pre3/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre3/.exclude b/software/cinit/browse_source/cinit-0.3pre3/.exclude deleted file mode 100644 index 1a2d31e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/.exclude +++ /dev/null @@ -1,2 +0,0 @@ -tmp -.git diff --git a/software/cinit/browse_source/cinit-0.3pre3/.gitignore b/software/cinit/browse_source/cinit-0.3pre3/.gitignore deleted file mode 100644 index 0f53ad16..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/CHANGES b/software/cinit/browse_source/cinit-0.3pre3/CHANGES deleted file mode 100644 index 79e1facb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/CHANGES +++ /dev/null @@ -1,39 +0,0 @@ -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre3/COPYING b/software/cinit/browse_source/cinit-0.3pre3/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre3/CREDITS b/software/cinit/browse_source/cinit-0.3pre3/CREDITS deleted file mode 100644 index b009a48c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/CREDITS +++ /dev/null @@ -1,23 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: 2005-09-25) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding diff --git a/software/cinit/browse_source/cinit-0.3pre3/Changelog b/software/cinit/browse_source/cinit-0.3pre3/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre3/Makefile b/software/cinit/browse_source/cinit-0.3pre3/Makefile deleted file mode 100644 index 9c174b63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/Makefile +++ /dev/null @@ -1,85 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# directories and files -DDOC=ddoc -SDIRS=bin client conf comm doc generic serv util -CDIRS=contrib+tools - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -%.o: %.c - $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< - -all: sources - -sources: - $(MAKE) -C src all - -docs: $(DDOC) bin/cdoc-man.sh - ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 - ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 - -$(DDOC): - mkdir $(DDOC) - -$(CSVC_OBJ) $(OBJ): $(CONFIG_H) - -$(SBIN): - mkdir $(SBIN) - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' - -clean: - $(MAKE) -C src clean - #rm -f *.o */*.o */*/*.o sbin/* $(CONFIG_H) ddoc/* - rm -f tmpbin/* - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install:: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -#all install clean:: -# @for subdir in $(CDIRS); do \ -# echo "Making $@ in $$subdir"; \ -# (cd $$subdir && $(MAKE) $(MAKEFLAGS) $@) \ -# || exit 1;\ -# done; - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured diff --git a/software/cinit/browse_source/cinit-0.3pre3/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre3/NEXTTODO deleted file mode 100644 index 36280921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/NEXTTODO +++ /dev/null @@ -1,40 +0,0 @@ -- check free on dep_del! -- dep_create into tree_exec -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- check when replacing the service with its needs that the services are - not inserted twice, like in: - a is wanted by c - b is wanted by c - c is entered twice, because c has still status ST_SH_ONCE! -- insert new dependencies in tree_exec! -- write svc_execute, which forks away the new process -- cleanup the sig_child handler - * disable signals in sig_child handler - * update status of service - - use list_search_pid - -- continue tree_exec() - * start first list, remove objects that have been started - * add new dependencies (wanted_by and needed_by from the service - being removed) - * so tree_exec runs as long as there are elements in the list! - - not only as long as the list is cycled! -- Fix SIG_CHILD handler! - * Lookup other signalling things, too. -- add respawn when creating the service -- create - * svc_on() that tries to start a service - * svc_off() that tries to stop a service - -- define messages - a) human readable - b) binary data? - ? -- replace cinit_ipc_logon with cinit_ipc_init... -- cleanup run_svc -- implement do_reboot.c -- cleanup sig_child - -Finally: -- test and release cinit-0.3rc1 diff --git a/software/cinit/browse_source/cinit-0.3pre3/README b/software/cinit/browse_source/cinit-0.3pre3/README deleted file mode 100644 index 27f07c12..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/README +++ /dev/null @@ -1,110 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre3/ROADMAP b/software/cinit/browse_source/cinit-0.3pre3/ROADMAP deleted file mode 100644 index b26ccb36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/ROADMAP +++ /dev/null @@ -1,117 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers - code: cleanup makefile - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. - code: add special directory (/etc/cinit/special?) for os specific binaries - -> halt, poweroff, reboot (NOTHING MORE THEY CAN DO) - -> SHOULD NOT BE IN THE PATH - code: move production code to src/ - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre3/TODO b/software/cinit/browse_source/cinit-0.3pre3/TODO deleted file mode 100644 index e034901a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/TODO +++ /dev/null @@ -1,276 +0,0 @@ -- define how it should work (doc/braindums/big-picture.text) -- define service status in one document, so repeatition stops! - - --------------------------------------------------------------------------------- -- rename headers/ -> includes/ -- remove client/ from top level --------------------------------------------------------------------------------- -- write about shell scripts in system startup -- write about general behaviour (covering the death) --------------------------------------------------------------------------------- -Generate automatic asciidoc from conf/* --------------------------------------------------------------------------------- -Add handler for ctrl+alt+delete - * document in paths --------------------------------------------------------------------------------- -pre-compile config: conf/* - --------------------------------------------------------------------------------- -panic: - read configuratio from defaults/panic* - -> write execute_something before! --------------------------------------------------------------------------------- -comm: - tmpnow: search for pid in list, - save the pid in the list, so we know whether our executer died! --------------------------------------------------------------------------------- -Logging / cinit: - fuer unsere eigenen ausgaben auch multilog? - - Logger: shared memory? --------------------------------------------------------------------------------- -Implement full starting logic in server? --------------------------------------------------------------------------------- -Build full dependency tree at start? And begin from the end? --------------------------------------------------------------------------------- -comm/*: - int read - int write - --> fuer pipes - -run_init_svc - muss alle services wissen, die gestartet werden - - start_services_with_deps - gibt pointer auf struktur zurueck - -> Anzahl Services (array!) - -> Service: - Name (Pfad) - Ergebniss - -> beim fehler, die nachricht, strerror? - http://www.opengroup.org/onlinepubs/009695399/functions/strerror.html - - -Beim starten werden needs und wants als needs behandelt, weil -jeder starter _alle_ services zurueckgeben muss. - - Ein Prozess kann maximal 512 abhaengigkeiten haben. - -> open files - - -Neues cinit: - Wenn service fehlschlaegt, wird eine Struktur zurueckgegeben. - - Diese enhaelt: - - int success = - enum { SVC_SUCCESS, SVC_FAILED, SVC_NEED_FAILED, ... } - - char *reason; - - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s - - Rekursives herunter/rauffahren --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary -- remove sigio(), create new functions: - - one for cleaning up the socket - - one for doing the communication (specify two fd's) -- put some logic around exec_svc: - o put waiting code herein -> waiting code to structure! -- cleanup serv/sig_reboot.c:7: - o implement os-specific reboot function --------------------------------------------------------------------------------- -1. Entfernung mount -2. kommunikation ueber - 1. einen fork pro service - fork(fork) -3. Socket wird erst nach einem Signal erstellt - -> Konfiguration sollte SIGWHATEVER senden -4. Vielleicht panicen, wenn init fehlschlaegt? --------------------------------------------------------------------------------- -Als naechstes: - -- add code do implement stopping / restarting with dependency tree - o add used_by to the list of services - o used_by should be a simple (double?) linked list --------------------------------------------------------------------------------- -Documentation: - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring --------------------------------------------------------------------------------- -Add "used" by to each service, so we can track which services to shutdown. --------------------------------------------------------------------------------- -- perhaps use dnotify? -- recheck warm reboot -- fix cservice -- print service name or cinit: before _everything_ WE print - -TESTING: - - does cinit eat zombies? - - is the reporting ok? - - does cservice and ccontrol what's expected? - -# cinit.create.empty.service: can only be started from the bin directory - -- compile cinit static and other tools dynamically per default - -- Fix Switching services off !! -- Remove RUN_RUN_SVCs, move code to run_svc so one can determine which - services failed? - --> sequentieller ablauf! - --> parallel ablauf, struct-array mit namen und ergebnis? - --> for dep in deps/*; do fork(run_svc() ); done - -----> while(any_is_running) { sleep } - -------> array durchsuchen, ergebnis nutzen. - - ueberpruefen von wo aus run_svc() aufgerufen wird - -- Fix SIGCHILD problem: - - exec_svc wants to waitpid() itself, so SIG_CHILD makes problems - - respawn_svc: does that need to act on SIGCHLD if the master process - is still running? - - kill respawn -> sigchild cleans up, we do not get waitpid perhaps? -- remove umount code? -- remove zombies, but keep away from SIGCHILD problems -- remove mount /etc/cinit/tmp code - -> how to replace? -- fix bug in Makefile: linking happens twice -- do not kill respawing service, if off exists -- ccontrol -- manpages -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren -- ddoc zuendefuehren - -- remove umount, swapoff? ---> to services? - -- on.out, on.err, on.in? - -> reading/writing from/to files - ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! -- implement "no_kill" until cinit-0.2 or 0.3? - -Doku!!! - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) - - memset for timespecs? - - move umount, swapoff and remount to off of init? - -> cleanup sig_reboot.c - - run_svc: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - - do we really need swapoff? --------------------------------------------------------------------------------- -- Documentation - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml --------------------------------------------------------------------------------- -Things I did not do and I don't know whether we have to care about: - -- Porting - - add porting code to other unices? - - like openssh guys do? - -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -[OLD BUGS] -- remove cinit watcher? - -> sig_child -> cycle through list? -- DOKU: what happens when a service does not terminate.... - und er als once drin ist -- MANPAGE! -- execve() fails -> no sleep!! -- multiple zombies sometimes - problemservices - -> zombies of respawn watchers are not caught! - -> sig_chld also therein - -> problematic due to wait for child --doubled cinit instance - - nur einmal -- free() everything before starting child -- cservice! - - prozess nur einmal -> WARTET! cinit auch! -doku: - cservice einmal starten -> wartet auf ende - cint ersetzt init bei gentoo - an error occuerd-> verbose - multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -possible BUGS: - -[14:44] freelsd:cinit-0.2.2% ./sbin/cservice -e ein - -ein: No such file or directory -Bad address -: Service does not exist - -cinit-0.2.2: -USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND -root 1 96.7 0.0 1580 336 ? R 18:59 5:49 /sbin/cinit -root 2 0.0 0.0 0 0 ? SN 18:59 0:00 [ksoftirqd/0] -root 3 0.0 0.0 0 0 ? S 18:59 0:00 [watchdog/0] -root 4 0.0 0.0 0 0 ? S< 18:59 0:00 [events/0] -root 5 0.0 0.0 0 0 ? S< 18:59 0:00 [khelper] -root 6 0.0 0.0 0 0 ? S< 18:59 0:00 [kthread] -root 10 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [khubd] -root 12 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [kblockd/0] -root 99 0.0 0.0 0 0 ? S 18:59 0:00 \_ [pdflush] -root 100 0.0 0.0 0 0 ? S 18:59 0:00 \_ [pdflush] -root 102 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [aio/0] -root 727 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [kseriod] -root 101 0.0 0.0 0 0 ? S 18:59 0:00 [kswapd0] -root 800 0.0 0.0 0 0 ? S 18:59 0:00 [khpsbpkt] -root 803 0.0 0.0 0 0 ? S 18:59 0:00 [pccardd] -root 838 0.0 0.0 0 0 ? S 18:59 0:00 [kjournald] -root 1923 0.0 0.0 1584 200 ? S 18:59 0:00 /sbin/cinit -root 1924 0.0 0.3 3624 1936 tty2 Rs 18:59 0:00 \_ -zsh -root 1969 0.0 0.0 1580 320 tty2 S 19:05 0:00 \_ cservice -e 3 -root 1972 0.0 0.1 2604 828 tty2 R+ 19:05 0:00 \_ ps axuwwf -root 1945 0.0 0.0 0 0 tty2 Z 19:01 0:00 [loadkeys] -cinit: [cprofile:profile] -cinit should not be started directly, but by your kernel. -umount raus -/etc/cinit/specials/... rein - -1. Doku auf asciidoc umstellen -2. den signalhandler code fixen -3. den tempmount entfernen - ---> cinit-0.3-rc1 --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? diff --git a/software/cinit/browse_source/cinit-0.3pre3/TODO.doc b/software/cinit/browse_source/cinit-0.3pre3/TODO.doc deleted file mode 100644 index 71ed721d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/TODO.doc +++ /dev/null @@ -1,12 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre3/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.configure.mark deleted file mode 100644 index aa648411..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.release b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.release deleted file mode 100644 index c5e15859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.release +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: Fr Okt 28 01:24:58 CEST 2005 - - -if [ $# -ne 2 ]; then - echo $(basename $0): source-dir version - exit 1 -fi - -DIR=$1 -VERSION=$2 -OUT_NAME=cinit-${VERSION}.tar.bz2 -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -( cd "$DIR" && make clean ) || exit 1 - -echo "Creating bzip2 compressed tar" -tar cj -X $DIR/.exclude -f "$OUT_NAME" $DIR -chmod 0644 "$OUT_NAME" -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type d -exec chmod 0755 {} \\;" -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre3/client/README b/software/cinit/browse_source/cinit-0.3pre3/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre3/client/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre3/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/client/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre3/client/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/client/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/client/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre3/client/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/client/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre3/client/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre3/client/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/client/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre3/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre3/client/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/client/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre3/client/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/client/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/client/run_svc.c b/software/cinit/browse_source/cinit-0.3pre3/client/run_svc.c deleted file mode 100644 index 7fea6a92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/client/run_svc.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre3/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre3/client/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/client/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/comm/README b/software/cinit/browse_source/cinit-0.3pre3/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.3pre3/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre3/comm/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/comm/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/comm/do_result.c b/software/cinit/browse_source/cinit-0.3pre3/comm/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/comm/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre3/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre3/comm/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/comm/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/.README b/software/cinit/browse_source/cinit-0.3pre3/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre3/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre3/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_env b/software/cinit/browse_source/cinit-0.3pre3/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_halt b/software/cinit/browse_source/cinit-0.3pre3/conf/c_halt deleted file mode 100644 index 4eed340f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the link belowe c_special, which links to the program -to be executed right before halting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_init b/software/cinit/browse_source/cinit-0.3pre3/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre3/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_off b/software/cinit/browse_source/cinit-0.3pre3/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_on b/software/cinit/browse_source/cinit-0.3pre3/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre3/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_params b/software/cinit/browse_source/cinit-0.3pre3/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_poweroff b/software/cinit/browse_source/cinit-0.3pre3/conf/c_poweroff deleted file mode 100644 index 5b5c9c9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_poweroff +++ /dev/null @@ -1,4 +0,0 @@ -poweroff - -Name of the link belowe c_special, which links to the program -to be executed right before powering off the system. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_reboot b/software/cinit/browse_source/cinit-0.3pre3/conf/c_reboot deleted file mode 100644 index 8702388f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_reboot +++ /dev/null @@ -1,4 +0,0 @@ -reboot - -Name of the link belowe c_special, which links to the program -to be executed right before rebooting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre3/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre3/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre3/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre3/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre3/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_umount b/software/cinit/browse_source/cinit-0.3pre3/conf/c_umount deleted file mode 100644 index ab96b0a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_umount +++ /dev/null @@ -1,6 +0,0 @@ -umount - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -It should normally be a shellscript with the OS-specific umount procedure. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre3/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/cc b/software/cinit/browse_source/cinit-0.3pre3/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/cflags b/software/cinit/browse_source/cinit-0.3pre3/conf/cflags deleted file mode 100644 index 812812a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/cflags +++ /dev/null @@ -1,3 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g - -Standard flags to pass to (g)cc. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre3/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/confdir b/software/cinit/browse_source/cinit-0.3pre3/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/destdir b/software/cinit/browse_source/cinit-0.3pre3/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre3/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre3/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre3/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre3/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/ld b/software/cinit/browse_source/cinit-0.3pre3/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre3/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre3/conf/max_delay deleted file mode 100644 index 149fa16c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/max_delay +++ /dev/null @@ -1,7 +0,0 @@ -4 - -Maximum number of digits which may be in the delay file. -If there are more, the string "12345678901" will be cut to the -right length "1234567890". I don't think you'll ever need -a timeout greater 4 digits (9999 seconds are 166,65~ minutes, are -2 hours, 46 minutes and 39 seconds). See doc/configuring.cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre3/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre3/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre3/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre3/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/os b/software/cinit/browse_source/cinit-0.3pre3/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre3/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre3/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre3/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/prefix b/software/cinit/browse_source/cinit-0.3pre3/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/profile b/software/cinit/browse_source/cinit-0.3pre3/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre3/conf/service_categories deleted file mode 100644 index d632b875..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/service_categories +++ /dev/null @@ -1,4 +0,0 @@ -getty local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre3/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre3/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre3/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre3/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre3/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/strip b/software/cinit/browse_source/cinit-0.3pre3/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre3/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre3/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre3/conf/version b/software/cinit/browse_source/cinit-0.3pre3/conf/version deleted file mode 100644 index f1fea13b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre3" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/Makefile deleted file mode 100644 index 8441c90b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o ../generic/usage.o ../generic/mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/cinit-vis.pl deleted file mode 100644 index 3956ff47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/cinit.graph.text.c deleted file mode 100644 index bc6fb6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.gaph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.gaph.text - textual representatio of the cinitdirectory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.gaph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre3/doc/.buildwarn deleted file mode 100644 index 72ebaf6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/.buildwarn +++ /dev/null @@ -1,18 +0,0 @@ -**************************************************************************** -First of all configure cinit through the configuration files found in conf/. - -The documentation can be found in doc/, read - - README and doc/configuring.cinit - -_before_ first use. - -After reading and configuring use: - - "make all" - to build cinit - "make install" - to install cinit - "make install-miniconf" - to install a minimal cinit-configuration - -After that you'll have to configure it. Some sample configurations can be -found on the cinit homepage at http://linux.schottelius.org/cinit/. -**************************************************************************** diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre3/doc/Makefile deleted file mode 100644 index 704903da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -INSTALL=install -CCOLLECT=ccollect.sh -LN=ln -sf - -prefix=/usr/packages/ccollect-git -bindir=$(prefix)/bin -destination=$(bindir)/$(CCOLLECT) - -path_dir=/usr/local/bin -path_destination=$(path_dir)/$(CCOLLECT) - -# where to publish -host=creme.schottelius.org -dir=www/org/schottelius/linux/ccollect -docdir=$(dir)/doc - -# -# End user targets -# -all: - @echo "Creating asciidoc based documentation" - @asciidoc -n -o ccollect.html doc/ccollect.text - -%.html: %.text - echo asciidoc $< -n $> -o $^.html $^.text $@ - - -install: install-script install-link - -install-link: install-script - $(LN) $(destination) $(path_destination) - -install-script: - $(INSTALL) -D -m 0755 -s $(CCOLLECT) $(destination) - -documentation: - @echo "Generating HTML-documentation (en de) ..." - @asciidoc -n -o doc/ccollect.html doc/ccollect.text - @asciidoc -n -o doc/ccollect-DE.html doc/ccollect-DE.text - -# -# Developer targets -# -update: - @cg-update creme - -push-work: - @cg-push creme - @cg-push sygroup - -publish-doc: documentation - @echo "Transferring files to $(host)" - @chmod a+r doc/*.html doc/*.text - @scp doc/*.text doc/*.html $(host):$(docdir) diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/coding-style b/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/coding-style deleted file mode 100644 index 1b164b9e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/coding-style +++ /dev/null @@ -1,49 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. - - -Unsorted ---------- -Linebreaks: - - -if(...) { - -} else { -} - - -do { -} while(); - -no spaces - - within braces and code "(!test)", - - before braces "if(code)" - -spaces - - after braces "if(test) return 0;" - - spaces before and after '=' (a = b); - -curly braces: - functions: - int func(int params) - { - body - } - -comments: - where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre3/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre3/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre3/doc/devel/communication.text deleted file mode 100644 index 82f77774..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/communication.text +++ /dev/null @@ -1,221 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -The byte order is host specific (may be little or big endian). - - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre3/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre3/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre3/doc/devel/ipc.text deleted file mode 100644 index 7013a985..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/ipc.text +++ /dev/null @@ -1,108 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre3/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre3/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre3/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre3/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre3/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre3/doc/man/cinit.text deleted file mode 100644 index 11d56be2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/man/cinit.text +++ /dev/null @@ -1,54 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -ccollect is a backup utility written in the sh-scripting language. -It does not depend on a specific shell, only `/bin/sh` needs to be -bourne shell compatibel (like 'dash', 'ksh', 'zsh', 'bash', ...). - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard service (which is confdir/init/) - -BUGS ----- -cinit is not tested nor documented very well currently. - -Additionally the porting to other OS is not finished yet. - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre3/doc/man/cservice deleted file mode 100644 index 8dae0c2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/man/cservice +++ /dev/null @@ -1,34 +0,0 @@ --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre3/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre3/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre3/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/caveats b/software/cinit/browse_source/cinit-0.3pre3/doc/user/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/compiles.on b/software/cinit/browse_source/cinit-0.3pre3/doc/user/compiles.on deleted file mode 100644 index 3fe83479..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/compiles.on +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -compiles.on, -Nico Schottelius 2005-06-09 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit is known to compile on: - -x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 - -Please report your configuration, if it's not listed here. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/config-dirs b/software/cinit/browse_source/cinit-0.3pre3/doc/user/config-dirs deleted file mode 100644 index 4a8fbb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/config-dirs +++ /dev/null @@ -1,19 +0,0 @@ -configuring - - /etc/cinit/defaults/panic -> link to something to execute on panic - (most likely /sbin/sulogin) - - /etc/cinit/defaults/tmp -> link to a directory where - the socket should be created, - after finishing boot - - What todo right before halting/rebooting/powering off - /etc/cinit/special/ - -> halt - -> reboot - -> poweroff - -Configuration -------------- - -Send kill signal diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/configuring.cinit b/software/cinit/browse_source/cinit-0.3pre3/doc/user/configuring.cinit deleted file mode 100644 index a88ba00f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/configuring.cinit +++ /dev/null @@ -1,189 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, -Nico Schottelius 2005-05-28 (Last Modified: 2005-06-05) --------------------------------------------------------------------------------- - -0. Pre-compile configuration -1. General configuration layout -2. Hints -2.0 Service executing / parameters -2.1 Daemons -2.2 Logging -2.3 Using prepared scripts -3. Profiles - - -0. Pre-compile configuration - -Have a look at conf/*. Those variable will mostly be used when -compiling cinit. Some will be read later (like destdir). - - -1. General configuration layout - -/etc/cinit (configurable via conf/cinit_dir) stores the complete -cinit configuration. - -cinit is service based. -A service consists of - - a base directory (like /etc/cinit/getty/1) - - dependency configuration: - - ./wants - services it wants to be started before (but it - will work anyway) - - ./needs/ - services it needs. If those services fail, this service - won't be started. - - - a flag indicating whether to respawn the service: - - ./respawn (simply touch it) - - - a delay: how long to wait for the service (in seconds) before - sending SIGKILL after the SIGTERM (only for respawning processes): - - ./delay (one line with only the digits) - - If delay is non-existing or not readable, the delay from - conf/sleep_kill_svc is taken. The maximum length of this - number ("9999" uses length 4, "42" needs 2 bytes) can be adjusted - at compile time in conf/max_delay. Internally this is a signed - integer, so the maximum size depends on your system. Though - I don't think anybody will want to wait for a service as long as - an integer would allow. - - - the program to run when switching the service on and off: - - ./on (a link to a program or a shell script) - ./on.params (see conf/c_params, the parameters to pass to the program) - ./on.env (see conf/c_env, the environment to pass to the program) - - ./off (call that when shutting down the service) - ./off.params (the parameters to pass to the program) - ./on.env (the environment to pass to the program) - -You should have a look at the samples/ directory for examples. - -If things are missing, cinit will continue with what's available. -This way you only need the files you use. Some examples: - - /etc/cinit/init: - ./wants -> services it wants - ./needs -> services it needs - That's everything - - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it - That's everything, as it has no dependencies - - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn on service - delay -> wait this time before sending SIGKILL after SIGTERM - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting - - -2. Hints - -2.0 Service executing / parameters - -The on and off files can and should be links to the programs you want -to execute. This way you save yourself loading the big shell (which is -on many Linux systems bash, why so ever, dash does the job as good, still -beeing small). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. The on script -could look like: - - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). - - -2.1 Daemons - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking (Please have a look at -daemons.backgrounding for a list of known daemons and their switches -to avoid backgrounding). - -The other possibility is to use a program, which will - a) start the daemon - b) look into the pidfile of the daemon - c) will then wait until that pid does not exist anymore - d) and then it exits and cinit will restart it (goto a) now) - -Such a program is included into this cinit release, -though I do not recommend using it. You should better contact the -authors and make them implement a clean non-forking mode. - -The name of the program (actually a shell script) is "cinit.wait.for.daemon". - -You will use it as the "on" part of the service and you have to add - - a) the pidfile to on.params - b) the daemon binary - -Thus the service would look like: - - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -2.2 Logging - -Currently there's no special logging support. -When programs write to stdout, it will be displayed on -the same stdout cinit is connected to -(we don't even open /dev/console - we are too lazy currently). - - -2.3 Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - - -3. Profiles - -Since cinit-0.0.6 there is profile in cinit. -Profiles are described in doc/profile.support. - -X. Examples - -Can be found in the tarballs below samples/. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre3/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/daemons.backgrounding b/software/cinit/browse_source/cinit-0.3pre3/doc/user/daemons.backgrounding deleted file mode 100644 index f7b7fdf5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/daemons.backgrounding +++ /dev/null @@ -1,71 +0,0 @@ --------------------------------------------------------------------------------- -daemons backgrounding, -Nico Schottelius 2005-06-12 (Last Modified: 2005-10-15) --------------------------------------------------------------------------------- - -0. Definition - -A daemon is a program which runs in the background, not having a tty -associated necesserally. Running in background does not mean it has -to background (fork()) itself, but that you cannot control it directly -from a shell. - -1. Daemons and cinit - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking - -The following daemons / servers are known to avoid backgrounding easily: - - acpid [x86 power management]: -f (undocumentated but works) - apache [webserver]: -DFOREGROUND - asterisk [pbx]: -f - bind [dns server/caching]: -f - cardmgr [pcmcia/cardbus]: -f - cron (vixie) [schedular]: -f - cupsd [printer server]: -f or -F - dhclient [dhcp client]: -d - dhcp3 (isc) [dhcp server]: -f - distccd [compile server]: normal behaviour - fam [file alteration monitor]:-f - fcron [schedular]: -f - frox [ftp proxy]: "NoDetach" in config - gdm [display manager]: -nodaemon - hybrid [irc server]: -foreground - icecast2 [sound streamer]: normal behaviour - mini-lpd [printer server]: normal behaviour - metalog [log server]: normal behaviour - monotone [vcs]: normal behaviour - mpd [music server]: --no-daemon - nessusd ["security server"]: normal behaviour - ntpd [time server]: -n - oidentd [identd server]: -i - oops [http proxy]: normal behaviour - openssh [ssh server]: -D - openvpn [vpn server]: normal behaviour - pbbuttonsd [power management]:normal behaviour - proftpd [ftp server]: -n - qmail [mta]: normal behaviour - rsync ["file server"]: --no-detach - silcd ["secure chat server"]: -F, --foreground - slapd [ldap]: -d - snmpd [snmp daemon]: -f - svnserve [vcs]: --foreground - syslogd [log server]: -n - syslog-ng [log server]: -F - tcpserver [super server]: normal behaviour - udhcpc [dhcp client]: normal behaviour - vsftpd [ftp server]: normal behaviour (or: config: background=no) - xinetd [super server]: -dontfork - -Those are the daemons that do not offer the possibility (as of release 0.2): - - atd (no switch, no configuraton option) - inetd (some variants) - nscd (no switch, no configuraton option) - portmap (only with debug mode) diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre3/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre3/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre3/doc/user/installing-cinit.text deleted file mode 100644 index 084a225e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/installing-cinit.text +++ /dev/null @@ -1,25 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 -:Author Initials: NS - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -For cross compiling see 'cross-compiling.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre3/doc/user/main.text deleted file mode 100644 index 6308e4c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre3/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre3/doc/user/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre3/doc/user/paths.text deleted file mode 100644 index 0b8c6b39..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/paths.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Introduction ------------- -The base directory under which all configurations are found -is '/etc/cinit'. - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services - conf -> general configuration ----------------------------------------------------------------------- - - -General pathnames -~~~~~~~~~~~~~~~~~~ -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - 'name'.params - the parameter to pass to 'name' when executing - - 'name'.env - the environment to pass to 'name' when executing - - -Name.params -^^^^^^^^^^^ -The 'params' file is a simple file containing one argument on each -line. - -Name.env -^^^^^^^^ -The 'env' file contains one assignment on each line. -"testvar=testvalue". - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. - -. The executable files in this directory are: - - panic{.*} - - umount{.*} - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory -which may contain the following files: - -. List of files - - on - What to execute when starting the service - * on.env - Environment to pass to 'on' - * on.params - Parameters to pass to 'on' - - off - What to execute when stopping the service - * off.env - Environment to pass to 'on' - * off.params - Parameters to pass to 'on' - - respawn - An empty file that tells cinit to restart the service - when it exits - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/problems b/software/cinit/browse_source/cinit-0.3pre3/doc/user/problems deleted file mode 100644 index a3440a3a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/problems +++ /dev/null @@ -1,9 +0,0 @@ -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/profile.support b/software/cinit/browse_source/cinit-0.3pre3/doc/user/profile.support deleted file mode 100644 index 7bc607b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/profile.support +++ /dev/null @@ -1,72 +0,0 @@ --------------------------------------------------------------------------------- -Profiles, -Nico Schottelius, 2005-06-04 --------------------------------------------------------------------------------- - -1. What are profiles? -2. How to use profiles? -3. How to configure profiles? -4. Some examples - - -1. What are profiles? - -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -2. How to use profiles? - -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. -How to pass argumenents to cinit? Under Linux the init-system -gets the kernel arguments (see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -3. How to configure profiles? - -It's very simple: Normally cinit would call /etc/cinit/init as -primary service and solve all dependencies. If you pass -cprofile=wireless to it, cinit will start /etc/cinit/wireless as -primary service instead. - - [Note: /etc/cinit/yourprofile is the service that will be started. - You need/should/must NOT create /etc/cinit/yourprofile/init!] - -So the only thing you have to do is to create a service directory -below /etc/cinit with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/init; tar c . | (mkdir ../yp; cd ../yp; tar x ) - -That's it! - - -4. Some examples - -Here are some examples we found in #cLinux: - - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work - diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre3/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre3/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre3/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre3/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.read-conf deleted file mode 100644 index 4f3c1cb7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/* - -set -e - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre3/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre3/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre3/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre3/serv/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/serv/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre3/serv/sig_child.c b/software/cinit/browse_source/cinit-0.3pre3/serv/sig_child.c deleted file mode 100644 index cee8042e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/serv/sig_child.c +++ /dev/null @@ -1,35 +0,0 @@ -/* cinit - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * We are called, when a child dies. Remove it. - */ - -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_child - * collect the children - * FIXME: check whether we've race conditions when reciieving multiiple - * signals - * Perhaps disable listening to sig_child in meantime? - */ - -void sig_child(int tmp) -{ - struct listitem *svc; - - do { - /* check if it's a watched child */ - tmp = waitpid(-1, &tmp, WNOHANG); - - /* restart service, if we are watching it */ - svc = list_search_pid((pid_t) tmp); - - if( svc != NULL ) { - svc->pid = exec_svc(svc->abs_path, CMD_START_SVC); - } - } while( tmp > 0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre3/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/Makefile b/software/cinit/browse_source/cinit-0.3pre3/src/Makefile deleted file mode 100644 index 2100b7d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/Makefile +++ /dev/null @@ -1,135 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -include Makefile.tests - -# Build tools / locations -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin - -# directories and files -CONFIG_H=include/config.h - -# -# objects for the cinit part -# -CINIT_HEADERS=$(shell cat include/listing) -CINIT_CORE_OBJ=$(shell cat core/objects) -CINIT_GENERIC_OBJ=$(shell cat generic/objects) -CINIT_SVC_OBJ=$(shell cat svc/objects) - -# -# The current link may be missing in the first run -# -CINIT_IPC_OBJ=$(shell cat ipc/current/objects 2>/dev/null) -CINIT_OS_OBJ=$(shell cat os/current/objects 2>/dev/null) - -CINIT_OBJ=$(CINIT_CORE_OBJ) $(CINIT_IPC_OBJ) $(CINIT_OS_OBJ) \ - $(CINIT_GENERIC_OBJ) $(CINIT_SVC_OBJ) - -# -# Dependencies -# -$(CINIT_OBJ): $(CINIT_HEADERS) - -# -# Client modules -# -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -BOTH=generic/set_signals.o generic/mini_printf.o generic/usage.o - -OBJ=$(SERV) $(SERV_OS) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -CCO_OBJ=util/ccontrol.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -%.o: %.c - $(CC) -c -o $@ $< - -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: cinit - -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -$(CINIT_OBJ): $(CONFIG_H) - -cinit: $(CINIT_OBJ) - $(LD) $^ -o $@ - - -#$(CINIT_BIN): $(SBIN) $(OBJ) -# $(LD) $(LDFLAGS) $(OBJ) -o $@ -# $(STRIP) $@ - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' - - - -.PHONY: clean -clean: - rm -f .configured - rm -f $(CINIT_OBJ) - rm -f ../tmpbin/* - -distclean: - rm -f os/current ipc/current - -$(CONFIG_H): ../conf/* - ../scripts/cinit.mkheader > $(CONFIG_H) - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre3/src/Makefile.tests deleted file mode 100644 index 88cbb5df..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/Makefile.tests +++ /dev/null @@ -1,25 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre3/src/core/build_argv.c deleted file mode 100644 index bb72a9b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/core/build_argv.c +++ /dev/null @@ -1,220 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write paramaters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "cinit.h" -#include "build_argv.h" - - /* - * FIXME: we are perhaps loosing a byte, the \0 for the full - * string of argv and envp! too tired to check. - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - * - */ - - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int fd; - int argc; - char pathtmp[PATH_MAX+1]; - char *p; - char *sbuf = NULL; - struct stat buf; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - printf("basename %s\n",basename); - - /*********************************************************************** - * Try to get realname (for links) - */ - if ( ( tmp = readlink(basename,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc( sizeof(char *) ); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc( tmp ); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - strcat(pathtmp,C_PARAMS); - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - return BA_E_PARAMS; - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - return BA_E_PARAMS; - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) { - return BA_E_MEM; - } - - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - } else { /* end of string */ - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(bav->argv == NULL) { - return BA_E_MEM; - } - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,bav->argv[0]); - strcat(pathtmp,C_ENV); - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - return BA_E_ENV; - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - return BA_E_ENV; - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre3/src/core/cinit.c deleted file mode 100644 index 645a3829..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/core/cinit.c +++ /dev/null @@ -1,92 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "cinit.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; - -int main(int argc, char **argv) -{ - char *initdir; -// pid_t cpid; - - initdir = CINIT_INIT; /* default init dir */ - - /* FIXME: RE-ENABLE as SOON AS PRODUCTIVE cpid = getpid(); - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - set_signals(ACT_SERV); - - /* Look whether we should start a profile */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_SVCDIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* FIXME: do we really need three calls? */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* pre-calculate service tree */ - gen_svc_tree(initdir); - - /* start tree from the bottom */ - if(!tree_exec(svc_init)) return 1; - - mini_printf("test\n",1); - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* listen for incomming messages: should never return */ - if(!cinit_ipc_listen()) { - panic(); - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre3/src/core/do_reboot.c deleted file mode 100644 index c190f634..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/core/do_reboot.c +++ /dev/null @@ -1,74 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "ipc.h" -#include "cinit.h" -#include "os.h" -#include "messages.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - struct timespec ts; - //char **cmd; - //int i; - - /* shutdown all services: take care about the dependency tree */ - - /* do not listen to client requests anymore - * FIXME: perhaps before shutdown? */ - cinit_ipc_destroy(); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - /* FIXME make SLEEP_KILL an optional configuration statement */ - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - ts.tv_nsec = 0; - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* execute umount, as defined in conf/umount */ - - /* execute_sth(CINIT_UMOUNT); */ - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/core/objects b/software/cinit/browse_source/cinit-0.3pre3/src/core/objects deleted file mode 100644 index fd49e8d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/core/objects +++ /dev/null @@ -1,6 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/run_init_svc.o -core/set_signals.o -core/do_reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre3/src/core/panic.c deleted file mode 100644 index 39092aef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/core/panic.c +++ /dev/null @@ -1,30 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include "cinit.h" -#include - -void panic(void) -{ - char *nargv[2]; - - execute_sth(CINIT_PANIC); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - execv(SULOGIN,nargv); - - /* there's nothing todo, if everything fails */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/core/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre3/src/core/run_init_svc.c deleted file mode 100644 index 42edb167..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/core/run_init_svc.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/core/run_svc.c b/software/cinit/browse_source/cinit-0.3pre3/src/core/run_svc.c deleted file mode 100644 index 4a7eabf1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/core/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre3/src/core/set_signals.c deleted file mode 100644 index 57dfc242..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/core/set_signals.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006-2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include -#include -#include "cinit.h" - -void sig_child(int signal) { signal=2; } /* HACK */ - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=sig_child; - } - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - if(action == ACT_SERV) { - sa.sa_handler=do_reboot; - } - sigaction(SIGHUP,&sa,NULL); /* reboot */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGUSR1,&sa,NULL); /* halt */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre3/src/generic/execute_sth.c deleted file mode 100644 index f596bbbf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/generic/execute_sth.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ -#include "cinit.h" -#include "build_argv.h" - -void execute_sth(char *basename) -{ - struct ba_argv bav; - int tmp; - - if((tmp = cinit_build_argv(basename,&bav)) != BA_OK) { - if(tmp != BA_E_MEM) { - print_errno(basename); - } /* do not print something on memory errors */ - _exit(1); /* FIXME: adjust exit code? */ - } - - execve((bav.argv)[0],bav.argv,bav.envp); - print_errno(basename); - _exit(1); /* FIXME: return specific error code, so cinit knows - * what happened! - sure? perhaps this gets non - * standard errors from other programs, too ... */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre3/src/generic/mini_printf.c deleted file mode 100644 index e4e16678..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Print to the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while ( *p ) p++; - - write(fd,str,(size_t) (p - str) ); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/generic/objects b/software/cinit/browse_source/cinit-0.3pre3/src/generic/objects deleted file mode 100644 index ba33ac4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/generic/objects +++ /dev/null @@ -1,5 +0,0 @@ -generic/execute_sth.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre3/src/generic/path_absolute.c deleted file mode 100644 index ae524326..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "cinit.h" /* print_errno */ -#include "messages.h" /* print_errno */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_CHDIR); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre3/src/generic/path_append.c deleted file mode 100644 index 361b349e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/generic/path_append.c +++ /dev/null @@ -1,29 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre3/src/generic/print_errno.c deleted file mode 100644 index 7415d556..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre3/src/generic/usage.c deleted file mode 100644 index 076cfa9b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/generic/usage.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * - */ - -#include -#include "cinit.h" - -/*********************************************************************** - * usage: tell the user what's wrong and a help text - */ -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre3/src/include/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/include/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre3/src/include/cinit.h deleted file mode 100644 index e2083803..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/include/cinit.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_H -#define _CINIT_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_UMOUNT CINIT_CONFDIR SLASH C_UMOUNT - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -int run_init_svc(char *cinit_svc); -void sigio(int socket); -void do_reboot(int signal); -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); -void sig_terminate(int signal); - -/* generic */ -void execute_sth(char *basename); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); - -/* util */ -int msg_reboot(char cmd); -void print_errno(char *text); - -/* os-functions */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - -#endif /* _CINIT_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/include/comm.h b/software/cinit/browse_source/cinit-0.3pre3/src/include/comm.h deleted file mode 100644 index b9aaf60f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/include/comm.h +++ /dev/null @@ -1,69 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_START_SVC=1, /* the client wants US to start a service */ - CMD_START_SVC_ONLY, /* start this service without dependencies */ - CMD_STOP_SVC, /* stop svc and all svcs that need it */ - CMD_STOP_SVC_ONLY, /* we should stop _only_ this service */ - CMD_STOP_SVC_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ - CMD_RESCUE, /* we should start the rescue mode */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ - CMD_INFO /* send information about that service */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre3/src/include/ipc.h deleted file mode 100644 index 66b3bc86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/include/ipc.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init (client init) */ -int cinit_ipc_connect(void); /* connect to init */ -int cinit_ipc_csend(void *data); /* send to the server from a client */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/include/listing b/software/cinit/browse_source/cinit-0.3pre3/src/include/listing deleted file mode 100644 index df30f408..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/include/listing +++ /dev/null @@ -1,5 +0,0 @@ -include/cinit.h -include/config.h -include/ipc.h -include/messages.h -include/os.h diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre3/src/include/messages.h deleted file mode 100644 index 1ae95e2c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/include/messages.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -/* Messages to the outside */ -#define MSG_BIND "bind" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_KILLBILL "sigkill" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_TERMKILL "sigterm" -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_SVC_FAIL "Service failed" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_START_SVC "Starting " -#define MSG_STOP_SVC "Stoping " -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_POWER_OFF "Powering off..." -#define MSG_HALT "Halting system ..." -#define MSG_REBOOT "Rebooting ..." -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre3/src/include/os.h deleted file mode 100644 index e36d5a8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/include/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre3/src/include/svc.h deleted file mode 100644 index 2849e7ab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/include/svc.h +++ /dev/null @@ -1,122 +0,0 @@ -/*********************************************************************** - * - * 2006,2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - - -#ifndef _CINIT_SVC_H -#define _CINIT_SVC_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char *abs_path; /* name of service */ - int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - - - struct dep *wanted; /* list of services that want this service */ - struct dep *needed; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *svc_init; /* the services to start */ -extern struct listitem *svc_list; /* the list of services */ - -/* list functions */ -struct listitem *list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -inline struct listitem *list_search_pid(pid_t pid); -int list_display_all(); - - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -int dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -int svc_set_status(struct listitem *li, int status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -/*********************************************************************** - * status of a service and return codes - errors and success - */ -enum svc_status_old { - ST_TMPNOW=1, /* the client is now starting the service NEEDED??? */ - ST_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - - ST_OFF, /* service is off */ - ST_OFF_ALL, /* service and those that need it are off */ - ST_OFF_ALL_F, /* same, but something failed */ - ST_OFF_WANTS, /* service + those that need or want it are off */ - ST_OFF_WANTS_F, /* same, but something failed */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ -}; - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum svc_status { - /* first define basics */ - ST_SH_ONCE = 1, /* service SHould be started once */ - ST_SH_RESPAWN = 2, /* service SHould respawn */ - ST_ONCE_OK = 4, /* service was successfully started once */ - ST_ONCE_FAIL = 8, /* service failed to start */ - ST_RESPAWNING = 16, /* service is respawning */ - ST_NEED_FAILD = 32, /* this service is not started, need failed */ - ST_IN_LIST = 64 /* this service is being started (= in list) */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum svc_needs_status { - SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - SNS_NEEDS_FAILED, /* one ore more needs failed */ - SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_connect.c b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_connect.c deleted file mode 100644 index a744980c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_connect.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel */ - k_in = ftok(IPC_KEY,IPC_IN); - k_out = ftok(IPC_KEY,IPC_OUT); - - if(k_in == -1 || k_out == -1) { - perror("ftok"); - exit(1); - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - perror("msgget"); - exit(1); - } - - /* wrong tabsto ;-) */ -while (1) { - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror("msgrcv"); - exit(1); - } - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 43a0012f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,62 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(IPC_KEY,IPC_OUT); - k_out = ftok(IPC_KEY,IPC_IN); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 299885c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ - -#include "msgq.h" /* mq_in, mq_out */ -#include "cinit.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(mq_in,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(mq_out,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index 9ae072a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* msgget */ - -#include "cinit.h" -#include "config.h" -#include "msgq.h" - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_in = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_in == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* to_client */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - if(k_tmp == -1) { - perror(MSG_MSGQ_FTOK); - return 0; - } - mq_out = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_out == -1) { - perror(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index d21e561e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,47 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* perror */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - - struct msg_client m_client; - - while (1) { - /* FIXME: change msg structure */ - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror(MSG_MSGQ_MSGRCV); - } - - printf("pid: %d, m_client\n",m_client.pid); - - /* use pid as the message type - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - return 0; - } */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index a744980c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel */ - k_in = ftok(IPC_KEY,IPC_IN); - k_out = ftok(IPC_KEY,IPC_OUT); - - if(k_in == -1 || k_out == -1) { - perror("ftok"); - exit(1); - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - perror("msgget"); - exit(1); - } - - /* wrong tabsto ;-) */ -while (1) { - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror("msgrcv"); - exit(1); - } - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index 08c0e252..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "cinit.h" /* print_errno */ -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - key_t k_in, k_out; /* FIXME: remove one variable */ - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - k_out = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_sclose.c b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_sclose.c deleted file mode 100644 index 69165e4d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/cinit_ipc_sclose.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Close the ressources from the server, clean state for forks. - * - */ - -int cinit_ipc_sclose(void) -{ - return 1; /* nothing to do when using message queues */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/msgq.h deleted file mode 100644 index 01c6e769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * part of cinit - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define MSGQ_TO_SERVER 'i' /* also for ftok */ -#define MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables - */ -int mq_in; /* input */ -int mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_FTOK "ftok" -#define MSG_MSGQ_MSGGET "msgget" -#define MSG_MSGQ_MSGRCV "msgrcv" -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre3/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre3/src/os/freebsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre3/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre3/src/os/freebsd/poweroff.c deleted file mode 100644 index 61e5ef5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre3/src/os/freebsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre3/src/os/linux/halt.c deleted file mode 100644 index 0ecf8ced..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre3/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre3/src/os/linux/poweroff.c deleted file mode 100644 index 5f503678..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre3/src/os/linux/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre3/src/os/openbsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre3/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre3/src/os/openbsd/poweroff.c deleted file mode 100644 index 45168122..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre3/src/os/openbsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/check_add_deps.c deleted file mode 100644 index c0568628..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/check_add_deps.c +++ /dev/null @@ -1,133 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers */ -#include -#include -#include /* PATH_MAX */ - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ - -#include "cinit.h" -#include "messages.h" -#include "svc.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_CHDIR); - return 0; - } - - mini_printf("CAD::",1); - mini_printf(svc->abs_path,1); - mini_printf("\n",1); - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf,C_NEEDS)) return 0; - } else { - if(!path_append(buf,C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no needs */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent=readdir(d_tmp))!=NULL) { - if(*(tdirent->d_name)=='.') continue; /* ignore .* */ - - /* skip non-working directories */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* FIXME: remove debug */ - mini_printf("CAD::NEW::",1); - mini_printf(svc->abs_path,1); - mini_printf("::",1); - mini_printf(buf,1); - mini_printf("\n",1); - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - dep_entry_add(&(new_svc->needed),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs),deps); - } else { - dep_entry_add(&(new_svc->wanted),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants),deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/dep_create.c deleted file mode 100644 index 691d66b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/dep_create.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/dep_entry_add.c deleted file mode 100644 index 8bac1c1d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/dep_entry_add.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc.h" - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - */ -int dep_entry_add(struct dep **deplist, struct dep *new) -{ - if( *deplist == NULL ) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/dep_entry_del.c deleted file mode 100644 index ed2a627d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/dep_entry_del.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc.h" - -/* - * tmp: pointer to data to remove (must not be NULL) - * -> perhaps work on the pointer to the pointer? - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* last service in the list */ - if(del->next == del && del->prev == del) { - tmp=NULL; - free(del); - } else { - /* remove from list */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - free(del); - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/dep_needs_wants_add.c deleted file mode 100644 index 50c813e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,59 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Add all wants and needs from a specific service to dep list - */ - -#include /* NULL */ -#include "svc.h" -#include "cinit.h" /* FIXME: debug */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -/* FIXME unfinished (wants) and possibly not adding all? */ -int dep_needs_wants_add(struct dep **list, struct listitem *svc) -{ - - struct dep *tmp, *new; - - /* first add needs, then add wants - * but only add the services, if they are still a virgin - */ - /* check status */ - - mini_printf("DNWA::",1); - mini_printf(svc->abs_path,1); - - /* check needs */ - tmp = svc->needed; - if(tmp != NULL) { - do { - mini_printf("::",1); - mini_printf(tmp->svc->abs_path,1); - if(((tmp->svc->status & ST_SH_ONCE) || - (tmp->svc->status & ST_SH_RESPAWN)) && - !(tmp->svc->status & ST_IN_LIST)) { - mini_printf("::(A)::",1); - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= ST_IN_LIST; - dep_entry_add(list,new); - } - /* FIXME: go forward or backwards? - * this decision will influence starting order - * and may thereby add a minimal mount of speed enhancement */ - tmp = tmp->next; - } while(tmp != svc->needed); - } - mini_printf("\n",1); - - /* check wants */ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/gen_svc_tree.c deleted file mode 100644 index 17be88dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include -#include "cinit.h" -#include "svc.h" - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li=list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return NULL; - - /* FIXME: remove debug */ - mini_printf("gen_tree::",1); - mini_printf(svc,1); - mini_printf("\n",1); - - if(!check_add_deps(li,DEP_NEEDS)) return NULL; - if(!check_add_deps(li,DEP_WANTS)) return NULL; - - if(!li->wants && !li->needs) { - /* FIXME: remove debug */ - mini_printf("START::",1); - mini_printf(li->abs_path,1); - mini_printf("\n",1); - - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&svc_init,deps); - - /* mark it as being in _THE_ list */ - li->status |= ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_delete.c deleted file mode 100644 index 10a7e218..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_delete.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "svc.h" - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - free(tmp->abs_path); - free(tmp); - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_display_all.c deleted file mode 100644 index 65c7b3a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_display_all.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ -#include "cinit.h" -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if( svc_list == NULL ) { - return 0; - } else { - tmp = svc_list; - } - - do { - mini_printf("Service: ",1); - mini_printf(tmp->abs_path,1); - mini_printf("\n",1); - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_insert.c deleted file mode 100644 index f31d4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_insert.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* malloc */ -#include /* bzero / memset */ -#include "svc.h" /* the list pointer */ - -struct listitem *list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset( tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) return NULL; - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_modify.c deleted file mode 100644 index 4a93c41c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_modify.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - -// D_PRINTF(path); - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_search.c deleted file mode 100644 index b40fae23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_search.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "cinit.h" -#include "svc.h" - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_search_pid.c deleted file mode 100644 index a199e734..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/list_search_pid.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "svc.h" - -/* find service by pid, needs to be online because it is called - * by a signal handler - */ -inline struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if( svc_list == NULL ) { - return NULL; - } else { - tmp = svc_list; - } - - do { - if( pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/objects b/software/cinit/browse_source/cinit-0.3pre3/src/svc/objects deleted file mode 100644 index 32c3dc0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/objects +++ /dev/null @@ -1,18 +0,0 @@ -svc/gen_svc_tree.o -svc/list_delete.o -svc/list_display_all.o -svc/list_insert.o -svc/list_modify.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_add_needs.c deleted file mode 100644 index cc03727d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_add_needs.c +++ /dev/null @@ -1,67 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -//#include -//#include -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_create.c deleted file mode 100644 index 85f3d940..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_create.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* strcpy */ -#include /* stat */ -#include /* stat */ -#include /* PATH_MAX */ -#include /* errno */ -#include "svc.h" /* listitem */ -#include "cinit.h" /* path_append */ - -/* checking for existence is done before! */ -/* FIXME: check heedars for conformance with POSIX */ -struct listitem *svc_create(char *svc) -{ - char buf[PATH_MAX+1]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc,-1); - if(!li) return NULL; - - /* FIXME: add two path length checks? svc and svc+strlen(C_RESPAWN)? */ - strcpy(buf,svc); - if(!path_append(buf,C_RESPAWN)) return NULL; - - if(stat(buf,&statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li,ST_SH_ONCE); - } else { - return NULL; - } - } else { - mini_printf("respawn: ",1); - mini_printf(li->abs_path,1); - mini_printf("\n",1); - svc_set_status(li,ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_needs_status.c deleted file mode 100644 index d9d54a81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_needs_status.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return status of the needs of this service - */ - -#include /* NULL */ -#include "svc.h" /* service information */ - -// DEBUG #include "cinit.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - -/* DEBUG mini_printf("sns: ",1); - mini_printf(svc->abs_path,1); - mini_printf("\n",1); */ - - if(deps == NULL) return SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* worst case: need failed */ - if((deps->svc->status & ST_NEED_FAILD) || - (deps->svc->status & ST_ONCE_FAIL)) { - retval = SNS_NEEDS_FAILED; - break; - } - /* services are being started */ - if((deps->svc->status & ST_SH_ONCE) || - (deps->svc->status & ST_SH_RESPAWN)) { - retval = SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_respawn_check.c deleted file mode 100644 index 2ed44de8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX+1]; - - strcpy(buf,svc->abs_path); - if(!path_append(buf,C_RESPAWN)) return 0 -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_set_status.c deleted file mode 100644 index 36b61795..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_set_status.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_set_status(struct listitem *li, int status) -{ - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_should_respawn.c deleted file mode 100644 index 1c401024..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return whether should respawn or not - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_success.c deleted file mode 100644 index f2f96244..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/svc_success.c +++ /dev/null @@ -1,18 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -void svc_success(struct listitem *li) -{ - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_OK; - else - li->status = ST_RESPAWNING; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre3/src/svc/tree_exec.c deleted file mode 100644 index 0d46afe7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/svc/tree_exec.c +++ /dev/null @@ -1,130 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - -#include /* DEBUG */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" /* D_PRINTF */ -#include "svc.h" /* svc_init */ - -/* some thoughts... - * - * - we already generated the tree, we now need to start it from - * the ends - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the service that - * need or want that service - * - * - * - */ - -int tree_exec(struct dep *start) -{ - struct dep *tmp; - - tmp = start; - - mini_printf("========> tree_exec() \n",1); - /* the main starting loop: All services in this list should be - * started, but it is possible that dependent services are in the - * list. In this case simply skip the current service - */ - do { - /* FIXME debug */ - mini_printf("TEX::",1); - mini_printf(tmp->svc->abs_path,1); - mini_printf("\n",1); - { - struct dep *tmp2; - tmp2=tmp->svc->needs; - if(tmp2) { - do { - mini_printf("::",1); - mini_printf(tmp2->svc->abs_path,1); - mini_printf("\n",1); - fprintf(stderr,"%s: <<%d>>\n",tmp2->svc->abs_path,tmp2->svc->status); - tmp2 = tmp2->next; - } while (tmp2 != tmp->svc->needs); - } - } - - switch(svc_needs_status(tmp->svc)) { - case SNS_NEEDS_STARTED: - mini_printf("abhaengigkeiten gestartet, exec; add wants, needs\n",1); - /* FIXME: execute service */ - - /* update status */ - /* FIXME: check return code of execute_sth */ - svc_success(tmp->svc); - - /* execute service, remowe from list */ - /* FIXME check return code? */ - dep_needs_wants_add(&tmp,tmp->svc); - - /* delete service from list */ - tmp = dep_entry_del(tmp); - break; - case SNS_NEEDS_FAILED: - mini_printf("wer fehlgeschlagen\n",1); - /* mark service as NEED_FAILD and delete from list */ - svc_set_status(tmp->svc,ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - case SNS_NEEDS_UNFINISHED: - mini_printf("noch warten\n",1); - /* continue with the next item */ - tmp = tmp->next; - break; - } - -// tmp->svc->pid = fork(); - - -// if(tmp->svc->pid == -1) return 0; - - // if(tmp->svc->pid == 0) { /* child code */ - // execute_sth(tmp->svc->abs_path); -// _exit(1); - // } - - /* add the services that want or need this service to the list - * of services to be executed the next time - * - * We should add the new services at the beginning, so we - * clean the original onse first - * - * And we need to check, whether the dependencies are already - * solved. - * - * A service may be in status: - * - * - Unset (never touched) - * - Being started (passed our loop, but did not yet finish) - * - Respawning (means was started and we take care - * about it - * - failed (with reason copied, so one can reprint it later?) - * - once - started once successfully - * - need failed - not started, because need failed. perhaps - * registert which dependenc(y|ies) failed? - */ - /* FIXME: debug delay */ - sleep(1); - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre3/src/test/test_build_argv+link.c deleted file mode 100644 index e37169fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre3/src/test/test_build_argv.c deleted file mode 100644 index 0b2678be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre3/src/test/test_gen_svc_tree.c deleted file mode 100644 index 93ad54ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre3/util/README b/software/cinit/browse_source/cinit-0.3pre3/util/README deleted file mode 100644 index 782cdc8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/util/README +++ /dev/null @@ -1,2 +0,0 @@ -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre3/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre3/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre3/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre3/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre3/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre3/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre3/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre4/ b/software/cinit/browse_source/cinit-0.3pre4/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre4/.exclude b/software/cinit/browse_source/cinit-0.3pre4/.exclude deleted file mode 100644 index 1a2d31e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/.exclude +++ /dev/null @@ -1,2 +0,0 @@ -tmp -.git diff --git a/software/cinit/browse_source/cinit-0.3pre4/.gitignore b/software/cinit/browse_source/cinit-0.3pre4/.gitignore deleted file mode 100644 index 0f53ad16..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/CHANGES b/software/cinit/browse_source/cinit-0.3pre4/CHANGES deleted file mode 100644 index c995229d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/CHANGES +++ /dev/null @@ -1,43 +0,0 @@ -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre4/COPYING b/software/cinit/browse_source/cinit-0.3pre4/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre4/CREDITS b/software/cinit/browse_source/cinit-0.3pre4/CREDITS deleted file mode 100644 index b009a48c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/CREDITS +++ /dev/null @@ -1,23 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: 2005-09-25) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding diff --git a/software/cinit/browse_source/cinit-0.3pre4/Changelog b/software/cinit/browse_source/cinit-0.3pre4/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre4/Makefile b/software/cinit/browse_source/cinit-0.3pre4/Makefile deleted file mode 100644 index 9c174b63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/Makefile +++ /dev/null @@ -1,85 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# directories and files -DDOC=ddoc -SDIRS=bin client conf comm doc generic serv util -CDIRS=contrib+tools - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -%.o: %.c - $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< - -all: sources - -sources: - $(MAKE) -C src all - -docs: $(DDOC) bin/cdoc-man.sh - ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 - ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 - -$(DDOC): - mkdir $(DDOC) - -$(CSVC_OBJ) $(OBJ): $(CONFIG_H) - -$(SBIN): - mkdir $(SBIN) - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' - -clean: - $(MAKE) -C src clean - #rm -f *.o */*.o */*/*.o sbin/* $(CONFIG_H) ddoc/* - rm -f tmpbin/* - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install:: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -#all install clean:: -# @for subdir in $(CDIRS); do \ -# echo "Making $@ in $$subdir"; \ -# (cd $$subdir && $(MAKE) $(MAKEFLAGS) $@) \ -# || exit 1;\ -# done; - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured diff --git a/software/cinit/browse_source/cinit-0.3pre4/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre4/NEXTTODO deleted file mode 100644 index 1f0d1689..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/NEXTTODO +++ /dev/null @@ -1,23 +0,0 @@ -- check execute_sth -- do not reports errors, when on or off do not exist! -- FIX the child handler! -- check free on dep_del! -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- cleanup the sig_child handler - * disable signals in sig_child handler - * update status of service - * Lookup other signalling things, too. - - use list_search_pid - -- define messages - a) human readable - b) binary data? - ? -- replace cinit_ipc_logon with cinit_ipc_init... -- cleanup run_svc - * NOT NECESSARY ANYMORE! -- implement do_reboot.c - -Finally: -- test and release cinit-0.3rc1 diff --git a/software/cinit/browse_source/cinit-0.3pre4/README b/software/cinit/browse_source/cinit-0.3pre4/README deleted file mode 100644 index 27f07c12..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/README +++ /dev/null @@ -1,110 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre4/ROADMAP b/software/cinit/browse_source/cinit-0.3pre4/ROADMAP deleted file mode 100644 index b26ccb36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/ROADMAP +++ /dev/null @@ -1,117 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers - code: cleanup makefile - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. - code: add special directory (/etc/cinit/special?) for os specific binaries - -> halt, poweroff, reboot (NOTHING MORE THEY CAN DO) - -> SHOULD NOT BE IN THE PATH - code: move production code to src/ - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre4/TODO b/software/cinit/browse_source/cinit-0.3pre4/TODO deleted file mode 100644 index e034901a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/TODO +++ /dev/null @@ -1,276 +0,0 @@ -- define how it should work (doc/braindums/big-picture.text) -- define service status in one document, so repeatition stops! - - --------------------------------------------------------------------------------- -- rename headers/ -> includes/ -- remove client/ from top level --------------------------------------------------------------------------------- -- write about shell scripts in system startup -- write about general behaviour (covering the death) --------------------------------------------------------------------------------- -Generate automatic asciidoc from conf/* --------------------------------------------------------------------------------- -Add handler for ctrl+alt+delete - * document in paths --------------------------------------------------------------------------------- -pre-compile config: conf/* - --------------------------------------------------------------------------------- -panic: - read configuratio from defaults/panic* - -> write execute_something before! --------------------------------------------------------------------------------- -comm: - tmpnow: search for pid in list, - save the pid in the list, so we know whether our executer died! --------------------------------------------------------------------------------- -Logging / cinit: - fuer unsere eigenen ausgaben auch multilog? - - Logger: shared memory? --------------------------------------------------------------------------------- -Implement full starting logic in server? --------------------------------------------------------------------------------- -Build full dependency tree at start? And begin from the end? --------------------------------------------------------------------------------- -comm/*: - int read - int write - --> fuer pipes - -run_init_svc - muss alle services wissen, die gestartet werden - - start_services_with_deps - gibt pointer auf struktur zurueck - -> Anzahl Services (array!) - -> Service: - Name (Pfad) - Ergebniss - -> beim fehler, die nachricht, strerror? - http://www.opengroup.org/onlinepubs/009695399/functions/strerror.html - - -Beim starten werden needs und wants als needs behandelt, weil -jeder starter _alle_ services zurueckgeben muss. - - Ein Prozess kann maximal 512 abhaengigkeiten haben. - -> open files - - -Neues cinit: - Wenn service fehlschlaegt, wird eine Struktur zurueckgegeben. - - Diese enhaelt: - - int success = - enum { SVC_SUCCESS, SVC_FAILED, SVC_NEED_FAILED, ... } - - char *reason; - - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s - - Rekursives herunter/rauffahren --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary -- remove sigio(), create new functions: - - one for cleaning up the socket - - one for doing the communication (specify two fd's) -- put some logic around exec_svc: - o put waiting code herein -> waiting code to structure! -- cleanup serv/sig_reboot.c:7: - o implement os-specific reboot function --------------------------------------------------------------------------------- -1. Entfernung mount -2. kommunikation ueber - 1. einen fork pro service - fork(fork) -3. Socket wird erst nach einem Signal erstellt - -> Konfiguration sollte SIGWHATEVER senden -4. Vielleicht panicen, wenn init fehlschlaegt? --------------------------------------------------------------------------------- -Als naechstes: - -- add code do implement stopping / restarting with dependency tree - o add used_by to the list of services - o used_by should be a simple (double?) linked list --------------------------------------------------------------------------------- -Documentation: - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring --------------------------------------------------------------------------------- -Add "used" by to each service, so we can track which services to shutdown. --------------------------------------------------------------------------------- -- perhaps use dnotify? -- recheck warm reboot -- fix cservice -- print service name or cinit: before _everything_ WE print - -TESTING: - - does cinit eat zombies? - - is the reporting ok? - - does cservice and ccontrol what's expected? - -# cinit.create.empty.service: can only be started from the bin directory - -- compile cinit static and other tools dynamically per default - -- Fix Switching services off !! -- Remove RUN_RUN_SVCs, move code to run_svc so one can determine which - services failed? - --> sequentieller ablauf! - --> parallel ablauf, struct-array mit namen und ergebnis? - --> for dep in deps/*; do fork(run_svc() ); done - -----> while(any_is_running) { sleep } - -------> array durchsuchen, ergebnis nutzen. - - ueberpruefen von wo aus run_svc() aufgerufen wird - -- Fix SIGCHILD problem: - - exec_svc wants to waitpid() itself, so SIG_CHILD makes problems - - respawn_svc: does that need to act on SIGCHLD if the master process - is still running? - - kill respawn -> sigchild cleans up, we do not get waitpid perhaps? -- remove umount code? -- remove zombies, but keep away from SIGCHILD problems -- remove mount /etc/cinit/tmp code - -> how to replace? -- fix bug in Makefile: linking happens twice -- do not kill respawing service, if off exists -- ccontrol -- manpages -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren -- ddoc zuendefuehren - -- remove umount, swapoff? ---> to services? - -- on.out, on.err, on.in? - -> reading/writing from/to files - ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! -- implement "no_kill" until cinit-0.2 or 0.3? - -Doku!!! - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) - - memset for timespecs? - - move umount, swapoff and remount to off of init? - -> cleanup sig_reboot.c - - run_svc: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - - do we really need swapoff? --------------------------------------------------------------------------------- -- Documentation - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml --------------------------------------------------------------------------------- -Things I did not do and I don't know whether we have to care about: - -- Porting - - add porting code to other unices? - - like openssh guys do? - -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -[OLD BUGS] -- remove cinit watcher? - -> sig_child -> cycle through list? -- DOKU: what happens when a service does not terminate.... - und er als once drin ist -- MANPAGE! -- execve() fails -> no sleep!! -- multiple zombies sometimes - problemservices - -> zombies of respawn watchers are not caught! - -> sig_chld also therein - -> problematic due to wait for child --doubled cinit instance - - nur einmal -- free() everything before starting child -- cservice! - - prozess nur einmal -> WARTET! cinit auch! -doku: - cservice einmal starten -> wartet auf ende - cint ersetzt init bei gentoo - an error occuerd-> verbose - multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -possible BUGS: - -[14:44] freelsd:cinit-0.2.2% ./sbin/cservice -e ein - -ein: No such file or directory -Bad address -: Service does not exist - -cinit-0.2.2: -USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND -root 1 96.7 0.0 1580 336 ? R 18:59 5:49 /sbin/cinit -root 2 0.0 0.0 0 0 ? SN 18:59 0:00 [ksoftirqd/0] -root 3 0.0 0.0 0 0 ? S 18:59 0:00 [watchdog/0] -root 4 0.0 0.0 0 0 ? S< 18:59 0:00 [events/0] -root 5 0.0 0.0 0 0 ? S< 18:59 0:00 [khelper] -root 6 0.0 0.0 0 0 ? S< 18:59 0:00 [kthread] -root 10 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [khubd] -root 12 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [kblockd/0] -root 99 0.0 0.0 0 0 ? S 18:59 0:00 \_ [pdflush] -root 100 0.0 0.0 0 0 ? S 18:59 0:00 \_ [pdflush] -root 102 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [aio/0] -root 727 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [kseriod] -root 101 0.0 0.0 0 0 ? S 18:59 0:00 [kswapd0] -root 800 0.0 0.0 0 0 ? S 18:59 0:00 [khpsbpkt] -root 803 0.0 0.0 0 0 ? S 18:59 0:00 [pccardd] -root 838 0.0 0.0 0 0 ? S 18:59 0:00 [kjournald] -root 1923 0.0 0.0 1584 200 ? S 18:59 0:00 /sbin/cinit -root 1924 0.0 0.3 3624 1936 tty2 Rs 18:59 0:00 \_ -zsh -root 1969 0.0 0.0 1580 320 tty2 S 19:05 0:00 \_ cservice -e 3 -root 1972 0.0 0.1 2604 828 tty2 R+ 19:05 0:00 \_ ps axuwwf -root 1945 0.0 0.0 0 0 tty2 Z 19:01 0:00 [loadkeys] -cinit: [cprofile:profile] -cinit should not be started directly, but by your kernel. -umount raus -/etc/cinit/specials/... rein - -1. Doku auf asciidoc umstellen -2. den signalhandler code fixen -3. den tempmount entfernen - ---> cinit-0.3-rc1 --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? diff --git a/software/cinit/browse_source/cinit-0.3pre4/TODO.doc b/software/cinit/browse_source/cinit-0.3pre4/TODO.doc deleted file mode 100644 index 71ed721d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/TODO.doc +++ /dev/null @@ -1,12 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre4/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.configure.mark deleted file mode 100644 index aa648411..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.release b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.release deleted file mode 100644 index c5e15859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.release +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: Fr Okt 28 01:24:58 CEST 2005 - - -if [ $# -ne 2 ]; then - echo $(basename $0): source-dir version - exit 1 -fi - -DIR=$1 -VERSION=$2 -OUT_NAME=cinit-${VERSION}.tar.bz2 -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -( cd "$DIR" && make clean ) || exit 1 - -echo "Creating bzip2 compressed tar" -tar cj -X $DIR/.exclude -f "$OUT_NAME" $DIR -chmod 0644 "$OUT_NAME" -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type d -exec chmod 0755 {} \\;" -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre4/client/README b/software/cinit/browse_source/cinit-0.3pre4/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre4/client/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre4/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/client/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre4/client/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/client/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/client/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre4/client/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/client/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre4/client/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre4/client/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/client/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre4/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre4/client/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/client/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre4/client/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/client/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/client/run_svc.c b/software/cinit/browse_source/cinit-0.3pre4/client/run_svc.c deleted file mode 100644 index 7fea6a92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/client/run_svc.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre4/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre4/client/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/client/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/comm/README b/software/cinit/browse_source/cinit-0.3pre4/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.3pre4/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre4/comm/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/comm/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/comm/do_result.c b/software/cinit/browse_source/cinit-0.3pre4/comm/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/comm/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre4/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre4/comm/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/comm/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/.README b/software/cinit/browse_source/cinit-0.3pre4/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre4/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre4/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_env b/software/cinit/browse_source/cinit-0.3pre4/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_halt b/software/cinit/browse_source/cinit-0.3pre4/conf/c_halt deleted file mode 100644 index 4eed340f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the link belowe c_special, which links to the program -to be executed right before halting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_init b/software/cinit/browse_source/cinit-0.3pre4/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre4/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_off b/software/cinit/browse_source/cinit-0.3pre4/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_on b/software/cinit/browse_source/cinit-0.3pre4/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre4/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_params b/software/cinit/browse_source/cinit-0.3pre4/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_poweroff b/software/cinit/browse_source/cinit-0.3pre4/conf/c_poweroff deleted file mode 100644 index 5b5c9c9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_poweroff +++ /dev/null @@ -1,4 +0,0 @@ -poweroff - -Name of the link belowe c_special, which links to the program -to be executed right before powering off the system. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_reboot b/software/cinit/browse_source/cinit-0.3pre4/conf/c_reboot deleted file mode 100644 index 8702388f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_reboot +++ /dev/null @@ -1,4 +0,0 @@ -reboot - -Name of the link belowe c_special, which links to the program -to be executed right before rebooting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre4/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre4/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre4/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre4/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre4/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_umount b/software/cinit/browse_source/cinit-0.3pre4/conf/c_umount deleted file mode 100644 index ab96b0a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_umount +++ /dev/null @@ -1,6 +0,0 @@ -umount - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -It should normally be a shellscript with the OS-specific umount procedure. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre4/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/cc b/software/cinit/browse_source/cinit-0.3pre4/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/cflags b/software/cinit/browse_source/cinit-0.3pre4/conf/cflags deleted file mode 100644 index 812812a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/cflags +++ /dev/null @@ -1,3 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g - -Standard flags to pass to (g)cc. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre4/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/confdir b/software/cinit/browse_source/cinit-0.3pre4/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/destdir b/software/cinit/browse_source/cinit-0.3pre4/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre4/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre4/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre4/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre4/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/ld b/software/cinit/browse_source/cinit-0.3pre4/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre4/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre4/conf/max_delay deleted file mode 100644 index 149fa16c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/max_delay +++ /dev/null @@ -1,7 +0,0 @@ -4 - -Maximum number of digits which may be in the delay file. -If there are more, the string "12345678901" will be cut to the -right length "1234567890". I don't think you'll ever need -a timeout greater 4 digits (9999 seconds are 166,65~ minutes, are -2 hours, 46 minutes and 39 seconds). See doc/configuring.cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre4/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre4/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre4/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre4/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/os b/software/cinit/browse_source/cinit-0.3pre4/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre4/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre4/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre4/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/prefix b/software/cinit/browse_source/cinit-0.3pre4/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/profile b/software/cinit/browse_source/cinit-0.3pre4/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre4/conf/service_categories deleted file mode 100644 index d632b875..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/service_categories +++ /dev/null @@ -1,4 +0,0 @@ -getty local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre4/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre4/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre4/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre4/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre4/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/strip b/software/cinit/browse_source/cinit-0.3pre4/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre4/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre4/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre4/conf/version b/software/cinit/browse_source/cinit-0.3pre4/conf/version deleted file mode 100644 index 9f45daee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre4" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/Makefile deleted file mode 100644 index 8441c90b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o ../generic/usage.o ../generic/mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/cinit-vis.pl deleted file mode 100644 index 3956ff47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/cinit.graph.text.c deleted file mode 100644 index bc6fb6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.gaph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.gaph.text - textual representatio of the cinitdirectory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.gaph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre4/doc/.buildwarn deleted file mode 100644 index 72ebaf6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/.buildwarn +++ /dev/null @@ -1,18 +0,0 @@ -**************************************************************************** -First of all configure cinit through the configuration files found in conf/. - -The documentation can be found in doc/, read - - README and doc/configuring.cinit - -_before_ first use. - -After reading and configuring use: - - "make all" - to build cinit - "make install" - to install cinit - "make install-miniconf" - to install a minimal cinit-configuration - -After that you'll have to configure it. Some sample configurations can be -found on the cinit homepage at http://linux.schottelius.org/cinit/. -**************************************************************************** diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre4/doc/Makefile deleted file mode 100644 index 704903da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -INSTALL=install -CCOLLECT=ccollect.sh -LN=ln -sf - -prefix=/usr/packages/ccollect-git -bindir=$(prefix)/bin -destination=$(bindir)/$(CCOLLECT) - -path_dir=/usr/local/bin -path_destination=$(path_dir)/$(CCOLLECT) - -# where to publish -host=creme.schottelius.org -dir=www/org/schottelius/linux/ccollect -docdir=$(dir)/doc - -# -# End user targets -# -all: - @echo "Creating asciidoc based documentation" - @asciidoc -n -o ccollect.html doc/ccollect.text - -%.html: %.text - echo asciidoc $< -n $> -o $^.html $^.text $@ - - -install: install-script install-link - -install-link: install-script - $(LN) $(destination) $(path_destination) - -install-script: - $(INSTALL) -D -m 0755 -s $(CCOLLECT) $(destination) - -documentation: - @echo "Generating HTML-documentation (en de) ..." - @asciidoc -n -o doc/ccollect.html doc/ccollect.text - @asciidoc -n -o doc/ccollect-DE.html doc/ccollect-DE.text - -# -# Developer targets -# -update: - @cg-update creme - -push-work: - @cg-push creme - @cg-push sygroup - -publish-doc: documentation - @echo "Transferring files to $(host)" - @chmod a+r doc/*.html doc/*.text - @scp doc/*.text doc/*.html $(host):$(docdir) diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/coding-style b/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/coding-style deleted file mode 100644 index 1b164b9e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/coding-style +++ /dev/null @@ -1,49 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. - - -Unsorted ---------- -Linebreaks: - - -if(...) { - -} else { -} - - -do { -} while(); - -no spaces - - within braces and code "(!test)", - - before braces "if(code)" - -spaces - - after braces "if(test) return 0;" - - spaces before and after '=' (a = b); - -curly braces: - functions: - int func(int params) - { - body - } - -comments: - where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre4/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre4/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre4/doc/devel/communication.text deleted file mode 100644 index 82f77774..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/communication.text +++ /dev/null @@ -1,221 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -The byte order is host specific (may be little or big endian). - - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre4/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre4/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre4/doc/devel/ipc.text deleted file mode 100644 index 7013a985..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/ipc.text +++ /dev/null @@ -1,108 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre4/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre4/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre4/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre4/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre4/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre4/doc/man/cinit.text deleted file mode 100644 index 11d56be2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/man/cinit.text +++ /dev/null @@ -1,54 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -ccollect is a backup utility written in the sh-scripting language. -It does not depend on a specific shell, only `/bin/sh` needs to be -bourne shell compatibel (like 'dash', 'ksh', 'zsh', 'bash', ...). - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard service (which is confdir/init/) - -BUGS ----- -cinit is not tested nor documented very well currently. - -Additionally the porting to other OS is not finished yet. - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre4/doc/man/cservice deleted file mode 100644 index 8dae0c2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/man/cservice +++ /dev/null @@ -1,34 +0,0 @@ --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre4/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre4/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre4/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/caveats b/software/cinit/browse_source/cinit-0.3pre4/doc/user/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/compiles.on b/software/cinit/browse_source/cinit-0.3pre4/doc/user/compiles.on deleted file mode 100644 index 3fe83479..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/compiles.on +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -compiles.on, -Nico Schottelius 2005-06-09 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit is known to compile on: - -x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 - -Please report your configuration, if it's not listed here. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/config-dirs b/software/cinit/browse_source/cinit-0.3pre4/doc/user/config-dirs deleted file mode 100644 index 4a8fbb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/config-dirs +++ /dev/null @@ -1,19 +0,0 @@ -configuring - - /etc/cinit/defaults/panic -> link to something to execute on panic - (most likely /sbin/sulogin) - - /etc/cinit/defaults/tmp -> link to a directory where - the socket should be created, - after finishing boot - - What todo right before halting/rebooting/powering off - /etc/cinit/special/ - -> halt - -> reboot - -> poweroff - -Configuration -------------- - -Send kill signal diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/configuring.cinit b/software/cinit/browse_source/cinit-0.3pre4/doc/user/configuring.cinit deleted file mode 100644 index a88ba00f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/configuring.cinit +++ /dev/null @@ -1,189 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, -Nico Schottelius 2005-05-28 (Last Modified: 2005-06-05) --------------------------------------------------------------------------------- - -0. Pre-compile configuration -1. General configuration layout -2. Hints -2.0 Service executing / parameters -2.1 Daemons -2.2 Logging -2.3 Using prepared scripts -3. Profiles - - -0. Pre-compile configuration - -Have a look at conf/*. Those variable will mostly be used when -compiling cinit. Some will be read later (like destdir). - - -1. General configuration layout - -/etc/cinit (configurable via conf/cinit_dir) stores the complete -cinit configuration. - -cinit is service based. -A service consists of - - a base directory (like /etc/cinit/getty/1) - - dependency configuration: - - ./wants - services it wants to be started before (but it - will work anyway) - - ./needs/ - services it needs. If those services fail, this service - won't be started. - - - a flag indicating whether to respawn the service: - - ./respawn (simply touch it) - - - a delay: how long to wait for the service (in seconds) before - sending SIGKILL after the SIGTERM (only for respawning processes): - - ./delay (one line with only the digits) - - If delay is non-existing or not readable, the delay from - conf/sleep_kill_svc is taken. The maximum length of this - number ("9999" uses length 4, "42" needs 2 bytes) can be adjusted - at compile time in conf/max_delay. Internally this is a signed - integer, so the maximum size depends on your system. Though - I don't think anybody will want to wait for a service as long as - an integer would allow. - - - the program to run when switching the service on and off: - - ./on (a link to a program or a shell script) - ./on.params (see conf/c_params, the parameters to pass to the program) - ./on.env (see conf/c_env, the environment to pass to the program) - - ./off (call that when shutting down the service) - ./off.params (the parameters to pass to the program) - ./on.env (the environment to pass to the program) - -You should have a look at the samples/ directory for examples. - -If things are missing, cinit will continue with what's available. -This way you only need the files you use. Some examples: - - /etc/cinit/init: - ./wants -> services it wants - ./needs -> services it needs - That's everything - - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it - That's everything, as it has no dependencies - - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn on service - delay -> wait this time before sending SIGKILL after SIGTERM - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting - - -2. Hints - -2.0 Service executing / parameters - -The on and off files can and should be links to the programs you want -to execute. This way you save yourself loading the big shell (which is -on many Linux systems bash, why so ever, dash does the job as good, still -beeing small). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. The on script -could look like: - - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). - - -2.1 Daemons - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking (Please have a look at -daemons.backgrounding for a list of known daemons and their switches -to avoid backgrounding). - -The other possibility is to use a program, which will - a) start the daemon - b) look into the pidfile of the daemon - c) will then wait until that pid does not exist anymore - d) and then it exits and cinit will restart it (goto a) now) - -Such a program is included into this cinit release, -though I do not recommend using it. You should better contact the -authors and make them implement a clean non-forking mode. - -The name of the program (actually a shell script) is "cinit.wait.for.daemon". - -You will use it as the "on" part of the service and you have to add - - a) the pidfile to on.params - b) the daemon binary - -Thus the service would look like: - - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -2.2 Logging - -Currently there's no special logging support. -When programs write to stdout, it will be displayed on -the same stdout cinit is connected to -(we don't even open /dev/console - we are too lazy currently). - - -2.3 Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - - -3. Profiles - -Since cinit-0.0.6 there is profile in cinit. -Profiles are described in doc/profile.support. - -X. Examples - -Can be found in the tarballs below samples/. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre4/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/daemons.backgrounding b/software/cinit/browse_source/cinit-0.3pre4/doc/user/daemons.backgrounding deleted file mode 100644 index f7b7fdf5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/daemons.backgrounding +++ /dev/null @@ -1,71 +0,0 @@ --------------------------------------------------------------------------------- -daemons backgrounding, -Nico Schottelius 2005-06-12 (Last Modified: 2005-10-15) --------------------------------------------------------------------------------- - -0. Definition - -A daemon is a program which runs in the background, not having a tty -associated necesserally. Running in background does not mean it has -to background (fork()) itself, but that you cannot control it directly -from a shell. - -1. Daemons and cinit - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking - -The following daemons / servers are known to avoid backgrounding easily: - - acpid [x86 power management]: -f (undocumentated but works) - apache [webserver]: -DFOREGROUND - asterisk [pbx]: -f - bind [dns server/caching]: -f - cardmgr [pcmcia/cardbus]: -f - cron (vixie) [schedular]: -f - cupsd [printer server]: -f or -F - dhclient [dhcp client]: -d - dhcp3 (isc) [dhcp server]: -f - distccd [compile server]: normal behaviour - fam [file alteration monitor]:-f - fcron [schedular]: -f - frox [ftp proxy]: "NoDetach" in config - gdm [display manager]: -nodaemon - hybrid [irc server]: -foreground - icecast2 [sound streamer]: normal behaviour - mini-lpd [printer server]: normal behaviour - metalog [log server]: normal behaviour - monotone [vcs]: normal behaviour - mpd [music server]: --no-daemon - nessusd ["security server"]: normal behaviour - ntpd [time server]: -n - oidentd [identd server]: -i - oops [http proxy]: normal behaviour - openssh [ssh server]: -D - openvpn [vpn server]: normal behaviour - pbbuttonsd [power management]:normal behaviour - proftpd [ftp server]: -n - qmail [mta]: normal behaviour - rsync ["file server"]: --no-detach - silcd ["secure chat server"]: -F, --foreground - slapd [ldap]: -d - snmpd [snmp daemon]: -f - svnserve [vcs]: --foreground - syslogd [log server]: -n - syslog-ng [log server]: -F - tcpserver [super server]: normal behaviour - udhcpc [dhcp client]: normal behaviour - vsftpd [ftp server]: normal behaviour (or: config: background=no) - xinetd [super server]: -dontfork - -Those are the daemons that do not offer the possibility (as of release 0.2): - - atd (no switch, no configuraton option) - inetd (some variants) - nscd (no switch, no configuraton option) - portmap (only with debug mode) diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre4/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre4/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre4/doc/user/installing-cinit.text deleted file mode 100644 index 084a225e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/installing-cinit.text +++ /dev/null @@ -1,25 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 -:Author Initials: NS - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -For cross compiling see 'cross-compiling.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre4/doc/user/main.text deleted file mode 100644 index 6308e4c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre4/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre4/doc/user/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre4/doc/user/paths.text deleted file mode 100644 index 0b8c6b39..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/paths.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Introduction ------------- -The base directory under which all configurations are found -is '/etc/cinit'. - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services - conf -> general configuration ----------------------------------------------------------------------- - - -General pathnames -~~~~~~~~~~~~~~~~~~ -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - 'name'.params - the parameter to pass to 'name' when executing - - 'name'.env - the environment to pass to 'name' when executing - - -Name.params -^^^^^^^^^^^ -The 'params' file is a simple file containing one argument on each -line. - -Name.env -^^^^^^^^ -The 'env' file contains one assignment on each line. -"testvar=testvalue". - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. - -. The executable files in this directory are: - - panic{.*} - - umount{.*} - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory -which may contain the following files: - -. List of files - - on - What to execute when starting the service - * on.env - Environment to pass to 'on' - * on.params - Parameters to pass to 'on' - - off - What to execute when stopping the service - * off.env - Environment to pass to 'on' - * off.params - Parameters to pass to 'on' - - respawn - An empty file that tells cinit to restart the service - when it exits - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/problems b/software/cinit/browse_source/cinit-0.3pre4/doc/user/problems deleted file mode 100644 index a3440a3a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/problems +++ /dev/null @@ -1,9 +0,0 @@ -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/profile.support b/software/cinit/browse_source/cinit-0.3pre4/doc/user/profile.support deleted file mode 100644 index 7bc607b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/profile.support +++ /dev/null @@ -1,72 +0,0 @@ --------------------------------------------------------------------------------- -Profiles, -Nico Schottelius, 2005-06-04 --------------------------------------------------------------------------------- - -1. What are profiles? -2. How to use profiles? -3. How to configure profiles? -4. Some examples - - -1. What are profiles? - -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -2. How to use profiles? - -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. -How to pass argumenents to cinit? Under Linux the init-system -gets the kernel arguments (see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -3. How to configure profiles? - -It's very simple: Normally cinit would call /etc/cinit/init as -primary service and solve all dependencies. If you pass -cprofile=wireless to it, cinit will start /etc/cinit/wireless as -primary service instead. - - [Note: /etc/cinit/yourprofile is the service that will be started. - You need/should/must NOT create /etc/cinit/yourprofile/init!] - -So the only thing you have to do is to create a service directory -below /etc/cinit with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/init; tar c . | (mkdir ../yp; cd ../yp; tar x ) - -That's it! - - -4. Some examples - -Here are some examples we found in #cLinux: - - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work - diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre4/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre4/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre4/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre4/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.read-conf deleted file mode 100644 index 4f3c1cb7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/* - -set -e - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre4/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre4/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre4/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre4/serv/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/serv/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre4/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/Makefile b/software/cinit/browse_source/cinit-0.3pre4/src/Makefile deleted file mode 100644 index 2100b7d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/Makefile +++ /dev/null @@ -1,135 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -include Makefile.tests - -# Build tools / locations -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin - -# directories and files -CONFIG_H=include/config.h - -# -# objects for the cinit part -# -CINIT_HEADERS=$(shell cat include/listing) -CINIT_CORE_OBJ=$(shell cat core/objects) -CINIT_GENERIC_OBJ=$(shell cat generic/objects) -CINIT_SVC_OBJ=$(shell cat svc/objects) - -# -# The current link may be missing in the first run -# -CINIT_IPC_OBJ=$(shell cat ipc/current/objects 2>/dev/null) -CINIT_OS_OBJ=$(shell cat os/current/objects 2>/dev/null) - -CINIT_OBJ=$(CINIT_CORE_OBJ) $(CINIT_IPC_OBJ) $(CINIT_OS_OBJ) \ - $(CINIT_GENERIC_OBJ) $(CINIT_SVC_OBJ) - -# -# Dependencies -# -$(CINIT_OBJ): $(CINIT_HEADERS) - -# -# Client modules -# -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -BOTH=generic/set_signals.o generic/mini_printf.o generic/usage.o - -OBJ=$(SERV) $(SERV_OS) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -CCO_OBJ=util/ccontrol.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -%.o: %.c - $(CC) -c -o $@ $< - -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: cinit - -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -$(CINIT_OBJ): $(CONFIG_H) - -cinit: $(CINIT_OBJ) - $(LD) $^ -o $@ - - -#$(CINIT_BIN): $(SBIN) $(OBJ) -# $(LD) $(LDFLAGS) $(OBJ) -o $@ -# $(STRIP) $@ - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' - - - -.PHONY: clean -clean: - rm -f .configured - rm -f $(CINIT_OBJ) - rm -f ../tmpbin/* - -distclean: - rm -f os/current ipc/current - -$(CONFIG_H): ../conf/* - ../scripts/cinit.mkheader > $(CONFIG_H) - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre4/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre4/src/core/build_argv.c deleted file mode 100644 index 85238d47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/core/build_argv.c +++ /dev/null @@ -1,170 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "cinit.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX+1]; - char *sbuf = NULL; - char *p; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - mini_printf("CBA::",1); - mini_printf(basename,1); - mini_printf("\n",1); - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename,pathtmp,PATH_MAX)) == -1) { - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - /* FIXME check bounds! */ - strcpy(pathtmp,basename); - strcat(pathtmp,C_PARAMS); - /* ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL - * ORC_OK: Ok, have a filled buffer (perhaps NULL, too) - * other: Error, print errno - */ - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p+1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,basename); - strcat(pathtmp,C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - sbuf = p+1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre4/src/core/cinit.c deleted file mode 100644 index d2e48e95..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/core/cinit.c +++ /dev/null @@ -1,90 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "cinit.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; - -int main(int argc, char **argv) -{ - char *initdir; -// pid_t cpid; - - initdir = CINIT_INIT; /* default init dir */ - - /* FIXME: RE-ENABLE as SOON AS PRODUCTIVE cpid = getpid(); - * Is this really needed or should we lock() ourselves? - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - set_signals(ACT_SERV); - - /* Look whether we should start a profile */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_SVCDIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* FIXME: do we really need three calls? */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* pre-calculate service tree */ - gen_svc_tree(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* start tree from the bottom */ - if(!tree_exec(svc_init)) return 1; - - mini_printf("=> cinit started.\n",1); - - /* listen for incomming messages: should never return */ - if(!cinit_ipc_listen()) { - panic(); - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre4/src/core/do_reboot.c deleted file mode 100644 index c190f634..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/core/do_reboot.c +++ /dev/null @@ -1,74 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "ipc.h" -#include "cinit.h" -#include "os.h" -#include "messages.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - struct timespec ts; - //char **cmd; - //int i; - - /* shutdown all services: take care about the dependency tree */ - - /* do not listen to client requests anymore - * FIXME: perhaps before shutdown? */ - cinit_ipc_destroy(); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - /* FIXME make SLEEP_KILL an optional configuration statement */ - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - ts.tv_nsec = 0; - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* execute umount, as defined in conf/umount */ - - /* execute_sth(CINIT_UMOUNT); */ - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/core/objects b/software/cinit/browse_source/cinit-0.3pre4/src/core/objects deleted file mode 100644 index fd49e8d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/core/objects +++ /dev/null @@ -1,6 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/run_init_svc.o -core/set_signals.o -core/do_reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre4/src/core/panic.c deleted file mode 100644 index 39092aef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/core/panic.c +++ /dev/null @@ -1,30 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include "cinit.h" -#include - -void panic(void) -{ - char *nargv[2]; - - execute_sth(CINIT_PANIC); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - execv(SULOGIN,nargv); - - /* there's nothing todo, if everything fails */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/core/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre4/src/core/run_init_svc.c deleted file mode 100644 index 42edb167..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/core/run_init_svc.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/core/run_svc.c b/software/cinit/browse_source/cinit-0.3pre4/src/core/run_svc.c deleted file mode 100644 index 4a7eabf1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/core/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre4/src/core/set_signals.c deleted file mode 100644 index 57dfc242..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/core/set_signals.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006-2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include -#include -#include "cinit.h" - -void sig_child(int signal) { signal=2; } /* HACK */ - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=sig_child; - } - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - if(action == ACT_SERV) { - sa.sa_handler=do_reboot; - } - sigaction(SIGHUP,&sa,NULL); /* reboot */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGUSR1,&sa,NULL); /* halt */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre4/src/core/sig_child.c deleted file mode 100644 index bbbf86cd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/core/sig_child.c +++ /dev/null @@ -1,43 +0,0 @@ -/* cinit - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * We are called, when a child dies. Remove it. - */ - -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sig_child - * collect the children - * FIXME: check whether we've race conditions when reciieving multiiple - * signals - * Perhaps disable listening to sig_child in meantime? - */ - -void sig_child(int tmp) -{ - /* New code: - * - disable almost all signal handlers, so we do not get interrupted - * - search for pid in service list - * * if (respawn) -> start new - * - insert delay? if exit code is non-zero? if uptime too less? - * * if (once) -> update service status - * * else ignore, but reap away - */ - struct listitem *svc; - - do { - /* check if it's a watched child */ - tmp = waitpid(-1, &tmp, WNOHANG); - - /* restart service, if we are watching it */ - svc = list_search_pid((pid_t) tmp); - - if( svc != NULL ) { - svc->pid = exec_svc(svc->abs_path, CMD_START_SVC); - } - } while( tmp > 0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre4/src/generic/execute_sth.c deleted file mode 100644 index 2672a244..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/generic/execute_sth.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ -#include "cinit.h" -#include "build_argv.h" - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - mini_printf("ES::",1); - mini_printf(basename,1); - mini_printf("\n",1); - - tmp = cinit_build_argv(basename,&bav); - if((tmp = cinit_build_argv(basename,&bav)) != BA_OK) { - if(tmp != BA_E_MEM) { - print_errno(basename); - } /* do not print something on memory errors */ - _exit(1); /* FIXME: adjust exit code? */ - } - - execve((bav.argv)[0],bav.argv,bav.envp); - print_errno(basename); - _exit(1); /* FIXME: return specific error code, so cinit knows - * what happened! - sure? perhaps this gets non - * standard errors from other programs, too ... */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre4/src/generic/mini_printf.c deleted file mode 100644 index b3139349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while ( *p ) p++; - - write(fd,str,(size_t) (p - str) ); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/generic/objects b/software/cinit/browse_source/cinit-0.3pre4/src/generic/objects deleted file mode 100644 index f22ea6fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/generic/objects +++ /dev/null @@ -1,7 +0,0 @@ -generic/execute_sth.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre4/src/generic/openreadclose.c deleted file mode 100644 index 0b21733f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/generic/openreadclose.c +++ /dev/null @@ -1,71 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "cinit.h" - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - mini_printf("ORC:",1); - mini_printf(filename,1); - mini_printf("\n",1); - *where = NULL; - - while((fd = open(filename,O_RDONLY)) == -1) { - if(errno == ENOENT) return ORC_ERR_NONEXISTENT; - if(errno != EINTR) return ORC_ERR_OPEN; - } - - cnt = 0; - while (1) { - tmp = read(fd,buf,512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where,cnt + 1); - if(*where == NULL) return ORC_ERR_MEM; - - /* FIXME check correctness of copied buffer... - * and get some sleep..soon, very soon! */ - strncpy(&(*where)[cnt-tmp],buf,tmp); - mini_printf("ORC: ",1); - mini_printf(buf,1); - mini_printf("\n",1); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) continue; - return ORC_ERR_CLOSE; - } - - /* terminate string! */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre4/src/generic/path_absolute.c deleted file mode 100644 index 9568bf67..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "cinit.h" /* print_errno */ -#include "messages.h" /* print_errno */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_CHDIR); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre4/src/generic/path_append.c deleted file mode 100644 index c6617ba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/generic/path_append.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre4/src/generic/print_errno.c deleted file mode 100644 index 7415d556..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre4/src/generic/strip_final_newline.c deleted file mode 100644 index d9c12f05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/generic/strip_final_newline.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ -#include "cinit.h" /* FIXME debug */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) { - mini_printf("SFN: NULL\n",1); - return NULL; - } - - p = strrchr(str,'\n'); - if(p) { - if(*(p+1) == '\0') { - str = realloc(str,(p-str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre4/src/generic/usage.c deleted file mode 100644 index 87d62c73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/generic/usage.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * - */ - -#include -#include "cinit.h" - -/*********************************************************************** - * usage: tell the user what's wrong and a help text - */ -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre4/src/include/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/include/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre4/src/include/cinit.h deleted file mode 100644 index 8f8f970f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/include/cinit.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_H -#define _CINIT_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, - ORC_ERR_NONEXISTENT, - ORC_ERR_OPEN, - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_UMOUNT CINIT_CONFDIR SLASH C_UMOUNT - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -int run_init_svc(char *cinit_svc); -void sigio(int socket); -void do_reboot(int signal); -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); -void sig_terminate(int signal); - -/* generic */ -void execute_sth(char *basename); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); - -/* util */ -int msg_reboot(char cmd); -void print_errno(char *text); - -/* os-functions */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - -#endif /* _CINIT_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/include/comm.h b/software/cinit/browse_source/cinit-0.3pre4/src/include/comm.h deleted file mode 100644 index b9aaf60f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/include/comm.h +++ /dev/null @@ -1,69 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_START_SVC=1, /* the client wants US to start a service */ - CMD_START_SVC_ONLY, /* start this service without dependencies */ - CMD_STOP_SVC, /* stop svc and all svcs that need it */ - CMD_STOP_SVC_ONLY, /* we should stop _only_ this service */ - CMD_STOP_SVC_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ - CMD_RESCUE, /* we should start the rescue mode */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ - CMD_INFO /* send information about that service */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre4/src/include/ipc.h deleted file mode 100644 index 66b3bc86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/include/ipc.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init (client init) */ -int cinit_ipc_connect(void); /* connect to init */ -int cinit_ipc_csend(void *data); /* send to the server from a client */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/include/listing b/software/cinit/browse_source/cinit-0.3pre4/src/include/listing deleted file mode 100644 index df30f408..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/include/listing +++ /dev/null @@ -1,5 +0,0 @@ -include/cinit.h -include/config.h -include/ipc.h -include/messages.h -include/os.h diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre4/src/include/messages.h deleted file mode 100644 index e0829989..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/include/messages.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -/* Messages to the outside */ -#define MSG_BIND "bind" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_KILLBILL "sigkill" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_TERMKILL "sigterm" -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_SVC_FAIL "Service failed" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_START_SVC "Starting " -#define MSG_STOP_SVC "Stoping " -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_POWER_OFF "Powering off..." -#define MSG_HALT "Halting system ..." -#define MSG_REBOOT "Rebooting ..." -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ -#define MSG_SVC_FORK "fork() failed" - - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre4/src/include/os.h deleted file mode 100644 index e36d5a8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/include/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre4/src/include/svc.h deleted file mode 100644 index c4f63a57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/include/svc.h +++ /dev/null @@ -1,126 +0,0 @@ -/*********************************************************************** - * - * 2006,2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - - -#ifndef _CINIT_SVC_H -#define _CINIT_SVC_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char *abs_path; /* name of service */ - int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - - - struct dep *wanted; /* list of services that want this service */ - struct dep *needed; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *svc_init; /* the services to start */ -extern struct listitem *svc_list; /* the list of services */ - -/* list functions */ -struct listitem *list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -inline struct listitem *list_search_pid(pid_t pid); -int list_display_all(); - - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -int dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -int svc_set_status(struct listitem *li, int status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void svc_start(struct listitem *li); - - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -/*********************************************************************** - * status of a service and return codes - errors and success - */ -enum svc_status_old { - ST_TMPNOW=1, /* the client is now starting the service NEEDED??? */ - ST_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - - ST_OFF, /* service is off */ - ST_OFF_ALL, /* service and those that need it are off */ - ST_OFF_ALL_F, /* same, but something failed */ - ST_OFF_WANTS, /* service + those that need or want it are off */ - ST_OFF_WANTS_F, /* same, but something failed */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ -}; - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum svc_status { - /* first define basics */ - ST_SH_ONCE = 1, /* service SHould be started once */ - ST_SH_RESPAWN = 2, /* service SHould respawn */ - ST_ONCE_OK = 4, /* service was successfully started once */ - ST_ONCE_FAIL = 8, /* service failed to start */ - ST_RESPAWNING = 16, /* service is respawning */ - ST_NEED_FAILD = 32, /* this service is not started, need failed */ - ST_IN_LIST = 64, /* this service is being started (= in list) */ - ST_BAD_ERR = 128 /* some kind of error that SHOULD NOT happen */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum svc_needs_status { - SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - SNS_NEEDS_FAILED, /* one ore more needs failed */ - SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_connect.c b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_connect.c deleted file mode 100644 index a744980c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_connect.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel */ - k_in = ftok(IPC_KEY,IPC_IN); - k_out = ftok(IPC_KEY,IPC_OUT); - - if(k_in == -1 || k_out == -1) { - perror("ftok"); - exit(1); - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - perror("msgget"); - exit(1); - } - - /* wrong tabsto ;-) */ -while (1) { - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror("msgrcv"); - exit(1); - } - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 43a0012f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,62 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(IPC_KEY,IPC_OUT); - k_out = ftok(IPC_KEY,IPC_IN); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 299885c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ - -#include "msgq.h" /* mq_in, mq_out */ -#include "cinit.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(mq_in,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(mq_out,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index 9ae072a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* msgget */ - -#include "cinit.h" -#include "config.h" -#include "msgq.h" - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_in = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_in == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* to_client */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - if(k_tmp == -1) { - perror(MSG_MSGQ_FTOK); - return 0; - } - mq_out = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_out == -1) { - perror(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index d21e561e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,47 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* perror */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - - struct msg_client m_client; - - while (1) { - /* FIXME: change msg structure */ - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror(MSG_MSGQ_MSGRCV); - } - - printf("pid: %d, m_client\n",m_client.pid); - - /* use pid as the message type - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - return 0; - } */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index a744980c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel */ - k_in = ftok(IPC_KEY,IPC_IN); - k_out = ftok(IPC_KEY,IPC_OUT); - - if(k_in == -1 || k_out == -1) { - perror("ftok"); - exit(1); - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - perror("msgget"); - exit(1); - } - - /* wrong tabsto ;-) */ -while (1) { - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror("msgrcv"); - exit(1); - } - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index 08c0e252..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "cinit.h" /* print_errno */ -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - key_t k_in, k_out; /* FIXME: remove one variable */ - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - k_out = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_sclose.c b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_sclose.c deleted file mode 100644 index 69165e4d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/cinit_ipc_sclose.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Close the ressources from the server, clean state for forks. - * - */ - -int cinit_ipc_sclose(void) -{ - return 1; /* nothing to do when using message queues */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/msgq.h deleted file mode 100644 index 01c6e769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * part of cinit - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define MSGQ_TO_SERVER 'i' /* also for ftok */ -#define MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables - */ -int mq_in; /* input */ -int mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_FTOK "ftok" -#define MSG_MSGQ_MSGGET "msgget" -#define MSG_MSGQ_MSGRCV "msgrcv" -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre4/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre4/src/os/freebsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre4/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre4/src/os/freebsd/poweroff.c deleted file mode 100644 index 61e5ef5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre4/src/os/freebsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre4/src/os/linux/halt.c deleted file mode 100644 index 0ecf8ced..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre4/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre4/src/os/linux/poweroff.c deleted file mode 100644 index 5f503678..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre4/src/os/linux/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre4/src/os/openbsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre4/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre4/src/os/openbsd/poweroff.c deleted file mode 100644 index 45168122..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre4/src/os/openbsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/check_add_deps.c deleted file mode 100644 index c0568628..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/check_add_deps.c +++ /dev/null @@ -1,133 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers */ -#include -#include -#include /* PATH_MAX */ - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ - -#include "cinit.h" -#include "messages.h" -#include "svc.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_CHDIR); - return 0; - } - - mini_printf("CAD::",1); - mini_printf(svc->abs_path,1); - mini_printf("\n",1); - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf,C_NEEDS)) return 0; - } else { - if(!path_append(buf,C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no needs */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent=readdir(d_tmp))!=NULL) { - if(*(tdirent->d_name)=='.') continue; /* ignore .* */ - - /* skip non-working directories */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* FIXME: remove debug */ - mini_printf("CAD::NEW::",1); - mini_printf(svc->abs_path,1); - mini_printf("::",1); - mini_printf(buf,1); - mini_printf("\n",1); - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - dep_entry_add(&(new_svc->needed),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs),deps); - } else { - dep_entry_add(&(new_svc->wanted),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants),deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/dep_create.c deleted file mode 100644 index 691d66b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/dep_create.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/dep_entry_add.c deleted file mode 100644 index 8bac1c1d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/dep_entry_add.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc.h" - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - */ -int dep_entry_add(struct dep **deplist, struct dep *new) -{ - if( *deplist == NULL ) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/dep_entry_del.c deleted file mode 100644 index ed2a627d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/dep_entry_del.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc.h" - -/* - * tmp: pointer to data to remove (must not be NULL) - * -> perhaps work on the pointer to the pointer? - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* last service in the list */ - if(del->next == del && del->prev == del) { - tmp=NULL; - free(del); - } else { - /* remove from list */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - free(del); - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/dep_needs_wants_add.c deleted file mode 100644 index dba4fd7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,63 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Add all wants and needs from a specific service to dep list - */ - -#include /* NULL */ -#include "svc.h" -#include "cinit.h" /* FIXME: debug */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -/* FIXME unfinished (wants) and possibly not adding all? */ -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - - struct dep *tmp, *new, *end; - - /* first add needs, then add wants - * but only add the services, if they are still a virgin - */ - if(type == DEP_NEEDS) { - end = svc->needed; - } else { - end = svc->wanted; - } - - mini_printf("DNWA::",1); - mini_printf(svc->abs_path,1); - - /* check needs */ - tmp = end; - if(tmp != NULL) { - do { - mini_printf("::",1); - mini_printf(tmp->svc->abs_path,1); - if(((tmp->svc->status & ST_SH_ONCE) || - (tmp->svc->status & ST_SH_RESPAWN)) && - !(tmp->svc->status & ST_IN_LIST)) { - mini_printf("::(A)::",1); - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= ST_IN_LIST; - dep_entry_add(list,new); - } - /* FIXME: go forward or backwards? - * this decision will influence starting order - * and may thereby add a minimal mount of speed enhancement */ - tmp = tmp->next; - } while(tmp != end); - } - mini_printf("\n",1); - - /* check wants */ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/gen_svc_tree.c deleted file mode 100644 index 17be88dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include -#include "cinit.h" -#include "svc.h" - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li=list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return NULL; - - /* FIXME: remove debug */ - mini_printf("gen_tree::",1); - mini_printf(svc,1); - mini_printf("\n",1); - - if(!check_add_deps(li,DEP_NEEDS)) return NULL; - if(!check_add_deps(li,DEP_WANTS)) return NULL; - - if(!li->wants && !li->needs) { - /* FIXME: remove debug */ - mini_printf("START::",1); - mini_printf(li->abs_path,1); - mini_printf("\n",1); - - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&svc_init,deps); - - /* mark it as being in _THE_ list */ - li->status |= ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_delete.c deleted file mode 100644 index 10a7e218..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_delete.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "svc.h" - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - free(tmp->abs_path); - free(tmp); - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_display_all.c deleted file mode 100644 index 65c7b3a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_display_all.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ -#include "cinit.h" -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if( svc_list == NULL ) { - return 0; - } else { - tmp = svc_list; - } - - do { - mini_printf("Service: ",1); - mini_printf(tmp->abs_path,1); - mini_printf("\n",1); - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_insert.c deleted file mode 100644 index f31d4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_insert.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* malloc */ -#include /* bzero / memset */ -#include "svc.h" /* the list pointer */ - -struct listitem *list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset( tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) return NULL; - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_modify.c deleted file mode 100644 index 4a93c41c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_modify.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - -// D_PRINTF(path); - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_search.c deleted file mode 100644 index b40fae23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_search.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "cinit.h" -#include "svc.h" - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_search_pid.c deleted file mode 100644 index a199e734..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/list_search_pid.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "svc.h" - -/* find service by pid, needs to be online because it is called - * by a signal handler - */ -inline struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if( svc_list == NULL ) { - return NULL; - } else { - tmp = svc_list; - } - - do { - if( pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/objects b/software/cinit/browse_source/cinit-0.3pre4/src/svc/objects deleted file mode 100644 index 1b5fe3fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/objects +++ /dev/null @@ -1,20 +0,0 @@ -svc/gen_svc_tree.o -svc/list_delete.o -svc/list_display_all.o -svc/list_insert.o -svc/list_modify.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_start.o diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_add_needs.c deleted file mode 100644 index cc03727d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_add_needs.c +++ /dev/null @@ -1,67 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -//#include -//#include -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_create.c deleted file mode 100644 index 85f3d940..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_create.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* strcpy */ -#include /* stat */ -#include /* stat */ -#include /* PATH_MAX */ -#include /* errno */ -#include "svc.h" /* listitem */ -#include "cinit.h" /* path_append */ - -/* checking for existence is done before! */ -/* FIXME: check heedars for conformance with POSIX */ -struct listitem *svc_create(char *svc) -{ - char buf[PATH_MAX+1]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc,-1); - if(!li) return NULL; - - /* FIXME: add two path length checks? svc and svc+strlen(C_RESPAWN)? */ - strcpy(buf,svc); - if(!path_append(buf,C_RESPAWN)) return NULL; - - if(stat(buf,&statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li,ST_SH_ONCE); - } else { - return NULL; - } - } else { - mini_printf("respawn: ",1); - mini_printf(li->abs_path,1); - mini_printf("\n",1); - svc_set_status(li,ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_needs_status.c deleted file mode 100644 index d9d54a81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_needs_status.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return status of the needs of this service - */ - -#include /* NULL */ -#include "svc.h" /* service information */ - -// DEBUG #include "cinit.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - -/* DEBUG mini_printf("sns: ",1); - mini_printf(svc->abs_path,1); - mini_printf("\n",1); */ - - if(deps == NULL) return SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* worst case: need failed */ - if((deps->svc->status & ST_NEED_FAILD) || - (deps->svc->status & ST_ONCE_FAIL)) { - retval = SNS_NEEDS_FAILED; - break; - } - /* services are being started */ - if((deps->svc->status & ST_SH_ONCE) || - (deps->svc->status & ST_SH_RESPAWN)) { - retval = SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_report_status.c deleted file mode 100644 index 4833240a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_report_status.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Tell the world what happened to the service - */ - -#include "cinit.h" /* mini_printf */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf("[Service] ",1); - mini_printf(svc,1); - mini_printf(": ",1); - mini_printf(msg,1); - if(err) { - mini_printf(" (",1); - mini_printf(err,1); - mini_printf(")",1); - } - mini_printf("\n",1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_respawn_check.c deleted file mode 100644 index 2ed44de8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX+1]; - - strcpy(buf,svc->abs_path); - if(!path_append(buf,C_RESPAWN)) return 0 -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_set_status.c deleted file mode 100644 index 36b61795..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_set_status.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_set_status(struct listitem *li, int status) -{ - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_should_respawn.c deleted file mode 100644 index 1c401024..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return whether should respawn or not - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_start.c deleted file mode 100644 index 304f3077..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_start.c +++ /dev/null @@ -1,58 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start a service - */ - -#include /* DEBUG */ - -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include "svc.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "cinit.h" /* execute_sth */ - -void svc_start(struct listitem *li) -{ - char buf[PATH_MAX+1]; - - li->pid = fork(); - - if(li->pid < 0) { - svc_report_status(li->abs_path,MSG_SVC_FORK,strerror(errno)); - svc_set_status(li,ST_BAD_ERR); - return; - } - if(li->pid > 0) { - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_OK; - else - li->status = ST_RESPAWNING; - return; - } - - /* Client: FIXME: check for valid length! - * strlen(abs_path) + strlen(SLASH) + strlen(C_ON) */ - /* misuse status field (doesn't matter in fork) for strlen */ - li->status = strlen(li->abs_path); - strncpy(buf,li->abs_path,li->status); - buf[li->status] = '\0'; - printf("buf1: %s\n",buf); - printf("buf-orig: %s\n",li->abs_path); - strncat(buf,SLASH,PATH_MAX); - printf("buf2: %s\n",buf); - strncat(buf,C_ON,PATH_MAX); - printf("buf3: %s\n",buf); - - mini_printf("SS::",1); - mini_printf(li->abs_path,1); - mini_printf("::",1); - mini_printf(buf,1); - mini_printf("\n",1); - execute_sth(buf); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_success.c deleted file mode 100644 index 65e6284f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/svc_success.c +++ /dev/null @@ -1,18 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -void svc_success(struct listitem *li) -{ - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_OK; - else - li->status = ST_RESPAWNING; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre4/src/svc/tree_exec.c deleted file mode 100644 index 245fbf20..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/svc/tree_exec.c +++ /dev/null @@ -1,131 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - -#include /* DEBUG */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" /* D_PRINTF */ -#include "svc.h" /* svc_init */ - -/* some thoughts... - * - * - we already generated the tree, we now need to start it from - * the ends - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the service that - * need or want that service - * - * - * - */ - -int tree_exec(struct dep *start) -{ - struct dep *tmp; - - tmp = start; - - mini_printf("========> tree_exec() \n",1); - /* the main starting loop: All services in this list should be - * started, but it is possible that dependent services are in the - * list. In this case simply skip the current service - */ - do { - /* FIXME debug */ - mini_printf("TEX::",1); - mini_printf(tmp->svc->abs_path,1); - mini_printf("\n",1); - { - struct dep *tmp2; - tmp2=tmp->svc->needs; - if(tmp2) { - do { - mini_printf("::",1); - mini_printf(tmp2->svc->abs_path,1); - mini_printf("\n",1); - fprintf(stderr,"%s: <<%d>>\n",tmp2->svc->abs_path,tmp2->svc->status); - tmp2 = tmp2->next; - } while (tmp2 != tmp->svc->needs); - } - } - - switch(svc_needs_status(tmp->svc)) { - case SNS_NEEDS_STARTED: - mini_printf("abhaengigkeiten gestartet, exec; add wants, needs\n",1); - /* FIXME: execute service */ - svc_start(tmp->svc); - - /* FIXME: update status must be included in child handler! */ - //svc_success(tmp->svc); - - /* execute service, remowe from list */ - /* FIXME check return code? */ - dep_needs_wants_add(&tmp,tmp->svc,DEP_NEEDS); - dep_needs_wants_add(&tmp,tmp->svc,DEP_WANTS); - - /* delete service from list */ - tmp = dep_entry_del(tmp); - break; - case SNS_NEEDS_FAILED: - mini_printf("wer fehlgeschlagen\n",1); - /* mark service as NEED_FAILD and delete from list */ - svc_set_status(tmp->svc,ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - case SNS_NEEDS_UNFINISHED: - mini_printf("noch warten\n",1); - /* continue with the next item */ - tmp = tmp->next; - break; - } - -// tmp->svc->pid = fork(); - - -// if(tmp->svc->pid == -1) return 0; - - // if(tmp->svc->pid == 0) { /* child code */ - // execute_sth(tmp->svc->abs_path); -// _exit(1); - // } - - /* add the services that want or need this service to the list - * of services to be executed the next time - * - * We should add the new services at the beginning, so we - * clean the original onse first - * - * And we need to check, whether the dependencies are already - * solved. - * - * A service may be in status: - * - * - Unset (never touched) - * - Being started (passed our loop, but did not yet finish) - * - Respawning (means was started and we take care - * about it - * - failed (with reason copied, so one can reprint it later?) - * - once - started once successfully - * - need failed - not started, because need failed. perhaps - * registert which dependenc(y|ies) failed? - */ - /* FIXME: debug delay */ - //sleep(1); - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre4/src/test/test_build_argv+link.c deleted file mode 100644 index e37169fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre4/src/test/test_build_argv.c deleted file mode 100644 index 0b2678be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre4/src/test/test_gen_svc_tree.c deleted file mode 100644 index 93ad54ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre4/src/test/test_openreadclose.c deleted file mode 100644 index 2f722da5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file,&data); - - printf("%s\n",data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre4/src/test_openread b/software/cinit/browse_source/cinit-0.3pre4/src/test_openread deleted file mode 100644 index 6e58f4c4..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre4/src/test_openread and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre4/util/README b/software/cinit/browse_source/cinit-0.3pre4/util/README deleted file mode 100644 index 782cdc8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/util/README +++ /dev/null @@ -1,2 +0,0 @@ -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre4/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre4/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre4/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre4/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre4/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre4/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre4/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre5/ b/software/cinit/browse_source/cinit-0.3pre5/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre5/.exclude b/software/cinit/browse_source/cinit-0.3pre5/.exclude deleted file mode 100644 index 1a2d31e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/.exclude +++ /dev/null @@ -1,2 +0,0 @@ -tmp -.git diff --git a/software/cinit/browse_source/cinit-0.3pre5/.gitignore b/software/cinit/browse_source/cinit-0.3pre5/.gitignore deleted file mode 100644 index 0f53ad16..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/CHANGES b/software/cinit/browse_source/cinit-0.3pre5/CHANGES deleted file mode 100644 index c8e864ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/CHANGES +++ /dev/null @@ -1,48 +0,0 @@ -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre5/COPYING b/software/cinit/browse_source/cinit-0.3pre5/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre5/CREDITS b/software/cinit/browse_source/cinit-0.3pre5/CREDITS deleted file mode 100644 index b009a48c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/CREDITS +++ /dev/null @@ -1,23 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: 2005-09-25) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding diff --git a/software/cinit/browse_source/cinit-0.3pre5/Changelog b/software/cinit/browse_source/cinit-0.3pre5/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre5/Makefile b/software/cinit/browse_source/cinit-0.3pre5/Makefile deleted file mode 100644 index 0fa0ecf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/Makefile +++ /dev/null @@ -1,83 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# directories and files -DDOC=ddoc -SDIRS=bin client conf comm doc generic serv util -CDIRS=contrib+tools - -# DO NOT CHANGE THIS. -SBIN=sbin -CINIT_BIN=$(SBIN)/cinit - -# targets -warn: - @cat doc/.buildwarn - -%.o: %.c - $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< - -all: sources sizecheck - -sources: - $(MAKE) -C src all - -docs: $(DDOC) bin/cdoc-man.sh - ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 - ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 - -$(DDOC): - mkdir $(DDOC) - -$(CSVC_OBJ) $(OBJ): $(CONFIG_H) - -$(SBIN): - mkdir $(SBIN) - -sizecheck: sources - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s src/ | awk '{ sum+=$$1 } END { print sum }' - -clean: - $(MAKE) -C src clean - rm -f tmpbin/* - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install:: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -#all install clean:: -# @for subdir in $(CDIRS); do \ -# echo "Making $@ in $$subdir"; \ -# (cd $$subdir && $(MAKE) $(MAKEFLAGS) $@) \ -# || exit 1;\ -# done; - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured diff --git a/software/cinit/browse_source/cinit-0.3pre5/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre5/NEXTTODO deleted file mode 100644 index af4f47fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/NEXTTODO +++ /dev/null @@ -1,31 +0,0 @@ -- FIX the child handler! - * check for correct behaviour in tree_exec() - * think about howto NOT find once, if the system uses duplicated pids - -> pid reset - -> check only SH_ONCE? -- Begin documentation - * Check Makefile - * Integrate Makefile into main Makefile - * create manpage - * Write a small manual - - install - - configure - - boot (different OS) -- do not reports errors, when on or off does not exist! -- check free on dep_del! -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- implement do_reboot() - * so not only booting with cinit works, but also the shutdown -- define messages - a) human readable - b) binary data? - ? -- replace cinit_ipc_logon with cinit_ipc_init... -- cleanup run_svc - * NOT NECESSARY ANYMORE! - * remove run_svc? -- implement do_reboot.c - -Finally: -- test and release cinit-0.3rc1 diff --git a/software/cinit/browse_source/cinit-0.3pre5/README b/software/cinit/browse_source/cinit-0.3pre5/README deleted file mode 100644 index 27f07c12..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/README +++ /dev/null @@ -1,110 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre5/ROADMAP b/software/cinit/browse_source/cinit-0.3pre5/ROADMAP deleted file mode 100644 index b26ccb36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/ROADMAP +++ /dev/null @@ -1,117 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers - code: cleanup makefile - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. - code: add special directory (/etc/cinit/special?) for os specific binaries - -> halt, poweroff, reboot (NOTHING MORE THEY CAN DO) - -> SHOULD NOT BE IN THE PATH - code: move production code to src/ - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre5/TODO b/software/cinit/browse_source/cinit-0.3pre5/TODO deleted file mode 100644 index e034901a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/TODO +++ /dev/null @@ -1,276 +0,0 @@ -- define how it should work (doc/braindums/big-picture.text) -- define service status in one document, so repeatition stops! - - --------------------------------------------------------------------------------- -- rename headers/ -> includes/ -- remove client/ from top level --------------------------------------------------------------------------------- -- write about shell scripts in system startup -- write about general behaviour (covering the death) --------------------------------------------------------------------------------- -Generate automatic asciidoc from conf/* --------------------------------------------------------------------------------- -Add handler for ctrl+alt+delete - * document in paths --------------------------------------------------------------------------------- -pre-compile config: conf/* - --------------------------------------------------------------------------------- -panic: - read configuratio from defaults/panic* - -> write execute_something before! --------------------------------------------------------------------------------- -comm: - tmpnow: search for pid in list, - save the pid in the list, so we know whether our executer died! --------------------------------------------------------------------------------- -Logging / cinit: - fuer unsere eigenen ausgaben auch multilog? - - Logger: shared memory? --------------------------------------------------------------------------------- -Implement full starting logic in server? --------------------------------------------------------------------------------- -Build full dependency tree at start? And begin from the end? --------------------------------------------------------------------------------- -comm/*: - int read - int write - --> fuer pipes - -run_init_svc - muss alle services wissen, die gestartet werden - - start_services_with_deps - gibt pointer auf struktur zurueck - -> Anzahl Services (array!) - -> Service: - Name (Pfad) - Ergebniss - -> beim fehler, die nachricht, strerror? - http://www.opengroup.org/onlinepubs/009695399/functions/strerror.html - - -Beim starten werden needs und wants als needs behandelt, weil -jeder starter _alle_ services zurueckgeben muss. - - Ein Prozess kann maximal 512 abhaengigkeiten haben. - -> open files - - -Neues cinit: - Wenn service fehlschlaegt, wird eine Struktur zurueckgegeben. - - Diese enhaelt: - - int success = - enum { SVC_SUCCESS, SVC_FAILED, SVC_NEED_FAILED, ... } - - char *reason; - - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s - - Rekursives herunter/rauffahren --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary -- remove sigio(), create new functions: - - one for cleaning up the socket - - one for doing the communication (specify two fd's) -- put some logic around exec_svc: - o put waiting code herein -> waiting code to structure! -- cleanup serv/sig_reboot.c:7: - o implement os-specific reboot function --------------------------------------------------------------------------------- -1. Entfernung mount -2. kommunikation ueber - 1. einen fork pro service - fork(fork) -3. Socket wird erst nach einem Signal erstellt - -> Konfiguration sollte SIGWHATEVER senden -4. Vielleicht panicen, wenn init fehlschlaegt? --------------------------------------------------------------------------------- -Als naechstes: - -- add code do implement stopping / restarting with dependency tree - o add used_by to the list of services - o used_by should be a simple (double?) linked list --------------------------------------------------------------------------------- -Documentation: - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring --------------------------------------------------------------------------------- -Add "used" by to each service, so we can track which services to shutdown. --------------------------------------------------------------------------------- -- perhaps use dnotify? -- recheck warm reboot -- fix cservice -- print service name or cinit: before _everything_ WE print - -TESTING: - - does cinit eat zombies? - - is the reporting ok? - - does cservice and ccontrol what's expected? - -# cinit.create.empty.service: can only be started from the bin directory - -- compile cinit static and other tools dynamically per default - -- Fix Switching services off !! -- Remove RUN_RUN_SVCs, move code to run_svc so one can determine which - services failed? - --> sequentieller ablauf! - --> parallel ablauf, struct-array mit namen und ergebnis? - --> for dep in deps/*; do fork(run_svc() ); done - -----> while(any_is_running) { sleep } - -------> array durchsuchen, ergebnis nutzen. - - ueberpruefen von wo aus run_svc() aufgerufen wird - -- Fix SIGCHILD problem: - - exec_svc wants to waitpid() itself, so SIG_CHILD makes problems - - respawn_svc: does that need to act on SIGCHLD if the master process - is still running? - - kill respawn -> sigchild cleans up, we do not get waitpid perhaps? -- remove umount code? -- remove zombies, but keep away from SIGCHILD problems -- remove mount /etc/cinit/tmp code - -> how to replace? -- fix bug in Makefile: linking happens twice -- do not kill respawing service, if off exists -- ccontrol -- manpages -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren -- ddoc zuendefuehren - -- remove umount, swapoff? ---> to services? - -- on.out, on.err, on.in? - -> reading/writing from/to files - ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! -- implement "no_kill" until cinit-0.2 or 0.3? - -Doku!!! - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) - - memset for timespecs? - - move umount, swapoff and remount to off of init? - -> cleanup sig_reboot.c - - run_svc: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - - do we really need swapoff? --------------------------------------------------------------------------------- -- Documentation - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml --------------------------------------------------------------------------------- -Things I did not do and I don't know whether we have to care about: - -- Porting - - add porting code to other unices? - - like openssh guys do? - -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -[OLD BUGS] -- remove cinit watcher? - -> sig_child -> cycle through list? -- DOKU: what happens when a service does not terminate.... - und er als once drin ist -- MANPAGE! -- execve() fails -> no sleep!! -- multiple zombies sometimes - problemservices - -> zombies of respawn watchers are not caught! - -> sig_chld also therein - -> problematic due to wait for child --doubled cinit instance - - nur einmal -- free() everything before starting child -- cservice! - - prozess nur einmal -> WARTET! cinit auch! -doku: - cservice einmal starten -> wartet auf ende - cint ersetzt init bei gentoo - an error occuerd-> verbose - multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -possible BUGS: - -[14:44] freelsd:cinit-0.2.2% ./sbin/cservice -e ein - -ein: No such file or directory -Bad address -: Service does not exist - -cinit-0.2.2: -USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND -root 1 96.7 0.0 1580 336 ? R 18:59 5:49 /sbin/cinit -root 2 0.0 0.0 0 0 ? SN 18:59 0:00 [ksoftirqd/0] -root 3 0.0 0.0 0 0 ? S 18:59 0:00 [watchdog/0] -root 4 0.0 0.0 0 0 ? S< 18:59 0:00 [events/0] -root 5 0.0 0.0 0 0 ? S< 18:59 0:00 [khelper] -root 6 0.0 0.0 0 0 ? S< 18:59 0:00 [kthread] -root 10 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [khubd] -root 12 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [kblockd/0] -root 99 0.0 0.0 0 0 ? S 18:59 0:00 \_ [pdflush] -root 100 0.0 0.0 0 0 ? S 18:59 0:00 \_ [pdflush] -root 102 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [aio/0] -root 727 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [kseriod] -root 101 0.0 0.0 0 0 ? S 18:59 0:00 [kswapd0] -root 800 0.0 0.0 0 0 ? S 18:59 0:00 [khpsbpkt] -root 803 0.0 0.0 0 0 ? S 18:59 0:00 [pccardd] -root 838 0.0 0.0 0 0 ? S 18:59 0:00 [kjournald] -root 1923 0.0 0.0 1584 200 ? S 18:59 0:00 /sbin/cinit -root 1924 0.0 0.3 3624 1936 tty2 Rs 18:59 0:00 \_ -zsh -root 1969 0.0 0.0 1580 320 tty2 S 19:05 0:00 \_ cservice -e 3 -root 1972 0.0 0.1 2604 828 tty2 R+ 19:05 0:00 \_ ps axuwwf -root 1945 0.0 0.0 0 0 tty2 Z 19:01 0:00 [loadkeys] -cinit: [cprofile:profile] -cinit should not be started directly, but by your kernel. -umount raus -/etc/cinit/specials/... rein - -1. Doku auf asciidoc umstellen -2. den signalhandler code fixen -3. den tempmount entfernen - ---> cinit-0.3-rc1 --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? diff --git a/software/cinit/browse_source/cinit-0.3pre5/TODO.doc b/software/cinit/browse_source/cinit-0.3pre5/TODO.doc deleted file mode 100644 index 71ed721d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/TODO.doc +++ /dev/null @@ -1,12 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre5/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.configure.mark deleted file mode 100644 index aa648411..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.release b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.release deleted file mode 100644 index c5e15859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.release +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: Fr Okt 28 01:24:58 CEST 2005 - - -if [ $# -ne 2 ]; then - echo $(basename $0): source-dir version - exit 1 -fi - -DIR=$1 -VERSION=$2 -OUT_NAME=cinit-${VERSION}.tar.bz2 -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -( cd "$DIR" && make clean ) || exit 1 - -echo "Creating bzip2 compressed tar" -tar cj -X $DIR/.exclude -f "$OUT_NAME" $DIR -chmod 0644 "$OUT_NAME" -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type d -exec chmod 0755 {} \\;" -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre5/client/README b/software/cinit/browse_source/cinit-0.3pre5/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre5/client/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre5/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/client/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre5/client/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/client/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/client/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre5/client/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/client/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre5/client/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre5/client/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/client/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre5/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre5/client/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/client/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre5/client/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/client/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/client/run_svc.c b/software/cinit/browse_source/cinit-0.3pre5/client/run_svc.c deleted file mode 100644 index 7fea6a92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/client/run_svc.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre5/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre5/client/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/client/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/comm/README b/software/cinit/browse_source/cinit-0.3pre5/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.3pre5/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre5/comm/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/comm/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/comm/do_result.c b/software/cinit/browse_source/cinit-0.3pre5/comm/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/comm/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre5/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre5/comm/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/comm/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/.README b/software/cinit/browse_source/cinit-0.3pre5/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre5/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre5/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_env b/software/cinit/browse_source/cinit-0.3pre5/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_halt b/software/cinit/browse_source/cinit-0.3pre5/conf/c_halt deleted file mode 100644 index 4eed340f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the link belowe c_special, which links to the program -to be executed right before halting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_init b/software/cinit/browse_source/cinit-0.3pre5/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre5/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_off b/software/cinit/browse_source/cinit-0.3pre5/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_on b/software/cinit/browse_source/cinit-0.3pre5/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre5/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_params b/software/cinit/browse_source/cinit-0.3pre5/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_poweroff b/software/cinit/browse_source/cinit-0.3pre5/conf/c_poweroff deleted file mode 100644 index 5b5c9c9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_poweroff +++ /dev/null @@ -1,4 +0,0 @@ -poweroff - -Name of the link belowe c_special, which links to the program -to be executed right before powering off the system. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_reboot b/software/cinit/browse_source/cinit-0.3pre5/conf/c_reboot deleted file mode 100644 index 8702388f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_reboot +++ /dev/null @@ -1,4 +0,0 @@ -reboot - -Name of the link belowe c_special, which links to the program -to be executed right before rebooting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre5/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre5/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre5/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre5/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre5/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_umount b/software/cinit/browse_source/cinit-0.3pre5/conf/c_umount deleted file mode 100644 index ab96b0a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_umount +++ /dev/null @@ -1,6 +0,0 @@ -umount - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -It should normally be a shellscript with the OS-specific umount procedure. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre5/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/cc b/software/cinit/browse_source/cinit-0.3pre5/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/cflags b/software/cinit/browse_source/cinit-0.3pre5/conf/cflags deleted file mode 100644 index 812812a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/cflags +++ /dev/null @@ -1,3 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g - -Standard flags to pass to (g)cc. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre5/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/confdir b/software/cinit/browse_source/cinit-0.3pre5/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/destdir b/software/cinit/browse_source/cinit-0.3pre5/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre5/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre5/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre5/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre5/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/ld b/software/cinit/browse_source/cinit-0.3pre5/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre5/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre5/conf/max_delay deleted file mode 100644 index 149fa16c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/max_delay +++ /dev/null @@ -1,7 +0,0 @@ -4 - -Maximum number of digits which may be in the delay file. -If there are more, the string "12345678901" will be cut to the -right length "1234567890". I don't think you'll ever need -a timeout greater 4 digits (9999 seconds are 166,65~ minutes, are -2 hours, 46 minutes and 39 seconds). See doc/configuring.cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre5/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre5/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre5/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre5/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/os b/software/cinit/browse_source/cinit-0.3pre5/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre5/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre5/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre5/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/prefix b/software/cinit/browse_source/cinit-0.3pre5/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/profile b/software/cinit/browse_source/cinit-0.3pre5/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre5/conf/service_categories deleted file mode 100644 index d632b875..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/service_categories +++ /dev/null @@ -1,4 +0,0 @@ -getty local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre5/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre5/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre5/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre5/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre5/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/strip b/software/cinit/browse_source/cinit-0.3pre5/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre5/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre5/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre5/conf/version b/software/cinit/browse_source/cinit-0.3pre5/conf/version deleted file mode 100644 index 9f45daee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre4" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/Makefile deleted file mode 100644 index 8441c90b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o ../generic/usage.o ../generic/mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/cinit-vis.pl deleted file mode 100644 index 3956ff47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/cinit.graph.text.c deleted file mode 100644 index bc6fb6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.gaph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.gaph.text - textual representatio of the cinitdirectory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.gaph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre5/doc/.buildwarn deleted file mode 100644 index c2ac11d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/.buildwarn +++ /dev/null @@ -1,25 +0,0 @@ -**************************************************************************** -Welcome, cinit greets you. -**************************************************************************** - -Hints: ------- - - Settings used for compiling (not only) can be found in conf/* - - The boot configuration normally resides below /etc/cinit - - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - -Building cinit --------------- - - "make all" - to build cinit - "make install" - to install cinit - -**************************************************************************** diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre5/doc/Makefile deleted file mode 100644 index e93866b5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/Makefile +++ /dev/null @@ -1,81 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text -DOCS = $(MANDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - -# -# End user targets -# -all: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTMl, Texinfo and manpage" - @echo "html: only generate HTML" - @echo "info: only generate Texinfo" - @echo "man: only generate manpage(s)" - -install: - -# docbook gets .htm, asciidoc directly .html -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -%.man: %.mandocbook - ${DOCBOOKTOMAN} --to-stdout $< > $@ - -# -# Distribution -# -allclean: - rm -f $(DOC_ALL) - -distclean: - rm -f $(DOCBDOCS) - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/README.text b/software/cinit/browse_source/cinit-0.3pre5/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/coding-style b/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/coding-style deleted file mode 100644 index 1b164b9e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/coding-style +++ /dev/null @@ -1,49 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. - - -Unsorted ---------- -Linebreaks: - - -if(...) { - -} else { -} - - -do { -} while(); - -no spaces - - within braces and code "(!test)", - - before braces "if(code)" - -spaces - - after braces "if(test) return 0;" - - spaces before and after '=' (a = b); - -curly braces: - functions: - int func(int params) - { - body - } - -comments: - where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre5/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre5/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre5/doc/devel/communication.text deleted file mode 100644 index 82f77774..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/communication.text +++ /dev/null @@ -1,221 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -The byte order is host specific (may be little or big endian). - - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre5/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre5/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre5/doc/devel/ipc.text deleted file mode 100644 index 7013a985..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/ipc.text +++ /dev/null @@ -1,108 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre5/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre5/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre5/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre5/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre5/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre5/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre5/doc/man/cinit.text deleted file mode 100644 index bd9bd0ab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre5/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre5/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre5/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre5/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/caveats b/software/cinit/browse_source/cinit-0.3pre5/doc/user/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/compiles.on b/software/cinit/browse_source/cinit-0.3pre5/doc/user/compiles.on deleted file mode 100644 index 3fe83479..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/compiles.on +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -compiles.on, -Nico Schottelius 2005-06-09 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit is known to compile on: - -x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 - -Please report your configuration, if it's not listed here. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/config-dirs b/software/cinit/browse_source/cinit-0.3pre5/doc/user/config-dirs deleted file mode 100644 index 4a8fbb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/config-dirs +++ /dev/null @@ -1,19 +0,0 @@ -configuring - - /etc/cinit/defaults/panic -> link to something to execute on panic - (most likely /sbin/sulogin) - - /etc/cinit/defaults/tmp -> link to a directory where - the socket should be created, - after finishing boot - - What todo right before halting/rebooting/powering off - /etc/cinit/special/ - -> halt - -> reboot - -> poweroff - -Configuration -------------- - -Send kill signal diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/configuring.cinit b/software/cinit/browse_source/cinit-0.3pre5/doc/user/configuring.cinit deleted file mode 100644 index a88ba00f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/configuring.cinit +++ /dev/null @@ -1,189 +0,0 @@ --------------------------------------------------------------------------------- -configuring cinit, -Nico Schottelius 2005-05-28 (Last Modified: 2005-06-05) --------------------------------------------------------------------------------- - -0. Pre-compile configuration -1. General configuration layout -2. Hints -2.0 Service executing / parameters -2.1 Daemons -2.2 Logging -2.3 Using prepared scripts -3. Profiles - - -0. Pre-compile configuration - -Have a look at conf/*. Those variable will mostly be used when -compiling cinit. Some will be read later (like destdir). - - -1. General configuration layout - -/etc/cinit (configurable via conf/cinit_dir) stores the complete -cinit configuration. - -cinit is service based. -A service consists of - - a base directory (like /etc/cinit/getty/1) - - dependency configuration: - - ./wants - services it wants to be started before (but it - will work anyway) - - ./needs/ - services it needs. If those services fail, this service - won't be started. - - - a flag indicating whether to respawn the service: - - ./respawn (simply touch it) - - - a delay: how long to wait for the service (in seconds) before - sending SIGKILL after the SIGTERM (only for respawning processes): - - ./delay (one line with only the digits) - - If delay is non-existing or not readable, the delay from - conf/sleep_kill_svc is taken. The maximum length of this - number ("9999" uses length 4, "42" needs 2 bytes) can be adjusted - at compile time in conf/max_delay. Internally this is a signed - integer, so the maximum size depends on your system. Though - I don't think anybody will want to wait for a service as long as - an integer would allow. - - - the program to run when switching the service on and off: - - ./on (a link to a program or a shell script) - ./on.params (see conf/c_params, the parameters to pass to the program) - ./on.env (see conf/c_env, the environment to pass to the program) - - ./off (call that when shutting down the service) - ./off.params (the parameters to pass to the program) - ./on.env (the environment to pass to the program) - -You should have a look at the samples/ directory for examples. - -If things are missing, cinit will continue with what's available. -This way you only need the files you use. Some examples: - - /etc/cinit/init: - ./wants -> services it wants - ./needs -> services it needs - That's everything - - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it - That's everything, as it has no dependencies - - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn on service - delay -> wait this time before sending SIGKILL after SIGTERM - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting - - -2. Hints - -2.0 Service executing / parameters - -The on and off files can and should be links to the programs you want -to execute. This way you save yourself loading the big shell (which is -on many Linux systems bash, why so ever, dash does the job as good, still -beeing small). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. The on script -could look like: - - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). - - -2.1 Daemons - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking (Please have a look at -daemons.backgrounding for a list of known daemons and their switches -to avoid backgrounding). - -The other possibility is to use a program, which will - a) start the daemon - b) look into the pidfile of the daemon - c) will then wait until that pid does not exist anymore - d) and then it exits and cinit will restart it (goto a) now) - -Such a program is included into this cinit release, -though I do not recommend using it. You should better contact the -authors and make them implement a clean non-forking mode. - -The name of the program (actually a shell script) is "cinit.wait.for.daemon". - -You will use it as the "on" part of the service and you have to add - - a) the pidfile to on.params - b) the daemon binary - -Thus the service would look like: - - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -2.2 Logging - -Currently there's no special logging support. -When programs write to stdout, it will be displayed on -the same stdout cinit is connected to -(we don't even open /dev/console - we are too lazy currently). - - -2.3 Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - - -3. Profiles - -Since cinit-0.0.6 there is profile in cinit. -Profiles are described in doc/profile.support. - -X. Examples - -Can be found in the tarballs below samples/. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre5/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/daemons.backgrounding b/software/cinit/browse_source/cinit-0.3pre5/doc/user/daemons.backgrounding deleted file mode 100644 index f7b7fdf5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/daemons.backgrounding +++ /dev/null @@ -1,71 +0,0 @@ --------------------------------------------------------------------------------- -daemons backgrounding, -Nico Schottelius 2005-06-12 (Last Modified: 2005-10-15) --------------------------------------------------------------------------------- - -0. Definition - -A daemon is a program which runs in the background, not having a tty -associated necesserally. Running in background does not mean it has -to background (fork()) itself, but that you cannot control it directly -from a shell. - -1. Daemons and cinit - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking - -The following daemons / servers are known to avoid backgrounding easily: - - acpid [x86 power management]: -f (undocumentated but works) - apache [webserver]: -DFOREGROUND - asterisk [pbx]: -f - bind [dns server/caching]: -f - cardmgr [pcmcia/cardbus]: -f - cron (vixie) [schedular]: -f - cupsd [printer server]: -f or -F - dhclient [dhcp client]: -d - dhcp3 (isc) [dhcp server]: -f - distccd [compile server]: normal behaviour - fam [file alteration monitor]:-f - fcron [schedular]: -f - frox [ftp proxy]: "NoDetach" in config - gdm [display manager]: -nodaemon - hybrid [irc server]: -foreground - icecast2 [sound streamer]: normal behaviour - mini-lpd [printer server]: normal behaviour - metalog [log server]: normal behaviour - monotone [vcs]: normal behaviour - mpd [music server]: --no-daemon - nessusd ["security server"]: normal behaviour - ntpd [time server]: -n - oidentd [identd server]: -i - oops [http proxy]: normal behaviour - openssh [ssh server]: -D - openvpn [vpn server]: normal behaviour - pbbuttonsd [power management]:normal behaviour - proftpd [ftp server]: -n - qmail [mta]: normal behaviour - rsync ["file server"]: --no-detach - silcd ["secure chat server"]: -F, --foreground - slapd [ldap]: -d - snmpd [snmp daemon]: -f - svnserve [vcs]: --foreground - syslogd [log server]: -n - syslog-ng [log server]: -F - tcpserver [super server]: normal behaviour - udhcpc [dhcp client]: normal behaviour - vsftpd [ftp server]: normal behaviour (or: config: background=no) - xinetd [super server]: -dontfork - -Those are the daemons that do not offer the possibility (as of release 0.2): - - atd (no switch, no configuraton option) - inetd (some variants) - nscd (no switch, no configuraton option) - portmap (only with debug mode) diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre5/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre5/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre5/doc/user/installing-cinit.text deleted file mode 100644 index 428f6b1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/installing-cinit.text +++ /dev/null @@ -1,42 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the sourcedir, adjust your OS in the file -"conf/os" and type "make all". - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source -get=wget - ----------------------------------------------------------------------- - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -For cross compiling see 'cross-compiling.text'. - - - - -Introduction ------------- -General sections, OS-specific, ... - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre5/doc/user/main.text deleted file mode 100644 index 6308e4c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre5/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre5/doc/user/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre5/doc/user/paths.text deleted file mode 100644 index 0b8c6b39..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/paths.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Introduction ------------- -The base directory under which all configurations are found -is '/etc/cinit'. - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services - conf -> general configuration ----------------------------------------------------------------------- - - -General pathnames -~~~~~~~~~~~~~~~~~~ -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - 'name'.params - the parameter to pass to 'name' when executing - - 'name'.env - the environment to pass to 'name' when executing - - -Name.params -^^^^^^^^^^^ -The 'params' file is a simple file containing one argument on each -line. - -Name.env -^^^^^^^^ -The 'env' file contains one assignment on each line. -"testvar=testvalue". - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. - -. The executable files in this directory are: - - panic{.*} - - umount{.*} - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory -which may contain the following files: - -. List of files - - on - What to execute when starting the service - * on.env - Environment to pass to 'on' - * on.params - Parameters to pass to 'on' - - off - What to execute when stopping the service - * off.env - Environment to pass to 'on' - * off.params - Parameters to pass to 'on' - - respawn - An empty file that tells cinit to restart the service - when it exits - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/problems b/software/cinit/browse_source/cinit-0.3pre5/doc/user/problems deleted file mode 100644 index a3440a3a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/problems +++ /dev/null @@ -1,9 +0,0 @@ -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/profile.support b/software/cinit/browse_source/cinit-0.3pre5/doc/user/profile.support deleted file mode 100644 index 7bc607b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/profile.support +++ /dev/null @@ -1,72 +0,0 @@ --------------------------------------------------------------------------------- -Profiles, -Nico Schottelius, 2005-06-04 --------------------------------------------------------------------------------- - -1. What are profiles? -2. How to use profiles? -3. How to configure profiles? -4. Some examples - - -1. What are profiles? - -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -2. How to use profiles? - -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. -How to pass argumenents to cinit? Under Linux the init-system -gets the kernel arguments (see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -3. How to configure profiles? - -It's very simple: Normally cinit would call /etc/cinit/init as -primary service and solve all dependencies. If you pass -cprofile=wireless to it, cinit will start /etc/cinit/wireless as -primary service instead. - - [Note: /etc/cinit/yourprofile is the service that will be started. - You need/should/must NOT create /etc/cinit/yourprofile/init!] - -So the only thing you have to do is to create a service directory -below /etc/cinit with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/init; tar c . | (mkdir ../yp; cd ../yp; tar x ) - -That's it! - - -4. Some examples - -Here are some examples we found in #cLinux: - - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work - diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre5/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre5/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre5/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre5/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.read-conf deleted file mode 100644 index 4f3c1cb7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir)/* - -set -e - -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre5/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre5/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre5/serv/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre5/serv/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/serv/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre5/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre5/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre5/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/Makefile b/software/cinit/browse_source/cinit-0.3pre5/src/Makefile deleted file mode 100644 index 2100b7d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/Makefile +++ /dev/null @@ -1,135 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -include Makefile.tests - -# Build tools / locations -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin - -# directories and files -CONFIG_H=include/config.h - -# -# objects for the cinit part -# -CINIT_HEADERS=$(shell cat include/listing) -CINIT_CORE_OBJ=$(shell cat core/objects) -CINIT_GENERIC_OBJ=$(shell cat generic/objects) -CINIT_SVC_OBJ=$(shell cat svc/objects) - -# -# The current link may be missing in the first run -# -CINIT_IPC_OBJ=$(shell cat ipc/current/objects 2>/dev/null) -CINIT_OS_OBJ=$(shell cat os/current/objects 2>/dev/null) - -CINIT_OBJ=$(CINIT_CORE_OBJ) $(CINIT_IPC_OBJ) $(CINIT_OS_OBJ) \ - $(CINIT_GENERIC_OBJ) $(CINIT_SVC_OBJ) - -# -# Dependencies -# -$(CINIT_OBJ): $(CINIT_HEADERS) - -# -# Client modules -# -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -BOTH=generic/set_signals.o generic/mini_printf.o generic/usage.o - -OBJ=$(SERV) $(SERV_OS) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -CCO_OBJ=util/ccontrol.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -%.o: %.c - $(CC) -c -o $@ $< - -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -all: cinit - -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -$(CINIT_OBJ): $(CONFIG_H) - -cinit: $(CINIT_OBJ) - $(LD) $^ -o $@ - - -#$(CINIT_BIN): $(SBIN) $(OBJ) -# $(LD) $(LDFLAGS) $(OBJ) -o $@ -# $(STRIP) $@ - -sizecheck: cinit cservice - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l sbin/ > $$FILE; cat $$FILE - @echo -n "Source size (in KiB): " - @du -s $(SDIRS) | awk '{ sum+=$$1 } END { print sum }' -# @du -s bin client comm conf doc generic serv | awk '{ sum+=$1 } END { print sum }' - - - -.PHONY: clean -clean: - rm -f .configured - rm -f $(CINIT_OBJ) - rm -f ../tmpbin/* - -distclean: - rm -f os/current ipc/current - -$(CONFIG_H): ../conf/* - ../scripts/cinit.mkheader > $(CONFIG_H) - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre5/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre5/src/core/build_argv.c deleted file mode 100644 index 85238d47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/core/build_argv.c +++ /dev/null @@ -1,170 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "cinit.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX+1]; - char *sbuf = NULL; - char *p; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - mini_printf("CBA::",1); - mini_printf(basename,1); - mini_printf("\n",1); - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename,pathtmp,PATH_MAX)) == -1) { - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - /* FIXME check bounds! */ - strcpy(pathtmp,basename); - strcat(pathtmp,C_PARAMS); - /* ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL - * ORC_OK: Ok, have a filled buffer (perhaps NULL, too) - * other: Error, print errno - */ - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p+1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,basename); - strcat(pathtmp,C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - sbuf = p+1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre5/src/core/cinit.c deleted file mode 100644 index d2e48e95..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/core/cinit.c +++ /dev/null @@ -1,90 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "cinit.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; - -int main(int argc, char **argv) -{ - char *initdir; -// pid_t cpid; - - initdir = CINIT_INIT; /* default init dir */ - - /* FIXME: RE-ENABLE as SOON AS PRODUCTIVE cpid = getpid(); - * Is this really needed or should we lock() ourselves? - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - set_signals(ACT_SERV); - - /* Look whether we should start a profile */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_SVCDIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* FIXME: do we really need three calls? */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* pre-calculate service tree */ - gen_svc_tree(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* start tree from the bottom */ - if(!tree_exec(svc_init)) return 1; - - mini_printf("=> cinit started.\n",1); - - /* listen for incomming messages: should never return */ - if(!cinit_ipc_listen()) { - panic(); - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre5/src/core/do_reboot.c deleted file mode 100644 index c190f634..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/core/do_reboot.c +++ /dev/null @@ -1,74 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "ipc.h" -#include "cinit.h" -#include "os.h" -#include "messages.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - struct timespec ts; - //char **cmd; - //int i; - - /* shutdown all services: take care about the dependency tree */ - - /* do not listen to client requests anymore - * FIXME: perhaps before shutdown? */ - cinit_ipc_destroy(); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - /* FIXME make SLEEP_KILL an optional configuration statement */ - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - ts.tv_nsec = 0; - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* execute umount, as defined in conf/umount */ - - /* execute_sth(CINIT_UMOUNT); */ - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/core/objects b/software/cinit/browse_source/cinit-0.3pre5/src/core/objects deleted file mode 100644 index 9596d171..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/core/objects +++ /dev/null @@ -1,7 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/run_init_svc.o -core/set_signals.o -core/do_reboot.o -core/sig_child.o diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre5/src/core/panic.c deleted file mode 100644 index 39092aef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/core/panic.c +++ /dev/null @@ -1,30 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include "cinit.h" -#include - -void panic(void) -{ - char *nargv[2]; - - execute_sth(CINIT_PANIC); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - execv(SULOGIN,nargv); - - /* there's nothing todo, if everything fails */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/core/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre5/src/core/run_init_svc.c deleted file mode 100644 index 42edb167..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/core/run_init_svc.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/core/run_svc.c b/software/cinit/browse_source/cinit-0.3pre5/src/core/run_svc.c deleted file mode 100644 index 4a7eabf1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/core/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre5/src/core/set_signals.c deleted file mode 100644 index e70819ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/core/set_signals.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006-2006 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include /* sigaction */ -//#include /* SIG* defs */ -#include /* NULL */ -#include "cinit.h" /* defines */ - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=sig_child; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - if(action == ACT_SERV) { - sa.sa_handler=do_reboot; - } - sigaction(SIGHUP,&sa,NULL); /* reboot */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGUSR1,&sa,NULL); /* halt */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre5/src/core/sig_child.c deleted file mode 100644 index 53439d0a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/core/sig_child.c +++ /dev/null @@ -1,80 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The child handler - * - */ - -#include -#include -#include - -#include /* sigaction */ -#include "cinit.h" -#include "svc.h" /* list_search_pid */ - -/*********************************************************************** - * sig_child - * collect the children - * FIXME: check whether we've race conditions when reciieving multiiple - * signals - * Perhaps disable listening to sig_child in meantime? - */ - -void sig_child(int tmp) -{ - /* New code: - * - search for pid in service list - * * if (respawn) -> start new - * - insert delay? if exit code is non-zero? if uptime too less? - * * if (once) -> update service status - * * else ignore, but reap away - */ - struct listitem *svc; - struct sigaction sa; - - /* do not interrupt us or anything we might call */ - sa.sa_handler = SIG_IGN; - sigaction(SIGCHLD,&sa,NULL); - - while((tmp = waitpid(-1, &tmp, WNOHANG)) > 0) { - /* check if it's a watched child */ - - /* restart service, if we are watching it */ - svc = list_search_pid((pid_t) tmp); - - mini_printf("SC::",1); - if(svc != NULL) { - mini_printf(svc->abs_path,1); - if(WIFEXITED(tmp) && !WEXITSTATUS(tmp)) { - mini_printf("::JUHU::",1); - /* process successfully terminated */ - svc_success(svc); - if(svc->status == ST_RESPAWNING) { - /* respawn: restart */ - svc_start(svc); - } else { /* FIXME: SET PID = 0, so it's not found later again - } - } else { - mini_printf("::FAILED::",1); - //svc_report_status(svc->abs_path,"FAILED",NULL); - /* FAILED */ - svc_fail(svc); - if(svc->status == ST_RESPAWNING) { - mini_printf("::RESPAWN::",1); - /* respawn: restart */ - svc_start(svc); - } - } - } else { - mini_printf("Cleanup: reparenting",1); - } - mini_printf("\n",1); - } - - sa.sa_handler = sig_child; - sigaction(SIGCHLD,&sa,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre5/src/generic/execute_sth.c deleted file mode 100644 index 2672a244..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/generic/execute_sth.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ -#include "cinit.h" -#include "build_argv.h" - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - mini_printf("ES::",1); - mini_printf(basename,1); - mini_printf("\n",1); - - tmp = cinit_build_argv(basename,&bav); - if((tmp = cinit_build_argv(basename,&bav)) != BA_OK) { - if(tmp != BA_E_MEM) { - print_errno(basename); - } /* do not print something on memory errors */ - _exit(1); /* FIXME: adjust exit code? */ - } - - execve((bav.argv)[0],bav.argv,bav.envp); - print_errno(basename); - _exit(1); /* FIXME: return specific error code, so cinit knows - * what happened! - sure? perhaps this gets non - * standard errors from other programs, too ... */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre5/src/generic/mini_printf.c deleted file mode 100644 index b3139349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while ( *p ) p++; - - write(fd,str,(size_t) (p - str) ); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/generic/objects b/software/cinit/browse_source/cinit-0.3pre5/src/generic/objects deleted file mode 100644 index f22ea6fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/generic/objects +++ /dev/null @@ -1,7 +0,0 @@ -generic/execute_sth.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre5/src/generic/openreadclose.c deleted file mode 100644 index 0b21733f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/generic/openreadclose.c +++ /dev/null @@ -1,71 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "cinit.h" - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - mini_printf("ORC:",1); - mini_printf(filename,1); - mini_printf("\n",1); - *where = NULL; - - while((fd = open(filename,O_RDONLY)) == -1) { - if(errno == ENOENT) return ORC_ERR_NONEXISTENT; - if(errno != EINTR) return ORC_ERR_OPEN; - } - - cnt = 0; - while (1) { - tmp = read(fd,buf,512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where,cnt + 1); - if(*where == NULL) return ORC_ERR_MEM; - - /* FIXME check correctness of copied buffer... - * and get some sleep..soon, very soon! */ - strncpy(&(*where)[cnt-tmp],buf,tmp); - mini_printf("ORC: ",1); - mini_printf(buf,1); - mini_printf("\n",1); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) continue; - return ORC_ERR_CLOSE; - } - - /* terminate string! */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre5/src/generic/path_absolute.c deleted file mode 100644 index 9568bf67..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "cinit.h" /* print_errno */ -#include "messages.h" /* print_errno */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_CHDIR); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre5/src/generic/path_append.c deleted file mode 100644 index c6617ba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/generic/path_append.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre5/src/generic/print_errno.c deleted file mode 100644 index 7415d556..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre5/src/generic/strip_final_newline.c deleted file mode 100644 index d9c12f05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/generic/strip_final_newline.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ -#include "cinit.h" /* FIXME debug */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) { - mini_printf("SFN: NULL\n",1); - return NULL; - } - - p = strrchr(str,'\n'); - if(p) { - if(*(p+1) == '\0') { - str = realloc(str,(p-str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre5/src/generic/usage.c deleted file mode 100644 index 87d62c73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/generic/usage.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * - */ - -#include -#include "cinit.h" - -/*********************************************************************** - * usage: tell the user what's wrong and a help text - */ -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre5/src/include/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/include/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre5/src/include/cinit.h deleted file mode 100644 index 8f8f970f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/include/cinit.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_H -#define _CINIT_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, - ORC_ERR_NONEXISTENT, - ORC_ERR_OPEN, - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_UMOUNT CINIT_CONFDIR SLASH C_UMOUNT - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* server functions */ -int run_init_svc(char *cinit_svc); -void sigio(int socket); -void do_reboot(int signal); -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -int run_run_svcs(char *abspath); -pid_t exec_svc(char *abspath, int on); -pid_t respawn_svc(char *abspath); -int connect_sock(int socke); -char **read_file(char *file); -void sig_terminate(int signal); - -/* generic */ -void execute_sth(char *basename); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); - -/* util */ -int msg_reboot(char cmd); -void print_errno(char *text); - -/* os-functions */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - -#endif /* _CINIT_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/include/comm.h b/software/cinit/browse_source/cinit-0.3pre5/src/include/comm.h deleted file mode 100644 index b9aaf60f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/include/comm.h +++ /dev/null @@ -1,69 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_START_SVC=1, /* the client wants US to start a service */ - CMD_START_SVC_ONLY, /* start this service without dependencies */ - CMD_STOP_SVC, /* stop svc and all svcs that need it */ - CMD_STOP_SVC_ONLY, /* we should stop _only_ this service */ - CMD_STOP_SVC_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ - CMD_RESCUE, /* we should start the rescue mode */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ - CMD_INFO /* send information about that service */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre5/src/include/ipc.h deleted file mode 100644 index 66b3bc86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/include/ipc.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init (client init) */ -int cinit_ipc_connect(void); /* connect to init */ -int cinit_ipc_csend(void *data); /* send to the server from a client */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/include/listing b/software/cinit/browse_source/cinit-0.3pre5/src/include/listing deleted file mode 100644 index df30f408..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/include/listing +++ /dev/null @@ -1,5 +0,0 @@ -include/cinit.h -include/config.h -include/ipc.h -include/messages.h -include/os.h diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre5/src/include/messages.h deleted file mode 100644 index e0829989..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/include/messages.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -/* Messages to the outside */ -#define MSG_BIND "bind" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_KILLBILL "sigkill" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_TERMKILL "sigterm" -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_SVC_FAIL "Service failed" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_START_SVC "Starting " -#define MSG_STOP_SVC "Stoping " -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_POWER_OFF "Powering off..." -#define MSG_HALT "Halting system ..." -#define MSG_REBOOT "Rebooting ..." -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ -#define MSG_SVC_FORK "fork() failed" - - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre5/src/include/os.h deleted file mode 100644 index e36d5a8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/include/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre5/src/include/svc.h deleted file mode 100644 index 096c3273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/include/svc.h +++ /dev/null @@ -1,127 +0,0 @@ -/*********************************************************************** - * - * 2006,2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - - -#ifndef _CINIT_SVC_H -#define _CINIT_SVC_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char *abs_path; /* name of service */ - int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - - - struct dep *wanted; /* list of services that want this service */ - struct dep *needed; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *svc_init; /* the services to start */ -extern struct listitem *svc_list; /* the list of services */ - -/* list functions */ -struct listitem *list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); -int list_display_all(); - - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -int dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -int svc_set_status(struct listitem *li, int status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void svc_start(struct listitem *li); - - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -/*********************************************************************** - * status of a service and return codes - errors and success - */ -enum svc_status_old { - ST_TMPNOW=1, /* the client is now starting the service NEEDED??? */ - ST_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - - ST_OFF, /* service is off */ - ST_OFF_ALL, /* service and those that need it are off */ - ST_OFF_ALL_F, /* same, but something failed */ - ST_OFF_WANTS, /* service + those that need or want it are off */ - ST_OFF_WANTS_F, /* same, but something failed */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ -}; - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum svc_status { - /* first define basics */ - ST_SH_ONCE = 1, /* service SHould be started once */ - ST_SH_RESPAWN = 2, /* service SHould respawn */ - ST_ONCE_OK = 4, /* service was successfully started once */ - ST_ONCE_FAIL = 8, /* service failed to start */ - ST_RESPAWNING = 16, /* service is respawning */ - ST_NEED_FAILD = 32, /* this service is not started, need failed */ - ST_IN_LIST = 64, /* this service is being started (= in list) */ - ST_BAD_ERR = 128 /* some kind of error that SHOULD NOT happen */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum svc_needs_status { - SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - SNS_NEEDS_FAILED, /* one ore more needs failed */ - SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_connect.c b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_connect.c deleted file mode 100644 index a744980c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_connect.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel */ - k_in = ftok(IPC_KEY,IPC_IN); - k_out = ftok(IPC_KEY,IPC_OUT); - - if(k_in == -1 || k_out == -1) { - perror("ftok"); - exit(1); - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - perror("msgget"); - exit(1); - } - - /* wrong tabsto ;-) */ -while (1) { - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror("msgrcv"); - exit(1); - } - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 43a0012f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,62 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(IPC_KEY,IPC_OUT); - k_out = ftok(IPC_KEY,IPC_IN); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 299885c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ - -#include "msgq.h" /* mq_in, mq_out */ -#include "cinit.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(mq_in,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(mq_out,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index 9ae072a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* msgget */ - -#include "cinit.h" -#include "config.h" -#include "msgq.h" - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_in = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_in == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* to_client */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - if(k_tmp == -1) { - perror(MSG_MSGQ_FTOK); - return 0; - } - mq_out = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_out == -1) { - perror(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index d21e561e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,47 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* perror */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - - struct msg_client m_client; - - while (1) { - /* FIXME: change msg structure */ - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror(MSG_MSGQ_MSGRCV); - } - - printf("pid: %d, m_client\n",m_client.pid); - - /* use pid as the message type - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - return 0; - } */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index a744980c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel */ - k_in = ftok(IPC_KEY,IPC_IN); - k_out = ftok(IPC_KEY,IPC_OUT); - - if(k_in == -1 || k_out == -1) { - perror("ftok"); - exit(1); - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - perror("msgget"); - exit(1); - } - - /* wrong tabsto ;-) */ -while (1) { - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror("msgrcv"); - exit(1); - } - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index 08c0e252..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "cinit.h" /* print_errno */ -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - key_t k_in, k_out; /* FIXME: remove one variable */ - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - k_out = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_sclose.c b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_sclose.c deleted file mode 100644 index 69165e4d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/cinit_ipc_sclose.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Close the ressources from the server, clean state for forks. - * - */ - -int cinit_ipc_sclose(void) -{ - return 1; /* nothing to do when using message queues */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/msgq.h deleted file mode 100644 index 01c6e769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * part of cinit - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define MSGQ_TO_SERVER 'i' /* also for ftok */ -#define MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables - */ -int mq_in; /* input */ -int mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_FTOK "ftok" -#define MSG_MSGQ_MSGGET "msgget" -#define MSG_MSGQ_MSGRCV "msgrcv" -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre5/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre5/src/os/freebsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre5/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre5/src/os/freebsd/poweroff.c deleted file mode 100644 index 61e5ef5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre5/src/os/freebsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre5/src/os/linux/halt.c deleted file mode 100644 index 0ecf8ced..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre5/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre5/src/os/linux/poweroff.c deleted file mode 100644 index 5f503678..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre5/src/os/linux/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre5/src/os/openbsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre5/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre5/src/os/openbsd/poweroff.c deleted file mode 100644 index 45168122..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre5/src/os/openbsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/check_add_deps.c deleted file mode 100644 index c0568628..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/check_add_deps.c +++ /dev/null @@ -1,133 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers */ -#include -#include -#include /* PATH_MAX */ - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ - -#include "cinit.h" -#include "messages.h" -#include "svc.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_CHDIR); - return 0; - } - - mini_printf("CAD::",1); - mini_printf(svc->abs_path,1); - mini_printf("\n",1); - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf,C_NEEDS)) return 0; - } else { - if(!path_append(buf,C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no needs */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent=readdir(d_tmp))!=NULL) { - if(*(tdirent->d_name)=='.') continue; /* ignore .* */ - - /* skip non-working directories */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* FIXME: remove debug */ - mini_printf("CAD::NEW::",1); - mini_printf(svc->abs_path,1); - mini_printf("::",1); - mini_printf(buf,1); - mini_printf("\n",1); - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - dep_entry_add(&(new_svc->needed),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs),deps); - } else { - dep_entry_add(&(new_svc->wanted),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants),deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/dep_create.c deleted file mode 100644 index 691d66b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/dep_create.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/dep_entry_add.c deleted file mode 100644 index 8bac1c1d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/dep_entry_add.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc.h" - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - */ -int dep_entry_add(struct dep **deplist, struct dep *new) -{ - if( *deplist == NULL ) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/dep_entry_del.c deleted file mode 100644 index ed2a627d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/dep_entry_del.c +++ /dev/null @@ -1,37 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc.h" - -/* - * tmp: pointer to data to remove (must not be NULL) - * -> perhaps work on the pointer to the pointer? - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* last service in the list */ - if(del->next == del && del->prev == del) { - tmp=NULL; - free(del); - } else { - /* remove from list */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - free(del); - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/dep_needs_wants_add.c deleted file mode 100644 index dba4fd7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,63 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Add all wants and needs from a specific service to dep list - */ - -#include /* NULL */ -#include "svc.h" -#include "cinit.h" /* FIXME: debug */ - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -/* FIXME unfinished (wants) and possibly not adding all? */ -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - - struct dep *tmp, *new, *end; - - /* first add needs, then add wants - * but only add the services, if they are still a virgin - */ - if(type == DEP_NEEDS) { - end = svc->needed; - } else { - end = svc->wanted; - } - - mini_printf("DNWA::",1); - mini_printf(svc->abs_path,1); - - /* check needs */ - tmp = end; - if(tmp != NULL) { - do { - mini_printf("::",1); - mini_printf(tmp->svc->abs_path,1); - if(((tmp->svc->status & ST_SH_ONCE) || - (tmp->svc->status & ST_SH_RESPAWN)) && - !(tmp->svc->status & ST_IN_LIST)) { - mini_printf("::(A)::",1); - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= ST_IN_LIST; - dep_entry_add(list,new); - } - /* FIXME: go forward or backwards? - * this decision will influence starting order - * and may thereby add a minimal mount of speed enhancement */ - tmp = tmp->next; - } while(tmp != end); - } - mini_printf("\n",1); - - /* check wants */ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/gen_svc_tree.c deleted file mode 100644 index 17be88dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include -#include "cinit.h" -#include "svc.h" - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li=list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return NULL; - - /* FIXME: remove debug */ - mini_printf("gen_tree::",1); - mini_printf(svc,1); - mini_printf("\n",1); - - if(!check_add_deps(li,DEP_NEEDS)) return NULL; - if(!check_add_deps(li,DEP_WANTS)) return NULL; - - if(!li->wants && !li->needs) { - /* FIXME: remove debug */ - mini_printf("START::",1); - mini_printf(li->abs_path,1); - mini_printf("\n",1); - - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&svc_init,deps); - - /* mark it as being in _THE_ list */ - li->status |= ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_delete.c deleted file mode 100644 index 10a7e218..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_delete.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "svc.h" - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - free(tmp->abs_path); - free(tmp); - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_display_all.c deleted file mode 100644 index 65c7b3a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_display_all.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ -#include "cinit.h" -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if( svc_list == NULL ) { - return 0; - } else { - tmp = svc_list; - } - - do { - mini_printf("Service: ",1); - mini_printf(tmp->abs_path,1); - mini_printf("\n",1); - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_insert.c deleted file mode 100644 index f31d4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_insert.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* malloc */ -#include /* bzero / memset */ -#include "svc.h" /* the list pointer */ - -struct listitem *list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset( tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) return NULL; - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_modify.c deleted file mode 100644 index 4a93c41c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_modify.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - -// D_PRINTF(path); - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_search.c deleted file mode 100644 index b40fae23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_search.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "cinit.h" -#include "svc.h" - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_search_pid.c deleted file mode 100644 index 400d0377..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/list_search_pid.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Search by pid - */ - -#include /* NULL */ -#include /* pid_t */ -#include "svc.h" /* struct listitem */ - -struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return NULL; - } else { - tmp = svc_list; - } - - do { - printf("LSP:: %d: %s:%d (%d)\n",pid,tmp->abs_path,tmp->status,tmp->pid); - if(pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/objects b/software/cinit/browse_source/cinit-0.3pre5/src/svc/objects deleted file mode 100644 index cf0ee36b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/objects +++ /dev/null @@ -1,21 +0,0 @@ -svc/gen_svc_tree.o -svc/list_delete.o -svc/list_display_all.o -svc/list_insert.o -svc/list_modify.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_start.o -svc/svc_fail.o diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_add_needs.c deleted file mode 100644 index cc03727d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_add_needs.c +++ /dev/null @@ -1,67 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -//#include -//#include -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_create.c deleted file mode 100644 index 85f3d940..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_create.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* strcpy */ -#include /* stat */ -#include /* stat */ -#include /* PATH_MAX */ -#include /* errno */ -#include "svc.h" /* listitem */ -#include "cinit.h" /* path_append */ - -/* checking for existence is done before! */ -/* FIXME: check heedars for conformance with POSIX */ -struct listitem *svc_create(char *svc) -{ - char buf[PATH_MAX+1]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc,-1); - if(!li) return NULL; - - /* FIXME: add two path length checks? svc and svc+strlen(C_RESPAWN)? */ - strcpy(buf,svc); - if(!path_append(buf,C_RESPAWN)) return NULL; - - if(stat(buf,&statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li,ST_SH_ONCE); - } else { - return NULL; - } - } else { - mini_printf("respawn: ",1); - mini_printf(li->abs_path,1); - mini_printf("\n",1); - svc_set_status(li,ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_fail.c deleted file mode 100644 index d9efb539..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_fail.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Mark the service as being failed - */ - -#include "svc.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_FAIL; - else { - /* FIXME: do something senseful, record time of dead? */ - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_needs_status.c deleted file mode 100644 index d9d54a81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_needs_status.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return status of the needs of this service - */ - -#include /* NULL */ -#include "svc.h" /* service information */ - -// DEBUG #include "cinit.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - -/* DEBUG mini_printf("sns: ",1); - mini_printf(svc->abs_path,1); - mini_printf("\n",1); */ - - if(deps == NULL) return SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* worst case: need failed */ - if((deps->svc->status & ST_NEED_FAILD) || - (deps->svc->status & ST_ONCE_FAIL)) { - retval = SNS_NEEDS_FAILED; - break; - } - /* services are being started */ - if((deps->svc->status & ST_SH_ONCE) || - (deps->svc->status & ST_SH_RESPAWN)) { - retval = SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_report_status.c deleted file mode 100644 index 4833240a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_report_status.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Tell the world what happened to the service - */ - -#include "cinit.h" /* mini_printf */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf("[Service] ",1); - mini_printf(svc,1); - mini_printf(": ",1); - mini_printf(msg,1); - if(err) { - mini_printf(" (",1); - mini_printf(err,1); - mini_printf(")",1); - } - mini_printf("\n",1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_respawn_check.c deleted file mode 100644 index 2ed44de8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX+1]; - - strcpy(buf,svc->abs_path); - if(!path_append(buf,C_RESPAWN)) return 0 -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_set_status.c deleted file mode 100644 index 36b61795..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_set_status.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_set_status(struct listitem *li, int status) -{ - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_should_respawn.c deleted file mode 100644 index 1c401024..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return whether should respawn or not - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_start.c deleted file mode 100644 index a0a3c272..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_start.c +++ /dev/null @@ -1,56 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start a service - */ - -#include /* DEBUG */ - -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include "svc.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "cinit.h" /* execute_sth */ - -void svc_start(struct listitem *li) -{ - char buf[PATH_MAX+1]; - - /* FIXME: All cleanup must go here - * close(fds); - * reset signals - * reset env? - * - * FIXME: Add logging possibility to here - * open (0,1,2) to other processes, if specified */ - li->pid = fork(); - - if(li->pid < 0) { - svc_report_status(li->abs_path,MSG_SVC_FORK,strerror(errno)); - svc_set_status(li,ST_BAD_ERR); - return; - } - if(li->pid > 0) { - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_OK; - else - li->status = ST_RESPAWNING; - return; - } - - /* FIXME: check for valid length! - * strlen(abs_path) + strlen(SLASH) + strlen(C_ON) */ - /* misuse status field (doesn't matter in fork) for strlen */ - li->status = strlen(li->abs_path); - strncpy(buf,li->abs_path,li->status); - buf[li->status] = '\0'; - strncat(buf,SLASH,PATH_MAX); - strncat(buf,C_ON,PATH_MAX); - - execute_sth(buf); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_success.c deleted file mode 100644 index 65e6284f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/svc_success.c +++ /dev/null @@ -1,18 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -void svc_success(struct listitem *li) -{ - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_OK; - else - li->status = ST_RESPAWNING; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre5/src/svc/tree_exec.c deleted file mode 100644 index 000c44bf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/svc/tree_exec.c +++ /dev/null @@ -1,125 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - -#include /* NULL */ -#include "cinit.h" -#include "svc.h" /* svc_init */ - -/* some thoughts... - * - * - we already generated the tree, we now need to start it from - * the ends - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the service that - * need or want that service - * - * - * - */ - -int tree_exec(struct dep *start) -{ - struct dep *tmp; - - tmp = start; - - mini_printf("========> tree_exec() \n",1); - /* the main starting loop: All services in this list should be - * started, but it is possible that dependent services are in the - * list. In this case simply skip the current service - */ - do { - /* FIXME debug */ - mini_printf("TEX::",1); - mini_printf(tmp->svc->abs_path,1); - mini_printf("\n",1); - { - struct dep *tmp2; - tmp2=tmp->svc->needs; - if(tmp2) { - do { - mini_printf("::",1); - mini_printf(tmp2->svc->abs_path,1); - mini_printf("\n",1); - fprintf(stderr,"%s: <<%d>>\n",tmp2->svc->abs_path,tmp2->svc->status); - tmp2 = tmp2->next; - } while (tmp2 != tmp->svc->needs); - } - } - - switch(svc_needs_status(tmp->svc)) { - case SNS_NEEDS_STARTED: - mini_printf("abhaengigkeiten gestartet, exec; add wants, needs\n",1); - /* FIXME: execute service */ - svc_start(tmp->svc); - - /* FIXME: update status must be included in child handler! */ - //svc_success(tmp->svc); - - /* execute service, remowe from list */ - /* FIXME check return code? */ - dep_needs_wants_add(&tmp,tmp->svc,DEP_NEEDS); - dep_needs_wants_add(&tmp,tmp->svc,DEP_WANTS); - - /* delete service from list */ - tmp = dep_entry_del(tmp); - break; - case SNS_NEEDS_FAILED: - mini_printf("wer fehlgeschlagen\n",1); - /* mark service as NEED_FAILD and delete from list */ - svc_set_status(tmp->svc,ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - case SNS_NEEDS_UNFINISHED: - mini_printf("noch warten\n",1); - /* continue with the next item */ - tmp = tmp->next; - break; - } - -// tmp->svc->pid = fork(); - - -// if(tmp->svc->pid == -1) return 0; - - // if(tmp->svc->pid == 0) { /* child code */ - // execute_sth(tmp->svc->abs_path); -// _exit(1); - // } - - /* add the services that want or need this service to the list - * of services to be executed the next time - * - * We should add the new services at the beginning, so we - * clean the original onse first - * - * And we need to check, whether the dependencies are already - * solved. - * - * A service may be in status: - * - * - Unset (never touched) - * - Being started (passed our loop, but did not yet finish) - * - Respawning (means was started and we take care - * about it - * - failed (with reason copied, so one can reprint it later?) - * - once - started once successfully - * - need failed - not started, because need failed. perhaps - * registert which dependenc(y|ies) failed? - */ - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre5/src/test/test_build_argv+link.c deleted file mode 100644 index e37169fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre5/src/test/test_build_argv.c deleted file mode 100644 index 0b2678be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre5/src/test/test_gen_svc_tree.c deleted file mode 100644 index 93ad54ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre5/src/test/test_openreadclose.c deleted file mode 100644 index 2f722da5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file,&data); - - printf("%s\n",data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre5/util/README b/software/cinit/browse_source/cinit-0.3pre5/util/README deleted file mode 100644 index 782cdc8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/util/README +++ /dev/null @@ -1,2 +0,0 @@ -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre5/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre5/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre5/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre5/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre5/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre5/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre5/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre6/ b/software/cinit/browse_source/cinit-0.3pre6/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre6/.exclude b/software/cinit/browse_source/cinit-0.3pre6/.exclude deleted file mode 100644 index 1a2d31e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/.exclude +++ /dev/null @@ -1,2 +0,0 @@ -tmp -.git diff --git a/software/cinit/browse_source/cinit-0.3pre6/.gitignore b/software/cinit/browse_source/cinit-0.3pre6/.gitignore deleted file mode 100644 index 6d4d9d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/.gitignore +++ /dev/null @@ -1,18 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -doc/*/*.html -doc/*/*.htm -doc/*/*.man -doc/*/*.texi diff --git a/software/cinit/browse_source/cinit-0.3pre6/CHANGES b/software/cinit/browse_source/cinit-0.3pre6/CHANGES deleted file mode 100644 index dd795a78..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/CHANGES +++ /dev/null @@ -1,52 +0,0 @@ -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre6/COPYING b/software/cinit/browse_source/cinit-0.3pre6/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre6/CREDITS b/software/cinit/browse_source/cinit-0.3pre6/CREDITS deleted file mode 100644 index b009a48c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/CREDITS +++ /dev/null @@ -1,23 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: 2005-09-25) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding diff --git a/software/cinit/browse_source/cinit-0.3pre6/Changelog b/software/cinit/browse_source/cinit-0.3pre6/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre6/Makefile b/software/cinit/browse_source/cinit-0.3pre6/Makefile deleted file mode 100644 index e66cec24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/Makefile +++ /dev/null @@ -1,96 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation sizecheck - -install clean dist distclean: - @for subdir in $(CDIRS); do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && $(MAKE) $(MAKEFLAGS) $@); \ - done; - -.PHONY: sources -sources: - $(MAKE) -C src all - -.PHONY: documentation -documentation: - $(MAKE) -C doc documentation - -sizecheck: sources - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $$FILE; cat $$FILE; \ - cg-add $$FILE - -source-size: clean - @echo -n "Source size (in KiB): " - @du -s src/ | awk '{ sum+=$$1 } END { print sum }' - - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - -################################################################################ -# old -#DDOC=ddoc -#SDIRS=bin client conf comm doc generic serv util -# DO NOT CHANGE THIS. -#SBIN=sbin -#CINIT_BIN=$(SBIN)/cinit -# -#%.o: %.c -# $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< -#$(DDOC): -# mkdir $(DDOC) -# -#$(SBIN): -# mkdir $(SBIN) -# -#docs: $(DDOC) bin/cdoc-man.sh -# ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 -# ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 -#$(CSVC_OBJ) $(OBJ): $(CONFIG_H) -#clean: -# $(MAKE) -C src clean -# rm -f tmpbin/* -################################################################################ -#cservice: $(SBIN)/cservice -# -#$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) -# $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ -# $(STRIP) $@ -# -#ccontrol: $(SBIN)/ccontrol -# -#$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) -# $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ -# $(STRIP) $@ -# -#install:: install-dir cinit cservice ccontrol -# @echo '*** Installing cinit ***' -# ./bin/cinit.install.binary diff --git a/software/cinit/browse_source/cinit-0.3pre6/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre6/NEXTTODO deleted file mode 100644 index 7e3ea3bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/NEXTTODO +++ /dev/null @@ -1,65 +0,0 @@ -- Include doc into main Makefile, create html documentation on make dist -- Doc - * 'os-integration.text' - * 'daemons.backgrounding' - * There are some hints on how to migrate to cinit in general and also - some os specific help in the file 'migrating-init-systems.text', -- CODECHECK: - * what happens with the wants of the last services? - - are they added? - - are they added at the correct position? -- scripts - * `cinit.check.config` (doc/user/configuring.cinit.text) - -> circular depedencies! -- Doc.next: - - installing: report! - -> write report script. -- Doc later - * current-init-problems.text - - current-init-problems.text explains why cinit does not use nor recommends the use of shell scripts. - * special-services.text - -- Begin documentation - * Check Makefile - * Integrate Makefile into main Makefile - * create manpage - * Write a small manual - - install - - configure - - boot (different OS) - * generate asciidoc! -- report broken links in needs/wants -- Doc way: - * installing - * configuring - - testconfig! - * booting - - different OS / bootloader - * debugging -- Shutdomn code: - * begin at init, then shutdown wants/needs, ... -- check free on dep_del! -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- implement do_reboot() - * so not only booting with cinit works, but also the shutdown -- define messages - a) human readable - b) binary data? -- replace cinit_ipc_logon with cinit_ipc_init... - * delay ipc code -> after start! -- Remove old code - * remove run_svc - * remove run_init_svc - -Finally: -- test and release cinit-0.3rc1 - -- Cleanup object lists - object-lists/ - cinit - cservice - ccontrol - cinit.halt - cinit.reboot - cinit.shutdown (shell script?!?) diff --git a/software/cinit/browse_source/cinit-0.3pre6/README b/software/cinit/browse_source/cinit-0.3pre6/README deleted file mode 100644 index 00f2651b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/README +++ /dev/null @@ -1,106 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Unix -- true dependencies (soft and hard!) -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -FIXME: Add mailing list here - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre6/ROADMAP b/software/cinit/browse_source/cinit-0.3pre6/ROADMAP deleted file mode 100644 index b26ccb36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/ROADMAP +++ /dev/null @@ -1,117 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers - code: cleanup makefile - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. - code: add special directory (/etc/cinit/special?) for os specific binaries - -> halt, poweroff, reboot (NOTHING MORE THEY CAN DO) - -> SHOULD NOT BE IN THE PATH - code: move production code to src/ - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre6/TODO b/software/cinit/browse_source/cinit-0.3pre6/TODO deleted file mode 100644 index ffa780af..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/TODO +++ /dev/null @@ -1,317 +0,0 @@ -- define how it should work (doc/braindums/big-picture.text) -- define service status in one document, so repeatition stops! - - --------------------------------------------------------------------------------- -- rename headers/ -> includes/ -- remove client/ from top level --------------------------------------------------------------------------------- -- write about shell scripts in system startup -- write about general behaviour (covering the death) --------------------------------------------------------------------------------- -Generate automatic asciidoc from conf/* --------------------------------------------------------------------------------- -Add handler for ctrl+alt+delete - * document in paths --------------------------------------------------------------------------------- -pre-compile config: conf/* - --------------------------------------------------------------------------------- -panic: - read configuratio from defaults/panic* - -> write execute_something before! --------------------------------------------------------------------------------- -comm: - tmpnow: search for pid in list, - save the pid in the list, so we know whether our executer died! --------------------------------------------------------------------------------- -Logging / cinit: - fuer unsere eigenen ausgaben auch multilog? - - Logger: shared memory? --------------------------------------------------------------------------------- -Implement full starting logic in server? --------------------------------------------------------------------------------- -Build full dependency tree at start? And begin from the end? --------------------------------------------------------------------------------- -comm/*: - int read - int write - --> fuer pipes - -run_init_svc - muss alle services wissen, die gestartet werden - - start_services_with_deps - gibt pointer auf struktur zurueck - -> Anzahl Services (array!) - -> Service: - Name (Pfad) - Ergebniss - -> beim fehler, die nachricht, strerror? - http://www.opengroup.org/onlinepubs/009695399/functions/strerror.html - - -Beim starten werden needs und wants als needs behandelt, weil -jeder starter _alle_ services zurueckgeben muss. - - Ein Prozess kann maximal 512 abhaengigkeiten haben. - -> open files - - -Neues cinit: - Wenn service fehlschlaegt, wird eine Struktur zurueckgegeben. - - Diese enhaelt: - - int success = - enum { SVC_SUCCESS, SVC_FAILED, SVC_NEED_FAILED, ... } - - char *reason; - - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s - - Rekursives herunter/rauffahren --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary -- remove sigio(), create new functions: - - one for cleaning up the socket - - one for doing the communication (specify two fd's) -- put some logic around exec_svc: - o put waiting code herein -> waiting code to structure! -- cleanup serv/sig_reboot.c:7: - o implement os-specific reboot function --------------------------------------------------------------------------------- -1. Entfernung mount -2. kommunikation ueber - 1. einen fork pro service - fork(fork) -3. Socket wird erst nach einem Signal erstellt - -> Konfiguration sollte SIGWHATEVER senden -4. Vielleicht panicen, wenn init fehlschlaegt? --------------------------------------------------------------------------------- -Als naechstes: - -- add code do implement stopping / restarting with dependency tree - o add used_by to the list of services - o used_by should be a simple (double?) linked list --------------------------------------------------------------------------------- -Documentation: - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring --------------------------------------------------------------------------------- -Add "used" by to each service, so we can track which services to shutdown. --------------------------------------------------------------------------------- -- perhaps use dnotify? -- recheck warm reboot -- fix cservice -- print service name or cinit: before _everything_ WE print - -TESTING: - - does cinit eat zombies? - - is the reporting ok? - - does cservice and ccontrol what's expected? - -# cinit.create.empty.service: can only be started from the bin directory - -- compile cinit static and other tools dynamically per default - -- Fix Switching services off !! -- Remove RUN_RUN_SVCs, move code to run_svc so one can determine which - services failed? - --> sequentieller ablauf! - --> parallel ablauf, struct-array mit namen und ergebnis? - --> for dep in deps/*; do fork(run_svc() ); done - -----> while(any_is_running) { sleep } - -------> array durchsuchen, ergebnis nutzen. - - ueberpruefen von wo aus run_svc() aufgerufen wird - -- Fix SIGCHILD problem: - - exec_svc wants to waitpid() itself, so SIG_CHILD makes problems - - respawn_svc: does that need to act on SIGCHLD if the master process - is still running? - - kill respawn -> sigchild cleans up, we do not get waitpid perhaps? -- remove umount code? -- remove zombies, but keep away from SIGCHILD problems -- remove mount /etc/cinit/tmp code - -> how to replace? -- fix bug in Makefile: linking happens twice -- do not kill respawing service, if off exists -- ccontrol -- manpages -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren -- ddoc zuendefuehren - -- remove umount, swapoff? ---> to services? - -- on.out, on.err, on.in? - -> reading/writing from/to files - ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! -- implement "no_kill" until cinit-0.2 or 0.3? - -Doku!!! - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) - - memset for timespecs? - - move umount, swapoff and remount to off of init? - -> cleanup sig_reboot.c - - run_svc: - o we have many strcat()s, perhaps save length of pathbuf and strncat at - pathtmp[strlen(pathbuf)] ? - - do we really need swapoff? --------------------------------------------------------------------------------- -- Documentation - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml --------------------------------------------------------------------------------- -Things I did not do and I don't know whether we have to care about: - -- Porting - - add porting code to other unices? - - like openssh guys do? - -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -[OLD BUGS] -- remove cinit watcher? - -> sig_child -> cycle through list? -- DOKU: what happens when a service does not terminate.... - und er als once drin ist -- MANPAGE! -- execve() fails -> no sleep!! -- multiple zombies sometimes - problemservices - -> zombies of respawn watchers are not caught! - -> sig_chld also therein - -> problematic due to wait for child --doubled cinit instance - - nur einmal -- free() everything before starting child -- cservice! - - prozess nur einmal -> WARTET! cinit auch! -doku: - cservice einmal starten -> wartet auf ende - cint ersetzt init bei gentoo - an error occuerd-> verbose - multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -possible BUGS: - -[14:44] freelsd:cinit-0.2.2% ./sbin/cservice -e ein - -ein: No such file or directory -Bad address -: Service does not exist - -cinit-0.2.2: -USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND -root 1 96.7 0.0 1580 336 ? R 18:59 5:49 /sbin/cinit -root 2 0.0 0.0 0 0 ? SN 18:59 0:00 [ksoftirqd/0] -root 3 0.0 0.0 0 0 ? S 18:59 0:00 [watchdog/0] -root 4 0.0 0.0 0 0 ? S< 18:59 0:00 [events/0] -root 5 0.0 0.0 0 0 ? S< 18:59 0:00 [khelper] -root 6 0.0 0.0 0 0 ? S< 18:59 0:00 [kthread] -root 10 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [khubd] -root 12 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [kblockd/0] -root 99 0.0 0.0 0 0 ? S 18:59 0:00 \_ [pdflush] -root 100 0.0 0.0 0 0 ? S 18:59 0:00 \_ [pdflush] -root 102 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [aio/0] -root 727 0.0 0.0 0 0 ? S< 18:59 0:00 \_ [kseriod] -root 101 0.0 0.0 0 0 ? S 18:59 0:00 [kswapd0] -root 800 0.0 0.0 0 0 ? S 18:59 0:00 [khpsbpkt] -root 803 0.0 0.0 0 0 ? S 18:59 0:00 [pccardd] -root 838 0.0 0.0 0 0 ? S 18:59 0:00 [kjournald] -root 1923 0.0 0.0 1584 200 ? S 18:59 0:00 /sbin/cinit -root 1924 0.0 0.3 3624 1936 tty2 Rs 18:59 0:00 \_ -zsh -root 1969 0.0 0.0 1580 320 tty2 S 19:05 0:00 \_ cservice -e 3 -root 1972 0.0 0.1 2604 828 tty2 R+ 19:05 0:00 \_ ps axuwwf -root 1945 0.0 0.0 0 0 tty2 Z 19:01 0:00 [loadkeys] -cinit: [cprofile:profile] -cinit should not be started directly, but by your kernel. -umount raus -/etc/cinit/specials/... rein - -1. Doku auf asciidoc umstellen -2. den signalhandler code fixen -3. den tempmount entfernen - ---> cinit-0.3-rc1 --------------------------------------------------------------------------------- -Helper scripts, rausgenommen aus Der Doku, muessen fuer -cinit-0.3 ueberprueft werden: - -Configure help scripts -~~~~~~~~~~~~~~~~~~~~~~ -cinit-conf later -Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? - -Documentation -------------- - -developer -~~~~~~~~~ -- ST_IN_LIST == startup marker, used to (NOT) insert services into startup -- dep_needs_wants_add is used to add dependencies of a service to the general - starter list - - -user ----- -- dependencies with leading '.' (dot) are ignored. -- about cinit-configuration structure - * cconfig - * svc/ - * special/ (or however we called it) - - panic - - halt - - poweroff - - reboot diff --git a/software/cinit/browse_source/cinit-0.3pre6/TODO.doc b/software/cinit/browse_source/cinit-0.3pre6/TODO.doc deleted file mode 100644 index a170a50d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/TODO.doc +++ /dev/null @@ -1,29 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - -caveats -------- - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- cinit ignores the Keyboard request -- Currently there is no support to react on 'ctr+alt+del': -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - diff --git a/software/cinit/browse_source/cinit-0.3pre6/TODO.optimisations b/software/cinit/browse_source/cinit-0.3pre6/TODO.optimisations deleted file mode 100644 index 8a686b4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/TODO.optimisations +++ /dev/null @@ -1,19 +0,0 @@ -This file describes enhancements or optimisations that -could be done / checked. - - -Code ----- - -fork() -~~~~~~ - -Security -^^^^^^^^^ -- Closed fds? -- Close other things? -- IPC? - -Cleanup -^^^^^^^ -- Do we have to reset signals or is that done anyway by fork()? diff --git a/software/cinit/browse_source/cinit-0.3pre6/TODO.pre7 b/software/cinit/browse_source/cinit-0.3pre6/TODO.pre7 deleted file mode 100644 index d69f8d33..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/TODO.pre7 +++ /dev/null @@ -1,2 +0,0 @@ - - Added general shutdown support (via kill -TERM, -HUP, -USR1) - diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre6/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.configure.mark deleted file mode 100644 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre6/client/README b/software/cinit/browse_source/cinit-0.3pre6/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre6/client/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre6/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/client/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre6/client/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/client/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/client/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre6/client/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/client/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre6/client/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre6/client/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/client/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre6/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre6/client/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/client/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre6/client/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/client/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/client/run_svc.c b/software/cinit/browse_source/cinit-0.3pre6/client/run_svc.c deleted file mode 100644 index 7fea6a92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/client/run_svc.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre6/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre6/client/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/client/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/comm/README b/software/cinit/browse_source/cinit-0.3pre6/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.3pre6/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre6/comm/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/comm/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/comm/do_result.c b/software/cinit/browse_source/cinit-0.3pre6/comm/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/comm/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre6/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre6/comm/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/comm/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/.README b/software/cinit/browse_source/cinit-0.3pre6/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre6/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre6/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_env b/software/cinit/browse_source/cinit-0.3pre6/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_halt b/software/cinit/browse_source/cinit-0.3pre6/conf/c_halt deleted file mode 100644 index 4eed340f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the link belowe c_special, which links to the program -to be executed right before halting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_init b/software/cinit/browse_source/cinit-0.3pre6/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre6/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_off b/software/cinit/browse_source/cinit-0.3pre6/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_on b/software/cinit/browse_source/cinit-0.3pre6/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre6/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_params b/software/cinit/browse_source/cinit-0.3pre6/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_poweroff b/software/cinit/browse_source/cinit-0.3pre6/conf/c_poweroff deleted file mode 100644 index 5b5c9c9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_poweroff +++ /dev/null @@ -1,4 +0,0 @@ -poweroff - -Name of the link belowe c_special, which links to the program -to be executed right before powering off the system. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_reboot b/software/cinit/browse_source/cinit-0.3pre6/conf/c_reboot deleted file mode 100644 index 8702388f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_reboot +++ /dev/null @@ -1,4 +0,0 @@ -reboot - -Name of the link belowe c_special, which links to the program -to be executed right before rebooting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre6/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre6/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre6/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre6/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre6/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_umount b/software/cinit/browse_source/cinit-0.3pre6/conf/c_umount deleted file mode 100644 index ab96b0a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_umount +++ /dev/null @@ -1,6 +0,0 @@ -umount - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -It should normally be a shellscript with the OS-specific umount procedure. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre6/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/cc b/software/cinit/browse_source/cinit-0.3pre6/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/cflags b/software/cinit/browse_source/cinit-0.3pre6/conf/cflags deleted file mode 100644 index 812812a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/cflags +++ /dev/null @@ -1,3 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g - -Standard flags to pass to (g)cc. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre6/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/confdir b/software/cinit/browse_source/cinit-0.3pre6/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/destdir b/software/cinit/browse_source/cinit-0.3pre6/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre6/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre6/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre6/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre6/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/ld b/software/cinit/browse_source/cinit-0.3pre6/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre6/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre6/conf/max_delay deleted file mode 100644 index 149fa16c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/max_delay +++ /dev/null @@ -1,7 +0,0 @@ -4 - -Maximum number of digits which may be in the delay file. -If there are more, the string "12345678901" will be cut to the -right length "1234567890". I don't think you'll ever need -a timeout greater 4 digits (9999 seconds are 166,65~ minutes, are -2 hours, 46 minutes and 39 seconds). See doc/configuring.cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre6/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre6/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre6/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre6/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/os b/software/cinit/browse_source/cinit-0.3pre6/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre6/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre6/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre6/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/prefix b/software/cinit/browse_source/cinit-0.3pre6/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/profile b/software/cinit/browse_source/cinit-0.3pre6/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre6/conf/service_categories deleted file mode 100644 index d632b875..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/service_categories +++ /dev/null @@ -1,4 +0,0 @@ -getty local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre6/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre6/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre6/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre6/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre6/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/strip b/software/cinit/browse_source/cinit-0.3pre6/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre6/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre6/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre6/conf/version b/software/cinit/browse_source/cinit-0.3pre6/conf/version deleted file mode 100644 index 7ac11550..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre6" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/Makefile deleted file mode 100644 index 8441c90b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o ../generic/usage.o ../generic/mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/cinit-vis.pl deleted file mode 100644 index 3956ff47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/cinit.graph.text.c deleted file mode 100644 index bc6fb6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.gaph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.gaph.text - textual representatio of the cinitdirectory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.gaph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre6/doc/.buildwarn deleted file mode 100644 index 3a0354dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/.buildwarn +++ /dev/null @@ -1,23 +0,0 @@ -**************************************************************************** -Welcome, cinit greets you. -**************************************************************************** - -Hints: ------- - - Settings used for compiling (not only) can be found in conf/* - - The boot configuration normally resides below /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text _BEFORE_ installing. - -Building cinit --------------- - - "make all" - to build cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre6/doc/Makefile deleted file mode 100644 index 421e58c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/Makefile +++ /dev/null @@ -1,87 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text -DOCS = $(MANDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -all: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpage(s)" - -install: - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -%.man: %.mandocbook - ${DOCBOOKTOMAN} --to-stdout $< > $@ - -# -# Distribution -# -distclean: - rm -f $(DOC_ALL) - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/README.text b/software/cinit/browse_source/cinit-0.3pre6/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/coding-style b/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/coding-style deleted file mode 100644 index 1b164b9e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/coding-style +++ /dev/null @@ -1,49 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. - - -Unsorted ---------- -Linebreaks: - - -if(...) { - -} else { -} - - -do { -} while(); - -no spaces - - within braces and code "(!test)", - - before braces "if(code)" - -spaces - - after braces "if(test) return 0;" - - spaces before and after '=' (a = b); - -curly braces: - functions: - int func(int params) - { - body - } - -comments: - where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre6/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre6/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre6/doc/devel/communication.text deleted file mode 100644 index 82f77774..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/communication.text +++ /dev/null @@ -1,221 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -The byte order is host specific (may be little or big endian). - - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre6/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre6/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre6/doc/devel/ipc.text deleted file mode 100644 index 7013a985..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/ipc.text +++ /dev/null @@ -1,108 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre6/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre6/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre6/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre6/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre6/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre6/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre6/doc/man/cinit.text deleted file mode 100644 index bd9bd0ab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre6/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre6/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre6/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/config-dirs b/software/cinit/browse_source/cinit-0.3pre6/doc/user/config-dirs deleted file mode 100644 index 4a8fbb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/config-dirs +++ /dev/null @@ -1,19 +0,0 @@ -configuring - - /etc/cinit/defaults/panic -> link to something to execute on panic - (most likely /sbin/sulogin) - - /etc/cinit/defaults/tmp -> link to a directory where - the socket should be created, - after finishing boot - - What todo right before halting/rebooting/powering off - /etc/cinit/special/ - -> halt - -> reboot - -> poweroff - -Configuration -------------- - -Send kill signal diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/configuring.cinit.text deleted file mode 100644 index 73dd0cc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/configuring.cinit.text +++ /dev/null @@ -1,285 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read "cinit - Installing" -first. - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start. - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a service exits. - -Cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - -Examples --------- -Currently there are no example configurations available. -As soon as they are, you will be able to download them at -cinit's homepage. - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/current-init-problems.text deleted file mode 100644 index 20e7bf56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/current-init-problems.text +++ /dev/null @@ -1,168 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ - - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/daemons.backgrounding b/software/cinit/browse_source/cinit-0.3pre6/doc/user/daemons.backgrounding deleted file mode 100644 index 4506abee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/daemons.backgrounding +++ /dev/null @@ -1,71 +0,0 @@ --------------------------------------------------------------------------------- -daemons backgrounding, -Nico Schottelius 2005-06-12 (Last Modified: 2005-10-15) --------------------------------------------------------------------------------- - -0. Definition - -A daemon is a program which runs in the background, not having a tty -associated necesserally. Running in background does not mean it has -to background (fork()) itself, but that you cannot control it directly -from a shell. - -1. Daemons and cinit - -Respawning daemons is a bit more difficult, as daemons do often fork() -(go to background, the calling process exits). - -This way cinit cannot watch it directly. - -The first solution is to check the documentation of your daemon program, -if it has a switch to disable forking - -The following daemons / servers are known to avoid backgrounding easily: - - acpid [x86 power management]: -f (undocumentated but works) - apache [webserver]: -DFOREGROUND - asterisk [pbx]: -f - bind [dns server/caching]: -f - cardmgr [pcmcia/cardbus]: -f - cron (vixie) [schedular]: -f - cupsd [printer server]: -f or -F - dhclient [dhcp client]: -d - dhcp3 (isc) [dhcp server]: -f - distccd [compile server]: normal behaviour - fam [file alteration monitor]:-f - fcron [schedular]: -f - frox [ftp proxy]: "NoDetach" in config - gdm [display manager]: -nodaemon - hybrid [irc server]: -foreground - icecast2 [sound streamer]: normal behaviour - mini-lpd [printer server]: normal behaviour - metalog [log server]: normal behaviour - monotone [vcs]: normal behaviour - mpd [music server]: --no-daemon - nessusd ["security server"]: normal behaviour - ntpd [time server]: -n - oidentd [identd server]: -i - oops [http proxy]: normal behaviour - openssh [ssh server]: -D - openvpn [vpn server]: normal behaviour - pbbuttonsd [power management]:normal behaviour - portmap [portmapper]: -f - proftpd [ftp server]: -n - qmail [mta]: normal behaviour - rsync ["file server"]: --no-detach - silcd ["secure chat server"]: -F, --foreground - slapd [ldap]: -d - snmpd [snmp daemon]: -f - svnserve [vcs]: --foreground - syslogd [log server]: -n - syslog-ng [log server]: -F - tcpserver [super server]: normal behaviour - udhcpc [dhcp client]: normal behaviour - vsftpd [ftp server]: normal behaviour (or: config: background=no) - xinetd [super server]: -dontfork - -Those are the daemons that do not offer the possibility (as of release 0.2): - - atd (no switch, no configuraton option) - inetd (some variants) - nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre6/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre6/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/main.text deleted file mode 100644 index 6308e4c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre6/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre6/doc/user/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre6/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre6/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre6/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre6/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre6/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.read-conf deleted file mode 100644 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.release b/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.release deleted file mode 100644 index d8b7c2a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/scripts/cinit.release +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: Fr Okt 28 01:24:58 CEST 2005 - -if [ $# -ne 2 ]; then - echo "This is a maintainer-only script to release cinit" - echo $(basename $0): source-dir version - exit 1 -fi - -cat << eof - Erinnerung: - - - Version in conf/version angepasst? - - Nein? Strg+C bitte... -eof -read a - - -DIR=$1 -VERSION=$2 -OUT_NAME=cinit-${VERSION}.tar.bz2 -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ -LINK=current - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -( cd "$DIR" && make dist ) || exit 1 - -echo "Creating bzip2 compressed tar" -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$DIR" -chmod 0644 "$OUT_NAME" -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$DIR\" \"$LINK\"" -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre6/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre6/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre6/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre6/scripts/report.compile deleted file mode 100644 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre6/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/.configured b/software/cinit/browse_source/cinit-0.3pre6/src/.configured deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/Makefile b/software/cinit/browse_source/cinit-0.3pre6/src/Makefile deleted file mode 100644 index 5e40f54a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/Makefile +++ /dev/null @@ -1,130 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -include Makefile.tests - -# Build tools / locations -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin - -# directories and files -CONFIG_H=include/config.h - -BIN=cinit - -# -# All objects depend on headers. More or less. FIXME: use gcc -M -# -CINIT_HEADERS=$(shell cat include/listing) - -# NEW -CINIT_OBJ=$(shell cat object_lists/cinit) - -# -# Dependencies -# -$(CINIT_OBJ): $(CINIT_HEADERS) - -# -# Client modules -# -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -BOTH=generic/set_signals.o generic/mini_printf.o generic/usage.o - -OBJ=$(SERV) $(SERV_OS) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -CCO_OBJ=util/ccontrol.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -%.o: %.c - $(CC) -c -o $@ $< - -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -#all: $(BIN) -all: cinit - -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -$(CINIT_OBJ): $(CONFIG_H) - - -$(CONFIG_H): ../conf/* - ../scripts/cinit.mkheader > $(CONFIG_H) - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# -cinit: $(CINIT_OBJ) - $(LD) $^ -o $@ - -################################################################################ -# -# Generic targets -# - -.PHONY: dist -dist: distclean - -.PHONY: distclean -distclean: clean - rm -f os/current ipc/current - -.PHONY: clean -clean: - rm -f ../tmpbin/*.configured - rm -f $(BIN) diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre6/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre6/src/ancient/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ancient/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre6/src/core/build_argv.c deleted file mode 100644 index 85238d47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/core/build_argv.c +++ /dev/null @@ -1,170 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "cinit.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX+1]; - char *sbuf = NULL; - char *p; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - mini_printf("CBA::",1); - mini_printf(basename,1); - mini_printf("\n",1); - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename,pathtmp,PATH_MAX)) == -1) { - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - /* FIXME check bounds! */ - strcpy(pathtmp,basename); - strcat(pathtmp,C_PARAMS); - /* ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL - * ORC_OK: Ok, have a filled buffer (perhaps NULL, too) - * other: Error, print errno - */ - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p+1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,basename); - strcat(pathtmp,C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - sbuf = p+1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre6/src/core/cinit.c deleted file mode 100644 index d2e48e95..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/core/cinit.c +++ /dev/null @@ -1,90 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "cinit.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; - -int main(int argc, char **argv) -{ - char *initdir; -// pid_t cpid; - - initdir = CINIT_INIT; /* default init dir */ - - /* FIXME: RE-ENABLE as SOON AS PRODUCTIVE cpid = getpid(); - * Is this really needed or should we lock() ourselves? - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - set_signals(ACT_SERV); - - /* Look whether we should start a profile */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_SVCDIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* FIXME: do we really need three calls? */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* pre-calculate service tree */ - gen_svc_tree(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* start tree from the bottom */ - if(!tree_exec(svc_init)) return 1; - - mini_printf("=> cinit started.\n",1); - - /* listen for incomming messages: should never return */ - if(!cinit_ipc_listen()) { - panic(); - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre6/src/core/do_reboot.c deleted file mode 100644 index 99be5746..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/core/do_reboot.c +++ /dev/null @@ -1,74 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "ipc.h" -#include "cinit.h" -#include "os.h" -#include "messages.h" - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - struct timespec ts; - //char **cmd; - //int i; - - /* shutdown all services: take care about the dependency tree */ - - /* do not listen to client requests anymore - * FIXME: perhaps before shutdown? */ - cinit_ipc_destroy(); - - /* now: all services are down, let's kill all other processes */ - if( kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - /* FIXME make SLEEP_KILL an optional configuration statement */ - ts.tv_sec = SLEEP_KILL; /* defined in conf/sleep_kill */ - ts.tv_nsec = 0; - nanosleep(&ts,NULL); - - if( kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* execute umount, as defined in conf/umount */ - - /* execute_sth(CINIT_UMOUNT); */ - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/core/objects b/software/cinit/browse_source/cinit-0.3pre6/src/core/objects deleted file mode 100644 index 9596d171..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/core/objects +++ /dev/null @@ -1,7 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/run_init_svc.o -core/set_signals.o -core/do_reboot.o -core/sig_child.o diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre6/src/core/panic.c deleted file mode 100644 index 2c4d8213..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/core/panic.c +++ /dev/null @@ -1,30 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include "cinit.h" -#include - -void panic(void) -{ - char *nargv[2]; - - execute_sth(CINIT_PANIC); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - execv(SULOGIN,nargv); - - /* there's nothing todo, if everything fails */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/core/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre6/src/core/run_init_svc.c deleted file mode 100644 index b613ed6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/core/run_init_svc.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/core/run_svc.c b/software/cinit/browse_source/cinit-0.3pre6/src/core/run_svc.c deleted file mode 100644 index 95cc324d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/core/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre6/src/core/set_signals.c deleted file mode 100644 index fc744794..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/core/set_signals.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006-2006 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include /* sigaction */ -#include /* NULL */ -#include "cinit.h" /* defines */ - -void set_signals(int action) -{ - struct sigaction sa; - - if(action == ACT_SERV) { - sa.sa_handler=sig_child; - } else { - sa.sa_handler=SIG_DFL; - } - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - if(action == ACT_SERV) { - sa.sa_handler=do_reboot; - } - sigaction(SIGHUP,&sa,NULL); /* reboot */ - sigaction(SIGTERM,&sa,NULL); /* poweroff */ - sigaction(SIGUSR1,&sa,NULL); /* halt */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre6/src/core/sig_child.c deleted file mode 100644 index c31be094..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/core/sig_child.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The child handler - * - */ - -#include /* FIXME: check headers (->Posix!) */ -#include -#include /* NULL */ - -#include /* sigaction */ -#include "cinit.h" /* */ -#include "svc.h" /* list_search_pid */ -#include "messages.h" /* messages */ - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - /* New code: - * - search for pid in service list - * * if (respawn) -> start new - * - insert delay? if exit code is non-zero? if uptime too less? - * * if (once) -> update service status - * * else ignore, but reap away - */ - struct listitem *svc; - struct sigaction sa; - - /* do not interrupt us or anything we might call */ - sa.sa_handler = SIG_IGN; - sigaction(SIGCHLD,&sa,NULL); - - while((tmp = waitpid(-1, &tmp, WNOHANG)) > 0) { - /* check if it's a watched child */ - svc = list_search_pid((pid_t) tmp); - - if(svc != NULL) { - /* Check, that we are operating on it =. that it is no normal child */ - if(svc->status & ST_ONCE_RUN - || svc->status & ST_SH_RESPAWN - || svc->status & ST_RESPAWNING) { - if(WIFEXITED(tmp) && !WEXITSTATUS(tmp)) { - svc_success(svc); - svc_report_status(svc->abs_path,MSG_SVC_OK,NULL); - } else { - svc_fail(svc); - svc_report_status(svc->abs_path,MSG_SVC_FAIL,NULL); - } - } - - /* respawn: restart */ - if(svc->status == ST_RESPAWNING) { - svc_report_status(svc->abs_path,MSG_SVC_RESTART,NULL); - svc_start(svc); - } - } else { - /* FIXME remove in production version */ - mini_printf("Cleanup: reparenting\n",1); - } - } - - sa.sa_handler = sig_child; - sigaction(SIGCHLD,&sa,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre6/src/generic/execute_sth.c deleted file mode 100644 index 7eea8d52..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/generic/execute_sth.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ -#include "cinit.h" -#include "build_argv.h" - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - mini_printf("ES::",1); - mini_printf(basename,1); - mini_printf("\n",1); - - tmp = cinit_build_argv(basename,&bav); - if((tmp = cinit_build_argv(basename,&bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - execve((bav.argv)[0],bav.argv,bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for cinit to recognize - it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre6/src/generic/file_exists.c deleted file mode 100644 index 4327c715..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/generic/file_exists.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* FIXME: check headers against posix */ -#include -#include - -#include /* errno */ -#include "cinit.h" - -int file_exists(char *filename) -{ - struct stat buf; - - if(stat(filename,&buf) == -1) { - if(errno == ENOENT) { - return FE_NOT; - } else { - print_errno(filename); - return FE_ERR; - } - } else { - if(!S_ISREG(buf.st_mode)) { - return FE_OTHER; - } - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre6/src/generic/mini_printf.c deleted file mode 100644 index b3139349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while ( *p ) p++; - - write(fd,str,(size_t) (p - str) ); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/generic/objects b/software/cinit/browse_source/cinit-0.3pre6/src/generic/objects deleted file mode 100644 index f22ea6fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/generic/objects +++ /dev/null @@ -1,7 +0,0 @@ -generic/execute_sth.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre6/src/generic/openreadclose.c deleted file mode 100644 index 63d8cf47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/generic/openreadclose.c +++ /dev/null @@ -1,71 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "cinit.h" - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - mini_printf("ORC:",1); - mini_printf(filename,1); - mini_printf("\n",1); - *where = NULL; - - while((fd = open(filename,O_RDONLY)) == -1) { - if(errno == ENOENT) return ORC_ERR_NONEXISTENT; - if(errno != EINTR) return ORC_ERR_OPEN; - } - - cnt = 0; - while (1) { - tmp = read(fd,buf,512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where,cnt + 1); - if(*where == NULL) return ORC_ERR_MEM; - - /* FIXME check correctness of copied buffer... - * and get some sleep..soon, very soon! */ - strncpy(&(*where)[cnt-tmp],buf,tmp); - mini_printf("ORC: ",1); - mini_printf(buf,1); - mini_printf("\n",1); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) continue; - return ORC_ERR_CLOSE; - } - - /* terminate string! */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre6/src/generic/path_absolute.c deleted file mode 100644 index 691a3a38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "cinit.h" /* print_errno */ -#include "messages.h" /* print_errno */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre6/src/generic/path_append.c deleted file mode 100644 index c6617ba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/generic/path_append.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre6/src/generic/print_errno.c deleted file mode 100644 index 7415d556..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre6/src/generic/strip_final_newline.c deleted file mode 100644 index d9c12f05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/generic/strip_final_newline.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ -#include "cinit.h" /* FIXME debug */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) { - mini_printf("SFN: NULL\n",1); - return NULL; - } - - p = strrchr(str,'\n'); - if(p) { - if(*(p+1) == '\0') { - str = realloc(str,(p-str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre6/src/generic/usage.c deleted file mode 100644 index 87d62c73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/generic/usage.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * - */ - -#include -#include "cinit.h" - -/*********************************************************************** - * usage: tell the user what's wrong and a help text - */ -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre6/src/include/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/include/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre6/src/include/cinit.h deleted file mode 100644 index 80289acd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/include/cinit.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_H -#define _CINIT_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, - ORC_ERR_NONEXISTENT, - ORC_ERR_OPEN, - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_UMOUNT CINIT_CONFDIR SLASH C_UMOUNT - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* core functions */ -void do_reboot(int signal); -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* generic */ -void execute_sth(char *basename); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); - -/* util */ -int msg_reboot(char cmd); -void print_errno(char *text); - -/* os-functions */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - -#endif /* _CINIT_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/include/comm.h b/software/cinit/browse_source/cinit-0.3pre6/src/include/comm.h deleted file mode 100644 index b9aaf60f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/include/comm.h +++ /dev/null @@ -1,69 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_START_SVC=1, /* the client wants US to start a service */ - CMD_START_SVC_ONLY, /* start this service without dependencies */ - CMD_STOP_SVC, /* stop svc and all svcs that need it */ - CMD_STOP_SVC_ONLY, /* we should stop _only_ this service */ - CMD_STOP_SVC_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ - CMD_RESCUE, /* we should start the rescue mode */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ - CMD_INFO /* send information about that service */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre6/src/include/ipc.h deleted file mode 100644 index 66b3bc86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/include/ipc.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init (client init) */ -int cinit_ipc_connect(void); /* connect to init */ -int cinit_ipc_csend(void *data); /* send to the server from a client */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/include/listing b/software/cinit/browse_source/cinit-0.3pre6/src/include/listing deleted file mode 100644 index df30f408..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/include/listing +++ /dev/null @@ -1,5 +0,0 @@ -include/cinit.h -include/config.h -include/ipc.h -include/messages.h -include/os.h diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre6/src/include/messages.h deleted file mode 100644 index e74d5b0a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/include/messages.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -/* Messages to the outside */ -#define MSG_BIND "bind" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_KILLBILL "sigkill" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_TERMKILL "sigterm" -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_START_SVC "Starting " -#define MSG_STOP_SVC "Stoping " -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_POWER_OFF "Powering off..." -#define MSG_HALT "Halting system ..." -#define MSG_REBOOT "Rebooting ..." -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ -#define MSG_INTRO_OK "[SUCCESS] " -#define MSG_INTRO_FAIL "[FAILED] " -#define MSG_INTRO_CINIT "[CINIT] " -#define MSG_INTRO_RESPAWN "[RESPAWN] " -#define MSG_INTRO_SVC "[SERVICE] " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" -#define MSG_SVC_OK MSG_INTRO_OK "Service successfully executed." -#define MSG_SVC_RESTART MSG_INTRO_RESPAWN "Restarting service." -#define MSG_SVC_START "Starting service." - -#define MSG_TREE_EXEC MSG_INTRO_CINIT "Execution of reverse service tree\n" -//#define MSG_GEN_TREE MSG_INTRO_CINIT "Generating service tree...\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre6/src/include/os.h deleted file mode 100644 index e36d5a8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/include/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre6/src/include/svc.h deleted file mode 100644 index d7459be7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/include/svc.h +++ /dev/null @@ -1,128 +0,0 @@ -/*********************************************************************** - * - * 2006,2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - - -#ifndef _CINIT_SVC_H -#define _CINIT_SVC_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char *abs_path; /* name of service */ - long int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - - - struct dep *wanted; /* list of services that want this service */ - struct dep *needed; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *svc_init; /* the services to start */ -extern struct listitem *svc_list; /* the list of services */ - -/* list functions */ -struct listitem *list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); -int list_display_all(); - - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -int svc_set_status(struct listitem *li, int status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void svc_start(struct listitem *li); - - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -/*********************************************************************** - * status of a service and return codes - errors and success - */ -enum svc_status_old { - ST_TMPNOW=1, /* the client is now starting the service NEEDED??? */ - ST_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - - ST_OFF, /* service is off */ - ST_OFF_ALL, /* service and those that need it are off */ - ST_OFF_ALL_F, /* same, but something failed */ - ST_OFF_WANTS, /* service + those that need or want it are off */ - ST_OFF_WANTS_F, /* same, but something failed */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ -}; - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum svc_status { - /* first define basics */ - ST_SH_ONCE = 0x1, /* service SHould be started once */ - ST_SH_RESPAWN = 0x2, /* service SHould respawn */ - ST_ONCE_OK = 0x4, /* service was successfully started once */ - ST_ONCE_FAIL = 0x8, /* service failed to start */ - ST_RESPAWNING = 0x10, /* service is respawning */ - ST_NEED_FAILD = 0x20, /* this service is not started, need failed */ - ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - ST_ONCE_RUN = 0x100 /* the once process is currently running */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum svc_needs_status { - SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - SNS_NEEDS_FAILED, /* one ore more needs failed */ - SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_connect.c b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_connect.c deleted file mode 100644 index a744980c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_connect.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel */ - k_in = ftok(IPC_KEY,IPC_IN); - k_out = ftok(IPC_KEY,IPC_OUT); - - if(k_in == -1 || k_out == -1) { - perror("ftok"); - exit(1); - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - perror("msgget"); - exit(1); - } - - /* wrong tabsto ;-) */ -while (1) { - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror("msgrcv"); - exit(1); - } - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_csend.c b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_csend.c deleted file mode 100644 index 43a0012f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_csend.c +++ /dev/null @@ -1,62 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(IPC_KEY,IPC_OUT); - k_out = ftok(IPC_KEY,IPC_IN); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 299885c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ - -#include "msgq.h" /* mq_in, mq_out */ -#include "cinit.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(mq_in,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(mq_out,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index 9ae072a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* msgget */ - -#include "cinit.h" -#include "config.h" -#include "msgq.h" - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_in = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_in == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* to_client */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - if(k_tmp == -1) { - perror(MSG_MSGQ_FTOK); - return 0; - } - mq_out = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_out == -1) { - perror(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index d21e561e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,47 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* perror */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - - struct msg_client m_client; - - while (1) { - /* FIXME: change msg structure */ - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror(MSG_MSGQ_MSGRCV); - } - - printf("pid: %d, m_client\n",m_client.pid); - - /* use pid as the message type - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - return 0; - } */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_logoff.c b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_logoff.c deleted file mode 100644 index a744980c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_logoff.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - key_t k_in, k_out; - int mq_in = 0, mq_out = 0; - int tmp = 0; - - struct msg_client m_client; - struct msg_server m_serv; - - /* generiere nen schluessel */ - k_in = ftok(IPC_KEY,IPC_IN); - k_out = ftok(IPC_KEY,IPC_OUT); - - if(k_in == -1 || k_out == -1) { - perror("ftok"); - exit(1); - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - perror("msgget"); - exit(1); - } - - /* wrong tabsto ;-) */ -while (1) { - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - perror("msgrcv"); - exit(1); - } - - printf("pid: %d, m_client: %s\n",m_client.pid,m_client.text); - - /* use pid as the message type */ - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - exit(1); - } -} /* while */ - - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index 08c0e252..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "cinit.h" /* print_errno */ -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - key_t k_in, k_out; /* FIXME: remove one variable */ - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - k_out = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_sclose.c b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_sclose.c deleted file mode 100644 index 69165e4d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/cinit_ipc_sclose.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Close the ressources from the server, clean state for forks. - * - */ - -int cinit_ipc_sclose(void) -{ - return 1; /* nothing to do when using message queues */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/msgq.h deleted file mode 100644 index 01c6e769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * part of cinit - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define MSGQ_TO_SERVER 'i' /* also for ftok */ -#define MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables - */ -int mq_in; /* input */ -int mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_FTOK "ftok" -#define MSG_MSGQ_MSGGET "msgget" -#define MSG_MSGQ_MSGRCV "msgrcv" -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre6/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre6/src/object_lists/cinit deleted file mode 100644 index 544f267f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/object_lists/cinit +++ /dev/null @@ -1,50 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/run_init_svc.o -core/set_signals.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/list_delete.o -svc/list_display_all.o -svc/list_insert.o -svc/list_modify.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_start.o -svc/svc_fail.o diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre6/src/os/freebsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre6/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre6/src/os/freebsd/poweroff.c deleted file mode 100644 index 61e5ef5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre6/src/os/freebsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre6/src/os/linux/halt.c deleted file mode 100644 index 0ecf8ced..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre6/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre6/src/os/linux/poweroff.c deleted file mode 100644 index 5f503678..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre6/src/os/linux/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre6/src/os/openbsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre6/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre6/src/os/openbsd/poweroff.c deleted file mode 100644 index 45168122..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre6/src/os/openbsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/check_add_deps.c deleted file mode 100644 index a32a0fe7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/check_add_deps.c +++ /dev/null @@ -1,127 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers, check: - * getcwd */ -#include - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "cinit.h" /* mini_printf */ -#include "messages.h" -#include "svc.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - mini_printf("CAD::",1); - mini_printf(svc->abs_path,1); - mini_printf("\n",1); - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf,C_NEEDS)) return 0; - } else { - if(!path_append(buf,C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent=readdir(d_tmp))!=NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* skip non-working directories / broken links - * path_absolute reports errors on failure */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - dep_entry_add(&(new_svc->needed),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs),deps); - } else { - dep_entry_add(&(new_svc->wanted),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants),deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/dep_create.c deleted file mode 100644 index 691d66b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/dep_create.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/dep_entry_add.c deleted file mode 100644 index abdce146..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/dep_entry_add.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(*deplist == NULL) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/dep_entry_del.c deleted file mode 100644 index fd9fbab6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/dep_entry_del.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc.h" - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* last service in the list */ - if(del->next == del && del->prev == del) { - tmp=NULL; - } else { - /* remove from list */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/dep_needs_wants_add.c deleted file mode 100644 index b7afb02b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,64 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ -#include "svc.h" - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed; - } else { - end = svc->wanted; - } - - /* Place to the first dependency of this service */ - tmp = end; - if(tmp != NULL) { - do { - /* Add service to the starter list, which - * - should be started once - * - should be respawned (both VIRGIN services!) - * - and which are not already in the list! - */ - if(((tmp->svc->status & ST_SH_ONCE) || - (tmp->svc->status & ST_SH_RESPAWN)) && - !(tmp->svc->status & ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= ST_IN_LIST; - dep_entry_add(list,new); - } - /* FIXME: Clearify if we should go forward or backwards? - * this decision will influence starting order - * and may thereby add a minimal mount of speed enhancement - * - * As far as I can see it is not predictable, which way is - * better, because it heavily depends on the other services. - * - * If you know better, provide me with a patch ;-) - */ - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/gen_svc_tree.c deleted file mode 100644 index 65f4028f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include -#include "cinit.h" -#include "svc.h" - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li=list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return NULL; - - if(!check_add_deps(li,DEP_NEEDS)) return NULL; - if(!check_add_deps(li,DEP_WANTS)) return NULL; - - /* no dependencies? then you are a start service */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&svc_init,deps); - - /* Mark it as being in the startup list, so it does not - * get added again in a dep_needs_wants_add call */ - li->status |= ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_delete.c deleted file mode 100644 index 10a7e218..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_delete.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "svc.h" - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - free(tmp->abs_path); - free(tmp); - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_display_all.c deleted file mode 100644 index 65c7b3a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_display_all.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ -#include "cinit.h" -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if( svc_list == NULL ) { - return 0; - } else { - tmp = svc_list; - } - - do { - mini_printf("Service: ",1); - mini_printf(tmp->abs_path,1); - mini_printf("\n",1); - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_insert.c deleted file mode 100644 index f31d4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_insert.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* malloc */ -#include /* bzero / memset */ -#include "svc.h" /* the list pointer */ - -struct listitem *list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset( tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) return NULL; - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_modify.c deleted file mode 100644 index 4a93c41c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_modify.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - -// D_PRINTF(path); - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_search.c deleted file mode 100644 index b40fae23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_search.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "cinit.h" -#include "svc.h" - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_search_pid.c deleted file mode 100644 index f8731bec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/list_search_pid.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Search by pid - */ - -#include /* NULL */ -#include /* pid_t */ -#include "svc.h" /* struct listitem */ - -struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return NULL; - } else { - tmp = svc_list; - } - - do { - if(pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/objects b/software/cinit/browse_source/cinit-0.3pre6/src/svc/objects deleted file mode 100644 index cf0ee36b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/objects +++ /dev/null @@ -1,21 +0,0 @@ -svc/gen_svc_tree.o -svc/list_delete.o -svc/list_display_all.o -svc/list_insert.o -svc/list_modify.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_start.o -svc/svc_fail.o diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_add_needs.c deleted file mode 100644 index cc03727d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_add_needs.c +++ /dev/null @@ -1,67 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -//#include -//#include -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_create.c deleted file mode 100644 index 85f3d940..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_create.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* strcpy */ -#include /* stat */ -#include /* stat */ -#include /* PATH_MAX */ -#include /* errno */ -#include "svc.h" /* listitem */ -#include "cinit.h" /* path_append */ - -/* checking for existence is done before! */ -/* FIXME: check heedars for conformance with POSIX */ -struct listitem *svc_create(char *svc) -{ - char buf[PATH_MAX+1]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc,-1); - if(!li) return NULL; - - /* FIXME: add two path length checks? svc and svc+strlen(C_RESPAWN)? */ - strcpy(buf,svc); - if(!path_append(buf,C_RESPAWN)) return NULL; - - if(stat(buf,&statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li,ST_SH_ONCE); - } else { - return NULL; - } - } else { - mini_printf("respawn: ",1); - mini_printf(li->abs_path,1); - mini_printf("\n",1); - svc_set_status(li,ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_fail.c deleted file mode 100644 index 7c150c85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_fail.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Mark the service as being failed - */ - -#include "svc.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) - li->status = ST_ONCE_FAIL; - else { - /* FIXME: do something senseful, record time of dead? */ - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_needs_status.c deleted file mode 100644 index d9d54a81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_needs_status.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return status of the needs of this service - */ - -#include /* NULL */ -#include "svc.h" /* service information */ - -// DEBUG #include "cinit.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - -/* DEBUG mini_printf("sns: ",1); - mini_printf(svc->abs_path,1); - mini_printf("\n",1); */ - - if(deps == NULL) return SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* worst case: need failed */ - if((deps->svc->status & ST_NEED_FAILD) || - (deps->svc->status & ST_ONCE_FAIL)) { - retval = SNS_NEEDS_FAILED; - break; - } - /* services are being started */ - if((deps->svc->status & ST_SH_ONCE) || - (deps->svc->status & ST_SH_RESPAWN)) { - retval = SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_report_status.c deleted file mode 100644 index 4cc1edf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_report_status.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Tell the world what happened to the service - */ - -#include "cinit.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC,1); - mini_printf(svc,1); - mini_printf(": ",1); - mini_printf(msg,1); - if(err) { - mini_printf(" (",1); - mini_printf(err,1); - mini_printf(")",1); - } - mini_printf("\n",1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_respawn_check.c deleted file mode 100644 index 2ed44de8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX+1]; - - strcpy(buf,svc->abs_path); - if(!path_append(buf,C_RESPAWN)) return 0 -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_set_status.c deleted file mode 100644 index 36b61795..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_set_status.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_set_status(struct listitem *li, int status) -{ - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_should_respawn.c deleted file mode 100644 index 1c401024..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return whether should respawn or not - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_start.c deleted file mode 100644 index a631bc9a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_start.c +++ /dev/null @@ -1,68 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include "svc.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "cinit.h" /* execute_sth */ - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li) -{ - char buf[PATH_MAX+1]; - - /* FIXME: All cleanup must go here - * close(fds); - * reset signals - * reset env? - * - * FIXME: Add logging possibility to here - * open (0,1,2) to other processes, if specified */ - li->pid = fork(); - - if(li->pid < 0) { - svc_report_status(li->abs_path,MSG_SVC_FORK,strerror(errno)); - svc_set_status(li,ST_BAD_ERR); - return; - } - if(li->pid > 0) { - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_RUN; - else - li->status = ST_RESPAWNING; - return; - } - - /********************** Client / fork() ************************/ - svc_report_status(li->abs_path,MSG_SVC_START,NULL); - - /* length check is done by path_append */ - strcpy(buf,li->abs_path); - if(!path_append(buf,C_ON)) return; - - /* Check for existence */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) _exit(0); /* nothing there? fine! */ - - if(li->status == FE_FILE) { - /* FIXME: reset signals: Is this necessary? Or does fork clean it anyway? */ - set_signals(ACT_CLIENT); - - /* and now, fire it up */ - execute_sth(buf); - } else { - /* either no file or an error */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_success.c deleted file mode 100644 index bc1d0721..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/svc_success.c +++ /dev/null @@ -1,18 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -void svc_success(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) - li->status = ST_ONCE_OK; - else - li->status = ST_RESPAWNING; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre6/src/svc/tree_exec.c deleted file mode 100644 index 88c80083..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/svc/tree_exec.c +++ /dev/null @@ -1,65 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - -#include /* NULL */ -#include "cinit.h" /* mini_printf */ -#include "svc.h" /* svc_init */ -#include "messages.h" /* messages */ - -/* some thoughts... - * - * - we already generated the tree, we now need to start it from - * the ends - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - - mini_printf(MSG_TREE_EXEC,1); - - /* the main starting loop: All services in this list should be - * started, but it is possible that dependent services are in the - * list. In this case simply skip the current service - */ - do { - switch(svc_needs_status(tmp->svc)) { - case SNS_NEEDS_STARTED: - /* execute service, add dependencies, remowe from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_FAILED: - /* mark service as NEED_FAILD and delete from list */ - svc_report_status(tmp->svc->abs_path,MSG_SVC_NEED_FAIL,NULL); - svc_set_status(tmp->svc,ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_UNFINISHED: - /* continue with the next item */ - tmp = tmp->next; - break; - } - - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre6/src/test/test_build_argv+link.c deleted file mode 100644 index e37169fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre6/src/test/test_build_argv.c deleted file mode 100644 index 0b2678be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre6/src/test/test_gen_svc_tree.c deleted file mode 100644 index 93ad54ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre6/src/test/test_openreadclose.c deleted file mode 100644 index 2f722da5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file,&data); - - printf("%s\n",data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre6/util/README b/software/cinit/browse_source/cinit-0.3pre6/util/README deleted file mode 100644 index 782cdc8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/util/README +++ /dev/null @@ -1,2 +0,0 @@ -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre6/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre6/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre6/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre6/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre6/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre6/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre6/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre7/ b/software/cinit/browse_source/cinit-0.3pre7/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre7/.exclude b/software/cinit/browse_source/cinit-0.3pre7/.exclude deleted file mode 100644 index 1a2d31e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/.exclude +++ /dev/null @@ -1,2 +0,0 @@ -tmp -.git diff --git a/software/cinit/browse_source/cinit-0.3pre7/.gitignore b/software/cinit/browse_source/cinit-0.3pre7/.gitignore deleted file mode 100644 index 6d4d9d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/.gitignore +++ /dev/null @@ -1,18 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -doc/*/*.html -doc/*/*.htm -doc/*/*.man -doc/*/*.texi diff --git a/software/cinit/browse_source/cinit-0.3pre7/CHANGES b/software/cinit/browse_source/cinit-0.3pre7/CHANGES deleted file mode 100644 index b51636b2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/CHANGES +++ /dev/null @@ -1,58 +0,0 @@ -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre7/COPYING b/software/cinit/browse_source/cinit-0.3pre7/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre7/CREDITS b/software/cinit/browse_source/cinit-0.3pre7/CREDITS deleted file mode 100644 index b009a48c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/CREDITS +++ /dev/null @@ -1,23 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: 2005-09-25) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding diff --git a/software/cinit/browse_source/cinit-0.3pre7/Changelog b/software/cinit/browse_source/cinit-0.3pre7/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre7/Makefile b/software/cinit/browse_source/cinit-0.3pre7/Makefile deleted file mode 100644 index 8c8381a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/Makefile +++ /dev/null @@ -1,103 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation sizecheck - -install clean dist distclean: - @for subdir in $(CDIRS); do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && $(MAKE) $(MAKEFLAGS) $@); \ - done; - -.PHONY: sources -sources: - $(MAKE) -C src all - -.PHONY: documentation -documentation: - $(MAKE) -C doc documentation - -sizecheck: sources - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $$FILE; cat $$FILE; \ - cg-add $$FILE - -source-size: clean - @echo -n "Source size (in KiB): " - @du -s src/ | awk '{ sum+=$$1 } END { print sum }' - - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - - -################################################################################ -# Tests -# -tests: - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -################################################################################ -# old -#DDOC=ddoc -#SDIRS=bin client conf comm doc generic serv util -# DO NOT CHANGE THIS. -#SBIN=sbin -#CINIT_BIN=$(SBIN)/cinit -# -#%.o: %.c -# $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< -#$(DDOC): -# mkdir $(DDOC) -# -#$(SBIN): -# mkdir $(SBIN) -# -#docs: $(DDOC) bin/cdoc-man.sh -# ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 -# ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 -#$(CSVC_OBJ) $(OBJ): $(CONFIG_H) -#clean: -# $(MAKE) -C src clean -# rm -f tmpbin/* -################################################################################ -#cservice: $(SBIN)/cservice -# -#$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) -# $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ -# $(STRIP) $@ -# -#ccontrol: $(SBIN)/ccontrol -# -#$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) -# $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ -# $(STRIP) $@ -# -#install:: install-dir cinit cservice ccontrol -# @echo '*** Installing cinit ***' -# ./bin/cinit.install.binary diff --git a/software/cinit/browse_source/cinit-0.3pre7/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre7/NEXTTODO deleted file mode 100644 index 8b0c1a72..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/NEXTTODO +++ /dev/null @@ -1,2 +0,0 @@ -- create uml instance, create some boot profiles -- cinit.install.standard.dirs.argv diff --git a/software/cinit/browse_source/cinit-0.3pre7/README b/software/cinit/browse_source/cinit-0.3pre7/README deleted file mode 100644 index 00f2651b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/README +++ /dev/null @@ -1,106 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Unix -- true dependencies (soft and hard!) -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -FIXME: Add mailing list here - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre7/ROADMAP b/software/cinit/browse_source/cinit-0.3pre7/ROADMAP deleted file mode 100644 index b26ccb36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/ROADMAP +++ /dev/null @@ -1,117 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers - code: cleanup makefile - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. - code: add special directory (/etc/cinit/special?) for os specific binaries - -> halt, poweroff, reboot (NOTHING MORE THEY CAN DO) - -> SHOULD NOT BE IN THE PATH - code: move production code to src/ - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre7/TODO b/software/cinit/browse_source/cinit-0.3pre7/TODO deleted file mode 100644 index e9e9f47a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/TODO +++ /dev/null @@ -1,339 +0,0 @@ --------------------------------------------------------------------------------- -define coding guidelines - -> general, with url? --------------------------------------------------------------------------------- -- define how it should work (doc/braindums/big-picture.text) -- define service status in one document, so repeatition stops! --------------------------------------------------------------------------------- -- rename headers/ -> includes/ -- remove client/ from top level --------------------------------------------------------------------------------- -Generate automatic asciidoc from conf/* --------------------------------------------------------------------------------- -Add handler for ctrl+alt+delete - * document in paths --------------------------------------------------------------------------------- -pre-compile config: conf/* - --------------------------------------------------------------------------------- -comm: - tmpnow: search for pid in list, - save the pid in the list, so we know whether our executer died! --------------------------------------------------------------------------------- -Logging / cinit: - fuer unsere eigenen ausgaben auch multilog? - - Logger: shared memory? --------------------------------------------------------------------------------- - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s - - Rekursives herunter/rauffahren --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary -- cleanup serv/sig_reboot.c:7: - o implement os-specific reboot function --------------------------------------------------------------------------------- -1. Entfernung mount - -> Example configuration - -> was man alles machen muss --------------------------------------------------------------------------------- -- add code do implement stopping / restarting with dependency tree --------------------------------------------------------------------------------- -Documentation: - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring --------------------------------------------------------------------------------- -Check whether we also get notified about stopped children, if so, ignore. --------------------------------------------------------------------------------- -- perhaps use dnotify? -- recheck warm reboot -- fix cservice -- print service name or cinit: before _everything_ WE print - -TESTING: - - is the reporting ok? - - does cservice and ccontrol what's expected? - -# cinit.create.empty.service: can only be started from the bin directory - -- compile cinit static and other tools dynamically per default - -- Fix Switching services off !! -- Remove RUN_RUN_SVCs, move code to run_svc so one can determine which - services failed? - --> sequentieller ablauf! - --> parallel ablauf, struct-array mit namen und ergebnis? - --> for dep in deps/*; do fork(run_svc() ); done - -----> while(any_is_running) { sleep } - -------> array durchsuchen, ergebnis nutzen. - - ueberpruefen von wo aus run_svc() aufgerufen wird - -- do not kill respawing service, if off exists -- ccontrol -- manpages -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren - - -- on.out, on.err, on.in? - -> reading/writing from/to files - -- implement "no_kill" until cinit-0.2 or 0.3? - - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) - - memset for timespecs? - - move umount, swapoff and remount to off of init? - -> cleanup sig_reboot.c --------------------------------------------------------------------------------- -- Documentation - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml --------------------------------------------------------------------------------- -[OLD BUGS] -- execve() fails -> no sleep!! -- cservice! - - prozess nur einmal -> WARTET! cinit auch! -doku: - cservice einmal starten -> wartet auf ende - cint ersetzt init bei gentoo - an error occuerd-> verbose - -possible BUGS: - -[14:44] freelsd:cinit-0.2.2% ./sbin/cservice -e ein - -ein: No such file or directory -Bad address -: Service does not exist - -/etc/cinit/specials/... rein - - ---> cinit-0.3-rc1 --------------------------------------------------------------------------------- -Helper scripts, rausgenommen aus Der Doku, muessen fuer -cinit-0.3 ueberprueft werden: - -Configure help scripts -~~~~~~~~~~~~~~~~~~~~~~ -cinit-conf later -Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? - -Documentation -------------- - -developer -~~~~~~~~~ -- ST_IN_LIST == startup marker, used to (NOT) insert services into startup -- dep_needs_wants_add is used to add dependencies of a service to the general - starter list - - -user ----- -- do we really need swapoff? remove umount, swapoff! - * to services! -- dependencies with leading '.' (dot) are ignored. -- about cinit-configuration structure - * cconfig - * svc/ - * special/ (or however we called it) - - panic - - halt - - poweroff - - reboot - --------------------------------------------------------------------------------- -Doc ---- -Doku!!! -- MANPAGE! - -FAQ -~~~ -- DOKU: what happens when a service does not terminate.... - und er als once drin ist ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! - -- multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - --------------------------------------------------------------------------------- -csvc: -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -cinit: -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! - -Child handlin -~~~~~~~~~~~~~g -- free() everything before starting child - -Later -~~~~~ - -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? - -> yep, clean environment! -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- -- Doc - * main.text -> cleanup / remove / split - * config-dirs - * FAQ - * ideas - * meta.dependencies - - config/hints/meta depps - * optimising - - integrate into other - * README.text - - update - * replacing.init - - update / integrate - * special-services.text - - into configuring/hints? - * TODO - - into paths, if necessary - * updating.cinit - - update as soon as update is possible? - * using.rescue - - update as soon as update is possible? - * 'os-integration.text' - * 'daemons.backgrounding' - * There are some hints on how to migrate to cinit in general and also - some os specific help in the file 'migrating-init-systems.text', -- CODECHECK: - * what happens with the wants of the last services? - - are they added? - - are they added at the correct position? -- scripts - * `cinit.check.config` (doc/user/configuring.cinit.text) - -> circular depedencies! -- Doc.next: - - installing: report! - -> write report script. -- Doc later - * current-init-problems.text - - current-init-problems.text explains why cinit does not use nor recommends the use of shell scripts. - * special-services.text - -- Begin documentation - * Check Makefile - * Integrate Makefile into main Makefile - * create manpage - * Write a small manual - - install - - configure - - boot (different OS) - * generate asciidoc! -- report broken links in needs/wants -- Doc way: - * installing - * configuring - - testconfig! - * booting - - different OS / bootloader - * debugging -- Shutdomn code: - * begin at init, then shutdown wants/needs, ... -- check free on dep_del! -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- implement do_reboot() - * so not only booting with cinit works, but also the shutdown -- define messages - a) human readable - b) binary data? -- replace cinit_ipc_logon with cinit_ipc_init... - * delay ipc code -> after start! -- Remove old code - * remove run_svc - * remove run_init_svc - -Finally: -- test and release cinit-0.3rc1 - -- Cleanup object lists - object-lists/ - cinit - cservice - ccontrol - cinit.halt - cinit.reboot - cinit.shutdown (shell script?!?) - -TODO.pre7: - - Done: - check cinit_ipc_destroy - - Segfault, when there is only init -> problem in glibc2.3.6 - - Added general shutdown support (via kill -TERM, -HUP, -USR1) - - write sleep_before_kill - reads config, sleeps - Tests: - - test reboot functionality - -> kill -X 1 - -> what happens? - -TODO.pre8: - remove old object listings - take care of ipc/ and os/ - merge codingstyle and codingguide - double check all initialisations! - Use sa.mask in sigaction! - - Document the define of the following: - conf/umount = called before all shutdown procedures - - - test sleep code (sleep_before_kill()) - - do_reboot.c: - write cinit_svc_shutdown - -TODO.pre9: - include locking via shm, remove test on pid1 diff --git a/software/cinit/browse_source/cinit-0.3pre7/TODO.doc b/software/cinit/browse_source/cinit-0.3pre7/TODO.doc deleted file mode 100644 index a170a50d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/TODO.doc +++ /dev/null @@ -1,29 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - -caveats -------- - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- cinit ignores the Keyboard request -- Currently there is no support to react on 'ctr+alt+del': -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - diff --git a/software/cinit/browse_source/cinit-0.3pre7/TODO.optimisations b/software/cinit/browse_source/cinit-0.3pre7/TODO.optimisations deleted file mode 100644 index 8a686b4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/TODO.optimisations +++ /dev/null @@ -1,19 +0,0 @@ -This file describes enhancements or optimisations that -could be done / checked. - - -Code ----- - -fork() -~~~~~~ - -Security -^^^^^^^^^ -- Closed fds? -- Close other things? -- IPC? - -Cleanup -^^^^^^^ -- Do we have to reset signals or is that done anyway by fork()? diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre7/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.configure.mark deleted file mode 100644 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre7/client/README b/software/cinit/browse_source/cinit-0.3pre7/client/README deleted file mode 100644 index 0a5b8d0c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/client/README +++ /dev/null @@ -1,2 +0,0 @@ -client/ - These sources are used by the children which are spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre7/client/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre7/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/client/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre7/client/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/client/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/client/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre7/client/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/client/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre7/client/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre7/client/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/client/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre7/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre7/client/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/client/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre7/client/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/client/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/client/run_svc.c b/software/cinit/browse_source/cinit-0.3pre7/client/run_svc.c deleted file mode 100644 index 7fea6a92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/client/run_svc.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre7/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre7/client/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/client/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/comm/README b/software/cinit/browse_source/cinit-0.3pre7/comm/README deleted file mode 100644 index 840c9742..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/comm/README +++ /dev/null @@ -1,3 +0,0 @@ -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.3pre7/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre7/comm/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/comm/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/comm/do_result.c b/software/cinit/browse_source/cinit-0.3pre7/comm/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/comm/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre7/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre7/comm/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/comm/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/.README b/software/cinit/browse_source/cinit-0.3pre7/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre7/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre7/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_env b/software/cinit/browse_source/cinit-0.3pre7/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_halt b/software/cinit/browse_source/cinit-0.3pre7/conf/c_halt deleted file mode 100644 index 4eed340f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the link belowe c_special, which links to the program -to be executed right before halting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_init b/software/cinit/browse_source/cinit-0.3pre7/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre7/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_off b/software/cinit/browse_source/cinit-0.3pre7/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_on b/software/cinit/browse_source/cinit-0.3pre7/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre7/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_params b/software/cinit/browse_source/cinit-0.3pre7/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_poweroff b/software/cinit/browse_source/cinit-0.3pre7/conf/c_poweroff deleted file mode 100644 index 5b5c9c9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_poweroff +++ /dev/null @@ -1,4 +0,0 @@ -poweroff - -Name of the link belowe c_special, which links to the program -to be executed right before powering off the system. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_reboot b/software/cinit/browse_source/cinit-0.3pre7/conf/c_reboot deleted file mode 100644 index 8702388f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_reboot +++ /dev/null @@ -1,4 +0,0 @@ -reboot - -Name of the link belowe c_special, which links to the program -to be executed right before rebooting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre7/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre7/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre7/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre7/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre7/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_umount b/software/cinit/browse_source/cinit-0.3pre7/conf/c_umount deleted file mode 100644 index ab96b0a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_umount +++ /dev/null @@ -1,6 +0,0 @@ -umount - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -It should normally be a shellscript with the OS-specific umount procedure. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre7/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/cc b/software/cinit/browse_source/cinit-0.3pre7/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/cflags b/software/cinit/browse_source/cinit-0.3pre7/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre7/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/confdir b/software/cinit/browse_source/cinit-0.3pre7/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/destdir b/software/cinit/browse_source/cinit-0.3pre7/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre7/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre7/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre7/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre7/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/ld b/software/cinit/browse_source/cinit-0.3pre7/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre7/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre7/conf/max_delay deleted file mode 100644 index 149fa16c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/max_delay +++ /dev/null @@ -1,7 +0,0 @@ -4 - -Maximum number of digits which may be in the delay file. -If there are more, the string "12345678901" will be cut to the -right length "1234567890". I don't think you'll ever need -a timeout greater 4 digits (9999 seconds are 166,65~ minutes, are -2 hours, 46 minutes and 39 seconds). See doc/configuring.cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre7/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre7/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre7/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre7/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/os b/software/cinit/browse_source/cinit-0.3pre7/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre7/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre7/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre7/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/prefix b/software/cinit/browse_source/cinit-0.3pre7/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/profile b/software/cinit/browse_source/cinit-0.3pre7/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre7/conf/service_categories deleted file mode 100644 index 2216ea97..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/service_categories +++ /dev/null @@ -1,7 +0,0 @@ -getty init local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. - -Btw, 'init' is the first service and has always to be there, but it does not really -fit into here, because it's a real one, compraed to the pseudo services. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre7/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/strip b/software/cinit/browse_source/cinit-0.3pre7/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre7/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre7/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre7/conf/version b/software/cinit/browse_source/cinit-0.3pre7/conf/version deleted file mode 100644 index 82451a9a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre7" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/Makefile deleted file mode 100644 index 8441c90b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o ../generic/usage.o ../generic/mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/cinit-vis.pl deleted file mode 100644 index 3956ff47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/cinit.graph.text.c deleted file mode 100644 index bc6fb6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.gaph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.gaph.text - textual representatio of the cinitdirectory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.gaph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre7/doc/.buildwarn deleted file mode 100644 index 3a0354dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/.buildwarn +++ /dev/null @@ -1,23 +0,0 @@ -**************************************************************************** -Welcome, cinit greets you. -**************************************************************************** - -Hints: ------- - - Settings used for compiling (not only) can be found in conf/* - - The boot configuration normally resides below /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text _BEFORE_ installing. - -Building cinit --------------- - - "make all" - to build cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre7/doc/Makefile deleted file mode 100644 index 12b3b92f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/Makefile +++ /dev/null @@ -1,95 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DOCS = $(MANDOCS) $(USERDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpage(s)" - -install: - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -%.man: %.mandocbook - ${DOCBOOKTOMAN} --to-stdout $< > $@ - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/README.text b/software/cinit/browse_source/cinit-0.3pre7/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/coding-style b/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/coding-style deleted file mode 100644 index 1b164b9e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/coding-style +++ /dev/null @@ -1,49 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. - - -Unsorted ---------- -Linebreaks: - - -if(...) { - -} else { -} - - -do { -} while(); - -no spaces - - within braces and code "(!test)", - - before braces "if(code)" - -spaces - - after braces "if(test) return 0;" - - spaces before and after '=' (a = b); - -curly braces: - functions: - int func(int params) - { - body - } - -comments: - where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/shutdown.text deleted file mode 100644 index 8b286e0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/braindumps/shutdown.text +++ /dev/null @@ -1,40 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process -- also implement halt - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement reboot - * kill -USR1 1 diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre7/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre7/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/codingguideline b/software/cinit/browse_source/cinit-0.3pre7/doc/devel/codingguideline deleted file mode 100644 index f2e6abdb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/codingguideline +++ /dev/null @@ -1,32 +0,0 @@ -When to place spaces? - After and before comments: - /* text */ - o -Where to put curly braces? - functions: at the beginning of the line: - - void func(char *what, int where) - { - - } - - Before and after '=', '==', '!='', '>=', '<=' - - After ')', ',' - No space before ), so if '))', do not put a space after the first ')'. - -Header: - Put a header into each file, containing: - - date of file being put into existence (year is enough) - - Name and E-mail of Author - - Description of the function - -Includes: - System includes first, - own headers later - -Indent: - Three spaces. No tabs. - - Indent variable names, so the names begin all at the same position. Use three spaces - to place them. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre7/doc/devel/communication.text deleted file mode 100644 index 82f77774..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/communication.text +++ /dev/null @@ -1,221 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -The byte order is host specific (may be little or big endian). - - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre7/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre7/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre7/doc/devel/ipc.text deleted file mode 100644 index 7013a985..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/ipc.text +++ /dev/null @@ -1,108 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre7/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre7/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre7/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre7/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre7/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre7/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre7/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre7/doc/man/cinit.text deleted file mode 100644 index bd9bd0ab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre7/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre7/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre7/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/config-dirs b/software/cinit/browse_source/cinit-0.3pre7/doc/user/config-dirs deleted file mode 100644 index 4a8fbb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/config-dirs +++ /dev/null @@ -1,19 +0,0 @@ -configuring - - /etc/cinit/defaults/panic -> link to something to execute on panic - (most likely /sbin/sulogin) - - /etc/cinit/defaults/tmp -> link to a directory where - the socket should be created, - after finishing boot - - What todo right before halting/rebooting/powering off - /etc/cinit/special/ - -> halt - -> reboot - -> poweroff - -Configuration -------------- - -Send kill signal diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/configuring.cinit.text deleted file mode 100644 index ce23866e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/configuring.cinit.text +++ /dev/null @@ -1,287 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start. - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - -Examples --------- -Currently there are no example configurations available. -As soon as they are, you will be able to download them at -cinit's homepage. - ---> configuration.example.text - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/daemons.backgrounding.text deleted file mode 100644 index 1b553a7b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,80 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre7/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre7/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre7/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre7/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre7/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre7/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre7/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre7/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.read-conf deleted file mode 100644 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.release b/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.release deleted file mode 100644 index 17a5b2d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/cinit.release +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: Fr Okt 28 01:24:58 CEST 2005 - -if [ $# -ne 2 ]; then - echo "This is a maintainer-only script to release cinit" - echo $(basename $0): source-dir version - exit 1 -fi - -cat << eof - Erinnerung: - - - Version in conf/version angepasst? - - CHANGES angepasst? - - Nein? Strg+C bitte... -eof -read a - - -DIR=$1 -VERSION=$2 -OUT_NAME=cinit-${VERSION}.tar.bz2 -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ -LINK=current - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -( cd "$DIR" && make dist ) || exit 1 - -echo "Creating bzip2 compressed tar" -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$DIR" -chmod 0644 "$OUT_NAME" -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$DIR\" \"$LINK\"" -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre7/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/compile+run.sh deleted file mode 100644 index b0daad25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/compile+run.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$1" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/compile_local.sh deleted file mode 100644 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/compile_test.sh deleted file mode 100644 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/create_test_config.sh deleted file mode 100644 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/find_right_version.sh deleted file mode 100644 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/test_on_hosts.sh deleted file mode 100644 index a4695134..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net bot.unixkiste.org suckz.eu" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/valgrind deleted file mode 100644 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre7/scripts/report.compile deleted file mode 100644 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre7/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre7/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/.configured b/software/cinit/browse_source/cinit-0.3pre7/src/.configured deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/Makefile b/software/cinit/browse_source/cinit-0.3pre7/src/Makefile deleted file mode 100644 index 08ea9d3b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/Makefile +++ /dev/null @@ -1,131 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -#include Makefile.tests - -# Build tools / locations -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin - -# directories and files -CONFIG_H=include/config.h - -BIN=cinit - -# -# All objects depend on headers. More or less. FIXME: use gcc -M -# -CINIT_HEADERS=$(shell cat include/listing) - -# NEW -CINIT_OBJ=$(shell cat object_lists/cinit) - -# -# Client modules -# -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -OBJ=$(SERV) $(SERV_OS) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -CCO_OBJ=util/ccontrol.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -#all: $(BIN) -all: cinit - - -# -# Generic -# -$(CINIT_OBJ): $(CINIT_HEADERS) - -%.o: %.c - $(CC) -c -o $@ $< - - - -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -$(CINIT_OBJ): $(CONFIG_H) - - -$(CONFIG_H): ../conf/* - ../scripts/cinit.mkheader > $(CONFIG_H) - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# -cinit: $(CINIT_OBJ) - $(LD) $^ -o $@ - -################################################################################ -# -# Generic targets -# - -.PHONY: dist -dist: distclean - -.PHONY: distclean -distclean: clean - rm -f os/current ipc/current - -.PHONY: clean -clean: - rm -f ../tmpbin/*.configured - rm -f $(BIN) $(CINIT_OBJ) - rm -f test/*.o diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre7/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre7/src/ancient/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/ancient/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre7/src/core/build_argv.c deleted file mode 100644 index 85238d47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/core/build_argv.c +++ /dev/null @@ -1,170 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "cinit.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX+1]; - char *sbuf = NULL; - char *p; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - mini_printf("CBA::",1); - mini_printf(basename,1); - mini_printf("\n",1); - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename,pathtmp,PATH_MAX)) == -1) { - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - /* FIXME check bounds! */ - strcpy(pathtmp,basename); - strcat(pathtmp,C_PARAMS); - /* ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL - * ORC_OK: Ok, have a filled buffer (perhaps NULL, too) - * other: Error, print errno - */ - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p+1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,basename); - strcat(pathtmp,C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - sbuf = p+1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre7/src/core/cinit.c deleted file mode 100644 index 87fa0bbd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/core/cinit.c +++ /dev/null @@ -1,94 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "cinit.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ -// pid_t cpid; - - - //set_signals(ACT_SERV); - - /* FIXME: RE-ENABLE as SOON AS PRODUCTIVE cpid = getpid(); - * Is this really needed or should we lock() ourselves? - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - /* Look whether we should start a profile */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc-1], strlen(PROFILE) ) ) { - initdir = (char *) malloc( - strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* listen to signals */ - // MOVE TO UPPER TO TEST SEGFAULT set_signals(ACT_SERV); - set_signals(ACT_SERV); - - /* pre-calculate service tree */ - gen_svc_tree(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* start tree from the bottom */ - /* FIXME: use panic() instead? */ - if(!tree_exec(svc_init)) return 1; - - mini_printf("=> cinit started.\n",1); - - /* listen for incomming messages: should never return */ - if(!cinit_ipc_listen()) { - panic(); - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre7/src/core/do_reboot.c deleted file mode 100644 index 1e71aca9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/core/do_reboot.c +++ /dev/null @@ -1,90 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include - -#include "ipc.h" -#include "cinit.h" -#include "os.h" -#include "messages.h" - -/* cleaned headers */ -#include /* kill() */ - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - //char **cmd; - //int i; - - /* - * New code: - * 0. close user ipc - * - notify user! - * - do not allow user interupt anymore - * 1. shutdown services - * - notify user! - * 2. kill -TERM all processes - * - notify user! - * 3. kill -KILL all processes - * - notify user! - * 4. execute /etc/cinit/conf/{halt,reboot,poweroff} - * - notify user! - */ - - /* FIXME: pre-shutdown? not senseful, can be implemented outside. */ - - /* do not listen to client requests anymore */ - cinit_ipc_destroy(); - - /* FIXME: ignore signals now! */ - - /* shutdown all services: take care about the dependency tree */ - //cinit_svc_shutdown(); - - /* now: all services are down, let's kill all other processes */ - if(kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - if(kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* Execute umount and wait for its termination */ - execute_and_wait(CINIT_UMOUNT); - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/core/objects b/software/cinit/browse_source/cinit-0.3pre7/src/core/objects deleted file mode 100644 index 9596d171..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/core/objects +++ /dev/null @@ -1,7 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/run_init_svc.o -core/set_signals.o -core/do_reboot.o -core/sig_child.o diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre7/src/core/panic.c deleted file mode 100644 index 48a5d17f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/core/panic.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include /* execv */ - -#include "cinit.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) _exit(0); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - if(execv(SULOGIN,nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* there's nothing todo, if everything fails */ - _exit(23); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/core/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre7/src/core/run_init_svc.c deleted file mode 100644 index b613ed6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/core/run_init_svc.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/core/run_svc.c b/software/cinit/browse_source/cinit-0.3pre7/src/core/run_svc.c deleted file mode 100644 index 95cc324d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/core/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre7/src/core/set_signals.c deleted file mode 100644 index ae38cf8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/core/set_signals.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006-2006 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ -#include "cinit.h" /* defines */ - -void set_signals(int action) -{ - struct sigaction sa; - - /* If you want to have fun with glibc, comment out the three lines that - * initialise sa.sa_flags and cinit will segfault when sig_child - * exits. "Works" on glibc 2.3-2.5 ;-) - */ - if(action == ACT_SERV) { - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - } else { - sa.sa_handler = SIG_DFL; - sa.sa_flags = 0; - } - sigemptyset(&sa.sa_mask); - - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - sa.sa_flags = 0; /* reset flags */ - if(action == ACT_SERV) { - sa.sa_handler = do_reboot; - } - sigaction(SIGHUP, &sa, NULL); /* reboot */ - sigaction(SIGTERM, &sa, NULL); /* poweroff */ - sigaction(SIGUSR1, &sa, NULL); /* halt */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre7/src/core/sig_child.c deleted file mode 100644 index 8223571b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/core/sig_child.c +++ /dev/null @@ -1,71 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The child handler - * - */ - -#include /* FIXME: check headers (->Posix!) */ -#include -#include /* NULL */ - -#include /* sigaction */ -#include "cinit.h" /* */ -#include "svc.h" /* list_search_pid */ -#include "messages.h" /* messages */ - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - /* New code: - * - search for pid in service list - * * if (respawn) -> start new - * - insert delay? if exit code is non-zero? if uptime too less? - * * if (once) -> update service status - * * else ignore, but reap away - */ - struct listitem *svc; - struct sigaction sa; - - /* do not interrupt us or anything we might call */ - sa.sa_handler = SIG_IGN; - sigaction(SIGCHLD,&sa,NULL); - - while((tmp = waitpid(-1, &tmp, WNOHANG)) > 0) { - /* check if it's a watched child */ - svc = list_search_pid((pid_t) tmp); - - if(svc != NULL) { - /* Check, that we are operating on it =. that it is no normal child */ - if(svc->status & ST_ONCE_RUN - || svc->status & ST_SH_RESPAWN - || svc->status & ST_RESPAWNING) { - if(WIFEXITED(tmp) && !WEXITSTATUS(tmp)) { - svc_success(svc); - svc_report_status(svc->abs_path,MSG_SVC_OK,NULL); - } else { - svc_fail(svc); - svc_report_status(svc->abs_path,MSG_SVC_FAIL,NULL); - } - } - - /* respawn: restart: FIXME Delay for regular dying services */ - if(svc->status == ST_RESPAWNING) { - svc_report_status(svc->abs_path,MSG_SVC_RESTART,NULL); - svc_start(svc); - } - } else { - /* FIXME remove in production version */ - mini_printf("Cleanup: reparenting\n",1); - } - } - - sa.sa_handler = sig_child; - sigaction(SIGCHLD,&sa,NULL); - mini_printf("Finished CHILD catcher\n",1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre7/src/generic/execute_and_wait.c deleted file mode 100644 index 9cc78475..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/generic/execute_and_wait.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ -#include "messages.h" /* MSG_* */ -#include "cinit.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* fork */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* exec / child */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* wait / parent */ - waitpid(pid,&status,0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre7/src/generic/execute_sth.c deleted file mode 100644 index ab6bf890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/generic/execute_sth.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ -#include "cinit.h" -#include "build_argv.h" - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - mini_printf("ES::",1); - mini_printf(basename,1); - mini_printf("\n",1); - - tmp = cinit_build_argv(basename,&bav); - if((tmp = cinit_build_argv(basename,&bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for cinit to recognize - it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre7/src/generic/file_exists.c deleted file mode 100644 index 4327c715..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/generic/file_exists.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* FIXME: check headers against posix */ -#include -#include - -#include /* errno */ -#include "cinit.h" - -int file_exists(char *filename) -{ - struct stat buf; - - if(stat(filename,&buf) == -1) { - if(errno == ENOENT) { - return FE_NOT; - } else { - print_errno(filename); - return FE_ERR; - } - } else { - if(!S_ISREG(buf.st_mode)) { - return FE_OTHER; - } - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre7/src/generic/mini_printf.c deleted file mode 100644 index af81aa4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd,str,(size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/generic/objects b/software/cinit/browse_source/cinit-0.3pre7/src/generic/objects deleted file mode 100644 index 7cdf5172..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/generic/objects +++ /dev/null @@ -1,9 +0,0 @@ -generic/execute_sth.o -generic/execute_and_wait.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre7/src/generic/openreadclose.c deleted file mode 100644 index e24bf081..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/generic/openreadclose.c +++ /dev/null @@ -1,72 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "cinit.h" - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - mini_printf("ORC:",1); - mini_printf(filename,1); - mini_printf("\n",1); - *where = NULL; - - /* what a wonderful loop */ - while((fd = open(filename,O_RDONLY)) == -1) { - if(errno == ENOENT) return ORC_ERR_NONEXISTENT; - if(errno != EINTR) return ORC_ERR_OPEN; - } - - cnt = 0; - while (1) { - tmp = read(fd,buf,512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where,cnt + 1); - if(*where == NULL) return ORC_ERR_MEM; - - /* FIXME check correctness of copied buffer... - * and get some sleep..soon, very soon! */ - strncpy(&(*where)[cnt-tmp],buf,tmp); - mini_printf("ORC: ",1); - mini_printf(buf,1); - mini_printf("\n",1); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) continue; - return ORC_ERR_CLOSE; - } - - /* terminate string! */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre7/src/generic/path_absolute.c deleted file mode 100644 index 691a3a38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "cinit.h" /* print_errno */ -#include "messages.h" /* print_errno */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre7/src/generic/path_append.c deleted file mode 100644 index c6617ba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/generic/path_append.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre7/src/generic/print_errno.c deleted file mode 100644 index 7415d556..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre7/src/generic/sleep_before_kill.c deleted file mode 100644 index ebe6914d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Sleep: - * read configuration, - * fallback to builtin value if not possible, - * sleep. - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "cinit.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE,&content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) tmp = SLEEP_KILL; - free(content); - } else { - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts,NULL) == -1) { - print_errno(MSG_GEN_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre7/src/generic/strip_final_newline.c deleted file mode 100644 index d9c12f05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/generic/strip_final_newline.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ -#include "cinit.h" /* FIXME debug */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) { - mini_printf("SFN: NULL\n",1); - return NULL; - } - - p = strrchr(str,'\n'); - if(p) { - if(*(p+1) == '\0') { - str = realloc(str,(p-str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre7/src/generic/usage.c deleted file mode 100644 index 87d62c73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/generic/usage.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * - */ - -#include -#include "cinit.h" - -/*********************************************************************** - * usage: tell the user what's wrong and a help text - */ -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre7/src/include/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/include/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre7/src/include/cinit.h deleted file mode 100644 index 39dba99f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/include/cinit.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_H -#define _CINIT_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_UMOUNT CINIT_CONFDIR SLASH C_UMOUNT -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* core functions */ -void do_reboot(int signal); -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -int msg_reboot(char cmd); -void print_errno(char *text); - -/* os-functions */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - -#endif /* _CINIT_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/include/comm.h b/software/cinit/browse_source/cinit-0.3pre7/src/include/comm.h deleted file mode 100644 index b9aaf60f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/include/comm.h +++ /dev/null @@ -1,69 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_START_SVC=1, /* the client wants US to start a service */ - CMD_START_SVC_ONLY, /* start this service without dependencies */ - CMD_STOP_SVC, /* stop svc and all svcs that need it */ - CMD_STOP_SVC_ONLY, /* we should stop _only_ this service */ - CMD_STOP_SVC_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ - CMD_RESCUE, /* we should start the rescue mode */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ - CMD_INFO /* send information about that service */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre7/src/include/ipc.h deleted file mode 100644 index 66b3bc86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/include/ipc.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init (client init) */ -int cinit_ipc_connect(void); /* connect to init */ -int cinit_ipc_csend(void *data); /* send to the server from a client */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/include/listing b/software/cinit/browse_source/cinit-0.3pre7/src/include/listing deleted file mode 100644 index df30f408..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/include/listing +++ /dev/null @@ -1,5 +0,0 @@ -include/cinit.h -include/config.h -include/ipc.h -include/messages.h -include/os.h diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre7/src/include/messages.h deleted file mode 100644 index f220de32..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/include/messages.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -/* Messages to the outside */ -#define MSG_BIND "bind" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_KILLBILL "sigkill" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_TERMKILL "sigterm" -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_START_SVC "Starting " -#define MSG_STOP_SVC "Stoping " -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_POWER_OFF "Powering off..." -#define MSG_HALT "Halting system ..." -#define MSG_REBOOT "Rebooting ..." -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ -#define MSG_INTRO_OK "[SUCCESS] " -#define MSG_INTRO_FAIL "[ FAILED] " -#define MSG_INTRO_CINIT "[ CINIT] " -#define MSG_INTRO_RESPAWN "[RESPAWN] " -#define MSG_INTRO_SVC "[SERVICE] " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" -#define MSG_SVC_OK MSG_INTRO_OK "Service successfully executed." -#define MSG_SVC_RESTART MSG_INTRO_RESPAWN "Restarting service." -#define MSG_SVC_START "Starting service." - -#define MSG_TREE_EXEC MSG_INTRO_CINIT "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_GEN_SLEEP "sleep" -#define MSG_FATAL_PANIC MSG_INTRO_FAIL "I tried everything, but even panic() failed: " - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre7/src/include/os.h deleted file mode 100644 index b3320c0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/include/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre7/src/include/svc.h deleted file mode 100644 index d7459be7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/include/svc.h +++ /dev/null @@ -1,128 +0,0 @@ -/*********************************************************************** - * - * 2006,2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - - -#ifndef _CINIT_SVC_H -#define _CINIT_SVC_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char *abs_path; /* name of service */ - long int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - - - struct dep *wanted; /* list of services that want this service */ - struct dep *needed; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *svc_init; /* the services to start */ -extern struct listitem *svc_list; /* the list of services */ - -/* list functions */ -struct listitem *list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); -int list_display_all(); - - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -int svc_set_status(struct listitem *li, int status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void svc_start(struct listitem *li); - - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -/*********************************************************************** - * status of a service and return codes - errors and success - */ -enum svc_status_old { - ST_TMPNOW=1, /* the client is now starting the service NEEDED??? */ - ST_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - - ST_OFF, /* service is off */ - ST_OFF_ALL, /* service and those that need it are off */ - ST_OFF_ALL_F, /* same, but something failed */ - ST_OFF_WANTS, /* service + those that need or want it are off */ - ST_OFF_WANTS_F, /* same, but something failed */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ -}; - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum svc_status { - /* first define basics */ - ST_SH_ONCE = 0x1, /* service SHould be started once */ - ST_SH_RESPAWN = 0x2, /* service SHould respawn */ - ST_ONCE_OK = 0x4, /* service was successfully started once */ - ST_ONCE_FAIL = 0x8, /* service failed to start */ - ST_RESPAWNING = 0x10, /* service is respawning */ - ST_NEED_FAILD = 0x20, /* this service is not started, need failed */ - ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - ST_ONCE_RUN = 0x100 /* the once process is currently running */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum svc_needs_status { - SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - SNS_NEEDS_FAILED, /* one ore more needs failed */ - SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index 299885c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ - -#include "msgq.h" /* mq_in, mq_out */ -#include "cinit.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(mq_in,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(mq_out,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index 9ae072a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ -#include /* msgget */ - -#include "cinit.h" -#include "config.h" -#include "msgq.h" - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_in = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_in == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* to_client */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - if(k_tmp == -1) { - perror(MSG_MSGQ_FTOK); - return 0; - } - mq_out = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_out == -1) { - perror(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index 24053164..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "cinit.h" /* print_errno */ -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - - struct msg_client m_client; - - while (1) { - /* FIXME: change msg structure */ - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - /* FIXME: EINTR ignore */ - print_errno(MSG_MSGQ_MSGRCV); - } - - //printf("pid: %d, m_client\n",m_client.pid); - - /* use pid as the message type - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - return 0; - } */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index 08c0e252..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "cinit.h" /* print_errno */ -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - key_t k_in, k_out; /* FIXME: remove one variable */ - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - k_out = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_sclose.c b/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_sclose.c deleted file mode 100644 index 69165e4d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/cinit_ipc_sclose.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Close the ressources from the server, clean state for forks. - * - */ - -int cinit_ipc_sclose(void) -{ - return 1; /* nothing to do when using message queues */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/msgq.h deleted file mode 100644 index 01c6e769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * part of cinit - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define MSGQ_TO_SERVER 'i' /* also for ftok */ -#define MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables - */ -int mq_in; /* input */ -int mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_FTOK "ftok" -#define MSG_MSGQ_MSGGET "msgget" -#define MSG_MSGQ_MSGRCV "msgrcv" -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre7/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre7/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre7/src/object_lists/cinit deleted file mode 100644 index b7a63fa6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/object_lists/cinit +++ /dev/null @@ -1,52 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/run_init_svc.o -core/set_signals.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/list_delete.o -svc/list_display_all.o -svc/list_insert.o -svc/list_modify.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_start.o -svc/svc_fail.o diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre7/src/os/freebsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre7/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre7/src/os/freebsd/poweroff.c deleted file mode 100644 index 61e5ef5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre7/src/os/freebsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre7/src/os/linux/halt.c deleted file mode 100644 index 0ecf8ced..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre7/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre7/src/os/linux/poweroff.c deleted file mode 100644 index 5f503678..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre7/src/os/linux/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre7/src/os/netbsd/halt.c deleted file mode 100644 index 614474fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/netbsd/halt.c +++ /dev/null @@ -1,18 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre7/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre7/src/os/netbsd/poweroff.c deleted file mode 100644 index 13e791aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,18 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre7/src/os/netbsd/reboot.c deleted file mode 100644 index 0ca3d9d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/netbsd/reboot.c +++ /dev/null @@ -1,18 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre7/src/os/openbsd/halt.c deleted file mode 100644 index cd4dda1f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre7/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre7/src/os/openbsd/poweroff.c deleted file mode 100644 index 45168122..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre7/src/os/openbsd/reboot.c deleted file mode 100644 index 7f235227..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/check_add_deps.c deleted file mode 100644 index a32a0fe7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/check_add_deps.c +++ /dev/null @@ -1,127 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers, check: - * getcwd */ -#include - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "cinit.h" /* mini_printf */ -#include "messages.h" -#include "svc.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - mini_printf("CAD::",1); - mini_printf(svc->abs_path,1); - mini_printf("\n",1); - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf,C_NEEDS)) return 0; - } else { - if(!path_append(buf,C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent=readdir(d_tmp))!=NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* skip non-working directories / broken links - * path_absolute reports errors on failure */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - dep_entry_add(&(new_svc->needed),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs),deps); - } else { - dep_entry_add(&(new_svc->wanted),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants),deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/dep_create.c deleted file mode 100644 index 691d66b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/dep_create.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/dep_entry_add.c deleted file mode 100644 index abdce146..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/dep_entry_add.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(*deplist == NULL) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/dep_entry_del.c deleted file mode 100644 index fd9fbab6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/dep_entry_del.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc.h" - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* last service in the list */ - if(del->next == del && del->prev == del) { - tmp=NULL; - } else { - /* remove from list */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/dep_needs_wants_add.c deleted file mode 100644 index b7afb02b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,64 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ -#include "svc.h" - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed; - } else { - end = svc->wanted; - } - - /* Place to the first dependency of this service */ - tmp = end; - if(tmp != NULL) { - do { - /* Add service to the starter list, which - * - should be started once - * - should be respawned (both VIRGIN services!) - * - and which are not already in the list! - */ - if(((tmp->svc->status & ST_SH_ONCE) || - (tmp->svc->status & ST_SH_RESPAWN)) && - !(tmp->svc->status & ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= ST_IN_LIST; - dep_entry_add(list,new); - } - /* FIXME: Clearify if we should go forward or backwards? - * this decision will influence starting order - * and may thereby add a minimal mount of speed enhancement - * - * As far as I can see it is not predictable, which way is - * better, because it heavily depends on the other services. - * - * If you know better, provide me with a patch ;-) - */ - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/gen_svc_tree.c deleted file mode 100644 index 65f4028f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include -#include "cinit.h" -#include "svc.h" - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li=list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return NULL; - - if(!check_add_deps(li,DEP_NEEDS)) return NULL; - if(!check_add_deps(li,DEP_WANTS)) return NULL; - - /* no dependencies? then you are a start service */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&svc_init,deps); - - /* Mark it as being in the startup list, so it does not - * get added again in a dep_needs_wants_add call */ - li->status |= ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_delete.c deleted file mode 100644 index 10a7e218..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_delete.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "svc.h" - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if( tmp == NULL ) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - free(tmp->abs_path); - free(tmp); - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_display_all.c deleted file mode 100644 index 65c7b3a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_display_all.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ -#include "cinit.h" -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if( svc_list == NULL ) { - return 0; - } else { - tmp = svc_list; - } - - do { - mini_printf("Service: ",1); - mini_printf(tmp->abs_path,1); - mini_printf("\n",1); - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_insert.c deleted file mode 100644 index 4ece779e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_insert.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* malloc */ -#include /* bzero / memset */ -#include "svc.h" /* the list pointer */ - -struct listitem *list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) return NULL; - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_modify.c deleted file mode 100644 index 4a93c41c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_modify.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - -// D_PRINTF(path); - - tmp = list_search(path); - if( tmp == NULL ) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_search.c deleted file mode 100644 index b40fae23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_search.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "cinit.h" -#include "svc.h" - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_search_pid.c deleted file mode 100644 index f8731bec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/list_search_pid.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Search by pid - */ - -#include /* NULL */ -#include /* pid_t */ -#include "svc.h" /* struct listitem */ - -struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return NULL; - } else { - tmp = svc_list; - } - - do { - if(pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/objects b/software/cinit/browse_source/cinit-0.3pre7/src/svc/objects deleted file mode 100644 index cf0ee36b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/objects +++ /dev/null @@ -1,21 +0,0 @@ -svc/gen_svc_tree.o -svc/list_delete.o -svc/list_display_all.o -svc/list_insert.o -svc/list_modify.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_start.o -svc/svc_fail.o diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_add_needs.c deleted file mode 100644 index cc03727d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_add_needs.c +++ /dev/null @@ -1,67 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -//#include -//#include -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_create.c deleted file mode 100644 index 85f3d940..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_create.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* strcpy */ -#include /* stat */ -#include /* stat */ -#include /* PATH_MAX */ -#include /* errno */ -#include "svc.h" /* listitem */ -#include "cinit.h" /* path_append */ - -/* checking for existence is done before! */ -/* FIXME: check heedars for conformance with POSIX */ -struct listitem *svc_create(char *svc) -{ - char buf[PATH_MAX+1]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc,-1); - if(!li) return NULL; - - /* FIXME: add two path length checks? svc and svc+strlen(C_RESPAWN)? */ - strcpy(buf,svc); - if(!path_append(buf,C_RESPAWN)) return NULL; - - if(stat(buf,&statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li,ST_SH_ONCE); - } else { - return NULL; - } - } else { - mini_printf("respawn: ",1); - mini_printf(li->abs_path,1); - mini_printf("\n",1); - svc_set_status(li,ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_fail.c deleted file mode 100644 index 7c150c85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_fail.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Mark the service as being failed - */ - -#include "svc.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) - li->status = ST_ONCE_FAIL; - else { - /* FIXME: do something senseful, record time of dead? */ - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_needs_status.c deleted file mode 100644 index d9d54a81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_needs_status.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return status of the needs of this service - */ - -#include /* NULL */ -#include "svc.h" /* service information */ - -// DEBUG #include "cinit.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - -/* DEBUG mini_printf("sns: ",1); - mini_printf(svc->abs_path,1); - mini_printf("\n",1); */ - - if(deps == NULL) return SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* worst case: need failed */ - if((deps->svc->status & ST_NEED_FAILD) || - (deps->svc->status & ST_ONCE_FAIL)) { - retval = SNS_NEEDS_FAILED; - break; - } - /* services are being started */ - if((deps->svc->status & ST_SH_ONCE) || - (deps->svc->status & ST_SH_RESPAWN)) { - retval = SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_report_status.c deleted file mode 100644 index 4cc1edf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_report_status.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Tell the world what happened to the service - */ - -#include "cinit.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC,1); - mini_printf(svc,1); - mini_printf(": ",1); - mini_printf(msg,1); - if(err) { - mini_printf(" (",1); - mini_printf(err,1); - mini_printf(")",1); - } - mini_printf("\n",1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_respawn_check.c deleted file mode 100644 index 2ed44de8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX+1]; - - strcpy(buf,svc->abs_path); - if(!path_append(buf,C_RESPAWN)) return 0 -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_set_status.c deleted file mode 100644 index 36b61795..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_set_status.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_set_status(struct listitem *li, int status) -{ - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_should_respawn.c deleted file mode 100644 index 1c401024..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return whether should respawn or not - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_start.c deleted file mode 100644 index 8e75a8de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_start.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include "svc.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "cinit.h" /* execute_sth */ - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li) -{ - char buf[PATH_MAX+1]; - - /* FIXME: All cleanup must go here - * close(fds); - * reset signals - * reset env? - * - * FIXME: Add logging possibility to here - * open (0,1,2) to other processes, if specified */ - li->pid = fork(); - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path,MSG_SVC_FORK,strerror(errno)); - svc_set_status(li,ST_BAD_ERR); - return; - } - /********************** parent ************************/ - if(li->pid > 0) { - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_RUN; - else - li->status = ST_RESPAWNING; - return; - } - - /********************** Client / fork() ************************/ - svc_report_status(li->abs_path,MSG_SVC_START,NULL); - - /* length check is done by path_append */ - strcpy(buf,li->abs_path); - if(!path_append(buf,C_ON)) return; - - /* Check for existence */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) _exit(0); /* nothing there? fine! */ - - if(li->status == FE_FILE) { - /* FIXME: reset signals: Is this necessary? Or does fork clean it anyway? */ - set_signals(ACT_CLIENT); - - /* and now, fire it up */ - execute_sth(buf); - } else { - /* either no file or an error */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_success.c deleted file mode 100644 index bc1d0721..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/svc_success.c +++ /dev/null @@ -1,18 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -void svc_success(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) - li->status = ST_ONCE_OK; - else - li->status = ST_RESPAWNING; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre7/src/svc/tree_exec.c deleted file mode 100644 index 449b5e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/svc/tree_exec.c +++ /dev/null @@ -1,64 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - -#include /* NULL */ -#include "cinit.h" /* mini_printf */ -#include "svc.h" /* svc_init */ -#include "messages.h" /* messages */ - -/* some thoughts... - * - * - we already generated the tree, we now need to start it from - * the ends - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - - mini_printf(MSG_TREE_EXEC,1); - - /* the main starting loop: All services in this list should be - * started, but it is possible that dependent services are in the - * list. In this case simply skip the current service - */ - do { - switch(svc_needs_status(tmp->svc)) { - case SNS_NEEDS_STARTED: - /* execute service, add dependencies, remowe from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_FAILED: - /* mark service as NEED_FAILD and delete from list */ - svc_report_status(tmp->svc->abs_path,MSG_SVC_NEED_FAIL,NULL); - svc_set_status(tmp->svc,ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_UNFINISHED: - /* continue with the next item */ - tmp = tmp->next; - break; - } - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre7/src/test/test_build_argv+link.c deleted file mode 100644 index e37169fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre7/src/test/test_build_argv.c deleted file mode 100644 index 0b2678be..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre7/src/test/test_gen_svc_tree.c deleted file mode 100644 index 93ad54ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre7/src/test/test_openreadclose.c deleted file mode 100644 index 2f722da5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file,&data); - - printf("%s\n",data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre7/util/README b/software/cinit/browse_source/cinit-0.3pre7/util/README deleted file mode 100644 index 782cdc8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/util/README +++ /dev/null @@ -1,2 +0,0 @@ -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre7/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre7/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre7/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre7/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre7/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre7/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre7/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre8/ b/software/cinit/browse_source/cinit-0.3pre8/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre8/.exclude b/software/cinit/browse_source/cinit-0.3pre8/.exclude deleted file mode 100644 index 1a2d31e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/.exclude +++ /dev/null @@ -1,2 +0,0 @@ -tmp -.git diff --git a/software/cinit/browse_source/cinit-0.3pre8/.gitignore b/software/cinit/browse_source/cinit-0.3pre8/.gitignore deleted file mode 100644 index 48225e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -doc/*/*.html -doc/*/*.htm -doc/*/*.man -doc/*/*.texi -doc/*/*.docbook diff --git a/software/cinit/browse_source/cinit-0.3pre8/CHANGES b/software/cinit/browse_source/cinit-0.3pre8/CHANGES deleted file mode 100644 index 1d5a64b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/CHANGES +++ /dev/null @@ -1,65 +0,0 @@ -cinit-0.3pre8: 2007-04-06 - - Updated and merged documentation: Codingstyle and Codingguide - - Cleaned sigaction-code (fixes segfault on glibc) - - Cleaned object listings - - Added notifications at shutdown - - Fixed status check - -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre8/COPYING b/software/cinit/browse_source/cinit-0.3pre8/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre8/CREDITS b/software/cinit/browse_source/cinit-0.3pre8/CREDITS deleted file mode 100644 index febdcf4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/CREDITS +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: ls -l) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding -Tonnerre Lombard - * NetBSD support (host + hints) diff --git a/software/cinit/browse_source/cinit-0.3pre8/Changelog b/software/cinit/browse_source/cinit-0.3pre8/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre8/Makefile b/software/cinit/browse_source/cinit-0.3pre8/Makefile deleted file mode 100644 index 0445555c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation sizecheck - -install clean dist distclean: - @for subdir in ${CDIRS}; do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && ${MAKE} ${MAKEFLAGS} $@); \ - done; - -.PHONY: sources -sources: - ${MAKE} -C src all - -.PHONY: documentation -documentation: - ${MAKE} -C doc documentation - -sizecheck: sources - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $$FILE; cat $$FILE; \ - cg-add $$FILE - cg-commit $$FILE -m "Size added" - #cg-commit $$FILE -m "Size: $$(awk '{ print $5 }' $$FILE)" - -source-size: clean - @echo -n "Source size (in KiB): " - @du -s src/ | awk '{ sum+=$$1 } END { print sum }' - - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - - -################################################################################ -# Tests -# -tests: - # does not work, due getting killed, due to design :-) - #./scripts/internal/compile_run_as_compiler.sh - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -################################################################################ -# old -#DDOC=ddoc -#SDIRS=bin client conf comm doc generic serv util -# DO NOT CHANGE THIS. -#SBIN=sbin -#CINIT_BIN=$(SBIN)/cinit -# -#%.o: %.c -# $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< -#$(DDOC): -# mkdir $(DDOC) -# -#$(SBIN): -# mkdir $(SBIN) -# -#docs: $(DDOC) bin/cdoc-man.sh -# ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 -# ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 -#$(CSVC_OBJ) $(OBJ): $(CONFIG_H) -#clean: -# $(MAKE) -C src clean -# rm -f tmpbin/* -################################################################################ -#cservice: $(SBIN)/cservice -# -#$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) -# $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ -# $(STRIP) $@ -# -#ccontrol: $(SBIN)/ccontrol -# -#$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) -# $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ -# $(STRIP) $@ -# -#install:: install-dir cinit cservice ccontrol -# @echo '*** Installing cinit ***' -# ./bin/cinit.install.binary diff --git a/software/cinit/browse_source/cinit-0.3pre8/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre8/NEXTTODO deleted file mode 100644 index 8b0c1a72..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/NEXTTODO +++ /dev/null @@ -1,2 +0,0 @@ -- create uml instance, create some boot profiles -- cinit.install.standard.dirs.argv diff --git a/software/cinit/browse_source/cinit-0.3pre8/README b/software/cinit/browse_source/cinit-0.3pre8/README deleted file mode 100644 index 00f2651b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/README +++ /dev/null @@ -1,106 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Unix -- true dependencies (soft and hard!) -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -FIXME: Add mailing list here - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre8/ROADMAP b/software/cinit/browse_source/cinit-0.3pre8/ROADMAP deleted file mode 100644 index d66c6a11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/ROADMAP +++ /dev/null @@ -1,117 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree [DONE] - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers [DONE] - code: cleanup makefile - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. - code: add special directory (/etc/cinit/special?) for os specific binaries [CANCELED] - -> halt, poweroff, reboot (NOTHING MORE THEY CAN DO) - -> SHOULD NOT BE IN THE PATH - code: move production code to src/ - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre8/TODO b/software/cinit/browse_source/cinit-0.3pre8/TODO deleted file mode 100644 index dc665e9d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/TODO +++ /dev/null @@ -1,279 +0,0 @@ --------------------------------------------------------------------------------- -- define how it should work (doc/braindums/big-picture.text) -- define service status in one document, so repeatition stops! --------------------------------------------------------------------------------- -- remove client/ from top level --------------------------------------------------------------------------------- -Generate automatic asciidoc from conf/* --------------------------------------------------------------------------------- - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s - - Rekursives herunter/rauffahren --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary --------------------------------------------------------------------------------- -1. Entfernung mount - -> Example configuration - -> was man alles machen muss --------------------------------------------------------------------------------- -- add code do implement stopping / restarting with dependency tree --------------------------------------------------------------------------------- -- print service name or cinit: before _everything_ WE print - - - is the reporting ok? - -# cinit.create.empty.service: can only be started from the bin directory - -- Fix Switching services off !! -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren - -- on.out, on.err, on.in? - -> reading/writing from/to files - -- implement "no_kill" until cinit-0.2 or 0.3? - - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) --------------------------------------------------------------------------------- -Helper scripts, rausgenommen aus Der Doku, muessen fuer -cinit-0.3 ueberprueft werden: - -Configure help scripts -~~~~~~~~~~~~~~~~~~~~~~ -cinit-conf later -Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring - * add scripts! see below - - define coding guidelines -> general, with url? - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? - -Documentation -------------- - -developer -~~~~~~~~~ -- ST_IN_LIST == startup marker, used to (NOT) insert services into startup -- dep_needs_wants_add is used to add dependencies of a service to the general - starter list - - -user ----- -- do we really need swapoff? remove umount, swapoff! - * to services! - -> they have to do it! -- dependencies with leading '.' (dot) are ignored. -- about cinit-configuration structure - * cconfig - * svc/ - * special/ (or however we called it) - - panic - - halt - - poweroff - - reboot - --------------------------------------------------------------------------------- -FAQ -~~~ -- DOKU: what happens when a service does not terminate.... - und er als once drin ist ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! - -- multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - --------------------------------------------------------------------------------- -csvc: -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -cinit: -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! - -Child handlin -~~~~~~~~~~~~~g -- free() everything before starting child - -Later -~~~~~ -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? - -> yep, clean environment! -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -- Doc - * main.text -> cleanup / remove / split - * config-dirs - * FAQ - * ideas - * meta.dependencies - - config/hints/meta depps - * optimising - - integrate into other - * README.text - - update - * replacing.init - - update / integrate - * special-services.text - - into configuring/hints? - * TODO - - into paths, if necessary - * updating.cinit - - update as soon as update is possible? - * using.rescue - - update as soon as update is possible? - * 'os-integration.text' - * 'daemons.backgrounding' - * There are some hints on how to migrate to cinit in general and also - some os specific help in the file 'migrating-init-systems.text', -- CODECHECK: - * what happens with the wants of the last services? - - are they added? - - are they added at the correct position? -- scripts - * `cinit.check.config` (doc/user/configuring.cinit.text) - -> circular depedencies! -- Doc.next: - - installing: report! - -> write report script. -- Doc later - * current-init-problems.text - - current-init-problems.text explains why cinit does not use nor recommends the use of shell scripts. - * special-services.text - -- Begin documentation - * Check Makefile - * Integrate Makefile into main Makefile - * create manpage - * Write a small manual - - install - - configure - - boot (different OS) - * generate asciidoc! -- Doc way: - * installing - * configuring - - testconfig! - * booting - - different OS / bootloader - * debugging -- Shutdomn code: - * begin at init, then shutdown wants/needs, ... -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- replace cinit_ipc_logon with cinit_ipc_init... - * delay ipc code -> after start! - -- Cleanup / create object lists - object-lists/ - cinit - cservice - ccontrol - cinit.halt - cinit.reboot - cinit.shutdown (shell script?!?) - -TODO.pre8: - Done: - merge codingstyle and codingguide - Use sa.mask in sigaction! - double check all initialisations! - fixed problem in src/Makefile - remove old object listings - Document the define of the following: - -> conf/umount = called before all shutdown procedures --> conf/last! - test sleep code (sleep_before_kill()) - -> execute as id compiler, so kill -1 does not kill my session - check whether successful service is not successful reported - - -TODO.pre9: - - setup VM for testing: qemu/kvm/virtualbox (no commercial bloaty) - - do_reboot.c: - write cinit_svc_shutdown - Add handler for ctrl+alt+delete - * document in paths - - implement do_reboot() - * so not only booting with cinit works, but also the shutdown - - include locking via shm, remove test on pid1 - cleanup bin/ - - - do not print an error if /etc/cinit/conf/last is non-existent! - - ignore msgrcv: Interrupted system call -Session terminated, killing shell...msgq-destroy: Invalid argument -msgq-destroy: Invalid argument - - pretty print, reporting is ugly! - -TODO.pre10: - cleanup client/ comm/ contrib+tools/ util/ tmp/ - - write cinit.conf.check - * report broken links in needs/wants - * report circular dependencies - - -TODO.pre11: - cleanup src/ - finish ipc code so clients can access cinit - -TODO.pre12: - Check and clean doc/ - Remove *TODO*+ROADMAP and leave behin doc/TODO - -TODO.pre13: - code cservice ccontrol halt reboot shutdown poweroff - Test, release and prepare for final cinit-0.3 - -TODO.0.3.1 - add log support - cinit logs to - -> shm saver - services log to - -TODO unclear - - create migration scripts diff --git a/software/cinit/browse_source/cinit-0.3pre8/TODO.doc b/software/cinit/browse_source/cinit-0.3pre8/TODO.doc deleted file mode 100644 index a170a50d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/TODO.doc +++ /dev/null @@ -1,29 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - -caveats -------- - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- cinit ignores the Keyboard request -- Currently there is no support to react on 'ctr+alt+del': -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - diff --git a/software/cinit/browse_source/cinit-0.3pre8/TODO.optimisations b/software/cinit/browse_source/cinit-0.3pre8/TODO.optimisations deleted file mode 100644 index 8a686b4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/TODO.optimisations +++ /dev/null @@ -1,19 +0,0 @@ -This file describes enhancements or optimisations that -could be done / checked. - - -Code ----- - -fork() -~~~~~~ - -Security -^^^^^^^^^ -- Closed fds? -- Close other things? -- IPC? - -Cleanup -^^^^^^^ -- Do we have to reset signals or is that done anyway by fork()? diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre8/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.configure.mark deleted file mode 100644 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre8/cinit-0.3pre8.tar.bz2 b/software/cinit/browse_source/cinit-0.3pre8/cinit-0.3pre8.tar.bz2 deleted file mode 100644 index 5f40a659..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre8/cinit-0.3pre8.tar.bz2 and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre8/client/README b/software/cinit/browse_source/cinit-0.3pre8/client/README deleted file mode 100644 index c6d39c85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/client/README +++ /dev/null @@ -1,3 +0,0 @@ -client/ - -- OBSOLETED -- - These sources were used by the children which were spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre8/client/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre8/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/client/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre8/client/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/client/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/client/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre8/client/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/client/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre8/client/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre8/client/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/client/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre8/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre8/client/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/client/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre8/client/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/client/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/client/run_svc.c b/software/cinit/browse_source/cinit-0.3pre8/client/run_svc.c deleted file mode 100644 index 7fea6a92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/client/run_svc.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre8/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre8/client/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/client/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/comm/README b/software/cinit/browse_source/cinit-0.3pre8/comm/README deleted file mode 100644 index f44743a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/comm/README +++ /dev/null @@ -1,6 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! - -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.3pre8/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre8/comm/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/comm/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/comm/do_result.c b/software/cinit/browse_source/cinit-0.3pre8/comm/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/comm/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre8/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre8/comm/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/comm/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/.README b/software/cinit/browse_source/cinit-0.3pre8/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre8/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre8/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_env b/software/cinit/browse_source/cinit-0.3pre8/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_halt b/software/cinit/browse_source/cinit-0.3pre8/conf/c_halt deleted file mode 100644 index 4eed340f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the link belowe c_special, which links to the program -to be executed right before halting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_init b/software/cinit/browse_source/cinit-0.3pre8/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_last b/software/cinit/browse_source/cinit-0.3pre8/conf/c_last deleted file mode 100644 index 8debf155..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_last +++ /dev/null @@ -1,7 +0,0 @@ -last - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -This maybe a shellscript with the OS-specific umount procedure (like umount -a), -see doc/user/configuring.cinit for more details. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre8/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_off b/software/cinit/browse_source/cinit-0.3pre8/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_on b/software/cinit/browse_source/cinit-0.3pre8/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre8/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_params b/software/cinit/browse_source/cinit-0.3pre8/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_poweroff b/software/cinit/browse_source/cinit-0.3pre8/conf/c_poweroff deleted file mode 100644 index 5b5c9c9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_poweroff +++ /dev/null @@ -1,4 +0,0 @@ -poweroff - -Name of the link belowe c_special, which links to the program -to be executed right before powering off the system. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_reboot b/software/cinit/browse_source/cinit-0.3pre8/conf/c_reboot deleted file mode 100644 index 8702388f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_reboot +++ /dev/null @@ -1,4 +0,0 @@ -reboot - -Name of the link belowe c_special, which links to the program -to be executed right before rebooting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre8/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre8/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre8/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre8/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre8/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre8/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/cc b/software/cinit/browse_source/cinit-0.3pre8/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/cflags b/software/cinit/browse_source/cinit-0.3pre8/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre8/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/confdir b/software/cinit/browse_source/cinit-0.3pre8/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/destdir b/software/cinit/browse_source/cinit-0.3pre8/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre8/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre8/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre8/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre8/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/ld b/software/cinit/browse_source/cinit-0.3pre8/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre8/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre8/conf/max_delay deleted file mode 100644 index 149fa16c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/max_delay +++ /dev/null @@ -1,7 +0,0 @@ -4 - -Maximum number of digits which may be in the delay file. -If there are more, the string "12345678901" will be cut to the -right length "1234567890". I don't think you'll ever need -a timeout greater 4 digits (9999 seconds are 166,65~ minutes, are -2 hours, 46 minutes and 39 seconds). See doc/configuring.cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre8/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre8/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre8/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre8/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/os b/software/cinit/browse_source/cinit-0.3pre8/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre8/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre8/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre8/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/prefix b/software/cinit/browse_source/cinit-0.3pre8/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/profile b/software/cinit/browse_source/cinit-0.3pre8/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre8/conf/service_categories deleted file mode 100644 index 2216ea97..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/service_categories +++ /dev/null @@ -1,7 +0,0 @@ -getty init local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. - -Btw, 'init' is the first service and has always to be there, but it does not really -fit into here, because it's a real one, compraed to the pseudo services. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre8/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/strip b/software/cinit/browse_source/cinit-0.3pre8/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre8/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre8/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre8/conf/version b/software/cinit/browse_source/cinit-0.3pre8/conf/version deleted file mode 100644 index 64bf3eae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre8" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/Makefile deleted file mode 100644 index 8441c90b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o ../generic/usage.o ../generic/mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/cinit-vis.pl deleted file mode 100644 index 3956ff47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/cinit.graph.text.c deleted file mode 100644 index bc6fb6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.gaph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.gaph.text - textual representatio of the cinitdirectory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.gaph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre8/doc/.buildwarn deleted file mode 100644 index 3a0354dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/.buildwarn +++ /dev/null @@ -1,23 +0,0 @@ -**************************************************************************** -Welcome, cinit greets you. -**************************************************************************** - -Hints: ------- - - Settings used for compiling (not only) can be found in conf/* - - The boot configuration normally resides below /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text _BEFORE_ installing. - -Building cinit --------------- - - "make all" - to build cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre8/doc/Makefile deleted file mode 100644 index 13140d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/Makefile +++ /dev/null @@ -1,96 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DEVELDOCS = devel/codingguideline.text -DOCS = $(MANDOCS) $(USERDOCS) $(DEVELDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpage(s)" - -install: - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -%.man: %.mandocbook - ${DOCBOOKTOMAN} --to-stdout $< > $@ - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/README.text b/software/cinit/browse_source/cinit-0.3pre8/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/root-vm-testing b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/root-vm-testing deleted file mode 100644 index a8773dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/root-vm-testing +++ /dev/null @@ -1,9 +0,0 @@ -[19:33] denkbrett:root% cat uml-mount.sh -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl - -denkbrett# tar cfj ~nico/projekte/cinit/conf-vm-2007-03-05.tar.bz2 cinit -denkbrett# chown -R nico cinit -denkbrett# chown nico ../sbin - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/shutdown.text deleted file mode 100644 index ac76425d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/shutdown.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} - * no, implemented that directly into cinit! -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process - * create mappers for target OS - - Linux - - {free,net,open}bsd - - others may contribute theirself -- also implement poweroff - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement halt - * kill -USR1 1 - - -The implementation ------------------ -x shutdown is initiated -x disable communication (nobody can influence us anymore) -x install special signal handler? - - no. we do not care about zombies anymore, we are gone soon anyway - - simply reset to the default -- begin to shutdown services - * where to start? - * begin shutdown at the end of the tree, viewing/sorting it by the 'needed_by' - -> where to begin sort? - -> worst implementation: scan all services (easy for now) - -> result: list of services, that noone needs :-) - * stop those services and step above - - stop a service, as soon as noone needs it anymore - * check all needed_by links - * more or less the inverted gen_svc_tree -- how to shutdown a service - * if existing, call off - - if off does not exist: - * if respawn: send sigterm to the process - * also implement sigkill at this stage? - - think we can delay it to the end - - otherwise users can use off! - - implement environment for off ($cinit_respawn_pid, $cinit_service_name) - - do *NOT* care about the return value, we can't do anything for it - anymore anyway -- after all services are shutdown, kill all remaining services - * SIGTERM - * wait(defined_time_in_seconds) - * SIGKILL -- call the last command - * to cleanup the system - - umount -a (if needed) - - swapoff (if needed) - - sync (if needed) -- switch off diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/sizes b/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/sizes deleted file mode 100644 index ddd30f75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/braindumps/sizes +++ /dev/null @@ -1,6 +0,0 @@ -sysvinit: -root 1 0.0 0.0 1944 648 ? Ss 02:12 0:00 init [2] - -cinit-0.3pre8-glibc-linux: -compiler 25323 0.0 0.0 1564 392 pts/2 S+ 20:22 0:00 ./cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre8/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre8/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/codingguideline.text b/software/cinit/browse_source/cinit-0.3pre8/doc/devel/codingguideline.text deleted file mode 100644 index d4686d8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/codingguideline.text +++ /dev/null @@ -1,149 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. -Indent variable names, so the names begin all at the same position. -Use three spaces to place them. - - -Whitespaces ------------ -Where to put or avoid whitespaces (space or linefeed (lf)). - - -Spaces -~~~~~~ -- After closing brace "if(test) return 0;" -- Spaces before and after '=', '>', '<', '==', '!='', '>=', '<=', '>>', '<<', '&', '&&', '|', '||' -- After start of comment and before end of comment: '/* text */' - - - After ')', ',' - -No spaces -~~~~~~~~~ -- Within braces and code "(!test)", -- Before braces "if(code)" -- No space before ), so if '))', do not put a space after the first ')' - - -Linebreaks -~~~~~~~~~~ -This somehow includes the setting of braces (indirectly through (not) setting -spaces. - -If -^^ - -Put the if, the braces and the opening curly brace on one line, -put the closing one together with `else` and the new opening -curly brace on one line: - ------------------------------------------------------------------------------- -if(...) { - /* code */ -} else { - /* else: code */ -} ------------------------------------------------------------------------------- - -While -^^^^^ ------------------------------------------------------------------------------- -while(condition) { - /* repeat */ -} ------------------------------------------------------------------------------- - -Do-While -^^^^^^^^ ------------------------------------------------------------------------------- -do { - /* something */ -} while(running); ------------------------------------------------------------------------------- - -Switch -^^^^^^ - ------------------------------------------------------------------------------- -switch(value) { - case DO_SOMETHING: - /* code */ - break; - default: - break; -} ------------------------------------------------------------------------------- - - - -Where to put curly braces -------------------------- - -Functions -~~~~~~~~~ -Opening and closing curly braces are placed on a seperate row: - ------------------------------------------------------------------------------- -int func(int params) -{ - body -} ------------------------------------------------------------------------------- - - -If, else, while, do-while -~~~~~~~~~~~~~~~~~~~~~~~~~ -See above. - - -Comments ---------- -where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - -If there is more than one line containing a comment, try to adjust them -so they look the same in width and position: - ------------------------------------------------------------------------------- - int illuminati = 23; /* do not want to comment that */ - int the_answer_to_everything = 42; /* 42. */ - - [...] - - while(illuminati < the_answer_to_everything) { /* only try before them */ - overtake_world(&self); /* overtake is complex */ - } ------------------------------------------------------------------------------- - - -Header -------- -Put a header into each file, containing: - - - Date of file being put into existence (year is enough) - - Name and e-mail (obfuscated if you want) of the author(s) - - Description of the function - - Copyright statement (if not included GPLv2 or later is assumed) - - -Includes -~~~~~~~~ -Include system headers first, then place own headers. Comment the includes, -wherefore you added them. Example: - ------------------------------------------------------------------------------- -#include /* write */ -#include "cinit.h> /* cinit_ipc_* */ ------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre8/doc/devel/communication.text deleted file mode 100644 index 08db7666..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/communication.text +++ /dev/null @@ -1,224 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -The byte order is host specific (may be little or big endian). - -Type -~~~~ -Messages are binary data. - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre8/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre8/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre8/doc/devel/ipc.text deleted file mode 100644 index 7013a985..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/ipc.text +++ /dev/null @@ -1,108 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre8/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre8/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre8/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre8/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre8/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre8/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre8/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre8/doc/man/cinit.text deleted file mode 100644 index bd9bd0ab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre8/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre8/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre8/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/config-dirs b/software/cinit/browse_source/cinit-0.3pre8/doc/user/config-dirs deleted file mode 100644 index 4a8fbb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/config-dirs +++ /dev/null @@ -1,19 +0,0 @@ -configuring - - /etc/cinit/defaults/panic -> link to something to execute on panic - (most likely /sbin/sulogin) - - /etc/cinit/defaults/tmp -> link to a directory where - the socket should be created, - after finishing boot - - What todo right before halting/rebooting/powering off - /etc/cinit/special/ - -> halt - -> reboot - -> poweroff - -Configuration -------------- - -Send kill signal diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/configuring.cinit.text deleted file mode 100644 index 1de033fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/configuring.cinit.text +++ /dev/null @@ -1,320 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - -The cinit configuration consists of -- a special configuration directory -- and the service definitions. - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - -Conf ----- -The special configuration directory is normally called `conf/` -(defined at compile-time in `conf/c_confdir`). - -For all executables into this directory apply the same rules as mentioned -below in "Execution: on and off": Appened .params specifies parameters, -appended .env specifies environment. - - -conf/last -~~~~~~~~~ -This is the last part that will be executed. After it has finished, cinit -will halt, power-off or reboot your machine. - -You can use it for whatever task to accomplish (as most things of cinit), but -the idea behind it is to use it for cleaning up things that are not covered -by the off parts of the services. This maybe swapoff (although this is an unecessary -call before poweroff, imho and even if needed this could be handled within the -off part of the same services that enabled it) or `umount -a` for everything -manually mounted and not unmounted yet. - - -conf/sleep_before_kill -~~~~~~~~~~~~~~~~~~~~~~ -This file contains just one line: The number of seconds to sleep after SIGTERM was sent -to every remaining process before sending SIGKILL to all processes. If this file -is unreadable or not existent, cinit will fall back to the value compiled in -(which was specified at build time in conf/sleep_kill). - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start). - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - -Examples --------- -Currently there are no example configurations available. -As soon as they are, you will be able to download them at -cinit's homepage. - ---> configuration.example.text - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/daemons.backgrounding.text deleted file mode 100644 index cf0c32f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,82 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- freeradius [radiusd]: -f -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openpbx [pbx]: -f -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre8/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre8/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre8/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre8/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre8/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre8/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre8/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre8/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.read-conf deleted file mode 100644 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre8/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/cinit.release b/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/cinit.release deleted file mode 100644 index 1d71964e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/cinit.release +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: ls -l - -# only release if I tell it to release -[ "$1" = "now" ] || exit 23 - -#if [ $# -ne 2 ]; then -# echo "This is a maintainer-only script to release cinit" -# echo $(basename $0): source-dir version -# exit 1 -#fi - -DDIR="$(cd $(dirname $0)/../../../; pwd -P)" -DIR="$(cd $(dirname $0)/../../; pwd -P)" -VERSION="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')" -VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')" -VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):$/\1/')" - -echo "=> Version directory: $VERSION" -echo "=> Version conf/version: $VERSION_CONF" -echo "=> Version CHANGES: $VERSION_CHANGES" - -if [ "$VERSION" = "$VERSION_CONF" -a "$VERSION" = "$VERSION_CHANGES" ]; then - echo "=> Version confirmed." -fi - -echo -n "=> Continue? " -read yes - -#DIR=$1 -#VERSION=$2 -OUT_NAME=cinit-${VERSION}.tar.bz2 -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ -LINK=current - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -( cd "$DIR" && make dist ) || exit 1 - -echo "Creating bzip2 compressed tar" -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$DIR" -chmod 0644 "$OUT_NAME" -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$DIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$DIR\" \"$LINK\"" -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/compile+run.sh deleted file mode 100644 index 30ec68a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/compile+run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -if [ ! "$1" ]; then - echo "HOSTNAME" - exit 23 -fi - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$host" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/compile_local.sh deleted file mode 100644 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/compile_run_as_compiler.sh b/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/compile_run_as_compiler.sh deleted file mode 100644 index f1ba01d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/compile_run_as_compiler.sh +++ /dev/null @@ -1,14 +0,0 @@ -what=$(dirname $0)/../../ -what_real=$(cd "$what" && pwd -P) -dest=~compiler/cinit-test - -set -e -sudo rsync -av "${what_real}/" "$dest" -sudo chown -R compiler "$dest" -sudo -u compiler "${dest}/scripts/internal/compile_local.sh" -sudo -u compiler "${dest}/src/cinit" & -sleep 13 -sudo -u compiler "${dest}/scripts/internal/stop_cinit.sh" - -# exit 0 for make -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/compile_test.sh deleted file mode 100644 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/create_test_config.sh deleted file mode 100644 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/find_right_version.sh deleted file mode 100644 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/stop_cinit.sh b/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/stop_cinit.sh deleted file mode 100644 index 86e4d82b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/stop_cinit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Linux specific, but don't care, I am the only person that should use it - -killall -TERM cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/test_on_hosts.sh deleted file mode 100644 index e6df35ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net bot.unixkiste.org suckz.eu jiffies.forkbomb.ch" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/valgrind deleted file mode 100644 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre8/scripts/report.compile deleted file mode 100644 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre8/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre8/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2007-02-23-202443 b/software/cinit/browse_source/cinit-0.3pre8/size/2007-02-23-202443 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2007-02-23-202443 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2007-02-23-202720 b/software/cinit/browse_source/cinit-0.3pre8/size/2007-02-23-202720 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2007-02-23-202720 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2007-03-07-231936 b/software/cinit/browse_source/cinit-0.3pre8/size/2007-03-07-231936 deleted file mode 100644 index c2ef3d0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2007-03-07-231936 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71213 2007-03-07 23:18 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/size/2007-04-06-011811 b/software/cinit/browse_source/cinit-0.3pre8/size/2007-04-06-011811 deleted file mode 100644 index 73de8724..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/size/2007-04-06-011811 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71281 2007-04-06 01:17 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/Makefile b/software/cinit/browse_source/cinit-0.3pre8/src/Makefile deleted file mode 100644 index 863c3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/Makefile +++ /dev/null @@ -1,131 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -#include Makefile.tests - -# Build tools / locations -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin - -# directories and files -CONFIG_H=include/config.h - -BIN=cinit - -# -# All objects depend on headers. More or less. FIXME: use gcc -M -# -CINIT_HEADERS=$(shell cat include/listing) - -# NEW -CINIT_OBJ=$(shell cat object_lists/cinit) - -# -# Client modules -# -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -OBJ=$(SERV) $(SERV_OS) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -CCO_OBJ=util/ccontrol.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -#all: $(BIN) -all: cinit - - -# -# Generic -# -$(CINIT_OBJ): $(CINIT_HEADERS) - -%.o: %.c - $(CC) -c -o $@ $< - - - -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -$(CINIT_OBJ): $(CONFIG_H) - - -$(CONFIG_H): ../conf/* - ../scripts/cinit.mkheader > $(CONFIG_H) - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# -cinit: $(CINIT_OBJ) - $(LD) $^ -o $@ - -################################################################################ -# -# Generic targets -# - -.PHONY: dist -dist: distclean - -.PHONY: distclean -distclean: clean - rm -f os/current ipc/current .configured - -.PHONY: clean -clean: - rm -f ../tmpbin/*.configured - rm -f $(BIN) $(CINIT_OBJ) - rm -f test/*.o diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre8/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre8/src/ancient/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ancient/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ancient/run_init_svc2.c b/software/cinit/browse_source/cinit-0.3pre8/src/ancient/run_init_svc2.c deleted file mode 100644 index b613ed6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ancient/run_init_svc2.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ancient/run_svc.c b/software/cinit/browse_source/cinit-0.3pre8/src/ancient/run_svc.c deleted file mode 100644 index 95cc324d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ancient/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre8/src/core/build_argv.c deleted file mode 100644 index b006c7fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/core/build_argv.c +++ /dev/null @@ -1,171 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "cinit.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX+1]; - char *sbuf = NULL; - char *p; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - /* FIXME: remove in production */ - mini_printf("CBA::",1); - mini_printf(basename,1); - mini_printf("\n",1); - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename,pathtmp,PATH_MAX)) == -1) { - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - /* FIXME check bounds! */ - strcpy(pathtmp,basename); - strcat(pathtmp,C_PARAMS); - /* ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL - * ORC_OK: Ok, have a filled buffer (perhaps NULL, too) - * other: Error, print errno - */ - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p+1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,basename); - strcat(pathtmp,C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - sbuf = p+1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre8/src/core/cinit.c deleted file mode 100644 index 0e709a9b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/core/cinit.c +++ /dev/null @@ -1,91 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "cinit.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ -// pid_t cpid; - - - /* FIXME: RE-ENABLE as SOON AS PRODUCTIVE cpid = getpid(); - * Is this really needed or should we lock() ourselves? - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - /* Look whether we should start a profile */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc-1], strlen(PROFILE) ) ) { - initdir = (char *) malloc( - strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* listen to signals */ - set_signals(ACT_SERV); - - /* pre-calculate service tree */ - gen_svc_tree(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* start tree from the bottom */ - /* FIXME: use panic() instead? */ - if(!tree_exec(svc_init)) return 1; - - mini_printf("=> cinit started.\n",1); - - /* listen for incomming messages: should never return */ - if(!cinit_ipc_listen()) { - panic(); - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre8/src/core/do_reboot.c deleted file mode 100644 index 88304f88..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/core/do_reboot.c +++ /dev/null @@ -1,99 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include - -#include "ipc.h" - -/* cleaned up own headers */ -#include "cinit.h" /* set_signals */ -#include "svc.h" /* shutdown_services */ -#include "messages.h" /* messages */ - -/* cleaned headers */ -#include /* kill() */ - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - //char **cmd; - //int i; - - /* - * New code: - * 0. close user ipc - * - notify user! - * - do not allow user interupt anymore - * 1. shutdown services - * - notify user! - * 2. kill -TERM all processes - * - notify user! - * 3. kill -KILL all processes - * - notify user! - * 4. execute /etc/cinit/conf/{halt,reboot,poweroff} - * - notify user! - */ - - /* tell the user what happens */ - LOG(MSG_SHUTDOWN_START); - - /* do not listen to client requests anymore */ - cinit_ipc_destroy(); - - /* FIXME: ignore signals now / install new signal-handlers! */ - set_signals(ACT_CLIENT); - - LOG(MSG_SHUTDOWN_SVC); - /* shutdown all services: take care about the dependency tree */ - shutdown_services(); - - LOG(MSG_SHUTDOWN_KILL); - /* now: all services are down, let's kill all other processes */ - if(kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - if(kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* Execute the last command */ - LOG(MSG_SHUTDOWN_LAST); - execute_and_wait(CINIT_LAST); - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } - /* FIXME: should we exit? */ - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre8/src/core/panic.c deleted file mode 100644 index 48a5d17f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/core/panic.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include /* execv */ - -#include "cinit.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) _exit(0); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - if(execv(SULOGIN,nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* there's nothing todo, if everything fails */ - _exit(23); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre8/src/core/set_signals.c deleted file mode 100644 index 8fed8f38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/core/set_signals.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ -#include "cinit.h" /* defines */ - -void set_signals(int action) -{ - struct sigaction sa; - - sigemptyset(&sa.sa_mask); /* no other signals should be blocked */ - sa.sa_flags = 0; - - if(action == ACT_SERV) { - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - } else { - sa.sa_handler = SIG_DFL; - } - - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - sa.sa_flags = 0; /* reset flags */ - if(action == ACT_SERV) { - sa.sa_handler = do_reboot; - } - sigaction(SIGHUP, &sa, NULL); /* reboot */ - sigaction(SIGTERM, &sa, NULL); /* poweroff */ - sigaction(SIGUSR1, &sa, NULL); /* halt */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre8/src/core/sig_child.c deleted file mode 100644 index 4b32571d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/core/sig_child.c +++ /dev/null @@ -1,59 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The child handler - * - */ - -#include /* waitpid */ -#include /* NULL */ - -#include "cinit.h" /* */ -#include "svc.h" /* list_search_pid */ -#include "messages.h" /* messages */ - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - /* New code: - * - search for pid in service list - * * if (respawn) -> start new - * - insert delay? if exit code is non-zero? if uptime too less? - * * if (once) -> update service status - * * else ignore, but reap away - */ - pid_t pid; - struct listitem *svc; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - /* check if it's a watched child */ - svc = list_search_pid((pid_t) pid); - - if(svc != NULL) { - /* Check, that we are operating on it =. that it is no normal child */ - if(svc->status & ST_ONCE_RUN - || svc->status & ST_SH_RESPAWN - || svc->status & ST_RESPAWNING) { - if(WIFEXITED(tmp) && !WEXITSTATUS(tmp)) { - svc_success(svc); - } else { - svc_fail(svc); - } - } - - /* respawn: restart: FIXME Delay for regular dying services */ - if(svc->status == ST_RESPAWNING) { - svc_report_status(svc->abs_path,MSG_SVC_RESTART,NULL); - svc_start(svc); - } - } else { - /* FIXME remove in production version */ - mini_printf("Cleanup: reparenting\n",1); - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre8/src/generic/execute_and_wait.c deleted file mode 100644 index 9cc78475..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/generic/execute_and_wait.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ -#include "messages.h" /* MSG_* */ -#include "cinit.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* fork */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* exec / child */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* wait / parent */ - waitpid(pid,&status,0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre8/src/generic/execute_sth.c deleted file mode 100644 index 6b7d74a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/generic/execute_sth.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ -#include "cinit.h" -#include "build_argv.h" - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - /* FIXME remove later */ - mini_printf("ES::",1); - mini_printf(basename,1); - mini_printf("\n",1); - - tmp = cinit_build_argv(basename,&bav); - if((tmp = cinit_build_argv(basename,&bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for cinit to recognize - it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre8/src/generic/file_exists.c deleted file mode 100644 index 0b8ff2a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/generic/file_exists.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* errno */ -#include /* stat */ -#include "cinit.h" - -int file_exists(char *filename) -{ - struct stat buf; - - if(stat(filename,&buf) == -1) { - if(errno == ENOENT) { - return FE_NOT; - } else { - print_errno(filename); - return FE_ERR; - } - } else { - if(!S_ISREG(buf.st_mode)) { - return FE_OTHER; - } - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre8/src/generic/mini_printf.c deleted file mode 100644 index d5b0d1f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd,str,(size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre8/src/generic/openreadclose.c deleted file mode 100644 index b76fc9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/generic/openreadclose.c +++ /dev/null @@ -1,73 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "cinit.h" - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - /* FIXME remove in production */ - mini_printf("ORC:",1); - mini_printf(filename,1); - mini_printf("\n",1); - *where = NULL; - - /* what a wonderful loop */ - while((fd = open(filename,O_RDONLY)) == -1) { - if(errno == ENOENT) return ORC_ERR_NONEXISTENT; - if(errno != EINTR) return ORC_ERR_OPEN; - } - - cnt = 0; - while (1) { - tmp = read(fd,buf,512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where,cnt + 1); - if(*where == NULL) return ORC_ERR_MEM; - - /* FIXME check correctness of copied buffer... - * and get some sleep..soon, very soon! */ - strncpy(&(*where)[cnt-tmp],buf,tmp); - mini_printf("ORC: ",1); - mini_printf(buf,1); - mini_printf("\n",1); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) continue; - return ORC_ERR_CLOSE; - } - - /* terminate string! */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre8/src/generic/path_absolute.c deleted file mode 100644 index 691a3a38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "cinit.h" /* print_errno */ -#include "messages.h" /* print_errno */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre8/src/generic/path_append.c deleted file mode 100644 index c6617ba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/generic/path_append.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre8/src/generic/print_errno.c deleted file mode 100644 index 7415d556..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre8/src/generic/sleep_before_kill.c deleted file mode 100644 index ff0740f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,43 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Sleep: - * read configuration, - * fallback to builtin value if not possible, - * sleep. - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "cinit.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE,&content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) tmp = SLEEP_KILL; - free(content); - } else { - mini_printf("builtin sleep\n",1); - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts,NULL) == -1) { - print_errno(MSG_GEN_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre8/src/generic/strip_final_newline.c deleted file mode 100644 index d9c12f05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/generic/strip_final_newline.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ -#include "cinit.h" /* FIXME debug */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) { - mini_printf("SFN: NULL\n",1); - return NULL; - } - - p = strrchr(str,'\n'); - if(p) { - if(*(p+1) == '\0') { - str = realloc(str,(p-str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre8/src/generic/usage.c deleted file mode 100644 index 2304ea39..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/generic/usage.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * usage: tell the user what's wrong and a help text - * - */ - -#include -#include "cinit.h" - -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre8/src/include/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/include/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre8/src/include/cinit.h deleted file mode 100644 index adb2d1d3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/include/cinit.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_H -#define _CINIT_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_LAST CINIT_CONFDIR SLASH C_LAST -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* core functions */ -void do_reboot(int signal); -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -int msg_reboot(char cmd); -void print_errno(char *text); - -/* os-functions */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - -#endif /* _CINIT_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/include/comm.h b/software/cinit/browse_source/cinit-0.3pre8/src/include/comm.h deleted file mode 100644 index b9aaf60f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/include/comm.h +++ /dev/null @@ -1,69 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_START_SVC=1, /* the client wants US to start a service */ - CMD_START_SVC_ONLY, /* start this service without dependencies */ - CMD_STOP_SVC, /* stop svc and all svcs that need it */ - CMD_STOP_SVC_ONLY, /* we should stop _only_ this service */ - CMD_STOP_SVC_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ - CMD_RESCUE, /* we should start the rescue mode */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ - CMD_INFO /* send information about that service */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre8/src/include/ipc.h deleted file mode 100644 index 66b3bc86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/include/ipc.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init (client init) */ -int cinit_ipc_connect(void); /* connect to init */ -int cinit_ipc_csend(void *data); /* send to the server from a client */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/include/listing b/software/cinit/browse_source/cinit-0.3pre8/src/include/listing deleted file mode 100644 index df30f408..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/include/listing +++ /dev/null @@ -1,5 +0,0 @@ -include/cinit.h -include/config.h -include/ipc.h -include/messages.h -include/os.h diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre8/src/include/messages.h deleted file mode 100644 index bc0006a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/include/messages.h +++ /dev/null @@ -1,136 +0,0 @@ -/* - * (c) 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * All messages - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -/* Messages to the outside */ -#define MSG_BIND "bind" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_KILLBILL "sigkill" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_TERMKILL "sigterm" -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ - -/* services: how they should be printed - * /etc/cinit/svc/long/name: started once - * /etc/cinit/svc/long/name: is respawning - * /etc/cinit/svc/long/name: FAILED (why it happened) - */ - -#define MSG_INTRO_CINIT "ct/" -#define MSG_INTRO_SVC MSG_INTRO_CINIT "service:" -#define MSG_INTRO_STOP MSG_INTRO_CINIT "stop: " - -/* FIXME: remove/append, but no intro! */ -#define MSG_INTRO_FAIL "FAILED " -#define MSG_INTRO_RESPAWN MSG_INTRO_CINIT "respawn: " -#define MSG_INTRO_OK MSG_INTRO_CINIT "ok: " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" - - - -#define MSG_TREE_EXEC MSG_INTRO_CINIT "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_GEN_SLEEP "sleep" -#define MSG_FATAL_PANIC MSG_INTRO_CINIT "I tried everything, but even panic() failed: " - -/* Service messages */ -#define MSG_SVC_START "Starting... " -#define MSG_SVC_STOP "Stoping... " -#define MSG_SVC_RESTART "Restarted." -#define MSG_SVC_OK_ONCE "Started once." -#define MSG_SVC_OK_RESPAWN "Is respawning." - -/* Status messages */ -#define MSG_SHUTDOWN_START MSG_INTRO_STOP "Beginning the shutdown process..." -#define MSG_SHUTDOWN_SVC MSG_INTRO_STOP "Shutting down services now..." -#define MSG_SHUTDOWN_KILL MSG_INTRO_STOP "Killing remaining processes..." -#define MSG_SHUTDOWN_LAST MSG_INTRO_STOP "Executing final service..." -#define MSG_POWER_OFF MSG_INTRO_STOP "Powering off..." -#define MSG_HALT MSG_INTRO_STOP "Halting system ..." -#define MSG_REBOOT MSG_INTRO_STOP "Rebooting ..." - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre8/src/include/os.h deleted file mode 100644 index b3320c0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/include/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre8/src/include/svc.h deleted file mode 100644 index 903ac94a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/include/svc.h +++ /dev/null @@ -1,128 +0,0 @@ -/*********************************************************************** - * - * 2006,2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - - -#ifndef _CINIT_SVC_H -#define _CINIT_SVC_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char *abs_path; /* name of service */ - long int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - - - struct dep *wanted; /* list of services that want this service */ - struct dep *needed; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *svc_init; /* the services to start */ -extern struct listitem *svc_list; /* the list of services */ - -/* list functions */ -struct listitem *list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); -//int list_display_all(); /* debug only */ - - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -int svc_set_status(struct listitem *li, int status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void svc_start(struct listitem *li); -void shutdown_services(void); - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -/*********************************************************************** - * status of a service and return codes - errors and success - */ -enum svc_status_old { - ST_TMPNOW=1, /* the client is now starting the service NEEDED??? */ - ST_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - - ST_OFF, /* service is off */ - ST_OFF_ALL, /* service and those that need it are off */ - ST_OFF_ALL_F, /* same, but something failed */ - ST_OFF_WANTS, /* service + those that need or want it are off */ - ST_OFF_WANTS_F, /* same, but something failed */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ -}; - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum svc_status { - /* first define basics */ - ST_SH_ONCE = 0x1, /* service SHould be started once */ - ST_SH_RESPAWN = 0x2, /* service SHould respawn */ - ST_ONCE_OK = 0x4, /* service was successfully started once */ - ST_ONCE_FAIL = 0x8, /* service failed to start */ - ST_RESPAWNING = 0x10, /* service is respawning */ - ST_NEED_FAILD = 0x20, /* this service is not started, need failed */ - ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - ST_ONCE_RUN = 0x100 /* the once process is currently running */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum svc_needs_status { - SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - SNS_NEEDS_FAILED, /* one ore more needs failed */ - SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index d703bef8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ - -#include "msgq.h" /* mq_in, mq_out */ -#include "cinit.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(mq_in,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(mq_out,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index 11c610ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,47 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-linux-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "cinit.h" -#include "config.h" -#include "msgq.h" - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_in = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_in == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* to_client */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_out = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index bbc71d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,48 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "cinit.h" /* print_errno */ -#include "config.h" -#include "msgq.h" - -int cinit_ipc_listen(void) -{ - int tmp; - - struct msg_client m_client; - - while (1) { - /* FIXME: change msg structure */ - tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - - if(tmp == -1) { - /* FIXME: EINTR ignore */ - print_errno(MSG_MSGQ_MSGRCV); - } - - //printf("pid: %d, m_client\n",m_client.pid); - - /* use pid as the message type - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - return 0; - } */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index 6df05ce4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "cinit.h" /* print_errno */ -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - key_t k_in, k_out; /* FIXME: remove one variable */ - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - k_out = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_sclose.c b/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_sclose.c deleted file mode 100644 index cce784a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/cinit_ipc_sclose.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-linux-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Close the ressources from the server, clean state for forks. - * - */ - -int cinit_ipc_sclose(void) -{ - return 1; /* nothing to do when using message queues */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/msgq.h deleted file mode 100644 index 01c6e769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * part of cinit - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define MSGQ_TO_SERVER 'i' /* also for ftok */ -#define MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables - */ -int mq_in; /* input */ -int mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_FTOK "ftok" -#define MSG_MSGQ_MSGGET "msgget" -#define MSG_MSGQ_MSGRCV "msgrcv" -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre8/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre8/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre8/src/object_lists/cinit deleted file mode 100644 index 537202b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/object_lists/cinit +++ /dev/null @@ -1,50 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/set_signals.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/list_delete.o -svc/list_insert.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/shutdown_services.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_start.o -svc/svc_fail.o diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre8/src/os/freebsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre8/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre8/src/os/freebsd/poweroff.c deleted file mode 100644 index c73dd079..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre8/src/os/freebsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre8/src/os/linux/halt.c deleted file mode 100644 index 5ee3eb53..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre8/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre8/src/os/linux/poweroff.c deleted file mode 100644 index c7d2b1c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre8/src/os/linux/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre8/src/os/netbsd/halt.c deleted file mode 100644 index 972aecf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/netbsd/halt.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre8/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre8/src/os/netbsd/poweroff.c deleted file mode 100644 index 17d7b259..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre8/src/os/netbsd/reboot.c deleted file mode 100644 index 14313e17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/netbsd/reboot.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre8/src/os/openbsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre8/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre8/src/os/openbsd/poweroff.c deleted file mode 100644 index bf4120e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre8/src/os/openbsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/check_add_deps.c deleted file mode 100644 index 9c1edc85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/check_add_deps.c +++ /dev/null @@ -1,128 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers, check: - * getcwd */ -#include - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "cinit.h" /* mini_printf */ -#include "messages.h" -#include "svc.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - /* FIXME remove in production */ - mini_printf("CAD::",1); - mini_printf(svc->abs_path,1); - mini_printf("\n",1); - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf,C_NEEDS)) return 0; - } else { - if(!path_append(buf,C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent=readdir(d_tmp))!=NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* skip non-working directories / broken links - * path_absolute reports errors on failure */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - dep_entry_add(&(new_svc->needed),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs),deps); - } else { - dep_entry_add(&(new_svc->wanted),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants),deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/dep_create.c deleted file mode 100644 index 691d66b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/dep_create.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/dep_entry_add.c deleted file mode 100644 index 2ac16443..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/dep_entry_add.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(*deplist == NULL) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/dep_entry_del.c deleted file mode 100644 index fd9fbab6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/dep_entry_del.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc.h" - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* last service in the list */ - if(del->next == del && del->prev == del) { - tmp=NULL; - } else { - /* remove from list */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/dep_needs_wants_add.c deleted file mode 100644 index b7afb02b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,64 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ -#include "svc.h" - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed; - } else { - end = svc->wanted; - } - - /* Place to the first dependency of this service */ - tmp = end; - if(tmp != NULL) { - do { - /* Add service to the starter list, which - * - should be started once - * - should be respawned (both VIRGIN services!) - * - and which are not already in the list! - */ - if(((tmp->svc->status & ST_SH_ONCE) || - (tmp->svc->status & ST_SH_RESPAWN)) && - !(tmp->svc->status & ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= ST_IN_LIST; - dep_entry_add(list,new); - } - /* FIXME: Clearify if we should go forward or backwards? - * this decision will influence starting order - * and may thereby add a minimal mount of speed enhancement - * - * As far as I can see it is not predictable, which way is - * better, because it heavily depends on the other services. - * - * If you know better, provide me with a patch ;-) - */ - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/gen_svc_tree.c deleted file mode 100644 index 65f4028f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include -#include "cinit.h" -#include "svc.h" - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li=list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return NULL; - - if(!check_add_deps(li,DEP_NEEDS)) return NULL; - if(!check_add_deps(li,DEP_WANTS)) return NULL; - - /* no dependencies? then you are a start service */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&svc_init,deps); - - /* Mark it as being in the startup list, so it does not - * get added again in a dep_needs_wants_add call */ - li->status |= ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_delete.c deleted file mode 100644 index 5a742fe9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_delete.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* free */ -#include "cinit.h" /* list_search */ -#include "svc.h" /* listitem */ - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if(tmp == NULL) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - - free(tmp->abs_path); - free(tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_display_all.c deleted file mode 100644 index 12adff80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_display_all.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ -#include "cinit.h" -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return 0; - } else { - tmp = svc_list; - } - - do { - mini_printf("Service: ",1); - mini_printf(tmp->abs_path,1); - mini_printf("\n",1); - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_insert.c deleted file mode 100644 index a0ad6f2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_insert.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* malloc */ -#include /* bzero / memset */ -#include "svc.h" /* the list pointer */ - -struct listitem *list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) return NULL; - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_modify.c deleted file mode 100644 index 73891117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_modify.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED. Not in use anymore. - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if(tmp == NULL) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_search.c deleted file mode 100644 index b40fae23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_search.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "cinit.h" -#include "svc.h" - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_search_pid.c deleted file mode 100644 index f8731bec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/list_search_pid.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Search by pid - */ - -#include /* NULL */ -#include /* pid_t */ -#include "svc.h" /* struct listitem */ - -struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return NULL; - } else { - tmp = svc_list; - } - - do { - if(pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/shutdown_services.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/shutdown_services.c deleted file mode 100644 index 61b71c1b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/shutdown_services.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Shutdown all services - */ - -void shutdown_services(void) -{ - - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_add_needs.c deleted file mode 100644 index 325e61a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_add_needs.c +++ /dev/null @@ -1,67 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED! - * - * part of cLinux/cinit - * - * List handling - */ - -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_create.c deleted file mode 100644 index b6d4a415..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_create.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* strcpy */ -#include /* stat */ -#include /* stat */ -#include /* PATH_MAX */ -#include /* errno */ -#include "svc.h" /* listitem */ -#include "cinit.h" /* path_append */ - -/* checking for existence is done before! */ -/* FIXME: check heedars for conformance with POSIX */ -struct listitem *svc_create(char *svc) -{ - char buf[PATH_MAX+1]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc,-1); - if(!li) return NULL; - - /* FIXME: add two path length checks? svc and svc+strlen(C_RESPAWN)? */ - strcpy(buf,svc); - if(!path_append(buf,C_RESPAWN)) return NULL; - - if(stat(buf,&statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li,ST_SH_ONCE); - } else { - return NULL; - } - } else { - /* FIXME remove debug */ - mini_printf("respawn: ",1); - mini_printf(li->abs_path,1); - mini_printf("\n",1); - svc_set_status(li,ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_fail.c deleted file mode 100644 index 7c150c85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_fail.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Mark the service as being failed - */ - -#include "svc.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) - li->status = ST_ONCE_FAIL; - else { - /* FIXME: do something senseful, record time of dead? */ - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_needs_status.c deleted file mode 100644 index ccf4cb8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_needs_status.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return status of the needs of this service - */ - -#include /* NULL */ -#include "svc.h" /* service information */ - -// DEBUG #include "cinit.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - - if(deps == NULL) return SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* worst case: need failed */ - if((deps->svc->status & ST_NEED_FAILD) || - (deps->svc->status & ST_ONCE_FAIL)) { - retval = SNS_NEEDS_FAILED; - break; - } - /* services are being started */ - if((deps->svc->status & ST_SH_ONCE) || - (deps->svc->status & ST_SH_RESPAWN)) { - retval = SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_report_status.c deleted file mode 100644 index 4cc1edf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_report_status.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Tell the world what happened to the service - */ - -#include "cinit.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC,1); - mini_printf(svc,1); - mini_printf(": ",1); - mini_printf(msg,1); - if(err) { - mini_printf(" (",1); - mini_printf(err,1); - mini_printf(")",1); - } - mini_printf("\n",1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_respawn_check.c deleted file mode 100644 index e1802894..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED? not in use. - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX+1]; - - strcpy(buf,svc->abs_path); - if(!path_append(buf,C_RESPAWN)) return 0 -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_set_status.c deleted file mode 100644 index 73d5da91..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_set_status.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_set_status(struct listitem *li, int status) -{ - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_should_respawn.c deleted file mode 100644 index 04acfe1d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return whether should respawn or not - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_start.c deleted file mode 100644 index 8e75a8de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_start.c +++ /dev/null @@ -1,70 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include "svc.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "cinit.h" /* execute_sth */ - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li) -{ - char buf[PATH_MAX+1]; - - /* FIXME: All cleanup must go here - * close(fds); - * reset signals - * reset env? - * - * FIXME: Add logging possibility to here - * open (0,1,2) to other processes, if specified */ - li->pid = fork(); - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path,MSG_SVC_FORK,strerror(errno)); - svc_set_status(li,ST_BAD_ERR); - return; - } - /********************** parent ************************/ - if(li->pid > 0) { - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_RUN; - else - li->status = ST_RESPAWNING; - return; - } - - /********************** Client / fork() ************************/ - svc_report_status(li->abs_path,MSG_SVC_START,NULL); - - /* length check is done by path_append */ - strcpy(buf,li->abs_path); - if(!path_append(buf,C_ON)) return; - - /* Check for existence */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) _exit(0); /* nothing there? fine! */ - - if(li->status == FE_FILE) { - /* FIXME: reset signals: Is this necessary? Or does fork clean it anyway? */ - set_signals(ACT_CLIENT); - - /* and now, fire it up */ - execute_sth(buf); - } else { - /* either no file or an error */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_success.c deleted file mode 100644 index dc4057e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/svc_success.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include /* NULL */ - -#include "svc.h" /* listitem, svc_report_status */ -#include "messages.h" /* messages */ - -void svc_success(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) { - svc_report_status(li->abs_path,MSG_SVC_OK_ONCE,NULL); - li->status = ST_ONCE_OK; - } else { - svc_report_status(li->abs_path,MSG_SVC_OK_RESPAWN,NULL); - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre8/src/svc/tree_exec.c deleted file mode 100644 index 449b5e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/svc/tree_exec.c +++ /dev/null @@ -1,64 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - -#include /* NULL */ -#include "cinit.h" /* mini_printf */ -#include "svc.h" /* svc_init */ -#include "messages.h" /* messages */ - -/* some thoughts... - * - * - we already generated the tree, we now need to start it from - * the ends - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - - mini_printf(MSG_TREE_EXEC,1); - - /* the main starting loop: All services in this list should be - * started, but it is possible that dependent services are in the - * list. In this case simply skip the current service - */ - do { - switch(svc_needs_status(tmp->svc)) { - case SNS_NEEDS_STARTED: - /* execute service, add dependencies, remowe from list */ - svc_start(tmp->svc); - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_FAILED: - /* mark service as NEED_FAILD and delete from list */ - svc_report_status(tmp->svc->abs_path,MSG_SVC_NEED_FAIL,NULL); - svc_set_status(tmp->svc,ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_UNFINISHED: - /* continue with the next item */ - tmp = tmp->next; - break; - } - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre8/src/test/test_build_argv+link.c deleted file mode 100644 index f74b4f36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre8/src/test/test_build_argv.c deleted file mode 100644 index 3938aa0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre8/src/test/test_gen_svc_tree.c deleted file mode 100644 index c13c46b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre8/src/test/test_openreadclose.c deleted file mode 100644 index 2f722da5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file,&data); - - printf("%s\n",data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre8/util/README b/software/cinit/browse_source/cinit-0.3pre8/util/README deleted file mode 100644 index f66e0ddb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/util/README +++ /dev/null @@ -1,4 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre8/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre8/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre8/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre8/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre8/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre8/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre8/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre9/ b/software/cinit/browse_source/cinit-0.3pre9/ deleted file mode 100644 index 73dc3060..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/ +++ /dev/null @@ -1,4 +0,0 @@ -This is a non-existing file, how did you find it? ;-) - -It seems like you know a bit about your system, perhaps -you want to join cinit development in #cLinux on irc.freenode.org? diff --git a/software/cinit/browse_source/cinit-0.3pre9/.exclude b/software/cinit/browse_source/cinit-0.3pre9/.exclude deleted file mode 100644 index 1a2d31e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/.exclude +++ /dev/null @@ -1,2 +0,0 @@ -tmp -.git diff --git a/software/cinit/browse_source/cinit-0.3pre9/.gitignore b/software/cinit/browse_source/cinit-0.3pre9/.gitignore deleted file mode 100644 index abbc2a7c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -*.o -*.a -*0? -MT -ddoc -contrib+tools/cinit.graph.text -config.h -sbin -tmp -os/current -tmpbin -src/os/current -src/ipc/current -src/cinit -*.html -*.htm -*.man -*.texi -*.texi -*.docbook diff --git a/software/cinit/browse_source/cinit-0.3pre9/CHANGES b/software/cinit/browse_source/cinit-0.3pre9/CHANGES deleted file mode 100644 index 3f7f8e8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/CHANGES +++ /dev/null @@ -1,70 +0,0 @@ -cinit-0.3pre9: 2007-05-15 - - Implemented sleeping before respawn (static delay) - - Report broken links on execution, but ignore empty services - - Cleaned up message queue error reporting - -cinit-0.3pre8: 2007-04-06 - - Updated and merged documentation: Codingstyle and Codingguide - - Cleaned sigaction-code (fixes segfault on glibc) - - Cleaned object listings - - Added notifications at shutdown - - Fixed status check - -cinit-0.3pre7: 2007-02-17 - - Many code cleanups - - Fixed glibc problem with sigaction (for details view src/core/set_signals.c) - - Added general shutdown support (will *NOT* yet stop services, - but still stop your system) - -cinit-0.3pre6: - - Many code cleanups - - Added user documentation and cleaned up documentation in general - -cinit-0.3pre5: - - Finished new SIGCHLD handler - - First cleanups for real release. - - This version is the first 0.3pre version that can handle respawn! - -cinit-0.3pre4: - - Re-implemented execution of services. - - This version is the first 0.3pre version that COULD bootup your system! - -cinit-0.3pre3: - - Finished execution all services via the reversed service tree. - -cinit-0.3pre2: - - Finished generation of the dependency tree. - -cinit-0.3pre1: - - cinit should now compile on mostly all unices - - introduced much new code - - THIS IS A DEVELOPER RELEASE, NOT USABLE IN PRODUCTION ENVIRONMENTS. - -cinit-0.2.1: (Bugfix release) - - Fixed problem in contrib+tools/Makefile when installing - - added many new scripts to convert sys-v-init, which are still early beta - (see bin/cinit.merge.sysvinit-debian-sid) - -cinit-0.2: - - Much more verbose error reporting - - You can now also disable 'once ran' services, - - You can restart services with csevice -r - - Online speech in German is available - - C_DELAY support - variable delay for sending SIGKILL after SIGTERM - - First /etc/csys configuration example (wasserstoff) is available - - a Mailing list was created - - Added tools to analyze cinit configuration - (cinit-vis.pl, cinit.graph.text.c) - - Added tools to import and export configuration to XML - (make.cconfig.from.xml.rb,cconfig.graph.xml.rb) - - Removed unecessary signalling - - Added many helper scripts to install services (cinit.install.service*) - - Fixed many small bugs in old helper scripts (cinit.add.getty, cinit.get-conf, ...) - - Added ccontrol, which allows to control cinit - - Added update (-u) via ccontrol - - Stripped cservice, which now "only" controls services - - Removed swapoff from cinit code, should be handled by off - - Much better error and processing descriptions - - A bit more verbose reporting - - Restructured run_svc, now with better error detection - - Removed Kernel panic, when halting system diff --git a/software/cinit/browse_source/cinit-0.3pre9/COPYING b/software/cinit/browse_source/cinit-0.3pre9/COPYING deleted file mode 100644 index 3912109b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/software/cinit/browse_source/cinit-0.3pre9/CREDITS b/software/cinit/browse_source/cinit-0.3pre9/CREDITS deleted file mode 100644 index febdcf4b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/CREDITS +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Credits - People contributed to cinit -Nico Schottelius, 2005-05-17 (Last Change: ls -l) --------------------------------------------------------------------------------- - -The following list is sorted chronological, new contributors are -added at the end of the list. - - -RenĂ© Nussbaumer - * helping with the general IPC idea - * testing and proof-reading code -Marcus Przyklink - * coding linear lists, making MAX_SVC obsolete - * providing cinit-vs.pl to visualize the cinit-tree -Matteo Croce - * finding good strip parameters to save about 30KiB (on glibc) -Sandro Koechli - * testing, testing and testing cinit and cinit documentation -Marcus Wagner - * building and maintaining the Debian package -Peter Portmann - * testing cinit and documentation, writing cinit.graph.text in C, other coding -Tonnerre Lombard - * NetBSD support (host + hints) diff --git a/software/cinit/browse_source/cinit-0.3pre9/Changelog b/software/cinit/browse_source/cinit-0.3pre9/Changelog deleted file mode 100644 index 0fbf76f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/Changelog +++ /dev/null @@ -1,10 +0,0 @@ -Mo Okt 3 00:19:40 CEST 2005 - *Changelog can now be found in git database (cg-log) -Sun May 8 12:20:35 CEST 2005 - *Changelog can now be found in monotone database (monotone log) -Sat Apr 30 15:53:53 CEST 2005 - * add socket code -Tue Apr 26 15:29:53 CEST 2005 - * removed is_cinit support, initial messaging framework -Mon Apr 18 14:07:50 CEST 2005 - * added is_cinit -> recognize if you are cinit or a fork diff --git a/software/cinit/browse_source/cinit-0.3pre9/Makefile b/software/cinit/browse_source/cinit-0.3pre9/Makefile deleted file mode 100644 index c3f1539c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/Makefile +++ /dev/null @@ -1,108 +0,0 @@ -# -# cinit -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -# Directories and files -CDIRS=src doc - -# -# Targets -# - -# -# Warn per default, make sure the user knows what she does -# -warn: - @cat doc/.buildwarn - -all: sources documentation -dev-all: all sizecheck - -install clean dist distclean: - @for subdir in ${CDIRS}; do \ - echo "Making $@ in $$subdir"; \ - (cd $$subdir && ${MAKE} ${MAKEFLAGS} $@); \ - done; - -.PHONY: sources -sources: - ${MAKE} -C src all - -.PHONY: documentation -documentation: - ${MAKE} -C doc documentation - -sizecheck: sources - FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $$FILE; cat $$FILE; \ - cg-add $$FILE - cg-commit $$FILE -m "Size added" - #cg-commit $$FILE -m "Size: $$(awk '{ print $5 }' $$FILE)" - -source-size: clean - @echo -n "Source size (in KiB): " - @du -s src/ | awk '{ sum+=$$1 } END { print sum }' - - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - -config: - @./bin/cinit.configure.os - @./bin/cinit.configure.tools - @./bin/cinit.configure.ipc - @touch src/.configured - - -################################################################################ -# Tests -# -tests: - # does not work, due getting killed, due to design :-) - #./scripts/internal/compile_run_as_compiler.sh - ./scripts/internal/test_on_hosts.sh ./scripts/internal/compile_test.sh - -################################################################################ -# old -#DDOC=ddoc -#SDIRS=bin client conf comm doc generic serv util -# DO NOT CHANGE THIS. -#SBIN=sbin -#CINIT_BIN=$(SBIN)/cinit -# -#%.o: %.c -# $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< -#$(DDOC): -# mkdir $(DDOC) -# -#$(SBIN): -# mkdir $(SBIN) -# -#docs: $(DDOC) bin/cdoc-man.sh -# ./bin/cdoc-man.sh doc/cinit-doc > $(DDOC)/cinit.8 -# ./bin/cdoc-man.sh doc/cservice-doc > $(DDOC)/cservice.8 -#$(CSVC_OBJ) $(OBJ): $(CONFIG_H) -#clean: -# $(MAKE) -C src clean -# rm -f tmpbin/* -################################################################################ -#cservice: $(SBIN)/cservice -# -#$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) -# $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ -# $(STRIP) $@ -# -#ccontrol: $(SBIN)/ccontrol -# -#$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) -# $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ -# $(STRIP) $@ -# -#install:: install-dir cinit cservice ccontrol -# @echo '*** Installing cinit ***' -# ./bin/cinit.install.binary diff --git a/software/cinit/browse_source/cinit-0.3pre9/NEXTTODO b/software/cinit/browse_source/cinit-0.3pre9/NEXTTODO deleted file mode 100644 index 0af67c60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/NEXTTODO +++ /dev/null @@ -1,11 +0,0 @@ -- create cmd! - * cinit-0.3 client -- create some boot profiles -- cinit.install.standard.dirs.argv -check needs: - really started, after started or after finished starting? -wants: - are they checked? - -implement commands! -- fix devel/codingguideline.text! diff --git a/software/cinit/browse_source/cinit-0.3pre9/README b/software/cinit/browse_source/cinit-0.3pre9/README deleted file mode 100644 index 00f2651b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/README +++ /dev/null @@ -1,106 +0,0 @@ --------------------------------------------------------------------------------- -cinit, Nico Schottelius, 2005-04-28 [last change: 2005-05-07] --------------------------------------------------------------------------------- - -Introduction -============ -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Unix -- true dependencies (soft and hard!) -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -FIXME: Add mailing list here - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre9/ROADMAP b/software/cinit/browse_source/cinit-0.3pre9/ROADMAP deleted file mode 100644 index d66c6a11..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/ROADMAP +++ /dev/null @@ -1,117 +0,0 @@ --------------------------------------------------------------------------------- -THIS DOCUMENT SHOULD VANISH AS SOON AS EVERYTHING IS FINE --------------------------------------------------------------------------------- - -Timeline ---------- - * ~ End of October 2006: Reunderstand the code, manifest changes [DONE] - * ~ Mid of November 2006: Have a compile-able cinit [DONE] - * ~ End of November 2006: Have a testsystem booting cinit - * ~ Mid of December 2006: Have production stable cinit - - Begin with migration scripts - - publish installable pre-releases - * ~ End of December 2006: Have some generic migration scripts - - Have (different) understanable documents - * ~ Mid of January 2007: Begin official release of cinit-0.3 - - - - -Versions ---------- - -0.3: -~~~ - code: Make cinit compile again :) [DONE] - code: double check to remove Linux specific source from general tree [DONE] - code: seperate ipc from the rest [DONE] - code: fix / check signal handlers [DONE] - code: cleanup makefile - code: add porting code: add support for any unix in general [DONE] - code: stabilize code, remove experimenting parts - code: remove delay support, let off/off.params do that. - code: add special directory (/etc/cinit/special?) for os specific binaries [CANCELED] - -> halt, poweroff, reboot (NOTHING MORE THEY CAN DO) - -> SHOULD NOT BE IN THE PATH - code: move production code to src/ - end user doc: add warning for special binaries and hint for r/o only - amiga alike systems - - doc: begin to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.1: - devel doc: how to write merging scripts - devel doc: merging framework: - - minimal (do not look at the current configuration, build minimal) - - use current system (slowly, may use old scripts) - - rebuilt current system (recommened) - - tools: general framework for merging - end user doc: merging old init to cinit - - code: add porting code: add support for freebsd - code: better readable output: - -> starting - [ started once ] - [ respawning ] - [ failed ] (+ REASON!) - [ needs failed ] (which ones) - - -> stopping - [ stopping ] (for dependencies) - [ stopped ] ? - [ not running ] ? - - code: export profile information (CINIT_PROFILE) - end user doc: using different profiles in user space - end user doc: write examples for profiles: - o switch ssh known_hosts based on profile - o different proxy settings in browsers - - environment - - mozilla settings - o start samba (for lan) - o start samba (for company lan) - o use nis and nfs (company profile) - - doc: continue to merge old documents into new structure and move them - to the doc/ancient directory -0.3.2: - end user doc: what to read to use cinit - end user doc: installing cinit - end user doc: configuring cinit - tools: writing cinit-config (graphical (dialog based?) configuration tool) - code: add porting code: add support for openbsd - - code: add reverse dependency chain (or earlier?) - code: better support for external tools - o neustarten - o mit herunterfahren - o mit herunterfahren und allen Diensten, die abhaengen - o ohne herunterfahren - o Statische Daten - o pid vom Daemon - o pid vom einmal ausgefuehrten Programm - - - doc: end to merge old documents into new structure and move them - to the doc/ancient directory - -0.3.3: - devel doc: writing an init system - devel doc: the conf/-configuration system - - code: check conf/ and perhaps rewrite b0rken english sentences - - code / doc: add logging support for services -> use multilog? - code: add porting code: add support for netbsd - -0.4: - first stable, tested, well documented version. - - code: check for optimisation - - other: compare with other init systems - -0.4.x: - code: add porting code: add support for other unices diff --git a/software/cinit/browse_source/cinit-0.3pre9/TODO b/software/cinit/browse_source/cinit-0.3pre9/TODO deleted file mode 100644 index 0ff0872e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/TODO +++ /dev/null @@ -1,290 +0,0 @@ --------------------------------------------------------------------------------- -- define how it should work (doc/braindums/big-picture.text) -- define service status in one document, so repeatition stops! --------------------------------------------------------------------------------- -- remove client/ from top level --------------------------------------------------------------------------------- -Generate automatic asciidoc from conf/* --------------------------------------------------------------------------------- - Ausgaben nach Beendigung vom Starten des Services. - - [ on ] %s + Ergebnis - [ off ] %s - - Rekursives herunter/rauffahren --------------------------------------------------------------------------------- -- add error handling to cinit.install.binary --------------------------------------------------------------------------------- -1. Entfernung mount - -> Example configuration - -> was man alles machen muss --------------------------------------------------------------------------------- -- add code do implement stopping / restarting with dependency tree --------------------------------------------------------------------------------- -- print service name or cinit: before _everything_ WE print - - - is the reporting ok? - -# cinit.create.empty.service: can only be started from the bin directory - -- Fix Switching services off !! -- Error codes when shutting down a service? -- Delay dokumentieren -- no_kill dokumentieren - -- on.out, on.err, on.in? - -> reading/writing from/to files - -- implement "no_kill" until cinit-0.2 or 0.3? - - --------------------------------------------------------------------------------- -- Source Logic issues - - remove FIXME entries (and what should be fixed, too) --------------------------------------------------------------------------------- -Helper scripts, rausgenommen aus Der Doku, muessen fuer -cinit-0.3 ueberprueft werden: - -Configure help scripts -~~~~~~~~~~~~~~~~~~~~~~ -cinit-conf later -Using prepared scripts - -In the bin/ directory of this tarball you'll find at least: - - cinit.add.dependency - add a dependency to a service - cinit.add.getty - add a new getty - cinit.create.empty.service - create an empty service - cinit.reboot - reboot in /bin/sh - cinit.remove.getty - remove a getty service - cinit.respawn.off - switch respawing off - cinit.respawn.on - switch respawing on - cinit.shutdown - shutdown in /bin/sh - --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- - -Optimisations -------------- - - Installing cinit - o compiling cinit from source - o debian / gentoo - - Configuring - * add scripts! see below - - define coding guidelines -> general, with url? - - Write manpages (use doc/* as base for that) - - Check Spell and Grammar in documentation - - write howto: - o Howto-cinit - o Howto-cinit-uml - -tree_exec -~~~~~~~~~ -- only check dependencies (=needs) after the basic run? - -Documentation -------------- - -developer -~~~~~~~~~ -- ST_IN_LIST == startup marker, used to (NOT) insert services into startup -- dep_needs_wants_add is used to add dependencies of a service to the general - starter list - - -user ----- -- do we really need swapoff? remove umount, swapoff! - * to services! - -> they have to do it! -- dependencies with leading '.' (dot) are ignored. -- about cinit-configuration structure - * cconfig - * svc/ - * special/ (or however we called it) - - panic - - halt - - poweroff - - reboot - --------------------------------------------------------------------------------- -FAQ -~~~ -- DOKU: what happens when a service does not terminate.... - und er als once drin ist ---> Wenn kein ReSPAWN und der Prozess beendet sich nicht, - dann haengt init! - -- multuicall probleme -> busysbox --> GIBT ES NICHT!! - ---> DOKU DAZU! mit links, doppelt links, aus test - ---> erklaeren, dass es unproblematisch ist! - --------------------------------------------------------------------------------- -csvc: -11:09 < folken23> telmich: oder service allready started. --------------------------------------------------------------------------------- -cinit: -11:09 < folken23> telmich: zsb. eine grund angabe warum ein dienst nicht gestartet - werden konnte. -11:09 < folken23> telmich: e.g. file nicht gefunden, service hat nicht 0 - zurueckgeworfen. - ---> errno in execute_sth! - -Child handlin -~~~~~~~~~~~~~g -- free() everything before starting child - -Later -~~~~~ -- close(*>2) before forking / executing - -> close fds, clean environment, etc., ... - -> do we really need that? - -> yep, clean environment! -- logging service! - -> write output $somewhere, wait for syslog? - -> flush at the end of start-process? - -> perhaps pipe logging output to a program? --------------------------------------------------------------------------------- -- Doc - * main.text -> cleanup / remove / split - * config-dirs - * FAQ - * ideas - * meta.dependencies - - config/hints/meta depps - * optimising - - integrate into other - * README.text - - update - * replacing.init - - update / integrate - * special-services.text - - into configuring/hints? - * TODO - - into paths, if necessary - * updating.cinit - - update as soon as update is possible? - * using.rescue - - update as soon as update is possible? - * 'os-integration.text' - * 'daemons.backgrounding' - * There are some hints on how to migrate to cinit in general and also - some os specific help in the file 'migrating-init-systems.text', -- CODECHECK: - * what happens with the wants of the last services? - - are they added? - - are they added at the correct position? -- scripts - * `cinit.check.config` (doc/user/configuring.cinit.text) - -> circular depedencies! -- Doc.next: - - installing: report! - -> write report script. -- Doc later - * current-init-problems.text - - current-init-problems.text explains why cinit does not use nor recommends the use of shell scripts. - * special-services.text - -- Begin documentation - * Check Makefile - * Integrate Makefile into main Makefile - * create manpage - * Write a small manual - - install - - configure - - boot (different OS) - * generate asciidoc! -- Doc way: - * installing - * configuring - - testconfig! - * booting - - different OS / bootloader - * debugging -- Shutdomn code: - * begin at init, then shutdown wants/needs, ... -- check that the new wants and need elements are nserted the other way round - * we go to next, elements must be put before us! -- replace cinit_ipc_logon with cinit_ipc_init... - * delay ipc code -> after start! - -- Cleanup / create object lists - object-lists/ - cinit - cservice - ccontrol - cinit.halt - cinit.reboot - cinit.shutdown (shell script?!?) - - -TODO.pre9: - do_reboot.c: - write cinit_svc_shutdown - - implement do_reboot() - * so not only booting with cinit works, but also the shutdown - - Done: - - pfad korrigieren (home/..../ -> cinit.release) - - cg-add nicht aufrufen beim make all! -ser/nico/oeffentlich/computer/projekte/cinit/cinit-0.3pre8/doc' -FILE="size/`date +%Y-%m-%d-%H%M%S`"; ls -l src/cinit > $FILE; cat $FILE; \ - cg-add $FILE --rwx------ 1 nico nico 72601 2007-04-06 17:52 src/cinit -There is no GIT repository here (.git not found) -make: *** [sizecheck] Fehler 1 - - setup VM for testing: qemu/kvm/virtualbox (no commercial bloaty) - -> uml! - - sleep when respawnig! - -> static delay of five seconds - do_reboot.c: - is ipc closed? -> check! => done! - - ignore msgrcv: Interrupted system call -Session terminated, killing shell...msgq-destroy: Invalid argument -msgq-destroy: Invalid argument - - do not print an error if /etc/cinit/conf/last is non-existent! - => print it. Do not not print it, as this can aid debugging. - include locking via shm, remove test on pid1 - => not necessary imho currently - - -TODO.pre10: - - find out why gettimeofday() and time() do strange things when called in SIG_CHLD - cleanup client/ comm/ contrib+tools/ util/ tmp/ - - write cinit.conf.check - * report broken links in needs/wants - * report circular dependencies - - pretty print, reporting is ugly! - Add handler for ctrl+alt+delete - * document in paths - * check whether there's an os-unspecific way to do that - cleanup bin/ - - write sys-v-init-shutdown-wrapper - * shutdown - * halt - * reboot - * poweroff - - - - -TODO.pre11: - cleanup src/ - finish ipc code so clients can access cinit - -TODO.pre12: - Check and clean doc/ - Remove *TODO*+ROADMAP and leave behin doc/TODO - -TODO.pre13: - code cservice ccontrol halt reboot shutdown poweroff - Test, release and prepare for final cinit-0.3 - -TODO.0.3.1 - add log support - cinit logs to - -> shm saver - services log to - -TODO unclear - - create migration scripts diff --git a/software/cinit/browse_source/cinit-0.3pre9/TODO.doc b/software/cinit/browse_source/cinit-0.3pre9/TODO.doc deleted file mode 100644 index a170a50d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/TODO.doc +++ /dev/null @@ -1,29 +0,0 @@ -- doc/user/paths.text - * finish - * add examples -- add cross-compilation howto -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - -caveats -------- - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- cinit ignores the Keyboard request -- Currently there is no support to react on 'ctr+alt+del': -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - diff --git a/software/cinit/browse_source/cinit-0.3pre9/TODO.optimisations b/software/cinit/browse_source/cinit-0.3pre9/TODO.optimisations deleted file mode 100644 index 8a686b4a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/TODO.optimisations +++ /dev/null @@ -1,19 +0,0 @@ -This file describes enhancements or optimisations that -could be done / checked. - - -Code ----- - -fork() -~~~~~~ - -Security -^^^^^^^^^ -- Closed fds? -- Close other things? -- IPC? - -Cleanup -^^^^^^^ -- Do we have to reset signals or is that done anyway by fork()? diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cdoc-man.sh b/software/cinit/browse_source/cinit-0.3pre9/bin/cdoc-man.sh deleted file mode 100644 index fc1adde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cdoc-man.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Nico Schottelius -# Date: 21-Aug-2005 -# Last Modified: - -# - -set -e - -[ $# -ne 1 ] && exit 23 - -SRC=$1 - -cd "$SRC" - -# -# Title heading -# -echo .TH $(cat "meta/name" "meta/man_section" "meta/date") - -# -# Name -# -echo .SH NAME -echo $(cat meta/name) - $(cat meta/short_description) - -# -# Synopsis -# -echo .SH SYNOPSIS -echo $(cat path) $(cat parameters) - -# -# description -# -echo .SH DESCRIPTION -echo $(cat long_description) - -# -# availability -# -for section in availability examples "see also" author; do - if [ -f "$section" ]; then - echo .SH $section | tr '[a-z]' '[A-Z]' - cat "$section" - fi -done - -# -# files -# -if [ -f files ]; then - echo .SH FILES - cat files | sed 's/\(.*\)/.IP "\1" /' -fi - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.add.dependency b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.add.dependency deleted file mode 100644 index 7bc9cc65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.add.dependency +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create dependency: service a needs or wants service b - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR - -if [ $# -ne 3 ]; then - echo "`basename $0`: service_A [wants|needs] service_B" - echo "" - echo " Service A needs or wants Service B." - echo " Use relative paths, not absolute." - echo " You must specify whether to use wants or needs." - echo "" - exit 23 -fi - -SVC_A=$1 -DEP=$2 -SVC_B=$3 - -# adding 'wishes' for x-mas and requires for 'the mass' and 'tv' -case $DEP in - wishes|wants) DEP=$C_WANTS ;; - needs|requires) DEP=$C_NEEDS ;; - *) echo "Did not I say \"want\" or \"need\"? You _must_ use those terms." -esac - -# FIXME: could someone PLEASE simply that? -SLASHES=$(echo $SVC_A | sed -e 's,/$,,' -e 's,[^/],,g' -e 's,/,../,g' -e 's,^,../../,') -DEST_NAME=$(echo $SVC_B | sed -e 's,/$,,' -e 's,/,-,g') - -SOURCE="${SLASHES}${SVC_B}" -DEP_DIR="${BASEDIR}/${SVC_A}/${DEP}" - -if [ ! -d "$DEP_DIR" ]; then - echo "$DEP_DIR does not exist, creating..." - mkdir "$DEP_DIR" - if [ $? -ne 0 ]; then - echo "Error occured due to creating directory. Exiting." - exit 1 - fi -fi - -DEST="${DEP_DIR}/${DEST_NAME}" - -echo -n "Linking $SOURCE to $DEST ... " -ln -sf "$SOURCE" "$DEST" -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.add.getty b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.add.getty deleted file mode 100644 index 987a5bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.add.getty +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys -# Date: 2005-05-24 (Last changed: 2005-08-07) -# - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -LAST_NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | sort -n | tail -n 1) - -[ ! "$LAST_NUMBER" ] && LAST_NUMBER=0 - -NUMBER=$(echo $LAST_NUMBER + 1 | bc) - -[ ! "$NUMBER" ] && NUMBER=1 - -DDIR=$BASEDIR/$NUMBER - -#echo "Creating getty number $NUMBER in $DDIR ..." - -if [ "$USE_THIS_GETTY" ]; then - GETTYS="$USE_THIS_GETTY" -else - GETTYS=`echo /sbin/*getty*` -fi - -for getty in $GETTYS; do - case $getty in - */fgetty|*/mingetty) - mygetty=$getty - params="/dev/tty${NUMBER}" - ;; - */agetty|*/getty) - mygetty=$getty - params="38400 tty${NUMBER} linux" - ;; - */mgetty) - mygetty=$getty - params="38400 tty${NUMBER}" - ;; - *) - echo "Unknown Getty type $getty" - echo "Please report standard parameters to me." - esac - - [ "$mygetty" ] && break -done - -# check input -if [ ! "$mygetty" ]; then - read -p "Getty to use [$mygetty]: " rgetty -fi -if [ ! "$params" ]; then - read -p "Parameters to pass [$params]: " rparams -fi -if [ ! "$params" -o ! "$mygetty" ]; then - echo "Sorry, either getty or parameters are not supplied." - exit 23 -fi - -echo -n "Creating $mygetty ($params) in $DDIR ... " -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DDIR" -ln -s "$mygetty" "$DDIR/$C_ON" - -for param in $params; do - echo $param >> "$DDIR/${C_ON}${C_PARAMS}" -done - -touch "$DDIR/$C_RESPAWN" - -echo "finished." diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.configure.ipc b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.configure.ipc deleted file mode 100644 index 65190baa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.configure.ipc +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius, 2006-07-28 -# -# cinit: configure the ipc method to use -# - -HIER=$(dirname $0) -DDIR=$HIER/../src/ipc -DFILE=${DDIR}/current -IPC_METHOD=$(head -n 1 "$HIER/../conf/ipc_method") - -echo "Configure: IPC: Using \"$IPC_METHOD\" as IPC method" - -# always remove link before, as ln seems to be broken -# Doing ln -sf src/ipc/$method current twice, will create the file -# "current" _BELOW_ src/ipc/$method and not overwrite the link -# src/ipc/current - -rm -f "${DFILE}" -ln -sf "${IPC_METHOD}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.configure.mark b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.configure.mark deleted file mode 100644 index 62454c7f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.configure.mark +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: touch a file to mark everything configured -# 2006-08-27 -# - -echo "Configure: MK: Marking directory as configured" -touch .configured diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.configure.os b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.configure.os deleted file mode 100644 index d5b8e6e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.configure.os +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups symlinks for the os -# - -DDIR=$(dirname $0)/../src/os -DFILE="$DDIR/current" -OSCONFIG=$(dirname $0)/../conf/os - -OS=$(head -n 1 "$OSCONFIG") - -echo "Configure: OS: Binaries are created for $OS ..." - -rm -f "${DFILE}" -ln -sf "${OS}" "${DFILE}" diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.configure.tools b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.configure.tools deleted file mode 100644 index 43242a01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.configure.tools +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: setups scripts for compiling and linking -# - -HIER=$(dirname $0) -DDIR=$HIER/../tmpbin/ -CC=$(head -n 1 "$HIER/../conf/cc") -CFLAGS=$(head -n 1 "$HIER/../conf/cflags") -LD=$(head -n 1 "$HIER/../conf/ld") -LDFLAGS=$(head -n 1 "$HIER/../conf/ldflags") -STRIP=$(head -n 1 "$HIER/../conf/strip") - -echo "Configure: CC: Creating cc, ld and strip ..." - -mkdir -p "$DDIR" -cd "$DDIR" - -echo "$CC $CFLAGS \"\$@\"" > cc -echo "$LD $LDFLAGS \"\$@\"" > ld -echo "$STRIP \"\$@\"" > strip - -# set correct permissions -chmod 0700 * diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.create.empty.service b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.create.empty.service deleted file mode 100644 index 365c4bc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.create.empty.service +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create templates -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " I do create templates for your services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - INSTDIR=${BASEDIR}/${svc} - if [ -e "$INSTDIR" ]; then - echo "$svc already exists, skipping." - continue - fi - echo -n "Creating $svc ..." - # install creates needed parent directories - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_NEEDS}" - echo "The services this services really needs (it will not start if one failed to start)." > "${INSTDIR}/${C_NEEDS}/README" - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${INSTDIR}/${C_WANTS}" - echo "The services this services wants (it will start if one or more fail)." > "${INSTDIR}/${C_WANTS}/README" - - echo '#!/bin/sh' > "${INSTDIR}/${C_ON}" - echo "echo This should be a link to an executable or a script" >> "${INSTDIR}/${C_ON}" - chmod 0700 "${INSTDIR}/${C_ON}" - echo "One paramater on each line." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Delete me, if there are no paramaters." > "${INSTDIR}/${C_ON}${C_PARAMS}" - echo "Environtment: varx=valuex, one variable on each line." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "Delete me, if you do not want to set any variables." > "${INSTDIR}/${C_ON}${C_ENV}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.binary b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.binary deleted file mode 100644 index a368ac23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.binary +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: - -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" sbin/cinit $DESTDIR/$PREFIX/sbin/cinit -"$INSTALL_PROG" sbin/cservice $DESTDIR/$PREFIX/sbin/cservice -"$INSTALL_PROG" sbin/ccontrol $DESTDIR/$PREFIX/sbin/ccontrol -"$INSTALL_PROG" bin/cinit.reboot $DESTDIR/$PREFIX/sbin/cinit.reboot -"$INSTALL_PROG" bin/cinit.shutdown $DESTDIR/$PREFIX/sbin/cinit.shutdown -"$INSTALL_PROG" bin/cinit.wait.for.daemon \ - $DESTDIR/$PREFIX/sbin/cinit.wait.for.daemon - -# install as /sbin/init, if /sbin/init does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/init ]; then - ln -s $PREFIX/sbin/cinit $DESTDIR/$PREFIX/sbin/init -fi - -# install as /sbin/shutdown, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/shutdown ]; then - ln -s $PREFIX/sbin/cinit.shutdown $DESTDIR/$PREFIX/sbin/shutdown -fi - -# install as /sbin/reboot, if it does not exist -if [ ! -e $DESTDIR/$PREFIX/sbin/reboot ]; then - ln -s $PREFIX/sbin/cinit.reboot $DESTDIR/$PREFIX/sbin/reboot -fi diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.config-dir b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.config-dir deleted file mode 100644 index c9adb70f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.config-dir +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.dir b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.dir deleted file mode 100644 index 5e16f690..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.dir +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install needed directories -# Date: - (Last Modified: 2005-08-06) -# - -. $(dirname $0)/cinit.read-conf - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$PREFIX/sbin" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_TMP" -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "$DESTDIR/$CINIT_DIR/$C_INIT" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.fsck b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.fsck deleted file mode 100644 index 4508860a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.fsck +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 3 ]; then - echo "$(basename $0): name device filesystem-type" - exit 1 -fi - -NAME=$1 -DEVICE=$2 -FS_TYPE=$3 - -FSCK=/sbin/fsck.$FS_TYPE - -if [ ! -f "$FSCK" ]; then - echo "Missing $FSCK, abort." - exit 1 -fi - -if [ ! -e "$DEVICE" ]; then - echo "Missing $DEVICE abort." - exit 1 -fi - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME" -ln -sf "$FSCK" "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON" -echo "$DEVICE" > "${DESTDIR}/${CINIT_DIR}/fsck/$NAME/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.miniconf b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.miniconf deleted file mode 100644 index 45dcc632..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.miniconf +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic setup -# Date: 2005-08-07 -# - - -. $(dirname $0)/cinit.read-conf - -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" -echo "" -echo "This will install a minimal cinit configuration." -echo "This configuration _SHOULD_ be able to run on _MOST_ systems." -echo "Still, it's highly EXPERIEMENTAL, use with CAUTION." -echo "" -echo "Please make sure, that" -echo " - you are using a journaling filesystem (fsck is not used)" -echo " - you have agetty, fgetty or mingetty installed" -echo " - you are runnig Linux 2.6 (sysfs is used)" -echo " - you have udev or static device nodes (you need /dev/tty*)" -echo " - getties will run on tty2-tty7, tty1 is used or logging" -echo "" -echo "****************************************************************************" -echo "******************************* WARNING ************************************" -echo "****************************************************************************" - -notosoftwarepatents="Please keep an eye on software patents, they are evil." -read -p "Do you really want to continue? [y/N] " notosoftwarepatents - -if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then - echo "Let us try it ..." -else - echo 'Bye bye!' - exit 0 -fi - -set -e - -# Create basic layout -$(dirname $0)/cinit.install.standard-dirs - -# Install services: -# - mount root r/w -# - mount /proc -# - mount /sys -# - install getties on tty2-tty7 -# - add cleanup for /etc/mtab -# - add loopback device -# - init service + echo - -################################### mount ##################################### -# mount root read/write -$(dirname $0)/cinit.install.service.mount-root - -# - mount /proc -$(dirname $0)/cinit.install.service.mount-proc - -# - mount /sys -$(dirname $0)/cinit.install.service.mount-sys - -# mount needs everything below it -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" -ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS" - -################################### getty ##################################### -# mount root read/write -# install getties -begin_getty=2 -end_getty=7 -i=$begin_getty - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" -while [ "$i" -le "$end_getty" ]; do - $(dirname $0)/cinit.add.getty - ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS" - i=$(($i+1)) -done - -################################### mtab ##################################### -# - add cleanup for /etc/mtab -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" -$(dirname $0)/cinit.install.service.cleanup-mtab -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS" - -################################### lo ##################################### -# - add loopback device -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" -$(dirname $0)/cinit.install.service.network-lo -ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS" - -# - init service + echo -# init depends on mount, getty -> everything from base-layout -$(dirname $0)/cinit.install.service.init -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" - -ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" -ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}" diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.cleanup-mtab b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.cleanup-mtab deleted file mode 100644 index 30a8dd48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.cleanup-mtab +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: cleanup mtab -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" -echo '#!/bin/sh' > "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'rm -f /etc/mtab' >>"${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -echo 'ln -s /proc/mounts /etc/mtab' \ - >> "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" -chmod 0700 "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab/$C_ON" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.hostname.generic b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.hostname.generic deleted file mode 100644 index 2d72f50e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.hostname.generic +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service, which sets the hostname -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): hostname" - exit 1 -fi - -HOSTNAME=$1 -HOSTNAME_BIN=${HOSTNAME_BIN:-/bin/hostname} - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/network/hostname" -ln -sf "$HOSTNAME_BIN" "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON" -echo "$HOSTNAME" > "${DESTDIR}/${CINIT_DIR}/network/hostname/$C_ON$C_PARAMS" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.init b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.init deleted file mode 100644 index c3a10931..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.init +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: init -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -ln -sf /bin/echo "${DESTDIR}/${CINIT_DIR}/${C_INIT}/$C_ON" -echo '*** cinit initial service successfully started ***' \ - > "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.keymap.c_keymap b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.keymap.c_keymap deleted file mode 100644 index 235a329e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.keymap.c_keymap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install keymap from environment setting -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -if [ -z "$C_KEYMAP" ]; then - echo "Set C_KEPMAP to the wanted keymap." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" ]; then - echo "Service keymap already exists." - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find loadkeys) - -if [ $? -ne 0 ]; then - echo "Did not find binary loadkeys." - exit 1 -fi - -echo -n "Installing keymap to ${DESTDIR}/${CINIT_DIR}/local-tuning/keymap ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON" - -echo "$C_KEYMAP" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/keymap/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.mount-proc b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.mount-proc deleted file mode 100644 index 024847a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.mount-proc +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /proc -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/proc" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/proc/$C_ON" -echo proc > "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" -echo /proc >> "${DESTDIR}/${CINIT_DIR}/mount/proc/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.mount-root b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.mount-root deleted file mode 100644 index a1bd56ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.mount-root +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount root r/w -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# mount root read/write -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/root" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/root/$C_ON" -echo -n > "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo -o >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo remount,rw >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" -echo / >> "${DESTDIR}/${CINIT_DIR}/mount/root/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.mount-sys b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.mount-sys deleted file mode 100644 index 8c8191aa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.mount-sys +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: mount /sys -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /sys -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/sys" -ln -sf /bin/mount "${DESTDIR}/${CINIT_DIR}/mount/sys/$C_ON" -echo sys > "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo -t >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo sysfs >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" -echo /sys >> "${DESTDIR}/${CINIT_DIR}/mount/sys/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.network-lo b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.network-lo deleted file mode 100644 index 45bff6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.network-lo +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install service: loopback device -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -# - mount /proc -"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/lo" -ln -sf /sbin/ifconfig "${DESTDIR}/${CINIT_DIR}/network/lo/$C_ON" -echo lo > "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo 127.0.0.1/8 >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" -echo up >> "${DESTDIR}/${CINIT_DIR}/network/lo/${C_ON}${C_PARAMS}" - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.ntpdate.debian b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.ntpdate.debian deleted file mode 100644 index 2af2ee4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.ntpdate.debian +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install ntpdate -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -. /etc/default/ntpdate - -if [ -z "$NTPSERVERS" ]; then - echo "No ntp servers found, aborting" - exit 1 -fi - -BINARY_PATH=$($(dirname $0)/cinit.path-find ntpdate) - -if [ $? -ne 0 ]; then - echo "Did not find binary ntpdate." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" ]; then - echo "Service ntpdate already exists." - exit 1 -fi - -echo -n "Installing ntpdate to ${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON" - -for server in $NTPSERVERS; do - echo "$server" >> "${DESTDIR}/${CINIT_DIR}/local-tuning/ntpdate/$C_ON$C_PARAMS" -done - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.udev b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.udev deleted file mode 100644 index d91f01cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.service.udev +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install udev -# Date: 2005-10-15 -# Comment: DO NOT RSYNC TO THE WRONG SIDE! -# - -. $(dirname $0)/cinit.read-conf - -set -e - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BIN_UDEVSEND=$($(dirname $0)/cinit.path-find udevsend) -BIN_UDEVSTART=$($(dirname $0)/cinit.path-find udevstart) -BIN_SYSCTL=$($(dirname $0)/cinit.path-find sysctl) -BIN_MOUNT=$($(dirname $0)/cinit.path-find mount) -SERVICE="local-tuning/udev" - -if [ -z "$BIN_UDEVSEND" -o -z "$BIN_UDEVSTART" -o -z "$BIN_SYSCTL" -o -z "$BIN_MOUNT" ]; then - echo "Did not find a binary." - exit 1 -fi - -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo "Installing ${SERVICE} to ${DESTDIR}/${CINIT_DIR}/ ..." - -# 0. general udev -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}" -# 1. udevmount -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/mount/udev" -ln -sf "$BIN_MOUNT" "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON" -echo "udev" > "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "-t" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "tmpfs" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" -echo "/dev" >> "${DESTDIR}${CINIT_DIR}/mount/udev/$C_ON$C_PARAMS" - -# 2. udevstart -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart" -ln -sf "$BIN_UDEVSTART" "${DESTDIR}${CINIT_DIR}/${SERVICE}/udevstart/$C_ON" - -# dependencies -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/sys -$(dirname $0)/cinit.add.dependency ${SERVICE}/udevstart needs mount/udev - -# 3. udev to hotplug -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug" -ln -sf "$BIN_SYSCTL" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/hotplug/$C_ON" -echo "$BIN_UDEVSEND" > "${DESTDIR}${CINIT_DIR}/${SERVICE}/hotplug/$C_ON$C_PARAMS" - -$(dirname $0)/cinit.add.dependency ${SERVICE}/hotplug needs mount/proc - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.standard.init.deps b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.standard.init.deps deleted file mode 100644 index dcc5cd07..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.standard.init.deps +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: add standard sub-configuration directories to init wants -# Date: 2005-10-11 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.standard.mounts b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.standard.mounts deleted file mode 100644 index bb1fc0c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.standard.mounts +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create normal mounts -# Date: 2005-10-16 -# - -. $(dirname $0)/cinit.read-conf - -$(dirname $0)/cinit.add.dependency init wants getty -$(dirname $0)/cinit.add.dependency init wants local-services -$(dirname $0)/cinit.add.dependency init wants local-tuning -$(dirname $0)/cinit.add.dependency init wants mount -$(dirname $0)/cinit.add.dependency init wants network - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.swap b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.swap deleted file mode 100644 index 84e6c928..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.swap +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install swap -# Date: 2005-10-15 -# - -. $(dirname $0)/cinit.read-conf - -SERVICE=mount/swap - -if [ $# -ne 0 ]; then - echo "$(basename $0) (no args)" - exit 1 -fi - -BINARY=swapon -BINARY_PATH=$($(dirname $0)/cinit.path-find $BINARY) -if [ $? -ne 0 ]; then - echo "Did not find binary $BINARY." - exit 1 -fi - -HAS_SWAP=$(awk '$3 ~ /swap/ { print $3 }' /etc/fstab) -if [ -z "$HAS_SWAP" ]; then - echo "Seems you have no swap, service not installing" - exit 1 -fi -if [ -d "${DESTDIR}/${CINIT_DIR}/${SERVICE}" ]; then - echo "Service ${SERVICE} already exists." - exit 1 -fi - -echo -n "Installing ${SERVICE} to ${DESTDIR}${CINIT_DIR}/${SERVICE} ..." - -"$INSTALL_PROG" "$INSTALL_DIRECTORY" \ - "${DESTDIR}/${CINIT_DIR}/${SERVICE}" -ln -sf "$BINARY_PATH" "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON" - -echo "-a" >> "${DESTDIR}/${CINIT_DIR}/${SERVICE}/$C_ON$C_PARAMS" - -echo "finished." - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.test b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.test deleted file mode 100644 index 154c9375..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.install.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install basic test config -# - -. $(dirname $0)/cinit.read-conf - -TARDIR=$(dirname $0)/../samples - -case `uname -s` in - Linux) - [ -e /etc/gentoo-release ] && TAR=${TARDIR}/gentoo.tar - [ -e /etc/debian_version ] && TAR=${TARDIR}/debian.tar - [ -e /etc/SuSE-release ] && TAR=${TARDIR}/suse.tar - [ -e /etc/mandrake-release ] && TAR=${TARDIR}/mandrake.tar - [ -e /etc/fedora-release ] && TAR=${TARDIR}/fedora.tar - ;; -esac - -tar xf ${TAR} -C "$DESTDIR/$PREFIX/$CINIT_DIR" diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.merge.sysvinit-debian-sid b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.merge.sysvinit-debian-sid deleted file mode 100644 index 3ef0ce03..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.merge.sysvinit-debian-sid +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Date: Sun Oct 16 16:57:03 CEST 2005 -# cLinux/cinit -# Automagically convert Debian-Sysv-Iinit -# THIS IS NOT CLEAN. -# THIS IS NOT EVEN INTENTED TO BE CLEAN. -# This is just a small hack, because my girlfriend wants her notebook back. - -echo "***> $(basename $0): converting Debian-Sys-V-Init" - -# read standard values, may be overwritten from outside -. $(dirname $0)/cinit.read-conf - -echo "***> Finding standard config ..." -# variables, which can be set from the outside -ROOT_DEV=${ROOT_DEV:-$(awk '$2 ~ /^\/$/ { print $1 }' /etc/fstab)} -ROOT_FSCK=${ROOT_FSCK:-$(awk '$2 ~ /^\/$/ { print $6 }' /etc/fstab)} -ROOT_FS=${ROOT_FS:-$(awk '$2 ~ /^\/$/ { print $3 }' /etc/fstab)} -RUNLEVEL=${RUNLEVEL:-$(runlevel | awk '{ print $2 }')} - -echo "***> Detecting keymap (this may take some time)" - -if [ -z "$C_KEYMAP" ]; then - echo "Please set the variable C_KEYMAP to your keymap." - echo "It is impossible to detect reliable your keymap in Debian." - exit 1 -fi - - -echo "***> Configuration" -echo "Hostname (\$HOSTNAME): $HOSTNAME" -echo "Keymap (\$C_KEYMAP): $C_KEYMAP" -echo "Root device (\$ROOT_DEV): $ROOT_DEV" -echo "Root fsck (\$ROOT_FSCK): $ROOT_FSCK" -echo "Root FS (\$ROOT_FS): $ROOT_FS" -echo "Runlevel (\$RUNLEVEL): $RUNLEVEL" -echo "Destdir: (\$DESTDIR): $DESTDIR" -echo "Config-Dir: (\$CINIT_DIR): $CINIT_DIR" -read -p "Is this correct (Y/n) " correct - -if [ "$correct" != "y" -a "$correct" != "Y" ]; then - echo "***> Abort." - exit 1 -fi - -if [ -d "${DESTDIR}${CINIT_DIR}" ]; then - echo "ERROR: Configuration already exists at ${DESTDIR}${CINIT_DIR}." - exit 1 -fi - -echo "***> Installing standard structure and dependencies" -set -e -$(dirname $0)/cinit.install.config-dir -$(dirname $0)/cinit.install.standard.dirs -$(dirname $0)/cinit.install.standard.init.deps - -echo "***> Adding mount / r/w" -$(dirname $0)/cinit.install.service.mount-root - -if [ "$ROOT_FSCK" = "1" ]; then - echo "***> Adding fsck for $ROOT_DEV ..." - $(dirname $0)/cinit.install.fsck root "$ROOT_DEV" "$ROOT_FS" - echo "***> Adding dependency" - $(dirname $0)/cinit.add.dependency mount/root needs fsck/root -else - echo "***> Skipping fsck for $ROOT_DEV ..." -fi - -echo "***> Setting up standard mounts ..." -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up hostname: $HOSTNAME" -$(dirname $0)/cinit.install.service.hostname.generic "$HOSTNAME" - -echo "***> Setting up keymap" -$(dirname $0)/cinit.install.service.keymap.c_keymap - -echo "***> Creating getties (tty1-8)" -for i in `seq 1 8`; do - $(dirname $0)/cinit.add.getty - - # each getty needs: - # - root r/w - $(dirname $0)/cinit.add.dependency getty/$i needs mount/root - # - hostname - $(dirname $0)/cinit.add.dependency getty/$i needs network/hostname -done - -echo "***> Enabling getties (tty2-8)" -for i in `seq 2 8`; do - # add getties to getty/ - $(dirname $0)/cinit.add.dependency getty wants getty/$i -done - -# -# Convert services: check /etc/rcS.d and /etc/rcX.d -# -echo "***> Converting services ..." -for script in $(cd /etc/rcS.d/; ls S*; cd /etc/rc${RUNLEVEL}.d/; ls S*); do - echo -n "$script: " - case $script in - # SCRIPTS READY - *ntpdate) - $(dirname $0)/cinit.install.service.ntpdate.debian - $(dirname $0)/cinit.add.dependency local-tuning/ntpdate needs network - ;; - *udev*) - $(dirname $0)/cinit.install.service.udev - - # SCRIPTS NEVER READY - *glibc.sh|*module-init-tools|*modutils|*procps.sh|*hotplug-net|*bootmisc.sh|*nviboot|*screen-cleanup|*x11-common|*sudo|*makedev|*rmnologin) - echo "Ignoring (useless)." - ;; - - # SCRIPTS NOT YET READY - *mountvirtfs|*checkroot.sh|*ifupdown-clean|*checkfs.sh|*mountall.sh|*ifupdown|*hostname*|*mountnfs.sh|*alsa|*rsync|*ssh|*fam|*cron|*gdm) - echo "converting planned later." - ;; - - # SCRIPTS LATER TO DO - *bootlogd|*keymap.sh|*hwclock*|*discover|*pppd-dns|*dns-clean|*networking|*portmap|*console-screen.sh|*urandom|*klogd|*apmd|*dbus-1|*exim4|*pcmcia|*nfs-common|*stop-bootlogd) - echo "unsupported currently (FIXME PLEASE)." - ;; - *sysklogd|*ppp|*inetd|*lpd|*aumix|*atd) - echo "unsupported (choose a better alternative)." - ;; - *initrd-tools.sh|*libdevmapper*|*hotplug) - echo "Ignoring (general or bloated script)." - ;; - *) - echo "Ignoring (unknown)" - ;; - esac -done - -echo "***> Finished." diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.path-find b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.path-find deleted file mode 100644 index 0d0f362b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.path-find +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: find binary in path -# Date: 2005-10-15 -# - -set -e - -if [ $# -ne 1 ]; then - echo "$(basename $0): searched binary" - exit 1 -fi - -binary=$1 - -# this is NOT really clean, paths can also contain spaces -for pfad in $(echo $PATH | sed 's/:/ /g'); do - fullname=$pfad/$binary - if [ -f "$fullname" ]; then - echo "$fullname" - exit 0 - fi -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.reboot b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.reboot deleted file mode 100644 index f7967d3e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.reboot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# reboot system -# 2005-06-09 - - -usage() -{ - echo "`basename $0`" - echo " Reboot the system:" - exit 1 -} - -if [ $# -ne 0 ]; then - usage -fi - -kill -HUP 1 diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.remove.getty b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.remove.getty deleted file mode 100644 index 4950eeed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.remove.getty +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create gettys - -# init variables -. $(dirname $0)/cinit.read-conf - -BASEDIR=$DESTDIR/$CINIT_DIR/$GETTY_DIR -NUMBER=$(cd $BASEDIR && ls | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }' | tail -n 1) - -if [ ! "$NUMBER" ]; then - echo "There is no getty to remove." - exit 1 -fi - -DDIR=$BASEDIR/$NUMBER - -echo "Removing getty number $NUMBER located in $DDIR ..." -read -p "Are you sure [y/N]? " yes - -if [ "$yes" = "y" ]; then - rm -r "$DDIR" -else - echo "Aborted." -fi diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.respawn.off b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.respawn.off deleted file mode 100644 index 4b102477..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.respawn.off +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning off -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " The respawning mark will be removed from services" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Removing respawning mark from $svc ..." - rm -f "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.respawn.on b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.respawn.on deleted file mode 100644 index 35ac7932..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.respawn.on +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: switch respawning on -# 2005-05-24 - -set -e - -# init variables -. $(dirname $0)/cinit.read-conf - -if [ $# -lt 1 ]; then - echo "`basename $0`: service-name(s)" - echo " Services will be marked respawning" - exit 1 -fi - -BASEDIR=$DESTDIR/$CINIT_DIR - -for svc in $@; do - echo -n "Marking $svc respawning ..." - touch "${BASEDIR}/${svc}/${C_RESPAWN}" - echo "finished." -done - diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.shutdown b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.shutdown deleted file mode 100644 index 702c8a17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.shutdown +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# shutdown system -# TODO: use ccontrol! -# 2005-05-24 (Last changed: 2005-06-18) - - -usage() -{ - echo "`basename $0` -[ohr]" - echo " Shutdown the system:" - echo " -p|--power-off: Power off" - echo " -h|--halt: Halt" - echo " -r|--reboot: Reboot" - echo " -s|--rescue: Rescue mode" - echo " " - exit 1 -} - -if [ $# -ne 1 ]; then - usage -fi - -case $1 in - -r|--reboot) kill -HUP 1 ;; - -p|--power-off) kill -TERM 1 ;; - -h|--halt) kill -USR1 1 ;; - -s|--rescue) kill -USR2 1 ;; - *) usage ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.uml.test b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.uml.test deleted file mode 100644 index f6ea7fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.uml.test +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# build, install and test cinit in an uml image - -set -e -set -x - -###################### Params ######################################## -# where the cinit source can be found -CINIT=/root/cinit-0.1 - -# the image you want to put cinit on (I am using gentoo stage3) -IMG=stage3-p4.img - -# where to mount the image -MNT=/mnt/uml - -# what fsck to use -FSCK=fsck.jfs - -# the uml-linux-kernel -LINUX=./linux-2.6.11.11 - -# parameters to kernel - should not needed to be changed -LINUX_PARAM="ubd0=$IMG umid=cinit$$ init=/sbin/cinit" -###################################################################### -HIER=$(pwd) - - -"$FSCK" "$IMG" -mount "$IMG" "$MNT" -o loop -echo "$MNT" > "$CINIT/conf/destdir" -make -C "$CINIT" clean all install -umount "$MNT" - -"$FSCK" "$IMG" -"$LINUX" $LINUX_PARAM - -# restore console, if broken -#reset diff --git a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.wait.for.daemon b/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.wait.for.daemon deleted file mode 100644 index 7f027455..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/bin/cinit.wait.for.daemon +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# wait for daemon to terminate -# the pidfile is our first argument, -# the dameon the second and all others are for the daemon -# 2005-06-12 (Last Changed: 2005-06-17) - -# how long to sleep before rechecking -SLEEP=5 - -if [ $# -lt 2 ]; then - echo "`basename $0` [daemon arguments]" - exit 1 -fi - -PIDFILE=$1; shift -DAEMON=$1; shift - -# remove old pidfile -[ -e "$PIDFILE" ] && rm -f $PIDFILE - -$DAEMON $@ - -PID=$(cat "$PIDFILE") - -ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") - -while [ "$ISALIVE" ]; do - sleep ${SLEEP} - ISALIVE=$(ps ax | awk '{ print $1 }' | grep "^$PID\$") -done diff --git a/software/cinit/browse_source/cinit-0.3pre9/client/README b/software/cinit/browse_source/cinit-0.3pre9/client/README deleted file mode 100644 index c6d39c85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/client/README +++ /dev/null @@ -1,3 +0,0 @@ -client/ - -- OBSOLETED -- - These sources were used by the children which were spawned by cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre9/client/begin_msg.c b/software/cinit/browse_source/cinit-0.3pre9/client/begin_msg.c deleted file mode 100644 index 8c9ce5ea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/client/begin_msg.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include "cinit.h" - -int begin_msg(char cmd) -{ - sock = connect_sock(sock); - if( sock == -1 ) { - return 0; - } - - if(write(sock,&cmd,sizeof(cmd)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/client/connect_sock.c b/software/cinit/browse_source/cinit-0.3pre9/client/connect_sock.c deleted file mode 100644 index 2c2d45de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/client/connect_sock.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include /* memset, strcpy */ - -#include "cinit.h" - -/* open socket connection to cinit-serv and close original socket */ -int connect_sock(int socke) -{ - int nsock; - struct sockaddr_un addr; - - close(socke); - - nsock = socket(PF_UNIX,SOCK_STREAM,0); - if( nsock == -1 ) { - perror(MSG_SOCKET); - return -1; - } - socke = sizeof(addr); - memset(&addr,0,socke); - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(connect(nsock,(struct sockaddr *)&addr,socke) == -1) { - return -1; - } - - return nsock; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/client/exec_svc.c b/software/cinit/browse_source/cinit-0.3pre9/client/exec_svc.c deleted file mode 100644 index f217f9e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/client/exec_svc.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * exec_svc: exec service abspath C_ON or C_OFF - */ - -inline pid_t exec_svc(char *abspath, int action) -{ - int tmp; - char *p, pathtmp[PATH_MAX]; - char *sbuf = NULL, **nargv = NULL, **nenv = NULL; - int fd, argc; - struct stat buf; - - cpid = fork(); - if( cpid == -1 ) { - perror(MSG_ERR_FORK); - return 0; - } - - /***** PARENT ******/ - if(cpid > 0) { - waitpid(cpid,&tmp,0); - if( WIFEXITED(tmp) ) { - if( ! WEXITSTATUS(tmp) ) { - return cpid; - } - } - SERVICE_LOG(abspath,LOG_SVC_FAIL); - return 0; - } - - /*********** CHILD EXECUTION ***********/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - - /* readlink retrieves real name, if it is a symlink */ - if ( ( tmp = readlink(pathtmp,pathtmp,PATH_MAX) ) == -1) { - - /* nothing there? fine, exit */ - if(errno == ENOENT) { - _exit(0); - } else if (errno != EINVAL) { - perror(MSG_READLINK); - _exit(1); - } - - /* restore original name, file is not a link */ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ON); - } else { - strcat(pathtmp,C_OFF); - } - tmp = strlen(pathtmp); - } else { - /* add '\0', readlink forgets it */ - pathtmp[tmp] = '\0'; - } - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /********** build argv0 ********/ - nargv = (char **) malloc( sizeof(char *) ); - if(nargv == NULL) _exit(1); - - *nargv = (char *) malloc( tmp ); - if(*nargv == NULL) _exit(1); - - strcpy(*nargv,pathtmp); - - /********************** read params *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONARG); - } else { - strcat(pathtmp,C_OFFARG); - } - - /* open params file */ - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - argc = 0; - - /* fill sbuf with content */ - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - - if(argc) { - sbuf[argc] = '\0'; /* terminate string */ - } - } else { - sbuf = NULL; - } - - /************** build string **************/ - /* The idea is to reuse the allocated memory. We'll simply - * replace the \n with \0 and set a char* to it. - * We'll lose the last byte (the initial \0), but we - * don't care, as we die some seconds later with execv() - * oh, we'll only lose it, if the file is terminated by \n */ - - argc = 1; /* argv0 */ - while( sbuf != NULL) { - p = strchr(sbuf,'\n'); - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); - - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - - /* set to the beginning */ - nargv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - /* if next byte is 0, the end of string is found */ - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close argv list **************/ - nargv = realloc(nargv, sizeof(char *) * (argc + 1)); /* 1: NULL-pointer */ - if(nargv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nargv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - if(action == CMD_START_SVC) { - strcat(pathtmp,C_ONENV); - } else { - strcat(pathtmp,C_OFFENV); - } - - argc = 0; - sbuf = NULL; - if( !stat(pathtmp,&buf) ) { - fd = open(pathtmp,O_RDONLY); - - /* file exists, failing to open it is an error */ - if(fd == -1) { - perror(MSG_ERR_OPEN); - _exit(1); - } - - while ( (tmp = read(fd,pathtmp,PATH_MAX) ) != 0 ) { - if(tmp == -1) { - perror(MSG_ERR_READ); - _exit(1); - } - - sbuf = realloc(sbuf,argc + tmp + 1); - strncpy(&sbuf[argc],pathtmp,tmp); - argc += tmp; - } - close(fd); - if(argc) - sbuf[argc] = '\0'; /* terminate string */ - } - - /************** build environment string **************/ - argc = 0; - while( sbuf != NULL ) { - p = strchr(sbuf,'\n'); - - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - } else { - /* set to the end of sbuf, not to the \0, but one before */ - p = sbuf + (strlen(sbuf)-1); - } - - if( *(p+1) == '\0') { - sbuf = NULL; - } else { - sbuf = p+1; - } - ++argc; - } - - /************ close env list **************/ - nenv = realloc(nenv, sizeof(char *) * (argc + 1)); - if(nenv == NULL) { - LOG(MSG_ERR_ALLOC); - _exit(1); - } - nenv[argc] = NULL; - - /****************** EXECUTE ********************/ - - execve(nargv[0],nargv,nenv); - - /* we should never reach this block */ - P_EXEC_FAILED(nargv[0]); - perror(MSG_ERR_EXECVE); - /* FIXME: remove debug, remove double printing without loosing info */ - sleep(3); /* debug */ - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/client/msg_change_status.c b/software/cinit/browse_source/cinit-0.3pre9/client/msg_change_status.c deleted file mode 100644 index 836a0fb4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/client/msg_change_status.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want change the status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* FIXME: change return code validation */ - -int msg_change_status(char *svc, char status, pid_t pid) -{ - if(!begin_msg(CMD_CHG_STATUS)) { - return RT_ERR_COMM; - } - if(!do_change_status(svc,&status,&pid,sock,ACT_CLIENT)) { - return 0; - } - if(!do_result(sock,NULL)) { - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/client/msg_svc_on_off.c b/software/cinit/browse_source/cinit-0.3pre9/client/msg_svc_on_off.c deleted file mode 100644 index 02948f2f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/client/msg_svc_on_off.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * tell cinit that I want to start a service - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - - -/* ********************************************************************** - * action: 1=on, 0=off - */ -int msg_svc_on_off(char *svc, char action) -{ - if(!begin_msg(action)) return RT_ERR_COMM; - if(!do_svc_name(sock,svc,ACT_CLIENT)) return RT_ERR_COMM; - return (int) do_result(sock,NULL); -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre9/client/respawn_svc.c b/software/cinit/browse_source/cinit-0.3pre9/client/respawn_svc.c deleted file mode 100644 index 5c350045..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/client/respawn_svc.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * (c) 2005,2006 Nico Schottelius (nico-linux at schottelius.org) - * respawn_svc - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/* run a service, gets (relative or absolute) path */ -pid_t respawn_svc(char *abspath) -{ - pid_t pid; - int tmp; - int pipefd[2]; - struct sigaction sa; - char delay[PATH_MAX+1]; - - D_PRINTF(abspath); - - if(pipe(pipefd) == -1) { - perror(MSG_ERR_PIPE); - return 0; - } - - pid = fork(); - if(pid == -1) { - perror(MSG_ERR_FORK); - return 0; - } - - /******************** PARENT ********************/ - if(pid > 0) { - /* if we read anything, our child succeded */ - if( read(pipefd[0],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - return pid; /* return watchers pid */ - } - - /****************** CHILD: Service watcher ********************/ - sa.sa_handler = sig_terminate; - sigaction(SIGTERM,&sa,NULL); /* term = kill respawing process */ - /* sigterm handler should kill first our watching pid, reset the - pid to 0 and then we'll kill ourselves */ - - tmp = 1; - if( write(pipefd[1],&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - _exit(1); - } - - /* try to read delay into sock */ - strcpy(delay,abspath); - strcat(delay,SLASH); - strcat(delay,C_DELAY); - - /* reuse sock to specify delay */ - sock = -1; - tmp = open(delay,O_RDONLY); - if(tmp != -1) { - pipefd[0] = read(tmp,&delay[0],PATH_MAX); - if(pipefd[0] > 0 && pipefd[0] <= PATH_MAX) { - delay[pipefd[0]] = 0; - sock = atoi(delay); - } - close(tmp); - } - - do { - /* exec_svc will set cpid accordingly */ - if( ! exec_svc(abspath, CMD_START_SVC) ) { - if(cpid != 0) { - D_PRINTF("sloefen"); - sleep(SLEEP_SVC); - D_PRINTF("Zuende geschlafen"); - } - } - } while(cpid); /* cpid is reset by sig_terminate() */ - - /* FIXME: put most code of sig_terminate here, look for no_kill */ - - /* start off task */ - exec_svc(abspath,CMD_STOP_SVC); - - D_PRINTF("jetzt weg"); - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/client/run_run_svcs.c b/software/cinit/browse_source/cinit-0.3pre9/client/run_run_svcs.c deleted file mode 100644 index 6486c76f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/client/run_run_svcs.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * run services parallel - */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - - -/*********************************************************************** - * parallel run forked() run_svc() - */ - -int run_run_svcs(char *abspath) -{ - DIR *d_tmp = NULL; - struct dirent *tdirent; - char pathbuf[PATH_MAX+1]; - pid_t pids[MAX_DEPS]; - int status, i, ret = 1; - - D_PRINTF(abspath); - - d_tmp = opendir(abspath); - - /* if there is no such dir, we are finished */ - if(d_tmp == NULL) { - return 1; - } - - i = 0; - while( (tdirent = readdir(d_tmp) ) != NULL) { - /* ignore . and .. and everything with a . at the beginning */ - if ( *(tdirent->d_name) == '.') continue; - - if(i < MAX_DEPS) { - pids[i] = fork(); - } else { - LOG(MSG_ERR_DEPS); - break; - } - - if(pids[i] == -1) { /* err */ - perror(MSG_ERR_FORK); - return 0; - } - - if(pids[i] == 0) { /* child */ - strcpy(pathbuf,abspath); - strcat(pathbuf,SLASH); - strcat(pathbuf,tdirent->d_name); - if ( run_svc(pathbuf) ) - _exit(0); - else - _exit(1); - } else { /* parent */ - ++i; - } - } - - closedir(d_tmp); - - /* wait for pids */ - --i; /* the index is one too much since last i++ */ - while(i >= 0) { - waitpid(pids[i], &status, 0); - - /* if anything failed, we failed */ - if( ! WIFEXITED(status)) { - ret = 0; - } else { - if( WEXITSTATUS(status) ) { - ret = 0; - } - } - --i; - } - return ret; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/client/run_svc.c b/software/cinit/browse_source/cinit-0.3pre9/client/run_svc.c deleted file mode 100644 index 7fea6a92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/client/run_svc.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre9/client/sig_terminate.c b/software/cinit/browse_source/cinit-0.3pre9/client/sig_terminate.c deleted file mode 100644 index 9b23e349..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/client/sig_terminate.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * terminate: terminate our watching pid - * part of cinit - */ - -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" - -/* ********************************************************************** - * terminate the watching service - */ -void sig_terminate(int signal) -{ - struct timespec ts; - int status; - - /* FIXME: only send SIGTERM, if not_kill does not exist */ - if( kill(cpid,SIGTERM) == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - - /* variabel delay */ - if(sock > 0) { - ts.tv_sec = sock; - } else { - ts.tv_sec = SLEEP_KILL_SVC; /* defined in conf/sleep_kill_svc */ - } - - /* if it still exists... */ - if(kill(cpid,0) != -1) { - /* kill if there is a delay */ - if(sock != 0) { - nanosleep(&ts,NULL); - status = kill(cpid,SIGKILL); - if( status == -1) { - if(errno != ESRCH) { - perror(MSG_TERMKILL); - } - } - } - } - - /* remove zombie if killed, if delay is zero wait for it */ - waitpid(cpid,&status,0); - - /* reset the watching pid to zero (NOT THE WATCHER's!) */ - cpid = 0; - - D_PRINTF("muesste weg sein"); - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/comm/README b/software/cinit/browse_source/cinit-0.3pre9/comm/README deleted file mode 100644 index f44743a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/comm/README +++ /dev/null @@ -1,6 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! - -comm/ - The communication part of cinit. - The functions are used in client and in server code. diff --git a/software/cinit/browse_source/cinit-0.3pre9/comm/do_change_status.c b/software/cinit/browse_source/cinit-0.3pre9/comm/do_change_status.c deleted file mode 100644 index 94b9be76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/comm/do_change_status.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * change status of a service - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* client: - * svc = service name - * status = status - * pid = pid - * sock2 = sock - * action = ACT_WRITE - * return: error code - * - * server: - * svc = buffer - * status = where to save status - * svc = bufferTH_MAX - * pid = where to save pid - * sock2 = nsock - * action = ACT_READ - * return: read service lenght - */ - -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - - if(action == ACT_SERV) { - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } - - if(fpoint(sock2,&tmp,sizeof(tmp)) == -1) { /* length */ - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - if(fpoint(sock2,svc,tmp) == -1) { /* write service name */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,status,sizeof(*status)) == -1) { /* status */ - perror(MSG_ERR_IO); - return 0; - } - - if(fpoint(sock2,pid,sizeof(*pid)) == -1) { /* PID */ - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/comm/do_result.c b/software/cinit/browse_source/cinit-0.3pre9/comm/do_result.c deleted file mode 100644 index cb51161b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/comm/do_result.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * write result of action - * part of cinit - */ - -#include -#include -#include - -#include "cinit.h" - -/* one handler for read and write! */ -char do_result(int nsock, char *value) -{ - ssize_t (*fpoint)(int,void* ,size_t); - char buf; - - if(value == NULL) { /* client */ - value = &buf; - fpoint = read; - } else { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - } - - if(fpoint(nsock,value,1) == -1) { /* result */ - perror(MSG_ERR_IO); - return RT_ERR_COMM; - } - - return *value; -} -/* returns cinit-0.2-style return codes */ diff --git a/software/cinit/browse_source/cinit-0.3pre9/comm/do_svc_name.c b/software/cinit/browse_source/cinit-0.3pre9/comm/do_svc_name.c deleted file mode 100644 index d427365f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/comm/do_svc_name.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * try to start a service - * part of cinit - */ - -#include -#include -#include -#include -#include "cinit.h" - -/* serv: - * get buf - * return length - * - * client: - * print svc - * return errorcode - */ -int do_svc_name(int sock2, char *svc, int action) -{ - int tmp; - ssize_t (*fpoint)(int,void* ,size_t); - - /* set pointers */ - if(action == ACT_CLIENT) { - fpoint = ( ssize_t (*)(int, void*, size_t) ) write; - tmp = strlen(svc); - } else { - fpoint = read; - } - - /* read / write lenght */ - if( fpoint(sock2,&tmp,sizeof(tmp)) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - if(tmp > PATH_MAX) { - return 0; - } - - /* write/read service name */ - if( fpoint(sock2,svc,tmp) == -1) { - perror(MSG_ERR_IO); - return 0; - } - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/.README b/software/cinit/browse_source/cinit-0.3pre9/conf/.README deleted file mode 100644 index 5d4a5a00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/.README +++ /dev/null @@ -1 +0,0 @@ -This directory contains the cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_confdir b/software/cinit/browse_source/cinit-0.3pre9/conf/c_confdir deleted file mode 100644 index 091e6192..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The directory below cinit_dir for cinit configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_delay b/software/cinit/browse_source/cinit-0.3pre9/conf/c_delay deleted file mode 100644 index dc30f147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_delay +++ /dev/null @@ -1,4 +0,0 @@ -delay - -Name of the file which contains the delay between sending SIGKILL after -SIGTERM for respawning processes. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_env b/software/cinit/browse_source/cinit-0.3pre9/conf/c_env deleted file mode 100644 index ec4d643b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_env +++ /dev/null @@ -1,9 +0,0 @@ -.env - -The extension to c_on and c_off, which will contain the environment \n seperated. - -For instance: - -CLIENT_IP=192.168.23.42 -ACCEPT_CONN=32 - diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_halt b/software/cinit/browse_source/cinit-0.3pre9/conf/c_halt deleted file mode 100644 index 4eed340f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_halt +++ /dev/null @@ -1,4 +0,0 @@ -halt - -Name of the link belowe c_special, which links to the program -to be executed right before halting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_init b/software/cinit/browse_source/cinit-0.3pre9/conf/c_init deleted file mode 100644 index 22a77d8e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_init +++ /dev/null @@ -1,3 +0,0 @@ -init - -The name of the init service. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_last b/software/cinit/browse_source/cinit-0.3pre9/conf/c_last deleted file mode 100644 index 8debf155..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_last +++ /dev/null @@ -1,7 +0,0 @@ -last - -Name of the file below cinit_dir/c_confdir/ to execute right before -reboot/halt/poweroff. - -This maybe a shellscript with the OS-specific umount procedure (like umount -a), -see doc/user/configuring.cinit for more details. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_needs b/software/cinit/browse_source/cinit-0.3pre9/conf/c_needs deleted file mode 100644 index eb715d7d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_needs +++ /dev/null @@ -1,3 +0,0 @@ -needs - -Name of the service sub-directory containing the needed services. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_off b/software/cinit/browse_source/cinit-0.3pre9/conf/c_off deleted file mode 100644 index 57e63cea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_off +++ /dev/null @@ -1,3 +0,0 @@ -off - -Name of the file we start, when stopping the service. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_on b/software/cinit/browse_source/cinit-0.3pre9/conf/c_on deleted file mode 100644 index 8eadc0a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_on +++ /dev/null @@ -1,3 +0,0 @@ -on - -Name of the file we start, when starting the service. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_panic b/software/cinit/browse_source/cinit-0.3pre9/conf/c_panic deleted file mode 100644 index 7fdb77b3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_panic +++ /dev/null @@ -1,5 +0,0 @@ -panic - -Name of the file below cinit_dir/c_confdir/ to execute on panic. -This name .params (normally panic.params) will be passed as parameters/ -argumunts to panic. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_params b/software/cinit/browse_source/cinit-0.3pre9/conf/c_params deleted file mode 100644 index d86d37cb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_params +++ /dev/null @@ -1,3 +0,0 @@ -.params - -The extension to c_on and c_off, which will contain the parameters \n seperated. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_poweroff b/software/cinit/browse_source/cinit-0.3pre9/conf/c_poweroff deleted file mode 100644 index 5b5c9c9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_poweroff +++ /dev/null @@ -1,4 +0,0 @@ -poweroff - -Name of the link belowe c_special, which links to the program -to be executed right before powering off the system. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_reboot b/software/cinit/browse_source/cinit-0.3pre9/conf/c_reboot deleted file mode 100644 index 8702388f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_reboot +++ /dev/null @@ -1,4 +0,0 @@ -reboot - -Name of the link belowe c_special, which links to the program -to be executed right before rebooting the system. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_respawn b/software/cinit/browse_source/cinit-0.3pre9/conf/c_respawn deleted file mode 100644 index cc85fbea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_respawn +++ /dev/null @@ -1,3 +0,0 @@ -respawn - -If this file exists in a service directory, cinit will respawn the service. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_sock b/software/cinit/browse_source/cinit-0.3pre9/conf/c_sock deleted file mode 100644 index 46a50941..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_sock +++ /dev/null @@ -1,4 +0,0 @@ -coala - -The name of the socket cinit will use (currently: below tmpdir, -see doc/ipc.thoughts). diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_tmp b/software/cinit/browse_source/cinit-0.3pre9/conf/c_tmp deleted file mode 100644 index 48e98e42..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_tmp +++ /dev/null @@ -1,3 +0,0 @@ -tmp - -The name of the temporary directory, where we'll mount tmpfs to create the socket diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_tmpfs b/software/cinit/browse_source/cinit-0.3pre9/conf/c_tmpfs deleted file mode 100644 index ba29caef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_tmpfs +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the filesystem to use to mount a memory filesystem. -On Linux this is "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_tmpmount b/software/cinit/browse_source/cinit-0.3pre9/conf/c_tmpmount deleted file mode 100644 index 3469fe57..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_tmpmount +++ /dev/null @@ -1,4 +0,0 @@ -tmpfs - -The name of the mount target, we'll mount with c_tmpfs on the c_tmp directory. -On Linux this can be anything, but we will use the default "tmpfs". diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/c_wants b/software/cinit/browse_source/cinit-0.3pre9/conf/c_wants deleted file mode 100644 index 20fe3184..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/c_wants +++ /dev/null @@ -1,3 +0,0 @@ -wants - -Name of the service sub-directory containing the wanted services. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/cc b/software/cinit/browse_source/cinit-0.3pre9/conf/cc deleted file mode 100644 index b168ae6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/cc +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -The c-compiler to use. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/cflags b/software/cinit/browse_source/cinit-0.3pre9/conf/cflags deleted file mode 100644 index f205afb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/cflags +++ /dev/null @@ -1,6 +0,0 @@ --pipe -W -Wall -Werror -Iinclude -g -D_XOPEN_SOURCE=600 -D_USE_POSIX - -Standard flags to pass to (g)cc. - --D_XOPEN_SOURCE=600 must be used on glibc to select the right standard. --D_USE_POSIX is needed for sigemptyset on glibc diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/cinit_dir b/software/cinit/browse_source/cinit-0.3pre9/conf/cinit_dir deleted file mode 100644 index 06e7d1ff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/cinit_dir +++ /dev/null @@ -1,3 +0,0 @@ -/etc/cinit - -This is where all configuration for cinit will be stored. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/confdir b/software/cinit/browse_source/cinit-0.3pre9/conf/confdir deleted file mode 100644 index 55fb65e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/confdir +++ /dev/null @@ -1,3 +0,0 @@ -conf - -The subdirectory below /etc/cinit to be used for general configurations. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/destdir b/software/cinit/browse_source/cinit-0.3pre9/conf/destdir deleted file mode 100644 index 9a37511f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/destdir +++ /dev/null @@ -1,4 +0,0 @@ - - -The destination to install to. This is not used when running cinit, -but only for installing it. Normally the first line is blank. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/getty_dir b/software/cinit/browse_source/cinit-0.3pre9/conf/getty_dir deleted file mode 100644 index 2cb4da05..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/getty_dir +++ /dev/null @@ -1,4 +0,0 @@ -getty - -This is the subdirectry in which the scripts will create the gettys, -if you are using 'install-conf'. It's not used be cinit internally. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/install_directory b/software/cinit/browse_source/cinit-0.3pre9/conf/install_directory deleted file mode 100644 index c8d9e45b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/install_directory +++ /dev/null @@ -1,3 +0,0 @@ --d - -Parameter to install_prog to create directories. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/install_prog b/software/cinit/browse_source/cinit-0.3pre9/conf/install_prog deleted file mode 100644 index 2f21943a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/install_prog +++ /dev/null @@ -1,4 +0,0 @@ -/usr/bin/install - -Program we use to install. install_directory contains parameter -to create directory. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/ipc_method b/software/cinit/browse_source/cinit-0.3pre9/conf/ipc_method deleted file mode 100644 index fc75e273..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/ipc_method +++ /dev/null @@ -1,5 +0,0 @@ -msgq - -The type of IPC (inter process communication) to use. -Valid values can be optained by issuing `ls src/ipc/`. - diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/ld b/software/cinit/browse_source/cinit-0.3pre9/conf/ld deleted file mode 100644 index b60e4836..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/ld +++ /dev/null @@ -1,3 +0,0 @@ -gcc - -Comment missing. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/ldflags b/software/cinit/browse_source/cinit-0.3pre9/conf/ldflags deleted file mode 100644 index fc214daf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/ldflags +++ /dev/null @@ -1,3 +0,0 @@ - - -No flags specified normally. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/max_delay b/software/cinit/browse_source/cinit-0.3pre9/conf/max_delay deleted file mode 100644 index 30725bf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/max_delay +++ /dev/null @@ -1,4 +0,0 @@ -30 - -Maximum number of seconds to sleep between retrying to start it -(respawn only). diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/max_deps b/software/cinit/browse_source/cinit-0.3pre9/conf/max_deps deleted file mode 100644 index 13db68e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/max_deps +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum number of direct dependencies (in each wants and needs, -that way doubling this number) a service may have. The default is 32. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/msgq_pathname b/software/cinit/browse_source/cinit-0.3pre9/conf/msgq_pathname deleted file mode 100644 index 1bef0b6b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/msgq_pathname +++ /dev/null @@ -1,4 +0,0 @@ -/bin/sh - -Used to generate an unique identifier for the message queue. -See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/msgq_to_clients b/software/cinit/browse_source/cinit-0.3pre9/conf/msgq_to_clients deleted file mode 100644 index dd15808a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/msgq_to_clients +++ /dev/null @@ -1,4 +0,0 @@ -o - -This is use in ftok to generate a key_t for the message queue use to write -to the clients. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/msgq_to_server b/software/cinit/browse_source/cinit-0.3pre9/conf/msgq_to_server deleted file mode 100644 index f87ae3f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/msgq_to_server +++ /dev/null @@ -1,4 +0,0 @@ -i - -This is use in ftok to generate a key_t for the message queue use to write -to the server. See ftok(3). diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/os b/software/cinit/browse_source/cinit-0.3pre9/conf/os deleted file mode 100644 index ddbf8f9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/os +++ /dev/null @@ -1,14 +0,0 @@ -linux - -Select the operating system compiling for. - -Current possibilities: - - - linux - - -Currently Planned possibilities: - - - freebsd - - openbsd - - netbsd diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/p_asciidoc b/software/cinit/browse_source/cinit-0.3pre9/conf/p_asciidoc deleted file mode 100644 index 52485c86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/p_asciidoc +++ /dev/null @@ -1,6 +0,0 @@ -asciidoc - -The binary on your system (with or without path) which does what I expect -asciidoc todo. - -Default: asciidoc diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/p_docbooktoman b/software/cinit/browse_source/cinit-0.3pre9/conf/p_docbooktoman deleted file mode 100644 index d62c9015..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/p_docbooktoman +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-man - -The binary on your system (with or without path) which converts -docbook to manpages. - -Default: docbook2x-man diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/p_docbooktotexi b/software/cinit/browse_source/cinit-0.3pre9/conf/p_docbooktotexi deleted file mode 100644 index 278f6805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/p_docbooktotexi +++ /dev/null @@ -1,6 +0,0 @@ -docbook2x-texi - -The binary on your system (with or without path) which converts -docbook to texinfo. - -Default: docbook2x-texi diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/prefix b/software/cinit/browse_source/cinit-0.3pre9/conf/prefix deleted file mode 100644 index 6b90469f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/prefix +++ /dev/null @@ -1,5 +0,0 @@ - - -Where to install cinit. Normally this will be /, but you can put it anywhere. -The subdirectory 'sbin' under this prefix must be readable by the kernel. -This is normally either empty or "/". diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/profile b/software/cinit/browse_source/cinit-0.3pre9/conf/profile deleted file mode 100644 index b9104bf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/profile +++ /dev/null @@ -1,9 +0,0 @@ -cprofile: - -The argument should be passed to cinit to recognize that -a profile will follow. "cprofile:" is the standard, as -the Linux kernel eats everything in the form 'var=parm'. -The old (pre cinit-0.1) option "cprofile=" should therefore -NOT be used. - -Under Linux you tell it the bootloader like grub or LILO. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/service_categories b/software/cinit/browse_source/cinit-0.3pre9/conf/service_categories deleted file mode 100644 index 2216ea97..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/service_categories +++ /dev/null @@ -1,7 +0,0 @@ -getty init local-tuning local-services mount network remote-services - -List of directories normally created below /etc/cinit/svc/ as -'pseudo-services'. - -Btw, 'init' is the first service and has always to be there, but it does not really -fit into here, because it's a real one, compraed to the pseudo services. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_before_kill b/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_before_kill deleted file mode 100644 index 2671f22d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_before_kill +++ /dev/null @@ -1,7 +0,0 @@ -sleep_before_kill - -The file that specifies how long to sleep after sending SIGTERM, before sending -SIGKILL to every process. If this file is non-existing the builtin value from -'sleep_kill'. - -The file should be located below conf/ diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_kill b/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_kill deleted file mode 100644 index b419241a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_kill +++ /dev/null @@ -1,8 +0,0 @@ -2 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to every -process. 5 is a good working value, but makes me tired. Testing with -2 currently. - -Note: This does NOT affect terminating services, they are shutdown by -their own 'off' functions. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_kill_svc b/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_kill_svc deleted file mode 100644 index e399ac10..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_kill_svc +++ /dev/null @@ -1,5 +0,0 @@ -1 - -Seconds to sleep after sending SIGTERM, before sending SIGKILL to -the service we are shutting down. This is only used for -bringing down respawning processes. Default: 1. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_rerun b/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_rerun deleted file mode 100644 index 703339f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_rerun +++ /dev/null @@ -1,4 +0,0 @@ -1 - -How many seconds to sleep before rechecking if the service was executed. -Used by run_svc(). diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_svc b/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_svc deleted file mode 100644 index e20aed6a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/sleep_svc +++ /dev/null @@ -1,3 +0,0 @@ -5 - -How many seconds to sleep before respawning a failed process. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/sock_queue b/software/cinit/browse_source/cinit-0.3pre9/conf/sock_queue deleted file mode 100644 index 4917a1f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/sock_queue +++ /dev/null @@ -1,4 +0,0 @@ -32 - -Maximum process waiting in the socket queue. The default is much -more than enough. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/strip b/software/cinit/browse_source/cinit-0.3pre9/conf/strip deleted file mode 100644 index 08736418..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/strip +++ /dev/null @@ -1,3 +0,0 @@ -strip -R .comment -R .note - -Strip out unecessary parts of the binaries. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/sulogin b/software/cinit/browse_source/cinit-0.3pre9/conf/sulogin deleted file mode 100644 index 24859afc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/sulogin +++ /dev/null @@ -1,6 +0,0 @@ -/sbin/sulogin - -The path to sulogin. We'll execute it, if the standard panic -action fails (as specified in cinit_dir/c_confdir/panic). - -If you need arguments, you tave to hack serv/panic.c diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/svcdir b/software/cinit/browse_source/cinit-0.3pre9/conf/svcdir deleted file mode 100644 index 087a3848..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/svcdir +++ /dev/null @@ -1,3 +0,0 @@ -svc - -Directory below /etc/cinit that contains the services. diff --git a/software/cinit/browse_source/cinit-0.3pre9/conf/version b/software/cinit/browse_source/cinit-0.3pre9/conf/version deleted file mode 100644 index 2e1c3037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/conf/version +++ /dev/null @@ -1,3 +0,0 @@ -"0.3pre9" - -The version. diff --git a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/Makefile b/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/Makefile deleted file mode 100644 index 8441c90b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# (c) 2005 Peter Portmann (pp at bluewin.ch) -# cinit/contrib+tools -# -# This script is written for the clinux-System and published -# under the terms of GPL 2.0 -# -# Version: 0.2 -# clean with a single command instead of two commands. -# -# ChangeLog: -# 0.1 initial version -# -# Todo: -# -# Features: - -# -# compile/link options -# -# do not use DEBUG and OPTIMIZE at the same time! -#DEBUG=-DDEBUG -#OPTIMIZE=-Werror -DEBUG=-g -DDEBUG -#OPTIMIZE=-pipe -Os -Werror - -# init should be static per default! -LDFLAGS= - -# programs -CC=gcc $(DEBUG) $(OPTIMIZE) $(TIMEME) -CFLAGS=-Wall -I. -I../ -LD=gcc -STRIP=strip -R .comment -R .note - -INSTALL = install - -prefix = /usr -bindir = $(prefix)/bin - -# objects - -CLIENT=cinit.graph.text.o - -COMMUNICATION=error.o ../generic/usage.o ../generic/mini_printf.o - -OBJ=$(CLIENT) $(COMMUNICATION) - -# -PROGRAMS=cinit.graph.text -SCRIPTS=cconfig.graph.xml.rb \ - make.cconfig.from.xml.rb \ - cinit-vis.pl - -# targets -all: $(PROGRAMS) - -cinit.graph.text: $(OBJ) - $(LD) $(LDFLAGS) $(OBJ) -o $@ - $(STRIP) $@ - -clean: - rm -f *.o $(PROGRAMS) - -install: all - @echo '*** Installing contrib+tools ***' - $(INSTALL) -d -m755 $(DESTDIR)$(bindir) - for bin in $(SCRIPTS) $(PROGRAMS); do \ - $(INSTALL) $$bin $(DESTDIR)/$(bindir); \ - done diff --git a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/README b/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/README deleted file mode 100644 index 85fa2f5c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/README +++ /dev/null @@ -1,11 +0,0 @@ -contrib+tools/ - programs written by others and external tools not necessary - needed but (very) nice to have - - - cinit-vis.pl - draw an ascii graph of cinit configuration [perl] - cinit.graph.text - draw an ascii graph of cinit configuration [c] - - cconfig.graph.xml.rb - creates a xml file from a cconfig [ruby] - make.cconfig.from.xml.rb - creates a cconfig from a xml file [ruby] - diff --git a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/README.ruby b/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/README.ruby deleted file mode 100644 index ed210cee..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/README.ruby +++ /dev/null @@ -1,7 +0,0 @@ -The ruby tools for general cconfig [0] are written by RenĂ© Nussbaumer [1]. -You can find the documentation for them at [2]. - - -[0]: http://nico.schotteli.us/papers/linux/cconfig/ -[1]: http://killerfox.forkbomb.ch/ -[2]: http://killerfox.forkbomb.ch/articles/cconfig/tools diff --git a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/cconfig.graph.xml.rb b/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/cconfig.graph.xml.rb deleted file mode 100644 index d18ba422..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/cconfig.graph.xml.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Writes an XML-Tree for a cconfig directory - Idea by Nico Schottelius aka telmich - Implemented and (C) by RenĂ© Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (RenĂ© Nussbaumer): - * Added support for binary files - * Added sha1 checksum for binary files - - Version 0.2 (RenĂ© Nussbaumer): - * Changed checking order: symlink, directory, file. Because of - a logical bug -> directory follows symlink so, when a symlink - points to a directory no «link» element is created. - - Version 0.1 (RenĂ© Nussbaumer): - * Holy hack for directory scanning (needs to be optimized) - * Hack for rexml to print out «lost» tags. This rexml sux. - - Todo: - * Optimize scanning. - * Use another xml library instead of rexml crap. - Problem: Produce dependencies -> no std-lib - - Features: - * Create a flat (no deepnes without directory) and 1:1 image - of an cconfig directory - -=end - -require 'rexml/document' -require 'base64' -require 'digest/sha1' - -require 'filemagic' - -@version = '0.3' - -def determineTarget(entry) - return 'external' if(!File.expand_path(entry).index(@initpath)) - return 'link' if(FileTest.symlink?(entry)) - return 'object' if(FileTest.directory?(entry)) - return 'attribute' if(FileTest.file?(entry)) - return 'unknown' # Should never be reached -end - -def createTree(dir, parent) - dir.each { |entry| - next if(entry =~ /^(\.|\.\.)$/) - - if(FileTest.symlink?(entry)) - e = parent.add_element('link') - - # Much fun with links - e.add_attributes( { 'name' => entry, 'target' => determineTarget(File.readlink(entry)) } ) - e.add_text(File.readlink(entry)) - elsif(FileTest.directory?(entry)) - e = parent.add_element('object') - e.add_attribute('name', entry) - - # Bad, that we need to change the directory every time. - oldPwd = Dir.pwd - Dir.chdir(entry) - createTree(Dir.new('.'), e) - Dir.chdir(oldPwd) - elsif(FileTest.file?(entry)) - e = parent.add_element('attribute') - e.add_attribute('name', entry) - if(File.stat(entry).size?) - # Yeah, we got one WITH content! W00h00, let's party. - - fm = FileMagic.new(FileMagic::MAGIC_MIME) - if(fm.file(entry) =~ /executable/) - e.add_attribute('type', 'binary') - text = File.new(entry).read - e.add_attribute('sha1', Digest::SHA1.hexdigest(text)) - e.add_text(Base64.encode64(text)) - else - e.add_text(File.new(entry).read) - end - fm.close() - end - end - } -end - - -if(!ARGV[0] || !FileTest.directory?(ARGV[0])) - puts 'You need to specify a directory' - Kernel.exit(-1) -end - -doc = REXML::Document.new - -e = doc.add_element('cconfig') -e.add_attribute('name', File.basename(ARGV[0])) -e.add_attribute('version', @version) - -@initpath = File.expand_path(ARGV[0]) -Dir.chdir(ARGV[0]) -createTree(Dir.new('.'), doc.root) - -out = '' -doc.write(out, 0, false, true) - -REXML::XMLDecl.new('1.0', 'utf-8').write($stdout) # This should automatically printed by rexml. Damn bugs. -puts '' -puts out # Workaround for a buggy rexml - diff --git a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/cinit-vis.pl b/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/cinit-vis.pl deleted file mode 100644 index 3956ff47..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/cinit-vis.pl +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/perl -w -# (c) by Marcus Przyklink (downhill-clinux@burningchaos.org) -# written for cinit and published under GPL -# beautified a bit by Nico Schottelius -# optimized by RenĂ© Nussbaumer -# Version: 0.1 - -use strict; -use warnings; - -# -# Variables for location and output -# -# cinit-directory -my $path = "/etc/cinit/"; -# started profile -my $starting_point = "init"; -# the spaces for each level (integer: amount of spaces) -my $space = 3; -# marker for need -my $need = "-->"; -# marker for want -my $want = "==>"; - -# -# main function, recursively list the components of the cinit system -# -if (@ARGV) { - if( $ARGV[0] =~ /-(h|-help)/ ) { - print "Usage: " . __FILE__ . " without parameters for standard-use (check variables in file)\n"; - print " Parameters:\n"; - print " -h for this help\n"; - print " profile-name for a profile\n"; - exit(0); - } - else { - $starting_point = $ARGV[0]; - } -} - -# -# start first instance -# -sub get_deeper { - my ($point, $tmp_counter, $need_want) = splice @_; - - print " " x ($space * $tmp_counter) . ($need_want ? $need : $want) . " " . $point . "\n"; - - opendir(DIR, "${path}${point}/needs") and - my @next_need = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - opendir(DIR, "${path}${point}/wants") and - my @next_want = sort grep(!/^\./, readdir(DIR)) and - closedir(DIR); - - for(@next_need) { - get_deeper($_, $tmp_counter + 1, 1); - } - for(@next_want) { - get_deeper($_, $tmp_counter + 1, 0); - } -} - -# -# start first instance -# -get_deeper($starting_point, 0, 0); - -# -# work done, go home -# -exit(0); diff --git a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/cinit.graph.text.c b/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/cinit.graph.text.c deleted file mode 100644 index bc6fb6ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/cinit.graph.text.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - cinit.graph.text.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.2 - - ChangeLog: - Version 0.2 (Peter Portmann): - * Not assigned link destinies are marked by (!). - * Not readable directories are marked by "directory not readable". - - Version 0.1 (Peter Portmann): - * Print of the directory structure of the contained files and links - without following the links. - - Todo: - - Features: -*/ - -//#include -#include -#include -#include -#include -#include -#include -#include -#include "cinit.h" -#include "error.h" - -#define FTW_F 1 /* file isn't a directory */ -#define FTW_D 2 /* file is a directory */ -#define FTW_DNR 3 /* not readable directory */ -#define FTW_NS 4 /* unsuccesfully stat on this file */ -#define MAX_CHAR 4096 - -/*********************************************************************** - * cinit.gaph.text - textual representation of the cinit directory - */ - -#define CSERVICE_BANNER "cinit.gaph.text - textual representatio of the cinitdirectory\n\n" -#define USAGE_TEXT "\n\nUsage:\n\ncinit.gaph.text \n" \ - "\tpath\t- cinit installationpath\n" - -typedef int EACH_ENTRY(const char *, const struct stat *, int); -typedef enum { FALSE=0, TRUE=1 } bool; - -static char dirpath[PATH_MAX]; -static int depth = 0; -static long int filecount = 0; - -static EACH_ENTRY each_entry; -static int pp_ftw(char *, EACH_ENTRY *); -static int each_getinfo(EACH_ENTRY *); - -/*********************************************************************** - * pp_ftw: file tree walk - */ -static int pp_ftw(char *filepath, EACH_ENTRY *function) -{ - int n; - - if(chdir(filepath) < 0) /* In angegebenen Pfad wechseln */ - err_msg(FATAL_SYS, "can't change to %s", filepath); - - if(getcwd(dirpath, PATH_MAX) == 0) /* Absoluten Pfadnamen ermitteln */ - err_msg(FATAL_SYS, "error using getcwd for %s", filepath); - - n = each_getinfo(function); - - return(n); -} - -/*********************************************************************** - * each_getinfo: get more info for each file. - */ -static int each_getinfo(EACH_ENTRY *function) -{ - struct stat statpuff; - struct dirent *direntz; - DIR *dirz; - int n; - char *zgr; - - if(lstat(dirpath, &statpuff) < 0) - return(function(dirpath, &statpuff, FTW_NS)); /* Error on stat */ - - if(S_ISDIR(statpuff.st_mode) == 0) - return(function(dirpath, &statpuff, FTW_F)); /* no directory */ - - /* It's a directory. - * Call function() for it. After that handel each file in the directory. */ - - if((dirz = opendir(dirpath)) == NULL) { /* Directory not readable */ - closedir(dirz); - return(function(dirpath, &statpuff, FTW_DNR)); - } - - if((n = function(dirpath, &statpuff, FTW_D)) != 0) /* return the directorydirpath */ - return(n); - - zgr = dirpath + strlen(dirpath); /* append slash to the dirpathname */ - *zgr++ = '/'; - *zgr = '\0'; - - while((direntz = readdir(dirz)) != NULL) { - /* ignor . and .. */ - if(strcmp(direntz->d_name, ".") && strcmp(direntz->d_name, "..")) { - strcpy(zgr, direntz->d_name); /* append filename after slash */ - depth++; - if(each_getinfo(function) != 0) { /* Recursion */ - depth--; - break; - } - depth--; - } - } - *(zgr-1) = '\0'; /* deleting evrything after the slash */ - - if(closedir(dirz) < 0) - err_msg(WARNING, "closedir for %s failed", dirpath); - - return(n); -} - -/*********************************************************************** - * each_entry: handling each file and build the graph step by step. - */ -static int each_entry(const char *filepath, const struct stat *statzgr, int filetype) -{ - struct stat statpuff; - static bool erstemal=TRUE; - int i; - - char link[MAX_CHAR]; - - filecount++; - if(!erstemal) { - for(i=1 ; i<=depth ; i++) - printf("%4c|", ' '); - printf("----%s", strrchr(filepath, '/')+1); - } else { - printf("%s", filepath); - erstemal = FALSE; - } - - switch(filetype) { - case FTW_F: - switch(statzgr->st_mode & S_IFMT) { - case S_IFREG: break; - case S_IFCHR: printf(" c"); break; - case S_IFBLK: printf(" b"); break; - case S_IFIFO: printf(" f"); break; - case S_IFLNK: - printf(" -> "); - if(( i=readlink(filepath, link, MAX_CHAR)) != -1) - printf("%.*s", i, link); - if(stat(filepath, &statpuff) < 0) - printf(" (!)"); - break; - case S_IFSOCK: printf(" s"); break; - default: printf(" ?"); break; - } - printf("\n"); - break; - - case FTW_D: - printf("/\n"); - break; - - case FTW_DNR: - printf("/ directory not readable\n"); - break; - - case FTW_NS: - err_msg(WARNING_SYS, "Error using 'stat' on file %s", filepath); - break; - - default: - err_msg(FATAL_SYS, "Unknown Filetype (%d) by file %s", filetype, filepath); - break; - } - - return(0); -} - -/*********************************************************************** - * main: - */ -int main(int argc, char *argv[]) -{ - if(argc != 2) - usage(CSERVICE_BANNER, USAGE_TEXT); - - exit(pp_ftw(argv[1], each_entry)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/error.c b/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/error.c deleted file mode 100644 index 8174c702..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/error.c +++ /dev/null @@ -1,124 +0,0 @@ -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.c - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#include "error.h" -#include -#include -#include -#include -#include -#include - -#define MAX_CHAR 4096 - -int debug; /* Aufrufer von log_msg oder log_open muss debug setzen: - 0, wenn interaktiv; 1, wenn Daemon-Prozess */ - -/*---- Lokale Routinen zur Abarbeitung der Argumentliste --------------------*/ -static void msg_err(int sys_msg, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - return; -} - -static void msg_log(int sys_msg, int prio, const char *fmt, va_list az) -{ - int fehler_nr = errno; - char puffer[MAX_CHAR]; - - vsprintf(puffer, fmt, az); - if (sys_msg) - sprintf(puffer+strlen(puffer), ": %s ", strerror(fehler_nr)); - if (debug) { - fflush(stdout); /* fuer Fall, dass stdout und stderr gleich sind */ - fprintf(stderr, "%s\n", puffer); - fflush(NULL); /* alle Ausgabepuffer flushen */ - } else { - strcat(puffer, "\n"); - syslog(prio, puffer); - } - return; -} - -/*---- Global aufrufbare Fehlerroutinen -------------------------------------*/ -void err_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_err(0, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - case DUMP: - msg_err(1, fmt, az); - break; - default: - msg_err(1, "Falscher Aufruf von err_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - else if (kennung==DUMP) - abort(); /* core dump */ - exit(1); -} - -void log_msg(int kennung, const char *fmt, ...) -{ - va_list az; - - va_start(az, fmt); - switch (kennung) { - case WARNING: - case FATAL: - msg_log(0, LOG_ERR, fmt, az); - break; - case WARNING_SYS: - case FATAL_SYS: - msg_log(1, LOG_ERR, fmt, az); - break; - default: - msg_log(1, LOG_ERR, "Falscher Aufruf von log_msg...", az); - exit(3); - } - va_end(az); - - if (kennung==WARNING || kennung==WARNING_SYS) - return; - exit(2); -} - -/*---- log_open --------------------------------------------------------------- - initialisiert syslog() bei einem Daemon-Prozess */ -void log_open(const char *kennung, int option, int facility) -{ - if (debug==0) - openlog(kennung, option, facility); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/error.h b/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/error.h deleted file mode 100644 index a55690fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/error.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef ERROR_H -#define ERROR_H -/** - (c) 2005 Peter Portmann (pp at bluewin.ch) - error.h - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.1 - - ChangeLog: - - Todo: - - Features: -*/ - -#define WARNING 0 -#define WARNING_SYS 1 -#define FATAL 2 -#define FATAL_SYS 3 -#define DUMP 4 - -void log_msg(int kennung, const char *fmt, ...); -void err_msg(int kennung, const char *fmt, ...); - - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/make.cconfig.from.xml.rb b/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/make.cconfig.from.xml.rb deleted file mode 100644 index 05f35cc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/contrib+tools/make.cconfig.from.xml.rb +++ /dev/null @@ -1,227 +0,0 @@ -#!/usr/bin/env ruby - -=begin - - Create a cconfig directory based on a xml input. - (C) 2005 by René Nussbaumer aka KillerFox - - This script is written for the clinux-System and published - under the terms of GPL 2.0 - - Version: 0.3 - - ChangeLog: - Version 0.3 (René Nussbaumer): - * Added binary file support - * Added sha1 checksum for binary files - - Version 0.2 (René Nussbaumer): - * Added some commandline options - * Added «level» so control the restrictivity of the program - * Added more «intelligence» to the program, to detect internal broken dependcies. - * Support «debug»-Levels. - * Print statistic at the end of the programs about warnings and errors. - - Version 0.1 (René Nussbaumer): - * Initial - - Todo: - * Use an rexml alternative - * Some cleanup - * Optimize - * Testing? - - Features: - * Create a cconfig directory based on a xml - -=end - -require 'rexml/document' -require 'getoptlong' -require 'base64' -require 'digest/sha1' - -@verbose = 0 -@level = 1 -@version = '0.3' - -@warnings = 0 -@errors = 0 -@checklist = Array.new - -def printMsg(prefix, msg) - puts '%-12s %s' % [prefix + ':', msg] -end - -def error(msg, fatal = 0) - @errors += 1 - fatal = 0 if(@level < 1) - fatal = 255 if(@level > 1 && !fatal) - printMsg(fatal != 0 ? 'PANIC' : 'ERROR', msg) - Kernel.exit(-fatal) if(fatal != 0) -end - -def warn(msg) - error(msg, 1) if(@level > 1) - @warnings += 1 - printMsg('WARNING', msg) -end - -def info(msg) - printMsg('INFO', msg) -end - -def debug(msg, verbosity = 1) - if(@verbose >= verbosity) - printMsg("DEBUG(#{verbosity})", msg) - end -end - -def createObject(name) - error("#{name} already exists.", 1) if(FileTest.exists?(name)) - begin - Dir.mkdir(name) - rescue - error("Could not create directory #{name}: #{$!}. Abort.", 7) - end - debug("Object #{File.expand_path(name)} has been created.", 4) -end - -def createAttribute(name, content = nil) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - begin - file = File.new(name, 'w') - file.print content if(content && !content.empty?) - file.close - debug("Attribute #{File.expand_path(name)} has been created", 4) - rescue - error("Could not create file #{name}: #{$!}. Skipped.") - end -end - -def createLink(name, target, type) - warn("#{name} already exists. Overwrite.") if(FileTest.exists?(name)) - error("Broken dependencies! Please take a look if #{target} exists on your system", 2) if(type == 'external' && !FileTest.exists?(target)) - if(!FileTest.exists?(target) && type != 'external') - #info("Possible break. But maybe the target #{target} does not yet exists. Checking later.") - exptarget = File.expand_path(target) - @checklist << exptarget - debug("Adding #{target} to the list of internal dependcies to check.", 2) - end - begin - error('You\'ve a system which does not support symbolic links. Abort.', 3) if(File.symlink(target, name) != 0) - rescue - error("Could not create symlink #{name} => #{target}: #{$!}.", 3) - end - debug("Link #{File.expand_path(name)} has been created", 4) -end - -def doWork(elm) - name = elm.name - attrname = elm.attributes['name'] - error("XML Tag with missing name attribute!", 5) if(!attrname) - if(name =~ /(object|cconfig)/) - if(name == 'cconfig') - if(elm.attributes['version']) - info("Found a version string: #{elm.attributes['version']}") - warn("This XML is maybe incompatible with this programm. I'm a version #{@version} script. The XML is generated with a version #{elm.attributes['version']} script. Please update.") if(elm.attributes['version'] > @version) - end - end - createObject(attrname) - if(elm.has_elements?) - pwd = Dir.pwd - Dir.chdir(attrname) - elm.each_element { |e| - doWork(e) - } - Dir.chdir(pwd) - end - elsif(name == 'attribute') - text = nil - e = nil - text = e.value if((e = elm.get_text)) - if(text && elm.attributes['type'] && elm.attributes['type'] == 'binary') - text = Base64.decode64(text) - if(Digest::SHA1.hexdigest(text) != elm.attributes['sha1']) - warn("SHA1 differs from file: #{Dir.pwd}#{attrname}") - end - end - createAttribute(attrname, text) - elsif(name == 'link') - error("link-Tag without content.", 6) if(!elm.has_text?) - error("link with missing target. Skipped.") if(!elm.attributes['target']) - createLink(attrname, elm.get_text.value, elm.attributes['target']) - end -end - -puts "This is #{File.basename(__FILE__)} v#{@version} by René Nussbaumer" -puts - -opts = GetoptLong.new( - ['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT], - ['--level', '-l', GetoptLong::REQUIRED_ARGUMENT], - ['--version', '-V', GetoptLong::NO_ARGUMENT] -) - -opts.each { |arg,value| - case arg - when '--verbose' - @verbose += 1 - value.each_byte { |x| - if(x.chr == 'v') - @verbose += 1 - end - } - debug("Verbosity set to: #{@verbose}") - when '--level' - debug("Setting level to: #{value}", 3) - case value - when 'low' - @level = 0 - when 'normal' - @level = 1 - when 'paranoid' - @level = 2 - else - warn('Unknown level: ' + value) - end - when '--version' - Kernel.exit(0) - else - warn("Unknown option #{arg}#{value && !value.empty? ? ('with value ' + value) : ''}") - end -} - -if(!ARGV[0]) - puts 'Need at least one argument' - puts "Usage: #{__FILE__} " - Kernel.exit(1) -end - - -filedesc = $stdin - -if(ARGV[0] != '-') - filedesc = File.new(ARGV[0]) -end - -doc = REXML::Document.new filedesc - -doWork(doc.root) - -if(!@checklist.empty?) - info('Now checking all broken internal dependcies again') - broken = 0 - @checklist.each { |path| - debug("Checking #{path}.", 2) - if(!FileTest.exists?(path)) - broken += 1 - warn("Broken dependcies. #{path} does not exist. Please fix.") - end - } - info('Looks good.') if(broken == 0) - info('Bad, bad.') if(broken > 0) -end - -info("Successed. #{@warnings} warnings, #{@errors} errors") - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/.buildwarn b/software/cinit/browse_source/cinit-0.3pre9/doc/.buildwarn deleted file mode 100644 index 3a0354dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/.buildwarn +++ /dev/null @@ -1,23 +0,0 @@ -**************************************************************************** -Welcome, cinit greets you. -**************************************************************************** - -Hints: ------- - - Settings used for compiling (not only) can be found in conf/* - - The boot configuration normally resides below /etc/cinit - -Documentation -------------- -The documentation can be found in doc/: - - - doc/user/ contains documentation for users - - doc/devel/ contains documentation for developers - - Please read doc/user/installing-cinit.text _BEFORE_ installing. - -Building cinit --------------- - - "make all" - to build cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/Makefile b/software/cinit/browse_source/cinit-0.3pre9/doc/Makefile deleted file mode 100644 index bd14b6dd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/Makefile +++ /dev/null @@ -1,104 +0,0 @@ -# -# Makefile stolen from ccollect -# Nico Schottelius, Fri Jan 13 12:13:08 CET 2006 -# - -A2X=a2x -ASCIIDOC=asciidoc -DOCBOOKTOTEXI=docbook2x-texi -DOCBOOKTOMAN=docbook2x-man -XSLTPROC=xsltproc -XSL=/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl - -# -# Asciidoc will be used to generate other formats later -# -MANDOCS = man/cinit.text -USERDOCS = user/compiles.on.text user/configuring.cinit.text \ - user/conf-system.text \ - user/cross-compiling.text user/current-init-problems.text \ - user/daemons.backgrounding.text user/dependencies.text \ - user/example-directory-structure.text \ - user/installing-cinit.text user/paths.text \ - user/profiles.text user/README.text -DEVELDOCS = devel/codingguideline.text -DOCS = $(MANDOCS) $(USERDOCS) $(DEVELDOCS) - -# -# Doku -# -HTMLDOCS = $(DOCS:.text=.html) -DBHTMLDOCS = $(DOCS:.text=.htm) - -#TEXIDOCS = $(DOCS:.text=.texi) - -MANPDOCS = $(MANDOCS:.text=.man) - -DOCBDOCS = $(DOCS:.text=.docbook) - -DOC_ALL = $(HTMLDOCS) $(DBHTMLDOCS) $(TEXIDOCS) $(MANPDOCS) - -# -# End user targets -# -help: - @echo "----------- documentation make targets --------------" - @echo "documentation: generate HTML, Texinfo and manpage" - @echo "html: only generate HTML (via asciidoc/docbook/xsltproc)" - @echo "htm: only generate HTML (via asciidoc)" - @echo "info: only generate Texinfo" - @echo "man: only generate manpages" - @echo "pdf: only generate pdfs (requires: fop)" - -install: - -# -# Internal targets -# -html: $(HTMLDOCS) -htm: $(DBHTMLDOCS) -info: $(TEXIDOCS) -man: $(MANPDOCS) -documentation: $(DOC_ALL) - - -# -# Generic targets -# - -# docbook gets .htm, asciidoc directly .html (or the other way round) -%.html: %.docbook - ${XSLTPROC} -o $@ ${XSL} $< - -%.htm: %.text - ${ASCIIDOC} -n -o $@ $< - -%.docbook: %.text - ${ASCIIDOC} -n -b docbook -o $@ $< - -%.texi: %.docbook - ${DOCBOOKTOTEXI} --to-stdout $< > $@ - -%.mandocbook: %.text - ${ASCIIDOC} -b docbook -d manpage -o $@ $< - -#%.man: %.mandocbook -# ${DOCBOOKTOMAN} --to-stdout $< > $@ - -%.man: %.text - ${A2X} -f manpage $< - -%.pdf: %.text - ${A2X} -f pdf $< - -# -# Distribution -# -clean distclean: - rm -f $(DOC_ALL) - -# -# Be nice with the users and generate documentation for them -# -dist: distclean documentation - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/README.text b/software/cinit/browse_source/cinit-0.3pre9/doc/README.text deleted file mode 100644 index 46fe59fe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/README.text +++ /dev/null @@ -1,57 +0,0 @@ -cinit/doc -========= -Nico Schottelius -0.1, Initial Version from 2006-11-30 -:Author Initials: NS - -This directory contains the cinit documentation. - -Files and directories in this directory ----------------------------------------- - -ancient -~~~~~~~ -Old documents, only thought to irritate you. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -braindumps -~~~~~~~~~~ -Files I used to make the situation clear to myself. -They are not interesting for most people and may contain -obsoleted or wrong information. - - -devel -~~~~~ -Developer related documents. Contains information for adding code, -for developing external tools to cinit or code guidelines for writing -patches to cinit. - - -logs -~~~~ -Logfiles or raw data dumps. - - -Makefile -~~~~~~~~ -The makefile used to generate the documentation. - - -man -~~~ -Manpages. - - -README.text -~~~~~~~~~~~ -This file - - -user -~~~~ -The most important part: Documentation for users (aka sysadmins, -hackers, endusers?): Explains howto install, configure, use and -debug cinit. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/README b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/README deleted file mode 100644 index 45e193f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/README +++ /dev/null @@ -1,16 +0,0 @@ -Ancient -======= -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-02 - - -These files may be incorrect, outdated, totally wrong or even trying -to take over world dominance. - - -Why are they still there? -------------------------- - -Just because to document the early days of cinit. If you are -a software archaeologist in the year 2423, you'll be happy that -I saved those files. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/caveats b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/caveats deleted file mode 100644 index 5ab123e7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/caveats +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -'Geheimnisse' in German, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -- Dependencies beginning with a '.' (dot) are ignored. - So you can temporarily disable a dependency moving it to - want/.name - -- Why is the name of the socket "coala"? - Well, coala could mean 'cinit object abstract layer access', but - perhaps it's a much simpler reason. - -- cinit will start a little bit faster if you omit non needed - 'wants' and 'needs' dirs as they need to be scanned if they - do not exist - -- Currently there is no support to react on 'ctr+alt+del': - 1. It is not handled to switch on / off - (Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del) - 2. If the kernel handles it and sends signals to cinit - (SIGINT on Linux) they will be ignored. - There is no problem in implementing a handler for this signal, - the only reason why it is not there - (well, a template is in old/sig_special.c) is that nobody - could tell me what would be the most senseful thing to handle - ctrl-alt-del. If you can, I'll perhaps integrate it. - 3. ctrl-alt-del is currently disabled under Linux within - the service local-tuning/ctrl-alt-del - -- cinit ignores the Keyboard request - Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't - know what to do when recieving it. - -- cinit does not care about its pid - nor does cinit care if it is already running - - in serv/cinit.c is a line calling run_init_svc(). - If you call that only if getpid() == 1, cinit will behave like sysvinit - and refuse to start if pid is not 1. - - Currently cinit has no chance to control whether it's started or - not as /etc/cinit/tmp mounted again for every start. - -- cinit will sleep after respawing if ... - - a) the service did not terminate normally (!WIFEXITED(status)) - b) the service did return a non-zero exit status - -- sleeping before rechecking if a service is finished can be optimised - - Currently run_svc() checks every SLEEP_RERUN seconds (default: 1), - if the service it should start was finished by another instance - of run_svc(). As run_svc() internally uses nanosleep() for sleeping, - one could modify run_svc to use conf/sleep_rerun as a nanoseconds - value. This would add most likely much often checking, but would - result in faster results from run_svc. - What's the best value for SLEEP_RERUN is currently unknown. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/author b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/availability b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/availability deleted file mode 100644 index cfb3f8a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/availability +++ /dev/null @@ -1 +0,0 @@ -cinit is currently Linux-specific. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/examples b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/examples deleted file mode 100644 index 1a7d2dcb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/examples +++ /dev/null @@ -1 +0,0 @@ -See http://linux.schottelius.org/cinit/#config diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/files b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/files deleted file mode 100644 index 4d6c0921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/files +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/cinit - the init system -/sbin/cservice - control cinit -/sbin/cinit.reboot (/sbin/reboot if non-existent before) -/sbin/cinit.shutdown (/sbin/shutdown if non-existent before) -/etc/cinit - configuration directory diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/long_description b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/long_description deleted file mode 100644 index 18c3c082..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/long_description +++ /dev/null @@ -1,5 +0,0 @@ -cinit is a fast executing, small and simple init with support for profiles. It -minds dependencies (hard and soft, 'needs' and 'wants') and executes processes -in parallel. And it has a simple configuration, which makes many shell-scripts -unecessary (but you still could use them if you really want), which leads to -better performance and less memory using. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/meta/name deleted file mode 100644 index b853da25..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/parameters b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/parameters deleted file mode 100644 index 54df4727..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -cprofile: diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/path b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/path deleted file mode 100644 index 37edf339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/see also b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit.commands b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit.commands deleted file mode 100644 index d34d13bd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cinit.commands +++ /dev/null @@ -1,73 +0,0 @@ --------------------------------------------------------------------------------- -cinit commands, -Nico Schottelius 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -cinit allows communication through a socket (see ipc.thoughs for reasons). - -Sockets allow to find out the accessing uid, gid and pid (using SO_PEERCRED as -socketoption). - -The communication-protocol is binary, the implementation can be found -in comm/* mostly (clients use begin_msg() and server sigio() additonally). - --------------------------------------------------------------------------------- -Protocol overview --------------------------------------------------------------------------------- - -Any communication begins with a command. A command is a one byte -unsigned char. Depending on the command, the communication has its own -semantics. - - -Commands are: (values can be found in cinit.h) - - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Detailled command-listing --------------------------------------------------------------------------------- - -CMD_START_SVC - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: - a) status of service - b) fail - -CMD_CHG_STATUS: I want to change the status of a service. - 0. int len; - 1. char *svc; - 2. char status; /* status: - once: started successfully the service once. - fail: tried to start once, but the service exit ungracefully - respawn: I am on it, as soon it exists I'll restart! */ - 2. pid_t pid /* the pid of the service, if started once - or the pid of the service watcher, if respawning */ - - cinit returns: MSG_OK|MSG_FAIL (char) - -CMD_STOP_SVC: Please shutdown a service and its dependencies. - 1. int len; /* length of service name, including \0 */ - 2. char *svc; /* name of the service, absolute pathname */ - - cinit returns: Status of service (should be ST_OFF) - - -The following commands do not return anything nor do they need any parameter: - -CMD_RESCUE: Kill everything, and spawn a sulogin shell. Irreversible. -CMD_HALT: Halt the system. -CMD_REBOOT: Reboot the system. -CMD_POWEROFF: Power-off the system. -CMD_UPDATE: Update cinit, hot-reboot the system. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/author b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/author deleted file mode 100644 index aa021fa0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/author +++ /dev/null @@ -1 +0,0 @@ -Nico Schottelius diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/long_description b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/long_description deleted file mode 100644 index 82818a93..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/long_description +++ /dev/null @@ -1 +0,0 @@ -cservice controls cinit. Please use cservice -h for help. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/meta/date b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/meta/date deleted file mode 100644 index 7dc64037..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/meta/date +++ /dev/null @@ -1 +0,0 @@ -2005-08-21 diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/meta/man_section b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/meta/man_section deleted file mode 100644 index 45a4fb75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/meta/man_section +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/meta/name b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/meta/name deleted file mode 100644 index 49c847bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/meta/name +++ /dev/null @@ -1 +0,0 @@ -cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/meta/short_description b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/meta/short_description deleted file mode 100644 index 34837bde..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/meta/short_description +++ /dev/null @@ -1 +0,0 @@ -fast executing, small and simple init with profile-support diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/parameters b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/parameters deleted file mode 100644 index 605b08b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/parameters +++ /dev/null @@ -1 +0,0 @@ -[-eaphru] [thilo] diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/path b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/path deleted file mode 100644 index 85b0cb56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/path +++ /dev/null @@ -1 +0,0 @@ -/sbin/cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/see also b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/see also deleted file mode 100644 index cb5ee6f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/see also +++ /dev/null @@ -1 +0,0 @@ -http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/synopsis b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/synopsis deleted file mode 100644 index 81c1e93c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/cservice-doc/synopsis +++ /dev/null @@ -1 +0,0 @@ -/sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/README b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/README deleted file mode 100644 index e734d6d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/README +++ /dev/null @@ -1,2 +0,0 @@ -doc/extern/ - Some things related to cinit from the outside world. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/ipc.thoughts b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/ipc.thoughts deleted file mode 100644 index e2619d34..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/ipc.thoughts +++ /dev/null @@ -1,83 +0,0 @@ --------------------------------------------------------------------------------- -Thoughts about different UNIX-IPC, -Nico Schottelius, 2005-04-28 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -Howto cinit communicates with - a) cinit-forks - b) any other program - -a) cinit-forks - -a.1) shared memory - -Access could generally be done with shared memory. The problem with -that is, that -lrt is required, which implicits -lpthread, which -makes linking staticly problematic (at least for glibc). - -a.2) pipes - -A maximum of ~510 pipes could be used ( (1024-3)/2 ), -1024 is the maximum opened file deskriptors, -minus 3 (stdin/stdout/stderr) already opened, divided -by two, because two fds needed per client. - -Pipes cannot be used easily through forks of forks. - -a.3) fifos - -FIFOs are easy to use, but you would need to create two FIFOs -for _every_ service, as with only two FIFOs we cannot reliable -detect, _who_ is writting to us currently and who wants to read. - -The same limit as above is true for fifo, too: A maximum of ~510 -services. - -a.4) system-v-ipc - -No documentation found nor tested. - -a.5) sockets - -Are indeed a very clean way. There's only one problem: -bind() fails on read-only mounted devices: - - - The socket either does not exists and cannot be created - - or the socket exists, but bind() refuses to reuse it - (error: Address already in use) - -Imho bind() should even honour the socket-option SO_REUSEADDR, -which allows to re-use a socket, if there's no other program bound to. - -As far as I can see, SO_REUSEADDR is only honoured, if socket is of -type PF_INET (we use PF_UNIX) and POSIX does only specify how to -check for support, but not that sockets have to be able to use -SO_REUSEADDR (see posix.aardvark.bug.report). - -That way, we are forced to mount a temporarily filesystem on -/etc/cinit/tmp and create the socket below this directory. This is not -the clean and easy solution one would wish. Still, sockets -seem to be the cleanest and most reliable way to have IPC for -this situation. - -See socket(2), bind(2), listen(2), accept(2), socket(7) and unix(7) -for help. - -b) any other program - -What you can do is to tell cinit to - - reboot, - - halt, - - poweroff, - - update itself (hot-reboot) - - and to start a rescue mode (see using.rescue). - -Simple send cinit a signal, what to do: - HUP: reboot - USR1: halt - USR2: rescue - TERM: poweroff - CONT: update - -See signal(2) and signal(7) for help and serv/sig_reboot.c for implementation. --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/ipc.usenet.posting b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/ipc.usenet.posting deleted file mode 100644 index 28abcec3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/ipc.usenet.posting +++ /dev/null @@ -1,48 +0,0 @@ -From: Nico Schottelius -Subject: Unix IPC, socket/AF_UNIX; bind on r/o devices? -Date: 09 May 2005 09:51:27 GMT -To: comp.unix.programmer - -Hello! - -Situation: - - everything mounted readonly (as when starting the system) - - one process with n children, which may have n children (recursive) - - all the children and children of children should be able to talk to the - first parent - -Problem: - - Using bind() will fail, because - a) socket cannot created - b) the existing socket cannot be reused - -Other possibilities not working: - - shared memory is not an option, as one need - -lrt, which needs -lpthread, which is problematic to link statically - - - pipes: handling the pipes from parent to child of child of child - would be hard to program - - - socketpair: should be the same problematic as it's with pipes - - - fifos: one would have to create the fifos before and two fifos - for each child; possible, but very unelegant; and one would have - to memorize, which child is connected to which fifo; again possible, - but somehow unelegant - - - signaling: one could implement communication with some kind of - morse code with signals, but that won't be a good solution - -Questions: - - Is there any way, case b) (socket already existing) can be solved in - a way that I tell bind() to use an existing socket? - - What would be the best solution to talk bidirectional to clients - in this scenario? - -I appreciate any hint, as I really like the socket mechanism and would -like to keep it. - - -Thanks in advance, - -Nico diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/linux.kernel.eats.arguments b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/linux.kernel.eats.arguments deleted file mode 100644 index dbaf57d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/linux.kernel.eats.arguments +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -Linux, the kernel, eats arguments -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -If you specify - - variable=value - -to the Linux kernel, the argument will NOT be passed to cinit. - -Here's the relevant code block from init/main.c of the Linux kernel: - -------------------------------------------------------------------------------- - -From init(void * unused) the function run_init_process(char *init_filename) -is called, which passes argv_init (char * argv_init[MAX_INIT_ARGS+2]) to init. - -First init_setup(char *str) resets all elements of the argv_init to NULL. - -The function unknown_bootoption(char *param, char *val) fills the -argv_init array, but only with parameters, which have no value -(val). - -The function parse_args calls unknown_bootoption with the unknown options. - -------------------------------------------------------------------------------- - -This way the profile support in all cinit versions below cinit-0.1 will -only work if you change conf/profile, because "cprofile=value" will -not be given to cinit, because it's not treated as a command line option. - -The original value "cprofile=" is replaced by "cprofile:" as of cinit-0.1. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/posix.aardvark.bug.report b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/posix.aardvark.bug.report deleted file mode 100644 index 0c606b41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/extern/posix.aardvark.bug.report +++ /dev/null @@ -1,52 +0,0 @@ -To: austin-review-l__AT__opengroup.org -From: nico-posix__AT__schottelius.org -Subject: Bug in TC2-d6 bind - bind a name to a socket -Reply-To: austin-group-l__AT__opengroup.org - - Bug report from : Nico Schottelius , cLinux - -(Note that the reply-to line automatically redirects -to austin-group-l__AT__opengroup.org for further discussion on bug reports) - -@ page 1 line 0 section bind - bind a name to a socket objection {-1} - -Problem: - -bind should 'assign a name to a socket', but in particular environments it will fail, where it could succeed. - -Long Description: - -When opening a new socket, with type PF_UNIX -(sock = socket(PF_UNIX,SOCK_STREAM,0);) and one sets -the socket option SO_REUSEADDR -(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(tmp))), -bind does not honour this setting. - -It is reported on irc channels, that SO_REUSEADDR is only supported on -PF_INET sockets and that's what I would claim a bug. - -If a socket exists in the filesystem and no process is bound to -it, bind wail fail anyway. - -This is especially problematic, when one is in an environment, -which is pre-startup (like beeing init) and one wants to use -sockets, but everything is mounted read-only. - -So, if bind() would honour the option, it would be able -to bind() to a socket, which exists (as creating one on a -read-only filesystem is not possible). - - - -Action: - -Proposal: - -Add better specification to either socket(7) or bind(2), which -explains the behaviour of bind, when this option is set -or even better: Specify, that bind should take care of this bit, -also when using PF_UNIX. - -In general the socket(7) manpage should explain more in detail -or at least reference other documents (unix(7)?), which explain what the -option for a specific protocol does. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/fun-testing b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/fun-testing deleted file mode 100644 index 47e4b74d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/fun-testing +++ /dev/null @@ -1,20 +0,0 @@ -kind tot 17 ... -Read path: / -Read path: e -Read path: t -Read path: c -Read path: / -Read path: c -Read path: i -Read path: n -Read path: i -Read path: t -Read path: / -Read path: t -Read path: e -Read path: s -Read path: t -Read path: s -Read path: v -Read path: c - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/how_it_works_internally b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/how_it_works_internally deleted file mode 100644 index 9c836cb0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/how_it_works_internally +++ /dev/null @@ -1,26 +0,0 @@ -The following is a very simple process structure of cinit internals: - -cinit-main starts -\ - |-> execute run_init_svc() - | \ run_svc(CINIT_INIT); - | | check status <-------------------\ - | | set status = temp | - | \ check dependencies | - | | fork(run_svc()) for every WANT | - | | run_svc() for every NEED / - | / check if respawning { do .. while(repawn?) - | \ yes: (remember: run_svc _must_ return!) - | | msg_change_status(respawn) - | | add watcher_signal handler to stop! (SIGTERM) - | | fork(exec_svc) <--| - | | waitpid(fork) | while(1) { ... } - | \ sleep(WAIT_SECS) ---/ - | | no: fork(exec_svc) - | \ waitpid(fork) -> yes, wait! - | | msg_change_status - | / - | / - | -> while(1) - | - listen to signals - | - listen on socket diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/init-idea-first b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/init-idea-first deleted file mode 100644 index 2d677d8d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/init-idea-first +++ /dev/null @@ -1,38 +0,0 @@ -- restarting/respawning - touch respawn -- dependencies - a needs started b -- clean multiply dependencies -- start & stop dependencies - start_depends - stop_depends -- parallel executation -- start and stop commands - start -> link - start_param -> parameters, like minit - stop -> link - stop_param -> parameters, like minit - - if no stop command is available, try to kill the pid we started at stop - -/startup/ - start_depends=gettys -/shutdown/ - stop_depends=power_off - - -gettys/ - start_depends=getty/1 - start_depends=getty/2 - start_depends=getty/3 - start_depends=getty/4 ... - -getty/1/ - start=/sbin/fgetty - respawn - -power_off/ - stop_depend=umount - -umount/ - stop_depend= diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/porting.to.other.os b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/porting.to.other.os deleted file mode 100644 index 65fdc07b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/porting.to.other.os +++ /dev/null @@ -1,25 +0,0 @@ --------------------------------------------------------------------------------- -Porting cinit to other operating systems, -Nico Schottelius, 2005-06-02 --------------------------------------------------------------------------------- - -cinit is currently Linux-specific. - -It currently does not compile / work on other Unices, because -we use O_ASYNC flag of open(2) which is _not_ a standard. - -This way we can act very elegant on incoming connections by our -forks. If somebody finds a at least as elegant solution -to act on incoming data which is more portable, I would -be happy to recieve a diff -u. - -Additionally we currently do mount a temporarily filesystem -on /etc/cinit/tmp, which allows us to create a socket, where -nothing is mounted r/w yet. - -If a Unix has some kind of tmpfs, this can easily be changed -to the appropriate value in conf/*tmp*. - -The O_ASYNC thing will perhaps become a compile option to cinit -(via conf/socket_function for instance), so that using standard -mechanism will be possible. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/removing.zombies b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/removing.zombies deleted file mode 100644 index 9527e652..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/removing.zombies +++ /dev/null @@ -1,48 +0,0 @@ --------------------------------------------------------------------------------- -Removing Zombies, -Nico Schottelius 2005-06-15 (Last Modified: 2005-06-15) --------------------------------------------------------------------------------- - -First of all, the definition of a zombie: - - ''Defunct ("zombie") process, terminated but not reaped by its parent.'' - [Excerpt from ps(1)] - - ''In the case of a terminated child, performing a wait allows the system to - release the resources associated with the child; if a wait is not performed, - then terminated the child remains in a "zombie" state (see NOTES below). - - [...] - - NOTES - A child that terminates, but has not been waited for becomes a "zom- - bie". The kernel maintains a minimal set of information about the - zombie process (PID, termination status, resource usage information) - in order to allow the parent to later perform a wait to obtain - information about the child. As long as a zombie is not removed - from the system via a wait, it will consume a slot in the kernel - process table, and if this table fills, it will not be possible to - create further processes. If a parent process terminates, then its - "zombie" children (if any) are adopted by init(8), which automati- - cally performs a wait to remove the zombies.'' - [Excerpt from waitpid(2)] - - So you can see, that if some process misbehaves and forgets about - its children, we, cinit, will adopt it. In the first versions of - cinit (cinit-0.0.1 <-> cinit-0.0.7) we ignored SIGCHLD. This way - the zombies stayed in the system. Since cinit-0.0.8 we have - sig_chld(), which removes the zombies. - - So far so good. Now let's remove this feature. Yes, you heard right. - - If cinit does not catch the zombies they will stay in the system. - Yes, that's ugly. And that's how it should be. You should see, which - software is broken and should contact the authors to fix it. - - To restore the 'old' behaviour of cinit, change - generic/set_signals.c (ignore SIGCHLD) - Makefile: remove serv/sig_child.c from modules list - - cinit in general will keep the behaviour of reaping the vestiges, - which broken software left behind (as it is cleaner for the system to - deallocate unused ressources). diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/security b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/security deleted file mode 100644 index f1dac591..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/security +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -security, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -A little note about cinit security and how to exploit it: - -cinit trusts its socket, /etc/cinit/tmp/coala. If somebody not -authorised has access to it, your system is taken over. - -Through this socket anybody with write access can: - - - shutdown, restart and power-off the host - - spawn a local unprotected shell - - execute anything as the user cinit runs (most likely root) - -Currently cinit does not care very much about the socket permissions. -On my system this creates a socket with srwxr-x-rx permissions, which -isi suitable for normal operation, which will not accept connect() -by others than root. - -But you can also loosen the security and allow people from a specfic group -to control your system: - - ei # chmod 770 /etc/cinit/tmp/coala - ei # chown root:cinit /etc/cinit/tmp/coala - -Now everybody in the cinit group can control your system. -Please think twice before doing that, as you read above, anyone from -the cinit group may start a root shell on the initial console then! - -For extra parnoid settings you can do the following: - - ei # chmod 700 /etc/cinit/tmp/coala - ei # chown root:root /etc/cinit/tmp/coala diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/socket.poll_vs_o_async b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/socket.poll_vs_o_async deleted file mode 100644 index 477f2bff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/socket.poll_vs_o_async +++ /dev/null @@ -1,39 +0,0 @@ --------------------------------------------------------------------------------- -Socket: poll(2) vs. O_ASYNC, -Nico Schottelius 2005-06-22 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -0. General problem -1. O_ASYNC -2. poll(2) - - -0. General problem - -cinit has to react, as soon as there's data on the socket. - -1. O_ASYNC - -When you open a socket with O_ASYNC (or specify it with fcntl(2)) under -Linux, your process recieves the SIGIO signal from the kernel, as soon -as data is available. - -The problem is the handling of signals seems not to be serialised: - -The function, which is called on the SIGIO signal (called sigio() here) -calls other functions. Those functions way recieve SIGIO while working, -so the first data stream is not yet finished, though the next -stream is beeing read. - -This gives very nice race-conditions, which are very nice to debug. - -2. poll(2) - -poll(2) is a standard Unix-call (XPG4-UNIX), which waits a specific -timeout (or infinite time if you specify a value less that zero) for -the socket (or the fd in general) to be in a state where -data is available to read (in fact poll can do much more, but we are -not interested only in POLLIN and POLLPRI). - -While poll(2) seems to be a very bit slower than sigio it works reliable. - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/thoughts.closed b/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/thoughts.closed deleted file mode 100644 index 91a8e080..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/ancient/thoughts.closed +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------- -Closed thoughts, -Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. using SIDs (service IDs) to communicated with external processes - - This was a very bad idea: The external program could exploit us by - specifying an arbitary big SID (as the SID is simply the index - of our service array). - -2. using function pointers to handle messages - - Seems like it works fine. We have handlers for each - message (do_*), which are called by client and server. - The function pointer is simply to read or write, dependending - if it is the client or the server. This way we don't need - to rewrite communications parts. - -3. Using different storage - - First all services were saved in a service array of the size - MAX_SVC. This has been replaced by a double-linked list. - Have a look at serv/list.c. - -4. Using sockets for IPC (between cinit forks) - - Works very fine, though we have to mount a temporarily fs before. - -5. Removing the maximum number of direct dependencies - - Is not planned, as it looks like the current number (32, see - conf/max_deps) seems to be much more than needed. And if - one really needs more, simply increase conf/max_deps. - -6. Using a directory params with 1,2,3,4 for argv - - This would make substituting a single argument easier, but only - if you know which one you have to change. This would add - an additional dirent(), which would not replace the current read(), but - add more open() and close()s. As this does not seem to make live - easier for system administrators, this is not implemented. - If you really like it, hack client/exec_svc.c - -7. Using TCP/IP sockets - - This would be a very small change in the code, but would allow - to control cinit over network. Since there is no authentication, - this would be highly insecure. On the other hand, cinit - could control the parallel start of many hosts, if they - should become 'one' computer at the end. As this is not needed - currently, it's not implemented. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/README.text b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/README.text deleted file mode 100644 index c4947a13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/README.text +++ /dev/null @@ -1,2 +0,0 @@ -DO NOT READ CONTENT IN THIS DIRECTORY. -(or at least do not blame me, if you get really confused after reading it) diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/big-picture.text b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/big-picture.text deleted file mode 100644 index 4426c236..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/big-picture.text +++ /dev/null @@ -1,122 +0,0 @@ -Just a small hint-file for me to see how cinit works: - - - cinit starts - * cinit executes either init or a profile - - the dependency-tree begins - - - now cinit begins to try to execute the dependencies - * first the needs (if those fail, wants are never called) - - fork() for every dependency? - --------------------------------------------------------------------------------- -another idea: - - - cinit starts - - cinit reads the full depedency tree - * it builds n-depth trees - * it begins at the set init service (profile or init!) - * init is the first entry. always. - * read full service information (like on/off/params/respawn) - * design of each tree element: see below - - add a tree for the needs - - add a tree for the wants - - the elements have links, one service is created only once - - after the tree is created, execution begins - * begin from the bottom - * save a pointer to the last level somehow before? - -Pre calculation: - - need to act on changes (some kind of file watcher) - * need to keep status (?) - * what with now missing needs / wants? - - missing needs: shutdown now missing needs? - - simply ignore them? - - shut them down if not needed (no one has a link in needs?) - * --------------------------------------------------------------------------------- -Sample dependency tree: - - init - / \ - needs wants - / | \ / | \ - a b c d e f - / | \ / | \ - needs needs needs END needs END - / | \ \ | | | | - b c d c f a e a --------------------------------------------------------------------------------- -How this would be sorted:: - init: - needs: a b c - wants: d e f - a: - needs: b c d - b: - needs: c f - c: - needs: a e - d: - - - e: - needs: a - f: - - --------------------------------------------------------------------------------- -So in this case, cinit may start services the following way: - d f - -> Wouldn't be possible in pre-calculation, because of circular dependencies. --------------------------------------------------------------------------------- - Try a 'real' dependency tree: - a needs b c d - b needs c d - c and d do not need other stuff --------------------------------------------------------------------------------- -Now cinit would it do the following way: - start c, start d - b will be started, as soon as c and d successfully finish - as soon as b is finished, a will be started --------------------------------------------------------------------------------- -Now let's think about how this could look like in code... -- when we built up the tree, we have some ends (n to say) -- we can / must start starting (;-) at the end -- we would have more than one line back (z may be needed by c, i, and a) - * like in "c is needed by s, c, o" - * maxdepth counter? - * asynchronous rollback? - ---> to think more about it! --------------------------------------------------------------------------------- - -tree elements: - * name (= path) - * on, off, +params - * respawn_delay - - -1 if not respawning - - >= 0 time to wait between restart - * status - - NOT STARTED (status on initialisation) - - RESPAWNING (running, respawning) - - RESPAWN_DELAY (waiting to respawn it) - - ONCE (started once) - * errormsg - - pointer to an error message in case of failure - * needs - - List of services we need - * wants - - List of services we want - * used_by - - List of services which use this service --------------------------------------------------------------------------------- - -Conclusions ------------- - -cinit as the main executor -~~~~~~~~~~~~~~~~~~~~~~~~~~ -If cinit should start all services directly and manage dependencies -only internally, it will need to have build a reverse dependency tree, -so it begins starting at the end. - -cinit could execute all possible parallel running services in parallel -and open pipes to the (dumb) service executors. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/circular-dependencies.text b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/circular-dependencies.text deleted file mode 100644 index dcc91ea7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/circular-dependencies.text +++ /dev/null @@ -1,35 +0,0 @@ -What todo with circular dependencies? - a needs b - b needs a - - - try to start them? - status a: is_starting - status b: not_set - a wants b, so a service starter for b starts - status a: is_starting, waiting for b - status b: is_starting - service starter for b sees that a is needed - service starter for b sees that a is already being started - service starter for b begins to execute b - status a: is_starting, waiting for b - status b: is_starting, executing "on" - service starter b finishes - status a: is_starting, waiting for b - status b: FAILED | RESPAWN | ONCE - service a continues - b successful: execute on - b failed: register / print that we do not start, because - b failed - - -> this would only catch possible deadlocks, if the dependency - tree / status check is done dynamically - -> in case of pre-building the dep-tree this situation must - be concerned: - - start both a and b? - - or stop due to circular dependency? - - - Abort on detection of a circular dependency - * possible without pre-calculating? - - perhaps only with direct communication possible? - * pre calculate - - do not start that services? diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/converting-debian b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/converting-debian deleted file mode 100644 index ee40fdff..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/converting-debian +++ /dev/null @@ -1,30 +0,0 @@ -# If you would like to automatically convert a debian system, you could -# use this script as a start point -# -# how it could look like -# - -# create cinit base configuration - -# analyse enabled services -level=$(awk -F: '/^id/ { print $2 }' /etc/inittab) -rcdir="/etc/rc${level}.d/" -initdir=/etc/init.d - -cd "$rcdir" -for svc in *; do - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding $svc" - else - - fi -done - -# Also add existing services in /etc/init.d -for ... - if [ ! -e $rcdir/$svc ] - if [ -d "${debian_map_dir}/${svc}" ]; then - echo "Adding, but not enabling" - fi - fi -done diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/converting-general b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/converting-general deleted file mode 100644 index 8a0a2e40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/converting-general +++ /dev/null @@ -1,10 +0,0 @@ -kern=$(uname -s) - -case "${kern}" in - $known_kern) - $scriptdir/$kern - ;; - *) - echo "Unknown system" - ;; -esac diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/creating-new-configurations b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/creating-new-configurations deleted file mode 100644 index a251de5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/creating-new-configurations +++ /dev/null @@ -1,6 +0,0 @@ -scripts/create_baseconfig.sh # create base -scripts/cinit.install.standard.dirs # create common categories - -- create fsck -- set hostname -- create getty(s) diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/messages.text b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/messages.text deleted file mode 100644 index f4ef769e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/messages.text +++ /dev/null @@ -1,6 +0,0 @@ -This document describes the messages used between cinit and its -"clients" (i.e. ccontrol, cservice, cinit.halt, ...): - -Signal messages ---------------- -As signals diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/possible_service_pre_calculation.text b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/possible_service_pre_calculation.text deleted file mode 100644 index 96ec3a73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/possible_service_pre_calculation.text +++ /dev/null @@ -1,19 +0,0 @@ -- start at - * create a new service entry (if not exists) <--- - * reads needs | - - follow dependencies ------------------------ - * only if service does not yet exist! | - * read wants | - - follow dependencies ------------------------ - * only if service does not yet exist! - * create - - needed by entry in dependencies - - needs entry in service - - wanted by entry in dependencies - - wants entry in service - - * record - - (on,off)(,.env,.params)? - - alternatively put that code into service starter - * add services without further needs into a special - "begin" structure to be reused at fireing of the services? diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/possible_service_status.text b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/possible_service_status.text deleted file mode 100644 index eb0f21e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/possible_service_status.text +++ /dev/null @@ -1,14 +0,0 @@ - - - NOT_SET: this service has not yet been initialized - - RESPAWNING: happily respawning - - RESPAWN_DELAY: waiting delay before restarting - * HINT: using alarm()? - - senseful for single process service watcher - * HINT: using nanosleep()? - - senseful for per service process watcher - - NEED_FAILED - * add a (somehow terminated) list of services that failed? - * use global status to checkout which services failed? - - WANT_FAILED? - * NOT NECESSARY, it is a simple want, we do not need it. - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/registering_needs_wants.text b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/registering_needs_wants.text deleted file mode 100644 index ededbd41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/registering_needs_wants.text +++ /dev/null @@ -1,55 +0,0 @@ -Each service has a list of services it - - needs - - is needed by - - wants - - is wanted by - - -Each entry is a service pointer. -The simplest list could look like this: - - service a: - needs: - b f g NULL - -So the needs pointer is NULL terminated: - needs = realloc(count_links) - -> how to get the count? - 0x02 - 0x - - Better: A double linked list (like the main service list)? - -Could look like: - service a: - needs: - *service - *next - *prev - -This design could also be used for wants. - -On the other hand, we've to register us at the needed/wanted service: - - service b: - needed_by: - *service - *next - *prev - - -So each service needs four pointers: - needs - needed_by - wants - wanted_by - -And on each request both lists have to be modified! - -Example: - - Service "a" adds "b" as needed: - - - add "a" needs "b" - - add "b" needed_by "a" - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/root-vm-testing b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/root-vm-testing deleted file mode 100644 index a8773dea..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/root-vm-testing +++ /dev/null @@ -1,9 +0,0 @@ -[19:33] denkbrett:root% cat uml-mount.sh -SDIR=$(dirname $0) -DDIR=$(dirname $0)/root -sudo mount "$SDIR/Debian-3.0r0.ext2" "$DDIR" -o loop,acl - -denkbrett# tar cfj ~nico/projekte/cinit/conf-vm-2007-03-05.tar.bz2 cinit -denkbrett# chown -R nico cinit -denkbrett# chown nico ../sbin - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/shutdown.text b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/shutdown.text deleted file mode 100644 index ac76425d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/shutdown.text +++ /dev/null @@ -1,84 +0,0 @@ -cinit - braindumps - shutdown -============================= -Nico Schottelius -v0.1, for cinit-0.3, 2007-01-11 -:Author Initials: NS - -Just some braindumps. Do not read. - -Introduction ------------- -Shutting down the system. - -When? ------ -- reboot -- halt -- power off -- further needed? - -How / What? ------------- -- Stop services in the correct order - * reuse the service tree / needs / needed_by! - * call off, if existent - * if respawning, send SIGTERM? - - not if off is existent? - * give some variables to off? - - $RESPAWN_PID: if respawning -- send SIGTERM to other apps? - * or put that into special? special/post_svc_shutdown -- call special/{halt,poweroff,reboot} - * no, implemented that directly into cinit! -- implement timely controlled shutdown: - * cinit.shutdown forks (?) itself and waits, then sends a signal - to cinit to initiate the shutdown process - * create mappers for target OS - - Linux - - {free,net,open}bsd - - others may contribute theirself -- also implement poweroff - * kill -TERM 1 -- also implement reboot - * kill -HUP 1 -- also implement halt - * kill -USR1 1 - - -The implementation ------------------ -x shutdown is initiated -x disable communication (nobody can influence us anymore) -x install special signal handler? - - no. we do not care about zombies anymore, we are gone soon anyway - - simply reset to the default -- begin to shutdown services - * where to start? - * begin shutdown at the end of the tree, viewing/sorting it by the 'needed_by' - -> where to begin sort? - -> worst implementation: scan all services (easy for now) - -> result: list of services, that noone needs :-) - * stop those services and step above - - stop a service, as soon as noone needs it anymore - * check all needed_by links - * more or less the inverted gen_svc_tree -- how to shutdown a service - * if existing, call off - - if off does not exist: - * if respawn: send sigterm to the process - * also implement sigkill at this stage? - - think we can delay it to the end - - otherwise users can use off! - - implement environment for off ($cinit_respawn_pid, $cinit_service_name) - - do *NOT* care about the return value, we can't do anything for it - anymore anyway -- after all services are shutdown, kill all remaining services - * SIGTERM - * wait(defined_time_in_seconds) - * SIGKILL -- call the last command - * to cleanup the system - - umount -a (if needed) - - swapoff (if needed) - - sync (if needed) -- switch off diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/sizes b/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/sizes deleted file mode 100644 index ddd30f75..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/braindumps/sizes +++ /dev/null @@ -1,6 +0,0 @@ -sysvinit: -root 1 0.0 0.0 1944 648 ? Ss 02:12 0:00 init [2] - -cinit-0.3pre8-glibc-linux: -compiler 25323 0.0 0.0 1564 392 pts/2 S+ 20:22 0:00 ./cinit - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/README.text b/software/cinit/browse_source/cinit-0.3pre9/doc/devel/README.text deleted file mode 100644 index 20524651..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/README.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit development documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -(cinit-)developers. - -Content -------- diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/cinit-0.4.text b/software/cinit/browse_source/cinit-0.3pre9/doc/devel/cinit-0.4.text deleted file mode 100644 index 61b718f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/cinit-0.4.text +++ /dev/null @@ -1,115 +0,0 @@ -cinit 0.4 - Redesign of cinit -============================================ -Nico Schottelius -0.4.0, for cinit 0.4, Initial Version from 2006-03-11 -:Author Initials: NS - - -cinit 0.2 ran fine and the general project of developing a -parallel executing init system is finished. -With cinit 0.4 there are new aims to reach. - - -Introduction ------------- - -. AIMS - - portability: no Linux-dependency anymore - - cleaner signal handling - - better documentation so more people can use it - - -Current problems ----------------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The mount(2) system call is os-specific. -The temporary fs is os-specific. - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Race conditions when multiple signals arrive - - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -serv/sig_reboot.c contains umount, remount hard coded. - - -Solutions ---------- - -Temporary filesystem and socket problematic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove -- the mount call -- do not create an initial socket - -Wait until we recieve a signal, then we create a socket -under the configured socket directory (see `conf/sockdir`). - - -Signal handlers are not clean -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Reboot code is os specific -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Misc -~~~~ - -- Configuration - /etc/cinit/config/ - init -> link to initial service - pre_boot - pre_boot_args - post_boot - post_boot_args - /etc/cinit/services/ - /etc/cinit/profiles/ - links to the starting services - - - -cinit - Internals -================= -Nico Schottelius -0.1 for cinit-0.3, Initial version: So Feb 19 10:25:46 CET 2006 -:Author Initials: NS - - -Introduction ------------- -This document describes the internals of cinit. It is thought -to be read by developers. - - -Child handler code in cinit-0.3 -------------------------------- - -In cinit versions <= cinit-0.2.1 the respawning services where -handled by an extra child handler, which was a fork of cinit. This -had some problems: - - - We allocated more memory than necessary, unecessary parts of - cinit were copied - - The SIG_CHILD-handler was not written very clean, in some versions - it was completly missing. - - -. So in `cinit-0.3` we changed it the following way: - - no extra child handlers - - handle everything in the SIG_CHILD handling function - - when sig_child is recieved do: - - check against respawn list - - if it is a respawning service, [do the following in a seperate fork?] - check whether it successfully stoped - - if yes: restart immediatly - - if no: sleep $sleep_time and then restart diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/codingguideline.text b/software/cinit/browse_source/cinit-0.3pre9/doc/devel/codingguideline.text deleted file mode 100644 index d4686d8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/codingguideline.text +++ /dev/null @@ -1,149 +0,0 @@ -Coding style -============ -Nico Schottelius -0.1, for cinit, Initial version from 2006-11-13 -:Author Initials: NS - -This document describes the coding style used in cinit. - - -Indent ------- -Indent the code by 3 spaces for each level. -Indent variable names, so the names begin all at the same position. -Use three spaces to place them. - - -Whitespaces ------------ -Where to put or avoid whitespaces (space or linefeed (lf)). - - -Spaces -~~~~~~ -- After closing brace "if(test) return 0;" -- Spaces before and after '=', '>', '<', '==', '!='', '>=', '<=', '>>', '<<', '&', '&&', '|', '||' -- After start of comment and before end of comment: '/* text */' - - - After ')', ',' - -No spaces -~~~~~~~~~ -- Within braces and code "(!test)", -- Before braces "if(code)" -- No space before ), so if '))', do not put a space after the first ')' - - -Linebreaks -~~~~~~~~~~ -This somehow includes the setting of braces (indirectly through (not) setting -spaces. - -If -^^ - -Put the if, the braces and the opening curly brace on one line, -put the closing one together with `else` and the new opening -curly brace on one line: - ------------------------------------------------------------------------------- -if(...) { - /* code */ -} else { - /* else: code */ -} ------------------------------------------------------------------------------- - -While -^^^^^ ------------------------------------------------------------------------------- -while(condition) { - /* repeat */ -} ------------------------------------------------------------------------------- - -Do-While -^^^^^^^^ ------------------------------------------------------------------------------- -do { - /* something */ -} while(running); ------------------------------------------------------------------------------- - -Switch -^^^^^^ - ------------------------------------------------------------------------------- -switch(value) { - case DO_SOMETHING: - /* code */ - break; - default: - break; -} ------------------------------------------------------------------------------- - - - -Where to put curly braces -------------------------- - -Functions -~~~~~~~~~ -Opening and closing curly braces are placed on a seperate row: - ------------------------------------------------------------------------------- -int func(int params) -{ - body -} ------------------------------------------------------------------------------- - - -If, else, while, do-while -~~~~~~~~~~~~~~~~~~~~~~~~~ -See above. - - -Comments ---------- -where necessery, do not state the obvious in comments: - - /* this code increments tmp */ - ++tmp; - -If there is more than one line containing a comment, try to adjust them -so they look the same in width and position: - ------------------------------------------------------------------------------- - int illuminati = 23; /* do not want to comment that */ - int the_answer_to_everything = 42; /* 42. */ - - [...] - - while(illuminati < the_answer_to_everything) { /* only try before them */ - overtake_world(&self); /* overtake is complex */ - } ------------------------------------------------------------------------------- - - -Header -------- -Put a header into each file, containing: - - - Date of file being put into existence (year is enough) - - Name and e-mail (obfuscated if you want) of the author(s) - - Description of the function - - Copyright statement (if not included GPLv2 or later is assumed) - - -Includes -~~~~~~~~ -Include system headers first, then place own headers. Comment the includes, -wherefore you added them. Example: - ------------------------------------------------------------------------------- -#include /* write */ -#include "cinit.h> /* cinit_ipc_* */ ------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/communication.text b/software/cinit/browse_source/cinit-0.3pre9/doc/devel/communication.text deleted file mode 100644 index 08db7666..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/communication.text +++ /dev/null @@ -1,224 +0,0 @@ -cinit - communication -===================== -Nico Schottelius -0.1 for cinit-0.3, Initial version: 2006-08-11 -:Author Initials: NS - -This document describes the internal communication of cinit. -It is thought to be read by developers. - - -Introduction ------------- -This document describes the messages used between cinit, cinit forks -and other programs that want to talk to cinit. It does NOT -describe the communication method, but only the messages sent -(for the communication method read "ipc.text"). - -Document status -~~~~~~~~~~~~~~~ -This document is still being written, it is not finished. - - -About Messages --------------- - -Order -~~~~~ -The client always initiates the communication. -cinit will begin listening to messages directly after its start. - -Data -~~~~~ -A message always conists of a predefined structure (see src/headers/comm.h). -The byte order is host specific (may be little or big endian). - -Type -~~~~ -Messages are binary data. - -The messages ------------- -The client always uses the same structure (struct msg_client) to contact -cinit. This way cinit does not need to handle dynamic data structures. - -cinit in contrast delivers different data structures to its clients, -depending on the question. - -The questions are issued by any type of client, the internal command used is -noted in square brackets ([]). - -The answers are given by cinit. - - -Question: Start a service (and its dependencies) [CMD_START_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to start the service and its dependencies. - -The client must provide cinit with the following information: -. Name of the service to be started -. Reason why to start it -. eventually additional information (see below) - -The reason -^^^^^^^^^^ -Can be one of: -- RS_NONE (it's a manual start request) -- RS_WANTS (a currently starting service wants to start this service) -- RS_NEEDS (a currently starting service needs to start this service) - -If the reason is RS_WANTS or RS_NEEDS the client must supply the name -of the service, which wants it to be started. - - -Question: Start a service (nothing else) [CMD_START_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to start the service and which will -report the status back. - - -Question: Stop a service (and its dependencies) [CMD_STOP_SVC] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command is issued either by a cinit fork or by an external client. -cinit will start a fork, which tries to stop the service and each service -that 'needs' it. - -This function works recursively, thus also killing those services, that -need the service that need the current service. - - -Question: Stop a service (nothing else) [CMD_STOP_SVC_ONLY] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will start a fork, which tries to stop this service and which will -report the status back. - - -Question: Stop a service (plus 'needs' and 'wants') [CMD_STOP_SVC_WANTS] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Same as 'Stop a service (and its dependencies)', but also stop the -services that want to have this service. - -This function works recursively, thus also killing those services, that -'need' or 'want' the service that 'need' or 'want' the current service. - - -Question: Could you change the status? [CMD_CHG_STAT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -A cinit fork reports the new status of a service. - - -Question: Could you start the rescue mode? [CMD_RESCUE] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -spawn the rescue program. - - -Question: Could you halt the system? [CMD_HALT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -halt the system. - - -Question: Could you reboot the system? [CMD_REBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -reboot the system. - - -Question: Could you poweroff the system? [CMD_POWEROFF] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -poweroff the system. If poweroff is not possible, the system will -be halted. - - -Question: Could you warmboot the system? [CMD_WBOOT] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will not give an answer to this question. -cinit will stop all services, kill all other processes and after that -restart itself and the bootup process. - - -Question: Could you send information about a service? [CMD_INFO] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This command may only be issued by an external client. -cinit will respond with detailled information about the service -to the client. - - -Answer: Return short status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Start a service (and its dependencies) - - Question: Start a service (nothing else) - - Question: Stop a service (and its dependencies) - - Question: Stop a service (nothing else) - - Question: Stop a service (plus 'needs' and 'wants') - - Question: Could you change the status? - -cinit only responds the status of the asked service. -The structure send is "asw_sstatus", which only include a status byte. - - -Answer: Return long status of a service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This answer is used as a response to: - - - Question: Could you send information about a service? - - -old Messages (to be transferred into this document) ---------------------------------------------------- - CMD_START_SVC: I want to start a service. - CMD_CHG_STATUS: I want to change the status of a service. - CMD_STOP_SVC: Please shutdown a service. - - CMD_RESCUE: Kill everything, and spawn a sulogin shell. - CMD_UPDATE: Hot-reboot system and reload cinit. - - CMD_HALT: Halt the system - CMD_REBOOT: Reboot the system - CMD_POWEROFF: Power-off the system - --------------------------------------------------------------------------------- -Service status: - --------------------------------------------------------------------------------- -service status (cinit), -Nico Schottelius 2005-09-29 (Last Modified: -) --------------------------------------------------------------------------------- - -There are service status and service returns. Service status is a status -a service can have. A service return is a value from a function that -describes what happened with the service. - -Status has ST_ prefix, return has RT_ prefix. -See cinit.h for most up to date versions. - - -ST_NEED_FAIL - this service will not be started, until the needs are started -ST_FAIL - this service failed to start -ST_UNSPEC - some unknown error. This should never happen. -ST_ERR - ??? /* tried earlier, service failed, won't retry */ - -ST_SUCCESS - service was successfully started - senseful? -ST_TMP - some instance is currently working on it -ST_ONCE - executed once sucessfully -ST_RESPAWN - service is running and respawning - -ST_TMPNOW 55 /* now you are on it - only for clients */ -#define ST_OFF 56 /* Switching service off */ - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/configuring.text b/software/cinit/browse_source/cinit-0.3pre9/doc/devel/configuring.text deleted file mode 100644 index 405a4d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/configuring.text +++ /dev/null @@ -1,18 +0,0 @@ -cinit/doc/devel/using-conf.text -================================ -Nico Schottelius -0.1, Initial Version from 2006-07-28 -:Author Initials: NS - -About conf/* and how to use the configurations. - -Introduction ------------- - -Who should read those documents? --------------------------------- - -Content -------- - - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre9/doc/devel/cross-compiling.text deleted file mode 100644 index fdf70564..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/cross-compiling.text +++ /dev/null @@ -1,36 +0,0 @@ -TODO: - - merge into "Cross compiling" - -cinit - Problems that may arise -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Max open files - OS dependent - -Installing cinit - -Introduction ------------- -General sections, OS-specific, ... - -Installing ----------- - -From source -~~~~~~~~~~~ - -In General -^^^^^^^^^^ -Download, edit conf/os to the os - -Cross-compiling -^^^^^^^^^^^^^^^ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/ipc.text b/software/cinit/browse_source/cinit-0.3pre9/doc/devel/ipc.text deleted file mode 100644 index 7013a985..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/ipc.text +++ /dev/null @@ -1,108 +0,0 @@ -IPC - in cinit and in general -============================= -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -IPC - Inter process communication - -Introduction ------------- -This document describes the IPC methods used and/or tested for -cinit. - -It does not describe in detail, how the different methods work -(this is already done many times, there's great documentation -available online), but more the advantages and disadvantages -(especially for an init system). - -What is IPC? -~~~~~~~~~~~~ -IPC describes methods to communicate between different processes -(programs). - -IPC as described by SUSV3 (The Single UNIX Specification Version 3) -aka IEEE Std 1003.1, 2004 Edition aka POSIX only defines -MSQ, SHM and Semaphores as IPC. This document also covers -Sockets and FIFOs. - - -What is not (yet) covered by this document? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Speed of different IPC methods, different behaviour on different -unices. - - -Why do you need IPC for an init system? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -cinit IPC history + analysis ----------------------------- - - -FIFOs -~~~~~ -First in - first out -File on the filesystem -Always need two files for two way communication - -Hints -^^^^^ -The first idea for IPC in cinit was to use two FIFOs, like minit does. -Wrong assumption: -runit also uses fifos, but two fifos for each services. That way -more parallel transmissions is possible. -You have to pay attention: Maximum number of opened files! -(On Linux 2.6 this is 1024, which makes a maximum of 512 services. -This limit is most likely never reached, but you have to keep it -in mind). - -Sockets -~~~~~~~ -Clean and beautiful. They allow easy two way communication. - -If you created a socket, fs is r/o, you cannot use it, although -there is SO_REUSE. - -First method: Using memory mapped part (tmpfs). -Second method: use interal communication (pipes!) and external after -/etc/cinit/ becomes writable. - - -Current IPC configuration --------------------------- - -- switchable (conf/ipc_method) -- each ipc implementation needs: - - ipc.h -> for global variables and ipc specific things - prefix variables with ipc_ - int cinit_ipc_init(void); -> general initialization - return 1 on success, 0 on failure - int cinit_ipc_listen(void); -> begin to listen for messages - int cinit_ipc_send(void *data) -> send data to a client - --------------------------------------------------------------------------------- -TO SORT: - -1. message queues - o clients schreiben rein - o datenpaket gross genug fuer antwort? - -2. shared memory - o client kann direkt rauslesen, was gestartet werden muss - o client kann direkt abhaengigkeiten starten, muss diese aber - eintragen - -Ausprobieren: - - Mutexe - - Message Queues - - - -Ideen: - Message queue - 1. Client geht auf die normale - als id = pid (cast!) - dann rueck via anderer queue - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/lists.text b/software/cinit/browse_source/cinit-0.3pre9/doc/devel/lists.text deleted file mode 100644 index 6360acb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/lists.text +++ /dev/null @@ -1,22 +0,0 @@ -Lists in cinit-0.3 are generalized, all have the same general layout: - - - double linked - - have 'prev' and 'next' as pointers - - Add an element to a list - - /--------------------------\ - |<->first<->middle<->last<->| - - - After insert: - - /-------------------------------\ - |<->first<->middle<->last<->new<->| - - We alway have 'first'. - Need to adjust: - - new->prev = last (= first->next) - - new->next = first - - first->prev = new - - first->prev->next (= last->next) = new diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/merging.other.initsystems.text b/software/cinit/browse_source/cinit-0.3pre9/doc/devel/merging.other.initsystems.text deleted file mode 100644 index 0baa4789..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/merging.other.initsystems.text +++ /dev/null @@ -1,68 +0,0 @@ -TODO: - - rewrite to asciidoc - - implement a sample merge - --------------------------------------------------------------------------------- -Merging other init systems to cinit, -Nico Schottelius, 2005-06-02 (Last Modified: 2005-06-11) --------------------------------------------------------------------------------- - -1. Preamble -2. General to do -3. Create a script - - -1. Preamble - -There is no tool available to merge any existing init-system-configuration -to cinit style. This is not because the author of cinit does not -care about support for that. He simply he has - - a) no access to every init-system available - b) not the time to analyze every init system - -He instead spends the time to improve and bugfix cinit. -This does not mean that he does not accepts scripts, which do the work. -In fact, creating and submitting a merge tool is much appreciated! - - -2. General to do - - 1. Choose your target init and possibly target platform: - - sysvinit may be different on AIX, SuSE and Debian - - /etc/rc may look different on each *BSD - - Sometimes even same platforms differ in versions: - SuSE 5.1 uses a different configuration then SuSE 9.0 - - So decide whether you want and can write a general merge tool - or if you have to specialize. - After deciding, name the script you want to write with the following - syntax: - - cinit-merge.$init-$platform-$version - - $platform and $version (either both or only platform) can be omitted. - - Examples: - - cinit-merge.sysvinit-debian-3.0 - cinit-merge.minit - - 2. Analyze how it works, detect the mechanism in it - - Your script has to detect if dependencies exist and resolve - them. It has to take care of special configurations and possibly - warn the user. - - -3. Create a script - -Now, after you learned how the old init system works, you can start creating -the merge-script (naming see above). - -This merge script - a) will perhaps not cover full old system (if so, warnings should be printed - b) should try to avoid using old (shell)-scripts, as starting - a shell for every service needed makes starting up slow - c) will include some basic features, that are needed everytime on this - platform (setting kernel configuration, hostname, etc) diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/optimising.cinit b/software/cinit/browse_source/cinit-0.3pre9/doc/devel/optimising.cinit deleted file mode 100644 index 4f4b5c02..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/optimising.cinit +++ /dev/null @@ -1,33 +0,0 @@ --------------------------------------------------------------------------------- -optimising cinit, -Nico Schottelius, 2005-06-09 (Last Modified: -) --------------------------------------------------------------------------------- - -0. Warning -1. gcc options -2. striping - - -0. Warning - -Any optimisation may cause cinit (not just cinit, but any program) to fail -and to do mysterious things instead of expected actions. - - -1. gcc options - -gcc knows of several optimisation flags. Mostly interesting is -Os for small -size (this is btw broken on gcc-3.4.3 on x86!). - -One can also pass -Werror so that any warning makes the compile to fail. - -The current standard for cinit is: (see CFLAGS in the Makefile). - - -2. striping - -With strip(1) you can remove specific sections of object files. -You have to find out, which ones you can remove safely -(for instance with objdump(1)). - -The current standard for cinit is: (see STRIP in the Makefile) diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/testing.text b/software/cinit/browse_source/cinit-0.3pre9/doc/devel/testing.text deleted file mode 100644 index 5ee12ff8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/devel/testing.text +++ /dev/null @@ -1,14 +0,0 @@ --------------------------------------------------------------------------------- -testing cinit in a User-Mode-Linux (uml), -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -1. Get an image you want to install cinit to -2. Compile an UML -3. change bin/cinit.uml.test to your needs -4. put a configuration (/etc/cinit) on to your image -5. ./bin/cinit.uml.test - -> wait, your Linux starts with cinit enabled. - -If you omit 4, you'll see how cinit will fail without having its base -directory. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/logs/2006-10-25.config.wasserstoff b/software/cinit/browse_source/cinit-0.3pre9/doc/logs/2006-10-25.config.wasserstoff deleted file mode 100644 index f28bd71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/logs/2006-10-25.config.wasserstoff +++ /dev/null @@ -1,16 +0,0 @@ -[17:12] wasserstoff:svc# pwd -/etc/cinit/svc -[17:12] wasserstoff:svc# ls -init -17:12] wasserstoff:svc# mkdir getty -[17:12] wasserstoff:svc# mkdir getty/2/ -[17:12] wasserstoff:svc# cd getty/2 -[17:12] wasserstoff:2# ln -s /sbin/getty on -17:12] wasserstoff:2# echo 38400 > on.params -[17:13] wasserstoff:2# echo tty2 >> on.params -[17:13] wasserstoff:2# cd ../../init -[17:14] wasserstoff:init# mkdir needs -[17:14] wasserstoff:init# cd needs -[17:14] wasserstoff:needs# ln -s ../../getty/2 getty-2 -[17:14] wasserstoff:needs# - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/logs/2006-11-22.startup-with-debug b/software/cinit/browse_source/cinit-0.3pre9/doc/logs/2006-11-22.startup-with-debug deleted file mode 100644 index 44121cf4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/logs/2006-11-22.startup-with-debug +++ /dev/null @@ -1,55 +0,0 @@ -[0:08] wasserstoff:cinit-0.3pre3% ./src/cinit -cinit-0.3pre3: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty:: -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2:: -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout:: -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3:: -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning:: -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout:: -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount:: -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root:: -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network:: -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0:: -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback:: -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::/etc/cinit/svc/init -========> tree_exec() -/etc/cinit/svc/local-tuning/keyboard-layout:::abhaengigkeiten gestartet, exec; add wants, needsdep_needs_wants_add::/etc/cinit/svc/local-tuning/keyboard-layout add: (/etc/cinit/svc/getty/2) - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/logs/2006-11-30.startup-0.3pre5 b/software/cinit/browse_source/cinit-0.3pre9/doc/logs/2006-11-30.startup-0.3pre5 deleted file mode 100644 index 2ded7712..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/logs/2006-11-30.startup-0.3pre5 +++ /dev/null @@ -1,1821 +0,0 @@ -cinit-0.3pre4: Booting from /etc/cinit/svc/init -gen_tree::/etc/cinit/svc/init -CAD::/etc/cinit/svc/init -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/getty -gen_tree::/etc/cinit/svc/getty -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/2 -gen_tree::/etc/cinit/svc/getty/2 -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty/2::/etc/cinit/svc/local-tuning/keyboard-layout -gen_tree::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning/keyboard-layout -START::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/2 -CAD::NEW::/etc/cinit/svc/getty::/etc/cinit/svc/getty/3 -gen_tree::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty/3 -CAD::NEW::/etc/cinit/svc/getty/3::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/getty/3 -CAD::/etc/cinit/svc/getty -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/local-tuning -gen_tree::/etc/cinit/svc/local-tuning -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/local-tuning::/etc/cinit/svc/local-tuning/keyboard-layout -CAD::/etc/cinit/svc/local-tuning -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/mount -gen_tree::/etc/cinit/svc/mount -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/mount::/etc/cinit/svc/mount/root -gen_tree::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount/root -START::/etc/cinit/svc/mount/root -CAD::/etc/cinit/svc/mount -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/network -gen_tree::/etc/cinit/svc/network -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/eth0 -respawn: /etc/cinit/svc/network/eth0 -gen_tree::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -CAD::/etc/cinit/svc/network/eth0 -START::/etc/cinit/svc/network/eth0 -CAD::NEW::/etc/cinit/svc/network::/etc/cinit/svc/network/loopback -gen_tree::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network/loopback -START::/etc/cinit/svc/network/loopback -CAD::/etc/cinit/svc/network -CAD::NEW::/etc/cinit/svc/init::/etc/cinit/svc/test -gen_tree::/etc/cinit/svc/test -CAD::/etc/cinit/svc/test -CAD::NEW::/etc/cinit/svc/test::/etc/cinit/svc/test/env -gen_tree::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test/env -START::/etc/cinit/svc/test/env -CAD::/etc/cinit/svc/test -CAD::/etc/cinit/svc/init -========> tree_exec() -TEX::/etc/cinit/svc/local-tuning/keyboard-layout -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout::/etc/cinit/svc/getty/2::(A)::::/etc/cinit/svc/getty/3::(A)::::/etc/cinit/svc/local-tuning::(A):: -DNWA::/etc/cinit/svc/local-tuning/keyboard-layout -TEX::/etc/cinit/svc/mount/root -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -DNWA::/etc/cinit/svc/mount/root::/etc/cinit/svc/mount::(A):: -DNWA::/etc/cinit/svc/mount/root -TEX::/etc/cinit/svc/network/eth0 -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -DNWA::/etc/cinit/svc/network/eth0::/etc/cinit/svc/network::(A):: -DNWA::/etc/cinit/svc/network/eth0 -TEX::/etc/cinit/svc/network/loopback -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -DNWA::/etc/cinit/svc/network/loopback::/etc/cinit/svc/network -DNWA::/etc/cinit/svc/network/loopback -TEX::/etc/cinit/svc/test/env -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -DNWA::/etc/cinit/svc/test/env::/etc/cinit/svc/test::(A):: -DNWA::/etc/cinit/svc/test/env -TEX::/etc/cinit/svc/getty/2 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/2/on -CBA::/etc/cinit/svc/getty/2/on -DNWA::/etc/cinit/svc/getty/2::/etc/cinit/svc/getty::(A):: -DNWA::/etc/cinit/svc/getty/2 -TEX::/etc/cinit/svc/getty/3 -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/3/on -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -DNWA::/etc/cinit/svc/getty/3::/etc/cinit/svc/getty -DNWA::/etc/cinit/svc/getty/3 -TEX::/etc/cinit/svc/local-tuning -::/etc/cinit/svc/local-tuning/keyboard-layout -/etc/cinit/svc/local-tuning/keyboard-layout: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -CBA::/etc/cinit/svc/local-tuning/on -/etc/cinit/svc/local-tuning/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/local-tuning::/etc/cinit/svc/init::(A):: -DNWA::/etc/cinit/svc/local-tuning -TEX::/etc/cinit/svc/mount -::/etc/cinit/svc/mount/root -/etc/cinit/svc/mount/root: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -CBA::/etc/cinit/svc/mount/on -/etc/cinit/svc/mount/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/mount::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/mount -TEX::/etc/cinit/svc/network -::/etc/cinit/svc/network/eth0 -/etc/cinit/svc/network/eth0: <<16>> -::/etc/cinit/svc/network/loopback -/etc/cinit/svc/network/loopback: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -CBA::/etc/cinit/svc/network/on -/etc/cinit/svc/network/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/network::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/network -TEX::/etc/cinit/svc/test -::/etc/cinit/svc/test/env -/etc/cinit/svc/test/env: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -CBA::/etc/cinit/svc/test/on -/etc/cinit/svc/test/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/test::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/test -TEX::/etc/cinit/svc/getty -::/etc/cinit/svc/getty/2 -/etc/cinit/svc/getty/2: <<4>> -::/etc/cinit/svc/getty/3 -/etc/cinit/svc/getty/3: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -CBA::/etc/cinit/svc/getty/on -/etc/cinit/svc/getty/on: No such file or directory -SC::Cleanup: reparenting -DNWA::/etc/cinit/svc/getty::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/getty -TEX::/etc/cinit/svc/init -::/etc/cinit/svc/getty -/etc/cinit/svc/getty: <<4>> -::/etc/cinit/svc/local-tuning -/etc/cinit/svc/local-tuning: <<4>> -::/etc/cinit/svc/mount -/etc/cinit/svc/mount: <<4>> -::/etc/cinit/svc/network -/etc/cinit/svc/network: <<4>> -::/etc/cinit/svc/test -/etc/cinit/svc/test: <<4>> -abhaengigkeiten gestartet, exec; add wants, needs -ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -DNWA::/etc/cinit/svc/init -DNWA::/etc/cinit/svc/init -=> cinit started. -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/3/on -ORC:/etc/cinit/svc/getty/3/on.params -ORC: 38400 -tty3 - -ORC:/etc/cinit/svc/getty/3/on.env -SFN: NULL -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -ORC:/etc/cinit/svc/init/on.params -ORC:/etc/cinit/svc/getty/2/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test -SC::/etc/cinit/svc/test/env::FAILED::::RESPAWN::ES::/etc/cinit/svc/test/env/on -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -CBA::/etc/cinit/svc/test/env/on -ORC:/etc/cinit/svc/test/env/on.params -SFN: NULL -ORC:/etc/cinit/svc/test/env/on.env -ORC: test=Wunderbar es tut - -pre-test -Wunderbar es tut -post-test - -msgrcv: Interrupted system call -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -CBA::/etc/cinit/svc/getty/2/on -ORC:/etc/cinit/svc/getty/2/on.params -ORC: 38400 -tty2 - -ORC:/etc/cinit/svc/getty/2/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted -SC::/etc/cinit/svc/network/eth0::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/eth0/on -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/eth0/on -ORC:/etc/cinit/svc/network/eth0/on.params -ORC: -f --i -eth0 - -ORC:/etc/cinit/svc/network/eth0/on.env -SFN: NULL -udhcpc (v0.9.9-pre) started -socket failed!: Operation not permitted - -msgrcv: Interrupted system call -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. -SC::/etc/cinit/svc/init::FAILED::::RESPAWN::ES::/etc/cinit/svc/init/on -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -CBA::/etc/cinit/svc/init/on -ORC:/etc/cinit/svc/init/on.params -ORC: The initial service has been started. - -ORC:/etc/cinit/svc/init/on.env -SFN: NULL -The initial service has been started. - -msgrcv: Interrupted system call -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. -SC::/etc/cinit/svc/network/loopback::FAILED::::RESPAWN::ES::/etc/cinit/svc/network/loopback/on -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -CBA::/etc/cinit/svc/network/loopback/on -ORC:/etc/cinit/svc/network/loopback/on.params -ORC: lo -127.0.0.1 -up - -ORC:/etc/cinit/svc/network/loopback/on.env -SFN: NULL -SIOCSIFADDR: Permission denied -SIOCSIFFLAGS: Permission denied -SIOCSIFFLAGS: Permission denied -Unknown server error -ifconfig: `--help' gives usage information. - -msgrcv: Interrupted system call -mount: only root can do that -SC::/etc/cinit/svc/mount/root::FAILED::::RESPAWN::ES::/etc/cinit/svc/mount/root/on -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -CBA::/etc/cinit/svc/mount/root/on -ORC:/etc/cinit/svc/mount/root/on.params -ORC: -n --o -remount,rw -/ - -ORC:/etc/cinit/svc/mount/root/on.env -SFN: NULL -mount: only root can do that - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -LSP:: 32705: /etc/cinit/svc/init:1 (0) -LSP:: 32705: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32705: /etc/cinit/svc/test:65 (0) -LSP:: 32705: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32705: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32705: /etc/cinit/svc/network:65 (0) -LSP:: 32705: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32705: /etc/cinit/svc/mount:65 (0) -LSP:: 32705: /etc/cinit/svc/local-tuning:65 (0) -LSP:: 32705: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32705: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32705: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32705: /etc/cinit/svc/getty:65 (0) -LSP:: 32706: /etc/cinit/svc/init:65 (0) -LSP:: 32706: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32706: /etc/cinit/svc/test:65 (0) -LSP:: 32706: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32706: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32706: /etc/cinit/svc/network:65 (0) -LSP:: 32706: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32706: /etc/cinit/svc/mount:65 (0) -LSP:: 32706: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32706: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32706: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32706: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32706: /etc/cinit/svc/getty:65 (0) -LSP:: 32707: /etc/cinit/svc/init:65 (0) -LSP:: 32707: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32707: /etc/cinit/svc/test:65 (0) -LSP:: 32707: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32707: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32707: /etc/cinit/svc/network:65 (0) -LSP:: 32707: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32707: /etc/cinit/svc/mount:4 (32706) -LSP:: 32707: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32707: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32707: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32707: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32707: /etc/cinit/svc/getty:65 (0) -LSP:: 32708: /etc/cinit/svc/init:65 (0) -LSP:: 32708: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32708: /etc/cinit/svc/test:65 (0) -LSP:: 32708: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32708: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32708: /etc/cinit/svc/network:4 (32707) -LSP:: 32708: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32708: /etc/cinit/svc/mount:4 (32706) -LSP:: 32708: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32708: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32708: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32708: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32708: /etc/cinit/svc/getty:65 (0) -LSP:: 32709: /etc/cinit/svc/init:65 (0) -LSP:: 32709: /etc/cinit/svc/test/env:4 (32702) -LSP:: 32709: /etc/cinit/svc/test:4 (32708) -LSP:: 32709: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32709: /etc/cinit/svc/network/eth0:16 (32700) -LSP:: 32709: /etc/cinit/svc/network:4 (32707) -LSP:: 32709: /etc/cinit/svc/mount/root:4 (32699) -LSP:: 32709: /etc/cinit/svc/mount:4 (32706) -LSP:: 32709: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32709: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32709: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -LSP:: 32709: /etc/cinit/svc/getty/2:4 (32703) -LSP:: 32709: /etc/cinit/svc/getty:65 (0) -LSP:: 32702: /etc/cinit/svc/init:4 (32710) -LSP:: 32702: /etc/cinit/svc/test/env:4 (32702) -pid: 0, m_client -LSP:: 32700: /etc/cinit/svc/init:4 (32710) -LSP:: 32700: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32700: /etc/cinit/svc/test:4 (32708) -LSP:: 32700: /etc/cinit/svc/network/loopback:4 (32701) -LSP:: 32700: /etc/cinit/svc/network/eth0:16 (32700) -pid: 0, m_client -LSP:: 32710: /etc/cinit/svc/init:4 (32710) -pid: 0, m_client -LSP:: 32701: /etc/cinit/svc/init:16 (32719) -LSP:: 32701: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32701: /etc/cinit/svc/test:4 (32708) -LSP:: 32701: /etc/cinit/svc/network/loopback:4 (32701) -pid: 0, m_client -LSP:: 32699: /etc/cinit/svc/init:16 (32719) -LSP:: 32699: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32699: /etc/cinit/svc/test:4 (32708) -LSP:: 32699: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32699: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32699: /etc/cinit/svc/network:4 (32707) -LSP:: 32699: /etc/cinit/svc/mount/root:4 (32699) -pid: 0, m_client -LSP::SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz - 32698: /etc/cinit/svc/init:16 (32719) -LSP:: 32698: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32698: /etc/cinit/svc/test:4 (32708) -LSP:: 32698: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32698: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32698: /etc/cinit/svc/network:4 (32707) -LSP:: 32698: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32698: /etc/cinit/svc/mount:4 (32706) -LSP:: 32698: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32698: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32698: /etc/cinit/svc/local-tuning/keyboard-layout:4 (32698) -pid: 0, m_client -LSP:: 32728: /etc/cinit/svc/init:16 (32719) -LSP:: 32728: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32728: /etc/cinit/svc/test:4 (32708) -LSP:: 32728: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32728: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32728: /etc/cinit/svc/network:4 (32707) -LSP:: 32728: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32728: /etc/cinit/svc/mount:4 (32706) -LSP:: 32728: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32728: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32728: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32728) -pid: 0, m_client -LSP:: 32735: /etc/cinit/svc/init:16 (32719) -LSP:: 32735: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32735: /etc/cinit/svc/test:4 (32708) -LSP:: 32735: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32735: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32735: /etc/cinit/svc/network:4 (32707) -LSP:: 32735: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32735: /etc/cinit/svc/mount:4 (32706) -LSP:: 32735: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32735: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32735: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32735) -pid: 0, m_client -LSP:: 32742: /etc/cinit/svc/init:16 (32719) -LSP:: 32742: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32742: /etc/cinit/svc/test:4 (32708) -LSP:: 32742: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32742: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32742: /etc/cinit/svc/network:4 (32707) -LSP:: 32742: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32742: /etc/cinit/svc/mount:4 (32706) -LSP:: 32742: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32742: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32742: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32742) -pid: 0, m_client -LSP:: 32749: /etc/cinit/svc/init:16 (32719) -LSP:: 32749: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32749: /etc/cinit/svc/test:4 (32708) -LSP:: 32749: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32749: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32749: /etc/cinit/svc/network:4 (32707) -LSP:: 32749: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32749: /etc/cinit/svc/mount:4 (32706) -LSP:: 32749: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32749: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32749: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32749) -pid: 0, m_client -LSP:: 32756: /etc/cinit/svc/init:16 (32719) -LSP:: 32756: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32756: /etc/cinit/svc/test:4 (32708) -LSP:: 32756: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32756: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32756: /etc/cinit/svc/network:4 (32707) -LSP:: 32756: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32756: /etc/cinit/svc/mount:4 (32706) -LSP:: 32756: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32756: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32756: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32756) -pid: 0, m_client -LSP:: 32763: /etc/cinit/svc/init:16 (32719) -LSP:: 32763: /etc/cinit/svc/test/env:16 (32717) -LSP:: 32763: /etc/cinit/svc/test:4 (32708) -LSP:: 32763: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 32763: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 32763: /etc/cinit/svc/network:4 (32707) -LSP:: 32763: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 32763: /etc/cinit/svc/mount:4 (32706) -LSP:: 32763: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 32763: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 32763: /etc/cinit/svc/local-tuning/keyboard-layout:16 (32763) -pid: 0, m_client -LSP:: 302: /etc/cinit/svc/init:16 (32719) -LSP:: 302: /etc/cinit/svc/test/env:16 (32717) -LSP:: 302: /etc/cinit/svc/test:4 (32708) -LSP:: 302: /etc/ciSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN:: -msgrcv: Interrupted system call -ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -nit/svc/network/loopback:16 (32720) -LSP:: 302: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 302: /etc/cinit/svc/network:4 (32707) -LSP:: 302: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 302: /etc/cinit/svc/mount:4 (32706) -LSP:: 302: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 302: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 302: /etc/cinit/svc/local-tuning/keyboard-layout:16 (302) -pid: 0, m_client -LSP:: 312: /etc/cinit/svc/init:16 (32719) -LSP:: 312: /etc/cinit/svc/test/env:16 (32717) -LSP:: 312: /etc/cinit/svc/test:4 (32708) -LSP:: 312: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 312: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 312: /etc/cinit/svc/network:4 (32707) -LSP:: 312: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 312: /etc/cinit/svc/mount:4 (32706) -LSP:: 312: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 312: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 312: /etc/cinit/svc/local-tuning/keyboard-layout:16 (312) -pid: 0, m_client -LSP:: 326: /etc/cinit/svc/init:16 (32719) -LSP:: 326: /etc/cinit/svc/test/env:16 (32717) -LSP:: 326: /etc/cinit/svc/test:4 (32708) -LSP:: 326: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 326: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 326: /etc/cinit/svc/network:4 (32707) -LSP:: 326: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 326: /etc/cinit/svc/mount:4 (32706) -LSP:: 326: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 326: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 326: /etc/cinit/svc/local-tuning/keyboard-layout:16 (326) -pid: 0, m_client -LSP:: 333: /etc/cinit/svc/init:16 (32719) -LSP:: 333: /etc/cinit/svc/test/env:16 (32717) -LSP:: 333: /etc/cinit/svc/test:4 (32708) -LSP:: 333: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 333: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 333: /etc/cinit/svc/network:4 (32707) -LSP:: 333: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 333: /etc/cinit/svc/mount:4 (32706) -LSP:: 333: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 333: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 333: /etc/cinit/svc/local-tuning/keyboard-layout:16 (333) -pid: 0, m_client -LSP:: 340: /etc/cinit/svc/init:16 (32719) -LSP:: 340: /etc/cinit/svc/test/env:16 (32717) -LSP:: 340: /etc/cinit/svc/test:4 (32708) -LSP:: 340: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 340: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 340: /etc/cinit/svc/network:4 (32707) -LSP:: 340: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 340: /etc/cinit/svc/mount:4 (32706) -LSP:: 340: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 340: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 340: /etc/cinit/svc/local-tuning/keyboard-layout:16 (340) -pid: 0, m_client -LSP:: 347: /etc/cinit/svc/init:16 (32719) -LSP:: 347: /etc/cinit/svc/test/env:16 (32717) -LSP:: 347: /etc/cinit/svc/test:4 (32708) -LSP:: 347: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 347: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 347: /etc/cinit/svc/network:4 (32707) -LSP:: 347: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 347: /etc/cinit/svc/mount:4 (32706) -LSP:: 347: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 347: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 347: /etc/cinit/svc/local-tuning/keyboard-layout:16 (347) -pid: 0, m_client -LSP:: 354: /etc/cinit/svc/init:16 (32719) -LSP:: 354: /etc/cinit/svc/test/env:16 (32717) -LSP:: 354: /etc/cinit/svc/test:4 (32708) -LSP:: 354: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 354: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 354: /etc/cinit/svc/network:4 (32707) -LSP:: 354: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 354: /etc/cinit/svc/mount:4 (32706) -LSP:: 354: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 354: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 354: /etc/cinit/svc/local-tuning/keyboard-layout:16 (354) -pid: 0, m_client -LSP:: 372: /etc/cinit/svc/init:16 (32719) -LSP:: 372: /etc/cinit/svc/test/env:16 (32717) -LSP:: 372: /etc/cinit/svc/test:4 (32708) -LSP:: 372: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 372: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 372: /etc/cinit/svc/network:4 (32707) -LSP:: 372: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 372: /etc/cinit/svc/mount:4 (32706) -LSP:: 372: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 372: /etc/cinit/svc/getty/3:4 (327SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -04) -LSP:: 372: /etc/cinit/svc/local-tuning/keyboard-layout:16 (372) -pid: 0, m_client -LSP:: 379: /etc/cinit/svc/init:16 (32719) -LSP:: 379: /etc/cinit/svc/test/env:16 (32717) -LSP:: 379: /etc/cinit/svc/test:4 (32708) -LSP:: 379: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 379: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 379: /etc/cinit/svc/network:4 (32707) -LSP:: 379: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 379: /etc/cinit/svc/mount:4 (32706) -LSP:: 379: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 379: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 379: /etc/cinit/svc/local-tuning/keyboard-layout:16 (379) -pid: 0, m_client -LSP:: 386: /etc/cinit/svc/init:16 (32719) -LSP:: 386: /etc/cinit/svc/test/env:16 (32717) -LSP:: 386: /etc/cinit/svc/test:4 (32708) -LSP:: 386: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 386: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 386: /etc/cinit/svc/network:4 (32707) -LSP:: 386: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 386: /etc/cinit/svc/mount:4 (32706) -LSP:: 386: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 386: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 386: /etc/cinit/svc/local-tuning/keyboard-layout:16 (386) -pid: 0, m_client -LSP:: 393: /etc/cinit/svc/init:16 (32719) -LSP:: 393: /etc/cinit/svc/test/env:16 (32717) -LSP:: 393: /etc/cinit/svc/test:4 (32708) -LSP:: 393: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 393: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 393: /etc/cinit/svc/network:4 (32707) -LSP:: 393: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 393: /etc/cinit/svc/mount:4 (32706) -LSP:: 393: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 393: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 393: /etc/cinit/svc/local-tuning/keyboard-layout:16 (393) -pid: 0, m_client -LSP:: 400: /etc/cinit/svc/init:16 (32719) -LSP:: 400: /etc/cinit/svc/test/env:16 (32717) -LSP:: 400: /etc/cinit/svc/test:4 (32708) -LSP:: 400: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 400: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 400: /etc/cinit/svc/network:4 (32707) -LSP:: 400: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 400: /etc/cinit/svc/mount:4 (32706) -LSP:: 400: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 400: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 400: /etc/cinit/svc/local-tuning/keyboard-layout:16 (400) -pid: 0, m_client -LSP:: 407: /etc/cinit/svc/init:16 (32719) -LSP:: 407: /etc/cinit/svc/test/env:16 (32717) -LSP:: 407: /etc/cinit/svc/test:4 (32708) -LSP:: 407: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 407: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 407: /etc/cinit/svc/network:4 (32707) -LSP:: 407: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 407: /etc/cinit/svc/mount:4 (32706) -LSP:: 407: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 407: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 407: /etc/cinit/svc/local-tuning/keyboard-layout:16 (407) -pid: 0, m_client -LSP:: 414: /etc/cinit/svc/init:16 (32719) -LSP:: 414: /etc/cinit/svc/test/env:16 (32717) -LSP:: 414: /etc/cinit/svc/test:4 (32708) -LSP:: 414: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 414: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 414: /etc/cinit/svc/network:4 (32707) -LSP:: 414: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 414: /etc/cinit/svc/mount:4 (32706) -LSP:: 414: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 414: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 414: /etc/cinit/svc/local-tuning/keyboard-layout:16 (414) -pid: 0, m_client -LSP:: 421: /etc/cinit/svc/init:16 (32719) -LSP:: 421: /etc/cinit/svc/test/env:16 (32717) -LSP:: 421: /etc/cinit/svc/test:4 (32708) -LSP:: 421: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 421: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 421: /etc/cinit/svc/network:4 (32707) -LSP:: 421: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 421: /etc/cinit/svc/mount:4 (32706) -LSP:: 421: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 421: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 421: /etc/cinit/svc/local-tuning/keyboard-layout:16 (421) -pid: 0, m_client -LSP:: 428: /etc/cinit/svc/init:16 (32719) -LSP:: 428: /etc/cinit/svc/test/env:16 (32717) -LSP:: 428: /etc/cinit/svc/test:4 (32708) -LSP:: 428: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 428: /etc/cinit/svc/network/eth0:16SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call - (32718) -LSP:: 428: /etc/cinit/svc/network:4 (32707) -LSP:: 428: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 428: /etc/cinit/svc/mount:4 (32706) -LSP:: 428: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 428: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 428: /etc/cinit/svc/local-tuning/keyboard-layout:16 (428) -pid: 0, m_client -LSP:: 435: /etc/cinit/svc/init:16 (32719) -LSP:: 435: /etc/cinit/svc/test/env:16 (32717) -LSP:: 435: /etc/cinit/svc/test:4 (32708) -LSP:: 435: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 435: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 435: /etc/cinit/svc/network:4 (32707) -LSP:: 435: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 435: /etc/cinit/svc/mount:4 (32706) -LSP:: 435: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 435: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 435: /etc/cinit/svc/local-tuning/keyboard-layout:16 (435) -pid: 0, m_client -LSP:: 452: /etc/cinit/svc/init:16 (32719) -LSP:: 452: /etc/cinit/svc/test/env:16 (32717) -LSP:: 452: /etc/cinit/svc/test:4 (32708) -LSP:: 452: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 452: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 452: /etc/cinit/svc/network:4 (32707) -LSP:: 452: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 452: /etc/cinit/svc/mount:4 (32706) -LSP:: 452: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 452: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 452: /etc/cinit/svc/local-tuning/keyboard-layout:16 (452) -pid: 0, m_client -LSP:: 459: /etc/cinit/svc/init:16 (32719) -LSP:: 459: /etc/cinit/svc/test/env:16 (32717) -LSP:: 459: /etc/cinit/svc/test:4 (32708) -LSP:: 459: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 459: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 459: /etc/cinit/svc/network:4 (32707) -LSP:: 459: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 459: /etc/cinit/svc/mount:4 (32706) -LSP:: 459: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 459: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 459: /etc/cinit/svc/local-tuning/keyboard-layout:16 (459) -pid: 0, m_client -LSP:: 466: /etc/cinit/svc/init:16 (32719) -LSP:: 466: /etc/cinit/svc/test/env:16 (32717) -LSP:: 466: /etc/cinit/svc/test:4 (32708) -LSP:: 466: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 466: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 466: /etc/cinit/svc/network:4 (32707) -LSP:: 466: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 466: /etc/cinit/svc/mount:4 (32706) -LSP:: 466: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 466: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 466: /etc/cinit/svc/local-tuning/keyboard-layout:16 (466) -pid: 0, m_client -LSP:: 473: /etc/cinit/svc/init:16 (32719) -LSP:: 473: /etc/cinit/svc/test/env:16 (32717) -LSP:: 473: /etc/cinit/svc/test:4 (32708) -LSP:: 473: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 473: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 473: /etc/cinit/svc/network:4 (32707) -LSP:: 473: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 473: /etc/cinit/svc/mount:4 (32706) -LSP:: 473: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 473: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 473: /etc/cinit/svc/local-tuning/keyboard-layout:16 (473) -pid: 0, m_client -LSP:: 480: /etc/cinit/svc/init:16 (32719) -LSP:: 480: /etc/cinit/svc/test/env:16 (32717) -LSP:: 480: /etc/cinit/svc/test:4 (32708) -LSP:: 480: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 480: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 480: /etc/cinit/svc/network:4 (32707) -LSP:: 480: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 480: /etc/cinit/svc/mount:4 (32706) -LSP:: 480: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 480: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 480: /etc/cinit/svc/local-tuning/keyboard-layout:16 (480) -pid: 0, m_client -LSP:: 487: /etc/cinit/svc/init:16 (32719) -LSP:: 487: /etc/cinit/svc/test/env:16 (32717) -LSP:: 487: /etc/cinit/svc/test:4 (32708) -LSP:: 487: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 487: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 487: /etc/cinit/svc/network:4 (32707) -LSP:: 487: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 487: /etc/cinit/svc/mount:4 (32706) -LSP:: 487: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 487: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 487: /etc/cinit/svc/local-tuning/keyboard-layout:16 (487) -pid: 0, mLoading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -_client -LSP:: 494: /etc/cinit/svc/init:16 (32719) -LSP:: 494: /etc/cinit/svc/test/env:16 (32717) -LSP:: 494: /etc/cinit/svc/test:4 (32708) -LSP:: 494: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 494: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 494: /etc/cinit/svc/network:4 (32707) -LSP:: 494: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 494: /etc/cinit/svc/mount:4 (32706) -LSP:: 494: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 494: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 494: /etc/cinit/svc/local-tuning/keyboard-layout:16 (494) -pid: 0, m_client -LSP:: 501: /etc/cinit/svc/init:16 (32719) -LSP:: 501: /etc/cinit/svc/test/env:16 (32717) -LSP:: 501: /etc/cinit/svc/test:4 (32708) -LSP:: 501: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 501: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 501: /etc/cinit/svc/network:4 (32707) -LSP:: 501: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 501: /etc/cinit/svc/mount:4 (32706) -LSP:: 501: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 501: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 501: /etc/cinit/svc/local-tuning/keyboard-layout:16 (501) -pid: 0, m_client -LSP:: 510: /etc/cinit/svc/init:16 (32719) -LSP:: 510: /etc/cinit/svc/test/env:16 (32717) -LSP:: 510: /etc/cinit/svc/test:4 (32708) -LSP:: 510: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 510: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 510: /etc/cinit/svc/network:4 (32707) -LSP:: 510: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 510: /etc/cinit/svc/mount:4 (32706) -LSP:: 510: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 510: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 510: /etc/cinit/svc/local-tuning/keyboard-layout:16 (510) -pid: 0, m_client -LSP:: 520: /etc/cinit/svc/init:16 (32719) -LSP:: 520: /etc/cinit/svc/test/env:16 (32717) -LSP:: 520: /etc/cinit/svc/test:4 (32708) -LSP:: 520: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 520: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 520: /etc/cinit/svc/network:4 (32707) -LSP:: 520: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 520: /etc/cinit/svc/mount:4 (32706) -LSP:: 520: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 520: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 520: /etc/cinit/svc/local-tuning/keyboard-layout:16 (520) -pid: 0, m_client -LSP:: 533: /etc/cinit/svc/init:16 (32719) -LSP:: 533: /etc/cinit/svc/test/env:16 (32717) -LSP:: 533: /etc/cinit/svc/test:4 (32708) -LSP:: 533: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 533: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 533: /etc/cinit/svc/network:4 (32707) -LSP:: 533: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 533: /etc/cinit/svc/mount:4 (32706) -LSP:: 533: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 533: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 533: /etc/cinit/svc/local-tuning/keyboard-layout:16 (533) -pid: 0, m_client -LSP:: 541: /etc/cinit/svc/init:16 (32719) -LSP:: 541: /etc/cinit/svc/test/env:16 (32717) -LSP:: 541: /etc/cinit/svc/test:4 (32708) -LSP:: 541: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 541: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 541: /etc/cinit/svc/network:4 (32707) -LSP:: 541: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 541: /etc/cinit/svc/mount:4 (32706) -LSP:: 541: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 541: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 541: /etc/cinit/svc/local-tuning/keyboard-layout:16 (541) -pid: 0, m_client -LSP:: 548: /etc/cinit/svc/init:16 (32719) -LSP:: 548: /etc/cinit/svc/test/env:16 (32717) -LSP:: 548: /etc/cinit/svc/test:4 (32708) -LSP:: 548: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 548: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 548: /etc/cinit/svc/network:4 (32707) -LSP:: 548: /etc/cinit/svc/mount/root:16 (32721) -LSP:: 548: /etc/cinit/svc/mount:4 (32706) -LSP:: 548: /etc/cinit/svc/local-tuning:4 (32705) -LSP:: 548: /etc/cinit/svc/getty/3:4 (32704) -LSP:: 548: /etc/cinit/svc/local-tuning/keyboard-layout:16 (548) -pid: 0, m_client -LSP:: 555: /etc/cinit/svc/init:16 (32719) -LSP:: 555: /etc/cinit/svc/test/env:16 (32717) -LSP:: 555: /etc/cinit/svc/test:4 (32708) -LSP:: 555: /etc/cinit/svc/network/loopback:16 (32720) -LSP:: 555: /etc/cinit/svc/network/eth0:16 (32718) -LSP:: 555: /etc/cinit/svc/network:4 (32707) -LSP:: 555: /etc/cinit/svSC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -findkeymap: No such file or directory -cannot open file -Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz -SC::/etc/cinit/svc/local-tuning/keyboard-layout::FAILED::::RESPAWN::ES::/etc/cinit/svc/local-tuning/keyboard-layout/on -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL -CBA::/etc/cinit/svc/local-tuning/keyboard-layout/on -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.params -ORC: dvorak - -ORC:/etc/cinit/svc/local-tuning/keyboard-layout/on.env -SFN: NULL - -msgrcv: Interrupted system call diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/man/cinit.8 b/software/cinit/browse_source/cinit-0.3pre9/doc/man/cinit.8 deleted file mode 100644 index 996660e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/man/cinit.8 +++ /dev/null @@ -1,56 +0,0 @@ -.\" Title: cinit -.\" Author: -.\" Generator: DocBook XSL Stylesheets v1.72.0 -.\" Date: 05/15/2007 -.\" Manual: -.\" Source: -.\" -.TH "CINIT" "8" "05/15/2007" "" "" -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.SH "NAME" -cinit \- fast executing, small and simple init with support for profiles -.SH "SYNOPSIS" -\fIcinit\fR [cprofile:name_of_profile] -.sp -.SH "DESCRIPTION" -Cinit is an init system. It normally gets started by the operating system (Linux, *BSD, \&...) directly after the kernel has been loaded. -.sp -Cinit uses parallel execution of services as far as possible. To ensure the correct boot order you need to specify which service \fIneeds\fR or \fIwants\fR another service. The resulting dependency tree is used at startup to determine which service to start when. -.sp -This may result in different boot orders depending on whether one service is one time faster or slower. Due to the dependencies this is not a problem, but allowed and wished per design. -.sp -For more information refer to the texinfo or html documentation. -.sp -.SH "OPTIONS" -.PP -cprofile:name_of_profile -.RS 4 -If specified, cinit will start the named profile instead of the standard -\fIinit\fR -service -.RE -.SH "BUGS" -cinit is not tested nor documented very well currently. -.sp -The porting to other OS is not finished yet (mainly missing system level binaries: shutdown, reboot, halt). -.sp -Both is work in progress. -.sp -.SH "AUTHOR" -Nico Schottelius -.sp -.SH "RESOURCES" -Main web site: http://unix.schottelius.org/cinit/ -.sp -.SH "COPYING" -Copyright (C) 2006 Nico Schottelius. Free use of this software is granted under the terms of the GNU General Public License (GPL). -.sp -.SH "REFERENCES" -.IP " 1." 4 -nico\-cinit__@__schottelius.org -.RS 4 -\%mailto:nico\-cinit__@__schottelius.org -.RE diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/man/cinit.text b/software/cinit/browse_source/cinit-0.3pre9/doc/man/cinit.text deleted file mode 100644 index bd9bd0ab..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/man/cinit.text +++ /dev/null @@ -1,64 +0,0 @@ -cinit(8) -======== -Nico Schottelius - - -NAME ----- -cinit - fast executing, small and simple init with support for profiles - - -SYNOPSIS --------- -'cinit' [cprofile:name_of_profile] - - -DESCRIPTION ------------ -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, ...) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -'needs' or 'wants' another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - -OPTIONS -------- - -cprofile:name_of_profile:: - If specified, cinit will start the named profile instead of the - standard 'init' service - - -BUGS ----- -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - -AUTHOR ------- -Nico Schottelius - - -RESOURCES ---------- -Main web site: http://unix.schottelius.org/cinit/[] - - -COPYING -------- -Copyright \(C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/man/cinit.xml b/software/cinit/browse_source/cinit-0.3pre9/doc/man/cinit.xml deleted file mode 100644 index a43518e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/man/cinit.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - -cinit -8 - - - cinit - fast executing, small and simple init with support for profiles - - -cinit [cprofile:name_of_profile] - - - -DESCRIPTION -Cinit is an init system. It normally gets started by the operating -system (Linux, *BSD, …) directly after the kernel has been loaded. - -Cinit uses parallel execution of services as far as possible. To -ensure the correct boot order you need to specify which service -needs or wants another service. The resulting dependency tree -is used at startup to determine which service to start when. - -This may result in different boot orders depending on whether -one service is one time faster or slower. Due to the dependencies -this is not a problem, but allowed and wished per design. - -For more information refer to the texinfo or html documentation. - - - -OPTIONS - - - -cprofile:name_of_profile - - - - If specified, cinit will start the named profile instead of the - standard init service - - - - - - -BUGS -cinit is not tested nor documented very well currently. - -The porting to other OS is not finished yet (mainly missing -system level binaries: shutdown, reboot, halt). - -Both is work in progress. - - - -AUTHOR -Nico Schottelius <nico-cinit__@__schottelius.org> - - - -RESOURCES -Main web site: http://unix.schottelius.org/cinit/ - - - -COPYING -Copyright (C) 2006 Nico Schottelius. Free use of this software is -granted under the terms of the GNU General Public License (GPL). - - - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/man/cservice b/software/cinit/browse_source/cinit-0.3pre9/doc/man/cservice deleted file mode 100644 index 26a472b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/man/cservice +++ /dev/null @@ -1,37 +0,0 @@ -WARNING: - cservice is not yet ready for cinit-0.3! - --------------------------------------------------------------------------------- -cservice, -Nico Schottelius, 2005-06-10 (Last Modified: 2005-06-22) --------------------------------------------------------------------------------- - -cservice - control cinit - -cservice -[phearsu] - -e - (ein) start a service (including all needed dependencies) - -a - (aus) stop a respawing service, don't care about other services - - -r - reboot - -h - halt - -p - poweroff (on some systems the same as halt) - -s - reScue mode - only a shell - - -u - update: hot reboot - shutdown system and execute /sbin/cinit - -A service may be specified either as relative or as absolute path. - --h, -p, -r, -s and -u need the "Magic Word" to do their work: "thilo" - --------------------------------------------------------------------------------- - -Some examples: - - cservice -e /etc/cinit/getty/8 # fire up getty/8 - cd /etc/cinit/getty; cservice -a ./8 # shut down getty/8 - cservice -h thilo # halt - cservice -r thilo # reboot - cservice -s thilo # rescue - cservice -u thilo # update - --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/FAQ b/software/cinit/browse_source/cinit-0.3pre9/doc/user/FAQ deleted file mode 100644 index 53494f73..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/FAQ +++ /dev/null @@ -1,35 +0,0 @@ --------------------------------------------------------------------------------- -FAQ - Frequently asked questions, -Nico Schottelius, 2005-06-05 (Last Modified: 2005-06-12) --------------------------------------------------------------------------------- - -Q: So, what's good in cinit? -A: Fast executing, clean design, parallel execution, profile support, - small binary size (~50KiB static against uclibc), easy configuration, - just to name the main facts. - -Q: How do I start cinit? -A: You don't start cinit directly, but your kernel does. - Please have a look at your system documentation how to tell your kernel - to load /sbin/cinit as init. You'll also find some examples in - the README file. - -Q: What is /etc/cinit/init used for? -A: The init service is not just a placeholder, it is the beginning of - executing services. - -Q: /etc/cinit/init seems not to be used when I use profiles? -A: That's true. When you select a profile, cinit will begin in this - directory: "cprofile:home" will use /etc/cinit/home as starting - point. - -Q: Why does it take so long before my getty is respawned? -A: cinit only waits 5 seconds (see conf/sleep_svc), if - a) a service didn't exit normally - b) the service had a non-zero exit code - - So fixing the problem would mean fixing your getty / shell. - -Q: I am using a tarball from samples/ and there is no getty on tty1!? -A: That's true, the first console is used for logging purpose in the - examples. You still have six console (tty2-tty7) running getty. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/NEW_using_cinit_freebsd b/software/cinit/browse_source/cinit-0.3pre9/doc/user/NEW_using_cinit_freebsd deleted file mode 100644 index 05499166..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/NEW_using_cinit_freebsd +++ /dev/null @@ -1,21 +0,0 @@ -11:33 < mux> from sys/kern/init_main.c: -11:33 < telmich> mux: that's true; I just tried with linux and I tell the - bootloader, who tells the kernel then -11:33 < mux> static char init_path[MAXPATHLEN] = -11:33 < mux> #ifdef INIT_PATH __XSTRING(INIT_PATH); -11:33 < mux> #else -"/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall"; -11:33 < mux> #endif -11:33 < mux> but you give a loader tunable -11:34 < mux> if ((var = getenv("init_path")) != NULL) { -11:34 < mux> strlcpy(init_path, var, sizeof(init_path)); -11:34 < mux> freeenv(var); -11:34 < mux> } -11:34 < mux> here you are -11:34 < telmich> ahh, that's good -11:34 * telmich has to try cinit on freebsd the next days :-) -12:34 < mux> (s/you give/you can give/) -11:35 < mux> so, simply init_path)="/sbin/cinit" in /boot/loader.conf should do - it -11:35 < mux> minus the typo - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/README.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/README.text deleted file mode 100644 index 3467ba63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/README.text +++ /dev/null @@ -1,21 +0,0 @@ -cinit/doc/devel -=============== -Nico Schottelius -0.1, Initial Version from 2006-07-09 -:Author Initials: NS - -This directory contains cinit user documents. - -Introduction ------------- -This file describes the related documents in the current directory. - -Who should read those documents? --------------------------------- -People using cinit. - -Content -------- - -hints.text: Some general hints -tuning.text: Some tuning hints diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/TODO b/software/cinit/browse_source/cinit-0.3pre9/doc/user/TODO deleted file mode 100644 index 6044e97a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/TODO +++ /dev/null @@ -1,4 +0,0 @@ -All the content in this file is unsorted. Reading may harm you. - -Confdir: /etc/cinit/conf/ -panic: /etc/cinit/conf/panic, /etc/cinit/conf/panic.params diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/compiles.on.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/compiles.on.text deleted file mode 100644 index ad467d38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/compiles.on.text +++ /dev/null @@ -1,19 +0,0 @@ -cinit - known configurations cinit compiles on -============================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-12-08 -:Author Initials: NS - - -This document lists all the configuration known to me on that -cinit compiles. If you compiled cinit with another configuration, -drop a mail to nico-cinit-report [at] schottelius.org. - -The list --------- -cinit is known to compile on: - -- x86-Linux-Debian-3.0-gcc-4-glibc-2.3.2 -- x86-Linux-Debian-3.0-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-glibc-2.3.5 -- ppc-Linux-Gentoo-2004.3-gcc-3.4.3-uclibc-0.9.27 diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/conf-system.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/conf-system.text deleted file mode 100644 index 600112c3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/conf-system.text +++ /dev/null @@ -1,34 +0,0 @@ -The conf/ system -================= -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-08 -:Author Initials: NS - -This documentes describes the configuration system used by cinit. - - -What is the conf/ system? -------------------------- -The conf/ system is the configuration system for the cinit build. -The first line of each file below conf/ is a configuration value -with the name of the file: - ----------------------------------------------------------------------- -[9:00] hydrogenium:cinit-0.3pre6% head -n 1 conf/cc -gcc ----------------------------------------------------------------------- - -This means that the variable "cc" has the value "gcc". - - -What is the reason for conf/? ------------------------------ -I needed a small and simple configuration system, which may be included -in the full build process. - - -Is conf/ also usable for other projects? ----------------------------------------- -In its current state conf/ is just a prototype, with which I experiement -a lot. But it is possible that the future aim is to provide a simele -configuration and autoconfiguraton mechanism. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/config-dirs b/software/cinit/browse_source/cinit-0.3pre9/doc/user/config-dirs deleted file mode 100644 index 4a8fbb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/config-dirs +++ /dev/null @@ -1,19 +0,0 @@ -configuring - - /etc/cinit/defaults/panic -> link to something to execute on panic - (most likely /sbin/sulogin) - - /etc/cinit/defaults/tmp -> link to a directory where - the socket should be created, - after finishing boot - - What todo right before halting/rebooting/powering off - /etc/cinit/special/ - -> halt - -> reboot - -> poweroff - -Configuration -------------- - -Send kill signal diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/configuring.cinit.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/configuring.cinit.text deleted file mode 100644 index 1de033fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/configuring.cinit.text +++ /dev/null @@ -1,320 +0,0 @@ -cinit - Configuring -=================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2005-05-28 -:Author Initials: NS - - -This documentes describes how to configure cinit. -You should already have cinit installed, otherwise read -"cinit - Installing" first. - - -General configuration layout ----------------------------- -Cinit uses the <<>> configuration syntax, which means that -the configuration is kept as simple as possible. The following -sections will show you what that means. - -The cinit configuration consists of -- a special configuration directory -- and the service definitions. - -Paths ------ -Normally the configuration is kept below '/etc/cinit' -(though you can change this before compiling in conf/cinit_dir). - -The full description of the path layout of cinit and how to change it -can be found in 'paths.text'. - -Conf ----- -The special configuration directory is normally called `conf/` -(defined at compile-time in `conf/c_confdir`). - -For all executables into this directory apply the same rules as mentioned -below in "Execution: on and off": Appened .params specifies parameters, -appended .env specifies environment. - - -conf/last -~~~~~~~~~ -This is the last part that will be executed. After it has finished, cinit -will halt, power-off or reboot your machine. - -You can use it for whatever task to accomplish (as most things of cinit), but -the idea behind it is to use it for cleaning up things that are not covered -by the off parts of the services. This maybe swapoff (although this is an unecessary -call before poweroff, imho and even if needed this could be handled within the -off part of the same services that enabled it) or `umount -a` for everything -manually mounted and not unmounted yet. - - -conf/sleep_before_kill -~~~~~~~~~~~~~~~~~~~~~~ -This file contains just one line: The number of seconds to sleep after SIGTERM was sent -to every remaining process before sending SIGKILL to all processes. If this file -is unreadable or not existent, cinit will fall back to the value compiled in -(which was specified at build time in conf/sleep_kill). - - -Services --------- -cinit is service based. Other init systems use shell -scripts (for instance /etc/rc, /etc/init.d/rc as starters -and /etc/rc*.d/* as "service definitions"). - -'current-init-problems.text' explains why cinit does *not* -use nor recommends the use of shell scripts. - -A service is simply a directory. This directory contains information about - -- what should be started when starting the service -- what should be started when stoping the service -- what dependencies the service has -- whether to restart it, when it exits - - -Full service definition -~~~~~~~~~~~~~~~~~~~~~~~ -. A service consists of - - a base directory (like /etc/cinit/svc/mount/root/) - - dependency configuration (`needs` and `wants`) - - start/stop programs (`on` and `off`) - - respawn flag (`respawn`) - - -Base directory -^^^^^^^^^^^^^^ -You can create the base directory everywhere below /etc/cinit/svc. -You may and it is recommened to create a directory structure -(see 'example-directory-structure.text'). - - -Dependencies -^^^^^^^^^^^^ -The subdirectories - -- `wants` -- and `needs` - -contain the dependencies for the service. - -Read 'dependencies.text' for more information. - - -Respawning -^^^^^^^^^^^ -If you create the empty file 'respawn' (adjustable via conf/c_respawn) -the service will be restarted after it exits. - --------------------------------------------------------------------------------- -# Tell cinit to respawn the eth0.udhcpc service -touch /etc/cinit/svc/network/eth0.udhcpc --------------------------------------------------------------------------------- - - -Execution: on and off -^^^^^^^^^^^^^^^^^^^^^ -When a service starts, the file `on` in the service -directory is executed. It is ok, if this file is not existing. -When a service stops, the file `off` in the service -directory is executed. - -The file with the extension `.params` is used to specify the arguments -to pass. Each line contains exactly one parameter. - -The file with the extension `.env` is used to specify the environment -to pass. Each line contains exactly one variable definition in the form -'variable=value'. - -. The following six files are possibly used on starting/stoping: - - ./on (the program called on startup) - - ./on.params (the parameters to pass to the program, see conf/c_params) - - ./on.env (the environment to pass to the program, see conf/c_env) - - ./off (the program called when shutting down the service) - - ./off.params (the parameters to pass to the program) - - ./on.env (the environment to pass to the program) - -Some examples: ----------------------------------------------------------------------- - /etc/cinit/svc/init: - ./wants -> services it wants - ./needs -> services it needs ----------------------------------------------------------------------- - -A more or less normal service without dependencies: ----------------------------------------------------------------------- - /etc/cinit/testsvc: - on -> link to program - on.param -> parameters to program - respawn -> restart it ----------------------------------------------------------------------- - -A service with all options used: ----------------------------------------------------------------------- - /etc/cinit/fullsvc: - on -> program to start when switching on - on.params -> parameters to pass to start program - on.env -> environment to pass to start program - - respawn -> respawn service - - off -> program to start when switching off - off.params -> parameters to pass to stop program - off.env -> environment to pass to stop program - - wants/* -> services it wants before starting (non-critical ones) - needs/* -> links to needed services (critical!) before starting ----------------------------------------------------------------------- - - -Profiles --------- -Profiles allow you to define different startup scenarios and select -those before bootup. Read 'profiles.text' for more information about -profiles. - -The profile support was added in cinit-0.0.6. - - -Service execution order ------------------------- -The first service executed is '/etc/cinit/svc/init'. -If a profile is selected '/etc/cinit/svc/`profilename`' is used -instead. - -Cinit builds a full service dependency tree through the `wants` -and `needs` of the first service and its dependencies -(recursively). - -After the tree is generated, cinit begins to start the services -at the end of the tree. These services have no `needs`. - -If you manage to create circular dependencies your system will not startup. -You can verify the correctness your configuration with the script -`cinit.check.config`. - - -Hints ------ - -Service executing / parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The on and off files can and should be links to the programs you want -to execute instead of a shell script. This way you save yourself the overhead -of loading a shell. The speed enhancement is very big if you have shells -like bash installed as /bin/sh (which is *not* senseful anyway, I would -recommend dash or ksh for /bin/sh). - -The on.params and off.params files could also be links to system configuration: - -Assume the service is called local-tuning/keyboard. -The service could look like this: ----------------------------------------------------------------------- - on -> /bin/loadkeys - on.params -> /etc/sys/keyboard.mapping - - And /etc/sys/keyboard.mapping would contain only the string - "dvorak" (or "de-latin1" or "sg-latin1" or ...). ----------------------------------------------------------------------- - - -Daemons -~~~~~~~~ -Daemons are programs that go away to the background (using fork()) after -start). - -The fork-away strategy seems to be some illness introduced by traditional -init systems, that are dependent on the fact, that a process exits on -startup. - -cinit in contrast remembers the process ID (pid) of the services it -restarts (those with `respawn` enabled). - -So when the daemon fork()s away and the parent process exits it looks to -cinit like the watched service died and cinit will restart it. - -Happily, most processes can be taught not to go to background. -Some processes even do that by default and very less are broken that -one cannot tell them not to background. - -A list of known processes that are normally used in respawn -processes can be found in 'daemons.backgrounding.text'. - -If your process is not listed in `daemons.backgrounding.text', -check the documentation of your daemon program, if may have a -switch to disable forking. - -But, with a small hack it is even possible to respawn those broken processes: - -We start a program, that - - starts the daemon, - - monitors the pidfile of the daemon, - - waits until that pid does not exist anymore - - and then exits. - -Such a program is included into the cinit source tarball, -though I do not recommend using it. The better way is to implement -non forking mode into your process. - -The name of the program (actually a shell script) is 'cinit.wait.for.daemon'. - -You can use it as the `on` part of a service and add - - - the pidfile, - - the process binary - - and the process parameters - -to `on.params`. - -Thus the service could look like: ----------------------------------------------------------------------- - svc-broken-daemon/ - on -> /sbin/cinit.wait.for.daemon - on.params: - /var/run/apache.pid - /usr/packages/apache-2.0.51/bin/httpd - -DSSL ----------------------------------------------------------------------- -(This is not a so good example, because Apache supports non-forking mode). - -Be aware: This is just a hack, first try to avoid backgrounding -and you won't need this hack! - - -Logging -~~~~~~~ -Currently there's no special logging support. -When a process writes to stdout, it will be displayed on -the same stdout cinit is connected to. - -In newer versions cinit (perhaps cinit-0.4) will also support logging -stdout and stderr of a service. - - -How to migrate your old init-system configuration to cinit ----------------------------------------------------------- -This is highly dependent on your actual system, your system -configuration and your own ideas. - -Cinit is able to replace all other init systems I know about. - -So the only question is "How to do it?". - -There are some hints on how to migrate to cinit in general and also -some os specific help in the file 'migrating-init-systems.text', - -Examples --------- -Currently there are no example configurations available. -As soon as they are, you will be able to download them at -cinit's homepage. - ---> configuration.example.text - - -References ----------- -+ [[[cconfig]]] http://nico.schotteli.us/papers/linux/cconfig/ diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/cross-compiling.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/cross-compiling.text deleted file mode 100644 index 67208534..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/cross-compiling.text +++ /dev/null @@ -1,6 +0,0 @@ -conf/os to destination os -conf/cc -conf/ld -conf/cflags -conf/ldflags - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/current-init-problems.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/current-init-problems.text deleted file mode 100644 index 529c2f84..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/current-init-problems.text +++ /dev/null @@ -1,170 +0,0 @@ -Currently available init systems and their problems -=================================================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-12-11 -:Author Initials: NS - - -This document describes some other init systems, especially -the "traditional" ones and describes their problems. - - -Introduction -------------- -some history, sysv, bsd, - -minit, runit, initng, cinit, upstart - - -Implementations ---------------- -List of current implementations as of 2006-12-12. - - -Linux Sys-V-Init -~~~~~~~~~~~~~~~~ -Debian Sid - -/etc/inittab - -"First script" /etc/init.d/rcS (specified -/etc/init.d/rcS: Bourne shell script text executable - -Runlevels: 0-6, different states - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% /sbin/runlevel -N 2 --------------------------------------------------------------------------------- - - -Depending on runlevel, the init calls /etc/init.d/rc $runlevel. - -This is manually configured in /etc/inittab - -/etc/init.d/rc: Bourne shell script text executable - -/etc/init.d/rc - -Calls symlinks in /etc/rc?.d. Each runlevel a directory: - --------------------------------------------------------------------------------- -[9:51] hydrogenium:cinit-0.3pre6% ls -ld /etc/rc*.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc0.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc1.d -drwxr-xr-x 3 root root 4096 2006-12-01 16:56 /etc/rc2.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc3.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc4.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc5.d -drwxr-xr-x 2 root root 4096 2006-12-01 16:56 /etc/rc6.d -drwxr-xr-x 2 root root 4096 2006-11-28 23:17 /etc/rcS.d --------------------------------------------------------------------------------- - - - -rlmanager: sys-v-init hack -~~~~~~~~~~~~~~~~~~~~~~~~~~ -rlmanager: one script to be executed, sources -simply configuration - -Gentoo Linux -~~~~~~~~~~~~ -no content yet - -BSD init -~~~~~~~~ -Analyzed on FreeBSD. -/etc/rc -/etc/rc.d/ system services -/usr/local/etc/rc.d/ user installed services -Scripts may use values from /etc/rc.conf to check whether -they should be started or not. - -runit -~~~~~ -Three stages: Script1, dependencies, Script3 - - -Initng -~~~~~~ -no content yet - -minit -~~~~~ -Focus on being small. Needs libowfat. -Log support through pipe. - - - - - -Problems overview ------------------ - -Scripts -~~~~~~~ -Scripts are slow. Startup time. Execution time. Unecessary overhead. - - -Sequential startup -~~~~~~~~~~~~~~~~~~ -In the 'old' init systems there is no support of parallel execution. -So if one services hangs at startup, the whole system has to wait -(for instance a dhcp request). In the worst case this may result in -a non-booting system. Systems with dependencies can start the gettys -for login before, in parallel to or even after blocking services are -started. The fact, that they *are* started means you can interact with -the system, you can end looping or blocking services. - -So sequential startup may not only be the reason for a pretty -slow system, but also for an unmaintainable one. - -Unecessary services -~~~~~~~~~~~~~~~~~~~ -Many implementations try to do whatever-is-possible on boot, trying to -cover every possible and impossible situation. - -Portmap without any program that needs it. - -Starting all installed services per default (Debian) vs. let the -user choose what to start (Gentoo). - -Nicht entfernte Altlasten ab und zu. - - -No dependencies -~~~~~~~~~~~~~~~ -Systems without dependencies may result in a chaos state after booting up. - - -Only soft dependencies -~~~~~~~~~~~~~~~~~~~~~~~ -The dependencies are used, but because of soft dependencies, services -may be started although their dependency is missing. - - -Parallel init system debugging -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In contrast to the old init systems, parallel executing init systems -are much harder to debug. If the starting init systems does not have -proper logging / reporting to the user (like cinit-0.2 has), the user -may never find out, what happened and why. - - -Parallel / dependency checking init system with variable boot order -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The boot order may be different each time you boot and is dependent -on the success or failure of services. This way you can never tell -exactly how and in which order they are executed. On multiprocessor -machines, where processes may be truely executed in parallel, there -is no order anymore, but there are n orders on n processors. - -To solve this issue, init systems which support parallel execution -should ship with some testing tools, that simulate a startup. - -cinit will ship with such a tool in cinit-0.4. - - -References ----------- -no content yet diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/daemons.backgrounding.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/daemons.backgrounding.text deleted file mode 100644 index 1218f9a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/daemons.backgrounding.text +++ /dev/null @@ -1,83 +0,0 @@ -cinit - Daemons backgrounding -============================= -Nico Schottelius -0.1, for cinit 0.3, Initial versinon from 2005-06-12 - - -This document describes the backgrounding process and how to disable it. - - - -Definition ------------ -A daemon is a program which runs in the background. -Running in the background means you cannot access the process -directly (like you can press a key in a shell). - - -Daemons and cinit ------------------- -cinit normally watches system services and restarts them -(`respawn` flag in the configuration). If the process goes to background, -cinit cannot control it directly anymore. - -List of daemons and non-forking parameters -------------------------------------------- - -The following daemons / servers are known to avoid backgrounding easily: - -- acpid [x86 power management]: -f (undocumentated but works) -- apache [webserver]: -DFOREGROUND -- asterisk [pbx]: -f -- bind [dns server/caching]: -f -- cardmgr [pcmcia/cardbus]: -f -- cron (vixie) [schedular]: -f -- cupsd [printer server]: -f or -F -- dhclient [dhcp client]: -d -- dhcp3 (isc) [dhcp server]: -f -- distccd [compile server]: normal behaviour -- dovecot [imap/pop3 server]: -F -- fam [file alteration monitor]:-f -- fcron [schedular]: -f -- frox [ftp proxy]: "NoDetach" in config -- freeradius [radiusd]: -f -- gdm [display manager]: -nodaemon -- hybrid [irc server]: -foreground -- icecast2 [sound streamer]: normal behaviour -- mini-lpd [printer server]: normal behaviour -- metalog [log server]: normal behaviour -- monotone [vcs]: normal behaviour -- mpd [music server]: --no-daemon -- nessusd ["security server"]: normal behaviour -- ntpd [time server]: -n -- nylon [socks proxy]: -f (prints output to terminal) -- oidentd [identd server]: -i -- oops [http proxy]: normal behaviour -- openpbx [pbx]: -f -- openssh [ssh server]: -D -- openvpn [vpn server]: normal behaviour -- pbbuttonsd [power management]:normal behaviour -- portmap [portmapper]: -f -- proftpd [ftp server]: -n -- qmail [mta]: normal behaviour -- rsync ["file server"]: --no-detach -- silcd ["secure chat server"]: -F, --foreground -- slapd [ldap]: -d -- snmpd [snmp daemon]: -f -- stunnel [ssl wrapper]: "foreground = yes" in config -- svnserve [vcs]: --foreground -- syslogd [log server]: -n -- syslog-ng [log server]: -F -- tcpserver [super server]: normal behaviour -- udhcpc [dhcp client]: normal behaviour -- vsftpd [ftp server]: normal behaviour (or: config: background=no) -- xinetd [super server]: -dontfork - - -Problematic daemons -------------------- -Those are the daemons that do not offer the possibility (as of release 0.2): - -- atd (no switch, no configuraton option) -- inetd (some variants) -- nscd (no switch, no configuraton option) diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/debugging.configuration b/software/cinit/browse_source/cinit-0.3pre9/doc/user/debugging.configuration deleted file mode 100644 index 1289865e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/debugging.configuration +++ /dev/null @@ -1,32 +0,0 @@ --------------------------------------------------------------------------------- -Debugging your init configuration, -Nico Schottelius 2005-06-17 (Last Modified: 2005-06-17) --------------------------------------------------------------------------------- - -As writing an init configuration is not the easiest thing, -here are some problems (P) and debugging hints (H): - -P: There's no output! -H: If you don't start a service which outputs something there won't be any, - cinit starts up silently. - -P: Service XYZ seems not to work? -H: Try the following in your shell: - cd /etc/cinit/the-service; ./on "$(on.params)" - If that succeeds it has perhaps something missing which should have been - started before. -H: Create a test-service, which contains the following: - on: link to /bin/echo - on.params: "A test string" (with or without the quotes) - Now add the test-service to the needs directory of service XYZ. - If you see output the next time, the service is started. - Otherwise you forgot to make another service dependent on service - XYZ. - -P: How can I test if a non-outputting service successfully started? -H: Create another service, which depends on your service and make - it echo something. - -P: Does that profile support really work? -H: Try that: cprofile:NONEXISTENT and you'll see. - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/dependencies.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/dependencies.text deleted file mode 100644 index e1154a54..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/dependencies.text +++ /dev/null @@ -1,68 +0,0 @@ -cinit - Dependencies -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-13 -:Author Initials: NS - -This document describes the different dependency types of cinit. - - -Dependencies in general ------------------------ -Each service may have two types (non-exclusive) types of dependencies: -The so called `needs` or `wants`. These are directories below the service -directory and contain symbolic links to the dependencies. -The name of the link can be freely chosen. - -An example: - -The service '/etc/cinit/svc/getty/2' needs the service -'/etc/cinit/svc/local-tuning/keyboard-layout': --------------------------------------------------------------------------------- -[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs -[21:35] hydrogenium:needs# ls -l -insgesamt 0 -lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout -[21:35] hydrogenium:needs# cd keyboard-layout/ -[21:35] hydrogenium:keyboard-layout# pwd -P -/etc/cinit/svc/local-tuning/keyboard-layout --------------------------------------------------------------------------------- -(Warning: This is an incomplete example, it misses at least `mount/root` -as dependency) - -This service could additionally want something else, too. It is also -possible that a service only `wants` another service or that a service -has no dependencies. - - -Absolute versus relative links -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cinit does not care whether a link is relative or absolute. And -as far as I can see it does not make any difference to usability. - -In general, it seems to be a little bit 'easier' to use relative links -when manually configuring cinit ('ln -s ../../../service' versus -'ln -s /etc/cinit/svc/category/service'), but easier readable when -analysing them (with `ls -l'). - - -The two types -------------- - -needs -~~~~~ -`Needs` are the 'hard dependencies': If a services fails to start that -is linked in the `needs` directory, the service will not be started. - - -wants -~~~~~ -`Wants` are the 'soft dependencies': cinit will try to start the dependencies -found in `wants` before the service, but the service will also be started, -indenpendend of success of the dependencies. - - -Circular dependency problem ----------------------------- -If you manage to create circular dependencies cinit will fall into an -endless loop. Use `cinit.check.config` to verify your configuration. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/example-directory-structure.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/example-directory-structure.text deleted file mode 100644 index d19ac1fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/example-directory-structure.text +++ /dev/null @@ -1,140 +0,0 @@ -cinit - Example directory structure -=================================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-12-12 -:Author Initials: NS - - -This document describes a tested directory hierarchy that -you could adapt for your setup. But this is no need, you -are free to design your own layout and/or improve this one. - - -Main idea ---------- -The main reason for this layout is that all services directly located -in /etc/cinit/svc/ would create a not-so-easy maintainable chaos. - - -Categories ----------- -When thinking about grouping some parts together, there came some categories -to my mind: - -- init: This must be there. It is no real choice (well, working with profiles - is an alternative) -- we need to mount things -- things that are used to 'configure' my local system -- network connectivity -- services only locally reachable -- services remote reachable -- something that let me login - -With these requirements the following categories (=directories) were created: - - -getty -~~~~~ -Gettys are those little and nice programs that allow you to login. -As we normally want to have more than one it seems to be senseful -to create a category for it. - -For the creation of the getty services itself, an extremly simply -scheme is used: Simply create services with the number of the getty -that is running. This results in the following setup: - --------------------------------------------------------------------------------- - /etc/cinit/svc/getty/ - 2/ - 3/ - 4/ - ... --------------------------------------------------------------------------------- - -The number '1' is skipped, because cinit normally logs to stdout that is -connected to the first console. - -`/etc/cinit/svc/getty/needs/` contains all enabled gettys. This way -`/etc/cinit/svc/init/needs/` can refer to `/etc/cinit/svc/getty/` only -but will catch all gettys. - -If you want to allow users to login via a graphical login screen -(also known as X11 with xdm/gdm/kdm) you could add this service as -`getty/gdm` for instance, because gdm is just another getty (just with -more colours). - - -init -~~~~ -`init` is the service everything begins with. You simply put all other -categories into the `needs` (or if soft-dependencies to `wants`) of this -service. - - -local-services -~~~~~~~~~~~~~~ -This directory contains all the services that are only locally reachable. -This may contain local webserver, a MTA that only accepts mails -via /usr/sbin/sendmail (like qmail is capable of) or some other local -only available services. - - -local-tuning -~~~~~~~~~~~~ -This directory is used for local configuration. It contains services, -that setup the keyboard layout (perhaps called `local-tuning/keyboard-layout` -needed by `getty`!), adjust system to hardware time, cleans /tmp -(`local-tuning/tmpclean`), ... - - -mount -~~~~~ -This directory contains the service to remount the root filesystem -read-write (`mount/root`) which is dependend on the filesystem -check (`mount/root/fsck`, also have a look at 'special-services.text'). -It also contains the services that mount the pseudo filesystems -(`mount/proc` (FreeBSD, Linux) and `mount/sys` (Linux)) and all -other partitions (`mount/home`, `mount/usr`,...) which again contain -a dependency to the filesystem check, if necessary. - - -network -~~~~~~~ -The `network` directory should cover all of the network basics. -This includes setting the hostname (`network/hostname`) configuring -network devices (`network/eth0.static`, `network.ath0.master`) limiting -network accesses (`network/firewall`), enable packet forwarding -(`network/ip-forward`), adjusting the available bandwith -(`network/traffic-shaping`), ... - - -If there are too many network devices, you could create a subfolder named -`network/devices/`. - -I used to suffix the network devices with the mode they run, so I can -use different modes in different profiles (setup the wireless card in -master mode at home, in ad-hoc mode at a friend and in managed mode at -work). - - -remote-services -~~~~~~~~~~~~~~~~ -Remote-services are all services that are reachable from remote hosts. -This includes ssh (`remote-services/opensshd`), webserver -(`remote-services/lighttpd` or `remote-services/apache22`). - -Most servers `need` a working network interface, before they can be -started, but mostly it is enough to have the loopback interface up. - -This results in the possible `needs` dependency for `network/loopback` -and soft dependencies, what we call `wants` on `network`. - -Other examples for remote services are -- dns (`remote-services/dnscache`, `remote-services/tinydns`, - `remote-services/bind`) -- fileserver (`remote-services/smbd`, `remote-services/mmbd`) -- network infrastructure (`remote-services/bgpd`) -- many others - -Many daemons used for `remote-services` are described in -'daemons.backgrounding.text'. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/ideas b/software/cinit/browse_source/cinit-0.3pre9/doc/user/ideas deleted file mode 100644 index d3f13d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/ideas +++ /dev/null @@ -1,3 +0,0 @@ -- cinit-multi-machine-daemon: - coordinating bootup with several machines - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/installing-cinit.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/installing-cinit.text deleted file mode 100644 index 34902057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/installing-cinit.text +++ /dev/null @@ -1,63 +0,0 @@ -cinit - Installing -================== -Nico Schottelius -0.1, for cinit 0.3, Initial version from 2006-06-02 -:Author Initials: NS - -This documentes describes how to install cinit. - - -Installing ----------- -Installing cinit is not a big deal, so is this document. -Where possible I added a list of commands to execute at the -end of each section. - - -From source -~~~~~~~~~~~ -Retrieve the latest source from http://unix.schottelius.org/cinit/. -Then extract it, change to the source directory, adjust your OS in the -file "conf/os" and type "make all". - -To report success run scripts/report.compile and send the output -to nico-cinit-report |at| schottelius.org. I will use this information -to know how and where cinit is compiled. Personal values like hostnames -or your e-mail address will *not* be published. - -Code to install cinit: ----------------------------------------------------------------------- -# the program we use to retrieve the source (fetch on FreeBSD) -get=wget -# change to current version -version=0.3pre6 -url=http://unix.schottelius.org/cinit/cinit-${version}.tar.bz2 -# get it -$get "$url" -# exctract it -tar xvjf "cinit-${version}.tar.bz2" -# build it and report success -who=nico-cinit-report -where=schottelius.org -cd cinit-${version} && make all && \ -./scripts/report.compile | mail -s "cinit: compile report" "${who}@${where}" ----------------------------------------------------------------------- - -Warning: Currently the install target is missing. Simply copy -"src/cinit" to /sbin/cinit. - - -Changing compile time parameters -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All compile time configurations are kept below the "conf" -directory. Please read 'conf-system.text' for more information. - - -Cross-compiling ---------------- -For cross compiling see 'cross-compiling.text'. - - -Continue reading ----------------- -After having installed cinit, continue reading the document "Configuring cinit". diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/main.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/main.text deleted file mode 100644 index ddf88304..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/main.text +++ /dev/null @@ -1,113 +0,0 @@ -cinit - a modern init system -============================= -Nico Schottelius -v0.1, for cinit-0.2.2, 2005-01-18 -:Author Initials: NS - - -Introduction -============ - -cinit is a fast init system with dependency features and -profile support. It was orientated on the design off Richard Gooch's -need [0] and Felix von Leitner's minit[1]. Minit does not support real -dependencies (you don't know whether the service you depend on really -started) and the need concept is somehow slow (as seen in gentoo). -In addition, minit needs libowfat and dietlibc, which may not be found -on every Unix system. - -cinit main features: -- portability: it should run on every Linux system (and it's quite easy - to port it to other Unices) -- true dependencies -- parallel execution -- highly customisable (see conf/*) -- profile support (specify what services to start depending on the profile) - - -Getting cinit -============= - -This README is part of the source, so you should have it. -If not, goto the homepage [2] and download the tar archive -or get the lastest snapshot via git. - - -Pre-Configuring -=============== - -If you want to fine tune cinit parameters, add different path names, -change the DESTDIR, ... have a look at conf/*. - - -Installing -========== - -You can install cinit parallel to any other init-system, it won't -kill other init's config nor /sbin/init, if it exists. - -You only have to tell your kernel to execute /sbin/cinit instead -of /sbin/init. - -Everybody do: -# make all install - -This will create /sbin/cinit. -If /sbin/init does not exist, it will be linked to /sbin/cinit. - -If it's the first time you operate with cinit, you can also do: -# make install-test - -This will populate /etc/cinit with a testing configuration, -which is somehow minimalistic -(mounting root r/w, starting gettys, setting hostname). - -Although this should work on most Linux systems, it's really -minimalistic. Please configure your cinit installation yourself, -see below how to do that. - -After configuring you need to tell your kernel to boot cinit instead -of your current init system. How to do that depends on your system: - - Linux/LILO and Linux/yaboot (ppc): - append="init=/sbin/cinit" - Linux/grub1 and Linux/grub2: - kernel init=/sbin/cinit - - -Configuring -=========== - -You'll have to configure /etc/cinit and add your existing services. - -Please read doc/configuring.cinit for details. -Please read doc/FAO if there are still questions open. -Please join #cLinux on irc.freenode.org if there are still questions open. - -There can be found some (currently only one) testing examples -below samples/ (some I do use for testing, beware if you use it: -It loads the dvorak keymapping at startup!). - -There are currently no tools to merge your existing init-system -to cinit (like sysvinit-merge, bsd-merge or minit-merge) available. -If someone cares and tries to do that, I would be happy to include -the script(s). - -Additionally I would be thankful for tar-balls containing a complete -replacement of $your_unix_init. - - -Author, Contact, Bug reports, etc. -================================== -Nico Schottelius (nico-linux-cinit<>schottelius [[dot]] org) is the -author. Bug reports should be send to this address. - -The homepage of cinit is [2]. - - -References: -=========== - -[0]: need: http://www.atnf.csiro.au/people/rgooch/linux/boot-scripts/ -[1]: minit: http://www.fefe.de/minit/ -[2]: cinit: http://linux.schottelius.org/cinit/ diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/meta.dependencies b/software/cinit/browse_source/cinit-0.3pre9/doc/user/meta.dependencies deleted file mode 100644 index fe743c48..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/meta.dependencies +++ /dev/null @@ -1,58 +0,0 @@ --------------------------------------------------------------------------------- -Meta-dependencies, -Nico Schottelius, 2005-05-24 --------------------------------------------------------------------------------- - -1. What are Meta-Dependencies? -2. What are the advantages / disadvantages of it? -3. The solutions - -1. What are Meta-Dependencies? - -A Meta-depedency describes the type of service another service wants, but -not the exact service. - -Example: - remote-services/ssh wants a dns-resolver, it does not care about - what it is (tinycache, bind, maradns, ...), but that it does - name caching. - - -2. What are the advantages / disadvantages of it? - -Meta means beeing indirect. Indirect means beeing slow. So, if -cinit would have to care about meta-dependencies, the code would become -much bigger and slower. - -On the other hand, one would perhaps like to use meta-dependencies, if -one tests different services with the same functionality or switches -them dependending on the situation (see profile.support). - - -3. The solutions - -As told above, cinit won't care about meta-dependencies and as you'll see -why it does not even need to. - -The first solution would be to have a mapping table outside of cinit. -This table could be a file for every meta-dependency and contain the -possibilities: - - dns-resolver: - remote-services/bind - local-services/tinydns - ... - -So one would have to call a program, which creates the real cinit -configuration. This is imho not a very elegant solution and could cause -problems, when handling self-written services. - -Another possibility is to use symlinks: Create service-directories -for all services beeing installed, but do dependencies in "wants/" -and "needs/" to a symlink (for instance create /etc/cinit/meta -and link to real services in there): - - /etc/cinit/meta/dns-resolver -> ../remote-services/bind/ - -This way you have the indirection (meta-dependencies) in the filesystem -and cinit does not need any additional code. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/paths.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/paths.text deleted file mode 100644 index d44bca61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/paths.text +++ /dev/null @@ -1,121 +0,0 @@ -cinit - Configuration -====================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2006-06-03 -:Author Initials: NS - -Configuring cinit - the paths used - - -Main structure ---------------- -The base directory under which all configurations are found -is '/etc/cinit' (changable via conf/cinit_dir). - -The basic hierarchy is shown below: ----------------------------------------------------------------------- -/etc/cinit - svc -> services (adjustable: conf/svcdir) - conf -> general configuration (adjustable: conf/confdir) ----------------------------------------------------------------------- - - -The subdirectory 'conf' -~~~~~~~~~~~~~~~~~~~~~~~ -In this directory are general configurations located. -See below for the list of files that are located in this -directory. - - -The subdirectory 'svc' -~~~~~~~~~~~~~~~~~~~~~~ -This directory contains the services. A service is a directory. - - -Filenams for executable files ------------------------------- -When you create something that cinit should execute (like on -starting a service, on stopping a service, on panic, ...), cinit -will recognize the following extensions: - -. cinit executions extensions - - 'name' - the file that should be executed - - `'name'.params` - the parameter to pass to 'name' when executing - - `'name'.env` - the environment to pass to 'name' when executing - - -Name.params -~~~~~~~~~~~ -The 'params' file is a simple file containing one argument on each -line. - -Example: ----------------------------------------------------------------------- -[17:34] hydrogenium:cinit-0.3pre6% ls -l /etc/cinit/svc/init/on -lrwxrwxrwx 1 root root 9 2006-11-16 09:12 /etc/cinit/svc/init/on -> /bin/echo -[17:34] hydrogenium:cinit-0.3pre6% cat /etc/cinit/svc/init/on.params -The initial service has been started. (first parameter) -Some other useful information. (second parameter) ----------------------------------------------------------------------- - -Name.env -~~~~~~~~ -The 'env' file contains the environment definition. -Specify one assignment on each line, containing only "variable=value". - -Example: ----------------------------------------------------------------------- -[18:00] hydrogenium:% cat /etc/cinit/svc/remote-services/tinydns/on.env -IP=192.168.42.23 ----------------------------------------------------------------------- - -eof - -List of executable files ------------------------- -This list shows you what files are executable for cinit. - -on / off -~~~~~~~~~ -The files `on` and `off` are executed if found within a service -definition. `on` is called when starting the service, `off` -is called when stoping it. - - -conf/panic -~~~~~~~~~~ -This file will be executed by cinit if it has to panic. -Panic situation may occur, when there are heavy problems -like failing memory allocation in core areas. You can -change the name of the file in the pre-compilation settings -in `conf/c_panic`. - -If `conf/panic` is missing and cinit has to panic, a builtin -panic action will be called (see `conf/sulogin`). - - -conf/halt -~~~~~~~~~ -`conf/halt` will be called when cinit has shutdown all services -and wants to halt the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_halt`. - - -conf/poweroff -~~~~~~~~~~~~~ -`conf/poweroff` will be called when cinit has shutdown all services -and wants to poweroff the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_poweroff`. - - -conf/reboot -~~~~~~~~~~~ -`conf/reboot` will be called when cinit has shutdown all services -and wants to reboot the system. - -You can change the name of the file in the pre-compilation settings -in `conf/c_reboot`. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/problems.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/problems.text deleted file mode 100644 index 6acbb058..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/problems.text +++ /dev/null @@ -1,114 +0,0 @@ -Problems using cinit -==================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-24 -:Author Initials: NS - - -Using a high-speed, true dependency aware, profile supporting -logical acting and reliable init system like cinit is not -completly problem free. This document describes some common -problems you may have and their solutions. - - -Possible problems ------------------ - -Confused users -~~~~~~~~~~~~~~ -Compared to traditional init systems like sys-v-init or bsd-init -cinit introduces a complet new boot concept. This does not just -mean that you have services instead of shell-scripts (which is -one reason cinit is starting up faster), but also that the boot -order may be changed dynamically at bootup:, if a service fails. -And even if no service fails, the boot order may be different -on each boot, because processes are started in parallel and -may return earlier or later on each boot. To coordinate the -parallel running processes, cinit uses depencies, which are pretty -easy to understad when configurung, but may need some more -detailled watching at boot to understand it. - -The 'confused users'-problem is perhaps also the biggest -problem for introducing cinit as a replacement to current -init systems. - - -Configuration issues -~~~~~~~~~~~~~~~~~~~~ - -Not marking services as respawn -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When cinit starts, it will wait for every service to exit. -So if you have a dependency on a service -that never exits, the whole init process may hang (dependending -on the dependencies). If you have services that are intendet -*not* to exit after start, you *have* to mark those with -`respawn`: Those services are started and watched by cinit -and will be restarted. This was a design choice to ensure -that all 'always running' processes *are* restarted. - -I did not find any service that should not exit and not -have a respawn flag. If you really really really have such -a service and you can prove to me that the respawn flag -would do harm to your system, I will think about implementing -a flag that tells cinit not to wait for it, but mark it -as successfully run after it has been started. - -User interaction -~~~~~~~~~~~~~~~~ - -User input -~~~~~~~~~~ -There may be the situation that you have to press a key -or enter some data when a service starts up (like entering -the password for your crypto harddisks). With cinit, this -will look like a mess, because other services may write to -the same console the service wrote a user prompt. - -The best solution for this problem is in my humble -opinion to create an user-input daemon that serialises -the requests and displays one after another. - -This could look like this: Your daemon wants to ask for -a passphrase for the SSL-certificate. You add aa needs -to this daemon to the 'input-daemon'. When you -start this service, it will contact the input-daemon -running on another virtual console and displaying a text -and an input field that is passed back to this service. -After that the input daemon changes back to the initial -console or asks for the next input, if there is another -request available. - -This input daemon may also be run on a graphical (X11) display. -. -Output to the user -~~~~~~~~~~~~~~~~~~ -When cinit starts up there may be many messages printed -out that also may look like printed random order. -To prevent your endusers from being confused you can create -some kind of graphical interface (like a framebuffer -or X11 display) that reads the output of cinit and converts -it to flashing images. It could look like this: - ----------------------------------------------------------------------- - - Your (graphical?) display: - -------------------------------------------------------------- - | /-----------------\ | - | | Red border, | | - | | failed to start | | - | \-----------------/ | - | | - | /------ | - | | Green border, | - | image van | - | | - | | - | | - | | - | | - | | - -------------------------------------------------------------- - - ----------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/profiles.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/profiles.text deleted file mode 100644 index ab4d3c4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/profiles.text +++ /dev/null @@ -1,79 +0,0 @@ -cinit - Profiles -================ -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2005-06-04 -:Author Initials: NS - - -cinit profiles described. - - -What are profiles? ------------------- -Profiles are different configurations for different scenarios. -This means you can use the 'home' profile to setup things -differently than at work, where you would use either -no profile (standard configuration) or the 'work' profile. - - -How to use profiles? ---------------------- -Simply pass 'cprofile:PROFILENAME' (like cprofile:home) to cinit. - - -How to pass argumenents to cinit? ---------------------------------- -How to pass arguments to your init system depends on your operating -system and on your bootloader. - -Linux -~~~~~ -Under Linux the init-system gets the kernel arguments -(see linux.kernel.eats.arguments) as arguments. -So you can use - - kernel /usr/src/linux/vmlinuz cprofile:work (grub1,grub2) - append="cprofile:work" (LILO,yaboot) - -Other Unices should work like Linux, please consult your local -documentation. - - -How to configure profiles? --------------------------- -It's very simple: Normally cinit would call /etc/cinit/svc/init as -the first service (with all its dependencies). If you pass 'cprofile=wireless' -to it, cinit will start from /etc/cinit/svc/wireless -instead. - -So the only thing you have to do is to create a service directory -below /etc/cinit/svc with the name of the profile you want to use. - -You can simply copy the init-dir and use it as a template: - - ei # cd /etc/cinit/svc; rsync -a init yourprofile - - Standard cp will copy the linked files, not the links, that's why I use rsync - You could also use tar: - - ei # cd /etc/cinit/svc/init; tar c . | (mkdir ../myprof; cd ../myprof; tar x ) - -That's it! - - -Some examples -------------- - -Here are some examples we found in #cLinux: - --------------------------------------------------------------------------------- - profile name what it does - - musibox only start mp3blaster - terminal start only minicom, which opens the serial line - net-terminal start a respawning shell script, which starts - ssh to the selected host - video start X+mplayer, which plays the dvd/cdrom - wireless What to start when beeing in an unknown wlan - home/work selected services (nfs, ip, ...) for home or work --------------------------------------------------------------------------------- diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/replacing.init b/software/cinit/browse_source/cinit-0.3pre9/doc/user/replacing.init deleted file mode 100644 index 2858c56c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/replacing.init +++ /dev/null @@ -1,13 +0,0 @@ --------------------------------------------------------------------------------- -replacing your current init system, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -Simply install cinit (make install), configure cinit -(see configuring.cinit), restart system using -cinit (see README/Installing) delete /sbin/init -and link, move or copy cinit to init (ln -s /sbin/cinit /sbin/init), reboot. - -That's everything in general, the biggest part will be to configuring cinit. - -See also doc/merging.other.initsystems. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/respawning-sleep.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/respawning-sleep.text deleted file mode 100644 index 24ed17e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/respawning-sleep.text +++ /dev/null @@ -1,52 +0,0 @@ -cinit - Respawning and sleeping -=============================== -Nico Schottelius -0.1, for cinit 0.3, Initial Version from 2007-04-13 -:Author Initials: NS - - -How cinit sleeps, before a service is respawned. - -Introduction ------------- -When a service, that is configured to be respawning, exits cinit restarts it. -Because services may be broken and thus cinit would try to restart it many -times in a second, it is necessary to sleep between restarts. - -The big question: How to sleep? ------------------------------------- -The first possibility is to sleep a fixed amount of time between restarts: -For instance one second. This is not a good solution, because this waits -one unecessary second if the process just crashed. It may be too less, if -the service is really broken. - -The second possibility is to sleep a dynamic amount of time. - - -The next big question: How long to sleep? ------------------------------------------ -I think that as long as a service is broken we should not investigate to much -time into restarting it. So we can define a maximum amount of time to sleep -(for instance 30 seconds). The minimum amount of time to sleep is zero seconds. - -When the service is first started, the sleep time defaults to the minimum -amount of time. Each time the service is restarted, the sleep time is adjusted: - -sleep time (st) = Maximum sleep time (mst) / Time the process was running (tr) - -- If tr is < 1 it is adjusted to 1 and thus st is set to mst. -- If tr is > mst, st is set to 0. - - -How to force restart of a service? ----------------------------------- -Use cvsc (to be implemented). - - -Hom is it implemented? ----------------------- -Everytime cinit has to respawn a service it has to fork() itself. -The sleep call is implemented in the fork, so cinit itself does not have -to care about it. After the sleep time is over or the fork() recieves -SIGALARM it executes the real service. cinit itself records as start time -the current time plus sleep time. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/special-services.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/special-services.text deleted file mode 100644 index 4367bed1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/special-services.text +++ /dev/null @@ -1,12 +0,0 @@ -at: - no non-forking mode -fsck: - returns non-zero if it repaired something. - You have to wrap it into a shell-script :-( - - #!/bin/sh - fsck $@ - [ $? -le 1 ] && exit 0 - exit 1 - -Non-zero exit in general diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/supported-os.text b/software/cinit/browse_source/cinit-0.3pre9/doc/user/supported-os.text deleted file mode 100644 index 97b29506..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/supported-os.text +++ /dev/null @@ -1,32 +0,0 @@ -Supported operating systems -=============== -Nico Schottelius -0.1, Initial Version from 2007-02-15 -:Author Initials: NS - -This document lists the supported operating systems. - - -Supported OS ------------- -This means currently that cinit compiles on that system - -Tested by the author -~~~~~~~~~~~~~~~~~~~~ -- GNU/Linux -- FreeBSD -- NetBSD - -Reported by others -~~~~~~~~~~~~~~~~~~ -[none] - -Unsupported OS --------------- - -OpenBSD -~~~~~~~ -Seems to not comply to Posix / XSI. Have a look at -http://home.schottelius.org/~nico/unix/openbsd/ftok-sys-ipc.h-problem. -This is a demo of the problem on OpenBSD 4.0 with cinit-0.3pre7-git. - diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/updating.cinit b/software/cinit/browse_source/cinit-0.3pre9/doc/user/updating.cinit deleted file mode 100644 index fc0d3fef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/updating.cinit +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- -updating cinit, -Nico Schottelius 2005-06-14 (Last Modified: 2005-06-14) --------------------------------------------------------------------------------- - -To exchange cinit without rebooting do the following: - - 1. install new cinit (make install) - 2. call cservice -u thilo (if you have cinit-0.1 or later) - - For older versions: - - 2. go to rescue mode (cservice -s thilo) - 3. re-exec cinit (exec /sbin/cinit) - -Attention: This will kill everything running and restart as if you would just - have booted. diff --git a/software/cinit/browse_source/cinit-0.3pre9/doc/user/using.rescue b/software/cinit/browse_source/cinit-0.3pre9/doc/user/using.rescue deleted file mode 100644 index f58ff512..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/doc/user/using.rescue +++ /dev/null @@ -1,30 +0,0 @@ --------------------------------------------------------------------------------- -How to use the rescue mode, -Nico Schottelius 2005-06-13 (Last Modified: 2005-06-13) --------------------------------------------------------------------------------- - -cinit knows of a so called "rescue mode" (other init systems also -name it "Single user"). - -In this rescue mode you have a shell. Exactly one shell. - -No getty, no daemon, nothing will be alive, not even cinit. - -You start the rescue mode either by - a) sending SIGUSR2 to cinit (kill -USR2 1) - b) using cservice (cservice -s thilo) - -You can do maintaining then. When you finished, you can either - a) hard-reboot/poweroff/halt - b) restart cinit and restart the system without needing to reboot - -In the later case, you simply have to replace your shell with -cinit. In most shells you can do that by entering the following: - -shell # exec /sbin/cinit - -This assumes that you left the system in a clean state: Exactly as -the kernel would start (Well, cinit may ignore if some things are there, -but do not wonder if some services will fail, if their job is already done.). - -Oh, and yes, you could even update cinit this way ;-) diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.build-env b/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.build-env deleted file mode 100644 index 94e093e9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.build-env +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: build environment to be used in scripts -# * Should be sourced by using scripts -# 2006-10-26 -# - -. $(dirname $0)/cinit.read-conf - -export BASEDIR=${DESTDIR}${CINIT_DIR} -export SERVICES=${BASEDIR}/${SVCDIR} -export CONFIG=${BASEDIR}/${CONFDIR} diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.get-confdir b/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.get-confdir deleted file mode 100644 index 38d8572d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.get-confdir +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# Date: 2005-05-24 (Last Changed: 2005-08-08) - -# try environment first -if [ "$CINIT_CONF_DIR" ]; then - CONFDIR=$CINIT_CONF_DIR -elif [ -d $(dirname $0)/../conf/ ]; then - CONFDIR=$(dirname $0)/../conf/ -else - echo 'Did not find cinit configuration!' >&2 - echo "Please set the variable CINIT_CONF_DIR" >&2 - exit 1 -fi - -echo $CONFDIR diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.install.standard.dirs b/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.install.standard.dirs deleted file mode 100644 index 22cf273d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.install.standard.dirs +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: install standard sub-configuration directories -# Date: 2005-08-07 -# - -. $(dirname $0)/cinit.build-env - -for svc in $SERVICE_CATEGORIES; do - "$INSTALL_PROG" "$INSTALL_DIRECTORY" "${SERVICES}/${svc}" -done - -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.mkheader b/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.mkheader deleted file mode 100644 index 80e3f7cf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.mkheader +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: create header file -# - - -CONFS=$($(dirname $0)/cinit.get-confdir)/../conf/* - -echo "/* Warning: Autogenerated by $0, do not edit. */" -for conf in $CONFS; do - NAME="$(basename $conf | tr a-z A-Z)" - value=$(head -n 1 $conf) - - # check if numeric: no quotes needed - is_numeric=$(echo $value | awk '/^((0[xX])[0-9a-fA-F]+)|([0-9]+)$/ { print }') - is_string="$(echo $value | grep '^"')" - - # - # Check for quote type - # - if [ ! "$is_numeric" -a ! "$is_string" ]; then - one_char=$(echo -n $value | wc -c) - - if [ "$one_char" -eq 1 ]; then - value="'$value'" - else - # is a string - value="\"$value\"" - fi - fi - echo "#define" "$NAME" "$value" -done diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.read-conf b/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.read-conf deleted file mode 100644 index 80a32463..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/cinit.read-conf +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# cinit: read configuration into variables -# ~ 2005 -# - -CONFS=$($(dirname $0)/cinit.get-confdir) - -set -e - -for conf in ${CONFS}/*; do - NAME="$(basename $conf | tr a-z A-Z)" - if eval test -z \$$NAME; then - eval $NAME=\"$(head -n 1 $conf)\" - eval export $NAME - fi -# eval echo $NAME = \$$NAME -done diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/create_baseconfig.sh b/software/cinit/browse_source/cinit-0.3pre9/scripts/create_baseconfig.sh deleted file mode 100644 index 7c9b69e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/create_baseconfig.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-10-23 -# cLinux/cinit - -. $(dirname $0)/cinit.build-env - -set -e - -mkdir -p "${BASEDIR}" - -mkdir -p "${SERVICES}" -mkdir -p "${SERVICES}/${C_INIT}" - -mkdir -p "${CONFIG}" diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/README b/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/README deleted file mode 100644 index 2162b6b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/README +++ /dev/null @@ -1 +0,0 @@ -Only to be used by Nico Schottelius. diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/cinit.release b/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/cinit.release deleted file mode 100644 index dc65c0a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/cinit.release +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Build release tar -# Date: Sat Oct 15 21:38:29 CEST 2005 -# Last Changed: ls -l - -# only release if I tell it to release -[ "$1" = "now" ] || exit 23 - -#if [ $# -ne 2 ]; then -# echo "This is a maintainer-only script to release cinit" -# echo $(basename $0): source-dir version -# exit 1 -#fi - -set -x - -DDIR="$(cd $(dirname $0)/../../../; pwd -P)" -DIR="$(cd $(dirname $0)/../../; pwd -P)" -RDIR=$(basename "$DIR") -REL_DIR="$(echo $DIR | sed 's;.*/;;')" -VERSION="$(cd "$DIR"; pwd -P | sed 's;.*/cinit-;;')" -VERSION_CONF="$(head -n1 $(dirname $0)/../../conf/version | sed 's/^"\(.*\)"$/\1/')" -VERSION_CHANGES="$(head -n1 "$(dirname $0)/../../CHANGES" | sed 's/cinit-\(.*\):$/\1/')" - -echo "=> Version directory: $VERSION" -echo "=> Version conf/version: $VERSION_CONF" -echo "=> Version CHANGES: $VERSION_CHANGES" - -if [ "$VERSION" = "$VERSION_CONF" -a "$VERSION" = "$VERSION_CHANGES" ]; then - echo "=> Version confirmed." -fi - -echo -n "=> Continue? " -read yes - -OUT_NAME="cinit-${VERSION}.tar.bz2" -D_HOST=home.schottelius.org -D_BASE=www/org/schottelius/unix/www/cinit -D_DIR=${D_BASE}/archives/ -D_SOURCE=${D_BASE}/browse_source/ -LINK=current - -if [ ! -d "$DIR" ]; then - echo "$DIR is not a directory" - exit 1 -fi - -( cd "$DIR" && make dist ) || exit 1 - -echo "Creating bzip2 compressed tar" -#tar cj -X $DIR/.exclude -C "$DDIR" -f "$OUT_NAME" "$REL_DIR" -cd $DDIR -tar cj -X $DIR/.exclude -f "$OUT_NAME" "$RDIR" -chmod 0644 "$OUT_NAME" -echo "Transfering to $D_HOST" -scp "$OUT_NAME" "$D_HOST:$D_DIR" -echo "Extracting to $D_SOURCE" -ssh "$D_HOST" "tar xfj $D_DIR/$OUT_NAME -C $D_SOURCE" -echo "Correcting paranoid permissions" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type f -exec chmod 0644 {} \\;" -ssh "$D_HOST" "find \"$D_SOURCE/$RDIR\" -type d -exec chmod 0755 {} \\;" -ssh "$D_HOST" "cd \"$D_SOURCE\" && rm -f \"$LINK\" && ln -s \"$DIR\" \"$LINK\"" -echo "Please do not forget to update the website..." diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/compile+run.sh b/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/compile+run.sh deleted file mode 100644 index 30ec68a6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/compile+run.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -if [ ! "$1" ]; then - echo "HOSTNAME" - exit 23 -fi - -host="$1" - -hier=$(dirname $0) - -$hier/compile_test.sh "$host" - -if [ $? -ne 0 ]; then - echo "aborting, did not compile on $1" - exit 1 -fi - -ssh "${host}" './cinit/src/cinit & (sleep 30; kill -9 $(pgrep cinit))' diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/compile_local.sh b/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/compile_local.sh deleted file mode 100644 index e2bfce5e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/compile_local.sh +++ /dev/null @@ -1,24 +0,0 @@ -# just a hack - -dir=$(dirname $0) - -sys=$(uname -s) -sys_small=$(echo $sys | tr '[A-Z]' '[a-z]') - -case $(uname -s) in - NetBSD|OpenBSD) - make=gmake - ;; - *) - make=make - ;; -esac - -cd "${dir}/../../" -echo $sys_small > conf/os -# automatically called by make.. -#./bin/cinit.configure.os - -cd "src" -$make clean -$make cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/compile_run_as_compiler.sh b/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/compile_run_as_compiler.sh deleted file mode 100644 index f1ba01d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/compile_run_as_compiler.sh +++ /dev/null @@ -1,14 +0,0 @@ -what=$(dirname $0)/../../ -what_real=$(cd "$what" && pwd -P) -dest=~compiler/cinit-test - -set -e -sudo rsync -av "${what_real}/" "$dest" -sudo chown -R compiler "$dest" -sudo -u compiler "${dest}/scripts/internal/compile_local.sh" -sudo -u compiler "${dest}/src/cinit" & -sleep 13 -sudo -u compiler "${dest}/scripts/internal/stop_cinit.sh" - -# exit 0 for make -exit 0 diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/compile_test.sh b/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/compile_test.sh deleted file mode 100644 index 335f31ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/compile_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# yah - yet another hack - -host="$1" -what=$(dirname $0)/../../ - -rsync --exclude .git --exclude \*.o -av "${what}" "${host}:cinit" -ssh "${host}" "./cinit/scripts/internal/compile_local.sh" diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/create_test_config.sh b/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/create_test_config.sh deleted file mode 100644 index 720ce969..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/create_test_config.sh +++ /dev/null @@ -1,18 +0,0 @@ -hier=$(dirname $0) - -set -e -${hier}/../cinit.install.standard.dirs -cat > /etc/cinit/svc/init/on << eof -#!/bin/sh -echo test1 -sleep 4 -echo test2 - \$@ -eof -chmod 0755 /etc/cinit/svc/init/on - -cat > /etc/cinit/svc/init/on.params << eof -es -scheint -zu -gehen -eof diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/find_right_version.sh b/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/find_right_version.sh deleted file mode 100644 index 759f23c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/find_right_version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -src="$(dirname $0)/../../" -src_abs=$(cd "$src" && pwd -P) - -for commit in $( git log --pretty=short | awk '/^commit/ { print $2 }'); do - set -e - cd "$src_abs" - temp=$(mktemp -d /tmp/cinit.XXXXXXXXXX) - git-archive --format=tar "$commit" | ( cd "$temp"; tar x ) - cd "${temp}/src" - set +e - make clean && make cinit && ./cinit - if [ "$?" -eq 0 ]; then - echo "Commit $commit is ok" - exit 0 - fi - echo "Broken $commit" - sleep 1 - set -e - rm -rf "$temp" -done - -exit 1 diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/stop_cinit.sh b/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/stop_cinit.sh deleted file mode 100644 index 86e4d82b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/stop_cinit.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Linux specific, but don't care, I am the only person that should use it - -killall -TERM cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/test_on_hosts.sh b/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/test_on_hosts.sh deleted file mode 100644 index e6df35ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/test_on_hosts.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# yah - -hosts="penrose.bsdprojects.net bot.unixkiste.org suckz.eu jiffies.forkbomb.ch" - -set -e - -for host in $hosts; do - echo "$1 on $host" - "$1" "$host" | sed "s/^/${host}: /" - echo "==> Finished $host" -done diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/valgrind b/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/valgrind deleted file mode 100644 index f769f9da..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/internal/valgrind +++ /dev/null @@ -1 +0,0 @@ -valgrind -v --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes --leak-resolution=high ./cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/scripts/report.compile b/software/cinit/browse_source/cinit-0.3pre9/scripts/report.compile deleted file mode 100644 index ac591412..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/scripts/report.compile +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# 2006-12-08 -# Report compile success -# - -echo "cinit compile success report" -echo "----------------------------" -"$(dirname $0)/cinit.mkheader" -echo "----------------------------" -uname -a -echo "----------------------------" -. "$(dirname $0)/cinit.read-conf" -echo '$CC' -"$CC" -v -echo "----------------------------" -echo -n "Size: " -ls -l "$(dirname $0)/../src/cinit" diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-14:54:44 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-14:54:44 deleted file mode 100644 index cb646bb8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-14:54:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 74380 Apr 26 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-16:47:50 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-16:47:50 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-16:47:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-16:48:48 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-16:48:48 deleted file mode 100644 index 204585a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-16:48:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581695 Apr 26 16:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-16:50:45 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-16:50:45 deleted file mode 100644 index 7a0db7d2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-16:50:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 581179 Apr 26 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-17:12:48 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-17:12:48 deleted file mode 100644 index d239e089..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-17:12:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582701 Apr 26 17:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-17:13:43 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-17:13:43 deleted file mode 100644 index aad49034..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 582297 Apr 26 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-23:05:33 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-23:05:33 deleted file mode 100644 index 4a636b8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-26-23:05:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 26 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-27-00:39:24 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-27-00:39:24 deleted file mode 100644 index e93028d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-27-00:39:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 36307 Apr 27 00:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:18:22 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:18:22 deleted file mode 100644 index f0d2e75f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:18:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:20:40 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:20:40 deleted file mode 100644 index 3b01bfe1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:20:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:23:25 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:23:25 deleted file mode 100644 index 750e3303..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:23:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585344 Apr 30 15:23 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:25:44 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:25:44 deleted file mode 100644 index 5ed85ca3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:25:44 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:32:43 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:32:43 deleted file mode 100644 index 3c54e71a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:32:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:32 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:33:37 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:33:37 deleted file mode 100644 index c24acefd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:33:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 585364 Apr 30 15:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:41:18 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:41:18 deleted file mode 100644 index b29d001c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-15:41:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586400 Apr 30 15:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-16:48:16 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-16:48:16 deleted file mode 100644 index 413bd06c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-16:48:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 587874 Apr 30 16:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:02:27 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:02:27 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:05:11 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:05:11 deleted file mode 100644 index c2e30760..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:05:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583878 Apr 30 17:05 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:06:15 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:06:15 deleted file mode 100644 index d11fe194..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:06:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583958 Apr 30 17:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:11:59 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:11:59 deleted file mode 100644 index 513f7663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:11:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583974 Apr 30 17:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:13:43 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:13:43 deleted file mode 100644 index 76110937..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-17:13:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 17:13 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-22:28:13 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-22:28:13 deleted file mode 100644 index 1370e416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-22:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584050 Apr 30 22:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-22:34:23 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-22:34:23 deleted file mode 100644 index ceba126c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-04-30-22:34:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583838 Apr 30 22:34 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:27:51 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:27:51 deleted file mode 100644 index b21e993d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584543 May 2 13:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:46:31 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:46:31 deleted file mode 100644 index 95c008db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:46:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584719 May 2 13:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:49:29 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:49:29 deleted file mode 100644 index 284469ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:49:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584775 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:49:58 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:49:58 deleted file mode 100644 index 9b87df79..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:49:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584843 May 2 13:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:52:20 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:52:20 deleted file mode 100644 index a4705b4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:52:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584711 May 2 13:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:55:50 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:55:50 deleted file mode 100644 index 847e1f56..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:55:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:58:14 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:58:14 deleted file mode 100644 index a9094c6f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:58:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584759 May 2 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:59:53 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:59:53 deleted file mode 100644 index 921e7860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-13:59:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 13:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-14:00:26 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-14:00:26 deleted file mode 100644 index aeb6907a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-14:00:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 584915 May 2 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-14:04:19 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-14:04:19 deleted file mode 100644 index 138af335..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-02-14:04:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 583802 May 2 14:04 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-15:47:56 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-15:47:56 deleted file mode 100644 index 87f3513e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-15:47:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586826 May 6 15:47 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:02:41 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:02:41 deleted file mode 100644 index 85073f60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:02:41 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586774 May 6 20:02 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:40:55 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:40:55 deleted file mode 100644 index 34e3fd85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:40:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586578 May 6 20:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:44:39 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:44:39 deleted file mode 100644 index 2b6d7b2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:44:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586594 May 6 20:44 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:48:57 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:48:57 deleted file mode 100644 index 55fa5821..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:48:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586646 May 6 20:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:49:46 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:49:46 deleted file mode 100644 index 533c3fd6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:49:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586546 May 6 20:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:54:45 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:54:45 deleted file mode 100644 index bffbdd24..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:54:45 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:57:17 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:57:17 deleted file mode 100644 index 071f56c6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-20:57:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586354 May 6 20:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-21:07:11 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-21:07:11 deleted file mode 100644 index 2c71d62b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-21:07:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 586414 May 6 21:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:22:43 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:22:43 deleted file mode 100644 index 6963a07e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:22:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:22 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:39:12 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:39:12 deleted file mode 100644 index 90e36387..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:39:12 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590128 May 6 22:39 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:43:21 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:43:21 deleted file mode 100644 index 9f5f1b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:43:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:56:58 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:56:58 deleted file mode 100644 index 5c7685ba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:56:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590148 May 6 22:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:58:39 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:58:39 deleted file mode 100644 index 4720079f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:58:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590180 May 6 22:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:59:17 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:59:17 deleted file mode 100644 index d7c4fd66..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-22:59:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590232 May 6 22:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-23:19:24 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-23:19:24 deleted file mode 100644 index cd0fb013..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-23:19:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 590364 May 6 23:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-23:53:59 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-23:53:59 deleted file mode 100644 index 873c4553..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-06-23:53:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 83116 May 6 23:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:18:32 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:18:32 deleted file mode 100644 index 00b835d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:18:32 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591984 May 7 00:18 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:20:46 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:20:46 deleted file mode 100644 index 3b1a8332..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:20:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:24:11 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:24:11 deleted file mode 100644 index cb129627..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:24:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:26:55 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:26:55 deleted file mode 100644 index d681556a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:26:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:27:53 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:27:53 deleted file mode 100644 index b1ac1360..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:27:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:27 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:28:24 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:28:24 deleted file mode 100644 index df645c5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:28:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:37:58 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:37:58 deleted file mode 100644 index a5eaa893..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:37:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591992 May 7 00:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:41:50 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:41:50 deleted file mode 100644 index 634db82e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:41:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591988 May 7 00:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:55:51 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:55:51 deleted file mode 100644 index 2066a3b4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:55:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:55 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:59:30 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:59:30 deleted file mode 100644 index 03900b64..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-00:59:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 00:59 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:07:13 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:07:13 deleted file mode 100644 index f2b3d846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:07:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:08:19 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:08:19 deleted file mode 100644 index 17cb5c2b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:08:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574191 May 7 01:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:16:38 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:16:38 deleted file mode 100644 index 9433ec26..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:16:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:16 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:19:48 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:19:48 deleted file mode 100644 index 0c40f566..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:19:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592323 May 7 01:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:52:58 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:52:58 deleted file mode 100644 index 1aaadbc1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-01:52:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592343 May 7 01:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:41:29 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:41:29 deleted file mode 100644 index 2be2f9a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:41:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591445 May 7 12:41 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:43:55 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:43:55 deleted file mode 100644 index 30ec92e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:43:55 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:43 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:45:38 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:45:38 deleted file mode 100644 index c5d8b280..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:45:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:45 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:48:21 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:48:21 deleted file mode 100644 index 2525b992..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:48:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:48 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:49:22 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:49:22 deleted file mode 100644 index aafaa448..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:49:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591525 May 7 12:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:50:57 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:50:57 deleted file mode 100644 index 689e0fd2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:50:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591589 May 7 12:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:52:26 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:52:26 deleted file mode 100644 index b7771920..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:52:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591729 May 7 12:52 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:57:56 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:57:56 deleted file mode 100644 index 271bb163..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-12:57:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591933 May 7 12:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:06:20 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:06:20 deleted file mode 100644 index d2c651e8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:06:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 591981 May 7 13:06 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:21:37 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:21:37 deleted file mode 100644 index 8d92e4f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:21:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:21 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:24:40 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:24:40 deleted file mode 100644 index a025210f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:24:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:25:56 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:25:56 deleted file mode 100644 index 15de8275..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:25:56 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 592137 May 7 13:25 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:26:49 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:26:49 deleted file mode 100644 index fa232442..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:26:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593597 May 7 13:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:30:20 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:30:20 deleted file mode 100644 index 37d26b60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:30:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:30 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:33:50 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:33:50 deleted file mode 100644 index 3a8a3343..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:33:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 593613 May 7 13:33 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:51:24 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:51:24 deleted file mode 100644 index 139a41ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:51:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595209 May 7 13:51 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:53:11 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:53:11 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:53:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:53:22 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:53:22 deleted file mode 100644 index a4a9383c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:53:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594213 May 7 13:53 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:57:27 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:57:27 deleted file mode 100644 index 4d0c5820..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:57:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594245 May 7 13:57 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:58:26 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:58:26 deleted file mode 100644 index f62f9890..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-13:58:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594201 May 7 13:58 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:00:47 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:00:47 deleted file mode 100644 index 1b1c2687..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:00:47 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:00 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:12:17 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:12:17 deleted file mode 100644 index eb6c69a8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:12:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 594209 May 7 14:12 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:40:38 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:40:38 deleted file mode 100644 index 5cce7d61..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:40:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597457 May 7 14:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:46:22 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:46:22 deleted file mode 100644 index 17920fb6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:46:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597349 May 7 14:46 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:49:20 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:49:20 deleted file mode 100644 index be0db14c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:49:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597465 May 7 14:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:54:30 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:54:30 deleted file mode 100644 index a7bb306d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:54:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:54 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:56:35 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:56:35 deleted file mode 100644 index 2a3d7b76..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-14:56:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 597521 May 7 14:56 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:11:31 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:11:31 deleted file mode 100644 index 6d39491b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:11:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 65883 May 7 15:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:19:50 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:19:50 deleted file mode 100644 index f6cbfa60..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:19:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:19 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:20:58 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:20:58 deleted file mode 100644 index 44f8ed6e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:20:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600423 May 7 15:20 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:24:21 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:24:21 deleted file mode 100644 index ac80b6cc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:24:21 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600487 May 7 15:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:28:54 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:28:54 deleted file mode 100644 index c010ebe3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:28:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600483 May 7 15:28 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:40:58 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:40:58 deleted file mode 100644 index 97b6ef8b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-15:40:58 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600479 May 7 15:40 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:11:52 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:11:52 deleted file mode 100644 index f4b32610..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:11:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 601444 May 7 16:11 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:26:18 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:26:18 deleted file mode 100644 index a52756b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:26:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:26 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:35:42 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:35:42 deleted file mode 100644 index 601a1bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:35:42 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602192 May 7 16:35 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:50:11 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:50:11 deleted file mode 100644 index 4c5693a0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:50:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602260 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:50:40 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:50:40 deleted file mode 100644 index 1a1cd156..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-16:50:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 16:50 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-17:03:50 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-17:03:50 deleted file mode 100644 index 8b6f5a43..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-17:03:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602248 May 7 17:03 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-17:07:50 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-17:07:50 deleted file mode 100644 index d19fc7ae..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-17:07:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 596181 May 7 17:07 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-17:08:26 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-17:08:26 deleted file mode 100644 index de1d5756..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-17:08:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575617 May 7 17:08 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-17:10:57 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-17:10:57 deleted file mode 100644 index ccf3d46e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-17:10:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 17:10 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-18:24:22 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-18:24:22 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-18:24:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-18:24:59 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-18:24:59 deleted file mode 100644 index 9b515805..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-18:24:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575513 May 7 18:24 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-18:37:23 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-18:37:23 deleted file mode 100644 index 4c797f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-18:37:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 575521 May 7 18:37 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-18:49:16 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-18:49:16 deleted file mode 100644 index f6a6637e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-07-18:49:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 26118 May 7 18:49 cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-12:41:22 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-12:41:22 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-12:42:57 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-12:42:57 deleted file mode 100644 index 60f39860..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-12:42:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 12:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-22:41:37 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-22:41:37 deleted file mode 100644 index eeb969f5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-22:41:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 574244 May 8 22:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-23:03:37 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-23:03:37 deleted file mode 100644 index 7b69f761..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-23:03:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 595364 May 8 23:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-23:11:20 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-23:11:20 deleted file mode 100644 index b79e90ca..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-23:11:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600779 May 8 23:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-23:40:29 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-23:40:29 deleted file mode 100644 index 6cf221bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-08-23:40:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600887 May 8 23:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-09-12:03:27 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-09-12:03:27 deleted file mode 100644 index 78304c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-09-12:03:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600967 May 9 12:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-09-12:05:57 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-09-12:05:57 deleted file mode 100644 index a810ae44..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-09-12:05:57 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600971 May 9 12:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-19:10:50 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-19:10:50 deleted file mode 100644 index e8e895de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-19:10:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 600979 May 10 19:10 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-19:16:39 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-19:16:39 deleted file mode 100644 index 14426e45..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-19:16:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-19:26:14 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-19:26:14 deleted file mode 100644 index c1ba5203..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-19:26:14 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 602483 May 10 19:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-19:39:23 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-19:39:23 deleted file mode 100644 index 9b30a737..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-19:39:23 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 603383 May 10 19:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:13:51 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:13:51 deleted file mode 100644 index 81fab8bc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:13:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 10 20:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:14:40 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:14:40 deleted file mode 100644 index f73e7147..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:14:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:27:10 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:27:10 deleted file mode 100644 index a7fa3a2e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:27:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604511 May 10 20:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:28:11 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:28:11 deleted file mode 100644 index e3597646..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:28:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604507 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:28:31 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:28:31 deleted file mode 100644 index f5b63078..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:28:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:32:29 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:32:29 deleted file mode 100644 index b46425f9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:32:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:33:30 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:33:30 deleted file mode 100644 index ad3cb32e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:33:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604471 May 10 20:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:38:26 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:38:26 deleted file mode 100644 index b78fde41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-20:38:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604245 May 10 20:38 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-21:52:18 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-21:52:18 deleted file mode 100644 index 5319df7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-21:52:18 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604533 May 10 21:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-22:06:53 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-22:06:53 deleted file mode 100644 index 34791fa3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-22:06:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604641 May 10 22:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-22:24:49 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-22:24:49 deleted file mode 100644 index 0d88b035..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-22:24:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95668 May 10 22:24 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-22:27:59 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-22:27:59 deleted file mode 100644 index a2b8778b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-22:27:59 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95400 May 10 22:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-22:30:25 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-22:30:25 deleted file mode 100644 index ae278de2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-22:30:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95456 May 10 22:30 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-23:42:29 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-23:42:29 deleted file mode 100644 index 11bcf1e3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-23:42:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606417 May 10 23:42 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-23:44:10 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-23:44:10 deleted file mode 100644 index 6ffc3a31..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-23:44:10 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606369 May 10 23:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-23:46:40 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-23:46:40 deleted file mode 100644 index e3aa20c0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-10-23:46:40 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 606373 May 10 23:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-00:17:19 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-00:17:19 deleted file mode 100644 index fdaa4339..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-00:17:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 604923 May 11 00:17 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-00:23:52 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-00:23:52 deleted file mode 100644 index 7e94e61a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-00:23:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605007 May 11 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-08:04:16 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-08:04:16 deleted file mode 100644 index 33d8fd01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-08:04:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-08:06:26 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-08:06:26 deleted file mode 100644 index c96a3211..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-08:06:26 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95830 May 11 08:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-08:09:49 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-08:09:49 deleted file mode 100644 index 0e444a28..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-08:09:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95854 May 11 08:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-08:11:49 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-08:11:49 deleted file mode 100644 index 856ac480..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-11-08:11:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95862 May 11 08:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-13-20:34:19 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-13-20:34:19 deleted file mode 100644 index 86818bfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-13-20:34:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 69502 May 13 20:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-13-22:33:53 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-13-22:33:53 deleted file mode 100644 index 77c8fb8c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-13-22:33:53 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 579289 May 13 22:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:20:52 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:20:52 deleted file mode 100644 index a053d473..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:20:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605317 May 16 00:20 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:23:43 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:23:43 deleted file mode 100644 index d43f64a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605373 May 16 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:27:36 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:27:36 deleted file mode 100644 index ca2ccc40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:27:36 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605569 May 16 00:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:37:24 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:37:24 deleted file mode 100644 index ea664c90..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:37:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 00:37 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:39:43 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:39:43 deleted file mode 100644 index 3eb8d279..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-00:39:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605267 May 16 00:39 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-10:14:43 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-10:14:43 deleted file mode 100644 index d7555f0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-10:14:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605461 May 16 10:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-10:27:48 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-10:27:48 deleted file mode 100644 index b8f9fc63..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-10:27:48 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605493 May 16 10:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-10:44:17 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-10:44:17 deleted file mode 100644 index a4b493e5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-10:44:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:44 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-10:52:29 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-10:52:29 deleted file mode 100644 index 20f10201..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-16-10:52:29 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605561 May 16 10:52 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-17-00:19:15 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-17-00:19:15 deleted file mode 100644 index 4f112228..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-17-00:19:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 00:19 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-17-16:02:33 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-17-16:02:33 deleted file mode 100644 index e1b6b2d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-17-16:02:33 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 605405 May 17 16:02 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:01:28 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:01:28 deleted file mode 100644 index f084d66c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:01:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97550 May 21 15:01 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:03:46 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:03:46 deleted file mode 100644 index 3300d96b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:03:46 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97546 May 21 15:03 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:06:24 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:06:24 deleted file mode 100644 index c07965d9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:06:24 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95186 May 21 15:06 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:12:50 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:12:50 deleted file mode 100644 index 58d948d6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:12:50 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:14:38 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:14:38 deleted file mode 100644 index a54dbd5f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:14:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:15:28 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:15:28 deleted file mode 100644 index fb57cba5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:15:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:15 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:16:15 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:16:15 deleted file mode 100644 index 7411b66d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:16:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:16 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:26:25 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:26:25 deleted file mode 100644 index 48fc5eb9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:26:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:26 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:27:30 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:27:30 deleted file mode 100644 index f9ceed5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:27:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97562 May 21 15:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:32:52 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:32:52 deleted file mode 100644 index 9e7e39a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:32:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97622 May 21 15:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:36:19 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:36:19 deleted file mode 100644 index 8f465621..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-15:36:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97638 May 21 15:36 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:05:20 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:05:20 deleted file mode 100644 index fdd3f0f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:05:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95350 May 21 17:05 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:08:31 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:08:31 deleted file mode 100644 index ee8a1e86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:08:31 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95358 May 21 17:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:11:25 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:11:25 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:11:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:12:15 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:12:15 deleted file mode 100644 index 164d40ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:12:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95334 May 21 17:11 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:12:49 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:12:49 deleted file mode 100644 index 125b84d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:12:49 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 95422 May 21 17:12 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:33:25 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:33:25 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:33:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:47:39 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:47:39 deleted file mode 100644 index 2c6102d8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:47:39 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97722 May 21 17:33 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:47:52 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:47:52 deleted file mode 100644 index f86bd095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-21-17:47:52 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 21 17:47 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-23-21:04:37 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-23-21:04:37 deleted file mode 100644 index e9159f80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-23-21:04:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71102 May 23 21:04 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-26-07:55:38 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-26-07:55:38 deleted file mode 100644 index d814eb2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-26-07:55:38 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97762 May 26 07:55 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-26-08:27:51 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-26-08:27:51 deleted file mode 100644 index 3d6940fd..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-26-08:27:51 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-26-08:32:19 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-26-08:32:19 deleted file mode 100644 index 1528030b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-26-08:32:19 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 97923 May 26 08:32 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-27-05:51:30 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-27-05:51:30 deleted file mode 100644 index 9f0f1c2a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-05-27-05:51:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 May 27 05:51 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-04-00:23:43 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-04-00:23:43 deleted file mode 100644 index 0fbb4e6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-04-00:23:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 4 00:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-04-10:08:43 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-04-10:08:43 deleted file mode 100644 index 13fa7ebf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-04-10:08:43 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53748 Jun 4 10:08 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-04-10:54:35 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-04-10:54:35 deleted file mode 100644 index 2af16040..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-04-10:54:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53692 Jun 4 10:54 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-05-12:34:54 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-05-12:34:54 deleted file mode 100644 index bde025a7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-05-12:34:54 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:34 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-05-12:41:25 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-05-12:41:25 deleted file mode 100644 index 8069fae4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-05-12:41:25 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 5 12:41 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-05-14:40:37 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-05-14:40:37 deleted file mode 100644 index bba7655d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-05-14:40:37 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 14692 Jun 5 14:40 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-08-09:48:34 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-08-09:48:34 deleted file mode 100644 index 8f26ae30..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-08-09:48:34 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48484 Jun 8 09:48 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-08-10:09:27 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-08-10:09:27 deleted file mode 100644 index e1eeb6a9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-08-10:09:27 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 48480 Jun 8 10:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-09:59:47 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-09:59:47 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-10:00:40 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-10:00:40 deleted file mode 100644 index e69de29b..00000000 diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-11:27:17 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-11:27:17 deleted file mode 100644 index 2b821ff2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-11:27:17 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53652 Jun 9 11:27 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-11:28:30 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-11:28:30 deleted file mode 100644 index 66dcc65d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-11:28:30 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 53660 Jun 9 11:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-11:46:28 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-11:46:28 deleted file mode 100644 index f106b674..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-09-11:46:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 9 11:46 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-10-07:07:35 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-10-07:07:35 deleted file mode 100644 index 9c72c2f8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-10-07:07:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 52576 Jun 10 07:07 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-10-18:14:28 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-10-18:14:28 deleted file mode 100644 index 6b4262c7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-10-18:14:28 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 71206 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-10-18:18:11 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-10-18:18:11 deleted file mode 100644 index fb6745a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-10-18:18:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 10 18:14 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-11-16:28:13 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-11-16:28:13 deleted file mode 100644 index 7fb4b100..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-11-16:28:13 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 16:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-11-19:13:20 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-11-19:13:20 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-11-19:13:20 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-11-19:22:16 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-11-19:22:16 deleted file mode 100644 index cc6a8ef3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-11-19:22:16 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:13 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-11-19:25:11 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-11-19:25:11 deleted file mode 100644 index 68e12d0e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-11-19:25:11 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50856 Jun 11 19:25 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-12-18:09:22 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-12-18:09:22 deleted file mode 100644 index 82ce820c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-12-18:09:22 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 50860 Jun 12 18:09 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-13-13:28:35 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-13-13:28:35 deleted file mode 100644 index b744b7e4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-13-13:28:35 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46764 Jun 13 13:28 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-13-21:23:15 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-13-21:23:15 deleted file mode 100644 index 4bcdddba..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-13-21:23:15 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico users 46868 Jun 13 21:23 sbin/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-13-21:26:52 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-13-21:26:52 deleted file mode 100644 index b88d9416..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-13-21:26:52 +++ /dev/null @@ -1,3 +0,0 @@ -total 88 --rwx------ 1 nico users 46868 Jun 13 21:26 cinit --rwx------ 1 nico users 38568 Jun 13 21:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-13-21:57:26 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-13-21:57:26 deleted file mode 100644 index d8953654..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-13-21:57:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 46868 Jun 13 21:57 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-06:35:49 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-06:35:49 deleted file mode 100644 index 91ebffd7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-06:35:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 92 --rwx------ 1 nico users 47044 Jun 14 06:35 cinit --rwx------ 1 nico users 44148 Jun 13 21:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-09:51:51 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-09:51:51 deleted file mode 100644 index 11a36249..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-09:51:51 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52236 Jun 14 09:51 cinit --rwx------ 1 nico users 47356 Jun 14 09:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-09:58:58 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-09:58:58 deleted file mode 100644 index a6d36a9c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-09:58:58 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52324 Jun 14 09:58 cinit --rwx------ 1 nico users 47356 Jun 14 09:58 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-13:16:40 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-13:16:40 deleted file mode 100644 index a4445099..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-13:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 52692 Jun 14 13:16 cinit --rwx------ 1 nico users 47324 Jun 14 13:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-13:21:47 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-13:21:47 deleted file mode 100644 index 80015aa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-13:21:47 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:21 cinit --rwx------ 1 nico users 47324 Jun 14 13:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-13:26:18 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-13:26:18 deleted file mode 100644 index 74b71d92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-14-13:26:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 14 13:26 cinit --rwx------ 1 nico users 47324 Jun 14 13:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-06:38:49 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-06:38:49 deleted file mode 100644 index 7cb89e92..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-06:38:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 06:38 cinit --rwx------ 1 nico users 47324 Jun 15 06:38 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-09:17:57 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-09:17:57 deleted file mode 100644 index efff0d89..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-09:17:57 +++ /dev/null @@ -1,2 +0,0 @@ -total 48 --rwx------ 1 nico users 47324 Jun 15 08:46 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-11:13:26 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-11:13:26 deleted file mode 100644 index a6d7b57a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-11:13:26 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:13 cinit --rwx------ 1 nico users 48196 Jun 15 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-11:16:39 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-11:16:39 deleted file mode 100644 index 6e551c3f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-11:16:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:16 cinit --rwx------ 1 nico users 48196 Jun 15 11:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-11:30:39 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-11:30:39 deleted file mode 100644 index c6962be4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-11:30:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:30 cinit --rwx------ 1 nico users 48180 Jun 15 11:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-11:31:16 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-11:31:16 deleted file mode 100644 index 54d722c8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-11:31:16 +++ /dev/null @@ -1,3 +0,0 @@ -total 104 --rwx------ 1 nico users 54956 Jun 15 11:31 cinit --rwx------ 1 nico users 48180 Jun 15 11:31 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-14:08:57 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-14:08:57 deleted file mode 100644 index b4a1905c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-14:08:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:08 cinit --rwx------ 1 nico users 50860 Jun 15 14:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-14:19:46 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-14:19:46 deleted file mode 100644 index 4b9133d4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-14:19:46 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 14:19 cinit --rwx------ 1 nico users 50860 Jun 15 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-20:37:50 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-20:37:50 deleted file mode 100644 index 1196c864..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-15-20:37:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 15 20:37 cinit --rwx------ 1 nico users 50860 Jun 15 20:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-16-14:18:59 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-16-14:18:59 deleted file mode 100644 index 82a8e92a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-16-14:18:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 100 --rwx------ 1 nico users 51800 Jun 16 14:18 cinit --rwx------ 1 nico users 47568 Jun 16 14:18 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-16-14:19:22 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-16-14:19:22 deleted file mode 100644 index 14d12028..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-16-14:19:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 16 14:19 cinit --rwx------ 1 nico users 46760 Jun 16 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-17-19:03:48 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-17-19:03:48 deleted file mode 100644 index e379e004..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-17-19:03:48 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 17 19:03 cinit --rwx------ 1 nico users 46760 Jun 17 19:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-20-12:16:40 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-20-12:16:40 deleted file mode 100644 index 1f0c3325..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-20-12:16:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 20 12:16 cinit --rwx------ 1 nico users 50860 Jun 20 12:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-20-15:16:31 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-20-15:16:31 deleted file mode 100644 index 75dc3e7a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-20-15:16:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 15:16 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-20-16:29:28 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-20-16:29:28 deleted file mode 100644 index 1294bde5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-20-16:29:28 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 15:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-20-16:29:50 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-20-16:29:50 deleted file mode 100644 index 69fe7490..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-20-16:29:50 +++ /dev/null @@ -1,3 +0,0 @@ -total 136 --rwx------ 1 nico users 68355 Jun 20 16:29 cinit --rwx------ 1 nico users 66247 Jun 20 16:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-21-11:53:35 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-21-11:53:35 deleted file mode 100644 index 4a1e7b6d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-21-11:53:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 192 --rwx------ 1 nico users 102039 Jun 21 11:53 cinit --rwx------ 1 nico users 87871 Jun 21 11:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-07:33:11 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-07:33:11 deleted file mode 100644 index e6c8ff14..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-07:33:11 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47544 Jun 22 07:33 cinit --rwx------ 1 nico users 46760 Jun 22 07:33 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-07:57:13 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-07:57:13 deleted file mode 100644 index 17161d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-07:57:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47536 Jun 22 07:57 cinit --rwx------ 1 nico users 46760 Jun 22 07:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-08:08:40 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-08:08:40 deleted file mode 100644 index 770083f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-08:08:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47424 Jun 22 08:08 cinit --rwx------ 1 nico users 46760 Jun 22 08:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-08:30:42 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-08:30:42 deleted file mode 100644 index aa95fb3c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-08:30:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47360 Jun 22 08:30 cinit --rwx------ 1 nico users 46760 Jun 22 08:30 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-09:19:42 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-09:19:42 deleted file mode 100644 index 70c261bb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-09:19:42 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 09:19 cinit --rwx------ 1 nico users 50860 Jun 22 09:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-10:43:24 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-10:43:24 deleted file mode 100644 index b8bc4076..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-10:43:24 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 22 10:43 cinit --rwx------ 1 nico users 50860 Jun 22 10:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-12:42:57 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-12:42:57 deleted file mode 100644 index c8119859..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-12:42:57 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47568 Jun 22 12:42 cinit --rwx------ 1 nico users 46760 Jun 22 12:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-13:52:41 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-13:52:41 deleted file mode 100644 index 793b92fa..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-13:52:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:52 cinit --rwx------ 1 nico users 46760 Jun 22 13:52 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-13:59:40 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-13:59:40 deleted file mode 100644 index d114c557..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-13:59:40 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47624 Jun 22 13:59 cinit --rwx------ 1 nico users 46760 Jun 22 13:59 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-14:19:41 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-14:19:41 deleted file mode 100644 index 8d56882f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-14:19:41 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47640 Jun 22 14:19 cinit --rwx------ 1 nico users 46760 Jun 22 14:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-14:37:18 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-14:37:18 deleted file mode 100644 index b7c3e4c2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-22-14:37:18 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 22 14:37 cinit --rwx------ 1 nico users 46760 Jun 22 14:37 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-23-06:22:23 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-23-06:22:23 deleted file mode 100644 index 9e38a5e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-23-06:22:23 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47648 Jun 23 06:22 cinit --rwx------ 1 nico users 46760 Jun 23 06:22 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-24-17:53:55 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-24-17:53:55 deleted file mode 100644 index 3b750eaf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-24-17:53:55 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:53 cinit --rwx------ 1 nico users 46760 Jun 24 17:53 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-24-17:55:29 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-24-17:55:29 deleted file mode 100644 index c30dcaf6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-24-17:55:29 +++ /dev/null @@ -1,3 +0,0 @@ -total 96 --rwx------ 1 nico users 47720 Jun 24 17:55 cinit --rwx------ 1 nico users 46760 Jun 24 17:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-26-13:19:49 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-26-13:19:49 deleted file mode 100644 index a4de830b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-06-26-13:19:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jun 26 13:19 cinit --rwx------ 1 nico users 50860 Jun 26 13:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:07:13 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:07:13 deleted file mode 100644 index e2c59ddf..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:07:13 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:07 cinit --rwx------ 1 nico users 50860 Jul 6 08:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:12:20 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:12:20 deleted file mode 100644 index e562350c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:12:20 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:12 cinit --rwx------ 1 nico users 50860 Jul 6 08:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:13:39 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:13:39 deleted file mode 100644 index 32fd8268..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:13:39 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:13 cinit --rwx------ 1 nico users 50860 Jul 6 08:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:14:19 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:14:19 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:14:19 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:14:59 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:14:59 deleted file mode 100644 index f68919a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:14:59 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:14 cinit --rwx------ 1 nico users 50860 Jul 6 08:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:15:56 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:15:56 deleted file mode 100644 index cf26e6f7..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-08:15:56 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 08:15 cinit --rwx------ 1 nico users 50860 Jul 6 08:15 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-10:12:22 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-10:12:22 deleted file mode 100644 index d5f0f2c4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-10:12:22 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:08 cinit --rwx------ 1 nico users 50860 Jul 6 10:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-10:12:31 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-10:12:31 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-10:12:31 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-10:12:49 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-10:12:49 deleted file mode 100644 index 6bd138ad..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-07-06-10:12:49 +++ /dev/null @@ -1,3 +0,0 @@ -total 108 --rwx------ 1 nico users 54956 Jul 6 10:12 cinit --rwx------ 1 nico users 50860 Jul 6 10:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-08-29-21:21:34 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-08-29-21:21:34 deleted file mode 100644 index e651a8ed..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-08-29-21:21:34 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 root root 444508 2005-08-29 21:21 cinit --rwx------ 1 root root 440412 2005-08-29 21:21 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-08-29-23:50:55 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-08-29-23:50:55 deleted file mode 100644 index a279aee3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-08-29-23:50:55 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 856 --rwx------ 1 nico nico 437564 2005-08-29 23:50 cinit --rwx------ 1 nico nico 436316 2005-08-29 23:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-03:36:59 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-03:36:59 deleted file mode 100644 index 01e555f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-03:36:59 +++ /dev/null @@ -1,3 +0,0 @@ -insgesamt 868 --rwx------ 1 nico nico 444508 2005-09-03 03:36 cinit --rwx------ 1 nico nico 440412 2005-09-03 03:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-04:34:35 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-04:34:35 deleted file mode 100644 index 1832930a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-04:34:35 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 04:34 cinit --rwx------ 1 nico nico 440412 Sep 3 04:34 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-05:51:17 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-05:51:17 deleted file mode 100644 index 4e465d06..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-05:51:17 +++ /dev/null @@ -1,3 +0,0 @@ -total 868 --rwx------ 1 nico nico 444508 Sep 3 05:51 cinit --rwx------ 1 nico nico 440412 Sep 3 05:51 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-05:54:20 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-05:54:20 deleted file mode 100644 index 9c040d29..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-05:54:20 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwx------ 1 nico nico 440412 Sep 3 05:54 ccontrol --rwx------ 1 nico nico 444508 Sep 3 05:54 cinit --rwx------ 1 nico nico 440412 Sep 3 05:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-09:01:59 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-09:01:59 deleted file mode 100644 index 880422a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-03-09:01:59 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 3 09:01 ccontrol --rwxr-xr-x 1 root root 444508 Sep 3 09:01 cinit --rwxr-xr-x 1 root root 440412 Sep 3 09:01 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-05-19:41:12 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-05-19:41:12 deleted file mode 100644 index 0f07d86e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-05-19:41:12 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 root root 440412 2005-09-05 19:41 ccontrol --rwx------ 1 root root 444508 2005-09-05 19:41 cinit --rwx------ 1 root root 440412 2005-09-05 19:41 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-05-19:50:35 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-05-19:50:35 deleted file mode 100644 index 32ff19fb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-05-19:50:35 +++ /dev/null @@ -1,4 +0,0 @@ -total 1300 --rwxr-xr-x 1 root root 440412 Sep 5 19:50 ccontrol --rwxr-xr-x 1 root root 444508 Sep 5 19:50 cinit --rwxr-xr-x 1 root root 440412 Sep 5 19:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-24-01:42:38 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-24-01:42:38 deleted file mode 100644 index 0da6126e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-24-01:42:38 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-09-24 01:42 ccontrol --rwx------ 1 nico nico 437628 2005-09-24 01:42 cinit --rwx------ 1 nico nico 436316 2005-09-24 01:42 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-30-22:50:50 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-30-22:50:50 deleted file mode 100644 index 0d510174..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-30-22:50:50 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 22:50 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 22:50 cinit --rwx------ 1 nico nico 436316 2005-09-30 22:50 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-30-23:06:39 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-30-23:06:39 deleted file mode 100644 index 23450914..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-09-30-23:06:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-09-30 23:06 ccontrol --rwx------ 1 nico nico 437340 2005-09-30 23:06 cinit --rwx------ 1 nico nico 436316 2005-09-30 23:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-01-22:09:13 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-01-22:09:13 deleted file mode 100644 index a62b9eb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-01-22:09:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1288 --rwx------ 1 nico nico 436316 2005-10-01 22:09 ccontrol --rwx------ 1 nico nico 437308 2005-10-01 22:09 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-01-22:17:39 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-01-22:17:39 deleted file mode 100644 index b1d8b11b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-01-22:17:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-01 22:17 ccontrol --rwx------ 1 nico nico 437532 2005-10-01 22:17 cinit --rwx------ 1 nico nico 436316 2005-10-01 22:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-11:12:29 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-11:12:29 deleted file mode 100644 index e5f7b13d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-11:12:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:12 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-11:13:35 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-11:13:35 deleted file mode 100644 index d7c14471..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-11:13:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1300 --rwx------ 1 nico nico 440412 2005-10-02 11:12 ccontrol --rwx------ 1 nico nico 444508 2005-10-02 11:13 cinit --rwx------ 1 nico nico 440412 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-11:13:43 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-11:13:43 deleted file mode 100644 index 1711d01a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-11:13:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 11:13 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 11:13 cinit --rwx------ 1 nico nico 436316 2005-10-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-16:00:24 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-16:00:24 deleted file mode 100644 index ab23228c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-16:00:24 +++ /dev/null @@ -1,4 +0,0 @@ -total 1284 --rwx------ 1 nico nico 436316 Oct 2 16:00 ccontrol --rwx------ 1 nico nico 437884 Oct 2 16:00 cinit --rwx------ 1 nico nico 436316 Oct 2 16:00 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-23:17:11 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-23:17:11 deleted file mode 100644 index 92041cd9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-02-23:17:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-02 23:17 ccontrol --rwx------ 1 nico nico 437884 2005-10-02 23:17 cinit --rwx------ 1 nico nico 436316 2005-10-02 23:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-03-00:54:39 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-03-00:54:39 deleted file mode 100644 index df47a057..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-03-00:54:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:54 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:54 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:54 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-03-00:56:29 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-03-00:56:29 deleted file mode 100644 index 08db7fec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-03-00:56:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 nico nico 436316 2005-10-03 00:56 ccontrol --rwx------ 1 nico nico 437884 2005-10-03 00:56 cinit --rwx------ 1 nico nico 436316 2005-10-03 00:56 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-13-09:55:52 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-13-09:55:52 deleted file mode 100644 index d54a7ff4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-13-09:55:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:55 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:55 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:55 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-13-09:57:11 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-13-09:57:11 deleted file mode 100644 index 3b1af9ec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-13-09:57:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 09:57 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 09:57 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 09:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-13-10:07:28 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-13-10:07:28 deleted file mode 100644 index 58d25315..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-13-10:07:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1292 --rwxr-xr-x 1 pp pp 433912 Okt 13 10:07 ccontrol --rwxr-xr-x 1 pp pp 436664 Okt 13 10:07 cinit --rwxr-xr-x 1 pp pp 434360 Okt 13 10:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-15-15:26:52 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-15-15:26:52 deleted file mode 100644 index a88291e2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-15-15:26:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 1284 --rwx------ 1 root root 436316 2005-10-15 15:26 ccontrol --rwx------ 1 root root 437916 2005-10-15 15:26 cinit --rwx------ 1 root root 436316 2005-10-15 15:26 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-15-21:23:56 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-15-21:23:56 deleted file mode 100644 index 43a4504d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-10-15-21:23:56 +++ /dev/null @@ -1,4 +0,0 @@ -total 36 --rwx------ 1 nico nico 9148 Oct 15 21:23 ccontrol --rwx------ 1 nico nico 11872 Oct 15 21:23 cinit --rwx------ 1 nico nico 9768 Oct 15 21:23 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2005-11-17-17:03:53 b/software/cinit/browse_source/cinit-0.3pre9/size/2005-11-17-17:03:53 deleted file mode 100644 index 78543f15..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2005-11-17-17:03:53 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2005-11-17 17:03 ccontrol --rwx------ 1 nico nico 11872 2005-11-17 17:03 cinit --rwx------ 1 nico nico 9768 2005-11-17 17:03 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-11-23:45:54 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-11-23:45:54 deleted file mode 100644 index f4852c81..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-11-23:45:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-11 23:45 cinit --rwx------ 1 nico nico 9768 2006-02-11 23:45 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:06:11 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:06:11 deleted file mode 100644 index 2fe41351..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:06:11 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9132 2006-02-11 23:45 ccontrol --rwx------ 1 nico nico 11476 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:06:42 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:06:42 deleted file mode 100644 index bf2ddc36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:06:42 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:06 ccontrol --rwx------ 1 nico nico 11560 2006-02-12 00:06 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:06 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:08:24 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:08:24 deleted file mode 100644 index e25a49ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:08:24 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:08 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:08 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:09:33 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:09:33 deleted file mode 100644 index 0b64fa00..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:09:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:09 ccontrol --rwx------ 1 nico nico 11556 2006-02-12 00:09 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:09 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:13:32 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:13:32 deleted file mode 100644 index b6c5c38e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-12-00:13:32 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-12 00:13 ccontrol --rwx------ 1 nico nico 11500 2006-02-12 00:13 cinit --rwx------ 1 nico nico 9768 2006-02-12 00:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-16-23:57:29 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-16-23:57:29 deleted file mode 100644 index 86b9fda9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-16-23:57:29 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11620 2006-02-16 23:57 cinit --rwx------ 1 nico nico 9768 2006-02-16 23:57 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-17-00:16:18 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-17-00:16:18 deleted file mode 100644 index 28c853a5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-17-00:16:18 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-16 23:57 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 00:16 cinit --rwx------ 1 nico nico 9768 2006-02-17 00:16 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-17-22:48:35 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-17-22:48:35 deleted file mode 100644 index 5935acfe..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-17-22:48:35 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-17 22:48 ccontrol --rwx------ 1 nico nico 11636 2006-02-17 22:48 cinit --rwx------ 1 nico nico 9768 2006-02-17 22:48 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:03:54 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:03:54 deleted file mode 100644 index 9222f0b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:03:54 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:03 cinit --rwx------ 1 nico nico 9768 2006-02-20 19:43 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:04:33 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:04:33 deleted file mode 100644 index c5797edc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:04:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:03 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:04:36 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:04:36 deleted file mode 100644 index fbcf9fa5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:04:36 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:04 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:04 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:07:47 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:07:47 deleted file mode 100644 index 7e1fe18f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:07:47 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:04 ccontrol --rwx------ 1 nico nico 11680 2006-02-20 20:07 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:07 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:12:33 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:12:33 deleted file mode 100644 index 2b4fda40..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:12:33 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:12 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:12 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:12 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:14:56 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:14:56 deleted file mode 100644 index bccb5d65..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-02-20-20:14:56 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9148 2006-02-20 20:14 ccontrol --rwx------ 1 nico nico 11676 2006-02-20 20:14 cinit --rwx------ 1 nico nico 9768 2006-02-20 20:14 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-01-23:32:43 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-01-23:32:43 deleted file mode 100644 index fcbaf372..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-01-23:32:43 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-01 23:32 ccontrol --rwx------ 1 nico nico 11640 2006-06-01 23:32 cinit --rwx------ 1 nico nico 9768 2006-06-01 23:32 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-01:08:28 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-01:08:28 deleted file mode 100644 index 7683546c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-01:08:28 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:08 ccontrol --rwx------ 1 nico nico 11688 2006-06-02 01:08 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:08 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-01:29:13 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-01:29:13 deleted file mode 100644 index adbc6846..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-01:29:13 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 01:29 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 01:29 cinit --rwx------ 1 nico nico 9768 2006-06-02 01:29 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-11:13:39 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-11:13:39 deleted file mode 100644 index 46eaef4f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-11:13:39 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:13 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:13 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:13 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-11:36:37 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-11:36:37 deleted file mode 100644 index 306402f6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-11:36:37 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 36 --rwx------ 1 nico nico 9164 2006-06-02 11:36 ccontrol --rwx------ 1 nico nico 11604 2006-06-02 11:36 cinit --rwx------ 1 nico nico 9768 2006-06-02 11:36 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-15:17:17 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-15:17:17 deleted file mode 100644 index 7bb59095..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-15:17:17 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:17 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:17 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:17 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-15:19:52 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-15:19:52 deleted file mode 100644 index ce65256f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-06-02-15:19:52 +++ /dev/null @@ -1,4 +0,0 @@ -insgesamt 48 --rwx------ 1 nico nico 12316 2006-06-02 15:19 ccontrol --rwx------ 1 nico nico 16268 2006-06-02 15:19 cinit --rwx------ 1 nico nico 13432 2006-06-02 15:19 cservice diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-11-29-235834 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-11-29-235834 deleted file mode 100644 index c2c83117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-11-29-235834 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73645 2006-11-29 23:57 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-02-172536 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-02-172536 deleted file mode 100644 index 4079d5db..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-02-172536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73617 2006-12-02 17:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-02-174429 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-02-174429 deleted file mode 100644 index 5506928d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-02-174429 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73497 2006-12-02 17:44 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-02-182536 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-02-182536 deleted file mode 100644 index 14526d13..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-02-182536 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 72092 2006-12-02 18:25 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-03-173231 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-03-173231 deleted file mode 100644 index aca9d380..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-03-173231 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71944 2006-12-03 17:32 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-03-174544 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-03-174544 deleted file mode 100644 index 3c1cfea2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-03-174544 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71952 2006-12-03 17:45 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-03-191215 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-03-191215 deleted file mode 100644 index 4f2a2fa1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-03-191215 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-03 19:12 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-06-084947 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-06-084947 deleted file mode 100644 index 487af844..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-06-084947 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71736 2006-12-06 08:49 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-213559 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-213559 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-213559 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-213717 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-213717 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-213717 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-213739 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-213739 deleted file mode 100644 index a1665a41..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-213739 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-06 18:02 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-215315 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-215315 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-215315 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-215334 b/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-215334 deleted file mode 100644 index 3e144e5d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2006-12-14-215334 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 73466 2006-12-14 21:53 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2007-02-17-210059 b/software/cinit/browse_source/cinit-0.3pre9/size/2007-02-17-210059 deleted file mode 100644 index 69179604..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2007-02-17-210059 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 75783 2007-02-17 20:59 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2007-02-23-202443 b/software/cinit/browse_source/cinit-0.3pre9/size/2007-02-23-202443 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2007-02-23-202443 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2007-02-23-202720 b/software/cinit/browse_source/cinit-0.3pre9/size/2007-02-23-202720 deleted file mode 100644 index 19cb71b8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2007-02-23-202720 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 69439 2007-02-23 20:15 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2007-03-07-231936 b/software/cinit/browse_source/cinit-0.3pre9/size/2007-03-07-231936 deleted file mode 100644 index c2ef3d0b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2007-03-07-231936 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71213 2007-03-07 23:18 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/size/2007-04-06-011811 b/software/cinit/browse_source/cinit-0.3pre9/size/2007-04-06-011811 deleted file mode 100644 index 73de8724..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/size/2007-04-06-011811 +++ /dev/null @@ -1 +0,0 @@ --rwx------ 1 nico nico 71281 2007-04-06 01:17 src/cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/Makefile b/software/cinit/browse_source/cinit-0.3pre9/src/Makefile deleted file mode 100644 index b988afb2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/Makefile +++ /dev/null @@ -1,139 +0,0 @@ -# -# cinit -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -#include Makefile.tests - -# Build tools / locations -CC=../tmpbin/cc -CFLAGS= -LD=../tmpbin/ld -LDFLAGS= -STRIP=../tmpbin/strip -SBIN=../sbin - -# directories and files -CONFIG_H=include/config.h - -BIN=cinit - -# -# All objects depend on headers. More or less. FIXME: use gcc -M -# -CINIT_HEADERS=$(shell cat include/listing) - -# NEW -CINIT_OBJ=$(shell cat object_lists/cinit) - -# -# Client modules -# -CLIENT=client/msg_svc_on_off.o client/msg_change_status.o client/run_svc.o \ - client/exec_svc.o client/respawn_svc.o client/run_run_svcs.o \ - client/connect_sock.o client/begin_msg.o client/sig_terminate.o - -COMMUNICATION=comm/do_change_status.o comm/do_result.o comm/do_svc_name.o - -OBJ=$(SERV) $(SERV_OS) $(CLIENT) $(BOTH) $(COMMUNICATION) - -CSVC_OBJ=util/cservice.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) - -CCO_OBJ=util/ccontrol.o generic/mini_printf.o util/msg_reboot.o \ - generic/usage.o \ - $(CLIENT) $(COMMUNICATION) -# -# End user target -# -#all: cinit cservice ccontrol sizecheck docs -#all: $(BIN) -all: cinit - - -# -# Generic -# -$(CINIT_OBJ): $(CINIT_HEADERS) - -%.o: %.c - $(CC) -c -o $@ $< - - - -# -# First do configuration, so we include the right variables -# -Makefile: .configured - -.configured: ../conf/* - @../bin/cinit.configure.os - @../bin/cinit.configure.tools - @../bin/cinit.configure.ipc - @../bin/cinit.configure.mark - -$(CINIT_OBJ): $(CONFIG_H) - - -$(CONFIG_H): ../conf/* - ../scripts/cinit.mkheader > $(CONFIG_H) - -cservice: $(SBIN)/cservice - -$(SBIN)/cservice util/cservice: $(SBIN) $(CSVC_OBJ) - $(LD) $(LDFLAGS) $(CSVC_OBJ) -o $@ - $(STRIP) $@ - -ccontrol: $(SBIN)/ccontrol - -$(SBIN)/ccontrol util/ccontrol: config.h $(SBIN) $(CCO_OBJ) - $(LD) $(LDFLAGS) $(CCO_OBJ) -o $@ - $(STRIP) $@ - -install: install-dir cinit cservice ccontrol - @echo '*** Installing cinit ***' - ./bin/cinit.install.binary - -install-miniconf: - ./bin/cinit.install.miniconf - -install-dir: - ./bin/cinit.install.dir - - -################################################################################ -# -# Build targets -# -cinit: $(CINIT_OBJ) - $(LD) $^ -o $@ - -uml: cinit - ../../vm/uml/uml-mount.sh - cp cinit ../../vm/uml/root/sbin/cinit - ../../vm/uml/uml-umount.sh - -umlstart: uml - ../../vm/uml/uml-start.sh - -################################################################################ -# -# Generic targets -# - -.PHONY: dist -dist: distclean - -.PHONY: distclean -distclean: clean - rm -f os/current ipc/current .configured - -.PHONY: clean -clean: - rm -f ../tmpbin/*.configured - rm -f $(BIN) $(CINIT_OBJ) - rm -f test/*.o diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/Makefile.tests b/software/cinit/browse_source/cinit-0.3pre9/src/Makefile.tests deleted file mode 100644 index 0f4b4626..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/Makefile.tests +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for cinit tests -# -# Nico Schottelius -# -# Don't edit Makefiles, use conf/* for configuration. -# - -TEST_BUILD_ARGV=test/test_build_argv.o core/build_argv.o - -PROGS=test_build_argv test_build_argv_link - -tests: $(PROGS) - -test_build_argv: test/test_build_argv.o core/build_argv.o -test_build_argv_link: test/test_build_argv+link.o core/build_argv.o - -test_gen_svc_tree: test/test_gen_svc_tree.o svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/list_display_all.o \ - svc/gen_svc_tree.o \ - generic/mini_printf.o \ - svc/list_display_all.o - -test_openreadclose: test/test_openreadclose.o generic/openreadclose.o diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ancient/run_init_svc.c b/software/cinit/browse_source/cinit-0.3pre9/src/ancient/run_init_svc.c deleted file mode 100644 index f41c1f4e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ancient/run_init_svc.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include -#include -#include -#include -#include - -#include "cinit.h" - -#include - -/*********************************************************************** - * start the first service - */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ancient/run_init_svc2.c b/software/cinit/browse_source/cinit-0.3pre9/src/ancient/run_init_svc2.c deleted file mode 100644 index b613ed6c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ancient/run_init_svc2.c +++ /dev/null @@ -1,45 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * run initial service(s) - */ - -#include /* _exit, fork */ - -#include "cinit.h" -#include "messages.h" -#include "ipc.h" - -int run_svc(char *rpath) { rpath = "test"; return 0; } /* a hack to compile cinit for now */ - -int run_init_svc(char *cinit_svc) -{ - pid_t pid; - - /* leave cinit alone */ - pid = fork(); - - if(pid == -1) { /* err */ - print_errno(MSG_ERR_FORK); - return 0; - } else if(pid == 0) { /* child */ - cinit_ipc_sclose(); - set_signals(ACT_CLIENT); - - if(!cinit_ipc_logon()) _exit(1); - - /* FIXME: open stderr, stdin, stdout to files / syslog / logable ? - * IMPLEMENT PER SERVICE! - */ - - run_svc(cinit_svc); - - _exit(0); /* nobody cares about us, so exit successfully anyway */ - } - /* parent exits, we don't care about our children */ - return 1; -} -/* ready for cinit-0.2 */ diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ancient/run_svc.c b/software/cinit/browse_source/cinit-0.3pre9/src/ancient/run_svc.c deleted file mode 100644 index 95cc324d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ancient/run_svc.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-cinit at schottelius.org) - * run_svc - * part of cinit - */ - -/* headers are clean */ -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -#error "needs to be cleaned up" - -/*********************************************************************** - * run_svc: run a service and before all dependencies - */ -int run_svc(char *rpath) -{ - int tmp; - pid_t pid; - char abspath[PATH_MAX], pathtmp[PATH_MAX]; /* pathtmp will be misused */ - struct stat buf; - struct timespec ts; - - /******************* absolute PATH ***************/ - /* save current working dir */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - print_errno(pathtmp); - return RT_UNSPEC; - } - - /* change to rpath */ - if(chdir(rpath) == -1) { - print_errno(rpath); - return RT_NOTEXIST; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(abspath,PATH_MAX)) { - perror(abspath); - return RT_UNSPEC; - } - - /* change back */ - if(chdir(pathtmp) == -1) { - perror(pathtmp); - return RT_UNSPEC; - } - D_PRINTF(abspath); - - /******************* REGISTER SERVICE ***************/ - do { - tmp = msg_svc_on_off(abspath,CMD_START_SVC); /* check status */ - - switch(tmp) { - case ST_FAIL: /* somebody failed before, we won't retry */ - return RT_SVC_FAILED; - break; - case ST_TMP: /* someone is working on it */ - ts.tv_sec = SLEEP_RERUN; - nanosleep(&ts,NULL); - break; - case ST_ONCE: /* somebody did our work */ - case RT_ERR_COMM: /* communication failed */ - case ST_RESPAWN: /* somebody does our work */ - case ST_NEED_FAIL: /* the needs failed before */ - return tmp; - break; - case RT_TMPNOW: /* do not go to default: */ - break; - default: - mini_printf(MSG_SHOULD_NOT_HAPPEN,1); - return RT_UNSPEC; - break; - } - } while(tmp != RT_TMPNOW); - - /******************* BEGIN DEPENDENCIES ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_NEEDS); - - /* check for needs */ - if( stat(pathtmp,&buf) == 0 ) { - if( ! run_run_svcs(pathtmp) ) { - SERVICE_LOG(abspath,LOG_NEED_FAIL); - msg_change_status(abspath, ST_NEED_FAIL, 0); - return ST_NEED_FAIL; - } - } - - /********** WANTS ************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_WANTS); - - if( stat(pathtmp,&buf) == 0 ) { - run_run_svcs(pathtmp); /* don't care about what happens with the want svc */ - } - - /******************* execute services ***************/ - strcpy(pathtmp,abspath); - strcat(pathtmp,SLASH); - strcat(pathtmp,C_RESPAWN); - - if( stat(pathtmp,&buf) == 0) { - pid = respawn_svc(abspath); - tmp = ST_RESPAWN; - } else { - pid = exec_svc(abspath, CMD_START_SVC); - tmp = ST_ONCE; - } - - if(!pid) { - msg_change_status(abspath, ST_FAIL, pid); - return ST_FAIL; - } - - if(!msg_change_status(abspath, tmp, pid) ) { - return RT_ERR_COMM; - } - - return tmp; /* ST_ONCE || ST_RESPAWN */ -} -/* cinit-0.2 return codes implemented */ diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/client/cmd.c b/software/cinit/browse_source/cinit-0.3pre9/src/client/cmd.c deleted file mode 100644 index 61dea321..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/client/cmd.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cmd - the cinit client program - sends commands to cinit - */ - - -/* Arguments: - - -e: enable - -d: disable - - -*/ -int main(int argc, char **argv) -{ - -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/comm/README b/software/cinit/browse_source/cinit-0.3pre9/src/comm/README deleted file mode 100644 index 74a0b376..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/comm/README +++ /dev/null @@ -1,20 +0,0 @@ -All abstracted communication functions. Do not depend on the underlying -inter process communication mechanism. - - - send_command(): client function: sends a command to cinit - - send_service(): client function: send the service name to operate on - - - read_command(): server function: reads beginning of a command - * Extracts the command - * reads client identification (=pid) - * calls other functions, depending on the command send => switch() - - read_service(): server function: reads service - - - write_answer(): server function: answer? - * sends answers to clients => senseful? - - - TODO: - - define information function, that returns various information about - a service - diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/comm/read_command.c b/software/cinit/browse_source/cinit-0.3pre9/src/comm/read_command.c deleted file mode 100644 index ebc7e2dc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/comm/read_command.c +++ /dev/null @@ -1,56 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * cinit reads a command sent by a client, called by ipc listener - * - */ - -#include "comm.h" /* message struct definition */ -#include "reboot.h" /* reboot abstraction layer */ - -int read_command(struct s_cmd cmd) -{ - switch(cmd.cmd) { - case CMD_SVC_START: - break; - - case CMD_SVC_START_ONLY: - break; - - case CMD_SVC_START_NEEDS: - break; - - case CMD_SVC_STOP: - break; - - case CMD_SVC_STOP_ONLY: - break; - - case CMD_SVC_STOP_WANTS - break; - - /* halt/shutdown/poweroff */ - case CMD_HALT: - cinit_do_halt(); - break; - - case CMD_REBOOT: - cinit_do_halt(); - break; - - case CMD_POWEROFF: - cinit_do_poweroff(); - break; - - /* return error to client */ - default: - break; - - - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/comm/send_command.c b/software/cinit/browse_source/cinit-0.3pre9/src/comm/send_command.c deleted file mode 100644 index bd2849dc..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/comm/send_command.c +++ /dev/null @@ -1,15 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * A client sends a command to cinit - */ - -#include "comm.h" /* message struct definition */ - -send_command(struct s_cmd cmd) -{ - /* cinit_ipc_to_server() */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/core/build_argv.c b/software/cinit/browse_source/cinit-0.3pre9/src/core/build_argv.c deleted file mode 100644 index 9672393f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/core/build_argv.c +++ /dev/null @@ -1,166 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Build **argv for execution in cinit way: - * 1. check whether cmd is a valid executable - * 2. try to read cmd.params and write parameters - * 3. try to read cmd.env and setup environment - * - * Returns: - * BA_OK: Everything went well, you can use the struct - * BA_NOTFOUND: Binary executable is not available - * BA_PARAMS: Reading the parameters failed (ignoring non-existence!) - * BA_ENV: Reading the environment failed (same as above) - * BA_OTHER: Other error - */ - -#include /* open() */ -#include /* *alloc() */ -#include /* readlink */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* NULL */ -#include /* strchr */ -#include /* stat() */ - -#include "cinit.h" -#include "build_argv.h" - - /* - * char *basename: something we should execute - * (*basename) + ".params" will be added as parameters - * (*basename) + ".env" will be added as environment - */ - -int cinit_build_argv(char *basename, struct ba_argv *bav) -{ - int tmp; - int argc; - char pathtmp[PATH_MAX+1]; - char *sbuf = NULL; - char *p; - - /* sane values */ - bav->argv = NULL; - bav->envp = NULL; - - /*********************************************************************** - * Try to get realname (for links) - */ - if((tmp = readlink(basename,pathtmp,PATH_MAX)) == -1) { - /* nothing there? */ - if(errno == ENOENT) { - return BA_E_NOTFOUND; - } - if (errno != EINVAL) { - return BA_E_OTHER; - } - tmp=strlen(basename); - strncpy(pathtmp,basename,tmp); - } - pathtmp[tmp] = '\0'; - ++tmp; /* the byte to add to memory for \0; - neither readlink nor strlen count the \0 */ - - /*********************************************************************** - * prepare argv0 - */ - bav->argv = malloc(sizeof(char *)); - if(bav->argv == NULL) return BA_E_MEM; - - *bav->argv = malloc(tmp); - if(*(bav->argv) == NULL) return BA_E_MEM; - - strncpy(*(bav->argv),pathtmp,tmp); - - /********************** read params *********************/ - /* FIXME check bounds! */ - strcpy(pathtmp,basename); - strcat(pathtmp,C_PARAMS); - /* ORC_ERR_NONEXISTENT: Ok, have sbuf set to NULL - * ORC_OK: Ok, have a filled buffer (perhaps NULL, too) - * other: Error, print errno - */ - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /*********************************************************************** - * Now split the string, converting \n to \0 - */ - argc = 1; /* argv0 */ - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = sbuf; /* here begins the current argument */ - - if(p != NULL) { /* found another \n */ - *p = '\0'; - sbuf = p+1; - } else { /* end of string */ - sbuf = NULL; - } - - ++argc; - } - - /************ close argv list **************/ - bav->argv = realloc(bav->argv, sizeof(char *) * (argc + 1)); - if(bav->argv == NULL) return BA_E_MEM; - bav->argv[argc] = NULL; /* terminate argv list */ - - /********************** read environment *********************/ - strcpy(pathtmp,basename); - strcat(pathtmp,C_ENV); - - tmp = argc = 0; - sbuf = NULL; - - tmp = openreadclose(pathtmp,&sbuf); - - if(tmp != ORC_ERR_NONEXISTENT && tmp != ORC_OK) { - print_errno(pathtmp); - return BA_E_PARAMS; - } - - sbuf = strip_final_newline(sbuf); - - /************** build environment string **************/ - argc = 0; - while(sbuf != NULL) { - p = strchr(sbuf,'\n'); - - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) return BA_E_MEM; - - bav->envp[argc] = sbuf; - - /* if we found \n */ - if(p != NULL) { - *p = '\0'; - sbuf = p+1; - } else { - sbuf = NULL; - } - ++argc; - } - - /************ close env list **************/ - bav->envp = realloc(bav->envp, sizeof(char *) * (argc + 1)); - if(bav->envp == NULL) { - return BA_E_MEM; - } - bav->envp[argc] = NULL; - - return BA_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/core/cinit.c b/software/cinit/browse_source/cinit-0.3pre9/src/core/cinit.c deleted file mode 100644 index e0fd5405..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/core/cinit.c +++ /dev/null @@ -1,94 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The main file - * - */ - -#include /* getpid,chdir */ -#include /* str(ncmp,len,cpy,cat) */ -#include /* perror */ -#include /* malloc */ - -#include "cinit.h" /* general things */ -#include "messages.h" /* messages */ -#include "ipc.h" /* general ipc methods */ -#include "svc.h" /* gen_svc_tree */ - -struct listitem *svc_list = NULL; -struct dep *svc_init = NULL; - -int main(int argc, char **argv) -{ - char *initdir = CINIT_INIT; /* default init dir */ -// pid_t cpid; - - - /* FIXME: RE-ENABLE as SOON AS PRODUCTIVE cpid = getpid(); - * Is this really needed or should we lock() ourselves? - if(cpid != 1) { - mini_printf(CINIT_VERSION,2); - mini_printf(MSG_USAGE,2); - return 0; - }*/ - - /* Look whether we should start a profile */ - while(argc > 1) { - if(!strncmp(PROFILE, argv[argc-1], strlen(PROFILE) ) ) { - initdir = (char *) malloc( - strlen(CINIT_SVCDIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2); - if(initdir == NULL) { - panic(); - } - strcpy(initdir, CINIT_SVCDIR); - strcat(initdir, SLASH); - strcat(initdir, &argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* Bootup "logo" */ - mini_printf(MSG_BOOTING,1); mini_printf(initdir,1); mini_printf("\n",1); - - if(chdir(initdir) == -1) { - print_errno(initdir); - panic(); - } - - /* initialize ipc method */ - if(!cinit_ipc_init()) { - panic(); - } - - /* listen to signals */ - set_signals(ACT_SERV); - - /* pre-calculate service tree */ - if(!gen_svc_tree(initdir)) { - panic(); - } - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* start tree from the bottom */ - if(!tree_exec(svc_init)) { - panic(); - } - - mini_printf("=> cinit started.\n",1); - - /* listen for incomming messages: should never return */ - if(!cinit_ipc_listen()) { - panic(); - } - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/core/do_reboot.c b/software/cinit/browse_source/cinit-0.3pre9/src/core/do_reboot.c deleted file mode 100644 index e8807ab1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/core/do_reboot.c +++ /dev/null @@ -1,97 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#include -#include -#include -#include -#include -#include - -#include "ipc.h" - -/* cleaned up own headers */ -#include "cinit.h" /* set_signals */ -#include "svc.h" /* shutdown_services */ -#include "messages.h" /* messages */ -#include "reboot.h" /* cinit_poweroff&co */ - -/* cleaned headers */ -#include /* kill() */ - -/*********************************************************************** - * sig_reboot - * Shutdown the system - */ - -void do_reboot(int signal) -{ - //struct listitem *tmp; - //char **cmd; - //int i; - - /* - * New code: - * 0. close user ipc - * - notify user! - * - do not allow user interupt anymore - * 1. shutdown services - * - notify user! - * 2. kill -TERM all processes - * - notify user! - * 3. kill -KILL all processes - * - notify user! - * 4. execute /etc/cinit/conf/{halt,reboot,poweroff} - * - notify user! - */ - - /* do not listen to client requests anymore */ - /* and tell the user what happens */ - LOG(MSG_SHUTDOWN_START); - cinit_ipc_destroy(); - set_signals(ACT_CLIENT); /* reset signal handlers */ - - /* shutdown all services: take care about the dependency tree */ - LOG(MSG_SHUTDOWN_SVC); - shutdown_services(svc_list); - - LOG(MSG_SHUTDOWN_KILL); - /* now: all services are down, let's kill all other processes */ - if(kill(-1,SIGTERM) == -1) { - print_errno(MSG_TERMKILL); - } - - sleep_before_kill(); - - if(kill(-1,SIGKILL) == -1) { - print_errno(MSG_KILLBILL); - } - - /* Execute the last command */ - LOG(MSG_SHUTDOWN_LAST); - execute_and_wait(CINIT_LAST); - - /* do what we really wanted to do */ - switch(signal) { - case SIGTERM: /* power off */ - LOG(MSG_POWER_OFF); - cinit_poweroff(); - break; - case SIGHUP: /* reboot */ - LOG(MSG_REBOOT); - cinit_reboot(); - break; - case SIGUSR1: /* halt */ - LOG(MSG_HALT); - cinit_halt(); - break; - } - /* FIXME: should we exit? */ - _exit(0); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/core/panic.c b/software/cinit/browse_source/cinit-0.3pre9/src/core/panic.c deleted file mode 100644 index 48a5d17f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/core/panic.c +++ /dev/null @@ -1,34 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something - */ - -#include /* execv */ - -#include "cinit.h" -#include "messages.h" - -void panic(void) -{ - char *nargv[2]; - - if(execute_and_wait(CINIT_PANIC)) _exit(0); - - /*********************************************************************** - * THIS SHOULD NOT HAPPEN, fallback to hardcoded sulogin - * (conf/sulogin) - */ - nargv[0] = SULOGIN; - nargv[1] = NULL; - - if(execv(SULOGIN,nargv) == -1) { - print_errno(MSG_FATAL_PANIC); - } - - /* there's nothing todo, if everything fails */ - _exit(23); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/core/set_signals.c b/software/cinit/browse_source/cinit-0.3pre9/src/core/set_signals.c deleted file mode 100644 index b16ad9ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/core/set_signals.c +++ /dev/null @@ -1,39 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Define signal handlers - */ - - -#include /* sigaction, sigemtpyset */ -#include /* NULL */ -#include "cinit.h" /* defines */ -#include "reboot.h" /* reboot related */ - -void set_signals(int action) -{ - struct sigaction sa; - - sigemptyset(&sa.sa_mask); /* no other signals should be blocked */ - sa.sa_flags = 0; - - if(action == ACT_SERV) { - sa.sa_handler = sig_child; - sa.sa_flags = SA_NOCLDSTOP; - } else { - sa.sa_handler = SIG_DFL; - } - - sigaction(SIGCHLD,&sa,NULL); /* what todo when a child exited */ - - sa.sa_flags = 0; /* reset flags */ - if(action == ACT_SERV) { - sa.sa_handler = do_reboot; - } - sigaction(SIGHUP, &sa, NULL); /* reboot */ - sigaction(SIGTERM, &sa, NULL); /* poweroff */ - sigaction(SIGUSR1, &sa, NULL); /* halt */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/core/sig_child.c b/software/cinit/browse_source/cinit-0.3pre9/src/core/sig_child.c deleted file mode 100644 index f3f72f4c..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/core/sig_child.c +++ /dev/null @@ -1,93 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * The child handler - * - */ - -#include /* waitpid */ -#include /* NULL */ -#include /* gettimeofday() */ /* FIXME: CHECK POSIX */ -#include /* time(),gettime.. */ /* FIXME: CHECK POSIX */ - -#include "cinit.h" /* */ -#include "svc.h" /* list_search_pid */ -#include "messages.h" /* messages */ - -/*********************************************************************** - * sig_child: (c)collect the children - */ -void sig_child(int tmp) -{ - /* New code: - * - search for pid in service list - * * if (respawn) -> start new - * - insert delay? if exit code is non-zero? if uptime too less? - * * if (once) -> update service status - * * else ignore, but reap away - */ - pid_t pid; - int delay; - struct listitem *svc; -// struct timeval now; - - while((pid = waitpid(-1, &tmp, WNOHANG)) > 0) { - /* check if it's a watched child */ - svc = list_search_pid((pid_t) pid); - - mini_printf("WHILE1: hier drinne?\n",1); - - if(svc != NULL) { - /* Check, that we are operating on it =. that it is no normal child */ - if(svc->status & ST_ONCE_RUN - || svc->status & ST_SH_RESPAWN - || svc->status & ST_RESPAWNING) { - mini_printf("WHILE: svc bekannt!\n",1); - if(WIFEXITED(tmp) && !WEXITSTATUS(tmp)) { - svc_success(svc); - } else { - svc_fail(svc); - } - } - - mini_printf("WHILE: Vorm respawn!\n",1); - /* respawn: restart: FIXME Delay for regular dying services */ - if(svc->status == ST_RESPAWNING) { - mini_printf("WHILE: IM respawn!\n",1); - svc_report_status(svc->abs_path,MSG_SVC_RESTART,NULL); - mini_printf("WHILE: IM respawn: nach report status!\n",1); - - //delay = MAX_DELAY / (time(NULL) - svc->start); - /* if(gettimeofday(&now,NULL) == -1) { - print_errno(MSG_GETTIMEOFDAY);; - delay = 0; - } else { - delay = MAX_DELAY / (now.tv_sec - svc->start); - } */ - - delay = 5; - - /* int test = time(NULL); - test++; - mini_printf("WHILE: IM respawn / for printf!\n",1); - printf("sig_child: %d, %d, %d, %d\n", - MAX_DELAY, - (int) time(NULL), - (int) svc->start, - (int) (test - svc->start) - ); */ - - mini_printf("WHILE: Vorm SVC_START!\n",1); - svc_start(svc,delay); - } - mini_printf("WHILE: NACH respawn!\n",1); - } else { - /* FIXME remove in production version */ - mini_printf("Cleanup: reparenting\n",1); - } - mini_printf("WHILE2: Ende sigchild\n",1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/generic/execute_and_wait.c b/software/cinit/browse_source/cinit-0.3pre9/src/generic/execute_and_wait.c deleted file mode 100644 index 9cc78475..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/generic/execute_and_wait.c +++ /dev/null @@ -1,44 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Execute something, but fork() before - * - */ - -#include /* pid_t */ -#include /* waitpid */ -#include /* fork */ -#include "messages.h" /* MSG_* */ -#include "cinit.h" /* print_errno, execute_sth */ - -int execute_and_wait(char *svc) -{ - pid_t pid; - int status; - - /* fork */ - pid = fork(); - - if(pid == -1) { - print_errno(MSG_ERR_FORK); - return 0; - } - - /* exec / child */ - if(pid == 0) { - execute_sth(svc); /* exits itself */ - } - - /* wait / parent */ - waitpid(pid,&status,0); - - if(WIFEXITED(status)) { - if(WEXITSTATUS(status) == 0) { - return 1; - } - } - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/generic/execute_sth.c b/software/cinit/browse_source/cinit-0.3pre9/src/generic/execute_sth.c deleted file mode 100644 index 6b7d74a2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/generic/execute_sth.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Executes something: replaces us - */ - -#include /* _exit */ -#include "cinit.h" -#include "build_argv.h" - -void execute_sth(char *basename) -{ - int tmp; - struct ba_argv bav; - - /* FIXME remove later */ - mini_printf("ES::",1); - mini_printf(basename,1); - mini_printf("\n",1); - - tmp = cinit_build_argv(basename,&bav); - if((tmp = cinit_build_argv(basename,&bav)) != BA_OK) { - if(tmp != BA_E_MEM) { /* do not print something on memory errors */ - print_errno(basename); - } - _exit(1); - } - - execve((bav.argv)[0], bav.argv, bav.envp); - print_errno(basename); - _exit(1); /* simply exit non-zero. That's enough for cinit to recognize - it as faulty */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/generic/file_exists.c b/software/cinit/browse_source/cinit-0.3pre9/src/generic/file_exists.c deleted file mode 100644 index 118397de..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/generic/file_exists.c +++ /dev/null @@ -1,63 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * check whether file exists and is a file - */ - -#include /* errno */ -#include /* stat */ -#include /* NULL */ -#include "cinit.h" /* print_errno() */ -#include "svc.h" /* svc_report_status() */ -#include "messages.h" /* messages.. */ - -int file_exists(char *filename) -{ - struct stat buf; - - mini_printf("FE: ",1); - mini_printf(filename,1); - mini_printf("\n",1); - - /* check: - * - is it a link? if so, is it broken? report! - * - is it non existent? -> return non-existent - * - is it existent, but not a regular file? report! - */ - if(lstat(filename,&buf) == -1) { /* lstat fails? */ - if(errno == ENOENT) { - mini_printf("NIX DA: ok.\n",1); - return FE_NOT; - } else { - mini_printf("anderer fehler.\n",1); - print_errno(filename); - return FE_ERR; - } - } else { - if(S_ISLNK(buf.st_mode)) { /* is a link */ - mini_printf("ist nen link\n",1); - - /* check link destination */ - if(stat(filename,&buf) == -1) { /* do real stat(): */ - if(errno == ENOENT) { - svc_report_status(filename,MSG_BROKENLINK,NULL); - return FE_NOLINK; - } else { - mini_printf("anderer fehler.\n",1); - print_errno(filename); - return FE_ERR; - } - } - } - } /* caught all stat() errors */ - - if(!S_ISREG(buf.st_mode)) { - svc_report_status(filename,MSG_NONREGULAR,NULL); - return FE_OTHER; - } - - return FE_FILE; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/generic/mini_printf.c b/software/cinit/browse_source/cinit-0.3pre9/src/generic/mini_printf.c deleted file mode 100644 index d5b0d1f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/generic/mini_printf.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Print the world! - * - */ - -#include - -void mini_printf(char *str,int fd) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) return; - - p = str; - while(*p) p++; - - write(fd,str,(size_t) (p - str)); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/generic/openreadclose.c b/software/cinit/browse_source/cinit-0.3pre9/src/generic/openreadclose.c deleted file mode 100644 index 6cf7abe9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/generic/openreadclose.c +++ /dev/null @@ -1,66 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * read a file - * - */ - -#include /* open, read, close */ -#include /* strncpy */ -#include /* realloc */ -#include /* errno */ -#include /* NULL */ -#include /* open */ -#include "cinit.h" - -int openreadclose(char *filename, char **where) -{ - - int tmp; - int cnt; - int fd; - char buf[512]; - - *where = NULL; - - /* what a wonderful loop */ - while((fd = open(filename,O_RDONLY)) == -1) { - if(errno == ENOENT) return ORC_ERR_NONEXISTENT; - if(errno != EINTR) return ORC_ERR_OPEN; - } - - cnt = 0; - while (1) { - tmp = read(fd,buf,512); - - if(tmp == -1) { - if(errno == EINTR) - continue; - else - return ORC_ERR_READ; - } else if(tmp == 0) { - break; - } - - cnt += tmp; - *where = realloc(*where,cnt + 1); - if(*where == NULL) return ORC_ERR_MEM; - - /* FIXME check correctness of copied buffer... - * and get some sleep..soon, very soon! */ - strncpy(&(*where)[cnt-tmp],buf,tmp); - } - - while((fd = close(fd)) == -1) { - if(errno == EINTR) continue; - return ORC_ERR_CLOSE; - } - - /* terminate string! */ - (*where)[cnt] = '\0'; - - return ORC_OK; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/generic/path_absolute.c b/software/cinit/browse_source/cinit-0.3pre9/src/generic/path_absolute.c deleted file mode 100644 index 691a3a38..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/generic/path_absolute.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create an absulte path - */ - -#include /* chdir(),getcwd */ -#include /* PATH_MAX */ -#include "cinit.h" /* print_errno */ -#include "messages.h" /* print_errno */ - -int path_absolute(char *relpath, char *newpath, size_t size) -{ - char oldpath[PATH_MAX+1]; - - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - if(chdir(relpath) == -1) { - print_errno(relpath); - return 0; - } - - if(!getcwd(newpath,size)) { - print_errno(relpath); - return 0; - } - - if(chdir(oldpath) == -1) { - print_errno(oldpath); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/generic/path_append.c b/software/cinit/browse_source/cinit-0.3pre9/src/generic/path_append.c deleted file mode 100644 index c6617ba9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/generic/path_append.c +++ /dev/null @@ -1,28 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * create path to needs - */ - -#include /* strlen */ -#include /* PATH_MAX */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -int path_append(char *path, char *append) -{ - size_t end = strlen(path); - - if(strcmp(&path[end-1],SLASH)) { - if((end + strlen(SLASH) + strlen(append)) > PATH_MAX) return 0; - strcat(path,SLASH); - } else { - if((end + strlen(append)) > PATH_MAX) return 0; - } - strcat(path,append); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/generic/print_errno.c b/software/cinit/browse_source/cinit-0.3pre9/src/generic/print_errno.c deleted file mode 100644 index 7415d556..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/generic/print_errno.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * stolen from tcpserver_blocker - * - * Author: Nico Schottelius - * Date: 2006-08-24 - * - * Print the error found in errno - */ - -#include /* strerror */ -#include /* errno */ - -#include "cinit.h" /* mini_printf, PD_ERR */ - -void print_errno(char *msg) -{ - if(msg) { - mini_printf(msg, FD_ERR); - mini_printf(": ", FD_ERR); - } - mini_printf(strerror(errno), FD_ERR); - mini_printf("\n", FD_ERR); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/generic/sleep_before_kill.c b/software/cinit/browse_source/cinit-0.3pre9/src/generic/sleep_before_kill.c deleted file mode 100644 index 731ce16b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/generic/sleep_before_kill.c +++ /dev/null @@ -1,43 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Sleep: - * read configuration, - * fallback to builtin value if not possible, - * sleep. - * - */ - -#include /* nanosleep */ -#include /* strtol() */ -#include /* errno */ - -#include "cinit.h" /* print_errno */ -#include "messages.h" /* messages */ - -void sleep_before_kill() -{ - char *content; - int tmp; - struct timespec ts; - - if(openreadclose(CINIT_SLEEPFILE,&content) == ORC_OK) { - errno = 0; - tmp = strtol(content, NULL, 10); - if(errno != 0) tmp = SLEEP_KILL; - free(content); - } else { - mini_printf(MSG_BUILTIN_SLEEP,1); - tmp = SLEEP_KILL; - } - - ts.tv_sec = tmp; - ts.tv_nsec = 0; - - if(nanosleep(&ts,NULL) == -1) { - print_errno(MSG_ERR_SLEEP); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/generic/strip_final_newline.c b/software/cinit/browse_source/cinit-0.3pre9/src/generic/strip_final_newline.c deleted file mode 100644 index 4629bb9f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/generic/strip_final_newline.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * If the last character is \n, shrink the memory and remove it - * - */ - -#include /* NULL */ -#include /* strchr */ -#include /* alloc */ - -char *strip_final_newline(char *str) -{ - char *p; - - /* don't get fooled by bad pointers */ - if(str == NULL) { - return NULL; - } - - p = strrchr(str,'\n'); - if(p) { - if(*(p+1) == '\0') { - *p = '\0'; /* DO NOT FORGET TO TERMINATE STRING */ - str = realloc(str,(p-str)); - } - } - - return str; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/generic/usage.c b/software/cinit/browse_source/cinit-0.3pre9/src/generic/usage.c deleted file mode 100644 index 2304ea39..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/generic/usage.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * usage: tell the world what we want - seriously no capitalism - * usage: tell the user what's wrong and a help text - * - */ - -#include -#include "cinit.h" - -void usage(char *banner, char *text) -{ - /* print banner + error message */ - mini_printf(banner,1); - mini_printf(text,1); - _exit(1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/include/build_argv.h b/software/cinit/browse_source/cinit-0.3pre9/src/include/build_argv.h deleted file mode 100644 index b61b27a4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/include/build_argv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * build **argv - */ - -#ifndef CINIT_BA_HEADER -#define CINIT_BA_HEADER - -/***************************************************************************** - * Defines: return values - */ -enum { - BA_OK, - BA_E_NOTFOUND, - BA_E_PARAMS, - BA_E_ENV, - BA_E_MEM, - BA_E_OTHER -}; - -/***************************************************************************** - * Structures - */ -struct ba_argv { - char **argv; - char **envp; -}; - -/***************************************************************************** - * Functions - */ -int cinit_build_argv(char *basename, struct ba_argv *bav); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/include/cinit.h b/software/cinit/browse_source/cinit-0.3pre9/src/include/cinit.h deleted file mode 100644 index 9ebba9eb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/include/cinit.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - */ - -#ifndef _CINIT_H -#define _CINIT_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/*********************************************************************** - * Defines - */ -#define SLASH "/" -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC - -enum { /* FIXME: there are some default defines somewhere for that */ - FD_IN=0, - FD_OUT=1, - FD_ERR=2 -}; - -enum { /* returns of openreadclose */ - ORC_OK, /* everything went fine */ - ORC_ERR_NONEXISTENT, /* file does not exist */ - ORC_ERR_OPEN, /* error opening the file */ - ORC_ERR_READ, - ORC_ERR_CLOSE, - ORC_ERR_MEM -}; - -/* values for execute_sth: - * STRICT: print and error, if .../on does not exist - * NOSTRICT: no .../on is fine - */ -enum { - EXEC_STRICT, - EXEC_NOSTRICT -}; - -enum { - FE_FILE, /* file exists and is a file */ - FE_OTHER, /* file exists, but is no file */ - FE_NOT, /* file does not exist */ - FE_NOLINK, /* file is a broken symbolic link*/ - FE_ERR /* some error occured */ -}; - -/*********************************************************************** - * Paths - */ -#define CINIT_SVCDIR CINIT_DIR SLASH SVCDIR -#define CINIT_INIT CINIT_SVCDIR SLASH C_INIT -#define CINIT_TMNT CINIT_DIR SLASH C_TMP -#define CINIT_SOCK CINIT_TMNT SLASH C_SOCK -#define CINIT_BIN PREFIX SLASH "sbin" SLASH "cinit" - -#define CINIT_CONFDIR CINIT_DIR SLASH C_CONFDIR -#define CINIT_PANIC CINIT_CONFDIR SLASH C_PANIC -#define CINIT_LAST CINIT_CONFDIR SLASH C_LAST -#define CINIT_SLEEPFILE CINIT_CONFDIR SLASH SLEEP_BEFORE_KILL - -/* actions for i/o handlers (see comm/do_*) */ -#define ACT_SERV 0 -#define ACT_CLIENT 1 - -/* functions (used by server and client) */ -int run_svc(char *rpath); -void mini_printf(char *str, int fd); -void set_signals(int action); -void usage(char *banner, char *stext); - -int do_svc_name(int sock2, char *svc, int action); -int do_change_status(char *svc, char *status, pid_t *pid, int sock2, int action); -char do_result(int sock2, char *value); - -/* core functions */ -void panic(void); -void sig_child(int signal); - -/* client / message functions */ -int msg_svc_on_off(char *svc, char action); -int msg_change_status(char *svc, char status, pid_t pid); -int begin_msg(char cmd); - -/* client functions */ -pid_t respawn_svc(char *abspath); -char **read_file(char *file); -void sig_terminate(int signal); - -/* generic */ -void execute_sth(char *basename); -int execute_and_wait(char *svc); -int path_append(char *path, char *append); -int path_absolute(char *relpath, char *buf, size_t size); -int openreadclose(char *filename, char **where); -char *strip_final_newline(char *str); -int file_exists(char *filename); -void sleep_before_kill(); - -/* util */ -//int msg_reboot(char cmd); -void print_errno(char *text); - -#endif /* _CINIT_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/include/comm.h b/software/cinit/browse_source/cinit-0.3pre9/src/include/comm.h deleted file mode 100644 index 4fbe8c50..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/include/comm.h +++ /dev/null @@ -1,81 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * Communication defines - */ - -#ifndef CINIT_COMM_HEADER -#define CINIT_COMM_HEADER - -#include /* PATH_MAX */ -#include /* pid_t */ - -/*********************************************************************** - * Commands the clients may issue to us - * maximum number of commands: 2^8 = 256 - */ -enum commands { - CMD_MIN='A', /* minimum command number */ - CMD_SVC_START, /* the client wants US to start a service */ - CMD_SVC_START_ONLY, /* start this service without dependencies */ - CMD_SVC_START_NEEDS, /* start this service, needs, but no wants */ - CMD_SVC_STOP, /* stop svc and all svcs that need it */ - CMD_SVC_STOP_ONLY, /* we should stop _only_ this service */ - CMD_SVC_STOP_WANTS, /* stop svc, all svcs that need or want it */ - CMD_CHG_STAT, /* the client reports a status change */ /* FIXME: NEEDED? */ - CMD_RESCUE, /* we should start the rescue mode */ /* UNIMPLEMENTED */ - CMD_HALT, /* halt the system */ - CMD_REBOOT, /* reboot the system */ - CMD_POWEROFF, /* poweroff the system */ - CMD_WBOOT, /* shutdown and restart everything */ /* UNIMPLEMENTED */ - CMD_INFO, /* send information about that service */ /* UNIMPLEMENTED */ - CMD_MAX , /* maximum command number */ -}; - -/* old - RT_ERR_COMM, * communication failed * - RT_ERR, * service starting failed * - RT_UNSPEC, * some kind of error, unspecified * - RT_SUCCESS, * successfully started: respawning or once * - RT_SVC_FAILED, * tried earlier, service failed, won't retry * - -*/ - -/*********************************************************************** - * client issues a command: start_command - */ -struct s_cmd { - char cmd; - pid_t pid; -}; - -/*********************************************************************** - * messages from the client - * Prefix: qst_ (question) - */ -struct msg_client { - pid_t pid; /* pid of the telling client */ - char cmd; /* which cmd is issued to us */ - char status; /* status of the service */ - char svc[PATH_MAX]; /* name of the service */ - char svc_orig[PATH_MAX]; /* the service, which wants to start us */ -}; - -/*********************************************************************** - * messages from the server - * Prefix: asw_ (answer) - */ - -/*********************************************************************** - * return short status - */ -struct asw_sstatus { - long mtype; - char status; - char msg[PATH_MAX]; -}; - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/include/ipc.h b/software/cinit/browse_source/cinit-0.3pre9/src/include/ipc.h deleted file mode 100644 index 66b3bc86..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/include/ipc.h +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * Prototypes for ipc handler - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -/***************************************************************************** - * Functions: in server - */ -int cinit_ipc_init(void); /* init in init */ -int cinit_ipc_listen(void); /* listen in init */ -int cinit_ipc_sclose(void); /* fork of cinit come from outside! */ -int cinit_ipc_ssend(void *data); /* send to a client from the server */ -void cinit_ipc_destroy(void); /* destroy ipc handler in cinit */ - -/***************************************************************************** - * Functions: in clients - */ -int cinit_ipc_logon(void); /* logon to init (client init) */ -int cinit_ipc_connect(void); /* connect to init */ -int cinit_ipc_csend(void *data); /* send to the server from a client */ - -/***************************************************************************** - * Functions: shared - */ - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/include/listing b/software/cinit/browse_source/cinit-0.3pre9/src/include/listing deleted file mode 100644 index df30f408..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/include/listing +++ /dev/null @@ -1,5 +0,0 @@ -include/cinit.h -include/config.h -include/ipc.h -include/messages.h -include/os.h diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/include/messages.h b/software/cinit/browse_source/cinit-0.3pre9/src/include/messages.h deleted file mode 100644 index ab87cdb3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/include/messages.h +++ /dev/null @@ -1,148 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit (at) schottelius.org) - * - * part of cLinux/cinit - * - * All messages - */ - -#ifndef _CINIT_MSG_H -#define _CINIT_MSG_H - -/* version */ -#define CINIT_VERSION "cinit-" VERSION -#define MSG_BOOTING CINIT_VERSION ": Booting from " - -#define MSG_DP ": " - -/* Messages to the outside */ -#define MSG_BIND "bind" -#define MSG_CONNECT "connect" -#define MSG_FCNTL "fcntl" -#define MSG_KILLBILL "sigkill" -#define MSG_LISTEN "listen" -#define MSG_SOCKET "socket" -#define MSG_TERMKILL "sigterm" -#define MSG_USAGE_1 ": fast executing, small and simple init " -#define MSG_USAGE_2 "with support for profiles\n" -#define MSG_USAGE_3 "\nError: cinit must be started as PID 1.\n" -#define MSG_USAGE MSG_USAGE_1 MSG_USAGE_2 MSG_USAGE_3 -#define MSG_ERR_FORK "fork" -#define MSG_ERR_IO "i/o" -#define MSG_ERR_OPEN "open" -#define MSG_ERR_PIPE "pipe" -#define MSG_ERR_READ "read" -#define MSG_ERR_EXECVE "execve" -#define MSG_ERR_ALLOC "memory allocation" -#define MSG_ERR_UMOUNT "umount" -#define MSG_ERR_MOUNT "mount" -#define MSG_NOT_DIR "not a directory" -#define MSG_CHDIR "chdir" -#define MSG_READLINK "readlink" -#define MSG_ERR_ADD_SVC "Adding service failed" -#define MSG_CMD_UNKNOWN "Unknown command" - -#define MSG_ERR_DEPS "Too many dependencies" -#define MSG_ERR_ACCEPT "accept" -#define MSG_ERR_WAITPID "waitpid" -#define MSG_ERR_POLL "poll" -#define MSG_ERR_MODIFY "modify list failed" -#define MSG_ERR_COMM "Communication failed" - -#define MSG_ERR_LESS_ARGS "Too less arguments!" -#define MSG_ERR_BAD_ARGS "Wrong arguments / parameter" -#define MSG_ERR_ARGS_LEN "Wrong parameter length" - -#define LOG_SVC_STOPED "Service stoped" -#define LOG_SVC_ONCE "Started once" -#define LOG_SVC_RESPAWN "Respawns now" -#define LOG_NEED_FAIL "One or more need failed" -#define LOG_SVC_FAILED "Service already failed, not starting." -#define LOG_SVC_NOTEXIST "Service does not exist" - -#define MSG_EXEC_FAILED "Failed to execute " - -#define MSG_RESCUE "Switching to rescue mode ..." -#define MSG_UPDATE "Updating cinit ..." -#define MSG_HOT_REBOOT "Hot reboot in progress ..." - -#define MSG_SHOULD_NOT_HAPPEN "This should not happen, I do not know what todo!" - -/* DEBUG */ -#ifdef DEBUG -# define D_PRINTF(x) ( printf("[%s:%d]: %s\n",__FILE__,__LINE__,x) ) -#else -# define D_PRINTF(x) if(0) -#endif - -/* macros */ -#define SERVICE_LOG(svc,message) { \ - mini_printf(svc,1); \ - mini_printf(MSG_DP,1); \ - mini_printf(message,1); \ - mini_printf("\n",1); \ -} -#define LOG(s) { \ - mini_printf(s,1); \ - mini_printf("\n",1); \ -} -#define P_START_SERVICE(name) { mini_printf(MSG_START_SVC,1); mini_printf(name,1); mini_printf("\n",1); } -#define P_EXEC_FAILED(name) { mini_printf(MSG_EXEC_FAILED,1); mini_printf(name,1); mini_printf("\n",1); } - -/* NEW (clean) Service status: Messages to the outside */ - -/* services: how they should be printed - * /etc/cinit/svc/long/name: started once - * /etc/cinit/svc/long/name: is respawning - * /etc/cinit/svc/long/name: FAILED (why it happened) - */ - -#define MSG_INTRO_CINIT "cinit:" -#define MSG_INTRO_SPACE MSG_INTRO_CINIT " " -#define MSG_INTRO_SVC MSG_INTRO_CINIT -//#define MSG_INTRO_SVC MSG_INTRO_CINIT "service:" -#define MSG_INTRO_STOP MSG_INTRO_CINIT "stop: " - -/* FIXME: remove/append, but no intro! */ -#define MSG_INTRO_FAIL "FAILED " -#define MSG_INTRO_RESPAWN MSG_INTRO_CINIT "respawn: " -#define MSG_INTRO_OK MSG_INTRO_CINIT "ok: " - -#define MSG_SVC_FORK "fork() failed" -#define MSG_SVC_NEED_FAIL MSG_INTRO_FAIL "Needs failed for service" -#define MSG_SVC_FAIL MSG_INTRO_FAIL "Service failed!" - - -#define MSG_BUILTIN_SLEEP MSG_INTRO_STOP "Using built-in sleep" - -#define MSG_TREE_EXEC MSG_INTRO_SPACE "Execution of reverse service tree\n" - -/* general errors */ -#define MSG_GETCWD "Getcwd failed! Your system is most likely broken!" -#define MSG_FATAL_PANIC MSG_INTRO_SPACE "I tried everything, but even panic() failed: " -#define MSG_ERR_SLEEP MSG_INTRO_SPACE "Sleep did not succeed" -#define MSG_GETTIMEOFDAY MSG_INTRO_SPACE "gettimeofday() failed!" - -/* stat() errors */ -#define MSG_NONREGULAR "Is not a regular file." -#define MSG_BROKENLINK "Is a broken link." - -/* Service messages */ -#define MSG_SVC_START "Starting... " -#define MSG_SVC_STOP "Stoping... " -#define MSG_SVC_RESTART "Restarted." -#define MSG_SVC_SLEEP "Sleeping before restart" -#define MSG_SVC_OK_ONCE "Started once." -#define MSG_SVC_OK_RESPAWN "Is respawning." - -/* Status messages */ -#define MSG_SHUTDOWN_START MSG_INTRO_STOP "\nBeginning the shutdown process..." -#define MSG_SHUTDOWN_SVC MSG_INTRO_STOP "Shutting down services now..." -#define MSG_SHUTDOWN_KILL MSG_INTRO_STOP "Killing remaining processes..." -#define MSG_SHUTDOWN_LAST MSG_INTRO_STOP "Executing final service..." -#define MSG_POWER_OFF MSG_INTRO_STOP "Powering off..." -#define MSG_HALT MSG_INTRO_STOP "Halting system ..." -#define MSG_REBOOT MSG_INTRO_STOP "Rebooting ..." - -#endif /* _CINIT_MSG_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/include/os.h b/software/cinit/browse_source/cinit-0.3pre9/src/include/os.h deleted file mode 100644 index b3320c0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/include/os.h +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit //@\\ schottelius.org) - * - * part of cLinux/cinit - * - * os specific functions - */ - -#ifndef CINIT_OS_HEADER -#define CINIT_OS_HEADER - -/***************************************************************************** - * Functions - */ -void cinit_halt(void); -void cinit_poweroff(void); -void cinit_reboot(void); - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/include/reboot.h b/software/cinit/browse_source/cinit-0.3pre9/src/include/reboot.h deleted file mode 100644 index cd8a345e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/include/reboot.h +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot specific functions - * - */ - -#ifndef CINIT_REBOOT_HEADER -#define CINIT_REBOOT_HEADER - -/***************************************************************************** - * the main reboot function - */ -void do_reboot(int signal); - - -/***************************************************************************** - * os specific functions - */ -void cinit_reboot(void); -void cinit_halt(void); -void cinit_poweroff(void); - - -/***************************************************************************** - * Functions: abstract do_reboot - */ -#define cinit_do_reboot() do_reboot(SIGHUP) -#define cinit_do_halt() do_reboot(SIGUSR1) -#define cinit_do_poweroff() do_reboot(SIGTERM) - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/include/svc.h b/software/cinit/browse_source/cinit-0.3pre9/src/include/svc.h deleted file mode 100644 index 1f78e427..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/include/svc.h +++ /dev/null @@ -1,129 +0,0 @@ -/*********************************************************************** - * - * 2006,2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - - -#ifndef _CINIT_SVC_H -#define _CINIT_SVC_H - -/* includes */ -#include /* pid_t */ -#include "config.h" /* paths, socket options, etc. */ - -/* service list */ -struct listitem { - struct listitem *prev; /* previous item */ - struct listitem *next; /* next item */ - - char *abs_path; /* name of service */ - long int status; /* current status */ - pid_t pid; /* pid of service / respawn watcher */ - time_t start; /* time the process was started last time */ - - - struct dep *wanted; /* list of services that want this service */ - struct dep *needed; /* list of services that need this service */ - - struct dep *wants; /* list of services that this service wants */ - struct dep *needs; /* list of services that this service needs */ -}; - -/* list of dependencies */ -struct dep { - struct dep *prev; - struct dep *next; - struct listitem *svc; -}; - -/* variables */ -extern struct dep *svc_init; /* the services to start */ -extern struct listitem *svc_list; /* the list of services */ - -/* list functions */ -struct listitem *list_insert(char *path, int status); -int list_delete(char *path); -int list_modify(char *path, int new_status, pid_t new_pid); -struct listitem *list_search(char *path); -struct listitem *list_search_pid(pid_t pid); -//int list_display_all(); /* debug only */ - - -/* service */ -struct listitem *svc_create(char *svc); -struct listitem *gen_svc_tree(char *svc); -int check_add_deps(struct listitem *svc, int type); -void dep_entry_add(struct dep **list, struct dep *new); -struct dep *dep_entry_del(struct dep *del); -int tree_exec(struct dep *start); -int svc_set_status(struct listitem *li, int status); -int svc_should_respawn(struct listitem *li); -int svc_needs_status(struct listitem *li); -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type); -struct dep *dep_create(struct listitem *svc); -void svc_success(struct listitem *li); -void svc_fail(struct listitem *li); -void svc_report_status(char *svc, char *msg, char *err); -void svc_start(struct listitem *li, int delay); -void shutdown_services(struct listitem *start); - - -/*********************************************************************** - * to decide whether to operate on needs or wants - */ -enum dep_types { - DEP_WANTS, - DEP_NEEDS -}; - -/*********************************************************************** - * status of a service and return codes - errors and success - */ -enum svc_status_old { - ST_TMPNOW=1, /* the client is now starting the service NEEDED??? */ - ST_NOTEXIST, /* service does not exist */ - - ST_NEED_FAIL, /* failed to start a need for this service */ - ST_FAIL, /* failed to start service */ - - ST_OFF, /* service is off */ - ST_OFF_ALL, /* service and those that need it are off */ - ST_OFF_ALL_F, /* same, but something failed */ - ST_OFF_WANTS, /* service + those that need or want it are off */ - ST_OFF_WANTS_F, /* same, but something failed */ - - ST_TMP, /* currently working on it */ - ST_ONCE, /* executed once */ - ST_RESPAWN /* running and respawning */ -}; - -/*********************************************************************** - * The real status types a service may have (ignore above) - * We have 32 Bits, we should use them ;-) - */ -enum svc_status { - /* first define basics */ - ST_SH_ONCE = 0x1, /* service SHould be started once */ - ST_SH_RESPAWN = 0x2, /* service SHould respawn */ - ST_ONCE_OK = 0x4, /* service was successfully started once */ - ST_ONCE_FAIL = 0x8, /* service failed to start */ - ST_RESPAWNING = 0x10, /* service is respawning */ - ST_NEED_FAILD = 0x20, /* this service is not started, need failed */ - ST_IN_LIST = 0x40, /* this service is being started (= in list) */ - ST_BAD_ERR = 0x80, /* some kind of error that SHOULD NOT happen */ - ST_ONCE_RUN = 0x100 /* the once process is currently running */ -}; - -/*********************************************************************** - * Possibilities the needs of a service may have - */ -enum svc_needs_status { - SNS_NEEDS_STARTED = 1, /* all needs are started. We may start, too */ - SNS_NEEDS_FAILED, /* one ore more needs failed */ - SNS_NEEDS_UNFINISHED /* one ore more needs are not yet started */ -}; -#endif /* _CINIT_SVC_H */ diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/README b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/README deleted file mode 100644 index cc1a1b7e..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/README +++ /dev/null @@ -1,2 +0,0 @@ -This implementation uses the new realtime inferface of -posix instead of the old one functions. diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/cinit_ipc_init.c deleted file mode 100644 index ef22b6d1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/cinit_ipc_init.c +++ /dev/null @@ -1,21 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include - -#include "cinit.h" -#include "config.h" -#include "msgq-rt.h" - -int cinit_ipc_init(void) -{ - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/mq_open.c b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/mq_open.c deleted file mode 100644 index 445e7dc6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/mq_open.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -int main() -{ - mqd_t readq = mq_open("/test",O_RDWR|O_CREAT|O_EXCL); - //mqd_t readq = mq_open("/bin/ls",O_RDWR|O_CREAT|O_EXCL); - - if(readq == -1) { - perror("oh nein"); - return 1; - } - mqd_t writeq = mq_open("/bin/cp",O_WRONLY|O_CREAT|O_EXCL); - if(readq == -1) { - perror("oh oh nein"); - return 1; - } -} - - diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/msgq-rt.h b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/msgq-rt.h deleted file mode 100644 index d09a2808..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/msgq-rt.h +++ /dev/null @@ -1,39 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#define MSGQ_PATHNAME "/cinit" /* identifier */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/test b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/test deleted file mode 100644 index 9b54eee0..00000000 Binary files a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq-rt/test and /dev/null differ diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/README.text b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/README.text deleted file mode 100644 index c9a1acf2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/README.text +++ /dev/null @@ -1,20 +0,0 @@ -cinit/src/ipc/msgq: About this msqg implementation -=================================================== -Nico Schottelius -0.1, Initial Version from 2006-08-04 -:Author Initials: NS - -Intro here - -Introduction ------------- - -cinit opens a - -Files ------ -- README.text: This file -- cinit_init_ipc.c: Init -msgq.h -objects - diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_destroy.c b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_destroy.c deleted file mode 100644 index d703bef8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_destroy.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Destory ipc mechanism, cinit is gonna die soon. - * - */ - -#include /* msgget */ -#include /* NULL */ - -#include "msgq.h" /* mq_in, mq_out */ -#include "cinit.h" /* print_errno */ - -void cinit_ipc_destroy(void) -{ - if(msgctl(mq_in,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } - if(msgctl(mq_out,IPC_RMID,NULL) == -1) { - print_errno(MSG_MSGQ_DESTROY); /* print warning, continue */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_init.c deleted file mode 100644 index 11c610ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_init.c +++ /dev/null @@ -1,47 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-linux-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Create new queues: One for recieving, one for sending - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "cinit.h" -#include "config.h" -#include "msgq.h" - -int cinit_ipc_init(void) -{ - key_t k_tmp; - - /* to_server */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_in = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_in == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - /* to_client */ - k_tmp = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - if(k_tmp == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - mq_out = msgget(k_tmp,MSGQ_PERMS | IPC_CREAT); - if(mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_listen.c deleted file mode 100644 index 81052022..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_listen.c +++ /dev/null @@ -1,61 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* printf() */ - -#include /* ftok */ -#include /* msgget */ -#include /* errno */ - -#include "cinit.h" /* print_errno */ -#include "config.h" -#include "msgq.h" -#include "comm.h" /* the cmd struct */ - -int cinit_ipc_listen(void) -{ - int tmp; - - //struct msg_client m_client; - - struct s_cmd cmd; - - while (1) { - mini_printf("IPC loop\n",1); - - /* FIXME: change msg structure */ - //tmp = msgrcv(mq_in,&m_client,(sizeof m_client),0,0); - tmp = msgrcv(mq_in,&cmd,(sizeof cmd),0,0); - - if(tmp == -1) { - if(errno != EINTR) { - print_errno(MSG_MSGQ_MSGRCV); - } - continue; - } - - printf("pid: %d, cmd: %c\n",cmd.pid,cmd.cmd); - - /* read_command() */ - - /* use pid as the message type - m_serv.mtype = (long) m_client.pid; - strcpy(m_serv.text,"Alles ok\n"); - - tmp = msgsnd(mq_out, &m_serv, sizeof(m_serv), 0); - - if(tmp == -1) { - perror("msgsnd"); - return 0; - } */ - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_logon.c b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_logon.c deleted file mode 100644 index 6df05ce4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_logon.c +++ /dev/null @@ -1,41 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-linux-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Listen to messages - * - */ - -#include /* ftok */ -#include /* msgget */ - -#include "config.h" -#include "cinit.h" /* print_errno */ -#include "msgq.h" - -int cinit_ipc_logon(void) -{ - key_t k_in, k_out; /* FIXME: remove one variable */ - - /* generiere nen schluessel: andersrum als im Server */ - k_in = ftok(MSGQ_PATHNAME,MSGQ_TO_CLIENT); - k_out = ftok(MSGQ_PATHNAME,MSGQ_TO_SERVER); - - if(k_in == -1 || k_out == -1) { - print_errno(MSG_MSGQ_FTOK); - return 0; - } - - /* neue queue */ - mq_in = msgget(k_in,0666 | IPC_CREAT); - mq_out = msgget(k_out,0666 | IPC_CREAT); - - if(mq_in == -1 || mq_out == -1) { - print_errno(MSG_MSGQ_MSGGET); - return 0; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_sclose.c b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_sclose.c deleted file mode 100644 index cce784a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/cinit_ipc_sclose.c +++ /dev/null @@ -1,14 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-linux-cinit schottelius.org) - * - * part of cLinux/cinit - * - * Close the ressources from the server, clean state for forks. - * - */ - -int cinit_ipc_sclose(void) -{ - return 1; /* nothing to do when using message queues */ -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/msgq.h b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/msgq.h deleted file mode 100644 index 01c6e769..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/msgq.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * (c) 2006 Nico Schottelius (nico-linux-cinit //@\\ schottelius.org) - * part of cinit - */ - -#ifndef CINIT_IPC_HEADER -#define CINIT_IPC_HEADER - -#include /* structures */ - -/*********************************************************************** - * configuration - */ - -#define MSGQ_PATHNAME "/bin/sh" /* should be on every *nix */ -#define MSGQ_TO_SERVER 'i' /* also for ftok */ -#define MSGQ_TO_CLIENT 'o' /* also for ftok */ -#define MSGQ_PERMS 0660 /* queue permissions */ - -/*********************************************************************** - * global variables - */ -int mq_in; /* input */ -int mq_out; /* output */ - -/*********************************************************************** - * structures - */ - -/* messages _from_ the client _to_ the server */ -struct msgq_client { - long mtype; - pid_t pid; - struct msg_client msg; -}; - -/* messages _from_ the server _to_ the client */ -struct msgq_server_short { - long mtype; - struct asw_sstatus answer; -}; - -/*********************************************************************** - * Messages - */ - -#define MSG_MSGQ_FTOK "ftok" -#define MSG_MSGQ_MSGGET "msgget" -#define MSG_MSGQ_MSGRCV "msgrcv" -#define MSG_MSGQ_DESTROY "msgq-destroy" - -#endif diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/objects b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/objects deleted file mode 100644 index 7c99d09f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/msgq/objects +++ /dev/null @@ -1,5 +0,0 @@ -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c deleted file mode 100644 index 88c310f4..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/socket+linux-tmpfs/cinit_ipc_init.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * (c) 2005, 2006 Nico Schottelius (nico-linux at schottelius.org) - * cinit.c - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* siggnal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * create a socket, when we recieved a signal - */ -int main(int argc, char **argv) -{ - struct sockaddr_un addr; - struct pollfd plist; - char *initdir; - - list = NULL; /* list of services is empty currently */ - initdir = CINIT_INIT; /* default init dir */ - - cpid = getpid(); - if(cpid != 1) { - usage(MSG_USAGE,MSG_NOT_ONE); - } - - set_signals(ACT_SERV); /* set signal handlers */ - - /* read args, profile support */ - while(argc > 1) { - if( !strncmp(PROFILE, argv[argc-1], strlen(PROFILE)) ) { - initdir = (char *) malloc( - strlen(CINIT_DIR) + - strlen(&argv[argc-1][strlen(PROFILE)]) + 2 - ); - if(initdir == NULL) { - panic(); - } - strcpy(initdir,CINIT_DIR); - strcat(initdir,SLASH); - strcat(initdir,&argv[argc-1][strlen(PROFILE)]); - break; - } - argc--; - } - - /* tell the world we are there FIXME: do we really need three calls? */ - mini_printf(MSG_CINIT,1); mini_printf(initdir,1); mini_printf("\n",1); - - if( chdir(CINIT_INIT) == -1) { - perror(MSG_CHDIR); - panic(); - } - - /******************** TMPDIR **********************/ - if( mount(C_TMPMOUNT,CINIT_TMNT,C_TMPFS,0,NULL) == -1 ) { - perror(MSG_ERR_MOUNT); - panic(); - } - - /******************** begin socket **********************/ - sock = socket(AF_UNIX,SOCK_STREAM,0); /* create socket */ - if( sock == -1 ) { - perror(MSG_SOCKET); - panic(); - } - - memset(&addr, 0, sizeof(addr) ); /* clear addr */ - strcpy(addr.sun_path, CINIT_SOCK); - addr.sun_family = AF_UNIX; - - if(bind(sock,(struct sockaddr *)&addr,sizeof(addr)) == -1) { - perror(MSG_BIND); - panic(); - } - - /* start listening */ - if(listen(sock,SOCK_QUEUE) == -1) { - perror(MSG_LISTEN); - panic(); - } - - /* start init or profile */ - run_init_svc(initdir); - - /* free, if we malloc()ed before */ - if(initdir != CINIT_INIT) { - free(initdir); - } - - /* our life is polling a socket */ - plist.fd = sock; - plist.events = POLLIN | POLLPRI; - while(1) { - if(poll(&plist, 1, -1) != -1) { - if( (plist.revents & POLLIN) == POLLIN || - (plist.revents & POLLPRI) == POLLPRI) { - sigio(sock); - } - } - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c b/software/cinit/browse_source/cinit-0.3pre9/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c deleted file mode 100644 index a174d78d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/ipc/socket+linux-tmpfs/cinit_ipc_listen.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * cinit - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * handle client requests - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "cinit.h" - -/*********************************************************************** - * sigio: client handling - */ - -/* we are called, if one or _more_ connections are waiting */ -void sigio(int socket) -{ - int tmp, nsock; - char buf[PATH_MAX+1], status; - struct listitem *list_tmp; - pid_t pid; - - while ( (nsock = accept(socket,(struct sockaddr *) NULL, - (socklen_t *) NULL)) != -1) { - - if( read(nsock,&buf[0],1) == -1) { - perror(MSG_ERR_READ); - close(nsock); - continue; - } - - switch(buf[0]) { - - /********************** START SERVICE *******************/ - case CMD_START_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - - buf[tmp] = 0; - list_tmp = list_search(buf); - - if(list_tmp != NULL) { /* service already exists, return status */ - status = list_tmp->status; - do_result(nsock,&status); - break; - } - - tmp = list_insert(buf,ST_TMP); /* add service */ - if(!tmp) { /* failed */ - LOG(MSG_ERR_ADD_SVC); - status = ST_FAIL; - } else { - status = RT_TMPNOW; - } - do_result(nsock,&status); - break; - - /********************** STOP (RESPAWNING) *******************/ - case CMD_STOP_SVC: - tmp = do_svc_name(nsock,buf,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; - list_tmp = list_search(buf); - - /* FIXME: - - handle off - - handle switching off once services - - perhaps remove old cinit code, which has respawing childs - */ - - if(list_tmp != NULL) { /* service exists */ - if(list_tmp->status == ST_RESPAWN) { - /* kill cinit watcher, which kills the real process */ - kill(list_tmp->pid,SIGTERM); - - /* wait for watcher to terminate */ - waitpid(list_tmp->pid,&tmp,0); - } - - status = ST_OFF; - if(!list_modify(buf,status,list_tmp->pid)) { - status = ST_FAIL; - } else { /* return status */ - status = list_tmp->status; - } - } else { /* no service there */ - status = RT_NOTEXIST; - } - do_result(nsock,&status); - break; - - /********************** CHANGE SERVICE STATUS *******************/ - case CMD_CHG_STATUS: - tmp = do_change_status(buf,&status,&pid,nsock,ACT_SERV); - if(!tmp) break; - buf[tmp] = 0; /* terminate buf */ - - if(!list_modify(buf,status,pid)) { - SERVICE_LOG(buf,MSG_ERR_MODIFY); - status = 0; - } - do_result(nsock,&status); - break; - - /********************** SPECIAL ACTIONS *******************/ - case CMD_REBOOT: - sig_reboot(SIGHUP); - break; - case CMD_POWEROFF: - sig_reboot(SIGTERM); - break; - case CMD_HALT: - sig_reboot(SIGUSR1); - break; - case CMD_RESCUE: - sig_reboot(SIGUSR2); - break; - case CMD_UPDATE: - sig_reboot(SIGCONT); - break; - default: - LOG(MSG_CMD_UNKNOWN); - break; - } - close(nsock); - } - - /* hier kommt man haeufiger herein, interrupted system call */ - if( errno != EAGAIN && errno != EINTR) { /* report, but don't panic */ - perror(MSG_ERR_ACCEPT); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/object_lists/cinit b/software/cinit/browse_source/cinit-0.3pre9/src/object_lists/cinit deleted file mode 100644 index b080f1b2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/object_lists/cinit +++ /dev/null @@ -1,51 +0,0 @@ -core/build_argv.o -core/cinit.o -core/panic.o -core/set_signals.o -core/do_reboot.o -core/sig_child.o -generic/execute_sth.o -generic/file_exists.o -generic/mini_printf.o -generic/path_absolute.o -generic/path_append.o -generic/print_errno.o -generic/openreadclose.o -generic/strip_final_newline.o -generic/sleep_before_kill.o -generic/execute_and_wait.o -ipc/current/cinit_ipc_init.o -ipc/current/cinit_ipc_listen.o -ipc/current/cinit_ipc_sclose.o -ipc/current/cinit_ipc_destroy.o -ipc/current/cinit_ipc_logon.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o -svc/gen_svc_tree.o -svc/gen_halt_tree.o -svc/list_delete.o -svc/list_insert.o -svc/list_search.o -svc/list_search_pid.o -svc/svc_create.o -svc/check_add_deps.o -svc/dep_entry_add.o -svc/dep_entry_del.o -svc/shutdown_services.o -svc/tree_exec.o -svc/svc_set_status.o -svc/svc_should_respawn.o -svc/svc_needs_status.o -svc/dep_needs_wants_add.o -svc/dep_create.o -svc/svc_success.o -svc/svc_report_status.o -svc/svc_start.o -svc/svc_fail.o diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/freebsd/halt.c b/software/cinit/browse_source/cinit-0.3pre9/src/os/freebsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/freebsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/freebsd/objects b/software/cinit/browse_source/cinit-0.3pre9/src/os/freebsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/freebsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/freebsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre9/src/os/freebsd/poweroff.c deleted file mode 100644 index c73dd079..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/freebsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWEROFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/freebsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre9/src/os/freebsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/freebsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/linux/halt.c b/software/cinit/browse_source/cinit-0.3pre9/src/os/linux/halt.c deleted file mode 100644 index 5ee3eb53..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/linux/halt.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * How to halt the system - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT_SYSTEM); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/linux/objects b/software/cinit/browse_source/cinit-0.3pre9/src/os/linux/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/linux/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/linux/poweroff.c b/software/cinit/browse_source/cinit-0.3pre9/src/os/linux/poweroff.c deleted file mode 100644 index c7d2b1c1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/linux/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff the system - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_POWER_OFF); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/linux/reboot.c b/software/cinit/browse_source/cinit-0.3pre9/src/os/linux/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/linux/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/netbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre9/src/os/netbsd/halt.c deleted file mode 100644 index 972aecf9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/netbsd/halt.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_halt(void) -{ - reboot(RB_HALT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/netbsd/objects b/software/cinit/browse_source/cinit-0.3pre9/src/os/netbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/netbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/netbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre9/src/os/netbsd/poweroff.c deleted file mode 100644 index 17d7b259..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/netbsd/poweroff.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_poweroff(void) -{ - reboot(RB_HALT|RB_POWERDOWN,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/netbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre9/src/os/netbsd/reboot.c deleted file mode 100644 index 14313e17..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/netbsd/reboot.c +++ /dev/null @@ -1,19 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#define _NETBSD_SOURCE 1 -#include /* reboot */ -#include /* reboot */ -#include /* NULL */ - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT,NULL); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/openbsd/halt.c b/software/cinit/browse_source/cinit-0.3pre9/src/os/openbsd/halt.c deleted file mode 100644 index 37064cc2..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/openbsd/halt.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * halt the system - * - */ - -#include -#include - -void cinit_halt(void) -{ - reboot(RB_HALT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/openbsd/objects b/software/cinit/browse_source/cinit-0.3pre9/src/os/openbsd/objects deleted file mode 100644 index 020f1efb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/openbsd/objects +++ /dev/null @@ -1,3 +0,0 @@ -os/current/halt.o -os/current/poweroff.o -os/current/reboot.o diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/openbsd/poweroff.c b/software/cinit/browse_source/cinit-0.3pre9/src/os/openbsd/poweroff.c deleted file mode 100644 index bf4120e1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/openbsd/poweroff.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * poweroff - * - */ - -#include -#include - -void cinit_poweroff(void) -{ - reboot(RB_HALT | RB_POWERDOWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/os/openbsd/reboot.c b/software/cinit/browse_source/cinit-0.3pre9/src/os/openbsd/reboot.c deleted file mode 100644 index 03dc660a..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/os/openbsd/reboot.c +++ /dev/null @@ -1,17 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * reboot the system - * - */ - -#include -#include - -void cinit_reboot(void) -{ - reboot(RB_AUTOBOOT); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/check_add_deps.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/check_add_deps.c deleted file mode 100644 index 9c1edc85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/check_add_deps.c +++ /dev/null @@ -1,128 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -/* FIXME: clean headers, check: - * getcwd */ -#include - -#include -#include -#include -#include -#include -#include -#include - - -#include /* PATH_MAX */ -#include /* malloc */ -#include /* strcpy */ - -#include "cinit.h" /* mini_printf */ -#include "messages.h" -#include "svc.h" - -int check_add_deps(struct listitem *svc, int type) -{ - char buf[PATH_MAX+1]; - char oldpath[PATH_MAX+1]; - struct dirent *tdirent; - struct dep *deps = NULL; - struct listitem *new_svc; - DIR *d_tmp; - - /* remember where we started */ - if(!getcwd(oldpath,PATH_MAX+1)) { - print_errno(MSG_GETCWD); - return 0; - } - - /* FIXME remove in production */ - mini_printf("CAD::",1); - mini_printf(svc->abs_path,1); - mini_printf("\n",1); - - /* Create path */ - strcpy(buf,svc->abs_path); - if(type == DEP_NEEDS) { - if(!path_append(buf,C_NEEDS)) return 0; - } else { - if(!path_append(buf,C_WANTS)) return 0; - } - - d_tmp = opendir(buf); - if(d_tmp == NULL) { - if(errno != ENOENT) { - print_errno(buf); - return 0; - } - return 1; /* it's fine when there's no dependencies */ - } - - if(chdir(buf) == -1) { /* change to needs or wants */ - print_errno(buf); - return 0; - } - - while((tdirent=readdir(d_tmp))!=NULL) { - if(*(tdirent->d_name) == '.') continue; /* ignore .* */ - - /* skip non-working directories / broken links - * path_absolute reports errors on failure */ - if(!path_absolute(tdirent->d_name,buf,PATH_MAX+1)) continue; - - /* 1. create the service we depend on - * 2. initialize its dependencies - */ - if(!(new_svc = gen_svc_tree(buf))) return 0; - - /* We need ALL dependencies, as we are called only once - * per service; no need to test that first! - * - * And the other service CANNOT know anything about us yet, - * so we always add us to its list. - */ - - /* Dependencies: - * - a.needs b; add b to the list of dependencies. - * - a.needs b; add a to the list of needed by b. - * - * 1. check whether the dependency already exists - * 2. otherwise add it - * 3. do it once for needs, once for needed_by - */ - - /* create a dependency entry containing us */ - deps = dep_create(svc); - if(!deps) return 0; - - if(type == DEP_NEEDS) { - dep_entry_add(&(new_svc->needed),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->needs),deps); - } else { - dep_entry_add(&(new_svc->wanted),deps); - - /* second link */ - deps = dep_create(new_svc); - if(!deps) return 0; - dep_entry_add(&(svc->wants),deps); - } - } - if(chdir(oldpath) == -1) { - print_errno(buf); - return 0; - } - closedir(d_tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/dep_create.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/dep_create.c deleted file mode 100644 index 691d66b9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/dep_create.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Create dependency - */ - -#include /* NULL */ -#include /* malloc() */ -#include "svc.h" /* structs */ - -/* search for an entry by path, reverse: from end to the beginning */ -struct dep *dep_create(struct listitem *svc) -{ - struct dep *entry; - - entry = malloc(sizeof(struct dep)); - if(!entry) return NULL; - entry->svc = svc; - - return entry; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/dep_entry_add.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/dep_entry_add.c deleted file mode 100644 index 2ac16443..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/dep_entry_add.c +++ /dev/null @@ -1,31 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include "svc.h" /* types */ - -/* - * list: pointer to the list - * new: pointer to data to insert (already filled up) - * - * We add the new element BEFORE the existing element! - */ -void dep_entry_add(struct dep **deplist, struct dep *new) -{ - if(*deplist == NULL) { /* new list */ - *deplist = new; - (*deplist)->prev = *deplist; - (*deplist)->next = *deplist; - } else { /* already existing */ - new->next = *deplist; /* new-> first */ - new->prev = (*deplist)->prev; /* last <- new */ - (*deplist)->prev->next = new; /* last -> new */ - (*deplist)->prev = new; /* new <- first */ - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/dep_entry_del.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/dep_entry_del.c deleted file mode 100644 index fd9fbab6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/dep_entry_del.c +++ /dev/null @@ -1,36 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Add a new item to a (non-)empty list - */ - -#include /* NULL */ -#include /* free() */ -#include "svc.h" - -/* - * tmp: pointer to data to remove (must not be NULL) - * - * Returns either the next object or NULL if there's no next object - */ -struct dep *dep_entry_del(struct dep *del) -{ - struct dep *tmp; - - /* last service in the list */ - if(del->next == del && del->prev == del) { - tmp=NULL; - } else { - /* remove from list */ - del->prev->next = del->next; - del->next->prev = del->prev; - tmp = del->next; - } - - free(del); - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/dep_needs_wants_add.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/dep_needs_wants_add.c deleted file mode 100644 index b7afb02b..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/dep_needs_wants_add.c +++ /dev/null @@ -1,64 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Add all wants or needs from a specific service to dep list - * -> this builds the needs and needed_by and - * -> or this builds the wants and wanted_by and - * - * This function is used to fillup the starting list with dependencies - * after a service has sucessfully been executed. - */ - -#include /* NULL */ -#include "svc.h" - -/* - * list: pointer to the list - * svc: pointer to data to the service - */ - -int dep_needs_wants_add(struct dep **list, struct listitem *svc, int type) -{ - struct dep *tmp, *new, *end; - - if(type == DEP_NEEDS) { - end = svc->needed; - } else { - end = svc->wanted; - } - - /* Place to the first dependency of this service */ - tmp = end; - if(tmp != NULL) { - do { - /* Add service to the starter list, which - * - should be started once - * - should be respawned (both VIRGIN services!) - * - and which are not already in the list! - */ - if(((tmp->svc->status & ST_SH_ONCE) || - (tmp->svc->status & ST_SH_RESPAWN)) && - !(tmp->svc->status & ST_IN_LIST)) { - new = dep_create(tmp->svc); - if(!new) return 0; - tmp->svc->status |= ST_IN_LIST; - dep_entry_add(list,new); - } - /* FIXME: Clearify if we should go forward or backwards? - * this decision will influence starting order - * and may thereby add a minimal mount of speed enhancement - * - * As far as I can see it is not predictable, which way is - * better, because it heavily depends on the other services. - * - * If you know better, provide me with a patch ;-) - */ - tmp = tmp->next; - } while(tmp != end); - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/gen_halt_tree.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/gen_halt_tree.c deleted file mode 100644 index 1ff53921..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/gen_halt_tree.c +++ /dev/null @@ -1,43 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * This function reads the full service tree and generates - * a list of services to begin shutdown (those that are not - * wanted or needed by any other service). - */ - -#include /* NULL */ -#include "svc.h" /* structs */ -#include "cinit.h" /* structs */ - -struct dep *gen_halt_list(struct listitem *svc_tree) -{ - struct dep *list = NULL, *new = NULL; - struct listitem *tmp; - - /* no tree? nothing to shutdown. */ - if(!svc_tree) { - return NULL; - } - - /* find all services that do not depend on other services: - * - empty wants? (currently ignore them) - * - empty needs! - */ - tmp = svc_tree; - do { - if(tmp->needs == NULL) { - /* create new dependency */ - new = dep_create(tmp); - if(!new) return NULL; - - dep_entry_add(&list,new); - } - tmp = tmp->next; - } while(tmp != svc_tree); - - return list; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/gen_svc_tree.c deleted file mode 100644 index 65f4028f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/gen_svc_tree.c +++ /dev/null @@ -1,40 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Pre calculate the service tree - */ - -#include -#include "cinit.h" -#include "svc.h" - -struct listitem *gen_svc_tree(char *svc) -{ - struct listitem *li; - struct dep *deps; - - /* only do something if the service is not already known */ - if((li=list_search(svc))) return li; - - /* create a template, so other instances won't try to recreate us */ - if(!(li=svc_create(svc))) return NULL; - - if(!check_add_deps(li,DEP_NEEDS)) return NULL; - if(!check_add_deps(li,DEP_WANTS)) return NULL; - - /* no dependencies? then you are a start service */ - if(!li->wants && !li->needs) { - deps = dep_create(li); - if(!deps) return NULL; - dep_entry_add(&svc_init,deps); - - /* Mark it as being in the startup list, so it does not - * get added again in a dep_needs_wants_add call */ - li->status |= ST_IN_LIST; - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_delete.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_delete.c deleted file mode 100644 index 5a742fe9..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_delete.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* free */ -#include "cinit.h" /* list_search */ -#include "svc.h" /* listitem */ - -/* ... */ -int list_delete(char *path) -{ - struct listitem *tmp; - - tmp = list_search(path); - - if(tmp == NULL) { - return 0; - } - - tmp->next->prev = tmp->prev; - tmp->prev->next = tmp->next; - - free(tmp->abs_path); - free(tmp); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_display_all.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_display_all.c deleted file mode 100644 index 12adff80..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_display_all.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Show all list elements - mainly for debugging - */ - -#include /* NULL */ -#include "cinit.h" -#include "svc.h" - -int list_display_all() -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return 0; - } else { - tmp = svc_list; - } - - do { - mini_printf("Service: ",1); - mini_printf(tmp->abs_path,1); - mini_printf("\n",1); - tmp = tmp->prev; - } while(tmp != svc_list); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_insert.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_insert.c deleted file mode 100644 index a0ad6f2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_insert.c +++ /dev/null @@ -1,42 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* malloc */ -#include /* bzero / memset */ -#include "svc.h" /* the list pointer */ - -struct listitem *list_insert(char *path, int status) -{ - struct listitem *tmp; - - tmp = malloc(sizeof(struct listitem)); - if(tmp == NULL) return NULL; - memset(tmp, '\0', sizeof(struct listitem)); - - if(svc_list == NULL) { /* list is empty, we have to init it */ - svc_list = tmp; - svc_list->next = svc_list; - svc_list->prev = svc_list; - } else { /* list has members,add this one */ - tmp->next = svc_list; /* begin after the new element */ - tmp->prev = svc_list->prev; /* change to the ex-last */ - svc_list->prev->next = tmp; /* change last element */ - svc_list->prev = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc(strlen(path) + 1); - if(tmp->abs_path == NULL) return NULL; - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return tmp; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_modify.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_modify.c deleted file mode 100644 index 73891117..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_modify.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED. Not in use anymore. - * - * part of cLinux/cinit - * - * List handling - */ - -#include -#include -#include "cinit.h" -#include "comm.h" /* for ST_OFF */ -#include "svc.h" /* for ST_OFF */ - -/* change pid and status of a process */ -int list_modify(char *path, int new_status, pid_t new_pid) -{ - struct listitem *tmp; - - tmp = list_search(path); - if(tmp == NULL) { - return 0; - } - - /* delete objects, which are killed */ - if(new_status == ST_OFF) { - return list_delete(path); - } else { - tmp->status = new_status; - tmp->pid = new_pid; - } - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_search.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_search.c deleted file mode 100644 index b40fae23..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_search.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-linux-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling - */ - -#include /* NULL */ -#include /* strcmp */ -#include "cinit.h" -#include "svc.h" - -/* search for an entry by path, reverse: from end to the beginning */ -struct listitem *list_search(char *path) -{ - struct listitem *tmp; - - if(svc_list == NULL) { /* think positive */ - return NULL; - } else { - tmp = svc_list; - } - - do { - if(!strcmp(path, tmp->abs_path)) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_search_pid.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_search_pid.c deleted file mode 100644 index f8731bec..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/list_search_pid.c +++ /dev/null @@ -1,33 +0,0 @@ -/*********************************************************************** - * - * (c) 2005 Marcus Przyklink (downhill-clinux (at) burningchaos.org) - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * List handling: Search by pid - */ - -#include /* NULL */ -#include /* pid_t */ -#include "svc.h" /* struct listitem */ - -struct listitem *list_search_pid(pid_t pid) -{ - struct listitem *tmp; - - if(svc_list == NULL) { - return NULL; - } else { - tmp = svc_list; - } - - do { - if(pid == tmp->pid) { - return tmp; - } - tmp = tmp->prev; - } while(tmp != svc_list); - - return NULL; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/shutdown_services.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/shutdown_services.c deleted file mode 100644 index 3432c8ac..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/shutdown_services.c +++ /dev/null @@ -1,32 +0,0 @@ -/*********************************************************************** - * - * 2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Shutdown all services: This is more or less the negative - * version of 'tree_exec()' - */ - -#include "svc.h" /* struct */ -void shutdown_services(struct listitem *svc) -{ - while(0) { - svc++; - } - /* stop services in the correct order: - * - begin at a random process, and walk the tree up to the wanted_by and needed_by - * - switch to next service, as soon as this tree is finished - */ - -// while(we_are_wanted_or_needed) { -// shutdown_services(next_wants_or_needs_us); -// } - -// shutdown_services(svc) - - /* begin at svc, iterate until a service without dependencies is found, - * continue stopping through wanted-by / needed-by / wants / needs */ - - return; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_add_needs.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_add_needs.c deleted file mode 100644 index 325e61a1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_add_needs.c +++ /dev/null @@ -1,67 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED! - * - * part of cLinux/cinit - * - * List handling - */ - -#include "cinit.h" -#include "messages.h" - -int svc_add_needs(char *needs, char *is_needed) -{ - struct listitem *svc_needs, *svc_is_needed; - - - /* retrieve service entries in global service list */ - svc_needs = svc_is_needed = NULL; - svc_needs = list_search(needs); - svc_is_needed = list_search(is_needed); - - /* and exit if one is missing */ - if( !svc_needs || !svc_is_needed ) { - return 0; - } - - /* first add needs */ - - /* now add needed_by */ - - malloc... /* for adding */ - - if(svc->needs == NULL) { - svc->needs = neu; - } else { - svc->next = neu; - } - - /* write generic function for dependencies or even all lists */ - dep_entry_add(list_pointer,new_entry); - - if( list == NULL ) { /* list is empty, we have to init it */ - list = tmp; - list->after = list; - list->before = list; - } else { /* list has members,add this one */ - tmp->after = list; /* begin after the new element */ - tmp->before = list->before; /* change to the ex-last */ - list->before->after = tmp; /* change last element */ - list->before = tmp; /* first refers to previous now */ - } - - tmp->abs_path = malloc( strlen(path) + 1); - if( tmp->abs_path == NULL ) { - LOG(MSG_ERR_ALLOC); - return 0; - } - - strcpy(tmp->abs_path,path); - tmp->status = status; - tmp->pid = 0; - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_create.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_create.c deleted file mode 100644 index b6d4a415..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_create.c +++ /dev/null @@ -1,49 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* strcpy */ -#include /* stat */ -#include /* stat */ -#include /* PATH_MAX */ -#include /* errno */ -#include "svc.h" /* listitem */ -#include "cinit.h" /* path_append */ - -/* checking for existence is done before! */ -/* FIXME: check heedars for conformance with POSIX */ -struct listitem *svc_create(char *svc) -{ - char buf[PATH_MAX+1]; - struct stat statbuf; - struct listitem *li; - - li = list_insert(svc,-1); - if(!li) return NULL; - - /* FIXME: add two path length checks? svc and svc+strlen(C_RESPAWN)? */ - strcpy(buf,svc); - if(!path_append(buf,C_RESPAWN)) return NULL; - - if(stat(buf,&statbuf) == -1) { - if(errno == ENOENT) { - svc_set_status(li,ST_SH_ONCE); - } else { - return NULL; - } - } else { - /* FIXME remove debug */ - mini_printf("respawn: ",1); - mini_printf(li->abs_path,1); - mini_printf("\n",1); - svc_set_status(li,ST_SH_RESPAWN); - } - - return li; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_fail.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_fail.c deleted file mode 100644 index 7c150c85..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_fail.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Mark the service as being failed - */ - -#include "svc.h" - -void svc_fail(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) - li->status = ST_ONCE_FAIL; - else { - /* FIXME: do something senseful, record time of dead? */ - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_needs_status.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_needs_status.c deleted file mode 100644 index ccf4cb8f..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_needs_status.c +++ /dev/null @@ -1,38 +0,0 @@ -/*********************************************************************** - * - * 2005-2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return status of the needs of this service - */ - -#include /* NULL */ -#include "svc.h" /* service information */ - -// DEBUG #include "cinit.h" /* service information */ - -int svc_needs_status(struct listitem *svc) -{ - int retval = SNS_NEEDS_STARTED; - struct dep *deps = svc->needs; - - if(deps == NULL) return SNS_NEEDS_STARTED; /* no needs, everything fine */ - - do { - /* worst case: need failed */ - if((deps->svc->status & ST_NEED_FAILD) || - (deps->svc->status & ST_ONCE_FAIL)) { - retval = SNS_NEEDS_FAILED; - break; - } - /* services are being started */ - if((deps->svc->status & ST_SH_ONCE) || - (deps->svc->status & ST_SH_RESPAWN)) { - retval = SNS_NEEDS_UNFINISHED; - } - deps = deps->next; - } while(deps != svc->needs); - - return retval; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_report_status.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_report_status.c deleted file mode 100644 index 4cc1edf8..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_report_status.c +++ /dev/null @@ -1,25 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Tell the world what happened to the service - */ - -#include "cinit.h" /* mini_printf */ -#include "messages.h" /* MSG_INTRO_SVC */ - -void svc_report_status(char *svc, char *msg, char *err) -{ - mini_printf(MSG_INTRO_SVC,1); - mini_printf(svc,1); - mini_printf(": ",1); - mini_printf(msg,1); - if(err) { - mini_printf(" (",1); - mini_printf(err,1); - mini_printf(")",1); - } - mini_printf("\n",1); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_respawn_check.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_respawn_check.c deleted file mode 100644 index e1802894..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_respawn_check.c +++ /dev/null @@ -1,23 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * OBSOLETED? not in use. - * - * part of cLinux/cinit - * - * Check whether service is existent - */ - -#include /* NULL */ -#include /* PATH_MAX */ -#include "svc.h" - -/* checking for existence is done before! */ -int svc_respawn_check(struct listitem *svc) -{ - char buf[PATH_MAX+1]; - - strcpy(buf,svc->abs_path); - if(!path_append(buf,C_RESPAWN)) return 0 -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_set_status.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_set_status.c deleted file mode 100644 index 73d5da91..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_set_status.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2005-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_set_status(struct listitem *li, int status) -{ - return (li->status = status); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_should_respawn.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_should_respawn.c deleted file mode 100644 index 04acfe1d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_should_respawn.c +++ /dev/null @@ -1,16 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Return whether should respawn or not - */ - -#include "svc.h" - -/* checking for existence is done before! */ -int svc_should_respawn(struct listitem *li) -{ - return (li->status & ST_SH_RESPAWN); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_start.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_start.c deleted file mode 100644 index 1e4f25f3..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_start.c +++ /dev/null @@ -1,93 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start a service - */ - -#include /* NULL */ -#include /* fork */ -#include /* strerror */ -#include /* errno */ -#include /* PATH_MAX */ -#include /* nanosleep() */ -//#include /* gettimeofday() */ - -#include "svc.h" /* struct * */ -#include "messages.h" /* MSG_* */ -#include "cinit.h" /* execute_sth */ - -//void svc_start(struct listitem *li, int strict) -void svc_start(struct listitem *li, int delay) -{ - char buf[PATH_MAX+1]; - struct timespec ts; - - /* FIXME: All cleanup must go here - * close(fds); - * reset signals - * reset env? - * - * FIXME: Add logging possibility to here - * open (0,1,2) to other processes, if specified */ - mini_printf("VORM Fork()\n",1); - li->pid = fork(); - - /********************** Error ************************/ - if(li->pid < 0) { - svc_report_status(li->abs_path,MSG_SVC_FORK,strerror(errno)); - svc_set_status(li,ST_BAD_ERR); - return; - } - /********************** parent ************************/ - if(li->pid > 0) { - mini_printf("ELTERN\n",1); - /* set start time */ - li->start = time(NULL); - - if(li->status & ST_SH_ONCE) - li->status = ST_ONCE_RUN; - else - li->status = ST_RESPAWNING; - return; - } - - /********************** Client / fork() ************************/ - /* sleep, if necesseray */ - printf("Delay: %d\n", delay); - if(delay) { - ts.tv_sec = delay; - ts.tv_nsec = 0; - - /* FIXME: also report value; int2char */ - svc_report_status(li->abs_path,MSG_SVC_SLEEP,NULL); - - /* do not need to check for errors, because we can continue anyway */ - nanosleep(&ts,NULL); - } - svc_report_status(li->abs_path,MSG_SVC_START,NULL); - - /* length check is done by path_append */ - strcpy(buf,li->abs_path); - if(!path_append(buf,C_ON)) return; - - /* Check for existence */ - li->status = file_exists(buf); - - if(li->status == FE_NOT) { - _exit(0); /* nothing there? fine! */ - } - - if(li->status == FE_FILE) { - /* FIXME: reset signals: Is this necessary? Or does fork clean it anyway? */ - set_signals(ACT_CLIENT); - - /* and now, fire it up */ - execute_sth(buf); - } else { - /* either no file or an error */ - _exit(1); - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_success.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_success.c deleted file mode 100644 index dc4057e0..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/svc_success.c +++ /dev/null @@ -1,24 +0,0 @@ -/*********************************************************************** - * - * 2006-2007 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Set the status of a service - */ - -#include /* NULL */ - -#include "svc.h" /* listitem, svc_report_status */ -#include "messages.h" /* messages */ - -void svc_success(struct listitem *li) -{ - if(li->status & ST_ONCE_RUN) { - svc_report_status(li->abs_path,MSG_SVC_OK_ONCE,NULL); - li->status = ST_ONCE_OK; - } else { - svc_report_status(li->abs_path,MSG_SVC_OK_RESPAWN,NULL); - li->status = ST_RESPAWNING; - } -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/svc/tree_exec.c b/software/cinit/browse_source/cinit-0.3pre9/src/svc/tree_exec.c deleted file mode 100644 index 30ab5a2d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/svc/tree_exec.c +++ /dev/null @@ -1,66 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * Start the service tree we created - */ - -#include /* NULL */ -#include "cinit.h" /* mini_printf */ -#include "svc.h" /* svc_init */ -#include "messages.h" /* messages */ - -/* some thoughts... - * - * - we already generated the tree, we now need to start it from - * the ends - * - * - after starting the first service we have to care about SIG_CHILD - * to record changes - * - * - we execute all services in parallel without problems, because of - * SIG_CHILD notification - * - * - After successfully starting the service we start the services that - * need or want that service - */ -int tree_exec(struct dep *start) -{ - struct dep *tmp = start; - - mini_printf(MSG_TREE_EXEC,1); - - /* the main starting loop: All services in this list should be - * started, but it is possible that dependent services are in the - * list. In this case simply skip the current service - */ - do { - switch(svc_needs_status(tmp->svc)) { - case SNS_NEEDS_STARTED: - svc_report_status(tmp->svc->abs_path,"Needs sind durch",NULL); - /* execute service, add dependencies, remowe from list */ - svc_start(tmp->svc,0); - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_NEEDS)) return 0; - if(!dep_needs_wants_add(&tmp,tmp->svc,DEP_WANTS)) return 0; - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_FAILED: - /* mark service as NEED_FAILD and delete from list */ - svc_report_status(tmp->svc->abs_path,MSG_SVC_NEED_FAIL,NULL); - svc_set_status(tmp->svc,ST_NEED_FAILD); - tmp = dep_entry_del(tmp); - break; - - case SNS_NEEDS_UNFINISHED: - svc_report_status(tmp->svc->abs_path,"Needs am abarbeiten",NULL); - /* continue with the next item */ - tmp = tmp->next; - break; - } - } while(tmp != NULL); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/test/test-newline.c b/software/cinit/browse_source/cinit-0.3pre9/src/test/test-newline.c deleted file mode 100644 index 95e03a36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/test/test-newline.c +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include -#include - -char *strip_final_newline(char *test1); - -int main() -{ - //char *test1 = "zeile1\nzeile2\n"; - //char *test2 = "zeile1\nzeile2\nzeile3"; - char *test1; - char *test2; - - test1 = malloc(50); - test2 = malloc(50); - - strcpy(test1,"zeile1\nzeile2\n"); - strcpy(test2,"zeile1\nzeile2\nzeile3"); - - char *result; - result = strip_final_newline(test1); - printf("A%sA\n",result); - - result = strip_final_newline(test2); - printf("B%sB\n",result); - - return 0; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_build_argv+link.c b/software/cinit/browse_source/cinit-0.3pre9/src/test/test_build_argv+link.c deleted file mode 100644 index f74b4f36..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_build_argv+link.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec_link"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_build_argv.c b/software/cinit/browse_source/cinit-0.3pre9/src/test/test_build_argv.c deleted file mode 100644 index 3938aa0d..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_build_argv.c +++ /dev/null @@ -1,35 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test build_argv - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - char *file = "./test_exec"; - struct ba_argv cargv; - int tmp; - - if( ( tmp = cinit_build_argv(file,&cargv) ) != BA_OK) { - if(tmp != BA_E_MEM) { - perror("fehler:"); - exit(24); - } else exit(23); - } - - printf("code: %s\n", cargv.argv[0]); - execve((cargv.argv)[0],cargv.argv,cargv.envp); - - perror("execve"); - - return 1; -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec b/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec deleted file mode 100644 index e5cf3f01..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Nico Schottelius -# Test-skript for cinit - -echo '$0': "$0" -echo '$@': "$@" -echo 'cinit_is_great:' $cinit_is_great diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec.env b/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec.env deleted file mode 100644 index 853e0663..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec.env +++ /dev/null @@ -1 +0,0 @@ -cinit_is_great=yes diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec.params b/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec.params deleted file mode 100644 index afe0f2ef..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec.params +++ /dev/null @@ -1 +0,0 @@ -Let's see if we read the arguments....YES! diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec_link b/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec_link deleted file mode 120000 index c2ec9306..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec_link +++ /dev/null @@ -1 +0,0 @@ -test_exec \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec_link.env b/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec_link.env deleted file mode 120000 index 30ea4990..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec_link.env +++ /dev/null @@ -1 +0,0 @@ -test_exec.env \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec_link.params b/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec_link.params deleted file mode 120000 index 0b77c256..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_exec_link.params +++ /dev/null @@ -1 +0,0 @@ -test_exec.params \ No newline at end of file diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_gen_svc_tree.c b/software/cinit/browse_source/cinit-0.3pre9/src/test/test_gen_svc_tree.c deleted file mode 100644 index c13c46b1..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_gen_svc_tree.c +++ /dev/null @@ -1,20 +0,0 @@ -/*********************************************************************** - * - * 2006 Nico Schottelius (nico-cinit at schottelius.org) - * - * part of cLinux/cinit - * - * test gen_svc_tree - */ - -#include -#include -#include - -#include "build_argv.h" - -int main() -{ - gen_svc_tree("/etc/cinit/svc/init"); - list_display_all(); -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_openreadclose.c b/software/cinit/browse_source/cinit-0.3pre9/src/test/test_openreadclose.c deleted file mode 100644 index 2f722da5..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/src/test/test_openreadclose.c +++ /dev/null @@ -1,16 +0,0 @@ -#include - -int openreadclose(char *filename, char **where); - -int main() -{ - char *data; - char *file = "test_openreadclose.c"; - - openreadclose(file,&data); - - printf("%s\n",data); - - return 1; - -} diff --git a/software/cinit/browse_source/cinit-0.3pre9/util/README b/software/cinit/browse_source/cinit-0.3pre9/util/README deleted file mode 100644 index f66e0ddb..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/util/README +++ /dev/null @@ -1,4 +0,0 @@ --- OBSOLETED -- - -> This code is not in use in cinit-0.3 anymore! -util/ - External programs, which work with cinit diff --git a/software/cinit/browse_source/cinit-0.3pre9/util/ccontrol.c b/software/cinit/browse_source/cinit-0.3pre9/util/ccontrol.c deleted file mode 100644 index 95bc5212..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/util/ccontrol.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * ccontrol: control cinit - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit - */ - -#define USAGE_TEXT "ccontrol - control cinit\n\n" \ - "Usage:\n\nccontrol -[phurs]\n" \ - "\t-p\t- (power off) Power off the system\n" \ - "\t-h\t- (halt) Halt the system \n" \ - "\t-u\t- (update) Reboot (warm) and update cinit\n" \ - "\t-r\t- (reboot) Reboot the system\n" \ - "\t-s\t- (single user/rescue) Rescue mode\n\n" \ - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * ccontrol: control cinit - */ -int main(int argc, char **argv) -{ - /* argv */ - if(argc != 2) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - - switch(argv[1][1]) { - case 'p': /* power off */ - LOG(MSG_POWER_OFF); - msg_reboot(CMD_POWEROFF); - break; - - case 'h': /* halt */ - LOG(MSG_HALT); - msg_reboot(CMD_HALT); - break; - - case 'r': /* reboot */ - LOG(MSG_REBOOT); - msg_reboot(CMD_REBOOT); - break; - - case 's': /* rescue */ - LOG(MSG_RESCUE); - msg_reboot(CMD_RESCUE); - break; - - case 'u': /* update */ - LOG(MSG_UPDATE); - msg_reboot(CMD_UPDATE); - break; - - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* cinit-0.2 return codes implemented - nothing changed*/ diff --git a/software/cinit/browse_source/cinit-0.3pre9/util/cservice.c b/software/cinit/browse_source/cinit-0.3pre9/util/cservice.c deleted file mode 100644 index 66be6563..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/util/cservice.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux-cinit at schottelius.org) - * cservice: control cinit services - * part of cLinux/cinit - */ - -/* *stat() */ -#include -#include - -/* open */ -#include - -/* signal */ -#include - -/* PATH_MAX */ -#include - -/* str* */ -#include - -/* sockets */ -#include -#include -#include - -#include -#include -#include - -#include "cinit.h" - -/* global variable */ -struct listitem *list; -int sock; -pid_t cpid; - -/*********************************************************************** - * cservice - control cinit services - */ - -#define USAGE_TEXT "cservice - start and stop cinit services\n\n" \ - "cservice -[ear] \n" \ - "\t-e\t- (ein,on ) start a service (respawn if respawning is set)\n" \ - "\t-a\t- (aus,off) stop a respawing service\n" \ - "\t-r\t- (restart) stop and start a service\n" - -/*********************************************************************** - * fuzzy_path: allow other kinds of path specification .. - */ -char *fuzzy_path(char *rpath) -{ - char pathtmp[PATH_MAX]; - char *re = NULL; - - /* change to rpath */ - if(chdir(rpath) == -1) { - perror(rpath); - return NULL; - } - - /* get absolute name of rpath */ - if(! (int) getcwd(pathtmp,PATH_MAX)) { - perror(rpath); - return NULL; - } - - re = malloc( strlen(pathtmp) + 1); - - if(re != NULL) { - strcpy(re,pathtmp); - } - - return re; -} - -#define C_USAGE(error) usage(USAGE_TEXT,error) - -/*********************************************************************** - * cservice: the main part for controlling cinit from outside - */ -int main(int argc, char **argv) -{ - char *real_name = NULL; - - /* argv */ - if(argc != 3) C_USAGE(MSG_ERR_LESS_ARGS); - if(argv[1][0] != '-') C_USAGE(MSG_ERR_BAD_ARGS); - if(strlen(argv[1]) != 2) C_USAGE(MSG_ERR_ARGS_LEN); - - real_name = fuzzy_path(argv[2]); - - /* fuzzy path failed, exit! */ - if(real_name == NULL) { - return 1; - } - switch(argv[1][1]) { - case 'a': /* aus */ - case 'r': /* restart */ - switch( msg_svc_on_off(real_name,CMD_STOP_SVC) ) { - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_OFF: - SERVICE_LOG(real_name,LOG_SVC_STOPED); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - /* FIX THIS AFTER cinit-0.2 */ - case RT_TMPNOW: - case RT_ERR: - case RT_SVC_FAILED: - case RT_UNSPEC: - case RT_SUCCESS: - case ST_NEED_FAIL: - case ST_TMP: - case ST_ONCE: - case RT_NOTEXIST: - case ST_RESPAWN: -// SERVICE_LOG(real_name,"Ein bekanntest ding"); - break; -/* default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; */ - } - if( argv[1][1] == 'a') break; /* only continue if restarting */ - - case 'e': /* ein */ - switch (run_svc(real_name)) { /* run_svc fuzzys itself */ - case RT_NOTEXIST: - SERVICE_LOG(real_name,LOG_SVC_NOTEXIST); - break; - case RT_SVC_FAILED: - SERVICE_LOG(real_name,LOG_SVC_FAILED); - break; - case ST_FAIL: - SERVICE_LOG(real_name,LOG_SVC_FAIL); - break; - case ST_ONCE: - SERVICE_LOG(real_name,LOG_SVC_ONCE); - break; - case RT_ERR_COMM: - SERVICE_LOG(real_name,MSG_ERR_COMM); - break; - case ST_RESPAWN: - SERVICE_LOG(real_name,LOG_SVC_RESPAWN); - break; - case ST_NEED_FAIL: - SERVICE_LOG(real_name,LOG_NEED_FAIL); - break; - default: - SERVICE_LOG(real_name,MSG_SHOULD_NOT_HAPPEN); - break; - } - break; - default: - C_USAGE(MSG_ERR_BAD_ARGS); - break; - } - return 0; -} -/* uses cinit-0.2 return code style */ diff --git a/software/cinit/browse_source/cinit-0.3pre9/util/msg_reboot.c b/software/cinit/browse_source/cinit-0.3pre9/util/msg_reboot.c deleted file mode 100644 index efe78ec6..00000000 --- a/software/cinit/browse_source/cinit-0.3pre9/util/msg_reboot.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * (c) 2005 Nico Schottelius (nico-linux at schottelius.org) - * reboot/halt/poweroff/rescue - * part of cinit - */ - -#include -#include -#include -#include - -#include "cinit.h" - -/* we trust the caller */ -int msg_reboot(char cmd) -{ - if(!begin_msg(cmd)) return 0; - close(sock); - return 1; -} -/* clean for cinit-0.2 */